/*!******************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[3].use[1]!./node_modules/postcss-loader/dist/cjs.js??postcss!./res/themes/dark-custom/css/dark-custom.pcss ***!
  \******************************************************************************************************************************************************************************/
/*
Copyright 2024 New Vector Ltd.
Copyright 2020 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

/*
 * SCSS variables defining a range of font sizes.
 *
 * These are defined in `rem` so that they scale with the `font-size` of the root element (which is adjustable via the
 * "Font size" setting). They exist to make the job of converting designs (which tend to be based in pixels) into CSS
 * easier.
 *
 */

/* Path from root SCSS file (such as `light.pcss`) to `res` dir in the source tree */

/* This value is overridden by external themes in `element-web`. */

/*
 * Nunito.
 * Includes extended Latin and Vietnamese character sets
 * Current URLs are taken from
 * https://github.com/alexeiva/NunitoFont/releases/tag/v3.500
 * ...in order to include cyrillic.
 *
 * Previously, they were
 * https://fonts.googleapis.com/css?family=Nunito:400,400i,600,600i,700,700i&subset=latin-ext,vietnamese
 *
 * We explicitly do not include Nunito's italic variants, as they are not italic enough
 * and it's better to rely on the browser's built-in obliquing behaviour.
 */

/* Grab the other fonts from the current theme, so we can override to Inter */

/* in custom fonts if needed. */

/* the 'src' links are relative to the bundle.css, which is in a subdirectory.
 */

/* Twemoji COLR */

@font-face {
    font-family: "Twemoji";
    font-weight: 400;
    src: url(../../fonts/Twemoji_Mozilla/TwemojiMozilla-colr.78a2a9b.woff2) format("woff2");
}

/* For at least Chrome on Windows 10, we have to explictly add extra weights for the emoji to appear in bold messages, etc. */

@font-face {
    font-family: "Twemoji";
    font-weight: 600;
    src: url(../../fonts/Twemoji_Mozilla/TwemojiMozilla-colr.78a2a9b.woff2) format("woff2");
}

@font-face {
    font-family: "Twemoji";
    font-weight: 700;
    src: url(../../fonts/Twemoji_Mozilla/TwemojiMozilla-colr.78a2a9b.woff2) format("woff2");
}

/* Nunito as the default, for old time's sake on legacy themes. */

/* the 'src' links are relative to the bundle.css, which is in a subdirectory.
 */

@font-face {
    font-family: "Nunito";
    font-style: normal;
    font-weight: 400;
    src: url(../../fonts/Nunito/Nunito-Regular.d3e2991.ttf) format("truetype");
}

@font-face {
    font-family: "Nunito";
    font-style: normal;
    font-weight: 600;
    src: url(../../fonts/Nunito/Nunito-SemiBold.58f5995.ttf) format("truetype");
}

@font-face {
    font-family: "Nunito";
    font-style: normal;
    font-weight: 700;
    src: url(../../fonts/Nunito/Nunito-Bold.b3a1698.ttf) format("truetype");
}

:root {
    /* This is set to Twemoji when the user opts into the bundled emoji font */
    --emoji-font-family: "";
}

/* Nunito lacks combining diacritics, so these will fall through
   to the next font.  Helevetica's diacritics sometimes do not combine
   nicely (on OSX, at least) and result in a huge horizontal mess.
   Arial empirically gets it right, hence prioritising Arial here. */

/* Noto Color Emoji contains digits, in fixed-width, therefore causing
   digits in flowed text to stand out.
   TODO: Consider putting all emoji fonts to the end rather than the front. */

/* unified palette */

/* try to use these colors when possible */

/* typical text (dark-on-white in light skin) */

/* Commonly used in headings and relevant alt text */

/* used for dialog box text */

/* used for focusing form controls */

/* button UI (white-on-green in light skin) */

/* informational plinth */

/* left-panel style muted accent color */

/* used by RoomDropTarget */

/* used by Autocomplete */

/* selected for hoverover & selected event tiles */

/* used for the hairline dividers in RoomView */

/* used for the border of input text fields */

/* apart from login forms, which have stronger border */

/* used for UserSettings EditableText */

/* scrollbars */

/* context menus */

/* ******************** */

/* Legacy theme backports */

/* Legacy theme backports */

/* ******************** */

/* XXX: Color from dark theme */

/* All of these are from dark theme */

/**
 * Creating a `semantic` color scale. This will not be needed with the new
 * visual language, but necessary during the transition period
 * This abstract the `green` away from where accent shades are used
 * Take: `background: rgba($accent, 0.1);`
 * would be transformed to: `background: $accent-300;`
 *
 * To use under very rare circumstances, always prefer the semantics defined
 * in https://compound.element.io/?path=/docs/tokens-semantic-colors--docs
 */

/* ******************** */

/* ******************** */

/* $event-highlight-bg-color shares this value, */

/* so to not make their order dependent on who depends on who, have a shared value */

/* defined before both */

/* event timestamp */

/* e2e */

/*** ImageView ***/

/* Tabbed views */

/* Buttons */

/* TODO: Verify color */

/* Toggle switch */

/* See non-legacy _light for variable information */

/* Bubble tiles */

/* pinned events indicator */

/* Location sharing */

/* ******************** */

/* ******************** */

body {
    color-scheme: light;
}

/* diff highlight colors */

.hljs-addition {
    background: #dfd;
}

.hljs-deletion {
    background: #fdd;
}

/* Colors from Figma Compound https://www.figma.com/file/X4XTH9iS2KGJ2wFKDqkyed/Compound?node-id=559%3A741 */

/* unified palette */

/* try to use these colors when possible */

/* typical text (dark-on-white in light skin) */

/* used for dialog box text */

/* used for focusing form controls */

/* informational plinth */

/* used by Autocomplete */

/* selected for hoverover & selected event tiles */

/* used for the hairline dividers in RoomView */

/* used for the border of input text fields */

/* scrollbars */

/* context menus */

/* Legacy theme backports */

/**
 * Creating a `semantic` color scale. This will not be needed with the new
 * visual language, but necessary during the transition period
 * This abstract the `green` away from where accent shades are used
 * Take: `background: rgba($accent, 0.1);`
 * would be transformed to: `background: $accent-300;`
 *
 * To use under very rare circumstances, always prefer the semantics defined
 * in https://compound.element.io/?path=/docs/tokens-semantic-colors--docs
 */

/* Legacy theme backports */

/* ******************** */

/* ******************** */

/* event timestamp */

/* Tabbed views */

/* Buttons */

/* TODO: Verify color */

/* Toggle switch */

/* See non-legacy dark for variable information */

/* Bubble tiles */

/* Location sharing */

/* ******************** */

/* ******************** */

body {
    color-scheme: dark;
}

/* Nasty hacks to apply a filter to arbitrary monochrome artwork to make it */

/* better match the theme.  Typically applied to dark grey 'off' buttons or */

/* light grey 'on' buttons. */

.mx_filterFlipColor {
    -webkit-filter: invert(1);
            filter: invert(1);
}

/* markdown overrides: */

.mx_EventTile_content .markdown-body table tr {
            background-color: #000000;
        }

.mx_EventTile_content .markdown-body table tr:nth-child(2n) {
            background-color: #080808;
        }

/* highlight.js overrides: */

.hljs-tag {
    color: inherit; /* Without this they'd be weirdly blue which doesn't match the theme */
}

/*
Copyright 2024 New Vector Ltd.
Copyright 2019 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

/* Colors from Figma Compound https://www.figma.com/file/X4XTH9iS2KGJ2wFKDqkyed/Compound?node-id=559%3A741 */

/* --timeline-background-color */

/* still needs alpha at .5 */

/* still needs alpha at .59 */

/* --roomlist-highlights-color */

/* --sidebar-color */

/* --roomlist-background-color */

/* these were #f2f5f8 instead of #f3f8fd, but close enough */

/* --timeline-text-color */

/* was #212121 */

/* was #45474a */

/* was #4e5054 */

/* was #232f32 */

/* --roomlist-text-secondary-color */

/* --roomlist-separator-color */

/* originally #e5e5e5, but close enough */

/* --timeline-text-secondary-color */

/* was #747474 */

/* was #888888 */

/* --primary-color */

/* --warning-color */

/* still needs alpha at 0.5 */

/* --timeline-highlights-color */

/* redirect some variables away from their hardcoded values in the light theme */

/* --eventbubble colors */

/**
 * Variation of the accent color.
 * Generate this colour scale using LeonardoColor
 * TODO: Add link
 */

/* autogenerated by rethemendex.sh */

/*
Copyright 2024 New Vector Ltd.
Copyright 2021 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

/**
 * React Transition Group animations are prefixed with 'mx_rtg--' so that we
 * know they should not be used anywhere outside of React Transition Groups.
*/

.mx_rtg--fade-enter {
    opacity: 0;
}

.mx_rtg--fade-enter-active {
    opacity: 1;
    -webkit-transition: opacity 300ms ease;
    transition: opacity 300ms ease;
}

.mx_rtg--fade-exit {
    opacity: 1;
}

.mx_rtg--fade-exit-active {
    opacity: 0;
    -webkit-transition: opacity 300ms ease;
    transition: opacity 300ms ease;
}

:root {
    --hover-transition: 0.08s cubic-bezier(0.46, 0.03, 0.52, 0.96); /* quadratic */
}

@-webkit-keyframes mx--anim-pulse {
    0% {
        opacity: 1;
    }
    50% {
        opacity: 0.7;
    }
    100% {
        opacity: 1;
    }
}

@keyframes mx--anim-pulse {
    0% {
        opacity: 1;
    }
    50% {
        opacity: 0.7;
    }
    100% {
        opacity: 1;
    }
}

@-webkit-keyframes mx_Dialog_lightbox_background_keyframes {
    from {
        opacity: 0;
    }
    to {
        opacity: 0.85;
    }
}

@keyframes mx_Dialog_lightbox_background_keyframes {
    from {
        opacity: 0;
    }
    to {
        opacity: 0.85;
    }
}

@-webkit-keyframes mx_ImageView_panel_keyframes {
    from {
        opacity: 0;
    }
    to {
        opacity: 1;
    }
}

@keyframes mx_ImageView_panel_keyframes {
    from {
        opacity: 0;
    }
    to {
        opacity: 1;
    }
}

@media (prefers-reduced-motion) {
    @-webkit-keyframes mx--anim-pulse {
        /* Override all keyframes in reduced-motion */
    }
    @keyframes mx--anim-pulse {
        /* Override all keyframes in reduced-motion */
    }

    @-webkit-keyframes mx_Dialog_lightbox_background_keyframes {
        /* Override all keyframes in reduced-motion */
    }

    @keyframes mx_Dialog_lightbox_background_keyframes {
        /* Override all keyframes in reduced-motion */
    }

    @-webkit-keyframes mx_ImageView_panel_keyframes {
        /* Override all keyframes in reduced-motion */
    }

    @keyframes mx_ImageView_panel_keyframes {
        /* Override all keyframes in reduced-motion */
    }

    .mx_rtg--fade-enter-active {
        -webkit-transition: none;
        transition: none;
    }
    .mx_rtg--fade-exit-active {
        -webkit-transition: none;
        transition: none;
    }
}

/*
Copyright 2024 New Vector Ltd.
Copyright 2019-2023 The Matrix.org Foundation C.I.C
Copyright 2017-2019 New Vector Ltd
Copyright 2017 Vector Creations Ltd
Copyright 2015, 2016 OpenMarket Ltd

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

@layer compound {
/* Establish a layer order that allows semantic tokens to be customized, but not base tokens.
 * The layers are prefixed by 'cpd-' because Tailwind will interpret '@layer base' directives.
 */
@layer cpd-semantic, custom, cpd-base;
}

@layer compound {
/* Fallback for Inter regular */
@font-face {
  font-family: "Inter Fallback: Helvetica Neue";
  src: local('Helvetica Neue'), local('HelveticaNeue');
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  ascent-override: 91.2883%;
  descent-override: 22.7301%;
  line-gap-override: 0%;
  size-adjust: 106.1198%;
}
@font-face {
  font-family: "Inter Fallback: Segoe UI";
  src: local('Segoe UI'), local('SegoeUI');
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  ascent-override: 89.9412%;
  descent-override: 22.3946%;
  size-adjust: 107.7093%;
}
@font-face {
  font-family: "Inter Fallback: Roboto";
  src: local('Roboto'), local('Roboto-Regular');
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  ascent-override: 90.2384%;
  descent-override: 22.4686%;
  size-adjust: 107.3546%;
}
@font-face {
  font-family: "Inter Fallback: Ubuntu";
  src: local('Ubuntu Regular'), local('Ubuntu-Regular');
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  ascent-override: 92.3027%;
  descent-override: 22.9826%;
  line-gap-override: 0%;
  size-adjust: 104.9536%;
}
@font-face {
  font-family: "Inter Fallback: Fira Sans";
  src: local('Fira Sans Regular'), local('FiraSans-Regular');
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  ascent-override: 92.9112%;
  descent-override: 23.1342%;
  size-adjust: 104.2662%;
}
@font-face {
  font-family: "Inter Fallback: Noto Sans";
  src: local('Noto Sans Regular'), local('NotoSans-Regular');
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  ascent-override: 96.1571%;
  descent-override: 23.9423%;
  size-adjust: 100.7466%;
}
@font-face {
  font-family: "Inter Fallback: Arial";
  src: local('Arial'), local('ArialMT');
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  ascent-override: 90.4365%;
  descent-override: 22.518%;
  line-gap-override: 0%;
  size-adjust: 107.1194%;
}

@font-face {
  font-family: "Inter Fallback: Helvetica Neue";
  src: local('Helvetica Neue Italic'), local('HelveticaNeue-Italic');
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  ascent-override: 90.3285%;
  descent-override: 22.4911%;
  line-gap-override: 0%;
  size-adjust: 107.2475%;
}
@font-face {
  font-family: "Inter Fallback: Segoe UI";
  src: local('Segoe UI Italic'), local('SegoeUI-Italic');
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  ascent-override: 87.4238%;
  descent-override: 21.7678%;
  size-adjust: 110.8108%;
}
@font-face {
  font-family: "Inter Fallback: Roboto";
  src: local('Roboto Italic'), local('Roboto-Italic');
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  ascent-override: 87.916%;
  descent-override: 21.8904%;
  size-adjust: 110.1904%;
}
@font-face {
  font-family: "Inter Fallback: Ubuntu";
  src: local('Ubuntu Italic'), local('Ubuntu-Italic');
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  ascent-override: 88.7154%;
  descent-override: 22.0894%;
  line-gap-override: 0%;
  size-adjust: 109.1974%;
}
@font-face {
  font-family: "Inter Fallback: Fira Sans";
  src: local('Fira Sans Italic'), local('FiraSans-Italic');
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  ascent-override: 91.3366%;
  descent-override: 22.7421%;
  size-adjust: 106.0637%;
}
@font-face {
  font-family: "Inter Fallback: Noto Sans";
  src: local('Noto Sans Italic'), local('NotoSans-Italic');
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  ascent-override: 90.1268%;
  descent-override: 22.4409%;
  size-adjust: 107.4874%;
}
@font-face {
  font-family: "Inter Fallback: Arial";
  src: local('Arial Italic'), local('Arial-ItalicMT');
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  ascent-override: 89.885%;
  descent-override: 22.3806%;
  line-gap-override: 0%;
  size-adjust: 107.7766%;
}


/* Fallback for Inter medium */
@font-face {
  font-family: "Inter Fallback: Helvetica Neue";
  src: local('Helvetica Neue Medium'), local('HelveticaNeue-Medium');
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  ascent-override: 93.3765%;
  descent-override: 23.25%;
  line-gap-override: 0%;
  size-adjust: 103.7466%;
}
@font-face {
  font-family: "Inter Fallback: Segoe UI";
  src: local('Segoe UI Semibold'), local('SegoeUI-Semibold');
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  ascent-override: 91.8744%;
  descent-override: 22.876%;
  size-adjust: 105.4429%;
}
@font-face {
  font-family: "Inter Fallback: Roboto";
  src: local('Roboto Medium'), local('Roboto-Medium');
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  ascent-override: 90.2075%;
  descent-override: 22.4609%;
  size-adjust: 107.3913%;
}
@font-face {
  font-family: "Inter Fallback: Ubuntu";
  src: local('Ubuntu Medium'), local('Ubuntu-Medium');
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  ascent-override: 93.5773%;
  descent-override: 23.3%;
  line-gap-override: 0%;
  size-adjust: 103.524%;
}
@font-face {
  font-family: "Inter Fallback: Fira Sans";
  src: local('Fira Sans Medium'), local('FiraSans-Medium');
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  ascent-override: 92.1717%;
  descent-override: 22.95%;
  size-adjust: 105.1028%;
}
@font-face {
  font-family: "Inter Fallback: Noto Sans";
  src: local('Noto Sans Medium'), local('NotoSans-Medium');
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  ascent-override: 96.7903%;
  descent-override: 24.1%;
  size-adjust: 100.0875%;
}

@font-face {
  font-family: "Inter Fallback: Helvetica Neue";
  src: local('Helvetica Neue Medium Italic'), local('HelveticaNeue-MediumItalic');
  font-style: italic;
  font-weight: 500;
  font-display: swap;
  ascent-override: 92.8129%;
  descent-override: 23.1097%;
  line-gap-override: 0%;
  size-adjust: 104.3767%;
}
@font-face {
  font-family: "Inter Fallback: Segoe UI";
  src: local('Segoe UI Semibold Italic'), local('SegoeUI-SemiboldItalic');
  font-style: italic;
  font-weight: 500;
  font-display: swap;
  ascent-override: 90.3452%;
  descent-override: 22.4952%;
  line-gap-override: 0%;
  size-adjust: 107.2276%;
}
@font-face {
  font-family: "Inter Fallback: Roboto";
  src: local('Roboto Medium Italic'), local('Roboto-MediumItalic');
  font-style: italic;
  font-weight: 500;
  font-display: swap;
  ascent-override: 87.9087%;
  descent-override: 21.8886%;
  size-adjust: 110.1996%;
}
@font-face {
  font-family: "Inter Fallback: Ubuntu";
  src: local('Ubuntu Medium Italic'), local('Ubuntu-MediumItalic');
  font-style: italic;
  font-weight: 500;
  font-display: swap;
  ascent-override: 90.6173%;
  descent-override: 22.563%;
  line-gap-override: 0%;
  size-adjust: 106.9056%;
}
@font-face {
  font-family: "Inter Fallback: Fira Sans";
  src: local('Fira Sans Medium Italic'), local('FiraSans-MediumItalic');
  font-style: italic;
  font-weight: 500;
  font-display: swap;
  ascent-override: 90.2181%;
  descent-override: 22.4636%;
  size-adjust: 107.3787%;
}
@font-face {
  font-family: "Inter Fallback: Noto Sans";
  src: local('Noto Sans Medium Italic'), local('NotoSans-MediumItalic');
  font-style: italic;
  font-weight: 500;
  font-display: swap;
  ascent-override: 91.0165%;
  descent-override: 22.6624%;
  size-adjust: 106.4367%;
}


/* Fallback for Inter semibold */
@font-face {
  font-family: "Inter Fallback: Helvetica Neue";
  src: local('Helvetica Neue Bold'), local('HelveticaNeue-Bold');
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  ascent-override: 95.4228%;
  descent-override: 23.7595%;
  line-gap-override: 0%;
  size-adjust: 101.5218%;
}
@font-face {
  font-family: "Inter Fallback: Segoe UI";
  src: local('Segoe UI Bold'), local('SegoeUI-Bold');
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  ascent-override: 94.4483%;
  descent-override: 23.5169%;
  size-adjust: 102.5694%;
}
@font-face {
  font-family: "Inter Fallback: Roboto";
  src: local('Roboto Bold'), local('Roboto-Bold');
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  ascent-override: 89.886%;
  descent-override: 22.3809%;
  size-adjust: 107.7754%;
}
@font-face {
  font-family: "Inter Fallback: Ubuntu";
  src: local('Ubuntu Bold'), local('Ubuntu-Bold');
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  ascent-override: 95.4228%;
  descent-override: 23.7595%;
  line-gap-override: 0%;
  size-adjust: 101.5218%;
}
@font-face {
  font-family: "Inter Fallback: Fira Sans";
  src: local('Fira Sans SemiBold'), local('FiraSans-SemiBold');
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  ascent-override: 91.2481%;
  descent-override: 22.72%;
  size-adjust: 106.1666%;
}
@font-face {
  font-family: "Inter Fallback: Noto Sans";
  src: local('Noto Sans SemiBold'), local('NotoSans-SemiBold');
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  ascent-override: 97.8084%;
  descent-override: 24.3535%;
  size-adjust: 99.0457%;
}
@font-face {
  font-family: "Inter Fallback: Arial";
  src: local('Arial Bold'), local('Arial-BoldMT');
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  ascent-override: 95.419%;
  descent-override: 23.7586%;
  line-gap-override: 0%;
  size-adjust: 101.5259%;
}

@font-face {
  font-family: "Inter Fallback: Helvetica Neue";
  src: local('Helvetica Neue Bold Italic'), local('HelveticaNeue-BoldItalic');
  font-style: italic;
  font-weight: 600;
  font-display: swap;
  ascent-override: 94.9556%;
  descent-override: 23.6432%;
  line-gap-override: 0%;
  size-adjust: 102.0213%;
}
@font-face {
  font-family: "Inter Fallback: Segoe UI";
  src: local('Segoe UI Bold Italic'), local('SegoeUI-BoldItalic');
  font-style: italic;
  font-weight: 600;
  font-display: swap;
  ascent-override: 93.4049%;
  descent-override: 23.2571%;
  size-adjust: 103.7152%;
}
@font-face {
  font-family: "Inter Fallback: Roboto";
  src: local('Roboto Bold Italic'), local('Roboto-BoldItalic');
  font-style: italic;
  font-weight: 600;
  font-display: swap;
  ascent-override: 87.6213%;
  descent-override: 21.817%;
  size-adjust: 110.5611%;
}
@font-face {
  font-family: "Inter Fallback: Ubuntu";
  src: local('Ubuntu Bold Italic'), local('Ubuntu-BoldItalic');
  font-style: italic;
  font-weight: 600;
  font-display: swap;
  ascent-override: 92.3893%;
  descent-override: 23.0042%;
  line-gap-override: 0%;
  size-adjust: 104.8553%;
}
@font-face {
  font-family: "Inter Fallback: Fira Sans";
  src: local('Fira Sans SemiBold Italic'), local('FiraSans-SemiBoldItalic');
  font-style: italic;
  font-weight: 600;
  font-display: swap;
  ascent-override: 89.2306%;
  descent-override: 22.2177%;
  size-adjust: 108.567%;
}
@font-face {
  font-family: "Inter Fallback: Noto Sans";
  src: local('Noto Sans SemiBold Italic'), local('NotoSans-SemiBoldItalic');
  font-style: italic;
  font-weight: 600;
  font-display: swap;
  ascent-override: 91.9944%;
  descent-override: 22.9059%;
  size-adjust: 105.3053%;
}
@font-face {
  font-family: "Inter Fallback: Arial";
  src: local('Arial Bold Italic'), local('Arial-BoldItalicMT');
  font-style: italic;
  font-weight: 600;
  font-display: swap;
  ascent-override: 94.7544%;
  descent-override: 23.5931%;
  line-gap-override: 0%;
  size-adjust: 102.238%;
}
}

@layer compound {

    @media screen {

        @layer cpd-base {
:root, [class*="cpd-theme-"] {
  --cpd-space-scale: 4px;
  --cpd-space-0x: 0;
  --cpd-space-6x: 24px;
  --cpd-space-10x: 40px;
  --cpd-space-11x: 44px;
  --cpd-space-12x: 48px;
  --cpd-space-16x: 64px;
  --cpd-space-36x: 144px;
  --cpd-space-56x: 224px;
  --cpd-border-width-1: 1px;
  --cpd-border-width-2: 2px;
  --cpd-border-width-4: 4px;
  --cpd-border-width-0-5: 0.5px;
  --cpd-font-family-sans: Inter, "Inter Fallback: Helvetica Neue", "Inter Fallback: Segoe UI", "Inter Fallback: Roboto", "Inter Fallback: Ubuntu", "Inter Fallback: Fira Sans", "Inter Fallback: Noto Sans", "Inter Fallback: Arial", "Helvetica Neue", "Segoe UI", Roboto, Ubuntu, "Fira Sans", "Noto Sans", Arial, sans-serif;
  --cpd-font-family-mono: Inconsolata, ui-monospace, monospace;
  --cpd-font-weight-regular: 400;
  --cpd-font-weight-medium: 500;
  --cpd-font-weight-semibold: 600;
  --cpd-font-line-height-minimum: 1;
  --cpd-font-line-height-tight: 1.25;
  --cpd-font-line-height-regular: 1.5;
  --cpd-font-size-body-xs: 0.6875rem;
  --cpd-font-size-body-sm: 0.8125rem;
  --cpd-font-size-body-md: 0.9375rem;
  --cpd-font-size-body-lg: 1.0625rem;
  --cpd-font-size-heading-sm: 1.25rem;
  --cpd-font-size-heading-md: 1.5rem;
  --cpd-font-size-heading-lg: 1.75rem;
  --cpd-font-size-heading-xl: 2rem;
  --cpd-font-size-root: 1rem;
  --cpd-font-letter-spacing-body-xs: 0.0048em;
  --cpd-font-letter-spacing-body-sm: -0.0031em;
  --cpd-font-letter-spacing-body-md: -0.0088em;
  --cpd-font-letter-spacing-body-lg: -0.0128em;
  --cpd-font-letter-spacing-heading-sm: -0.0166em;
  --cpd-font-letter-spacing-heading-md: -0.0195em;
  --cpd-font-letter-spacing-heading-lg: -0.0209em;
  --cpd-font-letter-spacing-heading-xl: -0.0216em;
  --cpd-space-0-5x: 2px;
  --cpd-space-1x: var(--cpd-space-scale);
  --cpd-space-1-5x: 6px;
  --cpd-space-2x: 8px;
  --cpd-space-3x: 12px;
  --cpd-space-4x: 16px;
  --cpd-space-5x: 20px;
  --cpd-space-7x: 28px;
  --cpd-space-8x: 32px;
  --cpd-space-9x: 36px;
  --cpd-space-13x: 52px;
  --cpd-space-14x: 56px;
  --cpd-space-15x: 60px;
  --cpd-space-20x: 80px;
  --cpd-space-24x: 96px;
  --cpd-space-28x: 112px;
  --cpd-space-32x: 128px;
  --cpd-space-40x: 160px;
  --cpd-space-48x: 192px;
  --cpd-space-64x: 256px;
  --cpd-font-body-xs-regular: var(--cpd-font-weight-regular) var(--cpd-font-size-body-xs)/var(--cpd-font-line-height-regular) var(--cpd-font-family-sans);
  --cpd-font-body-xs-medium: var(--cpd-font-weight-medium) var(--cpd-font-size-body-xs)/var(--cpd-font-line-height-regular) var(--cpd-font-family-sans);
  --cpd-font-body-xs-semibold: var(--cpd-font-weight-semibold) var(--cpd-font-size-body-xs)/var(--cpd-font-line-height-regular) var(--cpd-font-family-sans);
  --cpd-font-body-sm-regular: var(--cpd-font-weight-regular) var(--cpd-font-size-body-sm)/var(--cpd-font-line-height-regular) var(--cpd-font-family-sans);
  --cpd-font-body-sm-medium: var(--cpd-font-weight-medium) var(--cpd-font-size-body-sm)/var(--cpd-font-line-height-regular) var(--cpd-font-family-sans);
  --cpd-font-body-sm-semibold: var(--cpd-font-weight-semibold) var(--cpd-font-size-body-sm)/var(--cpd-font-line-height-regular) var(--cpd-font-family-sans);
  --cpd-font-body-md-regular: var(--cpd-font-weight-regular) var(--cpd-font-size-body-md)/var(--cpd-font-line-height-regular) var(--cpd-font-family-sans);
  --cpd-font-body-md-medium: var(--cpd-font-weight-medium) var(--cpd-font-size-body-md)/var(--cpd-font-line-height-regular) var(--cpd-font-family-sans);
  --cpd-font-body-md-semibold: var(--cpd-font-weight-semibold) var(--cpd-font-size-body-md)/var(--cpd-font-line-height-regular) var(--cpd-font-family-sans);
  --cpd-font-body-lg-regular: var(--cpd-font-weight-regular) var(--cpd-font-size-body-lg)/var(--cpd-font-line-height-regular) var(--cpd-font-family-sans);
  --cpd-font-body-lg-medium: var(--cpd-font-weight-medium) var(--cpd-font-size-body-lg)/var(--cpd-font-line-height-regular) var(--cpd-font-family-sans);
  --cpd-font-body-lg-semibold: var(--cpd-font-weight-semibold) var(--cpd-font-size-body-lg)/var(--cpd-font-line-height-regular) var(--cpd-font-family-sans);
  --cpd-font-heading-sm-regular: var(--cpd-font-weight-regular) var(--cpd-font-size-heading-sm)/var(--cpd-font-line-height-tight) var(--cpd-font-family-sans);
  --cpd-font-heading-sm-medium: var(--cpd-font-weight-medium) var(--cpd-font-size-heading-sm)/var(--cpd-font-line-height-tight) var(--cpd-font-family-sans);
  --cpd-font-heading-sm-semibold: var(--cpd-font-weight-semibold) var(--cpd-font-size-heading-sm)/var(--cpd-font-line-height-tight) var(--cpd-font-family-sans);
  --cpd-font-heading-md-regular: var(--cpd-font-weight-regular) var(--cpd-font-size-heading-md)/var(--cpd-font-line-height-tight) var(--cpd-font-family-sans);
  --cpd-font-heading-md-semibold: var(--cpd-font-weight-semibold) var(--cpd-font-size-heading-md)/var(--cpd-font-line-height-tight) var(--cpd-font-family-sans);
  --cpd-font-heading-lg-regular: var(--cpd-font-weight-regular) var(--cpd-font-size-heading-lg)/var(--cpd-font-line-height-tight) var(--cpd-font-family-sans);
  --cpd-font-heading-lg-semibold: var(--cpd-font-weight-semibold) var(--cpd-font-size-heading-lg)/var(--cpd-font-line-height-tight) var(--cpd-font-family-sans);
  --cpd-font-heading-xl-regular: var(--cpd-font-weight-regular) var(--cpd-font-size-heading-xl)/var(--cpd-font-line-height-tight) var(--cpd-font-family-sans);
  --cpd-font-heading-xl-semibold: var(--cpd-font-weight-semibold) var(--cpd-font-size-heading-xl)/var(--cpd-font-line-height-tight) var(--cpd-font-family-sans);
}
        }
    }
}

@layer compound {

    @media screen {

        @layer cpd-semantic {
:root, [class*="cpd-theme-"] {
  --cpd-color-text-primary: var(--cpd-color-gray-1400);
  --cpd-color-text-secondary: var(--cpd-color-gray-900);
  --cpd-color-text-disabled: var(--cpd-color-gray-800);
  --cpd-color-text-action-primary: var(--cpd-color-gray-1400);
  --cpd-color-text-action-accent: var(--cpd-color-green-900);
  --cpd-color-text-link-external: var(--cpd-color-blue-900);
  --cpd-color-text-critical-primary: var(--cpd-color-red-900);
  --cpd-color-text-success-primary: var(--cpd-color-green-900);
  --cpd-color-text-info-primary: var(--cpd-color-blue-900);
  --cpd-color-text-on-solid-primary: var(--cpd-color-theme-bg);
  --cpd-color-text-decorative-1: var(--cpd-color-lime-1100);
  --cpd-color-text-decorative-2: var(--cpd-color-cyan-1100);
  --cpd-color-text-decorative-3: var(--cpd-color-fuchsia-1100);
  --cpd-color-text-decorative-4: var(--cpd-color-purple-1100);
  --cpd-color-text-decorative-5: var(--cpd-color-pink-1100);
  --cpd-color-text-decorative-6: var(--cpd-color-orange-1100);
  --cpd-color-bg-subtle-primary: var(--cpd-color-gray-400);
  --cpd-color-bg-subtle-secondary: var(--cpd-color-gray-300);
  --cpd-color-bg-canvas-default: var(--cpd-color-theme-bg);
  --cpd-color-bg-canvas-disabled: var(--cpd-color-gray-200);
  --cpd-color-bg-action-primary-rest: var(--cpd-color-gray-1400);
  --cpd-color-bg-action-primary-hovered: var(--cpd-color-gray-1200);
  --cpd-color-bg-action-primary-pressed: var(--cpd-color-gray-1100);
  --cpd-color-bg-action-primary-disabled: var(--cpd-color-gray-700);
  --cpd-color-bg-action-secondary-rest: var(--cpd-color-theme-bg);
  --cpd-color-bg-action-secondary-hovered: var(--cpd-color-alpha-gray-200);
  --cpd-color-bg-action-secondary-pressed: var(--cpd-color-alpha-gray-300);
  --cpd-color-bg-critical-primary: var(--cpd-color-red-900);
  --cpd-color-bg-critical-hovered: var(--cpd-color-red-1000);
  --cpd-color-bg-critical-subtle: var(--cpd-color-red-200);
  --cpd-color-bg-critical-subtle-hovered: var(--cpd-color-red-300);
  --cpd-color-bg-success-subtle: var(--cpd-color-green-200);
  --cpd-color-bg-info-subtle: var(--cpd-color-blue-200);
  --cpd-color-bg-decorative-1: var(--cpd-color-lime-300);
  --cpd-color-bg-decorative-2: var(--cpd-color-cyan-300);
  --cpd-color-bg-decorative-3: var(--cpd-color-fuchsia-300);
  --cpd-color-bg-decorative-4: var(--cpd-color-purple-300);
  --cpd-color-bg-decorative-5: var(--cpd-color-pink-300);
  --cpd-color-bg-decorative-6: var(--cpd-color-orange-300);
  --cpd-color-bg-accent-rest: var(--cpd-color-green-900);
  --cpd-color-bg-accent-hovered: var(--cpd-color-green-1000);
  --cpd-color-bg-accent-pressed: var(--cpd-color-green-1100);
  --cpd-color-border-disabled: var(--cpd-color-gray-500);
  --cpd-color-border-focused: var(--cpd-color-blue-900);
  --cpd-color-border-interactive-primary: var(--cpd-color-gray-800);
  --cpd-color-border-interactive-secondary: var(--cpd-color-gray-600);
  --cpd-color-border-interactive-hovered: var(--cpd-color-gray-1100);
  --cpd-color-border-critical-primary: var(--cpd-color-red-900);
  --cpd-color-border-critical-hovered: var(--cpd-color-red-1000);
  --cpd-color-border-critical-subtle: var(--cpd-color-red-500);
  --cpd-color-border-success-subtle: var(--cpd-color-green-500);
  --cpd-color-border-info-subtle: var(--cpd-color-blue-500);
  --cpd-color-icon-primary: var(--cpd-color-gray-1400);
  --cpd-color-icon-secondary: var(--cpd-color-gray-900);
  --cpd-color-icon-tertiary: var(--cpd-color-gray-800);
  --cpd-color-icon-quaternary: var(--cpd-color-gray-700);
  --cpd-color-icon-disabled: var(--cpd-color-gray-700);
  --cpd-color-icon-primary-alpha: var(--cpd-color-alpha-gray-1400);
  --cpd-color-icon-secondary-alpha: var(--cpd-color-alpha-gray-900);
  --cpd-color-icon-tertiary-alpha: var(--cpd-color-alpha-gray-800);
  --cpd-color-icon-quaternary-alpha: var(--cpd-color-alpha-gray-700);
  --cpd-color-icon-accent-tertiary: var(--cpd-color-green-800);
  --cpd-color-icon-accent-primary: var(--cpd-color-green-900);
  --cpd-color-icon-critical-primary: var(--cpd-color-red-900);
  --cpd-color-icon-success-primary: var(--cpd-color-green-900);
  --cpd-color-icon-info-primary: var(--cpd-color-blue-900);
  --cpd-color-icon-on-solid-primary: var(--cpd-color-theme-bg);
}
        }
    }
}

@layer compound {

    @media screen {

        @layer cpd-base {
.cpd-theme-light.cpd-theme-light {
  --cpd-color-theme-bg: #ffffff;
  --cpd-color-gray-100: #fbfcfd;
  --cpd-color-gray-200: #f7f9fa;
  --cpd-color-gray-300: #f0f2f5;
  --cpd-color-gray-400: #e1e6ec;
  --cpd-color-gray-500: #cdd3da;
  --cpd-color-gray-600: #bdc4cc;
  --cpd-color-gray-700: #a6adb7;
  --cpd-color-gray-800: #818a95;
  --cpd-color-gray-900: #656d77;
  --cpd-color-gray-1000: #595e67;
  --cpd-color-gray-1100: #4c5158;
  --cpd-color-gray-1200: #3c4045;
  --cpd-color-gray-1300: #2b2d32;
  --cpd-color-gray-1400: #1b1d22;
  --cpd-color-red-100: #fffaf9;
  --cpd-color-red-200: #fff7f6;
  --cpd-color-red-300: #ffefec;
  --cpd-color-red-400: #ffdfda;
  --cpd-color-red-500: #ffc5bc;
  --cpd-color-red-600: #ffafa5;
  --cpd-color-red-700: #ff8c81;
  --cpd-color-red-800: #ff3d3d;
  --cpd-color-red-900: #d51928;
  --cpd-color-red-1000: #bc0f22;
  --cpd-color-red-1100: #a4041d;
  --cpd-color-red-1200: #850006;
  --cpd-color-red-1300: #620000;
  --cpd-color-red-1400: #450000;
  --cpd-color-orange-100: #fffaf7;
  --cpd-color-orange-200: #fff6ef;
  --cpd-color-orange-300: #ffefe4;
  --cpd-color-orange-400: #ffdfc8;
  --cpd-color-orange-500: #ffc8a1;
  --cpd-color-orange-600: #fdb37c;
  --cpd-color-orange-700: #f89440;
  --cpd-color-orange-800: #dc6700;
  --cpd-color-orange-900: #bc4500;
  --cpd-color-orange-1000: #ac3300;
  --cpd-color-orange-1100: #9b2200;
  --cpd-color-orange-1200: #850000;
  --cpd-color-orange-1300: #620000;
  --cpd-color-orange-1400: #450000;
  --cpd-color-yellow-100: #fffcf0;
  --cpd-color-yellow-200: #fff8e0;
  --cpd-color-yellow-300: #fff2c1;
  --cpd-color-yellow-400: #ffe484;
  --cpd-color-yellow-500: #fbce00;
  --cpd-color-yellow-600: #f1bd00;
  --cpd-color-yellow-700: #dea200;
  --cpd-color-yellow-800: #be7a00;
  --cpd-color-yellow-900: #9f5b00;
  --cpd-color-yellow-1000: #8f4d00;
  --cpd-color-yellow-1100: #803f00;
  --cpd-color-yellow-1200: #692e00;
  --cpd-color-yellow-1300: #541a00;
  --cpd-color-yellow-1400: #410600;
  --cpd-color-lime-100: #f8fdf6;
  --cpd-color-lime-200: #f1fcee;
  --cpd-color-lime-300: #e0f8d9;
  --cpd-color-lime-400: #c8f1ba;
  --cpd-color-lime-500: #99e57e;
  --cpd-color-lime-600: #76db4c;
  --cpd-color-lime-700: #54c424;
  --cpd-color-lime-800: #359d18;
  --cpd-color-lime-900: #197d0c;
  --cpd-color-lime-1000: #006e00;
  --cpd-color-lime-1100: #005f00;
  --cpd-color-lime-1200: #004b00;
  --cpd-color-lime-1300: #003600;
  --cpd-color-lime-1400: #002400;
  --cpd-color-green-100: #f8fdfb;
  --cpd-color-green-200: #f1fbf6;
  --cpd-color-green-300: #e3f7ed;
  --cpd-color-green-400: #c6eedb;
  --cpd-color-green-500: #98e1c1;
  --cpd-color-green-600: #71d7ae;
  --cpd-color-green-700: #0bc491;
  --cpd-color-green-800: #009b78;
  --cpd-color-green-900: #007a61;
  --cpd-color-green-1000: #006b52;
  --cpd-color-green-1100: #005c45;
  --cpd-color-green-1200: #004933;
  --cpd-color-green-1300: #003420;
  --cpd-color-green-1400: #002311;
  --cpd-color-cyan-100: #f8fdfd;
  --cpd-color-cyan-200: #f1fafb;
  --cpd-color-cyan-300: #e3f5f8;
  --cpd-color-cyan-400: #c7ecf0;
  --cpd-color-cyan-500: #9bdde5;
  --cpd-color-cyan-600: #76d1dd;
  --cpd-color-cyan-700: #15becf;
  --cpd-color-cyan-800: #0094c0;
  --cpd-color-cyan-900: #0072ac;
  --cpd-color-cyan-1000: #00629c;
  --cpd-color-cyan-1100: #00548c;
  --cpd-color-cyan-1200: #004077;
  --cpd-color-cyan-1300: #002b61;
  --cpd-color-cyan-1400: #00194f;
  --cpd-color-blue-100: #f9fcff;
  --cpd-color-blue-200: #f4f8ff;
  --cpd-color-blue-300: #e9f2ff;
  --cpd-color-blue-400: #d8e7fe;
  --cpd-color-blue-500: #bad5fc;
  --cpd-color-blue-600: #a3c6fa;
  --cpd-color-blue-700: #7eaff6;
  --cpd-color-blue-800: #4088ee;
  --cpd-color-blue-900: #0467dd;
  --cpd-color-blue-1000: #0558c7;
  --cpd-color-blue-1100: #064ab1;
  --cpd-color-blue-1200: #043894;
  --cpd-color-blue-1300: #012478;
  --cpd-color-blue-1400: #000e65;
  --cpd-color-purple-100: #fbfbff;
  --cpd-color-purple-200: #f8f7ff;
  --cpd-color-purple-300: #f1efff;
  --cpd-color-purple-400: #e6e2ff;
  --cpd-color-purple-500: #d4cdff;
  --cpd-color-purple-600: #c5bbff;
  --cpd-color-purple-700: #b1a0ff;
  --cpd-color-purple-800: #9271fd;
  --cpd-color-purple-900: #7a47f1;
  --cpd-color-purple-1000: #6b37de;
  --cpd-color-purple-1100: #5d26cd;
  --cpd-color-purple-1200: #4c05b5;
  --cpd-color-purple-1300: #33008d;
  --cpd-color-purple-1400: #200066;
  --cpd-color-fuchsia-100: #fefafe;
  --cpd-color-fuchsia-200: #fcf5fd;
  --cpd-color-fuchsia-300: #faeefb;
  --cpd-color-fuchsia-400: #f6dff7;
  --cpd-color-fuchsia-500: #edc6f0;
  --cpd-color-fuchsia-600: #e7b2ea;
  --cpd-color-fuchsia-700: #db93e1;
  --cpd-color-fuchsia-800: #c85ed1;
  --cpd-color-fuchsia-900: #ad33bd;
  --cpd-color-fuchsia-1000: #972aaa;
  --cpd-color-fuchsia-1100: #822198;
  --cpd-color-fuchsia-1200: #671481;
  --cpd-color-fuchsia-1300: #4e0068;
  --cpd-color-fuchsia-1400: #34004c;
  --cpd-color-pink-100: #fffafb;
  --cpd-color-pink-200: #fff5f7;
  --cpd-color-pink-300: #ffecf0;
  --cpd-color-pink-400: #ffdee5;
  --cpd-color-pink-500: #ffc2cf;
  --cpd-color-pink-600: #ffadc0;
  --cpd-color-pink-700: #ff88a6;
  --cpd-color-pink-800: #f7407d;
  --cpd-color-pink-900: #d20c65;
  --cpd-color-pink-1000: #b80a5b;
  --cpd-color-pink-1100: #9f0850;
  --cpd-color-pink-1200: #7e0642;
  --cpd-color-pink-1300: #5f002b;
  --cpd-color-pink-1400: #430017;
  --cpd-color-alpha-gray-100: hsla(210, 48%, 41%, 0.02);
  --cpd-color-alpha-gray-200: hsla(200, 41%, 36%, 0.04);
  --cpd-color-alpha-gray-300: hsla(216, 89%, 18%, 0.06);
  --cpd-color-alpha-gray-400: hsla(213, 90%, 20%, 0.12);
  --cpd-color-alpha-gray-500: hsla(212, 87%, 15%, 0.2);
  --cpd-color-alpha-gray-600: hsla(212, 97%, 12%, 0.26);
  --cpd-color-alpha-gray-700: hsla(215, 96%, 10%, 0.35);
  --cpd-color-alpha-gray-800: hsla(213, 87%, 9%, 0.5);
  --cpd-color-alpha-gray-900: hsla(213, 83%, 7%, 0.61);
  --cpd-color-alpha-gray-1000: hsla(218, 79%, 6%, 0.66);
  --cpd-color-alpha-gray-1100: hsla(215, 74%, 5%, 0.71);
  --cpd-color-alpha-gray-1200: hsla(213, 73%, 3%, 0.77);
  --cpd-color-alpha-gray-1300: hsla(225, 57%, 3%, 0.84);
  --cpd-color-alpha-gray-1400: hsla(223, 64%, 2%, 0.9);
  --cpd-color-alpha-red-100: hsla(10, 100%, 61%, 0.03);
  --cpd-color-alpha-red-200: hsla(7, 100%, 56%, 0.04);
  --cpd-color-alpha-red-300: hsla(9, 100%, 54%, 0.08);
  --cpd-color-alpha-red-400: hsla(8, 100%, 52%, 0.15);
  --cpd-color-alpha-red-500: hsla(8, 100%, 51%, 0.27);
  --cpd-color-alpha-red-600: hsla(7, 100%, 51%, 0.36);
  --cpd-color-alpha-red-700: hsla(5, 100%, 51%, 0.5);
  --cpd-color-alpha-red-800: hsla(0, 100%, 51%, 0.77);
  --cpd-color-alpha-red-900: hsla(355, 98%, 41%, 0.91);
  --cpd-color-alpha-red-1000: hsla(353, 98%, 37%, 0.95);
  --cpd-color-alpha-red-1100: hsla(350, 99%, 32%, 0.99);
  --cpd-color-alpha-red-1200: hsl(357, 100%, 26%, 1);
  --cpd-color-alpha-red-1300: hsl(0, 100%, 19%, 1);
  --cpd-color-alpha-red-1400: hsl(0, 100%, 14%, 1);
  --cpd-color-alpha-orange-100: hsla(22, 100%, 61%, 0.04);
  --cpd-color-alpha-orange-200: hsla(26, 100%, 55%, 0.07);
  --cpd-color-alpha-orange-300: hsla(24, 100%, 52%, 0.11);
  --cpd-color-alpha-orange-400: hsla(25, 100%, 51%, 0.22);
  --cpd-color-alpha-orange-500: hsla(25, 100%, 50%, 0.37);
  --cpd-color-alpha-orange-600: hsla(26, 98%, 50%, 0.52);
  --cpd-color-alpha-orange-700: hsla(27, 100%, 48%, 0.75);
  --cpd-color-alpha-orange-800: hsl(28, 100%, 43%, 1);
  --cpd-color-alpha-orange-900: hsl(22, 100%, 37%, 1);
  --cpd-color-alpha-orange-1000: hsl(18, 100%, 34%, 1);
  --cpd-color-alpha-orange-1100: hsl(13, 100%, 30%, 1);
  --cpd-color-alpha-orange-1200: hsl(0, 100%, 26%, 1);
  --cpd-color-alpha-orange-1300: hsl(0, 100%, 19%, 1);
  --cpd-color-alpha-orange-1400: hsl(0, 100%, 14%, 1);
  --cpd-color-alpha-yellow-100: hsla(48, 100%, 51%, 0.06);
  --cpd-color-alpha-yellow-200: hsla(46, 100%, 53%, 0.13);
  --cpd-color-alpha-yellow-300: hsla(47, 100%, 51%, 0.25);
  --cpd-color-alpha-yellow-400: hsla(47, 100%, 51%, 0.49);
  --cpd-color-alpha-yellow-500: hsl(49, 100%, 49%, 1);
  --cpd-color-alpha-yellow-600: hsl(47, 100%, 47%, 1);
  --cpd-color-alpha-yellow-700: hsl(44, 100%, 44%, 1);
  --cpd-color-alpha-yellow-800: hsl(39, 100%, 37%, 1);
  --cpd-color-alpha-yellow-900: hsl(34, 100%, 31%, 1);
  --cpd-color-alpha-yellow-1000: hsl(32, 100%, 28%, 1);
  --cpd-color-alpha-yellow-1100: hsl(30, 100%, 25%, 1);
  --cpd-color-alpha-yellow-1200: hsl(26, 100%, 21%, 1);
  --cpd-color-alpha-yellow-1300: hsl(19, 100%, 17%, 1);
  --cpd-color-alpha-yellow-1400: hsl(6, 100%, 13%, 1);
  --cpd-color-alpha-lime-100: hsla(103, 75%, 46%, 0.04);
  --cpd-color-alpha-lime-200: hsla(107, 89%, 44%, 0.07);
  --cpd-color-alpha-lime-300: hsla(107, 98%, 41%, 0.15);
  --cpd-color-alpha-lime-400: hsla(105, 92%, 42%, 0.28);
  --cpd-color-alpha-lime-500: hsla(104, 98%, 40%, 0.51);
  --cpd-color-alpha-lime-600: hsla(102, 97%, 41%, 0.71);
  --cpd-color-alpha-lime-700: hsla(102, 100%, 37%, 0.86);
  --cpd-color-alpha-lime-800: hsla(107, 99%, 29%, 0.91);
  --cpd-color-alpha-lime-900: hsla(113, 97%, 24%, 0.96);
  --cpd-color-alpha-lime-1000: hsl(120, 100%, 22%, 1);
  --cpd-color-alpha-lime-1100: hsl(120, 100%, 19%, 1);
  --cpd-color-alpha-lime-1200: hsl(120, 100%, 15%, 1);
  --cpd-color-alpha-lime-1300: hsl(120, 100%, 11%, 1);
  --cpd-color-alpha-lime-1400: hsl(120, 100%, 7%, 1);
  --cpd-color-alpha-green-100: hsla(156, 79%, 41%, 0.03);
  --cpd-color-alpha-green-200: hsla(150, 79%, 41%, 0.06);
  --cpd-color-alpha-green-300: hsla(150, 100%, 36%, 0.11);
  --cpd-color-alpha-green-400: hsla(151, 93%, 37%, 0.23);
  --cpd-color-alpha-green-500: hsla(154, 96%, 37%, 0.41);
  --cpd-color-alpha-green-600: hsla(156, 99%, 36%, 0.56);
  --cpd-color-alpha-green-700: hsla(163, 99%, 38%, 0.96);
  --cpd-color-alpha-green-800: hsl(166, 100%, 30%, 1);
  --cpd-color-alpha-green-900: hsl(168, 100%, 24%, 1);
  --cpd-color-alpha-green-1000: hsl(166, 100%, 21%, 1);
  --cpd-color-alpha-green-1100: hsl(165, 100%, 18%, 1);
  --cpd-color-alpha-green-1200: hsl(162, 100%, 14%, 1);
  --cpd-color-alpha-green-1300: hsl(157, 100%, 10%, 1);
  --cpd-color-alpha-green-1400: hsl(149, 100%, 7%, 1);
  --cpd-color-alpha-cyan-100: hsla(180, 79%, 41%, 0.03);
  --cpd-color-alpha-cyan-200: hsla(186, 79%, 41%, 0.06);
  --cpd-color-alpha-cyan-300: hsla(188, 100%, 38%, 0.11);
  --cpd-color-alpha-cyan-400: hsla(186, 100%, 37%, 0.22);
  --cpd-color-alpha-cyan-500: hsla(186, 95%, 38%, 0.4);
  --cpd-color-alpha-cyan-600: hsla(187, 99%, 38%, 0.54);
  --cpd-color-alpha-cyan-700: hsla(186, 99%, 40%, 0.92);
  --cpd-color-alpha-cyan-800: hsl(194, 100%, 38%, 1);
  --cpd-color-alpha-cyan-900: hsl(200, 100%, 34%, 1);
  --cpd-color-alpha-cyan-1000: hsl(202, 100%, 31%, 1);
  --cpd-color-alpha-cyan-1100: hsl(204, 100%, 28%, 1);
  --cpd-color-alpha-cyan-1200: hsl(208, 100%, 23%, 1);
  --cpd-color-alpha-cyan-1300: hsl(213, 100%, 19%, 1);
  --cpd-color-alpha-cyan-1400: hsl(221, 100%, 16%, 1);
  --cpd-color-alpha-blue-100: hsla(210, 100%, 61%, 0.03);
  --cpd-color-alpha-blue-200: hsla(218, 100%, 57%, 0.05);
  --cpd-color-alpha-blue-300: hsla(215, 100%, 52%, 0.09);
  --cpd-color-alpha-blue-400: hsla(216, 95%, 51%, 0.16);
  --cpd-color-alpha-blue-500: hsla(215, 93%, 50%, 0.28);
  --cpd-color-alpha-blue-600: hsla(216, 95%, 48%, 0.37);
  --cpd-color-alpha-blue-700: hsla(215, 98%, 47%, 0.51);
  --cpd-color-alpha-blue-800: hsla(215, 100%, 46%, 0.75);
  --cpd-color-alpha-blue-900: hsla(213, 99%, 44%, 0.99);
  --cpd-color-alpha-blue-1000: hsla(214, 98%, 39%, 0.99);
  --cpd-color-alpha-blue-1100: hsla(216, 99%, 35%, 0.98);
  --cpd-color-alpha-blue-1200: hsla(218, 99%, 29%, 0.99);
  --cpd-color-alpha-blue-1300: hsl(222, 98%, 24%, 1);
  --cpd-color-alpha-blue-1400: hsl(232, 100%, 20%, 1);
  --cpd-color-alpha-purple-100: hsla(240, 100%, 61%, 0.02);
  --cpd-color-alpha-purple-200: hsla(248, 100%, 61%, 0.04);
  --cpd-color-alpha-purple-300: hsla(248, 100%, 55%, 0.07);
  --cpd-color-alpha-purple-400: hsla(248, 100%, 53%, 0.12);
  --cpd-color-alpha-purple-500: hsla(248, 100%, 51%, 0.2);
  --cpd-color-alpha-purple-600: hsla(249, 100%, 51%, 0.27);
  --cpd-color-alpha-purple-700: hsla(251, 100%, 51%, 0.38);
  --cpd-color-alpha-purple-800: hsla(254, 99%, 49%, 0.56);
  --cpd-color-alpha-purple-900: hsla(258, 98%, 47%, 0.73);
  --cpd-color-alpha-purple-1000: hsla(259, 98%, 42%, 0.79);
  --cpd-color-alpha-purple-1100: hsla(260, 97%, 39%, 0.86);
  --cpd-color-alpha-purple-1200: hsla(264, 98%, 36%, 0.99);
  --cpd-color-alpha-purple-1300: hsl(262, 100%, 28%, 1);
  --cpd-color-alpha-purple-1400: hsl(259, 100%, 20%, 1);
  --cpd-color-alpha-fuchsia-100: hsla(300, 95%, 41%, 0.02);
  --cpd-color-alpha-fuchsia-200: hsla(293, 95%, 41%, 0.04);
  --cpd-color-alpha-fuchsia-300: hsla(295, 89%, 41%, 0.07);
  --cpd-color-alpha-fuchsia-400: hsla(298, 91%, 40%, 0.13);
  --cpd-color-alpha-fuchsia-500: hsla(296, 93%, 39%, 0.23);
  --cpd-color-alpha-fuchsia-600: hsla(297, 93%, 38%, 0.31);
  --cpd-color-alpha-fuchsia-700: hsla(295, 96%, 37%, 0.43);
  --cpd-color-alpha-fuchsia-800: hsla(295, 97%, 37%, 0.64);
  --cpd-color-alpha-fuchsia-900: hsla(293, 100%, 34%, 0.8);
  --cpd-color-alpha-fuchsia-1000: hsla(291, 99%, 30%, 0.84);
  --cpd-color-alpha-fuchsia-1100: hsla(289, 96%, 28%, 0.88);
  --cpd-color-alpha-fuchsia-1200: hsla(286, 97%, 24%, 0.93);
  --cpd-color-alpha-fuchsia-1300: hsl(285, 100%, 20%, 1);
  --cpd-color-alpha-fuchsia-1400: hsl(281, 100%, 15%, 1);
  --cpd-color-alpha-pink-100: hsla(348, 100%, 51%, 0.02);
  --cpd-color-alpha-pink-200: hsla(348, 100%, 51%, 0.04);
  --cpd-color-alpha-pink-300: hsla(347, 100%, 54%, 0.08);
  --cpd-color-alpha-pink-400: hsla(347, 100%, 50%, 0.13);
  --cpd-color-alpha-pink-500: hsla(347, 100%, 50%, 0.24);
  --cpd-color-alpha-pink-600: hsla(346, 100%, 51%, 0.33);
  --cpd-color-alpha-pink-700: hsla(345, 100%, 50%, 0.47);
  --cpd-color-alpha-pink-800: hsla(340, 100%, 48%, 0.75);
  --cpd-color-alpha-pink-900: hsla(333, 98%, 41%, 0.96);
  --cpd-color-alpha-pink-1000: hsla(332, 98%, 36%, 0.97);
  --cpd-color-alpha-pink-1100: hsla(331, 100%, 31%, 0.97);
  --cpd-color-alpha-pink-1200: hsla(330, 98%, 24%, 0.98);
  --cpd-color-alpha-pink-1300: hsl(333, 100%, 19%, 1);
  --cpd-color-alpha-pink-1400: hsl(339, 100%, 13%, 1);
}
        }
    }
}

@layer compound {

    @media screen and (prefers-color-scheme: light) {

        @layer cpd-base {
:root {
  --cpd-color-theme-bg: #ffffff;
  --cpd-color-gray-100: #fbfcfd;
  --cpd-color-gray-200: #f7f9fa;
  --cpd-color-gray-300: #f0f2f5;
  --cpd-color-gray-400: #e1e6ec;
  --cpd-color-gray-500: #cdd3da;
  --cpd-color-gray-600: #bdc4cc;
  --cpd-color-gray-700: #a6adb7;
  --cpd-color-gray-800: #818a95;
  --cpd-color-gray-900: #656d77;
  --cpd-color-gray-1000: #595e67;
  --cpd-color-gray-1100: #4c5158;
  --cpd-color-gray-1200: #3c4045;
  --cpd-color-gray-1300: #2b2d32;
  --cpd-color-gray-1400: #1b1d22;
  --cpd-color-red-100: #fffaf9;
  --cpd-color-red-200: #fff7f6;
  --cpd-color-red-300: #ffefec;
  --cpd-color-red-400: #ffdfda;
  --cpd-color-red-500: #ffc5bc;
  --cpd-color-red-600: #ffafa5;
  --cpd-color-red-700: #ff8c81;
  --cpd-color-red-800: #ff3d3d;
  --cpd-color-red-900: #d51928;
  --cpd-color-red-1000: #bc0f22;
  --cpd-color-red-1100: #a4041d;
  --cpd-color-red-1200: #850006;
  --cpd-color-red-1300: #620000;
  --cpd-color-red-1400: #450000;
  --cpd-color-orange-100: #fffaf7;
  --cpd-color-orange-200: #fff6ef;
  --cpd-color-orange-300: #ffefe4;
  --cpd-color-orange-400: #ffdfc8;
  --cpd-color-orange-500: #ffc8a1;
  --cpd-color-orange-600: #fdb37c;
  --cpd-color-orange-700: #f89440;
  --cpd-color-orange-800: #dc6700;
  --cpd-color-orange-900: #bc4500;
  --cpd-color-orange-1000: #ac3300;
  --cpd-color-orange-1100: #9b2200;
  --cpd-color-orange-1200: #850000;
  --cpd-color-orange-1300: #620000;
  --cpd-color-orange-1400: #450000;
  --cpd-color-yellow-100: #fffcf0;
  --cpd-color-yellow-200: #fff8e0;
  --cpd-color-yellow-300: #fff2c1;
  --cpd-color-yellow-400: #ffe484;
  --cpd-color-yellow-500: #fbce00;
  --cpd-color-yellow-600: #f1bd00;
  --cpd-color-yellow-700: #dea200;
  --cpd-color-yellow-800: #be7a00;
  --cpd-color-yellow-900: #9f5b00;
  --cpd-color-yellow-1000: #8f4d00;
  --cpd-color-yellow-1100: #803f00;
  --cpd-color-yellow-1200: #692e00;
  --cpd-color-yellow-1300: #541a00;
  --cpd-color-yellow-1400: #410600;
  --cpd-color-lime-100: #f8fdf6;
  --cpd-color-lime-200: #f1fcee;
  --cpd-color-lime-300: #e0f8d9;
  --cpd-color-lime-400: #c8f1ba;
  --cpd-color-lime-500: #99e57e;
  --cpd-color-lime-600: #76db4c;
  --cpd-color-lime-700: #54c424;
  --cpd-color-lime-800: #359d18;
  --cpd-color-lime-900: #197d0c;
  --cpd-color-lime-1000: #006e00;
  --cpd-color-lime-1100: #005f00;
  --cpd-color-lime-1200: #004b00;
  --cpd-color-lime-1300: #003600;
  --cpd-color-lime-1400: #002400;
  --cpd-color-green-100: #f8fdfb;
  --cpd-color-green-200: #f1fbf6;
  --cpd-color-green-300: #e3f7ed;
  --cpd-color-green-400: #c6eedb;
  --cpd-color-green-500: #98e1c1;
  --cpd-color-green-600: #71d7ae;
  --cpd-color-green-700: #0bc491;
  --cpd-color-green-800: #009b78;
  --cpd-color-green-900: #007a61;
  --cpd-color-green-1000: #006b52;
  --cpd-color-green-1100: #005c45;
  --cpd-color-green-1200: #004933;
  --cpd-color-green-1300: #003420;
  --cpd-color-green-1400: #002311;
  --cpd-color-cyan-100: #f8fdfd;
  --cpd-color-cyan-200: #f1fafb;
  --cpd-color-cyan-300: #e3f5f8;
  --cpd-color-cyan-400: #c7ecf0;
  --cpd-color-cyan-500: #9bdde5;
  --cpd-color-cyan-600: #76d1dd;
  --cpd-color-cyan-700: #15becf;
  --cpd-color-cyan-800: #0094c0;
  --cpd-color-cyan-900: #0072ac;
  --cpd-color-cyan-1000: #00629c;
  --cpd-color-cyan-1100: #00548c;
  --cpd-color-cyan-1200: #004077;
  --cpd-color-cyan-1300: #002b61;
  --cpd-color-cyan-1400: #00194f;
  --cpd-color-blue-100: #f9fcff;
  --cpd-color-blue-200: #f4f8ff;
  --cpd-color-blue-300: #e9f2ff;
  --cpd-color-blue-400: #d8e7fe;
  --cpd-color-blue-500: #bad5fc;
  --cpd-color-blue-600: #a3c6fa;
  --cpd-color-blue-700: #7eaff6;
  --cpd-color-blue-800: #4088ee;
  --cpd-color-blue-900: #0467dd;
  --cpd-color-blue-1000: #0558c7;
  --cpd-color-blue-1100: #064ab1;
  --cpd-color-blue-1200: #043894;
  --cpd-color-blue-1300: #012478;
  --cpd-color-blue-1400: #000e65;
  --cpd-color-purple-100: #fbfbff;
  --cpd-color-purple-200: #f8f7ff;
  --cpd-color-purple-300: #f1efff;
  --cpd-color-purple-400: #e6e2ff;
  --cpd-color-purple-500: #d4cdff;
  --cpd-color-purple-600: #c5bbff;
  --cpd-color-purple-700: #b1a0ff;
  --cpd-color-purple-800: #9271fd;
  --cpd-color-purple-900: #7a47f1;
  --cpd-color-purple-1000: #6b37de;
  --cpd-color-purple-1100: #5d26cd;
  --cpd-color-purple-1200: #4c05b5;
  --cpd-color-purple-1300: #33008d;
  --cpd-color-purple-1400: #200066;
  --cpd-color-fuchsia-100: #fefafe;
  --cpd-color-fuchsia-200: #fcf5fd;
  --cpd-color-fuchsia-300: #faeefb;
  --cpd-color-fuchsia-400: #f6dff7;
  --cpd-color-fuchsia-500: #edc6f0;
  --cpd-color-fuchsia-600: #e7b2ea;
  --cpd-color-fuchsia-700: #db93e1;
  --cpd-color-fuchsia-800: #c85ed1;
  --cpd-color-fuchsia-900: #ad33bd;
  --cpd-color-fuchsia-1000: #972aaa;
  --cpd-color-fuchsia-1100: #822198;
  --cpd-color-fuchsia-1200: #671481;
  --cpd-color-fuchsia-1300: #4e0068;
  --cpd-color-fuchsia-1400: #34004c;
  --cpd-color-pink-100: #fffafb;
  --cpd-color-pink-200: #fff5f7;
  --cpd-color-pink-300: #ffecf0;
  --cpd-color-pink-400: #ffdee5;
  --cpd-color-pink-500: #ffc2cf;
  --cpd-color-pink-600: #ffadc0;
  --cpd-color-pink-700: #ff88a6;
  --cpd-color-pink-800: #f7407d;
  --cpd-color-pink-900: #d20c65;
  --cpd-color-pink-1000: #b80a5b;
  --cpd-color-pink-1100: #9f0850;
  --cpd-color-pink-1200: #7e0642;
  --cpd-color-pink-1300: #5f002b;
  --cpd-color-pink-1400: #430017;
  --cpd-color-alpha-gray-100: hsla(210, 48%, 41%, 0.02);
  --cpd-color-alpha-gray-200: hsla(200, 41%, 36%, 0.04);
  --cpd-color-alpha-gray-300: hsla(216, 89%, 18%, 0.06);
  --cpd-color-alpha-gray-400: hsla(213, 90%, 20%, 0.12);
  --cpd-color-alpha-gray-500: hsla(212, 87%, 15%, 0.2);
  --cpd-color-alpha-gray-600: hsla(212, 97%, 12%, 0.26);
  --cpd-color-alpha-gray-700: hsla(215, 96%, 10%, 0.35);
  --cpd-color-alpha-gray-800: hsla(213, 87%, 9%, 0.5);
  --cpd-color-alpha-gray-900: hsla(213, 83%, 7%, 0.61);
  --cpd-color-alpha-gray-1000: hsla(218, 79%, 6%, 0.66);
  --cpd-color-alpha-gray-1100: hsla(215, 74%, 5%, 0.71);
  --cpd-color-alpha-gray-1200: hsla(213, 73%, 3%, 0.77);
  --cpd-color-alpha-gray-1300: hsla(225, 57%, 3%, 0.84);
  --cpd-color-alpha-gray-1400: hsla(223, 64%, 2%, 0.9);
  --cpd-color-alpha-red-100: hsla(10, 100%, 61%, 0.03);
  --cpd-color-alpha-red-200: hsla(7, 100%, 56%, 0.04);
  --cpd-color-alpha-red-300: hsla(9, 100%, 54%, 0.08);
  --cpd-color-alpha-red-400: hsla(8, 100%, 52%, 0.15);
  --cpd-color-alpha-red-500: hsla(8, 100%, 51%, 0.27);
  --cpd-color-alpha-red-600: hsla(7, 100%, 51%, 0.36);
  --cpd-color-alpha-red-700: hsla(5, 100%, 51%, 0.5);
  --cpd-color-alpha-red-800: hsla(0, 100%, 51%, 0.77);
  --cpd-color-alpha-red-900: hsla(355, 98%, 41%, 0.91);
  --cpd-color-alpha-red-1000: hsla(353, 98%, 37%, 0.95);
  --cpd-color-alpha-red-1100: hsla(350, 99%, 32%, 0.99);
  --cpd-color-alpha-red-1200: hsl(357, 100%, 26%, 1);
  --cpd-color-alpha-red-1300: hsl(0, 100%, 19%, 1);
  --cpd-color-alpha-red-1400: hsl(0, 100%, 14%, 1);
  --cpd-color-alpha-orange-100: hsla(22, 100%, 61%, 0.04);
  --cpd-color-alpha-orange-200: hsla(26, 100%, 55%, 0.07);
  --cpd-color-alpha-orange-300: hsla(24, 100%, 52%, 0.11);
  --cpd-color-alpha-orange-400: hsla(25, 100%, 51%, 0.22);
  --cpd-color-alpha-orange-500: hsla(25, 100%, 50%, 0.37);
  --cpd-color-alpha-orange-600: hsla(26, 98%, 50%, 0.52);
  --cpd-color-alpha-orange-700: hsla(27, 100%, 48%, 0.75);
  --cpd-color-alpha-orange-800: hsl(28, 100%, 43%, 1);
  --cpd-color-alpha-orange-900: hsl(22, 100%, 37%, 1);
  --cpd-color-alpha-orange-1000: hsl(18, 100%, 34%, 1);
  --cpd-color-alpha-orange-1100: hsl(13, 100%, 30%, 1);
  --cpd-color-alpha-orange-1200: hsl(0, 100%, 26%, 1);
  --cpd-color-alpha-orange-1300: hsl(0, 100%, 19%, 1);
  --cpd-color-alpha-orange-1400: hsl(0, 100%, 14%, 1);
  --cpd-color-alpha-yellow-100: hsla(48, 100%, 51%, 0.06);
  --cpd-color-alpha-yellow-200: hsla(46, 100%, 53%, 0.13);
  --cpd-color-alpha-yellow-300: hsla(47, 100%, 51%, 0.25);
  --cpd-color-alpha-yellow-400: hsla(47, 100%, 51%, 0.49);
  --cpd-color-alpha-yellow-500: hsl(49, 100%, 49%, 1);
  --cpd-color-alpha-yellow-600: hsl(47, 100%, 47%, 1);
  --cpd-color-alpha-yellow-700: hsl(44, 100%, 44%, 1);
  --cpd-color-alpha-yellow-800: hsl(39, 100%, 37%, 1);
  --cpd-color-alpha-yellow-900: hsl(34, 100%, 31%, 1);
  --cpd-color-alpha-yellow-1000: hsl(32, 100%, 28%, 1);
  --cpd-color-alpha-yellow-1100: hsl(30, 100%, 25%, 1);
  --cpd-color-alpha-yellow-1200: hsl(26, 100%, 21%, 1);
  --cpd-color-alpha-yellow-1300: hsl(19, 100%, 17%, 1);
  --cpd-color-alpha-yellow-1400: hsl(6, 100%, 13%, 1);
  --cpd-color-alpha-lime-100: hsla(103, 75%, 46%, 0.04);
  --cpd-color-alpha-lime-200: hsla(107, 89%, 44%, 0.07);
  --cpd-color-alpha-lime-300: hsla(107, 98%, 41%, 0.15);
  --cpd-color-alpha-lime-400: hsla(105, 92%, 42%, 0.28);
  --cpd-color-alpha-lime-500: hsla(104, 98%, 40%, 0.51);
  --cpd-color-alpha-lime-600: hsla(102, 97%, 41%, 0.71);
  --cpd-color-alpha-lime-700: hsla(102, 100%, 37%, 0.86);
  --cpd-color-alpha-lime-800: hsla(107, 99%, 29%, 0.91);
  --cpd-color-alpha-lime-900: hsla(113, 97%, 24%, 0.96);
  --cpd-color-alpha-lime-1000: hsl(120, 100%, 22%, 1);
  --cpd-color-alpha-lime-1100: hsl(120, 100%, 19%, 1);
  --cpd-color-alpha-lime-1200: hsl(120, 100%, 15%, 1);
  --cpd-color-alpha-lime-1300: hsl(120, 100%, 11%, 1);
  --cpd-color-alpha-lime-1400: hsl(120, 100%, 7%, 1);
  --cpd-color-alpha-green-100: hsla(156, 79%, 41%, 0.03);
  --cpd-color-alpha-green-200: hsla(150, 79%, 41%, 0.06);
  --cpd-color-alpha-green-300: hsla(150, 100%, 36%, 0.11);
  --cpd-color-alpha-green-400: hsla(151, 93%, 37%, 0.23);
  --cpd-color-alpha-green-500: hsla(154, 96%, 37%, 0.41);
  --cpd-color-alpha-green-600: hsla(156, 99%, 36%, 0.56);
  --cpd-color-alpha-green-700: hsla(163, 99%, 38%, 0.96);
  --cpd-color-alpha-green-800: hsl(166, 100%, 30%, 1);
  --cpd-color-alpha-green-900: hsl(168, 100%, 24%, 1);
  --cpd-color-alpha-green-1000: hsl(166, 100%, 21%, 1);
  --cpd-color-alpha-green-1100: hsl(165, 100%, 18%, 1);
  --cpd-color-alpha-green-1200: hsl(162, 100%, 14%, 1);
  --cpd-color-alpha-green-1300: hsl(157, 100%, 10%, 1);
  --cpd-color-alpha-green-1400: hsl(149, 100%, 7%, 1);
  --cpd-color-alpha-cyan-100: hsla(180, 79%, 41%, 0.03);
  --cpd-color-alpha-cyan-200: hsla(186, 79%, 41%, 0.06);
  --cpd-color-alpha-cyan-300: hsla(188, 100%, 38%, 0.11);
  --cpd-color-alpha-cyan-400: hsla(186, 100%, 37%, 0.22);
  --cpd-color-alpha-cyan-500: hsla(186, 95%, 38%, 0.4);
  --cpd-color-alpha-cyan-600: hsla(187, 99%, 38%, 0.54);
  --cpd-color-alpha-cyan-700: hsla(186, 99%, 40%, 0.92);
  --cpd-color-alpha-cyan-800: hsl(194, 100%, 38%, 1);
  --cpd-color-alpha-cyan-900: hsl(200, 100%, 34%, 1);
  --cpd-color-alpha-cyan-1000: hsl(202, 100%, 31%, 1);
  --cpd-color-alpha-cyan-1100: hsl(204, 100%, 28%, 1);
  --cpd-color-alpha-cyan-1200: hsl(208, 100%, 23%, 1);
  --cpd-color-alpha-cyan-1300: hsl(213, 100%, 19%, 1);
  --cpd-color-alpha-cyan-1400: hsl(221, 100%, 16%, 1);
  --cpd-color-alpha-blue-100: hsla(210, 100%, 61%, 0.03);
  --cpd-color-alpha-blue-200: hsla(218, 100%, 57%, 0.05);
  --cpd-color-alpha-blue-300: hsla(215, 100%, 52%, 0.09);
  --cpd-color-alpha-blue-400: hsla(216, 95%, 51%, 0.16);
  --cpd-color-alpha-blue-500: hsla(215, 93%, 50%, 0.28);
  --cpd-color-alpha-blue-600: hsla(216, 95%, 48%, 0.37);
  --cpd-color-alpha-blue-700: hsla(215, 98%, 47%, 0.51);
  --cpd-color-alpha-blue-800: hsla(215, 100%, 46%, 0.75);
  --cpd-color-alpha-blue-900: hsla(213, 99%, 44%, 0.99);
  --cpd-color-alpha-blue-1000: hsla(214, 98%, 39%, 0.99);
  --cpd-color-alpha-blue-1100: hsla(216, 99%, 35%, 0.98);
  --cpd-color-alpha-blue-1200: hsla(218, 99%, 29%, 0.99);
  --cpd-color-alpha-blue-1300: hsl(222, 98%, 24%, 1);
  --cpd-color-alpha-blue-1400: hsl(232, 100%, 20%, 1);
  --cpd-color-alpha-purple-100: hsla(240, 100%, 61%, 0.02);
  --cpd-color-alpha-purple-200: hsla(248, 100%, 61%, 0.04);
  --cpd-color-alpha-purple-300: hsla(248, 100%, 55%, 0.07);
  --cpd-color-alpha-purple-400: hsla(248, 100%, 53%, 0.12);
  --cpd-color-alpha-purple-500: hsla(248, 100%, 51%, 0.2);
  --cpd-color-alpha-purple-600: hsla(249, 100%, 51%, 0.27);
  --cpd-color-alpha-purple-700: hsla(251, 100%, 51%, 0.38);
  --cpd-color-alpha-purple-800: hsla(254, 99%, 49%, 0.56);
  --cpd-color-alpha-purple-900: hsla(258, 98%, 47%, 0.73);
  --cpd-color-alpha-purple-1000: hsla(259, 98%, 42%, 0.79);
  --cpd-color-alpha-purple-1100: hsla(260, 97%, 39%, 0.86);
  --cpd-color-alpha-purple-1200: hsla(264, 98%, 36%, 0.99);
  --cpd-color-alpha-purple-1300: hsl(262, 100%, 28%, 1);
  --cpd-color-alpha-purple-1400: hsl(259, 100%, 20%, 1);
  --cpd-color-alpha-fuchsia-100: hsla(300, 95%, 41%, 0.02);
  --cpd-color-alpha-fuchsia-200: hsla(293, 95%, 41%, 0.04);
  --cpd-color-alpha-fuchsia-300: hsla(295, 89%, 41%, 0.07);
  --cpd-color-alpha-fuchsia-400: hsla(298, 91%, 40%, 0.13);
  --cpd-color-alpha-fuchsia-500: hsla(296, 93%, 39%, 0.23);
  --cpd-color-alpha-fuchsia-600: hsla(297, 93%, 38%, 0.31);
  --cpd-color-alpha-fuchsia-700: hsla(295, 96%, 37%, 0.43);
  --cpd-color-alpha-fuchsia-800: hsla(295, 97%, 37%, 0.64);
  --cpd-color-alpha-fuchsia-900: hsla(293, 100%, 34%, 0.8);
  --cpd-color-alpha-fuchsia-1000: hsla(291, 99%, 30%, 0.84);
  --cpd-color-alpha-fuchsia-1100: hsla(289, 96%, 28%, 0.88);
  --cpd-color-alpha-fuchsia-1200: hsla(286, 97%, 24%, 0.93);
  --cpd-color-alpha-fuchsia-1300: hsl(285, 100%, 20%, 1);
  --cpd-color-alpha-fuchsia-1400: hsl(281, 100%, 15%, 1);
  --cpd-color-alpha-pink-100: hsla(348, 100%, 51%, 0.02);
  --cpd-color-alpha-pink-200: hsla(348, 100%, 51%, 0.04);
  --cpd-color-alpha-pink-300: hsla(347, 100%, 54%, 0.08);
  --cpd-color-alpha-pink-400: hsla(347, 100%, 50%, 0.13);
  --cpd-color-alpha-pink-500: hsla(347, 100%, 50%, 0.24);
  --cpd-color-alpha-pink-600: hsla(346, 100%, 51%, 0.33);
  --cpd-color-alpha-pink-700: hsla(345, 100%, 50%, 0.47);
  --cpd-color-alpha-pink-800: hsla(340, 100%, 48%, 0.75);
  --cpd-color-alpha-pink-900: hsla(333, 98%, 41%, 0.96);
  --cpd-color-alpha-pink-1000: hsla(332, 98%, 36%, 0.97);
  --cpd-color-alpha-pink-1100: hsla(331, 100%, 31%, 0.97);
  --cpd-color-alpha-pink-1200: hsla(330, 98%, 24%, 0.98);
  --cpd-color-alpha-pink-1300: hsl(333, 100%, 19%, 1);
  --cpd-color-alpha-pink-1400: hsl(339, 100%, 13%, 1);
}
        }
    }
}

@layer compound {

    @media screen {

        @layer cpd-semantic {
.cpd-theme-light.cpd-theme-light {
  --cpd-color-bg-canvas-default-level-1: var(--cpd-color-theme-bg);
  --cpd-color-bg-subtle-secondary-level-0: var(--cpd-color-gray-300);
}
        }
    }
}

@layer compound {

    @media screen and (prefers-color-scheme: light) {

        @layer cpd-semantic {
:root {
  --cpd-color-bg-canvas-default-level-1: var(--cpd-color-theme-bg);
  --cpd-color-bg-subtle-secondary-level-0: var(--cpd-color-gray-300);
}
        }
    }
}

@layer compound {

    @media screen {

        @layer cpd-base {
.cpd-theme-light-hc.cpd-theme-light-hc {
  --cpd-color-theme-bg: #ffffff;
  --cpd-color-gray-100: #f7f9fa;
  --cpd-color-gray-200: #f0f2f5;
  --cpd-color-gray-300: #e1e6ec;
  --cpd-color-gray-400: #d7dce3;
  --cpd-color-gray-500: #bdc4cc;
  --cpd-color-gray-600: #a6adb7;
  --cpd-color-gray-700: #878f9b;
  --cpd-color-gray-800: #6c737e;
  --cpd-color-gray-900: #474a51;
  --cpd-color-gray-1000: #3f4248;
  --cpd-color-gray-1100: #35383d;
  --cpd-color-gray-1200: #2d3034;
  --cpd-color-gray-1300: #1f2126;
  --cpd-color-gray-1400: #1a1c21;
  --cpd-color-red-100: #fff7f6;
  --cpd-color-red-200: #ffefec;
  --cpd-color-red-300: #ffdfda;
  --cpd-color-red-400: #ffd1ca;
  --cpd-color-red-500: #ffafa5;
  --cpd-color-red-600: #ff8c81;
  --cpd-color-red-700: #ff4e49;
  --cpd-color-red-800: #e11e2a;
  --cpd-color-red-900: #99001a;
  --cpd-color-red-1000: #8b000c;
  --cpd-color-red-1100: #770000;
  --cpd-color-red-1200: #670000;
  --cpd-color-red-1300: #4c0000;
  --cpd-color-red-1400: #420000;
  --cpd-color-orange-100: #fff6ef;
  --cpd-color-orange-200: #ffefe4;
  --cpd-color-orange-300: #ffdfc8;
  --cpd-color-orange-400: #ffd4b5;
  --cpd-color-orange-500: #fdb37c;
  --cpd-color-orange-600: #f89440;
  --cpd-color-orange-700: #e26e00;
  --cpd-color-orange-800: #c44d00;
  --cpd-color-orange-900: #931700;
  --cpd-color-orange-1000: #890800;
  --cpd-color-orange-1100: #770000;
  --cpd-color-orange-1200: #670000;
  --cpd-color-orange-1300: #4c0000;
  --cpd-color-orange-1400: #420000;
  --cpd-color-yellow-100: #fff8e0;
  --cpd-color-yellow-200: #fff2c1;
  --cpd-color-yellow-300: #ffe484;
  --cpd-color-yellow-400: #ffda49;
  --cpd-color-yellow-500: #f1bd00;
  --cpd-color-yellow-600: #dea200;
  --cpd-color-yellow-700: #c38100;
  --cpd-color-yellow-800: #a76300;
  --cpd-color-yellow-900: #773800;
  --cpd-color-yellow-1000: #6e3100;
  --cpd-color-yellow-1100: #612600;
  --cpd-color-yellow-1200: #571d00;
  --cpd-color-yellow-1300: #450c00;
  --cpd-color-yellow-1400: #3f0500;
  --cpd-color-lime-100: #f1fcee;
  --cpd-color-lime-200: #e0f8d9;
  --cpd-color-lime-300: #c8f1ba;
  --cpd-color-lime-400: #afeb9b;
  --cpd-color-lime-500: #76db4c;
  --cpd-color-lime-600: #54c424;
  --cpd-color-lime-700: #3aa31a;
  --cpd-color-lime-800: #1f850f;
  --cpd-color-lime-900: #005700;
  --cpd-color-lime-1000: #004f00;
  --cpd-color-lime-1100: #004200;
  --cpd-color-lime-1200: #003900;
  --cpd-color-lime-1300: #002900;
  --cpd-color-lime-1400: #002200;
  --cpd-color-green-100: #f1fbf6;
  --cpd-color-green-200: #e3f7ed;
  --cpd-color-green-300: #c6eedb;
  --cpd-color-green-400: #afe8ce;
  --cpd-color-green-500: #71d7ae;
  --cpd-color-green-600: #0bc491;
  --cpd-color-green-700: #00a27c;
  --cpd-color-green-800: #008268;
  --cpd-color-green-900: #00553d;
  --cpd-color-green-1000: #004d36;
  --cpd-color-green-1100: #00402b;
  --cpd-color-green-1200: #003723;
  --cpd-color-green-1300: #002715;
  --cpd-color-green-1400: #00210f;
  --cpd-color-cyan-100: #f1fafb;
  --cpd-color-cyan-200: #e3f5f8;
  --cpd-color-cyan-300: #c7ecf0;
  --cpd-color-cyan-400: #b1e4eb;
  --cpd-color-cyan-500: #76d1dd;
  --cpd-color-cyan-600: #15becf;
  --cpd-color-cyan-700: #009ac3;
  --cpd-color-cyan-800: #007ab3;
  --cpd-color-cyan-900: #004c84;
  --cpd-color-cyan-1000: #00447b;
  --cpd-color-cyan-1100: #00376e;
  --cpd-color-cyan-1200: #002e64;
  --cpd-color-cyan-1300: #001e53;
  --cpd-color-cyan-1400: #00174d;
  --cpd-color-blue-100: #f4f8ff;
  --cpd-color-blue-200: #e9f2ff;
  --cpd-color-blue-300: #d8e7fe;
  --cpd-color-blue-400: #c8ddfd;
  --cpd-color-blue-500: #a3c6fa;
  --cpd-color-blue-600: #7eaff6;
  --cpd-color-blue-700: #4a8ef0;
  --cpd-color-blue-800: #046ee8;
  --cpd-color-blue-900: #0543a7;
  --cpd-color-blue-1000: #053b9a;
  --cpd-color-blue-1100: #043088;
  --cpd-color-blue-1200: #03277b;
  --cpd-color-blue-1300: #001569;
  --cpd-color-blue-1400: #000c63;
  --cpd-color-purple-100: #f8f7ff;
  --cpd-color-purple-200: #f1efff;
  --cpd-color-purple-300: #e6e2ff;
  --cpd-color-purple-400: #ddd8ff;
  --cpd-color-purple-500: #c5bbff;
  --cpd-color-purple-600: #b1a0ff;
  --cpd-color-purple-700: #9778fe;
  --cpd-color-purple-800: #824ef9;
  --cpd-color-purple-900: #571cc4;
  --cpd-color-purple-1000: #4f0dba;
  --cpd-color-purple-1100: #4200a6;
  --cpd-color-purple-1200: #360094;
  --cpd-color-purple-1300: #240070;
  --cpd-color-purple-1400: #1f0062;
  --cpd-color-fuchsia-100: #fcf5fd;
  --cpd-color-fuchsia-200: #faeefb;
  --cpd-color-fuchsia-300: #f6dff7;
  --cpd-color-fuchsia-400: #f1d2f3;
  --cpd-color-fuchsia-500: #e7b2ea;
  --cpd-color-fuchsia-600: #db93e1;
  --cpd-color-fuchsia-700: #cb68d4;
  --cpd-color-fuchsia-800: #b937c6;
  --cpd-color-fuchsia-900: #781c90;
  --cpd-color-fuchsia-1000: #6c1785;
  --cpd-color-fuchsia-1100: #5c0f76;
  --cpd-color-fuchsia-1200: #52026c;
  --cpd-color-fuchsia-1300: #3b0053;
  --cpd-color-fuchsia-1400: #32004a;
  --cpd-color-pink-100: #fff5f7;
  --cpd-color-pink-200: #ffecf0;
  --cpd-color-pink-300: #ffdee5;
  --cpd-color-pink-400: #ffd0da;
  --cpd-color-pink-500: #ffadc0;
  --cpd-color-pink-600: #ff88a6;
  --cpd-color-pink-700: #f94e84;
  --cpd-color-pink-800: #e00c6a;
  --cpd-color-pink-900: #92084b;
  --cpd-color-pink-1000: #840745;
  --cpd-color-pink-1100: #72003a;
  --cpd-color-pink-1200: #64002f;
  --cpd-color-pink-1300: #4a001c;
  --cpd-color-pink-1400: #410015;
  --cpd-color-alpha-gray-100: hsla(200, 41%, 36%, 0.04);
  --cpd-color-alpha-gray-200: hsla(216, 89%, 18%, 0.06);
  --cpd-color-alpha-gray-300: hsla(213, 90%, 20%, 0.12);
  --cpd-color-alpha-gray-400: hsla(215, 88%, 17%, 0.16);
  --cpd-color-alpha-gray-500: hsla(212, 97%, 12%, 0.26);
  --cpd-color-alpha-gray-600: hsla(215, 96%, 10%, 0.35);
  --cpd-color-alpha-gray-700: hsla(216, 81%, 10%, 0.48);
  --cpd-color-alpha-gray-800: hsla(217, 89%, 7%, 0.58);
  --cpd-color-alpha-gray-900: hsla(223, 70%, 4%, 0.73);
  --cpd-color-alpha-gray-1000: hsla(220, 75%, 3%, 0.76);
  --cpd-color-alpha-gray-1100: hsla(222, 63%, 3%, 0.8);
  --cpd-color-alpha-gray-1200: hsla(210, 67%, 2%, 0.83);
  --cpd-color-alpha-gray-1300: hsla(218, 100%, 2%, 0.88);
  --cpd-color-alpha-gray-1400: hsla(223, 78%, 2%, 0.9);
  --cpd-color-alpha-red-100: hsla(7, 100%, 56%, 0.04);
  --cpd-color-alpha-red-200: hsla(9, 100%, 54%, 0.08);
  --cpd-color-alpha-red-300: hsla(8, 100%, 52%, 0.15);
  --cpd-color-alpha-red-400: hsla(8, 100%, 51%, 0.21);
  --cpd-color-alpha-red-500: hsla(7, 100%, 51%, 0.36);
  --cpd-color-alpha-red-600: hsla(5, 100%, 51%, 0.5);
  --cpd-color-alpha-red-700: hsla(2, 100%, 50%, 0.72);
  --cpd-color-alpha-red-800: hsla(356, 98%, 44%, 0.89);
  --cpd-color-alpha-red-900: hsl(350, 100%, 30%, 1);
  --cpd-color-alpha-red-1000: hsl(355, 100%, 27%, 1);
  --cpd-color-alpha-red-1100: hsl(0, 100%, 23%, 1);
  --cpd-color-alpha-red-1200: hsl(0, 100%, 20%, 1);
  --cpd-color-alpha-red-1300: hsl(0, 100%, 15%, 1);
  --cpd-color-alpha-red-1400: hsl(0, 100%, 13%, 1);
  --cpd-color-alpha-orange-100: hsla(26, 100%, 55%, 0.07);
  --cpd-color-alpha-orange-200: hsla(24, 100%, 52%, 0.11);
  --cpd-color-alpha-orange-300: hsla(25, 100%, 51%, 0.22);
  --cpd-color-alpha-orange-400: hsla(25, 100%, 52%, 0.3);
  --cpd-color-alpha-orange-500: hsla(26, 98%, 50%, 0.52);
  --cpd-color-alpha-orange-600: hsla(27, 100%, 48%, 0.75);
  --cpd-color-alpha-orange-700: hsl(29, 100%, 44%, 1);
  --cpd-color-alpha-orange-800: hsl(24, 100%, 38%, 1);
  --cpd-color-alpha-orange-900: hsl(9, 100%, 29%, 1);
  --cpd-color-alpha-orange-1000: hsl(4, 100%, 27%, 1);
  --cpd-color-alpha-orange-1100: hsl(0, 100%, 23%, 1);
  --cpd-color-alpha-orange-1200: hsl(0, 100%, 20%, 1);
  --cpd-color-alpha-orange-1300: hsl(0, 100%, 15%, 1);
  --cpd-color-alpha-orange-1400: hsl(0, 100%, 13%, 1);
  --cpd-color-alpha-yellow-100: hsla(46, 100%, 53%, 0.13);
  --cpd-color-alpha-yellow-200: hsla(47, 100%, 51%, 0.25);
  --cpd-color-alpha-yellow-300: hsla(47, 100%, 51%, 0.49);
  --cpd-color-alpha-yellow-400: hsla(48, 100%, 50%, 0.72);
  --cpd-color-alpha-yellow-500: hsl(47, 100%, 47%, 1);
  --cpd-color-alpha-yellow-600: hsl(44, 100%, 44%, 1);
  --cpd-color-alpha-yellow-700: hsl(40, 100%, 38%, 1);
  --cpd-color-alpha-yellow-800: hsl(36, 100%, 33%, 1);
  --cpd-color-alpha-yellow-900: hsl(28, 100%, 23%, 1);
  --cpd-color-alpha-yellow-1000: hsl(27, 100%, 22%, 1);
  --cpd-color-alpha-yellow-1100: hsl(24, 100%, 19%, 1);
  --cpd-color-alpha-yellow-1200: hsl(20, 100%, 17%, 1);
  --cpd-color-alpha-yellow-1300: hsl(10, 100%, 14%, 1);
  --cpd-color-alpha-yellow-1400: hsl(5, 100%, 12%, 1);
  --cpd-color-alpha-lime-100: hsla(107, 89%, 44%, 0.07);
  --cpd-color-alpha-lime-200: hsla(107, 98%, 41%, 0.15);
  --cpd-color-alpha-lime-300: hsla(105, 92%, 42%, 0.28);
  --cpd-color-alpha-lime-400: hsla(105, 95%, 41%, 0.4);
  --cpd-color-alpha-lime-500: hsla(102, 97%, 41%, 0.71);
  --cpd-color-alpha-lime-600: hsla(102, 100%, 37%, 0.86);
  --cpd-color-alpha-lime-700: hsla(106, 99%, 30%, 0.9);
  --cpd-color-alpha-lime-800: hsla(112, 97%, 25%, 0.95);
  --cpd-color-alpha-lime-900: hsl(120, 100%, 17%, 1);
  --cpd-color-alpha-lime-1000: hsl(120, 100%, 16%, 1);
  --cpd-color-alpha-lime-1100: hsl(120, 100%, 13%, 1);
  --cpd-color-alpha-lime-1200: hsl(120, 100%, 11%, 1);
  --cpd-color-alpha-lime-1300: hsl(120, 100%, 8%, 1);
  --cpd-color-alpha-lime-1400: hsl(120, 100%, 7%, 1);
  --cpd-color-alpha-green-100: hsla(150, 79%, 41%, 0.06);
  --cpd-color-alpha-green-200: hsla(150, 100%, 36%, 0.11);
  --cpd-color-alpha-green-300: hsla(151, 93%, 37%, 0.23);
  --cpd-color-alpha-green-400: hsla(153, 95%, 37%, 0.32);
  --cpd-color-alpha-green-500: hsla(156, 99%, 36%, 0.56);
  --cpd-color-alpha-green-600: hsla(163, 99%, 38%, 0.96);
  --cpd-color-alpha-green-700: hsl(166, 100%, 32%, 1);
  --cpd-color-alpha-green-800: hsl(168, 100%, 26%, 1);
  --cpd-color-alpha-green-900: hsl(163, 100%, 17%, 1);
  --cpd-color-alpha-green-1000: hsl(162, 100%, 15%, 1);
  --cpd-color-alpha-green-1100: hsl(160, 100%, 13%, 1);
  --cpd-color-alpha-green-1200: hsl(158, 100%, 11%, 1);
  --cpd-color-alpha-green-1300: hsl(152, 100%, 8%, 1);
  --cpd-color-alpha-green-1400: hsl(147, 100%, 7%, 1);
  --cpd-color-alpha-cyan-100: hsla(186, 79%, 41%, 0.06);
  --cpd-color-alpha-cyan-200: hsla(188, 100%, 38%, 0.11);
  --cpd-color-alpha-cyan-300: hsla(186, 100%, 37%, 0.22);
  --cpd-color-alpha-cyan-400: hsla(187, 97%, 38%, 0.31);
  --cpd-color-alpha-cyan-500: hsla(187, 99%, 38%, 0.54);
  --cpd-color-alpha-cyan-600: hsla(186, 99%, 40%, 0.92);
  --cpd-color-alpha-cyan-700: hsl(193, 100%, 38%, 1);
  --cpd-color-alpha-cyan-800: hsl(199, 100%, 35%, 1);
  --cpd-color-alpha-cyan-900: hsl(205, 100%, 26%, 1);
  --cpd-color-alpha-cyan-1000: hsl(207, 100%, 24%, 1);
  --cpd-color-alpha-cyan-1100: hsl(210, 100%, 22%, 1);
  --cpd-color-alpha-cyan-1200: hsl(212, 100%, 20%, 1);
  --cpd-color-alpha-cyan-1300: hsl(218, 100%, 16%, 1);
  --cpd-color-alpha-cyan-1400: hsl(222, 100%, 15%, 1);
  --cpd-color-alpha-blue-100: hsla(218, 100%, 57%, 0.05);
  --cpd-color-alpha-blue-200: hsla(215, 100%, 52%, 0.09);
  --cpd-color-alpha-blue-300: hsla(216, 95%, 51%, 0.16);
  --cpd-color-alpha-blue-400: hsla(216, 96%, 49%, 0.22);
  --cpd-color-alpha-blue-500: hsla(216, 95%, 48%, 0.37);
  --cpd-color-alpha-blue-600: hsla(215, 98%, 47%, 0.51);
  --cpd-color-alpha-blue-700: hsla(215, 100%, 46%, 0.71);
  --cpd-color-alpha-blue-800: hsla(212, 99%, 46%, 0.99);
  --cpd-color-alpha-blue-900: hsla(217, 98%, 33%, 0.99);
  --cpd-color-alpha-blue-1000: hsla(218, 97%, 30%, 0.99);
  --cpd-color-alpha-blue-1100: hsla(220, 99%, 27%, 0.99);
  --cpd-color-alpha-blue-1200: hsla(222, 100%, 24%, 0.99);
  --cpd-color-alpha-blue-1300: hsl(228, 100%, 21%, 1);
  --cpd-color-alpha-blue-1400: hsl(233, 100%, 19%, 1);
  --cpd-color-alpha-purple-100: hsla(248, 100%, 61%, 0.04);
  --cpd-color-alpha-purple-200: hsla(248, 100%, 55%, 0.07);
  --cpd-color-alpha-purple-300: hsla(248, 100%, 53%, 0.12);
  --cpd-color-alpha-purple-400: hsla(248, 100%, 52%, 0.16);
  --cpd-color-alpha-purple-500: hsla(249, 100%, 51%, 0.27);
  --cpd-color-alpha-purple-600: hsla(251, 100%, 51%, 0.38);
  --cpd-color-alpha-purple-700: hsla(254, 100%, 50%, 0.53);
  --cpd-color-alpha-purple-800: hsla(258, 98%, 49%, 0.7);
  --cpd-color-alpha-purple-900: hsla(261, 97%, 38%, 0.9);
  --cpd-color-alpha-purple-1000: hsla(263, 100%, 36%, 0.95);
  --cpd-color-alpha-purple-1100: hsl(264, 100%, 33%, 1);
  --cpd-color-alpha-purple-1200: hsl(262, 100%, 29%, 1);
  --cpd-color-alpha-purple-1300: hsl(259, 100%, 22%, 1);
  --cpd-color-alpha-purple-1400: hsl(259, 100%, 19%, 1);
  --cpd-color-alpha-fuchsia-100: hsla(293, 95%, 41%, 0.04);
  --cpd-color-alpha-fuchsia-200: hsla(295, 89%, 41%, 0.07);
  --cpd-color-alpha-fuchsia-300: hsla(298, 91%, 40%, 0.13);
  --cpd-color-alpha-fuchsia-400: hsla(296, 95%, 38%, 0.18);
  --cpd-color-alpha-fuchsia-500: hsla(297, 93%, 38%, 0.31);
  --cpd-color-alpha-fuchsia-600: hsla(295, 96%, 37%, 0.43);
  --cpd-color-alpha-fuchsia-700: hsla(295, 97%, 37%, 0.6);
  --cpd-color-alpha-fuchsia-800: hsla(294, 98%, 36%, 0.79);
  --cpd-color-alpha-fuchsia-900: hsla(287, 96%, 27%, 0.9);
  --cpd-color-alpha-fuchsia-1000: hsla(286, 100%, 24%, 0.91);
  --cpd-color-alpha-fuchsia-1100: hsla(285, 97%, 22%, 0.95);
  --cpd-color-alpha-fuchsia-1200: hsl(285, 96%, 22%, 1);
  --cpd-color-alpha-fuchsia-1300: hsl(283, 100%, 16%, 1);
  --cpd-color-alpha-fuchsia-1400: hsl(281, 100%, 15%, 1);
  --cpd-color-alpha-pink-100: hsla(348, 100%, 51%, 0.04);
  --cpd-color-alpha-pink-200: hsla(347, 100%, 54%, 0.08);
  --cpd-color-alpha-pink-300: hsla(347, 100%, 50%, 0.13);
  --cpd-color-alpha-pink-400: hsla(347, 100%, 52%, 0.19);
  --cpd-color-alpha-pink-500: hsla(346, 100%, 51%, 0.33);
  --cpd-color-alpha-pink-600: hsla(345, 100%, 50%, 0.47);
  --cpd-color-alpha-pink-700: hsla(341, 98%, 49%, 0.7);
  --cpd-color-alpha-pink-800: hsla(333, 98%, 44%, 0.96);
  --cpd-color-alpha-pink-900: hsla(331, 100%, 28%, 0.97);
  --cpd-color-alpha-pink-1000: hsla(330, 97%, 26%, 0.98);
  --cpd-color-alpha-pink-1100: hsl(329, 100%, 22%, 1);
  --cpd-color-alpha-pink-1200: hsl(332, 100%, 20%, 1);
  --cpd-color-alpha-pink-1300: hsl(337, 100%, 15%, 1);
  --cpd-color-alpha-pink-1400: hsl(341, 100%, 13%, 1);
}
        }
    }
}

@layer compound {

    @media screen and (prefers-color-scheme: light) and (prefers-contrast: more) {

        @layer cpd-base {
:root {
  --cpd-color-theme-bg: #ffffff;
  --cpd-color-gray-100: #f7f9fa;
  --cpd-color-gray-200: #f0f2f5;
  --cpd-color-gray-300: #e1e6ec;
  --cpd-color-gray-400: #d7dce3;
  --cpd-color-gray-500: #bdc4cc;
  --cpd-color-gray-600: #a6adb7;
  --cpd-color-gray-700: #878f9b;
  --cpd-color-gray-800: #6c737e;
  --cpd-color-gray-900: #474a51;
  --cpd-color-gray-1000: #3f4248;
  --cpd-color-gray-1100: #35383d;
  --cpd-color-gray-1200: #2d3034;
  --cpd-color-gray-1300: #1f2126;
  --cpd-color-gray-1400: #1a1c21;
  --cpd-color-red-100: #fff7f6;
  --cpd-color-red-200: #ffefec;
  --cpd-color-red-300: #ffdfda;
  --cpd-color-red-400: #ffd1ca;
  --cpd-color-red-500: #ffafa5;
  --cpd-color-red-600: #ff8c81;
  --cpd-color-red-700: #ff4e49;
  --cpd-color-red-800: #e11e2a;
  --cpd-color-red-900: #99001a;
  --cpd-color-red-1000: #8b000c;
  --cpd-color-red-1100: #770000;
  --cpd-color-red-1200: #670000;
  --cpd-color-red-1300: #4c0000;
  --cpd-color-red-1400: #420000;
  --cpd-color-orange-100: #fff6ef;
  --cpd-color-orange-200: #ffefe4;
  --cpd-color-orange-300: #ffdfc8;
  --cpd-color-orange-400: #ffd4b5;
  --cpd-color-orange-500: #fdb37c;
  --cpd-color-orange-600: #f89440;
  --cpd-color-orange-700: #e26e00;
  --cpd-color-orange-800: #c44d00;
  --cpd-color-orange-900: #931700;
  --cpd-color-orange-1000: #890800;
  --cpd-color-orange-1100: #770000;
  --cpd-color-orange-1200: #670000;
  --cpd-color-orange-1300: #4c0000;
  --cpd-color-orange-1400: #420000;
  --cpd-color-yellow-100: #fff8e0;
  --cpd-color-yellow-200: #fff2c1;
  --cpd-color-yellow-300: #ffe484;
  --cpd-color-yellow-400: #ffda49;
  --cpd-color-yellow-500: #f1bd00;
  --cpd-color-yellow-600: #dea200;
  --cpd-color-yellow-700: #c38100;
  --cpd-color-yellow-800: #a76300;
  --cpd-color-yellow-900: #773800;
  --cpd-color-yellow-1000: #6e3100;
  --cpd-color-yellow-1100: #612600;
  --cpd-color-yellow-1200: #571d00;
  --cpd-color-yellow-1300: #450c00;
  --cpd-color-yellow-1400: #3f0500;
  --cpd-color-lime-100: #f1fcee;
  --cpd-color-lime-200: #e0f8d9;
  --cpd-color-lime-300: #c8f1ba;
  --cpd-color-lime-400: #afeb9b;
  --cpd-color-lime-500: #76db4c;
  --cpd-color-lime-600: #54c424;
  --cpd-color-lime-700: #3aa31a;
  --cpd-color-lime-800: #1f850f;
  --cpd-color-lime-900: #005700;
  --cpd-color-lime-1000: #004f00;
  --cpd-color-lime-1100: #004200;
  --cpd-color-lime-1200: #003900;
  --cpd-color-lime-1300: #002900;
  --cpd-color-lime-1400: #002200;
  --cpd-color-green-100: #f1fbf6;
  --cpd-color-green-200: #e3f7ed;
  --cpd-color-green-300: #c6eedb;
  --cpd-color-green-400: #afe8ce;
  --cpd-color-green-500: #71d7ae;
  --cpd-color-green-600: #0bc491;
  --cpd-color-green-700: #00a27c;
  --cpd-color-green-800: #008268;
  --cpd-color-green-900: #00553d;
  --cpd-color-green-1000: #004d36;
  --cpd-color-green-1100: #00402b;
  --cpd-color-green-1200: #003723;
  --cpd-color-green-1300: #002715;
  --cpd-color-green-1400: #00210f;
  --cpd-color-cyan-100: #f1fafb;
  --cpd-color-cyan-200: #e3f5f8;
  --cpd-color-cyan-300: #c7ecf0;
  --cpd-color-cyan-400: #b1e4eb;
  --cpd-color-cyan-500: #76d1dd;
  --cpd-color-cyan-600: #15becf;
  --cpd-color-cyan-700: #009ac3;
  --cpd-color-cyan-800: #007ab3;
  --cpd-color-cyan-900: #004c84;
  --cpd-color-cyan-1000: #00447b;
  --cpd-color-cyan-1100: #00376e;
  --cpd-color-cyan-1200: #002e64;
  --cpd-color-cyan-1300: #001e53;
  --cpd-color-cyan-1400: #00174d;
  --cpd-color-blue-100: #f4f8ff;
  --cpd-color-blue-200: #e9f2ff;
  --cpd-color-blue-300: #d8e7fe;
  --cpd-color-blue-400: #c8ddfd;
  --cpd-color-blue-500: #a3c6fa;
  --cpd-color-blue-600: #7eaff6;
  --cpd-color-blue-700: #4a8ef0;
  --cpd-color-blue-800: #046ee8;
  --cpd-color-blue-900: #0543a7;
  --cpd-color-blue-1000: #053b9a;
  --cpd-color-blue-1100: #043088;
  --cpd-color-blue-1200: #03277b;
  --cpd-color-blue-1300: #001569;
  --cpd-color-blue-1400: #000c63;
  --cpd-color-purple-100: #f8f7ff;
  --cpd-color-purple-200: #f1efff;
  --cpd-color-purple-300: #e6e2ff;
  --cpd-color-purple-400: #ddd8ff;
  --cpd-color-purple-500: #c5bbff;
  --cpd-color-purple-600: #b1a0ff;
  --cpd-color-purple-700: #9778fe;
  --cpd-color-purple-800: #824ef9;
  --cpd-color-purple-900: #571cc4;
  --cpd-color-purple-1000: #4f0dba;
  --cpd-color-purple-1100: #4200a6;
  --cpd-color-purple-1200: #360094;
  --cpd-color-purple-1300: #240070;
  --cpd-color-purple-1400: #1f0062;
  --cpd-color-fuchsia-100: #fcf5fd;
  --cpd-color-fuchsia-200: #faeefb;
  --cpd-color-fuchsia-300: #f6dff7;
  --cpd-color-fuchsia-400: #f1d2f3;
  --cpd-color-fuchsia-500: #e7b2ea;
  --cpd-color-fuchsia-600: #db93e1;
  --cpd-color-fuchsia-700: #cb68d4;
  --cpd-color-fuchsia-800: #b937c6;
  --cpd-color-fuchsia-900: #781c90;
  --cpd-color-fuchsia-1000: #6c1785;
  --cpd-color-fuchsia-1100: #5c0f76;
  --cpd-color-fuchsia-1200: #52026c;
  --cpd-color-fuchsia-1300: #3b0053;
  --cpd-color-fuchsia-1400: #32004a;
  --cpd-color-pink-100: #fff5f7;
  --cpd-color-pink-200: #ffecf0;
  --cpd-color-pink-300: #ffdee5;
  --cpd-color-pink-400: #ffd0da;
  --cpd-color-pink-500: #ffadc0;
  --cpd-color-pink-600: #ff88a6;
  --cpd-color-pink-700: #f94e84;
  --cpd-color-pink-800: #e00c6a;
  --cpd-color-pink-900: #92084b;
  --cpd-color-pink-1000: #840745;
  --cpd-color-pink-1100: #72003a;
  --cpd-color-pink-1200: #64002f;
  --cpd-color-pink-1300: #4a001c;
  --cpd-color-pink-1400: #410015;
  --cpd-color-alpha-gray-100: hsla(200, 41%, 36%, 0.04);
  --cpd-color-alpha-gray-200: hsla(216, 89%, 18%, 0.06);
  --cpd-color-alpha-gray-300: hsla(213, 90%, 20%, 0.12);
  --cpd-color-alpha-gray-400: hsla(215, 88%, 17%, 0.16);
  --cpd-color-alpha-gray-500: hsla(212, 97%, 12%, 0.26);
  --cpd-color-alpha-gray-600: hsla(215, 96%, 10%, 0.35);
  --cpd-color-alpha-gray-700: hsla(216, 81%, 10%, 0.48);
  --cpd-color-alpha-gray-800: hsla(217, 89%, 7%, 0.58);
  --cpd-color-alpha-gray-900: hsla(223, 70%, 4%, 0.73);
  --cpd-color-alpha-gray-1000: hsla(220, 75%, 3%, 0.76);
  --cpd-color-alpha-gray-1100: hsla(222, 63%, 3%, 0.8);
  --cpd-color-alpha-gray-1200: hsla(210, 67%, 2%, 0.83);
  --cpd-color-alpha-gray-1300: hsla(218, 100%, 2%, 0.88);
  --cpd-color-alpha-gray-1400: hsla(223, 78%, 2%, 0.9);
  --cpd-color-alpha-red-100: hsla(7, 100%, 56%, 0.04);
  --cpd-color-alpha-red-200: hsla(9, 100%, 54%, 0.08);
  --cpd-color-alpha-red-300: hsla(8, 100%, 52%, 0.15);
  --cpd-color-alpha-red-400: hsla(8, 100%, 51%, 0.21);
  --cpd-color-alpha-red-500: hsla(7, 100%, 51%, 0.36);
  --cpd-color-alpha-red-600: hsla(5, 100%, 51%, 0.5);
  --cpd-color-alpha-red-700: hsla(2, 100%, 50%, 0.72);
  --cpd-color-alpha-red-800: hsla(356, 98%, 44%, 0.89);
  --cpd-color-alpha-red-900: hsl(350, 100%, 30%, 1);
  --cpd-color-alpha-red-1000: hsl(355, 100%, 27%, 1);
  --cpd-color-alpha-red-1100: hsl(0, 100%, 23%, 1);
  --cpd-color-alpha-red-1200: hsl(0, 100%, 20%, 1);
  --cpd-color-alpha-red-1300: hsl(0, 100%, 15%, 1);
  --cpd-color-alpha-red-1400: hsl(0, 100%, 13%, 1);
  --cpd-color-alpha-orange-100: hsla(26, 100%, 55%, 0.07);
  --cpd-color-alpha-orange-200: hsla(24, 100%, 52%, 0.11);
  --cpd-color-alpha-orange-300: hsla(25, 100%, 51%, 0.22);
  --cpd-color-alpha-orange-400: hsla(25, 100%, 52%, 0.3);
  --cpd-color-alpha-orange-500: hsla(26, 98%, 50%, 0.52);
  --cpd-color-alpha-orange-600: hsla(27, 100%, 48%, 0.75);
  --cpd-color-alpha-orange-700: hsl(29, 100%, 44%, 1);
  --cpd-color-alpha-orange-800: hsl(24, 100%, 38%, 1);
  --cpd-color-alpha-orange-900: hsl(9, 100%, 29%, 1);
  --cpd-color-alpha-orange-1000: hsl(4, 100%, 27%, 1);
  --cpd-color-alpha-orange-1100: hsl(0, 100%, 23%, 1);
  --cpd-color-alpha-orange-1200: hsl(0, 100%, 20%, 1);
  --cpd-color-alpha-orange-1300: hsl(0, 100%, 15%, 1);
  --cpd-color-alpha-orange-1400: hsl(0, 100%, 13%, 1);
  --cpd-color-alpha-yellow-100: hsla(46, 100%, 53%, 0.13);
  --cpd-color-alpha-yellow-200: hsla(47, 100%, 51%, 0.25);
  --cpd-color-alpha-yellow-300: hsla(47, 100%, 51%, 0.49);
  --cpd-color-alpha-yellow-400: hsla(48, 100%, 50%, 0.72);
  --cpd-color-alpha-yellow-500: hsl(47, 100%, 47%, 1);
  --cpd-color-alpha-yellow-600: hsl(44, 100%, 44%, 1);
  --cpd-color-alpha-yellow-700: hsl(40, 100%, 38%, 1);
  --cpd-color-alpha-yellow-800: hsl(36, 100%, 33%, 1);
  --cpd-color-alpha-yellow-900: hsl(28, 100%, 23%, 1);
  --cpd-color-alpha-yellow-1000: hsl(27, 100%, 22%, 1);
  --cpd-color-alpha-yellow-1100: hsl(24, 100%, 19%, 1);
  --cpd-color-alpha-yellow-1200: hsl(20, 100%, 17%, 1);
  --cpd-color-alpha-yellow-1300: hsl(10, 100%, 14%, 1);
  --cpd-color-alpha-yellow-1400: hsl(5, 100%, 12%, 1);
  --cpd-color-alpha-lime-100: hsla(107, 89%, 44%, 0.07);
  --cpd-color-alpha-lime-200: hsla(107, 98%, 41%, 0.15);
  --cpd-color-alpha-lime-300: hsla(105, 92%, 42%, 0.28);
  --cpd-color-alpha-lime-400: hsla(105, 95%, 41%, 0.4);
  --cpd-color-alpha-lime-500: hsla(102, 97%, 41%, 0.71);
  --cpd-color-alpha-lime-600: hsla(102, 100%, 37%, 0.86);
  --cpd-color-alpha-lime-700: hsla(106, 99%, 30%, 0.9);
  --cpd-color-alpha-lime-800: hsla(112, 97%, 25%, 0.95);
  --cpd-color-alpha-lime-900: hsl(120, 100%, 17%, 1);
  --cpd-color-alpha-lime-1000: hsl(120, 100%, 16%, 1);
  --cpd-color-alpha-lime-1100: hsl(120, 100%, 13%, 1);
  --cpd-color-alpha-lime-1200: hsl(120, 100%, 11%, 1);
  --cpd-color-alpha-lime-1300: hsl(120, 100%, 8%, 1);
  --cpd-color-alpha-lime-1400: hsl(120, 100%, 7%, 1);
  --cpd-color-alpha-green-100: hsla(150, 79%, 41%, 0.06);
  --cpd-color-alpha-green-200: hsla(150, 100%, 36%, 0.11);
  --cpd-color-alpha-green-300: hsla(151, 93%, 37%, 0.23);
  --cpd-color-alpha-green-400: hsla(153, 95%, 37%, 0.32);
  --cpd-color-alpha-green-500: hsla(156, 99%, 36%, 0.56);
  --cpd-color-alpha-green-600: hsla(163, 99%, 38%, 0.96);
  --cpd-color-alpha-green-700: hsl(166, 100%, 32%, 1);
  --cpd-color-alpha-green-800: hsl(168, 100%, 26%, 1);
  --cpd-color-alpha-green-900: hsl(163, 100%, 17%, 1);
  --cpd-color-alpha-green-1000: hsl(162, 100%, 15%, 1);
  --cpd-color-alpha-green-1100: hsl(160, 100%, 13%, 1);
  --cpd-color-alpha-green-1200: hsl(158, 100%, 11%, 1);
  --cpd-color-alpha-green-1300: hsl(152, 100%, 8%, 1);
  --cpd-color-alpha-green-1400: hsl(147, 100%, 7%, 1);
  --cpd-color-alpha-cyan-100: hsla(186, 79%, 41%, 0.06);
  --cpd-color-alpha-cyan-200: hsla(188, 100%, 38%, 0.11);
  --cpd-color-alpha-cyan-300: hsla(186, 100%, 37%, 0.22);
  --cpd-color-alpha-cyan-400: hsla(187, 97%, 38%, 0.31);
  --cpd-color-alpha-cyan-500: hsla(187, 99%, 38%, 0.54);
  --cpd-color-alpha-cyan-600: hsla(186, 99%, 40%, 0.92);
  --cpd-color-alpha-cyan-700: hsl(193, 100%, 38%, 1);
  --cpd-color-alpha-cyan-800: hsl(199, 100%, 35%, 1);
  --cpd-color-alpha-cyan-900: hsl(205, 100%, 26%, 1);
  --cpd-color-alpha-cyan-1000: hsl(207, 100%, 24%, 1);
  --cpd-color-alpha-cyan-1100: hsl(210, 100%, 22%, 1);
  --cpd-color-alpha-cyan-1200: hsl(212, 100%, 20%, 1);
  --cpd-color-alpha-cyan-1300: hsl(218, 100%, 16%, 1);
  --cpd-color-alpha-cyan-1400: hsl(222, 100%, 15%, 1);
  --cpd-color-alpha-blue-100: hsla(218, 100%, 57%, 0.05);
  --cpd-color-alpha-blue-200: hsla(215, 100%, 52%, 0.09);
  --cpd-color-alpha-blue-300: hsla(216, 95%, 51%, 0.16);
  --cpd-color-alpha-blue-400: hsla(216, 96%, 49%, 0.22);
  --cpd-color-alpha-blue-500: hsla(216, 95%, 48%, 0.37);
  --cpd-color-alpha-blue-600: hsla(215, 98%, 47%, 0.51);
  --cpd-color-alpha-blue-700: hsla(215, 100%, 46%, 0.71);
  --cpd-color-alpha-blue-800: hsla(212, 99%, 46%, 0.99);
  --cpd-color-alpha-blue-900: hsla(217, 98%, 33%, 0.99);
  --cpd-color-alpha-blue-1000: hsla(218, 97%, 30%, 0.99);
  --cpd-color-alpha-blue-1100: hsla(220, 99%, 27%, 0.99);
  --cpd-color-alpha-blue-1200: hsla(222, 100%, 24%, 0.99);
  --cpd-color-alpha-blue-1300: hsl(228, 100%, 21%, 1);
  --cpd-color-alpha-blue-1400: hsl(233, 100%, 19%, 1);
  --cpd-color-alpha-purple-100: hsla(248, 100%, 61%, 0.04);
  --cpd-color-alpha-purple-200: hsla(248, 100%, 55%, 0.07);
  --cpd-color-alpha-purple-300: hsla(248, 100%, 53%, 0.12);
  --cpd-color-alpha-purple-400: hsla(248, 100%, 52%, 0.16);
  --cpd-color-alpha-purple-500: hsla(249, 100%, 51%, 0.27);
  --cpd-color-alpha-purple-600: hsla(251, 100%, 51%, 0.38);
  --cpd-color-alpha-purple-700: hsla(254, 100%, 50%, 0.53);
  --cpd-color-alpha-purple-800: hsla(258, 98%, 49%, 0.7);
  --cpd-color-alpha-purple-900: hsla(261, 97%, 38%, 0.9);
  --cpd-color-alpha-purple-1000: hsla(263, 100%, 36%, 0.95);
  --cpd-color-alpha-purple-1100: hsl(264, 100%, 33%, 1);
  --cpd-color-alpha-purple-1200: hsl(262, 100%, 29%, 1);
  --cpd-color-alpha-purple-1300: hsl(259, 100%, 22%, 1);
  --cpd-color-alpha-purple-1400: hsl(259, 100%, 19%, 1);
  --cpd-color-alpha-fuchsia-100: hsla(293, 95%, 41%, 0.04);
  --cpd-color-alpha-fuchsia-200: hsla(295, 89%, 41%, 0.07);
  --cpd-color-alpha-fuchsia-300: hsla(298, 91%, 40%, 0.13);
  --cpd-color-alpha-fuchsia-400: hsla(296, 95%, 38%, 0.18);
  --cpd-color-alpha-fuchsia-500: hsla(297, 93%, 38%, 0.31);
  --cpd-color-alpha-fuchsia-600: hsla(295, 96%, 37%, 0.43);
  --cpd-color-alpha-fuchsia-700: hsla(295, 97%, 37%, 0.6);
  --cpd-color-alpha-fuchsia-800: hsla(294, 98%, 36%, 0.79);
  --cpd-color-alpha-fuchsia-900: hsla(287, 96%, 27%, 0.9);
  --cpd-color-alpha-fuchsia-1000: hsla(286, 100%, 24%, 0.91);
  --cpd-color-alpha-fuchsia-1100: hsla(285, 97%, 22%, 0.95);
  --cpd-color-alpha-fuchsia-1200: hsl(285, 96%, 22%, 1);
  --cpd-color-alpha-fuchsia-1300: hsl(283, 100%, 16%, 1);
  --cpd-color-alpha-fuchsia-1400: hsl(281, 100%, 15%, 1);
  --cpd-color-alpha-pink-100: hsla(348, 100%, 51%, 0.04);
  --cpd-color-alpha-pink-200: hsla(347, 100%, 54%, 0.08);
  --cpd-color-alpha-pink-300: hsla(347, 100%, 50%, 0.13);
  --cpd-color-alpha-pink-400: hsla(347, 100%, 52%, 0.19);
  --cpd-color-alpha-pink-500: hsla(346, 100%, 51%, 0.33);
  --cpd-color-alpha-pink-600: hsla(345, 100%, 50%, 0.47);
  --cpd-color-alpha-pink-700: hsla(341, 98%, 49%, 0.7);
  --cpd-color-alpha-pink-800: hsla(333, 98%, 44%, 0.96);
  --cpd-color-alpha-pink-900: hsla(331, 100%, 28%, 0.97);
  --cpd-color-alpha-pink-1000: hsla(330, 97%, 26%, 0.98);
  --cpd-color-alpha-pink-1100: hsl(329, 100%, 22%, 1);
  --cpd-color-alpha-pink-1200: hsl(332, 100%, 20%, 1);
  --cpd-color-alpha-pink-1300: hsl(337, 100%, 15%, 1);
  --cpd-color-alpha-pink-1400: hsl(341, 100%, 13%, 1);
}
        }
    }
}

@layer compound {

    @media screen {

        @layer cpd-semantic {
.cpd-theme-light-hc.cpd-theme-light-hc {
  --cpd-color-bg-canvas-default-level-1: var(--cpd-color-theme-bg);
  --cpd-color-bg-subtle-secondary-level-0: var(--cpd-color-gray-300);
}
        }
    }
}

@layer compound {

    @media screen and (prefers-color-scheme: light) and (prefers-contrast: more) {

        @layer cpd-semantic {
:root {
  --cpd-color-bg-canvas-default-level-1: var(--cpd-color-theme-bg);
  --cpd-color-bg-subtle-secondary-level-0: var(--cpd-color-gray-300);
}
        }
    }
}

@layer compound {

    @media screen {

        @layer cpd-base {
.cpd-theme-dark.cpd-theme-dark {
  --cpd-color-theme-bg: #101317;
  --cpd-color-gray-100: #14171b;
  --cpd-color-gray-200: #181a1f;
  --cpd-color-gray-300: #1d1f24;
  --cpd-color-gray-400: #26282d;
  --cpd-color-gray-500: #323539;
  --cpd-color-gray-600: #3c3f44;
  --cpd-color-gray-700: #4a4f55;
  --cpd-color-gray-800: #656c76;
  --cpd-color-gray-900: #808994;
  --cpd-color-gray-1000: #9199a4;
  --cpd-color-gray-1100: #a3aab4;
  --cpd-color-gray-1200: #bdc3cc;
  --cpd-color-gray-1300: #d9dee4;
  --cpd-color-gray-1400: #ebeef2;
  --cpd-color-red-100: #370000;
  --cpd-color-red-200: #3e0000;
  --cpd-color-red-300: #470000;
  --cpd-color-red-400: #590000;
  --cpd-color-red-500: #710000;
  --cpd-color-red-600: #830009;
  --cpd-color-red-700: #9f0d1e;
  --cpd-color-red-800: #d1212a;
  --cpd-color-red-900: #fd3e3c;
  --cpd-color-red-1000: #ff665d;
  --cpd-color-red-1100: #ff877c;
  --cpd-color-red-1200: #ffaea4;
  --cpd-color-red-1300: #ffd4cd;
  --cpd-color-red-1400: #ffe9e6;
  --cpd-color-orange-100: #380000;
  --cpd-color-orange-200: #3c0000;
  --cpd-color-orange-300: #470000;
  --cpd-color-orange-400: #580000;
  --cpd-color-orange-500: #710000;
  --cpd-color-orange-600: #830500;
  --cpd-color-orange-700: #972206;
  --cpd-color-orange-800: #b94607;
  --cpd-color-orange-900: #da670d;
  --cpd-color-orange-1000: #eb7a12;
  --cpd-color-orange-1100: #f6913d;
  --cpd-color-orange-1200: #fbb37e;
  --cpd-color-orange-1300: #ffd5b9;
  --cpd-color-orange-1400: #ffeadb;
  --cpd-color-yellow-100: #360000;
  --cpd-color-yellow-200: #3a0300;
  --cpd-color-yellow-300: #410900;
  --cpd-color-yellow-400: #4c1400;
  --cpd-color-yellow-500: #5c2400;
  --cpd-color-yellow-600: #682e03;
  --cpd-color-yellow-700: #7c3e02;
  --cpd-color-yellow-800: #9d5b00;
  --cpd-color-yellow-900: #bc7a00;
  --cpd-color-yellow-1000: #cc8c00;
  --cpd-color-yellow-1100: #db9f00;
  --cpd-color-yellow-1200: #efbb0b;
  --cpd-color-yellow-1300: #fedb58;
  --cpd-color-yellow-1400: #ffedb1;
  --cpd-color-lime-100: #001b00;
  --cpd-color-lime-200: #002000;
  --cpd-color-lime-300: #002600;
  --cpd-color-lime-400: #003000;
  --cpd-color-lime-500: #003e00;
  --cpd-color-lime-600: #004a00;
  --cpd-color-lime-700: #005c00;
  --cpd-color-lime-800: #1d7c13;
  --cpd-color-lime-900: #389b20;
  --cpd-color-lime-1000: #47ad26;
  --cpd-color-lime-1100: #56c02c;
  --cpd-color-lime-1200: #77d94f;
  --cpd-color-lime-1300: #b6eca3;
  --cpd-color-lime-1400: #daf6d0;
  --cpd-color-green-100: #001c0b;
  --cpd-color-green-200: #001f0e;
  --cpd-color-green-300: #002513;
  --cpd-color-green-400: #002e1b;
  --cpd-color-green-500: #003d29;
  --cpd-color-green-600: #004832;
  --cpd-color-green-700: #005a43;
  --cpd-color-green-800: #007a62;
  --cpd-color-green-900: #129a78;
  --cpd-color-green-1000: #17ac84;
  --cpd-color-green-1100: #1fc090;
  --cpd-color-green-1200: #72d5ae;
  --cpd-color-green-1300: #b5e8d1;
  --cpd-color-green-1400: #d9f4e7;
  --cpd-color-cyan-100: #001144;
  --cpd-color-cyan-200: #001448;
  --cpd-color-cyan-300: #001b4e;
  --cpd-color-cyan-400: #002559;
  --cpd-color-cyan-500: #003468;
  --cpd-color-cyan-600: #003f75;
  --cpd-color-cyan-700: #005188;
  --cpd-color-cyan-800: #0271aa;
  --cpd-color-cyan-900: #0093be;
  --cpd-color-cyan-1000: #02a7c6;
  --cpd-color-cyan-1100: #21bacd;
  --cpd-color-cyan-1200: #78d0dc;
  --cpd-color-cyan-1300: #b8e5eb;
  --cpd-color-cyan-1400: #dbf2f5;
  --cpd-color-blue-100: #00055a;
  --cpd-color-blue-200: #00095d;
  --cpd-color-blue-300: #001264;
  --cpd-color-blue-400: #001e6f;
  --cpd-color-blue-500: #062d80;
  --cpd-color-blue-600: #083891;
  --cpd-color-blue-700: #0b49ab;
  --cpd-color-blue-800: #0e67d9;
  --cpd-color-blue-900: #4187eb;
  --cpd-color-blue-1000: #5e99f0;
  --cpd-color-blue-1100: #7aacf4;
  --cpd-color-blue-1200: #a1c4f8;
  --cpd-color-blue-1300: #cbdffc;
  --cpd-color-blue-1400: #e4eefe;
  --cpd-color-purple-100: #1a0055;
  --cpd-color-purple-200: #1c005a;
  --cpd-color-purple-300: #22006a;
  --cpd-color-purple-400: #2c0080;
  --cpd-color-purple-500: #3d009e;
  --cpd-color-purple-600: #4a0db1;
  --cpd-color-purple-700: #5a27c6;
  --cpd-color-purple-800: #7849ec;
  --cpd-color-purple-900: #9171f9;
  --cpd-color-purple-1000: #9e87fc;
  --cpd-color-purple-1100: #ad9cfe;
  --cpd-color-purple-1200: #c4baff;
  --cpd-color-purple-1300: #dedaff;
  --cpd-color-purple-1400: #eeebff;
  --cpd-color-fuchsia-100: #28003d;
  --cpd-color-fuchsia-200: #2e0044;
  --cpd-color-fuchsia-300: #37004e;
  --cpd-color-fuchsia-400: #46005e;
  --cpd-color-fuchsia-500: #560f6f;
  --cpd-color-fuchsia-600: #65177d;
  --cpd-color-fuchsia-700: #7d2394;
  --cpd-color-fuchsia-800: #aa36ba;
  --cpd-color-fuchsia-900: #c560cf;
  --cpd-color-fuchsia-1000: #cf78d7;
  --cpd-color-fuchsia-1100: #d991de;
  --cpd-color-fuchsia-1200: #e5b1e9;
  --cpd-color-fuchsia-1300: #f1d4f3;
  --cpd-color-fuchsia-1400: #f8e9f9;
  --cpd-color-pink-100: #37000f;
  --cpd-color-pink-200: #3c0012;
  --cpd-color-pink-300: #450018;
  --cpd-color-pink-400: #550024;
  --cpd-color-pink-500: #6d0036;
  --cpd-color-pink-600: #7c0c41;
  --cpd-color-pink-700: #99114f;
  --cpd-color-pink-800: #ce1865;
  --cpd-color-pink-900: #f4427d;
  --cpd-color-pink-1000: #fa658f;
  --cpd-color-pink-1100: #fe84a2;
  --cpd-color-pink-1200: #ffabbe;
  --cpd-color-pink-1300: #ffd2dc;
  --cpd-color-pink-1400: #ffe8ed;
  --cpd-color-alpha-gray-100: hsla(214, 10%, 86%, 0.02);
  --cpd-color-alpha-gray-200: hsla(286, 31%, 82%, 0.04);
  --cpd-color-alpha-gray-300: hsla(280, 41%, 90%, 0.06);
  --cpd-color-alpha-gray-400: hsla(270, 37%, 93%, 0.1);
  --cpd-color-alpha-gray-500: hsla(214, 41%, 97%, 0.15);
  --cpd-color-alpha-gray-600: hsla(225, 46%, 95%, 0.2);
  --cpd-color-alpha-gray-700: hsla(213, 85%, 95%, 0.27);
  --cpd-color-alpha-gray-800: hsla(216, 100%, 94%, 0.41);
  --cpd-color-alpha-gray-900: hsla(211, 94%, 94%, 0.54);
  --cpd-color-alpha-gray-1000: hsla(213, 93%, 94%, 0.61);
  --cpd-color-alpha-gray-1100: hsla(215, 92%, 95%, 0.68);
  --cpd-color-alpha-gray-1200: hsla(215, 74%, 96%, 0.79);
  --cpd-color-alpha-gray-1300: hsla(213, 73%, 97%, 0.89);
  --cpd-color-alpha-gray-1400: hsla(214, 78%, 98%, 0.95);
  --cpd-color-alpha-red-100: hsl(0, 100%, 11%, 1);
  --cpd-color-alpha-red-200: hsl(0, 100%, 12%, 1);
  --cpd-color-alpha-red-300: hsl(0, 100%, 14%, 1);
  --cpd-color-alpha-red-400: hsl(0, 100%, 18%, 1);
  --cpd-color-alpha-red-500: hsl(0, 100%, 22%, 1);
  --cpd-color-alpha-red-600: hsl(356, 100%, 26%, 1);
  --cpd-color-alpha-red-700: hsla(354, 99%, 52%, 0.6);
  --cpd-color-alpha-red-800: hsla(357, 99%, 57%, 0.81);
  --cpd-color-alpha-red-900: hsl(1, 98%, 61%, 1);
  --cpd-color-alpha-red-1000: hsl(3, 100%, 68%, 1);
  --cpd-color-alpha-red-1100: hsl(5, 100%, 74%, 1);
  --cpd-color-alpha-red-1200: hsl(7, 100%, 82%, 1);
  --cpd-color-alpha-red-1300: hsl(8, 100%, 90%, 1);
  --cpd-color-alpha-red-1400: hsl(7, 100%, 95%, 1);
  --cpd-color-alpha-orange-100: hsl(0, 100%, 11%, 1);
  --cpd-color-alpha-orange-200: hsl(0, 100%, 12%, 1);
  --cpd-color-alpha-orange-300: hsl(0, 100%, 14%, 1);
  --cpd-color-alpha-orange-400: hsl(0, 100%, 17%, 1);
  --cpd-color-alpha-orange-500: hsl(0, 100%, 22%, 1);
  --cpd-color-alpha-orange-600: hsl(2, 100%, 26%, 1);
  --cpd-color-alpha-orange-700: hsla(12, 100%, 39%, 0.74);
  --cpd-color-alpha-orange-800: hsla(21, 100%, 50%, 0.71);
  --cpd-color-alpha-orange-900: hsla(26, 99%, 52%, 0.85);
  --cpd-color-alpha-orange-1000: hsla(29, 99%, 53%, 0.92);
  --cpd-color-alpha-orange-1100: hsla(27, 98%, 62%, 0.97);
  --cpd-color-alpha-orange-1200: hsla(26, 97%, 75%, 0.99);
  --cpd-color-alpha-orange-1300: hsl(24, 100%, 86%, 1);
  --cpd-color-alpha-orange-1400: hsl(25, 100%, 93%, 1);
  --cpd-color-alpha-yellow-100: hsl(0, 100%, 11%, 1);
  --cpd-color-alpha-yellow-200: hsl(3, 100%, 11%, 1);
  --cpd-color-alpha-yellow-300: hsl(8, 100%, 13%, 1);
  --cpd-color-alpha-yellow-400: hsl(16, 100%, 15%, 1);
  --cpd-color-alpha-yellow-500: hsl(23, 100%, 18%, 1);
  --cpd-color-alpha-yellow-600: hsla(26, 100%, 23%, 0.87);
  --cpd-color-alpha-yellow-700: hsla(30, 100%, 26%, 0.92);
  --cpd-color-alpha-yellow-800: hsl(35, 100%, 31%, 1);
  --cpd-color-alpha-yellow-900: hsl(39, 100%, 37%, 1);
  --cpd-color-alpha-yellow-1000: hsl(41, 100%, 40%, 1);
  --cpd-color-alpha-yellow-1100: hsl(44, 100%, 43%, 1);
  --cpd-color-alpha-yellow-1200: hsla(46, 98%, 52%, 0.94);
  --cpd-color-alpha-yellow-1300: hsl(47, 99%, 67%, 1);
  --cpd-color-alpha-yellow-1400: hsl(46, 100%, 85%, 1);
  --cpd-color-alpha-lime-100: hsl(120, 100%, 5%, 1);
  --cpd-color-alpha-lime-200: hsl(120, 100%, 6%, 1);
  --cpd-color-alpha-lime-300: hsl(120, 100%, 8%, 1);
  --cpd-color-alpha-lime-400: hsl(120, 100%, 9%, 1);
  --cpd-color-alpha-lime-500: hsl(120, 100%, 12%, 1);
  --cpd-color-alpha-lime-600: hsl(120, 100%, 15%, 1);
  --cpd-color-alpha-lime-700: hsl(120, 100%, 18%, 1);
  --cpd-color-alpha-lime-800: hsla(112, 98%, 52%, 0.45);
  --cpd-color-alpha-lime-900: hsla(107, 98%, 57%, 0.58);
  --cpd-color-alpha-lime-1000: hsla(105, 97%, 58%, 0.66);
  --cpd-color-alpha-lime-1100: hsla(102, 98%, 60%, 0.74);
  --cpd-color-alpha-lime-1200: hsla(102, 100%, 68%, 0.84);
  --cpd-color-alpha-lime-1300: hsla(104, 100%, 84%, 0.92);
  --cpd-color-alpha-lime-1400: hsla(105, 91%, 92%, 0.97);
  --cpd-color-alpha-green-100: hsl(144, 100%, 6%, 1);
  --cpd-color-alpha-green-200: hsl(147, 100%, 6%, 1);
  --cpd-color-alpha-green-300: hsl(151, 100%, 7%, 1);
  --cpd-color-alpha-green-400: hsl(155, 100%, 9%, 1);
  --cpd-color-alpha-green-500: hsl(160, 100%, 12%, 1);
  --cpd-color-alpha-green-600: hsl(162, 100%, 14%, 1);
  --cpd-color-alpha-green-700: hsl(165, 100%, 18%, 1);
  --cpd-color-alpha-green-800: hsl(168, 100%, 24%, 1);
  --cpd-color-alpha-green-900: hsla(164, 98%, 53%, 0.58);
  --cpd-color-alpha-green-1000: hsla(163, 99%, 55%, 0.65);
  --cpd-color-alpha-green-1100: hsla(162, 98%, 57%, 0.74);
  --cpd-color-alpha-green-1200: hsla(156, 97%, 76%, 0.83);
  --cpd-color-alpha-green-1300: hsla(152, 93%, 88%, 0.91);
  --cpd-color-alpha-green-1400: hsla(152, 88%, 94%, 0.96);
  --cpd-color-alpha-cyan-100: hsl(225, 100%, 13%, 1);
  --cpd-color-alpha-cyan-200: hsl(223, 100%, 14%, 1);
  --cpd-color-alpha-cyan-300: hsl(219, 100%, 15%, 1);
  --cpd-color-alpha-cyan-400: hsl(215, 100%, 18%, 1);
  --cpd-color-alpha-cyan-500: hsl(210, 100%, 20%, 1);
  --cpd-color-alpha-cyan-600: hsl(208, 100%, 23%, 1);
  --cpd-color-alpha-cyan-700: hsl(204, 100%, 27%, 1);
  --cpd-color-alpha-cyan-800: hsla(200, 100%, 37%, 0.88);
  --cpd-color-alpha-cyan-900: hsl(194, 100%, 37%, 1);
  --cpd-color-alpha-cyan-1000: hsla(189, 100%, 44%, 0.88);
  --cpd-color-alpha-cyan-1100: hsla(186, 98%, 57%, 0.79);
  --cpd-color-alpha-cyan-1200: hsla(187, 100%, 77%, 0.85);
  --cpd-color-alpha-cyan-1300: hsla(187, 93%, 89%, 0.92);
  --cpd-color-alpha-cyan-1400: hsla(187, 93%, 94%, 0.96);
  --cpd-color-alpha-blue-100: hsl(237, 100%, 18%, 1);
  --cpd-color-alpha-blue-200: hsl(234, 100%, 18%, 1);
  --cpd-color-alpha-blue-300: hsl(229, 100%, 20%, 1);
  --cpd-color-alpha-blue-400: hsl(224, 100%, 22%, 1);
  --cpd-color-alpha-blue-500: hsla(221, 100%, 37%, 0.63);
  --cpd-color-alpha-blue-600: hsla(219, 99%, 50%, 0.53);
  --cpd-color-alpha-blue-700: hsla(217, 99%, 51%, 0.64);
  --cpd-color-alpha-blue-800: hsla(214, 99%, 53%, 0.84);
  --cpd-color-alpha-blue-900: hsla(215, 98%, 63%, 0.92);
  --cpd-color-alpha-blue-1000: hsla(216, 99%, 69%, 0.94);
  --cpd-color-alpha-blue-1100: hsla(215, 97%, 74%, 0.96);
  --cpd-color-alpha-blue-1200: hsla(216, 100%, 82%, 0.97);
  --cpd-color-alpha-blue-1300: hsla(216, 96%, 90%, 0.99);
  --cpd-color-alpha-blue-1400: hsl(217, 93%, 95%, 1);
  --cpd-color-alpha-purple-100: hsl(258, 100%, 17%, 1);
  --cpd-color-alpha-purple-200: hsl(259, 100%, 18%, 1);
  --cpd-color-alpha-purple-300: hsl(259, 100%, 21%, 1);
  --cpd-color-alpha-purple-400: hsl(261, 100%, 25%, 1);
  --cpd-color-alpha-purple-500: hsl(263, 100%, 31%, 1);
  --cpd-color-alpha-purple-600: hsla(263, 98%, 52%, 0.67);
  --cpd-color-alpha-purple-700: hsla(260, 98%, 58%, 0.76);
  --cpd-color-alpha-purple-800: hsla(257, 100%, 65%, 0.92);
  --cpd-color-alpha-purple-900: hsla(254, 99%, 72%, 0.98);
  --cpd-color-alpha-purple-1000: hsla(252, 98%, 77%, 0.99);
  --cpd-color-alpha-purple-1100: hsl(250, 98%, 80%, 1);
  --cpd-color-alpha-purple-1200: hsl(249, 100%, 87%, 1);
  --cpd-color-alpha-purple-1300: hsl(246, 100%, 93%, 1);
  --cpd-color-alpha-purple-1400: hsl(249, 100%, 96%, 1);
  --cpd-color-alpha-fuchsia-100: hsl(279, 100%, 12%, 1);
  --cpd-color-alpha-fuchsia-200: hsl(281, 100%, 13%, 1);
  --cpd-color-alpha-fuchsia-300: hsl(282, 100%, 15%, 1);
  --cpd-color-alpha-fuchsia-400: hsl(285, 100%, 18%, 1);
  --cpd-color-alpha-fuchsia-500: hsla(287, 100%, 52%, 0.38);
  --cpd-color-alpha-fuchsia-600: hsla(288, 100%, 56%, 0.44);
  --cpd-color-alpha-fuchsia-700: hsla(289, 99%, 59%, 0.54);
  --cpd-color-alpha-fuchsia-800: hsla(294, 98%, 63%, 0.71);
  --cpd-color-alpha-fuchsia-900: hsla(295, 97%, 72%, 0.8);
  --cpd-color-alpha-fuchsia-1000: hsla(296, 98%, 78%, 0.83);
  --cpd-color-alpha-fuchsia-1100: hsla(297, 98%, 82%, 0.86);
  --cpd-color-alpha-fuchsia-1200: hsla(296, 97%, 88%, 0.91);
  --cpd-color-alpha-fuchsia-1300: hsla(296, 100%, 94%, 0.95);
  --cpd-color-alpha-fuchsia-1400: hsla(296, 90%, 96%, 0.98);
  --cpd-color-alpha-pink-100: hsl(344, 100%, 11%, 1);
  --cpd-color-alpha-pink-200: hsl(342, 100%, 12%, 1);
  --cpd-color-alpha-pink-300: hsl(339, 100%, 14%, 1);
  --cpd-color-alpha-pink-400: hsl(335, 100%, 17%, 1);
  --cpd-color-alpha-pink-500: hsl(330, 100%, 21%, 1);
  --cpd-color-alpha-pink-600: hsla(333, 97%, 50%, 0.46);
  --cpd-color-alpha-pink-700: hsla(334, 98%, 53%, 0.58);
  --cpd-color-alpha-pink-800: hsla(335, 99%, 55%, 0.8);
  --cpd-color-alpha-pink-900: hsla(340, 99%, 63%, 0.96);
  --cpd-color-alpha-pink-1000: hsla(343, 100%, 70%, 0.98);
  --cpd-color-alpha-pink-1100: hsl(345, 98%, 76%, 1);
  --cpd-color-alpha-pink-1200: hsl(346, 100%, 84%, 1);
  --cpd-color-alpha-pink-1300: hsl(347, 100%, 91%, 1);
  --cpd-color-alpha-pink-1400: hsl(347, 100%, 96%, 1);
}
        }
    }
}

@layer compound {

    @media screen and (prefers-color-scheme: dark) {

        @layer cpd-base {
:root {
  --cpd-color-theme-bg: #101317;
  --cpd-color-gray-100: #14171b;
  --cpd-color-gray-200: #181a1f;
  --cpd-color-gray-300: #1d1f24;
  --cpd-color-gray-400: #26282d;
  --cpd-color-gray-500: #323539;
  --cpd-color-gray-600: #3c3f44;
  --cpd-color-gray-700: #4a4f55;
  --cpd-color-gray-800: #656c76;
  --cpd-color-gray-900: #808994;
  --cpd-color-gray-1000: #9199a4;
  --cpd-color-gray-1100: #a3aab4;
  --cpd-color-gray-1200: #bdc3cc;
  --cpd-color-gray-1300: #d9dee4;
  --cpd-color-gray-1400: #ebeef2;
  --cpd-color-red-100: #370000;
  --cpd-color-red-200: #3e0000;
  --cpd-color-red-300: #470000;
  --cpd-color-red-400: #590000;
  --cpd-color-red-500: #710000;
  --cpd-color-red-600: #830009;
  --cpd-color-red-700: #9f0d1e;
  --cpd-color-red-800: #d1212a;
  --cpd-color-red-900: #fd3e3c;
  --cpd-color-red-1000: #ff665d;
  --cpd-color-red-1100: #ff877c;
  --cpd-color-red-1200: #ffaea4;
  --cpd-color-red-1300: #ffd4cd;
  --cpd-color-red-1400: #ffe9e6;
  --cpd-color-orange-100: #380000;
  --cpd-color-orange-200: #3c0000;
  --cpd-color-orange-300: #470000;
  --cpd-color-orange-400: #580000;
  --cpd-color-orange-500: #710000;
  --cpd-color-orange-600: #830500;
  --cpd-color-orange-700: #972206;
  --cpd-color-orange-800: #b94607;
  --cpd-color-orange-900: #da670d;
  --cpd-color-orange-1000: #eb7a12;
  --cpd-color-orange-1100: #f6913d;
  --cpd-color-orange-1200: #fbb37e;
  --cpd-color-orange-1300: #ffd5b9;
  --cpd-color-orange-1400: #ffeadb;
  --cpd-color-yellow-100: #360000;
  --cpd-color-yellow-200: #3a0300;
  --cpd-color-yellow-300: #410900;
  --cpd-color-yellow-400: #4c1400;
  --cpd-color-yellow-500: #5c2400;
  --cpd-color-yellow-600: #682e03;
  --cpd-color-yellow-700: #7c3e02;
  --cpd-color-yellow-800: #9d5b00;
  --cpd-color-yellow-900: #bc7a00;
  --cpd-color-yellow-1000: #cc8c00;
  --cpd-color-yellow-1100: #db9f00;
  --cpd-color-yellow-1200: #efbb0b;
  --cpd-color-yellow-1300: #fedb58;
  --cpd-color-yellow-1400: #ffedb1;
  --cpd-color-lime-100: #001b00;
  --cpd-color-lime-200: #002000;
  --cpd-color-lime-300: #002600;
  --cpd-color-lime-400: #003000;
  --cpd-color-lime-500: #003e00;
  --cpd-color-lime-600: #004a00;
  --cpd-color-lime-700: #005c00;
  --cpd-color-lime-800: #1d7c13;
  --cpd-color-lime-900: #389b20;
  --cpd-color-lime-1000: #47ad26;
  --cpd-color-lime-1100: #56c02c;
  --cpd-color-lime-1200: #77d94f;
  --cpd-color-lime-1300: #b6eca3;
  --cpd-color-lime-1400: #daf6d0;
  --cpd-color-green-100: #001c0b;
  --cpd-color-green-200: #001f0e;
  --cpd-color-green-300: #002513;
  --cpd-color-green-400: #002e1b;
  --cpd-color-green-500: #003d29;
  --cpd-color-green-600: #004832;
  --cpd-color-green-700: #005a43;
  --cpd-color-green-800: #007a62;
  --cpd-color-green-900: #129a78;
  --cpd-color-green-1000: #17ac84;
  --cpd-color-green-1100: #1fc090;
  --cpd-color-green-1200: #72d5ae;
  --cpd-color-green-1300: #b5e8d1;
  --cpd-color-green-1400: #d9f4e7;
  --cpd-color-cyan-100: #001144;
  --cpd-color-cyan-200: #001448;
  --cpd-color-cyan-300: #001b4e;
  --cpd-color-cyan-400: #002559;
  --cpd-color-cyan-500: #003468;
  --cpd-color-cyan-600: #003f75;
  --cpd-color-cyan-700: #005188;
  --cpd-color-cyan-800: #0271aa;
  --cpd-color-cyan-900: #0093be;
  --cpd-color-cyan-1000: #02a7c6;
  --cpd-color-cyan-1100: #21bacd;
  --cpd-color-cyan-1200: #78d0dc;
  --cpd-color-cyan-1300: #b8e5eb;
  --cpd-color-cyan-1400: #dbf2f5;
  --cpd-color-blue-100: #00055a;
  --cpd-color-blue-200: #00095d;
  --cpd-color-blue-300: #001264;
  --cpd-color-blue-400: #001e6f;
  --cpd-color-blue-500: #062d80;
  --cpd-color-blue-600: #083891;
  --cpd-color-blue-700: #0b49ab;
  --cpd-color-blue-800: #0e67d9;
  --cpd-color-blue-900: #4187eb;
  --cpd-color-blue-1000: #5e99f0;
  --cpd-color-blue-1100: #7aacf4;
  --cpd-color-blue-1200: #a1c4f8;
  --cpd-color-blue-1300: #cbdffc;
  --cpd-color-blue-1400: #e4eefe;
  --cpd-color-purple-100: #1a0055;
  --cpd-color-purple-200: #1c005a;
  --cpd-color-purple-300: #22006a;
  --cpd-color-purple-400: #2c0080;
  --cpd-color-purple-500: #3d009e;
  --cpd-color-purple-600: #4a0db1;
  --cpd-color-purple-700: #5a27c6;
  --cpd-color-purple-800: #7849ec;
  --cpd-color-purple-900: #9171f9;
  --cpd-color-purple-1000: #9e87fc;
  --cpd-color-purple-1100: #ad9cfe;
  --cpd-color-purple-1200: #c4baff;
  --cpd-color-purple-1300: #dedaff;
  --cpd-color-purple-1400: #eeebff;
  --cpd-color-fuchsia-100: #28003d;
  --cpd-color-fuchsia-200: #2e0044;
  --cpd-color-fuchsia-300: #37004e;
  --cpd-color-fuchsia-400: #46005e;
  --cpd-color-fuchsia-500: #560f6f;
  --cpd-color-fuchsia-600: #65177d;
  --cpd-color-fuchsia-700: #7d2394;
  --cpd-color-fuchsia-800: #aa36ba;
  --cpd-color-fuchsia-900: #c560cf;
  --cpd-color-fuchsia-1000: #cf78d7;
  --cpd-color-fuchsia-1100: #d991de;
  --cpd-color-fuchsia-1200: #e5b1e9;
  --cpd-color-fuchsia-1300: #f1d4f3;
  --cpd-color-fuchsia-1400: #f8e9f9;
  --cpd-color-pink-100: #37000f;
  --cpd-color-pink-200: #3c0012;
  --cpd-color-pink-300: #450018;
  --cpd-color-pink-400: #550024;
  --cpd-color-pink-500: #6d0036;
  --cpd-color-pink-600: #7c0c41;
  --cpd-color-pink-700: #99114f;
  --cpd-color-pink-800: #ce1865;
  --cpd-color-pink-900: #f4427d;
  --cpd-color-pink-1000: #fa658f;
  --cpd-color-pink-1100: #fe84a2;
  --cpd-color-pink-1200: #ffabbe;
  --cpd-color-pink-1300: #ffd2dc;
  --cpd-color-pink-1400: #ffe8ed;
  --cpd-color-alpha-gray-100: hsla(214, 10%, 86%, 0.02);
  --cpd-color-alpha-gray-200: hsla(286, 31%, 82%, 0.04);
  --cpd-color-alpha-gray-300: hsla(280, 41%, 90%, 0.06);
  --cpd-color-alpha-gray-400: hsla(270, 37%, 93%, 0.1);
  --cpd-color-alpha-gray-500: hsla(214, 41%, 97%, 0.15);
  --cpd-color-alpha-gray-600: hsla(225, 46%, 95%, 0.2);
  --cpd-color-alpha-gray-700: hsla(213, 85%, 95%, 0.27);
  --cpd-color-alpha-gray-800: hsla(216, 100%, 94%, 0.41);
  --cpd-color-alpha-gray-900: hsla(211, 94%, 94%, 0.54);
  --cpd-color-alpha-gray-1000: hsla(213, 93%, 94%, 0.61);
  --cpd-color-alpha-gray-1100: hsla(215, 92%, 95%, 0.68);
  --cpd-color-alpha-gray-1200: hsla(215, 74%, 96%, 0.79);
  --cpd-color-alpha-gray-1300: hsla(213, 73%, 97%, 0.89);
  --cpd-color-alpha-gray-1400: hsla(214, 78%, 98%, 0.95);
  --cpd-color-alpha-red-100: hsl(0, 100%, 11%, 1);
  --cpd-color-alpha-red-200: hsl(0, 100%, 12%, 1);
  --cpd-color-alpha-red-300: hsl(0, 100%, 14%, 1);
  --cpd-color-alpha-red-400: hsl(0, 100%, 18%, 1);
  --cpd-color-alpha-red-500: hsl(0, 100%, 22%, 1);
  --cpd-color-alpha-red-600: hsl(356, 100%, 26%, 1);
  --cpd-color-alpha-red-700: hsla(354, 99%, 52%, 0.6);
  --cpd-color-alpha-red-800: hsla(357, 99%, 57%, 0.81);
  --cpd-color-alpha-red-900: hsl(1, 98%, 61%, 1);
  --cpd-color-alpha-red-1000: hsl(3, 100%, 68%, 1);
  --cpd-color-alpha-red-1100: hsl(5, 100%, 74%, 1);
  --cpd-color-alpha-red-1200: hsl(7, 100%, 82%, 1);
  --cpd-color-alpha-red-1300: hsl(8, 100%, 90%, 1);
  --cpd-color-alpha-red-1400: hsl(7, 100%, 95%, 1);
  --cpd-color-alpha-orange-100: hsl(0, 100%, 11%, 1);
  --cpd-color-alpha-orange-200: hsl(0, 100%, 12%, 1);
  --cpd-color-alpha-orange-300: hsl(0, 100%, 14%, 1);
  --cpd-color-alpha-orange-400: hsl(0, 100%, 17%, 1);
  --cpd-color-alpha-orange-500: hsl(0, 100%, 22%, 1);
  --cpd-color-alpha-orange-600: hsl(2, 100%, 26%, 1);
  --cpd-color-alpha-orange-700: hsla(12, 100%, 39%, 0.74);
  --cpd-color-alpha-orange-800: hsla(21, 100%, 50%, 0.71);
  --cpd-color-alpha-orange-900: hsla(26, 99%, 52%, 0.85);
  --cpd-color-alpha-orange-1000: hsla(29, 99%, 53%, 0.92);
  --cpd-color-alpha-orange-1100: hsla(27, 98%, 62%, 0.97);
  --cpd-color-alpha-orange-1200: hsla(26, 97%, 75%, 0.99);
  --cpd-color-alpha-orange-1300: hsl(24, 100%, 86%, 1);
  --cpd-color-alpha-orange-1400: hsl(25, 100%, 93%, 1);
  --cpd-color-alpha-yellow-100: hsl(0, 100%, 11%, 1);
  --cpd-color-alpha-yellow-200: hsl(3, 100%, 11%, 1);
  --cpd-color-alpha-yellow-300: hsl(8, 100%, 13%, 1);
  --cpd-color-alpha-yellow-400: hsl(16, 100%, 15%, 1);
  --cpd-color-alpha-yellow-500: hsl(23, 100%, 18%, 1);
  --cpd-color-alpha-yellow-600: hsla(26, 100%, 23%, 0.87);
  --cpd-color-alpha-yellow-700: hsla(30, 100%, 26%, 0.92);
  --cpd-color-alpha-yellow-800: hsl(35, 100%, 31%, 1);
  --cpd-color-alpha-yellow-900: hsl(39, 100%, 37%, 1);
  --cpd-color-alpha-yellow-1000: hsl(41, 100%, 40%, 1);
  --cpd-color-alpha-yellow-1100: hsl(44, 100%, 43%, 1);
  --cpd-color-alpha-yellow-1200: hsla(46, 98%, 52%, 0.94);
  --cpd-color-alpha-yellow-1300: hsl(47, 99%, 67%, 1);
  --cpd-color-alpha-yellow-1400: hsl(46, 100%, 85%, 1);
  --cpd-color-alpha-lime-100: hsl(120, 100%, 5%, 1);
  --cpd-color-alpha-lime-200: hsl(120, 100%, 6%, 1);
  --cpd-color-alpha-lime-300: hsl(120, 100%, 8%, 1);
  --cpd-color-alpha-lime-400: hsl(120, 100%, 9%, 1);
  --cpd-color-alpha-lime-500: hsl(120, 100%, 12%, 1);
  --cpd-color-alpha-lime-600: hsl(120, 100%, 15%, 1);
  --cpd-color-alpha-lime-700: hsl(120, 100%, 18%, 1);
  --cpd-color-alpha-lime-800: hsla(112, 98%, 52%, 0.45);
  --cpd-color-alpha-lime-900: hsla(107, 98%, 57%, 0.58);
  --cpd-color-alpha-lime-1000: hsla(105, 97%, 58%, 0.66);
  --cpd-color-alpha-lime-1100: hsla(102, 98%, 60%, 0.74);
  --cpd-color-alpha-lime-1200: hsla(102, 100%, 68%, 0.84);
  --cpd-color-alpha-lime-1300: hsla(104, 100%, 84%, 0.92);
  --cpd-color-alpha-lime-1400: hsla(105, 91%, 92%, 0.97);
  --cpd-color-alpha-green-100: hsl(144, 100%, 6%, 1);
  --cpd-color-alpha-green-200: hsl(147, 100%, 6%, 1);
  --cpd-color-alpha-green-300: hsl(151, 100%, 7%, 1);
  --cpd-color-alpha-green-400: hsl(155, 100%, 9%, 1);
  --cpd-color-alpha-green-500: hsl(160, 100%, 12%, 1);
  --cpd-color-alpha-green-600: hsl(162, 100%, 14%, 1);
  --cpd-color-alpha-green-700: hsl(165, 100%, 18%, 1);
  --cpd-color-alpha-green-800: hsl(168, 100%, 24%, 1);
  --cpd-color-alpha-green-900: hsla(164, 98%, 53%, 0.58);
  --cpd-color-alpha-green-1000: hsla(163, 99%, 55%, 0.65);
  --cpd-color-alpha-green-1100: hsla(162, 98%, 57%, 0.74);
  --cpd-color-alpha-green-1200: hsla(156, 97%, 76%, 0.83);
  --cpd-color-alpha-green-1300: hsla(152, 93%, 88%, 0.91);
  --cpd-color-alpha-green-1400: hsla(152, 88%, 94%, 0.96);
  --cpd-color-alpha-cyan-100: hsl(225, 100%, 13%, 1);
  --cpd-color-alpha-cyan-200: hsl(223, 100%, 14%, 1);
  --cpd-color-alpha-cyan-300: hsl(219, 100%, 15%, 1);
  --cpd-color-alpha-cyan-400: hsl(215, 100%, 18%, 1);
  --cpd-color-alpha-cyan-500: hsl(210, 100%, 20%, 1);
  --cpd-color-alpha-cyan-600: hsl(208, 100%, 23%, 1);
  --cpd-color-alpha-cyan-700: hsl(204, 100%, 27%, 1);
  --cpd-color-alpha-cyan-800: hsla(200, 100%, 37%, 0.88);
  --cpd-color-alpha-cyan-900: hsl(194, 100%, 37%, 1);
  --cpd-color-alpha-cyan-1000: hsla(189, 100%, 44%, 0.88);
  --cpd-color-alpha-cyan-1100: hsla(186, 98%, 57%, 0.79);
  --cpd-color-alpha-cyan-1200: hsla(187, 100%, 77%, 0.85);
  --cpd-color-alpha-cyan-1300: hsla(187, 93%, 89%, 0.92);
  --cpd-color-alpha-cyan-1400: hsla(187, 93%, 94%, 0.96);
  --cpd-color-alpha-blue-100: hsl(237, 100%, 18%, 1);
  --cpd-color-alpha-blue-200: hsl(234, 100%, 18%, 1);
  --cpd-color-alpha-blue-300: hsl(229, 100%, 20%, 1);
  --cpd-color-alpha-blue-400: hsl(224, 100%, 22%, 1);
  --cpd-color-alpha-blue-500: hsla(221, 100%, 37%, 0.63);
  --cpd-color-alpha-blue-600: hsla(219, 99%, 50%, 0.53);
  --cpd-color-alpha-blue-700: hsla(217, 99%, 51%, 0.64);
  --cpd-color-alpha-blue-800: hsla(214, 99%, 53%, 0.84);
  --cpd-color-alpha-blue-900: hsla(215, 98%, 63%, 0.92);
  --cpd-color-alpha-blue-1000: hsla(216, 99%, 69%, 0.94);
  --cpd-color-alpha-blue-1100: hsla(215, 97%, 74%, 0.96);
  --cpd-color-alpha-blue-1200: hsla(216, 100%, 82%, 0.97);
  --cpd-color-alpha-blue-1300: hsla(216, 96%, 90%, 0.99);
  --cpd-color-alpha-blue-1400: hsl(217, 93%, 95%, 1);
  --cpd-color-alpha-purple-100: hsl(258, 100%, 17%, 1);
  --cpd-color-alpha-purple-200: hsl(259, 100%, 18%, 1);
  --cpd-color-alpha-purple-300: hsl(259, 100%, 21%, 1);
  --cpd-color-alpha-purple-400: hsl(261, 100%, 25%, 1);
  --cpd-color-alpha-purple-500: hsl(263, 100%, 31%, 1);
  --cpd-color-alpha-purple-600: hsla(263, 98%, 52%, 0.67);
  --cpd-color-alpha-purple-700: hsla(260, 98%, 58%, 0.76);
  --cpd-color-alpha-purple-800: hsla(257, 100%, 65%, 0.92);
  --cpd-color-alpha-purple-900: hsla(254, 99%, 72%, 0.98);
  --cpd-color-alpha-purple-1000: hsla(252, 98%, 77%, 0.99);
  --cpd-color-alpha-purple-1100: hsl(250, 98%, 80%, 1);
  --cpd-color-alpha-purple-1200: hsl(249, 100%, 87%, 1);
  --cpd-color-alpha-purple-1300: hsl(246, 100%, 93%, 1);
  --cpd-color-alpha-purple-1400: hsl(249, 100%, 96%, 1);
  --cpd-color-alpha-fuchsia-100: hsl(279, 100%, 12%, 1);
  --cpd-color-alpha-fuchsia-200: hsl(281, 100%, 13%, 1);
  --cpd-color-alpha-fuchsia-300: hsl(282, 100%, 15%, 1);
  --cpd-color-alpha-fuchsia-400: hsl(285, 100%, 18%, 1);
  --cpd-color-alpha-fuchsia-500: hsla(287, 100%, 52%, 0.38);
  --cpd-color-alpha-fuchsia-600: hsla(288, 100%, 56%, 0.44);
  --cpd-color-alpha-fuchsia-700: hsla(289, 99%, 59%, 0.54);
  --cpd-color-alpha-fuchsia-800: hsla(294, 98%, 63%, 0.71);
  --cpd-color-alpha-fuchsia-900: hsla(295, 97%, 72%, 0.8);
  --cpd-color-alpha-fuchsia-1000: hsla(296, 98%, 78%, 0.83);
  --cpd-color-alpha-fuchsia-1100: hsla(297, 98%, 82%, 0.86);
  --cpd-color-alpha-fuchsia-1200: hsla(296, 97%, 88%, 0.91);
  --cpd-color-alpha-fuchsia-1300: hsla(296, 100%, 94%, 0.95);
  --cpd-color-alpha-fuchsia-1400: hsla(296, 90%, 96%, 0.98);
  --cpd-color-alpha-pink-100: hsl(344, 100%, 11%, 1);
  --cpd-color-alpha-pink-200: hsl(342, 100%, 12%, 1);
  --cpd-color-alpha-pink-300: hsl(339, 100%, 14%, 1);
  --cpd-color-alpha-pink-400: hsl(335, 100%, 17%, 1);
  --cpd-color-alpha-pink-500: hsl(330, 100%, 21%, 1);
  --cpd-color-alpha-pink-600: hsla(333, 97%, 50%, 0.46);
  --cpd-color-alpha-pink-700: hsla(334, 98%, 53%, 0.58);
  --cpd-color-alpha-pink-800: hsla(335, 99%, 55%, 0.8);
  --cpd-color-alpha-pink-900: hsla(340, 99%, 63%, 0.96);
  --cpd-color-alpha-pink-1000: hsla(343, 100%, 70%, 0.98);
  --cpd-color-alpha-pink-1100: hsl(345, 98%, 76%, 1);
  --cpd-color-alpha-pink-1200: hsl(346, 100%, 84%, 1);
  --cpd-color-alpha-pink-1300: hsl(347, 100%, 91%, 1);
  --cpd-color-alpha-pink-1400: hsl(347, 100%, 96%, 1);
}
        }
    }
}

@layer compound {

    @media screen {

        @layer cpd-semantic {
.cpd-theme-dark.cpd-theme-dark {
  --cpd-color-bg-canvas-default-level-1: var(--cpd-color-gray-300);
  --cpd-color-bg-subtle-secondary-level-0: var(--cpd-color-theme-bg);
}
        }
    }
}

@layer compound {

    @media screen and (prefers-color-scheme: dark) {

        @layer cpd-semantic {
:root {
  --cpd-color-bg-canvas-default-level-1: var(--cpd-color-gray-300);
  --cpd-color-bg-subtle-secondary-level-0: var(--cpd-color-theme-bg);
}
        }
    }
}

@layer compound {

    @media screen {

        @layer cpd-base {
.cpd-theme-dark-hc.cpd-theme-dark-hc {
  --cpd-color-theme-bg: #101317;
  --cpd-color-gray-100: #181a1f;
  --cpd-color-gray-200: #1d1f24;
  --cpd-color-gray-300: #26282d;
  --cpd-color-gray-400: #2b2e33;
  --cpd-color-gray-500: #3c3f44;
  --cpd-color-gray-600: #4a4f55;
  --cpd-color-gray-700: #606770;
  --cpd-color-gray-800: #79818d;
  --cpd-color-gray-900: #acb4bd;
  --cpd-color-gray-1000: #b8bfc7;
  --cpd-color-gray-1100: #c8ced5;
  --cpd-color-gray-1200: #d5dae1;
  --cpd-color-gray-1300: #ebeef2;
  --cpd-color-gray-1400: #f2f5f7;
  --cpd-color-red-100: #3e0000;
  --cpd-color-red-200: #470000;
  --cpd-color-red-300: #590000;
  --cpd-color-red-400: #640000;
  --cpd-color-red-500: #830009;
  --cpd-color-red-600: #9f0d1e;
  --cpd-color-red-700: #c81e28;
  --cpd-color-red-800: #f52f33;
  --cpd-color-red-900: #ff968c;
  --cpd-color-red-1000: #ffa79d;
  --cpd-color-red-1100: #ffbdb5;
  --cpd-color-red-1200: #ffcfc8;
  --cpd-color-red-1300: #ffe9e6;
  --cpd-color-red-1400: #fff2ef;
  --cpd-color-orange-100: #3c0000;
  --cpd-color-orange-200: #470000;
  --cpd-color-orange-300: #580000;
  --cpd-color-orange-400: #650000;
  --cpd-color-orange-500: #830500;
  --cpd-color-orange-600: #972206;
  --cpd-color-orange-700: #b44007;
  --cpd-color-orange-800: #d15f0b;
  --cpd-color-orange-900: #f89d58;
  --cpd-color-orange-1000: #faad73;
  --cpd-color-orange-1100: #fdc197;
  --cpd-color-orange-1200: #fed0b1;
  --cpd-color-orange-1300: #ffeadb;
  --cpd-color-orange-1400: #fff2ea;
  --cpd-color-yellow-100: #3a0300;
  --cpd-color-yellow-200: #410900;
  --cpd-color-yellow-300: #4c1400;
  --cpd-color-yellow-400: #541d00;
  --cpd-color-yellow-500: #682e03;
  --cpd-color-yellow-600: #7c3e02;
  --cpd-color-yellow-700: #985600;
  --cpd-color-yellow-800: #b47200;
  --cpd-color-yellow-900: #e3aa00;
  --cpd-color-yellow-1000: #ebb607;
  --cpd-color-yellow-1100: #f7c816;
  --cpd-color-yellow-1200: #fed632;
  --cpd-color-yellow-1300: #ffedb1;
  --cpd-color-yellow-1400: #fff4d0;
  --cpd-color-lime-100: #002000;
  --cpd-color-lime-200: #002600;
  --cpd-color-lime-300: #003000;
  --cpd-color-lime-400: #003700;
  --cpd-color-lime-500: #004a00;
  --cpd-color-lime-600: #005c00;
  --cpd-color-lime-700: #187611;
  --cpd-color-lime-800: #31941d;
  --cpd-color-lime-900: #5eca2f;
  --cpd-color-lime-1000: #6ad639;
  --cpd-color-lime-1100: #92e175;
  --cpd-color-lime-1200: #afe99a;
  --cpd-color-lime-1300: #daf6d0;
  --cpd-color-lime-1400: #e9f9e3;
  --cpd-color-green-100: #001f0e;
  --cpd-color-green-200: #002513;
  --cpd-color-green-300: #002e1b;
  --cpd-color-green-400: #003622;
  --cpd-color-green-500: #004832;
  --cpd-color-green-600: #005a43;
  --cpd-color-green-700: #00745c;
  --cpd-color-green-800: #109173;
  --cpd-color-green-900: #37c998;
  --cpd-color-green-1000: #61d2a6;
  --cpd-color-green-1100: #8fddbc;
  --cpd-color-green-1200: #ace6cc;
  --cpd-color-green-1300: #d9f4e7;
  --cpd-color-green-1400: #e9f8f1;
  --cpd-color-cyan-100: #001448;
  --cpd-color-cyan-200: #001b4e;
  --cpd-color-cyan-300: #002559;
  --cpd-color-cyan-400: #002d61;
  --cpd-color-cyan-500: #003f75;
  --cpd-color-cyan-600: #005188;
  --cpd-color-cyan-700: #006ca4;
  --cpd-color-cyan-800: #008aba;
  --cpd-color-cyan-900: #46c3d2;
  --cpd-color-cyan-1000: #6bccd9;
  --cpd-color-cyan-1100: #93d9e2;
  --cpd-color-cyan-1200: #afe2e9;
  --cpd-color-cyan-1300: #dbf2f5;
  --cpd-color-cyan-1400: #eaf7f9;
  --cpd-color-blue-100: #00095d;
  --cpd-color-blue-200: #001264;
  --cpd-color-blue-300: #001e6f;
  --cpd-color-blue-400: #032677;
  --cpd-color-blue-500: #083891;
  --cpd-color-blue-600: #0b49ab;
  --cpd-color-blue-700: #0e61d1;
  --cpd-color-blue-800: #337fe9;
  --cpd-color-blue-900: #89b5f6;
  --cpd-color-blue-1000: #9ac0f8;
  --cpd-color-blue-1100: #b2cffa;
  --cpd-color-blue-1200: #c5dbfc;
  --cpd-color-blue-1300: #e4eefe;
  --cpd-color-blue-1400: #eff5fe;
  --cpd-color-purple-100: #1c005a;
  --cpd-color-purple-200: #22006a;
  --cpd-color-purple-300: #2c0080;
  --cpd-color-purple-400: #350090;
  --cpd-color-purple-500: #4a0db1;
  --cpd-color-purple-600: #5a27c6;
  --cpd-color-purple-700: #7343e6;
  --cpd-color-purple-800: #8b66f8;
  --cpd-color-purple-900: #b6a7ff;
  --cpd-color-purple-1000: #c0b5ff;
  --cpd-color-purple-1100: #cec7ff;
  --cpd-color-purple-1200: #dad5ff;
  --cpd-color-purple-1300: #eeebff;
  --cpd-color-purple-1400: #f5f3ff;
  --cpd-color-fuchsia-100: #2e0044;
  --cpd-color-fuchsia-200: #37004e;
  --cpd-color-fuchsia-300: #46005e;
  --cpd-color-fuchsia-400: #4f0368;
  --cpd-color-fuchsia-500: #65177d;
  --cpd-color-fuchsia-600: #7d2394;
  --cpd-color-fuchsia-700: #a233b3;
  --cpd-color-fuchsia-800: #c153cb;
  --cpd-color-fuchsia-900: #dd9de3;
  --cpd-color-fuchsia-1000: #e3abe7;
  --cpd-color-fuchsia-1100: #eac0ed;
  --cpd-color-fuchsia-1200: #f0cff2;
  --cpd-color-fuchsia-1300: #f8e9f9;
  --cpd-color-fuchsia-1400: #fbf1fb;
  --cpd-color-pink-100: #3c0012;
  --cpd-color-pink-200: #450018;
  --cpd-color-pink-300: #550024;
  --cpd-color-pink-400: #61002d;
  --cpd-color-pink-500: #7c0c41;
  --cpd-color-pink-600: #99114f;
  --cpd-color-pink-700: #c51761;
  --cpd-color-pink-800: #f12c75;
  --cpd-color-pink-900: #ff92ac;
  --cpd-color-pink-1000: #ffa4b9;
  --cpd-color-pink-1100: #ffbbca;
  --cpd-color-pink-1200: #ffccd7;
  --cpd-color-pink-1300: #ffe8ed;
  --cpd-color-pink-1400: #fff1f4;
  --cpd-color-alpha-gray-100: hsla(286, 31%, 82%, 0.04);
  --cpd-color-alpha-gray-200: hsla(280, 41%, 90%, 0.06);
  --cpd-color-alpha-gray-300: hsla(270, 37%, 93%, 0.1);
  --cpd-color-alpha-gray-400: hsla(227, 29%, 91%, 0.13);
  --cpd-color-alpha-gray-500: hsla(225, 46%, 95%, 0.2);
  --cpd-color-alpha-gray-600: hsla(213, 85%, 95%, 0.27);
  --cpd-color-alpha-gray-700: hsla(214, 79%, 93%, 0.39);
  --cpd-color-alpha-gray-800: hsla(216, 94%, 93%, 0.51);
  --cpd-color-alpha-gray-900: hsla(211, 91%, 96%, 0.72);
  --cpd-color-alpha-gray-1000: hsla(213, 100%, 97%, 0.76);
  --cpd-color-alpha-gray-1100: hsla(212, 100%, 97%, 0.82);
  --cpd-color-alpha-gray-1200: hsla(217, 77%, 97%, 0.88);
  --cpd-color-alpha-gray-1300: hsla(214, 78%, 98%, 0.95);
  --cpd-color-alpha-gray-1400: hsla(204, 71%, 99%, 0.97);
  --cpd-color-alpha-red-100: hsl(0, 100%, 12%, 1);
  --cpd-color-alpha-red-200: hsl(0, 100%, 14%, 1);
  --cpd-color-alpha-red-300: hsl(0, 100%, 18%, 1);
  --cpd-color-alpha-red-400: hsl(0, 100%, 20%, 1);
  --cpd-color-alpha-red-500: hsl(356, 100%, 26%, 1);
  --cpd-color-alpha-red-600: hsla(354, 99%, 52%, 0.6);
  --cpd-color-alpha-red-700: hsla(357, 100%, 57%, 0.77);
  --cpd-color-alpha-red-800: hsla(359, 100%, 59%, 0.96);
  --cpd-color-alpha-red-900: hsl(5, 100%, 78%, 1);
  --cpd-color-alpha-red-1000: hsl(6, 100%, 81%, 1);
  --cpd-color-alpha-red-1100: hsl(6, 100%, 86%, 1);
  --cpd-color-alpha-red-1200: hsl(8, 100%, 89%, 1);
  --cpd-color-alpha-red-1300: hsl(7, 100%, 95%, 1);
  --cpd-color-alpha-red-1400: hsl(11, 100%, 97%, 1);
  --cpd-color-alpha-orange-100: hsl(0, 100%, 12%, 1);
  --cpd-color-alpha-orange-200: hsl(0, 100%, 14%, 1);
  --cpd-color-alpha-orange-300: hsl(0, 100%, 17%, 1);
  --cpd-color-alpha-orange-400: hsl(0, 100%, 20%, 1);
  --cpd-color-alpha-orange-500: hsl(2, 100%, 26%, 1);
  --cpd-color-alpha-orange-600: hsla(12, 100%, 39%, 0.74);
  --cpd-color-alpha-orange-700: hsla(20, 100%, 49%, 0.7);
  --cpd-color-alpha-orange-800: hsla(26, 99%, 51%, 0.81);
  --cpd-color-alpha-orange-900: hsla(26, 98%, 67%, 0.98);
  --cpd-color-alpha-orange-1000: hsla(26, 100%, 73%, 0.98);
  --cpd-color-alpha-orange-1100: hsl(25, 96%, 79%, 1);
  --cpd-color-alpha-orange-1200: hsl(24, 98%, 85%, 1);
  --cpd-color-alpha-orange-1300: hsl(25, 100%, 93%, 1);
  --cpd-color-alpha-orange-1400: hsl(23, 100%, 96%, 1);
  --cpd-color-alpha-yellow-100: hsl(3, 100%, 11%, 1);
  --cpd-color-alpha-yellow-200: hsl(8, 100%, 13%, 1);
  --cpd-color-alpha-yellow-300: hsl(16, 100%, 15%, 1);
  --cpd-color-alpha-yellow-400: hsl(21, 100%, 17%, 1);
  --cpd-color-alpha-yellow-500: hsla(26, 100%, 23%, 0.87);
  --cpd-color-alpha-yellow-600: hsla(30, 100%, 26%, 0.92);
  --cpd-color-alpha-yellow-700: hsl(34, 100%, 30%, 1);
  --cpd-color-alpha-yellow-800: hsl(38, 100%, 35%, 1);
  --cpd-color-alpha-yellow-900: hsl(45, 100%, 45%, 1);
  --cpd-color-alpha-yellow-1000: hsla(46, 99%, 51%, 0.92);
  --cpd-color-alpha-yellow-1100: hsla(48, 99%, 54%, 0.97);
  --cpd-color-alpha-yellow-1200: hsl(48, 99%, 60%, 1);
  --cpd-color-alpha-yellow-1300: hsl(46, 100%, 85%, 1);
  --cpd-color-alpha-yellow-1400: hsl(46, 100%, 91%, 1);
  --cpd-color-alpha-lime-100: hsl(120, 100%, 6%, 1);
  --cpd-color-alpha-lime-200: hsl(120, 100%, 8%, 1);
  --cpd-color-alpha-lime-300: hsl(120, 100%, 9%, 1);
  --cpd-color-alpha-lime-400: hsl(120, 100%, 11%, 1);
  --cpd-color-alpha-lime-500: hsl(120, 100%, 15%, 1);
  --cpd-color-alpha-lime-600: hsl(120, 100%, 18%, 1);
  --cpd-color-alpha-lime-700: hsla(114, 100%, 52%, 0.42);
  --cpd-color-alpha-lime-800: hsla(109, 99%, 57%, 0.55);
  --cpd-color-alpha-lime-900: hsla(101, 99%, 60%, 0.78);
  --cpd-color-alpha-lime-1000: hsla(101, 99%, 62%, 0.83);
  --cpd-color-alpha-lime-1100: hsla(103, 97%, 75%, 0.88);
  --cpd-color-alpha-lime-1200: hsla(103, 98%, 83%, 0.91);
  --cpd-color-alpha-lime-1300: hsla(105, 91%, 92%, 0.97);
  --cpd-color-alpha-lime-1400: hsla(104, 92%, 95%, 0.98);
  --cpd-color-alpha-green-100: hsl(147, 100%, 6%, 1);
  --cpd-color-alpha-green-200: hsl(151, 100%, 7%, 1);
  --cpd-color-alpha-green-300: hsl(155, 100%, 9%, 1);
  --cpd-color-alpha-green-400: hsl(158, 100%, 11%, 1);
  --cpd-color-alpha-green-500: hsl(162, 100%, 14%, 1);
  --cpd-color-alpha-green-600: hsl(165, 100%, 18%, 1);
  --cpd-color-alpha-green-700: hsl(168, 100%, 23%, 1);
  --cpd-color-alpha-green-800: hsla(165, 98%, 53%, 0.54);
  --cpd-color-alpha-green-900: hsla(159, 97%, 62%, 0.78);
  --cpd-color-alpha-green-1000: hsla(156, 100%, 73%, 0.81);
  --cpd-color-alpha-green-1100: hsla(154, 98%, 82%, 0.86);
  --cpd-color-alpha-green-1200: hsla(153, 94%, 87%, 0.9);
  --cpd-color-alpha-green-1300: hsla(152, 88%, 94%, 0.96);
  --cpd-color-alpha-green-1400: hsla(150, 80%, 96%, 0.98);
  --cpd-color-alpha-cyan-100: hsl(223, 100%, 14%, 1);
  --cpd-color-alpha-cyan-200: hsl(219, 100%, 15%, 1);
  --cpd-color-alpha-cyan-300: hsl(215, 100%, 18%, 1);
  --cpd-color-alpha-cyan-400: hsl(212, 100%, 19%, 1);
  --cpd-color-alpha-cyan-500: hsl(208, 100%, 23%, 1);
  --cpd-color-alpha-cyan-600: hsl(204, 100%, 27%, 1);
  --cpd-color-alpha-cyan-700: hsl(200, 100%, 32%, 1);
  --cpd-color-alpha-cyan-800: hsl(195, 100%, 37%, 1);
  --cpd-color-alpha-cyan-900: hsla(186, 99%, 66%, 0.81);
  --cpd-color-alpha-cyan-1000: hsla(187, 99%, 74%, 0.84);
  --cpd-color-alpha-cyan-1100: hsla(187, 98%, 82%, 0.88);
  --cpd-color-alpha-cyan-1200: hsla(188, 97%, 87%, 0.91);
  --cpd-color-alpha-cyan-1300: hsla(187, 93%, 94%, 0.96);
  --cpd-color-alpha-cyan-1400: hsla(187, 89%, 97%, 0.98);
  --cpd-color-alpha-blue-100: hsl(234, 100%, 18%, 1);
  --cpd-color-alpha-blue-200: hsl(229, 100%, 20%, 1);
  --cpd-color-alpha-blue-300: hsl(224, 100%, 22%, 1);
  --cpd-color-alpha-blue-400: hsla(222, 100%, 28%, 0.82);
  --cpd-color-alpha-blue-500: hsla(219, 99%, 50%, 0.53);
  --cpd-color-alpha-blue-600: hsla(217, 99%, 51%, 0.64);
  --cpd-color-alpha-blue-700: hsla(215, 98%, 52%, 0.81);
  --cpd-color-alpha-blue-800: hsla(215, 99%, 60%, 0.91);
  --cpd-color-alpha-blue-900: hsla(216, 97%, 77%, 0.97);
  --cpd-color-alpha-blue-1000: hsla(216, 100%, 81%, 0.97);
  --cpd-color-alpha-blue-1100: hsla(216, 100%, 86%, 0.98);
  --cpd-color-alpha-blue-1200: hsla(216, 97%, 89%, 0.99);
  --cpd-color-alpha-blue-1300: hsl(217, 93%, 95%, 1);
  --cpd-color-alpha-blue-1400: hsl(216, 88%, 97%, 1);
  --cpd-color-alpha-purple-100: hsl(259, 100%, 18%, 1);
  --cpd-color-alpha-purple-200: hsl(259, 100%, 21%, 1);
  --cpd-color-alpha-purple-300: hsl(261, 100%, 25%, 1);
  --cpd-color-alpha-purple-400: hsl(262, 100%, 28%, 1);
  --cpd-color-alpha-purple-500: hsla(263, 98%, 52%, 0.67);
  --cpd-color-alpha-purple-600: hsla(260, 98%, 58%, 0.76);
  --cpd-color-alpha-purple-700: hsla(258, 98%, 64%, 0.9);
  --cpd-color-alpha-purple-800: hsla(255, 100%, 71%, 0.97);
  --cpd-color-alpha-purple-900: hsl(250, 100%, 83%, 1);
  --cpd-color-alpha-purple-1000: hsl(249, 100%, 86%, 1);
  --cpd-color-alpha-purple-1100: hsl(248, 100%, 89%, 1);
  --cpd-color-alpha-purple-1200: hsl(247, 100%, 92%, 1);
  --cpd-color-alpha-purple-1300: hsl(249, 100%, 96%, 1);
  --cpd-color-alpha-purple-1400: hsl(250, 100%, 98%, 1);
  --cpd-color-alpha-fuchsia-100: hsl(281, 100%, 13%, 1);
  --cpd-color-alpha-fuchsia-200: hsl(282, 100%, 15%, 1);
  --cpd-color-alpha-fuchsia-300: hsl(285, 100%, 18%, 1);
  --cpd-color-alpha-fuchsia-400: hsla(286, 100%, 23%, 0.85);
  --cpd-color-alpha-fuchsia-500: hsla(288, 100%, 56%, 0.44);
  --cpd-color-alpha-fuchsia-600: hsla(289, 99%, 59%, 0.54);
  --cpd-color-alpha-fuchsia-700: hsla(293, 97%, 62%, 0.68);
  --cpd-color-alpha-fuchsia-800: hsla(296, 99%, 70%, 0.78);
  --cpd-color-alpha-fuchsia-900: hsla(295, 100%, 85%, 0.88);
  --cpd-color-alpha-fuchsia-1000: hsla(296, 97%, 87%, 0.9);
  --cpd-color-alpha-fuchsia-1100: hsla(296, 92%, 90%, 0.93);
  --cpd-color-alpha-fuchsia-1200: hsla(297, 95%, 92%, 0.95);
  --cpd-color-alpha-fuchsia-1300: hsla(296, 90%, 96%, 0.98);
  --cpd-color-alpha-fuchsia-1400: hsla(300, 71%, 97%, 0.99);
  --cpd-color-alpha-pink-100: hsl(342, 100%, 12%, 1);
  --cpd-color-alpha-pink-200: hsl(339, 100%, 14%, 1);
  --cpd-color-alpha-pink-300: hsl(335, 100%, 17%, 1);
  --cpd-color-alpha-pink-400: hsl(332, 100%, 19%, 1);
  --cpd-color-alpha-pink-500: hsla(333, 97%, 50%, 0.46);
  --cpd-color-alpha-pink-600: hsla(334, 98%, 53%, 0.58);
  --cpd-color-alpha-pink-700: hsla(335, 99%, 55%, 0.76);
  --cpd-color-alpha-pink-800: hsla(338, 98%, 58%, 0.95);
  --cpd-color-alpha-pink-900: hsl(346, 100%, 79%, 1);
  --cpd-color-alpha-pink-1000: hsl(346, 100%, 82%, 1);
  --cpd-color-alpha-pink-1100: hsl(347, 100%, 87%, 1);
  --cpd-color-alpha-pink-1200: hsl(347, 100%, 90%, 1);
  --cpd-color-alpha-pink-1300: hsl(347, 100%, 96%, 1);
  --cpd-color-alpha-pink-1400: hsl(347, 100%, 97%, 1);
}
        }
    }
}

@layer compound {

    @media screen and (prefers-color-scheme: dark) and (prefers-contrast: more) {

        @layer cpd-base {
:root {
  --cpd-color-theme-bg: #101317;
  --cpd-color-gray-100: #181a1f;
  --cpd-color-gray-200: #1d1f24;
  --cpd-color-gray-300: #26282d;
  --cpd-color-gray-400: #2b2e33;
  --cpd-color-gray-500: #3c3f44;
  --cpd-color-gray-600: #4a4f55;
  --cpd-color-gray-700: #606770;
  --cpd-color-gray-800: #79818d;
  --cpd-color-gray-900: #acb4bd;
  --cpd-color-gray-1000: #b8bfc7;
  --cpd-color-gray-1100: #c8ced5;
  --cpd-color-gray-1200: #d5dae1;
  --cpd-color-gray-1300: #ebeef2;
  --cpd-color-gray-1400: #f2f5f7;
  --cpd-color-red-100: #3e0000;
  --cpd-color-red-200: #470000;
  --cpd-color-red-300: #590000;
  --cpd-color-red-400: #640000;
  --cpd-color-red-500: #830009;
  --cpd-color-red-600: #9f0d1e;
  --cpd-color-red-700: #c81e28;
  --cpd-color-red-800: #f52f33;
  --cpd-color-red-900: #ff968c;
  --cpd-color-red-1000: #ffa79d;
  --cpd-color-red-1100: #ffbdb5;
  --cpd-color-red-1200: #ffcfc8;
  --cpd-color-red-1300: #ffe9e6;
  --cpd-color-red-1400: #fff2ef;
  --cpd-color-orange-100: #3c0000;
  --cpd-color-orange-200: #470000;
  --cpd-color-orange-300: #580000;
  --cpd-color-orange-400: #650000;
  --cpd-color-orange-500: #830500;
  --cpd-color-orange-600: #972206;
  --cpd-color-orange-700: #b44007;
  --cpd-color-orange-800: #d15f0b;
  --cpd-color-orange-900: #f89d58;
  --cpd-color-orange-1000: #faad73;
  --cpd-color-orange-1100: #fdc197;
  --cpd-color-orange-1200: #fed0b1;
  --cpd-color-orange-1300: #ffeadb;
  --cpd-color-orange-1400: #fff2ea;
  --cpd-color-yellow-100: #3a0300;
  --cpd-color-yellow-200: #410900;
  --cpd-color-yellow-300: #4c1400;
  --cpd-color-yellow-400: #541d00;
  --cpd-color-yellow-500: #682e03;
  --cpd-color-yellow-600: #7c3e02;
  --cpd-color-yellow-700: #985600;
  --cpd-color-yellow-800: #b47200;
  --cpd-color-yellow-900: #e3aa00;
  --cpd-color-yellow-1000: #ebb607;
  --cpd-color-yellow-1100: #f7c816;
  --cpd-color-yellow-1200: #fed632;
  --cpd-color-yellow-1300: #ffedb1;
  --cpd-color-yellow-1400: #fff4d0;
  --cpd-color-lime-100: #002000;
  --cpd-color-lime-200: #002600;
  --cpd-color-lime-300: #003000;
  --cpd-color-lime-400: #003700;
  --cpd-color-lime-500: #004a00;
  --cpd-color-lime-600: #005c00;
  --cpd-color-lime-700: #187611;
  --cpd-color-lime-800: #31941d;
  --cpd-color-lime-900: #5eca2f;
  --cpd-color-lime-1000: #6ad639;
  --cpd-color-lime-1100: #92e175;
  --cpd-color-lime-1200: #afe99a;
  --cpd-color-lime-1300: #daf6d0;
  --cpd-color-lime-1400: #e9f9e3;
  --cpd-color-green-100: #001f0e;
  --cpd-color-green-200: #002513;
  --cpd-color-green-300: #002e1b;
  --cpd-color-green-400: #003622;
  --cpd-color-green-500: #004832;
  --cpd-color-green-600: #005a43;
  --cpd-color-green-700: #00745c;
  --cpd-color-green-800: #109173;
  --cpd-color-green-900: #37c998;
  --cpd-color-green-1000: #61d2a6;
  --cpd-color-green-1100: #8fddbc;
  --cpd-color-green-1200: #ace6cc;
  --cpd-color-green-1300: #d9f4e7;
  --cpd-color-green-1400: #e9f8f1;
  --cpd-color-cyan-100: #001448;
  --cpd-color-cyan-200: #001b4e;
  --cpd-color-cyan-300: #002559;
  --cpd-color-cyan-400: #002d61;
  --cpd-color-cyan-500: #003f75;
  --cpd-color-cyan-600: #005188;
  --cpd-color-cyan-700: #006ca4;
  --cpd-color-cyan-800: #008aba;
  --cpd-color-cyan-900: #46c3d2;
  --cpd-color-cyan-1000: #6bccd9;
  --cpd-color-cyan-1100: #93d9e2;
  --cpd-color-cyan-1200: #afe2e9;
  --cpd-color-cyan-1300: #dbf2f5;
  --cpd-color-cyan-1400: #eaf7f9;
  --cpd-color-blue-100: #00095d;
  --cpd-color-blue-200: #001264;
  --cpd-color-blue-300: #001e6f;
  --cpd-color-blue-400: #032677;
  --cpd-color-blue-500: #083891;
  --cpd-color-blue-600: #0b49ab;
  --cpd-color-blue-700: #0e61d1;
  --cpd-color-blue-800: #337fe9;
  --cpd-color-blue-900: #89b5f6;
  --cpd-color-blue-1000: #9ac0f8;
  --cpd-color-blue-1100: #b2cffa;
  --cpd-color-blue-1200: #c5dbfc;
  --cpd-color-blue-1300: #e4eefe;
  --cpd-color-blue-1400: #eff5fe;
  --cpd-color-purple-100: #1c005a;
  --cpd-color-purple-200: #22006a;
  --cpd-color-purple-300: #2c0080;
  --cpd-color-purple-400: #350090;
  --cpd-color-purple-500: #4a0db1;
  --cpd-color-purple-600: #5a27c6;
  --cpd-color-purple-700: #7343e6;
  --cpd-color-purple-800: #8b66f8;
  --cpd-color-purple-900: #b6a7ff;
  --cpd-color-purple-1000: #c0b5ff;
  --cpd-color-purple-1100: #cec7ff;
  --cpd-color-purple-1200: #dad5ff;
  --cpd-color-purple-1300: #eeebff;
  --cpd-color-purple-1400: #f5f3ff;
  --cpd-color-fuchsia-100: #2e0044;
  --cpd-color-fuchsia-200: #37004e;
  --cpd-color-fuchsia-300: #46005e;
  --cpd-color-fuchsia-400: #4f0368;
  --cpd-color-fuchsia-500: #65177d;
  --cpd-color-fuchsia-600: #7d2394;
  --cpd-color-fuchsia-700: #a233b3;
  --cpd-color-fuchsia-800: #c153cb;
  --cpd-color-fuchsia-900: #dd9de3;
  --cpd-color-fuchsia-1000: #e3abe7;
  --cpd-color-fuchsia-1100: #eac0ed;
  --cpd-color-fuchsia-1200: #f0cff2;
  --cpd-color-fuchsia-1300: #f8e9f9;
  --cpd-color-fuchsia-1400: #fbf1fb;
  --cpd-color-pink-100: #3c0012;
  --cpd-color-pink-200: #450018;
  --cpd-color-pink-300: #550024;
  --cpd-color-pink-400: #61002d;
  --cpd-color-pink-500: #7c0c41;
  --cpd-color-pink-600: #99114f;
  --cpd-color-pink-700: #c51761;
  --cpd-color-pink-800: #f12c75;
  --cpd-color-pink-900: #ff92ac;
  --cpd-color-pink-1000: #ffa4b9;
  --cpd-color-pink-1100: #ffbbca;
  --cpd-color-pink-1200: #ffccd7;
  --cpd-color-pink-1300: #ffe8ed;
  --cpd-color-pink-1400: #fff1f4;
  --cpd-color-alpha-gray-100: hsla(286, 31%, 82%, 0.04);
  --cpd-color-alpha-gray-200: hsla(280, 41%, 90%, 0.06);
  --cpd-color-alpha-gray-300: hsla(270, 37%, 93%, 0.1);
  --cpd-color-alpha-gray-400: hsla(227, 29%, 91%, 0.13);
  --cpd-color-alpha-gray-500: hsla(225, 46%, 95%, 0.2);
  --cpd-color-alpha-gray-600: hsla(213, 85%, 95%, 0.27);
  --cpd-color-alpha-gray-700: hsla(214, 79%, 93%, 0.39);
  --cpd-color-alpha-gray-800: hsla(216, 94%, 93%, 0.51);
  --cpd-color-alpha-gray-900: hsla(211, 91%, 96%, 0.72);
  --cpd-color-alpha-gray-1000: hsla(213, 100%, 97%, 0.76);
  --cpd-color-alpha-gray-1100: hsla(212, 100%, 97%, 0.82);
  --cpd-color-alpha-gray-1200: hsla(217, 77%, 97%, 0.88);
  --cpd-color-alpha-gray-1300: hsla(214, 78%, 98%, 0.95);
  --cpd-color-alpha-gray-1400: hsla(204, 71%, 99%, 0.97);
  --cpd-color-alpha-red-100: hsl(0, 100%, 12%, 1);
  --cpd-color-alpha-red-200: hsl(0, 100%, 14%, 1);
  --cpd-color-alpha-red-300: hsl(0, 100%, 18%, 1);
  --cpd-color-alpha-red-400: hsl(0, 100%, 20%, 1);
  --cpd-color-alpha-red-500: hsl(356, 100%, 26%, 1);
  --cpd-color-alpha-red-600: hsla(354, 99%, 52%, 0.6);
  --cpd-color-alpha-red-700: hsla(357, 100%, 57%, 0.77);
  --cpd-color-alpha-red-800: hsla(359, 100%, 59%, 0.96);
  --cpd-color-alpha-red-900: hsl(5, 100%, 78%, 1);
  --cpd-color-alpha-red-1000: hsl(6, 100%, 81%, 1);
  --cpd-color-alpha-red-1100: hsl(6, 100%, 86%, 1);
  --cpd-color-alpha-red-1200: hsl(8, 100%, 89%, 1);
  --cpd-color-alpha-red-1300: hsl(7, 100%, 95%, 1);
  --cpd-color-alpha-red-1400: hsl(11, 100%, 97%, 1);
  --cpd-color-alpha-orange-100: hsl(0, 100%, 12%, 1);
  --cpd-color-alpha-orange-200: hsl(0, 100%, 14%, 1);
  --cpd-color-alpha-orange-300: hsl(0, 100%, 17%, 1);
  --cpd-color-alpha-orange-400: hsl(0, 100%, 20%, 1);
  --cpd-color-alpha-orange-500: hsl(2, 100%, 26%, 1);
  --cpd-color-alpha-orange-600: hsla(12, 100%, 39%, 0.74);
  --cpd-color-alpha-orange-700: hsla(20, 100%, 49%, 0.7);
  --cpd-color-alpha-orange-800: hsla(26, 99%, 51%, 0.81);
  --cpd-color-alpha-orange-900: hsla(26, 98%, 67%, 0.98);
  --cpd-color-alpha-orange-1000: hsla(26, 100%, 73%, 0.98);
  --cpd-color-alpha-orange-1100: hsl(25, 96%, 79%, 1);
  --cpd-color-alpha-orange-1200: hsl(24, 98%, 85%, 1);
  --cpd-color-alpha-orange-1300: hsl(25, 100%, 93%, 1);
  --cpd-color-alpha-orange-1400: hsl(23, 100%, 96%, 1);
  --cpd-color-alpha-yellow-100: hsl(3, 100%, 11%, 1);
  --cpd-color-alpha-yellow-200: hsl(8, 100%, 13%, 1);
  --cpd-color-alpha-yellow-300: hsl(16, 100%, 15%, 1);
  --cpd-color-alpha-yellow-400: hsl(21, 100%, 17%, 1);
  --cpd-color-alpha-yellow-500: hsla(26, 100%, 23%, 0.87);
  --cpd-color-alpha-yellow-600: hsla(30, 100%, 26%, 0.92);
  --cpd-color-alpha-yellow-700: hsl(34, 100%, 30%, 1);
  --cpd-color-alpha-yellow-800: hsl(38, 100%, 35%, 1);
  --cpd-color-alpha-yellow-900: hsl(45, 100%, 45%, 1);
  --cpd-color-alpha-yellow-1000: hsla(46, 99%, 51%, 0.92);
  --cpd-color-alpha-yellow-1100: hsla(48, 99%, 54%, 0.97);
  --cpd-color-alpha-yellow-1200: hsl(48, 99%, 60%, 1);
  --cpd-color-alpha-yellow-1300: hsl(46, 100%, 85%, 1);
  --cpd-color-alpha-yellow-1400: hsl(46, 100%, 91%, 1);
  --cpd-color-alpha-lime-100: hsl(120, 100%, 6%, 1);
  --cpd-color-alpha-lime-200: hsl(120, 100%, 8%, 1);
  --cpd-color-alpha-lime-300: hsl(120, 100%, 9%, 1);
  --cpd-color-alpha-lime-400: hsl(120, 100%, 11%, 1);
  --cpd-color-alpha-lime-500: hsl(120, 100%, 15%, 1);
  --cpd-color-alpha-lime-600: hsl(120, 100%, 18%, 1);
  --cpd-color-alpha-lime-700: hsla(114, 100%, 52%, 0.42);
  --cpd-color-alpha-lime-800: hsla(109, 99%, 57%, 0.55);
  --cpd-color-alpha-lime-900: hsla(101, 99%, 60%, 0.78);
  --cpd-color-alpha-lime-1000: hsla(101, 99%, 62%, 0.83);
  --cpd-color-alpha-lime-1100: hsla(103, 97%, 75%, 0.88);
  --cpd-color-alpha-lime-1200: hsla(103, 98%, 83%, 0.91);
  --cpd-color-alpha-lime-1300: hsla(105, 91%, 92%, 0.97);
  --cpd-color-alpha-lime-1400: hsla(104, 92%, 95%, 0.98);
  --cpd-color-alpha-green-100: hsl(147, 100%, 6%, 1);
  --cpd-color-alpha-green-200: hsl(151, 100%, 7%, 1);
  --cpd-color-alpha-green-300: hsl(155, 100%, 9%, 1);
  --cpd-color-alpha-green-400: hsl(158, 100%, 11%, 1);
  --cpd-color-alpha-green-500: hsl(162, 100%, 14%, 1);
  --cpd-color-alpha-green-600: hsl(165, 100%, 18%, 1);
  --cpd-color-alpha-green-700: hsl(168, 100%, 23%, 1);
  --cpd-color-alpha-green-800: hsla(165, 98%, 53%, 0.54);
  --cpd-color-alpha-green-900: hsla(159, 97%, 62%, 0.78);
  --cpd-color-alpha-green-1000: hsla(156, 100%, 73%, 0.81);
  --cpd-color-alpha-green-1100: hsla(154, 98%, 82%, 0.86);
  --cpd-color-alpha-green-1200: hsla(153, 94%, 87%, 0.9);
  --cpd-color-alpha-green-1300: hsla(152, 88%, 94%, 0.96);
  --cpd-color-alpha-green-1400: hsla(150, 80%, 96%, 0.98);
  --cpd-color-alpha-cyan-100: hsl(223, 100%, 14%, 1);
  --cpd-color-alpha-cyan-200: hsl(219, 100%, 15%, 1);
  --cpd-color-alpha-cyan-300: hsl(215, 100%, 18%, 1);
  --cpd-color-alpha-cyan-400: hsl(212, 100%, 19%, 1);
  --cpd-color-alpha-cyan-500: hsl(208, 100%, 23%, 1);
  --cpd-color-alpha-cyan-600: hsl(204, 100%, 27%, 1);
  --cpd-color-alpha-cyan-700: hsl(200, 100%, 32%, 1);
  --cpd-color-alpha-cyan-800: hsl(195, 100%, 37%, 1);
  --cpd-color-alpha-cyan-900: hsla(186, 99%, 66%, 0.81);
  --cpd-color-alpha-cyan-1000: hsla(187, 99%, 74%, 0.84);
  --cpd-color-alpha-cyan-1100: hsla(187, 98%, 82%, 0.88);
  --cpd-color-alpha-cyan-1200: hsla(188, 97%, 87%, 0.91);
  --cpd-color-alpha-cyan-1300: hsla(187, 93%, 94%, 0.96);
  --cpd-color-alpha-cyan-1400: hsla(187, 89%, 97%, 0.98);
  --cpd-color-alpha-blue-100: hsl(234, 100%, 18%, 1);
  --cpd-color-alpha-blue-200: hsl(229, 100%, 20%, 1);
  --cpd-color-alpha-blue-300: hsl(224, 100%, 22%, 1);
  --cpd-color-alpha-blue-400: hsla(222, 100%, 28%, 0.82);
  --cpd-color-alpha-blue-500: hsla(219, 99%, 50%, 0.53);
  --cpd-color-alpha-blue-600: hsla(217, 99%, 51%, 0.64);
  --cpd-color-alpha-blue-700: hsla(215, 98%, 52%, 0.81);
  --cpd-color-alpha-blue-800: hsla(215, 99%, 60%, 0.91);
  --cpd-color-alpha-blue-900: hsla(216, 97%, 77%, 0.97);
  --cpd-color-alpha-blue-1000: hsla(216, 100%, 81%, 0.97);
  --cpd-color-alpha-blue-1100: hsla(216, 100%, 86%, 0.98);
  --cpd-color-alpha-blue-1200: hsla(216, 97%, 89%, 0.99);
  --cpd-color-alpha-blue-1300: hsl(217, 93%, 95%, 1);
  --cpd-color-alpha-blue-1400: hsl(216, 88%, 97%, 1);
  --cpd-color-alpha-purple-100: hsl(259, 100%, 18%, 1);
  --cpd-color-alpha-purple-200: hsl(259, 100%, 21%, 1);
  --cpd-color-alpha-purple-300: hsl(261, 100%, 25%, 1);
  --cpd-color-alpha-purple-400: hsl(262, 100%, 28%, 1);
  --cpd-color-alpha-purple-500: hsla(263, 98%, 52%, 0.67);
  --cpd-color-alpha-purple-600: hsla(260, 98%, 58%, 0.76);
  --cpd-color-alpha-purple-700: hsla(258, 98%, 64%, 0.9);
  --cpd-color-alpha-purple-800: hsla(255, 100%, 71%, 0.97);
  --cpd-color-alpha-purple-900: hsl(250, 100%, 83%, 1);
  --cpd-color-alpha-purple-1000: hsl(249, 100%, 86%, 1);
  --cpd-color-alpha-purple-1100: hsl(248, 100%, 89%, 1);
  --cpd-color-alpha-purple-1200: hsl(247, 100%, 92%, 1);
  --cpd-color-alpha-purple-1300: hsl(249, 100%, 96%, 1);
  --cpd-color-alpha-purple-1400: hsl(250, 100%, 98%, 1);
  --cpd-color-alpha-fuchsia-100: hsl(281, 100%, 13%, 1);
  --cpd-color-alpha-fuchsia-200: hsl(282, 100%, 15%, 1);
  --cpd-color-alpha-fuchsia-300: hsl(285, 100%, 18%, 1);
  --cpd-color-alpha-fuchsia-400: hsla(286, 100%, 23%, 0.85);
  --cpd-color-alpha-fuchsia-500: hsla(288, 100%, 56%, 0.44);
  --cpd-color-alpha-fuchsia-600: hsla(289, 99%, 59%, 0.54);
  --cpd-color-alpha-fuchsia-700: hsla(293, 97%, 62%, 0.68);
  --cpd-color-alpha-fuchsia-800: hsla(296, 99%, 70%, 0.78);
  --cpd-color-alpha-fuchsia-900: hsla(295, 100%, 85%, 0.88);
  --cpd-color-alpha-fuchsia-1000: hsla(296, 97%, 87%, 0.9);
  --cpd-color-alpha-fuchsia-1100: hsla(296, 92%, 90%, 0.93);
  --cpd-color-alpha-fuchsia-1200: hsla(297, 95%, 92%, 0.95);
  --cpd-color-alpha-fuchsia-1300: hsla(296, 90%, 96%, 0.98);
  --cpd-color-alpha-fuchsia-1400: hsla(300, 71%, 97%, 0.99);
  --cpd-color-alpha-pink-100: hsl(342, 100%, 12%, 1);
  --cpd-color-alpha-pink-200: hsl(339, 100%, 14%, 1);
  --cpd-color-alpha-pink-300: hsl(335, 100%, 17%, 1);
  --cpd-color-alpha-pink-400: hsl(332, 100%, 19%, 1);
  --cpd-color-alpha-pink-500: hsla(333, 97%, 50%, 0.46);
  --cpd-color-alpha-pink-600: hsla(334, 98%, 53%, 0.58);
  --cpd-color-alpha-pink-700: hsla(335, 99%, 55%, 0.76);
  --cpd-color-alpha-pink-800: hsla(338, 98%, 58%, 0.95);
  --cpd-color-alpha-pink-900: hsl(346, 100%, 79%, 1);
  --cpd-color-alpha-pink-1000: hsl(346, 100%, 82%, 1);
  --cpd-color-alpha-pink-1100: hsl(347, 100%, 87%, 1);
  --cpd-color-alpha-pink-1200: hsl(347, 100%, 90%, 1);
  --cpd-color-alpha-pink-1300: hsl(347, 100%, 96%, 1);
  --cpd-color-alpha-pink-1400: hsl(347, 100%, 97%, 1);
}
        }
    }
}

@layer compound {

    @media screen {

        @layer cpd-semantic {
.cpd-theme-dark-hc.cpd-theme-dark-hc {
  --cpd-color-bg-canvas-default-level-1: var(--cpd-color-gray-300);
  --cpd-color-bg-subtle-secondary-level-0: var(--cpd-color-theme-bg);
}
        }
    }
}

@layer compound {

    @media screen and (prefers-color-scheme: dark) and (prefers-contrast: more) {

        @layer cpd-semantic {
:root {
  --cpd-color-bg-canvas-default-level-1: var(--cpd-color-gray-300);
  --cpd-color-bg-subtle-secondary-level-0: var(--cpd-color-theme-bg);
}
        }
    }
}

/*
Copyright 2023  New Vector Ltd

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/

/* TODO: Review entire file for semantic token definiton */

._alert_1bz08_19 {
  container-type: inline-size;
  container-name: alert;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: start;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: start;
  gap: var(--cpd-space-3x);
  padding: var(--cpd-space-4x);
  border-radius: 8px;
  border: 1px solid;
}

._alert_1bz08_19[data-type="success"] {
  background-color: var(--cpd-color-green-200);
  border-color: var(--cpd-color-green-500);
}

._alert_1bz08_19[data-type="critical"] {
  background-color: var(--cpd-color-red-200);
  border-color: var(--cpd-color-red-500);
}

._alert_1bz08_19[data-type="info"] {
  background-color: var(--cpd-color-blue-200);
  border-color: var(--cpd-color-blue-500);
}

._content_1bz08_46 {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  gap: var(--cpd-space-3x);
}

._text-content_1bz08_53 {
  -webkit-box-flex: 1;
      -ms-flex: 1 1 0px;
          flex: 1 1 0;
}

[data-type="success"] :is(._title_1bz08_57, ._icon_1bz08_57) {
  color: var(--cpd-color-green-900);
}

[data-type="critical"] :is(._title_1bz08_57, ._icon_1bz08_57) {
  color: var(--cpd-color-red-900);
}

[data-type="info"] :is(._title_1bz08_57, ._icon_1bz08_57) {
  color: var(--cpd-color-blue-900);
}

._alert_1bz08_19 p {
  margin: 0;
}

._actions_1bz08_73 {
  -webkit-box-flex: 0;
      -ms-flex: 0;
          flex: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  gap: var(--cpd-space-1x);
  -ms-flex-item-align: center;
      align-self: center;
}

._icon_1bz08_57 {
  -ms-flex-negative: 0;
      flex-shrink: 0;
}

/* @TODO 600px break should be a token */

/* wrap actions into a stacked layout when the alert is <=600px */

@container alert (max-width: 600px) {
  ._content_1bz08_46 {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }

  ._text-content_1bz08_53 {
    -webkit-box-flex: 1;
        -ms-flex: 1 0 100%;
            flex: 1 0 100%;
  }
}

/*
Copyright 2023 New Vector Ltd

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/

/**
 * Font – Body – Extra Small
 */

._font-body-xs-regular_yh5dq_21 {
  letter-spacing: var(--cpd-font-letter-spacing-body-xs);
  font: var(--cpd-font-body-xs-regular);
}

._font-body-xs-semibold_yh5dq_26 {
  letter-spacing: var(--cpd-font-letter-spacing-body-xs);
  font: var(--cpd-font-body-xs-semibold);
}

._font-body-xs-medium_yh5dq_31 {
  letter-spacing: var(--cpd-font-letter-spacing-body-xs);
  font: var(--cpd-font-body-xs-medium);
}

/**
 * Font – Body – Small
 */

._font-body-sm-regular_yh5dq_40 {
  letter-spacing: var(--cpd-font-letter-spacing-body-sm);
  font: var(--cpd-font-body-sm-regular);
}

._font-body-sm-semibold_yh5dq_45 {
  letter-spacing: var(--cpd-font-letter-spacing-body-sm);
  font: var(--cpd-font-body-sm-semibold);
}

._font-body-sm-medium_yh5dq_50 {
  letter-spacing: var(--cpd-font-letter-spacing-body-sm);
  font: var(--cpd-font-body-sm-medium);
}

/**
 * Font – Body – Medium
 */

._font-body-md-regular_yh5dq_59 {
  letter-spacing: var(--cpd-font-letter-spacing-body-md);
  font: var(--cpd-font-body-md-regular);
}

._font-body-md-semibold_yh5dq_64 {
  letter-spacing: var(--cpd-font-letter-spacing-body-md);
  font: var(--cpd-font-body-md-semibold);
}

._font-body-md-medium_yh5dq_69 {
  letter-spacing: var(--cpd-font-letter-spacing-body-md);
  font: var(--cpd-font-body-md-medium);
}

/**
 * Font – Body – Large
 */

._font-body-lg-regular_yh5dq_78 {
  letter-spacing: var(--cpd-font-letter-spacing-body-lg);
  font: var(--cpd-font-body-lg-regular);
}

._font-body-lg-semibold_yh5dq_83 {
  letter-spacing: var(--cpd-font-letter-spacing-body-lg);
  font: var(--cpd-font-body-lg-semibold);
}

._font-body-lg-medium_yh5dq_88 {
  letter-spacing: var(--cpd-font-letter-spacing-body-lg);
  font: var(--cpd-font-body-lg-medium);
}

/**
 * Font – Heading – Small
 */

._font-heading-sm-regular_yh5dq_97 {
  letter-spacing: var(--cpd-font-letter-spacing-heading-sm);
  font: var(--cpd-font-heading-sm-regular);
}

._font-heading-sm-semibold_yh5dq_102 {
  letter-spacing: var(--cpd-font-letter-spacing-heading-sm);
  font: var(--cpd-font-heading-sm-semibold);
}

._font-heading-sm-medium_yh5dq_107 {
  letter-spacing: var(--cpd-font-letter-spacing-heading-sm);
  font: var(--cpd-font-heading-sm-medium);
}

/**
 * Font – Heading – Medium
 */

._font-heading-md-regular_yh5dq_116 {
  letter-spacing: var(--cpd-font-letter-spacing-heading-md);
  font: var(--cpd-font-heading-md-regular);
}

._font-heading-md-semibold_yh5dq_121 {
  letter-spacing: var(--cpd-font-letter-spacing-heading-md);
  font: var(--cpd-font-heading-md-semibold);
}

/**
 * Font – Heading – Large
 */

._font-heading-lg-regular_yh5dq_130 {
  letter-spacing: var(--cpd-font-letter-spacing-heading-lg);
  font: var(--cpd-font-heading-lg-regular);
}

._font-heading-lg-semibold_yh5dq_135 {
  letter-spacing: var(--cpd-font-letter-spacing-heading-lg);
  font: var(--cpd-font-heading-lg-semibold);
}

/**
 * Font – Heading – Extra Large
 */

._font-heading-xl-regular_yh5dq_144 {
  letter-spacing: var(--cpd-font-letter-spacing-heading-xl);
  font: var(--cpd-font-heading-xl-regular);
}

._font-heading-xl-semibold_yh5dq_149 {
  letter-spacing: var(--cpd-font-letter-spacing-heading-xl);
  font: var(--cpd-font-heading-xl-semibold);
}

/**
  * Reset font-feature-settings after letter-spacing has been tweaked.
  * We want to apply Inter Dynamic metrics (https://rsms.me/inter/dynmetrics/)
  * We need to tweak the `letter-spacing` property and doing so, disables by
  * default the optional ligatures
  * `font-feature-settings` allows us to override this behaviour and have the
  * correct ligatures and the proper dynamic metric spacing.
  */

._typography_yh5dq_162 {
  -webkit-font-feature-settings: "kern" 1, "liga" 1, "calt" 1;
          font-feature-settings: "kern" 1, "liga" 1, "calt" 1;
  -webkit-font-feature-settings: var(--cpd-font-feature-settings);
          font-feature-settings: var(--cpd-font-feature-settings);
}

/*
Copyright 2023 New Vector Ltd

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/

._icon-button_bh2qc_17 {
  --cpd-icon-button-indicator-border-size: calc(
    var(--cpd-icon-button-size) * 0.0625
  );

  inline-size: var(--cpd-icon-button-size);
  block-size: var(--cpd-icon-button-size);

  /* the icon is 0.75 the size of the button, so add padding to put it in the middle */
  padding: calc(var(--cpd-icon-button-size) * 0.125);
  aspect-ratio: 1 / 1;
  color: var(--cpd-color-icon-tertiary);
  border: 0;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  cursor: pointer;
  border-radius: 50%;
  position: relative;
  background: transparent;
  line-height: 0px;
}

._subtle-bg_bh2qc_38 {
  color: var(--cpd-color-icon-secondary);
  background: var(--cpd-color-bg-subtle-secondary);
}

._icon-button_bh2qc_17[aria-disabled="true"] {
  color: var(--cpd-color-icon-disabled);
  cursor: not-allowed;
}

/**
 * Hover state
 */

@media (hover) {
  ._icon-button_bh2qc_17:not([aria-disabled="true"]):hover {
    color: var(--cpd-color-icon-primary);
    background: var(--cpd-color-bg-subtle-primary);
  }
}

._icon-button_bh2qc_17:not([aria-disabled="true"]):active {
  color: var(--cpd-color-icon-primary);
  background: var(--cpd-color-bg-subtle-primary);
}

@media (hover) {
  ._icon-button_bh2qc_17:not([aria-disabled="true"])[data-indicator]:is(:hover)::before {
    /* Same colour as the background */
    border: var(--cpd-icon-button-indicator-border-size) solid
      var(--cpd-color-bg-subtle-primary);
    inset-block-start: 0;
    inset-inline-end: 0;
  }
}

._icon-button_bh2qc_17:not([aria-disabled="true"])[data-indicator]:is(:active)::before {
  /* Same colour as the background */
  border: var(--cpd-icon-button-indicator-border-size) solid
    var(--cpd-color-bg-subtle-primary);
  inset-block-start: 0;
  inset-inline-end: 0;
}

@media (hover) {
  ._icon-button_bh2qc_17:not([aria-disabled="true"])._destructive_bh2qc_83:hover {
    background: var(--cpd-color-bg-critical-subtle);
    outline: 1px solid var(--cpd-color-border-critical-subtle);
  }
}

._icon-button_bh2qc_17:not([aria-disabled="true"])._destructive_bh2qc_83 > * {
  color: var(--cpd-color-icon-critical-primary);
}

/*
Copyright 2024 New Vector Ltd

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/

/*
 * Note this is very closely coupled to the indicator mask SVG as this masks out
 * the icon behind to draw the 'stroke' around the indicator dot.
 *
 * The SVG is a 24x24px black square with a circle of radius 6 positioned
 * 4px above and to the right of the canvas. This is the size of the indicator
 * dot plus the stroke (dimensions calculated from the figma).
 */

._indicator-icon_133tf_26 {
  /* This is called 'button size' but the docs say 'icon size' */
  inline-size: var(--cpd-icon-button-size);
  block-size: var(--cpd-icon-button-size);
  aspect-ratio: 1 / 1;
  color: var(--cpd-color-icon-tertiary);
  position: relative;
}

._indicator-icon_133tf_26 svg {
  inline-size: 100%;
  block-size: 100%;
}

._indicator-icon_133tf_26[data-indicator] svg {
  -webkit-mask-image: url("data:image/svg+xml,%3c?xml%20version='1.0'%20encoding='UTF-8'?%3e%3csvg%20fill='none'%20version='1.1'%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='m0%200v24h24v-16.359a6%206%200%200%201-2%200.35938%206%206%200%200%201-6-6%206%206%200%200%201%200.35938-2h-16.359z'%20fill='%23000'%20stroke-width='0'/%3e%3c/svg%3e");
          mask-image: url("data:image/svg+xml,%3c?xml%20version='1.0'%20encoding='UTF-8'?%3e%3csvg%20fill='none'%20version='1.1'%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='m0%200v24h24v-16.359a6%206%200%200%201-2%200.35938%206%206%200%200%201-6-6%206%206%200%200%201%200.35938-2h-16.359z'%20fill='%23000'%20stroke-width='0'/%3e%3c/svg%3e");
  -webkit-mask-position: center center;
          mask-position: center center;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-size: 100%;
          mask-size: 100%;
}

._indicator-icon_133tf_26[data-indicator]::before {
  content: "";
  position: absolute;

  /* The dot is 1/12th above & to the right of the canvas */
  inset-block-start: -8.3333%;
  inset-inline-end: -8.3333%;

  /* and is 1/3rd the size of the canvas */
  inline-size: 33.3333%;
  block-size: 33.333%;
  border-radius: 50%;
  background: var(--cpd-color-icon-primary);
}

._indicator-icon_133tf_26[data-indicator="success"]::before {
  background: var(--cpd-color-icon-success-primary);
}

._indicator-icon_133tf_26[data-indicator="critical"]::before {
  background: var(--cpd-color-icon-critical-primary);
}

/*
Copyright 2023-2024 New Vector Ltd

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/

._tooltip_1pslb_17 {
  font: var(--cpd-font-body-xs-medium);
  padding: var(--cpd-space-1-5x) var(--cpd-space-3x);
  background: var(--cpd-color-alpha-gray-1400);
  color: var(--cpd-color-text-on-solid-primary);
  border-radius: 4px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  text-align: center;
  cursor: pointer;
}

._tooltip_1pslb_17._invisible_1pslb_30 {
  /* Hide the tooltip in a way that allows it to act as an accessible label,
  even when invisible */
  clip-path: inset(50%);
  pointer-events: none;
}

._caption_1pslb_37 {
  font-weight: var(--cpd-font-weight-regular);
  color: var(--cpd-color-text-secondary);
}

._arrow_1pslb_42 {
  /* same color as the tooltip background */
  fill: var(--cpd-color-alpha-gray-1400);
}

/*
Copyright 2023  New Vector Ltd

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/

._avatar_mcap2_17 {
  display: inline-block;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  line-height: var(--cpd-avatar-size);
  text-align: center;
  font-size: min(calc(var(--cpd-avatar-size) * 0.5625), 60px);
  text-transform: uppercase;
  speak: none;
  font-family: var(--cpd-font-family-sans);
  font-weight: bold;
  overflow: hidden;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;

  /* Set a background color to help with visual consistency when displaying
   * avatars with a translucent background */
  background: var(--cpd-color-bg-canvas-default);
}

button._avatar_mcap2_17 {
  /**
   * The avatar can be a button element, we need to reset its style
   */
  padding: 0;
  border: 0;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  cursor: pointer;
}

button._avatar_mcap2_17:disabled {
  cursor: not-allowed;
}

._avatar_mcap2_17,
._image_mcap2_50 {
  aspect-ratio: 1 / 1;
  inline-size: var(--cpd-avatar-size);
  border-radius: var(--cpd-avatar-radius);
}

._image_mcap2_50 {
  -o-object-fit: cover;
     object-fit: cover;
  overflow: hidden;
}

._avatar-imageless_mcap2_61 {
  /* In the future we'd prefer to pass the HEX code as the data attr
     and use `attr(data-color)` to avoid the style declaration from below
     but this is currently not supported in all browsers */
  background: var(--cpd-avatar-bg);
  color: var(--cpd-avatar-color);
}

._avatar_mcap2_17[data-color] {
  --cpd-avatar-bg: var(--cpd-color-bg-decorative-1);
  --cpd-avatar-color: var(--cpd-color-text-decorative-1);
}

._avatar_mcap2_17[data-color="2"] {
  --cpd-avatar-bg: var(--cpd-color-bg-decorative-2);
  --cpd-avatar-color: var(--cpd-color-text-decorative-2);
}

._avatar_mcap2_17[data-color="3"] {
  --cpd-avatar-bg: var(--cpd-color-bg-decorative-3);
  --cpd-avatar-color: var(--cpd-color-text-decorative-3);
}

._avatar_mcap2_17[data-color="4"] {
  --cpd-avatar-bg: var(--cpd-color-bg-decorative-4);
  --cpd-avatar-color: var(--cpd-color-text-decorative-4);
}

._avatar_mcap2_17[data-color="5"] {
  --cpd-avatar-bg: var(--cpd-color-bg-decorative-5);
  --cpd-avatar-color: var(--cpd-color-text-decorative-5);
}

._avatar_mcap2_17[data-color="6"] {
  --cpd-avatar-bg: var(--cpd-color-bg-decorative-6);
  --cpd-avatar-color: var(--cpd-color-text-decorative-6);
}

._avatar_mcap2_17[data-type="round"] {
  --cpd-avatar-radius: 50%;
}

._avatar_mcap2_17[data-type="square"] {
  --cpd-avatar-radius: 25%;
}

/**
 * Stacked avatars 
 */

._stacked-avatars_mcap2_111::after {
  content: "";
  display: table;
  clear: both;
}

._stacked-avatars_mcap2_111 ._avatar_mcap2_17 {
  float: inline-start;
}

._stacked-avatars_mcap2_111 ._avatar_mcap2_17:not(:last-child) {
  /* injected in the document from AvatarStack.tsx */
  clip-path: url("#cpdAvatarClip");
}

._stacked-avatars_mcap2_111 > *:not(:first-child) {
  -webkit-margin-start: calc(var(--cpd-avatar-size) * -0.2);
          margin-inline-start: calc(var(--cpd-avatar-size) * -0.2);
}

._clip-path_mcap2_130 {
  /* In theory the SVG is invisible, but we still need to ensure it doesn't
  affect the page's layout or otherwise make an appearance */
  position: fixed;
  inset-inline-start: -9999px;
}

/*
Copyright 2023 New Vector Ltd

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/

._badge_1171v_17 {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  gap: var(--cpd-space-1x);
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  border-radius: 9999px; /* pill effect */
  padding: var(--cpd-space-1x) var(--cpd-space-3x);
}

._badge_1171v_17[data-kind="default"] {
  border: 1px solid var(--cpd-color-alpha-gray-400);
  color: var(--cpd-color-gray-1100);
}

._badge_1171v_17[data-kind="grey"] {
  background: var(--cpd-color-alpha-gray-300);
  color: var(--cpd-color-gray-1100);
}

._badge_1171v_17[data-kind="on-solid"] {
  background: var(--cpd-color-alpha-gray-1200);
  color: var(--cpd-color-text-on-solid-primary);
}

._badge_1171v_17[data-kind="blue"] {
  background: var(--cpd-color-alpha-blue-300);
  color: var(--cpd-color-blue-1100);
}

._badge_1171v_17[data-kind="green"] {
  background: var(--cpd-color-alpha-green-300);
  color: var(--cpd-color-green-1100);
}

._badge_1171v_17[data-kind="red"] {
  background: var(--cpd-color-alpha-red-300);
  color: var(--cpd-color-red-1100);
}

/*
Copyright 2023 New Vector Ltd

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/

._menu_1x5h1_17 {
  border-radius: var(--cpd-space-3x);
  background: var(--cpd-color-bg-canvas-default);

  /* Here we use outline to create a border internal to the container. The Radix
  menu component may try to override it with outline: none, hence the need for
  !important. */
  outline: var(--cpd-border-width-1) solid
    var(--cpd-color-border-interactive-secondary) !important;
  outline-offset: calc(-1 * var(--cpd-border-width-1));
  -webkit-box-shadow: 0 4px 24px 0 rgba(0 0 0 / 10%);
          box-shadow: 0 4px 24px 0 rgba(0 0 0 / 10%);
  inline-size: -webkit-fit-content;
  inline-size: -moz-fit-content;
  inline-size: fit-content;
  max-inline-size: 320px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: var(--cpd-space-1x);
  padding-block: var(--cpd-space-5x) var(--cpd-space-4x);

  --cpd-separator-spacing: 0;
  --cpd-separator-inset: var(--cpd-space-4x);
}

@-webkit-keyframes _slide-in_1x5h1_1 {
  from {
    opacity: 0;
    -webkit-transform: translate(0, var(--cpd-space-3x));
            transform: translate(0, var(--cpd-space-3x));
  }
}

@keyframes _slide-in_1x5h1_1 {
  from {
    opacity: 0;
    -webkit-transform: translate(0, var(--cpd-space-3x));
            transform: translate(0, var(--cpd-space-3x));
  }
}

@-webkit-keyframes _slide-out_1x5h1_1 {
  to {
    opacity: 0;
    -webkit-transform: translate(0, var(--cpd-space-2x));
            transform: translate(0, var(--cpd-space-2x));
  }
}

@keyframes _slide-out_1x5h1_1 {
  to {
    opacity: 0;
    -webkit-transform: translate(0, var(--cpd-space-2x));
            transform: translate(0, var(--cpd-space-2x));
  }
}

._menu_1x5h1_17[data-state="open"] {
  -webkit-animation: _slide-in_1x5h1_1 180ms;
          animation: _slide-in_1x5h1_1 180ms;
}

._menu_1x5h1_17[data-state="closed"] {
  -webkit-animation: _slide-out_1x5h1_1 110ms;
          animation: _slide-out_1x5h1_1 110ms;
}

@-webkit-keyframes _fade-in_1x5h1_1 {
  from {
    opacity: 0;
  }
}

@keyframes _fade-in_1x5h1_1 {
  from {
    opacity: 0;
  }
}

@-webkit-keyframes _fade-out_1x5h1_1 {
  to {
    opacity: 0;
  }
}

@keyframes _fade-out_1x5h1_1 {
  to {
    opacity: 0;
  }
}

@media (prefers-reduced-motion) {
  ._menu_1x5h1_17[data-state="open"] {
    -webkit-animation-name: _fade-in_1x5h1_1;
            animation-name: _fade-in_1x5h1_1;
  }

  ._menu_1x5h1_17[data-state="closed"] {
    -webkit-animation-name: _fade-out_1x5h1_1;
            animation-name: _fade-out_1x5h1_1;
  }
}

._title_1x5h1_83 {
  color: var(--cpd-color-text-secondary);
  padding-inline: var(--cpd-space-4x);
  -webkit-padding-after: calc(var(--cpd-space-2x) - var(--cpd-border-width-1));
          padding-block-end: calc(var(--cpd-space-2x) - var(--cpd-border-width-1));
  -webkit-border-after: var(--cpd-border-width-1) solid var(--cpd-color-gray-400);
          border-block-end: var(--cpd-border-width-1) solid var(--cpd-color-gray-400);
  margin-block: 0 var(--cpd-space-2x);
}

/*
Copyright 2023 New Vector Ltd

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/

._bg_gd68h_17 {
  position: fixed;
  inset: 0;

  /* TODO: This value is used across modals and menu drawers, so would be worth
  tokenizing */
  background: rgba(3 12 27 / 52.8%);
}

._drawer_gd68h_26 {
  position: fixed;
  background: var(--cpd-color-bg-canvas-default);
  inset-block-end: 0;
  inset-inline: 0;

  /* Cap the inline content size at 520px, filling the rest of the space with
  padding */
  padding-inline: max(0px, calc((100% - 520px) / 2));
  border-start-start-radius: 28px;
  border-start-start-radius: var(--border-radius);
  border-start-end-radius: 28px;
  border-start-end-radius: var(--border-radius);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;

  /* Drawer comes in the Android style by default */
  --border-radius: 28px;
  --handle-block-size: 4px;
  --handle-inline-size: 32px;
  --handle-inset-block-start: var(--cpd-space-4x);
  --handle-inset-block-end: 0px;
  --content-inset-block-start: calc(
    var(--handle-inset-block-start) + var(--handle-block-size) +
      var(--handle-inset-block-end)
  );
}

._drawer_gd68h_26[data-platform="ios"] {
  --border-radius: 10px;
  --handle-block-size: 5px;
  --handle-inline-size: 36px;
  --handle-inset-block-start: var(--cpd-space-1-5x);
  --handle-inset-block-end: 1px;
}

._body_gd68h_60 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: var(--cpd-space-2x);
  padding-block: calc(var(--content-inset-block-start) + var(--cpd-space-6x))
    var(--cpd-space-12x);
  border-start-start-radius: var(--border-radius);
  border-start-end-radius: var(--border-radius);

  /* Even with overflow: auto, the content can still overflow at the corners
  where it meets with the curved border. A contain: paint fixes that. */
  contain: paint;
  overflow: auto;
  scrollbar-width: none;

  --cpd-separator-spacing: 0;
  --cpd-separator-inset: var(--cpd-space-4x);
}

._body_gd68h_60::before {
  content: "";
  position: absolute;
  block-size: var(--handle-block-size);
  inset-inline: calc((100% - var(--handle-inline-size)) / 2);
  inset-block-start: var(--handle-inset-block-start);
  background: var(--cpd-color-icon-secondary);
  border-radius: 9999px;
  border-radius: var(--cpd-radius-pill-effect);
}

/*
Copyright 2023 New Vector Ltd

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/

._glass_1x9g9_17 {
  border-radius: var(--cpd-space-9x);
  padding: var(--cpd-space-3x);

  /* We use an outline here to create an "inner border", rather than one that
  adds to the component's size */
  outline: var(--cpd-border-width-1) solid var(--cpd-color-alpha-gray-400);
  outline-offset: calc(-1 * var(--cpd-border-width-1));
  background: var(--cpd-color-alpha-gray-400);
  backdrop-filter: blur(20px);
}

._glass_1x9g9_17 > :first-child {
  border-radius: var(--cpd-space-6x);
  inline-size: 100%;
  block-size: 100%;
}

/*
Copyright 2023 New Vector Ltd

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/

._link_ue21z_17 {
  display: inline-block;
  text-decoration: underline;
  color: var(--cpd-color-text-primary);
  font-weight: var(--cpd-font-weight-medium);
  border-radius: 9999px;
  border-radius: var(--cpd-radius-pill-effect);
  padding-inline: 0.25rem;
}

._link_ue21z_17[data-kind="primary"] {
  color: var(--cpd-color-text-primary);
}

._link_ue21z_17[data-kind="critical"] {
  color: var(--cpd-color-text-critical-primary);
}

@media (hover) {
  ._link_ue21z_17[data-kind="primary"]:hover {
    background: var(--cpd-color-gray-300);
  }

  ._link_ue21z_17[data-kind="critical"]:hover {
    background: var(--cpd-color-red-300);
  }
}

._link_ue21z_17:active {
  color: var(--cpd-color-text-on-solid-primary);
}

._link_ue21z_17[data-kind="primary"]:active {
  background: var(--cpd-color-text-primary);
}

._link_ue21z_17[data-kind="critical"]:active {
  background: var(--cpd-color-text-critical-primary);
}

._link_ue21z_17[data-size="small"] {
  font-size: var(--cpd-font-size-body-sm);
}

/*
Copyright 2023 New Vector Ltd

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/

._item_8j2l6_17 {
  display: grid;
  grid-template: "icon label ." auto "empty1 label empty2" auto / auto auto minmax(
      /* Reserve space for the chevron so that the layout doesn't shift on
      hover */
        var(--cpd-space-2x),
      1fr
    );
  place-items: center end;
  padding-block: var(--cpd-space-2x);
  padding-inline: var(--cpd-space-4x);
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  inline-size: 100%;
  min-inline-size: 200px;
  color: var(--cpd-color-text-secondary);
  background: var(--cpd-color-bg-action-secondary-rest);
}

._item_8j2l6_17._interactive_8j2l6_35 {
  cursor: pointer;
}

._item_8j2l6_17._no-label_8j2l6_39 {
  grid-template: "icon ." auto / auto 1fr;
}

._icon_8j2l6_43 {
  grid-area: icon;
  -webkit-margin-end: var(--cpd-space-3x);
          margin-inline-end: var(--cpd-space-3x);
}

._item_8j2l6_17._no-label_8j2l6_39 ._icon_8j2l6_43 {
  -webkit-margin-end: var(--cpd-space-4x);
          margin-inline-end: var(--cpd-space-4x);
}

._label_8j2l6_52 {
  grid-area: label;
  -webkit-margin-end: var(--cpd-space-4x);
          margin-inline-end: var(--cpd-space-4x);
  text-align: start;
  word-break: break-word;
}

._nav-hint_8j2l6_59 {
  /* Hidden until the item is hovered over */
  display: none;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}

button._item_8j2l6_17 {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  border: none;
}

._item_8j2l6_17[data-kind="primary"] > ._label_8j2l6_52 {
  color: var(--cpd-color-text-primary);
}

._item_8j2l6_17[data-kind="primary"] > ._icon_8j2l6_43 {
  color: var(--cpd-color-icon-primary);
}

._item_8j2l6_17[data-kind="primary"] > ._nav-hint_8j2l6_59 {
  color: var(--cpd-color-icon-tertiary);
}

._item_8j2l6_17[data-kind="critical"] > ._label_8j2l6_52 {
  color: var(--cpd-color-text-critical-primary);
}

._item_8j2l6_17[data-kind="critical"] > ._icon_8j2l6_43,
._item_8j2l6_17[data-kind="critical"] > ._nav-hint_8j2l6_59 {
  color: var(--cpd-color-icon-critical-primary);
}

@media (hover) {
  ._item_8j2l6_17._interactive_8j2l6_35[data-kind="primary"]:hover {
    background: var(--cpd-color-bg-action-secondary-hovered);
  }

  ._item_8j2l6_17._interactive_8j2l6_35[data-kind="critical"]:hover {
    background: var(--cpd-color-bg-critical-subtle);
  }

  /* Replace the children with the navigation hint on hover */
  ._item_8j2l6_17._interactive_8j2l6_35:hover > ._nav-hint_8j2l6_59 {
    display: inline;
    display: initial;
  }

  ._item_8j2l6_17._interactive_8j2l6_35:hover > ._nav-hint_8j2l6_59 ~ * {
    display: none;
  }
}

._item_8j2l6_17._interactive_8j2l6_35[data-kind="primary"]:active {
  background: var(--cpd-color-bg-action-secondary-pressed);
}

._item_8j2l6_17._interactive_8j2l6_35[data-kind="critical"]:active {
  background: var(--cpd-color-bg-critical-subtle-hovered);
}

._item_8j2l6_17[data-kind]._disabled_8j2l6_118 {
  pointer-events: none;
}

._item_8j2l6_17[data-kind]._disabled_8j2l6_118 > ._label_8j2l6_52,
._item_8j2l6_17[data-kind]._disabled_8j2l6_118 > ._icon_8j2l6_43,
._item_8j2l6_17[data-kind]._disabled_8j2l6_118 > ._nav-hint_8j2l6_59 {
  color: var(--cpd-color-text-disabled);
}

/*
Copyright 2024 New Vector Ltd

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/

._progress-bar_1veej_17 {
  position: relative;
  background-color: var(--cpd-color-gray-200);
  border: 1px solid var(--cpd-color-gray-400);
  border-radius: 9999px;
  border-radius: var(--cpd-radius-pill-effect);
  overflow: hidden;
}

._progress-bar_1veej_17[data-size="sm"] {
    block-size: var(--cpd-space-2x);
  }

._progress-bar_1veej_17[data-size="lg"] {
    block-size: var(--cpd-space-4x);
  }

._progress-bar-container_1veej_33 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: var(--cpd-space-1x);

  --cpd-progress-bar-main: var(--cpd-color-text-secondary);
  --cpd-progress-bar-muted: var(--cpd-color-gray-800);
}

._progress-bar-container_1veej_33[data-tint="green"] {
    --cpd-progress-bar-main: var(--cpd-color-text-success-primary);
    --cpd-progress-bar-muted: var(--cpd-color-green-800);
  }

._progress-bar-container_1veej_33[data-tint="lime"] {
    --cpd-progress-bar-main: var(--cpd-color-lime-900);
    --cpd-progress-bar-muted: var(--cpd-color-lime-800);
  }

._progress-bar-container_1veej_33[data-tint="orange"] {
    --cpd-progress-bar-main: var(--cpd-color-orange-900);
    --cpd-progress-bar-muted: var(--cpd-color-orange-800);
  }

._progress-bar-container_1veej_33[data-tint="red"] {
    --cpd-progress-bar-main: var(--cpd-color-text-critical-primary);
    --cpd-progress-bar-muted: var(--cpd-color-red-800);
  }

._progress-bar-label_1veej_62 {
  font: var(--cpd-font-body-sm-medium);
  letter-spacing: var(--cpd-font-letter-spacing-body-sm);
  color: var(--cpd-progress-bar-main);
}

._progress-bar-indicator_1veej_68 {
  position: absolute;
  inset: 0;
  -webkit-transition: -webkit-transform 0.2s ease-in-out;
  transition: -webkit-transform 0.2s ease-in-out;
  transition: transform 0.2s ease-in-out;
  transition: transform 0.2s ease-in-out, -webkit-transform 0.2s ease-in-out;
  background-image: linear-gradient(
    135deg,
    var(--cpd-progress-bar-muted) 0%,
    var(--cpd-progress-bar-muted) 25%,
    var(--cpd-progress-bar-main) 25%,
    var(--cpd-progress-bar-main) 50%,
    var(--cpd-progress-bar-muted) 50%,
    var(--cpd-progress-bar-muted) 75%,
    var(--cpd-progress-bar-main) 75%,
    var(--cpd-progress-bar-main) 100%,
    var(--cpd-progress-bar-muted) 100%
  );

  /* sqrt(number of stripes * 2 * (stripe width)^2) = sqrt(4 * 2 * 2^2) = sqrt(32) */
  background-size: 5.6569px 5.6569px;
}

/*
Copyright 2023 New Vector Ltd

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/

._search_1ki2c_17 {
  border: 1px solid var(--cpd-color-border-interactive-secondary);
  border-radius: 9999px;
  block-size: 36px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  color: var(--cpd-color-text-primary);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;

  /* !important to override Field's default flex settings */
  -webkit-box-orient: horizontal !important;
  -webkit-box-direction: normal !important;
      -ms-flex-direction: row !important;
          flex-direction: row !important;
  gap: var(--cpd-space-2x) !important;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: var(--cpd-space-1-5x) var(--cpd-space-3x);
}

@media (hover) {
  ._search_1ki2c_17:hover {
    border-color: var(--cpd-color-border-interactive-hovered);
  }
}

._search_1ki2c_17:active {
  border-color: var(--cpd-color-border-interactive-hovered);
}

._search_1ki2c_17:focus-within {
  border-color: currentcolor;
}

._icon_1ki2c_46 {
  color: var(--cpd-color-icon-secondary);
  -ms-flex-negative: 0;
      flex-shrink: 0;
}

@media (hover) {
  ._search_1ki2c_17:hover ._icon_1ki2c_46 {
    color: var(--cpd-color-icon-primary);
  }
}

._search_1ki2c_17:active ._icon_1ki2c_46 {
  color: var(--cpd-color-icon-primary);
}

._input_1ki2c_61 {
  border: 0;
  background: inherit;
  outline: 0;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  min-inline-size: 0;
}

._input_1ki2c_61::-webkit-input-placeholder {
  color: var(--cpd-color-text-secondary);
}

._input_1ki2c_61::-moz-placeholder {
  color: var(--cpd-color-text-secondary);
}

._input_1ki2c_61:-ms-input-placeholder {
  color: var(--cpd-color-text-secondary);
}

._input_1ki2c_61::-ms-input-placeholder {
  color: var(--cpd-color-text-secondary);
}

._input_1ki2c_61::placeholder {
  color: var(--cpd-color-text-secondary);
}

._input_1ki2c_61:focus::-webkit-input-placeholder {
  color: var(--cpd-color-text-secondary);
}

._input_1ki2c_61:focus::-moz-placeholder {
  color: var(--cpd-color-text-secondary);
}

._input_1ki2c_61:focus:-ms-input-placeholder {
  color: var(--cpd-color-text-secondary);
}

._input_1ki2c_61:focus::-ms-input-placeholder {
  color: var(--cpd-color-text-secondary);
}

._input_1ki2c_61:focus::placeholder {
  color: var(--cpd-color-text-secondary);
}

@media (hover) {
  ._search_1ki2c_17:hover ._input_1ki2c_61::-webkit-input-placeholder {
    color: var(--cpd-color-text-secondary);
  }
  ._search_1ki2c_17:hover ._input_1ki2c_61::-moz-placeholder {
    color: var(--cpd-color-text-secondary);
  }
  ._search_1ki2c_17:hover ._input_1ki2c_61:-ms-input-placeholder {
    color: var(--cpd-color-text-secondary);
  }
  ._search_1ki2c_17:hover ._input_1ki2c_61::-ms-input-placeholder {
    color: var(--cpd-color-text-secondary);
  }
  ._search_1ki2c_17:hover ._input_1ki2c_61::placeholder {
    color: var(--cpd-color-text-secondary);
  }
}

/*
Copyright 2023 The Matrix.org Foundation C.I.C.
Copyright 2023 New Vector Ltd

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/

/* Styling the Radix UI Form component */

/**
 * ROOT: Form Element
 */

._root_ssths_24 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: var(--cpd-space-5x);
}

/**
 * FIELD: Wrapper around label, control and message
 */

._field_ssths_34 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: var(--cpd-space-1x);
}

._inline-field_ssths_40 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  gap: var(--cpd-space-2x);
}

._inline-field-body_ssths_46 {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}

._inline-field-control_ssths_52 {
  /* The control should have the same height as the label */
  block-size: calc(
    var(--cpd-font-size-body-md) * var(--cpd-font-line-height-regular)
  );

  /* Align the control in the middle of the label */
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

/**
 * LABEL
 */

._label_ssths_67 {
  font: var(--cpd-font-body-md-medium);
  letter-spacing: var(--cpd-font-letter-spacing-body-md);
}

._label_ssths_67[for] {
  cursor: pointer;
}

._label_ssths_67[data-invalid] {
  color: var(--cpd-color-text-critical-primary);
}

/* Currently working everywhere but on Firefox (only behind a labs flag)
https://developer.mozilla.org/en-US/docs/Web/CSS/:has#browser_compatibility */

._label_ssths_67:has(~ * input[disabled]),
._label_ssths_67:has(~ input[disabled]),
._inline-field-control_ssths_52:has(input[disabled]) ~ ._inline-field-body_ssths_46 ._label_ssths_67 {
  color: var(--cpd-color-text-disabled);
  cursor: not-allowed;
}

/**
 * Help and error messages
 */

._message_ssths_93 {
  font: var(--cpd-font-body-sm-regular);
  letter-spacing: var(--cpd-font-letter-spacing-body-sm);
  -webkit-margin-before: var(--cpd-space-1x);
          margin-block-start: var(--cpd-space-1x);
}

._help-message_ssths_99 {
  color: var(--cpd-color-text-secondary);
}

._error-message_ssths_103 {
  color: var(--cpd-color-text-critical-primary);
}

._success-message_ssths_107 {
  color: var(--cpd-color-text-success-primary);
}

/* Currently working everywhere but on Firefox (only behind a labs flag)
https://developer.mozilla.org/en-US/docs/Web/CSS/:has#browser_compatibility */

input[disabled] ~ ._message_ssths_93,
*:has(input[disabled]) ~ ._message_ssths_93,
._inline-field-control_ssths_52:has(input[disabled]) ~ ._inline-field-body_ssths_46 ._message_ssths_93 {
  color: var(--cpd-color-text-disabled);
}

._message_ssths_93 > svg {
  display: inline-block;
  vertical-align: bottom;
  -webkit-margin-end: var(--cpd-space-2x);
          margin-inline-end: var(--cpd-space-2x);

  /* Calculate the size of the icon based on the font size and line height */
  block-size: calc(1em * var(--cpd-font-line-height-regular));
  inline-size: calc(1em * var(--cpd-font-line-height-regular));
}

/*
Copyright 2023-2024 New Vector Ltd

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/

._separator_144s5_17 {
  --cpd-separator-color: var(--cpd-color-gray-400);
  --cpd-separator-size: 1px;

  background-color: var(--cpd-separator-color);
}

._separator_144s5_17[data-kind="secondary"] {
  --cpd-separator-color: var(--cpd-color-gray-300);
}

._separator_144s5_17[data-kind="section"] {
  --cpd-separator-size: 2px;
}

._separator_144s5_17[data-orientation="horizontal"] {
  margin-block: var(--cpd-separator-spacing);
  margin-inline: 0;
  margin-inline: var(--cpd-separator-inset);
  block-size: var(--cpd-separator-size);
}

._separator_144s5_17[data-orientation="vertical"] {
  margin-inline: var(--cpd-separator-spacing);
  margin-block: 0;
  margin-block: var(--cpd-separator-inset);
  inline-size: var(--cpd-separator-size);
}

/*
Copyright 2023 The Matrix.org Foundation C.I.C.
Copyright 2023 New Vector Ltd

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/

._container_qnvru_18 {
  display: grid;
  inline-size: 2.25rem;
  block-size: 1.25rem;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

._container_qnvru_18 > * {
  grid-area: 1/1;
  inline-size: inherit;
  block-size: inherit;
  -webkit-box-sizing: inherit;
          box-sizing: inherit;
}

._container_qnvru_18 > ._input_qnvru_32 {
  opacity: 0;
  margin: 0;
  cursor: pointer;
}

._container_qnvru_18 > ._input_qnvru_32[disabled] {
  cursor: not-allowed;
}

._ui_qnvru_42 {
  pointer-events: none;
  border-radius: 9999px;
  border-radius: var(--cpd-radius-pill-effect);
  border: 1px solid var(--cpd-color-border-interactive-primary);
  background: var(--cpd-color-bg-canvas-default);
  position: relative;
  padding: 1px;
  -webkit-transition-duration: 0.2s;
          transition-duration: 0.2s;
  -webkit-transition-timing-function: ease-in-out;
          transition-timing-function: ease-in-out;
  -webkit-transition-property: background-color, border-color;
  transition-property: background-color, border-color;
}

._input_qnvru_32:checked + ._ui_qnvru_42 {
  background: var(--cpd-color-bg-accent-rest);
  border-color: var(--cpd-color-bg-accent-rest);
}

._ui_qnvru_42::after {
  content: "";
  display: block;
  block-size: 100%;
  aspect-ratio: 1 / 1;
  border-radius: 50%;
  background: var(--cpd-color-icon-secondary);
  -webkit-transform: translateX(0);
          transform: translateX(0);
  -webkit-transition-duration: 0.2s;
          transition-duration: 0.2s;
  -webkit-transition-timing-function: ease-in-out;
          transition-timing-function: ease-in-out;
  -webkit-transition-property: background-color, -webkit-transform;
  transition-property: background-color, -webkit-transform;
  transition-property: background-color, transform;
  transition-property: background-color, transform, -webkit-transform;
}

/* Note the use of :focus-visible rather than :focus to avoid showing the focus
ring after a simple click */

._input_qnvru_32:focus-visible + ._ui_qnvru_42 {
  outline: 2px solid var(--cpd-color-border-focused);
  outline-offset: 1px;
}

:checked + ._ui_qnvru_42::after {
  -webkit-transform: translateX(100%);
          transform: translateX(100%);
  background: var(--cpd-color-icon-on-solid-primary);
}

@media (hover) {
  :checked:not([disabled]):hover + ._ui_qnvru_42 {
    background: var(--cpd-color-bg-accent-hovered);
    border-color: var(--cpd-color-bg-accent-hovered);
  }
}

:checked:active + ._ui_qnvru_42 {
  background: var(--cpd-color-bg-accent-hovered);
  border-color: var(--cpd-color-bg-accent-hovered);
}

._input_qnvru_32[readonly] {
  pointer-events: none;
}

._input_qnvru_32[readonly] + ._ui_qnvru_42 {
  border-color: var(--cpd-color-border-interactive-secondary);
  background: var(--cpd-color-bg-subtle-secondary);
}

._input_qnvru_32[readonly] + ._ui_qnvru_42::after {
  background: var(--cpd-color-icon-secondary);
}

._input_qnvru_32[disabled] + ._ui_qnvru_42 {
  border-color: var(--cpd-color-border-disabled);
  background: var(--cpd-color-bg-canvas-disabled);
}

._input_qnvru_32[disabled] + ._ui_qnvru_42::after {
  background: var(--cpd-color-bg-action-primary-disabled);
}

._input_qnvru_32[readonly]:checked + ._ui_qnvru_42 {
  border-color: var(--cpd-color-icon-secondary);
  background: var(--cpd-color-icon-secondary);
}

._input_qnvru_32[readonly]:checked + ._ui_qnvru_42::after {
  background: var(--cpd-color-icon-on-solid-primary);
}

._input_qnvru_32[disabled]:checked + ._ui_qnvru_42 {
  background: var(--cpd-color-bg-action-primary-disabled);
  border-color: var(--cpd-color-bg-action-primary-disabled);
}

._input_qnvru_32[disabled]:checked + ._ui_qnvru_42::after {
  background: var(--cpd-color-icon-on-solid-primary);
}

@media (hover) {
  ._input_qnvru_32:not(:checked, [disabled], [readonly]):hover + ._ui_qnvru_42 {
    border-color: var(--cpd-color-border-interactive-hovered);

    /** TODO: have the shadow in the design tokens */
    -webkit-box-shadow: 0 1.2px 2.4px 0 rgb(0 0 0 / 15%);
            box-shadow: 0 1.2px 2.4px 0 rgb(0 0 0 / 15%);
  }
}

._input_qnvru_32:not(:checked, [disabled], [readonly]):active + ._ui_qnvru_42 {
  border-color: var(--cpd-color-border-interactive-hovered);
}

/*
Copyright 2024 New Vector Ltd

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/

._toast-container_pnye8_17 {
  inline-size: -webkit-fit-content;
  inline-size: -moz-fit-content;
  inline-size: fit-content;
  background-color: var(--cpd-color-alpha-gray-1300);
  color: var(--cpd-color-text-on-solid-primary);
  border-radius: 99px;
  font-size: var(--cpd-font-body-sm-medium);
  padding: var(--cpd-space-2x) var(--cpd-space-4x);
}

/*
Copyright 2024 New Vector Ltd

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/

@-webkit-keyframes _spin_1ye7b_1 {
  from {
    -webkit-transform: rotateZ(0deg);
            transform: rotateZ(0deg);
  }

  to {
    -webkit-transform: rotateZ(360deg);
            transform: rotateZ(360deg);
  }
}

@keyframes _spin_1ye7b_1 {
  from {
    -webkit-transform: rotateZ(0deg);
            transform: rotateZ(0deg);
  }

  to {
    -webkit-transform: rotateZ(360deg);
            transform: rotateZ(360deg);
  }
}

._icon_1ye7b_27 {
  color: var(--cpd-color-icon-secondary);
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  inline-size: 100%;
  block-size: 100%;
  -webkit-animation: 1s linear _spin_1ye7b_1 infinite;
          animation: 1s linear _spin_1ye7b_1 infinite;
}

/*
Copyright 2023-2024 New Vector Ltd

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/

._button_i91xf_17 {
  border-radius: 9999px;
  border-radius: var(--cpd-radius-pill-effect);
  cursor: pointer;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: var(--cpd-space-2x);
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  font: var(--cpd-font-body-md-semibold);
  -webkit-transition-duration: 0.1s;
          transition-duration: 0.1s;
  -webkit-transition-property: color, background-color, border-color;
  transition-property: color, background-color, border-color;
}

a._button_i91xf_17 {
  /* Make the width match that of a real button */
  inline-size: -webkit-max-content;
  inline-size: -moz-max-content;
  inline-size: max-content;
}

._button_i91xf_17 > svg {
  -webkit-transition: color 0.1s;
  transition: color 0.1s;
}

._button_i91xf_17[aria-disabled="true"] {
  cursor: not-allowed;
  pointer-events: all !important;
  color: var(--cpd-color-text-disabled) !important;
}

._button_i91xf_17[aria-disabled="true"] > svg {
  color: var(--cpd-color-icon-disabled) !important;
}

/**
 * SIZES
 */

._button_i91xf_17[data-size="lg"] {
  padding-block: var(--cpd-space-2x);
  padding-inline: var(--cpd-space-8x);
  min-block-size: var(--cpd-space-12x);
}

._button_i91xf_17[data-size="lg"]._icon-only_i91xf_59 {
    padding-inline: var(--cpd-space-2x);
    block-size: var(--cpd-space-12x);
    inline-size: var(--cpd-space-12x);
  }

._button_i91xf_17[data-size="lg"]._has-icon_i91xf_66:not(._icon-only_i91xf_59) {
  -webkit-padding-start: var(--cpd-space-7x);
          padding-inline-start: var(--cpd-space-7x);
}

._button_i91xf_17[data-size="sm"] {
  padding-block: var(--cpd-space-1x);
  padding-inline: var(--cpd-space-5x);
  min-block-size: var(--cpd-space-9x);
}

._button_i91xf_17[data-size="sm"]._icon-only_i91xf_59 {
    padding-inline: var(--cpd-space-1x);
    block-size: var(--cpd-space-9x);
    inline-size: var(--cpd-space-9x);
  }

._button_i91xf_17[data-size="sm"]._has-icon_i91xf_66:not(._icon-only_i91xf_59) {
  -webkit-padding-start: var(--cpd-space-4x);
          padding-inline-start: var(--cpd-space-4x);
}

/**
 * KINDS
 */

._button_i91xf_17[data-kind="primary"] {
  color: var(--cpd-color-text-on-solid-primary);
  background: var(--cpd-color-bg-action-primary-rest);
  border-width: 0;
}

._button_i91xf_17[data-kind="primary"] > svg {
  color: var(--cpd-color-icon-on-solid-primary);
}

@media (hover) {
  ._button_i91xf_17[data-kind="primary"]:hover {
    background: var(--cpd-color-bg-action-primary-hovered);
  }
}

._button_i91xf_17[data-kind="primary"]:active,
._button_i91xf_17[data-kind="primary"][aria-expanded="true"] {
  background: var(--cpd-color-bg-action-primary-pressed);
}

._button_i91xf_17[data-kind="primary"][aria-disabled="true"] {
  /* !important to override destructive background */
  background: var(--cpd-color-bg-subtle-primary) !important;
}

._button_i91xf_17[data-kind="primary"]._destructive_i91xf_116 {
  background: var(--cpd-color-bg-critical-primary);
}

@media (hover) {
  ._button_i91xf_17[data-kind="primary"]._destructive_i91xf_116:hover {
    background: var(--cpd-color-bg-critical-hovered);
  }
}

._button_i91xf_17[data-kind="primary"]._destructive_i91xf_116:active,
._button_i91xf_17[data-kind="primary"]._destructive_i91xf_116[aria-expanded="true"] {
  /* TODO: We're waiting for this value to be formalized as a semantic token */
  background: var(--cpd-color-red-1100);
}

._button_i91xf_17[data-kind="secondary"] {
  border: 1px solid var(--cpd-color-border-interactive-secondary);
  color: var(--cpd-color-text-primary);
  background: var(--cpd-color-bg-canvas-default);
}

._button_i91xf_17[data-kind="secondary"] > svg {
  color: var(--cpd-color-icon-primary);
}

@media (hover) {
  ._button_i91xf_17[data-kind="secondary"]:hover {
    border-color: var(--cpd-color-border-interactive-hovered);
    background: var(--cpd-color-bg-subtle-secondary);
  }
}

._button_i91xf_17[data-kind="secondary"]:active,
._button_i91xf_17[data-kind="secondary"][aria-expanded="true"] {
  border-color: var(--cpd-color-border-interactive-hovered);
  background: var(--cpd-color-bg-subtle-primary);
}

._button_i91xf_17[data-kind="secondary"][aria-disabled="true"] {
  /* !important to override destructive values */
  border-color: var(--cpd-color-border-interactive-secondary) !important;
  background: var(--cpd-color-bg-subtle-secondary) !important;
}

._button_i91xf_17[data-kind="secondary"]._destructive_i91xf_116 {
  border-color: var(--cpd-color-border-critical-subtle);
  color: var(--cpd-color-text-critical-primary);
}

._button_i91xf_17[data-kind="secondary"]._destructive_i91xf_116 > svg {
  color: var(--cpd-color-icon-critical-primary);
}

@media (hover) {
  ._button_i91xf_17[data-kind="secondary"]._destructive_i91xf_116:hover {
    border-color: var(--cpd-color-border-critical-hovered);
    background: var(--cpd-color-bg-critical-subtle);
  }
}

._button_i91xf_17[data-kind="secondary"]._destructive_i91xf_116:active,
._button_i91xf_17[data-kind="secondary"]._destructive_i91xf_116[aria-expanded="true"] {
  border-color: var(--cpd-color-border-critical-hovered);
  background: var(--cpd-color-bg-critical-subtle-hovered);
}

._button_i91xf_17[data-kind="tertiary"] {
  border: none;
  color: var(--cpd-color-text-primary);
  text-decoration: underline;
  background: transparent;
}

@media (hover) {
  ._button_i91xf_17[data-kind="tertiary"]:hover {
    background: var(--cpd-color-bg-subtle-secondary);
  }
}

._button_i91xf_17[data-kind="tertiary"]:active,
._button_i91xf_17[data-kind="tertiary"][aria-expanded="true"] {
  background: var(--cpd-color-bg-subtle-primary);
}

._button_i91xf_17[data-kind="tertiary"][aria-disabled="true"] {
  color: var(--cpd-color-text-disabled);

  /* !important to override destructive background */
  background: transparent !important;
}

._button_i91xf_17[data-kind="tertiary"]._destructive_i91xf_116 {
  color: var(--cpd-color-text-critical-primary);
}

@media (hover) {
  ._button_i91xf_17[data-kind="tertiary"]._destructive_i91xf_116:hover {
    background: var(--cpd-color-bg-critical-subtle);
  }
}

._button_i91xf_17[data-kind="tertiary"]._destructive_i91xf_116:active,
._button_i91xf_17[data-kind="tertiary"]._destructive_i91xf_116[aria-expanded="true"] {
  background: var(--cpd-color-bg-critical-subtle-hovered);
}

/*
Copyright 2023 New Vector Ltd

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/

._container_1qov4_17 {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  position: relative;
}

._control_1qov4_22 {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  -webkit-padding-end: var(--cpd-space-12x) !important;
          padding-inline-end: var(--cpd-space-12x) !important;

  /* From the flexbox spec:
   *   "By default, flex items won’t shrink below their minimum content size"
   * This allows the element to shrink lower than its natural default size.
   */
  min-inline-size: 0;
}

._action_1qov4_33 {
  all: unset;
  color: var(--cpd-color-icon-secondary);
  background-color: transparent;
  cursor: pointer;
  position: absolute;
  inset-block: var(--cpd-space-2x);
  inset-inline-end: var(--cpd-space-2x);
  padding: var(--cpd-space-1x);
  overflow: visible;
  border-radius: 50%;
}

._action_1qov4_33 > svg {
  inline-size: var(--cpd-space-6x);
  block-size: var(--cpd-space-6x);
}

@media (hover) {
  ._action_1qov4_33:hover {
    color: var(--cpd-color-icon-primary);
    background-color: var(--cpd-color-bg-subtle-secondary);
  }
}

._action_1qov4_33:focus-visible {
  outline: 2px solid var(--cpd-color-border-focused);
  outline-offset: 1px;
}

._control_1qov4_22[disabled] + ._action_1qov4_33 {
  pointer-events: none;
  color: var(--cpd-color-text-disabled);
}

._control_1qov4_22[readonly] + ._action_1qov4_33 {
  pointer-events: none;
  color: var(--cpd-color-text-secondary);
}

/*
Copyright 2023 The Matrix.org Foundation C.I.C.
Copyright 2023 New Vector Ltd

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/

._control_9gon8_18 {
  border: 1px solid var(--cpd-color-border-interactive-primary);
  background: var(--cpd-color-bg-canvas-default);
  border-radius: 0.5rem;
  padding: var(--cpd-space-3x) var(--cpd-space-4x);
  -webkit-box-sizing: border-box;
          box-sizing: border-box;

  /**
  * Disable contextual alternate ligatures in inputs
  * https://github.com/rsms/inter/issues/222
  * https://github.com/rsms/inter/blob/master/src/features/calt.fea
  */
  -webkit-font-feature-settings: "calt" 0;
          font-feature-settings: "calt" 0;
}

@media (hover) {
  ._control_9gon8_18:hover {
    border-color: var(--cpd-color-border-interactive-hovered);

    /** TODO: have the shadow in the design tokens */
    -webkit-box-shadow: 0 1.2px 2.4px 0 rgb(0 0 0 / 15%);
            box-shadow: 0 1.2px 2.4px 0 rgb(0 0 0 / 15%);
  }
}

._control_9gon8_18:active {
  border-color: var(--cpd-color-border-interactive-hovered);
}

._control_9gon8_18:focus {
  outline: 2px solid var(--cpd-color-border-focused);
  border-color: transparent;
}

._control_9gon8_18[data-invalid] {
  border-color: var(--cpd-color-text-critical-primary);
}

._control_9gon8_18:disabled {
  -webkit-box-shadow: none;
          box-shadow: none;
  background: var(--cpd-color-bg-canvas-disabled);
  border-color: var(--cpd-color-border-disabled);
  color: var(--cpd-color-text-disabled);
  cursor: not-allowed;
}

._control_9gon8_18[readonly] {
  -webkit-box-shadow: none;
          box-shadow: none;
  background: var(--cpd-color-bg-subtle-secondary);
  border-color: var(--cpd-color-bg-subtle-secondary);
  color: var(--cpd-color-text-secondary);
}

._control_9gon8_18._enable-ligatures_9gon8_70 {
  -webkit-font-feature-settings: "kern" 1, "liga" 1, "calt" 1;
          font-feature-settings: "kern" 1, "liga" 1, "calt" 1;
  -webkit-font-feature-settings: var(--cpd-font-feature-settings);
          font-feature-settings: var(--cpd-font-feature-settings);
}

/*
Copyright 2023 The Matrix.org Foundation C.I.C.
Copyright 2023 New Vector Ltd

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/

._container_9zyti_18 {
  --gap: var(--cpd-space-3x);
  --digit-size: var(--cpd-space-10x);
  --digit-height: var(--cpd-space-12x);

  display: -webkit-box;

  display: -ms-flexbox;

  display: flex;
  inline-size: -webkit-fit-content;
  inline-size: -moz-fit-content;
  inline-size: fit-content;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  gap: var(--gap);

  /* The input is positioned absolutely
     so the container needs to be positioned relatively */
  position: relative;
}

._control_9zyti_33 {
  all: unset;

  /** TODO: semantic token */
  font-family: var(--cpd-font-family-mono), ui-monospace, monospace;
  font-weight: 700;

  /* Position the input to fill the container */
  position: absolute;
  inset: 0;

  /* Spacing between digits is set to the gap
     plus the size of one digit box
     minus the size of one character */
  letter-spacing: calc(var(--gap) + var(--digit-size) - 1ch);
  line-height: var(--digit-height);

  /* The padding at the start positions the first digit at the middle of the digit box */
  -webkit-padding-start: calc(var(--cpd-space-10x) / 2 - (1ch / 2));
          padding-inline-start: calc(var(--cpd-space-10x) / 2 - (1ch / 2));

  /* The negative margin at the end is to keep space for the cursor when the input is full */
  -webkit-margin-end: calc(-1 * (var(--cpd-space-10x) + var(--cpd-space-3x)));
          margin-inline-end: calc(-1 * (var(--cpd-space-10x) + var(--cpd-space-3x)));
}

._digit_9zyti_57 {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  inline-size: var(--cpd-space-10x);
  block-size: var(--cpd-space-12x);
  border: 1px solid var(--cpd-color-border-interactive-primary);
  background: var(--cpd-color-bg-canvas-default);
  border-radius: 0.5rem;
  padding: var(--cpd-space-3x) var(--cpd-space-4x);
}

@media (hover) {
  ._control_9zyti_33:hover ~ ._digit_9zyti_57 {
    border-color: var(--cpd-color-border-interactive-hovered);

    /** TODO: have the shadow in the design tokens */
    -webkit-box-shadow: 0 1.2px 2.4px 0 rgb(0 0 0 / 15%);
            box-shadow: 0 1.2px 2.4px 0 rgb(0 0 0 / 15%);
  }
}

._control_9zyti_33:disabled {
  color: var(--cpd-color-text-disabled);
  cursor: not-allowed;
}

._control_9zyti_33:disabled ~ ._digit_9zyti_57 {
  -webkit-box-shadow: none;
          box-shadow: none;
  background: var(--cpd-color-bg-canvas-disabled);
  border-color: var(--cpd-color-border-disabled);
}

._control_9zyti_33[readonly] {
  color: var(--cpd-color-text-secondary);
}

._control_9zyti_33[readonly] ~ ._digit_9zyti_57 {
  -webkit-box-shadow: none;
          box-shadow: none;
  background: var(--cpd-color-bg-subtle-secondary);
  border-color: var(--cpd-color-bg-subtle-secondary);
}

._control_9zyti_33[data-invalid] ~ ._digit_9zyti_57 {
  border-color: var(--cpd-color-text-critical-primary);
}

._control_9zyti_33:focus ~ ._digit_9zyti_57:not([data-filled]) {
  outline: 2px solid var(--cpd-color-border-focused);
  border-color: transparent;
}

._digit_9zyti_57[data-selected] {
  border-color: var(--cpd-color-border-focused);
  background-color: var(--cpd-color-bg-info-subtle);
}

/*
Copyright 2023 The Matrix.org Foundation C.I.C.
Copyright 2023 New Vector Ltd

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/

._container_1wloq_18 {
  --size: 20px;

  display: grid;
  inline-size: 20px;
  inline-size: var(--size);
  block-size: 20px;
  block-size: var(--size);
}

._input_1wloq_26,
._ui_1wloq_27 {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  grid-area: 1/1;
  inline-size: var(--size);
  block-size: var(--size);
}

._input_1wloq_26 {
  opacity: 0;
  margin: 0;
  cursor: pointer;
}

._ui_1wloq_27 {
  pointer-events: none;
  border-radius: 4px; /* TODO: Ought to be a token */
  border: 1px solid;
  border-color: var(--cpd-color-border-interactive-primary);

  /** Default, rest state */
  color: transparent;
}

._ui_1wloq_27 svg {
  inline-size: var(--size);
  block-size: var(--size);

  /* compensate for the parent border */
  margin: -1px;
}

._input_1wloq_26:checked + ._ui_1wloq_27 {
  color: var(--cpd-color-icon-on-solid-primary);
  background-color: var(--cpd-color-bg-accent-rest);
  border-color: var(--cpd-color-bg-accent-rest);
}

._input_1wloq_26:focus-visible + ._ui_1wloq_27 {
  outline: 2px solid var(--cpd-color-border-focused);
  outline-offset: 1px;
}

._input_1wloq_26[disabled] + ._ui_1wloq_27 {
  border-color: var(--cpd-color-border-disabled);
  background: var(--cpd-color-bg-canvas-disabled);
}

._input_1wloq_26[readonly] {
  pointer-events: none;
}

._input_1wloq_26[readonly] + ._ui_1wloq_27 {
  border-color: var(--cpd-color-border-interactive-secondary);
  background: var(--cpd-color-bg-subtle-secondary);
}

._input_1wloq_26[disabled]:checked + ._ui_1wloq_27 {
  border-color: var(--cpd-color-bg-action-primary-disabled);
  background: var(--cpd-color-bg-action-primary-disabled);
}

._input_1wloq_26[readonly]:checked + ._ui_1wloq_27 {
  color: var(--cpd-color-icon-secondary);
}

@media (hover) {
  ._input_1wloq_26:not([disabled], [readonly], :checked):hover + ._ui_1wloq_27 {
    color: var(--cpd-color-icon-quaternary);
    border-color: var(--cpd-color-bg-accent-hovered);

    /** TODO: have the shadow in the design tokens */
    -webkit-box-shadow: 0 1.2px 2.4px 0 rgb(0 0 0 / 15%);
            box-shadow: 0 1.2px 2.4px 0 rgb(0 0 0 / 15%);
  }

  ._input_1wloq_26:not([disabled], [readonly]):checked:hover + ._ui_1wloq_27 {
    border-color: var(--cpd-color-bg-accent-hovered);
    background: var(--cpd-color-bg-accent-hovered);
  }

  ._input_1wloq_26[data-invalid]:not([disabled], [readonly]):checked:hover + ._ui_1wloq_27 {
    border-color: var(--cpd-color-bg-critical-hovered);
    background: var(--cpd-color-bg-critical-hovered);
  }
}

._input_1wloq_26[data-invalid]:not([disabled], :checked, [readonly]) + ._ui_1wloq_27 {
  border-color: var(--cpd-color-border-critical-primary);
}

._input_1wloq_26[data-invalid]:not([disabled], [readonly]):checked + ._ui_1wloq_27 {
  background-color: var(--cpd-color-bg-critical-primary);
  border-color: var(--cpd-color-bg-critical-primary);
}

/*
Copyright 2023 The Matrix.org Foundation C.I.C.
Copyright 2023 New Vector Ltd

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/

._container_1vw5h_18 {
  --size: 20px;

  display: grid;
  inline-size: 20px;
  inline-size: var(--size);
  block-size: 20px;
  block-size: var(--size);
}

._input_1vw5h_26,
._ui_1vw5h_27 {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  grid-area: 1/1;
  inline-size: var(--size);
  block-size: var(--size);
}

._input_1vw5h_26 {
  opacity: 0;
  margin: 0;
  cursor: pointer;
}

._ui_1vw5h_27 {
  pointer-events: none;
  border-radius: 50%;
  border: 1px solid;
  border-color: var(--cpd-color-border-interactive-primary);

  /* To align the ::after pseudo-element to the center of the radio button */
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

._ui_1vw5h_27::after {
  content: "";
  inline-size: 6px;
  block-size: 6px;
  border-radius: 50%;
  background: transparent;
}

._input_1vw5h_26:checked + ._ui_1vw5h_27 {
  background-color: var(--cpd-color-bg-accent-rest);
  border-color: var(--cpd-color-bg-accent-rest);
}

._input_1vw5h_26:checked + ._ui_1vw5h_27::after {
  background: var(--cpd-color-icon-on-solid-primary);
}

._input_1vw5h_26:focus-visible + ._ui_1vw5h_27 {
  outline: 2px solid var(--cpd-color-border-focused);
  outline-offset: 1px;
}

._input_1vw5h_26[readonly] {
  pointer-events: none;
}

._input_1vw5h_26[readonly] + ._ui_1vw5h_27 {
  border-color: var(--cpd-color-border-interactive-secondary);
  background: var(--cpd-color-bg-subtle-secondary);
}

._input_1vw5h_26[disabled] + ._ui_1vw5h_27 {
  border-color: var(--cpd-color-border-disabled);
  background: var(--cpd-color-bg-canvas-disabled);
}

._input_1vw5h_26[disabled]:checked + ._ui_1vw5h_27 {
  border-color: var(--cpd-color-bg-action-primary-disabled);
  background: var(--cpd-color-bg-action-primary-disabled);
}

._input_1vw5h_26[readonly]:checked + ._ui_1vw5h_27::after {
  background-color: var(--cpd-color-icon-secondary);
}

@media (hover) {
  ._input_1vw5h_26:not([disabled], [readonly], :checked):hover + ._ui_1vw5h_27 {
    border-color: var(--cpd-color-bg-accent-hovered);

    /** TODO: have the shadow in the design tokens */
    -webkit-box-shadow: 0 1.2px 2.4px 0 rgb(0 0 0 / 15%);
            box-shadow: 0 1.2px 2.4px 0 rgb(0 0 0 / 15%);
  }

  ._input_1vw5h_26:not([disabled], [readonly], :checked):hover + ._ui_1vw5h_27::after {
    background: var(--cpd-color-icon-quaternary);
  }

  ._input_1vw5h_26:not([disabled], [readonly]):checked:hover + ._ui_1vw5h_27 {
    border-color: var(--cpd-color-bg-accent-hovered);
    background: var(--cpd-color-bg-accent-hovered);
  }

  ._input_1vw5h_26[data-invalid]:not([disabled], [readonly]):checked:hover + ._ui_1vw5h_27 {
    border-color: var(--cpd-color-bg-critical-hovered);
    background: var(--cpd-color-bg-critical-hovered);
  }
}

._input_1vw5h_26[data-invalid]:not([disabled], [readonly], :checked) + ._ui_1vw5h_27 {
  border-color: var(--cpd-color-border-critical-primary);
}

._input_1vw5h_26[data-invalid]:not([disabled], [readonly]):checked + ._ui_1vw5h_27 {
  background-color: var(--cpd-color-bg-critical-primary);
  border-color: var(--cpd-color-bg-critical-primary);
}

/*
Copyright 2024 New Vector Ltd

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/

._controls_1h4nb_17 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 15px;
}

._controls_1h4nb_17 > input {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    min-inline-size: 0;
  }

._button-group_1h4nb_27 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  inset-block-start: var(--cpd-space-1x);
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: var(--cpd-space-2x);
}

/*
Copyright 2023 The Matrix.org Foundation C.I.C.
Copyright 2023 New Vector Ltd

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/

:root {
  --cpd-radius-pill-effect: 9999px;

  /* Default icon and avatar size */
  --cpd-icon-button-size: var(--cpd-space-8x);
  --cpd-avatar-size: var(--cpd-space-16x);

  /**
  * We want to apply Inter Dynamic metrics (https://rsms.me/inter/dynmetrics/)
  * We need to tweak the `letter-spacing` property and doing so, disables by
  * default the optional ligatures
  * `font-feature-settings` allows us to override this behaviour and have the
  * correct ligatures and the proper dynamic metric spacing.
  */
  --cpd-font-feature-settings: "kern" 1, "liga" 1, "calt" 1;
  --cpd-separator-spacing: var(--cpd-space-2x);
  --cpd-separator-inset: 0;
}

html,
body,
input {
  font: var(--cpd-font-body-md-regular);
  color: var(--cpd-color-text-primary);
  -webkit-font-feature-settings: "kern" 1, "liga" 1, "calt" 1;
          font-feature-settings: "kern" 1, "liga" 1, "calt" 1;
  -webkit-font-feature-settings: var(--cpd-font-feature-settings);
          font-feature-settings: var(--cpd-font-feature-settings);
}

html,
body {
  block-size: 100%;
  font-size: var(--cpd-font-size-root);
}

body {
  background: var(--cpd-color-bg-canvas-default);
}

/*
Copyright 2024 New Vector Ltd

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/

._content_md016_17 {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  background-color: var(--cpd-color-bg-subtle-secondary);
  padding: var(--cpd-space-4x);
  border-radius: var(--cpd-space-2x);
  color: var(--cpd-color-icon-secondary);
}

._content_md016_17 > svg {
    inline-size: 32px;
    block-size: 32px;
  }

._content_md016_17[data-size="medium"] {
  padding: var(--cpd-space-3x);
}

._content_md016_17[data-size="small"] {
  padding: var(--cpd-space-3x);
}

._content_md016_17[data-size="small"] > svg {
    inline-size: 24px;
    block-size: 24px;
  }

._destructive_md016_43 {
  background-color: var(--cpd-color-bg-critical-subtle);
  color: var(--cpd-color-icon-critical-primary);
}

._success_md016_48 {
  background-color: var(--cpd-color-bg-success-subtle);
  color: var(--cpd-color-icon-success-primary);
}

/* Copyright 2023 The Matrix.org Foundation C.I.C.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

._nav-bar_135dy_16 {
  -webkit-border-after: var(--cpd-border-width-1) solid var(--cpd-color-gray-400);
          border-block-end: var(--cpd-border-width-1) solid var(--cpd-color-gray-400);
  margin: var(--cpd-space-6x) 0;
  padding: 0;
}

._nav-bar-items_135dy_22 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: var(--cpd-space-3x);
  list-style: none;
  padding: 0;
  margin: 0;
}

._nav-tab_135dy_33 {
  padding: var(--cpd-space-4x) 0;
  position: relative;
}

/* Underline effect */

._nav-tab_135dy_33::before {
  content: "";
  position: absolute;
  inset-block-end: 0;
  inset-inline: 0;
  block-size: 0;
  border-radius: 9999px 9999px 0 0;
  border-radius: var(--cpd-radius-pill-effect) var(--cpd-radius-pill-effect) 0 0;
  background-color: var(--cpd-color-bg-action-primary-rest);
  -webkit-transition: height 0.1s ease-in-out;
  transition: height 0.1s ease-in-out;
}

._nav-tab_135dy_33[data-current]::before {
  /* This is not exactly right: designs says 3px, but there are no variables for that */
  block-size: var(--cpd-border-width-4);
}

._nav-item_135dy_55 {
  padding-block: var(--cpd-space-1x);
  padding-inline: var(--cpd-space-2x);
  border-radius: 9999px;
  border-radius: var(--cpd-radius-pill-effect);
  cursor: pointer;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: var(--cpd-space-2x);
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  background: transparent;
  border: 0;
  font: var(--cpd-font-body-md-medium);
  color: var(--cpd-color-text-secondary);
  text-decoration: none;
}

@media (hover) {
  ._nav-item_135dy_55:not([disabled]):hover {
    color: var(--cpd-color-text-primary);
    background-color: var(--cpd-color-bg-subtle-secondary);
  }
}

._nav-item_135dy_55:focus-visible {
  outline: var(--cpd-color-border-focused) var(--cpd-border-width-2) solid;
}

._nav-item_135dy_55:not([disabled]):active {
  color: var(--cpd-color-text-primary);
  background-color: var(--cpd-color-bg-subtle-primary);
}

._nav-item_135dy_55[aria-current],
._nav-item_135dy_55[aria-selected="true"] {
  color: var(--cpd-color-text-primary);
}

._nav-item_135dy_55[disabled] {
  cursor: not-allowed;

  /* Enable pointer events for svgs even with fill=none */
  pointer-events: all !important;
  color: var(--cpd-color-text-disabled);
}

/*
Copyright 2024 New Vector Ltd

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/

._content_1oa1y_17 {
  /* 320px + 20px padding left + 20px padding right */
  max-inline-size: 320px;
  border-radius: var(--cpd-space-3x);
  background: var(--cpd-color-bg-action-primary-rest);
  padding: var(--cpd-space-5x) var(--cpd-space-6x);

  /* from figma */
  -webkit-box-shadow: 0 4px 24px 0 rgb(0 0 0 / 10%);
          box-shadow: 0 4px 24px 0 rgb(0 0 0 / 10%);

  /*
  * Grid, we want to have the following layout:
  * ----------------------------------
  * -  ---------------   ----------  -
  * -  | heading     |   |        |  -
  * -  --------------    | button |  -
  * -  ---------------   | button |  -
  * -  | description |   |        |  -
  * -  ---------------   ----------  -
  * ----------------------------------
  */
  display: grid;
  grid-template:
    "header button" auto
    "description button" auto;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  grid-column-gap: var(--cpd-space-6x);
  -webkit-column-gap: var(--cpd-space-6x);
     -moz-column-gap: var(--cpd-space-6x);
          column-gap: var(--cpd-space-6x);
}

._header_1oa1y_46 {
  margin: 0;
  color: var(--cpd-color-text-on-solid-primary);
  grid-area: header;
}

._description_1oa1y_52 {
  color: var(--cpd-color-gray-500);
  grid-area: description;
}

._button_1oa1y_57 {
  color: var(--cpd-color-bg-subtle-secondary);
  grid-area: button;
}

._arrow_1oa1y_62 {
  fill: var(--cpd-color-bg-action-primary-rest);
}

/*
Copyright 2024 New Vector Ltd

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/

._container_1bgl1_17 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}

._container_1bgl1_17 label {
    font: var(--cpd-font-body-md-medium);
    -webkit-margin-after: var(--cpd-space-1x);
            margin-block-end: var(--cpd-space-1x);
  }

._container_1bgl1_17 button {
    inline-size: 100%;
    border: 1px solid var(--cpd-color-border-interactive-primary);
    background: var(--cpd-color-bg-canvas-default);
    border-radius: 0.5rem;
    padding: var(--cpd-space-3x) var(--cpd-space-3x) var(--cpd-space-3x)
      var(--cpd-space-4x);
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    color: var(--cpd-color-text-primary);
    font: var(--cpd-font-body-md-regular);
    cursor: pointer;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: var(--cpd-space-4x);
  }

._container_1bgl1_17 button svg {
      -webkit-transition: -webkit-transform 0.1s linear;
      transition: -webkit-transform 0.1s linear;
      transition: transform 0.1s linear;
      transition: transform 0.1s linear, -webkit-transform 0.1s linear;
    }

/**
   * When the dropdown is open, rotate the arrow icon
   */

._container_1bgl1_17 button[aria-expanded="true"] svg {
      -webkit-transform: rotate(180deg);
              transform: rotate(180deg);
    }

._container_1bgl1_17 button._placeholder_1bgl1_56 {
    color: var(--cpd-color-text-secondary);
  }

._container_1bgl1_17 ._border_1bgl1_60 {
    display: none;
    -webkit-border-start: 1px solid var(--cpd-color-border-interactive-secondary);
            border-inline-start: 1px solid var(--cpd-color-border-interactive-secondary);
    -webkit-border-end: 1px solid var(--cpd-color-border-interactive-secondary);
            border-inline-end: 1px solid var(--cpd-color-border-interactive-secondary);
    block-size: var(--cpd-space-1x);
    -webkit-margin-before: calc(var(--cpd-space-1x) * -1);
            margin-block-start: calc(var(--cpd-space-1x) * -1);
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
  }

._container_1bgl1_17 ._content_1bgl1_69 {
    display: none;
    position: relative;
  }

._container_1bgl1_17 ._content_1bgl1_69 ul {
      /**
       * To make the component going over the other elements
       */
      position: absolute;
      display: block;
      inline-size: 100%;
      background: var(--cpd-color-bg-canvas-default);
      border: 1px solid var(--cpd-color-border-interactive-secondary);
      -webkit-border-before: 0;
              border-block-start: 0;
      border-end-start-radius: var(--cpd-space-4x);
      border-end-end-radius: var(--cpd-space-4x);
      -webkit-box-sizing: border-box;
              box-sizing: border-box;
      -webkit-box-shadow: 0 4px 24px 0 rgb(27 29 34 / 10%);
              box-shadow: 0 4px 24px 0 rgb(27 29 34 / 10%);
      margin: 0;
      padding: 0;
      -webkit-padding-after: var(--cpd-space-4x);
              padding-block-end: var(--cpd-space-4x);
      cursor: pointer;
    }

._container_1bgl1_17 ._content_1bgl1_69 ul li {
        list-style: none;
        font: var(--cpd-font-body-md-medium);
        padding: var(--cpd-space-3x) var(--cpd-space-4x);
        -webkit-border-after: 1px solid var(--cpd-color-gray-300);
                border-block-end: 1px solid var(--cpd-color-gray-300);
        color: var(--cpd-color-text-secondary);
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: justify;
            -ms-flex-pack: justify;
                justify-content: space-between;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        gap: var(--cpd-space-4x);
      }

@media (hover) {
          ._container_1bgl1_17 ._content_1bgl1_69 ul li:hover {
            background: var(--cpd-color-gray-200);
          }
        }

._container_1bgl1_17 ._content_1bgl1_69 ul li[aria-selected="true"] {
          color: var(--cpd-color-text-primary);
          background: var(--cpd-color-gray-300);
        }

._container_1bgl1_17 ._open_1bgl1_117 {
    display: block;
  }

._container_1bgl1_17 ._help_1bgl1_121 {
    font: var(--cpd-font-body-sm-regular);
    color: var(--cpd-color-text-secondary);
  }

._container_1bgl1_17 ._error_1bgl1_126 {
    font: var(--cpd-font-body-sm-medium);
    color: var(--cpd-color-text-critical-primary);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: var(--cpd-space-2x);
  }

._container_1bgl1_17 ._error_1bgl1_126,
  ._container_1bgl1_17 ._help_1bgl1_121 {
    -webkit-margin-before: var(--cpd-space-2x);
            margin-block-start: var(--cpd-space-2x);
  }

._container_1bgl1_17[aria-invalid="true"] label {
      color: var(--cpd-color-text-critical-primary);
    }

._container_1bgl1_17[aria-invalid="true"] button {
      border-color: var(--cpd-color-text-critical-primary);
    }

/*
Copyright 2024 New Vector Ltd

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/

._breadcrumb_ikpbb_17 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  block-size: 40px;
  gap: var(--cpd-space-3x);
  -webkit-padding-after: var(--cpd-space-3x);
          padding-block-end: var(--cpd-space-3x);
  -webkit-border-after: 1px solid var(--cpd-color-alpha-gray-400);
          border-block-end: 1px solid var(--cpd-color-alpha-gray-400);
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

._breadcrumb_ikpbb_17 ._pages_ikpbb_26 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: var(--cpd-space-1x);

    /* override list styles */
    list-style: none;
    margin: 0;
    padding: 0;
  }

._breadcrumb_ikpbb_17 ._pages_ikpbb_26 a {
      cursor: pointer;
    }

._breadcrumb_ikpbb_17 ._pages_ikpbb_26 ._last-page_ikpbb_39 {
      font: var(--cpd-font-body-sm-regular);
      color: var(--cpd-color-text-secondary);
    }

/*
     * Breadcrumb separator
     * We want this separator to be only visual and to not be in the accessibility tree.
     * The nav html element already provides an accessible way to separate the links.
     */

._breadcrumb_ikpbb_17 ._pages_ikpbb_26 li + li::before {
      display: inline-block;
      margin: 0 0.3em 0 0.25em;
      -webkit-transform: rotate(15deg);
              transform: rotate(15deg);
      -webkit-border-end: 1px solid var(--cpd-color-text-secondary);
              border-inline-end: 1px solid var(--cpd-color-text-secondary);
      block-size: var(--cpd-space-3x);
      content: "";
    }

/* Last page */

._breadcrumb_ikpbb_17 ._pages_ikpbb_26 :last-child span {
        -webkit-padding-start: var(--cpd-space-1x);
                padding-inline-start: var(--cpd-space-1x);
      }

/*
Copyright 2024 New Vector Ltd.
Copyright 2022 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

/* SCSS variables representing a range of standard lengths.
 *
 * Avoid using these in new code: we cannot adjust their values without causing massive confusion, so they are
 * effectively equivalent to using hardcoded values.
 *
 * In future, we plan to introduce variables named according to their purpose rather than their size. Additionally,
 * we want switch to custom CSS properties (https://github.com/vector-im/element-web/issues/21656), so we might have
 * `--spacing-standard` or something. For now, you might as well use hardcoded px values for lengths (except for font
 * sizes, for which see the `$font-<N>px` variables).
 */

.maplibregl-map{font:12px/20px Helvetica Neue,Arial,Helvetica,sans-serif;overflow:hidden;position:relative;-webkit-tap-highlight-color:rgb(0 0 0/0)}

.maplibregl-canvas{left:0;position:absolute;top:0}

.maplibregl-map:-webkit-full-screen{height:100%;width:100%}

.maplibregl-map:-ms-fullscreen{height:100%;width:100%}

.maplibregl-map:fullscreen{height:100%;width:100%}

.maplibregl-ctrl-group button.maplibregl-ctrl-compass{-ms-touch-action:none;touch-action:none}

.maplibregl-canvas-container.maplibregl-interactive,.maplibregl-ctrl-group button.maplibregl-ctrl-compass{cursor:-webkit-grab;cursor:grab;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}

.maplibregl-canvas-container.maplibregl-interactive.maplibregl-track-pointer{cursor:pointer}

.maplibregl-canvas-container.maplibregl-interactive:active,.maplibregl-ctrl-group button.maplibregl-ctrl-compass:active{cursor:-webkit-grabbing;cursor:grabbing}

.maplibregl-canvas-container.maplibregl-touch-zoom-rotate,.maplibregl-canvas-container.maplibregl-touch-zoom-rotate .maplibregl-canvas{-ms-touch-action:pan-x pan-y;touch-action:pan-x pan-y}

.maplibregl-canvas-container.maplibregl-touch-drag-pan,.maplibregl-canvas-container.maplibregl-touch-drag-pan .maplibregl-canvas{-ms-touch-action:pinch-zoom;touch-action:pinch-zoom}

.maplibregl-canvas-container.maplibregl-touch-zoom-rotate.maplibregl-touch-drag-pan,.maplibregl-canvas-container.maplibregl-touch-zoom-rotate.maplibregl-touch-drag-pan .maplibregl-canvas{-ms-touch-action:none;touch-action:none}

.maplibregl-canvas-container.maplibregl-touch-drag-pan.maplibregl-cooperative-gestures,.maplibregl-canvas-container.maplibregl-touch-drag-pan.maplibregl-cooperative-gestures .maplibregl-canvas{-ms-touch-action:pan-x pan-y;touch-action:pan-x pan-y}

.maplibregl-ctrl-bottom-left,.maplibregl-ctrl-bottom-right,.maplibregl-ctrl-top-left,.maplibregl-ctrl-top-right{pointer-events:none;position:absolute;z-index:2}

.maplibregl-ctrl-top-left{left:0;top:0}

.maplibregl-ctrl-top-right{right:0;top:0}

.maplibregl-ctrl-bottom-left{bottom:0;left:0}

.maplibregl-ctrl-bottom-right{bottom:0;right:0}

.maplibregl-ctrl{clear:both;pointer-events:auto;-webkit-transform:translate(0);transform:translate(0)}

.maplibregl-ctrl-top-left .maplibregl-ctrl{float:left;margin:10px 0 0 10px}

.maplibregl-ctrl-top-right .maplibregl-ctrl{float:right;margin:10px 10px 0 0}

.maplibregl-ctrl-bottom-left .maplibregl-ctrl{float:left;margin:0 0 10px 10px}

.maplibregl-ctrl-bottom-right .maplibregl-ctrl{float:right;margin:0 10px 10px 0}

.maplibregl-ctrl-group{background:#fff;border-radius:4px}

.maplibregl-ctrl-group:not(:empty){-webkit-box-shadow:0 0 0 2px rgba(0,0,0,.1);box-shadow:0 0 0 2px rgba(0,0,0,.1)}

@media (forced-colors:active){.maplibregl-ctrl-group:not(:empty){-webkit-box-shadow:0 0 0 2px ButtonText;box-shadow:0 0 0 2px ButtonText}}

.maplibregl-ctrl-group button{background-color:transparent;border:0;-webkit-box-sizing:border-box;box-sizing:border-box;cursor:pointer;display:block;height:29px;outline:none;padding:0;width:29px}

.maplibregl-ctrl-group button+button{border-top:1px solid #ddd}

.maplibregl-ctrl button .maplibregl-ctrl-icon{background-position:50%;background-repeat:no-repeat;display:block;height:100%;width:100%}

@media (forced-colors:active){.maplibregl-ctrl-icon{background-color:transparent}.maplibregl-ctrl-group button+button{border-top:1px solid ButtonText}}

.maplibregl-ctrl button::-moz-focus-inner{border:0;padding:0}

.maplibregl-ctrl-attrib-button:focus,.maplibregl-ctrl-group button:focus{-webkit-box-shadow:0 0 2px 2px #0096ff;box-shadow:0 0 2px 2px #0096ff}

.maplibregl-ctrl button:disabled{cursor:not-allowed}

.maplibregl-ctrl button:disabled .maplibregl-ctrl-icon{opacity:.25}

.maplibregl-ctrl button:not(:disabled):hover{background-color:rgb(0 0 0/5%)}

.maplibregl-ctrl-group button:focus:focus-visible{-webkit-box-shadow:0 0 2px 2px #0096ff;box-shadow:0 0 2px 2px #0096ff}

.maplibregl-ctrl-group button:focus:not(:focus-visible){-webkit-box-shadow:none;box-shadow:none}

.maplibregl-ctrl-group button:focus:first-child{border-radius:4px 4px 0 0}

.maplibregl-ctrl-group button:focus:last-child{border-radius:0 0 4px 4px}

.maplibregl-ctrl-group button:focus:only-child{border-radius:inherit}

.maplibregl-ctrl button.maplibregl-ctrl-zoom-out .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23333' viewBox='0 0 29 29'%3E%3Cpath d='M10 13c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h9c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13z'/%3E%3C/svg%3E")}

.maplibregl-ctrl button.maplibregl-ctrl-zoom-in .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23333' viewBox='0 0 29 29'%3E%3Cpath d='M14.5 8.5c-.75 0-1.5.75-1.5 1.5v3h-3c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h3v3c0 .75.75 1.5 1.5 1.5S16 19.75 16 19v-3h3c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-3v-3c0-.75-.75-1.5-1.5-1.5'/%3E%3C/svg%3E")}

@media (forced-colors:active){.maplibregl-ctrl button.maplibregl-ctrl-zoom-out .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='M10 13c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h9c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13z'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-zoom-in .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='M14.5 8.5c-.75 0-1.5.75-1.5 1.5v3h-3c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h3v3c0 .75.75 1.5 1.5 1.5S16 19.75 16 19v-3h3c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-3v-3c0-.75-.75-1.5-1.5-1.5'/%3E%3C/svg%3E")}}

@media (forced-colors:active) and (prefers-color-scheme:light){.maplibregl-ctrl button.maplibregl-ctrl-zoom-out .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' viewBox='0 0 29 29'%3E%3Cpath d='M10 13c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h9c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13z'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-zoom-in .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' viewBox='0 0 29 29'%3E%3Cpath d='M14.5 8.5c-.75 0-1.5.75-1.5 1.5v3h-3c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h3v3c0 .75.75 1.5 1.5 1.5S16 19.75 16 19v-3h3c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-3v-3c0-.75-.75-1.5-1.5-1.5'/%3E%3C/svg%3E")}}

.maplibregl-ctrl button.maplibregl-ctrl-fullscreen .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23333' viewBox='0 0 29 29'%3E%3Cpath d='M24 16v5.5c0 1.75-.75 2.5-2.5 2.5H16v-1l3-1.5-4-5.5 1-1 5.5 4 1.5-3zM6 16l1.5 3 5.5-4 1 1-4 5.5 3 1.5v1H7.5C5.75 24 5 23.25 5 21.5V16zm7-11v1l-3 1.5 4 5.5-1 1-5.5-4L6 13H5V7.5C5 5.75 5.75 5 7.5 5zm11 2.5c0-1.75-.75-2.5-2.5-2.5H16v1l3 1.5-4 5.5 1 1 5.5-4 1.5 3h1z'/%3E%3C/svg%3E")}

.maplibregl-ctrl button.maplibregl-ctrl-shrink .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' viewBox='0 0 29 29'%3E%3Cpath d='M18.5 16c-1.75 0-2.5.75-2.5 2.5V24h1l1.5-3 5.5 4 1-1-4-5.5 3-1.5v-1zM13 18.5c0-1.75-.75-2.5-2.5-2.5H5v1l3 1.5L4 24l1 1 5.5-4 1.5 3h1zm3-8c0 1.75.75 2.5 2.5 2.5H24v-1l-3-1.5L25 5l-1-1-5.5 4L17 5h-1zM10.5 13c1.75 0 2.5-.75 2.5-2.5V5h-1l-1.5 3L5 4 4 5l4 5.5L5 12v1z'/%3E%3C/svg%3E")}

@media (forced-colors:active){.maplibregl-ctrl button.maplibregl-ctrl-fullscreen .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='M24 16v5.5c0 1.75-.75 2.5-2.5 2.5H16v-1l3-1.5-4-5.5 1-1 5.5 4 1.5-3zM6 16l1.5 3 5.5-4 1 1-4 5.5 3 1.5v1H7.5C5.75 24 5 23.25 5 21.5V16zm7-11v1l-3 1.5 4 5.5-1 1-5.5-4L6 13H5V7.5C5 5.75 5.75 5 7.5 5zm11 2.5c0-1.75-.75-2.5-2.5-2.5H16v1l3 1.5-4 5.5 1 1 5.5-4 1.5 3h1z'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-shrink .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='M18.5 16c-1.75 0-2.5.75-2.5 2.5V24h1l1.5-3 5.5 4 1-1-4-5.5 3-1.5v-1zM13 18.5c0-1.75-.75-2.5-2.5-2.5H5v1l3 1.5L4 24l1 1 5.5-4 1.5 3h1zm3-8c0 1.75.75 2.5 2.5 2.5H24v-1l-3-1.5L25 5l-1-1-5.5 4L17 5h-1zM10.5 13c1.75 0 2.5-.75 2.5-2.5V5h-1l-1.5 3L5 4 4 5l4 5.5L5 12v1z'/%3E%3C/svg%3E")}}

@media (forced-colors:active) and (prefers-color-scheme:light){.maplibregl-ctrl button.maplibregl-ctrl-fullscreen .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' viewBox='0 0 29 29'%3E%3Cpath d='M24 16v5.5c0 1.75-.75 2.5-2.5 2.5H16v-1l3-1.5-4-5.5 1-1 5.5 4 1.5-3zM6 16l1.5 3 5.5-4 1 1-4 5.5 3 1.5v1H7.5C5.75 24 5 23.25 5 21.5V16zm7-11v1l-3 1.5 4 5.5-1 1-5.5-4L6 13H5V7.5C5 5.75 5.75 5 7.5 5zm11 2.5c0-1.75-.75-2.5-2.5-2.5H16v1l3 1.5-4 5.5 1 1 5.5-4 1.5 3h1z'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-shrink .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' viewBox='0 0 29 29'%3E%3Cpath d='M18.5 16c-1.75 0-2.5.75-2.5 2.5V24h1l1.5-3 5.5 4 1-1-4-5.5 3-1.5v-1zM13 18.5c0-1.75-.75-2.5-2.5-2.5H5v1l3 1.5L4 24l1 1 5.5-4 1.5 3h1zm3-8c0 1.75.75 2.5 2.5 2.5H24v-1l-3-1.5L25 5l-1-1-5.5 4L17 5h-1zM10.5 13c1.75 0 2.5-.75 2.5-2.5V5h-1l-1.5 3L5 4 4 5l4 5.5L5 12v1z'/%3E%3C/svg%3E")}}

.maplibregl-ctrl button.maplibregl-ctrl-compass .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23333' viewBox='0 0 29 29'%3E%3Cpath d='m10.5 14 4-8 4 8z'/%3E%3Cpath fill='%23ccc' d='m10.5 16 4 8 4-8z'/%3E%3C/svg%3E")}

@media (forced-colors:active){.maplibregl-ctrl button.maplibregl-ctrl-compass .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='m10.5 14 4-8 4 8z'/%3E%3Cpath fill='%23ccc' d='m10.5 16 4 8 4-8z'/%3E%3C/svg%3E")}}

@media (forced-colors:active) and (prefers-color-scheme:light){.maplibregl-ctrl button.maplibregl-ctrl-compass .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' viewBox='0 0 29 29'%3E%3Cpath d='m10.5 14 4-8 4 8z'/%3E%3Cpath fill='%23ccc' d='m10.5 16 4 8 4-8z'/%3E%3C/svg%3E")}}

.maplibregl-ctrl button.maplibregl-ctrl-globe .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22' fill='none' stroke='%23333' viewBox='0 0 22 22'%3E%3Ccircle cx='11' cy='11' r='8.5'/%3E%3Cpath d='M17.5 11c0 4.819-3.02 8.5-6.5 8.5S4.5 15.819 4.5 11 7.52 2.5 11 2.5s6.5 3.681 6.5 8.5Z'/%3E%3Cpath d='M13.5 11c0 2.447-.331 4.64-.853 6.206-.262.785-.562 1.384-.872 1.777-.314.399-.58.517-.775.517s-.461-.118-.775-.517c-.31-.393-.61-.992-.872-1.777C8.831 15.64 8.5 13.446 8.5 11s.331-4.64.853-6.206c.262-.785.562-1.384.872-1.777.314-.399.58-.517.775-.517s.461.118.775.517c.31.393.61.992.872 1.777.522 1.565.853 3.76.853 6.206Z'/%3E%3Cpath d='M11 7.5c-1.909 0-3.622-.166-4.845-.428-.616-.132-1.08-.283-1.379-.434a1.3 1.3 0 0 1-.224-.138q.07-.058.224-.138c.299-.151.763-.302 1.379-.434C7.378 5.666 9.091 5.5 11 5.5s3.622.166 4.845.428c.616.132 1.08.283 1.379.434.105.053.177.1.224.138q-.07.058-.224.138c-.299.151-.763.302-1.379.434-1.223.262-2.936.428-4.845.428ZM4.486 6.436ZM11 16.5c-1.909 0-3.622-.166-4.845-.428-.616-.132-1.08-.283-1.379-.434a1.3 1.3 0 0 1-.224-.138 1.3 1.3 0 0 1 .224-.138c.299-.151.763-.302 1.379-.434C7.378 14.666 9.091 14.5 11 14.5s3.622.166 4.845.428c.616.132 1.08.283 1.379.434.105.053.177.1.224.138a1.3 1.3 0 0 1-.224.138c-.299.151-.763.302-1.379.434-1.223.262-2.936.428-4.845.428Zm-6.514-1.064ZM11 12.5c-2.46 0-4.672-.222-6.255-.574-.796-.177-1.406-.38-1.805-.59a1.5 1.5 0 0 1-.39-.272.3.3 0 0 1-.047-.064.3.3 0 0 1 .048-.064c.066-.073.189-.167.389-.272.399-.21 1.009-.413 1.805-.59C6.328 9.722 8.54 9.5 11 9.5s4.672.222 6.256.574c.795.177 1.405.38 1.804.59.2.105.323.2.39.272a.3.3 0 0 1 .047.064.3.3 0 0 1-.048.064 1.4 1.4 0 0 1-.389.272c-.399.21-1.009.413-1.804.59-1.584.352-3.796.574-6.256.574Zm-8.501-1.51v.002zm0 .018v.002zm17.002.002v-.002zm0-.018v-.002z'/%3E%3C/svg%3E")}

.maplibregl-ctrl button.maplibregl-ctrl-globe-enabled .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22' fill='none' stroke='%2333b5e5' viewBox='0 0 22 22'%3E%3Ccircle cx='11' cy='11' r='8.5'/%3E%3Cpath d='M17.5 11c0 4.819-3.02 8.5-6.5 8.5S4.5 15.819 4.5 11 7.52 2.5 11 2.5s6.5 3.681 6.5 8.5Z'/%3E%3Cpath d='M13.5 11c0 2.447-.331 4.64-.853 6.206-.262.785-.562 1.384-.872 1.777-.314.399-.58.517-.775.517s-.461-.118-.775-.517c-.31-.393-.61-.992-.872-1.777C8.831 15.64 8.5 13.446 8.5 11s.331-4.64.853-6.206c.262-.785.562-1.384.872-1.777.314-.399.58-.517.775-.517s.461.118.775.517c.31.393.61.992.872 1.777.522 1.565.853 3.76.853 6.206Z'/%3E%3Cpath d='M11 7.5c-1.909 0-3.622-.166-4.845-.428-.616-.132-1.08-.283-1.379-.434a1.3 1.3 0 0 1-.224-.138q.07-.058.224-.138c.299-.151.763-.302 1.379-.434C7.378 5.666 9.091 5.5 11 5.5s3.622.166 4.845.428c.616.132 1.08.283 1.379.434.105.053.177.1.224.138q-.07.058-.224.138c-.299.151-.763.302-1.379.434-1.223.262-2.936.428-4.845.428ZM4.486 6.436ZM11 16.5c-1.909 0-3.622-.166-4.845-.428-.616-.132-1.08-.283-1.379-.434a1.3 1.3 0 0 1-.224-.138 1.3 1.3 0 0 1 .224-.138c.299-.151.763-.302 1.379-.434C7.378 14.666 9.091 14.5 11 14.5s3.622.166 4.845.428c.616.132 1.08.283 1.379.434.105.053.177.1.224.138a1.3 1.3 0 0 1-.224.138c-.299.151-.763.302-1.379.434-1.223.262-2.936.428-4.845.428Zm-6.514-1.064ZM11 12.5c-2.46 0-4.672-.222-6.255-.574-.796-.177-1.406-.38-1.805-.59a1.5 1.5 0 0 1-.39-.272.3.3 0 0 1-.047-.064.3.3 0 0 1 .048-.064c.066-.073.189-.167.389-.272.399-.21 1.009-.413 1.805-.59C6.328 9.722 8.54 9.5 11 9.5s4.672.222 6.256.574c.795.177 1.405.38 1.804.59.2.105.323.2.39.272a.3.3 0 0 1 .047.064.3.3 0 0 1-.048.064 1.4 1.4 0 0 1-.389.272c-.399.21-1.009.413-1.804.59-1.584.352-3.796.574-6.256.574Zm-8.501-1.51v.002zm0 .018v.002zm17.002.002v-.002zm0-.018v-.002z'/%3E%3C/svg%3E")}

.maplibregl-ctrl button.maplibregl-ctrl-terrain .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22' fill='%23333' viewBox='0 0 22 22'%3E%3Cpath d='m1.754 13.406 4.453-4.851 3.09 3.09 3.281 3.277.969-.969-3.309-3.312 3.844-4.121 6.148 6.886h1.082v-.855l-7.207-8.07-4.84 5.187L6.169 6.57l-5.48 5.965v.871ZM.688 16.844h20.625v1.375H.688Zm0 0'/%3E%3C/svg%3E")}

.maplibregl-ctrl button.maplibregl-ctrl-terrain-enabled .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22' fill='%2333b5e5' viewBox='0 0 22 22'%3E%3Cpath d='m1.754 13.406 4.453-4.851 3.09 3.09 3.281 3.277.969-.969-3.309-3.312 3.844-4.121 6.148 6.886h1.082v-.855l-7.207-8.07-4.84 5.187L6.169 6.57l-5.48 5.965v.871ZM.688 16.844h20.625v1.375H.688Zm0 0'/%3E%3C/svg%3E")}

.maplibregl-ctrl button.maplibregl-ctrl-geolocate .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23333' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E")}

.maplibregl-ctrl button.maplibregl-ctrl-geolocate:disabled .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23aaa' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3Cpath fill='red' d='m14 5 1 1-9 9-1-1z'/%3E%3C/svg%3E")}

.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-active .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%2333b5e5' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E")}

.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-active-error .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23e58978' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E")}

.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-background .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%2333b5e5' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3C/svg%3E")}

.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-background-error .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23e54e33' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3C/svg%3E")}

.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-waiting .maplibregl-ctrl-icon{-webkit-animation:maplibregl-spin 2s linear infinite;animation:maplibregl-spin 2s linear infinite}

@media (forced-colors:active){.maplibregl-ctrl button.maplibregl-ctrl-geolocate .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23fff' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate:disabled .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23999' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3Cpath fill='red' d='m14 5 1 1-9 9-1-1z'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-active .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%2333b5e5' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-active-error .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23e58978' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-background .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%2333b5e5' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-background-error .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23e54e33' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3C/svg%3E")}}

@media (forced-colors:active) and (prefers-color-scheme:light){.maplibregl-ctrl button.maplibregl-ctrl-geolocate .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate:disabled .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23666' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3Cpath fill='red' d='m14 5 1 1-9 9-1-1z'/%3E%3C/svg%3E")}}

@-webkit-keyframes maplibregl-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}

@keyframes maplibregl-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}

a.maplibregl-ctrl-logo{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='88' height='23' fill='none'%3E%3Cpath fill='%23000' fill-opacity='.4' fill-rule='evenodd' d='M17.408 16.796h-1.827l2.501-12.095h.198l3.324 6.533.988 2.19.988-2.19 3.258-6.533h.181l2.6 12.095h-1.81l-1.218-5.644-.362-1.71-.658 1.71-2.929 5.644h-.098l-2.914-5.644-.757-1.71-.345 1.71zm1.958-3.42-.726 3.663a1.255 1.255 0 0 1-1.232 1.011h-1.827a1.255 1.255 0 0 1-1.229-1.509l2.501-12.095a1.255 1.255 0 0 1 1.23-1.001h.197a1.25 1.25 0 0 1 1.12.685l3.19 6.273 3.125-6.263a1.25 1.25 0 0 1 1.123-.695h.181a1.255 1.255 0 0 1 1.227.991l1.443 6.71a5 5 0 0 1 .314-.787l.009-.016a4.6 4.6 0 0 1 1.777-1.887c.782-.46 1.668-.667 2.611-.667a4.6 4.6 0 0 1 1.7.32l.306.134c.21-.16.474-.256.759-.256h1.694a1.255 1.255 0 0 1 1.212.925 1.255 1.255 0 0 1 1.212-.925h1.711c.284 0 .545.094.755.252.613-.3 1.312-.45 2.075-.45 1.356 0 2.557.445 3.482 1.4q.47.48.763 1.064V4.701a1.255 1.255 0 0 1 1.255-1.255h1.86A1.255 1.255 0 0 1 54.44 4.7v9.194h2.217c.19 0 .37.043.532.118v-4.77c0-.356.147-.678.385-.906a2.42 2.42 0 0 1-.682-1.71c0-.665.267-1.253.735-1.7a2.45 2.45 0 0 1 1.722-.674 2.43 2.43 0 0 1 1.705.675q.318.302.504.683V4.7a1.255 1.255 0 0 1 1.255-1.255h1.744A1.255 1.255 0 0 1 65.812 4.7v3.335a4.8 4.8 0 0 1 1.526-.246c.938 0 1.817.214 2.59.69a4.47 4.47 0 0 1 1.67 1.743v-.98a1.255 1.255 0 0 1 1.256-1.256h1.777c.233 0 .451.064.639.174a3.4 3.4 0 0 1 1.567-.372c.346 0 .861.02 1.285.232a1.25 1.25 0 0 1 .689 1.004 4.7 4.7 0 0 1 .853-.588c.795-.44 1.675-.647 2.61-.647 1.385 0 2.65.39 3.525 1.396.836.938 1.168 2.173 1.168 3.528q-.001.515-.056 1.051a1.255 1.255 0 0 1-.947 1.09l.408.952a1.255 1.255 0 0 1-.477 1.552c-.418.268-.92.463-1.458.612-.613.171-1.304.244-2.049.244-1.06 0-2.043-.207-2.886-.698l-.015-.008c-.798-.48-1.419-1.135-1.818-1.963l-.004-.008a5.8 5.8 0 0 1-.548-2.512q0-.429.053-.843a1.3 1.3 0 0 1-.333-.086l-.166-.004c-.223 0-.426.062-.643.228-.03.024-.142.139-.142.59v3.883a1.255 1.255 0 0 1-1.256 1.256h-1.777a1.255 1.255 0 0 1-1.256-1.256V15.69l-.032.057a4.8 4.8 0 0 1-1.86 1.833 5.04 5.04 0 0 1-2.484.634 4.5 4.5 0 0 1-1.935-.424 1.25 1.25 0 0 1-.764.258h-1.71a1.255 1.255 0 0 1-1.256-1.255V7.687a2.4 2.4 0 0 1-.428.625c.253.23.412.561.412.93v7.553a1.255 1.255 0 0 1-1.256 1.255h-1.843a1.25 1.25 0 0 1-.894-.373c-.228.23-.544.373-.894.373H51.32a1.255 1.255 0 0 1-1.256-1.255v-1.251l-.061.117a4.7 4.7 0 0 1-1.782 1.884 4.77 4.77 0 0 1-2.485.67 5.6 5.6 0 0 1-1.485-.188l.009 2.764a1.255 1.255 0 0 1-1.255 1.259h-1.729a1.255 1.255 0 0 1-1.255-1.255v-3.537a1.255 1.255 0 0 1-1.167.793h-1.679a1.25 1.25 0 0 1-.77-.263 4.5 4.5 0 0 1-1.945.429c-.885 0-1.724-.21-2.495-.632l-.017-.01a5 5 0 0 1-1.081-.836 1.255 1.255 0 0 1-1.254 1.312h-1.81a1.255 1.255 0 0 1-1.228-.99l-.782-3.625-2.044 3.939a1.25 1.25 0 0 1-1.115.676h-.098a1.25 1.25 0 0 1-1.116-.68l-2.061-3.994zM35.92 16.63l.207-.114.223-.15q.493-.356.735-.785l.061-.118.033 1.332h1.678V9.242h-1.694l-.033 1.267q-.133-.329-.526-.658l-.032-.028a3.2 3.2 0 0 0-.668-.428l-.27-.12a3.3 3.3 0 0 0-1.235-.23q-1.136-.001-1.974.493a3.36 3.36 0 0 0-1.3 1.382q-.445.89-.444 2.074 0 1.2.51 2.107a3.8 3.8 0 0 0 1.382 1.381 3.9 3.9 0 0 0 1.893.477q.795 0 1.455-.33zm-2.789-5.38q-.576.675-.575 1.762 0 1.102.559 1.794.576.675 1.645.675a2.25 2.25 0 0 0 .934-.19 2.2 2.2 0 0 0 .468-.29l.178-.161a2.2 2.2 0 0 0 .397-.561q.244-.5.244-1.15v-.115q0-.708-.296-1.267l-.043-.077a2.2 2.2 0 0 0-.633-.709l-.13-.086-.047-.028a2.1 2.1 0 0 0-1.073-.285q-1.052 0-1.629.692zm2.316 2.706c.163-.17.28-.407.28-.83v-.114c0-.292-.06-.508-.15-.68a.96.96 0 0 0-.353-.389.85.85 0 0 0-.464-.127c-.4 0-.56.114-.664.239l-.01.012c-.148.174-.275.45-.275.945 0 .506.122.801.27.99.097.11.266.224.68.224.303 0 .504-.09.687-.269zm7.545 1.705a2.6 2.6 0 0 0 .331.423q.319.33.755.548l.173.074q.65.255 1.49.255 1.02 0 1.844-.493a3.45 3.45 0 0 0 1.316-1.4q.493-.904.493-2.089 0-1.909-.988-2.913-.988-1.02-2.584-1.02-.898 0-1.575.347a3 3 0 0 0-.415.262l-.199.166a3.4 3.4 0 0 0-.64.82V9.242h-1.712v11.553h1.729l-.017-5.134zm.53-1.138q.206.29.48.5l.155.11.053.034q.51.296 1.119.297 1.07 0 1.645-.675.577-.69.576-1.762 0-1.119-.576-1.777-.558-.675-1.645-.675-.435 0-.835.16a2 2 0 0 0-.284.136 2 2 0 0 0-.363.254 2.2 2.2 0 0 0-.46.569l-.082.162a2.6 2.6 0 0 0-.213 1.072v.115q0 .707.296 1.267l.135.211zm.964-.818a1.1 1.1 0 0 0 .367.385.94.94 0 0 0 .476.118c.423 0 .59-.117.687-.23.159-.194.28-.478.28-.95 0-.53-.133-.8-.266-.952l-.021-.025c-.078-.094-.231-.221-.68-.221a1 1 0 0 0-.503.135l-.012.007a.86.86 0 0 0-.335.343c-.073.133-.132.324-.132.614v.115a1.4 1.4 0 0 0 .14.66zm15.7-6.222q.347-.346.346-.856a1.05 1.05 0 0 0-.345-.79 1.18 1.18 0 0 0-.84-.329q-.51 0-.855.33a1.05 1.05 0 0 0-.346.79q0 .51.346.855.345.346.856.346.51 0 .839-.346zm4.337 9.314.033-1.332q.191.403.59.747l.098.081a4 4 0 0 0 .316.224l.223.122a3.2 3.2 0 0 0 1.44.322 3.8 3.8 0 0 0 1.875-.477 3.5 3.5 0 0 0 1.382-1.366q.527-.89.526-2.09 0-1.184-.444-2.073a3.24 3.24 0 0 0-1.283-1.399q-.823-.51-1.942-.51a3.5 3.5 0 0 0-1.527.344l-.086.043-.165.09a3 3 0 0 0-.33.214q-.432.315-.656.707a2 2 0 0 0-.099.198l.082-1.283V4.701h-1.744v12.095zm.473-2.509a2.5 2.5 0 0 0 .566.7q.117.098.245.18l.144.08a2.1 2.1 0 0 0 .975.232q1.07 0 1.645-.675.576-.69.576-1.778 0-1.102-.576-1.777-.56-.691-1.645-.692a2.2 2.2 0 0 0-1.015.235q-.22.113-.415.282l-.15.142a2.1 2.1 0 0 0-.42.594q-.223.479-.223 1.1v.115q0 .705.293 1.26zm2.616-.293c.157-.191.28-.479.28-.967 0-.51-.13-.79-.276-.961l-.021-.026c-.082-.1-.232-.225-.67-.225a.87.87 0 0 0-.681.279l-.012.011c-.154.155-.274.38-.274.807v.115c0 .285.057.499.144.669a1.1 1.1 0 0 0 .367.405c.137.082.28.123.455.123.423 0 .59-.118.686-.23zm8.266-3.013q.345-.13.724-.14l.069-.002q.493 0 .642.099l.247-1.794q-.196-.099-.717-.099a2.3 2.3 0 0 0-.545.063 2 2 0 0 0-.411.148 2.2 2.2 0 0 0-.4.249 2.5 2.5 0 0 0-.485.499 2.7 2.7 0 0 0-.32.581l-.05.137v-1.48h-1.778v7.553h1.777v-3.884q0-.546.159-.943a1.5 1.5 0 0 1 .466-.636 2.5 2.5 0 0 1 .399-.253 2 2 0 0 1 .224-.099zm9.784 2.656.05-.922q0-1.743-.856-2.698-.838-.97-2.584-.97-1.119-.001-2.007.493a3.46 3.46 0 0 0-1.4 1.382q-.493.906-.493 2.106 0 1.07.428 1.975.428.89 1.332 1.432.906.526 2.255.526.973 0 1.668-.185l.044-.012.135-.04q.613-.184.984-.421l-.542-1.267q-.3.162-.642.274l-.297.087q-.51.131-1.3.131-.954 0-1.497-.444a1.6 1.6 0 0 1-.192-.193q-.366-.44-.512-1.234l-.004-.021zm-5.427-1.256-.003.022h3.752v-.138q-.011-.727-.288-1.118a1 1 0 0 0-.156-.176q-.46-.428-1.316-.428-.986 0-1.494.604-.379.45-.494 1.234zm-27.053 2.77V4.7h-1.86v12.095h5.333V15.15zm7.103-5.908v7.553h-1.843V9.242h1.843z'/%3E%3Cpath fill='%23fff' d='m19.63 11.151-.757-1.71-.345 1.71-1.12 5.644h-1.827L18.083 4.7h.197l3.325 6.533.988 2.19.988-2.19L26.839 4.7h.181l2.6 12.095h-1.81l-1.218-5.644-.362-1.71-.658 1.71-2.93 5.644h-.098l-2.913-5.644zm14.836 5.81q-1.02 0-1.893-.478a3.8 3.8 0 0 1-1.381-1.382q-.51-.906-.51-2.106 0-1.185.444-2.074a3.36 3.36 0 0 1 1.3-1.382q.839-.494 1.974-.494a3.3 3.3 0 0 1 1.234.231 3.3 3.3 0 0 1 .97.575q.396.33.527.659l.033-1.267h1.694v7.553H37.18l-.033-1.332q-.279.593-1.02 1.053a3.17 3.17 0 0 1-1.662.444zm.296-1.482q.938 0 1.58-.642.642-.66.642-1.711v-.115q0-.708-.296-1.267a2.2 2.2 0 0 0-.807-.872 2.1 2.1 0 0 0-1.119-.313q-1.053 0-1.629.692-.575.675-.575 1.76 0 1.103.559 1.795.577.675 1.645.675zm6.521-6.237h1.711v1.4q.906-1.597 2.83-1.597 1.596 0 2.584 1.02.988 1.005.988 2.914 0 1.185-.493 2.09a3.46 3.46 0 0 1-1.316 1.399 3.5 3.5 0 0 1-1.844.493q-.954 0-1.662-.329a2.67 2.67 0 0 1-1.086-.97l.017 5.134h-1.728zm4.048 6.22q1.07 0 1.645-.674.577-.69.576-1.762 0-1.119-.576-1.777-.558-.675-1.645-.675-.592 0-1.12.296-.51.28-.822.823-.296.527-.296 1.234v.115q0 .708.296 1.267.313.543.823.855.51.296 1.119.297z'/%3E%3Cpath fill='%23e1e3e9' d='M51.325 4.7h1.86v10.45h3.473v1.646h-5.333zm7.12 4.542h1.843v7.553h-1.843zm.905-1.415a1.16 1.16 0 0 1-.856-.346 1.17 1.17 0 0 1-.346-.856 1.05 1.05 0 0 1 .346-.79q.346-.329.856-.329.494 0 .839.33a1.05 1.05 0 0 1 .345.79 1.16 1.16 0 0 1-.345.855q-.33.346-.84.346zm7.875 9.133a3.17 3.17 0 0 1-1.662-.444q-.723-.46-1.004-1.053l-.033 1.332h-1.71V4.701h1.743v4.657l-.082 1.283q.279-.658 1.086-1.119a3.5 3.5 0 0 1 1.778-.477q1.119 0 1.942.51a3.24 3.24 0 0 1 1.283 1.4q.445.888.444 2.072 0 1.201-.526 2.09a3.5 3.5 0 0 1-1.382 1.366 3.8 3.8 0 0 1-1.876.477zm-.296-1.481q1.069 0 1.645-.675.577-.69.577-1.778 0-1.102-.577-1.776-.56-.691-1.645-.692a2.12 2.12 0 0 0-1.58.659q-.642.641-.642 1.694v.115q0 .71.296 1.267a2.4 2.4 0 0 0 .807.872 2.1 2.1 0 0 0 1.119.313zm5.927-6.237h1.777v1.481q.263-.757.856-1.217a2.14 2.14 0 0 1 1.349-.46q.527 0 .724.098l-.247 1.794q-.149-.099-.642-.099-.774 0-1.416.494-.626.493-.626 1.58v3.883h-1.777V9.242zm9.534 7.718q-1.35 0-2.255-.526-.904-.543-1.332-1.432a4.6 4.6 0 0 1-.428-1.975q0-1.2.493-2.106a3.46 3.46 0 0 1 1.4-1.382q.889-.495 2.007-.494 1.744 0 2.584.97.855.956.856 2.7 0 .444-.05.92h-5.43q.18 1.005.708 1.45.542.443 1.497.443.79 0 1.3-.131a4 4 0 0 0 .938-.362l.542 1.267q-.411.263-1.119.46-.708.198-1.711.197zm1.596-4.558q.016-1.02-.444-1.432-.46-.428-1.316-.428-1.728 0-1.991 1.86z'/%3E%3Cpath d='M5.074 15.948a.484.657 0 0 0-.486.659v1.84a.484.657 0 0 0 .486.659h4.101a.484.657 0 0 0 .486-.659v-1.84a.484.657 0 0 0-.486-.659zm3.56 1.16H5.617v.838h3.017z' style='fill:%23fff;fill-rule:evenodd;stroke-width:1.03600001'/%3E%3Cg style='stroke-width:1.12603545'%3E%3Cpath d='M-9.408-1.416c-3.833-.025-7.056 2.912-7.08 6.615-.02 3.08 1.653 4.832 3.107 6.268.903.892 1.721 1.74 2.32 2.902l-.525-.004c-.543-.003-.992.304-1.24.639a1.87 1.87 0 0 0-.362 1.121l-.011 1.877c-.003.402.104.787.347 1.125.244.338.688.653 1.23.656l4.142.028c.542.003.99-.306 1.238-.641a1.87 1.87 0 0 0 .363-1.121l.012-1.875a1.87 1.87 0 0 0-.348-1.127c-.243-.338-.688-.653-1.23-.656l-.518-.004c.597-1.145 1.425-1.983 2.348-2.87 1.473-1.414 3.18-3.149 3.2-6.226-.016-3.59-2.923-6.684-6.993-6.707m-.006 1.1v.002c3.274.02 5.92 2.532 5.9 5.6-.017 2.706-1.39 4.026-2.863 5.44-1.034.994-2.118 2.033-2.814 3.633-.018.041-.052.055-.075.065q-.013.004-.02.01a.34.34 0 0 1-.226.084.34.34 0 0 1-.224-.086l-.092-.077c-.699-1.615-1.768-2.669-2.781-3.67-1.454-1.435-2.797-2.762-2.78-5.478.02-3.067 2.7-5.545 5.975-5.523m-.02 2.826c-1.62-.01-2.944 1.315-2.955 2.96-.01 1.646 1.295 2.988 2.916 2.999h.002c1.621.01 2.943-1.316 2.953-2.961.011-1.646-1.294-2.988-2.916-2.998m-.005 1.1c1.017.006 1.829.83 1.822 1.89s-.83 1.874-1.848 1.867c-1.018-.006-1.829-.83-1.822-1.89s.83-1.874 1.848-1.868m-2.155 11.857 4.14.025c.271.002.49.305.487.676l-.013 1.875c-.003.37-.224.67-.495.668l-4.14-.025c-.27-.002-.487-.306-.485-.676l.012-1.875c.003-.37.224-.67.494-.668' style='color:%23000;font-style:normal;font-variant:normal;font-weight:400;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:%23000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:evenodd;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:%23000;solid-opacity:1;vector-effect:none;fill:%23000;fill-opacity:.4;fill-rule:evenodd;stroke:none;stroke-width:2.47727823;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto' transform='translate(15.553 2.85)scale(.88807)'/%3E%3Cpath d='M-9.415-.316C-12.69-.338-15.37 2.14-15.39 5.207c-.017 2.716 1.326 4.041 2.78 5.477 1.013 1 2.081 2.055 2.78 3.67l.092.076a.34.34 0 0 0 .225.086.34.34 0 0 0 .227-.083l.019-.01c.022-.009.057-.024.074-.064.697-1.6 1.78-2.64 2.814-3.634 1.473-1.414 2.847-2.733 2.864-5.44.02-3.067-2.627-5.58-5.901-5.601m-.057 8.784c1.621.011 2.944-1.315 2.955-2.96.01-1.646-1.295-2.988-2.916-2.999-1.622-.01-2.945 1.315-2.955 2.96s1.295 2.989 2.916 3' style='clip-rule:evenodd;fill:%23e1e3e9;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2.47727823;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:.4' transform='translate(15.553 2.85)scale(.88807)'/%3E%3Cpath d='M-11.594 15.465c-.27-.002-.492.297-.494.668l-.012 1.876c-.003.371.214.673.485.675l4.14.027c.271.002.492-.298.495-.668l.012-1.877c.003-.37-.215-.672-.485-.674z' style='clip-rule:evenodd;fill:%23fff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2.47727823;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:.4' transform='translate(15.553 2.85)scale(.88807)'/%3E%3C/g%3E%3C/svg%3E");background-repeat:no-repeat;cursor:pointer;display:block;height:23px;margin:0 0 -4px -4px;overflow:hidden;width:88px}

a.maplibregl-ctrl-logo.maplibregl-compact{width:14px}

@media (forced-colors:active){a.maplibregl-ctrl-logo{background-color:transparent;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='88' height='23' fill='none'%3E%3Cpath fill='%23000' fill-opacity='.4' fill-rule='evenodd' d='M17.408 16.796h-1.827l2.501-12.095h.198l3.324 6.533.988 2.19.988-2.19 3.258-6.533h.181l2.6 12.095h-1.81l-1.218-5.644-.362-1.71-.658 1.71-2.929 5.644h-.098l-2.914-5.644-.757-1.71-.345 1.71zm1.958-3.42-.726 3.663a1.255 1.255 0 0 1-1.232 1.011h-1.827a1.255 1.255 0 0 1-1.229-1.509l2.501-12.095a1.255 1.255 0 0 1 1.23-1.001h.197a1.25 1.25 0 0 1 1.12.685l3.19 6.273 3.125-6.263a1.25 1.25 0 0 1 1.123-.695h.181a1.255 1.255 0 0 1 1.227.991l1.443 6.71a5 5 0 0 1 .314-.787l.009-.016a4.6 4.6 0 0 1 1.777-1.887c.782-.46 1.668-.667 2.611-.667a4.6 4.6 0 0 1 1.7.32l.306.134c.21-.16.474-.256.759-.256h1.694a1.255 1.255 0 0 1 1.212.925 1.255 1.255 0 0 1 1.212-.925h1.711c.284 0 .545.094.755.252.613-.3 1.312-.45 2.075-.45 1.356 0 2.557.445 3.482 1.4q.47.48.763 1.064V4.701a1.255 1.255 0 0 1 1.255-1.255h1.86A1.255 1.255 0 0 1 54.44 4.7v9.194h2.217c.19 0 .37.043.532.118v-4.77c0-.356.147-.678.385-.906a2.42 2.42 0 0 1-.682-1.71c0-.665.267-1.253.735-1.7a2.45 2.45 0 0 1 1.722-.674 2.43 2.43 0 0 1 1.705.675q.318.302.504.683V4.7a1.255 1.255 0 0 1 1.255-1.255h1.744A1.255 1.255 0 0 1 65.812 4.7v3.335a4.8 4.8 0 0 1 1.526-.246c.938 0 1.817.214 2.59.69a4.47 4.47 0 0 1 1.67 1.743v-.98a1.255 1.255 0 0 1 1.256-1.256h1.777c.233 0 .451.064.639.174a3.4 3.4 0 0 1 1.567-.372c.346 0 .861.02 1.285.232a1.25 1.25 0 0 1 .689 1.004 4.7 4.7 0 0 1 .853-.588c.795-.44 1.675-.647 2.61-.647 1.385 0 2.65.39 3.525 1.396.836.938 1.168 2.173 1.168 3.528q-.001.515-.056 1.051a1.255 1.255 0 0 1-.947 1.09l.408.952a1.255 1.255 0 0 1-.477 1.552c-.418.268-.92.463-1.458.612-.613.171-1.304.244-2.049.244-1.06 0-2.043-.207-2.886-.698l-.015-.008c-.798-.48-1.419-1.135-1.818-1.963l-.004-.008a5.8 5.8 0 0 1-.548-2.512q0-.429.053-.843a1.3 1.3 0 0 1-.333-.086l-.166-.004c-.223 0-.426.062-.643.228-.03.024-.142.139-.142.59v3.883a1.255 1.255 0 0 1-1.256 1.256h-1.777a1.255 1.255 0 0 1-1.256-1.256V15.69l-.032.057a4.8 4.8 0 0 1-1.86 1.833 5.04 5.04 0 0 1-2.484.634 4.5 4.5 0 0 1-1.935-.424 1.25 1.25 0 0 1-.764.258h-1.71a1.255 1.255 0 0 1-1.256-1.255V7.687a2.4 2.4 0 0 1-.428.625c.253.23.412.561.412.93v7.553a1.255 1.255 0 0 1-1.256 1.255h-1.843a1.25 1.25 0 0 1-.894-.373c-.228.23-.544.373-.894.373H51.32a1.255 1.255 0 0 1-1.256-1.255v-1.251l-.061.117a4.7 4.7 0 0 1-1.782 1.884 4.77 4.77 0 0 1-2.485.67 5.6 5.6 0 0 1-1.485-.188l.009 2.764a1.255 1.255 0 0 1-1.255 1.259h-1.729a1.255 1.255 0 0 1-1.255-1.255v-3.537a1.255 1.255 0 0 1-1.167.793h-1.679a1.25 1.25 0 0 1-.77-.263 4.5 4.5 0 0 1-1.945.429c-.885 0-1.724-.21-2.495-.632l-.017-.01a5 5 0 0 1-1.081-.836 1.255 1.255 0 0 1-1.254 1.312h-1.81a1.255 1.255 0 0 1-1.228-.99l-.782-3.625-2.044 3.939a1.25 1.25 0 0 1-1.115.676h-.098a1.25 1.25 0 0 1-1.116-.68l-2.061-3.994zM35.92 16.63l.207-.114.223-.15q.493-.356.735-.785l.061-.118.033 1.332h1.678V9.242h-1.694l-.033 1.267q-.133-.329-.526-.658l-.032-.028a3.2 3.2 0 0 0-.668-.428l-.27-.12a3.3 3.3 0 0 0-1.235-.23q-1.136-.001-1.974.493a3.36 3.36 0 0 0-1.3 1.382q-.445.89-.444 2.074 0 1.2.51 2.107a3.8 3.8 0 0 0 1.382 1.381 3.9 3.9 0 0 0 1.893.477q.795 0 1.455-.33zm-2.789-5.38q-.576.675-.575 1.762 0 1.102.559 1.794.576.675 1.645.675a2.25 2.25 0 0 0 .934-.19 2.2 2.2 0 0 0 .468-.29l.178-.161a2.2 2.2 0 0 0 .397-.561q.244-.5.244-1.15v-.115q0-.708-.296-1.267l-.043-.077a2.2 2.2 0 0 0-.633-.709l-.13-.086-.047-.028a2.1 2.1 0 0 0-1.073-.285q-1.052 0-1.629.692zm2.316 2.706c.163-.17.28-.407.28-.83v-.114c0-.292-.06-.508-.15-.68a.96.96 0 0 0-.353-.389.85.85 0 0 0-.464-.127c-.4 0-.56.114-.664.239l-.01.012c-.148.174-.275.45-.275.945 0 .506.122.801.27.99.097.11.266.224.68.224.303 0 .504-.09.687-.269zm7.545 1.705a2.6 2.6 0 0 0 .331.423q.319.33.755.548l.173.074q.65.255 1.49.255 1.02 0 1.844-.493a3.45 3.45 0 0 0 1.316-1.4q.493-.904.493-2.089 0-1.909-.988-2.913-.988-1.02-2.584-1.02-.898 0-1.575.347a3 3 0 0 0-.415.262l-.199.166a3.4 3.4 0 0 0-.64.82V9.242h-1.712v11.553h1.729l-.017-5.134zm.53-1.138q.206.29.48.5l.155.11.053.034q.51.296 1.119.297 1.07 0 1.645-.675.577-.69.576-1.762 0-1.119-.576-1.777-.558-.675-1.645-.675-.435 0-.835.16a2 2 0 0 0-.284.136 2 2 0 0 0-.363.254 2.2 2.2 0 0 0-.46.569l-.082.162a2.6 2.6 0 0 0-.213 1.072v.115q0 .707.296 1.267l.135.211zm.964-.818a1.1 1.1 0 0 0 .367.385.94.94 0 0 0 .476.118c.423 0 .59-.117.687-.23.159-.194.28-.478.28-.95 0-.53-.133-.8-.266-.952l-.021-.025c-.078-.094-.231-.221-.68-.221a1 1 0 0 0-.503.135l-.012.007a.86.86 0 0 0-.335.343c-.073.133-.132.324-.132.614v.115a1.4 1.4 0 0 0 .14.66zm15.7-6.222q.347-.346.346-.856a1.05 1.05 0 0 0-.345-.79 1.18 1.18 0 0 0-.84-.329q-.51 0-.855.33a1.05 1.05 0 0 0-.346.79q0 .51.346.855.345.346.856.346.51 0 .839-.346zm4.337 9.314.033-1.332q.191.403.59.747l.098.081a4 4 0 0 0 .316.224l.223.122a3.2 3.2 0 0 0 1.44.322 3.8 3.8 0 0 0 1.875-.477 3.5 3.5 0 0 0 1.382-1.366q.527-.89.526-2.09 0-1.184-.444-2.073a3.24 3.24 0 0 0-1.283-1.399q-.823-.51-1.942-.51a3.5 3.5 0 0 0-1.527.344l-.086.043-.165.09a3 3 0 0 0-.33.214q-.432.315-.656.707a2 2 0 0 0-.099.198l.082-1.283V4.701h-1.744v12.095zm.473-2.509a2.5 2.5 0 0 0 .566.7q.117.098.245.18l.144.08a2.1 2.1 0 0 0 .975.232q1.07 0 1.645-.675.576-.69.576-1.778 0-1.102-.576-1.777-.56-.691-1.645-.692a2.2 2.2 0 0 0-1.015.235q-.22.113-.415.282l-.15.142a2.1 2.1 0 0 0-.42.594q-.223.479-.223 1.1v.115q0 .705.293 1.26zm2.616-.293c.157-.191.28-.479.28-.967 0-.51-.13-.79-.276-.961l-.021-.026c-.082-.1-.232-.225-.67-.225a.87.87 0 0 0-.681.279l-.012.011c-.154.155-.274.38-.274.807v.115c0 .285.057.499.144.669a1.1 1.1 0 0 0 .367.405c.137.082.28.123.455.123.423 0 .59-.118.686-.23zm8.266-3.013q.345-.13.724-.14l.069-.002q.493 0 .642.099l.247-1.794q-.196-.099-.717-.099a2.3 2.3 0 0 0-.545.063 2 2 0 0 0-.411.148 2.2 2.2 0 0 0-.4.249 2.5 2.5 0 0 0-.485.499 2.7 2.7 0 0 0-.32.581l-.05.137v-1.48h-1.778v7.553h1.777v-3.884q0-.546.159-.943a1.5 1.5 0 0 1 .466-.636 2.5 2.5 0 0 1 .399-.253 2 2 0 0 1 .224-.099zm9.784 2.656.05-.922q0-1.743-.856-2.698-.838-.97-2.584-.97-1.119-.001-2.007.493a3.46 3.46 0 0 0-1.4 1.382q-.493.906-.493 2.106 0 1.07.428 1.975.428.89 1.332 1.432.906.526 2.255.526.973 0 1.668-.185l.044-.012.135-.04q.613-.184.984-.421l-.542-1.267q-.3.162-.642.274l-.297.087q-.51.131-1.3.131-.954 0-1.497-.444a1.6 1.6 0 0 1-.192-.193q-.366-.44-.512-1.234l-.004-.021zm-5.427-1.256-.003.022h3.752v-.138q-.011-.727-.288-1.118a1 1 0 0 0-.156-.176q-.46-.428-1.316-.428-.986 0-1.494.604-.379.45-.494 1.234zm-27.053 2.77V4.7h-1.86v12.095h5.333V15.15zm7.103-5.908v7.553h-1.843V9.242h1.843z'/%3E%3Cpath fill='%23fff' d='m19.63 11.151-.757-1.71-.345 1.71-1.12 5.644h-1.827L18.083 4.7h.197l3.325 6.533.988 2.19.988-2.19L26.839 4.7h.181l2.6 12.095h-1.81l-1.218-5.644-.362-1.71-.658 1.71-2.93 5.644h-.098l-2.913-5.644zm14.836 5.81q-1.02 0-1.893-.478a3.8 3.8 0 0 1-1.381-1.382q-.51-.906-.51-2.106 0-1.185.444-2.074a3.36 3.36 0 0 1 1.3-1.382q.839-.494 1.974-.494a3.3 3.3 0 0 1 1.234.231 3.3 3.3 0 0 1 .97.575q.396.33.527.659l.033-1.267h1.694v7.553H37.18l-.033-1.332q-.279.593-1.02 1.053a3.17 3.17 0 0 1-1.662.444zm.296-1.482q.938 0 1.58-.642.642-.66.642-1.711v-.115q0-.708-.296-1.267a2.2 2.2 0 0 0-.807-.872 2.1 2.1 0 0 0-1.119-.313q-1.053 0-1.629.692-.575.675-.575 1.76 0 1.103.559 1.795.577.675 1.645.675zm6.521-6.237h1.711v1.4q.906-1.597 2.83-1.597 1.596 0 2.584 1.02.988 1.005.988 2.914 0 1.185-.493 2.09a3.46 3.46 0 0 1-1.316 1.399 3.5 3.5 0 0 1-1.844.493q-.954 0-1.662-.329a2.67 2.67 0 0 1-1.086-.97l.017 5.134h-1.728zm4.048 6.22q1.07 0 1.645-.674.577-.69.576-1.762 0-1.119-.576-1.777-.558-.675-1.645-.675-.592 0-1.12.296-.51.28-.822.823-.296.527-.296 1.234v.115q0 .708.296 1.267.313.543.823.855.51.296 1.119.297z'/%3E%3Cpath fill='%23e1e3e9' d='M51.325 4.7h1.86v10.45h3.473v1.646h-5.333zm7.12 4.542h1.843v7.553h-1.843zm.905-1.415a1.16 1.16 0 0 1-.856-.346 1.17 1.17 0 0 1-.346-.856 1.05 1.05 0 0 1 .346-.79q.346-.329.856-.329.494 0 .839.33a1.05 1.05 0 0 1 .345.79 1.16 1.16 0 0 1-.345.855q-.33.346-.84.346zm7.875 9.133a3.17 3.17 0 0 1-1.662-.444q-.723-.46-1.004-1.053l-.033 1.332h-1.71V4.701h1.743v4.657l-.082 1.283q.279-.658 1.086-1.119a3.5 3.5 0 0 1 1.778-.477q1.119 0 1.942.51a3.24 3.24 0 0 1 1.283 1.4q.445.888.444 2.072 0 1.201-.526 2.09a3.5 3.5 0 0 1-1.382 1.366 3.8 3.8 0 0 1-1.876.477zm-.296-1.481q1.069 0 1.645-.675.577-.69.577-1.778 0-1.102-.577-1.776-.56-.691-1.645-.692a2.12 2.12 0 0 0-1.58.659q-.642.641-.642 1.694v.115q0 .71.296 1.267a2.4 2.4 0 0 0 .807.872 2.1 2.1 0 0 0 1.119.313zm5.927-6.237h1.777v1.481q.263-.757.856-1.217a2.14 2.14 0 0 1 1.349-.46q.527 0 .724.098l-.247 1.794q-.149-.099-.642-.099-.774 0-1.416.494-.626.493-.626 1.58v3.883h-1.777V9.242zm9.534 7.718q-1.35 0-2.255-.526-.904-.543-1.332-1.432a4.6 4.6 0 0 1-.428-1.975q0-1.2.493-2.106a3.46 3.46 0 0 1 1.4-1.382q.889-.495 2.007-.494 1.744 0 2.584.97.855.956.856 2.7 0 .444-.05.92h-5.43q.18 1.005.708 1.45.542.443 1.497.443.79 0 1.3-.131a4 4 0 0 0 .938-.362l.542 1.267q-.411.263-1.119.46-.708.198-1.711.197zm1.596-4.558q.016-1.02-.444-1.432-.46-.428-1.316-.428-1.728 0-1.991 1.86z'/%3E%3Cpath d='M5.074 15.948a.484.657 0 0 0-.486.659v1.84a.484.657 0 0 0 .486.659h4.101a.484.657 0 0 0 .486-.659v-1.84a.484.657 0 0 0-.486-.659zm3.56 1.16H5.617v.838h3.017z' style='fill:%23fff;fill-rule:evenodd;stroke-width:1.03600001'/%3E%3Cg style='stroke-width:1.12603545'%3E%3Cpath d='M-9.408-1.416c-3.833-.025-7.056 2.912-7.08 6.615-.02 3.08 1.653 4.832 3.107 6.268.903.892 1.721 1.74 2.32 2.902l-.525-.004c-.543-.003-.992.304-1.24.639a1.87 1.87 0 0 0-.362 1.121l-.011 1.877c-.003.402.104.787.347 1.125.244.338.688.653 1.23.656l4.142.028c.542.003.99-.306 1.238-.641a1.87 1.87 0 0 0 .363-1.121l.012-1.875a1.87 1.87 0 0 0-.348-1.127c-.243-.338-.688-.653-1.23-.656l-.518-.004c.597-1.145 1.425-1.983 2.348-2.87 1.473-1.414 3.18-3.149 3.2-6.226-.016-3.59-2.923-6.684-6.993-6.707m-.006 1.1v.002c3.274.02 5.92 2.532 5.9 5.6-.017 2.706-1.39 4.026-2.863 5.44-1.034.994-2.118 2.033-2.814 3.633-.018.041-.052.055-.075.065q-.013.004-.02.01a.34.34 0 0 1-.226.084.34.34 0 0 1-.224-.086l-.092-.077c-.699-1.615-1.768-2.669-2.781-3.67-1.454-1.435-2.797-2.762-2.78-5.478.02-3.067 2.7-5.545 5.975-5.523m-.02 2.826c-1.62-.01-2.944 1.315-2.955 2.96-.01 1.646 1.295 2.988 2.916 2.999h.002c1.621.01 2.943-1.316 2.953-2.961.011-1.646-1.294-2.988-2.916-2.998m-.005 1.1c1.017.006 1.829.83 1.822 1.89s-.83 1.874-1.848 1.867c-1.018-.006-1.829-.83-1.822-1.89s.83-1.874 1.848-1.868m-2.155 11.857 4.14.025c.271.002.49.305.487.676l-.013 1.875c-.003.37-.224.67-.495.668l-4.14-.025c-.27-.002-.487-.306-.485-.676l.012-1.875c.003-.37.224-.67.494-.668' style='color:%23000;font-style:normal;font-variant:normal;font-weight:400;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:%23000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:evenodd;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:%23000;solid-opacity:1;vector-effect:none;fill:%23000;fill-opacity:.4;fill-rule:evenodd;stroke:none;stroke-width:2.47727823;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto' transform='translate(15.553 2.85)scale(.88807)'/%3E%3Cpath d='M-9.415-.316C-12.69-.338-15.37 2.14-15.39 5.207c-.017 2.716 1.326 4.041 2.78 5.477 1.013 1 2.081 2.055 2.78 3.67l.092.076a.34.34 0 0 0 .225.086.34.34 0 0 0 .227-.083l.019-.01c.022-.009.057-.024.074-.064.697-1.6 1.78-2.64 2.814-3.634 1.473-1.414 2.847-2.733 2.864-5.44.02-3.067-2.627-5.58-5.901-5.601m-.057 8.784c1.621.011 2.944-1.315 2.955-2.96.01-1.646-1.295-2.988-2.916-2.999-1.622-.01-2.945 1.315-2.955 2.96s1.295 2.989 2.916 3' style='clip-rule:evenodd;fill:%23e1e3e9;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2.47727823;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:.4' transform='translate(15.553 2.85)scale(.88807)'/%3E%3Cpath d='M-11.594 15.465c-.27-.002-.492.297-.494.668l-.012 1.876c-.003.371.214.673.485.675l4.14.027c.271.002.492-.298.495-.668l.012-1.877c.003-.37-.215-.672-.485-.674z' style='clip-rule:evenodd;fill:%23fff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2.47727823;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:.4' transform='translate(15.553 2.85)scale(.88807)'/%3E%3C/g%3E%3C/svg%3E")}}

@media (forced-colors:active) and (prefers-color-scheme:light){a.maplibregl-ctrl-logo{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='88' height='23' fill='none'%3E%3Cpath fill='%23000' fill-opacity='.4' fill-rule='evenodd' d='M17.408 16.796h-1.827l2.501-12.095h.198l3.324 6.533.988 2.19.988-2.19 3.258-6.533h.181l2.6 12.095h-1.81l-1.218-5.644-.362-1.71-.658 1.71-2.929 5.644h-.098l-2.914-5.644-.757-1.71-.345 1.71zm1.958-3.42-.726 3.663a1.255 1.255 0 0 1-1.232 1.011h-1.827a1.255 1.255 0 0 1-1.229-1.509l2.501-12.095a1.255 1.255 0 0 1 1.23-1.001h.197a1.25 1.25 0 0 1 1.12.685l3.19 6.273 3.125-6.263a1.25 1.25 0 0 1 1.123-.695h.181a1.255 1.255 0 0 1 1.227.991l1.443 6.71a5 5 0 0 1 .314-.787l.009-.016a4.6 4.6 0 0 1 1.777-1.887c.782-.46 1.668-.667 2.611-.667a4.6 4.6 0 0 1 1.7.32l.306.134c.21-.16.474-.256.759-.256h1.694a1.255 1.255 0 0 1 1.212.925 1.255 1.255 0 0 1 1.212-.925h1.711c.284 0 .545.094.755.252.613-.3 1.312-.45 2.075-.45 1.356 0 2.557.445 3.482 1.4q.47.48.763 1.064V4.701a1.255 1.255 0 0 1 1.255-1.255h1.86A1.255 1.255 0 0 1 54.44 4.7v9.194h2.217c.19 0 .37.043.532.118v-4.77c0-.356.147-.678.385-.906a2.42 2.42 0 0 1-.682-1.71c0-.665.267-1.253.735-1.7a2.45 2.45 0 0 1 1.722-.674 2.43 2.43 0 0 1 1.705.675q.318.302.504.683V4.7a1.255 1.255 0 0 1 1.255-1.255h1.744A1.255 1.255 0 0 1 65.812 4.7v3.335a4.8 4.8 0 0 1 1.526-.246c.938 0 1.817.214 2.59.69a4.47 4.47 0 0 1 1.67 1.743v-.98a1.255 1.255 0 0 1 1.256-1.256h1.777c.233 0 .451.064.639.174a3.4 3.4 0 0 1 1.567-.372c.346 0 .861.02 1.285.232a1.25 1.25 0 0 1 .689 1.004 4.7 4.7 0 0 1 .853-.588c.795-.44 1.675-.647 2.61-.647 1.385 0 2.65.39 3.525 1.396.836.938 1.168 2.173 1.168 3.528q-.001.515-.056 1.051a1.255 1.255 0 0 1-.947 1.09l.408.952a1.255 1.255 0 0 1-.477 1.552c-.418.268-.92.463-1.458.612-.613.171-1.304.244-2.049.244-1.06 0-2.043-.207-2.886-.698l-.015-.008c-.798-.48-1.419-1.135-1.818-1.963l-.004-.008a5.8 5.8 0 0 1-.548-2.512q0-.429.053-.843a1.3 1.3 0 0 1-.333-.086l-.166-.004c-.223 0-.426.062-.643.228-.03.024-.142.139-.142.59v3.883a1.255 1.255 0 0 1-1.256 1.256h-1.777a1.255 1.255 0 0 1-1.256-1.256V15.69l-.032.057a4.8 4.8 0 0 1-1.86 1.833 5.04 5.04 0 0 1-2.484.634 4.5 4.5 0 0 1-1.935-.424 1.25 1.25 0 0 1-.764.258h-1.71a1.255 1.255 0 0 1-1.256-1.255V7.687a2.4 2.4 0 0 1-.428.625c.253.23.412.561.412.93v7.553a1.255 1.255 0 0 1-1.256 1.255h-1.843a1.25 1.25 0 0 1-.894-.373c-.228.23-.544.373-.894.373H51.32a1.255 1.255 0 0 1-1.256-1.255v-1.251l-.061.117a4.7 4.7 0 0 1-1.782 1.884 4.77 4.77 0 0 1-2.485.67 5.6 5.6 0 0 1-1.485-.188l.009 2.764a1.255 1.255 0 0 1-1.255 1.259h-1.729a1.255 1.255 0 0 1-1.255-1.255v-3.537a1.255 1.255 0 0 1-1.167.793h-1.679a1.25 1.25 0 0 1-.77-.263 4.5 4.5 0 0 1-1.945.429c-.885 0-1.724-.21-2.495-.632l-.017-.01a5 5 0 0 1-1.081-.836 1.255 1.255 0 0 1-1.254 1.312h-1.81a1.255 1.255 0 0 1-1.228-.99l-.782-3.625-2.044 3.939a1.25 1.25 0 0 1-1.115.676h-.098a1.25 1.25 0 0 1-1.116-.68l-2.061-3.994zM35.92 16.63l.207-.114.223-.15q.493-.356.735-.785l.061-.118.033 1.332h1.678V9.242h-1.694l-.033 1.267q-.133-.329-.526-.658l-.032-.028a3.2 3.2 0 0 0-.668-.428l-.27-.12a3.3 3.3 0 0 0-1.235-.23q-1.136-.001-1.974.493a3.36 3.36 0 0 0-1.3 1.382q-.445.89-.444 2.074 0 1.2.51 2.107a3.8 3.8 0 0 0 1.382 1.381 3.9 3.9 0 0 0 1.893.477q.795 0 1.455-.33zm-2.789-5.38q-.576.675-.575 1.762 0 1.102.559 1.794.576.675 1.645.675a2.25 2.25 0 0 0 .934-.19 2.2 2.2 0 0 0 .468-.29l.178-.161a2.2 2.2 0 0 0 .397-.561q.244-.5.244-1.15v-.115q0-.708-.296-1.267l-.043-.077a2.2 2.2 0 0 0-.633-.709l-.13-.086-.047-.028a2.1 2.1 0 0 0-1.073-.285q-1.052 0-1.629.692zm2.316 2.706c.163-.17.28-.407.28-.83v-.114c0-.292-.06-.508-.15-.68a.96.96 0 0 0-.353-.389.85.85 0 0 0-.464-.127c-.4 0-.56.114-.664.239l-.01.012c-.148.174-.275.45-.275.945 0 .506.122.801.27.99.097.11.266.224.68.224.303 0 .504-.09.687-.269zm7.545 1.705a2.6 2.6 0 0 0 .331.423q.319.33.755.548l.173.074q.65.255 1.49.255 1.02 0 1.844-.493a3.45 3.45 0 0 0 1.316-1.4q.493-.904.493-2.089 0-1.909-.988-2.913-.988-1.02-2.584-1.02-.898 0-1.575.347a3 3 0 0 0-.415.262l-.199.166a3.4 3.4 0 0 0-.64.82V9.242h-1.712v11.553h1.729l-.017-5.134zm.53-1.138q.206.29.48.5l.155.11.053.034q.51.296 1.119.297 1.07 0 1.645-.675.577-.69.576-1.762 0-1.119-.576-1.777-.558-.675-1.645-.675-.435 0-.835.16a2 2 0 0 0-.284.136 2 2 0 0 0-.363.254 2.2 2.2 0 0 0-.46.569l-.082.162a2.6 2.6 0 0 0-.213 1.072v.115q0 .707.296 1.267l.135.211zm.964-.818a1.1 1.1 0 0 0 .367.385.94.94 0 0 0 .476.118c.423 0 .59-.117.687-.23.159-.194.28-.478.28-.95 0-.53-.133-.8-.266-.952l-.021-.025c-.078-.094-.231-.221-.68-.221a1 1 0 0 0-.503.135l-.012.007a.86.86 0 0 0-.335.343c-.073.133-.132.324-.132.614v.115a1.4 1.4 0 0 0 .14.66zm15.7-6.222q.347-.346.346-.856a1.05 1.05 0 0 0-.345-.79 1.18 1.18 0 0 0-.84-.329q-.51 0-.855.33a1.05 1.05 0 0 0-.346.79q0 .51.346.855.345.346.856.346.51 0 .839-.346zm4.337 9.314.033-1.332q.191.403.59.747l.098.081a4 4 0 0 0 .316.224l.223.122a3.2 3.2 0 0 0 1.44.322 3.8 3.8 0 0 0 1.875-.477 3.5 3.5 0 0 0 1.382-1.366q.527-.89.526-2.09 0-1.184-.444-2.073a3.24 3.24 0 0 0-1.283-1.399q-.823-.51-1.942-.51a3.5 3.5 0 0 0-1.527.344l-.086.043-.165.09a3 3 0 0 0-.33.214q-.432.315-.656.707a2 2 0 0 0-.099.198l.082-1.283V4.701h-1.744v12.095zm.473-2.509a2.5 2.5 0 0 0 .566.7q.117.098.245.18l.144.08a2.1 2.1 0 0 0 .975.232q1.07 0 1.645-.675.576-.69.576-1.778 0-1.102-.576-1.777-.56-.691-1.645-.692a2.2 2.2 0 0 0-1.015.235q-.22.113-.415.282l-.15.142a2.1 2.1 0 0 0-.42.594q-.223.479-.223 1.1v.115q0 .705.293 1.26zm2.616-.293c.157-.191.28-.479.28-.967 0-.51-.13-.79-.276-.961l-.021-.026c-.082-.1-.232-.225-.67-.225a.87.87 0 0 0-.681.279l-.012.011c-.154.155-.274.38-.274.807v.115c0 .285.057.499.144.669a1.1 1.1 0 0 0 .367.405c.137.082.28.123.455.123.423 0 .59-.118.686-.23zm8.266-3.013q.345-.13.724-.14l.069-.002q.493 0 .642.099l.247-1.794q-.196-.099-.717-.099a2.3 2.3 0 0 0-.545.063 2 2 0 0 0-.411.148 2.2 2.2 0 0 0-.4.249 2.5 2.5 0 0 0-.485.499 2.7 2.7 0 0 0-.32.581l-.05.137v-1.48h-1.778v7.553h1.777v-3.884q0-.546.159-.943a1.5 1.5 0 0 1 .466-.636 2.5 2.5 0 0 1 .399-.253 2 2 0 0 1 .224-.099zm9.784 2.656.05-.922q0-1.743-.856-2.698-.838-.97-2.584-.97-1.119-.001-2.007.493a3.46 3.46 0 0 0-1.4 1.382q-.493.906-.493 2.106 0 1.07.428 1.975.428.89 1.332 1.432.906.526 2.255.526.973 0 1.668-.185l.044-.012.135-.04q.613-.184.984-.421l-.542-1.267q-.3.162-.642.274l-.297.087q-.51.131-1.3.131-.954 0-1.497-.444a1.6 1.6 0 0 1-.192-.193q-.366-.44-.512-1.234l-.004-.021zm-5.427-1.256-.003.022h3.752v-.138q-.011-.727-.288-1.118a1 1 0 0 0-.156-.176q-.46-.428-1.316-.428-.986 0-1.494.604-.379.45-.494 1.234zm-27.053 2.77V4.7h-1.86v12.095h5.333V15.15zm7.103-5.908v7.553h-1.843V9.242h1.843z'/%3E%3Cpath fill='%23fff' d='m19.63 11.151-.757-1.71-.345 1.71-1.12 5.644h-1.827L18.083 4.7h.197l3.325 6.533.988 2.19.988-2.19L26.839 4.7h.181l2.6 12.095h-1.81l-1.218-5.644-.362-1.71-.658 1.71-2.93 5.644h-.098l-2.913-5.644zm14.836 5.81q-1.02 0-1.893-.478a3.8 3.8 0 0 1-1.381-1.382q-.51-.906-.51-2.106 0-1.185.444-2.074a3.36 3.36 0 0 1 1.3-1.382q.839-.494 1.974-.494a3.3 3.3 0 0 1 1.234.231 3.3 3.3 0 0 1 .97.575q.396.33.527.659l.033-1.267h1.694v7.553H37.18l-.033-1.332q-.279.593-1.02 1.053a3.17 3.17 0 0 1-1.662.444zm.296-1.482q.938 0 1.58-.642.642-.66.642-1.711v-.115q0-.708-.296-1.267a2.2 2.2 0 0 0-.807-.872 2.1 2.1 0 0 0-1.119-.313q-1.053 0-1.629.692-.575.675-.575 1.76 0 1.103.559 1.795.577.675 1.645.675zm6.521-6.237h1.711v1.4q.906-1.597 2.83-1.597 1.596 0 2.584 1.02.988 1.005.988 2.914 0 1.185-.493 2.09a3.46 3.46 0 0 1-1.316 1.399 3.5 3.5 0 0 1-1.844.493q-.954 0-1.662-.329a2.67 2.67 0 0 1-1.086-.97l.017 5.134h-1.728zm4.048 6.22q1.07 0 1.645-.674.577-.69.576-1.762 0-1.119-.576-1.777-.558-.675-1.645-.675-.592 0-1.12.296-.51.28-.822.823-.296.527-.296 1.234v.115q0 .708.296 1.267.313.543.823.855.51.296 1.119.297z'/%3E%3Cpath fill='%23e1e3e9' d='M51.325 4.7h1.86v10.45h3.473v1.646h-5.333zm7.12 4.542h1.843v7.553h-1.843zm.905-1.415a1.16 1.16 0 0 1-.856-.346 1.17 1.17 0 0 1-.346-.856 1.05 1.05 0 0 1 .346-.79q.346-.329.856-.329.494 0 .839.33a1.05 1.05 0 0 1 .345.79 1.16 1.16 0 0 1-.345.855q-.33.346-.84.346zm7.875 9.133a3.17 3.17 0 0 1-1.662-.444q-.723-.46-1.004-1.053l-.033 1.332h-1.71V4.701h1.743v4.657l-.082 1.283q.279-.658 1.086-1.119a3.5 3.5 0 0 1 1.778-.477q1.119 0 1.942.51a3.24 3.24 0 0 1 1.283 1.4q.445.888.444 2.072 0 1.201-.526 2.09a3.5 3.5 0 0 1-1.382 1.366 3.8 3.8 0 0 1-1.876.477zm-.296-1.481q1.069 0 1.645-.675.577-.69.577-1.778 0-1.102-.577-1.776-.56-.691-1.645-.692a2.12 2.12 0 0 0-1.58.659q-.642.641-.642 1.694v.115q0 .71.296 1.267a2.4 2.4 0 0 0 .807.872 2.1 2.1 0 0 0 1.119.313zm5.927-6.237h1.777v1.481q.263-.757.856-1.217a2.14 2.14 0 0 1 1.349-.46q.527 0 .724.098l-.247 1.794q-.149-.099-.642-.099-.774 0-1.416.494-.626.493-.626 1.58v3.883h-1.777V9.242zm9.534 7.718q-1.35 0-2.255-.526-.904-.543-1.332-1.432a4.6 4.6 0 0 1-.428-1.975q0-1.2.493-2.106a3.46 3.46 0 0 1 1.4-1.382q.889-.495 2.007-.494 1.744 0 2.584.97.855.956.856 2.7 0 .444-.05.92h-5.43q.18 1.005.708 1.45.542.443 1.497.443.79 0 1.3-.131a4 4 0 0 0 .938-.362l.542 1.267q-.411.263-1.119.46-.708.198-1.711.197zm1.596-4.558q.016-1.02-.444-1.432-.46-.428-1.316-.428-1.728 0-1.991 1.86z'/%3E%3Cpath d='M5.074 15.948a.484.657 0 0 0-.486.659v1.84a.484.657 0 0 0 .486.659h4.101a.484.657 0 0 0 .486-.659v-1.84a.484.657 0 0 0-.486-.659zm3.56 1.16H5.617v.838h3.017z' style='fill:%23fff;fill-rule:evenodd;stroke-width:1.03600001'/%3E%3Cg style='stroke-width:1.12603545'%3E%3Cpath d='M-9.408-1.416c-3.833-.025-7.056 2.912-7.08 6.615-.02 3.08 1.653 4.832 3.107 6.268.903.892 1.721 1.74 2.32 2.902l-.525-.004c-.543-.003-.992.304-1.24.639a1.87 1.87 0 0 0-.362 1.121l-.011 1.877c-.003.402.104.787.347 1.125.244.338.688.653 1.23.656l4.142.028c.542.003.99-.306 1.238-.641a1.87 1.87 0 0 0 .363-1.121l.012-1.875a1.87 1.87 0 0 0-.348-1.127c-.243-.338-.688-.653-1.23-.656l-.518-.004c.597-1.145 1.425-1.983 2.348-2.87 1.473-1.414 3.18-3.149 3.2-6.226-.016-3.59-2.923-6.684-6.993-6.707m-.006 1.1v.002c3.274.02 5.92 2.532 5.9 5.6-.017 2.706-1.39 4.026-2.863 5.44-1.034.994-2.118 2.033-2.814 3.633-.018.041-.052.055-.075.065q-.013.004-.02.01a.34.34 0 0 1-.226.084.34.34 0 0 1-.224-.086l-.092-.077c-.699-1.615-1.768-2.669-2.781-3.67-1.454-1.435-2.797-2.762-2.78-5.478.02-3.067 2.7-5.545 5.975-5.523m-.02 2.826c-1.62-.01-2.944 1.315-2.955 2.96-.01 1.646 1.295 2.988 2.916 2.999h.002c1.621.01 2.943-1.316 2.953-2.961.011-1.646-1.294-2.988-2.916-2.998m-.005 1.1c1.017.006 1.829.83 1.822 1.89s-.83 1.874-1.848 1.867c-1.018-.006-1.829-.83-1.822-1.89s.83-1.874 1.848-1.868m-2.155 11.857 4.14.025c.271.002.49.305.487.676l-.013 1.875c-.003.37-.224.67-.495.668l-4.14-.025c-.27-.002-.487-.306-.485-.676l.012-1.875c.003-.37.224-.67.494-.668' style='color:%23000;font-style:normal;font-variant:normal;font-weight:400;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:%23000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:evenodd;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:%23000;solid-opacity:1;vector-effect:none;fill:%23000;fill-opacity:.4;fill-rule:evenodd;stroke:none;stroke-width:2.47727823;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto' transform='translate(15.553 2.85)scale(.88807)'/%3E%3Cpath d='M-9.415-.316C-12.69-.338-15.37 2.14-15.39 5.207c-.017 2.716 1.326 4.041 2.78 5.477 1.013 1 2.081 2.055 2.78 3.67l.092.076a.34.34 0 0 0 .225.086.34.34 0 0 0 .227-.083l.019-.01c.022-.009.057-.024.074-.064.697-1.6 1.78-2.64 2.814-3.634 1.473-1.414 2.847-2.733 2.864-5.44.02-3.067-2.627-5.58-5.901-5.601m-.057 8.784c1.621.011 2.944-1.315 2.955-2.96.01-1.646-1.295-2.988-2.916-2.999-1.622-.01-2.945 1.315-2.955 2.96s1.295 2.989 2.916 3' style='clip-rule:evenodd;fill:%23e1e3e9;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2.47727823;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:.4' transform='translate(15.553 2.85)scale(.88807)'/%3E%3Cpath d='M-11.594 15.465c-.27-.002-.492.297-.494.668l-.012 1.876c-.003.371.214.673.485.675l4.14.027c.271.002.492-.298.495-.668l.012-1.877c.003-.37-.215-.672-.485-.674z' style='clip-rule:evenodd;fill:%23fff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2.47727823;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:.4' transform='translate(15.553 2.85)scale(.88807)'/%3E%3C/g%3E%3C/svg%3E")}}

.maplibregl-ctrl.maplibregl-ctrl-attrib{background-color:hsla(0,0%,100%,.5);margin:0;padding:0 5px}

@media screen{.maplibregl-ctrl-attrib.maplibregl-compact{background-color:#fff;border-radius:12px;-webkit-box-sizing:content-box;box-sizing:content-box;color:#000;margin:10px;min-height:20px;padding:2px 24px 2px 0;position:relative}.maplibregl-ctrl-attrib.maplibregl-compact-show{padding:2px 28px 2px 8px;visibility:visible}.maplibregl-ctrl-bottom-left>.maplibregl-ctrl-attrib.maplibregl-compact-show,.maplibregl-ctrl-top-left>.maplibregl-ctrl-attrib.maplibregl-compact-show{border-radius:12px;padding:2px 8px 2px 28px}.maplibregl-ctrl-attrib.maplibregl-compact .maplibregl-ctrl-attrib-inner{display:none}.maplibregl-ctrl-attrib-button{background-color:hsla(0,0%,100%,.5);background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill-rule='evenodd' viewBox='0 0 20 20'%3E%3Cpath d='M4 10a6 6 0 1 0 12 0 6 6 0 1 0-12 0m5-3a1 1 0 1 0 2 0 1 1 0 1 0-2 0m0 3a1 1 0 1 1 2 0v3a1 1 0 1 1-2 0'/%3E%3C/svg%3E");border:0;border-radius:12px;-webkit-box-sizing:border-box;box-sizing:border-box;cursor:pointer;display:none;height:24px;outline:none;position:absolute;right:0;top:0;width:24px}.maplibregl-ctrl-attrib summary.maplibregl-ctrl-attrib-button{-webkit-appearance:none;-moz-appearance:none;appearance:none;list-style:none}.maplibregl-ctrl-attrib summary.maplibregl-ctrl-attrib-button::-webkit-details-marker{display:none}.maplibregl-ctrl-bottom-left .maplibregl-ctrl-attrib-button,.maplibregl-ctrl-top-left .maplibregl-ctrl-attrib-button{left:0}.maplibregl-ctrl-attrib.maplibregl-compact .maplibregl-ctrl-attrib-button,.maplibregl-ctrl-attrib.maplibregl-compact-show .maplibregl-ctrl-attrib-inner{display:block}.maplibregl-ctrl-attrib.maplibregl-compact-show .maplibregl-ctrl-attrib-button{background-color:rgb(0 0 0/5%)}.maplibregl-ctrl-bottom-right>.maplibregl-ctrl-attrib.maplibregl-compact:after{bottom:0;right:0}.maplibregl-ctrl-top-right>.maplibregl-ctrl-attrib.maplibregl-compact:after{right:0;top:0}.maplibregl-ctrl-top-left>.maplibregl-ctrl-attrib.maplibregl-compact:after{left:0;top:0}.maplibregl-ctrl-bottom-left>.maplibregl-ctrl-attrib.maplibregl-compact:after{bottom:0;left:0}}

@media screen and (forced-colors:active){.maplibregl-ctrl-attrib.maplibregl-compact:after{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='%23fff' fill-rule='evenodd' viewBox='0 0 20 20'%3E%3Cpath d='M4 10a6 6 0 1 0 12 0 6 6 0 1 0-12 0m5-3a1 1 0 1 0 2 0 1 1 0 1 0-2 0m0 3a1 1 0 1 1 2 0v3a1 1 0 1 1-2 0'/%3E%3C/svg%3E")}}

@media screen and (forced-colors:active) and (prefers-color-scheme:light){.maplibregl-ctrl-attrib.maplibregl-compact:after{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill-rule='evenodd' viewBox='0 0 20 20'%3E%3Cpath d='M4 10a6 6 0 1 0 12 0 6 6 0 1 0-12 0m5-3a1 1 0 1 0 2 0 1 1 0 1 0-2 0m0 3a1 1 0 1 1 2 0v3a1 1 0 1 1-2 0'/%3E%3C/svg%3E")}}

.maplibregl-ctrl-attrib a{color:rgba(0,0,0,.75);text-decoration:none}

.maplibregl-ctrl-attrib a:hover{color:inherit;text-decoration:underline}

.maplibregl-attrib-empty{display:none}

.maplibregl-ctrl-scale{background-color:hsla(0,0%,100%,.75);border:2px solid #333;border-top:#333;-webkit-box-sizing:border-box;box-sizing:border-box;color:#333;font-size:10px;padding:0 5px}

.maplibregl-popup{display:-webkit-box;display:-ms-flexbox;display:flex;left:0;pointer-events:none;position:absolute;top:0;will-change:transform}

.maplibregl-popup-anchor-top,.maplibregl-popup-anchor-top-left,.maplibregl-popup-anchor-top-right{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}

.maplibregl-popup-anchor-bottom,.maplibregl-popup-anchor-bottom-left,.maplibregl-popup-anchor-bottom-right{-webkit-box-orient:vertical;-webkit-box-direction:reverse;-ms-flex-direction:column-reverse;flex-direction:column-reverse}

.maplibregl-popup-anchor-left{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}

.maplibregl-popup-anchor-right{-webkit-box-orient:horizontal;-webkit-box-direction:reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse}

.maplibregl-popup-tip{border:10px solid transparent;height:0;width:0;z-index:1}

.maplibregl-popup-anchor-top .maplibregl-popup-tip{-ms-flex-item-align:center;align-self:center;border-bottom-color:#fff;border-top:none}

.maplibregl-popup-anchor-top-left .maplibregl-popup-tip{-ms-flex-item-align:start;align-self:flex-start;border-bottom-color:#fff;border-left:none;border-top:none}

.maplibregl-popup-anchor-top-right .maplibregl-popup-tip{-ms-flex-item-align:end;align-self:flex-end;border-bottom-color:#fff;border-right:none;border-top:none}

.maplibregl-popup-anchor-bottom .maplibregl-popup-tip{-ms-flex-item-align:center;align-self:center;border-bottom:none;border-top-color:#fff}

.maplibregl-popup-anchor-bottom-left .maplibregl-popup-tip{-ms-flex-item-align:start;align-self:flex-start;border-bottom:none;border-left:none;border-top-color:#fff}

.maplibregl-popup-anchor-bottom-right .maplibregl-popup-tip{-ms-flex-item-align:end;align-self:flex-end;border-bottom:none;border-right:none;border-top-color:#fff}

.maplibregl-popup-anchor-left .maplibregl-popup-tip{-ms-flex-item-align:center;align-self:center;border-left:none;border-right-color:#fff}

.maplibregl-popup-anchor-right .maplibregl-popup-tip{-ms-flex-item-align:center;align-self:center;border-left-color:#fff;border-right:none}

.maplibregl-popup-close-button{background-color:transparent;border:0;border-radius:0 3px 0 0;cursor:pointer;position:absolute;right:0;top:0}

.maplibregl-popup-close-button:hover{background-color:rgb(0 0 0/5%)}

.maplibregl-popup-content{background:#fff;border-radius:3px;-webkit-box-shadow:0 1px 2px rgba(0,0,0,.1);box-shadow:0 1px 2px rgba(0,0,0,.1);padding:15px 10px;pointer-events:auto;position:relative}

.maplibregl-popup-anchor-top-left .maplibregl-popup-content{border-top-left-radius:0}

.maplibregl-popup-anchor-top-right .maplibregl-popup-content{border-top-right-radius:0}

.maplibregl-popup-anchor-bottom-left .maplibregl-popup-content{border-bottom-left-radius:0}

.maplibregl-popup-anchor-bottom-right .maplibregl-popup-content{border-bottom-right-radius:0}

.maplibregl-popup-track-pointer{display:none}

.maplibregl-popup-track-pointer *{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}

.maplibregl-map:hover .maplibregl-popup-track-pointer{display:-webkit-box;display:-ms-flexbox;display:flex}

.maplibregl-map:active .maplibregl-popup-track-pointer{display:none}

.maplibregl-marker{left:0;position:absolute;top:0;-webkit-transition:opacity .2s;transition:opacity .2s;will-change:transform}

.maplibregl-user-location-dot,.maplibregl-user-location-dot:before{background-color:#1da1f2;border-radius:50%;height:15px;width:15px}

.maplibregl-user-location-dot:before{-webkit-animation:maplibregl-user-location-dot-pulse 2s infinite;animation:maplibregl-user-location-dot-pulse 2s infinite;content:"";position:absolute}

.maplibregl-user-location-dot:after{border:2px solid #fff;border-radius:50%;-webkit-box-shadow:0 0 3px rgba(0,0,0,.35);box-shadow:0 0 3px rgba(0,0,0,.35);-webkit-box-sizing:border-box;box-sizing:border-box;content:"";height:19px;left:-2px;position:absolute;top:-2px;width:19px}

@-webkit-keyframes maplibregl-user-location-dot-pulse{0%{opacity:1;-webkit-transform:scale(1);transform:scale(1)}70%{opacity:0;-webkit-transform:scale(3);transform:scale(3)}to{opacity:0;-webkit-transform:scale(1);transform:scale(1)}}

@keyframes maplibregl-user-location-dot-pulse{0%{opacity:1;-webkit-transform:scale(1);transform:scale(1)}70%{opacity:0;-webkit-transform:scale(3);transform:scale(3)}to{opacity:0;-webkit-transform:scale(1);transform:scale(1)}}

.maplibregl-user-location-dot-stale{background-color:#aaa}

.maplibregl-user-location-dot-stale:after{display:none}

.maplibregl-user-location-accuracy-circle{background-color:#1da1f233;border-radius:100%;height:1px;width:1px}

.maplibregl-crosshair,.maplibregl-crosshair .maplibregl-interactive,.maplibregl-crosshair .maplibregl-interactive:active{cursor:crosshair}

.maplibregl-boxzoom{background:#fff;border:2px dotted #202020;height:0;left:0;opacity:.5;position:absolute;top:0;width:0}

.maplibregl-cooperative-gesture-screen{-webkit-box-align:center;-ms-flex-align:center;align-items:center;background:rgba(0,0,0,.4);color:#fff;display:-webkit-box;display:-ms-flexbox;display:flex;font-size:1.4em;inset:0;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;line-height:1.2;opacity:0;padding:1rem;pointer-events:none;position:absolute;-webkit-transition:opacity 1s ease 1s;transition:opacity 1s ease 1s;z-index:99999}

.maplibregl-cooperative-gesture-screen.maplibregl-show{opacity:1;-webkit-transition:opacity .05s;transition:opacity .05s}

.maplibregl-cooperative-gesture-screen .maplibregl-mobile-message{display:none}

@media (hover:none),(pointer:coarse){.maplibregl-cooperative-gesture-screen .maplibregl-desktop-message{display:none}.maplibregl-cooperative-gesture-screen .maplibregl-mobile-message{display:block}}

.maplibregl-pseudo-fullscreen{height:100%!important;left:0!important;position:fixed!important;top:0!important;width:100%!important;z-index:99999}

:root {
    --container-border-width: 8px;
    --container-gap-width: 8px; /* only even numbers should be used because otherwise we get 0.5px margin values. */
    --transition-short: 0.1s;
    --transition-standard: 0.3s;
    --buttons-dialog-gap-row: 8px;
    --buttons-dialog-gap-column: 8px;
    --MBody-border-radius: 8px;

    /* Expected z-indexes for dialogs:
        4000 - Default wrapper index
        4009 - Static dialog background
        4010 - Static dialog itself
        4011 - Standard dialog background
        4012 - Standard dialog itself

       These are set up such that the static dialog always appears
       underneath the standard dialogs.
     */
    --dialog-zIndex-wrapper-default: 4000;
    --dialog-zIndex-static-background: 4009;
    --dialog-zIndex-static: calc(var(--dialog-zIndex-static-background) + 1); /* 4010 */
    --dialog-zIndex-standard-background: calc(var(--dialog-zIndex-static) + 1); /* 4011 */
    --dialog-zIndex-standard: calc(var(--dialog-zIndex-standard-background) + 1); /* 4012 */
}

#matrixchat {
    /* This is required to ensure Compound tooltips correctly draw where they should with z-index: auto */
    contain: strict;
}

#mx_ContextualMenu_Container,
#mx_PersistedElement_container,
#mx_Dialog_Container,
#mx_Dialog_StaticContainer {
    /* This is required to ensure Compound tooltips correctly draw where they should with z-index: auto */
    isolation: isolate;
}

/**
 * We need to increase the specificity of the selector to override the
 * custom property set by the design tokens package
 */

[class^="cpd-theme"][class^="cpd-theme"] {
    /**
     * The design tokens package currently does not expose the fallback fonts
     * We want to keep on re-using `$font-family` to not break custom themes
     * and because we can to use `Twemoji` to display emoji rather than using
     * system ones
     */
    --cpd-font-family-sans: var(--font-family, "Nunito", var(--emoji-font-family), "Apple Color Emoji", "Segoe UI Emoji", "Arial", "Helvetica",
    sans-serif, "Noto Color Emoji");
}

@media (prefers-reduced-motion) {
    :root {
        --transition-short: 0;
        --transition-standard: 0;
    }
}

html {
    /* hack to stop overscroll bounce on OSX and iOS.
       N.B. Breaks things when we have legitimate horizontal overscroll */
    height: 100%;
    overflow: hidden;
    /* Stop similar overscroll bounce in Firefox Nightly for macOS */
    -ms-scroll-chaining: none;
        overscroll-behavior: none;
}

body {
    font: var(--cpd-font-body-md-regular);
    letter-spacing: var(--cpd-font-letter-spacing-body-md);
    /**
     * We want to apply Inter Dynamic metrics (https://rsms.me/inter/dynmetrics/)
     * We need to tweak the `letter-spacing` property and doing so, disables by
     * default the optional ligatures
     * `font-feature-settings` allows us to override this behaviour and have the
     * correct ligatures and the proper dynamic metric spacing.
     */
    -webkit-font-feature-settings:
        "kern" 1,
        "liga" 1,
        "calt" 1;
            font-feature-settings:
        "kern" 1,
        "liga" 1,
        "calt" 1;

    background-color: var(--timeline-background-color);
    color: var(--timeline-text-color);
    border: 0px;
    margin: 0px;

    /* needed to match the designs correctly on macOS */
    /* see https://github.com/vector-im/element-web/issues/11425 */
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

pre,
code {
    font-family: "Inconsolata", "", "Apple Color Emoji", "Segoe UI Emoji", "Courier",
    monospace, "Noto Color Emoji";
    font-family: var(--font-family-monospace, "Inconsolata", var(--emoji-font-family), "Apple Color Emoji", "Segoe UI Emoji", "Courier",
    monospace, "Noto Color Emoji");
    font-size: 100% !important;
}

.error,
.warning,
.text-error,
.text-warning {
    color: #ff5b55;
    color: var(--alert, #ff5b55);
}

.text-success {
    color: #0dbd8b;
    color: var(--accent-color, #0dbd8b);
}

.text-muted {
    color: #a1b2d1;
}

.text-primary {
    color: var(--timeline-text-color);
}

.text-secondary {
    color: #edf3ff;
    color: var(--secondary-content, #edf3ff);
}

.mx_Verified {
    color: #0dbd8b;
}

.mx_Untrusted {
    color: #ff5b55;
}

b {
    /* On Firefox, the default weight for `<b>` is `bolder` which results in no bold */
    /* effect since we only have specific weights of our fonts available. */
    font-weight: bold;
}

h2 {
    color: var(--timeline-text-color);
    font: var(--cpd-font-heading-lg-regular);
    letter-spacing: var(--cpd-font-letter-spacing-heading-lg);
    margin-top: 16px;
    margin-bottom: 16px;
}

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

:not(.mx_no_textinput):not(.mx_textinput):not(.mx_Field) > input[type="text"],
:not(.mx_no_textinput):not(.mx_textinput):not(.mx_Field) > input[type="search"],
:not(.mx_no_textinput):not(.mx_textinput):not(.mx_Field) > input[type="password"] {
    padding: 9px;
    font: var(--cpd-font-body-md-semibold);
    font-weight: var(--cpd-font-weight-semibold);
    min-width: 0;
}

input[type="text"].mx_textinput_icon,
input[type="search"].mx_textinput_icon {
    padding-left: 36px;
    background-repeat: no-repeat;
    background-position: 10px center;
}

/* FIXME THEME - Tint by CSS rather than referencing a duplicate asset */

input[type="text"].mx_textinput_icon.mx_textinput_search,
input[type="search"].mx_textinput_icon.mx_textinput_search {
    background-image: url(../../icons/search.4bec687.svg);
}

/* dont search UI as not all browsers support it, */

/* we implement it ourselves where needed instead */

input[type="search"]::-webkit-search-decoration,
input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-results-button,
input[type="search"]::-webkit-search-results-decoration {
    display: none;
}

/* Override Firefox's UA style so we get a consistent look across browsers */

input::-webkit-input-placeholder, textarea::-webkit-input-placeholder {
    opacity: 1;
    opacity: initial;
}

input::-moz-placeholder, textarea::-moz-placeholder {
    opacity: 1;
    opacity: initial;
}

input:-ms-input-placeholder, textarea:-ms-input-placeholder {
    opacity: 1;
    opacity: initial;
}

input::-ms-input-placeholder, textarea::-ms-input-placeholder {
    opacity: 1;
    opacity: initial;
}

input::placeholder,
textarea::placeholder {
    opacity: 1;
    opacity: initial;
}

input[type="text"],
input[type="password"],
textarea {
    background-color: transparent;
    color: var(--timeline-text-color);
}

/* Required by Firefox */

textarea {
    color: var(--timeline-text-color);
}

input[type="text"]:focus,
input[type="password"]:focus,
textarea:focus {
    outline: none;
    -webkit-box-shadow: none;
            box-shadow: none;
}

/* This is used to hide the standard outline added by browsers for */

/* accessible (focusable) components. Not intended for buttons, but */

/* should be used on things like focusable containers where the outline */

/* is usually not helping anyone. */

*:focus:not(:focus-visible) {
    outline: none;
}

/* override defaults */

fieldset {
    display: inline-block;
    margin-inline: unset;
    padding-block: unset;
    padding-inline: unset;
    min-inline-size: unset;
    border: none;
}

summary {
    cursor: pointer;
}

legend {
    padding-inline: unset;
    border: none;
}

/* .mx_textinput is a container for a text input */

/* + some other controls like buttons, ... */

/* it has the appearance of a text box so the controls */

/* appear to be part of the input */

.mx_Dialog .mx_textinput > input[type="text"],
    .mx_Dialog .mx_textinput > input[type="search"],
    .mx_MatrixChat_wrapper .mx_textinput > input[type="text"],
    .mx_MatrixChat_wrapper .mx_textinput > input[type="search"] {
        border: none;
        -webkit-box-flex: 1;
            -ms-flex: 1;
                flex: 1;
        color: var(--timeline-text-color);
    }

.mx_Dialog :not(.mx_textinput):not(.mx_Field):not(.mx_no_textinput) > input[type="text"],
    .mx_Dialog :not(.mx_textinput):not(.mx_Field):not(.mx_no_textinput) > input[type="search"],
    .mx_Dialog .mx_textinput,
    .mx_MatrixChat_wrapper :not(.mx_textinput):not(.mx_Field):not(.mx_no_textinput) > input[type="text"],
    .mx_MatrixChat_wrapper :not(.mx_textinput):not(.mx_Field):not(.mx_no_textinput) > input[type="search"],
    .mx_MatrixChat_wrapper .mx_textinput {
        display: block;
        -webkit-box-sizing: border-box;
                box-sizing: border-box;
        background-color: transparent;
        color: #61708b;
        border-radius: 4px;
        border: 1px solid var(--secondary-hairline-color);
        /* these things should probably not be defined globally */
        margin: 9px;
    }

.mx_Dialog .mx_textinput, .mx_MatrixChat_wrapper .mx_textinput {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
    }

.mx_Dialog :not(.mx_textinput):not(.mx_Field):not(.mx_no_textinput) > input[type="text"]::-webkit-input-placeholder, .mx_Dialog :not(.mx_textinput):not(.mx_Field):not(.mx_no_textinput) > input[type="search"]::-webkit-input-placeholder, .mx_Dialog .mx_textinput input::-webkit-input-placeholder, .mx_MatrixChat_wrapper :not(.mx_textinput):not(.mx_Field):not(.mx_no_textinput) > input[type="text"]::-webkit-input-placeholder, .mx_MatrixChat_wrapper :not(.mx_textinput):not(.mx_Field):not(.mx_no_textinput) > input[type="search"]::-webkit-input-placeholder, .mx_MatrixChat_wrapper .mx_textinput input::-webkit-input-placeholder {
        color: var(--cpd-color-text-secondary);
    }

.mx_Dialog :not(.mx_textinput):not(.mx_Field):not(.mx_no_textinput) > input[type="text"]::-moz-placeholder, .mx_Dialog :not(.mx_textinput):not(.mx_Field):not(.mx_no_textinput) > input[type="search"]::-moz-placeholder, .mx_Dialog .mx_textinput input::-moz-placeholder, .mx_MatrixChat_wrapper :not(.mx_textinput):not(.mx_Field):not(.mx_no_textinput) > input[type="text"]::-moz-placeholder, .mx_MatrixChat_wrapper :not(.mx_textinput):not(.mx_Field):not(.mx_no_textinput) > input[type="search"]::-moz-placeholder, .mx_MatrixChat_wrapper .mx_textinput input::-moz-placeholder {
        color: var(--cpd-color-text-secondary);
    }

.mx_Dialog :not(.mx_textinput):not(.mx_Field):not(.mx_no_textinput) > input[type="text"]:-ms-input-placeholder, .mx_Dialog :not(.mx_textinput):not(.mx_Field):not(.mx_no_textinput) > input[type="search"]:-ms-input-placeholder, .mx_Dialog .mx_textinput input:-ms-input-placeholder, .mx_MatrixChat_wrapper :not(.mx_textinput):not(.mx_Field):not(.mx_no_textinput) > input[type="text"]:-ms-input-placeholder, .mx_MatrixChat_wrapper :not(.mx_textinput):not(.mx_Field):not(.mx_no_textinput) > input[type="search"]:-ms-input-placeholder, .mx_MatrixChat_wrapper .mx_textinput input:-ms-input-placeholder {
        color: var(--cpd-color-text-secondary);
    }

.mx_Dialog :not(.mx_textinput):not(.mx_Field):not(.mx_no_textinput) > input[type="text"]::-ms-input-placeholder, .mx_Dialog :not(.mx_textinput):not(.mx_Field):not(.mx_no_textinput) > input[type="search"]::-ms-input-placeholder, .mx_Dialog .mx_textinput input::-ms-input-placeholder, .mx_MatrixChat_wrapper :not(.mx_textinput):not(.mx_Field):not(.mx_no_textinput) > input[type="text"]::-ms-input-placeholder, .mx_MatrixChat_wrapper :not(.mx_textinput):not(.mx_Field):not(.mx_no_textinput) > input[type="search"]::-ms-input-placeholder, .mx_MatrixChat_wrapper .mx_textinput input::-ms-input-placeholder {
        color: var(--cpd-color-text-secondary);
    }

.mx_Dialog :not(.mx_textinput):not(.mx_Field):not(.mx_no_textinput) > input[type="text"]::placeholder,
    .mx_Dialog :not(.mx_textinput):not(.mx_Field):not(.mx_no_textinput) > input[type="search"]::placeholder,
    .mx_Dialog .mx_textinput input::placeholder,
    .mx_MatrixChat_wrapper :not(.mx_textinput):not(.mx_Field):not(.mx_no_textinput) > input[type="text"]::placeholder,
    .mx_MatrixChat_wrapper :not(.mx_textinput):not(.mx_Field):not(.mx_no_textinput) > input[type="search"]::placeholder,
    .mx_MatrixChat_wrapper .mx_textinput input::placeholder {
        color: var(--cpd-color-text-secondary);
    }

/* Prevent ugly dotted highlight around selected elements in Firefox */

::-moz-focus-inner {
    border: 0;
}

/* These are magic constants which are excluded from tinting, to let themes */

/* (which only have CSS) tell the app what their non-tinted */

/* colourscheme is by inspecting the stylesheet DOM. */

/* They are not used for layout!! */

#mx_theme_accentColor {
    color: #0dbd8b;
    color: var(--accent-color, #0dbd8b);
}

#mx_theme_secondaryAccentColor {
    color: var(--roomlist-background-color);
}

.mx_Dialog_wrapper {
    position: fixed;
    z-index: 4000;
    z-index: var(--dialog-zIndex-wrapper-default);
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;

    display: -webkit-box;

    display: -ms-flexbox;

    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
}

.mx_Dialog_border {
    z-index: calc(calc(calc(4009 + 1) + 1) + 1);
    z-index: var(--dialog-zIndex-standard);
    position: relative;
    width: 100%;
    max-width: -webkit-fit-content;
    max-width: -moz-fit-content;
    max-width: fit-content;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    max-height: calc(100% - var(--cpd-space-6x));
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
}

.mx_Dialog_lightbox .mx_Dialog_border {
        /* The lightbox isn't so much of a dialog as a fullscreen overlay. We
        don't want the glass border. */
        display: contents;
    }

.mx_Dialog {
    background-color: var(--timeline-background-color);
    color: var(--timeline-text-secondary-color);
    font-size: 0.9375rem;
    position: relative;
    padding: var(--cpd-space-8x) var(--cpd-space-10x);
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    overflow-y: auto;
}

.mx_Dialog_staticWrapper .mx_Dialog {
        z-index: calc(4009 + 1);
        z-index: var(--dialog-zIndex-static);
        contain: content;
    }

.mx_Dialog_lightbox .mx_Dialog {
        border-radius: 0px;
        background-color: transparent;
        width: 100%;
        height: 100%;
        max-width: 100%;
        max-height: 100%;
        pointer-events: none;
        padding: 0;
    }

/* Styles copied/inspired by GroupLayout, ReplyTile, and EventTile variants. */

.mx_Dialog .markdown-body {
        font: var(--cpd-font-body-md-regular) !important;
        letter-spacing: var(--cpd-font-letter-spacing-body-md);
        font-family: inherit !important;
        white-space: normal !important;
        line-height: inherit !important;
        background-color: inherit;
        color: inherit;

        /* Make h1 and h2 the same size as h3. */
    }

/* inherit the colour from the dark or light theme by default (but not for code blocks) */

.mx_Dialog .markdown-body pre,
        .mx_Dialog .markdown-body code {
            font-family: "Inconsolata", "", "Apple Color Emoji", "Segoe UI Emoji", "Courier",
    monospace, "Noto Color Emoji" !important;
            font-family: var(--font-family-monospace, "Inconsolata", var(--emoji-font-family), "Apple Color Emoji", "Segoe UI Emoji", "Courier",
    monospace, "Noto Color Emoji") !important;
            background-color: #2a3039;
        }

/* this selector wrongly applies to code blocks too but we will unset it in the next one */

.mx_Dialog .markdown-body code {
            white-space: pre-wrap; /* don't collapse spaces in inline code blocks */
        }

.mx_Dialog .markdown-body pre {
            /* have to use overlay rather than auto otherwise Linux and Windows */
            /* Chrome gets very confused about vertical spacing: */
            /* https://github.com/vector-im/vector-web/issues/754 */
            overflow-x: overlay;
            overflow-y: visible;
        }

.mx_Dialog .markdown-body pre::-webkit-scrollbar-corner {
                background: transparent;
            }

.mx_Dialog .markdown-body pre code {
                white-space: pre; /* we want code blocks to be scrollable and not wrap */
            }

.mx_Dialog .markdown-body pre code > * {
                    display: inline;
                }

.mx_Dialog .markdown-body h1,
        .mx_Dialog .markdown-body h2,
        .mx_Dialog .markdown-body h3,
        .mx_Dialog .markdown-body h4,
        .mx_Dialog .markdown-body h5,
        .mx_Dialog .markdown-body h6 {
            font-family: inherit !important;
            color: inherit;
        }

.mx_Dialog .markdown-body h1,
        .mx_Dialog .markdown-body h2 {
            font-size: 1.5em;
            border-bottom: none !important; /* override GFM */
        }

.mx_Dialog .markdown-body a {
            color: var(--primary-color);
        }

.mx_Dialog .markdown-body blockquote {
            border-left: 2px solid var(--cpd-color-border-interactive-primary);
            color: #edf3ff;
            color: var(--secondary-content, #edf3ff);
            border-radius: 2px;
            padding: 0 10px;
        }

.mx_Dialog_fixedWidth {
    width: 60vw;
    max-width: 704px;
}

.mx_Dialog_background {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: var(--sidebar-color-50pct);
    z-index: calc(calc(4009 + 1) + 1);
    z-index: var(--dialog-zIndex-standard-background);
}

.mx_Dialog_background.mx_Dialog_staticBackground {
        z-index: 4009;
        z-index: var(--dialog-zIndex-static-background);
    }

.mx_Dialog_wrapperWithStaticUnder .mx_Dialog_background {
        /* Roughly half of what it would normally be - we don't want to black out */
        /* the app, just make it clear that the dialogs are stacked. */
        opacity: 0.4;
    }

.mx_Dialog_lightbox .mx_Dialog_background {
        opacity: 0.85;
        background-color: #000;
        -webkit-animation-name: mx_Dialog_lightbox_background_keyframes;
                animation-name: mx_Dialog_lightbox_background_keyframes;
        -webkit-animation-duration: 300ms;
                animation-duration: 300ms;
    }

.mx_Dialog_titleImage {
    vertical-align: sub;
    width: 25px;
    height: 25px;
    margin-left: -2px;
    margin-right: 4px;
    margin-bottom: 2px;
}

.mx_Dialog_title {
    color: var(--timeline-text-color);
    display: inline-block;
    width: 100%;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    letter-spacing: var(--cpd-font-letter-spacing-heading-lg);
}

.mx_Dialog_title.danger {
        color: #ff5b55;
        color: var(--alert, #ff5b55);
    }

.mx_Dialog_header {
    position: relative;
    padding: 0;
    -webkit-padding-end: 20px;
            padding-inline-end: 20px; /* Reserve room for the close button */
    margin-bottom: var(--cpd-space-2x);
}

.mx_Dialog_header.mx_Dialog_headerWithButton > .mx_Dialog_title {
        text-align: center;
    }

.mx_Dialog_cancelButton {
    cursor: pointer;
    position: relative;
    width: 28px;
    height: 28px;
    border-radius: 14px;
    background-color: var(--cpd-color-bg-subtle-secondary);
}

.mx_Dialog_cancelButton:hover {
        background-color: var(--cpd-color-bg-subtle-primary);
    }

.mx_Dialog_cancelButton::before {
        content: "";
        width: 28px;
        height: 28px;
        left: 0;
        top: 0;
        position: absolute;
        -webkit-mask-image: url(../../icons/close.dce71fd.svg);
                mask-image: url(../../icons/close.dce71fd.svg);
        -webkit-mask-repeat: no-repeat;
                mask-repeat: no-repeat;
        -webkit-mask-position: center;
                mask-position: center;
        -webkit-mask-size: 20px;
                mask-size: 20px;
        background-color: var(--cpd-color-icon-secondary);
    }

.mx_Dialog_cancelButton {
    position: absolute;
    top: var(--cpd-space-4x);
    right: var(--cpd-space-4x);
}

.mx_Dialog_content {
    margin: 24px 0 68px;
    font: var(--cpd-font-body-md-regular);
    color: var(--timeline-text-color);
    word-wrap: break-word;
}

.mx_Dialog_buttons {
    margin-top: 20px;
    -webkit-margin-start: auto;
            margin-inline-start: auto;
    text-align: right;
}

.mx_Dialog_buttons .mx_Dialog_buttons_additive {
        /* The consumer is responsible for positioning their elements. */
        float: left;
    }

.mx_Dialog_buttons .mx_Dialog_buttons_row {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
        -webkit-box-pack: end;
            -ms-flex-pack: end;
                justify-content: flex-end;
        text-align: left;
        text-align: initial;
        -webkit-margin-start: auto;
                margin-inline-start: auto;

        /* default gap among elements */
        -webkit-column-gap: 8px;
           -moz-column-gap: 8px;
                column-gap: 8px;
        -webkit-column-gap: var(--buttons-dialog-gap-column);
           -moz-column-gap: var(--buttons-dialog-gap-column);
                column-gap: var(--buttons-dialog-gap-column);
        row-gap: 8px;
        row-gap: var(--buttons-dialog-gap-row);
    }

.mx_Dialog_buttons .mx_Dialog_buttons_row button {
            margin: 0 !important; /* override the margin settings */
        }

/* XXX: Our button style are a mess: buttons that happen to appear in dialogs get special styles applied
 * to them that no button anywhere else in the app gets by default. In practice, buttons in other places
 * in the app look the same by being AccessibleButtons, or possibly by having explict button classes.
 * We should go through and have one consistent set of styles for buttons throughout the app.
 * For now, I am duplicating the selectors here for mx_Dialog and mx_DialogButtons.
 *
 * Elements that should not be styled like a dialog button are mentioned in a :not() pseudo-class.
 * For the widest browser support, we use multiple :not pseudo-classes instead of :not(.a, .b).
 */

.mx_Dialog
    button:not(.mx_Dialog_nonDialogButton):not([class|="maplibregl"]):not(.mx_AccessibleButton):not(
        .mx_UserProfileSettings button
    ):not(.mx_ThemeChoicePanel_CustomTheme button):not(.mx_UnpinAllDialog button):not(.mx_ShareDialog button),
.mx_Dialog input[type="submit"],
.mx_Dialog_buttons button:not(.mx_Dialog_nonDialogButton):not(.mx_AccessibleButton),
.mx_Dialog_buttons input[type="submit"] {
    /* align images in buttons (eg spinners) */
    vertical-align: middle;
    border: 0px;
    border-radius: 24px;
    font: var(--cpd-font-body-md-regular);
    color: white;
    background-color: var(--cpd-color-bg-action-primary-rest);
    width: auto;
    padding: 7px;
    padding-left: 1.5em;
    padding-right: 1.5em;
    cursor: pointer;
    display: inline-block;

    /* flip colours for the secondary ones */
}

.mx_Dialog
    button:not(.mx_Dialog_nonDialogButton):not([class|="maplibregl"]):not(.mx_AccessibleButton):not(
        .mx_UserProfileSettings button
    ):not(.mx_ThemeChoicePanel_CustomTheme button):not(.mx_UnpinAllDialog button):not(.mx_ShareDialog button):not(:focus-visible), .mx_Dialog input[type="submit"]:not(:focus-visible), .mx_Dialog_buttons button:not(.mx_Dialog_nonDialogButton):not(.mx_AccessibleButton):not(:focus-visible), .mx_Dialog_buttons input[type="submit"]:not(:focus-visible) {
        outline: none;
    }

.mx_Dialog
    button:not(.mx_Dialog_nonDialogButton):not([class|="maplibregl"]):not(.mx_AccessibleButton):not(
        .mx_UserProfileSettings button
    ):not(.mx_ThemeChoicePanel_CustomTheme button):not(.mx_UnpinAllDialog button):not(.mx_ShareDialog button),
.mx_Dialog input[type="submit"],
.mx_Dialog_buttons button:not(.mx_Dialog_nonDialogButton):not(.mx_AccessibleButton),
.mx_Dialog_buttons input[type="submit"] {
    margin-left: 0px;
    margin-right: 8px;
    margin-right: 8px;
    margin-right: var(--buttons-dialog-gap-column);
    margin-bottom: 5px;
    font-weight: var(--cpd-font-weight-semibold);
    border: 1px solid var(--cpd-color-border-interactive-secondary);
    color: var(--cpd-color-text-primary);
    background-color: transparent;
    font-family: inherit;
}

.mx_Dialog
    button:not(.mx_Dialog_nonDialogButton):not([class|="maplibregl"]):not(.mx_AccessibleButton):not(
        .mx_UserProfileSettings button
    ):not(.mx_ThemeChoicePanel_CustomTheme button):not(.mx_UnpinAllDialog button):not(
        .mx_ShareDialog button
    ):last-child {
    margin-right: 0px;
}

.mx_Dialog
    button:not(.mx_Dialog_nonDialogButton):not([class|="maplibregl"]):not(.mx_AccessibleButton):not(
        .mx_UserProfileSettings button
    ):not(.mx_ThemeChoicePanel_CustomTheme button):not(.mx_UnpinAllDialog button):not(.mx_ShareDialog button):focus,
.mx_Dialog input[type="submit"]:focus,
.mx_Dialog_buttons button:not(.mx_Dialog_nonDialogButton):not(.mx_AccessibleButton):focus,
.mx_Dialog_buttons input[type="submit"]:focus {
    -webkit-filter: brightness(105%);
            filter: brightness(105%);
}

.mx_Dialog button.mx_Dialog_primary:not(.mx_Dialog_nonDialogButton):not([class|="maplibregl"]),
.mx_Dialog input[type="submit"].mx_Dialog_primary,
.mx_Dialog_buttons
    button.mx_Dialog_primary:not(.mx_Dialog_nonDialogButton):not(.mx_AccessibleButton):not(
        .mx_UserProfileSettings button
    ):not(.mx_ThemeChoicePanel_CustomTheme button):not(.mx_UnpinAllDialog button):not(.mx_ShareDialog button),
.mx_Dialog_buttons input[type="submit"].mx_Dialog_primary {
    color: var(--cpd-color-text-on-solid-primary);
    background-color: var(--cpd-color-bg-action-primary-rest);
    border-color: var(--cpd-color-bg-action-primary-rest);
    min-width: 156px;
}

.mx_Dialog button.danger:not(.mx_Dialog_nonDialogButton):not([class|="maplibregl"]),
.mx_Dialog input[type="submit"].danger,
.mx_Dialog_buttons
    button.danger:not(.mx_Dialog_nonDialogButton):not(.mx_AccessibleButton):not(.mx_UserProfileSettings button):not(
        .mx_ThemeChoicePanel_CustomTheme button
    ):not(.mx_UnpinAllDialog button):not(.mx_ShareDialog button),
.mx_Dialog_buttons input[type="submit"].danger {
    background-color: var(--cpd-color-bg-critical-primary);
    border: solid 1px var(--cpd-color-bg-critical-primary);
    color: var(--cpd-color-text-on-solid-primary);
}

.mx_Dialog button.warning:not(.mx_Dialog_nonDialogButton):not([class|="maplibregl"]),
.mx_Dialog input[type="submit"].warning {
    border: solid 1px var(--cpd-color-border-critical-subtle);
    color: var(--cpd-color-text-critical-primary);
}

.mx_Dialog
    button:not(.mx_Dialog_nonDialogButton):not([class|="maplibregl"]):not(.mx_AccessibleButton):not(
        .mx_UserProfileSettings button
    ):not(.mx_ThemeChoicePanel_CustomTheme button):not(.mx_UnpinAllDialog button):not(.mx_ShareDialog button):disabled,
.mx_Dialog input[type="submit"]:disabled,
.mx_Dialog_buttons button:not(.mx_Dialog_nonDialogButton):not(.mx_AccessibleButton):disabled,
.mx_Dialog_buttons input[type="submit"]:disabled {
    background-color: var(--timeline-text-secondary-color);
    border: solid 1px var(--timeline-text-secondary-color);
    opacity: 0.7;
}

/* Spinner Dialog overide */

/* This is not a real dialog, so we shouldn't show a glass border */

.mx_Dialog_wrapper.mx_Dialog_spinner .mx_Dialog_border {
        display: contents;
    }

.mx_Dialog_wrapper.mx_Dialog_spinner .mx_Dialog {
        inline-size: auto;
        block-size: auto;
        border-radius: 8px;
        padding: 8px;
        -webkit-box-shadow: none;
                box-shadow: none;

        /* Don't show scroll-bars on spinner dialogs */
        overflow-x: hidden;
        overflow-y: hidden;
    }

/* TODO: Review mx_GeneralButton usage to see if it can use a different class */

/* These classes were brought in from the old UserSettings and are included here to avoid */

/* breaking the app. */

/* Ref: https://github.com/vector-im/element-web/issues/8420 */

.mx_GeneralButton {
    /* align images in buttons (eg spinners) */
    vertical-align: middle;
    border: 0px;
    border-radius: 24px;
    font: var(--cpd-font-body-md-regular);
    color: white;
    background-color: var(--cpd-color-bg-action-primary-rest);
    width: auto;
    padding: 7px;
    padding-left: 1.5em;
    padding-right: 1.5em;
    cursor: pointer;
    display: inline-block;
}

.mx_GeneralButton:not(:focus-visible) {
        outline: none;
    }

.mx_GeneralButton {
    display: inline;
    margin: auto;
}

.mx_TextInputDialog_label {
    text-align: left;
    padding-bottom: 12px;
}

.mx_TextInputDialog_input {
    font-size: 0.9375rem;
    border-radius: 3px;
    border: 1px solid #e7e7e7;
    padding: 9px;
    color: var(--timeline-text-color);
    background-color: var(--timeline-background-color);
}

.mx_button_row {
    margin-top: 69px;
}

/* username colors */

/* used by SenderProfile & RoomPreviewBar */

.mx_Username_color1 {
    color: var(--cpd-color-text-decorative-1);
}

.mx_Username_color2 {
    color: var(--cpd-color-text-decorative-2);
}

.mx_Username_color3 {
    color: var(--cpd-color-text-decorative-3);
}

.mx_Username_color4 {
    color: var(--cpd-color-text-decorative-4);
}

.mx_Username_color5 {
    color: var(--cpd-color-text-decorative-5);
}

.mx_Username_color6 {
    color: var(--cpd-color-text-decorative-6);
}

.mx_AppWarning,
.mx_AppPermission {
    text-align: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    height: 100%;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
}

.mx_lineClamp {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 1;
    -webkit-line-clamp: var(--mx-line-clamp, 1);
    overflow: hidden;
}

/*
Copyright 2024 New Vector Ltd.
Copyright 2022 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_BeaconListItem {
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    padding: 12px 0;

    border-bottom: 1px solid #21262c;

    border-bottom: 1px solid var(--system, #21262c);

    cursor: pointer;
}

.mx_BeaconListItem_avatarIcon {
    -webkit-box-flex: 0;
        -ms-flex: 0 0;
            flex: 0 0;
    height: 32px;
    width: 32px;
}

.mx_BeaconListItem_avatar {
    -webkit-box-flex: 0;
        -ms-flex: 0 0;
            flex: 0 0;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;

    margin-right: 8px;
    border: 2px solid #5c56f5;
    border-radius: 50%;
}

.mx_BeaconListItem_info {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 0px;
            flex: 1 1 0;
    width: 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
}

.mx_BeaconListItem_status {
    /* override beacon status padding */
    padding: 0 !important;
    margin-bottom: 8px;
}

.mx_BeaconListItem_status .mx_BeaconStatus_label {
        font-weight: var(--cpd-font-weight-semibold);
    }

.mx_BeaconListItem_lastUpdated {
    color: #edf3ff;
    color: var(--tertiary-content, #edf3ff);
    font-size: 0.625rem;
}

.mx_BeaconListItem_interactions {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
}

/*
Copyright 2024 New Vector Ltd.
Copyright 2022 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_BeaconStatus {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;

    -webkit-box-sizing: border-box;

            box-sizing: border-box;
    padding: 8px;

    color: var(--color);
    font-size: 0.75rem;
}

.mx_BeaconStatus_Loading,
.mx_BeaconStatus_Stopped {
    --color: var(--tertiary-content, #edf3ff);
}

.mx_BeaconStatus_Active,
.mx_BeaconStatus_Error {
    --color: var(--timeline-text-color);
}

.mx_BeaconStatus_icon {
    height: 32px;
    width: 32px;

    -webkit-box-flex: 0;

        -ms-flex: 0 0 32px;

            flex: 0 0 32px;
    margin-right: 8px;
}

.mx_BeaconStatus_description {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 0px;
            flex: 1 1 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    line-height: 0.875rem;

    padding-right: 8px;

    white-space: nowrap;
    overflow: hidden;
}

.mx_BeaconStatus_description .mx_BeaconStatus_description_status {
        text-overflow: ellipsis;
        overflow: hidden;
    }

.mx_BeaconStatus_expiryTime {
    color: #edf3ff;
    color: var(--secondary-content, #edf3ff);
}

.mx_BeaconStatus_label {
    margin-bottom: 2px;
    overflow: hidden;
    text-overflow: ellipsis;
}

/*
Copyright 2024 New Vector Ltd.
Copyright 2022 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_BeaconStatusTooltip {
    position: absolute;
    top: 42px;
    max-width: 150px;
    height: 38px;
    -webkit-box-sizing: content-box;
            box-sizing: content-box;
    padding-top: 8px;
}

.mx_BeaconStatusTooltip_inner {
    position: relative;
    height: 100%;
    border-radius: 4px;
    background: var(--timeline-background-color);
    -webkit-box-shadow: 4px 4px 12px 0 #181b21;
            box-shadow: 4px 4px 12px 0 #181b21;
}

/*
Copyright 2024 New Vector Ltd.
Copyright 2022 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_BeaconViewDialog_wrapper .mx_Dialog {
    padding: 0px;

    /* Unset contain and position to allow the close button
    to appear outside the dialog */
    contain: unset;
    position: static;
    position: initial;
}

.mx_BeaconViewDialog {
    /* subtract 0.5px to prevent single-pixel margin due to rounding */
    width: calc(80vw - 0.5px);
    height: calc(80vh - 0.5px);
    overflow: hidden;

    /* sidebar is absolutely positioned inside */
    position: relative;
}

.mx_BeaconViewDialog .mx_Dialog_header {
        margin: 0px;
        padding: 0px;
        position: static;
        position: initial;
    }

.mx_BeaconViewDialog .mx_Dialog_header .mx_Dialog_title {
            display: none;
        }

.mx_BeaconViewDialog .mx_Dialog_header .mx_Dialog_cancelButton {
            z-index: 4010;
            position: fixed;
            right: 5vw;
            top: 5vh;
            width: 20px;
            height: 20px;
            background-color: #edf3ff;
        }

.mx_BeaconViewDialog_map {
    width: 80vw;
    height: 80vh;
    border-radius: 8px;
}

.mx_BeaconViewDialog_mapFallbackMessage {
    color: #edf3ff;
    color: var(--secondary-content, #edf3ff);
    margin-bottom: 16px;
}

.mx_BeaconViewDialog_viewListButton {
    position: absolute;
    top: 24px;
    left: 24px;
}

/*
Copyright 2024 New Vector Ltd.
Copyright 2022 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_DialogOwnBeaconStatus {
    position: absolute;
    bottom: 32px;
    width: 300px;
    margin-left: -150px;
    left: 50%;

    -webkit-box-sizing: border-box;

            box-sizing: border-box;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    -webkit-box-pack: stretch;
        -ms-flex-pack: stretch;
            justify-content: stretch;

    background: var(--timeline-background-color);
    border-radius: 8px;
    -webkit-box-shadow: 4px 4px 12px 0 #181b21;
            box-shadow: 4px 4px 12px 0 #181b21;

    padding: 0 12px;
}

.mx_DialogOwnBeaconStatus_avatarIcon {
    -webkit-box-flex: 0;
        -ms-flex: 0 0;
            flex: 0 0;
    height: 32px;
    width: 32px;
    margin: 8px 0 8px 0;
}

.mx_DialogOwnBeaconStatus_avatar {
    -webkit-box-flex: 0;
        -ms-flex: 0 0;
            flex: 0 0;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;

    border: 2px solid #5c56f5;
    border-radius: 50%;
    margin: 8px 0 8px 0;
}

.mx_DialogOwnBeaconStatus_status {
    -webkit-box-flex: 1;
        -ms-flex: 1 1;
            flex: 1 1;
    padding-right: 0;
}

/*
Copyright 2024 New Vector Ltd.
Copyright 2022 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_DialogSidebar {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 265px;

    display: -webkit-box;

    display: -ms-flexbox;

    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;

    -webkit-box-sizing: border-box;

            box-sizing: border-box;
    padding: 16px;

    background-color: var(--timeline-background-color);
    -webkit-box-shadow: 0px 4px 4px #181b21;
            box-shadow: 0px 4px 4px #181b21;
}

.mx_DialogSidebar .mx_DialogSidebar_header {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        -webkit-box-pack: justify;
            -ms-flex-pack: justify;
                justify-content: space-between;

        -webkit-box-flex: 0;

            -ms-flex: 0 0;

                flex: 0 0;
        margin-bottom: 16px;

        color: var(--timeline-text-color);
    }

.mx_DialogSidebar .mx_DialogSidebar_header .mx_DialogSidebar_closeButtonIcon {
            color: #edf3ff;
            color: var(--tertiary-content, #edf3ff);
        }

.mx_DialogSidebar .mx_DialogSidebar_list {
        list-style: none;
        padding: 0;
        margin: 0;
        -webkit-box-flex: 1;
            -ms-flex: 1 1 0px;
                flex: 1 1 0;
        width: 100%;
        overflow: auto;
    }

.mx_DialogSidebar_noResults {
    font: var(--cpd-font-body-md-regular);
    color: #edf3ff;
    color: var(--secondary-content, #edf3ff);
}

/*
Copyright 2024 New Vector Ltd.
Copyright 2022 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_LeftPanelLiveShareWarning {
    width: 100%;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;

    padding: 4px;
    text-align: center;

    background-color: #0dbd8b;

    background-color: var(--accent-color, #0dbd8b);
    color: #fff;
    font-size: 0.625rem;

    /* panel backdrops overlay the whole sidepanel */
    /* go above to get hover for title */
    z-index: 1;
}

.mx_LeftPanelLiveShareWarning__error {
    background-color: #ff5b55;
    background-color: var(--alert, #ff5b55);
}

/*
Copyright 2024 New Vector Ltd.
Copyright 2022 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_LiveTimeRemaining {
    color: #edf3ff;
    color: var(--secondary-content, #edf3ff);
    font-size: 0.75rem;
}

/*
Copyright 2024 New Vector Ltd.
Copyright 2022 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_OwnBeaconStatus_button {
    margin-left: 8px;
}

.mx_EventTile[data-layout="bubble"] .mx_OwnBeaconStatus_button {
    /* align to top to make room for timestamp */
    /* in bubble view */
    -ms-flex-item-align: start;
        align-self: start;
}

.mx_OwnBeaconStatus_destructiveButton {
    /* override button link_inline styles */
    color: #ff5b55 !important;
    color: var(--alert, #ff5b55) !important;
    font-weight: var(--cpd-font-weight-semibold) !important;
}

/*
Copyright 2024 New Vector Ltd.
Copyright 2022 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_ShareLatestLocation_icon {
    height: 13px;
    width: 13px;
    color: #edf3ff;
    color: var(--secondary-content, #edf3ff);
}

/* double class to be more specific than the general mx_CopyableText CSS rule */

/* override copyable text style to make compact */

.mx_CopyableText.mx_ShareLatestLocation_copy .mx_CopyableText_copyButton {
        height: 13px;
        margin-left: 8px !important;
        position: relative;
        top: -1px;
        width: 13px;
    }

.mx_CopyableText.mx_ShareLatestLocation_copy .mx_CopyableText_copyButton::before {
            background-color: #edf3ff;
            background-color: var(--secondary-content, #edf3ff);
            height: 13px;
            width: 13px;
        }

/*
Copyright 2024 New Vector Ltd.
Copyright 2022 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_StyledLiveBeaconIcon {
    -webkit-box-flex: 0;
        -ms-flex-positive: 0;
            flex-grow: 0;
    -ms-flex-negative: 0;
        flex-shrink: 0;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    border-width: 2px;
    border-style: solid;
    border-radius: 50%;

    background-color: #5c56f5;
    border-color: #5c56f5;
    padding: 2px;
    /* colors icon */
    color: white;
}

.mx_StyledLiveBeaconIcon.mx_StyledLiveBeaconIcon_error {
    background-color: #ff5b55;
    background-color: var(--alert, #ff5b55);
    border-color: #ff5b55;
    border-color: var(--alert, #ff5b55);
}

.mx_StyledLiveBeaconIcon.mx_StyledLiveBeaconIcon_idle {
    background-color: #6f7882;
    background-color: var(--quaternary-content, #6f7882);
    border-color: #6f7882;
    border-color: var(--quaternary-content, #6f7882);
}

/*
Copyright 2024 New Vector Ltd.
Copyright 2022 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_KebabContextMenu_icon {
    width: 24px;
    height: 24px;
    color: var(--icon-button-color, var(--cpd-color-icon-tertiary));
}

/*
Copyright 2024 New Vector Ltd.
Copyright 2023 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_PollDetailHeader {
    /* override accessiblebutton style */
    font-size: 0.9375rem !important;
}

.mx_PollDetailHeader_icon {
    height: 16px;
    width: 16px;
    margin-right: 8px;
    vertical-align: middle;
}

/*
Copyright 2024 New Vector Ltd.
Copyright 2023 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_PollListItem {
    width: 100%;
}

.mx_PollListItem_content {
    width: 100%;
    display: grid;
    -webkit-box-pack: left;
        -ms-flex-pack: left;
            justify-content: left;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    grid-gap: 8px;
    grid-template-columns: auto auto auto;
    grid-template-rows: auto;
    cursor: pointer;

    color: var(--timeline-text-color);
}

.mx_PollListItem_icon {
    height: 14px;
    width: 14px;
    color: #6f7882;
    color: var(--quaternary-content, #6f7882);
    padding-left: 8px;
}

.mx_PollListItem_question {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/*
Copyright 2024 New Vector Ltd.
Copyright 2023 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_PollListItemEnded {
    width: 100%;
}

.mx_PollListItemEnded_content {
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    color: var(--timeline-text-color);
    cursor: pointer;
}

.mx_PollListItemEnded_title {
    display: grid;
    -webkit-box-pack: left;
        -ms-flex-pack: left;
            justify-content: left;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    grid-gap: 8px;
    grid-template-columns: -webkit-min-content 1fr -webkit-min-content;
    grid-template-columns: min-content 1fr min-content;
    grid-template-rows: auto;
}

.mx_PollListItemEnded_icon {
    height: 14px;
    width: 14px;
    color: #6f7882;
    color: var(--quaternary-content, #6f7882);
    padding-left: 8px;
}

.mx_PollListItemEnded_date {
    font-size: 0.75rem;
    color: #edf3ff;
    color: var(--secondary-content, #edf3ff);
}

.mx_PollListItemEnded_question {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.mx_PollListItemEnded_answers {
    display: grid;
    grid-gap: 8px;
    margin-top: 12px;
}

.mx_PollListItemEnded_voteCount {
    /* 6px to match PollOption padding */
    margin: 8px 0 0 6px;
}

/*
Copyright 2024 New Vector Ltd.
Copyright 2019-2023 The Matrix.org Foundation C.I.C.
Copyright 2015, 2016 OpenMarket Ltd

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_AppPermission {
    font-size: 0.75rem;
    width: 100%; /* make mx_AppPermission fill width of mx_AppTileBody so that scroll bar appears on the edge */
    overflow-y: scroll;
}

.mx_AppPermission .mx_AppPermission_bolder,
    .mx_AppPermission .mx_AppPermission_content_bolder {
        font-weight: var(--cpd-font-weight-semibold);
    }

.mx_AppPermission .mx_AppPermission_content {
        margin-block: auto; /* place at the center */
    }

.mx_AppPermission .mx_AppPermission_content > div {
            margin-block: 12px;
        }

.mx_AppPermission .mx_AppPermission_content .mx_TextWithTooltip_target--helpIcon {
            display: inline-block;
            height: 0.875rem; /* align with characters on the same line */
            vertical-align: middle;
        }

.mx_AppPermission .mx_AppPermission_content .mx_TextWithTooltip_target--helpIcon .mx_Icon {
                color: #0dbd8b;
                color: var(--accent-color, #0dbd8b);
            }

/*
Copyright 2024 New Vector Ltd.
Copyright 2023 Suguru Hirahara

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_AppWarning {
    font-size: 1rem;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
}

.mx_AppWarning h4 {
        margin: 0;
        padding: 0;
    }

/*
Copyright 2024 New Vector Ltd.
Copyright 2022 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_FilterDropdown .mx_Dropdown_menu {
        margin-top: 4px;
        left: auto;
        left: initial;
        right: -12px;
        width: 232px;
        padding: 12px;

        border: 1px solid #6f7882;

        border: 1px solid var(--quinary-content, #6f7882);
        border-radius: 8px;
        -webkit-box-shadow: 0px 1px 3px rgba(23, 25, 28, 0.05);
                box-shadow: 0px 1px 3px rgba(23, 25, 28, 0.05);

        background-color: #21262c;

        background-color: var(--system, #21262c);
    }

.mx_FilterDropdown .mx_Dropdown_menu .mx_Dropdown_option_highlight {
            background-color: transparent;
        }

.mx_FilterDropdown .mx_Dropdown_input {
        height: 24px;
        background-color: transparent;
        border-color: transparent;
        color: #edf3ff;
        color: var(--secondary-content, #edf3ff);
        border-radius: 4px;
    }

.mx_FilterDropdown .mx_Dropdown_input:focus,
        .mx_FilterDropdown .mx_Dropdown_input:hover {
            background-color: #6f7882;
            background-color: var(--quinary-content, #6f7882);
            border-color: #6f7882;
            border-color: var(--quinary-content, #6f7882);
        }

.mx_FilterDropdown .mx_Dropdown_arrow {
        background: #edf3ff;
        background: var(--secondary-content, #edf3ff);
    }

.mx_FilterDropdown_option {
    position: relative;
    width: 100%;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    padding: 8px 0 8px 20px;

    font-size: 0.75rem;
    line-height: 0.9375rem;
    color: var(--timeline-text-color);
}

.mx_FilterDropdown_optionSelectedIcon {
    height: 14px;
    width: 14px;
    position: absolute;
    top: 8px;
    left: 0;
}

.mx_FilterDropdown_optionLabel {
    font-weight: var(--cpd-font-weight-semibold);
    display: block;
}

.mx_FilterDropdown_optionDescription {
    color: #edf3ff;
    color: var(--secondary-content, #edf3ff);
    margin-top: 4px;
}

/*
Copyright 2024 New Vector Ltd.
Copyright 2023 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_FilterTabGroup {
    color: var(--timeline-text-color);
}

.mx_FilterTabGroup label {
        margin-right: 12px;
        cursor: pointer;
    }

.mx_FilterTabGroup label span {
            display: inline-block;
            line-height: 1.5rem;
        }

.mx_FilterTabGroup input[type="radio"] {
        -webkit-appearance: none;
           -moz-appearance: none;
                appearance: none;
        margin: 0;
        padding: 0;
    }

.mx_FilterTabGroup input[type="radio"]:focus + span, .mx_FilterTabGroup input[type="radio"]:hover + span {
                color: #edf3ff;
                color: var(--secondary-content, #edf3ff);
            }

.mx_FilterTabGroup input[type="radio"]:checked + span {
            color: #0dbd8b;
            color: var(--accent-color, #0dbd8b);
            font-weight: var(--cpd-font-weight-semibold);
            /* underline */
            -webkit-box-shadow: 0 1.5px 0 0 currentColor;
                    box-shadow: 0 1.5px 0 0 currentColor;
        }

/*
Copyright 2024 New Vector Ltd.
Copyright 2022 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_LearnMore_button {
    margin-left: 4px;
}

/*
Copyright 2024 New Vector Ltd.
Copyright 2022 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_EnableLiveShare {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 0px;
            flex: 1 1 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;

    padding: 32px 16px;
    text-align: center;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
}

.mx_EnableLiveShare_heading {
    padding-top: 24px;
}

.mx_EnableLiveShare_icon {
    height: 58px;
    width: 58px;
}

.mx_EnableLiveShare_description {
    padding: 0 24px;
    margin-bottom: 32px;
    line-height: 1.25rem;
}

.mx_EnableLiveShare_button {
    margin-top: 32px;
    height: 48px;
    width: 100%;
}

/*
Copyright 2024 New Vector Ltd.
Copyright 2022 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_LiveDurationDropdown {
    margin-bottom: 16px;
}

/*
Copyright 2024 New Vector Ltd.
Copyright 2022 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_LocationShareMenu {
    width: 375px;
    height: 460px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
}

/*
Copyright 2024 New Vector Ltd.
Copyright 2022 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_MapError {
    padding: 100px 32px 0;
    text-align: center;

    --mx-map-error-icon-color: var(--secondary-content, #edf3ff);
    --mx-map-error-icon-size: 58px;
}

.mx_MapError.mx_MapError_isMinimised {
    height: 100%;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;

    padding: 24px;
    background-color: var(--panels, var(--cpd-color-gray-600));
    font-size: 0.75rem;
    line-height: 1rem;

    --mx-map-error-icon-color: var(--alert, #ff5b55);
    --mx-map-error-icon-size: 26px;
}

.mx_MapError.mx_MapError_isMinimised .mx_MapError_message {
        margin: 0;
        max-width: 275px;
    }

.mx_MapError.mx_MapError_isMinimised .mx_MapError_heading {
        padding-top: 8px;
        /* override h3 heading size */
        font-size: inherit !important;
        font-weight: normal !important;
    }

.mx_MapError_message {
    margin: 16px 0 32px;
}

.mx_MapError_heading {
    padding-top: 24px;
}

.mx_MapError_icon {
    height: var(--mx-map-error-icon-size);
    width: var(--mx-map-error-icon-size);
    color: var(--mx-map-error-icon-color);
}

/*
Copyright 2024 New Vector Ltd.
Copyright 2022 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_MapFallback {
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    position: relative;
    z-index: 0;

    background-color: #21262c;

    background-color: var(--system, #21262c);
}

.mx_MapFallback_bg {
    position: absolute;
    top: 0;
    left: 0;
    min-height: 100%;
    min-width: 100%;
    color: #6f7882;
    color: var(--quinary-content, #6f7882);
    z-index: -1;

    pointer-events: none;
}

.mx_MapFallback_icon {
    width: 65px;
    margin-bottom: 16px;
    color: #6f7882;
    color: var(--quaternary-content, #6f7882);
}

/*
Copyright 2024 New Vector Ltd.
Copyright 2022 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_Marker_defaultColor {
    color: #0dbd8b;
    color: var(--accent-color, #0dbd8b);
}

.mx_Marker_border {
    width: 42px;
    height: 42px;
    border-radius: 50%;
    -webkit-filter: drop-shadow(0px 3px 5px rgba(0, 0, 0, 0.2));
            filter: drop-shadow(0px 3px 5px rgba(0, 0, 0, 0.2));
    background-color: currentColor;

    display: -webkit-box;

    display: -ms-flexbox;

    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
}

/* caret down */

.mx_Marker_border::before {
        content: "";
        border-left: 5px solid transparent;
        border-right: 5px solid transparent;
        border-top: 5px solid currentColor;
        position: absolute;
        bottom: -4px;
    }

.mx_Marker_icon {
    color: white;
    height: 20px;
}

/*
Copyright 2024 New Vector Ltd.
Copyright 2022 The Matrix.org Foundation C.I.C

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_ShareDialogButtons {
    position: absolute;
    width: 100%;
    height: 0;
    top: 0;
}

.mx_ShareDialogButtons_button {
    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none;
    background: none;
    border: none;
    padding: 0;
    margin: 0;
    font-size: inherit;
    font-family: inherit;
    line-height: inherit;
    cursor: pointer;
    height: 24px;
    width: 24px;
    border-radius: 50%;
    background-color: #6f7882;
    background-color: var(--quinary-content, #6f7882);
    opacity: 0.8;
    text-align: center;
    color: #edf3ff;
    color: var(--secondary-content, #edf3ff);
    position: absolute;
    top: 16px;
}

.mx_ShareDialogButtons_button:hover,
    .mx_ShareDialogButtons_button:focus {
        opacity: 1;
    }

.mx_ShareDialogButtons_button.left {
        left: 16px;
    }

.mx_ShareDialogButtons_button.right {
        right: 16px;
    }

.mx_ShareDialogButtons_button-icon {
    width: 20px;
    height: 20px;
    margin: 2px;
}

/*
Copyright 2024 New Vector Ltd.
Copyright 2022 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_ShareType {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;

    padding: 60px 12px 32px;

    color: var(--timeline-text-color);
}

.mx_ShareType .mx_ShareType_wrapper_options {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column;
        row-gap: 12px;
        width: 100%;
        margin-top: 12px;
    }

.mx_ShareType .mx_ShareType_wrapper_options .mx_ShareType_option {
            display: -webkit-box;
            display: -ms-flexbox;
            display: flex;
            -webkit-box-align: center;
                -ms-flex-align: center;
                    align-items: center;
            -webkit-box-pack: start;
                -ms-flex-pack: start;
                    justify-content: flex-start;
            padding: 8px 20px;
            background: none;

            border: 1px solid #6f7882;

            border: 1px solid var(--quinary-content, #6f7882);
            border-radius: 8px;

            font-size: 0.9375rem;
            font-family: inherit;
            line-height: inherit;
            color: var(--timeline-text-color);
        }

.mx_ShareType .mx_ShareType_wrapper_options .mx_ShareType_option:hover,
            .mx_ShareType .mx_ShareType_wrapper_options .mx_ShareType_option:focus {
                border-color: #0dbd8b;
                border-color: var(--accent-color, #0dbd8b);
            }

.mx_ShareType_badge {
    height: 60px;
    width: 60px;
    margin-bottom: 20px;
    background-color: #0dbd8b;
    background-color: var(--accent-color, #0dbd8b);
    border-radius: 50%;
    border: 14px solid #0dbd8b;
    border: 14px solid var(--accent-color, #0dbd8b);
    /* colors icon */
    color: white;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
}

.mx_ShareType_heading {
    padding-bottom: 32px;
    text-align: center;
}

.mx_ShareType_option-icon {
    height: 40px;
    width: 40px;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    margin-right: 12px;
    -webkit-box-flex: 0;
        -ms-flex: 0 0 40px;
            flex: 0 0 40px;
    border-width: 2px;
    border-style: solid;
    border-radius: 50%;

    /* Live is styled by StyledLiveBeaconIcon */
}

.mx_ShareType_option-icon.Own {
        border-color: #0dbd8b;
        border-color: var(--accent-color, #0dbd8b);
    }

.mx_ShareType_option-icon.Pin {
        border-color: #0dbd8b;
        border-color: var(--accent-color, #0dbd8b);
        background-color: #0dbd8b;
        background-color: var(--accent-color, #0dbd8b);
        padding: 7px;
        /* colors icon */
        color: white;
    }

/*
Copyright 2024 New Vector Ltd.
Copyright 2022 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_ZoomButtons {
    position: absolute;
    bottom: 32px;
    right: 24px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    row-gap: 8px;
}

.mx_ZoomButtons .mx_ZoomButtons_button {

        border-radius: 4px;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: center;
            -ms-flex-pack: center;
                justify-content: center;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        height: 24px;
        width: 24px;
        background: var(--timeline-background-color);
        -webkit-box-shadow: 0px 4px 12px rgba(0, 0, 0, 0.25);
                box-shadow: 0px 4px 12px rgba(0, 0, 0, 0.25);
    }

.mx_ZoomButtons .mx_ZoomButtons_button .mx_ZoomButtons_icon {

            height: 12px;
            width: 12px;
            color: var(--timeline-text-color);
        }

/*
Copyright 2024 New Vector Ltd.
Copyright 2022 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_MBeaconBody {
    position: relative;
    height: 220px;
    max-width: 325px;
    width: 100%;

    border-radius: 8px;

    border-radius: var(--MBody-border-radius);
    overflow: hidden;
}

.mx_MBeaconBody.mx_MBeaconBody_withoutMap {
    height: auto;
}

.mx_MBeaconBody.mx_MBeaconBody_withoutMap .mx_MBeaconBody_chin {
        position: relative;
        background-color: transparent;
    }

.mx_MBeaconBody_withoutMapContent {
    background-color: var(--panels, var(--cpd-color-gray-600));
    border-radius: 4px;
}

.mx_MBeaconBody_withoutMapInfoLastUpdated {
    /* 48px lines up with icon in BeaconStatus */
    margin-top: -8px;
    padding: 0 8px 8px 48px;

    color: #edf3ff;

    color: var(--tertiary-content, #edf3ff);
    font-size: 0.625rem;
}

.mx_MBeaconBody_map {
    height: 100%;
    width: 100%;
    z-index: 0; /* keeps the entire map under the message action bars */

    cursor: pointer;
}

.mx_MBeaconBody_mapFallback,
.mx_MBeaconBody_mapError {
    /* pushes spinner/icon up */
    /* to appear more centered with the footer */
    padding-bottom: 50px !important;
}

.mx_MBeaconBody_mapErrorInteractive {
    cursor: pointer;
}

.mx_MBeaconBody_mapFallback {
    cursor: default;
}

.mx_MBeaconBody_chin {
    position: absolute;
    bottom: 0;
    width: 100%;
    background-color: var(--cpd-color-bg-canvas-default);
    opacity: 0.85;
}

.mx_EventTile[data-layout="bubble"] .mx_EventTile_line .mx_MBeaconBody {
    max-width: 100%;
    width: 450px;
}

.mx_ReplyTile .mx_MBeaconBody {
    /* Prevent clicking a beacon within a reply */
    pointer-events: none;
}

/*
Copyright 2024 New Vector Ltd.
Copyright 2022 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_MediaProcessingError_Icon {
    margin-right: 4px;
    vertical-align: text-top;
}

/*
Copyright 2024 New Vector Ltd.
Copyright 2022 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_WidgetPip {
    width: 320px;
    height: 220px;
}

.mx_WidgetPip_overlay {
    width: 320px;
    height: 220px;
    position: absolute;
    top: 0;
    border-radius: 8px;
    overflow: hidden;
    color: #edf3ff;
    cursor: pointer;
}

.mx_WidgetPip_header,
.mx_WidgetPip_footer {
    position: absolute;
    left: 0;
    height: 60px;
    width: 100%;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    -webkit-transition: opacity ease 0.15s;
    transition: opacity ease 0.15s;
}

.mx_WidgetPip_overlay:not(:hover) .mx_WidgetPip_header,
    .mx_WidgetPip_overlay:not(:hover) .mx_WidgetPip_footer {
        opacity: 0;
    }

.mx_WidgetPip_header {
    top: 0;
    padding: 12px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    font-size: 0.75rem;
    font-weight: var(--cpd-font-weight-semibold);
    background: -webkit-gradient(linear, left top, left bottom, from(rgba(0, 0, 0, 0.9)), to(rgba(0, 0, 0, 0)));
    background: linear-gradient(rgba(0, 0, 0, 0.9), rgba(0, 0, 0, 0));
}

.mx_WidgetPip_backButton {
    height: 24px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 12px;
}

.mx_WidgetPip_backButton > .mx_Icon {
        color: #c1c6cd;
        padding: 0;
    }

.mx_WidgetPip_footer {
    bottom: 0;
    padding: 12px 8px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: flex-end;
    background: -webkit-gradient(linear, left top, left bottom, from(rgba(0, 0, 0, 0)), to(rgba(0, 0, 0, 0.9)));
    background: linear-gradient(rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.9));
}

/*
Copyright 2024 New Vector Ltd.
Copyright 2023 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_PollOption {
    border: 1px solid #6f7882;
    border: 1px solid var(--quinary-content, #6f7882);
    border-radius: 8px;
    padding: 6px 12px;
    background-color: var(--timeline-background-color);
}

.mx_PollOption .mx_StyledRadioButton_content,
    .mx_PollOption .mx_PollOption_endedOption {
        padding-top: 2px;
        margin-right: 0px;
    }

.mx_PollOption .mx_StyledRadioButton_spacer {
        display: none;
    }

.mx_PollOption,
/* label has cursor: default in user-agent stylesheet */
/* override */
.mx_PollOption_live-option {
    cursor: pointer;
}

.mx_PollOption_content {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
}

.mx_PollOption_optionVoteCount {
    color: #edf3ff;
    color: var(--secondary-content, #edf3ff);
    font-size: 0.75rem;
    white-space: nowrap;
}

.mx_PollOption_winnerIcon {
    height: 12px;
    width: 12px;
    color: var(--cpd-color-icon-accent-tertiary);
    margin-right: 4px;
    vertical-align: middle;
}

.mx_PollOption_checked {
    border-color: var(--cpd-color-border-interactive-hovered);
}

.mx_PollOption_checked .mx_PollOption_popularityBackground .mx_PollOption_popularityAmount {
            background-color: var(--cpd-color-icon-accent-tertiary);
        }

/* override checked radio button styling to show checkmark instead */

.mx_PollOption_checked .mx_StyledRadioButton_checked input[type="radio"]:checked + div {
            border-width: 2px;
            border-color: var(--cpd-color-icon-accent-tertiary);
            background-color: var(--cpd-color-icon-accent-tertiary);
            background-image: url(../../icons/check.3fc654f.svg);
            background-size: 12px;
            background-repeat: no-repeat;
            background-position: center;
        }

.mx_PollOption_checked .mx_StyledRadioButton_checked input[type="radio"]:checked + div div {
                visibility: hidden;
            }

/* options not actionable in these states */

.mx_PollOption_checked,
.mx_PollOption_ended {
    pointer-events: none;
}

.mx_PollOption_popularityBackground {
    width: 100%;
    height: 8px;
    margin-right: 12px;
    border-radius: 8px;
    background-color: #21262c;
    background-color: var(--system, #21262c);
    margin-top: 8px;
}

.mx_PollOption_popularityBackground .mx_PollOption_popularityAmount {
        width: 0%;
        height: 8px;
        border-radius: 8px;
        background-color: #6f7882;
        background-color: var(--quaternary-content, #6f7882);
    }

/*
Copyright 2024 New Vector Ltd.
Copyright 2024 The Matrix.org Foundation C.I.C.
Copyright 2019 New Vector Ltd

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

/*
 * These used to live in General User Settings. These components are horribly duplicative
 * but share the same styles. For now I'm putting them here so I can renamed the general
 * tab sensibly and before I can refactor these components.
 */

.mx_AddRemoveThreepids_existing {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
}

.mx_AddRemoveThreepids_existing_address,
.mx_AddRemoveThreepids_existing_promptText {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    margin-right: 10px;
}

.mx_AddRemoveThreepids_existing_button {
    margin-left: 5px;
}

.mx_EmailAddressesPhoneNumbers_verify {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
}

.mx_EmailAddressesPhoneNumbers_existing_button {
    -webkit-box-pack: right;
        -ms-flex-pack: right;
            justify-content: right;
}

.mx_EmailAddressesPhoneNumbers_verify_instructions {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
}

/*
Copyright 2024 New Vector Ltd.
Copyright 2022 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_CurrentDeviceSection_deviceDetails {
    /* align with text of session tile */
    margin-left: 56px;
}

/*
Copyright 2024 New Vector Ltd.
Copyright 2022 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_DeviceDetailHeading {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
}

.mx_DeviceDetailHeading_renameCta {
    -ms-flex-negative: 0;
        flex-shrink: 0;
}

.mx_DeviceDetailHeading_renameForm {
    display: grid;
    grid-gap: 16px;
    -webkit-box-pack: left;
        -ms-flex-pack: left;
            justify-content: left;
    grid-template-columns: 100%;
}

.mx_DeviceDetailHeading_renameFormButtons {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    gap: 8px;
}

.mx_DeviceDetailHeading_renameFormButtons .mx_Spinner {
        width: auto;
        -webkit-box-flex: 0;
            -ms-flex-positive: 0;
                flex-grow: 0;
    }

.mx_DeviceDetailHeading_renameFormInput {
    /* override field styles */
    margin: 0 0 4px 0 !important;
}

.mx_DeviceDetailHeading_renameFormHeading {
    margin: 0;
}

.mx_DeviceDetailHeading_renameFormError {
    color: #ff5b55;
    color: var(--alert, #ff5b55);
    padding-right: 4px;
    display: block;
}

/*
Copyright 2024 New Vector Ltd.
Copyright 2022 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_DeviceDetails {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;

    margin-top: 16px;
    padding: 24px;
    border-radius: 8px;
    border: 1px solid #6f7882;
    border: 1px solid var(--quinary-content, #6f7882);
}

.mx_DeviceDetails_section {
    padding-bottom: 20px;
    margin-bottom: 20px;
    border-bottom: 1px solid #6f7882;
    border-bottom: 1px solid var(--quinary-content, #6f7882);

    display: grid;
    grid-gap: 24px;
    -webkit-box-pack: left;
        -ms-flex-pack: left;
            justify-content: left;
    grid-template-columns: 100%;
}

.mx_DeviceDetails_section:last-child {
        padding-bottom: 0;
        border-bottom: 0;
        margin-bottom: 0;
    }

.mx_DeviceDetails_sectionHeading {
    margin: 0;
}

.mx_DeviceDetails_sectionHeading .mx_DeviceDetails_sectionSubheading {
        display: block;
        font-size: 0.75rem;
        color: #edf3ff;
        color: var(--secondary-content, #edf3ff);
        line-height: 0.875rem;
        margin-top: 4px;
    }

.mx_DeviceDetails_metadataTable {
    font: var(--cpd-font-body-sm-regular);
    color: #edf3ff;
    color: var(--secondary-content, #edf3ff);

    width: 100%;

    border-spacing: 0;
}

.mx_DeviceDetails_metadataTable th {
        text-transform: uppercase;
        font-weight: normal;
        text-align: left;
    }

.mx_DeviceDetails_metadataTable td {
        padding-top: 8px;
    }

.mx_DeviceDetails_metadataTable .mxDeviceDetails_metadataLabel {
        width: 160px;
    }

.mx_DeviceDetails_metadataTable .mxDeviceDetails_metadataValue {
        color: var(--timeline-text-color);
    }

.mx_DeviceDetails_signOutButtonContent {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 4px;
}

.mx_DeviceDetails_pushNotifications {
    display: block;
}

.mx_DeviceDetails_pushNotifications .mx_ToggleSwitch {
        float: right;
    }

/*
Copyright 2024 New Vector Ltd.
Copyright 2022 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_DeviceExpandDetailsButton {
    height: 32px;
    width: 32px;
    background: transparent;

    border-radius: 4px;
    color: var(--icon-button-color, var(--cpd-color-icon-tertiary));

    --icon-transform: rotate(-90deg);
}

.mx_DeviceExpandDetailsButton:hover {
        background: #6f7882;
        background: var(--quinary-content, #6f7882);
    }

.mx_DeviceExpandDetailsButton.mx_DeviceExpandDetailsButton_expanded {
    --icon-transform: rotate(0deg);

    background: #21262c;

    background: var(--system, #21262c);
}

.mx_DeviceExpandDetailsButton.mx_DeviceExpandDetailsButton_expanded:hover {
        background: #6f7882;
        background: var(--quinary-content, #6f7882);
    }

.mx_DeviceExpandDetailsButton_icon {
    height: 24px;
    width: 24px;

    -webkit-transition: all 0.3s;

    transition: all 0.3s;
    -webkit-transform: var(--icon-transform);
            transform: var(--icon-transform);
    -webkit-transform-origin: center;
            transform-origin: center;
}

/*
Copyright 2024 New Vector Ltd.
Copyright 2022 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_DeviceSecurityCard {
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;

    padding: 16px;

    border: 1px solid #6f7882;

    border: 1px solid var(--quinary-content, #6f7882);
    border-radius: 8px;
}

.mx_DeviceSecurityCard_icon {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 40px;
            flex: 0 0 40px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    margin-right: 16px;
    border-radius: 8px;

    height: 40px;
    width: 40px;

    color: var(--icon-color);
    background-color: var(--background-color);
}

.mx_DeviceSecurityCard_icon.Verified {
        --icon-color: #0dbd8b;
        --background-color: var(--cpd-color-green-300);
    }

.mx_DeviceSecurityCard_icon.Unverified {
        --icon-color: #ff5b55;
        --background-color: var(--cpd-color-red-300);
    }

.mx_DeviceSecurityCard_icon.Inactive {
        --icon-color: var(--secondary-content, #edf3ff);
        --background-color: var(--panels, var(--cpd-color-gray-600));
    }

.mx_DeviceSecurityCard_content {
    -webkit-box-flex: 1;
        -ms-flex: 1 1;
            flex: 1 1;
}

.mx_DeviceSecurityCard_heading {
    margin: 0 0 4px 0;
}

.mx_DeviceSecurityCard_description {
    margin: 0;
    font: var(--cpd-font-body-sm-regular);
    color: #edf3ff;
    color: var(--secondary-content, #edf3ff);
}

.mx_DeviceSecurityCard_actions {
    margin-top: 16px;
}

/*
Copyright 2024 New Vector Ltd.
Copyright 2022 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_DeviceTile {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    width: 100%;
}

.mx_DeviceTile_interactive {
    cursor: pointer;
}

.mx_DeviceTile_info {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 0px;
            flex: 1 1 0;
}

.mx_DeviceTile_metadata {
    margin-top: 4px;
    font: var(--cpd-font-body-sm-regular);
    color: #edf3ff;
    color: var(--secondary-content, #edf3ff);
}

.mx_DeviceTile_inactiveIcon {
    height: 14px;
    margin-right: 8px;
    vertical-align: middle;
}

.mx_DeviceTile_actions {
    display: grid;
    grid-gap: 8px;
    grid-auto-flow: column;
    margin-left: 8px;
}

/*
Copyright 2024 New Vector Ltd.
Copyright 2022 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_DeviceTypeIcon {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    position: relative;
    margin-right: 8px;
    /* creates space for verification icon to overlap */
    padding: 0 8px 8px 0;
}

.mx_DeviceTypeIcon_deviceIconWrapper {
    --background-color: var(--panels, var(--cpd-color-gray-600));
    --icon-color: var(--secondary-content, #edf3ff);

    height: 40px;
    width: 40px;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;

    border: 8px solid var(--background-color);
    border-radius: 50%;
    color: #edf3ff;
    color: var(--secondary-content, #edf3ff);
    color: var(--icon-color);
    background-color: var(--background-color);
}

.mx_DeviceTypeIcon_selected .mx_DeviceTypeIcon_deviceIconWrapper {
    --background-color: var(--timeline-text-color);
    --icon-color: var(--timeline-background-color);
}

.mx_DeviceTypeIcon_deviceIcon {
    height: 24px;
    width: 24px;
}

.mx_DeviceTypeIcon_verificationIcon {
    position: absolute;
    bottom: 0;
    right: 0;
    height: 24px;
    width: 24px;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    padding: 4px;

    border: 1px solid #6f7882;

    border: 1px solid var(--quinary-content, #6f7882);
    border-radius: 50%;
    background-color: var(--timeline-background-color);

    color: var(--v-icon-color);
}

.mx_DeviceTypeIcon_verificationIcon.verified {
        --v-icon-color: #0dbd8b;
    }

.mx_DeviceTypeIcon_verificationIcon.unverified {
        --v-icon-color: #ff5b55;
    }

/*
Copyright 2024 New Vector Ltd.
Copyright 2022 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_FilteredDeviceList .mx_Dropdown {
        -webkit-box-flex: 1;
            -ms-flex: 1 0 80px;
                flex: 1 0 80px;
    }

.mx_FilteredDeviceList_list {
    list-style-type: none;
    display: grid;
    grid-gap: 16px;
    margin: 0;
    padding: 0 16px;
}

.mx_FilteredDeviceList_listItem {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
}

.mx_FilteredDeviceList_securityCard {
    margin-bottom: 32px;
}

.mx_FilteredDeviceList_noResults {
    width: 100%;
    text-align: center;
    margin-bottom: 32px;
}

.mx_FilteredDeviceList_headerButton {
    -ms-flex-negative: 0;
        flex-shrink: 0;
    /* override inline button styling */
    display: -webkit-box !important;
    display: -ms-flexbox !important;
    display: flex !important;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    gap: 8px;
}

.mx_FilteredDeviceList_deviceDetails {
    /* align with text of session tile */
    margin-left: 88px;
}

/*
Copyright 2024 New Vector Ltd.
Copyright 2022 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_FilteredDeviceListHeader {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    gap: 16px;

    width: 100%;
    height: 48px;
    padding: 0 16px;
    margin-bottom: 32px;

    background-color: var(--panels, var(--cpd-color-gray-600));
    border-radius: 8px;
    color: #edf3ff;
    color: var(--secondary-content, #edf3ff);
}

/* Higher specificity selector to override the flex-start value */

.mx_FilteredDeviceListHeader .mx_AccessibleButton.mx_AccessibleButton_hasKind {
        -ms-flex-item-align: center;
            align-self: center;
    }

.mx_FilteredDeviceListHeader_label {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 100%;
            flex: 1 1 100%;
}

/*
Copyright 2024 New Vector Ltd.
Copyright 2022 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_SecurityRecommendations_spacing {
    height: 16px;
}

/*
Copyright 2024 New Vector Ltd.
Copyright 2022 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_SelectableDeviceTile {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    width: 100%;
}

.mx_SelectableDeviceTile_checkbox {
    -webkit-box-flex: 1;
        -ms-flex: 1 0;
            flex: 1 0;
}

.mx_SelectableDeviceTile_checkbox .mx_Checkbox_background + div {
        -webkit-box-flex: 1;
            -ms-flex: 1 0;
                flex: 1 0;
        /* override more specific selector */
        margin-left: 16px !important;
    }

/*
Copyright 2024 New Vector Ltd.
Copyright 2022 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_SettingsSubsection {
    width: 100%;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
}

.mx_SettingsSubsection.mx_SettingsSubsection_newUi {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column;
        gap: var(--cpd-space-6x);
    }

.mx_SettingsSubsection *[role="separator"] {
        /**
         * The gap between subsections is 32px and inside the subsection is 24px.
         * The separator separates the subsections, so it should have the same gap as the subsections.
         * We add 12px and the separator spacing to the top margin to make the separator visually centered between the subsections.
         */
        margin-top: calc(var(--cpd-space-3x) + var(--cpd-separator-spacing));
    }

.mx_SettingsSubsection_description {
    margin-top: 8px;
}

.mx_SettingsSubsection_text {
    width: 100%;
    -webkit-box-sizing: inherit;
            box-sizing: inherit;
    color: #edf3ff;
    color: var(--secondary-content, #edf3ff);
}

.mx_SettingsSubsection_content {
    width: 100%;
    display: grid;
    grid-gap: 8px;
    /* setting minwidth 0 makes columns definitely sized fixing horizontal overflow */
    grid-template-columns: minmax(0, 1fr);
    justify-items: flex-start;
    margin-top: 24px;
}

.mx_SettingsSubsection_content summary {
        color: #0dbd8b;
        color: var(--accent-color, #0dbd8b);
    }

.mx_SettingsSubsection_content details[open] summary {
            margin-bottom: 8px;
        }

.mx_SettingsSubsection_content.mx_SettingsSubsection_contentStretch {
        justify-items: stretch;
    }

.mx_SettingsSubsection_content.mx_SettingsSubsection_noHeading {
        margin-top: 0;
    }

.mx_SettingsSubsection_content.mx_SettingsSubsection_content_newUi {
        gap: var(--cpd-space-6x);
        margin-top: 0;
    }

.mx_SettingsSubsection_content .mx_SettingsSubsection_dropdown {
        min-width: 360px;
    }

/*
Copyright 2024 New Vector Ltd.
Copyright 2022 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_SettingsSubsectionHeading {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;

    gap: 8px;
}

.mx_SettingsSubsectionHeading_heading {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 100%;
            flex: 1 1 100%;
}

/*
Copyright 2024 New Vector Ltd.
Copyright 2022 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_QuickThemeSwitcher {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
}

.mx_QuickThemeSwitcher .mx_Dropdown {
        min-width: 100px;
        margin-left: auto;
        height: -webkit-min-content;
        height: -moz-min-content;
        height: min-content;
    }

.mx_QuickThemeSwitcher .mx_Dropdown_menu {
        max-height: 70px;
    }

.mx_QuickThemeSwitcher_heading {
    font-weight: var(--cpd-font-weight-semibold);
    font-size: 0.75rem;
    line-height: 0.9375rem;
    color: #edf3ff;
    color: var(--secondary-content, #edf3ff);
    text-transform: uppercase;
    display: inline-block;
    margin: 0;
}

/*
Copyright 2024 New Vector Ltd.
Copyright 2022 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_Caption {
    font: var(--cpd-font-body-sm-regular);
    color: #edf3ff;
    color: var(--secondary-content, #edf3ff);
}

.mx_Caption.mx_Caption_error {
        color: #ff5b55;
        color: var(--alert, #ff5b55);
    }

/*
Copyright 2024 New Vector Ltd.
Copyright 2023 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_Box--flex {
    -webkit-box-flex: initial;
        -ms-flex: initial;
            flex: initial;
    -webkit-box-flex: var(--mx-box-flex, unset);
        -ms-flex: var(--mx-box-flex, unset);
            flex: var(--mx-box-flex, unset);
}

.mx_Box--shrink {
    -ms-flex-negative: initial;
        flex-shrink: initial;
    -ms-flex-negative: var(--mx-box-shrink, unset);
        flex-shrink: var(--mx-box-shrink, unset);
}

.mx_Box--grow {
    -webkit-box-flex: initial;
        -ms-flex-positive: initial;
            flex-grow: initial;
    flex-grow: var(--mx-box-grow, unset);
}

/*
Copyright 2024 New Vector Ltd.
Copyright 2023 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_Flex {
    display: inline;
    display: initial;
    display: var(--mx-flex-display, unset);
    -webkit-box-orient: initial;
    -webkit-box-direction: initial;
        -ms-flex-direction: initial;
            flex-direction: initial;
    flex-direction: var(--mx-flex-direction, unset);
    -webkit-box-align: initial;
        -ms-flex-align: initial;
            align-items: initial;
    -webkit-box-align: var(--mx-flex-align, unset);
        -ms-flex-align: var(--mx-flex-align, unset);
            align-items: var(--mx-flex-align, unset);
    -webkit-box-pack: initial;
        -ms-flex-pack: initial;
            justify-content: initial;
    -webkit-box-pack: var(--mx-flex-justify, unset);
        -ms-flex-pack: var(--mx-flex-justify, unset);
            justify-content: var(--mx-flex-justify, unset);
    gap: initial;
    gap: var(--mx-flex-gap, unset);
}

/*
Copyright 2024 New Vector Ltd.
Copyright 2022 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

/*
 * Compound icon

 * {@link https://www.figma.com/file/X4XTH9iS2KGJ2wFKDqkyed}
 */

.mx_Icon {
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
}

.mx_Icon_accent {
    color: #0dbd8b;
    color: var(--accent-color, #0dbd8b);
}

.mx_Icon_bg-accent-light {
    background-color: var(--accent-color-300);
}

.mx_Icon_alert {
    color: #ff5b55;
    color: var(--alert, #ff5b55);
}

.mx_Icon_circle-40 {
    border-radius: 20px;
    -webkit-box-flex: 0;
        -ms-flex: 0 0 40px;
            flex: 0 0 40px;
    height: 40px;
    padding: 0 12px;
    width: 40px;
}

.mx_Icon_8 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 8px;
            flex: 0 0 8px;
    height: 8px;
    width: 8px;
}

.mx_Icon_10 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 10px;
            flex: 0 0 10px;
    height: 10px;
    width: 10px;
}

.mx_Icon_12 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 12px;
            flex: 0 0 12px;
    height: 12px;
    width: 12px;
}

.mx_Icon_16 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 16px;
            flex: 0 0 16px;
    height: 16px;
    width: 16px;
}

.mx_Icon_24 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 24px;
            flex: 0 0 24px;
    height: 24px;
    width: 24px;
}

.mx_Icon_32 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 32px;
            flex: 0 0 32px;
    height: 32px;
    width: 32px;
}

/*
Copyright 2024 New Vector Ltd.
Copyright 2023 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_SuccessDialog {
    text-align: center;
}

.mx_SuccessDialog .mx_Icon {
        margin-bottom: 16px;
    }

.mx_SuccessDialog .mx_Dialog_header {
        margin: 0 0 16px;
        padding: 0;
    }

.mx_SuccessDialog .mx_Dialog_title {
        margin: 0;
    }

.mx_SuccessDialog .mx_Dialog_content {
        color: #edf3ff;
        color: var(--secondary-content, #edf3ff);
        margin: 0 0 40px;
    }

.mx_SuccessDialog .mx_Dialog_buttons .mx_Dialog_buttons_row {
            -webkit-box-pack: center;
                -ms-flex-pack: center;
                    justify-content: center;
        }

.mx_SuccessDialog .mx_Dialog_buttons .mx_Dialog_buttons_row button.mx_Dialog_primary {
                height: 48px;
                min-width: 328px;
            }

/*
Copyright 2018-2024 New Vector Ltd.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

/* make any scrollbar grey and thin */

html {
    scrollbar-color: rgba(255, 255, 255, 0.2) transparent;
}

/* scrollbar-width is not inherited (but -color is, why?!), */

/* so declare it on every element */

* {
    scrollbar-width: thin;
}

::-webkit-scrollbar {
    width: 6px;
    height: 6px;
}

::-webkit-scrollbar-thumb {
    border-radius: 3px;
    background-color: rgba(255, 255, 255, 0.2);
}

/* make auto-hide scrollbars not transparent again on hover */

.mx_AutoHideScrollbar:hover {
    scrollbar-color: rgba(255, 255, 255, 0.2) transparent;
}

.mx_AutoHideScrollbar:hover::-webkit-scrollbar-thumb {
        background-color: rgba(255, 255, 255, 0.2);
    }

/* make scrollbars transparent for autohide scrollbars */

.mx_AutoHideScrollbar {
    overflow-x: hidden;
    overflow-y: auto;
    overflow-y: overlay; /* where supported */
    -ms-overflow-style: -ms-autohiding-scrollbar;
}

.mx_AutoHideScrollbar::-webkit-scrollbar {
        background-color: transparent;
    }

.mx_AutoHideScrollbar::-webkit-scrollbar-thumb {
        background-color: transparent;
    }

.mx_AutoHideScrollbar {

    scrollbar-color: transparent transparent;
}

/*
Copyright 2024 New Vector Ltd.
Copyright 2022 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_AutocompleteInput {
    position: relative;
}

.mx_AutocompleteInput_search_icon {
    margin-left: 8px;
    fill: #edf3ff;
    fill: var(--secondary-content, #edf3ff);
}

.mx_AutocompleteInput_editor {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    overflow-x: hidden;
    overflow-y: auto;
    border: 1px solid #e7e7e7;
    border-radius: 4px;
    -webkit-transition: border-color 0.25s;
    transition: border-color 0.25s;
}

.mx_AutocompleteInput_editor > input {
        -webkit-box-flex: 1;
            -ms-flex: 1;
                flex: 1;
        min-width: 40%;
        resize: none;
        /* `!important` is required to bypass global input styles. */
        margin: 0 !important;
        padding: 8px 9px;
        border: none !important;
        color: var(--timeline-text-color) !important;
        font-weight: normal !important;
    }

.mx_AutocompleteInput_editor > input::-webkit-input-placeholder {
            color: var(--timeline-text-color) !important;
            font-weight: normal !important;
        }

.mx_AutocompleteInput_editor > input::-moz-placeholder {
            color: var(--timeline-text-color) !important;
            font-weight: normal !important;
        }

.mx_AutocompleteInput_editor > input:-ms-input-placeholder {
            color: var(--timeline-text-color) !important;
            font-weight: normal !important;
        }

.mx_AutocompleteInput_editor > input::-ms-input-placeholder {
            color: var(--timeline-text-color) !important;
            font-weight: normal !important;
        }

.mx_AutocompleteInput_editor > input::placeholder {
            color: var(--timeline-text-color) !important;
            font-weight: normal !important;
        }

.mx_AutocompleteInput_editor--focused {
    border-color: #0086e6;
    border-color: var(--links, #0086e6);
}

.mx_AutocompleteInput_editor--has-suggestions {
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 0;
}

.mx_AutocompleteInput_editor_selection {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin-left: 8px;
}

.mx_AutocompleteInput_editor_selection_pill {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    border-radius: 12px;
    padding-left: 8px;
    padding-right: 8px;
    background-color: var(--cpd-color-text-decorative-1);
    color: #ffffff;
    font-size: 0.75rem;
}

.mx_AutocompleteInput_editor_selection_remove_button svg {
    vertical-align: middle;
}

.mx_AutocompleteInput_matches {
    position: absolute;
    left: 0;
    right: 0;
    background-color: var(--timeline-background-color);
    border: 1px solid #0086e6;
    border: 1px solid var(--links, #0086e6);
    border-top-color: #e7e7e7;
    border-bottom-left-radius: 4px;
    border-bottom-right-radius: 4px;
    z-index: 1000;
}

.mx_AutocompleteInput_suggestion {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    padding: 8px;
    cursor: pointer;
}

.mx_AutocompleteInput_suggestion > * {
        -webkit-user-select: none;
           -moz-user-select: none;
            -ms-user-select: none;
                user-select: none;
    }

.mx_AutocompleteInput_suggestion:hover {
        background-color: #6f7882;
        background-color: var(--quinary-content, #6f7882);
        border-bottom-left-radius: 4px;
        border-bottom-right-radius: 4px;
    }

.mx_AutocompleteInput_suggestion--selected {
    background-color: #6f7882;
    background-color: var(--quinary-content, #6f7882);
}

.mx_AutocompleteInput_suggestion--selected:last-child {
        border-bottom-left-radius: 4px;
        border-bottom-right-radius: 4px;
    }

.mx_AutocompleteInput_suggestion_title {
    margin-right: 8px;
}

.mx_AutocompleteInput_suggestion_description {
    color: #edf3ff;
    color: var(--secondary-content, #edf3ff);
    font-size: 0.75rem;
}

/*
Copyright 2021-2024 New Vector Ltd.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_BackdropPanel {
    position: absolute;
    left: 0;
    top: 0;
    height: 100vh;
    width: 100%;
    overflow: hidden;
    -webkit-filter: blur(var(--lp-background-blur));
            filter: blur(var(--lp-background-blur));
    /* Force a new layer for the backdropPanel so it's better hardware supported */
    -webkit-transform: translateZ(0);
            transform: translateZ(0);
}

.mx_BackdropPanel--image {
    position: absolute;
    top: 0;
    left: 0;
    min-height: 100%;
    z-index: 0;
    pointer-events: none;
    overflow: hidden;
    -webkit-user-select: none;
       -moz-user-select: none;
        -ms-user-select: none;
            user-select: none;
}

.mx_CompatibilityPage {
    width: 100%;
    height: 100%;
    background-color: #e55;
}

.mx_CompatibilityPage_box {
    position: absolute;
    inset: 0;
    margin: auto;
    width: 500px;
    height: 300px;
    border: 1px solid;
    padding: 10px;
    background-color: #fcc;
}

/*
Copyright 2024 New Vector Ltd.
Copyright 2019 The Matrix.org Foundation C.I.C.
Copyright 2015, 2016 OpenMarket Ltd

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_ContextualMenu_wrapper {
    position: fixed;
    z-index: 5000;
}

.mx_ContextualMenu_background {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    opacity: 1;
}

.mx_ContextualMenu {
    border-radius: 12px;
    -webkit-box-shadow: 0px 4px 24px rgba(0, 0, 0, 0.1);
            box-shadow: 0px 4px 24px rgba(0, 0, 0, 0.1);
    background-color: var(--cpd-color-bg-canvas-default);
    border: var(--cpd-border-width-1) solid var(--cpd-color-border-interactive-secondary);
    color: var(--timeline-text-color);
    position: absolute;
    z-index: 5001;
    width: -webkit-max-content;
    width: -moz-max-content;
    width: max-content;
}

.mx_ContextualMenu_right {
    right: 16px;
}

.mx_ContextualMenu.mx_ContextualMenu_withChevron_right {
    right: 8px;
}

.mx_ContextualMenu_chevron_right {
    position: absolute;
    right: -8px;
    top: 0px;
    width: 0;
    height: 0;
    border-top: 8px solid transparent;
    border-left: 8px solid var(--timeline-background-color);
    border-bottom: 8px solid transparent;
}

.mx_ContextualMenu_left {
    left: 0;
}

.mx_ContextualMenu.mx_ContextualMenu_withChevron_left {
    left: 8px;
}

.mx_ContextualMenu_chevron_left {
    position: absolute;
    left: -8px;
    top: 0px;
    width: 0;
    height: 0;
    border-top: 8px solid transparent;
    border-right: 8px solid var(--timeline-background-color);
    border-bottom: 8px solid transparent;
}

.mx_ContextualMenu_top {
    top: 0;
}

.mx_ContextualMenu.mx_ContextualMenu_withChevron_top {
    top: 8px;
}

.mx_ContextualMenu_chevron_top {
    position: absolute;
    left: 0px;
    top: -8px;
    width: 0;
    height: 0;
    border-left: 8px solid transparent;
    border-bottom: 8px solid var(--timeline-background-color);
    border-right: 8px solid transparent;
}

.mx_ContextualMenu_bottom {
    bottom: 0;
}

.mx_ContextualMenu.mx_ContextualMenu_withChevron_bottom {
    bottom: 8px;
}

.mx_ContextualMenu_chevron_bottom {
    position: absolute;
    left: 0px;
    bottom: -8px;
    width: 0;
    height: 0;
    border-left: 8px solid transparent;
    border-top: 8px solid var(--timeline-background-color);
    border-right: 8px solid transparent;
}

.mx_ContextualMenu_rightAligned {
    -webkit-transform: translateX(-100%);
            transform: translateX(-100%);
}

.mx_ContextualMenu_bottomAligned {
    -webkit-transform: translateY(-100%);
            transform: translateY(-100%);
}

/*
Copyright 2024 New Vector Ltd.
Copyright 2022 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_ErrorMessage {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    color: #ff5b55;
    color: var(--alert, #ff5b55);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    font-size: 0.75rem;
    gap: 8px;
    line-height: 1.2em;
    min-height: 2.4em;
}

/*
Copyright 2024 New Vector Ltd.
Copyright 2015, 2016 OpenMarket Ltd

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

@-webkit-keyframes mx_FileDropTarget_animation {
    from {
        opacity: 0;
    }
    to {
        opacity: 0.95;
    }
}

@keyframes mx_FileDropTarget_animation {
    from {
        opacity: 0;
    }
    to {
        opacity: 0.95;
    }
}

.mx_FileDropTarget {
    min-width: 0;
    width: 100%;
    height: 100%;

    font-size: 1.125rem;
    text-align: center;

    pointer-events: none;

    background-color: var(--timeline-background-color);
    opacity: 0.95;

    position: absolute;
    z-index: 3000;

    display: -webkit-box;

    display: -ms-flexbox;

    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;

    -webkit-animation: mx_FileDropTarget_animation;

            animation: mx_FileDropTarget_animation;
    -webkit-animation-duration: 0.5s;
            animation-duration: 0.5s;
}

@-webkit-keyframes mx_FileDropTarget_image_animation {
    from {
        -webkit-transform: scaleX(0);
                transform: scaleX(0);
    }
    to {
        -webkit-transform: scaleX(1);
                transform: scaleX(1);
    }
}

@keyframes mx_FileDropTarget_image_animation {
    from {
        -webkit-transform: scaleX(0);
                transform: scaleX(0);
    }
    to {
        -webkit-transform: scaleX(1);
                transform: scaleX(1);
    }
}

.mx_FileDropTarget_image {
    width: 32px;
    -webkit-animation: mx_FileDropTarget_image_animation;
            animation: mx_FileDropTarget_image_animation;
    -webkit-animation-duration: 0.5s;
            animation-duration: 0.5s;
    margin-bottom: 16px;
}

/*
Copyright 2024 New Vector Ltd.
Copyright 2016 OpenMarket Ltd

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_FilePanel {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
    -webkit-box-flex: 1;
        -ms-flex: 1 1 0px;
            flex: 1 1 0;
    overflow-y: auto;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;

    /* FIXME: rather than having EventTile's default CSS be for MessagePanel,
   we should make EventTile a base CSS class and customise it specifically
   for usage in {Message,File,Notification}Panel. */
}

.mx_FilePanel .mx_RoomView_messageListWrapper {
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
            -ms-flex-direction: row;
                flex-direction: row;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        -webkit-box-pack: center;
            -ms-flex-pack: center;
                justify-content: center;
    }

.mx_FilePanel .mx_RoomView_MessageList {
        width: 100%;
        gap: var(--cpd-space-6x);
    }

/* Overrides for the attachment body tiles */

.mx_FilePanel .mx_EventTile {
        word-break: break-word;
        padding-top: 0;
    }

.mx_FilePanel .mx_EventTile + .mx_EventTile {
            border-top: 1px solid var(--cpd-color-gray-400);
            padding-top: var(--cpd-space-6x);
        }

.mx_FilePanel .mx_EventTile .mx_EventTile_line {
            -webkit-padding-start: 0;
                    padding-inline-start: 0;
        }

.mx_FilePanel .mx_EventTile .mx_MFileBody_download {
            margin-top: var(--cpd-space-4x);
        }

/* anchor link as wrapper */

.mx_FilePanel .mx_EventTile .mx_EventTile_senderDetailsLink {
            text-decoration: none;
            margin-bottom: var(--cpd-space-1x);
            display: block;
        }

.mx_FilePanel .mx_EventTile .mx_EventTile_senderDetailsLink .mx_EventTile_senderDetails {
                display: -webkit-box;
                display: -ms-flexbox;
                display: flex;
                margin-top: -2px;
                gap: var(--cpd-space-2x);
                -webkit-box-align: center;
                    -ms-flex-align: center;
                        align-items: center;
            }

.mx_FilePanel .mx_EventTile .mx_EventTile_senderDetailsLink .mx_EventTile_senderDetails .mx_DisambiguatedProfile {
                    color: #a1b2d1; /* for ellipsis. Color of displayName and mxid is inherited */
                }

.mx_FilePanel .mx_EventTile .mx_EventTile_senderDetailsLink .mx_EventTile_senderDetails .mx_MessageTimestamp {
                    margin-left: auto;
                    font: var(--cpd-font-body-xs-regular);
                    color: var(--cpd-color-text-secondary);
                }

.mx_FilePanel .mx_EventTile_line {
        -webkit-margin-end: 0;
                margin-inline-end: 0;
        -webkit-padding-start: 0;
                padding-inline-start: 0;
    }

/*
Copyright 2024 New Vector Ltd.
Copyright 2022 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_GenericDropdownMenu_button {
    padding: 3px 4px 3px 8px;
    border-radius: 4px;
    line-height: 1.5;
    -webkit-user-select: none;
       -moz-user-select: none;
        -ms-user-select: none;
            user-select: none;
    font-size: 0.75rem;
    color: #edf3ff;
    color: var(--secondary-content, #edf3ff);
}

.mx_GenericDropdownMenu_button:hover,
.mx_GenericDropdownMenu_button[aria-expanded="true"] {
    background: #6f7882;
    background: var(--quinary-content, #6f7882);
}

.mx_GenericDropdownMenu_button::before {
    content: "";
    width: 18px;
    height: 18px;
    background: currentColor;
    -webkit-mask-image: url(../../icons/chevron-down.3774773.svg);
            mask-image: url(../../icons/chevron-down.3774773.svg);
    -webkit-mask-size: 100%;
            mask-size: 100%;
    -webkit-mask-repeat: no-repeat;
            mask-repeat: no-repeat;
    float: right;
}

.mx_ContextualMenu_wrapper.mx_GenericDropdownMenu_wrapper .mx_ContextualMenu {
        position: static;
        position: initial;

        font-size: 0.75rem;
        color: #edf3ff;
        color: var(--secondary-content, #edf3ff);
        padding-top: 10px;
        padding-bottom: 10px;

        border: 1px solid #6f7882;

        border: 1px solid var(--quinary-content, #6f7882);
        -webkit-box-shadow: 0 1px 3px rgba(23, 25, 28, 0.05);
                box-shadow: 0 1px 3px rgba(23, 25, 28, 0.05);
    }

.mx_ContextualMenu_wrapper.mx_GenericDropdownMenu_wrapper .mx_ContextualMenu_chevron_top {
        left: auto;
        right: 22px;
        border-bottom-color: #6f7882;
        border-bottom-color: var(--quinary-content, #6f7882);
    }

.mx_ContextualMenu_wrapper.mx_GenericDropdownMenu_wrapper .mx_ContextualMenu_chevron_top::after {
            content: "";
            border: inherit;
            border-bottom-color: var(--timeline-background-color);
            position: absolute;
            top: 1px;
            left: -8px;
        }

.mx_ContextualMenu_wrapper.mx_GenericDropdownMenu_wrapper .mx_GenericDropdownMenu_divider {
        display: block;
        height: 0;
        margin-left: 4px;
        margin-right: 19px;
        border-top: 1px solid #6f7882;
        border-top: 1px solid var(--quinary-content, #6f7882);
    }

.mx_ContextualMenu_wrapper.mx_GenericDropdownMenu_wrapper .mx_GenericDropdownMenu_Option {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-flex: 1;
            -ms-flex-positive: 1;
                flex-grow: 1;
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
            -ms-flex-direction: row;
                flex-direction: row;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        padding: 10px 20px 10px 30px;
        position: relative;
    }

.mx_ContextualMenu_wrapper.mx_GenericDropdownMenu_wrapper .mx_GenericDropdownMenu_Option > .mx_GenericDropdownMenu_Option--label {
            display: -webkit-box;
            display: -ms-flexbox;
            display: flex;
            -webkit-box-orient: vertical;
            -webkit-box-direction: normal;
                -ms-flex-direction: column;
                    flex-direction: column;
            -webkit-box-flex: 1;
                -ms-flex-positive: 1;
                    flex-grow: 1;

            margin: 0;
        }

.mx_ContextualMenu_wrapper.mx_GenericDropdownMenu_wrapper .mx_GenericDropdownMenu_Option > .mx_GenericDropdownMenu_Option--label span:first-child {
                color: var(--timeline-text-color);
                font-weight: var(--cpd-font-weight-semibold);
            }

.mx_ContextualMenu_wrapper.mx_GenericDropdownMenu_wrapper .mx_GenericDropdownMenu_Option.mx_GenericDropdownMenu_Option--header > .mx_GenericDropdownMenu_Option--label span:first-child {
            font-size: 0.9375rem;
        }

.mx_ContextualMenu_wrapper.mx_GenericDropdownMenu_wrapper .mx_GenericDropdownMenu_Option.mx_GenericDropdownMenu_Option--item:hover {
                background-color: #343a46;
                background-color: var(--menu-selected-color, #343a46);
            }

.mx_ContextualMenu_wrapper.mx_GenericDropdownMenu_wrapper .mx_GenericDropdownMenu_Option.mx_GenericDropdownMenu_Option--item[aria-checked="true"]::before {
                content: "";
                width: 16px;
                height: 16px;
                margin-left: -22px;
                margin-right: 6px;
                -webkit-mask-image: url(../../icons/check.3fc654f.svg);
                        mask-image: url(../../icons/check.3fc654f.svg);
                -webkit-mask-size: 100%;
                        mask-size: 100%;
                -webkit-mask-repeat: no-repeat;
                        mask-repeat: no-repeat;
                background-color: var(--timeline-text-color);
                display: inline-block;
                vertical-align: middle;
            }

/*
Copyright 2019-2024 New Vector Ltd.
Copyright 2017 Vector Creations Ltd
Copyright 2016 OpenMarket Ltd

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_HomePage {
    max-width: 960px;
    width: 100%;
    height: 100%;
    margin-left: auto;
    margin-right: auto;
}

.mx_HomePage_default {
    text-align: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
}

.mx_HomePage_default .mx_HomePage_default_wrapper {
        margin: auto;
    }

.mx_HomePage_default img {
        height: 48px;
    }

.mx_HomePage_default h1 {
        font-weight: var(--cpd-font-weight-semibold);
        font-size: 2rem;
        line-height: 1.375;
        margin-bottom: 4px;
    }

.mx_HomePage_default h2 {
        margin-top: 4px;
        font-weight: var(--cpd-font-weight-semibold);
        font-size: 1.125rem;
        line-height: 1.5625rem;
        color: #a1b2d1;
    }

.mx_HomePage_default .mx_MiniAvatarUploader {
        margin: 0 auto;
    }

.mx_HomePage_default .mx_HomePage_default_buttons {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        margin: 60px auto 0;
        width: -webkit-fit-content;
        width: -moz-fit-content;
        width: fit-content;
    }

.mx_HomePage_default .mx_HomePage_default_buttons .mx_AccessibleButton {
            padding: 73px 8px 15px; /* top: 20px top padding + 40px icon + 13px margin */

            width: 160px;
            min-height: 132px;
            margin: 20px;
            position: relative;
            display: inline-block;
            border-radius: 8px;
            vertical-align: top;
            word-break: break-word;
            -webkit-box-sizing: border-box;
                    box-sizing: border-box;

            font-weight: var(--cpd-font-weight-semibold);
            font-size: 0.9375rem;
            line-height: 1.25rem;
            color: #fff; /* on all themes */
            background-color: #0dbd8b;
            background-color: var(--accent-color, #0dbd8b);
        }

.mx_HomePage_default .mx_HomePage_default_buttons .mx_AccessibleButton::before {
                top: 20px;
                left: 60px; /* (160px-40px)/2 */
                width: 40px;
                height: 40px;

                content: "";
                position: absolute;
                background-color: #fff; /* on all themes */
                -webkit-mask-repeat: no-repeat;
                        mask-repeat: no-repeat;
                -webkit-mask-size: contain;
                        mask-size: contain;
            }

.mx_HomePage_default .mx_HomePage_default_buttons .mx_AccessibleButton.mx_HomePage_button_sendDm::before {
                -webkit-mask-image: url(../../img/element-icons/feedback.0bc9353.svg);
                        mask-image: url(../../img/element-icons/feedback.0bc9353.svg);
            }

.mx_HomePage_default .mx_HomePage_default_buttons .mx_AccessibleButton.mx_HomePage_button_explore::before {
                -webkit-mask-image: url(../../img/element-icons/roomlist/explore.6738ed6.svg);
                        mask-image: url(../../img/element-icons/roomlist/explore.6738ed6.svg);
            }

.mx_HomePage_default .mx_HomePage_default_buttons .mx_AccessibleButton.mx_HomePage_button_createGroup::before {
                -webkit-mask-image: url(../../img/element-icons/group-members.d86d751.svg);
                        mask-image: url(../../img/element-icons/group-members.d86d751.svg);
            }

/*
Copyright 2024 New Vector Ltd.
Copyright 2022 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_LargeLoader {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    height: 100%;
}

.mx_LargeLoader .mx_Spinner {
        -webkit-box-flex: initial;
            -ms-flex: initial;
                flex: initial;
        height: auto;
        margin-bottom: 32px;
        margin-top: 33vh;
    }

.mx_LargeLoader .mx_LargeLoader_text {
        font-size: 24px;
        font-weight: var(--cpd-font-weight-semibold);
        padding: 0 16px;
        position: relative;
        text-align: center;
    }

/*
Copyright 2024 New Vector Ltd.
Copyright 2020 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_MatrixChat--with-avatar .mx_LeftPanel,
    .mx_MatrixChat--with-avatar .mx_LeftPanel .mx_LeftPanel_roomListContainer {
        background-color: transparent;
    }

.mx_LeftPanel_outerWrapper {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    max-width: 50%;
    position: relative;

    /* Contain the amount of layers rendered by constraining what actually needs re-layering via css */
    contain: layout paint;
}

.mx_LeftPanel_wrapper,
.mx_LeftPanel {
    --collapsedWidth: 68px;
}

.mx_LeftPanel_wrapper {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    height: 100%; /* ensure space panel is still scrollable with an outer wrapper */
}

.mx_LeftPanel_wrapper .mx_LeftPanel_wrapper--user {
        background-color: var(--roomlist-background-color);
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        overflow: hidden;
        position: relative;
    }

.mx_LeftPanel_wrapper .mx_LeftPanel_wrapper--user[data-collapsed] {
            max-width: var(--collapsedWidth);
        }

.mx_LeftPanel {
    background-color: var(--roomlist-background-color);

    /* Create a row-based flexbox for the space panel and the room list */
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    contain: content;
    position: relative;
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    overflow: hidden;

    /* Note: The 'room list' in this context is actually everything that isn't the tag */
}

/* panel, such as the menu options, breadcrumbs, filtering, etc */

.mx_LeftPanel .mx_LeftPanel_roomListContainer {
        background-color: var(--roomlist-background-color);
        -webkit-box-flex: 1;
            -ms-flex: 1 0 0px;
                flex: 1 0 0;
        min-width: 0;
        /* Create another flexbox (this time a column) for the room list components */
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column;
    }

.mx_LeftPanel .mx_LeftPanel_roomListContainer .mx_LeftPanel_userHeader {
            /* 12px top, 12px sides, 20px bottom (using 13px bottom to account
             * for internal whitespace in the breadcrumbs)
             */
            padding: 12px;
            -ms-flex-negative: 0;
                flex-shrink: 0; /* to convince safari's layout engine the flexbox is fine */

            /* Create another flexbox column for the rows to stack within */
            display: -webkit-box;
            display: -ms-flexbox;
            display: flex;
            -webkit-box-orient: vertical;
            -webkit-box-direction: normal;
                -ms-flex-direction: column;
                    flex-direction: column;
        }

.mx_LeftPanel .mx_LeftPanel_roomListContainer .mx_LeftPanel_breadcrumbsContainer {
            overflow-y: hidden;
            overflow-x: scroll;
            margin: 12px 12px 0 12px;
            -webkit-box-flex: 0;
                -ms-flex: 0 0 auto;
                    flex: 0 0 auto;
            /* Create yet another flexbox, this time within the row, to ensure items stay */
            /* aligned correctly. This is also a row-based flexbox. */
            display: -webkit-box;
            display: -ms-flexbox;
            display: flex;
            -webkit-box-align: center;
                -ms-flex-align: center;
                    align-items: center;
            contain: content;
        }

.mx_LeftPanel .mx_LeftPanel_roomListContainer .mx_LeftPanel_breadcrumbsContainer.mx_IndicatorScrollbar_leftOverflow {
                -webkit-mask-image: -webkit-gradient(linear, left top, right top, from(transparent), color-stop(5%, black));
                -webkit-mask-image: linear-gradient(90deg, transparent, black 5%);
                        mask-image: -webkit-gradient(linear, left top, right top, from(transparent), color-stop(5%, black));
                        mask-image: linear-gradient(90deg, transparent, black 5%);
            }

.mx_LeftPanel .mx_LeftPanel_roomListContainer .mx_LeftPanel_breadcrumbsContainer.mx_IndicatorScrollbar_rightOverflow {
                -webkit-mask-image: -webkit-gradient(linear, left top, right top, from(black), color-stop(95%, black), to(transparent));
                -webkit-mask-image: linear-gradient(90deg, black, black 95%, transparent);
                        mask-image: -webkit-gradient(linear, left top, right top, from(black), color-stop(95%, black), to(transparent));
                        mask-image: linear-gradient(90deg, black, black 95%, transparent);
            }

.mx_LeftPanel .mx_LeftPanel_roomListContainer .mx_LeftPanel_breadcrumbsContainer.mx_IndicatorScrollbar_rightOverflow.mx_IndicatorScrollbar_leftOverflow {
                -webkit-mask-image: -webkit-gradient(linear, left top, right top, from(transparent), color-stop(5%, black), color-stop(95%, black), to(transparent));
                -webkit-mask-image: linear-gradient(90deg, transparent, black 5%, black 95%, transparent);
                        mask-image: -webkit-gradient(linear, left top, right top, from(transparent), color-stop(5%, black), color-stop(95%, black), to(transparent));
                        mask-image: linear-gradient(90deg, transparent, black 5%, black 95%, transparent);
            }

.mx_LeftPanel .mx_LeftPanel_roomListContainer .mx_LeftPanel_filterContainer {
            margin: 0 12px;
            padding: 12px 0 8px;
            border-bottom: 1px solid #6f7882;
            border-bottom: 1px solid var(--quinary-content, #6f7882);

            -ms-flex-negative: 0;

                flex-shrink: 0; /* to convince safari's layout engine the flexbox is fine */

            /* Create a flexbox to organize the inputs */
            display: -webkit-box;
            display: -ms-flexbox;
            display: flex;
            -webkit-box-align: center;
                -ms-flex-align: center;
                    align-items: center;
        }

.mx_LeftPanel .mx_LeftPanel_roomListContainer .mx_LeftPanel_filterContainer + .mx_RoomListHeader {
                margin-top: 12px;
            }

.mx_LeftPanel .mx_LeftPanel_roomListContainer .mx_LeftPanel_filterContainer .mx_LeftPanel_dialPadButton {
                width: 32px;
                height: 32px;
                border-radius: 8px;
                background-color: var(--roomlist-highlights-color);
                position: relative;
                margin-left: 8px;
            }

.mx_LeftPanel .mx_LeftPanel_roomListContainer .mx_LeftPanel_filterContainer .mx_LeftPanel_dialPadButton::before {
                    content: "";
                    position: absolute;
                    top: 8px;
                    left: 8px;
                    width: 16px;
                    height: 16px;
                    -webkit-mask-image: url(../../img/element-icons/call/dialpad.b652586.svg);
                            mask-image: url(../../img/element-icons/call/dialpad.b652586.svg);
                    -webkit-mask-position: center;
                            mask-position: center;
                    -webkit-mask-size: contain;
                            mask-size: contain;
                    -webkit-mask-repeat: no-repeat;
                            mask-repeat: no-repeat;
                    background-color: #edf3ff;
                    background-color: var(--secondary-content, #edf3ff);
                }

.mx_LeftPanel .mx_LeftPanel_roomListContainer .mx_LeftPanel_filterContainer .mx_LeftPanel_exploreButton,
            .mx_LeftPanel .mx_LeftPanel_roomListContainer .mx_LeftPanel_filterContainer .mx_LeftPanel_recentsButton {
                width: 32px;
                height: 32px;
                border-radius: 8px;
                background-color: var(--roomlist-highlights-color);
                position: relative;
                margin-left: 8px;
            }

.mx_LeftPanel .mx_LeftPanel_roomListContainer .mx_LeftPanel_filterContainer .mx_LeftPanel_exploreButton::before, .mx_LeftPanel .mx_LeftPanel_roomListContainer .mx_LeftPanel_filterContainer .mx_LeftPanel_recentsButton::before {
                    content: "";
                    position: absolute;
                    top: 8px;
                    left: 8px;
                    width: 16px;
                    height: 16px;
                    -webkit-mask-position: center;
                            mask-position: center;
                    -webkit-mask-size: contain;
                            mask-size: contain;
                    -webkit-mask-repeat: no-repeat;
                            mask-repeat: no-repeat;
                    background-color: #edf3ff;
                    background-color: var(--secondary-content, #edf3ff);
                }

.mx_LeftPanel .mx_LeftPanel_roomListContainer .mx_LeftPanel_filterContainer .mx_LeftPanel_exploreButton:hover, .mx_LeftPanel .mx_LeftPanel_roomListContainer .mx_LeftPanel_filterContainer .mx_LeftPanel_recentsButton:hover {
                    background-color: #edf3ff;
                    background-color: var(--tertiary-content, #edf3ff);
                }

.mx_LeftPanel .mx_LeftPanel_roomListContainer .mx_LeftPanel_filterContainer .mx_LeftPanel_exploreButton:hover::before, .mx_LeftPanel .mx_LeftPanel_roomListContainer .mx_LeftPanel_filterContainer .mx_LeftPanel_recentsButton:hover::before {
                        background-color: var(--timeline-background-color);
                    }

.mx_LeftPanel .mx_LeftPanel_roomListContainer .mx_LeftPanel_filterContainer .mx_LeftPanel_exploreButton::before {
                -webkit-mask-image: url(../../img/element-icons/roomlist/explore.6738ed6.svg);
                        mask-image: url(../../img/element-icons/roomlist/explore.6738ed6.svg);
            }

.mx_LeftPanel .mx_LeftPanel_roomListContainer .mx_LeftPanel_filterContainer .mx_LeftPanel_recentsButton::before {
                -webkit-mask-image: url(../../icons/time.a5cdced.svg);
                        mask-image: url(../../icons/time.a5cdced.svg);
            }

.mx_LeftPanel .mx_LeftPanel_roomListContainer .mx_RoomListHeader:first-child {
            margin-top: 12px;
        }

.mx_LeftPanel .mx_LeftPanel_roomListContainer .mx_LeftPanel_roomListWrapper {
            /* Make the y-scrollbar more responsive */
            padding-right: 2px;
            overflow: hidden;
            margin-top: 10px; /* so we're not up against the search/filter */
            -webkit-box-flex: 1;
                -ms-flex: 1 0 0px;
                    flex: 1 0 0; /* needed in Safari to properly set flex-basis */
        }

.mx_LeftPanel .mx_LeftPanel_roomListContainer .mx_LeftPanel_roomListWrapper.mx_LeftPanel_roomListWrapper_stickyBottom {
                padding-bottom: 32px;
            }

.mx_LeftPanel .mx_LeftPanel_roomListContainer .mx_LeftPanel_roomListWrapper.mx_LeftPanel_roomListWrapper_stickyTop {
                padding-top: 32px;
            }

.mx_LeftPanel .mx_LeftPanel_roomListContainer .mx_LeftPanel_actualRoomListContainer {
            position: relative; /* for sticky headers */
            height: 100%; /* ensure scrolling still works */
        }

/* These styles override the defaults for the minimized (66px) layout */

.mx_LeftPanel.mx_LeftPanel_minimized {
        -webkit-box-flex: 0;
            -ms-flex-positive: 0;
                flex-grow: 0;
        min-width: 0;
        min-width: initial;
        width: auto !important;
        width: initial !important;
    }

.mx_LeftPanel.mx_LeftPanel_minimized .mx_LeftPanel_roomListContainer {
            width: var(--collapsedWidth);
        }

.mx_LeftPanel.mx_LeftPanel_minimized .mx_LeftPanel_roomListContainer .mx_LeftPanel_userHeader {
                -webkit-box-orient: horizontal;
                -webkit-box-direction: normal;
                    -ms-flex-direction: row;
                        flex-direction: row;
                -webkit-box-pack: center;
                    -ms-flex-pack: center;
                        justify-content: center;
            }

.mx_LeftPanel.mx_LeftPanel_minimized .mx_LeftPanel_roomListContainer .mx_LeftPanel_filterContainer {
                /* Organize the flexbox into a centered column layout */
                -webkit-box-orient: vertical;
                -webkit-box-direction: normal;
                    -ms-flex-direction: column;
                        flex-direction: column;
                -webkit-box-pack: center;
                    -ms-flex-pack: center;
                        justify-content: center;
            }

.mx_LeftPanel.mx_LeftPanel_minimized .mx_LeftPanel_roomListContainer .mx_LeftPanel_filterContainer .mx_LeftPanel_dialPadButton {
                    margin-left: 0;
                    margin-top: 8px;
                    background-color: transparent;
                }

.mx_LeftPanel.mx_LeftPanel_minimized .mx_LeftPanel_roomListContainer .mx_LeftPanel_filterContainer .mx_LeftPanel_exploreButton,
                .mx_LeftPanel.mx_LeftPanel_minimized .mx_LeftPanel_roomListContainer .mx_LeftPanel_filterContainer .mx_LeftPanel_recentsButton {
                    margin-left: 0;
                    margin-top: 8px;
                }

/*
Copyright 2019-2024 New Vector Ltd.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_MainSplit {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    min-width: 0;
    min-height: 0;
    height: 100%;
}

.mx_MainSplit > .mx_RightPanel_ResizeWrapper:hover .mx_ResizeHandle--horizontal::before {
        position: absolute;
        top: 50%;
        left: 50%;
        -webkit-transform: translate(-150%, -50%);
                transform: translate(-150%, -50%);

        height: 64px; /* to match width of the ones on roomlist */
        width: 4px;
        border-radius: 4px;

        content: "";

        background-color: var(--timeline-text-color);
        opacity: 0.8;
    }

/*
Copyright 2024 New Vector Ltd.
Copyright 2015, 2016 OpenMarket Ltd

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_MatrixChat_splash {
    position: relative;
    height: 100%;
}

.mx_MatrixChat_wrapper {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;

    width: 100%;
    height: 100%;
}

.mx_MatrixToolbar {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;

    height: 40px;
}

.mx_MatrixChat {
    position: relative;
    width: 100%;
    height: 100%;

    display: -webkit-box;

    display: -ms-flexbox;

    display: flex;

    -webkit-box-flex: 1;

        -ms-flex: 1;

            flex: 1;
    min-height: 0;
}

/* not the left panel, and not the resize handle, so the roomview and friends */

.mx_MatrixChat > :not(.mx_LeftPanel):not(.mx_SpacePanel):not(.mx_ResizeHandle):not(.mx_LeftPanel_outerWrapper) {
    background-color: var(--timeline-background-color);

    -webkit-box-flex: 1;

        -ms-flex: 1 1 0px;

            flex: 1 1 0;
    min-width: 0;

    /* To fix https://github.com/vector-im/element-web/issues/3298 where Safari
       needed height 100% all the way down to the HomePage. Height does not
       have to be auto, empirically.
    */
    height: 100%;
}

.mx_MatrixChat > .mx_ResizeHandle--horizontal:hover {
    position: relative;
}

.mx_MatrixChat > .mx_ResizeHandle--horizontal:hover::before {
        position: absolute;
        top: 50%;
        left: 50%;
        -webkit-transform: translate(-50%, -50%);
                transform: translate(-50%, -50%);

        height: 64px; /* to match width of the ones on roomlist */
        width: 4px;
        border-radius: 4px;

        content: " ";

        background-color: var(--timeline-text-color);
        opacity: 0.8;
    }

/*
Copyright 2024 New Vector Ltd.
Copyright 2023 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_MessagePanel_myReadMarker {
    height: 0;
    margin: 0;
    padding: 0;
    border: 0;
}

.mx_MessagePanel_myReadMarker hr {
        border-top: solid 1px #0dbd8b;
        border-top: solid 1px var(--accent-color, #0dbd8b);
        border-bottom: solid 1px #0dbd8b;
        border-bottom: solid 1px var(--accent-color, #0dbd8b);
        margin-top: 0;
        position: relative;
        top: -1px;
        z-index: 1;
        will-change: width;
        -webkit-transition:
            width 400ms easeinsine 1s,
            opacity 400ms easeinsine 1s;
        transition:
            width 400ms easeinsine 1s,
            opacity 400ms easeinsine 1s;
        width: 99%;
        opacity: 1;
    }

/*
Copyright 2024 New Vector Ltd.
Copyright 2020 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_NonUrgentToastContainer {
    position: absolute;
    bottom: 30px;
    left: 28px;
    z-index: 101; /* same level as other toasts */
}

.mx_NonUrgentToastContainer .mx_NonUrgentToastContainer_toast {
        padding: 10px 12px;
        border-radius: 8px;
        width: 320px;
        font-size: 0.8125rem;
        margin-top: 8px;

        /* We don't use variables on the colours because we want it to be the same */
        /* in all themes. */
        background-color: #17191c;
        color: #fff;
    }

/*
Copyright 2024 New Vector Ltd.
Copyright 2021 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_QuickSettingsButton {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    border-radius: 8px;
    position: relative;
    margin: 12px auto;
    color: #edf3ff;
    color: var(--secondary-content, #edf3ff);
    min-width: 32px;
    min-height: 32px;
    line-height: 32px;
}

.mx_QuickSettingsButton.expanded {
        margin-left: 20px;
        padding-left: 44px; /* align with toggle collapse button text */
        padding-right: 8px;
    }

.mx_QuickSettingsButton::before {
        content: "";
        position: absolute;
        width: 32px;
        height: 32px;
        left: 0;
        -webkit-mask-image: url(../../icons/settings-solid.5cd4545.svg);
                mask-image: url(../../icons/settings-solid.5cd4545.svg);
        -webkit-mask-repeat: no-repeat;
                mask-repeat: no-repeat;
        -webkit-mask-position: center;
                mask-position: center;
        -webkit-mask-size: 24px;
                mask-size: 24px;
        background: #edf3ff;
        background: var(--secondary-content, #edf3ff);
    }

.mx_QuickSettingsButton:not(.expanded):hover {
        background-color: #6f7882;
        background-color: var(--quaternary-content, #6f7882);
    }

.mx_QuickSettingsButton:not(.expanded):hover::before {
            background-color: var(--timeline-text-color);
        }

.mx_QuickSettingsButton_ContextMenuWrapper .mx_ContextualMenu {
    padding: 16px;
    width: -webkit-max-content;
    width: -moz-max-content;
    width: max-content;
    min-width: 200px;
    contain: unset; /* let the dropdown paint beyond the context menu */
}

.mx_QuickSettingsButton_ContextMenuWrapper .mx_ContextualMenu > div > h2 {
        font-weight: var(--cpd-font-weight-semibold);
        font-size: 0.9375rem;
        line-height: 1.5rem;
        color: var(--cpd-color-text-secondary);
        margin: 0 0 16px;
    }

.mx_QuickSettingsButton_ContextMenuWrapper .mx_ContextualMenu .mx_AccessibleButton_hasKind {
        display: block;
        margin-top: 4px;
    }

.mx_QuickSettingsButton_ContextMenuWrapper .mx_ContextualMenu > div > h4 {
        font-weight: var(--cpd-font-weight-semibold);
        font-size: 0.75rem;
        line-height: 0.9375rem;
        text-transform: uppercase;
        color: var(--cpd-color-text-secondary);
        margin: 20px 0 12px;
    }

.mx_QuickSettingsButton_ContextMenuWrapper .mx_ContextualMenu .mx_QuickSettingsButton_pinToSidebarHeading {
        padding-left: 24px;
        position: relative;
    }

.mx_QuickSettingsButton_ContextMenuWrapper .mx_ContextualMenu .mx_Checkbox {
        margin-bottom: 8px;
    }

.mx_QuickSettingsButton_ContextMenuWrapper .mx_ContextualMenu .mx_QuickSettingsButton_favouritesCheckbox .mx_Checkbox_background + div, .mx_QuickSettingsButton_ContextMenuWrapper .mx_ContextualMenu .mx_QuickSettingsButton_peopleCheckbox .mx_Checkbox_background + div {
            padding-left: 22px;
            position: relative;
            margin-left: 6px;
            font-size: 0.9375rem;
            line-height: 1.5rem;
            color: var(--cpd-color-text-primary);
        }

.mx_QuickSettingsButton_ContextMenuWrapper .mx_ContextualMenu .mx_QuickSettingsButton_moreOptionsButton {
        padding-left: 22px;
        margin-left: 22px;
        font-size: 0.9375rem;
        line-height: 1.5rem;
        color: var(--cpd-color-text-primary);
        position: relative;
        margin-bottom: 16px;
    }

/* TODO remove when all icons have fill=currentColor*/

.mx_QuickSettingsButton_icon * {
        fill: #edf3ff;
        fill: var(--secondary-content, #edf3ff);
    }

.mx_QuickSettingsButton_icon {
    color: #edf3ff;
    color: var(--secondary-content, #edf3ff);
    width: 16px;
    height: 16px;
    position: absolute;
    left: 0;
    top: 50%;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
}

/*
Copyright 2024 New Vector Ltd.
Copyright 2020 The Matrix.org Foundation C.I.C.
Copyright 2015, 2016 OpenMarket Ltd

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_RightPanel {
    overflow-x: hidden;
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    border-left: 1px solid var(--cpd-color-gray-400);
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    height: 100%;
    contain: strict;
    background-color: var(--cpd-color-bg-canvas-default);
}

.mx_RightPanel .mx_RoomView_MessageList {
        padding: 14px 18px; /* top and bottom is 4px smaller to balance with the padding set above */
    }

/** Fixme - factor this out with the main header **/

.mx_RightPanel_threadsButton::before {
    -webkit-mask-image: url(../../icons/threads-solid.6d10574.svg);
            mask-image: url(../../icons/threads-solid.6d10574.svg);
}

.mx_RightPanel_notifsButton::before {
    -webkit-mask-image: url(../../img/element-icons/notifications.988ddb0.svg);
            mask-image: url(../../img/element-icons/notifications.988ddb0.svg);
    -webkit-mask-position: center;
            mask-position: center;
}

.mx_RightPanel_roomSummaryButton::before {
    -webkit-mask-image: url(../../icons/info-solid.cd635a2.svg);
            mask-image: url(../../icons/info-solid.cd635a2.svg);
    -webkit-mask-position: center;
            mask-position: center;
}

.mx_RightPanel_pinnedMessagesButton::before {
        -webkit-mask-image: url(../../img/element-icons/room/pin.c358af7.svg);
                mask-image: url(../../img/element-icons/room/pin.c358af7.svg);
        -webkit-mask-position: center;
                mask-position: center;
    }

.mx_RightPanel_timelineCardButton::before {
        -webkit-mask-image: url(../../img/element-icons/feedback.0bc9353.svg);
                mask-image: url(../../img/element-icons/feedback.0bc9353.svg);
        -webkit-mask-position: center;
                mask-position: center;
    }

.mx_RightPanel .mx_MemberList,
.mx_RightPanel .mx_MemberInfo {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
    -webkit-box-flex: 1;
        -ms-flex: 1 1 0px;
            flex: 1 1 0;
}

.mx_RightPanel .mx_RoomView_messagePanelSpinner {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
    margin: auto;
}

/*
Copyright 2024 New Vector Ltd.
Copyright 2020 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

/* Note: this component expects to be contained within a flexbox */

.mx_RoomSearch {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    min-width: 0;
    border-radius: 8px;
    background-color: var(--roomlist-highlights-color);
    /* keep border thickness consistent to prevent movement */
    border: 1px solid transparent;
    height: 28px;
    padding: 1px;

    /* Create a flexbox for the icons (easier to manage) */
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;

    cursor: pointer;
}

.mx_RoomSearch .mx_RoomSearch_icon {
        width: 20px;
        height: 20px;
        -webkit-mask-image: url(../../icons/search.4bec687.svg);
                mask-image: url(../../icons/search.4bec687.svg);
        -webkit-mask-repeat: no-repeat;
                mask-repeat: no-repeat;
        -webkit-mask-size: contain;
                mask-size: contain;
        background-color: #edf3ff;
        background-color: var(--secondary-content, #edf3ff);
        margin-left: var(--cpd-space-2x);
        -ms-flex-negative: 0;
            flex-shrink: 0;
    }

.mx_RoomSearch .mx_RoomSearch_spotlightTriggerText {
        color: var(--cpd-color-text-secondary);
        -webkit-box-flex: 1;
            -ms-flex: 1;
                flex: 1;
        min-width: 0;
        /* the following rules are to match that of a real input field */
        overflow: hidden;
        margin: 9px;
        font: var(--cpd-font-body-sm-semibold);
    }

.mx_RoomSearch .mx_RoomSearch_shortcutPrompt {
        border-radius: 6px;
        background-color: var(--roomlist-highlights-color);
        padding: 2px 4px;
        -webkit-user-select: none;
           -moz-user-select: none;
            -ms-user-select: none;
                user-select: none;
        font-size: 0.75rem;
        line-height: 0.9375rem;
        font-family: inherit;
        font-weight: var(--cpd-font-weight-semibold);
        color: var(--timeline-text-secondary-color);
        margin-right: 6px;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }

.mx_RoomSearch.mx_RoomSearch_minimized {
        height: 32px;
        min-height: 32px;
        width: 32px;
        -webkit-box-sizing: border-box;
                box-sizing: border-box;
    }

.mx_RoomSearch.mx_RoomSearch_minimized .mx_RoomSearch_icon {
            margin: 0 auto;
            padding: 1px;
            -ms-flex-item-align: center;
                align-self: center;
        }

.mx_RoomSearch.mx_RoomSearch_minimized .mx_RoomSearch_shortcutPrompt {
            display: none;
        }

.mx_RoomSearch:hover {
        background-color: #edf3ff;
        background-color: var(--tertiary-content, #edf3ff);
    }

.mx_RoomSearch:hover .mx_RoomSearch_spotlightTriggerText {
            color: var(--timeline-background-color);
        }

.mx_RoomSearch:hover .mx_RoomSearch_shortcutPrompt {
            background-color: var(--timeline-background-color);
            color: #edf3ff;
            color: var(--secondary-content, #edf3ff);
        }

.mx_RoomSearch:hover .mx_RoomSearch_icon {
            background-color: var(--timeline-background-color);
        }

/*
Copyright 2024 New Vector Ltd.
Copyright 2015, 2016 OpenMarket Ltd

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_RoomStatusBar:not(.mx_RoomStatusBar_unsentMessages) {
    margin-left: 65px;
    min-height: 50px;
}

.mx_RoomStatusBar_typingIndicatorAvatars {
    width: 52px;
    margin-top: -1px;
    text-align: left;
}

.mx_RoomStatusBar_typingIndicatorRemaining {
    display: inline-block;
    color: #acacac;
    background-color: #ddd;
    border: 1px solid var(--timeline-background-color);
    border-radius: 40px;
    width: 24px;
    height: 24px;
    line-height: 1.5rem;
    font-size: 0.8em;
    vertical-align: top;
    text-align: center;
    position: absolute;
}

.mx_RoomStatusBar_scrollDownIndicator {
    cursor: pointer;
    padding-left: 1px;
}

.mx_RoomStatusBar_unreadMessagesBar {
    padding-top: 10px;
    color: #ff5b55;
    color: var(--alert, #ff5b55);
    cursor: pointer;
}

.mx_RoomStatusBar_connectionLostBar {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;

    margin-top: 19px;
    min-height: 58px;
}

.mx_RoomStatusBar_unsentMessages > div[role="alert"] {
        /* cheat some basic alignment */
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        min-height: 70px;
        margin: 12px;
        padding-left: 16px;
        background-color: var(--roomlist-background-color);
        border-radius: 4px;
    }

.mx_RoomStatusBar_unsentMessages .mx_RoomStatusBar_unsentBadge {
        margin-right: 12px;
    }

.mx_RoomStatusBar_unsentMessages .mx_RoomStatusBar_unsentBadge .mx_NotificationBadge {
            /* Override sizing from the default badge */
            width: 24px !important;
            height: 24px !important;
            border-radius: 24px !important;
        }

.mx_RoomStatusBar_unsentMessages .mx_RoomStatusBar_unsentBadge .mx_NotificationBadge .mx_NotificationBadge_count {
                font-size: 1rem !important; /* override default */
            }

.mx_RoomStatusBar_unsentMessages .mx_RoomStatusBar_unsentTitle {
        color: #ff5b55;
        color: var(--alert, #ff5b55);
        font-size: 0.9375rem;
    }

.mx_RoomStatusBar_unsentMessages .mx_RoomStatusBar_unsentDescription {
        font-size: 0.75rem;
    }

.mx_RoomStatusBar_unsentMessages .mx_RoomStatusBar_unsentButtonBar {
        -webkit-box-flex: 1;
            -ms-flex-positive: 1;
                flex-grow: 1;
        text-align: right;
        margin-right: 22px;
        color: #a1b2d1;
    }

.mx_RoomStatusBar_unsentMessages .mx_RoomStatusBar_unsentButtonBar .mx_AccessibleButton {
            padding: 5px 10px;
            padding-left: 30px; /* 18px for the icon, 2px margin to text, 10px regular padding */
            display: inline-block;
            position: relative;
            -webkit-user-select: none;
               -moz-user-select: none;
                -ms-user-select: none;
                    user-select: none;
        }

.mx_RoomStatusBar_unsentMessages .mx_RoomStatusBar_unsentButtonBar .mx_AccessibleButton:nth-child(2) {
                border-left: 1px solid #a1b2d1;
            }

.mx_RoomStatusBar_unsentMessages .mx_RoomStatusBar_unsentButtonBar .mx_AccessibleButton::before {
                content: "";
                position: absolute;
                left: 10px; /* inset for regular button padding */
                background-color: #a1b2d1;
                -webkit-mask-repeat: no-repeat;
                        mask-repeat: no-repeat;
                -webkit-mask-position: center;
                        mask-position: center;
                -webkit-mask-size: contain;
                        mask-size: contain;
                width: 18px;
                height: 18px;
                top: 50%; /* text sizes are dynamic */
                -webkit-transform: translateY(-50%);
                        transform: translateY(-50%);
            }

.mx_RoomStatusBar_unsentMessages .mx_RoomStatusBar_unsentButtonBar .mx_AccessibleButton.mx_RoomStatusBar_unsentCancelAllBtn::before {
                -webkit-mask-image: url(../../icons/delete.eec6a48.svg);
                        mask-image: url(../../icons/delete.eec6a48.svg);
            }

.mx_RoomStatusBar_unsentMessages .mx_RoomStatusBar_unsentButtonBar .mx_AccessibleButton.mx_RoomStatusBar_unsentRetry {
                padding-left: 34px; /* 28px from above, but +6px to account for the wider icon */
            }

.mx_RoomStatusBar_unsentMessages .mx_RoomStatusBar_unsentButtonBar .mx_AccessibleButton.mx_RoomStatusBar_unsentRetry::before {
                    -webkit-mask-image: url(../../icons/restart.648ea8e.svg);
                            mask-image: url(../../icons/restart.648ea8e.svg);
                }

.mx_RoomStatusBar_unsentMessages .mx_RoomStatusBar_unsentButtonBar .mx_InlineSpinner {
            vertical-align: middle;
            margin-right: 5px;
            top: 1px; /* just to help the vertical alignment be slightly better */
        }

.mx_RoomStatusBar_unsentMessages .mx_RoomStatusBar_unsentButtonBar .mx_InlineSpinner + span {
                margin-right: 10px; /* same margin/padding as the rightmost button */
            }

.mx_RoomStatusBar_connectionLostBar svg {
    padding-left: 10px;
    padding-right: 10px;
    vertical-align: middle;
    float: left;
}

.mx_RoomStatusBar_connectionLostBar_title {
    color: #ff5b55;
    color: var(--alert, #ff5b55);
}

.mx_RoomStatusBar_connectionLostBar_desc {
    color: var(--timeline-text-color);
    font-size: 0.8125rem;
    opacity: 0.5;
    padding-bottom: 20px;
}

.mx_RoomStatusBar_resend_link {
    color: var(--timeline-text-color) !important;
    text-decoration: underline !important;
    cursor: pointer;
}

.mx_RoomStatusBar_typingBar {
    height: 50px;
    line-height: 50px;

    color: var(--timeline-text-color);
    opacity: 0.5;
    overflow-y: hidden;
    display: block;
}

.mx_MatrixChat_useCompactLayout .mx_RoomStatusBar:not(.mx_RoomStatusBar_unsentMessages) {
        min-height: 40px;
    }

.mx_MatrixChat_useCompactLayout .mx_RoomStatusBar_indicator {
        margin-top: 10px;
    }

.mx_MatrixChat_useCompactLayout .mx_RoomStatusBar_typingBar {
        height: 40px;
        line-height: 40px;
    }

/*
Copyright 2024 New Vector Ltd.
Copyright 2015, 2016 OpenMarket Ltd

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

:root {
    --RoomView_MessageList-padding: 18px;
}

.mx_RoomView_wrapper {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    position: relative;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    /* Contain the amount of layers rendered by constraining what actually needs re-layering via css */
    contain: strict;
}

.mx_RoomView {
    word-wrap: break-word;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    position: relative;
}

.mx_RoomView .mx_MainSplit {
        -webkit-box-flex: 1;
            -ms-flex: 1 1 0px;
                flex: 1 1 0;
    }

.mx_RoomView .mx_MessageComposer {
        width: 100%;
        -webkit-box-flex: 0;
            -ms-flex: 0 0 auto;
                flex: 0 0 auto;
        margin-right: 2px;
    }

.mx_RoomView_auxPanel_hiddenHighlights {
    border-bottom: 1px solid var(--roomlist-separator-color);
    padding: 10px 26px;
    color: #ff5b55;
    color: var(--alert, #ff5b55);
    cursor: pointer;
}

.mx_RoomView_messagePanel {
    width: 100%;
    overflow-y: auto;
    -webkit-box-flex: 1;
        -ms-flex: 1 1 0px;
            flex: 1 1 0;
    overflow-anchor: none;
}

.mx_RoomView_messagePanelSearchSpinner {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    background-image: url(../../img/typing-indicator-2x.e13c259.gif);
    background-position: center 367px;
    background-size: 25px;
    background-repeat: no-repeat;
    position: relative;
}

.mx_RoomView_messagePanelSearchSpinner::before {
        background-color: var(--timeline-text-secondary-color);
        -webkit-mask: url(../../icons/search.4bec687.svg);
                mask: url(../../icons/search.4bec687.svg);
        -webkit-mask-repeat: no-repeat;
                mask-repeat: no-repeat;
        -webkit-mask-position: center;
                mask-position: center;
        -webkit-mask-size: 50px;
                mask-size: 50px;
        content: "";
        position: absolute;
        top: 286px;
        left: 0;
        right: 0;
        height: 50px;
    }

.mx_RoomView_body {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    min-width: 0;
}

.mx_RoomView_body .mx_RoomView_messagePanel,
    .mx_RoomView_body .mx_RoomView_messagePanelSpinner,
    .mx_RoomView_body .mx_RoomView_messagePanelSearchSpinner {
        -webkit-box-ordinal-group: 3;
            -ms-flex-order: 2;
                order: 2;
    }

.mx_RoomView_body .mx_RoomView_timeline {
        /* offset parent for mx_RoomView_topUnreadMessagesBar  */
        position: relative;
        -webkit-box-flex: 1;
            -ms-flex: 1;
                flex: 1;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column;
        margin-right: calc(8px / 2);
        margin-right: calc(var(--container-gap-width) / 2);
    }

.mx_RoomView_statusArea {
    width: 100%;
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;

    max-height: 0px;
    background-color: var(--timeline-background-color);
    z-index: 1000;
    overflow: hidden;

    -webkit-transition: all 0.2s ease-out;

    transition: all 0.2s ease-out;
}

.mx_RoomView_statusArea_expanded {
    max-height: 100px;
}

.mx_RoomView_statusAreaBox {
    margin: auto;
    min-height: 50px;
}

.mx_RoomView_statusAreaBox_line {
    margin-left: 65px;
    border-top: 1px solid var(--roomlist-separator-color);
    height: 1px;
}

.mx_RoomView_messageListWrapper {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
    position: relative;
}

.mx_RoomView_searchResultsPanel .mx_RoomView_messageListWrapper {
        -webkit-box-pack: start;
            -ms-flex-pack: start;
                justify-content: flex-start;
    }

.mx_RoomView_searchResultsPanel .mx_RoomView_messageListWrapper > .mx_RoomView_MessageList > li > ol {
            list-style-type: none;
        }

.mx_RoomView_searchResultsPanel a {
        text-decoration: none;
        color: inherit;
    }

.mx_RoomView_empty {
    font-size: 0.8125rem;
    padding: 0 24px;
    margin-right: 30px;
    text-align: center;
    margin-bottom: 80px; /* visually center the content (intentional offset) */
}

.mx_RoomView_MessageList {
    list-style-type: none;
    padding: 18px;
    padding: var(--RoomView_MessageList-padding); /* mx_ProfileResizer depends on this value */
    margin: 0;
    /* needed as min-height is set to clientHeight in ScrollPanel
    to prevent shrinking when WhoIsTypingTile is hidden */
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
}

.mx_RoomView_MessageList li {
        clear: both;
    }

.mx_ScrollPanel .mx_RoomView_MessageList {
        position: relative;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column;
        -webkit-box-pack: end;
            -ms-flex-pack: end;
                justify-content: flex-end;

        content-visibility: auto;
        contain-intrinsic-size: 50px;
    }

.mx_RoomView--local .mx_ScrollPanel .mx_RoomView_MessageList {
        -webkit-box-pack: center;
            -ms-flex-pack: center;
                justify-content: center;
    }

.mx_RoomView_inCall .mx_RoomView_statusAreaBox_line {
        margin-top: 2px;
        border: none;
        height: 0px;
    }

.mx_RoomView_inCall .mx_MessageComposer_wrapper {
        border-top: 2px hidden;
        padding-top: 1px;
    }

.mx_MatrixChat_useCompactLayout .mx_RoomView_MessageList {
        margin-bottom: 4px;
    }

.mx_MatrixChat_useCompactLayout .mx_RoomView_MessageList h2 {
            margin-top: 6px;
        }

.mx_MatrixChat_useCompactLayout .mx_RoomView_statusAreaBox {
        min-height: 42px;
    }

/*
Copyright 2024 New Vector Ltd.
Copyright 2015, 2016 OpenMarket Ltd

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_SearchBox {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 0px;
            flex: 1 1 0;
    min-width: 0;
}

.mx_SearchBox.mx_SearchBox_blurred:not(:hover) {
        background-color: transparent;
    }

.mx_SearchBox .mx_SearchBox_closeButton {
        cursor: pointer;
        -webkit-mask-image: url(../../icons/close.dce71fd.svg);
                mask-image: url(../../icons/close.dce71fd.svg);
        -webkit-mask-repeat: no-repeat;
                mask-repeat: no-repeat;
        -webkit-mask-position: center;
                mask-position: center;
        -webkit-mask-size: 16px;
                mask-size: 16px;
        width: 16px;
        height: 16px;
        padding: 9px;
        background-color: var(--cpd-color-icon-secondary);
    }

/*
Copyright 2024 New Vector Ltd.
Copyright 2021 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_SpaceRoomView_landing .mx_AccessibleButton_kind_link {
        font-size: inherit;
    }

.mx_SpaceRoomView_landing .mx_SearchBox {
        margin: 24px 0 16px;
    }

.mx_SpaceRoomView_landing .mx_SpaceHierarchy_noResults {
        text-align: center;
    }

.mx_SpaceRoomView_landing .mx_SpaceHierarchy_noResults > div {
            font-size: 0.9375rem;
            line-height: 1.5rem;
            color: #edf3ff;
            color: var(--secondary-content, #edf3ff);
        }

.mx_SpaceRoomView_landing .mx_SpaceHierarchy_listHeader {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-flow: wrap;
            flex-flow: wrap;
        -webkit-box-pack: justify;
            -ms-flex-pack: justify;
                justify-content: space-between;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        gap: 12px;
        font-size: 0.9375rem;
        line-height: 1.5rem;
        color: var(--timeline-text-color);
        margin-bottom: 12px;
    }

.mx_SpaceRoomView_landing .mx_SpaceHierarchy_listHeader .mx_SpaceHierarchy_listHeader_header {
            grid-column-start: 1;
            font-weight: var(--cpd-font-weight-semibold);
            margin: 0;
        }

.mx_SpaceRoomView_landing .mx_SpaceHierarchy_listHeader .mx_SpaceHierarchy_listHeader_buttons {
            grid-column-start: 2;
            display: -webkit-box;
            display: -ms-flexbox;
            display: flex;
            -ms-flex-flow: wrap;
                flex-flow: wrap;
            gap: 12px;
            min-height: 32px;
        }

.mx_SpaceRoomView_landing .mx_SpaceHierarchy_listHeader .mx_SpaceHierarchy_listHeader_buttons .mx_AccessibleButton {
                padding: 4px 12px;
                font-weight: normal;
            }

.mx_SpaceRoomView_landing .mx_SpaceHierarchy_listHeader .mx_AccessibleButton_kind_danger_outline,
        .mx_SpaceRoomView_landing .mx_SpaceHierarchy_listHeader .mx_AccessibleButton_kind_primary_outline {
            padding: 3px 12px; /* to account for the 1px border */
        }

.mx_SpaceRoomView_landing .mx_SpaceHierarchy_error {
        position: relative;
        font-weight: var(--cpd-font-weight-semibold);
        color: #ff5b55;
        color: var(--alert, #ff5b55);
        font-size: 0.9375rem;
        line-height: 1.125rem;
        margin: 20px auto 12px;
        padding-left: 24px;
        width: -webkit-max-content;
        width: -moz-max-content;
        width: max-content;
    }

.mx_SpaceRoomView_landing .mx_SpaceHierarchy_error::before {
            content: "";
            position: absolute;
            height: 16px;
            width: 16px;
            left: 0;
            background-image: url(../../icons/error.90f55f3.svg);
            background-size: cover;
            background-repeat: no-repeat;
        }

.mx_SpaceRoomView_landing .mx_SpaceHierarchy_roomCount > h3 {
            display: inline;
            font-weight: var(--cpd-font-weight-semibold);
            font-size: 1.125rem;
            line-height: 1.375rem;
            color: var(--timeline-text-color);
        }

.mx_SpaceRoomView_landing .mx_SpaceHierarchy_roomCount > span {
            margin-left: 8px;
            font-size: 0.9375rem;
            line-height: 1.5rem;
            color: #edf3ff;
            color: var(--secondary-content, #edf3ff);
        }

.mx_SpaceRoomView_landing .mx_SpaceHierarchy_subspace_toggle {
        position: absolute;
        left: -1px;
        top: 10px;
        height: 16px;
        width: 16px;
        border-radius: 4px;
        background-color: var(--timeline-background-color);
    }

.mx_SpaceRoomView_landing .mx_SpaceHierarchy_subspace_toggle::before {
            content: "";
            position: absolute;
            top: 0;
            left: 0;
            height: 16px;
            width: 16px;
            -webkit-mask-repeat: no-repeat;
                    mask-repeat: no-repeat;
            -webkit-mask-position: center;
                    mask-position: center;
            background-color: #edf3ff;
            background-color: var(--tertiary-content, #edf3ff);
            -webkit-mask-size: 16px;
                    mask-size: 16px;
            -webkit-transform: rotate(270deg);
                    transform: rotate(270deg);
            -webkit-mask-image: url(../../icons/chevron-down.3774773.svg);
                    mask-image: url(../../icons/chevron-down.3774773.svg);
        }

.mx_SpaceRoomView_landing .mx_SpaceHierarchy_subspace_toggle.mx_SpaceHierarchy_subspace_toggle_shown::before {
            -webkit-transform: rotate(0deg);
                    transform: rotate(0deg);
        }

.mx_SpaceRoomView_landing .mx_SpaceHierarchy_subspace_children {
        position: relative;
        padding-left: 12px;
    }

.mx_SpaceRoomView_landing .mx_SpaceHierarchy_list {
        list-style: none;
        padding: 0;
        margin: 0;
    }

.mx_SpaceRoomView_landing .mx_SpaceHierarchy_list li.mx_SpaceHierarchy_roomTileWrapper {
            list-style: none;
        }

.mx_SpaceRoomView_landing .mx_SpaceHierarchy_list li.mx_SpaceHierarchy_roomTileWrapper .mx_SpaceHierarchy_roomTile {
                position: relative;
                padding: 8px 16px;
                border-radius: 8px;
                -webkit-box-sizing: border-box;
                        box-sizing: border-box;

                display: -webkit-box;

                display: -ms-flexbox;

                display: flex;
                -ms-flex-wrap: wrap;
                    flex-wrap: wrap;
                gap: 6px 12px;
            }

.mx_SpaceRoomView_landing .mx_SpaceHierarchy_list li.mx_SpaceHierarchy_roomTileWrapper .mx_SpaceHierarchy_roomTile .mx_SpaceHierarchy_roomTile_item {
                    font-weight: var(--cpd-font-weight-semibold);
                    font-size: 0.9375rem;
                    line-height: 1.125rem;
                    display: grid;
                    grid-template-columns: 20px auto;
                    grid-gap: 6px 8px;
                    gap: 6px 8px;
                    -webkit-box-align: center;
                        -ms-flex-align: center;
                            align-items: center;
                    -webkit-box-flex: 1;
                        -ms-flex: 1;
                            flex: 1; /* wrap action buttons */
                }

.mx_SpaceRoomView_landing .mx_SpaceHierarchy_list li.mx_SpaceHierarchy_roomTileWrapper .mx_SpaceHierarchy_roomTile .mx_SpaceHierarchy_roomTile_item .mx_SpaceHierarchy_roomTile_avatar {
                        grid-row: 1;
                        grid-column: 1;
                    }

.mx_SpaceRoomView_landing .mx_SpaceHierarchy_list li.mx_SpaceHierarchy_roomTileWrapper .mx_SpaceHierarchy_roomTile .mx_SpaceHierarchy_roomTile_item .mx_SpaceHierarchy_roomTile_name {
                        grid-row: 1;
                        grid-column: 2;
                    }

.mx_SpaceRoomView_landing .mx_SpaceHierarchy_list li.mx_SpaceHierarchy_roomTileWrapper .mx_SpaceHierarchy_roomTile .mx_SpaceHierarchy_roomTile_item .mx_SpaceHierarchy_roomTile_name .mx_InfoTooltip,
                        .mx_SpaceRoomView_landing .mx_SpaceHierarchy_list li.mx_SpaceHierarchy_roomTileWrapper .mx_SpaceHierarchy_roomTile .mx_SpaceHierarchy_roomTile_item .mx_SpaceHierarchy_roomTile_name .mx_SpaceHierarchy_roomTile_joined {
                            margin-left: 12px;
                            color: #edf3ff;
                            color: var(--tertiary-content, #edf3ff);
                            font-size: 0.75rem;
                            line-height: 0.9375rem;
                        }

.mx_SpaceRoomView_landing .mx_SpaceHierarchy_list li.mx_SpaceHierarchy_roomTileWrapper .mx_SpaceHierarchy_roomTile .mx_SpaceHierarchy_roomTile_item .mx_SpaceHierarchy_roomTile_name .mx_InfoTooltip .mx_InfoTooltip_icon, .mx_SpaceRoomView_landing .mx_SpaceHierarchy_list li.mx_SpaceHierarchy_roomTileWrapper .mx_SpaceHierarchy_roomTile .mx_SpaceHierarchy_roomTile_item .mx_SpaceHierarchy_roomTile_name .mx_SpaceHierarchy_roomTile_joined .mx_InfoTooltip_icon {
                                margin-right: 4px;
                                position: relative;
                                vertical-align: text-top;
                            }

.mx_SpaceRoomView_landing .mx_SpaceHierarchy_list li.mx_SpaceHierarchy_roomTileWrapper .mx_SpaceHierarchy_roomTile .mx_SpaceHierarchy_roomTile_item .mx_SpaceHierarchy_roomTile_name .mx_InfoTooltip .mx_InfoTooltip_icon::before, .mx_SpaceRoomView_landing .mx_SpaceHierarchy_list li.mx_SpaceHierarchy_roomTileWrapper .mx_SpaceHierarchy_roomTile .mx_SpaceHierarchy_roomTile_item .mx_SpaceHierarchy_roomTile_name .mx_SpaceHierarchy_roomTile_joined .mx_InfoTooltip_icon::before {
                                    position: absolute;
                                    top: 0;
                                    left: 0;
                                }

.mx_SpaceRoomView_landing .mx_SpaceHierarchy_list li.mx_SpaceHierarchy_roomTileWrapper .mx_SpaceHierarchy_roomTile .mx_SpaceHierarchy_roomTile_item .mx_SpaceHierarchy_roomTile_name .mx_InfoTooltip {
                            display: inline-block;
                        }

.mx_SpaceRoomView_landing .mx_SpaceHierarchy_list li.mx_SpaceHierarchy_roomTileWrapper .mx_SpaceHierarchy_roomTile .mx_SpaceHierarchy_roomTile_item .mx_SpaceHierarchy_roomTile_name .mx_SpaceHierarchy_roomTile_joined {
                            display: inline;
                            position: relative;
                            padding-left: 16px;
                        }

.mx_SpaceRoomView_landing .mx_SpaceHierarchy_list li.mx_SpaceHierarchy_roomTileWrapper .mx_SpaceHierarchy_roomTile .mx_SpaceHierarchy_roomTile_item .mx_SpaceHierarchy_roomTile_name .mx_SpaceHierarchy_roomTile_joined::before {
                                content: "";
                                width: 20px;
                                height: 20px;
                                top: -2px;
                                left: -4px;
                                position: absolute;
                                -webkit-mask-position: center;
                                        mask-position: center;
                                -webkit-mask-size: contain;
                                        mask-size: contain;
                                -webkit-mask-repeat: no-repeat;
                                        mask-repeat: no-repeat;
                                background-color: #0dbd8b;
                                background-color: var(--accent-color, #0dbd8b);
                                -webkit-mask-image: url(../../icons/check.3fc654f.svg);
                                        mask-image: url(../../icons/check.3fc654f.svg);
                            }

.mx_SpaceRoomView_landing .mx_SpaceHierarchy_list li.mx_SpaceHierarchy_roomTileWrapper .mx_SpaceHierarchy_roomTile .mx_SpaceHierarchy_roomTile_item .mx_SpaceHierarchy_roomTile_info {
                        grid-row: 2;
                        grid-column: 2;
                        font: var(--cpd-font-body-md-regular);
                        font-weight: normal;
                        font-weight: initial;
                        line-height: 1.125rem;
                        color: #edf3ff;
                        color: var(--secondary-content, #edf3ff);
                        display: -webkit-box;
                        -webkit-box-orient: vertical;
                        -webkit-line-clamp: 2;
                        overflow: hidden;
                    }

.mx_SpaceRoomView_landing .mx_SpaceHierarchy_list li.mx_SpaceHierarchy_roomTileWrapper .mx_SpaceHierarchy_roomTile .mx_SpaceHierarchy_actions {
                    display: -webkit-box;
                    display: -ms-flexbox;
                    display: flex;
                    -webkit-box-align: center;
                        -ms-flex-align: center;
                            align-items: center;
                    -webkit-column-gap: 12px;
                       -moz-column-gap: 12px;
                            column-gap: 12px;
                    margin-left: auto;
                }

.mx_SpaceRoomView_landing .mx_SpaceHierarchy_list li.mx_SpaceHierarchy_roomTileWrapper .mx_SpaceHierarchy_roomTile .mx_SpaceHierarchy_actions .mx_AccessibleButton {
                        line-height: 1.5rem;
                        padding: 4px 16px;
                        display: inline-block;
                        visibility: hidden;
                    }

.mx_SpaceRoomView_landing .mx_SpaceHierarchy_list li.mx_SpaceHierarchy_roomTileWrapper .mx_SpaceHierarchy_roomTile .mx_SpaceHierarchy_actions .mx_AccessibleButton_kind_danger_outline,
                    .mx_SpaceRoomView_landing .mx_SpaceHierarchy_list li.mx_SpaceHierarchy_roomTileWrapper .mx_SpaceHierarchy_roomTile .mx_SpaceHierarchy_actions .mx_AccessibleButton_kind_primary_outline {
                        padding: 3px 16px; /* to account for the 1px border */
                    }

.mx_SpaceRoomView_landing .mx_SpaceHierarchy_list li.mx_SpaceHierarchy_roomTileWrapper .mx_SpaceHierarchy_roomTile .mx_SpaceHierarchy_actions .mx_Checkbox {
                        display: -webkit-inline-box;
                        display: -ms-inline-flexbox;
                        display: inline-flex;
                    }

.mx_SpaceRoomView_landing .mx_SpaceHierarchy_list li.mx_SpaceHierarchy_roomTileWrapper .mx_SpaceHierarchy_roomTile .mx_SpaceHierarchy_actions .mx_Checkbox label {
                            width: 16px;
                            height: 16px;
                        }

.mx_SpaceRoomView_landing .mx_SpaceHierarchy_list li.mx_SpaceHierarchy_roomTileWrapper .mx_SpaceHierarchy_roomTile:hover,
                .mx_SpaceRoomView_landing .mx_SpaceHierarchy_list li.mx_SpaceHierarchy_roomTileWrapper .mx_SpaceHierarchy_roomTile:focus-within {
                    background-color: var(--sidebar-color);
                }

.mx_SpaceRoomView_landing .mx_SpaceHierarchy_list li.mx_SpaceHierarchy_roomTileWrapper .mx_SpaceHierarchy_roomTile:hover .mx_AccessibleButton, .mx_SpaceRoomView_landing .mx_SpaceHierarchy_list li.mx_SpaceHierarchy_roomTileWrapper .mx_SpaceHierarchy_roomTile:focus-within .mx_AccessibleButton {
                        visibility: visible;
                    }

.mx_SpaceRoomView_landing .mx_SpaceHierarchy_list li.mx_SpaceHierarchy_roomTileWrapper .mx_SpaceHierarchy_roomTile.mx_SpaceHierarchy_joining .mx_AccessibleButton {
                        visibility: visible;
                        padding: 4px 18px;
                    }

.mx_SpaceRoomView_landing .mx_SpaceHierarchy_roomTile::before, .mx_SpaceRoomView_landing .mx_SpaceHierarchy_subspace_children::before {
            content: "";
            position: absolute;
            background-color: var(--sidebar-color);
            width: 1px;
            height: 100%;
            left: 6px;
            top: 0;
        }

.mx_SpaceRoomView_landing .mx_SpaceHierarchy_actions .mx_SpaceHierarchy_actionsText {
            font-weight: normal;
            font-size: 0.75rem;
            line-height: 0.9375rem;
            color: #edf3ff;
            color: var(--secondary-content, #edf3ff);
        }

.mx_SpaceRoomView_landing > hr {
        border: none;
        height: 1px;
        background-color: rgba(141, 151, 165, 0.2);
        margin: 20px 0;
    }

.mx_SpaceRoomView_landing .mx_SpaceHierarchy_createRoom {
        display: block;
        margin: 16px auto 0;
        width: -webkit-max-content;
        width: -moz-max-content;
        width: max-content;
    }

/*
Copyright 2024 New Vector Ltd.
Copyright 2021 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_SpacePanel {
    --activeBackground-color: var(--roomlist-highlights-color);
    --activeBorder-color: var(--timeline-text-color);
    --activeBorder-transparent-gap: 1px;
    --gutterSize: 14px;
    --height-nested: 24px;
    --height-topLevel: 32px;

    background-color: var(--sidebar-color);
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    padding: 0;
    margin: 0;
    position: relative;
    /* Fix for the blurred avatar-background */
    z-index: 1;

    /* Create another flexbox so the Panel fills the container */
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
}

.mx_SpacePanel.collapsed {
        width: 68px;
    }

.mx_SpacePanel .mx_SpacePanel_toggleCollapse {
        position: absolute;
        width: 18px;
        height: 18px;
        border-radius: 50%;
        background-color: #edf3ff;
        background-color: var(--tertiary-content, #edf3ff);
        top: 19px; /* v-align with avatar */
        right: -8px;
    }

.mx_SpacePanel .mx_SpacePanel_toggleCollapse::before {
            content: "";
            position: absolute;
            width: inherit;
            height: inherit;
            -webkit-mask-position: center;
                    mask-position: center;
            -webkit-mask-size: contain;
                    mask-size: contain;
            -webkit-mask-repeat: no-repeat;
                    mask-repeat: no-repeat;
            background-color: var(--timeline-background-color);
            -webkit-mask-image: url(../../icons/chevron-down.3774773.svg);
                    mask-image: url(../../icons/chevron-down.3774773.svg);
            -webkit-transform: rotate(270deg);
                    transform: rotate(270deg);
        }

.mx_SpacePanel .mx_SpacePanel_toggleCollapse:not(.expanded) {
            opacity: 0;
        }

.mx_SpacePanel .mx_SpacePanel_toggleCollapse:not(.expanded)::before {
                -webkit-mask-position: center 1px;
                        mask-position: center 1px;
            }

.mx_SpacePanel .mx_SpacePanel_toggleCollapse.expanded::before {
            -webkit-transform: rotate(90deg);
                    transform: rotate(90deg);
        }

.mx_SpacePanel:hover .mx_SpacePanel_toggleCollapse {
        opacity: 1;
    }

.mx_SpacePanel ul {
        margin: 0;
        list-style: none;
        padding: 0;
    }

.mx_SpacePanel .mx_SpaceButton_toggleCollapse {
        cursor: pointer;
    }

.mx_SpacePanel .mx_SpaceItem_dragging .mx_SpaceButton_toggleCollapse {
            visibility: hidden;
        }

.mx_SpacePanel .mx_SpaceItem {
        display: -webkit-inline-box;
        display: -ms-inline-flexbox;
        display: inline-flex;
        -ms-flex-flow: wrap;
            flex-flow: wrap;
    }

.mx_SpacePanel .mx_SpaceItem.mx_SpaceItem_narrow {
            -ms-flex-item-align: baseline;
                align-self: baseline;
        }

.mx_SpacePanel .mx_SpaceItem.collapsed > .mx_SpaceButton > .mx_SpaceButton_toggleCollapse {
            padding: 0 10px;
            margin: 0 -10px;
            -webkit-transform: rotate(-90deg);
                    transform: rotate(-90deg);
        }

.mx_SpacePanel .mx_SpaceItem.collapsed > .mx_SpaceTreeLevel {
            display: none;
        }

.mx_SpacePanel .mx_SpaceItem_new {
        position: relative;
    }

.mx_SpacePanel .mx_SpaceItem:not(.hasSubSpaces) > .mx_SpaceButton {
        margin-left: var(--gutterSize);
        min-width: 40px;
    }

.mx_SpacePanel .mx_SpaceButton {
        border-radius: 8px;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        padding: 4px 4px 4px 0;
        width: 100%;
        cursor: pointer;
    }

.mx_SpacePanel .mx_SpaceButton.mx_SpaceButton_active:not(.mx_SpaceButton_narrow) .mx_SpaceButton_selectionWrapper {
                background-color: var(--activeBackground-color);
            }

.mx_SpacePanel .mx_SpaceButton.mx_SpaceButton_active.mx_SpaceButton_narrow .mx_SpaceButton_selectionWrapper {
                padding: var(--activeBorder-transparent-gap);
                border: 3px var(--activeBorder-color) solid;
            }

.mx_SpacePanel .mx_SpaceButton .mx_SpaceButton_selectionWrapper {
            position: relative;
            display: -webkit-box;
            display: -ms-flexbox;
            display: flex;
            -webkit-box-flex: 1;
                -ms-flex: 1;
                    flex: 1;
            -webkit-box-align: center;
                -ms-flex-align: center;
                    align-items: center;
            border-radius: 12px;
            padding: 4px;
            width: calc(100% - 32px);
            min-width: 0;
        }

.mx_SpacePanel .mx_SpaceButton.mx_SpaceButton_narrow .mx_SpaceButton_selectionWrapper {
            -webkit-box-flex: initial;
                -ms-flex: initial;
                    flex: initial;
            width: 32px;
        }

.mx_SpacePanel .mx_SpaceButton .mx_SpaceButton_name {
            -webkit-box-flex: 1;
                -ms-flex: 1;
                    flex: 1;
            margin-left: 8px;
            white-space: nowrap;
            display: block;
            text-overflow: ellipsis;
            overflow: hidden;
            font: var(--cpd-font-body-md-regular);
        }

.mx_SpacePanel .mx_SpaceButton .mx_SpaceButton_toggleCollapse {
            width: var(--gutterSize);
            padding: 10px 0;
            min-width: var(--gutterSize);
            height: 20px;
            -webkit-mask-position: center;
                    mask-position: center;
            -webkit-mask-size: 20px;
                    mask-size: 20px;
            -webkit-mask-repeat: no-repeat;
                    mask-repeat: no-repeat;
            background-color: #edf3ff;
            background-color: var(--tertiary-content, #edf3ff);
            -webkit-mask-image: url(../../icons/chevron-down.3774773.svg);
                    mask-image: url(../../icons/chevron-down.3774773.svg);
        }

.mx_SpacePanel .mx_SpaceButton .mx_SpaceButton_icon {
            width: var(--height-topLevel);
            min-width: var(--height-topLevel);
            height: var(--height-topLevel);
            border-radius: 8px;
            position: relative;
        }

.mx_SpacePanel .mx_SpaceButton .mx_SpaceButton_icon::before {
                position: absolute;
                content: "";
                width: var(--height-topLevel);
                height: var(--height-topLevel);
                top: 0;
                left: 0;
                -webkit-mask-position: center;
                        mask-position: center;
                -webkit-mask-repeat: no-repeat;
                        mask-repeat: no-repeat;
                -webkit-mask-size: 18px;
                        mask-size: 18px;
            }

.mx_SpacePanel .mx_SpaceButton.mx_SpaceButton_home .mx_SpaceButton_icon, .mx_SpacePanel .mx_SpaceButton.mx_SpaceButton_favourites .mx_SpaceButton_icon, .mx_SpacePanel .mx_SpaceButton.mx_SpaceButton_people .mx_SpaceButton_icon, .mx_SpacePanel .mx_SpaceButton.mx_SpaceButton_orphans .mx_SpaceButton_icon, .mx_SpacePanel .mx_SpaceButton.mx_SpaceButton_videoRooms .mx_SpaceButton_icon {
                background-color: var(--roomlist-highlights-color);
            }

.mx_SpacePanel .mx_SpaceButton.mx_SpaceButton_home .mx_SpaceButton_icon::before, .mx_SpacePanel .mx_SpaceButton.mx_SpaceButton_favourites .mx_SpaceButton_icon::before, .mx_SpacePanel .mx_SpaceButton.mx_SpaceButton_people .mx_SpaceButton_icon::before, .mx_SpacePanel .mx_SpaceButton.mx_SpaceButton_orphans .mx_SpaceButton_icon::before, .mx_SpacePanel .mx_SpaceButton.mx_SpaceButton_videoRooms .mx_SpaceButton_icon::before {
                    background-color: #edf3ff;
                    background-color: var(--secondary-content, #edf3ff);
                }

.mx_SpacePanel .mx_SpaceButton.mx_SpaceButton_home .mx_SpaceButton_icon::before {
            -webkit-mask-image: url(../../icons/home-solid.2329ba6.svg);
                    mask-image: url(../../icons/home-solid.2329ba6.svg);
        }

.mx_SpacePanel .mx_SpaceButton.mx_SpaceButton_favourites .mx_SpaceButton_icon::before {
            -webkit-mask-image: url(../../icons/favourite-solid.5199241.svg);
                    mask-image: url(../../icons/favourite-solid.5199241.svg);
        }

.mx_SpacePanel .mx_SpaceButton.mx_SpaceButton_people .mx_SpaceButton_icon::before {
            -webkit-mask-image: url(../../icons/user-profile-solid.c4005c9.svg);
                    mask-image: url(../../icons/user-profile-solid.c4005c9.svg);
        }

.mx_SpacePanel .mx_SpaceButton.mx_SpaceButton_orphans .mx_SpaceButton_icon::before {
            -webkit-mask-image: url(../../img/element-icons/roomlist/hash-circle.221168c.svg);
                    mask-image: url(../../img/element-icons/roomlist/hash-circle.221168c.svg);
        }

.mx_SpacePanel .mx_SpaceButton.mx_SpaceButton_videoRooms .mx_SpaceButton_icon::before {
            -webkit-mask-image: url(../../icons/video-call-solid.90cb901.svg);
                    mask-image: url(../../icons/video-call-solid.90cb901.svg);
        }

.mx_SpacePanel .mx_SpaceButton.mx_SpaceButton_new .mx_SpaceButton_icon::before {
                background-color: var(--timeline-text-color);
                -webkit-mask-image: url(../../icons/plus.a217d01.svg);
                        mask-image: url(../../icons/plus.a217d01.svg);
                -webkit-transition: all 0.2s ease-in-out;
                transition: all 0.2s ease-in-out; /* TODO transition */
            }

.mx_SpacePanel .mx_SpaceButton.mx_SpaceButton_newCancel .mx_SpaceButton_icon::before {
            -webkit-transform: rotate(45deg);
                    transform: rotate(45deg);
        }

.mx_SpacePanel .mx_SpaceButton .mx_SpaceButton_menuButton {
            width: 20px;
            min-width: 20px; /* yay flex */
            height: 20px;
            margin-top: auto;
            margin-bottom: auto;
            display: none;
            position: absolute;
            right: 4px;
        }

.mx_SpacePanel .mx_SpaceButton .mx_SpaceButton_menuButton::before {
                top: 3px;
                left: 2px;
                content: "";
                width: 16px;
                height: 16px;
                position: absolute;
                -webkit-mask-position: center;
                        mask-position: center;
                -webkit-mask-size: contain;
                        mask-size: contain;
                -webkit-mask-repeat: no-repeat;
                        mask-repeat: no-repeat;
                -webkit-mask-image: url(../../icons/overflow-horizontal.103407e.svg);
                        mask-image: url(../../icons/overflow-horizontal.103407e.svg);
                background: var(--timeline-text-color);
            }

.mx_SpacePanel .mx_SpaceTreeLevel {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column;
        max-width: 250px;
        min-width: 0;
        -webkit-box-flex: 1;
            -ms-flex-positive: 1;
                flex-grow: 1;
    }

.mx_SpacePanel .mx_SpaceTreeLevel .mx_SpaceTreeLevel {
            /* Indent subspaces */
            padding-left: 16px;
        }

.mx_SpacePanel .mx_SpaceButton_avatarWrapper {
        position: relative;
        line-height: 0;
    }

.mx_SpacePanel .mx_SpacePanel_badgeContainer {
        /* Create a flexbox to make aligning dot badges easier */
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        position: absolute;
        right: -3px;
        top: -3px;
    }

.mx_SpacePanel .mx_SpacePanel_badgeContainer .mx_NotificationBadge {
            margin: 0 2px; /* centering */
            background-clip: padding-box;
        }

.mx_SpacePanel .mx_SpacePanel_badgeContainer .mx_NotificationBadge_dot {
            /* make the smaller dot occupy the same width for centering */
            margin: 0 -1px 0 0;
            border: 3px solid var(--sidebar-color);
        }

.mx_SpacePanel .mx_SpacePanel_badgeContainer .mx_NotificationBadge_2char,
        .mx_SpacePanel .mx_SpacePanel_badgeContainer .mx_NotificationBadge_3char {
            margin: -5px -5px 0 0;
            border: 2px solid var(--sidebar-color);
        }

.mx_SpacePanel .mx_SpaceButton:hover:not(.mx_SpaceButton_narrow):not(.mx_SpaceButton_invite) .mx_SpaceButton_menuButton, .mx_SpacePanel .mx_SpaceButton:focus-within:not(.mx_SpaceButton_narrow):not(.mx_SpaceButton_invite) .mx_SpaceButton_menuButton, .mx_SpacePanel .mx_SpaceButton_hasMenuOpen:not(.mx_SpaceButton_narrow):not(.mx_SpaceButton_invite) .mx_SpaceButton_menuButton {
            display: block;
        }

.mx_SpacePanel .mx_SpaceItem:not(.mx_SpaceItem_new) .mx_SpaceButton:hover:not(.mx_SpaceButton_narrow):not(.mx_SpaceButton_invite) .mx_SpaceButton_name, .mx_SpacePanel .mx_SpaceItem:not(.mx_SpaceItem_new) .mx_SpaceButton:focus-within:not(.mx_SpaceButton_narrow):not(.mx_SpaceButton_invite) .mx_SpaceButton_name, .mx_SpacePanel .mx_SpaceItem:not(.mx_SpaceItem_new) .mx_SpaceButton_hasMenuOpen:not(.mx_SpaceButton_narrow):not(.mx_SpaceButton_invite) .mx_SpaceButton_name {
                max-width: calc(100% - 56px);
            }

/* root space buttons are bigger and not indented */

.mx_SpacePanel > .mx_AutoHideScrollbar {
        -webkit-box-flex: 1;
            -ms-flex: 1;
                flex: 1;
        padding: 0 0 16px 0;
        scrollbar-gutter: stable;
    }

.mx_SpacePanel > .mx_AutoHideScrollbar > .mx_SpaceButton {
            height: var(--height-topLevel);
        }

.mx_SpacePanel > .mx_AutoHideScrollbar > .mx_SpaceButton.mx_SpaceButton_active::before {
                height: var(--height-topLevel);
            }

.mx_SpacePanel > .mx_AutoHideScrollbar > ul {
            padding-left: 0;
        }

.mx_SpacePanel > .mx_AutoHideScrollbar.mx_IndicatorScrollbar_topOverflow {
            -webkit-mask-image: linear-gradient(to bottom, transparent, black 16px);
                    mask-image: linear-gradient(to bottom, transparent, black 16px);
        }

.mx_SpacePanel > .mx_AutoHideScrollbar.mx_IndicatorScrollbar_bottomOverflow {
            -webkit-mask-image: linear-gradient(
                to top,
                transparent,
                rgba(255, 255, 255, 30%) 4px,
                rgba(255, 255, 255, 55%) 8px,
                rgba(255, 255, 255, 75%) 12px,
                black 16px
            );
                    mask-image: linear-gradient(
                to top,
                transparent,
                rgba(255, 255, 255, 30%) 4px,
                rgba(255, 255, 255, 55%) 8px,
                rgba(255, 255, 255, 75%) 12px,
                black 16px
            );
        }

.mx_SpacePanel > .mx_AutoHideScrollbar.mx_IndicatorScrollbar_topOverflow.mx_IndicatorScrollbar_bottomOverflow {
            /* This stacks two gradients on top of one another, which lets us
               have a fixed pixel offset from both top and bottom for the colour stops.
               Note the top fade is much smaller because the spaces start close to the top,
               so otherwise a large gradient suddenly appears when you scroll down.
             */
            -webkit-mask-image: linear-gradient(to bottom, transparent, black 16px),
                linear-gradient(
                    to top,
                    transparent,
                    rgba(255, 255, 255, 30%) 4px,
                    rgba(255, 255, 255, 55%) 8px,
                    rgba(255, 255, 255, 75%) 12px,
                    black 16px
                );
                    mask-image: linear-gradient(to bottom, transparent, black 16px),
                linear-gradient(
                    to top,
                    transparent,
                    rgba(255, 255, 255, 30%) 4px,
                    rgba(255, 255, 255, 55%) 8px,
                    rgba(255, 255, 255, 75%) 12px,
                    black 16px
                );
            -webkit-mask-position:
                0% 0%,
                0% 100%;
                    mask-position:
                0% 0%,
                0% 100%;
            -webkit-mask-size:
                calc(100% - 10px) 50%,
                calc(100% - 10px) 50%;
                    mask-size:
                calc(100% - 10px) 50%,
                calc(100% - 10px) 50%;
            -webkit-mask-repeat: no-repeat;
                    mask-repeat: no-repeat;
        }

.mx_SpacePanel .mx_UserMenu {
        padding-bottom: 12px;
        border-bottom: 1px solid var(--cpd-color-gray-400);
        margin: 12px 14px 4px 18px;
        width: -webkit-min-content;
        width: -moz-min-content;
        width: min-content;
        max-width: 226px;
    }

/* Display the container and img here as block elements so they don't take
         * up extra vertical space.
         */

.mx_SpacePanel .mx_UserMenu .mx_UserMenu_userAvatar_BaseAvatar {
            display: block;
        }

.mx_SpacePanel_contextMenu {
    max-width: 360px;
}

.mx_SpacePanel_contextMenu .mx_SpacePanel_contextMenu_header {
        margin: 12px 16px 12px;
        font-weight: var(--cpd-font-weight-semibold);
        font-size: 0.9375rem;
        line-height: 1.125rem;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

.mx_SpacePanel_contextMenu .mx_SpacePanel_iconHome::before {
        -webkit-mask-image: url(../../icons/home-solid.2329ba6.svg);
                mask-image: url(../../icons/home-solid.2329ba6.svg);
    }

.mx_SpacePanel_contextMenu .mx_SpacePanel_iconInvite::before {
        -webkit-mask-image: url(../../img/element-icons/room/invite.440bc20.svg);
                mask-image: url(../../img/element-icons/room/invite.440bc20.svg);
    }

.mx_SpacePanel_contextMenu .mx_SpacePanel_iconSettings::before {
        -webkit-mask-image: url(../../icons/settings-solid.5cd4545.svg);
                mask-image: url(../../icons/settings-solid.5cd4545.svg);
    }

.mx_SpacePanel_contextMenu .mx_SpacePanel_iconLeave::before {
        -webkit-mask-image: url(../../icons/leave.ee36f44.svg);
                mask-image: url(../../icons/leave.ee36f44.svg);
    }

.mx_SpacePanel_contextMenu .mx_SpacePanel_iconMembers::before {
        -webkit-mask-image: url(../../icons/user-profile-solid.c4005c9.svg);
                mask-image: url(../../icons/user-profile-solid.c4005c9.svg);
    }

.mx_SpacePanel_contextMenu .mx_SpacePanel_iconPlus::before {
        -webkit-mask-image: url(../../icons/plus.a217d01.svg);
                mask-image: url(../../icons/plus.a217d01.svg);
    }

.mx_SpacePanel_contextMenu .mx_SpacePanel_iconExplore::before {
        -webkit-mask-image: url(../../img/element-icons/roomlist/hash-search.53e3a04.svg);
                mask-image: url(../../img/element-icons/roomlist/hash-search.53e3a04.svg);
    }

.mx_SpacePanel_contextMenu .mx_SpacePanel_iconPreferences::before {
        -webkit-mask-image: url(../../img/element-icons/settings/preference.dd3ae3c.svg);
                mask-image: url(../../img/element-icons/settings/preference.dd3ae3c.svg);
    }

.mx_SpacePanel_contextMenu .mx_SpacePanel_noIcon {
        display: none;
    }

.mx_SpacePanel_contextMenu .mx_SpacePanel_noIcon + .mx_IconizedContextMenu_label {
            padding-left: 5px !important; /* override default iconized label style to align with header */
        }

.mx_SpacePanel_contextMenu .mx_SpacePanel_contextMenu_separatorLabel {
        color: #edf3ff;
        color: var(--tertiary-content, #edf3ff);
        font-size: 0.625rem;
        line-height: 0.75rem;
        font-weight: var(--cpd-font-weight-semibold);
    }

.mx_SpacePanel_sharePublicSpace {
    margin: 0;
}

.mx_SpacePanel_Tooltip_KeyboardShortcut kbd {
        font-family: inherit;
        text-transform: capitalize;
    }

/*
Copyright 2024 New Vector Ltd.
Copyright 2021 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_SpaceRoomView {
    --innerWidth: 428px;

    overflow-y: auto;
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
}

.mx_SpaceRoomView .mx_MainSplit > div:first-child {
        padding: 80px 60px;
        -webkit-box-flex: 1;
            -ms-flex-positive: 1;
                flex-grow: 1;
        max-height: 100%;
        overflow-y: auto;
    }

.mx_SpaceRoomView .mx_MainSplit > div:first-child h1 {
            margin: 0;
            font-size: 1.5rem;
            font-weight: var(--cpd-font-weight-semibold);
            color: var(--timeline-text-color);
            width: -webkit-max-content;
            width: -moz-max-content;
            width: max-content;
        }

.mx_SpaceRoomView .mx_MainSplit > div:first-child .mx_SpaceRoomView_description {
            font-size: 0.9375rem;
            color: #edf3ff;
            color: var(--secondary-content, #edf3ff);
            margin-top: 12px;
            margin-bottom: 24px;
            max-width: var(--innerWidth);
        }

.mx_SpaceRoomView .mx_MainSplit > div:first-child .mx_AddExistingToSpace {
            max-width: var(--innerWidth);
        }

.mx_SpaceRoomView .mx_MainSplit > div:first-child .mx_AddExistingToSpace .mx_AddExistingToSpace_content {
                height: calc(100vh - 360px);
                max-height: 400px;
            }

.mx_SpaceRoomView .mx_MainSplit > div:first-child .mx_SpaceRoomView_buttons {
            display: block;
            margin-top: 44px;
            width: var(--innerWidth);
            text-align: right; /* button alignment right */
        }

.mx_SpaceRoomView .mx_MainSplit > div:first-child .mx_SpaceRoomView_buttons .mx_AccessibleButton_hasKind {
                padding: 8px 22px;
                margin-left: 16px;
            }

.mx_SpaceRoomView .mx_MainSplit > div:first-child .mx_SpaceRoomView_buttons input.mx_AccessibleButton {
                border: none; /* override default styles */
            }

.mx_SpaceRoomView .mx_MainSplit > div:first-child .mx_Field {
            max-width: var(--innerWidth);
        }

.mx_SpaceRoomView .mx_MainSplit > div:first-child .mx_Field + .mx_Field {
                margin-top: 28px;
            }

.mx_SpaceRoomView .mx_MainSplit > div:first-child .mx_SpaceRoomView_errorText {
            font-weight: var(--cpd-font-weight-semibold);
            font-size: 0.75rem;
            line-height: 0.9375rem;
            color: #ff5b55;
            color: var(--alert, #ff5b55);
            margin-bottom: 28px;
        }

.mx_SpaceRoomView .mx_MainSplit > div:first-child .mx_AccessibleButton_disabled {
            cursor: not-allowed;
        }

.mx_SpaceRoomView .mx_SpaceRoomView_landing {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column;
        min-width: 0;
    }

.mx_SpaceRoomView .mx_SpaceRoomView_landing .mx_SpaceRoomView_landing_header {
            display: -webkit-box;
            display: -ms-flexbox;
            display: flex;
            -webkit-box-pack: justify;
                -ms-flex-pack: justify;
                    justify-content: space-between;
        }

.mx_SpaceRoomView .mx_SpaceRoomView_landing .mx_SpaceRoomView_landing_header .mx_BaseAvatar {
                width: 80px;
            }

.mx_SpaceRoomView .mx_SpaceRoomView_landing .mx_SpaceRoomView_landing_name {
            margin: 24px 0 16px;
            font-size: 0.9375rem;
            color: #edf3ff;
            color: var(--secondary-content, #edf3ff);
        }

.mx_SpaceRoomView .mx_SpaceRoomView_landing .mx_SpaceRoomView_landing_name > span {
                display: -webkit-box;
                display: -ms-flexbox;
                display: flex;
                -webkit-box-orient: vertical;
                -webkit-box-direction: normal;
                    -ms-flex-flow: column;
                        flex-flow: column;
                gap: 12px 0;
            }

.mx_SpaceRoomView .mx_SpaceRoomView_landing .mx_SpaceRoomView_landing_name > span h1 {
                    display: inline-block;
                    overflow: hidden;
                    text-overflow: ellipsis;
                    white-space: nowrap;
                    width: 100%;
                }

.mx_SpaceRoomView .mx_SpaceRoomView_landing .mx_SpaceRoomView_landing_name .mx_SpaceRoomView_landing_inviter .mx_BaseAvatar {
                    margin-right: 4px;
                    vertical-align: middle;
                }

.mx_SpaceRoomView .mx_SpaceRoomView_landing .mx_SpaceRoomView_landing_infoBar {
            display: -webkit-box;
            display: -ms-flexbox;
            display: flex;
            -webkit-box-align: center;
                -ms-flex-align: center;
                    align-items: center;
            -webkit-box-pack: justify;
                -ms-flex-pack: justify;
                    justify-content: space-between;
            gap: 12px;
            -ms-flex-wrap: wrap;
                flex-wrap: wrap;
            line-height: 1.5rem;
        }

.mx_SpaceRoomView .mx_SpaceRoomView_landing .mx_SpaceRoomView_landing_infoBar .mx_SpaceRoomView_landing_infoBar_interactive {
                display: -webkit-box;
                display: -ms-flexbox;
                display: flex;
                -ms-flex-wrap: wrap;
                    flex-wrap: wrap;
                -webkit-box-align: center;
                    -ms-flex-align: center;
                        align-items: center;
                gap: 12px 12px;
            }

.mx_SpaceRoomView .mx_SpaceRoomView_landing .mx_SpaceRoomView_landing_infoBar .mx_SpaceRoomView_landing_infoBar_interactive .mx_FacePile {
                    display: inline-block;
                    cursor: pointer;
                }

.mx_SpaceRoomView .mx_SpaceRoomView_landing .mx_SpaceRoomView_landing_infoBar .mx_SpaceRoomView_landing_infoBar_interactive .mx_SpaceRoomView_landing_inviteButton,
                .mx_SpaceRoomView .mx_SpaceRoomView_landing .mx_SpaceRoomView_landing_infoBar .mx_SpaceRoomView_landing_infoBar_interactive .mx_SpaceRoomView_landing_settingsButton {
                    position: relative;
                }

.mx_SpaceRoomView .mx_SpaceRoomView_landing .mx_SpaceRoomView_landing_infoBar .mx_SpaceRoomView_landing_infoBar_interactive .mx_SpaceRoomView_landing_inviteButton::before, .mx_SpaceRoomView .mx_SpaceRoomView_landing .mx_SpaceRoomView_landing_infoBar .mx_SpaceRoomView_landing_infoBar_interactive .mx_SpaceRoomView_landing_settingsButton::before {
                        position: absolute;
                        content: "";
                        -webkit-mask-position: center;
                                mask-position: center;
                        -webkit-mask-repeat: no-repeat;
                                mask-repeat: no-repeat;
                    }

.mx_SpaceRoomView .mx_SpaceRoomView_landing .mx_SpaceRoomView_landing_infoBar .mx_SpaceRoomView_landing_infoBar_interactive .mx_SpaceRoomView_landing_inviteButton {
                    padding: 4px 18px 4px 40px;
                    height: -webkit-min-content;
                    height: -moz-min-content;
                    height: min-content;
                }

.mx_SpaceRoomView .mx_SpaceRoomView_landing .mx_SpaceRoomView_landing_infoBar .mx_SpaceRoomView_landing_infoBar_interactive .mx_SpaceRoomView_landing_inviteButton::before {
                        left: 8px;
                        height: 16px;
                        width: 16px;
                        background: var(--cpd-color-icon-on-solid-primary);
                        -webkit-mask-size: 16px;
                                mask-size: 16px;
                        -webkit-mask-image: url(../../img/element-icons/room/invite.440bc20.svg);
                                mask-image: url(../../img/element-icons/room/invite.440bc20.svg);
                    }

.mx_SpaceRoomView .mx_SpaceRoomView_landing .mx_SpaceRoomView_landing_infoBar .mx_SpaceRoomView_landing_infoBar_interactive .mx_SpaceRoomView_landing_settingsButton {
                    width: 24px;
                    height: 24px;
                }

.mx_SpaceRoomView .mx_SpaceRoomView_landing .mx_SpaceRoomView_landing_infoBar .mx_SpaceRoomView_landing_infoBar_interactive .mx_SpaceRoomView_landing_settingsButton::before {
                        left: 0;
                        top: 0;
                        height: 24px;
                        width: 24px;
                        background: #edf3ff;
                        background: var(--tertiary-content, #edf3ff);
                        -webkit-mask-size: contain;
                                mask-size: contain;
                        -webkit-mask-image: url(../../icons/settings-solid.5cd4545.svg);
                                mask-image: url(../../icons/settings-solid.5cd4545.svg);
                    }

.mx_SpaceRoomView .mx_SpaceRoomView_landing .mx_SpaceRoomView_landing_topic {
            font-size: 0.9375rem;
            margin-top: 12px;
            margin-bottom: 16px;
            white-space: pre-wrap;
            word-wrap: break-word;
        }

.mx_SpaceRoomView .mx_SpaceRoomView_landing .mx_SearchBox {
            margin: 0 0 20px;
            -webkit-box-flex: 0;
                -ms-flex: 0;
                    flex: 0;
        }

.mx_SpaceRoomView .mx_SpaceRoomView_privateScope > .mx_AccessibleButton {
            position: relative;
            padding: 16px 32px 16px 72px;
            width: 432px;
            -webkit-box-sizing: border-box;
                    box-sizing: border-box;
            border-radius: 8px;
            border: 1px solid #e7e7e7;
            font-size: 1.0625rem;
            font-weight: var(--cpd-font-weight-semibold);
            margin: 20px 0;
        }

.mx_SpaceRoomView .mx_SpaceRoomView_privateScope > .mx_AccessibleButton > div {
        margin-top: 4px;
        font-weight: normal;
        font-size: 0.9375rem;
        color: #edf3ff;
        color: var(--secondary-content, #edf3ff);
    }

.mx_SpaceRoomView .mx_SpaceRoomView_privateScope > .mx_AccessibleButton::before {
        position: absolute;
        content: "";
        width: 28px;
        height: 28px;
        top: 50%;
        -webkit-transform: translateY(-50%);
                transform: translateY(-50%);
        left: 22px;
        -webkit-mask-position: center;
                mask-position: center;
        -webkit-mask-repeat: no-repeat;
                mask-repeat: no-repeat;
        -webkit-mask-size: 28px;
                mask-size: 28px;
        background-color: #edf3ff;
        background-color: var(--tertiary-content, #edf3ff);
    }

.mx_SpaceRoomView .mx_SpaceRoomView_privateScope > .mx_AccessibleButton:hover {
        border-color: var(--cpd-color-bg-action-primary-rest);
    }

.mx_SpaceRoomView .mx_SpaceRoomView_privateScope > .mx_AccessibleButton:hover::before {
            background-color: var(--cpd-color-icon-primary);
        }

.mx_SpaceRoomView .mx_SpaceRoomView_privateScope > .mx_AccessibleButton:hover > span {
            color: var(--timeline-text-color);
        }

.mx_SpaceRoomView .mx_SpaceRoomView_privateScope .mx_SpaceRoomView_privateScope_justMeButton::before {
            -webkit-mask-image: url(../../icons/user-profile-solid.c4005c9.svg);
                    mask-image: url(../../icons/user-profile-solid.c4005c9.svg);
        }

.mx_SpaceRoomView .mx_SpaceRoomView_privateScope .mx_SpaceRoomView_privateScope_meAndMyTeammatesButton::before {
            -webkit-mask-image: url(../../img/element-icons/group-members.d86d751.svg);
                    mask-image: url(../../img/element-icons/group-members.d86d751.svg);
        }

.mx_SpaceRoomView .mx_SpaceRoomView_inviteTeammates .mx_SpaceRoomView_inviteTeammates_buttons {
            color: #edf3ff;
            color: var(--secondary-content, #edf3ff);
            margin-top: 28px;
        }

.mx_SpaceRoomView .mx_SpaceRoomView_inviteTeammates .mx_SpaceRoomView_inviteTeammates_buttons .mx_AccessibleButton {
                position: relative;
                display: inline-block;
                padding-left: 32px;
                line-height: 24px; /* to center icons */
            }

.mx_SpaceRoomView .mx_SpaceRoomView_inviteTeammates .mx_SpaceRoomView_inviteTeammates_buttons .mx_AccessibleButton::before {
                    content: "";
                    position: absolute;
                    height: 24px;
                    width: 24px;
                    top: 0;
                    left: 0;
                    background-color: #edf3ff;
                    background-color: var(--secondary-content, #edf3ff);
                    -webkit-mask-repeat: no-repeat;
                            mask-repeat: no-repeat;
                    -webkit-mask-position: center;
                            mask-position: center;
                    -webkit-mask-size: contain;
                            mask-size: contain;
                }

.mx_SpaceRoomView .mx_SpaceRoomView_inviteTeammates .mx_SpaceRoomView_inviteTeammates_buttons .mx_AccessibleButton + .mx_AccessibleButton {
                    margin-left: 32px;
                }

.mx_SpaceRoomView .mx_SpaceRoomView_inviteTeammates .mx_SpaceRoomView_inviteTeammates_buttons .mx_SpaceRoomView_inviteTeammates_inviteDialogButton {
                color: var(--cpd-color-text-primary);
                font-weight: var(--cpd-font-weight-semibold);
                text-decoration: underline;
            }

.mx_SpaceRoomView .mx_SpaceRoomView_inviteTeammates .mx_SpaceRoomView_inviteTeammates_buttons .mx_SpaceRoomView_inviteTeammates_inviteDialogButton::before {
                    -webkit-mask-image: url(../../img/element-icons/room/invite.440bc20.svg);
                            mask-image: url(../../img/element-icons/room/invite.440bc20.svg);
                    background-color: var(--cpd-color-icon-primary);
                }

/*
Copyright 2024 New Vector Ltd.
Copyright 2022 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_SplashPage {
    position: relative;
    height: 100%;
}

.mx_SplashPage::before {
        content: "";
        display: block;
        position: absolute;
        z-index: -1;
        opacity: 0.6;
        background-image: radial-gradient(
                53.85% 66.75% at 87.55% 0%,
                hsla(250deg, 76%, 71%, 0.261) 0%,
                hsla(250deg, 100%, 88%, 0) 100%
            ),
            radial-gradient(41.93% 41.93% at 0% 0%, hsla(222deg, 29%, 20%, 0.28) 0%, hsla(250deg, 100%, 88%, 0) 100%),
            radial-gradient(100% 100% at 0% 0%, hsla(250deg, 100%, 88%, 0.174) 0%, hsla(0deg, 100%, 86%, 0) 100%),
            radial-gradient(106.35% 96.26% at 100% 0%, hsla(250deg, 100%, 88%, 0.4) 0%, hsla(167deg, 76%, 82%, 0) 100%);
        /* blur to reduce color banding issues due to alpha-blending multiple gradients */
        -webkit-filter: blur(8px);
                filter: blur(8px);
        inset: -9px;
        -webkit-mask:
            /* mask to dither resulting combined gradient */
            url(../../img/noise.8322d5a.png),
            
                -webkit-gradient(
                    linear,
                     left top, left bottom,
                     color-stop(20%, rgba(0, 0, 0, 0.9)),
                     to(rgba(0, 0, 0, 0.2))
                );
        -webkit-mask:
            /* mask to dither resulting combined gradient */
            url(../../img/noise.8322d5a.png),
            
                linear-gradient(
                    to bottom,
                     rgba(0, 0, 0, 0.9) 20%,
                     rgba(0, 0, 0, 0.2) 100%
                );
                mask:
            /* mask to dither resulting combined gradient */
            url(../../img/noise.8322d5a.png),
            
                -webkit-gradient(
                    linear,
                     left top, left bottom,
                     color-stop(20%, rgba(0, 0, 0, 0.9)),
                     to(rgba(0, 0, 0, 0.2))
                );
                mask:
            /* mask to dither resulting combined gradient */
            url(../../img/noise.8322d5a.png),
            
                linear-gradient(
                    to bottom,
                     rgba(0, 0, 0, 0.9) 20%,
                     rgba(0, 0, 0, 0.2) 100%
                );
    }

/*
Copyright 2024 New Vector Ltd.
Copyright 2021 The Matrix.org Foundation C.I.C.
Copyright 2019 New Vector Ltd
Copyright 2017 Travis Ralston

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_TabbedView {
    margin: 0;
    padding: 0 0 0 var(--cpd-space-8x);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    inset: 0;
    margin-top: 8px;
}

.mx_TabbedView_tabsOnLeft {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    position: absolute;
}

.mx_TabbedView_tabsOnLeft .mx_TabbedView_tabLabels {
        width: 220px;
        max-width: 220px;
        position: fixed;
        margin: 0; /* Remove the default value */
        padding: 0; /* Remove the default value */
    }

.mx_TabbedView_tabsOnLeft .mx_TabbedView_tabPanel {
        margin-left: 280px; /* 220px sidebar + 60px padding */
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column;
    }

.mx_TabbedView_tabsOnLeft .mx_TabbedView_tabLabel:hover,
    .mx_TabbedView_tabsOnLeft .mx_TabbedView_tabLabel_active {
        color: #edf3ff;
    }

.mx_TabbedView_tabsOnLeft .mx_TabbedView_tabLabel:hover .mx_TabbedView_maskedIcon::before, .mx_TabbedView_tabsOnLeft .mx_TabbedView_tabLabel_active .mx_TabbedView_maskedIcon::before {
            background-color: var(--cpd-color-icon-primary);
        }

.mx_TabbedView_tabsOnLeft .mx_TabbedView_tabLabel_active {
        background-color: var(--cpd-color-bg-subtle-secondary);
    }

.mx_TabbedView_tabsOnLeft .mx_TabbedView_maskedIcon {
        width: 20px;
        height: 20px;
        margin-right: var(--cpd-space-3x);
    }

.mx_TabbedView_tabsOnLeft .mx_TabbedView_maskedIcon::before {
        -webkit-mask-size: 20px;
                mask-size: 20px;
        width: 20px;
        height: 20px;
        -webkit-transition: background-color 0.1s;
        transition: background-color 0.1s;
    }

.mx_TabbedView_tabsOnTop {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
}

.mx_TabbedView_tabsOnTop .mx_TabbedView_tabLabels {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        margin-bottom: 8px;
    }

.mx_TabbedView_tabsOnTop .mx_TabbedView_tabLabel {
        padding-left: 0px;
        padding-right: 52px;
    }

.mx_TabbedView_tabsOnTop .mx_TabbedView_tabLabel .mx_TabbedView_tabLabel_text {
            font-size: 15px;
            color: #edf3ff;
            color: var(--tertiary-content, #edf3ff);
        }

.mx_TabbedView_tabsOnTop .mx_TabbedView_tabPanel {
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
            -ms-flex-direction: row;
                flex-direction: row;
    }

.mx_TabbedView_tabsOnTop .mx_TabbedView_tabLabel_active {
        color: #0dbd8b;
        color: var(--accent-color, #0dbd8b);
    }

.mx_TabbedView_tabsOnTop .mx_TabbedView_tabLabel_active .mx_TabbedView_tabLabel_text {
            color: #0dbd8b;
            color: var(--accent-color, #0dbd8b);
        }

.mx_TabbedView_tabsOnTop .mx_TabbedView_tabLabel_active .mx_TabbedView_maskedIcon::before {
        background-color: #0dbd8b;
        background-color: var(--accent-color, #0dbd8b);
    }

.mx_TabbedView_tabsOnTop .mx_TabbedView_maskedIcon {
        width: 22px;
        height: 22px;
        margin-left: 0px;
        margin-right: 8px;
    }

.mx_TabbedView_tabsOnTop .mx_TabbedView_maskedIcon::before {
        -webkit-mask-size: 22px;
                mask-size: 22px;
        width: inherit;
        height: inherit;
    }

.mx_TabbedView_tabLabels {
    color: #edf3ff;
}

.mx_TabbedView_tabLabel {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    vertical-align: text-top;
    cursor: pointer;
    padding-block: var(--cpd-space-2x);
    padding-inline: var(--cpd-space-3x) var(--cpd-space-4x);
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    min-block-size: 40px;
    min-inline-size: 40px;
    border-radius: 24px;
    font: var(--cpd-font-body-md-medium);
    position: relative;
    -webkit-transition:
        color 0.1s,
        background-color 0.1s;
    transition:
        color 0.1s,
        background-color 0.1s;
}

.mx_TabbedView_tabLabel svg {
        width: 20px;
        height: 20px;
        margin-right: var(--cpd-space-3x);
    }

.mx_TabbedView_maskedIcon {
    display: inline-block;
}

.mx_TabbedView_maskedIcon::before {
    display: inline-block;
    background-color: var(--cpd-color-icon-secondary);
    -webkit-mask-repeat: no-repeat;
            mask-repeat: no-repeat;
    -webkit-mask-position: center;
            mask-position: center;
    content: "";
}

.mx_TabbedView_tabLabel_text {
    vertical-align: middle;
}

.mx_TabbedView_tabPanel {
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    min-height: 0; /* firefox */
}

.mx_TabbedView_tabPanelContent {
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    overflow: auto;
    min-height: 0; /* firefox */
}

/* Hide the labels on tabs, showing only the icons, on narrow viewports. */

@media (max-width: 1024px) {
        .mx_TabbedView_tabsOnLeft.mx_TabbedView_responsive .mx_TabbedView_tabLabel_text {
            display: none;
        }
        .mx_TabbedView_tabsOnLeft.mx_TabbedView_responsive .mx_TabbedView_tabPanel {
            margin-left: 72px; /* 40px sidebar + 32px padding */
        }
        .mx_TabbedView_tabsOnLeft.mx_TabbedView_responsive .mx_TabbedView_maskedIcon {
            margin-right: auto;
            margin-left: auto;
        }
        .mx_TabbedView_tabsOnLeft.mx_TabbedView_responsive .mx_TabbedView_tabLabels {
            width: auto;
        }
        .mx_TabbedView_tabsOnLeft.mx_TabbedView_responsive .mx_TabbedView_tabLabel {
            padding-inline: 0 0;
            -webkit-box-pack: center;
                -ms-flex-pack: center;
                    justify-content: center;
        }
            .mx_TabbedView_tabsOnLeft.mx_TabbedView_responsive .mx_TabbedView_tabLabel svg {
                margin-right: 0;
            }
}

/*
 * Copyright 2024 New Vector Ltd.
 * Copyright 2024 The Matrix.org Foundation C.I.C.
 *
 * SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
 * Please see LICENSE files in the repository root for full details.
 */

.mx_ThreadsActivityCentre_container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
}

.mx_ThreadsActivityCentreButton {
    border-radius: 8px;
    margin: 18px auto auto auto;
}

.mx_ThreadsActivityCentreButton.expanded {
        /**
         * override compound default background color when hovered
         * should disappear when the space panel will be migrated to compound
         */
        background-color: transparent !important;

        /* align with settings icon */
        margin-left: 21px;
    }

/**
         * modify internal css of the compound component
         * dirty but we need to add the `Threads` label into the indicator icon button
         **/

.mx_ThreadsActivityCentreButton.expanded > div {
            display: -webkit-box;
            display: -ms-flexbox;
            display: flex;
            -webkit-box-align: center;
                -ms-flex-align: center;
                    align-items: center;
        }

.mx_ThreadsActivityCentreButton.expanded .mx_ThreadsActivityCentreButton_Icon {
            /* align with settings label */
            margin-right: 14px;
            /* required to set the icon width when into a flex container */
            min-width: 24px;
        }

.mx_ThreadsActivityCentreButton.expanded .mx_ThreadsActivityCentreButton_Text {
            color: #edf3ff;
            color: var(--secondary-content, #edf3ff);
        }

.mx_ThreadsActivityCentreButton:not(.expanded):hover,
        .mx_ThreadsActivityCentreButton:not(.expanded):hover .mx_ThreadsActivityCentreButton_Icon {
            background-color: #6f7882;
            background-color: var(--quaternary-content, #6f7882);
            color: var(--timeline-text-color);
        }

.mx_ThreadsActivityCentreButton .mx_ThreadsActivityCentreButton_Icon {
        color: #edf3ff;
        color: var(--secondary-content, #edf3ff);
    }

.mx_ThreadsActivityCentre_rows {
    overflow-y: scroll;
    /* Let some space at the top and the bottom of the pop-up */
    max-height: calc(100vh - 200px);
}

.mx_ThreadsActivityCentre_rows .mx_ThreadsActivityCentreRow {
        height: 48px;
    }

/* Make the label of the MenuItem stay on one line and truncate with ellipsis if needed */

.mx_ThreadsActivityCentre_rows .mx_ThreadsActivityCentreRow > span {
            white-space: nowrap;
            overflow: hidden;
            text-overflow: ellipsis;
            /* Arbitrary size, keep the TAC as the wanted width */
            width: 202px;
        }

.mx_ThreadsActivityCentre_emptyCaption {
    padding-left: 16px;
    padding-right: 16px;
    font-size: 13px;
}

/*
Copyright 2024 New Vector Ltd.
Copyright 2019-2021 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_ToastContainer {
    position: absolute;
    top: 0;
    left: 70px;
    z-index: 101;
    padding: 4px;
    display: grid;
    grid-template-rows: 1fr 14px 6px;
}

.mx_ToastContainer.mx_ToastContainer_stacked::before {
        content: "";
        margin: 0 4px;
        grid-row: 2 / 4;
        grid-column: 1;
        background-color: #21262c;
        background-color: var(--system, #21262c);
        -webkit-box-shadow: 0px 4px 20px rgba(0, 0, 0, 0.5);
                box-shadow: 0px 4px 20px rgba(0, 0, 0, 0.5);
        border-radius: 8px;
    }

.mx_ToastContainer .mx_Toast_toast {
        grid-row: 1 / 3;
        grid-column: 1;
        background-color: var(--cpd-color-bg-canvas-default);
        color: var(--timeline-text-color);
        -webkit-box-shadow: 0px 4px 24px rgba(0, 0, 0, 0.1);
                box-shadow: 0px 4px 24px rgba(0, 0, 0, 0.1);
        border: var(--cpd-border-width-1) solid var(--cpd-color-border-interactive-secondary);
        border-radius: 12px;
        overflow: hidden;
        display: grid;
        grid-template-columns: 22px 1fr;
        grid-column-gap: 8px;
        -webkit-column-gap: 8px;
           -moz-column-gap: 8px;
                column-gap: 8px;
        grid-row-gap: 4px;
        row-gap: 4px;
        padding: var(--cpd-space-3x);
    }

.mx_ToastContainer .mx_Toast_toast.mx_Toast_hasIcon::before,
            .mx_ToastContainer .mx_Toast_toast.mx_Toast_hasIcon::after {
                content: "";
                width: 22px;
                height: 22px;
                grid-column: 1;
                grid-row: 1;
                -webkit-mask-size: 100%;
                        mask-size: 100%;
                -webkit-mask-position: center;
                        mask-position: center;
                -webkit-mask-repeat: no-repeat;
                        mask-repeat: no-repeat;
                background-size: 100%;
                background-repeat: no-repeat;
            }

.mx_ToastContainer .mx_Toast_toast.mx_Toast_hasIcon.mx_Toast_icon_verification::after {
                -webkit-mask-image: url(../../img/e2e/normal.ab42a7b.svg);
                        mask-image: url(../../img/e2e/normal.ab42a7b.svg);
                background-color: var(--timeline-text-color);
            }

/* white infill for the hollow svg mask */

.mx_ToastContainer .mx_Toast_toast.mx_Toast_hasIcon.mx_Toast_icon_verification_warning::before {
                    background-color: #ffffff;
                    -webkit-mask-image: url(../../img/e2e/normal.ab42a7b.svg);
                            mask-image: url(../../img/e2e/normal.ab42a7b.svg);
                    -webkit-mask-size: 80%;
                            mask-size: 80%;
                }

.mx_ToastContainer .mx_Toast_toast.mx_Toast_hasIcon.mx_Toast_icon_verification_warning::after {
                    -webkit-mask-image: url(../../img/e2e/warning.71ffc83.svg);
                            mask-image: url(../../img/e2e/warning.71ffc83.svg);
                    background-color: #ff5b55;
                }

.mx_ToastContainer .mx_Toast_toast.mx_Toast_hasIcon.mx_Toast_icon_secure_backup::after {
                -webkit-mask-image: url(../../img/feather-customised/secure-backup.7e95b34.svg);
                        mask-image: url(../../img/feather-customised/secure-backup.7e95b34.svg);
                background-color: var(--timeline-text-color);
            }

.mx_ToastContainer .mx_Toast_toast.mx_Toast_hasIcon.mx_Toast_icon_labs::after {
                -webkit-mask-image: url(../../img/element-icons/flask.6aca159.svg);
                        mask-image: url(../../img/element-icons/flask.6aca159.svg);
                background-color: #edf3ff;
                background-color: var(--secondary-content, #edf3ff);
            }

.mx_ToastContainer .mx_Toast_toast.mx_Toast_hasIcon .mx_Toast_title,
            .mx_ToastContainer .mx_Toast_toast.mx_Toast_hasIcon .mx_Toast_body {
                grid-column: 2;
            }

.mx_ToastContainer .mx_Toast_toast:not(.mx_Toast_hasIcon) {
            padding-left: 12px;
        }

.mx_ToastContainer .mx_Toast_toast:not(.mx_Toast_hasIcon) .mx_Toast_title {
                grid-column: 1 / -1;
            }

.mx_ToastContainer .mx_Toast_toast .mx_Toast_title,
        .mx_ToastContainer .mx_Toast_toast .mx_Toast_description {
            padding-right: 8px;
        }

.mx_ToastContainer .mx_Toast_toast .mx_Toast_title {
            display: -webkit-box;
            display: -ms-flexbox;
            display: flex;
            -webkit-box-align: center;
                -ms-flex-align: center;
                    align-items: center;
            -webkit-column-gap: 8px;
               -moz-column-gap: 8px;
                    column-gap: 8px;
            width: 100%;
            -webkit-box-sizing: border-box;
                    box-sizing: border-box;
        }

.mx_ToastContainer .mx_Toast_toast .mx_Toast_title h2 {
                margin: 0;
                font: var(--cpd-font-body-lg-semibold);
                display: inline;
                width: auto;
            }

.mx_ToastContainer .mx_Toast_toast .mx_Toast_title .mx_Toast_title_countIndicator {
                font-size: 0.75rem;
                line-height: 1.375rem;
                color: #edf3ff;
                color: var(--secondary-content, #edf3ff);
                -webkit-margin-start: auto;
                        margin-inline-start: auto; /* on the end side of the div */
            }

.mx_ToastContainer .mx_Toast_toast .mx_Toast_body {
            grid-column: 1 / 3;
            grid-row: 2;
        }

.mx_ToastContainer .mx_Toast_toast .mx_Toast_buttons {
            display: -webkit-box;
            display: -ms-flexbox;
            display: flex;
            -webkit-box-pack: end;
                -ms-flex-pack: end;
                    justify-content: flex-end;
            -webkit-column-gap: 5px;
               -moz-column-gap: 5px;
                    column-gap: 5px;
        }

.mx_ToastContainer .mx_Toast_toast .mx_Toast_buttons .mx_AccessibleButton {
                min-width: 96px;
                -webkit-box-sizing: border-box;
                        box-sizing: border-box;
            }

.mx_ToastContainer .mx_Toast_toast .mx_Toast_description {
            max-width: 272px;
            overflow: hidden;
            text-overflow: ellipsis;
            margin: 4px 0 11px 0;
            color: #edf3ff;
            color: var(--secondary-content, #edf3ff);
            font: var(--cpd-font-body-sm-regular);
        }

.mx_ToastContainer .mx_Toast_toast .mx_Toast_description a {
                text-decoration: none;
            }

.mx_ToastContainer .mx_Toast_toast .mx_Toast_deviceID {
            font-size: 0.625rem;
        }

/*
Copyright 2024 New Vector Ltd.
Copyright 2015, 2016 , 2021 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_UploadBar {
    padding-left: 65px; /* line up with the shield area in the composer */
    padding-top: 5px;
    position: relative;
}

.mx_UploadBar .mx_ProgressBar {
        width: calc(100% - 40px); /* cheating at a right margin */
    }

.mx_ThreadView .mx_UploadBar {
        padding-left: 0;
    }

.mx_UploadBar_filename {
    color: #a1b2d1;
    position: relative;
    padding-right: 38px; /* 32px for cancel icon, 6px for padding */
    padding-left: 22px; /* 18px for icon, 4px for padding */
    font-size: 0.9375rem;
    vertical-align: middle;
}

.mx_UploadBar_filename::before {
        content: "";
        height: 18px;
        width: 18px;
        position: absolute;
        top: 0;
        left: 0;
        -webkit-mask-repeat: no-repeat;
                mask-repeat: no-repeat;
        -webkit-mask-position: center;
                mask-position: center;
        background-color: #a1b2d1;
        -webkit-mask-image: url(../../img/element-icons/upload.1018a2f.svg);
                mask-image: url(../../img/element-icons/upload.1018a2f.svg);
    }

.mx_UploadBar_cancel {
    position: absolute;
    top: 0;
    right: 0;
    height: 16px;
    width: 16px;
    margin-right: 16px; /* align over rightmost button in composer */
    margin-top: 5px;
    -webkit-mask-repeat: no-repeat;
            mask-repeat: no-repeat;
    -webkit-mask-position: center;
            mask-position: center;
    background-color: #a1b2d1;
    -webkit-mask-image: url(../../icons/close.dce71fd.svg);
            mask-image: url(../../icons/close.dce71fd.svg);
}

/*
Copyright 2024 New Vector Ltd.
Copyright 2020 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_UserMenu {
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
}

.mx_UserMenu .mx_AccessibleButton {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
    }

.mx_UserMenu .mx_AccessibleButton .mx_UserMenu_userAvatar {
            position: relative;
        }

.mx_UserMenu .mx_AccessibleButton .mx_UserMenu_userAvatar .mx_BaseAvatar {
                pointer-events: none; /* makes the avatar non-draggable */
            }

.mx_UserMenu .mx_UserMenu_contextMenuButton {
        width: 100%;
    }

.mx_UserMenu .mx_UserMenu_name {
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
        font-weight: var(--cpd-font-weight-semibold);
        font-size: 0.9375rem;
        line-height: 1.5rem;
        margin-left: 10px;
    }

.mx_UserMenu .mx_UserMenu_dndBadge {
        position: absolute;
        bottom: -2px;
        right: -7px;
        width: 16px;
        height: 16px;
        border-radius: 50%;
    }

.mx_UserMenu .mx_UserMenu_dndBadge::before {
            content: "";
            width: 16px;
            height: 16px;
            position: absolute;
            -webkit-mask-position: center;
                    mask-position: center;
            -webkit-mask-size: contain;
                    mask-size: contain;
            -webkit-mask-repeat: no-repeat;
                    mask-repeat: no-repeat;
            background-color: #ff5b55;
            background-color: var(--alert, #ff5b55);
            -webkit-mask-image: url(../../img/element-icons/roomlist/dnd.83b4a64.svg);
                    mask-image: url(../../img/element-icons/roomlist/dnd.83b4a64.svg);
        }

.mx_IconizedContextMenu.mx_UserMenu_contextMenu {
        width: 258px;
    }

.mx_UserMenu_contextMenu.mx_IconizedContextMenu .mx_IconizedContextMenu_optionList_red .mx_AccessibleButton {
            padding-top: 16px;
            padding-bottom: 16px;
        }

.mx_UserMenu_contextMenu .mx_UserMenu_contextMenu_header {
        padding: 20px;

        /* Create a flexbox to organize the header a bit easier */
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
    }

.mx_UserMenu_contextMenu .mx_UserMenu_contextMenu_header .mx_UserMenu_contextMenu_name {
            /* Create another flexbox of columns to handle large user IDs */
            display: -webkit-box;
            display: -ms-flexbox;
            display: flex;
            -webkit-box-orient: vertical;
            -webkit-box-direction: normal;
                -ms-flex-direction: column;
                    flex-direction: column;
            width: calc(100% - 40px); /* 40px = 32px theme button + 8px margin to theme button */
        }

.mx_UserMenu_contextMenu .mx_UserMenu_contextMenu_header .mx_UserMenu_contextMenu_name .mx_UserMenu_contextMenu_displayName,
            .mx_UserMenu_contextMenu .mx_UserMenu_contextMenu_header .mx_UserMenu_contextMenu_name .mx_UserMenu_contextMenu_userId {
                font: var(--cpd-font-body-lg-regular);

                /* Automatically grow subelements to fit the container */
                -webkit-box-flex: 1;
                    -ms-flex: 1;
                        flex: 1;
                width: 100%;

                /* Ellipsize text overflow */
                text-overflow: ellipsis;
                overflow: hidden;
                white-space: nowrap;
            }

.mx_UserMenu_contextMenu .mx_UserMenu_contextMenu_header .mx_UserMenu_contextMenu_name .mx_UserMenu_contextMenu_displayName {
                font-weight: var(--cpd-font-weight-semibold);
            }

.mx_UserMenu_contextMenu .mx_UserMenu_contextMenu_header .mx_UserMenu_contextMenu_themeButton {
            min-width: 32px;
            max-width: 32px;
            width: 32px;
            height: 32px;
            margin-left: 8px;
            border-radius: 32px;
            background-color: #e3e8f0;
            cursor: pointer;

            /* to make alignment easier, create flexbox for the image */
            display: -webkit-box;
            display: -ms-flexbox;
            display: flex;
            -webkit-box-align: center;
                -ms-flex-align: center;
                    align-items: center;
            -webkit-box-pack: center;
                -ms-flex-pack: center;
                    justify-content: center;
        }

.mx_UserMenu_contextMenu .mx_UserMenu_contextMenu_header.mx_UserMenu_contextMenu_guestPrompts {
            padding-top: 0;
            display: inline-block;
        }

.mx_UserMenu_contextMenu .mx_UserMenu_contextMenu_header.mx_UserMenu_contextMenu_guestPrompts > span {
                font-weight: var(--cpd-font-weight-semibold);
                display: block;
            }

.mx_UserMenu_contextMenu .mx_UserMenu_contextMenu_header.mx_UserMenu_contextMenu_guestPrompts > span + span {
                    margin-top: 8px;
                }

.mx_UserMenu_contextMenu .mx_IconizedContextMenu_icon {
        width: 16px;
        height: 16px;
        display: block;
    }

.mx_UserMenu_contextMenu .mx_IconizedContextMenu_icon::before {
            content: "";
            width: 16px;
            height: 16px;
            display: block;
            -webkit-mask-position: center;
                    mask-position: center;
            -webkit-mask-size: contain;
                    mask-size: contain;
            -webkit-mask-repeat: no-repeat;
                    mask-repeat: no-repeat;
            background: var(--icon-button-color, var(--cpd-color-icon-tertiary));
        }

.mx_UserMenu_contextMenu .mx_UserMenu_iconHome::before {
        -webkit-mask-image: url(../../icons/home-solid.2329ba6.svg);
                mask-image: url(../../icons/home-solid.2329ba6.svg);
    }

.mx_UserMenu_contextMenu .mx_UserMenu_iconDnd::before {
        -webkit-mask-image: url(../../img/element-icons/roomlist/dnd.83b4a64.svg);
                mask-image: url(../../img/element-icons/roomlist/dnd.83b4a64.svg);
    }

.mx_UserMenu_contextMenu .mx_UserMenu_iconDndOff::before {
        -webkit-mask-image: url(../../img/element-icons/roomlist/dnd-cross.2cf7314.svg);
                mask-image: url(../../img/element-icons/roomlist/dnd-cross.2cf7314.svg);
    }

.mx_UserMenu_contextMenu .mx_UserMenu_iconBell::before {
        -webkit-mask-image: url(../../img/element-icons/notifications.988ddb0.svg);
                mask-image: url(../../img/element-icons/notifications.988ddb0.svg);
    }

.mx_UserMenu_contextMenu .mx_UserMenu_iconLock::before {
        -webkit-mask-image: url(../../icons/lock-solid.6a2e583.svg);
                mask-image: url(../../icons/lock-solid.6a2e583.svg);
    }

.mx_UserMenu_contextMenu .mx_UserMenu_iconSettings::before {
        -webkit-mask-image: url(../../icons/settings-solid.5cd4545.svg);
                mask-image: url(../../icons/settings-solid.5cd4545.svg);
    }

.mx_UserMenu_contextMenu .mx_UserMenu_iconMessage::before {
        -webkit-mask-image: url(../../img/element-icons/feedback.0bc9353.svg);
                mask-image: url(../../img/element-icons/feedback.0bc9353.svg);
    }

.mx_UserMenu_contextMenu .mx_UserMenu_iconSignOut::before {
        -webkit-mask-image: url(../../icons/leave.ee36f44.svg);
                mask-image: url(../../icons/leave.ee36f44.svg);
    }

.mx_UserMenu_contextMenu .mx_UserMenu_iconQr::before {
        -webkit-mask-image: url(../../icons/qr-code.f185038.svg);
                mask-image: url(../../icons/qr-code.f185038.svg);
    }

/*
Copyright 2024 New Vector Ltd.
Copyright 2015, 2016 OpenMarket Ltd

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_ViewSource pre {
        font-size: 0.75rem;
        padding: 0.5em 1em;
        word-wrap: break-word;
        white-space: pre-wrap;
        overflow-wrap: anywhere;
    }

.mx_ViewSource .mx_ViewSource_header {
        border-bottom: 1px solid #6f7882;
        border-bottom: 1px solid var(--quinary-content, #6f7882);
        padding-bottom: 12px;
        margin-bottom: 12px;
        font-family: monospace;
    }

.mx_ViewSource .mx_ViewSource_header .mx_CopyableText {
            word-break: break-all;
        }

.mx_ViewSource .mx_ViewSource_heading {
        font-size: 1.0625rem;
        font-weight: 400;
        color: var(--timeline-text-color);
        margin-top: 12px;
    }

.mx_ViewSource .mx_ViewSource_details {
        margin-top: 12px;
    }

.mx_ViewSource .mx_CopyableText_border {
        -webkit-box-sizing: border-box;
                box-sizing: border-box;
        width: 100%;
    }

/*
Copyright 2024 New Vector Ltd.
Copyright 2020 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_CompleteSecurity_header {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
}

.mx_CompleteSecurity_headerIcon {
    width: 24px;
    height: 24px;
    margin-right: 4px;
    position: relative;
}

.mx_CompleteSecurity_heroIcon {
    width: 128px;
    height: 128px;
    position: relative;
    margin: 0 auto;
}

.mx_CompleteSecurity_skip {
    cursor: pointer;
    position: relative;
    width: 28px;
    height: 28px;
    border-radius: 14px;
    background-color: var(--cpd-color-bg-subtle-secondary);
}

.mx_CompleteSecurity_skip:hover {
        background-color: var(--cpd-color-bg-subtle-primary);
    }

.mx_CompleteSecurity_skip::before {
        content: "";
        width: 28px;
        height: 28px;
        left: 0;
        top: 0;
        position: absolute;
        -webkit-mask-image: url(../../icons/close.dce71fd.svg);
                mask-image: url(../../icons/close.dce71fd.svg);
        -webkit-mask-repeat: no-repeat;
                mask-repeat: no-repeat;
        -webkit-mask-position: center;
                mask-position: center;
        -webkit-mask-size: 20px;
                mask-size: 20px;
        background-color: var(--cpd-color-icon-secondary);
    }

.mx_CompleteSecurity_skip {
    position: absolute;
    right: 24px;
}

.mx_CompleteSecurity_body {
    font-size: 0.9375rem;
}

.mx_CompleteSecurity_waiting {
    color: #edf3ff;
    color: var(--tertiary-content, #edf3ff);
}

.mx_CompleteSecurity_actionRow {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
    margin-top: 1.75rem;
}

.mx_CompleteSecurity_actionRow .mx_AccessibleButton {
        -webkit-margin-start: 18px;
                margin-inline-start: 18px;
    }

.mx_CompleteSecurity_actionRow .mx_AccessibleButton.warning {
            color: #ff5b55;
            color: var(--alert, #ff5b55);
        }

/*
Copyright 2024 New Vector Ltd.
Copyright 2019-2023 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_ConfirmSessionLockTheftView {
    width: 100%;
    height: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
}

.mx_ConfirmSessionLockTheftView_body {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    max-width: 400px;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
}

/*
Copyright 2019-2024 New Vector Ltd.
Copyright 2015, 2016 OpenMarket Ltd

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_Login_submit {
    /* align images in buttons (eg spinners) */
    vertical-align: middle;
    border: 0px;
    border-radius: 24px;
    font: var(--cpd-font-body-md-regular);
    color: white;
    background-color: var(--cpd-color-bg-action-primary-rest);
    width: auto;
    padding: 7px;
    padding-left: 1.5em;
    padding-right: 1.5em;
    cursor: pointer;
    display: inline-block;
}

.mx_Login_submit:not(:focus-visible) {
        outline: none;
    }

.mx_Login_submit {
    font-size: 15px;
    font-weight: var(--cpd-font-weight-semibold);
    width: 100%;
    margin-top: 24px;
    margin-bottom: 24px;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    text-align: center;
}

.mx_Login_submit:disabled {
    opacity: 0.3;
    cursor: default;
}

.mx_Login_loader {
    display: inline;
    position: relative;
    top: 2px;
    left: 8px;
}

.mx_Login_loader .mx_Spinner {
    display: inline;
}

.mx_Login_loader .mx_Spinner img {
    width: 16px;
    height: 16px;
}

.mx_Login_error {
    color: #ff5b55;
    color: var(--alert, #ff5b55);
    font-weight: bold;
    text-align: center;
    margin-top: 12px;
    margin-bottom: 12px;
}

.mx_Login_error.mx_Login_serverError {
    text-align: left;
    font-weight: normal;
}

.mx_Login_error.mx_Login_serverError.mx_Login_serverErrorNonFatal {
    color: #ff8d13; /* Only used here */
}

.mx_Login_type_container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    color: var(--timeline-text-color);
}

.mx_Login_type_container .mx_Field {
        margin: 0;
    }

.mx_Login_type_label {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
}

.mx_Login_underlinedServerName {
    width: -webkit-max-content;
    width: -moz-max-content;
    width: max-content;
    border-bottom: 1px dashed #0dbd8b;
    border-bottom: 1px dashed var(--accent-color, #0dbd8b);
}

div.mx_AccessibleButton_kind_link.mx_Login_forgot {
    display: block;
    margin-top: 24px;
}

div.mx_AccessibleButton_kind_link.mx_Login_forgot.mx_AccessibleButton_disabled {
        cursor: not-allowed;
    }

.mx_Login_spinner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -ms-flex-line-pack: center;
        align-content: center;
    padding: 14px;
}

.mx_Login_fullWidthButton {
    width: 100%;
    margin-bottom: 16px;
}

/*
Copyright 2024 New Vector Ltd.
Copyright 2015-2024 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_LoginSplashView_migrationProgress {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;

    -webkit-box-align: center;

        -ms-flex-align: center;

            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    width: 100%;
    height: 100%;
}

.mx_LoginSplashView_migrationProgress .mx_ProgressBar {
        height: 8px;
        width: 600px;

        border-radius: 8px;
    }

.mx_LoginSplashView_migrationProgress .mx_ProgressBar::-moz-progress-bar {
        border-radius: 8px;
    }

.mx_LoginSplashView_migrationProgress .mx_ProgressBar::-webkit-progress-bar,
    .mx_LoginSplashView_migrationProgress .mx_ProgressBar::-webkit-progress-value {
        border-radius: 8px;
    }

.mx_LoginSplashView_splashButtons {
    text-align: center;
    width: 100%;
    position: absolute;
    bottom: 30px;
}

.mx_LoginSplashView_syncError {
    color: #ffffff;
    background-color: #df2a8b; /* Only used here */
    border-radius: 5px;
    display: table;
    padding: 30px;
    position: absolute;
    top: 100px;
    left: 50%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
}

/*
Copyright 2024 New Vector Ltd.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_MobileRegister_body {
    padding: 32px;
    height: 100vh;
    overflow-y: auto;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
}

/*
Copyright 2024 New Vector Ltd.
Copyright 2022 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_Register_mainContent {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    min-height: 270px;
}

.mx_Register_mainContent p {
        font: var(--cpd-font-body-md-regular);
        color: var(--timeline-text-color);
    }

.mx_Register_mainContent p.secondary {
            color: var(--timeline-text-secondary-color);
        }

.mx_Register_mainContent > img:first-child {
        margin-bottom: 16px;
        width: -webkit-max-content;
        width: -moz-max-content;
        width: max-content;
    }

.mx_Register_mainContent .mx_Login_submit {
        margin-bottom: 0;
    }

.mx_Register_footerActions {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    padding-top: 16px;
    margin-top: 16px;
    border-top: 1px solid rgba(141, 151, 165, 0.2);
}

.mx_Register_footerActions > * {
        -ms-flex-preferred-size: content;
            flex-basis: content;
    }

/*
Copyright 2024 New Vector Ltd.
Copyright 2023 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_SessionLockStolenView h1 {
        font-weight: var(--cpd-font-weight-semibold);
        font-size: 2rem;
        text-align: center;
    }

.mx_SessionLockStolenView h2 {
        margin: 0;
        font-weight: 500;
        font-size: 1.5rem;
        text-align: center;
    }

/*
Copyright 2024 New Vector Ltd.
Copyright 2021 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_SetupEncryptionBody_reset {
    color: var(--timeline-text-secondary-color);
    margin-top: 0.875rem;
}

.mx_SetupEncryptionBody_reset .mx_SetupEncryptionBody_reset_link.mx_AccessibleButton_kind_link_inline {
            color: #ff5b55;
            color: var(--alert, #ff5b55);
        }

/*
Copyright 2024 New Vector Ltd.
Copyright 2021 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_MediaBody.mx_AudioPlayer_container {
    padding: 16px 12px 12px 12px;
}

.mx_MediaBody.mx_AudioPlayer_container .mx_AudioPlayer_primaryContainer {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
    }

.mx_MediaBody.mx_AudioPlayer_container .mx_AudioPlayer_primaryContainer .mx_PlayPauseButton {
            margin-right: 8px;
        }

.mx_MediaBody.mx_AudioPlayer_container .mx_AudioPlayer_primaryContainer .mx_AudioPlayer_mediaInfo {
            -webkit-box-flex: 1;
                -ms-flex: 1;
                    flex: 1;
            overflow: hidden; /* makes the ellipsis on the file name work */
        }

.mx_MediaBody.mx_AudioPlayer_container .mx_AudioPlayer_primaryContainer .mx_AudioPlayer_mediaInfo > * {
                display: block;
            }

.mx_MediaBody.mx_AudioPlayer_container .mx_AudioPlayer_primaryContainer .mx_AudioPlayer_mediaInfo .mx_AudioPlayer_mediaName {
                color: var(--timeline-text-color);
                font-size: 0.9375rem;
                line-height: 0.9375rem;
                text-overflow: ellipsis;
                white-space: nowrap;
                overflow: hidden;
                padding-bottom: 4px; /* mimics the line-height differences in the Figma */
            }

.mx_MediaBody.mx_AudioPlayer_container .mx_AudioPlayer_primaryContainer .mx_AudioPlayer_mediaInfo .mx_AudioPlayer_byline {
                font-size: 0.75rem;
                line-height: 0.75rem;
            }

.mx_MediaBody.mx_AudioPlayer_container .mx_AudioPlayer_seek {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
    }

.mx_MediaBody.mx_AudioPlayer_container .mx_AudioPlayer_seek .mx_SeekBar {
            -webkit-box-flex: 1;
                -ms-flex: 1;
                    flex: 1;
        }

.mx_MediaBody.mx_AudioPlayer_container .mx_AudioPlayer_seek .mx_Clock {
            min-width: 2.625rem; /* for flexbox */
            padding-left: 4px; /* isolate from seek bar */
            text-align: justify;
            white-space: nowrap;
        }

/*
Copyright 2024 New Vector Ltd.
Copyright 2021 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_PlayPauseButton {
    position: relative;
    width: 32px;
    height: 32px;
    min-width: 32px; /* for when the button is used in a flexbox */
    min-height: 32px; /* for when the button is used in a flexbox */
    border-radius: 32px;
    background-color: #21262c;
    background-color: var(--system, #21262c);
}

.mx_PlayPauseButton::before {
        content: "";
        position: absolute; /* sizing varies by icon */
        background-color: #edf3ff;
        background-color: var(--secondary-content, #edf3ff);
        -webkit-mask-repeat: no-repeat;
                mask-repeat: no-repeat;
        -webkit-mask-size: contain;
                mask-size: contain;
        top: 6px; /* center */
        left: 6px; /* center */
        width: 20px;
        height: 20px;
    }

.mx_PlayPauseButton.mx_PlayPauseButton_disabled::before {
        opacity: 0.5;
    }

.mx_PlayPauseButton.mx_PlayPauseButton_play::before {
        -webkit-mask-image: url(../../icons/play-solid.242d3bc.svg);
                mask-image: url(../../icons/play-solid.242d3bc.svg);
    }

.mx_PlayPauseButton.mx_PlayPauseButton_pause::before {
        -webkit-mask-image: url(../../icons/pause-solid.edfc273.svg);
                mask-image: url(../../icons/pause-solid.edfc273.svg);
    }

/*
Copyright 2024 New Vector Ltd.
Copyright 2021, 2022 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

/* Dev note: there's no actual component called <PlaybackContainer />. These classes */

/* are shared amongst multiple voice message components. */

/* Container for live recording and playback controls */

.mx_MediaBody.mx_VoiceMessagePrimaryContainer {
    /* The waveform (right) has a 1px padding on it that we want to account for, otherwise */
    /* inherit from mx_MediaBody */
    padding-right: 11px;

    /* Cheat at alignment a bit */
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;

    contain: content;
}

.mx_MediaBody.mx_VoiceMessagePrimaryContainer .mx_Waveform,
    .mx_MediaBody.mx_VoiceMessagePrimaryContainer .mx_RecordingPlayback_timelineLayoutMiddle {
        min-width: 0; /* Prevent a blowout */
    }

/* Waveforms are present in live recording only */

.mx_MediaBody.mx_VoiceMessagePrimaryContainer .mx_Waveform {
        /* default, overridden in JS */
        --barHeight: 1;
    }

.mx_MediaBody.mx_VoiceMessagePrimaryContainer .mx_Waveform .mx_Waveform_bar {
            background-color: #6f7882;
            background-color: var(--quaternary-content, #6f7882);
            height: 100%;
            -webkit-transform: scaleY(max(0.05, var(--barHeight)));
                    transform: scaleY(max(0.05, var(--barHeight)));
        }

.mx_MediaBody.mx_VoiceMessagePrimaryContainer .mx_Waveform .mx_Waveform_bar.mx_Waveform_bar_100pct {
                /* Small animation to remove the mechanical feel of progress */
                -webkit-transition: background-color 250ms ease;
                transition: background-color 250ms ease;
                background-color: #edf3ff;
                background-color: var(--secondary-content, #edf3ff);
            }

.mx_MediaBody.mx_VoiceMessagePrimaryContainer .mx_Clock {
        width: 2.625rem; /* we're not using a monospace font, so fake it */
        min-width: 2.625rem; /* force sensible layouts in awkward flexboxes (file panel, for example) */
        padding-right: 6px; /* with the fixed width this ends up as a visual 8px most of the time, as intended. */
        padding-left: 8px; /* isolate from recording circle / play control */
    }

.mx_MediaBody.mx_VoiceMessagePrimaryContainer .mx_RecordingPlayback_timelineLayoutMiddle {
        margin-left: 8px;
        margin-right: 6px;
        position: relative;
        display: inline-block;
        -webkit-box-flex: 1;
            -ms-flex: 1;
                flex: 1;
        height: 30px;
    }

/* same height as mx_Waveform, needed for automatic vertical centering */

.mx_MediaBody.mx_VoiceMessagePrimaryContainer .mx_RecordingPlayback_timelineLayoutMiddle .mx_Waveform {
            left: 0;
            top: 0;
        }

.mx_MediaBody.mx_VoiceMessagePrimaryContainer .mx_RecordingPlayback_timelineLayoutMiddle .mx_SeekBar {
            position: absolute;
            left: 0;
            height: 30px;
            top: -2px; /* visually vertically centered */

            /* Hide the hairline progress bar since we're at 100% height. Need to have distinct rules */
            /* because CSS is weird. */
            background: none;

            /* Make the thumb easier to see. Like the SeekBar original styles, these need to be */
            /* distinct. We make it transparent so it doesn't show up on the UI, but also larger */
        }

.mx_MediaBody.mx_VoiceMessagePrimaryContainer .mx_RecordingPlayback_timelineLayoutMiddle .mx_SeekBar::before {
                background: none;
            }

.mx_MediaBody.mx_VoiceMessagePrimaryContainer .mx_RecordingPlayback_timelineLayoutMiddle .mx_SeekBar::-moz-range-progress {
                background: none;
            }

/* move and drag the thumb regardless of hitting the thumb, however. */

.mx_MediaBody.mx_VoiceMessagePrimaryContainer .mx_RecordingPlayback_timelineLayoutMiddle .mx_SeekBar::-webkit-slider-thumb {
                width: 10px;
                height: 10px;
                background-color: transparent;
            }

/* so it's easier to grab by mouse users in some browsers. Most browsers let the user */

.mx_MediaBody.mx_VoiceMessagePrimaryContainer .mx_RecordingPlayback_timelineLayoutMiddle .mx_SeekBar::-moz-range-thumb {
                width: 10px;
                height: 10px;
                background-color: transparent;
            }

/* For timeline-rendered playback, the clock is on the other side of the waveform. */

.mx_MediaBody.mx_VoiceMessagePrimaryContainer .mx_RecordingPlayback_timelineLayoutMiddle + .mx_Clock {
            text-align: right;

            /* Take the padding off the clock because it's accounted for by the `timelineLayoutMiddle` */
            padding: 0;
        }

/*
Copyright 2024 New Vector Ltd.
Copyright 2021 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

/* CSS inspiration from: */

/* * https://www.w3schools.com/howto/howto_js_rangeslider.asp */

/* * https://stackoverflow.com/a/28283806 */

/* * https://css-tricks.com/styling-cross-browser-compatible-range-inputs-css/ */

.mx_SeekBar {
    /* default, overridden in JS */
    --fillTo: 1;

    /* Dev note: we deliberately do not have the -ms-track (and friends) selectors because we don't */
    /* need to support IE. */

    -webkit-appearance: none;

       -moz-appearance: none;

            appearance: none; /* default style override */

    width: 100%;
    height: 1px;
    background: #6f7882;
    background: var(--quaternary-content, #6f7882);
    outline: none; /* remove blue selection border */
    position: relative; /* for before+after pseudo elements later on */

    cursor: pointer;

    /* This is for webkit support, but we can't limit the functionality of it to just webkit */
    /* browsers. Firefox responds to webkit-prefixed values now, which means we can't use media */

    /* Increase clickable area for the slider (approximately same size as browser default) */
    /* We do it this way to keep the same padding and margins of the element, avoiding margin math. */
}

.mx_SeekBar::-webkit-slider-thumb {
        -webkit-appearance: none;
                appearance: none; /* default style override */

        /* Dev note: This needs to be duplicated with the -moz-range-thumb selector */
        /* because otherwise Edge (webkit) will fail to see the styles and just refuse */
        /* to apply them. */
        width: 8px;
        height: 8px;
        border-radius: 8px;
        background-color: #edf3ff;
        background-color: var(--tertiary-content, #edf3ff);
        cursor: pointer;
    }

.mx_SeekBar::-moz-range-thumb {
        width: 8px;
        height: 8px;
        border-radius: 8px;
        background-color: #edf3ff;
        background-color: var(--tertiary-content, #edf3ff);
        cursor: pointer;

        /* Firefox adds a border on the thumb */
        border: none;
    }

/* in firefox, so it's just wasted CPU/GPU time. */

.mx_SeekBar::before {
        /* ::before to ensure it ends up under the thumb */
        content: "";
        background-color: #edf3ff;
        background-color: var(--tertiary-content, #edf3ff);

        /* Absolute positioning to ensure it overlaps with the existing bar */
        position: absolute;
        top: 0;
        left: 0;

        /* Sizing to match the bar */
        width: 100%;
        height: 1px;

        /* And finally dynamic width without overly hurting the rendering engine. */
        -webkit-transform-origin: 0 100%;
                transform-origin: 0 100%;
        -webkit-transform: scaleX(var(--fillTo));
                transform: scaleX(var(--fillTo));
    }

/* This is firefox's built-in support for the above, with 100% less hacks. */

.mx_SeekBar::-moz-range-progress {
        background-color: #edf3ff;
        background-color: var(--tertiary-content, #edf3ff);
        height: 1px;
    }

/* or support queries to selectively apply the rule. An upside is that this CSS doesn't work */

.mx_SeekBar:disabled {
        opacity: 0.5;
    }

/* Source: https://front-back.com/expand-clickable-areas-for-a-better-touch-experience/ */

.mx_SeekBar::after {
        content: "";
        position: absolute;
        top: -6px;
        bottom: -6px;
        left: 0;
        right: 0;
    }

/*
Copyright 2024 New Vector Ltd.
Copyright 2021 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_Waveform {
    position: relative;
    height: 30px; /* tallest bar can only be 30px */
    top: 1px; /* because of our border trick (see below), we're off by 1px of aligntment */

    display: -webkit-box;

    display: -ms-flexbox;

    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center; /* so the bars grow from the middle */

    overflow: hidden; /* this is cheaper than a `max-height: calc(100% - 4px)` in the bar's CSS. */

    /* A bar is meant to be a 2x2 circle when at zero height, and otherwise a 2px wide line */
}

/* with rounded caps. */

.mx_Waveform .mx_Waveform_bar {
        width: 0; /* 0px width means we'll end up using the border as our width */
        border: 1px solid transparent; /* transparent means we'll use the background colour */
        border-radius: 2px; /* rounded end caps, based on the border */
        min-height: 0; /* like the width, we'll rely on the border to give us height */
        max-height: 100%; /* this makes the `height: 42%` work on the element */
        margin-left: 1px; /* we want 2px between each bar, so 1px on either side for balance */
        margin-right: 1px;

        /* background color is handled by the parent components */
    }

/*
Copyright 2024 New Vector Ltd.
Copyright 2020 The Matrix.org Foundation C.I.C.
Copyright 2019 New Vector Ltd

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_AuthBody {
    width: 500px;
    font-size: 0.75rem;
    color: var(--timeline-text-secondary-color);
    background-color: var(--timeline-background-color);
    border-radius: 0 4px 4px 0;
    padding: 25px 60px;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
}

.mx_AuthBody strong {
        font-weight: var(--cpd-font-weight-semibold);
    }

.mx_AuthBody.mx_AuthBody_flex {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column;
    }

.mx_AuthBody h1 {
        font-size: 1.5rem;
        font-weight: var(--cpd-font-weight-semibold);
        margin-top: 8px;
        color: var(--timeline-text-color);
    }

.mx_AuthBody h2 {
        font: var(--cpd-font-body-md-semibold);
        color: var(--timeline-text-secondary-color);
    }

.mx_AuthBody h2.mx_AuthBody_centered {
        text-align: center;
    }

.mx_AuthBody a:link,
    .mx_AuthBody a:hover,
    .mx_AuthBody a:visited {
        color: #0dbd8b;
        color: var(--accent-color, #0dbd8b);
        text-decoration: none;
    }

.mx_AuthBody fieldset {
        display: block;
    }

.mx_AuthBody .mx_AuthBody_icon {
        width: 44px;
        height: 44px;
    }

.mx_AuthBody .mx_AuthBody_lockIcon {
        color: #edf3ff;
        color: var(--secondary-content, #edf3ff);
        height: 32px;
        width: 32px;
    }

.mx_AuthBody .mx_AuthBody_text {
        margin-bottom: 48px;
        margin-top: 0;
    }

.mx_AuthBody input[type="text"],
    .mx_AuthBody input[type="password"] {
        color: var(--timeline-text-color);
    }

.mx_AuthBody .mx_Field label {
        color: var(--timeline-text-secondary-color);
    }

.mx_AuthBody .mx_Field input,
    .mx_AuthBody .mx_Field select {
        color: var(--timeline-text-color);
        background-color: var(--timeline-background-color);
    }

.mx_AuthBody .mx_Field input:not(:-moz-placeholder-shown) + label, .mx_AuthBody .mx_Field textarea:not(:-moz-placeholder-shown) + label {
        background-color: var(--timeline-background-color);
    }

.mx_AuthBody .mx_Field input:not(:-ms-input-placeholder) + label, .mx_AuthBody .mx_Field textarea:not(:-ms-input-placeholder) + label {
        background-color: var(--timeline-background-color);
    }

.mx_AuthBody .mx_Field_labelAlwaysTopLeft label,
    .mx_AuthBody .mx_Field select + label,
    .mx_AuthBody .mx_Field input:focus + label,
    .mx_AuthBody .mx_Field input:not(:placeholder-shown) + label,
    .mx_AuthBody .mx_Field textarea:focus + label,
    .mx_AuthBody .mx_Field textarea:not(:placeholder-shown) + label {
        background-color: var(--timeline-background-color);
    }

.mx_AuthBody input.error {
        color: #ff5b55;
        color: var(--alert, #ff5b55);
    }

.mx_AuthBody .mx_Login_submit {
        height: 32px;
        margin-top: 16px;
    }

.mx_AuthBody .mx_ErrorMessage {
        margin-bottom: 12px;
        margin-top: 2px;
    }

.mx_AuthBody .mx_Field input {
        -webkit-box-sizing: border-box;
                box-sizing: border-box;
    }

.mx_AuthBody .mx_Field_select::before {
        background-color: var(--timeline-text-color);
    }

.mx_AuthBody .mx_Dropdown {
        color: var(--timeline-text-color);
    }

.mx_AuthBody .mx_Dropdown_arrow {
        background: var(--timeline-text-color);
    }

.mx_AuthBody .mx_Dropdown_menu {
        background-color: var(--timeline-background-color);
    }

.mx_AuthBody .mx_Dropdown_menu .mx_Dropdown_option_highlight {
            background-color: #dddddd;
        }

/* specialisation for password reset views */

.mx_AuthBody.mx_AuthBody_forgot-password {
    font: var(--cpd-font-body-md-regular);
    color: var(--timeline-text-color);
    padding: 50px 32px;
    min-height: 600px;
}

.mx_AuthBody.mx_AuthBody_forgot-password h1 {
        margin: 24px 0;
    }

.mx_AuthBody.mx_AuthBody_forgot-password .mx_AuthBody_button-container {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: center;
            -ms-flex-pack: center;
                justify-content: center;
    }

.mx_AuthBody.mx_AuthBody_forgot-password .mx_Login_submit {
        font-weight: var(--cpd-font-weight-semibold);
        margin: 0 0 16px;
    }

.mx_AuthBody.mx_AuthBody_forgot-password .mx_AuthBody_text {
        margin-bottom: 32px;
    }

.mx_AuthBody.mx_AuthBody_forgot-password .mx_AuthBody_text p {
            margin: 0 0 8px;
        }

.mx_AuthBody.mx_AuthBody_forgot-password .mx_AuthBody_sign-in-instead-button {
        font-weight: var(--cpd-font-weight-semibold);
        padding: 4px;
    }

.mx_AuthBody.mx_AuthBody_forgot-password .mx_AuthBody_fieldRow {
        margin-bottom: 24px;
    }

.mx_AuthBody.mx_AuthBody_forgot-password .mx_AccessibleButton.mx_AccessibleButton_hasKind {
        background: none;
    }

.mx_AuthBody.mx_AuthBody_forgot-password .mx_AccessibleButton.mx_AccessibleButton_hasKind:disabled {
            cursor: default;
            opacity: 0.4;
        }

.mx_AuthBody_did-not-receive {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    color: #edf3ff;
    color: var(--secondary-content, #edf3ff);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 8px;
}

.mx_AuthBody_resend-button {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    border-radius: 8px;
    color: #0dbd8b;
    color: var(--accent-color, #0dbd8b);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 4px;
    padding: 4px;
}

.mx_AuthBody_resend-button:hover {
        background-color: #21262c;
        background-color: var(--system, #21262c);
    }

.mx_AuthBody_emailPromptIcon {
    width: 57px;
}

.mx_AuthBody_emailPromptIcon--shifted {
    margin-bottom: -17px; /* Prevent layout jump by relative positioning. */
    position: relative;
    top: -17px; /* This icon is higher than the other icons. Shift up to prevent icon jumping. */
    width: 57px;
}

.mx_AuthBody_fieldRow {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin-bottom: 10px;
}

.mx_AuthBody_fieldRow > .mx_Field {
    margin: 0 5px;
}

.mx_AuthBody_fieldRow > .mx_Field:first-child {
    margin-left: 0;
}

.mx_AuthBody_fieldRow > .mx_Field:last-child {
    margin-right: 0;
}

.mx_AuthBody_paddedFooter {
    height: 80px; /* height of the submit button + register link */
    padding-top: 28px;
    text-align: center;
}

.mx_AuthBody_paddedFooter .mx_AuthBody_paddedFooter_title {
        margin-top: 16px;
        font-size: 0.9375rem;
        line-height: 1.5rem;
    }

.mx_AuthBody_paddedFooter .mx_AuthBody_paddedFooter_title .mx_InlineSpinner img {
            vertical-align: sub;
            margin-right: 5px;
        }

.mx_AuthBody_paddedFooter .mx_AuthBody_paddedFooter_subtitle {
        margin-top: 8px;
        font-size: 0.625rem;
        line-height: 0.875rem;
    }

.mx_AuthBody_changeFlow {
    display: block;
    text-align: center;
}

.mx_AuthBody_changeFlow > a {
        font-weight: var(--cpd-font-weight-semibold);
    }

.mx_SSOButtons + .mx_AuthBody_changeFlow {
    margin-top: 24px;
}

.mx_AuthBody_spinner {
    margin: 1em 0;
}

@media only screen and (max-width: 480px) {
    .mx_AuthBody {
        border-radius: 4px;
        width: auto;
        max-width: 500px;
        padding: 10px;
    }
}

/*
Copyright 2019-2024 New Vector Ltd.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_AuthFooter {
    text-align: center;
    width: 100%;
    font: var(--cpd-font-body-md-regular);
    opacity: 0.72;
    padding: 20px 0;
    background: -webkit-gradient(linear, left top, left bottom, from(rgba(0, 0, 0, 0)), to(rgba(0, 0, 0, 0.8)));
    background: linear-gradient(rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.8));
}

.mx_AuthFooter a:link,
.mx_AuthFooter a:hover,
.mx_AuthFooter a:visited {
    color: #ffffff;
    margin: 0 22px;
}

/*
Copyright 2019-2024 New Vector Ltd.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_AuthHeader {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    width: 206px;
    padding: 25px 25px;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
}

@media only screen and (max-width: 480px) {
    .mx_AuthHeader {
        display: none;
    }
}

/*
Copyright 2019-2024 New Vector Ltd.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_AuthHeaderLogo {
    margin-top: 15px;
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    padding: 0 25px;
}

.mx_AuthHeaderLogo img {
    width: 100%;
}

@media only screen and (max-width: 480px) {
    .mx_AuthHeaderLogo {
        display: none;
    }
}

/*
Copyright 2019-2024 New Vector Ltd.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_AuthPage {
    width: 100%;
    min-height: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    background-color: #2e3649;
    height: 100vh;
    overflow: auto;
}

.mx_AuthPage_modal {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin: 100px auto auto;
    border-radius: 4px;
    -webkit-box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.33);
            box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.33);
    background-color: var(--timeline-background-color-50pct);
}

@media only screen and (max-height: 768px) {

.mx_AuthPage_modal {
        margin-top: 50px
}
    }

@media only screen and (max-width: 480px) {

.mx_AuthPage_modal {
        margin-top: 0
}
    }

/*
Copyright 2024 New Vector Ltd.
Copyright 2020 The Matrix.org Foundation C.I.C.
Copyright 2019 New Vector Ltd

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_CompleteSecurityBody {
    width: 600px;
    color: var(--timeline-text-color);
    background-color: var(--timeline-background-color);
    border-radius: 4px;
    padding: 20px;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
}

.mx_CompleteSecurityBody h2 {
        font-size: 1.5rem;
        font-weight: var(--cpd-font-weight-semibold);
        margin-top: 0;
    }

.mx_CompleteSecurityBody h3 {
        font: var(--cpd-font-body-md-semibold);
    }

.mx_CompleteSecurityBody a:link,
    .mx_CompleteSecurityBody a:hover,
    .mx_CompleteSecurityBody a:visited {
        color: #0dbd8b;
        color: var(--accent-color, #0dbd8b);
        text-decoration: none;
    }

/*
Copyright 2019-2024 New Vector Ltd.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_CountryDropdown .mx_Dropdown_input .mx_Dropdown_option {
    padding: 0 3px;
}

.mx_CountryDropdown .mx_Dropdown_arrow {
    padding-right: 3px;
}

.mx_CountryDropdown_shortOption {
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    height: 100%;
}

.mx_CountryDropdown_option {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
}

/*
Copyright 2024 New Vector Ltd.
Copyright 2023 The Matrix.org Foundation C.I.C.
Copyright 2017 Vector Creations Ltd

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_InteractiveAuthEntryComponents .mx_InteractiveAuthEntryComponents_termsSubmit {
        margin-top: 20px;
        margin-bottom: 5px;
        width: 100%;
        -webkit-box-sizing: border-box;
                box-sizing: border-box; /* prevent overflowing */
    }

.mx_InteractiveAuthEntryComponents_msisdnWrapper {
    text-align: center;
}

.mx_InteractiveAuthEntryComponents_msisdnEntry {
    font-size: 200%;
    font-weight: bold;
    border: 1px solid #c7c7c7;
    border: 1px solid var(--strong-input-border-color, #c7c7c7);
    border-radius: 3px;
    width: 6em;
}

.mx_InteractiveAuthEntryComponents_msisdnEntry:focus {
    border: 1px solid #0dbd8b;
    border: 1px solid var(--accent-color, #0dbd8b);
}

.mx_InteractiveAuthEntryComponents_msisdnSubmit {
    margin-top: 4px;
    margin-bottom: 5px;
}

/* XXX: This should be a common button class */

.mx_InteractiveAuthEntryComponents_msisdnSubmit:disabled {
    background-color: var(--timeline-text-secondary-color);
    cursor: default;
}

.mx_InteractiveAuthEntryComponents_termsPolicy {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
}

.mx_InteractiveAuthEntryComponents_passwordSection {
    width: 300px;
}

.mx_InteractiveAuthEntryComponents_sso_buttons {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
    margin-top: 20px;
}

.mx_InteractiveAuthEntryComponents_sso_buttons .mx_AccessibleButton {
        margin-left: 5px;
    }

/* "Resend" button/link */

.mx_InteractiveAuthEntryComponents_emailWrapper .mx_AccessibleButton_kind_link_inline {
        /* We need this to be an inline-block so positioning works correctly */
        display: inline-block !important;
    }

/* Spinner as end adornment of the "resend" button/link */

.mx_InteractiveAuthEntryComponents_emailWrapper .mx_AccessibleButton_kind_link_inline .mx_Spinner {
            /* Spinners are usually block elements, but we need it as inline element */
            display: -webkit-inline-box !important;
            display: -ms-inline-flexbox !important;
            display: inline-flex !important;
            /* Spinners by default fill all available width, but we don't want that */
            width: auto !important;
            /* We need to center the spinner relative to the button/link */
            vertical-align: middle !important;
        }

/*
Copyright 2019-2024 New Vector Ltd.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_AuthBody_language {
    width: 100%;
}

.mx_AuthBody_language .mx_Dropdown_input {
    border: none;
    font: var(--cpd-font-body-md-semibold);
    color: var(--timeline-text-color);
    width: auto;
}

.mx_AuthBody_language .mx_Dropdown_arrow {
    background: var(--timeline-text-color);
}

/*
Copyright 2024 New Vector Ltd.
Copyright 2022 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_LoginWithQRSection p {
    margin-top: 0;
    margin-bottom: 16px;
}

.mx_LoginWithQRSection .mx_AccessibleButton_kind_primary + p {
        color: var(--cpd-color-text-secondary);
        margin-top: var(--cpd-space-2x);
    }

.mx_LoginWithQRSection .mx_AccessibleButton svg {
    margin-right: 12px;
}

.mx_AuthPage .mx_LoginWithQR .mx_AccessibleButton {
        display: block !important;
    }

.mx_AuthPage .mx_LoginWithQR .mx_AccessibleButton + .mx_AccessibleButton {
        margin-top: 8px;
    }

.mx_AuthPage .mx_LoginWithQR {

    font-size: 0.9375rem;
}

.mx_UserSettingsDialog .mx_LoginWithQR {
    font: var(--cpd-font-body-md-regular);
}

.mx_UserSettingsDialog .mx_LoginWithQR h1 {
        font-size: 1.5rem;
        margin-bottom: 0;
    }

.mx_UserSettingsDialog .mx_LoginWithQR h2 {
        margin-top: 24px;
    }

.mx_UserSettingsDialog .mx_LoginWithQR .mx_QRCode {
        margin: 28px 0;
    }

.mx_UserSettingsDialog .mx_LoginWithQR .mx_LoginWithQR_qrWrapper {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
    }

.mx_LoginWithQR {
    min-height: 350px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
}

.mx_LoginWithQR h1 > svg.normal {
            color: #edf3ff;
            color: var(--secondary-content, #edf3ff);
        }

.mx_LoginWithQR h1 > svg.error {
            color: #ff5b55;
            color: var(--alert, #ff5b55);
        }

.mx_LoginWithQR h1 > svg.success {
            color: #0dbd8b;
            color: var(--accent-color, #0dbd8b);
        }

.mx_LoginWithQR h1 > svg {
        height: 1.3em;
        margin-right: 8px;
        vertical-align: middle;
}

.mx_LoginWithQR .mx_LoginWithQR_confirmationDigits {
        text-align: center;
        margin: 48px auto;
        font-weight: var(--cpd-font-weight-semibold);
        font-size: 1.5rem;
        color: var(--timeline-text-color);
    }

.mx_LoginWithQR .mx_LoginWithQR_confirmationAlert {
        border: 1px solid #6f7882;
        border: 1px solid var(--quaternary-content, #6f7882);
        border-radius: 8px;
        padding: 8px;
        line-height: 1.5em;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
    }

.mx_LoginWithQR .mx_LoginWithQR_confirmationAlert svg {
            height: 30px;
        }

.mx_LoginWithQR .mx_LoginWithQR_separator {
        margin: 1em 0;
    }

.mx_LoginWithQR ol {
        -webkit-padding-start: 0;
                padding-inline-start: 0;
        list-style: none;
    }

/* list markers do not support the outlined number styling we need */

.mx_LoginWithQR ol li {
            position: relative;
            padding-left: var(--cpd-space-7x);
            color: 1px solid var(--cpd-color-text-secondary);
            margin-bottom: var(--cpd-space-4x);
            line-height: 20px;
            text-align: left;
            text-align: initial;
        }

/* Circled number list item marker */

.mx_LoginWithQR ol li::before {
            content: counter(list-item);
            position: absolute;
            left: 0;
            display: inline-block;
            width: 20px;
            height: 20px;
            line-height: 20px;
            border-radius: 50%;
            border: 1px solid var(--cpd-color-text-secondary);
            -webkit-box-sizing: border-box;
                    box-sizing: border-box;
            text-align: center;
        }

.mx_LoginWithQR label[for="mx_LoginWithQR_checkCode"] {
        margin-top: var(--cpd-space-6x);
        color: var(--cpd-color-text-primary);
        margin-bottom: var(--cpd-space-1x);
    }

.mx_LoginWithQR .mx_LoginWithQR_icon {
        width: 56px;
        height: 56px;
        border-radius: 8px;
        -webkit-box-sizing: border-box;
                box-sizing: border-box;
        padding: var(--cpd-space-3x);
        gap: 10px;

        background-color: var(--cpd-color-bg-subtle-secondary);
    }

.mx_LoginWithQR .mx_LoginWithQR_icon svg {
            color: var(--cpd-color-icon-secondary);
        }

.mx_LoginWithQR .mx_LoginWithQR_icon.mx_LoginWithQR_icon--success {
            background-color: var(--cpd-color-bg-success-subtle);
        }

.mx_LoginWithQR .mx_LoginWithQR_icon.mx_LoginWithQR_icon--success svg {
                color: var(--cpd-color-icon-success-primary);
            }

.mx_LoginWithQR .mx_LoginWithQR_icon.mx_LoginWithQR_icon--critical {
            background-color: var(--cpd-color-bg-critical-subtle);
        }

.mx_LoginWithQR .mx_LoginWithQR_icon.mx_LoginWithQR_icon--critical svg {
                color: var(--cpd-color-icon-critical-primary);
            }

.mx_LoginWithQR .mx_LoginWithQR_checkCode_input {
        margin-bottom: var(--cpd-space-1x);
        text-align: left;
        text-align: initial;
    }

.mx_LoginWithQR .mx_LoginWithQR_checkCode_input input {
            /* Workaround for one of the input rules in _common.pcss being not specific enough */
            padding: 0;
            -webkit-padding-start: calc(40px / 2 - (1ch / 2));
                    padding-inline-start: calc(40px / 2 - (1ch / 2));
        }

.mx_LoginWithQR .mx_LoginWithQR_heading {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        gap: 12px;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
    }

.mx_LoginWithQR .mx_LoginWithQR_BackButton {
        height: 28px;
        border-radius: 28px;
        padding: 4px;
        -webkit-box-sizing: border-box;
                box-sizing: border-box;
        background-color: var(--cpd-color-bg-subtle-secondary);
    }

.mx_LoginWithQR .mx_LoginWithQR_BackButton svg {
            height: 100%;
        }

.mx_LoginWithQR .mx_LoginWithQR_breadcrumbs {
        font-size: 0.8125rem;
        color: #edf3ff;
        color: var(--secondary-content, #edf3ff);
    }

.mx_LoginWithQR .mx_LoginWithQR_main {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column;
        -webkit-box-flex: 1;
            -ms-flex-positive: 1;
                flex-grow: 1;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        color: var(--timeline-text-color);
        text-align: center;
    }

.mx_LoginWithQR .mx_LoginWithQR_main p {
            color: #edf3ff;
            color: var(--secondary-content, #edf3ff);
        }

.mx_LoginWithQR.mx_LoginWithQR_error .mx_LoginWithQR_main {
        max-width: 400px;
        margin: 0 auto;
    }

.mx_LoginWithQR .mx_LoginWithQR_buttons {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        gap: 16px;
        margin-top: var(--cpd-space-6x);
    }

.mx_LoginWithQR .mx_LoginWithQR_buttons .mx_AccessibleButton {
            width: 300px;
            height: 48px;
            -webkit-box-sizing: border-box;
                    box-sizing: border-box;
        }

.mx_LoginWithQR .mx_QRCode {
        border-radius: 8px;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: center;
            -ms-flex-pack: center;
                justify-content: center;
    }

.mx_LoginWithQR .mx_LoginWithQR_spinner {
        -webkit-box-flex: 1;
            -ms-flex-positive: 1;
                flex-grow: 1;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: center;
            -ms-flex-pack: center;
                justify-content: center;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        height: 100%;
    }

/*
Copyright 2024 New Vector Ltd.
Copyright 2020 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

progress.mx_PassphraseField_progress {
    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none;
    width: 100%;
    border: 0;
    height: 4px;
    position: absolute;
    top: -10px;
    left: 0;

    border-radius: "2px";
}

progress.mx_PassphraseField_progress::-moz-progress-bar {
        border-radius: "2px";
    }

progress.mx_PassphraseField_progress::-webkit-progress-bar,
    progress.mx_PassphraseField_progress::-webkit-progress-value {
        border-radius: "2px";
    }

progress.mx_PassphraseField_progress {
    color: #ff5b55;
    color: var(--alert, #ff5b55);
}

progress.mx_PassphraseField_progress::-moz-progress-bar {
        background-color: #ff5b55;
        background-color: var(--alert, #ff5b55);
    }

progress.mx_PassphraseField_progress::-webkit-progress-value {
        background-color: #ff5b55;
        background-color: var(--alert, #ff5b55);
    }

progress.mx_PassphraseField_progress[value="2"],
    progress.mx_PassphraseField_progress[value="3"] {
        color: var(--cpd-color-text-decorative-5);
    }

progress.mx_PassphraseField_progress[value="2"]::-moz-progress-bar, progress.mx_PassphraseField_progress[value="3"]::-moz-progress-bar {
        background-color: var(--cpd-color-text-decorative-5);
    }

progress.mx_PassphraseField_progress[value="2"]::-webkit-progress-value, progress.mx_PassphraseField_progress[value="3"]::-webkit-progress-value {
        background-color: var(--cpd-color-text-decorative-5);
    }

progress.mx_PassphraseField_progress[value="4"] {
        color: #0dbd8b;
        color: var(--accent-color, #0dbd8b);
    }

progress.mx_PassphraseField_progress[value="4"]::-moz-progress-bar {
        background-color: #0dbd8b;
        background-color: var(--accent-color, #0dbd8b);
    }

progress.mx_PassphraseField_progress[value="4"]::-webkit-progress-value {
        background-color: #0dbd8b;
        background-color: var(--accent-color, #0dbd8b);
    }

/*
Copyright 2019-2024 New Vector Ltd.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_Welcome {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
}

.mx_Welcome.mx_WelcomePage_registrationDisabled .mx_ButtonCreateAccount {
            display: none;
        }

.mx_Welcome .mx_AuthBody_language {
    width: 160px;
    margin-bottom: 10px;
}

/*
Copyright 2024 New Vector Ltd.
Copyright 2015, 2016 OpenMarket Ltd

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

button.mx_BaseAvatar {
    /* <button> is a form element and by default it uses the user agent (browser) styling.
       We want it to inherit the font-family and line-height from its parent.
     */
    font-family: inherit;
    line-height: inherit;
}

/*
Copyright 2024 New Vector Ltd.
Copyright 2020 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_DecoratedRoomAvatar,
.mx_ExtraTile {
    position: relative;
    contain: content;
    line-height: 0;
}

.mx_DecoratedRoomAvatar.mx_DecoratedRoomAvatar_cutout .mx_BaseAvatar, .mx_ExtraTile.mx_DecoratedRoomAvatar_cutout .mx_BaseAvatar {
        -webkit-mask-image: url(../../img/element-icons/roomlist/decorated-avatar-mask.376375b.svg);
                mask-image: url(../../img/element-icons/roomlist/decorated-avatar-mask.376375b.svg);
        -webkit-mask-position: center;
                mask-position: center;
        -webkit-mask-size: contain;
                mask-size: contain;
        -webkit-mask-repeat: no-repeat;
                mask-repeat: no-repeat;
    }

.mx_DecoratedRoomAvatar .mx_DecoratedRoomAvatar_icon, .mx_ExtraTile .mx_DecoratedRoomAvatar_icon {
        position: absolute;
        /* the following percentage based sizings are to match the scalable svg mask for the cutout */
        bottom: 6.25%; /* 2px for a 32x32 avatar */
        right: 6.25%;
        width: 25%; /* 8px for a 32x32 avatar */
        height: 25%;
        border-radius: 50%;
    }

.mx_DecoratedRoomAvatar .mx_DecoratedRoomAvatar_icon::before, .mx_ExtraTile .mx_DecoratedRoomAvatar_icon::before {
        content: "";
        width: 100%;
        height: 100%;
        right: 0;
        position: absolute;
        border-radius: 8px;
    }

.mx_DecoratedRoomAvatar .mx_DecoratedRoomAvatar_icon_globe::before, .mx_ExtraTile .mx_DecoratedRoomAvatar_icon_globe::before {
        -webkit-mask-position: center;
                mask-position: center;
        -webkit-mask-size: contain;
                mask-size: contain;
        -webkit-mask-repeat: no-repeat;
                mask-repeat: no-repeat;
        background: #edf3ff;
        background: var(--secondary-content, #edf3ff);
        -webkit-mask-image: url(../../icons/public.df992ad.svg);
                mask-image: url(../../icons/public.df992ad.svg);
    }

.mx_DecoratedRoomAvatar .mx_DecoratedRoomAvatar_icon_offline::before, .mx_ExtraTile .mx_DecoratedRoomAvatar_icon_offline::before {
        background-color: #e3e8f0;
    }

.mx_DecoratedRoomAvatar .mx_DecoratedRoomAvatar_icon_online::before, .mx_ExtraTile .mx_DecoratedRoomAvatar_icon_online::before {
        background-color: #0dbd8b;
        background-color: var(--accent-color, #0dbd8b);
    }

.mx_DecoratedRoomAvatar .mx_DecoratedRoomAvatar_icon_away::before, .mx_ExtraTile .mx_DecoratedRoomAvatar_icon_away::before {
        background-color: #d9b072;
    }

.mx_DecoratedRoomAvatar .mx_DecoratedRoomAvatar_icon_busy::before, .mx_ExtraTile .mx_DecoratedRoomAvatar_icon_busy::before {
        background-color: #ff5b55;
    }

.mx_DecoratedRoomAvatar .mx_NotificationBadge,
    .mx_DecoratedRoomAvatar .mx_RoomTile_badgeContainer,
    .mx_ExtraTile .mx_NotificationBadge,
    .mx_ExtraTile .mx_RoomTile_badgeContainer {
        position: absolute;
        top: 0;
        right: 0;
        height: 18px;
        width: 18px;
    }

/*
Copyright 2024 New Vector Ltd.
Copyright 2020 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_WidgetAvatar {
    border-radius: 4px;
}

/*
Copyright 2024 New Vector Ltd.
Copyright 2024 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_WithPresenceIndicator {
    position: relative;
    contain: content;
    line-height: 0;
}

.mx_WithPresenceIndicator .mx_WithPresenceIndicator_icon {
        position: absolute;
        right: -2px;
        bottom: -2px;
    }

.mx_WithPresenceIndicator .mx_WithPresenceIndicator_icon::before {
        content: "";
        width: 100%;
        height: 100%;
        right: 0;
        bottom: 0;
        position: absolute;
        border: 2px solid var(--cpd-color-bg-canvas-default);
        border-radius: 50%;
    }

.mx_WithPresenceIndicator .mx_WithPresenceIndicator_icon_offline::before {
        background-color: #e3e8f0;
    }

.mx_WithPresenceIndicator .mx_WithPresenceIndicator_icon_online::before {
        background-color: #0dbd8b;
        background-color: var(--accent-color, #0dbd8b);
    }

.mx_WithPresenceIndicator .mx_WithPresenceIndicator_icon_away::before {
        background-color: #d9b072;
    }

.mx_WithPresenceIndicator .mx_WithPresenceIndicator_icon_busy::before {
        background-color: #ff5b55;
    }

/*
Copyright 2024 New Vector Ltd.
Copyright 2021 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_BetaCard {
    padding: 24px;
    background-color: var(--panels, var(--cpd-color-gray-600));
    border-radius: 8px;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    color: #edf3ff;
    color: var(--secondary-content, #edf3ff);
}

.mx_BetaCard .mx_BetaCard_columns {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-flow: wrap;
            flex-flow: wrap;
        gap: 20px;
        -webkit-box-pack: center;
            -ms-flex-pack: center;
                justify-content: center;
    }

.mx_BetaCard .mx_BetaCard_columns .mx_BetaCard_columns_description {
            -webkit-box-flex: 1;
                -ms-flex: 1;
                    flex: 1;
        }

.mx_BetaCard .mx_BetaCard_columns .mx_BetaCard_columns_description .mx_BetaCard_title {
                font-weight: var(--cpd-font-weight-semibold);
                font-size: 1.125rem;
                line-height: 1.375rem;
                color: var(--timeline-text-color);
                margin: 4px 0 14px;

                display: -webkit-box;

                display: -ms-flexbox;

                display: flex;
                -webkit-box-align: center;
                    -ms-flex-align: center;
                        align-items: center;
                -webkit-column-gap: 12px;
                   -moz-column-gap: 12px;
                        column-gap: 12px;
            }

.mx_BetaCard .mx_BetaCard_columns .mx_BetaCard_columns_description .mx_BetaCard_caption {
                font-size: 0.9375rem;
                line-height: 1.25rem;
            }

.mx_BetaCard .mx_BetaCard_columns .mx_BetaCard_columns_description .mx_BetaCard_buttons {
                display: -webkit-box;
                display: -ms-flexbox;
                display: flex;
                -ms-flex-wrap: wrap-reverse;
                    flex-wrap: wrap-reverse;
                gap: 12px;
                margin: 20px auto 0;
            }

.mx_BetaCard .mx_BetaCard_columns .mx_BetaCard_columns_description .mx_BetaCard_buttons .mx_AccessibleButton {
                    padding: 7px 40px;
                    width: auto;
                    -webkit-box-flex: 1;
                        -ms-flex: 1;
                            flex: 1;
                    white-space: nowrap; /* text might overflow */
                }

.mx_BetaCard .mx_BetaCard_columns .mx_BetaCard_columns_description .mx_BetaCard_buttons .mx_AccessibleButton:nth-child(1) {
                        -webkit-box-ordinal-group: 3;
                            -ms-flex-order: 2;
                                order: 2; /* Place feedback button top and right */
                    }

.mx_BetaCard .mx_BetaCard_columns .mx_BetaCard_columns_description .mx_BetaCard_refreshWarning {
                margin-top: 8px;
                font-size: 0.625rem;
                text-align: center;
            }

.mx_BetaCard .mx_BetaCard_columns .mx_BetaCard_columns_description .mx_BetaCard_faq {
                margin-top: 20px;
                font: var(--cpd-font-body-xs-regular);
            }

.mx_BetaCard .mx_BetaCard_columns .mx_BetaCard_columns_description .mx_BetaCard_faq > h4 {
                    margin: 12px 0 0;
                }

.mx_BetaCard .mx_BetaCard_columns .mx_BetaCard_columns_description .mx_BetaCard_faq > p {
                    margin: 0;
                }

.mx_BetaCard .mx_BetaCard_columns .mx_BetaCard_columns_image_wrapper {
            margin: auto 0;
        }

.mx_BetaCard .mx_BetaCard_columns .mx_BetaCard_columns_image_wrapper .mx_BetaCard_columns_image {
                width: 100%;
                max-width: 300px;
                -o-object-fit: contain;
                   object-fit: contain;
                height: 100%;
                border-radius: 4px;
            }

.mx_BetaCard .mx_BetaCard_relatedSettings .mx_SettingsFlag {
            margin: 16px 0 0;
            font-size: 0.9375rem;
            line-height: 1.5rem;
            color: var(--timeline-text-color);
        }

.mx_BetaCard .mx_BetaCard_relatedSettings .mx_SettingsFlag .mx_SettingsFlag_microcopy {
                margin-top: 4px;
                font: var(--cpd-font-body-sm-regular);
            }

.mx_BetaCard_betaPill {
    background-color: var(--primary-color);
    padding: 4px 10px;
    border-radius: 8px;
    text-transform: uppercase;
    font-size: 0.75rem;
    font-weight: var(--cpd-font-weight-semibold);
    line-height: 15px;
    color: #ffffff;
    display: inline-block;
    vertical-align: text-bottom;
    word-break: keep-all; /* avoid multiple lines on CJK language */
}

.mx_BetaCard_betaPill.mx_AccessibleButton {
        cursor: pointer;
    }

/*
Copyright 2024 New Vector Ltd.
Copyright 2021 Šimon Brandner <simon.bra.ag@gmail.com>

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_DeviceContextMenu {
    max-width: 252px;
}

.mx_DeviceContextMenu .mx_DeviceContextMenu_device_icon {
        display: none;
    }

.mx_DeviceContextMenu .mx_IconizedContextMenu_label {
        padding-left: 0 !important;
    }

/*
Copyright 2024 New Vector Ltd.
Copyright 2020-2023 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

/* A context menu that largely fits the | [icon]    [label] | format. */

.mx_IconizedContextMenu {
    min-width: 146px;
    width: -webkit-max-content;
    width: -moz-max-content;
    width: max-content;
    /* override default ul styles */
    margin: 0;
    padding: 0;
}

.mx_IconizedContextMenu .mx_IconizedContextMenu_optionList > * {
            padding-left: 20px;
            padding-right: 20px;
        }

.mx_IconizedContextMenu .mx_IconizedContextMenu_optionList .mx_IconizedContextMenu_optionList_label {
            font-size: 0.9375rem;
            font-weight: var(--cpd-font-weight-semibold);
        }

/* the notFirst class is for cases where the optionList might be under a header of sorts. */

.mx_IconizedContextMenu .mx_IconizedContextMenu_optionList:nth-child(n + 2),
        .mx_IconizedContextMenu .mx_IconizedContextMenu_optionList .mx_IconizedContextMenu_optionList_notFirst {
            border-top: var(--cpd-border-width-1) solid var(--cpd-color-gray-400);
        }

/* round the top corners of the top button for the hover effect to be bounded */

.mx_IconizedContextMenu .mx_IconizedContextMenu_optionList:first-child .mx_IconizedContextMenu_item:first-child {
            border-radius: 8px 8px 0 0; /* radius matches .mx_ContextualMenu */
        }

/* round the bottom corners of the bottom button for the hover effect to be bounded */

.mx_IconizedContextMenu .mx_IconizedContextMenu_optionList:last-child .mx_IconizedContextMenu_item:last-child {
            border-radius: 0 0 8px 8px; /* radius matches .mx_ContextualMenu */
        }

/* round all corners of the only button for the hover effect to be bounded */

.mx_IconizedContextMenu .mx_IconizedContextMenu_optionList:first-child:last-child .mx_IconizedContextMenu_item:first-child:last-child {
            border-radius: 8px; /* radius matches .mx_ContextualMenu */
        }

.mx_IconizedContextMenu .mx_IconizedContextMenu_optionList .mx_IconizedContextMenu_item {
            /* pad the inside of the button so that the hover background is padded too */
            padding-top: 12px;
            padding-bottom: 12px;
            text-decoration: none;
            color: var(--timeline-text-color);
            font: var(--cpd-font-body-md-regular);

            /* Create a flexbox to more easily define the list items */
            display: -webkit-box;
            display: -ms-flexbox;
            display: flex;
            -webkit-box-align: center;
                -ms-flex-align: center;
                    align-items: center;
        }

.mx_IconizedContextMenu .mx_IconizedContextMenu_optionList .mx_IconizedContextMenu_item:hover,
            .mx_IconizedContextMenu .mx_IconizedContextMenu_optionList .mx_IconizedContextMenu_item:focus-visible {
                background-color: var(--cpd-color-bg-action-secondary-hovered);
            }

.mx_IconizedContextMenu .mx_IconizedContextMenu_optionList .mx_IconizedContextMenu_item.mx_AccessibleButton_disabled {
                opacity: 0.5;
                cursor: not-allowed;
            }

.mx_IconizedContextMenu .mx_IconizedContextMenu_optionList .mx_IconizedContextMenu_item img,
            .mx_IconizedContextMenu .mx_IconizedContextMenu_optionList .mx_IconizedContextMenu_item .mx_IconizedContextMenu_icon {
                /* icons */
                width: 16px;
                min-width: 16px;
                max-width: 16px;
            }

.mx_IconizedContextMenu .mx_IconizedContextMenu_optionList .mx_IconizedContextMenu_item span.mx_IconizedContextMenu_label {
                /* labels */
                width: 100%;
                -webkit-box-flex: 1;
                    -ms-flex: 1;
                        flex: 1;

                /* Ellipsize any text overflow */
                text-overflow: ellipsis;
                overflow: hidden;
                white-space: nowrap;
            }

.mx_IconizedContextMenu .mx_IconizedContextMenu_optionList .mx_IconizedContextMenu_item .mx_IconizedContextMenu_icon + .mx_IconizedContextMenu_label {
                padding-left: 14px;
            }

.mx_IconizedContextMenu .mx_IconizedContextMenu_optionList .mx_IconizedContextMenu_item .mx_BetaCard_betaPill {
                margin-left: 16px;
            }

.mx_IconizedContextMenu .mx_IconizedContextMenu_icon {
        position: relative;
        width: 16px;
        height: 16px;
    }

.mx_IconizedContextMenu .mx_IconizedContextMenu_icon::before {
            content: "";
            width: inherit;
            height: inherit;
            position: absolute;
            -webkit-mask-position: center;
                    mask-position: center;
            -webkit-mask-size: contain;
                    mask-size: contain;
            -webkit-mask-repeat: no-repeat;
                    mask-repeat: no-repeat;
            background-color: var(--cpd-color-icon-primary);
        }

.mx_IconizedContextMenu .mx_IconizedContextMenu_optionList_red .mx_IconizedContextMenu_item {
            color: #ff5b55 !important;
            color: var(--alert, #ff5b55) !important;
        }

.mx_IconizedContextMenu .mx_IconizedContextMenu_optionList_red .mx_IconizedContextMenu_icon::before {
            background-color: var(--cpd-color-icon-critical-primary);
        }

.mx_IconizedContextMenu .mx_IconizedContextMenu_option_red {
        color: #ff5b55 !important;
        color: var(--alert, #ff5b55) !important;
    }

.mx_IconizedContextMenu .mx_IconizedContextMenu_option_red .mx_IconizedContextMenu_icon::before {
            background-color: #ff5b55;
            background-color: var(--alert, #ff5b55);
        }

.mx_IconizedContextMenu .mx_IconizedContextMenu_active.mx_IconizedContextMenu_item,
        .mx_IconizedContextMenu .mx_IconizedContextMenu_active .mx_IconizedContextMenu_item {
            color: #0dbd8b !important;
            color: var(--accent-color, #0dbd8b) !important;
        }

.mx_IconizedContextMenu .mx_IconizedContextMenu_active .mx_IconizedContextMenu_icon::before {
            background-color: #0dbd8b;
            background-color: var(--accent-color, #0dbd8b);
        }

.mx_IconizedContextMenu.mx_IconizedContextMenu_compact .mx_IconizedContextMenu_optionList > * {
            padding: 8px 16px 8px 12px;
        }

.mx_IconizedContextMenu .mx_IconizedContextMenu_checked,
    .mx_IconizedContextMenu .mx_IconizedContextMenu_unchecked {
        margin-left: 16px;
        margin-right: -5px;
    }

.mx_IconizedContextMenu .mx_IconizedContextMenu_developerTools::before {
        -webkit-mask-image: url(../../img/element-icons/settings/flask.40eebdf.svg);
                mask-image: url(../../img/element-icons/settings/flask.40eebdf.svg);
    }

.mx_IconizedContextMenu .mx_IconizedContextMenu_checked::before {
        -webkit-mask-image: url(../../icons/check.3fc654f.svg);
                mask-image: url(../../icons/check.3fc654f.svg);
    }

.mx_IconizedContextMenu .mx_IconizedContextMenu_unchecked::before {
        content: normal;
        content: initial;
    }

.mx_IconizedContextMenu .mx_IconizedContextMenu_sublabel {
        margin-left: 20px;
        color: #edf3ff;
        color: var(--tertiary-content, #edf3ff);
    }

.mx_IconizedContextMenu_item.mx_IconizedContextMenu_itemDestructive {
    color: #ff5b55 !important;
    color: var(--alert, #ff5b55) !important;
}

/*
Copyright 2020-2024 New Vector Ltd.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_LegacyCallContextMenu_item {
    width: 205px;
    height: 40px;
    padding-left: 16px;
    line-height: 40px;
    vertical-align: center;
}

/*
Copyright 2024 New Vector Ltd.
Copyright 2021 Michael Weimann <mail@michael-weimann.eu>
Copyright 2015, 2016 OpenMarket Ltd

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_MessageContextMenu .mx_IconizedContextMenu_icon {
        width: 16px;
        height: 16px;
        display: block;
    }

.mx_MessageContextMenu .mx_IconizedContextMenu_icon::before {
            content: "";
            width: 16px;
            height: 16px;
            display: block;
            -webkit-mask-position: center;
                    mask-position: center;
            -webkit-mask-size: contain;
                    mask-size: contain;
            -webkit-mask-repeat: no-repeat;
                    mask-repeat: no-repeat;
        }

.mx_MessageContextMenu .mx_MessageContextMenu_iconCollapse::before {
        -webkit-mask-image: url(../../icons/chevron-up.b1e0d89.svg);
                mask-image: url(../../icons/chevron-up.b1e0d89.svg);
    }

.mx_MessageContextMenu .mx_MessageContextMenu_iconReport::before {
        -webkit-mask-image: url(../../icons/error.90f55f3.svg);
                mask-image: url(../../icons/error.90f55f3.svg);
    }

.mx_MessageContextMenu .mx_MessageContextMenu_iconLink::before {
        -webkit-mask-image: url(../../icons/link.1336d8f.svg);
                mask-image: url(../../icons/link.1336d8f.svg);
    }

.mx_MessageContextMenu .mx_MessageContextMenu_iconPermalink::before {
        -webkit-mask-image: url(../../img/element-icons/room/share.6a6396f.svg);
                mask-image: url(../../img/element-icons/room/share.6a6396f.svg);
    }

.mx_MessageContextMenu .mx_MessageContextMenu_iconUnhidePreview::before {
        -webkit-mask-image: url(../../img/element-icons/settings/appearance.90cad21.svg);
                mask-image: url(../../img/element-icons/settings/appearance.90cad21.svg);
    }

.mx_MessageContextMenu .mx_MessageContextMenu_iconOpenInMapSite::before {
        -webkit-mask-image: url(../../img/external-link.8197a77.svg);
                mask-image: url(../../img/external-link.8197a77.svg);
    }

.mx_MessageContextMenu .mx_MessageContextMenu_iconEndPoll::before {
        -webkit-mask-image: url(../../icons/check.3fc654f.svg);
                mask-image: url(../../icons/check.3fc654f.svg);
    }

.mx_MessageContextMenu .mx_MessageContextMenu_iconForward::before {
        -webkit-mask-image: url(../../icons/forward.74dfc7c.svg);
                mask-image: url(../../icons/forward.74dfc7c.svg);
    }

.mx_MessageContextMenu .mx_MessageContextMenu_iconRedact::before {
        -webkit-mask-image: url(../../icons/delete.eec6a48.svg);
                mask-image: url(../../icons/delete.eec6a48.svg);
    }

.mx_MessageContextMenu .mx_MessageContextMenu_iconResend::before {
        -webkit-mask-image: url(../../icons/restart.648ea8e.svg);
                mask-image: url(../../icons/restart.648ea8e.svg);
    }

.mx_MessageContextMenu .mx_MessageContextMenu_iconSource::before {
        -webkit-mask-image: url(../../icons/inline-code.0d0511d.svg);
                mask-image: url(../../icons/inline-code.0d0511d.svg);
    }

.mx_MessageContextMenu .mx_MessageContextMenu_iconQuote::before {
        -webkit-mask-image: url(../../icons/quote.0ade560.svg);
                mask-image: url(../../icons/quote.0ade560.svg);
    }

.mx_MessageContextMenu .mx_MessageContextMenu_iconPin::before {
        -webkit-mask-image: url(../../icons/pin.ef9edc4.svg);
                mask-image: url(../../icons/pin.ef9edc4.svg);
    }

.mx_MessageContextMenu .mx_MessageContextMenu_iconUnpin::before {
        -webkit-mask-image: url(../../icons/unpin.e4aa16c.svg);
                mask-image: url(../../icons/unpin.e4aa16c.svg);
    }

.mx_MessageContextMenu .mx_MessageContextMenu_iconCopy::before {
        height: 16px;
        -webkit-mask-image: url(../../icons/copy.c6839e9.svg);
                mask-image: url(../../icons/copy.c6839e9.svg);
        position: relative;
        width: 16px;
    }

.mx_MessageContextMenu .mx_MessageContextMenu_iconEdit::before {
        -webkit-mask-image: url(../../img/element-icons/room/message-bar/edit.940a38c.svg);
                mask-image: url(../../img/element-icons/room/message-bar/edit.940a38c.svg);
    }

.mx_MessageContextMenu .mx_MessageContextMenu_iconReply::before {
        -webkit-mask-image: url(../../icons/reply.5cca4a9.svg);
                mask-image: url(../../icons/reply.5cca4a9.svg);
    }

.mx_MessageContextMenu .mx_MessageContextMenu_iconReplyInThread::before {
        -webkit-mask-image: url(../../icons/threads.182e3f3.svg);
                mask-image: url(../../icons/threads.182e3f3.svg);
    }

.mx_MessageContextMenu .mx_MessageContextMenu_iconReact::before {
        -webkit-mask-image: url(../../img/element-icons/room/message-bar/emoji.27bdbc0.svg);
                mask-image: url(../../img/element-icons/room/message-bar/emoji.27bdbc0.svg);
    }

.mx_MessageContextMenu .mx_MessageContextMenu_iconViewInRoom::before {
        -webkit-mask-image: url(../../img/element-icons/view-in-room.afeddb7.svg);
                mask-image: url(../../img/element-icons/view-in-room.afeddb7.svg);
    }

.mx_MessageContextMenu .mx_MessageContextMenu_jumpToEvent::before {
        -webkit-mask-image: url(../../img/element-icons/child-relationship.f8cfd49.svg);
                mask-image: url(../../img/element-icons/child-relationship.f8cfd49.svg);
    }

.mx_RoomGeneralContextMenu_iconStar::before {
    -webkit-mask-image: url(../../icons/favourite-solid.5199241.svg);
            mask-image: url(../../icons/favourite-solid.5199241.svg);
}

.mx_RoomGeneralContextMenu_iconArrowDown::before {
    -webkit-mask-image: url(../../img/element-icons/roomlist/low-priority.d46a05a.svg);
            mask-image: url(../../img/element-icons/roomlist/low-priority.d46a05a.svg);
}

.mx_RoomGeneralContextMenu_iconMarkAsRead::before {
    -webkit-mask-image: url(../../img/element-icons/roomlist/mark-as-read.273067d.svg);
            mask-image: url(../../img/element-icons/roomlist/mark-as-read.273067d.svg);
}

.mx_RoomGeneralContextMenu_iconMarkAsUnread::before {
    -webkit-mask-image: url(../../img/element-icons/roomlist/mark-as-unread.f1a2c4d.svg);
            mask-image: url(../../img/element-icons/roomlist/mark-as-unread.f1a2c4d.svg);
}

.mx_RoomGeneralContextMenu_iconNotificationsDefault::before {
    -webkit-mask-image: url(../../img/element-icons/notifications.988ddb0.svg);
            mask-image: url(../../img/element-icons/notifications.988ddb0.svg);
}

.mx_RoomGeneralContextMenu_iconNotificationsAllMessages::before {
    -webkit-mask-image: url(../../img/element-icons/roomlist/notifications-default.63a2b44.svg);
            mask-image: url(../../img/element-icons/roomlist/notifications-default.63a2b44.svg);
}

.mx_RoomGeneralContextMenu_iconNotificationsMentionsKeywords::before {
    -webkit-mask-image: url(../../img/element-icons/roomlist/notifications-dm.6739542.svg);
            mask-image: url(../../img/element-icons/roomlist/notifications-dm.6739542.svg);
}

.mx_RoomGeneralContextMenu_iconNotificationsNone::before {
    -webkit-mask-image: url(../../img/element-icons/roomlist/notifications-off.0b8adcc.svg);
            mask-image: url(../../img/element-icons/roomlist/notifications-off.0b8adcc.svg);
}

.mx_RoomGeneralContextMenu_iconPeople::before {
    -webkit-mask-image: url(../../icons/user-profile-solid.c4005c9.svg);
            mask-image: url(../../icons/user-profile-solid.c4005c9.svg);
}

.mx_RoomGeneralContextMenu_iconFiles::before {
    -webkit-mask-image: url(../../icons/files.caf6f35.svg);
            mask-image: url(../../icons/files.caf6f35.svg);
}

.mx_RoomGeneralContextMenu_iconPins::before {
    -webkit-mask-image: url(../../img/element-icons/room/pin-upright.340b3b6.svg);
            mask-image: url(../../img/element-icons/room/pin-upright.340b3b6.svg);
}

.mx_RoomGeneralContextMenu_iconWidgets::before {
    -webkit-mask-image: url(../../icons/extensions-solid.10e92e9.svg);
            mask-image: url(../../icons/extensions-solid.10e92e9.svg);
}

.mx_RoomGeneralContextMenu_iconSettings::before {
    -webkit-mask-image: url(../../icons/settings-solid.5cd4545.svg);
            mask-image: url(../../icons/settings-solid.5cd4545.svg);
}

.mx_RoomGeneralContextMenu_iconExport::before {
    -webkit-mask-image: url(../../icons/export-archive.3d015df.svg);
            mask-image: url(../../icons/export-archive.3d015df.svg);
}

.mx_RoomGeneralContextMenu_iconDeveloperTools::before {
    -webkit-mask-image: url(../../img/element-icons/settings/flask.40eebdf.svg);
            mask-image: url(../../img/element-icons/settings/flask.40eebdf.svg);
}

.mx_RoomGeneralContextMenu_iconCopyLink::before {
    -webkit-mask-image: url(../../icons/link.1336d8f.svg);
            mask-image: url(../../icons/link.1336d8f.svg);
}

.mx_RoomGeneralContextMenu_iconInvite::before {
    -webkit-mask-image: url(../../img/element-icons/room/invite.440bc20.svg);
            mask-image: url(../../img/element-icons/room/invite.440bc20.svg);
}

.mx_RoomGeneralContextMenu_iconSignOut::before {
    -webkit-mask-image: url(../../icons/leave.ee36f44.svg);
            mask-image: url(../../icons/leave.ee36f44.svg);
}

.mx_RoomNotificationContextMenu_iconBell::before {
    -webkit-mask-image: url(../../img/element-icons/notifications.988ddb0.svg);
            mask-image: url(../../img/element-icons/notifications.988ddb0.svg);
}

.mx_RoomNotificationContextMenu_iconBellDot::before {
    -webkit-mask-image: url(../../img/element-icons/roomlist/notifications-default.63a2b44.svg);
            mask-image: url(../../img/element-icons/roomlist/notifications-default.63a2b44.svg);
}

.mx_RoomNotificationContextMenu_iconBellMentions::before {
    -webkit-mask-image: url(../../img/element-icons/roomlist/notifications-dm.6739542.svg);
            mask-image: url(../../img/element-icons/roomlist/notifications-dm.6739542.svg);
}

.mx_RoomNotificationContextMenu_iconBellCrossed::before {
    -webkit-mask-image: url(../../img/element-icons/roomlist/notifications-off.0b8adcc.svg);
            mask-image: url(../../img/element-icons/roomlist/notifications-off.0b8adcc.svg);
}

/*
Copyright 2024 New Vector Ltd.
Copyright 2021 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_AddExistingToSpaceDialog_wrapper .mx_Dialog {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column;
    }

.mx_AddExistingToSpace .mx_SearchBox {
        /* To match the space around the title */
        margin: 0 0 15px 0;
        -webkit-box-flex: 0;
            -ms-flex-positive: 0;
                flex-grow: 0;
    }

.mx_AddExistingToSpace .mx_AddExistingToSpace_content {
        -webkit-box-flex: 1;
            -ms-flex-positive: 1;
                flex-grow: 1;
    }

.mx_AddExistingToSpace .mx_AddExistingToSpace_noResults {
        display: block;
        margin-top: 24px;
    }

.mx_AddExistingToSpace .mx_AddExistingToSpace_section {
        margin-right: 12px;

        /* provides space for scrollbar so that checkbox and scrollbar do not collide*/
    }

.mx_AddExistingToSpace .mx_AddExistingToSpace_section:not(:first-child) {
            margin-top: 24px;
        }

.mx_AddExistingToSpace .mx_AddExistingToSpace_section > h3 {
            margin: 0;
            color: #edf3ff;
            color: var(--secondary-content, #edf3ff);
            font-size: 0.75rem;
            font-weight: var(--cpd-font-weight-semibold);
            line-height: 0.9375rem;
        }

.mx_AddExistingToSpace .mx_AddExistingToSpace_section .mx_AccessibleButton_kind_link {
            font-size: 0.75rem;
            line-height: 0.9375rem;
            margin-top: 8px;
        }

.mx_AddExistingToSpace .mx_AddExistingToSpace_footer {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        margin-top: 20px;
    }

.mx_AddExistingToSpace .mx_AddExistingToSpace_footer > span {
            -webkit-box-flex: 1;
                -ms-flex-positive: 1;
                    flex-grow: 1;
            font-size: 0.75rem;
            line-height: 0.9375rem;
            color: #edf3ff;
            color: var(--secondary-content, #edf3ff);
        }

.mx_AddExistingToSpace .mx_AddExistingToSpace_footer > span .mx_ProgressBar {
                height: 8px;
                width: 100%;

                border-radius: 8px;
            }

.mx_AddExistingToSpace .mx_AddExistingToSpace_footer > span .mx_ProgressBar::-moz-progress-bar {
        border-radius: 8px;
    }

.mx_AddExistingToSpace .mx_AddExistingToSpace_footer > span .mx_ProgressBar::-webkit-progress-bar,
    .mx_AddExistingToSpace .mx_AddExistingToSpace_footer > span .mx_ProgressBar::-webkit-progress-value {
        border-radius: 8px;
    }

.mx_AddExistingToSpace .mx_AddExistingToSpace_footer > span .mx_AddExistingToSpaceDialog_progressText {
                margin-top: 8px;
                font-size: 0.9375rem;
                line-height: 1.5rem;
                color: var(--timeline-text-color);
            }

.mx_AddExistingToSpace .mx_AddExistingToSpace_footer > span > * {
                vertical-align: middle;
            }

.mx_AddExistingToSpace .mx_AddExistingToSpace_footer .mx_AddExistingToSpace_error {
            padding-left: 12px;
        }

.mx_AddExistingToSpace .mx_AddExistingToSpace_footer .mx_AddExistingToSpace_error > img {
                -ms-flex-item-align: center;
                    align-self: center;
            }

.mx_AddExistingToSpace .mx_AddExistingToSpace_footer .mx_AddExistingToSpace_error .mx_AddExistingToSpace_errorHeading {
                font-weight: var(--cpd-font-weight-semibold);
                font-size: 0.9375rem;
                line-height: 1.125rem;
                color: #ff5b55;
                color: var(--alert, #ff5b55);
            }

.mx_AddExistingToSpace .mx_AddExistingToSpace_footer .mx_AddExistingToSpace_error .mx_AddExistingToSpace_errorCaption {
                margin-top: 4px;
                font-size: 0.75rem;
                line-height: 0.9375rem;
                color: var(--timeline-text-color);
            }

.mx_AddExistingToSpace .mx_AddExistingToSpace_footer .mx_AccessibleButton {
            display: inline-block;
            -ms-flex-item-align: center;
                align-self: center;
        }

.mx_AddExistingToSpace .mx_AddExistingToSpace_footer .mx_AccessibleButton_kind_primary {
            padding: 8px 36px;
        }

.mx_AddExistingToSpace .mx_AddExistingToSpace_footer .mx_AddExistingToSpace_retryButton {
            margin-left: 12px;
            padding-left: 24px;
            position: relative;
        }

.mx_AddExistingToSpace .mx_AddExistingToSpace_footer .mx_AddExistingToSpace_retryButton::before {
                content: "";
                position: absolute;
                background-color: var(--timeline-text-color);
                -webkit-mask-repeat: no-repeat;
                        mask-repeat: no-repeat;
                -webkit-mask-position: center;
                        mask-position: center;
                -webkit-mask-size: contain;
                        mask-size: contain;
                -webkit-mask-image: url(../../icons/restart.648ea8e.svg);
                        mask-image: url(../../icons/restart.648ea8e.svg);
                width: 18px;
                height: 18px;
                left: 0;
            }

.mx_AddExistingToSpaceDialog {
    width: 480px;
    color: var(--timeline-text-color);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    min-height: 0;
    height: 80vh;
}

.mx_AddExistingToSpaceDialog .mx_AddExistingToSpace {
        display: contents;
    }

.mx_SubspaceSelector {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
}

.mx_SubspaceSelector .mx_BaseAvatar {
        margin: auto 16px auto 5px;
    }

.mx_SubspaceSelector > div > h1 {
            font-weight: var(--cpd-font-weight-semibold);
            font-size: 1.125rem;
            line-height: 1.375rem;
            margin: 0;
        }

.mx_SubspaceSelector .mx_Dropdown_input {
        border: none;
    }

.mx_SubspaceSelector .mx_Dropdown_input > .mx_Dropdown_option {
            padding-left: 0;
            -webkit-box-flex: initial;
                -ms-flex: initial;
                    flex: initial;
            height: auto;
            height: initial;
            color: #edf3ff;
            color: var(--secondary-content, #edf3ff);
            font-size: 0.9375rem;
            line-height: 1.5rem;
        }

.mx_SubspaceSelector .mx_Dropdown_input > .mx_Dropdown_option .mx_BaseAvatar {
                display: none;
            }

.mx_SubspaceSelector .mx_Dropdown_input .mx_Dropdown_menu .mx_SubspaceSelector_dropdownOptionActive {
                color: #0dbd8b;
                color: var(--accent-color, #0dbd8b);
                padding-right: 32px;
                position: relative;
            }

.mx_SubspaceSelector .mx_Dropdown_input .mx_Dropdown_menu .mx_SubspaceSelector_dropdownOptionActive::before {
                    content: "";
                    width: 20px;
                    height: 20px;
                    top: 8px;
                    right: 0;
                    position: absolute;
                    -webkit-mask-position: center;
                            mask-position: center;
                    -webkit-mask-size: contain;
                            mask-size: contain;
                    -webkit-mask-repeat: no-repeat;
                            mask-repeat: no-repeat;
                    background-color: #0dbd8b;
                    background-color: var(--accent-color, #0dbd8b);
                    -webkit-mask-image: url(../../icons/check.3fc654f.svg);
                            mask-image: url(../../icons/check.3fc654f.svg);
                }

.mx_SubspaceSelector .mx_SubspaceSelector_onlySpace {
        color: #edf3ff;
        color: var(--secondary-content, #edf3ff);
        font-size: 0.9375rem;
        line-height: 1.5rem;
    }

.mx_AddExistingToSpace_entry {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin-top: 12px;
}

.mx_AddExistingToSpace_entry .mx_DecoratedRoomAvatar /* we can't target .mx_BaseAvatar here as it'll break the decorated avatar styling */ {
        margin-right: 12px;
    }

.mx_AddExistingToSpace_entry .mx_AddExistingToSpace_entry_name {
        font-size: 0.9375rem;
        line-height: 30px;
        -webkit-box-flex: 1;
            -ms-flex-positive: 1;
                flex-grow: 1;
        overflow: hidden;
        white-space: nowrap;
        text-overflow: ellipsis;
        margin-right: 12px;
    }

.mx_AddExistingToSpace_entry .mx_Checkbox {
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
    }

/*
Copyright 2024 New Vector Ltd.
Copyright 2021 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_AnalyticsLearnMoreDialog {
    max-width: 500px;
}

.mx_AnalyticsLearnMoreDialog .mx_AnalyticsLearnMore_image_holder {
        background-image: url(../../img/element-shiny.f5a5e6e.svg);
        background-repeat: no-repeat;
        background-position: center top;
        height: 112px;
        padding: 20px 0px;
    }

.mx_AnalyticsLearnMoreDialog .mx_Dialog_content {
        margin-bottom: 0px;
    }

.mx_AnalyticsLearnMoreDialog .mx_AnalyticsLearnMore_copy {
        border-bottom: 1px solid #000000;
        padding-bottom: 20px;
        margin-bottom: 20px;
    }

.mx_AnalyticsLearnMoreDialog a {
        color: #0dbd8b;
        color: var(--accent-color, #0dbd8b);
        text-decoration: none;
    }

.mx_AnalyticsLearnMoreDialog .mx_AnalyticsLearnMore_bullets {
        padding-left: 0px;
    }

.mx_AnalyticsLearnMoreDialog .mx_AnalyticsLearnMore_bullets li {
        list-style-type: none;
        padding: 2px 0 0 32px;
        margin-bottom: 20px;
        vertical-align: middle;
        position: relative;
    }

.mx_AnalyticsLearnMoreDialog .mx_AnalyticsLearnMore_bullets li::before {
            content: "";
            position: absolute;
            width: 26px;
            height: 26px;
            left: 0;
            top: 0;
            background-color: #0dbd8b;
            -webkit-mask-image: url(../../icons/check-circle.d34d54d.svg);
                    mask-image: url(../../icons/check-circle.d34d54d.svg);
            -webkit-mask-repeat: no-repeat;
                    mask-repeat: no-repeat;
            -webkit-mask-position: center;
                    mask-position: center;
            -webkit-mask-size: contain;
                    mask-size: contain;
        }

.mx_AppDownloadDialog {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 32px;
    color: var(--timeline-text-color);
}

.mx_AppDownloadDialog.mx_Dialog_fixedWidth {
        width: 640px;
    }

.mx_AppDownloadDialog .mx_AppDownloadDialog_desktop {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        gap: 16px;
    }

.mx_AppDownloadDialog .mx_AppDownloadDialog_mobile {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
            -ms-flex-direction: row;
                flex-direction: row;
        gap: 24px;
    }

.mx_AppDownloadDialog .mx_AppDownloadDialog_mobile .mx_AppDownloadDialog_app {
            display: -webkit-box;
            display: -ms-flexbox;
            display: flex;
            -webkit-box-orient: vertical;
            -webkit-box-direction: normal;
                -ms-flex-direction: column;
                    flex-direction: column;
            -webkit-box-flex: 1;
                -ms-flex-positive: 1;
                    flex-grow: 1;
            -ms-flex-preferred-size: 50%;
                flex-basis: 50%;
            -webkit-box-align: center;
                -ms-flex-align: center;
                    align-items: center;
            gap: 16px;
        }

.mx_AppDownloadDialog .mx_AppDownloadDialog_mobile .mx_AppDownloadDialog_app .mx_QRCode {
                /* intentionally hardcoded color to ensure the QR code is readable in any situation */
                background: #ffffff;

                padding: 24px;
                border: 1px solid #6f7882;
                border: 1px solid var(--quinary-content, #6f7882);
                border-radius: 4px;
                -ms-flex-item-align: stretch;
                    align-self: stretch;
                display: -webkit-box;
                display: -ms-flexbox;
                display: flex;
                -webkit-box-align: center;
                    -ms-flex-align: center;
                        align-items: center;
                -webkit-box-orient: vertical;
                -webkit-box-direction: normal;
                    -ms-flex-direction: column;
                        flex-direction: column;
            }

.mx_AppDownloadDialog .mx_AppDownloadDialog_mobile .mx_AppDownloadDialog_app .mx_QRCode .mx_VerificationQRCode {
                    height: 144px;
                    width: 144px;
                    -ms-interpolation-mode: nearest-neighbor;
                        image-rendering: -webkit-optimize-contrast;
                        image-rendering: pixelated;
                    border-radius: 0;
                }

.mx_AppDownloadDialog .mx_AppDownloadDialog_mobile .mx_AppDownloadDialog_app .mx_AppDownloadDialog_info {
                font-size: 0.75rem;
                color: #edf3ff;
                color: var(--tertiary-content, #edf3ff);
            }

.mx_AppDownloadDialog .mx_AppDownloadDialog_mobile .mx_AppDownloadDialog_app .mx_AppDownloadDialog_links {
                display: -webkit-box;
                display: -ms-flexbox;
                display: flex;
                -webkit-box-orient: horizontal;
                -webkit-box-direction: normal;
                    -ms-flex-direction: row;
                        flex-direction: row;
                gap: 8px;
            }

.mx_AppDownloadDialog .mx_AppDownloadDialog_mobile .mx_AppDownloadDialog_app .mx_AppDownloadDialog_links .mx_AccessibleButton svg {
                        height: 40px;
                    }

.mx_AppDownloadDialog .mx_AppDownloadDialog_legal p {
            margin: 0;
            font-size: 0.75rem;
            color: #edf3ff;
            color: var(--tertiary-content, #edf3ff);
        }

/*
Copyright 2024 New Vector Ltd.
Copyright 2020 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_BugReportDialog .mx_BugReportDialog_download .mx_AccessibleButton_kind_link {
            margin-right: 18px; /* Space between "Downloading logs..." */
        }

/*
Copyright 2024 New Vector Ltd.
Copyright 2021 Robin Townsend <robin@robin.town>

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_BulkRedactDialog .mx_Checkbox,
    .mx_BulkRedactDialog .mx_BulkRedactDialog_checkboxMicrocopy {
        line-height: 1.25rem;
    }

.mx_BulkRedactDialog .mx_BulkRedactDialog_checkboxMicrocopy {
        margin-left: 26px;
        color: #edf3ff;
        color: var(--secondary-content, #edf3ff);
    }

/*
Copyright 2024 New Vector Ltd.
Copyright 2016 Aviral Dasgupta

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_ChangelogDialog_content {
    max-height: 300px;
    overflow: auto;
}

.mx_ChangelogDialog_li {
    padding: 0.2em;
}

/*
Copyright 2024 New Vector Ltd.
Copyright 2021 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

/* -------------------------------------------------------------------------------- */

/* DEV NOTE: This stylesheet covers dialogs listed by the compound, including */

/* over multiple React components. The actual inner contents of the dialog should */

/* be in their respective stylesheets. */

/* -------------------------------------------------------------------------------- */

/* Override legacy/default styles for dialogs */

.mx_Dialog_wrapper.mx_CompoundDialog .mx_Dialog {
    padding: 0; /* we'll manage it ourselves */
    color: var(--timeline-text-color);
}

.mx_CompoundDialog .mx_Dialog {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column;
    }

.mx_CompoundDialog .mx_CompoundDialog_header {
        padding: 32px 32px 16px 32px;
    }

.mx_CompoundDialog .mx_CompoundDialog_header h1 {
            display: inline-block;
            font-weight: var(--cpd-font-weight-semibold);
            font-size: 1.5rem;
            margin: 0; /* managed by header class */
        }

.mx_CompoundDialog .mx_CompoundDialog_cancelButton {
        cursor: pointer;
        position: relative;
        width: 28px;
        height: 28px;
        border-radius: 14px;
        background-color: var(--cpd-color-bg-subtle-secondary);
        /* Align with corner radius of dialog */
    }

.mx_CompoundDialog .mx_CompoundDialog_cancelButton:hover {
        background-color: var(--cpd-color-bg-subtle-primary);
    }

.mx_CompoundDialog .mx_CompoundDialog_cancelButton::before {
        content: "";
        width: 28px;
        height: 28px;
        left: 0;
        top: 0;
        position: absolute;
        -webkit-mask-image: url(../../icons/close.dce71fd.svg);
                mask-image: url(../../icons/close.dce71fd.svg);
        -webkit-mask-repeat: no-repeat;
                mask-repeat: no-repeat;
        -webkit-mask-position: center;
                mask-position: center;
        -webkit-mask-size: 20px;
                mask-size: 20px;
        background-color: var(--cpd-color-icon-secondary);
    }

.mx_CompoundDialog .mx_CompoundDialog_cancelButton {
        position: absolute;
        top: var(--cpd-space-4x);
        right: var(--cpd-space-4x);
}

.mx_CompoundDialog .mx_CompoundDialog_form {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column;
        min-height: 0;
        -webkit-box-flex: 1;
            -ms-flex: 1;
                flex: 1;
    }

.mx_CompoundDialog .mx_CompoundDialog_content {
        overflow: auto;
        padding: 8px 32px;
        -webkit-box-flex: 1;
            -ms-flex: 1;
                flex: 1;
    }

.mx_CompoundDialog .mx_CompoundDialog_footer {
        padding: 20px 32px;
        text-align: right;
    }

.mx_CompoundDialog .mx_CompoundDialog_footer .mx_AccessibleButton {
            margin-left: 24px;
        }

.mx_ScrollableBaseDialog {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;

    width: 544px; /* fixed */
    height: 516px; /* fixed */
    max-width: 100%;
    min-height: 0;
    max-height: 80%;
}

.mx_ScrollableBaseDialog .mx_CompoundDialog_footer {
        -webkit-box-shadow: 0px -4px 4px rgba(0, 0, 0, 0.05);
                box-shadow: 0px -4px 4px rgba(0, 0, 0, 0.05); /* hardcoded colour for both themes */
        z-index: 1; /* needed to make footer & shadow appear above dialog content */
    }

/*
Copyright 2024 New Vector Ltd.
Copyright 2021 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_ConfirmSpaceUserActionDialog_wrapper .mx_Dialog {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column;
        padding: 24px 32px;
    }

.mx_ConfirmSpaceUserActionDialog {
    width: 440px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    height: 520px;
}

.mx_ConfirmSpaceUserActionDialog .mx_Dialog_content {
        margin: 12px 0;
        -webkit-box-flex: 1;
            -ms-flex-positive: 1;
                flex-grow: 1;
        overflow-y: auto;
    }

.mx_ConfirmSpaceUserActionDialog .mx_ConfirmUserActionDialog_reasonField {
        margin-bottom: 12px;
    }

.mx_ConfirmSpaceUserActionDialog .mx_ConfirmSpaceUserActionDialog_warning {
        position: relative;
        border-radius: 8px;
        padding: 12px 8px 12px 42px;
        background-color: var(--roomlist-background-color);

        font-size: 0.75rem;
        line-height: 0.9375rem;
        color: #edf3ff;
        color: var(--secondary-content, #edf3ff);
    }

.mx_ConfirmSpaceUserActionDialog .mx_ConfirmSpaceUserActionDialog_warning::before {
            content: "";
            position: absolute;
            left: 10px;
            top: calc(50% - 8px); /* vertical centering */
            height: 16px;
            width: 16px;
            background-color: #edf3ff;
            background-color: var(--secondary-content, #edf3ff);
            -webkit-mask-repeat: no-repeat;
                    mask-repeat: no-repeat;
            -webkit-mask-size: contain;
                    mask-size: contain;
            -webkit-mask-image: url(../../icons/info-solid.cd635a2.svg);
                    mask-image: url(../../icons/info-solid.cd635a2.svg);
            -webkit-mask-position: center;
                    mask-position: center;
        }

/*
Copyright 2024 New Vector Ltd.
Copyright 2017 Vector Creations Ltd.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_ConfirmUserActionDialog .mx_Dialog_content .mx_ConfirmUserActionDialog_user {
    min-height: 48px;
    margin-bottom: 24px;
}

.mx_ConfirmUserActionDialog_avatar {
    float: left;
    margin-right: 20px;
}

.mx_ConfirmUserActionDialog_name {
    padding-top: 2px;
    font-size: 1.125rem;
}

.mx_ConfirmUserActionDialog_userId {
    font-size: 0.8125rem;
}

.mx_ConfirmUserActionDialog_reasonField {
    font: var(--cpd-font-body-md-regular);
    color: var(--timeline-text-color);
    background-color: var(--timeline-background-color);
}

/*
Copyright 2024 New Vector Ltd.
Copyright 2017 Michael Telatynski <7t3chguy@gmail.com>

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_CreateRoomDialog_details {
    margin-top: 15px;
}

.mx_CreateRoomDialog_details .mx_CreateRoomDialog_details_summary {
        list-style: none;
        font-weight: var(--cpd-font-weight-semibold);
        cursor: pointer;
        color: var(--cpd-color-text-primary);
        text-decoration: underline;
        width: -webkit-fit-content;
        width: -moz-fit-content;
        width: fit-content;
    }

/* list-style doesn't do it for webkit */

.mx_CreateRoomDialog_details .mx_CreateRoomDialog_details_summary::-webkit-details-marker {
            display: none;
        }

.mx_CreateRoomDialog_details .mx_CreateRoomDialog_details_summary:not(:focus-visible) {
            outline: none;
        }

.mx_CreateRoomDialog_details > div {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: start;
            -ms-flex-align: start;
                align-items: flex-start;
        margin: 5px 0;
    }

.mx_CreateRoomDialog_details > div input[type="checkbox"] {
            margin-right: 10px;
        }

.mx_CreateRoomDialog_label {
    text-align: left;
    padding-bottom: 12px;
}

.mx_CreateRoomDialog_input_container {
    padding-right: 20px;
}

.mx_CreateRoomDialog_input {
    font-size: 0.9375rem;
    border-radius: 3px;
    border: 1px solid #e7e7e7;
    padding: 9px;
    color: var(--timeline-text-color);
    background-color: var(--timeline-background-color);
    width: 100%;
}

/* needed to make the alias field only grow as wide as needed */

/* as opposed to full width */

.mx_CreateRoomDialog_aliasContainer {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    /* put margin on container so it can collapse with siblings */
    margin: 24px 0 10px;
}

.mx_CreateRoomDialog_aliasContainer .mx_RoomAliasField {
        margin: 0;
    }

.mx_CreateRoomDialog.mx_Dialog_fixedWidth {
        width: 450px;
    }

.mx_CreateRoomDialog .mx_Dialog_content {
        margin-bottom: 40px;
    }

.mx_CreateRoomDialog p,
    .mx_CreateRoomDialog .mx_Field_input label {
        color: #a1b2d1;
    }

.mx_CreateRoomDialog .mx_SettingsFlag {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
    }

.mx_CreateRoomDialog .mx_SettingsFlag_label {
        -webkit-box-flex: 1;
            -ms-flex: 1 1 0px;
                flex: 1 1 0;
        min-width: 0;
        font-weight: var(--cpd-font-weight-semibold);
    }

.mx_CreateRoomDialog .mx_ToggleSwitch {
        -webkit-box-flex: 0;
            -ms-flex: 0 0 auto;
                flex: 0 0 auto;
        margin-left: 30px;
    }

.mx_CreateRoomDialog .mx_Dialog_content > .mx_SettingsFlag {
        margin-top: 24px;
    }

.mx_CreateRoomDialog p {
        margin: 0 85px 0 0;
        font-size: 0.75rem;
    }

.mx_CreateRoomDialog_labelledCheckbox {
    color: #a1b2d1;
    margin-top: var(--cpd-space-6x);
}

/*
Copyright 2024 New Vector Ltd.
Copyright 2021 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_CreateSubspaceDialog_wrapper .mx_Dialog {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column;
    }

.mx_CreateSubspaceDialog {
    width: 480px;
    color: var(--timeline-text-color);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    min-height: 0;
}

.mx_CreateSubspaceDialog .mx_CreateSubspaceDialog_content {
        -webkit-box-flex: 1;
            -ms-flex-positive: 1;
                flex-grow: 1;
    }

.mx_CreateSubspaceDialog .mx_CreateSubspaceDialog_content .mx_CreateSubspaceDialog_betaNotice {
            padding: 12px 16px;
            border-radius: 8px;
            background-color: var(--roomlist-background-color);
        }

.mx_CreateSubspaceDialog .mx_CreateSubspaceDialog_content .mx_CreateSubspaceDialog_betaNotice .mx_BetaCard_betaPill {
                margin-right: 8px;
                vertical-align: middle;
            }

.mx_CreateSubspaceDialog .mx_CreateSubspaceDialog_content .mx_JoinRuleDropdown + p {
            color: #a1b2d1;
            font-size: 0.75rem;
        }

.mx_CreateSubspaceDialog .mx_CreateSubspaceDialog_footer {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        margin-top: 20px;
    }

.mx_CreateSubspaceDialog .mx_CreateSubspaceDialog_footer .mx_CreateSubspaceDialog_footer_prompt {
            -webkit-box-flex: 1;
                -ms-flex-positive: 1;
                    flex-grow: 1;
            font-size: 0.75rem;
            line-height: 0.9375rem;
            color: #edf3ff;
            color: var(--secondary-content, #edf3ff);
        }

.mx_CreateSubspaceDialog .mx_CreateSubspaceDialog_footer .mx_CreateSubspaceDialog_footer_prompt > * {
                vertical-align: middle;
            }

.mx_CreateSubspaceDialog .mx_CreateSubspaceDialog_footer .mx_AccessibleButton {
            display: inline-block;
            -ms-flex-item-align: center;
                align-self: center;
        }

.mx_CreateSubspaceDialog .mx_CreateSubspaceDialog_footer .mx_AccessibleButton_kind_primary {
            margin-left: 16px;
            padding: 8px 36px;
        }

/*
Copyright 2018-2024 New Vector Ltd.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_DeactivateAccountDialog .mx_Dialog_content {
    margin-bottom: 30px;
}

.mx_DeactivateAccountDialog .mx_DeactivateAccountDialog_input_section .mx_Field {
    width: 300px;
}

/*
Copyright 2024 New Vector Ltd.
Copyright 2017 Michael Telatynski <7t3chguy@gmail.com>

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_DevtoolsDialog_wrapper .mx_Dialog {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column;
    }

.mx_DevtoolsDialog_wrapper .mx_Dialog_fixedWidth {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column;
        min-height: 0;
        max-height: 100%;
    }

.mx_DevtoolsDialog_wrapper .mx_Dialog_fixedWidth .mx_Dialog_buttons button {
            margin-bottom: 0;
        }

.mx_DevTools_content {
    overflow-y: auto;
}

.mx_DevTools_RoomStateExplorer_query {
    margin-bottom: 10px;
}

.mx_DevTools_button {
    font-family: monospace !important;
    margin-bottom: 8px !important;
}

.mx_DevTools_RoomStateExplorer_button_hasSpaces {
    text-decoration: underline;
}

.mx_DevTools_button.mx_DevTools_RoomStateExplorer_button_emptyString {
    font-style: italic;
}

.mx_DevTools_label_left {
    float: left;
}

.mx_DevTools_label_right {
    float: right;
}

.mx_DevTools_label_bottom {
    clear: both;
    border-bottom: 1px solid #e5e5e5;
}

.mx_DevTools_inputRow {
    display: table-row;
}

.mx_DevTools_inputLabelCell {
    display: table-cell;
    font-weight: bold;
    padding-right: 24px;
}

.mx_DevTools_textarea {
    font-size: 0.75rem;
    max-width: 684px;
    min-height: 250px;
    padding: 10px;
}

.mx_DevTools_eventTypeStateKeyGroup {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
}

.mx_DevTools_content .mx_Field_input:first-of-type {
    margin-right: 42px;
}

.mx_DevTools_VerificationRequest {
    border: 1px solid #cccccc;
    border-radius: 3px;
    padding: 1px 5px;
    margin-bottom: 6px;
    font-family: "Inconsolata", "", "Apple Color Emoji", "Segoe UI Emoji", "Courier",
    monospace, "Noto Color Emoji";
    font-family: var(--font-family-monospace, "Inconsolata", var(--emoji-font-family), "Apple Color Emoji", "Segoe UI Emoji", "Courier",
    monospace, "Noto Color Emoji");
}

.mx_DevTools_VerificationRequest dl {
        display: grid;
        grid-template-columns: -webkit-max-content auto;
        grid-template-columns: max-content auto;
        margin: 0;
    }

.mx_DevTools_VerificationRequest dd {
        grid-column-start: 2;
    }

.mx_DevTools_VerificationRequest dd:empty {
        color: #666666;
    }

.mx_DevTools_VerificationRequest dd:empty::after {
            content: "(empty)";
        }

.mx_DevTools_VerificationRequest dt {
        font-weight: bold;
        grid-column-start: 1;
    }

.mx_DevTools_VerificationRequest dt::after {
        content: ":";
    }

.mx_DevTools_SettingsExplorer table {
        width: 100%;
        table-layout: fixed;
        border-collapse: collapse;
    }

.mx_DevTools_SettingsExplorer table th {
            /* Colour choice: first one autocomplete gave me. */
            border-bottom: 1px solid #0dbd8b;
            border-bottom: 1px solid var(--accent-color, #0dbd8b);
            text-align: left;
        }

.mx_DevTools_SettingsExplorer table td,
        .mx_DevTools_SettingsExplorer table th {
            width: 360px; /* "feels right" number */

            text-overflow: ellipsis;
            overflow: hidden;
            white-space: nowrap;
        }

.mx_DevTools_SettingsExplorer table td + td,
        .mx_DevTools_SettingsExplorer table th + th {
            width: auto;
        }

.mx_DevTools_SettingsExplorer table tr:hover {
            /* Colour choice: first one autocomplete gave me. */
            background-color: #0dbd8b;
            background-color: var(--accent-color, #0dbd8b);
        }

.mx_DevTools_SettingsExplorer .mx_DevTools_SettingsExplorer_mutable {
        background-color: #0dbd8b;
        background-color: var(--accent-color, #0dbd8b);
    }

.mx_DevTools_SettingsExplorer .mx_DevTools_SettingsExplorer_immutable {
        background-color: #ff5b55;
        background-color: var(--alert, #ff5b55);
    }

.mx_DevTools_SettingsExplorer .mx_DevTools_SettingsExplorer_edit {
        float: right;
        margin-right: 16px;
    }

.mx_DevTools_SettingsExplorer .mx_DevTools_SettingsExplorer_warning {
        border: 2px solid #ff5b55;
        border: 2px solid var(--alert, #ff5b55);
        border-radius: 4px;
        padding: 4px;
        margin-bottom: 8px;
    }

.mx_DevTools_SettingsExplorer_setting {
    /* override default link button color */
    /* as it is the same as the background highlight */
    /* used on focus */
    color: #0086e6 !important;
    color: var(--links, #0086e6) !important;
}

/*
Copyright 2024 New Vector Ltd.
Copyright 2021 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_ExportDialog .mx_ExportDialog_subheading {
        font-size: 1rem;
        display: block;
        font-family: "Nunito", "", "Apple Color Emoji", "Segoe UI Emoji", "Arial", "Helvetica",
    sans-serif, "Noto Color Emoji";
        font-family: var(--font-family, "Nunito", var(--emoji-font-family), "Apple Color Emoji", "Segoe UI Emoji", "Arial", "Helvetica",
    sans-serif, "Noto Color Emoji");
        font-weight: var(--cpd-font-weight-semibold);
        color: var(--timeline-text-color);
        margin-top: 18px;
        margin-bottom: 12px;
    }

.mx_ExportDialog.mx_ExportDialog_Exporting .mx_ExportDialog_options {
            pointer-events: none;
        }

.mx_ExportDialog.mx_ExportDialog_Exporting .mx_Field_select::before {
            display: none;
        }

.mx_ExportDialog.mx_ExportDialog_Exporting .mx_StyledRadioButton input[type="radio"]:checked + div > div {
            background: var(--timeline-text-secondary-color);
        }

.mx_ExportDialog.mx_ExportDialog_Exporting .mx_StyledRadioButton input[type="radio"]:checked + div {
            border-color: currentcolor;
            border-color: initial;
        }

.mx_ExportDialog.mx_ExportDialog_Exporting .mx_Field_valid.mx_Field label,
        .mx_ExportDialog.mx_ExportDialog_Exporting .mx_Field_valid.mx_Field:focus-within label {
            color: inherit;
        }

.mx_ExportDialog.mx_ExportDialog_Exporting .mx_Field_valid.mx_Field,
        .mx_ExportDialog.mx_ExportDialog_Exporting .mx_Field_valid.mx_Field:focus-within {
            border-color: #e7e7e7;
        }

.mx_ExportDialog.mx_ExportDialog_Exporting .mx_Checkbox input[type="checkbox"]:checked + label > .mx_Checkbox_background {
            background: var(--timeline-text-secondary-color);
            border-color: var(--timeline-text-secondary-color);
        }

.mx_ExportDialog .mx_ExportDialog_progress .mx_Dialog_buttons {
            margin-top: 0;
            margin-top: initial;
            margin-left: 18px;
        }

.mx_ExportDialog .mx_ExportDialog_progress .mx_Spinner {
            width: auto;
            width: initial;
            height: auto;
            height: initial;
            -webkit-box-flex: initial;
                -ms-flex: initial;
                    flex: initial;
            margin-right: 10px;
        }

.mx_ExportDialog .mx_ExportDialog_progress {

        display: -webkit-box;

        display: -ms-flexbox;

        display: flex;
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
            -ms-flex-direction: row;
                flex-direction: row;
        -webkit-box-pack: end;
            -ms-flex-pack: end;
                justify-content: flex-end;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
}

.mx_ExportDialog .mx_StyledRadioButton > .mx_StyledRadioButton_content {
        margin-top: 5px;
        margin-bottom: 5px;
    }

.mx_ExportDialog .mx_Field {
        width: 256px;
    }

.mx_ExportDialog .mx_Field_postfix {
        padding: 9px 10px;
    }

.mx_ExportDialog_attachments-checkbox {
    margin-top: 16px;
}

/*
Copyright 2024 New Vector Ltd.
Copyright 2020 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_FeedbackDialog hr {
        margin: 24px 0;
        border-color: #e7e7e7;
    }

.mx_FeedbackDialog .mx_Dialog_content {
        margin-bottom: 24px;
    }

.mx_FeedbackDialog .mx_Dialog_content > h2 {
            margin-bottom: 32px;
        }

.mx_FeedbackDialog .mx_FeedbackDialog_section {
        position: relative;
        padding: 12px 52px 12px 68px;
        border-radius: 8px;
        border: 1px solid #6f7882;
        border: 1px solid var(--quinary-content, #6f7882);
    }

.mx_FeedbackDialog .mx_FeedbackDialog_section + .mx_FeedbackDialog_section {
            margin-top: 16px;
        }

.mx_FeedbackDialog .mx_FeedbackDialog_section > h3 {
            margin-top: 0;
            margin-bottom: 8px;
            font-weight: var(--cpd-font-weight-semibold);
            font-size: 1.125rem;
            line-height: 1.375rem;
        }

.mx_FeedbackDialog .mx_FeedbackDialog_section > p {
            color: #edf3ff;
            color: var(--secondary-content, #edf3ff);
            font-size: 0.9375rem;
            line-height: 1.5rem;
            margin: 8px 0 0;
        }

.mx_FeedbackDialog .mx_FeedbackDialog_section .mx_FeedbackDialog_section_microcopy {
            font-size: 0.75rem;
            line-height: 0.9375rem;
        }

.mx_FeedbackDialog .mx_FeedbackDialog_section a,
        .mx_FeedbackDialog .mx_FeedbackDialog_section .mx_AccessibleButton_kind_link {
            text-decoration: underline;
        }

.mx_FeedbackDialog .mx_FeedbackDialog_section::before,
        .mx_FeedbackDialog .mx_FeedbackDialog_section::after {
            content: "";
            position: absolute;
            width: 40px;
            height: 40px;
            left: 16px;
            top: 12px;
        }

.mx_FeedbackDialog .mx_FeedbackDialog_section::before {
            background-color: var(--icon-button-color, var(--cpd-color-icon-tertiary));
            border-radius: 8px;
        }

.mx_FeedbackDialog .mx_FeedbackDialog_section::after {
            background: #ffffff; /* TODO */
            -webkit-mask-position: center;
                    mask-position: center;
            -webkit-mask-size: 24px;
                    mask-size: 24px;
            -webkit-mask-repeat: no-repeat;
                    mask-repeat: no-repeat;
        }

.mx_FeedbackDialog .mx_FeedbackDialog_reportBug::after {
            -webkit-mask-image: url(../../img/feather-customised/bug.4551a84.svg);
                    mask-image: url(../../img/feather-customised/bug.4551a84.svg);
        }

.mx_FeedbackDialog .mx_FeedbackDialog_rateApp .mx_StyledRadioButton {
            display: -webkit-inline-box;
            display: -ms-inline-flexbox;
            display: inline-flex;
            font-size: 20px;
            -webkit-transition:
                font-size 1s,
                border 0.5s;
            transition:
                font-size 1s,
                border 0.5s;
            border-radius: 50%;
            border: 2px solid transparent;
            margin-top: 12px;
            margin-bottom: 24px;
            vertical-align: top;
            cursor: pointer;
        }

.mx_FeedbackDialog .mx_FeedbackDialog_rateApp .mx_StyledRadioButton input[type="radio"] + div {
                display: none;
            }

.mx_FeedbackDialog .mx_FeedbackDialog_rateApp .mx_StyledRadioButton .mx_StyledRadioButton_content {
                background: var(--icon-button-color, var(--cpd-color-icon-tertiary));
                width: 40px;
                height: 40px;
                text-align: center;
                line-height: 40px;
                border-radius: 20px;
                margin: 5px;
            }

.mx_FeedbackDialog .mx_FeedbackDialog_rateApp .mx_StyledRadioButton .mx_StyledRadioButton_spacer {
                display: none;
            }

.mx_FeedbackDialog .mx_FeedbackDialog_rateApp .mx_StyledRadioButton + .mx_StyledRadioButton {
                margin-left: 16px;
            }

.mx_FeedbackDialog .mx_FeedbackDialog_rateApp .mx_StyledRadioButton_checked {
            font-size: 24px;
            border-color: var(--cpd-color-bg-action-primary-rest);
        }

.mx_FeedbackDialog .mx_FeedbackDialog_rateApp::after {
            -webkit-mask-image: url(../../img/element-icons/feedback.0bc9353.svg);
                    mask-image: url(../../img/element-icons/feedback.0bc9353.svg);
        }

/*
Copyright 2024 New Vector Ltd.
Copyright 2021 Robin Townsend <robin@robin.town>

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_ForwardDialog {
    width: 520px;
    color: var(--timeline-text-color);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    min-height: 0;
    height: 80vh;
}

.mx_ForwardDialog > h3 {
        margin: 0 0 6px;
        color: #edf3ff;
        color: var(--secondary-content, #edf3ff);
        font-size: 0.75rem;
        font-weight: var(--cpd-font-weight-semibold);
        line-height: 0.9375rem;
    }

.mx_ForwardDialog > .mx_ForwardDialog_preview {
        max-height: 30%;
        -ms-flex-negative: 0;
            flex-shrink: 0;
        overflow-y: auto;

        /* When forwarding messages from encrypted rooms, EventTile will complain */
        /* that our preview is unencrypted, which doesn't actually matter */
        /* We also hide download links to not encourage users to try interacting */
    }

.mx_ForwardDialog > .mx_ForwardDialog_preview .mx_EventTile[data-layout="bubble"] {
            margin-top: 20px;
        }

.mx_ForwardDialog > .mx_ForwardDialog_preview div {
            pointer-events: none;
        }

.mx_ForwardDialog > .mx_ForwardDialog_preview .mx_EventTile_msgOption,
        .mx_ForwardDialog > .mx_ForwardDialog_preview .mx_EventTile_e2eIcon_unencrypted,
        .mx_ForwardDialog > .mx_ForwardDialog_preview .mx_EventTile_e2eIcon_warning,
        .mx_ForwardDialog > .mx_ForwardDialog_preview .mx_MFileBody_download {
            display: none;
        }

.mx_ForwardDialog > hr {
        width: 100%;
        border: none;
        border-top: 1px solid #e7e7e7;
        margin: 12px 0;
    }

.mx_ForwardDialog > .mx_ForwardList {
        display: contents;
    }

.mx_ForwardDialog > .mx_ForwardList .mx_SearchBox {
            /* To match the space around the title */
            margin: 0 0 15px 0;
            -webkit-box-flex: 0;
                -ms-flex-positive: 0;
                    flex-grow: 0;
        }

.mx_ForwardDialog > .mx_ForwardList .mx_ForwardList_content {
            -webkit-box-flex: 1;
                -ms-flex-positive: 1;
                    flex-grow: 1;
        }

.mx_ForwardDialog > .mx_ForwardList .mx_ForwardList_noResults {
            display: block;
            margin-top: 24px;
        }

.mx_ForwardDialog > .mx_ForwardList .mx_ForwardList_results:not(:first-child) {
                margin-top: 24px;
            }

.mx_ForwardDialog > .mx_ForwardList .mx_ForwardList_results .mx_ForwardList_resultsList {
                padding-right: 8px;
            }

.mx_ForwardDialog > .mx_ForwardList .mx_ForwardList_results .mx_ForwardList_entry {
                display: -webkit-box;
                display: -ms-flexbox;
                display: flex;
                -webkit-box-pack: justify;
                    -ms-flex-pack: justify;
                        justify-content: space-between;
                height: 32px;
                padding: 6px;
                border-radius: 8px;
            }

.mx_ForwardDialog > .mx_ForwardList .mx_ForwardList_results .mx_ForwardList_entry:hover,
                .mx_ForwardDialog > .mx_ForwardList .mx_ForwardList_results .mx_ForwardList_entry.mx_ForwardList_entry_active {
                    background-color: var(--sidebar-color);
                }

.mx_ForwardDialog > .mx_ForwardList .mx_ForwardList_results .mx_ForwardList_entry .mx_ForwardList_roomButton {
                    display: -webkit-box;
                    display: -ms-flexbox;
                    display: flex;
                    margin-right: 12px;
                    min-width: 0;
                }

.mx_ForwardDialog > .mx_ForwardList .mx_ForwardList_results .mx_ForwardList_entry .mx_ForwardList_roomButton .mx_DecoratedRoomAvatar {
                        margin-right: 12px;
                    }

.mx_ForwardDialog > .mx_ForwardList .mx_ForwardList_results .mx_ForwardList_entry .mx_ForwardList_roomButton .mx_ForwardList_entry_name,
                    .mx_ForwardDialog > .mx_ForwardList .mx_ForwardList_results .mx_ForwardList_entry .mx_ForwardList_roomButton .mx_ForwardList_entry_detail {
                        line-height: 30px;
                        overflow: hidden;
                        white-space: nowrap;
                        text-overflow: ellipsis;
                    }

.mx_ForwardDialog > .mx_ForwardList .mx_ForwardList_results .mx_ForwardList_entry .mx_ForwardList_roomButton .mx_ForwardList_entry_name {
                        font-size: 0.9375rem;
                    }

.mx_ForwardDialog > .mx_ForwardList .mx_ForwardList_results .mx_ForwardList_entry .mx_ForwardList_roomButton .mx_ForwardList_entry_detail {
                        font-size: 0.75rem;
                        margin-left: 8px;
                        color: #edf3ff;
                        color: var(--tertiary-content, #edf3ff);
                    }

.mx_ForwardDialog > .mx_ForwardList .mx_ForwardList_results .mx_ForwardList_entry .mx_ForwardList_sendButton {
                    position: relative;
                    margin-left: 12px;
                }

.mx_ForwardDialog > .mx_ForwardList .mx_ForwardList_results .mx_ForwardList_entry .mx_ForwardList_sendButton:not(.mx_ForwardList_canSend) .mx_ForwardList_sendLabel {
                        /* Hide the "Send" label while preserving button size */
                        visibility: hidden;
                    }

.mx_ForwardDialog > .mx_ForwardList .mx_ForwardList_results .mx_ForwardList_entry .mx_ForwardList_sendButton .mx_ForwardList_sendIcon,
                    .mx_ForwardDialog > .mx_ForwardList .mx_ForwardList_results .mx_ForwardList_entry .mx_ForwardList_sendButton .mx_NotificationBadge {
                        position: absolute;
                    }

.mx_ForwardDialog > .mx_ForwardList .mx_ForwardList_results .mx_ForwardList_entry .mx_ForwardList_sendButton .mx_NotificationBadge {
                        /* Match the failed to send indicator's color with the disabled button */
                        background-color: #ffffff;
                    }

.mx_ForwardDialog > .mx_ForwardList .mx_ForwardList_results .mx_ForwardList_entry .mx_ForwardList_sendButton.mx_ForwardList_sending .mx_ForwardList_sendIcon {
                        background-color: #0dbd8b;
                        background-color: var(--accent-color, #0dbd8b);
                        -webkit-mask-image: url(../../img/element-icons/circle-sending.394023e.svg);
                                mask-image: url(../../img/element-icons/circle-sending.394023e.svg);
                        -webkit-mask-position: center;
                                mask-position: center;
                        -webkit-mask-repeat: no-repeat;
                                mask-repeat: no-repeat;
                        -webkit-mask-size: 14px;
                                mask-size: 14px;
                        width: 14px;
                        height: 14px;
                    }

.mx_ForwardDialog > .mx_ForwardList .mx_ForwardList_results .mx_ForwardList_entry .mx_ForwardList_sendButton.mx_ForwardList_sent .mx_ForwardList_sendIcon {
                        background-color: #0dbd8b;
                        background-color: var(--accent-color, #0dbd8b);
                        -webkit-mask-image: url(../../img/element-icons/circle-sent.4ba3d6b.svg);
                                mask-image: url(../../img/element-icons/circle-sent.4ba3d6b.svg);
                        -webkit-mask-position: center;
                                mask-position: center;
                        -webkit-mask-repeat: no-repeat;
                                mask-repeat: no-repeat;
                        -webkit-mask-size: 14px;
                                mask-size: 14px;
                        width: 14px;
                        height: 14px;
                    }

/*
Copyright 2024 New Vector Ltd.
Copyright 2021 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_GenericFeatureFeedbackDialog .mx_GenericFeatureFeedbackDialog_subheading {
        color: var(--timeline-text-color);
        font: var(--cpd-font-body-md-regular);
        line-height: 1.25rem;
        margin-bottom: 24px;
    }

/*
Copyright 2019-2024 New Vector Ltd.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_IncomingSasDialog_opponentProfile_image {
    position: relative;
}

.mx_IncomingSasDialog_opponentProfile h2 {
    display: inline-block;
    margin-left: 10px;
}

/*
Copyright 2024 New Vector Ltd.
Copyright 2019, 2020 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_InviteDialog_flexWrapper .mx_Dialog {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
}

.mx_InviteDialog_transferWrapper .mx_Dialog {
    padding-bottom: 16px;
}

.mx_InviteDialog_addressBar {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    /* Right margin for the design. We could apply this to the whole dialog, but then the scrollbar */
    /* for the user section gets weird. */
    margin: 8px 45px 0 0;
}

.mx_InviteDialog_addressBar .mx_InviteDialog_editor {
        -webkit-box-flex: 1;
            -ms-flex: 1;
                flex: 1;
        width: 100%; /* Needed to make the Field inside grow */
        background-color: var(--roomlist-background-color);
        border-radius: 4px;
        min-height: 25px;
        -webkit-padding-start: 8px;
                padding-inline-start: 8px;
        overflow-x: hidden;
        overflow-y: auto;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    }

.mx_InviteDialog_addressBar .mx_InviteDialog_editor .mx_InviteDialog_userTile {
            margin: 6px 6px 0 0;
            display: inline-block;
            min-width: -webkit-max-content;
            min-width: -moz-max-content;
            min-width: max-content; /* prevent manipulation by flexbox */
        }

/* overrides bunch of our default text input styles */

.mx_InviteDialog_addressBar .mx_InviteDialog_editor > input[type="text"] {
            margin: 6px 0 !important;
            height: 24px;
            font: var(--cpd-font-body-md-regular);
            line-height: 1.5rem;
            -webkit-padding-start: 12px;
                    padding-inline-start: 12px;
            border: 0 !important;
            outline: 0 !important;
            resize: none;
            -webkit-box-sizing: border-box;
                    box-sizing: border-box;
            min-width: 40%;
            -webkit-box-flex: 1 !important;
                -ms-flex: 1 !important;
                    flex: 1 !important;
            color: var(--timeline-text-color) !important;
        }

.mx_InviteDialog_addressBar .mx_InviteDialog_goButton {
        min-width: 48px;
        -webkit-margin-start: 10px;
                margin-inline-start: 10px;
        height: 25px;
        line-height: 1.5625rem;
    }

.mx_InviteDialog_addressBar .mx_InviteDialog_buttonAndSpinner .mx_Spinner {
            /* Width and height are required to trick the layout engine. */
            width: 20px;
            height: 20px;
            -webkit-margin-start: 5px;
                    margin-inline-start: 5px;
            display: inline-block;
            vertical-align: middle;
        }

.mx_InviteDialog_section {
    padding-bottom: 4px;
}

.mx_InviteDialog_section h3 {
        font-size: 0.75rem;
        color: #a1b2d1;
        font-weight: bold;
        text-transform: uppercase;
    }

.mx_InviteDialog_section > p {
        margin: 0;
    }

.mx_InviteDialog_section > span {
        color: var(--timeline-text-color);
    }

.mx_InviteDialog_section .mx_InviteDialog_section_showMore {
        margin: 7px 18px;
        display: block;
    }

.mx_InviteDialog_section_hidden_suggestions_disclaimer {
    padding: 8px 0 16px 0;
    font: var(--cpd-font-body-md-regular);
}

.mx_InviteDialog_section_hidden_suggestions_disclaimer > span {
        color: var(--timeline-text-color);
        font-weight: var(--cpd-font-weight-semibold);
    }

.mx_InviteDialog_section_hidden_suggestions_disclaimer > p {
        margin: 0;
    }

.mx_InviteDialog_footer {
    border-top: 1px solid #e7e7e7;
}

.mx_InviteDialog_footer > h3 {
        margin: 12px 0;
        font-size: 0.75rem;
        color: #a1b2d1;
        font-weight: bold;
        text-transform: uppercase;
    }

.mx_InviteDialog_footer .mx_CopyableText.mx_CopyableText_border {
        width: auto;
        width: initial; /* full width */
        margin-bottom: 0;
    }

.mx_InviteDialog_footer .mx_CopyableText.mx_CopyableText_border > a {
            text-decoration: none;
            -ms-flex-negative: 1;
                flex-shrink: 1;
            overflow: hidden;
            text-overflow: ellipsis;
        }

/* Many of these styles are stolen from mx_UserPill, but adjusted for the invite dialog. */

.mx_InviteDialog_userTile {
    -webkit-margin-end: 8px;
            margin-inline-end: 8px;
}

.mx_InviteDialog_userTile .mx_InviteDialog_userTile_pill {
        background-color: var(--cpd-color-bg-canvas-default);
        border: 1px solid var(--cpd-color-gray-400);
        border-radius: 99px;
        display: inline-block;
        height: 24px;
        line-height: 1.5rem;
        padding-inline: 8px;
        vertical-align: middle;
        color: var(--cpd-color-gray-1100);
    }

.mx_InviteDialog_userTile .mx_InviteDialog_userTile_pill .mx_SearchResultAvatar {
            border-radius: 20px;
            position: relative;
            left: -5px;
            top: 2px;
        }

.mx_InviteDialog_userTile .mx_InviteDialog_userTile_pill img.mx_SearchResultAvatar {
            vertical-align: top;
        }

.mx_InviteDialog_userTile .mx_InviteDialog_userTile_pill .mx_InviteDialog_userTile_name {
            vertical-align: top;
        }

.mx_InviteDialog_userTile .mx_InviteDialog_userTile_pill .mx_SearchResultAvatar_threepidAvatar {
            background-color: #ffffff; /* this is fine without a var because it's for both themes */
        }

.mx_InviteDialog_userTile .mx_InviteDialog_userTile_remove {
        display: inline-block;
        vertical-align: middle;
    }

.mx_InviteDialog_userTile .mx_InviteDialog_userTile_remove svg {
            vertical-align: middle;
        }

.mx_InviteDialog_other {
    /* Prevent the dialog from jumping around randomly when elements change. */
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    height: 600px;
    overflow: hidden;
}

.mx_InviteDialog_other h2 {
        display: -webkit-box;
        -webkit-line-clamp: 2;
        -webkit-box-orient: vertical;
        white-space: pre-wrap;
        overflow: hidden;
    }

.mx_InviteDialog_other .mx_InviteDialog_addressBar {
        -webkit-margin-end: 0;
                margin-inline-end: 0;
    }

.mx_InviteDialog_other .mx_InviteDialog_userSections {
        -webkit-box-flex: 1;
            -ms-flex-positive: 1;
                flex-grow: 1;
        -webkit-padding-end: 0;
                padding-inline-end: 0;
    }

.mx_InviteDialog_other .mx_InviteDialog_userSections .mx_InviteDialog_section {
            padding-bottom: 0;
            margin-top: 12px;
        }

.mx_InviteDialog_content {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    overflow: hidden;
}

.mx_InviteDialog_transfer {
    width: auto;
}

.mx_InviteDialog_transfer .mx_InviteDialog_content {
        width: 496px;
        height: 430px;
        overflow: visible;
    }

.mx_InviteDialog_transfer .mx_InviteDialog_content .mx_TabbedView {
            display: -webkit-box;
            display: -ms-flexbox;
            display: flex;
            -webkit-box-orient: vertical;
            -webkit-box-direction: normal;
                -ms-flex-direction: column;
                    flex-direction: column;
            -ms-flex-negative: 1;
                flex-shrink: 1;
            -webkit-box-flex: 1;
                -ms-flex-positive: 1;
                    flex-grow: 1;
            min-height: 0;
        }

.mx_InviteDialog_transfer .mx_InviteDialog_content .mx_TabbedView .mx_TabbedView_tabPanel {
                -webkit-box-orient: vertical;
                -webkit-box-direction: normal;
                    -ms-flex-direction: column;
                        flex-direction: column;
            }

.mx_InviteDialog_transfer .mx_InviteDialog_content .mx_TabbedView .mx_TabbedView_tabPanel .mx_TabbedView_tabPanelContent {
                    display: -webkit-box;
                    display: -ms-flexbox;
                    display: flex;
                    -webkit-box-orient: vertical;
                    -webkit-box-direction: normal;
                        -ms-flex-direction: column;
                            flex-direction: column;
                }

.mx_InviteDialog_transfer .mx_InviteDialog_addressBar {
        margin-top: 8px;
    }

.mx_InviteDialog_transfer input[type="checkbox"] {
        -webkit-margin-end: 8px;
                margin-inline-end: 8px;
    }

.mx_InviteDialog_userSections {
    margin-top: 4px;
    overflow-y: auto;
    padding: 0 45px 4px 0;
}

.mx_InviteDialog_helpText {
    margin: 0;
}

.mx_InviteDialog_dialPad {
    width: 224px;
    margin-top: 16px;
    margin-inline: auto;
}

.mx_InviteDialog_dialPad .mx_InviteDialog_dialPadField {
        border-top: 0;
        border-inline: 0;
        border-radius: 0;
        margin-top: 0;
        border-color: #6f7882;
        border-color: var(--quaternary-content, #6f7882);
    }

.mx_InviteDialog_dialPad .mx_InviteDialog_dialPadField:focus-within {
            border-color: #0dbd8b;
            border-color: var(--accent-color, #0dbd8b);
        }

.mx_InviteDialog_dialPad .mx_InviteDialog_dialPadField input {
            font-size: 18px;
            font-weight: var(--cpd-font-weight-semibold);
            padding-top: 0;
        }

.mx_InviteDialog_dialPad .mx_InviteDialog_dialPadField .mx_Field_postfix {
            /* Remove border separator between postfix and field content */
            border-left: none;
        }

.mx_InviteDialog_dialPad .mx_DialPad {
        row-gap: 16px;
        -webkit-column-gap: 48px;
           -moz-column-gap: 48px;
                column-gap: 48px;
        margin-inline: auto;
    }

.mx_InviteDialog_transferConsultConnect {
    padding-top: 16px;
    /* This wants a drop shadow the full width of the dialog, so use negative margin to make it full width,
     * then compensate with padding
     */
    padding-inline: 24px;
    margin-inline: calc(-1 * 24px);
    border-top: 1px solid #6f7882;
    border-top: 1px solid var(--quinary-content, #6f7882);

    display: -webkit-box;

    display: -ms-flexbox;

    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
}

.mx_InviteDialog_transferConsultConnect_pushRight {
    -webkit-margin-start: auto;
            margin-inline-start: auto;
}

.mx_InviteDialog_userDirectoryIcon::before {
    -webkit-mask-image: url(../../img/voip/tab-userdirectory.6dac23d.svg);
            mask-image: url(../../img/voip/tab-userdirectory.6dac23d.svg);
}

.mx_InviteDialog_dialPadIcon::before {
    -webkit-mask-image: url(../../img/voip/tab-dialpad.5fb10f3.svg);
            mask-image: url(../../img/voip/tab-dialpad.5fb10f3.svg);
}

.mx_InviteDialog_tile {
    cursor: pointer;
    display: grid;
    grid-gap: 8px 12px;
    gap: 8px 12px;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
}

.mx_InviteDialog_tile.mx_InviteDialog_tile--room {
        /* mx_InviteDialog_tile_avatarStack, mx_InviteDialog_tile_nameStack, time */
        grid-template-columns: -webkit-min-content auto auto;
        grid-template-columns: min-content auto auto;
        padding: 4px 8px;
    }

.mx_InviteDialog_tile.mx_InviteDialog_tile--room:hover {
            background-color: var(--roomlist-background-color);
            border-radius: 4px;
        }

.mx_InviteDialog_tile.mx_InviteDialog_tile--room .mx_InviteDialog_tile--room_selected {
            border-radius: 36px;
            background-color: var(--cpd-color-bg-success-subtle);
        }

.mx_InviteDialog_tile.mx_InviteDialog_tile--room .mx_InviteDialog_tile--room_selected::before {
                content: "";
                width: 24px;
                height: 24px;
                grid-column: 1;
                grid-row: 1;
                -webkit-mask-image: url(../../icons/check.3fc654f.svg);
                        mask-image: url(../../icons/check.3fc654f.svg);
                -webkit-mask-size: 100%;
                        mask-size: 100%;
                -webkit-mask-repeat: no-repeat;
                        mask-repeat: no-repeat;
                position: absolute;
                top: 6px; /* 50% */
                left: 6px; /* 50% */
                background-color: var(--timeline-text-color);
            }

.mx_InviteDialog_tile.mx_InviteDialog_tile--room .mx_InviteDialog_tile--room_time {
            -webkit-margin-start: auto;
                    margin-inline-start: auto;
            width: -webkit-max-content;
            width: -moz-max-content;
            width: max-content;
            font-size: 0.75rem;
            color: #a1b2d1;
        }

.mx_InviteDialog_tile.mx_InviteDialog_tile--room .mx_InviteDialog_tile--room_highlight {
            font-weight: 900;
        }

.mx_InviteDialog_tile.mx_InviteDialog_tile--inviterError {
        grid-template-columns: -webkit-max-content auto;
        grid-template-columns: max-content auto; /* max-content = avatar width */
        margin-bottom: 24px;
    }

.mx_InviteDialog_tile.mx_InviteDialog_tile--inviterError:last-child {
            margin-bottom: 0;
        }

.mx_InviteDialog_tile.mx_InviteDialog_tile--inviterError .mx_InviteDialog_tile--inviterError_errorText {
            grid-row-start: 2;
            grid-column-start: 2;

            font-size: 0.9375rem;
            color: #ff5b55;
            color: var(--alert, #ff5b55);
        }

.mx_InviteDialog_tile * {
        vertical-align: middle;
    }

.mx_InviteDialog_tile .mx_InviteDialog_tile_avatarStack,
    .mx_InviteDialog_tile .mx_InviteDialog_tile--room_selected {
        width: 36px;
        height: 36px;
        display: inline-block;
        position: relative;
    }

.mx_InviteDialog_tile .mx_InviteDialog_tile_avatarStack {
        grid-row-start: 1;
        grid-column-start: 1;
    }

.mx_InviteDialog_tile .mx_InviteDialog_tile_avatarStack > * {
            position: absolute;
            top: 0;
            left: 0;
        }

.mx_InviteDialog_tile .mx_InviteDialog_tile_nameStack {
        grid-row-start: 1;
        grid-column-start: 2;

        display: -webkit-box;

        display: -ms-flexbox;

        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-flow: column;
                flex-flow: column;
        align-self: center;
        -webkit-box-align: baseline;
            -ms-flex-align: baseline;
                align-items: baseline;
        gap: 2px 0;
        overflow: hidden;
    }

.mx_InviteDialog_tile .mx_InviteDialog_tile_nameStack .mx_InviteDialog_tile_nameStack_name,
        .mx_InviteDialog_tile .mx_InviteDialog_tile_nameStack .mx_InviteDialog_tile_nameStack_userId {
            overflow: hidden;
            text-overflow: ellipsis;
            white-space: nowrap;
            max-width: 100%;
        }

.mx_InviteDialog_tile .mx_InviteDialog_tile_nameStack .mx_InviteDialog_tile_nameStack_name {
            font-size: 0.9375rem;
            font-weight: var(--cpd-font-weight-semibold);
            color: var(--timeline-text-color);
        }

.mx_InviteDialog_tile .mx_InviteDialog_tile_nameStack .mx_InviteDialog_tile_nameStack_userId {
            font-size: 0.75rem;
            color: #a1b2d1;
        }

.mx_InviteDialog_multiInviterError > h4 {
        font-size: 0.9375rem;
        line-height: 1.5rem;
        color: #edf3ff;
        color: var(--secondary-content, #edf3ff);
        font-weight: normal;
    }

.mx_InviteDialog_identityServer {
    margin-top: 1em;
}

.mx_InviteDialog_oneThreepid {
    font-size: 0.75rem;
    margin: 8px 0;
}

/*
Copyright 2024 New Vector Ltd.
Copyright 2021 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_JoinRuleDropdown {
    margin-bottom: 8px;
    font: var(--cpd-font-body-md-regular);
    color: var(--timeline-text-color);
}

.mx_JoinRuleDropdown .mx_Dropdown_option {
        font: var(--cpd-font-body-md-regular);
        line-height: 2rem;
        height: 32px;
        min-height: 32px;
    }

.mx_JoinRuleDropdown .mx_Dropdown_option > div {
            padding-left: 30px;
            position: relative;
        }

.mx_JoinRuleDropdown .mx_Dropdown_option > div::before {
                content: "";
                position: absolute;
                height: 16px;
                width: 16px;
                left: 6px;
                top: 8px;
                -webkit-mask-repeat: no-repeat;
                        mask-repeat: no-repeat;
                -webkit-mask-position: center;
                        mask-position: center;
                background-color: #edf3ff;
                background-color: var(--secondary-content, #edf3ff);
            }

.mx_JoinRuleDropdown .mx_Dropdown_option > div.mx_JoinRuleDropdown_knock::before {
                content: normal;
            }

.mx_JoinRuleDropdown .mx_JoinRuleDropdown_invite::before {
        -webkit-box-sizing: border-box;
                box-sizing: border-box;
        -webkit-mask-image: url(../../icons/lock-solid.6a2e583.svg);
                mask-image: url(../../icons/lock-solid.6a2e583.svg);
        -webkit-mask-size: contain;
                mask-size: contain;
        padding: 1px;
    }

.mx_JoinRuleDropdown .mx_JoinRuleDropdown_public::before {
        -webkit-mask-image: url(../../icons/public.df992ad.svg);
                mask-image: url(../../icons/public.df992ad.svg);
    }

.mx_JoinRuleDropdown .mx_JoinRuleDropdown_restricted::before {
        -webkit-mask-image: url(../../img/element-icons/group-members.d86d751.svg);
                mask-image: url(../../img/element-icons/group-members.d86d751.svg);
        -webkit-mask-size: contain;
                mask-size: contain;
    }

.mx_JoinRuleDropdown .mx_JoinRuleDropdown_icon {
        color: #edf3ff;
        color: var(--secondary-content, #edf3ff);
        position: absolute;
        left: 6px;
        top: 8px;
    }

/*
Copyright 2024 New Vector Ltd.
Copyright 2021 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_LeaveSpaceDialog_wrapper .mx_Dialog {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column;
        padding: 24px 32px;
    }

.mx_LeaveSpaceDialog_wrapper .mx_Dialog .mx_LeaveSpaceDialog {
            width: 440px;
            display: -webkit-box;
            display: -ms-flexbox;
            display: flex;
            -webkit-box-orient: vertical;
            -webkit-box-direction: normal;
                -ms-flex-direction: column;
                    flex-direction: column;
            -ms-flex-wrap: nowrap;
                flex-wrap: nowrap;
            height: 520px;
        }

.mx_LeaveSpaceDialog_wrapper .mx_Dialog .mx_LeaveSpaceDialog .mx_Dialog_content {
                -webkit-box-flex: 1;
                    -ms-flex-positive: 1;
                        flex-grow: 1;
                margin: 0;
                overflow-y: auto;
            }

.mx_LeaveSpaceDialog_wrapper .mx_Dialog .mx_LeaveSpaceDialog .mx_Dialog_content .mx_LeaveSpaceDialog_section_warning {
                    position: relative;
                    border-radius: 8px;
                    margin: 12px 0 0;
                    padding: 12px 8px 12px 42px;
                    background-color: var(--roomlist-background-color);

                    font-size: 0.75rem;
                    line-height: 0.9375rem;
                    color: #edf3ff;
                    color: var(--secondary-content, #edf3ff);
                }

.mx_LeaveSpaceDialog_wrapper .mx_Dialog .mx_LeaveSpaceDialog .mx_Dialog_content .mx_LeaveSpaceDialog_section_warning::before {
                        content: "";
                        position: absolute;
                        left: 10px;
                        top: calc(50% - 8px); /* vertical centering */
                        height: 16px;
                        width: 16px;
                        background-color: #edf3ff;
                        background-color: var(--secondary-content, #edf3ff);
                        -webkit-mask-repeat: no-repeat;
                                mask-repeat: no-repeat;
                        -webkit-mask-size: contain;
                                mask-size: contain;
                        -webkit-mask-image: url(../../icons/info-solid.cd635a2.svg);
                                mask-image: url(../../icons/info-solid.cd635a2.svg);
                        -webkit-mask-position: center;
                                mask-position: center;
                    }

.mx_LeaveSpaceDialog_wrapper .mx_Dialog .mx_LeaveSpaceDialog .mx_Dialog_content > p {
                    color: var(--timeline-text-color);
                }

/*
Copyright 2024 New Vector Ltd.
Copyright 2022 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_LocationViewDialog_wrapper .mx_Dialog {
    padding: 0px;
}

.mx_LocationViewDialog {
    /* subtract 0.5px to prevent single-pixel margin due to rounding */
    width: calc(80vw - 0.5px);
    height: calc(80vh - 0.5px);
    overflow: hidden;
}

.mx_LocationViewDialog .mx_Dialog_header {
        margin: 0px;
        padding: 0px;
        position: static;
        position: initial;
    }

.mx_LocationViewDialog .mx_Dialog_header .mx_Dialog_title {
            display: none;
        }

.mx_LocationViewDialog .mx_Dialog_cancelButton {
        z-index: 4010;
        position: absolute;
        left: var(--cpd-space-4x);
        top: var(--cpd-space-4x);
    }

.mx_LocationViewDialog_map {
    width: 80vw;
    height: 80vh;
    border-radius: 8px;
}

/*
Copyright 2024 New Vector Ltd.
Copyright 2023 Manan Sadana <manancodes.dev@gmail.com>

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_LogoutDialog_ExportKeyAdvanced {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
}

/*
Copyright 2024 New Vector Ltd.
Copyright 2021 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_ManageRestrictedJoinRuleDialog_wrapper .mx_Dialog {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column;
    }

.mx_ManageRestrictedJoinRuleDialog {
    width: 480px;
    color: var(--timeline-text-color);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    min-height: 0;
    height: 60vh;
}

.mx_ManageRestrictedJoinRuleDialog .mx_SearchBox {
        /* To match the space around the title */
        margin: 0 0 15px 0;
        -webkit-box-flex: 0;
            -ms-flex-positive: 0;
                flex-grow: 0;
    }

.mx_ManageRestrictedJoinRuleDialog .mx_ManageRestrictedJoinRuleDialog_content {
        -webkit-box-flex: 1;
            -ms-flex-positive: 1;
                flex-grow: 1;
    }

.mx_ManageRestrictedJoinRuleDialog .mx_ManageRestrictedJoinRuleDialog_noResults {
        display: block;
        margin-top: 24px;
    }

.mx_ManageRestrictedJoinRuleDialog .mx_ManageRestrictedJoinRuleDialog_section:not(:first-child) {
            margin-top: 24px;
        }

.mx_ManageRestrictedJoinRuleDialog .mx_ManageRestrictedJoinRuleDialog_section > h3 {
            margin: 0;
            color: #edf3ff;
            color: var(--secondary-content, #edf3ff);
            font-size: 0.75rem;
            font-weight: var(--cpd-font-weight-semibold);
            line-height: 0.9375rem;
        }

.mx_ManageRestrictedJoinRuleDialog .mx_ManageRestrictedJoinRuleDialog_section .mx_ManageRestrictedJoinRuleDialog_entry {
            display: -webkit-box;
            display: -ms-flexbox;
            display: flex;
            margin-top: 12px;
        }

.mx_ManageRestrictedJoinRuleDialog .mx_ManageRestrictedJoinRuleDialog_section .mx_ManageRestrictedJoinRuleDialog_entry > div {
                -webkit-box-flex: 1;
                    -ms-flex-positive: 1;
                        flex-grow: 1;
            }

.mx_ManageRestrictedJoinRuleDialog .mx_ManageRestrictedJoinRuleDialog_section .mx_ManageRestrictedJoinRuleDialog_entry .mx_ManageRestrictedJoinRuleDialog_entry_name {
                margin: 0 8px;
                font-size: 0.9375rem;
                line-height: 30px;
                -webkit-box-flex: 1;
                    -ms-flex-positive: 1;
                        flex-grow: 1;
                overflow: hidden;
                white-space: nowrap;
                text-overflow: ellipsis;
            }

.mx_ManageRestrictedJoinRuleDialog .mx_ManageRestrictedJoinRuleDialog_section .mx_ManageRestrictedJoinRuleDialog_entry .mx_ManageRestrictedJoinRuleDialog_entry_description {
                margin-top: 8px;
                font-size: 0.75rem;
                line-height: 0.9375rem;
                color: #edf3ff;
                color: var(--tertiary-content, #edf3ff);
            }

.mx_ManageRestrictedJoinRuleDialog .mx_ManageRestrictedJoinRuleDialog_section .mx_ManageRestrictedJoinRuleDialog_entry .mx_Checkbox {
                -webkit-box-align: center;
                    -ms-flex-align: center;
                        align-items: center;
            }

.mx_ManageRestrictedJoinRuleDialog .mx_ManageRestrictedJoinRuleDialog_section_spaces .mx_BaseAvatar {
            margin-right: 12px;
        }

.mx_ManageRestrictedJoinRuleDialog .mx_ManageRestrictedJoinRuleDialog_section_info {
        position: relative;
        border-radius: 8px;
        margin: 12px 0;
        padding: 8px 8px 8px 42px;
        background-color: var(--roomlist-background-color);

        font-size: 0.75rem;
        line-height: 0.9375rem;
        color: #edf3ff;
        color: var(--secondary-content, #edf3ff);
    }

.mx_ManageRestrictedJoinRuleDialog .mx_ManageRestrictedJoinRuleDialog_section_info::before {
            content: "";
            position: absolute;
            left: 10px;
            top: calc(50% - 8px); /* vertical centering */
            height: 16px;
            width: 16px;
            background-color: #edf3ff;
            background-color: var(--secondary-content, #edf3ff);
            -webkit-mask-repeat: no-repeat;
                    mask-repeat: no-repeat;
            -webkit-mask-size: contain;
                    mask-size: contain;
            -webkit-mask-image: url(../../icons/info-solid.cd635a2.svg);
                    mask-image: url(../../icons/info-solid.cd635a2.svg);
            -webkit-mask-position: center;
                    mask-position: center;
        }

.mx_ManageRestrictedJoinRuleDialog .mx_ManageRestrictedJoinRuleDialog_footer {
        margin-top: 20px;
    }

.mx_ManageRestrictedJoinRuleDialog .mx_ManageRestrictedJoinRuleDialog_footer .mx_ManageRestrictedJoinRuleDialog_footer_buttons {
            display: -webkit-box;
            display: -ms-flexbox;
            display: flex;
            width: -webkit-max-content;
            width: -moz-max-content;
            width: max-content;
            margin-left: auto;
        }

.mx_ManageRestrictedJoinRuleDialog .mx_ManageRestrictedJoinRuleDialog_footer .mx_ManageRestrictedJoinRuleDialog_footer_buttons .mx_AccessibleButton {
                display: inline-block;
            }

.mx_ManageRestrictedJoinRuleDialog .mx_ManageRestrictedJoinRuleDialog_footer .mx_ManageRestrictedJoinRuleDialog_footer_buttons .mx_AccessibleButton + .mx_AccessibleButton {
                    margin-left: 24px;
                }

/*
Copyright 2024 New Vector Ltd.
Copyright 2019 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_MessageEditHistoryDialog {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    max-height: 60vh;
}

.mx_MessageEditHistoryDialog_scrollPanel {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 auto;
            flex: 1 1 auto;
}

.mx_MessageEditHistoryDialog_error {
    color: #ff5b55;
    color: var(--alert, #ff5b55);
    text-align: center;
}

.mx_MessageEditHistoryDialog_edits {
    list-style-type: none;
    font: var(--cpd-font-body-md-regular);
    padding: 0;
    color: var(--timeline-text-color);
}

.mx_MessageEditHistoryDialog_edits span.mx_EditHistoryMessage_deletion,
    .mx_MessageEditHistoryDialog_edits span.mx_EditHistoryMessage_insertion {
        padding: 0px 2px;
    }

.mx_MessageEditHistoryDialog_edits .mx_EditHistoryMessage_deletion {
        color: rgb(255, 76, 85);
        background-color: rgba(255, 76, 85, 0.1);
        text-decoration: line-through;
    }

.mx_MessageEditHistoryDialog_edits .mx_EditHistoryMessage_insertion {
        color: rgb(26, 169, 123);
        background-color: rgba(26, 169, 123, 0.1);
        text-decoration: underline;
    }

/* Emulate mx_EventTile[data-layout="group"] */

.mx_MessageEditHistoryDialog_edits .mx_EventTile {
        padding-top: 0;
    }

.mx_MessageEditHistoryDialog_edits .mx_EventTile .mx_MessageTimestamp {
            position: absolute;
            left: 0;
            text-align: center;
        }

.mx_MessageEditHistoryDialog_edits .mx_EventTile .mx_EventTile_line {
            padding-top: var(--EventTile_group_line-spacing-block-start);
            padding-bottom: var(--EventTile_group_line-spacing-block-end);
            padding-left: var(--EventTile_group_line-spacing-inline-start);
            line-height: var(--EventTile_group_line-line-height);
        }

.mx_MessageEditHistoryDialog_edits .mx_EventTile .mx_EventTile_line .mx_EventTile_content {
                margin-right: 0px;
            }

.mx_MessageEditHistoryDialog_edits .mx_EventTile::before {
            content: "";
            position: absolute;
            top: -1px;
            bottom: -1px;
            left: -10px;
            right: -10px;
            z-index: -1;
            border-radius: 4px;
        }

.mx_MessageEditHistoryDialog_edits .mx_EventTile:hover::before {
                background: #1c2026;
                background: var(--eventbubble-bg-hover, #1c2026);
            }

.mx_MessageEditHistoryDialog_edits .mx_MessageActionBar .mx_AccessibleButton {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;

        -webkit-padding-start: 8px;

                padding-inline-start: 8px;
        -webkit-padding-end: 8px;
                padding-inline-end: 8px;

        font-size: 0.9375rem;
    }

/*
Copyright 2024 New Vector Ltd.
Copyright 2020 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_ModalWidgetDialog .mx_ModalWidgetDialog_warning {
        margin-bottom: 24px;
    }

.mx_ModalWidgetDialog .mx_ModalWidgetDialog_warning > img {
            vertical-align: middle;
            margin-right: 8px;
        }

.mx_ModalWidgetDialog .mx_ModalWidgetDialog_buttons {
        float: right;
        margin-top: 24px;
    }

.mx_ModalWidgetDialog .mx_ModalWidgetDialog_buttons .mx_AccessibleButton + .mx_AccessibleButton {
            margin-left: 8px;
        }

.mx_ModalWidgetDialog iframe {
        width: 100%;
        height: 450px;
        border: 0;
        border-radius: 8px;
    }

/*
Copyright 2024 New Vector Ltd.
Copyright 2021 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_PollCreateDialog .mx_PollCreateDialog_busy {
        position: absolute;
        inset: 0;
        background-color: rgba(24,27,33, 0.85);
        z-index: 1;
    }

.mx_PollCreateDialog h2 {
        font-weight: var(--cpd-font-weight-semibold);
        font-size: 0.9375rem;
        line-height: 1.5rem;
        margin-top: 0;
        margin-bottom: 8px;
    }

.mx_PollCreateDialog h2:nth-child(n + 2) {
            margin-top: 20px;
        }

.mx_PollCreateDialog p {
        color: #edf3ff;
        color: var(--secondary-content, #edf3ff);
    }

.mx_PollCreateDialog .mx_PollCreateDialog_option {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        margin-top: 11px;
        margin-bottom: 16px; /* 11px from the top will collapse, so this creates a 16px gap between options */
    }

.mx_PollCreateDialog .mx_PollCreateDialog_option .mx_Field {
            -webkit-box-flex: 1;
                -ms-flex: 1;
                    flex: 1;
            margin: 0;
        }

.mx_PollCreateDialog .mx_PollCreateDialog_option .mx_PollCreateDialog_removeOption {
            margin-left: 12px;
            width: 20px;
            height: 20px;
            border-radius: 50%;
            background-color: #6f7882;
            background-color: var(--quinary-content, #6f7882);
            cursor: pointer;
            position: relative;
        }

.mx_PollCreateDialog .mx_PollCreateDialog_option .mx_PollCreateDialog_removeOption::before {
                content: "";
                -webkit-mask: url(../../icons/close.dce71fd.svg);
                        mask: url(../../icons/close.dce71fd.svg);
                -webkit-mask-repeat: no-repeat;
                        mask-repeat: no-repeat;
                -webkit-mask-position: center;
                        mask-position: center;
                -webkit-mask-size: 16px;
                        mask-size: 16px;
                width: inherit;
                height: inherit;
                position: absolute;
                background-color: #edf3ff;
                background-color: var(--secondary-content, #edf3ff);
            }

.mx_PollCreateDialog .mx_PollCreateDialog_addOption {
        padding: 0;
        margin-bottom: 40px; /* arbitrary to create scrollable area under the poll */
    }

.mx_PollCreateDialog .mx_AccessibleButton_disabled {
        opacity: 0.4;
    }

/*
Copyright 2024 New Vector Ltd.
Copyright 2020 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_RegistrationEmailPromptDialog {
    width: 417px;
}

.mx_RegistrationEmailPromptDialog .mx_Dialog_content {
        margin-bottom: 24px;
        color: #edf3ff;
        color: var(--tertiary-content, #edf3ff);
    }

.mx_RegistrationEmailPromptDialog .mx_Dialog_primary {
        width: 100%;
    }

/*
Copyright 2019-2024 New Vector Ltd.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

/* ICONS */

/* ========================================================== */

.mx_RoomSettingsDialog_settingsIcon::before {
    -webkit-mask-image: url(../../icons/settings-solid.5cd4545.svg);
            mask-image: url(../../icons/settings-solid.5cd4545.svg);
}

.mx_RoomSettingsDialog_voiceIcon::before {
    -webkit-mask-image: url(../../img/element-icons/call/voice-call.85002aa.svg);
            mask-image: url(../../img/element-icons/call/voice-call.85002aa.svg);
}

.mx_RoomSettingsDialog_securityIcon::before {
    -webkit-mask-image: url(../../icons/lock-solid.6a2e583.svg);
            mask-image: url(../../icons/lock-solid.6a2e583.svg);
}

.mx_RoomSettingsDialog_rolesIcon::before {
    -webkit-mask-image: url(../../img/element-icons/room/settings/roles.ace4f24.svg);
            mask-image: url(../../img/element-icons/room/settings/roles.ace4f24.svg);
}

.mx_RoomSettingsDialog_notificationsIcon::before {
    -webkit-mask-image: url(../../img/element-icons/notifications.988ddb0.svg);
            mask-image: url(../../img/element-icons/notifications.988ddb0.svg);
}

.mx_RoomSettingsDialog_bridgesIcon::before {
    /* This icon is pants, please improve :) */
    -webkit-mask-image: url(../../img/feather-customised/bridge.8ca4493.svg);
            mask-image: url(../../img/feather-customised/bridge.8ca4493.svg);
}

.mx_RoomSettingsDialog_pollsIcon::before {
    -webkit-mask-image: url(../../img/element-icons/room/composer/poll.a8ee2f3.svg);
            mask-image: url(../../img/element-icons/room/composer/poll.a8ee2f3.svg);
}

.mx_RoomSettingsDialog_warningIcon::before {
    -webkit-mask-image: url(../../img/element-icons/room/settings/advanced.5744e03.svg);
            mask-image: url(../../img/element-icons/room/settings/advanced.5744e03.svg);
}

.mx_RoomSettingsDialog_peopleIcon::before {
    -webkit-mask-image: url(../../img/element-icons/group-members.d86d751.svg);
            mask-image: url(../../img/element-icons/group-members.d86d751.svg);
}

.mx_RoomSettingsDialog .mx_Dialog_title {
    -ms-text-overflow: ellipsis;
    text-overflow: ellipsis;
    white-space: nowrap;
    overflow: hidden;
    margin: 0 auto;
    padding-right: 80px;
}

/* show a different AvatarSetting placeholder for RoomProfileSettings which is basically a clone of ProfileSettings */

.mx_RoomSettingsDialog .mx_AvatarSetting_avatar .mx_AvatarSetting_avatarPlaceholder::before {
    -webkit-mask: url(../../icons/image.1fd8a42.svg);
            mask: url(../../icons/image.1fd8a42.svg);
    -webkit-mask-repeat: no-repeat;
            mask-repeat: no-repeat;
    -webkit-mask-size: 36px;
            mask-size: 36px;
    -webkit-mask-position: center;
            mask-position: center;
}

/*
Copyright 2024 New Vector Ltd.
Copyright 2020 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_RoomSettingsDialog_BridgeList {
    padding: 0;
}

.mx_RoomSettingsDialog_BridgeList li {
        list-style-type: none;
    }

.mx_RoomSettingsDialog_BridgeList li.mx_RoomSettingsDialog_BridgeList_listItem {
            display: -webkit-box;
            display: -ms-flexbox;
            display: flex;
            -ms-flex-wrap: wrap;
                flex-wrap: wrap;
            gap: 8px;
            padding: 5px;
            margin-bottom: 8px;

            /* border-style around each bridge list item */
            border-width: 1px 1px;
            border-color: var(--roomlist-separator-color);
            border-style: solid;
            border-radius: 5px;
        }

.mx_RoomSettingsDialog_BridgeList li.mx_RoomSettingsDialog_BridgeList_listItem .mx_RoomSettingsDialog_column_icon .mx_RoomSettingsDialog_protocolIcon,
                .mx_RoomSettingsDialog_BridgeList li.mx_RoomSettingsDialog_BridgeList_listItem .mx_RoomSettingsDialog_column_icon .mx_RoomSettingsDialog_protocolIcon span,
                .mx_RoomSettingsDialog_BridgeList li.mx_RoomSettingsDialog_BridgeList_listItem .mx_RoomSettingsDialog_column_icon .mx_RoomSettingsDialog_noProtocolIcon {
                    -webkit-box-sizing: border-box;
                            box-sizing: border-box;
                    border-radius: 5px;
                    border: 1px solid var(--roomlist-separator-color);
                }

.mx_RoomSettingsDialog_BridgeList li.mx_RoomSettingsDialog_BridgeList_listItem .mx_RoomSettingsDialog_column_icon .mx_RoomSettingsDialog_noProtocolIcon,
                .mx_RoomSettingsDialog_BridgeList li.mx_RoomSettingsDialog_BridgeList_listItem .mx_RoomSettingsDialog_column_icon .mx_RoomSettingsDialog_protocolIcon img {
                    border-radius: 5px;
                }

.mx_RoomSettingsDialog_BridgeList li.mx_RoomSettingsDialog_BridgeList_listItem .mx_RoomSettingsDialog_column_icon .mx_RoomSettingsDialog_noProtocolIcon {
                    width: 48px;
                    height: 48px;
                    background: var(--roomlist-separator-color);
                }

.mx_RoomSettingsDialog_BridgeList li.mx_RoomSettingsDialog_BridgeList_listItem .mx_RoomSettingsDialog_column_icon .mx_RoomSettingsDialog_protocolIcon img {
                        border-width: 1px 1px;
                        border-color: var(--roomlist-separator-color);
                    }

.mx_RoomSettingsDialog_BridgeList li.mx_RoomSettingsDialog_BridgeList_listItem .mx_RoomSettingsDialog_column_icon .mx_RoomSettingsDialog_protocolIcon span {
                        /* Correct letter placement */
                        left: auto;
                    }

.mx_RoomSettingsDialog_BridgeList li.mx_RoomSettingsDialog_BridgeList_listItem .mx_RoomSettingsDialog_column_data {
                display: inline-block;
                width: 85%;
            }

.mx_RoomSettingsDialog_BridgeList li.mx_RoomSettingsDialog_BridgeList_listItem .mx_RoomSettingsDialog_column_data .mx_RoomSettingsDialog_column_data_details,
                .mx_RoomSettingsDialog_BridgeList li.mx_RoomSettingsDialog_BridgeList_listItem .mx_RoomSettingsDialog_column_data .mx_RoomSettingsDialog_column_data_metadata,
                .mx_RoomSettingsDialog_BridgeList li.mx_RoomSettingsDialog_BridgeList_listItem .mx_RoomSettingsDialog_column_data .mx_RoomSettingsDialog_column_data_metadata li,
                .mx_RoomSettingsDialog_BridgeList li.mx_RoomSettingsDialog_BridgeList_listItem .mx_RoomSettingsDialog_column_data .mx_RoomSettingsDialog_column_data_protocolName {
                    margin-bottom: 0;
                }

.mx_RoomSettingsDialog_BridgeList li.mx_RoomSettingsDialog_BridgeList_listItem .mx_RoomSettingsDialog_column_data .mx_RoomSettingsDialog_column_data_details,
                .mx_RoomSettingsDialog_BridgeList li.mx_RoomSettingsDialog_BridgeList_listItem .mx_RoomSettingsDialog_column_data .mx_RoomSettingsDialog_column_data_metadata {
                    margin-top: 4px;
                }

.mx_RoomSettingsDialog_BridgeList li.mx_RoomSettingsDialog_BridgeList_listItem .mx_RoomSettingsDialog_column_data .mx_RoomSettingsDialog_column_data_metadata li {
                    margin-top: 8px;
                }

.mx_RoomSettingsDialog_BridgeList li.mx_RoomSettingsDialog_BridgeList_listItem .mx_RoomSettingsDialog_column_data .mx_RoomSettingsDialog_column_data_protocolName {
                    margin-top: 0;
                    font-size: 16pt;
                    color: var(--timeline-text-color);
                }

.mx_RoomSettingsDialog_BridgeList li.mx_RoomSettingsDialog_BridgeList_listItem .mx_RoomSettingsDialog_column_data .mx_RoomSettingsDialog_workspace_channel_details {
                    color: var(--timeline-text-color);
                    font-weight: var(--cpd-font-weight-semibold);
                }

.mx_RoomSettingsDialog_BridgeList li.mx_RoomSettingsDialog_BridgeList_listItem .mx_RoomSettingsDialog_column_data .mx_RoomSettingsDialog_workspace_channel_details .mx_RoomSettingsDialog_channel {
                        -webkit-margin-start: 5px;
                                margin-inline-start: 5px;
                    }

.mx_RoomSettingsDialog_BridgeList li.mx_RoomSettingsDialog_BridgeList_listItem .mx_RoomSettingsDialog_column_data .mx_RoomSettingsDialog_metadata {
                    color: #a1b2d1;
                    margin-bottom: 0;
                    overflow-y: visible;
                    text-overflow: ellipsis;
                    white-space: normal;
                    padding: 0;
                }

/*
Copyright 2018-2024 New Vector Ltd.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_RoomUpgradeDialog {
    padding-right: 70px;
}

/*
Copyright 2024 New Vector Ltd.
Copyright 2019-2021 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_RoomUpgradeWarningDialog {
    max-width: 38vw;
    width: 38vw;
}

.mx_RoomUpgradeWarningDialog .mx_RoomUpgradeWarningDialog_progress .mx_ProgressBar {
            height: 8px;
            width: 100%;

            border-radius: 8px;
        }

.mx_RoomUpgradeWarningDialog .mx_RoomUpgradeWarningDialog_progress .mx_ProgressBar::-moz-progress-bar {
        border-radius: 8px;
    }

.mx_RoomUpgradeWarningDialog .mx_RoomUpgradeWarningDialog_progress .mx_ProgressBar::-webkit-progress-bar,
    .mx_RoomUpgradeWarningDialog .mx_RoomUpgradeWarningDialog_progress .mx_ProgressBar::-webkit-progress-value {
        border-radius: 8px;
    }

.mx_RoomUpgradeWarningDialog .mx_RoomUpgradeWarningDialog_progress .mx_RoomUpgradeWarningDialog_progressText {
            margin-top: 8px;
            font-size: 0.9375rem;
            line-height: 1.5rem;
            color: var(--timeline-text-color);
        }

.mx_RoomUpgradeWarningDialog .mx_SettingsFlag {
    font-weight: 700;
}

.mx_RoomUpgradeWarningDialog .mx_SettingsFlag .mx_ToggleSwitch {
        display: inline-block;
        vertical-align: middle;
        margin-left: 8px;
        float: right;
    }

.mx_RoomUpgradeWarningDialog .mx_SettingsFlag .mx_SettingsFlag_label {
        display: inline-block;
        vertical-align: middle;
    }

/*
Copyright 2024 New Vector Ltd.
Copyright 2020 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_ServerOfflineDialog .mx_ServerOfflineDialog_content {
        padding-right: 85px;
        color: var(--timeline-text-color);
    }

.mx_ServerOfflineDialog .mx_ServerOfflineDialog_content hr {
            border-color: var(--timeline-text-color);
            opacity: 0.1;
            border-bottom: none;
        }

.mx_ServerOfflineDialog .mx_ServerOfflineDialog_content ul {
            padding: 16px;
        }

.mx_ServerOfflineDialog .mx_ServerOfflineDialog_content ul li:nth-child(n + 2) {
                margin-top: 16px;
            }

.mx_ServerOfflineDialog .mx_ServerOfflineDialog_content .mx_ServerOfflineDialog_content_context .mx_ServerOfflineDialog_content_context_timestamp {
                display: inline-block;
                width: 115px;
                color: #a1b2d1;
                line-height: 24px; /* same as avatar */
                vertical-align: top;
            }

.mx_ServerOfflineDialog .mx_ServerOfflineDialog_content .mx_ServerOfflineDialog_content_context .mx_ServerOfflineDialog_content_context_timeline {
                display: inline-block;
                width: calc(100% - 155px); /* 115px timestamp width + 40px right margin */
            }

.mx_ServerOfflineDialog .mx_ServerOfflineDialog_content .mx_ServerOfflineDialog_content_context .mx_ServerOfflineDialog_content_context_timeline .mx_ServerOfflineDialog_content_context_timeline_header span {
                        margin-left: 8px;
                        vertical-align: middle;
                    }

.mx_ServerOfflineDialog .mx_ServerOfflineDialog_content .mx_ServerOfflineDialog_content_context .mx_ServerOfflineDialog_content_context_timeline .mx_ServerOfflineDialog_content_context_txn {
                    position: relative;
                    margin-top: 8px;
                }

.mx_ServerOfflineDialog .mx_ServerOfflineDialog_content .mx_ServerOfflineDialog_content_context .mx_ServerOfflineDialog_content_context_timeline .mx_ServerOfflineDialog_content_context_txn .mx_ServerOfflineDialog_content_context_txn_desc {
                        width: calc(100% - 100px); /* 100px is an arbitrary margin for the button */
                    }

.mx_ServerOfflineDialog .mx_ServerOfflineDialog_content .mx_ServerOfflineDialog_content_context .mx_ServerOfflineDialog_content_context_timeline .mx_ServerOfflineDialog_content_context_txn .mx_AccessibleButton {
                        float: right;
                    }

/*
Copyright 2024 New Vector Ltd.
Copyright 2020 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_ServerPickerDialog {
    width: 468px;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
}

.mx_ServerPickerDialog .mx_Dialog_content {
        margin-bottom: 0;
    }

.mx_ServerPickerDialog .mx_Dialog_content > p {
            color: #edf3ff;
            color: var(--secondary-content, #edf3ff);
            font: var(--cpd-font-body-md-regular);

            margin: 16px 0;
        }

.mx_ServerPickerDialog .mx_Dialog_content > p:first-of-type {
                margin-bottom: 40px;
            }

.mx_ServerPickerDialog .mx_Dialog_content > p:last-of-type {
                margin: 0 24px 24px;
            }

.mx_ServerPickerDialog .mx_Dialog_content > h2 {
            font-size: 0.9375rem;
            font-weight: var(--cpd-font-weight-semibold);
            color: #edf3ff;
            color: var(--secondary-content, #edf3ff);
            margin: 16px 0 16px 8px;
        }

.mx_ServerPickerDialog .mx_Dialog_content > a {
            color: #0dbd8b;
            color: var(--accent-color, #0dbd8b);
            margin-left: 8px;
        }

.mx_ServerPickerDialog .mx_ServerPickerDialog_otherHomeserverRadio input[type="radio"] + div {
            margin-top: auto;
            margin-bottom: auto;
        }

.mx_ServerPickerDialog .mx_ServerPickerDialog_otherHomeserver {
        border-top: none;
        border-left: none;
        border-right: none;
        border-radius: 0;
        border-radius: initial;
    }

.mx_ServerPickerDialog .mx_ServerPickerDialog_otherHomeserver > input {
            padding-left: 0;
        }

.mx_ServerPickerDialog .mx_ServerPickerDialog_otherHomeserver > label {
            margin-left: 0;
        }

.mx_ServerPickerDialog .mx_AccessibleButton_kind_primary {
        width: calc(100% - 64px);
        margin: 0 8px;
        padding: 15px 18px;
    }

/*
Copyright 2024 New Vector Ltd.
Copyright 2017 Vector Creations Ltd

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_SetEmailDialog_email_input {
    border-radius: 3px;
    border: 1px solid #e7e7e7;
    padding: 9px;
    color: rgba(74, 74, 74, 0.9);
    background-color: var(--timeline-background-color);
    font-size: 0.9375rem;
    width: 100%;
    max-width: 280px;
    margin-bottom: 10px;
}

.mx_SetEmailDialog_email_input:focus {
    outline: none;
    -webkit-box-shadow: none;
            box-shadow: none;
    border: 1px solid #0dbd8b;
    border: 1px solid var(--accent-color, #0dbd8b);
}

/*
Copyright 2019-2024 New Vector Ltd.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

/* Not actually a component but things shared by settings components */

.mx_UserSettingsDialog,
.mx_RoomSettingsDialog,
.mx_SpaceSettingsDialog,
.mx_SpacePreferencesDialog {
    width: 90vw;
    max-width: 980px;
    /* set the height too since tabbed view scrolls itself. */
    height: 80vh;
}

.mx_UserSettingsDialog .mx_TabbedView, .mx_RoomSettingsDialog .mx_TabbedView, .mx_SpaceSettingsDialog .mx_TabbedView, .mx_SpacePreferencesDialog .mx_TabbedView {
        top: 90px;
    }

.mx_UserSettingsDialog .mx_TabbedView .mx_SettingsTab, .mx_RoomSettingsDialog .mx_TabbedView .mx_SettingsTab, .mx_SpaceSettingsDialog .mx_TabbedView .mx_SettingsTab, .mx_SpacePreferencesDialog .mx_TabbedView .mx_SettingsTab {
        -webkit-box-sizing: border-box;
                box-sizing: border-box;
        min-width: 580px;
        padding-right: 100px;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column;

        /* Put some padding on the bottom to avoid the settings tab from */
        /* colliding harshly with the dialog when scrolled down. */
        padding-bottom: 100px;
    }

/*
Copyright 2018-2024 New Vector Ltd.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_ShareDialog {
    /* Value from figma design */
    width: 416px;
}

.mx_ShareDialog .mx_Dialog_header {
        text-align: center;
        margin-bottom: var(--cpd-space-6x);
        /* Override dialog header padding to able to center it */
        -webkit-padding-end: 0;
                padding-inline-end: 0;
    }

.mx_ShareDialog .mx_ShareDialog_content {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column;
        gap: var(--cpd-space-6x);
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
    }

.mx_ShareDialog .mx_ShareDialog_content .mx_ShareDialog_top {
            display: -webkit-box;
            display: -ms-flexbox;
            display: flex;
            -webkit-box-orient: vertical;
            -webkit-box-direction: normal;
                -ms-flex-direction: column;
                    flex-direction: column;
            gap: var(--cpd-space-4x);
            -webkit-box-align: center;
                -ms-flex-align: center;
                    align-items: center;
            width: 100%;
        }

.mx_ShareDialog .mx_ShareDialog_content .mx_ShareDialog_top span {
                text-align: center;
                font: var(--cpd-font-body-sm-semibold);
                color: var(--cpd-color-text-secondary);
                text-overflow: ellipsis;
                white-space: nowrap;
                overflow: hidden;
                width: 100%;
            }

.mx_ShareDialog .mx_ShareDialog_content label {
            display: -webkit-inline-box;
            display: -ms-inline-flexbox;
            display: inline-flex;
            gap: var(--cpd-space-3x);
            -webkit-box-pack: center;
                -ms-flex-pack: center;
                    justify-content: center;
            -webkit-box-align: center;
                -ms-flex-align: center;
                    align-items: center;
            font: var(--cpd-font-body-md-medium);
        }

.mx_ShareDialog .mx_ShareDialog_content button {
            width: 100%;
        }

.mx_ShareDialog .mx_ShareDialog_content .mx_ShareDialog_social {
            display: -webkit-box;
            display: -ms-flexbox;
            display: flex;
            gap: var(--cpd-space-3x);
            -webkit-box-pack: center;
                -ms-flex-pack: center;
                    justify-content: center;
        }

.mx_ShareDialog .mx_ShareDialog_content .mx_ShareDialog_social a {
                width: 48px;
                height: 48px;
                border-radius: 99px;
                -webkit-box-sizing: border-box;
                        box-sizing: border-box;
                border: 1px solid var(--cpd-color-border-interactive-secondary);
                display: -webkit-box;
                display: -ms-flexbox;
                display: flex;
                -webkit-box-pack: center;
                    -ms-flex-pack: center;
                        justify-content: center;
                -webkit-box-align: center;
                    -ms-flex-align: center;
                        align-items: center;
            }

.mx_ShareDialog .mx_ShareDialog_content .mx_ShareDialog_social a img {
                    width: 24px;
                    height: 24px;
                }

/*
Copyright 2024 New Vector Ltd.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_SlashCommandHelpDialog .mx_SlashCommandHelpDialog_headerRow h2 {
    margin-bottom: 2px;
}

.mx_SlashCommandHelpDialog .mx_Dialog_content {
    margin-top: 12px;
    margin-bottom: 34px;
}

/*
Copyright 2024 New Vector Ltd.
Copyright 2021 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_SpacePreferencesDialog {
    width: 700px;
    height: 400px;
}

.mx_SpacePreferencesDialog > h4 {
        margin: -12px 0 0;
        font-weight: normal;
        font-size: 0.9375rem;
        line-height: 1.5rem;
        color: #edf3ff;
        color: var(--secondary-content, #edf3ff);
    }

.mx_SpacePreferencesDialog .mx_TabbedView {
        top: 80px;
    }

.mx_SpacePreferencesDialog .mx_TabbedView .mx_SettingsTab {
            min-width: 0;
            min-width: initial;
        }

.mx_SpacePreferencesDialog_appearanceIcon::before {
    -webkit-mask-image: url(../../img/element-icons/settings/appearance.90cad21.svg);
            mask-image: url(../../img/element-icons/settings/appearance.90cad21.svg);
}

/*
Copyright 2024 New Vector Ltd.
Copyright 2021 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_SpaceSettingsDialog {
    color: var(--timeline-text-color);
}

.mx_SpaceSettingsDialog .mx_SpaceSettings_errorText {
        font-weight: var(--cpd-font-weight-semibold);
        font-size: 0.75rem;
        line-height: 0.9375rem;
        color: #ff5b55;
        color: var(--alert, #ff5b55);
        margin-bottom: 28px;
    }

.mx_SpaceSettingsDialog .mx_ToggleSwitch {
        display: inline-block;
        vertical-align: middle;
        margin-left: 16px;
    }

.mx_SpaceSettingsDialog .mx_SettingsTab_section .mx_SettingsTab_section_caption {
            margin-top: 12px;
            margin-bottom: 20px;
        }

.mx_SpaceSettingsDialog .mx_SettingsTab_section .mx_StyledRadioButton {
            margin-top: 8px;
            margin-bottom: 4px;
        }

.mx_SpaceSettingsDialog .mx_SettingsTab_section .mx_StyledRadioButton .mx_StyledRadioButton_content {
                font-weight: var(--cpd-font-weight-semibold);
                line-height: 1.125rem;
                color: var(--timeline-text-color);
            }

.mx_SpaceSettingsDialog .mx_SettingsTab_section .mx_StyledRadioButton + span {
                font-size: 0.9375rem;
                line-height: 1.125rem;
                color: #edf3ff;
                color: var(--secondary-content, #edf3ff);
                margin-left: 26px;
            }

.mx_SpaceSettingsDialog .mx_SpaceSettingsDialog_buttons {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        margin-top: 64px;
    }

.mx_SpaceSettingsDialog .mx_SpaceSettingsDialog_buttons .mx_AccessibleButton {
            display: inline-block;
        }

.mx_SpaceSettingsDialog .mx_SpaceSettingsDialog_buttons .mx_AccessibleButton_kind_link {
            margin-left: auto;
        }

.mx_SpaceSettingsDialog .mx_AccessibleButton_hasKind.mx_AccessibleButton_kind_link {
            font: var(--cpd-font-body-md-semibold);
            margin: 7px 18px;
        }

.mx_SpaceSettingsDialog .mx_AccessibleButton_hasKind.mx_AccessibleButton_kind_link.mx_SettingsTab_showAdvanced {
                margin: 18px 0;
            }

.mx_SpaceSettingsDialog .mx_TabbedView_tabLabel .mx_SpaceSettingsDialog_generalIcon::before {
            -webkit-mask-image: url(../../icons/settings-solid.5cd4545.svg);
                    mask-image: url(../../icons/settings-solid.5cd4545.svg);
        }

.mx_SpaceSettingsDialog .mx_TabbedView_tabLabel .mx_SpaceSettingsDialog_visibilityIcon::before {
            -webkit-mask-image: url(../../img/element-icons/eye.e715558.svg);
                    mask-image: url(../../img/element-icons/eye.e715558.svg);
        }

/*
Copyright 2024 New Vector Ltd.
Copyright 2021 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_SpotlightDialog_wrapper .mx_Dialog_border {
        /* Disable the glass border as this dialog wasn't designed with it in mind */
        display: contents;
    }

.mx_SpotlightDialog_wrapper .mx_Dialog {
        width: -webkit-fit-content;
        width: -moz-fit-content;
        width: fit-content;
        border-radius: 8px;
        overflow-y: visible;
        overflow-y: initial;
        position: relative;
        height: 60%;
        padding: 0;
        contain: unset; /* needed for #mx_SpotlightDialog_keyboardPrompt to not be culled */
    }

.mx_SpotlightDialog_wrapper .mx_Dialog #mx_SpotlightDialog_keyboardPrompt {
            position: absolute;
            padding: 8px;
            border-radius: 8px;
            background-color: var(--timeline-background-color);
            top: -60px; /* relative to the top of the modal */
            left: 50%;
            -webkit-transform: translateX(-50%);
                    transform: translateX(-50%);
            font-size: 0.75rem;
            line-height: 0.9375rem;
            color: #edf3ff;
            color: var(--secondary-content, #edf3ff);
        }

.mx_SpotlightDialog_wrapper .mx_Dialog #mx_SpotlightDialog_keyboardPrompt kbd {
                display: inline-block;
                padding: 2px 4px;
                margin: 0 4px;
                border-radius: 6px;
                background-color: #6f7882;
                background-color: var(--quinary-content, #6f7882);
                vertical-align: middle;
                color: #edf3ff;
                color: var(--tertiary-content, #edf3ff);
                /* To avoid any styling inherent with <kbd> elements */
                font-family: inherit;
                font-weight: inherit;
                font-size: inherit;
            }

.mx_SpotlightDialog {
    height: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
}

.mx_SpotlightDialog .mx_Dialog_header {
        display: none;
    }

.mx_SpotlightDialog .mx_SpotlightDialog_searchBox {
        margin: 0;
        border: none;
        border-radius: 8px 8px 0 0;
        padding: 12px 16px;
        border-bottom: 1px solid #21262c;
        border-bottom: 1px solid var(--system, #21262c);
    }

.mx_SpotlightDialog .mx_SpotlightDialog_searchBox > .mx_SpotlightDialog_filter {
            display: -webkit-box;
            display: -ms-flexbox;
            display: flex;
            -ms-flex-line-pack: center;
                align-content: center;
            -webkit-box-align: center;
                -ms-flex-align: center;
                    align-items: center;
            border-radius: 8px;
            margin-right: 8px;
            background-color: #6f7882;
            background-color: var(--quinary-content, #6f7882);
            vertical-align: middle;
            color: var(--timeline-text-color);
            position: relative;
            padding: 4px 8px 4px 37px;
        }

.mx_SpotlightDialog .mx_SpotlightDialog_searchBox > .mx_SpotlightDialog_filter::before {
                background-color: #edf3ff;
                background-color: var(--secondary-content, #edf3ff);
                content: "";
                -webkit-mask-repeat: no-repeat;
                        mask-repeat: no-repeat;
                -webkit-mask-position: center;
                        mask-position: center;
                -webkit-mask-size: contain;
                        mask-size: contain;
                width: 18px;
                height: 18px;
                position: absolute;
                left: 8px;
                top: 50%;
                -webkit-transform: translateY(-50%);
                        transform: translateY(-50%);
            }

.mx_SpotlightDialog .mx_SpotlightDialog_searchBox > .mx_SpotlightDialog_filter.mx_SpotlightDialog_filterPeople::before {
                -webkit-mask-image: url(../../icons/user-profile-solid.c4005c9.svg);
                        mask-image: url(../../icons/user-profile-solid.c4005c9.svg);
            }

.mx_SpotlightDialog .mx_SpotlightDialog_searchBox > .mx_SpotlightDialog_filter.mx_SpotlightDialog_filterPublicRooms::before {
                -webkit-mask-image: url(../../img/element-icons/roomlist/hash-circle.221168c.svg);
                        mask-image: url(../../img/element-icons/roomlist/hash-circle.221168c.svg);
            }

.mx_SpotlightDialog .mx_SpotlightDialog_searchBox > .mx_SpotlightDialog_filter.mx_SpotlightDialog_filterPublicSpaces::before {
                -webkit-mask-image: url(../../img/element-icons/spaces.8a53f25.svg);
                        mask-image: url(../../img/element-icons/spaces.8a53f25.svg);
            }

.mx_SpotlightDialog .mx_SpotlightDialog_searchBox > .mx_SpotlightDialog_filter .mx_SpotlightDialog_filter--close {
                position: relative;
                display: inline-block;
                width: 16px;
                height: 16px;
                background: #21262c;
                background: var(--system, #21262c);
                border-radius: 8px;
                margin-left: 8px;
                text-align: center;
                line-height: 16px;
                color: #edf3ff;
                color: var(--secondary-content, #edf3ff);
            }

.mx_SpotlightDialog .mx_SpotlightDialog_searchBox > .mx_SpotlightDialog_filter .mx_SpotlightDialog_filter--close::before {
                    background-color: #edf3ff;
                    background-color: var(--secondary-content, #edf3ff);
                    content: "";
                    -webkit-mask-repeat: no-repeat;
                            mask-repeat: no-repeat;
                    -webkit-mask-position: center;
                            mask-position: center;
                    -webkit-mask-size: 14px;
                            mask-size: 14px;
                    width: inherit;
                    height: inherit;
                    position: absolute;
                    left: 0;
                    -webkit-mask-image: url(../../icons/close.dce71fd.svg);
                            mask-image: url(../../icons/close.dce71fd.svg);
                }

.mx_SpotlightDialog .mx_SpotlightDialog_searchBox > input {
            display: block;
            -webkit-box-sizing: border-box;
                    box-sizing: border-box;
            background-color: transparent;
            width: 100%;
            height: 32px;
            padding: 0;
            color: #edf3ff;
            color: var(--tertiary-content, #edf3ff);
            font-weight: normal;
            font-size: 0.9375rem;
            line-height: 1.5rem;
        }

.mx_SpotlightDialog .mx_SpotlightDialog_searchBox > .mx_Spinner {
            -webkit-box-flex: 0;
                -ms-flex-positive: 0;
                    flex-grow: 0;
            width: auto;
            width: initial;
            height: auto;
            height: initial;
            margin-left: 16px;
        }

.mx_SpotlightDialog #mx_SpotlightDialog_content {
        height: 100%;
        overflow-y: auto;
        padding: 16px;
    }

.mx_SpotlightDialog #mx_SpotlightDialog_content ul {
            padding: 0;
            margin: 0;
        }

.mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_section > h4,
            .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_section > .mx_SpotlightDialog_sectionHeader > h4 {
                font-weight: var(--cpd-font-weight-semibold);
                font-size: 0.75rem;
                line-height: 0.9375rem;
                color: #edf3ff;
                color: var(--secondary-content, #edf3ff);
                margin: 0;
            }

.mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_section > h4 {
                margin-bottom: 8px;
            }

.mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_section .mx_SpotlightDialog_sectionHeader {
                display: -webkit-box;
                display: -ms-flexbox;
                display: flex;
                -webkit-box-pack: justify;
                    -ms-flex-pack: justify;
                        justify-content: space-between;
                -webkit-box-align: center;
                    -ms-flex-align: center;
                        align-items: center;
                margin-bottom: 8px;
            }

.mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_section .mx_SpotlightDialog_sectionHeader .mx_SpotlightDialog_options {
                    display: -webkit-box;
                    display: -ms-flexbox;
                    display: flex;
                    gap: 4px;
                }

.mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_section + .mx_SpotlightDialog_section {
                margin-top: 24px;
            }

.mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_recentlyViewed > div {
                display: -webkit-box;
                display: -ms-flexbox;
                display: flex;
                white-space: nowrap;
                overflow-x: hidden;
                margin-right: 1px; /* occlude the 1px visible of the very next tile to prevent it looking broken */
            }

.mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_recentlyViewed .mx_SpotlightDialog_option {
                border-radius: 8px;
                padding: 4px;
                color: var(--timeline-text-color);
                font-size: 0.75rem;
                line-height: 0.9375rem;
                display: inline-block;
                width: 58px;
                height: 58px;
                min-width: 58px;
                -webkit-box-sizing: border-box;
                        box-sizing: border-box;
                text-align: center;
                overflow: hidden;
                text-overflow: ellipsis;
            }

.mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_recentlyViewed .mx_SpotlightDialog_option .mx_DecoratedRoomAvatar {
                    margin: 0 9px 4px; /* maintain centering */
                }

.mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_recentlyViewed .mx_SpotlightDialog_option + .mx_SpotlightDialog_option {
                    margin-left: 16px;
                }

.mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_recentlyViewed .mx_SpotlightDialog_option:hover,
                .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_recentlyViewed .mx_SpotlightDialog_option[aria-selected="true"] {
                    background-color: #6f7882;
                    background-color: var(--quinary-content, #6f7882);
                }

.mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_results .mx_SpotlightDialog_option, .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_recentSearches .mx_SpotlightDialog_option, .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_otherSearches .mx_SpotlightDialog_option, .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_hiddenResults .mx_SpotlightDialog_option {
                padding: 6px 4px;
                border-radius: 8px;
                font-size: 0.9375rem;
                line-height: 1.5rem;
                color: var(--timeline-text-color);
                position: relative;
                display: -webkit-box;
                display: -ms-flexbox;
                display: flex;
                -webkit-box-align: center;
                    -ms-flex-align: center;
                        align-items: center;
                white-space: nowrap;
                text-overflow: ellipsis;
                overflow: hidden;
            }

.mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_results .mx_SpotlightDialog_option .mx_SpotlightDialog_option--endAdornment, .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_recentSearches .mx_SpotlightDialog_option .mx_SpotlightDialog_option--endAdornment, .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_otherSearches .mx_SpotlightDialog_option .mx_SpotlightDialog_option--endAdornment, .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_hiddenResults .mx_SpotlightDialog_option .mx_SpotlightDialog_option--endAdornment {
                    display: -webkit-inline-box;
                    display: -ms-inline-flexbox;
                    display: inline-flex;
                    -webkit-box-orient: horizontal;
                    -webkit-box-direction: normal;
                        -ms-flex-direction: row;
                            flex-direction: row;
                    margin-left: auto;
                    -webkit-box-align: start;
                        -ms-flex-align: start;
                            align-items: flex-start;
                }

.mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_results .mx_SpotlightDialog_option.mx_SpotlightDialog_result_multiline, .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_recentSearches .mx_SpotlightDialog_option.mx_SpotlightDialog_result_multiline, .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_otherSearches .mx_SpotlightDialog_option.mx_SpotlightDialog_result_multiline, .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_hiddenResults .mx_SpotlightDialog_option.mx_SpotlightDialog_result_multiline {
                    -webkit-box-align: start;
                        -ms-flex-align: start;
                            align-items: flex-start;
                }

.mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_results .mx_SpotlightDialog_option.mx_SpotlightDialog_result_multiline .mx_AccessibleButton, .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_recentSearches .mx_SpotlightDialog_option.mx_SpotlightDialog_result_multiline .mx_AccessibleButton, .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_otherSearches .mx_SpotlightDialog_option.mx_SpotlightDialog_result_multiline .mx_AccessibleButton, .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_hiddenResults .mx_SpotlightDialog_option.mx_SpotlightDialog_result_multiline .mx_AccessibleButton {
                        padding: 4px 20px;
                        margin: 2px 4px;
                    }

.mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_results .mx_SpotlightDialog_option.mx_SpotlightDialog_result_multiline .mx_SpotlightDialog_enterPrompt, .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_recentSearches .mx_SpotlightDialog_option.mx_SpotlightDialog_result_multiline .mx_SpotlightDialog_enterPrompt, .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_otherSearches .mx_SpotlightDialog_option.mx_SpotlightDialog_result_multiline .mx_SpotlightDialog_enterPrompt, .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_hiddenResults .mx_SpotlightDialog_option.mx_SpotlightDialog_result_multiline .mx_SpotlightDialog_enterPrompt {
                        margin-top: 9px;
                        margin-right: 8px;
                    }

.mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_results .mx_SpotlightDialog_option > .mx_SpotlightDialog_metaspaceResult,
                .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_results .mx_SpotlightDialog_option > .mx_DecoratedRoomAvatar,
                .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_results .mx_SpotlightDialog_option > .mx_BaseAvatar,
                .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_recentSearches .mx_SpotlightDialog_option > .mx_SpotlightDialog_metaspaceResult,
                .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_recentSearches .mx_SpotlightDialog_option > .mx_DecoratedRoomAvatar,
                .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_recentSearches .mx_SpotlightDialog_option > .mx_BaseAvatar,
                .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_otherSearches .mx_SpotlightDialog_option > .mx_SpotlightDialog_metaspaceResult,
                .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_otherSearches .mx_SpotlightDialog_option > .mx_DecoratedRoomAvatar,
                .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_otherSearches .mx_SpotlightDialog_option > .mx_BaseAvatar,
                .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_hiddenResults .mx_SpotlightDialog_option > .mx_SpotlightDialog_metaspaceResult,
                .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_hiddenResults .mx_SpotlightDialog_option > .mx_DecoratedRoomAvatar,
                .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_hiddenResults .mx_SpotlightDialog_option > .mx_BaseAvatar {
                    margin-right: 8px;
                    width: 24px;
                    height: 24px;
                    -ms-flex-negative: 0;
                        flex-shrink: 0;
                }

.mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_results .mx_SpotlightDialog_option > .mx_SpotlightDialog_metaspaceResult .mx_BaseAvatar, .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_results .mx_SpotlightDialog_option > .mx_DecoratedRoomAvatar .mx_BaseAvatar, .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_results .mx_SpotlightDialog_option > .mx_BaseAvatar .mx_BaseAvatar, .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_recentSearches .mx_SpotlightDialog_option > .mx_SpotlightDialog_metaspaceResult .mx_BaseAvatar, .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_recentSearches .mx_SpotlightDialog_option > .mx_DecoratedRoomAvatar .mx_BaseAvatar, .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_recentSearches .mx_SpotlightDialog_option > .mx_BaseAvatar .mx_BaseAvatar, .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_otherSearches .mx_SpotlightDialog_option > .mx_SpotlightDialog_metaspaceResult .mx_BaseAvatar, .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_otherSearches .mx_SpotlightDialog_option > .mx_DecoratedRoomAvatar .mx_BaseAvatar, .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_otherSearches .mx_SpotlightDialog_option > .mx_BaseAvatar .mx_BaseAvatar, .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_hiddenResults .mx_SpotlightDialog_option > .mx_SpotlightDialog_metaspaceResult .mx_BaseAvatar, .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_hiddenResults .mx_SpotlightDialog_option > .mx_DecoratedRoomAvatar .mx_BaseAvatar, .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_hiddenResults .mx_SpotlightDialog_option > .mx_BaseAvatar .mx_BaseAvatar {
                        width: inherit;
                        height: inherit;
                    }

.mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_results .mx_SpotlightDialog_option .mx_SpotlightDialog_result_publicRoomDetails, .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_recentSearches .mx_SpotlightDialog_option .mx_SpotlightDialog_result_publicRoomDetails, .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_otherSearches .mx_SpotlightDialog_option .mx_SpotlightDialog_result_publicRoomDetails, .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_hiddenResults .mx_SpotlightDialog_option .mx_SpotlightDialog_result_publicRoomDetails {
                    display: -webkit-box;
                    display: -ms-flexbox;
                    display: flex;
                    -webkit-box-orient: vertical;
                    -webkit-box-direction: normal;
                        -ms-flex-direction: column;
                            flex-direction: column;
                    -webkit-box-flex: 1;
                        -ms-flex-positive: 1;
                            flex-grow: 1;
                    min-width: 0;
                }

.mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_results .mx_SpotlightDialog_option .mx_SpotlightDialog_result_publicRoomDetails .mx_SpotlightDialog_result_publicRoomHeader, .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_recentSearches .mx_SpotlightDialog_option .mx_SpotlightDialog_result_publicRoomDetails .mx_SpotlightDialog_result_publicRoomHeader, .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_otherSearches .mx_SpotlightDialog_option .mx_SpotlightDialog_result_publicRoomDetails .mx_SpotlightDialog_result_publicRoomHeader, .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_hiddenResults .mx_SpotlightDialog_option .mx_SpotlightDialog_result_publicRoomDetails .mx_SpotlightDialog_result_publicRoomHeader {
                        display: -webkit-box;
                        display: -ms-flexbox;
                        display: flex;
                        -webkit-box-orient: horizontal;
                        -webkit-box-direction: normal;
                            -ms-flex-direction: row;
                                flex-direction: row;
                        line-height: 1.5rem;
                        margin-right: 8px;
                    }

.mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_results .mx_SpotlightDialog_option .mx_SpotlightDialog_result_publicRoomDetails .mx_SpotlightDialog_result_publicRoomHeader .mx_SpotlightDialog_result_publicRoomName, .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_recentSearches .mx_SpotlightDialog_option .mx_SpotlightDialog_result_publicRoomDetails .mx_SpotlightDialog_result_publicRoomHeader .mx_SpotlightDialog_result_publicRoomName, .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_otherSearches .mx_SpotlightDialog_option .mx_SpotlightDialog_result_publicRoomDetails .mx_SpotlightDialog_result_publicRoomHeader .mx_SpotlightDialog_result_publicRoomName, .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_hiddenResults .mx_SpotlightDialog_option .mx_SpotlightDialog_result_publicRoomDetails .mx_SpotlightDialog_result_publicRoomHeader .mx_SpotlightDialog_result_publicRoomName {
                            color: var(--timeline-text-color);
                            font-size: 0.9375rem;
                            overflow: hidden;
                            text-overflow: ellipsis;
                        }

.mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_results .mx_SpotlightDialog_option .mx_SpotlightDialog_result_publicRoomDetails .mx_SpotlightDialog_result_publicRoomHeader .mx_SpotlightDialog_result_publicRoomAlias, .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_recentSearches .mx_SpotlightDialog_option .mx_SpotlightDialog_result_publicRoomDetails .mx_SpotlightDialog_result_publicRoomHeader .mx_SpotlightDialog_result_publicRoomAlias, .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_otherSearches .mx_SpotlightDialog_option .mx_SpotlightDialog_result_publicRoomDetails .mx_SpotlightDialog_result_publicRoomHeader .mx_SpotlightDialog_result_publicRoomAlias, .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_hiddenResults .mx_SpotlightDialog_option .mx_SpotlightDialog_result_publicRoomDetails .mx_SpotlightDialog_result_publicRoomHeader .mx_SpotlightDialog_result_publicRoomAlias {
                            color: #edf3ff;
                            color: var(--tertiary-content, #edf3ff);
                            font-size: 0.75rem;
                            margin-left: 8px;
                            overflow: hidden;
                            text-overflow: ellipsis;
                        }

.mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_results .mx_SpotlightDialog_option .mx_SpotlightDialog_result_publicRoomDetails .mx_SpotlightDialog_result_publicRoomDescription, .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_recentSearches .mx_SpotlightDialog_option .mx_SpotlightDialog_result_publicRoomDetails .mx_SpotlightDialog_result_publicRoomDescription, .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_otherSearches .mx_SpotlightDialog_option .mx_SpotlightDialog_result_publicRoomDetails .mx_SpotlightDialog_result_publicRoomDescription, .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_hiddenResults .mx_SpotlightDialog_option .mx_SpotlightDialog_result_publicRoomDetails .mx_SpotlightDialog_result_publicRoomDescription {
                        color: #edf3ff;
                        color: var(--secondary-content, #edf3ff);
                        font-size: 0.75rem;
                        white-space: normal;
                        word-wrap: break-word;
                        line-height: 1.25rem;
                        display: -webkit-box;
                        -webkit-box-orient: vertical;
                        -webkit-line-clamp: 3;
                        overflow: hidden;
                    }

.mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_results .mx_SpotlightDialog_option .mx_NotificationBadge, .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_recentSearches .mx_SpotlightDialog_option .mx_NotificationBadge, .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_otherSearches .mx_SpotlightDialog_option .mx_NotificationBadge, .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_hiddenResults .mx_SpotlightDialog_option .mx_NotificationBadge {
                    margin-left: 8px;
                }

.mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_results .mx_SpotlightDialog_option .mx_SpotlightDialog_option--menu,
                .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_results .mx_SpotlightDialog_option .mx_SpotlightDialog_option--notifications,
                .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_recentSearches .mx_SpotlightDialog_option .mx_SpotlightDialog_option--menu,
                .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_recentSearches .mx_SpotlightDialog_option .mx_SpotlightDialog_option--notifications,
                .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_otherSearches .mx_SpotlightDialog_option .mx_SpotlightDialog_option--menu,
                .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_otherSearches .mx_SpotlightDialog_option .mx_SpotlightDialog_option--notifications,
                .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_hiddenResults .mx_SpotlightDialog_option .mx_SpotlightDialog_option--menu,
                .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_hiddenResults .mx_SpotlightDialog_option .mx_SpotlightDialog_option--notifications {
                    width: 20px;
                    min-width: 20px;
                    height: 20px;
                    margin-top: auto;
                    margin-bottom: auto;
                    position: relative;
                    display: none;
                }

.mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_results .mx_SpotlightDialog_option .mx_SpotlightDialog_option--menu::before, .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_results .mx_SpotlightDialog_option .mx_SpotlightDialog_option--notifications::before, .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_recentSearches .mx_SpotlightDialog_option .mx_SpotlightDialog_option--menu::before, .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_recentSearches .mx_SpotlightDialog_option .mx_SpotlightDialog_option--notifications::before, .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_otherSearches .mx_SpotlightDialog_option .mx_SpotlightDialog_option--menu::before, .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_otherSearches .mx_SpotlightDialog_option .mx_SpotlightDialog_option--notifications::before, .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_hiddenResults .mx_SpotlightDialog_option .mx_SpotlightDialog_option--menu::before, .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_hiddenResults .mx_SpotlightDialog_option .mx_SpotlightDialog_option--notifications::before {
                        top: 2px;
                        left: 2px;
                        content: "";
                        width: 16px;
                        height: 16px;
                        position: absolute;
                        -webkit-mask-position: center;
                                mask-position: center;
                        -webkit-mask-size: contain;
                                mask-size: contain;
                        -webkit-mask-repeat: no-repeat;
                                mask-repeat: no-repeat;
                        background: #edf3ff;
                        background: var(--tertiary-content, #edf3ff);
                    }

.mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_results .mx_SpotlightDialog_option .mx_SpotlightDialog_option--menu:hover::before,
                    .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_results .mx_SpotlightDialog_option .mx_SpotlightDialog_option--menu[aria-selected="true"]::before,
                    .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_results .mx_SpotlightDialog_option .mx_SpotlightDialog_option--notifications:hover::before,
                    .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_results .mx_SpotlightDialog_option .mx_SpotlightDialog_option--notifications[aria-selected="true"]::before,
                    .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_recentSearches .mx_SpotlightDialog_option .mx_SpotlightDialog_option--menu:hover::before,
                    .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_recentSearches .mx_SpotlightDialog_option .mx_SpotlightDialog_option--menu[aria-selected="true"]::before,
                    .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_recentSearches .mx_SpotlightDialog_option .mx_SpotlightDialog_option--notifications:hover::before,
                    .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_recentSearches .mx_SpotlightDialog_option .mx_SpotlightDialog_option--notifications[aria-selected="true"]::before,
                    .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_otherSearches .mx_SpotlightDialog_option .mx_SpotlightDialog_option--menu:hover::before,
                    .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_otherSearches .mx_SpotlightDialog_option .mx_SpotlightDialog_option--menu[aria-selected="true"]::before,
                    .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_otherSearches .mx_SpotlightDialog_option .mx_SpotlightDialog_option--notifications:hover::before,
                    .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_otherSearches .mx_SpotlightDialog_option .mx_SpotlightDialog_option--notifications[aria-selected="true"]::before,
                    .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_hiddenResults .mx_SpotlightDialog_option .mx_SpotlightDialog_option--menu:hover::before,
                    .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_hiddenResults .mx_SpotlightDialog_option .mx_SpotlightDialog_option--menu[aria-selected="true"]::before,
                    .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_hiddenResults .mx_SpotlightDialog_option .mx_SpotlightDialog_option--notifications:hover::before,
                    .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_hiddenResults .mx_SpotlightDialog_option .mx_SpotlightDialog_option--notifications[aria-selected="true"]::before {
                        background-color: #edf3ff;
                        background-color: var(--secondary-content, #edf3ff);
                    }

.mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_results .mx_SpotlightDialog_option .mx_SpotlightDialog_option--menu::before, .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_recentSearches .mx_SpotlightDialog_option .mx_SpotlightDialog_option--menu::before, .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_otherSearches .mx_SpotlightDialog_option .mx_SpotlightDialog_option--menu::before, .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_hiddenResults .mx_SpotlightDialog_option .mx_SpotlightDialog_option--menu::before {
                    -webkit-mask-image: url(../../icons/overflow-horizontal.103407e.svg);
                            mask-image: url(../../icons/overflow-horizontal.103407e.svg);
                }

.mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_results .mx_SpotlightDialog_option:hover,
                .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_results .mx_SpotlightDialog_option[aria-selected="true"],
                .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_recentSearches .mx_SpotlightDialog_option:hover,
                .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_recentSearches .mx_SpotlightDialog_option[aria-selected="true"],
                .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_otherSearches .mx_SpotlightDialog_option:hover,
                .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_otherSearches .mx_SpotlightDialog_option[aria-selected="true"],
                .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_hiddenResults .mx_SpotlightDialog_option:hover,
                .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_hiddenResults .mx_SpotlightDialog_option[aria-selected="true"] {
                    background-color: #21262c;
                    background-color: var(--system, #21262c);
                }

.mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_results .mx_SpotlightDialog_option:hover .mx_SpotlightDialog_option--menu,
                    .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_results .mx_SpotlightDialog_option:hover .mx_SpotlightDialog_option--notifications,
                    .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_results .mx_SpotlightDialog_option[aria-selected="true"] .mx_SpotlightDialog_option--menu,
                    .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_results .mx_SpotlightDialog_option[aria-selected="true"] .mx_SpotlightDialog_option--notifications,
                    .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_recentSearches .mx_SpotlightDialog_option:hover .mx_SpotlightDialog_option--menu,
                    .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_recentSearches .mx_SpotlightDialog_option:hover .mx_SpotlightDialog_option--notifications,
                    .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_recentSearches .mx_SpotlightDialog_option[aria-selected="true"] .mx_SpotlightDialog_option--menu,
                    .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_recentSearches .mx_SpotlightDialog_option[aria-selected="true"] .mx_SpotlightDialog_option--notifications,
                    .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_otherSearches .mx_SpotlightDialog_option:hover .mx_SpotlightDialog_option--menu,
                    .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_otherSearches .mx_SpotlightDialog_option:hover .mx_SpotlightDialog_option--notifications,
                    .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_otherSearches .mx_SpotlightDialog_option[aria-selected="true"] .mx_SpotlightDialog_option--menu,
                    .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_otherSearches .mx_SpotlightDialog_option[aria-selected="true"] .mx_SpotlightDialog_option--notifications,
                    .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_hiddenResults .mx_SpotlightDialog_option:hover .mx_SpotlightDialog_option--menu,
                    .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_hiddenResults .mx_SpotlightDialog_option:hover .mx_SpotlightDialog_option--notifications,
                    .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_hiddenResults .mx_SpotlightDialog_option[aria-selected="true"] .mx_SpotlightDialog_option--menu,
                    .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_hiddenResults .mx_SpotlightDialog_option[aria-selected="true"] .mx_SpotlightDialog_option--notifications {
                        display: block;
                    }

.mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_results .mx_SpotlightDialog_option[aria-selected="true"] .mx_SpotlightDialog_enterPrompt, .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_recentSearches .mx_SpotlightDialog_option[aria-selected="true"] .mx_SpotlightDialog_enterPrompt, .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_otherSearches .mx_SpotlightDialog_option[aria-selected="true"] .mx_SpotlightDialog_enterPrompt, .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_hiddenResults .mx_SpotlightDialog_option[aria-selected="true"] .mx_SpotlightDialog_enterPrompt {
                    display: inline-block;
                }

.mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_inviteLink,
        .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_createRoom {
            margin-top: 8px;
        }

.mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_inviteLink .mx_AccessibleButton, .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_createRoom .mx_AccessibleButton {
                position: relative;
                margin: 0;
                padding: 3px 8px 3px 28px;
            }

.mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_inviteLink .mx_AccessibleButton::before, .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_createRoom .mx_AccessibleButton::before {
                    content: "";
                    display: block;
                    position: absolute;
                    -webkit-mask-repeat: no-repeat;
                            mask-repeat: no-repeat;
                    -webkit-mask-position: center;
                            mask-position: center;
                    -webkit-mask-size: contain;
                            mask-size: contain;
                    left: 8px;
                    width: 16px;
                    height: 16px;
                    background: var(--cpd-color-icon-primary);
                }

.mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_inviteLink .mx_AccessibleButton::before {
            -webkit-mask-image: url(../../icons/link.1336d8f.svg);
                    mask-image: url(../../icons/link.1336d8f.svg);
        }

.mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_createRoom .mx_AccessibleButton::before {
            -webkit-mask-image: url(../../img/element-icons/roomlist/hash.9de9cf7.svg);
                    mask-image: url(../../img/element-icons/roomlist/hash.9de9cf7.svg);
        }

.mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_otherSearches .mx_SpotlightDialog_startChat,
            .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_otherSearches .mx_SpotlightDialog_joinRoomAlias,
            .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_otherSearches .mx_SpotlightDialog_explorePublicRooms,
            .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_otherSearches .mx_SpotlightDialog_explorePublicSpaces,
            .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_otherSearches .mx_SpotlightDialog_startGroupChat {
                padding-left: 32px;
                position: relative;
            }

.mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_otherSearches .mx_SpotlightDialog_startChat::before, .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_otherSearches .mx_SpotlightDialog_joinRoomAlias::before, .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_otherSearches .mx_SpotlightDialog_explorePublicRooms::before, .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_otherSearches .mx_SpotlightDialog_explorePublicSpaces::before, .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_otherSearches .mx_SpotlightDialog_startGroupChat::before {
                    background-color: #edf3ff;
                    background-color: var(--secondary-content, #edf3ff);
                    content: "";
                    -webkit-mask-repeat: no-repeat;
                            mask-repeat: no-repeat;
                    -webkit-mask-position: center;
                            mask-position: center;
                    -webkit-mask-size: contain;
                            mask-size: contain;
                    width: 24px;
                    height: 24px;
                    position: absolute;
                    left: 4px;
                    top: 50%;
                    -webkit-transform: translateY(-50%);
                            transform: translateY(-50%);
                }

.mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_otherSearches .mx_SpotlightDialog_startChat::before {
                -webkit-mask-image: url(../../icons/user-profile-solid.c4005c9.svg);
                        mask-image: url(../../icons/user-profile-solid.c4005c9.svg);
            }

.mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_otherSearches .mx_SpotlightDialog_joinRoomAlias::before {
                -webkit-mask-image: url(../../img/element-icons/roomlist/hash-circle.221168c.svg);
                        mask-image: url(../../img/element-icons/roomlist/hash-circle.221168c.svg);
            }

.mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_otherSearches .mx_SpotlightDialog_explorePublicRooms::before {
                -webkit-mask-image: url(../../img/element-icons/roomlist/hash-circle.221168c.svg);
                        mask-image: url(../../img/element-icons/roomlist/hash-circle.221168c.svg);
            }

.mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_otherSearches .mx_SpotlightDialog_explorePublicSpaces::before {
                -webkit-mask-image: url(../../img/element-icons/spaces.8a53f25.svg);
                        mask-image: url(../../img/element-icons/spaces.8a53f25.svg);
            }

.mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_otherSearches .mx_SpotlightDialog_startGroupChat::before {
                -webkit-mask-image: url(../../img/element-icons/group-members.d86d751.svg);
                        mask-image: url(../../img/element-icons/group-members.d86d751.svg);
            }

.mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_otherSearches .mx_SpotlightDialog_otherSearches_messageSearchText {
                font-size: 0.9375rem;
                line-height: 1.5rem;
            }

.mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_otherSearches .mx_SpotlightDialog_otherSearches_messageSearchIcon {
                display: inline-block;
                width: 24px;
                height: 24px;
                background-color: #edf3ff;
                background-color: var(--secondary-content, #edf3ff);
                vertical-align: text-bottom;
                -webkit-mask-repeat: no-repeat;
                        mask-repeat: no-repeat;
                -webkit-mask-position: center;
                        mask-position: center;
                -webkit-mask-size: contain;
                        mask-size: contain;
                -webkit-mask-image: url(../../img/element-icons/room/search-inset.7a9a2eb.svg);
                        mask-image: url(../../img/element-icons/room/search-inset.7a9a2eb.svg);
            }

.mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_result_details {
            margin-left: 8px;
            margin-right: 8px;
            color: #edf3ff;
            color: var(--tertiary-content, #edf3ff);
            font-size: 0.75rem;
            line-height: 0.9375rem;
            min-width: 0;
            overflow: hidden;
            text-overflow: ellipsis;
        }

.mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_recentSearches > h4 > .mx_AccessibleButton_kind_link {
            float: right;
            font-size: 0.75rem;
            line-height: 0.9375rem;
            color: #edf3ff;
            color: var(--secondary-content, #edf3ff);
        }

.mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_enterPrompt {
            padding: 2px 4px;
            /* To avoid any styling inherent with <kbd> elements */
            font-family: inherit;
            font-weight: inherit;
            font-size: 0.75rem;
            line-height: 0.9375rem;
            color: #edf3ff;
            color: var(--tertiary-content, #edf3ff);
            border-radius: 6px;
            background-color: #6f7882;
            background-color: var(--quinary-content, #6f7882);
            margin-right: 4px;
            display: none;
        }

.mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_metaspaceResult {
            background-color: #edf3ff;
            background-color: var(--secondary-content, #edf3ff);
            -webkit-mask-position: center;
                    mask-position: center;
            -webkit-mask-repeat: no-repeat;
                    mask-repeat: no-repeat;
            -webkit-mask-size: contain;
                    mask-size: contain;
        }

.mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_metaspaceResult.mx_SpotlightDialog_metaspaceResult_home-space {
                -webkit-mask-image: url(../../icons/home-solid.2329ba6.svg);
                        mask-image: url(../../icons/home-solid.2329ba6.svg);
            }

.mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_metaspaceResult.mx_SpotlightDialog_metaspaceResult_favourites-space {
                -webkit-mask-image: url(../../icons/favourite-solid.5199241.svg);
                        mask-image: url(../../icons/favourite-solid.5199241.svg);
            }

.mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_metaspaceResult.mx_SpotlightDialog_metaspaceResult_people-space {
                -webkit-mask-image: url(../../icons/user-profile-solid.c4005c9.svg);
                        mask-image: url(../../icons/user-profile-solid.c4005c9.svg);
            }

.mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_metaspaceResult.mx_SpotlightDialog_metaspaceResult_orphans-space {
                -webkit-mask-image: url(../../img/element-icons/roomlist/hash-circle.221168c.svg);
                        mask-image: url(../../img/element-icons/roomlist/hash-circle.221168c.svg);
            }

/*
Copyright 2024 New Vector Ltd.
Copyright 2019 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

/*
 * To avoid visual glitching of two modals stacking briefly, we customise the
 * terms dialog sizing when it will appear for the integration manager so that
 * it gets the same basic size as the IM's own modal.
 */

.mx_TermsDialog_forIntegrationManager .mx_Dialog_border {
    width: 60%;
    height: 70%;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
}

.mx_TermsDialog_termsTableHeader {
    font-weight: bold;
    text-align: left;
}

.mx_TermsDialog_termsTable {
    font-size: 0.75rem;
    width: 100%;
}

.mx_TermsDialog_service,
.mx_TermsDialog_summary {
    padding-right: 10px;
}

/*
 * Copyright 2024 New Vector Ltd.
 * Copyright 2024 The Matrix.org Foundation C.I.C.
 *
 * SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
 * Please see LICENSE files in the repository root for full details.
 */

.mx_UnpinAllDialog {
    /* 396 is coming from figma and we remove the left and right paddings of the dialog */
    width: calc(396px - (var(--cpd-space-10x) * 2));
    padding-bottom: var(--cpd-space-2x);
}

.mx_UnpinAllDialog .mx_UnpinAllDialog_title {
        /* Override the default heading style */
        font: var(--cpd-font-heading-sm-semibold) !important;
        margin-bottom: var(--cpd-space-3x);
    }

.mx_UnpinAllDialog .mx_UnpinAllDialog_buttons {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column;
        gap: var(--cpd-space-4x);
        margin: var(--cpd-space-8x) var(--cpd-space-2x) 0 var(--cpd-space-2x);
    }

.mx_UnpinAllDialog .mx_UnpinAllDialog_buttons button {
            width: 100%;
        }

/*
Copyright 2024 New Vector Ltd.
Copyright 2021 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_UntrustedDeviceDialog .mx_Dialog_title {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
    }

.mx_UntrustedDeviceDialog .mx_Dialog_title .mx_E2EIcon {
            margin-left: 0;
        }

.mx_UntrustedDeviceDialog .mx_Dialog_buttons {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: end;
            -ms-flex-pack: end;
                justify-content: flex-end;
        gap: 8px;
    }

/*
Copyright 2019-2024 New Vector Ltd.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_UploadConfirmDialog_fileIcon {
    margin-right: 5px;
}

.mx_UploadConfirmDialog_previewOuter {
    text-align: center;
}

.mx_UploadConfirmDialog_previewInner {
    display: inline-block;
    text-align: left;
}

.mx_UploadConfirmDialog_imagePreview {
    max-height: 300px;
    max-width: 100%;
    border-radius: 4px;
    border: 1px solid var(--cpd-color-icon-tertiary);
}

/*
Copyright 2019-2024 New Vector Ltd.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_SettingsDialog_toastContainer {
    position: absolute;
    bottom: var(--cpd-space-10x);
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
}

.mx_UserSettingsDialog_title {
    /* Override default dialog font style */
    font: var(--cpd-font-heading-md-regular) !important;
}

.mx_UserSettingsDialog_title .mx_UserSettingsDialog_title_strong {
        font: var(--cpd-font-heading-md-semibold);
    }

/*
Copyright 2024 New Vector Ltd.
Copyright 2022 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_VerifyEMailDialog {
    height: auto;
    top: 300px;
}

.mx_VerifyEMailDialog .mx_Dialog {
        color: var(--timeline-text-color);
        font: var(--cpd-font-body-md-regular);
        padding: 24px 24px 16px;
        text-align: center;
        width: 485px;
    }

.mx_VerifyEMailDialog .mx_Dialog h1 {
            font-size: 1.5rem;
            font-weight: var(--cpd-font-weight-semibold);
        }

.mx_VerifyEMailDialog .mx_Dialog .mx_VerifyEMailDialog_text-light {
            color: #edf3ff;
            color: var(--secondary-content, #edf3ff);
            line-height: 20px;
        }

.mx_VerifyEMailDialog .mx_Dialog .mx_AuthBody_did-not-receive {
            -webkit-box-pack: center;
                -ms-flex-pack: center;
                    justify-content: center;
            margin-bottom: 8px;
        }

.mx_VerifyEMailDialog .mx_Dialog .mx_Dialog_cancelButton {
            right: 10px;
        }

/*
Copyright 2024 New Vector Ltd.
Copyright 2020 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_WidgetCapabilitiesPromptDialog .text-muted {
        font-size: 0.75rem;
    }

.mx_WidgetCapabilitiesPromptDialog .mx_Dialog_content {
        margin-bottom: 16px;
    }

.mx_WidgetCapabilitiesPromptDialog .mx_WidgetCapabilitiesPromptDialog_cap {
        margin-top: 20px;
        font-size: 0.9375rem;
        line-height: 0.9375rem;
    }

.mx_WidgetCapabilitiesPromptDialog .mx_WidgetCapabilitiesPromptDialog_cap .mx_WidgetCapabilitiesPromptDialog_byline {
            color: #a1b2d1;
            margin-left: 26px;
            font-size: 0.75rem;
            line-height: 0.75rem;
        }

.mx_WidgetCapabilitiesPromptDialog .mx_Dialog_buttons {
        margin-top: 40px; /* double normal */
    }

.mx_WidgetCapabilitiesPromptDialog .mx_SettingsFlag {
        line-height: calc(0.875rem + 7px + 7px); /* 7px top & bottom padding */
        color: #a1b2d1;
        font-size: 0.75rem;
    }

.mx_WidgetCapabilitiesPromptDialog .mx_SettingsFlag .mx_ToggleSwitch {
            /* downsize the switch + ball */
            width: 2rem;
            height: 0.9375rem;
        }

.mx_WidgetCapabilitiesPromptDialog .mx_SettingsFlag .mx_ToggleSwitch.mx_ToggleSwitch_on > .mx_ToggleSwitch_ball {
                left: calc(100% - 0.9375rem);
            }

.mx_WidgetCapabilitiesPromptDialog .mx_SettingsFlag .mx_ToggleSwitch .mx_ToggleSwitch_ball {
                width: 0.9375rem;
                height: 0.9375rem;
                border-radius: 0.9375rem;
            }

/*
Copyright 2024 New Vector Ltd.
Copyright 2018, 2019 , 2021 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_AccessSecretStorageDialog .mx_AccessSecretStorageDialog_titleWithIcon::before {
            content: "";
            display: inline-block;
            width: 24px;
            height: 24px;
            -webkit-margin-end: 8px;
                    margin-inline-end: 8px;
            position: relative;
            top: 5px;
            background-color: var(--timeline-text-color);
        }

.mx_AccessSecretStorageDialog .mx_AccessSecretStorageDialog_titleWithIcon.mx_AccessSecretStorageDialog_resetBadge::before {
            /* The image isn't capable of masking, so we use a background instead. */
            background-image: url(../../icons/error.90f55f3.svg);
            background-size: 24px;
            background-color: transparent;
        }

.mx_AccessSecretStorageDialog .mx_AccessSecretStorageDialog_titleWithIcon.mx_AccessSecretStorageDialog_secureBackupTitle::before {
            -webkit-mask-image: url(../../img/feather-customised/secure-backup.7e95b34.svg);
                    mask-image: url(../../img/feather-customised/secure-backup.7e95b34.svg);
        }

.mx_AccessSecretStorageDialog .mx_AccessSecretStorageDialog_titleWithIcon.mx_AccessSecretStorageDialog_securePhraseTitle::before {
            -webkit-mask-image: url(../../img/feather-customised/secure-phrase.73fa1c2.svg);
                    mask-image: url(../../img/feather-customised/secure-phrase.73fa1c2.svg);
        }

.mx_AccessSecretStorageDialog .mx_AccessSecretStorageDialog_primaryContainer .mx_AccessSecretStorageDialog_passPhraseInput {
            width: 300px;
            border: 1px solid #0dbd8b;
            border: 1px solid var(--accent-color, #0dbd8b);
            border-radius: 5px;
        }

.mx_AccessSecretStorageDialog .mx_AccessSecretStorageDialog_primaryContainer .mx_AccessSecretStorageDialog_keyStatus {
            height: 30px;
        }

.mx_AccessSecretStorageDialog .mx_AccessSecretStorageDialog_primaryContainer .mx_AccessSecretStorageDialog_recoveryKeyEntry {
            display: -webkit-box;
            display: -ms-flexbox;
            display: flex;
            -webkit-box-align: center;
                -ms-flex-align: center;
                    align-items: center;
        }

.mx_AccessSecretStorageDialog .mx_AccessSecretStorageDialog_primaryContainer .mx_AccessSecretStorageDialog_recoveryKeyEntry .mx_AccessSecretStorageDialog_recoveryKeyEntry_textInput {
                -webkit-box-flex: 1;
                    -ms-flex-positive: 1;
                        flex-grow: 1;
            }

.mx_AccessSecretStorageDialog .mx_AccessSecretStorageDialog_primaryContainer .mx_AccessSecretStorageDialog_recoveryKeyEntry .mx_AccessSecretStorageDialog_recoveryKeyEntry_entryControlSeparatorText {
                margin: 16px;
            }

.mx_AccessSecretStorageDialog .mx_AccessSecretStorageDialog_primaryContainer .mx_AccessSecretStorageDialog_recoveryKeyEntry .mx_AccessSecretStorageDialog_recoveryKeyEntry_fileInput {
                display: none;
            }

.mx_AccessSecretStorageDialog .mx_AccessSecretStorageDialog_primaryContainer .mx_AccessSecretStorageDialog_recoveryKeyFeedback::before {
                content: "";
                display: inline-block;
                vertical-align: bottom;
                width: 20px;
                height: 20px;
                -webkit-mask-repeat: no-repeat;
                        mask-repeat: no-repeat;
                -webkit-mask-position: center;
                        mask-position: center;
                -webkit-mask-size: 20px;
                        mask-size: 20px;
                -webkit-margin-end: 5px;
                        margin-inline-end: 5px;
            }

.mx_AccessSecretStorageDialog .mx_AccessSecretStorageDialog_primaryContainer .mx_AccessSecretStorageDialog_recoveryKeyFeedback.mx_AccessSecretStorageDialog_recoveryKeyFeedback--valid {
                color: #0dbd8b;
                color: var(--accent-color, #0dbd8b);
            }

.mx_AccessSecretStorageDialog .mx_AccessSecretStorageDialog_primaryContainer .mx_AccessSecretStorageDialog_recoveryKeyFeedback.mx_AccessSecretStorageDialog_recoveryKeyFeedback--valid::before {
                    -webkit-mask-image: url(../../icons/check.3fc654f.svg);
                            mask-image: url(../../icons/check.3fc654f.svg);
                    background-color: #0dbd8b;
                    background-color: var(--accent-color, #0dbd8b);
                }

.mx_AccessSecretStorageDialog .mx_AccessSecretStorageDialog_primaryContainer .mx_AccessSecretStorageDialog_recoveryKeyFeedback.mx_AccessSecretStorageDialog_recoveryKeyFeedback--invalid {
                color: #ff5b55;
                color: var(--alert, #ff5b55);
            }

.mx_AccessSecretStorageDialog .mx_AccessSecretStorageDialog_primaryContainer .mx_AccessSecretStorageDialog_recoveryKeyFeedback.mx_AccessSecretStorageDialog_recoveryKeyFeedback--invalid::before {
                    -webkit-mask-image: url(../../icons/close.dce71fd.svg);
                            mask-image: url(../../icons/close.dce71fd.svg);
                    background-color: #ff5b55;
                    background-color: var(--alert, #ff5b55);
                }

.mx_AccessSecretStorageDialog .mx_AccessSecretStorageDialog_primaryContainer .mx_Dialog_buttons { /* 16px icon + 8px padding */

            text-align: left;

            text-align: initial;
            display: -webkit-box;
            display: -ms-flexbox;
            display: flex;
            -webkit-box-orient: vertical;
            -webkit-box-direction: normal;
                -ms-flex-flow: column;
                    flex-flow: column;
            gap: 14px;
        }

.mx_AccessSecretStorageDialog .mx_AccessSecretStorageDialog_primaryContainer .mx_Dialog_buttons .mx_Dialog_buttons_additive {
                float: none;
            }

.mx_AccessSecretStorageDialog .mx_AccessSecretStorageDialog_primaryContainer .mx_Dialog_buttons .mx_Dialog_buttons_additive .mx_AccessSecretStorageDialog_reset {
                    position: relative;
                    -webkit-padding-start: 24px;
                            padding-inline-start: 24px;
                    /* To avoid bold styling inherent with <strong> elements */
                    font-weight: inherit;
                }

.mx_AccessSecretStorageDialog .mx_AccessSecretStorageDialog_primaryContainer .mx_Dialog_buttons .mx_Dialog_buttons_additive .mx_AccessSecretStorageDialog_reset::before {
                        content: "";
                        display: inline-block;
                        position: absolute;
                        height: 16px;
                        width: 16px;
                        left: 0;
                        top: 2px; /* alignment */
                        background-image: url(../../icons/error.90f55f3.svg);
                        background-size: contain;
                    }

.mx_AccessSecretStorageDialog .mx_AccessSecretStorageDialog_primaryContainer .mx_Dialog_buttons .mx_Dialog_buttons_additive .mx_AccessSecretStorageDialog_reset .mx_AccessSecretStorageDialog_reset_link {
                        color: #ff5b55;
                        color: var(--alert, #ff5b55);
                    }

.mx_AccessSecretStorageDialog .mx_AccessSecretStorageDialog_primaryContainer .mx_Dialog_buttons .mx_Dialog_buttons_row {
                gap: 16px; /* TODO: needs normalization */
                -webkit-padding-start: 24px;
                        padding-inline-start: 24px;
            }

/*
Copyright 2024 New Vector Ltd.
Copyright 2020 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_CreateCrossSigningDialog {
    /* Why you ask? Because CompleteSecurityBody is 600px so this is the width */
    /* we end up when in there, but when in our own dialog we set our own width */
    /* so need to fix it to something sensible as otherwise we'd end up either */
    /* really wide or really narrow depending on the phase. I bet you wish you */
    /* never asked. */
    width: 560px;
}

.mx_CreateCrossSigningDialog details .mx_AccessibleButton {
        margin: 1em 0; /* emulate paragraph spacing because we can't put this button in a paragraph due to HTML rules */
    }

.mx_CreateCrossSigningDialog .mx_Dialog_title {
    /* TODO: Consider setting this for all dialog titles. */
    margin-bottom: 1em;
}

/*
Copyright 2018-2024 New Vector Ltd.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_CreateKeyBackupDialog .mx_Dialog_title {
    /* TODO: Consider setting this for all dialog titles. */
    margin-bottom: 1em;
}

.mx_CreateKeyBackupDialog_primaryContainer {
    /* FIXME: plinth colour in new theme(s). background-color: $accent; */
    padding: 20px;
}

.mx_CreateKeyBackupDialog_primaryContainer::after {
    content: "";
    clear: both;
    display: block;
}

.mx_CreateKeyBackupDialog_passPhraseContainer {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
}

.mx_CreateKeyBackupDialog_passPhraseInput {
    -webkit-box-flex: 0;
        -ms-flex: none;
            flex: none;
    width: 250px;
    border: 1px solid #0dbd8b;
    border: 1px solid var(--accent-color, #0dbd8b);
    border-radius: 5px;
    padding: 10px;
    margin-bottom: 1em;
}

.mx_CreateKeyBackupDialog_passPhraseMatch {
    margin-left: 20px;
}

.mx_CreateKeyBackupDialog_recoveryKeyHeader {
    margin-bottom: 1em;
}

.mx_CreateKeyBackupDialog_recoveryKeyContainer {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
}

.mx_CreateKeyBackupDialog_recoveryKey {
    width: 262px;
    padding: 20px;
    color: var(--timeline-text-secondary-color);
    background-color: #22262e;
    margin-right: 12px;
}

.mx_CreateKeyBackupDialog_recoveryKeyButtons {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
}

.mx_CreateKeyBackupDialog_recoveryKeyButtons button {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    white-space: nowrap;
}

.mx_CreateKeyBackupDialog details .mx_AccessibleButton {
        margin: 1em 0; /* emulate paragraph spacing because we can't put this button in a paragraph due to HTML rules */
    }

/*
Copyright 2024 New Vector Ltd.
Copyright 2019, 2020 The Matrix.org Foundation C.I.C.
Copyright 2018 New Vector Ltd

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_CreateSecretStorageDialog {
    /* Why you ask? Because CompleteSecurityBody is 600px so this is the width */
    /* we end up when in there, but when in our own dialog we set our own width */
    /* so need to fix it to something sensible as otherwise we'd end up either */
    /* really wide or really narrow depending on the phase. I bet you wish you */
    /* never asked. */
    width: 560px;
}

.mx_CreateSecretStorageDialog.mx_SuccessDialog {
        padding: 56px; /* 80px from design - 24px wrapper padding */
    }

.mx_CreateSecretStorageDialog.mx_SuccessDialog .mx_Dialog_title {
            margin-bottom: 16px;
        }

.mx_CreateSecretStorageDialog .mx_SettingsFlag {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
    }

.mx_CreateSecretStorageDialog .mx_SettingsFlag_label {
        -webkit-box-flex: 1;
            -ms-flex: 1 1 0px;
                flex: 1 1 0;
        min-width: 0;
        font-weight: var(--cpd-font-weight-semibold);
    }

.mx_CreateSecretStorageDialog .mx_ToggleSwitch {
        -webkit-box-flex: 0;
            -ms-flex: 0 0 auto;
                flex: 0 0 auto;
        margin-left: 30px;
    }

.mx_CreateSecretStorageDialog details .mx_AccessibleButton {
        margin: 1em 0; /* emulate paragraph spacing because we can't put this button in a paragraph due to HTML rules */
    }

.mx_CreateSecretStorageDialog .mx_Dialog_title {
    /* TODO: Consider setting this for all dialog titles. */
    margin-bottom: 1em;
}

.mx_CreateSecretStorageDialog_titleWithIcon::before {
    content: "";
    display: inline-block;
    width: 24px;
    height: 24px;
    margin-right: 8px;
    position: relative;
    top: 5px;
    background-color: var(--timeline-text-color);
}

.mx_CreateSecretStorageDialog_secureBackupTitle::before {
    -webkit-mask-image: url(../../img/feather-customised/secure-backup.7e95b34.svg);
            mask-image: url(../../img/feather-customised/secure-backup.7e95b34.svg);
}

.mx_CreateSecretStorageDialog_securePhraseTitle::before {
    -webkit-mask-image: url(../../img/feather-customised/secure-phrase.73fa1c2.svg);
            mask-image: url(../../img/feather-customised/secure-phrase.73fa1c2.svg);
}

.mx_CreateSecretStorageDialog_centeredTitle,
.mx_CreateSecretStorageDialog_centeredBody {
    text-align: center;
}

.mx_CreateSecretStorageDialog_primaryContainer {
    /* FIXME: plinth colour in new theme(s). background-color: $accent; */
    padding-top: 20px;
}

.mx_CreateSecretStorageDialog_primaryContainer.mx_CreateSecretStorageDialog_recoveryKeyPrimarycontainer {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: center;
            -ms-flex-pack: center;
                justify-content: center;
    }

.mx_CreateSecretStorageDialog_primaryContainer::after {
    content: "";
    clear: both;
    display: block;
}

.mx_CreateSecretStorageDialog_primaryContainer .mx_StyledRadioButton {
    margin-bottom: 16px;
    padding: 11px;
}

.mx_CreateSecretStorageDialog_optionTitle {
    color: var(--timeline-text-color);
    font-weight: var(--cpd-font-weight-semibold);
    font-size: 1.125rem;
    padding-bottom: 10px;
}

.mx_CreateSecretStorageDialog_optionIcon {
    display: inline-block;
    width: 24px;
    height: 24px;
    margin-right: 8px;
    position: relative;
    top: 5px;
    background-color: var(--timeline-text-color);
}

.mx_CreateSecretStorageDialog_optionIcon_securePhrase {
    -webkit-mask-image: url(../../img/feather-customised/secure-phrase.73fa1c2.svg);
            mask-image: url(../../img/feather-customised/secure-phrase.73fa1c2.svg);
}

.mx_CreateSecretStorageDialog_optionIcon_secureBackup {
    -webkit-mask-image: url(../../img/feather-customised/secure-backup.7e95b34.svg);
            mask-image: url(../../img/feather-customised/secure-backup.7e95b34.svg);
}

.mx_CreateSecretStorageDialog_passPhraseContainer {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
}

.mx_Field.mx_CreateSecretStorageDialog_passPhraseField {
    margin-top: 0px;
}

.mx_CreateSecretStorageDialog_passPhraseMatch {
    width: 200px;
    margin-left: 20px;
}

.mx_CreateSecretStorageDialog_recoveryKeyContainer {
    display: inline-block;
}

.mx_CreateSecretStorageDialog_recoveryKey {
    font-weight: bold;
    text-align: center;
    padding: 20px;
    color: var(--timeline-text-secondary-color);
    background-color: #22262e;
    border-radius: 6px;
    word-spacing: 1em;
    margin-bottom: 20px;
}

.mx_CreateSecretStorageDialog_recoveryKey code {
        display: inline-block;
        width: 30rem;
    }

.mx_CreateSecretStorageDialog_recoveryKeyButtons {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 16px;
}

.mx_CreateSecretStorageDialog_recoveryKeyButtons_copyBtn {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
}

.mx_CreateSecretStorageDialog_recoveryKeyButtons .mx_AccessibleButton {
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    white-space: nowrap;
}

.mx_CreateSecretStorageDialog_continueSpinner {
    margin-top: 33px;
    text-align: right;
}

.mx_CreateSecretStorageDialog_continueSpinner img {
    width: 20px;
    height: 20px;
}

/*
Copyright 2018-2024 New Vector Ltd.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_KeyBackupFailedDialog .mx_Dialog_title {
    margin-bottom: 32px;
}

.mx_KeyBackupFailedDialog_title {
    position: relative;
    padding-left: 45px;
    padding-bottom: 10px;
}

.mx_KeyBackupFailedDialog_title::before {
        -webkit-mask: url(../../img/e2e/lock-warning-filled.655a613.svg);
                mask: url(../../img/e2e/lock-warning-filled.655a613.svg);
        -webkit-mask-repeat: no-repeat;
                mask-repeat: no-repeat;
        background-color: var(--timeline-text-color);
        content: "";
        position: absolute;
        top: -6px;
        right: 0;
        bottom: 0;
        left: 0;
    }

.mx_KeyBackupFailedDialog .mx_Dialog_buttons {
    margin-top: 36px;
}

/*
Copyright 2024 New Vector Ltd.
Copyright 2019 The Matrix.org Foundation C.I.C.
Copyright 2018 New Vector Ltd

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_RestoreKeyBackupDialog_keyStatus {
    height: 30px;
}

.mx_RestoreKeyBackupDialog_primaryContainer {
    /* FIXME: plinth colour in new theme(s). background-color: $accent; */
    padding: 20px;
}

.mx_RestoreKeyBackupDialog_passPhraseInput,
.mx_RestoreKeyBackupDialog_recoveryKeyInput {
    width: 300px;
    border: 1px solid #0dbd8b;
    border: 1px solid var(--accent-color, #0dbd8b);
    border-radius: 5px;
    padding: 10px;
}

.mx_RestoreKeyBackupDialog_content > div {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    min-height: 110px; /* Empirically measured */
}

/*
Copyright 2024 New Vector Ltd.
Copyright 2022 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_NetworkDropdown_wrapper .mx_ContextualMenu .mx_GenericDropdownMenu_Option.mx_GenericDropdownMenu_Option--header {
            padding-top: 12px;
            padding-bottom: 4px;
            min-width: 160px;
        }

.mx_NetworkDropdown_wrapper .mx_ContextualMenu .mx_GenericDropdownMenu_Option.mx_GenericDropdownMenu_Option--item {
            padding-top: 4px;
            padding-bottom: 4px;
        }

.mx_NetworkDropdown_wrapper .mx_ContextualMenu .mx_GenericDropdownMenu_Option.mx_GenericDropdownMenu_Option--item > .mx_GenericDropdownMenu_Option--label span:first-child {
                font-weight: normal;
            }

.mx_NetworkDropdown_wrapper .mx_ContextualMenu .mx_GenericDropdownMenu_Option > .mx_GenericDropdownMenu_Option--label {
            -webkit-box-orient: horizontal;
            -webkit-box-direction: normal;
                -ms-flex-direction: row;
                    flex-direction: row;
            -webkit-box-align: baseline;
                -ms-flex-align: baseline;
                    align-items: baseline;
            -ms-flex-line-pack: baseline;
                align-content: baseline;
            color: var(--timeline-text-color);
        }

.mx_NetworkDropdown_wrapper .mx_ContextualMenu .mx_GenericDropdownMenu_Option > .mx_GenericDropdownMenu_Option--label span:not(:first-child) {
                margin-left: 4px;
                color: #edf3ff;
                color: var(--secondary-content, #edf3ff);
            }

.mx_NetworkDropdown_wrapper .mx_ContextualMenu .mx_GenericDropdownMenu_divider {
        margin-top: 4px;
        margin-bottom: 4px;
    }

.mx_NetworkDropdown_addServer {
    font-weight: normal;
    font-size: 0.9375rem;
}

.mx_NetworkDropdown_removeServer {
    position: relative;
    display: inline-block;
    width: 16px;
    height: 16px;
    background: #6f7882;
    background: var(--quinary-content, #6f7882);
    border-radius: 8px;
    text-align: center;
    line-height: 16px;
    color: #edf3ff;
    color: var(--secondary-content, #edf3ff);
    margin-left: auto;
}

.mx_NetworkDropdown_removeServer::before {
        background-color: #edf3ff;
        background-color: var(--secondary-content, #edf3ff);
        content: "";
        -webkit-mask-repeat: no-repeat;
                mask-repeat: no-repeat;
        -webkit-mask-position: center;
                mask-position: center;
        -webkit-mask-size: 14px;
                mask-size: 14px;
        width: inherit;
        height: inherit;
        position: absolute;
        left: 50%;
        top: 50%;
        -webkit-transform: translate(-50%, -50%);
                transform: translate(-50%, -50%);
        -webkit-mask-image: url(../../icons/close.dce71fd.svg);
                mask-image: url(../../icons/close.dce71fd.svg);
    }

.mx_NetworkDropdown_dialog .mx_Dialog {
    width: 45vw;
}

/*
Copyright 2024 New Vector Ltd.
Copyright 2017 Vector Creations Ltd

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_AccessibleButton {
    cursor: pointer;
}

.mx_AccessibleButton.mx_AccessibleButton_disabled {
        cursor: not-allowed;
    }

.mx_AccessibleButton.mx_AccessibleButton_disabled.mx_AccessibleButton_kind_icon_primary,
        .mx_AccessibleButton.mx_AccessibleButton_disabled.mx_AccessibleButton_kind_icon_primary_outline,
        .mx_AccessibleButton.mx_AccessibleButton_disabled.mx_AccessibleButton_kind_primary,
        .mx_AccessibleButton.mx_AccessibleButton_disabled.mx_AccessibleButton_kind_primary_outline,
        .mx_AccessibleButton.mx_AccessibleButton_disabled.mx_AccessibleButton_kind_primary_sm,
        .mx_AccessibleButton.mx_AccessibleButton_disabled.mx_AccessibleButton_kind_link,
        .mx_AccessibleButton.mx_AccessibleButton_disabled.mx_AccessibleButton_kind_link_accent,
        .mx_AccessibleButton.mx_AccessibleButton_disabled.mx_AccessibleButton_kind_link_inline,
        .mx_AccessibleButton.mx_AccessibleButton_disabled.mx_AccessibleButton_kind_danger_inline,
        .mx_AccessibleButton.mx_AccessibleButton_disabled.mx_AccessibleButton_kind_content_inline,
        .mx_AccessibleButton.mx_AccessibleButton_disabled.mx_AccessibleButton_kind_link_sm {
            opacity: 0.4;
        }

.mx_AccessibleButton.mx_AccessibleButton_hasKind {
        padding: 7px 18px;
        text-align: center;
        border-radius: 24px;
        display: -webkit-inline-box;
        display: -ms-inline-flexbox;
        display: inline-flex;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        -webkit-box-pack: center;
            -ms-flex-pack: center;
                justify-content: center;
        font: var(--cpd-font-body-md-semibold);
        border: none; /* override default <button /> styles */
        word-break: keep-all; /* prevent button text in Chinese/Japanese/Korean (CJK) from being collapsed */
    }

.mx_AccessibleButton.mx_AccessibleButton_hasKind.mx_AccessibleButton_kind_primary_sm,
        .mx_AccessibleButton.mx_AccessibleButton_hasKind.mx_AccessibleButton_kind_danger_sm,
        .mx_AccessibleButton.mx_AccessibleButton_hasKind.mx_AccessibleButton_kind_link_sm {
            padding: 5px 12px;
        }

.mx_AccessibleButton.mx_AccessibleButton_hasKind.mx_AccessibleButton_kind_primary_sm {
            color: var(--cpd-color-text-on-solid-primary);
            background-color: var(--cpd-color-bg-action-primary-rest);
        }

.mx_AccessibleButton.mx_AccessibleButton_hasKind.mx_AccessibleButton_kind_danger_sm {
            color: var(--cpd-color-text-on-solid-primary);
            background-color: var(--cpd-color-bg-critical-primary);
        }

.mx_AccessibleButton.mx_AccessibleButton_hasKind.mx_AccessibleButton_kind_link_sm {
            color: var(--cpd-color-text-primary);
            text-decoration: underline;
            font-weight: var(--cpd-font-weight-semibold);
        }

.mx_AccessibleButton.mx_AccessibleButton_hasKind.mx_AccessibleButton_kind_confirm_sm {
            background-color: var(--cpd-color-bg-action-primary-rest);
        }

.mx_AccessibleButton.mx_AccessibleButton_hasKind.mx_AccessibleButton_kind_confirm_sm::before {
                -webkit-mask-image: url(../../icons/check.3fc654f.svg);
                        mask-image: url(../../icons/check.3fc654f.svg);
            }

.mx_AccessibleButton.mx_AccessibleButton_hasKind.mx_AccessibleButton_kind_cancel_sm {
            background-color: var(--cpd-color-bg-critical-primary);
        }

.mx_AccessibleButton.mx_AccessibleButton_hasKind.mx_AccessibleButton_kind_cancel_sm::before {
                -webkit-mask-image: url(../../icons/close.dce71fd.svg);
                        mask-image: url(../../icons/close.dce71fd.svg);
            }

.mx_AccessibleButton.mx_AccessibleButton_hasKind.mx_AccessibleButton_kind_icon,
        .mx_AccessibleButton.mx_AccessibleButton_hasKind.mx_AccessibleButton_kind_icon_primary,
        .mx_AccessibleButton.mx_AccessibleButton_hasKind.mx_AccessibleButton_kind_icon_primary_outline {
            padding: 0;
            height: 32px;
            width: 32px;
        }

.mx_AccessibleButton.mx_AccessibleButton_kind_icon_primary,
    .mx_AccessibleButton.mx_AccessibleButton_kind_icon_primary_outline,
    .mx_AccessibleButton.mx_AccessibleButton_kind_primary,
    .mx_AccessibleButton.mx_AccessibleButton_kind_primary_outline,
    .mx_AccessibleButton.mx_AccessibleButton_kind_secondary {
        font-weight: var(--cpd-font-weight-semibold);
    }

.mx_AccessibleButton.mx_AccessibleButton_kind_icon_primary,
    .mx_AccessibleButton.mx_AccessibleButton_kind_primary {
        border: 1px solid var(--cpd-color-bg-action-primary-rest);
        color: var(--cpd-color-text-on-solid-primary);
        background-color: var(--cpd-color-bg-action-primary-rest);
    }

.mx_AccessibleButton.mx_AccessibleButton_kind_icon_primary_outline,
    .mx_AccessibleButton.mx_AccessibleButton_kind_primary_outline {
        border: 1px solid var(--cpd-color-border-interactive-secondary);
        color: var(--cpd-color-text-primary);
    }

.mx_AccessibleButton.mx_AccessibleButton_kind_secondary {
        color: var(--cpd-color-text-primary);
        text-decoration: underline;
    }

.mx_AccessibleButton.mx_AccessibleButton_kind_secondary_content {
        color: #edf3ff;
        color: var(--secondary-content, #edf3ff);
    }

.mx_AccessibleButton.mx_AccessibleButton_kind_danger {
        color: var(--cpd-color-text-on-solid-primary);
        background-color: var(--cpd-color-bg-critical-primary);
    }

.mx_AccessibleButton.mx_AccessibleButton_kind_danger.mx_AccessibleButton_disabled {
            color: var(--cpd-color-text-on-solid-primary);
            background-color: var(--cpd-color-bg-critical-primary);
        }

.mx_AccessibleButton.mx_AccessibleButton_kind_danger_outline {
        color: var(--cpd-color-text-critical-primary);
        background-color: transparent;
        border: 1px solid var(--cpd-color-border-critical-subtle);
    }

.mx_AccessibleButton.mx_AccessibleButton_kind_danger_outline.mx_AccessibleButton_disabled {
            color: var(--cpd-color-text-disabled);
            border-color: var(--cpd-color-border-disabled);
        }

.mx_AccessibleButton.mx_AccessibleButton_kind_danger_sm.mx_AccessibleButton_disabled {
            color: var(--cpd-color-text-disabled);
            background-color: var(--cpd-color-bg-subtle-primary);
        }

.mx_AccessibleButton.mx_AccessibleButton_kind_link,
    .mx_AccessibleButton.mx_AccessibleButton_kind_link_inline,
    .mx_AccessibleButton.mx_AccessibleButton_kind_danger_inline,
    .mx_AccessibleButton.mx_AccessibleButton_kind_content_inline {
        font-size: inherit;
        font-weight: var(--cpd-font-weight-semibold);
        line-height: inherit;
        padding: 0;
        text-decoration: underline;
    }

.mx_AccessibleButton.mx_AccessibleButton_kind_link,
    .mx_AccessibleButton.mx_AccessibleButton_kind_link_inline {
        color: var(--cpd-color-text-primary);
    }

.mx_AccessibleButton.mx_AccessibleButton_kind_danger_inline {
        color: var(--cpd-color-text-critical-primary);
    }

.mx_AccessibleButton.mx_AccessibleButton_kind_content_inline {
        color: var(--timeline-text-color);
    }

.mx_AccessibleButton.mx_AccessibleButton_kind_link_inline,
    .mx_AccessibleButton.mx_AccessibleButton_kind_danger_inline,
    .mx_AccessibleButton.mx_AccessibleButton_kind_content_inline {
        display: inline;
    }

.mx_AccessibleButton.mx_AccessibleButton_kind_confirm_sm,
    .mx_AccessibleButton.mx_AccessibleButton_kind_cancel_sm {
        padding: 0px;
        width: 16px;
        height: 16px;
        border-radius: 100%;
        position: relative;
        display: block;
    }

.mx_AccessibleButton.mx_AccessibleButton_kind_confirm_sm::before, .mx_AccessibleButton.mx_AccessibleButton_kind_cancel_sm::before {
            content: "";
            display: block;
            position: absolute;
            inset: 0;
            background-color: #ffffff;
            -webkit-mask-repeat: no-repeat;
                    mask-repeat: no-repeat;
            -webkit-mask-position: center;
                    mask-position: center;
            -webkit-mask-size: 80%;
                    mask-size: 80%;
        }

/*
Copyright 2024 New Vector Ltd.
Copyright 2022 Šimon Brandner <simon.bra.ag@gmail.com>
Copyright 2019 New Vector Ltd

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_CopyableText {
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    width: -webkit-max-content;
    width: -moz-max-content;
    width: max-content;
    max-width: 100%;
}

.mx_CopyableText.mx_CopyableText_border {
        overflow: auto;
        border-radius: 5px;
        border: solid 1px var(--timeline-text-secondary-color);
        margin-bottom: 10px;
        margin-top: 10px;
        padding: 10px 0 10px 10px;
    }

.mx_CopyableText .mx_CopyableText_copyButton {
        -ms-flex-negative: 0;
            flex-shrink: 0;
        /* using em here to adapt to the local font size */
        width: 1em;
        height: 1em;
        cursor: pointer;
        padding-left: 12px;
        padding-right: 10px;
        display: block;
        /* If the copy button is used within a scrollable div, make it stick to the right while scrolling */
        position: sticky;
        right: 0;
        /* center to first line */
        top: 0.15em;
        background-color: var(--timeline-background-color);
    }

.mx_CopyableText .mx_CopyableText_copyButton::before {
            content: "";
            -webkit-mask-image: url(../../icons/copy.c6839e9.svg);
                    mask-image: url(../../icons/copy.c6839e9.svg);
            -webkit-mask-position: center center;
                    mask-position: center center;
            -webkit-mask-repeat: no-repeat;
                    mask-repeat: no-repeat;
            -webkit-mask-size: contain;
                    mask-size: contain;
            background-color: var(--timeline-text-color);
            width: 1em;
            height: 1em;
            display: block;
            background-repeat: no-repeat;
        }

/*
Copyright 2024 New Vector Ltd.
Copyright 2021 Šimon Brandner <simon.bra.ag@gmail.com>

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_desktopCapturerSourcePicker {
    overflow: hidden;
}

.mx_desktopCapturerSourcePicker .mx_desktopCapturerSourcePicker_tab {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
        -webkit-box-pack: center;
            -ms-flex-pack: center;
                justify-content: center;
        -webkit-box-align: start;
            -ms-flex-align: start;
                align-items: flex-start;
        height: 500px;
        overflow: overlay;
    }

.mx_desktopCapturerSourcePicker .mx_desktopCapturerSourcePicker_tab .mx_desktopCapturerSourcePicker_source {
            width: 50%;
            display: -webkit-box;
            display: -ms-flexbox;
            display: flex;
            -webkit-box-orient: vertical;
            -webkit-box-direction: normal;
                -ms-flex-direction: column;
                    flex-direction: column;
        }

.mx_desktopCapturerSourcePicker .mx_desktopCapturerSourcePicker_tab .mx_desktopCapturerSourcePicker_source .mx_desktopCapturerSourcePicker_source_thumbnail {
                margin: 4px;
                padding: 4px;
                border-width: 2px;
                border-radius: 8px;
                border-style: solid;
                border-color: transparent;
            }

.mx_desktopCapturerSourcePicker .mx_desktopCapturerSourcePicker_tab .mx_desktopCapturerSourcePicker_source .mx_desktopCapturerSourcePicker_source_thumbnail.mx_desktopCapturerSourcePicker_source_thumbnail_selected,
                .mx_desktopCapturerSourcePicker .mx_desktopCapturerSourcePicker_tab .mx_desktopCapturerSourcePicker_source .mx_desktopCapturerSourcePicker_source_thumbnail:hover,
                .mx_desktopCapturerSourcePicker .mx_desktopCapturerSourcePicker_tab .mx_desktopCapturerSourcePicker_source .mx_desktopCapturerSourcePicker_source_thumbnail:focus {
                    border-color: #0dbd8b;
                    border-color: var(--accent-color, #0dbd8b);
                }

.mx_desktopCapturerSourcePicker .mx_desktopCapturerSourcePicker_tab .mx_desktopCapturerSourcePicker_source .mx_desktopCapturerSourcePicker_source_name {
                margin: 0 4px;
                white-space: nowrap;
                text-overflow: ellipsis;
                overflow: hidden;
            }

/*
Copyright 2024 New Vector Ltd.
Copyright 2021 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_DialPadBackspaceButton {
    position: relative;
    height: 28px;
    width: 28px;
}

.mx_DialPadBackspaceButton::before {
        /* force this element to appear on the DOM */
        content: "";

        background-color: #8d97a5;
        width: inherit;
        height: inherit;
        top: 0px;
        left: 0px;
        position: absolute;
        display: inline-block;
        vertical-align: middle;

        -webkit-mask-image: url(../../img/element-icons/call/delete.1f69b87.svg);

                mask-image: url(../../img/element-icons/call/delete.1f69b87.svg);
        -webkit-mask-position: 8px;
                mask-position: 8px;
        -webkit-mask-size: 20px;
                mask-size: 20px;
        -webkit-mask-repeat: no-repeat;
                mask-repeat: no-repeat;
    }

/*
Copyright 2024 New Vector Ltd.
Copyright 2017 OpenMarket Ltd

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_Dropdown {
    position: relative;
    color: var(--timeline-text-color);
}

.mx_Dropdown_disabled {
    opacity: 0.3;
}

.mx_Dropdown_input {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    position: relative;
    border-radius: 8px;
    border: 1px solid var(--cpd-color-border-interactive-secondary);
    font: var(--cpd-font-body-sm-regular);
    -webkit-user-select: none;
       -moz-user-select: none;
        -ms-user-select: none;
            user-select: none;
}

.mx_Dropdown_input.mx_AccessibleButton_disabled {
    cursor: not-allowed;
}

.mx_Dropdown_input:focus {
    border-color: var(--primary-color);
}

/* Disable dropdown highlight on focus */

.mx_Dropdown_input.mx_AccessibleButton:focus {
    -webkit-filter: none;
            filter: none;
}

.mx_Dropdown_arrow {
    width: 16px;
    height: 16px;
    margin-right: 4px;
    -webkit-mask: url(../../icons/chevron-down.3774773.svg);
            mask: url(../../icons/chevron-down.3774773.svg);
    -webkit-mask-repeat: no-repeat;
            mask-repeat: no-repeat;
    -webkit-mask-position: center;
            mask-position: center;
    -webkit-mask-size: 18px;
            mask-size: 18px;
    background: var(--timeline-text-color);
}

.mx_Dropdown_option {
    height: 35px;
    line-height: 2.1875rem;
    /* Overwrites the default padding for any li elements */
    padding: 0 8px;
}

.mx_Dropdown_input > .mx_Dropdown_option {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
}

.mx_Dropdown_option div {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.mx_Dropdown_option img,
.mx_Dropdown_option .mx_Dropdown_option_emoji {
    margin: 5px;
    width: 16px;
    vertical-align: middle;
}

.mx_Dropdown_option_emoji {
    font-size: 1rem;
    line-height: 1rem;
}

input.mx_Dropdown_option,
input.mx_Dropdown_option:focus {
    font-weight: normal;
    border: 0;
    padding-top: 0;
    padding-bottom: 0;
    /* XXX: hack to prevent text box being too big and pushing */
    /* its parent out / overlapping the dropdown arrow. Only really */
    /* works in the Country dropdown. */
    width: 60%;
}

.mx_Dropdown_menu {
    position: absolute;
    left: -1px;
    right: -1px;
    top: 100%;
    z-index: 2;
    margin: 0;
    padding: 0px;
    border-radius: 4px;
    border: 1px solid var(--primary-color);
    background-color: var(--timeline-background-color);
    max-height: 200px;
    overflow-y: auto;
}

.mx_Dropdown_menu .mx_Dropdown_option {
    height: auto;
    min-height: 35px;
}

ul.mx_Dropdown_menu li.mx_Dropdown_option {
    list-style: none;
}

.mx_Dropdown_menu .mx_Dropdown_option_highlight {
    background-color: #343a46;
    background-color: var(--focus-bg-color, #343a46);
}

.mx_Dropdown_searchPrompt {
    font-weight: normal;
    margin-left: 5px;
    margin-bottom: 5px;
}

/*
Copyright 2017-2024 New Vector Ltd.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_EditableItemList {
    margin-top: 12px;
    margin-bottom: 10px;
}

.mx_EditableItem {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin-bottom: 5px;
}

.mx_EditableItem_delete {
    cursor: pointer;
    position: relative;
    width: 28px;
    height: 28px;
    border-radius: 14px;
    background-color: var(--cpd-color-bg-subtle-secondary);
}

.mx_EditableItem_delete:hover {
        background-color: var(--cpd-color-bg-subtle-primary);
    }

.mx_EditableItem_delete::before {
        content: "";
        width: 28px;
        height: 28px;
        left: 0;
        top: 0;
        position: absolute;
        -webkit-mask-image: url(../../icons/close.dce71fd.svg);
                mask-image: url(../../icons/close.dce71fd.svg);
        -webkit-mask-repeat: no-repeat;
                mask-repeat: no-repeat;
        -webkit-mask-position: center;
                mask-position: center;
        -webkit-mask-size: 20px;
                mask-size: 20px;
        background-color: var(--cpd-color-icon-secondary);
    }

.mx_EditableItem_delete {
    -webkit-box-ordinal-group: 4;
        -ms-flex-order: 3;
            order: 3;
    vertical-align: middle;
    width: 28px;
    height: 28px;
    background-color: #ff5b55;
    background-color: var(--alert, #ff5b55);
    -webkit-mask-size: 100%;
            mask-size: 100%;
}

.mx_EditableItem_email {
    vertical-align: middle;
}

.mx_EditableItem_promptText {
    margin-right: 10px;
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
}

.mx_EditableItem_confirmBtn {
    margin-right: 5px;
}

.mx_EditableItem_item {
    -webkit-box-flex: 1;
        -ms-flex: auto 1 0px;
            flex: auto 1 0;
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
    width: calc(100% - 28px); /* leave space for the remove button */
    overflow-x: hidden;
    text-overflow: ellipsis;
}

.mx_EditableItemList_label {
    margin-bottom: 5px;
}

/*
Copyright 2024 New Vector Ltd.
Copyright 2019 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_ErrorBoundary {
    width: 100%;
    height: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
}

.mx_ErrorBoundary_body {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    max-width: 400px;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
}

.mx_ErrorBoundary_body .mx_AccessibleButton {
        margin-top: 5px;
    }

/*
Copyright 2024 New Vector Ltd.
Copyright 2021 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_ExternalLink {
    color: #0086e6;
    color: var(--links, #0086e6);
}

.mx_ExternalLink_icon {
    display: inline-block;
    -webkit-mask-image: url(../../img/external-link.8197a77.svg);
            mask-image: url(../../img/external-link.8197a77.svg);
    background-color: currentColor;
    -webkit-mask-repeat: no-repeat;
            mask-repeat: no-repeat;
    -webkit-mask-size: contain;
            mask-size: contain;
    width: 0.6875rem;
    height: 0.6875rem;
    margin-left: 0.3rem;
    vertical-align: middle;
}

/*
Copyright 2024 New Vector Ltd.
Copyright 2021 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_FacePile_more {
    /* Needed to calculate the offset on the face pile */
    --cpd-avatar-size: 28px;
    position: relative;
    border-radius: 100%;
    width: 28px;
    height: 28px;
    background-color: var(--panels, var(--cpd-color-gray-600));
    display: inline-block;
}

.mx_FacePile_more::before {
        content: "";
        z-index: 1;
        position: absolute;
        top: 0;
        left: 0;
        height: inherit;
        width: inherit;
        background: #edf3ff;
        background: var(--tertiary-content, #edf3ff);
        -webkit-mask-position: center;
                mask-position: center;
        -webkit-mask-size: 20px;
                mask-size: 20px;
        -webkit-mask-repeat: no-repeat;
                mask-repeat: no-repeat;
        -webkit-mask-image: url(../../icons/overflow-horizontal.103407e.svg);
                mask-image: url(../../icons/overflow-horizontal.103407e.svg);
    }

.mx_FacePile_summary {
    margin-left: 12px;
    font: var(--cpd-font-body-md-regular);
    line-height: 1.5rem;
    color: #edf3ff;
    color: var(--tertiary-content, #edf3ff);
}

/*
Copyright 2019-2024 New Vector Ltd.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

/* TODO: Consider unifying with general input styles in _light.pcss */

.mx_Field {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    min-width: 0;
    position: relative;
    margin: 1em 0;
    border-radius: 8px;
    -webkit-transition: border-color 0.25s;
    transition: border-color 0.25s;
    border: 1px solid var(--cpd-color-border-interactive-secondary);
}

.mx_Field_prefix {
    border-right: 1px solid var(--cpd-color-border-interactive-secondary);
}

.mx_Field_postfix {
    border-left: 1px solid var(--cpd-color-border-interactive-secondary);
}

.mx_Field input,
.mx_Field select,
.mx_Field textarea {
    font: var(--cpd-font-body-md-regular);
    border: none;
    /* Even without a border here, we still need this avoid overlapping the rounded */
    /* corners on the field above. */
    border-radius: 8px;
    padding: 8px 9px;
    color: var(--timeline-text-color);
    background-color: var(--timeline-background-color);
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    min-width: 0;
}

.mx_Field select {
    -moz-appearance: none;
    -webkit-appearance: none;
    text-overflow: ellipsis;
}

/* Can't add pseudo-elements to a select directly, so we use its parent. */

.mx_Field_select::before {
    content: "";
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
    right: 4px;
    width: 18px;
    height: 18px;
    -webkit-mask: url(../../icons/chevron-down.3774773.svg);
            mask: url(../../icons/chevron-down.3774773.svg);
    -webkit-mask-repeat: no-repeat;
            mask-repeat: no-repeat;
    -webkit-mask-position: center;
            mask-position: center;
    -webkit-mask-size: contain;
            mask-size: contain;
    background-color: var(--timeline-text-color);
    z-index: 1;
    pointer-events: none;
}

.mx_Field:focus-within {
    border-color: var(--primary-color);
}

.mx_Field input:focus,
.mx_Field select:focus,
.mx_Field textarea:focus {
    outline: 0;
}

.mx_Field input::-webkit-input-placeholder, .mx_Field textarea::-webkit-input-placeholder {
    -webkit-transition: color 0.25s ease-in 0s;
    transition: color 0.25s ease-in 0s;
    color: transparent;
}

.mx_Field input::-moz-placeholder, .mx_Field textarea::-moz-placeholder {
    -moz-transition: color 0.25s ease-in 0s;
    transition: color 0.25s ease-in 0s;
    color: transparent;
}

.mx_Field input:-ms-input-placeholder, .mx_Field textarea:-ms-input-placeholder {
    -ms-transition: color 0.25s ease-in 0s;
    transition: color 0.25s ease-in 0s;
    color: transparent;
}

.mx_Field input::-ms-input-placeholder, .mx_Field textarea::-ms-input-placeholder {
    -ms-transition: color 0.25s ease-in 0s;
    transition: color 0.25s ease-in 0s;
    color: transparent;
}

.mx_Field input::placeholder,
.mx_Field textarea::placeholder {
    -webkit-transition: color 0.25s ease-in 0s;
    transition: color 0.25s ease-in 0s;
    color: transparent;
}

.mx_Field input:placeholder-shown:focus::-webkit-input-placeholder, .mx_Field textarea:placeholder-shown:focus::-webkit-input-placeholder, .mx_Field.mx_Field_placeholderIsHint input::-webkit-input-placeholder {
    -webkit-transition: color 0.25s ease-in 0.1s;
    transition: color 0.25s ease-in 0.1s;
    color: var(--timeline-text-secondary-color);
}

.mx_Field input:placeholder-shown:focus::-moz-placeholder, .mx_Field textarea:placeholder-shown:focus::-moz-placeholder, .mx_Field.mx_Field_placeholderIsHint input::-moz-placeholder {
    -moz-transition: color 0.25s ease-in 0.1s;
    transition: color 0.25s ease-in 0.1s;
    color: var(--timeline-text-secondary-color);
}

.mx_Field input:placeholder-shown:focus:-ms-input-placeholder, .mx_Field textarea:placeholder-shown:focus:-ms-input-placeholder, .mx_Field.mx_Field_placeholderIsHint input:-ms-input-placeholder {
    -ms-transition: color 0.25s ease-in 0.1s;
    transition: color 0.25s ease-in 0.1s;
    color: var(--timeline-text-secondary-color);
}

.mx_Field input:placeholder-shown:focus::-ms-input-placeholder, .mx_Field textarea:placeholder-shown:focus::-ms-input-placeholder, .mx_Field.mx_Field_placeholderIsHint input::-ms-input-placeholder {
    -ms-transition: color 0.25s ease-in 0.1s;
    transition: color 0.25s ease-in 0.1s;
    color: var(--timeline-text-secondary-color);
}

.mx_Field input:-moz-placeholder-shown:focus::placeholder, .mx_Field textarea:-moz-placeholder-shown:focus::placeholder {
    -moz-transition: color 0.25s ease-in 0.1s;
    transition: color 0.25s ease-in 0.1s;
    color: var(--timeline-text-secondary-color);
}

.mx_Field input:-ms-input-placeholder:focus::placeholder, .mx_Field textarea:-ms-input-placeholder:focus::placeholder {
    -ms-transition: color 0.25s ease-in 0.1s;
    transition: color 0.25s ease-in 0.1s;
    color: var(--timeline-text-secondary-color);
}

.mx_Field input:placeholder-shown:focus::placeholder,
.mx_Field textarea:placeholder-shown:focus::placeholder,
.mx_Field.mx_Field_placeholderIsHint input::placeholder {
    -webkit-transition: color 0.25s ease-in 0.1s;
    transition: color 0.25s ease-in 0.1s;
    color: var(--timeline-text-secondary-color);
}

.mx_Field label {
    -webkit-transition:
        font-size 0.25s ease-out 0.1s,
        color 0.25s ease-out 0.1s,
        background-color 0.25s ease-out 0.1s,
        -webkit-transform 0.25s ease-out 0.1s;
    transition:
        font-size 0.25s ease-out 0.1s,
        color 0.25s ease-out 0.1s,
        background-color 0.25s ease-out 0.1s,
        -webkit-transform 0.25s ease-out 0.1s;
    transition:
        font-size 0.25s ease-out 0.1s,
        color 0.25s ease-out 0.1s,
        transform 0.25s ease-out 0.1s,
        background-color 0.25s ease-out 0.1s;
    transition:
        font-size 0.25s ease-out 0.1s,
        color 0.25s ease-out 0.1s,
        transform 0.25s ease-out 0.1s,
        background-color 0.25s ease-out 0.1s,
        -webkit-transform 0.25s ease-out 0.1s;
    background-color: transparent;
    font: var(--cpd-font-body-md-regular);
    color: var(--cpd-color-text-secondary);
    -webkit-transform: translateY(0);
            transform: translateY(0);
    position: absolute;
    left: 0px;
    margin: 7px 8px;
    padding: 2px;
    pointer-events: none; /* Allow clicks to fall through to the input */
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
    max-width: calc(100% - 20px); /* 100% of parent minus margin and padding */
}

.mx_Field input:not(:-moz-placeholder-shown) + label, .mx_Field textarea:not(:-moz-placeholder-shown) + label {
    -moz-transition:
        font-size 0.25s ease-out 0s,
        color 0.25s ease-out 0s,
        transform 0.25s ease-out 0s,
        background-color 0.25s ease-out 0s;
    transition:
        font-size 0.25s ease-out 0s,
        color 0.25s ease-out 0s,
        transform 0.25s ease-out 0s,
        background-color 0.25s ease-out 0s;
    font-size: 0.625rem;
    transform: translateY(-13px);
    padding: 0 2px;
    background-color: var(--timeline-background-color);
    pointer-events: initial;
}

.mx_Field input:not(:-ms-input-placeholder) + label, .mx_Field textarea:not(:-ms-input-placeholder) + label {
    -ms-transition:
        font-size 0.25s ease-out 0s,
        color 0.25s ease-out 0s,
        transform 0.25s ease-out 0s,
        background-color 0.25s ease-out 0s;
    transition:
        font-size 0.25s ease-out 0s,
        color 0.25s ease-out 0s,
        transform 0.25s ease-out 0s,
        background-color 0.25s ease-out 0s;
    font-size: 0.625rem;
    transform: translateY(-13px);
    padding: 0 2px;
    background-color: var(--timeline-background-color);
    pointer-events: initial;
}

.mx_Field_labelAlwaysTopLeft label,
.mx_Field select + label /* Always show a select's label on top to not collide with the value */,
.mx_Field input:focus + label,
.mx_Field input:not(:placeholder-shown) + label,
.mx_Field textarea:focus + label,
.mx_Field textarea:not(:placeholder-shown) + label {
    -webkit-transition:
        font-size 0.25s ease-out 0s,
        color 0.25s ease-out 0s,
        background-color 0.25s ease-out 0s,
        -webkit-transform 0.25s ease-out 0s;
    transition:
        font-size 0.25s ease-out 0s,
        color 0.25s ease-out 0s,
        background-color 0.25s ease-out 0s,
        -webkit-transform 0.25s ease-out 0s;
    transition:
        font-size 0.25s ease-out 0s,
        color 0.25s ease-out 0s,
        transform 0.25s ease-out 0s,
        background-color 0.25s ease-out 0s;
    transition:
        font-size 0.25s ease-out 0s,
        color 0.25s ease-out 0s,
        transform 0.25s ease-out 0s,
        background-color 0.25s ease-out 0s,
        -webkit-transform 0.25s ease-out 0s;
    font-size: 0.625rem;
    -webkit-transform: translateY(-13px);
            transform: translateY(-13px);
    padding: 0 2px;
    background-color: var(--timeline-background-color);
    pointer-events: initial;
}

.mx_Field input:focus + label,
.mx_Field select:focus + label,
.mx_Field textarea:focus + label {
    color: var(--primary-color);
}

.mx_Field select:disabled,
.mx_Field select:disabled + label,
.mx_Field input:disabled,
.mx_Field input:disabled + label,
.mx_Field textarea:disabled,
.mx_Field textarea:disabled + label {
    background-color: var(--timeline-background-color);
    color: var(--timeline-text-secondary-color);
}

.mx_Field_valid.mx_Field,
    .mx_Field_valid.mx_Field:focus-within {
        border-color: #0dbd8b;
        border-color: var(--accent-color, #0dbd8b);
    }

.mx_Field_valid.mx_Field label,
    .mx_Field_valid.mx_Field:focus-within label {
        color: #0dbd8b;
        color: var(--accent-color, #0dbd8b);
    }

.mx_Field_invalid.mx_Field,
    .mx_Field_invalid.mx_Field:focus-within {
        border-color: #ff5b55;
        border-color: var(--alert, #ff5b55);
    }

.mx_Field_invalid.mx_Field label,
    .mx_Field_invalid.mx_Field:focus-within label {
        color: #ff5b55;
        color: var(--alert, #ff5b55);
    }

/* Customise other components when placed inside a Field */

.mx_Field .mx_Dropdown_input {
    border: medium none currentcolor;
    border: initial;
    border-radius: 0;
    border-radius: initial;
}

.mx_Field .mx_CountryDropdown {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
}

/*
Copyright 2024 New Vector Ltd.
Copyright 2016 OpenMarket Ltd

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_GenericEventListSummary {
    position: relative;
}

.mx_GenericEventListSummary .mx_GenericEventListSummary_avatars {
        margin-right: 8px;
    }

.mx_GenericEventListSummary .mx_GenericEventListSummary_spacer {
        border-bottom: 1px solid var(--roomlist-separator-color);
        margin-left: 63px;
        line-height: 1.875rem; /* TODO: Use a variable */
    }

.mx_IRCLayout .mx_GenericEventListSummary .mx_GenericEventListSummary_spacer {
            line-height: var(--line-height);
        }

.mx_GenericEventListSummary .mx_GenericEventListSummary_toggle {
        /* We reuse a title cased translation */
        text-transform: lowercase;
    }

.mx_GenericEventListSummary[data-layout="irc"] .mx_GenericEventListSummary_toggle, .mx_GenericEventListSummary[data-layout="group"] .mx_GenericEventListSummary_toggle {
            float: right;
            margin-inline: 0 10px;
        }

.mx_GenericEventListSummary[data-layout="group"] {
        margin-top: 8px;
    }

.mx_GenericEventListSummary[data-layout="bubble"] {
        --maxWidth: 70%;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        margin-left: calc(var(--avatarSize) + var(--gutterSize));

        /* ideally we'd use display=contents here for the layout to all work regardless of the *ELS but */
    }

.mx_GenericEventListSummary[data-layout="bubble"] .mx_GenericEventListSummary_toggle {
            margin-block: 0;
        }

.mx_GenericEventListSummary[data-layout="bubble"] .mx_GenericEventListSummary_toggle[aria-expanded="false"] {
                -webkit-box-ordinal-group: 10;
                    -ms-flex-order: 9;
                        order: 9; /* TODO: Remove */
            }

.mx_GenericEventListSummary[data-layout="bubble"] .mx_GenericEventListSummary_toggle[aria-expanded="true"] {
                -webkit-margin-start: auto;
                        margin-inline-start: auto; /* reduce clickable area */
                -webkit-margin-end: var(--EventTile_bubble-margin-inline-end);
                        margin-inline-end: var(--EventTile_bubble-margin-inline-end); /* as the parent has zero margin */
            }

.mx_GenericEventListSummary[data-layout="bubble"] .mx_GenericEventListSummary_spacer {
            display: none;
        }

.mx_GenericEventListSummary[data-layout="bubble"][data-expanded="false"] {
            -webkit-box-align: center;
                -ms-flex-align: center;
                    align-items: center;
            -webkit-box-pack: justify;
                -ms-flex-pack: justify;
                    justify-content: space-between;
            -webkit-column-gap: 5px;
               -moz-column-gap: 5px;
                    column-gap: 5px;
        }

/* that breaks ScrollPanel's reliance upon offsetTop so we have to have a bit more finesse. */

.mx_GenericEventListSummary[data-layout="bubble"][data-expanded="true"] {
            -webkit-box-orient: vertical;
            -webkit-box-direction: normal;
                -ms-flex-direction: column;
                    flex-direction: column;
            margin: 0;
        }

.mx_GenericEventListSummary[data-layout="bubble"]::after {
            content: "";
            clear: both;
        }

.mx_GenericEventListSummary[data-layout="bubble"]:hover::before {
                background: transparent;
            }

.mx_MatrixChat_useCompactLayout .mx_GenericEventListSummary {
        font-size: 0.8125rem;
        margin-top: 4px;
    }

.mx_MatrixChat_useCompactLayout .mx_GenericEventListSummary .mx_EventTile_line {
            line-height: 1.25;
        }

.mx_MatrixChat_useCompactLayout .mx_GenericEventListSummary .mx_GenericEventListSummary_spacer {
            line-height: 1.375;
        }

.mx_MatrixChat_useCompactLayout .mx_GenericEventListSummary .mx_TextualEvent.mx_GenericEventListSummary_summary {
            font: var(--cpd-font-body-sm-regular);
        }

/* Make all state events one order smaller than the other events */

.mx_GenericEventListSummary .mx_EventTile {
        font: var(--cpd-font-body-sm-regular);
        color: #edf3ff;
        color: var(--secondary-content, #edf3ff);
    }

.mx_GenericEventListSummary_unstyledList {
    list-style: none;
    padding: 0;
}

.mx_TextualEvent.mx_GenericEventListSummary_summary {
    font: var(--cpd-font-body-sm-regular);
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    color: #edf3ff;
    color: var(--secondary-content, #edf3ff);
}

.mx_GenericEventListSummary_avatars {
    display: inline-block;
    line-height: 0.75rem;
}

.mx_GenericEventListSummary_avatars .mx_BaseAvatar {
        margin-right: -4px;
        cursor: pointer;
    }

/*
Copyright 2024 New Vector Ltd.
Copyright 2015, 2016 OpenMarket Ltd

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

:root {
    --image-view-panel-height: 68px;
}

.mx_ImageView {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: 100%;
    height: 100%;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
}

.mx_ImageView_image_wrapper {
    pointer-events: initial;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    height: 100%;
    overflow: hidden;
}

.mx_ImageView_image {
    -ms-flex-negative: 0;
        flex-shrink: 0;
}

.mx_ImageView_image.mx_ImageView_image_animating {
        -webkit-transition: -webkit-transform 200ms ease 0s;
        transition: -webkit-transform 200ms ease 0s;
        transition: transform 200ms ease 0s;
        transition: transform 200ms ease 0s, -webkit-transform 200ms ease 0s;
    }

.mx_ImageView_image.mx_ImageView_image_animatingLoading {
        -webkit-transition: -webkit-transform 300ms ease 0s;
        transition: -webkit-transform 300ms ease 0s;
        transition: transform 300ms ease 0s;
        transition: transform 300ms ease 0s, -webkit-transform 300ms ease 0s;
    }

.mx_ImageView_panel {
    width: 100%;
    height: 68px;
    height: var(--image-view-panel-height);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-animation-name: mx_ImageView_panel_keyframes;
            animation-name: mx_ImageView_panel_keyframes;
    -webkit-animation-duration: 300ms;
            animation-duration: 300ms;
}

.mx_ImageView_info_wrapper {
    pointer-events: initial;
    padding-left: 32px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    color: #ffffff;
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    -ms-flex-preferred-size: 0;
        flex-basis: 0;
}

.mx_ImageView_info {
    padding-left: 12px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
}

.mx_ImageView_info_sender {
    font-weight: bold;
}

.mx_ImageView_title {
    color: #ffffff;
    font-size: 0.75rem;
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    -ms-flex-preferred-size: 0;
        flex-basis: 0;
    text-align: center;
}

.mx_ImageView_toolbar {
    padding-right: 16px;
    pointer-events: initial;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    -ms-flex-preferred-size: 0;
        flex-basis: 0;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
    gap: calc(24px - (32px - 22px));
}

.mx_ImageView_button {
    padding: calc((32px - 22px) / 2);
    display: block;
}

.mx_ImageView_button::before {
        content: "";
        height: 22px;
        width: 22px;
        -webkit-mask-repeat: no-repeat;
                mask-repeat: no-repeat;
        -webkit-mask-size: contain;
                mask-size: contain;
        -webkit-mask-position: center;
                mask-position: center;
        display: block;
        background-color: var(--icon-button-color, var(--cpd-color-icon-tertiary));
    }

.mx_ImageView_button_rotateCW::before {
    -webkit-mask-image: url(../../img/image-view/rotate-cw.22a8e66.svg);
            mask-image: url(../../img/image-view/rotate-cw.22a8e66.svg);
}

.mx_ImageView_button_rotateCCW::before {
    -webkit-mask-image: url(../../img/image-view/rotate-ccw.bc1b65b.svg);
            mask-image: url(../../img/image-view/rotate-ccw.bc1b65b.svg);
}

.mx_ImageView_button_zoomOut::before {
    -webkit-mask-image: url(../../img/image-view/zoom-out.4a741a1.svg);
            mask-image: url(../../img/image-view/zoom-out.4a741a1.svg);
}

.mx_ImageView_button_zoomIn::before {
    -webkit-mask-image: url(../../img/image-view/zoom-in.714cc54.svg);
            mask-image: url(../../img/image-view/zoom-in.714cc54.svg);
}

.mx_ImageView_button_download::before {
    -webkit-mask-image: url(../../icons/download.e51a8dc.svg);
            mask-image: url(../../icons/download.e51a8dc.svg);
}

.mx_ImageView_button_more::before {
    -webkit-mask-image: url(../../icons/overflow-horizontal.103407e.svg);
            mask-image: url(../../icons/overflow-horizontal.103407e.svg);
    -webkit-mask-size: 28px;
            mask-size: 28px;
}

.mx_ImageView_button_close {
    padding: calc(32px - 32px);
    border-radius: 100%;
    background: #21262c;
}

/* same on all themes */

.mx_ImageView_button_close::before {
        width: 32px;
        height: 32px;
        -webkit-mask-image: url(../../icons/close.dce71fd.svg);
                mask-image: url(../../icons/close.dce71fd.svg);
        -webkit-mask-size: 24px;
                mask-size: 24px;
    }

@media (prefers-reduced-motion) {
    .mx_ImageView_image_animating {
        -webkit-transition: none !important;
        transition: none !important;
    }

    .mx_ImageView_image_animatingLoading {
        -webkit-transition: none !important;
        transition: none !important;
    }
}

/*
Copyright 2024 New Vector Ltd.
Copyright 2020 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_InfoTooltip_icon {
    width: 16px;
    height: 16px;
    display: inline-block;
}

.mx_InfoTooltip_icon::before {
    display: inline-block;
    background-color: #a1b2d1;
    -webkit-mask-repeat: no-repeat;
            mask-repeat: no-repeat;
    -webkit-mask-size: 16px;
            mask-size: 16px;
    width: 16px;
    height: 16px;
    -webkit-mask-position: center;
            mask-position: center;
    content: "";
    vertical-align: middle;
}

.mx_InfoTooltip_icon_info::before {
    -webkit-mask-image: url(../../icons/info.605e6eb.svg);
            mask-image: url(../../icons/info.605e6eb.svg);
}

.mx_InfoTooltip_icon_warning::before {
    -webkit-mask-image: url(../../icons/error.90f55f3.svg);
            mask-image: url(../../icons/error.90f55f3.svg);
}

/*
Copyright 2017-2024 New Vector Ltd.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_InlineSpinner {
    display: inline;
}

.mx_InlineSpinner img,
.mx_InlineSpinner_icon {
    margin: 0px 6px;
    vertical-align: -3px;
}

.mx_InlineSpinner_icon {
    display: inline-block !important; /* Override regular mx_Spinner_icon */
}

/*
Copyright 2024 New Vector Ltd.
Copyright 2019-2021 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_InteractiveTooltip_wrapper {
    position: fixed;
    z-index: 3999;
}

.mx_InteractiveTooltip {
    border-radius: 8px;
    background-color: var(--timeline-background-color);
    color: var(--timeline-text-color);
    position: absolute;
    z-index: 5001;
    -webkit-box-shadow:
        0 24px 8px rgb(17 17 26 / 4%),
        0 8px 32px rgb(17 17 26 / 4%);
            box-shadow:
        0 24px 8px rgb(17 17 26 / 4%),
        0 8px 32px rgb(17 17 26 / 4%);
}

.mx_InteractiveTooltip.mx_InteractiveTooltip_withChevron_top {
    top: 10px; /* 8px chevron + 2px spacing */
}

.mx_InteractiveTooltip.mx_InteractiveTooltip_withChevron_left {
    left: 10px; /* 8px chevron + 2px spacing */
}

.mx_InteractiveTooltip.mx_InteractiveTooltip_withChevron_right {
    right: 10px; /* 8px chevron + 2px spacing */
}

.mx_InteractiveTooltip.mx_InteractiveTooltip_withChevron_bottom {
    bottom: 10px; /* 8px chevron + 2px spacing */
}

.mx_InteractiveTooltip_chevron_top {
    position: absolute;
    left: calc(50% - 8px);
    top: -8px;
    width: 0;
    height: 0;
    border-left: 8px solid transparent;
    border-bottom: 8px solid var(--timeline-background-color);
    border-right: 8px solid transparent;
}

/* Adapted from https://codyhouse.co/blog/post/css-rounded-triangles-with-clip-path */

/* by Sebastiano Guerriero (@guerriero_se) */

@supports (clip-path: polygon(0% 0%, 100% 100%, 0% 100%)) {
    .mx_InteractiveTooltip_chevron_top {
        height: 16px;
        width: 16px;
        background-color: inherit;
        border: none;
        clip-path: polygon(0% 0%, 100% 100%, 0% 100%);
        -webkit-transform: rotate(135deg);
                transform: rotate(135deg);
        border-radius: 0 0 0 3px;
        top: calc(-8px / 1.414); /* sqrt(2) because of rotation */
    }
}

.mx_InteractiveTooltip_chevron_bottom {
    position: absolute;
    left: calc(50% - 8px);
    bottom: -8px;
    width: 0;
    height: 0;
    border-left: 8px solid transparent;
    border-top: 8px solid var(--timeline-background-color);
    border-right: 8px solid transparent;
}

/* Adapted from https://codyhouse.co/blog/post/css-rounded-triangles-with-clip-path */

/* by Sebastiano Guerriero (@guerriero_se) */

@supports (clip-path: polygon(0% 0%, 100% 100%, 0% 100%)) {
    .mx_InteractiveTooltip_chevron_bottom {
        height: 16px;
        width: 16px;
        background-color: inherit;
        border: none;
        clip-path: polygon(0% 0%, 100% 100%, 0% 100%);
        -webkit-transform: rotate(-45deg);
                transform: rotate(-45deg);
        border-radius: 0 0 0 3px;
        bottom: calc(-8px / 1.414); /* sqrt(2) because of rotation */
    }
}

/*
Copyright 2024 New Vector Ltd.
Copyright 2021 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_InviteReason {
    position: relative;
    margin-bottom: 1em;
}

.mx_InviteReason .mx_InviteReason_reason {
        visibility: visible;
    }

.mx_InviteReason .mx_InviteReason_view {
        display: none;
        position: absolute;
        inset: 0;
        -webkit-box-pack: center;
            -ms-flex-pack: center;
                justify-content: center;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        cursor: pointer;
        color: #edf3ff;
        color: var(--secondary-content, #edf3ff);
    }

.mx_InviteReason .mx_InviteReason_view::before {
            content: "";
            margin-right: 8px;
            background-color: #edf3ff;
            background-color: var(--secondary-content, #edf3ff);
            -webkit-mask-image: url(../../img/element-icons/eye.e715558.svg);
                    mask-image: url(../../img/element-icons/eye.e715558.svg);
            display: inline-block;
            width: 18px;
            height: 14px;
        }

.mx_InviteReason_hidden .mx_InviteReason_reason {
        visibility: hidden;
    }

.mx_InviteReason_hidden .mx_InviteReason_view {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
    }

/*
Copyright 2024 New Vector Ltd.
Copyright 2022 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_LabelledCheckbox {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 8px;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
}

.mx_LabelledCheckbox .mx_Checkbox {
        margin-top: 3px; /* visually align with label text */
    }

.mx_LabelledCheckbox .mx_LabelledCheckbox_labels {
        -webkit-box-flex: 1;
            -ms-flex: 1;
                flex: 1;
    }

.mx_LabelledCheckbox .mx_LabelledCheckbox_labels .mx_LabelledCheckbox_label {
            vertical-align: middle;
        }

.mx_LabelledCheckbox .mx_LabelledCheckbox_labels .mx_LabelledCheckbox_byline {
            display: block;
            padding-top: 4px;
            color: #a1b2d1;
            font-size: 0.6875rem;
        }

/*
Copyright 2024 New Vector Ltd.
Copyright 2023 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_LanguageDropdown .mx_Dropdown_option > div {
        text-transform: capitalize;
    }

/*
Copyright 2024 New Vector Ltd.
Copyright 2020 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_MiniAvatarUploader {
    position: relative;
    width: -webkit-min-content;
    width: -moz-min-content;
    width: min-content;
}

.mx_MiniAvatarUploader .mx_MiniAvatarUploader_indicator {
        position: absolute;

        height: 26px;
        width: 26px;

        right: -6px;
        bottom: -6px;

        background-color: var(--timeline-background-color);
        border-radius: 50%;
        z-index: 1;

        line-height: 0;
    }

.mx_MiniAvatarUploader .mx_MiniAvatarUploader_indicator .mx_MiniAvatarUploader_cameraIcon {
            height: 100%;
            width: 100%;

            background-color: #edf3ff;

            background-color: var(--secondary-content, #edf3ff);
            -webkit-mask-position: center;
                    mask-position: center;
            -webkit-mask-repeat: no-repeat;
                    mask-repeat: no-repeat;
            -webkit-mask-image: url(../../icons/take-photo-solid.203c974.svg);
                    mask-image: url(../../icons/take-photo-solid.203c974.svg);
            -webkit-mask-size: 16px;
                    mask-size: 16px;
            z-index: 2;
        }

.mx_MiniAvatarUploader_input {
    display: none;
}

/*
Copyright 2024 New Vector Ltd.
Copyright 2021 Šimon Brandner <simon.bra.ag@gmail.com>

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_Pill {
    padding: 0.0625rem 0.4em 0.0625rem 0.4em;
    line-height: 1.0625rem;
    border-radius: 1rem;
    vertical-align: text-top;
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    max-width: 100%;
    overflow: hidden;
    cursor: pointer;

    color: var(--cpd-color-text-on-solid-primary) !important; /* To override .markdown-body */
    background-color: var(--other-user-pill-bg-color, var(--cpd-color-bg-action-primary-rest)) !important;
}

/* To override .markdown-body */

.mx_Pill > * {
        pointer-events: none;
    }

.mx_Pill.mx_UserPill_me,
    .mx_Pill.mx_AtRoomPill {
        background-color: var(--cpd-color-bg-critical-primary) !important; /* To override .markdown-body */
    }

.mx_Pill:hover {
        background-color: var(--other-user-pill-bg-color, var(--cpd-color-bg-action-primary-hovered)) !important; /* To override .markdown-body */
    }

.mx_Pill:active {
        background-color: var(--other-user-pill-bg-color, var(--cpd-color-bg-action-primary-pressed)) !important; /* To override .markdown-body */
    }

.mx_Pill.mx_UserPill_me:hover {
        background-color: var(
            --cpd-color-bg-critical-hovered
        ) !important; /* To override .markdown-body | same on both themes */
    }

/* We don't want to indicate clickability */

.mx_Pill.mx_AtRoomPill:hover {
        background-color: var(--cpd-color-bg-critical-primary) !important; /* To override .markdown-body */
        cursor: inherit;
    }

.mx_Pill::before,
    .mx_Pill .mx_BaseAvatar {
        -webkit-margin-start: -0.3em;
                margin-inline-start: -0.3em; /* Otherwise the gap is too large */
        -webkit-margin-end: 0.2em;
                margin-inline-end: 0.2em;
        min-width: 1rem; /* ensure the avatar is not compressed */
    }

.mx_Pill .mx_Pill_text {
        min-width: 0;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

a.mx_Pill {
        text-overflow: ellipsis;
        white-space: nowrap;
        overflow: hidden;
        text-decoration: none !important; /* To override .markdown-body */
    }

.mx_Pill .mx_Pill_LinkIcon {
        background-color: #0467dd;
        -webkit-box-sizing: border-box;
                box-sizing: border-box;
        color: var(--timeline-background-color);
        height: 16px;
        padding: 1px;
        width: 16px;
        border-radius: 50%;
    }

.mx_Pill .mx_Pill_UserIcon {
        -webkit-box-sizing: border-box;
                box-sizing: border-box;
        color: #edf3ff;
        color: var(--secondary-content, #edf3ff);
        height: 16px;
        width: 16px;
    }

.mx_Pill.mx_SpacePill {
        border-top-left-radius: 8px;
        border-bottom-left-radius: 8px;
        padding-left: 4px;
    }

/*
Copyright 2019-2024 New Vector Ltd.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_PowerSelector {
    width: 100%;
}

.mx_PowerSelector .mx_Field select,
.mx_PowerSelector .mx_Field input {
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
}

/*
Copyright 2024 New Vector Ltd.
Copyright 2020, 2021 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

progress.mx_ProgressBar {
    height: 6px;
    width: 60px;
    overflow: hidden;
    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none;
    border: var(--cpd-border-width-1) solid var(--cpd-color-gray-400);

    border-radius: 6px;
}

progress.mx_ProgressBar::-moz-progress-bar {
        border-radius: 6px;
    }

progress.mx_ProgressBar::-webkit-progress-bar,
    progress.mx_ProgressBar::-webkit-progress-value {
        border-radius: 6px;
    }

progress.mx_ProgressBar {
    color: var(--cpd-color-icon-accent-tertiary);
}

progress.mx_ProgressBar::-moz-progress-bar {
        background-color: var(--cpd-color-icon-accent-tertiary);
    }

progress.mx_ProgressBar::-webkit-progress-value {
        background-color: var(--cpd-color-icon-accent-tertiary);
    }

progress.mx_ProgressBar {
    background-color: #21262c;
}

progress.mx_ProgressBar::-webkit-progress-bar {
        background-color: #21262c;
    }

progress.mx_ProgressBar::-webkit-progress-value {
        -webkit-transition: width 1s;
        transition: width 1s;
    }

/*
Copyright 2024 New Vector Ltd.
Copyright 2020 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_QRCode img {
        border-radius: 8px;
    }

/*
Copyright 2024 New Vector Ltd.
Copyright 2018 Vector Creations Ltd

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_ReplyChain {
    margin: 0; /* Reset default blockquote margin */
    padding-left: 10px;
    border-left: 2px solid var(--username-color);
    border-radius: 2px;
}

.mx_ReplyChain .mx_ReplyChain_show.mx_AccessibleButton_kind_link_inline {
            white-space: nowrap; /* Enforce 'In reply to' to be a single line */
            color: #edf3ff;
            color: var(--secondary-content, #edf3ff);
            -webkit-transition: color ease 0.15s;
            transition: color ease 0.15s;
            font-weight: var(--cpd-font-weight-regular);
            text-decoration: inherit;
        }

.mx_ReplyChain .mx_ReplyChain_show.mx_AccessibleButton_kind_link_inline:hover {
                color: var(--timeline-text-color);
            }

.mx_ReplyChain.mx_ReplyChain_color1 {
        --username-color: var(--cpd-color-text-decorative-1);
    }

.mx_ReplyChain.mx_ReplyChain_color2 {
        --username-color: var(--cpd-color-text-decorative-2);
    }

.mx_ReplyChain.mx_ReplyChain_color3 {
        --username-color: var(--cpd-color-text-decorative-3);
    }

.mx_ReplyChain.mx_ReplyChain_color4 {
        --username-color: var(--cpd-color-text-decorative-4);
    }

.mx_ReplyChain.mx_ReplyChain_color5 {
        --username-color: var(--cpd-color-text-decorative-5);
    }

.mx_ReplyChain.mx_ReplyChain_color6 {
        --username-color: var(--cpd-color-text-decorative-6);
    }

/*
Copyright 2018-2024 New Vector Ltd.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_ResizeHandle {
    cursor: row-resize;
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    z-index: 100;
}

.mx_ResizeHandle.mx_ResizeHandle--horizontal {
        margin: 0 -5px;
        padding: 0 5px;
        cursor: col-resize;
    }

.mx_ResizeHandle.mx_ResizeHandle--horizontal > div {
            width: 1px;
            height: 100%;
        }

.mx_ResizeHandle.mx_ResizeHandle--vertical {
        margin: -5px 0;
        padding: 5px 0;
    }

.mx_ResizeHandle.mx_ResizeHandle--vertical > div {
            height: 1px;
        }

/* XXX: bleurgh, what is this? These classes totally break the component */

/* naming scheme; it's completely unclear where or how they're being used */

/* --Matthew */

.mx_Markdown_BOLD {
    font-weight: bold;
}

.mx_Markdown_ITALIC {
    font-style: italic;
    /*
    // interestingly, *not* using the explicit italic font
    // variant seems yield better results.

    // compensate for Nunito italics being terrible
    // https://github.com/google/fonts/issues/172
    transform: skewX(-14deg);
    display: inline-block;
    */
}

.mx_Markdown_CODE {
    padding: 0.2em 0;
    margin: 0;
    font-size: 85%;
    background-color: rgba(0, 0, 0, 0.04);
    border-radius: 3px;
}

.mx_Markdown_HR {
    display: block;
    background: #e9e9e9;
}

.mx_Markdown_STRIKETHROUGH {
    text-decoration: line-through;
}

.mx_Emoji {
    /* Should be 1.8rem for our default message bodies, and scale with the */
    /* surrounding text */
    font-size: max(1.125rem, 1em);
    vertical-align: bottom;
}

/*
Copyright 2024 New Vector Ltd.
Copyright 2019 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_RoomAliasField {
    /* if parent is a flex container, this allows the */
    /* width to be as wide as needed, and not 100% */
    -webkit-box-flex: 0;
        -ms-flex: 0 1 auto;
            flex: 0 1 auto;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
    min-width: 0;
    max-width: 100%;
}

.mx_RoomAliasField input {
        width: 150px;
        padding-left: 0;
        padding-right: 0;
    }

.mx_RoomAliasField input::-webkit-input-placeholder {
        color: var(--timeline-text-secondary-color);
        font-weight: normal;
    }

.mx_RoomAliasField input::-moz-placeholder {
        color: var(--timeline-text-secondary-color);
        font-weight: normal;
    }

.mx_RoomAliasField input:-ms-input-placeholder {
        color: var(--timeline-text-secondary-color);
        font-weight: normal;
    }

.mx_RoomAliasField input::-ms-input-placeholder {
        color: var(--timeline-text-secondary-color);
        font-weight: normal;
    }

.mx_RoomAliasField input::placeholder {
        color: var(--timeline-text-secondary-color);
        font-weight: normal;
    }

.mx_RoomAliasField .mx_Field_prefix,
    .mx_RoomAliasField .mx_Field_postfix {
        color: var(--timeline-text-secondary-color);
        border-left: none;
        border-right: none;
        font-weight: var(--cpd-font-weight-semibold);
        padding: 9px 10px;
        -webkit-box-flex: 0;
            -ms-flex: 0 0 auto;
                flex: 0 0 auto;
    }

.mx_RoomAliasField .mx_Field_postfix {
        text-overflow: ellipsis;
        white-space: nowrap;
        overflow: hidden;
        /* this allows the domain name to show */
        /* as long as it doesn't make the input shrink */
        /* if it's too big, it shows an ellipsis */
        /* 180: 28 for prefix, 152 for input */
        max-width: calc(100% - 180px);
    }

/*
Copyright 2024 New Vector Ltd.
Copyright 2020 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_SSOButtons {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
}

.mx_SSOButtons .mx_SSOButtons_row + .mx_SSOButtons_row {
            margin-top: 16px;
        }

.mx_SSOButtons .mx_SSOButton {
        position: relative;
        width: 100%;
        padding: 7px 32px;
        text-align: center;
        border-radius: 8px;
        display: inline-block;
        font: var(--cpd-font-body-md-semibold);
        border: 1px solid #e7e7e7;
        color: var(--timeline-text-color);
    }

.mx_SSOButtons .mx_SSOButton > img {
            -o-object-fit: contain;
               object-fit: contain;
            position: absolute;
            left: 8px;
            top: 4px;
        }

.mx_SSOButtons .mx_SSOButton:hover {
        background-color: var(--roomlist-highlights-color);
    }

.mx_SSOButtons .mx_SSOButton_default {
        color: #0dbd8b;
        color: var(--accent-color, #0dbd8b);
        background-color: var(--timeline-background-color);
        border-color: #0dbd8b;
        border-color: var(--accent-color, #0dbd8b);
    }

.mx_SSOButtons .mx_SSOButton_default.mx_SSOButton_primary {
        color: #ffffff;
        background-color: #0dbd8b;
        background-color: var(--accent-color, #0dbd8b);
    }

.mx_SSOButtons .mx_SSOButton_mini {
        -webkit-box-sizing: border-box;
                box-sizing: border-box;
        width: 50px; /* 48px + 1px border on all sides */
        height: 50px; /* 48px + 1px border on all sides */
        min-width: 50px; /* prevent crushing by the flexbox */
        padding: 12px;
    }

.mx_SSOButtons .mx_SSOButton_mini > img {
            left: 12px;
            top: 12px;
        }

.mx_SSOButtons .mx_SSOButton_mini + .mx_SSOButton_mini {
            margin-left: 16px;
        }

/*
Copyright 2024 New Vector Ltd.
Copyright 2020 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_SearchWarning {
    text-align: center;
    padding: 0 16px;
}

.mx_SearchWarning > * {
        vertical-align: middle;
    }

.mx_SearchWarning > img {
        margin-right: 8px;
    }

/*
Copyright 2024 New Vector Ltd.
Copyright 2020 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_ServerPicker {
    margin-bottom: 14px;
    padding-bottom: 16px;
    border-bottom: 1px solid rgba(141, 151, 165, 0.2);
    display: grid;
    grid-template-columns: auto -webkit-min-content;
    grid-template-columns: auto min-content;
    grid-template-rows: auto auto auto;
    font: var(--cpd-font-body-md-regular);
}

.mx_ServerPicker > h2 {
        font-weight: var(--cpd-font-weight-semibold);
        margin: 0 0 20px;
        grid-column: 1;
        grid-row: 1;
    }

.mx_ServerPicker .mx_ServerPicker_help {
        width: 20px;
        height: 20px;
        background-color: var(--icon-button-color, var(--cpd-color-icon-tertiary));
        border-radius: 10px;
        grid-column: 2;
        grid-row: 1;
        margin-left: auto;
        text-align: center;
        color: #ffffff;
        font-size: 16px;
        position: relative;
    }

.mx_ServerPicker .mx_ServerPicker_help::before {
            content: "";
            width: 24px;
            height: 24px;
            position: absolute;
            top: -2px;
            left: -2px;
            -webkit-mask-position: center;
                    mask-position: center;
            -webkit-mask-size: contain;
                    mask-size: contain;
            -webkit-mask-repeat: no-repeat;
                    mask-repeat: no-repeat;
            -webkit-mask-image: url(../../img/element-icons/i.cf33278.svg);
                    mask-image: url(../../img/element-icons/i.cf33278.svg);
            background: #ffffff;
        }

.mx_ServerPicker .mx_ServerPicker_server {
        color: var(--timeline-text-color);
        grid-column: 1;
        grid-row: 2;
        overflow: hidden;
        text-overflow: ellipsis;
        margin-right: 8px;
    }

.mx_ServerPicker .mx_ServerPicker_change {
        grid-column: 2;
        grid-row: 2;
    }

.mx_ServerPicker .mx_ServerPicker_desc {
        margin-top: 4px;
        color: #edf3ff;
        color: var(--tertiary-content, #edf3ff);
        grid-column: 1 / 2;
        grid-row: 3;
    }

.mx_ServerPicker_helpDialog .mx_Dialog_content {
        width: 456px;
    }

/*
Copyright 2024 New Vector Ltd.
Copyright 2021 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_SettingsFlag {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    margin-bottom: 4px;
    width: 100%;
}

.mx_SettingsFlag .mx_ToggleSwitch {
        -webkit-box-flex: 0;
            -ms-flex: 0 0 auto;
                flex: 0 0 auto;
    }

.mx_SettingsFlag.mx_SettingsFlag_toggleInFront .mx_ToggleSwitch {
            display: inline-block;
            vertical-align: middle;
            margin-right: 8px;
        }

.mx_SettingsFlag.mx_SettingsFlag_toggleInFront .mx_SettingsFlag_label {
            display: inline-block;
            vertical-align: middle;
        }

.mx_SettingsFlag_label {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    color: var(--timeline-text-color);
    padding-right: 10px;
    padding-top: 4px;
}

.mx_SettingsFlag_microcopy {
    margin-top: 4px;
    font: var(--cpd-font-body-sm-regular);
    color: #edf3ff;
    color: var(--secondary-content, #edf3ff);

    /* Support code/pre elements in settings flag descriptions */
}

.mx_SettingsFlag_microcopy pre,
    .mx_SettingsFlag_microcopy code {
        font-family: "Inconsolata", "", "Apple Color Emoji", "Segoe UI Emoji", "Courier",
    monospace, "Noto Color Emoji" !important;
        font-family: var(--font-family-monospace, "Inconsolata", var(--emoji-font-family), "Apple Color Emoji", "Segoe UI Emoji", "Courier",
    monospace, "Noto Color Emoji") !important;
        background-color: rgba(0, 0, 0, 0.04);
    }

.mx_SettingsFlag_microcopy .mx_SettingsTab_microcopy_warning::before {
        content: "⚠️ ";
    }

/*
Copyright 2024 New Vector Ltd.
Copyright 2021 Šimon Brandner <simon.bra.ag@gmail.com>
Copyright 2015, 2016 OpenMarket Ltd

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_Spinner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    width: 100%;
    height: 100%;
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
}

.mx_MatrixChat_middlePanel .mx_Spinner {
    height: auto;
}

@-webkit-keyframes spin {
    from {
        -webkit-transform: rotateZ(0deg);
                transform: rotateZ(0deg);
    }
    to {
        -webkit-transform: rotateZ(360deg);
                transform: rotateZ(360deg);
    }
}

@keyframes spin {
    from {
        -webkit-transform: rotateZ(0deg);
                transform: rotateZ(0deg);
    }
    to {
        -webkit-transform: rotateZ(360deg);
                transform: rotateZ(360deg);
    }
}

.mx_Spinner_icon {
    background-color: #6f7882;
    background-color: var(--quinary-content, #6f7882);
    -webkit-mask: url(../../img/spinner/spinner-background.0fe37e1.svg);
            mask: url(../../img/spinner/spinner-background.0fe37e1.svg);
    -webkit-mask-size: 100%;
            mask-size: 100%;

    display: -webkit-box;

    display: -ms-flexbox;

    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;

    width: 100%;
    height: 100%;
}

.mx_Spinner_icon::before {
        background-color: #edf3ff;
        background-color: var(--secondary-content, #edf3ff);
        -webkit-mask: url(../../img/spinner/spinner-foreground.9b87205.svg);
                mask: url(../../img/spinner/spinner-foreground.9b87205.svg);
        -webkit-mask-size: 100%;
                mask-size: 100%;

        width: 100%;
        height: 100%;

        content: "";
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;

        -webkit-animation: 1s linear spin infinite;

                animation: 1s linear spin infinite;
    }

/*
Copyright 2024 New Vector Ltd.
Copyright 2020 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_Checkbox {

    display: -webkit-box;

    display: -ms-flexbox;

    display: flex;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
}

.mx_Checkbox input[type="checkbox"] {
        -webkit-appearance: none;
           -moz-appearance: none;
                appearance: none;
        margin: 0;
        padding: 0;
    }

.mx_Checkbox input[type="checkbox"] + label {
            display: -webkit-box;
            display: -ms-flexbox;
            display: flex;
            -webkit-box-align: center;
                -ms-flex-align: center;
                    align-items: center;

            -webkit-box-flex: 1;

                -ms-flex-positive: 1;

                    flex-grow: 1;
        }

.mx_Checkbox input[type="checkbox"] + label > .mx_Checkbox_background {
            display: -webkit-inline-box;
            display: -ms-inline-flexbox;
            display: inline-flex;
            position: relative;

            -ms-flex-negative: 0;

                flex-shrink: 0;

            height: 1rem;
            width: 1rem;
            size: 0.5rem;
            border: 1px solid var(--cpd-color-border-interactive-primary);
            -webkit-box-sizing: border-box;
                    box-sizing: border-box;
            border-radius: 0.27rem;
        }

.mx_Checkbox input[type="checkbox"] + label > .mx_Checkbox_background .mx_Checkbox_checkmark {
                display: none;

                height: 100%;
                width: 100%;
                -webkit-mask-image: url(../../icons/check.3fc654f.svg);
                        mask-image: url(../../icons/check.3fc654f.svg);
                -webkit-mask-position: center;
                        mask-position: center;
                -webkit-mask-size: 100%;
                        mask-size: 100%;
                -webkit-mask-repeat: no-repeat;
                        mask-repeat: no-repeat;
            }

.mx_Checkbox input[type="checkbox"]:checked + label > .mx_Checkbox_background .mx_Checkbox_checkmark {
            display: block;
        }

.mx_Checkbox input[type="checkbox"] + label > *:not(.mx_Checkbox_background) {
            margin-left: 10px;
        }

.mx_Checkbox input[type="checkbox"]:disabled + label {
            cursor: not-allowed;
        }

.mx_Checkbox input[type="checkbox"]:focus-visible + label .mx_Checkbox_background {
                outline-width: 2px;
                outline-style: solid;
                outline-color: Highlight;
            }

/* WebKit gets its native focus styles. */

@media (-webkit-min-device-pixel-ratio: 0) {

.mx_Checkbox input[type="checkbox"]:focus-visible + label .mx_Checkbox_background {
        outline-color: -webkit-focus-ring-color;
        outline-style: auto;
            }
    }

.mx_Checkbox.mx_Checkbox_kind_solid input[type="checkbox"] + label > .mx_Checkbox_background .mx_Checkbox_checkmark {
        background: var(--cpd-color-icon-on-solid-primary);
    }

.mx_Checkbox.mx_Checkbox_kind_solid input[type="checkbox"]:checked + label > .mx_Checkbox_background {
        background: var(--cpd-color-bg-accent-rest);
        border-color: var(--cpd-color-bg-accent-rest);
    }

.mx_Checkbox.mx_Checkbox_kind_solid input[type="checkbox"]:checked:disabled + label > .mx_Checkbox_background {
        background: var(--cpd-color-bg-action-primary-disabled);
        border-color: var(--cpd-color-bg-action-primary-disabled);
    }

.mx_Checkbox.mx_Checkbox_kind_outline input[type="checkbox"] + label > .mx_Checkbox_background .mx_Checkbox_checkmark {
        background: var(--cpd-color-bg-accent-rest);
    }

.mx_Checkbox.mx_Checkbox_kind_outline input[type="checkbox"]:checked + label > .mx_Checkbox_background {
        background: transparent;
        border-color: var(--cpd-color-bg-accent-rest);
    }

/*
Copyright 2024 New Vector Ltd.
Copyright 2020 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

/**
* This component expects the parent to specify a positive padding and
* width
*/

.mx_StyledRadioButton {
    position: relative;

    display: -webkit-box;

    display: -ms-flexbox;

    display: flex;
    -webkit-box-align: baseline;
        -ms-flex-align: baseline;
            align-items: baseline;
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
}

.mx_StyledRadioButton > .mx_StyledRadioButton_content {
        -webkit-box-flex: 1;
            -ms-flex-positive: 1;
                flex-grow: 1;

        display: -webkit-box;

        display: -ms-flexbox;

        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column;

        margin-left: 8px;
        margin-right: 8px;
    }

.mx_StyledRadioButton .mx_StyledRadioButton_spacer {
        -ms-flex-negative: 0;
            flex-shrink: 0;
        -webkit-box-flex: 0;
            -ms-flex-positive: 0;
                flex-grow: 0;

        height: 1rem;
        width: 1rem;
    }

.mx_StyledRadioButton input[type="radio"] {
        /* Remove the OS's representation */
        margin: 0;
        padding: 0;
        -webkit-appearance: none;
           -moz-appearance: none;
                appearance: none;
    }

.mx_StyledRadioButton input[type="radio"] + div {
            -ms-flex-negative: 0;
                flex-shrink: 0;
            -webkit-box-flex: 0;
                -ms-flex-positive: 0;
                    flex-grow: 0;

            display: -webkit-box;

            display: -ms-flexbox;

            display: flex;
            -webkit-box-align: center;
                -ms-flex-align: center;
                    align-items: center;
            -webkit-box-pack: center;
                -ms-flex-pack: center;
                    justify-content: center;

            -webkit-box-sizing: border-box;

                    box-sizing: border-box;
            height: 1rem;
            width: 1rem;
            margin-left: 2px; /* For the highlight on focus */

            border: 1px solid var(--cpd-color-border-interactive-primary);
            border-radius: 1rem;
        }

.mx_StyledRadioButton input[type="radio"] + div > div {
                -webkit-box-sizing: border-box;
                        box-sizing: border-box;

                height: 0.5rem;
                width: 0.5rem;

                border-radius: 0.5rem;
            }

.mx_StyledRadioButton input[type="radio"]:focus-visible + div {
                outline-width: 2px;
                outline-style: solid;
                outline-color: Highlight;
            }

/* WebKit gets its native focus styles. */

@media (-webkit-min-device-pixel-ratio: 0) {

.mx_StyledRadioButton input[type="radio"]:focus-visible + div {
        outline-color: -webkit-focus-ring-color;
        outline-style: auto;
            }
    }

.mx_StyledRadioButton input[type="radio"]:checked + div {
                border-color: var(--cpd-color-bg-accent-rest);
            }

.mx_StyledRadioButton input[type="radio"]:checked + div > div {
                    background: var(--cpd-color-bg-accent-rest);
                }

.mx_StyledRadioButton input[type="radio"]:disabled + div,
            .mx_StyledRadioButton input[type="radio"]:disabled + div + span {
                opacity: 0.5;
                cursor: not-allowed;
            }

.mx_StyledRadioButton input[type="radio"]:disabled + div {
                border-color: var(--cpd-color-border-interactive-primary);
            }

.mx_StyledRadioButton input[type="radio"]:checked:disabled + div > div {
                background-color: var(--cpd-color-border-interactive-primary);
            }

.mx_StyledRadioButton .mx_StyledRadioButton_innerLabel {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        position: relative;
        top: 4px;
    }

.mx_StyledRadioButton_outlined {
    border: 1px solid var(--roomlist-separator-color);
    border-radius: 8px;
}

.mx_StyledRadioButton_checked {
    border-color: var(--cpd-color-bg-accent-rest);
}

/*
Copyright 2024 New Vector Ltd.
Copyright 2017 Michael Telatynski <7t3chguy@gmail.com>

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_SyntaxHighlight {
    /* inhibit hljs styling */
    background: none !important;
    color: var(--timeline-text-secondary-color) !important;
}

/*
Copyright 2024 New Vector Ltd.
Copyright 2021 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_TagComposer .mx_TagComposer_input {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
            -ms-flex-direction: row;
                flex-direction: row;
    }

.mx_TagComposer .mx_TagComposer_input .mx_AccessibleButton {
            min-width: 70px;
            padding: 0 8px; /* override from button styles */
            -ms-flex-item-align: stretch;
                align-self: stretch; /* override default settingstab style */
        }

.mx_TagComposer .mx_TagComposer_input .mx_Field,
        .mx_TagComposer .mx_TagComposer_input .mx_Field input,
        .mx_TagComposer .mx_TagComposer_input .mx_AccessibleButton {
            /* So they look related to each other by feeling the same */
            border-radius: 8px;
        }

.mx_TagComposer .mx_TagComposer_tags {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
        margin-top: 12px; /* this plus 12px from the tags makes 24px from the input */
    }

.mx_TagComposer .mx_Tag {
        margin-right: 12px;
        margin-top: 12px;
    }

.mx_Tag {
    font-size: 0.9375rem;

    display: -webkit-inline-box;

    display: -ms-inline-flexbox;

    display: inline-flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;

    gap: 8px;
    padding: 8px;
    border-radius: 8px;

    color: var(--timeline-text-color);
    background: #6f7882;
    background: var(--quinary-content, #6f7882);
}

.mx_Tag > svg:first-child {
        width: 1em;
        color: #edf3ff;
        color: var(--secondary-content, #edf3ff);
        -webkit-transform: scale(1.25);
                transform: scale(1.25);
        -webkit-transform-origin: center;
                transform-origin: center;
    }

.mx_Tag .mx_Tag_delete {
        border-radius: 50%;
        text-align: center;
        width: 1.066666em; /* 16px; */
        height: 1.066666em;
        line-height: 1em;
        color: #edf3ff;
        color: var(--secondary-content, #edf3ff);
        background: #21262c;
        background: var(--system, #21262c);
        position: relative;
    }

.mx_Tag .mx_Tag_delete svg {
            width: 16px;
            height: 16px;
        }

/*
Copyright 2019-2024 New Vector Ltd.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_TextWithTooltip_target {
    display: inline;
}

.mx_TextWithTooltip_tooltip {
    display: none;
}

/*
Copyright 2019-2024 New Vector Ltd.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_ToggleSwitch {
    --ToggleSwitch-min-width: 2.75rem;

    -webkit-transition:
        background-color 0.2s ease-out 0.1s,
        border-color 0.2s ease-out 0.1s;

    transition:
        background-color 0.2s ease-out 0.1s,
        border-color 0.2s ease-out 0.1s;

    width: 2.75rem;
    height: 1.25rem;
    border-radius: 1.5rem;
    padding: 2px;

    background-color: var(--cpd-color-bg-canvas-disabled);
    border: 1px solid var(--cpd-color-border-disabled);
    cursor: not-allowed;
}

.mx_ToggleSwitch.mx_ToggleSwitch_enabled {
        cursor: pointer;
        background-color: var(--cpd-color-bg-canvas-default);
        border: var(--cpd-border-width-1) solid var(--cpd-color-border-interactive-primary);
    }

.mx_ToggleSwitch.mx_ToggleSwitch_enabled.mx_ToggleSwitch_on {
            background-color: var(--cpd-color-bg-accent-rest);
            border-color: var(--cpd-color-bg-accent-rest);
        }

.mx_ToggleSwitch.mx_ToggleSwitch_enabled > .mx_ToggleSwitch_ball {
            background-color: var(--cpd-color-icon-secondary);
        }

.mx_ToggleSwitch.mx_ToggleSwitch_on {
        background-color: var(--cpd-color-bg-action-primary-disabled);
        border-color: var(--cpd-color-bg-action-primary-disabled);
    }

.mx_ToggleSwitch.mx_ToggleSwitch_on > .mx_ToggleSwitch_ball {
            left: calc(100% - 1.25rem);
            background-color: var(--cpd-color-icon-on-solid-primary);
        }

.mx_ToggleSwitch_ball {
    position: relative;
    width: 1.25rem;
    height: 1.25rem;
    border-radius: 1.25rem;
    background-color: var(--cpd-color-bg-action-primary-disabled);
    -webkit-transition:
        left 0.15s ease-out 0.1s,
        background-color 0.15s ease-out 0.1s;
    transition:
        left 0.15s ease-out 0.1s,
        background-color 0.15s ease-out 0.1s;
    left: 0;
}

/*
Copyright 2024 New Vector Ltd.
Copyright 2022 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_UseCaseSelection {
    display: grid;
    grid-template-rows: 1fr 1fr -webkit-max-content 2fr;
    grid-template-rows: 1fr 1fr max-content 2fr;
    height: 100%;
    grid-gap: 40px;
}

.mx_UseCaseSelection .mx_UseCaseSelection_title {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column;
        -webkit-box-pack: end;
            -ms-flex-pack: end;
                justify-content: flex-end;
    }

.mx_UseCaseSelection .mx_UseCaseSelection_title h1 {
            font-weight: var(--cpd-font-weight-semibold);
            font-size: 2rem;
            text-align: center;
        }

.mx_UseCaseSelection .mx_UseCaseSelection_info {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column;
        gap: 8px;
        -ms-flex-item-align: end;
            align-self: flex-end;
    }

.mx_UseCaseSelection .mx_UseCaseSelection_info h2 {
            margin: 0;
            font-weight: 500;
            font-size: 1.5rem;
            text-align: center;
        }

.mx_UseCaseSelection .mx_UseCaseSelection_info h3 {
            margin: 0;
            font-weight: 400;
            font-size: 1rem;
            color: #edf3ff;
            color: var(--secondary-content, #edf3ff);
            text-align: center;
        }

.mx_UseCaseSelection .mx_UseCaseSelection_options {
        display: grid;
        grid-template-columns: repeat(auto-fit, 232px);
        grid-gap: 32px;
        gap: 32px;
        align-self: stretch;
        -webkit-box-pack: center;
            -ms-flex-pack: center;
                justify-content: center;
    }

.mx_UseCaseSelection .mx_UseCaseSelection_skip {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column;
        -ms-flex-item-align: start;
            align-self: flex-start;
    }

.mx_UseCaseSelection_slideIn {
    -webkit-animation-delay: 800ms;
            animation-delay: 800ms;
    -webkit-animation-duration: 300ms;
            animation-duration: 300ms;
    -webkit-animation-timing-function: cubic-bezier(0, 0, 0.58, 1);
            animation-timing-function: cubic-bezier(0, 0, 0.58, 1);
    -webkit-animation-name: mx_UseCaseSelection_slideInLong;
            animation-name: mx_UseCaseSelection_slideInLong;
    -webkit-animation-fill-mode: backwards;
            animation-fill-mode: backwards;
    will-change: opacity;
}

.mx_UseCaseSelection_slideInDelayed {
    -webkit-animation-delay: 1500ms;
            animation-delay: 1500ms;
    -webkit-animation-duration: 300ms;
            animation-duration: 300ms;
    -webkit-animation-timing-function: cubic-bezier(0, 0, 0.58, 1);
            animation-timing-function: cubic-bezier(0, 0, 0.58, 1);
    -webkit-animation-name: mx_UseCaseSelection_slideInShort;
            animation-name: mx_UseCaseSelection_slideInShort;
    -webkit-animation-fill-mode: backwards;
            animation-fill-mode: backwards;
    will-change: transform, opacity;
}

.mx_UseCaseSelection_selected .mx_UseCaseSelection_slideIn,
    .mx_UseCaseSelection_selected .mx_UseCaseSelection_slideInDelayed {
        -webkit-animation-delay: 800ms;
                animation-delay: 800ms;
        -webkit-animation-duration: 300ms;
                animation-duration: 300ms;
        -webkit-animation-fill-mode: forwards;
                animation-fill-mode: forwards;
        -webkit-animation-name: mx_UseCaseSelection_fadeOut;
                animation-name: mx_UseCaseSelection_fadeOut;
        will-change: opacity;
    }

@-webkit-keyframes mx_UseCaseSelection_slideInLong {
    0% {
        -webkit-transform: translate(0, 20px);
                transform: translate(0, 20px);
        opacity: 0;
    }
    100% {
        -webkit-transform: translate(0, 0);
                transform: translate(0, 0);
        opacity: 1;
    }
}

@keyframes mx_UseCaseSelection_slideInLong {
    0% {
        -webkit-transform: translate(0, 20px);
                transform: translate(0, 20px);
        opacity: 0;
    }
    100% {
        -webkit-transform: translate(0, 0);
                transform: translate(0, 0);
        opacity: 1;
    }
}

@-webkit-keyframes mx_UseCaseSelection_slideInShort {
    0% {
        -webkit-transform: translate(0, 8px);
                transform: translate(0, 8px);
        opacity: 0;
    }
    100% {
        -webkit-transform: translate(0, 0);
                transform: translate(0, 0);
        opacity: 1;
    }
}

@keyframes mx_UseCaseSelection_slideInShort {
    0% {
        -webkit-transform: translate(0, 8px);
                transform: translate(0, 8px);
        opacity: 0;
    }
    100% {
        -webkit-transform: translate(0, 0);
                transform: translate(0, 0);
        opacity: 1;
    }
}

@-webkit-keyframes mx_UseCaseSelection_fadeOut {
    0% {
        opacity: 1;
    }
    100% {
        opacity: 0;
    }
}

@keyframes mx_UseCaseSelection_fadeOut {
    0% {
        opacity: 1;
    }
    100% {
        opacity: 0;
    }
}

/*
Copyright 2024 New Vector Ltd.
Copyright 2022 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_UseCaseSelectionButton {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    padding: 24px 16px;
    background: var(--timeline-background-color);
    border: 1px solid #6f7882;
    border: 1px solid var(--quinary-content, #6f7882);
    border-radius: 8px;
    text-align: center;
    position: relative;
    -webkit-transition-property: -webkit-box-shadow, -webkit-transform;
    transition-property: -webkit-box-shadow, -webkit-transform;
    transition-property: box-shadow, transform;
    transition-property: box-shadow, transform, -webkit-box-shadow, -webkit-transform;
    -webkit-transition-duration: 300ms;
            transition-duration: 300ms;
}

.mx_UseCaseSelectionButton .mx_UseCaseSelectionButton_icon {
        /* workaround: design expects a layering of two colors */
        background: -webkit-gradient(linear, left bottom, left top, from(rgba(172, 59, 168, 0.15)), to(rgba(172, 59, 168, 0.15))), #ffffff;
        background: linear-gradient(0deg, rgba(172, 59, 168, 0.15), rgba(172, 59, 168, 0.15)), #ffffff;
        border-radius: 14px;
        padding: 8px;
        margin-bottom: 16px;
    }

.mx_UseCaseSelectionButton .mx_UseCaseSelectionButton_icon::before {
            content: "";
            display: block;
            /* this has to remain the same color across all themes,
               as its background has a fixed color as well */
            background: #1e1e1e;
            -webkit-mask-position: center;
                    mask-position: center;
            -webkit-mask-repeat: no-repeat;
                    mask-repeat: no-repeat;
            -webkit-mask-size: contain;
                    mask-size: contain;
            width: 22px;
            height: 22px;
        }

.mx_UseCaseSelectionButton .mx_UseCaseSelectionButton_icon.mx_UseCaseSelectionButton_messaging::before {
            -webkit-mask-image: url(../../img/element-icons/chat-bubble.d1c5d78.svg);
                    mask-image: url(../../img/element-icons/chat-bubble.d1c5d78.svg);
        }

.mx_UseCaseSelectionButton .mx_UseCaseSelectionButton_icon.mx_UseCaseSelectionButton_work::before {
            -webkit-mask-image: url(../../img/element-icons/view-community.0d3cd3f.svg);
                    mask-image: url(../../img/element-icons/view-community.0d3cd3f.svg);
        }

.mx_UseCaseSelectionButton .mx_UseCaseSelectionButton_icon.mx_UseCaseSelectionButton_community::before {
            -webkit-mask-image: url(../../icons/public.df992ad.svg);
                    mask-image: url(../../icons/public.df992ad.svg);
            -webkit-mask-size: 24px;
                    mask-size: 24px;
        }

.mx_UseCaseSelectionButton:hover,
    .mx_UseCaseSelectionButton:focus {
        -webkit-box-shadow: 0 4px 8px rgba(0, 0, 0, 0.08);
                box-shadow: 0 4px 8px rgba(0, 0, 0, 0.08);
        -webkit-transform: translate(0, -8px);
                transform: translate(0, -8px);
    }

.mx_UseCaseSelectionButton .mx_UseCaseSelectionButton_selectedIcon {
        right: -12px;
        top: -12px;
        position: absolute;
        border-radius: 24px;
        background: #0dbd8b;
        background: var(--accent-color, #0dbd8b);
        padding: 6px;
        -webkit-transition-property: opacity, -webkit-transform;
        transition-property: opacity, -webkit-transform;
        transition-property: opacity, transform;
        transition-property: opacity, transform, -webkit-transform;
        -webkit-transition-duration: 150ms;
                transition-duration: 150ms;
        opacity: 0;
        -webkit-transform: scale(0.6);
                transform: scale(0.6);
    }

.mx_UseCaseSelectionButton .mx_UseCaseSelectionButton_selectedIcon::before {
            content: "";
            display: block;
            background: var(--timeline-background-color);
            -webkit-mask-position: center;
                    mask-position: center;
            -webkit-mask-repeat: no-repeat;
                    mask-repeat: no-repeat;
            -webkit-mask-size: contain;
                    mask-size: contain;
            width: 12px;
            height: 12px;

            -webkit-mask-image: url(../../icons/check.3fc654f.svg);

                    mask-image: url(../../icons/check.3fc654f.svg);
        }

.mx_UseCaseSelectionButton.mx_UseCaseSelectionButton_selected {
        border: 2px solid #0dbd8b;
        border: 2px solid var(--accent-color, #0dbd8b);
        padding: calc(24px - 1px) calc(16px - 1px);
        -webkit-box-shadow: 0 4px 8px rgba(0, 0, 0, 0.08);
                box-shadow: 0 4px 8px rgba(0, 0, 0, 0.08);
    }

.mx_UseCaseSelectionButton.mx_UseCaseSelectionButton_selected .mx_UseCaseSelectionButton_selectedIcon {
            opacity: 1;
            -webkit-transform: scale(1);
                    transform: scale(1);
        }

/*
Copyright 2019-2024 New Vector Ltd.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_Validation {
    position: relative;
    max-width: 200px;
}

.mx_Validation_details {
    padding-left: 20px;
    margin: 0;
}

.mx_Validation_description + .mx_Validation_details {
    margin: 1em 0 0;
}

.mx_Validation_detail {
    position: relative;
    font-weight: normal;
    list-style: none;
    margin-bottom: 0.5em;
}

.mx_Validation_detail:last-child {
        margin-bottom: 0;
    }

.mx_Validation_detail::before {
        content: "";
        position: absolute;
        width: 14px;
        height: 14px;
        top: 0;
        left: -18px;
        -webkit-mask-repeat: no-repeat;
                mask-repeat: no-repeat;
        -webkit-mask-position: center;
                mask-position: center;
        -webkit-mask-size: contain;
                mask-size: contain;
    }

.mx_Validation_detail.mx_Validation_valid {
        color: #0dbd8b;
        color: var(--accent-color, #0dbd8b);
    }

.mx_Validation_detail.mx_Validation_valid::before {
            -webkit-mask-image: url(../../icons/check.3fc654f.svg);
                    mask-image: url(../../icons/check.3fc654f.svg);
            background-color: #0dbd8b;
            background-color: var(--accent-color, #0dbd8b);
        }

.mx_Validation_detail.mx_Validation_invalid {
        color: #ff5b55;
        color: var(--alert, #ff5b55);
    }

.mx_Validation_detail.mx_Validation_invalid::before {
            -webkit-mask-image: url(../../icons/close.dce71fd.svg);
                    mask-image: url(../../icons/close.dce71fd.svg);
            background-color: #ff5b55;
            background-color: var(--alert, #ff5b55);
        }

/*
Copyright 2024 New Vector Ltd.
Copyright 2019 Tulir Asokan <tulir@maunium.net>

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_EmojiPicker {
    width: 340px;
    height: 450px;

    border-radius: 4px;

    display: -webkit-box;

    display: -ms-flexbox;

    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
}

.mx_EmojiPicker_body {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    overflow-y: scroll;
    scrollbar-width: thin;
    scrollbar-color: rgba(0, 0, 0, 0.2) transparent;
}

.mx_EmojiPicker_header {
    padding: 4px 8px 0;
    border-bottom: 1px solid #616b7f;
}

.mx_EmojiPicker_anchor {
    border: none;
    padding: 8px 8px 6px;
    border-bottom: 2px solid transparent;
    background-color: transparent;
    border-radius: 4px 4px 0 0;

    width: 36px;
    height: 38px;
}

.mx_EmojiPicker_anchor:not(:disabled) {
        cursor: pointer;
    }

.mx_EmojiPicker_anchor:not(:disabled):hover {
        background-color: #343a46;
        background-color: var(--focus-bg-color, #343a46);
        border-bottom: 2px solid #0dbd8b;
        border-bottom: 2px solid var(--accent-color, #0dbd8b);
    }

.mx_EmojiPicker_anchor::before {
    background-color: var(--timeline-text-color);
    content: "";
    display: inline-block;
    -webkit-mask-size: 100%;
            mask-size: 100%;
    -webkit-mask-repeat: no-repeat;
            mask-repeat: no-repeat;
    width: 100%;
    height: 100%;
}

.mx_EmojiPicker_anchor:disabled::before {
    background-color: #343a46;
    background-color: var(--focus-bg-color, #343a46);
}

.mx_EmojiPicker_anchor_activity::before {
    -webkit-mask-image: url(../../img/emojipicker/activity.b1bd2e6.svg);
            mask-image: url(../../img/emojipicker/activity.b1bd2e6.svg);
}

.mx_EmojiPicker_anchor_custom::before {
    -webkit-mask-image: url(../../img/emojipicker/custom.0b41026.svg);
            mask-image: url(../../img/emojipicker/custom.0b41026.svg);
}

.mx_EmojiPicker_anchor_flags::before {
    -webkit-mask-image: url(../../img/emojipicker/flags.90f18b0.svg);
            mask-image: url(../../img/emojipicker/flags.90f18b0.svg);
}

.mx_EmojiPicker_anchor_foods::before {
    -webkit-mask-image: url(../../img/emojipicker/foods.7be3b5f.svg);
            mask-image: url(../../img/emojipicker/foods.7be3b5f.svg);
}

.mx_EmojiPicker_anchor_nature::before {
    -webkit-mask-image: url(../../img/emojipicker/nature.8a9bfce.svg);
            mask-image: url(../../img/emojipicker/nature.8a9bfce.svg);
}

.mx_EmojiPicker_anchor_objects::before {
    -webkit-mask-image: url(../../img/emojipicker/objects.31b5fc3.svg);
            mask-image: url(../../img/emojipicker/objects.31b5fc3.svg);
}

.mx_EmojiPicker_anchor_people::before {
    -webkit-mask-image: url(../../img/emojipicker/people.0fb0422.svg);
            mask-image: url(../../img/emojipicker/people.0fb0422.svg);
}

.mx_EmojiPicker_anchor_places::before {
    -webkit-mask-image: url(../../img/emojipicker/places.87f4f91.svg);
            mask-image: url(../../img/emojipicker/places.87f4f91.svg);
}

.mx_EmojiPicker_anchor_recent::before {
    -webkit-mask-image: url(../../img/emojipicker/recent.ac61335.svg);
            mask-image: url(../../img/emojipicker/recent.ac61335.svg);
}

.mx_EmojiPicker_anchor_symbols::before {
    -webkit-mask-image: url(../../img/emojipicker/symbols.9e36ce6.svg);
            mask-image: url(../../img/emojipicker/symbols.9e36ce6.svg);
}

.mx_EmojiPicker_anchor_visible {
    border-bottom: 2px solid #0dbd8b;
    border-bottom: 2px solid var(--accent-color, #0dbd8b);
}

.mx_EmojiPicker_search {
    margin: 8px;
    border-radius: 4px;
    border: 1px solid #e7e7e7;
    background-color: var(--timeline-background-color);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
}

.mx_EmojiPicker_search input {
        -webkit-box-flex: 1;
            -ms-flex: 1;
                flex: 1;
        border: none;
        padding: 8px 12px;
        border-radius: 4px 0;
    }

.mx_EmojiPicker_search input::-webkit-input-placeholder {
            color: var(--cpd-color-text-secondary);
        }

.mx_EmojiPicker_search input::-moz-placeholder {
            color: var(--cpd-color-text-secondary);
        }

.mx_EmojiPicker_search input:-ms-input-placeholder {
            color: var(--cpd-color-text-secondary);
        }

.mx_EmojiPicker_search input::-ms-input-placeholder {
            color: var(--cpd-color-text-secondary);
        }

.mx_EmojiPicker_search input::placeholder {
            color: var(--cpd-color-text-secondary);
        }

.mx_EmojiPicker_search button {
        border: none;
        background-color: inherit;
        margin: 0;
        padding: 8px;
        -ms-flex-item-align: center;
            align-self: center;
        width: 32px;
        height: 32px;
    }

.mx_EmojiPicker_search_clear {
    cursor: pointer;
}

.mx_EmojiPicker_search_icon {
    width: 16px;
    margin: 8px;
}

.mx_EmojiPicker_search_icon:not(.mx_EmojiPicker_search_clear) {
    pointer-events: none;
}

.mx_EmojiPicker_search_icon::after {
    -webkit-mask: url(../../img/emojipicker/search.fc4e297.svg) no-repeat;
            mask: url(../../img/emojipicker/search.fc4e297.svg) no-repeat;
    -webkit-mask-size: 100%;
            mask-size: 100%;
    background-color: var(--timeline-text-color);
    content: "";
    display: inline-block;
    width: 100%;
    height: 100%;
}

.mx_EmojiPicker_search_clear::after {
    -webkit-mask-image: url(../../img/emojipicker/delete.bef70a7.svg);
            mask-image: url(../../img/emojipicker/delete.bef70a7.svg);
}

.mx_EmojiPicker_category {
    padding: 0 12px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
}

.mx_EmojiPicker_category_label {
    width: 304px;
}

.mx_EmojiPicker_list {
    width: 304px;
    padding: 0;
    margin: 0;
}

.mx_EmojiPicker_item_wrapper {
    display: inline-block;
    list-style: none;
    width: 38px;
    cursor: pointer;
}

.mx_EmojiPicker_item_wrapper:focus-within {
        background-color: #343a46;
        background-color: var(--focus-bg-color, #343a46);
    }

.mx_EmojiPicker_body .mx_EmojiPicker_item_wrapper[tabindex="0"] .mx_EmojiPicker_item {
    background-color: #343a46;
    background-color: var(--focus-bg-color, #343a46);
}

.mx_EmojiPicker_item {
    display: inline-block;
    font-size: 1.25rem;
    padding: 5px;
    width: 100%;
    height: 100%;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    text-align: center;
    border-radius: 4px;
}

.mx_EmojiPicker_item:hover {
        background-color: #343a46;
        background-color: var(--focus-bg-color, #343a46);
    }

.mx_EmojiPicker_item_selected {
    color: rgba(0, 0, 0, 0.5);
    border: 1px solid #0dbd8b;
    border: 1px solid var(--accent-color, #0dbd8b);
    padding: 4px;
}

.mx_EmojiPicker_category_label,
.mx_EmojiPicker_preview_name {
    font-size: 1rem;
    font-weight: var(--cpd-font-weight-semibold);
    margin: 0;
}

.mx_EmojiPicker_footer {
    border-top: 1px solid #616b7f;
    min-height: 72px;

    display: -webkit-box;

    display: -ms-flexbox;

    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
}

.mx_EmojiPicker_preview_emoji {
    font-size: 2rem;
    padding: 8px 16px;
}

.mx_EmojiPicker_preview_text {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    overflow: hidden;
    padding-top: 1rem;
    padding-bottom: 1rem;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
}

.mx_EmojiPicker_name {
    text-transform: capitalize;
}

.mx_EmojiPicker_shortcode {
    color: var(--timeline-text-secondary-color);
    overflow-wrap: break-word;
    font: var(--cpd-font-body-md-regular);
}

.mx_EmojiPicker_shortcode::before,
    .mx_EmojiPicker_shortcode::after {
        content: ":";
    }

.mx_EmojiPicker_quick {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -ms-flex-pack: distribute;
        justify-content: space-around;
}

.mx_EmojiPicker_quick_header .mx_EmojiPicker_name {
    margin-right: 4px;
}

/*
Copyright 2024 New Vector Ltd.
Copyright 2021 The Matrix.org Foundation C.I.C

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_LocationPicker {
    border-radius: 8px;

    height: 100%;
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;

    /* when there are errors loading the map */
    /* the canvas is still inserted */
    /* and can overlap error message/close buttons */
}

/* hide it */

.mx_LocationPicker.mx_LocationPicker_hasError .maplibregl-canvas-container,
        .mx_LocationPicker.mx_LocationPicker_hasError .maplibregl-control-container {
            display: none;
        }

.mx_LocationPicker #mx_LocationPicker_map {
        border-top-left-radius: inherit;
        border-top-right-radius: inherit;
        -webkit-box-flex: 1;
            -ms-flex: 1;
                flex: 1;
    }

.mx_LocationPicker #mx_LocationPicker_map .maplibregl-ctrl.maplibregl-ctrl-group,
        .mx_LocationPicker #mx_LocationPicker_map .maplibregl-ctrl.maplibregl-ctrl-attrib {
            margin-right: 16px;
        }

.mx_LocationPicker #mx_LocationPicker_map .maplibregl-ctrl.maplibregl-ctrl-group {
            /* place below the close button */
            /* padding-16 + 24px close button + padding-10 */
            margin-top: 50px;
        }

.mx_LocationPicker #mx_LocationPicker_map .maplibregl-user-location-accuracy-circle {
            display: none;
        }

.mx_LocationPicker #mx_LocationPicker_map .maplibregl-user-location-dot {
            display: none;
        }

.mx_LocationPicker .mx_LocationPicker_footer {
        -webkit-box-flex: 0;
            -ms-flex: 0;
                flex: 0;
        width: 100%;
        -webkit-box-sizing: border-box;
                box-sizing: border-box;
        padding: 16px;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column;
        -webkit-box-pack: stretch;
            -ms-flex-pack: stretch;
                justify-content: stretch;

        border-bottom-left-radius: inherit;
        border-bottom-right-radius: inherit;

        background-color: var(--roomlist-background-color);
    }

.mx_LocationPicker_pinText {
    position: absolute;
    top: 16px;
    width: 100%;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    text-align: center;
    height: 0;
    pointer-events: none;
}

.mx_LocationPicker_pinText span {
        -webkit-box-shadow: 0px 4px 15px rgba(0, 0, 0, 0.15);
                box-shadow: 0px 4px 15px rgba(0, 0, 0, 0.15);
        border-radius: 8px;
        padding: 8px;
        background-color: var(--timeline-background-color);
        color: var(--timeline-text-color);

        font-size: 0.75rem;
    }

.mx_LocationPicker_submitButton {
    width: 100%;
    height: 48px;
}

/*
Copyright 2024 New Vector Ltd.
Copyright 2022 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_CallEvent_wrapper {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: 100%;
}

.mx_CallEvent {
    padding: 12px;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    min-height: 60px;
    max-width: 600px;
    width: 100%;
    background-color: #21262c;
    background-color: var(--system, #21262c);
    border-radius: 8px;

    display: -webkit-box;

    display: -ms-flexbox;

    display: flex;
    gap: 8px;
}

.mx_CallEvent > .mx_BaseAvatar,
    .mx_CallEvent > .mx_Icon {
        -ms-flex-item-align: start;
            align-self: flex-start;
    }

.mx_CallEvent > .mx_Icon {
        padding: 0;
        margin: 4px 0;
        color: #edf3ff;
        color: var(--secondary-content, #edf3ff);
    }

.mx_CallEvent .mx_LiveContentSummary {
        font-size: 0.75rem;
    }

.mx_CallEvent {

    --facepile-background: var(--system, #21262c);
}

.mx_CallEvent_title {
    font-size: 0.9375rem;
    line-height: 24px; /* in px to match the avatar */
}

.mx_CallEvent_inactive .mx_CallEvent_title::before {
    display: inline-block;
    vertical-align: middle;
    content: "";
    background-color: #edf3ff;
    background-color: var(--secondary-content, #edf3ff);
    -webkit-mask-image: url(../../img/element-icons/call/video-call.515f9f9.svg);
            mask-image: url(../../img/element-icons/call/video-call.515f9f9.svg);
    -webkit-mask-size: 16px;
            mask-size: 16px;
    width: 16px;
    height: 16px;
    margin-right: 8px;
}

.mx_CallEvent_active .mx_CallEvent_title {
    font-weight: var(--cpd-font-weight-semibold);
}

.mx_CallEvent_columns {
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 12px;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
}

.mx_TimelineCard .mx_CallEvent_columns {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    gap: 8px;
}

.mx_CallEvent_details {
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;

    display: -webkit-box;

    display: -ms-flexbox;

    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 6px;
}

.mx_CallEvent_button {
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    min-width: 120px;
}

/*
Copyright 2024 New Vector Ltd.
Copyright 2018-2020 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_EventTileBubble.mx_CreateEvent {
    margin: var(--EventTileBubble_margin-block) auto;
}

.mx_EventTileBubble.mx_CreateEvent::before {
        background-color: #a1b2d1;
        -webkit-mask-image: url(../../img/element-icons/chat-bubbles.7946de9.svg);
                mask-image: url(../../img/element-icons/chat-bubbles.7946de9.svg);
    }

/*
Copyright 2024 New Vector Ltd.
Copyright 2017 Vector Creations Ltd

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_DateSeparator_dateContent {
    padding: 0 25px;
}

.mx_DateSeparator_dateHeading {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    margin: 0;
    font-size: inherit;
    font-weight: inherit;
    color: inherit;
    text-transform: capitalize;
}

.mx_DateSeparator_jumpToDateMenu {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
}

.mx_DateSeparator_chevron {
    -ms-flex-item-align: center;
        align-self: center;
    width: 16px;
    height: 16px;
    -webkit-mask-position: center;
            mask-position: center;
    -webkit-mask-size: contain;
            mask-size: contain;
    -webkit-mask-repeat: no-repeat;
            mask-repeat: no-repeat;
    -webkit-mask-image: url(../../icons/chevron-down.3774773.svg);
            mask-image: url(../../icons/chevron-down.3774773.svg);
    background-color: var(--cpd-color-icon-secondary);
}

/*
Copyright 2024 New Vector Ltd.
Copyright 2022 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_DecryptionFailureBody {
    color: #edf3ff;
    color: var(--secondary-content, #edf3ff);
    font-style: italic;
}

/* Formatting for errors due to sender trust requirement failures */

.mx_DecryptionFailureSenderTrustRequirement > span {
    /* some space between the (/) icon and text */
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    gap: var(--cpd-space-1x);

    /* Center vertically */
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
}

/*
Copyright 2024 New Vector Ltd.
Copyright 2021 Šimon Brandner <simon.bra.ag@gmail.com>
Copyright 2015, 2016 OpenMarket Ltd

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_DisambiguatedProfile {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    cursor: pointer;
}

.mx_DisambiguatedProfile .mx_DisambiguatedProfile_displayName {
        font: var(--cpd-font-body-md-semibold);
        -webkit-margin-end: 0;
                margin-inline-end: 0;
        /* keeps the height in check, important for the bubble apperance */
        line-height: 1;
    }

.mx_DisambiguatedProfile .mx_DisambiguatedProfile_mxid {
        -webkit-margin-start: 5px;
                margin-inline-start: 5px;
        color: #edf3ff;
        color: var(--secondary-content, #edf3ff);
        font-size: var(--cpd-font-size-body-sm);
    }

/*
Copyright 2024 New Vector Ltd.
Copyright 2019, 2020 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_EventTileBubble {
    --EventTileBubble_margin-block: 10px;

    background-color: var(--roomlist-background-color);
    padding: 10px;
    border-radius: 8px;
    /* Reserve space for external timestamps, but also cap the width */
    max-width: min(calc(100% - 2 * 46px), 600px);
    max-width: min(calc(100% - 2 * var(--MessageTimestamp-width)), 600px);
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    display: grid;
    grid-template-columns: 24px minmax(0, 1fr) -webkit-min-content -webkit-min-content;
    grid-template-columns: 24px minmax(0, 1fr) min-content min-content;
}

.mx_EventTileBubble::before,
    .mx_EventTileBubble::after {
        position: relative;
        grid-column: 1;
        grid-row: 1 / 3;
        width: 16px;
        height: 16px;
        content: "";
        inset: 0;
        -webkit-mask-repeat: no-repeat;
                mask-repeat: no-repeat;
        -webkit-mask-position: center;
                mask-position: center;
        -webkit-mask-size: contain;
                mask-size: contain;
        margin-top: 4px;
    }

.mx_EventTileBubble .mx_EventTileBubble_title,
    .mx_EventTileBubble .mx_EventTileBubble_subtitle {
        grid-column: 2;
        overflow-wrap: break-word;
        min-inline-size: 50px;
    }

.mx_EventTileBubble .mx_EventTileBubble_title {
        font-weight: var(--cpd-font-weight-semibold);
        font-size: 0.9375rem;
        grid-row: 1;
    }

.mx_EventTileBubble .mx_EventTileBubble_subtitle {
        font-size: 0.75rem;
        grid-row: 2;
    }

.mx_EventTileBubble .mx_MessageTimestamp {
        grid-column: 4;
        grid-row: 1 / 3;
        align-self: center;
        margin-left: 16px;
    }

/*
Copyright 2024 New Vector Ltd.
Copyright 2022 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_HiddenBody {
    white-space: pre-wrap;
    color: #a1b2d1;
    vertical-align: middle;

    padding-left: 20px;
    position: relative;
}

.mx_HiddenBody::before {
        height: 14px;
        width: 14px;
        background-color: #a1b2d1;
        -webkit-mask-image: url(../../img/element-icons/hide.72c451b.svg);
                mask-image: url(../../img/element-icons/hide.72c451b.svg);

        -webkit-mask-repeat: no-repeat;

                mask-repeat: no-repeat;
        -webkit-mask-position: center;
                mask-position: center;
        -webkit-mask-size: contain;
                mask-size: contain;
        content: "";
        position: absolute;
        top: 1px;
        left: 0;
    }

/*
Copyright 2024 New Vector Ltd.
Copyright 2022 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_JumpToDatePicker_form {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    /* This matches the default padding of IconizedContextMenuOption */
    /* (see context_menus/_IconizedContextMenu.pcss) */
    padding-top: 12px;
    padding-bottom: 12px;
}

.mx_JumpToDatePicker_label {
    -ms-flex-item-align: center;
        align-self: center;
    font-size: 0.9375rem;
}

.mx_JumpToDatePicker_datePicker {
    margin: 0;
    margin-left: 8px;
}

.mx_JumpToDatePicker_datePicker,
    .mx_JumpToDatePicker_datePicker > input {
        border-radius: 8px;
    }

.mx_JumpToDatePicker_submitButton {
    margin-left: 8px;
}

/*
Copyright 2024 New Vector Ltd.
Copyright 2021 Šimon Brandner <simon.bra.ag@gmail.com>

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_LegacyCallEvent_wrapper {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: 100%;
}

.mx_LegacyCallEvent_wrapper .mx_LegacyCallEvent {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
            -ms-flex-direction: row;
                flex-direction: row;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        -webkit-box-pack: justify;
            -ms-flex-pack: justify;
                justify-content: space-between;
        gap: 4px 0;

        position: relative;
        margin: 4px 0;
        padding: 12px 24px;
        -webkit-box-sizing: border-box;
                box-sizing: border-box;
        background-color: var(--roomlist-background-color);
        border-radius: 8px;
        width: 65%;
        height: -webkit-fit-content;
        height: -moz-fit-content;
        height: fit-content;
    }

.mx_LegacyCallEvent_wrapper .mx_LegacyCallEvent .mx_LegacyCallEvent_iconButton {
            display: -webkit-inline-box;
            display: -ms-inline-flexbox;
            display: inline-flex;
        }

.mx_LegacyCallEvent_wrapper .mx_LegacyCallEvent .mx_LegacyCallEvent_iconButton::before {
                content: "";

                height: 16px;
                width: 16px;
                background-color: #edf3ff;
                background-color: var(--secondary-content, #edf3ff);
                -webkit-mask-repeat: no-repeat;
                        mask-repeat: no-repeat;
                -webkit-mask-size: contain;
                        mask-size: contain;
                -webkit-mask-position: center;
                        mask-position: center;
            }

.mx_LegacyCallEvent_wrapper .mx_LegacyCallEvent .mx_LegacyCallEvent_silence::before {
            -webkit-mask-image: url(../../img/voip/silence.fff021d.svg);
                    mask-image: url(../../img/voip/silence.fff021d.svg);
        }

.mx_LegacyCallEvent_wrapper .mx_LegacyCallEvent .mx_LegacyCallEvent_unSilence::before {
            -webkit-mask-image: url(../../img/voip/un-silence.fd94a16.svg);
                    mask-image: url(../../img/voip/un-silence.fd94a16.svg);
        }

.mx_LegacyCallEvent_wrapper .mx_LegacyCallEvent.mx_LegacyCallEvent_voice .mx_LegacyCallEvent_type_icon::before,
            .mx_LegacyCallEvent_wrapper .mx_LegacyCallEvent.mx_LegacyCallEvent_voice .mx_LegacyCallEvent_content_button_callBack span::before,
            .mx_LegacyCallEvent_wrapper .mx_LegacyCallEvent.mx_LegacyCallEvent_voice .mx_LegacyCallEvent_content_button_answer span::before {
                -webkit-mask-image: url(../../img/element-icons/call/voice-call.85002aa.svg);
                        mask-image: url(../../img/element-icons/call/voice-call.85002aa.svg);
            }

.mx_LegacyCallEvent_wrapper .mx_LegacyCallEvent.mx_LegacyCallEvent_voice.mx_LegacyCallEvent_rejected .mx_LegacyCallEvent_type_icon::before, .mx_LegacyCallEvent_wrapper .mx_LegacyCallEvent.mx_LegacyCallEvent_voice.mx_LegacyCallEvent_noAnswer .mx_LegacyCallEvent_type_icon::before {
                    -webkit-mask-image: url(../../img/element-icons/call/hangup.a9876fc.svg);
                            mask-image: url(../../img/element-icons/call/hangup.a9876fc.svg);
                }

.mx_LegacyCallEvent_wrapper .mx_LegacyCallEvent.mx_LegacyCallEvent_video .mx_LegacyCallEvent_type_icon::before,
            .mx_LegacyCallEvent_wrapper .mx_LegacyCallEvent.mx_LegacyCallEvent_video .mx_LegacyCallEvent_content_button_callBack span::before,
            .mx_LegacyCallEvent_wrapper .mx_LegacyCallEvent.mx_LegacyCallEvent_video .mx_LegacyCallEvent_content_button_answer span::before {
                -webkit-mask-image: url(../../img/element-icons/call/video-call.515f9f9.svg);
                        mask-image: url(../../img/element-icons/call/video-call.515f9f9.svg);
            }

.mx_LegacyCallEvent_wrapper .mx_LegacyCallEvent.mx_LegacyCallEvent_video.mx_LegacyCallEvent_rejected .mx_LegacyCallEvent_type_icon::before, .mx_LegacyCallEvent_wrapper .mx_LegacyCallEvent.mx_LegacyCallEvent_video.mx_LegacyCallEvent_noAnswer .mx_LegacyCallEvent_type_icon::before {
                    -webkit-mask-image: url(../../icons/video-call-declined-solid.487a564.svg);
                            mask-image: url(../../icons/video-call-declined-solid.487a564.svg);
                }

.mx_LegacyCallEvent_wrapper .mx_LegacyCallEvent.mx_LegacyCallEvent_missed.mx_LegacyCallEvent_voice .mx_LegacyCallEvent_type_icon::before {
                    -webkit-mask-image: url(../../img/voip/missed-voice.8a2b762.svg);
                            mask-image: url(../../img/voip/missed-voice.8a2b762.svg);
                }

.mx_LegacyCallEvent_wrapper .mx_LegacyCallEvent.mx_LegacyCallEvent_missed.mx_LegacyCallEvent_video .mx_LegacyCallEvent_type_icon::before {
                    -webkit-mask-image: url(../../icons/video-call-missed-solid.a92b619.svg);
                            mask-image: url(../../icons/video-call-missed-solid.a92b619.svg);
                }

.mx_LegacyCallEvent_wrapper .mx_LegacyCallEvent .mx_LegacyCallEvent_info {
            display: -webkit-box;
            display: -ms-flexbox;
            display: flex;
            -webkit-box-orient: horizontal;
            -webkit-box-direction: normal;
                -ms-flex-direction: row;
                    flex-direction: row;
            -webkit-box-align: center;
                -ms-flex-align: center;
                    align-items: center;
            width: -webkit-fit-content;
            width: -moz-fit-content;
            width: fit-content;
            max-width: 100%;
        }

.mx_LegacyCallEvent_wrapper .mx_LegacyCallEvent .mx_LegacyCallEvent_info .mx_LegacyCallEvent_info_basic {
                display: -webkit-box;
                display: -ms-flexbox;
                display: flex;
                -webkit-box-orient: vertical;
                -webkit-box-direction: normal;
                    -ms-flex-direction: column;
                        flex-direction: column;
                gap: 4px;
                margin-left: 10px; /* To match mx_LegacyCallEvent */
                margin-right: 10px;
                min-width: 0;
            }

.mx_LegacyCallEvent_wrapper .mx_LegacyCallEvent .mx_LegacyCallEvent_info .mx_LegacyCallEvent_info_basic .mx_LegacyCallEvent_sender {
                    font-weight: var(--cpd-font-weight-semibold);
                    margin-bottom: 4px;

                    overflow: hidden;
                    white-space: nowrap;
                    text-overflow: ellipsis;
                }

.mx_LegacyCallEvent_wrapper .mx_LegacyCallEvent .mx_LegacyCallEvent_info .mx_LegacyCallEvent_info_basic .mx_LegacyCallEvent_type {
                    display: -webkit-box;
                    display: -ms-flexbox;
                    display: flex;
                    -webkit-box-align: center;
                        -ms-flex-align: center;
                            align-items: center;
                    font-weight: 400;
                    color: #edf3ff;
                    color: var(--secondary-content, #edf3ff);
                }

.mx_LegacyCallEvent_wrapper .mx_LegacyCallEvent .mx_LegacyCallEvent_info .mx_LegacyCallEvent_info_basic .mx_LegacyCallEvent_type .mx_LegacyCallEvent_type_icon {
                        height: 13px;
                        width: 13px;
                        margin-right: 5px;
                    }

.mx_LegacyCallEvent_wrapper .mx_LegacyCallEvent .mx_LegacyCallEvent_info .mx_LegacyCallEvent_info_basic .mx_LegacyCallEvent_type .mx_LegacyCallEvent_type_icon::before {
                            content: "";
                            position: absolute;
                            height: 13px;
                            width: 13px;
                            background-color: #edf3ff;
                            background-color: var(--secondary-content, #edf3ff);
                            -webkit-mask-repeat: no-repeat;
                                    mask-repeat: no-repeat;
                            -webkit-mask-size: contain;
                                    mask-size: contain;
                        }

.mx_LegacyCallEvent_wrapper .mx_LegacyCallEvent .mx_LegacyCallEvent_content {
            display: -webkit-box;
            display: -ms-flexbox;
            display: flex;
            -ms-flex-wrap: wrap;
                flex-wrap: wrap;
            -webkit-box-align: center;
                -ms-flex-align: center;
                    align-items: center;
            color: #edf3ff;
            color: var(--secondary-content, #edf3ff);
            font-size: 0.75rem;
            gap: 12px; /* See mx_IncomingLegacyCallToast_buttons */
            -webkit-margin-start: 42px;
                    margin-inline-start: 42px; /* avatar (32px) + mx_LegacyCallEvent_info_basic margin (10px) */
            word-break: break-word;
            max-width: -webkit-fit-content;
            max-width: -moz-fit-content;
            max-width: fit-content;
        }

.mx_LegacyCallEvent_wrapper .mx_LegacyCallEvent .mx_LegacyCallEvent_content .mx_LegacyCallEvent_content_button {
                -webkit-box-sizing: border-box;
                        box-sizing: border-box;
                font-weight: var(--cpd-font-weight-semibold);
                height: 1.5rem;
                line-height: 1.5rem;
                margin-right: 0;
            }

.mx_LegacyCallEvent_wrapper .mx_LegacyCallEvent .mx_LegacyCallEvent_content .mx_LegacyCallEvent_content_button span {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
    }

.mx_LegacyCallEvent_wrapper .mx_LegacyCallEvent .mx_LegacyCallEvent_content .mx_LegacyCallEvent_content_button span::before {
            content: "";
            display: inline-block;
            background-color: white;
            -webkit-mask-position: center;
                    mask-position: center;
            -webkit-mask-repeat: no-repeat;
                    mask-repeat: no-repeat;
            margin-right: 8px;
        }

.mx_LegacyCallEvent_wrapper .mx_LegacyCallEvent .mx_LegacyCallEvent_content .mx_LegacyCallEvent_content_button {
                padding: 0 12px;
                font-size: inherit;
}

.mx_LegacyCallEvent_wrapper .mx_LegacyCallEvent .mx_LegacyCallEvent_content .mx_LegacyCallEvent_content_button span::before {
                    -webkit-mask-size: 16px;
                            mask-size: 16px;
                    width: 16px;
                    height: 16px;
                    -ms-flex-negative: 0;
                        flex-shrink: 0;
                }

.mx_LegacyCallEvent_wrapper .mx_LegacyCallEvent .mx_LegacyCallEvent_content .mx_LegacyCallEvent_content_button_reject span::before {
                    -webkit-mask-image: url(../../img/element-icons/call/hangup.a9876fc.svg);
                            mask-image: url(../../img/element-icons/call/hangup.a9876fc.svg);
                }

.mx_LegacyCallEvent_wrapper .mx_LegacyCallEvent .mx_LegacyCallEvent_content .mx_LegacyCallEvent_content_tooltip {
                margin-right: 5px;
            }

.mx_LegacyCallEvent_wrapper .mx_LegacyCallEvent.mx_LegacyCallEvent_narrow {
            -webkit-box-orient: vertical;
            -webkit-box-direction: normal;
                -ms-flex-direction: column;
                    flex-direction: column;
            -webkit-box-align: initial;
                -ms-flex-align: initial;
                    align-items: initial;
            gap: 4px 16px;
            height: auto;
            height: initial;
            min-width: 290px;
        }

.mx_LegacyCallEvent_wrapper .mx_LegacyCallEvent.mx_LegacyCallEvent_narrow .mx_LegacyCallEvent_iconButton {
                position: absolute;
                margin-right: 0;
                top: 12px;
                right: 12px;
                height: 16px;
                width: 16px;
                display: -webkit-box;
                display: -ms-flexbox;
                display: flex;
            }

.mx_LegacyCallEvent_wrapper .mx_LegacyCallEvent.mx_LegacyCallEvent_narrow .mx_LegacyCallEvent_info {
                -webkit-box-align: center;
                    -ms-flex-align: center;
                        align-items: center;
            }

.mx_EventTile[data-layout="bubble"] .mx_EventTile_e2eIcon + .mx_LegacyCallEvent_wrapper .mx_LegacyCallEvent {
            position: relative;

            /* 5px (gap) + 14px (e2e icon size * mask-size) + 9px (margin-left of e2e icon) */
            right: calc(5px + 14px + 9px);
        }

.mx_EventTile_leftAlignedBubble .mx_LegacyCallEvent_wrapper .mx_LegacyCallEvent.mx_LegacyCallEvent_narrow {
                gap: 8px 4px;
            }

.mx_IRCLayout .mx_LegacyCallEvent_wrapper .mx_LegacyCallEvent {
            -webkit-margin-start: 4px;
                    margin-inline-start: 4px; /* display green line */
        }

/*
Copyright 2024 New Vector Ltd.
Copyright 2017 Vector Creations Ltd.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_MEmoteBody {
    white-space: pre-wrap;
    text-align: start;
}

.mx_MEmoteBody_sender {
    cursor: pointer;
}

/*
Copyright 2024 New Vector Ltd.
Copyright 2015-2021 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_MFileBody_download {
    color: #0dbd8b;
    color: var(--accent-color, #0dbd8b);
    height: var(--cpd-space-9x);
}

.mx_MFileBody_download object {
    margin-left: -16px;
    padding-right: 4px;
    margin-top: -4px;
    vertical-align: middle;
    pointer-events: none;
}

/* Remove the border and padding for iframes for download links. */

.mx_MFileBody_download iframe {
    margin: 0px;
    padding: 0px;
    border: none;
    width: 100%;
}

.mx_MFileBody_info {
    cursor: pointer;
}

.mx_MFileBody_info .mx_MFileBody_info_icon {
        background-color: #21262c;
        background-color: var(--system, #21262c);
        border-radius: 20px;
        display: inline-block;
        width: 32px;
        height: 32px;
        position: relative;
        vertical-align: middle;
        margin-right: 12px;
    }

.mx_MFileBody_info .mx_MFileBody_info_icon::before {
            content: "";
            -webkit-mask-repeat: no-repeat;
                    mask-repeat: no-repeat;
            -webkit-mask-position: center;
                    mask-position: center;
            -webkit-mask-size: cover;
                    mask-size: cover;
            -webkit-mask-image: url(../../img/element-icons/room/composer/attach.7eed7d0.svg);
                    mask-image: url(../../img/element-icons/room/composer/attach.7eed7d0.svg);
            background-color: #edf3ff;
            background-color: var(--secondary-content, #edf3ff);
            width: 15px;
            height: 15px;

            position: absolute;
            top: 8px;
            left: 8px;
        }

.mx_MFileBody_info .mx_MFileBody_info_filename {
        font: var(--cpd-font-body-md-regular);
        color: var(--cpd-color-text-primary);
        text-overflow: ellipsis;
        overflow: hidden;
        white-space: nowrap;
        display: inline-block;
        width: calc(100% - 32px - 12px); /* 32px icon, 12px margin on the icon */
        vertical-align: middle;
    }

/*
Copyright 2024 New Vector Ltd.
Copyright 2021 The Matrix.org Foundation C.I.C.
Copyright 2015, 2016 OpenMarket Ltd

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_MImageBody_banner {
    position: absolute;
    bottom: 4px;
    left: 4px;
    padding: 4px;
    border-radius: 8px;
    border-radius: var(--MBody-border-radius);
    font-size: 0.9375rem;
    -webkit-user-select: none;
       -moz-user-select: none;
        -ms-user-select: none;
            user-select: none; /* prevent banner text from being selected */
    pointer-events: none; /* let the cursor go through to the media underneath */

    /* Trying to match the width of the image is surprisingly difficult, so arbitrarily break it off early. */
    max-width: min(100%, 350px);

    text-overflow: ellipsis;
    white-space: nowrap;
    overflow: hidden;

    /* Hardcoded colours because it's the same on all themes */
    background-color: rgba(0, 0, 0, 0.6);
    color: #ffffff;
}

.mx_MImageBody_placeholder {
    /* Position the placeholder on top of the thumbnail, so that the reveal animation can work */
    position: absolute;
    left: 0;
    top: 0;
    height: 100%;
    width: 100%;

    background-color: var(--timeline-background-color);
}

.mx_MImageBody_placeholder .mx_Blurhash > canvas {
        -webkit-animation: mx--anim-pulse 1.75s infinite cubic-bezier(0.4, 0, 0.6, 1);
                animation: mx--anim-pulse 1.75s infinite cubic-bezier(0.4, 0, 0.6, 1);
    }

.mx_MImageBody_thumbnail_container {
    border-radius: 8px;
    border-radius: var(--MBody-border-radius);

    /* Necessary for the border radius to apply correctly to the placeholder */
    overflow: hidden;
    contain: paint;
}

.mx_MImageBody_thumbnail {
    display: block;

    /* Force the image to be the full size of the container, even if the */
    /* pixel size is smaller. The problem here is that we don't know what */
    /* thumbnail size the HS is going to give us, but we have to commit to */
    /* a container size immediately and not change it when the image loads */
    /* or we'll get a scroll jump (or have to leave blank space). */
    /* This will obviously result in an upscaled image which will be a bit */
    /* blurry. The best fix would be for the HS to advertise what size thumbnails */
    /* it guarantees to produce. */
    height: 100%;
    width: 100%;
}

.mx_MImageBody_gifLabel {
    position: absolute;
    display: block;
    top: 0px;
    left: 14px;
    padding: 5px;
    border-radius: 5px;
    background: rgba(0, 0, 0, 0.7);
    border: 2px solid rgba(0, 0, 0, 0.2);
    color: rgba(255, 255, 255, 1);
    pointer-events: none;
}

.mx_HiddenImagePlaceholder {
    position: absolute;
    inset: 0;

    /* To center the text in the middle of the frame */
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    text-align: center;

    cursor: pointer;
    background-color: var(--roomlist-background-color);
}

.mx_HiddenImagePlaceholder .mx_HiddenImagePlaceholder_button {
        color: #0dbd8b;
        color: var(--accent-color, #0dbd8b);
    }

.mx_HiddenImagePlaceholder .mx_HiddenImagePlaceholder_button span.mx_HiddenImagePlaceholder_eye {
            margin-right: 8px;

            background-color: #0dbd8b;

            background-color: var(--accent-color, #0dbd8b);
            -webkit-mask-image: url(../../img/element-icons/eye.e715558.svg);
                    mask-image: url(../../img/element-icons/eye.e715558.svg);
            display: inline-block;
            width: 18px;
            height: 14px;
        }

.mx_HiddenImagePlaceholder .mx_HiddenImagePlaceholder_button span:not(.mx_HiddenImagePlaceholder_eye) {
            vertical-align: text-bottom;
        }

.mx_EventTile:hover .mx_HiddenImagePlaceholder {
    background-color: var(--timeline-background-color);
}

/*
Copyright 2024 New Vector Ltd.
Copyright 2020 Tulir Asokan <tulir@maunium.net>

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_MImageReplyBody {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-column-gap: 4px;
       -moz-column-gap: 4px;
            column-gap: 4px;
}

.mx_MImageReplyBody .mx_MImageBody_thumbnail_container {
        -webkit-box-flex: 1;
            -ms-flex: 1;
                flex: 1;
        min-width: 0; /* Prevent a blowout */
    }

/*
Copyright 2024 New Vector Ltd.
Copyright 2020 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_EventTileBubble.mx_MJitsiWidgetEvent::before {
        background-color: #a1b2d1; /* XXX: Variable abuse */
        -webkit-mask-image: url(../../img/element-icons/call/video-call.515f9f9.svg);
                mask-image: url(../../img/element-icons/call/video-call.515f9f9.svg);
    }

/*
Copyright 2024 New Vector Ltd.
Copyright 2021 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_MLocationBody {
    max-width: 100%;
}

.mx_MLocationBody .mx_MLocationBody_map {
        max-width: 100%;
        width: 450px;
        height: 300px;
        z-index: 0; /* keeps the entire map under the message action bar */

        border-radius: 8px;

        border-radius: var(--MBody-border-radius);
        cursor: pointer;
    }

/* In the timeline, we fit the width of the container */

.mx_EventTile_line .mx_MLocationBody .mx_MLocationBody_map {
    max-width: 450px;
    width: 100%;
}

.mx_EventTile[data-layout="bubble"] .mx_EventTile_line .mx_MLocationBody .mx_MLocationBody_map {
    max-width: 100%;
    width: 450px;
}

.mx_DisambiguatedProfile ~ .mx_MLocationBody {
    margin-top: 6px; /* See: https://github.com/matrix-org/matrix-react-sdk/pull/8442 */
}

.mx_ReplyTile .mx_MLocationBody {
    /* Prevent clicking a location within a reply */
    pointer-events: none;
}

/*
Copyright 2024 New Vector Ltd.
Copyright 2015, 2016 OpenMarket Ltd

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_MNoticeBody {
    white-space: pre-wrap;
    color: #edf3ff;
    color: var(--secondary-content, #edf3ff);
}

/*
Copyright 2024 New Vector Ltd.
Copyright 2021 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_MPollBody {
    margin-top: 8px;
}

.mx_MPollBody h2 {
        font-weight: var(--cpd-font-weight-semibold);
        font-size: 0.9375rem;
        line-height: 1.5rem;
        margin-top: 0;
        margin-bottom: 8px;
    }

.mx_MPollBody h2 .mx_MPollBody_edited {
            color: var(--timeline-text-color-50pct);
            font-size: 0.75rem;
            opacity: 0.6;
        }

.mx_MPollBody h2::before {
        content: "";
        position: relative;
        display: inline-block;
        margin-right: 12px;
        top: 3px;
        left: 3px;
        height: 20px;
        width: 20px;
        background-color: #edf3ff;
        background-color: var(--secondary-content, #edf3ff);
        -webkit-mask-repeat: no-repeat;
                mask-repeat: no-repeat;
        -webkit-mask-size: contain;
                mask-size: contain;
        -webkit-mask-position: center;
                mask-position: center;
        -webkit-mask-image: url(../../img/element-icons/room/composer/poll.a8ee2f3.svg);
                mask-image: url(../../img/element-icons/room/composer/poll.a8ee2f3.svg);
    }

.mx_MPollBody .mx_MPollBody_totalVotes {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: inline;
                flex-direction: inline;
        -webkit-box-pack: start;
            -ms-flex-pack: start;
                justify-content: start;
        color: #edf3ff;
        color: var(--secondary-content, #edf3ff);
        font-size: 0.75rem;
    }

.mx_MPollBody .mx_MPollBody_totalVotes .mx_Spinner {
            -webkit-box-flex: 0;
                -ms-flex: 0;
                    flex: 0;
            margin-left: 8px;
        }

/* Prevent clicking a poll within a reply */

.mx_ReplyTile .mx_MPollBody {
    pointer-events: none;
}

.mx_MPollBody_allOptions {
    display: grid;
    grid-gap: 16px;
    margin-bottom: 8px;
    max-width: 550px;
}

/*
Copyright 2024 New Vector Ltd.
Copyright 2023 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_MPollEndBody_icon {
    height: 14px;
    margin-right: 8px;
    vertical-align: middle;
    color: #edf3ff;
    color: var(--secondary-content, #edf3ff);
}

/*
Copyright 2018-2024 New Vector Ltd.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_MStickerBody_wrapper {
    padding: 12px 0px;
}

.mx_MStickerBody_hidden {
    max-width: 220px;
    text-decoration: none;
    text-align: center;

    /* To center the text in the middle of the frame */
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
}

.mx_MStickerBody_placeholder {
    /* centering */
    position: absolute;
    left: calc(50% - 40px);
    top: calc(50% - 40px);
}

/*
Copyright 2024 New Vector Ltd.
Copyright 2015, 2016 OpenMarket Ltd

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_MTextBody {
    white-space: pre-wrap;
}

/*
Copyright 2024 New Vector Ltd.
Copyright 2020, 2021 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

span.mx_MVideoBody {
    overflow: hidden;
}

span.mx_MVideoBody .mx_MVideoBody_container {
        border-radius: 8px;
        border-radius: var(--MBody-border-radius);
        overflow: hidden;
    }

span.mx_MVideoBody .mx_MVideoBody_container video {
            height: 100%;
            width: 100%;
        }

/*
Copyright 2024 New Vector Ltd.
Copyright 2021 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

/* A "media body" is any file upload looking thing, apart from images and videos (they */

/* have unique styles). */

.mx_MediaBody {
    background-color: var(--panels, var(--cpd-color-gray-600));
    border-radius: 12px;
    max-width: 243px; /* use max-width instead of width so it fits within right panels */

    color: #edf3ff;

    color: var(--secondary-content, #edf3ff);
    font: var(--cpd-font-body-md-regular);
    line-height: 1.5rem;

    padding: 6px 12px;
}

/*
Copyright 2019-2024 New Vector Ltd.
Copyright 2019 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_MessageActionBar {
    --MessageActionBar-size-button: 28px;
    --MessageActionBar-size-box: 32px; /* 28px + 2px (margin) * 2 */
    --MessageActionBar-item-hover-background: var(--cpd-color-bg-subtle-secondary);
    --MessageActionBar-item-hover-borderRadius: 6px;
    --MessageActionBar-item-hover-zIndex: 1;

    position: absolute;
    visibility: hidden;
    cursor: pointer;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    height: 32px;
    height: var(--MessageActionBar-size-box);
    line-height: 1.5rem;
    border-radius: 8px;
    background: var(--timeline-background-color);
    border: var(--cpd-border-width-1) solid var(--cpd-color-border-disabled);
    top: -32px;
    right: 8px;
    -webkit-user-select: none;
       -moz-user-select: none;
        -ms-user-select: none;
            user-select: none;
    /* Ensure the action bar appears above other things like the read marker */
    /* and sender avatar (for small screens) */
    z-index: 10;

    /* Adds a previous event safe area so that you can't accidentally hover the */
    /* previous event while trying to mouse into the action bar or from the */
}

/* react button to its tooltip. */

.mx_MessageActionBar::before {
        content: "";
        position: absolute;
        /* tooltip safe mousing area + tooltip overhang + */
        /* action bar + action bar offset from event */
        width: calc(10px + 48px + 100% + 8px);
        /* safe area + action bar */
        height: calc(20px + 100%);
        top: -12px;
        left: -58px;
        z-index: -1;
        cursor: auto;
        cursor: initial;

        /* stylelint-disable-next-line max-line-length */
    }

.mx_GenericEventListSummary[data-layout="bubble"]
            .mx_GenericEventListSummary_toggle
            ~ .mx_GenericEventListSummary_unstyledList
            .mx_EventTile_info:first-of-type
            .mx_MessageActionBar::before {
            /* improve clickability of "collapse" link button on bubble layout by reducing width and height values */
            /* mx_GenericEventListSummary_toggle ~: to apply rules to action bar when "collapse" button is available */
            /* mx_EventTile_info:first-of-type: to apply rules to the info event tile just under "collapse" button */
            /* TODO: use a new class name instead */
            width: 100%;
            height: 100%;
            top: 0;
            left: 0;
        }

.mx_EventTile_info .mx_ViewSourceEvent ~ .mx_MessageActionBar::before {
            /* improve clickability of view source event toggle button by removing vertical safe area */
            width: 100%;
            height: 100%;
            top: 0;
            left: 0;
        }

.mx_MessageActionBar > * {
        white-space: nowrap;
        display: inline-block;
        position: relative;
        margin: 2px;
    }

.mx_MessageActionBar > *:hover {
            background: var(--MessageActionBar-item-hover-background);
            border-radius: var(--MessageActionBar-item-hover-borderRadius);
            z-index: var(--MessageActionBar-item-hover-zIndex);
        }

.mx_MessageActionBar .mx_MessageActionBar_iconButton {
        --MessageActionBar-icon-size: 18px;
        width: var(--MessageActionBar-size-button);
        height: var(--MessageActionBar-size-button);
        color: var(--cpd-color-icon-secondary);
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        -webkit-box-pack: center;
            -ms-flex-pack: center;
                justify-content: center;
    }

.mx_MessageActionBar .mx_MessageActionBar_iconButton svg {
            height: var(--MessageActionBar-icon-size);
            width: var(--MessageActionBar-icon-size);
            -webkit-box-flex: 0;
                -ms-flex: 0 0 var(--MessageActionBar-icon-size);
                    flex: 0 0 var(--MessageActionBar-icon-size);
        }

.mx_MessageActionBar .mx_MessageActionBar_iconButton:disabled,
        .mx_MessageActionBar .mx_MessageActionBar_iconButton[disabled] {
            cursor: not-allowed;
            opacity: 0.75;
        }

.mx_MessageActionBar .mx_MessageActionBar_iconButton:hover {
            color: var(--cpd-color-icon-primary);
        }

.mx_MessageActionBar .mx_MessageActionBar_iconButton.mx_MessageActionBar_threadButton {
            --MessageActionBar-icon-size: 20px;
        }

.mx_MessageActionBar .mx_MessageActionBar_iconButton.mx_MessageActionBar_retryButton {
            --MessageActionBar-icon-size: 16px;
        }

.mx_MessageActionBar .mx_MessageActionBar_iconButton.mx_MessageActionBar_downloadButton {
            --MessageActionBar-icon-size: 20px;
        }

.mx_MessageActionBar .mx_MessageActionBar_iconButton.mx_MessageActionBar_downloadButton.mx_MessageActionBar_downloadSpinnerButton svg {
                    display: none; /* hide the download icon */
                }

.mx_MessageActionBar .mx_MessageActionBar_iconButton.mx_MessageActionBar_expandCollapseMessageButton {
            --MessageActionBar-icon-size: 12px;
        }

.mx_MessageActionBar .mx_MessageActionBar_optionsButton {
        --MessageActionBar-icon-size: 22px;
    }

/*
Copyright 2024 New Vector Ltd.
Copyright 2015, 2016 OpenMarket Ltd

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

:root {
    --MessageTimestamp-width: 46px; /* 8 + 30 (avatar) + 8 */
    --MessageTimestamp-max-width: 80px;
    --MessageTimestamp-color: #a1b2d1;
}

.mx_MessageTimestamp {
    color: #a1b2d1;
    color: var(--MessageTimestamp-color);
    font-size: 0.625rem;
    -webkit-font-feature-settings: "tnum";
            font-feature-settings: "tnum";
    font-variant-numeric: tabular-nums;
    display: block; /* enable the width setting below */
    width: 46px;
    width: var(--MessageTimestamp-width);
    white-space: nowrap;
    -webkit-user-select: none;
       -moz-user-select: none;
        -ms-user-select: none;
            user-select: none;
}

.mx_MessageTimestamp_lateIcon {
    position: absolute;
    right: 100%;
    top: 50%;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
    color: inherit;
}

/*
Copyright 2024 New Vector Ltd.
Copyright 2019 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_MjolnirBody {
    opacity: 0.4;
}

/*
 * Copyright 2024 New Vector Ltd.
 *
 * SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
 * Please see LICENSE files in the repository root for full details.
 */

.mx_PinnedMessageBadge {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: var(--cpd-space-1x);

    padding: var(--cpd-space-1x) var(--cpd-space-3x) var(--cpd-space-1x) var(--cpd-space-1x);
    font: var(--cpd-font-body-xs-medium);
    background-color: var(--cpd-color-alpha-gray-200);
    color: var(--cpd-color-text-secondary);

    border-radius: 99px;
    border: 1px solid var(--cpd-color-alpha-gray-400);
}

.mx_PinnedMessageBadge svg {
        fill: var(--cpd-color-icon-secondary);
    }

/*
Copyright 2019-2024 New Vector Ltd.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_ReactionsRow {
    color: var(--cpd-color-text-primary);
}

.mx_ReactionsRow .mx_ReactionsRow_addReactionButton {
        position: relative;
        display: inline-block;
        visibility: hidden; /* show on hover of the .mx_EventTile */
        width: 24px;
        height: 24px;
        vertical-align: middle;
        margin-left: 4px;
        margin-right: 4px;
    }

.mx_ReactionsRow .mx_ReactionsRow_addReactionButton::before {
            content: "";
            position: absolute;
            height: 100%;
            width: 100%;
            -webkit-mask-size: 16px;
                    mask-size: 16px;
            -webkit-mask-repeat: no-repeat;
                    mask-repeat: no-repeat;
            -webkit-mask-position: center;
                    mask-position: center;
            background-color: #edf3ff;
            background-color: var(--tertiary-content, #edf3ff);
            -webkit-mask-image: url(../../img/element-icons/room/message-bar/emoji.27bdbc0.svg);
                    mask-image: url(../../img/element-icons/room/message-bar/emoji.27bdbc0.svg);
        }

.mx_ReactionsRow .mx_ReactionsRow_addReactionButton.mx_ReactionsRow_addReactionButton_active {
            visibility: visible; /* keep showing whilst the context menu is shown */
        }

.mx_ReactionsRow .mx_ReactionsRow_addReactionButton:hover::before, .mx_ReactionsRow .mx_ReactionsRow_addReactionButton.mx_ReactionsRow_addReactionButton_active::before {
                background-color: var(--timeline-text-color);
            }

.mx_EventTile:hover .mx_ReactionsRow_addReactionButton {
    visibility: visible;
}

.mx_ReactionsRow_showAll {
    color: #edf3ff;
    color: var(--tertiary-content, #edf3ff);
}

.mx_ReactionsRow_showAll.mx_AccessibleButton_kind_link_inline {
        font-size: 0.75rem;
        line-height: 1.25rem;
        -webkit-margin-start: 4px;
                margin-inline-start: 4px;
        vertical-align: middle;
    }

.mx_ReactionsRow_showAll.mx_AccessibleButton_kind_link_inline:hover {
            color: var(--timeline-text-color);
        }

/*
Copyright 2019-2024 New Vector Ltd.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_ReactionsRowButton {
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    line-height: 1.25rem;
    padding: 1px 6px;
    border: 1px solid var(--cpd-color-gray-400);
    border-radius: 10px;
    background-color: var(--cpd-color-gray-200);
    -webkit-user-select: none;
       -moz-user-select: none;
        -ms-user-select: none;
            user-select: none;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
}

.mx_ReactionsRowButton.mx_ReactionsRowButton_selected {
        background-color: var(--accent-color-300);
        border-color: var(--accent-color-800);
    }

.mx_ReactionsRowButton.mx_AccessibleButton_disabled {
        cursor: not-allowed;
    }

.mx_ReactionsRowButton .mx_ReactionsRowButton_content {
        max-width: 100px;
        overflow: hidden;
        white-space: nowrap;
        text-overflow: ellipsis;
        padding-right: 4px;
    }

/*
Copyright 2024 New Vector Ltd.
Copyright 2020 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_RedactedBody {
    white-space: pre-wrap;
    color: #edf3ff;
    color: var(--secondary-content, #edf3ff);
    vertical-align: middle;

    padding-left: 20px;
    position: relative;
}

.mx_RedactedBody::before {
        height: 14px;
        width: 14px;
        background-color: var(--icon-button-color, var(--cpd-color-icon-tertiary));
        -webkit-mask-image: url(../../icons/delete.eec6a48.svg);
                mask-image: url(../../icons/delete.eec6a48.svg);
        -webkit-mask-repeat: no-repeat;
                mask-repeat: no-repeat;
        -webkit-mask-position: center;
                mask-position: center;
        -webkit-mask-size: contain;
                mask-size: contain;
        content: "";
        position: absolute;
        top: 1px;
        left: 0;
    }

/*
Copyright 2024 New Vector Ltd.
Copyright 2017 Vector Creations Ltd

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_RoomAvatarEvent_avatar {
    display: inline;
    position: relative;
    top: 3px;
}

/*
Copyright 2024 New Vector Ltd.
Copyright 2015, 2016 OpenMarket Ltd

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_TextualEvent {
    overflow-y: hidden;
    line-height: normal;
}

.mx_TextualEvent a {
        color: #0dbd8b;
        color: var(--accent-color, #0dbd8b);
        cursor: pointer;
    }

.mx_RoomView_searchResultsPanel .mx_TextualEvent {
        opacity: 1;
        opacity: initial; /* Unset the opacity value specified above on the search results panel */
    }

/*
Copyright 2024 New Vector Ltd.
Copyright 2017 Vector Creations Ltd

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_TimelineSeparator {
    clear: both;
    margin: 4px 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    font: var(--cpd-font-body-md-regular);
    color: var(--cpd-color-text-primary);
}

.mx_TimelineSeparator > hr {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 0px;
            flex: 1 1 0;
    height: 0;
    border: none;
    border-bottom: 1px solid var(--cpd-color-gray-400);
}

/*
Copyright 2024 New Vector Ltd.
Copyright 2015, 2016 OpenMarket Ltd

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_UnknownBody {
    white-space: pre-wrap;
}

/*
Copyright 2024 New Vector Ltd.
Copyright 2019 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_EventTile_content.mx_ViewSourceEvent {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    opacity: 0.6;
    font-size: 0.75rem;
    width: 100%;
    overflow-x: auto; /* Cancel overflow setting of .mx_EventTile_content */
    line-height: normal; /* Align with avatar and E2E icon */
}

.mx_EventTile_content.mx_ViewSourceEvent pre,
    .mx_EventTile_content.mx_ViewSourceEvent code {
        -webkit-box-flex: 1;
            -ms-flex: 1;
                flex: 1;
    }

.mx_EventTile_content.mx_ViewSourceEvent pre {
        line-height: 1.2;
        margin: 3.5px 0;
    }

.mx_EventTile_content.mx_ViewSourceEvent .mx_ViewSourceEvent_toggle {
        --ViewSourceEvent_toggle-size: 16px;

        visibility: hidden;
        /* icon */
        width: 16px;
        width: var(--ViewSourceEvent_toggle-size);
        min-width: 16px;
        min-width: var(--ViewSourceEvent_toggle-size);
    }

.mx_EventTile_content.mx_ViewSourceEvent .mx_ViewSourceEvent_toggle svg {
            color: #0dbd8b;
            color: var(--accent-color, #0dbd8b);
            width: var(--ViewSourceEvent_toggle-size);
            height: var(--ViewSourceEvent_toggle-size);
        }

.mx_EventTile:hover .mx_EventTile_content.mx_ViewSourceEvent .mx_ViewSourceEvent_toggle {
            visibility: visible;
        }

.mx_EventTile_content.mx_ViewSourceEvent.mx_ViewSourceEvent_expanded .mx_ViewSourceEvent_toggle {
        -ms-flex-item-align: end;
            align-self: flex-end;
        height: var(--ViewSourceEvent_toggle-size);
    }

/*
Copyright 2024 New Vector Ltd.
Copyright 2019, 2020 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_EventTileBubble.mx_cryptoEvent {
    margin: var(--EventTileBubble_margin-block) auto;
}

/* white infill for the transparency */

.mx_EventTileBubble.mx_cryptoEvent.mx_cryptoEvent_icon::before {
        background-color: #ffffff;
        -webkit-mask-image: url(../../img/e2e/normal.ab42a7b.svg);
                mask-image: url(../../img/e2e/normal.ab42a7b.svg);
        -webkit-mask-repeat: no-repeat;
                mask-repeat: no-repeat;
        -webkit-mask-position: center;
                mask-position: center;
        -webkit-mask-size: 80%;
                mask-size: 80%;
    }

.mx_EventTileBubble.mx_cryptoEvent.mx_cryptoEvent_icon::after {
        -webkit-mask-image: url(../../img/e2e/normal.ab42a7b.svg);
                mask-image: url(../../img/e2e/normal.ab42a7b.svg);
        background-color: #a1b2d1;
    }

.mx_EventTileBubble.mx_cryptoEvent.mx_cryptoEvent_icon_verified::after {
        -webkit-mask-image: url(../../img/e2e/verified.2ccf64e.svg);
                mask-image: url(../../img/e2e/verified.2ccf64e.svg);
        background-color: #0dbd8b;
        background-color: var(--accent-color, #0dbd8b);
    }

.mx_EventTileBubble.mx_cryptoEvent.mx_cryptoEvent_icon_warning::after {
        -webkit-mask-image: url(../../img/e2e/warning.71ffc83.svg);
                mask-image: url(../../img/e2e/warning.71ffc83.svg);
        background-color: #ff5b55;
    }

.mx_EventTileBubble.mx_cryptoEvent .mx_cryptoEvent_state,
    .mx_EventTileBubble.mx_cryptoEvent .mx_cryptoEvent_buttons {
        grid-column: 3;
        grid-row: 1 / 3;
    }

.mx_EventTileBubble.mx_cryptoEvent .mx_cryptoEvent_buttons {
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        gap: 5px;
    }

.mx_EventTileBubble.mx_cryptoEvent .mx_cryptoEvent_state {
        width: 130px;
        padding: 10px 20px;
        margin: auto 0;
        text-align: center;
        color: #edf3ff;
        color: var(--tertiary-content, #edf3ff);
        overflow-wrap: break-word;
        font-size: 0.75rem;
    }

/*
Copyright 2024 New Vector Ltd.
Copyright 2023 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_PollHistory_content {
    height: 600px;
    width: 100%;

    display: -webkit-box;

    display: -ms-flexbox;

    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
}

.mx_PollHistory_header.mx_Heading_h2 {
    margin-bottom: 16px;
}

/*
Copyright 2024 New Vector Ltd.
Copyright 2023 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_PollHistoryList {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-flex: 1;
        -ms-flex: 1 1 auto;
            flex: 1 1 auto;
    max-height: 100%;
}

.mx_PollHistoryList_list {
    overflow: auto;
    list-style: none;
    margin-block: 0;
    padding-inline: 0;
    -webkit-box-flex: 1;
        -ms-flex: 1 1 0px;
            flex: 1 1 0;
    -ms-flex-line-pack: start;
        align-content: flex-start;
    display: grid;
    grid-gap: 20px;
    padding-right: 64px;
    margin: 32px 0;
}

.mx_PollHistoryList_list.mx_PollHistoryList_list_ENDED {
        grid-gap: 32px;
    }

.mx_PollHistoryList_noResults {
    height: 100%;
    width: 100%;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    padding: 0 64px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    text-align: center;

    line-height: 1.5rem;
    color: #edf3ff;
    color: var(--secondary-content, #edf3ff);
}

.mx_PollHistoryList_noResults .mx_PollHistoryList_loadMorePolls {
        margin-top: 16px;
    }

.mx_PollHistoryList_loading {
    color: #edf3ff;
    color: var(--secondary-content, #edf3ff);
    text-align: center;

    /* center in all free space*/
}

/* when there are no results*/

.mx_PollHistoryList_loading.mx_PollHistoryList_noResultsYet {
        margin: auto auto;
    }

.mx_PollHistoryList_loadMorePolls {
    width: -webkit-max-content;
    width: -moz-max-content;
    width: max-content;
}

/*
Copyright 2024 New Vector Ltd.
Copyright 2020 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_BaseCard {
    --BaseCard_EventTile_line-padding-block: 2px;
    --BaseCard_EventTile-spacing-inline: 36px;
    --BaseCard_header-button-size: 28px;

    overflow: hidden;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    font-size: var(--cpd-font-size-body-md);
}

.mx_BaseCard .mx_BaseCard_header {
        height: 64px;
        padding: var(--cpd-space-4x);
        -webkit-box-sizing: border-box;
                box-sizing: border-box;
        /* changing the color from $separator to transparent as it is
           the best visual output during the transition period. This will be
           reintroduced at a later stage. */
        border-bottom: 1px solid transparent;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        -webkit-box-pack: justify;
            -ms-flex-pack: justify;
                justify-content: space-between;
        gap: var(--cpd-space-3x);
        -ms-flex-negative: 0;
            flex-shrink: 0;
        -webkit-border-after: var(--cpd-border-width-1) solid var(--cpd-color-gray-400);
                border-block-end: var(--cpd-border-width-1) solid var(--cpd-color-gray-400);
    }

.mx_BaseCard .mx_BaseCard_header .mx_BaseCard_header_spacer {
            -webkit-box-flex: 1;
                -ms-flex: 1;
                    flex: 1;
        }

.mx_BaseCard .mx_BaseCard_header > h2 {
            margin: 0 44px;
            font: var(--cpd-font-body-sm-semibold);
            overflow: hidden;
            text-overflow: ellipsis;
            white-space: nowrap;
        }

.mx_BaseCard .mx_BaseCard_header .mx_BaseCard_header_title {
            display: -webkit-box;
            display: -ms-flexbox;
            display: flex;
            -webkit-box-align: center;
                -ms-flex-align: center;
                    align-items: center;
            -webkit-box-pack: justify;
                -ms-flex-pack: justify;
                    justify-content: space-between;
            height: 24px;
            -webkit-box-flex: 1;
                -ms-flex: 1;
                    flex: 1;
        }

.mx_BaseCard .mx_BaseCard_header .mx_BaseCard_header_title .mx_BaseCard_header_title_heading {
                overflow: hidden;
                white-space: nowrap;
                text-overflow: ellipsis;
                font: var(--cpd-font-body-md-medium);
                color: var(--cpd-color-text-secondary);
            }

.mx_BaseCard .mx_BaseCard_header .mx_BaseCard_header_title .mx_BaseCard_header_title_button--option {
                position: relative;
                width: var(--BaseCard_header-button-size);
                height: var(--BaseCard_header-button-size);
            }

.mx_BaseCard .mx_BaseCard_header .mx_BaseCard_header_title .mx_BaseCard_header_title_button--option::after {
                    content: "";
                    position: absolute;
                    inset-block-start: 0;
                    inset-inline-start: 0;
                    height: 100%;
                    width: 100%;
                    -webkit-mask-repeat: no-repeat;
                            mask-repeat: no-repeat;
                    -webkit-mask-position: center;
                            mask-position: center;
                    -webkit-mask-image: url(../../icons/overflow-horizontal.103407e.svg);
                            mask-image: url(../../icons/overflow-horizontal.103407e.svg);
                    background-color: #edf3ff;
                    background-color: var(--secondary-content, #edf3ff);
                }

.mx_BaseCard .mx_BaseCard_header .mx_BaseCard_header_title .mx_BaseCard_header_title_button--option:hover::after {
                    background-color: var(--timeline-text-color);
                }

.mx_BaseCard .mx_AutoHideScrollbar {
        min-height: 0;
        width: 100%;
        height: 100%;
        scrollbar-gutter: stable;
    }

.mx_BaseCard .mx_BaseCard_footer {
        padding-top: 4px;
        text-align: center;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-pack: distribute;
            justify-content: space-around;
    }

.mx_BaseCard .mx_BaseCard_footer .mx_AccessibleButton_kind_secondary {
            color: #edf3ff;
            color: var(--secondary-content, #edf3ff);
            background-color: rgba(141, 151, 165, 0.2);
            font: var(--cpd-font-body-md-semibold);
        }

.mx_BaseCard .mx_BaseCard_footer .mx_AccessibleButton_disabled {
            cursor: not-allowed;
        }

.mx_ContextualMenu_wrapper.mx_BaseCard_header_title .mx_ContextualMenu {
        position: static;
        position: initial;
    }

.mx_ContextualMenu_wrapper.mx_BaseCard_header_title .mx_ContextualMenu span:first-of-type {
            font-weight: var(--cpd-font-weight-semibold);
            font-size: inherit;
            color: var(--timeline-text-color);
        }

.mx_ContextualMenu_wrapper.mx_BaseCard_header_title .mx_ContextualMenu {

        font: var(--cpd-font-body-sm-regular);
        color: var(--timeline-text-color);
        padding-top: 10px;
        padding-bottom: 10px;

        border: var(--cpd-border-width-1) solid var(--cpd-color-border-interactive-secondary);
        -webkit-box-shadow: 0px 4px 24px rgba(0, 0, 0, 0.1);
                box-shadow: 0px 4px 24px rgba(0, 0, 0, 0.1);
}

.mx_ContextualMenu_wrapper.mx_BaseCard_header_title .mx_ContextualMenu_chevron_top {
        left: auto;
        right: 22px;
        border-bottom-color: var(--cpd-color-border-interactive-secondary);
    }

.mx_ContextualMenu_wrapper.mx_BaseCard_header_title .mx_ContextualMenu_chevron_top::after {
            content: "";
            border: inherit;
            border-bottom-color: var(--cpd-color-bg-canvas-default);
            position: absolute;
            top: 1px;
            left: -8px;
        }

/*
Copyright 2024 New Vector Ltd.
Copyright 2024 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_EmptyState {
    height: 100%;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    padding: var(--cpd-space-4x);
    text-align: center;
}

.mx_EmptyState svg {
        width: 56px;
        height: 56px;
        -webkit-box-sizing: border-box;
                box-sizing: border-box;
        border-radius: 8px;
        padding: var(--cpd-space-3x);
        background-color: var(--roomlist-highlights-color);
    }

.mx_EmptyState::before {
        /* Bloom using magic numbers directly out of Figma */
        content: "";
        position: absolute;
        z-index: -1;
        width: 642px;
        height: 775px;
        right: -253.77px;
        top: 0;
        background: radial-gradient(49.95% 49.95% at 50% 50%, rgba(13, 189, 139, 0.12) 0%, rgba(18, 115, 235, 0) 100%);
        -webkit-transform: rotate(-89.69deg);
                transform: rotate(-89.69deg);
        overflow: hidden;
    }

/*
Copyright 2024 New Vector Ltd.
Copyright 2020 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_EncryptionInfo_spinner .mx_Spinner {
        margin-top: 25px;
        margin-bottom: 15px;
    }

.mx_EncryptionInfo_spinner {

    text-align: center;
}

/*
Copyright 2024 New Vector Ltd.
Copyright 2024 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_ExtensionsCard {
    --cpd-separator-inset: var(--cpd-space-4x);
    --cpd-separator-spacing: var(--cpd-space-4x);
}

.mx_ExtensionsCard .mx_AutoHideScrollbar {
        padding: 0 var(--cpd-space-4x);
        margin-top: var(--cpd-space-3x);
        -webkit-box-sizing: border-box;
                box-sizing: border-box;
    }

/* Styling for the "Add extensions" button */

.mx_ExtensionsCard .mx_AutoHideScrollbar > button {
            width: 100%;
        }

.mx_ExtensionsCard .mx_ExtensionsCard_container {
        text-align: center;
        margin: 20px var(--cpd-space-4x) 0;
    }

.mx_ExtensionsCard .mx_ExtensionsCard_Button {
        /* this button is special so we have to override some of the original styling */
        /* as we will be applying it in its children */
        padding: 0;
        height: auto;
        color: #edf3ff;
        color: var(--tertiary-content, #edf3ff);
        position: relative;
    }

.mx_ExtensionsCard .mx_ExtensionsCard_Button .mx_WidgetAvatar {
            -ms-flex-negative: 0;
                flex-shrink: 0;
        }

.mx_ExtensionsCard .mx_ExtensionsCard_Button .mx_ExtensionsCard_icon_app {
            padding: var(--cpd-space-2x) var(--cpd-space-12x) var(--cpd-space-2x) var(--cpd-space-3x);
            text-overflow: ellipsis;
            overflow: hidden;
            display: -webkit-box;
            display: -ms-flexbox;
            display: flex;
            -webkit-box-align: center;
                -ms-flex-align: center;
                    align-items: center;
        }

.mx_ExtensionsCard .mx_ExtensionsCard_Button .mx_ExtensionsCard_icon_app p {
                margin: 0 var(--cpd-space-3x);
                color: var(--timeline-text-color);
            }

.mx_ExtensionsCard .mx_ExtensionsCard_Button .mx_ExtensionsCard_app_pinToggle,
        .mx_ExtensionsCard .mx_ExtensionsCard_Button .mx_ExtensionsCard_app_options {
            position: absolute;
            top: 0;
            height: 100%; /* to give bigger interactive zone */
            width: 24px;
            padding: var(--cpd-space-3x) var(--cpd-space-1x);
            -webkit-box-sizing: border-box;
                    box-sizing: border-box;
            min-width: 24px; /* prevent flexbox crushing */
        }

.mx_ExtensionsCard .mx_ExtensionsCard_Button .mx_ExtensionsCard_app_pinToggle:hover::after, .mx_ExtensionsCard .mx_ExtensionsCard_Button .mx_ExtensionsCard_app_options:hover::after {
                    content: "";
                    position: absolute;
                    height: 24px;
                    width: 24px;
                    top: var(--cpd-space-2x); /* equal to padding-top of parent */
                    left: 0;
                    border-radius: 12px;
                    background-color: rgba(141, 151, 165, 0.1);
                }

.mx_ExtensionsCard .mx_ExtensionsCard_Button .mx_ExtensionsCard_app_pinToggle::before, .mx_ExtensionsCard .mx_ExtensionsCard_Button .mx_ExtensionsCard_app_options::before {
                content: "";
                position: absolute;
                height: 16px;
                width: 16px;
                -webkit-mask-repeat: no-repeat;
                        mask-repeat: no-repeat;
                -webkit-mask-position: center;
                        mask-position: center;
                -webkit-mask-size: 16px;
                        mask-size: 16px;
                background-color: var(--icon-button-color, var(--cpd-color-icon-tertiary));
            }

.mx_ExtensionsCard .mx_ExtensionsCard_Button .mx_ExtensionsCard_app_pinToggle {
            right: 8px;
        }

.mx_ExtensionsCard .mx_ExtensionsCard_Button .mx_ExtensionsCard_app_pinToggle::before {
                -webkit-mask-image: url(../../img/element-icons/room/pin-upright.340b3b6.svg);
                        mask-image: url(../../img/element-icons/room/pin-upright.340b3b6.svg);
            }

.mx_ExtensionsCard .mx_ExtensionsCard_Button .mx_ExtensionsCard_app_options {
            right: 32px;
        }

/* 24 + 8 */

.mx_ExtensionsCard .mx_ExtensionsCard_Button .mx_ExtensionsCard_app_options::before {
                -webkit-mask-image: url(../../icons/overflow-horizontal.103407e.svg);
                        mask-image: url(../../icons/overflow-horizontal.103407e.svg);
            }

.mx_ExtensionsCard .mx_ExtensionsCard_Button.mx_ExtensionsCard_Button_pinned::after {
                opacity: 0.2;
            }

.mx_ExtensionsCard .mx_ExtensionsCard_Button.mx_ExtensionsCard_Button_pinned .mx_ExtensionsCard_app_pinToggle::before {
                background-color: #0dbd8b;
                background-color: var(--accent-color, #0dbd8b);
            }

.mx_ExtensionsCard .mx_ExtensionsCard_Button::before {
            content: normal;
            content: initial;
        }

.mx_ExtensionsCard .mx_ExtensionsCard_Button::after {
            top: var(--cpd-space-2x); /* re-align based on the height change */
            pointer-events: none; /* pass through to the real button */
        }

/* Set layout for everyone button */

.mx_ExtensionsCard a[data-kind="primary"] {
        margin-top: var(--cpd-space-10x);
    }

.mx_ExtensionsCard .mx_EmptyState::before {
        /* Overlap the Add extensions button */
        top: -76px;
    }

/*
Copyright 2024 New Vector Ltd.
Copyright 2021 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_PinnedMessagesCard {
    --unpin-height: 76px;
}

.mx_PinnedMessagesCard .mx_PinnedMessagesCard_wrapper {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column;
        padding: var(--cpd-space-4x);
        gap: var(--cpd-space-6x);
        overflow-y: auto;
    }

.mx_PinnedMessagesCard .mx_PinnedMessagesCard_wrapper .mx_PinnedMessagesCard_Separator {
            min-height: 1px;
            /* Override default compound value */
            margin-block: 0;
        }

.mx_PinnedMessagesCard .mx_PinnedMessagesCard_wrapper_unpin_all {
        /* Remove the unpin all button height and the top and bottom padding  */
        height: calc(100% - var(--unpin-height) - calc(var(--cpd-space-4x) * 2));
    }

.mx_PinnedMessagesCard .mx_PinnedMessagesCard_unpin {
        /* Make it float at the bottom of the unpin panel */
        position: absolute;
        bottom: 0;
        width: 100%;
        height: var(--unpin-height);
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: center;
            -ms-flex-pack: center;
                justify-content: center;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        -webkit-box-shadow: 0 4px 24px 0 rgba(27, 29, 34, 0.1);
                box-shadow: 0 4px 24px 0 rgba(27, 29, 34, 0.1);
        background: var(--cpd-color-bg-canvas-default);
    }

.mx_PinnedMessagesCard .mx_EventTile_body {
        word-break: break-word;
    }

/*
Copyright 2024 New Vector Ltd.
Copyright 2020 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_RoomSummaryCard {
    --cpd-separator-inset: var(--cpd-space-4x);
    --cpd-separator-spacing: var(--cpd-space-4x);
}

.mx_RoomSummaryCard .mx_RoomSummaryCard_container {
        text-align: center;
        margin: 20px var(--cpd-space-4x) 0;
    }

.mx_RoomSummaryCard .mx_RoomSummaryCard_roomName,
    .mx_RoomSummaryCard .mx_RoomSummaryCard_alias {
        display: -webkit-box;
        -webkit-line-clamp: 2;
        -webkit-box-orient: vertical;
        white-space: pre-wrap;
        overflow: hidden;
    }

.mx_RoomSummaryCard .mx_RoomSummaryCard_alias {
        text-overflow: ellipsis;
    }

.mx_RoomSummaryCard .mx_RoomSummaryCard_topic {
        padding: 0 12px;
        color: var(--cpd-color-text-secondary);
    }

.mx_RoomSummaryCard .mx_RoomSummaryCard_topic .mx_Box {
            width: 100%;
        }

.mx_RoomSummaryCard .mx_RoomSummaryCard_topic .mx_RoomSummaryCard_topic_container {
            text-align: start;
            display: -webkit-box;
            display: -ms-flexbox;
            display: flex;
        }

.mx_RoomSummaryCard .mx_RoomSummaryCard_topic .mx_RoomSummaryCard_topic_edit {
            width: -webkit-max-content;
            width: -moz-max-content;
            width: max-content;
        }

.mx_RoomSummaryCard .mx_RoomSummaryCard_topic p {
            white-space: pre-wrap;
            width: 100%;
            min-width: 0;
            margin: 0;
        }

.mx_RoomSummaryCard .mx_RoomSummaryCard_topic a {
            cursor: pointer;
        }

.mx_RoomSummaryCard .mx_RoomSummaryCard_topic .mx_RoomSummaryCard_topic_chevron {
            -webkit-transition: -webkit-transform 0.3s;
            transition: -webkit-transform 0.3s;
            transition: transform 0.3s;
            transition: transform 0.3s, -webkit-transform 0.3s;
        }

.mx_RoomSummaryCard .mx_RoomSummaryCard_topic.mx_RoomSummaryCard_topic_collapsed p {
                overflow: hidden;
                text-overflow: ellipsis;
                white-space: normal;
                display: -webkit-box;
                -webkit-box-orient: vertical;
                -webkit-line-clamp: 2;
            }

.mx_RoomSummaryCard .mx_RoomSummaryCard_topic.mx_RoomSummaryCard_topic_collapsed .mx_RoomSummaryCard_topic_chevron {
                -webkit-transform: rotate(-90deg);
                        transform: rotate(-90deg);
            }

.mx_RoomSummaryCard .mx_AccessibleButton_kind_link {
        margin-top: 12px;
        margin-bottom: 12px;
        font-size: 0.8125rem;
        font-weight: var(--cpd-font-weight-semibold);
    }

.mx_RoomSummaryCard_badges {
    margin: var(--cpd-space-4x) 0;
}

.mx_RoomSummaryCard_search {
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    min-width: 0;
}

.mx_RoomSummaryCard_search input[type="search"]::-webkit-search-cancel-button {
        display: inline;
        display: initial; /* override _common.pcss which inhibits this */
    }

.mx_RoomSummaryCard_roomName {
    margin: 12px 0 4px;
}

/*
Copyright 2024 New Vector Ltd.
Copyright 2021-2024 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_ThreadPanel {
    height: 100px;
    overflow: visible;
}

/* Unset flex on the thread list, but not the thread view */

.mx_ThreadPanel:not(.mx_ThreadView) .mx_BaseCard_header .mx_BaseCard_header_title {
        -webkit-box-flex: initial;
            -ms-flex: initial;
                flex: initial;
    }

.mx_ThreadPanel .mx_BaseCard_header .mx_BaseCard_header_title .mx_AccessibleButton {
                font-size: 12px;
                color: #edf3ff;
                color: var(--secondary-content, #edf3ff);
            }

.mx_ThreadPanel .mx_BaseCard_header .mx_BaseCard_header_title .mx_ThreadPanel_vertical_separator {
                height: 16px;
                margin-left: var(--cpd-space-3x);
                margin-right: var(--cpd-space-1x);
                border-left: 1px solid var(--cpd-color-gray-400);
            }

.mx_ThreadPanel .mx_BaseCard_header .mx_BaseCard_header_title .mx_ThreadPanel_dropdown {
                padding: 3px 4px 3px 8px;
                border-radius: 4px;
                line-height: 1.5;
                -webkit-user-select: none;
                   -moz-user-select: none;
                    -ms-user-select: none;
                        user-select: none;
            }

.mx_ThreadPanel .mx_BaseCard_header .mx_BaseCard_header_title .mx_ThreadPanel_dropdown:hover,
                .mx_ThreadPanel .mx_BaseCard_header .mx_BaseCard_header_title .mx_ThreadPanel_dropdown[aria-expanded="true"] {
                    background: #6f7882;
                    background: var(--quinary-content, #6f7882);
                }

.mx_ThreadPanel .mx_BaseCard_header .mx_BaseCard_header_title .mx_ThreadPanel_dropdown::before {
                    content: "";
                    width: 18px;
                    height: 18px;
                    background: currentColor;
                    -webkit-mask-image: url(../../icons/chevron-down.3774773.svg);
                            mask-image: url(../../icons/chevron-down.3774773.svg);
                    -webkit-mask-size: 100%;
                            mask-size: 100%;
                    -webkit-mask-repeat: no-repeat;
                            mask-repeat: no-repeat;
                    float: right;
                }

.mx_ThreadPanel .mx_AutoHideScrollbar,
    .mx_ThreadPanel .mx_RoomView_messagePanelSpinner {
        background-color: var(--timeline-background-color);
        border-radius: 8px;
        -webkit-padding-end: 0;
                padding-inline-end: 0;
        overflow-y: scroll; /* set gap between the thread tile and the right border */
        height: 100%;
    }

.mx_ThreadPanel .mx_EventTile[data-layout="group"] .mx_MessageActionBar {
            right: 0;
            top: -36px; /* 2px above EventTile */
            z-index: 10; /* See _EventTile.pcss */
        }

/* For style rules of EventTile in a thread, see _EventTile.pcss */

.mx_ThreadPanel.mx_ThreadView {
        max-height: 100%;
    }

.mx_ThreadPanel.mx_ThreadView .mx_ThreadView_timelinePanelWrapper {
            position: relative;
            min-height: 0; /* don't displace the composer */
            -webkit-box-flex: 1;
                -ms-flex-positive: 1;
                    flex-grow: 1;
        }

.mx_ThreadPanel.mx_ThreadView .mx_ThreadView_timelinePanelWrapper .mx_FileDropTarget {
                border-radius: 8px;
            }

.mx_ThreadPanel.mx_ThreadView .mx_MessageComposer_sendMessage {
            margin-right: 0;
        }

/* Make use of the space above the composer buttons too*/

.mx_ThreadPanel.mx_ThreadView .mx_Autocomplete {
            width: calc(100% + 140px);
        }

.mx_ThreadPanel.mx_ThreadView.mx_ThreadView_narrow .mx_Autocomplete {
            width: calc(100% + 108px);
        }

.mx_ThreadPanel .mx_RoomView_messagePanel.mx_RoomView_messageListWrapper {
            position: static;
            position: initial;
        }

.mx_ThreadPanel .mx_RoomView_messagePanel .mx_RoomView_messageListWrapper {
            width: calc(100% + 6px); /* 8px - 2px */
        }

.mx_ThreadPanel .mx_RoomView_messagePanel .mx_RoomView_empty {
            display: contents;
        }

.mx_ThreadPanel .mx_RoomView_MessageList {
        -webkit-padding-start: 8px;
                padding-inline-start: 8px;
        -webkit-padding-end: 8px;
                padding-inline-end: 8px;
        content-visibility: visible;
    }

.mx_ThreadPanel .mx_EventTile,
    .mx_ThreadPanel .mx_GenericEventListSummary {
        /* Account for scrollbar when hovering */
        padding-top: 0;
    }

.mx_ThreadPanel .mx_EventTile .mx_TimelineSeparator, .mx_ThreadPanel .mx_GenericEventListSummary .mx_TimelineSeparator {
            display: none;
        }

.mx_ThreadPanel .mx_EventTile.mx_EventTile_clamp:hover, .mx_ThreadPanel .mx_GenericEventListSummary.mx_EventTile_clamp:hover {
            cursor: pointer;
        }

.mx_ThreadPanel .mx_MessageComposer {
        background-color: var(--timeline-background-color);
        border-radius: 8px;
        margin-top: 8px;
        padding: 0 8px;
        -webkit-box-sizing: border-box;
                box-sizing: border-box;
    }

.mx_ThreadPanel .mx_MessageTimestamp {
        color: #edf3ff;
        color: var(--secondary-content, #edf3ff);
    }

.mx_ThreadPanel .mx_BaseCard_footer {
        text-align: left;
        font-size: 0.75rem;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        -webkit-box-pack: end;
            -ms-flex-pack: end;
                justify-content: flex-end;
        gap: 4px;
        position: relative;
        top: 2px;
        padding-right: 8px;
    }

.mx_ThreadPanel .mx_BaseCard_footer .mx_AccessibleButton_kind_link_inline {
            color: #edf3ff;
            color: var(--secondary-content, #edf3ff);
        }

.mx_ThreadPanel_viewInRoom::before {
    -webkit-mask-image: url(../../img/element-icons/view-in-room.afeddb7.svg);
            mask-image: url(../../img/element-icons/view-in-room.afeddb7.svg);
}

.mx_ThreadPanel_copyLinkToThread::before {
    -webkit-mask-image: url(../../icons/link.1336d8f.svg);
            mask-image: url(../../icons/link.1336d8f.svg);
}

.mx_ContextualMenu_wrapper .mx_ThreadPanel_Header_FilterOptionItem {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-flex: 1;
            -ms-flex-positive: 1;
                flex-grow: 1;
        -webkit-box-pack: justify;
            -ms-flex-pack: justify;
                justify-content: space-between;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column;
        padding: 10px 20px 10px 30px;
        position: relative;
    }

.mx_ContextualMenu_wrapper .mx_ThreadPanel_Header_FilterOptionItem:hover {
            background-color: var(--timeline-highlights-color);
        }

.mx_ContextualMenu_wrapper .mx_ThreadPanel_Header_FilterOptionItem[aria-checked="true"] :first-child {
                margin-left: -20px;
            }

.mx_ContextualMenu_wrapper .mx_ThreadPanel_Header_FilterOptionItem[aria-checked="true"] :first-child::before {
                content: "";
                width: 12px;
                height: 12px;
                margin-right: 8px;
                -webkit-mask-image: url(../../icons/check.3fc654f.svg);
                        mask-image: url(../../icons/check.3fc654f.svg);
                -webkit-mask-size: 100%;
                        mask-size: 100%;
                -webkit-mask-repeat: no-repeat;
                        mask-repeat: no-repeat;
                background-color: var(--timeline-text-color);
                display: inline-block;
                vertical-align: middle;
            }

.mx_ContextualMenu_wrapper .mx_ThreadPanel_Header_FilterOptionItem :last-child {
            color: #edf3ff;
            color: var(--secondary-content, #edf3ff);
        }

/*
Copyright 2024 New Vector Ltd.
Copyright 2021, 2022 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_TimelineCard .mx_TimelineCard_timeline {
        overflow: hidden;
        position: relative; /* offset parent for jump to bottom button */
        -webkit-box-flex: 1;
            -ms-flex: 1;
                flex: 1;
        border-radius: 8px;
    }

.mx_TimelineCard .mx_NewRoomIntro {
        -webkit-margin-start: var(--BaseCard_EventTile-spacing-inline);
                margin-inline-start: var(--BaseCard_EventTile-spacing-inline);
        -webkit-margin-end: var(--BaseCard_EventTile-spacing-inline);
                margin-inline-end: var(--BaseCard_EventTile-spacing-inline);
    }

.mx_TimelineCard .mx_EventTile_content {
        margin-right: 0;
    }

.mx_TimelineCard .mx_EventTile .mx_ThreadSummary {
            position: relative;
            padding-right: 11px;
        }

.mx_TimelineCard .mx_EventTile .mx_ThreadSummary::after {
                content: "";
                display: block;
                position: absolute;
                left: 0;
                bottom: -16px;
                height: 1px;
                width: 100%;
                border-bottom: 1px solid #616b7f;
            }

.mx_TimelineCard .mx_EventTile[data-layout="irc"],
        .mx_TimelineCard .mx_EventTile[data-layout="group"] {
            --TimelineCard_ReadReceiptGroup-inset-block-start: -6px;
        }

.mx_TimelineCard .mx_EventTile[data-layout="irc"].mx_EventTile_info .mx_EventTile_line,
            .mx_TimelineCard .mx_EventTile[data-layout="irc"] .mx_EventTile_line,
            .mx_TimelineCard .mx_EventTile[data-layout="group"].mx_EventTile_info .mx_EventTile_line,
            .mx_TimelineCard .mx_EventTile[data-layout="group"] .mx_EventTile_line {
                padding: var(--BaseCard_EventTile_line-padding-block) var(--BaseCard_EventTile-spacing-inline);
                -webkit-padding-end: 46px;
                        padding-inline-end: 46px;
                -webkit-padding-end: var(--MessageTimestamp-width);
                        padding-inline-end: var(--MessageTimestamp-width); /* ensure timestamp is not hidden */
            }

.mx_TimelineCard .mx_EventTile[data-layout="irc"].mx_EventTile_info .mx_EventTile_line .mx_EventTile_e2eIcon, .mx_TimelineCard .mx_EventTile[data-layout="irc"] .mx_EventTile_line .mx_EventTile_e2eIcon, .mx_TimelineCard .mx_EventTile[data-layout="group"].mx_EventTile_info .mx_EventTile_line .mx_EventTile_e2eIcon, .mx_TimelineCard .mx_EventTile[data-layout="group"] .mx_EventTile_line .mx_EventTile_e2eIcon {
                    inset-inline-start: 8px;
                }

.mx_TimelineCard .mx_EventTile[data-layout="irc"].mx_EventTile_info, .mx_TimelineCard .mx_EventTile[data-layout="group"].mx_EventTile_info {

                /* Info events should have the same size as state events, those
                 * are usually wrapped in a generic event list summary */
            }

.mx_TimelineCard .mx_EventTile[data-layout="irc"].mx_EventTile_info .mx_EventTile_avatar, .mx_TimelineCard .mx_EventTile[data-layout="group"].mx_EventTile_info .mx_EventTile_avatar {
                    inset-inline-start: 18px;
                }

.mx_TimelineCard .mx_EventTile[data-layout="irc"].mx_EventTile_info, .mx_TimelineCard .mx_EventTile[data-layout="group"].mx_EventTile_info {
                font: var(--cpd-font-body-sm-regular);
}

.mx_TimelineCard .mx_EventTile[data-layout="irc"] .mx_EventTile_avatar, .mx_TimelineCard .mx_EventTile[data-layout="group"] .mx_EventTile_avatar {
                inset-inline-start: -3px;
            }

.mx_TimelineCard .mx_EventTile[data-layout="irc"] .mx_EventTile_msgOption, .mx_TimelineCard .mx_EventTile[data-layout="group"] .mx_EventTile_msgOption {
                -webkit-margin-end: 0;
                        margin-inline-end: 0;
            }

.mx_TimelineCard .mx_EventTile[data-layout="irc"] .mx_EventTile_msgOption .mx_ReadReceiptGroup, .mx_TimelineCard .mx_EventTile[data-layout="group"] .mx_EventTile_msgOption .mx_ReadReceiptGroup {
                    top: var(--TimelineCard_ReadReceiptGroup-inset-block-start);
                }

.mx_TimelineCard .mx_EventTile[data-layout="irc"] .mx_DisambiguatedProfile,
            .mx_TimelineCard .mx_EventTile[data-layout="irc"] .mx_ReactionsRow,
            .mx_TimelineCard .mx_EventTile[data-layout="irc"] .mx_ThreadSummary,
            .mx_TimelineCard .mx_EventTile[data-layout="group"] .mx_DisambiguatedProfile,
            .mx_TimelineCard .mx_EventTile[data-layout="group"] .mx_ReactionsRow,
            .mx_TimelineCard .mx_EventTile[data-layout="group"] .mx_ThreadSummary {
                -webkit-margin-start: var(--BaseCard_EventTile-spacing-inline);
                        margin-inline-start: var(--BaseCard_EventTile-spacing-inline);
            }

.mx_TimelineCard .mx_EventTile[data-layout="irc"] .mx_DisambiguatedProfile, .mx_TimelineCard .mx_EventTile[data-layout="group"] .mx_DisambiguatedProfile {
                max-width: calc(100% - var(--BaseCard_EventTile-spacing-inline)); /* instead of $left-gutter */
            }

.mx_TimelineCard .mx_EventTile[data-layout="irc"] .mx_ReplyTile .mx_DisambiguatedProfile, .mx_TimelineCard .mx_EventTile[data-layout="group"] .mx_ReplyTile .mx_DisambiguatedProfile {
                -webkit-margin-start: 0;
                        margin-inline-start: 0;
                max-width: none;
                max-width: initial;
            }

.mx_TimelineCard .mx_EventTile[data-layout="irc"] .mx_MessageTimestamp, .mx_TimelineCard .mx_EventTile[data-layout="group"] .mx_MessageTimestamp {
                inset-inline: auto 0;
                font-size: 0.75rem;
            }

.mx_TimelineCard .mx_EventTile[data-layout="irc"] .mx_ReactionsRow, .mx_TimelineCard .mx_EventTile[data-layout="group"] .mx_ReactionsRow {
                /* See: var(--ThreadView_group_spacing-end) for ReactionsRow on _EventTile.pcss */
                -webkit-margin-end: 8px;
                        margin-inline-end: 8px;
            }

.mx_TimelineCard .mx_EventTile[data-layout="irc"] .mx_ThreadSummary, .mx_TimelineCard .mx_EventTile[data-layout="group"] .mx_ThreadSummary {
                -webkit-margin-end: 0;
                        margin-inline-end: 0;
                max-width: min(calc(100% - 36px), 600px);
            }

.mx_TimelineCard .mx_EventTile[data-layout="irc"] .mx_EventTile_avatar,
            .mx_TimelineCard .mx_EventTile[data-layout="irc"] .mx_MessageTimestamp {
                position: absolute;
            }

.mx_TimelineCard .mx_EventTile[data-layout="group"] {
            /* Read receipt group on compact modern layout */
            /* This is required because mx_TimelineCard is a child element wrapped by mx_MatrixChat_useCompactLayout, */
        }

/* which specifies the default position of mx_ReadReceiptGroup on compact modern layout. */

.mx_MatrixChat_useCompactLayout .mx_TimelineCard .mx_EventTile[data-layout="group"] .mx_ReadReceiptGroup {
                top: var(--TimelineCard_ReadReceiptGroup-inset-block-start);
            }

.mx_TimelineCard .mx_EventTile[data-layout="bubble"]::before {
                z-index: auto; /* enable background color on hover */
            }

.mx_TimelineCard .mx_EventTile[data-layout="bubble"].mx_EventTile_info .mx_MessageActionBar {
                /* 1px: border width */
                inset-inline-end: calc(8px + 1px);
                inset-inline-end: calc(var(--container-gap-width) + 1px);
            }

.mx_TimelineCard .mx_EventTile[data-layout="bubble"] .mx_ReactionsRow {
                position: relative; /* display on hover */
            }

.mx_TimelineCard .mx_LegacyCallEvent_wrapper {
        -webkit-box-pack: center;
            -ms-flex-pack: center;
                justify-content: center;
        margin: auto 5px;
    }

.mx_TimelineCard .mx_LegacyCallEvent_wrapper .mx_LegacyCallEvent {
            margin: 4px;
        }

.mx_TimelineCard .mx_GenericEventListSummary[data-layout="irc"] .mx_EventTile_line,
            .mx_TimelineCard .mx_GenericEventListSummary[data-layout="irc"] .mx_GenericEventListSummary_unstyledList > .mx_EventTile_info .mx_EventTile_avatar ~ .mx_EventTile_line,
            .mx_TimelineCard .mx_GenericEventListSummary[data-layout="group"] .mx_EventTile_line,
            .mx_TimelineCard .mx_GenericEventListSummary[data-layout="group"] .mx_GenericEventListSummary_unstyledList > .mx_EventTile_info .mx_EventTile_avatar ~ .mx_EventTile_line {
                -webkit-padding-start: var(--BaseCard_EventTile-spacing-inline);
                        padding-inline-start: var(--BaseCard_EventTile-spacing-inline);
                -webkit-padding-end: 46px;
                        padding-inline-end: 46px;
                -webkit-padding-end: var(--MessageTimestamp-width);
                        padding-inline-end: var(--MessageTimestamp-width); /* ensure timestamp is not hidden */
            }

.mx_TimelineCard .mx_WhoIsTypingTile {
        margin-left: -12px; /* undo padding on the message list */
    }

.mx_TimelineCard .mx_WhoIsTypingTile_avatars {
        -ms-flex-preferred-size: 48px;
            flex-basis: 48px; /* 12 (padding on message list) + 36 (padding on event lines) */
    }

/* RR next to a message on the messsge list */

.mx_TimelineCard .mx_GenericEventListSummary_unstyledList .mx_EventTile[data-layout="bubble"] .mx_ReadReceiptGroup, .mx_TimelineCard .mx_RoomView_MessageList .mx_EventTile[data-layout="bubble"] .mx_ReadReceiptGroup {
                /* 6px: scroll bar width (magic number) */
                /* stylelint-disable-next-line declaration-colon-space-after */
                inset-inline-end: calc(
                    -1 * var(--ReadReceiptGroup_EventBubbleTile-spacing-end) + 8px + 6px
                );
                inset-inline-end: calc(
                    -1 * var(--ReadReceiptGroup_EventBubbleTile-spacing-end) + var(--container-gap-width) + 6px
                );
            }

.mx_TimelineCard .mx_GenericEventListSummary_unstyledList .mx_EventTile[data-layout="bubble"].mx_EventTile_info .mx_ReadReceiptGroup, .mx_TimelineCard .mx_RoomView_MessageList .mx_EventTile[data-layout="bubble"].mx_EventTile_info .mx_ReadReceiptGroup {
                    inset-inline-end: -4px; /* align with RR outside of info tile */
                }

/*
Copyright 2024 New Vector Ltd.
Copyright 2019 The Matrix.org Foundation C.I.C.
Copyright 2015, 2016 OpenMarket Ltd

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_UserInfo.mx_BaseCard {
    /* UserInfo has a circular image at the top so it fits between the back & close buttons */
    padding-top: 0;
    overflow-y: auto;
    font-size: var(--cpd-font-size-body-sm);
}

.mx_UserInfo.mx_BaseCard .mx_UserInfo_cancel {
        cursor: pointer;
        position: absolute;
        top: 0;
        border-radius: 4px;
        background-color: var(--roomlist-background-color);
        margin: 9px;
        z-index: 1; /* render on top of the right panel */
    }

.mx_UserInfo.mx_BaseCard .mx_UserInfo_cancel div {
            height: 16px;
            width: 16px;
            padding: 4px;
            -webkit-mask-image: url(../../icons/chevron-left.93219a6.svg);
                    mask-image: url(../../icons/chevron-left.93219a6.svg);
            -webkit-mask-repeat: no-repeat;
                    mask-repeat: no-repeat;
            -webkit-mask-position: center;
                    mask-position: center;
            background-color: #a1b2d1;
        }

.mx_UserInfo.mx_BaseCard .mx_UserInfo_container {
        padding: var(--cpd-space-4x) 0;
        margin: 0 var(--cpd-space-4x);
    }

.mx_UserInfo.mx_BaseCard .mx_UserInfo_container .mx_UserInfo_container_verifyButton {
            margin-top: 8px;
        }

.mx_UserInfo.mx_BaseCard .mx_UserInfo_container + .mx_UserInfo_container {
            border-top: 1px solid var(--cpd-color-gray-400);
        }

.mx_UserInfo.mx_BaseCard .mx_UserInfo_memberDetailsContainer {
        padding-top: 0;
        padding-bottom: 0;
        margin-bottom: 8px;
    }

.mx_UserInfo.mx_BaseCard .mx_RoomTile_titleContainer {
        width: 154px;
    }

.mx_UserInfo.mx_BaseCard .mx_RoomTile_badge {
        display: none;
    }

.mx_UserInfo.mx_BaseCard .mx_RoomTile_title {
        width: 160px;
    }

.mx_UserInfo.mx_BaseCard .mx_UserInfo_avatar {
        margin: 24px 32px 0 32px;
    }

.mx_UserInfo.mx_BaseCard .mx_UserInfo_avatar .mx_UserInfo_avatar_transition {
            max-width: 120px;
            aspect-ratio: 1 / 1;
            margin: 0 auto;
            -webkit-transition: 0.5s;
            transition: 0.5s;
        }

.mx_UserInfo.mx_BaseCard .mx_UserInfo_avatar .mx_UserInfo_avatar_transition .mx_BaseAvatar {
                /* Override the calculated font-size so that the letter isn't tiny */
                font-size: 4rem;
            }

.mx_UserInfo.mx_BaseCard .mx_UserInfo_avatar .mx_UserInfo_avatar_transition .mx_BaseAvatar,
            .mx_UserInfo.mx_BaseCard .mx_UserInfo_avatar .mx_UserInfo_avatar_transition .mx_BaseAvatar img {
                width: 100%;
                height: 100%;
            }

.mx_UserInfo.mx_BaseCard h2 {
        text-transform: uppercase;
        color: #edf3ff;
        color: var(--tertiary-content, #edf3ff);
        font: var(--cpd-font-body-md-semibold);
        font-weight: var(--cpd-font-weight-semibold);
        margin: 4px 0;
    }

.mx_UserInfo.mx_BaseCard p {
        margin: 5px 0;
    }

.mx_UserInfo.mx_BaseCard .mx_UserInfo_profile h1 {
            font-size: 1.25rem;
            line-height: 1.5625rem;

            /* limit to 2 lines, show an ellipsis if it overflows */
            /* this looks webkit specific but is supported by Firefox 68+ */
            display: -webkit-box;
            -webkit-box-orient: vertical;
            -webkit-line-clamp: 2;

            overflow: hidden;
            word-break: break-all;
            text-overflow: ellipsis;
        }

/* E2E icon wrapper */

.mx_UserInfo.mx_BaseCard .mx_UserInfo_profile h1 .mx_Flex > span {
                display: inline-block;
            }

.mx_UserInfo.mx_BaseCard .mx_UserInfo_profile .mx_UserInfo_profileStatus {
            margin: var(--cpd-space-1x) 0;
        }

.mx_UserInfo.mx_BaseCard .mx_UserInfo_timezone {
        margin: var(--cpd-space-1x) 0;
    }

.mx_UserInfo.mx_BaseCard .mx_PresenceLabel {
        font: var(--cpd-font-body-sm-regular);
        opacity: 1;
    }

.mx_UserInfo.mx_BaseCard .mx_UserInfo_memberDetails .mx_UserInfo_profileField {
            display: -webkit-box;
            display: -ms-flexbox;
            display: flex;
            -webkit-box-pack: center;
                -ms-flex-pack: center;
                    justify-content: center;
            -webkit-box-align: center;
                -ms-flex-align: center;
                    align-items: center;

            margin: 6px 0;
        }

.mx_UserInfo.mx_BaseCard .mx_UserInfo_memberDetails .mx_UserInfo_profileField .mx_UserInfo_roleDescription {
                display: -webkit-box;
                display: -ms-flexbox;
                display: flex;
                -webkit-box-pack: center;
                    -ms-flex-pack: center;
                        justify-content: center;
                -webkit-box-align: center;
                    -ms-flex-align: center;
                        align-items: center;
                /* try to make it the same height as the dropdown */
                margin: 11px 0 12px 0;
            }

.mx_UserInfo.mx_BaseCard .mx_UserInfo_memberDetails .mx_UserInfo_profileField .mx_Field {
                margin: 0;
            }

.mx_UserInfo.mx_BaseCard .mx_UserInfo_field {
        line-height: 1rem;
    }

.mx_UserInfo.mx_BaseCard .mx_UserInfo_statusMessage {

        font: var(--cpd-font-body-sm-regular);
        font-size: 0.6875rem;
        line-height: 1rem;
        opacity: 0.5;
        overflow: hidden;
        word-break: break-word;
        text-overflow: ellipsis;
        display: -webkit-box;
        max-height: calc(1rem * 3);
        -webkit-line-clamp: 3;
        -webkit-box-orient: vertical;
    }

.mx_UserInfo.mx_BaseCard .mx_AutoHideScrollbar {
        -webkit-box-flex: 1;
            -ms-flex: 1 1 0px;
                flex: 1 1 0;
    }

.mx_UserInfo.mx_BaseCard .mx_UserInfo_devices .mx_UserInfo_device {
            display: -webkit-box;
            display: -ms-flexbox;
            display: flex;
            margin: 8px 0;
        }

.mx_UserInfo.mx_BaseCard .mx_UserInfo_devices .mx_UserInfo_device.mx_UserInfo_device_verified .mx_UserInfo_device_trusted {
                    color: #0dbd8b;
                    color: var(--accent-color, #0dbd8b);
                }

.mx_UserInfo.mx_BaseCard .mx_UserInfo_devices .mx_UserInfo_device.mx_UserInfo_device_unverified .mx_UserInfo_device_trusted {
                    color: #ff5b55;
                    color: var(--alert, #ff5b55);
                }

.mx_UserInfo.mx_BaseCard .mx_UserInfo_devices .mx_UserInfo_device .mx_UserInfo_device_name {
                -webkit-box-flex: 1;
                    -ms-flex: 1;
                        flex: 1;
                margin: 0 5px;
                word-break: break-word;
            }

/* both for icon in expand button and device item */

.mx_UserInfo.mx_BaseCard .mx_UserInfo_devices .mx_E2EIcon {
            /* don't squeeze */
            -webkit-box-flex: 0;
                -ms-flex: 0 0 auto;
                    flex: 0 0 auto;
            margin: 0;
            width: 12px;
            height: 12px;
        }

.mx_UserInfo.mx_BaseCard .mx_UserInfo_devices .mx_UserInfo_expand {
            -webkit-column-gap: 5px;
               -moz-column-gap: 5px;
                    column-gap: 5px; /* cf: mx_UserInfo_device_name */
            margin-bottom: 11px;
            -webkit-box-align: initial;
                -ms-flex-align: initial;
                    align-items: initial; /* Cancel the default property */
        }

.mx_UserInfo.mx_BaseCard.mx_UserInfo_smallAvatar .mx_UserInfo_avatar .mx_UserInfo_avatar_transition {
                max-width: 72px;
                margin: 0 auto;
            }

.mx_UserInfo.mx_BaseCard.mx_UserInfo_smallAvatar .mx_UserInfo_avatar .mx_BaseAvatar {
                /* Override the calculated font-size so that the letter isn't tiny */
                font-size: 2rem;
            }

/*
Copyright 2024 New Vector Ltd.
Copyright 2020 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

/* center the big shield icon */

.mx_VerificationPanel_verified_section .mx_E2EIcon, .mx_VerificationPanel_reciprocate_section .mx_E2EIcon {
        /* Override general user info margin */
        margin: 20px auto !important;
    }

.mx_UserInfo.mx_BaseCard .mx_UserInfo_container:not(.mx_UserInfo_separator) > div > p {
            margin-top: 0;
            margin-bottom: 0;
        }

.mx_UserInfo.mx_BaseCard .mx_UserInfo_container:not(.mx_UserInfo_separator) .mx_VerificationPanel_verifyByEmojiButton,
        .mx_UserInfo.mx_BaseCard .mx_UserInfo_container:not(.mx_UserInfo_separator) .mx_UserInfo_wideButton {
            width: -webkit-fit-content;
            width: -moz-fit-content;
            width: fit-content;
        }

.mx_UserInfo.mx_BaseCard .mx_UserInfo_container:not(.mx_UserInfo_separator) .mx_EncryptionInfo_spinner,
        .mx_UserInfo.mx_BaseCard .mx_UserInfo_container:not(.mx_UserInfo_separator) .mx_VerificationShowSas {
            -webkit-margin-start: auto;
                    margin-inline-start: auto;
            -webkit-margin-end: auto;
                    margin-inline-end: auto;
        }

.mx_UserInfo.mx_BaseCard .mx_UserInfo_container:not(.mx_UserInfo_separator) .mx_Spinner,
        .mx_UserInfo.mx_BaseCard .mx_UserInfo_container:not(.mx_UserInfo_separator) .mx_VerificationShowSas {
            -webkit-box-align: center;
                -ms-flex-align: center;
                    align-items: center;
        }

.mx_UserInfo.mx_BaseCard .mx_EncryptionPanel_cancel {
        cursor: pointer;
        position: relative;
        width: 28px;
        height: 28px;
        border-radius: 14px;
        background-color: var(--cpd-color-bg-subtle-secondary);
    }

.mx_UserInfo.mx_BaseCard .mx_EncryptionPanel_cancel:hover {
        background-color: var(--cpd-color-bg-subtle-primary);
    }

.mx_UserInfo.mx_BaseCard .mx_EncryptionPanel_cancel::before {
        content: "";
        width: 28px;
        height: 28px;
        left: 0;
        top: 0;
        position: absolute;
        -webkit-mask-image: url(../../icons/close.dce71fd.svg);
                mask-image: url(../../icons/close.dce71fd.svg);
        -webkit-mask-repeat: no-repeat;
                mask-repeat: no-repeat;
        -webkit-mask-position: center;
                mask-position: center;
        -webkit-mask-size: 20px;
                mask-size: 20px;
        background-color: var(--cpd-color-icon-secondary);
    }

.mx_UserInfo.mx_BaseCard .mx_EncryptionPanel_cancel {
        position: absolute;
        z-index: 100;
        top: 14px;
        right: 14px;
}

.mx_UserInfo.mx_BaseCard .mx_VerificationPanel_qrCode {
        padding: 4px 4px 0 4px;
        background: white;
        border-radius: 4px;
        width: -webkit-max-content;
        width: -moz-max-content;
        width: max-content;
        max-width: 100%;
        /* Override general user info margin */
        margin: 0 auto !important;
    }

.mx_UserInfo.mx_BaseCard .mx_VerificationPanel_qrCode canvas {
            /* override height and width which are set on the element directly */
            height: auto !important;
            width: 100% !important;
            max-width: 240px;
        }

.mx_UserInfo.mx_BaseCard .mx_VerificationPanel_reciprocate_section .mx_AccessibleButton {
            width: 100%;
            -webkit-box-sizing: border-box;
                    box-sizing: border-box;
            padding: 10px;
            display: block;
            margin: 10px 0;
        }

/* Special case styling for EncryptionPanel in a Modal dialog */

.mx_Dialog .mx_VerificationPanel_QRPhase_startOptions, .mx_CompleteSecurity_body .mx_VerificationPanel_QRPhase_startOptions {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        margin-top: 10px;
        margin-bottom: 10px;
        -webkit-box-align: stretch;
            -ms-flex-align: stretch;
                align-items: stretch;
        -webkit-box-pack: center;
            -ms-flex-pack: center;
                justify-content: center;
    }

.mx_Dialog .mx_VerificationPanel_QRPhase_startOptions > .mx_VerificationPanel_QRPhase_betweenText, .mx_CompleteSecurity_body .mx_VerificationPanel_QRPhase_startOptions > .mx_VerificationPanel_QRPhase_betweenText {
            width: 50px;
            vertical-align: middle;
            text-align: center;
            display: -webkit-box;
            display: -ms-flexbox;
            display: flex;
            -webkit-box-align: center;
                -ms-flex-align: center;
                    align-items: center;
            -webkit-box-pack: center;
                -ms-flex-pack: center;
                    justify-content: center;
        }

.mx_Dialog .mx_VerificationPanel_QRPhase_startOptions .mx_VerificationPanel_QRPhase_startOption, .mx_CompleteSecurity_body .mx_VerificationPanel_QRPhase_startOptions .mx_VerificationPanel_QRPhase_startOption {
            background-color: var(--roomlist-background-color);
            border-radius: 10px;
            -webkit-box-flex: 1;
                -ms-flex: 1;
                    flex: 1;
            display: -webkit-box;
            display: -ms-flexbox;
            display: flex;
            padding: 20px;
            -webkit-box-align: center;
                -ms-flex-align: center;
                    align-items: center;
            -webkit-box-orient: vertical;
            -webkit-box-direction: normal;
                -ms-flex-direction: column;
                    flex-direction: column;
            position: relative;
            max-width: 310px;
            -webkit-box-pack: justify;
                -ms-flex-pack: justify;
                    justify-content: space-between;
        }

.mx_Dialog .mx_VerificationPanel_QRPhase_startOptions .mx_VerificationPanel_QRPhase_startOption canvas,
            .mx_Dialog .mx_VerificationPanel_QRPhase_startOptions .mx_VerificationPanel_QRPhase_startOption .mx_VerificationPanel_QRPhase_noQR,
            .mx_CompleteSecurity_body .mx_VerificationPanel_QRPhase_startOptions .mx_VerificationPanel_QRPhase_startOption canvas,
            .mx_CompleteSecurity_body .mx_VerificationPanel_QRPhase_startOptions .mx_VerificationPanel_QRPhase_startOption .mx_VerificationPanel_QRPhase_noQR {
                width: 220px !important;
                height: 220px !important;
                background-color: #fff;
                border-radius: 4px;
                vertical-align: middle;
                text-align: center;
                padding: 10px;
            }

.mx_Dialog .mx_VerificationPanel_QRPhase_startOptions .mx_VerificationPanel_QRPhase_startOption > p, .mx_CompleteSecurity_body .mx_VerificationPanel_QRPhase_startOptions .mx_VerificationPanel_QRPhase_startOption > p {
                margin-top: 0;
                font-weight: 700;
            }

.mx_Dialog .mx_VerificationPanel_QRPhase_startOptions .mx_VerificationPanel_QRPhase_startOption .mx_VerificationPanel_QRPhase_helpText, .mx_CompleteSecurity_body .mx_VerificationPanel_QRPhase_startOptions .mx_VerificationPanel_QRPhase_startOption .mx_VerificationPanel_QRPhase_helpText {
                font: var(--cpd-font-body-md-regular);
                margin: 30px 0;
                text-align: center;
            }

/* EncryptionPanel when verification is done */

/* right align the "Got it" button */

.mx_Dialog .mx_VerificationPanel_verified_section .mx_AccessibleButton, .mx_CompleteSecurity_body .mx_VerificationPanel_verified_section .mx_AccessibleButton {
            float: right;
        }

.mx_Dialog .mx_VerificationPanel_reciprocate_section .mx_AccessibleButton, .mx_CompleteSecurity_body .mx_VerificationPanel_reciprocate_section .mx_AccessibleButton {
            margin-left: 10px;
            padding: 7px 40px;
        }

.mx_Dialog .mx_VerificationPanel_reciprocate_section .mx_VerificationPanel_reciprocateButtons, .mx_CompleteSecurity_body .mx_VerificationPanel_reciprocate_section .mx_VerificationPanel_reciprocateButtons {
            display: -webkit-box;
            display: -ms-flexbox;
            display: flex;
            -webkit-box-orient: horizontal;
            -webkit-box-direction: normal;
                -ms-flex-direction: row;
                    flex-direction: row;
            -webkit-box-pack: end;
                -ms-flex-pack: end;
                    justify-content: flex-end;
        }

/*
Copyright 2024 New Vector Ltd.
Copyright 2020 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_WidgetCard .mx_AppTileFullWidth {
        max-width: none;
        max-width: initial;
        width: auto !important;
        height: 100%;
        border: 0;
    }

/*
Copyright 2019-2024 New Vector Ltd.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_AliasSettings_localAddresses {
    cursor: pointer;
    color: var(--cpd-color-text-primary);
    font-weight: var(--cpd-font-weight-semibold);
    text-decoration: underline;
    list-style: none;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
}

/* list-style doesn't do it for webkit */

.mx_AliasSettings_localAddresses::-webkit-details-marker {
        display: none;
    }

/*
Copyright 2024 New Vector Ltd.
Copyright 2019 The Matrix.org Foundation C.I.C.
Copyright 2015, 2016 OpenMarket Ltd

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

:root {
    --AppTile_mini-height: 220px;
}

.mx_AppsDrawer {
    --minWidth: 240px; /* TODO this should be 300px but that's too large */

    margin: 8px;

    margin: var(--container-gap-width);
    /* The left side gap is fully handled by this margin. To prohibit bleeding on webkit browser. */
    margin-right: calc(8px / 2);
    margin-right: calc(var(--container-gap-width) / 2);
    margin-bottom: 0; /* No bottom margin for the correct gap to the CallView below. */
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    overflow: hidden;
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
}

.mx_AppsDrawer .mx_AppsDrawer_resizer {
        margin-bottom: 8px;
        margin-bottom: var(--container-gap-width);
    }

.mx_AppsDrawer .mx_AppsDrawer_resizer_container {
        width: 100%;
        height: 10px;
        display: block;
        position: relative;
    }

.mx_AppsDrawer .mx_AppsDrawer_resizer_container .mx_AppsDrawer_resizer_container_handle {
            cursor: ns-resize;

            /* Override styles from library, making the whole area the target area */
            width: 100% !important;
            height: 100% !important;

            /* This is positioned directly below frame */
            position: absolute;
            bottom: 50% !important; /* override from library */

            /* We then render the pill handle in an ::after to keep it in the handle's */
        }

/* area without being a massive line across the screen */

.mx_AppsDrawer .mx_AppsDrawer_resizer_container .mx_AppsDrawer_resizer_container_handle::after {
                content: "";
                position: absolute;
                border-radius: 3px;

                height: 4px;
                bottom: 0;

                /* Together, these make the bar 64px wide */
                /* These are also overridden from the library */
                left: calc(50% - 32px);
                right: calc(50% - 32px);
            }

.mx_AppsDrawer:hover .mx_AppsDrawer_resizer_container_handle::after {
            opacity: 0.8;
            background: var(--timeline-text-color);
        }

.mx_AppsDrawer:hover .mx_ResizeHandle--horizontal::before {
            position: absolute;
            left: 3px;
            top: 50%;
            -webkit-transform: translate(0, -50%);
                    transform: translate(0, -50%);

            height: 64px; /* to match width of the ones on roomlist */
            width: 4px;
            border-radius: 4px;

            content: "";

            background-color: var(--timeline-text-color);
            opacity: 0.8;
        }

.mx_AppsDrawer .mx_AppTile {
        width: 50%;
        min-width: var(--minWidth);
    }

.mx_AppsDrawer.mx_AppsDrawer--maximised {
        margin-bottom: 8px;
        margin-bottom: var(--container-gap-width);
    }

.mx_AppsDrawer.mx_AppsDrawer--resizing .mx_AppTile_persistedWrapper {
        z-index: 1;
    }

.mx_AppsDrawer.mx_AppsDrawer--2apps .mx_AppTile {
        width: 50%;
    }

.mx_AppsDrawer.mx_AppsDrawer--2apps .mx_AppTile:nth-child(3) {
            -webkit-box-flex: 1;
                -ms-flex-positive: 1;
                    flex-grow: 1;
            width: 0 !important;
            min-width: var(--minWidth) !important;
        }

.mx_AppsDrawer.mx_AppsDrawer--3apps .mx_AppTile {
        width: 33%;
    }

.mx_AppsDrawer.mx_AppsDrawer--3apps .mx_AppTile:nth-child(3) {
            -webkit-box-flex: 1;
                -ms-flex-positive: 1;
                    flex-grow: 1;
            width: 0 !important;
            min-width: var(--minWidth) !important;
        }

.mx_AppsContainer {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-align: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    height: 100%;
    width: 100%;
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    min-height: 0;
}

.mx_AppsContainer .mx_AppTile:first-of-type {
        border-left-width: 8px;
        border-left-width: var(--container-border-width);
        border-radius: 10px 0 0 10px;
    }

.mx_AppsContainer .mx_AppTile:last-of-type {
        border-right-width: 8px;
        border-right-width: var(--container-border-width);
        border-radius: 0 10px 10px 0;
    }

.mx_AppsContainer .mx_ResizeHandle--horizontal {
        position: relative;
    }

.mx_AppsContainer .mx_ResizeHandle--horizontal > div {
            width: 0;
        }

.mx_AppTile {
    border: 8px solid var(--roomlist-background-color);
    border: var(--container-border-width) solid var(--roomlist-background-color);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    background-color: var(--roomlist-background-color);
}

.mx_AppTileFullWidth {
    width: 100% !important; /* to override the inline style set by the resizer */
    margin: 0;
    padding: 0;
    border: 8px solid var(--roomlist-background-color);
    border: var(--container-border-width) solid var(--roomlist-background-color);
    border-radius: 8px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    background-color: var(--roomlist-background-color);
}

.mx_AppTile_mini {
    width: 100%;
    margin: 0;
    padding: 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    height: 220px;
    height: var(--AppTile_mini-height);
}

.mx_AppTile .mx_AppTile_persistedWrapper,
.mx_AppTileFullWidth .mx_AppTile_persistedWrapper,
.mx_AppTile_mini .mx_AppTile_persistedWrapper {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
}

.mx_AppTile_persistedWrapper div {
    width: 100%;
    height: 100%;
}

.mx_AppTileMenuBar {
    margin: 0;
    font-size: 0.75rem;
    background-color: var(--roomlist-background-color);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    width: 100%;
    padding-top: 3px;
    padding-bottom: 6px;
}

.mx_AppTileMenuBar .mx_AppTileMenuBar_title {
        line-height: 20px;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }

.mx_AppTileMenuBar .mx_AppTileMenuBar_title .mx_WidgetAvatar {
            margin-right: 12px;
        }

.mx_AppTileMenuBar .mx_AppTileMenuBar_title h3 {
            font-size: inherit;
            margin: 0;
        }

.mx_AppTileMenuBar .mx_AppTileMenuBar_title > :last-child {
            margin-left: 9px;
            display: -webkit-box;
            display: -ms-flexbox;
            display: flex;
            -webkit-box-pack: center;
                -ms-flex-pack: center;
                    justify-content: center;
            -webkit-box-align: center;
                -ms-flex-align: center;
                    align-items: center;
        }

.mx_AppTileMenuBar .mx_AppTileMenuBar_widgets {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
    }

.mx_AppTileMenuBar .mx_AppTileMenuBar_widgets .mx_AppTileMenuBar_widgets_button {
            --size: 24px; /* Size of the button. Its height and width values should be same */

            margin: 0 4px;
            position: relative;
            height: 24px;
            height: var(--size);
            width: 24px;
            width: var(--size);
            display: -webkit-box;
            display: -ms-flexbox;
            display: flex;
            -webkit-box-align: center;
                -ms-flex-align: center;
                    align-items: center;
            -webkit-box-pack: center;
                -ms-flex-pack: center;
                    justify-content: center;
        }

.mx_AppTileMenuBar .mx_AppTileMenuBar_widgets .mx_AppTileMenuBar_widgets_button:hover::after {
                content: "";
                position: absolute;
                height: var(--size);
                width: var(--size);
                background-color: var(--roomlist-highlights-color);
                border-radius: 50%;
                left: 0;
                top: 0;
            }

.mx_AppTileMenuBar .mx_AppTileMenuBar_widgets .mx_AppTileMenuBar_widgets_button .mx_Icon {
                color: #a1b2d1;
            }

/* Rules added to this selector style appTileBody generally */

.mx_AppTileBody {
    /* Apply to every variant of appTileBody */
    border-radius: 8px;
}

/* Note the loading spinner and the message next to it are not always included in mx_AppTileBody--loading */

.mx_AppTileBody .mx_AppTileBody_fadeInSpinner {
        /* place spinner and the message at the center of mx_AppTileBody */
        height: 100%;
        width: 100%;

        font-weight: bold; /* message next to the spinner */
        -webkit-animation-fill-mode: backwards;
                animation-fill-mode: backwards;
        -webkit-animation-duration: 200ms;
                animation-duration: 200ms;
        -webkit-animation-delay: 500ms;
                animation-delay: 500ms;
        -webkit-animation-name: mx_AppTileBody_fadeInSpinnerAnimation;
                animation-name: mx_AppTileBody_fadeInSpinnerAnimation;
    }

.mx_AppTileBody.mx_AppTileBody--large,
    .mx_AppTileBody.mx_AppTileBody--mini {
        width: 100%;
        overflow: hidden;
        height: var(--AppTileBody-height);
    }

.mx_AppTileBody.mx_AppTileBody--large iframe, .mx_AppTileBody.mx_AppTileBody--mini iframe {
            border: none;
            width: 100%;
            height: 100%;
        }

.mx_AppTileBody.mx_AppTileBody--large {
        --AppTileBody-height: 100%;

        background-color: #1a1d23;
    }

.mx_AppTileBody.mx_AppTileBody--large iframe {
            overflow: hidden;
            padding: 0;
            margin: 0;
            display: block;
        }

.mx_AppTileBody.mx_AppTileBody--mini {
        --AppTileBody-height: var(--AppTile_mini-height);
    }

.mx_AppTileBody.mx_AppTileBody--loading {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column;
        -webkit-box-pack: center;
            -ms-flex-pack: center;
                justify-content: center;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        position: relative;
        height: 100%;

        /* match bg of border so that the cut corners have the right fill */
        background-color: #1a1d23 !important;
    }

.mx_AppTileBody.mx_AppTileBody--loading iframe {
            display: none;
        }

.mx_AppTileBody.mx_AppTileBody--call {
        border-radius: 0px;
    }

/* const loadingElement */

.mx_AppTileBody.mx_AppTileBody--call.mx_AppTileBody--mini {
        border-radius: 8px;
    }

/* appTileBody is embedded to PersistedElement outside of mx_AppTile,
   so rules to style appTileBody generally should not be included here. */

.mx_AppTile .mx_AppTileBody--large,
.mx_AppTileFullWidth .mx_AppTileBody--large,
.mx_AppTile_mini .mx_AppTileBody--mini {
    height: inherit;
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
}

@-webkit-keyframes mx_AppTileBody_fadeInSpinnerAnimation {
    from {
        opacity: 0;
    }
    to {
        opacity: 1;
    }
}

@keyframes mx_AppTileBody_fadeInSpinnerAnimation {
    from {
        opacity: 0;
    }
    to {
        opacity: 1;
    }
}

.mx_Autocomplete {
    position: absolute;
    bottom: 0;
    z-index: 1001;
    width: 100%;
    border: 1px solid var(--roomlist-separator-color);
    background: var(--timeline-background-color);
    border-bottom: none;
    border-radius: 8px 8px 0 0;
    overflow: clip;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-shadow: 0px -16px 32px tranparent;
            box-shadow: 0px -16px 32px tranparent;
}

.mx_Autocomplete_ProviderSection {
    border-bottom: 1px solid var(--roomlist-separator-color);
    width: 100%;
}

/* a "block" completion takes up a whole line */

.mx_Autocomplete_Completion_block {
    min-height: 34px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    padding: 0 12px;
    -webkit-user-select: none;
       -moz-user-select: none;
        -ms-user-select: none;
            user-select: none;
    cursor: pointer;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    color: var(--timeline-text-color);
}

.mx_Autocomplete_Completion_block * {
    margin: 0 3px;
}

.mx_Autocomplete_Completion_pill {
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    border-radius: 2rem;
    height: 2.125rem;
    padding: 0.4rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-user-select: none;
       -moz-user-select: none;
        -ms-user-select: none;
            user-select: none;
    cursor: pointer;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    color: var(--timeline-text-color);
}

.mx_Autocomplete_Completion_pill > * {
    margin-right: 0.3rem;
}

/* styling for common completion elements */

.mx_Autocomplete_Completion_subtitle {
    font-style: italic;
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
}

.mx_Autocomplete_Completion_description {
    color: gray;
    min-width: 150px;
}

.mx_Autocomplete_Completion_container_pill {
    margin: 12px;
    height: 100%;
    overflow-y: scroll;
    max-height: 35vh;
}

.mx_Autocomplete_Completion_container_truncate .mx_Autocomplete_Completion_title,
    .mx_Autocomplete_Completion_container_truncate .mx_Autocomplete_Completion_subtitle,
    .mx_Autocomplete_Completion_container_truncate .mx_Autocomplete_Completion_description {
        /* Ellipsis for long names/subtitles/descriptions */
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }

.mx_Autocomplete_Completion.selected,
.mx_Autocomplete_Completion:hover {
    background: var(--roomlist-background-color);
    outline: none;
}

.mx_Autocomplete_provider_name {
    margin: 12px;
    color: var(--timeline-text-color);
    font-weight: 400;
    opacity: 0.4;
}

/*
Copyright 2018-2024 New Vector Ltd.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_AuxPanel {
    min-width: 0px;
    width: 100%;
    margin: 0px auto;

    overflow: auto;
}

/*
Copyright 2019-2024 New Vector Ltd.
Copyright 2019 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_BasicMessageComposer {
    /* These are set in Javascript */
    --avatar-letter: "";
    --avatar-background: unset;
    --placeholder: "";

    position: relative;
}

.mx_BasicMessageComposer .mx_BasicMessageComposer_inputEmpty > :first-child::before {
        content: var(--placeholder);
        color: var(--cpd-color-text-secondary);
        width: 0;
        height: 0;
        overflow: visible;
        display: inline-block;
        pointer-events: none;
        white-space: nowrap;
    }

@-webkit-keyframes visualbell {
        from {
            background-color: #800;
        }
        to {
            background-color: var(--timeline-background-color);
        }
    }

@keyframes visualbell {
        from {
            background-color: #800;
        }
        to {
            background-color: var(--timeline-background-color);
        }
    }

.mx_BasicMessageComposer.mx_BasicMessageComposer_input_error {
        -webkit-animation: 0.2s visualbell;
                animation: 0.2s visualbell;
    }

.mx_BasicMessageComposer .mx_BasicMessageComposer_input {
        white-space: pre-wrap;
        word-wrap: break-word;
        outline: none;
        overflow-x: hidden;
    }

/* navigated through in a single keypress */

.mx_BasicMessageComposer .mx_BasicMessageComposer_input .caretNode {
            -webkit-user-select: all;
               -moz-user-select: all;
                    user-select: all;
        }

/* Force caret nodes to be selected in full so that they can be */

.mx_BasicMessageComposer .mx_BasicMessageComposer_input.mx_BasicMessageComposer_input_shouldShowPillAvatar span.mx_UserPill,
            .mx_BasicMessageComposer .mx_BasicMessageComposer_input.mx_BasicMessageComposer_input_shouldShowPillAvatar span.mx_RoomPill,
            .mx_BasicMessageComposer .mx_BasicMessageComposer_input.mx_BasicMessageComposer_input_shouldShowPillAvatar span.mx_SpacePill {
                -webkit-user-select: all;
                   -moz-user-select: all;
                        user-select: all;
                position: relative;
                cursor: inherit; /* We don't want indicate clickability */
                overflow: hidden;
                text-overflow: ellipsis;
                white-space: nowrap;
            }

.mx_BasicMessageComposer .mx_BasicMessageComposer_input.mx_BasicMessageComposer_input_shouldShowPillAvatar span.mx_UserPill:hover, .mx_BasicMessageComposer .mx_BasicMessageComposer_input.mx_BasicMessageComposer_input_shouldShowPillAvatar span.mx_RoomPill:hover, .mx_BasicMessageComposer .mx_BasicMessageComposer_input.mx_BasicMessageComposer_input_shouldShowPillAvatar span.mx_SpacePill:hover {
                    /* We don't want indicate clickability | To override the overriding of .markdown-body */
                    background-color: var(--other-user-pill-bg-color, var(--cpd-color-bg-action-primary-rest)) !important;
                }

/* avatar psuedo element */

.mx_BasicMessageComposer .mx_BasicMessageComposer_input.mx_BasicMessageComposer_input_shouldShowPillAvatar span.mx_UserPill::before, .mx_BasicMessageComposer .mx_BasicMessageComposer_input.mx_BasicMessageComposer_input_shouldShowPillAvatar span.mx_RoomPill::before, .mx_BasicMessageComposer .mx_BasicMessageComposer_input.mx_BasicMessageComposer_input_shouldShowPillAvatar span.mx_SpacePill::before {
                    display: inline-block;
                    content: var(--avatar-letter);
                    width: 1rem;
                    min-width: 1rem; /* ensure the avatar is not compressed */
                    height: 1rem;
                    -webkit-margin-end: 0.24rem;
                            margin-inline-end: 0.24rem;
                    background: var(--avatar-background), var(--timeline-background-color);
                    color: #ffffff;
                    color: var(--avatar-color, #ffffff);
                    background-repeat: no-repeat;
                    background-size: 1rem;
                    border-radius: 1rem;
                    text-align: center;
                    font-weight: normal;
                    line-height: 1rem;
                    font-size: 0.6275rem;
                }

.mx_BasicMessageComposer .mx_BasicMessageComposer_input.mx_BasicMessageComposer_input_disabled {
            /* Ignore all user input to avoid accidentally triggering the composer */
            pointer-events: none;
        }

.mx_BasicMessageComposer .mx_BasicMessageComposer_AutoCompleteWrapper {
        position: relative;
        height: 0;
    }

.mx_JoinRuleDialog .mx_JoinRuleDialogButtons {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-column-gap: 5px;
           -moz-column-gap: 5px;
                column-gap: 5px;
        -webkit-box-pack: center;
            -ms-flex-pack: center;
                justify-content: center;
    }

/*
Copyright 2024 New Vector Ltd.
Copyright 2022 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_DecryptionFailureBar {
    --gap-row: 8px;
    --gap-column: 12px;
    --gap: var(--gap-row) var(--gap-column);
    --size-icon: 24px;

    background-color: #21262c;

    background-color: var(--system, #21262c);
    padding: 12px;
    margin-inline: 16px;
    border-radius: 4px;
}

.mx_DecryptionFailureBar.mx_DecryptionFailureBar--withEnd {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-flow: wrap;
            flex-flow: wrap;
        -webkit-box-align: start;
            -ms-flex-align: start;
                align-items: flex-start;
        -webkit-box-pack: justify;
            -ms-flex-pack: justify;
                justify-content: space-between;
        row-gap: calc(var(--gap-row) + 4px); /* Increase spacing between the message and the buttons */
    }

.mx_DecryptionFailureBar.mx_DecryptionFailureBar--withEnd .mx_DecryptionFailureBar_end {
            display: -webkit-box;
            display: -ms-flexbox;
            display: flex;
            -ms-flex-wrap: wrap;
                flex-wrap: wrap; /* Let the buttons wrapped on a narrow column */
            gap: 8px 8px;
            gap: var(--buttons-dialog-gap-row) var(--buttons-dialog-gap-column);
            -webkit-margin-start: calc(var(--size-icon) + var(--gap-column));
                    margin-inline-start: calc(var(--size-icon) + var(--gap-column)); /* Align the button(s) and the message */
        }

.mx_DecryptionFailureBar .mx_DecryptionFailureBar_start {
        display: grid;
        grid-gap: var(--gap);
        gap: var(--gap);
        grid-template-areas:
            "status headline"
            ".      message";
        grid-template-columns: var(--size-icon) auto;
    }

.mx_DecryptionFailureBar .mx_DecryptionFailureBar_start .mx_DecryptionFailureBar_start_status {
            grid-area: status;

            display: -webkit-box;

            display: -ms-flexbox;

            display: flex;
            -webkit-box-align: center;
                -ms-flex-align: center;
                    align-items: center;
            gap: var(--gap);
        }

.mx_DecryptionFailureBar .mx_DecryptionFailureBar_start .mx_DecryptionFailureBar_start_status .mx_Spinner {
                height: auto;
                height: initial; /* Unset height: 100% */
            }

.mx_DecryptionFailureBar .mx_DecryptionFailureBar_start .mx_DecryptionFailureBar_start_status .mx_DecryptionFailureBar_start_status_icon {
                min-width: var(--size-icon);
                height: var(--size-icon);
                -webkit-mask-image: url(../../img/e2e/decryption-failure.d4a03e3.svg);
                        mask-image: url(../../img/e2e/decryption-failure.d4a03e3.svg);
                background-color: #ff5b55;
                -webkit-mask-repeat: no-repeat;
                        mask-repeat: no-repeat;
                -webkit-mask-position: center;
                        mask-position: center;
                -webkit-mask-size: contain;
                        mask-size: contain;
            }

.mx_DecryptionFailureBar .mx_DecryptionFailureBar_start .mx_DecryptionFailureBar_start_headline {
            grid-area: headline;

            font-weight: var(--cpd-font-weight-semibold);
            font-size: 1rem;
            align-self: center;
        }

.mx_DecryptionFailureBar .mx_DecryptionFailureBar_start .mx_DecryptionFailureBar_start_message {
            grid-area: message;

            color: #edf3ff;

            color: var(--secondary-content, #edf3ff);
        }

/*
Copyright 2019-2024 New Vector Ltd.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_E2EIcon {
    width: 16px;
    height: 16px;
    margin: 0 9px;
    position: relative;
    display: block;
}

.mx_E2EIcon_warning::before,
    .mx_E2EIcon_warning::after,
    .mx_E2EIcon_normal::before,
    .mx_E2EIcon_normal::after,
    .mx_E2EIcon_verified::before,
    .mx_E2EIcon_verified::after {
        content: "";
        display: block;
        position: absolute;
        inset: 0;
        -webkit-mask-repeat: no-repeat;
                mask-repeat: no-repeat;
        -webkit-mask-position: center;
                mask-position: center;
        -webkit-mask-size: contain;
                mask-size: contain;
    }

/* transparent-looking border surrounding the shield for when overlain over avatars */

.mx_E2EIcon_bordered {
    -webkit-mask-image: url(../../img/e2e/normal.ab42a7b.svg);
            mask-image: url(../../img/e2e/normal.ab42a7b.svg);
    background-color: var(--roomlist-background-color);
    -webkit-mask-size: 100%;
            mask-size: 100%;
}

/* shrink the actual badge */

.mx_E2EIcon_bordered::after {
        -webkit-mask-size: 75%;
                mask-size: 75%;
    }

/* shrink the infill of the badge */

.mx_E2EIcon_bordered::before {
        -webkit-mask-size: 60%;
                mask-size: 60%;
        background: var(--cpd-color-bg-canvas-default);
    }

.mx_E2EIcon_warning::after {
    -webkit-mask-image: url(../../img/e2e/warning.71ffc83.svg);
            mask-image: url(../../img/e2e/warning.71ffc83.svg);
    background-color: #ff5b55;
}

.mx_E2EIcon_normal::after {
    -webkit-mask-image: url(../../img/e2e/normal.ab42a7b.svg);
            mask-image: url(../../img/e2e/normal.ab42a7b.svg);
    background-color: var(--cpd-color-icon-tertiary);
}

.mx_E2EIcon_verified::after {
    -webkit-mask-image: url(../../img/e2e/verified.2ccf64e.svg);
            mask-image: url(../../img/e2e/verified.2ccf64e.svg);
    background-color: #0dbd8b;
}

/*
Copyright 2019-2024 New Vector Ltd.
Copyright 2019 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_EditMessageComposer {
    --EditMessageComposer-padding-inline: 3px;

    display: -webkit-box;

    display: -ms-flexbox;

    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    max-width: 100%; /* disable overflow */
    width: auto;
    gap: 5px;
    padding: 3px 3px;
    padding: 3px var(--EditMessageComposer-padding-inline);
}

.mx_EditMessageComposer .mx_BasicMessageComposer_input {
        border-radius: 4px;
        border: solid 1px var(--roomlist-separator-color);
        background-color: var(--timeline-background-color);
        max-height: 200px;
        padding: 3px 6px;
    }

.mx_EditMessageComposer .mx_BasicMessageComposer_input:focus {
            border-color: var(--cpd-color-border-interactive-primary);
        }

.mx_EditMessageComposer .mx_EditMessageComposer_buttons {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
            -ms-flex-flow: row wrap-reverse;
                flex-flow: row wrap-reverse; /* display "Save" over "Cancel" */
        -webkit-box-pack: end;
            -ms-flex-pack: end;
                justify-content: flex-end;
        gap: 5px;
        -webkit-margin-start: auto;
                margin-inline-start: auto;
    }

.mx_EditMessageComposer .mx_EditMessageComposer_buttons .mx_AccessibleButton {
            -webkit-box-flex: 1;
                -ms-flex: 1;
                    flex: 1;
            -webkit-box-sizing: border-box;
                    box-sizing: border-box;
            min-width: 100px; /* magic number to align the edge of the button with the input area */
        }

/*
Copyright 2024 New Vector Ltd.
Copyright 2022 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_EmojiButton {
    --size: 26px;
    position: relative;
    cursor: pointer;
    height: 26px;
    height: var(--size);
    line-height: 26px;
    line-height: var(--size);
    width: auto;
    padding-left: 26px;
    padding-left: var(--size);
    border-radius: 50%;
}

.mx_EmojiButton::before {
        content: "";
        position: absolute;
        top: 3px;
        left: 3px;
        height: 20px;
        width: 20px;
        background-color: var(--icon-button-color, var(--cpd-color-icon-tertiary));
        -webkit-mask-repeat: no-repeat;
                mask-repeat: no-repeat;
        -webkit-mask-size: contain;
                mask-size: contain;
        -webkit-mask-position: center;
                mask-position: center;
        z-index: 2;
    }

.mx_EmojiButton::after {
        content: "";
        position: absolute;
        left: 0;
        top: 0;
        z-index: 0;
        width: var(--size);
        height: var(--size);
        border-radius: 50%;
    }

.mx_EmojiButton:hover::after {
            background: var(--cpd-color-bg-subtle-secondary);
        }

.mx_EmojiButton:hover::before {
            background-color: var(--cpd-color-icon-secondary);
        }

.mx_EmojiButton_highlight {
    background: var(--cpd-color-bg-subtle-primary);
}

.mx_EmojiButton_highlight::before {
        background-color: var(--cpd-color-icon-primary) !important;
    }

.mx_EmojiButton_icon::before {
    -webkit-mask-image: url(../../img/element-icons/room/composer/emoji.d7b1970.svg);
            mask-image: url(../../img/element-icons/room/composer/emoji.d7b1970.svg);
}

.mx_MessageComposer_wysiwyg .mx_EmojiButton {
        --size: 26px;
        position: relative;
        cursor: pointer;
        height: 26px;
        height: var(--size);
        line-height: 26px;
        line-height: var(--size);
        width: auto;
        padding-left: 26px;
        padding-left: var(--size);
        border-radius: 5px;
    }

.mx_MessageComposer_wysiwyg .mx_EmojiButton::before {
        content: "";
        position: absolute;
        top: 3px;
        left: 3px;
        height: 20px;
        width: 20px;
        background-color: var(--icon-button-color, var(--cpd-color-icon-tertiary));
        -webkit-mask-repeat: no-repeat;
                mask-repeat: no-repeat;
        -webkit-mask-size: contain;
                mask-size: contain;
        -webkit-mask-position: center;
                mask-position: center;
        z-index: 2;
    }

.mx_MessageComposer_wysiwyg .mx_EmojiButton::after {
        content: "";
        position: absolute;
        left: 0;
        top: 0;
        z-index: 0;
        width: var(--size);
        height: var(--size);
        border-radius: 5px;
    }

.mx_MessageComposer_wysiwyg .mx_EmojiButton:hover::after {
            background: var(--panels, var(--cpd-color-gray-600));
        }

.mx_MessageComposer_wysiwyg .mx_EmojiButton:hover::before {
            background-color: #edf3ff;
            background-color: var(--tertiary-content, #edf3ff);
        }

/*
Copyright 2024 New Vector Ltd.
Copyright 2020 The Matrix.org Foundation C.I.C.
Copyright 2015, 2016 OpenMarket Ltd

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_EntityTile {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    color: var(--timeline-text-color);
    cursor: pointer;
}

.mx_EntityTile .mx_E2EIcon {
        margin: 0;
        position: absolute;
        bottom: 2px;
        right: 7px;
    }

.mx_EntityTile:hover {
    padding-right: 30px;
    position: relative; /* to keep the chevron aligned */
}

.mx_EntityTile:hover::before {
    content: "";
    position: absolute;
    top: calc(50% - 8px); /* center */
    right: -8px;
    -webkit-mask: url(../../icons/chevron-right.c1afe15.svg);
            mask: url(../../icons/chevron-right.c1afe15.svg);
    -webkit-mask-repeat: no-repeat;
            mask-repeat: no-repeat;
    -webkit-mask-position: center;
            mask-position: center;
    width: 16px;
    height: 16px;
    background-color: #a1b2d1;
}

.mx_EntityTile:not(.mx_EntityTile_unreachable) .mx_PresenceLabel {
    display: none;
}

.mx_EntityTile:hover .mx_PresenceLabel {
    display: block;
}

.mx_EntityTile_invite {
    display: table-cell;
    vertical-align: middle;
    margin-left: 10px;
    width: 26px;
}

.mx_EntityTile_avatar {
    padding-left: 3px;
    padding-right: 12px;
    padding-top: 4px;
    padding-bottom: 4px;
    position: relative;
    line-height: 0;
}

.mx_EntityTile_name {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 0px;
            flex: 1 1 0;
    overflow: hidden;
    font: var(--cpd-font-body-md-regular);
    text-overflow: ellipsis;
    white-space: nowrap;
}

.mx_EntityTile_details {
    overflow: hidden;
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
}

.mx_EntityTile_ellipsis .mx_EntityTile_name {
    font-style: italic;
    color: var(--timeline-text-color);
}

.mx_EntityTile_invitePlaceholder .mx_EntityTile_name {
    font-style: italic;
    color: var(--timeline-text-color);
}

.mx_EntityTile_unavailable .mx_EntityTile_avatar,
.mx_EntityTile_unavailable .mx_EntityTile_name,
.mx_EntityTile_offline_beenactive .mx_EntityTile_avatar,
.mx_EntityTile_offline_beenactive .mx_EntityTile_name {
    opacity: 0.5;
}

.mx_EntityTile_offline_neveractive .mx_EntityTile_avatar,
.mx_EntityTile_offline_neveractive .mx_EntityTile_name {
    opacity: 0.25;
}

.mx_EntityTile_unknown .mx_EntityTile_avatar,
.mx_EntityTile_unknown .mx_EntityTile_name,
.mx_EntityTile_unreachable .mx_EntityTile_avatar,
.mx_EntityTile_unreachable .mx_EntityTile_name {
    opacity: 0.25;
}

.mx_EntityTile_subtext {
    font-size: 0.6875rem;
    opacity: 0.5;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: clip;
}

.mx_EntityTile_power {
    -webkit-padding-start: 6px;
            padding-inline-start: 6px;
    font-size: 0.625rem;
    color: #edf3ff;
    color: var(--secondary-content, #edf3ff);
    max-width: 6em;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.mx_EntityTile:hover .mx_EntityTile_power {
    display: none;
}

/*
Copyright 2024 New Vector Ltd.
Copyright 2021 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_RoomView_body[data-layout="bubble"] .mx_RoomView_timeline,
    .mx_RoomView_body[data-layout="bubble"] .mx_RoomView_statusArea,
    .mx_RoomView_body[data-layout="bubble"] .mx_MessageComposer {
        width: 100%;
        max-width: 1200px;
        margin: 0 auto;
    }

.mx_EventTile[data-layout="bubble"],
.mx_GenericEventListSummary[data-layout="bubble"] {
    --avatarSize: 32px;
    --gutterSize: 11px;
    --cornerRadius: 12px;
    --maxWidth: 70%;

    /* For both event tile and event list summary */
    --EventTile_bubble-margin-inline-start: 49px;
    --EventTile_bubble-margin-inline-end: 60px;

    -webkit-margin-start: 49px;

            margin-inline-start: 49px;

    -webkit-margin-start: var(--EventTile_bubble-margin-inline-start);

            margin-inline-start: var(--EventTile_bubble-margin-inline-start);
    -webkit-margin-end: 60px;
            margin-inline-end: 60px;
    -webkit-margin-end: var(--EventTile_bubble-margin-inline-end);
            margin-inline-end: var(--EventTile_bubble-margin-inline-end);
}

.mx_EventTile[data-layout="bubble"] {
    --EventTile_bubble_line-margin-inline-start: -9px;
    --EventTile_bubble_line-margin-inline-end: -12px;
    --EventTile_bubble_gap-inline: 5px;
}

.mx_EventTile[data-layout="bubble"] .mx_MessageTimestamp {
        width: auto;
        width: initial; /* Cancel the default width */
        max-width: 80px;
        max-width: var(--MessageTimestamp-max-width);
    }

.mx_EventTile[data-layout="bubble"] .mx_ThreadSummary {
        clear: both;
        width: -webkit-fit-content;
        width: -moz-fit-content;
        width: fit-content;
    }

.mx_EventTile[data-layout="bubble"] .mx_EventTile_content {
        margin-right: 0;
    }

.mx_EventTile[data-layout="bubble"] .mx_EventTile_avatar {
        line-height: 0;
        border: 4px solid var(--timeline-background-color);
        border-radius: 50%;
        position: absolute;
        top: 6px;
        z-index: 9;
    }

.mx_EventTile[data-layout="bubble"] .mx_EventTile_avatar img {
            -webkit-box-shadow: 0 0 0 3px var(--timeline-background-color);
                    box-shadow: 0 0 0 3px var(--timeline-background-color);
            border-radius: 50%;
        }

.mx_EventTile[data-layout="bubble"].mx_EventTile_highlight .mx_EventTile_avatar {
            border-color: var(--timeline-highlights-color);
        }

.mx_EventTile[data-layout="bubble"].mx_EventTile_highlight::before {
            background-color: var(--timeline-highlights-color);
        }

.mx_EventTile[data-layout="bubble"]:hover .mx_EventTile_avatar {
            border-color: #1c2026;
            border-color: var(--eventbubble-bg-hover, #1c2026);
        }

/* For replies */

.mx_EventTile[data-layout="bubble"] .mx_EventTile {
        padding-top: 0;
    }

.mx_EventTile[data-layout="bubble"]::before {
        content: "";
        position: absolute;
        top: -1px;
        bottom: -1px;
        left: calc(-1 * var(--EventTile_bubble-margin-inline-start));
        right: calc(-1 * var(--EventTile_bubble-margin-inline-end));
        z-index: -1;
        border-radius: 4px;
    }

.mx_EventTile[data-layout="bubble"]:hover::before, .mx_EventTile[data-layout="bubble"].mx_EventTile_selected::before {
            background: #1c2026;
            background: var(--eventbubble-bg-hover, #1c2026);
        }

.mx_EventTile[data-layout="bubble"]:hover .mx_EventTile_avatar img, .mx_EventTile[data-layout="bubble"].mx_EventTile_selected .mx_EventTile_avatar img {
                -webkit-box-shadow: 0 0 0 3px #1c2026;
                        box-shadow: 0 0 0 3px #1c2026;
                -webkit-box-shadow: 0 0 0 3px var(--eventbubble-bg-hover, #1c2026);
                        box-shadow: 0 0 0 3px var(--eventbubble-bg-hover, #1c2026);
            }

.mx_EventTile[data-layout="bubble"] .mx_DisambiguatedProfile,
    .mx_EventTile[data-layout="bubble"] .mx_EventTile_line {
        --EventBubbleTile_line-max-width: 70%;

        width: -webkit-fit-content;

        width: -moz-fit-content;

        width: fit-content;
        max-width: 70%;
        max-width: var(--EventBubbleTile_line-max-width); /* Align message bubble and displayName */
        line-height: 1.125rem; /* fixed line height to prevent emoji from being taller than text */
    }

/* other users profile on bubble layout */

.mx_EventTile[data-layout="bubble"] > .mx_DisambiguatedProfile {
        white-space: normal; /* display mxid */
    }

.mx_EventTile[data-layout="bubble"] > .mx_DisambiguatedProfile .mx_DisambiguatedProfile_displayName {
            white-space: nowrap; /* truncate long display names */
            -webkit-margin-end: 5px;
                    margin-inline-end: 5px;

            /* For RTL displayName */
            unicode-bidi: embed;
            direction: ltr;
        }

.mx_EventTile[data-layout="bubble"] > .mx_DisambiguatedProfile .mx_DisambiguatedProfile_mxid {
            -webkit-margin-start: 0;
                    margin-inline-start: 0; /* Align mxid with truncated displayName
                inside mx_EventTile[data-layout="bubble"] */
        }

/* (on the main panel and the chat panel with a maximized widget) */

.mx_EventTile[data-layout="bubble"] > .mx_DisambiguatedProfile,
    
    .mx_EventTile[data-layout="bubble"] .mx_EventTile_senderDetails > .mx_DisambiguatedProfile {
        position: relative;
        top: -2px;
        left: 2px;
        font-size: 0.9375rem;
    }

/* inside mx_RoomView_MessageList, outside of mx_ReplyTile */

.mx_EventTile[data-layout="bubble"] .mx_MessageActionBar {
        top: -28px;
        z-index: 9; /* above the avatar */
    }

.mx_EventTile[data-layout="bubble"] .mx_MediaBody {
        /* leave space for the timestamp */
        padding-right: 48px;
    }

.mx_EventTile[data-layout="bubble"] .mx_MImageBody .mx_MImageBody_thumbnail_container {
            -webkit-box-pack: center;
                -ms-flex-pack: center;
                    justify-content: center;
            min-height: calc(1.8rem + var(--gutterSize) + var(--gutterSize));
            min-width: calc(1.8rem + var(--gutterSize) + var(--gutterSize));
        }

.mx_EventTile[data-layout="bubble"] .mx_LegacyCallEvent {
        background-color: transparent;
        background-color: initial;

        border-style: solid;
        border-width: 1px;
        border-color: #6f7882;
        border-color: var(--quinary-content, #6f7882);
    }

.mx_EventTile[data-layout="bubble"] .mx_EventTile_footer {
        margin: var(--cpd-space-1-5x) 0;
        margin-inline: var(--EventTile_bubble_line-margin-inline-start) var(--EventTile_bubble_line-margin-inline-end);
    }

.mx_EventTile[data-layout="bubble"][data-self="false"] .mx_EventTile_line {
            border-bottom-right-radius: var(--cornerRadius);
        }

.mx_EventTile[data-layout="bubble"][data-self="false"] .mx_EventTile_line .mx_MImageBody .mx_MImageBody_thumbnail_container,
            .mx_EventTile[data-layout="bubble"][data-self="false"] .mx_EventTile_line .mx_MImageBody::before,
            .mx_EventTile[data-layout="bubble"][data-self="false"] .mx_EventTile_line .mx_MVideoBody .mx_MVideoBody_container,
            .mx_EventTile[data-layout="bubble"][data-self="false"] .mx_EventTile_line .mx_MediaBody,
            .mx_EventTile[data-layout="bubble"][data-self="false"] .mx_EventTile_line .mx_MLocationBody_map,
            .mx_EventTile[data-layout="bubble"][data-self="false"] .mx_EventTile_line .mx_MBeaconBody {
                border-bottom-right-radius: var(--cornerRadius) !important;
            }

.mx_EventTile[data-layout="bubble"][data-self="false"] .mx_EventTile_avatar {
            left: -36px;
        }

.mx_EventTile[data-layout="bubble"][data-self="false"] .mx_MessageActionBar {
            inset-inline-start: calc(100% - var(--MessageActionBar-size-box));
            right: auto;
            right: initial; /* Reset the default value */
        }

.mx_EventTile[data-layout="bubble"][data-self="false"] .mx_ThreadSummary {
            -webkit-margin-start: calc(-1 * var(--gutterSize));
                    margin-inline-start: calc(-1 * var(--gutterSize));
            -webkit-margin-end: auto;
                    margin-inline-end: auto;
        }

.mx_EventTile[data-layout="bubble"][data-self="false"] .mx_ReactionsRow,
        .mx_EventTile[data-layout="bubble"][data-self="false"] .mx_EventTile_footer {
            -webkit-box-pack: start;
                -ms-flex-pack: start;
                    justify-content: flex-start;
        }

.mx_EventTile[data-layout="bubble"][data-self="false"] {

        --backgroundColor: var(--eventbubble-others-bg, #22262e);
}

.mx_EventTile[data-layout="bubble"][data-self="true"] .mx_EventTile_line {
            -webkit-margin-start: auto;
                    margin-inline-start: auto;
            border-bottom-left-radius: var(--cornerRadius);
        }

.mx_EventTile[data-layout="bubble"][data-self="true"] .mx_EventTile_line .mx_MImageBody .mx_MImageBody_thumbnail_container,
            .mx_EventTile[data-layout="bubble"][data-self="true"] .mx_EventTile_line .mx_MImageBody::before,
            .mx_EventTile[data-layout="bubble"][data-self="true"] .mx_EventTile_line .mx_MVideoBody .mx_MVideoBody_container,
            .mx_EventTile[data-layout="bubble"][data-self="true"] .mx_EventTile_line .mx_MediaBody,
            .mx_EventTile[data-layout="bubble"][data-self="true"] .mx_EventTile_line .mx_MLocationBody_map,
            .mx_EventTile[data-layout="bubble"][data-self="true"] .mx_EventTile_line .mx_MBeaconBody {
                border-bottom-left-radius: var(--cornerRadius) !important;
            }

.mx_EventTile[data-layout="bubble"][data-self="true"] .mx_EventTile_sticker {
            /* align timestamp with those inside bubbles */
            margin-right: 32px;
        }

.mx_EventTile[data-layout="bubble"][data-self="true"] .mx_ThreadSummary {
            -webkit-margin-start: auto;
                    margin-inline-start: auto;
            -webkit-margin-end: calc(-1 * var(--gutterSize));
                    margin-inline-end: calc(-1 * var(--gutterSize));
        }

.mx_EventTile[data-layout="bubble"][data-self="true"] .mx_DisambiguatedProfile {
            display: none;
        }

.mx_EventTile[data-layout="bubble"][data-self="true"] .mx_ReplyTile .mx_DisambiguatedProfile {
            display: block;
            max-width: 100%;
        }

.mx_EventTile[data-layout="bubble"][data-self="true"] .mx_EventTile_footer {
            -webkit-box-pack: end;
                -ms-flex-pack: end;
                    justify-content: flex-end;
        }

.mx_EventTile[data-layout="bubble"][data-self="true"] .mx_ReactionsRow {
            -webkit-box-pack: end;
                -ms-flex-pack: end;
                    justify-content: flex-end;
        }

.mx_EventTile[data-layout="bubble"][data-self="true"] .mx_ReactionsRow > :last-child {
                -webkit-box-ordinal-group: 0;
                    -ms-flex-order: -1;
                        order: -1; /* Moving the "add reaction button" before the reactions */
            }

.mx_EventTile[data-layout="bubble"][data-self="true"] .mx_EventTile_avatar {
            top: -19px; /* height of the sender block */
            right: -38px;
        }

.mx_EventTile[data-layout="bubble"][data-self="true"] .mx_MediaBody {
            background: #14322e;
            background: var(--eventbubble-self-bg, #14322e);
        }

.mx_EventTile[data-layout="bubble"][data-self="true"] .mx_MessageActionBar {
            inset-inline-end: 0;
        }

.mx_EventTile[data-layout="bubble"][data-self="true"] {

        --backgroundColor: var(--eventbubble-self-bg, #14322e);
}

.mx_EventTile[data-layout="bubble"] .mx_EventTile_line {
        position: relative;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        gap: 5px var(--EventTile_bubble_gap-inline);
        margin-block: 0;
        margin-inline: var(--EventTile_bubble_line-margin-inline-start) var(--EventTile_bubble_line-margin-inline-end);
        border-top-left-radius: var(--cornerRadius);
        border-top-right-radius: var(--cornerRadius);

        /* noinspection CssReplaceWithShorthandSafely */
    }

/* in the DOM depending on the specific rendering context */

.mx_EventTile[data-layout="bubble"] .mx_EventTile_line > a, 
        .mx_EventTile[data-layout="bubble"] .mx_EventTile_line .mx_MessageActionBar + .mx_MessageTimestamp {
            position: absolute;
            padding: 4px 8px;
            bottom: 0;
            right: 0;
            z-index: 3; /* above media and location share maps */
        }

/* the selector here is quite weird because timestamps can appear linked & unlinked and in different places */

/* TODO: Use a common class name instead */

.mx_EventTile[data-layout="bubble"] .mx_EventTile_line.mx_EventTile_mediaLine .mx_MFileBody,
            .mx_EventTile[data-layout="bubble"] .mx_EventTile_line.mx_EventTile_mediaLine .mx_MAudioBody {
                max-width: 100%; /* avoid overflow */
            }

.mx_EventTile[data-layout="bubble"] .mx_EventTile_line.mx_EventTile_mediaLine .mx_MVoiceMessageBody {
                /* allow the event to be collapsed, this causes the waveform to get cropped */
                min-width: 0;
            }

/* we put the timestamps for media (other than stickers) atop the media */

.mx_EventTile[data-layout="bubble"] .mx_EventTile_line.mx_EventTile_mediaLine.mx_EventTile_image .mx_MessageTimestamp {
                    border-radius: 8px;
                    border-radius: var(--MBody-border-radius);
                    /* Hardcoded colours because it's the same on all themes */
                    background-color: rgba(0, 0, 0, 0.6);
                    color: #ffffff;
                    padding: 0px 4px 0px 4px;
                }

.mx_EventTile[data-layout="bubble"] .mx_EventTile_line.mx_EventTile_sticker > a, 
            .mx_EventTile[data-layout="bubble"] .mx_EventTile_line.mx_EventTile_sticker .mx_MessageActionBar + .mx_MessageTimestamp {
                /* position timestamps for stickers to the right of the un-bubbled sticker */
                right: auto;
                right: initial;
                left: 100%;
            }

.mx_EventTile[data-layout="bubble"] .mx_EventTile_line.mx_EventTile_sticker .mx_MStickerBody_wrapper {
                padding: 0;
            }

.mx_EventTile[data-layout="bubble"] .mx_EventTile_line .mx_MImageBody {
            width: 100%;
        }

.mx_EventTile[data-layout="bubble"] .mx_EventTile_line .mx_MImageBody .mx_MImageBody_thumbnail.mx_MImageBody_thumbnail--blurhash {
                position: static;
                position: initial;
            }

.mx_EventTile[data-layout="bubble"] .mx_EventTile_line .mx_MImageBody .mx_MImageBody_thumbnail_container,
        .mx_EventTile[data-layout="bubble"] .mx_EventTile_line .mx_MVideoBody .mx_MVideoBody_container,
        .mx_EventTile[data-layout="bubble"] .mx_EventTile_line .mx_MediaBody {
            border-radius: 0;
            border-radius: initial;
            border-top-left-radius: var(--cornerRadius);
            border-top-right-radius: var(--cornerRadius);
        }

.mx_EventTile[data-layout="bubble"] .mx_EventTile_line .mx_EventTile_e2eIcon {
            -ms-flex-negative: 0;
                flex-shrink: 0; /* keep it at full size */

            /* Keep height equal to text for shield alignment, additional 2px because of 1px padding on text */
            height: calc(1.125rem + 2px);
        }

.mx_EventTile[data-layout="bubble"] .mx_EventTile_line .mx_MPollEndBody {
            /* Prevent the poll end body from exceeding the tile width */
            width: 100%;
        }

.mx_EventTile[data-layout="bubble"]:not(.mx_EventTile_noBubble) .mx_EventTile_line:not(.mx_EventTile_mediaLine) {
        /* make the top and bottom padding 1px smaller so that we can pad
            .mx_EventTile_content by 1px */
        /* to avoid anti-zalgo cutting off our larger than text emojis. */
        padding: calc(var(--gutterSize) - 1px);
        padding-right: 60px; /* space for the timestamp */
        background: var(--backgroundColor);
    }

.mx_EventTile[data-layout="bubble"]:not(.mx_EventTile_noBubble) .mx_EventTile_line:not(.mx_EventTile_mediaLine) .mx_EventTile_content {
            padding: 1px;
        }

.mx_EventTile[data-layout="bubble"].mx_EventTile_continuation[data-self="false"] .mx_EventTile_line {
        border-top-left-radius: 0;
    }

.mx_EventTile[data-layout="bubble"].mx_EventTile_continuation[data-self="false"] .mx_EventTile_line .mx_MImageBody .mx_MImageBody_thumbnail_container,
        .mx_EventTile[data-layout="bubble"].mx_EventTile_continuation[data-self="false"] .mx_EventTile_line .mx_MVideoBody .mx_MVideoBody_container,
        .mx_EventTile[data-layout="bubble"].mx_EventTile_continuation[data-self="false"] .mx_EventTile_line .mx_MImageBody::before,
        .mx_EventTile[data-layout="bubble"].mx_EventTile_continuation[data-self="false"] .mx_EventTile_line .mx_MediaBody,
        .mx_EventTile[data-layout="bubble"].mx_EventTile_continuation[data-self="false"] .mx_EventTile_line .mx_MLocationBody_map,
        .mx_EventTile[data-layout="bubble"].mx_EventTile_continuation[data-self="false"] .mx_EventTile_line .mx_MBeaconBody {
            border-top-left-radius: 0;
        }

.mx_EventTile[data-layout="bubble"].mx_EventTile_lastInSection[data-self="false"] .mx_EventTile_line {
        border-bottom-left-radius: var(--cornerRadius);
    }

.mx_EventTile[data-layout="bubble"].mx_EventTile_lastInSection[data-self="false"] .mx_EventTile_line .mx_MImageBody .mx_MImageBody_thumbnail_container,
        .mx_EventTile[data-layout="bubble"].mx_EventTile_lastInSection[data-self="false"] .mx_EventTile_line .mx_MVideoBody .mx_MVideoBody_container,
        .mx_EventTile[data-layout="bubble"].mx_EventTile_lastInSection[data-self="false"] .mx_EventTile_line .mx_MImageBody::before,
        .mx_EventTile[data-layout="bubble"].mx_EventTile_lastInSection[data-self="false"] .mx_EventTile_line .mx_MediaBody,
        .mx_EventTile[data-layout="bubble"].mx_EventTile_lastInSection[data-self="false"] .mx_EventTile_line .mx_MLocationBody_map,
        .mx_EventTile[data-layout="bubble"].mx_EventTile_lastInSection[data-self="false"] .mx_EventTile_line .mx_MBeaconBody {
            border-bottom-left-radius: var(--cornerRadius);
        }

.mx_EventTile[data-layout="bubble"].mx_EventTile_continuation[data-self="true"] .mx_EventTile_line {
        border-top-right-radius: 0;
    }

.mx_EventTile[data-layout="bubble"].mx_EventTile_continuation[data-self="true"] .mx_EventTile_line .mx_MImageBody .mx_MImageBody_thumbnail_container,
        .mx_EventTile[data-layout="bubble"].mx_EventTile_continuation[data-self="true"] .mx_EventTile_line .mx_MVideoBody .mx_MVideoBody_container,
        .mx_EventTile[data-layout="bubble"].mx_EventTile_continuation[data-self="true"] .mx_EventTile_line .mx_MImageBody::before,
        .mx_EventTile[data-layout="bubble"].mx_EventTile_continuation[data-self="true"] .mx_EventTile_line .mx_MediaBody,
        .mx_EventTile[data-layout="bubble"].mx_EventTile_continuation[data-self="true"] .mx_EventTile_line .mx_MLocationBody_map,
        .mx_EventTile[data-layout="bubble"].mx_EventTile_continuation[data-self="true"] .mx_EventTile_line .mx_MBeaconBody {
            border-top-right-radius: 0;
        }

.mx_EventTile[data-layout="bubble"].mx_EventTile_lastInSection[data-self="true"] .mx_EventTile_line {
        border-bottom-right-radius: var(--cornerRadius);
    }

.mx_EventTile[data-layout="bubble"].mx_EventTile_lastInSection[data-self="true"] .mx_EventTile_line .mx_MImageBody .mx_MImageBody_thumbnail_container,
        .mx_EventTile[data-layout="bubble"].mx_EventTile_lastInSection[data-self="true"] .mx_EventTile_line .mx_MVideoBody .mx_MVideoBody_container,
        .mx_EventTile[data-layout="bubble"].mx_EventTile_lastInSection[data-self="true"] .mx_EventTile_line .mx_MImageBody::before,
        .mx_EventTile[data-layout="bubble"].mx_EventTile_lastInSection[data-self="true"] .mx_EventTile_line .mx_MediaBody,
        .mx_EventTile[data-layout="bubble"].mx_EventTile_lastInSection[data-self="true"] .mx_EventTile_line .mx_MLocationBody_map,
        .mx_EventTile[data-layout="bubble"].mx_EventTile_lastInSection[data-self="true"] .mx_EventTile_line .mx_MBeaconBody {
            border-bottom-right-radius: var(--cornerRadius);
        }

.mx_EventTile[data-layout="bubble"].mx_EventTile_noSender .mx_EventTile_avatar {
            top: -19px;
        }

.mx_EventTile[data-layout="bubble"][data-has-reply="true"] > .mx_EventTile_line {
            -webkit-box-orient: vertical;
            -webkit-box-direction: normal;
                -ms-flex-direction: column;
                    flex-direction: column;
        }

.mx_EventTile[data-layout="bubble"][data-has-reply="true"] .mx_ReplyChain .mx_EventTile_reply {
                max-width: 90%;
                padding: 0;
            }

.mx_EventTile[data-layout="bubble"][data-has-reply="true"] .mx_ReplyChain .mx_EventTile_reply > a, 
                .mx_EventTile[data-layout="bubble"][data-has-reply="true"] .mx_ReplyChain .mx_EventTile_reply .mx_MessageActionBar + .mx_MessageTimestamp {
                    display: none !important;
                }

.mx_EventTile[data-layout="bubble"][data-has-reply="true"] .mx_ReplyChain .mx_EventTile {
                display: -webkit-box;
                display: -ms-flexbox;
                display: flex;
                gap: var(--gutterSize);
            }

.mx_EventTile[data-layout="bubble"][data-has-reply="true"] .mx_ReplyChain .mx_EventTile .mx_EventTile_avatar {
                    position: static;
                }

.mx_EventTile[data-layout="bubble"][data-has-reply="true"] .mx_ReplyChain .mx_EventTile .mx_DisambiguatedProfile {
                    display: none;
                }

.mx_EventTile[data-layout="bubble"] .mx_MPollBody {
        width: 550px; /* to prevent timestamp overlapping summary text */
        max-width: 100%; /* prevent overflowing a reply tile */
    }

.mx_EventTile[data-layout="bubble"] .mx_MPollBody .mx_MPollBody_totalVotes {
            /* align summary text with corner timestamp */
            padding: 4px 0;
        }

.mx_EventTile[data-layout="bubble"].mx_EventTile_bad:hover::before {
                background: transparent;
            }

/* Special layout scenario for "Unable To Decrypt (UTD)" events */

.mx_EventTile[data-layout="bubble"].mx_EventTile_bad .mx_EventTile_line {
            display: grid;
            grid-template:
                "reply reply" auto
                "shield body" auto
                / auto 1fr;
        }

.mx_EventTile[data-layout="bubble"].mx_EventTile_bad .mx_EventTile_line .mx_UnknownBody,
            .mx_EventTile[data-layout="bubble"].mx_EventTile_bad .mx_EventTile_line .mx_ReplyChain_wrapper,
            .mx_EventTile[data-layout="bubble"].mx_EventTile_bad .mx_EventTile_line .mx_ViewSourceEvent {
                min-width: 0; /* Prevent a grid blowout */
            }

.mx_EventTile[data-layout="bubble"].mx_EventTile_bad .mx_EventTile_line .mx_EventTile_e2eIcon {
                grid-area: shield;
                margin-top: auto;
                margin-bottom: auto;
            }

.mx_EventTile[data-layout="bubble"].mx_EventTile_bad .mx_EventTile_line .mx_UnknownBody,
            .mx_EventTile[data-layout="bubble"].mx_EventTile_bad .mx_EventTile_line .mx_DecryptionFailureBody {
                grid-area: body;
            }

.mx_EventTile[data-layout="bubble"].mx_EventTile_bad .mx_EventTile_line .mx_ReplyChain_wrapper {
                grid-area: reply;
            }

/* "Unable To Decrypt" layout for hidden events */

.mx_EventTile[data-layout="bubble"].mx_EventTile_bad.mx_EventTile_info .mx_EventTile_line {
                gap: 0 9px; /* 9px: margin value of E2E icon */
                -webkit-box-align: center;
                    -ms-flex-align: center;
                        align-items: center;
                grid-template:
                    "shield source" auto
                    / auto 1fr;
            }

.mx_EventTile[data-layout="bubble"].mx_EventTile_bad.mx_EventTile_info .mx_EventTile_line .mx_ViewSourceEvent {
                    grid-area: source;
                }

.mx_EventTile[data-layout="bubble"] .mx_MTextBody {
        max-width: 100%;
    }

.mx_EventTile[data-layout="bubble"] .mx_LegacyCallEvent_wrapper,
    .mx_EventTile[data-layout="bubble"] .mx_CallEvent_wrapper {
        -webkit-box-pack: center;
            -ms-flex-pack: center;
                justify-content: center;
    }

.mx_EventTile.mx_EventTile_noBubble[data-layout="bubble"] {
    --backgroundColor: transparent;
}

.mx_EventTile.mx_EventTile_noBubble[data-layout="bubble"] .mx_EventTile_line.mx_EventTile_emote {
        padding-right: 60px; /* align with bubbles text */
        font-style: italic;
    }

.mx_EventTile.mx_EventTile_noBubble[data-layout="bubble"] .mx_EventTile_line.mx_EventTile_emote > a {
            /* timestamp anchor wrapper */
            -ms-flex-item-align: center;
                align-self: center;
            bottom: auto;
            bottom: initial;
            top: auto;
            top: initial;
            font-style: normal; /* undo italic above */
        }

.mx_EventTile.mx_EventTile_noBubble[data-layout="bubble"] .mx_EventTile_line.mx_EventTile_emote .mx_MEmoteBody {
            padding: 4px 0;
        }

.mx_EventTile.mx_EventTile_bubbleContainer[data-layout="bubble"] .mx_EventTile_line > a, .mx_EventTile.mx_EventTile_leftAlignedBubble[data-layout="bubble"] .mx_EventTile_line > a {
        /* hide this timestamp as the tile will render its own */
        display: none;
    }

.mx_EventTile.mx_EventTile_bubbleContainer[data-layout="bubble"],
.mx_EventTile.mx_EventTile_leftAlignedBubble[data-layout="bubble"],
.mx_EventTile.mx_EventTile_info[data-layout="bubble"] {
    padding: 5px 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
}

.mx_EventTile.mx_EventTile_bubbleContainer[data-layout="bubble"] .mx_EventTile_line,
    .mx_EventTile.mx_EventTile_bubbleContainer[data-layout="bubble"] .mx_EventTile_info,
    .mx_EventTile.mx_EventTile_leftAlignedBubble[data-layout="bubble"] .mx_EventTile_line,
    .mx_EventTile.mx_EventTile_leftAlignedBubble[data-layout="bubble"] .mx_EventTile_info,
    .mx_EventTile.mx_EventTile_info[data-layout="bubble"] .mx_EventTile_line,
    .mx_EventTile.mx_EventTile_info[data-layout="bubble"] .mx_EventTile_info {
        min-width: 100%;
        /* Preserve alignment with left edge of text in bubbles */
        margin: 0;
    }

.mx_EventTile.mx_EventTile_bubbleContainer[data-layout="bubble"],
.mx_EventTile.mx_EventTile_leftAlignedBubble[data-layout="bubble"],
.mx_EventTile.mx_EventTile_info[data-layout="bubble"],
.mx_GenericEventListSummary[data-layout="bubble"][data-expanded="false"] {
    --backgroundColor: transparent;
    --gutterSize: 0;
}

.mx_EventTile.mx_EventTile_bubbleContainer[data-layout="bubble"] .mx_EventTile_avatar, .mx_EventTile.mx_EventTile_leftAlignedBubble[data-layout="bubble"] .mx_EventTile_avatar, .mx_EventTile.mx_EventTile_info[data-layout="bubble"] .mx_EventTile_avatar, .mx_GenericEventListSummary[data-layout="bubble"][data-expanded="false"] .mx_EventTile_avatar {
        position: static;
        -webkit-box-ordinal-group: 0;
            -ms-flex-order: -1;
                order: -1;
        -webkit-margin-end: var(--EventTile_bubble_gap-inline);
                margin-inline-end: var(--EventTile_bubble_gap-inline); /* Same spacing between E2E icon and a hidden event */
    }

.mx_EventTile.mx_EventTile_bubbleContainer[data-layout="bubble"] .mx_EventTile_e2eIcon, .mx_EventTile.mx_EventTile_leftAlignedBubble[data-layout="bubble"] .mx_EventTile_e2eIcon, .mx_EventTile.mx_EventTile_info[data-layout="bubble"] .mx_EventTile_e2eIcon, .mx_GenericEventListSummary[data-layout="bubble"][data-expanded="false"] .mx_EventTile_e2eIcon {
        -webkit-margin-start: 0;
                margin-inline-start: 0; /* mx_EventTile_avatar has margin-inline-end, so margin is not needed here */
        -ms-flex-item-align: center;
            align-self: center;
    }

.mx_EventTile.mx_EventTile_bubbleContainer[data-layout="bubble"] .mx_EventTile_line > a, 
        .mx_EventTile.mx_EventTile_bubbleContainer[data-layout="bubble"] .mx_EventTile_line .mx_MessageActionBar + .mx_MessageTimestamp, 
        .mx_EventTile.mx_EventTile_leftAlignedBubble[data-layout="bubble"] .mx_EventTile_line > a, 
        .mx_EventTile.mx_EventTile_leftAlignedBubble[data-layout="bubble"] .mx_EventTile_line .mx_MessageActionBar + .mx_MessageTimestamp, 
        .mx_EventTile.mx_EventTile_info[data-layout="bubble"] .mx_EventTile_line > a, 
        .mx_EventTile.mx_EventTile_info[data-layout="bubble"] .mx_EventTile_line .mx_MessageActionBar + .mx_MessageTimestamp, 
        .mx_GenericEventListSummary[data-layout="bubble"][data-expanded="false"] .mx_EventTile_line > a, 
        .mx_GenericEventListSummary[data-layout="bubble"][data-expanded="false"] .mx_EventTile_line .mx_MessageActionBar + .mx_MessageTimestamp {
            right: auto;
            left: -77px;
            bottom: auto;
            bottom: initial;
            -ms-flex-item-align: center;
                align-self: center;
        }

.mx_EventTile.mx_EventTile_bubbleContainer[data-layout="bubble"] .mx_EventTile_line > a .mx_MessageTimestamp,
            .mx_EventTile.mx_EventTile_bubbleContainer[data-layout="bubble"] .mx_EventTile_line > a.mx_MessageTimestamp,
            .mx_EventTile.mx_EventTile_bubbleContainer[data-layout="bubble"] .mx_EventTile_line .mx_MessageActionBar + .mx_MessageTimestamp .mx_MessageTimestamp,
            .mx_EventTile.mx_EventTile_bubbleContainer[data-layout="bubble"] .mx_EventTile_line .mx_MessageActionBar + .mx_MessageTimestamp.mx_MessageTimestamp,
            .mx_EventTile.mx_EventTile_leftAlignedBubble[data-layout="bubble"] .mx_EventTile_line > a .mx_MessageTimestamp,
            .mx_EventTile.mx_EventTile_leftAlignedBubble[data-layout="bubble"] .mx_EventTile_line > a.mx_MessageTimestamp,
            .mx_EventTile.mx_EventTile_leftAlignedBubble[data-layout="bubble"] .mx_EventTile_line .mx_MessageActionBar + .mx_MessageTimestamp .mx_MessageTimestamp,
            .mx_EventTile.mx_EventTile_leftAlignedBubble[data-layout="bubble"] .mx_EventTile_line .mx_MessageActionBar + .mx_MessageTimestamp.mx_MessageTimestamp,
            .mx_EventTile.mx_EventTile_info[data-layout="bubble"] .mx_EventTile_line > a .mx_MessageTimestamp,
            .mx_EventTile.mx_EventTile_info[data-layout="bubble"] .mx_EventTile_line > a.mx_MessageTimestamp,
            .mx_EventTile.mx_EventTile_info[data-layout="bubble"] .mx_EventTile_line .mx_MessageActionBar + .mx_MessageTimestamp .mx_MessageTimestamp,
            .mx_EventTile.mx_EventTile_info[data-layout="bubble"] .mx_EventTile_line .mx_MessageActionBar + .mx_MessageTimestamp.mx_MessageTimestamp,
            .mx_GenericEventListSummary[data-layout="bubble"][data-expanded="false"] .mx_EventTile_line > a .mx_MessageTimestamp,
            .mx_GenericEventListSummary[data-layout="bubble"][data-expanded="false"] .mx_EventTile_line > a.mx_MessageTimestamp,
            .mx_GenericEventListSummary[data-layout="bubble"][data-expanded="false"] .mx_EventTile_line .mx_MessageActionBar + .mx_MessageTimestamp .mx_MessageTimestamp,
            .mx_GenericEventListSummary[data-layout="bubble"][data-expanded="false"] .mx_EventTile_line .mx_MessageActionBar + .mx_MessageTimestamp.mx_MessageTimestamp {
                vertical-align: middle;
            }

.mx_GenericEventListSummary[data-layout="bubble"] .mx_EventTile.mx_EventTile_info .mx_EventTile_line {
        /* Avoid overflow of event info by cancelling width settings */
        width: 100%;
        min-width: 0;
        max-width: 100%;
    }

/* increase margin between ELS and the next Event to not have our user avatar overlap the expand/collapse button */

.mx_GenericEventListSummary[data-layout="bubble"][data-expanded="false"] + .mx_EventTile[data-layout="bubble"][data-self="true"] {
        margin-top: 20px;
    }

.mx_GenericEventListSummary[data-layout="bubble"][data-expanded="true"] .mx_EventTile_info {
        padding: 2px 0;
        margin-right: 0;
    }

.mx_GenericEventListSummary[data-layout="bubble"][data-expanded="true"] .mx_EventTile_info .mx_MessageActionBar {
            /* Reset .mx_EventTile[data-layout="bubble"][data-self="false"] .mx_MessageActionBar */
            inset-inline-start: initial;
            inset-inline-end: 48px; /* align with that of right-column bubbles */
        }

.mx_GenericEventListSummary[data-layout="bubble"][data-expanded="true"] .mx_EventTile_info .mx_ReadReceiptGroup {
            /* match alignment to RRs of chat bubbles */
            inset-inline-end: calc(-1 * var(--ReadReceiptGroup_EventBubbleTile-spacing-end) + 60px);
        }

.mx_GenericEventListSummary[data-layout="bubble"][data-expanded="true"] .mx_EventTile_info::before {
            inset-inline-end: 0; /* match alignment of the hover background to that of chat bubbles */
        }

.mx_EventTile_tileError[data-layout="bubble"] .mx_EventTile_line {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column; /* restore the centering */
}

/*
 * Copyright 2024 New Vector Ltd.
 * Copyright 2024 The Matrix.org Foundation C.I.C.
 *
 * SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
 * Please see LICENSE files in the repository root for full details.
 */

.mx_EventPreview {
    font: var(--cpd-font-body-sm-regular);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.mx_EventPreview .mx_EventPreview_prefix {
        font: var(--cpd-font-body-sm-semibold);
    }

/*
Copyright 2024 New Vector Ltd.
Copyright 2020, 2021 The Matrix.org Foundation C.I.C.
Copyright 2015, 2016 OpenMarket Ltd

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_EventTile {
    --EventTile_content-margin-inline-end: 34px;
    --EventTile_group_line-spacing-block-start: 1px;
    --EventTile_group_line-spacing-block-end: 3px;
    --EventTile_group_line-spacing-inline-start: 64px;
    --EventTile_group_line-line-height: 1.375rem;
    --EventTile_ThreadSummary-line-height: calc(2 * 0.75rem);

    -ms-flex-negative: 0;

        flex-shrink: 0;
    max-width: 100%;
    clear: both; /* TODO: check if this is necessary */
    padding-top: 18px;
    position: relative;
}

.mx_EventTile.mx_EventTile_info {
        font-size: var(--cpd-font-size-body-sm);
        color: #edf3ff;
        color: var(--secondary-content, #edf3ff);
    }

.mx_EventTile .mx_EventTile_avatar {
        cursor: pointer;
        -webkit-user-select: none;
           -moz-user-select: none;
            -ms-user-select: none;
                user-select: none;
    }

.mx_EventTile .mx_EventTile_body {
        overflow-y: hidden;
        text-align: start;
    }

.mx_EventTile .mx_EventTile_receiptSent,
    .mx_EventTile .mx_EventTile_receiptSending {
        position: relative;
        display: inline-block;
        width: 16px;
        height: 16px;
    }

.mx_EventTile .mx_EventTile_receiptSent::before, .mx_EventTile .mx_EventTile_receiptSending::before {
            background-color: var(--cpd-color-icon-tertiary);
            -webkit-mask-repeat: no-repeat;
                    mask-repeat: no-repeat;
            -webkit-mask-position: center;
                    mask-position: center;
            -webkit-mask-size: 16px;
                    mask-size: 16px;
            width: 16px;
            height: 16px;
            content: "";
            position: absolute;
            top: 0;
            left: 0;
            right: 0;
        }

.mx_EventTile .mx_EventTile_receiptSent::before {
        -webkit-mask-image: url(../../img/element-icons/circle-sent.4ba3d6b.svg);
                mask-image: url(../../img/element-icons/circle-sent.4ba3d6b.svg);
    }

.mx_EventTile .mx_EventTile_receiptSending::before {
        -webkit-mask-image: url(../../img/element-icons/circle-sending.394023e.svg);
                mask-image: url(../../img/element-icons/circle-sending.394023e.svg);
    }

.mx_EventTile .mx_EventTile_content.mx_EditMessageComposer,
        .mx_EventTile .mx_EventTile_content.mx_EditWysiwygComposer {
            /* Make sure the formatting bar is visible */
            overflow: visible;
        }

.mx_EventTile .mx_EventTile_searchHighlight {
        background-color: #0dbd8b;
        background-color: var(--accent-color, #0dbd8b);
        color: #ffffff;
        border-radius: 5px;
        padding-inline: 2px;
        cursor: pointer;
    }

.mx_EventTile .mx_EventTile_searchHighlight a {
            background-color: #0dbd8b;
            background-color: var(--accent-color, #0dbd8b);
            color: #ffffff;
        }

.mx_EventTile .mx_EventTileBubble {
        margin-block: var(--EventTileBubble_margin-block);
        min-width: 100px;
    }

.mx_EventTile .mx_MImageBody .mx_MImageBody_thumbnail_container {
            display: -webkit-box;
            display: -ms-flexbox;
            display: flex;
            -webkit-box-align: center;
                -ms-flex-align: center;
                    align-items: center; /* on every layout */
        }

.mx_EventTile .mx_DisambiguatedProfile {
        color: var(--timeline-text-color);
        font: var(--cpd-font-body-md-regular);
        display: inline-block;
        padding-bottom: 0px;
        padding-top: 0px;
    }

.mx_EventTile .mx_ReactionsRow {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-flow: wrap;
            flex-flow: wrap;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        gap: 4px;
    }

.mx_EventTile .mx_ReplyChain--expanded .mx_EventTile_body {
            /* !important needed to override .mx_ReplyTile .mx_EventTile_content .mx_EventTile_body */
            display: block !important;
            overflow-y: scroll;
        }

.mx_EventTile .mx_ReplyChain--expanded .mx_EventTile_collapsedCodeBlock {
            /* !important needed due to .mx_ReplyTile .mx_EventTile_content .mx_EventTile_pre_container > pre */
            display: block !important;
        }

.mx_RoomView_searchResultsPanel .mx_EventTile.mx_EventTile_contextual {
            opacity: 0.4;
        }

.mx_EventTile.mx_EventTile_highlight,
    .mx_EventTile.mx_EventTile_highlight .markdown-body,
    .mx_EventTile.mx_EventTile_highlight .mx_EventTile_edited {
        color: #ff5b55;
        color: var(--alert, #ff5b55);
    }

.mx_EventTile.mx_EventTile_bubbleContainer {
        display: grid;
        grid-template-columns: 1fr 100px;
    }

.mx_EventTile.mx_EventTile_bubbleContainer .mx_EventTile_line {
            margin-right: 0;
            grid-column: 1 / 3;
            padding: 0 !important; /* override default padding of mx_EventTile_line so that we can be centered */
        }

.mx_EventTile.mx_EventTile_bubbleContainer .mx_EventTile_msgOption {
            grid-column: 2;
        }

.mx_EventTile.mx_EventTile_bubbleContainer:hover .mx_EventTile_line {
                /* To avoid bubble events being highlighted */
                background-color: inherit !important;
            }

.mx_EventTile.mx_EventTile_isEditing .mx_MessageTimestamp {
        visibility: hidden;
    }

.mx_EventTile[data-layout="irc"],
    .mx_EventTile[data-layout="group"] {
        --selected-message-border-width: 4px;

        /* TODO: adjust the values for IRC layout */
        --EventTile-box-shadow-offset-x: calc(50px + var(--selected-message-border-width));
        --EventTile-box-shadow-spread-radius: -50px;

        /* this is used for the tile for the event which is selected via the URL. */
    }

.mx_EventTile[data-layout="irc"] .mx_EventTile_e2eIcon, .mx_EventTile[data-layout="group"] .mx_EventTile_e2eIcon {
            position: absolute;
        }

.mx_EventTile[data-layout="irc"] .mx_MImageBody .mx_MImageBody_thumbnail_container, .mx_EventTile[data-layout="group"] .mx_MImageBody .mx_MImageBody_thumbnail_container {
                -webkit-box-pack: start;
                    -ms-flex-pack: start;
                        justify-content: flex-start;
                min-height: 2.75rem;
                min-width: 2.75rem;
            }

.mx_EventTile[data-layout="irc"] .mx_EventTile_line,
        .mx_EventTile[data-layout="irc"] .mx_EventTile_reply,
        .mx_EventTile[data-layout="group"] .mx_EventTile_line,
        .mx_EventTile[data-layout="group"] .mx_EventTile_reply {
            position: relative;
            border-radius: 8px;
        }

.mx_EventTile[data-layout="irc"] .mx_EventTile_reply, .mx_EventTile[data-layout="group"] .mx_EventTile_reply {
            margin-right: 10px;
        }

.mx_EventTile[data-layout="irc"] .mx_EventTile_msgOption, .mx_EventTile[data-layout="group"] .mx_EventTile_msgOption {
            float: right;
            text-align: right;
            position: relative;
            width: 90px;

            /* Hack to stop the height of this pushing the messages apart.
               Replaces margin-top: -6px. This interacts better with a read
               marker being in between. Content overflows. */
            height: 1px;
        }

.mx_EventTile[data-layout="irc"] .mx_EventTile_msgOption a, .mx_EventTile[data-layout="group"] .mx_EventTile_msgOption a {
                text-decoration: none;
            }

.mx_EventTile[data-layout="irc"].mx_EventTile_highlight .mx_EventTile_line, .mx_EventTile[data-layout="irc"].mx_EventTile_highlight .markdown-body .mx_EventTile_line, .mx_EventTile[data-layout="group"].mx_EventTile_highlight .mx_EventTile_line, .mx_EventTile[data-layout="group"].mx_EventTile_highlight .markdown-body .mx_EventTile_line {
                background-color: var(--timeline-highlights-color);
            }

.mx_EventTile[data-layout="irc"]:focus-visible:focus-within .mx_EventTile_line, .mx_EventTile[data-layout="irc"].mx_EventTile_actionBarFocused .mx_EventTile_line, .mx_EventTile[data-layout="irc"].mx_EventTile_isEditing .mx_EventTile_line, .mx_EventTile[data-layout="irc"].mx_EventTile_selected .mx_EventTile_line, .mx_EventTile[data-layout="group"]:focus-visible:focus-within .mx_EventTile_line, .mx_EventTile[data-layout="group"].mx_EventTile_actionBarFocused .mx_EventTile_line, .mx_EventTile[data-layout="group"].mx_EventTile_isEditing .mx_EventTile_line, .mx_EventTile[data-layout="group"].mx_EventTile_selected .mx_EventTile_line {
                background-color: var(--timeline-highlights-color);
            }

.mx_EventTile[data-layout="irc"].mx_EventTile_isEditing > .mx_EventTile_line, .mx_EventTile[data-layout="irc"].mx_EventTile_selected > .mx_EventTile_line, .mx_EventTile[data-layout="group"].mx_EventTile_isEditing > .mx_EventTile_line, .mx_EventTile[data-layout="group"].mx_EventTile_selected > .mx_EventTile_line {
                /* TODO: ultimately we probably want some transition on here. */
                -webkit-box-shadow: inset var(--EventTile-box-shadow-offset-x) 0 0 var(--EventTile-box-shadow-spread-radius)
                    var(--cpd-color-bg-action-primary-rest);
                        box-shadow: inset var(--EventTile-box-shadow-offset-x) 0 0 var(--EventTile-box-shadow-spread-radius)
                    var(--cpd-color-bg-action-primary-rest);
            }

.mx_EventTile[data-layout="irc"].mx_EventTile_info .mx_EventTile_e2eIcon, .mx_EventTile[data-layout="group"].mx_EventTile_info .mx_EventTile_e2eIcon {
                top: 0;
            }

.mx_EventTile[data-layout="irc"].mx_EventTile_continuation .mx_EventTile_line, .mx_EventTile[data-layout="group"].mx_EventTile_continuation .mx_EventTile_line {
            clear: both;
        }

.mx_EventTile[data-layout="irc"]:hover .mx_EventTile_line, .mx_EventTile[data-layout="group"]:hover .mx_EventTile_line {
                background-color: var(--timeline-highlights-color);
            }

.mx_EventTile[data-layout="bubble"] .mx_EventTileBubble, .mx_EventTile[data-layout="group"] .mx_EventTileBubble {
            margin-inline: auto;
        }

.mx_EventTile[data-layout="bubble"] .mx_ReplyChain, .mx_EventTile[data-layout="group"] .mx_ReplyChain {
            margin-bottom: 8px;
        }

.mx_EventTile[data-layout="irc"] {
        --EventTile_irc_line-padding-block: 1px;

        /* add --right-padding value of MessageTimestamp only */
        /* stylelint-disable-next-line declaration-colon-space-after */
        --EventTile_irc_line_info-margin-inline-start: calc(
            var(--name-width) + var(--icon-width) + 1 * var(--right-padding)
        );

        display: -webkit-box;

        display: -ms-flexbox;

        display: flex;
        -webkit-box-align: start;
            -ms-flex-align: start;
                align-items: flex-start;
        padding-top: 0;
    }

.mx_EventTile[data-layout="irc"] > a {
            text-decoration: none; /* timestamps are links which shouldn't be underlined */
            min-width: 46px;
            min-width: var(--MessageTimestamp-width); /* ensure space for EventTile without timestamp */
        }

.mx_EventTile[data-layout="irc"] > * {
            margin-right: var(--right-padding);
        }

.mx_EventTile[data-layout="irc"] .mx_EventTile_avatar,
        .mx_EventTile[data-layout="irc"] .mx_EventTile_e2eIcon {
            height: 1.125rem;
            height: var(--irc-line-height);
        }

.mx_EventTile[data-layout="irc"] .mx_EventTile_avatar,
        .mx_EventTile[data-layout="irc"] .mx_DisambiguatedProfile,
        .mx_EventTile[data-layout="irc"] .mx_EventTile_e2eIcon,
        .mx_EventTile[data-layout="irc"] .mx_EventTile_msgOption {
            -ms-flex-negative: 0;
                flex-shrink: 0;
        }

.mx_EventTile[data-layout="irc"] .mx_EventTile_avatar {
            -webkit-box-ordinal-group: 2;
                -ms-flex-order: 1;
                    order: 1;
            position: relative;
            display: -webkit-box;
            display: -ms-flexbox;
            display: flex;
            -webkit-box-align: center;
                -ms-flex-align: center;
                    align-items: center;

            /* Need to use important to override the js provided height and width values. */
        }

.mx_EventTile[data-layout="irc"] .mx_EventTile_avatar > .mx_BaseAvatar,
            .mx_EventTile[data-layout="irc"] .mx_EventTile_avatar > .mx_BaseAvatar > * {
                height: 0.875rem !important;
                width: 0.875rem !important;
                font-size: 0.625rem !important;
                line-height: 0.9375rem !important;
            }

.mx_EventTile[data-layout="irc"] .mx_DisambiguatedProfile {
            -webkit-box-ordinal-group: 3;
                -ms-flex-order: 2;
                    order: 2;
            width: var(--name-width);
            -webkit-margin-end: 0;
                    margin-inline-end: 0; /* override mx_EventTile > * */
        }

.mx_EventTile[data-layout="irc"] .mx_DisambiguatedProfile > .mx_DisambiguatedProfile_displayName {
                width: 100%;
                text-align: end;
                overflow: hidden;
                text-overflow: ellipsis;
            }

.mx_EventTile[data-layout="irc"] .mx_DisambiguatedProfile > .mx_DisambiguatedProfile_mxid {
                visibility: collapse;
                margin-left: 0; /* Override the inherited margin. */
                padding: 0 5px;
            }

.mx_EventTile[data-layout="irc"] .mx_DisambiguatedProfile:hover {
                overflow: visible;
                z-index: 10;
            }

.mx_EventTile[data-layout="irc"] .mx_DisambiguatedProfile:hover > .mx_DisambiguatedProfile_displayName {
                    overflow: visible;
                    display: inline;
                    background-color: var(--timeline-highlights-color);
                    border-radius: 8px 0 0 8px;
                    padding-right: 8px;
                }

.mx_EventTile[data-layout="irc"] .mx_DisambiguatedProfile:hover > .mx_DisambiguatedProfile_mxid {
                    visibility: visible;
                    opacity: 1;
                    background-color: var(--timeline-highlights-color);
                }

.mx_EventTile[data-layout="irc"] .mx_EventTile_e2eIcon {
            padding: 0;
            -webkit-box-flex: 0;
                -ms-flex-positive: 0;
                    flex-grow: 0;
            background-position: center;
        }

.mx_EventTile[data-layout="irc"] .mx_EventTile_line .mx_EventTile_e2eIcon,
            .mx_EventTile[data-layout="irc"] .mx_EventTile_line .mx_TextualEvent,
            .mx_EventTile[data-layout="irc"] .mx_EventTile_line .mx_ViewSourceEvent,
            .mx_EventTile[data-layout="irc"] .mx_EventTile_line .mx_MTextBody {
                /* add a 1px padding top and bottom because our larger
                emoji font otherwise gets cropped by anti-zalgo */
                padding: var(--EventTile_irc_line-padding-block) 0;
            }

.mx_EventTile[data-layout="irc"] .mx_EventTile_line .mx_EventTile_e2eIcon,
            .mx_EventTile[data-layout="irc"] .mx_EventTile_line .mx_TextualEvent,
            .mx_EventTile[data-layout="irc"] .mx_EventTile_line .mx_MTextBody {
                display: inline-block;
            }

.mx_EventTile[data-layout="irc"] .mx_EventTile_line .mx_ReplyTile .mx_MTextBody {
                    display: -webkit-box; /* Enable -webkit-line-clamp */
                }

.mx_EventTile[data-layout="irc"] .mx_EventTile_line,
        .mx_EventTile[data-layout="irc"] .mx_EventTile_reply {
            -webkit-box-ordinal-group: 4;
                -ms-flex-order: 3;
                    order: 3;
            display: -webkit-box;
            display: -ms-flexbox;
            display: flex;
            -webkit-box-orient: vertical;
            -webkit-box-direction: normal;
                -ms-flex-direction: column;
                    flex-direction: column;
            -webkit-box-flex: 1;
                -ms-flex-positive: 1;
                    flex-grow: 1;
            -ms-flex-negative: 1;
                flex-shrink: 1;
            min-width: 0;
        }

.mx_EventTile[data-layout="irc"] .mx_EventTile_reply {
            -webkit-box-ordinal-group: 5;
                -ms-flex-order: 4;
                    order: 4;
        }

.mx_EventTile[data-layout="irc"] .mx_EventTile_msgOption {
            -webkit-box-ordinal-group: 6;
                -ms-flex-order: 5;
                    order: 5;
        }

.mx_EventTile[data-layout="irc"] .mx_EventTile_msgOption .mx_ReadReceiptGroup {
                inset-block-start: -0.3rem; /* (var(--irc-line-height) - avatar height) / 2 */
            }

.mx_EventTile[data-layout="irc"] .mx_ReplyChain {
            margin: 0;
        }

.mx_EventTile[data-layout="irc"] .mx_MessageTimestamp {
            text-align: right;
        }

.mx_EventTile[data-layout="irc"] .mx_EditMessageComposer_buttons {
            position: relative;
        }

.mx_EventTile[data-layout="irc"] .mx_EventTileBubble {
            position: relative;
            left: var(--EventTile_irc_line_info-margin-inline-start);
        }

.mx_EventTile[data-layout="irc"] .mx_EventTileBubble.mx_cryptoEvent {
                left: auto;
                left: initial;
            }

.mx_EventTile[data-layout="irc"] .mx_ReplyTile .mx_EventTileBubble {
            left: auto;
            left: initial; /* Cancel the value specified above for the tile inside ReplyTile */
        }

.mx_EventTile[data-layout="irc"].mx_EventTile_isEditing > .mx_EventTile_line .mx_EditMessageComposer {
                /* add space for the stroke on box-shadow */
                -webkit-padding-start: calc(
                    var(--selected-message-border-width) + var(--EditMessageComposer-padding-inline)
                );
                        padding-inline-start: calc(
                    var(--selected-message-border-width) + var(--EditMessageComposer-padding-inline)
                );
            }

.mx_EventTile[data-layout="irc"].mx_EventTile_info .mx_EventTile_avatar {
                left: var(--EventTile_irc_line_info-margin-inline-start);
                top: 0;
                margin-right: var(--right-padding);
                padding-block: var(--EventTile_irc_line-padding-block);
            }

.mx_EventTile[data-layout="irc"].mx_EventTile_info .mx_EventTile_line {
                -webkit-margin-start: var(--EventTile_irc_line_info-margin-inline-start);
                        margin-inline-start: var(--EventTile_irc_line_info-margin-inline-start);
            }

.mx_EventTile[data-layout="irc"].mx_EventTile_info .mx_ViewSourceEvent, 
            .mx_EventTile[data-layout="irc"].mx_EventTile_info .mx_TextualEvent {
                line-height: 1.125rem;
                line-height: var(--irc-line-height);
            }

.mx_EventTile[data-layout="irc"].mx_EventTile_emote .mx_EventTile_avatar {
                /* add --right-padding value of MessageTimestamp only */
                margin-left: calc(var(--name-width) + var(--icon-width) + 1 * var(--right-padding));
            }

.mx_EventTile[data-layout="irc"] .mx_EventTile_footer {
            margin: var(--cpd-space-1-5x) 0;
        }

.mx_EventTile[data-layout="group"] .mx_EventTile_avatar {
            top: 14px;
            left: 8px;
        }

.mx_EventTile[data-layout="group"] .mx_EventTile_line,
        .mx_EventTile[data-layout="group"] .mx_EventTile_reply {
            padding-top: var(--EventTile_group_line-spacing-block-start);
            padding-bottom: var(--EventTile_group_line-spacing-block-end);
            padding-left: var(--EventTile_group_line-spacing-inline-start);
            line-height: var(--EventTile_group_line-line-height);
        }

.mx_EventTile[data-layout="group"] .mx_EventTile_e2eIcon {
            inset: 0 0 0 44px;

            /* Keep height equal to text for alignment */
            height: var(--EventTile_group_line-line-height);
            margin: 1px;
        }

.mx_EventTile[data-layout="group"] .mx_EventTile_msgOption {
            -webkit-margin-end: 10px;
                    margin-inline-end: 10px;
        }

.mx_EventTile[data-layout="group"] .mx_EventTile_msgOption .mx_ReadReceiptGroup {
                /* This aligns the avatar with the last line of the */
                /* message. We want to move it one line up */
                /* See .mx_EventTile[data-layout=group] .mx_EventTile_line in _EventTile.scss */
                inset-block-start: calc(-1.375rem - 3px);
            }

.mx_EventTile[data-layout="group"] .mx_MessageTimestamp {
            position: absolute;
            left: 0;
            text-align: center;
        }

.mx_EventTile[data-layout="group"] .mx_ThreadSummary,
        .mx_EventTile[data-layout="group"] .mx_ThreadSummary_icon {
            margin-left: 64px;
        }

.mx_EventTile[data-layout="group"] .mx_EventTile_footer {
            margin: var(--cpd-space-1x) var(--cpd-space-16x);
        }

.mx_EventTile[data-layout="group"] > .mx_DisambiguatedProfile {
            line-height: 1.25rem;
            margin-left: 64px;
            max-width: calc(100% - 64px);
        }

.mx_EventTile[data-layout="group"] > .mx_EventTile_avatar {
            position: absolute;
            z-index: 9;
        }

.mx_RoomView_timeline_rr_enabled .mx_EventTile[data-layout="group"] {

            /* on ELS we need the margin to allow interaction with the expand/collapse button */
            /* which is normally in the RR gutter */
        }

.mx_RoomView_timeline_rr_enabled .mx_EventTile[data-layout="group"] .mx_ThreadSummary,
            .mx_RoomView_timeline_rr_enabled .mx_EventTile[data-layout="group"] .mx_ThreadSummary_icon,
            .mx_RoomView_timeline_rr_enabled .mx_EventTile[data-layout="group"] .mx_EventTile_line {
                margin-right: 80px;
                min-height: 0.875rem;
            }

.mx_RoomView_timeline_rr_enabled .mx_EventTile[data-layout="group"] .mx_ThreadSummary {
                /* leave space on both left & right gutters */
                max-width: min(calc(100% - 64px - 80px), 600px);
            }

.mx_EventTile[data-layout="group"].mx_EventTile_continuation {
            padding-top: 0;
        }

.mx_EventTile[data-layout="group"].mx_EventTile_info {

            padding-top: 0;
        }

.mx_EventTile[data-layout="group"].mx_EventTile_info .mx_EventTile_avatar,
            .mx_EventTile[data-layout="group"].mx_EventTile_info .mx_EventTile_e2eIcon {
                line-height: 1;
                margin: 3px 0 2px;
            }

.mx_EventTile[data-layout="group"].mx_EventTile_info .mx_EventTile_avatar {
                top: auto;
                top: initial;
                inset-inline-start: 64px;
                height: 14px;
            }

.mx_EventTile[data-layout="group"].mx_EventTile_info .mx_EventTile_line {
                padding-block: 3px 2px;
                /* 20px: avatar area */
                -webkit-padding-start: calc(var(--EventTile_group_line-spacing-inline-start) + 20px);
                        padding-inline-start: calc(var(--EventTile_group_line-spacing-inline-start) + 20px);
            }

.mx_EventTile[data-layout="group"].mx_EventTile_info .mx_EventTile_line .mx_MessageTimestamp {
                    top: 0;
                }

.mx_EventTile[data-layout="group"].mx_EventTile_info.mx_EventTile_selected .mx_EventTile_line {
                /* TODO: check if this would be necessary; */
                -webkit-padding-start: calc(var(--EventTile_group_line-spacing-inline-start) + 20px);
                        padding-inline-start: calc(var(--EventTile_group_line-spacing-inline-start) + 20px);
            }

.mx_EventTile[data-layout="bubble"] {
        /* Other half of the gutter is provided by margin-bottom on the last tile
        of the section */
        margin-top: calc(var(--gutterSize) / 2);
        margin-left: var(--EventTile_bubble-margin-inline-start);

        /* Reset default values. TODO: remove */
        max-width: none;
        max-width: initial;
        padding-top: 0;
    }

.mx_EventTile[data-layout="bubble"] .mx_EventTile_msgOption .mx_ReadReceiptGroup {
                position: absolute;
                inset-block-start: auto;

                /* as close to right gutter without clipping as possible */
                inset-inline-end: calc(-1 * var(--ReadReceiptGroup_EventBubbleTile-spacing-end));

                /* (EventTileLine.line-height - ReadReceiptGroup.height) / 2 */
                /* this centers the ReadReceiptGroup if we’ve got a single line */
                inset-block-end: calc((1.125rem - 24px) / 2);
            }

.mx_EventTile[data-layout="bubble"] .mx_EventTileBubble {
            /* Timestamps are inside the tile, so the width can be less constrained */
            max-width: 600px;
        }

.mx_EventTile[data-layout="bubble"].mx_EventTile_continuation {
            margin-top: 2px;
        }

.mx_EventTile[data-layout="bubble"].mx_EventTile_lastInSection {
            /* Other half of the gutter is provided by margin-top on the first
            tile of the section */
            margin-bottom: calc(var(--gutterSize) / 2);
        }

.mx_GenericEventListSummary[data-layout="irc"] .mx_EventTile_line .mx_RedactedBody, .mx_GenericEventListSummary[data-layout="group"] .mx_EventTile_line .mx_RedactedBody {
            line-height: 1; /* remove spacing between lines */
        }

/* Apply only collapsed events block */

.mx_GenericEventListSummary[data-layout="irc"] > .mx_EventTile_line {
            /* add --right-padding value of MessageTimestamp and avatar only */
            /* stylelint-disable-next-line declaration-colon-space-after */
            padding-left: calc(
                var(--name-width) + var(--icon-width) + 46px + 2 * var(--right-padding)
            );
            padding-left: calc(
                var(--name-width) + var(--icon-width) + var(--MessageTimestamp-width) + 2 * var(--right-padding)
            );
        }

.mx_GenericEventListSummary[data-layout="group"] .mx_EventTile_line {
            padding-left: 64px;
        }

.mx_GenericEventListSummary[data-layout="group"] .mx_GenericEventListSummary_unstyledList > .mx_EventTile_info .mx_EventTile_avatar ~ .mx_EventTile_line {
            /* override padding-left $left-gutter */
            -webkit-padding-start: calc(var(--EventTile_group_line-spacing-inline-start) + 20px);
                    padding-inline-start: calc(var(--EventTile_group_line-spacing-inline-start) + 20px);
        }

.mx_EventTile_content {
    /*
    all the overflow-y: hidden; are to trap Zalgos -
    but they introduce an implicit overflow-x: auto.
    so make that explicitly hidden too to avoid random
    horizontal scrollbars occasionally appearing, like in
    https://github.com/vector-im/vector-web/issues/1154
    */
    overflow-y: hidden;
    overflow-x: hidden;
    margin-right: var(--EventTile_content-margin-inline-end);
}

.mx_EventTile_content .mx_EventTile_edited,
    .mx_EventTile_content .mx_EventTile_pendingModeration {
        -webkit-user-select: none;
           -moz-user-select: none;
            -ms-user-select: none;
                user-select: none;
        font-size: 0.75rem;
        color: #edf3ff;
        color: var(--secondary-content, #edf3ff);
        display: inline-block;
        -webkit-margin-start: 9px;
                margin-inline-start: 9px;
    }

.mx_EventTile_content .mx_EventTile_edited {
        cursor: pointer;
    }

.mx_EventTile_content .markdown-body {
        font: var(--cpd-font-body-md-regular) !important;
        letter-spacing: var(--cpd-font-letter-spacing-body-md);
        font-family: inherit !important;
        white-space: normal !important;
        line-height: inherit !important;
        background-color: inherit;
        color: inherit;

        /*
        // actually, removing the Italic TTF provides
        // better results seemingly

        // compensate for Nunito italics being terrible
        // https://github.com/google/fonts/issues/1726
        em {
            transform: skewX(-14deg);
            display: inline-block;
        }
        */
    }

/* inherit the colour from the dark or light theme by default (but not for code blocks) */

.mx_EventTile_content .markdown-body pre,
        .mx_EventTile_content .markdown-body code {
            font-family: "Inconsolata", "", "Apple Color Emoji", "Segoe UI Emoji", "Courier",
    monospace, "Noto Color Emoji" !important;
            font-family: var(--font-family-monospace, "Inconsolata", var(--emoji-font-family), "Apple Color Emoji", "Segoe UI Emoji", "Courier",
    monospace, "Noto Color Emoji") !important;
            background-color: #21262c;
            background-color: var(--system, #21262c);
        }

.mx_EventTile_content .markdown-body code:not(pre *) {
            background-color: #2a3039;
            border: 1px solid #2a3039;
            border-radius: 4px;
            /* The horizontal padding is added by github-markdown-css .markdown-body */
            padding: 2px 0;
            /* Avoid inline code blocks to be sticked when on multiple lines */
            line-height: 1.375rem;
            /* Avoid the border to be glued to the other words */
            margin-right: 2px;
        }

.mx_EventTile_content .markdown-body code {
            white-space: pre-wrap; /* don't collapse spaces in inline code blocks */
        }

.mx_EventTile_content .markdown-body pre {
            /* have to use overlay rather than auto otherwise Linux and Windows */
            /* Chrome gets very confused about vertical spacing: */
            /* https://github.com/vector-im/vector-web/issues/754 */
            overflow-x: overlay;
            overflow-y: visible;
        }

.mx_EventTile_content .markdown-body pre::-webkit-scrollbar-corner {
                background: transparent;
            }

.mx_EventTile_content .markdown-body pre {

            border: 1px solid #6f7882;

            border: 1px solid var(--quinary-content, #6f7882);
}

.mx_EventTile_content .markdown-body pre code {
                white-space: pre; /* we want code blocks to be scrollable and not wrap */
            }

.mx_EventTile_content .markdown-body pre code > * {
                    display: inline;
                }

.mx_EventTile_content .markdown-body h1,
        .mx_EventTile_content .markdown-body h2,
        .mx_EventTile_content .markdown-body h3,
        .mx_EventTile_content .markdown-body h4,
        .mx_EventTile_content .markdown-body h5,
        .mx_EventTile_content .markdown-body h6 {
            font-family: inherit !important;
            color: inherit;
        }

/* Make h1 and h2 the same size as h3. */

.mx_EventTile_content .markdown-body h1,
        .mx_EventTile_content .markdown-body h2 {
            font-size: 1.5em;
            border-bottom: none !important; /* override GFM */
        }

.mx_EventTile_content .markdown-body a {
            color: var(--primary-color);
        }

.mx_EventTile_content .markdown-body blockquote {
            border-left: 2px solid var(--cpd-color-border-interactive-primary);
            color: #edf3ff;
            color: var(--secondary-content, #edf3ff);
            border-radius: 2px;
            padding: 0 10px;
        }

/* Override nested lists being lower-roman */

.mx_EventTile_content .markdown-body ol ol,
        .mx_EventTile_content .markdown-body ul ol {
            list-style-type: revert;
        }

/* Make list type disc to match rich text editor */

.mx_EventTile_content .markdown-body ul {
            list-style-type: disc;
        }

/* override styles from the base markdown CSS that put markdown content on its own line,
           as this isn't what we want for richtext emote content.
         */

.mx_EventTile_content .markdown-body::before {
            display: none;
        }

.mx_EventTile_content .markdown-body::after {
            display: none;
        }

/* Spoiler stuff */

.mx_EventTile_spoiler {
    cursor: pointer;

    /* clear button styles */
    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none;
    background: none;
    border: none;
    padding: 0;
    margin: 0;
    font-size: inherit;
    font-family: inherit;
    line-height: inherit;
    text-align: inherit;
}

.mx_EventTile_spoiler .mx_EventTile_spoiler_reason {
        color: #a1b2d1;
        font-size: 0.6875rem;
    }

.mx_EventTile_spoiler .mx_EventTile_spoiler_content {
        -webkit-filter: blur(5px) saturate(0.1) sepia(1);
                filter: blur(5px) saturate(0.1) sepia(1);
        -webkit-transition-duration: 0.5s;
                transition-duration: 0.5s;
    }

.mx_EventTile_spoiler.visible > .mx_EventTile_spoiler_content {
        -webkit-filter: none;
                filter: none;
        -webkit-user-select: auto;
           -moz-user-select: auto;
            -ms-user-select: auto;
                user-select: auto;
    }

.mx_EventTile_bigEmoji {
    font-size: 48px;
    line-height: 57px;
}

.mx_EventTile_bigEmoji .mx_Emoji {
        font-size: inherit !important;
    }

.mx_EventTile_e2eIcon {
    position: relative;
    width: 14px;
    height: 14px;
    display: block;
    background-repeat: no-repeat;
    background-size: contain;
}

.mx_EventTile_e2eIcon::before,
    .mx_EventTile_e2eIcon::after {
        content: "";
        display: block;
        position: absolute;
        inset: 0;
        -webkit-mask-repeat: no-repeat;
                mask-repeat: no-repeat;
        -webkit-mask-position: center;
                mask-position: center;
        -webkit-mask-size: contain;
                mask-size: contain;
    }

.mx_EventTile_e2eIcon::before {
        -webkit-mask-size: 80%;
                mask-size: 80%;
    }

.mx_EventTile_e2eIcon.mx_EventTile_e2eIcon_warning::after {
        -webkit-mask-image: url(../../img/e2e/warning.71ffc83.svg);
                mask-image: url(../../img/e2e/warning.71ffc83.svg); /* (!) in a shield */
        background-color: #ff5b55; /* red */
    }

.mx_EventTile_e2eIcon.mx_EventTile_e2eIcon_normal::after {
        -webkit-mask-image: url(../../img/e2e/normal.ab42a7b.svg);
                mask-image: url(../../img/e2e/normal.ab42a7b.svg); /* regular shield */
        background-color: var(--cpd-color-icon-tertiary); /* grey */
    }

.mx_EventTile_e2eIcon.mx_EventTile_e2eIcon_decryption_failure::after {
        -webkit-mask-image: url(../../img/e2e/decryption-failure.d4a03e3.svg);
                mask-image: url(../../img/e2e/decryption-failure.d4a03e3.svg); /* key in a circle */
        background-color: var(--cpd-color-icon-tertiary);
    }

.mx_EventTile_body a:hover {
        text-decoration: underline;
    }

.mx_EventTile_body pre {
        border: 1px solid transparent;
    }

.mx_EventTile:hover .mx_EventTile_body pre,
        .mx_EventTile:focus-visible:focus-within .mx_EventTile_body pre {
            border: 1px solid #edf3ff;
            border: 1px solid var(--tertiary-content, #edf3ff);
        }

/* selector wrongly applies to pill avatars but those have explicit width/height passed at a higher specificity */

.mx_EventTile_body.markdown-body img {
        -o-object-fit: contain;
           object-fit: contain;
        -o-object-position: left top;
           object-position: left top;

        /* Override the default colors of the 'github-markdown-css' library
        (#fff for light theme, #000 for dark theme) to match the inherited theme */
        background-color: inherit !important;
    }

.mx_EventTile_clamp .mx_EventTile_body {
        -webkit-line-clamp: 2;
        -webkit-box-orient: vertical;
        overflow: hidden;
        text-overflow: ellipsis;
        display: -webkit-box;
    }

.mx_EventTile_body .mx_EventTile_pre_container {
        /* For correct positioning of _copyButton (See TextualBody) */
        position: relative;
    }

.mx_EventTile_body .mx_EventTile_pre_container:focus-within .mx_EventTile_button, .mx_EventTile_body .mx_EventTile_pre_container:hover .mx_EventTile_button {
                visibility: visible;
            }

.mx_EventTile_body .mx_EventTile_pre_container .mx_EventTile_collapsedCodeBlock {
            max-height: 30vh;
            padding-top: 12px;
            padding-bottom: 12px;
        }

/* Inserted adjacent to <pre> blocks, (See TextualBody) */

.mx_EventTile_body .mx_EventTile_pre_container .mx_EventTile_button {
            position: absolute;
            top: 8px;
            right: 8px;
            width: 19px;
            height: 19px;
            visibility: hidden;
            background-color: var(--timeline-text-color);
        }

.mx_EventTile_body .mx_EventTile_pre_container .mx_EventTile_button.mx_EventTile_buttonBottom {
                top: 33px;
            }

.mx_EventTile_body .mx_EventTile_pre_container .mx_EventTile_button.mx_EventTile_collapseButton,
            .mx_EventTile_body .mx_EventTile_pre_container .mx_EventTile_button.mx_EventTile_expandButton {
                -webkit-mask-size: 75%;
                        mask-size: 75%;
            }

.mx_EventTile_body .mx_EventTile_pre_container .mx_EventTile_copyButton {
            height: 17px;
            -webkit-mask-image: url(../../icons/copy.c6839e9.svg);
                    mask-image: url(../../icons/copy.c6839e9.svg);
            -webkit-mask-position: center center;
                    mask-position: center center;
            -webkit-mask-repeat: no-repeat;
                    mask-repeat: no-repeat;
            -webkit-mask-size: contain;
                    mask-size: contain;
            right: 9px;
            width: 17px;
        }

.mx_EventTile_lineNumbers {
    float: left;
    margin: 0 0.5em 0 -1.5em;
    color: gray;
}

.mx_EventTile_lineNumbers span {
        text-align: right;
        display: block;
        padding-left: 1em;
    }

.mx_EventTile_button {
    display: inline-block;
    cursor: pointer;
}

.mx_EventTile_collapseButton,
.mx_EventTile_expandButton {
    -webkit-mask-position: center;
            mask-position: center;
    -webkit-mask-repeat: no-repeat;
            mask-repeat: no-repeat;
}

.mx_EventTile_collapseButton {
    -webkit-mask-image: url(../../icons/collapse.626523d.svg);
            mask-image: url(../../icons/collapse.626523d.svg);
}

.mx_EventTile_expandButton {
    -webkit-mask-image: url(../../icons/expand.ad5c296.svg);
            mask-image: url(../../icons/expand.ad5c296.svg);
}

.mx_EventTile_tileError {
    color: red;
    text-align: center;

    /* Remove some of the default tile padding so that the error is centered */
    margin-right: 0;
}

.mx_EventTile_tileError .mx_EventTile_line {
        padding-left: 0;
        margin-right: 0;
    }

.mx_EventTile_tileError .mx_EventTile_line span {
            padding: 4px 8px;
        }

.mx_EventTile_tileError a {
        margin-left: 1em;
    }

.mx_EventTile:hover .mx_MessageActionBar,
.mx_EventTile.mx_EventTile_actionBarFocused .mx_MessageActionBar,
[data-whatinput="keyboard"] .mx_EventTile:focus-within .mx_MessageActionBar,
.mx_EventTile:focus-visible:focus-within .mx_MessageActionBar {
    visibility: visible;
}

.mx_EventTile[data-shape="ThreadsList"],
.mx_EventTile[data-shape="Notification"] {
    --topOffset: 12px;
    --leftOffset: 48px; /* notification dot next to the timestamp */

    margin: calc(12px + 1px) 0 12px;

    margin: calc(var(--topOffset) + 1px) 0 var(--topOffset); /* include the height of horizontal line */
    padding: 8px;
    border-radius: 8px;

    display: -webkit-box;

    display: -ms-flexbox;

    display: flex;
    -ms-flex-flow: wrap;
        flex-flow: wrap;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
}

.mx_EventTile[data-shape="ThreadsList"]::after,
    .mx_EventTile[data-shape="ThreadsList"]::before,
    .mx_EventTile[data-shape="Notification"]::after,
    .mx_EventTile[data-shape="Notification"]::before {
        content: "";
        position: absolute;
    }

.mx_EventTile[data-shape="ThreadsList"]::after, .mx_EventTile[data-shape="Notification"]::after { /* exclude the height of horizontal line */
        inset: auto calc(-1 * var(--cpd-space-2x)) calc(-1 * var(--topOffset) - 1px) calc(var(--leftOffset) + 8px);

        height: 1px;
        background-color: #6f7882;
        background-color: var(--quinary-content, #6f7882);
        pointer-events: none; /* disable the message action bar on hover */
    }

.mx_EventTile[data-shape="ThreadsList"]::before, .mx_EventTile[data-shape="Notification"]::before {
        inset: 0;
        pointer-events: none; /* ensures the title for the sender name can be correctly displayed */
    }

.mx_EventTile[data-shape="ThreadsList"][data-notification="total"]::before, .mx_EventTile[data-shape="Notification"][data-notification="total"]::before {
        background-color: var(--cpd-color-icon-tertiary);
    }

.mx_EventTile[data-shape="ThreadsList"][data-notification="highlight"]::before, .mx_EventTile[data-shape="Notification"][data-notification="highlight"]::before {
        background-color: #ff5b55;
        background-color: var(--alert, #ff5b55);
    }

.mx_EventTile[data-shape="ThreadsList"]:last-child::after, .mx_EventTile[data-shape="Notification"]:last-child::after {
            content: normal;
            content: initial;
        }

.mx_EventTile[data-shape="ThreadsList"]:last-child, .mx_EventTile[data-shape="Notification"]:last-child {

        margin-bottom: 0;
}

.mx_EventTile[data-shape="ThreadsList"]:first-child, .mx_EventTile[data-shape="Notification"]:first-child {
        margin-top: 0;
    }

.mx_EventTile[data-shape="ThreadsList"] .mx_EventTile_avatar, .mx_EventTile[data-shape="Notification"] .mx_EventTile_avatar {
        inset: 8px auto auto 8px;
    }

.mx_EventTile[data-shape="ThreadsList"] .mx_EventTile_details, .mx_EventTile[data-shape="Notification"] .mx_EventTile_details {
        overflow: hidden;
    }

.mx_EventTile[data-shape="ThreadsList"] .mx_DisambiguatedProfile, .mx_EventTile[data-shape="Notification"] .mx_DisambiguatedProfile {
        display: -webkit-inline-box;
        display: -ms-inline-flexbox;
        display: inline-flex;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        -webkit-box-flex: 1;
            -ms-flex: 1;
                flex: 1;
    }

.mx_EventTile[data-shape="ThreadsList"] .mx_DisambiguatedProfile .mx_DisambiguatedProfile_displayName,
        .mx_EventTile[data-shape="ThreadsList"] .mx_DisambiguatedProfile .mx_DisambiguatedProfile_mxid,
        .mx_EventTile[data-shape="Notification"] .mx_DisambiguatedProfile .mx_DisambiguatedProfile_displayName,
        .mx_EventTile[data-shape="Notification"] .mx_DisambiguatedProfile .mx_DisambiguatedProfile_mxid {
            display: block;
            overflow: hidden;
            text-overflow: ellipsis;
        }

.mx_EventTile[data-shape="ThreadsList"] .mx_DisambiguatedProfile .mx_DisambiguatedProfile_displayName, .mx_EventTile[data-shape="Notification"] .mx_DisambiguatedProfile .mx_DisambiguatedProfile_displayName {
            -webkit-box-flex: 0;
                -ms-flex: none;
                    flex: none;
            max-width: 100%;
        }

.mx_EventTile[data-shape="ThreadsList"] .mx_DisambiguatedProfile .mx_DisambiguatedProfile_mxid, .mx_EventTile[data-shape="Notification"] .mx_DisambiguatedProfile .mx_DisambiguatedProfile_mxid {
            -webkit-box-flex: 1;
                -ms-flex: 1;
                    flex: 1;
        }

.mx_EventTile[data-shape="ThreadsList"] .mx_EventTile_line, .mx_EventTile[data-shape="Notification"] .mx_EventTile_line {
        width: 100%;
        -webkit-box-sizing: border-box;
                box-sizing: border-box;
        padding-bottom: 0;
        -webkit-padding-start: var(--leftOffset);
                padding-inline-start: var(--leftOffset);
    }

.mx_EventTile[data-shape="ThreadsList"] .mx_MessageTimestamp, .mx_EventTile[data-shape="Notification"] .mx_MessageTimestamp {
        font-size: 0.75rem;
        width: auto;
        width: initial; /* Cancel the default width */
        overflow: hidden; /* ensure correct overflow behavior */
        text-overflow: ellipsis;
        position: static;
        position: initial;
        margin-left: auto; /* to ensure it's end-aligned even if it's the only element of its parent */
    }

.mx_EventTile[data-shape="ThreadsList"]:hover, .mx_EventTile[data-shape="Notification"]:hover {
        background-color: var(--panels, var(--cpd-color-gray-600));
    }

/* ThreadsList has always group layout */

.mx_EventTile[data-shape="ThreadsList"][data-layout="group"]:hover .mx_EventTile_line, .mx_EventTile[data-shape="Notification"][data-layout="group"]:hover .mx_EventTile_line {
            background-color: inherit;
            -webkit-box-shadow: none;
                    box-shadow: none; /* don't show the verification left stroke in the thread list */
        }

.mx_EventTile[data-shape="ThreadsList"] .mx_ThreadPanel_replies {
        margin-top: 8px;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        position: relative;
        font: var(--cpd-font-body-sm-regular);
    }

.mx_EventTile[data-shape="ThreadsList"] .mx_ThreadPanel_replies::before {
            content: "";
            display: inline-block;
            -webkit-mask-image: url(../../icons/threads.182e3f3.svg);
                    mask-image: url(../../icons/threads.182e3f3.svg);
            -webkit-mask-position: center;
                    mask-position: center;
            -webkit-mask-repeat: no-repeat;
                    mask-repeat: no-repeat;
            -webkit-mask-size: contain;
                    mask-size: contain;
            height: 18px;
            min-width: 18px;
            background-color: var(--icon-button-color, var(--cpd-color-icon-tertiary)) !important;
        }

.mx_EventTile[data-shape="ThreadsList"] .mx_ThreadPanel_replies .mx_ThreadPanel_replies_amount {
            color: #edf3ff;
            color: var(--secondary-content, #edf3ff);
            font-weight: var(--cpd-font-weight-semibold);
            white-space: nowrap;
            position: relative;
            padding: 0 12px 0 8px;
        }

.mx_EventTile[data-shape="ThreadsList"] .mx_ThreadPanel_replies .mx_ThreadSummary_content {
            text-overflow: ellipsis;
            overflow: hidden;
            white-space: nowrap;
        }

/* For style rules of ThreadView, see _ThreadPanel.pcss */

.mx_ThreadView {
    --ThreadView_group_spacing-start: 56px; /* 56px: 64px - 8px (padding) */
    --ThreadView_group_spacing-end: 8px;
}

/* same as padding */

.mx_ThreadView .mx_EventTile {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column;
    }

.mx_ThreadView .mx_EventTile .mx_EventTile_roomName {
            display: none;
        }

/* handling for hidden events (e.g reactions) in the thread view */

.mx_ThreadView .mx_EventTile.mx_EventTile_info .mx_EventTile_avatar {
                position: absolute;
                top: 1.5px; /* Align with hidden event content */
                margin-top: 0;
                margin-bottom: 0;
                width: 14px; /* avatar img size */
                height: 14px; /* avatar img size */
            }

.mx_ThreadView .mx_EventTile.mx_EventTile_info.mx_EventTile_selected .mx_EventTile_line,
            .mx_ThreadView .mx_EventTile.mx_EventTile_info .mx_EventTile_line {

                -webkit-padding-start: 0;

                        padding-inline-start: 0;
                line-height: 0.75rem;
            }

.mx_ThreadView .mx_EventTile.mx_EventTile_info.mx_EventTile_selected .mx_EventTile_line .mx_EventTile_content,
                .mx_ThreadView .mx_EventTile.mx_EventTile_info.mx_EventTile_selected .mx_EventTile_line .mx_RedactedBody,
                .mx_ThreadView .mx_EventTile.mx_EventTile_info .mx_EventTile_line .mx_EventTile_content,
                .mx_ThreadView .mx_EventTile.mx_EventTile_info .mx_EventTile_line .mx_RedactedBody {
                    width: auto;
                    font-size: 0.75rem;
                }

.mx_ThreadView .mx_EventTile.mx_EventTile_info[data-layout="irc"],
            .mx_ThreadView .mx_EventTile.mx_EventTile_info[data-layout="group"] {
                padding-top: 0;
            }

.mx_ThreadView .mx_EventTile.mx_EventTile_info[data-layout="irc"] .mx_EventTile_avatar, .mx_ThreadView .mx_EventTile.mx_EventTile_info[data-layout="group"] .mx_EventTile_avatar {
                    /* 14px: avatar width, 4px: align with text */
                    left: calc(46px + 14px - 4px);
                    left: calc(var(--MessageTimestamp-width) + 14px - 4px);
                    z-index: 9; /* position above the hover styling */
                }

.mx_ThreadView .mx_EventTile.mx_EventTile_info[data-layout="irc"] .mx_MessageTimestamp, .mx_ThreadView .mx_EventTile.mx_EventTile_info[data-layout="group"] .mx_MessageTimestamp {
                    top: 2px; /* Align with avatar */
                }

.mx_ThreadView .mx_EventTile.mx_EventTile_info[data-layout="irc"].mx_EventTile_selected .mx_EventTile_line .mx_EventTile_content,
                    .mx_ThreadView .mx_EventTile.mx_EventTile_info[data-layout="irc"].mx_EventTile_selected .mx_EventTile_line .mx_RedactedBody,
                    .mx_ThreadView .mx_EventTile.mx_EventTile_info[data-layout="irc"] .mx_EventTile_line .mx_EventTile_content,
                    .mx_ThreadView .mx_EventTile.mx_EventTile_info[data-layout="irc"] .mx_EventTile_line .mx_RedactedBody,
                    .mx_ThreadView .mx_EventTile.mx_EventTile_info[data-layout="group"].mx_EventTile_selected .mx_EventTile_line .mx_EventTile_content,
                    .mx_ThreadView .mx_EventTile.mx_EventTile_info[data-layout="group"].mx_EventTile_selected .mx_EventTile_line .mx_RedactedBody,
                    .mx_ThreadView .mx_EventTile.mx_EventTile_info[data-layout="group"] .mx_EventTile_line .mx_EventTile_content,
                    .mx_ThreadView .mx_EventTile.mx_EventTile_info[data-layout="group"] .mx_EventTile_line .mx_RedactedBody {
                        /* 14px: avatar width, 6px: 20px - 14px */
                        -webkit-margin-start: calc(14px + 6px);
                                margin-inline-start: calc(14px + 6px);
                    }

.mx_ThreadView .mx_EventTile.mx_EventTile_info[data-layout="bubble"] .mx_EventTile_avatar {
                    inset-inline-start: 0;
                }

.mx_ThreadView .mx_EventTile.mx_EventTile_info[data-layout="bubble"].mx_EventTile_selected .mx_EventTile_line .mx_EventTile_content,
                    .mx_ThreadView .mx_EventTile.mx_EventTile_info[data-layout="bubble"].mx_EventTile_selected .mx_EventTile_line .mx_RedactedBody,
                    .mx_ThreadView .mx_EventTile.mx_EventTile_info[data-layout="bubble"] .mx_EventTile_line .mx_EventTile_content,
                    .mx_ThreadView .mx_EventTile.mx_EventTile_info[data-layout="bubble"] .mx_EventTile_line .mx_RedactedBody {
                        -webkit-margin-start: calc(var(--ThreadView_group_spacing-start) + 14px + 6px);
                                margin-inline-start: calc(var(--ThreadView_group_spacing-start) + 14px + 6px);
                    }

.mx_ThreadView .mx_EventTile[data-layout="irc"],
        .mx_ThreadView .mx_EventTile[data-layout="group"] {
            -webkit-padding-before: 16px;
                    padding-block-start: 16px;
        }

.mx_ThreadView .mx_EventTile[data-layout="irc"] .mx_EventTile_line,
            .mx_ThreadView .mx_EventTile[data-layout="irc"] .mx_EventTile_footer,
            .mx_ThreadView .mx_EventTile[data-layout="group"] .mx_EventTile_line,
            .mx_ThreadView .mx_EventTile[data-layout="group"] .mx_EventTile_footer {
                -webkit-margin-end: var(--ThreadView_group_spacing-end);
                        margin-inline-end: var(--ThreadView_group_spacing-end);
            }

.mx_ThreadView .mx_EventTile[data-layout="irc"] .mx_EventTile_line, .mx_ThreadView .mx_EventTile[data-layout="group"] .mx_EventTile_line {
                padding-block: var(--BaseCard_EventTile_line-padding-block);

                /* Add padding to align message text with summary text */
                /* See: .mx_EventTile[data-layout="group"] .mx_EventTile_line */
                -webkit-padding-start: var(--ThreadView_group_spacing-start);
                        padding-inline-start: var(--ThreadView_group_spacing-start);
            }

.mx_ThreadView .mx_EventTile[data-layout="irc"] .mx_EventTile_line .mx_EventTile_content.mx_EditMessageComposer, .mx_ThreadView .mx_EventTile[data-layout="group"] .mx_EventTile_line .mx_EventTile_content.mx_EditMessageComposer {
                        -webkit-padding-start: 0;
                                padding-inline-start: 0; /* align start of first letter with that of the event body */
                    }

.mx_ThreadView .mx_EventTile[data-layout="irc"] .mx_EventTile_footer, .mx_ThreadView .mx_EventTile[data-layout="group"] .mx_EventTile_footer {
                /* Align with message text and summary text */
                -webkit-margin-start: var(--ThreadView_group_spacing-start);
                        margin-inline-start: var(--ThreadView_group_spacing-start);
            }

.mx_ThreadView .mx_EventTile[data-layout="irc"].mx_EventTile_continuation, .mx_ThreadView .mx_EventTile[data-layout="group"].mx_EventTile_continuation {
                -webkit-padding-before: 0;
                        padding-block-start: 0; /* Cancel padding-block-start */
            }

.mx_ThreadView .mx_EventTile[data-layout="group"] {
            width: 100%;
        }

.mx_ThreadView .mx_EventTile[data-layout="group"] .mx_EventTile_senderDetails {
                display: -webkit-box;
                display: -ms-flexbox;
                display: flex;
                -webkit-box-align: center;
                    -ms-flex-align: center;
                        align-items: center;
                gap: 16px; /* gap between the avatar and the sender ID */
                -webkit-padding-start: 8px;
                        padding-inline-start: 8px;
            }

.mx_ThreadView .mx_EventTile[data-layout="group"] .mx_EventTile_senderDetails a {
                    -webkit-box-flex: 1;
                        -ms-flex: 1;
                            flex: 1;
                    min-width: 0;
                    min-width: initial;
                    max-width: 100%;
                    display: -webkit-box;
                    display: -ms-flexbox;
                    display: flex;
                    -webkit-box-align: center;
                        -ms-flex-align: center;
                            align-items: center;
                }

.mx_ThreadView .mx_EventTile[data-layout="group"] .mx_EventTile_senderDetails a .mx_DisambiguatedProfile {
                        margin-left: 8px;
                        -webkit-box-flex: 1;
                            -ms-flex: 1;
                                flex: 1;
                    }

.mx_ThreadView .mx_EventTile[data-layout="group"] .mx_MessageTimestamp {
                position: absolute; /* for IRC layout */
                top: 2px; /* Align with mx_EventTile_content */
            }

.mx_ThreadView .mx_EventTile[data-layout="bubble"] {
            margin-inline: var(--BaseCard_EventTile-spacing-inline);
        }

.mx_ThreadView .mx_EventTile[data-layout="bubble"]::before {
                inset-inline: calc(-1 * var(--BaseCard_EventTile-spacing-inline));
                z-index: auto; /* enable background color on hover */
            }

.mx_ThreadView .mx_EventTile[data-layout="bubble"] .mx_ReactionsRow {
                position: relative; /* display on hover */
            }

.mx_ThreadView .mx_EventTile[data-layout="bubble"] .mx_EventTile_line.mx_EventTile_mediaLine {
                padding-block: 0;
                -webkit-padding-start: 0;
                        padding-inline-start: 0;
                max-width: var(--EventBubbleTile_line-max-width);
            }

.mx_ThreadView .mx_EventTile[data-layout="bubble"][data-self="true"] {
                -webkit-box-align: end;
                    -ms-flex-align: end;
                        align-items: flex-end;
            }

.mx_ThreadView .mx_EventTile[data-layout="bubble"][data-self="true"] .mx_EventTile_line.mx_EventTile_mediaLine {
                    margin: 0 var(--EventTile_bubble_line-margin-inline-end) 0 0; /* align with normal messages */
                }

.mx_ThreadView .mx_GenericEventListSummary[data-layout="irc"] > .mx_EventTile_line, .mx_ThreadView .mx_GenericEventListSummary[data-layout="group"] > .mx_EventTile_line {
                -webkit-padding-start: var(--ThreadView_group_spacing-start);
                        padding-inline-start: var(--ThreadView_group_spacing-start); /* align summary text with message text */
                -webkit-padding-end: var(--ThreadView_group_spacing-end);
                        padding-inline-end: var(--ThreadView_group_spacing-end); /* align summary text with message text */
            }

/* Cascading - compact modern layout on the main timeline and the right panel */

.mx_MatrixChat_useCompactLayout .mx_EventTile[data-layout="group"] {
        --MatrixChat_useCompactLayout_group-padding-top: 4px;
        --MatrixChat_useCompactLayout-top-avatar: 2px;
        --MatrixChat_useCompactLayout_line-spacing-block: 0px;

        padding-top: 4px;

        padding-top: var(--MatrixChat_useCompactLayout_group-padding-top);
    }

.mx_MatrixChat_useCompactLayout .mx_EventTile[data-layout="group"] .mx_EventTile_line,
        .mx_MatrixChat_useCompactLayout .mx_EventTile[data-layout="group"] .mx_EventTile_reply {
            padding-block: var(--MatrixChat_useCompactLayout_line-spacing-block);
        }

.mx_MatrixChat_useCompactLayout .mx_EventTile[data-layout="group"] .mx_ReplyChain {
            margin-bottom: 4px;
        }

.mx_MatrixChat_useCompactLayout .mx_EventTile[data-layout="group"].mx_EventTile_info {
            padding-top: 0; /* same as the padding for non-compact .mx_EventTile.mx_EventTile_info */
            font-size: 0.8125rem;
        }

.mx_MatrixChat_useCompactLayout .mx_EventTile[data-layout="group"].mx_EventTile_info .mx_EventTile_e2eIcon,
            .mx_MatrixChat_useCompactLayout .mx_EventTile[data-layout="group"].mx_EventTile_info .mx_EventTile_avatar {
                top: 0;
                margin-block: var(--MatrixChat_useCompactLayout_line-spacing-block);
            }

.mx_MatrixChat_useCompactLayout .mx_EventTile[data-layout="group"].mx_EventTile_info .mx_EventTile_line,
            .mx_MatrixChat_useCompactLayout .mx_EventTile[data-layout="group"].mx_EventTile_info .mx_EventTile_reply {
                line-height: 1.25rem;
            }

.mx_MatrixChat_useCompactLayout .mx_EventTile[data-layout="group"].mx_EventTile_emote {
            padding-top: 8px; /* add a bit more space for emotes so that avatars don't collide */
        }

.mx_MatrixChat_useCompactLayout .mx_EventTile[data-layout="group"].mx_EventTile_emote .mx_EventTile_avatar {
                top: var(--MatrixChat_useCompactLayout-top-avatar);
            }

.mx_MatrixChat_useCompactLayout .mx_EventTile[data-layout="group"].mx_EventTile_emote .mx_EventTile_line,
            .mx_MatrixChat_useCompactLayout .mx_EventTile[data-layout="group"].mx_EventTile_emote .mx_EventTile_reply {
                padding-bottom: 1px;
            }

.mx_MatrixChat_useCompactLayout .mx_EventTile[data-layout="group"].mx_EventTile_emote.mx_EventTile_continuation .mx_EventTile_line,
                .mx_MatrixChat_useCompactLayout .mx_EventTile[data-layout="group"].mx_EventTile_emote.mx_EventTile_continuation .mx_EventTile_reply {
                    padding-bottom: var(--MatrixChat_useCompactLayout_line-spacing-block);
                }

/* Cascading - apply zero padding to every element including mx_EventTile_emote */

.mx_MatrixChat_useCompactLayout .mx_EventTile[data-layout="group"].mx_EventTile_continuation {
            padding-top: var(--MatrixChat_useCompactLayout_line-spacing-block);
        }

.mx_MatrixChat_useCompactLayout .mx_EventTile[data-layout="group"] .mx_EventTile_avatar {
            top: var(--MatrixChat_useCompactLayout-top-avatar);
        }

.mx_MatrixChat_useCompactLayout .mx_EventTile[data-layout="group"] .mx_EventTile_e2eIcon {
            margin: 0px;
        }

.mx_MatrixChat_useCompactLayout .mx_EventTile[data-layout="group"] .mx_DisambiguatedProfile {
            font-size: 0.8125rem;
        }

.mx_MatrixChat_useCompactLayout .mx_EventTile[data-layout="group"] .mx_EventTile_msgOption .mx_ReadReceiptGroup {
                /* This aligns the avatar with the last line of the */
                /* message. We want to move it one line up - 2rem */
                inset-block-start: -2rem;
            }

.mx_MatrixChat_useCompactLayout .mx_EventTile[data-layout="group"] .mx_EventTile_content .markdown-body p,
            .mx_MatrixChat_useCompactLayout .mx_EventTile[data-layout="group"] .mx_EventTile_content .markdown-body ul,
            .mx_MatrixChat_useCompactLayout .mx_EventTile[data-layout="group"] .mx_EventTile_content .markdown-body ol,
            .mx_MatrixChat_useCompactLayout .mx_EventTile[data-layout="group"] .mx_EventTile_content .markdown-body dl,
            .mx_MatrixChat_useCompactLayout .mx_EventTile[data-layout="group"] .mx_EventTile_content .markdown-body blockquote,
            .mx_MatrixChat_useCompactLayout .mx_EventTile[data-layout="group"] .mx_EventTile_content .markdown-body pre,
            .mx_MatrixChat_useCompactLayout .mx_EventTile[data-layout="group"] .mx_EventTile_content .markdown-body table {
                margin-bottom: 4px; /* 1/4 of the non-compact margin-bottom */
            }

.mx_EventTile_details {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: -webkit-fill-available;
    width: -moz-available;
    width: stretch;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    gap: 8px;
    margin-left: var(--leftOffset);
}

.mx_EventTile_details .mx_EventTile_truncated {
        -webkit-box-flex: 1;
            -ms-flex: 1;
                flex: 1;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

.mx_EventTile_annotated {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
}

.mx_EventTile_footer {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: var(--cpd-space-2x);
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
}

/* Media query for mobile UI */

@media only screen and (max-width: 480px) {
    .mx_EventTile_content {
        margin-right: 0;
    }
}

/*
Copyright 2024 New Vector Ltd.
Copyright 2021 Robin Townsend <robin@robin.town>

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_EventTileBubble.mx_HistoryTile {
    margin: var(--EventTileBubble_margin-block) auto;
}

.mx_EventTileBubble.mx_HistoryTile::before {
        background-color: #a1b2d1;
        -webkit-mask-image: url(../../img/element-icons/hide.72c451b.svg);
                mask-image: url(../../img/element-icons/hide.72c451b.svg);
    }

/*
Copyright 2024 New Vector Ltd.
Copyright 2020 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

:root {
    --irc-line-height: 1.125rem;
}

.mx_IRCLayout {
    --name-width: 80px; /* cf. ircDisplayNameWidth on Settings.tsx */
    --icon-width: 14px;
    --line-height: var(--irc-line-height);
    --right-padding: 5px;

    line-height: 1.125rem !important;

    line-height: var(--line-height) !important;
}

.mx_IRCLayout blockquote {
        margin: 0;
    }

.mx_IRCLayout .mx_NewRoomIntro > h2 {
            line-height: normal;
            line-height: initial; /* Cancel var(--irc-line-height) */
        }

.mx_IRCLayout .mx_ReplyChain .mx_DisambiguatedProfile {
            width: auto;
            width: initial;
            background: transparent;
            -webkit-box-ordinal-group: initial;
                -ms-flex-order: initial;
                    order: initial;
            -ms-flex-negative: initial;
                flex-shrink: initial; /* Unset flex-shrink to prevent long display name blowout */
        }

.mx_IRCLayout .mx_ReplyChain .mx_EventTile_emote > .mx_EventTile_avatar {
                margin-left: 0;
                margin-left: initial;
            }

.mx_IRCLayout .mx_ReplyChain .mx_MessageTimestamp {
            width: auto;
            width: initial;
        }

/**
         * adding the icon back in the document flow
         * if it's not present, there's no unwanted wasted space
         */

.mx_IRCLayout .mx_ReplyChain .mx_EventTile_e2eIcon {
            position: relative;
            -webkit-box-ordinal-group: 0;
                -ms-flex-order: -1;
                    order: -1;
        }

.mx_IRCLayout .mx_ProfileResizer {
        --resizer-width: 15px;
        --resizer-a11y: 3px; /* Magic number, to be replaced with something more proper from the perspective of a11y */

        position: absolute;
        height: 100%;
        width: 15px;
        width: var(--resizer-width);
        cursor: col-resize;
        z-index: 100;

        /* Add width of every element rendered before the resizer (including padding for the avatar and the display
           name), subtracting the resizer width itself to prevent the resizer from overlapping the text and moving
           the resizer a bit to the left to make it easier to avoid selecting the resizer when highlighting text.
           Please note that MessageTimestamp does not have inline padding. */
        inset-inline-start: calc(
            18px + 46px + var(--icon-width) +
                var(--right-padding) + var(--name-width) + var(--right-padding) - 15px -
                3px
        );
        inset-inline-start: calc(
            var(--RoomView_MessageList-padding) + var(--MessageTimestamp-width) + var(--icon-width) +
                var(--right-padding) + var(--name-width) + var(--right-padding) - var(--resizer-width) -
                var(--resizer-a11y)
        );
    }

/*
Copyright 2019-2024 New Vector Ltd.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_JumpToBottomButton {
    z-index: 1000;
    position: absolute;
    /* 12 because height is 50 but button is only 38 = 12+(50-38) = 24 */
    bottom: 12px;
    right: 24px;
    width: 38px;
    /* give it a fixed height so the badge doesn't make */
    /* it taller and pop upwards when visible */
    height: 50px;
    text-align: center;
}

.mx_JumpToBottomButton_badge {
    position: relative;
    top: -12px;
    border-radius: 16px;
    font-weight: bold;
    font-size: 0.75rem;
    line-height: 0.875rem;
    text-align: center;
    /* to be able to get it centered */
    /* with text-align in parent */
    display: inline-block;
    padding: 0 4px;
    color: var(--cpd-color-text-on-solid-primary);
    background-color: var(--cpd-color-icon-secondary);
}

.mx_JumpToBottomButton_highlight .mx_JumpToBottomButton_badge {
    background-color: var(--cpd-color-icon-critical-primary);
}

.mx_JumpToBottomButton_scrollDown {
    position: relative;
    display: block;
    height: 38px;
    border-radius: 19px;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    background: var(--timeline-background-color);
    border: 1.3px solid var(--cpd-color-icon-tertiary);
    cursor: pointer;
}

.mx_JumpToBottomButton_scrollDown::before {
    content: "";
    position: absolute;
    inset: 0;
    -webkit-mask-image: url(../../icons/chevron-up.b1e0d89.svg);
            mask-image: url(../../icons/chevron-up.b1e0d89.svg);
    -webkit-mask-repeat: no-repeat;
            mask-repeat: no-repeat;
    -webkit-mask-size: 24px;
            mask-size: 24px;
    -webkit-mask-position: center 6px;
            mask-position: center 6px;
    -webkit-transform: rotate(180deg);
            transform: rotate(180deg);
    background: var(--cpd-color-icon-tertiary);
}

/*
Copyright 2024 New Vector Ltd.
Copyright 2021 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_LinkPreviewGroup .mx_LinkPreviewGroup_hide {
        cursor: pointer;
        width: 18px;
        height: 18px;
    }

.mx_LinkPreviewGroup .mx_LinkPreviewGroup_hide svg {
            -webkit-box-flex: 0;
                -ms-flex: 0 0 40px;
                    flex: 0 0 40px;
            visibility: hidden;
        }

.mx_LinkPreviewGroup:hover .mx_LinkPreviewGroup_hide svg,
    .mx_LinkPreviewGroup .mx_LinkPreviewGroup_hide:focus-visible:focus svg {
        visibility: visible;
    }

.mx_LinkPreviewGroup > .mx_AccessibleButton {
        color: #0dbd8b;
        color: var(--accent-color, #0dbd8b);
        text-align: center;
    }

/*
Copyright 2024 New Vector Ltd.
Copyright 2015, 2016 OpenMarket Ltd

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_LinkPreviewWidget {
    margin: 16px 0 16px auto;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-column-gap: 4px;
       -moz-column-gap: 4px;
            column-gap: 4px;
    -webkit-border-start: 2px solid #ddd;
            border-inline-start: 2px solid #ddd;
    border-radius: 2px;
    color: var(--timeline-text-secondary-color);
}

.mx_MatrixChat_useCompactLayout .mx_LinkPreviewWidget {
        margin-top: 6px;
        margin-bottom: 6px;
    }

/* Exclude mx_LinkPreviewGroup_hide from wrapping */

.mx_LinkPreviewWidget .mx_LinkPreviewWidget_wrapImageCaption {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
        row-gap: 8px;
        -webkit-box-flex: 1;
            -ms-flex: 1;
                flex: 1;
    }

.mx_LinkPreviewWidget .mx_LinkPreviewWidget_wrapImageCaption .mx_LinkPreviewWidget_image,
        .mx_LinkPreviewWidget .mx_LinkPreviewWidget_wrapImageCaption .mx_LinkPreviewWidget_caption {
            -webkit-margin-start: 16px;
                    margin-inline-start: 16px;
            min-width: 0; /* Prevent blowout */
        }

.mx_LinkPreviewWidget .mx_LinkPreviewWidget_wrapImageCaption .mx_LinkPreviewWidget_image {
            -webkit-box-flex: 0;
                -ms-flex: 0 0 100px;
                    flex: 0 0 100px;
            text-align: center;
            cursor: pointer;
        }

.mx_LinkPreviewWidget .mx_LinkPreviewWidget_wrapImageCaption .mx_LinkPreviewWidget_caption {
            -webkit-box-flex: 1;
                -ms-flex: 1;
                    flex: 1;
            overflow: hidden; /* cause it to wrap rather than clip */
        }

.mx_LinkPreviewWidget .mx_LinkPreviewWidget_wrapImageCaption .mx_LinkPreviewWidget_title,
        .mx_LinkPreviewWidget .mx_LinkPreviewWidget_wrapImageCaption .mx_LinkPreviewWidget_description {
            display: -webkit-box;
            -webkit-box-orient: vertical;
            overflow: hidden;
            white-space: normal;
        }

.mx_LinkPreviewWidget .mx_LinkPreviewWidget_wrapImageCaption .mx_LinkPreviewWidget_title {
            font-weight: bold;
            -webkit-line-clamp: 2;
        }

.mx_LinkPreviewWidget .mx_LinkPreviewWidget_wrapImageCaption .mx_LinkPreviewWidget_title .mx_LinkPreviewWidget_siteName {
                font-weight: normal;
            }

.mx_LinkPreviewWidget .mx_LinkPreviewWidget_wrapImageCaption .mx_LinkPreviewWidget_description {
            margin-top: 8px;
            word-wrap: break-word;
            -webkit-line-clamp: 3;
        }

/*
Copyright 2024 New Vector Ltd.
Copyright 2022 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_LiveContentSummary {
    color: #edf3ff;
    color: var(--secondary-content, #edf3ff);
}

.mx_LiveContentSummary .mx_LiveContentSummary_text::before {
            display: inline-block;
            vertical-align: text-bottom;
            content: "";
            background-color: #edf3ff;
            background-color: var(--secondary-content, #edf3ff);
            -webkit-mask-size: 16px;
                    mask-size: 16px;
            width: 16px;
            height: 16px;
            margin-right: 4px;
        }

.mx_LiveContentSummary .mx_LiveContentSummary_text.mx_LiveContentSummary_text_video::before {
            -webkit-mask-image: url(../../img/element-icons/call/video-call.515f9f9.svg);
                    mask-image: url(../../img/element-icons/call/video-call.515f9f9.svg);
        }

.mx_LiveContentSummary .mx_LiveContentSummary_text.mx_LiveContentSummary_text_active {
            color: #0dbd8b;
            color: var(--accent-color, #0dbd8b);
        }

.mx_LiveContentSummary .mx_LiveContentSummary_text.mx_LiveContentSummary_text_active::before {
                background-color: #0dbd8b;
                background-color: var(--accent-color, #0dbd8b);
            }

.mx_LiveContentSummary .mx_LiveContentSummary_participants::before {
        display: inline-block;
        vertical-align: text-bottom;
        content: "";
        background-color: #edf3ff;
        background-color: var(--secondary-content, #edf3ff);
        -webkit-mask-image: url(../../img/element-icons/group-members.d86d751.svg);
                mask-image: url(../../img/element-icons/group-members.d86d751.svg);
        -webkit-mask-size: 16px;
                mask-size: 16px;
        width: 16px;
        height: 16px;
        margin-right: 2px;
    }

/*
Copyright 2024 New Vector Ltd.
Copyright 2015, 2016 OpenMarket Ltd

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_MemberList {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    min-height: 0;
}

.mx_MemberList .mx_Spinner {
        -webkit-box-flex: 1;
            -ms-flex: 1 0 auto;
                flex: 1 0 auto;
    }

.mx_MemberList .mx_SearchBox {
        margin-bottom: 5px;
    }

.mx_MemberList h2 {
        text-transform: uppercase;
        color: #edf3ff;
        font-weight: var(--cpd-font-weight-semibold);
        font-size: 0.8125rem;
        padding-left: 3px;
        padding-right: 12px;
        margin-top: 8px;
        margin-bottom: 4px;
    }

.mx_MemberList .mx_AutoHideScrollbar {
        -webkit-box-flex: 1;
            -ms-flex: 1 1 0px;
                flex: 1 1 0;
        margin-top: var(--cpd-space-3x);
    }

.mx_MemberList_chevron {
    position: absolute;
    right: 35px;
    margin-top: -15px;
}

.mx_MemberList_border {
    overflow-y: auto;

    -webkit-box-ordinal-group: 2;

        -ms-flex-order: 1;

            order: 1;
    -webkit-box-flex: 1;
        -ms-flex: 1 1 0px;
            flex: 1 1 0px;
}

.mx_MemberList_query {
    height: 16px;
}

/* stricter rule to override the one in _common.pcss */

.mx_MemberList_query[type="text"] {
        font-size: 0.75rem;
    }

.mx_MemberList_wrapper {
    padding: 10px;
}

.mx_MemberList_invite {
    margin: 0 var(--cpd-space-2x);
    width: calc(100% - var(--cpd-space-4x));
}

/*
Copyright 2018-2024 New Vector Ltd.
Copyright 2015, 2016 OpenMarket Ltd

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_MessageComposer_wrapper {
    vertical-align: middle;
    margin: auto;
    border-top: 1px solid var(--roomlist-separator-color);
    position: relative;
    padding-left: 42px;
    padding-right: 16px;
}

.mx_MessageComposer_replaced_wrapper {
    margin-left: auto;
    margin-right: auto;
}

.mx_MessageComposer_replaced_valign {
    height: 60px;
    display: table-cell;
    vertical-align: middle;
}

.mx_MessageComposer_roomReplaced_icon {
    float: left;
    margin-right: 20px;
    margin-top: 5px;
    width: 31px;
    height: 31px;
}

.mx_MessageComposer_roomReplaced_header {
    font-weight: bold;
}

.mx_MessageComposer_autocomplete_wrapper {
    position: relative;
    height: 0;
}

.mx_MessageComposer_row {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    width: 100%;
}

.mx_MessageComposer_actions {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 6px;
}

.mx_MessageComposer .mx_MessageComposer_avatar {
        position: absolute;
        left: 26px;
    }

.mx_MessageComposer .mx_MessageComposer_avatar .mx_BaseAvatar {
            display: block;
        }

.mx_MessageComposer_composecontrols {
    width: 100%;
}

.mx_MessageComposer_e2eIconWrapper {
    height: 12px; /* Match the height of the E2E icon for alignment */
}

.mx_MessageComposer_e2eIcon.mx_E2EIcon {
    position: absolute;
    left: 20px;
    margin-right: 0; /* Counteract the E2EIcon class */
    margin-left: 3px; /* Counteract the E2EIcon class */
    width: 12px;
    height: 12px;
}

.mx_MessageComposer_noperm_error {
    width: 100%;
    height: 60px;
    font-style: italic;
    color: var(--timeline-text-secondary-color);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
}

.mx_MessageComposer_input_wrapper {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    cursor: text;
}

.mx_MessageComposer_input {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    vertical-align: middle;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    min-height: 60px;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    font: var(--cpd-font-body-md-regular);
    margin-right: 6px;
}

.mx_MessageComposer_input pre {
        background-color: rgba(0, 0, 0, 0.04);
        border-radius: 3px;
        padding: 10px;
    }

.mx_MessageComposer_input textarea {
        display: block;
        width: 100%;
        padding: 0px;
        margin-top: 6px;
        margin-bottom: 6px;
        border: 0px;
        resize: none;
        outline: none;
        -webkit-box-shadow: none;
                box-shadow: none;
        color: var(--timeline-text-color);
        background-color: var(--timeline-background-color);
        font: var(--cpd-font-body-md-regular);
        max-height: 120px;
        overflow: auto;
    }

/* hack for FF as vertical alignment of custom placeholder text is broken */

.mx_MessageComposer_input textarea::-moz-placeholder {
            line-height: 100%;
            color: #0dbd8b;
            color: var(--accent-color, #0dbd8b);
            opacity: 1;
        }

.mx_MessageComposer_input textarea::-webkit-input-placeholder {
            color: #0dbd8b;
            color: var(--accent-color, #0dbd8b);
        }

.mx_MessageComposer_editor {
    width: 100%;
    max-height: 120px;
    min-height: 19px;
    overflow-y: auto;
    overflow-x: hidden;
    word-break: break-word;

    /* FIXME: rather unpleasant hack to get rid of <p/> margins. */
}

/* really we should be mixing in markdown-body from github-markdown-css instead */

.mx_MessageComposer_editor > :first-child {
        margin-top: 0 !important;
    }

.mx_MessageComposer_editor > :last-child {
        margin-bottom: 0 !important;
    }

@keyframes visualbell {
    from {
        background-color: #800;
    }
    to {
        background-color: var(--timeline-background-color);
    }
}

.mx_MessageComposer_input_error {
    -webkit-animation: 0.2s visualbell;
            animation: 0.2s visualbell;
}

.mx_MessageComposer_button_highlight {
    background: var(--cpd-color-bg-subtle-primary);
}

.mx_MessageComposer_button_highlight::before {
        background-color: var(--cpd-color-icon-primary) !important;
    }

.mx_MessageComposer_button {
    --size: 26px;
    position: relative;
    cursor: pointer;
    height: 26px;
    height: var(--size);
    line-height: 26px;
    line-height: var(--size);
    width: auto;
    padding-left: 26px;
    padding-left: var(--size);
    border-radius: 50%;
}

.mx_MessageComposer_button::before {
        content: "";
        position: absolute;
        top: 3px;
        left: 3px;
        height: 20px;
        width: 20px;
        background-color: var(--icon-button-color, var(--cpd-color-icon-tertiary));
        -webkit-mask-repeat: no-repeat;
                mask-repeat: no-repeat;
        -webkit-mask-size: contain;
                mask-size: contain;
        -webkit-mask-position: center;
                mask-position: center;
        z-index: 2;
    }

.mx_MessageComposer_button::after {
        content: "";
        position: absolute;
        left: 0;
        top: 0;
        z-index: 0;
        width: var(--size);
        height: var(--size);
        border-radius: 50%;
    }

.mx_MessageComposer_button:hover::after {
            background: var(--cpd-color-bg-subtle-primary);
        }

.mx_MessageComposer_button:hover::before {
            background-color: var(--cpd-color-icon-primary);
        }

.mx_MessageComposer_button:last-child {
        margin-right: auto;
    }

.mx_MessageComposer_button.mx_MessageComposer_closeButtonMenu::after {
            background: var(--cpd-color-bg-subtle-primary);
        }

.mx_MessageComposer_button.mx_MessageComposer_closeButtonMenu::before {
            background-color: var(--cpd-color-icon-primary);
            z-index: 2;
        }

.mx_MessageComposer_button.mx_MessageComposer_hangup:not(.mx_AccessibleButton_disabled)::before {
        background-color: #ff5b55;
        background-color: var(--alert, #ff5b55);
    }

.mx_MessageComposer_wysiwyg .mx_MessageComposer_wrapper {
        padding-left: 16px;
        margin-top: 6px;
        margin-bottom: 12px;
    }

.mx_MessageComposer_wysiwyg .mx_MessageComposer_row {
        -webkit-box-align: end;
            -ms-flex-align: end;
                align-items: flex-end;
    }

.mx_MessageComposer_wysiwyg .mx_MessageComposer_actions {
        /* Height of the composer editor */
        height: 40px;
    }

.mx_MessageComposer_wysiwyg .mx_MediaBody {
        padding-top: 4px;
        padding-bottom: 4px;
    }

.mx_MessageComposer_wysiwyg .mx_MessageComposer_button {
        --size: 26px;
        position: relative;
        cursor: pointer;
        height: 26px;
        height: var(--size);
        line-height: 26px;
        line-height: var(--size);
        width: auto;
        padding-left: 26px;
        padding-left: var(--size);
        border-radius: 5px;
    }

.mx_MessageComposer_wysiwyg .mx_MessageComposer_button::before {
        content: "";
        position: absolute;
        top: 3px;
        left: 3px;
        height: 20px;
        width: 20px;
        background-color: var(--icon-button-color, var(--cpd-color-icon-tertiary));
        -webkit-mask-repeat: no-repeat;
                mask-repeat: no-repeat;
        -webkit-mask-size: contain;
                mask-size: contain;
        -webkit-mask-position: center;
                mask-position: center;
        z-index: 2;
    }

.mx_MessageComposer_wysiwyg .mx_MessageComposer_button::after {
        content: "";
        position: absolute;
        left: 0;
        top: 0;
        z-index: 0;
        width: var(--size);
        height: var(--size);
        border-radius: 5px;
    }

.mx_MessageComposer_wysiwyg .mx_MessageComposer_button:hover::after {
            background: var(--panels, var(--cpd-color-gray-600));
        }

.mx_MessageComposer_wysiwyg .mx_MessageComposer_button:hover::before {
            background-color: #edf3ff;
            background-color: var(--tertiary-content, #edf3ff);
        }

.mx_MessageComposer_wysiwyg .mx_MessageComposer_button.mx_MessageComposer_closeButtonMenu::after {
                background: var(--accent-color-300);
            }

.mx_MessageComposer_wysiwyg .mx_MessageComposer_button.mx_MessageComposer_closeButtonMenu::before {
                background-color: #0dbd8b;
                background-color: var(--accent-color, #0dbd8b);
                z-index: 2;
            }

.mx_MessageComposer_wysiwyg .mx_MessageComposer_button.mx_MessageComposer_hangup:not(.mx_AccessibleButton_disabled)::before {
            background-color: #ff5b55;
            background-color: var(--alert, #ff5b55);
        }

.mx_MessageComposer_upload::before {
    -webkit-mask-image: url(../../img/element-icons/room/composer/attach.7eed7d0.svg);
            mask-image: url(../../img/element-icons/room/composer/attach.7eed7d0.svg);
}

.mx_MessageComposer_poll::before {
    -webkit-mask-image: url(../../img/element-icons/room/composer/poll.a8ee2f3.svg);
            mask-image: url(../../img/element-icons/room/composer/poll.a8ee2f3.svg);
}

.mx_MessageComposer_voiceMessage::before {
    -webkit-mask-image: url(../../icons/mic-on-solid.7b0262f.svg);
            mask-image: url(../../icons/mic-on-solid.7b0262f.svg);
}

.mx_MessageComposer_plain_text::before {
    -webkit-mask-image: url(../../img/element-icons/room/composer/plain_text.ad262e9.svg);
            mask-image: url(../../img/element-icons/room/composer/plain_text.ad262e9.svg);
}

.mx_MessageComposer_rich_text::before {
    -webkit-mask-image: url(../../icons/text-formatting.69c1911.svg);
            mask-image: url(../../icons/text-formatting.69c1911.svg);
}

.mx_MessageComposer_location::before {
    -webkit-mask-image: url(../../icons/location-pin-solid.36ae701.svg);
            mask-image: url(../../icons/location-pin-solid.36ae701.svg);
}

.mx_MessageComposer_stickers::before {
    -webkit-mask-image: url(../../img/element-icons/room/composer/sticker.6a92ae6.svg);
            mask-image: url(../../img/element-icons/room/composer/sticker.6a92ae6.svg);
}

.mx_MessageComposer_buttonMenu::before {
    -webkit-mask-image: url(../../icons/overflow-horizontal.103407e.svg);
            mask-image: url(../../icons/overflow-horizontal.103407e.svg);
    -webkit-mask-size: 24px;
            mask-size: 24px;
}

.mx_MessageComposer_sendMessage {
    cursor: pointer;
    position: relative;
    width: 32px;
    height: 32px;
    border-radius: 100%;
    background-color: var(--cpd-color-icon-accent-tertiary);
}

.mx_MessageComposer_sendMessage::before {
        position: absolute;
        height: 16px;
        width: 16px;
        top: 8px;
        left: 9px;

        -webkit-mask-image: url(../../icons/send-solid.6ec97eb.svg);

                mask-image: url(../../icons/send-solid.6ec97eb.svg);
        -webkit-mask-repeat: no-repeat;
                mask-repeat: no-repeat;
        -webkit-mask-size: contain;
                mask-size: contain;
        -webkit-mask-position: center;
                mask-position: center;

        background-color: var(--cpd-color-icon-on-solid-primary);
        content: "";
    }

.mx_MatrixChat_useCompactLayout .mx_MessageComposer_input {
        min-height: 50px;
    }

.mx_MatrixChat_useCompactLayout .mx_MessageComposer_noperm_error {
        height: 50px;
    }

/**
 * Unstable compact mode
 */

.mx_MessageComposer.mx_MessageComposer--compact {
    margin-right: 0;
}

.mx_MessageComposer.mx_MessageComposer--compact .mx_MessageComposer_wrapper {
        padding: 0 0 0 25px;
    }

.mx_MessageComposer.mx_MessageComposer--compact:not(.mx_MessageComposer_e2eStatus) .mx_MessageComposer_wrapper {
            padding: 0;
        }

.mx_MessageComposer.mx_MessageComposer--compact .mx_MessageComposer_button:last-child {
        margin-right: 0;
    }

.mx_MessageComposer.mx_MessageComposer--compact .mx_MessageComposer_e2eIcon {
        left: 0;
    }

/*
Copyright 2024 New Vector Ltd.
Copyright 2019 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_MessageComposerFormatBar {
    display: none;
    width: calc(32px * 6);
    height: 32px;
    position: absolute;
    cursor: pointer;
    border-radius: 8px;
    background-color: var(--timeline-background-color);
    border: var(--cpd-border-width-1) solid var(--cpd-color-border-disabled);
    -webkit-user-select: none;
       -moz-user-select: none;
        -ms-user-select: none;
            user-select: none;
    /* equal to z-index of mx_ReplyPreview and mx_RoomView_statusArea (1000) */
    /* but as it appears after them in the DOM, will appear on top. */
    z-index: 1000;
}

.mx_MessageComposerFormatBar.mx_MessageComposerFormatBar_shown {
        display: block;
    }

.mx_MessageComposerFormatBar > * {
        white-space: nowrap;
        display: inline-block;
        position: relative;
        margin: 2px;
    }

.mx_MessageComposerFormatBar .mx_MessageComposerFormatBar_button {
        width: 28px;
        height: 28px;
        -webkit-box-sizing: border-box;
                box-sizing: border-box;
        vertical-align: middle;
        background: none;
        border: none;
    }

.mx_MessageComposerFormatBar .mx_MessageComposerFormatBar_button:hover {
            background: var(--cpd-color-bg-subtle-secondary);
            border-radius: 6px;
            z-index: 1;
        }

.mx_MessageComposerFormatBar .mx_MessageComposerFormatBar_button::after {
        content: "";
        position: absolute;
        top: 0;
        left: 0;
        height: 100%;
        width: 100%;
        -webkit-mask-repeat: no-repeat;
                mask-repeat: no-repeat;
        -webkit-mask-position: center;
                mask-position: center;
        -webkit-mask-size: 20px;
                mask-size: 20px;
        background-color: var(--cpd-color-icon-secondary);
    }

.mx_MessageComposerFormatBar .mx_MessageComposerFormatBar_button:hover::after {
        background-color: var(--cpd-color-icon-primary);
    }

.mx_MessageComposerFormatBar .mx_MessageComposerFormatBar_buttonIconBold::after {
        -webkit-mask-image: url(../../icons/bold.95e28a2.svg);
                mask-image: url(../../icons/bold.95e28a2.svg);
    }

.mx_MessageComposerFormatBar .mx_MessageComposerFormatBar_buttonIconItalic::after {
        -webkit-mask-image: url(../../icons/italic.82bb153.svg);
                mask-image: url(../../icons/italic.82bb153.svg);
    }

.mx_MessageComposerFormatBar .mx_MessageComposerFormatBar_buttonIconStrikethrough::after {
        -webkit-mask-image: url(../../icons/strikethrough.1c550e6.svg);
                mask-image: url(../../icons/strikethrough.1c550e6.svg);
    }

.mx_MessageComposerFormatBar .mx_MessageComposerFormatBar_buttonIconQuote::after {
        -webkit-mask-image: url(../../icons/quote.0ade560.svg);
                mask-image: url(../../icons/quote.0ade560.svg);
    }

.mx_MessageComposerFormatBar .mx_MessageComposerFormatBar_buttonIconCode::after {
        -webkit-mask-image: url(../../icons/inline-code.0d0511d.svg);
                mask-image: url(../../icons/inline-code.0d0511d.svg);
    }

.mx_MessageComposerFormatBar .mx_MessageComposerFormatBar_buttonIconInsertLink::after {
        -webkit-mask-image: url(../../icons/link.1336d8f.svg);
                mask-image: url(../../icons/link.1336d8f.svg);
    }

.mx_MessageComposerFormatBar_buttonTooltip {
    white-space: nowrap;
    font-size: 0.8125rem;
    font-weight: var(--cpd-font-weight-semibold);
    min-width: 54px;
    text-align: center;
}

/*
Copyright 2024 New Vector Ltd.
Copyright 2020 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_NewRoomIntro {
    margin: 40px 0 48px 64px;
}

.mx_NewRoomIntro .mx_MiniAvatarUploader_hasAvatar:not(.mx_MiniAvatarUploader_busy):not(:hover) .mx_MiniAvatarUploader_indicator {
            display: none;
        }

.mx_NewRoomIntro .mx_NewRoomIntro_buttons {
        margin-top: 28px;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-flow: wrap;
            flex-flow: wrap;
        gap: 14px 12px;
    }

.mx_NewRoomIntro .mx_NewRoomIntro_buttons .mx_AccessibleButton {
            line-height: 1.5rem;
            display: inline-block;
        }

.mx_NewRoomIntro .mx_NewRoomIntro_buttons .mx_AccessibleButton:not(.mx_AccessibleButton_kind_primary_outline)::before {
                content: "";
                display: inline-block;
                background-color: white;
                -webkit-mask-position: center;
                        mask-position: center;
                -webkit-mask-repeat: no-repeat;
                        mask-repeat: no-repeat;
                -webkit-mask-size: 20px;
                        mask-size: 20px;
                width: 20px;
                height: 20px;
                margin-right: 5px;
                vertical-align: text-bottom;
            }

.mx_NewRoomIntro .mx_NewRoomIntro_buttons .mx_NewRoomIntro_inviteButton::before {
            -webkit-mask-image: url(../../img/element-icons/room/invite.440bc20.svg);
                    mask-image: url(../../img/element-icons/room/invite.440bc20.svg);
        }

.mx_NewRoomIntro > h2 {
        margin-top: 24px;
        font-size: 1.5rem;
        font-weight: var(--cpd-font-weight-semibold);
    }

.mx_NewRoomIntro > p {
        margin: 0;
        font-size: 0.9375rem;
        color: #edf3ff;
        color: var(--secondary-content, #edf3ff);
    }

/*
Copyright 2024 New Vector Ltd.
Copyright 2020 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_NotificationBadge {

    /* Badges are structured a bit weirdly to work around issues with non-monospace */
    /* font styles. The badge pill is actually a background div and the count floats */
    /* within that. For example: */
    /*  ( 99+ ) <-- Rounded pill is a _bg class. */
}

.mx_NotificationBadge:not(.mx_NotificationBadge_visible) {
        display: none;
    }

/*     ^- The count is an element floating within that. */

.mx_NotificationBadge.mx_NotificationBadge_visible {
        background-color: var(--roomlist-text-secondary-color);

        /* Create a flexbox to order the count a bit easier */
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        -webkit-box-pack: center;
            -ms-flex-pack: center;
                justify-content: center;

        /* The following is the floating badge */
    }

/* These are the 3 background types */

.mx_NotificationBadge.mx_NotificationBadge_visible.mx_NotificationBadge_dot {
            width: 8px;
            height: 8px;
            border-radius: 8px;
            background-color: var(--cpd-color-icon-primary);
        }

.mx_NotificationBadge.mx_NotificationBadge_visible.mx_NotificationBadge_dot .mx_NotificationBadge_count {
                display: none;
            }

/* Redundant sounding name, but a notification badge that indicates there is a regular,
             * non-highlight notification
             * The green colour only applies for notification dot: badges indicating the same notification
             * level are the standard grey.
             */

.mx_NotificationBadge.mx_NotificationBadge_visible.mx_NotificationBadge_dot.mx_NotificationBadge_level_notification {
                background-color: var(--cpd-color-icon-success-primary);
            }

/* Badges for highlight notifications. Style for notification level
         * badges is in _EventTile.scss because it applies only to notification
         * dots, not badges.
         */

.mx_NotificationBadge.mx_NotificationBadge_visible.mx_NotificationBadge_level_highlight {
            background-color: var(--cpd-color-icon-critical-primary);
        }

.mx_NotificationBadge.mx_NotificationBadge_visible.mx_NotificationBadge_knocked {
            -webkit-mask-image: url(../../img/element-icons/ask-to-join.a351162.svg);
                    mask-image: url(../../img/element-icons/ask-to-join.a351162.svg);
            width: 12px;
            height: 16px;
        }

.mx_NotificationBadge.mx_NotificationBadge_visible.mx_NotificationBadge_2char {
            width: 1rem;
            height: 1rem;
            border-radius: 1rem;
        }

.mx_NotificationBadge.mx_NotificationBadge_visible.mx_NotificationBadge_3char {
            width: 1.625rem;
            height: 1rem;
            border-radius: 1rem;
        }

.mx_NotificationBadge.mx_NotificationBadge_visible .mx_NotificationBadge_count {
            font-size: 0.625rem;
            line-height: 0.875rem;
            font-weight: var(--cpd-font-weight-semibold);
            color: var(--cpd-color-text-on-solid-primary);
        }

/*
Copyright 2024 New Vector Ltd.
Copyright 2017 Travis Ralston

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_PinnedEventTile {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: var(--cpd-space-4x);
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
}

.mx_PinnedEventTile .mx_PinnedEventTile_wrapper {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column;
        gap: var(--cpd-space-1x);
        /* Remove avatar width and space between the avatar and the wrapper */
        /* We need it to make the location fit */
        width: calc(100% - var(--cpd-space-4x) - 32px);
        /* Prevent a long sender name to overflow the tile */
        overflow: hidden;
    }

.mx_PinnedEventTile .mx_PinnedEventTile_wrapper .mx_PinnedEventTile_top {
            display: -webkit-box;
            display: -ms-flexbox;
            display: flex;
            gap: var(--cpd-space-1x);
            -webkit-box-pack: justify;
                -ms-flex-pack: justify;
                    justify-content: space-between;
            -webkit-box-align: center;
                -ms-flex-align: center;
                    align-items: center;
        }

.mx_PinnedEventTile .mx_PinnedEventTile_wrapper .mx_PinnedEventTile_top .mx_PinnedEventTile_sender {
                text-overflow: ellipsis;
                overflow: hidden;
                white-space: nowrap;
                font: var(--cpd-font-body-md-semibold);
            }

.mx_PinnedEventTile .mx_PinnedEventTile_wrapper .mx_PinnedEventTile_thread {
            display: -webkit-box;
            display: -ms-flexbox;
            display: flex;
            gap: var(--cpd-space-2x);
            font: var(--cpd-font-body-sm-regular);
        }

.mx_PinnedEventTile .mx_PinnedEventTile_wrapper .mx_PinnedEventTile_thread svg {
                width: 20px;
                fill: var(--cpd-color-icon-tertiary);
            }

.mx_PinnedEventTile .mx_PinnedEventTile_wrapper .mx_PinnedEventTile_thread span {
                display: -webkit-box;
                display: -ms-flexbox;
                display: flex;
                color: var(--cpd-color-text-secondary);
            }

.mx_PinnedEventTile .mx_PinnedEventTile_wrapper .mx_PinnedEventTile_thread button {
                background: transparent;
                border: none;
                cursor: pointer;
                text-decoration: underline;
            }

/*
 * Copyright 2024 New Vector Ltd.
 * Copyright 2024 The Matrix.org Foundation C.I.C.
 *
 * SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
 * Please see LICENSE files in the repository root for full details.
 */

.mx_PinnedMessageBanner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    gap: var(--cpd-space-4x);
    /* 64px = 63px + 1px from the bottom border */
    height: 63px;
    padding: 0 var(--cpd-space-4x);

    background-color: var(--cpd-color-bg-canvas-default);
    border-bottom: 1px solid var(--cpd-color-gray-400);

    /* From figma */
    -webkit-box-shadow: 0 var(--cpd-space-2x) var(--cpd-space-6x) calc(var(--cpd-space-2x) * -1) rgba(27, 29, 34, 0.1);
            box-shadow: 0 var(--cpd-space-2x) var(--cpd-space-6x) calc(var(--cpd-space-2x) * -1) rgba(27, 29, 34, 0.1);
}

.mx_PinnedMessageBanner .mx_PinnedMessageBanner_main {
        background: transparent;
        border: none;
        text-align: start;
        cursor: pointer;

        height: 100%;
        -webkit-box-flex: 1;
            -ms-flex-positive: 1;
                flex-grow: 1;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
    }

.mx_PinnedMessageBanner .mx_PinnedMessageBanner_main .mx_PinnedMessageBanner_content {
            display: grid;
            grid-template:
                "indicators pinIcon title" auto
                "indicators pinIcon message" auto;
            grid-column-gap: var(--cpd-space-2x);
            -webkit-column-gap: var(--cpd-space-2x);
               -moz-column-gap: var(--cpd-space-2x);
                    column-gap: var(--cpd-space-2x);
        }

.mx_PinnedMessageBanner .mx_PinnedMessageBanner_main .mx_PinnedMessageBanner_Indicators {
            grid-area: indicators;
            display: -webkit-box;
            display: -ms-flexbox;
            display: flex;
            -webkit-box-orient: vertical;
            -webkit-box-direction: normal;
                -ms-flex-direction: column;
                    flex-direction: column;
            gap: var(--cpd-space-0-5x);
            height: 100%;
        }

.mx_PinnedMessageBanner .mx_PinnedMessageBanner_main .mx_PinnedMessageBanner_Indicators .mx_PinnedMessageBanner_Indicator {
                width: var(--cpd-space-0-5x);
                background-color: var(--cpd-color-gray-600);
                height: 100%;
            }

.mx_PinnedMessageBanner .mx_PinnedMessageBanner_main .mx_PinnedMessageBanner_Indicators .mx_PinnedMessageBanner_Indicator--active {
                background-color: var(--cpd-color-icon-accent-primary);
            }

.mx_PinnedMessageBanner .mx_PinnedMessageBanner_main .mx_PinnedMessageBanner_Indicators .mx_PinnedMessageBanner_Indicator--hidden {
                background-color: transparent;
            }

.mx_PinnedMessageBanner .mx_PinnedMessageBanner_main .mx_PinnedMessageBanner_PinIcon {
            grid-area: pinIcon;
            align-self: center;
            fill: var(--cpd-color-icon-secondary-alpha);
        }

.mx_PinnedMessageBanner .mx_PinnedMessageBanner_main .mx_PinnedMessageBanner_title {
            grid-area: title;
            font: var(--cpd-font-body-sm-regular);
            color: var(--cpd-color-text-action-accent);
            line-height: 20px;
        }

.mx_PinnedMessageBanner .mx_PinnedMessageBanner_main .mx_PinnedMessageBanner_title .mx_PinnedMessageBanner_title_counter {
                font: var(--cpd-font-body-sm-semibold);
            }

.mx_PinnedMessageBanner .mx_PinnedMessageBanner_main .mx_PinnedMessageBanner_message {
            grid-area: message;
            line-height: 20px;
        }

.mx_PinnedMessageBanner .mx_PinnedMessageBanner_main .mx_PinnedMessageBanner_redactedMessage {
            grid-area: message;
            height: 20px;
            display: -webkit-box;
            display: -ms-flexbox;
            display: flex;
            -webkit-box-align: center;
                -ms-flex-align: center;
                    align-items: center;
        }

.mx_PinnedMessageBanner .mx_PinnedMessageBanner_actions {
        white-space: nowrap;
    }

.mx_PinnedMessageBanner[data-single-message="true"] .mx_PinnedMessageBanner_content {
        grid-template: "indicators pinIcon message" auto;
    }

.mx_PinnedMessageBanner[data-single-message="true"] .mx_PinnedMessageBanner_content .mx_PinnedMessageBanner_message {
            line-height: 40px;
        }

/*
Copyright 2024 New Vector Ltd.
Copyright 2016 OpenMarket Ltd

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_PresenceLabel {
    font-size: 0.6875rem;
    opacity: 0.5;
}

.mx_PresenceLabel_online {
    color: var(--cpd-color-text-success-primary);
}

/*
Copyright 2024 New Vector Ltd.
Copyright 2022 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_ReadReceiptGroup {
    --ReadReceiptGroup_EventBubbleTile-spacing-end: 78px;

    position: relative;
    display: inline-block;
    -webkit-user-select: none;
       -moz-user-select: none;
        -ms-user-select: none;
            user-select: none;
    z-index: 1;
}

.mx_ReadReceiptGroup .mx_ReadReceiptGroup_button {
        display: -webkit-inline-box;
        display: -ms-inline-flexbox;
        display: inline-flex;
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
            -ms-flex-direction: row;
                flex-direction: row;
        height: 16px;
        padding: 4px;
        border-radius: 6px;
    }

.mx_ReadReceiptGroup .mx_ReadReceiptGroup_button.mx_AccessibleButton:hover {
                background: var(--timeline-highlights-color);
            }

.mx_ReadReceiptGroup .mx_ReadReceiptGroup_remainder {
        color: #edf3ff;
        color: var(--secondary-content, #edf3ff);
        font-size: 0.6875rem;
        line-height: 1rem;
        margin-right: 4px;
    }

.mx_ReadReceiptGroup .mx_ReadReceiptGroup_container {
        position: relative;
        display: block;
        height: 100%;
    }

.mx_ReadReceiptGroup .mx_ReadReceiptGroup_container .mx_BaseAvatar {
            -webkit-box-sizing: content-box;
                    box-sizing: content-box;
            position: absolute;
            border: 1px solid var(--timeline-background-color);
            width: 14px;
            height: 14px;
            will-change: left, top;
            -webkit-transition:
                left 0.1s ease-out,
                top 0.3s ease-out;
            transition:
                left 0.1s ease-out,
                top 0.3s ease-out;
            -webkit-transition:
                left var(--transition-short) ease-out,
                top var(--transition-standard) ease-out;
            transition:
                left var(--transition-short) ease-out,
                top var(--transition-standard) ease-out;
        }

.mx_ReadReceiptGroup_popup {
    max-height: 300px;
    width: 220px;
    border-radius: 8px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    text-align: left;
    font-size: 12px;
    line-height: 15px;

    right: 0;
}

.mx_ReadReceiptGroup_popup.mx_ContextualMenu_top {
        top: 8px;
    }

.mx_ReadReceiptGroup_popup.mx_ContextualMenu_bottom {
        bottom: 8px;
    }

.mx_ReadReceiptGroup_popup .mx_ReadReceiptGroup_title {
        font-size: 12px;
        line-height: 15px;
        margin: 16px 16px 8px;
        font-weight: var(--cpd-font-weight-semibold);
        /* shouldn’t be actually focusable */
        outline: none;
    }

.mx_ReadReceiptGroup_popup .mx_AutoHideScrollbar .mx_ReadReceiptGroup_person {
            display: -webkit-box;
            display: -ms-flexbox;
            display: flex;
            -webkit-box-orient: horizontal;
            -webkit-box-direction: normal;
                -ms-flex-direction: row;
                    flex-direction: row;
            padding: 4px;
            margin: 0 12px;
            border-radius: 8px;
        }

.mx_ReadReceiptGroup_popup .mx_AutoHideScrollbar .mx_ReadReceiptGroup_person:hover {
                background: #343a46;
                background: var(--menu-selected-color, #343a46);
            }

.mx_ReadReceiptGroup_popup .mx_AutoHideScrollbar .mx_ReadReceiptGroup_person:last-child {
                margin-bottom: 8px;
            }

.mx_ReadReceiptGroup_popup .mx_AutoHideScrollbar .mx_ReadReceiptGroup_person .mx_BaseAvatar {
                margin: 6px 8px;
                -ms-flex-item-align: center;
                    align-self: center;
                justify-self: center;
                -ms-flex-negative: 0;
                    flex-shrink: 0; /* Long names should not shrink the picture */
            }

.mx_ReadReceiptGroup_popup .mx_AutoHideScrollbar .mx_ReadReceiptGroup_person .mx_ReadReceiptGroup_name {
                display: -webkit-box;
                display: -ms-flexbox;
                display: flex;
                -webkit-box-orient: vertical;
                -webkit-box-direction: normal;
                    -ms-flex-direction: column;
                        flex-direction: column;
                -webkit-box-flex: 1;
                    -ms-flex-positive: 1;
                        flex-grow: 1;
                -ms-flex-negative: 1;
                    flex-shrink: 1;
                overflow: hidden;
            }

.mx_ReadReceiptGroup_popup .mx_AutoHideScrollbar .mx_ReadReceiptGroup_person .mx_ReadReceiptGroup_name p {
                    margin: 2px 0;
                    text-overflow: ellipsis;
                    overflow: hidden;
                    white-space: nowrap;
                }

.mx_ReadReceiptGroup_popup .mx_AutoHideScrollbar .mx_ReadReceiptGroup_person .mx_ReadReceiptGroup_name .mx_ReadReceiptGroup_secondary {
                    color: #edf3ff;
                    color: var(--secondary-content, #edf3ff);
                }

.mx_ReadReceiptGroup_person--tooltip {
    overflow-y: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/*
Copyright 2024 New Vector Ltd.
Copyright 2018 Vector Creations Ltd

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_ReplyPreview {
    border: 1px solid var(--roomlist-separator-color);
    border-bottom: none;
    background: var(--timeline-background-color);
    max-height: 50vh;
    overflow: auto;
}

.mx_ReplyPreview .mx_ReplyPreview_section {
        border-bottom: 1px solid var(--roomlist-separator-color);
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-flow: column;
                flex-flow: column;
        row-gap: 8px;
        padding: 8px 8px 0 0;
    }

.mx_ReplyPreview .mx_ReplyPreview_section .mx_ReplyPreview_header {
            display: -webkit-box;
            display: -ms-flexbox;
            display: flex;
            -webkit-box-pack: justify;
                -ms-flex-pack: justify;
                    justify-content: space-between;
            -webkit-column-gap: 8px;
               -moz-column-gap: 8px;
                    column-gap: 8px;

            color: var(--timeline-text-color);
            font-weight: 400;
            opacity: 0.4;
        }

.mx_ReplyPreview .mx_ReplyPreview_section .mx_ReplyPreview_header .mx_ReplyPreview_header_cancel {
                background-color: var(--timeline-text-color);
                -webkit-mask-image: url(../../icons/close.dce71fd.svg);
                        mask-image: url(../../icons/close.dce71fd.svg);
                -webkit-mask-repeat: no-repeat;
                        mask-repeat: no-repeat;
                -webkit-mask-position: center;
                        mask-position: center;
                -webkit-mask-size: contain;
                        mask-size: contain;
                width: 20px;
                height: 20px;
                min-width: 20px;
                min-height: 20px;
            }

.mx_RoomView_body .mx_ReplyPreview {
        /* Add box-shadow to the reply preview on the main (left) panel only. */
        /* It is not added to the preview on the (right) panel for threads and a chat with a maximized widget. */
        -webkit-box-shadow: 0px -16px 32px tranparent;
                box-shadow: 0px -16px 32px tranparent;
        border-radius: 8px 8px 0 0;
    }

/*
Copyright 2024 New Vector Ltd.
Copyright 2020 Tulir Asokan <tulir@maunium.net>

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_ReplyTile {
    position: relative;
    padding: 2px 0;
    font: var(--cpd-font-body-md-regular);
}

.mx_ReplyTile.mx_ReplyTile_audio .mx_MFileBody_info_icon::before {
        -webkit-mask-image: url(../../icons/volume-on-solid.41ceb1c.svg);
                mask-image: url(../../icons/volume-on-solid.41ceb1c.svg);
    }

.mx_ReplyTile.mx_ReplyTile_video .mx_MFileBody_info_icon::before {
        -webkit-mask-image: url(../../img/element-icons/call/video-call.515f9f9.svg);
                mask-image: url(../../img/element-icons/call/video-call.515f9f9.svg);
    }

.mx_ReplyTile > a {
        display: grid;
        grid-template:
            "sender" auto
            "message" auto
            / 100%;
        text-decoration: none;
        color: #edf3ff;
        color: var(--secondary-content, #edf3ff);
        -webkit-transition: color ease 0.15s;
        transition: color ease 0.15s;
        grid-gap: 2px;
        gap: 2px;
        max-width: 100%;

        /* avoid overflow with wide content*/
    }

.mx_ReplyTile > a:hover {
            color: var(--timeline-text-color);
        }

.mx_ReplyTile .mx_RedactedBody {
        line-height: 1.125rem;
    }

.mx_ReplyTile .mx_RedactedBody,
    .mx_ReplyTile .mx_HiddenBody {
        padding: 4px 0 2px 20px;
    }

.mx_ReplyTile .mx_RedactedBody::before, .mx_ReplyTile .mx_HiddenBody::before {
            height: 13px;
            width: 13px;
            top: 3px;
        }

/* We do reply size limiting with CSS to avoid duplicating the TextualBody component. */

.mx_ReplyTile .mx_EventTile_content {
        grid-area: message;

        text-overflow: ellipsis;
        display: -webkit-box;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 2;
    }

.mx_ReplyTile .mx_EventTile_content .mx_EventTile_body.mx_EventTile_bigEmoji {
            line-height: 1.375rem !important; /* Same as var(--EventTile_group_line-line-height) */
            font-size: 0.875rem !important; /* Override the big emoji override */
        }

/* in order to keep the message on two lines, we need to make the body inline*/

.mx_ReplyTile .mx_EventTile_content .mx_EventTile_body {
            display: inline;
        }

/* Hide line numbers and edited indicator*/

.mx_ReplyTile .mx_EventTile_content .mx_EventTile_lineNumbers,
        .mx_ReplyTile .mx_EventTile_content .mx_EventTile_edited {
            display: none;
        }

/* Hack to cut content in <pre> tags too */

.mx_ReplyTile .mx_EventTile_content .mx_EventTile_pre_container > pre {
            overflow-x: scroll;
            overflow-y: hidden;
            text-overflow: ellipsis;
            display: -webkit-box;
            -webkit-box-orient: vertical;
            -webkit-line-clamp: 2;
            padding: 4px;
        }

.mx_ReplyTile .mx_EventTile_content .markdown-body blockquote,
        .mx_ReplyTile .mx_EventTile_content .markdown-body dl,
        .mx_ReplyTile .mx_EventTile_content .markdown-body ol,
        .mx_ReplyTile .mx_EventTile_content .markdown-body p,
        .mx_ReplyTile .mx_EventTile_content .markdown-body pre,
        .mx_ReplyTile .mx_EventTile_content .markdown-body table,
        .mx_ReplyTile .mx_EventTile_content .markdown-body ul {
            margin-bottom: 4px;
        }

.mx_ReplyTile.mx_ReplyTile_info {
        padding-top: 0;
    }

.mx_ReplyTile.mx_ReplyTile_inline > a {
        /* Render replies to emotes inline with the sender avatar */
        grid-template:
            "sender        message" auto
            / -webkit-max-content auto;
        grid-template:
            "sender        message" auto
            / max-content auto;
        gap: 4px; /* increase spacing */
    }

.mx_ReplyTile .mx_ReplyTile_sender {
        grid-area: sender;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        gap: 4px;
    }

.mx_ReplyTile .mx_ReplyTile_sender .mx_DisambiguatedProfile {
            font: var(--cpd-font-body-md-regular);

            display: inline-block; /* anti-zalgo, with overflow hidden */
            padding: 0;
            margin: 0;

            /* truncate long display names */
            overflow: hidden;
            white-space: nowrap;
            text-overflow: ellipsis;
        }

.mx_ReplyTile .mx_ReplyTile_sender .mx_BaseAvatar {
            line-height: 14px; /* To match size */
        }

/*
Copyright 2024 New Vector Ltd.
Copyright 2020 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_RoomBreadcrumbs {
    width: 100%;

    /* Create a flexbox for the crumbs */
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    margin-bottom: 12px;

    /* These classes come from the CSSTransition component. There's many more classes we */
    /* could care about, but this is all we worried about for now. The animation works by */
}

.mx_RoomBreadcrumbs .mx_RoomBreadcrumbs_crumb {
        margin-right: 8px;
        width: 32px;
    }

/* sliding it into view. */

.mx_RoomBreadcrumbs.mx_RoomBreadcrumbs-enter {
        -webkit-transform: translateX(-40px);
                transform: translateX(-40px); /* 32px for the avatar, 8px for the margin */
    }

/* first triggering the enter state with the newest breadcrumb off screen (-40px) then */

.mx_RoomBreadcrumbs.mx_RoomBreadcrumbs-enter-active {
        -webkit-transform: translateX(0);
                transform: translateX(0);

        /* Timing function is as-requested by design. */
        /* NOTE: The transition time MUST match the value passed to CSSTransition! */
        -webkit-transition: -webkit-transform 640ms cubic-bezier(0.66, 0.02, 0.36, 1);
        transition: -webkit-transform 640ms cubic-bezier(0.66, 0.02, 0.36, 1);
        transition: transform 640ms cubic-bezier(0.66, 0.02, 0.36, 1);
        transition: transform 640ms cubic-bezier(0.66, 0.02, 0.36, 1), -webkit-transform 640ms cubic-bezier(0.66, 0.02, 0.36, 1);
    }

.mx_RoomBreadcrumbs .mx_RoomBreadcrumbs_placeholder {
        font: var(--cpd-font-body-md-semibold);
        line-height: 32px; /* specifically to match the height this is not scaled */
        height: 32px;
    }

/*
Copyright 2024 New Vector Ltd.
Copyright 2022 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_RoomCallBanner {
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;

    -webkit-box-sizing: border-box;

            box-sizing: border-box;
    padding: 12px 16px;

    color: var(--timeline-text-color);
    background-color: #21262c;
    background-color: var(--system, #21262c);
    cursor: pointer;
}

.mx_RoomCallBanner_text {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
}

.mx_RoomCallBanner_label {
    color: var(--timeline-text-color);
    font-weight: var(--cpd-font-weight-semibold);
    padding-right: 8px;
}

.mx_RoomCallBanner_label::before {
        display: inline-block;
        vertical-align: middle;
        content: "";
        background-color: #edf3ff;
        background-color: var(--secondary-content, #edf3ff);
        -webkit-mask-size: 16px;
                mask-size: 16px;
        -webkit-mask-position: center;
                mask-position: center;
        width: 16px;
        height: 1.2em; /* to match line height */
        margin-right: 8px;
        -webkit-mask-image: url(../../img/element-icons/call/video-call.515f9f9.svg);
                mask-image: url(../../img/element-icons/call/video-call.515f9f9.svg);
    }

/*
Copyright 2024 New Vector Ltd.
Copyright 2023 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_RoomHeader {
    height: 64px;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    padding: 0 var(--cpd-space-3x) 0 calc(var(--cpd-space-3x) + var(--cpd-space-1-5x));
    border-bottom: 1px solid var(--cpd-color-gray-400);
    background-color: var(--timeline-background-color);
    -webkit-transition: all 0.2s ease;
    transition: all 0.2s ease;
}

.mx_RoomHeader:hover {
    background-color: var(--cpd-color-gray-200);
}

.mx_RoomHeader_infoWrapper {
    /* unset button styles */
    background: transparent none repeat 0 0 / auto auto padding-box border-box scroll;
    background: initial;
    border: medium none currentcolor;
    border: initial;
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    cursor: pointer;
    gap: var(--cpd-space-3x);
    text-align: left;
    height: 100%;
    padding: 0;
}

.mx_RoomHeader_info {
    /* We want the spacing to be 64px, 13x = 52px but we have a flex gap of
       12px set on the flex container, which sums up to 64 */
    padding-right: var(--cpd-space-13x);
}

.mx_RoomHeader_truncated {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 1;

    overflow: hidden;
    word-break: break-all;
    text-overflow: ellipsis;
}

.mx_RoomHeader_heading {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: var(--cpd-space-1x);
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
}

.mx_RoomHeader_icon {
    -ms-flex-negative: 0;
        flex-shrink: 0;
}

.mx_RoomHeader .mx_FacePile {
    color: #edf3ff;
    color: var(--secondary-content, #edf3ff);
    background: var(--timeline-background-color);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: var(--cpd-space-2x);
    border-radius: 9999px;
    padding: var(--cpd-space-1-5x);
    cursor: pointer;
    -webkit-user-select: none;
       -moz-user-select: none;
        -ms-user-select: none;
            user-select: none;
}

/* RoomAvatar doesn't pass classes down to avatar
    So set style here
    using div because compound classes are not stable */

.mx_RoomHeader .mx_FacePile > div {
        -ms-flex-negative: 0;
            flex-shrink: 0;
    }

.mx_RoomHeader .mx_FacePile:hover {
        color: var(--timeline-text-color);
        background: var(--cpd-color-bg-subtle-primary);
    }

.mx_RoomHeader .mx_BaseAvatar {
    -ms-flex-negative: 0;
        flex-shrink: 0;
}

.mx_RoomHeader_videoCallOption {
    /* Workaround for https://github.com/element-hq/compound/issues/331 */
    min-width: 240px;
}

/*
Copyright 2024 New Vector Ltd.
Copyright 2022 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_RoomInfoLine {
    color: #edf3ff;
    color: var(--secondary-content, #edf3ff);
    display: inline-block;
}

.mx_RoomInfoLine::before {
        content: "";
        display: inline-block;
        height: 1.2em;
        -webkit-mask-position: center;
                mask-position: center;
        -webkit-mask-repeat: no-repeat;
                mask-repeat: no-repeat;
        background-color: #edf3ff;
        background-color: var(--tertiary-content, #edf3ff);
        vertical-align: text-bottom;
        margin-right: 6px;
    }

.mx_RoomInfoLine.mx_RoomInfoLine_public::before {
        width: 12px;
        -webkit-mask-size: 12px;
                mask-size: 12px;
        -webkit-mask-image: url(../../icons/public.df992ad.svg);
                mask-image: url(../../icons/public.df992ad.svg);
    }

.mx_RoomInfoLine.mx_RoomInfoLine_private::before {
        width: 10px;
        -webkit-mask-size: 10px;
                mask-size: 10px;
        -webkit-mask-image: url(../../icons/lock-solid.6a2e583.svg);
                mask-image: url(../../icons/lock-solid.6a2e583.svg);
    }

.mx_RoomInfoLine.mx_RoomInfoLine_video::before {
        width: 16px;
        -webkit-mask-size: 16px;
                mask-size: 16px;
        -webkit-mask-image: url(../../img/element-icons/call/video-call.515f9f9.svg);
                mask-image: url(../../img/element-icons/call/video-call.515f9f9.svg);
    }

.mx_RoomInfoLine .mx_RoomInfoLine_members {
        color: inherit;
        text-decoration: inherit;
        font-weight: inherit;
    }

.mx_RoomInfoLine .mx_RoomInfoLine_members::before {
            content: "·"; /* visual separator */
            margin: 0 6px;
        }

/*
Copyright 2024 New Vector Ltd.
Copyright 2023 Nordeck IT + Consulting GmbH

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_RoomKnocksBar {
    background-color: var(--cpd-color-bg-subtle-secondary);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    padding: var(--cpd-space-2x) var(--cpd-space-4x);
}

.mx_RoomKnocksBar_content {
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    margin: 0 var(--cpd-space-3x);
}

.mx_RoomKnocksBar_paragraph {
    color: #edf3ff;
    color: var(--secondary-content, #edf3ff);
    font-size: var(--cpd-font-size-body-sm);
    margin: 0;
}

.mx_RoomKnocksBar_link {
    margin-left: var(--cpd-space-3x);
}

.mx_RoomKnocksBar_action,
.mx_RoomKnocksBar_avatar {
    -ms-flex-item-align: center;
        align-self: center;
    -ms-flex-negative: 0;
        flex-shrink: 0;
}

.mx_RoomKnocksBar_action + .mx_RoomKnocksBar_action {
    margin-left: var(--cpd-space-3x);
}

.mx_RoomKnocksBar_avatar + .mx_RoomKnocksBar_avatar {
    margin-left: calc(var(--cpd-space-4x) * -1);
}

/*
Copyright 2024 New Vector Ltd.
Copyright 2020 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_RoomList {
    padding-right: 7px; /* width of the scrollbar, to line things up */
}

.mx_RoomList_iconPlus::before {
    -webkit-mask-image: url(../../img/element-icons/roomlist/plus-circle.4fbd7e8.svg);
            mask-image: url(../../img/element-icons/roomlist/plus-circle.4fbd7e8.svg);
}

.mx_RoomList_iconNewRoom::before {
    -webkit-mask-image: url(../../img/element-icons/roomlist/hash-plus.0f56725.svg);
            mask-image: url(../../img/element-icons/roomlist/hash-plus.0f56725.svg);
}

.mx_RoomList_iconNewVideoRoom::before {
    -webkit-mask-image: url(../../img/element-icons/roomlist/hash-video.0d44220.svg);
            mask-image: url(../../img/element-icons/roomlist/hash-video.0d44220.svg);
}

.mx_RoomList_iconAddExistingRoom::before {
    -webkit-mask-image: url(../../img/element-icons/roomlist/hash.9de9cf7.svg);
            mask-image: url(../../img/element-icons/roomlist/hash.9de9cf7.svg);
}

.mx_RoomList_iconExplore::before {
    -webkit-mask-image: url(../../img/element-icons/roomlist/hash-search.53e3a04.svg);
            mask-image: url(../../img/element-icons/roomlist/hash-search.53e3a04.svg);
}

.mx_RoomList_iconDialpad::before {
    -webkit-mask-image: url(../../img/element-icons/roomlist/dialpad.024cc1d.svg);
            mask-image: url(../../img/element-icons/roomlist/dialpad.024cc1d.svg);
}

.mx_RoomList_iconStartChat::before {
    -webkit-mask-image: url(../../icons/user-add-solid.eb57166.svg);
            mask-image: url(../../icons/user-add-solid.eb57166.svg);
}

.mx_RoomList_iconInvite::before {
    -webkit-mask-image: url(../../img/element-icons/room/share.6a6396f.svg);
            mask-image: url(../../img/element-icons/room/share.6a6396f.svg);
}

/*
Copyright 2024 New Vector Ltd.
Copyright 2021 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_RoomListHeader {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
}

.mx_RoomListHeader .mx_RoomListHeader_contextLessTitle,
    .mx_RoomListHeader .mx_RoomListHeader_contextMenuButton {
        font: var(--cpd-font-heading-sm-semibold);
        font-weight: var(--cpd-font-weight-semibold);
        padding: 1px 24px 1px 4px;
        position: relative;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
        margin-left: 8px;
        margin-right: auto;
        -webkit-user-select: none;
           -moz-user-select: none;
            -ms-user-select: none;
                user-select: none;
    }

.mx_RoomListHeader .mx_RoomListHeader_contextMenuButton {
        border-radius: 6px;
    }

.mx_RoomListHeader .mx_RoomListHeader_contextMenuButton:hover {
            background-color: #6f7882;
            background-color: var(--quinary-content, #6f7882);
        }

.mx_RoomListHeader .mx_RoomListHeader_contextMenuButton::before {
            content: "";
            width: 20px;
            height: 20px;
            top: 3px;
            right: 0;
            position: absolute;
            -webkit-mask-position: center;
                    mask-position: center;
            -webkit-mask-size: contain;
                    mask-size: contain;
            -webkit-mask-repeat: no-repeat;
                    mask-repeat: no-repeat;
            background-color: #edf3ff;
            background-color: var(--tertiary-content, #edf3ff);
            -webkit-mask-image: url(../../icons/chevron-down.3774773.svg);
                    mask-image: url(../../icons/chevron-down.3774773.svg);
        }

.mx_RoomListHeader .mx_RoomListHeader_contextMenuButton[aria-expanded="true"] {
            background-color: #6f7882;
            background-color: var(--quinary-content, #6f7882);
        }

.mx_RoomListHeader .mx_RoomListHeader_contextMenuButton[aria-expanded="true"]::before {
                -webkit-transform: rotate(180deg);
                        transform: rotate(180deg);
            }

.mx_RoomListHeader .mx_RoomListHeader_plusButton {
        width: 32px;
        height: 32px;
        border-radius: 8px;
        position: relative;
        padding: 8px;
        margin-left: 8px;
        margin-right: 12px;
        background-color: var(--roomlist-highlights-color);
        -webkit-box-sizing: border-box;
                box-sizing: border-box;
        -ms-flex-negative: 0;
            flex-shrink: 0;
    }

.mx_RoomListHeader .mx_RoomListHeader_plusButton::before {
            content: "";
            width: 16px;
            height: 16px;
            position: absolute;
            -webkit-mask-position: center;
                    mask-position: center;
            -webkit-mask-size: contain;
                    mask-size: contain;
            -webkit-mask-repeat: no-repeat;
                    mask-repeat: no-repeat;
            background-color: #edf3ff;
            background-color: var(--secondary-content, #edf3ff);
            -webkit-mask-image: url(../../icons/plus.a217d01.svg);
                    mask-image: url(../../icons/plus.a217d01.svg);
        }

.mx_RoomListHeader .mx_RoomListHeader_plusButton:hover {
            background-color: #edf3ff;
            background-color: var(--tertiary-content, #edf3ff);
        }

.mx_RoomListHeader .mx_RoomListHeader_plusButton:hover::before {
                background-color: var(--timeline-background-color);
            }

.mx_RoomListHeader_iconInvite::before {
    -webkit-mask-image: url(../../img/element-icons/room/invite.440bc20.svg);
            mask-image: url(../../img/element-icons/room/invite.440bc20.svg);
}

.mx_RoomListHeader_iconStartChat::before {
    -webkit-mask-image: url(../../icons/user-add-solid.eb57166.svg);
            mask-image: url(../../icons/user-add-solid.eb57166.svg);
}

.mx_RoomListHeader_iconNewRoom::before {
    -webkit-mask-image: url(../../img/element-icons/roomlist/hash-plus.0f56725.svg);
            mask-image: url(../../img/element-icons/roomlist/hash-plus.0f56725.svg);
}

.mx_RoomListHeader_iconNewVideoRoom::before {
    -webkit-mask-image: url(../../img/element-icons/roomlist/hash-video.0d44220.svg);
            mask-image: url(../../img/element-icons/roomlist/hash-video.0d44220.svg);
}

.mx_RoomListHeader_iconExplore::before {
    -webkit-mask-image: url(../../img/element-icons/roomlist/hash-search.53e3a04.svg);
            mask-image: url(../../img/element-icons/roomlist/hash-search.53e3a04.svg);
}

.mx_RoomListHeader_iconPlus::before {
    -webkit-mask-image: url(../../icons/plus.a217d01.svg);
            mask-image: url(../../icons/plus.a217d01.svg);
}

/*
Copyright 2024 New Vector Ltd.
Copyright 2015-2022 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_RoomPreviewBar {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-align-items: center;
}

.mx_RoomPreviewBar h3 {
        font-size: 1.125rem;
        font-weight: var(--cpd-font-weight-semibold);
    }

.mx_RoomPreviewBar h3.mx_RoomPreviewBar_spinnerTitle {
            display: -webkit-box;
            display: -ms-flexbox;
            display: flex;
            -webkit-box-orient: horizontal;
            -webkit-box-direction: normal;
                -ms-flex-direction: row;
                    flex-direction: row;
            -webkit-box-align: center;
                -ms-flex-align: center;
                    align-items: center;
            margin: 0;
        }

.mx_RoomPreviewBar h3,
    .mx_RoomPreviewBar .mx_RoomPreviewBar_message p {
        /* break-word, with fallback to break-all, which is wider supported */
        word-break: break-all;
        word-break: break-word;
    }

.mx_RoomPreviewBar .mx_Spinner {
        width: auto;
        height: auto;
        margin: 10px 10px 10px 0;
        -webkit-box-flex: 0;
            -ms-flex: 0 0 auto;
                flex: 0 0 auto;
    }

.mx_RoomPreviewBar .mx_RoomPreviewBar_footer {
        font-size: 0.75rem;
        line-height: 1.25rem;
    }

.mx_RoomPreviewBar .mx_RoomPreviewBar_footer .mx_Spinner {
            vertical-align: middle;
            display: inline-block;
        }

.mx_RoomPreviewBar_actions {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
}

.mx_RoomPreviewBar_message {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
}

.mx_RoomPreviewBar_message p {
        overflow-wrap: break-word;
    }

.mx_RoomPreviewBar_panel {
    padding: 8px 8px 8px 20px;

    -webkit-box-orient: horizontal;

    -webkit-box-direction: normal;

        -ms-flex-direction: row;

            flex-direction: row;
}

.mx_RoomPreviewBar_panel .mx_RoomPreviewBar_actions {
        -webkit-box-flex: 0;
            -ms-flex: 0 0 auto;
                flex: 0 0 auto;
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
            -ms-flex-direction: row;
                flex-direction: row;
        padding: 3px 8px;
    }

.mx_RoomPreviewBar_panel .mx_RoomPreviewBar_actions > * {
            margin-left: 12px;
        }

.mx_RoomPreviewBar_panel .mx_RoomPreviewBar_message {
        -webkit-box-flex: 1;
            -ms-flex: 1 0 0px;
                flex: 1 0 0;
        min-width: 0;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column;
    }

.mx_RoomPreviewBar_panel .mx_RoomPreviewBar_message > * {
            margin: 4px;
        }

/* With maximised widgets, the panel fits in better when rounded */

.mx_MainSplit_maximisedWidget .mx_RoomPreviewBar_panel {
    margin: 8px;
    margin: var(--container-gap-width);
    margin-right: calc(8px / 2);
    margin-right: calc(var(--container-gap-width) / 2); /* Shared with right panel */
    margin-top: 0; /* Already covered by apps drawer */
    border-radius: 8px;
}

.mx_RoomPreviewBar_dialog {
    margin: auto;
    -webkit-box-sizing: content;
            box-sizing: content;
    width: 400px;
    border-radius: 4px;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    padding: 20px;
    text-align: center;
}

.mx_RoomPreviewBar_dialog .mx_RoomPreviewBar_message {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column;
    }

.mx_RoomPreviewBar_dialog .mx_RoomPreviewBar_message > * {
            margin: 5px 0 20px 0;
        }

.mx_RoomPreviewBar_dialog .mx_RoomPreviewBar_actions {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column;
    }

.mx_RoomPreviewBar_dialog .mx_RoomPreviewBar_actions .mx_AccessibleButton {
            padding: 7px 50px; /* extra wide */
        }

.mx_RoomPreviewBar_dialog .mx_RoomPreviewBar_actions > * {
            margin-top: 12px;
        }

.mx_RoomPreviewBar_dialog .mx_RoomPreviewBar_actions .mx_AccessibleButton.mx_AccessibleButton_kind_primary {
            /* to account for the padding of the primary button which causes inconsistent look between */
            /* subsequent secondary (text) buttons */
            margin-bottom: 7px;
        }

.mx_RoomPreviewBar_Invite {
    max-height: 100vh;
    overflow-y: auto;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
}

.mx_RoomPreviewBar_Invite h3 {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    white-space: pre-wrap;
    overflow: hidden;
}

.mx_RoomPreviewBar_inviter {
    font-weight: var(--cpd-font-weight-semibold);
}

a.mx_RoomPreviewBar_inviter {
    text-decoration: underline;
    cursor: pointer;
}

.mx_RoomPreviewBar_inviter_mxid {
    color: var(--cpd-color-text-secondary);
}

.mx_RoomPreviewBar_icon {
    margin-right: 8px;
    vertical-align: text-top;
}

.mx_RoomPreviewBar_fullWidth {
    width: 100%;
}

/*
Copyright 2024 New Vector Ltd.
Copyright 2022 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_RoomPreviewCard {
    padding: 32px 24px !important; /* Override SpaceRoomView's default padding */
    margin: auto;
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    max-width: 480px;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    background-color: #21262c;
    background-color: var(--system, #21262c);
    border-radius: 8px;
    position: relative;
    font: var(--cpd-font-body-md-regular);
}

.mx_RoomPreviewCard .mx_RoomPreviewCard_notice {
        font-weight: var(--cpd-font-weight-semibold);
        line-height: 1.5rem;
        color: var(--timeline-text-color);
        margin-top: 24px;
        position: relative;
        padding-left: calc(20px + 8px);
    }

.mx_RoomPreviewCard .mx_RoomPreviewCard_notice::before {
            content: "";
            position: absolute;
            height: 1.5rem;
            width: 20px;
            left: 0;
            -webkit-mask-repeat: no-repeat;
                    mask-repeat: no-repeat;
            -webkit-mask-position: center;
                    mask-position: center;
            -webkit-mask-size: contain;
                    mask-size: contain;
            -webkit-mask-image: url(../../icons/info-solid.cd635a2.svg);
                    mask-image: url(../../icons/info-solid.cd635a2.svg);
            background-color: #edf3ff;
            background-color: var(--secondary-content, #edf3ff);
        }

.mx_RoomPreviewCard .mx_RoomPreviewCard_inviter {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        margin-bottom: 20px;
        font-size: 0.9375rem;
    }

.mx_RoomPreviewCard .mx_RoomPreviewCard_inviter > div {
            margin-left: 8px;
        }

.mx_RoomPreviewCard .mx_RoomPreviewCard_inviter > div .mx_RoomPreviewCard_inviter_name {
                line-height: 1.125rem;
            }

.mx_RoomPreviewCard .mx_RoomPreviewCard_inviter > div .mx_RoomPreviewCard_inviter_mxid {
                color: #edf3ff;
                color: var(--secondary-content, #edf3ff);
            }

.mx_RoomPreviewCard .mx_RoomPreviewCard_avatar {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
    }

.mx_RoomPreviewCard .mx_RoomPreviewCard_avatar .mx_RoomPreviewCard_video {
            width: 50px;
            height: 50px;
            border-radius: calc((50px + 2 * 3px) / 2);
            background-color: #0dbd8b;
            background-color: var(--accent-color, #0dbd8b);
            border: 3px solid #21262c;
            border: 3px solid var(--system, #21262c);

            position: relative;
            left: calc(-50px / 4 - 3px);
        }

.mx_RoomPreviewCard .mx_RoomPreviewCard_avatar .mx_RoomPreviewCard_video::before {
                content: "";
                background-color: #ffffff;
                position: absolute;
                width: 50px;
                height: 50px;
                -webkit-mask-size: 22px;
                        mask-size: 22px;
                -webkit-mask-position: center;
                        mask-position: center;
                -webkit-mask-repeat: no-repeat;
                        mask-repeat: no-repeat;
                -webkit-mask-image: url(../../img/element-icons/call/video-call.515f9f9.svg);
                        mask-image: url(../../img/element-icons/call/video-call.515f9f9.svg);
            }

/* XXX Remove this when video rooms leave beta */

.mx_RoomPreviewCard .mx_RoomPreviewCard_avatar .mx_BetaCard_betaPill {
            position: absolute;
            inset-block-start: 32px;
            inset-inline-end: 24px;
        }

.mx_RoomPreviewCard h1.mx_RoomPreviewCard_name {
        margin: 16px 0 !important; /* Override SpaceRoomView's default margins */
    }

.mx_RoomPreviewCard .mx_RoomPreviewCard_topic {
        line-height: 1.375rem;
        margin-top: 16px;
        max-height: 160px;
        overflow-y: auto;
    }

.mx_RoomPreviewCard .mx_FacePile {
        margin-top: 20px;
    }

.mx_RoomPreviewCard .mx_RoomPreviewCard_joinButtons {
        margin-top: 20px;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        gap: 20px;
    }

.mx_RoomPreviewCard .mx_RoomPreviewCard_joinButtons .mx_AccessibleButton {
            max-width: 200px;
            padding: 14px 0;
            -webkit-box-flex: 1;
                -ms-flex-positive: 1;
                    flex-grow: 1;
        }

/*
Copyright 2024 New Vector Ltd.
Copyright 2024 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_RoomSearchAuxPanel {
    /* use `min-height` rather than height, to allow room for the text to wrap if the window is narrow */
    min-height: 84px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    border-color: var(--cpd-color-bg-canvas-default);
    border-style: solid;
    border-width: 1px 0;
    padding: var(--cpd-space-3x);
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    gap: var(--cpd-space-2x);
}

.mx_RoomSearchAuxPanel .mx_RoomSearchAuxPanel_summary {
        -webkit-box-flex: 1;
            -ms-flex-positive: 1;
                flex-grow: 1;
        display: inherit; /* flex */
        gap: var(--cpd-space-2x);
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        overflow: hidden;
    }

.mx_RoomSearchAuxPanel .mx_RoomSearchAuxPanel_summary > svg {
            padding: var(--cpd-space-2x);
            border-radius: var(--cpd-space-2x);
            background-color: var(--cpd-color-bg-subtle-secondary);
            color: var(--cpd-color-icon-secondary);
            -ms-flex-negative: 0;
                flex-shrink: 0;
        }

.mx_RoomSearchAuxPanel .mx_RoomSearchAuxPanel_summary .mx_RoomSearchAuxPanel_summary_text {
            display: -webkit-box;
            display: -ms-flexbox;
            display: flex;
            -webkit-box-orient: vertical;
            -webkit-box-direction: normal;
                -ms-flex-direction: column;
                    flex-direction: column;
            font-size: 0.9375rem;
            line-height: 1.375rem;
            overflow: hidden;
        }

.mx_RoomSearchAuxPanel .mx_RoomSearchAuxPanel_summary .mx_RoomSearchAuxPanel_summary_text span {
                overflow: hidden;
                text-overflow: ellipsis;
                white-space: nowrap;
            }

.mx_RoomSearchAuxPanel .mx_RoomSearchAuxPanel_summary .mx_SearchWarning {
            display: contents;
            font-size: 0.8125rem;
            line-height: 1.25rem;
            color: var(--cpd-color-text-secondary);
        }

.mx_RoomSearchAuxPanel .mx_RoomSearchAuxPanel_buttons {
        display: inherit; /* flex */
        gap: var(--cpd-space-6x);
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        -ms-flex-negative: 0;
            flex-shrink: 0;
    }

/*
Copyright 2024 New Vector Ltd.
Copyright 2020 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_RoomSublist {
    margin-left: 8px;
    margin-bottom: 4px;

    /* In the general case, we reserve space for each sublist header to prevent */
    /* scroll jumps when they become sticky. However, that leaves a gap when */
}

.mx_RoomSublist.mx_RoomSublist_hidden {
        display: none;
    }

.mx_RoomSublist:not(.mx_RoomSublist_minimized) .mx_RoomSublist_headerContainer {
            height: auto;
        }

.mx_RoomSublist .mx_RoomSublist_headerContainer {
        /* Create a flexbox to make alignment easy */
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;

        /* *************************** */
        /* Sticky Headers Start */

        /* Ideally we'd be able to use `position: sticky; top: 0; bottom: 0;` on the */
        /* headerContainer, however due to our layout concerns we actually have to */
        /* calculate it manually so we can sticky things in the right places. We also */
        /* target the headerText instead of the container to reduce jumps when scrolling, */
        /* and to help hide the badges/other buttons that could appear on hover. This */
        /* all works by ensuring the header text has a fixed height when sticky so the */
        /* fixed height of the container can maintain the scroll position. */

        /* The combined height must be set in the LeftPanel component for sticky headers */
        /* to work correctly. */
        padding-bottom: 8px;
        height: 24px;
        color: #edf3ff;
        color: var(--secondary-content, #edf3ff);
    }

.mx_RoomSublist .mx_RoomSublist_headerContainer .mx_RoomSublist_stickableContainer {
            width: 100%;
        }

.mx_RoomSublist .mx_RoomSublist_headerContainer .mx_RoomSublist_stickable {
            -webkit-box-flex: 1;
                -ms-flex: 1;
                    flex: 1;
            max-width: 100%;

            /* Create a flexbox to make ordering easy */
            display: -webkit-box;
            display: -ms-flexbox;
            display: flex;
            -webkit-box-align: center;
                -ms-flex-align: center;
                    align-items: center;

            /* We use a generic sticky class for 2 reasons: to reduce style duplication and */
            /* to identify when a header is sticky. If we didn't have a consistent sticky class, */
            /* we'd have to do the "is sticky" checks again on click, as clicking the header */

            /* We don't have a top style because the top is dependent on the room list header's */
            /* height, and is therefore calculated in JS. */
            /* The class, mx_RoomSublist_headerContainer_stickyTop, is applied though. */
        }

/* when sticky scrolls instead of collapses the list. */

.mx_RoomSublist .mx_RoomSublist_headerContainer .mx_RoomSublist_stickable.mx_RoomSublist_headerContainer_sticky {
                position: fixed;
                height: 32px; /* to match the header container */
                /* width set by JS because of a compat issue between Firefox and Chrome */
                width: calc(100% - 15px);
            }

/* *************************** */

.mx_RoomSublist .mx_RoomSublist_headerContainer .mx_RoomSublist_badgeContainer {
            /* Create another flexbox row because it's super easy to position the badge this way. */
            display: -webkit-box;
            display: -ms-flexbox;
            display: flex;
            -webkit-box-align: center;
                -ms-flex-align: center;
                    align-items: center;
            -webkit-box-pack: center;
                -ms-flex-pack: center;
                    justify-content: center;
        }

/* Apply the width and margin to the badge so the container doesn't occupy dead space */

.mx_RoomSublist .mx_RoomSublist_headerContainer .mx_RoomSublist_badgeContainer .mx_NotificationBadge {
                /* Do not set a width so the badges get properly sized */
                margin-left: 8px; /* same as menu+aux buttons */
            }

/* Sticky Headers End */

.mx_RoomSublist .mx_RoomSublist_headerContainer:not(.mx_RoomSublist_headerContainer_withAux) .mx_NotificationBadge {
                margin-right: 4px; /* just to push it over a bit, aligning it with the other elements */
            }

.mx_RoomSublist .mx_RoomSublist_headerContainer .mx_RoomSublist_auxButton,
        .mx_RoomSublist .mx_RoomSublist_headerContainer .mx_RoomSublist_menuButton {
            margin-left: 8px; /* should be the same as the notification badge */
            position: relative;
            width: 24px;
            height: 24px;
            border-radius: 8px;
        }

.mx_RoomSublist .mx_RoomSublist_headerContainer .mx_RoomSublist_auxButton::before, .mx_RoomSublist .mx_RoomSublist_headerContainer .mx_RoomSublist_menuButton::before {
                content: "";
                width: 16px;
                height: 16px;
                position: absolute;
                top: 4px;
                left: 4px;
                -webkit-mask-position: center;
                        mask-position: center;
                -webkit-mask-size: contain;
                        mask-size: contain;
                -webkit-mask-repeat: no-repeat;
                        mask-repeat: no-repeat;
                background: var(--cpd-color-icon-secondary);
            }

.mx_RoomSublist .mx_RoomSublist_headerContainer .mx_RoomSublist_auxButton:hover,
        .mx_RoomSublist .mx_RoomSublist_headerContainer .mx_RoomSublist_menuButton:hover {
            background: var(--roomlist-highlights-color);
        }

/* Hide the menu button by default */

.mx_RoomSublist .mx_RoomSublist_headerContainer .mx_RoomSublist_menuButton {
            visibility: hidden;
            width: 0;
            margin: 0;
        }

.mx_RoomSublist .mx_RoomSublist_headerContainer .mx_RoomSublist_auxButton::before {
            -webkit-mask-image: url(../../icons/plus.a217d01.svg);
                    mask-image: url(../../icons/plus.a217d01.svg);
        }

.mx_RoomSublist .mx_RoomSublist_headerContainer .mx_RoomSublist_menuButton::before {
            -webkit-mask-image: url(../../icons/overflow-horizontal.103407e.svg);
                    mask-image: url(../../icons/overflow-horizontal.103407e.svg);
        }

.mx_RoomSublist .mx_RoomSublist_headerContainer .mx_RoomSublist_headerText {
            -webkit-box-flex: 1;
                -ms-flex: 1;
                    flex: 1;
            max-width: calc(100% - 16px); /* 16px is the badge width */
            font: var(--cpd-font-body-sm-semibold);

            /* Ellipsize any text overflow */
            text-overflow: ellipsis;
            overflow: hidden;
            white-space: nowrap;
        }

.mx_RoomSublist .mx_RoomSublist_headerContainer .mx_RoomSublist_headerText .mx_RoomSublist_collapseBtn {
                display: inline-block;
                position: relative;
                width: 14px;
                height: 14px;
                margin-right: 6px;
            }

.mx_RoomSublist .mx_RoomSublist_headerContainer .mx_RoomSublist_headerText .mx_RoomSublist_collapseBtn::before {
                    content: "";
                    width: 18px;
                    height: 18px;
                    position: absolute;
                    -webkit-mask-position: center;
                            mask-position: center;
                    -webkit-mask-size: contain;
                            mask-size: contain;
                    -webkit-mask-repeat: no-repeat;
                            mask-repeat: no-repeat;
                    background-color: var(--cpd-color-icon-secondary);
                    -webkit-mask-image: url(../../icons/chevron-down.3774773.svg);
                            mask-image: url(../../icons/chevron-down.3774773.svg);
                }

.mx_RoomSublist .mx_RoomSublist_headerContainer .mx_RoomSublist_headerText .mx_RoomSublist_collapseBtn.mx_RoomSublist_collapseBtn_collapsed::before {
                    -webkit-transform: rotate(-90deg);
                            transform: rotate(-90deg);
                }

/* stick to top), so we make sure to exclude the first visible sublist. */

.mx_RoomSublist:not(.mx_RoomSublist_hidden) ~ .mx_RoomSublist .mx_RoomSublist_stickableContainer {
        height: 24px;
    }

/* scrolled to the top above the first sublist (whose header can only ever */

.mx_RoomSublist .mx_RoomSublist_resizeBox {
        position: relative;

        /* Create another flexbox column for the tiles */
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column;
        overflow: hidden;

        /* Class name comes from the ResizableBox component */
        /* The hover state needs to use the whole sublist, not just the resizable box, */
    }

.mx_RoomSublist .mx_RoomSublist_resizeBox .mx_RoomSublist_tiles {
            -webkit-box-flex: 1;
                -ms-flex: 1 0 0px;
                    flex: 1 0 0;
            overflow: hidden;
            overflow: clip;
            /* need this to be flex otherwise the overflow hidden from above */
            /* sometimes vertically centers the clipped list ... no idea why it would do this */
            /* as the box model should be top aligned. Happens in both FF and Chromium */
            display: -webkit-box;
            display: -ms-flexbox;
            display: flex;
            -webkit-box-orient: vertical;
            -webkit-box-direction: normal;
                -ms-flex-direction: column;
                    flex-direction: column;
            -ms-flex-item-align: stretch;
                align-self: stretch;
            /* without this Firefox will prefer pushing the resizer & show more/less button into the overflow */
            min-height: 0;

            -webkit-mask-image: linear-gradient(0deg, transparent, black 4px);

                    mask-image: linear-gradient(0deg, transparent, black 4px);
        }

.mx_RoomSublist .mx_RoomSublist_resizeBox.mx_RoomSublist_resizeBox_forceExpanded .mx_RoomSublist_tiles {
            /* in this state the div can collapse its height entirely in Chromium, */
            /* so prevent that by allowing overflow */
            overflow: visible;
            /* clear the min-height to make it not collapse entirely in a state with no active resizer */
            min-height: 0;
            min-height: initial;
        }

.mx_RoomSublist .mx_RoomSublist_resizeBox .mx_RoomSublist_resizerHandles_showNButton {
            -webkit-box-flex: 0;
                -ms-flex: 0 0 32px;
                    flex: 0 0 32px;
        }

.mx_RoomSublist .mx_RoomSublist_resizeBox .mx_RoomSublist_resizerHandles {
            -webkit-box-flex: 0;
                -ms-flex: 0 0 4px;
                    flex: 0 0 4px;
            display: -webkit-box;
            display: -ms-flexbox;
            display: flex;
            -webkit-box-pack: center;
                -ms-flex-pack: center;
                    justify-content: center;
            width: 100%;
        }

/* so that selector is below and one level higher. */

.mx_RoomSublist .mx_RoomSublist_resizeBox .mx_RoomSublist_resizerHandle {
            cursor: ns-resize;
            border-radius: 3px;

            /* Override styles from library */
            max-width: 64px;
            height: 4px !important; /* Update RESIZE_HANDLE_HEIGHT if this changes */

            /* This is positioned directly below the 'show more' button. */
            position: relative !important;
            bottom: 0 !important; /* override from library */
        }

.mx_RoomSublist .mx_RoomSublist_resizeBox:hover .mx_RoomSublist_resizerHandle, .mx_RoomSublist .mx_RoomSublist_resizeBox.mx_RoomSublist_hasMenuOpen .mx_RoomSublist_resizerHandle {
                opacity: 0.8;
                background-color: var(--timeline-text-color);
            }

.mx_RoomSublist .mx_RoomSublist_showNButton {
        cursor: pointer;
        font-size: 0.8125rem;
        line-height: 1.125rem;
        color: #edf3ff;
        color: var(--secondary-content, #edf3ff);

        /* Update the render() function for RoomSublist if these change */
        /* Update the ListLayout class for minVisibleTiles if these change. */
        height: 24px;
        padding-bottom: 4px;

        /* We create a flexbox to cheat at alignment */
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
    }

.mx_RoomSublist .mx_RoomSublist_showNButton .mx_RoomSublist_showNButtonChevron {
            position: relative;
            width: 18px;
            height: 18px;
            margin-left: 12px;
            margin-right: 16px;
            -webkit-mask-position: center;
                    mask-position: center;
            -webkit-mask-size: contain;
                    mask-size: contain;
            -webkit-mask-repeat: no-repeat;
                    mask-repeat: no-repeat;
            background: #edf3ff;
            background: var(--tertiary-content, #edf3ff);
            left: -1px; /* adjust for image position */
        }

.mx_RoomSublist .mx_RoomSublist_showNButton .mx_RoomSublist_showMoreButtonChevron,
        .mx_RoomSublist .mx_RoomSublist_showNButton .mx_RoomSublist_showLessButtonChevron {
            -webkit-mask-image: url(../../icons/chevron-down.3774773.svg);
                    mask-image: url(../../icons/chevron-down.3774773.svg);
        }

.mx_RoomSublist .mx_RoomSublist_showNButton .mx_RoomSublist_showLessButtonChevron {
            -webkit-transform: rotate(180deg);
                    transform: rotate(180deg);
        }

.mx_RoomSublist.mx_RoomSublist_hasMenuOpen .mx_RoomSublist_menuButton, .mx_RoomSublist:not(.mx_RoomSublist_minimized) > .mx_RoomSublist_headerContainer:focus-within .mx_RoomSublist_menuButton, .mx_RoomSublist:not(.mx_RoomSublist_minimized) > .mx_RoomSublist_headerContainer:hover .mx_RoomSublist_menuButton {
            visibility: visible;
            width: 24px;
            margin-left: 8px;
        }

.mx_RoomSublist.mx_RoomSublist_minimized .mx_RoomSublist_headerContainer {
            height: auto;
            -webkit-box-orient: vertical;
            -webkit-box-direction: normal;
                -ms-flex-direction: column;
                    flex-direction: column;
            position: relative;
        }

.mx_RoomSublist.mx_RoomSublist_minimized .mx_RoomSublist_headerContainer .mx_RoomSublist_badgeContainer {
                -webkit-box-ordinal-group: 1;
                    -ms-flex-order: 0;
                        order: 0;
                -ms-flex-item-align: end;
                    align-self: flex-end;
                margin-right: 0;
            }

.mx_RoomSublist.mx_RoomSublist_minimized .mx_RoomSublist_headerContainer .mx_RoomSublist_stickable {
                -webkit-box-ordinal-group: 2;
                    -ms-flex-order: 1;
                        order: 1;
                max-width: 100%;
            }

.mx_RoomSublist.mx_RoomSublist_minimized .mx_RoomSublist_headerContainer .mx_RoomSublist_auxButton {
                -webkit-box-ordinal-group: 3;
                    -ms-flex-order: 2;
                        order: 2;
                visibility: visible;
                width: 32px !important; /* !important to override hover styles */
                height: 32px !important; /* !important to override hover styles */
                margin-left: 0 !important; /* !important to override hover styles */
                background-color: var(--roomlist-highlights-color);
                margin-top: 8px;
            }

.mx_RoomSublist.mx_RoomSublist_minimized .mx_RoomSublist_headerContainer .mx_RoomSublist_auxButton::before {
                    top: 8px;
                    left: 8px;
                }

.mx_RoomSublist.mx_RoomSublist_minimized .mx_RoomSublist_resizeBox {
            -webkit-box-align: center;
                -ms-flex-align: center;
                    align-items: center;
        }

.mx_RoomSublist.mx_RoomSublist_minimized .mx_RoomSublist_showNButton {
            -webkit-box-orient: vertical;
            -webkit-box-direction: normal;
                -ms-flex-direction: column;
                    flex-direction: column;
        }

.mx_RoomSublist.mx_RoomSublist_minimized .mx_RoomSublist_showNButton .mx_RoomSublist_showNButtonChevron {
                margin-right: 12px; /* to center */
            }

.mx_RoomSublist.mx_RoomSublist_minimized .mx_RoomSublist_menuButton {
            height: 16px;
        }

.mx_RoomSublist.mx_RoomSublist_minimized.mx_RoomSublist_hasMenuOpen .mx_RoomSublist_menuButton, .mx_RoomSublist.mx_RoomSublist_minimized > .mx_RoomSublist_headerContainer:hover .mx_RoomSublist_menuButton {
                visibility: visible;
                position: absolute;
                bottom: 48px; /* align to middle of name, 40px for aux button (with padding) and 8px for alignment */
                right: 0;
                width: 16px;
                height: 16px;
                border-radius: 0;
                z-index: 1; /* occlude the list name */

                /* This is the same color as the left panel background because it needs */
                /* to occlude the sublist title */
                background-color: var(--roomlist-background-color);
            }

.mx_RoomSublist.mx_RoomSublist_minimized.mx_RoomSublist_hasMenuOpen .mx_RoomSublist_menuButton::before, .mx_RoomSublist.mx_RoomSublist_minimized > .mx_RoomSublist_headerContainer:hover .mx_RoomSublist_menuButton::before {
                    top: 0;
                    left: 0;
                }

.mx_RoomSublist.mx_RoomSublist_minimized.mx_RoomSublist_hasMenuOpen.mx_RoomSublist_headerContainer:not(.mx_RoomSublist_headerContainer_withAux) .mx_RoomSublist_menuButton, .mx_RoomSublist.mx_RoomSublist_minimized > .mx_RoomSublist_headerContainer:hover.mx_RoomSublist_headerContainer:not(.mx_RoomSublist_headerContainer_withAux) .mx_RoomSublist_menuButton {
                    bottom: 8px; /* align to the middle of name, 40px less than the `bottom` above. */
                }

.mx_RoomSublist_contextMenu {
    padding: 20px 16px;
    width: 250px;
}

.mx_RoomSublist_contextMenu hr {
        margin-top: 16px;
        margin-bottom: 16px;
        margin-right: 16px; /* additional 16px */
        border: 1px solid var(--timeline-text-color);
        opacity: 0.1;
    }

.mx_RoomSublist_contextMenu .mx_RoomSublist_contextMenu_title {
        font-size: 0.9375rem;
        line-height: 1.25rem;
        font-weight: var(--cpd-font-weight-semibold);
        margin-bottom: 4px;
    }

.mx_RoomSublist_contextMenu .mx_StyledRadioButton,
    .mx_RoomSublist_contextMenu .mx_Checkbox {
        margin-top: 8px;
    }

.mx_RoomSublist_skeletonUI {
    position: relative;
    margin-left: 4px;
    height: 240px;
}

.mx_RoomSublist_skeletonUI::before {
        background: -webkit-gradient(linear, left top, left bottom, from(#3e444c), to(#3e444c00));
        background: linear-gradient(180deg, #3e444c 0%, #3e444c00 100%);

        width: 100%;
        height: 100%;

        content: "";
        position: absolute;
        -webkit-mask-repeat: repeat-y;
                mask-repeat: repeat-y;
        -webkit-mask-size: auto 48px;
                mask-size: auto 48px;
        -webkit-mask-image: url(../../img/element-icons/roomlist/skeleton-ui.fde3810.svg);
                mask-image: url(../../img/element-icons/roomlist/skeleton-ui.fde3810.svg);
    }

.mx_RoomSublist_minimized .mx_RoomSublist_skeletonUI {
    width: 32px; /* cut off the horizontal lines in the svg */
    margin-left: 10px; /* align with sublist + buttons */
}

/*
Copyright 2024 New Vector Ltd.
Copyright 2020-2023 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

/* Note: the room tile expects to be in a flexbox column container */

.mx_RoomTile {
    margin-bottom: 4px;
    padding: 4px;

    /* The tile is also a flexbox row itself */
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    contain: content; /* Not strict as it will break when resizing a sublist vertically */
    -webkit-box-sizing: border-box;
            box-sizing: border-box;

    font-size: var(--cpd-font-size-body-sm);
}

.mx_RoomTile.mx_RoomTile_selected,
    .mx_RoomTile:hover,
    .mx_RoomTile:focus-within,
    .mx_RoomTile.mx_RoomTile_hasMenuOpen {
        background-color: var(--roomlist-highlights-color);
        border-radius: 8px;
    }

.mx_RoomTile .mx_DecoratedRoomAvatar,
    .mx_RoomTile .mx_RoomTile_avatarContainer {
        margin-right: 10px;
    }

.mx_RoomTile .mx_RoomTile_details {
        min-width: 0;
    }

.mx_RoomTile .mx_RoomTile_titleContainer {
        height: 32px;
        min-width: 0;
        -ms-flex-preferred-size: 0;
            flex-basis: 0;
        -webkit-box-flex: 1;
            -ms-flex-positive: 1;
                flex-grow: 1;
        margin-right: 8px; /* spacing to buttons/badges */

        /* Create a new column layout flexbox for the title parts */
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column;
        -webkit-box-pack: center;
            -ms-flex-pack: center;
                justify-content: center;
    }

.mx_RoomTile .mx_RoomTile_titleContainer .mx_RoomTile_subtitle {
            -webkit-box-align: center;
                -ms-flex-align: center;
                    align-items: center;
            color: #edf3ff;
            color: var(--secondary-content, #edf3ff);
            display: -webkit-box;
            display: -ms-flexbox;
            display: flex;
            gap: 4px;
            line-height: 1.25;
            position: relative;
            top: -1px;
        }

.mx_RoomTile .mx_RoomTile_titleContainer .mx_RoomTile_title,
        .mx_RoomTile .mx_RoomTile_titleContainer .mx_RoomTile_subtitle_text {
            overflow: hidden;
            text-overflow: ellipsis;
            white-space: nowrap;
        }

.mx_RoomTile .mx_RoomTile_titleContainer .mx_RoomTile_title {
            font: var(--cpd-font-body-md-regular);
            line-height: 1.25;
        }

.mx_RoomTile .mx_RoomTile_titleContainer .mx_RoomTile_title.mx_RoomTile_titleHasUnreadEvents {
                font-weight: var(--cpd-font-weight-semibold);
            }

.mx_RoomTile .mx_RoomTile_titleContainer .mx_RoomTile_titleWithSubtitle {
            margin-top: -2px; /* shift the title up a bit more */
        }

.mx_RoomTile .mx_RoomTile_notificationsButton {
        margin-left: 4px; /* spacing between buttons */
    }

.mx_RoomTile .mx_RoomTile_badgeContainer {
        height: 16px;
        /* don't set width so that it takes no space when there is no badge to show */
        margin: auto 0; /* vertically align */

        /* Create a flexbox to make aligning dot badges easier */
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
    }

.mx_RoomTile .mx_RoomTile_badgeContainer .mx_NotificationBadge {
            margin-right: 2px; /* centering */
        }

.mx_RoomTile .mx_RoomTile_badgeContainer .mx_NotificationBadge_dot {
            /* make the smaller dot occupy the same width for centering */
            margin-left: 5px;
            margin-right: 7px;
        }

/* The context menu buttons are hidden by default */

.mx_RoomTile .mx_RoomTile_menuButton,
    .mx_RoomTile .mx_RoomTile_notificationsButton {
        width: 20px;
        min-width: 20px; /* yay flex */
        height: 20px;
        margin-top: auto;
        margin-bottom: auto;
        position: relative;
        display: none;
    }

.mx_RoomTile .mx_RoomTile_menuButton::before, .mx_RoomTile .mx_RoomTile_notificationsButton::before {
            top: 2px;
            left: 2px;
            content: "";
            width: 16px;
            height: 16px;
            position: absolute;
            -webkit-mask-position: center;
                    mask-position: center;
            -webkit-mask-size: contain;
                    mask-size: contain;
            -webkit-mask-repeat: no-repeat;
                    mask-repeat: no-repeat;
            background: var(--cpd-color-icon-primary);
        }

/* If the room has an overriden notification setting then we always show the notifications menu button */

.mx_RoomTile .mx_RoomTile_notificationsButton.mx_RoomTile_notificationsButton_show {
        display: block;
    }

.mx_RoomTile .mx_RoomTile_menuButton::before {
        -webkit-mask-image: url(../../icons/overflow-horizontal.103407e.svg);
                mask-image: url(../../icons/overflow-horizontal.103407e.svg);
    }

/* Hide the badge container on hover because it'll be a menu button */

.mx_RoomTile:not(.mx_RoomTile_minimized, .mx_RoomTile_sticky):hover .mx_RoomTile_badgeContainer, .mx_RoomTile:not(.mx_RoomTile_minimized, .mx_RoomTile_sticky):focus-within .mx_RoomTile_badgeContainer, .mx_RoomTile:not(.mx_RoomTile_minimized, .mx_RoomTile_sticky).mx_RoomTile_hasMenuOpen .mx_RoomTile_badgeContainer {
                width: 0;
                height: 0;
                display: none;
            }

.mx_RoomTile:not(.mx_RoomTile_minimized, .mx_RoomTile_sticky):hover .mx_RoomTile_notificationsButton,
            .mx_RoomTile:not(.mx_RoomTile_minimized, .mx_RoomTile_sticky):hover .mx_RoomTile_menuButton,
            .mx_RoomTile:not(.mx_RoomTile_minimized, .mx_RoomTile_sticky):focus-within .mx_RoomTile_notificationsButton,
            .mx_RoomTile:not(.mx_RoomTile_minimized, .mx_RoomTile_sticky):focus-within .mx_RoomTile_menuButton,
            .mx_RoomTile:not(.mx_RoomTile_minimized, .mx_RoomTile_sticky).mx_RoomTile_hasMenuOpen .mx_RoomTile_notificationsButton,
            .mx_RoomTile:not(.mx_RoomTile_minimized, .mx_RoomTile_sticky).mx_RoomTile_hasMenuOpen .mx_RoomTile_menuButton {
                display: block;
            }

.mx_RoomTile.mx_RoomTile_minimized {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        position: relative;
    }

.mx_RoomTile.mx_RoomTile_minimized .mx_DecoratedRoomAvatar,
        .mx_RoomTile.mx_RoomTile_minimized .mx_RoomTile_avatarContainer {
            margin-right: 0;
        }

/* We use these both in context menus and the room tiles */

.mx_RoomTile_iconBell::before {
    -webkit-mask-image: url(../../img/element-icons/notifications.988ddb0.svg);
            mask-image: url(../../img/element-icons/notifications.988ddb0.svg);
}

.mx_RoomTile_iconBellDot::before {
    -webkit-mask-image: url(../../img/element-icons/roomlist/notifications-default.63a2b44.svg);
            mask-image: url(../../img/element-icons/roomlist/notifications-default.63a2b44.svg);
}

.mx_RoomTile_iconBellCrossed::before {
    -webkit-mask-image: url(../../img/element-icons/roomlist/notifications-off.0b8adcc.svg);
            mask-image: url(../../img/element-icons/roomlist/notifications-off.0b8adcc.svg);
}

.mx_RoomTile_iconBellMentions::before {
    -webkit-mask-image: url(../../img/element-icons/roomlist/notifications-dm.6739542.svg);
            mask-image: url(../../img/element-icons/roomlist/notifications-dm.6739542.svg);
}

.mx_RoomTile_contextMenu .mx_RoomTile_iconStar::before {
        -webkit-mask-image: url(../../icons/favourite-solid.5199241.svg);
                mask-image: url(../../icons/favourite-solid.5199241.svg);
    }

.mx_RoomTile_contextMenu .mx_RoomTile_iconArrowDown::before {
        -webkit-mask-image: url(../../img/element-icons/roomlist/low-priority.d46a05a.svg);
                mask-image: url(../../img/element-icons/roomlist/low-priority.d46a05a.svg);
    }

.mx_RoomTile_contextMenu .mx_RoomTile_iconNotificationsDefault::before {
        -webkit-mask-image: url(../../img/element-icons/notifications.988ddb0.svg);
                mask-image: url(../../img/element-icons/notifications.988ddb0.svg);
    }

.mx_RoomTile_contextMenu .mx_RoomTile_iconNotificationsAllMessages::before {
        -webkit-mask-image: url(../../img/element-icons/roomlist/notifications-default.63a2b44.svg);
                mask-image: url(../../img/element-icons/roomlist/notifications-default.63a2b44.svg);
    }

.mx_RoomTile_contextMenu .mx_RoomTile_iconNotificationsMentionsKeywords::before {
        -webkit-mask-image: url(../../img/element-icons/roomlist/notifications-dm.6739542.svg);
                mask-image: url(../../img/element-icons/roomlist/notifications-dm.6739542.svg);
    }

.mx_RoomTile_contextMenu .mx_RoomTile_iconNotificationsNone::before {
        -webkit-mask-image: url(../../img/element-icons/roomlist/notifications-off.0b8adcc.svg);
                mask-image: url(../../img/element-icons/roomlist/notifications-off.0b8adcc.svg);
    }

.mx_RoomTile_contextMenu .mx_RoomTile_iconPeople::before {
        -webkit-mask-image: url(../../icons/user-profile-solid.c4005c9.svg);
                mask-image: url(../../icons/user-profile-solid.c4005c9.svg);
    }

.mx_RoomTile_contextMenu .mx_RoomTile_iconFiles::before {
        -webkit-mask-image: url(../../icons/files.caf6f35.svg);
                mask-image: url(../../icons/files.caf6f35.svg);
    }

.mx_RoomTile_contextMenu .mx_RoomTile_iconPins::before {
        -webkit-mask-image: url(../../img/element-icons/room/pin-upright.340b3b6.svg);
                mask-image: url(../../img/element-icons/room/pin-upright.340b3b6.svg);
    }

.mx_RoomTile_contextMenu .mx_RoomTile_iconWidgets::before {
        -webkit-mask-image: url(../../icons/extensions-solid.10e92e9.svg);
                mask-image: url(../../icons/extensions-solid.10e92e9.svg);
    }

.mx_RoomTile_contextMenu .mx_RoomTile_iconSettings::before {
        -webkit-mask-image: url(../../icons/settings-solid.5cd4545.svg);
                mask-image: url(../../icons/settings-solid.5cd4545.svg);
    }

.mx_RoomTile_contextMenu .mx_RoomTile_iconExport::before {
        -webkit-mask-image: url(../../icons/export-archive.3d015df.svg);
                mask-image: url(../../icons/export-archive.3d015df.svg);
    }

.mx_RoomTile_contextMenu .mx_RoomTile_iconCopyLink::before {
        -webkit-mask-image: url(../../icons/link.1336d8f.svg);
                mask-image: url(../../icons/link.1336d8f.svg);
    }

.mx_RoomTile_contextMenu .mx_RoomTile_iconInvite::before {
        -webkit-mask-image: url(../../img/element-icons/room/invite.440bc20.svg);
                mask-image: url(../../img/element-icons/room/invite.440bc20.svg);
    }

.mx_RoomTile_contextMenu .mx_RoomTile_iconSignOut::before {
        -webkit-mask-image: url(../../icons/leave.ee36f44.svg);
                mask-image: url(../../icons/leave.ee36f44.svg);
    }

/*
Copyright 2018-2024 New Vector Ltd.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_RoomUpgradeWarningBar {
    max-height: 235px;
    background-color: #22262e;
    padding-left: 20px;
    padding-right: 20px;
    overflow: scroll;
}

.mx_RoomUpgradeWarningBar_wrapped {
    width: 100%;
    height: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    text-align: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-align-items: center;
}

.mx_RoomUpgradeWarningBar_header {
    color: #ff5b55;
    color: var(--alert, #ff5b55);
    font-weight: bold;
}

.mx_RoomUpgradeWarningBar_body {
    color: #ff5b55;
    color: var(--alert, #ff5b55);
}

.mx_RoomUpgradeWarningBar_upgradelink {
    color: #ff5b55;
    color: var(--alert, #ff5b55);
    text-decoration: underline;
}

.mx_RoomUpgradeWarningBar_small {
    color: var(--timeline-text-secondary-color);
    font-size: 70%;
}

/*
Copyright 2024 New Vector Ltd.
Copyright 2019 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_SendMessageComposer {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    font: var(--cpd-font-body-md-regular);
    /* fixed line height to prevent emoji from being taller than text */
    line-height: 1.125rem;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    margin-right: 6px;
    /* don't grow wider than available space */
    min-width: 0;
}

.mx_SendMessageComposer .mx_BasicMessageComposer {
        -webkit-box-flex: 1;
            -ms-flex: 1;
                flex: 1;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column;
        /* min-height at this level so the mx_BasicMessageComposer_input */
        /* still stays vertically centered when less than 55px. */
        /* We also set this to ensure the voice message recording widget */
        /* doesn't cause a jump. */
        min-height: 55px;
    }

.mx_SendMessageComposer .mx_BasicMessageComposer .mx_BasicMessageComposer_input {
            padding: 3px 0;
            /* this will center the contenteditable */
            /* in it's parent vertically */
            /* while keeping the autocomplete at the top */
            /* of the composer. The parent needs to be a flex container for this to work. */
            margin: auto 0;
            /* max-height at this level so autocomplete doesn't get scrolled too */
            max-height: 140px;
            overflow-y: auto;
        }

.mx_Stickers_content {
    overflow: hidden;
}

.mx_Stickers_content_container {
    overflow: hidden;
    height: 300px;
}

#mx_persistedElement_stickerPicker .mx_AppTileFullWidth {
        height: auto;
        height: initial;
        -webkit-box-sizing: border-box;
                box-sizing: border-box;
        border-left: none;
        border-right: none;
        border-bottom: none;
    }

#mx_persistedElement_stickerPicker .mx_AppTileMenuBar {
        padding: 0;
    }

#mx_persistedElement_stickerPicker iframe {
        /* Sticker picker depends on the fixed height previously used for all tiles */
        height: 283px; /* height of the popout minus the AppTile menu bar */
    }

.mx_Stickers_contentPlaceholder {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    text-align: center;
}

.mx_Stickers_contentPlaceholder p {
    max-width: 200px;
}

.mx_Stickers_addLink {
    display: inline;
    cursor: pointer;
    color: #0dbd8b;
    color: var(--accent-color, #0dbd8b);
}

/*
Copyright 2024 New Vector Ltd.
Copyright 2023 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_ThirdPartyMemberInfo {
    padding: var(--cpd-space-4x);
}

/*
Copyright 2024 New Vector Ltd.
Copyright 2022 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_ThreadSummary,
.mx_ThreadSummary_content {
    color: #edf3ff;
    color: var(--secondary-content, #edf3ff);
}

.mx_ThreadSummary,
.mx_ThreadSummary_icon {
    margin-top: 8px;
}

.mx_ThreadSummary {
    min-width: 267px;
    /* leave space on both left & right gutters */
    max-width: min(calc(100% - var(--EventTile_group_line-spacing-inline-start)), 600px);
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    height: 40px;
    position: relative;
    background-color: var(--panels, var(--cpd-color-gray-600));
    padding-inline: 12px 16px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    border-radius: 8px;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    clear: both;
    overflow: hidden;
    border: 1px solid var(--panels, var(--cpd-color-gray-600)); /* always render a border so the hover effect doesn't require a re-layout */
    font: var(--cpd-font-body-sm-regular);
}

.mx_ThreadSummary .mx_ThreadSummary_chevron {
        position: absolute;
        top: 0;
        right: 0;
        bottom: 0;
        width: 60px;
        -webkit-box-sizing: border-box;
                box-sizing: border-box;
        /* XXX: We use an HEXA `transparent` to work around a Safari <15.4 bug */
        background: -webkit-gradient(linear, right top, left top, color-stop(50%, #21262c), to(#e1e6ec00));
        background: linear-gradient(270deg, #21262c 50%, #e1e6ec00 100%);
        background: -webkit-gradient(linear, right top, left top, color-stop(50%, var(--system, #21262c)), to(var(--system-transparent, #e1e6ec00)));
        background: linear-gradient(270deg, var(--system, #21262c) 50%, var(--system-transparent, #e1e6ec00) 100%);

        opacity: 0;
        -webkit-transform: translateX(60px);
                transform: translateX(60px);
        -webkit-transition: all 0.1s ease-in-out;
        transition: all 0.1s ease-in-out;
    }

.mx_ThreadSummary .mx_ThreadSummary_chevron::before {
            content: "";
            position: absolute;
            top: 50%;
            right: var(--cpd-space-1x);
            -webkit-transform: translateY(-50%);
                    transform: translateY(-50%);
            width: 24px;
            height: 24px;
            -webkit-mask-image: url(../../icons/chevron-right.c1afe15.svg);
                    mask-image: url(../../icons/chevron-right.c1afe15.svg);
            -webkit-mask-position: center;
                    mask-position: center;
            -webkit-mask-size: contain;
                    mask-size: contain;
            -webkit-mask-repeat: no-repeat;
                    mask-repeat: no-repeat;
            background-color: #edf3ff;
            background-color: var(--secondary-content, #edf3ff);
        }

.mx_ThreadSummary:hover,
    .mx_ThreadSummary:focus {
        border-color: #6f7882;
        border-color: var(--quinary-content, #6f7882);
    }

.mx_ThreadSummary:hover .mx_ThreadSummary_chevron, .mx_ThreadSummary:focus .mx_ThreadSummary_chevron {
            opacity: 1;
            -webkit-transform: translateX(0);
                    transform: translateX(0);
        }

.mx_ThreadSummary .mx_ThreadSummary_sender,
    .mx_ThreadSummary .mx_ThreadSummary_content,
    .mx_ThreadSummary .mx_ThreadSummary_replies_amount {
        line-height: var(--EventTile_ThreadSummary-line-height);
    }

.mx_ThreadSummary .mx_ThreadSummary_sender,
    .mx_ThreadSummary .mx_ThreadSummary_content {
        text-overflow: ellipsis;
        overflow: hidden;
        white-space: nowrap;
    }

.mx_ThreadSummary .mx_ThreadSummary_sender {
        font-weight: var(--cpd-font-weight-semibold);
    }

.mx_ThreadSummary .mx_ThreadSummary_content {
        margin-left: 4px;
        -webkit-box-flex: 1;
            -ms-flex: 1;
                flex: 1;
    }

.mx_ThreadSummary .mx_ThreadSummary_replies_amount {
        color: #edf3ff;
        color: var(--secondary-content, #edf3ff);
        font-weight: var(--cpd-font-weight-semibold);
        white-space: nowrap;
        position: relative;
        padding: 0 12px 0 8px;
    }

.mx_MessagePanel_narrow .mx_ThreadSummary {
        min-width: 0;
        min-width: initial;
        max-width: 100%; /* prevent overflow */
        width: auto;
        width: initial;
    }

.mx_ThreadSummary_avatar {
    -webkit-margin-end: 8px;
            margin-inline-end: 8px;
    -ms-flex-negative: 0;
        flex-shrink: 0;
}

.mx_ThreadSummary_icon {
    display: inline-block;
    margin-bottom: 8px;
}

.mx_ThreadSummary_icon::before {
        content: "";
        display: inline-block;
        -webkit-mask-image: url(../../icons/threads.182e3f3.svg);
                mask-image: url(../../icons/threads.182e3f3.svg);
        -webkit-mask-position: center;
                mask-position: center;
        -webkit-mask-repeat: no-repeat;
                mask-repeat: no-repeat;
        -webkit-mask-size: contain;
                mask-size: contain;
        height: 18px;
        min-width: 18px;
        background-color: var(--icon-button-color, var(--cpd-color-icon-tertiary)) !important;
        vertical-align: middle;
        -webkit-margin-end: 8px;
                margin-inline-end: 8px;
        margin-top: -2px;
    }

a.mx_ThreadSummary_icon {
        color: #edf3ff;
        color: var(--secondary-content, #edf3ff);
    }

/*
Copyright 2024 New Vector Ltd.
Copyright 2016 OpenMarket Ltd

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_TopUnreadMessagesBar {
    z-index: 1000;
    position: absolute;
    top: 24px;
    right: 24px;
    width: 38px;
}

.mx_TopUnreadMessagesBar::after {
    content: "";
    position: absolute;
    top: -8px;
    left: 11px;
    width: 4px;
    height: 4px;
    border-radius: 16px;
    background-color: var(--cpd-color-bg-canvas-default);
    border: 6px solid var(--cpd-color-icon-accent-tertiary);
    pointer-events: none;
}

.mx_TopUnreadMessagesBar_scrollUp {
    height: 38px;
    border-radius: 19px;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    background: var(--timeline-background-color);
    border: 1.3px solid var(--cpd-color-icon-tertiary);
    cursor: pointer;
}

.mx_TopUnreadMessagesBar_scrollUp::before {
    content: "";
    position: absolute;
    width: 36px;
    height: 36px;
    -webkit-mask-image: url(../../icons/chevron-up.b1e0d89.svg);
            mask-image: url(../../icons/chevron-up.b1e0d89.svg);
    -webkit-mask-repeat: no-repeat;
            mask-repeat: no-repeat;
    -webkit-mask-size: 24px;
            mask-size: 24px;
    -webkit-mask-position: center;
            mask-position: center;
    background: var(--cpd-color-icon-tertiary);
}

.mx_TopUnreadMessagesBar_markAsRead {
    display: block;
    width: 18px;
    height: 18px;
    background: var(--timeline-background-color);
    border: 1.3px solid var(--cpd-color-icon-tertiary);
    border-radius: 10px;
    margin: 5px auto;
}

.mx_TopUnreadMessagesBar_markAsRead::before {
    content: "";
    position: absolute;
    width: 18px;
    height: 18px;
    -webkit-mask-image: url(../../icons/close.dce71fd.svg);
            mask-image: url(../../icons/close.dce71fd.svg);
    -webkit-mask-repeat: no-repeat;
            mask-repeat: no-repeat;
    -webkit-mask-size: 16px;
            mask-size: 16px;
    -webkit-mask-position: center;
            mask-position: center;
    background: var(--cpd-color-icon-tertiary);
}

/*
Copyright 2024 New Vector Ltd.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_UserIdentityWarning {
    /* 42px is the padding-left of .mx_MessageComposer_wrapper in res/css/views/rooms/_MessageComposer.pcss */
    margin-left: calc(-42px + 18px);
    margin-left: calc(-42px + var(--RoomView_MessageList-padding));
}

.mx_UserIdentityWarning .mx_UserIdentityWarning_row {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
    }

.mx_UserIdentityWarning .mx_UserIdentityWarning_row .mx_BaseAvatar {
            margin-left: var(--cpd-space-2x);
        }

.mx_UserIdentityWarning .mx_UserIdentityWarning_row .mx_UserIdentityWarning_main {
            margin-left: var(--cpd-space-6x);
            -webkit-box-flex: 1;
                -ms-flex-positive: 1;
                    flex-grow: 1;
        }

.mx_MessageComposer.mx_MessageComposer--compact > .mx_UserIdentityWarning {
    margin-left: calc(-25px + 18px);
    margin-left: calc(-25px + var(--RoomView_MessageList-padding));
}

/*
Copyright 2024 New Vector Ltd.
Copyright 2021 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_VoiceRecordComposerTile_stop {
    /* 28px plus a 2px border makes this a 32px square (as intended) */
    width: 28px;
    height: 28px;
    border: 2px solid #6f7882;
    border-radius: 32px;
    margin-right: 2px; /* between us and the waveform component */
    position: relative;
}

.mx_VoiceRecordComposerTile_stop::after {
        content: "";
        width: 14px;
        height: 14px;
        position: absolute;
        top: 7px;
        left: 7px;
        border-radius: 2px;
        background-color: #ff4b55;
    }

.mx_VoiceRecordComposerTile_delete {
    width: 24px;
    height: 24px;
    vertical-align: middle;
    margin-right: 2px; /* distance from left edge of waveform container (container has some margin too) */
    background-color: #6f7882;
    -webkit-mask-repeat: no-repeat;
            mask-repeat: no-repeat;
    -webkit-mask-size: contain;
            mask-size: contain;
    -webkit-mask-image: url(../../icons/delete.eec6a48.svg);
            mask-image: url(../../icons/delete.eec6a48.svg);
}

.mx_VoiceRecordComposerTile_uploadingState {
    margin-right: 10px;
    color: #edf3ff;
    color: var(--secondary-content, #edf3ff);
}

.mx_VoiceRecordComposerTile_failedState {
    margin-right: 21px;
}

.mx_VoiceRecordComposerTile_failedState .mx_VoiceRecordComposerTile_uploadState_badge {
        display: inline-block;
        margin-right: 4px;
        vertical-align: middle;
    }

.mx_MessageComposer_row .mx_VoiceMessagePrimaryContainer {
    /* Note: remaining class properties are in the PlayerContainer CSS. */

    /* fixed height to reduce layout jumps with the play button appearing */
    /* https://github.com/vector-im/element-web/issues/18431 */
    height: 32px;

    margin: 6px; /* force the composer area to put a gutter around us */
    margin-right: 6px; /* isolate from stop/send button */

    position: relative; /* important for the live circle */
}

.mx_MessageComposer_row .mx_VoiceMessagePrimaryContainer.mx_VoiceRecordComposerTile_recording {
        /* We are putting the circle in this padding, so we need +10px from the regular */
        /* padding on the left side. */
        padding-left: 22px;
    }

.mx_MessageComposer_row .mx_VoiceMessagePrimaryContainer.mx_VoiceRecordComposerTile_recording::before {
            -webkit-animation: recording-pulse 2s infinite;
                    animation: recording-pulse 2s infinite;

            content: "";
            background-color: #ff4b55;
            width: 10px;
            height: 10px;
            position: absolute;
            left: 12px; /* 12px from the left edge for container padding */
            top: 17px; /* vertically center (middle align with clock) */
            border-radius: 10px;
        }

.mx_MessageComposer_wysiwyg .mx_VoiceMessagePrimaryContainer.mx_VoiceRecordComposerTile_recording::before {
            top: 15px; /* vertically center (middle align with clock) */
        }

/* The keyframes are slightly weird here to help make a ramping/punch effect */

/* for the recording dot. We start and end at 100% opacity to help make the */

/* dot feel a bit like a real lamp that is blinking: the animation ends up */

/* spending a lot of its time showing a steady state without a fade effect. */

/* This lamp effect extends into why the 0% opacity keyframe is not in the */

/* midpoint: lamps take longer to turn off than they do to turn on, and the */

/* extra frames give it a bit of a realistic punch for when the animation is */

/* ramping back up to 100% opacity. */

/* Target animation timings: steady for 1.5s, fade out for 0.3s, fade in for 0.2s */

/* (intended to be used in a loop for 2s animation speed) */

@-webkit-keyframes recording-pulse {
    0% {
        opacity: 1;
    }
    35% {
        opacity: 0;
    }
    65% {
        opacity: 1;
    }
}

@keyframes recording-pulse {
    0% {
        opacity: 1;
    }
    35% {
        opacity: 0;
    }
    65% {
        opacity: 1;
    }
}

/*
Copyright 2018-2024 New Vector Ltd.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_WhoIsTypingTile {
    margin-left: -18px; /* offset padding from mx_RoomView_MessageList to center avatars */
    padding-top: 18px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
}

/* position the indicator in the same place horizontally as .mx_EventTile_avatar. */

.mx_WhoIsTypingTile_avatars {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 82px;
            flex: 0 0 82px; /* 18 (padding on message list) + 64 (padding on event lines) */
    text-align: center;
}

.mx_WhoIsTypingTile_avatars > :not(:first-child) {
    margin-left: -12px;
}

.mx_WhoIsTypingTile_avatars .mx_BaseAvatar {
    border: 1px solid var(--timeline-background-color);
    border-radius: 40px;
}

.mx_WhoIsTypingTile_remainingAvatarPlaceholder {
    position: relative;
    display: inline-block;
    color: var(--timeline-text-color);
    background-color: #6f7882;
    background-color: var(--quinary-content, #6f7882);
    border: 1px solid var(--timeline-background-color);
    border-radius: 40px;
    width: 24px;
    height: 24px;
    line-height: 1.5rem;
    font-size: 0.8em;
    vertical-align: top;
    text-align: center;
}

.mx_WhoIsTypingTile_label {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    font: var(--cpd-font-body-md-semibold);
    color: var(--timeline-text-color-50pct);
}

.mx_WhoIsTypingTile_label > span {
    background-image: url(../../img/typing-indicator-2x.e13c259.gif);
    background-size: 25px;
    background-position: left bottom;
    background-repeat: no-repeat;
    padding-bottom: 15px;
    display: block;
}

.mx_MatrixChat_useCompactLayout .mx_WhoIsTypingTile {
        padding-top: 4px;
    }

/*
Copyright 2024 New Vector Ltd.
Copyright 2022 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_EditWysiwygComposer {
    --EditWysiwygComposer-padding-inline: 3px;

    display: -webkit-box;

    display: -ms-flexbox;

    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    max-width: 100%; /* disable overflow */
    width: auto;
    gap: 8px;
    padding: 8px 3px;
    padding: 8px var(--EditWysiwygComposer-padding-inline);
}

.mx_EditWysiwygComposer .mx_WysiwygComposer_Editor_content {
        border-radius: 4px;
        border: solid 1px var(--roomlist-separator-color);
        background-color: var(--timeline-background-color);
        max-height: 200px;
        padding: 3px 6px;
    }

.mx_EditWysiwygComposer .mx_WysiwygComposer_Editor_content:focus {
            border-color: var(--accent-color-400);
        }

.mx_EditWysiwygComposer .mx_EditWysiwygComposer_buttons {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
            -ms-flex-flow: row wrap-reverse;
                flex-flow: row wrap-reverse; /* display "Save" over "Cancel" */
        -webkit-box-pack: end;
            -ms-flex-pack: end;
                justify-content: flex-end;
        gap: 5px;
        -webkit-margin-start: auto;
                margin-inline-start: auto;
    }

.mx_EditWysiwygComposer .mx_EditWysiwygComposer_buttons .mx_AccessibleButton {
            -webkit-box-flex: 1;
                -ms-flex: 1;
                    flex: 1;
            -webkit-box-sizing: border-box;
                    box-sizing: border-box;
            min-width: 100px; /* magic number to align the edge of the button with the input area */
        }

.mx_EditWysiwygComposer .mx_FormattingButtons_Button:first-child {
            margin-left: 0px;
        }

/*
Copyright 2024 New Vector Ltd.
Copyright 2022 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_SendWysiwygComposer {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    font: var(--cpd-font-body-md-regular);
    /* fixed line height to prevent emoji from being taller than text */
    line-height: 1.125rem;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    margin-right: 13px;
    gap: 8px;
}

.mx_SendWysiwygComposer .mx_FormattingButtons {
        margin-left: 12px;
    }

.mx_SendWysiwygComposer .mx_WysiwygComposer_Editor {
        border: 1px solid;
        border-color: #6f7882;
        border-color: var(--quinary-content, #6f7882);
        padding: 6px 11px 6px 12px;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: end;
            -ms-flex-align: end;
                align-items: flex-end;
        gap: 10px;
    }

.mx_SendWysiwygComposer .mx_WysiwygComposer_Editor .mx_E2EIcon {
            margin: 0 0 7px 0;
            width: 12px;
            height: 12px;
        }

.mx_SendWysiwygComposer .mx_WysiwygComposer_Editor[data-is-expanded="true"] {
            border-radius: 14px;
        }

.mx_SendWysiwygComposer .mx_WysiwygComposer_Editor[data-is-expanded="true"] .mx_WysiwygComposer_Editor_container {
                margin-top: 3px;
                margin-bottom: 3px;
            }

.mx_SendWysiwygComposer .mx_WysiwygComposer_Editor[data-is-expanded="false"] {
            border-radius: 40px;
        }

.mx_SendWysiwygComposer .mx_WysiwygComposer_Editor .mx_WysiwygComposer_Editor_container {
            -webkit-box-flex: 1;
                -ms-flex: 1;
                    flex: 1;
            display: -webkit-box;
            display: -ms-flexbox;
            display: flex;
            -webkit-box-orient: vertical;
            -webkit-box-direction: normal;
                -ms-flex-direction: column;
                    flex-direction: column;
            min-height: 22px;
            margin-bottom: 2px;
            /* don't grow wider than available space */
            width: 0;
        }

.mx_SendWysiwygComposer .mx_WysiwygComposer_Editor .mx_WysiwygComposer_Editor_container .mx_WysiwygComposer_Editor_content {
                /* this will center the contenteditable */
                /* in it's parent vertically */
                /* while keeping the autocomplete at the top */
                /* of the composer. The parent needs to be a flex container for this to work. */
                margin: auto 0;
                /* the line height is $font-22px (set in _Editor.pcss) and we want to display 16 lines */
                max-height: calc(16 * 1.375rem);
                overflow-y: auto;
            }

.mx_SendWysiwygComposer-focused .mx_WysiwygComposer_Editor {
        border-color: #6f7882;
        border-color: var(--quaternary-content, #6f7882);
    }

/*
Copyright 2024 New Vector Ltd.
Copyright 2022 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_WysiwygComposer_Editor_container {
    /* These are set in Javascript */
    --avatar-letter: "";
    --avatar-background: unset;
    --placeholder: "";
}

@keyframes visualbell {
        from {
            background-color: #800;
        }
        to {
            background-color: var(--timeline-background-color);
        }
    }

.mx_WysiwygComposer_Editor_container .mx_WysiwygComposer_Editor_content {
        line-height: 1.375rem;
        white-space: pre-wrap;
        word-wrap: break-word;
        outline: none;
        overflow-x: hidden;
    }

/* navigated through in a single keypress */

.mx_WysiwygComposer_Editor_container .mx_WysiwygComposer_Editor_content .caretNode {
            -webkit-user-select: all;
               -moz-user-select: all;
                    user-select: all;
        }

/* we have any other elements*/

.mx_WysiwygComposer_Editor_container .mx_WysiwygComposer_Editor_content br:not(:only-child) {
            display: none;
        }

/* we always have a <br/> tag at the end of the html, we need it to be present at first then hide it as soon as*/

.mx_WysiwygComposer_Editor_container .mx_WysiwygComposer_Editor_content p {
            margin-top: 0;
            margin-bottom: 0;
            /* this may seem redundant, but we need to handle zero content formatting tags, which occur when we split a
               formatting tag into paragraphs */
            min-height: 1.375rem;
        }

/* Force caret nodes to be selected in full so that they can be */

.mx_WysiwygComposer_Editor_container .mx_WysiwygComposer_Editor_content ul,
        .mx_WysiwygComposer_Editor_container .mx_WysiwygComposer_Editor_content ol {
            margin-top: 0;
            margin-bottom: 0;
            -webkit-padding-start: 28px;
                    padding-inline-start: 28px;
        }

/* Make list type disc to match rich text editor */

.mx_WysiwygComposer_Editor_container .mx_WysiwygComposer_Editor_content ul {
            list-style-type: disc;
        }

.mx_WysiwygComposer_Editor_container .mx_WysiwygComposer_Editor_content blockquote {
            color: #777;
            border-left: 2px solid var(--cpd-color-border-interactive-primary);
            border-radius: 2px;
            padding: 0 10px;

            -webkit-margin-before: 0;

                    margin-block-start: 0;
            -webkit-margin-after: 0;
                    margin-block-end: 0;
            -webkit-margin-start: 0;
                    margin-inline-start: 0;
            -webkit-margin-end: 0;
                    margin-inline-end: 0;
        }

.mx_WysiwygComposer_Editor_container .mx_WysiwygComposer_Editor_content > pre {
            font-size: 0.9375rem;
            line-height: 1.5rem;

            margin-top: 0;
            margin-bottom: 0;
            padding: 8px 12px;

            background-color: #2a3039;
            border: 1px solid #2a3039;
            border-radius: 2px;
        }

.mx_WysiwygComposer_Editor_container .mx_WysiwygComposer_Editor_content code:not(pre *) {
            font-family: "Inconsolata", "", "Apple Color Emoji", "Segoe UI Emoji", "Courier",
    monospace, "Noto Color Emoji" !important;
            font-family: var(--font-family-monospace, "Inconsolata", var(--emoji-font-family), "Apple Color Emoji", "Segoe UI Emoji", "Courier",
    monospace, "Noto Color Emoji") !important;
            background-color: #2a3039;
            border: 1px solid #2a3039;
            border-radius: 4px;
            padding: 2px;
        }

.mx_WysiwygComposer_Editor_container .mx_WysiwygComposer_Editor_content code:not(pre *):empty {
                border: medium none currentcolor;
                border: initial;
                padding: 0;
                padding: initial;
            }

/* this selector represents what will become a pill
        nb despite there being mx_UserPill and mx_RoomPill classes appended to these pills
        in the current composer, there don't appear to be any styles associated with those classes
        in this repo */

.mx_WysiwygComposer_Editor_container .mx_WysiwygComposer_Editor_content a[data-mention-type] {
            /* combine mx_Pill from _Pill.pcss */
            padding: 0.0625rem 0.4em;
            line-height: 1.0625rem;
            border-radius: 1rem;
            display: inline;
            -webkit-box-sizing: border-box;
                    box-sizing: border-box;
            max-width: 100%;
            overflow: hidden;

            color: var(--cpd-color-text-on-solid-primary);
            background-color: var(--other-user-pill-bg-color, var(--cpd-color-bg-action-primary-rest));

            /* ...with the overrides from _BasicMessageComposer.pcss */
            -webkit-user-select: all;
               -moz-user-select: all;
                    user-select: all;
            position: relative;
            cursor: inherit; /* We don't want indicate clickability */
            text-overflow: ellipsis;
            white-space: nowrap;
        }

/* avatar pseudo element */

.mx_WysiwygComposer_Editor_container .mx_WysiwygComposer_Editor_content a[data-mention-type]::before {
                /* After consolidation, all of the styling from _Pill.scss was being overridden,
                so take what is in _BasicMessageComposer.pcss as the starting point */
                display: inline-block;
                content: var(--avatar-letter);
                background: var(--avatar-background), var(--timeline-background-color);

                width: 1rem;
                min-width: 1rem; /* ensure the avatar is not compressed */
                height: 1rem;
                line-height: 1rem;
                text-align: center;

                /* Get the positioning of the avatar just right for consistency with timeline */
                -webkit-margin-start: -0.4rem;
                        margin-inline-start: -0.4rem;
                -webkit-margin-end: 0.24rem;
                        margin-inline-end: 0.24rem;
                vertical-align: 0.12rem;

                background-repeat: no-repeat;
                background-size: 1rem;
                border-radius: 1rem;

                color: #ffffff;

                color: var(--avatar-color, #ffffff);
                font-weight: bold;
                font-size: 0.6275rem;
            }

.mx_WysiwygComposer_Editor_container .mx_WysiwygComposer_Editor_content_placeholder::before {
        content: var(--placeholder);
        width: 0;
        height: 0;
        overflow: visible;
        display: inline-block;
        pointer-events: none;
        white-space: nowrap;
        color: var(--cpd-color-text-secondary);
    }

.mx_WysiwygComposer_AutoCompleteWrapper {
    position: relative;
}

/* Due to the fact that editing a message now has a larger amount of grey
    colour above it (due to the rich text buttons above the composer), we need
    to give the autocomplete a bit more visual separation by using a border.
    */

.mx_WysiwygComposer_AutoCompleteWrapper > .mx_Autocomplete {
        border: 1px solid #6f7882;
        border: 1px solid var(--quinary-content, #6f7882);
        border-radius: 8px;
    }

/*
Copyright 2024 New Vector Ltd.
Copyright 2022 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_FormattingButtons {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    gap: 8px;
}

.mx_FormattingButtons .mx_FormattingButtons_Button {
        --size: 28px;
        cursor: pointer;
        height: 28px;
        height: var(--size);
        width: 28px;
        width: var(--size);
        background-color: transparent;
        border: none;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        -webkit-box-pack: center;
            -ms-flex-pack: center;
                justify-content: center;
        border-radius: 5px;
    }

.mx_FormattingButtons .mx_FormattingButtons_Button_hover:hover {
            background: var(--panels, var(--cpd-color-gray-600));
        }

.mx_FormattingButtons .mx_FormattingButtons_Button_hover:hover .mx_FormattingButtons_Icon {
                color: #edf3ff;
                color: var(--secondary-content, #edf3ff);
            }

.mx_FormattingButtons .mx_FormattingButtons_active {
        background: var(--accent-color-300);
    }

.mx_FormattingButtons .mx_FormattingButtons_active .mx_FormattingButtons_Icon {
            color: #0dbd8b;
            color: var(--accent-color, #0dbd8b);
        }

.mx_FormattingButtons .mx_FormattingButtons_disabled .mx_FormattingButtons_Icon {
            color: #6f7882;
            color: var(--quinary-content, #6f7882);
        }

.mx_FormattingButtons .mx_FormattingButtons_Icon {
        --size: 16px;
        height: 16px;
        height: var(--size);
        width: 16px;
        width: var(--size);
        color: #edf3ff;
        color: var(--tertiary-content, #edf3ff);
    }

.mx_FormattingButtons_Tooltip_KeyboardShortcut kbd {
        text-align: center;
        display: inline-block;
        text-transform: capitalize;
        font-family: Inter, sans-serif;
    }

/*
Copyright 2024 New Vector Ltd.
Copyright 2022 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_LinkModal {
    padding: 32px;
    max-width: 600px;
    height: 341px;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
}

.mx_LinkModal .mx_LinkModal_content {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column;
        -webkit-box-flex: 1;
            -ms-flex: 1;
                flex: 1;
        gap: 8px;
        margin-top: 7px;
    }

.mx_LinkModal .mx_LinkModal_content .mx_LinkModal_Field {
            -webkit-box-flex: initial;
                -ms-flex: initial;
                    flex: initial;
            height: 40px;
        }

.mx_LinkModal .mx_LinkModal_content .mx_LinkModal_buttons {
            display: -webkit-box;
            display: -ms-flexbox;
            display: flex;
            -webkit-box-flex: 1;
                -ms-flex: 1;
                    flex: 1;
            -webkit-box-align: end;
                -ms-flex-align: end;
                    align-items: flex-end;
        }

.mx_LinkModal .mx_LinkModal_content .mx_LinkModal_buttons .mx_Dialog_buttons {
                display: inline-block;
            }

/*
Copyright 2024 New Vector Ltd.
Copyright 2019, 2020 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_AvatarSetting_avatar {
    width: 90px;
    min-width: 90px; /* so it doesn't get crushed by the flexbox in languages with longer words */
    height: 90px;
    margin-top: 8px;
    position: relative;
}

.mx_AvatarSetting_avatar.mx_AvatarSetting_avatarDisplay:hover .mx_AvatarSetting_hover {
        opacity: 1;
    }

.mx_AvatarSetting_avatar > * {
        -webkit-box-sizing: border-box;
                box-sizing: border-box;
    }

.mx_AvatarSetting_avatar .mx_AccessibleButton.mx_AccessibleButton_kind_primary {
        margin-top: 8px;
    }

.mx_AvatarSetting_avatar .mx_AccessibleButton.mx_AccessibleButton_kind_link_sm {
        width: 100%;
    }

.mx_AvatarSetting_avatar > img {
        display: block;
        height: 90px;
        width: inherit;
        border-radius: 90px;
        cursor: pointer;
        -o-object-fit: cover;
           object-fit: cover;
    }

.mx_AvatarSetting_avatar .mx_AvatarSetting_uploadButton {
        width: 28px;
        height: 28px;
        border-radius: 32px;
        border: 1px solid var(--cpd-color-bg-canvas-default);
        background-color: var(--cpd-color-bg-canvas-default);

        position: absolute;
        bottom: 0;
        right: 0;
        text-align: center;
        cursor: pointer;
    }

.mx_AvatarSetting_avatar .mx_AvatarSetting_uploadButton svg {
            position: relative;
            top: 3px;
        }

.mx_AvatarSetting_avatar .mx_AvatarSetting_uploadButton:hover,
    .mx_AvatarSetting_avatar .mx_AvatarSetting_uploadButton_active {
        background-color: var(--cpd-color-bg-subtle-primary);
    }

.mx_AvatarSetting_removeMenuItem svg,
.mx_AvatarSetting_removeMenuItem span {
    color: var(--cpd-color-text-critical-primary) !important;
}

/*
Copyright 2024 New Vector Ltd.
Copyright 2019 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_CrossSigningPanel_statusList {
    border-spacing: 0;
}

.mx_CrossSigningPanel_statusList th {
        text-align: start;
    }

.mx_CrossSigningPanel_statusList td,
    .mx_CrossSigningPanel_statusList th {
        padding: 0;
    }

.mx_CrossSigningPanel_statusList td:first-of-type, .mx_CrossSigningPanel_statusList th:first-of-type {
            -webkit-padding-end: 1em;
                    padding-inline-end: 1em;
        }

.mx_CrossSigningPanel_buttonRow {
    margin: 1em 0;
}

.mx_CrossSigningPanel_buttonRow :nth-child(n + 1) {
        -webkit-margin-end: 10px;
                margin-inline-end: 10px;
    }

.mx_CrossSigningPanel_advanced {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
}

/*
Copyright 2024 New Vector Ltd.
Copyright 2023 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_CryptographyPanel_sessionInfo {
    padding: 0em;
    border-spacing: 0px;
}

.mx_CryptographyPanel_sessionInfo > tr {
    vertical-align: baseline;
    padding: 0em;
}

.mx_CryptographyPanel_sessionInfo > tr th {
        text-align: start;
    }

.mx_CryptographyPanel_sessionInfo > tr td,
    .mx_CryptographyPanel_sessionInfo > tr th {
        padding: 0 1em 0 0;
    }

.mx_CryptographyPanel_importExportButtons {
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -ms-flex-flow: wrap;
        flex-flow: wrap;
    row-gap: 8px;
    -webkit-column-gap: 8px;
       -moz-column-gap: 8px;
            column-gap: 8px;
}

/*
Copyright 2024 New Vector Ltd.
Copyright 2021 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_FontScalingPanel_preview {
    --FontScalingPanel_preview-padding-block: 9px;

    border: 1px solid #6f7882;

    border: 1px solid var(--quinary-content, #6f7882);
    border-radius: 10px;
    padding: 0 16px 9px 16px;
    padding: 0 16px var(--FontScalingPanel_preview-padding-block) 16px;
    pointer-events: none;
    display: flow-root;
}

.mx_FontScalingPanel_preview.mx_IRCLayout {
        padding-top: 9px;
    }

.mx_FontScalingPanel_preview .mx_EventTile[data-layout="bubble"] {
        margin-top: 30px;
    }

.mx_FontScalingPanel_preview .mx_EventTile_msgOption {
        display: none;
    }

.mx_FontScalingPanel_Dropdown {
    width: 120px;
    /* Override default mx_Field margin */
    margin-bottom: var(--cpd-space-2x) !important;
}

/*
Copyright 2024 New Vector Ltd.
Copyright 2021 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_ImageSizePanel_radios {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    gap: 16px;
}

.mx_ImageSizePanel_radios > label {
        margin-right: 68px; /* keep the boxes separate */
        cursor: pointer;
    }

.mx_ImageSizePanel_radios .mx_ImageSizePanel_size {
        background-color: #6f7882;
        background-color: var(--quinary-content, #6f7882);
        -webkit-mask-repeat: no-repeat;
                mask-repeat: no-repeat;
        -webkit-mask-size: 221px;
                mask-size: 221px;
        -webkit-mask-position: center;
                mask-position: center;
        width: 221px;
        height: 148px;
        margin-bottom: 14px; /* move radio button away from bottom edge a bit */
    }

.mx_ImageSizePanel_radios .mx_ImageSizePanel_size.mx_ImageSizePanel_sizeDefault {
            -webkit-mask: url(../../img/element-icons/settings/img-size-normal.769b56e.svg);
                    mask: url(../../img/element-icons/settings/img-size-normal.769b56e.svg);
        }

.mx_ImageSizePanel_radios .mx_ImageSizePanel_size.mx_ImageSizePanel_sizeLarge {
            -webkit-mask: url(../../img/element-icons/settings/img-size-large.9c06d67.svg);
                    mask: url(../../img/element-icons/settings/img-size-large.9c06d67.svg);
        }

/*
Copyright 2024 New Vector Ltd.
Copyright 2015, 2016 OpenMarket Ltd

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_IntegrationManager .mx_Dialog_border {
        -webkit-box-sizing: border-box;
                box-sizing: border-box;
        width: 60%;
        height: 70%;
        max-width: none;
        max-width: initial;
        max-height: none;
        max-height: initial;
    }

.mx_IntegrationManager .mx_Dialog {
        padding: 0;
        overflow: hidden;
    }

.mx_IntegrationManager iframe {
        background-color: #fff;
        border: 0;
        width: 100%;
        height: 100%;
    }

.mx_IntegrationManager h3 {
        margin-block: 20px;
    }

.mx_IntegrationManager .mx_IntegrationManager_loading,
    .mx_IntegrationManager .mx_IntegrationManager_error {
        text-align: center;
    }

.mx_IntegrationManager .mx_IntegrationManager_error h3 {
        color: #ff5b55;
        color: var(--alert, #ff5b55);
    }

/*
Copyright 2024 New Vector Ltd.
Copyright 2021 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_JoinRuleSettings_upgradeRequired {
    margin-left: 16px;
    padding: 4px 16px;
    border: 1px solid #0dbd8b;
    border: 1px solid var(--accent-color, #0dbd8b);
    border-radius: 8px;
    color: #0dbd8b;
    color: var(--accent-color, #0dbd8b);
    font-size: 0.75rem;
    line-height: 0.9375rem;
}

.mx_JoinRuleSettings_spacesWithAccess > h4 {
        color: #edf3ff;
        color: var(--secondary-content, #edf3ff);
        font-weight: var(--cpd-font-weight-semibold);
        font-size: 0.75rem;
        line-height: 0.9375rem;
        text-transform: uppercase;
    }

.mx_JoinRuleSettings_spacesWithAccess > span {
        font: var(--cpd-font-body-md-medium);
        line-height: 32px; /* matches height of avatar for v-align */
        color: #edf3ff;
        color: var(--secondary-content, #edf3ff);
        display: inline-block;
    }

.mx_JoinRuleSettings_spacesWithAccess > span .mx_BaseAvatar {
            margin-right: 8px;
        }

.mx_JoinRuleSettings_spacesWithAccess > span + span {
            margin-left: 16px;
        }

.mx_JoinRuleSettings_radioButton {
    padding-top: 16px;
}

.mx_JoinRuleSettings_radioButton .mx_StyledRadioButton_content {
        margin-left: 14px;
        font-weight: var(--cpd-font-weight-semibold);
        font-size: 0.9375rem;
        line-height: 1.5rem;
        color: var(--timeline-text-color);
        display: block;
    }

.mx_JoinRuleSettings_radioButton + span {
        display: inline-block;
        margin-left: 34px;
        margin-bottom: 16px;
        font-size: 0.9375rem;
        line-height: 1.5rem;
        color: #edf3ff;
        color: var(--secondary-content, #edf3ff);
    }

.mx_JoinRuleSettings_radioButton + span + .mx_StyledRadioButton {
            border-top: 1px solid #6f7882;
            border-top: 1px solid var(--quinary-content, #6f7882);
        }

.mx_JoinRuleSettings_labelledCheckbox {
    font: var(--cpd-font-body-md-regular);
    margin-top: var(--cpd-space-2x);
}

/*
Copyright 2024 New Vector Ltd.
Copyright 2021 Šimon Brandner <simon.bra.ag@gmail.com>
Copyright 2020 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_KeyboardShortcut kbd {
        padding: 5px;
        border-radius: 4px;
        background-color: var(--timeline-background-color);
        min-width: 20px;
        text-align: center;
        display: inline-block;
        border: 1px solid #c7c7c7;
        -webkit-box-shadow: 0 2px #c7c7c7;
                box-shadow: 0 2px #c7c7c7;
        text-transform: capitalize;
    }

/*
Copyright 2024 New Vector Ltd.
Copyright 2021 Šimon Brandner <simon.bra.ag@gmail.com>
Copyright 2020, 2021 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_LayoutSwitcher_LayoutSelector {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    /**
     * The settings form has a default gap of 10px
     * We want to have a bigger gap between the layout options
     */
    gap: var(--cpd-space-4x) !important;
}

.mx_LayoutSwitcher_LayoutSelector .mxLayoutSwitcher_LayoutSelector_LayoutRadio {
        border: 1px solid var(--cpd-color-border-interactive-primary);
        border-radius: var(--cpd-space-2x);
    }

.mx_LayoutSwitcher_LayoutSelector .mxLayoutSwitcher_LayoutSelector_LayoutRadio .mxLayoutSwitcher_LayoutSelector_LayoutRadio_inline {
            display: -webkit-box;
            display: -ms-flexbox;
            display: flex;
            /*
             * 10px
             */
            gap: calc(var(--cpd-space-2x) + var(--cpd-space-0-5x));
            -webkit-box-align: center;
                -ms-flex-align: center;
                    align-items: center;
        }

.mx_LayoutSwitcher_LayoutSelector .mxLayoutSwitcher_LayoutSelector_LayoutRadio .mxLayoutSwitcher_LayoutSelector_LayoutRadio_inline,
        .mx_LayoutSwitcher_LayoutSelector .mxLayoutSwitcher_LayoutSelector_LayoutRadio .mxLayoutSwitcher_LayoutSelector_LayoutRadio_EventTilePreview {
            margin: var(--cpd-space-3x);
        }

/**
         * Override the event tile style to make it fit in the selector
         * Tweak also hover style and remove action bar
         */

.mx_LayoutSwitcher_LayoutSelector .mxLayoutSwitcher_LayoutSelector_LayoutRadio .mxLayoutSwitcher_LayoutSelector_LayoutRadio_EventTilePreview {
            pointer-events: none;
        }

.mx_LayoutSwitcher_LayoutSelector .mxLayoutSwitcher_LayoutSelector_LayoutRadio .mxLayoutSwitcher_LayoutSelector_LayoutRadio_EventTilePreview .mx_EventTile {
                margin: 0;
            }

/**
                 * Hide the message options and message action bar in the preview
                 */

.mx_LayoutSwitcher_LayoutSelector .mxLayoutSwitcher_LayoutSelector_LayoutRadio .mxLayoutSwitcher_LayoutSelector_LayoutRadio_EventTilePreview .mx_EventTile .mx_EventTile_msgOption,
                .mx_LayoutSwitcher_LayoutSelector .mxLayoutSwitcher_LayoutSelector_LayoutRadio .mxLayoutSwitcher_LayoutSelector_LayoutRadio_EventTilePreview .mx_EventTile .mx_MessageActionBar {
                    display: none;
                }

.mx_LayoutSwitcher_LayoutSelector .mxLayoutSwitcher_LayoutSelector_LayoutRadio .mxLayoutSwitcher_LayoutSelector_LayoutRadio_EventTilePreview .mx_EventTile .mx_EventTile_content {
                    margin-right: 0;
                }

.mx_LayoutSwitcher_LayoutSelector .mxLayoutSwitcher_LayoutSelector_LayoutRadio .mxLayoutSwitcher_LayoutSelector_LayoutRadio_EventTilePreview .mx_EventTile[data-layout="group"] {
                    margin-top: calc(var(--cpd-space-3x) * -1);
                }

/**
                 * Add margin to center the bubble
                 */

.mx_LayoutSwitcher_LayoutSelector .mxLayoutSwitcher_LayoutSelector_LayoutRadio .mxLayoutSwitcher_LayoutSelector_LayoutRadio_EventTilePreview .mx_EventTile[data-layout="bubble"] {
                    /**
                     * Add the layout margin and the margin to vertically center the bubble
                     */
                    margin-top: var(--cpd-space-6x);
                    margin-right: 34px;
                    -ms-flex-negative: 1;
                        flex-shrink: 1;
                }

.mx_LayoutSwitcher_LayoutSelector .mxLayoutSwitcher_LayoutSelector_LayoutRadio .mxLayoutSwitcher_LayoutSelector_LayoutRadio_EventTilePreview .mx_EventTile .mx_EventTile_line {
                    max-width: 100%;
                }

.mx_LayoutSwitcher_LayoutSelector .mxLayoutSwitcher_LayoutSelector_LayoutRadio .mxLayoutSwitcher_LayoutSelector_LayoutRadio_separator {
            border-top: 0;
            border-bottom: 1px solid var(--cpd-color-border-interactive-secondary);
        }

/*
Copyright 2024 New Vector Ltd.
Copyright 2023 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_NotificationPusherSettings .mx_NotificationPusherSettings_description {
        color: var(--timeline-text-color);
    }

.mx_NotificationPusherSettings .mx_NotificationPusherSettings_detail {
        margin-top: -4px;
        margin-bottom: 12px;
    }

/*
Copyright 2024 New Vector Ltd.
Copyright 2023 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_NotificationSettings2 .mx_SettingsSection_subSections {
        color: var(--timeline-text-color);
        gap: 32px;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column;
    }

.mx_NotificationSettings2 .mx_SettingsSubsection_description {
        margin-bottom: 20px;
    }

.mx_NotificationSettings2 .mx_SettingsSubsection_description .mx_SettingsSubsection_text {
            font-size: 1.2rem;
        }

.mx_NotificationSettings2 .mx_SettingsSubsection_description .mx_SettingsSubsection_text .mx_NotificationBadge {
                vertical-align: baseline;
                display: -webkit-inline-box;
                display: -ms-inline-flexbox;
                display: inline-flex;
                margin: 0 2px;
            }

.mx_NotificationSettings2 .mx_SettingsSubsection_content {
        margin-top: 12px;
        grid-gap: 12px;
        justify-items: stretch;
        -webkit-box-pack: stretch;
            -ms-flex-pack: stretch;
                justify-content: stretch;
    }

.mx_NotificationSettings2 .mx_SettingsBanner {
        margin-bottom: 32px;
    }

.mx_NotificationSettings2 .mx_NotificationSettings2_flags {
        grid-gap: 4px;
    }

.mx_NotificationSettings2 .mx_StyledRadioButton_content {
        margin-left: 10px;
        margin-right: 10px;
    }

.mx_NotificationSettings2 .mx_TagComposer {
        margin-top: 16px;
    }

.mx_NotificationSettings2 .mx_TagComposer.mx_TagComposer_disabled {
            opacity: 0.7;
        }

.mx_NotificationSettings2 .mx_TagComposer .mx_TagComposer_tags {
            margin-top: 16px;
            gap: 8px;
        }

.mx_NotificationSettings2 .mx_TagComposer .mx_TagComposer_tags .mx_Tag {
                border-radius: 18px;
                padding: 6px 12px;
                background: var(--roomlist-highlights-color);
                margin: 0;
            }

.mx_NotificationSettings2 .mx_TagComposer .mx_TagComposer_tags .mx_Tag .mx_Tag_delete {
                    background: #edf3ff;
                    background: var(--tertiary-content, #edf3ff);
                    color: #fff;
                    -ms-flex-item-align: initial;
                        align-self: initial;
                }

/*
Copyright 2024 New Vector Ltd.
Copyright 2015-2021 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_UserNotifSettings_grid {
    width: calc(100% + 12px); /* +12px to line up center of 'Noisy' column with toggle switches */
    display: grid;
    grid-template-columns: auto repeat(3, 62px);
    place-items: center center;
    grid-gap: 8px;
}

/* Override StyledRadioButton default styles */

.mx_UserNotifSettings_grid .mx_StyledRadioButton {
        -webkit-box-pack: center;
            -ms-flex-pack: center;
                justify-content: center;
    }

.mx_UserNotifSettings_grid .mx_StyledRadioButton .mx_StyledRadioButton_content {
            display: none;
        }

.mx_UserNotifSettings_grid .mx_StyledRadioButton .mx_StyledRadioButton_spacer {
            display: none;
        }

/* left align section heading*/

.mx_UserNotifSettings_grid .mx_SettingsSubsectionHeading {
        justify-self: start;
    }

.mx_UserNotifSettings_gridRowContainer {
    display: contents;
}

.mx_UserNotifSettings_gridRow {
    display: contents;
}

.mx_UserNotifSettings_gridRowLabel {
    justify-self: start;
    /* <legend> does not accept */
    /* display: inline | inline-block */
    /* force it inline using float */
    float: left;
}

.mx_UserNotifSettings_gridColumnLabel {
    color: #edf3ff;
    color: var(--secondary-content, #edf3ff);
    font: var(--cpd-font-body-sm-semibold);
}

.mx_UserNotifSettings_gridRowError {
    /* occupy full row */
    grid-column: 1/-1;
    justify-self: start;
    padding-right: 30%;
    /* collapse half of the grid-gap */
    margin-top: -4px;
}

.mx_UserNotifSettings_floatingSection {
    margin-top: 40px;
}

.mx_UserNotifSettings_floatingSection > div:first-child {
        /* section header */
        font-size: 1.125rem;
        font-weight: var(--cpd-font-weight-semibold);
    }

.mx_UserNotifSettings_floatingSection > table {
        border-collapse: collapse;
        border-spacing: 0;
        margin-top: 8px;
    }

.mx_UserNotifSettings_floatingSection > table tr > td:first-child {
            /* Just for a bit of spacing */
            padding-right: 8px;
        }

.mx_UserNotifSettings_clearNotifsButton {
    margin-top: 8px;
}

.mx_TagComposer {
    margin-top: 35px; /* lots of distance from the last line of the table */
}

.mx_AccessibleButton.mx_NotificationSound_browse {
    margin-right: 10px;
}

/*
Copyright 2019-2024 New Vector Ltd.
Copyright 2019 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_GeneralUserSettingsTab_section--discovery_existing_verification {
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
}

.mx_GeneralUserSettingsTab_section--discovery_existing_verification .mx_Field {
        margin: 0 0 0 1em;
    }

.mx_PhoneNumbers_input {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
}

.mx_PhoneNumbers_input > .mx_Field {
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
}

.mx_PhoneNumbers_country {
    width: 80px;
}

/*
 * Copyright 2024 New Vector Ltd.
 * Copyright 2024 The Matrix.org Foundation C.I.C.
 *
 * SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
 * Please see LICENSE files in the repository root for full details.
 */

.mx_PowerLevelSelector_Button {
    -ms-flex-item-align: start;
        align-self: flex-start;
}

/*
Copyright 2024 New Vector Ltd.
Copyright 2019, 2020 , 2024 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_RoomProfileSettings {
    border-bottom: 1px solid #6f7882;
    border-bottom: 1px solid var(--quinary-content, #6f7882);
}

.mx_RoomProfileSettings .mx_RoomProfileSettings_profile {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
    }

.mx_RoomProfileSettings .mx_RoomProfileSettings_profile .mx_RoomProfileSettings_profile_controls {
            -webkit-box-flex: 1;
                -ms-flex-positive: 1;
                    flex-grow: 1;
            -webkit-margin-end: 54px;
                    margin-inline-end: 54px;
        }

.mx_RoomProfileSettings .mx_RoomProfileSettings_profile .mx_RoomProfileSettings_profile_controls .mx_Field {
                margin-top: 8px;
            }

.mx_RoomProfileSettings .mx_RoomProfileSettings_profile .mx_RoomProfileSettings_profile_controls .mx_RoomProfileSettings_profile_controls_topic {
                margin-top: 8px;
            }

.mx_RoomProfileSettings .mx_RoomProfileSettings_profile .mx_RoomProfileSettings_profile_controls .mx_RoomProfileSettings_profile_controls_topic > textarea {
                    font-family: inherit;
                    resize: vertical;
                }

.mx_RoomProfileSettings .mx_RoomProfileSettings_profile .mx_RoomProfileSettings_profile_controls .mx_RoomProfileSettings_profile_controls_topic.mx_RoomProfileSettings_profile_controls_topic--room textarea {
                    min-height: 4em;
                }

.mx_RoomProfileSettings .mx_RoomProfileSettings_profile .mx_RoomProfileSettings_profile_controls .mx_RoomProfileSettings_profile_controls_userId {
                -webkit-margin-end: 20px;
                        margin-inline-end: 20px;
            }

.mx_RoomProfileSettings .mx_RoomProfileSettings_buttons {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        gap: var(--cpd-space-4x);
        margin-top: 10px; /* 18px is already accounted for by the <p> above the buttons */
        margin-bottom: 28px;
    }

/*
Copyright 2024 New Vector Ltd.
Copyright 2019, 2020 The Matrix.org Foundation C.I.C.
Copyright 2018 New Vector Ltd

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_SecureBackupPanel_deviceName {
    font-style: italic;
}

.mx_SecureBackupPanel_buttonRow {
    margin: 1em 0;
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -ms-flex-flow: wrap;
        flex-flow: wrap;
    row-gap: 10px;
}

.mx_SecureBackupPanel_buttonRow :nth-child(n + 1) {
        -webkit-margin-end: 10px;
                margin-inline-end: 10px;
    }

.mx_SecureBackupPanel_statusList {
    border-spacing: 0;
}

.mx_SecureBackupPanel_statusList th {
        text-align: start;
    }

.mx_SecureBackupPanel_statusList td,
    .mx_SecureBackupPanel_statusList th {
        padding: 0;
    }

.mx_SecureBackupPanel_statusList td:first-of-type, .mx_SecureBackupPanel_statusList th:first-of-type {
            -webkit-padding-end: 1em;
                    padding-inline-end: 1em;
        }

.mx_SecureBackupPanel_advanced {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
}

/*
Copyright 2024 New Vector Ltd.
Copyright 2019-2023 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_SetIdServer {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    gap: 8px;
}

.mx_SetIdServer .mx_Field {
        width: 100%;
        margin: 0;
    }

.mx_SetIdServer_tooltip {
    max-width: var(--SettingsTab_tooltip-max-width);
}

/*
Copyright 2024 New Vector Ltd.
Copyright 2019 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_SetIntegrationManager .mx_SettingsFlag {
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
    }

.mx_SetIntegrationManager .mx_SettingsFlag .mx_SetIntegrationManager_heading_manager {
            display: -webkit-box;
            display: -ms-flexbox;
            display: flex;
            -webkit-box-align: center;
                -ms-flex-align: center;
                    align-items: center;
            -ms-flex-wrap: wrap;
                flex-wrap: wrap;
            -webkit-column-gap: 4px;
               -moz-column-gap: 4px;
                    column-gap: 4px;
        }

.mx_SetIntegrationManager .mx_SettingsFlag .mx_ToggleSwitch {
            -ms-flex-item-align: start;
                align-self: flex-start;
            min-width: var(--ToggleSwitch-min-width); /* avoid compression */
        }

/*
Copyright 2024 New Vector Ltd.
Copyright 2021 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_SettingsFieldset {
    -webkit-box-sizing: content-box;
            box-sizing: content-box;
}

.mx_SettingsFieldset_legend {
    font: var(--cpd-font-heading-md-semibold);
    font-weight: var(--cpd-font-weight-semibold);
    display: block;
    color: var(--timeline-text-color);
    margin-bottom: 10px;
    margin-top: 12px;
}

.mx_SettingsFieldset_description {
    display: block;
    margin-top: 0;
    margin-bottom: 10px;
}

.mx_SettingsFieldset_description p {
        margin-top: 10px;
        margin-bottom: 0;
    }

.mx_SettingsFieldset_description p:first-child {
            margin: 0;
        }

.mx_SettingsFieldset_content {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 8px;
}

/*
Copyright 2024 New Vector Ltd.
Copyright 2021 Šimon Brandner <simon.bra.ag@gmail.com>

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_ExistingSpellCheckLanguage {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
}

.mx_ExistingSpellCheckLanguage_language {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    margin-right: 10px;
}

.mx_GeneralUserSettingsTab_spellCheckLanguageInput {
    margin-bottom: 8px;
}

/*
Copyright 2024 New Vector Ltd.
Copyright 2021 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_ThemeChoicePanel_ThemeSelectors {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    /* Override form default style */
    -webkit-box-orient: horizontal !important;
    -webkit-box-direction: normal !important;
        -ms-flex-direction: row !important;
            flex-direction: row !important;
    gap: var(--cpd-space-4x) !important;
}

.mx_ThemeChoicePanel_ThemeSelectors .mx_ThemeChoicePanel_themeSelector {
        border: 1px solid var(--cpd-color-border-interactive-secondary);
        border-radius: var(--cpd-space-1-5x);
        padding: var(--cpd-space-3x) var(--cpd-space-5x) var(--cpd-space-3x) var(--cpd-space-3x);
        gap: var(--cpd-space-2x);
        background-color: var(--cpd-color-bg-canvas-default);
    }

.mx_ThemeChoicePanel_ThemeSelectors .mx_ThemeChoicePanel_themeSelector.mx_ThemeChoicePanel_themeSelector_enabled {
            border-color: var(--cpd-color-border-interactive-primary);
        }

.mx_ThemeChoicePanel_ThemeSelectors .mx_ThemeChoicePanel_themeSelector.mx_ThemeChoicePanel_themeSelector_disabled {
            border-color: var(--cpd-color-border-disabled);
        }

.mx_ThemeChoicePanel_ThemeSelectors .mx_ThemeChoicePanel_themeSelector .mx_ThemeChoicePanel_themeSelector_Label {
            color: var(--cpd-color-text-primary);
            font: var(--cpd-font-body-md-semibold);
        }

.mx_ThemeChoicePanel_CustomTheme {
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: var(--cpd-space-4x);
}

.mx_ThemeChoicePanel_CustomTheme .mx_ThemeChoicePanel_CustomTheme_EditInPlace input:focus {
        /*
         * When the input is focused, the border is growing
         * We need to move it a bit to avoid the left border to be under the left panel
         */
        margin-left: var(--cpd-space-0-5x);
    }

.mx_ThemeChoicePanel_CustomTheme .mx_ThemeChoicePanel_CustomThemeList {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column;
        gap: var(--cpd-space-4x);
        /*
         * Override the default padding/margin of the list
         */
        padding: 0;
        margin: 0;
    }

.mx_ThemeChoicePanel_CustomTheme .mx_ThemeChoicePanel_CustomThemeList .mx_ThemeChoicePanel_CustomThemeList_theme {
            display: -webkit-box;
            display: -ms-flexbox;
            display: flex;
            -webkit-box-pack: justify;
                -ms-flex-pack: justify;
                    justify-content: space-between;
            -webkit-box-align: center;
                -ms-flex-align: center;
                    align-items: center;
            background-color: var(--cpd-color-gray-200);
            padding: var(--cpd-space-2x) var(--cpd-space-2x) var(--cpd-space-2x) var(--cpd-space-4x);
        }

.mx_ThemeChoicePanel_CustomTheme .mx_ThemeChoicePanel_CustomThemeList .mx_ThemeChoicePanel_CustomThemeList_theme .mx_ThemeChoicePanel_CustomThemeList_name {
                font: var(--cpd-font-body-sm-semibold);
                overflow: hidden;
                text-overflow: ellipsis;
                white-space: nowrap;
            }

/*
Copyright 2024 New Vector Ltd.
Copyright 2020 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_UpdateCheckButton_summary {
    margin-left: 16px;
}

/*
Copyright 2024 New Vector Ltd.
Copyright 2019, 2020 , 2024 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_UserProfileSettings {
    border-bottom: 1px solid #6f7882;
    border-bottom: 1px solid var(--quinary-content, #6f7882);
}

.mx_UserProfileSettings .mx_UserProfileSettings_profile {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        margin-top: var(--cpd-space-6x);
        gap: 16px;
    }

.mx_UserProfileSettings .mx_UserProfileSettings_profile .mx_UserProfileSettings_profile_displayName {
            -webkit-box-flex: 1;
                -ms-flex-positive: 1;
                    flex-grow: 1;
            width: 100%;
            gap: 0;
        }

.mx_UserProfileSettings .mx_UserProfileSettings_profile_controls {
        -webkit-box-flex: 1;
            -ms-flex-positive: 1;
                flex-grow: 1;
    }

.mx_UserProfileSettings .mx_UserProfileSettings_profile_controls_userId {
        width: 100%;
        margin-top: var(--cpd-space-4x);
    }

.mx_UserProfileSettings .mx_UserProfileSettings_profile_controls_userId .mx_CopyableText {
            margin-top: var(--cpd-space-1x);
            width: 100%;
            -webkit-box-sizing: border-box;
                    box-sizing: border-box;
        }

.mx_UserProfileSettings .mx_UserProfileSettings_profile_controls_userId_label {
        font-size: 15px;
        font-weight: 500;
    }

.mx_UserProfileSettings .mx_UserProfileSettings_profile_buttons {
        margin-top: var(--cpd-space-8x);
        margin-bottom: var(--cpd-space-8x);
    }

.mx_UserProfileSettings .mx_UserProfileSettings_accountmanageIcon {
        margin-right: var(--cpd-space-2x);
    }

@media (max-width: 768px) {
    .mx_UserProfileSettings_profile {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        gap: 30px;
    }
}

/*
Copyright 2024 New Vector Ltd.
Copyright 2023 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_SettingsBanner {
    background: #21262c;
    background: var(--system, #21262c);
    border-radius: 8px;
    padding: 12px 16px;
    gap: 12px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
}

.mx_SettingsBanner .mx_SettingsBanner_content {
        margin: 0;
    }

.mx_SettingsBanner .mx_AccessibleButton {
        white-space: nowrap;
    }

/*
Copyright 2024 New Vector Ltd.
Copyright 2023 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_SettingsIndent {
    padding-left: 16px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 12px;
}

/*
Copyright 2023, 2024 New Vector Ltd.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_SettingsSection {
    --SettingsTab_section-margin-bottom-preferences-labs: 30px;
    --SettingsTab_heading_nth_child-margin-top: 30px;
    --SettingsTab_tooltip-max-width: 20px; /* So it fits in the space provided by the page */

    color: var(--timeline-text-color);
}

.mx_SettingsSection a {
        color: #0086e6;
        color: var(--links, #0086e6);
    }

.mx_SettingsSection_subSections {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    grid-gap: 32px;

    padding: 16px 0;
}

/*
Copyright 2019-2024 New Vector Ltd.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_SettingsTab {
    --SettingsTab_tooltip-max-width: 120px; /* So it fits in the space provided by the page */

    color: var(--timeline-text-color);
    /* never want full width buttons*/
}

.mx_SettingsTab a {
        color: #0086e6;
        color: var(--links, #0086e6);
    }

.mx_SettingsTab form {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column;
        gap: 8px;
        -webkit-box-flex: 1;
            -ms-flex-positive: 1;
                flex-grow: 1;
    }

/* event when other content is 100% width*/

.mx_SettingsTab .mx_AccessibleButton {
        -ms-flex-item-align: start;
            align-self: flex-start;
        justify-self: flex-start;
    }

.mx_SettingsTab .mx_Field {
        margin: 0;
        -webkit-box-flex: 1;
            -ms-flex: 1;
                flex: 1;
    }

.mx_SettingsTab_warningText {
    color: #ff5b55;
    color: var(--alert, #ff5b55);
}

.mx_SettingsTab_subsectionText {
    color: #edf3ff;
    color: var(--secondary-content, #edf3ff);
    font: var(--cpd-font-body-md-regular);
    display: block;
    margin-top: 10px;
    -webkit-margin-end: 80px;
            margin-inline-end: 80px; /* Align with the rest of the view */
    margin-bottom: 10px;
    -webkit-margin-start: 0;
            margin-inline-start: 0;
}

.mx_SettingsTab_section {

    margin-bottom: 24px;
}

.mx_SettingsTab_section .mx_SettingsFlag {
        -webkit-margin-end: 80px;
                margin-inline-end: 80px;
        margin-bottom: 10px;
    }

.mx_SettingsTab_section .mx_SettingsFlag .mx_SettingsFlag_label {
            vertical-align: middle;
            display: inline-block;
            max-width: calc(100% - 3rem); /* Force word wrap instead of colliding with the switch */
            -webkit-box-sizing: border-box;
                    box-sizing: border-box;
        }

.mx_SettingsTab_section .mx_SettingsFlag .mx_ToggleSwitch {
            float: inline-end;
        }

.mx_SettingsTab_section > p {
        -webkit-margin-end: 80px;
                margin-inline-end: 80px;
    }

.mx_SettingsTab_section.mx_SettingsTab_subsectionText .mx_SettingsFlag {
        -webkit-margin-end: 0 !important;
                margin-inline-end: 0 !important;
    }

.mx_SettingsTab_toggleWithDescription {
    margin-top: 24px;
}

.mx_SettingsTab_sections {
    display: grid;
    grid-template-columns: 1fr;
    grid-gap: 32px;

    padding-bottom: 16px;
}

/*
Copyright 2024 New Vector Ltd.
Copyright 2021 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_NotificationSettingsTab_notificationsSection {
    width: 360px;
}

.mx_NotificationSettingsTab_notificationsSection .mx_StyledRadioButton {
        -webkit-box-orient: horizontal;
        -webkit-box-direction: reverse;
            -ms-flex-direction: row-reverse;
                flex-direction: row-reverse;
        color: var(--timeline-text-color);
        font-size: 0.9375rem;
        line-height: 1.125rem;
        font-weight: var(--cpd-font-weight-semibold);
        margin-top: 16px;
        position: relative;
        padding-left: 8px;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
    }

.mx_NotificationSettingsTab_notificationsSection .mx_StyledRadioButton::before {
            content: "";
            position: absolute;
            height: 24px;
            width: 24px;
            left: 0;
            -webkit-mask-repeat: no-repeat;
                    mask-repeat: no-repeat;
            -webkit-mask-position: center;
                    mask-position: center;
            -webkit-mask-size: contain;
                    mask-size: contain;
            background-color: #edf3ff;
            background-color: var(--secondary-content, #edf3ff);
        }

.mx_NotificationSettingsTab_notificationsSection .mx_StyledRadioButton input + div {
            margin-top: 8px;
        }

.mx_NotificationSettingsTab_notificationsSection .mx_StyledRadioButton .mx_NotificationSettingsTab_microCopy {
            color: #edf3ff;
            color: var(--secondary-content, #edf3ff);
            font-weight: normal;
            font-size: 0.75rem;
            line-height: 0.9375rem;
            margin-right: 32px;
        }

.mx_NotificationSettingsTab_notificationsSection .mx_NotificationSettingsTab_defaultEntry::before {
        -webkit-mask-image: url(../../img/element-icons/notifications.988ddb0.svg);
                mask-image: url(../../img/element-icons/notifications.988ddb0.svg);
    }

.mx_NotificationSettingsTab_notificationsSection .mx_NotificationSettingsTab_allMessagesEntry::before {
        -webkit-mask-image: url(../../img/element-icons/roomlist/notifications-default.63a2b44.svg);
                mask-image: url(../../img/element-icons/roomlist/notifications-default.63a2b44.svg);
    }

.mx_NotificationSettingsTab_notificationsSection .mx_NotificationSettingsTab_mentionsKeywordsEntry::before {
        -webkit-mask-image: url(../../img/element-icons/roomlist/notifications-dm.6739542.svg);
                mask-image: url(../../img/element-icons/roomlist/notifications-dm.6739542.svg);
    }

.mx_NotificationSettingsTab_notificationsSection .mx_NotificationSettingsTab_noneEntry::before {
        -webkit-mask-image: url(../../img/element-icons/roomlist/notifications-off.0b8adcc.svg);
                mask-image: url(../../img/element-icons/roomlist/notifications-off.0b8adcc.svg);
    }

input[type="file"].mx_NotificationSound_soundUpload {
    display: none;
}

/*
Copyright 2024 New Vector Ltd.
Copyright 2023 Nordeck IT + Consulting GmbH

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_PeopleRoomSettingsTab_knock {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin-top: var(--cpd-space-2x);
}

.mx_PeopleRoomSettingsTab_content {
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    margin: 0 var(--cpd-space-4x);
}

.mx_PeopleRoomSettingsTab_avatar {
    -ms-flex-item-align: start;
        align-self: flex-start;
    -ms-flex-negative: 0;
        flex-shrink: 0;
}

.mx_PeopleRoomSettingsTab_name {
    font-weight: var(--cpd-font-weight-semibold);
}

.mx_PeopleRoomSettingsTab_timestamp {
    color: #edf3ff;
    color: var(--secondary-content, #edf3ff);
    margin-left: var(--cpd-space-1x);
}

.mx_PeopleRoomSettingsTab_userId {
    color: #edf3ff;
    color: var(--secondary-content, #edf3ff);
    display: block;
    font-size: var(--cpd-font-size-body-sm);
}

.mx_PeopleRoomSettingsTab_seeMoreOrLess {
    margin: var(--cpd-space-3x) 0 0;
}

.mx_PeopleRoomSettingsTab_action {
    -ms-flex-negative: 0;
        flex-shrink: 0;
}

.mx_PeopleRoomSettingsTab_action + .mx_PeopleRoomSettingsTab_action {
        margin-left: var(--cpd-space-3x);
    }

.mx_PeopleRoomSettingsTab_paragraph {
    margin: 0;
}

/*
Copyright 2019-2024 New Vector Ltd.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_RolesRoomSettingsTab_bannedList {
    margin-bottom: 0;
}

.mx_RolesRoomSettingsTab_unbanBtn {
    margin-right: 10px;
    margin-bottom: 5px;
}

/*
Copyright 2019-2024 New Vector Ltd.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_SecurityRoomSettingsTab_advancedSection {
    margin-top: 16px;
}

.mx_SecurityRoomSettingsTab_warning {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-column-gap: 4px;
       -moz-column-gap: 4px;
            column-gap: 4px;
}

/*
Copyright 2024 New Vector Ltd.
Copyright 2020, 2021 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_Field.mx_AppearanceUserSettingsTab_checkboxControlledField {
    width: 256px;
    /* matches checkbox box + padding to align with checkbox label */
    -webkit-margin-start: calc(1rem + 10px);
            margin-inline-start: calc(1rem + 10px);
}

/*
Copyright 2024 New Vector Ltd.
Copyright 2022 Šimon Brandner <simon.bra.ag@gmail.com>
Copyright 2019 New Vector Ltd

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_HelpUserSettingsTab_accessTokenDetails {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
}

/*
Copyright 2024 New Vector Ltd.
Copyright 2021 Šimon Brandner <simon.bra.ag@gmail.com>
Copyright 2020 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_KeyboardShortcut_shortcutList {
    margin: 0;
    padding: 0;
    width: 100%;
    display: grid;
    grid-gap: 4px;
}

.mx_KeyboardShortcut_shortcutRow,
.mx_KeyboardShortcut {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
}

.mx_KeyboardShortcut_shortcutRow {
    -webkit-column-gap: 8px;
       -moz-column-gap: 8px;
            column-gap: 8px;
}

.mx_KeyboardShortcut {
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    -webkit-column-gap: 4px;
       -moz-column-gap: 4px;
            column-gap: 4px;
}

/*
Copyright 2024 New Vector Ltd.
Copyright 2019 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_MjolnirUserSettingsTab_listItem {
    margin-bottom: 2px;
}

/*
Copyright 2024 New Vector Ltd.
Copyright 2024 The Matrix.org Foundation C.I.C.
Copyright 2019 New Vector Ltd

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_PreferencesUserSettingsTab_section_hint {
    font: var(--cpd-font-body-sm-regular);
    color: var(--cpd-color-text-secondary);
}

/*
Copyright 2019-2024 New Vector Ltd.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_SecurityUserSettingsTab_bulkOptions {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-column-gap: 8px;
       -moz-column-gap: 8px;
            column-gap: 8px;
}

.mx_SecurityUserSettingsTab_ignoredUser {
    margin-bottom: 4px;
}

.mx_SecurityUserSettingsTab_ignoredUser .mx_AccessibleButton {
    margin-right: 8px;
}

.mx_SecurityUserSettingsTab_warning {
    color: #ff5b55;
    color: var(--alert, #ff5b55);
    position: relative;
    padding-left: 40px;
}

.mx_SecurityUserSettingsTab_warning::before {
        -webkit-mask-repeat: no-repeat;
                mask-repeat: no-repeat;
        -webkit-mask-position: 0 center;
                mask-position: 0 center;
        -webkit-mask-size: 1.5rem;
                mask-size: 1.5rem;
        position: absolute;
        width: 1.5rem;
        height: 1.5rem;
        content: "";
        top: 0;
        left: 0;
        background-color: #ff5b55;
        background-color: var(--alert, #ff5b55);
        -webkit-mask-image: url(../../icons/warning.6f20edd.svg);
                mask-image: url(../../icons/warning.6f20edd.svg);
    }

/*
Copyright 2024 New Vector Ltd.
Copyright 2021 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_SidebarUserSettingsTab_homeAllRoomsCheckbox {
    margin-left: 24px;
}

.mx_SidebarUserSettingsTab_homeAllRoomsCheckbox + div {
        margin-left: 48px;
    }

.mx_SidebarUserSettingsTab_checkbox {
    margin-bottom: 8px;
}

/* override checkbox styles */

.mx_SidebarUserSettingsTab_checkbox label {
        -webkit-box-align: start !important;
            -ms-flex-align: start !important;
                align-items: flex-start !important;
    }

.mx_SidebarUserSettingsTab_checkbox svg {
        height: 16px;
        width: 16px;
        margin-right: 8px;
        margin-bottom: -1px;
    }

/*
Copyright 2024 New Vector Ltd.
Copyright 2021 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_SpaceBasicSettings .mx_Field {
        margin: 24px 0;
    }

.mx_SpaceBasicSettings .mx_SpaceBasicSettings_avatarContainer {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        margin-top: 24px;
    }

.mx_SpaceBasicSettings .mx_SpaceBasicSettings_avatarContainer .mx_SpaceBasicSettings_avatar {
            position: relative;
            height: 80px;
            width: 80px;
            background-color: #edf3ff;
            background-color: var(--tertiary-content, #edf3ff);
            border-radius: 16px;
        }

.mx_SpaceBasicSettings .mx_SpaceBasicSettings_avatarContainer img.mx_SpaceBasicSettings_avatar {
            width: 80px;
            height: 80px;
            -o-object-fit: cover;
               object-fit: cover;
            border-radius: 16px;
        }

/* only show it when the button is a div and not an img (has avatar) */

.mx_SpaceBasicSettings .mx_SpaceBasicSettings_avatarContainer div.mx_SpaceBasicSettings_avatar {
            cursor: pointer;
        }

.mx_SpaceBasicSettings .mx_SpaceBasicSettings_avatarContainer div.mx_SpaceBasicSettings_avatar::before {
                content: "";
                position: absolute;
                height: 80px;
                width: 80px;
                top: 0;
                left: 0;
                background-color: #ffffff; /* white icon fill */
                -webkit-mask-repeat: no-repeat;
                        mask-repeat: no-repeat;
                -webkit-mask-position: center;
                        mask-position: center;
                -webkit-mask-size: 20px;
                        mask-size: 20px;
                -webkit-mask-image: url(../../icons/take-photo-solid.203c974.svg);
                        mask-image: url(../../icons/take-photo-solid.203c974.svg);
            }

.mx_SpaceBasicSettings .mx_SpaceBasicSettings_avatarContainer > input[type="file"] {
            display: none;
        }

.mx_SpaceBasicSettings .mx_SpaceBasicSettings_avatarContainer > .mx_AccessibleButton_kind_link {
            display: inline-block;
            margin: auto 18px;
            color: #0086e6;
            color: var(--links, #0086e6);
            font: var(--cpd-font-body-md-regular);
        }

.mx_SpaceBasicSettings .mx_SpaceBasicSettings_avatarContainer > .mx_SpaceBasicSettings_avatar_remove {
            color: #ff5b55;
            color: var(--alert, #ff5b55);
        }

.mx_SpaceBasicSettings .mx_AccessibleButton_hasKind {
        margin-left: auto;
        display: block;
        width: -webkit-min-content;
        width: -moz-min-content;
        width: min-content;
    }

.mx_SpaceBasicSettings .mx_AccessibleButton_disabled {
        cursor: not-allowed;
    }

/*
Copyright 2024 New Vector Ltd.
Copyright 2021 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_SpaceChildrenPicker {
    margin: 16px 0;
}

.mx_SpaceChildrenPicker .mx_StyledRadioButton + .mx_StyledRadioButton {
        margin-top: 16px;
    }

.mx_SpaceChildrenPicker .mx_SearchBox {
        /* To match the space around the title */
        margin: 0 0 15px 0;
        -webkit-box-flex: 0;
            -ms-flex-positive: 0;
                flex-grow: 0;
        border-radius: 8px;
    }

.mx_SpaceChildrenPicker .mx_SpaceChildrenPicker_noResults {
        display: block;
        margin-top: 24px;
    }

/*
Copyright 2024 New Vector Ltd.
Copyright 2021 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

/* background blur everything except SpacePanel */

.mx_SpaceCreateMenu_wrapper .mx_ContextualMenu_background {
        background-color: var(--sidebar-color-50pct);
        opacity: 0.6;
        left: 68px;
    }

.mx_SpaceCreateMenu_wrapper .mx_ContextualMenu {
        padding: 24px;
        width: 480px;
        -webkit-box-sizing: border-box;
                box-sizing: border-box;
        background-color: var(--timeline-background-color);
        position: relative;
    }

.mx_SpaceCreateMenu_wrapper .mx_ContextualMenu > div > h2 {
                font-weight: var(--cpd-font-weight-semibold);
                font-size: 1.125rem;
                margin-top: 4px;
            }

.mx_SpaceCreateMenu_wrapper .mx_ContextualMenu > div > p {
                font-size: 0.9375rem;
                color: #edf3ff;
                color: var(--secondary-content, #edf3ff);
            }

.mx_SpaceCreateMenu_wrapper .mx_ContextualMenu .mx_SpaceCreateMenuType {
            position: relative;
            padding: 16px 32px 16px 72px;
            width: 432px;
            -webkit-box-sizing: border-box;
                    box-sizing: border-box;
            border-radius: 8px;
            border: 1px solid #e7e7e7;
            font-size: 1.0625rem;
            font-weight: var(--cpd-font-weight-semibold);
            margin: 20px 0;
        }

.mx_SpaceCreateMenu_wrapper .mx_ContextualMenu .mx_SpaceCreateMenuType > div {
        margin-top: 4px;
        font-weight: normal;
        font-size: 0.9375rem;
        color: #edf3ff;
        color: var(--secondary-content, #edf3ff);
    }

.mx_SpaceCreateMenu_wrapper .mx_ContextualMenu .mx_SpaceCreateMenuType::before {
        position: absolute;
        content: "";
        width: 28px;
        height: 28px;
        top: 50%;
        -webkit-transform: translateY(-50%);
                transform: translateY(-50%);
        left: 22px;
        -webkit-mask-position: center;
                mask-position: center;
        -webkit-mask-repeat: no-repeat;
                mask-repeat: no-repeat;
        -webkit-mask-size: 28px;
                mask-size: 28px;
        background-color: #edf3ff;
        background-color: var(--tertiary-content, #edf3ff);
    }

.mx_SpaceCreateMenu_wrapper .mx_ContextualMenu .mx_SpaceCreateMenuType:hover {
        border-color: var(--cpd-color-bg-action-primary-rest);
    }

.mx_SpaceCreateMenu_wrapper .mx_ContextualMenu .mx_SpaceCreateMenuType:hover::before {
            background-color: var(--cpd-color-icon-primary);
        }

.mx_SpaceCreateMenu_wrapper .mx_ContextualMenu .mx_SpaceCreateMenuType:hover > span {
            color: var(--timeline-text-color);
        }

.mx_SpaceCreateMenu_wrapper .mx_ContextualMenu .mx_SpaceCreateMenuType_public::before {
            -webkit-mask-image: url(../../icons/public.df992ad.svg);
                    mask-image: url(../../icons/public.df992ad.svg);
        }

.mx_SpaceCreateMenu_wrapper .mx_ContextualMenu .mx_SpaceCreateMenuType_private::before {
            -webkit-mask-image: url(../../icons/lock-solid.6a2e583.svg);
                    mask-image: url(../../icons/lock-solid.6a2e583.svg);
        }

.mx_SpaceCreateMenu_wrapper .mx_ContextualMenu .mx_SpaceCreateMenu_back {
            width: 28px;
            height: 28px;
            position: relative;
            background-color: var(--roomlist-highlights-color);
            border-radius: 14px;
            margin-bottom: 12px;
        }

.mx_SpaceCreateMenu_wrapper .mx_ContextualMenu .mx_SpaceCreateMenu_back::before {
                content: "";
                position: absolute;
                height: 28px;
                width: 28px;
                top: 0;
                left: 0;
                background-color: #edf3ff;
                background-color: var(--tertiary-content, #edf3ff);
                -webkit-transform: rotate(90deg);
                        transform: rotate(90deg);
                -webkit-mask-repeat: no-repeat;
                        mask-repeat: no-repeat;
                -webkit-mask-position: 2px 3px;
                        mask-position: 2px 3px;
                -webkit-mask-size: 24px;
                        mask-size: 24px;
                -webkit-mask-image: url(../../icons/chevron-down.3774773.svg);
                        mask-image: url(../../icons/chevron-down.3774773.svg);
            }

.mx_SpaceCreateMenu_wrapper .mx_ContextualMenu .mx_AccessibleButton_kind_primary {
            padding: 8px 22px;
            margin-left: auto;
            display: block;
            width: -webkit-min-content;
            width: -moz-min-content;
            width: min-content;
        }

.mx_SpaceCreateMenu_wrapper .mx_ContextualMenu .mx_AccessibleButton_disabled {
            cursor: not-allowed;
        }

/*
Copyright 2024 New Vector Ltd.
Copyright 2021 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_SpacePublicShare .mx_AccessibleButton {
        position: relative;
        padding: 16px 32px 16px 72px;
        width: 432px;
        -webkit-box-sizing: border-box;
                box-sizing: border-box;
        border-radius: 8px;
        border: 1px solid #e7e7e7;
        font-size: 1.0625rem;
        font-weight: var(--cpd-font-weight-semibold);
        margin: 20px 0;
    }

.mx_SpacePublicShare .mx_AccessibleButton > div {
        margin-top: 4px;
        font-weight: normal;
        font-size: 0.9375rem;
        color: #edf3ff;
        color: var(--secondary-content, #edf3ff);
    }

.mx_SpacePublicShare .mx_AccessibleButton::before {
        position: absolute;
        content: "";
        width: 28px;
        height: 28px;
        top: 50%;
        -webkit-transform: translateY(-50%);
                transform: translateY(-50%);
        left: 22px;
        -webkit-mask-position: center;
                mask-position: center;
        -webkit-mask-repeat: no-repeat;
                mask-repeat: no-repeat;
        -webkit-mask-size: 28px;
                mask-size: 28px;
        background-color: #edf3ff;
        background-color: var(--tertiary-content, #edf3ff);
    }

.mx_SpacePublicShare .mx_AccessibleButton:hover {
        border-color: var(--cpd-color-bg-action-primary-rest);
    }

.mx_SpacePublicShare .mx_AccessibleButton:hover::before {
            background-color: var(--cpd-color-icon-primary);
        }

.mx_SpacePublicShare .mx_AccessibleButton:hover > span {
            color: var(--timeline-text-color);
        }

.mx_SpacePublicShare .mx_AccessibleButton.mx_SpacePublicShare_shareButton::before {
            -webkit-mask-image: url(../../icons/link.1336d8f.svg);
                    mask-image: url(../../icons/link.1336d8f.svg);
        }

.mx_SpacePublicShare .mx_AccessibleButton.mx_SpacePublicShare_inviteButton::before {
            -webkit-mask-image: url(../../img/element-icons/room/invite.440bc20.svg);
                    mask-image: url(../../img/element-icons/room/invite.440bc20.svg);
        }

/*
Copyright 2024 New Vector Ltd.
Copyright 2019 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_InlineTermsAgreement_cbContainer {
    margin-top: var(--cpd-space-4x);
    margin-bottom: 10px;
    font: var(--cpd-font-body-md-regular);
}

.mx_InlineTermsAgreement_cbContainer a {
        color: #0dbd8b;
        color: var(--accent-color, #0dbd8b);
        text-decoration: none;
    }

.mx_InlineTermsAgreement_cbContainer .mx_InlineTermsAgreement_checkbox {
        margin-top: 10px;
    }

.mx_InlineTermsAgreement_cbContainer .mx_InlineTermsAgreement_checkbox input {
            vertical-align: text-bottom;
        }

.mx_InlineTermsAgreement_link {
    display: inline-block;
    -webkit-mask-image: url(../../img/external-link.8197a77.svg);
            mask-image: url(../../img/external-link.8197a77.svg);
    background-color: #0dbd8b;
    background-color: var(--accent-color, #0dbd8b);
    -webkit-mask-repeat: no-repeat;
            mask-repeat: no-repeat;
    -webkit-mask-size: contain;
            mask-size: contain;
    width: 12px;
    height: 12px;
    margin-left: 3px;
    vertical-align: middle;
}

/*
Copyright 2024 New Vector Ltd.
Copyright 2020 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_AnalyticsToast .mx_AccessibleButton_kind_danger_outline {
        background-color: #0dbd8b;
        background-color: var(--accent-color, #0dbd8b);
        color: #ffffff;
        border: 1px solid #0dbd8b;
        border: 1px solid var(--accent-color, #0dbd8b);
        font-weight: var(--cpd-font-weight-semibold);
    }

.mx_AnalyticsToast .mx_AccessibleButton_kind_primary {
        background-color: #0dbd8b;
        background-color: var(--accent-color, #0dbd8b);
        color: #ffffff;
        border: 1px solid #0dbd8b;
        border: 1px solid var(--accent-color, #0dbd8b);
        font-weight: var(--cpd-font-weight-semibold);
    }

/*
Copyright 2024 New Vector Ltd.
Copyright 2022 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_IncomingCallToast {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    pointer-events: initial; /* restore pointer events so the user can accept/decline */
    width: 250px;
}

.mx_IncomingCallToast .mx_IncomingCallToast_content {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column;
        margin-left: 8px;
        width: 100%;
        overflow: hidden;
    }

.mx_IncomingCallToast .mx_IncomingCallToast_content .mx_IncomingCallToast_info {
            margin-bottom: 16px;
        }

.mx_IncomingCallToast .mx_IncomingCallToast_content .mx_IncomingCallToast_info .mx_IncomingCallToast_room {
                display: inline-block;

                font-weight: var(--cpd-font-weight-semibold);
                font-size: 0.9375rem;
                line-height: 1.5rem;

                /* Prevent overlap with the close button */
                width: calc(100% - 16px - 2 * 4px);
                overflow: hidden;
                text-overflow: ellipsis;
                white-space: nowrap;

                margin-bottom: 4px;
            }

.mx_IncomingCallToast .mx_IncomingCallToast_content .mx_IncomingCallToast_info .mx_IncomingCallToast_message {
                font-size: 0.75rem;
                line-height: 0.9375rem;

                margin-bottom: 4px;
            }

.mx_IncomingCallToast .mx_IncomingCallToast_content .mx_IncomingCallToast_info .mx_LiveContentSummary {
                font-size: 0.75rem;
                line-height: 0.9375rem;
            }

.mx_IncomingCallToast .mx_IncomingCallToast_content .mx_IncomingCallToast_info .mx_LiveContentSummary .mx_LiveContentSummary_participants::before {
                    width: 15px;
                    height: 15px;
                }

.mx_IncomingCallToast .mx_IncomingCallToast_content .mx_IncomingCallToast_joinButton {
            position: relative;

            bottom: 4px;
            right: 4px;

            -ms-flex-item-align: end;

                align-self: flex-end;

            -webkit-box-sizing: border-box;

                    box-sizing: border-box;
            min-width: 120px;

            padding: 4px 0;

            line-height: 1.5rem;
        }

.mx_IncomingCallToast .mx_IncomingCallToast_closeButton {
        position: absolute;

        top: 4px;
        right: 4px;

        display: -webkit-box;

        display: -ms-flexbox;

        display: flex;
        height: 16px;
        width: 16px;
    }

.mx_IncomingCallToast .mx_IncomingCallToast_closeButton::before {
            content: "";

            -webkit-mask-image: url(../../icons/close.dce71fd.svg);

                    mask-image: url(../../icons/close.dce71fd.svg);

            height: inherit;
            width: inherit;
            background-color: #edf3ff;
            background-color: var(--secondary-content, #edf3ff);
            -webkit-mask-repeat: no-repeat;
                    mask-repeat: no-repeat;
            -webkit-mask-size: contain;
                    mask-size: contain;
            -webkit-mask-position: center;
                    mask-position: center;
        }

/*
Copyright 2024 New Vector Ltd.
Copyright 2021 Šimon Brandner <simon.bra.ag@gmail.com>
Copyright 2020 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_IncomingLegacyCallToast {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    pointer-events: initial; /* restore pointer events so the user can accept/decline */
}

.mx_IncomingLegacyCallToast .mx_IncomingLegacyCallToast_content {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column;
        margin-left: 8px;
    }

.mx_IncomingLegacyCallToast .mx_IncomingLegacyCallToast_content .mx_LegacyCallEvent_caller {
            font-weight: bold;
            font-size: 0.9375rem;
            line-height: 1.125rem;

            overflow: hidden;
            text-overflow: ellipsis;
            white-space: nowrap;

            margin-top: 2px;
            margin-right: 6px;

            max-width: 200px;
        }

.mx_IncomingLegacyCallToast .mx_IncomingLegacyCallToast_content .mx_LegacyCallEvent_type {
            font-size: 0.75rem;
            line-height: 0.9375rem;
            color: #edf3ff;
            color: var(--tertiary-content, #edf3ff);

            margin-top: 4px;
            margin-bottom: 6px;

            display: -webkit-box;

            display: -ms-flexbox;

            display: flex;
            -webkit-box-orient: horizontal;
            -webkit-box-direction: normal;
                -ms-flex-direction: row;
                    flex-direction: row;
            -webkit-box-align: center;
                -ms-flex-align: center;
                    align-items: center;
        }

.mx_IncomingLegacyCallToast .mx_IncomingLegacyCallToast_content .mx_LegacyCallEvent_type .mx_LegacyCallEvent_type_icon {
                height: 16px;
                width: 16px;
                margin-right: 6px;
            }

.mx_IncomingLegacyCallToast .mx_IncomingLegacyCallToast_content .mx_LegacyCallEvent_type .mx_LegacyCallEvent_type_icon::before {
                    content: "";
                    position: absolute;
                    height: inherit;
                    width: inherit;
                    background-color: #edf3ff;
                    background-color: var(--tertiary-content, #edf3ff);
                    -webkit-mask-repeat: no-repeat;
                            mask-repeat: no-repeat;
                    -webkit-mask-size: contain;
                            mask-size: contain;
                }

.mx_IncomingLegacyCallToast .mx_IncomingLegacyCallToast_content.mx_IncomingLegacyCallToast_content_voice .mx_LegacyCallEvent_type .mx_LegacyCallEvent_type_icon::before,
            .mx_IncomingLegacyCallToast .mx_IncomingLegacyCallToast_content.mx_IncomingLegacyCallToast_content_voice .mx_IncomingLegacyCallToast_buttons .mx_IncomingLegacyCallToast_button_accept span::before {
                -webkit-mask-image: url(../../img/element-icons/call/voice-call.85002aa.svg);
                        mask-image: url(../../img/element-icons/call/voice-call.85002aa.svg);
            }

.mx_IncomingLegacyCallToast .mx_IncomingLegacyCallToast_content.mx_IncomingLegacyCallToast_content_video .mx_LegacyCallEvent_type .mx_LegacyCallEvent_type_icon::before,
            .mx_IncomingLegacyCallToast .mx_IncomingLegacyCallToast_content.mx_IncomingLegacyCallToast_content_video .mx_IncomingLegacyCallToast_buttons .mx_IncomingLegacyCallToast_button_accept span::before {
                -webkit-mask-image: url(../../img/element-icons/call/video-call.515f9f9.svg);
                        mask-image: url(../../img/element-icons/call/video-call.515f9f9.svg);
            }

.mx_IncomingLegacyCallToast .mx_IncomingLegacyCallToast_content .mx_IncomingLegacyCallToast_buttons {
            margin-top: 8px;
            display: -webkit-box;
            display: -ms-flexbox;
            display: flex;
            -webkit-box-orient: horizontal;
            -webkit-box-direction: normal;
                -ms-flex-direction: row;
                    flex-direction: row;
            gap: 12px;
        }

.mx_IncomingLegacyCallToast .mx_IncomingLegacyCallToast_content .mx_IncomingLegacyCallToast_buttons .mx_IncomingLegacyCallToast_button {
                -webkit-box-sizing: border-box;
                        box-sizing: border-box;
                font-weight: var(--cpd-font-weight-semibold);
                height: 1.5rem;
                line-height: 1.5rem;
                margin-right: 0;
            }

.mx_IncomingLegacyCallToast .mx_IncomingLegacyCallToast_content .mx_IncomingLegacyCallToast_buttons .mx_IncomingLegacyCallToast_button span {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
    }

.mx_IncomingLegacyCallToast .mx_IncomingLegacyCallToast_content .mx_IncomingLegacyCallToast_buttons .mx_IncomingLegacyCallToast_button span::before {
            content: "";
            display: inline-block;
            background-color: white;
            -webkit-mask-position: center;
                    mask-position: center;
            -webkit-mask-repeat: no-repeat;
                    mask-repeat: no-repeat;
            margin-right: 8px;
        }

.mx_IncomingLegacyCallToast .mx_IncomingLegacyCallToast_content .mx_IncomingLegacyCallToast_buttons .mx_IncomingLegacyCallToast_button {
                padding: 0px 8px;
                -ms-flex-negative: 0;
                    flex-shrink: 0;
                -webkit-box-flex: 1;
                    -ms-flex-positive: 1;
                        flex-grow: 1;
                font-size: 0.9375rem;
}

.mx_IncomingLegacyCallToast .mx_IncomingLegacyCallToast_content .mx_IncomingLegacyCallToast_buttons .mx_IncomingLegacyCallToast_button span {
                    padding: 8px 0;
                }

.mx_IncomingLegacyCallToast .mx_IncomingLegacyCallToast_content .mx_IncomingLegacyCallToast_buttons .mx_IncomingLegacyCallToast_button.mx_IncomingLegacyCallToast_button_accept span::before {
                    -webkit-mask-size: 13px;
                            mask-size: 13px;
                    width: 13px;
                    height: 13px;
                }

.mx_IncomingLegacyCallToast .mx_IncomingLegacyCallToast_content .mx_IncomingLegacyCallToast_buttons .mx_IncomingLegacyCallToast_button.mx_IncomingLegacyCallToast_button_decline span::before {
                    -webkit-mask-image: url(../../img/element-icons/call/hangup.a9876fc.svg);
                            mask-image: url(../../img/element-icons/call/hangup.a9876fc.svg);
                    -webkit-mask-size: 16px;
                            mask-size: 16px;
                    width: 16px;
                    height: 16px;
                }

.mx_IncomingLegacyCallToast .mx_IncomingLegacyCallToast_iconButton {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        height: 20px;
        width: 20px;
    }

.mx_IncomingLegacyCallToast .mx_IncomingLegacyCallToast_iconButton::before {
            content: "";

            height: inherit;
            width: inherit;
            background-color: #edf3ff;
            background-color: var(--tertiary-content, #edf3ff);
            -webkit-mask-repeat: no-repeat;
                    mask-repeat: no-repeat;
            -webkit-mask-size: contain;
                    mask-size: contain;
            -webkit-mask-position: center;
                    mask-position: center;
        }

.mx_IncomingLegacyCallToast .mx_IncomingLegacyCallToast_silence::before {
        -webkit-mask-image: url(../../img/voip/silence.fff021d.svg);
                mask-image: url(../../img/voip/silence.fff021d.svg);
    }

.mx_IncomingLegacyCallToast .mx_IncomingLegacyCallToast_unSilence::before {
        -webkit-mask-image: url(../../img/voip/un-silence.fd94a16.svg);
                mask-image: url(../../img/voip/un-silence.fd94a16.svg);
    }

/*
Copyright 2024 New Vector Ltd.
Copyright 2020 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_NonUrgentEchoFailureToast .mx_NonUrgentEchoFailureToast_icon {
        display: inline-block;
        width: 1.125rem;
        height: 1.125rem;
        -webkit-mask-position: center;
                mask-position: center;
        -webkit-mask-size: contain;
                mask-size: contain;
        -webkit-mask-repeat: no-repeat;
                mask-repeat: no-repeat;
        background-color: #fff; /* we know that non-urgent toasts are always styled the same */
        -webkit-mask-image: url(../../img/element-icons/cloud-off.97663f7.svg);
                mask-image: url(../../img/element-icons/cloud-off.97663f7.svg);
        margin-right: 8px;
    }

.mx_NonUrgentEchoFailureToast span {
        /* includes the i18n block */
        vertical-align: middle;
    }

/*
Copyright 2024 New Vector Ltd.
Copyright 2021-2023 x The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_Heading_h1,
.mx_Heading_h2,
.mx_Heading_h3,
.mx_Heading_h4 {
    margin-inline: unset;
    margin-block: unset;
}

.mx_Heading_h1 {
    font: var(--cpd-font-heading-xl-semibold);
}

.mx_Heading_h2 {
    font: var(--cpd-font-heading-lg-semibold);
}

.mx_Heading_h3 {
    font: var(--cpd-font-heading-md-semibold);
    font-weight: var(--cpd-font-weight-semibold);
}

.mx_Heading_h4 {
    font: var(--cpd-font-heading-sm-semibold);
    font-weight: var(--cpd-font-weight-semibold);
}

/*
Copyright 2024 New Vector Ltd.
Copyright 2022 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_UserOnboardingButton {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -ms-flex-line-pack: stretch;
        align-content: stretch;
    -webkit-box-align: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
    border-radius: 8px;
    margin: 8px 8px 0;
    padding: 12px;
}

.mx_UserOnboardingButton.mx_UserOnboardingButton_selected,
    .mx_UserOnboardingButton:hover,
    .mx_UserOnboardingButton:focus-within {
        background-color: var(--roomlist-highlights-color);
    }

.mx_UserOnboardingButton .mx_UserOnboardingButton_content {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
            -ms-flex-direction: row;
                flex-direction: row;
        gap: 5px;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
    }

.mx_UserOnboardingButton .mx_UserOnboardingButton_content .mx_Heading_h4 {
            margin-right: auto;
            font: var(--cpd-font-body-md-regular);
            color: var(--timeline-text-color);
        }

.mx_UserOnboardingButton .mx_UserOnboardingButton_content .mx_UserOnboardingButton_percentage {
            font-size: 0.75rem;
            color: #edf3ff;
            color: var(--secondary-content, #edf3ff);
        }

.mx_UserOnboardingButton .mx_UserOnboardingButton_content .mx_UserOnboardingButton_close {
            position: relative;
            -webkit-box-sizing: border-box;
                    box-sizing: border-box;
            width: 14px;
            height: 14px;
            border-radius: 7px;
            border: 1px solid #edf3ff;
            border: 1px solid var(--secondary-content, #edf3ff);
            -ms-flex-negative: 0;
                flex-shrink: 0;
        }

.mx_UserOnboardingButton .mx_UserOnboardingButton_content .mx_UserOnboardingButton_close::before {
                background-color: #edf3ff;
                background-color: var(--secondary-content, #edf3ff);
                content: "";
                -webkit-mask-repeat: no-repeat;
                        mask-repeat: no-repeat;
                -webkit-mask-position: center;
                        mask-position: center;
                -webkit-mask-size: 12px;
                        mask-size: 12px;
                width: inherit;
                height: inherit;
                position: absolute;
                left: -1px;
                top: -1px;
                -webkit-mask-image: url(../../icons/close.dce71fd.svg);
                        mask-image: url(../../icons/close.dce71fd.svg);
            }

.mx_UserOnboardingButton .mx_ProgressBar {
        width: auto;
        margin-top: 8px;
        background: var(--timeline-background-color);
    }

.mx_UserOnboardingButton.mx_UserOnboardingButton_completed .mx_ProgressBar {
        display: none;
    }

/*
Copyright 2024 New Vector Ltd.
Copyright 2022 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_UserOnboardingHeader {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    padding: 32px;
    border-radius: 16px;
    background: #21262c;
    background: var(--system, #21262c);
    gap: 64px;

    -webkit-animation-delay: 1500ms;

            animation-delay: 1500ms;
    -webkit-animation-duration: 300ms;
            animation-duration: 300ms;
    -webkit-animation-timing-function: cubic-bezier(0, 0, 0.58, 1);
            animation-timing-function: cubic-bezier(0, 0, 0.58, 1);
    -webkit-animation-name: mx_UserOnboardingHeader_slideIn;
            animation-name: mx_UserOnboardingHeader_slideIn;
    -webkit-animation-fill-mode: backwards;
            animation-fill-mode: backwards;
    will-change: opacity, transform;
}

@media (max-width: 1280px) {

.mx_UserOnboardingHeader {
        margin: 32px
}
    }

.mx_UserOnboardingHeader .mx_UserOnboardingHeader_dot {
        color: #0dbd8b;
        color: var(--accent-color, #0dbd8b);
    }

.mx_UserOnboardingHeader .mx_UserOnboardingHeader_content {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column;
        -ms-flex-preferred-size: 50%;
            flex-basis: 50%;
        -ms-flex-negative: 1;
            flex-shrink: 1;
        -webkit-box-flex: 1;
            -ms-flex-positive: 1;
                flex-grow: 1;
        min-width: 0;
        gap: 24px;
        margin-right: auto;
    }

.mx_UserOnboardingHeader .mx_UserOnboardingHeader_content p {
            margin: 0;
        }

.mx_UserOnboardingHeader .mx_UserOnboardingHeader_content .mx_AccessibleButton {
            margin-top: auto;
            -ms-flex-item-align: start;
                align-self: flex-start;
            padding: 12px 24px;
        }

.mx_UserOnboardingHeader .mx_UserOnboardingHeader_image {
        -ms-flex-preferred-size: 30%;
            flex-basis: 30%;
        -ms-flex-negative: 1;
            flex-shrink: 1;
        -webkit-box-flex: 1;
            -ms-flex-positive: 1;
                flex-grow: 1;
        -ms-flex-item-align: center;
            align-self: center;
        height: calc(100% + 64px + 64px);
        aspect-ratio: 4 / 3;
        -o-object-fit: contain;
           object-fit: contain;
        min-width: 0;
        min-height: 0;
        margin-top: -64px;
        margin-bottom: -64px;

        -webkit-animation-delay: 1500ms;

                animation-delay: 1500ms;
        -webkit-animation-duration: 300ms;
                animation-duration: 300ms;
        -webkit-animation-timing-function: cubic-bezier(0, 0, 0.58, 1);
                animation-timing-function: cubic-bezier(0, 0, 0.58, 1);
        -webkit-animation-name: mx_UserOnboardingHeader_slideInLong;
                animation-name: mx_UserOnboardingHeader_slideInLong;
        -webkit-animation-fill-mode: backwards;
                animation-fill-mode: backwards;
        will-change: opacity, transform;
    }

@-webkit-keyframes mx_UserOnboardingHeader_slideIn {
    0% {
        -webkit-transform: translate(0, 8px);
                transform: translate(0, 8px);
        opacity: 0;
    }
    100% {
        -webkit-transform: translate(0, 0);
                transform: translate(0, 0);
        opacity: 1;
    }
}

@keyframes mx_UserOnboardingHeader_slideIn {
    0% {
        -webkit-transform: translate(0, 8px);
                transform: translate(0, 8px);
        opacity: 0;
    }
    100% {
        -webkit-transform: translate(0, 0);
                transform: translate(0, 0);
        opacity: 1;
    }
}

@-webkit-keyframes mx_UserOnboardingHeader_slideInLong {
    0% {
        -webkit-transform: translate(0, 32px);
                transform: translate(0, 32px);
    }
    100% {
        -webkit-transform: translate(0, 0);
                transform: translate(0, 0);
    }
}

@keyframes mx_UserOnboardingHeader_slideInLong {
    0% {
        -webkit-transform: translate(0, 32px);
                transform: translate(0, 32px);
    }
    100% {
        -webkit-transform: translate(0, 0);
                transform: translate(0, 0);
    }
}

/*
Copyright 2024 New Vector Ltd.
Copyright 2022 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_UserOnboardingList {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    margin: 0 32px;

    -webkit-animation-duration: 300ms;

            animation-duration: 300ms;
    -webkit-animation-timing-function: cubic-bezier(0, 0, 0.58, 1);
            animation-timing-function: cubic-bezier(0, 0, 0.58, 1);
    -webkit-animation-name: mx_UserOnboardingList_slideIn;
            animation-name: mx_UserOnboardingList_slideIn;
    -webkit-animation-fill-mode: backwards;
            animation-fill-mode: backwards;
    will-change: opacity;
}

.mx_UserOnboardingList .mx_UserOnboardingList_header {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
            -ms-flex-direction: row;
                flex-direction: row;
        gap: 12px;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
    }

.mx_UserOnboardingList .mx_UserOnboardingList_header .mx_UserOnboardingList_hint {
            color: #edf3ff;
            color: var(--secondary-content, #edf3ff);
        }

.mx_UserOnboardingList .mx_UserOnboardingList_progress {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column;
        counter-reset: user-onboarding;
    }

.mx_UserOnboardingList .mx_UserOnboardingList_progress .mx_ProgressBar {
            width: auto;
            margin-top: 16px;
            height: 16px;

            border-radius: 16px;
        }

.mx_UserOnboardingList .mx_UserOnboardingList_progress .mx_ProgressBar::-moz-progress-bar {
        border-radius: 16px;
    }

.mx_UserOnboardingList .mx_UserOnboardingList_progress .mx_ProgressBar::-webkit-progress-bar,
    .mx_UserOnboardingList .mx_UserOnboardingList_progress .mx_ProgressBar::-webkit-progress-value {
        border-radius: 16px;
    }

.mx_UserOnboardingList .mx_UserOnboardingList_list {
        display: grid;
        grid-template-columns: -webkit-max-content 1fr -webkit-max-content;
        grid-template-columns: max-content 1fr max-content;

        -webkit-appearance: none;

           -moz-appearance: none;

                appearance: none;
        list-style: none;
        margin: 32px 0 0;
        padding: 0;

        grid-gap: 24px;
    }

@-webkit-keyframes mx_UserOnboardingList_slideIn {
    0% {
        -webkit-transform: translate(0, 8px);
                transform: translate(0, 8px);
        opacity: 0;
    }
    100% {
        -webkit-transform: translate(0, 0);
                transform: translate(0, 0);
        opacity: 1;
    }
}

@keyframes mx_UserOnboardingList_slideIn {
    0% {
        -webkit-transform: translate(0, 8px);
                transform: translate(0, 8px);
        opacity: 0;
    }
    100% {
        -webkit-transform: translate(0, 0);
                transform: translate(0, 0);
        opacity: 1;
    }
}

/*
Copyright 2024 New Vector Ltd.
Copyright 2022 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_UserOnboardingPage {
    width: 100%;
    height: 100%;

    -ms-flex-item-align: stretch;

        align-self: stretch;
    max-width: 1200px;
    margin: 0 auto auto;

    display: -webkit-box;

    display: -ms-flexbox;

    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;

    gap: 64px;
    padding: 64px 100px;
}

@media (max-width: 1280px) {

.mx_UserOnboardingPage {
        padding: 48px 32px
}
    }

/*
Copyright 2024 New Vector Ltd.
Copyright 2022 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_UserOnboardingTask {
    display: contents;
}

.mx_UserOnboardingTask .mx_UserOnboardingTask_number {
        counter-increment: user-onboarding;
        grid-column: 1;
        color: #edf3ff;
        color: var(--secondary-content, #edf3ff);
        width: 32px;
        height: 32px;
        text-align: center;
        border: 2px solid #6f7882;
        border: 2px solid var(--quinary-content, #6f7882);
        border-radius: 32px;
        line-height: 32px;
        align-self: center;
        position: relative;
    }

.mx_UserOnboardingTask .mx_UserOnboardingTask_number::before {
            content: counter(user-onboarding);
        }

.mx_UserOnboardingTask .mx_UserOnboardingTask_content {
        grid-column: 2;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column;
        -webkit-box-flex: 1;
            -ms-flex-positive: 1;
                flex-grow: 1;
        -ms-flex-negative: 1;
            flex-shrink: 1;

        -webkit-transition: all 500ms;

        transition: all 500ms;
    }

.mx_UserOnboardingTask .mx_UserOnboardingTask_content .mx_UserOnboardingTask_title {
            font: var(--cpd-font-body-md-medium);
        }

.mx_UserOnboardingTask .mx_UserOnboardingTask_content .mx_UserOnboardingTask_description {
            font-size: 0.75rem;
        }

.mx_UserOnboardingTask .mx_UserOnboardingTask_action.mx_AccessibleButton {
        grid-column: 3;
        min-width: 180px;
    }

@media (max-width: 800px) {

.mx_UserOnboardingTask .mx_UserOnboardingTask_action.mx_AccessibleButton {
            grid-column: 2;
            margin-top: -16px
    }
        }

.mx_UserOnboardingTask.mx_UserOnboardingTask_completed .mx_UserOnboardingTask_number::before {
                content: "";
                position: absolute;
                inset: -2px;
                background: var(--cpd-color-icon-accent-tertiary);
                border-radius: 32px;

                -webkit-animation-duration: 300ms;

                        animation-duration: 300ms;
                -webkit-animation-fill-mode: both;
                        animation-fill-mode: both;
                -webkit-animation-name: mx_UserOnboardingTask_spring;
                        animation-name: mx_UserOnboardingTask_spring;
                will-change: opacity, transform;
            }

.mx_UserOnboardingTask.mx_UserOnboardingTask_completed .mx_UserOnboardingTask_number::after {
                background-color: var(--cpd-color-icon-on-solid-primary);
                content: "";
                -webkit-mask-repeat: no-repeat;
                        mask-repeat: no-repeat;
                -webkit-mask-position: center;
                        mask-position: center;
                -webkit-mask-size: 24px;
                        mask-size: 24px;
                width: inherit;
                height: inherit;
                position: absolute;
                left: 0;
                top: 0;
                -webkit-mask-image: url(../../icons/check.3fc654f.svg);
                        mask-image: url(../../icons/check.3fc654f.svg);

                -webkit-animation-duration: 300ms;

                        animation-duration: 300ms;
                -webkit-animation-fill-mode: both;
                        animation-fill-mode: both;
                -webkit-animation-name: mx_UserOnboardingTask_spring;
                        animation-name: mx_UserOnboardingTask_spring;
                will-change: opacity, transform;
            }

.mx_UserOnboardingTask.mx_UserOnboardingTask_completed .mx_UserOnboardingTask_content {
            opacity: 0.6;
        }

@-webkit-keyframes mx_UserOnboardingTask_spring {
    0% {
        opacity: 0;
        -webkit-transform: scale(0.6);
                transform: scale(0.6);
    }
    50% {
        opacity: 1;
        -webkit-transform: scale(1.2);
                transform: scale(1.2);
    }
    100% {
        opacity: 1;
        -webkit-transform: scale(1);
                transform: scale(1);
    }
}

@keyframes mx_UserOnboardingTask_spring {
    0% {
        opacity: 0;
        -webkit-transform: scale(0.6);
                transform: scale(0.6);
    }
    50% {
        opacity: 1;
        -webkit-transform: scale(1.2);
                transform: scale(1.2);
    }
    100% {
        opacity: 1;
        -webkit-transform: scale(1);
                transform: scale(1);
    }
}

/*
Copyright 2024 New Vector Ltd.
Copyright 2020 The Matrix.org Foundation C.I.C.
Copyright 2019 New Vector Ltd.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_VerificationShowSas_decimalSas {
    text-align: center;
    font-weight: bold;
    padding-left: 3px;
    padding-right: 3px;
}

.mx_VerificationShowSas_decimalSas span {
    margin-left: 5px;
    margin-right: 5px;
}

.mx_VerificationShowSas_emojiSas {
    text-align: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    margin: 25px 0;
}

.mx_VerificationShowSas_emojiSas_block {
    display: inline-block;
    margin-bottom: 16px;
    position: relative;
    width: 52px;
}

.mx_Dialog .mx_VerificationShowSas_emojiSas_block,
.mx_AuthPage_modal .mx_VerificationShowSas_emojiSas_block {
    width: 60px;
}

.mx_VerificationShowSas_emojiSas_emoji {
    font-size: 2rem;
    /* Use the Twemoji font for consistency with other clients */
    font-family: Twemoji, var(--cpd-font-family-sans);
}

.mx_VerificationShowSas_emojiSas_label {
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
    font-size: 0.75rem;
}

.mx_VerificationShowSas_emojiSas_break {
    -ms-flex-preferred-size: 100%;
        flex-basis: 100%;
}

.mx_VerificationShowSas_buttonRow {
    text-align: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    gap: 9px;
}

/*
Copyright 2024 New Vector Ltd.
Copyright 2021, 2022 Šimon Brandner <simon.bra.ag@gmail.com>
Copyright 2020, 2021 The Matrix.org Foundation C.I.C.
Copyright 2015, 2016 OpenMarket Ltd

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

/* data-whatintent makes more sense here semantically but then the tooltip would stay visible without the button */

/* which looks broken, so we match the behaviour of tooltips which is fine too. */

[data-whatinput="mouse"] .mx_LegacyCallViewButtons.mx_LegacyCallViewButtons_hidden {
    opacity: 0.001; /* opacity 0 can cause a re-layout */
    pointer-events: none;
}

.mx_LegacyCallViewButtons {
    --LegacyCallViewButtons_dropdownButton-size: 16px;

    position: absolute;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    bottom: 32px;
    opacity: 1;
    -webkit-transition: opacity 0.5s;
    transition: opacity 0.5s;
    z-index: 200; /* To be above _all_ feeds */
    gap: 18px;
}

.mx_LegacyCallViewButtons .mx_LegacyCallViewButtons_button {
        cursor: pointer;

        background-color: #21262c;

        border-radius: 100%;
        height: 40px;
        width: 40px;

        display: -webkit-box;

        display: -ms-flexbox;

        display: flex;
        -webkit-box-pack: center;
            -ms-flex-pack: center;
                justify-content: center;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;

        position: relative;

        -webkit-box-shadow: 0px 4px 4px 0px #00000026;

                box-shadow: 0px 4px 4px 0px #00000026;
        /* Stateless buttons */
        /* Invisible state */
    }

/* Same on both themes */

.mx_LegacyCallViewButtons .mx_LegacyCallViewButtons_button::before {
            content: "";
            display: inline-block;

            -webkit-mask-repeat: no-repeat;

                    mask-repeat: no-repeat;
            -webkit-mask-size: contain;
                    mask-size: contain;
            -webkit-mask-position: center;
                    mask-position: center;

            background-color: #edf3ff;

            height: 24px;
            width: 24px;
        }

.mx_LegacyCallViewButtons .mx_LegacyCallViewButtons_button.mx_LegacyCallViewButtons_dropdownButton {
            width: var(--LegacyCallViewButtons_dropdownButton-size);
            height: var(--LegacyCallViewButtons_dropdownButton-size);

            position: absolute;
            right: 0;
            bottom: 0;
        }

.mx_LegacyCallViewButtons .mx_LegacyCallViewButtons_button.mx_LegacyCallViewButtons_dropdownButton::before {
                width: 16px;
                height: 16px;
                -webkit-mask-image: url(../../icons/chevron-up.b1e0d89.svg);
                        mask-image: url(../../icons/chevron-up.b1e0d89.svg);
            }

.mx_LegacyCallViewButtons .mx_LegacyCallViewButtons_button.mx_LegacyCallViewButtons_dropdownButton.mx_LegacyCallViewButtons_dropdownButton_collapsed::before {
                -webkit-transform: rotate(180deg);
                        transform: rotate(180deg);
            }

/* State buttons */

.mx_LegacyCallViewButtons .mx_LegacyCallViewButtons_button.mx_LegacyCallViewButtons_button_on {
            background-color: #21262c;
        }

.mx_LegacyCallViewButtons .mx_LegacyCallViewButtons_button.mx_LegacyCallViewButtons_button_on::before {
                background-color: #edf3ff;
            }

.mx_LegacyCallViewButtons .mx_LegacyCallViewButtons_button.mx_LegacyCallViewButtons_button_on.mx_LegacyCallViewButtons_button_mic::before {
                height: 20px;
                -webkit-mask-image: url(../../icons/mic-on-solid.7b0262f.svg);
                        mask-image: url(../../icons/mic-on-solid.7b0262f.svg);
                width: 20px;
            }

.mx_LegacyCallViewButtons .mx_LegacyCallViewButtons_button.mx_LegacyCallViewButtons_button_on.mx_LegacyCallViewButtons_button_vid::before {
                -webkit-mask-image: url(../../icons/video-call-solid.90cb901.svg);
                        mask-image: url(../../icons/video-call-solid.90cb901.svg);
            }

.mx_LegacyCallViewButtons .mx_LegacyCallViewButtons_button.mx_LegacyCallViewButtons_button_on.mx_LegacyCallViewButtons_button_screensharing {
                background-color: #0dbd8b;
                background-color: var(--accent-color, #0dbd8b);
            }

.mx_LegacyCallViewButtons .mx_LegacyCallViewButtons_button.mx_LegacyCallViewButtons_button_on.mx_LegacyCallViewButtons_button_screensharing::before {
                    -webkit-mask-image: url(../../icons/share-screen-solid.ccfed01.svg);
                            mask-image: url(../../icons/share-screen-solid.ccfed01.svg);
                    background-color: white; /* Same on both themes */
                }

.mx_LegacyCallViewButtons .mx_LegacyCallViewButtons_button.mx_LegacyCallViewButtons_button_on.mx_LegacyCallViewButtons_button_sidebar::before {
                -webkit-mask-image: url(../../img/voip/call-view/sidebar-on.c8ce983.svg);
                        mask-image: url(../../img/voip/call-view/sidebar-on.c8ce983.svg);
            }

.mx_LegacyCallViewButtons .mx_LegacyCallViewButtons_button.mx_LegacyCallViewButtons_button_off {
            background-color: #edf3ff;
        }

.mx_LegacyCallViewButtons .mx_LegacyCallViewButtons_button.mx_LegacyCallViewButtons_button_off::before {
                background-color: #21262c;
            }

.mx_LegacyCallViewButtons .mx_LegacyCallViewButtons_button.mx_LegacyCallViewButtons_button_off.mx_LegacyCallViewButtons_button_mic::before {
                height: 20px;
                -webkit-mask-image: url(../../icons/mic-off-solid.b6c9180.svg);
                        mask-image: url(../../icons/mic-off-solid.b6c9180.svg);
                width: 20px;
            }

.mx_LegacyCallViewButtons .mx_LegacyCallViewButtons_button.mx_LegacyCallViewButtons_button_off.mx_LegacyCallViewButtons_button_vid::before {
                -webkit-mask-image: url(../../icons/video-call-off-solid.b3cae7f.svg);
                        mask-image: url(../../icons/video-call-off-solid.b3cae7f.svg);
            }

.mx_LegacyCallViewButtons .mx_LegacyCallViewButtons_button.mx_LegacyCallViewButtons_button_off.mx_LegacyCallViewButtons_button_screensharing {
                background-color: #21262c;
            }

.mx_LegacyCallViewButtons .mx_LegacyCallViewButtons_button.mx_LegacyCallViewButtons_button_off.mx_LegacyCallViewButtons_button_screensharing::before {
                    -webkit-mask-image: url(../../icons/share-screen-solid.ccfed01.svg);
                            mask-image: url(../../icons/share-screen-solid.ccfed01.svg);
                    background-color: #edf3ff;
                }

.mx_LegacyCallViewButtons .mx_LegacyCallViewButtons_button.mx_LegacyCallViewButtons_button_off.mx_LegacyCallViewButtons_button_sidebar {
                background-color: #21262c;
            }

.mx_LegacyCallViewButtons .mx_LegacyCallViewButtons_button.mx_LegacyCallViewButtons_button_off.mx_LegacyCallViewButtons_button_sidebar::before {
                    -webkit-mask-image: url(../../img/voip/call-view/sidebar-off.9164266.svg);
                            mask-image: url(../../img/voip/call-view/sidebar-off.9164266.svg);
                    background-color: #edf3ff;
                }

/* Stateless buttons */

.mx_LegacyCallViewButtons .mx_LegacyCallViewButtons_button.mx_LegacyCallViewButtons_dialpad::before {
            -webkit-mask-image: url(../../img/voip/call-view/dialpad.44caf66.svg);
                    mask-image: url(../../img/voip/call-view/dialpad.44caf66.svg);
        }

/* State buttons */

.mx_LegacyCallViewButtons .mx_LegacyCallViewButtons_button.mx_LegacyCallViewButtons_button_hangup {
            background-color: #ff5b55;
            background-color: var(--alert, #ff5b55);
        }

.mx_LegacyCallViewButtons .mx_LegacyCallViewButtons_button.mx_LegacyCallViewButtons_button_hangup::before {
                -webkit-mask-image: url(../../img/element-icons/call/hangup.a9876fc.svg);
                        mask-image: url(../../img/element-icons/call/hangup.a9876fc.svg);
                background-color: white; /* Same on both themes */
            }

.mx_LegacyCallViewButtons .mx_LegacyCallViewButtons_button.mx_LegacyCallViewButtons_button_more::before {
            -webkit-mask-image: url(../../icons/overflow-horizontal.103407e.svg);
                    mask-image: url(../../icons/overflow-horizontal.103407e.svg);
        }

/* Invisible state */

.mx_LegacyCallViewButtons .mx_LegacyCallViewButtons_button.mx_LegacyCallViewButtons_button_invisible {
            visibility: hidden;
            pointer-events: none;
            position: absolute;
        }

/*
Copyright 2024 New Vector Ltd.
Copyright 2022 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_CallDuration {
    color: #edf3ff;
    color: var(--secondary-content, #edf3ff);
    font-size: 0.75rem;
    white-space: nowrap;
}

/*
Copyright 2024 New Vector Ltd.
Copyright 2022 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_CallView {
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    min-height: 0;

    display: -webkit-box;

    display: -ms-flexbox;

    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;

    background-color: var(--roomlist-background-color);
}

.mx_CallView .mx_AppTile {
        width: auto;
        height: 100%;
        border: none;
        border-radius: inherit;
        background-color: #181b21;
    }

/* While the lobby is shown, the widget needs to stay loaded but hidden in the background */

.mx_CallView .mx_CallView_lobby ~ .mx_AppTile {
        display: none;
    }

.mx_CallView .mx_CallView_lobby {
        min-height: 0;
        -webkit-box-flex: 1;
            -ms-flex-positive: 1;
                flex-grow: 1;
        padding: 12px;
        color: #edf3ff;
        background-color: #181b21;

        --facepile-background: #181b21;
        border-radius: 8px;

        display: -webkit-box;

        display: -ms-flexbox;

        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        -webkit-box-pack: center;
            -ms-flex-pack: center;
                justify-content: center;
        gap: 32px;
    }

.mx_CallView .mx_CallView_lobby .mx_FacePile {
            width: -webkit-fit-content;
            width: -moz-fit-content;
            width: fit-content;
            margin: 8px auto 0;
        }

.mx_CallView .mx_CallView_lobby .mx_CallView_preview {
            position: relative;
            width: 100%;
            max-width: 800px;
            aspect-ratio: 1.5;
            background-color: #21262c;

            border-radius: 20px;
            overflow: hidden;

            display: -webkit-box;

            display: -ms-flexbox;

            display: flex;
            -webkit-box-orient: vertical;
            -webkit-box-direction: normal;
                -ms-flex-direction: column;
                    flex-direction: column;
            -webkit-box-pack: center;
                -ms-flex-pack: center;
                    justify-content: center;
            -webkit-box-align: center;
                -ms-flex-align: center;
                    align-items: center;
        }

.mx_CallView .mx_CallView_lobby .mx_CallView_preview .mx_BaseAvatar {
                margin: 20px;

                /* Override the explicit dimensions on the element so that this gets sized responsively */
                width: auto !important;
                width: initial !important;
                height: auto !important;
                height: initial !important;
                min-width: 0;
                min-height: 0;
                -webkit-box-flex: 0;
                    -ms-flex: 0 1 200px;
                        flex: 0 1 200px;
            }

.mx_CallView .mx_CallView_lobby .mx_CallView_preview video {
                position: absolute;
                top: 0;
                width: 100%;
                height: 100%;
                -o-object-fit: cover;
                   object-fit: cover;
                display: block;
                -webkit-transform: scaleX(-1);
                        transform: scaleX(-1); /* flip the image */
                background-color: black;
            }

.mx_CallView .mx_CallView_lobby .mx_CallView_preview .mx_CallView_controls {
                position: absolute;
                bottom: 0;
                left: 0;
                right: 0;

                background-color: var(--timeline-text-secondary-color);

                display: -webkit-box;

                display: -ms-flexbox;

                display: flex;
                -webkit-box-pack: center;
                    -ms-flex-pack: center;
                        justify-content: center;
                gap: 24px;
            }

.mx_CallView .mx_CallView_lobby .mx_CallView_preview .mx_CallView_controls .mx_CallView_deviceButtonWrapper {
                    position: relative;
                    margin: 6px 0 10px;
                }

.mx_CallView .mx_CallView_lobby .mx_CallView_preview .mx_CallView_controls .mx_CallView_deviceButtonWrapper .mx_CallView_deviceButton {

                        width: 50px;
                        height: 50px;

                        background-color: #21262c;
                        border-radius: calc(50px / 2);
                    }

.mx_CallView .mx_CallView_lobby .mx_CallView_preview .mx_CallView_controls .mx_CallView_deviceButtonWrapper .mx_CallView_deviceButton::before {
                            content: "";
                            display: inline-block;
                            -webkit-mask-repeat: no-repeat;
                                    mask-repeat: no-repeat;
                            -webkit-mask-size: 20px;
                                    mask-size: 20px;
                            -webkit-mask-position: center;
                                    mask-position: center;
                            background-color: #edf3ff;
                            height: 100%;
                            width: 100%;
                        }

.mx_CallView .mx_CallView_lobby .mx_CallView_preview .mx_CallView_controls .mx_CallView_deviceButtonWrapper .mx_CallView_deviceButton.mx_CallView_deviceButton_audio::before {
                            -webkit-mask-image: url(../../icons/mic-on-solid.7b0262f.svg);
                                    mask-image: url(../../icons/mic-on-solid.7b0262f.svg);
                            -webkit-mask-size: 14px;
                                    mask-size: 14px;
                        }

.mx_CallView .mx_CallView_lobby .mx_CallView_preview .mx_CallView_controls .mx_CallView_deviceButtonWrapper .mx_CallView_deviceButton.mx_CallView_deviceButton_video::before {
                            -webkit-mask-image: url(../../icons/video-call-solid.90cb901.svg);
                                    mask-image: url(../../icons/video-call-solid.90cb901.svg);
                        }

.mx_CallView .mx_CallView_lobby .mx_CallView_preview .mx_CallView_controls .mx_CallView_deviceButtonWrapper .mx_CallView_deviceListButton {

                        position: absolute;
                        bottom: 0;
                        right: -2.5px;
                        width: 15px;
                        height: 15px;

                        background-color: #21262c;
                        border-radius: calc(15px / 2);
                    }

.mx_CallView .mx_CallView_lobby .mx_CallView_preview .mx_CallView_controls .mx_CallView_deviceButtonWrapper .mx_CallView_deviceListButton::before {
                            content: "";
                            display: inline-block;
                            -webkit-mask-image: url(../../icons/chevron-down.3774773.svg);
                                    mask-image: url(../../icons/chevron-down.3774773.svg);
                            -webkit-mask-size: 20px;
                                    mask-size: 20px;
                            -webkit-mask-position: center;
                                    mask-position: center;
                            background-color: #edf3ff;
                            height: 100%;
                            width: 100%;
                        }

.mx_CallView .mx_CallView_lobby .mx_CallView_preview .mx_CallView_controls .mx_CallView_deviceButtonWrapper.mx_CallView_deviceButtonWrapper_muted .mx_CallView_deviceButton,
                        .mx_CallView .mx_CallView_lobby .mx_CallView_preview .mx_CallView_controls .mx_CallView_deviceButtonWrapper.mx_CallView_deviceButtonWrapper_muted .mx_CallView_deviceListButton {
                            background-color: #edf3ff;
                        }

.mx_CallView .mx_CallView_lobby .mx_CallView_preview .mx_CallView_controls .mx_CallView_deviceButtonWrapper.mx_CallView_deviceButtonWrapper_muted .mx_CallView_deviceButton::before, .mx_CallView .mx_CallView_lobby .mx_CallView_preview .mx_CallView_controls .mx_CallView_deviceButtonWrapper.mx_CallView_deviceButtonWrapper_muted .mx_CallView_deviceListButton::before {
                                background-color: #21262c;
                            }

.mx_CallView .mx_CallView_lobby .mx_CallView_preview .mx_CallView_controls .mx_CallView_deviceButtonWrapper.mx_CallView_deviceButtonWrapper_muted .mx_CallView_deviceButton.mx_CallView_deviceButton_audio::before {
                                -webkit-mask-image: url(../../icons/mic-off-solid.b6c9180.svg);
                                        mask-image: url(../../icons/mic-off-solid.b6c9180.svg);
                                -webkit-mask-size: 18px;
                                        mask-size: 18px;
                            }

.mx_CallView .mx_CallView_lobby .mx_CallView_preview .mx_CallView_controls .mx_CallView_deviceButtonWrapper.mx_CallView_deviceButtonWrapper_muted .mx_CallView_deviceButton.mx_CallView_deviceButton_video::before {
                                -webkit-mask-image: url(../../icons/video-call-off-solid.b3cae7f.svg);
                                        mask-image: url(../../icons/video-call-off-solid.b3cae7f.svg);
                            }

.mx_CallView .mx_CallView_lobby .mx_CallView_connectButton {
            padding-left: 50px;
            padding-right: 50px;
        }

/*
Copyright 2024 New Vector Ltd.
Copyright 2020 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_DialPad {
    display: grid;
    grid-row-gap: 16px;
    row-gap: 16px;
    grid-column-gap: 0px;
    -webkit-column-gap: 0px;
       -moz-column-gap: 0px;
            column-gap: 0px;
    margin-top: 24px;
    margin-left: auto;
    margin-right: auto;

    /* squeeze the dial pad buttons together horizontally */
    grid-template-columns: repeat(3, 1fr);
}

.mx_DialPad_button {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;

    width: 40px;
    height: 40px;
    background-color: #6f7882;
    background-color: var(--quinary-content, #6f7882);
    border-radius: 40px;
    font-size: 18px;
    font-weight: var(--cpd-font-weight-semibold);
    text-align: center;
    vertical-align: middle;
    margin-left: auto;
    margin-right: auto;
}

.mx_DialPad_button .mx_DialPad_buttonSubText {
    font-size: 8px;
}

.mx_DialPad_dialButton {
    /* Always show the dial button in the center grid column */
    grid-column: 2;
    background-color: #0dbd8b;
    background-color: var(--accent-color, #0dbd8b);
}

.mx_DialPad_dialButton::before {
        content: "";
        display: inline-block;
        height: 40px;
        width: 40px;
        vertical-align: middle;
        -webkit-mask-repeat: no-repeat;
                mask-repeat: no-repeat;
        -webkit-mask-size: 20px;
                mask-size: 20px;
        -webkit-mask-position: center;
                mask-position: center;
        background-color: #fff; /* on all themes */
        -webkit-mask-image: url(../../img/element-icons/call/voice-call.85002aa.svg);
                mask-image: url(../../img/element-icons/call/voice-call.85002aa.svg);
    }

/*
Copyright 2024 New Vector Ltd.
Copyright 2020 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_DialPadContextMenu_dialPad .mx_DialPad {
    row-gap: 16px;
    -webkit-column-gap: 32px;
       -moz-column-gap: 32px;
            column-gap: 32px;
}

.mx_DialPadContextMenuWrapper {
    padding: 15px;
}

.mx_DialPadContextMenu_header {
    border: none;
    margin-top: 32px;
    margin-left: 20px;
    margin-right: 20px;

    /* a separator between the input line and the dial buttons */
    border-bottom: 1px solid #6f7882;
    border-bottom: 1px solid var(--quaternary-content, #6f7882);
    -webkit-transition: border-bottom 0.25s;
    transition: border-bottom 0.25s;
}

.mx_DialPadContextMenu_cancel {
    cursor: pointer;
    position: relative;
    width: 28px;
    height: 28px;
    border-radius: 14px;
    background-color: var(--cpd-color-bg-subtle-secondary);
}

.mx_DialPadContextMenu_cancel:hover {
        background-color: var(--cpd-color-bg-subtle-primary);
    }

.mx_DialPadContextMenu_cancel::before {
        content: "";
        width: 28px;
        height: 28px;
        left: 0;
        top: 0;
        position: absolute;
        -webkit-mask-image: url(../../icons/close.dce71fd.svg);
                mask-image: url(../../icons/close.dce71fd.svg);
        -webkit-mask-repeat: no-repeat;
                mask-repeat: no-repeat;
        -webkit-mask-position: center;
                mask-position: center;
        -webkit-mask-size: 20px;
                mask-size: 20px;
        background-color: var(--cpd-color-icon-secondary);
    }

.mx_DialPadContextMenu_cancel {
    float: right;
}

.mx_DialPadContextMenu_header:focus-within {
    border-bottom: 1px solid #0dbd8b;
    border-bottom: 1px solid var(--accent-color, #0dbd8b);
}

.mx_DialPadContextMenu_title {
    color: #a1b2d1;
    font-size: 12px;
    font-weight: var(--cpd-font-weight-semibold);
}

.mx_DialPadContextMenu_dialled {
    height: 1.5em;
    font-size: 18px;
    font-weight: var(--cpd-font-weight-semibold);
    border: none;
    margin: 0px;
}

.mx_DialPadContextMenu_dialled input {
    font-size: 18px;
    font-weight: var(--cpd-font-weight-semibold);
    overflow: hidden;
    max-width: 185px;
    text-align: left;
    padding: 8px 0px;
    background-color: rgb(0, 0, 0, 0);
}

.mx_DialPadContextMenu_dialPad {
    margin: 16px;
}

/*
Copyright 2024 New Vector Ltd.
Copyright 2020 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_Dialog_dialPadWrapper .mx_Dialog {
    padding: 0px;
}

.mx_DialPadModal {
    width: 292px;
    height: 370px;
    padding: 16px 0px 0px 0px;
}

.mx_DialPadModal_header {
    margin-top: 32px;
    margin-left: 40px;
    margin-right: 40px;

    /* a separator between the input line and the dial buttons */
    border-bottom: 1px solid #6f7882;
    border-bottom: 1px solid var(--quaternary-content, #6f7882);
    -webkit-transition: border-bottom 0.25s;
    transition: border-bottom 0.25s;
}

.mx_DialPadModal_header:focus-within {
    border-bottom: 1px solid #0dbd8b;
    border-bottom: 1px solid var(--accent-color, #0dbd8b);
}

.mx_DialPadModal_title {
    color: #a1b2d1;
    font-size: 12px;
    font-weight: var(--cpd-font-weight-semibold);
}

.mx_DialPadModal_cancel {
    cursor: pointer;
    position: relative;
    width: 28px;
    height: 28px;
    border-radius: 14px;
    background-color: var(--cpd-color-bg-subtle-secondary);
}

.mx_DialPadModal_cancel:hover {
        background-color: var(--cpd-color-bg-subtle-primary);
    }

.mx_DialPadModal_cancel::before {
        content: "";
        width: 28px;
        height: 28px;
        left: 0;
        top: 0;
        position: absolute;
        -webkit-mask-image: url(../../icons/close.dce71fd.svg);
                mask-image: url(../../icons/close.dce71fd.svg);
        -webkit-mask-repeat: no-repeat;
                mask-repeat: no-repeat;
        -webkit-mask-position: center;
                mask-position: center;
        -webkit-mask-size: 20px;
                mask-size: 20px;
        background-color: var(--cpd-color-icon-secondary);
    }

.mx_DialPadModal_cancel {
    float: right;
    margin-right: 16px;
}

.mx_DialPadModal_field {
    border: none;
    margin: 0px;
    height: 30px;
}

.mx_DialPadModal_field .mx_Field_postfix {
    /* Remove border separator between postfix and field content */
    border-left: none;
}

.mx_DialPadModal_field input {
    font-size: 18px;
    font-weight: var(--cpd-font-weight-semibold);
}

.mx_DialPadModal_dialPad {
    margin-left: 16px;
    margin-right: 16px;
    margin-top: 16px;
}

/*
Copyright 2024 New Vector Ltd.
Copyright 2021 Šimon Brandner <simon.bra.ag@gmail.com>

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_LegacyCallPreview {
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: flex-end;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 16px;
    left: 0;
    position: fixed;
    top: 0;
    /* Display above any widget elements */
    z-index: 102;
}

.mx_LegacyCallPreview .mx_VideoFeed_remote.mx_VideoFeed_voice {
        min-height: 150px;
    }

.mx_LegacyCallPreview .mx_VideoFeed_local {
        border-radius: 8px;
        overflow: hidden;
    }

/*
Copyright 2024 New Vector Ltd.
Copyright 2021, 2022 Šimon Brandner <simon.bra.ag@gmail.com>
Copyright 2020, 2021 The Matrix.org Foundation C.I.C.
Copyright 2015, 2016 OpenMarket Ltd

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_LegacyCallView {
    border-radius: 8px;
    background-color: var(--roomlist-background-color);
    padding-left: 8px;
    padding-right: 8px;
    /* XXX: PiPContainer sets pointer-events: none - should probably be set back in a better place */
    pointer-events: initial;
}

.mx_LegacyCallView .mx_LegacyCallView_toast {
        position: absolute;
        top: 74px;

        padding: 4px 8px;

        border-radius: 4px;
        z-index: 50;

        /* Same on both themes */
        color: white;
        background-color: #17191c;
    }

.mx_LegacyCallView .mx_LegacyCallView_content_wrapper {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: center;
            -ms-flex-pack: center;
                justify-content: center;

        width: 100%;
        height: 100%;

        overflow: hidden;
    }

.mx_LegacyCallView .mx_LegacyCallView_content_wrapper .mx_LegacyCallView_content {
            position: relative;

            display: -webkit-box;

            display: -ms-flexbox;

            display: flex;
            -webkit-box-orient: vertical;
            -webkit-box-direction: normal;
                -ms-flex-direction: column;
                    flex-direction: column;
            -webkit-box-pack: center;
                -ms-flex-pack: center;
                    justify-content: center;
            -webkit-box-align: center;
                -ms-flex-align: center;
                    align-items: center;

            -webkit-box-flex: 1;

                -ms-flex: 1;

                    flex: 1;
            overflow: hidden;

            border-radius: 10px;

            padding: 10px;
            padding-right: calc(20% + 20px); /* Space for the sidebar */

            background-color: #6f7882;
        }

.mx_LegacyCallView .mx_LegacyCallView_content_wrapper .mx_LegacyCallView_content .mx_LegacyCallView_status {
                z-index: 50;
                color: #ffffff;
            }

.mx_LegacyCallView .mx_LegacyCallView_content_wrapper .mx_LegacyCallView_content .mx_LegacyCallView_avatarsContainer {
                display: -webkit-box;
                display: -ms-flexbox;
                display: flex;
                -webkit-box-orient: horizontal;
                -webkit-box-direction: normal;
                    -ms-flex-direction: row;
                        flex-direction: row;
                -webkit-box-align: center;
                    -ms-flex-align: center;
                        align-items: center;
                -webkit-box-pack: center;
                    -ms-flex-pack: center;
                        justify-content: center;
            }

.mx_LegacyCallView .mx_LegacyCallView_content_wrapper .mx_LegacyCallView_content .mx_LegacyCallView_avatarsContainer div {
                    margin-left: 12px;
                    margin-right: 12px;
                }

.mx_LegacyCallView .mx_LegacyCallView_content_wrapper .mx_LegacyCallView_content .mx_LegacyCallView_holdBackground {
                position: absolute;
                left: 0;
                right: 0;

                width: 100%;
                height: 100%;

                background-repeat: no-repeat;
                background-size: cover;
                background-position: center;
                -webkit-filter: blur(20px);
                        filter: blur(20px);
            }

.mx_LegacyCallView .mx_LegacyCallView_content_wrapper .mx_LegacyCallView_content .mx_LegacyCallView_holdBackground::after {
                    content: "";
                    display: block;
                    position: absolute;
                    width: 100%;
                    height: 100%;
                    left: 0;
                    right: 0;
                    background-color: rgba(0, 0, 0, 0.6);
                }

.mx_LegacyCallView .mx_LegacyCallView_content_wrapper .mx_LegacyCallView_content.mx_LegacyCallView_content_hold .mx_LegacyCallView_status {
                font-weight: bold;
                text-align: center;
            }

.mx_LegacyCallView .mx_LegacyCallView_content_wrapper .mx_LegacyCallView_content.mx_LegacyCallView_content_hold .mx_LegacyCallView_status::before {
                    display: block;
                    margin-left: auto;
                    margin-right: auto;
                    content: "";
                    width: 40px;
                    height: 40px;
                    background-image: url(../../img/voip/paused.b00e0b4.svg);
                    background-position: center;
                    background-size: cover;
                }

.mx_LegacyCallView_pip .mx_LegacyCallView .mx_LegacyCallView_content_wrapper .mx_LegacyCallView_content.mx_LegacyCallView_content_hold .mx_LegacyCallView_status::before {
                    width: 30px;
                    height: 30px;
                }

.mx_LegacyCallView:not(.mx_LegacyCallView_sidebar) .mx_LegacyCallView_content {
        padding: 0;
        width: 100%;
        height: 100%;
    }

.mx_LegacyCallView:not(.mx_LegacyCallView_sidebar) .mx_LegacyCallView_content .mx_VideoFeed_primary {
            aspect-ratio: unset;
            border: 0;

            width: 100%;
            height: 100%;
        }

.mx_LegacyCallView.mx_LegacyCallView_pip {
        width: 320px;
        padding-bottom: 8px;

        border-radius: 8px;

        background-color: #21262c;

        background-color: var(--system, #21262c);
        -webkit-box-shadow: 0px 4px 20px rgba(0, 0, 0, 0.2);
                box-shadow: 0px 4px 20px rgba(0, 0, 0, 0.2);
    }

.mx_LegacyCallView.mx_LegacyCallView_pip .mx_LegacyCallViewButtons {
            bottom: 13px;
        }

.mx_LegacyCallView.mx_LegacyCallView_pip .mx_LegacyCallViewButtons .mx_LegacyCallViewButtons_button {
                width: 34px;
                height: 34px;
            }

.mx_LegacyCallView.mx_LegacyCallView_pip .mx_LegacyCallViewButtons .mx_LegacyCallViewButtons_button.mx_LegacyCallViewButtons_dropdownButton {
                    width: var(--LegacyCallViewButtons_dropdownButton-size);
                    height: var(--LegacyCallViewButtons_dropdownButton-size);
                }

.mx_LegacyCallView.mx_LegacyCallView_pip .mx_LegacyCallViewButtons .mx_LegacyCallViewButtons_button::before {
                    width: 22px;
                    height: 22px;
                }

.mx_LegacyCallView.mx_LegacyCallView_pip .mx_LegacyCallView_content {
            min-height: 180px;
        }

.mx_LegacyCallView.mx_LegacyCallView_large {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;

        -webkit-box-flex: 1;

            -ms-flex: 1;

                flex: 1;

        padding-bottom: 10px;

        margin: 8px;

        margin: var(--container-gap-width);
        /* The left side gap is fully handled by this margin. To prohibit bleeding on webkit browser. */
        margin-right: calc(8px / 2);
        margin-right: calc(var(--container-gap-width) / 2);
        margin-bottom: 10px;
    }

.mx_LegacyCallView.mx_LegacyCallView_belowWidget {
        margin-top: 0;
    }

/*
Copyright 2024 New Vector Ltd.
Copyright 2021 Šimon Brandner <simon.bra.ag@gmail.com>

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_LegacyCallViewForRoom {
    overflow: hidden;
}

.mx_LegacyCallViewForRoom .mx_LegacyCallViewForRoom_ResizeWrapper {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
    }

.mx_LegacyCallViewForRoom .mx_LegacyCallViewForRoom_ResizeWrapper:hover .mx_LegacyCallViewForRoom_ResizeHandle {
            /* Need to use important to override element style attributes */
            /* set by re-resizable */
            width: 100% !important;

            display: -webkit-box;

            display: -ms-flexbox;

            display: flex;
            -webkit-box-pack: center;
                -ms-flex-pack: center;
                    justify-content: center;
        }

.mx_LegacyCallViewForRoom .mx_LegacyCallViewForRoom_ResizeWrapper:hover .mx_LegacyCallViewForRoom_ResizeHandle::after {
                content: "";
                border-radius: 4px;

                height: 4px;
                width: 100%;
                max-width: 64px;

                background-color: var(--timeline-text-color);
            }

/*
Copyright 2024 New Vector Ltd.
Copyright 2021, 2022 Šimon Brandner <simon.bra.ag@gmail.com>
Copyright 2021 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_LegacyCallViewHeader {
    height: 44px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -ms-flex-negative: 0;
        flex-shrink: 0;
    width: 100%;
}

.mx_LegacyCallViewHeader.mx_LegacyCallViewHeader_pip {
        cursor: -webkit-grab;
        cursor: grab;
    }

.mx_LegacyCallViewHeader_text {
    font-size: 1.2rem;
    font-weight: bold;
    vertical-align: middle;
}

.mx_LegacyCallViewHeader_secondaryCallInfo::before {
        content: "·";
        margin-left: 6px;
        margin-right: 6px;
    }

.mx_LegacyCallViewHeader_controls {
    margin-left: auto;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 5px;
}

.mx_LegacyCallViewHeader_button {
    display: inline-block;
    vertical-align: middle;
    cursor: pointer;
}

.mx_LegacyCallViewHeader_button::before {
        content: "";
        display: inline-block;
        height: 20px;
        width: 20px;
        vertical-align: middle;
        background-color: #edf3ff;
        background-color: var(--secondary-content, #edf3ff);
        -webkit-mask-repeat: no-repeat;
                mask-repeat: no-repeat;
        -webkit-mask-size: contain;
                mask-size: contain;
        -webkit-mask-position: center;
                mask-position: center;
    }

.mx_LegacyCallViewHeader_button.mx_LegacyCallViewHeader_button_fullscreen::before {
            -webkit-mask-image: url(../../icons/expand.ad5c296.svg);
                    mask-image: url(../../icons/expand.ad5c296.svg);
        }

.mx_LegacyCallViewHeader_button.mx_LegacyCallViewHeader_button_pin::before {
            -webkit-mask-image: url(../../img/element-icons/room/pin-upright.340b3b6.svg);
                    mask-image: url(../../img/element-icons/room/pin-upright.340b3b6.svg);
        }

.mx_LegacyCallViewHeader_button.mx_LegacyCallViewHeader_button_expand::before {
            -webkit-mask-image: url(../../icons/pop-out.aba89df.svg);
                    mask-image: url(../../icons/pop-out.aba89df.svg);
        }

.mx_LegacyCallViewHeader_callInfo {
    margin-left: 12px;
    margin-right: 16px;
    overflow: hidden;
}

.mx_LegacyCallViewHeader_roomName {
    font-weight: bold;
    font-size: 12px;
    line-height: normal;
    line-height: initial;
    height: 15px;

    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.mx_LegacyCallView_secondaryCall_roomName {
    margin-left: 4px;
}

.mx_LegacyCallViewHeader_icon {
    display: inline-block;
    margin-right: 6px;
    height: 16px;
    width: 16px;
    vertical-align: middle;
}

.mx_LegacyCallViewHeader_icon::before {
        content: "";
        display: inline-block;
        vertical-align: top;

        height: 16px;
        width: 16px;
        background-color: #edf3ff;
        background-color: var(--secondary-content, #edf3ff);
        -webkit-mask-repeat: no-repeat;
                mask-repeat: no-repeat;
        -webkit-mask-size: contain;
                mask-size: contain;
        -webkit-mask-position: center;
                mask-position: center;
        -webkit-mask-image: url(../../img/element-icons/call/voice-call.85002aa.svg);
                mask-image: url(../../img/element-icons/call/voice-call.85002aa.svg);
    }

/*
Copyright 2024 New Vector Ltd.
Copyright 2021, 2022 Šimon Brandner <simon.bra.ag@gmail.com>

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_LegacyCallViewSidebar {
    position: absolute;
    right: 10px;

    width: 20%;
    height: 100%;
    overflow: auto;

    display: -webkit-box;

    display: -ms-flexbox;

    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: flex-end;
    gap: 12px;
}

.mx_LegacyCallViewSidebar > .mx_VideoFeed {
        width: 100%;
        border-radius: 4px;
    }

.mx_LegacyCallViewSidebar > .mx_VideoFeed.mx_VideoFeed_voice {
            display: -webkit-box;
            display: -ms-flexbox;
            display: flex;
            -webkit-box-align: center;
                -ms-flex-align: center;
                    align-items: center;
            -webkit-box-pack: center;
                -ms-flex-pack: center;
                    justify-content: center;

            background-color: #21262c;
        }

.mx_LegacyCallViewSidebar.mx_LegacyCallViewSidebar_pipMode {
        top: 16px;
        bottom: auto;
        bottom: initial;
        -webkit-box-pack: end;
            -ms-flex-pack: end;
                justify-content: flex-end;
        gap: 4px;
    }

/*
Copyright 2024 New Vector Ltd.
Copyright 2021, 2022 Šimon Brandner <simon.bra.ag@gmail.com>
Copyright 2015, 2016 , 2020, 2021 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_VideoFeed {
    overflow: hidden;
    position: relative;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    border: transparent 2px solid;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    border-radius: 4px;
}

.mx_VideoFeed.mx_VideoFeed_secondary {
        position: absolute;
        right: 24px;
        bottom: 72px;
        width: 20%;
    }

.mx_VideoFeed.mx_VideoFeed_voice {
        background-color: #15171b;
        background-color: var(--strong-input-border-color, #15171b);

        display: -webkit-box;

        display: -ms-flexbox;

        display: flex;
        -webkit-box-pack: center;
            -ms-flex-pack: center;
                justify-content: center;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
    }

.mx_VideoFeed.mx_VideoFeed_voice:not(.mx_VideoFeed_primary) {
            aspect-ratio: 16 / 9;
        }

.mx_VideoFeed .mx_VideoFeed_video {
        height: 100%;
        width: 100%;
        border-radius: 4px;
        background-color: #000000;
    }

.mx_VideoFeed .mx_VideoFeed_video.mx_VideoFeed_video_mirror {
            -webkit-transform: scale(-1, 1);
                    transform: scale(-1, 1);
        }

.mx_VideoFeed .mx_VideoFeed_mic {
        position: absolute;
        left: 6px;
        bottom: 6px;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        -webkit-box-pack: center;
            -ms-flex-pack: center;
                justify-content: center;

        width: 24px;
        height: 24px;

        background-color: rgba(0, 0, 0, 0.5); /* Same on both themes */
        border-radius: 100%;
    }

.mx_VideoFeed .mx_VideoFeed_mic::before {
            position: absolute;
            content: "";
            width: 17px;
            height: 17px;
            -webkit-mask-repeat: no-repeat;
                    mask-repeat: no-repeat;
            -webkit-mask-size: contain;
                    mask-size: contain;
            -webkit-mask-position: center;
                    mask-position: center;
            background-color: white; /* Same on both themes */
            border-radius: 7px;
        }

.mx_VideoFeed .mx_VideoFeed_mic.mx_VideoFeed_mic_muted::before {
            -webkit-mask-image: url(../../icons/mic-off-solid.b6c9180.svg);
                    mask-image: url(../../icons/mic-off-solid.b6c9180.svg);
        }

.mx_VideoFeed .mx_VideoFeed_mic.mx_VideoFeed_mic_unmuted::before {
            -webkit-mask-image: url(../../icons/mic-on-solid.7b0262f.svg);
                    mask-image: url(../../icons/mic-on-solid.7b0262f.svg);
        }

/* dark */

.markdown-body {
  color-scheme: dark;
  -ms-text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;
  margin: 0;
  color: #f0f6fc;
  background-color: #0d1117;
  font-family: -apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans",Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji";
  font-size: 16px;
  line-height: 1.5;
  word-wrap: break-word;
}

.markdown-body .octicon {
  display: inline-block;
  fill: currentColor;
  vertical-align: text-bottom;
}

.markdown-body h1:hover .anchor .octicon-link:before,
.markdown-body h2:hover .anchor .octicon-link:before,
.markdown-body h3:hover .anchor .octicon-link:before,
.markdown-body h4:hover .anchor .octicon-link:before,
.markdown-body h5:hover .anchor .octicon-link:before,
.markdown-body h6:hover .anchor .octicon-link:before {
  width: 16px;
  height: 16px;
  content: ' ';
  display: inline-block;
  background-color: currentColor;
  -webkit-mask-image: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' version='1.1' aria-hidden='true'><path fill-rule='evenodd' d='M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z'></path></svg>");
  mask-image: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' version='1.1' aria-hidden='true'><path fill-rule='evenodd' d='M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z'></path></svg>");
}

.markdown-body details,
.markdown-body figcaption,
.markdown-body figure {
  display: block;
}

.markdown-body summary {
  display: list-item;
}

.markdown-body [hidden] {
  display: none !important;
}

.markdown-body a {
  background-color: transparent;
  color: #4493f8;
  text-decoration: none;
}

.markdown-body abbr[title] {
  border-bottom: none;
  -webkit-text-decoration: underline dotted;
  text-decoration: underline dotted;
}

.markdown-body b,
.markdown-body strong {
  font-weight: 600;
}

.markdown-body dfn {
  font-style: italic;
}

.markdown-body h1 {
  margin: .67em 0;
  font-weight: 600;
  padding-bottom: .3em;
  font-size: 2em;
  border-bottom: 1px solid #3d444db3;
}

.markdown-body mark {
  background-color: #bb800926;
  color: #f0f6fc;
}

.markdown-body small {
  font-size: 90%;
}

.markdown-body sub,
.markdown-body sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

.markdown-body sub {
  bottom: -0.25em;
}

.markdown-body sup {
  top: -0.5em;
}

.markdown-body img {
  border-style: none;
  max-width: 100%;
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
}

.markdown-body code,
.markdown-body kbd,
.markdown-body pre,
.markdown-body samp {
  font-family: monospace;
  font-size: 1em;
}

.markdown-body figure {
  margin: 1em 2.5rem;
}

.markdown-body hr {
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
  overflow: hidden;
  background: transparent;
  border-bottom: 1px solid #3d444db3;
  height: .25em;
  padding: 0;
  margin: 1.5rem 0;
  background-color: #3d444d;
  border: 0;
}

.markdown-body input {
  font: inherit;
  margin: 0;
  overflow: visible;
  font-family: inherit;
  font-size: inherit;
  line-height: inherit;
}

.markdown-body [type=button],
.markdown-body [type=reset],
.markdown-body [type=submit] {
  -webkit-appearance: button;
  -moz-appearance: button;
       appearance: button;
}

.markdown-body [type=checkbox],
.markdown-body [type=radio] {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  padding: 0;
}

.markdown-body [type=number]::-webkit-inner-spin-button,
.markdown-body [type=number]::-webkit-outer-spin-button {
  height: auto;
}

.markdown-body [type=search]::-webkit-search-cancel-button,
.markdown-body [type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
  appearance: none;
}

.markdown-body ::-webkit-input-placeholder {
  color: inherit;
  opacity: .54;
}

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

.markdown-body a:hover {
  text-decoration: underline;
}

.markdown-body ::-webkit-input-placeholder {
  color: #9198a1;
  opacity: 1;
}

.markdown-body ::-moz-placeholder {
  color: #9198a1;
  opacity: 1;
}

.markdown-body :-ms-input-placeholder {
  color: #9198a1;
  opacity: 1;
}

.markdown-body ::-ms-input-placeholder {
  color: #9198a1;
  opacity: 1;
}

.markdown-body ::placeholder {
  color: #9198a1;
  opacity: 1;
}

.markdown-body hr::before {
  display: table;
  content: "";
}

.markdown-body hr::after {
  display: table;
  clear: both;
  content: "";
}

.markdown-body table {
  border-spacing: 0;
  border-collapse: collapse;
  display: block;
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  max-width: 100%;
  overflow: auto;
  -webkit-font-feature-settings: "tnum";
          font-feature-settings: "tnum";
  font-variant: tabular-nums;
}

.markdown-body td,
.markdown-body th {
  padding: 0;
}

.markdown-body details summary {
  cursor: pointer;
}

.markdown-body a:focus,
.markdown-body [role=button]:focus,
.markdown-body input[type=radio]:focus,
.markdown-body input[type=checkbox]:focus {
  outline: 2px solid #1f6feb;
  outline-offset: -2px;
  -webkit-box-shadow: none;
          box-shadow: none;
}

.markdown-body a:focus:not(:focus-visible),
.markdown-body [role=button]:focus:not(:focus-visible),
.markdown-body input[type=radio]:focus:not(:focus-visible),
.markdown-body input[type=checkbox]:focus:not(:focus-visible) {
  outline: solid 1px transparent;
}

.markdown-body a:focus-visible,
.markdown-body [role=button]:focus-visible,
.markdown-body input[type=radio]:focus-visible,
.markdown-body input[type=checkbox]:focus-visible {
  outline: 2px solid #1f6feb;
  outline-offset: -2px;
  -webkit-box-shadow: none;
          box-shadow: none;
}

.markdown-body a:not([class]):focus,
.markdown-body a:not([class]):focus-visible,
.markdown-body input[type=radio]:focus,
.markdown-body input[type=radio]:focus-visible,
.markdown-body input[type=checkbox]:focus,
.markdown-body input[type=checkbox]:focus-visible {
  outline-offset: 0;
}

.markdown-body kbd {
  display: inline-block;
  padding: 0.25rem;
  font: 11px ui-monospace, SFMono-Regular, SF Mono, Menlo, Consolas, Liberation Mono, monospace;
  line-height: 10px;
  color: #f0f6fc;
  vertical-align: middle;
  background-color: #151b23;
  border: solid 1px #3d444db3;
  border-bottom-color: #3d444db3;
  border-radius: 6px;
  -webkit-box-shadow: inset 0 -1px 0 #3d444db3;
          box-shadow: inset 0 -1px 0 #3d444db3;
}

.markdown-body h1,
.markdown-body h2,
.markdown-body h3,
.markdown-body h4,
.markdown-body h5,
.markdown-body h6 {
  margin-top: 1.5rem;
  margin-bottom: 1rem;
  font-weight: 600;
  line-height: 1.25;
}

.markdown-body h2 {
  font-weight: 600;
  padding-bottom: .3em;
  font-size: 1.5em;
  border-bottom: 1px solid #3d444db3;
}

.markdown-body h3 {
  font-weight: 600;
  font-size: 1.25em;
}

.markdown-body h4 {
  font-weight: 600;
  font-size: 1em;
}

.markdown-body h5 {
  font-weight: 600;
  font-size: .875em;
}

.markdown-body h6 {
  font-weight: 600;
  font-size: .85em;
  color: #9198a1;
}

.markdown-body p {
  margin-top: 0;
  margin-bottom: 10px;
}

.markdown-body blockquote {
  margin: 0;
  padding: 0 1em;
  color: #9198a1;
  border-left: .25em solid #3d444d;
}

.markdown-body ul,
.markdown-body ol {
  margin-top: 0;
  margin-bottom: 0;
  padding-left: 2em;
}

.markdown-body ol ol,
.markdown-body ul ol {
  list-style-type: lower-roman;
}

.markdown-body ul ul ol,
.markdown-body ul ol ol,
.markdown-body ol ul ol,
.markdown-body ol ol ol {
  list-style-type: lower-alpha;
}

.markdown-body dd {
  margin-left: 0;
}

.markdown-body tt,
.markdown-body code,
.markdown-body samp {
  font-family: ui-monospace, SFMono-Regular, SF Mono, Menlo, Consolas, Liberation Mono, monospace;
  font-size: 12px;
}

.markdown-body pre {
  margin-top: 0;
  margin-bottom: 0;
  font-family: ui-monospace, SFMono-Regular, SF Mono, Menlo, Consolas, Liberation Mono, monospace;
  font-size: 12px;
  word-wrap: normal;
}

.markdown-body .octicon {
  display: inline-block;
  overflow: visible !important;
  vertical-align: text-bottom;
  fill: currentColor;
}

.markdown-body input::-webkit-outer-spin-button,
.markdown-body input::-webkit-inner-spin-button {
  margin: 0;
  -webkit-appearance: none;
          appearance: none;
}

.markdown-body .mr-2 {
  margin-right: 0.5rem !important;
}

.markdown-body::before {
  display: table;
  content: "";
}

.markdown-body::after {
  display: table;
  clear: both;
  content: "";
}

.markdown-body>*:first-child {
  margin-top: 0 !important;
}

.markdown-body>*:last-child {
  margin-bottom: 0 !important;
}

.markdown-body a:not([href]) {
  color: inherit;
  text-decoration: none;
}

.markdown-body .absent {
  color: #f85149;
}

.markdown-body .anchor {
  float: left;
  padding-right: 0.25rem;
  margin-left: -20px;
  line-height: 1;
}

.markdown-body .anchor:focus {
  outline: none;
}

.markdown-body p,
.markdown-body blockquote,
.markdown-body ul,
.markdown-body ol,
.markdown-body dl,
.markdown-body table,
.markdown-body pre,
.markdown-body details {
  margin-top: 0;
  margin-bottom: 1rem;
}

.markdown-body blockquote>:first-child {
  margin-top: 0;
}

.markdown-body blockquote>:last-child {
  margin-bottom: 0;
}

.markdown-body h1 .octicon-link,
.markdown-body h2 .octicon-link,
.markdown-body h3 .octicon-link,
.markdown-body h4 .octicon-link,
.markdown-body h5 .octicon-link,
.markdown-body h6 .octicon-link {
  color: #f0f6fc;
  vertical-align: middle;
  visibility: hidden;
}

.markdown-body h1:hover .anchor,
.markdown-body h2:hover .anchor,
.markdown-body h3:hover .anchor,
.markdown-body h4:hover .anchor,
.markdown-body h5:hover .anchor,
.markdown-body h6:hover .anchor {
  text-decoration: none;
}

.markdown-body h1:hover .anchor .octicon-link,
.markdown-body h2:hover .anchor .octicon-link,
.markdown-body h3:hover .anchor .octicon-link,
.markdown-body h4:hover .anchor .octicon-link,
.markdown-body h5:hover .anchor .octicon-link,
.markdown-body h6:hover .anchor .octicon-link {
  visibility: visible;
}

.markdown-body h1 tt,
.markdown-body h1 code,
.markdown-body h2 tt,
.markdown-body h2 code,
.markdown-body h3 tt,
.markdown-body h3 code,
.markdown-body h4 tt,
.markdown-body h4 code,
.markdown-body h5 tt,
.markdown-body h5 code,
.markdown-body h6 tt,
.markdown-body h6 code {
  padding: 0 .2em;
  font-size: inherit;
}

.markdown-body summary h1,
.markdown-body summary h2,
.markdown-body summary h3,
.markdown-body summary h4,
.markdown-body summary h5,
.markdown-body summary h6 {
  display: inline-block;
}

.markdown-body summary h1 .anchor,
.markdown-body summary h2 .anchor,
.markdown-body summary h3 .anchor,
.markdown-body summary h4 .anchor,
.markdown-body summary h5 .anchor,
.markdown-body summary h6 .anchor {
  margin-left: -40px;
}

.markdown-body summary h1,
.markdown-body summary h2 {
  padding-bottom: 0;
  border-bottom: 0;
}

.markdown-body ul.no-list,
.markdown-body ol.no-list {
  padding: 0;
  list-style-type: none;
}

.markdown-body ol[type="a s"] {
  list-style-type: lower-alpha;
}

.markdown-body ol[type="A s"] {
  list-style-type: upper-alpha;
}

.markdown-body ol[type="i s"] {
  list-style-type: lower-roman;
}

.markdown-body ol[type="I s"] {
  list-style-type: upper-roman;
}

.markdown-body ol[type="1"] {
  list-style-type: decimal;
}

.markdown-body div>ol:not([type]) {
  list-style-type: decimal;
}

.markdown-body ul ul,
.markdown-body ul ol,
.markdown-body ol ol,
.markdown-body ol ul {
  margin-top: 0;
  margin-bottom: 0;
}

.markdown-body li>p {
  margin-top: 1rem;
}

.markdown-body li+li {
  margin-top: .25em;
}

.markdown-body dl {
  padding: 0;
}

.markdown-body dl dt {
  padding: 0;
  margin-top: 1rem;
  font-size: 1em;
  font-style: italic;
  font-weight: 600;
}

.markdown-body dl dd {
  padding: 0 1rem;
  margin-bottom: 1rem;
}

.markdown-body table th {
  font-weight: 600;
}

.markdown-body table th,
.markdown-body table td {
  padding: 6px 13px;
  border: 1px solid #3d444d;
}

.markdown-body table td>:last-child {
  margin-bottom: 0;
}

.markdown-body table tr {
  background-color: #0d1117;
  border-top: 1px solid #3d444db3;
}

.markdown-body table tr:nth-child(2n) {
  background-color: #151b23;
}

.markdown-body table img {
  background-color: transparent;
}

.markdown-body img[align=right] {
  padding-left: 20px;
}

.markdown-body img[align=left] {
  padding-right: 20px;
}

.markdown-body .emoji {
  max-width: none;
  vertical-align: text-top;
  background-color: transparent;
}

.markdown-body span.frame {
  display: block;
  overflow: hidden;
}

.markdown-body span.frame>span {
  display: block;
  float: left;
  width: auto;
  padding: 7px;
  margin: 13px 0 0;
  overflow: hidden;
  border: 1px solid #3d444d;
}

.markdown-body span.frame span img {
  display: block;
  float: left;
}

.markdown-body span.frame span span {
  display: block;
  padding: 5px 0 0;
  clear: both;
  color: #f0f6fc;
}

.markdown-body span.align-center {
  display: block;
  overflow: hidden;
  clear: both;
}

.markdown-body span.align-center>span {
  display: block;
  margin: 13px auto 0;
  overflow: hidden;
  text-align: center;
}

.markdown-body span.align-center span img {
  margin: 0 auto;
  text-align: center;
}

.markdown-body span.align-right {
  display: block;
  overflow: hidden;
  clear: both;
}

.markdown-body span.align-right>span {
  display: block;
  margin: 13px 0 0;
  overflow: hidden;
  text-align: right;
}

.markdown-body span.align-right span img {
  margin: 0;
  text-align: right;
}

.markdown-body span.float-left {
  display: block;
  float: left;
  margin-right: 13px;
  overflow: hidden;
}

.markdown-body span.float-left span {
  margin: 13px 0 0;
}

.markdown-body span.float-right {
  display: block;
  float: right;
  margin-left: 13px;
  overflow: hidden;
}

.markdown-body span.float-right>span {
  display: block;
  margin: 13px auto 0;
  overflow: hidden;
  text-align: right;
}

.markdown-body code,
.markdown-body tt {
  padding: .2em .4em;
  margin: 0;
  font-size: 85%;
  white-space: break-spaces;
  background-color: #656c7633;
  border-radius: 6px;
}

.markdown-body code br,
.markdown-body tt br {
  display: none;
}

.markdown-body del code {
  text-decoration: inherit;
}

.markdown-body samp {
  font-size: 85%;
}

.markdown-body pre code {
  font-size: 100%;
}

.markdown-body pre>code {
  padding: 0;
  margin: 0;
  word-break: normal;
  white-space: pre;
  background: transparent;
  border: 0;
}

.markdown-body .highlight {
  margin-bottom: 1rem;
}

.markdown-body .highlight pre {
  margin-bottom: 0;
  word-break: normal;
}

.markdown-body .highlight pre,
.markdown-body pre {
  padding: 1rem;
  overflow: auto;
  font-size: 85%;
  line-height: 1.45;
  color: #f0f6fc;
  background-color: #151b23;
  border-radius: 6px;
}

.markdown-body pre code,
.markdown-body pre tt {
  display: inline;
  max-width: auto;
  padding: 0;
  margin: 0;
  overflow: visible;
  line-height: inherit;
  word-wrap: normal;
  background-color: transparent;
  border: 0;
}

.markdown-body .csv-data td,
.markdown-body .csv-data th {
  padding: 5px;
  overflow: hidden;
  font-size: 12px;
  line-height: 1;
  text-align: left;
  white-space: nowrap;
}

.markdown-body .csv-data .blob-num {
  padding: 10px 0.5rem 9px;
  text-align: right;
  background: #0d1117;
  border: 0;
}

.markdown-body .csv-data tr {
  border-top: 0;
}

.markdown-body .csv-data th {
  font-weight: 600;
  background: #151b23;
  border-top: 0;
}

.markdown-body [data-footnote-ref]::before {
  content: "[";
}

.markdown-body [data-footnote-ref]::after {
  content: "]";
}

.markdown-body .footnotes {
  font-size: 12px;
  color: #9198a1;
  border-top: 1px solid #3d444d;
}

.markdown-body .footnotes ol {
  padding-left: 1rem;
}

.markdown-body .footnotes ol ul {
  display: inline-block;
  padding-left: 1rem;
  margin-top: 1rem;
}

.markdown-body .footnotes li {
  position: relative;
}

.markdown-body .footnotes li:target::before {
  position: absolute;
  top: calc(0.5rem*-1);
  right: calc(0.5rem*-1);
  bottom: calc(0.5rem*-1);
  left: calc(1.5rem*-1);
  pointer-events: none;
  content: "";
  border: 2px solid #1f6feb;
  border-radius: 6px;
}

.markdown-body .footnotes li:target {
  color: #f0f6fc;
}

.markdown-body .footnotes .data-footnote-backref g-emoji {
  font-family: monospace;
}

.markdown-body body:has(:modal) {
  padding-right: var(--dialog-scrollgutter) !important;
}

.markdown-body .pl-c {
  color: #9198a1;
}

.markdown-body .pl-c1,
.markdown-body .pl-s .pl-v {
  color: #79c0ff;
}

.markdown-body .pl-e,
.markdown-body .pl-en {
  color: #d2a8ff;
}

.markdown-body .pl-smi,
.markdown-body .pl-s .pl-s1 {
  color: #f0f6fc;
}

.markdown-body .pl-ent {
  color: #7ee787;
}

.markdown-body .pl-k {
  color: #ff7b72;
}

.markdown-body .pl-s,
.markdown-body .pl-pds,
.markdown-body .pl-s .pl-pse .pl-s1,
.markdown-body .pl-sr,
.markdown-body .pl-sr .pl-cce,
.markdown-body .pl-sr .pl-sre,
.markdown-body .pl-sr .pl-sra {
  color: #a5d6ff;
}

.markdown-body .pl-v,
.markdown-body .pl-smw {
  color: #ffa657;
}

.markdown-body .pl-bu {
  color: #f85149;
}

.markdown-body .pl-ii {
  color: #f0f6fc;
  background-color: #8e1519;
}

.markdown-body .pl-c2 {
  color: #f0f6fc;
  background-color: #b62324;
}

.markdown-body .pl-sr .pl-cce {
  font-weight: bold;
  color: #7ee787;
}

.markdown-body .pl-ml {
  color: #f2cc60;
}

.markdown-body .pl-mh,
.markdown-body .pl-mh .pl-en,
.markdown-body .pl-ms {
  font-weight: bold;
  color: #1f6feb;
}

.markdown-body .pl-mi {
  font-style: italic;
  color: #f0f6fc;
}

.markdown-body .pl-mb {
  font-weight: bold;
  color: #f0f6fc;
}

.markdown-body .pl-md {
  color: #ffdcd7;
  background-color: #67060c;
}

.markdown-body .pl-mi1 {
  color: #aff5b4;
  background-color: #033a16;
}

.markdown-body .pl-mc {
  color: #ffdfb6;
  background-color: #5a1e02;
}

.markdown-body .pl-mi2 {
  color: #f0f6fc;
  background-color: #1158c7;
}

.markdown-body .pl-mdr {
  font-weight: bold;
  color: #d2a8ff;
}

.markdown-body .pl-ba {
  color: #9198a1;
}

.markdown-body .pl-sg {
  color: #3d444d;
}

.markdown-body .pl-corl {
  text-decoration: underline;
  color: #a5d6ff;
}

.markdown-body [role=button]:focus:not(:focus-visible),
.markdown-body [role=tabpanel][tabindex="0"]:focus:not(:focus-visible),
.markdown-body button:focus:not(:focus-visible),
.markdown-body summary:focus:not(:focus-visible),
.markdown-body a:focus:not(:focus-visible) {
  outline: none;
  -webkit-box-shadow: none;
          box-shadow: none;
}

.markdown-body [tabindex="0"]:focus:not(:focus-visible),
.markdown-body details-dialog:focus:not(:focus-visible) {
  outline: none;
}

.markdown-body g-emoji {
  display: inline-block;
  min-width: 1ch;
  font-family: "Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";
  font-size: 1em;
  font-style: normal !important;
  font-weight: 400;
  line-height: 1;
  vertical-align: -0.075em;
}

.markdown-body g-emoji img {
  width: 1em;
  height: 1em;
}

.markdown-body .task-list-item {
  list-style-type: none;
}

.markdown-body .task-list-item label {
  font-weight: 400;
}

.markdown-body .task-list-item.enabled label {
  cursor: pointer;
}

.markdown-body .task-list-item+.task-list-item {
  margin-top: 0.25rem;
}

.markdown-body .task-list-item .handle {
  display: none;
}

.markdown-body .task-list-item-checkbox {
  margin: 0 .2em .25em -1.4em;
  vertical-align: middle;
}

.markdown-body ul:dir(rtl) .task-list-item-checkbox {
  margin: 0 -1.6em .25em .2em;
}

.markdown-body ol:dir(rtl) .task-list-item-checkbox {
  margin: 0 -1.6em .25em .2em;
}

.markdown-body .contains-task-list:hover .task-list-item-convert-container,
.markdown-body .contains-task-list:focus-within .task-list-item-convert-container {
  display: block;
  width: auto;
  height: 24px;
  overflow: visible;
  clip: auto;
}

.markdown-body ::-webkit-calendar-picker-indicator {
  -webkit-filter: invert(50%);
          filter: invert(50%);
}

.markdown-body .markdown-alert {
  padding: 0.5rem 1rem;
  margin-bottom: 1rem;
  color: inherit;
  border-left: .25em solid #3d444d;
}

.markdown-body .markdown-alert>:first-child {
  margin-top: 0;
}

.markdown-body .markdown-alert>:last-child {
  margin-bottom: 0;
}

.markdown-body .markdown-alert .markdown-alert-title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  font-weight: 500;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  line-height: 1;
}

.markdown-body .markdown-alert.markdown-alert-note {
  border-left-color: #1f6feb;
}

.markdown-body .markdown-alert.markdown-alert-note .markdown-alert-title {
  color: #4493f8;
}

.markdown-body .markdown-alert.markdown-alert-important {
  border-left-color: #8957e5;
}

.markdown-body .markdown-alert.markdown-alert-important .markdown-alert-title {
  color: #ab7df8;
}

.markdown-body .markdown-alert.markdown-alert-warning {
  border-left-color: #9e6a03;
}

.markdown-body .markdown-alert.markdown-alert-warning .markdown-alert-title {
  color: #d29922;
}

.markdown-body .markdown-alert.markdown-alert-tip {
  border-left-color: #238636;
}

.markdown-body .markdown-alert.markdown-alert-tip .markdown-alert-title {
  color: #3fb950;
}

.markdown-body .markdown-alert.markdown-alert-caution {
  border-left-color: #da3633;
}

.markdown-body .markdown-alert.markdown-alert-caution .markdown-alert-title {
  color: #f85149;
}

.markdown-body>*:first-child>.heading-element:first-child {
  margin-top: 0 !important;
}

.markdown-body .highlight pre:has(+.zeroclipboard-container) {
  min-height: 52px;
}


/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVuZGxlcy9mMzQxNGM3ZGZjMTBmOTM5MTI5Ni90aGVtZS1kYXJrLWN1c3RvbS5jc3MiLCJtYXBwaW5ncyI6Ijs7O0FBQUE7Ozs7OztDQU1DOztBQUVEOzs7Ozs7O0VBT0U7O0FDZkYsb0ZBQW9GOztBQUNwRixrRUFBa0U7O0FDRGxFOzs7Ozs7Ozs7Ozs7RUFZRTs7QUFFRiw2RUFBNkU7O0FBQzdFLCtCQUErQjs7QUNmL0I7RUFDRTs7QUFFRixpQkFBaUI7O0FBQ2pCO0lBQ0ksc0JBQXNCO0lBQ3RCLGdCQUFnQjtJQUNoQiw0REFBa0Y7QUFDdEY7O0FBQ0EsNkhBQTZIOztBQUM3SDtJQUNJLHNCQUFzQjtJQUN0QixnQkFBZ0I7SUFDaEIsNERBQWtGO0FBQ3RGOztBQUNBO0lBQ0ksc0JBQXNCO0lBQ3RCLGdCQUFnQjtJQUNoQiw0REFBa0Y7QUFDdEY7O0FEREEsaUVBQWlFOztBQUNqRTtFQUNFOztBQUNGO0lBQ0kscUJBQXFCO0lBQ3JCLGtCQUFrQjtJQUNsQixnQkFBZ0I7SUFDaEIsK0RBQXFFO0FBQ3pFOztBQUNBO0lBQ0kscUJBQXFCO0lBQ3JCLGtCQUFrQjtJQUNsQixnQkFBZ0I7SUFDaEIsK0RBQXNFO0FBQzFFOztBQUNBO0lBQ0kscUJBQXFCO0lBQ3JCLGtCQUFrQjtJQUNsQixnQkFBZ0I7SUFDaEIsK0RBQWtFO0FBQ3RFOztBRXRDQTtJQUNJLDBFQUEwRTtJQUMxRSx1QkFBdUI7QUFDM0I7O0FBRUE7OztvRUFHb0U7O0FBQ3BFOzs2RUFFNkU7O0FBTzdFLG9CQUFvQjs7QUFDcEIsMENBQTBDOztBQUkxQywrQ0FBK0M7O0FBS3JCLG9EQUFvRDs7QUFFOUUsNkJBQTZCOztBQUc3QixvQ0FBb0M7O0FBR3BDLDZDQUE2Qzs7QUFRN0MseUJBQXlCOztBQUl6Qix3Q0FBd0M7O0FBTXhDLDJCQUEyQjs7QUFHM0IseUJBQXlCOztBQUd6QixrREFBa0Q7O0FBR2xELCtDQUErQzs7QUFJL0MsNkNBQTZDOztBQVU3Qyx1REFBdUQ7O0FBR3ZELHVDQUF1Qzs7QUFJdkMs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QkFBNkI7RUFDN0IsNkJBQTZCO0VBQzdCLDZCQUE2QjtFQUM3Qiw2QkFBNkI7RUFDN0IsNkJBQTZCO0VBQzdCLDZCQUE2QjtFQUM3Qiw2QkFBNkI7RUFDN0IsNkJBQTZCO0VBQzdCLDhCQUE4QjtFQUM5Qiw4QkFBOEI7RUFDOUIsOEJBQThCO0VBQzlCLDhCQUE4QjtFQUM5Qiw4QkFBOEI7RUFDOUIsOEJBQThCO0VBQzlCLDhCQUE4QjtFQUM5Qiw4QkFBOEI7RUFDOUIsOEJBQThCO0VBQzlCLDhCQUE4QjtFQUM5Qiw4QkFBOEI7RUFDOUIsOEJBQThCO0VBQzlCLDhCQUE4QjtFQUM5Qiw4QkFBOEI7RUFDOUIsK0JBQStCO0VBQy9CLCtCQUErQjtFQUMvQiwrQkFBK0I7RUFDL0IsK0JBQStCO0VBQy9CLCtCQUErQjtFQUMvQiw2QkFBNkI7RUFDN0IsNkJBQTZCO0VBQzdCLDZCQUE2QjtFQUM3Qiw2QkFBNkI7RUFDN0IsNkJBQTZCO0VBQzdCLDZCQUE2QjtFQUM3Qiw2QkFBNkI7RUFDN0IsNkJBQTZCO0VBQzdCLDZCQUE2QjtFQUM3Qiw4QkFBOEI7RUFDOUIsOEJBQThCO0VBQzlCLDhCQUE4QjtFQUM5Qiw4QkFBOEI7RUFDOUIsOEJBQThCO0VBQzlCLDZCQUE2QjtFQUM3Qiw2QkFBNkI7RUFDN0IsNkJBQTZCO0VBQzdCLDZCQUE2QjtFQUM3Qiw2QkFBNkI7RUFDN0IsNkJBQTZCO0VBQzdCLDZCQUE2QjtFQUM3Qiw2QkFBNkI7RUFDN0IsNkJBQTZCO0VBQzdCLDhCQUE4QjtFQUM5Qiw4QkFBOEI7RUFDOUIsOEJBQThCO0VBQzlCLDhCQUE4QjtFQUM5Qiw4QkFBOEI7RUFDOUIsK0JBQStCO0VBQy9CLCtCQUErQjtFQUMvQiwrQkFBK0I7RUFDL0IsK0JBQStCO0VBQy9CLCtCQUErQjtFQUMvQiwrQkFBK0I7RUFDL0IsK0JBQStCO0VBQy9CLCtCQUErQjtFQUMvQiwrQkFBK0I7RUFDL0IsZ0NBQWdDO0VBQ2hDLGdDQUFnQztFQUNoQyxnQ0FBZ0M7RUFDaEMsZ0NBQWdDO0VBQ2hDLGdDQUFnQztFQUNoQyxnQ0FBZ0M7RUFDaEMsZ0NBQWdDO0VBQ2hDLGdDQUFnQztFQUNoQyxnQ0FBZ0M7RUFDaEMsZ0NBQWdDO0VBQ2hDLGdDQUFnQztFQUNoQyxnQ0FBZ0M7RUFDaEMsZ0NBQWdDO0VBQ2hDLGdDQUFnQztFQUNoQyxpQ0FBaUM7RUFDakMsaUNBQWlDO0VBQ2pDLGlDQUFpQztFQUNqQyxpQ0FBaUM7RUFDakMsaUNBQWlDO0VBQ2pDLDZCQUE2QjtFQUM3Qiw2QkFBNkI7RUFDN0IsNkJBQTZCO0VBQzdCLDZCQUE2QjtFQUM3Qiw2QkFBNkI7RUFDN0IsNkJBQTZCO0VBQzdCLDZCQUE2QjtFQUM3Qiw2QkFBNkI7RUFDN0IsNkJBQTZCO0VBQzdCLDhCQUE4QjtFQUM5Qiw4QkFBOEI7RUFDOUIsOEJBQThCO0VBQzlCLDhCQUE4QjtFQUM5Qiw4QkFBOEI7RUFDOUIscURBQXFEO0VBQ3JELHFEQUFxRDtFQUNyRCxxREFBcUQ7RUFDckQscURBQXFEO0VBQ3JELG9EQUFvRDtFQUNwRCxxREFBcUQ7RUFDckQscURBQXFEO0VBQ3JELG1EQUFtRDtFQUNuRCxvREFBb0Q7RUFDcEQscURBQXFEO0VBQ3JELHFEQUFxRDtFQUNyRCxxREFBcUQ7RUFDckQscURBQXFEO0VBQ3JELG9EQUFvRDtFQUNwRCxvREFBb0Q7RUFDcEQsbURBQW1EO0VBQ25ELG1EQUFtRDtFQUNuRCxtREFBbUQ7RUFDbkQsbURBQW1EO0VBQ25ELG1EQUFtRDtFQUNuRCxrREFBa0Q7RUFDbEQsbURBQW1EO0VBQ25ELG9EQUFvRDtFQUNwRCxxREFBcUQ7RUFDckQscURBQXFEO0VBQ3JELGtEQUFrRDtFQUNsRCxnREFBZ0Q7RUFDaEQsZ0RBQWdEO0VBQ2hELHVEQUF1RDtFQUN2RCx1REFBdUQ7RUFDdkQsdURBQXVEO0VBQ3ZELHVEQUF1RDtFQUN2RCx1REFBdUQ7RUFDdkQsc0RBQXNEO0VBQ3RELHVEQUF1RDtFQUN2RCxtREFBbUQ7RUFDbkQsbURBQW1EO0VBQ25ELG9EQUFvRDtFQUNwRCxvREFBb0Q7RUFDcEQsbURBQW1EO0VBQ25ELG1EQUFtRDtFQUNuRCxtREFBbUQ7RUFDbkQsdURBQXVEO0VBQ3ZELHVEQUF1RDtFQUN2RCx1REFBdUQ7RUFDdkQsdURBQXVEO0VBQ3ZELG1EQUFtRDtFQUNuRCxtREFBbUQ7RUFDbkQsbURBQW1EO0VBQ25ELG1EQUFtRDtFQUNuRCxtREFBbUQ7RUFDbkQsb0RBQW9EO0VBQ3BELG9EQUFvRDtFQUNwRCxvREFBb0Q7RUFDcEQsb0RBQW9EO0VBQ3BELG1EQUFtRDtFQUNuRCxxREFBcUQ7RUFDckQscURBQXFEO0VBQ3JELHFEQUFxRDtFQUNyRCxxREFBcUQ7RUFDckQscURBQXFEO0VBQ3JELHFEQUFxRDtFQUNyRCxzREFBc0Q7RUFDdEQscURBQXFEO0VBQ3JELHFEQUFxRDtFQUNyRCxtREFBbUQ7RUFDbkQsbURBQW1EO0VBQ25ELG1EQUFtRDtFQUNuRCxtREFBbUQ7RUFDbkQsa0RBQWtEO0VBQ2xELHNEQUFzRDtFQUN0RCxzREFBc0Q7RUFDdEQsdURBQXVEO0VBQ3ZELHNEQUFzRDtFQUN0RCxzREFBc0Q7RUFDdEQsc0RBQXNEO0VBQ3RELHNEQUFzRDtFQUN0RCxtREFBbUQ7RUFDbkQsbURBQW1EO0VBQ25ELG9EQUFvRDtFQUNwRCxvREFBb0Q7RUFDcEQsb0RBQW9EO0VBQ3BELG9EQUFvRDtFQUNwRCxtREFBbUQ7RUFDbkQscURBQXFEO0VBQ3JELHFEQUFxRDtFQUNyRCxzREFBc0Q7RUFDdEQsc0RBQXNEO0VBQ3RELG9EQUFvRDtFQUNwRCxxREFBcUQ7RUFDckQscURBQXFEO0VBQ3JELGtEQUFrRDtFQUNsRCxrREFBa0Q7RUFDbEQsbURBQW1EO0VBQ25ELG1EQUFtRDtFQUNuRCxtREFBbUQ7RUFDbkQsbURBQW1EO0VBQ25ELG1EQUFtRDtFQUNuRCxzREFBc0Q7RUFDdEQsc0RBQXNEO0VBQ3RELHNEQUFzRDtFQUN0RCxxREFBcUQ7RUFDckQscURBQXFEO0VBQ3JELHFEQUFxRDtFQUNyRCxxREFBcUQ7RUFDckQsc0RBQXNEO0VBQ3RELHFEQUFxRDtFQUNyRCxzREFBc0Q7RUFDdEQsc0RBQXNEO0VBQ3RELHNEQUFzRDtFQUN0RCxrREFBa0Q7RUFD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L0IsK0JBQStCO0VBQy9CLCtCQUErQjtFQUMvQiwrQkFBK0I7RUFDL0IsK0JBQStCO0VBQy9CLCtCQUErQjtFQUMvQiwrQkFBK0I7RUFDL0IsZ0NBQWdDO0VBQ2hDLGdDQUFnQztFQUNoQyxnQ0FBZ0M7RUFDaEMsZ0NBQWdDO0VBQ2hDLGdDQUFnQztFQUNoQyw2QkFBNkI7RUFDN0IsNkJBQTZCO0VBQzdCLDZCQUE2QjtFQUM3Qiw2QkFBNkI7RUFDN0IsNkJBQTZCO0VBQzdCLDZCQUE2QjtFQUM3Qiw2QkFBNkI7RUFDN0IsNkJBQTZCO0VBQzdCLDZCQUE2QjtFQUM3Qiw4QkFBOEI7RUFDOUIsOEJBQThCO0VBQzlCLDhCQUE4QjtFQUM5Qiw4QkFBOEI7RUFDOUIsOEJBQThCO0VBQzlCLDhCQUE4QjtFQUM5Qiw4QkFBOEI7RUFDOUIsOEJBQThCO0VBQzlCLDhCQUE4QjtFQUM5Qiw4QkFBOEI7RUFDOUIsOEJBQThCO0VBQzlCLDhCQUE4QjtFQUM5Qiw4QkFBOEI7RUFDOUIsOEJBQThCO0VBQzlCLCtCQUErQjtFQUMvQiwrQkFBK0I7RUFDL0IsK0JBQStCO0VBQy9CLCtCQUErQjtFQUMvQiwrQkFBK0I7RUFDL0IsNkJBQTZCO0VBQzdCLDZCQUE2QjtFQUM3Qiw2QkFBNkI7RUFDN0IsNkJBQTZCO0VBQzdCLDZCQUE2QjtFQUM3Qiw2QkFBNkI7RUFDN0IsNkJBQTZCO0VBQzdCLDZCQUE2QjtFQUM3Qiw2QkFBNkI7RUFDN0IsOEJBQThCO0VBQzlCLDhCQUE4QjtFQUM5Qiw4QkFBOEI7RUFDOUIsOEJBQThCO0VBQzlCLDhCQUE4QjtFQUM5Qiw2QkFBNkI7RUFDN0IsNkJBQTZCO0VBQzdCLDZCQUE2QjtFQUM3Qiw2QkFBNkI7RUFDN0IsNkJBQTZCO0VBQzdCLDZCQUE2QjtFQUM3Qiw2QkFBNkI7RUFDN0IsNkJBQTZCO0VBQzdCLDZCQUE2QjtFQUM3Qiw4QkFBOEI7RUFDOUIsOEJBQThCO0VBQzlCLDhCQUE4QjtFQUM5Qiw4QkFBOEI7RUFDOUIsOEJBQThCO0VBQzlCLCtCQUErQjtFQUMvQiwrQkFBK0I7RUFDL0IsK0JBQStCO0VBQy9CLCtCQUErQjtFQUMvQiwrQkFBK0I7RUFDL0IsK0JBQStCO0VBQy9CLCtCQUErQjtFQUMvQiwrQkFBK0I7RUFDL0IsK0JBQStCO0VBQy9CLGdDQUFnQztFQUNoQyxnQ0FBZ0M7RUFDaEMsZ0NBQWdDO0VBQ2hDLGdDQUFnQztFQUNoQyxnQ0FBZ0M7RUFDaEMsZ0NBQWdDO0VBQ2hDLGdDQUFnQztFQUNoQyxnQ0FBZ0M7RUFDaEMsZ0NBQWdDO0VBQ2hDLGdDQUFnQztFQUNoQyxnQ0FBZ0M7RUFDaEMsZ0NBQWdDO0VBQ2hDLGdDQUFnQztFQUNoQyxnQ0FBZ0M7RUFDaEMsaUNBQWlDO0VBQ2pDLGlDQUFpQztFQUNqQyxpQ0FBaUM7RUFDakMsaUNBQWlDO0VBQ2pDLGlDQUFpQztFQUNqQyw2QkFBNkI7RUFDN0IsNkJBQTZCO0VBQzdCLDZCQUE2QjtFQUM3Qiw2QkFBNkI7RUFDN0IsNkJBQTZCO0VBQzdCLDZCQUE2QjtFQUM3Qiw2QkFBNkI7RUFDN0IsNkJBQTZCO0VBQzdCLDZCQUE2QjtFQUM3Qiw4QkFBOEI7RUFDOUIsOEJBQThCO0VBQzlCLDhCQUE4QjtFQUM5Qiw4QkFBOEI7RUFDOUIsOEJBQThCO0VBQzlCLHFEQUFxRDtFQUNyRCxxREFBcUQ7RUFDckQscURBQXFEO0VBQ3JELHFEQUFxRDtFQUNyRCxxREFBcUQ7RUFDckQscURBQXFEO0VBQ3JELHFEQUFxRDtFQUNyRCxvREFBb0Q7RUFDcEQsb0RBQW9EO0VBQ3BELHFEQUFxRDtFQUNyRCxvREFBb0Q7RUFDcEQscURBQXFEO0VBQ3JELHNEQUFzRDtFQUN0RCxvREFBb0Q7RUFDcEQsbURBQW1EO0VBQ25ELG1EQUFtRDtFQUNuRCxtREFBbUQ7RUFDbkQsbURBQW1EO0VBQ25ELG1EQUFtRDtFQUNuRCxrREFBa0Q7RUFDbEQsbURBQW1EO0VBQ25ELG9EQUFvRDtFQUNwRCxpREFBaUQ7RUFDakQsa0RBQWtEO0VBQ2xELGdEQUFnRDtFQUNoRCxnREFBZ0Q7RUFDaEQsZ0RBQWdEO0VBQ2hELGdEQUFnRDtFQUNoRCx1REFBdUQ7RUFDdkQsdURBQXVEO0VBQ3ZELHVEQUF1RDtFQUN2RCxzREFBc0Q7RUFDdEQsc0RBQXNEO0VBQ3RELHVEQUF1RDtFQUN2RCxtREFBbUQ7RUFDbkQsbURBQW1EO0VBQ25ELGtEQUFrRDtFQUNsRCxtREFBbUQ7RUFDbkQsbURBQW1EO0VBQ25ELG1EQUFtRDtFQUNuRCxtREFBbUQ7RUFDbkQsbURBQW1EO0VBQ25ELHVEQUF1RDtFQUN2RCx1REFBdUQ7RUFDdkQsdURBQXVEO0VBQ3ZELHVEQUF1RDtFQUN2RCxtREFBbUQ7RUFDbkQsbURBQW1EO0VBQ25ELG1EQUFtRDtFQUNuRCxtREFBbUQ7RUFDbkQsbURBQW1EO0VBQ25ELG9EQUFvRDtFQUNwRCxvREFBb0Q7RUFDcEQsb0RBQW9EO0VBQ3BELG9EQUFvRDtFQUNwRCxtREFBbUQ7RUFDbkQscURBQXFEO0VBQ3JELHFEQUFxRDtFQUNyRCxxREFBcUQ7RUFDckQsb0RBQW9EO0VBQ3BELHFEQUFxRDtFQUNyRCxzREFBc0Q7RUFDdEQsb0RBQW9EO0VBQ3BELHFEQUFxRDtFQUNyRCxrREFBa0Q7RUFDbEQsbURBQW1EO0VBQ25ELG1EQUFtRDtFQUNuRCxtREFBbUQ7RUFDbkQsa0RBQWtEO0VBQ2xELGtEQUFrRDtFQUNsRCxzREFBc0Q7RUFDdEQsdURBQXVEO0VBQ3ZELHNEQUFzRDtFQUN0RCxzREFBc0Q7RUFDdEQsc0RBQXNEO0VBQ3RELHNEQUFzRDtFQUN0RCxtREFBbUQ7RUFDbkQsbURBQW1EO0VBQ25ELG1EQUFtRDtFQUNuRCxvREFBb0Q7RUFDcEQsb0RBQW9EO0VBQ3BELG9EQUFvRDtFQUNwRCxtREFBbUQ7RUFDbkQsbURBQW1EO0VBQ25ELHFEQUFxRDtFQUNyRCxzREFBc0Q7RUFDdEQsc0RBQXNEO0VBQ3RELHFEQUFxRDtFQUNyRCxxREFBcUQ7RUFDckQscURBQXFEO0VBQ3JELGtEQUFrRDtFQUNsRCxrREFBa0Q7RUFDbEQsa0RBQWtEO0VBQ2xELG1EQUFtRDtFQUNuRCxtREFBbUQ7RUFDbkQsbURBQW1EO0VBQ25ELG1EQUFtRDtFQUNuRCxtREFBbUQ7RUFDbkQsc0RBQXNE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O0VBQy9CLCtCQUErQjtFQUMvQiwrQkFBK0I7RUFDL0IsK0JBQStCO0VBQy9CLCtCQUErQjtFQUMvQixnQ0FBZ0M7RUFDaEMsZ0NBQWdDO0VBQ2hDLGdDQUFnQztFQUNoQyxnQ0FBZ0M7RUFDaEMsZ0NBQWdDO0VBQ2hDLCtCQUErQjtFQUMvQiwrQkFBK0I7RUFDL0IsK0JBQStCO0VBQy9CLCtCQUErQjtFQUMvQiwrQkFBK0I7RUFDL0IsK0JBQStCO0VBQy9CLCtCQUErQjtFQUMvQiwrQkFBK0I7RUFDL0IsK0JBQStCO0VBQy9CLGdDQUFnQztFQUNoQyxnQ0FBZ0M7RUFDaEMsZ0NBQWdDO0VBQ2hDLGdDQUFnQztFQUNoQyxnQ0FBZ0M7RUFDaEMsNkJBQTZCO0VBQzdCLDZCQUE2QjtFQUM3Qiw2QkFBNkI7RUFDN0IsNkJBQTZCO0VBQzdCLDZCQUE2QjtFQUM3Qiw2QkFBNkI7RUFDN0IsNkJBQTZCO0VBQzdCLDZCQUE2QjtFQUM3Qiw2QkFBNkI7RUFDN0IsOEJBQThCO0VBQzlCLDhCQUE4QjtFQUM5Qiw4QkFBOEI7RUFDOUIsOEJBQThCO0VBQzlCLDhCQUE4QjtFQUM5Qiw4QkFBOEI7RUFDOUIsOEJBQThCO0VBQzlCLDhCQUE4QjtFQUM5Qiw4QkFBOEI7RUFDOUIsOEJBQThCO0VBQzlCLDhCQUE4QjtFQUM5Qiw4QkFBOEI7RUFDOUIsOEJBQThCO0VBQzlCLDhCQUE4QjtFQUM5QiwrQkFBK0I7RUFDL0IsK0JBQStCO0VBQy9CLCtCQUErQjtFQUMvQiwrQkFBK0I7RUFDL0IsK0JBQStCO0VBQy9CLDZCQUE2QjtFQUM3Qiw2QkFBNkI7RUFDN0IsNkJBQTZCO0VBQzdCLDZCQUE2QjtFQUM3Qiw2QkFBNkI7RUFDN0IsNkJBQTZCO0VBQzdCLDZCQUE2QjtFQUM3Qiw2QkFBNkI7RUFDN0IsNkJBQTZCO0VBQzdCLDhCQUE4QjtFQUM5Qiw4QkFBOEI7RUFDOUIsOEJBQThCO0VBQzlCLDhCQUE4QjtFQUM5Qiw4QkFBOEI7RUFDOUIsNkJBQTZCO0VBQzdCLDZCQUE2QjtFQUM3Qiw2QkFBNkI7RUFDN0IsNkJBQTZCO0VB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QThCO0VBQzlCLDhCQUE4QjtFQUM5Qiw4QkFBOEI7RUFDOUIsOEJBQThCO0VBQzlCLDhCQUE4QjtFQUM5Qiw4QkFBOEI7RUFDOUIsOEJBQThCO0VBQzlCLDhCQUE4QjtFQUM5Qiw4QkFBOEI7RUFDOUIsOEJBQThCO0VBQzlCLDhCQUE4QjtFQUM5Qiw4QkFBOEI7RUFDOUIsOEJBQThCO0VBQzlCLCtCQUErQjtFQUMvQiwrQkFBK0I7RUFDL0IsK0JBQStCO0VBQy9CLCtCQUErQjtFQUMvQiwrQkFBK0I7RUFDL0IsNkJBQTZCO0VBQzdCLDZCQUE2QjtFQUM3Qiw2QkFBNkI7RUFDN0IsNkJBQTZCO0VBQzdCLDZCQUE2QjtFQUM3Qiw2QkFBNkI7RUFDN0IsNkJBQTZCO0VBQzdCLDZCQUE2QjtFQUM3Qiw2QkFBNkI7RUFDN0IsOEJBQThCO0VBQzlCLDhCQUE4QjtFQUM5Qiw4QkFBOEI7RUFDOUIsOEJBQThCO0VBQzlCLDhCQUE4QjtFQUM5Qiw2QkFBNkI7RUFDN0IsNkJBQTZCO0VBQzdCLDZCQUE2QjtFQUM3Qiw2QkFBNkI7RUFDN0IsNkJBQTZCO0VBQzdCLDZCQUE2QjtFQUM3Qiw2QkFBNkI7RUFDN0IsNkJBQTZCO0VBQzdCLDZCQUE2QjtFQUM3Qiw4QkFBOEI7RUFDOUIsOEJBQThCO0VBQzlCLDhCQUE4QjtFQUM5Qiw4QkFBOEI7RUFDOUIsOEJBQThCO0VBQzlCLCtCQUErQjtFQUMvQiwrQkFBK0I7RUFDL0IsK0JBQStCO0VBQy9CLCtCQUErQjtFQUMvQiwrQkFBK0I7RUFDL0IsK0JBQStCO0VBQy9CLCtCQUErQjtFQUMvQiwrQkFBK0I7RUFDL0IsK0JBQStCO0VBQy9CLGdDQUFnQztFQUNoQyxnQ0FBZ0M7RUFDaEMsZ0NBQWdDO0VBQ2hDLGdDQUFnQztFQUNoQyxnQ0FBZ0M7RUFDaEMsZ0NBQWdDO0VBQ2hDLGdDQUFnQztFQUNoQyxnQ0FBZ0M7RUFDaEMsZ0NBQWdDO0VBQ2hDLGdDQUFnQztFQUNoQyxnQ0FBZ0M7RUFDaEMsZ0NBQWdDO0VBQ2hDLGdDQUFnQztFQUNoQyxnQ0FBZ0M7RUFDaEMsaUNBQWlD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LGdDQUFnQztFQUNoQyxnQ0FBZ0M7RUFDaEMsNkJBQTZCO0VBQzdCLDZCQUE2QjtFQUM3Qiw2QkFBNkI7RUFDN0IsNkJBQTZCO0VBQzdCLDZCQUE2QjtFQUM3Qiw2QkFBNkI7RUFDN0IsNkJBQTZCO0VBQzdCLDZCQUE2QjtFQUM3Qiw2QkFBNkI7RUFDN0IsOEJBQThCO0VBQzlCLDhCQUE4QjtFQUM5Qiw4QkFBOEI7RUFDOUIsOEJBQThCO0VBQzlCLDhCQUE4QjtFQUM5Qiw4QkFBOEI7RUFDOUIsOEJBQThCO0VBQzlCLDhCQUE4QjtFQUM5Qiw4QkFBOEI7RUFDOUIsOEJBQThCO0VBQzlCLDhCQUE4QjtFQUM5Qiw4QkFBOEI7RUFDOUIsOEJBQThCO0VBQzlCLDhCQUE4QjtFQUM5QiwrQkFBK0I7RUFDL0IsK0JBQStCO0VBQy9CLCtCQUErQjtFQUMvQiwrQkFBK0I7RUFDL0IsK0JBQStCO0VBQy9CLDZCQUE2QjtFQUM3Qiw2QkFBNkI7RUFDN0IsNkJBQTZCO0VBQzdCLDZCQUE2QjtFQUM3Qiw2QkFBNkI7RUFDN0IsNkJBQTZCO0VBQzdCLDZCQUE2QjtFQUM3Qiw2QkFBNkI7RUFDN0IsNkJBQTZCO0VBQzdCLDhCQUE4QjtFQUM5Qiw4QkFBOEI7RUFDOUIsOEJBQThCO0VBQzlCLDhCQUE4QjtFQUM5Qiw4QkFBOEI7RUFDOUIsNkJBQTZCO0VBQzdCLDZCQUE2QjtFQUM3Qiw2QkFBNkI7RUFDN0IsNkJBQTZCO0VBQzdCLDZCQUE2QjtFQUM3Qiw2QkFBNkI7RUFDN0IsNkJBQTZCO0VBQzdCLDZCQUE2QjtFQUM3Qiw2QkFBNkI7RUFDN0IsOEJBQThCO0VBQzlCLDhCQUE4QjtFQUM5Qiw4QkFBOEI7RUFDOUIsOEJBQThCO0VBQzlCLDhCQUE4QjtFQUM5QiwrQkFBK0I7RUFDL0IsK0JBQStCO0VBQy9CLCtCQUErQjtFQUMvQiwrQkFBK0I7RUFDL0IsK0JBQStCO0VBQy9CLCtCQUErQjtFQUMvQiwrQkFBK0I7RUFDL0IsK0JBQStCO0VBQy9CLCtCQUErQjtFQUMvQixnQ0FBZ0M7RUFDaEMsZ0NBQWdDO0VBQ2hDLGdD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O0VBQ0UsMEJBQTBCO0FBQzVCOztBQUVBO0VBQ0UsY0FBYztBQUNoQjs7QUFFQTtFQUNFLDBCQUEwQjtBQUM1Qjs7QUFFQTtFQUNFLGNBQWM7QUFDaEI7O0FBRUE7RUFDRSx3QkFBd0I7QUFDMUI7O0FBRUE7RUFDRSxnQkFBZ0I7QUFDbEIiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3MvX2ZvbnQtc2l6ZXMucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy90aGVtZXMvbGVnYWN5LWxpZ2h0L2Nzcy9fcGF0aHMucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy90aGVtZXMvbGVnYWN5LWxpZ2h0L2Nzcy9fZm9udHMucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy90aGVtZXMvbGlnaHQvY3NzL19mb250cy5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL3RoZW1lcy9sZWdhY3ktbGlnaHQvY3NzL19sZWdhY3ktbGlnaHQucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy90aGVtZXMvbGVnYWN5LWRhcmsvY3NzL19sZWdhY3ktZGFyay5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL3RoZW1lcy9saWdodC1jdXN0b20vY3NzL19jdXN0b20ucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3MvX2NvbXBvbmVudHMucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3MvX2FuaW1hdGlvbnMucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3MvX2NvbW1vbi5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vbm9kZV9tb2R1bGVzL0B2ZWN0b3ItaW0vY29tcG91bmQtZGVzaWduLXRva2Vucy9hc3NldHMvd2ViL2Nzcy9jb21wb3VuZC1kZXNpZ24tdG9rZW5zLmNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL25vZGVfbW9kdWxlcy9AdmVjdG9yLWltL2NvbXBvdW5kLWRlc2lnbi10b2tlbnMvYXNzZXRzL3dlYi9jc3MvY3BkLWZvbnQtZmFsbGJhY2tzLmNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL25vZGVfbW9kdWxlcy9AdmVjdG9yLWltL2NvbXBvdW5kLWRlc2lnbi10b2tlbnMvYXNzZXRzL3dlYi9jc3MvY3BkLWNvbW1vbi1iYXNlLmNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL25vZGVfbW9kdWxlcy9AdmVjdG9yLWltL2NvbXBvdW5kLWRlc2lnbi10b2tlbnMvYXNzZXRzL3dlYi9jc3MvY3BkLWNvbW1vbi1zZW1hbnRpYy5jc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9ub2RlX21vZHVsZXMvQHZlY3Rvci1pbS9jb21wb3VuZC1kZXNpZ24tdG9rZW5zL2Fzc2V0cy93ZWIvY3NzL2NwZC10aGVtZS1saWdodC1iYXNlLmNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL25vZGVfbW9kdWxlcy9AdmVjdG9yLWltL2NvbXBvdW5kLWRlc2lnbi10b2tlbnMvYXNzZXRzL3dlYi9jc3MvY3BkLXRoZW1lLWxpZ2h0LWJhc2UtbXEuY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vbm9kZV9tb2R1bGVzL0B2ZWN0b3ItaW0vY29tcG91bmQtZGVzaWduLXRva2Vucy9hc3NldHMvd2ViL2Nzcy9jcGQtdGhlbWUtbGlnaHQtc2VtYW50aWMuY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vbm9kZV9tb2R1bGVzL0B2ZWN0b3ItaW0vY29tcG91bmQtZGVzaWduLXRva2Vucy9hc3NldHMvd2ViL2Nzcy9jcGQtdGhlbWUtbGlnaHQtc2VtYW50aWMtbXEuY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vbm9kZV9tb2R1bGVzL0B2ZWN0b3ItaW0vY29tcG91bmQtZGVzaWduLXRva2Vucy9hc3NldHMvd2ViL2Nzcy9jcGQtdGhlbWUtbGlnaHQtaGMtYmFzZS5jc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9ub2RlX21vZHVsZXMvQHZlY3Rvci1pbS9jb21wb3VuZC1kZXNpZ24tdG9rZW5zL2Fzc2V0cy93ZWIvY3NzL2NwZC10aGVtZS1saWdodC1oYy1iYXNlLW1xLmNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL25vZGVfbW9kdWxlcy9AdmVjdG9yLWltL2NvbXBvdW5kLWRlc2lnbi10b2tlbnMvYXNzZXRzL3dlYi9jc3MvY3BkLXRoZW1lLWxpZ2h0LWhjLXNlbWFudGljLmNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL25vZGVfbW9kdWxlcy9AdmVjdG9yLWltL2NvbXBvdW5kLWRlc2lnbi10b2tlbnMvYXNzZXRzL3dlYi9jc3MvY3BkLXRoZW1lLWxpZ2h0LWhjLXNlbWFudGljLW1xLmNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL25vZGVfbW9kdWxlcy9AdmVjdG9yLWltL2NvbXBvdW5kLWRlc2lnbi10b2tlbnMvYXNzZXRzL3dlYi9jc3MvY3BkLXRoZW1lLWRhcmstYmFzZS5jc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9ub2RlX21vZHVsZXMvQHZlY3Rvci1pbS9jb21wb3VuZC1kZXNpZ24tdG9rZW5zL2Fzc2V0cy93ZWIvY3NzL2NwZC10aGVtZS1kYXJrLWJhc2UtbXEuY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vbm9kZV9tb2R1bGVzL0B2ZWN0b3ItaW0vY29tcG91bmQtZGVzaWduLXRva2Vucy9hc3NldHMvd2ViL2Nzcy9jcGQtdGhlbWUtZGFyay1zZW1hbnRpYy5jc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9ub2RlX21vZHVsZXMvQHZlY3Rvci1pbS9jb21wb3VuZC1kZXNpZ24tdG9rZW5zL2Fzc2V0cy93ZWIvY3NzL2NwZC10aGVtZS1kYXJrLXNlbWFudGljLW1xLmNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL25vZGVfbW9kdWxlcy9AdmVjdG9yLWltL2NvbXBvdW5kLWRlc2lnbi10b2tlbnMvYXNzZXRzL3dlYi9jc3MvY3BkLXRoZW1lLWRhcmstaGMtYmFzZS5jc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9ub2RlX21vZHVsZXMvQHZlY3Rvci1pbS9jb21wb3VuZC1kZXNpZ24tdG9rZW5zL2Fzc2V0cy93ZWIvY3NzL2NwZC10aGVtZS1kYXJrLWhjLWJhc2UtbXEuY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vbm9kZV9tb2R1bGVzL0B2ZWN0b3ItaW0vY29tcG91bmQtZGVzaWduLXRva2Vucy9hc3NldHMvd2ViL2Nzcy9jcGQtdGhlbWUtZGFyay1oYy1zZW1hbnRpYy5jc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9ub2RlX21vZHVsZXMvQHZlY3Rvci1pbS9jb21wb3VuZC1kZXNpZ24tdG9rZW5zL2Fzc2V0cy93ZWIvY3NzL2NwZC10aGVtZS1kYXJrLWhjLXNlbWFudGljLW1xLmNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL25vZGVfbW9kdWxlcy9AdmVjdG9yLWltL2NvbXBvdW5kLXdlYi9kaXN0L3N0eWxlLmNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3MvX3NwYWNpbmcucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL25vZGVfbW9kdWxlcy9tYXBsaWJyZS1nbC9kaXN0L21hcGxpYnJlLWdsLmNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi88bm8gc291cmNlPiIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy90aGVtZXMvZGFyay1jdXN0b20vY3NzL2RhcmstY3VzdG9tLnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL2NvbXBvbmVudHMvdmlld3MvYmVhY29uL19CZWFjb25MaXN0SXRlbS5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy9jb21wb25lbnRzL3ZpZXdzL2JlYWNvbi9fQmVhY29uU3RhdHVzLnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL2NvbXBvbmVudHMvdmlld3MvYmVhY29uL19CZWFjb25TdGF0dXNUb29sdGlwLnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL2NvbXBvbmVudHMvdmlld3MvYmVhY29uL19CZWFjb25WaWV3RGlhbG9nLnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL2NvbXBvbmVudHMvdmlld3MvYmVhY29uL19EaWFsb2dPd25CZWFjb25TdGF0dXMucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3MvY29tcG9uZW50cy92aWV3cy9iZWFjb24vX0RpYWxvZ1NpZGViYXIucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3MvY29tcG9uZW50cy92aWV3cy9iZWFjb24vX0xlZnRQYW5lbExpdmVTaGFyZVdhcm5pbmcucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3MvY29tcG9uZW50cy92aWV3cy9iZWFjb24vX0xpdmVUaW1lUmVtYWluaW5nLnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL2NvbXBvbmVudHMvdmlld3MvYmVhY29uL19Pd25CZWFjb25TdGF0dXMucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3MvY29tcG9uZW50cy92aWV3cy9iZWFjb24vX1NoYXJlTGF0ZXN0TG9jYXRpb24ucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3MvY29tcG9uZW50cy92aWV3cy9iZWFjb24vX1N0eWxlZExpdmVCZWFjb25JY29uLnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL2NvbXBvbmVudHMvdmlld3MvY29udGV4dF9tZW51cy9fS2ViYWJDb250ZXh0TWVudS5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy9jb21wb25lbnRzL3ZpZXdzL2RpYWxvZ3MvcG9sbHMvX1BvbGxEZXRhaWxIZWFkZXIucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3MvY29tcG9uZW50cy92aWV3cy9kaWFsb2dzL3BvbGxzL19Qb2xsTGlzdEl0ZW0ucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3MvY29tcG9uZW50cy92aWV3cy9kaWFsb2dzL3BvbGxzL19Qb2xsTGlzdEl0ZW1FbmRlZC5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy9jb21wb25lbnRzL3ZpZXdzL2VsZW1lbnRzL19BcHBQZXJtaXNzaW9uLnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL2NvbXBvbmVudHMvdmlld3MvZWxlbWVudHMvX0FwcFdhcm5pbmcucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3MvY29tcG9uZW50cy92aWV3cy9lbGVtZW50cy9fRmlsdGVyRHJvcGRvd24ucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3MvY29tcG9uZW50cy92aWV3cy9lbGVtZW50cy9fRmlsdGVyVGFiR3JvdXAucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3MvY29tcG9uZW50cy92aWV3cy9lbGVtZW50cy9fTGVhcm5Nb3JlLnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL2NvbXBvbmVudHMvdmlld3MvbG9jYXRpb24vX0VuYWJsZUxpdmVTaGFyZS5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy9jb21wb25lbnRzL3ZpZXdzL2xvY2F0aW9uL19MaXZlRHVyYXRpb25Ecm9wZG93bi5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy9jb21wb25lbnRzL3ZpZXdzL2xvY2F0aW9uL19Mb2NhdGlvblNoYXJlTWVudS5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy9jb21wb25lbnRzL3ZpZXdzL2xvY2F0aW9uL19NYXBFcnJvci5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy9jb21wb25lbnRzL3ZpZXdzL2xvY2F0aW9uL19NYXBGYWxsYmFjay5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy9jb21wb25lbnRzL3ZpZXdzL2xvY2F0aW9uL19NYXJrZXIucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3MvY29tcG9uZW50cy92aWV3cy9sb2NhdGlvbi9fU2hhcmVEaWFsb2dCdXR0b25zLnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL2NvbXBvbmVudHMvdmlld3MvbG9jYXRpb24vX1NoYXJlVHlwZS5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy9jb21wb25lbnRzL3ZpZXdzL2xvY2F0aW9uL19ab29tQnV0dG9ucy5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy9jb21wb25lbnRzL3ZpZXdzL21lc3NhZ2VzL19NQmVhY29uQm9keS5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy9jb21wb25lbnRzL3ZpZXdzL21lc3NhZ2VzL3NoYXJlZC9fTWVkaWFQcm9jZXNzaW5nRXJyb3IucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3MvY29tcG9uZW50cy92aWV3cy9waXBzL19XaWRnZXRQaXAucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3MvY29tcG9uZW50cy92aWV3cy9wb2xscy9fUG9sbE9wdGlvbi5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy9jb21wb25lbnRzL3ZpZXdzL3NldHRpbmdzL19BZGRSZW1vdmVUaHJlZXBpZHMucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3MvY29tcG9uZW50cy92aWV3cy9zZXR0aW5ncy9kZXZpY2VzL19DdXJyZW50RGV2aWNlU2VjdGlvbi5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy9jb21wb25lbnRzL3ZpZXdzL3NldHRpbmdzL2RldmljZXMvX0RldmljZURldGFpbEhlYWRpbmcucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3MvY29tcG9uZW50cy92aWV3cy9zZXR0aW5ncy9kZXZpY2VzL19EZXZpY2VEZXRhaWxzLnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL2NvbXBvbmVudHMvdmlld3Mvc2V0dGluZ3MvZGV2aWNlcy9fRGV2aWNlRXhwYW5kRGV0YWlsc0J1dHRvbi5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy9jb21wb25lbnRzL3ZpZXdzL3NldHRpbmdzL2RldmljZXMvX0RldmljZVNlY3VyaXR5Q2FyZC5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy9jb21wb25lbnRzL3ZpZXdzL3NldHRpbmdzL2RldmljZXMvX0RldmljZVRpbGUucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3MvY29tcG9uZW50cy92aWV3cy9zZXR0aW5ncy9kZXZpY2VzL19EZXZpY2VUeXBlSWNvbi5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy9jb21wb25lbnRzL3ZpZXdzL3NldHRpbmdzL2RldmljZXMvX0ZpbHRlcmVkRGV2aWNlTGlzdC5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy9jb21wb25lbnRzL3ZpZXdzL3NldHRpbmdzL2RldmljZXMvX0ZpbHRlcmVkRGV2aWNlTGlzdEhlYWRlci5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy9jb21wb25lbnRzL3ZpZXdzL3NldHRpbmdzL2RldmljZXMvX1NlY3VyaXR5UmVjb21tZW5kYXRpb25zLnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL2NvbXBvbmVudHMvdmlld3Mvc2V0dGluZ3MvZGV2aWNlcy9fU2VsZWN0YWJsZURldmljZVRpbGUucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3MvY29tcG9uZW50cy92aWV3cy9zZXR0aW5ncy9zaGFyZWQvX1NldHRpbmdzU3Vic2VjdGlvbi5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy9jb21wb25lbnRzL3ZpZXdzL3NldHRpbmdzL3NoYXJlZC9fU2V0dGluZ3NTdWJzZWN0aW9uSGVhZGluZy5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy9jb21wb25lbnRzL3ZpZXdzL3NwYWNlcy9fUXVpY2tUaGVtZVN3aXRjaGVyLnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL2NvbXBvbmVudHMvdmlld3MvdHlwb2dyYXBoeS9fQ2FwdGlvbi5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy9jb21wb25lbnRzL3ZpZXdzL3V0aWxzL19Cb3gucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3MvY29tcG9uZW50cy92aWV3cy91dGlscy9fRmxleC5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy9jb21wb3VuZC9fSWNvbi5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy9jb21wb3VuZC9fU3VjY2Vzc0RpYWxvZy5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy9zdHJ1Y3R1cmVzL19BdXRvSGlkZVNjcm9sbGJhci5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy9zdHJ1Y3R1cmVzL19BdXRvY29tcGxldGVJbnB1dC5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy9zdHJ1Y3R1cmVzL19CYWNrZHJvcFBhbmVsLnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL3N0cnVjdHVyZXMvX0NvbXBhdGliaWxpdHlQYWdlLnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL3N0cnVjdHVyZXMvX0NvbnRleHR1YWxNZW51LnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL3N0cnVjdHVyZXMvX0Vycm9yTWVzc2FnZS5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy9zdHJ1Y3R1cmVzL19GaWxlRHJvcFRhcmdldC5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy9zdHJ1Y3R1cmVzL19GaWxlUGFuZWwucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvc3RydWN0dXJlcy9fR2VuZXJpY0Ryb3Bkb3duTWVudS5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy9zdHJ1Y3R1cmVzL19Ib21lUGFnZS5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy9zdHJ1Y3R1cmVzL19MYXJnZUxvYWRlci5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy9zdHJ1Y3R1cmVzL19MZWZ0UGFuZWwucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvc3RydWN0dXJlcy9fTWFpblNwbGl0LnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL3N0cnVjdHVyZXMvX01hdHJpeENoYXQucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvc3RydWN0dXJlcy9fTWVzc2FnZVBhbmVsLnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL3N0cnVjdHVyZXMvX05vblVyZ2VudFRvYXN0Q29udGFpbmVyLnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL3N0cnVjdHVyZXMvX1F1aWNrU2V0dGluZ3NCdXR0b24ucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvc3RydWN0dXJlcy9fUmlnaHRQYW5lbC5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy9zdHJ1Y3R1cmVzL19Sb29tU2VhcmNoLnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL3N0cnVjdHVyZXMvX1Jvb21TdGF0dXNCYXIucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvc3RydWN0dXJlcy9fUm9vbVZpZXcucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvc3RydWN0dXJlcy9fU2VhcmNoQm94LnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL3N0cnVjdHVyZXMvX1NwYWNlSGllcmFyY2h5LnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL3N0cnVjdHVyZXMvX1NwYWNlUGFuZWwucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvc3RydWN0dXJlcy9fU3BhY2VSb29tVmlldy5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy9zdHJ1Y3R1cmVzL19TcGxhc2hQYWdlLnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL3N0cnVjdHVyZXMvX1RhYmJlZFZpZXcucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvc3RydWN0dXJlcy9fVGhyZWFkc0FjdGl2aXR5Q2VudHJlLnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL3N0cnVjdHVyZXMvX1RvYXN0Q29udGFpbmVyLnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL3N0cnVjdHVyZXMvX1VwbG9hZEJhci5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy9zdHJ1Y3R1cmVzL19Vc2VyTWVudS5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy9zdHJ1Y3R1cmVzL19WaWV3U291cmNlLnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL3N0cnVjdHVyZXMvYXV0aC9fQ29tcGxldGVTZWN1cml0eS5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy9zdHJ1Y3R1cmVzL2F1dGgvX0NvbmZpcm1TZXNzaW9uTG9ja1RoZWZ0Vmlldy5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy9zdHJ1Y3R1cmVzL2F1dGgvX0xvZ2luLnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL3N0cnVjdHVyZXMvYXV0aC9fTG9naW5TcGxhc2hWaWV3LnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL3N0cnVjdHVyZXMvYXV0aC9fTW9iaWxlUmVnaXN0cmF0aW9uLnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL3N0cnVjdHVyZXMvYXV0aC9fUmVnaXN0cmF0aW9uLnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL3N0cnVjdHVyZXMvYXV0aC9fU2Vzc2lvbkxvY2tTdG9sZW5WaWV3LnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL3N0cnVjdHVyZXMvYXV0aC9fU2V0dXBFbmNyeXB0aW9uQm9keS5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy92aWV3cy9hdWRpb19tZXNzYWdlcy9fQXVkaW9QbGF5ZXIucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvdmlld3MvYXVkaW9fbWVzc2FnZXMvX1BsYXlQYXVzZUJ1dHRvbi5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy92aWV3cy9hdWRpb19tZXNzYWdlcy9fUGxheWJhY2tDb250YWluZXIucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvdmlld3MvYXVkaW9fbWVzc2FnZXMvX1NlZWtCYXIucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvdmlld3MvYXVkaW9fbWVzc2FnZXMvX1dhdmVmb3JtLnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL3ZpZXdzL2F1dGgvX0F1dGhCb2R5LnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL3ZpZXdzL2F1dGgvX0F1dGhGb290ZXIucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvdmlld3MvYXV0aC9fQXV0aEhlYWRlci5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy92aWV3cy9hdXRoL19BdXRoSGVhZGVyTG9nby5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy92aWV3cy9hdXRoL19BdXRoUGFnZS5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy92aWV3cy9hdXRoL19Db21wbGV0ZVNlY3VyaXR5Qm9keS5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy92aWV3cy9hdXRoL19Db3VudHJ5RHJvcGRvd24ucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvdmlld3MvYXV0aC9fSW50ZXJhY3RpdmVBdXRoRW50cnlDb21wb25lbnRzLnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL3ZpZXdzL2F1dGgvX0xhbmd1YWdlU2VsZWN0b3IucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvdmlld3MvYXV0aC9fTG9naW5XaXRoUVIucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvdmlld3MvYXV0aC9fUGFzc3BocmFzZUZpZWxkLnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL3ZpZXdzL2F1dGgvX1dlbGNvbWUucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvdmlld3MvYXZhdGFycy9fQmFzZUF2YXRhci5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy92aWV3cy9hdmF0YXJzL19EZWNvcmF0ZWRSb29tQXZhdGFyLnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL3ZpZXdzL2F2YXRhcnMvX1dpZGdldEF2YXRhci5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy92aWV3cy9hdmF0YXJzL19XaXRoUHJlc2VuY2VJbmRpY2F0b3IucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvdmlld3MvYmV0YS9fQmV0YUNhcmQucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvdmlld3MvY29udGV4dF9tZW51cy9fRGV2aWNlQ29udGV4dE1lbnUucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvdmlld3MvY29udGV4dF9tZW51cy9fSWNvbml6ZWRDb250ZXh0TWVudS5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy92aWV3cy9jb250ZXh0X21lbnVzL19MZWdhY3lDYWxsQ29udGV4dE1lbnUucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvdmlld3MvY29udGV4dF9tZW51cy9fTWVzc2FnZUNvbnRleHRNZW51LnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL3ZpZXdzL2NvbnRleHRfbWVudXMvX1Jvb21HZW5lcmFsQ29udGV4dE1lbnUucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvdmlld3MvY29udGV4dF9tZW51cy9fUm9vbU5vdGlmaWNhdGlvbkNvbnRleHRNZW51LnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL3ZpZXdzL2RpYWxvZ3MvX0FkZEV4aXN0aW5nVG9TcGFjZURpYWxvZy5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy92aWV3cy9kaWFsb2dzL19BbmFseXRpY3NMZWFybk1vcmVEaWFsb2cucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvdmlld3MvZGlhbG9ncy9fQXBwRG93bmxvYWREaWFsb2cucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvdmlld3MvZGlhbG9ncy9fQnVnUmVwb3J0RGlhbG9nLnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL3ZpZXdzL2RpYWxvZ3MvX0J1bGtSZWRhY3REaWFsb2cucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvdmlld3MvZGlhbG9ncy9fQ2hhbmdlbG9nRGlhbG9nLnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL3ZpZXdzL2RpYWxvZ3MvX0NvbXBvdW5kRGlhbG9nLnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL3ZpZXdzL2RpYWxvZ3MvX0NvbmZpcm1TcGFjZVVzZXJBY3Rpb25EaWFsb2cucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvdmlld3MvZGlhbG9ncy9fQ29uZmlybVVzZXJBY3Rpb25EaWFsb2cucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvdmlld3MvZGlhbG9ncy9fQ3JlYXRlUm9vbURpYWxvZy5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy92aWV3cy9kaWFsb2dzL19DcmVhdGVTdWJzcGFjZURpYWxvZy5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy92aWV3cy9kaWFsb2dzL19EZWFjdGl2YXRlQWNjb3VudERpYWxvZy5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy92aWV3cy9kaWFsb2dzL19EZXZ0b29sc0RpYWxvZy5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy92aWV3cy9kaWFsb2dzL19FeHBvcnREaWFsb2cucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvdmlld3MvZGlhbG9ncy9fRmVlZGJhY2tEaWFsb2cucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvdmlld3MvZGlhbG9ncy9fRm9yd2FyZERpYWxvZy5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy92aWV3cy9kaWFsb2dzL19HZW5lcmljRmVhdHVyZUZlZWRiYWNrRGlhbG9nLnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL3ZpZXdzL2RpYWxvZ3MvX0luY29taW5nU2FzRGlhbG9nLnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL3ZpZXdzL2RpYWxvZ3MvX0ludml0ZURpYWxvZy5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy92aWV3cy9kaWFsb2dzL19Kb2luUnVsZURyb3Bkb3duLnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL3ZpZXdzL2RpYWxvZ3MvX0xlYXZlU3BhY2VEaWFsb2cucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvdmlld3MvZGlhbG9ncy9fTG9jYXRpb25WaWV3RGlhbG9nLnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL3ZpZXdzL2RpYWxvZ3MvX0xvZ291dERpYWxvZy5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy92aWV3cy9kaWFsb2dzL19NYW5hZ2VSZXN0cmljdGVkSm9pblJ1bGVEaWFsb2cucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvdmlld3MvZGlhbG9ncy9fTWVzc2FnZUVkaXRIaXN0b3J5RGlhbG9nLnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL3ZpZXdzL2RpYWxvZ3MvX01vZGFsV2lkZ2V0RGlhbG9nLnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL3ZpZXdzL2RpYWxvZ3MvX1BvbGxDcmVhdGVEaWFsb2cucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvdmlld3MvZGlhbG9ncy9fUmVnaXN0cmF0aW9uRW1haWxQcm9tcHREaWFsb2cucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvdmlld3MvZGlhbG9ncy9fUm9vbVNldHRpbmdzRGlhbG9nLnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL3ZpZXdzL2RpYWxvZ3MvX1Jvb21TZXR0aW5nc0RpYWxvZ0JyaWRnZXMucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvdmlld3MvZGlhbG9ncy9fUm9vbVVwZ3JhZGVEaWFsb2cucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvdmlld3MvZGlhbG9ncy9fUm9vbVVwZ3JhZGVXYXJuaW5nRGlhbG9nLnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL3ZpZXdzL2RpYWxvZ3MvX1NlcnZlck9mZmxpbmVEaWFsb2cucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvdmlld3MvZGlhbG9ncy9fU2VydmVyUGlja2VyRGlhbG9nLnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL3ZpZXdzL2RpYWxvZ3MvX1NldEVtYWlsRGlhbG9nLnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL3ZpZXdzL2RpYWxvZ3MvX1NldHRpbmdzRGlhbG9nLnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL3ZpZXdzL2RpYWxvZ3MvX1NoYXJlRGlhbG9nLnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL3ZpZXdzL2RpYWxvZ3MvX1NsYXNoQ29tbWFuZEhlbHBEaWFsb2cucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvdmlld3MvZGlhbG9ncy9fU3BhY2VQcmVmZXJlbmNlc0RpYWxvZy5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy92aWV3cy9kaWFsb2dzL19TcGFjZVNldHRpbmdzRGlhbG9nLnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL3ZpZXdzL2RpYWxvZ3MvX1Nwb3RsaWdodERpYWxvZy5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy92aWV3cy9kaWFsb2dzL19UZXJtc0RpYWxvZy5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy92aWV3cy9kaWFsb2dzL19VbnBpbkFsbERpYWxvZy5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy92aWV3cy9kaWFsb2dzL19VbnRydXN0ZWREZXZpY2VEaWFsb2cucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvdmlld3MvZGlhbG9ncy9fVXBsb2FkQ29uZmlybURpYWxvZy5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy92aWV3cy9kaWFsb2dzL19Vc2VyU2V0dGluZ3NEaWFsb2cucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvdmlld3MvZGlhbG9ncy9fVmVyaWZ5RU1haWxEaWFsb2cucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvdmlld3MvZGlhbG9ncy9fV2lkZ2V0Q2FwYWJpbGl0aWVzUHJvbXB0RGlhbG9nLnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL3ZpZXdzL2RpYWxvZ3Mvc2VjdXJpdHkvX0FjY2Vzc1NlY3JldFN0b3JhZ2VEaWFsb2cucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvdmlld3MvZGlhbG9ncy9zZWN1cml0eS9fQ3JlYXRlQ3Jvc3NTaWduaW5nRGlhbG9nLnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL3ZpZXdzL2RpYWxvZ3Mvc2VjdXJpdHkvX0NyZWF0ZUtleUJhY2t1cERpYWxvZy5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy92aWV3cy9kaWFsb2dzL3NlY3VyaXR5L19DcmVhdGVTZWNyZXRTdG9yYWdlRGlhbG9nLnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL3ZpZXdzL2RpYWxvZ3Mvc2VjdXJpdHkvX0tleUJhY2t1cEZhaWxlZERpYWxvZy5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy92aWV3cy9kaWFsb2dzL3NlY3VyaXR5L19SZXN0b3JlS2V5QmFja3VwRGlhbG9nLnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL3ZpZXdzL2RpcmVjdG9yeS9fTmV0d29ya0Ryb3Bkb3duLnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL3ZpZXdzL2VsZW1lbnRzL19BY2Nlc3NpYmxlQnV0dG9uLnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL3ZpZXdzL2VsZW1lbnRzL19Db3B5YWJsZVRleHQucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvdmlld3MvZWxlbWVudHMvX0Rlc2t0b3BDYXB0dXJlclNvdXJjZVBpY2tlci5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy92aWV3cy9lbGVtZW50cy9fRGlhbFBhZEJhY2tzcGFjZUJ1dHRvbi5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy92aWV3cy9lbGVtZW50cy9fRHJvcGRvd24ucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvdmlld3MvZWxlbWVudHMvX0VkaXRhYmxlSXRlbUxpc3QucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvdmlld3MvZWxlbWVudHMvX0Vycm9yQm91bmRhcnkucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvdmlld3MvZWxlbWVudHMvX0V4dGVybmFsTGluay5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy92aWV3cy9lbGVtZW50cy9fRmFjZVBpbGUucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvdmlld3MvZWxlbWVudHMvX0ZpZWxkLnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL3ZpZXdzL2VsZW1lbnRzL19HZW5lcmljRXZlbnRMaXN0U3VtbWFyeS5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy92aWV3cy9lbGVtZW50cy9fSW1hZ2VWaWV3LnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL3ZpZXdzL2VsZW1lbnRzL19JbmZvVG9vbHRpcC5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy92aWV3cy9lbGVtZW50cy9fSW5saW5lU3Bpbm5lci5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy92aWV3cy9lbGVtZW50cy9fSW50ZXJhY3RpdmVUb29sdGlwLnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL3ZpZXdzL2VsZW1lbnRzL19JbnZpdGVSZWFzb24ucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvdmlld3MvZWxlbWVudHMvX0xhYmVsbGVkQ2hlY2tib3gucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvdmlld3MvZWxlbWVudHMvX0xhbmd1YWdlRHJvcGRvd24ucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvdmlld3MvZWxlbWVudHMvX01pbmlBdmF0YXJVcGxvYWRlci5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy92aWV3cy9lbGVtZW50cy9fUGlsbC5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy92aWV3cy9lbGVtZW50cy9fUG93ZXJTZWxlY3Rvci5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy92aWV3cy9lbGVtZW50cy9fUHJvZ3Jlc3NCYXIucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvdmlld3MvZWxlbWVudHMvX1FSQ29kZS5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy92aWV3cy9lbGVtZW50cy9fUmVwbHlDaGFpbi5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy92aWV3cy9lbGVtZW50cy9fUmVzaXplSGFuZGxlLnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL3ZpZXdzL2VsZW1lbnRzL19SaWNoVGV4dC5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy92aWV3cy9lbGVtZW50cy9fUm9vbUFsaWFzRmllbGQucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvdmlld3MvZWxlbWVudHMvX1NTT0J1dHRvbnMucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvdmlld3MvZWxlbWVudHMvX1NlYXJjaFdhcm5pbmcucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvdmlld3MvZWxlbWVudHMvX1NlcnZlclBpY2tlci5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy92aWV3cy9lbGVtZW50cy9fU2V0dGluZ3NGbGFnLnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL3ZpZXdzL2VsZW1lbnRzL19TcGlubmVyLnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL3ZpZXdzL2VsZW1lbnRzL19TdHlsZWRDaGVja2JveC5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy92aWV3cy9lbGVtZW50cy9fU3R5bGVkUmFkaW9CdXR0b24ucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvdmlld3MvZWxlbWVudHMvX1N5bnRheEhpZ2hsaWdodC5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy92aWV3cy9lbGVtZW50cy9fVGFnQ29tcG9zZXIucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvdmlld3MvZWxlbWVudHMvX1RleHRXaXRoVG9vbHRpcC5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy92aWV3cy9lbGVtZW50cy9fVG9nZ2xlU3dpdGNoLnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL3ZpZXdzL2VsZW1lbnRzL19Vc2VDYXNlU2VsZWN0aW9uLnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL3ZpZXdzL2VsZW1lbnRzL19Vc2VDYXNlU2VsZWN0aW9uQnV0dG9uLnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL3ZpZXdzL2VsZW1lbnRzL19WYWxpZGF0aW9uLnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL3ZpZXdzL2Vtb2ppcGlja2VyL19FbW9qaVBpY2tlci5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy92aWV3cy9sb2NhdGlvbi9fTG9jYXRpb25QaWNrZXIucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvdmlld3MvbWVzc2FnZXMvX0NhbGxFdmVudC5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy92aWV3cy9tZXNzYWdlcy9fQ3JlYXRlRXZlbnQucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvdmlld3MvbWVzc2FnZXMvX0RhdGVTZXBhcmF0b3IucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvdmlld3MvbWVzc2FnZXMvX0RlY3J5cHRpb25GYWlsdXJlQm9keS5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy92aWV3cy9tZXNzYWdlcy9fRGlzYW1iaWd1YXRlZFByb2ZpbGUucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvdmlld3MvbWVzc2FnZXMvX0V2ZW50VGlsZUJ1YmJsZS5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy92aWV3cy9tZXNzYWdlcy9fSGlkZGVuQm9keS5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy92aWV3cy9tZXNzYWdlcy9fSnVtcFRvRGF0ZVBpY2tlci5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy92aWV3cy9tZXNzYWdlcy9fTGVnYWN5Q2FsbEV2ZW50LnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL3ZpZXdzL21lc3NhZ2VzL19NRW1vdGVCb2R5LnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL3ZpZXdzL21lc3NhZ2VzL19NRmlsZUJvZHkucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvdmlld3MvbWVzc2FnZXMvX01JbWFnZUJvZHkucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvdmlld3MvbWVzc2FnZXMvX01JbWFnZVJlcGx5Qm9keS5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy92aWV3cy9tZXNzYWdlcy9fTUppdHNpV2lkZ2V0RXZlbnQucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvdmlld3MvbWVzc2FnZXMvX01Mb2NhdGlvbkJvZHkucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvdmlld3MvbWVzc2FnZXMvX01Ob3RpY2VCb2R5LnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL3ZpZXdzL21lc3NhZ2VzL19NUG9sbEJvZHkucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvdmlld3MvbWVzc2FnZXMvX01Qb2xsRW5kQm9keS5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy92aWV3cy9tZXNzYWdlcy9fTVN0aWNrZXJCb2R5LnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL3ZpZXdzL21lc3NhZ2VzL19NVGV4dEJvZHkucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvdmlld3MvbWVzc2FnZXMvX01WaWRlb0JvZHkucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvdmlld3MvbWVzc2FnZXMvX01lZGlhQm9keS5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy92aWV3cy9tZXNzYWdlcy9fTWVzc2FnZUFjdGlvbkJhci5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy92aWV3cy9tZXNzYWdlcy9fTWVzc2FnZVRpbWVzdGFtcC5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy92aWV3cy9tZXNzYWdlcy9fTWpvbG5pckJvZHkucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvdmlld3MvbWVzc2FnZXMvX1Bpbm5lZE1lc3NhZ2VCYWRnZS5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy92aWV3cy9tZXNzYWdlcy9fUmVhY3Rpb25zUm93LnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL3ZpZXdzL21lc3NhZ2VzL19SZWFjdGlvbnNSb3dCdXR0b24ucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvdmlld3MvbWVzc2FnZXMvX1JlZGFjdGVkQm9keS5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy92aWV3cy9tZXNzYWdlcy9fUm9vbUF2YXRhckV2ZW50LnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL3ZpZXdzL21lc3NhZ2VzL19UZXh0dWFsRXZlbnQucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvdmlld3MvbWVzc2FnZXMvX1RpbWVsaW5lU2VwYXJhdG9yLnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL3ZpZXdzL21lc3NhZ2VzL19Vbmtub3duQm9keS5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy92aWV3cy9tZXNzYWdlcy9fVmlld1NvdXJjZUV2ZW50LnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL3ZpZXdzL21lc3NhZ2VzL19jb21tb25fQ3J5cHRvRXZlbnQucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvdmlld3MvcG9sbHMvcG9sbEhpc3RvcnkvX1BvbGxIaXN0b3J5LnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL3ZpZXdzL3BvbGxzL3BvbGxIaXN0b3J5L19Qb2xsSGlzdG9yeUxpc3QucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvdmlld3MvcmlnaHRfcGFuZWwvX0Jhc2VDYXJkLnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL3ZpZXdzL3JpZ2h0X3BhbmVsL19FbXB0eVN0YXRlLnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL3ZpZXdzL3JpZ2h0X3BhbmVsL19FbmNyeXB0aW9uSW5mby5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy92aWV3cy9yaWdodF9wYW5lbC9fRXh0ZW5zaW9uc0NhcmQucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvdmlld3MvcmlnaHRfcGFuZWwvX1Bpbm5lZE1lc3NhZ2VzQ2FyZC5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy92aWV3cy9yaWdodF9wYW5lbC9fUm9vbVN1bW1hcnlDYXJkLnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL3ZpZXdzL3JpZ2h0X3BhbmVsL19UaHJlYWRQYW5lbC5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy92aWV3cy9yaWdodF9wYW5lbC9fVGltZWxpbmVDYXJkLnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL3ZpZXdzL3JpZ2h0X3BhbmVsL19Vc2VySW5mby5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy92aWV3cy9yaWdodF9wYW5lbC9fVmVyaWZpY2F0aW9uUGFuZWwucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvdmlld3MvcmlnaHRfcGFuZWwvX1dpZGdldENhcmQucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvdmlld3Mvcm9vbV9zZXR0aW5ncy9fQWxpYXNTZXR0aW5ncy5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy92aWV3cy9yb29tcy9fQXBwc0RyYXdlci5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy92aWV3cy9yb29tcy9fQXV0b2NvbXBsZXRlLnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL3ZpZXdzL3Jvb21zL19BdXhQYW5lbC5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy92aWV3cy9yb29tcy9fQmFzaWNNZXNzYWdlQ29tcG9zZXIucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvdmlld3Mvcm9vbXMvX0NhbGxHdWVzdExpbmtCdXR0b24ucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvdmlld3Mvcm9vbXMvX0RlY3J5cHRpb25GYWlsdXJlQmFyLnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL3ZpZXdzL3Jvb21zL19FMkVJY29uLnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL3ZpZXdzL3Jvb21zL19FZGl0TWVzc2FnZUNvbXBvc2VyLnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL3ZpZXdzL3Jvb21zL19FbW9qaUJ1dHRvbi5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy92aWV3cy9yb29tcy9fRW50aXR5VGlsZS5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy92aWV3cy9yb29tcy9fRXZlbnRCdWJibGVUaWxlLnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL3ZpZXdzL3Jvb21zL19FdmVudFByZXZpZXcucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvdmlld3Mvcm9vbXMvX0V2ZW50VGlsZS5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy92aWV3cy9yb29tcy9fSGlzdG9yeVRpbGUucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvdmlld3Mvcm9vbXMvX0lSQ0xheW91dC5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy92aWV3cy9yb29tcy9fSnVtcFRvQm90dG9tQnV0dG9uLnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL3ZpZXdzL3Jvb21zL19MaW5rUHJldmlld0dyb3VwLnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL3ZpZXdzL3Jvb21zL19MaW5rUHJldmlld1dpZGdldC5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy92aWV3cy9yb29tcy9fTGl2ZUNvbnRlbnRTdW1tYXJ5LnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL3ZpZXdzL3Jvb21zL19NZW1iZXJMaXN0LnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL3ZpZXdzL3Jvb21zL19NZXNzYWdlQ29tcG9zZXIucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvdmlld3Mvcm9vbXMvX01lc3NhZ2VDb21wb3NlckZvcm1hdEJhci5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy92aWV3cy9yb29tcy9fTmV3Um9vbUludHJvLnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL3ZpZXdzL3Jvb21zL19Ob3RpZmljYXRpb25CYWRnZS5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy92aWV3cy9yb29tcy9fUGlubmVkRXZlbnRUaWxlLnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL3ZpZXdzL3Jvb21zL19QaW5uZWRNZXNzYWdlQmFubmVyLnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL3ZpZXdzL3Jvb21zL19QcmVzZW5jZUxhYmVsLnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL3ZpZXdzL3Jvb21zL19SZWFkUmVjZWlwdEdyb3VwLnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL3ZpZXdzL3Jvb21zL19SZXBseVByZXZpZXcucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvdmlld3Mvcm9vbXMvX1JlcGx5VGlsZS5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy92aWV3cy9yb29tcy9fUm9vbUJyZWFkY3J1bWJzLnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL3ZpZXdzL3Jvb21zL19Sb29tQ2FsbEJhbm5lci5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy92aWV3cy9yb29tcy9fUm9vbUhlYWRlci5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy92aWV3cy9yb29tcy9fUm9vbUluZm9MaW5lLnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL3ZpZXdzL3Jvb21zL19Sb29tS25vY2tzQmFyLnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL3ZpZXdzL3Jvb21zL19Sb29tTGlzdC5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy92aWV3cy9yb29tcy9fUm9vbUxpc3RIZWFkZXIucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvdmlld3Mvcm9vbXMvX1Jvb21QcmV2aWV3QmFyLnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL3ZpZXdzL3Jvb21zL19Sb29tUHJldmlld0NhcmQucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvdmlld3Mvcm9vbXMvX1Jvb21TZWFyY2hBdXhQYW5lbC5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy92aWV3cy9yb29tcy9fUm9vbVN1Ymxpc3QucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvdmlld3Mvcm9vbXMvX1Jvb21UaWxlLnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL3ZpZXdzL3Jvb21zL19Sb29tVXBncmFkZVdhcm5pbmdCYXIucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvdmlld3Mvcm9vbXMvX1NlbmRNZXNzYWdlQ29tcG9zZXIucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvdmlld3Mvcm9vbXMvX1N0aWNrZXJzLnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL3ZpZXdzL3Jvb21zL19UaGlyZFBhcnR5TWVtYmVySW5mby5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy92aWV3cy9yb29tcy9fVGhyZWFkU3VtbWFyeS5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy92aWV3cy9yb29tcy9fVG9wVW5yZWFkTWVzc2FnZXNCYXIucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvdmlld3Mvcm9vbXMvX1VzZXJJZGVudGl0eVdhcm5pbmcucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvdmlld3Mvcm9vbXMvX1ZvaWNlUmVjb3JkQ29tcG9zZXJUaWxlLnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL3ZpZXdzL3Jvb21zL19XaG9Jc1R5cGluZ1RpbGUucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvdmlld3Mvcm9vbXMvd3lzaXd5Z19jb21wb3Nlci9fRWRpdFd5c2l3eWdDb21wb3Nlci5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy92aWV3cy9yb29tcy93eXNpd3lnX2NvbXBvc2VyL19TZW5kV3lzaXd5Z0NvbXBvc2VyLnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL3ZpZXdzL3Jvb21zL3d5c2l3eWdfY29tcG9zZXIvY29tcG9uZW50cy9fRWRpdG9yLnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL3ZpZXdzL3Jvb21zL3d5c2l3eWdfY29tcG9zZXIvY29tcG9uZW50cy9fRm9ybWF0dGluZ0J1dHRvbnMucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvdmlld3Mvcm9vbXMvd3lzaXd5Z19jb21wb3Nlci9jb21wb25lbnRzL19MaW5rTW9kYWwucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvdmlld3Mvc2V0dGluZ3MvX0F2YXRhclNldHRpbmcucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvdmlld3Mvc2V0dGluZ3MvX0Nyb3NzU2lnbmluZ1BhbmVsLnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL3ZpZXdzL3NldHRpbmdzL19DcnlwdG9ncmFwaHlQYW5lbC5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy92aWV3cy9zZXR0aW5ncy9fRm9udFNjYWxpbmdQYW5lbC5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy92aWV3cy9zZXR0aW5ncy9fSW1hZ2VTaXplUGFuZWwucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvdmlld3Mvc2V0dGluZ3MvX0ludGVncmF0aW9uTWFuYWdlci5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy92aWV3cy9zZXR0aW5ncy9fSm9pblJ1bGVTZXR0aW5ncy5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy92aWV3cy9zZXR0aW5ncy9fS2V5Ym9hcmRTaG9ydGN1dC5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy92aWV3cy9zZXR0aW5ncy9fTGF5b3V0U3dpdGNoZXIucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvdmlld3Mvc2V0dGluZ3MvX05vdGlmaWNhdGlvblB1c2hlclNldHRpbmdzLnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL3ZpZXdzL3NldHRpbmdzL19Ob3RpZmljYXRpb25TZXR0aW5nczIucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvdmlld3Mvc2V0dGluZ3MvX05vdGlmaWNhdGlvbnMucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvdmlld3Mvc2V0dGluZ3MvX1Bob25lTnVtYmVycy5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy92aWV3cy9zZXR0aW5ncy9fUG93ZXJMZXZlbFNlbGVjdG9yLnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL3ZpZXdzL3NldHRpbmdzL19Sb29tUHJvZmlsZVNldHRpbmdzLnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL3ZpZXdzL3NldHRpbmdzL19TZWN1cmVCYWNrdXBQYW5lbC5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy92aWV3cy9zZXR0aW5ncy9fU2V0SWRTZXJ2ZXIucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvdmlld3Mvc2V0dGluZ3MvX1NldEludGVncmF0aW9uTWFuYWdlci5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy92aWV3cy9zZXR0aW5ncy9fU2V0dGluZ3NGaWVsZHNldC5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy92aWV3cy9zZXR0aW5ncy9fU3BlbGxDaGVja0xhbmd1YWdlcy5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy92aWV3cy9zZXR0aW5ncy9fVGhlbWVDaG9pY2VQYW5lbC5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy92aWV3cy9zZXR0aW5ncy9fVXBkYXRlQ2hlY2tCdXR0b24ucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvdmlld3Mvc2V0dGluZ3MvX1VzZXJQcm9maWxlU2V0dGluZ3MucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvdmlld3Mvc2V0dGluZ3MvdGFicy9fU2V0dGluZ3NCYW5uZXIucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvdmlld3Mvc2V0dGluZ3MvdGFicy9fU2V0dGluZ3NJbmRlbnQucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvdmlld3Mvc2V0dGluZ3MvdGFicy9fU2V0dGluZ3NTZWN0aW9uLnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL3ZpZXdzL3NldHRpbmdzL3RhYnMvX1NldHRpbmdzVGFiLnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL3ZpZXdzL3NldHRpbmdzL3RhYnMvcm9vbS9fTm90aWZpY2F0aW9uU2V0dGluZ3NUYWIucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvdmlld3Mvc2V0dGluZ3MvdGFicy9yb29tL19QZW9wbGVSb29tU2V0dGluZ3NUYWIucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvdmlld3Mvc2V0dGluZ3MvdGFicy9yb29tL19Sb2xlc1Jvb21TZXR0aW5nc1RhYi5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy92aWV3cy9zZXR0aW5ncy90YWJzL3Jvb20vX1NlY3VyaXR5Um9vbVNldHRpbmdzVGFiLnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL3ZpZXdzL3NldHRpbmdzL3RhYnMvdXNlci9fQXBwZWFyYW5jZVVzZXJTZXR0aW5nc1RhYi5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy92aWV3cy9zZXR0aW5ncy90YWJzL3VzZXIvX0hlbHBVc2VyU2V0dGluZ3NUYWIucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvdmlld3Mvc2V0dGluZ3MvdGFicy91c2VyL19LZXlib2FyZFVzZXJTZXR0aW5nc1RhYi5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy92aWV3cy9zZXR0aW5ncy90YWJzL3VzZXIvX01qb2xuaXJVc2VyU2V0dGluZ3NUYWIucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvdmlld3Mvc2V0dGluZ3MvdGFicy91c2VyL19QcmVmZXJlbmNlc1VzZXJTZXR0aW5nc1RhYi5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy92aWV3cy9zZXR0aW5ncy90YWJzL3VzZXIvX1NlY3VyaXR5VXNlclNldHRpbmdzVGFiLnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL3ZpZXdzL3NldHRpbmdzL3RhYnMvdXNlci9fU2lkZWJhclVzZXJTZXR0aW5nc1RhYi5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy92aWV3cy9zcGFjZXMvX1NwYWNlQmFzaWNTZXR0aW5ncy5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy92aWV3cy9zcGFjZXMvX1NwYWNlQ2hpbGRyZW5QaWNrZXIucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvdmlld3Mvc3BhY2VzL19TcGFjZUNyZWF0ZU1lbnUucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvdmlld3Mvc3BhY2VzL19TcGFjZVB1YmxpY1NoYXJlLnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL3ZpZXdzL3Rlcm1zL19JbmxpbmVUZXJtc0FncmVlbWVudC5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy92aWV3cy90b2FzdHMvX0FuYWx5dGljc1RvYXN0LnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL3ZpZXdzL3RvYXN0cy9fSW5jb21pbmdDYWxsVG9hc3QucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvdmlld3MvdG9hc3RzL19JbmNvbWluZ0xlZ2FjeUNhbGxUb2FzdC5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy92aWV3cy90b2FzdHMvX05vblVyZ2VudEVjaG9GYWlsdXJlVG9hc3QucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvdmlld3MvdHlwb2dyYXBoeS9fSGVhZGluZy5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy92aWV3cy91c2VyLW9uYm9hcmRpbmcvX1VzZXJPbmJvYXJkaW5nQnV0dG9uLnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL3ZpZXdzL3VzZXItb25ib2FyZGluZy9fVXNlck9uYm9hcmRpbmdIZWFkZXIucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvdmlld3MvdXNlci1vbmJvYXJkaW5nL19Vc2VyT25ib2FyZGluZ0xpc3QucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvdmlld3MvdXNlci1vbmJvYXJkaW5nL19Vc2VyT25ib2FyZGluZ1BhZ2UucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvdmlld3MvdXNlci1vbmJvYXJkaW5nL19Vc2VyT25ib2FyZGluZ1Rhc2sucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvdmlld3MvdmVyaWZpY2F0aW9uL19WZXJpZmljYXRpb25TaG93U2FzLnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL3ZpZXdzL3ZvaXAvTGVnYWN5Q2FsbFZpZXcvX0xlZ2FjeUNhbGxWaWV3QnV0dG9ucy5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy92aWV3cy92b2lwL19DYWxsRHVyYXRpb24ucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvdmlld3Mvdm9pcC9fQ2FsbFZpZXcucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvdmlld3Mvdm9pcC9fRGlhbFBhZC5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy92aWV3cy92b2lwL19EaWFsUGFkQ29udGV4dE1lbnUucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvdmlld3Mvdm9pcC9fRGlhbFBhZE1vZGFsLnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL3ZpZXdzL3ZvaXAvX0xlZ2FjeUNhbGxQcmV2aWV3LnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL3ZpZXdzL3ZvaXAvX0xlZ2FjeUNhbGxWaWV3LnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL3ZpZXdzL3ZvaXAvX0xlZ2FjeUNhbGxWaWV3Rm9yUm9vbS5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy92aWV3cy92b2lwL19MZWdhY3lDYWxsVmlld0hlYWRlci5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy92aWV3cy92b2lwL19MZWdhY3lDYWxsVmlld1NpZGViYXIucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvdmlld3Mvdm9pcC9fVmlkZW9GZWVkLnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9ub2RlX21vZHVsZXMvZ2l0aHViLW1hcmtkb3duLWNzcy9naXRodWItbWFya2Rvd24tZGFyay5jc3MiXSwic291cmNlc0NvbnRlbnQiOlsiLypcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxuQ29weXJpZ2h0IDIwMjAgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cblxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuKi9cblxuLypcbiAqIFNDU1MgdmFyaWFibGVzIGRlZmluaW5nIGEgcmFuZ2Ugb2YgZm9udCBzaXplcy5cbiAqXG4gKiBUaGVzZSBhcmUgZGVmaW5lZCBpbiBgcmVtYCBzbyB0aGF0IHRoZXkgc2NhbGUgd2l0aCB0aGUgYGZvbnQtc2l6ZWAgb2YgdGhlIHJvb3QgZWxlbWVudCAod2hpY2ggaXMgYWRqdXN0YWJsZSB2aWEgdGhlXG4gKiBcIkZvbnQgc2l6ZVwiIHNldHRpbmcpLiBUaGV5IGV4aXN0IHRvIG1ha2UgdGhlIGpvYiBvZiBjb252ZXJ0aW5nIGRlc2lnbnMgKHdoaWNoIHRlbmQgdG8gYmUgYmFzZWQgaW4gcGl4ZWxzKSBpbnRvIENTU1xuICogZWFzaWVyLlxuICpcbiAqL1xuJGZvbnQtMXB4OiAwLjA2MjVyZW07XG4kZm9udC04cHg6IDAuNXJlbTtcbiRmb250LTlweDogMC41NjI1cmVtO1xuJGZvbnQtMTBweDogMC42MjVyZW07XG4kZm9udC0xMC00cHg6IDAuNjI3NXJlbTtcbiRmb250LTExcHg6IDAuNjg3NXJlbTtcbiRmb250LTEycHg6IDAuNzVyZW07XG4kZm9udC0xM3B4OiAwLjgxMjVyZW07XG4kZm9udC0xNHB4OiAwLjg3NXJlbTtcbiRmb250LTE1cHg6IDAuOTM3NXJlbTtcbiRmb250LTE2cHg6IDFyZW07XG4kZm9udC0xN3B4OiAxLjA2MjVyZW07XG4kZm9udC0xOHB4OiAxLjEyNXJlbTtcbiRmb250LTIwcHg6IDEuMjVyZW07XG4kZm9udC0yMnB4OiAxLjM3NXJlbTtcbiRmb250LTIzcHg6IDEuNDM3NXJlbTtcbiRmb250LTI0cHg6IDEuNXJlbTtcbiRmb250LTI1cHg6IDEuNTYyNXJlbTtcbiRmb250LTI2cHg6IDEuNjI1cmVtO1xuJGZvbnQtMjhweDogMS43NXJlbTtcbiRmb250LTI5cHg6IDEuODEyNXJlbTtcbiRmb250LTMwcHg6IDEuODc1cmVtO1xuJGZvbnQtMzJweDogMnJlbTtcbiRmb250LTM0cHg6IDIuMTI1cmVtO1xuJGZvbnQtMzVweDogMi4xODc1cmVtO1xuJGZvbnQtMzlweDogMi40Mzc1cmVtO1xuJGZvbnQtNDJweDogMi42MjVyZW07XG4kZm9udC00NHB4OiAyLjc1cmVtO1xuJGZvbnQtNDhweDogM3JlbTtcbiIsIi8qIFBhdGggZnJvbSByb290IFNDU1MgZmlsZSAoc3VjaCBhcyBgbGlnaHQucGNzc2ApIHRvIGByZXNgIGRpciBpbiB0aGUgc291cmNlIHRyZWUgKi9cbi8qIFRoaXMgdmFsdWUgaXMgb3ZlcnJpZGRlbiBieSBleHRlcm5hbCB0aGVtZXMgaW4gYGVsZW1lbnQtd2ViYC4gKi9cbiRyZXM6IC4uLy4uLy4uO1xuIiwiLypcbiAqIE51bml0by5cbiAqIEluY2x1ZGVzIGV4dGVuZGVkIExhdGluIGFuZCBWaWV0bmFtZXNlIGNoYXJhY3RlciBzZXRzXG4gKiBDdXJyZW50IFVSTHMgYXJlIHRha2VuIGZyb21cbiAqIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGV4ZWl2YS9OdW5pdG9Gb250L3JlbGVhc2VzL3RhZy92My41MDBcbiAqIC4uLmluIG9yZGVyIHRvIGluY2x1ZGUgY3lyaWxsaWMuXG4gKlxuICogUHJldmlvdXNseSwgdGhleSB3ZXJlXG4gKiBodHRwczovL2ZvbnRzLmdvb2dsZWFwaXMuY29tL2Nzcz9mYW1pbHk9TnVuaXRvOjQwMCw0MDBpLDYwMCw2MDBpLDcwMCw3MDBpJnN1YnNldD1sYXRpbi1leHQsdmlldG5hbWVzZVxuICpcbiAqIFdlIGV4cGxpY2l0bHkgZG8gbm90IGluY2x1ZGUgTnVuaXRvJ3MgaXRhbGljIHZhcmlhbnRzLCBhcyB0aGV5IGFyZSBub3QgaXRhbGljIGVub3VnaFxuICogYW5kIGl0J3MgYmV0dGVyIHRvIHJlbHkgb24gdGhlIGJyb3dzZXIncyBidWlsdC1pbiBvYmxpcXVpbmcgYmVoYXZpb3VyLlxuICovXG5cbi8qIEdyYWIgdGhlIG90aGVyIGZvbnRzIGZyb20gdGhlIGN1cnJlbnQgdGhlbWUsIHNvIHdlIGNhbiBvdmVycmlkZSB0byBJbnRlciAqL1xuLyogaW4gY3VzdG9tIGZvbnRzIGlmIG5lZWRlZC4gKi9cbkBpbXBvcnQgXCIuLi8uLi9saWdodC9jc3MvX2ZvbnRzLnBjc3NcIjtcblxuLyogTnVuaXRvIGFzIHRoZSBkZWZhdWx0LCBmb3Igb2xkIHRpbWUncyBzYWtlIG9uIGxlZ2FjeSB0aGVtZXMuICovXG4vKiB0aGUgJ3NyYycgbGlua3MgYXJlIHJlbGF0aXZlIHRvIHRoZSBidW5kbGUuY3NzLCB3aGljaCBpcyBpbiBhIHN1YmRpcmVjdG9yeS5cbiAqL1xuQGZvbnQtZmFjZSB7XG4gICAgZm9udC1mYW1pbHk6IFwiTnVuaXRvXCI7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgc3JjOiB1cmwoXCIkKHJlcykvZm9udHMvTnVuaXRvL051bml0by1SZWd1bGFyLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTtcbn1cbkBmb250LWZhY2Uge1xuICAgIGZvbnQtZmFtaWx5OiBcIk51bml0b1wiO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIHNyYzogdXJsKFwiJChyZXMpL2ZvbnRzL051bml0by9OdW5pdG8tU2VtaUJvbGQudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpO1xufVxuQGZvbnQtZmFjZSB7XG4gICAgZm9udC1mYW1pbHk6IFwiTnVuaXRvXCI7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgc3JjOiB1cmwoXCIkKHJlcykvZm9udHMvTnVuaXRvL051bml0by1Cb2xkLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTtcbn1cbiIsIi8qIHRoZSAnc3JjJyBsaW5rcyBhcmUgcmVsYXRpdmUgdG8gdGhlIGJ1bmRsZS5jc3MsIHdoaWNoIGlzIGluIGEgc3ViZGlyZWN0b3J5LlxuICovXG5cbi8qIFR3ZW1vamkgQ09MUiAqL1xuQGZvbnQtZmFjZSB7XG4gICAgZm9udC1mYW1pbHk6IFwiVHdlbW9qaVwiO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgc3JjOiB1cmwoXCIkKHJlcykvZm9udHMvVHdlbW9qaV9Nb3ppbGxhL1R3ZW1vamlNb3ppbGxhLWNvbHIud29mZjJcIikgZm9ybWF0KFwid29mZjJcIik7XG59XG4vKiBGb3IgYXQgbGVhc3QgQ2hyb21lIG9uIFdpbmRvd3MgMTAsIHdlIGhhdmUgdG8gZXhwbGljdGx5IGFkZCBleHRyYSB3ZWlnaHRzIGZvciB0aGUgZW1vamkgdG8gYXBwZWFyIGluIGJvbGQgbWVzc2FnZXMsIGV0Yy4gKi9cbkBmb250LWZhY2Uge1xuICAgIGZvbnQtZmFtaWx5OiBcIlR3ZW1vamlcIjtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIHNyYzogdXJsKFwiJChyZXMpL2ZvbnRzL1R3ZW1vamlfTW96aWxsYS9Ud2Vtb2ppTW96aWxsYS1jb2xyLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpO1xufVxuQGZvbnQtZmFjZSB7XG4gICAgZm9udC1mYW1pbHk6IFwiVHdlbW9qaVwiO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgc3JjOiB1cmwoXCIkKHJlcykvZm9udHMvVHdlbW9qaV9Nb3ppbGxhL1R3ZW1vamlNb3ppbGxhLWNvbHIud29mZjJcIikgZm9ybWF0KFwid29mZjJcIik7XG59XG4iLCI6cm9vdCB7XG4gICAgLyogVGhpcyBpcyBzZXQgdG8gVHdlbW9qaSB3aGVuIHRoZSB1c2VyIG9wdHMgaW50byB0aGUgYnVuZGxlZCBlbW9qaSBmb250ICovXG4gICAgLS1lbW9qaS1mb250LWZhbWlseTogXCJcIjtcbn1cblxuLyogTnVuaXRvIGxhY2tzIGNvbWJpbmluZyBkaWFjcml0aWNzLCBzbyB0aGVzZSB3aWxsIGZhbGwgdGhyb3VnaFxuICAgdG8gdGhlIG5leHQgZm9udC4gIEhlbGV2ZXRpY2EncyBkaWFjcml0aWNzIHNvbWV0aW1lcyBkbyBub3QgY29tYmluZVxuICAgbmljZWx5IChvbiBPU1gsIGF0IGxlYXN0KSBhbmQgcmVzdWx0IGluIGEgaHVnZSBob3Jpem9udGFsIG1lc3MuXG4gICBBcmlhbCBlbXBpcmljYWxseSBnZXRzIGl0IHJpZ2h0LCBoZW5jZSBwcmlvcml0aXNpbmcgQXJpYWwgaGVyZS4gKi9cbi8qIE5vdG8gQ29sb3IgRW1vamkgY29udGFpbnMgZGlnaXRzLCBpbiBmaXhlZC13aWR0aCwgdGhlcmVmb3JlIGNhdXNpbmdcbiAgIGRpZ2l0cyBpbiBmbG93ZWQgdGV4dCB0byBzdGFuZCBvdXQuXG4gICBUT0RPOiBDb25zaWRlciBwdXR0aW5nIGFsbCBlbW9qaSBmb250cyB0byB0aGUgZW5kIHJhdGhlciB0aGFuIHRoZSBmcm9udC4gKi9cbiRmb250LWZhbWlseTogXCJOdW5pdG9cIiwgdmFyKC0tZW1vamktZm9udC1mYW1pbHkpLCBcIkFwcGxlIENvbG9yIEVtb2ppXCIsIFwiU2Vnb2UgVUkgRW1vamlcIiwgXCJBcmlhbFwiLCBcIkhlbHZldGljYVwiLFxuICAgIHNhbnMtc2VyaWYsIFwiTm90byBDb2xvciBFbW9qaVwiO1xuXG4kbW9ub3NwYWNlLWZvbnQtZmFtaWx5OiBcIkluY29uc29sYXRhXCIsIHZhcigtLWVtb2ppLWZvbnQtZmFtaWx5KSwgXCJBcHBsZSBDb2xvciBFbW9qaVwiLCBcIlNlZ29lIFVJIEVtb2ppXCIsIFwiQ291cmllclwiLFxuICAgIG1vbm9zcGFjZSwgXCJOb3RvIENvbG9yIEVtb2ppXCI7XG5cbi8qIHVuaWZpZWQgcGFsZXR0ZSAqL1xuLyogdHJ5IHRvIHVzZSB0aGVzZSBjb2xvcnMgd2hlbiBwb3NzaWJsZSAqL1xuJGhlYWRlci1wYW5lbC1iZy1jb2xvcjogI2YzZjhmZDtcbiRoZWFkZXItcGFuZWwtYmctaG92ZXI6IHZhcigtLWNwZC1jb2xvci1ncmF5LTIwMCk7XG5cbi8qIHR5cGljYWwgdGV4dCAoZGFyay1vbi13aGl0ZSBpbiBsaWdodCBza2luKSAqL1xuJHByaW1hcnktZmctY29sb3I6ICMyZTJmMzI7XG4kc2Vjb25kYXJ5LWZnLWNvbG9yOiAkcHJpbWFyeS1mZy1jb2xvcjtcbiR0ZXJ0aWFyeS1mZy1jb2xvcjogJHByaW1hcnktZmctY29sb3I7XG4kcHJpbWFyeS1iZy1jb2xvcjogI2ZmZmZmZjtcbiRtdXRlZC1mZy1jb2xvcjogIzYxNzA4YjsgLyogQ29tbW9ubHkgdXNlZCBpbiBoZWFkaW5ncyBhbmQgcmVsZXZhbnQgYWx0IHRleHQgKi9cblxuLyogdXNlZCBmb3IgZGlhbG9nIGJveCB0ZXh0ICovXG4kbGlnaHQtZmctY29sb3I6ICM3NDc0NzQ7XG5cbi8qIHVzZWQgZm9yIGZvY3VzaW5nIGZvcm0gY29udHJvbHMgKi9cbiRmb2N1cy1iZy1jb2xvcjogI2RkZGRkZDtcblxuLyogYnV0dG9uIFVJICh3aGl0ZS1vbi1ncmVlbiBpbiBsaWdodCBza2luKSAqL1xuJGFjY2VudC1mZy1jb2xvcjogI2ZmZmZmZjtcbiRhY2NlbnQtYWx0OiAjMjM4Y2Y1O1xuXG4kc2VsZWN0aW9uLWZnLWNvbG9yOiAkcHJpbWFyeS1iZy1jb2xvcjtcblxuJGZvY3VzLWJyaWdodG5lc3M6IDEwNSU7XG5cbi8qIGluZm9ybWF0aW9uYWwgcGxpbnRoICovXG4kaW5mby1wbGludGgtYmctY29sb3I6ICNmN2Y3Zjc7XG4kaW5mby1wbGludGgtZmctY29sb3I6ICM4ODg7XG5cbi8qIGxlZnQtcGFuZWwgc3R5bGUgbXV0ZWQgYWNjZW50IGNvbG9yICovXG4kc2Vjb25kYXJ5LWFjY2VudC1jb2xvcjogI2YyZjVmODtcblxuJHNwYWNlUGFuZWwtYmctY29sb3I6ICMyNzMwM2E7XG4kaW52ZXJ0ZWQtYmctY29sb3I6ICRzcGFjZVBhbmVsLWJnLWNvbG9yO1xuXG4vKiB1c2VkIGJ5IFJvb21Ecm9wVGFyZ2V0ICovXG4kZHJvcHRhcmdldC1iZy1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpO1xuXG4vKiB1c2VkIGJ5IEF1dG9jb21wbGV0ZSAqL1xuJHNlbGVjdGVkLWNvbG9yOiAkc2Vjb25kYXJ5LWFjY2VudC1jb2xvcjtcblxuLyogc2VsZWN0ZWQgZm9yIGhvdmVyb3ZlciAmIHNlbGVjdGVkIGV2ZW50IHRpbGVzICovXG4kZXZlbnQtc2VsZWN0ZWQtY29sb3I6ICRoZWFkZXItcGFuZWwtYmctY29sb3I7XG5cbi8qIHVzZWQgZm9yIHRoZSBoYWlybGluZSBkaXZpZGVycyBpbiBSb29tVmlldyAqL1xuJHByaW1hcnktaGFpcmxpbmUtY29sb3I6ICNlNWU1ZTU7XG4kc2Vjb25kYXJ5LWhhaXJsaW5lLWNvbG9yOiB2YXIoLS1jcGQtY29sb3ItZ3JheS0zMDApO1xuXG4vKiB1c2VkIGZvciB0aGUgYm9yZGVyIG9mIGlucHV0IHRleHQgZmllbGRzICovXG4kaW5wdXQtYm9yZGVyLWNvbG9yOiAjZTdlN2U3O1xuJGlucHV0LWRhcmtlci1iZy1jb2xvcjogI2UzZThmMDtcbiRpbnB1dC1kYXJrZXItZmctY29sb3I6ICM5ZmE5YmE7XG4kaW5wdXQtbGlnaHRlci1iZy1jb2xvcjogI2YyZjVmODtcblxuJHJlc2VuZC1idXR0b24tZGl2aWRlci1jb2xvcjogJGlucHV0LWRhcmtlci1iZy1jb2xvcjtcblxuJGJ1dHRvbi1mZy1jb2xvcjogd2hpdGU7XG5cbi8qIGFwYXJ0IGZyb20gbG9naW4gZm9ybXMsIHdoaWNoIGhhdmUgc3Ryb25nZXIgYm9yZGVyICovXG4kc3Ryb25nLWlucHV0LWJvcmRlci1jb2xvcjogI2M3YzdjNztcblxuLyogdXNlZCBmb3IgVXNlclNldHRpbmdzIEVkaXRhYmxlVGV4dCAqL1xuJGlucHV0LXVuZGVybGluZS1jb2xvcjogcmdiYSgxNTEsIDE1MSwgMTUxLCAwLjUpO1xuJGlucHV0LWZnLWNvbG9yOiByZ2JhKDc0LCA3NCwgNzQsIDAuOSk7XG4kaW5wdXQtcGxhY2Vob2xkZXI6IHZhcigtLWNwZC1jb2xvci10ZXh0LXNlY29uZGFyeSk7XG4vKiBzY3JvbGxiYXJzICovXG4kc2Nyb2xsYmFyLXRodW1iLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMik7XG4vKiBjb250ZXh0IG1lbnVzICovXG4kbWVudS1ib3JkZXItY29sb3I6ICNlN2U3ZTc7XG4kbWVudS1iZy1jb2xvcjogI2ZmZjtcbiRtZW51LWJveC1zaGFkb3ctY29sb3I6IHJnYmEoMTE4LCAxMzEsIDE1NiwgMC42KTtcbiRtZW51LXNlbGVjdGVkLWNvbG9yOiAjZjVmOGZhO1xuXG4kYXZhdGFyLWluaXRpYWwtY29sb3I6ICNmZmZmZmY7XG5cbiRoMy1jb2xvcjogIzNkM2IzOTtcbiRpY29uLWJ1dHRvbi1jb2xvcjogdmFyKC0tY3BkLWNvbG9yLWljb24tdGVydGlhcnkpO1xuXG4kZGlhbG9nLXRpdGxlLWZnLWNvbG9yOiAjNDU0NzRhO1xuJGRpYWxvZy1iYWNrZHJvcC1jb2xvcjogcmdiYSg0NiwgNDgsIDUxLCAwLjM4KTtcbiRkaWFsb2ctY2xvc2UtZmctY29sb3I6ICRpY29uLWJ1dHRvbi1jb2xvcjtcbiRkaWFsb2ctY2xvc2UtZXh0ZXJuYWwtY29sb3I6ICRwcmltYXJ5LWJnLWNvbG9yO1xuXG4kbGlnaHRib3gtYmFja2dyb3VuZC1iZy1jb2xvcjogIzAwMDtcbiRsaWdodGJveC1iYWNrZ3JvdW5kLWJnLW9wYWNpdHk6IDAuOTU7XG5cbiRpbWFnZWJvZHktZ2lmbGFiZWw6IHJnYmEoMCwgMCwgMCwgMC43KTtcbiRpbWFnZWJvZHktZ2lmbGFiZWwtYm9yZGVyOiByZ2JhKDAsIDAsIDAsIDAuMik7XG4kaW1hZ2Vib2R5LWdpZmxhYmVsLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDEpO1xuXG4kaW5mby1wbGludGgtZmctY29sb3I6ICM4ODg7XG5cbiRuZXV0cmFsLWJhZGdlLWNvbG9yOiAjZGJkYmRiO1xuXG4kcHJldmlldy13aWRnZXQtYmFyLWNvbG9yOiAjZGRkO1xuXG4kYmxvY2txdW90ZS1iYXItY29sb3I6IHZhcigtLWNwZC1jb2xvci1ib3JkZXItaW50ZXJhY3RpdmUtcHJpbWFyeSk7XG5cbiRzZXR0aW5ncy1ncmV5LWZnLWNvbG9yOiAjYTJhMmEyO1xuJHNldHRpbmdzLXN1YnNlY3Rpb24tZmctY29sb3I6ICM2MTcwOGI7XG5cbiRydGUtYmctY29sb3I6ICNlOWU5ZTk7XG4kcnRlLWNvZGUtYmctY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4wNCk7XG5cbiRoZWFkZXItcGFuZWwtdGV4dC1wcmltYXJ5LWNvbG9yOiAjOTFhMWMwO1xuXG4kcGlsbC1iZy1jb2xvcjogdmFyKC0tY3BkLWNvbG9yLWJnLWFjdGlvbi1wcmltYXJ5LXJlc3QpO1xuJHBpbGwtaG92ZXItYmctY29sb3I6IHZhcigtLWNwZC1jb2xvci1iZy1hY3Rpb24tcHJpbWFyeS1ob3ZlcmVkKTtcbiRwaWxsLXByZXNzLWJnLWNvbG9yOiB2YXIoLS1jcGQtY29sb3ItYmctYWN0aW9uLXByaW1hcnktcHJlc3NlZCk7XG5cbiR0b3BsZWZ0bWVudS1jb2xvcjogIzIxMjEyMTtcbiRyb29taGVhZGVyLWJnLWNvbG9yOiAkcHJpbWFyeS1iZy1jb2xvcjtcbiRyb29taGVhZGVyLWFkZHJvb20tYmctY29sb3I6ICM5MWExYzA7XG4kcm9vbWhlYWRlci1hZGRyb29tLWZnLWNvbG9yOiAkYWNjZW50LWZnLWNvbG9yO1xuJHJvb210b3BpYy1jb2xvcjogIzllOWU5ZTtcbiRyb29tLWljb24tdW5yZWFkLWNvbG9yOiB2YXIoLS1jcGQtY29sb3ItaWNvbi10ZXJ0aWFyeSk7XG5cbi8qICoqKioqKioqKioqKioqKioqKioqICovXG5cbiR0aGVtZS1idXR0b24tYmctY29sb3I6ICNlM2U4ZjA7XG5cbiRyb29tdGlsZS1kZWZhdWx0LWJhZGdlLWJnLWNvbG9yOiAjNjE3MDhiO1xuJHJvb210aWxlLXNlbGVjdGVkLWJnLWNvbG9yOiAjZmZmO1xuXG4kcHJlc2VuY2UtYXdheTogI2Q5YjA3MjtcbiRwcmVzZW5jZS1vZmZsaW5lOiAjZTNlOGYwO1xuJHByZXNlbmNlLWJ1c3k6ICNmZjViNTU7XG5cbi8qIExlZ2FjeSB0aGVtZSBiYWNrcG9ydHMgKi9cbiRhY2NlbnQ6ICMwZGJkOGI7XG4kYWxlcnQ6ICNmZjViNTU7XG4kbGlua3M6ICMwMDg2ZTY7XG4kbGluay1leHRlcm5hbDogIzA0NjdkZDtcbiRwcmltYXJ5LWNvbnRlbnQ6ICRwcmltYXJ5LWZnLWNvbG9yO1xuJHNlY29uZGFyeS1jb250ZW50OiAkc2Vjb25kYXJ5LWZnLWNvbG9yO1xuJHRlcnRpYXJ5LWNvbnRlbnQ6ICR0ZXJ0aWFyeS1mZy1jb2xvcjtcbiRxdWF0ZXJuYXJ5LWNvbnRlbnQ6ICM2Zjc4ODI7XG4kcXVpbmFyeS1jb250ZW50OiAkcXVhdGVybmFyeS1jb250ZW50O1xuJHN5c3RlbTogI2Y0ZjZmYTtcbiRzeXN0ZW0tdHJhbnNwYXJlbnQ6ICNlMWU2ZWMwMDtcbiRiYWNrZ3JvdW5kOiAkcHJpbWFyeS1iZy1jb2xvcjtcbiRvdmVybGF5LWJhY2tncm91bmQ6IHJnYmEoJGJhY2tncm91bmQsIDAuODUpO1xuXG4kcGFuZWxzOiByZ2JhKCRzeXN0ZW0sIDAuOSk7XG4kcGFuZWwtYWN0aW9uczogJHJvb210aWxlLXNlbGVjdGVkLWJnLWNvbG9yO1xuXG4kc2VwYXJhdG9yOiB2YXIoLS1jcGQtY29sb3ItZ3JheS00MDApO1xuXG4vKiBMZWdhY3kgdGhlbWUgYmFja3BvcnRzICovXG5cbi8qICoqKioqKioqKioqKioqKioqKioqICovXG5cbiRyb29tbGlzdC1maWx0ZXItYWN0aXZlLWJnLWNvbG9yOiAkcGFuZWwtYWN0aW9ucztcbiRyb29tbGlzdC1iZy1jb2xvcjogcmdiYSgyNDUsIDI0NSwgMjQ1LCAwLjkpO1xuJHJvb21saXN0LWhlYWRlci1jb2xvcjogJHByaW1hcnktZmctY29sb3I7XG4kcm9vbXN1Ymxpc3Qtc2tlbGV0b24tdWktYmc6IGxpbmVhci1ncmFkaWVudCgxODBkZWcsICNmZmZmZmYgMCUsICNmZmZmZmYwMCAxMDAlKTtcblxuJHZvaXBjYWxsLXBsaW50aC1jb2xvcjogJHN5c3RlbTtcblxuJGNhbGwtdmlldy1idXR0b24tb24tZm9yZWdyb3VuZDogJHNlY29uZGFyeS1jb250ZW50O1xuJGNhbGwtdmlldy1idXR0b24tb24tYmFja2dyb3VuZDogJGJhY2tncm91bmQ7XG4kY2FsbC12aWV3LWJ1dHRvbi1vZmYtZm9yZWdyb3VuZDogJGJhY2tncm91bmQ7XG4kY2FsbC12aWV3LWJ1dHRvbi1vZmYtYmFja2dyb3VuZDogJHNlY29uZGFyeS1jb250ZW50O1xuJGNhbGwtdmlldy1jb250ZW50LWJhY2tncm91bmQ6ICMyMTI2MmM7XG5cbiR2aWRlby1mZWVkLXNlY29uZGFyeS1iYWNrZ3JvdW5kOiAjMzk0MDQ5OyAvKiBYWFg6IENvbG9yIGZyb20gZGFyayB0aGVtZSAqL1xuXG4vKiBBbGwgb2YgdGhlc2UgYXJlIGZyb20gZGFyayB0aGVtZSAqL1xuJGNhbGwtc3lzdGVtOiAjMjEyNjJjO1xuJGNhbGwtYmFja2dyb3VuZDogIzE1MTkxZTtcbiRjYWxsLXByaW1hcnktY29udGVudDogI2ZmZmZmZjtcbiRjYWxsLWxpZ2h0LXF1YXRlcm5hcnktY29udGVudDogI2MxYzZjZDtcblxuJHVzZXJuYW1lLXZhcmlhbnQxLWNvbG9yOiB2YXIoLS1jcGQtY29sb3ItdGV4dC1kZWNvcmF0aXZlLTEpO1xuJHVzZXJuYW1lLXZhcmlhbnQyLWNvbG9yOiB2YXIoLS1jcGQtY29sb3ItdGV4dC1kZWNvcmF0aXZlLTIpO1xuJHVzZXJuYW1lLXZhcmlhbnQzLWNvbG9yOiB2YXIoLS1jcGQtY29sb3ItdGV4dC1kZWNvcmF0aXZlLTMpO1xuJHVzZXJuYW1lLXZhcmlhbnQ0LWNvbG9yOiB2YXIoLS1jcGQtY29sb3ItdGV4dC1kZWNvcmF0aXZlLTQpO1xuJHVzZXJuYW1lLXZhcmlhbnQ1LWNvbG9yOiB2YXIoLS1jcGQtY29sb3ItdGV4dC1kZWNvcmF0aXZlLTUpO1xuJHVzZXJuYW1lLXZhcmlhbnQ2LWNvbG9yOiB2YXIoLS1jcGQtY29sb3ItdGV4dC1kZWNvcmF0aXZlLTYpO1xuXG4vKipcbiAqIENyZWF0aW5nIGEgYHNlbWFudGljYCBjb2xvciBzY2FsZS4gVGhpcyB3aWxsIG5vdCBiZSBuZWVkZWQgd2l0aCB0aGUgbmV3XG4gKiB2aXN1YWwgbGFuZ3VhZ2UsIGJ1dCBuZWNlc3NhcnkgZHVyaW5nIHRoZSB0cmFuc2l0aW9uIHBlcmlvZFxuICogVGhpcyBhYnN0cmFjdCB0aGUgYGdyZWVuYCBhd2F5IGZyb20gd2hlcmUgYWNjZW50IHNoYWRlcyBhcmUgdXNlZFxuICogVGFrZTogYGJhY2tncm91bmQ6IHJnYmEoJGFjY2VudCwgMC4xKTtgXG4gKiB3b3VsZCBiZSB0cmFuc2Zvcm1lZCB0bzogYGJhY2tncm91bmQ6ICRhY2NlbnQtMzAwO2BcbiAqXG4gKiBUbyB1c2UgdW5kZXIgdmVyeSByYXJlIGNpcmN1bXN0YW5jZXMsIGFsd2F5cyBwcmVmZXIgdGhlIHNlbWFudGljcyBkZWZpbmVkXG4gKiBpbiBodHRwczovL2NvbXBvdW5kLmVsZW1lbnQuaW8vP3BhdGg9L2RvY3MvdG9rZW5zLXNlbWFudGljLWNvbG9ycy0tZG9jc1xuICovXG4kYWNjZW50LTEwMDogdmFyKC0tY3BkLWNvbG9yLWdyZWVuLTEwMCk7XG4kYWNjZW50LTIwMDogdmFyKC0tY3BkLWNvbG9yLWdyZWVuLTIwMCk7XG4kYWNjZW50LTMwMDogdmFyKC0tY3BkLWNvbG9yLWdyZWVuLTMwMCk7XG4kYWNjZW50LTQwMDogdmFyKC0tY3BkLWNvbG9yLWdyZWVuLTQwMCk7XG4kYWNjZW50LTUwMDogdmFyKC0tY3BkLWNvbG9yLWdyZWVuLTUwMCk7XG4kYWNjZW50LTYwMDogdmFyKC0tY3BkLWNvbG9yLWdyZWVuLTYwMCk7XG4kYWNjZW50LTcwMDogdmFyKC0tY3BkLWNvbG9yLWdyZWVuLTcwMCk7XG4kYWNjZW50LTgwMDogdmFyKC0tY3BkLWNvbG9yLWdyZWVuLTgwMCk7XG4kYWNjZW50LTkwMDogdmFyKC0tY3BkLWNvbG9yLWdyZWVuLTkwMCk7XG4kYWNjZW50LTEwMDA6IHZhcigtLWNwZC1jb2xvci1ncmVlbi0xMDAwKTtcbiRhY2NlbnQtMTEwMDogdmFyKC0tY3BkLWNvbG9yLWdyZWVuLTExMDApO1xuJGFjY2VudC0xMjAwOiB2YXIoLS1jcGQtY29sb3ItZ3JlZW4tMTIwMCk7XG4kYWNjZW50LTEzMDA6IHZhcigtLWNwZC1jb2xvci1ncmVlbi0xMzAwKTtcbiRhY2NlbnQtMTQwMDogdmFyKC0tY3BkLWNvbG9yLWdyZWVuLTE0MDApO1xuXG4vKiAqKioqKioqKioqKioqKioqKioqKiAqL1xuXG4kd2lkZ2V0LW1lbnUtYmFyLWJnLWNvbG9yOiAkc2Vjb25kYXJ5LWFjY2VudC1jb2xvcjtcbiR3aWRnZXQtYm9keS1iZy1jb2xvcjogI2ZmZjtcblxuLyogKioqKioqKioqKioqKioqKioqKiogKi9cblxuLyogJGV2ZW50LWhpZ2hsaWdodC1iZy1jb2xvciBzaGFyZXMgdGhpcyB2YWx1ZSwgKi9cbi8qIHNvIHRvIG5vdCBtYWtlIHRoZWlyIG9yZGVyIGRlcGVuZGVudCBvbiB3aG8gZGVwZW5kcyBvbiB3aG8sIGhhdmUgYSBzaGFyZWQgdmFsdWUgKi9cbi8qIGRlZmluZWQgYmVmb3JlIGJvdGggKi9cbiR5ZWxsb3ctYmFja2dyb3VuZDogI2ZmZjhlMztcblxuJGV2ZW50LWhpZ2hsaWdodC1iZy1jb2xvcjogJHllbGxvdy1iYWNrZ3JvdW5kO1xuXG4vKiBldmVudCB0aW1lc3RhbXAgKi9cbiRldmVudC10aW1lc3RhbXAtY29sb3I6ICNhY2FjYWM7XG5cbiRjb3B5LWJ1dHRvbi11cmw6IFwiQHZlY3Rvci1pbS9jb21wb3VuZC1kZXNpZ24tdG9rZW5zL2ljb25zL2NvcHkuc3ZnXCI7XG5cbi8qIGUyZSAqL1xuJGUyZS12ZXJpZmllZC1jb2xvcjogIzBkYmQ4YjtcbiRlMmUtd2FybmluZy1jb2xvcjogI2ZmNWI1NTtcbiRlMmUtdmVyaWZpZWQtY29sb3ItbGlnaHQ6IHZhcigtLWNwZC1jb2xvci1ncmVlbi0zMDApO1xuJGUyZS13YXJuaW5nLWNvbG9yLWxpZ2h0OiB2YXIoLS1jcGQtY29sb3ItcmVkLTMwMCk7XG5cbi8qKiogSW1hZ2VWaWV3ICoqKi9cbiRsaWdodGJveC1iZy1jb2xvcjogIzQ1NDU0NTtcbiRsaWdodGJveC1mZy1jb2xvcjogI2ZmZmZmZjtcbiRsaWdodGJveC1ib3JkZXItY29sb3I6ICNmZmZmZmY7XG5cbi8qIFRhYmJlZCB2aWV3cyAqL1xuJHRhYi1sYWJlbC1mZy1jb2xvcjogIzQ1NDc0YTtcbiR0YWItbGFiZWwtYWN0aXZlLWZnLWNvbG9yOiAjZmZmZmZmO1xuXG4vKiBCdXR0b25zICovXG4kYnV0dG9uLXByaW1hcnktZmctY29sb3I6ICNmZmZmZmY7XG4kYnV0dG9uLXNlY29uZGFyeS1iZy1jb2xvcjogJGFjY2VudC1mZy1jb2xvcjtcbiRidXR0b24tZGFuZ2VyLWZnLWNvbG9yOiAjZmZmZmZmO1xuJGJ1dHRvbi1kYW5nZXItZGlzYWJsZWQtZmctY29sb3I6ICNmZmZmZmY7XG4kYnV0dG9uLWRhbmdlci1kaXNhYmxlZC1iZy1jb2xvcjogI2Y1YjZiYjsgLyogVE9ETzogVmVyaWZ5IGNvbG9yICovXG5cbiR2aXN1YWwtYmVsbC1iZy1jb2xvcjogI2ZhYTtcblxuLyogVG9nZ2xlIHN3aXRjaCAqL1xuJHRvZ2dsZXN3LW9mZi1jb2xvcjogI2MxYzlkNjtcbiR0b2dnbGVzdy1iYWxsLWNvbG9yOiB2YXIoLS1jcGQtY29sb3ItYmctYWN0aW9uLXByaW1hcnktcmVzdCk7XG5cbiRwcm9ncmVzc2Jhci1iZy1jb2xvcjogcmdiYSgxNDEsIDE1MSwgMTY1LCAwLjIpO1xuXG4kYXV0aHBhZ2UtYmctY29sb3I6ICMyZTM2NDk7XG4kYXV0aHBhZ2UtbW9kYWwtYmctY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41OSk7XG4kYXV0aHBhZ2UtZm9jdXMtYmctY29sb3I6ICNkZGRkZGQ7XG4kYXV0aHBhZ2UtbGFuZy1jb2xvcjogJHNlY29uZGFyeS1jb250ZW50O1xuJGF1dGhwYWdlLXByaW1hcnktY29sb3I6ICRwcmltYXJ5LWNvbnRlbnQ7XG4kYXV0aHBhZ2Utc2Vjb25kYXJ5LWNvbG9yOiAkc2Vjb25kYXJ5LWNvbnRlbnQ7XG5cbiRkYXJrLXBhbmVsLWJnLWNvbG9yOiB2YXIoLS1jcGQtY29sb3ItYmctc3VidGxlLXNlY29uZGFyeSk7XG4kcGFuZWwtZ3JhZGllbnQ6IHJnYmEoMjQyLCAyNDUsIDI0OCwgMCksIHJnYmEoMjQyLCAyNDUsIDI0OCwgMSk7XG5cbiRtZXNzYWdlLWFjdGlvbi1iYXItYmctY29sb3I6ICRwcmltYXJ5LWJnLWNvbG9yO1xuJG1lc3NhZ2UtYWN0aW9uLWJhci1mZy1jb2xvcjogJHByaW1hcnktZmctY29sb3I7XG4kbWVzc2FnZS1hY3Rpb24tYmFyLWJvcmRlci1jb2xvcjogI2U5ZWRmMTtcbiRtZXNzYWdlLWFjdGlvbi1iYXItaG92ZXItYm9yZGVyLWNvbG9yOiAkZm9jdXMtYmctY29sb3I7XG5cbiRyZWFjdGlvbi1yb3ctYnV0dG9uLWhvdmVyLWJvcmRlci1jb2xvcjogJGZvY3VzLWJnLWNvbG9yO1xuJHJlYWN0aW9uLXJvdy1idXR0b24tc2VsZWN0ZWQtYmctY29sb3I6ICNlOWZmZjk7XG5cbiRrYmQtYm9yZGVyLWNvbG9yOiAkc3Ryb25nLWlucHV0LWJvcmRlci1jb2xvcjtcblxuJHRvb2x0aXAtdGltZWxpbmUtYmctY29sb3I6ICRzcGFjZVBhbmVsLWJnLWNvbG9yO1xuJHRvb2x0aXAtdGltZWxpbmUtZmctY29sb3I6ICNmZmZmZmY7XG5cbiRicmVhZGNydW1iLXBsYWNlaG9sZGVyLWJnLWNvbG9yOiAjZThlZWY1O1xuXG4vKiBTZWUgbm9uLWxlZ2FjeSBfbGlnaHQgZm9yIHZhcmlhYmxlIGluZm9ybWF0aW9uICovXG4kdm9pY2UtcmVjb3JkLXN0b3Atc3ltYm9sLWNvbG9yOiAjZmY0YjU1O1xuJHZvaWNlLXJlY29yZC1saXZlLWNpcmNsZS1jb2xvcjogI2ZmNGI1NTtcbiR2b2ljZS1yZWNvcmQtc3RvcC1ib3JkZXItY29sb3I6ICNlM2U4ZjA7XG4kdm9pY2UtcmVjb3JkLWljb24tY29sb3I6ICR0ZXJ0aWFyeS1mZy1jb2xvcjtcblxuJGNvbXBvc2VyLXNoYWRvdy1jb2xvcjogdHJhbnBhcmVudDtcblxuJGNvZGVibG9jay1iYWNrZ3JvdW5kLWNvbG9yOiAkaGVhZGVyLXBhbmVsLWJnLWNvbG9yO1xuJGlubGluZWNvZGUtYm9yZGVyLWNvbG9yOiAkaGVhZGVyLXBhbmVsLWJnLWNvbG9yO1xuJGlubGluZWNvZGUtYmFja2dyb3VuZC1jb2xvcjogJGhlYWRlci1wYW5lbC1iZy1jb2xvcjtcblxuLyogQnViYmxlIHRpbGVzICovXG4kZXZlbnRidWJibGUtc2VsZi1iZzogI2YwZmJmODtcbiRldmVudGJ1YmJsZS1vdGhlcnMtYmc6ICRzeXN0ZW07XG4kZXZlbnRidWJibGUtYmctaG92ZXI6ICNmYWZiZmQ7XG5cbi8qIHBpbm5lZCBldmVudHMgaW5kaWNhdG9yICovXG4kcGlubmVkLWNvbG9yOiAkdGVydGlhcnktY29udGVudDtcblxuJHNwYWNlUGFuZWwtZGl2aWRlci1jb2xvcjogJHRlcnRpYXJ5LWNvbnRlbnQ7XG5cbi8qIExvY2F0aW9uIHNoYXJpbmcgKi9cbi8qICoqKioqKioqKioqKioqKioqKioqICovXG4kbG9jYXRpb24tbWFya2VyLWNvbG9yOiAjZmZmZmZmO1xuJGxvY2F0aW9uLWxpdmUtY29sb3I6ICM1YzU2ZjU7XG4kbG9jYXRpb24tbGl2ZS1zZWNvbmRhcnktY29sb3I6ICNkZWRkZmQ7XG4vKiAqKioqKioqKioqKioqKioqKioqKiAqL1xuXG5ib2R5IHtcbiAgICBjb2xvci1zY2hlbWU6IGxpZ2h0O1xufVxuXG4vKiBkaWZmIGhpZ2hsaWdodCBjb2xvcnMgKi9cbi5obGpzLWFkZGl0aW9uIHtcbiAgICBiYWNrZ3JvdW5kOiAjZGZkO1xufVxuXG4uaGxqcy1kZWxldGlvbiB7XG4gICAgYmFja2dyb3VuZDogI2ZkZDtcbn1cbiIsIi8qIENvbG9ycyBmcm9tIEZpZ21hIENvbXBvdW5kIGh0dHBzOi8vd3d3LmZpZ21hLmNvbS9maWxlL1g0WFRIOWlTMktHSjJ3RktEcWt5ZWQvQ29tcG91bmQ/bm9kZS1pZD01NTklM0E3NDEgKi9cbiRzeXN0ZW06ICMyMTI2MmM7XG4kc3lzdGVtLXRyYW5zcGFyZW50OiAjZTFlNmVjMDA7XG5cbi8qIHVuaWZpZWQgcGFsZXR0ZSAqL1xuLyogdHJ5IHRvIHVzZSB0aGVzZSBjb2xvcnMgd2hlbiBwb3NzaWJsZSAqL1xuJGJnLWNvbG9yOiAjMTgxYjIxO1xuJGJhc2UtY29sb3I6ICMxNTE3MWI7XG4kYmFzZS10ZXh0LWNvbG9yOiAjZWRmM2ZmO1xuJGhlYWRlci1wYW5lbC1iZy1jb2xvcjogIzIyMjYyZTtcbiRoZWFkZXItcGFuZWwtYmctaG92ZXI6IHZhcigtLWNwZC1jb2xvci1ncmF5LTIwMCk7XG4kaGVhZGVyLXBhbmVsLXRleHQtcHJpbWFyeS1jb2xvcjogI2ExYjJkMTtcbiRoZWFkZXItcGFuZWwtdGV4dC1zZWNvbmRhcnktY29sb3I6ICNjOGM4Y2Q7XG4kdGV4dC1wcmltYXJ5LWNvbG9yOiAjZWRmM2ZmO1xuJHRleHQtc2Vjb25kYXJ5LWNvbG9yOiAjYTFiMmQxO1xuJHJvb20taGlnaGxpZ2h0LWNvbG9yOiAjMzQzYTQ2O1xuXG4vKiB0eXBpY2FsIHRleHQgKGRhcmstb24td2hpdGUgaW4gbGlnaHQgc2tpbikgKi9cbiRwcmltYXJ5LWZnLWNvbG9yOiAkdGV4dC1wcmltYXJ5LWNvbG9yO1xuJHNlY29uZGFyeS1mZy1jb2xvcjogJHByaW1hcnktZmctY29sb3I7XG4kdGVydGlhcnktZmctY29sb3I6ICRwcmltYXJ5LWZnLWNvbG9yO1xuJHByaW1hcnktYmctY29sb3I6ICRiZy1jb2xvcjtcbiRtdXRlZC1mZy1jb2xvcjogJGhlYWRlci1wYW5lbC10ZXh0LXByaW1hcnktY29sb3I7XG5cbi8qIHVzZWQgZm9yIGRpYWxvZyBib3ggdGV4dCAqL1xuJGxpZ2h0LWZnLWNvbG9yOiAkaGVhZGVyLXBhbmVsLXRleHQtc2Vjb25kYXJ5LWNvbG9yO1xuXG4vKiB1c2VkIGZvciBmb2N1c2luZyBmb3JtIGNvbnRyb2xzICovXG4kZm9jdXMtYmctY29sb3I6ICRyb29tLWhpZ2hsaWdodC1jb2xvcjtcblxuJHBpbGwtYmctY29sb3I6IHZhcigtLWNwZC1jb2xvci1iZy1hY3Rpb24tcHJpbWFyeS1yZXN0KTtcbiRwaWxsLWhvdmVyLWJnLWNvbG9yOiB2YXIoLS1jcGQtY29sb3ItYmctYWN0aW9uLXByaW1hcnktaG92ZXJlZCk7XG4kcGlsbC1wcmVzcy1iZy1jb2xvcjogdmFyKC0tY3BkLWNvbG9yLWJnLWFjdGlvbi1wcmltYXJ5LXByZXNzZWQpO1xuXG4vKiBpbmZvcm1hdGlvbmFsIHBsaW50aCAqL1xuJGluZm8tcGxpbnRoLWJnLWNvbG9yOiAkaGVhZGVyLXBhbmVsLWJnLWNvbG9yO1xuJGluZm8tcGxpbnRoLWZnLWNvbG9yOiAjODg4O1xuXG4kc3BhY2VQYW5lbC1iZy1jb2xvcjogJGJhc2UtY29sb3I7XG4kaW52ZXJ0ZWQtYmctY29sb3I6ICRzcGFjZVBhbmVsLWJnLWNvbG9yO1xuXG4vKiB1c2VkIGJ5IEF1dG9jb21wbGV0ZSAqL1xuJHNlbGVjdGVkLWNvbG9yOiAkcm9vbS1oaWdobGlnaHQtY29sb3I7XG5cbi8qIHNlbGVjdGVkIGZvciBob3Zlcm92ZXIgJiBzZWxlY3RlZCBldmVudCB0aWxlcyAqL1xuJGV2ZW50LXNlbGVjdGVkLWNvbG9yOiAkaGVhZGVyLXBhbmVsLWJnLWNvbG9yO1xuXG4vKiB1c2VkIGZvciB0aGUgaGFpcmxpbmUgZGl2aWRlcnMgaW4gUm9vbVZpZXcgKi9cbiRwcmltYXJ5LWhhaXJsaW5lLWNvbG9yOiAjMDAwMDAwO1xuJHNlY29uZGFyeS1oYWlybGluZS1jb2xvcjogdmFyKC0tY3BkLWNvbG9yLWdyYXktMzAwKTtcblxuLyogdXNlZCBmb3IgdGhlIGJvcmRlciBvZiBpbnB1dCB0ZXh0IGZpZWxkcyAqL1xuJGlucHV0LWJvcmRlci1jb2xvcjogI2U3ZTdlNztcbiRpbnB1dC1kYXJrZXItYmctY29sb3I6ICMxODFiMjE7XG4kaW5wdXQtZGFya2VyLWZnLWNvbG9yOiAjNjE3MDhiO1xuJGlucHV0LWxpZ2h0ZXItYmctY29sb3I6ICNmMmY1Zjg7XG4kaW5wdXQtcGxhY2Vob2xkZXI6IHZhcigtLWNwZC1jb2xvci10ZXh0LXNlY29uZGFyeSk7XG5cbiRyZXNlbmQtYnV0dG9uLWRpdmlkZXItY29sb3I6ICRtdXRlZC1mZy1jb2xvcjtcblxuLyogc2Nyb2xsYmFycyAqL1xuJHNjcm9sbGJhci10aHVtYi1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjIpO1xuXG4vKiBjb250ZXh0IG1lbnVzICovXG4kbWVudS1ib3JkZXItY29sb3I6ICMwMDAwMDA7XG4kbWVudS1iZy1jb2xvcjogJGhlYWRlci1wYW5lbC1iZy1jb2xvcjtcbiRtZW51LWJveC1zaGFkb3ctY29sb3I6ICRiZy1jb2xvcjtcbiRtZW51LXNlbGVjdGVkLWNvbG9yOiAkcm9vbS1oaWdobGlnaHQtY29sb3I7XG5cbiRhdmF0YXItaW5pdGlhbC1jb2xvcjogI2ZmZmZmZjtcblxuJGgzLWNvbG9yOiAkcHJpbWFyeS1mZy1jb2xvcjtcbiRpY29uLWJ1dHRvbi1jb2xvcjogdmFyKC0tY3BkLWNvbG9yLWljb24tdGVydGlhcnkpO1xuXG4kZGlhbG9nLXRpdGxlLWZnLWNvbG9yOiAkYmFzZS10ZXh0LWNvbG9yO1xuJGRpYWxvZy1iYWNrZHJvcC1jb2xvcjogIzAwMDAwMDgwO1xuJGRpYWxvZy1jbG9zZS1mZy1jb2xvcjogJGljb24tYnV0dG9uLWNvbG9yO1xuJGRpYWxvZy1jbG9zZS1leHRlcm5hbC1jb2xvcjogJHRleHQtcHJpbWFyeS1jb2xvcjtcblxuJGxpZ2h0Ym94LWJhY2tncm91bmQtYmctY29sb3I6ICMwMDA7XG4kbGlnaHRib3gtYmFja2dyb3VuZC1iZy1vcGFjaXR5OiAwLjg1O1xuXG4kc2V0dGluZ3MtZ3JleS1mZy1jb2xvcjogI2EyYTJhMjtcbiRzZXR0aW5ncy1zdWJzZWN0aW9uLWZnLWNvbG9yOiAkdGV4dC1zZWNvbmRhcnktY29sb3I7XG5cbiR0b3BsZWZ0bWVudS1jb2xvcjogJHRleHQtcHJpbWFyeS1jb2xvcjtcbiRyb29taGVhZGVyLWFkZHJvb20tYmctY29sb3I6ICMzYzQ1NTY7XG4kcm9vbWhlYWRlci1hZGRyb29tLWZnLWNvbG9yOiAkdGV4dC1wcmltYXJ5LWNvbG9yO1xuJHJvb210b3BpYy1jb2xvcjogJHRleHQtc2Vjb25kYXJ5LWNvbG9yO1xuJHJvb20taWNvbi11bnJlYWQtY29sb3I6IHZhcigtLWNwZC1jb2xvci1pY29uLXRlcnRpYXJ5KTtcblxuLyogTGVnYWN5IHRoZW1lIGJhY2twb3J0cyAqL1xuJGFjY2VudDogIzBkYmQ4YjtcbiRhbGVydDogI2ZmNWI1NTtcbiRsaW5rczogIzAwODZlNjtcbiRsaW5rLWV4dGVybmFsOiAjMDQ2N2RkO1xuJHByaW1hcnktY29udGVudDogJHByaW1hcnktZmctY29sb3I7XG4kc2Vjb25kYXJ5LWNvbnRlbnQ6ICRzZWNvbmRhcnktZmctY29sb3I7XG4kdGVydGlhcnktY29udGVudDogJHRlcnRpYXJ5LWZnLWNvbG9yO1xuJHF1YXRlcm5hcnktY29udGVudDogIzZmNzg4MjtcbiRxdWluYXJ5LWNvbnRlbnQ6ICRxdWF0ZXJuYXJ5LWNvbnRlbnQ7XG4kYmFja2dyb3VuZDogJHByaW1hcnktYmctY29sb3I7XG4kb3ZlcmxheS1iYWNrZ3JvdW5kOiByZ2JhKCRiYWNrZ3JvdW5kLCAwLjg1KTtcblxuJHBhbmVsczogcmdiYSgkc3lzdGVtLCAwLjkpO1xuJHBhbmVsLWFjdGlvbnM6ICRyb29tdGlsZS1zZWxlY3RlZC1iZy1jb2xvcjtcblxuJHNlcGFyYXRvcjogdmFyKC0tY3BkLWNvbG9yLWdyYXktNDAwKTtcblxuLyoqXG4gKiBDcmVhdGluZyBhIGBzZW1hbnRpY2AgY29sb3Igc2NhbGUuIFRoaXMgd2lsbCBub3QgYmUgbmVlZGVkIHdpdGggdGhlIG5ld1xuICogdmlzdWFsIGxhbmd1YWdlLCBidXQgbmVjZXNzYXJ5IGR1cmluZyB0aGUgdHJhbnNpdGlvbiBwZXJpb2RcbiAqIFRoaXMgYWJzdHJhY3QgdGhlIGBncmVlbmAgYXdheSBmcm9tIHdoZXJlIGFjY2VudCBzaGFkZXMgYXJlIHVzZWRcbiAqIFRha2U6IGBiYWNrZ3JvdW5kOiByZ2JhKCRhY2NlbnQsIDAuMSk7YFxuICogd291bGQgYmUgdHJhbnNmb3JtZWQgdG86IGBiYWNrZ3JvdW5kOiAkYWNjZW50LTMwMDtgXG4gKlxuICogVG8gdXNlIHVuZGVyIHZlcnkgcmFyZSBjaXJjdW1zdGFuY2VzLCBhbHdheXMgcHJlZmVyIHRoZSBzZW1hbnRpY3MgZGVmaW5lZFxuICogaW4gaHR0cHM6Ly9jb21wb3VuZC5lbGVtZW50LmlvLz9wYXRoPS9kb2NzL3Rva2Vucy1zZW1hbnRpYy1jb2xvcnMtLWRvY3NcbiAqL1xuJGFjY2VudC0xMDA6IHZhcigtLWNwZC1jb2xvci1ncmVlbi0xMDApO1xuJGFjY2VudC0yMDA6IHZhcigtLWNwZC1jb2xvci1ncmVlbi0yMDApO1xuJGFjY2VudC0zMDA6IHZhcigtLWNwZC1jb2xvci1ncmVlbi0zMDApO1xuJGFjY2VudC00MDA6IHZhcigtLWNwZC1jb2xvci1ncmVlbi00MDApO1xuJGFjY2VudC01MDA6IHZhcigtLWNwZC1jb2xvci1ncmVlbi01MDApO1xuJGFjY2VudC02MDA6IHZhcigtLWNwZC1jb2xvci1ncmVlbi02MDApO1xuJGFjY2VudC03MDA6IHZhcigtLWNwZC1jb2xvci1ncmVlbi03MDApO1xuJGFjY2VudC04MDA6IHZhcigtLWNwZC1jb2xvci1ncmVlbi04MDApO1xuJGFjY2VudC05MDA6IHZhcigtLWNwZC1jb2xvci1ncmVlbi05MDApO1xuJGFjY2VudC0xMDAwOiB2YXIoLS1jcGQtY29sb3ItZ3JlZW4tMTAwMCk7XG4kYWNjZW50LTExMDA6IHZhcigtLWNwZC1jb2xvci1ncmVlbi0xMTAwKTtcbiRhY2NlbnQtMTIwMDogdmFyKC0tY3BkLWNvbG9yLWdyZWVuLTEyMDApO1xuJGFjY2VudC0xMzAwOiB2YXIoLS1jcGQtY29sb3ItZ3JlZW4tMTMwMCk7XG4kYWNjZW50LTE0MDA6IHZhcigtLWNwZC1jb2xvci1ncmVlbi0xNDAwKTtcbi8qIExlZ2FjeSB0aGVtZSBiYWNrcG9ydHMgKi9cblxuLyogKioqKioqKioqKioqKioqKioqKiogKi9cblxuJGNhbGwtdmlldy1idXR0b24tb24tZm9yZWdyb3VuZDogJHByaW1hcnktY29udGVudDtcbiRjYWxsLXZpZXctYnV0dG9uLW9uLWJhY2tncm91bmQ6ICRzeXN0ZW07XG4kY2FsbC12aWV3LWJ1dHRvbi1vZmYtZm9yZWdyb3VuZDogJHN5c3RlbTtcbiRjYWxsLXZpZXctYnV0dG9uLW9mZi1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb250ZW50O1xuJGNhbGwtdmlldy1jb250ZW50LWJhY2tncm91bmQ6ICRxdWluYXJ5LWNvbnRlbnQ7XG5cbiR2aWRlby1mZWVkLXNlY29uZGFyeS1iYWNrZ3JvdW5kOiAkc3lzdGVtO1xuXG4kY2FsbC1zeXN0ZW06ICRzeXN0ZW07XG4kY2FsbC1iYWNrZ3JvdW5kOiAkYmFja2dyb3VuZDtcbiRjYWxsLXByaW1hcnktY29udGVudDogJHByaW1hcnktY29udGVudDtcbiRjYWxsLWxpZ2h0LXF1YXRlcm5hcnktY29udGVudDogI2MxYzZjZDtcblxuJHJvb21saXN0LWZpbHRlci1hY3RpdmUtYmctY29sb3I6ICRwYW5lbC1hY3Rpb25zO1xuJHJvb21saXN0LWJnLWNvbG9yOiByZ2JhKDM4LCA0MCwgNDUsIDAuOSk7XG5cbiRyb29tc3VibGlzdC1za2VsZXRvbi11aS1iZzogbGluZWFyLWdyYWRpZW50KDE4MGRlZywgIzNlNDQ0YyAwJSwgIzNlNDQ0YzAwIDEwMCUpO1xuXG4kc3BhY2VQYW5lbC1kaXZpZGVyLWNvbG9yOiAkdGVydGlhcnktY29udGVudDtcblxuJHJvb210aWxlLWRlZmF1bHQtYmFkZ2UtYmctY29sb3I6ICM2MTcwOGI7XG4kcm9vbXRpbGUtc2VsZWN0ZWQtYmctY29sb3I6ICMxYTFkMjM7XG5cbi8qICoqKioqKioqKioqKioqKioqKioqICovXG5cbiR3aWRnZXQtbWVudS1iYXItYmctY29sb3I6ICRoZWFkZXItcGFuZWwtYmctY29sb3I7XG4kd2lkZ2V0LWJvZHktYmctY29sb3I6ICMxYTFkMjM7XG5cbiRldmVudC1oaWdobGlnaHQtYmctY29sb3I6ICMyNTI3MWY7XG5cbi8qIGV2ZW50IHRpbWVzdGFtcCAqL1xuJGV2ZW50LXRpbWVzdGFtcC1jb2xvcjogJHRleHQtc2Vjb25kYXJ5LWNvbG9yO1xuXG4vKiBUYWJiZWQgdmlld3MgKi9cbiR0YWItbGFiZWwtZmctY29sb3I6ICR0ZXh0LXByaW1hcnktY29sb3I7XG4kdGFiLWxhYmVsLWFjdGl2ZS1mZy1jb2xvcjogJHRleHQtcHJpbWFyeS1jb2xvcjtcblxuLyogQnV0dG9ucyAqL1xuJGJ1dHRvbi1wcmltYXJ5LWZnLWNvbG9yOiAjZmZmZmZmO1xuJGJ1dHRvbi1zZWNvbmRhcnktYmctY29sb3I6IHRyYW5zcGFyZW50O1xuJGJ1dHRvbi1kYW5nZXItZmctY29sb3I6ICNmZmZmZmY7XG4kYnV0dG9uLWRhbmdlci1kaXNhYmxlZC1mZy1jb2xvcjogI2ZmZmZmZjtcbiRidXR0b24tZGFuZ2VyLWRpc2FibGVkLWJnLWNvbG9yOiAjZjViNmJiOyAvKiBUT0RPOiBWZXJpZnkgY29sb3IgKi9cblxuLyogVG9nZ2xlIHN3aXRjaCAqL1xuJHRvZ2dsZXN3LW9mZi1jb2xvcjogJHJvb20taGlnaGxpZ2h0LWNvbG9yO1xuXG4kcHJvZ3Jlc3NiYXItYmctY29sb3I6ICMyMTI2MmM7XG5cbiR2aXN1YWwtYmVsbC1iZy1jb2xvcjogIzgwMDtcblxuJGRhcmstcGFuZWwtYmctY29sb3I6IHZhcigtLWNwZC1jb2xvci1iZy1zdWJ0bGUtc2Vjb25kYXJ5KTtcbiRwYW5lbC1ncmFkaWVudDogcmdiYSgzNCwgMzgsIDQ2LCAwKSwgcmdiYSgzNCwgMzgsIDQ2LCAxKTtcblxuJG1lc3NhZ2UtYWN0aW9uLWJhci1iZy1jb2xvcjogJGhlYWRlci1wYW5lbC1iZy1jb2xvcjtcbiRtZXNzYWdlLWFjdGlvbi1iYXItZmctY29sb3I6ICRoZWFkZXItcGFuZWwtdGV4dC1wcmltYXJ5LWNvbG9yO1xuJG1lc3NhZ2UtYWN0aW9uLWJhci1ib3JkZXItY29sb3I6ICM2MTZiN2Y7XG4kbWVzc2FnZS1hY3Rpb24tYmFyLWhvdmVyLWJvcmRlci1jb2xvcjogJGhlYWRlci1wYW5lbC10ZXh0LXByaW1hcnktY29sb3I7XG5cbiRyZWFjdGlvbi1yb3ctYnV0dG9uLWhvdmVyLWJvcmRlci1jb2xvcjogJGhlYWRlci1wYW5lbC10ZXh0LXByaW1hcnktY29sb3I7XG4kcmVhY3Rpb24tcm93LWJ1dHRvbi1zZWxlY3RlZC1iZy1jb2xvcjogIzFmNjk1NDtcblxuJGtiZC1ib3JkZXItY29sb3I6ICRzdHJvbmctaW5wdXQtYm9yZGVyLWNvbG9yO1xuXG4kdG9vbHRpcC10aW1lbGluZS1iZy1jb2xvcjogJHNwYWNlUGFuZWwtYmctY29sb3I7XG4kdG9vbHRpcC10aW1lbGluZS1mZy1jb2xvcjogI2ZmZmZmZjtcblxuJGJyZWFkY3J1bWItcGxhY2Vob2xkZXItYmctY29sb3I6ICMyNzJjMzU7XG5cbi8qIFNlZSBub24tbGVnYWN5IGRhcmsgZm9yIHZhcmlhYmxlIGluZm9ybWF0aW9uICovXG4kdm9pY2UtcmVjb3JkLXN0b3AtYm9yZGVyLWNvbG9yOiAjNmY3ODgyO1xuJHZvaWNlLXJlY29yZC1pY29uLWNvbG9yOiAjNmY3ODgyO1xuXG4kY29tcG9zZXItc2hhZG93LWNvbG9yOiB0cmFucGFyZW50O1xuXG4kY29kZWJsb2NrLWJhY2tncm91bmQtY29sb3I6ICMyYTMwMzk7XG4kaW5saW5lY29kZS1ib3JkZXItY29sb3I6ICMyYTMwMzk7XG4kaW5saW5lY29kZS1iYWNrZ3JvdW5kLWNvbG9yOiAjMmEzMDM5O1xuXG4vKiBCdWJibGUgdGlsZXMgKi9cbiRldmVudGJ1YmJsZS1zZWxmLWJnOiAjMTQzMjJlO1xuJGV2ZW50YnViYmxlLW90aGVycy1iZzogJGV2ZW50LXNlbGVjdGVkLWNvbG9yO1xuJGV2ZW50YnViYmxlLWJnLWhvdmVyOiAjMWMyMDI2O1xuXG4vKiBMb2NhdGlvbiBzaGFyaW5nICovXG4vKiAqKioqKioqKioqKioqKioqKioqKiAqL1xuJGxvY2F0aW9uLW1hcmtlci1jb2xvcjogI2ZmZmZmZjtcbiRsb2NhdGlvbi1saXZlLWNvbG9yOiAjNWM1NmY1O1xuJGxvY2F0aW9uLWxpdmUtc2Vjb25kYXJ5LWNvbG9yOiAjZGVkZGZkO1xuLyogKioqKioqKioqKioqKioqKioqKiogKi9cblxuYm9keSB7XG4gICAgY29sb3Itc2NoZW1lOiBkYXJrO1xufVxuXG4vKiBOYXN0eSBoYWNrcyB0byBhcHBseSBhIGZpbHRlciB0byBhcmJpdHJhcnkgbW9ub2Nocm9tZSBhcnR3b3JrIHRvIG1ha2UgaXQgKi9cbi8qIGJldHRlciBtYXRjaCB0aGUgdGhlbWUuICBUeXBpY2FsbHkgYXBwbGllZCB0byBkYXJrIGdyZXkgJ29mZicgYnV0dG9ucyBvciAqL1xuLyogbGlnaHQgZ3JleSAnb24nIGJ1dHRvbnMuICovXG4ubXhfZmlsdGVyRmxpcENvbG9yIHtcbiAgICBmaWx0ZXI6IGludmVydCgxKTtcbn1cblxuLyogbWFya2Rvd24gb3ZlcnJpZGVzOiAqL1xuLm14X0V2ZW50VGlsZV9jb250ZW50IC5tYXJrZG93bi1ib2R5IHtcbiAgICB0YWJsZSB7XG4gICAgICAgIHRyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDAwMDA7XG4gICAgICAgIH1cblxuICAgICAgICB0cjpudGgtY2hpbGQoMm4pIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwODA4MDg7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8qIGhpZ2hsaWdodC5qcyBvdmVycmlkZXM6ICovXG4uaGxqcy10YWcge1xuICAgIGNvbG9yOiBpbmhlcml0OyAvKiBXaXRob3V0IHRoaXMgdGhleSdkIGJlIHdlaXJkbHkgYmx1ZSB3aGljaCBkb2Vzbid0IG1hdGNoIHRoZSB0aGVtZSAqL1xufVxuIiwiLypcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxuQ29weXJpZ2h0IDIwMTkgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cblxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuKi9cblxuJGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWZhbWlseSwgJGZvbnQtZmFtaWx5KTtcbiRtb25vc3BhY2UtZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZmFtaWx5LW1vbm9zcGFjZSwgJG1vbm9zcGFjZS1mb250LWZhbWlseSk7XG5cbi8qIENvbG9ycyBmcm9tIEZpZ21hIENvbXBvdW5kIGh0dHBzOi8vd3d3LmZpZ21hLmNvbS9maWxlL1g0WFRIOWlTMktHSjJ3RktEcWt5ZWQvQ29tcG91bmQ/bm9kZS1pZD01NTklM0E3NDEgKi9cbiRhY2NlbnQ6IHZhcigtLWFjY2VudC1jb2xvciwgJGFjY2VudCk7XG4kYWxlcnQ6IHZhcigtLWFsZXJ0LCAkYWxlcnQpO1xuJGxpbmtzOiB2YXIoLS1saW5rcywgJGxpbmtzKTtcbiRwcmltYXJ5LWNvbnRlbnQ6IHZhcigtLXByaW1hcnktY29udGVudCwgJHByaW1hcnktY29udGVudCk7XG4kc2Vjb25kYXJ5LWNvbnRlbnQ6IHZhcigtLXNlY29uZGFyeS1jb250ZW50LCAkc2Vjb25kYXJ5LWNvbnRlbnQpO1xuJHRlcnRpYXJ5LWNvbnRlbnQ6IHZhcigtLXRlcnRpYXJ5LWNvbnRlbnQsICR0ZXJ0aWFyeS1jb250ZW50KTtcbiRxdWF0ZXJuYXJ5LWNvbnRlbnQ6IHZhcigtLXF1YXRlcm5hcnktY29udGVudCwgJHF1YXRlcm5hcnktY29udGVudCk7XG4kcXVpbmFyeS1jb250ZW50OiB2YXIoLS1xdWluYXJ5LWNvbnRlbnQsICRxdWluYXJ5LWNvbnRlbnQpO1xuJHN5c3RlbTogdmFyKC0tc3lzdGVtLCAkc3lzdGVtKTtcbiRzeXN0ZW0tdHJhbnNwYXJlbnQ6IHZhcigtLXN5c3RlbS10cmFuc3BhcmVudCwgI2UxZTZlYzAwKTtcbiRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLCAkYmFja2dyb3VuZCk7XG4kcGFuZWxzOiB2YXIoLS1wYW5lbHMsIHZhcigtLWNwZC1jb2xvci1ncmF5LTYwMCkpO1xuJHBhbmVsLWFjdGlvbnM6IHZhcigtLXBhbmVscy1hY3Rpb25zLCB2YXIoLS1jcGQtY29sb3ItZ3JheS0zMDApKTtcblxuLyogLS10aW1lbGluZS1iYWNrZ3JvdW5kLWNvbG9yICovXG4kYnV0dG9uLXNlY29uZGFyeS1iZy1jb2xvcjogdmFyKC0tdGltZWxpbmUtYmFja2dyb3VuZC1jb2xvcik7XG4kbGlnaHRib3gtYm9yZGVyLWNvbG9yOiB2YXIoLS10aW1lbGluZS1iYWNrZ3JvdW5kLWNvbG9yKTtcbiRtZW51LWJnLWNvbG9yOiB2YXIoLS10aW1lbGluZS1iYWNrZ3JvdW5kLWNvbG9yKTtcbiRtZXNzYWdlLWFjdGlvbi1iYXItYmctY29sb3I6IHZhcigtLXRpbWVsaW5lLWJhY2tncm91bmQtY29sb3IpO1xuJGJhY2tncm91bmQ6IHZhcigtLXRpbWVsaW5lLWJhY2tncm91bmQtY29sb3IpO1xuJHRvZ2dsZXN3LWJhbGwtY29sb3I6IHZhcigtLWNwZC1jb2xvci1iZy1hY3Rpb24tcHJpbWFyeS1yZXN0KTtcbiR0b2dnbGVzdy1vZmYtY29sb3I6IHZhcigtLXRvZ2dsZXN3LW9mZi1jb2xvcik7XG4kZHJvcHRhcmdldC1iZy1jb2xvcjogdmFyKC0tdGltZWxpbmUtYmFja2dyb3VuZC1jb2xvci01MHBjdCk7IC8qIHN0aWxsIG5lZWRzIGFscGhhIGF0IC41ICovXG4kYXV0aHBhZ2UtbW9kYWwtYmctY29sb3I6IHZhcigtLXRpbWVsaW5lLWJhY2tncm91bmQtY29sb3ItNTBwY3QpOyAvKiBzdGlsbCBuZWVkcyBhbHBoYSBhdCAuNTkgKi9cbiRyb29taGVhZGVyLWJnLWNvbG9yOiB2YXIoLS10aW1lbGluZS1iYWNrZ3JvdW5kLWNvbG9yKTtcblxuLyogLS1yb29tbGlzdC1oaWdobGlnaHRzLWNvbG9yICovXG4kcGFuZWwtYWN0aW9uczogdmFyKC0tcm9vbWxpc3QtaGlnaGxpZ2h0cy1jb2xvcik7XG5cbi8qIC0tc2lkZWJhci1jb2xvciAqL1xuJHNwYWNlUGFuZWwtYmctY29sb3I6IHZhcigtLXNpZGViYXItY29sb3IpO1xuJHRvb2x0aXAtdGltZWxpbmUtYmctY29sb3I6IHZhcigtLXNpZGViYXItY29sb3IpO1xuJGRpYWxvZy1iYWNrZHJvcC1jb2xvcjogdmFyKC0tc2lkZWJhci1jb2xvci01MHBjdCk7XG5cbi8qIC0tcm9vbWxpc3QtYmFja2dyb3VuZC1jb2xvciAqL1xuJGhlYWRlci1wYW5lbC1iZy1jb2xvcjogdmFyKC0tcm9vbWxpc3QtYmFja2dyb3VuZC1jb2xvcik7XG4kaGVhZGVyLXBhbmVsLWJnLWhvdmVyOiB2YXIoLS1jcGQtY29sb3ItZ3JheS0yMDApO1xuJHBhbmVsLWdyYWRpZW50OiB2YXIoLS1yb29tbGlzdC1iYWNrZ3JvdW5kLWNvbG9yLTBwY3QpLCB2YXIoLS1yb29tbGlzdC1iYWNrZ3JvdW5kLWNvbG9yKTtcbi8qIHRoZXNlIHdlcmUgI2YyZjVmOCBpbnN0ZWFkIG9mICNmM2Y4ZmQsIGJ1dCBjbG9zZSBlbm91Z2ggKi9cbiRkYXJrLXBhbmVsLWJnLWNvbG9yOiB2YXIoLS1yb29tbGlzdC1iYWNrZ3JvdW5kLWNvbG9yKTtcbiRpbnB1dC1saWdodGVyLWJnLWNvbG9yOiB2YXIoLS1yb29tbGlzdC1iYWNrZ3JvdW5kLWNvbG9yKTtcbiRzZWNvbmRhcnktYWNjZW50LWNvbG9yOiB2YXIoLS1yb29tbGlzdC1iYWNrZ3JvdW5kLWNvbG9yKTtcbiRzZWxlY3RlZC1jb2xvcjogdmFyKC0tcm9vbWxpc3QtYmFja2dyb3VuZC1jb2xvcik7XG4kd2lkZ2V0LW1lbnUtYmFyLWJnLWNvbG9yOiB2YXIoLS1yb29tbGlzdC1iYWNrZ3JvdW5kLWNvbG9yKTtcbiRyb29tbGlzdC1iZy1jb2xvcjogdmFyKC0tcm9vbWxpc3QtYmFja2dyb3VuZC1jb2xvcik7XG5cbi8qIC0tdGltZWxpbmUtdGV4dC1jb2xvciAqL1xuJG1lc3NhZ2UtYWN0aW9uLWJhci1mZy1jb2xvcjogdmFyKC0tdGltZWxpbmUtdGV4dC1jb2xvcik7XG4kcHJpbWFyeS1jb250ZW50OiB2YXIoLS10aW1lbGluZS10ZXh0LWNvbG9yKTtcbiRyb29tdG9waWMtY29sb3I6IHZhcigtLXRpbWVsaW5lLXRleHQtY29sb3ItNTBwY3QpO1xuLyogd2FzICMyMTIxMjEgKi9cbiR0b3BsZWZ0bWVudS1jb2xvcjogdmFyKC0tdGltZWxpbmUtdGV4dC1jb2xvcik7XG4vKiB3YXMgIzQ1NDc0YSAqL1xuJGRpYWxvZy10aXRsZS1mZy1jb2xvcjogdmFyKC0tdGltZWxpbmUtdGV4dC1jb2xvcik7XG4vKiB3YXMgIzRlNTA1NCAqL1xuJGF1dGhwYWdlLWxhbmctY29sb3I6IHZhcigtLXRpbWVsaW5lLXRleHQtY29sb3IpO1xuLyogd2FzICMyMzJmMzIgKi9cbiRhdXRocGFnZS1wcmltYXJ5LWNvbG9yOiB2YXIoLS10aW1lbGluZS10ZXh0LWNvbG9yKTtcbi8qIC0tcm9vbWxpc3QtdGV4dC1zZWNvbmRhcnktY29sb3IgKi9cbiRyb29tdGlsZS1kZWZhdWx0LWJhZGdlLWJnLWNvbG9yOiB2YXIoLS1yb29tbGlzdC10ZXh0LXNlY29uZGFyeS1jb2xvcik7XG5cbi8qIC0tcm9vbWxpc3Qtc2VwYXJhdG9yLWNvbG9yICovXG4kaW5wdXQtZGFya2VyLWJnLWNvbG9yOiB2YXIoLS1yb29tbGlzdC1zZXBhcmF0b3ItY29sb3IpO1xuJHByaW1hcnktaGFpcmxpbmUtY29sb3I6IHZhcigtLXJvb21saXN0LXNlcGFyYXRvci1jb2xvcik7IC8qIG9yaWdpbmFsbHkgI2U1ZTVlNSwgYnV0IGNsb3NlIGVub3VnaCAqL1xuJHNlY29uZGFyeS1oYWlybGluZS1jb2xvcjogdmFyKC0tc2Vjb25kYXJ5LWhhaXJsaW5lLWNvbG9yKTtcblxuLyogLS10aW1lbGluZS10ZXh0LXNlY29uZGFyeS1jb2xvciAqL1xuJGF1dGhwYWdlLXNlY29uZGFyeS1jb2xvcjogdmFyKC0tdGltZWxpbmUtdGV4dC1zZWNvbmRhcnktY29sb3IpO1xuJHBpbm5lZC1jb2xvcjogdmFyKC0tdGltZWxpbmUtdGV4dC1zZWNvbmRhcnktY29sb3IpO1xuJHNldHRpbmdzLXN1YnNlY3Rpb24tZmctY29sb3I6IHZhcigtLXRpbWVsaW5lLXRleHQtc2Vjb25kYXJ5LWNvbG9yKTtcbiRyb29taGVhZGVyLWFkZHJvb20tYmctY29sb3I6IHZhcigtLXRpbWVsaW5lLXRleHQtc2Vjb25kYXJ5LWNvbG9yKTtcbi8qIHdhcyAjNzQ3NDc0ICovXG4kbGlnaHQtZmctY29sb3I6IHZhcigtLXRpbWVsaW5lLXRleHQtc2Vjb25kYXJ5LWNvbG9yKTtcbiRmb2N1cy1iZy1jb2xvcjogdmFyKC0tZm9jdXMtYmctY29sb3IsICRmb2N1cy1iZy1jb2xvcik7XG4kcm9vbS1oaWdobGlnaHQtY29sb3I6IHZhcigtLXJvb20taGlnaGxpZ2h0LWNvbG9yKTtcblxuJHJ0ZS1yb29tLXBpbGwtY29sb3I6ICRyb29tLWhpZ2hsaWdodC1jb2xvcjtcblxuLyogd2FzICM4ODg4ODggKi9cbiRpbmZvLXBsaW50aC1mZy1jb2xvcjogdmFyKC0tdGltZWxpbmUtdGV4dC1zZWNvbmRhcnktY29sb3IpO1xuXG4vKiAtLXByaW1hcnktY29sb3IgKi9cbiRhY2NlbnQtYWx0OiB2YXIoLS1wcmltYXJ5LWNvbG9yKTtcblxuLyogLS13YXJuaW5nLWNvbG9yICovXG4kYnV0dG9uLWRhbmdlci1kaXNhYmxlZC1iZy1jb2xvcjogdmFyKC0td2FybmluZy1jb2xvci01MHBjdCk7IC8qIHN0aWxsIG5lZWRzIGFscGhhIGF0IDAuNSAqL1xuXG4vKiAtLXRpbWVsaW5lLWhpZ2hsaWdodHMtY29sb3IgKi9cbiRldmVudC1zZWxlY3RlZC1jb2xvcjogdmFyKC0tdGltZWxpbmUtaGlnaGxpZ2h0cy1jb2xvcik7XG4kZXZlbnQtaGlnaGxpZ2h0LWJnLWNvbG9yOiB2YXIoLS10aW1lbGluZS1oaWdobGlnaHRzLWNvbG9yKTtcblxuLyogcmVkaXJlY3Qgc29tZSB2YXJpYWJsZXMgYXdheSBmcm9tIHRoZWlyIGhhcmRjb2RlZCB2YWx1ZXMgaW4gdGhlIGxpZ2h0IHRoZW1lICovXG4kc2V0dGluZ3MtZ3JleS1mZy1jb2xvcjogJHByaW1hcnktY29udGVudDtcblxuLyogLS1ldmVudGJ1YmJsZSBjb2xvcnMgKi9cbiRldmVudGJ1YmJsZS1zZWxmLWJnOiB2YXIoLS1ldmVudGJ1YmJsZS1zZWxmLWJnLCAkZXZlbnRidWJibGUtc2VsZi1iZyk7XG4kZXZlbnRidWJibGUtb3RoZXJzLWJnOiB2YXIoLS1ldmVudGJ1YmJsZS1vdGhlcnMtYmcsICRldmVudGJ1YmJsZS1vdGhlcnMtYmcpO1xuJGV2ZW50YnViYmxlLWJnLWhvdmVyOiB2YXIoLS1ldmVudGJ1YmJsZS1iZy1ob3ZlciwgJGV2ZW50YnViYmxlLWJnLWhvdmVyKTtcblxuJHJlYWN0aW9uLXJvdy1idXR0b24tc2VsZWN0ZWQtYmctY29sb3I6IHZhcihcbiAgICAtLXJlYWN0aW9uLXJvdy1idXR0b24tc2VsZWN0ZWQtYmctY29sb3IsXG4gICAgJHJlYWN0aW9uLXJvdy1idXR0b24tc2VsZWN0ZWQtYmctY29sb3Jcbik7XG5cbiRtZW51LXNlbGVjdGVkLWNvbG9yOiB2YXIoLS1tZW51LXNlbGVjdGVkLWNvbG9yLCAkbWVudS1zZWxlY3RlZC1jb2xvcik7XG4kcGlsbC1iZy1jb2xvcjogdmFyKC0tb3RoZXItdXNlci1waWxsLWJnLWNvbG9yLCAkcGlsbC1iZy1jb2xvcik7XG4kcGlsbC1ob3Zlci1iZy1jb2xvcjogdmFyKC0tb3RoZXItdXNlci1waWxsLWJnLWNvbG9yLCAkcGlsbC1ob3Zlci1iZy1jb2xvcik7XG4kcGlsbC1wcmVzcy1iZy1jb2xvcjogdmFyKC0tb3RoZXItdXNlci1waWxsLWJnLWNvbG9yLCAkcGlsbC1wcmVzcy1iZy1jb2xvcik7XG4kaWNvbi1idXR0b24tY29sb3I6IHZhcigtLWljb24tYnV0dG9uLWNvbG9yLCAkaWNvbi1idXR0b24tY29sb3IpO1xuXG4kc3Ryb25nLWlucHV0LWJvcmRlci1jb2xvcjogdmFyKC0tc3Ryb25nLWlucHV0LWJvcmRlci1jb2xvciwgJHN0cm9uZy1pbnB1dC1ib3JkZXItY29sb3IpO1xuJGludmVydGVkLWJnLWNvbG9yOiB2YXIoLS1zdHJvbmctaW5wdXQtYm9yZGVyLWNvbG9yLCAkaW52ZXJ0ZWQtYmctY29sb3IpO1xuXG4vKipcbiAqIFZhcmlhdGlvbiBvZiB0aGUgYWNjZW50IGNvbG9yLlxuICogR2VuZXJhdGUgdGhpcyBjb2xvdXIgc2NhbGUgdXNpbmcgTGVvbmFyZG9Db2xvclxuICogVE9ETzogQWRkIGxpbmtcbiAqL1xuJGFjY2VudC0xMDA6IHZhcigtLWFjY2VudC1jb2xvci0xMDApO1xuJGFjY2VudC0yMDA6IHZhcigtLWFjY2VudC1jb2xvci0yMDApO1xuJGFjY2VudC0zMDA6IHZhcigtLWFjY2VudC1jb2xvci0zMDApO1xuJGFjY2VudC00MDA6IHZhcigtLWFjY2VudC1jb2xvci00MDApO1xuJGFjY2VudC01MDA6IHZhcigtLWFjY2VudC1jb2xvci01MDApO1xuJGFjY2VudC02MDA6IHZhcigtLWFjY2VudC1jb2xvci02MDApO1xuJGFjY2VudC03MDA6IHZhcigtLWFjY2VudC1jb2xvci03MDApO1xuJGFjY2VudC04MDA6IHZhcigtLWFjY2VudC1jb2xvci04MDApO1xuJGFjY2VudC05MDA6IHZhcigtLWFjY2VudC1jb2xvci05MDApO1xuJGFjY2VudC0xMDAwOiB2YXIoLS1hY2NlbnQtY29sb3ItMTAwMCk7XG4kYWNjZW50LTExMDA6IHZhcigtLWFjY2VudC1jb2xvci0xMTAwKTtcbiRhY2NlbnQtMTIwMDogdmFyKC0tYWNjZW50LWNvbG9yLTEyMDApO1xuJGFjY2VudC0xMzAwOiB2YXIoLS1hY2NlbnQtY29sb3ItMTMwMCk7XG4kYWNjZW50LTE0MDA6IHZhcigtLWFjY2VudC1jb2xvci0xNDAwKTtcbiIsIi8qIGF1dG9nZW5lcmF0ZWQgYnkgcmV0aGVtZW5kZXguc2ggKi9cbkBpbXBvcnQgXCIuL19hbmltYXRpb25zLnBjc3NcIjtcbkBpbXBvcnQgXCIuL19jb21tb24ucGNzc1wiO1xuQGltcG9ydCBcIi4vX2ZvbnQtc2l6ZXMucGNzc1wiO1xuQGltcG9ydCBcIi4vX3NwYWNpbmcucGNzc1wiO1xuQGltcG9ydCBcIi4vY29tcG9uZW50cy92aWV3cy9iZWFjb24vX0JlYWNvbkxpc3RJdGVtLnBjc3NcIjtcbkBpbXBvcnQgXCIuL2NvbXBvbmVudHMvdmlld3MvYmVhY29uL19CZWFjb25TdGF0dXMucGNzc1wiO1xuQGltcG9ydCBcIi4vY29tcG9uZW50cy92aWV3cy9iZWFjb24vX0JlYWNvblN0YXR1c1Rvb2x0aXAucGNzc1wiO1xuQGltcG9ydCBcIi4vY29tcG9uZW50cy92aWV3cy9iZWFjb24vX0JlYWNvblZpZXdEaWFsb2cucGNzc1wiO1xuQGltcG9ydCBcIi4vY29tcG9uZW50cy92aWV3cy9iZWFjb24vX0RpYWxvZ093bkJlYWNvblN0YXR1cy5wY3NzXCI7XG5AaW1wb3J0IFwiLi9jb21wb25lbnRzL3ZpZXdzL2JlYWNvbi9fRGlhbG9nU2lkZWJhci5wY3NzXCI7XG5AaW1wb3J0IFwiLi9jb21wb25lbnRzL3ZpZXdzL2JlYWNvbi9fTGVmdFBhbmVsTGl2ZVNoYXJlV2FybmluZy5wY3NzXCI7XG5AaW1wb3J0IFwiLi9jb21wb25lbnRzL3ZpZXdzL2JlYWNvbi9fTGl2ZVRpbWVSZW1haW5pbmcucGNzc1wiO1xuQGltcG9ydCBcIi4vY29tcG9uZW50cy92aWV3cy9iZWFjb24vX093bkJlYWNvblN0YXR1cy5wY3NzXCI7XG5AaW1wb3J0IFwiLi9jb21wb25lbnRzL3ZpZXdzL2JlYWNvbi9fU2hhcmVMYXRlc3RMb2NhdGlvbi5wY3NzXCI7XG5AaW1wb3J0IFwiLi9jb21wb25lbnRzL3ZpZXdzL2JlYWNvbi9fU3R5bGVkTGl2ZUJlYWNvbkljb24ucGNzc1wiO1xuQGltcG9ydCBcIi4vY29tcG9uZW50cy92aWV3cy9jb250ZXh0X21lbnVzL19LZWJhYkNvbnRleHRNZW51LnBjc3NcIjtcbkBpbXBvcnQgXCIuL2NvbXBvbmVudHMvdmlld3MvZGlhbG9ncy9wb2xscy9fUG9sbERldGFpbEhlYWRlci5wY3NzXCI7XG5AaW1wb3J0IFwiLi9jb21wb25lbnRzL3ZpZXdzL2RpYWxvZ3MvcG9sbHMvX1BvbGxMaXN0SXRlbS5wY3NzXCI7XG5AaW1wb3J0IFwiLi9jb21wb25lbnRzL3ZpZXdzL2RpYWxvZ3MvcG9sbHMvX1BvbGxMaXN0SXRlbUVuZGVkLnBjc3NcIjtcbkBpbXBvcnQgXCIuL2NvbXBvbmVudHMvdmlld3MvZWxlbWVudHMvX0FwcFBlcm1pc3Npb24ucGNzc1wiO1xuQGltcG9ydCBcIi4vY29tcG9uZW50cy92aWV3cy9lbGVtZW50cy9fQXBwV2FybmluZy5wY3NzXCI7XG5AaW1wb3J0IFwiLi9jb21wb25lbnRzL3ZpZXdzL2VsZW1lbnRzL19GaWx0ZXJEcm9wZG93bi5wY3NzXCI7XG5AaW1wb3J0IFwiLi9jb21wb25lbnRzL3ZpZXdzL2VsZW1lbnRzL19GaWx0ZXJUYWJHcm91cC5wY3NzXCI7XG5AaW1wb3J0IFwiLi9jb21wb25lbnRzL3ZpZXdzL2VsZW1lbnRzL19MZWFybk1vcmUucGNzc1wiO1xuQGltcG9ydCBcIi4vY29tcG9uZW50cy92aWV3cy9sb2NhdGlvbi9fRW5hYmxlTGl2ZVNoYXJlLnBjc3NcIjtcbkBpbXBvcnQgXCIuL2NvbXBvbmVudHMvdmlld3MvbG9jYXRpb24vX0xpdmVEdXJhdGlvbkRyb3Bkb3duLnBjc3NcIjtcbkBpbXBvcnQgXCIuL2NvbXBvbmVudHMvdmlld3MvbG9jYXRpb24vX0xvY2F0aW9uU2hhcmVNZW51LnBjc3NcIjtcbkBpbXBvcnQgXCIuL2NvbXBvbmVudHMvdmlld3MvbG9jYXRpb24vX01hcEVycm9yLnBjc3NcIjtcbkBpbXBvcnQgXCIuL2NvbXBvbmVudHMvdmlld3MvbG9jYXRpb24vX01hcEZhbGxiYWNrLnBjc3NcIjtcbkBpbXBvcnQgXCIuL2NvbXBvbmVudHMvdmlld3MvbG9jYXRpb24vX01hcmtlci5wY3NzXCI7XG5AaW1wb3J0IFwiLi9jb21wb25lbnRzL3ZpZXdzL2xvY2F0aW9uL19TaGFyZURpYWxvZ0J1dHRvbnMucGNzc1wiO1xuQGltcG9ydCBcIi4vY29tcG9uZW50cy92aWV3cy9sb2NhdGlvbi9fU2hhcmVUeXBlLnBjc3NcIjtcbkBpbXBvcnQgXCIuL2NvbXBvbmVudHMvdmlld3MvbG9jYXRpb24vX1pvb21CdXR0b25zLnBjc3NcIjtcbkBpbXBvcnQgXCIuL2NvbXBvbmVudHMvdmlld3MvbWVzc2FnZXMvX01CZWFjb25Cb2R5LnBjc3NcIjtcbkBpbXBvcnQgXCIuL2NvbXBvbmVudHMvdmlld3MvbWVzc2FnZXMvc2hhcmVkL19NZWRpYVByb2Nlc3NpbmdFcnJvci5wY3NzXCI7XG5AaW1wb3J0IFwiLi9jb21wb25lbnRzL3ZpZXdzL3BpcHMvX1dpZGdldFBpcC5wY3NzXCI7XG5AaW1wb3J0IFwiLi9jb21wb25lbnRzL3ZpZXdzL3BvbGxzL19Qb2xsT3B0aW9uLnBjc3NcIjtcbkBpbXBvcnQgXCIuL2NvbXBvbmVudHMvdmlld3Mvc2V0dGluZ3MvX0FkZFJlbW92ZVRocmVlcGlkcy5wY3NzXCI7XG5AaW1wb3J0IFwiLi9jb21wb25lbnRzL3ZpZXdzL3NldHRpbmdzL2RldmljZXMvX0N1cnJlbnREZXZpY2VTZWN0aW9uLnBjc3NcIjtcbkBpbXBvcnQgXCIuL2NvbXBvbmVudHMvdmlld3Mvc2V0dGluZ3MvZGV2aWNlcy9fRGV2aWNlRGV0YWlsSGVhZGluZy5wY3NzXCI7XG5AaW1wb3J0IFwiLi9jb21wb25lbnRzL3ZpZXdzL3NldHRpbmdzL2RldmljZXMvX0RldmljZURldGFpbHMucGNzc1wiO1xuQGltcG9ydCBcIi4vY29tcG9uZW50cy92aWV3cy9zZXR0aW5ncy9kZXZpY2VzL19EZXZpY2VFeHBhbmREZXRhaWxzQnV0dG9uLnBjc3NcIjtcbkBpbXBvcnQgXCIuL2NvbXBvbmVudHMvdmlld3Mvc2V0dGluZ3MvZGV2aWNlcy9fRGV2aWNlU2VjdXJpdHlDYXJkLnBjc3NcIjtcbkBpbXBvcnQgXCIuL2NvbXBvbmVudHMvdmlld3Mvc2V0dGluZ3MvZGV2aWNlcy9fRGV2aWNlVGlsZS5wY3NzXCI7XG5AaW1wb3J0IFwiLi9jb21wb25lbnRzL3ZpZXdzL3NldHRpbmdzL2RldmljZXMvX0RldmljZVR5cGVJY29uLnBjc3NcIjtcbkBpbXBvcnQgXCIuL2NvbXBvbmVudHMvdmlld3Mvc2V0dGluZ3MvZGV2aWNlcy9fRmlsdGVyZWREZXZpY2VMaXN0LnBjc3NcIjtcbkBpbXBvcnQgXCIuL2NvbXBvbmVudHMvdmlld3Mvc2V0dGluZ3MvZGV2aWNlcy9fRmlsdGVyZWREZXZpY2VMaXN0SGVhZGVyLnBjc3NcIjtcbkBpbXBvcnQgXCIuL2NvbXBvbmVudHMvdmlld3Mvc2V0dGluZ3MvZGV2aWNlcy9fU2VjdXJpdHlSZWNvbW1lbmRhdGlvbnMucGNzc1wiO1xuQGltcG9ydCBcIi4vY29tcG9uZW50cy92aWV3cy9zZXR0aW5ncy9kZXZpY2VzL19TZWxlY3RhYmxlRGV2aWNlVGlsZS5wY3NzXCI7XG5AaW1wb3J0IFwiLi9jb21wb25lbnRzL3ZpZXdzL3NldHRpbmdzL3NoYXJlZC9fU2V0dGluZ3NTdWJzZWN0aW9uLnBjc3NcIjtcbkBpbXBvcnQgXCIuL2NvbXBvbmVudHMvdmlld3Mvc2V0dGluZ3Mvc2hhcmVkL19TZXR0aW5nc1N1YnNlY3Rpb25IZWFkaW5nLnBjc3NcIjtcbkBpbXBvcnQgXCIuL2NvbXBvbmVudHMvdmlld3Mvc3BhY2VzL19RdWlja1RoZW1lU3dpdGNoZXIucGNzc1wiO1xuQGltcG9ydCBcIi4vY29tcG9uZW50cy92aWV3cy90eXBvZ3JhcGh5L19DYXB0aW9uLnBjc3NcIjtcbkBpbXBvcnQgXCIuL2NvbXBvbmVudHMvdmlld3MvdXRpbHMvX0JveC5wY3NzXCI7XG5AaW1wb3J0IFwiLi9jb21wb25lbnRzL3ZpZXdzL3V0aWxzL19GbGV4LnBjc3NcIjtcbkBpbXBvcnQgXCIuL2NvbXBvdW5kL19JY29uLnBjc3NcIjtcbkBpbXBvcnQgXCIuL2NvbXBvdW5kL19TdWNjZXNzRGlhbG9nLnBjc3NcIjtcbkBpbXBvcnQgXCIuL3N0cnVjdHVyZXMvX0F1dG9IaWRlU2Nyb2xsYmFyLnBjc3NcIjtcbkBpbXBvcnQgXCIuL3N0cnVjdHVyZXMvX0F1dG9jb21wbGV0ZUlucHV0LnBjc3NcIjtcbkBpbXBvcnQgXCIuL3N0cnVjdHVyZXMvX0JhY2tkcm9wUGFuZWwucGNzc1wiO1xuQGltcG9ydCBcIi4vc3RydWN0dXJlcy9fQ29tcGF0aWJpbGl0eVBhZ2UucGNzc1wiO1xuQGltcG9ydCBcIi4vc3RydWN0dXJlcy9fQ29udGV4dHVhbE1lbnUucGNzc1wiO1xuQGltcG9ydCBcIi4vc3RydWN0dXJlcy9fRXJyb3JNZXNzYWdlLnBjc3NcIjtcbkBpbXBvcnQgXCIuL3N0cnVjdHVyZXMvX0ZpbGVEcm9wVGFyZ2V0LnBjc3NcIjtcbkBpbXBvcnQgXCIuL3N0cnVjdHVyZXMvX0ZpbGVQYW5lbC5wY3NzXCI7XG5AaW1wb3J0IFwiLi9zdHJ1Y3R1cmVzL19HZW5lcmljRHJvcGRvd25NZW51LnBjc3NcIjtcbkBpbXBvcnQgXCIuL3N0cnVjdHVyZXMvX0hvbWVQYWdlLnBjc3NcIjtcbkBpbXBvcnQgXCIuL3N0cnVjdHVyZXMvX0xhcmdlTG9hZGVyLnBjc3NcIjtcbkBpbXBvcnQgXCIuL3N0cnVjdHVyZXMvX0xlZnRQYW5lbC5wY3NzXCI7XG5AaW1wb3J0IFwiLi9zdHJ1Y3R1cmVzL19NYWluU3BsaXQucGNzc1wiO1xuQGltcG9ydCBcIi4vc3RydWN0dXJlcy9fTWF0cml4Q2hhdC5wY3NzXCI7XG5AaW1wb3J0IFwiLi9zdHJ1Y3R1cmVzL19NZXNzYWdlUGFuZWwucGNzc1wiO1xuQGltcG9ydCBcIi4vc3RydWN0dXJlcy9fTm9uVXJnZW50VG9hc3RDb250YWluZXIucGNzc1wiO1xuQGltcG9ydCBcIi4vc3RydWN0dXJlcy9fUXVpY2tTZXR0aW5nc0J1dHRvbi5wY3NzXCI7XG5AaW1wb3J0IFwiLi9zdHJ1Y3R1cmVzL19SaWdodFBhbmVsLnBjc3NcIjtcbkBpbXBvcnQgXCIuL3N0cnVjdHVyZXMvX1Jvb21TZWFyY2gucGNzc1wiO1xuQGltcG9ydCBcIi4vc3RydWN0dXJlcy9fUm9vbVN0YXR1c0Jhci5wY3NzXCI7XG5AaW1wb3J0IFwiLi9zdHJ1Y3R1cmVzL19Sb29tVmlldy5wY3NzXCI7XG5AaW1wb3J0IFwiLi9zdHJ1Y3R1cmVzL19TZWFyY2hCb3gucGNzc1wiO1xuQGltcG9ydCBcIi4vc3RydWN0dXJlcy9fU3BhY2VIaWVyYXJjaHkucGNzc1wiO1xuQGltcG9ydCBcIi4vc3RydWN0dXJlcy9fU3BhY2VQYW5lbC5wY3NzXCI7XG5AaW1wb3J0IFwiLi9zdHJ1Y3R1cmVzL19TcGFjZVJvb21WaWV3LnBjc3NcIjtcbkBpbXBvcnQgXCIuL3N0cnVjdHVyZXMvX1NwbGFzaFBhZ2UucGNzc1wiO1xuQGltcG9ydCBcIi4vc3RydWN0dXJlcy9fVGFiYmVkVmlldy5wY3NzXCI7XG5AaW1wb3J0IFwiLi9zdHJ1Y3R1cmVzL19UaHJlYWRzQWN0aXZpdHlDZW50cmUucGNzc1wiO1xuQGltcG9ydCBcIi4vc3RydWN0dXJlcy9fVG9hc3RDb250YWluZXIucGNzc1wiO1xuQGltcG9ydCBcIi4vc3RydWN0dXJlcy9fVXBsb2FkQmFyLnBjc3NcIjtcbkBpbXBvcnQgXCIuL3N0cnVjdHVyZXMvX1VzZXJNZW51LnBjc3NcIjtcbkBpbXBvcnQgXCIuL3N0cnVjdHVyZXMvX1ZpZXdTb3VyY2UucGNzc1wiO1xuQGltcG9ydCBcIi4vc3RydWN0dXJlcy9hdXRoL19Db21wbGV0ZVNlY3VyaXR5LnBjc3NcIjtcbkBpbXBvcnQgXCIuL3N0cnVjdHVyZXMvYXV0aC9fQ29uZmlybVNlc3Npb25Mb2NrVGhlZnRWaWV3LnBjc3NcIjtcbkBpbXBvcnQgXCIuL3N0cnVjdHVyZXMvYXV0aC9fTG9naW4ucGNzc1wiO1xuQGltcG9ydCBcIi4vc3RydWN0dXJlcy9hdXRoL19Mb2dpblNwbGFzaFZpZXcucGNzc1wiO1xuQGltcG9ydCBcIi4vc3RydWN0dXJlcy9hdXRoL19Nb2JpbGVSZWdpc3RyYXRpb24ucGNzc1wiO1xuQGltcG9ydCBcIi4vc3RydWN0dXJlcy9hdXRoL19SZWdpc3RyYXRpb24ucGNzc1wiO1xuQGltcG9ydCBcIi4vc3RydWN0dXJlcy9hdXRoL19TZXNzaW9uTG9ja1N0b2xlblZpZXcucGNzc1wiO1xuQGltcG9ydCBcIi4vc3RydWN0dXJlcy9hdXRoL19TZXR1cEVuY3J5cHRpb25Cb2R5LnBjc3NcIjtcbkBpbXBvcnQgXCIuL3ZpZXdzL2F1ZGlvX21lc3NhZ2VzL19BdWRpb1BsYXllci5wY3NzXCI7XG5AaW1wb3J0IFwiLi92aWV3cy9hdWRpb19tZXNzYWdlcy9fUGxheVBhdXNlQnV0dG9uLnBjc3NcIjtcbkBpbXBvcnQgXCIuL3ZpZXdzL2F1ZGlvX21lc3NhZ2VzL19QbGF5YmFja0NvbnRhaW5lci5wY3NzXCI7XG5AaW1wb3J0IFwiLi92aWV3cy9hdWRpb19tZXNzYWdlcy9fU2Vla0Jhci5wY3NzXCI7XG5AaW1wb3J0IFwiLi92aWV3cy9hdWRpb19tZXNzYWdlcy9fV2F2ZWZvcm0ucGNzc1wiO1xuQGltcG9ydCBcIi4vdmlld3MvYXV0aC9fQXV0aEJvZHkucGNzc1wiO1xuQGltcG9ydCBcIi4vdmlld3MvYXV0aC9fQXV0aEZvb3Rlci5wY3NzXCI7XG5AaW1wb3J0IFwiLi92aWV3cy9hdXRoL19BdXRoSGVhZGVyLnBjc3NcIjtcbkBpbXBvcnQgXCIuL3ZpZXdzL2F1dGgvX0F1dGhIZWFkZXJMb2dvLnBjc3NcIjtcbkBpbXBvcnQgXCIuL3ZpZXdzL2F1dGgvX0F1dGhQYWdlLnBjc3NcIjtcbkBpbXBvcnQgXCIuL3ZpZXdzL2F1dGgvX0NvbXBsZXRlU2VjdXJpdHlCb2R5LnBjc3NcIjtcbkBpbXBvcnQgXCIuL3ZpZXdzL2F1dGgvX0NvdW50cnlEcm9wZG93bi5wY3NzXCI7XG5AaW1wb3J0IFwiLi92aWV3cy9hdXRoL19JbnRlcmFjdGl2ZUF1dGhFbnRyeUNvbXBvbmVudHMucGNzc1wiO1xuQGltcG9ydCBcIi4vdmlld3MvYXV0aC9fTGFuZ3VhZ2VTZWxlY3Rvci5wY3NzXCI7XG5AaW1wb3J0IFwiLi92aWV3cy9hdXRoL19Mb2dpbldpdGhRUi5wY3NzXCI7XG5AaW1wb3J0IFwiLi92aWV3cy9hdXRoL19QYXNzcGhyYXNlRmllbGQucGNzc1wiO1xuQGltcG9ydCBcIi4vdmlld3MvYXV0aC9fV2VsY29tZS5wY3NzXCI7XG5AaW1wb3J0IFwiLi92aWV3cy9hdmF0YXJzL19CYXNlQXZhdGFyLnBjc3NcIjtcbkBpbXBvcnQgXCIuL3ZpZXdzL2F2YXRhcnMvX0RlY29yYXRlZFJvb21BdmF0YXIucGNzc1wiO1xuQGltcG9ydCBcIi4vdmlld3MvYXZhdGFycy9fV2lkZ2V0QXZhdGFyLnBjc3NcIjtcbkBpbXBvcnQgXCIuL3ZpZXdzL2F2YXRhcnMvX1dpdGhQcmVzZW5jZUluZGljYXRvci5wY3NzXCI7XG5AaW1wb3J0IFwiLi92aWV3cy9iZXRhL19CZXRhQ2FyZC5wY3NzXCI7XG5AaW1wb3J0IFwiLi92aWV3cy9jb250ZXh0X21lbnVzL19EZXZpY2VDb250ZXh0TWVudS5wY3NzXCI7XG5AaW1wb3J0IFwiLi92aWV3cy9jb250ZXh0X21lbnVzL19JY29uaXplZENvbnRleHRNZW51LnBjc3NcIjtcbkBpbXBvcnQgXCIuL3ZpZXdzL2NvbnRleHRfbWVudXMvX0xlZ2FjeUNhbGxDb250ZXh0TWVudS5wY3NzXCI7XG5AaW1wb3J0IFwiLi92aWV3cy9jb250ZXh0X21lbnVzL19NZXNzYWdlQ29udGV4dE1lbnUucGNzc1wiO1xuQGltcG9ydCBcIi4vdmlld3MvY29udGV4dF9tZW51cy9fUm9vbUdlbmVyYWxDb250ZXh0TWVudS5wY3NzXCI7XG5AaW1wb3J0IFwiLi92aWV3cy9jb250ZXh0X21lbnVzL19Sb29tTm90aWZpY2F0aW9uQ29udGV4dE1lbnUucGNzc1wiO1xuQGltcG9ydCBcIi4vdmlld3MvZGlhbG9ncy9fQWRkRXhpc3RpbmdUb1NwYWNlRGlhbG9nLnBjc3NcIjtcbkBpbXBvcnQgXCIuL3ZpZXdzL2RpYWxvZ3MvX0FuYWx5dGljc0xlYXJuTW9yZURpYWxvZy5wY3NzXCI7XG5AaW1wb3J0IFwiLi92aWV3cy9kaWFsb2dzL19BcHBEb3dubG9hZERpYWxvZy5wY3NzXCI7XG5AaW1wb3J0IFwiLi92aWV3cy9kaWFsb2dzL19CdWdSZXBvcnREaWFsb2cucGNzc1wiO1xuQGltcG9ydCBcIi4vdmlld3MvZGlhbG9ncy9fQnVsa1JlZGFjdERpYWxvZy5wY3NzXCI7XG5AaW1wb3J0IFwiLi92aWV3cy9kaWFsb2dzL19DaGFuZ2Vsb2dEaWFsb2cucGNzc1wiO1xuQGltcG9ydCBcIi4vdmlld3MvZGlhbG9ncy9fQ29tcG91bmREaWFsb2cucGNzc1wiO1xuQGltcG9ydCBcIi4vdmlld3MvZGlhbG9ncy9fQ29uZmlybVNwYWNlVXNlckFjdGlvbkRpYWxvZy5wY3NzXCI7XG5AaW1wb3J0IFwiLi92aWV3cy9kaWFsb2dzL19Db25maXJtVXNlckFjdGlvbkRpYWxvZy5wY3NzXCI7XG5AaW1wb3J0IFwiLi92aWV3cy9kaWFsb2dzL19DcmVhdGVSb29tRGlhbG9nLnBjc3NcIjtcbkBpbXBvcnQgXCIuL3ZpZXdzL2RpYWxvZ3MvX0NyZWF0ZVN1YnNwYWNlRGlhbG9nLnBjc3NcIjtcbkBpbXBvcnQgXCIuL3ZpZXdzL2RpYWxvZ3MvX0RlYWN0aXZhdGVBY2NvdW50RGlhbG9nLnBjc3NcIjtcbkBpbXBvcnQgXCIuL3ZpZXdzL2RpYWxvZ3MvX0RldnRvb2xzRGlhbG9nLnBjc3NcIjtcbkBpbXBvcnQgXCIuL3ZpZXdzL2RpYWxvZ3MvX0V4cG9ydERpYWxvZy5wY3NzXCI7XG5AaW1wb3J0IFwiLi92aWV3cy9kaWFsb2dzL19GZWVkYmFja0RpYWxvZy5wY3NzXCI7XG5AaW1wb3J0IFwiLi92aWV3cy9kaWFsb2dzL19Gb3J3YXJkRGlhbG9nLnBjc3NcIjtcbkBpbXBvcnQgXCIuL3ZpZXdzL2RpYWxvZ3MvX0dlbmVyaWNGZWF0dXJlRmVlZGJhY2tEaWFsb2cucGNzc1wiO1xuQGltcG9ydCBcIi4vdmlld3MvZGlhbG9ncy9fSW5jb21pbmdTYXNEaWFsb2cucGNzc1wiO1xuQGltcG9ydCBcIi4vdmlld3MvZGlhbG9ncy9fSW52aXRlRGlhbG9nLnBjc3NcIjtcbkBpbXBvcnQgXCIuL3ZpZXdzL2RpYWxvZ3MvX0pvaW5SdWxlRHJvcGRvd24ucGNzc1wiO1xuQGltcG9ydCBcIi4vdmlld3MvZGlhbG9ncy9fTGVhdmVTcGFjZURpYWxvZy5wY3NzXCI7XG5AaW1wb3J0IFwiLi92aWV3cy9kaWFsb2dzL19Mb2NhdGlvblZpZXdEaWFsb2cucGNzc1wiO1xuQGltcG9ydCBcIi4vdmlld3MvZGlhbG9ncy9fTG9nb3V0RGlhbG9nLnBjc3NcIjtcbkBpbXBvcnQgXCIuL3ZpZXdzL2RpYWxvZ3MvX01hbmFnZVJlc3RyaWN0ZWRKb2luUnVsZURpYWxvZy5wY3NzXCI7XG5AaW1wb3J0IFwiLi92aWV3cy9kaWFsb2dzL19NZXNzYWdlRWRpdEhpc3RvcnlEaWFsb2cucGNzc1wiO1xuQGltcG9ydCBcIi4vdmlld3MvZGlhbG9ncy9fTW9kYWxXaWRnZXREaWFsb2cucGNzc1wiO1xuQGltcG9ydCBcIi4vdmlld3MvZGlhbG9ncy9fUG9sbENyZWF0ZURpYWxvZy5wY3NzXCI7XG5AaW1wb3J0IFwiLi92aWV3cy9kaWFsb2dzL19SZWdpc3RyYXRpb25FbWFpbFByb21wdERpYWxvZy5wY3NzXCI7XG5AaW1wb3J0IFwiLi92aWV3cy9kaWFsb2dzL19Sb29tU2V0dGluZ3NEaWFsb2cucGNzc1wiO1xuQGltcG9ydCBcIi4vdmlld3MvZGlhbG9ncy9fUm9vbVNldHRpbmdzRGlhbG9nQnJpZGdlcy5wY3NzXCI7XG5AaW1wb3J0IFwiLi92aWV3cy9kaWFsb2dzL19Sb29tVXBncmFkZURpYWxvZy5wY3NzXCI7XG5AaW1wb3J0IFwiLi92aWV3cy9kaWFsb2dzL19Sb29tVXBncmFkZVdhcm5pbmdEaWFsb2cucGNzc1wiO1xuQGltcG9ydCBcIi4vdmlld3MvZGlhbG9ncy9fU2VydmVyT2ZmbGluZURpYWxvZy5wY3NzXCI7XG5AaW1wb3J0IFwiLi92aWV3cy9kaWFsb2dzL19TZXJ2ZXJQaWNrZXJEaWFsb2cucGNzc1wiO1xuQGltcG9ydCBcIi4vdmlld3MvZGlhbG9ncy9fU2V0RW1haWxEaWFsb2cucGNzc1wiO1xuQGltcG9ydCBcIi4vdmlld3MvZGlhbG9ncy9fU2V0dGluZ3NEaWFsb2cucGNzc1wiO1xuQGltcG9ydCBcIi4vdmlld3MvZGlhbG9ncy9fU2hhcmVEaWFsb2cucGNzc1wiO1xuQGltcG9ydCBcIi4vdmlld3MvZGlhbG9ncy9fU2xhc2hDb21tYW5kSGVscERpYWxvZy5wY3NzXCI7XG5AaW1wb3J0IFwiLi92aWV3cy9kaWFsb2dzL19TcGFjZVByZWZlcmVuY2VzRGlhbG9nLnBjc3NcIjtcbkBpbXBvcnQgXCIuL3ZpZXdzL2RpYWxvZ3MvX1NwYWNlU2V0dGluZ3NEaWFsb2cucGNzc1wiO1xuQGltcG9ydCBcIi4vdmlld3MvZGlhbG9ncy9fU3BvdGxpZ2h0RGlhbG9nLnBjc3NcIjtcbkBpbXBvcnQgXCIuL3ZpZXdzL2RpYWxvZ3MvX1Rlcm1zRGlhbG9nLnBjc3NcIjtcbkBpbXBvcnQgXCIuL3ZpZXdzL2RpYWxvZ3MvX1VucGluQWxsRGlhbG9nLnBjc3NcIjtcbkBpbXBvcnQgXCIuL3ZpZXdzL2RpYWxvZ3MvX1VudHJ1c3RlZERldmljZURpYWxvZy5wY3NzXCI7XG5AaW1wb3J0IFwiLi92aWV3cy9kaWFsb2dzL19VcGxvYWRDb25maXJtRGlhbG9nLnBjc3NcIjtcbkBpbXBvcnQgXCIuL3ZpZXdzL2RpYWxvZ3MvX1VzZXJTZXR0aW5nc0RpYWxvZy5wY3NzXCI7XG5AaW1wb3J0IFwiLi92aWV3cy9kaWFsb2dzL19WZXJpZnlFTWFpbERpYWxvZy5wY3NzXCI7XG5AaW1wb3J0IFwiLi92aWV3cy9kaWFsb2dzL19XaWRnZXRDYXBhYmlsaXRpZXNQcm9tcHREaWFsb2cucGNzc1wiO1xuQGltcG9ydCBcIi4vdmlld3MvZGlhbG9ncy9zZWN1cml0eS9fQWNjZXNzU2VjcmV0U3RvcmFnZURpYWxvZy5wY3NzXCI7XG5AaW1wb3J0IFwiLi92aWV3cy9kaWFsb2dzL3NlY3VyaXR5L19DcmVhdGVDcm9zc1NpZ25pbmdEaWFsb2cucGNzc1wiO1xuQGltcG9ydCBcIi4vdmlld3MvZGlhbG9ncy9zZWN1cml0eS9fQ3JlYXRlS2V5QmFja3VwRGlhbG9nLnBjc3NcIjtcbkBpbXBvcnQgXCIuL3ZpZXdzL2RpYWxvZ3Mvc2VjdXJpdHkvX0NyZWF0ZVNlY3JldFN0b3JhZ2VEaWFsb2cucGNzc1wiO1xuQGltcG9ydCBcIi4vdmlld3MvZGlhbG9ncy9zZWN1cml0eS9fS2V5QmFja3VwRmFpbGVkRGlhbG9nLnBjc3NcIjtcbkBpbXBvcnQgXCIuL3ZpZXdzL2RpYWxvZ3Mvc2VjdXJpdHkvX1Jlc3RvcmVLZXlCYWNrdXBEaWFsb2cucGNzc1wiO1xuQGltcG9ydCBcIi4vdmlld3MvZGlyZWN0b3J5L19OZXR3b3JrRHJvcGRvd24ucGNzc1wiO1xuQGltcG9ydCBcIi4vdmlld3MvZWxlbWVudHMvX0FjY2Vzc2libGVCdXR0b24ucGNzc1wiO1xuQGltcG9ydCBcIi4vdmlld3MvZWxlbWVudHMvX0NvcHlhYmxlVGV4dC5wY3NzXCI7XG5AaW1wb3J0IFwiLi92aWV3cy9lbGVtZW50cy9fRGVza3RvcENhcHR1cmVyU291cmNlUGlja2VyLnBjc3NcIjtcbkBpbXBvcnQgXCIuL3ZpZXdzL2VsZW1lbnRzL19EaWFsUGFkQmFja3NwYWNlQnV0dG9uLnBjc3NcIjtcbkBpbXBvcnQgXCIuL3ZpZXdzL2VsZW1lbnRzL19Ecm9wZG93bi5wY3NzXCI7XG5AaW1wb3J0IFwiLi92aWV3cy9lbGVtZW50cy9fRWRpdGFibGVJdGVtTGlzdC5wY3NzXCI7XG5AaW1wb3J0IFwiLi92aWV3cy9lbGVtZW50cy9fRXJyb3JCb3VuZGFyeS5wY3NzXCI7XG5AaW1wb3J0IFwiLi92aWV3cy9lbGVtZW50cy9fRXh0ZXJuYWxMaW5rLnBjc3NcIjtcbkBpbXBvcnQgXCIuL3ZpZXdzL2VsZW1lbnRzL19GYWNlUGlsZS5wY3NzXCI7XG5AaW1wb3J0IFwiLi92aWV3cy9lbGVtZW50cy9fRmllbGQucGNzc1wiO1xuQGltcG9ydCBcIi4vdmlld3MvZWxlbWVudHMvX0dlbmVyaWNFdmVudExpc3RTdW1tYXJ5LnBjc3NcIjtcbkBpbXBvcnQgXCIuL3ZpZXdzL2VsZW1lbnRzL19JbWFnZVZpZXcucGNzc1wiO1xuQGltcG9ydCBcIi4vdmlld3MvZWxlbWVudHMvX0luZm9Ub29sdGlwLnBjc3NcIjtcbkBpbXBvcnQgXCIuL3ZpZXdzL2VsZW1lbnRzL19JbmxpbmVTcGlubmVyLnBjc3NcIjtcbkBpbXBvcnQgXCIuL3ZpZXdzL2VsZW1lbnRzL19JbnRlcmFjdGl2ZVRvb2x0aXAucGNzc1wiO1xuQGltcG9ydCBcIi4vdmlld3MvZWxlbWVudHMvX0ludml0ZVJlYXNvbi5wY3NzXCI7XG5AaW1wb3J0IFwiLi92aWV3cy9lbGVtZW50cy9fTGFiZWxsZWRDaGVja2JveC5wY3NzXCI7XG5AaW1wb3J0IFwiLi92aWV3cy9lbGVtZW50cy9fTGFuZ3VhZ2VEcm9wZG93bi5wY3NzXCI7XG5AaW1wb3J0IFwiLi92aWV3cy9lbGVtZW50cy9fTWluaUF2YXRhclVwbG9hZGVyLnBjc3NcIjtcbkBpbXBvcnQgXCIuL3ZpZXdzL2VsZW1lbnRzL19QaWxsLnBjc3NcIjtcbkBpbXBvcnQgXCIuL3ZpZXdzL2VsZW1lbnRzL19Qb3dlclNlbGVjdG9yLnBjc3NcIjtcbkBpbXBvcnQgXCIuL3ZpZXdzL2VsZW1lbnRzL19Qcm9ncmVzc0Jhci5wY3NzXCI7XG5AaW1wb3J0IFwiLi92aWV3cy9lbGVtZW50cy9fUVJDb2RlLnBjc3NcIjtcbkBpbXBvcnQgXCIuL3ZpZXdzL2VsZW1lbnRzL19SZXBseUNoYWluLnBjc3NcIjtcbkBpbXBvcnQgXCIuL3ZpZXdzL2VsZW1lbnRzL19SZXNpemVIYW5kbGUucGNzc1wiO1xuQGltcG9ydCBcIi4vdmlld3MvZWxlbWVudHMvX1JpY2hUZXh0LnBjc3NcIjtcbkBpbXBvcnQgXCIuL3ZpZXdzL2VsZW1lbnRzL19Sb29tQWxpYXNGaWVsZC5wY3NzXCI7XG5AaW1wb3J0IFwiLi92aWV3cy9lbGVtZW50cy9fU1NPQnV0dG9ucy5wY3NzXCI7XG5AaW1wb3J0IFwiLi92aWV3cy9lbGVtZW50cy9fU2VhcmNoV2FybmluZy5wY3NzXCI7XG5AaW1wb3J0IFwiLi92aWV3cy9lbGVtZW50cy9fU2VydmVyUGlja2VyLnBjc3NcIjtcbkBpbXBvcnQgXCIuL3ZpZXdzL2VsZW1lbnRzL19TZXR0aW5nc0ZsYWcucGNzc1wiO1xuQGltcG9ydCBcIi4vdmlld3MvZWxlbWVudHMvX1NwaW5uZXIucGNzc1wiO1xuQGltcG9ydCBcIi4vdmlld3MvZWxlbWVudHMvX1N0eWxlZENoZWNrYm94LnBjc3NcIjtcbkBpbXBvcnQgXCIuL3ZpZXdzL2VsZW1lbnRzL19TdHlsZWRSYWRpb0J1dHRvbi5wY3NzXCI7XG5AaW1wb3J0IFwiLi92aWV3cy9lbGVtZW50cy9fU3ludGF4SGlnaGxpZ2h0LnBjc3NcIjtcbkBpbXBvcnQgXCIuL3ZpZXdzL2VsZW1lbnRzL19UYWdDb21wb3Nlci5wY3NzXCI7XG5AaW1wb3J0IFwiLi92aWV3cy9lbGVtZW50cy9fVGV4dFdpdGhUb29sdGlwLnBjc3NcIjtcbkBpbXBvcnQgXCIuL3ZpZXdzL2VsZW1lbnRzL19Ub2dnbGVTd2l0Y2gucGNzc1wiO1xuQGltcG9ydCBcIi4vdmlld3MvZWxlbWVudHMvX1VzZUNhc2VTZWxlY3Rpb24ucGNzc1wiO1xuQGltcG9ydCBcIi4vdmlld3MvZWxlbWVudHMvX1VzZUNhc2VTZWxlY3Rpb25CdXR0b24ucGNzc1wiO1xuQGltcG9ydCBcIi4vdmlld3MvZWxlbWVudHMvX1ZhbGlkYXRpb24ucGNzc1wiO1xuQGltcG9ydCBcIi4vdmlld3MvZW1vamlwaWNrZXIvX0Vtb2ppUGlja2VyLnBjc3NcIjtcbkBpbXBvcnQgXCIuL3ZpZXdzL2xvY2F0aW9uL19Mb2NhdGlvblBpY2tlci5wY3NzXCI7XG5AaW1wb3J0IFwiLi92aWV3cy9tZXNzYWdlcy9fQ2FsbEV2ZW50LnBjc3NcIjtcbkBpbXBvcnQgXCIuL3ZpZXdzL21lc3NhZ2VzL19DcmVhdGVFdmVudC5wY3NzXCI7XG5AaW1wb3J0IFwiLi92aWV3cy9tZXNzYWdlcy9fRGF0ZVNlcGFyYXRvci5wY3NzXCI7XG5AaW1wb3J0IFwiLi92aWV3cy9tZXNzYWdlcy9fRGVjcnlwdGlvbkZhaWx1cmVCb2R5LnBjc3NcIjtcbkBpbXBvcnQgXCIuL3ZpZXdzL21lc3NhZ2VzL19EaXNhbWJpZ3VhdGVkUHJvZmlsZS5wY3NzXCI7XG5AaW1wb3J0IFwiLi92aWV3cy9tZXNzYWdlcy9fRXZlbnRUaWxlQnViYmxlLnBjc3NcIjtcbkBpbXBvcnQgXCIuL3ZpZXdzL21lc3NhZ2VzL19IaWRkZW5Cb2R5LnBjc3NcIjtcbkBpbXBvcnQgXCIuL3ZpZXdzL21lc3NhZ2VzL19KdW1wVG9EYXRlUGlja2VyLnBjc3NcIjtcbkBpbXBvcnQgXCIuL3ZpZXdzL21lc3NhZ2VzL19MZWdhY3lDYWxsRXZlbnQucGNzc1wiO1xuQGltcG9ydCBcIi4vdmlld3MvbWVzc2FnZXMvX01FbW90ZUJvZHkucGNzc1wiO1xuQGltcG9ydCBcIi4vdmlld3MvbWVzc2FnZXMvX01GaWxlQm9keS5wY3NzXCI7XG5AaW1wb3J0IFwiLi92aWV3cy9tZXNzYWdlcy9fTUltYWdlQm9keS5wY3NzXCI7XG5AaW1wb3J0IFwiLi92aWV3cy9tZXNzYWdlcy9fTUltYWdlUmVwbHlCb2R5LnBjc3NcIjtcbkBpbXBvcnQgXCIuL3ZpZXdzL21lc3NhZ2VzL19NSml0c2lXaWRnZXRFdmVudC5wY3NzXCI7XG5AaW1wb3J0IFwiLi92aWV3cy9tZXNzYWdlcy9fTUxvY2F0aW9uQm9keS5wY3NzXCI7XG5AaW1wb3J0IFwiLi92aWV3cy9tZXNzYWdlcy9fTU5vdGljZUJvZHkucGNzc1wiO1xuQGltcG9ydCBcIi4vdmlld3MvbWVzc2FnZXMvX01Qb2xsQm9keS5wY3NzXCI7XG5AaW1wb3J0IFwiLi92aWV3cy9tZXNzYWdlcy9fTVBvbGxFbmRCb2R5LnBjc3NcIjtcbkBpbXBvcnQgXCIuL3ZpZXdzL21lc3NhZ2VzL19NU3RpY2tlckJvZHkucGNzc1wiO1xuQGltcG9ydCBcIi4vdmlld3MvbWVzc2FnZXMvX01UZXh0Qm9keS5wY3NzXCI7XG5AaW1wb3J0IFwiLi92aWV3cy9tZXNzYWdlcy9fTVZpZGVvQm9keS5wY3NzXCI7XG5AaW1wb3J0IFwiLi92aWV3cy9tZXNzYWdlcy9fTWVkaWFCb2R5LnBjc3NcIjtcbkBpbXBvcnQgXCIuL3ZpZXdzL21lc3NhZ2VzL19NZXNzYWdlQWN0aW9uQmFyLnBjc3NcIjtcbkBpbXBvcnQgXCIuL3ZpZXdzL21lc3NhZ2VzL19NZXNzYWdlVGltZXN0YW1wLnBjc3NcIjtcbkBpbXBvcnQgXCIuL3ZpZXdzL21lc3NhZ2VzL19Nam9sbmlyQm9keS5wY3NzXCI7XG5AaW1wb3J0IFwiLi92aWV3cy9tZXNzYWdlcy9fUGlubmVkTWVzc2FnZUJhZGdlLnBjc3NcIjtcbkBpbXBvcnQgXCIuL3ZpZXdzL21lc3NhZ2VzL19SZWFjdGlvbnNSb3cucGNzc1wiO1xuQGltcG9ydCBcIi4vdmlld3MvbWVzc2FnZXMvX1JlYWN0aW9uc1Jvd0J1dHRvbi5wY3NzXCI7XG5AaW1wb3J0IFwiLi92aWV3cy9tZXNzYWdlcy9fUmVkYWN0ZWRCb2R5LnBjc3NcIjtcbkBpbXBvcnQgXCIuL3ZpZXdzL21lc3NhZ2VzL19Sb29tQXZhdGFyRXZlbnQucGNzc1wiO1xuQGltcG9ydCBcIi4vdmlld3MvbWVzc2FnZXMvX1RleHR1YWxFdmVudC5wY3NzXCI7XG5AaW1wb3J0IFwiLi92aWV3cy9tZXNzYWdlcy9fVGltZWxpbmVTZXBhcmF0b3IucGNzc1wiO1xuQGltcG9ydCBcIi4vdmlld3MvbWVzc2FnZXMvX1Vua25vd25Cb2R5LnBjc3NcIjtcbkBpbXBvcnQgXCIuL3ZpZXdzL21lc3NhZ2VzL19WaWV3U291cmNlRXZlbnQucGNzc1wiO1xuQGltcG9ydCBcIi4vdmlld3MvbWVzc2FnZXMvX2NvbW1vbl9DcnlwdG9FdmVudC5wY3NzXCI7XG5AaW1wb3J0IFwiLi92aWV3cy9wb2xscy9wb2xsSGlzdG9yeS9fUG9sbEhpc3RvcnkucGNzc1wiO1xuQGltcG9ydCBcIi4vdmlld3MvcG9sbHMvcG9sbEhpc3RvcnkvX1BvbGxIaXN0b3J5TGlzdC5wY3NzXCI7XG5AaW1wb3J0IFwiLi92aWV3cy9yaWdodF9wYW5lbC9fQmFzZUNhcmQucGNzc1wiO1xuQGltcG9ydCBcIi4vdmlld3MvcmlnaHRfcGFuZWwvX0VtcHR5U3RhdGUucGNzc1wiO1xuQGltcG9ydCBcIi4vdmlld3MvcmlnaHRfcGFuZWwvX0VuY3J5cHRpb25JbmZvLnBjc3NcIjtcbkBpbXBvcnQgXCIuL3ZpZXdzL3JpZ2h0X3BhbmVsL19FeHRlbnNpb25zQ2FyZC5wY3NzXCI7XG5AaW1wb3J0IFwiLi92aWV3cy9yaWdodF9wYW5lbC9fUGlubmVkTWVzc2FnZXNDYXJkLnBjc3NcIjtcbkBpbXBvcnQgXCIuL3ZpZXdzL3JpZ2h0X3BhbmVsL19Sb29tU3VtbWFyeUNhcmQucGNzc1wiO1xuQGltcG9ydCBcIi4vdmlld3MvcmlnaHRfcGFuZWwvX1RocmVhZFBhbmVsLnBjc3NcIjtcbkBpbXBvcnQgXCIuL3ZpZXdzL3JpZ2h0X3BhbmVsL19UaW1lbGluZUNhcmQucGNzc1wiO1xuQGltcG9ydCBcIi4vdmlld3MvcmlnaHRfcGFuZWwvX1VzZXJJbmZvLnBjc3NcIjtcbkBpbXBvcnQgXCIuL3ZpZXdzL3JpZ2h0X3BhbmVsL19WZXJpZmljYXRpb25QYW5lbC5wY3NzXCI7XG5AaW1wb3J0IFwiLi92aWV3cy9yaWdodF9wYW5lbC9fV2lkZ2V0Q2FyZC5wY3NzXCI7XG5AaW1wb3J0IFwiLi92aWV3cy9yb29tX3NldHRpbmdzL19BbGlhc1NldHRpbmdzLnBjc3NcIjtcbkBpbXBvcnQgXCIuL3ZpZXdzL3Jvb21zL19BcHBzRHJhd2VyLnBjc3NcIjtcbkBpbXBvcnQgXCIuL3ZpZXdzL3Jvb21zL19BdXRvY29tcGxldGUucGNzc1wiO1xuQGltcG9ydCBcIi4vdmlld3Mvcm9vbXMvX0F1eFBhbmVsLnBjc3NcIjtcbkBpbXBvcnQgXCIuL3ZpZXdzL3Jvb21zL19CYXNpY01lc3NhZ2VDb21wb3Nlci5wY3NzXCI7XG5AaW1wb3J0IFwiLi92aWV3cy9yb29tcy9fQ2FsbEd1ZXN0TGlua0J1dHRvbi5wY3NzXCI7XG5AaW1wb3J0IFwiLi92aWV3cy9yb29tcy9fRGVjcnlwdGlvbkZhaWx1cmVCYXIucGNzc1wiO1xuQGltcG9ydCBcIi4vdmlld3Mvcm9vbXMvX0UyRUljb24ucGNzc1wiO1xuQGltcG9ydCBcIi4vdmlld3Mvcm9vbXMvX0VkaXRNZXNzYWdlQ29tcG9zZXIucGNzc1wiO1xuQGltcG9ydCBcIi4vdmlld3Mvcm9vbXMvX0Vtb2ppQnV0dG9uLnBjc3NcIjtcbkBpbXBvcnQgXCIuL3ZpZXdzL3Jvb21zL19FbnRpdHlUaWxlLnBjc3NcIjtcbkBpbXBvcnQgXCIuL3ZpZXdzL3Jvb21zL19FdmVudEJ1YmJsZVRpbGUucGNzc1wiO1xuQGltcG9ydCBcIi4vdmlld3Mvcm9vbXMvX0V2ZW50UHJldmlldy5wY3NzXCI7XG5AaW1wb3J0IFwiLi92aWV3cy9yb29tcy9fRXZlbnRUaWxlLnBjc3NcIjtcbkBpbXBvcnQgXCIuL3ZpZXdzL3Jvb21zL19IaXN0b3J5VGlsZS5wY3NzXCI7XG5AaW1wb3J0IFwiLi92aWV3cy9yb29tcy9fSVJDTGF5b3V0LnBjc3NcIjtcbkBpbXBvcnQgXCIuL3ZpZXdzL3Jvb21zL19KdW1wVG9Cb3R0b21CdXR0b24ucGNzc1wiO1xuQGltcG9ydCBcIi4vdmlld3Mvcm9vbXMvX0xpbmtQcmV2aWV3R3JvdXAucGNzc1wiO1xuQGltcG9ydCBcIi4vdmlld3Mvcm9vbXMvX0xpbmtQcmV2aWV3V2lkZ2V0LnBjc3NcIjtcbkBpbXBvcnQgXCIuL3ZpZXdzL3Jvb21zL19MaXZlQ29udGVudFN1bW1hcnkucGNzc1wiO1xuQGltcG9ydCBcIi4vdmlld3Mvcm9vbXMvX01lbWJlckxpc3QucGNzc1wiO1xuQGltcG9ydCBcIi4vdmlld3Mvcm9vbXMvX01lc3NhZ2VDb21wb3Nlci5wY3NzXCI7XG5AaW1wb3J0IFwiLi92aWV3cy9yb29tcy9fTWVzc2FnZUNvbXBvc2VyRm9ybWF0QmFyLnBjc3NcIjtcbkBpbXBvcnQgXCIuL3ZpZXdzL3Jvb21zL19OZXdSb29tSW50cm8ucGNzc1wiO1xuQGltcG9ydCBcIi4vdmlld3Mvcm9vbXMvX05vdGlmaWNhdGlvbkJhZGdlLnBjc3NcIjtcbkBpbXBvcnQgXCIuL3ZpZXdzL3Jvb21zL19QaW5uZWRFdmVudFRpbGUucGNzc1wiO1xuQGltcG9ydCBcIi4vdmlld3Mvcm9vbXMvX1Bpbm5lZE1lc3NhZ2VCYW5uZXIucGNzc1wiO1xuQGltcG9ydCBcIi4vdmlld3Mvcm9vbXMvX1ByZXNlbmNlTGFiZWwucGNzc1wiO1xuQGltcG9ydCBcIi4vdmlld3Mvcm9vbXMvX1JlYWRSZWNlaXB0R3JvdXAucGNzc1wiO1xuQGltcG9ydCBcIi4vdmlld3Mvcm9vbXMvX1JlcGx5UHJldmlldy5wY3NzXCI7XG5AaW1wb3J0IFwiLi92aWV3cy9yb29tcy9fUmVwbHlUaWxlLnBjc3NcIjtcbkBpbXBvcnQgXCIuL3ZpZXdzL3Jvb21zL19Sb29tQnJlYWRjcnVtYnMucGNzc1wiO1xuQGltcG9ydCBcIi4vdmlld3Mvcm9vbXMvX1Jvb21DYWxsQmFubmVyLnBjc3NcIjtcbkBpbXBvcnQgXCIuL3ZpZXdzL3Jvb21zL19Sb29tSGVhZGVyLnBjc3NcIjtcbkBpbXBvcnQgXCIuL3ZpZXdzL3Jvb21zL19Sb29tSW5mb0xpbmUucGNzc1wiO1xuQGltcG9ydCBcIi4vdmlld3Mvcm9vbXMvX1Jvb21Lbm9ja3NCYXIucGNzc1wiO1xuQGltcG9ydCBcIi4vdmlld3Mvcm9vbXMvX1Jvb21MaXN0LnBjc3NcIjtcbkBpbXBvcnQgXCIuL3ZpZXdzL3Jvb21zL19Sb29tTGlzdEhlYWRlci5wY3NzXCI7XG5AaW1wb3J0IFwiLi92aWV3cy9yb29tcy9fUm9vbVByZXZpZXdCYXIucGNzc1wiO1xuQGltcG9ydCBcIi4vdmlld3Mvcm9vbXMvX1Jvb21QcmV2aWV3Q2FyZC5wY3NzXCI7XG5AaW1wb3J0IFwiLi92aWV3cy9yb29tcy9fUm9vbVNlYXJjaEF1eFBhbmVsLnBjc3NcIjtcbkBpbXBvcnQgXCIuL3ZpZXdzL3Jvb21zL19Sb29tU3VibGlzdC5wY3NzXCI7XG5AaW1wb3J0IFwiLi92aWV3cy9yb29tcy9fUm9vbVRpbGUucGNzc1wiO1xuQGltcG9ydCBcIi4vdmlld3Mvcm9vbXMvX1Jvb21VcGdyYWRlV2FybmluZ0Jhci5wY3NzXCI7XG5AaW1wb3J0IFwiLi92aWV3cy9yb29tcy9fU2VuZE1lc3NhZ2VDb21wb3Nlci5wY3NzXCI7XG5AaW1wb3J0IFwiLi92aWV3cy9yb29tcy9fU3RpY2tlcnMucGNzc1wiO1xuQGltcG9ydCBcIi4vdmlld3Mvcm9vbXMvX1RoaXJkUGFydHlNZW1iZXJJbmZvLnBjc3NcIjtcbkBpbXBvcnQgXCIuL3ZpZXdzL3Jvb21zL19UaHJlYWRTdW1tYXJ5LnBjc3NcIjtcbkBpbXBvcnQgXCIuL3ZpZXdzL3Jvb21zL19Ub3BVbnJlYWRNZXNzYWdlc0Jhci5wY3NzXCI7XG5AaW1wb3J0IFwiLi92aWV3cy9yb29tcy9fVXNlcklkZW50aXR5V2FybmluZy5wY3NzXCI7XG5AaW1wb3J0IFwiLi92aWV3cy9yb29tcy9fVm9pY2VSZWNvcmRDb21wb3NlclRpbGUucGNzc1wiO1xuQGltcG9ydCBcIi4vdmlld3Mvcm9vbXMvX1dob0lzVHlwaW5nVGlsZS5wY3NzXCI7XG5AaW1wb3J0IFwiLi92aWV3cy9yb29tcy93eXNpd3lnX2NvbXBvc2VyL19FZGl0V3lzaXd5Z0NvbXBvc2VyLnBjc3NcIjtcbkBpbXBvcnQgXCIuL3ZpZXdzL3Jvb21zL3d5c2l3eWdfY29tcG9zZXIvX1NlbmRXeXNpd3lnQ29tcG9zZXIucGNzc1wiO1xuQGltcG9ydCBcIi4vdmlld3Mvcm9vbXMvd3lzaXd5Z19jb21wb3Nlci9jb21wb25lbnRzL19FZGl0b3IucGNzc1wiO1xuQGltcG9ydCBcIi4vdmlld3Mvcm9vbXMvd3lzaXd5Z19jb21wb3Nlci9jb21wb25lbnRzL19Gb3JtYXR0aW5nQnV0dG9ucy5wY3NzXCI7XG5AaW1wb3J0IFwiLi92aWV3cy9yb29tcy93eXNpd3lnX2NvbXBvc2VyL2NvbXBvbmVudHMvX0xpbmtNb2RhbC5wY3NzXCI7XG5AaW1wb3J0IFwiLi92aWV3cy9zZXR0aW5ncy9fQXZhdGFyU2V0dGluZy5wY3NzXCI7XG5AaW1wb3J0IFwiLi92aWV3cy9zZXR0aW5ncy9fQ3Jvc3NTaWduaW5nUGFuZWwucGNzc1wiO1xuQGltcG9ydCBcIi4vdmlld3Mvc2V0dGluZ3MvX0NyeXB0b2dyYXBoeVBhbmVsLnBjc3NcIjtcbkBpbXBvcnQgXCIuL3ZpZXdzL3NldHRpbmdzL19Gb250U2NhbGluZ1BhbmVsLnBjc3NcIjtcbkBpbXBvcnQgXCIuL3ZpZXdzL3NldHRpbmdzL19JbWFnZVNpemVQYW5lbC5wY3NzXCI7XG5AaW1wb3J0IFwiLi92aWV3cy9zZXR0aW5ncy9fSW50ZWdyYXRpb25NYW5hZ2VyLnBjc3NcIjtcbkBpbXBvcnQgXCIuL3ZpZXdzL3NldHRpbmdzL19Kb2luUnVsZVNldHRpbmdzLnBjc3NcIjtcbkBpbXBvcnQgXCIuL3ZpZXdzL3NldHRpbmdzL19LZXlib2FyZFNob3J0Y3V0LnBjc3NcIjtcbkBpbXBvcnQgXCIuL3ZpZXdzL3NldHRpbmdzL19MYXlvdXRTd2l0Y2hlci5wY3NzXCI7XG5AaW1wb3J0IFwiLi92aWV3cy9zZXR0aW5ncy9fTm90aWZpY2F0aW9uUHVzaGVyU2V0dGluZ3MucGNzc1wiO1xuQGltcG9ydCBcIi4vdmlld3Mvc2V0dGluZ3MvX05vdGlmaWNhdGlvblNldHRpbmdzMi5wY3NzXCI7XG5AaW1wb3J0IFwiLi92aWV3cy9zZXR0aW5ncy9fTm90aWZpY2F0aW9ucy5wY3NzXCI7XG5AaW1wb3J0IFwiLi92aWV3cy9zZXR0aW5ncy9fUGhvbmVOdW1iZXJzLnBjc3NcIjtcbkBpbXBvcnQgXCIuL3ZpZXdzL3NldHRpbmdzL19Qb3dlckxldmVsU2VsZWN0b3IucGNzc1wiO1xuQGltcG9ydCBcIi4vdmlld3Mvc2V0dGluZ3MvX1Jvb21Qcm9maWxlU2V0dGluZ3MucGNzc1wiO1xuQGltcG9ydCBcIi4vdmlld3Mvc2V0dGluZ3MvX1NlY3VyZUJhY2t1cFBhbmVsLnBjc3NcIjtcbkBpbXBvcnQgXCIuL3ZpZXdzL3NldHRpbmdzL19TZXRJZFNlcnZlci5wY3NzXCI7XG5AaW1wb3J0IFwiLi92aWV3cy9zZXR0aW5ncy9fU2V0SW50ZWdyYXRpb25NYW5hZ2VyLnBjc3NcIjtcbkBpbXBvcnQgXCIuL3ZpZXdzL3NldHRpbmdzL19TZXR0aW5nc0ZpZWxkc2V0LnBjc3NcIjtcbkBpbXBvcnQgXCIuL3ZpZXdzL3NldHRpbmdzL19TcGVsbENoZWNrTGFuZ3VhZ2VzLnBjc3NcIjtcbkBpbXBvcnQgXCIuL3ZpZXdzL3NldHRpbmdzL19UaGVtZUNob2ljZVBhbmVsLnBjc3NcIjtcbkBpbXBvcnQgXCIuL3ZpZXdzL3NldHRpbmdzL19VcGRhdGVDaGVja0J1dHRvbi5wY3NzXCI7XG5AaW1wb3J0IFwiLi92aWV3cy9zZXR0aW5ncy9fVXNlclByb2ZpbGVTZXR0aW5ncy5wY3NzXCI7XG5AaW1wb3J0IFwiLi92aWV3cy9zZXR0aW5ncy90YWJzL19TZXR0aW5nc0Jhbm5lci5wY3NzXCI7XG5AaW1wb3J0IFwiLi92aWV3cy9zZXR0aW5ncy90YWJzL19TZXR0aW5nc0luZGVudC5wY3NzXCI7XG5AaW1wb3J0IFwiLi92aWV3cy9zZXR0aW5ncy90YWJzL19TZXR0aW5nc1NlY3Rpb24ucGNzc1wiO1xuQGltcG9ydCBcIi4vdmlld3Mvc2V0dGluZ3MvdGFicy9fU2V0dGluZ3NUYWIucGNzc1wiO1xuQGltcG9ydCBcIi4vdmlld3Mvc2V0dGluZ3MvdGFicy9yb29tL19Ob3RpZmljYXRpb25TZXR0aW5nc1RhYi5wY3NzXCI7XG5AaW1wb3J0IFwiLi92aWV3cy9zZXR0aW5ncy90YWJzL3Jvb20vX1Blb3BsZVJvb21TZXR0aW5nc1RhYi5wY3NzXCI7XG5AaW1wb3J0IFwiLi92aWV3cy9zZXR0aW5ncy90YWJzL3Jvb20vX1JvbGVzUm9vbVNldHRpbmdzVGFiLnBjc3NcIjtcbkBpbXBvcnQgXCIuL3ZpZXdzL3NldHRpbmdzL3RhYnMvcm9vbS9fU2VjdXJpdHlSb29tU2V0dGluZ3NUYWIucGNzc1wiO1xuQGltcG9ydCBcIi4vdmlld3Mvc2V0dGluZ3MvdGFicy91c2VyL19BcHBlYXJhbmNlVXNlclNldHRpbmdzVGFiLnBjc3NcIjtcbkBpbXBvcnQgXCIuL3ZpZXdzL3NldHRpbmdzL3RhYnMvdXNlci9fSGVscFVzZXJTZXR0aW5nc1RhYi5wY3NzXCI7XG5AaW1wb3J0IFwiLi92aWV3cy9zZXR0aW5ncy90YWJzL3VzZXIvX0tleWJvYXJkVXNlclNldHRpbmdzVGFiLnBjc3NcIjtcbkBpbXBvcnQgXCIuL3ZpZXdzL3NldHRpbmdzL3RhYnMvdXNlci9fTWpvbG5pclVzZXJTZXR0aW5nc1RhYi5wY3NzXCI7XG5AaW1wb3J0IFwiLi92aWV3cy9zZXR0aW5ncy90YWJzL3VzZXIvX1ByZWZlcmVuY2VzVXNlclNldHRpbmdzVGFiLnBjc3NcIjtcbkBpbXBvcnQgXCIuL3ZpZXdzL3NldHRpbmdzL3RhYnMvdXNlci9fU2VjdXJpdHlVc2VyU2V0dGluZ3NUYWIucGNzc1wiO1xuQGltcG9ydCBcIi4vdmlld3Mvc2V0dGluZ3MvdGFicy91c2VyL19TaWRlYmFyVXNlclNldHRpbmdzVGFiLnBjc3NcIjtcbkBpbXBvcnQgXCIuL3ZpZXdzL3NwYWNlcy9fU3BhY2VCYXNpY1NldHRpbmdzLnBjc3NcIjtcbkBpbXBvcnQgXCIuL3ZpZXdzL3NwYWNlcy9fU3BhY2VDaGlsZHJlblBpY2tlci5wY3NzXCI7XG5AaW1wb3J0IFwiLi92aWV3cy9zcGFjZXMvX1NwYWNlQ3JlYXRlTWVudS5wY3NzXCI7XG5AaW1wb3J0IFwiLi92aWV3cy9zcGFjZXMvX1NwYWNlUHVibGljU2hhcmUucGNzc1wiO1xuQGltcG9ydCBcIi4vdmlld3MvdGVybXMvX0lubGluZVRlcm1zQWdyZWVtZW50LnBjc3NcIjtcbkBpbXBvcnQgXCIuL3ZpZXdzL3RvYXN0cy9fQW5hbHl0aWNzVG9hc3QucGNzc1wiO1xuQGltcG9ydCBcIi4vdmlld3MvdG9hc3RzL19JbmNvbWluZ0NhbGxUb2FzdC5wY3NzXCI7XG5AaW1wb3J0IFwiLi92aWV3cy90b2FzdHMvX0luY29taW5nTGVnYWN5Q2FsbFRvYXN0LnBjc3NcIjtcbkBpbXBvcnQgXCIuL3ZpZXdzL3RvYXN0cy9fTm9uVXJnZW50RWNob0ZhaWx1cmVUb2FzdC5wY3NzXCI7XG5AaW1wb3J0IFwiLi92aWV3cy90eXBvZ3JhcGh5L19IZWFkaW5nLnBjc3NcIjtcbkBpbXBvcnQgXCIuL3ZpZXdzL3VzZXItb25ib2FyZGluZy9fVXNlck9uYm9hcmRpbmdCdXR0b24ucGNzc1wiO1xuQGltcG9ydCBcIi4vdmlld3MvdXNlci1vbmJvYXJkaW5nL19Vc2VyT25ib2FyZGluZ0hlYWRlci5wY3NzXCI7XG5AaW1wb3J0IFwiLi92aWV3cy91c2VyLW9uYm9hcmRpbmcvX1VzZXJPbmJvYXJkaW5nTGlzdC5wY3NzXCI7XG5AaW1wb3J0IFwiLi92aWV3cy91c2VyLW9uYm9hcmRpbmcvX1VzZXJPbmJvYXJkaW5nUGFnZS5wY3NzXCI7XG5AaW1wb3J0IFwiLi92aWV3cy91c2VyLW9uYm9hcmRpbmcvX1VzZXJPbmJvYXJkaW5nVGFzay5wY3NzXCI7XG5AaW1wb3J0IFwiLi92aWV3cy92ZXJpZmljYXRpb24vX1ZlcmlmaWNhdGlvblNob3dTYXMucGNzc1wiO1xuQGltcG9ydCBcIi4vdmlld3Mvdm9pcC9MZWdhY3lDYWxsVmlldy9fTGVnYWN5Q2FsbFZpZXdCdXR0b25zLnBjc3NcIjtcbkBpbXBvcnQgXCIuL3ZpZXdzL3ZvaXAvX0NhbGxEdXJhdGlvbi5wY3NzXCI7XG5AaW1wb3J0IFwiLi92aWV3cy92b2lwL19DYWxsVmlldy5wY3NzXCI7XG5AaW1wb3J0IFwiLi92aWV3cy92b2lwL19EaWFsUGFkLnBjc3NcIjtcbkBpbXBvcnQgXCIuL3ZpZXdzL3ZvaXAvX0RpYWxQYWRDb250ZXh0TWVudS5wY3NzXCI7XG5AaW1wb3J0IFwiLi92aWV3cy92b2lwL19EaWFsUGFkTW9kYWwucGNzc1wiO1xuQGltcG9ydCBcIi4vdmlld3Mvdm9pcC9fTGVnYWN5Q2FsbFByZXZpZXcucGNzc1wiO1xuQGltcG9ydCBcIi4vdmlld3Mvdm9pcC9fTGVnYWN5Q2FsbFZpZXcucGNzc1wiO1xuQGltcG9ydCBcIi4vdmlld3Mvdm9pcC9fTGVnYWN5Q2FsbFZpZXdGb3JSb29tLnBjc3NcIjtcbkBpbXBvcnQgXCIuL3ZpZXdzL3ZvaXAvX0xlZ2FjeUNhbGxWaWV3SGVhZGVyLnBjc3NcIjtcbkBpbXBvcnQgXCIuL3ZpZXdzL3ZvaXAvX0xlZ2FjeUNhbGxWaWV3U2lkZWJhci5wY3NzXCI7XG5AaW1wb3J0IFwiLi92aWV3cy92b2lwL19WaWRlb0ZlZWQucGNzc1wiO1xuIiwiLypcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxuQ29weXJpZ2h0IDIwMjEgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cblxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuKi9cblxuLyoqXG4gKiBSZWFjdCBUcmFuc2l0aW9uIEdyb3VwIGFuaW1hdGlvbnMgYXJlIHByZWZpeGVkIHdpdGggJ214X3J0Zy0tJyBzbyB0aGF0IHdlXG4gKiBrbm93IHRoZXkgc2hvdWxkIG5vdCBiZSB1c2VkIGFueXdoZXJlIG91dHNpZGUgb2YgUmVhY3QgVHJhbnNpdGlvbiBHcm91cHMuXG4qL1xuXG4ubXhfcnRnLS1mYWRlLWVudGVyIHtcbiAgICBvcGFjaXR5OiAwO1xufVxuLm14X3J0Zy0tZmFkZS1lbnRlci1hY3RpdmUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAzMDBtcyBlYXNlO1xufVxuLm14X3J0Zy0tZmFkZS1leGl0IHtcbiAgICBvcGFjaXR5OiAxO1xufVxuLm14X3J0Zy0tZmFkZS1leGl0LWFjdGl2ZSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDMwMG1zIGVhc2U7XG59XG5cbjpyb290IHtcbiAgICAtLWhvdmVyLXRyYW5zaXRpb246IDAuMDhzIGN1YmljLWJlemllcigwLjQ2LCAwLjAzLCAwLjUyLCAwLjk2KTsgLyogcXVhZHJhdGljICovXG59XG5cbkBrZXlmcmFtZXMgbXgtLWFuaW0tcHVsc2Uge1xuICAgIDAlIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG4gICAgNTAlIHtcbiAgICAgICAgb3BhY2l0eTogMC43O1xuICAgIH1cbiAgICAxMDAlIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG59XG5cbkBrZXlmcmFtZXMgbXhfRGlhbG9nX2xpZ2h0Ym94X2JhY2tncm91bmRfa2V5ZnJhbWVzIHtcbiAgICBmcm9tIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICB9XG4gICAgdG8ge1xuICAgICAgICBvcGFjaXR5OiAkbGlnaHRib3gtYmFja2dyb3VuZC1iZy1vcGFjaXR5O1xuICAgIH1cbn1cblxuQGtleWZyYW1lcyBteF9JbWFnZVZpZXdfcGFuZWxfa2V5ZnJhbWVzIHtcbiAgICBmcm9tIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICB9XG4gICAgdG8ge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgIH1cbn1cblxuQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uKSB7XG4gICAgQGtleWZyYW1lcyBteC0tYW5pbS1wdWxzZSB7XG4gICAgICAgIC8qIE92ZXJyaWRlIGFsbCBrZXlmcmFtZXMgaW4gcmVkdWNlZC1tb3Rpb24gKi9cbiAgICB9XG5cbiAgICBAa2V5ZnJhbWVzIG14X0RpYWxvZ19saWdodGJveF9iYWNrZ3JvdW5kX2tleWZyYW1lcyB7XG4gICAgICAgIC8qIE92ZXJyaWRlIGFsbCBrZXlmcmFtZXMgaW4gcmVkdWNlZC1tb3Rpb24gKi9cbiAgICB9XG5cbiAgICBAa2V5ZnJhbWVzIG14X0ltYWdlVmlld19wYW5lbF9rZXlmcmFtZXMge1xuICAgICAgICAvKiBPdmVycmlkZSBhbGwga2V5ZnJhbWVzIGluIHJlZHVjZWQtbW90aW9uICovXG4gICAgfVxuXG4gICAgLm14X3J0Zy0tZmFkZS1lbnRlci1hY3RpdmUge1xuICAgICAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgIH1cbiAgICAubXhfcnRnLS1mYWRlLWV4aXQtYWN0aXZlIHtcbiAgICAgICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICB9XG59XG4iLCIvKlxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXG5Db3B5cmlnaHQgMjAxOS0yMDIzIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkNcbkNvcHlyaWdodCAyMDE3LTIwMTkgTmV3IFZlY3RvciBMdGRcbkNvcHlyaWdodCAyMDE3IFZlY3RvciBDcmVhdGlvbnMgTHRkXG5Db3B5cmlnaHQgMjAxNSwgMjAxNiBPcGVuTWFya2V0IEx0ZFxuXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXG4qL1xuXG5AaW1wb3J0IHVybChcIkB2ZWN0b3ItaW0vY29tcG91bmQtZGVzaWduLXRva2Vucy9hc3NldHMvd2ViL2Nzcy9jb21wb3VuZC1kZXNpZ24tdG9rZW5zLmNzc1wiKSBsYXllcihjb21wb3VuZCk7XG5AaW1wb3J0IHVybChcIkB2ZWN0b3ItaW0vY29tcG91bmQtd2ViL2Rpc3Qvc3R5bGUuY3NzXCIpO1xuQGltcG9ydCBcIi4vX2ZvbnQtc2l6ZXMucGNzc1wiO1xuQGltcG9ydCBcIi4vX2FuaW1hdGlvbnMucGNzc1wiO1xuQGltcG9ydCBcIi4vX3NwYWNpbmcucGNzc1wiO1xuQGltcG9ydCB1cmwoXCJtYXBsaWJyZS1nbC9kaXN0L21hcGxpYnJlLWdsLmNzc1wiKTtcblxuOnJvb3Qge1xuICAgIC0tY29udGFpbmVyLWJvcmRlci13aWR0aDogOHB4O1xuICAgIC0tY29udGFpbmVyLWdhcC13aWR0aDogOHB4OyAvKiBvbmx5IGV2ZW4gbnVtYmVycyBzaG91bGQgYmUgdXNlZCBiZWNhdXNlIG90aGVyd2lzZSB3ZSBnZXQgMC41cHggbWFyZ2luIHZhbHVlcy4gKi9cbiAgICAtLXRyYW5zaXRpb24tc2hvcnQ6IDAuMXM7XG4gICAgLS10cmFuc2l0aW9uLXN0YW5kYXJkOiAwLjNzO1xuICAgIC0tYnV0dG9ucy1kaWFsb2ctZ2FwLXJvdzogJHNwYWNpbmctODtcbiAgICAtLWJ1dHRvbnMtZGlhbG9nLWdhcC1jb2x1bW46ICRzcGFjaW5nLTg7XG4gICAgLS1NQm9keS1ib3JkZXItcmFkaXVzOiA4cHg7XG5cbiAgICAvKiBFeHBlY3RlZCB6LWluZGV4ZXMgZm9yIGRpYWxvZ3M6XG4gICAgICAgIDQwMDAgLSBEZWZhdWx0IHdyYXBwZXIgaW5kZXhcbiAgICAgICAgNDAwOSAtIFN0YXRpYyBkaWFsb2cgYmFja2dyb3VuZFxuICAgICAgICA0MDEwIC0gU3RhdGljIGRpYWxvZyBpdHNlbGZcbiAgICAgICAgNDAxMSAtIFN0YW5kYXJkIGRpYWxvZyBiYWNrZ3JvdW5kXG4gICAgICAgIDQwMTIgLSBTdGFuZGFyZCBkaWFsb2cgaXRzZWxmXG5cbiAgICAgICBUaGVzZSBhcmUgc2V0IHVwIHN1Y2ggdGhhdCB0aGUgc3RhdGljIGRpYWxvZyBhbHdheXMgYXBwZWFyc1xuICAgICAgIHVuZGVybmVhdGggdGhlIHN0YW5kYXJkIGRpYWxvZ3MuXG4gICAgICovXG4gICAgLS1kaWFsb2ctekluZGV4LXdyYXBwZXItZGVmYXVsdDogNDAwMDtcbiAgICAtLWRpYWxvZy16SW5kZXgtc3RhdGljLWJhY2tncm91bmQ6IDQwMDk7XG4gICAgLS1kaWFsb2ctekluZGV4LXN0YXRpYzogY2FsYyh2YXIoLS1kaWFsb2ctekluZGV4LXN0YXRpYy1iYWNrZ3JvdW5kKSArIDEpOyAvKiA0MDEwICovXG4gICAgLS1kaWFsb2ctekluZGV4LXN0YW5kYXJkLWJhY2tncm91bmQ6IGNhbGModmFyKC0tZGlhbG9nLXpJbmRleC1zdGF0aWMpICsgMSk7IC8qIDQwMTEgKi9cbiAgICAtLWRpYWxvZy16SW5kZXgtc3RhbmRhcmQ6IGNhbGModmFyKC0tZGlhbG9nLXpJbmRleC1zdGFuZGFyZC1iYWNrZ3JvdW5kKSArIDEpOyAvKiA0MDEyICovXG59XG5cbiNtYXRyaXhjaGF0IHtcbiAgICAvKiBUaGlzIGlzIHJlcXVpcmVkIHRvIGVuc3VyZSBDb21wb3VuZCB0b29sdGlwcyBjb3JyZWN0bHkgZHJhdyB3aGVyZSB0aGV5IHNob3VsZCB3aXRoIHotaW5kZXg6IGF1dG8gKi9cbiAgICBjb250YWluOiBzdHJpY3Q7XG59XG4jbXhfQ29udGV4dHVhbE1lbnVfQ29udGFpbmVyLFxuI214X1BlcnNpc3RlZEVsZW1lbnRfY29udGFpbmVyLFxuI214X0RpYWxvZ19Db250YWluZXIsXG4jbXhfRGlhbG9nX1N0YXRpY0NvbnRhaW5lciB7XG4gICAgLyogVGhpcyBpcyByZXF1aXJlZCB0byBlbnN1cmUgQ29tcG91bmQgdG9vbHRpcHMgY29ycmVjdGx5IGRyYXcgd2hlcmUgdGhleSBzaG91bGQgd2l0aCB6LWluZGV4OiBhdXRvICovXG4gICAgaXNvbGF0aW9uOiBpc29sYXRlO1xufVxuXG4vKipcbiAqIFdlIG5lZWQgdG8gaW5jcmVhc2UgdGhlIHNwZWNpZmljaXR5IG9mIHRoZSBzZWxlY3RvciB0byBvdmVycmlkZSB0aGVcbiAqIGN1c3RvbSBwcm9wZXJ0eSBzZXQgYnkgdGhlIGRlc2lnbiB0b2tlbnMgcGFja2FnZVxuICovXG5bY2xhc3NePVwiY3BkLXRoZW1lXCJdW2NsYXNzXj1cImNwZC10aGVtZVwiXSB7XG4gICAgLyoqXG4gICAgICogVGhlIGRlc2lnbiB0b2tlbnMgcGFja2FnZSBjdXJyZW50bHkgZG9lcyBub3QgZXhwb3NlIHRoZSBmYWxsYmFjayBmb250c1xuICAgICAqIFdlIHdhbnQgdG8ga2VlcCBvbiByZS11c2luZyBgJGZvbnQtZmFtaWx5YCB0byBub3QgYnJlYWsgY3VzdG9tIHRoZW1lc1xuICAgICAqIGFuZCBiZWNhdXNlIHdlIGNhbiB0byB1c2UgYFR3ZW1vamlgIHRvIGRpc3BsYXkgZW1vamkgcmF0aGVyIHRoYW4gdXNpbmdcbiAgICAgKiBzeXN0ZW0gb25lc1xuICAgICAqL1xuICAgIC0tY3BkLWZvbnQtZmFtaWx5LXNhbnM6ICRmb250LWZhbWlseTtcbn1cblxuQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uKSB7XG4gICAgOnJvb3Qge1xuICAgICAgICAtLXRyYW5zaXRpb24tc2hvcnQ6IDA7XG4gICAgICAgIC0tdHJhbnNpdGlvbi1zdGFuZGFyZDogMDtcbiAgICB9XG59XG5cbmh0bWwge1xuICAgIC8qIGhhY2sgdG8gc3RvcCBvdmVyc2Nyb2xsIGJvdW5jZSBvbiBPU1ggYW5kIGlPUy5cbiAgICAgICBOLkIuIEJyZWFrcyB0aGluZ3Mgd2hlbiB3ZSBoYXZlIGxlZ2l0aW1hdGUgaG9yaXpvbnRhbCBvdmVyc2Nyb2xsICovXG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgLyogU3RvcCBzaW1pbGFyIG92ZXJzY3JvbGwgYm91bmNlIGluIEZpcmVmb3ggTmlnaHRseSBmb3IgbWFjT1MgKi9cbiAgICBvdmVyc2Nyb2xsLWJlaGF2aW9yOiBub25lO1xufVxuXG5ib2R5IHtcbiAgICBmb250OiB2YXIoLS1jcGQtZm9udC1ib2R5LW1kLXJlZ3VsYXIpO1xuICAgIGxldHRlci1zcGFjaW5nOiB2YXIoLS1jcGQtZm9udC1sZXR0ZXItc3BhY2luZy1ib2R5LW1kKTtcbiAgICAvKipcbiAgICAgKiBXZSB3YW50IHRvIGFwcGx5IEludGVyIER5bmFtaWMgbWV0cmljcyAoaHR0cHM6Ly9yc21zLm1lL2ludGVyL2R5bm1ldHJpY3MvKVxuICAgICAqIFdlIG5lZWQgdG8gdHdlYWsgdGhlIGBsZXR0ZXItc3BhY2luZ2AgcHJvcGVydHkgYW5kIGRvaW5nIHNvLCBkaXNhYmxlcyBieVxuICAgICAqIGRlZmF1bHQgdGhlIG9wdGlvbmFsIGxpZ2F0dXJlc1xuICAgICAqIGBmb250LWZlYXR1cmUtc2V0dGluZ3NgIGFsbG93cyB1cyB0byBvdmVycmlkZSB0aGlzIGJlaGF2aW91ciBhbmQgaGF2ZSB0aGVcbiAgICAgKiBjb3JyZWN0IGxpZ2F0dXJlcyBhbmQgdGhlIHByb3BlciBkeW5hbWljIG1ldHJpYyBzcGFjaW5nLlxuICAgICAqL1xuICAgIGZvbnQtZmVhdHVyZS1zZXR0aW5nczpcbiAgICAgICAgXCJrZXJuXCIgMSxcbiAgICAgICAgXCJsaWdhXCIgMSxcbiAgICAgICAgXCJjYWx0XCIgMTtcblxuICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkcHJpbWFyeS1jb250ZW50O1xuICAgIGJvcmRlcjogMHB4O1xuICAgIG1hcmdpbjogMHB4O1xuXG4gICAgLyogbmVlZGVkIHRvIG1hdGNoIHRoZSBkZXNpZ25zIGNvcnJlY3RseSBvbiBtYWNPUyAqL1xuICAgIC8qIHNlZSBodHRwczovL2dpdGh1Yi5jb20vdmVjdG9yLWltL2VsZW1lbnQtd2ViL2lzc3Vlcy8xMTQyNSAqL1xuICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG59XG5cbnByZSxcbmNvZGUge1xuICAgIGZvbnQtZmFtaWx5OiAkbW9ub3NwYWNlLWZvbnQtZmFtaWx5O1xuICAgIGZvbnQtc2l6ZTogMTAwJSAhaW1wb3J0YW50O1xufVxuXG4uZXJyb3IsXG4ud2FybmluZyxcbi50ZXh0LWVycm9yLFxuLnRleHQtd2FybmluZyB7XG4gICAgY29sb3I6ICRhbGVydDtcbn1cblxuLnRleHQtc3VjY2VzcyB7XG4gICAgY29sb3I6ICRhY2NlbnQ7XG59XG5cbi50ZXh0LW11dGVkIHtcbiAgICBjb2xvcjogJG11dGVkLWZnLWNvbG9yO1xufVxuXG4udGV4dC1wcmltYXJ5IHtcbiAgICBjb2xvcjogJHByaW1hcnktY29udGVudDtcbn1cblxuLnRleHQtc2Vjb25kYXJ5IHtcbiAgICBjb2xvcjogJHNlY29uZGFyeS1jb250ZW50O1xufVxuXG4ubXhfVmVyaWZpZWQge1xuICAgIGNvbG9yOiAkZTJlLXZlcmlmaWVkLWNvbG9yO1xufVxuXG4ubXhfVW50cnVzdGVkIHtcbiAgICBjb2xvcjogJGUyZS13YXJuaW5nLWNvbG9yO1xufVxuXG5iIHtcbiAgICAvKiBPbiBGaXJlZm94LCB0aGUgZGVmYXVsdCB3ZWlnaHQgZm9yIGA8Yj5gIGlzIGBib2xkZXJgIHdoaWNoIHJlc3VsdHMgaW4gbm8gYm9sZCAqL1xuICAgIC8qIGVmZmVjdCBzaW5jZSB3ZSBvbmx5IGhhdmUgc3BlY2lmaWMgd2VpZ2h0cyBvZiBvdXIgZm9udHMgYXZhaWxhYmxlLiAqL1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG5oMiB7XG4gICAgY29sb3I6ICRwcmltYXJ5LWNvbnRlbnQ7XG4gICAgZm9udDogdmFyKC0tY3BkLWZvbnQtaGVhZGluZy1sZy1yZWd1bGFyKTtcbiAgICBsZXR0ZXItc3BhY2luZzogdmFyKC0tY3BkLWZvbnQtbGV0dGVyLXNwYWNpbmctaGVhZGluZy1sZyk7XG4gICAgbWFyZ2luLXRvcDogMTZweDtcbiAgICBtYXJnaW4tYm90dG9tOiAxNnB4O1xufVxuXG5hOmhvdmVyLFxuYTpsaW5rLFxuYTp2aXNpdGVkIHtcbiAgICBjb2xvcjogJGFjY2VudC1hbHQ7XG59XG5cbjpub3QoLm14X25vX3RleHRpbnB1dCk6bm90KC5teF90ZXh0aW5wdXQpOm5vdCgubXhfRmllbGQpID4gaW5wdXRbdHlwZT1cInRleHRcIl0sXG46bm90KC5teF9ub190ZXh0aW5wdXQpOm5vdCgubXhfdGV4dGlucHV0KTpub3QoLm14X0ZpZWxkKSA+IGlucHV0W3R5cGU9XCJzZWFyY2hcIl0sXG46bm90KC5teF9ub190ZXh0aW5wdXQpOm5vdCgubXhfdGV4dGlucHV0KTpub3QoLm14X0ZpZWxkKSA+IGlucHV0W3R5cGU9XCJwYXNzd29yZFwiXSB7XG4gICAgcGFkZGluZzogOXB4O1xuICAgIGZvbnQ6IHZhcigtLWNwZC1mb250LWJvZHktbWQtc2VtaWJvbGQpO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1jcGQtZm9udC13ZWlnaHQtc2VtaWJvbGQpO1xuICAgIG1pbi13aWR0aDogMDtcbn1cblxuaW5wdXRbdHlwZT1cInRleHRcIl0ubXhfdGV4dGlucHV0X2ljb24sXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdLm14X3RleHRpbnB1dF9pY29uIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDM2cHg7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAxMHB4IGNlbnRlcjtcbn1cblxuLyogRklYTUUgVEhFTUUgLSBUaW50IGJ5IENTUyByYXRoZXIgdGhhbiByZWZlcmVuY2luZyBhIGR1cGxpY2F0ZSBhc3NldCAqL1xuaW5wdXRbdHlwZT1cInRleHRcIl0ubXhfdGV4dGlucHV0X2ljb24ubXhfdGV4dGlucHV0X3NlYXJjaCxcbmlucHV0W3R5cGU9XCJzZWFyY2hcIl0ubXhfdGV4dGlucHV0X2ljb24ubXhfdGV4dGlucHV0X3NlYXJjaCB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiQHZlY3Rvci1pbS9jb21wb3VuZC1kZXNpZ24tdG9rZW5zL2ljb25zL3NlYXJjaC5zdmdcIik7XG59XG5cbi8qIGRvbnQgc2VhcmNoIFVJIGFzIG5vdCBhbGwgYnJvd3NlcnMgc3VwcG9ydCBpdCwgKi9cbi8qIHdlIGltcGxlbWVudCBpdCBvdXJzZWx2ZXMgd2hlcmUgbmVlZGVkIGluc3RlYWQgKi9cbmlucHV0W3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24sXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1jYW5jZWwtYnV0dG9uLFxuaW5wdXRbdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtcmVzdWx0cy1idXR0b24sXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1yZXN1bHRzLWRlY29yYXRpb24ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG5cbi8qIE92ZXJyaWRlIEZpcmVmb3gncyBVQSBzdHlsZSBzbyB3ZSBnZXQgYSBjb25zaXN0ZW50IGxvb2sgYWNyb3NzIGJyb3dzZXJzICovXG5pbnB1dDo6cGxhY2Vob2xkZXIsXG50ZXh0YXJlYTo6cGxhY2Vob2xkZXIge1xuICAgIG9wYWNpdHk6IGluaXRpYWw7XG59XG5cbmlucHV0W3R5cGU9XCJ0ZXh0XCJdLFxuaW5wdXRbdHlwZT1cInBhc3N3b3JkXCJdLFxudGV4dGFyZWEge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGNvbG9yOiAkcHJpbWFyeS1jb250ZW50O1xufVxuXG4vKiBSZXF1aXJlZCBieSBGaXJlZm94ICovXG50ZXh0YXJlYSB7XG4gICAgY29sb3I6ICRwcmltYXJ5LWNvbnRlbnQ7XG59XG5cbmlucHV0W3R5cGU9XCJ0ZXh0XCJdOmZvY3VzLFxuaW5wdXRbdHlwZT1cInBhc3N3b3JkXCJdOmZvY3VzLFxudGV4dGFyZWE6Zm9jdXMge1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbn1cblxuLyogVGhpcyBpcyB1c2VkIHRvIGhpZGUgdGhlIHN0YW5kYXJkIG91dGxpbmUgYWRkZWQgYnkgYnJvd3NlcnMgZm9yICovXG4vKiBhY2Nlc3NpYmxlIChmb2N1c2FibGUpIGNvbXBvbmVudHMuIE5vdCBpbnRlbmRlZCBmb3IgYnV0dG9ucywgYnV0ICovXG4vKiBzaG91bGQgYmUgdXNlZCBvbiB0aGluZ3MgbGlrZSBmb2N1c2FibGUgY29udGFpbmVycyB3aGVyZSB0aGUgb3V0bGluZSAqL1xuLyogaXMgdXN1YWxseSBub3QgaGVscGluZyBhbnlvbmUuICovXG4qOmZvY3VzOm5vdCg6Zm9jdXMtdmlzaWJsZSkge1xuICAgIG91dGxpbmU6IG5vbmU7XG59XG5cbi8qIG92ZXJyaWRlIGRlZmF1bHRzICovXG5maWVsZHNldCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbi1pbmxpbmU6IHVuc2V0O1xuICAgIHBhZGRpbmctYmxvY2s6IHVuc2V0O1xuICAgIHBhZGRpbmctaW5saW5lOiB1bnNldDtcbiAgICBtaW4taW5saW5lLXNpemU6IHVuc2V0O1xuICAgIGJvcmRlcjogbm9uZTtcbn1cblxuc3VtbWFyeSB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG5sZWdlbmQge1xuICAgIHBhZGRpbmctaW5saW5lOiB1bnNldDtcbiAgICBib3JkZXI6IG5vbmU7XG59XG5cbi8qIC5teF90ZXh0aW5wdXQgaXMgYSBjb250YWluZXIgZm9yIGEgdGV4dCBpbnB1dCAqL1xuLyogKyBzb21lIG90aGVyIGNvbnRyb2xzIGxpa2UgYnV0dG9ucywgLi4uICovXG4vKiBpdCBoYXMgdGhlIGFwcGVhcmFuY2Ugb2YgYSB0ZXh0IGJveCBzbyB0aGUgY29udHJvbHMgKi9cbi8qIGFwcGVhciB0byBiZSBwYXJ0IG9mIHRoZSBpbnB1dCAqL1xuXG4ubXhfRGlhbG9nLFxuLm14X01hdHJpeENoYXRfd3JhcHBlciB7XG4gICAgLm14X3RleHRpbnB1dCA+IGlucHV0W3R5cGU9XCJ0ZXh0XCJdLFxuICAgIC5teF90ZXh0aW5wdXQgPiBpbnB1dFt0eXBlPVwic2VhcmNoXCJdIHtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICBmbGV4OiAxO1xuICAgICAgICBjb2xvcjogJHByaW1hcnktY29udGVudDtcbiAgICB9XG5cbiAgICA6bm90KC5teF90ZXh0aW5wdXQpOm5vdCgubXhfRmllbGQpOm5vdCgubXhfbm9fdGV4dGlucHV0KSA+IGlucHV0W3R5cGU9XCJ0ZXh0XCJdLFxuICAgIDpub3QoLm14X3RleHRpbnB1dCk6bm90KC5teF9GaWVsZCk6bm90KC5teF9ub190ZXh0aW5wdXQpID4gaW5wdXRbdHlwZT1cInNlYXJjaFwiXSxcbiAgICAubXhfdGV4dGlucHV0IHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICBjb2xvcjogJGlucHV0LWRhcmtlci1mZy1jb2xvcjtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkc2Vjb25kYXJ5LWhhaXJsaW5lLWNvbG9yO1xuICAgICAgICAvKiB0aGVzZSB0aGluZ3Mgc2hvdWxkIHByb2JhYmx5IG5vdCBiZSBkZWZpbmVkIGdsb2JhbGx5ICovXG4gICAgICAgIG1hcmdpbjogOXB4O1xuICAgIH1cblxuICAgIC5teF90ZXh0aW5wdXQge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIH1cblxuICAgIDpub3QoLm14X3RleHRpbnB1dCk6bm90KC5teF9GaWVsZCk6bm90KC5teF9ub190ZXh0aW5wdXQpID4gaW5wdXRbdHlwZT1cInRleHRcIl06OnBsYWNlaG9sZGVyLFxuICAgIDpub3QoLm14X3RleHRpbnB1dCk6bm90KC5teF9GaWVsZCk6bm90KC5teF9ub190ZXh0aW5wdXQpID4gaW5wdXRbdHlwZT1cInNlYXJjaFwiXTo6cGxhY2Vob2xkZXIsXG4gICAgLm14X3RleHRpbnB1dCBpbnB1dDo6cGxhY2Vob2xkZXIge1xuICAgICAgICBjb2xvcjogJGlucHV0LXBsYWNlaG9sZGVyO1xuICAgIH1cbn1cblxuLyogUHJldmVudCB1Z2x5IGRvdHRlZCBoaWdobGlnaHQgYXJvdW5kIHNlbGVjdGVkIGVsZW1lbnRzIGluIEZpcmVmb3ggKi9cbjo6LW1vei1mb2N1cy1pbm5lciB7XG4gICAgYm9yZGVyOiAwO1xufVxuXG4vKiBUaGVzZSBhcmUgbWFnaWMgY29uc3RhbnRzIHdoaWNoIGFyZSBleGNsdWRlZCBmcm9tIHRpbnRpbmcsIHRvIGxldCB0aGVtZXMgKi9cbi8qICh3aGljaCBvbmx5IGhhdmUgQ1NTKSB0ZWxsIHRoZSBhcHAgd2hhdCB0aGVpciBub24tdGludGVkICovXG4vKiBjb2xvdXJzY2hlbWUgaXMgYnkgaW5zcGVjdGluZyB0aGUgc3R5bGVzaGVldCBET00uICovXG4vKiBUaGV5IGFyZSBub3QgdXNlZCBmb3IgbGF5b3V0ISEgKi9cbiNteF90aGVtZV9hY2NlbnRDb2xvciB7XG4gICAgY29sb3I6ICRhY2NlbnQ7XG59XG5cbiNteF90aGVtZV9zZWNvbmRhcnlBY2NlbnRDb2xvciB7XG4gICAgY29sb3I6ICRzZWNvbmRhcnktYWNjZW50LWNvbG9yO1xufVxuXG4ubXhfRGlhbG9nX3dyYXBwZXIge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB6LWluZGV4OiB2YXIoLS1kaWFsb2ctekluZGV4LXdyYXBwZXItZGVmYXVsdCk7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuXG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuXG4ubXhfRGlhbG9nX2JvcmRlciB7XG4gICAgei1pbmRleDogdmFyKC0tZGlhbG9nLXpJbmRleC1zdGFuZGFyZCk7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1heC13aWR0aDogZml0LWNvbnRlbnQ7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBtYXgtaGVpZ2h0OiBjYWxjKDEwMCUgLSB2YXIoLS1jcGQtc3BhY2UtNngpKTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cbiAgICAubXhfRGlhbG9nX2xpZ2h0Ym94ICYge1xuICAgICAgICAvKiBUaGUgbGlnaHRib3ggaXNuJ3Qgc28gbXVjaCBvZiBhIGRpYWxvZyBhcyBhIGZ1bGxzY3JlZW4gb3ZlcmxheS4gV2VcbiAgICAgICAgZG9uJ3Qgd2FudCB0aGUgZ2xhc3MgYm9yZGVyLiAqL1xuICAgICAgICBkaXNwbGF5OiBjb250ZW50cztcbiAgICB9XG59XG5cbi5teF9EaWFsb2cge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkbGlnaHQtZmctY29sb3I7XG4gICAgZm9udC1zaXplOiAkZm9udC0xNXB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nOiB2YXIoLS1jcGQtc3BhY2UtOHgpIHZhcigtLWNwZC1zcGFjZS0xMHgpO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcblxuICAgIC5teF9EaWFsb2dfc3RhdGljV3JhcHBlciAmIHtcbiAgICAgICAgei1pbmRleDogdmFyKC0tZGlhbG9nLXpJbmRleC1zdGF0aWMpO1xuICAgICAgICBjb250YWluOiBjb250ZW50O1xuICAgIH1cblxuICAgIC5teF9EaWFsb2dfbGlnaHRib3ggJiB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDBweDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuXG4gICAgLyogU3R5bGVzIGNvcGllZC9pbnNwaXJlZCBieSBHcm91cExheW91dCwgUmVwbHlUaWxlLCBhbmQgRXZlbnRUaWxlIHZhcmlhbnRzLiAqL1xuICAgIC5tYXJrZG93bi1ib2R5IHtcbiAgICAgICAgZm9udDogdmFyKC0tY3BkLWZvbnQtYm9keS1tZC1yZWd1bGFyKSAhaW1wb3J0YW50O1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogdmFyKC0tY3BkLWZvbnQtbGV0dGVyLXNwYWNpbmctYm9keS1tZCk7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBpbmhlcml0ICFpbXBvcnRhbnQ7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3JtYWwgIWltcG9ydGFudDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IGluaGVyaXQgIWltcG9ydGFudDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogaW5oZXJpdDtcbiAgICAgICAgY29sb3I6IGluaGVyaXQ7IC8qIGluaGVyaXQgdGhlIGNvbG91ciBmcm9tIHRoZSBkYXJrIG9yIGxpZ2h0IHRoZW1lIGJ5IGRlZmF1bHQgKGJ1dCBub3QgZm9yIGNvZGUgYmxvY2tzKSAqL1xuXG4gICAgICAgIHByZSxcbiAgICAgICAgY29kZSB7XG4gICAgICAgICAgICBmb250LWZhbWlseTogJG1vbm9zcGFjZS1mb250LWZhbWlseSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvZGVibG9jay1iYWNrZ3JvdW5kLWNvbG9yO1xuICAgICAgICB9XG5cbiAgICAgICAgLyogdGhpcyBzZWxlY3RvciB3cm9uZ2x5IGFwcGxpZXMgdG8gY29kZSBibG9ja3MgdG9vIGJ1dCB3ZSB3aWxsIHVuc2V0IGl0IGluIHRoZSBuZXh0IG9uZSAqL1xuICAgICAgICBjb2RlIHtcbiAgICAgICAgICAgIHdoaXRlLXNwYWNlOiBwcmUtd3JhcDsgLyogZG9uJ3QgY29sbGFwc2Ugc3BhY2VzIGluIGlubGluZSBjb2RlIGJsb2NrcyAqL1xuICAgICAgICB9XG5cbiAgICAgICAgcHJlIHtcbiAgICAgICAgICAgIC8qIGhhdmUgdG8gdXNlIG92ZXJsYXkgcmF0aGVyIHRoYW4gYXV0byBvdGhlcndpc2UgTGludXggYW5kIFdpbmRvd3MgKi9cbiAgICAgICAgICAgIC8qIENocm9tZSBnZXRzIHZlcnkgY29uZnVzZWQgYWJvdXQgdmVydGljYWwgc3BhY2luZzogKi9cbiAgICAgICAgICAgIC8qIGh0dHBzOi8vZ2l0aHViLmNvbS92ZWN0b3ItaW0vdmVjdG9yLXdlYi9pc3N1ZXMvNzU0ICovXG4gICAgICAgICAgICBvdmVyZmxvdy14OiBvdmVybGF5O1xuICAgICAgICAgICAgb3ZlcmZsb3cteTogdmlzaWJsZTtcblxuICAgICAgICAgICAgJjo6LXdlYmtpdC1zY3JvbGxiYXItY29ybmVyIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgY29kZSB7XG4gICAgICAgICAgICAgICAgd2hpdGUtc3BhY2U6IHByZTsgLyogd2Ugd2FudCBjb2RlIGJsb2NrcyB0byBiZSBzY3JvbGxhYmxlIGFuZCBub3Qgd3JhcCAqL1xuXG4gICAgICAgICAgICAgICAgPiAqIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGgxLFxuICAgICAgICBoMixcbiAgICAgICAgaDMsXG4gICAgICAgIGg0LFxuICAgICAgICBoNSxcbiAgICAgICAgaDYge1xuICAgICAgICAgICAgZm9udC1mYW1pbHk6IGluaGVyaXQgIWltcG9ydGFudDtcbiAgICAgICAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgICB9XG5cbiAgICAgICAgLyogTWFrZSBoMSBhbmQgaDIgdGhlIHNhbWUgc2l6ZSBhcyBoMy4gKi9cbiAgICAgICAgaDEsXG4gICAgICAgIGgyIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS41ZW07XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiBub25lICFpbXBvcnRhbnQ7IC8qIG92ZXJyaWRlIEdGTSAqL1xuICAgICAgICB9XG5cbiAgICAgICAgYSB7XG4gICAgICAgICAgICBjb2xvcjogJGFjY2VudC1hbHQ7XG4gICAgICAgIH1cblxuICAgICAgICBibG9ja3F1b3RlIHtcbiAgICAgICAgICAgIGJvcmRlci1sZWZ0OiAycHggc29saWQgJGJsb2NrcXVvdGUtYmFyLWNvbG9yO1xuICAgICAgICAgICAgY29sb3I6ICRzZWNvbmRhcnktY29udGVudDtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDJweDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgMTBweDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLm14X0RpYWxvZ19maXhlZFdpZHRoIHtcbiAgICB3aWR0aDogNjB2dztcbiAgICBtYXgtd2lkdGg6IDcwNHB4O1xufVxuXG4ubXhfRGlhbG9nX2JhY2tncm91bmQge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGRpYWxvZy1iYWNrZHJvcC1jb2xvcjtcbiAgICB6LWluZGV4OiB2YXIoLS1kaWFsb2ctekluZGV4LXN0YW5kYXJkLWJhY2tncm91bmQpO1xuXG4gICAgJi5teF9EaWFsb2dfc3RhdGljQmFja2dyb3VuZCB7XG4gICAgICAgIHotaW5kZXg6IHZhcigtLWRpYWxvZy16SW5kZXgtc3RhdGljLWJhY2tncm91bmQpO1xuICAgIH1cblxuICAgIC5teF9EaWFsb2dfd3JhcHBlcldpdGhTdGF0aWNVbmRlciAmIHtcbiAgICAgICAgLyogUm91Z2hseSBoYWxmIG9mIHdoYXQgaXQgd291bGQgbm9ybWFsbHkgYmUgLSB3ZSBkb24ndCB3YW50IHRvIGJsYWNrIG91dCAqL1xuICAgICAgICAvKiB0aGUgYXBwLCBqdXN0IG1ha2UgaXQgY2xlYXIgdGhhdCB0aGUgZGlhbG9ncyBhcmUgc3RhY2tlZC4gKi9cbiAgICAgICAgb3BhY2l0eTogMC40O1xuICAgIH1cblxuICAgIC5teF9EaWFsb2dfbGlnaHRib3ggJiB7XG4gICAgICAgIG9wYWNpdHk6ICRsaWdodGJveC1iYWNrZ3JvdW5kLWJnLW9wYWNpdHk7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRsaWdodGJveC1iYWNrZ3JvdW5kLWJnLWNvbG9yO1xuICAgICAgICBhbmltYXRpb24tbmFtZTogbXhfRGlhbG9nX2xpZ2h0Ym94X2JhY2tncm91bmRfa2V5ZnJhbWVzO1xuICAgICAgICBhbmltYXRpb24tZHVyYXRpb246IDMwMG1zO1xuICAgIH1cbn1cblxuLm14X0RpYWxvZ190aXRsZUltYWdlIHtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogc3ViO1xuICAgIHdpZHRoOiAyNXB4O1xuICAgIGhlaWdodDogMjVweDtcbiAgICBtYXJnaW4tbGVmdDogLTJweDtcbiAgICBtYXJnaW4tcmlnaHQ6IDRweDtcbiAgICBtYXJnaW4tYm90dG9tOiAycHg7XG59XG5cbi5teF9EaWFsb2dfdGl0bGUge1xuICAgIGNvbG9yOiAkZGlhbG9nLXRpdGxlLWZnLWNvbG9yO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIGxldHRlci1zcGFjaW5nOiB2YXIoLS1jcGQtZm9udC1sZXR0ZXItc3BhY2luZy1oZWFkaW5nLWxnKTtcblxuICAgICYuZGFuZ2VyIHtcbiAgICAgICAgY29sb3I6ICRhbGVydDtcbiAgICB9XG59XG5cbi5teF9EaWFsb2dfaGVhZGVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZzogMDtcbiAgICBwYWRkaW5nLWlubGluZS1lbmQ6IDIwcHg7IC8qIFJlc2VydmUgcm9vbSBmb3IgdGhlIGNsb3NlIGJ1dHRvbiAqL1xuICAgIG1hcmdpbi1ib3R0b206IHZhcigtLWNwZC1zcGFjZS0yeCk7XG5cbiAgICAmLm14X0RpYWxvZ19oZWFkZXJXaXRoQnV0dG9uID4gLm14X0RpYWxvZ190aXRsZSB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG59XG5cbkBkZWZpbmUtbWl4aW4gY3VzdG9taXNlZENhbmNlbEJ1dHRvbiB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aWR0aDogMjhweDtcbiAgICBoZWlnaHQ6IDI4cHg7XG4gICAgYm9yZGVyLXJhZGl1czogMTRweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jcGQtY29sb3ItYmctc3VidGxlLXNlY29uZGFyeSk7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY3BkLWNvbG9yLWJnLXN1YnRsZS1wcmltYXJ5KTtcbiAgICB9XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICB3aWR0aDogMjhweDtcbiAgICAgICAgaGVpZ2h0OiAyOHB4O1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgbWFzay1pbWFnZTogdXJsKFwiQHZlY3Rvci1pbS9jb21wb3VuZC1kZXNpZ24tdG9rZW5zL2ljb25zL2Nsb3NlLnN2Z1wiKTtcbiAgICAgICAgbWFzay1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgbWFzay1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgICBtYXNrLXNpemU6IDIwcHg7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNwZC1jb2xvci1pY29uLXNlY29uZGFyeSk7XG4gICAgfVxufVxuXG4ubXhfRGlhbG9nX2NhbmNlbEJ1dHRvbiB7XG4gICAgQG1peGluIGN1c3RvbWlzZWRDYW5jZWxCdXR0b247XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogdmFyKC0tY3BkLXNwYWNlLTR4KTtcbiAgICByaWdodDogdmFyKC0tY3BkLXNwYWNlLTR4KTtcbn1cblxuLm14X0RpYWxvZ19jb250ZW50IHtcbiAgICBtYXJnaW46IDI0cHggMCA2OHB4O1xuICAgIGZvbnQ6IHZhcigtLWNwZC1mb250LWJvZHktbWQtcmVndWxhcik7XG4gICAgY29sb3I6ICRwcmltYXJ5LWNvbnRlbnQ7XG4gICAgd29yZC13cmFwOiBicmVhay13b3JkO1xufVxuXG4ubXhfRGlhbG9nX2J1dHRvbnMge1xuICAgIG1hcmdpbi10b3A6ICRzcGFjaW5nLTIwO1xuICAgIG1hcmdpbi1pbmxpbmUtc3RhcnQ6IGF1dG87XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG5cbiAgICAubXhfRGlhbG9nX2J1dHRvbnNfYWRkaXRpdmUge1xuICAgICAgICAvKiBUaGUgY29uc3VtZXIgaXMgcmVzcG9uc2libGUgZm9yIHBvc2l0aW9uaW5nIHRoZWlyIGVsZW1lbnRzLiAqL1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICB9XG5cbiAgICAubXhfRGlhbG9nX2J1dHRvbnNfcm93IHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgICAgICB0ZXh0LWFsaWduOiBpbml0aWFsO1xuICAgICAgICBtYXJnaW4taW5saW5lLXN0YXJ0OiBhdXRvO1xuXG4gICAgICAgIC8qIGRlZmF1bHQgZ2FwIGFtb25nIGVsZW1lbnRzICovXG4gICAgICAgIGNvbHVtbi1nYXA6IHZhcigtLWJ1dHRvbnMtZGlhbG9nLWdhcC1jb2x1bW4pO1xuICAgICAgICByb3ctZ2FwOiB2YXIoLS1idXR0b25zLWRpYWxvZy1nYXAtcm93KTtcblxuICAgICAgICBidXR0b24ge1xuICAgICAgICAgICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7IC8qIG92ZXJyaWRlIHRoZSBtYXJnaW4gc2V0dGluZ3MgKi9cbiAgICAgICAgfVxuICAgIH1cbn1cblxuQGRlZmluZS1taXhpbiBteF9EaWFsb2dCdXR0b24ge1xuICAgIC8qIGFsaWduIGltYWdlcyBpbiBidXR0b25zIChlZyBzcGlubmVycykgKi9cbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIGJvcmRlcjogMHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDI0cHg7XG4gICAgZm9udDogdmFyKC0tY3BkLWZvbnQtYm9keS1tZC1yZWd1bGFyKTtcbiAgICBjb2xvcjogJGJ1dHRvbi1mZy1jb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jcGQtY29sb3ItYmctYWN0aW9uLXByaW1hcnktcmVzdCk7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgcGFkZGluZzogN3B4O1xuICAgIHBhZGRpbmctbGVmdDogMS41ZW07XG4gICAgcGFkZGluZy1yaWdodDogMS41ZW07XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcblxuICAgICY6bm90KDpmb2N1cy12aXNpYmxlKSB7XG4gICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgfVxufVxuXG4vKiBYWFg6IE91ciBidXR0b24gc3R5bGUgYXJlIGEgbWVzczogYnV0dG9ucyB0aGF0IGhhcHBlbiB0byBhcHBlYXIgaW4gZGlhbG9ncyBnZXQgc3BlY2lhbCBzdHlsZXMgYXBwbGllZFxuICogdG8gdGhlbSB0aGF0IG5vIGJ1dHRvbiBhbnl3aGVyZSBlbHNlIGluIHRoZSBhcHAgZ2V0cyBieSBkZWZhdWx0LiBJbiBwcmFjdGljZSwgYnV0dG9ucyBpbiBvdGhlciBwbGFjZXNcbiAqIGluIHRoZSBhcHAgbG9vayB0aGUgc2FtZSBieSBiZWluZyBBY2Nlc3NpYmxlQnV0dG9ucywgb3IgcG9zc2libHkgYnkgaGF2aW5nIGV4cGxpY3QgYnV0dG9uIGNsYXNzZXMuXG4gKiBXZSBzaG91bGQgZ28gdGhyb3VnaCBhbmQgaGF2ZSBvbmUgY29uc2lzdGVudCBzZXQgb2Ygc3R5bGVzIGZvciBidXR0b25zIHRocm91Z2hvdXQgdGhlIGFwcC5cbiAqIEZvciBub3csIEkgYW0gZHVwbGljYXRpbmcgdGhlIHNlbGVjdG9ycyBoZXJlIGZvciBteF9EaWFsb2cgYW5kIG14X0RpYWxvZ0J1dHRvbnMuXG4gKlxuICogRWxlbWVudHMgdGhhdCBzaG91bGQgbm90IGJlIHN0eWxlZCBsaWtlIGEgZGlhbG9nIGJ1dHRvbiBhcmUgbWVudGlvbmVkIGluIGEgOm5vdCgpIHBzZXVkby1jbGFzcy5cbiAqIEZvciB0aGUgd2lkZXN0IGJyb3dzZXIgc3VwcG9ydCwgd2UgdXNlIG11bHRpcGxlIDpub3QgcHNldWRvLWNsYXNzZXMgaW5zdGVhZCBvZiA6bm90KC5hLCAuYikuXG4gKi9cbi5teF9EaWFsb2dcbiAgICBidXR0b246bm90KC5teF9EaWFsb2dfbm9uRGlhbG9nQnV0dG9uKTpub3QoW2NsYXNzfD1cIm1hcGxpYnJlZ2xcIl0pOm5vdCgubXhfQWNjZXNzaWJsZUJ1dHRvbik6bm90KFxuICAgICAgICAubXhfVXNlclByb2ZpbGVTZXR0aW5ncyBidXR0b25cbiAgICApOm5vdCgubXhfVGhlbWVDaG9pY2VQYW5lbF9DdXN0b21UaGVtZSBidXR0b24pOm5vdCgubXhfVW5waW5BbGxEaWFsb2cgYnV0dG9uKTpub3QoLm14X1NoYXJlRGlhbG9nIGJ1dHRvbiksXG4ubXhfRGlhbG9nIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0sXG4ubXhfRGlhbG9nX2J1dHRvbnMgYnV0dG9uOm5vdCgubXhfRGlhbG9nX25vbkRpYWxvZ0J1dHRvbik6bm90KC5teF9BY2Nlc3NpYmxlQnV0dG9uKSxcbi5teF9EaWFsb2dfYnV0dG9ucyBpbnB1dFt0eXBlPVwic3VibWl0XCJdIHtcbiAgICBAbWl4aW4gbXhfRGlhbG9nQnV0dG9uO1xuICAgIG1hcmdpbi1sZWZ0OiAwcHg7XG4gICAgbWFyZ2luLXJpZ2h0OiB2YXIoLS1idXR0b25zLWRpYWxvZy1nYXAtY29sdW1uKTtcbiAgICBtYXJnaW4tYm90dG9tOiA1cHg7XG5cbiAgICAvKiBmbGlwIGNvbG91cnMgZm9yIHRoZSBzZWNvbmRhcnkgb25lcyAqL1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1jcGQtZm9udC13ZWlnaHQtc2VtaWJvbGQpO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNwZC1jb2xvci1ib3JkZXItaW50ZXJhY3RpdmUtc2Vjb25kYXJ5KTtcbiAgICBjb2xvcjogdmFyKC0tY3BkLWNvbG9yLXRleHQtcHJpbWFyeSk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG59XG5cbi5teF9EaWFsb2dcbiAgICBidXR0b246bm90KC5teF9EaWFsb2dfbm9uRGlhbG9nQnV0dG9uKTpub3QoW2NsYXNzfD1cIm1hcGxpYnJlZ2xcIl0pOm5vdCgubXhfQWNjZXNzaWJsZUJ1dHRvbik6bm90KFxuICAgICAgICAubXhfVXNlclByb2ZpbGVTZXR0aW5ncyBidXR0b25cbiAgICApOm5vdCgubXhfVGhlbWVDaG9pY2VQYW5lbF9DdXN0b21UaGVtZSBidXR0b24pOm5vdCgubXhfVW5waW5BbGxEaWFsb2cgYnV0dG9uKTpub3QoXG4gICAgICAgIC5teF9TaGFyZURpYWxvZyBidXR0b25cbiAgICApOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1yaWdodDogMHB4O1xufVxuXG4ubXhfRGlhbG9nXG4gICAgYnV0dG9uOm5vdCgubXhfRGlhbG9nX25vbkRpYWxvZ0J1dHRvbik6bm90KFtjbGFzc3w9XCJtYXBsaWJyZWdsXCJdKTpub3QoLm14X0FjY2Vzc2libGVCdXR0b24pOm5vdChcbiAgICAgICAgLm14X1VzZXJQcm9maWxlU2V0dGluZ3MgYnV0dG9uXG4gICAgKTpub3QoLm14X1RoZW1lQ2hvaWNlUGFuZWxfQ3VzdG9tVGhlbWUgYnV0dG9uKTpub3QoLm14X1VucGluQWxsRGlhbG9nIGJ1dHRvbik6bm90KC5teF9TaGFyZURpYWxvZyBidXR0b24pOmZvY3VzLFxuLm14X0RpYWxvZyBpbnB1dFt0eXBlPVwic3VibWl0XCJdOmZvY3VzLFxuLm14X0RpYWxvZ19idXR0b25zIGJ1dHRvbjpub3QoLm14X0RpYWxvZ19ub25EaWFsb2dCdXR0b24pOm5vdCgubXhfQWNjZXNzaWJsZUJ1dHRvbik6Zm9jdXMsXG4ubXhfRGlhbG9nX2J1dHRvbnMgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXTpmb2N1cyB7XG4gICAgZmlsdGVyOiBicmlnaHRuZXNzKCRmb2N1cy1icmlnaHRuZXNzKTtcbn1cblxuLm14X0RpYWxvZyBidXR0b24ubXhfRGlhbG9nX3ByaW1hcnk6bm90KC5teF9EaWFsb2dfbm9uRGlhbG9nQnV0dG9uKTpub3QoW2NsYXNzfD1cIm1hcGxpYnJlZ2xcIl0pLFxuLm14X0RpYWxvZyBpbnB1dFt0eXBlPVwic3VibWl0XCJdLm14X0RpYWxvZ19wcmltYXJ5LFxuLm14X0RpYWxvZ19idXR0b25zXG4gICAgYnV0dG9uLm14X0RpYWxvZ19wcmltYXJ5Om5vdCgubXhfRGlhbG9nX25vbkRpYWxvZ0J1dHRvbik6bm90KC5teF9BY2Nlc3NpYmxlQnV0dG9uKTpub3QoXG4gICAgICAgIC5teF9Vc2VyUHJvZmlsZVNldHRpbmdzIGJ1dHRvblxuICAgICk6bm90KC5teF9UaGVtZUNob2ljZVBhbmVsX0N1c3RvbVRoZW1lIGJ1dHRvbik6bm90KC5teF9VbnBpbkFsbERpYWxvZyBidXR0b24pOm5vdCgubXhfU2hhcmVEaWFsb2cgYnV0dG9uKSxcbi5teF9EaWFsb2dfYnV0dG9ucyBpbnB1dFt0eXBlPVwic3VibWl0XCJdLm14X0RpYWxvZ19wcmltYXJ5IHtcbiAgICBjb2xvcjogdmFyKC0tY3BkLWNvbG9yLXRleHQtb24tc29saWQtcHJpbWFyeSk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY3BkLWNvbG9yLWJnLWFjdGlvbi1wcmltYXJ5LXJlc3QpO1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tY3BkLWNvbG9yLWJnLWFjdGlvbi1wcmltYXJ5LXJlc3QpO1xuICAgIG1pbi13aWR0aDogMTU2cHg7XG59XG5cbi5teF9EaWFsb2cgYnV0dG9uLmRhbmdlcjpub3QoLm14X0RpYWxvZ19ub25EaWFsb2dCdXR0b24pOm5vdChbY2xhc3N8PVwibWFwbGlicmVnbFwiXSksXG4ubXhfRGlhbG9nIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0uZGFuZ2VyLFxuLm14X0RpYWxvZ19idXR0b25zXG4gICAgYnV0dG9uLmRhbmdlcjpub3QoLm14X0RpYWxvZ19ub25EaWFsb2dCdXR0b24pOm5vdCgubXhfQWNjZXNzaWJsZUJ1dHRvbik6bm90KC5teF9Vc2VyUHJvZmlsZVNldHRpbmdzIGJ1dHRvbik6bm90KFxuICAgICAgICAubXhfVGhlbWVDaG9pY2VQYW5lbF9DdXN0b21UaGVtZSBidXR0b25cbiAgICApOm5vdCgubXhfVW5waW5BbGxEaWFsb2cgYnV0dG9uKTpub3QoLm14X1NoYXJlRGlhbG9nIGJ1dHRvbiksXG4ubXhfRGlhbG9nX2J1dHRvbnMgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXS5kYW5nZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNwZC1jb2xvci1iZy1jcml0aWNhbC1wcmltYXJ5KTtcbiAgICBib3JkZXI6IHNvbGlkIDFweCB2YXIoLS1jcGQtY29sb3ItYmctY3JpdGljYWwtcHJpbWFyeSk7XG4gICAgY29sb3I6IHZhcigtLWNwZC1jb2xvci10ZXh0LW9uLXNvbGlkLXByaW1hcnkpO1xufVxuXG4ubXhfRGlhbG9nIGJ1dHRvbi53YXJuaW5nOm5vdCgubXhfRGlhbG9nX25vbkRpYWxvZ0J1dHRvbik6bm90KFtjbGFzc3w9XCJtYXBsaWJyZWdsXCJdKSxcbi5teF9EaWFsb2cgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXS53YXJuaW5nIHtcbiAgICBib3JkZXI6IHNvbGlkIDFweCB2YXIoLS1jcGQtY29sb3ItYm9yZGVyLWNyaXRpY2FsLXN1YnRsZSk7XG4gICAgY29sb3I6IHZhcigtLWNwZC1jb2xvci10ZXh0LWNyaXRpY2FsLXByaW1hcnkpO1xufVxuXG4ubXhfRGlhbG9nXG4gICAgYnV0dG9uOm5vdCgubXhfRGlhbG9nX25vbkRpYWxvZ0J1dHRvbik6bm90KFtjbGFzc3w9XCJtYXBsaWJyZWdsXCJdKTpub3QoLm14X0FjY2Vzc2libGVCdXR0b24pOm5vdChcbiAgICAgICAgLm14X1VzZXJQcm9maWxlU2V0dGluZ3MgYnV0dG9uXG4gICAgKTpub3QoLm14X1RoZW1lQ2hvaWNlUGFuZWxfQ3VzdG9tVGhlbWUgYnV0dG9uKTpub3QoLm14X1VucGluQWxsRGlhbG9nIGJ1dHRvbik6bm90KC5teF9TaGFyZURpYWxvZyBidXR0b24pOmRpc2FibGVkLFxuLm14X0RpYWxvZyBpbnB1dFt0eXBlPVwic3VibWl0XCJdOmRpc2FibGVkLFxuLm14X0RpYWxvZ19idXR0b25zIGJ1dHRvbjpub3QoLm14X0RpYWxvZ19ub25EaWFsb2dCdXR0b24pOm5vdCgubXhfQWNjZXNzaWJsZUJ1dHRvbik6ZGlzYWJsZWQsXG4ubXhfRGlhbG9nX2J1dHRvbnMgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXTpkaXNhYmxlZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGxpZ2h0LWZnLWNvbG9yO1xuICAgIGJvcmRlcjogc29saWQgMXB4ICRsaWdodC1mZy1jb2xvcjtcbiAgICBvcGFjaXR5OiAwLjc7XG59XG5cbi8qIFNwaW5uZXIgRGlhbG9nIG92ZXJpZGUgKi9cbi5teF9EaWFsb2dfd3JhcHBlci5teF9EaWFsb2dfc3Bpbm5lciB7XG4gICAgLyogVGhpcyBpcyBub3QgYSByZWFsIGRpYWxvZywgc28gd2Ugc2hvdWxkbid0IHNob3cgYSBnbGFzcyBib3JkZXIgKi9cbiAgICAubXhfRGlhbG9nX2JvcmRlciB7XG4gICAgICAgIGRpc3BsYXk6IGNvbnRlbnRzO1xuICAgIH1cblxuICAgIC5teF9EaWFsb2cge1xuICAgICAgICBpbmxpbmUtc2l6ZTogYXV0bztcbiAgICAgICAgYmxvY2stc2l6ZTogYXV0bztcbiAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4O1xuICAgICAgICBwYWRkaW5nOiA4cHg7XG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG5cbiAgICAgICAgLyogRG9uJ3Qgc2hvdyBzY3JvbGwtYmFycyBvbiBzcGlubmVyIGRpYWxvZ3MgKi9cbiAgICAgICAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICAgICAgICBvdmVyZmxvdy15OiBoaWRkZW47XG4gICAgfVxufVxuXG4vKiBUT0RPOiBSZXZpZXcgbXhfR2VuZXJhbEJ1dHRvbiB1c2FnZSB0byBzZWUgaWYgaXQgY2FuIHVzZSBhIGRpZmZlcmVudCBjbGFzcyAqL1xuLyogVGhlc2UgY2xhc3NlcyB3ZXJlIGJyb3VnaHQgaW4gZnJvbSB0aGUgb2xkIFVzZXJTZXR0aW5ncyBhbmQgYXJlIGluY2x1ZGVkIGhlcmUgdG8gYXZvaWQgKi9cbi8qIGJyZWFraW5nIHRoZSBhcHAuICovXG4vKiBSZWY6IGh0dHBzOi8vZ2l0aHViLmNvbS92ZWN0b3ItaW0vZWxlbWVudC13ZWIvaXNzdWVzLzg0MjAgKi9cbi5teF9HZW5lcmFsQnV0dG9uIHtcbiAgICBAbWl4aW4gbXhfRGlhbG9nQnV0dG9uO1xuICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICBtYXJnaW46IGF1dG87XG59XG5cbi5teF9UZXh0SW5wdXREaWFsb2dfbGFiZWwge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgcGFkZGluZy1ib3R0b206IDEycHg7XG59XG5cbi5teF9UZXh0SW5wdXREaWFsb2dfaW5wdXQge1xuICAgIGZvbnQtc2l6ZTogJGZvbnQtMTVweDtcbiAgICBib3JkZXItcmFkaXVzOiAzcHg7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJGlucHV0LWJvcmRlci1jb2xvcjtcbiAgICBwYWRkaW5nOiA5cHg7XG4gICAgY29sb3I6ICRwcmltYXJ5LWNvbnRlbnQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG59XG5cbi5teF9idXR0b25fcm93IHtcbiAgICBtYXJnaW4tdG9wOiA2OXB4O1xufVxuXG4vKiB1c2VybmFtZSBjb2xvcnMgKi9cbi8qIHVzZWQgYnkgU2VuZGVyUHJvZmlsZSAmIFJvb21QcmV2aWV3QmFyICovXG4ubXhfVXNlcm5hbWVfY29sb3IxIHtcbiAgICBjb2xvcjogJHVzZXJuYW1lLXZhcmlhbnQxLWNvbG9yO1xufVxuXG4ubXhfVXNlcm5hbWVfY29sb3IyIHtcbiAgICBjb2xvcjogJHVzZXJuYW1lLXZhcmlhbnQyLWNvbG9yO1xufVxuXG4ubXhfVXNlcm5hbWVfY29sb3IzIHtcbiAgICBjb2xvcjogJHVzZXJuYW1lLXZhcmlhbnQzLWNvbG9yO1xufVxuXG4ubXhfVXNlcm5hbWVfY29sb3I0IHtcbiAgICBjb2xvcjogJHVzZXJuYW1lLXZhcmlhbnQ0LWNvbG9yO1xufVxuXG4ubXhfVXNlcm5hbWVfY29sb3I1IHtcbiAgICBjb2xvcjogJHVzZXJuYW1lLXZhcmlhbnQ1LWNvbG9yO1xufVxuXG4ubXhfVXNlcm5hbWVfY29sb3I2IHtcbiAgICBjb2xvcjogJHVzZXJuYW1lLXZhcmlhbnQ2LWNvbG9yO1xufVxuXG4ubXhfQXBwV2FybmluZyxcbi5teF9BcHBQZXJtaXNzaW9uIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG5AZGVmaW5lLW1peGluIFByb2dyZXNzQmFyQ29sb3VyICRjb2xvdXIge1xuICAgIGNvbG9yOiAkY29sb3VyO1xuICAgICY6Oi1tb3otcHJvZ3Jlc3MtYmFyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjtcbiAgICB9XG4gICAgJjo6LXdlYmtpdC1wcm9ncmVzcy12YWx1ZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXI7XG4gICAgfVxufVxuXG5AZGVmaW5lLW1peGluIFByb2dyZXNzQmFyQmdDb2xvdXIgJGNvbG91ciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjtcbiAgICAmOjotd2Via2l0LXByb2dyZXNzLWJhciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXI7XG4gICAgfVxufVxuXG5AZGVmaW5lLW1peGluIFByb2dyZXNzQmFyQm9yZGVyUmFkaXVzICRyYWRpdXMge1xuICAgIGJvcmRlci1yYWRpdXM6ICRyYWRpdXM7XG4gICAgJjo6LW1vei1wcm9ncmVzcy1iYXIge1xuICAgICAgICBib3JkZXItcmFkaXVzOiAkcmFkaXVzO1xuICAgIH1cbiAgICAmOjotd2Via2l0LXByb2dyZXNzLWJhcixcbiAgICAmOjotd2Via2l0LXByb2dyZXNzLXZhbHVlIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogJHJhZGl1cztcbiAgICB9XG59XG5cbkBkZWZpbmUtbWl4aW4gdW5yZWFsLWZvY3VzIHtcbiAgICBvdXRsaW5lLXdpZHRoOiAycHg7XG4gICAgb3V0bGluZS1zdHlsZTogc29saWQ7XG4gICAgb3V0bGluZS1jb2xvcjogSGlnaGxpZ2h0O1xuXG4gICAgLyogV2ViS2l0IGdldHMgaXRzIG5hdGl2ZSBmb2N1cyBzdHlsZXMuICovXG4gICAgQG1lZGlhICgtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDApIHtcbiAgICAgICAgb3V0bGluZS1jb2xvcjogLXdlYmtpdC1mb2N1cy1yaW5nLWNvbG9yO1xuICAgICAgICBvdXRsaW5lLXN0eWxlOiBhdXRvO1xuICAgIH1cbn1cblxuQGRlZmluZS1taXhpbiBCdXR0b25SZXNldERlZmF1bHQge1xuICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW46IDA7XG4gICAgZm9udC1zaXplOiBpbmhlcml0O1xuICAgIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuQGRlZmluZS1taXhpbiBMZWdhY3lDYWxsQnV0dG9uIHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1jcGQtZm9udC13ZWlnaHQtc2VtaWJvbGQpO1xuICAgIGhlaWdodDogJGZvbnQtMjRweDtcbiAgICBsaW5lLWhlaWdodDogJGZvbnQtMjRweDtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG5cbiAgICBzcGFuIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRidXR0b24tZmctY29sb3I7XG4gICAgICAgICAgICBtYXNrLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICAgICAgICBtYXNrLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiA4cHg7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBkZWZpbmUtbWl4aW4gVGhyZWFkUmVwbGllc0Ftb3VudCB7XG4gICAgY29sb3I6ICRzZWNvbmRhcnktY29udGVudDtcbiAgICBmb250LXdlaWdodDogdmFyKC0tY3BkLWZvbnQtd2VpZ2h0LXNlbWlib2xkKTtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nOiAwICRzcGFjaW5nLTEyIDAgJHNwYWNpbmctODtcbn1cblxuQGRlZmluZS1taXhpbiBUaHJlYWRTdW1tYXJ5SWNvbiB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFzay1pbWFnZTogdXJsKFwiQHZlY3Rvci1pbS9jb21wb3VuZC1kZXNpZ24tdG9rZW5zL2ljb25zL3RocmVhZHMuc3ZnXCIpO1xuICAgIG1hc2stcG9zaXRpb246IGNlbnRlcjtcbiAgICBtYXNrLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIG1hc2stc2l6ZTogY29udGFpbjtcbiAgICBoZWlnaHQ6IDE4cHg7XG4gICAgbWluLXdpZHRoOiAxOHB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRpY29uLWJ1dHRvbi1jb2xvciAhaW1wb3J0YW50O1xufVxuXG5AZGVmaW5lLW1peGluIGNvbXBvc2VyQnV0dG9uSGlnaExpZ2h0IHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jcGQtY29sb3ItYmctc3VidGxlLXByaW1hcnkpO1xuICAgICY6OmJlZm9yZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNwZC1jb2xvci1pY29uLXByaW1hcnkpICFpbXBvcnRhbnQ7XG4gICAgfVxufVxuXG5AZGVmaW5lLW1peGluIGNvbXBvc2VyQnV0dG9uICRib3JkZXItcmFkaXVzLCAkaG92ZXItY29sb3IsICRob3Zlci1iZyB7XG4gICAgLS1zaXplOiAyNnB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgaGVpZ2h0OiB2YXIoLS1zaXplKTtcbiAgICBsaW5lLWhlaWdodDogdmFyKC0tc2l6ZSk7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgcGFkZGluZy1sZWZ0OiB2YXIoLS1zaXplKTtcbiAgICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcblxuICAgICY6OmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAzcHg7XG4gICAgICAgIGxlZnQ6IDNweDtcbiAgICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgICAgICB3aWR0aDogMjBweDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGljb24tYnV0dG9uLWNvbG9yO1xuICAgICAgICBtYXNrLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICBtYXNrLXNpemU6IGNvbnRhaW47XG4gICAgICAgIG1hc2stcG9zaXRpb246IGNlbnRlcjtcbiAgICAgICAgei1pbmRleDogMjtcbiAgICB9XG5cbiAgICAmOjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICB6LWluZGV4OiAwO1xuICAgICAgICB3aWR0aDogdmFyKC0tc2l6ZSk7XG4gICAgICAgIGhlaWdodDogdmFyKC0tc2l6ZSk7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xuICAgIH1cblxuICAgICY6aG92ZXIge1xuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkaG92ZXItYmc7XG4gICAgICAgIH1cblxuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGhvdmVyLWNvbG9yO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4ubXhfbGluZUNsYW1wIHtcbiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xuICAgIC13ZWJraXQtbGluZS1jbGFtcDogdmFyKC0tbXgtbGluZS1jbGFtcCwgMSk7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cbiIsIi8qIEVzdGFibGlzaCBhIGxheWVyIG9yZGVyIHRoYXQgYWxsb3dzIHNlbWFudGljIHRva2VucyB0byBiZSBjdXN0b21pemVkLCBidXQgbm90IGJhc2UgdG9rZW5zLlxuICogVGhlIGxheWVycyBhcmUgcHJlZml4ZWQgYnkgJ2NwZC0nIGJlY2F1c2UgVGFpbHdpbmQgd2lsbCBpbnRlcnByZXQgJ0BsYXllciBiYXNlJyBkaXJlY3RpdmVzLlxuICovXG5AbGF5ZXIgY3BkLXNlbWFudGljLCBjdXN0b20sIGNwZC1iYXNlO1xuXG5AaW1wb3J0IHVybChcIi4vY3BkLWZvbnQtZmFsbGJhY2tzLmNzc1wiKTtcbkBpbXBvcnQgdXJsKFwiLi9jcGQtY29tbW9uLWJhc2UuY3NzXCIpIGxheWVyKGNwZC1iYXNlKSBzY3JlZW47XG5AaW1wb3J0IHVybChcIi4vY3BkLWNvbW1vbi1zZW1hbnRpYy5jc3NcIikgbGF5ZXIoY3BkLXNlbWFudGljKSBzY3JlZW47XG5AaW1wb3J0IHVybChcIi4vY3BkLXRoZW1lLWxpZ2h0LWJhc2UuY3NzXCIpIGxheWVyKGNwZC1iYXNlKSBzY3JlZW47XG5AaW1wb3J0IHVybChcIi4vY3BkLXRoZW1lLWxpZ2h0LWJhc2UtbXEuY3NzXCIpIGxheWVyKGNwZC1iYXNlKSBzY3JlZW4gYW5kIChwcmVmZXJzLWNvbG9yLXNjaGVtZTogbGlnaHQpO1xuQGltcG9ydCB1cmwoXCIuL2NwZC10aGVtZS1saWdodC1zZW1hbnRpYy5jc3NcIikgbGF5ZXIoY3BkLXNlbWFudGljKSBzY3JlZW47XG5AaW1wb3J0IHVybChcIi4vY3BkLXRoZW1lLWxpZ2h0LXNlbWFudGljLW1xLmNzc1wiKSBsYXllcihjcGQtc2VtYW50aWMpIHNjcmVlbiBhbmQgKHByZWZlcnMtY29sb3Itc2NoZW1lOiBsaWdodCk7XG5AaW1wb3J0IHVybChcIi4vY3BkLXRoZW1lLWxpZ2h0LWhjLWJhc2UuY3NzXCIpIGxheWVyKGNwZC1iYXNlKSBzY3JlZW47XG5AaW1wb3J0IHVybChcIi4vY3BkLXRoZW1lLWxpZ2h0LWhjLWJhc2UtbXEuY3NzXCIpIGxheWVyKGNwZC1iYXNlKSBzY3JlZW4gYW5kIChwcmVmZXJzLWNvbG9yLXNjaGVtZTogbGlnaHQpIGFuZCAocHJlZmVycy1jb250cmFzdDogbW9yZSk7XG5AaW1wb3J0IHVybChcIi4vY3BkLXRoZW1lLWxpZ2h0LWhjLXNlbWFudGljLmNzc1wiKSBsYXllcihjcGQtc2VtYW50aWMpIHNjcmVlbjtcbkBpbXBvcnQgdXJsKFwiLi9jcGQtdGhlbWUtbGlnaHQtaGMtc2VtYW50aWMtbXEuY3NzXCIpIGxheWVyKGNwZC1zZW1hbnRpYykgc2NyZWVuIGFuZCAocHJlZmVycy1jb2xvci1zY2hlbWU6IGxpZ2h0KSBhbmQgKHByZWZlcnMtY29udHJhc3Q6IG1vcmUpO1xuQGltcG9ydCB1cmwoXCIuL2NwZC10aGVtZS1kYXJrLWJhc2UuY3NzXCIpIGxheWVyKGNwZC1iYXNlKSBzY3JlZW47XG5AaW1wb3J0IHVybChcIi4vY3BkLXRoZW1lLWRhcmstYmFzZS1tcS5jc3NcIikgbGF5ZXIoY3BkLWJhc2UpIHNjcmVlbiBhbmQgKHByZWZlcnMtY29sb3Itc2NoZW1lOiBkYXJrKTtcbkBpbXBvcnQgdXJsKFwiLi9jcGQtdGhlbWUtZGFyay1zZW1hbnRpYy5jc3NcIikgbGF5ZXIoY3BkLXNlbWFudGljKSBzY3JlZW47XG5AaW1wb3J0IHVybChcIi4vY3BkLXRoZW1lLWRhcmstc2VtYW50aWMtbXEuY3NzXCIpIGxheWVyKGNwZC1zZW1hbnRpYykgc2NyZWVuIGFuZCAocHJlZmVycy1jb2xvci1zY2hlbWU6IGRhcmspO1xuQGltcG9ydCB1cmwoXCIuL2NwZC10aGVtZS1kYXJrLWhjLWJhc2UuY3NzXCIpIGxheWVyKGNwZC1iYXNlKSBzY3JlZW47XG5AaW1wb3J0IHVybChcIi4vY3BkLXRoZW1lLWRhcmstaGMtYmFzZS1tcS5jc3NcIikgbGF5ZXIoY3BkLWJhc2UpIHNjcmVlbiBhbmQgKHByZWZlcnMtY29sb3Itc2NoZW1lOiBkYXJrKSBhbmQgKHByZWZlcnMtY29udHJhc3Q6IG1vcmUpO1xuQGltcG9ydCB1cmwoXCIuL2NwZC10aGVtZS1kYXJrLWhjLXNlbWFudGljLmNzc1wiKSBsYXllcihjcGQtc2VtYW50aWMpIHNjcmVlbjtcbkBpbXBvcnQgdXJsKFwiLi9jcGQtdGhlbWUtZGFyay1oYy1zZW1hbnRpYy1tcS5jc3NcIikgbGF5ZXIoY3BkLXNlbWFudGljKSBzY3JlZW4gYW5kIChwcmVmZXJzLWNvbG9yLXNjaGVtZTogZGFyaykgYW5kIChwcmVmZXJzLWNvbnRyYXN0OiBtb3JlKTtcbiIsIi8qIEZhbGxiYWNrIGZvciBJbnRlciByZWd1bGFyICovXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiSW50ZXIgRmFsbGJhY2s6IEhlbHZldGljYSBOZXVlXCI7XG4gIHNyYzogbG9jYWwoJ0hlbHZldGljYSBOZXVlJyksIGxvY2FsKCdIZWx2ZXRpY2FOZXVlJyk7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgZm9udC1kaXNwbGF5OiBzd2FwO1xuICBhc2NlbnQtb3ZlcnJpZGU6IDkxLjI4ODMlO1xuICBkZXNjZW50LW92ZXJyaWRlOiAyMi43MzAxJTtcbiAgbGluZS1nYXAtb3ZlcnJpZGU6IDAlO1xuICBzaXplLWFkanVzdDogMTA2LjExOTglO1xufVxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkludGVyIEZhbGxiYWNrOiBTZWdvZSBVSVwiO1xuICBzcmM6IGxvY2FsKCdTZWdvZSBVSScpLCBsb2NhbCgnU2Vnb2VVSScpO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGZvbnQtZGlzcGxheTogc3dhcDtcbiAgYXNjZW50LW92ZXJyaWRlOiA4OS45NDEyJTtcbiAgZGVzY2VudC1vdmVycmlkZTogMjIuMzk0NiU7XG4gIHNpemUtYWRqdXN0OiAxMDcuNzA5MyU7XG59XG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiSW50ZXIgRmFsbGJhY2s6IFJvYm90b1wiO1xuICBzcmM6IGxvY2FsKCdSb2JvdG8nKSwgbG9jYWwoJ1JvYm90by1SZWd1bGFyJyk7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgZm9udC1kaXNwbGF5OiBzd2FwO1xuICBhc2NlbnQtb3ZlcnJpZGU6IDkwLjIzODQlO1xuICBkZXNjZW50LW92ZXJyaWRlOiAyMi40Njg2JTtcbiAgc2l6ZS1hZGp1c3Q6IDEwNy4zNTQ2JTtcbn1cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJJbnRlciBGYWxsYmFjazogVWJ1bnR1XCI7XG4gIHNyYzogbG9jYWwoJ1VidW50dSBSZWd1bGFyJyksIGxvY2FsKCdVYnVudHUtUmVndWxhcicpO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGZvbnQtZGlzcGxheTogc3dhcDtcbiAgYXNjZW50LW92ZXJyaWRlOiA5Mi4zMDI3JTtcbiAgZGVzY2VudC1vdmVycmlkZTogMjIuOTgyNiU7XG4gIGxpbmUtZ2FwLW92ZXJyaWRlOiAwJTtcbiAgc2l6ZS1hZGp1c3Q6IDEwNC45NTM2JTtcbn1cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJJbnRlciBGYWxsYmFjazogRmlyYSBTYW5zXCI7XG4gIHNyYzogbG9jYWwoJ0ZpcmEgU2FucyBSZWd1bGFyJyksIGxvY2FsKCdGaXJhU2Fucy1SZWd1bGFyJyk7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgZm9udC1kaXNwbGF5OiBzd2FwO1xuICBhc2NlbnQtb3ZlcnJpZGU6IDkyLjkxMTIlO1xuICBkZXNjZW50LW92ZXJyaWRlOiAyMy4xMzQyJTtcbiAgc2l6ZS1hZGp1c3Q6IDEwNC4yNjYyJTtcbn1cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJJbnRlciBGYWxsYmFjazogTm90byBTYW5zXCI7XG4gIHNyYzogbG9jYWwoJ05vdG8gU2FucyBSZWd1bGFyJyksIGxvY2FsKCdOb3RvU2Fucy1SZWd1bGFyJyk7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgZm9udC1kaXNwbGF5OiBzd2FwO1xuICBhc2NlbnQtb3ZlcnJpZGU6IDk2LjE1NzElO1xuICBkZXNjZW50LW92ZXJyaWRlOiAyMy45NDIzJTtcbiAgc2l6ZS1hZGp1c3Q6IDEwMC43NDY2JTtcbn1cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJJbnRlciBGYWxsYmFjazogQXJpYWxcIjtcbiAgc3JjOiBsb2NhbCgnQXJpYWwnKSwgbG9jYWwoJ0FyaWFsTVQnKTtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNDAwO1xuICBmb250LWRpc3BsYXk6IHN3YXA7XG4gIGFzY2VudC1vdmVycmlkZTogOTAuNDM2NSU7XG4gIGRlc2NlbnQtb3ZlcnJpZGU6IDIyLjUxOCU7XG4gIGxpbmUtZ2FwLW92ZXJyaWRlOiAwJTtcbiAgc2l6ZS1hZGp1c3Q6IDEwNy4xMTk0JTtcbn1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkludGVyIEZhbGxiYWNrOiBIZWx2ZXRpY2EgTmV1ZVwiO1xuICBzcmM6IGxvY2FsKCdIZWx2ZXRpY2EgTmV1ZSBJdGFsaWMnKSwgbG9jYWwoJ0hlbHZldGljYU5ldWUtSXRhbGljJyk7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgZm9udC1kaXNwbGF5OiBzd2FwO1xuICBhc2NlbnQtb3ZlcnJpZGU6IDkwLjMyODUlO1xuICBkZXNjZW50LW92ZXJyaWRlOiAyMi40OTExJTtcbiAgbGluZS1nYXAtb3ZlcnJpZGU6IDAlO1xuICBzaXplLWFkanVzdDogMTA3LjI0NzUlO1xufVxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkludGVyIEZhbGxiYWNrOiBTZWdvZSBVSVwiO1xuICBzcmM6IGxvY2FsKCdTZWdvZSBVSSBJdGFsaWMnKSwgbG9jYWwoJ1NlZ29lVUktSXRhbGljJyk7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgZm9udC1kaXNwbGF5OiBzd2FwO1xuICBhc2NlbnQtb3ZlcnJpZGU6IDg3LjQyMzglO1xuICBkZXNjZW50LW92ZXJyaWRlOiAyMS43Njc4JTtcbiAgc2l6ZS1hZGp1c3Q6IDExMC44MTA4JTtcbn1cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJJbnRlciBGYWxsYmFjazogUm9ib3RvXCI7XG4gIHNyYzogbG9jYWwoJ1JvYm90byBJdGFsaWMnKSwgbG9jYWwoJ1JvYm90by1JdGFsaWMnKTtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xuICBmb250LXdlaWdodDogNDAwO1xuICBmb250LWRpc3BsYXk6IHN3YXA7XG4gIGFzY2VudC1vdmVycmlkZTogODcuOTE2JTtcbiAgZGVzY2VudC1vdmVycmlkZTogMjEuODkwNCU7XG4gIHNpemUtYWRqdXN0OiAxMTAuMTkwNCU7XG59XG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiSW50ZXIgRmFsbGJhY2s6IFVidW50dVwiO1xuICBzcmM6IGxvY2FsKCdVYnVudHUgSXRhbGljJyksIGxvY2FsKCdVYnVudHUtSXRhbGljJyk7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgZm9udC1kaXNwbGF5OiBzd2FwO1xuICBhc2NlbnQtb3ZlcnJpZGU6IDg4LjcxNTQlO1xuICBkZXNjZW50LW92ZXJyaWRlOiAyMi4wODk0JTtcbiAgbGluZS1nYXAtb3ZlcnJpZGU6IDAlO1xuICBzaXplLWFkanVzdDogMTA5LjE5NzQlO1xufVxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkludGVyIEZhbGxiYWNrOiBGaXJhIFNhbnNcIjtcbiAgc3JjOiBsb2NhbCgnRmlyYSBTYW5zIEl0YWxpYycpLCBsb2NhbCgnRmlyYVNhbnMtSXRhbGljJyk7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgZm9udC1kaXNwbGF5OiBzd2FwO1xuICBhc2NlbnQtb3ZlcnJpZGU6IDkxLjMzNjYlO1xuICBkZXNjZW50LW92ZXJyaWRlOiAyMi43NDIxJTtcbiAgc2l6ZS1hZGp1c3Q6IDEwNi4wNjM3JTtcbn1cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJJbnRlciBGYWxsYmFjazogTm90byBTYW5zXCI7XG4gIHNyYzogbG9jYWwoJ05vdG8gU2FucyBJdGFsaWMnKSwgbG9jYWwoJ05vdG9TYW5zLUl0YWxpYycpO1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGZvbnQtZGlzcGxheTogc3dhcDtcbiAgYXNjZW50LW92ZXJyaWRlOiA5MC4xMjY4JTtcbiAgZGVzY2VudC1vdmVycmlkZTogMjIuNDQwOSU7XG4gIHNpemUtYWRqdXN0OiAxMDcuNDg3NCU7XG59XG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiSW50ZXIgRmFsbGJhY2s6IEFyaWFsXCI7XG4gIHNyYzogbG9jYWwoJ0FyaWFsIEl0YWxpYycpLCBsb2NhbCgnQXJpYWwtSXRhbGljTVQnKTtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xuICBmb250LXdlaWdodDogNDAwO1xuICBmb250LWRpc3BsYXk6IHN3YXA7XG4gIGFzY2VudC1vdmVycmlkZTogODkuODg1JTtcbiAgZGVzY2VudC1vdmVycmlkZTogMjIuMzgwNiU7XG4gIGxpbmUtZ2FwLW92ZXJyaWRlOiAwJTtcbiAgc2l6ZS1hZGp1c3Q6IDEwNy43NzY2JTtcbn1cblxuXG4vKiBGYWxsYmFjayBmb3IgSW50ZXIgbWVkaXVtICovXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiSW50ZXIgRmFsbGJhY2s6IEhlbHZldGljYSBOZXVlXCI7XG4gIHNyYzogbG9jYWwoJ0hlbHZldGljYSBOZXVlIE1lZGl1bScpLCBsb2NhbCgnSGVsdmV0aWNhTmV1ZS1NZWRpdW0nKTtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNTAwO1xuICBmb250LWRpc3BsYXk6IHN3YXA7XG4gIGFzY2VudC1vdmVycmlkZTogOTMuMzc2NSU7XG4gIGRlc2NlbnQtb3ZlcnJpZGU6IDIzLjI1JTtcbiAgbGluZS1nYXAtb3ZlcnJpZGU6IDAlO1xuICBzaXplLWFkanVzdDogMTAzLjc0NjYlO1xufVxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkludGVyIEZhbGxiYWNrOiBTZWdvZSBVSVwiO1xuICBzcmM6IGxvY2FsKCdTZWdvZSBVSSBTZW1pYm9sZCcpLCBsb2NhbCgnU2Vnb2VVSS1TZW1pYm9sZCcpO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGZvbnQtZGlzcGxheTogc3dhcDtcbiAgYXNjZW50LW92ZXJyaWRlOiA5MS44NzQ0JTtcbiAgZGVzY2VudC1vdmVycmlkZTogMjIuODc2JTtcbiAgc2l6ZS1hZGp1c3Q6IDEwNS40NDI5JTtcbn1cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJJbnRlciBGYWxsYmFjazogUm9ib3RvXCI7XG4gIHNyYzogbG9jYWwoJ1JvYm90byBNZWRpdW0nKSwgbG9jYWwoJ1JvYm90by1NZWRpdW0nKTtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNTAwO1xuICBmb250LWRpc3BsYXk6IHN3YXA7XG4gIGFzY2VudC1vdmVycmlkZTogOTAuMjA3NSU7XG4gIGRlc2NlbnQtb3ZlcnJpZGU6IDIyLjQ2MDklO1xuICBzaXplLWFkanVzdDogMTA3LjM5MTMlO1xufVxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkludGVyIEZhbGxiYWNrOiBVYnVudHVcIjtcbiAgc3JjOiBsb2NhbCgnVWJ1bnR1IE1lZGl1bScpLCBsb2NhbCgnVWJ1bnR1LU1lZGl1bScpO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGZvbnQtZGlzcGxheTogc3dhcDtcbiAgYXNjZW50LW92ZXJyaWRlOiA5My41NzczJTtcbiAgZGVzY2VudC1vdmVycmlkZTogMjMuMyU7XG4gIGxpbmUtZ2FwLW92ZXJyaWRlOiAwJTtcbiAgc2l6ZS1hZGp1c3Q6IDEwMy41MjQlO1xufVxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkludGVyIEZhbGxiYWNrOiBGaXJhIFNhbnNcIjtcbiAgc3JjOiBsb2NhbCgnRmlyYSBTYW5zIE1lZGl1bScpLCBsb2NhbCgnRmlyYVNhbnMtTWVkaXVtJyk7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgZm9udC1kaXNwbGF5OiBzd2FwO1xuICBhc2NlbnQtb3ZlcnJpZGU6IDkyLjE3MTclO1xuICBkZXNjZW50LW92ZXJyaWRlOiAyMi45NSU7XG4gIHNpemUtYWRqdXN0OiAxMDUuMTAyOCU7XG59XG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiSW50ZXIgRmFsbGJhY2s6IE5vdG8gU2Fuc1wiO1xuICBzcmM6IGxvY2FsKCdOb3RvIFNhbnMgTWVkaXVtJyksIGxvY2FsKCdOb3RvU2Fucy1NZWRpdW0nKTtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNTAwO1xuICBmb250LWRpc3BsYXk6IHN3YXA7XG4gIGFzY2VudC1vdmVycmlkZTogOTYuNzkwMyU7XG4gIGRlc2NlbnQtb3ZlcnJpZGU6IDI0LjElO1xuICBzaXplLWFkanVzdDogMTAwLjA4NzUlO1xufVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiSW50ZXIgRmFsbGJhY2s6IEhlbHZldGljYSBOZXVlXCI7XG4gIHNyYzogbG9jYWwoJ0hlbHZldGljYSBOZXVlIE1lZGl1bSBJdGFsaWMnKSwgbG9jYWwoJ0hlbHZldGljYU5ldWUtTWVkaXVtSXRhbGljJyk7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgZm9udC1kaXNwbGF5OiBzd2FwO1xuICBhc2NlbnQtb3ZlcnJpZGU6IDkyLjgxMjklO1xuICBkZXNjZW50LW92ZXJyaWRlOiAyMy4xMDk3JTtcbiAgbGluZS1nYXAtb3ZlcnJpZGU6IDAlO1xuICBzaXplLWFkanVzdDogMTA0LjM3NjclO1xufVxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkludGVyIEZhbGxiYWNrOiBTZWdvZSBVSVwiO1xuICBzcmM6IGxvY2FsKCdTZWdvZSBVSSBTZW1pYm9sZCBJdGFsaWMnKSwgbG9jYWwoJ1NlZ29lVUktU2VtaWJvbGRJdGFsaWMnKTtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xuICBmb250LXdlaWdodDogNTAwO1xuICBmb250LWRpc3BsYXk6IHN3YXA7XG4gIGFzY2VudC1vdmVycmlkZTogOTAuMzQ1MiU7XG4gIGRlc2NlbnQtb3ZlcnJpZGU6IDIyLjQ5NTIlO1xuICBsaW5lLWdhcC1vdmVycmlkZTogMCU7XG4gIHNpemUtYWRqdXN0OiAxMDcuMjI3NiU7XG59XG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiSW50ZXIgRmFsbGJhY2s6IFJvYm90b1wiO1xuICBzcmM6IGxvY2FsKCdSb2JvdG8gTWVkaXVtIEl0YWxpYycpLCBsb2NhbCgnUm9ib3RvLU1lZGl1bUl0YWxpYycpO1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGZvbnQtZGlzcGxheTogc3dhcDtcbiAgYXNjZW50LW92ZXJyaWRlOiA4Ny45MDg3JTtcbiAgZGVzY2VudC1vdmVycmlkZTogMjEuODg4NiU7XG4gIHNpemUtYWRqdXN0OiAxMTAuMTk5NiU7XG59XG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiSW50ZXIgRmFsbGJhY2s6IFVidW50dVwiO1xuICBzcmM6IGxvY2FsKCdVYnVudHUgTWVkaXVtIEl0YWxpYycpLCBsb2NhbCgnVWJ1bnR1LU1lZGl1bUl0YWxpYycpO1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGZvbnQtZGlzcGxheTogc3dhcDtcbiAgYXNjZW50LW92ZXJyaWRlOiA5MC42MTczJTtcbiAgZGVzY2VudC1vdmVycmlkZTogMjIuNTYzJTtcbiAgbGluZS1nYXAtb3ZlcnJpZGU6IDAlO1xuICBzaXplLWFkanVzdDogMTA2LjkwNTYlO1xufVxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkludGVyIEZhbGxiYWNrOiBGaXJhIFNhbnNcIjtcbiAgc3JjOiBsb2NhbCgnRmlyYSBTYW5zIE1lZGl1bSBJdGFsaWMnKSwgbG9jYWwoJ0ZpcmFTYW5zLU1lZGl1bUl0YWxpYycpO1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGZvbnQtZGlzcGxheTogc3dhcDtcbiAgYXNjZW50LW92ZXJyaWRlOiA5MC4yMTgxJTtcbiAgZGVzY2VudC1vdmVycmlkZTogMjIuNDYzNiU7XG4gIHNpemUtYWRqdXN0OiAxMDcuMzc4NyU7XG59XG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiSW50ZXIgRmFsbGJhY2s6IE5vdG8gU2Fuc1wiO1xuICBzcmM6IGxvY2FsKCdOb3RvIFNhbnMgTWVkaXVtIEl0YWxpYycpLCBsb2NhbCgnTm90b1NhbnMtTWVkaXVtSXRhbGljJyk7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgZm9udC1kaXNwbGF5OiBzd2FwO1xuICBhc2NlbnQtb3ZlcnJpZGU6IDkxLjAxNjUlO1xuICBkZXNjZW50LW92ZXJyaWRlOiAyMi42NjI0JTtcbiAgc2l6ZS1hZGp1c3Q6IDEwNi40MzY3JTtcbn1cblxuXG4vKiBGYWxsYmFjayBmb3IgSW50ZXIgc2VtaWJvbGQgKi9cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJJbnRlciBGYWxsYmFjazogSGVsdmV0aWNhIE5ldWVcIjtcbiAgc3JjOiBsb2NhbCgnSGVsdmV0aWNhIE5ldWUgQm9sZCcpLCBsb2NhbCgnSGVsdmV0aWNhTmV1ZS1Cb2xkJyk7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgZm9udC1kaXNwbGF5OiBzd2FwO1xuICBhc2NlbnQtb3ZlcnJpZGU6IDk1LjQyMjglO1xuICBkZXNjZW50LW92ZXJyaWRlOiAyMy43NTk1JTtcbiAgbGluZS1nYXAtb3ZlcnJpZGU6IDAlO1xuICBzaXplLWFkanVzdDogMTAxLjUyMTglO1xufVxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkludGVyIEZhbGxiYWNrOiBTZWdvZSBVSVwiO1xuICBzcmM6IGxvY2FsKCdTZWdvZSBVSSBCb2xkJyksIGxvY2FsKCdTZWdvZVVJLUJvbGQnKTtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNjAwO1xuICBmb250LWRpc3BsYXk6IHN3YXA7XG4gIGFzY2VudC1vdmVycmlkZTogOTQuNDQ4MyU7XG4gIGRlc2NlbnQtb3ZlcnJpZGU6IDIzLjUxNjklO1xuICBzaXplLWFkanVzdDogMTAyLjU2OTQlO1xufVxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkludGVyIEZhbGxiYWNrOiBSb2JvdG9cIjtcbiAgc3JjOiBsb2NhbCgnUm9ib3RvIEJvbGQnKSwgbG9jYWwoJ1JvYm90by1Cb2xkJyk7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgZm9udC1kaXNwbGF5OiBzd2FwO1xuICBhc2NlbnQtb3ZlcnJpZGU6IDg5Ljg4NiU7XG4gIGRlc2NlbnQtb3ZlcnJpZGU6IDIyLjM4MDklO1xuICBzaXplLWFkanVzdDogMTA3Ljc3NTQlO1xufVxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkludGVyIEZhbGxiYWNrOiBVYnVudHVcIjtcbiAgc3JjOiBsb2NhbCgnVWJ1bnR1IEJvbGQnKSwgbG9jYWwoJ1VidW50dS1Cb2xkJyk7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgZm9udC1kaXNwbGF5OiBzd2FwO1xuICBhc2NlbnQtb3ZlcnJpZGU6IDk1LjQyMjglO1xuICBkZXNjZW50LW92ZXJyaWRlOiAyMy43NTk1JTtcbiAgbGluZS1nYXAtb3ZlcnJpZGU6IDAlO1xuICBzaXplLWFkanVzdDogMTAxLjUyMTglO1xufVxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkludGVyIEZhbGxiYWNrOiBGaXJhIFNhbnNcIjtcbiAgc3JjOiBsb2NhbCgnRmlyYSBTYW5zIFNlbWlCb2xkJyksIGxvY2FsKCdGaXJhU2Fucy1TZW1pQm9sZCcpO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGZvbnQtZGlzcGxheTogc3dhcDtcbiAgYXNjZW50LW92ZXJyaWRlOiA5MS4yNDgxJTtcbiAgZGVzY2VudC1vdmVycmlkZTogMjIuNzIlO1xuICBzaXplLWFkanVzdDogMTA2LjE2NjYlO1xufVxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkludGVyIEZhbGxiYWNrOiBOb3RvIFNhbnNcIjtcbiAgc3JjOiBsb2NhbCgnTm90byBTYW5zIFNlbWlCb2xkJyksIGxvY2FsKCdOb3RvU2Fucy1TZW1pQm9sZCcpO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGZvbnQtZGlzcGxheTogc3dhcDtcbiAgYXNjZW50LW92ZXJyaWRlOiA5Ny44MDg0JTtcbiAgZGVzY2VudC1vdmVycmlkZTogMjQuMzUzNSU7XG4gIHNpemUtYWRqdXN0OiA5OS4wNDU3JTtcbn1cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJJbnRlciBGYWxsYmFjazogQXJpYWxcIjtcbiAgc3JjOiBsb2NhbCgnQXJpYWwgQm9sZCcpLCBsb2NhbCgnQXJpYWwtQm9sZE1UJyk7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgZm9udC1kaXNwbGF5OiBzd2FwO1xuICBhc2NlbnQtb3ZlcnJpZGU6IDk1LjQxOSU7XG4gIGRlc2NlbnQtb3ZlcnJpZGU6IDIzLjc1ODYlO1xuICBsaW5lLWdhcC1vdmVycmlkZTogMCU7XG4gIHNpemUtYWRqdXN0OiAxMDEuNTI1OSU7XG59XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJJbnRlciBGYWxsYmFjazogSGVsdmV0aWNhIE5ldWVcIjtcbiAgc3JjOiBsb2NhbCgnSGVsdmV0aWNhIE5ldWUgQm9sZCBJdGFsaWMnKSwgbG9jYWwoJ0hlbHZldGljYU5ldWUtQm9sZEl0YWxpYycpO1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGZvbnQtZGlzcGxheTogc3dhcDtcbiAgYXNjZW50LW92ZXJyaWRlOiA5NC45NTU2JTtcbiAgZGVzY2VudC1vdmVycmlkZTogMjMuNjQzMiU7XG4gIGxpbmUtZ2FwLW92ZXJyaWRlOiAwJTtcbiAgc2l6ZS1hZGp1c3Q6IDEwMi4wMjEzJTtcbn1cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJJbnRlciBGYWxsYmFjazogU2Vnb2UgVUlcIjtcbiAgc3JjOiBsb2NhbCgnU2Vnb2UgVUkgQm9sZCBJdGFsaWMnKSwgbG9jYWwoJ1NlZ29lVUktQm9sZEl0YWxpYycpO1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGZvbnQtZGlzcGxheTogc3dhcDtcbiAgYXNjZW50LW92ZXJyaWRlOiA5My40MDQ5JTtcbiAgZGVzY2VudC1vdmVycmlkZTogMjMuMjU3MSU7XG4gIHNpemUtYWRqdXN0OiAxMDMuNzE1MiU7XG59XG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiSW50ZXIgRmFsbGJhY2s6IFJvYm90b1wiO1xuICBzcmM6IGxvY2FsKCdSb2JvdG8gQm9sZCBJdGFsaWMnKSwgbG9jYWwoJ1JvYm90by1Cb2xkSXRhbGljJyk7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgZm9udC1kaXNwbGF5OiBzd2FwO1xuICBhc2NlbnQtb3ZlcnJpZGU6IDg3LjYyMTMlO1xuICBkZXNjZW50LW92ZXJyaWRlOiAyMS44MTclO1xuICBzaXplLWFkanVzdDogMTEwLjU2MTElO1xufVxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkludGVyIEZhbGxiYWNrOiBVYnVudHVcIjtcbiAgc3JjOiBsb2NhbCgnVWJ1bnR1IEJvbGQgSXRhbGljJyksIGxvY2FsKCdVYnVudHUtQm9sZEl0YWxpYycpO1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGZvbnQtZGlzcGxheTogc3dhcDtcbiAgYXNjZW50LW92ZXJyaWRlOiA5Mi4zODkzJTtcbiAgZGVzY2VudC1vdmVycmlkZTogMjMuMDA0MiU7XG4gIGxpbmUtZ2FwLW92ZXJyaWRlOiAwJTtcbiAgc2l6ZS1hZGp1c3Q6IDEwNC44NTUzJTtcbn1cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJJbnRlciBGYWxsYmFjazogRmlyYSBTYW5zXCI7XG4gIHNyYzogbG9jYWwoJ0ZpcmEgU2FucyBTZW1pQm9sZCBJdGFsaWMnKSwgbG9jYWwoJ0ZpcmFTYW5zLVNlbWlCb2xkSXRhbGljJyk7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgZm9udC1kaXNwbGF5OiBzd2FwO1xuICBhc2NlbnQtb3ZlcnJpZGU6IDg5LjIzMDYlO1xuICBkZXNjZW50LW92ZXJyaWRlOiAyMi4yMTc3JTtcbiAgc2l6ZS1hZGp1c3Q6IDEwOC41NjclO1xufVxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkludGVyIEZhbGxiYWNrOiBOb3RvIFNhbnNcIjtcbiAgc3JjOiBsb2NhbCgnTm90byBTYW5zIFNlbWlCb2xkIEl0YWxpYycpLCBsb2NhbCgnTm90b1NhbnMtU2VtaUJvbGRJdGFsaWMnKTtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xuICBmb250LXdlaWdodDogNjAwO1xuICBmb250LWRpc3BsYXk6IHN3YXA7XG4gIGFzY2VudC1vdmVycmlkZTogOTEuOTk0NCU7XG4gIGRlc2NlbnQtb3ZlcnJpZGU6IDIyLjkwNTklO1xuICBzaXplLWFkanVzdDogMTA1LjMwNTMlO1xufVxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkludGVyIEZhbGxiYWNrOiBBcmlhbFwiO1xuICBzcmM6IGxvY2FsKCdBcmlhbCBCb2xkIEl0YWxpYycpLCBsb2NhbCgnQXJpYWwtQm9sZEl0YWxpY01UJyk7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgZm9udC1kaXNwbGF5OiBzd2FwO1xuICBhc2NlbnQtb3ZlcnJpZGU6IDk0Ljc1NDQlO1xuICBkZXNjZW50LW92ZXJyaWRlOiAyMy41OTMxJTtcbiAgbGluZS1nYXAtb3ZlcnJpZGU6IDAlO1xuICBzaXplLWFkanVzdDogMTAyLjIzOCU7XG59XG4iLCI6cm9vdCwgW2NsYXNzKj1cImNwZC10aGVtZS1cIl0ge1xuICAtLWNwZC1zcGFjZS1zY2FsZTogNHB4O1xuICAtLWNwZC1zcGFjZS0weDogMDtcbiAgLS1jcGQtc3BhY2UtNng6IDI0cHg7XG4gIC0tY3BkLXNwYWNlLTEweDogNDBweDtcbiAgLS1jcGQtc3BhY2UtMTF4OiA0NHB4O1xuICAtLWNwZC1zcGFjZS0xMng6IDQ4cHg7XG4gIC0tY3BkLXNwYWNlLTE2eDogNjRweDtcbiAgLS1jcGQtc3BhY2UtMzZ4OiAxNDRweDtcbiAgLS1jcGQtc3BhY2UtNTZ4OiAyMjRweDtcbiAgLS1jcGQtYm9yZGVyLXdpZHRoLTE6IDFweDtcbiAgLS1jcGQtYm9yZGVyLXdpZHRoLTI6IDJweDtcbiAgLS1jcGQtYm9yZGVyLXdpZHRoLTQ6IDRweDtcbiAgLS1jcGQtYm9yZGVyLXdpZHRoLTAtNTogMC41cHg7XG4gIC0tY3BkLWZvbnQtZmFtaWx5LXNhbnM6IEludGVyLCBcIkludGVyIEZhbGxiYWNrOiBIZWx2ZXRpY2EgTmV1ZVwiLCBcIkludGVyIEZhbGxiYWNrOiBTZWdvZSBVSVwiLCBcIkludGVyIEZhbGxiYWNrOiBSb2JvdG9cIiwgXCJJbnRlciBGYWxsYmFjazogVWJ1bnR1XCIsIFwiSW50ZXIgRmFsbGJhY2s6IEZpcmEgU2Fuc1wiLCBcIkludGVyIEZhbGxiYWNrOiBOb3RvIFNhbnNcIiwgXCJJbnRlciBGYWxsYmFjazogQXJpYWxcIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBcIlNlZ29lIFVJXCIsIFJvYm90bywgVWJ1bnR1LCBcIkZpcmEgU2Fuc1wiLCBcIk5vdG8gU2Fuc1wiLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgLS1jcGQtZm9udC1mYW1pbHktbW9ubzogSW5jb25zb2xhdGEsIHVpLW1vbm9zcGFjZSwgbW9ub3NwYWNlO1xuICAtLWNwZC1mb250LXdlaWdodC1yZWd1bGFyOiA0MDA7XG4gIC0tY3BkLWZvbnQtd2VpZ2h0LW1lZGl1bTogNTAwO1xuICAtLWNwZC1mb250LXdlaWdodC1zZW1pYm9sZDogNjAwO1xuICAtLWNwZC1mb250LWxpbmUtaGVpZ2h0LW1pbmltdW06IDE7XG4gIC0tY3BkLWZvbnQtbGluZS1oZWlnaHQtdGlnaHQ6IDEuMjU7XG4gIC0tY3BkLWZvbnQtbGluZS1oZWlnaHQtcmVndWxhcjogMS41O1xuICAtLWNwZC1mb250LXNpemUtYm9keS14czogMC42ODc1cmVtO1xuICAtLWNwZC1mb250LXNpemUtYm9keS1zbTogMC44MTI1cmVtO1xuICAtLWNwZC1mb250LXNpemUtYm9keS1tZDogMC45Mzc1cmVtO1xuICAtLWNwZC1mb250LXNpemUtYm9keS1sZzogMS4wNjI1cmVtO1xuICAtLWNwZC1mb250LXNpemUtaGVhZGluZy1zbTogMS4yNXJlbTtcbiAgLS1jcGQtZm9udC1zaXplLWhlYWRpbmctbWQ6IDEuNXJlbTtcbiAgLS1jcGQtZm9udC1zaXplLWhlYWRpbmctbGc6IDEuNzVyZW07XG4gIC0tY3BkLWZvbnQtc2l6ZS1oZWFkaW5nLXhsOiAycmVtO1xuICAtLWNwZC1mb250LXNpemUtcm9vdDogMXJlbTtcbiAgLS1jcGQtZm9udC1sZXR0ZXItc3BhY2luZy1ib2R5LXhzOiAwLjAwNDhlbTtcbiAgLS1jcGQtZm9udC1sZXR0ZXItc3BhY2luZy1ib2R5LXNtOiAtMC4wMDMxZW07XG4gIC0tY3BkLWZvbnQtbGV0dGVyLXNwYWNpbmctYm9keS1tZDogLTAuMDA4OGVtO1xuICAtLWNwZC1mb250LWxldHRlci1zcGFjaW5nLWJvZHktbGc6IC0wLjAxMjhlbTtcbiAgLS1jcGQtZm9udC1sZXR0ZXItc3BhY2luZy1oZWFkaW5nLXNtOiAtMC4wMTY2ZW07XG4gIC0tY3BkLWZvbnQtbGV0dGVyLXNwYWNpbmctaGVhZGluZy1tZDogLTAuMDE5NWVtO1xuICAtLWNwZC1mb250LWxldHRlci1zcGFjaW5nLWhlYWRpbmctbGc6IC0wLjAyMDllbTtcbiAgLS1jcGQtZm9udC1sZXR0ZXItc3BhY2luZy1oZWFkaW5nLXhsOiAtMC4wMjE2ZW07XG4gIC0tY3BkLXNwYWNlLTAtNXg6IDJweDtcbiAgLS1jcGQtc3BhY2UtMXg6IHZhcigtLWNwZC1zcGFjZS1zY2FsZSk7XG4gIC0tY3BkLXNwYWNlLTEtNXg6IDZweDtcbiAgLS1jcGQtc3BhY2UtMng6IDhweDtcbiAgLS1jcGQtc3BhY2UtM3g6IDEycHg7XG4gIC0tY3BkLXNwYWNlLTR4OiAxNnB4O1xuICAtLWNwZC1zcGFjZS01eDogMjBweDtcbiAgLS1jcGQtc3BhY2UtN3g6IDI4cHg7XG4gIC0tY3BkLXNwYWNlLTh4OiAzMnB4O1xuICAtLWNwZC1zcGFjZS05eDogMzZweDtcbiAgLS1jcGQtc3BhY2UtMTN4OiA1MnB4O1xuICAtLWNwZC1zcGFjZS0xNHg6IDU2cHg7XG4gIC0tY3BkLXNwYWNlLTE1eDogNjBweDtcbiAgLS1jcGQtc3BhY2UtMjB4OiA4MHB4O1xuICAtLWNwZC1zcGFjZS0yNHg6IDk2cHg7XG4gIC0tY3BkLXNwYWNlLTI4eDogMTEycHg7XG4gIC0tY3BkLXNwYWNlLTMyeDogMTI4cHg7XG4gIC0tY3BkLXNwYWNlLTQweDogMTYwcHg7XG4gIC0tY3BkLXNwYWNlLTQ4eDogMTkycHg7XG4gIC0tY3BkLXNwYWNlLTY0eDogMjU2cHg7XG4gIC0tY3BkLWZvbnQtYm9keS14cy1yZWd1bGFyOiB2YXIoLS1jcGQtZm9udC13ZWlnaHQtcmVndWxhcikgdmFyKC0tY3BkLWZvbnQtc2l6ZS1ib2R5LXhzKS92YXIoLS1jcGQtZm9udC1saW5lLWhlaWdodC1yZWd1bGFyKSB2YXIoLS1jcGQtZm9udC1mYW1pbHktc2Fucyk7XG4gIC0tY3BkLWZvbnQtYm9keS14cy1tZWRpdW06IHZhcigtLWNwZC1mb250LXdlaWdodC1tZWRpdW0pIHZhcigtLWNwZC1mb250LXNpemUtYm9keS14cykvdmFyKC0tY3BkLWZvbnQtbGluZS1oZWlnaHQtcmVndWxhcikgdmFyKC0tY3BkLWZvbnQtZmFtaWx5LXNhbnMpO1xuICAtLWNwZC1mb250LWJvZHkteHMtc2VtaWJvbGQ6IHZhcigtLWNwZC1mb250LXdlaWdodC1zZW1pYm9sZCkgdmFyKC0tY3BkLWZvbnQtc2l6ZS1ib2R5LXhzKS92YXIoLS1jcGQtZm9udC1saW5lLWhlaWdodC1yZWd1bGFyKSB2YXIoLS1jcGQtZm9udC1mYW1pbHktc2Fucyk7XG4gIC0tY3BkLWZvbnQtYm9keS1zbS1yZWd1bGFyOiB2YXIoLS1jcGQtZm9udC13ZWlnaHQtcmVndWxhcikgdmFyKC0tY3BkLWZvbnQtc2l6ZS1ib2R5LXNtKS92YXIoLS1jcGQtZm9udC1saW5lLWhlaWdodC1yZWd1bGFyKSB2YXIoLS1jcGQtZm9udC1mYW1pbHktc2Fucyk7XG4gIC0tY3BkLWZvbnQtYm9keS1zbS1tZWRpdW06IHZhcigtLWNwZC1mb250LXdlaWdodC1tZWRpdW0pIHZhcigtLWNwZC1mb250LXNpemUtYm9keS1zbSkvdmFyKC0tY3BkLWZvbnQtbGluZS1oZWlnaHQtcmVndWxhcikgdmFyKC0tY3BkLWZvbnQtZmFtaWx5LXNhbnMpO1xuICAtLWNwZC1mb250LWJvZHktc20tc2VtaWJvbGQ6IHZhcigtLWNwZC1mb250LXdlaWdodC1zZW1pYm9sZCkgdmFyKC0tY3BkLWZvbnQtc2l6ZS1ib2R5LXNtKS92YXIoLS1jcGQtZm9udC1saW5lLWhlaWdodC1yZWd1bGFyKSB2YXIoLS1jcGQtZm9udC1mYW1pbHktc2Fucyk7XG4gIC0tY3BkLWZvbnQtYm9keS1tZC1yZWd1bGFyOiB2YXIoLS1jcGQtZm9udC13ZWlnaHQtcmVndWxhcikgdmFyKC0tY3BkLWZvbnQtc2l6ZS1ib2R5LW1kKS92YXIoLS1jcGQtZm9udC1saW5lLWhlaWdodC1yZWd1bGFyKSB2YXIoLS1jcGQtZm9udC1mYW1pbHktc2Fucyk7XG4gIC0tY3BkLWZvbnQtYm9keS1tZC1tZWRpdW06IHZhcigtLWNwZC1mb250LXdlaWdodC1tZWRpdW0pIHZhcigtLWNwZC1mb250LXNpemUtYm9keS1tZCkvdmFyKC0tY3BkLWZvbnQtbGluZS1oZWlnaHQtcmVndWxhcikgdmFyKC0tY3BkLWZvbnQtZmFtaWx5LXNhbnMpO1xuICAtLWNwZC1mb250LWJvZHktbWQtc2VtaWJvbGQ6IHZhcigtLWNwZC1mb250LXdlaWdodC1zZW1pYm9sZCkgdmFyKC0tY3BkLWZvbnQtc2l6ZS1ib2R5LW1kKS92YXIoLS1jcGQtZm9udC1saW5lLWhlaWdodC1yZWd1bGFyKSB2YXIoLS1jcGQtZm9udC1mYW1pbHktc2Fucyk7XG4gIC0tY3BkLWZvbnQtYm9keS1sZy1yZWd1bGFyOiB2YXIoLS1jcGQtZm9udC13ZWlnaHQtcmVndWxhcikgdmFyKC0tY3BkLWZvbnQtc2l6ZS1ib2R5LWxnKS92YXIoLS1jcGQtZm9udC1saW5lLWhlaWdodC1yZWd1bGFyKSB2YXIoLS1jcGQtZm9udC1mYW1pbHktc2Fucyk7XG4gIC0tY3BkLWZvbnQtYm9keS1sZy1tZWRpdW06IHZhcigtLWNwZC1mb250LXdlaWdodC1tZWRpdW0pIHZhcigtLWNwZC1mb250LXNpemUtYm9keS1sZykvdmFyKC0tY3BkLWZvbnQtbGluZS1oZWlnaHQtcmVndWxhcikgdmFyKC0tY3BkLWZvbnQtZmFtaWx5LXNhbnMpO1xuICAtLWNwZC1mb250LWJvZHktbGctc2VtaWJvbGQ6IHZhcigtLWNwZC1mb250LXdlaWdodC1zZW1pYm9sZCkgdmFyKC0tY3BkLWZvbnQtc2l6ZS1ib2R5LWxnKS92YXIoLS1jcGQtZm9udC1saW5lLWhlaWdodC1yZWd1bGFyKSB2YXIoLS1jcGQtZm9udC1mYW1pbHktc2Fucyk7XG4gIC0tY3BkLWZvbnQtaGVhZGluZy1zbS1yZWd1bGFyOiB2YXIoLS1jcGQtZm9udC13ZWlnaHQtcmVndWxhcikgdmFyKC0tY3BkLWZvbnQtc2l6ZS1oZWFkaW5nLXNtKS92YXIoLS1jcGQtZm9udC1saW5lLWhlaWdodC10aWdodCkgdmFyKC0tY3BkLWZvbnQtZmFtaWx5LXNhbnMpO1xuICAtLWNwZC1mb250LWhlYWRpbmctc20tbWVkaXVtOiB2YXIoLS1jcGQtZm9udC13ZWlnaHQtbWVkaXVtKSB2YXIoLS1jcGQtZm9udC1zaXplLWhlYWRpbmctc20pL3ZhcigtLWNwZC1mb250LWxpbmUtaGVpZ2h0LXRpZ2h0KSB2YXIoLS1jcGQtZm9udC1mYW1pbHktc2Fucyk7XG4gIC0tY3BkLWZvbnQtaGVhZGluZy1zbS1zZW1pYm9sZDogdmFyKC0tY3BkLWZvbnQtd2VpZ2h0LXNlbWlib2xkKSB2YXIoLS1jcGQtZm9udC1zaXplLWhlYWRpbmctc20pL3ZhcigtLWNwZC1mb250LWxpbmUtaGVpZ2h0LXRpZ2h0KSB2YXIoLS1jcGQtZm9udC1mYW1pbHktc2Fucyk7XG4gIC0tY3BkLWZvbnQtaGVhZGluZy1tZC1yZWd1bGFyOiB2YXIoLS1jcGQtZm9udC13ZWlnaHQtcmVndWxhcikgdmFyKC0tY3BkLWZvbnQtc2l6ZS1oZWFkaW5nLW1kKS92YXIoLS1jcGQtZm9udC1saW5lLWhlaWdodC10aWdodCkgdmFyKC0tY3BkLWZvbnQtZmFtaWx5LXNhbnMpO1xuICAtLWNwZC1mb250LWhlYWRpbmctbWQtc2VtaWJvbGQ6IHZhcigtLWNwZC1mb250LXdlaWdodC1zZW1pYm9sZCkgdmFyKC0tY3BkLWZvbnQtc2l6ZS1oZWFkaW5nLW1kKS92YXIoLS1jcGQtZm9udC1saW5lLWhlaWdodC10aWdodCkgdmFyKC0tY3BkLWZvbnQtZmFtaWx5LXNhbnMpO1xuICAtLWNwZC1mb250LWhlYWRpbmctbGctcmVndWxhcjogdmFyKC0tY3BkLWZvbnQtd2VpZ2h0LXJlZ3VsYXIpIHZhcigtLWNwZC1mb250LXNpemUtaGVhZGluZy1sZykvdmFyKC0tY3BkLWZvbnQtbGluZS1oZWlnaHQtdGlnaHQpIHZhcigtLWNwZC1mb250LWZhbWlseS1zYW5zKTtcbiAgLS1jcGQtZm9udC1oZWFkaW5nLWxnLXNlbWlib2xkOiB2YXIoLS1jcGQtZm9udC13ZWlnaHQtc2VtaWJvbGQpIHZhcigtLWNwZC1mb250LXNpemUtaGVhZGluZy1sZykvdmFyKC0tY3BkLWZvbnQtbGluZS1oZWlnaHQtdGlnaHQpIHZhcigtLWNwZC1mb250LWZhbWlseS1zYW5zKTtcbiAgLS1jcGQtZm9udC1oZWFkaW5nLXhsLXJlZ3VsYXI6IHZhcigtLWNwZC1mb250LXdlaWdodC1yZWd1bGFyKSB2YXIoLS1jcGQtZm9udC1zaXplLWhlYWRpbmcteGwpL3ZhcigtLWNwZC1mb250LWxpbmUtaGVpZ2h0LXRpZ2h0KSB2YXIoLS1jcGQtZm9udC1mYW1pbHktc2Fucyk7XG4gIC0tY3BkLWZvbnQtaGVhZGluZy14bC1zZW1pYm9sZDogdmFyKC0tY3BkLWZvbnQtd2VpZ2h0LXNlbWlib2xkKSB2YXIoLS1jcGQtZm9udC1zaXplLWhlYWRpbmcteGwpL3ZhcigtLWNwZC1mb250LWxpbmUtaGVpZ2h0LXRpZ2h0KSB2YXIoLS1jcGQtZm9udC1mYW1pbHktc2Fucyk7XG59XG4iLCI6cm9vdCwgW2NsYXNzKj1cImNwZC10aGVtZS1cIl0ge1xuICAtLWNwZC1jb2xvci10ZXh0LXByaW1hcnk6IHZhcigtLWNwZC1jb2xvci1ncmF5LTE0MDApO1xuICAtLWNwZC1jb2xvci10ZXh0LXNlY29uZGFyeTogdmFyKC0tY3BkLWNvbG9yLWdyYXktOTAwKTtcbiAgLS1jcGQtY29sb3ItdGV4dC1kaXNhYmxlZDogdmFyKC0tY3BkLWNvbG9yLWdyYXktODAwKTtcbiAgLS1jcGQtY29sb3ItdGV4dC1hY3Rpb24tcHJpbWFyeTogdmFyKC0tY3BkLWNvbG9yLWdyYXktMTQwMCk7XG4gIC0tY3BkLWNvbG9yLXRleHQtYWN0aW9uLWFjY2VudDogdmFyKC0tY3BkLWNvbG9yLWdyZWVuLTkwMCk7XG4gIC0tY3BkLWNvbG9yLXRleHQtbGluay1leHRlcm5hbDogdmFyKC0tY3BkLWNvbG9yLWJsdWUtOTAwKTtcbiAgLS1jcGQtY29sb3ItdGV4dC1jcml0aWNhbC1wcmltYXJ5OiB2YXIoLS1jcGQtY29sb3ItcmVkLTkwMCk7XG4gIC0tY3BkLWNvbG9yLXRleHQtc3VjY2Vzcy1wcmltYXJ5OiB2YXIoLS1jcGQtY29sb3ItZ3JlZW4tOTAwKTtcbiAgLS1jcGQtY29sb3ItdGV4dC1pbmZvLXByaW1hcnk6IHZhcigtLWNwZC1jb2xvci1ibHVlLTkwMCk7XG4gIC0tY3BkLWNvbG9yLXRleHQtb24tc29saWQtcHJpbWFyeTogdmFyKC0tY3BkLWNvbG9yLXRoZW1lLWJnKTtcbiAgLS1jcGQtY29sb3ItdGV4dC1kZWNvcmF0aXZlLTE6IHZhcigtLWNwZC1jb2xvci1saW1lLTExMDApO1xuICAtLWNwZC1jb2xvci10ZXh0LWRlY29yYXRpdmUtMjogdmFyKC0tY3BkLWNvbG9yLWN5YW4tMTEwMCk7XG4gIC0tY3BkLWNvbG9yLXRleHQtZGVjb3JhdGl2ZS0zOiB2YXIoLS1jcGQtY29sb3ItZnVjaHNpYS0xMTAwKTtcbiAgLS1jcGQtY29sb3ItdGV4dC1kZWNvcmF0aXZlLTQ6IHZhcigtLWNwZC1jb2xvci1wdXJwbGUtMTEwMCk7XG4gIC0tY3BkLWNvbG9yLXRleHQtZGVjb3JhdGl2ZS01OiB2YXIoLS1jcGQtY29sb3ItcGluay0xMTAwKTtcbiAgLS1jcGQtY29sb3ItdGV4dC1kZWNvcmF0aXZlLTY6IHZhcigtLWNwZC1jb2xvci1vcmFuZ2UtMTEwMCk7XG4gIC0tY3BkLWNvbG9yLWJnLXN1YnRsZS1wcmltYXJ5OiB2YXIoLS1jcGQtY29sb3ItZ3JheS00MDApO1xuICAtLWNwZC1jb2xvci1iZy1zdWJ0bGUtc2Vjb25kYXJ5OiB2YXIoLS1jcGQtY29sb3ItZ3JheS0zMDApO1xuICAtLWNwZC1jb2xvci1iZy1jYW52YXMtZGVmYXVsdDogdmFyKC0tY3BkLWNvbG9yLXRoZW1lLWJnKTtcbiAgLS1jcGQtY29sb3ItYmctY2FudmFzLWRpc2FibGVkOiB2YXIoLS1jcGQtY29sb3ItZ3JheS0yMDApO1xuICAtLWNwZC1jb2xvci1iZy1hY3Rpb24tcHJpbWFyeS1yZXN0OiB2YXIoLS1jcGQtY29sb3ItZ3JheS0xNDAwKTtcbiAgLS1jcGQtY29sb3ItYmctYWN0aW9uLXByaW1hcnktaG92ZXJlZDogdmFyKC0tY3BkLWNvbG9yLWdyYXktMTIwMCk7XG4gIC0tY3BkLWNvbG9yLWJnLWFjdGlvbi1wcmltYXJ5LXByZXNzZWQ6IHZhcigtLWNwZC1jb2xvci1ncmF5LTExMDApO1xuICAtLWNwZC1jb2xvci1iZy1hY3Rpb24tcHJpbWFyeS1kaXNhYmxlZDogdmFyKC0tY3BkLWNvbG9yLWdyYXktNzAwKTtcbiAgLS1jcGQtY29sb3ItYmctYWN0aW9uLXNlY29uZGFyeS1yZXN0OiB2YXIoLS1jcGQtY29sb3ItdGhlbWUtYmcpO1xuICAtLWNwZC1jb2xvci1iZy1hY3Rpb24tc2Vjb25kYXJ5LWhvdmVyZWQ6IHZhcigtLWNwZC1jb2xvci1hbHBoYS1ncmF5LTIwMCk7XG4gIC0tY3BkLWNvbG9yLWJnLWFjdGlvbi1zZWNvbmRhcnktcHJlc3NlZDogdmFyKC0tY3BkLWNvbG9yLWFscGhhLWdyYXktMzAwKTtcbiAgLS1jcGQtY29sb3ItYmctY3JpdGljYWwtcHJpbWFyeTogdmFyKC0tY3BkLWNvbG9yLXJlZC05MDApO1xuICAtLWNwZC1jb2xvci1iZy1jcml0aWNhbC1ob3ZlcmVkOiB2YXIoLS1jcGQtY29sb3ItcmVkLTEwMDApO1xuICAtLWNwZC1jb2xvci1iZy1jcml0aWNhbC1zdWJ0bGU6IHZhcigtLWNwZC1jb2xvci1yZWQtMjAwKTtcbiAgLS1jcGQtY29sb3ItYmctY3JpdGljYWwtc3VidGxlLWhvdmVyZWQ6IHZhcigtLWNwZC1jb2xvci1yZWQtMzAwKTtcbiAgLS1jcGQtY29sb3ItYmctc3VjY2Vzcy1zdWJ0bGU6IHZhcigtLWNwZC1jb2xvci1ncmVlbi0yMDApO1xuICAtLWNwZC1jb2xvci1iZy1pbmZvLXN1YnRsZTogdmFyKC0tY3BkLWNvbG9yLWJsdWUtMjAwKTtcbiAgLS1jcGQtY29sb3ItYmctZGVjb3JhdGl2ZS0xOiB2YXIoLS1jcGQtY29sb3ItbGltZS0zMDApO1xuICAtLWNwZC1jb2xvci1iZy1kZWNvcmF0aXZlLTI6IHZhcigtLWNwZC1jb2xvci1jeWFuLTMwMCk7XG4gIC0tY3BkLWNvbG9yLWJnLWRlY29yYXRpdmUtMzogdmFyKC0tY3BkLWNvbG9yLWZ1Y2hzaWEtMzAwKTtcbiAgLS1jcGQtY29sb3ItYmctZGVjb3JhdGl2ZS00OiB2YXIoLS1jcGQtY29sb3ItcHVycGxlLTMwMCk7XG4gIC0tY3BkLWNvbG9yLWJnLWRlY29yYXRpdmUtNTogdmFyKC0tY3BkLWNvbG9yLXBpbmstMzAwKTtcbiAgLS1jcGQtY29sb3ItYmctZGVjb3JhdGl2ZS02OiB2YXIoLS1jcGQtY29sb3Itb3JhbmdlLTMwMCk7XG4gIC0tY3BkLWNvbG9yLWJnLWFjY2VudC1yZXN0OiB2YXIoLS1jcGQtY29sb3ItZ3JlZW4tOTAwKTtcbiAgLS1jcGQtY29sb3ItYmctYWNjZW50LWhvdmVyZWQ6IHZhcigtLWNwZC1jb2xvci1ncmVlbi0xMDAwKTtcbiAgLS1jcGQtY29sb3ItYmctYWNjZW50LXByZXNzZWQ6IHZhcigtLWNwZC1jb2xvci1ncmVlbi0xMTAwKTtcbiAgLS1jcGQtY29sb3ItYm9yZGVyLWRpc2FibGVkOiB2YXIoLS1jcGQtY29sb3ItZ3JheS01MDApO1xuICAtLWNwZC1jb2xvci1ib3JkZXItZm9jdXNlZDogdmFyKC0tY3BkLWNvbG9yLWJsdWUtOTAwKTtcbiAgLS1jcGQtY29sb3ItYm9yZGVyLWludGVyYWN0aXZlLXByaW1hcnk6IHZhcigtLWNwZC1jb2xvci1ncmF5LTgwMCk7XG4gIC0tY3BkLWNvbG9yLWJvcmRlci1pbnRlcmFjdGl2ZS1zZWNvbmRhcnk6IHZhcigtLWNwZC1jb2xvci1ncmF5LTYwMCk7XG4gIC0tY3BkLWNvbG9yLWJvcmRlci1pbnRlcmFjdGl2ZS1ob3ZlcmVkOiB2YXIoLS1jcGQtY29sb3ItZ3JheS0xMTAwKTtcbiAgLS1jcGQtY29sb3ItYm9yZGVyLWNyaXRpY2FsLXByaW1hcnk6IHZhcigtLWNwZC1jb2xvci1yZWQtOTAwKTtcbiAgLS1jcGQtY29sb3ItYm9yZGVyLWNyaXRpY2FsLWhvdmVyZWQ6IHZhcigtLWNwZC1jb2xvci1yZWQtMTAwMCk7XG4gIC0tY3BkLWNvbG9yLWJvcmRlci1jcml0aWNhbC1zdWJ0bGU6IHZhcigtLWNwZC1jb2xvci1yZWQtNTAwKTtcbiAgLS1jcGQtY29sb3ItYm9yZGVyLXN1Y2Nlc3Mtc3VidGxlOiB2YXIoLS1jcGQtY29sb3ItZ3JlZW4tNTAwKTtcbiAgLS1jcGQtY29sb3ItYm9yZGVyLWluZm8tc3VidGxlOiB2YXIoLS1jcGQtY29sb3ItYmx1ZS01MDApO1xuICAtLWNwZC1jb2xvci1pY29uLXByaW1hcnk6IHZhcigtLWNwZC1jb2xvci1ncmF5LTE0MDApO1xuICAtLWNwZC1jb2xvci1pY29uLXNlY29uZGFyeTogdmFyKC0tY3BkLWNvbG9yLWdyYXktOTAwKTtcbiAgLS1jcGQtY29sb3ItaWNvbi10ZXJ0aWFyeTogdmFyKC0tY3BkLWNvbG9yLWdyYXktODAwKTtcbiAgLS1jcGQtY29sb3ItaWNvbi1xdWF0ZXJuYXJ5OiB2YXIoLS1jcGQtY29sb3ItZ3JheS03MDApO1xuICAtLWNwZC1jb2xvci1pY29uLWRpc2FibGVkOiB2YXIoLS1jcGQtY29sb3ItZ3JheS03MDApO1xuICAtLWNwZC1jb2xvci1pY29uLXByaW1hcnktYWxwaGE6IHZhcigtLWNwZC1jb2xvci1hbHBoYS1ncmF5LTE0MDApO1xuICAtLWNwZC1jb2xvci1pY29uLXNlY29uZGFyeS1hbHBoYTogdmFyKC0tY3BkLWNvbG9yLWFscGhhLWdyYXktOTAwKTtcbiAgLS1jcGQtY29sb3ItaWNvbi10ZXJ0aWFyeS1hbHBoYTogdmFyKC0tY3BkLWNvbG9yLWFscGhhLWdyYXktODAwKTtcbiAgLS1jcGQtY29sb3ItaWNvbi1xdWF0ZXJuYXJ5LWFscGhhOiB2YXIoLS1jcGQtY29sb3ItYWxwaGEtZ3JheS03MDApO1xuICAtLWNwZC1jb2xvci1pY29uLWFjY2VudC10ZXJ0aWFyeTogdmFyKC0tY3BkLWNvbG9yLWdyZWVuLTgwMCk7XG4gIC0tY3BkLWNvbG9yLWljb24tYWNjZW50LXByaW1hcnk6IHZhcigtLWNwZC1jb2xvci1ncmVlbi05MDApO1xuICAtLWNwZC1jb2xvci1pY29uLWNyaXRpY2FsLXByaW1hcnk6IHZhcigtLWNwZC1jb2xvci1yZWQtOTAwKTtcbiAgLS1jcGQtY29sb3ItaWNvbi1zdWNjZXNzLXByaW1hcnk6IHZhcigtLWNwZC1jb2xvci1ncmVlbi05MDApO1xuICAtLWNwZC1jb2xvci1pY29uLWluZm8tcHJpbWFyeTogdmFyKC0tY3BkLWNvbG9yLWJsdWUtOTAwKTtcbiAgLS1jcGQtY29sb3ItaWNvbi1vbi1zb2xpZC1wcmltYXJ5OiB2YXIoLS1jcGQtY29sb3ItdGhlbWUtYmcpO1xufVxuIiwiLmNwZC10aGVtZS1saWdodC5jcGQtdGhlbWUtbGlnaHQge1xuICAtLWNwZC1jb2xvci10aGVtZS1iZzogI2ZmZmZmZjtcbiAgLS1jcGQtY29sb3ItZ3JheS0xMDA6ICNmYmZjZmQ7XG4gIC0tY3BkLWNvbG9yLWdyYXktMjAwOiAjZjdmOWZhO1xuICAtLWNwZC1jb2xvci1ncmF5LTMwMDogI2YwZjJmNTtcbiAgLS1jcGQtY29sb3ItZ3JheS00MDA6ICNlMWU2ZWM7XG4gIC0tY3BkLWNvbG9yLWdyYXktNTAwOiAjY2RkM2RhO1xuICAtLWNwZC1jb2xvci1ncmF5LTYwMDogI2JkYzRjYztcbiAgLS1jcGQtY29sb3ItZ3JheS03MDA6ICNhNmFkYjc7XG4gIC0tY3BkLWNvbG9yLWdyYXktODAwOiAjODE4YTk1O1xuICAtLWNwZC1jb2xvci1ncmF5LTkwMDogIzY1NmQ3NztcbiAgLS1jcGQtY29sb3ItZ3JheS0xMDAwOiAjNTk1ZTY3O1xuICAtLWNwZC1jb2xvci1ncmF5LTExMDA6ICM0YzUxNTg7XG4gIC0tY3BkLWNvbG9yLWdyYXktMTIwMDogIzNjNDA0NTtcbiAgLS1jcGQtY29sb3ItZ3JheS0xMzAwOiAjMmIyZDMyO1xuICAtLWNwZC1jb2xvci1ncmF5LTE0MDA6ICMxYjFkMjI7XG4gIC0tY3BkLWNvbG9yLXJlZC0xMDA6ICNmZmZhZjk7XG4gIC0tY3BkLWNvbG9yLXJlZC0yMDA6ICNmZmY3ZjY7XG4gIC0tY3BkLWNvbG9yLXJlZC0zMDA6ICNmZmVmZWM7XG4gIC0tY3BkLWNvbG9yLXJlZC00MDA6ICNmZmRmZGE7XG4gIC0tY3BkLWNvbG9yLXJlZC01MDA6ICNmZmM1YmM7XG4gIC0tY3BkLWNvbG9yLXJlZC02MDA6ICNmZmFmYTU7XG4gIC0tY3BkLWNvbG9yLXJlZC03MDA6ICNmZjhjODE7XG4gIC0tY3BkLWNvbG9yLXJlZC04MDA6ICNmZjNkM2Q7XG4gIC0tY3BkLWNvbG9yLXJlZC05MDA6ICNkNTE5Mjg7XG4gIC0tY3BkLWNvbG9yLXJlZC0xMDAwOiAjYmMwZjIyO1xuICAtLWNwZC1jb2xvci1yZWQtMTEwMDogI2E0MDQxZDtcbiAgLS1jcGQtY29sb3ItcmVkLTEyMDA6ICM4NTAwMDY7XG4gIC0tY3BkLWNvbG9yLXJlZC0xMzAwOiAjNjIwMDAwO1xuICAtLWNwZC1jb2xvci1yZWQtMTQwMDogIzQ1MDAwMDtcbiAgLS1jcGQtY29sb3Itb3JhbmdlLTEwMDogI2ZmZmFmNztcbiAgLS1jcGQtY29sb3Itb3JhbmdlLTIwMDogI2ZmZjZlZjtcbiAgLS1jcGQtY29sb3Itb3JhbmdlLTMwMDogI2ZmZWZlNDtcbiAgLS1jcGQtY29sb3Itb3JhbmdlLTQwMDogI2ZmZGZjODtcbiAgLS1jcGQtY29sb3Itb3JhbmdlLTUwMDogI2ZmYzhhMTtcbiAgLS1jcGQtY29sb3Itb3JhbmdlLTYwMDogI2ZkYjM3YztcbiAgLS1jcGQtY29sb3Itb3JhbmdlLTcwMDogI2Y4OTQ0MDtcbiAgLS1jcGQtY29sb3Itb3JhbmdlLTgwMDogI2RjNjcwMDtcbiAgLS1jcGQtY29sb3Itb3JhbmdlLTkwMDogI2JjNDUwMDtcbiAgLS1jcGQtY29sb3Itb3JhbmdlLTEwMDA6ICNhYzMzMDA7XG4gIC0tY3BkLWNvbG9yLW9yYW5nZS0xMTAwOiAjOWIyMjAwO1xuICAtLWNwZC1jb2xvci1vcmFuZ2UtMTIwMDogIzg1MDAwMDtcbiAgLS1jcGQtY29sb3Itb3JhbmdlLTEzMDA6ICM2MjAwMDA7XG4gIC0tY3BkLWNvbG9yLW9yYW5nZS0xNDAwOiAjNDUwMDAwO1xuICAtLWNwZC1jb2xvci15ZWxsb3ctMTAwOiAjZmZmY2YwO1xuICAtLWNwZC1jb2xvci15ZWxsb3ctMjAwOiAjZmZmOGUwO1xuICAtLWNwZC1jb2xvci15ZWxsb3ctMzAwOiAjZmZmMmMxO1xuICAtLWNwZC1jb2xvci15ZWxsb3ctNDAwOiAjZmZlNDg0O1xuICAtLWNwZC1jb2xvci15ZWxsb3ctNTAwOiAjZmJjZTAwO1xuICAtLWNwZC1jb2xvci15ZWxsb3ctNjAwOiAjZjFiZDAwO1xuICAtLWNwZC1jb2xvci15ZWxsb3ctNzAwOiAjZGVhMjAwO1xuICAtLWNwZC1jb2xvci15ZWxsb3ctODAwOiAjYmU3YTAwO1xuICAtLWNwZC1jb2xvci15ZWxsb3ctOTAwOiAjOWY1YjAwO1xuICAtLWNwZC1jb2xvci15ZWxsb3ctMTAwMDogIzhmNGQwMDtcbiAgLS1jcGQtY29sb3IteWVsbG93LTExMDA6ICM4MDNmMDA7XG4gIC0tY3BkLWNvbG9yLXllbGxvdy0xMjAwOiAjNjkyZTAwO1xuICAtLWNwZC1jb2xvci15ZWxsb3ctMTMwMDogIzU0MWEwMDtcbiAgLS1jcGQtY29sb3IteWVsbG93LTE0MDA6ICM0MTA2MDA7XG4gIC0tY3BkLWNvbG9yLWxpbWUtMTAwOiAjZjhmZGY2O1xuICAtLWNwZC1jb2xvci1saW1lLTIwMDogI2YxZmNlZTtcbiAgLS1jcGQtY29sb3ItbGltZS0zMDA6ICNlMGY4ZDk7XG4gIC0tY3BkLWNvbG9yLWxpbWUtNDAwOiAjYzhmMWJhO1xuICAtLWNwZC1jb2xvci1saW1lLTUwMDogIzk5ZTU3ZTtcbiAgLS1jcGQtY29sb3ItbGltZS02MDA6ICM3NmRiNGM7XG4gIC0tY3BkLWNvbG9yLWxpbWUtNzAwOiAjNTRjNDI0O1xuICAtLWNwZC1jb2xvci1saW1lLTgwMDogIzM1OWQxODtcbiAgLS1jcGQtY29sb3ItbGltZS05MDA6ICMxOTdkMGM7XG4gIC0tY3BkLWNvbG9yLWxpbWUtMTAwMDogIzAwNmUwMDtcbiAgLS1jcGQtY29sb3ItbGltZS0xMTAwOiAjMDA1ZjAwO1xuICAtLWNwZC1jb2xvci1saW1lLTEyMDA6ICMwMDRiMDA7XG4gIC0tY3BkLWNvbG9yLWxpbWUtMTMwMDogIzAwMzYwMDtcbiAgLS1jcGQtY29sb3ItbGltZS0xNDAwOiAjMDAyNDAwO1xuICAtLWNwZC1jb2xvci1ncmVlbi0xMDA6ICNmOGZkZmI7XG4gIC0tY3BkLWNvbG9yLWdyZWVuLTIwMDogI2YxZmJmNjtcbiAgLS1jcGQtY29sb3ItZ3JlZW4tMzAwOiAjZTNmN2VkO1xuICAtLWNwZC1jb2xvci1ncmVlbi00MDA6ICNjNmVlZGI7XG4gIC0tY3BkLWNvbG9yLWdyZWVuLTUwMDogIzk4ZTFjMTtcbiAgLS1jcGQtY29sb3ItZ3JlZW4tNjAwOiAjNzFkN2FlO1xuICAtLWNwZC1jb2xvci1ncmVlbi03MDA6ICMwYmM0OTE7XG4gIC0tY3BkLWNvbG9yLWdyZWVuLTgwMDogIzAwOWI3ODtcbiAgLS1jcGQtY29sb3ItZ3JlZW4tOTAwOiAjMDA3YTYxO1xuICAtLWNwZC1jb2xvci1ncmVlbi0xMDAwOiAjMDA2YjUyO1xuICAtLWNwZC1jb2xvci1ncmVlbi0xMTAwOiAjMDA1YzQ1O1xuICAtLWNwZC1jb2xvci1ncmVlbi0xMjAwOiAjMDA0OTMzO1xuICAtLWNwZC1jb2xvci1ncmVlbi0xMzAwOiAjMDAzNDIwO1xuICAtLWNwZC1jb2xvci1ncmVlbi0xNDAwOiAjMDAyMzExO1xuICAtLWNwZC1jb2xvci1jeWFuLTEwMDogI2Y4ZmRmZDtcbiAgLS1jcGQtY29sb3ItY3lhbi0yMDA6ICNmMWZhZmI7XG4gIC0tY3BkLWNvbG9yLWN5YW4tMzAwOiAjZTNmNWY4O1xuICAtLWNwZC1jb2xvci1jeWFuLTQwMDogI2M3ZWNmMDtcbiAgLS1jcGQtY29sb3ItY3lhbi01MDA6ICM5YmRkZTU7XG4gIC0tY3BkLWNvbG9yLWN5YW4tNjAwOiAjNzZkMWRkO1xuICAtLWNwZC1jb2xvci1jeWFuLTcwMDogIzE1YmVjZjtcbiAgLS1jcGQtY29sb3ItY3lhbi04MDA6ICMwMDk0YzA7XG4gIC0tY3BkLWNvbG9yLWN5YW4tOTAwOiAjMDA3MmFjO1xuICAtLWNwZC1jb2xvci1jeWFuLTEwMDA6ICMwMDYyOWM7XG4gIC0tY3BkLWNvbG9yLWN5YW4tMTEwMDogIzAwNTQ4YztcbiAgLS1jcGQtY29sb3ItY3lhbi0xMjAwOiAjMDA0MDc3O1xuICAtLWNwZC1jb2xvci1jeWFuLTEzMDA6ICMwMDJiNjE7XG4gIC0tY3BkLWNvbG9yLWN5YW4tMTQwMDogIzAwMTk0ZjtcbiAgLS1jcGQtY29sb3ItYmx1ZS0xMDA6ICNmOWZjZmY7XG4gIC0tY3BkLWNvbG9yLWJsdWUtMjAwOiAjZjRmOGZmO1xuICAtLWNwZC1jb2xvci1ibHVlLTMwMDogI2U5ZjJmZjtcbiAgLS1jcGQtY29sb3ItYmx1ZS00MDA6ICNkOGU3ZmU7XG4gIC0tY3BkLWNvbG9yLWJsdWUtNTAwOiAjYmFkNWZjO1xuICAtLWNwZC1jb2xvci1ibHVlLTYwMDogI2EzYzZmYTtcbiAgLS1jcGQtY29sb3ItYmx1ZS03MDA6ICM3ZWFmZjY7XG4gIC0tY3BkLWNvbG9yLWJsdWUtODAwOiAjNDA4OGVlO1xuICAtLWNwZC1jb2xvci1ibHVlLTkwMDogIzA0NjdkZDtcbiAgLS1jcGQtY29sb3ItYmx1ZS0xMDAwOiAjMDU1OGM3O1xuICAtLWNwZC1jb2xvci1ibHVlLTExMDA6ICMwNjRhYjE7XG4gIC0tY3BkLWNvbG9yLWJsdWUtMTIwMDogIzA0Mzg5NDtcbiAgLS1jcGQtY29sb3ItYmx1ZS0xMzAwOiAjMDEyNDc4O1xuICAtLWNwZC1jb2xvci1ibHVlLTE0MDA6ICMwMDBlNjU7XG4gIC0tY3BkLWNvbG9yLXB1cnBsZS0xMDA6ICNmYmZiZmY7XG4gIC0tY3BkLWNvbG9yLXB1cnBsZS0yMDA6ICNmOGY3ZmY7XG4gIC0tY3BkLWNvbG9yLXB1cnBsZS0zMDA6ICNmMWVmZmY7XG4gIC0tY3BkLWNvbG9yLXB1cnBsZS00MDA6ICNlNmUyZmY7XG4gIC0tY3BkLWNvbG9yLXB1cnBsZS01MDA6ICNkNGNkZmY7XG4gIC0tY3BkLWNvbG9yLXB1cnBsZS02MDA6ICNjNWJiZmY7XG4gIC0tY3BkLWNvbG9yLXB1cnBsZS03MDA6ICNiMWEwZmY7XG4gIC0tY3BkLWNvbG9yLXB1cnBsZS04MDA6ICM5MjcxZmQ7XG4gIC0tY3BkLWNvbG9yLXB1cnBsZS05MDA6ICM3YTQ3ZjE7XG4gIC0tY3BkLWNvbG9yLXB1cnBsZS0xMDAwOiAjNmIzN2RlO1xuICAtLWNwZC1jb2xvci1wdXJwbGUtMTEwMDogIzVkMjZjZDtcbiAgLS1jcGQtY29sb3ItcHVycGxlLTEyMDA6ICM0YzA1YjU7XG4gIC0tY3BkLWNvbG9yLXB1cnBsZS0xMzAwOiAjMzMwMDhkO1xuICAtLWNwZC1jb2xvci1wdXJwbGUtMTQwMDogIzIwMDA2NjtcbiAgLS1jcGQtY29sb3ItZnVjaHNpYS0xMDA6ICNmZWZhZmU7XG4gIC0tY3BkLWNvbG9yLWZ1Y2hzaWEtMjAwOiAjZmNmNWZkO1xuICAtLWNwZC1jb2xvci1mdWNoc2lhLTMwMDogI2ZhZWVmYjtcbiAgLS1jcGQtY29sb3ItZnVjaHNpYS00MDA6ICNmNmRmZjc7XG4gIC0tY3BkLWNvbG9yLWZ1Y2hzaWEtNTAwOiAjZWRjNmYwO1xuICAtLWNwZC1jb2xvci1mdWNoc2lhLTYwMDogI2U3YjJlYTtcbiAgLS1jcGQtY29sb3ItZnVjaHNpYS03MDA6ICNkYjkzZTE7XG4gIC0tY3BkLWNvbG9yLWZ1Y2hzaWEtODAwOiAjYzg1ZWQxO1xuICAtLWNwZC1jb2xvci1mdWNoc2lhLTkwMDogI2FkMzNiZDtcbiAgLS1jcGQtY29sb3ItZnVjaHNpYS0xMDAwOiAjOTcyYWFhO1xuICAtLWNwZC1jb2xvci1mdWNoc2lhLTExMDA6ICM4MjIxOTg7XG4gIC0tY3BkLWNvbG9yLWZ1Y2hzaWEtMTIwMDogIzY3MTQ4MTtcbiAgLS1jcGQtY29sb3ItZnVjaHNpYS0xMzAwOiAjNGUwMDY4O1xuICAtLWNwZC1jb2xvci1mdWNoc2lhLTE0MDA6ICMzNDAwNGM7XG4gIC0tY3BkLWNvbG9yLXBpbmstMTAwOiAjZmZmYWZiO1xuICAtLWNwZC1jb2xvci1waW5rLTIwMDogI2ZmZjVmNztcbiAgLS1jcGQtY29sb3ItcGluay0zMDA6ICNmZmVjZjA7XG4gIC0tY3BkLWNvbG9yLXBpbmstNDAwOiAjZmZkZWU1O1xuICAtLWNwZC1jb2xvci1waW5rLTUwMDogI2ZmYzJjZjtcbiAgLS1jcGQtY29sb3ItcGluay02MDA6ICNmZmFkYzA7XG4gIC0tY3BkLWNvbG9yLXBpbmstNzAwOiAjZmY4OGE2O1xuICAtLWNwZC1jb2xvci1waW5rLTgwMDogI2Y3NDA3ZDtcbiAgLS1jcGQtY29sb3ItcGluay05MDA6ICNkMjBjNjU7XG4gIC0tY3BkLWNvbG9yLXBpbmstMTAwMDogI2I4MGE1YjtcbiAgLS1jcGQtY29sb3ItcGluay0xMTAwOiAjOWYwODUwO1xuICAtLWNwZC1jb2xvci1waW5rLTEyMDA6ICM3ZTA2NDI7XG4gIC0tY3BkLWNvbG9yLXBpbmstMTMwMDogIzVmMDAyYjtcbiAgLS1jcGQtY29sb3ItcGluay0xNDAwOiAjNDMwMDE3O1xuICAtLWNwZC1jb2xvci1hbHBoYS1ncmF5LTEwMDogaHNsYSgyMTAsIDQ4JSwgNDElLCAwLjAyKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZ3JheS0yMDA6IGhzbGEoMjAwLCA0MSUsIDM2JSwgMC4wNCk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWdyYXktMzAwOiBoc2xhKDIxNiwgODklLCAxOCUsIDAuMDYpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ncmF5LTQwMDogaHNsYSgyMTMsIDkwJSwgMjAlLCAwLjEyKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZ3JheS01MDA6IGhzbGEoMjEyLCA4NyUsIDE1JSwgMC4yKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZ3JheS02MDA6IGhzbGEoMjEyLCA5NyUsIDEyJSwgMC4yNik7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWdyYXktNzAwOiBoc2xhKDIxNSwgOTYlLCAxMCUsIDAuMzUpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ncmF5LTgwMDogaHNsYSgyMTMsIDg3JSwgOSUsIDAuNSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWdyYXktOTAwOiBoc2xhKDIxMywgODMlLCA3JSwgMC42MSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWdyYXktMTAwMDogaHNsYSgyMTgsIDc5JSwgNiUsIDAuNjYpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ncmF5LTExMDA6IGhzbGEoMjE1LCA3NCUsIDUlLCAwLjcxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZ3JheS0xMjAwOiBoc2xhKDIxMywgNzMlLCAzJSwgMC43Nyk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWdyYXktMTMwMDogaHNsYSgyMjUsIDU3JSwgMyUsIDAuODQpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ncmF5LTE0MDA6IGhzbGEoMjIzLCA2NCUsIDIlLCAwLjkpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1yZWQtMTAwOiBoc2xhKDEwLCAxMDAlLCA2MSUsIDAuMDMpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1yZWQtMjAwOiBoc2xhKDcsIDEwMCUsIDU2JSwgMC4wNCk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXJlZC0zMDA6IGhzbGEoOSwgMTAwJSwgNTQlLCAwLjA4KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcmVkLTQwMDogaHNsYSg4LCAxMDAlLCA1MiUsIDAuMTUpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1yZWQtNTAwOiBoc2xhKDgsIDEwMCUsIDUxJSwgMC4yNyk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXJlZC02MDA6IGhzbGEoNywgMTAwJSwgNTElLCAwLjM2KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcmVkLTcwMDogaHNsYSg1LCAxMDAlLCA1MSUsIDAuNSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXJlZC04MDA6IGhzbGEoMCwgMTAwJSwgNTElLCAwLjc3KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcmVkLTkwMDogaHNsYSgzNTUsIDk4JSwgNDElLCAwLjkxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcmVkLTEwMDA6IGhzbGEoMzUzLCA5OCUsIDM3JSwgMC45NSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXJlZC0xMTAwOiBoc2xhKDM1MCwgOTklLCAzMiUsIDAuOTkpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1yZWQtMTIwMDogaHNsKDM1NywgMTAwJSwgMjYlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcmVkLTEzMDA6IGhzbCgwLCAxMDAlLCAxOSUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1yZWQtMTQwMDogaHNsKDAsIDEwMCUsIDE0JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLW9yYW5nZS0xMDA6IGhzbGEoMjIsIDEwMCUsIDYxJSwgMC4wNCk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLW9yYW5nZS0yMDA6IGhzbGEoMjYsIDEwMCUsIDU1JSwgMC4wNyk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLW9yYW5nZS0zMDA6IGhzbGEoMjQsIDEwMCUsIDUyJSwgMC4xMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLW9yYW5nZS00MDA6IGhzbGEoMjUsIDEwMCUsIDUxJSwgMC4yMik7XG4gIC0tY3BkLWNvbG9yLWFscGhhLW9yYW5nZS01MDA6IGhzbGEoMjUsIDEwMCUsIDUwJSwgMC4zNyk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLW9yYW5nZS02MDA6IGhzbGEoMjYsIDk4JSwgNTAlLCAwLjUyKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtb3JhbmdlLTcwMDogaHNsYSgyNywgMTAwJSwgNDglLCAwLjc1KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtb3JhbmdlLTgwMDogaHNsKDI4LCAxMDAlLCA0MyUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1vcmFuZ2UtOTAwOiBoc2woMjIsIDEwMCUsIDM3JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLW9yYW5nZS0xMDAwOiBoc2woMTgsIDEwMCUsIDM0JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLW9yYW5nZS0xMTAwOiBoc2woMTMsIDEwMCUsIDMwJSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLW9yYW5nZS0xMjAwOiBoc2woMCwgMTAwJSwgMjYlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtb3JhbmdlLTEzMDA6IGhzbCgwLCAxMDAlLCAxOSUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1vcmFuZ2UtMTQwMDogaHNsKDAsIDEwMCUsIDE0JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXllbGxvdy0xMDA6IGhzbGEoNDgsIDEwMCUsIDUxJSwgMC4wNik7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXllbGxvdy0yMDA6IGhzbGEoNDYsIDEwMCUsIDUzJSwgMC4xMyk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXllbGxvdy0zMDA6IGhzbGEoNDcsIDEwMCUsIDUxJSwgMC4yNSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXllbGxvdy00MDA6IGhzbGEoNDcsIDEwMCUsIDUxJSwgMC40OSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXllbGxvdy01MDA6IGhzbCg0OSwgMTAwJSwgNDklLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEteWVsbG93LTYwMDogaHNsKDQ3LCAxMDAlLCA0NyUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS15ZWxsb3ctNzAwOiBoc2woNDQsIDEwMCUsIDQ0JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXllbGxvdy04MDA6IGhzbCgzOSwgMTAwJSwgMzclLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEteWVsbG93LTkwMDogaHNsKDM0LCAxMDAlLCAzMSUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS15ZWxsb3ctMTAwMDogaHNsKDMyLCAxMDAlLCAyOCUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS15ZWxsb3ctMTEwMDogaHNsKDMwLCAxMDAlLCAyNSUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS15ZWxsb3ctMTIwMDogaHNsKDI2LCAxMDAlLCAyMSUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS15ZWxsb3ctMTMwMDogaHNsKDE5LCAxMDAlLCAxNyUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS15ZWxsb3ctMTQwMDogaHNsKDYsIDEwMCUsIDEzJSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWxpbWUtMTAwOiBoc2xhKDEwMywgNzUlLCA0NiUsIDAuMDQpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1saW1lLTIwMDogaHNsYSgxMDcsIDg5JSwgNDQlLCAwLjA3KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtbGltZS0zMDA6IGhzbGEoMTA3LCA5OCUsIDQxJSwgMC4xNSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWxpbWUtNDAwOiBoc2xhKDEwNSwgOTIlLCA0MiUsIDAuMjgpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1saW1lLTUwMDogaHNsYSgxMDQsIDk4JSwgNDAlLCAwLjUxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtbGltZS02MDA6IGhzbGEoMTAyLCA5NyUsIDQxJSwgMC43MSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWxpbWUtNzAwOiBoc2xhKDEwMiwgMTAwJSwgMzclLCAwLjg2KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtbGltZS04MDA6IGhzbGEoMTA3LCA5OSUsIDI5JSwgMC45MSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWxpbWUtOTAwOiBoc2xhKDExMywgOTclLCAyNCUsIDAuOTYpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1saW1lLTEwMDA6IGhzbCgxMjAsIDEwMCUsIDIyJSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWxpbWUtMTEwMDogaHNsKDEyMCwgMTAwJSwgMTklLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtbGltZS0xMjAwOiBoc2woMTIwLCAxMDAlLCAxNSUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1saW1lLTEzMDA6IGhzbCgxMjAsIDEwMCUsIDExJSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWxpbWUtMTQwMDogaHNsKDEyMCwgMTAwJSwgNyUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ncmVlbi0xMDA6IGhzbGEoMTU2LCA3OSUsIDQxJSwgMC4wMyk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWdyZWVuLTIwMDogaHNsYSgxNTAsIDc5JSwgNDElLCAwLjA2KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZ3JlZW4tMzAwOiBoc2xhKDE1MCwgMTAwJSwgMzYlLCAwLjExKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZ3JlZW4tNDAwOiBoc2xhKDE1MSwgOTMlLCAzNyUsIDAuMjMpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ncmVlbi01MDA6IGhzbGEoMTU0LCA5NiUsIDM3JSwgMC40MSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWdyZWVuLTYwMDogaHNsYSgxNTYsIDk5JSwgMzYlLCAwLjU2KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZ3JlZW4tNzAwOiBoc2xhKDE2MywgOTklLCAzOCUsIDAuOTYpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ncmVlbi04MDA6IGhzbCgxNjYsIDEwMCUsIDMwJSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWdyZWVuLTkwMDogaHNsKDE2OCwgMTAwJSwgMjQlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZ3JlZW4tMTAwMDogaHNsKDE2NiwgMTAwJSwgMjElLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZ3JlZW4tMTEwMDogaHNsKDE2NSwgMTAwJSwgMTglLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZ3JlZW4tMTIwMDogaHNsKDE2MiwgMTAwJSwgMTQlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZ3JlZW4tMTMwMDogaHNsKDE1NywgMTAwJSwgMTAlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZ3JlZW4tMTQwMDogaHNsKDE0OSwgMTAwJSwgNyUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1jeWFuLTEwMDogaHNsYSgxODAsIDc5JSwgNDElLCAwLjAzKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtY3lhbi0yMDA6IGhzbGEoMTg2LCA3OSUsIDQxJSwgMC4wNik7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWN5YW4tMzAwOiBoc2xhKDE4OCwgMTAwJSwgMzglLCAwLjExKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtY3lhbi00MDA6IGhzbGEoMTg2LCAxMDAlLCAzNyUsIDAuMjIpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1jeWFuLTUwMDogaHNsYSgxODYsIDk1JSwgMzglLCAwLjQpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1jeWFuLTYwMDogaHNsYSgxODcsIDk5JSwgMzglLCAwLjU0KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtY3lhbi03MDA6IGhzbGEoMTg2LCA5OSUsIDQwJSwgMC45Mik7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWN5YW4tODAwOiBoc2woMTk0LCAxMDAlLCAzOCUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1jeWFuLTkwMDogaHNsKDIwMCwgMTAwJSwgMzQlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtY3lhbi0xMDAwOiBoc2woMjAyLCAxMDAlLCAzMSUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1jeWFuLTExMDA6IGhzbCgyMDQsIDEwMCUsIDI4JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWN5YW4tMTIwMDogaHNsKDIwOCwgMTAwJSwgMjMlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtY3lhbi0xMzAwOiBoc2woMjEzLCAxMDAlLCAxOSUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1jeWFuLTE0MDA6IGhzbCgyMjEsIDEwMCUsIDE2JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWJsdWUtMTAwOiBoc2xhKDIxMCwgMTAwJSwgNjElLCAwLjAzKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtYmx1ZS0yMDA6IGhzbGEoMjE4LCAxMDAlLCA1NyUsIDAuMDUpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ibHVlLTMwMDogaHNsYSgyMTUsIDEwMCUsIDUyJSwgMC4wOSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWJsdWUtNDAwOiBoc2xhKDIxNiwgOTUlLCA1MSUsIDAuMTYpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ibHVlLTUwMDogaHNsYSgyMTUsIDkzJSwgNTAlLCAwLjI4KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtYmx1ZS02MDA6IGhzbGEoMjE2LCA5NSUsIDQ4JSwgMC4zNyk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWJsdWUtNzAwOiBoc2xhKDIxNSwgOTglLCA0NyUsIDAuNTEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ibHVlLTgwMDogaHNsYSgyMTUsIDEwMCUsIDQ2JSwgMC43NSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWJsdWUtOTAwOiBoc2xhKDIxMywgOTklLCA0NCUsIDAuOTkpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ibHVlLTEwMDA6IGhzbGEoMjE0LCA5OCUsIDM5JSwgMC45OSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWJsdWUtMTEwMDogaHNsYSgyMTYsIDk5JSwgMzUlLCAwLjk4KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtYmx1ZS0xMjAwOiBoc2xhKDIxOCwgOTklLCAyOSUsIDAuOTkpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ibHVlLTEzMDA6IGhzbCgyMjIsIDk4JSwgMjQlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtYmx1ZS0xNDAwOiBoc2woMjMyLCAxMDAlLCAyMCUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1wdXJwbGUtMTAwOiBoc2xhKDI0MCwgMTAwJSwgNjElLCAwLjAyKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcHVycGxlLTIwMDogaHNsYSgyNDgsIDEwMCUsIDYxJSwgMC4wNCk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXB1cnBsZS0zMDA6IGhzbGEoMjQ4LCAxMDAlLCA1NSUsIDAuMDcpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1wdXJwbGUtNDAwOiBoc2xhKDI0OCwgMTAwJSwgNTMlLCAwLjEyKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcHVycGxlLTUwMDogaHNsYSgyNDgsIDEwMCUsIDUxJSwgMC4yKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcHVycGxlLTYwMDogaHNsYSgyNDksIDEwMCUsIDUxJSwgMC4yNyk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXB1cnBsZS03MDA6IGhzbGEoMjUxLCAxMDAlLCA1MSUsIDAuMzgpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1wdXJwbGUtODAwOiBoc2xhKDI1NCwgOTklLCA0OSUsIDAuNTYpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1wdXJwbGUtOTAwOiBoc2xhKDI1OCwgOTglLCA0NyUsIDAuNzMpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1wdXJwbGUtMTAwMDogaHNsYSgyNTksIDk4JSwgNDIlLCAwLjc5KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcHVycGxlLTExMDA6IGhzbGEoMjYwLCA5NyUsIDM5JSwgMC44Nik7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXB1cnBsZS0xMjAwOiBoc2xhKDI2NCwgOTglLCAzNiUsIDAuOTkpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1wdXJwbGUtMTMwMDogaHNsKDI2MiwgMTAwJSwgMjglLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcHVycGxlLTE0MDA6IGhzbCgyNTksIDEwMCUsIDIwJSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWZ1Y2hzaWEtMTAwOiBoc2xhKDMwMCwgOTUlLCA0MSUsIDAuMDIpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1mdWNoc2lhLTIwMDogaHNsYSgyOTMsIDk1JSwgNDElLCAwLjA0KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZnVjaHNpYS0zMDA6IGhzbGEoMjk1LCA4OSUsIDQxJSwgMC4wNyk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWZ1Y2hzaWEtNDAwOiBoc2xhKDI5OCwgOTElLCA0MCUsIDAuMTMpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1mdWNoc2lhLTUwMDogaHNsYSgyOTYsIDkzJSwgMzklLCAwLjIzKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZnVjaHNpYS02MDA6IGhzbGEoMjk3LCA5MyUsIDM4JSwgMC4zMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWZ1Y2hzaWEtNzAwOiBoc2xhKDI5NSwgOTYlLCAzNyUsIDAuNDMpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1mdWNoc2lhLTgwMDogaHNsYSgyOTUsIDk3JSwgMzclLCAwLjY0KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZnVjaHNpYS05MDA6IGhzbGEoMjkzLCAxMDAlLCAzNCUsIDAuOCk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWZ1Y2hzaWEtMTAwMDogaHNsYSgyOTEsIDk5JSwgMzAlLCAwLjg0KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZnVjaHNpYS0xMTAwOiBoc2xhKDI4OSwgOTYlLCAyOCUsIDAuODgpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1mdWNoc2lhLTEyMDA6IGhzbGEoMjg2LCA5NyUsIDI0JSwgMC45Myk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWZ1Y2hzaWEtMTMwMDogaHNsKDI4NSwgMTAwJSwgMjAlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZnVjaHNpYS0xNDAwOiBoc2woMjgxLCAxMDAlLCAxNSUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1waW5rLTEwMDogaHNsYSgzNDgsIDEwMCUsIDUxJSwgMC4wMik7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXBpbmstMjAwOiBoc2xhKDM0OCwgMTAwJSwgNTElLCAwLjA0KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcGluay0zMDA6IGhzbGEoMzQ3LCAxMDAlLCA1NCUsIDAuMDgpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1waW5rLTQwMDogaHNsYSgzNDcsIDEwMCUsIDUwJSwgMC4xMyk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXBpbmstNTAwOiBoc2xhKDM0NywgMTAwJSwgNTAlLCAwLjI0KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcGluay02MDA6IGhzbGEoMzQ2LCAxMDAlLCA1MSUsIDAuMzMpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1waW5rLTcwMDogaHNsYSgzNDUsIDEwMCUsIDUwJSwgMC40Nyk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXBpbmstODAwOiBoc2xhKDM0MCwgMTAwJSwgNDglLCAwLjc1KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcGluay05MDA6IGhzbGEoMzMzLCA5OCUsIDQxJSwgMC45Nik7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXBpbmstMTAwMDogaHNsYSgzMzIsIDk4JSwgMzYlLCAwLjk3KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcGluay0xMTAwOiBoc2xhKDMzMSwgMTAwJSwgMzElLCAwLjk3KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcGluay0xMjAwOiBoc2xhKDMzMCwgOTglLCAyNCUsIDAuOTgpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1waW5rLTEzMDA6IGhzbCgzMzMsIDEwMCUsIDE5JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXBpbmstMTQwMDogaHNsKDMzOSwgMTAwJSwgMTMlLCAxKTtcbn1cbiIsIjpyb290IHtcbiAgLS1jcGQtY29sb3ItdGhlbWUtYmc6ICNmZmZmZmY7XG4gIC0tY3BkLWNvbG9yLWdyYXktMTAwOiAjZmJmY2ZkO1xuICAtLWNwZC1jb2xvci1ncmF5LTIwMDogI2Y3ZjlmYTtcbiAgLS1jcGQtY29sb3ItZ3JheS0zMDA6ICNmMGYyZjU7XG4gIC0tY3BkLWNvbG9yLWdyYXktNDAwOiAjZTFlNmVjO1xuICAtLWNwZC1jb2xvci1ncmF5LTUwMDogI2NkZDNkYTtcbiAgLS1jcGQtY29sb3ItZ3JheS02MDA6ICNiZGM0Y2M7XG4gIC0tY3BkLWNvbG9yLWdyYXktNzAwOiAjYTZhZGI3O1xuICAtLWNwZC1jb2xvci1ncmF5LTgwMDogIzgxOGE5NTtcbiAgLS1jcGQtY29sb3ItZ3JheS05MDA6ICM2NTZkNzc7XG4gIC0tY3BkLWNvbG9yLWdyYXktMTAwMDogIzU5NWU2NztcbiAgLS1jcGQtY29sb3ItZ3JheS0xMTAwOiAjNGM1MTU4O1xuICAtLWNwZC1jb2xvci1ncmF5LTEyMDA6ICMzYzQwNDU7XG4gIC0tY3BkLWNvbG9yLWdyYXktMTMwMDogIzJiMmQzMjtcbiAgLS1jcGQtY29sb3ItZ3JheS0xNDAwOiAjMWIxZDIyO1xuICAtLWNwZC1jb2xvci1yZWQtMTAwOiAjZmZmYWY5O1xuICAtLWNwZC1jb2xvci1yZWQtMjAwOiAjZmZmN2Y2O1xuICAtLWNwZC1jb2xvci1yZWQtMzAwOiAjZmZlZmVjO1xuICAtLWNwZC1jb2xvci1yZWQtNDAwOiAjZmZkZmRhO1xuICAtLWNwZC1jb2xvci1yZWQtNTAwOiAjZmZjNWJjO1xuICAtLWNwZC1jb2xvci1yZWQtNjAwOiAjZmZhZmE1O1xuICAtLWNwZC1jb2xvci1yZWQtNzAwOiAjZmY4YzgxO1xuICAtLWNwZC1jb2xvci1yZWQtODAwOiAjZmYzZDNkO1xuICAtLWNwZC1jb2xvci1yZWQtOTAwOiAjZDUxOTI4O1xuICAtLWNwZC1jb2xvci1yZWQtMTAwMDogI2JjMGYyMjtcbiAgLS1jcGQtY29sb3ItcmVkLTExMDA6ICNhNDA0MWQ7XG4gIC0tY3BkLWNvbG9yLXJlZC0xMjAwOiAjODUwMDA2O1xuICAtLWNwZC1jb2xvci1yZWQtMTMwMDogIzYyMDAwMDtcbiAgLS1jcGQtY29sb3ItcmVkLTE0MDA6ICM0NTAwMDA7XG4gIC0tY3BkLWNvbG9yLW9yYW5nZS0xMDA6ICNmZmZhZjc7XG4gIC0tY3BkLWNvbG9yLW9yYW5nZS0yMDA6ICNmZmY2ZWY7XG4gIC0tY3BkLWNvbG9yLW9yYW5nZS0zMDA6ICNmZmVmZTQ7XG4gIC0tY3BkLWNvbG9yLW9yYW5nZS00MDA6ICNmZmRmYzg7XG4gIC0tY3BkLWNvbG9yLW9yYW5nZS01MDA6ICNmZmM4YTE7XG4gIC0tY3BkLWNvbG9yLW9yYW5nZS02MDA6ICNmZGIzN2M7XG4gIC0tY3BkLWNvbG9yLW9yYW5nZS03MDA6ICNmODk0NDA7XG4gIC0tY3BkLWNvbG9yLW9yYW5nZS04MDA6ICNkYzY3MDA7XG4gIC0tY3BkLWNvbG9yLW9yYW5nZS05MDA6ICNiYzQ1MDA7XG4gIC0tY3BkLWNvbG9yLW9yYW5nZS0xMDAwOiAjYWMzMzAwO1xuICAtLWNwZC1jb2xvci1vcmFuZ2UtMTEwMDogIzliMjIwMDtcbiAgLS1jcGQtY29sb3Itb3JhbmdlLTEyMDA6ICM4NTAwMDA7XG4gIC0tY3BkLWNvbG9yLW9yYW5nZS0xMzAwOiAjNjIwMDAwO1xuICAtLWNwZC1jb2xvci1vcmFuZ2UtMTQwMDogIzQ1MDAwMDtcbiAgLS1jcGQtY29sb3IteWVsbG93LTEwMDogI2ZmZmNmMDtcbiAgLS1jcGQtY29sb3IteWVsbG93LTIwMDogI2ZmZjhlMDtcbiAgLS1jcGQtY29sb3IteWVsbG93LTMwMDogI2ZmZjJjMTtcbiAgLS1jcGQtY29sb3IteWVsbG93LTQwMDogI2ZmZTQ4NDtcbiAgLS1jcGQtY29sb3IteWVsbG93LTUwMDogI2ZiY2UwMDtcbiAgLS1jcGQtY29sb3IteWVsbG93LTYwMDogI2YxYmQwMDtcbiAgLS1jcGQtY29sb3IteWVsbG93LTcwMDogI2RlYTIwMDtcbiAgLS1jcGQtY29sb3IteWVsbG93LTgwMDogI2JlN2EwMDtcbiAgLS1jcGQtY29sb3IteWVsbG93LTkwMDogIzlmNWIwMDtcbiAgLS1jcGQtY29sb3IteWVsbG93LTEwMDA6ICM4ZjRkMDA7XG4gIC0tY3BkLWNvbG9yLXllbGxvdy0xMTAwOiAjODAzZjAwO1xuICAtLWNwZC1jb2xvci15ZWxsb3ctMTIwMDogIzY5MmUwMDtcbiAgLS1jcGQtY29sb3IteWVsbG93LTEzMDA6ICM1NDFhMDA7XG4gIC0tY3BkLWNvbG9yLXllbGxvdy0xNDAwOiAjNDEwNjAwO1xuICAtLWNwZC1jb2xvci1saW1lLTEwMDogI2Y4ZmRmNjtcbiAgLS1jcGQtY29sb3ItbGltZS0yMDA6ICNmMWZjZWU7XG4gIC0tY3BkLWNvbG9yLWxpbWUtMzAwOiAjZTBmOGQ5O1xuICAtLWNwZC1jb2xvci1saW1lLTQwMDogI2M4ZjFiYTtcbiAgLS1jcGQtY29sb3ItbGltZS01MDA6ICM5OWU1N2U7XG4gIC0tY3BkLWNvbG9yLWxpbWUtNjAwOiAjNzZkYjRjO1xuICAtLWNwZC1jb2xvci1saW1lLTcwMDogIzU0YzQyNDtcbiAgLS1jcGQtY29sb3ItbGltZS04MDA6ICMzNTlkMTg7XG4gIC0tY3BkLWNvbG9yLWxpbWUtOTAwOiAjMTk3ZDBjO1xuICAtLWNwZC1jb2xvci1saW1lLTEwMDA6ICMwMDZlMDA7XG4gIC0tY3BkLWNvbG9yLWxpbWUtMTEwMDogIzAwNWYwMDtcbiAgLS1jcGQtY29sb3ItbGltZS0xMjAwOiAjMDA0YjAwO1xuICAtLWNwZC1jb2xvci1saW1lLTEzMDA6ICMwMDM2MDA7XG4gIC0tY3BkLWNvbG9yLWxpbWUtMTQwMDogIzAwMjQwMDtcbiAgLS1jcGQtY29sb3ItZ3JlZW4tMTAwOiAjZjhmZGZiO1xuICAtLWNwZC1jb2xvci1ncmVlbi0yMDA6ICNmMWZiZjY7XG4gIC0tY3BkLWNvbG9yLWdyZWVuLTMwMDogI2UzZjdlZDtcbiAgLS1jcGQtY29sb3ItZ3JlZW4tNDAwOiAjYzZlZWRiO1xuICAtLWNwZC1jb2xvci1ncmVlbi01MDA6ICM5OGUxYzE7XG4gIC0tY3BkLWNvbG9yLWdyZWVuLTYwMDogIzcxZDdhZTtcbiAgLS1jcGQtY29sb3ItZ3JlZW4tNzAwOiAjMGJjNDkxO1xuICAtLWNwZC1jb2xvci1ncmVlbi04MDA6ICMwMDliNzg7XG4gIC0tY3BkLWNvbG9yLWdyZWVuLTkwMDogIzAwN2E2MTtcbiAgLS1jcGQtY29sb3ItZ3JlZW4tMTAwMDogIzAwNmI1MjtcbiAgLS1jcGQtY29sb3ItZ3JlZW4tMTEwMDogIzAwNWM0NTtcbiAgLS1jcGQtY29sb3ItZ3JlZW4tMTIwMDogIzAwNDkzMztcbiAgLS1jcGQtY29sb3ItZ3JlZW4tMTMwMDogIzAwMzQyMDtcbiAgLS1jcGQtY29sb3ItZ3JlZW4tMTQwMDogIzAwMjMxMTtcbiAgLS1jcGQtY29sb3ItY3lhbi0xMDA6ICNmOGZkZmQ7XG4gIC0tY3BkLWNvbG9yLWN5YW4tMjAwOiAjZjFmYWZiO1xuICAtLWNwZC1jb2xvci1jeWFuLTMwMDogI2UzZjVmODtcbiAgLS1jcGQtY29sb3ItY3lhbi00MDA6ICNjN2VjZjA7XG4gIC0tY3BkLWNvbG9yLWN5YW4tNTAwOiAjOWJkZGU1O1xuICAtLWNwZC1jb2xvci1jeWFuLTYwMDogIzc2ZDFkZDtcbiAgLS1jcGQtY29sb3ItY3lhbi03MDA6ICMxNWJlY2Y7XG4gIC0tY3BkLWNvbG9yLWN5YW4tODAwOiAjMDA5NGMwO1xuICAtLWNwZC1jb2xvci1jeWFuLTkwMDogIzAwNzJhYztcbiAgLS1jcGQtY29sb3ItY3lhbi0xMDAwOiAjMDA2MjljO1xuICAtLWNwZC1jb2xvci1jeWFuLTExMDA6ICMwMDU0OGM7XG4gIC0tY3BkLWNvbG9yLWN5YW4tMTIwMDogIzAwNDA3NztcbiAgLS1jcGQtY29sb3ItY3lhbi0xMzAwOiAjMDAyYjYxO1xuICAtLWNwZC1jb2xvci1jeWFuLTE0MDA6ICMwMDE5NGY7XG4gIC0tY3BkLWNvbG9yLWJsdWUtMTAwOiAjZjlmY2ZmO1xuICAtLWNwZC1jb2xvci1ibHVlLTIwMDogI2Y0ZjhmZjtcbiAgLS1jcGQtY29sb3ItYmx1ZS0zMDA6ICNlOWYyZmY7XG4gIC0tY3BkLWNvbG9yLWJsdWUtNDAwOiAjZDhlN2ZlO1xuICAtLWNwZC1jb2xvci1ibHVlLTUwMDogI2JhZDVmYztcbiAgLS1jcGQtY29sb3ItYmx1ZS02MDA6ICNhM2M2ZmE7XG4gIC0tY3BkLWNvbG9yLWJsdWUtNzAwOiAjN2VhZmY2O1xuICAtLWNwZC1jb2xvci1ibHVlLTgwMDogIzQwODhlZTtcbiAgLS1jcGQtY29sb3ItYmx1ZS05MDA6ICMwNDY3ZGQ7XG4gIC0tY3BkLWNvbG9yLWJsdWUtMTAwMDogIzA1NThjNztcbiAgLS1jcGQtY29sb3ItYmx1ZS0xMTAwOiAjMDY0YWIxO1xuICAtLWNwZC1jb2xvci1ibHVlLTEyMDA6ICMwNDM4OTQ7XG4gIC0tY3BkLWNvbG9yLWJsdWUtMTMwMDogIzAxMjQ3ODtcbiAgLS1jcGQtY29sb3ItYmx1ZS0xNDAwOiAjMDAwZTY1O1xuICAtLWNwZC1jb2xvci1wdXJwbGUtMTAwOiAjZmJmYmZmO1xuICAtLWNwZC1jb2xvci1wdXJwbGUtMjAwOiAjZjhmN2ZmO1xuICAtLWNwZC1jb2xvci1wdXJwbGUtMzAwOiAjZjFlZmZmO1xuICAtLWNwZC1jb2xvci1wdXJwbGUtNDAwOiAjZTZlMmZmO1xuICAtLWNwZC1jb2xvci1wdXJwbGUtNTAwOiAjZDRjZGZmO1xuICAtLWNwZC1jb2xvci1wdXJwbGUtNjAwOiAjYzViYmZmO1xuICAtLWNwZC1jb2xvci1wdXJwbGUtNzAwOiAjYjFhMGZmO1xuICAtLWNwZC1jb2xvci1wdXJwbGUtODAwOiAjOTI3MWZkO1xuICAtLWNwZC1jb2xvci1wdXJwbGUtOTAwOiAjN2E0N2YxO1xuICAtLWNwZC1jb2xvci1wdXJwbGUtMTAwMDogIzZiMzdkZTtcbiAgLS1jcGQtY29sb3ItcHVycGxlLTExMDA6ICM1ZDI2Y2Q7XG4gIC0tY3BkLWNvbG9yLXB1cnBsZS0xMjAwOiAjNGMwNWI1O1xuICAtLWNwZC1jb2xvci1wdXJwbGUtMTMwMDogIzMzMDA4ZDtcbiAgLS1jcGQtY29sb3ItcHVycGxlLTE0MDA6ICMyMDAwNjY7XG4gIC0tY3BkLWNvbG9yLWZ1Y2hzaWEtMTAwOiAjZmVmYWZlO1xuICAtLWNwZC1jb2xvci1mdWNoc2lhLTIwMDogI2ZjZjVmZDtcbiAgLS1jcGQtY29sb3ItZnVjaHNpYS0zMDA6ICNmYWVlZmI7XG4gIC0tY3BkLWNvbG9yLWZ1Y2hzaWEtNDAwOiAjZjZkZmY3O1xuICAtLWNwZC1jb2xvci1mdWNoc2lhLTUwMDogI2VkYzZmMDtcbiAgLS1jcGQtY29sb3ItZnVjaHNpYS02MDA6ICNlN2IyZWE7XG4gIC0tY3BkLWNvbG9yLWZ1Y2hzaWEtNzAwOiAjZGI5M2UxO1xuICAtLWNwZC1jb2xvci1mdWNoc2lhLTgwMDogI2M4NWVkMTtcbiAgLS1jcGQtY29sb3ItZnVjaHNpYS05MDA6ICNhZDMzYmQ7XG4gIC0tY3BkLWNvbG9yLWZ1Y2hzaWEtMTAwMDogIzk3MmFhYTtcbiAgLS1jcGQtY29sb3ItZnVjaHNpYS0xMTAwOiAjODIyMTk4O1xuICAtLWNwZC1jb2xvci1mdWNoc2lhLTEyMDA6ICM2NzE0ODE7XG4gIC0tY3BkLWNvbG9yLWZ1Y2hzaWEtMTMwMDogIzRlMDA2ODtcbiAgLS1jcGQtY29sb3ItZnVjaHNpYS0xNDAwOiAjMzQwMDRjO1xuICAtLWNwZC1jb2xvci1waW5rLTEwMDogI2ZmZmFmYjtcbiAgLS1jcGQtY29sb3ItcGluay0yMDA6ICNmZmY1Zjc7XG4gIC0tY3BkLWNvbG9yLXBpbmstMzAwOiAjZmZlY2YwO1xuICAtLWNwZC1jb2xvci1waW5rLTQwMDogI2ZmZGVlNTtcbiAgLS1jcGQtY29sb3ItcGluay01MDA6ICNmZmMyY2Y7XG4gIC0tY3BkLWNvbG9yLXBpbmstNjAwOiAjZmZhZGMwO1xuICAtLWNwZC1jb2xvci1waW5rLTcwMDogI2ZmODhhNjtcbiAgLS1jcGQtY29sb3ItcGluay04MDA6ICNmNzQwN2Q7XG4gIC0tY3BkLWNvbG9yLXBpbmstOTAwOiAjZDIwYzY1O1xuICAtLWNwZC1jb2xvci1waW5rLTEwMDA6ICNiODBhNWI7XG4gIC0tY3BkLWNvbG9yLXBpbmstMTEwMDogIzlmMDg1MDtcbiAgLS1jcGQtY29sb3ItcGluay0xMjAwOiAjN2UwNjQyO1xuICAtLWNwZC1jb2xvci1waW5rLTEzMDA6ICM1ZjAwMmI7XG4gIC0tY3BkLWNvbG9yLXBpbmstMTQwMDogIzQzMDAxNztcbiAgLS1jcGQtY29sb3ItYWxwaGEtZ3JheS0xMDA6IGhzbGEoMjEwLCA0OCUsIDQxJSwgMC4wMik7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWdyYXktMjAwOiBoc2xhKDIwMCwgNDElLCAzNiUsIDAuMDQpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ncmF5LTMwMDogaHNsYSgyMTYsIDg5JSwgMTglLCAwLjA2KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZ3JheS00MDA6IGhzbGEoMjEzLCA5MCUsIDIwJSwgMC4xMik7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWdyYXktNTAwOiBoc2xhKDIxMiwgODclLCAxNSUsIDAuMik7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWdyYXktNjAwOiBoc2xhKDIxMiwgOTclLCAxMiUsIDAuMjYpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ncmF5LTcwMDogaHNsYSgyMTUsIDk2JSwgMTAlLCAwLjM1KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZ3JheS04MDA6IGhzbGEoMjEzLCA4NyUsIDklLCAwLjUpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ncmF5LTkwMDogaHNsYSgyMTMsIDgzJSwgNyUsIDAuNjEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ncmF5LTEwMDA6IGhzbGEoMjE4LCA3OSUsIDYlLCAwLjY2KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZ3JheS0xMTAwOiBoc2xhKDIxNSwgNzQlLCA1JSwgMC43MSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWdyYXktMTIwMDogaHNsYSgyMTMsIDczJSwgMyUsIDAuNzcpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ncmF5LTEzMDA6IGhzbGEoMjI1LCA1NyUsIDMlLCAwLjg0KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZ3JheS0xNDAwOiBoc2xhKDIyMywgNjQlLCAyJSwgMC45KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcmVkLTEwMDogaHNsYSgxMCwgMTAwJSwgNjElLCAwLjAzKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcmVkLTIwMDogaHNsYSg3LCAxMDAlLCA1NiUsIDAuMDQpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1yZWQtMzAwOiBoc2xhKDksIDEwMCUsIDU0JSwgMC4wOCk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXJlZC00MDA6IGhzbGEoOCwgMTAwJSwgNTIlLCAwLjE1KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcmVkLTUwMDogaHNsYSg4LCAxMDAlLCA1MSUsIDAuMjcpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1yZWQtNjAwOiBoc2xhKDcsIDEwMCUsIDUxJSwgMC4zNik7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXJlZC03MDA6IGhzbGEoNSwgMTAwJSwgNTElLCAwLjUpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1yZWQtODAwOiBoc2xhKDAsIDEwMCUsIDUxJSwgMC43Nyk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXJlZC05MDA6IGhzbGEoMzU1LCA5OCUsIDQxJSwgMC45MSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXJlZC0xMDAwOiBoc2xhKDM1MywgOTglLCAzNyUsIDAuOTUpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1yZWQtMTEwMDogaHNsYSgzNTAsIDk5JSwgMzIlLCAwLjk5KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcmVkLTEyMDA6IGhzbCgzNTcsIDEwMCUsIDI2JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXJlZC0xMzAwOiBoc2woMCwgMTAwJSwgMTklLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcmVkLTE0MDA6IGhzbCgwLCAxMDAlLCAxNCUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1vcmFuZ2UtMTAwOiBoc2xhKDIyLCAxMDAlLCA2MSUsIDAuMDQpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1vcmFuZ2UtMjAwOiBoc2xhKDI2LCAxMDAlLCA1NSUsIDAuMDcpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1vcmFuZ2UtMzAwOiBoc2xhKDI0LCAxMDAlLCA1MiUsIDAuMTEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1vcmFuZ2UtNDAwOiBoc2xhKDI1LCAxMDAlLCA1MSUsIDAuMjIpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1vcmFuZ2UtNTAwOiBoc2xhKDI1LCAxMDAlLCA1MCUsIDAuMzcpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1vcmFuZ2UtNjAwOiBoc2xhKDI2LCA5OCUsIDUwJSwgMC41Mik7XG4gIC0tY3BkLWNvbG9yLWFscGhhLW9yYW5nZS03MDA6IGhzbGEoMjcsIDEwMCUsIDQ4JSwgMC43NSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLW9yYW5nZS04MDA6IGhzbCgyOCwgMTAwJSwgNDMlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtb3JhbmdlLTkwMDogaHNsKDIyLCAxMDAlLCAzNyUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1vcmFuZ2UtMTAwMDogaHNsKDE4LCAxMDAlLCAzNCUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1vcmFuZ2UtMTEwMDogaHNsKDEzLCAxMDAlLCAzMCUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1vcmFuZ2UtMTIwMDogaHNsKDAsIDEwMCUsIDI2JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLW9yYW5nZS0xMzAwOiBoc2woMCwgMTAwJSwgMTklLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtb3JhbmdlLTE0MDA6IGhzbCgwLCAxMDAlLCAxNCUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS15ZWxsb3ctMTAwOiBoc2xhKDQ4LCAxMDAlLCA1MSUsIDAuMDYpO1xuICAtLWNwZC1jb2xvci1hbHBoYS15ZWxsb3ctMjAwOiBoc2xhKDQ2LCAxMDAlLCA1MyUsIDAuMTMpO1xuICAtLWNwZC1jb2xvci1hbHBoYS15ZWxsb3ctMzAwOiBoc2xhKDQ3LCAxMDAlLCA1MSUsIDAuMjUpO1xuICAtLWNwZC1jb2xvci1hbHBoYS15ZWxsb3ctNDAwOiBoc2xhKDQ3LCAxMDAlLCA1MSUsIDAuNDkpO1xuICAtLWNwZC1jb2xvci1hbHBoYS15ZWxsb3ctNTAwOiBoc2woNDksIDEwMCUsIDQ5JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXllbGxvdy02MDA6IGhzbCg0NywgMTAwJSwgNDclLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEteWVsbG93LTcwMDogaHNsKDQ0LCAxMDAlLCA0NCUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS15ZWxsb3ctODAwOiBoc2woMzksIDEwMCUsIDM3JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXllbGxvdy05MDA6IGhzbCgzNCwgMTAwJSwgMzElLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEteWVsbG93LTEwMDA6IGhzbCgzMiwgMTAwJSwgMjglLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEteWVsbG93LTExMDA6IGhzbCgzMCwgMTAwJSwgMjUlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEteWVsbG93LTEyMDA6IGhzbCgyNiwgMTAwJSwgMjElLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEteWVsbG93LTEzMDA6IGhzbCgxOSwgMTAwJSwgMTclLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEteWVsbG93LTE0MDA6IGhzbCg2LCAxMDAlLCAxMyUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1saW1lLTEwMDogaHNsYSgxMDMsIDc1JSwgNDYlLCAwLjA0KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtbGltZS0yMDA6IGhzbGEoMTA3LCA4OSUsIDQ0JSwgMC4wNyk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWxpbWUtMzAwOiBoc2xhKDEwNywgOTglLCA0MSUsIDAuMTUpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1saW1lLTQwMDogaHNsYSgxMDUsIDkyJSwgNDIlLCAwLjI4KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtbGltZS01MDA6IGhzbGEoMTA0LCA5OCUsIDQwJSwgMC41MSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWxpbWUtNjAwOiBoc2xhKDEwMiwgOTclLCA0MSUsIDAuNzEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1saW1lLTcwMDogaHNsYSgxMDIsIDEwMCUsIDM3JSwgMC44Nik7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWxpbWUtODAwOiBoc2xhKDEwNywgOTklLCAyOSUsIDAuOTEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1saW1lLTkwMDogaHNsYSgxMTMsIDk3JSwgMjQlLCAwLjk2KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtbGltZS0xMDAwOiBoc2woMTIwLCAxMDAlLCAyMiUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1saW1lLTExMDA6IGhzbCgxMjAsIDEwMCUsIDE5JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWxpbWUtMTIwMDogaHNsKDEyMCwgMTAwJSwgMTUlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtbGltZS0xMzAwOiBoc2woMTIwLCAxMDAlLCAxMSUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1saW1lLTE0MDA6IGhzbCgxMjAsIDEwMCUsIDclLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZ3JlZW4tMTAwOiBoc2xhKDE1NiwgNzklLCA0MSUsIDAuMDMpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ncmVlbi0yMDA6IGhzbGEoMTUwLCA3OSUsIDQxJSwgMC4wNik7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWdyZWVuLTMwMDogaHNsYSgxNTAsIDEwMCUsIDM2JSwgMC4xMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWdyZWVuLTQwMDogaHNsYSgxNTEsIDkzJSwgMzclLCAwLjIzKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZ3JlZW4tNTAwOiBoc2xhKDE1NCwgOTYlLCAzNyUsIDAuNDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ncmVlbi02MDA6IGhzbGEoMTU2LCA5OSUsIDM2JSwgMC41Nik7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWdyZWVuLTcwMDogaHNsYSgxNjMsIDk5JSwgMzglLCAwLjk2KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZ3JlZW4tODAwOiBoc2woMTY2LCAxMDAlLCAzMCUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ncmVlbi05MDA6IGhzbCgxNjgsIDEwMCUsIDI0JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWdyZWVuLTEwMDA6IGhzbCgxNjYsIDEwMCUsIDIxJSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWdyZWVuLTExMDA6IGhzbCgxNjUsIDEwMCUsIDE4JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWdyZWVuLTEyMDA6IGhzbCgxNjIsIDEwMCUsIDE0JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWdyZWVuLTEzMDA6IGhzbCgxNTcsIDEwMCUsIDEwJSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWdyZWVuLTE0MDA6IGhzbCgxNDksIDEwMCUsIDclLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtY3lhbi0xMDA6IGhzbGEoMTgwLCA3OSUsIDQxJSwgMC4wMyk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWN5YW4tMjAwOiBoc2xhKDE4NiwgNzklLCA0MSUsIDAuMDYpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1jeWFuLTMwMDogaHNsYSgxODgsIDEwMCUsIDM4JSwgMC4xMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWN5YW4tNDAwOiBoc2xhKDE4NiwgMTAwJSwgMzclLCAwLjIyKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtY3lhbi01MDA6IGhzbGEoMTg2LCA5NSUsIDM4JSwgMC40KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtY3lhbi02MDA6IGhzbGEoMTg3LCA5OSUsIDM4JSwgMC41NCk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWN5YW4tNzAwOiBoc2xhKDE4NiwgOTklLCA0MCUsIDAuOTIpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1jeWFuLTgwMDogaHNsKDE5NCwgMTAwJSwgMzglLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtY3lhbi05MDA6IGhzbCgyMDAsIDEwMCUsIDM0JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWN5YW4tMTAwMDogaHNsKDIwMiwgMTAwJSwgMzElLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtY3lhbi0xMTAwOiBoc2woMjA0LCAxMDAlLCAyOCUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1jeWFuLTEyMDA6IGhzbCgyMDgsIDEwMCUsIDIzJSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWN5YW4tMTMwMDogaHNsKDIxMywgMTAwJSwgMTklLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtY3lhbi0xNDAwOiBoc2woMjIxLCAxMDAlLCAxNiUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ibHVlLTEwMDogaHNsYSgyMTAsIDEwMCUsIDYxJSwgMC4wMyk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWJsdWUtMjAwOiBoc2xhKDIxOCwgMTAwJSwgNTclLCAwLjA1KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtYmx1ZS0zMDA6IGhzbGEoMjE1LCAxMDAlLCA1MiUsIDAuMDkpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ibHVlLTQwMDogaHNsYSgyMTYsIDk1JSwgNTElLCAwLjE2KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtYmx1ZS01MDA6IGhzbGEoMjE1LCA5MyUsIDUwJSwgMC4yOCk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWJsdWUtNjAwOiBoc2xhKDIxNiwgOTUlLCA0OCUsIDAuMzcpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ibHVlLTcwMDogaHNsYSgyMTUsIDk4JSwgNDclLCAwLjUxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtYmx1ZS04MDA6IGhzbGEoMjE1LCAxMDAlLCA0NiUsIDAuNzUpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ibHVlLTkwMDogaHNsYSgyMTMsIDk5JSwgNDQlLCAwLjk5KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtYmx1ZS0xMDAwOiBoc2xhKDIxNCwgOTglLCAzOSUsIDAuOTkpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ibHVlLTExMDA6IGhzbGEoMjE2LCA5OSUsIDM1JSwgMC45OCk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWJsdWUtMTIwMDogaHNsYSgyMTgsIDk5JSwgMjklLCAwLjk5KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtYmx1ZS0xMzAwOiBoc2woMjIyLCA5OCUsIDI0JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWJsdWUtMTQwMDogaHNsKDIzMiwgMTAwJSwgMjAlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcHVycGxlLTEwMDogaHNsYSgyNDAsIDEwMCUsIDYxJSwgMC4wMik7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXB1cnBsZS0yMDA6IGhzbGEoMjQ4LCAxMDAlLCA2MSUsIDAuMDQpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1wdXJwbGUtMzAwOiBoc2xhKDI0OCwgMTAwJSwgNTUlLCAwLjA3KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcHVycGxlLTQwMDogaHNsYSgyNDgsIDEwMCUsIDUzJSwgMC4xMik7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXB1cnBsZS01MDA6IGhzbGEoMjQ4LCAxMDAlLCA1MSUsIDAuMik7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXB1cnBsZS02MDA6IGhzbGEoMjQ5LCAxMDAlLCA1MSUsIDAuMjcpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1wdXJwbGUtNzAwOiBoc2xhKDI1MSwgMTAwJSwgNTElLCAwLjM4KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcHVycGxlLTgwMDogaHNsYSgyNTQsIDk5JSwgNDklLCAwLjU2KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcHVycGxlLTkwMDogaHNsYSgyNTgsIDk4JSwgNDclLCAwLjczKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcHVycGxlLTEwMDA6IGhzbGEoMjU5LCA5OCUsIDQyJSwgMC43OSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXB1cnBsZS0xMTAwOiBoc2xhKDI2MCwgOTclLCAzOSUsIDAuODYpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1wdXJwbGUtMTIwMDogaHNsYSgyNjQsIDk4JSwgMzYlLCAwLjk5KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcHVycGxlLTEzMDA6IGhzbCgyNjIsIDEwMCUsIDI4JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXB1cnBsZS0xNDAwOiBoc2woMjU5LCAxMDAlLCAyMCUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1mdWNoc2lhLTEwMDogaHNsYSgzMDAsIDk1JSwgNDElLCAwLjAyKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZnVjaHNpYS0yMDA6IGhzbGEoMjkzLCA5NSUsIDQxJSwgMC4wNCk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWZ1Y2hzaWEtMzAwOiBoc2xhKDI5NSwgODklLCA0MSUsIDAuMDcpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1mdWNoc2lhLTQwMDogaHNsYSgyOTgsIDkxJSwgNDAlLCAwLjEzKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZnVjaHNpYS01MDA6IGhzbGEoMjk2LCA5MyUsIDM5JSwgMC4yMyk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWZ1Y2hzaWEtNjAwOiBoc2xhKDI5NywgOTMlLCAzOCUsIDAuMzEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1mdWNoc2lhLTcwMDogaHNsYSgyOTUsIDk2JSwgMzclLCAwLjQzKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZnVjaHNpYS04MDA6IGhzbGEoMjk1LCA5NyUsIDM3JSwgMC42NCk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWZ1Y2hzaWEtOTAwOiBoc2xhKDI5MywgMTAwJSwgMzQlLCAwLjgpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1mdWNoc2lhLTEwMDA6IGhzbGEoMjkxLCA5OSUsIDMwJSwgMC44NCk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWZ1Y2hzaWEtMTEwMDogaHNsYSgyODksIDk2JSwgMjglLCAwLjg4KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZnVjaHNpYS0xMjAwOiBoc2xhKDI4NiwgOTclLCAyNCUsIDAuOTMpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1mdWNoc2lhLTEzMDA6IGhzbCgyODUsIDEwMCUsIDIwJSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWZ1Y2hzaWEtMTQwMDogaHNsKDI4MSwgMTAwJSwgMTUlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcGluay0xMDA6IGhzbGEoMzQ4LCAxMDAlLCA1MSUsIDAuMDIpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1waW5rLTIwMDogaHNsYSgzNDgsIDEwMCUsIDUxJSwgMC4wNCk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXBpbmstMzAwOiBoc2xhKDM0NywgMTAwJSwgNTQlLCAwLjA4KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcGluay00MDA6IGhzbGEoMzQ3LCAxMDAlLCA1MCUsIDAuMTMpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1waW5rLTUwMDogaHNsYSgzNDcsIDEwMCUsIDUwJSwgMC4yNCk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXBpbmstNjAwOiBoc2xhKDM0NiwgMTAwJSwgNTElLCAwLjMzKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcGluay03MDA6IGhzbGEoMzQ1LCAxMDAlLCA1MCUsIDAuNDcpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1waW5rLTgwMDogaHNsYSgzNDAsIDEwMCUsIDQ4JSwgMC43NSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXBpbmstOTAwOiBoc2xhKDMzMywgOTglLCA0MSUsIDAuOTYpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1waW5rLTEwMDA6IGhzbGEoMzMyLCA5OCUsIDM2JSwgMC45Nyk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXBpbmstMTEwMDogaHNsYSgzMzEsIDEwMCUsIDMxJSwgMC45Nyk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXBpbmstMTIwMDogaHNsYSgzMzAsIDk4JSwgMjQlLCAwLjk4KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcGluay0xMzAwOiBoc2woMzMzLCAxMDAlLCAxOSUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1waW5rLTE0MDA6IGhzbCgzMzksIDEwMCUsIDEzJSwgMSk7XG59XG4iLCIuY3BkLXRoZW1lLWxpZ2h0LmNwZC10aGVtZS1saWdodCB7XG4gIC0tY3BkLWNvbG9yLWJnLWNhbnZhcy1kZWZhdWx0LWxldmVsLTE6IHZhcigtLWNwZC1jb2xvci10aGVtZS1iZyk7XG4gIC0tY3BkLWNvbG9yLWJnLXN1YnRsZS1zZWNvbmRhcnktbGV2ZWwtMDogdmFyKC0tY3BkLWNvbG9yLWdyYXktMzAwKTtcbn1cbiIsIjpyb290IHtcbiAgLS1jcGQtY29sb3ItYmctY2FudmFzLWRlZmF1bHQtbGV2ZWwtMTogdmFyKC0tY3BkLWNvbG9yLXRoZW1lLWJnKTtcbiAgLS1jcGQtY29sb3ItYmctc3VidGxlLXNlY29uZGFyeS1sZXZlbC0wOiB2YXIoLS1jcGQtY29sb3ItZ3JheS0zMDApO1xufVxuIiwiLmNwZC10aGVtZS1saWdodC1oYy5jcGQtdGhlbWUtbGlnaHQtaGMge1xuICAtLWNwZC1jb2xvci10aGVtZS1iZzogI2ZmZmZmZjtcbiAgLS1jcGQtY29sb3ItZ3JheS0xMDA6ICNmN2Y5ZmE7XG4gIC0tY3BkLWNvbG9yLWdyYXktMjAwOiAjZjBmMmY1O1xuICAtLWNwZC1jb2xvci1ncmF5LTMwMDogI2UxZTZlYztcbiAgLS1jcGQtY29sb3ItZ3JheS00MDA6ICNkN2RjZTM7XG4gIC0tY3BkLWNvbG9yLWdyYXktNTAwOiAjYmRjNGNjO1xuICAtLWNwZC1jb2xvci1ncmF5LTYwMDogI2E2YWRiNztcbiAgLS1jcGQtY29sb3ItZ3JheS03MDA6ICM4NzhmOWI7XG4gIC0tY3BkLWNvbG9yLWdyYXktODAwOiAjNmM3MzdlO1xuICAtLWNwZC1jb2xvci1ncmF5LTkwMDogIzQ3NGE1MTtcbiAgLS1jcGQtY29sb3ItZ3JheS0xMDAwOiAjM2Y0MjQ4O1xuICAtLWNwZC1jb2xvci1ncmF5LTExMDA6ICMzNTM4M2Q7XG4gIC0tY3BkLWNvbG9yLWdyYXktMTIwMDogIzJkMzAzNDtcbiAgLS1jcGQtY29sb3ItZ3JheS0xMzAwOiAjMWYyMTI2O1xuICAtLWNwZC1jb2xvci1ncmF5LTE0MDA6ICMxYTFjMjE7XG4gIC0tY3BkLWNvbG9yLXJlZC0xMDA6ICNmZmY3ZjY7XG4gIC0tY3BkLWNvbG9yLXJlZC0yMDA6ICNmZmVmZWM7XG4gIC0tY3BkLWNvbG9yLXJlZC0zMDA6ICNmZmRmZGE7XG4gIC0tY3BkLWNvbG9yLXJlZC00MDA6ICNmZmQxY2E7XG4gIC0tY3BkLWNvbG9yLXJlZC01MDA6ICNmZmFmYTU7XG4gIC0tY3BkLWNvbG9yLXJlZC02MDA6ICNmZjhjODE7XG4gIC0tY3BkLWNvbG9yLXJlZC03MDA6ICNmZjRlNDk7XG4gIC0tY3BkLWNvbG9yLXJlZC04MDA6ICNlMTFlMmE7XG4gIC0tY3BkLWNvbG9yLXJlZC05MDA6ICM5OTAwMWE7XG4gIC0tY3BkLWNvbG9yLXJlZC0xMDAwOiAjOGIwMDBjO1xuICAtLWNwZC1jb2xvci1yZWQtMTEwMDogIzc3MDAwMDtcbiAgLS1jcGQtY29sb3ItcmVkLTEyMDA6ICM2NzAwMDA7XG4gIC0tY3BkLWNvbG9yLXJlZC0xMzAwOiAjNGMwMDAwO1xuICAtLWNwZC1jb2xvci1yZWQtMTQwMDogIzQyMDAwMDtcbiAgLS1jcGQtY29sb3Itb3JhbmdlLTEwMDogI2ZmZjZlZjtcbiAgLS1jcGQtY29sb3Itb3JhbmdlLTIwMDogI2ZmZWZlNDtcbiAgLS1jcGQtY29sb3Itb3JhbmdlLTMwMDogI2ZmZGZjODtcbiAgLS1jcGQtY29sb3Itb3JhbmdlLTQwMDogI2ZmZDRiNTtcbiAgLS1jcGQtY29sb3Itb3JhbmdlLTUwMDogI2ZkYjM3YztcbiAgLS1jcGQtY29sb3Itb3JhbmdlLTYwMDogI2Y4OTQ0MDtcbiAgLS1jcGQtY29sb3Itb3JhbmdlLTcwMDogI2UyNmUwMDtcbiAgLS1jcGQtY29sb3Itb3JhbmdlLTgwMDogI2M0NGQwMDtcbiAgLS1jcGQtY29sb3Itb3JhbmdlLTkwMDogIzkzMTcwMDtcbiAgLS1jcGQtY29sb3Itb3JhbmdlLTEwMDA6ICM4OTA4MDA7XG4gIC0tY3BkLWNvbG9yLW9yYW5nZS0xMTAwOiAjNzcwMDAwO1xuICAtLWNwZC1jb2xvci1vcmFuZ2UtMTIwMDogIzY3MDAwMDtcbiAgLS1jcGQtY29sb3Itb3JhbmdlLTEzMDA6ICM0YzAwMDA7XG4gIC0tY3BkLWNvbG9yLW9yYW5nZS0xNDAwOiAjNDIwMDAwO1xuICAtLWNwZC1jb2xvci15ZWxsb3ctMTAwOiAjZmZmOGUwO1xuICAtLWNwZC1jb2xvci15ZWxsb3ctMjAwOiAjZmZmMmMxO1xuICAtLWNwZC1jb2xvci15ZWxsb3ctMzAwOiAjZmZlNDg0O1xuICAtLWNwZC1jb2xvci15ZWxsb3ctNDAwOiAjZmZkYTQ5O1xuICAtLWNwZC1jb2xvci15ZWxsb3ctNTAwOiAjZjFiZDAwO1xuICAtLWNwZC1jb2xvci15ZWxsb3ctNjAwOiAjZGVhMjAwO1xuICAtLWNwZC1jb2xvci15ZWxsb3ctNzAwOiAjYzM4MTAwO1xuICAtLWNwZC1jb2xvci15ZWxsb3ctODAwOiAjYTc2MzAwO1xuICAtLWNwZC1jb2xvci15ZWxsb3ctOTAwOiAjNzczODAwO1xuICAtLWNwZC1jb2xvci15ZWxsb3ctMTAwMDogIzZlMzEwMDtcbiAgLS1jcGQtY29sb3IteWVsbG93LTExMDA6ICM2MTI2MDA7XG4gIC0tY3BkLWNvbG9yLXllbGxvdy0xMjAwOiAjNTcxZDAwO1xuICAtLWNwZC1jb2xvci15ZWxsb3ctMTMwMDogIzQ1MGMwMDtcbiAgLS1jcGQtY29sb3IteWVsbG93LTE0MDA6ICMzZjA1MDA7XG4gIC0tY3BkLWNvbG9yLWxpbWUtMTAwOiAjZjFmY2VlO1xuICAtLWNwZC1jb2xvci1saW1lLTIwMDogI2UwZjhkOTtcbiAgLS1jcGQtY29sb3ItbGltZS0zMDA6ICNjOGYxYmE7XG4gIC0tY3BkLWNvbG9yLWxpbWUtNDAwOiAjYWZlYjliO1xuICAtLWNwZC1jb2xvci1saW1lLTUwMDogIzc2ZGI0YztcbiAgLS1jcGQtY29sb3ItbGltZS02MDA6ICM1NGM0MjQ7XG4gIC0tY3BkLWNvbG9yLWxpbWUtNzAwOiAjM2FhMzFhO1xuICAtLWNwZC1jb2xvci1saW1lLTgwMDogIzFmODUwZjtcbiAgLS1jcGQtY29sb3ItbGltZS05MDA6ICMwMDU3MDA7XG4gIC0tY3BkLWNvbG9yLWxpbWUtMTAwMDogIzAwNGYwMDtcbiAgLS1jcGQtY29sb3ItbGltZS0xMTAwOiAjMDA0MjAwO1xuICAtLWNwZC1jb2xvci1saW1lLTEyMDA6ICMwMDM5MDA7XG4gIC0tY3BkLWNvbG9yLWxpbWUtMTMwMDogIzAwMjkwMDtcbiAgLS1jcGQtY29sb3ItbGltZS0xNDAwOiAjMDAyMjAwO1xuICAtLWNwZC1jb2xvci1ncmVlbi0xMDA6ICNmMWZiZjY7XG4gIC0tY3BkLWNvbG9yLWdyZWVuLTIwMDogI2UzZjdlZDtcbiAgLS1jcGQtY29sb3ItZ3JlZW4tMzAwOiAjYzZlZWRiO1xuICAtLWNwZC1jb2xvci1ncmVlbi00MDA6ICNhZmU4Y2U7XG4gIC0tY3BkLWNvbG9yLWdyZWVuLTUwMDogIzcxZDdhZTtcbiAgLS1jcGQtY29sb3ItZ3JlZW4tNjAwOiAjMGJjNDkxO1xuICAtLWNwZC1jb2xvci1ncmVlbi03MDA6ICMwMGEyN2M7XG4gIC0tY3BkLWNvbG9yLWdyZWVuLTgwMDogIzAwODI2ODtcbiAgLS1jcGQtY29sb3ItZ3JlZW4tOTAwOiAjMDA1NTNkO1xuICAtLWNwZC1jb2xvci1ncmVlbi0xMDAwOiAjMDA0ZDM2O1xuICAtLWNwZC1jb2xvci1ncmVlbi0xMTAwOiAjMDA0MDJiO1xuICAtLWNwZC1jb2xvci1ncmVlbi0xMjAwOiAjMDAzNzIzO1xuICAtLWNwZC1jb2xvci1ncmVlbi0xMzAwOiAjMDAyNzE1O1xuICAtLWNwZC1jb2xvci1ncmVlbi0xNDAwOiAjMDAyMTBmO1xuICAtLWNwZC1jb2xvci1jeWFuLTEwMDogI2YxZmFmYjtcbiAgLS1jcGQtY29sb3ItY3lhbi0yMDA6ICNlM2Y1Zjg7XG4gIC0tY3BkLWNvbG9yLWN5YW4tMzAwOiAjYzdlY2YwO1xuICAtLWNwZC1jb2xvci1jeWFuLTQwMDogI2IxZTRlYjtcbiAgLS1jcGQtY29sb3ItY3lhbi01MDA6ICM3NmQxZGQ7XG4gIC0tY3BkLWNvbG9yLWN5YW4tNjAwOiAjMTViZWNmO1xuICAtLWNwZC1jb2xvci1jeWFuLTcwMDogIzAwOWFjMztcbiAgLS1jcGQtY29sb3ItY3lhbi04MDA6ICMwMDdhYjM7XG4gIC0tY3BkLWNvbG9yLWN5YW4tOTAwOiAjMDA0Yzg0O1xuICAtLWNwZC1jb2xvci1jeWFuLTEwMDA6ICMwMDQ0N2I7XG4gIC0tY3BkLWNvbG9yLWN5YW4tMTEwMDogIzAwMzc2ZTtcbiAgLS1jcGQtY29sb3ItY3lhbi0xMjAwOiAjMDAyZTY0O1xuICAtLWNwZC1jb2xvci1jeWFuLTEzMDA6ICMwMDFlNTM7XG4gIC0tY3BkLWNvbG9yLWN5YW4tMTQwMDogIzAwMTc0ZDtcbiAgLS1jcGQtY29sb3ItYmx1ZS0xMDA6ICNmNGY4ZmY7XG4gIC0tY3BkLWNvbG9yLWJsdWUtMjAwOiAjZTlmMmZmO1xuICAtLWNwZC1jb2xvci1ibHVlLTMwMDogI2Q4ZTdmZTtcbiAgLS1jcGQtY29sb3ItYmx1ZS00MDA6ICNjOGRkZmQ7XG4gIC0tY3BkLWNvbG9yLWJsdWUtNTAwOiAjYTNjNmZhO1xuICAtLWNwZC1jb2xvci1ibHVlLTYwMDogIzdlYWZmNjtcbiAgLS1jcGQtY29sb3ItYmx1ZS03MDA6ICM0YThlZjA7XG4gIC0tY3BkLWNvbG9yLWJsdWUtODAwOiAjMDQ2ZWU4O1xuICAtLWNwZC1jb2xvci1ibHVlLTkwMDogIzA1NDNhNztcbiAgLS1jcGQtY29sb3ItYmx1ZS0xMDAwOiAjMDUzYjlhO1xuICAtLWNwZC1jb2xvci1ibHVlLTExMDA6ICMwNDMwODg7XG4gIC0tY3BkLWNvbG9yLWJsdWUtMTIwMDogIzAzMjc3YjtcbiAgLS1jcGQtY29sb3ItYmx1ZS0xMzAwOiAjMDAxNTY5O1xuICAtLWNwZC1jb2xvci1ibHVlLTE0MDA6ICMwMDBjNjM7XG4gIC0tY3BkLWNvbG9yLXB1cnBsZS0xMDA6ICNmOGY3ZmY7XG4gIC0tY3BkLWNvbG9yLXB1cnBsZS0yMDA6ICNmMWVmZmY7XG4gIC0tY3BkLWNvbG9yLXB1cnBsZS0zMDA6ICNlNmUyZmY7XG4gIC0tY3BkLWNvbG9yLXB1cnBsZS00MDA6ICNkZGQ4ZmY7XG4gIC0tY3BkLWNvbG9yLXB1cnBsZS01MDA6ICNjNWJiZmY7XG4gIC0tY3BkLWNvbG9yLXB1cnBsZS02MDA6ICNiMWEwZmY7XG4gIC0tY3BkLWNvbG9yLXB1cnBsZS03MDA6ICM5Nzc4ZmU7XG4gIC0tY3BkLWNvbG9yLXB1cnBsZS04MDA6ICM4MjRlZjk7XG4gIC0tY3BkLWNvbG9yLXB1cnBsZS05MDA6ICM1NzFjYzQ7XG4gIC0tY3BkLWNvbG9yLXB1cnBsZS0xMDAwOiAjNGYwZGJhO1xuICAtLWNwZC1jb2xvci1wdXJwbGUtMTEwMDogIzQyMDBhNjtcbiAgLS1jcGQtY29sb3ItcHVycGxlLTEyMDA6ICMzNjAwOTQ7XG4gIC0tY3BkLWNvbG9yLXB1cnBsZS0xMzAwOiAjMjQwMDcwO1xuICAtLWNwZC1jb2xvci1wdXJwbGUtMTQwMDogIzFmMDA2MjtcbiAgLS1jcGQtY29sb3ItZnVjaHNpYS0xMDA6ICNmY2Y1ZmQ7XG4gIC0tY3BkLWNvbG9yLWZ1Y2hzaWEtMjAwOiAjZmFlZWZiO1xuICAtLWNwZC1jb2xvci1mdWNoc2lhLTMwMDogI2Y2ZGZmNztcbiAgLS1jcGQtY29sb3ItZnVjaHNpYS00MDA6ICNmMWQyZjM7XG4gIC0tY3BkLWNvbG9yLWZ1Y2hzaWEtNTAwOiAjZTdiMmVhO1xuICAtLWNwZC1jb2xvci1mdWNoc2lhLTYwMDogI2RiOTNlMTtcbiAgLS1jcGQtY29sb3ItZnVjaHNpYS03MDA6ICNjYjY4ZDQ7XG4gIC0tY3BkLWNvbG9yLWZ1Y2hzaWEtODAwOiAjYjkzN2M2O1xuICAtLWNwZC1jb2xvci1mdWNoc2lhLTkwMDogIzc4MWM5MDtcbiAgLS1jcGQtY29sb3ItZnVjaHNpYS0xMDAwOiAjNmMxNzg1O1xuICAtLWNwZC1jb2xvci1mdWNoc2lhLTExMDA6ICM1YzBmNzY7XG4gIC0tY3BkLWNvbG9yLWZ1Y2hzaWEtMTIwMDogIzUyMDI2YztcbiAgLS1jcGQtY29sb3ItZnVjaHNpYS0xMzAwOiAjM2IwMDUzO1xuICAtLWNwZC1jb2xvci1mdWNoc2lhLTE0MDA6ICMzMjAwNGE7XG4gIC0tY3BkLWNvbG9yLXBpbmstMTAwOiAjZmZmNWY3O1xuICAtLWNwZC1jb2xvci1waW5rLTIwMDogI2ZmZWNmMDtcbiAgLS1jcGQtY29sb3ItcGluay0zMDA6ICNmZmRlZTU7XG4gIC0tY3BkLWNvbG9yLXBpbmstNDAwOiAjZmZkMGRhO1xuICAtLWNwZC1jb2xvci1waW5rLTUwMDogI2ZmYWRjMDtcbiAgLS1jcGQtY29sb3ItcGluay02MDA6ICNmZjg4YTY7XG4gIC0tY3BkLWNvbG9yLXBpbmstNzAwOiAjZjk0ZTg0O1xuICAtLWNwZC1jb2xvci1waW5rLTgwMDogI2UwMGM2YTtcbiAgLS1jcGQtY29sb3ItcGluay05MDA6ICM5MjA4NGI7XG4gIC0tY3BkLWNvbG9yLXBpbmstMTAwMDogIzg0MDc0NTtcbiAgLS1jcGQtY29sb3ItcGluay0xMTAwOiAjNzIwMDNhO1xuICAtLWNwZC1jb2xvci1waW5rLTEyMDA6ICM2NDAwMmY7XG4gIC0tY3BkLWNvbG9yLXBpbmstMTMwMDogIzRhMDAxYztcbiAgLS1jcGQtY29sb3ItcGluay0xNDAwOiAjNDEwMDE1O1xuICAtLWNwZC1jb2xvci1hbHBoYS1ncmF5LTEwMDogaHNsYSgyMDAsIDQxJSwgMzYlLCAwLjA0KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZ3JheS0yMDA6IGhzbGEoMjE2LCA4OSUsIDE4JSwgMC4wNik7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWdyYXktMzAwOiBoc2xhKDIxMywgOTAlLCAyMCUsIDAuMTIpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ncmF5LTQwMDogaHNsYSgyMTUsIDg4JSwgMTclLCAwLjE2KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZ3JheS01MDA6IGhzbGEoMjEyLCA5NyUsIDEyJSwgMC4yNik7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWdyYXktNjAwOiBoc2xhKDIxNSwgOTYlLCAxMCUsIDAuMzUpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ncmF5LTcwMDogaHNsYSgyMTYsIDgxJSwgMTAlLCAwLjQ4KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZ3JheS04MDA6IGhzbGEoMjE3LCA4OSUsIDclLCAwLjU4KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZ3JheS05MDA6IGhzbGEoMjIzLCA3MCUsIDQlLCAwLjczKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZ3JheS0xMDAwOiBoc2xhKDIyMCwgNzUlLCAzJSwgMC43Nik7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWdyYXktMTEwMDogaHNsYSgyMjIsIDYzJSwgMyUsIDAuOCk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWdyYXktMTIwMDogaHNsYSgyMTAsIDY3JSwgMiUsIDAuODMpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ncmF5LTEzMDA6IGhzbGEoMjE4LCAxMDAlLCAyJSwgMC44OCk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWdyYXktMTQwMDogaHNsYSgyMjMsIDc4JSwgMiUsIDAuOSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXJlZC0xMDA6IGhzbGEoNywgMTAwJSwgNTYlLCAwLjA0KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcmVkLTIwMDogaHNsYSg5LCAxMDAlLCA1NCUsIDAuMDgpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1yZWQtMzAwOiBoc2xhKDgsIDEwMCUsIDUyJSwgMC4xNSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXJlZC00MDA6IGhzbGEoOCwgMTAwJSwgNTElLCAwLjIxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcmVkLTUwMDogaHNsYSg3LCAxMDAlLCA1MSUsIDAuMzYpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1yZWQtNjAwOiBoc2xhKDUsIDEwMCUsIDUxJSwgMC41KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcmVkLTcwMDogaHNsYSgyLCAxMDAlLCA1MCUsIDAuNzIpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1yZWQtODAwOiBoc2xhKDM1NiwgOTglLCA0NCUsIDAuODkpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1yZWQtOTAwOiBoc2woMzUwLCAxMDAlLCAzMCUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1yZWQtMTAwMDogaHNsKDM1NSwgMTAwJSwgMjclLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcmVkLTExMDA6IGhzbCgwLCAxMDAlLCAyMyUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1yZWQtMTIwMDogaHNsKDAsIDEwMCUsIDIwJSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXJlZC0xMzAwOiBoc2woMCwgMTAwJSwgMTUlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcmVkLTE0MDA6IGhzbCgwLCAxMDAlLCAxMyUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1vcmFuZ2UtMTAwOiBoc2xhKDI2LCAxMDAlLCA1NSUsIDAuMDcpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1vcmFuZ2UtMjAwOiBoc2xhKDI0LCAxMDAlLCA1MiUsIDAuMTEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1vcmFuZ2UtMzAwOiBoc2xhKDI1LCAxMDAlLCA1MSUsIDAuMjIpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1vcmFuZ2UtNDAwOiBoc2xhKDI1LCAxMDAlLCA1MiUsIDAuMyk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLW9yYW5nZS01MDA6IGhzbGEoMjYsIDk4JSwgNTAlLCAwLjUyKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtb3JhbmdlLTYwMDogaHNsYSgyNywgMTAwJSwgNDglLCAwLjc1KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtb3JhbmdlLTcwMDogaHNsKDI5LCAxMDAlLCA0NCUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1vcmFuZ2UtODAwOiBoc2woMjQsIDEwMCUsIDM4JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLW9yYW5nZS05MDA6IGhzbCg5LCAxMDAlLCAyOSUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1vcmFuZ2UtMTAwMDogaHNsKDQsIDEwMCUsIDI3JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLW9yYW5nZS0xMTAwOiBoc2woMCwgMTAwJSwgMjMlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtb3JhbmdlLTEyMDA6IGhzbCgwLCAxMDAlLCAyMCUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1vcmFuZ2UtMTMwMDogaHNsKDAsIDEwMCUsIDE1JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLW9yYW5nZS0xNDAwOiBoc2woMCwgMTAwJSwgMTMlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEteWVsbG93LTEwMDogaHNsYSg0NiwgMTAwJSwgNTMlLCAwLjEzKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEteWVsbG93LTIwMDogaHNsYSg0NywgMTAwJSwgNTElLCAwLjI1KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEteWVsbG93LTMwMDogaHNsYSg0NywgMTAwJSwgNTElLCAwLjQ5KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEteWVsbG93LTQwMDogaHNsYSg0OCwgMTAwJSwgNTAlLCAwLjcyKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEteWVsbG93LTUwMDogaHNsKDQ3LCAxMDAlLCA0NyUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS15ZWxsb3ctNjAwOiBoc2woNDQsIDEwMCUsIDQ0JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXllbGxvdy03MDA6IGhzbCg0MCwgMTAwJSwgMzglLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEteWVsbG93LTgwMDogaHNsKDM2LCAxMDAlLCAzMyUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS15ZWxsb3ctOTAwOiBoc2woMjgsIDEwMCUsIDIzJSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXllbGxvdy0xMDAwOiBoc2woMjcsIDEwMCUsIDIyJSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXllbGxvdy0xMTAwOiBoc2woMjQsIDEwMCUsIDE5JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXllbGxvdy0xMjAwOiBoc2woMjAsIDEwMCUsIDE3JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXllbGxvdy0xMzAwOiBoc2woMTAsIDEwMCUsIDE0JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXllbGxvdy0xNDAwOiBoc2woNSwgMTAwJSwgMTIlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtbGltZS0xMDA6IGhzbGEoMTA3LCA4OSUsIDQ0JSwgMC4wNyk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWxpbWUtMjAwOiBoc2xhKDEwNywgOTglLCA0MSUsIDAuMTUpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1saW1lLTMwMDogaHNsYSgxMDUsIDkyJSwgNDIlLCAwLjI4KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtbGltZS00MDA6IGhzbGEoMTA1LCA5NSUsIDQxJSwgMC40KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtbGltZS01MDA6IGhzbGEoMTAyLCA5NyUsIDQxJSwgMC43MSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWxpbWUtNjAwOiBoc2xhKDEwMiwgMTAwJSwgMzclLCAwLjg2KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtbGltZS03MDA6IGhzbGEoMTA2LCA5OSUsIDMwJSwgMC45KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtbGltZS04MDA6IGhzbGEoMTEyLCA5NyUsIDI1JSwgMC45NSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWxpbWUtOTAwOiBoc2woMTIwLCAxMDAlLCAxNyUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1saW1lLTEwMDA6IGhzbCgxMjAsIDEwMCUsIDE2JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWxpbWUtMTEwMDogaHNsKDEyMCwgMTAwJSwgMTMlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtbGltZS0xMjAwOiBoc2woMTIwLCAxMDAlLCAxMSUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1saW1lLTEzMDA6IGhzbCgxMjAsIDEwMCUsIDglLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtbGltZS0xNDAwOiBoc2woMTIwLCAxMDAlLCA3JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWdyZWVuLTEwMDogaHNsYSgxNTAsIDc5JSwgNDElLCAwLjA2KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZ3JlZW4tMjAwOiBoc2xhKDE1MCwgMTAwJSwgMzYlLCAwLjExKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZ3JlZW4tMzAwOiBoc2xhKDE1MSwgOTMlLCAzNyUsIDAuMjMpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ncmVlbi00MDA6IGhzbGEoMTUzLCA5NSUsIDM3JSwgMC4zMik7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWdyZWVuLTUwMDogaHNsYSgxNTYsIDk5JSwgMzYlLCAwLjU2KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZ3JlZW4tNjAwOiBoc2xhKDE2MywgOTklLCAzOCUsIDAuOTYpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ncmVlbi03MDA6IGhzbCgxNjYsIDEwMCUsIDMyJSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWdyZWVuLTgwMDogaHNsKDE2OCwgMTAwJSwgMjYlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZ3JlZW4tOTAwOiBoc2woMTYzLCAxMDAlLCAxNyUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ncmVlbi0xMDAwOiBoc2woMTYyLCAxMDAlLCAxNSUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ncmVlbi0xMTAwOiBoc2woMTYwLCAxMDAlLCAxMyUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ncmVlbi0xMjAwOiBoc2woMTU4LCAxMDAlLCAxMSUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ncmVlbi0xMzAwOiBoc2woMTUyLCAxMDAlLCA4JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWdyZWVuLTE0MDA6IGhzbCgxNDcsIDEwMCUsIDclLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtY3lhbi0xMDA6IGhzbGEoMTg2LCA3OSUsIDQxJSwgMC4wNik7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWN5YW4tMjAwOiBoc2xhKDE4OCwgMTAwJSwgMzglLCAwLjExKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtY3lhbi0zMDA6IGhzbGEoMTg2LCAxMDAlLCAzNyUsIDAuMjIpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1jeWFuLTQwMDogaHNsYSgxODcsIDk3JSwgMzglLCAwLjMxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtY3lhbi01MDA6IGhzbGEoMTg3LCA5OSUsIDM4JSwgMC41NCk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWN5YW4tNjAwOiBoc2xhKDE4NiwgOTklLCA0MCUsIDAuOTIpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1jeWFuLTcwMDogaHNsKDE5MywgMTAwJSwgMzglLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtY3lhbi04MDA6IGhzbCgxOTksIDEwMCUsIDM1JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWN5YW4tOTAwOiBoc2woMjA1LCAxMDAlLCAyNiUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1jeWFuLTEwMDA6IGhzbCgyMDcsIDEwMCUsIDI0JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWN5YW4tMTEwMDogaHNsKDIxMCwgMTAwJSwgMjIlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtY3lhbi0xMjAwOiBoc2woMjEyLCAxMDAlLCAyMCUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1jeWFuLTEzMDA6IGhzbCgyMTgsIDEwMCUsIDE2JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWN5YW4tMTQwMDogaHNsKDIyMiwgMTAwJSwgMTUlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtYmx1ZS0xMDA6IGhzbGEoMjE4LCAxMDAlLCA1NyUsIDAuMDUpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ibHVlLTIwMDogaHNsYSgyMTUsIDEwMCUsIDUyJSwgMC4wOSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWJsdWUtMzAwOiBoc2xhKDIxNiwgOTUlLCA1MSUsIDAuMTYpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ibHVlLTQwMDogaHNsYSgyMTYsIDk2JSwgNDklLCAwLjIyKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtYmx1ZS01MDA6IGhzbGEoMjE2LCA5NSUsIDQ4JSwgMC4zNyk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWJsdWUtNjAwOiBoc2xhKDIxNSwgOTglLCA0NyUsIDAuNTEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ibHVlLTcwMDogaHNsYSgyMTUsIDEwMCUsIDQ2JSwgMC43MSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWJsdWUtODAwOiBoc2xhKDIxMiwgOTklLCA0NiUsIDAuOTkpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ibHVlLTkwMDogaHNsYSgyMTcsIDk4JSwgMzMlLCAwLjk5KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtYmx1ZS0xMDAwOiBoc2xhKDIxOCwgOTclLCAzMCUsIDAuOTkpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ibHVlLTExMDA6IGhzbGEoMjIwLCA5OSUsIDI3JSwgMC45OSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWJsdWUtMTIwMDogaHNsYSgyMjIsIDEwMCUsIDI0JSwgMC45OSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWJsdWUtMTMwMDogaHNsKDIyOCwgMTAwJSwgMjElLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtYmx1ZS0xNDAwOiBoc2woMjMzLCAxMDAlLCAxOSUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1wdXJwbGUtMTAwOiBoc2xhKDI0OCwgMTAwJSwgNjElLCAwLjA0KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcHVycGxlLTIwMDogaHNsYSgyNDgsIDEwMCUsIDU1JSwgMC4wNyk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXB1cnBsZS0zMDA6IGhzbGEoMjQ4LCAxMDAlLCA1MyUsIDAuMTIpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1wdXJwbGUtNDAwOiBoc2xhKDI0OCwgMTAwJSwgNTIlLCAwLjE2KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcHVycGxlLTUwMDogaHNsYSgyNDksIDEwMCUsIDUxJSwgMC4yNyk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXB1cnBsZS02MDA6IGhzbGEoMjUxLCAxMDAlLCA1MSUsIDAuMzgpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1wdXJwbGUtNzAwOiBoc2xhKDI1NCwgMTAwJSwgNTAlLCAwLjUzKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcHVycGxlLTgwMDogaHNsYSgyNTgsIDk4JSwgNDklLCAwLjcpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1wdXJwbGUtOTAwOiBoc2xhKDI2MSwgOTclLCAzOCUsIDAuOSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXB1cnBsZS0xMDAwOiBoc2xhKDI2MywgMTAwJSwgMzYlLCAwLjk1KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcHVycGxlLTExMDA6IGhzbCgyNjQsIDEwMCUsIDMzJSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXB1cnBsZS0xMjAwOiBoc2woMjYyLCAxMDAlLCAyOSUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1wdXJwbGUtMTMwMDogaHNsKDI1OSwgMTAwJSwgMjIlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcHVycGxlLTE0MDA6IGhzbCgyNTksIDEwMCUsIDE5JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWZ1Y2hzaWEtMTAwOiBoc2xhKDI5MywgOTUlLCA0MSUsIDAuMDQpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1mdWNoc2lhLTIwMDogaHNsYSgyOTUsIDg5JSwgNDElLCAwLjA3KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZnVjaHNpYS0zMDA6IGhzbGEoMjk4LCA5MSUsIDQwJSwgMC4xMyk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWZ1Y2hzaWEtNDAwOiBoc2xhKDI5NiwgOTUlLCAzOCUsIDAuMTgpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1mdWNoc2lhLTUwMDogaHNsYSgyOTcsIDkzJSwgMzglLCAwLjMxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZnVjaHNpYS02MDA6IGhzbGEoMjk1LCA5NiUsIDM3JSwgMC40Myk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWZ1Y2hzaWEtNzAwOiBoc2xhKDI5NSwgOTclLCAzNyUsIDAuNik7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWZ1Y2hzaWEtODAwOiBoc2xhKDI5NCwgOTglLCAzNiUsIDAuNzkpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1mdWNoc2lhLTkwMDogaHNsYSgyODcsIDk2JSwgMjclLCAwLjkpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1mdWNoc2lhLTEwMDA6IGhzbGEoMjg2LCAxMDAlLCAyNCUsIDAuOTEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1mdWNoc2lhLTExMDA6IGhzbGEoMjg1LCA5NyUsIDIyJSwgMC45NSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWZ1Y2hzaWEtMTIwMDogaHNsKDI4NSwgOTYlLCAyMiUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1mdWNoc2lhLTEzMDA6IGhzbCgyODMsIDEwMCUsIDE2JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWZ1Y2hzaWEtMTQwMDogaHNsKDI4MSwgMTAwJSwgMTUlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcGluay0xMDA6IGhzbGEoMzQ4LCAxMDAlLCA1MSUsIDAuMDQpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1waW5rLTIwMDogaHNsYSgzNDcsIDEwMCUsIDU0JSwgMC4wOCk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXBpbmstMzAwOiBoc2xhKDM0NywgMTAwJSwgNTAlLCAwLjEzKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcGluay00MDA6IGhzbGEoMzQ3LCAxMDAlLCA1MiUsIDAuMTkpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1waW5rLTUwMDogaHNsYSgzNDYsIDEwMCUsIDUxJSwgMC4zMyk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXBpbmstNjAwOiBoc2xhKDM0NSwgMTAwJSwgNTAlLCAwLjQ3KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcGluay03MDA6IGhzbGEoMzQxLCA5OCUsIDQ5JSwgMC43KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcGluay04MDA6IGhzbGEoMzMzLCA5OCUsIDQ0JSwgMC45Nik7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXBpbmstOTAwOiBoc2xhKDMzMSwgMTAwJSwgMjglLCAwLjk3KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcGluay0xMDAwOiBoc2xhKDMzMCwgOTclLCAyNiUsIDAuOTgpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1waW5rLTExMDA6IGhzbCgzMjksIDEwMCUsIDIyJSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXBpbmstMTIwMDogaHNsKDMzMiwgMTAwJSwgMjAlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcGluay0xMzAwOiBoc2woMzM3LCAxMDAlLCAxNSUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1waW5rLTE0MDA6IGhzbCgzNDEsIDEwMCUsIDEzJSwgMSk7XG59XG4iLCI6cm9vdCB7XG4gIC0tY3BkLWNvbG9yLXRoZW1lLWJnOiAjZmZmZmZmO1xuICAtLWNwZC1jb2xvci1ncmF5LTEwMDogI2Y3ZjlmYTtcbiAgLS1jcGQtY29sb3ItZ3JheS0yMDA6ICNmMGYyZjU7XG4gIC0tY3BkLWNvbG9yLWdyYXktMzAwOiAjZTFlNmVjO1xuICAtLWNwZC1jb2xvci1ncmF5LTQwMDogI2Q3ZGNlMztcbiAgLS1jcGQtY29sb3ItZ3JheS01MDA6ICNiZGM0Y2M7XG4gIC0tY3BkLWNvbG9yLWdyYXktNjAwOiAjYTZhZGI3O1xuICAtLWNwZC1jb2xvci1ncmF5LTcwMDogIzg3OGY5YjtcbiAgLS1jcGQtY29sb3ItZ3JheS04MDA6ICM2YzczN2U7XG4gIC0tY3BkLWNvbG9yLWdyYXktOTAwOiAjNDc0YTUxO1xuICAtLWNwZC1jb2xvci1ncmF5LTEwMDA6ICMzZjQyNDg7XG4gIC0tY3BkLWNvbG9yLWdyYXktMTEwMDogIzM1MzgzZDtcbiAgLS1jcGQtY29sb3ItZ3JheS0xMjAwOiAjMmQzMDM0O1xuICAtLWNwZC1jb2xvci1ncmF5LTEzMDA6ICMxZjIxMjY7XG4gIC0tY3BkLWNvbG9yLWdyYXktMTQwMDogIzFhMWMyMTtcbiAgLS1jcGQtY29sb3ItcmVkLTEwMDogI2ZmZjdmNjtcbiAgLS1jcGQtY29sb3ItcmVkLTIwMDogI2ZmZWZlYztcbiAgLS1jcGQtY29sb3ItcmVkLTMwMDogI2ZmZGZkYTtcbiAgLS1jcGQtY29sb3ItcmVkLTQwMDogI2ZmZDFjYTtcbiAgLS1jcGQtY29sb3ItcmVkLTUwMDogI2ZmYWZhNTtcbiAgLS1jcGQtY29sb3ItcmVkLTYwMDogI2ZmOGM4MTtcbiAgLS1jcGQtY29sb3ItcmVkLTcwMDogI2ZmNGU0OTtcbiAgLS1jcGQtY29sb3ItcmVkLTgwMDogI2UxMWUyYTtcbiAgLS1jcGQtY29sb3ItcmVkLTkwMDogIzk5MDAxYTtcbiAgLS1jcGQtY29sb3ItcmVkLTEwMDA6ICM4YjAwMGM7XG4gIC0tY3BkLWNvbG9yLXJlZC0xMTAwOiAjNzcwMDAwO1xuICAtLWNwZC1jb2xvci1yZWQtMTIwMDogIzY3MDAwMDtcbiAgLS1jcGQtY29sb3ItcmVkLTEzMDA6ICM0YzAwMDA7XG4gIC0tY3BkLWNvbG9yLXJlZC0xNDAwOiAjNDIwMDAwO1xuICAtLWNwZC1jb2xvci1vcmFuZ2UtMTAwOiAjZmZmNmVmO1xuICAtLWNwZC1jb2xvci1vcmFuZ2UtMjAwOiAjZmZlZmU0O1xuICAtLWNwZC1jb2xvci1vcmFuZ2UtMzAwOiAjZmZkZmM4O1xuICAtLWNwZC1jb2xvci1vcmFuZ2UtNDAwOiAjZmZkNGI1O1xuICAtLWNwZC1jb2xvci1vcmFuZ2UtNTAwOiAjZmRiMzdjO1xuICAtLWNwZC1jb2xvci1vcmFuZ2UtNjAwOiAjZjg5NDQwO1xuICAtLWNwZC1jb2xvci1vcmFuZ2UtNzAwOiAjZTI2ZTAwO1xuICAtLWNwZC1jb2xvci1vcmFuZ2UtODAwOiAjYzQ0ZDAwO1xuICAtLWNwZC1jb2xvci1vcmFuZ2UtOTAwOiAjOTMxNzAwO1xuICAtLWNwZC1jb2xvci1vcmFuZ2UtMTAwMDogIzg5MDgwMDtcbiAgLS1jcGQtY29sb3Itb3JhbmdlLTExMDA6ICM3NzAwMDA7XG4gIC0tY3BkLWNvbG9yLW9yYW5nZS0xMjAwOiAjNjcwMDAwO1xuICAtLWNwZC1jb2xvci1vcmFuZ2UtMTMwMDogIzRjMDAwMDtcbiAgLS1jcGQtY29sb3Itb3JhbmdlLTE0MDA6ICM0MjAwMDA7XG4gIC0tY3BkLWNvbG9yLXllbGxvdy0xMDA6ICNmZmY4ZTA7XG4gIC0tY3BkLWNvbG9yLXllbGxvdy0yMDA6ICNmZmYyYzE7XG4gIC0tY3BkLWNvbG9yLXllbGxvdy0zMDA6ICNmZmU0ODQ7XG4gIC0tY3BkLWNvbG9yLXllbGxvdy00MDA6ICNmZmRhNDk7XG4gIC0tY3BkLWNvbG9yLXllbGxvdy01MDA6ICNmMWJkMDA7XG4gIC0tY3BkLWNvbG9yLXllbGxvdy02MDA6ICNkZWEyMDA7XG4gIC0tY3BkLWNvbG9yLXllbGxvdy03MDA6ICNjMzgxMDA7XG4gIC0tY3BkLWNvbG9yLXllbGxvdy04MDA6ICNhNzYzMDA7XG4gIC0tY3BkLWNvbG9yLXllbGxvdy05MDA6ICM3NzM4MDA7XG4gIC0tY3BkLWNvbG9yLXllbGxvdy0xMDAwOiAjNmUzMTAwO1xuICAtLWNwZC1jb2xvci15ZWxsb3ctMTEwMDogIzYxMjYwMDtcbiAgLS1jcGQtY29sb3IteWVsbG93LTEyMDA6ICM1NzFkMDA7XG4gIC0tY3BkLWNvbG9yLXllbGxvdy0xMzAwOiAjNDUwYzAwO1xuICAtLWNwZC1jb2xvci15ZWxsb3ctMTQwMDogIzNmMDUwMDtcbiAgLS1jcGQtY29sb3ItbGltZS0xMDA6ICNmMWZjZWU7XG4gIC0tY3BkLWNvbG9yLWxpbWUtMjAwOiAjZTBmOGQ5O1xuICAtLWNwZC1jb2xvci1saW1lLTMwMDogI2M4ZjFiYTtcbiAgLS1jcGQtY29sb3ItbGltZS00MDA6ICNhZmViOWI7XG4gIC0tY3BkLWNvbG9yLWxpbWUtNTAwOiAjNzZkYjRjO1xuICAtLWNwZC1jb2xvci1saW1lLTYwMDogIzU0YzQyNDtcbiAgLS1jcGQtY29sb3ItbGltZS03MDA6ICMzYWEzMWE7XG4gIC0tY3BkLWNvbG9yLWxpbWUtODAwOiAjMWY4NTBmO1xuICAtLWNwZC1jb2xvci1saW1lLTkwMDogIzAwNTcwMDtcbiAgLS1jcGQtY29sb3ItbGltZS0xMDAwOiAjMDA0ZjAwO1xuICAtLWNwZC1jb2xvci1saW1lLTExMDA6ICMwMDQyMDA7XG4gIC0tY3BkLWNvbG9yLWxpbWUtMTIwMDogIzAwMzkwMDtcbiAgLS1jcGQtY29sb3ItbGltZS0xMzAwOiAjMDAyOTAwO1xuICAtLWNwZC1jb2xvci1saW1lLTE0MDA6ICMwMDIyMDA7XG4gIC0tY3BkLWNvbG9yLWdyZWVuLTEwMDogI2YxZmJmNjtcbiAgLS1jcGQtY29sb3ItZ3JlZW4tMjAwOiAjZTNmN2VkO1xuICAtLWNwZC1jb2xvci1ncmVlbi0zMDA6ICNjNmVlZGI7XG4gIC0tY3BkLWNvbG9yLWdyZWVuLTQwMDogI2FmZThjZTtcbiAgLS1jcGQtY29sb3ItZ3JlZW4tNTAwOiAjNzFkN2FlO1xuICAtLWNwZC1jb2xvci1ncmVlbi02MDA6ICMwYmM0OTE7XG4gIC0tY3BkLWNvbG9yLWdyZWVuLTcwMDogIzAwYTI3YztcbiAgLS1jcGQtY29sb3ItZ3JlZW4tODAwOiAjMDA4MjY4O1xuICAtLWNwZC1jb2xvci1ncmVlbi05MDA6ICMwMDU1M2Q7XG4gIC0tY3BkLWNvbG9yLWdyZWVuLTEwMDA6ICMwMDRkMzY7XG4gIC0tY3BkLWNvbG9yLWdyZWVuLTExMDA6ICMwMDQwMmI7XG4gIC0tY3BkLWNvbG9yLWdyZWVuLTEyMDA6ICMwMDM3MjM7XG4gIC0tY3BkLWNvbG9yLWdyZWVuLTEzMDA6ICMwMDI3MTU7XG4gIC0tY3BkLWNvbG9yLWdyZWVuLTE0MDA6ICMwMDIxMGY7XG4gIC0tY3BkLWNvbG9yLWN5YW4tMTAwOiAjZjFmYWZiO1xuICAtLWNwZC1jb2xvci1jeWFuLTIwMDogI2UzZjVmODtcbiAgLS1jcGQtY29sb3ItY3lhbi0zMDA6ICNjN2VjZjA7XG4gIC0tY3BkLWNvbG9yLWN5YW4tNDAwOiAjYjFlNGViO1xuICAtLWNwZC1jb2xvci1jeWFuLTUwMDogIzc2ZDFkZDtcbiAgLS1jcGQtY29sb3ItY3lhbi02MDA6ICMxNWJlY2Y7XG4gIC0tY3BkLWNvbG9yLWN5YW4tNzAwOiAjMDA5YWMzO1xuICAtLWNwZC1jb2xvci1jeWFuLTgwMDogIzAwN2FiMztcbiAgLS1jcGQtY29sb3ItY3lhbi05MDA6ICMwMDRjODQ7XG4gIC0tY3BkLWNvbG9yLWN5YW4tMTAwMDogIzAwNDQ3YjtcbiAgLS1jcGQtY29sb3ItY3lhbi0xMTAwOiAjMDAzNzZlO1xuICAtLWNwZC1jb2xvci1jeWFuLTEyMDA6ICMwMDJlNjQ7XG4gIC0tY3BkLWNvbG9yLWN5YW4tMTMwMDogIzAwMWU1MztcbiAgLS1jcGQtY29sb3ItY3lhbi0xNDAwOiAjMDAxNzRkO1xuICAtLWNwZC1jb2xvci1ibHVlLTEwMDogI2Y0ZjhmZjtcbiAgLS1jcGQtY29sb3ItYmx1ZS0yMDA6ICNlOWYyZmY7XG4gIC0tY3BkLWNvbG9yLWJsdWUtMzAwOiAjZDhlN2ZlO1xuICAtLWNwZC1jb2xvci1ibHVlLTQwMDogI2M4ZGRmZDtcbiAgLS1jcGQtY29sb3ItYmx1ZS01MDA6ICNhM2M2ZmE7XG4gIC0tY3BkLWNvbG9yLWJsdWUtNjAwOiAjN2VhZmY2O1xuICAtLWNwZC1jb2xvci1ibHVlLTcwMDogIzRhOGVmMDtcbiAgLS1jcGQtY29sb3ItYmx1ZS04MDA6ICMwNDZlZTg7XG4gIC0tY3BkLWNvbG9yLWJsdWUtOTAwOiAjMDU0M2E3O1xuICAtLWNwZC1jb2xvci1ibHVlLTEwMDA6ICMwNTNiOWE7XG4gIC0tY3BkLWNvbG9yLWJsdWUtMTEwMDogIzA0MzA4ODtcbiAgLS1jcGQtY29sb3ItYmx1ZS0xMjAwOiAjMDMyNzdiO1xuICAtLWNwZC1jb2xvci1ibHVlLTEzMDA6ICMwMDE1Njk7XG4gIC0tY3BkLWNvbG9yLWJsdWUtMTQwMDogIzAwMGM2MztcbiAgLS1jcGQtY29sb3ItcHVycGxlLTEwMDogI2Y4ZjdmZjtcbiAgLS1jcGQtY29sb3ItcHVycGxlLTIwMDogI2YxZWZmZjtcbiAgLS1jcGQtY29sb3ItcHVycGxlLTMwMDogI2U2ZTJmZjtcbiAgLS1jcGQtY29sb3ItcHVycGxlLTQwMDogI2RkZDhmZjtcbiAgLS1jcGQtY29sb3ItcHVycGxlLTUwMDogI2M1YmJmZjtcbiAgLS1jcGQtY29sb3ItcHVycGxlLTYwMDogI2IxYTBmZjtcbiAgLS1jcGQtY29sb3ItcHVycGxlLTcwMDogIzk3NzhmZTtcbiAgLS1jcGQtY29sb3ItcHVycGxlLTgwMDogIzgyNGVmOTtcbiAgLS1jcGQtY29sb3ItcHVycGxlLTkwMDogIzU3MWNjNDtcbiAgLS1jcGQtY29sb3ItcHVycGxlLTEwMDA6ICM0ZjBkYmE7XG4gIC0tY3BkLWNvbG9yLXB1cnBsZS0xMTAwOiAjNDIwMGE2O1xuICAtLWNwZC1jb2xvci1wdXJwbGUtMTIwMDogIzM2MDA5NDtcbiAgLS1jcGQtY29sb3ItcHVycGxlLTEzMDA6ICMyNDAwNzA7XG4gIC0tY3BkLWNvbG9yLXB1cnBsZS0xNDAwOiAjMWYwMDYyO1xuICAtLWNwZC1jb2xvci1mdWNoc2lhLTEwMDogI2ZjZjVmZDtcbiAgLS1jcGQtY29sb3ItZnVjaHNpYS0yMDA6ICNmYWVlZmI7XG4gIC0tY3BkLWNvbG9yLWZ1Y2hzaWEtMzAwOiAjZjZkZmY3O1xuICAtLWNwZC1jb2xvci1mdWNoc2lhLTQwMDogI2YxZDJmMztcbiAgLS1jcGQtY29sb3ItZnVjaHNpYS01MDA6ICNlN2IyZWE7XG4gIC0tY3BkLWNvbG9yLWZ1Y2hzaWEtNjAwOiAjZGI5M2UxO1xuICAtLWNwZC1jb2xvci1mdWNoc2lhLTcwMDogI2NiNjhkNDtcbiAgLS1jcGQtY29sb3ItZnVjaHNpYS04MDA6ICNiOTM3YzY7XG4gIC0tY3BkLWNvbG9yLWZ1Y2hzaWEtOTAwOiAjNzgxYzkwO1xuICAtLWNwZC1jb2xvci1mdWNoc2lhLTEwMDA6ICM2YzE3ODU7XG4gIC0tY3BkLWNvbG9yLWZ1Y2hzaWEtMTEwMDogIzVjMGY3NjtcbiAgLS1jcGQtY29sb3ItZnVjaHNpYS0xMjAwOiAjNTIwMjZjO1xuICAtLWNwZC1jb2xvci1mdWNoc2lhLTEzMDA6ICMzYjAwNTM7XG4gIC0tY3BkLWNvbG9yLWZ1Y2hzaWEtMTQwMDogIzMyMDA0YTtcbiAgLS1jcGQtY29sb3ItcGluay0xMDA6ICNmZmY1Zjc7XG4gIC0tY3BkLWNvbG9yLXBpbmstMjAwOiAjZmZlY2YwO1xuICAtLWNwZC1jb2xvci1waW5rLTMwMDogI2ZmZGVlNTtcbiAgLS1jcGQtY29sb3ItcGluay00MDA6ICNmZmQwZGE7XG4gIC0tY3BkLWNvbG9yLXBpbmstNTAwOiAjZmZhZGMwO1xuICAtLWNwZC1jb2xvci1waW5rLTYwMDogI2ZmODhhNjtcbiAgLS1jcGQtY29sb3ItcGluay03MDA6ICNmOTRlODQ7XG4gIC0tY3BkLWNvbG9yLXBpbmstODAwOiAjZTAwYzZhO1xuICAtLWNwZC1jb2xvci1waW5rLTkwMDogIzkyMDg0YjtcbiAgLS1jcGQtY29sb3ItcGluay0xMDAwOiAjODQwNzQ1O1xuICAtLWNwZC1jb2xvci1waW5rLTExMDA6ICM3MjAwM2E7XG4gIC0tY3BkLWNvbG9yLXBpbmstMTIwMDogIzY0MDAyZjtcbiAgLS1jcGQtY29sb3ItcGluay0xMzAwOiAjNGEwMDFjO1xuICAtLWNwZC1jb2xvci1waW5rLTE0MDA6ICM0MTAwMTU7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWdyYXktMTAwOiBoc2xhKDIwMCwgNDElLCAzNiUsIDAuMDQpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ncmF5LTIwMDogaHNsYSgyMTYsIDg5JSwgMTglLCAwLjA2KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZ3JheS0zMDA6IGhzbGEoMjEzLCA5MCUsIDIwJSwgMC4xMik7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWdyYXktNDAwOiBoc2xhKDIxNSwgODglLCAxNyUsIDAuMTYpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ncmF5LTUwMDogaHNsYSgyMTIsIDk3JSwgMTIlLCAwLjI2KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZ3JheS02MDA6IGhzbGEoMjE1LCA5NiUsIDEwJSwgMC4zNSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWdyYXktNzAwOiBoc2xhKDIxNiwgODElLCAxMCUsIDAuNDgpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ncmF5LTgwMDogaHNsYSgyMTcsIDg5JSwgNyUsIDAuNTgpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ncmF5LTkwMDogaHNsYSgyMjMsIDcwJSwgNCUsIDAuNzMpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ncmF5LTEwMDA6IGhzbGEoMjIwLCA3NSUsIDMlLCAwLjc2KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZ3JheS0xMTAwOiBoc2xhKDIyMiwgNjMlLCAzJSwgMC44KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZ3JheS0xMjAwOiBoc2xhKDIxMCwgNjclLCAyJSwgMC44Myk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWdyYXktMTMwMDogaHNsYSgyMTgsIDEwMCUsIDIlLCAwLjg4KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZ3JheS0xNDAwOiBoc2xhKDIyMywgNzglLCAyJSwgMC45KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcmVkLTEwMDogaHNsYSg3LCAxMDAlLCA1NiUsIDAuMDQpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1yZWQtMjAwOiBoc2xhKDksIDEwMCUsIDU0JSwgMC4wOCk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXJlZC0zMDA6IGhzbGEoOCwgMTAwJSwgNTIlLCAwLjE1KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcmVkLTQwMDogaHNsYSg4LCAxMDAlLCA1MSUsIDAuMjEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1yZWQtNTAwOiBoc2xhKDcsIDEwMCUsIDUxJSwgMC4zNik7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXJlZC02MDA6IGhzbGEoNSwgMTAwJSwgNTElLCAwLjUpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1yZWQtNzAwOiBoc2xhKDIsIDEwMCUsIDUwJSwgMC43Mik7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXJlZC04MDA6IGhzbGEoMzU2LCA5OCUsIDQ0JSwgMC44OSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXJlZC05MDA6IGhzbCgzNTAsIDEwMCUsIDMwJSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXJlZC0xMDAwOiBoc2woMzU1LCAxMDAlLCAyNyUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1yZWQtMTEwMDogaHNsKDAsIDEwMCUsIDIzJSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXJlZC0xMjAwOiBoc2woMCwgMTAwJSwgMjAlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcmVkLTEzMDA6IGhzbCgwLCAxMDAlLCAxNSUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1yZWQtMTQwMDogaHNsKDAsIDEwMCUsIDEzJSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLW9yYW5nZS0xMDA6IGhzbGEoMjYsIDEwMCUsIDU1JSwgMC4wNyk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLW9yYW5nZS0yMDA6IGhzbGEoMjQsIDEwMCUsIDUyJSwgMC4xMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLW9yYW5nZS0zMDA6IGhzbGEoMjUsIDEwMCUsIDUxJSwgMC4yMik7XG4gIC0tY3BkLWNvbG9yLWFscGhhLW9yYW5nZS00MDA6IGhzbGEoMjUsIDEwMCUsIDUyJSwgMC4zKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtb3JhbmdlLTUwMDogaHNsYSgyNiwgOTglLCA1MCUsIDAuNTIpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1vcmFuZ2UtNjAwOiBoc2xhKDI3LCAxMDAlLCA0OCUsIDAuNzUpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1vcmFuZ2UtNzAwOiBoc2woMjksIDEwMCUsIDQ0JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLW9yYW5nZS04MDA6IGhzbCgyNCwgMTAwJSwgMzglLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtb3JhbmdlLTkwMDogaHNsKDksIDEwMCUsIDI5JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLW9yYW5nZS0xMDAwOiBoc2woNCwgMTAwJSwgMjclLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtb3JhbmdlLTExMDA6IGhzbCgwLCAxMDAlLCAyMyUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1vcmFuZ2UtMTIwMDogaHNsKDAsIDEwMCUsIDIwJSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLW9yYW5nZS0xMzAwOiBoc2woMCwgMTAwJSwgMTUlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtb3JhbmdlLTE0MDA6IGhzbCgwLCAxMDAlLCAxMyUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS15ZWxsb3ctMTAwOiBoc2xhKDQ2LCAxMDAlLCA1MyUsIDAuMTMpO1xuICAtLWNwZC1jb2xvci1hbHBoYS15ZWxsb3ctMjAwOiBoc2xhKDQ3LCAxMDAlLCA1MSUsIDAuMjUpO1xuICAtLWNwZC1jb2xvci1hbHBoYS15ZWxsb3ctMzAwOiBoc2xhKDQ3LCAxMDAlLCA1MSUsIDAuNDkpO1xuICAtLWNwZC1jb2xvci1hbHBoYS15ZWxsb3ctNDAwOiBoc2xhKDQ4LCAxMDAlLCA1MCUsIDAuNzIpO1xuICAtLWNwZC1jb2xvci1hbHBoYS15ZWxsb3ctNTAwOiBoc2woNDcsIDEwMCUsIDQ3JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXllbGxvdy02MDA6IGhzbCg0NCwgMTAwJSwgNDQlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEteWVsbG93LTcwMDogaHNsKDQwLCAxMDAlLCAzOCUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS15ZWxsb3ctODAwOiBoc2woMzYsIDEwMCUsIDMzJSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXllbGxvdy05MDA6IGhzbCgyOCwgMTAwJSwgMjMlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEteWVsbG93LTEwMDA6IGhzbCgyNywgMTAwJSwgMjIlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEteWVsbG93LTExMDA6IGhzbCgyNCwgMTAwJSwgMTklLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEteWVsbG93LTEyMDA6IGhzbCgyMCwgMTAwJSwgMTclLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEteWVsbG93LTEzMDA6IGhzbCgxMCwgMTAwJSwgMTQlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEteWVsbG93LTE0MDA6IGhzbCg1LCAxMDAlLCAxMiUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1saW1lLTEwMDogaHNsYSgxMDcsIDg5JSwgNDQlLCAwLjA3KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtbGltZS0yMDA6IGhzbGEoMTA3LCA5OCUsIDQxJSwgMC4xNSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWxpbWUtMzAwOiBoc2xhKDEwNSwgOTIlLCA0MiUsIDAuMjgpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1saW1lLTQwMDogaHNsYSgxMDUsIDk1JSwgNDElLCAwLjQpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1saW1lLTUwMDogaHNsYSgxMDIsIDk3JSwgNDElLCAwLjcxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtbGltZS02MDA6IGhzbGEoMTAyLCAxMDAlLCAzNyUsIDAuODYpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1saW1lLTcwMDogaHNsYSgxMDYsIDk5JSwgMzAlLCAwLjkpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1saW1lLTgwMDogaHNsYSgxMTIsIDk3JSwgMjUlLCAwLjk1KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtbGltZS05MDA6IGhzbCgxMjAsIDEwMCUsIDE3JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWxpbWUtMTAwMDogaHNsKDEyMCwgMTAwJSwgMTYlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtbGltZS0xMTAwOiBoc2woMTIwLCAxMDAlLCAxMyUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1saW1lLTEyMDA6IGhzbCgxMjAsIDEwMCUsIDExJSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWxpbWUtMTMwMDogaHNsKDEyMCwgMTAwJSwgOCUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1saW1lLTE0MDA6IGhzbCgxMjAsIDEwMCUsIDclLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZ3JlZW4tMTAwOiBoc2xhKDE1MCwgNzklLCA0MSUsIDAuMDYpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ncmVlbi0yMDA6IGhzbGEoMTUwLCAxMDAlLCAzNiUsIDAuMTEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ncmVlbi0zMDA6IGhzbGEoMTUxLCA5MyUsIDM3JSwgMC4yMyk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWdyZWVuLTQwMDogaHNsYSgxNTMsIDk1JSwgMzclLCAwLjMyKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZ3JlZW4tNTAwOiBoc2xhKDE1NiwgOTklLCAzNiUsIDAuNTYpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ncmVlbi02MDA6IGhzbGEoMTYzLCA5OSUsIDM4JSwgMC45Nik7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWdyZWVuLTcwMDogaHNsKDE2NiwgMTAwJSwgMzIlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZ3JlZW4tODAwOiBoc2woMTY4LCAxMDAlLCAyNiUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ncmVlbi05MDA6IGhzbCgxNjMsIDEwMCUsIDE3JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWdyZWVuLTEwMDA6IGhzbCgxNjIsIDEwMCUsIDE1JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWdyZWVuLTExMDA6IGhzbCgxNjAsIDEwMCUsIDEzJSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWdyZWVuLTEyMDA6IGhzbCgxNTgsIDEwMCUsIDExJSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWdyZWVuLTEzMDA6IGhzbCgxNTIsIDEwMCUsIDglLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZ3JlZW4tMTQwMDogaHNsKDE0NywgMTAwJSwgNyUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1jeWFuLTEwMDogaHNsYSgxODYsIDc5JSwgNDElLCAwLjA2KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtY3lhbi0yMDA6IGhzbGEoMTg4LCAxMDAlLCAzOCUsIDAuMTEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1jeWFuLTMwMDogaHNsYSgxODYsIDEwMCUsIDM3JSwgMC4yMik7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWN5YW4tNDAwOiBoc2xhKDE4NywgOTclLCAzOCUsIDAuMzEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1jeWFuLTUwMDogaHNsYSgxODcsIDk5JSwgMzglLCAwLjU0KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtY3lhbi02MDA6IGhzbGEoMTg2LCA5OSUsIDQwJSwgMC45Mik7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWN5YW4tNzAwOiBoc2woMTkzLCAxMDAlLCAzOCUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1jeWFuLTgwMDogaHNsKDE5OSwgMTAwJSwgMzUlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtY3lhbi05MDA6IGhzbCgyMDUsIDEwMCUsIDI2JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWN5YW4tMTAwMDogaHNsKDIwNywgMTAwJSwgMjQlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtY3lhbi0xMTAwOiBoc2woMjEwLCAxMDAlLCAyMiUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1jeWFuLTEyMDA6IGhzbCgyMTIsIDEwMCUsIDIwJSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWN5YW4tMTMwMDogaHNsKDIxOCwgMTAwJSwgMTYlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtY3lhbi0xNDAwOiBoc2woMjIyLCAxMDAlLCAxNSUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ibHVlLTEwMDogaHNsYSgyMTgsIDEwMCUsIDU3JSwgMC4wNSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWJsdWUtMjAwOiBoc2xhKDIxNSwgMTAwJSwgNTIlLCAwLjA5KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtYmx1ZS0zMDA6IGhzbGEoMjE2LCA5NSUsIDUxJSwgMC4xNik7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWJsdWUtNDAwOiBoc2xhKDIxNiwgOTYlLCA0OSUsIDAuMjIpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ibHVlLTUwMDogaHNsYSgyMTYsIDk1JSwgNDglLCAwLjM3KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtYmx1ZS02MDA6IGhzbGEoMjE1LCA5OCUsIDQ3JSwgMC41MSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWJsdWUtNzAwOiBoc2xhKDIxNSwgMTAwJSwgNDYlLCAwLjcxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtYmx1ZS04MDA6IGhzbGEoMjEyLCA5OSUsIDQ2JSwgMC45OSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWJsdWUtOTAwOiBoc2xhKDIxNywgOTglLCAzMyUsIDAuOTkpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ibHVlLTEwMDA6IGhzbGEoMjE4LCA5NyUsIDMwJSwgMC45OSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWJsdWUtMTEwMDogaHNsYSgyMjAsIDk5JSwgMjclLCAwLjk5KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtYmx1ZS0xMjAwOiBoc2xhKDIyMiwgMTAwJSwgMjQlLCAwLjk5KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtYmx1ZS0xMzAwOiBoc2woMjI4LCAxMDAlLCAyMSUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ibHVlLTE0MDA6IGhzbCgyMzMsIDEwMCUsIDE5JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXB1cnBsZS0xMDA6IGhzbGEoMjQ4LCAxMDAlLCA2MSUsIDAuMDQpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1wdXJwbGUtMjAwOiBoc2xhKDI0OCwgMTAwJSwgNTUlLCAwLjA3KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcHVycGxlLTMwMDogaHNsYSgyNDgsIDEwMCUsIDUzJSwgMC4xMik7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXB1cnBsZS00MDA6IGhzbGEoMjQ4LCAxMDAlLCA1MiUsIDAuMTYpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1wdXJwbGUtNTAwOiBoc2xhKDI0OSwgMTAwJSwgNTElLCAwLjI3KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcHVycGxlLTYwMDogaHNsYSgyNTEsIDEwMCUsIDUxJSwgMC4zOCk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXB1cnBsZS03MDA6IGhzbGEoMjU0LCAxMDAlLCA1MCUsIDAuNTMpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1wdXJwbGUtODAwOiBoc2xhKDI1OCwgOTglLCA0OSUsIDAuNyk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXB1cnBsZS05MDA6IGhzbGEoMjYxLCA5NyUsIDM4JSwgMC45KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcHVycGxlLTEwMDA6IGhzbGEoMjYzLCAxMDAlLCAzNiUsIDAuOTUpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1wdXJwbGUtMTEwMDogaHNsKDI2NCwgMTAwJSwgMzMlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcHVycGxlLTEyMDA6IGhzbCgyNjIsIDEwMCUsIDI5JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXB1cnBsZS0xMzAwOiBoc2woMjU5LCAxMDAlLCAyMiUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1wdXJwbGUtMTQwMDogaHNsKDI1OSwgMTAwJSwgMTklLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZnVjaHNpYS0xMDA6IGhzbGEoMjkzLCA5NSUsIDQxJSwgMC4wNCk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWZ1Y2hzaWEtMjAwOiBoc2xhKDI5NSwgODklLCA0MSUsIDAuMDcpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1mdWNoc2lhLTMwMDogaHNsYSgyOTgsIDkxJSwgNDAlLCAwLjEzKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZnVjaHNpYS00MDA6IGhzbGEoMjk2LCA5NSUsIDM4JSwgMC4xOCk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWZ1Y2hzaWEtNTAwOiBoc2xhKDI5NywgOTMlLCAzOCUsIDAuMzEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1mdWNoc2lhLTYwMDogaHNsYSgyOTUsIDk2JSwgMzclLCAwLjQzKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZnVjaHNpYS03MDA6IGhzbGEoMjk1LCA5NyUsIDM3JSwgMC42KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZnVjaHNpYS04MDA6IGhzbGEoMjk0LCA5OCUsIDM2JSwgMC43OSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWZ1Y2hzaWEtOTAwOiBoc2xhKDI4NywgOTYlLCAyNyUsIDAuOSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWZ1Y2hzaWEtMTAwMDogaHNsYSgyODYsIDEwMCUsIDI0JSwgMC45MSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWZ1Y2hzaWEtMTEwMDogaHNsYSgyODUsIDk3JSwgMjIlLCAwLjk1KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZnVjaHNpYS0xMjAwOiBoc2woMjg1LCA5NiUsIDIyJSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWZ1Y2hzaWEtMTMwMDogaHNsKDI4MywgMTAwJSwgMTYlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZnVjaHNpYS0xNDAwOiBoc2woMjgxLCAxMDAlLCAxNSUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1waW5rLTEwMDogaHNsYSgzNDgsIDEwMCUsIDUxJSwgMC4wNCk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXBpbmstMjAwOiBoc2xhKDM0NywgMTAwJSwgNTQlLCAwLjA4KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcGluay0zMDA6IGhzbGEoMzQ3LCAxMDAlLCA1MCUsIDAuMTMpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1waW5rLTQwMDogaHNsYSgzNDcsIDEwMCUsIDUyJSwgMC4xOSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXBpbmstNTAwOiBoc2xhKDM0NiwgMTAwJSwgNTElLCAwLjMzKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcGluay02MDA6IGhzbGEoMzQ1LCAxMDAlLCA1MCUsIDAuNDcpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1waW5rLTcwMDogaHNsYSgzNDEsIDk4JSwgNDklLCAwLjcpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1waW5rLTgwMDogaHNsYSgzMzMsIDk4JSwgNDQlLCAwLjk2KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcGluay05MDA6IGhzbGEoMzMxLCAxMDAlLCAyOCUsIDAuOTcpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1waW5rLTEwMDA6IGhzbGEoMzMwLCA5NyUsIDI2JSwgMC45OCk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXBpbmstMTEwMDogaHNsKDMyOSwgMTAwJSwgMjIlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcGluay0xMjAwOiBoc2woMzMyLCAxMDAlLCAyMCUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1waW5rLTEzMDA6IGhzbCgzMzcsIDEwMCUsIDE1JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXBpbmstMTQwMDogaHNsKDM0MSwgMTAwJSwgMTMlLCAxKTtcbn1cbiIsIi5jcGQtdGhlbWUtbGlnaHQtaGMuY3BkLXRoZW1lLWxpZ2h0LWhjIHtcbiAgLS1jcGQtY29sb3ItYmctY2FudmFzLWRlZmF1bHQtbGV2ZWwtMTogdmFyKC0tY3BkLWNvbG9yLXRoZW1lLWJnKTtcbiAgLS1jcGQtY29sb3ItYmctc3VidGxlLXNlY29uZGFyeS1sZXZlbC0wOiB2YXIoLS1jcGQtY29sb3ItZ3JheS0zMDApO1xufVxuIiwiOnJvb3Qge1xuICAtLWNwZC1jb2xvci1iZy1jYW52YXMtZGVmYXVsdC1sZXZlbC0xOiB2YXIoLS1jcGQtY29sb3ItdGhlbWUtYmcpO1xuICAtLWNwZC1jb2xvci1iZy1zdWJ0bGUtc2Vjb25kYXJ5LWxldmVsLTA6IHZhcigtLWNwZC1jb2xvci1ncmF5LTMwMCk7XG59XG4iLCIuY3BkLXRoZW1lLWRhcmsuY3BkLXRoZW1lLWRhcmsge1xuICAtLWNwZC1jb2xvci10aGVtZS1iZzogIzEwMTMxNztcbiAgLS1jcGQtY29sb3ItZ3JheS0xMDA6ICMxNDE3MWI7XG4gIC0tY3BkLWNvbG9yLWdyYXktMjAwOiAjMTgxYTFmO1xuICAtLWNwZC1jb2xvci1ncmF5LTMwMDogIzFkMWYyNDtcbiAgLS1jcGQtY29sb3ItZ3JheS00MDA6ICMyNjI4MmQ7XG4gIC0tY3BkLWNvbG9yLWdyYXktNTAwOiAjMzIzNTM5O1xuICAtLWNwZC1jb2xvci1ncmF5LTYwMDogIzNjM2Y0NDtcbiAgLS1jcGQtY29sb3ItZ3JheS03MDA6ICM0YTRmNTU7XG4gIC0tY3BkLWNvbG9yLWdyYXktODAwOiAjNjU2Yzc2O1xuICAtLWNwZC1jb2xvci1ncmF5LTkwMDogIzgwODk5NDtcbiAgLS1jcGQtY29sb3ItZ3JheS0xMDAwOiAjOTE5OWE0O1xuICAtLWNwZC1jb2xvci1ncmF5LTExMDA6ICNhM2FhYjQ7XG4gIC0tY3BkLWNvbG9yLWdyYXktMTIwMDogI2JkYzNjYztcbiAgLS1jcGQtY29sb3ItZ3JheS0xMzAwOiAjZDlkZWU0O1xuICAtLWNwZC1jb2xvci1ncmF5LTE0MDA6ICNlYmVlZjI7XG4gIC0tY3BkLWNvbG9yLXJlZC0xMDA6ICMzNzAwMDA7XG4gIC0tY3BkLWNvbG9yLXJlZC0yMDA6ICMzZTAwMDA7XG4gIC0tY3BkLWNvbG9yLXJlZC0zMDA6ICM0NzAwMDA7XG4gIC0tY3BkLWNvbG9yLXJlZC00MDA6ICM1OTAwMDA7XG4gIC0tY3BkLWNvbG9yLXJlZC01MDA6ICM3MTAwMDA7XG4gIC0tY3BkLWNvbG9yLXJlZC02MDA6ICM4MzAwMDk7XG4gIC0tY3BkLWNvbG9yLXJlZC03MDA6ICM5ZjBkMWU7XG4gIC0tY3BkLWNvbG9yLXJlZC04MDA6ICNkMTIxMmE7XG4gIC0tY3BkLWNvbG9yLXJlZC05MDA6ICNmZDNlM2M7XG4gIC0tY3BkLWNvbG9yLXJlZC0xMDAwOiAjZmY2NjVkO1xuICAtLWNwZC1jb2xvci1yZWQtMTEwMDogI2ZmODc3YztcbiAgLS1jcGQtY29sb3ItcmVkLTEyMDA6ICNmZmFlYTQ7XG4gIC0tY3BkLWNvbG9yLXJlZC0xMzAwOiAjZmZkNGNkO1xuICAtLWNwZC1jb2xvci1yZWQtMTQwMDogI2ZmZTllNjtcbiAgLS1jcGQtY29sb3Itb3JhbmdlLTEwMDogIzM4MDAwMDtcbiAgLS1jcGQtY29sb3Itb3JhbmdlLTIwMDogIzNjMDAwMDtcbiAgLS1jcGQtY29sb3Itb3JhbmdlLTMwMDogIzQ3MDAwMDtcbiAgLS1jcGQtY29sb3Itb3JhbmdlLTQwMDogIzU4MDAwMDtcbiAgLS1jcGQtY29sb3Itb3JhbmdlLTUwMDogIzcxMDAwMDtcbiAgLS1jcGQtY29sb3Itb3JhbmdlLTYwMDogIzgzMDUwMDtcbiAgLS1jcGQtY29sb3Itb3JhbmdlLTcwMDogIzk3MjIwNjtcbiAgLS1jcGQtY29sb3Itb3JhbmdlLTgwMDogI2I5NDYwNztcbiAgLS1jcGQtY29sb3Itb3JhbmdlLTkwMDogI2RhNjcwZDtcbiAgLS1jcGQtY29sb3Itb3JhbmdlLTEwMDA6ICNlYjdhMTI7XG4gIC0tY3BkLWNvbG9yLW9yYW5nZS0xMTAwOiAjZjY5MTNkO1xuICAtLWNwZC1jb2xvci1vcmFuZ2UtMTIwMDogI2ZiYjM3ZTtcbiAgLS1jcGQtY29sb3Itb3JhbmdlLTEzMDA6ICNmZmQ1Yjk7XG4gIC0tY3BkLWNvbG9yLW9yYW5nZS0xNDAwOiAjZmZlYWRiO1xuICAtLWNwZC1jb2xvci15ZWxsb3ctMTAwOiAjMzYwMDAwO1xuICAtLWNwZC1jb2xvci15ZWxsb3ctMjAwOiAjM2EwMzAwO1xuICAtLWNwZC1jb2xvci15ZWxsb3ctMzAwOiAjNDEwOTAwO1xuICAtLWNwZC1jb2xvci15ZWxsb3ctNDAwOiAjNGMxNDAwO1xuICAtLWNwZC1jb2xvci15ZWxsb3ctNTAwOiAjNWMyNDAwO1xuICAtLWNwZC1jb2xvci15ZWxsb3ctNjAwOiAjNjgyZTAzO1xuICAtLWNwZC1jb2xvci15ZWxsb3ctNzAwOiAjN2MzZTAyO1xuICAtLWNwZC1jb2xvci15ZWxsb3ctODAwOiAjOWQ1YjAwO1xuICAtLWNwZC1jb2xvci15ZWxsb3ctOTAwOiAjYmM3YTAwO1xuICAtLWNwZC1jb2xvci15ZWxsb3ctMTAwMDogI2NjOGMwMDtcbiAgLS1jcGQtY29sb3IteWVsbG93LTExMDA6ICNkYjlmMDA7XG4gIC0tY3BkLWNvbG9yLXllbGxvdy0xMjAwOiAjZWZiYjBiO1xuICAtLWNwZC1jb2xvci15ZWxsb3ctMTMwMDogI2ZlZGI1ODtcbiAgLS1jcGQtY29sb3IteWVsbG93LTE0MDA6ICNmZmVkYjE7XG4gIC0tY3BkLWNvbG9yLWxpbWUtMTAwOiAjMDAxYjAwO1xuICAtLWNwZC1jb2xvci1saW1lLTIwMDogIzAwMjAwMDtcbiAgLS1jcGQtY29sb3ItbGltZS0zMDA6ICMwMDI2MDA7XG4gIC0tY3BkLWNvbG9yLWxpbWUtNDAwOiAjMDAzMDAwO1xuICAtLWNwZC1jb2xvci1saW1lLTUwMDogIzAwM2UwMDtcbiAgLS1jcGQtY29sb3ItbGltZS02MDA6ICMwMDRhMDA7XG4gIC0tY3BkLWNvbG9yLWxpbWUtNzAwOiAjMDA1YzAwO1xuICAtLWNwZC1jb2xvci1saW1lLTgwMDogIzFkN2MxMztcbiAgLS1jcGQtY29sb3ItbGltZS05MDA6ICMzODliMjA7XG4gIC0tY3BkLWNvbG9yLWxpbWUtMTAwMDogIzQ3YWQyNjtcbiAgLS1jcGQtY29sb3ItbGltZS0xMTAwOiAjNTZjMDJjO1xuICAtLWNwZC1jb2xvci1saW1lLTEyMDA6ICM3N2Q5NGY7XG4gIC0tY3BkLWNvbG9yLWxpbWUtMTMwMDogI2I2ZWNhMztcbiAgLS1jcGQtY29sb3ItbGltZS0xNDAwOiAjZGFmNmQwO1xuICAtLWNwZC1jb2xvci1ncmVlbi0xMDA6ICMwMDFjMGI7XG4gIC0tY3BkLWNvbG9yLWdyZWVuLTIwMDogIzAwMWYwZTtcbiAgLS1jcGQtY29sb3ItZ3JlZW4tMzAwOiAjMDAyNTEzO1xuICAtLWNwZC1jb2xvci1ncmVlbi00MDA6ICMwMDJlMWI7XG4gIC0tY3BkLWNvbG9yLWdyZWVuLTUwMDogIzAwM2QyOTtcbiAgLS1jcGQtY29sb3ItZ3JlZW4tNjAwOiAjMDA0ODMyO1xuICAtLWNwZC1jb2xvci1ncmVlbi03MDA6ICMwMDVhNDM7XG4gIC0tY3BkLWNvbG9yLWdyZWVuLTgwMDogIzAwN2E2MjtcbiAgLS1jcGQtY29sb3ItZ3JlZW4tOTAwOiAjMTI5YTc4O1xuICAtLWNwZC1jb2xvci1ncmVlbi0xMDAwOiAjMTdhYzg0O1xuICAtLWNwZC1jb2xvci1ncmVlbi0xMTAwOiAjMWZjMDkwO1xuICAtLWNwZC1jb2xvci1ncmVlbi0xMjAwOiAjNzJkNWFlO1xuICAtLWNwZC1jb2xvci1ncmVlbi0xMzAwOiAjYjVlOGQxO1xuICAtLWNwZC1jb2xvci1ncmVlbi0xNDAwOiAjZDlmNGU3O1xuICAtLWNwZC1jb2xvci1jeWFuLTEwMDogIzAwMTE0NDtcbiAgLS1jcGQtY29sb3ItY3lhbi0yMDA6ICMwMDE0NDg7XG4gIC0tY3BkLWNvbG9yLWN5YW4tMzAwOiAjMDAxYjRlO1xuICAtLWNwZC1jb2xvci1jeWFuLTQwMDogIzAwMjU1OTtcbiAgLS1jcGQtY29sb3ItY3lhbi01MDA6ICMwMDM0Njg7XG4gIC0tY3BkLWNvbG9yLWN5YW4tNjAwOiAjMDAzZjc1O1xuICAtLWNwZC1jb2xvci1jeWFuLTcwMDogIzAwNTE4ODtcbiAgLS1jcGQtY29sb3ItY3lhbi04MDA6ICMwMjcxYWE7XG4gIC0tY3BkLWNvbG9yLWN5YW4tOTAwOiAjMDA5M2JlO1xuICAtLWNwZC1jb2xvci1jeWFuLTEwMDA6ICMwMmE3YzY7XG4gIC0tY3BkLWNvbG9yLWN5YW4tMTEwMDogIzIxYmFjZDtcbiAgLS1jcGQtY29sb3ItY3lhbi0xMjAwOiAjNzhkMGRjO1xuICAtLWNwZC1jb2xvci1jeWFuLTEzMDA6ICNiOGU1ZWI7XG4gIC0tY3BkLWNvbG9yLWN5YW4tMTQwMDogI2RiZjJmNTtcbiAgLS1jcGQtY29sb3ItYmx1ZS0xMDA6ICMwMDA1NWE7XG4gIC0tY3BkLWNvbG9yLWJsdWUtMjAwOiAjMDAwOTVkO1xuICAtLWNwZC1jb2xvci1ibHVlLTMwMDogIzAwMTI2NDtcbiAgLS1jcGQtY29sb3ItYmx1ZS00MDA6ICMwMDFlNmY7XG4gIC0tY3BkLWNvbG9yLWJsdWUtNTAwOiAjMDYyZDgwO1xuICAtLWNwZC1jb2xvci1ibHVlLTYwMDogIzA4Mzg5MTtcbiAgLS1jcGQtY29sb3ItYmx1ZS03MDA6ICMwYjQ5YWI7XG4gIC0tY3BkLWNvbG9yLWJsdWUtODAwOiAjMGU2N2Q5O1xuICAtLWNwZC1jb2xvci1ibHVlLTkwMDogIzQxODdlYjtcbiAgLS1jcGQtY29sb3ItYmx1ZS0xMDAwOiAjNWU5OWYwO1xuICAtLWNwZC1jb2xvci1ibHVlLTExMDA6ICM3YWFjZjQ7XG4gIC0tY3BkLWNvbG9yLWJsdWUtMTIwMDogI2ExYzRmODtcbiAgLS1jcGQtY29sb3ItYmx1ZS0xMzAwOiAjY2JkZmZjO1xuICAtLWNwZC1jb2xvci1ibHVlLTE0MDA6ICNlNGVlZmU7XG4gIC0tY3BkLWNvbG9yLXB1cnBsZS0xMDA6ICMxYTAwNTU7XG4gIC0tY3BkLWNvbG9yLXB1cnBsZS0yMDA6ICMxYzAwNWE7XG4gIC0tY3BkLWNvbG9yLXB1cnBsZS0zMDA6ICMyMjAwNmE7XG4gIC0tY3BkLWNvbG9yLXB1cnBsZS00MDA6ICMyYzAwODA7XG4gIC0tY3BkLWNvbG9yLXB1cnBsZS01MDA6ICMzZDAwOWU7XG4gIC0tY3BkLWNvbG9yLXB1cnBsZS02MDA6ICM0YTBkYjE7XG4gIC0tY3BkLWNvbG9yLXB1cnBsZS03MDA6ICM1YTI3YzY7XG4gIC0tY3BkLWNvbG9yLXB1cnBsZS04MDA6ICM3ODQ5ZWM7XG4gIC0tY3BkLWNvbG9yLXB1cnBsZS05MDA6ICM5MTcxZjk7XG4gIC0tY3BkLWNvbG9yLXB1cnBsZS0xMDAwOiAjOWU4N2ZjO1xuICAtLWNwZC1jb2xvci1wdXJwbGUtMTEwMDogI2FkOWNmZTtcbiAgLS1jcGQtY29sb3ItcHVycGxlLTEyMDA6ICNjNGJhZmY7XG4gIC0tY3BkLWNvbG9yLXB1cnBsZS0xMzAwOiAjZGVkYWZmO1xuICAtLWNwZC1jb2xvci1wdXJwbGUtMTQwMDogI2VlZWJmZjtcbiAgLS1jcGQtY29sb3ItZnVjaHNpYS0xMDA6ICMyODAwM2Q7XG4gIC0tY3BkLWNvbG9yLWZ1Y2hzaWEtMjAwOiAjMmUwMDQ0O1xuICAtLWNwZC1jb2xvci1mdWNoc2lhLTMwMDogIzM3MDA0ZTtcbiAgLS1jcGQtY29sb3ItZnVjaHNpYS00MDA6ICM0NjAwNWU7XG4gIC0tY3BkLWNvbG9yLWZ1Y2hzaWEtNTAwOiAjNTYwZjZmO1xuICAtLWNwZC1jb2xvci1mdWNoc2lhLTYwMDogIzY1MTc3ZDtcbiAgLS1jcGQtY29sb3ItZnVjaHNpYS03MDA6ICM3ZDIzOTQ7XG4gIC0tY3BkLWNvbG9yLWZ1Y2hzaWEtODAwOiAjYWEzNmJhO1xuICAtLWNwZC1jb2xvci1mdWNoc2lhLTkwMDogI2M1NjBjZjtcbiAgLS1jcGQtY29sb3ItZnVjaHNpYS0xMDAwOiAjY2Y3OGQ3O1xuICAtLWNwZC1jb2xvci1mdWNoc2lhLTExMDA6ICNkOTkxZGU7XG4gIC0tY3BkLWNvbG9yLWZ1Y2hzaWEtMTIwMDogI2U1YjFlOTtcbiAgLS1jcGQtY29sb3ItZnVjaHNpYS0xMzAwOiAjZjFkNGYzO1xuICAtLWNwZC1jb2xvci1mdWNoc2lhLTE0MDA6ICNmOGU5Zjk7XG4gIC0tY3BkLWNvbG9yLXBpbmstMTAwOiAjMzcwMDBmO1xuICAtLWNwZC1jb2xvci1waW5rLTIwMDogIzNjMDAxMjtcbiAgLS1jcGQtY29sb3ItcGluay0zMDA6ICM0NTAwMTg7XG4gIC0tY3BkLWNvbG9yLXBpbmstNDAwOiAjNTUwMDI0O1xuICAtLWNwZC1jb2xvci1waW5rLTUwMDogIzZkMDAzNjtcbiAgLS1jcGQtY29sb3ItcGluay02MDA6ICM3YzBjNDE7XG4gIC0tY3BkLWNvbG9yLXBpbmstNzAwOiAjOTkxMTRmO1xuICAtLWNwZC1jb2xvci1waW5rLTgwMDogI2NlMTg2NTtcbiAgLS1jcGQtY29sb3ItcGluay05MDA6ICNmNDQyN2Q7XG4gIC0tY3BkLWNvbG9yLXBpbmstMTAwMDogI2ZhNjU4ZjtcbiAgLS1jcGQtY29sb3ItcGluay0xMTAwOiAjZmU4NGEyO1xuICAtLWNwZC1jb2xvci1waW5rLTEyMDA6ICNmZmFiYmU7XG4gIC0tY3BkLWNvbG9yLXBpbmstMTMwMDogI2ZmZDJkYztcbiAgLS1jcGQtY29sb3ItcGluay0xNDAwOiAjZmZlOGVkO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ncmF5LTEwMDogaHNsYSgyMTQsIDEwJSwgODYlLCAwLjAyKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZ3JheS0yMDA6IGhzbGEoMjg2LCAzMSUsIDgyJSwgMC4wNCk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWdyYXktMzAwOiBoc2xhKDI4MCwgNDElLCA5MCUsIDAuMDYpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ncmF5LTQwMDogaHNsYSgyNzAsIDM3JSwgOTMlLCAwLjEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ncmF5LTUwMDogaHNsYSgyMTQsIDQxJSwgOTclLCAwLjE1KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZ3JheS02MDA6IGhzbGEoMjI1LCA0NiUsIDk1JSwgMC4yKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZ3JheS03MDA6IGhzbGEoMjEzLCA4NSUsIDk1JSwgMC4yNyk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWdyYXktODAwOiBoc2xhKDIxNiwgMTAwJSwgOTQlLCAwLjQxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZ3JheS05MDA6IGhzbGEoMjExLCA5NCUsIDk0JSwgMC41NCk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWdyYXktMTAwMDogaHNsYSgyMTMsIDkzJSwgOTQlLCAwLjYxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZ3JheS0xMTAwOiBoc2xhKDIxNSwgOTIlLCA5NSUsIDAuNjgpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ncmF5LTEyMDA6IGhzbGEoMjE1LCA3NCUsIDk2JSwgMC43OSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWdyYXktMTMwMDogaHNsYSgyMTMsIDczJSwgOTclLCAwLjg5KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZ3JheS0xNDAwOiBoc2xhKDIxNCwgNzglLCA5OCUsIDAuOTUpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1yZWQtMTAwOiBoc2woMCwgMTAwJSwgMTElLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcmVkLTIwMDogaHNsKDAsIDEwMCUsIDEyJSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXJlZC0zMDA6IGhzbCgwLCAxMDAlLCAxNCUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1yZWQtNDAwOiBoc2woMCwgMTAwJSwgMTglLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcmVkLTUwMDogaHNsKDAsIDEwMCUsIDIyJSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXJlZC02MDA6IGhzbCgzNTYsIDEwMCUsIDI2JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXJlZC03MDA6IGhzbGEoMzU0LCA5OSUsIDUyJSwgMC42KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcmVkLTgwMDogaHNsYSgzNTcsIDk5JSwgNTclLCAwLjgxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcmVkLTkwMDogaHNsKDEsIDk4JSwgNjElLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcmVkLTEwMDA6IGhzbCgzLCAxMDAlLCA2OCUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1yZWQtMTEwMDogaHNsKDUsIDEwMCUsIDc0JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXJlZC0xMjAwOiBoc2woNywgMTAwJSwgODIlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcmVkLTEzMDA6IGhzbCg4LCAxMDAlLCA5MCUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1yZWQtMTQwMDogaHNsKDcsIDEwMCUsIDk1JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLW9yYW5nZS0xMDA6IGhzbCgwLCAxMDAlLCAxMSUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1vcmFuZ2UtMjAwOiBoc2woMCwgMTAwJSwgMTIlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtb3JhbmdlLTMwMDogaHNsKDAsIDEwMCUsIDE0JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLW9yYW5nZS00MDA6IGhzbCgwLCAxMDAlLCAxNyUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1vcmFuZ2UtNTAwOiBoc2woMCwgMTAwJSwgMjIlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtb3JhbmdlLTYwMDogaHNsKDIsIDEwMCUsIDI2JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLW9yYW5nZS03MDA6IGhzbGEoMTIsIDEwMCUsIDM5JSwgMC43NCk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLW9yYW5nZS04MDA6IGhzbGEoMjEsIDEwMCUsIDUwJSwgMC43MSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLW9yYW5nZS05MDA6IGhzbGEoMjYsIDk5JSwgNTIlLCAwLjg1KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtb3JhbmdlLTEwMDA6IGhzbGEoMjksIDk5JSwgNTMlLCAwLjkyKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtb3JhbmdlLTExMDA6IGhzbGEoMjcsIDk4JSwgNjIlLCAwLjk3KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtb3JhbmdlLTEyMDA6IGhzbGEoMjYsIDk3JSwgNzUlLCAwLjk5KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtb3JhbmdlLTEzMDA6IGhzbCgyNCwgMTAwJSwgODYlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtb3JhbmdlLTE0MDA6IGhzbCgyNSwgMTAwJSwgOTMlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEteWVsbG93LTEwMDogaHNsKDAsIDEwMCUsIDExJSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXllbGxvdy0yMDA6IGhzbCgzLCAxMDAlLCAxMSUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS15ZWxsb3ctMzAwOiBoc2woOCwgMTAwJSwgMTMlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEteWVsbG93LTQwMDogaHNsKDE2LCAxMDAlLCAxNSUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS15ZWxsb3ctNTAwOiBoc2woMjMsIDEwMCUsIDE4JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXllbGxvdy02MDA6IGhzbGEoMjYsIDEwMCUsIDIzJSwgMC44Nyk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXllbGxvdy03MDA6IGhzbGEoMzAsIDEwMCUsIDI2JSwgMC45Mik7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXllbGxvdy04MDA6IGhzbCgzNSwgMTAwJSwgMzElLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEteWVsbG93LTkwMDogaHNsKDM5LCAxMDAlLCAzNyUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS15ZWxsb3ctMTAwMDogaHNsKDQxLCAxMDAlLCA0MCUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS15ZWxsb3ctMTEwMDogaHNsKDQ0LCAxMDAlLCA0MyUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS15ZWxsb3ctMTIwMDogaHNsYSg0NiwgOTglLCA1MiUsIDAuOTQpO1xuICAtLWNwZC1jb2xvci1hbHBoYS15ZWxsb3ctMTMwMDogaHNsKDQ3LCA5OSUsIDY3JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXllbGxvdy0xNDAwOiBoc2woNDYsIDEwMCUsIDg1JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWxpbWUtMTAwOiBoc2woMTIwLCAxMDAlLCA1JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWxpbWUtMjAwOiBoc2woMTIwLCAxMDAlLCA2JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWxpbWUtMzAwOiBoc2woMTIwLCAxMDAlLCA4JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWxpbWUtNDAwOiBoc2woMTIwLCAxMDAlLCA5JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWxpbWUtNTAwOiBoc2woMTIwLCAxMDAlLCAxMiUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1saW1lLTYwMDogaHNsKDEyMCwgMTAwJSwgMTUlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtbGltZS03MDA6IGhzbCgxMjAsIDEwMCUsIDE4JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWxpbWUtODAwOiBoc2xhKDExMiwgOTglLCA1MiUsIDAuNDUpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1saW1lLTkwMDogaHNsYSgxMDcsIDk4JSwgNTclLCAwLjU4KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtbGltZS0xMDAwOiBoc2xhKDEwNSwgOTclLCA1OCUsIDAuNjYpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1saW1lLTExMDA6IGhzbGEoMTAyLCA5OCUsIDYwJSwgMC43NCk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWxpbWUtMTIwMDogaHNsYSgxMDIsIDEwMCUsIDY4JSwgMC44NCk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWxpbWUtMTMwMDogaHNsYSgxMDQsIDEwMCUsIDg0JSwgMC45Mik7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWxpbWUtMTQwMDogaHNsYSgxMDUsIDkxJSwgOTIlLCAwLjk3KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZ3JlZW4tMTAwOiBoc2woMTQ0LCAxMDAlLCA2JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWdyZWVuLTIwMDogaHNsKDE0NywgMTAwJSwgNiUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ncmVlbi0zMDA6IGhzbCgxNTEsIDEwMCUsIDclLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZ3JlZW4tNDAwOiBoc2woMTU1LCAxMDAlLCA5JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWdyZWVuLTUwMDogaHNsKDE2MCwgMTAwJSwgMTIlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZ3JlZW4tNjAwOiBoc2woMTYyLCAxMDAlLCAxNCUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ncmVlbi03MDA6IGhzbCgxNjUsIDEwMCUsIDE4JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWdyZWVuLTgwMDogaHNsKDE2OCwgMTAwJSwgMjQlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZ3JlZW4tOTAwOiBoc2xhKDE2NCwgOTglLCA1MyUsIDAuNTgpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ncmVlbi0xMDAwOiBoc2xhKDE2MywgOTklLCA1NSUsIDAuNjUpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ncmVlbi0xMTAwOiBoc2xhKDE2MiwgOTglLCA1NyUsIDAuNzQpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ncmVlbi0xMjAwOiBoc2xhKDE1NiwgOTclLCA3NiUsIDAuODMpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ncmVlbi0xMzAwOiBoc2xhKDE1MiwgOTMlLCA4OCUsIDAuOTEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ncmVlbi0xNDAwOiBoc2xhKDE1MiwgODglLCA5NCUsIDAuOTYpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1jeWFuLTEwMDogaHNsKDIyNSwgMTAwJSwgMTMlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtY3lhbi0yMDA6IGhzbCgyMjMsIDEwMCUsIDE0JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWN5YW4tMzAwOiBoc2woMjE5LCAxMDAlLCAxNSUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1jeWFuLTQwMDogaHNsKDIxNSwgMTAwJSwgMTglLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtY3lhbi01MDA6IGhzbCgyMTAsIDEwMCUsIDIwJSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWN5YW4tNjAwOiBoc2woMjA4LCAxMDAlLCAyMyUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1jeWFuLTcwMDogaHNsKDIwNCwgMTAwJSwgMjclLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtY3lhbi04MDA6IGhzbGEoMjAwLCAxMDAlLCAzNyUsIDAuODgpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1jeWFuLTkwMDogaHNsKDE5NCwgMTAwJSwgMzclLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtY3lhbi0xMDAwOiBoc2xhKDE4OSwgMTAwJSwgNDQlLCAwLjg4KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtY3lhbi0xMTAwOiBoc2xhKDE4NiwgOTglLCA1NyUsIDAuNzkpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1jeWFuLTEyMDA6IGhzbGEoMTg3LCAxMDAlLCA3NyUsIDAuODUpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1jeWFuLTEzMDA6IGhzbGEoMTg3LCA5MyUsIDg5JSwgMC45Mik7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWN5YW4tMTQwMDogaHNsYSgxODcsIDkzJSwgOTQlLCAwLjk2KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtYmx1ZS0xMDA6IGhzbCgyMzcsIDEwMCUsIDE4JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWJsdWUtMjAwOiBoc2woMjM0LCAxMDAlLCAxOCUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ibHVlLTMwMDogaHNsKDIyOSwgMTAwJSwgMjAlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtYmx1ZS00MDA6IGhzbCgyMjQsIDEwMCUsIDIyJSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWJsdWUtNTAwOiBoc2xhKDIyMSwgMTAwJSwgMzclLCAwLjYzKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtYmx1ZS02MDA6IGhzbGEoMjE5LCA5OSUsIDUwJSwgMC41Myk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWJsdWUtNzAwOiBoc2xhKDIxNywgOTklLCA1MSUsIDAuNjQpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ibHVlLTgwMDogaHNsYSgyMTQsIDk5JSwgNTMlLCAwLjg0KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtYmx1ZS05MDA6IGhzbGEoMjE1LCA5OCUsIDYzJSwgMC45Mik7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWJsdWUtMTAwMDogaHNsYSgyMTYsIDk5JSwgNjklLCAwLjk0KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtYmx1ZS0xMTAwOiBoc2xhKDIxNSwgOTclLCA3NCUsIDAuOTYpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ibHVlLTEyMDA6IGhzbGEoMjE2LCAxMDAlLCA4MiUsIDAuOTcpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ibHVlLTEzMDA6IGhzbGEoMjE2LCA5NiUsIDkwJSwgMC45OSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWJsdWUtMTQwMDogaHNsKDIxNywgOTMlLCA5NSUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1wdXJwbGUtMTAwOiBoc2woMjU4LCAxMDAlLCAxNyUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1wdXJwbGUtMjAwOiBoc2woMjU5LCAxMDAlLCAxOCUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1wdXJwbGUtMzAwOiBoc2woMjU5LCAxMDAlLCAyMSUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1wdXJwbGUtNDAwOiBoc2woMjYxLCAxMDAlLCAyNSUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1wdXJwbGUtNTAwOiBoc2woMjYzLCAxMDAlLCAzMSUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1wdXJwbGUtNjAwOiBoc2xhKDI2MywgOTglLCA1MiUsIDAuNjcpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1wdXJwbGUtNzAwOiBoc2xhKDI2MCwgOTglLCA1OCUsIDAuNzYpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1wdXJwbGUtODAwOiBoc2xhKDI1NywgMTAwJSwgNjUlLCAwLjkyKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcHVycGxlLTkwMDogaHNsYSgyNTQsIDk5JSwgNzIlLCAwLjk4KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcHVycGxlLTEwMDA6IGhzbGEoMjUyLCA5OCUsIDc3JSwgMC45OSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXB1cnBsZS0xMTAwOiBoc2woMjUwLCA5OCUsIDgwJSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXB1cnBsZS0xMjAwOiBoc2woMjQ5LCAxMDAlLCA4NyUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1wdXJwbGUtMTMwMDogaHNsKDI0NiwgMTAwJSwgOTMlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcHVycGxlLTE0MDA6IGhzbCgyNDksIDEwMCUsIDk2JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWZ1Y2hzaWEtMTAwOiBoc2woMjc5LCAxMDAlLCAxMiUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1mdWNoc2lhLTIwMDogaHNsKDI4MSwgMTAwJSwgMTMlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZnVjaHNpYS0zMDA6IGhzbCgyODIsIDEwMCUsIDE1JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWZ1Y2hzaWEtNDAwOiBoc2woMjg1LCAxMDAlLCAxOCUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1mdWNoc2lhLTUwMDogaHNsYSgyODcsIDEwMCUsIDUyJSwgMC4zOCk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWZ1Y2hzaWEtNjAwOiBoc2xhKDI4OCwgMTAwJSwgNTYlLCAwLjQ0KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZnVjaHNpYS03MDA6IGhzbGEoMjg5LCA5OSUsIDU5JSwgMC41NCk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWZ1Y2hzaWEtODAwOiBoc2xhKDI5NCwgOTglLCA2MyUsIDAuNzEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1mdWNoc2lhLTkwMDogaHNsYSgyOTUsIDk3JSwgNzIlLCAwLjgpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1mdWNoc2lhLTEwMDA6IGhzbGEoMjk2LCA5OCUsIDc4JSwgMC44Myk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWZ1Y2hzaWEtMTEwMDogaHNsYSgyOTcsIDk4JSwgODIlLCAwLjg2KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZnVjaHNpYS0xMjAwOiBoc2xhKDI5NiwgOTclLCA4OCUsIDAuOTEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1mdWNoc2lhLTEzMDA6IGhzbGEoMjk2LCAxMDAlLCA5NCUsIDAuOTUpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1mdWNoc2lhLTE0MDA6IGhzbGEoMjk2LCA5MCUsIDk2JSwgMC45OCk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXBpbmstMTAwOiBoc2woMzQ0LCAxMDAlLCAxMSUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1waW5rLTIwMDogaHNsKDM0MiwgMTAwJSwgMTIlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcGluay0zMDA6IGhzbCgzMzksIDEwMCUsIDE0JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXBpbmstNDAwOiBoc2woMzM1LCAxMDAlLCAxNyUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1waW5rLTUwMDogaHNsKDMzMCwgMTAwJSwgMjElLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcGluay02MDA6IGhzbGEoMzMzLCA5NyUsIDUwJSwgMC40Nik7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXBpbmstNzAwOiBoc2xhKDMzNCwgOTglLCA1MyUsIDAuNTgpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1waW5rLTgwMDogaHNsYSgzMzUsIDk5JSwgNTUlLCAwLjgpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1waW5rLTkwMDogaHNsYSgzNDAsIDk5JSwgNjMlLCAwLjk2KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcGluay0xMDAwOiBoc2xhKDM0MywgMTAwJSwgNzAlLCAwLjk4KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcGluay0xMTAwOiBoc2woMzQ1LCA5OCUsIDc2JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXBpbmstMTIwMDogaHNsKDM0NiwgMTAwJSwgODQlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcGluay0xMzAwOiBoc2woMzQ3LCAxMDAlLCA5MSUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1waW5rLTE0MDA6IGhzbCgzNDcsIDEwMCUsIDk2JSwgMSk7XG59XG4iLCI6cm9vdCB7XG4gIC0tY3BkLWNvbG9yLXRoZW1lLWJnOiAjMTAxMzE3O1xuICAtLWNwZC1jb2xvci1ncmF5LTEwMDogIzE0MTcxYjtcbiAgLS1jcGQtY29sb3ItZ3JheS0yMDA6ICMxODFhMWY7XG4gIC0tY3BkLWNvbG9yLWdyYXktMzAwOiAjMWQxZjI0O1xuICAtLWNwZC1jb2xvci1ncmF5LTQwMDogIzI2MjgyZDtcbiAgLS1jcGQtY29sb3ItZ3JheS01MDA6ICMzMjM1Mzk7XG4gIC0tY3BkLWNvbG9yLWdyYXktNjAwOiAjM2MzZjQ0O1xuICAtLWNwZC1jb2xvci1ncmF5LTcwMDogIzRhNGY1NTtcbiAgLS1jcGQtY29sb3ItZ3JheS04MDA6ICM2NTZjNzY7XG4gIC0tY3BkLWNvbG9yLWdyYXktOTAwOiAjODA4OTk0O1xuICAtLWNwZC1jb2xvci1ncmF5LTEwMDA6ICM5MTk5YTQ7XG4gIC0tY3BkLWNvbG9yLWdyYXktMTEwMDogI2EzYWFiNDtcbiAgLS1jcGQtY29sb3ItZ3JheS0xMjAwOiAjYmRjM2NjO1xuICAtLWNwZC1jb2xvci1ncmF5LTEzMDA6ICNkOWRlZTQ7XG4gIC0tY3BkLWNvbG9yLWdyYXktMTQwMDogI2ViZWVmMjtcbiAgLS1jcGQtY29sb3ItcmVkLTEwMDogIzM3MDAwMDtcbiAgLS1jcGQtY29sb3ItcmVkLTIwMDogIzNlMDAwMDtcbiAgLS1jcGQtY29sb3ItcmVkLTMwMDogIzQ3MDAwMDtcbiAgLS1jcGQtY29sb3ItcmVkLTQwMDogIzU5MDAwMDtcbiAgLS1jcGQtY29sb3ItcmVkLTUwMDogIzcxMDAwMDtcbiAgLS1jcGQtY29sb3ItcmVkLTYwMDogIzgzMDAwOTtcbiAgLS1jcGQtY29sb3ItcmVkLTcwMDogIzlmMGQxZTtcbiAgLS1jcGQtY29sb3ItcmVkLTgwMDogI2QxMjEyYTtcbiAgLS1jcGQtY29sb3ItcmVkLTkwMDogI2ZkM2UzYztcbiAgLS1jcGQtY29sb3ItcmVkLTEwMDA6ICNmZjY2NWQ7XG4gIC0tY3BkLWNvbG9yLXJlZC0xMTAwOiAjZmY4NzdjO1xuICAtLWNwZC1jb2xvci1yZWQtMTIwMDogI2ZmYWVhNDtcbiAgLS1jcGQtY29sb3ItcmVkLTEzMDA6ICNmZmQ0Y2Q7XG4gIC0tY3BkLWNvbG9yLXJlZC0xNDAwOiAjZmZlOWU2O1xuICAtLWNwZC1jb2xvci1vcmFuZ2UtMTAwOiAjMzgwMDAwO1xuICAtLWNwZC1jb2xvci1vcmFuZ2UtMjAwOiAjM2MwMDAwO1xuICAtLWNwZC1jb2xvci1vcmFuZ2UtMzAwOiAjNDcwMDAwO1xuICAtLWNwZC1jb2xvci1vcmFuZ2UtNDAwOiAjNTgwMDAwO1xuICAtLWNwZC1jb2xvci1vcmFuZ2UtNTAwOiAjNzEwMDAwO1xuICAtLWNwZC1jb2xvci1vcmFuZ2UtNjAwOiAjODMwNTAwO1xuICAtLWNwZC1jb2xvci1vcmFuZ2UtNzAwOiAjOTcyMjA2O1xuICAtLWNwZC1jb2xvci1vcmFuZ2UtODAwOiAjYjk0NjA3O1xuICAtLWNwZC1jb2xvci1vcmFuZ2UtOTAwOiAjZGE2NzBkO1xuICAtLWNwZC1jb2xvci1vcmFuZ2UtMTAwMDogI2ViN2ExMjtcbiAgLS1jcGQtY29sb3Itb3JhbmdlLTExMDA6ICNmNjkxM2Q7XG4gIC0tY3BkLWNvbG9yLW9yYW5nZS0xMjAwOiAjZmJiMzdlO1xuICAtLWNwZC1jb2xvci1vcmFuZ2UtMTMwMDogI2ZmZDViOTtcbiAgLS1jcGQtY29sb3Itb3JhbmdlLTE0MDA6ICNmZmVhZGI7XG4gIC0tY3BkLWNvbG9yLXllbGxvdy0xMDA6ICMzNjAwMDA7XG4gIC0tY3BkLWNvbG9yLXllbGxvdy0yMDA6ICMzYTAzMDA7XG4gIC0tY3BkLWNvbG9yLXllbGxvdy0zMDA6ICM0MTA5MDA7XG4gIC0tY3BkLWNvbG9yLXllbGxvdy00MDA6ICM0YzE0MDA7XG4gIC0tY3BkLWNvbG9yLXllbGxvdy01MDA6ICM1YzI0MDA7XG4gIC0tY3BkLWNvbG9yLXllbGxvdy02MDA6ICM2ODJlMDM7XG4gIC0tY3BkLWNvbG9yLXllbGxvdy03MDA6ICM3YzNlMDI7XG4gIC0tY3BkLWNvbG9yLXllbGxvdy04MDA6ICM5ZDViMDA7XG4gIC0tY3BkLWNvbG9yLXllbGxvdy05MDA6ICNiYzdhMDA7XG4gIC0tY3BkLWNvbG9yLXllbGxvdy0xMDAwOiAjY2M4YzAwO1xuICAtLWNwZC1jb2xvci15ZWxsb3ctMTEwMDogI2RiOWYwMDtcbiAgLS1jcGQtY29sb3IteWVsbG93LTEyMDA6ICNlZmJiMGI7XG4gIC0tY3BkLWNvbG9yLXllbGxvdy0xMzAwOiAjZmVkYjU4O1xuICAtLWNwZC1jb2xvci15ZWxsb3ctMTQwMDogI2ZmZWRiMTtcbiAgLS1jcGQtY29sb3ItbGltZS0xMDA6ICMwMDFiMDA7XG4gIC0tY3BkLWNvbG9yLWxpbWUtMjAwOiAjMDAyMDAwO1xuICAtLWNwZC1jb2xvci1saW1lLTMwMDogIzAwMjYwMDtcbiAgLS1jcGQtY29sb3ItbGltZS00MDA6ICMwMDMwMDA7XG4gIC0tY3BkLWNvbG9yLWxpbWUtNTAwOiAjMDAzZTAwO1xuICAtLWNwZC1jb2xvci1saW1lLTYwMDogIzAwNGEwMDtcbiAgLS1jcGQtY29sb3ItbGltZS03MDA6ICMwMDVjMDA7XG4gIC0tY3BkLWNvbG9yLWxpbWUtODAwOiAjMWQ3YzEzO1xuICAtLWNwZC1jb2xvci1saW1lLTkwMDogIzM4OWIyMDtcbiAgLS1jcGQtY29sb3ItbGltZS0xMDAwOiAjNDdhZDI2O1xuICAtLWNwZC1jb2xvci1saW1lLTExMDA6ICM1NmMwMmM7XG4gIC0tY3BkLWNvbG9yLWxpbWUtMTIwMDogIzc3ZDk0ZjtcbiAgLS1jcGQtY29sb3ItbGltZS0xMzAwOiAjYjZlY2EzO1xuICAtLWNwZC1jb2xvci1saW1lLTE0MDA6ICNkYWY2ZDA7XG4gIC0tY3BkLWNvbG9yLWdyZWVuLTEwMDogIzAwMWMwYjtcbiAgLS1jcGQtY29sb3ItZ3JlZW4tMjAwOiAjMDAxZjBlO1xuICAtLWNwZC1jb2xvci1ncmVlbi0zMDA6ICMwMDI1MTM7XG4gIC0tY3BkLWNvbG9yLWdyZWVuLTQwMDogIzAwMmUxYjtcbiAgLS1jcGQtY29sb3ItZ3JlZW4tNTAwOiAjMDAzZDI5O1xuICAtLWNwZC1jb2xvci1ncmVlbi02MDA6ICMwMDQ4MzI7XG4gIC0tY3BkLWNvbG9yLWdyZWVuLTcwMDogIzAwNWE0MztcbiAgLS1jcGQtY29sb3ItZ3JlZW4tODAwOiAjMDA3YTYyO1xuICAtLWNwZC1jb2xvci1ncmVlbi05MDA6ICMxMjlhNzg7XG4gIC0tY3BkLWNvbG9yLWdyZWVuLTEwMDA6ICMxN2FjODQ7XG4gIC0tY3BkLWNvbG9yLWdyZWVuLTExMDA6ICMxZmMwOTA7XG4gIC0tY3BkLWNvbG9yLWdyZWVuLTEyMDA6ICM3MmQ1YWU7XG4gIC0tY3BkLWNvbG9yLWdyZWVuLTEzMDA6ICNiNWU4ZDE7XG4gIC0tY3BkLWNvbG9yLWdyZWVuLTE0MDA6ICNkOWY0ZTc7XG4gIC0tY3BkLWNvbG9yLWN5YW4tMTAwOiAjMDAxMTQ0O1xuICAtLWNwZC1jb2xvci1jeWFuLTIwMDogIzAwMTQ0ODtcbiAgLS1jcGQtY29sb3ItY3lhbi0zMDA6ICMwMDFiNGU7XG4gIC0tY3BkLWNvbG9yLWN5YW4tNDAwOiAjMDAyNTU5O1xuICAtLWNwZC1jb2xvci1jeWFuLTUwMDogIzAwMzQ2ODtcbiAgLS1jcGQtY29sb3ItY3lhbi02MDA6ICMwMDNmNzU7XG4gIC0tY3BkLWNvbG9yLWN5YW4tNzAwOiAjMDA1MTg4O1xuICAtLWNwZC1jb2xvci1jeWFuLTgwMDogIzAyNzFhYTtcbiAgLS1jcGQtY29sb3ItY3lhbi05MDA6ICMwMDkzYmU7XG4gIC0tY3BkLWNvbG9yLWN5YW4tMTAwMDogIzAyYTdjNjtcbiAgLS1jcGQtY29sb3ItY3lhbi0xMTAwOiAjMjFiYWNkO1xuICAtLWNwZC1jb2xvci1jeWFuLTEyMDA6ICM3OGQwZGM7XG4gIC0tY3BkLWNvbG9yLWN5YW4tMTMwMDogI2I4ZTVlYjtcbiAgLS1jcGQtY29sb3ItY3lhbi0xNDAwOiAjZGJmMmY1O1xuICAtLWNwZC1jb2xvci1ibHVlLTEwMDogIzAwMDU1YTtcbiAgLS1jcGQtY29sb3ItYmx1ZS0yMDA6ICMwMDA5NWQ7XG4gIC0tY3BkLWNvbG9yLWJsdWUtMzAwOiAjMDAxMjY0O1xuICAtLWNwZC1jb2xvci1ibHVlLTQwMDogIzAwMWU2ZjtcbiAgLS1jcGQtY29sb3ItYmx1ZS01MDA6ICMwNjJkODA7XG4gIC0tY3BkLWNvbG9yLWJsdWUtNjAwOiAjMDgzODkxO1xuICAtLWNwZC1jb2xvci1ibHVlLTcwMDogIzBiNDlhYjtcbiAgLS1jcGQtY29sb3ItYmx1ZS04MDA6ICMwZTY3ZDk7XG4gIC0tY3BkLWNvbG9yLWJsdWUtOTAwOiAjNDE4N2ViO1xuICAtLWNwZC1jb2xvci1ibHVlLTEwMDA6ICM1ZTk5ZjA7XG4gIC0tY3BkLWNvbG9yLWJsdWUtMTEwMDogIzdhYWNmNDtcbiAgLS1jcGQtY29sb3ItYmx1ZS0xMjAwOiAjYTFjNGY4O1xuICAtLWNwZC1jb2xvci1ibHVlLTEzMDA6ICNjYmRmZmM7XG4gIC0tY3BkLWNvbG9yLWJsdWUtMTQwMDogI2U0ZWVmZTtcbiAgLS1jcGQtY29sb3ItcHVycGxlLTEwMDogIzFhMDA1NTtcbiAgLS1jcGQtY29sb3ItcHVycGxlLTIwMDogIzFjMDA1YTtcbiAgLS1jcGQtY29sb3ItcHVycGxlLTMwMDogIzIyMDA2YTtcbiAgLS1jcGQtY29sb3ItcHVycGxlLTQwMDogIzJjMDA4MDtcbiAgLS1jcGQtY29sb3ItcHVycGxlLTUwMDogIzNkMDA5ZTtcbiAgLS1jcGQtY29sb3ItcHVycGxlLTYwMDogIzRhMGRiMTtcbiAgLS1jcGQtY29sb3ItcHVycGxlLTcwMDogIzVhMjdjNjtcbiAgLS1jcGQtY29sb3ItcHVycGxlLTgwMDogIzc4NDllYztcbiAgLS1jcGQtY29sb3ItcHVycGxlLTkwMDogIzkxNzFmOTtcbiAgLS1jcGQtY29sb3ItcHVycGxlLTEwMDA6ICM5ZTg3ZmM7XG4gIC0tY3BkLWNvbG9yLXB1cnBsZS0xMTAwOiAjYWQ5Y2ZlO1xuICAtLWNwZC1jb2xvci1wdXJwbGUtMTIwMDogI2M0YmFmZjtcbiAgLS1jcGQtY29sb3ItcHVycGxlLTEzMDA6ICNkZWRhZmY7XG4gIC0tY3BkLWNvbG9yLXB1cnBsZS0xNDAwOiAjZWVlYmZmO1xuICAtLWNwZC1jb2xvci1mdWNoc2lhLTEwMDogIzI4MDAzZDtcbiAgLS1jcGQtY29sb3ItZnVjaHNpYS0yMDA6ICMyZTAwNDQ7XG4gIC0tY3BkLWNvbG9yLWZ1Y2hzaWEtMzAwOiAjMzcwMDRlO1xuICAtLWNwZC1jb2xvci1mdWNoc2lhLTQwMDogIzQ2MDA1ZTtcbiAgLS1jcGQtY29sb3ItZnVjaHNpYS01MDA6ICM1NjBmNmY7XG4gIC0tY3BkLWNvbG9yLWZ1Y2hzaWEtNjAwOiAjNjUxNzdkO1xuICAtLWNwZC1jb2xvci1mdWNoc2lhLTcwMDogIzdkMjM5NDtcbiAgLS1jcGQtY29sb3ItZnVjaHNpYS04MDA6ICNhYTM2YmE7XG4gIC0tY3BkLWNvbG9yLWZ1Y2hzaWEtOTAwOiAjYzU2MGNmO1xuICAtLWNwZC1jb2xvci1mdWNoc2lhLTEwMDA6ICNjZjc4ZDc7XG4gIC0tY3BkLWNvbG9yLWZ1Y2hzaWEtMTEwMDogI2Q5OTFkZTtcbiAgLS1jcGQtY29sb3ItZnVjaHNpYS0xMjAwOiAjZTViMWU5O1xuICAtLWNwZC1jb2xvci1mdWNoc2lhLTEzMDA6ICNmMWQ0ZjM7XG4gIC0tY3BkLWNvbG9yLWZ1Y2hzaWEtMTQwMDogI2Y4ZTlmOTtcbiAgLS1jcGQtY29sb3ItcGluay0xMDA6ICMzNzAwMGY7XG4gIC0tY3BkLWNvbG9yLXBpbmstMjAwOiAjM2MwMDEyO1xuICAtLWNwZC1jb2xvci1waW5rLTMwMDogIzQ1MDAxODtcbiAgLS1jcGQtY29sb3ItcGluay00MDA6ICM1NTAwMjQ7XG4gIC0tY3BkLWNvbG9yLXBpbmstNTAwOiAjNmQwMDM2O1xuICAtLWNwZC1jb2xvci1waW5rLTYwMDogIzdjMGM0MTtcbiAgLS1jcGQtY29sb3ItcGluay03MDA6ICM5OTExNGY7XG4gIC0tY3BkLWNvbG9yLXBpbmstODAwOiAjY2UxODY1O1xuICAtLWNwZC1jb2xvci1waW5rLTkwMDogI2Y0NDI3ZDtcbiAgLS1jcGQtY29sb3ItcGluay0xMDAwOiAjZmE2NThmO1xuICAtLWNwZC1jb2xvci1waW5rLTExMDA6ICNmZTg0YTI7XG4gIC0tY3BkLWNvbG9yLXBpbmstMTIwMDogI2ZmYWJiZTtcbiAgLS1jcGQtY29sb3ItcGluay0xMzAwOiAjZmZkMmRjO1xuICAtLWNwZC1jb2xvci1waW5rLTE0MDA6ICNmZmU4ZWQ7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWdyYXktMTAwOiBoc2xhKDIxNCwgMTAlLCA4NiUsIDAuMDIpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ncmF5LTIwMDogaHNsYSgyODYsIDMxJSwgODIlLCAwLjA0KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZ3JheS0zMDA6IGhzbGEoMjgwLCA0MSUsIDkwJSwgMC4wNik7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWdyYXktNDAwOiBoc2xhKDI3MCwgMzclLCA5MyUsIDAuMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWdyYXktNTAwOiBoc2xhKDIxNCwgNDElLCA5NyUsIDAuMTUpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ncmF5LTYwMDogaHNsYSgyMjUsIDQ2JSwgOTUlLCAwLjIpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ncmF5LTcwMDogaHNsYSgyMTMsIDg1JSwgOTUlLCAwLjI3KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZ3JheS04MDA6IGhzbGEoMjE2LCAxMDAlLCA5NCUsIDAuNDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ncmF5LTkwMDogaHNsYSgyMTEsIDk0JSwgOTQlLCAwLjU0KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZ3JheS0xMDAwOiBoc2xhKDIxMywgOTMlLCA5NCUsIDAuNjEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ncmF5LTExMDA6IGhzbGEoMjE1LCA5MiUsIDk1JSwgMC42OCk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWdyYXktMTIwMDogaHNsYSgyMTUsIDc0JSwgOTYlLCAwLjc5KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZ3JheS0xMzAwOiBoc2xhKDIxMywgNzMlLCA5NyUsIDAuODkpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ncmF5LTE0MDA6IGhzbGEoMjE0LCA3OCUsIDk4JSwgMC45NSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXJlZC0xMDA6IGhzbCgwLCAxMDAlLCAxMSUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1yZWQtMjAwOiBoc2woMCwgMTAwJSwgMTIlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcmVkLTMwMDogaHNsKDAsIDEwMCUsIDE0JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXJlZC00MDA6IGhzbCgwLCAxMDAlLCAxOCUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1yZWQtNTAwOiBoc2woMCwgMTAwJSwgMjIlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcmVkLTYwMDogaHNsKDM1NiwgMTAwJSwgMjYlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcmVkLTcwMDogaHNsYSgzNTQsIDk5JSwgNTIlLCAwLjYpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1yZWQtODAwOiBoc2xhKDM1NywgOTklLCA1NyUsIDAuODEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1yZWQtOTAwOiBoc2woMSwgOTglLCA2MSUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1yZWQtMTAwMDogaHNsKDMsIDEwMCUsIDY4JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXJlZC0xMTAwOiBoc2woNSwgMTAwJSwgNzQlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcmVkLTEyMDA6IGhzbCg3LCAxMDAlLCA4MiUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1yZWQtMTMwMDogaHNsKDgsIDEwMCUsIDkwJSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXJlZC0xNDAwOiBoc2woNywgMTAwJSwgOTUlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtb3JhbmdlLTEwMDogaHNsKDAsIDEwMCUsIDExJSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLW9yYW5nZS0yMDA6IGhzbCgwLCAxMDAlLCAxMiUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1vcmFuZ2UtMzAwOiBoc2woMCwgMTAwJSwgMTQlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtb3JhbmdlLTQwMDogaHNsKDAsIDEwMCUsIDE3JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLW9yYW5nZS01MDA6IGhzbCgwLCAxMDAlLCAyMiUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1vcmFuZ2UtNjAwOiBoc2woMiwgMTAwJSwgMjYlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtb3JhbmdlLTcwMDogaHNsYSgxMiwgMTAwJSwgMzklLCAwLjc0KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtb3JhbmdlLTgwMDogaHNsYSgyMSwgMTAwJSwgNTAlLCAwLjcxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtb3JhbmdlLTkwMDogaHNsYSgyNiwgOTklLCA1MiUsIDAuODUpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1vcmFuZ2UtMTAwMDogaHNsYSgyOSwgOTklLCA1MyUsIDAuOTIpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1vcmFuZ2UtMTEwMDogaHNsYSgyNywgOTglLCA2MiUsIDAuOTcpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1vcmFuZ2UtMTIwMDogaHNsYSgyNiwgOTclLCA3NSUsIDAuOTkpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1vcmFuZ2UtMTMwMDogaHNsKDI0LCAxMDAlLCA4NiUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1vcmFuZ2UtMTQwMDogaHNsKDI1LCAxMDAlLCA5MyUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS15ZWxsb3ctMTAwOiBoc2woMCwgMTAwJSwgMTElLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEteWVsbG93LTIwMDogaHNsKDMsIDEwMCUsIDExJSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXllbGxvdy0zMDA6IGhzbCg4LCAxMDAlLCAxMyUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS15ZWxsb3ctNDAwOiBoc2woMTYsIDEwMCUsIDE1JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXllbGxvdy01MDA6IGhzbCgyMywgMTAwJSwgMTglLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEteWVsbG93LTYwMDogaHNsYSgyNiwgMTAwJSwgMjMlLCAwLjg3KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEteWVsbG93LTcwMDogaHNsYSgzMCwgMTAwJSwgMjYlLCAwLjkyKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEteWVsbG93LTgwMDogaHNsKDM1LCAxMDAlLCAzMSUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS15ZWxsb3ctOTAwOiBoc2woMzksIDEwMCUsIDM3JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXllbGxvdy0xMDAwOiBoc2woNDEsIDEwMCUsIDQwJSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXllbGxvdy0xMTAwOiBoc2woNDQsIDEwMCUsIDQzJSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXllbGxvdy0xMjAwOiBoc2xhKDQ2LCA5OCUsIDUyJSwgMC45NCk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXllbGxvdy0xMzAwOiBoc2woNDcsIDk5JSwgNjclLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEteWVsbG93LTE0MDA6IGhzbCg0NiwgMTAwJSwgODUlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtbGltZS0xMDA6IGhzbCgxMjAsIDEwMCUsIDUlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtbGltZS0yMDA6IGhzbCgxMjAsIDEwMCUsIDYlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtbGltZS0zMDA6IGhzbCgxMjAsIDEwMCUsIDglLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtbGltZS00MDA6IGhzbCgxMjAsIDEwMCUsIDklLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtbGltZS01MDA6IGhzbCgxMjAsIDEwMCUsIDEyJSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWxpbWUtNjAwOiBoc2woMTIwLCAxMDAlLCAxNSUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1saW1lLTcwMDogaHNsKDEyMCwgMTAwJSwgMTglLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtbGltZS04MDA6IGhzbGEoMTEyLCA5OCUsIDUyJSwgMC40NSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWxpbWUtOTAwOiBoc2xhKDEwNywgOTglLCA1NyUsIDAuNTgpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1saW1lLTEwMDA6IGhzbGEoMTA1LCA5NyUsIDU4JSwgMC42Nik7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWxpbWUtMTEwMDogaHNsYSgxMDIsIDk4JSwgNjAlLCAwLjc0KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtbGltZS0xMjAwOiBoc2xhKDEwMiwgMTAwJSwgNjglLCAwLjg0KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtbGltZS0xMzAwOiBoc2xhKDEwNCwgMTAwJSwgODQlLCAwLjkyKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtbGltZS0xNDAwOiBoc2xhKDEwNSwgOTElLCA5MiUsIDAuOTcpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ncmVlbi0xMDA6IGhzbCgxNDQsIDEwMCUsIDYlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZ3JlZW4tMjAwOiBoc2woMTQ3LCAxMDAlLCA2JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWdyZWVuLTMwMDogaHNsKDE1MSwgMTAwJSwgNyUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ncmVlbi00MDA6IGhzbCgxNTUsIDEwMCUsIDklLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZ3JlZW4tNTAwOiBoc2woMTYwLCAxMDAlLCAxMiUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ncmVlbi02MDA6IGhzbCgxNjIsIDEwMCUsIDE0JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWdyZWVuLTcwMDogaHNsKDE2NSwgMTAwJSwgMTglLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZ3JlZW4tODAwOiBoc2woMTY4LCAxMDAlLCAyNCUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ncmVlbi05MDA6IGhzbGEoMTY0LCA5OCUsIDUzJSwgMC41OCk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWdyZWVuLTEwMDA6IGhzbGEoMTYzLCA5OSUsIDU1JSwgMC42NSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWdyZWVuLTExMDA6IGhzbGEoMTYyLCA5OCUsIDU3JSwgMC43NCk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWdyZWVuLTEyMDA6IGhzbGEoMTU2LCA5NyUsIDc2JSwgMC44Myk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWdyZWVuLTEzMDA6IGhzbGEoMTUyLCA5MyUsIDg4JSwgMC45MSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWdyZWVuLTE0MDA6IGhzbGEoMTUyLCA4OCUsIDk0JSwgMC45Nik7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWN5YW4tMTAwOiBoc2woMjI1LCAxMDAlLCAxMyUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1jeWFuLTIwMDogaHNsKDIyMywgMTAwJSwgMTQlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtY3lhbi0zMDA6IGhzbCgyMTksIDEwMCUsIDE1JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWN5YW4tNDAwOiBoc2woMjE1LCAxMDAlLCAxOCUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1jeWFuLTUwMDogaHNsKDIxMCwgMTAwJSwgMjAlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtY3lhbi02MDA6IGhzbCgyMDgsIDEwMCUsIDIzJSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWN5YW4tNzAwOiBoc2woMjA0LCAxMDAlLCAyNyUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1jeWFuLTgwMDogaHNsYSgyMDAsIDEwMCUsIDM3JSwgMC44OCk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWN5YW4tOTAwOiBoc2woMTk0LCAxMDAlLCAzNyUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1jeWFuLTEwMDA6IGhzbGEoMTg5LCAxMDAlLCA0NCUsIDAuODgpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1jeWFuLTExMDA6IGhzbGEoMTg2LCA5OCUsIDU3JSwgMC43OSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWN5YW4tMTIwMDogaHNsYSgxODcsIDEwMCUsIDc3JSwgMC44NSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWN5YW4tMTMwMDogaHNsYSgxODcsIDkzJSwgODklLCAwLjkyKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtY3lhbi0xNDAwOiBoc2xhKDE4NywgOTMlLCA5NCUsIDAuOTYpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ibHVlLTEwMDogaHNsKDIzNywgMTAwJSwgMTglLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtYmx1ZS0yMDA6IGhzbCgyMzQsIDEwMCUsIDE4JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWJsdWUtMzAwOiBoc2woMjI5LCAxMDAlLCAyMCUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ibHVlLTQwMDogaHNsKDIyNCwgMTAwJSwgMjIlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtYmx1ZS01MDA6IGhzbGEoMjIxLCAxMDAlLCAzNyUsIDAuNjMpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ibHVlLTYwMDogaHNsYSgyMTksIDk5JSwgNTAlLCAwLjUzKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtYmx1ZS03MDA6IGhzbGEoMjE3LCA5OSUsIDUxJSwgMC42NCk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWJsdWUtODAwOiBoc2xhKDIxNCwgOTklLCA1MyUsIDAuODQpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ibHVlLTkwMDogaHNsYSgyMTUsIDk4JSwgNjMlLCAwLjkyKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtYmx1ZS0xMDAwOiBoc2xhKDIxNiwgOTklLCA2OSUsIDAuOTQpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ibHVlLTExMDA6IGhzbGEoMjE1LCA5NyUsIDc0JSwgMC45Nik7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWJsdWUtMTIwMDogaHNsYSgyMTYsIDEwMCUsIDgyJSwgMC45Nyk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWJsdWUtMTMwMDogaHNsYSgyMTYsIDk2JSwgOTAlLCAwLjk5KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtYmx1ZS0xNDAwOiBoc2woMjE3LCA5MyUsIDk1JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXB1cnBsZS0xMDA6IGhzbCgyNTgsIDEwMCUsIDE3JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXB1cnBsZS0yMDA6IGhzbCgyNTksIDEwMCUsIDE4JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXB1cnBsZS0zMDA6IGhzbCgyNTksIDEwMCUsIDIxJSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXB1cnBsZS00MDA6IGhzbCgyNjEsIDEwMCUsIDI1JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXB1cnBsZS01MDA6IGhzbCgyNjMsIDEwMCUsIDMxJSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXB1cnBsZS02MDA6IGhzbGEoMjYzLCA5OCUsIDUyJSwgMC42Nyk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXB1cnBsZS03MDA6IGhzbGEoMjYwLCA5OCUsIDU4JSwgMC43Nik7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXB1cnBsZS04MDA6IGhzbGEoMjU3LCAxMDAlLCA2NSUsIDAuOTIpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1wdXJwbGUtOTAwOiBoc2xhKDI1NCwgOTklLCA3MiUsIDAuOTgpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1wdXJwbGUtMTAwMDogaHNsYSgyNTIsIDk4JSwgNzclLCAwLjk5KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcHVycGxlLTExMDA6IGhzbCgyNTAsIDk4JSwgODAlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcHVycGxlLTEyMDA6IGhzbCgyNDksIDEwMCUsIDg3JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXB1cnBsZS0xMzAwOiBoc2woMjQ2LCAxMDAlLCA5MyUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1wdXJwbGUtMTQwMDogaHNsKDI0OSwgMTAwJSwgOTYlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZnVjaHNpYS0xMDA6IGhzbCgyNzksIDEwMCUsIDEyJSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWZ1Y2hzaWEtMjAwOiBoc2woMjgxLCAxMDAlLCAxMyUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1mdWNoc2lhLTMwMDogaHNsKDI4MiwgMTAwJSwgMTUlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZnVjaHNpYS00MDA6IGhzbCgyODUsIDEwMCUsIDE4JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWZ1Y2hzaWEtNTAwOiBoc2xhKDI4NywgMTAwJSwgNTIlLCAwLjM4KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZnVjaHNpYS02MDA6IGhzbGEoMjg4LCAxMDAlLCA1NiUsIDAuNDQpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1mdWNoc2lhLTcwMDogaHNsYSgyODksIDk5JSwgNTklLCAwLjU0KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZnVjaHNpYS04MDA6IGhzbGEoMjk0LCA5OCUsIDYzJSwgMC43MSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWZ1Y2hzaWEtOTAwOiBoc2xhKDI5NSwgOTclLCA3MiUsIDAuOCk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWZ1Y2hzaWEtMTAwMDogaHNsYSgyOTYsIDk4JSwgNzglLCAwLjgzKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZnVjaHNpYS0xMTAwOiBoc2xhKDI5NywgOTglLCA4MiUsIDAuODYpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1mdWNoc2lhLTEyMDA6IGhzbGEoMjk2LCA5NyUsIDg4JSwgMC45MSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWZ1Y2hzaWEtMTMwMDogaHNsYSgyOTYsIDEwMCUsIDk0JSwgMC45NSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWZ1Y2hzaWEtMTQwMDogaHNsYSgyOTYsIDkwJSwgOTYlLCAwLjk4KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcGluay0xMDA6IGhzbCgzNDQsIDEwMCUsIDExJSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXBpbmstMjAwOiBoc2woMzQyLCAxMDAlLCAxMiUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1waW5rLTMwMDogaHNsKDMzOSwgMTAwJSwgMTQlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcGluay00MDA6IGhzbCgzMzUsIDEwMCUsIDE3JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXBpbmstNTAwOiBoc2woMzMwLCAxMDAlLCAyMSUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1waW5rLTYwMDogaHNsYSgzMzMsIDk3JSwgNTAlLCAwLjQ2KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcGluay03MDA6IGhzbGEoMzM0LCA5OCUsIDUzJSwgMC41OCk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXBpbmstODAwOiBoc2xhKDMzNSwgOTklLCA1NSUsIDAuOCk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXBpbmstOTAwOiBoc2xhKDM0MCwgOTklLCA2MyUsIDAuOTYpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1waW5rLTEwMDA6IGhzbGEoMzQzLCAxMDAlLCA3MCUsIDAuOTgpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1waW5rLTExMDA6IGhzbCgzNDUsIDk4JSwgNzYlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcGluay0xMjAwOiBoc2woMzQ2LCAxMDAlLCA4NCUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1waW5rLTEzMDA6IGhzbCgzNDcsIDEwMCUsIDkxJSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXBpbmstMTQwMDogaHNsKDM0NywgMTAwJSwgOTYlLCAxKTtcbn1cbiIsIi5jcGQtdGhlbWUtZGFyay5jcGQtdGhlbWUtZGFyayB7XG4gIC0tY3BkLWNvbG9yLWJnLWNhbnZhcy1kZWZhdWx0LWxldmVsLTE6IHZhcigtLWNwZC1jb2xvci1ncmF5LTMwMCk7XG4gIC0tY3BkLWNvbG9yLWJnLXN1YnRsZS1zZWNvbmRhcnktbGV2ZWwtMDogdmFyKC0tY3BkLWNvbG9yLXRoZW1lLWJnKTtcbn1cbiIsIjpyb290IHtcbiAgLS1jcGQtY29sb3ItYmctY2FudmFzLWRlZmF1bHQtbGV2ZWwtMTogdmFyKC0tY3BkLWNvbG9yLWdyYXktMzAwKTtcbiAgLS1jcGQtY29sb3ItYmctc3VidGxlLXNlY29uZGFyeS1sZXZlbC0wOiB2YXIoLS1jcGQtY29sb3ItdGhlbWUtYmcpO1xufVxuIiwiLmNwZC10aGVtZS1kYXJrLWhjLmNwZC10aGVtZS1kYXJrLWhjIHtcbiAgLS1jcGQtY29sb3ItdGhlbWUtYmc6ICMxMDEzMTc7XG4gIC0tY3BkLWNvbG9yLWdyYXktMTAwOiAjMTgxYTFmO1xuICAtLWNwZC1jb2xvci1ncmF5LTIwMDogIzFkMWYyNDtcbiAgLS1jcGQtY29sb3ItZ3JheS0zMDA6ICMyNjI4MmQ7XG4gIC0tY3BkLWNvbG9yLWdyYXktNDAwOiAjMmIyZTMzO1xuICAtLWNwZC1jb2xvci1ncmF5LTUwMDogIzNjM2Y0NDtcbiAgLS1jcGQtY29sb3ItZ3JheS02MDA6ICM0YTRmNTU7XG4gIC0tY3BkLWNvbG9yLWdyYXktNzAwOiAjNjA2NzcwO1xuICAtLWNwZC1jb2xvci1ncmF5LTgwMDogIzc5ODE4ZDtcbiAgLS1jcGQtY29sb3ItZ3JheS05MDA6ICNhY2I0YmQ7XG4gIC0tY3BkLWNvbG9yLWdyYXktMTAwMDogI2I4YmZjNztcbiAgLS1jcGQtY29sb3ItZ3JheS0xMTAwOiAjYzhjZWQ1O1xuICAtLWNwZC1jb2xvci1ncmF5LTEyMDA6ICNkNWRhZTE7XG4gIC0tY3BkLWNvbG9yLWdyYXktMTMwMDogI2ViZWVmMjtcbiAgLS1jcGQtY29sb3ItZ3JheS0xNDAwOiAjZjJmNWY3O1xuICAtLWNwZC1jb2xvci1yZWQtMTAwOiAjM2UwMDAwO1xuICAtLWNwZC1jb2xvci1yZWQtMjAwOiAjNDcwMDAwO1xuICAtLWNwZC1jb2xvci1yZWQtMzAwOiAjNTkwMDAwO1xuICAtLWNwZC1jb2xvci1yZWQtNDAwOiAjNjQwMDAwO1xuICAtLWNwZC1jb2xvci1yZWQtNTAwOiAjODMwMDA5O1xuICAtLWNwZC1jb2xvci1yZWQtNjAwOiAjOWYwZDFlO1xuICAtLWNwZC1jb2xvci1yZWQtNzAwOiAjYzgxZTI4O1xuICAtLWNwZC1jb2xvci1yZWQtODAwOiAjZjUyZjMzO1xuICAtLWNwZC1jb2xvci1yZWQtOTAwOiAjZmY5NjhjO1xuICAtLWNwZC1jb2xvci1yZWQtMTAwMDogI2ZmYTc5ZDtcbiAgLS1jcGQtY29sb3ItcmVkLTExMDA6ICNmZmJkYjU7XG4gIC0tY3BkLWNvbG9yLXJlZC0xMjAwOiAjZmZjZmM4O1xuICAtLWNwZC1jb2xvci1yZWQtMTMwMDogI2ZmZTllNjtcbiAgLS1jcGQtY29sb3ItcmVkLTE0MDA6ICNmZmYyZWY7XG4gIC0tY3BkLWNvbG9yLW9yYW5nZS0xMDA6ICMzYzAwMDA7XG4gIC0tY3BkLWNvbG9yLW9yYW5nZS0yMDA6ICM0NzAwMDA7XG4gIC0tY3BkLWNvbG9yLW9yYW5nZS0zMDA6ICM1ODAwMDA7XG4gIC0tY3BkLWNvbG9yLW9yYW5nZS00MDA6ICM2NTAwMDA7XG4gIC0tY3BkLWNvbG9yLW9yYW5nZS01MDA6ICM4MzA1MDA7XG4gIC0tY3BkLWNvbG9yLW9yYW5nZS02MDA6ICM5NzIyMDY7XG4gIC0tY3BkLWNvbG9yLW9yYW5nZS03MDA6ICNiNDQwMDc7XG4gIC0tY3BkLWNvbG9yLW9yYW5nZS04MDA6ICNkMTVmMGI7XG4gIC0tY3BkLWNvbG9yLW9yYW5nZS05MDA6ICNmODlkNTg7XG4gIC0tY3BkLWNvbG9yLW9yYW5nZS0xMDAwOiAjZmFhZDczO1xuICAtLWNwZC1jb2xvci1vcmFuZ2UtMTEwMDogI2ZkYzE5NztcbiAgLS1jcGQtY29sb3Itb3JhbmdlLTEyMDA6ICNmZWQwYjE7XG4gIC0tY3BkLWNvbG9yLW9yYW5nZS0xMzAwOiAjZmZlYWRiO1xuICAtLWNwZC1jb2xvci1vcmFuZ2UtMTQwMDogI2ZmZjJlYTtcbiAgLS1jcGQtY29sb3IteWVsbG93LTEwMDogIzNhMDMwMDtcbiAgLS1jcGQtY29sb3IteWVsbG93LTIwMDogIzQxMDkwMDtcbiAgLS1jcGQtY29sb3IteWVsbG93LTMwMDogIzRjMTQwMDtcbiAgLS1jcGQtY29sb3IteWVsbG93LTQwMDogIzU0MWQwMDtcbiAgLS1jcGQtY29sb3IteWVsbG93LTUwMDogIzY4MmUwMztcbiAgLS1jcGQtY29sb3IteWVsbG93LTYwMDogIzdjM2UwMjtcbiAgLS1jcGQtY29sb3IteWVsbG93LTcwMDogIzk4NTYwMDtcbiAgLS1jcGQtY29sb3IteWVsbG93LTgwMDogI2I0NzIwMDtcbiAgLS1jcGQtY29sb3IteWVsbG93LTkwMDogI2UzYWEwMDtcbiAgLS1jcGQtY29sb3IteWVsbG93LTEwMDA6ICNlYmI2MDc7XG4gIC0tY3BkLWNvbG9yLXllbGxvdy0xMTAwOiAjZjdjODE2O1xuICAtLWNwZC1jb2xvci15ZWxsb3ctMTIwMDogI2ZlZDYzMjtcbiAgLS1jcGQtY29sb3IteWVsbG93LTEzMDA6ICNmZmVkYjE7XG4gIC0tY3BkLWNvbG9yLXllbGxvdy0xNDAwOiAjZmZmNGQwO1xuICAtLWNwZC1jb2xvci1saW1lLTEwMDogIzAwMjAwMDtcbiAgLS1jcGQtY29sb3ItbGltZS0yMDA6ICMwMDI2MDA7XG4gIC0tY3BkLWNvbG9yLWxpbWUtMzAwOiAjMDAzMDAwO1xuICAtLWNwZC1jb2xvci1saW1lLTQwMDogIzAwMzcwMDtcbiAgLS1jcGQtY29sb3ItbGltZS01MDA6ICMwMDRhMDA7XG4gIC0tY3BkLWNvbG9yLWxpbWUtNjAwOiAjMDA1YzAwO1xuICAtLWNwZC1jb2xvci1saW1lLTcwMDogIzE4NzYxMTtcbiAgLS1jcGQtY29sb3ItbGltZS04MDA6ICMzMTk0MWQ7XG4gIC0tY3BkLWNvbG9yLWxpbWUtOTAwOiAjNWVjYTJmO1xuICAtLWNwZC1jb2xvci1saW1lLTEwMDA6ICM2YWQ2Mzk7XG4gIC0tY3BkLWNvbG9yLWxpbWUtMTEwMDogIzkyZTE3NTtcbiAgLS1jcGQtY29sb3ItbGltZS0xMjAwOiAjYWZlOTlhO1xuICAtLWNwZC1jb2xvci1saW1lLTEzMDA6ICNkYWY2ZDA7XG4gIC0tY3BkLWNvbG9yLWxpbWUtMTQwMDogI2U5ZjllMztcbiAgLS1jcGQtY29sb3ItZ3JlZW4tMTAwOiAjMDAxZjBlO1xuICAtLWNwZC1jb2xvci1ncmVlbi0yMDA6ICMwMDI1MTM7XG4gIC0tY3BkLWNvbG9yLWdyZWVuLTMwMDogIzAwMmUxYjtcbiAgLS1jcGQtY29sb3ItZ3JlZW4tNDAwOiAjMDAzNjIyO1xuICAtLWNwZC1jb2xvci1ncmVlbi01MDA6ICMwMDQ4MzI7XG4gIC0tY3BkLWNvbG9yLWdyZWVuLTYwMDogIzAwNWE0MztcbiAgLS1jcGQtY29sb3ItZ3JlZW4tNzAwOiAjMDA3NDVjO1xuICAtLWNwZC1jb2xvci1ncmVlbi04MDA6ICMxMDkxNzM7XG4gIC0tY3BkLWNvbG9yLWdyZWVuLTkwMDogIzM3Yzk5ODtcbiAgLS1jcGQtY29sb3ItZ3JlZW4tMTAwMDogIzYxZDJhNjtcbiAgLS1jcGQtY29sb3ItZ3JlZW4tMTEwMDogIzhmZGRiYztcbiAgLS1jcGQtY29sb3ItZ3JlZW4tMTIwMDogI2FjZTZjYztcbiAgLS1jcGQtY29sb3ItZ3JlZW4tMTMwMDogI2Q5ZjRlNztcbiAgLS1jcGQtY29sb3ItZ3JlZW4tMTQwMDogI2U5ZjhmMTtcbiAgLS1jcGQtY29sb3ItY3lhbi0xMDA6ICMwMDE0NDg7XG4gIC0tY3BkLWNvbG9yLWN5YW4tMjAwOiAjMDAxYjRlO1xuICAtLWNwZC1jb2xvci1jeWFuLTMwMDogIzAwMjU1OTtcbiAgLS1jcGQtY29sb3ItY3lhbi00MDA6ICMwMDJkNjE7XG4gIC0tY3BkLWNvbG9yLWN5YW4tNTAwOiAjMDAzZjc1O1xuICAtLWNwZC1jb2xvci1jeWFuLTYwMDogIzAwNTE4ODtcbiAgLS1jcGQtY29sb3ItY3lhbi03MDA6ICMwMDZjYTQ7XG4gIC0tY3BkLWNvbG9yLWN5YW4tODAwOiAjMDA4YWJhO1xuICAtLWNwZC1jb2xvci1jeWFuLTkwMDogIzQ2YzNkMjtcbiAgLS1jcGQtY29sb3ItY3lhbi0xMDAwOiAjNmJjY2Q5O1xuICAtLWNwZC1jb2xvci1jeWFuLTExMDA6ICM5M2Q5ZTI7XG4gIC0tY3BkLWNvbG9yLWN5YW4tMTIwMDogI2FmZTJlOTtcbiAgLS1jcGQtY29sb3ItY3lhbi0xMzAwOiAjZGJmMmY1O1xuICAtLWNwZC1jb2xvci1jeWFuLTE0MDA6ICNlYWY3Zjk7XG4gIC0tY3BkLWNvbG9yLWJsdWUtMTAwOiAjMDAwOTVkO1xuICAtLWNwZC1jb2xvci1ibHVlLTIwMDogIzAwMTI2NDtcbiAgLS1jcGQtY29sb3ItYmx1ZS0zMDA6ICMwMDFlNmY7XG4gIC0tY3BkLWNvbG9yLWJsdWUtNDAwOiAjMDMyNjc3O1xuICAtLWNwZC1jb2xvci1ibHVlLTUwMDogIzA4Mzg5MTtcbiAgLS1jcGQtY29sb3ItYmx1ZS02MDA6ICMwYjQ5YWI7XG4gIC0tY3BkLWNvbG9yLWJsdWUtNzAwOiAjMGU2MWQxO1xuICAtLWNwZC1jb2xvci1ibHVlLTgwMDogIzMzN2ZlOTtcbiAgLS1jcGQtY29sb3ItYmx1ZS05MDA6ICM4OWI1ZjY7XG4gIC0tY3BkLWNvbG9yLWJsdWUtMTAwMDogIzlhYzBmODtcbiAgLS1jcGQtY29sb3ItYmx1ZS0xMTAwOiAjYjJjZmZhO1xuICAtLWNwZC1jb2xvci1ibHVlLTEyMDA6ICNjNWRiZmM7XG4gIC0tY3BkLWNvbG9yLWJsdWUtMTMwMDogI2U0ZWVmZTtcbiAgLS1jcGQtY29sb3ItYmx1ZS0xNDAwOiAjZWZmNWZlO1xuICAtLWNwZC1jb2xvci1wdXJwbGUtMTAwOiAjMWMwMDVhO1xuICAtLWNwZC1jb2xvci1wdXJwbGUtMjAwOiAjMjIwMDZhO1xuICAtLWNwZC1jb2xvci1wdXJwbGUtMzAwOiAjMmMwMDgwO1xuICAtLWNwZC1jb2xvci1wdXJwbGUtNDAwOiAjMzUwMDkwO1xuICAtLWNwZC1jb2xvci1wdXJwbGUtNTAwOiAjNGEwZGIxO1xuICAtLWNwZC1jb2xvci1wdXJwbGUtNjAwOiAjNWEyN2M2O1xuICAtLWNwZC1jb2xvci1wdXJwbGUtNzAwOiAjNzM0M2U2O1xuICAtLWNwZC1jb2xvci1wdXJwbGUtODAwOiAjOGI2NmY4O1xuICAtLWNwZC1jb2xvci1wdXJwbGUtOTAwOiAjYjZhN2ZmO1xuICAtLWNwZC1jb2xvci1wdXJwbGUtMTAwMDogI2MwYjVmZjtcbiAgLS1jcGQtY29sb3ItcHVycGxlLTExMDA6ICNjZWM3ZmY7XG4gIC0tY3BkLWNvbG9yLXB1cnBsZS0xMjAwOiAjZGFkNWZmO1xuICAtLWNwZC1jb2xvci1wdXJwbGUtMTMwMDogI2VlZWJmZjtcbiAgLS1jcGQtY29sb3ItcHVycGxlLTE0MDA6ICNmNWYzZmY7XG4gIC0tY3BkLWNvbG9yLWZ1Y2hzaWEtMTAwOiAjMmUwMDQ0O1xuICAtLWNwZC1jb2xvci1mdWNoc2lhLTIwMDogIzM3MDA0ZTtcbiAgLS1jcGQtY29sb3ItZnVjaHNpYS0zMDA6ICM0NjAwNWU7XG4gIC0tY3BkLWNvbG9yLWZ1Y2hzaWEtNDAwOiAjNGYwMzY4O1xuICAtLWNwZC1jb2xvci1mdWNoc2lhLTUwMDogIzY1MTc3ZDtcbiAgLS1jcGQtY29sb3ItZnVjaHNpYS02MDA6ICM3ZDIzOTQ7XG4gIC0tY3BkLWNvbG9yLWZ1Y2hzaWEtNzAwOiAjYTIzM2IzO1xuICAtLWNwZC1jb2xvci1mdWNoc2lhLTgwMDogI2MxNTNjYjtcbiAgLS1jcGQtY29sb3ItZnVjaHNpYS05MDA6ICNkZDlkZTM7XG4gIC0tY3BkLWNvbG9yLWZ1Y2hzaWEtMTAwMDogI2UzYWJlNztcbiAgLS1jcGQtY29sb3ItZnVjaHNpYS0xMTAwOiAjZWFjMGVkO1xuICAtLWNwZC1jb2xvci1mdWNoc2lhLTEyMDA6ICNmMGNmZjI7XG4gIC0tY3BkLWNvbG9yLWZ1Y2hzaWEtMTMwMDogI2Y4ZTlmOTtcbiAgLS1jcGQtY29sb3ItZnVjaHNpYS0xNDAwOiAjZmJmMWZiO1xuICAtLWNwZC1jb2xvci1waW5rLTEwMDogIzNjMDAxMjtcbiAgLS1jcGQtY29sb3ItcGluay0yMDA6ICM0NTAwMTg7XG4gIC0tY3BkLWNvbG9yLXBpbmstMzAwOiAjNTUwMDI0O1xuICAtLWNwZC1jb2xvci1waW5rLTQwMDogIzYxMDAyZDtcbiAgLS1jcGQtY29sb3ItcGluay01MDA6ICM3YzBjNDE7XG4gIC0tY3BkLWNvbG9yLXBpbmstNjAwOiAjOTkxMTRmO1xuICAtLWNwZC1jb2xvci1waW5rLTcwMDogI2M1MTc2MTtcbiAgLS1jcGQtY29sb3ItcGluay04MDA6ICNmMTJjNzU7XG4gIC0tY3BkLWNvbG9yLXBpbmstOTAwOiAjZmY5MmFjO1xuICAtLWNwZC1jb2xvci1waW5rLTEwMDA6ICNmZmE0Yjk7XG4gIC0tY3BkLWNvbG9yLXBpbmstMTEwMDogI2ZmYmJjYTtcbiAgLS1jcGQtY29sb3ItcGluay0xMjAwOiAjZmZjY2Q3O1xuICAtLWNwZC1jb2xvci1waW5rLTEzMDA6ICNmZmU4ZWQ7XG4gIC0tY3BkLWNvbG9yLXBpbmstMTQwMDogI2ZmZjFmNDtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZ3JheS0xMDA6IGhzbGEoMjg2LCAzMSUsIDgyJSwgMC4wNCk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWdyYXktMjAwOiBoc2xhKDI4MCwgNDElLCA5MCUsIDAuMDYpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ncmF5LTMwMDogaHNsYSgyNzAsIDM3JSwgOTMlLCAwLjEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ncmF5LTQwMDogaHNsYSgyMjcsIDI5JSwgOTElLCAwLjEzKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZ3JheS01MDA6IGhzbGEoMjI1LCA0NiUsIDk1JSwgMC4yKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZ3JheS02MDA6IGhzbGEoMjEzLCA4NSUsIDk1JSwgMC4yNyk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWdyYXktNzAwOiBoc2xhKDIxNCwgNzklLCA5MyUsIDAuMzkpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ncmF5LTgwMDogaHNsYSgyMTYsIDk0JSwgOTMlLCAwLjUxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZ3JheS05MDA6IGhzbGEoMjExLCA5MSUsIDk2JSwgMC43Mik7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWdyYXktMTAwMDogaHNsYSgyMTMsIDEwMCUsIDk3JSwgMC43Nik7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWdyYXktMTEwMDogaHNsYSgyMTIsIDEwMCUsIDk3JSwgMC44Mik7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWdyYXktMTIwMDogaHNsYSgyMTcsIDc3JSwgOTclLCAwLjg4KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZ3JheS0xMzAwOiBoc2xhKDIxNCwgNzglLCA5OCUsIDAuOTUpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ncmF5LTE0MDA6IGhzbGEoMjA0LCA3MSUsIDk5JSwgMC45Nyk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXJlZC0xMDA6IGhzbCgwLCAxMDAlLCAxMiUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1yZWQtMjAwOiBoc2woMCwgMTAwJSwgMTQlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcmVkLTMwMDogaHNsKDAsIDEwMCUsIDE4JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXJlZC00MDA6IGhzbCgwLCAxMDAlLCAyMCUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1yZWQtNTAwOiBoc2woMzU2LCAxMDAlLCAyNiUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1yZWQtNjAwOiBoc2xhKDM1NCwgOTklLCA1MiUsIDAuNik7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXJlZC03MDA6IGhzbGEoMzU3LCAxMDAlLCA1NyUsIDAuNzcpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1yZWQtODAwOiBoc2xhKDM1OSwgMTAwJSwgNTklLCAwLjk2KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcmVkLTkwMDogaHNsKDUsIDEwMCUsIDc4JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXJlZC0xMDAwOiBoc2woNiwgMTAwJSwgODElLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcmVkLTExMDA6IGhzbCg2LCAxMDAlLCA4NiUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1yZWQtMTIwMDogaHNsKDgsIDEwMCUsIDg5JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXJlZC0xMzAwOiBoc2woNywgMTAwJSwgOTUlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcmVkLTE0MDA6IGhzbCgxMSwgMTAwJSwgOTclLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtb3JhbmdlLTEwMDogaHNsKDAsIDEwMCUsIDEyJSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLW9yYW5nZS0yMDA6IGhzbCgwLCAxMDAlLCAxNCUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1vcmFuZ2UtMzAwOiBoc2woMCwgMTAwJSwgMTclLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtb3JhbmdlLTQwMDogaHNsKDAsIDEwMCUsIDIwJSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLW9yYW5nZS01MDA6IGhzbCgyLCAxMDAlLCAyNiUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1vcmFuZ2UtNjAwOiBoc2xhKDEyLCAxMDAlLCAzOSUsIDAuNzQpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1vcmFuZ2UtNzAwOiBoc2xhKDIwLCAxMDAlLCA0OSUsIDAuNyk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLW9yYW5nZS04MDA6IGhzbGEoMjYsIDk5JSwgNTElLCAwLjgxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtb3JhbmdlLTkwMDogaHNsYSgyNiwgOTglLCA2NyUsIDAuOTgpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1vcmFuZ2UtMTAwMDogaHNsYSgyNiwgMTAwJSwgNzMlLCAwLjk4KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtb3JhbmdlLTExMDA6IGhzbCgyNSwgOTYlLCA3OSUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1vcmFuZ2UtMTIwMDogaHNsKDI0LCA5OCUsIDg1JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLW9yYW5nZS0xMzAwOiBoc2woMjUsIDEwMCUsIDkzJSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLW9yYW5nZS0xNDAwOiBoc2woMjMsIDEwMCUsIDk2JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXllbGxvdy0xMDA6IGhzbCgzLCAxMDAlLCAxMSUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS15ZWxsb3ctMjAwOiBoc2woOCwgMTAwJSwgMTMlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEteWVsbG93LTMwMDogaHNsKDE2LCAxMDAlLCAxNSUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS15ZWxsb3ctNDAwOiBoc2woMjEsIDEwMCUsIDE3JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXllbGxvdy01MDA6IGhzbGEoMjYsIDEwMCUsIDIzJSwgMC44Nyk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXllbGxvdy02MDA6IGhzbGEoMzAsIDEwMCUsIDI2JSwgMC45Mik7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXllbGxvdy03MDA6IGhzbCgzNCwgMTAwJSwgMzAlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEteWVsbG93LTgwMDogaHNsKDM4LCAxMDAlLCAzNSUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS15ZWxsb3ctOTAwOiBoc2woNDUsIDEwMCUsIDQ1JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXllbGxvdy0xMDAwOiBoc2xhKDQ2LCA5OSUsIDUxJSwgMC45Mik7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXllbGxvdy0xMTAwOiBoc2xhKDQ4LCA5OSUsIDU0JSwgMC45Nyk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXllbGxvdy0xMjAwOiBoc2woNDgsIDk5JSwgNjAlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEteWVsbG93LTEzMDA6IGhzbCg0NiwgMTAwJSwgODUlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEteWVsbG93LTE0MDA6IGhzbCg0NiwgMTAwJSwgOTElLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtbGltZS0xMDA6IGhzbCgxMjAsIDEwMCUsIDYlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtbGltZS0yMDA6IGhzbCgxMjAsIDEwMCUsIDglLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtbGltZS0zMDA6IGhzbCgxMjAsIDEwMCUsIDklLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtbGltZS00MDA6IGhzbCgxMjAsIDEwMCUsIDExJSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWxpbWUtNTAwOiBoc2woMTIwLCAxMDAlLCAxNSUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1saW1lLTYwMDogaHNsKDEyMCwgMTAwJSwgMTglLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtbGltZS03MDA6IGhzbGEoMTE0LCAxMDAlLCA1MiUsIDAuNDIpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1saW1lLTgwMDogaHNsYSgxMDksIDk5JSwgNTclLCAwLjU1KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtbGltZS05MDA6IGhzbGEoMTAxLCA5OSUsIDYwJSwgMC43OCk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWxpbWUtMTAwMDogaHNsYSgxMDEsIDk5JSwgNjIlLCAwLjgzKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtbGltZS0xMTAwOiBoc2xhKDEwMywgOTclLCA3NSUsIDAuODgpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1saW1lLTEyMDA6IGhzbGEoMTAzLCA5OCUsIDgzJSwgMC45MSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWxpbWUtMTMwMDogaHNsYSgxMDUsIDkxJSwgOTIlLCAwLjk3KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtbGltZS0xNDAwOiBoc2xhKDEwNCwgOTIlLCA5NSUsIDAuOTgpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ncmVlbi0xMDA6IGhzbCgxNDcsIDEwMCUsIDYlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZ3JlZW4tMjAwOiBoc2woMTUxLCAxMDAlLCA3JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWdyZWVuLTMwMDogaHNsKDE1NSwgMTAwJSwgOSUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ncmVlbi00MDA6IGhzbCgxNTgsIDEwMCUsIDExJSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWdyZWVuLTUwMDogaHNsKDE2MiwgMTAwJSwgMTQlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZ3JlZW4tNjAwOiBoc2woMTY1LCAxMDAlLCAxOCUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ncmVlbi03MDA6IGhzbCgxNjgsIDEwMCUsIDIzJSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWdyZWVuLTgwMDogaHNsYSgxNjUsIDk4JSwgNTMlLCAwLjU0KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZ3JlZW4tOTAwOiBoc2xhKDE1OSwgOTclLCA2MiUsIDAuNzgpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ncmVlbi0xMDAwOiBoc2xhKDE1NiwgMTAwJSwgNzMlLCAwLjgxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZ3JlZW4tMTEwMDogaHNsYSgxNTQsIDk4JSwgODIlLCAwLjg2KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZ3JlZW4tMTIwMDogaHNsYSgxNTMsIDk0JSwgODclLCAwLjkpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ncmVlbi0xMzAwOiBoc2xhKDE1MiwgODglLCA5NCUsIDAuOTYpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ncmVlbi0xNDAwOiBoc2xhKDE1MCwgODAlLCA5NiUsIDAuOTgpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1jeWFuLTEwMDogaHNsKDIyMywgMTAwJSwgMTQlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtY3lhbi0yMDA6IGhzbCgyMTksIDEwMCUsIDE1JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWN5YW4tMzAwOiBoc2woMjE1LCAxMDAlLCAxOCUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1jeWFuLTQwMDogaHNsKDIxMiwgMTAwJSwgMTklLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtY3lhbi01MDA6IGhzbCgyMDgsIDEwMCUsIDIzJSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWN5YW4tNjAwOiBoc2woMjA0LCAxMDAlLCAyNyUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1jeWFuLTcwMDogaHNsKDIwMCwgMTAwJSwgMzIlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtY3lhbi04MDA6IGhzbCgxOTUsIDEwMCUsIDM3JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWN5YW4tOTAwOiBoc2xhKDE4NiwgOTklLCA2NiUsIDAuODEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1jeWFuLTEwMDA6IGhzbGEoMTg3LCA5OSUsIDc0JSwgMC44NCk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWN5YW4tMTEwMDogaHNsYSgxODcsIDk4JSwgODIlLCAwLjg4KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtY3lhbi0xMjAwOiBoc2xhKDE4OCwgOTclLCA4NyUsIDAuOTEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1jeWFuLTEzMDA6IGhzbGEoMTg3LCA5MyUsIDk0JSwgMC45Nik7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWN5YW4tMTQwMDogaHNsYSgxODcsIDg5JSwgOTclLCAwLjk4KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtYmx1ZS0xMDA6IGhzbCgyMzQsIDEwMCUsIDE4JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWJsdWUtMjAwOiBoc2woMjI5LCAxMDAlLCAyMCUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ibHVlLTMwMDogaHNsKDIyNCwgMTAwJSwgMjIlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtYmx1ZS00MDA6IGhzbGEoMjIyLCAxMDAlLCAyOCUsIDAuODIpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ibHVlLTUwMDogaHNsYSgyMTksIDk5JSwgNTAlLCAwLjUzKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtYmx1ZS02MDA6IGhzbGEoMjE3LCA5OSUsIDUxJSwgMC42NCk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWJsdWUtNzAwOiBoc2xhKDIxNSwgOTglLCA1MiUsIDAuODEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ibHVlLTgwMDogaHNsYSgyMTUsIDk5JSwgNjAlLCAwLjkxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtYmx1ZS05MDA6IGhzbGEoMjE2LCA5NyUsIDc3JSwgMC45Nyk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWJsdWUtMTAwMDogaHNsYSgyMTYsIDEwMCUsIDgxJSwgMC45Nyk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWJsdWUtMTEwMDogaHNsYSgyMTYsIDEwMCUsIDg2JSwgMC45OCk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWJsdWUtMTIwMDogaHNsYSgyMTYsIDk3JSwgODklLCAwLjk5KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtYmx1ZS0xMzAwOiBoc2woMjE3LCA5MyUsIDk1JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWJsdWUtMTQwMDogaHNsKDIxNiwgODglLCA5NyUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1wdXJwbGUtMTAwOiBoc2woMjU5LCAxMDAlLCAxOCUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1wdXJwbGUtMjAwOiBoc2woMjU5LCAxMDAlLCAyMSUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1wdXJwbGUtMzAwOiBoc2woMjYxLCAxMDAlLCAyNSUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1wdXJwbGUtNDAwOiBoc2woMjYyLCAxMDAlLCAyOCUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1wdXJwbGUtNTAwOiBoc2xhKDI2MywgOTglLCA1MiUsIDAuNjcpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1wdXJwbGUtNjAwOiBoc2xhKDI2MCwgOTglLCA1OCUsIDAuNzYpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1wdXJwbGUtNzAwOiBoc2xhKDI1OCwgOTglLCA2NCUsIDAuOSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXB1cnBsZS04MDA6IGhzbGEoMjU1LCAxMDAlLCA3MSUsIDAuOTcpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1wdXJwbGUtOTAwOiBoc2woMjUwLCAxMDAlLCA4MyUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1wdXJwbGUtMTAwMDogaHNsKDI0OSwgMTAwJSwgODYlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcHVycGxlLTExMDA6IGhzbCgyNDgsIDEwMCUsIDg5JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXB1cnBsZS0xMjAwOiBoc2woMjQ3LCAxMDAlLCA5MiUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1wdXJwbGUtMTMwMDogaHNsKDI0OSwgMTAwJSwgOTYlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcHVycGxlLTE0MDA6IGhzbCgyNTAsIDEwMCUsIDk4JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWZ1Y2hzaWEtMTAwOiBoc2woMjgxLCAxMDAlLCAxMyUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1mdWNoc2lhLTIwMDogaHNsKDI4MiwgMTAwJSwgMTUlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZnVjaHNpYS0zMDA6IGhzbCgyODUsIDEwMCUsIDE4JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWZ1Y2hzaWEtNDAwOiBoc2xhKDI4NiwgMTAwJSwgMjMlLCAwLjg1KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZnVjaHNpYS01MDA6IGhzbGEoMjg4LCAxMDAlLCA1NiUsIDAuNDQpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1mdWNoc2lhLTYwMDogaHNsYSgyODksIDk5JSwgNTklLCAwLjU0KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZnVjaHNpYS03MDA6IGhzbGEoMjkzLCA5NyUsIDYyJSwgMC42OCk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWZ1Y2hzaWEtODAwOiBoc2xhKDI5NiwgOTklLCA3MCUsIDAuNzgpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1mdWNoc2lhLTkwMDogaHNsYSgyOTUsIDEwMCUsIDg1JSwgMC44OCk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWZ1Y2hzaWEtMTAwMDogaHNsYSgyOTYsIDk3JSwgODclLCAwLjkpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1mdWNoc2lhLTExMDA6IGhzbGEoMjk2LCA5MiUsIDkwJSwgMC45Myk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWZ1Y2hzaWEtMTIwMDogaHNsYSgyOTcsIDk1JSwgOTIlLCAwLjk1KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZnVjaHNpYS0xMzAwOiBoc2xhKDI5NiwgOTAlLCA5NiUsIDAuOTgpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1mdWNoc2lhLTE0MDA6IGhzbGEoMzAwLCA3MSUsIDk3JSwgMC45OSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXBpbmstMTAwOiBoc2woMzQyLCAxMDAlLCAxMiUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1waW5rLTIwMDogaHNsKDMzOSwgMTAwJSwgMTQlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcGluay0zMDA6IGhzbCgzMzUsIDEwMCUsIDE3JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXBpbmstNDAwOiBoc2woMzMyLCAxMDAlLCAxOSUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1waW5rLTUwMDogaHNsYSgzMzMsIDk3JSwgNTAlLCAwLjQ2KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcGluay02MDA6IGhzbGEoMzM0LCA5OCUsIDUzJSwgMC41OCk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXBpbmstNzAwOiBoc2xhKDMzNSwgOTklLCA1NSUsIDAuNzYpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1waW5rLTgwMDogaHNsYSgzMzgsIDk4JSwgNTglLCAwLjk1KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcGluay05MDA6IGhzbCgzNDYsIDEwMCUsIDc5JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXBpbmstMTAwMDogaHNsKDM0NiwgMTAwJSwgODIlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcGluay0xMTAwOiBoc2woMzQ3LCAxMDAlLCA4NyUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1waW5rLTEyMDA6IGhzbCgzNDcsIDEwMCUsIDkwJSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXBpbmstMTMwMDogaHNsKDM0NywgMTAwJSwgOTYlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcGluay0xNDAwOiBoc2woMzQ3LCAxMDAlLCA5NyUsIDEpO1xufVxuIiwiOnJvb3Qge1xuICAtLWNwZC1jb2xvci10aGVtZS1iZzogIzEwMTMxNztcbiAgLS1jcGQtY29sb3ItZ3JheS0xMDA6ICMxODFhMWY7XG4gIC0tY3BkLWNvbG9yLWdyYXktMjAwOiAjMWQxZjI0O1xuICAtLWNwZC1jb2xvci1ncmF5LTMwMDogIzI2MjgyZDtcbiAgLS1jcGQtY29sb3ItZ3JheS00MDA6ICMyYjJlMzM7XG4gIC0tY3BkLWNvbG9yLWdyYXktNTAwOiAjM2MzZjQ0O1xuICAtLWNwZC1jb2xvci1ncmF5LTYwMDogIzRhNGY1NTtcbiAgLS1jcGQtY29sb3ItZ3JheS03MDA6ICM2MDY3NzA7XG4gIC0tY3BkLWNvbG9yLWdyYXktODAwOiAjNzk4MThkO1xuICAtLWNwZC1jb2xvci1ncmF5LTkwMDogI2FjYjRiZDtcbiAgLS1jcGQtY29sb3ItZ3JheS0xMDAwOiAjYjhiZmM3O1xuICAtLWNwZC1jb2xvci1ncmF5LTExMDA6ICNjOGNlZDU7XG4gIC0tY3BkLWNvbG9yLWdyYXktMTIwMDogI2Q1ZGFlMTtcbiAgLS1jcGQtY29sb3ItZ3JheS0xMzAwOiAjZWJlZWYyO1xuICAtLWNwZC1jb2xvci1ncmF5LTE0MDA6ICNmMmY1Zjc7XG4gIC0tY3BkLWNvbG9yLXJlZC0xMDA6ICMzZTAwMDA7XG4gIC0tY3BkLWNvbG9yLXJlZC0yMDA6ICM0NzAwMDA7XG4gIC0tY3BkLWNvbG9yLXJlZC0zMDA6ICM1OTAwMDA7XG4gIC0tY3BkLWNvbG9yLXJlZC00MDA6ICM2NDAwMDA7XG4gIC0tY3BkLWNvbG9yLXJlZC01MDA6ICM4MzAwMDk7XG4gIC0tY3BkLWNvbG9yLXJlZC02MDA6ICM5ZjBkMWU7XG4gIC0tY3BkLWNvbG9yLXJlZC03MDA6ICNjODFlMjg7XG4gIC0tY3BkLWNvbG9yLXJlZC04MDA6ICNmNTJmMzM7XG4gIC0tY3BkLWNvbG9yLXJlZC05MDA6ICNmZjk2OGM7XG4gIC0tY3BkLWNvbG9yLXJlZC0xMDAwOiAjZmZhNzlkO1xuICAtLWNwZC1jb2xvci1yZWQtMTEwMDogI2ZmYmRiNTtcbiAgLS1jcGQtY29sb3ItcmVkLTEyMDA6ICNmZmNmYzg7XG4gIC0tY3BkLWNvbG9yLXJlZC0xMzAwOiAjZmZlOWU2O1xuICAtLWNwZC1jb2xvci1yZWQtMTQwMDogI2ZmZjJlZjtcbiAgLS1jcGQtY29sb3Itb3JhbmdlLTEwMDogIzNjMDAwMDtcbiAgLS1jcGQtY29sb3Itb3JhbmdlLTIwMDogIzQ3MDAwMDtcbiAgLS1jcGQtY29sb3Itb3JhbmdlLTMwMDogIzU4MDAwMDtcbiAgLS1jcGQtY29sb3Itb3JhbmdlLTQwMDogIzY1MDAwMDtcbiAgLS1jcGQtY29sb3Itb3JhbmdlLTUwMDogIzgzMDUwMDtcbiAgLS1jcGQtY29sb3Itb3JhbmdlLTYwMDogIzk3MjIwNjtcbiAgLS1jcGQtY29sb3Itb3JhbmdlLTcwMDogI2I0NDAwNztcbiAgLS1jcGQtY29sb3Itb3JhbmdlLTgwMDogI2QxNWYwYjtcbiAgLS1jcGQtY29sb3Itb3JhbmdlLTkwMDogI2Y4OWQ1ODtcbiAgLS1jcGQtY29sb3Itb3JhbmdlLTEwMDA6ICNmYWFkNzM7XG4gIC0tY3BkLWNvbG9yLW9yYW5nZS0xMTAwOiAjZmRjMTk3O1xuICAtLWNwZC1jb2xvci1vcmFuZ2UtMTIwMDogI2ZlZDBiMTtcbiAgLS1jcGQtY29sb3Itb3JhbmdlLTEzMDA6ICNmZmVhZGI7XG4gIC0tY3BkLWNvbG9yLW9yYW5nZS0xNDAwOiAjZmZmMmVhO1xuICAtLWNwZC1jb2xvci15ZWxsb3ctMTAwOiAjM2EwMzAwO1xuICAtLWNwZC1jb2xvci15ZWxsb3ctMjAwOiAjNDEwOTAwO1xuICAtLWNwZC1jb2xvci15ZWxsb3ctMzAwOiAjNGMxNDAwO1xuICAtLWNwZC1jb2xvci15ZWxsb3ctNDAwOiAjNTQxZDAwO1xuICAtLWNwZC1jb2xvci15ZWxsb3ctNTAwOiAjNjgyZTAzO1xuICAtLWNwZC1jb2xvci15ZWxsb3ctNjAwOiAjN2MzZTAyO1xuICAtLWNwZC1jb2xvci15ZWxsb3ctNzAwOiAjOTg1NjAwO1xuICAtLWNwZC1jb2xvci15ZWxsb3ctODAwOiAjYjQ3MjAwO1xuICAtLWNwZC1jb2xvci15ZWxsb3ctOTAwOiAjZTNhYTAwO1xuICAtLWNwZC1jb2xvci15ZWxsb3ctMTAwMDogI2ViYjYwNztcbiAgLS1jcGQtY29sb3IteWVsbG93LTExMDA6ICNmN2M4MTY7XG4gIC0tY3BkLWNvbG9yLXllbGxvdy0xMjAwOiAjZmVkNjMyO1xuICAtLWNwZC1jb2xvci15ZWxsb3ctMTMwMDogI2ZmZWRiMTtcbiAgLS1jcGQtY29sb3IteWVsbG93LTE0MDA6ICNmZmY0ZDA7XG4gIC0tY3BkLWNvbG9yLWxpbWUtMTAwOiAjMDAyMDAwO1xuICAtLWNwZC1jb2xvci1saW1lLTIwMDogIzAwMjYwMDtcbiAgLS1jcGQtY29sb3ItbGltZS0zMDA6ICMwMDMwMDA7XG4gIC0tY3BkLWNvbG9yLWxpbWUtNDAwOiAjMDAzNzAwO1xuICAtLWNwZC1jb2xvci1saW1lLTUwMDogIzAwNGEwMDtcbiAgLS1jcGQtY29sb3ItbGltZS02MDA6ICMwMDVjMDA7XG4gIC0tY3BkLWNvbG9yLWxpbWUtNzAwOiAjMTg3NjExO1xuICAtLWNwZC1jb2xvci1saW1lLTgwMDogIzMxOTQxZDtcbiAgLS1jcGQtY29sb3ItbGltZS05MDA6ICM1ZWNhMmY7XG4gIC0tY3BkLWNvbG9yLWxpbWUtMTAwMDogIzZhZDYzOTtcbiAgLS1jcGQtY29sb3ItbGltZS0xMTAwOiAjOTJlMTc1O1xuICAtLWNwZC1jb2xvci1saW1lLTEyMDA6ICNhZmU5OWE7XG4gIC0tY3BkLWNvbG9yLWxpbWUtMTMwMDogI2RhZjZkMDtcbiAgLS1jcGQtY29sb3ItbGltZS0xNDAwOiAjZTlmOWUzO1xuICAtLWNwZC1jb2xvci1ncmVlbi0xMDA6ICMwMDFmMGU7XG4gIC0tY3BkLWNvbG9yLWdyZWVuLTIwMDogIzAwMjUxMztcbiAgLS1jcGQtY29sb3ItZ3JlZW4tMzAwOiAjMDAyZTFiO1xuICAtLWNwZC1jb2xvci1ncmVlbi00MDA6ICMwMDM2MjI7XG4gIC0tY3BkLWNvbG9yLWdyZWVuLTUwMDogIzAwNDgzMjtcbiAgLS1jcGQtY29sb3ItZ3JlZW4tNjAwOiAjMDA1YTQzO1xuICAtLWNwZC1jb2xvci1ncmVlbi03MDA6ICMwMDc0NWM7XG4gIC0tY3BkLWNvbG9yLWdyZWVuLTgwMDogIzEwOTE3MztcbiAgLS1jcGQtY29sb3ItZ3JlZW4tOTAwOiAjMzdjOTk4O1xuICAtLWNwZC1jb2xvci1ncmVlbi0xMDAwOiAjNjFkMmE2O1xuICAtLWNwZC1jb2xvci1ncmVlbi0xMTAwOiAjOGZkZGJjO1xuICAtLWNwZC1jb2xvci1ncmVlbi0xMjAwOiAjYWNlNmNjO1xuICAtLWNwZC1jb2xvci1ncmVlbi0xMzAwOiAjZDlmNGU3O1xuICAtLWNwZC1jb2xvci1ncmVlbi0xNDAwOiAjZTlmOGYxO1xuICAtLWNwZC1jb2xvci1jeWFuLTEwMDogIzAwMTQ0ODtcbiAgLS1jcGQtY29sb3ItY3lhbi0yMDA6ICMwMDFiNGU7XG4gIC0tY3BkLWNvbG9yLWN5YW4tMzAwOiAjMDAyNTU5O1xuICAtLWNwZC1jb2xvci1jeWFuLTQwMDogIzAwMmQ2MTtcbiAgLS1jcGQtY29sb3ItY3lhbi01MDA6ICMwMDNmNzU7XG4gIC0tY3BkLWNvbG9yLWN5YW4tNjAwOiAjMDA1MTg4O1xuICAtLWNwZC1jb2xvci1jeWFuLTcwMDogIzAwNmNhNDtcbiAgLS1jcGQtY29sb3ItY3lhbi04MDA6ICMwMDhhYmE7XG4gIC0tY3BkLWNvbG9yLWN5YW4tOTAwOiAjNDZjM2QyO1xuICAtLWNwZC1jb2xvci1jeWFuLTEwMDA6ICM2YmNjZDk7XG4gIC0tY3BkLWNvbG9yLWN5YW4tMTEwMDogIzkzZDllMjtcbiAgLS1jcGQtY29sb3ItY3lhbi0xMjAwOiAjYWZlMmU5O1xuICAtLWNwZC1jb2xvci1jeWFuLTEzMDA6ICNkYmYyZjU7XG4gIC0tY3BkLWNvbG9yLWN5YW4tMTQwMDogI2VhZjdmOTtcbiAgLS1jcGQtY29sb3ItYmx1ZS0xMDA6ICMwMDA5NWQ7XG4gIC0tY3BkLWNvbG9yLWJsdWUtMjAwOiAjMDAxMjY0O1xuICAtLWNwZC1jb2xvci1ibHVlLTMwMDogIzAwMWU2ZjtcbiAgLS1jcGQtY29sb3ItYmx1ZS00MDA6ICMwMzI2Nzc7XG4gIC0tY3BkLWNvbG9yLWJsdWUtNTAwOiAjMDgzODkxO1xuICAtLWNwZC1jb2xvci1ibHVlLTYwMDogIzBiNDlhYjtcbiAgLS1jcGQtY29sb3ItYmx1ZS03MDA6ICMwZTYxZDE7XG4gIC0tY3BkLWNvbG9yLWJsdWUtODAwOiAjMzM3ZmU5O1xuICAtLWNwZC1jb2xvci1ibHVlLTkwMDogIzg5YjVmNjtcbiAgLS1jcGQtY29sb3ItYmx1ZS0xMDAwOiAjOWFjMGY4O1xuICAtLWNwZC1jb2xvci1ibHVlLTExMDA6ICNiMmNmZmE7XG4gIC0tY3BkLWNvbG9yLWJsdWUtMTIwMDogI2M1ZGJmYztcbiAgLS1jcGQtY29sb3ItYmx1ZS0xMzAwOiAjZTRlZWZlO1xuICAtLWNwZC1jb2xvci1ibHVlLTE0MDA6ICNlZmY1ZmU7XG4gIC0tY3BkLWNvbG9yLXB1cnBsZS0xMDA6ICMxYzAwNWE7XG4gIC0tY3BkLWNvbG9yLXB1cnBsZS0yMDA6ICMyMjAwNmE7XG4gIC0tY3BkLWNvbG9yLXB1cnBsZS0zMDA6ICMyYzAwODA7XG4gIC0tY3BkLWNvbG9yLXB1cnBsZS00MDA6ICMzNTAwOTA7XG4gIC0tY3BkLWNvbG9yLXB1cnBsZS01MDA6ICM0YTBkYjE7XG4gIC0tY3BkLWNvbG9yLXB1cnBsZS02MDA6ICM1YTI3YzY7XG4gIC0tY3BkLWNvbG9yLXB1cnBsZS03MDA6ICM3MzQzZTY7XG4gIC0tY3BkLWNvbG9yLXB1cnBsZS04MDA6ICM4YjY2Zjg7XG4gIC0tY3BkLWNvbG9yLXB1cnBsZS05MDA6ICNiNmE3ZmY7XG4gIC0tY3BkLWNvbG9yLXB1cnBsZS0xMDAwOiAjYzBiNWZmO1xuICAtLWNwZC1jb2xvci1wdXJwbGUtMTEwMDogI2NlYzdmZjtcbiAgLS1jcGQtY29sb3ItcHVycGxlLTEyMDA6ICNkYWQ1ZmY7XG4gIC0tY3BkLWNvbG9yLXB1cnBsZS0xMzAwOiAjZWVlYmZmO1xuICAtLWNwZC1jb2xvci1wdXJwbGUtMTQwMDogI2Y1ZjNmZjtcbiAgLS1jcGQtY29sb3ItZnVjaHNpYS0xMDA6ICMyZTAwNDQ7XG4gIC0tY3BkLWNvbG9yLWZ1Y2hzaWEtMjAwOiAjMzcwMDRlO1xuICAtLWNwZC1jb2xvci1mdWNoc2lhLTMwMDogIzQ2MDA1ZTtcbiAgLS1jcGQtY29sb3ItZnVjaHNpYS00MDA6ICM0ZjAzNjg7XG4gIC0tY3BkLWNvbG9yLWZ1Y2hzaWEtNTAwOiAjNjUxNzdkO1xuICAtLWNwZC1jb2xvci1mdWNoc2lhLTYwMDogIzdkMjM5NDtcbiAgLS1jcGQtY29sb3ItZnVjaHNpYS03MDA6ICNhMjMzYjM7XG4gIC0tY3BkLWNvbG9yLWZ1Y2hzaWEtODAwOiAjYzE1M2NiO1xuICAtLWNwZC1jb2xvci1mdWNoc2lhLTkwMDogI2RkOWRlMztcbiAgLS1jcGQtY29sb3ItZnVjaHNpYS0xMDAwOiAjZTNhYmU3O1xuICAtLWNwZC1jb2xvci1mdWNoc2lhLTExMDA6ICNlYWMwZWQ7XG4gIC0tY3BkLWNvbG9yLWZ1Y2hzaWEtMTIwMDogI2YwY2ZmMjtcbiAgLS1jcGQtY29sb3ItZnVjaHNpYS0xMzAwOiAjZjhlOWY5O1xuICAtLWNwZC1jb2xvci1mdWNoc2lhLTE0MDA6ICNmYmYxZmI7XG4gIC0tY3BkLWNvbG9yLXBpbmstMTAwOiAjM2MwMDEyO1xuICAtLWNwZC1jb2xvci1waW5rLTIwMDogIzQ1MDAxODtcbiAgLS1jcGQtY29sb3ItcGluay0zMDA6ICM1NTAwMjQ7XG4gIC0tY3BkLWNvbG9yLXBpbmstNDAwOiAjNjEwMDJkO1xuICAtLWNwZC1jb2xvci1waW5rLTUwMDogIzdjMGM0MTtcbiAgLS1jcGQtY29sb3ItcGluay02MDA6ICM5OTExNGY7XG4gIC0tY3BkLWNvbG9yLXBpbmstNzAwOiAjYzUxNzYxO1xuICAtLWNwZC1jb2xvci1waW5rLTgwMDogI2YxMmM3NTtcbiAgLS1jcGQtY29sb3ItcGluay05MDA6ICNmZjkyYWM7XG4gIC0tY3BkLWNvbG9yLXBpbmstMTAwMDogI2ZmYTRiOTtcbiAgLS1jcGQtY29sb3ItcGluay0xMTAwOiAjZmZiYmNhO1xuICAtLWNwZC1jb2xvci1waW5rLTEyMDA6ICNmZmNjZDc7XG4gIC0tY3BkLWNvbG9yLXBpbmstMTMwMDogI2ZmZThlZDtcbiAgLS1jcGQtY29sb3ItcGluay0xNDAwOiAjZmZmMWY0O1xuICAtLWNwZC1jb2xvci1hbHBoYS1ncmF5LTEwMDogaHNsYSgyODYsIDMxJSwgODIlLCAwLjA0KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZ3JheS0yMDA6IGhzbGEoMjgwLCA0MSUsIDkwJSwgMC4wNik7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWdyYXktMzAwOiBoc2xhKDI3MCwgMzclLCA5MyUsIDAuMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWdyYXktNDAwOiBoc2xhKDIyNywgMjklLCA5MSUsIDAuMTMpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ncmF5LTUwMDogaHNsYSgyMjUsIDQ2JSwgOTUlLCAwLjIpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ncmF5LTYwMDogaHNsYSgyMTMsIDg1JSwgOTUlLCAwLjI3KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZ3JheS03MDA6IGhzbGEoMjE0LCA3OSUsIDkzJSwgMC4zOSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWdyYXktODAwOiBoc2xhKDIxNiwgOTQlLCA5MyUsIDAuNTEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ncmF5LTkwMDogaHNsYSgyMTEsIDkxJSwgOTYlLCAwLjcyKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZ3JheS0xMDAwOiBoc2xhKDIxMywgMTAwJSwgOTclLCAwLjc2KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZ3JheS0xMTAwOiBoc2xhKDIxMiwgMTAwJSwgOTclLCAwLjgyKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZ3JheS0xMjAwOiBoc2xhKDIxNywgNzclLCA5NyUsIDAuODgpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ncmF5LTEzMDA6IGhzbGEoMjE0LCA3OCUsIDk4JSwgMC45NSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWdyYXktMTQwMDogaHNsYSgyMDQsIDcxJSwgOTklLCAwLjk3KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcmVkLTEwMDogaHNsKDAsIDEwMCUsIDEyJSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXJlZC0yMDA6IGhzbCgwLCAxMDAlLCAxNCUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1yZWQtMzAwOiBoc2woMCwgMTAwJSwgMTglLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcmVkLTQwMDogaHNsKDAsIDEwMCUsIDIwJSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXJlZC01MDA6IGhzbCgzNTYsIDEwMCUsIDI2JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXJlZC02MDA6IGhzbGEoMzU0LCA5OSUsIDUyJSwgMC42KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcmVkLTcwMDogaHNsYSgzNTcsIDEwMCUsIDU3JSwgMC43Nyk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXJlZC04MDA6IGhzbGEoMzU5LCAxMDAlLCA1OSUsIDAuOTYpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1yZWQtOTAwOiBoc2woNSwgMTAwJSwgNzglLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcmVkLTEwMDA6IGhzbCg2LCAxMDAlLCA4MSUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1yZWQtMTEwMDogaHNsKDYsIDEwMCUsIDg2JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXJlZC0xMjAwOiBoc2woOCwgMTAwJSwgODklLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcmVkLTEzMDA6IGhzbCg3LCAxMDAlLCA5NSUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1yZWQtMTQwMDogaHNsKDExLCAxMDAlLCA5NyUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1vcmFuZ2UtMTAwOiBoc2woMCwgMTAwJSwgMTIlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtb3JhbmdlLTIwMDogaHNsKDAsIDEwMCUsIDE0JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLW9yYW5nZS0zMDA6IGhzbCgwLCAxMDAlLCAxNyUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1vcmFuZ2UtNDAwOiBoc2woMCwgMTAwJSwgMjAlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtb3JhbmdlLTUwMDogaHNsKDIsIDEwMCUsIDI2JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLW9yYW5nZS02MDA6IGhzbGEoMTIsIDEwMCUsIDM5JSwgMC43NCk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLW9yYW5nZS03MDA6IGhzbGEoMjAsIDEwMCUsIDQ5JSwgMC43KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtb3JhbmdlLTgwMDogaHNsYSgyNiwgOTklLCA1MSUsIDAuODEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1vcmFuZ2UtOTAwOiBoc2xhKDI2LCA5OCUsIDY3JSwgMC45OCk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLW9yYW5nZS0xMDAwOiBoc2xhKDI2LCAxMDAlLCA3MyUsIDAuOTgpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1vcmFuZ2UtMTEwMDogaHNsKDI1LCA5NiUsIDc5JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLW9yYW5nZS0xMjAwOiBoc2woMjQsIDk4JSwgODUlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtb3JhbmdlLTEzMDA6IGhzbCgyNSwgMTAwJSwgOTMlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtb3JhbmdlLTE0MDA6IGhzbCgyMywgMTAwJSwgOTYlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEteWVsbG93LTEwMDogaHNsKDMsIDEwMCUsIDExJSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXllbGxvdy0yMDA6IGhzbCg4LCAxMDAlLCAxMyUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS15ZWxsb3ctMzAwOiBoc2woMTYsIDEwMCUsIDE1JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXllbGxvdy00MDA6IGhzbCgyMSwgMTAwJSwgMTclLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEteWVsbG93LTUwMDogaHNsYSgyNiwgMTAwJSwgMjMlLCAwLjg3KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEteWVsbG93LTYwMDogaHNsYSgzMCwgMTAwJSwgMjYlLCAwLjkyKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEteWVsbG93LTcwMDogaHNsKDM0LCAxMDAlLCAzMCUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS15ZWxsb3ctODAwOiBoc2woMzgsIDEwMCUsIDM1JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXllbGxvdy05MDA6IGhzbCg0NSwgMTAwJSwgNDUlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEteWVsbG93LTEwMDA6IGhzbGEoNDYsIDk5JSwgNTElLCAwLjkyKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEteWVsbG93LTExMDA6IGhzbGEoNDgsIDk5JSwgNTQlLCAwLjk3KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEteWVsbG93LTEyMDA6IGhzbCg0OCwgOTklLCA2MCUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS15ZWxsb3ctMTMwMDogaHNsKDQ2LCAxMDAlLCA4NSUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS15ZWxsb3ctMTQwMDogaHNsKDQ2LCAxMDAlLCA5MSUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1saW1lLTEwMDogaHNsKDEyMCwgMTAwJSwgNiUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1saW1lLTIwMDogaHNsKDEyMCwgMTAwJSwgOCUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1saW1lLTMwMDogaHNsKDEyMCwgMTAwJSwgOSUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1saW1lLTQwMDogaHNsKDEyMCwgMTAwJSwgMTElLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtbGltZS01MDA6IGhzbCgxMjAsIDEwMCUsIDE1JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWxpbWUtNjAwOiBoc2woMTIwLCAxMDAlLCAxOCUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1saW1lLTcwMDogaHNsYSgxMTQsIDEwMCUsIDUyJSwgMC40Mik7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWxpbWUtODAwOiBoc2xhKDEwOSwgOTklLCA1NyUsIDAuNTUpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1saW1lLTkwMDogaHNsYSgxMDEsIDk5JSwgNjAlLCAwLjc4KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtbGltZS0xMDAwOiBoc2xhKDEwMSwgOTklLCA2MiUsIDAuODMpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1saW1lLTExMDA6IGhzbGEoMTAzLCA5NyUsIDc1JSwgMC44OCk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWxpbWUtMTIwMDogaHNsYSgxMDMsIDk4JSwgODMlLCAwLjkxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtbGltZS0xMzAwOiBoc2xhKDEwNSwgOTElLCA5MiUsIDAuOTcpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1saW1lLTE0MDA6IGhzbGEoMTA0LCA5MiUsIDk1JSwgMC45OCk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWdyZWVuLTEwMDogaHNsKDE0NywgMTAwJSwgNiUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ncmVlbi0yMDA6IGhzbCgxNTEsIDEwMCUsIDclLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZ3JlZW4tMzAwOiBoc2woMTU1LCAxMDAlLCA5JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWdyZWVuLTQwMDogaHNsKDE1OCwgMTAwJSwgMTElLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZ3JlZW4tNTAwOiBoc2woMTYyLCAxMDAlLCAxNCUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ncmVlbi02MDA6IGhzbCgxNjUsIDEwMCUsIDE4JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWdyZWVuLTcwMDogaHNsKDE2OCwgMTAwJSwgMjMlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZ3JlZW4tODAwOiBoc2xhKDE2NSwgOTglLCA1MyUsIDAuNTQpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ncmVlbi05MDA6IGhzbGEoMTU5LCA5NyUsIDYyJSwgMC43OCk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWdyZWVuLTEwMDA6IGhzbGEoMTU2LCAxMDAlLCA3MyUsIDAuODEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ncmVlbi0xMTAwOiBoc2xhKDE1NCwgOTglLCA4MiUsIDAuODYpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ncmVlbi0xMjAwOiBoc2xhKDE1MywgOTQlLCA4NyUsIDAuOSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWdyZWVuLTEzMDA6IGhzbGEoMTUyLCA4OCUsIDk0JSwgMC45Nik7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWdyZWVuLTE0MDA6IGhzbGEoMTUwLCA4MCUsIDk2JSwgMC45OCk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWN5YW4tMTAwOiBoc2woMjIzLCAxMDAlLCAxNCUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1jeWFuLTIwMDogaHNsKDIxOSwgMTAwJSwgMTUlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtY3lhbi0zMDA6IGhzbCgyMTUsIDEwMCUsIDE4JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWN5YW4tNDAwOiBoc2woMjEyLCAxMDAlLCAxOSUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1jeWFuLTUwMDogaHNsKDIwOCwgMTAwJSwgMjMlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtY3lhbi02MDA6IGhzbCgyMDQsIDEwMCUsIDI3JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWN5YW4tNzAwOiBoc2woMjAwLCAxMDAlLCAzMiUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1jeWFuLTgwMDogaHNsKDE5NSwgMTAwJSwgMzclLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtY3lhbi05MDA6IGhzbGEoMTg2LCA5OSUsIDY2JSwgMC44MSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWN5YW4tMTAwMDogaHNsYSgxODcsIDk5JSwgNzQlLCAwLjg0KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtY3lhbi0xMTAwOiBoc2xhKDE4NywgOTglLCA4MiUsIDAuODgpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1jeWFuLTEyMDA6IGhzbGEoMTg4LCA5NyUsIDg3JSwgMC45MSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWN5YW4tMTMwMDogaHNsYSgxODcsIDkzJSwgOTQlLCAwLjk2KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtY3lhbi0xNDAwOiBoc2xhKDE4NywgODklLCA5NyUsIDAuOTgpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ibHVlLTEwMDogaHNsKDIzNCwgMTAwJSwgMTglLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtYmx1ZS0yMDA6IGhzbCgyMjksIDEwMCUsIDIwJSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWJsdWUtMzAwOiBoc2woMjI0LCAxMDAlLCAyMiUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ibHVlLTQwMDogaHNsYSgyMjIsIDEwMCUsIDI4JSwgMC44Mik7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWJsdWUtNTAwOiBoc2xhKDIxOSwgOTklLCA1MCUsIDAuNTMpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ibHVlLTYwMDogaHNsYSgyMTcsIDk5JSwgNTElLCAwLjY0KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtYmx1ZS03MDA6IGhzbGEoMjE1LCA5OCUsIDUyJSwgMC44MSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWJsdWUtODAwOiBoc2xhKDIxNSwgOTklLCA2MCUsIDAuOTEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ibHVlLTkwMDogaHNsYSgyMTYsIDk3JSwgNzclLCAwLjk3KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtYmx1ZS0xMDAwOiBoc2xhKDIxNiwgMTAwJSwgODElLCAwLjk3KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtYmx1ZS0xMTAwOiBoc2xhKDIxNiwgMTAwJSwgODYlLCAwLjk4KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtYmx1ZS0xMjAwOiBoc2xhKDIxNiwgOTclLCA4OSUsIDAuOTkpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ibHVlLTEzMDA6IGhzbCgyMTcsIDkzJSwgOTUlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtYmx1ZS0xNDAwOiBoc2woMjE2LCA4OCUsIDk3JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXB1cnBsZS0xMDA6IGhzbCgyNTksIDEwMCUsIDE4JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXB1cnBsZS0yMDA6IGhzbCgyNTksIDEwMCUsIDIxJSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXB1cnBsZS0zMDA6IGhzbCgyNjEsIDEwMCUsIDI1JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXB1cnBsZS00MDA6IGhzbCgyNjIsIDEwMCUsIDI4JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXB1cnBsZS01MDA6IGhzbGEoMjYzLCA5OCUsIDUyJSwgMC42Nyk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXB1cnBsZS02MDA6IGhzbGEoMjYwLCA5OCUsIDU4JSwgMC43Nik7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXB1cnBsZS03MDA6IGhzbGEoMjU4LCA5OCUsIDY0JSwgMC45KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcHVycGxlLTgwMDogaHNsYSgyNTUsIDEwMCUsIDcxJSwgMC45Nyk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXB1cnBsZS05MDA6IGhzbCgyNTAsIDEwMCUsIDgzJSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXB1cnBsZS0xMDAwOiBoc2woMjQ5LCAxMDAlLCA4NiUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1wdXJwbGUtMTEwMDogaHNsKDI0OCwgMTAwJSwgODklLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcHVycGxlLTEyMDA6IGhzbCgyNDcsIDEwMCUsIDkyJSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXB1cnBsZS0xMzAwOiBoc2woMjQ5LCAxMDAlLCA5NiUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1wdXJwbGUtMTQwMDogaHNsKDI1MCwgMTAwJSwgOTglLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZnVjaHNpYS0xMDA6IGhzbCgyODEsIDEwMCUsIDEzJSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWZ1Y2hzaWEtMjAwOiBoc2woMjgyLCAxMDAlLCAxNSUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1mdWNoc2lhLTMwMDogaHNsKDI4NSwgMTAwJSwgMTglLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZnVjaHNpYS00MDA6IGhzbGEoMjg2LCAxMDAlLCAyMyUsIDAuODUpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1mdWNoc2lhLTUwMDogaHNsYSgyODgsIDEwMCUsIDU2JSwgMC40NCk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWZ1Y2hzaWEtNjAwOiBoc2xhKDI4OSwgOTklLCA1OSUsIDAuNTQpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1mdWNoc2lhLTcwMDogaHNsYSgyOTMsIDk3JSwgNjIlLCAwLjY4KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZnVjaHNpYS04MDA6IGhzbGEoMjk2LCA5OSUsIDcwJSwgMC43OCk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWZ1Y2hzaWEtOTAwOiBoc2xhKDI5NSwgMTAwJSwgODUlLCAwLjg4KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZnVjaHNpYS0xMDAwOiBoc2xhKDI5NiwgOTclLCA4NyUsIDAuOSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWZ1Y2hzaWEtMTEwMDogaHNsYSgyOTYsIDkyJSwgOTAlLCAwLjkzKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZnVjaHNpYS0xMjAwOiBoc2xhKDI5NywgOTUlLCA5MiUsIDAuOTUpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1mdWNoc2lhLTEzMDA6IGhzbGEoMjk2LCA5MCUsIDk2JSwgMC45OCk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWZ1Y2hzaWEtMTQwMDogaHNsYSgzMDAsIDcxJSwgOTclLCAwLjk5KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcGluay0xMDA6IGhzbCgzNDIsIDEwMCUsIDEyJSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXBpbmstMjAwOiBoc2woMzM5LCAxMDAlLCAxNCUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1waW5rLTMwMDogaHNsKDMzNSwgMTAwJSwgMTclLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcGluay00MDA6IGhzbCgzMzIsIDEwMCUsIDE5JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXBpbmstNTAwOiBoc2xhKDMzMywgOTclLCA1MCUsIDAuNDYpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1waW5rLTYwMDogaHNsYSgzMzQsIDk4JSwgNTMlLCAwLjU4KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcGluay03MDA6IGhzbGEoMzM1LCA5OSUsIDU1JSwgMC43Nik7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXBpbmstODAwOiBoc2xhKDMzOCwgOTglLCA1OCUsIDAuOTUpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1waW5rLTkwMDogaHNsKDM0NiwgMTAwJSwgNzklLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcGluay0xMDAwOiBoc2woMzQ2LCAxMDAlLCA4MiUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1waW5rLTExMDA6IGhzbCgzNDcsIDEwMCUsIDg3JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXBpbmstMTIwMDogaHNsKDM0NywgMTAwJSwgOTAlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcGluay0xMzAwOiBoc2woMzQ3LCAxMDAlLCA5NiUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1waW5rLTE0MDA6IGhzbCgzNDcsIDEwMCUsIDk3JSwgMSk7XG59XG4iLCIuY3BkLXRoZW1lLWRhcmstaGMuY3BkLXRoZW1lLWRhcmstaGMge1xuICAtLWNwZC1jb2xvci1iZy1jYW52YXMtZGVmYXVsdC1sZXZlbC0xOiB2YXIoLS1jcGQtY29sb3ItZ3JheS0zMDApO1xuICAtLWNwZC1jb2xvci1iZy1zdWJ0bGUtc2Vjb25kYXJ5LWxldmVsLTA6IHZhcigtLWNwZC1jb2xvci10aGVtZS1iZyk7XG59XG4iLCI6cm9vdCB7XG4gIC0tY3BkLWNvbG9yLWJnLWNhbnZhcy1kZWZhdWx0LWxldmVsLTE6IHZhcigtLWNwZC1jb2xvci1ncmF5LTMwMCk7XG4gIC0tY3BkLWNvbG9yLWJnLXN1YnRsZS1zZWNvbmRhcnktbGV2ZWwtMDogdmFyKC0tY3BkLWNvbG9yLXRoZW1lLWJnKTtcbn1cbiIsIi8qXG5Db3B5cmlnaHQgMjAyMyAgTmV3IFZlY3RvciBMdGRcblxuTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbnlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbllvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuXG4gICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG5cblVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbmRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbldJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxubGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4qL1xuXG4vKiBUT0RPOiBSZXZpZXcgZW50aXJlIGZpbGUgZm9yIHNlbWFudGljIHRva2VuIGRlZmluaXRvbiAqL1xuXG4uX2FsZXJ0XzFiejA4XzE5IHtcbiAgY29udGFpbmVyLXR5cGU6IGlubGluZS1zaXplO1xuICBjb250YWluZXItbmFtZTogYWxlcnQ7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBzdGFydDtcbiAganVzdGlmeS1jb250ZW50OiBzdGFydDtcbiAgZ2FwOiB2YXIoLS1jcGQtc3BhY2UtM3gpO1xuICBwYWRkaW5nOiB2YXIoLS1jcGQtc3BhY2UtNHgpO1xuICBib3JkZXItcmFkaXVzOiA4cHg7XG4gIGJvcmRlcjogMXB4IHNvbGlkO1xufVxuXG4uX2FsZXJ0XzFiejA4XzE5W2RhdGEtdHlwZT1cInN1Y2Nlc3NcIl0ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jcGQtY29sb3ItZ3JlZW4tMjAwKTtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jcGQtY29sb3ItZ3JlZW4tNTAwKTtcbn1cblxuLl9hbGVydF8xYnowOF8xOVtkYXRhLXR5cGU9XCJjcml0aWNhbFwiXSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNwZC1jb2xvci1yZWQtMjAwKTtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jcGQtY29sb3ItcmVkLTUwMCk7XG59XG5cbi5fYWxlcnRfMWJ6MDhfMTlbZGF0YS10eXBlPVwiaW5mb1wiXSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNwZC1jb2xvci1ibHVlLTIwMCk7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0tY3BkLWNvbG9yLWJsdWUtNTAwKTtcbn1cblxuLl9jb250ZW50XzFiejA4XzQ2IHtcbiAgZmxleDogMTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgZ2FwOiB2YXIoLS1jcGQtc3BhY2UtM3gpO1xufVxuXG4uX3RleHQtY29udGVudF8xYnowOF81MyB7XG4gIGZsZXg6IDEgMSAwO1xufVxuXG5bZGF0YS10eXBlPVwic3VjY2Vzc1wiXSA6aXMoLl90aXRsZV8xYnowOF81NywgLl9pY29uXzFiejA4XzU3KSB7XG4gIGNvbG9yOiB2YXIoLS1jcGQtY29sb3ItZ3JlZW4tOTAwKTtcbn1cblxuW2RhdGEtdHlwZT1cImNyaXRpY2FsXCJdIDppcyguX3RpdGxlXzFiejA4XzU3LCAuX2ljb25fMWJ6MDhfNTcpIHtcbiAgY29sb3I6IHZhcigtLWNwZC1jb2xvci1yZWQtOTAwKTtcbn1cblxuW2RhdGEtdHlwZT1cImluZm9cIl0gOmlzKC5fdGl0bGVfMWJ6MDhfNTcsIC5faWNvbl8xYnowOF81Nykge1xuICBjb2xvcjogdmFyKC0tY3BkLWNvbG9yLWJsdWUtOTAwKTtcbn1cblxuLl9hbGVydF8xYnowOF8xOSBwIHtcbiAgbWFyZ2luOiAwO1xufVxuXG4uX2FjdGlvbnNfMWJ6MDhfNzMge1xuICBmbGV4OiAwO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBnYXA6IHZhcigtLWNwZC1zcGFjZS0xeCk7XG4gIGFsaWduLXNlbGY6IGNlbnRlcjtcbn1cblxuLl9pY29uXzFiejA4XzU3IHtcbiAgZmxleC1zaHJpbms6IDA7XG59XG5cbi8qIEBUT0RPIDYwMHB4IGJyZWFrIHNob3VsZCBiZSBhIHRva2VuICovXG5cbi8qIHdyYXAgYWN0aW9ucyBpbnRvIGEgc3RhY2tlZCBsYXlvdXQgd2hlbiB0aGUgYWxlcnQgaXMgPD02MDBweCAqL1xuQGNvbnRhaW5lciBhbGVydCAobWF4LXdpZHRoOiA2MDBweCkge1xuICAuX2NvbnRlbnRfMWJ6MDhfNDYge1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgfVxuXG4gIC5fdGV4dC1jb250ZW50XzFiejA4XzUzIHtcbiAgICBmbGV4OiAxIDAgMTAwJTtcbiAgfVxufVxuLypcbkNvcHlyaWdodCAyMDIzIE5ldyBWZWN0b3IgTHRkXG5cbkxpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG55b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG5Zb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcblxuICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuXG5Vbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG5kaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG5XSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cblNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbmxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuKi9cblxuLyoqXG4gKiBGb250IOKAkyBCb2R5IOKAkyBFeHRyYSBTbWFsbFxuICovXG5cbi5fZm9udC1ib2R5LXhzLXJlZ3VsYXJfeWg1ZHFfMjEge1xuICBsZXR0ZXItc3BhY2luZzogdmFyKC0tY3BkLWZvbnQtbGV0dGVyLXNwYWNpbmctYm9keS14cyk7XG4gIGZvbnQ6IHZhcigtLWNwZC1mb250LWJvZHkteHMtcmVndWxhcik7XG59XG5cbi5fZm9udC1ib2R5LXhzLXNlbWlib2xkX3loNWRxXzI2IHtcbiAgbGV0dGVyLXNwYWNpbmc6IHZhcigtLWNwZC1mb250LWxldHRlci1zcGFjaW5nLWJvZHkteHMpO1xuICBmb250OiB2YXIoLS1jcGQtZm9udC1ib2R5LXhzLXNlbWlib2xkKTtcbn1cblxuLl9mb250LWJvZHkteHMtbWVkaXVtX3loNWRxXzMxIHtcbiAgbGV0dGVyLXNwYWNpbmc6IHZhcigtLWNwZC1mb250LWxldHRlci1zcGFjaW5nLWJvZHkteHMpO1xuICBmb250OiB2YXIoLS1jcGQtZm9udC1ib2R5LXhzLW1lZGl1bSk7XG59XG5cbi8qKlxuICogRm9udCDigJMgQm9keSDigJMgU21hbGxcbiAqL1xuXG4uX2ZvbnQtYm9keS1zbS1yZWd1bGFyX3loNWRxXzQwIHtcbiAgbGV0dGVyLXNwYWNpbmc6IHZhcigtLWNwZC1mb250LWxldHRlci1zcGFjaW5nLWJvZHktc20pO1xuICBmb250OiB2YXIoLS1jcGQtZm9udC1ib2R5LXNtLXJlZ3VsYXIpO1xufVxuXG4uX2ZvbnQtYm9keS1zbS1zZW1pYm9sZF95aDVkcV80NSB7XG4gIGxldHRlci1zcGFjaW5nOiB2YXIoLS1jcGQtZm9udC1sZXR0ZXItc3BhY2luZy1ib2R5LXNtKTtcbiAgZm9udDogdmFyKC0tY3BkLWZvbnQtYm9keS1zbS1zZW1pYm9sZCk7XG59XG5cbi5fZm9udC1ib2R5LXNtLW1lZGl1bV95aDVkcV81MCB7XG4gIGxldHRlci1zcGFjaW5nOiB2YXIoLS1jcGQtZm9udC1sZXR0ZXItc3BhY2luZy1ib2R5LXNtKTtcbiAgZm9udDogdmFyKC0tY3BkLWZvbnQtYm9keS1zbS1tZWRpdW0pO1xufVxuXG4vKipcbiAqIEZvbnQg4oCTIEJvZHkg4oCTIE1lZGl1bVxuICovXG5cbi5fZm9udC1ib2R5LW1kLXJlZ3VsYXJfeWg1ZHFfNTkge1xuICBsZXR0ZXItc3BhY2luZzogdmFyKC0tY3BkLWZvbnQtbGV0dGVyLXNwYWNpbmctYm9keS1tZCk7XG4gIGZvbnQ6IHZhcigtLWNwZC1mb250LWJvZHktbWQtcmVndWxhcik7XG59XG5cbi5fZm9udC1ib2R5LW1kLXNlbWlib2xkX3loNWRxXzY0IHtcbiAgbGV0dGVyLXNwYWNpbmc6IHZhcigtLWNwZC1mb250LWxldHRlci1zcGFjaW5nLWJvZHktbWQpO1xuICBmb250OiB2YXIoLS1jcGQtZm9udC1ib2R5LW1kLXNlbWlib2xkKTtcbn1cblxuLl9mb250LWJvZHktbWQtbWVkaXVtX3loNWRxXzY5IHtcbiAgbGV0dGVyLXNwYWNpbmc6IHZhcigtLWNwZC1mb250LWxldHRlci1zcGFjaW5nLWJvZHktbWQpO1xuICBmb250OiB2YXIoLS1jcGQtZm9udC1ib2R5LW1kLW1lZGl1bSk7XG59XG5cbi8qKlxuICogRm9udCDigJMgQm9keSDigJMgTGFyZ2VcbiAqL1xuXG4uX2ZvbnQtYm9keS1sZy1yZWd1bGFyX3loNWRxXzc4IHtcbiAgbGV0dGVyLXNwYWNpbmc6IHZhcigtLWNwZC1mb250LWxldHRlci1zcGFjaW5nLWJvZHktbGcpO1xuICBmb250OiB2YXIoLS1jcGQtZm9udC1ib2R5LWxnLXJlZ3VsYXIpO1xufVxuXG4uX2ZvbnQtYm9keS1sZy1zZW1pYm9sZF95aDVkcV84MyB7XG4gIGxldHRlci1zcGFjaW5nOiB2YXIoLS1jcGQtZm9udC1sZXR0ZXItc3BhY2luZy1ib2R5LWxnKTtcbiAgZm9udDogdmFyKC0tY3BkLWZvbnQtYm9keS1sZy1zZW1pYm9sZCk7XG59XG5cbi5fZm9udC1ib2R5LWxnLW1lZGl1bV95aDVkcV84OCB7XG4gIGxldHRlci1zcGFjaW5nOiB2YXIoLS1jcGQtZm9udC1sZXR0ZXItc3BhY2luZy1ib2R5LWxnKTtcbiAgZm9udDogdmFyKC0tY3BkLWZvbnQtYm9keS1sZy1tZWRpdW0pO1xufVxuXG4vKipcbiAqIEZvbnQg4oCTIEhlYWRpbmcg4oCTIFNtYWxsXG4gKi9cblxuLl9mb250LWhlYWRpbmctc20tcmVndWxhcl95aDVkcV85NyB7XG4gIGxldHRlci1zcGFjaW5nOiB2YXIoLS1jcGQtZm9udC1sZXR0ZXItc3BhY2luZy1oZWFkaW5nLXNtKTtcbiAgZm9udDogdmFyKC0tY3BkLWZvbnQtaGVhZGluZy1zbS1yZWd1bGFyKTtcbn1cblxuLl9mb250LWhlYWRpbmctc20tc2VtaWJvbGRfeWg1ZHFfMTAyIHtcbiAgbGV0dGVyLXNwYWNpbmc6IHZhcigtLWNwZC1mb250LWxldHRlci1zcGFjaW5nLWhlYWRpbmctc20pO1xuICBmb250OiB2YXIoLS1jcGQtZm9udC1oZWFkaW5nLXNtLXNlbWlib2xkKTtcbn1cblxuLl9mb250LWhlYWRpbmctc20tbWVkaXVtX3loNWRxXzEwNyB7XG4gIGxldHRlci1zcGFjaW5nOiB2YXIoLS1jcGQtZm9udC1sZXR0ZXItc3BhY2luZy1oZWFkaW5nLXNtKTtcbiAgZm9udDogdmFyKC0tY3BkLWZvbnQtaGVhZGluZy1zbS1tZWRpdW0pO1xufVxuXG4vKipcbiAqIEZvbnQg4oCTIEhlYWRpbmcg4oCTIE1lZGl1bVxuICovXG5cbi5fZm9udC1oZWFkaW5nLW1kLXJlZ3VsYXJfeWg1ZHFfMTE2IHtcbiAgbGV0dGVyLXNwYWNpbmc6IHZhcigtLWNwZC1mb250LWxldHRlci1zcGFjaW5nLWhlYWRpbmctbWQpO1xuICBmb250OiB2YXIoLS1jcGQtZm9udC1oZWFkaW5nLW1kLXJlZ3VsYXIpO1xufVxuXG4uX2ZvbnQtaGVhZGluZy1tZC1zZW1pYm9sZF95aDVkcV8xMjEge1xuICBsZXR0ZXItc3BhY2luZzogdmFyKC0tY3BkLWZvbnQtbGV0dGVyLXNwYWNpbmctaGVhZGluZy1tZCk7XG4gIGZvbnQ6IHZhcigtLWNwZC1mb250LWhlYWRpbmctbWQtc2VtaWJvbGQpO1xufVxuXG4vKipcbiAqIEZvbnQg4oCTIEhlYWRpbmcg4oCTIExhcmdlXG4gKi9cblxuLl9mb250LWhlYWRpbmctbGctcmVndWxhcl95aDVkcV8xMzAge1xuICBsZXR0ZXItc3BhY2luZzogdmFyKC0tY3BkLWZvbnQtbGV0dGVyLXNwYWNpbmctaGVhZGluZy1sZyk7XG4gIGZvbnQ6IHZhcigtLWNwZC1mb250LWhlYWRpbmctbGctcmVndWxhcik7XG59XG5cbi5fZm9udC1oZWFkaW5nLWxnLXNlbWlib2xkX3loNWRxXzEzNSB7XG4gIGxldHRlci1zcGFjaW5nOiB2YXIoLS1jcGQtZm9udC1sZXR0ZXItc3BhY2luZy1oZWFkaW5nLWxnKTtcbiAgZm9udDogdmFyKC0tY3BkLWZvbnQtaGVhZGluZy1sZy1zZW1pYm9sZCk7XG59XG5cbi8qKlxuICogRm9udCDigJMgSGVhZGluZyDigJMgRXh0cmEgTGFyZ2VcbiAqL1xuXG4uX2ZvbnQtaGVhZGluZy14bC1yZWd1bGFyX3loNWRxXzE0NCB7XG4gIGxldHRlci1zcGFjaW5nOiB2YXIoLS1jcGQtZm9udC1sZXR0ZXItc3BhY2luZy1oZWFkaW5nLXhsKTtcbiAgZm9udDogdmFyKC0tY3BkLWZvbnQtaGVhZGluZy14bC1yZWd1bGFyKTtcbn1cblxuLl9mb250LWhlYWRpbmcteGwtc2VtaWJvbGRfeWg1ZHFfMTQ5IHtcbiAgbGV0dGVyLXNwYWNpbmc6IHZhcigtLWNwZC1mb250LWxldHRlci1zcGFjaW5nLWhlYWRpbmcteGwpO1xuICBmb250OiB2YXIoLS1jcGQtZm9udC1oZWFkaW5nLXhsLXNlbWlib2xkKTtcbn1cblxuLyoqXG4gICogUmVzZXQgZm9udC1mZWF0dXJlLXNldHRpbmdzIGFmdGVyIGxldHRlci1zcGFjaW5nIGhhcyBiZWVuIHR3ZWFrZWQuXG4gICogV2Ugd2FudCB0byBhcHBseSBJbnRlciBEeW5hbWljIG1ldHJpY3MgKGh0dHBzOi8vcnNtcy5tZS9pbnRlci9keW5tZXRyaWNzLylcbiAgKiBXZSBuZWVkIHRvIHR3ZWFrIHRoZSBgbGV0dGVyLXNwYWNpbmdgIHByb3BlcnR5IGFuZCBkb2luZyBzbywgZGlzYWJsZXMgYnlcbiAgKiBkZWZhdWx0IHRoZSBvcHRpb25hbCBsaWdhdHVyZXNcbiAgKiBgZm9udC1mZWF0dXJlLXNldHRpbmdzYCBhbGxvd3MgdXMgdG8gb3ZlcnJpZGUgdGhpcyBiZWhhdmlvdXIgYW5kIGhhdmUgdGhlXG4gICogY29ycmVjdCBsaWdhdHVyZXMgYW5kIHRoZSBwcm9wZXIgZHluYW1pYyBtZXRyaWMgc3BhY2luZy5cbiAgKi9cbi5fdHlwb2dyYXBoeV95aDVkcV8xNjIge1xuICBmb250LWZlYXR1cmUtc2V0dGluZ3M6IHZhcigtLWNwZC1mb250LWZlYXR1cmUtc2V0dGluZ3MpO1xufVxuLypcbkNvcHlyaWdodCAyMDIzIE5ldyBWZWN0b3IgTHRkXG5cbkxpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG55b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG5Zb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcblxuICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuXG5Vbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG5kaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG5XSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cblNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbmxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuKi9cblxuLl9pY29uLWJ1dHRvbl9iaDJxY18xNyB7XG4gIC0tY3BkLWljb24tYnV0dG9uLWluZGljYXRvci1ib3JkZXItc2l6ZTogY2FsYyhcbiAgICB2YXIoLS1jcGQtaWNvbi1idXR0b24tc2l6ZSkgKiAwLjA2MjVcbiAgKTtcblxuICBpbmxpbmUtc2l6ZTogdmFyKC0tY3BkLWljb24tYnV0dG9uLXNpemUpO1xuICBibG9jay1zaXplOiB2YXIoLS1jcGQtaWNvbi1idXR0b24tc2l6ZSk7XG5cbiAgLyogdGhlIGljb24gaXMgMC43NSB0aGUgc2l6ZSBvZiB0aGUgYnV0dG9uLCBzbyBhZGQgcGFkZGluZyB0byBwdXQgaXQgaW4gdGhlIG1pZGRsZSAqL1xuICBwYWRkaW5nOiBjYWxjKHZhcigtLWNwZC1pY29uLWJ1dHRvbi1zaXplKSAqIDAuMTI1KTtcbiAgYXNwZWN0LXJhdGlvOiAxIC8gMTtcbiAgY29sb3I6IHZhcigtLWNwZC1jb2xvci1pY29uLXRlcnRpYXJ5KTtcbiAgYm9yZGVyOiAwO1xuICBhcHBlYXJhbmNlOiBub25lO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgbGluZS1oZWlnaHQ6IDBweDtcbn1cblxuLl9zdWJ0bGUtYmdfYmgycWNfMzgge1xuICBjb2xvcjogdmFyKC0tY3BkLWNvbG9yLWljb24tc2Vjb25kYXJ5KTtcbiAgYmFja2dyb3VuZDogdmFyKC0tY3BkLWNvbG9yLWJnLXN1YnRsZS1zZWNvbmRhcnkpO1xufVxuXG4uX2ljb24tYnV0dG9uX2JoMnFjXzE3W2FyaWEtZGlzYWJsZWQ9XCJ0cnVlXCJdIHtcbiAgY29sb3I6IHZhcigtLWNwZC1jb2xvci1pY29uLWRpc2FibGVkKTtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbn1cblxuLyoqXG4gKiBIb3ZlciBzdGF0ZVxuICovXG5cbkBtZWRpYSAoaG92ZXIpIHtcbiAgLl9pY29uLWJ1dHRvbl9iaDJxY18xNzpub3QoW2FyaWEtZGlzYWJsZWQ9XCJ0cnVlXCJdKTpob3ZlciB7XG4gICAgY29sb3I6IHZhcigtLWNwZC1jb2xvci1pY29uLXByaW1hcnkpO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNwZC1jb2xvci1iZy1zdWJ0bGUtcHJpbWFyeSk7XG4gIH1cbn1cblxuLl9pY29uLWJ1dHRvbl9iaDJxY18xNzpub3QoW2FyaWEtZGlzYWJsZWQ9XCJ0cnVlXCJdKTphY3RpdmUge1xuICBjb2xvcjogdmFyKC0tY3BkLWNvbG9yLWljb24tcHJpbWFyeSk7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNwZC1jb2xvci1iZy1zdWJ0bGUtcHJpbWFyeSk7XG59XG5cbkBtZWRpYSAoaG92ZXIpIHtcbiAgLl9pY29uLWJ1dHRvbl9iaDJxY18xNzpub3QoW2FyaWEtZGlzYWJsZWQ9XCJ0cnVlXCJdKVtkYXRhLWluZGljYXRvcl06aXMoOmhvdmVyKTo6YmVmb3JlIHtcbiAgICAvKiBTYW1lIGNvbG91ciBhcyB0aGUgYmFja2dyb3VuZCAqL1xuICAgIGJvcmRlcjogdmFyKC0tY3BkLWljb24tYnV0dG9uLWluZGljYXRvci1ib3JkZXItc2l6ZSkgc29saWRcbiAgICAgIHZhcigtLWNwZC1jb2xvci1iZy1zdWJ0bGUtcHJpbWFyeSk7XG4gICAgaW5zZXQtYmxvY2stc3RhcnQ6IDA7XG4gICAgaW5zZXQtaW5saW5lLWVuZDogMDtcbiAgfVxufVxuXG4uX2ljb24tYnV0dG9uX2JoMnFjXzE3Om5vdChbYXJpYS1kaXNhYmxlZD1cInRydWVcIl0pW2RhdGEtaW5kaWNhdG9yXTppcyg6YWN0aXZlKTo6YmVmb3JlIHtcbiAgLyogU2FtZSBjb2xvdXIgYXMgdGhlIGJhY2tncm91bmQgKi9cbiAgYm9yZGVyOiB2YXIoLS1jcGQtaWNvbi1idXR0b24taW5kaWNhdG9yLWJvcmRlci1zaXplKSBzb2xpZFxuICAgIHZhcigtLWNwZC1jb2xvci1iZy1zdWJ0bGUtcHJpbWFyeSk7XG4gIGluc2V0LWJsb2NrLXN0YXJ0OiAwO1xuICBpbnNldC1pbmxpbmUtZW5kOiAwO1xufVxuXG5AbWVkaWEgKGhvdmVyKSB7XG4gIC5faWNvbi1idXR0b25fYmgycWNfMTc6bm90KFthcmlhLWRpc2FibGVkPVwidHJ1ZVwiXSkuX2Rlc3RydWN0aXZlX2JoMnFjXzgzOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jcGQtY29sb3ItYmctY3JpdGljYWwtc3VidGxlKTtcbiAgICBvdXRsaW5lOiAxcHggc29saWQgdmFyKC0tY3BkLWNvbG9yLWJvcmRlci1jcml0aWNhbC1zdWJ0bGUpO1xuICB9XG59XG5cbi5faWNvbi1idXR0b25fYmgycWNfMTc6bm90KFthcmlhLWRpc2FibGVkPVwidHJ1ZVwiXSkuX2Rlc3RydWN0aXZlX2JoMnFjXzgzID4gKiB7XG4gIGNvbG9yOiB2YXIoLS1jcGQtY29sb3ItaWNvbi1jcml0aWNhbC1wcmltYXJ5KTtcbn1cbi8qXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZFxuXG5MaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xueW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG5cbiAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcblxuVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG5TZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG5saW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiovXG5cbi8qXG4gKiBOb3RlIHRoaXMgaXMgdmVyeSBjbG9zZWx5IGNvdXBsZWQgdG8gdGhlIGluZGljYXRvciBtYXNrIFNWRyBhcyB0aGlzIG1hc2tzIG91dFxuICogdGhlIGljb24gYmVoaW5kIHRvIGRyYXcgdGhlICdzdHJva2UnIGFyb3VuZCB0aGUgaW5kaWNhdG9yIGRvdC5cbiAqXG4gKiBUaGUgU1ZHIGlzIGEgMjR4MjRweCBibGFjayBzcXVhcmUgd2l0aCBhIGNpcmNsZSBvZiByYWRpdXMgNiBwb3NpdGlvbmVkXG4gKiA0cHggYWJvdmUgYW5kIHRvIHRoZSByaWdodCBvZiB0aGUgY2FudmFzLiBUaGlzIGlzIHRoZSBzaXplIG9mIHRoZSBpbmRpY2F0b3JcbiAqIGRvdCBwbHVzIHRoZSBzdHJva2UgKGRpbWVuc2lvbnMgY2FsY3VsYXRlZCBmcm9tIHRoZSBmaWdtYSkuXG4gKi9cblxuLl9pbmRpY2F0b3ItaWNvbl8xMzN0Zl8yNiB7XG4gIC8qIFRoaXMgaXMgY2FsbGVkICdidXR0b24gc2l6ZScgYnV0IHRoZSBkb2NzIHNheSAnaWNvbiBzaXplJyAqL1xuICBpbmxpbmUtc2l6ZTogdmFyKC0tY3BkLWljb24tYnV0dG9uLXNpemUpO1xuICBibG9jay1zaXplOiB2YXIoLS1jcGQtaWNvbi1idXR0b24tc2l6ZSk7XG4gIGFzcGVjdC1yYXRpbzogMSAvIDE7XG4gIGNvbG9yOiB2YXIoLS1jcGQtY29sb3ItaWNvbi10ZXJ0aWFyeSk7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLl9pbmRpY2F0b3ItaWNvbl8xMzN0Zl8yNiBzdmcge1xuICBpbmxpbmUtc2l6ZTogMTAwJTtcbiAgYmxvY2stc2l6ZTogMTAwJTtcbn1cblxuLl9pbmRpY2F0b3ItaWNvbl8xMzN0Zl8yNltkYXRhLWluZGljYXRvcl0gc3ZnIHtcbiAgbWFzay1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzYz94bWwlMjB2ZXJzaW9uPScxLjAnJTIwZW5jb2Rpbmc9J1VURi04Jz8lM2UlM2NzdmclMjBmaWxsPSdub25lJyUyMHZlcnNpb249JzEuMSclMjB2aWV3Qm94PScwJTIwMCUyMDI0JTIwMjQnJTIweG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyUzZSUzY3BhdGglMjBkPSdtMCUyMDB2MjRoMjR2LTE2LjM1OWE2JTIwNiUyMDAlMjAwJTIwMS0yJTIwMC4zNTkzOCUyMDYlMjA2JTIwMCUyMDAlMjAxLTYtNiUyMDYlMjA2JTIwMCUyMDAlMjAxJTIwMC4zNTkzOC0yaC0xNi4zNTl6JyUyMGZpbGw9JyUyMzAwMCclMjBzdHJva2Utd2lkdGg9JzAnLyUzZSUzYy9zdmclM2VcIik7XG4gIG1hc2stcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG4gIG1hc2stcmVwZWF0OiBuby1yZXBlYXQ7XG4gIG1hc2stc2l6ZTogMTAwJTtcbn1cblxuLl9pbmRpY2F0b3ItaWNvbl8xMzN0Zl8yNltkYXRhLWluZGljYXRvcl06OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcblxuICAvKiBUaGUgZG90IGlzIDEvMTJ0aCBhYm92ZSAmIHRvIHRoZSByaWdodCBvZiB0aGUgY2FudmFzICovXG4gIGluc2V0LWJsb2NrLXN0YXJ0OiAtOC4zMzMzJTtcbiAgaW5zZXQtaW5saW5lLWVuZDogLTguMzMzMyU7XG5cbiAgLyogYW5kIGlzIDEvM3JkIHRoZSBzaXplIG9mIHRoZSBjYW52YXMgKi9cbiAgaW5saW5lLXNpemU6IDMzLjMzMzMlO1xuICBibG9jay1zaXplOiAzMy4zMzMlO1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNwZC1jb2xvci1pY29uLXByaW1hcnkpO1xufVxuXG4uX2luZGljYXRvci1pY29uXzEzM3RmXzI2W2RhdGEtaW5kaWNhdG9yPVwic3VjY2Vzc1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tY3BkLWNvbG9yLWljb24tc3VjY2Vzcy1wcmltYXJ5KTtcbn1cblxuLl9pbmRpY2F0b3ItaWNvbl8xMzN0Zl8yNltkYXRhLWluZGljYXRvcj1cImNyaXRpY2FsXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jcGQtY29sb3ItaWNvbi1jcml0aWNhbC1wcmltYXJ5KTtcbn1cbi8qXG5Db3B5cmlnaHQgMjAyMy0yMDI0IE5ldyBWZWN0b3IgTHRkXG5cbkxpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG55b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG5Zb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcblxuICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuXG5Vbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG5kaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG5XSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cblNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbmxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuKi9cblxuLl90b29sdGlwXzFwc2xiXzE3IHtcbiAgZm9udDogdmFyKC0tY3BkLWZvbnQtYm9keS14cy1tZWRpdW0pO1xuICBwYWRkaW5nOiB2YXIoLS1jcGQtc3BhY2UtMS01eCkgdmFyKC0tY3BkLXNwYWNlLTN4KTtcbiAgYmFja2dyb3VuZDogdmFyKC0tY3BkLWNvbG9yLWFscGhhLWdyYXktMTQwMCk7XG4gIGNvbG9yOiB2YXIoLS1jcGQtY29sb3ItdGV4dC1vbi1zb2xpZC1wcmltYXJ5KTtcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLl90b29sdGlwXzFwc2xiXzE3Ll9pbnZpc2libGVfMXBzbGJfMzAge1xuICAvKiBIaWRlIHRoZSB0b29sdGlwIGluIGEgd2F5IHRoYXQgYWxsb3dzIGl0IHRvIGFjdCBhcyBhbiBhY2Nlc3NpYmxlIGxhYmVsLFxuICBldmVuIHdoZW4gaW52aXNpYmxlICovXG4gIGNsaXAtcGF0aDogaW5zZXQoNTAlKTtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5cbi5fY2FwdGlvbl8xcHNsYl8zNyB7XG4gIGZvbnQtd2VpZ2h0OiB2YXIoLS1jcGQtZm9udC13ZWlnaHQtcmVndWxhcik7XG4gIGNvbG9yOiB2YXIoLS1jcGQtY29sb3ItdGV4dC1zZWNvbmRhcnkpO1xufVxuXG4uX2Fycm93XzFwc2xiXzQyIHtcbiAgLyogc2FtZSBjb2xvciBhcyB0aGUgdG9vbHRpcCBiYWNrZ3JvdW5kICovXG4gIGZpbGw6IHZhcigtLWNwZC1jb2xvci1hbHBoYS1ncmF5LTE0MDApO1xufVxuLypcbkNvcHlyaWdodCAyMDIzICBOZXcgVmVjdG9yIEx0ZFxuXG5MaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xueW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG5cbiAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcblxuVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG5TZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG5saW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiovXG5cbi5fYXZhdGFyX21jYXAyXzE3IHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBsaW5lLWhlaWdodDogdmFyKC0tY3BkLWF2YXRhci1zaXplKTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBmb250LXNpemU6IG1pbihjYWxjKHZhcigtLWNwZC1hdmF0YXItc2l6ZSkgKiAwLjU2MjUpLCA2MHB4KTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgc3BlYWs6IG5vbmU7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1jcGQtZm9udC1mYW1pbHktc2Fucyk7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB1c2VyLXNlbGVjdDogbm9uZTtcblxuICAvKiBTZXQgYSBiYWNrZ3JvdW5kIGNvbG9yIHRvIGhlbHAgd2l0aCB2aXN1YWwgY29uc2lzdGVuY3kgd2hlbiBkaXNwbGF5aW5nXG4gICAqIGF2YXRhcnMgd2l0aCBhIHRyYW5zbHVjZW50IGJhY2tncm91bmQgKi9cbiAgYmFja2dyb3VuZDogdmFyKC0tY3BkLWNvbG9yLWJnLWNhbnZhcy1kZWZhdWx0KTtcbn1cblxuYnV0dG9uLl9hdmF0YXJfbWNhcDJfMTcge1xuICAvKipcbiAgICogVGhlIGF2YXRhciBjYW4gYmUgYSBidXR0b24gZWxlbWVudCwgd2UgbmVlZCB0byByZXNldCBpdHMgc3R5bGVcbiAgICovXG4gIHBhZGRpbmc6IDA7XG4gIGJvcmRlcjogMDtcbiAgYXBwZWFyYW5jZTogbm9uZTtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG5idXR0b24uX2F2YXRhcl9tY2FwMl8xNzpkaXNhYmxlZCB7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XG59XG5cbi5fYXZhdGFyX21jYXAyXzE3LFxuLl9pbWFnZV9tY2FwMl81MCB7XG4gIGFzcGVjdC1yYXRpbzogMSAvIDE7XG4gIGlubGluZS1zaXplOiB2YXIoLS1jcGQtYXZhdGFyLXNpemUpO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1jcGQtYXZhdGFyLXJhZGl1cyk7XG59XG5cbi5faW1hZ2VfbWNhcDJfNTAge1xuICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLl9hdmF0YXItaW1hZ2VsZXNzX21jYXAyXzYxIHtcbiAgLyogSW4gdGhlIGZ1dHVyZSB3ZSdkIHByZWZlciB0byBwYXNzIHRoZSBIRVggY29kZSBhcyB0aGUgZGF0YSBhdHRyXG4gICAgIGFuZCB1c2UgYGF0dHIoZGF0YS1jb2xvcilgIHRvIGF2b2lkIHRoZSBzdHlsZSBkZWNsYXJhdGlvbiBmcm9tIGJlbG93XG4gICAgIGJ1dCB0aGlzIGlzIGN1cnJlbnRseSBub3Qgc3VwcG9ydGVkIGluIGFsbCBicm93c2VycyAqL1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jcGQtYXZhdGFyLWJnKTtcbiAgY29sb3I6IHZhcigtLWNwZC1hdmF0YXItY29sb3IpO1xufVxuXG4uX2F2YXRhcl9tY2FwMl8xN1tkYXRhLWNvbG9yXSB7XG4gIC0tY3BkLWF2YXRhci1iZzogdmFyKC0tY3BkLWNvbG9yLWJnLWRlY29yYXRpdmUtMSk7XG4gIC0tY3BkLWF2YXRhci1jb2xvcjogdmFyKC0tY3BkLWNvbG9yLXRleHQtZGVjb3JhdGl2ZS0xKTtcbn1cblxuLl9hdmF0YXJfbWNhcDJfMTdbZGF0YS1jb2xvcj1cIjJcIl0ge1xuICAtLWNwZC1hdmF0YXItYmc6IHZhcigtLWNwZC1jb2xvci1iZy1kZWNvcmF0aXZlLTIpO1xuICAtLWNwZC1hdmF0YXItY29sb3I6IHZhcigtLWNwZC1jb2xvci10ZXh0LWRlY29yYXRpdmUtMik7XG59XG5cbi5fYXZhdGFyX21jYXAyXzE3W2RhdGEtY29sb3I9XCIzXCJdIHtcbiAgLS1jcGQtYXZhdGFyLWJnOiB2YXIoLS1jcGQtY29sb3ItYmctZGVjb3JhdGl2ZS0zKTtcbiAgLS1jcGQtYXZhdGFyLWNvbG9yOiB2YXIoLS1jcGQtY29sb3ItdGV4dC1kZWNvcmF0aXZlLTMpO1xufVxuXG4uX2F2YXRhcl9tY2FwMl8xN1tkYXRhLWNvbG9yPVwiNFwiXSB7XG4gIC0tY3BkLWF2YXRhci1iZzogdmFyKC0tY3BkLWNvbG9yLWJnLWRlY29yYXRpdmUtNCk7XG4gIC0tY3BkLWF2YXRhci1jb2xvcjogdmFyKC0tY3BkLWNvbG9yLXRleHQtZGVjb3JhdGl2ZS00KTtcbn1cblxuLl9hdmF0YXJfbWNhcDJfMTdbZGF0YS1jb2xvcj1cIjVcIl0ge1xuICAtLWNwZC1hdmF0YXItYmc6IHZhcigtLWNwZC1jb2xvci1iZy1kZWNvcmF0aXZlLTUpO1xuICAtLWNwZC1hdmF0YXItY29sb3I6IHZhcigtLWNwZC1jb2xvci10ZXh0LWRlY29yYXRpdmUtNSk7XG59XG5cbi5fYXZhdGFyX21jYXAyXzE3W2RhdGEtY29sb3I9XCI2XCJdIHtcbiAgLS1jcGQtYXZhdGFyLWJnOiB2YXIoLS1jcGQtY29sb3ItYmctZGVjb3JhdGl2ZS02KTtcbiAgLS1jcGQtYXZhdGFyLWNvbG9yOiB2YXIoLS1jcGQtY29sb3ItdGV4dC1kZWNvcmF0aXZlLTYpO1xufVxuXG4uX2F2YXRhcl9tY2FwMl8xN1tkYXRhLXR5cGU9XCJyb3VuZFwiXSB7XG4gIC0tY3BkLWF2YXRhci1yYWRpdXM6IDUwJTtcbn1cblxuLl9hdmF0YXJfbWNhcDJfMTdbZGF0YS10eXBlPVwic3F1YXJlXCJdIHtcbiAgLS1jcGQtYXZhdGFyLXJhZGl1czogMjUlO1xufVxuXG4vKipcbiAqIFN0YWNrZWQgYXZhdGFycyBcbiAqL1xuXG4uX3N0YWNrZWQtYXZhdGFyc19tY2FwMl8xMTE6OmFmdGVyIHtcbiAgY29udGVudDogXCJcIjtcbiAgZGlzcGxheTogdGFibGU7XG4gIGNsZWFyOiBib3RoO1xufVxuXG4uX3N0YWNrZWQtYXZhdGFyc19tY2FwMl8xMTEgLl9hdmF0YXJfbWNhcDJfMTcge1xuICBmbG9hdDogaW5saW5lLXN0YXJ0O1xufVxuXG4uX3N0YWNrZWQtYXZhdGFyc19tY2FwMl8xMTEgLl9hdmF0YXJfbWNhcDJfMTc6bm90KDpsYXN0LWNoaWxkKSB7XG4gIC8qIGluamVjdGVkIGluIHRoZSBkb2N1bWVudCBmcm9tIEF2YXRhclN0YWNrLnRzeCAqL1xuICBjbGlwLXBhdGg6IHVybChcIiNjcGRBdmF0YXJDbGlwXCIpO1xufVxuXG4uX3N0YWNrZWQtYXZhdGFyc19tY2FwMl8xMTEgPiAqOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgbWFyZ2luLWlubGluZS1zdGFydDogY2FsYyh2YXIoLS1jcGQtYXZhdGFyLXNpemUpICogLTAuMik7XG59XG5cbi5fY2xpcC1wYXRoX21jYXAyXzEzMCB7XG4gIC8qIEluIHRoZW9yeSB0aGUgU1ZHIGlzIGludmlzaWJsZSwgYnV0IHdlIHN0aWxsIG5lZWQgdG8gZW5zdXJlIGl0IGRvZXNuJ3RcbiAgYWZmZWN0IHRoZSBwYWdlJ3MgbGF5b3V0IG9yIG90aGVyd2lzZSBtYWtlIGFuIGFwcGVhcmFuY2UgKi9cbiAgcG9zaXRpb246IGZpeGVkO1xuICBpbnNldC1pbmxpbmUtc3RhcnQ6IC05OTk5cHg7XG59XG4vKlxuQ29weXJpZ2h0IDIwMjMgTmV3IFZlY3RvciBMdGRcblxuTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbnlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbllvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuXG4gICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG5cblVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbmRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbldJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxubGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4qL1xuXG4uX2JhZGdlXzExNzF2XzE3IHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGdhcDogdmFyKC0tY3BkLXNwYWNlLTF4KTtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgYm9yZGVyLXJhZGl1czogOTk5OXB4OyAvKiBwaWxsIGVmZmVjdCAqL1xuICBwYWRkaW5nOiB2YXIoLS1jcGQtc3BhY2UtMXgpIHZhcigtLWNwZC1zcGFjZS0zeCk7XG59XG5cbi5fYmFkZ2VfMTE3MXZfMTdbZGF0YS1raW5kPVwiZGVmYXVsdFwiXSB7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNwZC1jb2xvci1hbHBoYS1ncmF5LTQwMCk7XG4gIGNvbG9yOiB2YXIoLS1jcGQtY29sb3ItZ3JheS0xMTAwKTtcbn1cblxuLl9iYWRnZV8xMTcxdl8xN1tkYXRhLWtpbmQ9XCJncmV5XCJdIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tY3BkLWNvbG9yLWFscGhhLWdyYXktMzAwKTtcbiAgY29sb3I6IHZhcigtLWNwZC1jb2xvci1ncmF5LTExMDApO1xufVxuXG4uX2JhZGdlXzExNzF2XzE3W2RhdGEta2luZD1cIm9uLXNvbGlkXCJdIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tY3BkLWNvbG9yLWFscGhhLWdyYXktMTIwMCk7XG4gIGNvbG9yOiB2YXIoLS1jcGQtY29sb3ItdGV4dC1vbi1zb2xpZC1wcmltYXJ5KTtcbn1cblxuLl9iYWRnZV8xMTcxdl8xN1tkYXRhLWtpbmQ9XCJibHVlXCJdIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tY3BkLWNvbG9yLWFscGhhLWJsdWUtMzAwKTtcbiAgY29sb3I6IHZhcigtLWNwZC1jb2xvci1ibHVlLTExMDApO1xufVxuXG4uX2JhZGdlXzExNzF2XzE3W2RhdGEta2luZD1cImdyZWVuXCJdIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tY3BkLWNvbG9yLWFscGhhLWdyZWVuLTMwMCk7XG4gIGNvbG9yOiB2YXIoLS1jcGQtY29sb3ItZ3JlZW4tMTEwMCk7XG59XG5cbi5fYmFkZ2VfMTE3MXZfMTdbZGF0YS1raW5kPVwicmVkXCJdIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tY3BkLWNvbG9yLWFscGhhLXJlZC0zMDApO1xuICBjb2xvcjogdmFyKC0tY3BkLWNvbG9yLXJlZC0xMTAwKTtcbn1cbi8qXG5Db3B5cmlnaHQgMjAyMyBOZXcgVmVjdG9yIEx0ZFxuXG5MaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xueW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG5cbiAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcblxuVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG5TZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG5saW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiovXG5cbi5fbWVudV8xeDVoMV8xNyB7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLWNwZC1zcGFjZS0zeCk7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNwZC1jb2xvci1iZy1jYW52YXMtZGVmYXVsdCk7XG5cbiAgLyogSGVyZSB3ZSB1c2Ugb3V0bGluZSB0byBjcmVhdGUgYSBib3JkZXIgaW50ZXJuYWwgdG8gdGhlIGNvbnRhaW5lci4gVGhlIFJhZGl4XG4gIG1lbnUgY29tcG9uZW50IG1heSB0cnkgdG8gb3ZlcnJpZGUgaXQgd2l0aCBvdXRsaW5lOiBub25lLCBoZW5jZSB0aGUgbmVlZCBmb3JcbiAgIWltcG9ydGFudC4gKi9cbiAgb3V0bGluZTogdmFyKC0tY3BkLWJvcmRlci13aWR0aC0xKSBzb2xpZFxuICAgIHZhcigtLWNwZC1jb2xvci1ib3JkZXItaW50ZXJhY3RpdmUtc2Vjb25kYXJ5KSAhaW1wb3J0YW50O1xuICBvdXRsaW5lLW9mZnNldDogY2FsYygtMSAqIHZhcigtLWNwZC1ib3JkZXItd2lkdGgtMSkpO1xuICBib3gtc2hhZG93OiAwIDRweCAyNHB4IDAgcmdiYSgwIDAgMCAvIDEwJSk7XG4gIGlubGluZS1zaXplOiBmaXQtY29udGVudDtcbiAgbWF4LWlubGluZS1zaXplOiAzMjBweDtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZ2FwOiB2YXIoLS1jcGQtc3BhY2UtMXgpO1xuICBwYWRkaW5nLWJsb2NrOiB2YXIoLS1jcGQtc3BhY2UtNXgpIHZhcigtLWNwZC1zcGFjZS00eCk7XG5cbiAgLS1jcGQtc2VwYXJhdG9yLXNwYWNpbmc6IDA7XG4gIC0tY3BkLXNlcGFyYXRvci1pbnNldDogdmFyKC0tY3BkLXNwYWNlLTR4KTtcbn1cblxuQGtleWZyYW1lcyBfc2xpZGUtaW5fMXg1aDFfMSB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgdmFyKC0tY3BkLXNwYWNlLTN4KSk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBfc2xpZGUtb3V0XzF4NWgxXzEge1xuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCB2YXIoLS1jcGQtc3BhY2UtMngpKTtcbiAgfVxufVxuXG4uX21lbnVfMXg1aDFfMTdbZGF0YS1zdGF0ZT1cIm9wZW5cIl0ge1xuICBhbmltYXRpb246IF9zbGlkZS1pbl8xeDVoMV8xIDE4MG1zO1xufVxuXG4uX21lbnVfMXg1aDFfMTdbZGF0YS1zdGF0ZT1cImNsb3NlZFwiXSB7XG4gIGFuaW1hdGlvbjogX3NsaWRlLW91dF8xeDVoMV8xIDExMG1zO1xufVxuXG5Aa2V5ZnJhbWVzIF9mYWRlLWluXzF4NWgxXzEge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgX2ZhZGUtb3V0XzF4NWgxXzEge1xuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuXG5AbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb24pIHtcbiAgLl9tZW51XzF4NWgxXzE3W2RhdGEtc3RhdGU9XCJvcGVuXCJdIHtcbiAgICBhbmltYXRpb24tbmFtZTogX2ZhZGUtaW5fMXg1aDFfMTtcbiAgfVxuXG4gIC5fbWVudV8xeDVoMV8xN1tkYXRhLXN0YXRlPVwiY2xvc2VkXCJdIHtcbiAgICBhbmltYXRpb24tbmFtZTogX2ZhZGUtb3V0XzF4NWgxXzE7XG4gIH1cbn1cblxuLl90aXRsZV8xeDVoMV84MyB7XG4gIGNvbG9yOiB2YXIoLS1jcGQtY29sb3ItdGV4dC1zZWNvbmRhcnkpO1xuICBwYWRkaW5nLWlubGluZTogdmFyKC0tY3BkLXNwYWNlLTR4KTtcbiAgcGFkZGluZy1ibG9jay1lbmQ6IGNhbGModmFyKC0tY3BkLXNwYWNlLTJ4KSAtIHZhcigtLWNwZC1ib3JkZXItd2lkdGgtMSkpO1xuICBib3JkZXItYmxvY2stZW5kOiB2YXIoLS1jcGQtYm9yZGVyLXdpZHRoLTEpIHNvbGlkIHZhcigtLWNwZC1jb2xvci1ncmF5LTQwMCk7XG4gIG1hcmdpbi1ibG9jazogMCB2YXIoLS1jcGQtc3BhY2UtMngpO1xufVxuLypcbkNvcHlyaWdodCAyMDIzIE5ldyBWZWN0b3IgTHRkXG5cbkxpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG55b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG5Zb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcblxuICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuXG5Vbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG5kaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG5XSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cblNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbmxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuKi9cblxuLl9iZ19nZDY4aF8xNyB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgaW5zZXQ6IDA7XG5cbiAgLyogVE9ETzogVGhpcyB2YWx1ZSBpcyB1c2VkIGFjcm9zcyBtb2RhbHMgYW5kIG1lbnUgZHJhd2Vycywgc28gd291bGQgYmUgd29ydGhcbiAgdG9rZW5pemluZyAqL1xuICBiYWNrZ3JvdW5kOiByZ2JhKDMgMTIgMjcgLyA1Mi44JSk7XG59XG5cbi5fZHJhd2VyX2dkNjhoXzI2IHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jcGQtY29sb3ItYmctY2FudmFzLWRlZmF1bHQpO1xuICBpbnNldC1ibG9jay1lbmQ6IDA7XG4gIGluc2V0LWlubGluZTogMDtcblxuICAvKiBDYXAgdGhlIGlubGluZSBjb250ZW50IHNpemUgYXQgNTIwcHgsIGZpbGxpbmcgdGhlIHJlc3Qgb2YgdGhlIHNwYWNlIHdpdGhcbiAgcGFkZGluZyAqL1xuICBwYWRkaW5nLWlubGluZTogbWF4KDBweCwgY2FsYygoMTAwJSAtIDUyMHB4KSAvIDIpKTtcbiAgYm9yZGVyLXN0YXJ0LXN0YXJ0LXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cyk7XG4gIGJvcmRlci1zdGFydC1lbmQtcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzKTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblxuICAvKiBEcmF3ZXIgY29tZXMgaW4gdGhlIEFuZHJvaWQgc3R5bGUgYnkgZGVmYXVsdCAqL1xuICAtLWJvcmRlci1yYWRpdXM6IDI4cHg7XG4gIC0taGFuZGxlLWJsb2NrLXNpemU6IDRweDtcbiAgLS1oYW5kbGUtaW5saW5lLXNpemU6IDMycHg7XG4gIC0taGFuZGxlLWluc2V0LWJsb2NrLXN0YXJ0OiB2YXIoLS1jcGQtc3BhY2UtNHgpO1xuICAtLWhhbmRsZS1pbnNldC1ibG9jay1lbmQ6IDBweDtcbiAgLS1jb250ZW50LWluc2V0LWJsb2NrLXN0YXJ0OiBjYWxjKFxuICAgIHZhcigtLWhhbmRsZS1pbnNldC1ibG9jay1zdGFydCkgKyB2YXIoLS1oYW5kbGUtYmxvY2stc2l6ZSkgK1xuICAgICAgdmFyKC0taGFuZGxlLWluc2V0LWJsb2NrLWVuZClcbiAgKTtcbn1cblxuLl9kcmF3ZXJfZ2Q2OGhfMjZbZGF0YS1wbGF0Zm9ybT1cImlvc1wiXSB7XG4gIC0tYm9yZGVyLXJhZGl1czogMTBweDtcbiAgLS1oYW5kbGUtYmxvY2stc2l6ZTogNXB4O1xuICAtLWhhbmRsZS1pbmxpbmUtc2l6ZTogMzZweDtcbiAgLS1oYW5kbGUtaW5zZXQtYmxvY2stc3RhcnQ6IHZhcigtLWNwZC1zcGFjZS0xLTV4KTtcbiAgLS1oYW5kbGUtaW5zZXQtYmxvY2stZW5kOiAxcHg7XG59XG5cbi5fYm9keV9nZDY4aF82MCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGdhcDogdmFyKC0tY3BkLXNwYWNlLTJ4KTtcbiAgcGFkZGluZy1ibG9jazogY2FsYyh2YXIoLS1jb250ZW50LWluc2V0LWJsb2NrLXN0YXJ0KSArIHZhcigtLWNwZC1zcGFjZS02eCkpXG4gICAgdmFyKC0tY3BkLXNwYWNlLTEyeCk7XG4gIGJvcmRlci1zdGFydC1zdGFydC1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMpO1xuICBib3JkZXItc3RhcnQtZW5kLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cyk7XG5cbiAgLyogRXZlbiB3aXRoIG92ZXJmbG93OiBhdXRvLCB0aGUgY29udGVudCBjYW4gc3RpbGwgb3ZlcmZsb3cgYXQgdGhlIGNvcm5lcnNcbiAgd2hlcmUgaXQgbWVldHMgd2l0aCB0aGUgY3VydmVkIGJvcmRlci4gQSBjb250YWluOiBwYWludCBmaXhlcyB0aGF0LiAqL1xuICBjb250YWluOiBwYWludDtcbiAgb3ZlcmZsb3c6IGF1dG87XG4gIHNjcm9sbGJhci13aWR0aDogbm9uZTtcblxuICAtLWNwZC1zZXBhcmF0b3Itc3BhY2luZzogMDtcbiAgLS1jcGQtc2VwYXJhdG9yLWluc2V0OiB2YXIoLS1jcGQtc3BhY2UtNHgpO1xufVxuXG4uX2JvZHlfZ2Q2OGhfNjA6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYmxvY2stc2l6ZTogdmFyKC0taGFuZGxlLWJsb2NrLXNpemUpO1xuICBpbnNldC1pbmxpbmU6IGNhbGMoKDEwMCUgLSB2YXIoLS1oYW5kbGUtaW5saW5lLXNpemUpKSAvIDIpO1xuICBpbnNldC1ibG9jay1zdGFydDogdmFyKC0taGFuZGxlLWluc2V0LWJsb2NrLXN0YXJ0KTtcbiAgYmFja2dyb3VuZDogdmFyKC0tY3BkLWNvbG9yLWljb24tc2Vjb25kYXJ5KTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tY3BkLXJhZGl1cy1waWxsLWVmZmVjdCk7XG59XG4vKlxuQ29weXJpZ2h0IDIwMjMgTmV3IFZlY3RvciBMdGRcblxuTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbnlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbllvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuXG4gICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG5cblVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbmRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbldJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxubGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4qL1xuXG4uX2dsYXNzXzF4OWc5XzE3IHtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tY3BkLXNwYWNlLTl4KTtcbiAgcGFkZGluZzogdmFyKC0tY3BkLXNwYWNlLTN4KTtcblxuICAvKiBXZSB1c2UgYW4gb3V0bGluZSBoZXJlIHRvIGNyZWF0ZSBhbiBcImlubmVyIGJvcmRlclwiLCByYXRoZXIgdGhhbiBvbmUgdGhhdFxuICBhZGRzIHRvIHRoZSBjb21wb25lbnQncyBzaXplICovXG4gIG91dGxpbmU6IHZhcigtLWNwZC1ib3JkZXItd2lkdGgtMSkgc29saWQgdmFyKC0tY3BkLWNvbG9yLWFscGhhLWdyYXktNDAwKTtcbiAgb3V0bGluZS1vZmZzZXQ6IGNhbGMoLTEgKiB2YXIoLS1jcGQtYm9yZGVyLXdpZHRoLTEpKTtcbiAgYmFja2dyb3VuZDogdmFyKC0tY3BkLWNvbG9yLWFscGhhLWdyYXktNDAwKTtcbiAgYmFja2Ryb3AtZmlsdGVyOiBibHVyKDIwcHgpO1xufVxuXG4uX2dsYXNzXzF4OWc5XzE3ID4gOmZpcnN0LWNoaWxkIHtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tY3BkLXNwYWNlLTZ4KTtcbiAgaW5saW5lLXNpemU6IDEwMCU7XG4gIGJsb2NrLXNpemU6IDEwMCU7XG59XG4vKlxuQ29weXJpZ2h0IDIwMjMgTmV3IFZlY3RvciBMdGRcblxuTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbnlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbllvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuXG4gICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG5cblVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbmRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbldJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxubGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4qL1xuXG4uX2xpbmtfdWUyMXpfMTcge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICBjb2xvcjogdmFyKC0tY3BkLWNvbG9yLXRleHQtcHJpbWFyeSk7XG4gIGZvbnQtd2VpZ2h0OiB2YXIoLS1jcGQtZm9udC13ZWlnaHQtbWVkaXVtKTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tY3BkLXJhZGl1cy1waWxsLWVmZmVjdCk7XG4gIHBhZGRpbmctaW5saW5lOiAwLjI1cmVtO1xufVxuXG4uX2xpbmtfdWUyMXpfMTdbZGF0YS1raW5kPVwicHJpbWFyeVwiXSB7XG4gIGNvbG9yOiB2YXIoLS1jcGQtY29sb3ItdGV4dC1wcmltYXJ5KTtcbn1cblxuLl9saW5rX3VlMjF6XzE3W2RhdGEta2luZD1cImNyaXRpY2FsXCJdIHtcbiAgY29sb3I6IHZhcigtLWNwZC1jb2xvci10ZXh0LWNyaXRpY2FsLXByaW1hcnkpO1xufVxuXG5AbWVkaWEgKGhvdmVyKSB7XG4gIC5fbGlua191ZTIxel8xN1tkYXRhLWtpbmQ9XCJwcmltYXJ5XCJdOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jcGQtY29sb3ItZ3JheS0zMDApO1xuICB9XG5cbiAgLl9saW5rX3VlMjF6XzE3W2RhdGEta2luZD1cImNyaXRpY2FsXCJdOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jcGQtY29sb3ItcmVkLTMwMCk7XG4gIH1cbn1cblxuLl9saW5rX3VlMjF6XzE3OmFjdGl2ZSB7XG4gIGNvbG9yOiB2YXIoLS1jcGQtY29sb3ItdGV4dC1vbi1zb2xpZC1wcmltYXJ5KTtcbn1cblxuLl9saW5rX3VlMjF6XzE3W2RhdGEta2luZD1cInByaW1hcnlcIl06YWN0aXZlIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tY3BkLWNvbG9yLXRleHQtcHJpbWFyeSk7XG59XG5cbi5fbGlua191ZTIxel8xN1tkYXRhLWtpbmQ9XCJjcml0aWNhbFwiXTphY3RpdmUge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jcGQtY29sb3ItdGV4dC1jcml0aWNhbC1wcmltYXJ5KTtcbn1cblxuLl9saW5rX3VlMjF6XzE3W2RhdGEtc2l6ZT1cInNtYWxsXCJdIHtcbiAgZm9udC1zaXplOiB2YXIoLS1jcGQtZm9udC1zaXplLWJvZHktc20pO1xufVxuLypcbkNvcHlyaWdodCAyMDIzIE5ldyBWZWN0b3IgTHRkXG5cbkxpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG55b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG5Zb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcblxuICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuXG5Vbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG5kaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG5XSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cblNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbmxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuKi9cblxuLl9pdGVtXzhqMmw2XzE3IHtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ3JpZC10ZW1wbGF0ZTogXCJpY29uIGxhYmVsIC5cIiBhdXRvIFwiZW1wdHkxIGxhYmVsIGVtcHR5MlwiIGF1dG8gLyBhdXRvIGF1dG8gbWlubWF4KFxuICAgICAgLyogUmVzZXJ2ZSBzcGFjZSBmb3IgdGhlIGNoZXZyb24gc28gdGhhdCB0aGUgbGF5b3V0IGRvZXNuJ3Qgc2hpZnQgb25cbiAgICAgIGhvdmVyICovXG4gICAgICAgIHZhcigtLWNwZC1zcGFjZS0yeCksXG4gICAgICAxZnJcbiAgICApO1xuICBwbGFjZS1pdGVtczogY2VudGVyIGVuZDtcbiAgcGFkZGluZy1ibG9jazogdmFyKC0tY3BkLXNwYWNlLTJ4KTtcbiAgcGFkZGluZy1pbmxpbmU6IHZhcigtLWNwZC1zcGFjZS00eCk7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGlubGluZS1zaXplOiAxMDAlO1xuICBtaW4taW5saW5lLXNpemU6IDIwMHB4O1xuICBjb2xvcjogdmFyKC0tY3BkLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTtcbiAgYmFja2dyb3VuZDogdmFyKC0tY3BkLWNvbG9yLWJnLWFjdGlvbi1zZWNvbmRhcnktcmVzdCk7XG59XG5cbi5faXRlbV84ajJsNl8xNy5faW50ZXJhY3RpdmVfOGoybDZfMzUge1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi5faXRlbV84ajJsNl8xNy5fbm8tbGFiZWxfOGoybDZfMzkge1xuICBncmlkLXRlbXBsYXRlOiBcImljb24gLlwiIGF1dG8gLyBhdXRvIDFmcjtcbn1cblxuLl9pY29uXzhqMmw2XzQzIHtcbiAgZ3JpZC1hcmVhOiBpY29uO1xuICBtYXJnaW4taW5saW5lLWVuZDogdmFyKC0tY3BkLXNwYWNlLTN4KTtcbn1cblxuLl9pdGVtXzhqMmw2XzE3Ll9uby1sYWJlbF84ajJsNl8zOSAuX2ljb25fOGoybDZfNDMge1xuICBtYXJnaW4taW5saW5lLWVuZDogdmFyKC0tY3BkLXNwYWNlLTR4KTtcbn1cblxuLl9sYWJlbF84ajJsNl81MiB7XG4gIGdyaWQtYXJlYTogbGFiZWw7XG4gIG1hcmdpbi1pbmxpbmUtZW5kOiB2YXIoLS1jcGQtc3BhY2UtNHgpO1xuICB0ZXh0LWFsaWduOiBzdGFydDtcbiAgd29yZC1icmVhazogYnJlYWstd29yZDtcbn1cblxuLl9uYXYtaGludF84ajJsNl81OSB7XG4gIC8qIEhpZGRlbiB1bnRpbCB0aGUgaXRlbSBpcyBob3ZlcmVkIG92ZXIgKi9cbiAgZGlzcGxheTogbm9uZTtcbiAgZmxleC1zaHJpbms6IDA7XG59XG5cbmJ1dHRvbi5faXRlbV84ajJsNl8xNyB7XG4gIGFwcGVhcmFuY2U6IG5vbmU7XG4gIGJvcmRlcjogbm9uZTtcbn1cblxuLl9pdGVtXzhqMmw2XzE3W2RhdGEta2luZD1cInByaW1hcnlcIl0gPiAuX2xhYmVsXzhqMmw2XzUyIHtcbiAgY29sb3I6IHZhcigtLWNwZC1jb2xvci10ZXh0LXByaW1hcnkpO1xufVxuXG4uX2l0ZW1fOGoybDZfMTdbZGF0YS1raW5kPVwicHJpbWFyeVwiXSA+IC5faWNvbl84ajJsNl80MyB7XG4gIGNvbG9yOiB2YXIoLS1jcGQtY29sb3ItaWNvbi1wcmltYXJ5KTtcbn1cblxuLl9pdGVtXzhqMmw2XzE3W2RhdGEta2luZD1cInByaW1hcnlcIl0gPiAuX25hdi1oaW50XzhqMmw2XzU5IHtcbiAgY29sb3I6IHZhcigtLWNwZC1jb2xvci1pY29uLXRlcnRpYXJ5KTtcbn1cblxuLl9pdGVtXzhqMmw2XzE3W2RhdGEta2luZD1cImNyaXRpY2FsXCJdID4gLl9sYWJlbF84ajJsNl81MiB7XG4gIGNvbG9yOiB2YXIoLS1jcGQtY29sb3ItdGV4dC1jcml0aWNhbC1wcmltYXJ5KTtcbn1cblxuLl9pdGVtXzhqMmw2XzE3W2RhdGEta2luZD1cImNyaXRpY2FsXCJdID4gLl9pY29uXzhqMmw2XzQzLFxuLl9pdGVtXzhqMmw2XzE3W2RhdGEta2luZD1cImNyaXRpY2FsXCJdID4gLl9uYXYtaGludF84ajJsNl81OSB7XG4gIGNvbG9yOiB2YXIoLS1jcGQtY29sb3ItaWNvbi1jcml0aWNhbC1wcmltYXJ5KTtcbn1cblxuQG1lZGlhIChob3Zlcikge1xuICAuX2l0ZW1fOGoybDZfMTcuX2ludGVyYWN0aXZlXzhqMmw2XzM1W2RhdGEta2luZD1cInByaW1hcnlcIl06aG92ZXIge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNwZC1jb2xvci1iZy1hY3Rpb24tc2Vjb25kYXJ5LWhvdmVyZWQpO1xuICB9XG5cbiAgLl9pdGVtXzhqMmw2XzE3Ll9pbnRlcmFjdGl2ZV84ajJsNl8zNVtkYXRhLWtpbmQ9XCJjcml0aWNhbFwiXTpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY3BkLWNvbG9yLWJnLWNyaXRpY2FsLXN1YnRsZSk7XG4gIH1cblxuICAvKiBSZXBsYWNlIHRoZSBjaGlsZHJlbiB3aXRoIHRoZSBuYXZpZ2F0aW9uIGhpbnQgb24gaG92ZXIgKi9cbiAgLl9pdGVtXzhqMmw2XzE3Ll9pbnRlcmFjdGl2ZV84ajJsNl8zNTpob3ZlciA+IC5fbmF2LWhpbnRfOGoybDZfNTkge1xuICAgIGRpc3BsYXk6IGluaXRpYWw7XG4gIH1cblxuICAuX2l0ZW1fOGoybDZfMTcuX2ludGVyYWN0aXZlXzhqMmw2XzM1OmhvdmVyID4gLl9uYXYtaGludF84ajJsNl81OSB+ICoge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuLl9pdGVtXzhqMmw2XzE3Ll9pbnRlcmFjdGl2ZV84ajJsNl8zNVtkYXRhLWtpbmQ9XCJwcmltYXJ5XCJdOmFjdGl2ZSB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNwZC1jb2xvci1iZy1hY3Rpb24tc2Vjb25kYXJ5LXByZXNzZWQpO1xufVxuXG4uX2l0ZW1fOGoybDZfMTcuX2ludGVyYWN0aXZlXzhqMmw2XzM1W2RhdGEta2luZD1cImNyaXRpY2FsXCJdOmFjdGl2ZSB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNwZC1jb2xvci1iZy1jcml0aWNhbC1zdWJ0bGUtaG92ZXJlZCk7XG59XG5cbi5faXRlbV84ajJsNl8xN1tkYXRhLWtpbmRdLl9kaXNhYmxlZF84ajJsNl8xMTgge1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cblxuLl9pdGVtXzhqMmw2XzE3W2RhdGEta2luZF0uX2Rpc2FibGVkXzhqMmw2XzExOCA+IC5fbGFiZWxfOGoybDZfNTIsXG4uX2l0ZW1fOGoybDZfMTdbZGF0YS1raW5kXS5fZGlzYWJsZWRfOGoybDZfMTE4ID4gLl9pY29uXzhqMmw2XzQzLFxuLl9pdGVtXzhqMmw2XzE3W2RhdGEta2luZF0uX2Rpc2FibGVkXzhqMmw2XzExOCA+IC5fbmF2LWhpbnRfOGoybDZfNTkge1xuICBjb2xvcjogdmFyKC0tY3BkLWNvbG9yLXRleHQtZGlzYWJsZWQpO1xufVxuLypcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkXG5cbkxpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG55b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG5Zb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcblxuICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuXG5Vbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG5kaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG5XSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cblNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbmxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuKi9cblxuLl9wcm9ncmVzcy1iYXJfMXZlZWpfMTcge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNwZC1jb2xvci1ncmF5LTIwMCk7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNwZC1jb2xvci1ncmF5LTQwMCk7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLWNwZC1yYWRpdXMtcGlsbC1lZmZlY3QpO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICZbZGF0YS1zaXplPVwic21cIl0ge1xuICAgIGJsb2NrLXNpemU6IHZhcigtLWNwZC1zcGFjZS0yeCk7XG4gIH1cblxuICAmW2RhdGEtc2l6ZT1cImxnXCJdIHtcbiAgICBibG9jay1zaXplOiB2YXIoLS1jcGQtc3BhY2UtNHgpO1xuICB9XG59XG5cbi5fcHJvZ3Jlc3MtYmFyLWNvbnRhaW5lcl8xdmVlal8zMyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGdhcDogdmFyKC0tY3BkLXNwYWNlLTF4KTtcblxuICAtLWNwZC1wcm9ncmVzcy1iYXItbWFpbjogdmFyKC0tY3BkLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTtcbiAgLS1jcGQtcHJvZ3Jlc3MtYmFyLW11dGVkOiB2YXIoLS1jcGQtY29sb3ItZ3JheS04MDApO1xuXG4gICZbZGF0YS10aW50PVwiZ3JlZW5cIl0ge1xuICAgIC0tY3BkLXByb2dyZXNzLWJhci1tYWluOiB2YXIoLS1jcGQtY29sb3ItdGV4dC1zdWNjZXNzLXByaW1hcnkpO1xuICAgIC0tY3BkLXByb2dyZXNzLWJhci1tdXRlZDogdmFyKC0tY3BkLWNvbG9yLWdyZWVuLTgwMCk7XG4gIH1cblxuICAmW2RhdGEtdGludD1cImxpbWVcIl0ge1xuICAgIC0tY3BkLXByb2dyZXNzLWJhci1tYWluOiB2YXIoLS1jcGQtY29sb3ItbGltZS05MDApO1xuICAgIC0tY3BkLXByb2dyZXNzLWJhci1tdXRlZDogdmFyKC0tY3BkLWNvbG9yLWxpbWUtODAwKTtcbiAgfVxuXG4gICZbZGF0YS10aW50PVwib3JhbmdlXCJdIHtcbiAgICAtLWNwZC1wcm9ncmVzcy1iYXItbWFpbjogdmFyKC0tY3BkLWNvbG9yLW9yYW5nZS05MDApO1xuICAgIC0tY3BkLXByb2dyZXNzLWJhci1tdXRlZDogdmFyKC0tY3BkLWNvbG9yLW9yYW5nZS04MDApO1xuICB9XG5cbiAgJltkYXRhLXRpbnQ9XCJyZWRcIl0ge1xuICAgIC0tY3BkLXByb2dyZXNzLWJhci1tYWluOiB2YXIoLS1jcGQtY29sb3ItdGV4dC1jcml0aWNhbC1wcmltYXJ5KTtcbiAgICAtLWNwZC1wcm9ncmVzcy1iYXItbXV0ZWQ6IHZhcigtLWNwZC1jb2xvci1yZWQtODAwKTtcbiAgfVxufVxuXG4uX3Byb2dyZXNzLWJhci1sYWJlbF8xdmVlal82MiB7XG4gIGZvbnQ6IHZhcigtLWNwZC1mb250LWJvZHktc20tbWVkaXVtKTtcbiAgbGV0dGVyLXNwYWNpbmc6IHZhcigtLWNwZC1mb250LWxldHRlci1zcGFjaW5nLWJvZHktc20pO1xuICBjb2xvcjogdmFyKC0tY3BkLXByb2dyZXNzLWJhci1tYWluKTtcbn1cblxuLl9wcm9ncmVzcy1iYXItaW5kaWNhdG9yXzF2ZWVqXzY4IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBpbnNldDogMDtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMnMgZWFzZS1pbi1vdXQ7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudChcbiAgICAxMzVkZWcsXG4gICAgdmFyKC0tY3BkLXByb2dyZXNzLWJhci1tdXRlZCkgMCUsXG4gICAgdmFyKC0tY3BkLXByb2dyZXNzLWJhci1tdXRlZCkgMjUlLFxuICAgIHZhcigtLWNwZC1wcm9ncmVzcy1iYXItbWFpbikgMjUlLFxuICAgIHZhcigtLWNwZC1wcm9ncmVzcy1iYXItbWFpbikgNTAlLFxuICAgIHZhcigtLWNwZC1wcm9ncmVzcy1iYXItbXV0ZWQpIDUwJSxcbiAgICB2YXIoLS1jcGQtcHJvZ3Jlc3MtYmFyLW11dGVkKSA3NSUsXG4gICAgdmFyKC0tY3BkLXByb2dyZXNzLWJhci1tYWluKSA3NSUsXG4gICAgdmFyKC0tY3BkLXByb2dyZXNzLWJhci1tYWluKSAxMDAlLFxuICAgIHZhcigtLWNwZC1wcm9ncmVzcy1iYXItbXV0ZWQpIDEwMCVcbiAgKTtcblxuICAvKiBzcXJ0KG51bWJlciBvZiBzdHJpcGVzICogMiAqIChzdHJpcGUgd2lkdGgpXjIpID0gc3FydCg0ICogMiAqIDJeMikgPSBzcXJ0KDMyKSAqL1xuICBiYWNrZ3JvdW5kLXNpemU6IDUuNjU2OXB4IDUuNjU2OXB4O1xufVxuLypcbkNvcHlyaWdodCAyMDIzIE5ldyBWZWN0b3IgTHRkXG5cbkxpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG55b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG5Zb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcblxuICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuXG5Vbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG5kaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG5XSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cblNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbmxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuKi9cblxuLl9zZWFyY2hfMWtpMmNfMTcge1xuICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jcGQtY29sb3ItYm9yZGVyLWludGVyYWN0aXZlLXNlY29uZGFyeSk7XG4gIGJvcmRlci1yYWRpdXM6IDk5OTlweDtcbiAgYmxvY2stc2l6ZTogMzZweDtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgY29sb3I6IHZhcigtLWNwZC1jb2xvci10ZXh0LXByaW1hcnkpO1xuICBkaXNwbGF5OiBmbGV4O1xuXG4gIC8qICFpbXBvcnRhbnQgdG8gb3ZlcnJpZGUgRmllbGQncyBkZWZhdWx0IGZsZXggc2V0dGluZ3MgKi9cbiAgZmxleC1kaXJlY3Rpb246IHJvdyAhaW1wb3J0YW50O1xuICBnYXA6IHZhcigtLWNwZC1zcGFjZS0yeCkgIWltcG9ydGFudDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgcGFkZGluZzogdmFyKC0tY3BkLXNwYWNlLTEtNXgpIHZhcigtLWNwZC1zcGFjZS0zeCk7XG59XG5cbkBtZWRpYSAoaG92ZXIpIHtcbiAgLl9zZWFyY2hfMWtpMmNfMTc6aG92ZXIge1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tY3BkLWNvbG9yLWJvcmRlci1pbnRlcmFjdGl2ZS1ob3ZlcmVkKTtcbiAgfVxufVxuXG4uX3NlYXJjaF8xa2kyY18xNzphY3RpdmUge1xuICBib3JkZXItY29sb3I6IHZhcigtLWNwZC1jb2xvci1ib3JkZXItaW50ZXJhY3RpdmUtaG92ZXJlZCk7XG59XG5cbi5fc2VhcmNoXzFraTJjXzE3OmZvY3VzLXdpdGhpbiB7XG4gIGJvcmRlci1jb2xvcjogY3VycmVudGNvbG9yO1xufVxuXG4uX2ljb25fMWtpMmNfNDYge1xuICBjb2xvcjogdmFyKC0tY3BkLWNvbG9yLWljb24tc2Vjb25kYXJ5KTtcbiAgZmxleC1zaHJpbms6IDA7XG59XG5cbkBtZWRpYSAoaG92ZXIpIHtcbiAgLl9zZWFyY2hfMWtpMmNfMTc6aG92ZXIgLl9pY29uXzFraTJjXzQ2IHtcbiAgICBjb2xvcjogdmFyKC0tY3BkLWNvbG9yLWljb24tcHJpbWFyeSk7XG4gIH1cbn1cblxuLl9zZWFyY2hfMWtpMmNfMTc6YWN0aXZlIC5faWNvbl8xa2kyY180NiB7XG4gIGNvbG9yOiB2YXIoLS1jcGQtY29sb3ItaWNvbi1wcmltYXJ5KTtcbn1cblxuLl9pbnB1dF8xa2kyY182MSB7XG4gIGJvcmRlcjogMDtcbiAgYmFja2dyb3VuZDogaW5oZXJpdDtcbiAgb3V0bGluZTogMDtcbiAgZmxleDogMTtcbiAgbWluLWlubGluZS1zaXplOiAwO1xufVxuXG4uX2lucHV0XzFraTJjXzYxOjpwbGFjZWhvbGRlciB7XG4gIGNvbG9yOiB2YXIoLS1jcGQtY29sb3ItdGV4dC1zZWNvbmRhcnkpO1xufVxuXG4uX2lucHV0XzFraTJjXzYxOmZvY3VzOjpwbGFjZWhvbGRlciB7XG4gIGNvbG9yOiB2YXIoLS1jcGQtY29sb3ItdGV4dC1zZWNvbmRhcnkpO1xufVxuXG5AbWVkaWEgKGhvdmVyKSB7XG4gIC5fc2VhcmNoXzFraTJjXzE3OmhvdmVyIC5faW5wdXRfMWtpMmNfNjE6OnBsYWNlaG9sZGVyIHtcbiAgICBjb2xvcjogdmFyKC0tY3BkLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTtcbiAgfVxufVxuLypcbkNvcHlyaWdodCAyMDIzIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXG5Db3B5cmlnaHQgMjAyMyBOZXcgVmVjdG9yIEx0ZFxuXG5MaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xueW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG5cbmh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuXG5Vbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG5kaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG5XSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cblNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbmxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuKi9cblxuLyogU3R5bGluZyB0aGUgUmFkaXggVUkgRm9ybSBjb21wb25lbnQgKi9cblxuLyoqXG4gKiBST09UOiBGb3JtIEVsZW1lbnRcbiAqL1xuXG4uX3Jvb3Rfc3N0aHNfMjQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBnYXA6IHZhcigtLWNwZC1zcGFjZS01eCk7XG59XG5cbi8qKlxuICogRklFTEQ6IFdyYXBwZXIgYXJvdW5kIGxhYmVsLCBjb250cm9sIGFuZCBtZXNzYWdlXG4gKi9cblxuLl9maWVsZF9zc3Roc18zNCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGdhcDogdmFyKC0tY3BkLXNwYWNlLTF4KTtcbn1cblxuLl9pbmxpbmUtZmllbGRfc3N0aHNfNDAge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBnYXA6IHZhcigtLWNwZC1zcGFjZS0yeCk7XG59XG5cbi5faW5saW5lLWZpZWxkLWJvZHlfc3N0aHNfNDYge1xuICBmbGV4OiAxO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xufVxuXG4uX2lubGluZS1maWVsZC1jb250cm9sX3NzdGhzXzUyIHtcbiAgLyogVGhlIGNvbnRyb2wgc2hvdWxkIGhhdmUgdGhlIHNhbWUgaGVpZ2h0IGFzIHRoZSBsYWJlbCAqL1xuICBibG9jay1zaXplOiBjYWxjKFxuICAgIHZhcigtLWNwZC1mb250LXNpemUtYm9keS1tZCkgKiB2YXIoLS1jcGQtZm9udC1saW5lLWhlaWdodC1yZWd1bGFyKVxuICApO1xuXG4gIC8qIEFsaWduIHRoZSBjb250cm9sIGluIHRoZSBtaWRkbGUgb2YgdGhlIGxhYmVsICovXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbi8qKlxuICogTEFCRUxcbiAqL1xuXG4uX2xhYmVsX3NzdGhzXzY3IHtcbiAgZm9udDogdmFyKC0tY3BkLWZvbnQtYm9keS1tZC1tZWRpdW0pO1xuICBsZXR0ZXItc3BhY2luZzogdmFyKC0tY3BkLWZvbnQtbGV0dGVyLXNwYWNpbmctYm9keS1tZCk7XG59XG5cbi5fbGFiZWxfc3N0aHNfNjdbZm9yXSB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLl9sYWJlbF9zc3Roc182N1tkYXRhLWludmFsaWRdIHtcbiAgY29sb3I6IHZhcigtLWNwZC1jb2xvci10ZXh0LWNyaXRpY2FsLXByaW1hcnkpO1xufVxuXG4vKiBDdXJyZW50bHkgd29ya2luZyBldmVyeXdoZXJlIGJ1dCBvbiBGaXJlZm94IChvbmx5IGJlaGluZCBhIGxhYnMgZmxhZylcbmh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvV2ViL0NTUy86aGFzI2Jyb3dzZXJfY29tcGF0aWJpbGl0eSAqL1xuLl9sYWJlbF9zc3Roc182NzpoYXMofiAqIGlucHV0W2Rpc2FibGVkXSksXG4uX2xhYmVsX3NzdGhzXzY3Omhhcyh+IGlucHV0W2Rpc2FibGVkXSksXG4uX2lubGluZS1maWVsZC1jb250cm9sX3NzdGhzXzUyOmhhcyhpbnB1dFtkaXNhYmxlZF0pIH4gLl9pbmxpbmUtZmllbGQtYm9keV9zc3Roc180NiAuX2xhYmVsX3NzdGhzXzY3IHtcbiAgY29sb3I6IHZhcigtLWNwZC1jb2xvci10ZXh0LWRpc2FibGVkKTtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbn1cblxuLyoqXG4gKiBIZWxwIGFuZCBlcnJvciBtZXNzYWdlc1xuICovXG5cbi5fbWVzc2FnZV9zc3Roc185MyB7XG4gIGZvbnQ6IHZhcigtLWNwZC1mb250LWJvZHktc20tcmVndWxhcik7XG4gIGxldHRlci1zcGFjaW5nOiB2YXIoLS1jcGQtZm9udC1sZXR0ZXItc3BhY2luZy1ib2R5LXNtKTtcbiAgbWFyZ2luLWJsb2NrLXN0YXJ0OiB2YXIoLS1jcGQtc3BhY2UtMXgpO1xufVxuXG4uX2hlbHAtbWVzc2FnZV9zc3Roc185OSB7XG4gIGNvbG9yOiB2YXIoLS1jcGQtY29sb3ItdGV4dC1zZWNvbmRhcnkpO1xufVxuXG4uX2Vycm9yLW1lc3NhZ2Vfc3N0aHNfMTAzIHtcbiAgY29sb3I6IHZhcigtLWNwZC1jb2xvci10ZXh0LWNyaXRpY2FsLXByaW1hcnkpO1xufVxuXG4uX3N1Y2Nlc3MtbWVzc2FnZV9zc3Roc18xMDcge1xuICBjb2xvcjogdmFyKC0tY3BkLWNvbG9yLXRleHQtc3VjY2Vzcy1wcmltYXJ5KTtcbn1cblxuLyogQ3VycmVudGx5IHdvcmtpbmcgZXZlcnl3aGVyZSBidXQgb24gRmlyZWZveCAob25seSBiZWhpbmQgYSBsYWJzIGZsYWcpXG5odHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9DU1MvOmhhcyNicm93c2VyX2NvbXBhdGliaWxpdHkgKi9cbmlucHV0W2Rpc2FibGVkXSB+IC5fbWVzc2FnZV9zc3Roc185Myxcbio6aGFzKGlucHV0W2Rpc2FibGVkXSkgfiAuX21lc3NhZ2Vfc3N0aHNfOTMsXG4uX2lubGluZS1maWVsZC1jb250cm9sX3NzdGhzXzUyOmhhcyhpbnB1dFtkaXNhYmxlZF0pIH4gLl9pbmxpbmUtZmllbGQtYm9keV9zc3Roc180NiAuX21lc3NhZ2Vfc3N0aHNfOTMge1xuICBjb2xvcjogdmFyKC0tY3BkLWNvbG9yLXRleHQtZGlzYWJsZWQpO1xufVxuXG4uX21lc3NhZ2Vfc3N0aHNfOTMgPiBzdmcge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBib3R0b207XG4gIG1hcmdpbi1pbmxpbmUtZW5kOiB2YXIoLS1jcGQtc3BhY2UtMngpO1xuXG4gIC8qIENhbGN1bGF0ZSB0aGUgc2l6ZSBvZiB0aGUgaWNvbiBiYXNlZCBvbiB0aGUgZm9udCBzaXplIGFuZCBsaW5lIGhlaWdodCAqL1xuICBibG9jay1zaXplOiBjYWxjKDFlbSAqIHZhcigtLWNwZC1mb250LWxpbmUtaGVpZ2h0LXJlZ3VsYXIpKTtcbiAgaW5saW5lLXNpemU6IGNhbGMoMWVtICogdmFyKC0tY3BkLWZvbnQtbGluZS1oZWlnaHQtcmVndWxhcikpO1xufVxuLypcbkNvcHlyaWdodCAyMDIzLTIwMjQgTmV3IFZlY3RvciBMdGRcblxuTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbnlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbllvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuXG4gICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG5cblVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbmRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbldJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxubGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4qL1xuXG4uX3NlcGFyYXRvcl8xNDRzNV8xNyB7XG4gIC0tY3BkLXNlcGFyYXRvci1jb2xvcjogdmFyKC0tY3BkLWNvbG9yLWdyYXktNDAwKTtcbiAgLS1jcGQtc2VwYXJhdG9yLXNpemU6IDFweDtcblxuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jcGQtc2VwYXJhdG9yLWNvbG9yKTtcbn1cblxuLl9zZXBhcmF0b3JfMTQ0czVfMTdbZGF0YS1raW5kPVwic2Vjb25kYXJ5XCJdIHtcbiAgLS1jcGQtc2VwYXJhdG9yLWNvbG9yOiB2YXIoLS1jcGQtY29sb3ItZ3JheS0zMDApO1xufVxuXG4uX3NlcGFyYXRvcl8xNDRzNV8xN1tkYXRhLWtpbmQ9XCJzZWN0aW9uXCJdIHtcbiAgLS1jcGQtc2VwYXJhdG9yLXNpemU6IDJweDtcbn1cblxuLl9zZXBhcmF0b3JfMTQ0czVfMTdbZGF0YS1vcmllbnRhdGlvbj1cImhvcml6b250YWxcIl0ge1xuICBtYXJnaW4tYmxvY2s6IHZhcigtLWNwZC1zZXBhcmF0b3Itc3BhY2luZyk7XG4gIG1hcmdpbi1pbmxpbmU6IHZhcigtLWNwZC1zZXBhcmF0b3ItaW5zZXQpO1xuICBibG9jay1zaXplOiB2YXIoLS1jcGQtc2VwYXJhdG9yLXNpemUpO1xufVxuXG4uX3NlcGFyYXRvcl8xNDRzNV8xN1tkYXRhLW9yaWVudGF0aW9uPVwidmVydGljYWxcIl0ge1xuICBtYXJnaW4taW5saW5lOiB2YXIoLS1jcGQtc2VwYXJhdG9yLXNwYWNpbmcpO1xuICBtYXJnaW4tYmxvY2s6IHZhcigtLWNwZC1zZXBhcmF0b3ItaW5zZXQpO1xuICBpbmxpbmUtc2l6ZTogdmFyKC0tY3BkLXNlcGFyYXRvci1zaXplKTtcbn1cbi8qXG5Db3B5cmlnaHQgMjAyMyBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxuQ29weXJpZ2h0IDIwMjMgTmV3IFZlY3RvciBMdGRcblxuTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbnlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbllvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuXG4gICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG5cblVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbmRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbldJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxubGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4qL1xuXG4uX2NvbnRhaW5lcl9xbnZydV8xOCB7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGlubGluZS1zaXplOiAyLjI1cmVtO1xuICBibG9jay1zaXplOiAxLjI1cmVtO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xufVxuXG4uX2NvbnRhaW5lcl9xbnZydV8xOCA+ICoge1xuICBncmlkLWFyZWE6IDEvMTtcbiAgaW5saW5lLXNpemU6IGluaGVyaXQ7XG4gIGJsb2NrLXNpemU6IGluaGVyaXQ7XG4gIGJveC1zaXppbmc6IGluaGVyaXQ7XG59XG5cbi5fY29udGFpbmVyX3FudnJ1XzE4ID4gLl9pbnB1dF9xbnZydV8zMiB7XG4gIG9wYWNpdHk6IDA7XG4gIG1hcmdpbjogMDtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4uX2NvbnRhaW5lcl9xbnZydV8xOCA+IC5faW5wdXRfcW52cnVfMzJbZGlzYWJsZWRdIHtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbn1cblxuLl91aV9xbnZydV80MiB7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1jcGQtcmFkaXVzLXBpbGwtZWZmZWN0KTtcbiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tY3BkLWNvbG9yLWJvcmRlci1pbnRlcmFjdGl2ZS1wcmltYXJ5KTtcbiAgYmFja2dyb3VuZDogdmFyKC0tY3BkLWNvbG9yLWJnLWNhbnZhcy1kZWZhdWx0KTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nOiAxcHg7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDAuMnM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogYmFja2dyb3VuZC1jb2xvciwgYm9yZGVyLWNvbG9yO1xufVxuXG4uX2lucHV0X3FudnJ1XzMyOmNoZWNrZWQgKyAuX3VpX3FudnJ1XzQyIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tY3BkLWNvbG9yLWJnLWFjY2VudC1yZXN0KTtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jcGQtY29sb3ItYmctYWNjZW50LXJlc3QpO1xufVxuXG4uX3VpX3FudnJ1XzQyOjphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBibG9jay1zaXplOiAxMDAlO1xuICBhc3BlY3QtcmF0aW86IDEgLyAxO1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNwZC1jb2xvci1pY29uLXNlY29uZGFyeSk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4ycztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0O1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiBiYWNrZ3JvdW5kLWNvbG9yLCB0cmFuc2Zvcm07XG59XG5cbi8qIE5vdGUgdGhlIHVzZSBvZiA6Zm9jdXMtdmlzaWJsZSByYXRoZXIgdGhhbiA6Zm9jdXMgdG8gYXZvaWQgc2hvd2luZyB0aGUgZm9jdXNcbnJpbmcgYWZ0ZXIgYSBzaW1wbGUgY2xpY2sgKi9cbi5faW5wdXRfcW52cnVfMzI6Zm9jdXMtdmlzaWJsZSArIC5fdWlfcW52cnVfNDIge1xuICBvdXRsaW5lOiAycHggc29saWQgdmFyKC0tY3BkLWNvbG9yLWJvcmRlci1mb2N1c2VkKTtcbiAgb3V0bGluZS1vZmZzZXQ6IDFweDtcbn1cblxuOmNoZWNrZWQgKyAuX3VpX3FudnJ1XzQyOjphZnRlciB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTtcbiAgYmFja2dyb3VuZDogdmFyKC0tY3BkLWNvbG9yLWljb24tb24tc29saWQtcHJpbWFyeSk7XG59XG5cbkBtZWRpYSAoaG92ZXIpIHtcbiAgOmNoZWNrZWQ6bm90KFtkaXNhYmxlZF0pOmhvdmVyICsgLl91aV9xbnZydV80MiB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY3BkLWNvbG9yLWJnLWFjY2VudC1ob3ZlcmVkKTtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLWNwZC1jb2xvci1iZy1hY2NlbnQtaG92ZXJlZCk7XG4gIH1cbn1cblxuOmNoZWNrZWQ6YWN0aXZlICsgLl91aV9xbnZydV80MiB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNwZC1jb2xvci1iZy1hY2NlbnQtaG92ZXJlZCk7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0tY3BkLWNvbG9yLWJnLWFjY2VudC1ob3ZlcmVkKTtcbn1cblxuLl9pbnB1dF9xbnZydV8zMltyZWFkb25seV0ge1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cblxuLl9pbnB1dF9xbnZydV8zMltyZWFkb25seV0gKyAuX3VpX3FudnJ1XzQyIHtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jcGQtY29sb3ItYm9yZGVyLWludGVyYWN0aXZlLXNlY29uZGFyeSk7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNwZC1jb2xvci1iZy1zdWJ0bGUtc2Vjb25kYXJ5KTtcbn1cblxuLl9pbnB1dF9xbnZydV8zMltyZWFkb25seV0gKyAuX3VpX3FudnJ1XzQyOjphZnRlciB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNwZC1jb2xvci1pY29uLXNlY29uZGFyeSk7XG59XG5cbi5faW5wdXRfcW52cnVfMzJbZGlzYWJsZWRdICsgLl91aV9xbnZydV80MiB7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0tY3BkLWNvbG9yLWJvcmRlci1kaXNhYmxlZCk7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNwZC1jb2xvci1iZy1jYW52YXMtZGlzYWJsZWQpO1xufVxuXG4uX2lucHV0X3FudnJ1XzMyW2Rpc2FibGVkXSArIC5fdWlfcW52cnVfNDI6OmFmdGVyIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tY3BkLWNvbG9yLWJnLWFjdGlvbi1wcmltYXJ5LWRpc2FibGVkKTtcbn1cblxuLl9pbnB1dF9xbnZydV8zMltyZWFkb25seV06Y2hlY2tlZCArIC5fdWlfcW52cnVfNDIge1xuICBib3JkZXItY29sb3I6IHZhcigtLWNwZC1jb2xvci1pY29uLXNlY29uZGFyeSk7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNwZC1jb2xvci1pY29uLXNlY29uZGFyeSk7XG59XG5cbi5faW5wdXRfcW52cnVfMzJbcmVhZG9ubHldOmNoZWNrZWQgKyAuX3VpX3FudnJ1XzQyOjphZnRlciB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNwZC1jb2xvci1pY29uLW9uLXNvbGlkLXByaW1hcnkpO1xufVxuXG4uX2lucHV0X3FudnJ1XzMyW2Rpc2FibGVkXTpjaGVja2VkICsgLl91aV9xbnZydV80MiB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNwZC1jb2xvci1iZy1hY3Rpb24tcHJpbWFyeS1kaXNhYmxlZCk7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0tY3BkLWNvbG9yLWJnLWFjdGlvbi1wcmltYXJ5LWRpc2FibGVkKTtcbn1cblxuLl9pbnB1dF9xbnZydV8zMltkaXNhYmxlZF06Y2hlY2tlZCArIC5fdWlfcW52cnVfNDI6OmFmdGVyIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tY3BkLWNvbG9yLWljb24tb24tc29saWQtcHJpbWFyeSk7XG59XG5cbkBtZWRpYSAoaG92ZXIpIHtcbiAgLl9pbnB1dF9xbnZydV8zMjpub3QoOmNoZWNrZWQsIFtkaXNhYmxlZF0sIFtyZWFkb25seV0pOmhvdmVyICsgLl91aV9xbnZydV80MiB7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jcGQtY29sb3ItYm9yZGVyLWludGVyYWN0aXZlLWhvdmVyZWQpO1xuXG4gICAgLyoqIFRPRE86IGhhdmUgdGhlIHNoYWRvdyBpbiB0aGUgZGVzaWduIHRva2VucyAqL1xuICAgIGJveC1zaGFkb3c6IDAgMS4ycHggMi40cHggMCByZ2IoMCAwIDAgLyAxNSUpO1xuICB9XG59XG5cbi5faW5wdXRfcW52cnVfMzI6bm90KDpjaGVja2VkLCBbZGlzYWJsZWRdLCBbcmVhZG9ubHldKTphY3RpdmUgKyAuX3VpX3FudnJ1XzQyIHtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jcGQtY29sb3ItYm9yZGVyLWludGVyYWN0aXZlLWhvdmVyZWQpO1xufVxuLypcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkXG5cbkxpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG55b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG5Zb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcblxuICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuXG5Vbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG5kaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG5XSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cblNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbmxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuKi9cblxuLl90b2FzdC1jb250YWluZXJfcG55ZThfMTcge1xuICBpbmxpbmUtc2l6ZTogZml0LWNvbnRlbnQ7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNwZC1jb2xvci1hbHBoYS1ncmF5LTEzMDApO1xuICBjb2xvcjogdmFyKC0tY3BkLWNvbG9yLXRleHQtb24tc29saWQtcHJpbWFyeSk7XG4gIGJvcmRlci1yYWRpdXM6IDk5cHg7XG4gIGZvbnQtc2l6ZTogdmFyKC0tY3BkLWZvbnQtYm9keS1zbS1tZWRpdW0pO1xuICBwYWRkaW5nOiB2YXIoLS1jcGQtc3BhY2UtMngpIHZhcigtLWNwZC1zcGFjZS00eCk7XG59XG4vKlxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGRcblxuTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbnlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbllvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuXG4gICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG5cblVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbmRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbldJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxubGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4qL1xuXG5Aa2V5ZnJhbWVzIF9zcGluXzF5ZTdiXzEge1xuICBmcm9tIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZVooMGRlZyk7XG4gIH1cblxuICB0byB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGVaKDM2MGRlZyk7XG4gIH1cbn1cblxuLl9pY29uXzF5ZTdiXzI3IHtcbiAgY29sb3I6IHZhcigtLWNwZC1jb2xvci1pY29uLXNlY29uZGFyeSk7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgaW5saW5lLXNpemU6IDEwMCU7XG4gIGJsb2NrLXNpemU6IDEwMCU7XG4gIGFuaW1hdGlvbjogMXMgbGluZWFyIF9zcGluXzF5ZTdiXzEgaW5maW5pdGU7XG59XG4vKlxuQ29weXJpZ2h0IDIwMjMtMjAyNCBOZXcgVmVjdG9yIEx0ZFxuXG5MaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xueW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG5cbiAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcblxuVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG5TZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG5saW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiovXG5cbi5fYnV0dG9uX2k5MXhmXzE3IHtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tY3BkLXJhZGl1cy1waWxsLWVmZmVjdCk7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgYXBwZWFyYW5jZTogbm9uZTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGdhcDogdmFyKC0tY3BkLXNwYWNlLTJ4KTtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgZm9udDogdmFyKC0tY3BkLWZvbnQtYm9keS1tZC1zZW1pYm9sZCk7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDAuMXM7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IGNvbG9yLCBiYWNrZ3JvdW5kLWNvbG9yLCBib3JkZXItY29sb3I7XG59XG5cbmEuX2J1dHRvbl9pOTF4Zl8xNyB7XG4gIC8qIE1ha2UgdGhlIHdpZHRoIG1hdGNoIHRoYXQgb2YgYSByZWFsIGJ1dHRvbiAqL1xuICBpbmxpbmUtc2l6ZTogbWF4LWNvbnRlbnQ7XG59XG5cbi5fYnV0dG9uX2k5MXhmXzE3ID4gc3ZnIHtcbiAgdHJhbnNpdGlvbjogY29sb3IgMC4xcztcbn1cblxuLl9idXR0b25faTkxeGZfMTdbYXJpYS1kaXNhYmxlZD1cInRydWVcIl0ge1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICBwb2ludGVyLWV2ZW50czogYWxsICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiB2YXIoLS1jcGQtY29sb3ItdGV4dC1kaXNhYmxlZCkgIWltcG9ydGFudDtcbn1cblxuLl9idXR0b25faTkxeGZfMTdbYXJpYS1kaXNhYmxlZD1cInRydWVcIl0gPiBzdmcge1xuICBjb2xvcjogdmFyKC0tY3BkLWNvbG9yLWljb24tZGlzYWJsZWQpICFpbXBvcnRhbnQ7XG59XG5cbi8qKlxuICogU0laRVNcbiAqL1xuXG4uX2J1dHRvbl9pOTF4Zl8xN1tkYXRhLXNpemU9XCJsZ1wiXSB7XG4gIHBhZGRpbmctYmxvY2s6IHZhcigtLWNwZC1zcGFjZS0yeCk7XG4gIHBhZGRpbmctaW5saW5lOiB2YXIoLS1jcGQtc3BhY2UtOHgpO1xuICBtaW4tYmxvY2stc2l6ZTogdmFyKC0tY3BkLXNwYWNlLTEyeCk7XG5cbiAgJi5faWNvbi1vbmx5X2k5MXhmXzU5IHtcbiAgICBwYWRkaW5nLWlubGluZTogdmFyKC0tY3BkLXNwYWNlLTJ4KTtcbiAgICBibG9jay1zaXplOiB2YXIoLS1jcGQtc3BhY2UtMTJ4KTtcbiAgICBpbmxpbmUtc2l6ZTogdmFyKC0tY3BkLXNwYWNlLTEyeCk7XG4gIH1cbn1cblxuLl9idXR0b25faTkxeGZfMTdbZGF0YS1zaXplPVwibGdcIl0uX2hhcy1pY29uX2k5MXhmXzY2Om5vdCguX2ljb24tb25seV9pOTF4Zl81OSkge1xuICBwYWRkaW5nLWlubGluZS1zdGFydDogdmFyKC0tY3BkLXNwYWNlLTd4KTtcbn1cblxuLl9idXR0b25faTkxeGZfMTdbZGF0YS1zaXplPVwic21cIl0ge1xuICBwYWRkaW5nLWJsb2NrOiB2YXIoLS1jcGQtc3BhY2UtMXgpO1xuICBwYWRkaW5nLWlubGluZTogdmFyKC0tY3BkLXNwYWNlLTV4KTtcbiAgbWluLWJsb2NrLXNpemU6IHZhcigtLWNwZC1zcGFjZS05eCk7XG5cbiAgJi5faWNvbi1vbmx5X2k5MXhmXzU5IHtcbiAgICBwYWRkaW5nLWlubGluZTogdmFyKC0tY3BkLXNwYWNlLTF4KTtcbiAgICBibG9jay1zaXplOiB2YXIoLS1jcGQtc3BhY2UtOXgpO1xuICAgIGlubGluZS1zaXplOiB2YXIoLS1jcGQtc3BhY2UtOXgpO1xuICB9XG59XG5cbi5fYnV0dG9uX2k5MXhmXzE3W2RhdGEtc2l6ZT1cInNtXCJdLl9oYXMtaWNvbl9pOTF4Zl82Njpub3QoLl9pY29uLW9ubHlfaTkxeGZfNTkpIHtcbiAgcGFkZGluZy1pbmxpbmUtc3RhcnQ6IHZhcigtLWNwZC1zcGFjZS00eCk7XG59XG5cbi8qKlxuICogS0lORFNcbiAqL1xuXG4uX2J1dHRvbl9pOTF4Zl8xN1tkYXRhLWtpbmQ9XCJwcmltYXJ5XCJdIHtcbiAgY29sb3I6IHZhcigtLWNwZC1jb2xvci10ZXh0LW9uLXNvbGlkLXByaW1hcnkpO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jcGQtY29sb3ItYmctYWN0aW9uLXByaW1hcnktcmVzdCk7XG4gIGJvcmRlci13aWR0aDogMDtcbn1cblxuLl9idXR0b25faTkxeGZfMTdbZGF0YS1raW5kPVwicHJpbWFyeVwiXSA+IHN2ZyB7XG4gIGNvbG9yOiB2YXIoLS1jcGQtY29sb3ItaWNvbi1vbi1zb2xpZC1wcmltYXJ5KTtcbn1cblxuQG1lZGlhIChob3Zlcikge1xuICAuX2J1dHRvbl9pOTF4Zl8xN1tkYXRhLWtpbmQ9XCJwcmltYXJ5XCJdOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jcGQtY29sb3ItYmctYWN0aW9uLXByaW1hcnktaG92ZXJlZCk7XG4gIH1cbn1cblxuLl9idXR0b25faTkxeGZfMTdbZGF0YS1raW5kPVwicHJpbWFyeVwiXTphY3RpdmUsXG4uX2J1dHRvbl9pOTF4Zl8xN1tkYXRhLWtpbmQ9XCJwcmltYXJ5XCJdW2FyaWEtZXhwYW5kZWQ9XCJ0cnVlXCJdIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tY3BkLWNvbG9yLWJnLWFjdGlvbi1wcmltYXJ5LXByZXNzZWQpO1xufVxuXG4uX2J1dHRvbl9pOTF4Zl8xN1tkYXRhLWtpbmQ9XCJwcmltYXJ5XCJdW2FyaWEtZGlzYWJsZWQ9XCJ0cnVlXCJdIHtcbiAgLyogIWltcG9ydGFudCB0byBvdmVycmlkZSBkZXN0cnVjdGl2ZSBiYWNrZ3JvdW5kICovXG4gIGJhY2tncm91bmQ6IHZhcigtLWNwZC1jb2xvci1iZy1zdWJ0bGUtcHJpbWFyeSkgIWltcG9ydGFudDtcbn1cblxuLl9idXR0b25faTkxeGZfMTdbZGF0YS1raW5kPVwicHJpbWFyeVwiXS5fZGVzdHJ1Y3RpdmVfaTkxeGZfMTE2IHtcbiAgYmFja2dyb3VuZDogdmFyKC0tY3BkLWNvbG9yLWJnLWNyaXRpY2FsLXByaW1hcnkpO1xufVxuXG5AbWVkaWEgKGhvdmVyKSB7XG4gIC5fYnV0dG9uX2k5MXhmXzE3W2RhdGEta2luZD1cInByaW1hcnlcIl0uX2Rlc3RydWN0aXZlX2k5MXhmXzExNjpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY3BkLWNvbG9yLWJnLWNyaXRpY2FsLWhvdmVyZWQpO1xuICB9XG59XG5cbi5fYnV0dG9uX2k5MXhmXzE3W2RhdGEta2luZD1cInByaW1hcnlcIl0uX2Rlc3RydWN0aXZlX2k5MXhmXzExNjphY3RpdmUsXG4uX2J1dHRvbl9pOTF4Zl8xN1tkYXRhLWtpbmQ9XCJwcmltYXJ5XCJdLl9kZXN0cnVjdGl2ZV9pOTF4Zl8xMTZbYXJpYS1leHBhbmRlZD1cInRydWVcIl0ge1xuICAvKiBUT0RPOiBXZSdyZSB3YWl0aW5nIGZvciB0aGlzIHZhbHVlIHRvIGJlIGZvcm1hbGl6ZWQgYXMgYSBzZW1hbnRpYyB0b2tlbiAqL1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jcGQtY29sb3ItcmVkLTExMDApO1xufVxuXG4uX2J1dHRvbl9pOTF4Zl8xN1tkYXRhLWtpbmQ9XCJzZWNvbmRhcnlcIl0ge1xuICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jcGQtY29sb3ItYm9yZGVyLWludGVyYWN0aXZlLXNlY29uZGFyeSk7XG4gIGNvbG9yOiB2YXIoLS1jcGQtY29sb3ItdGV4dC1wcmltYXJ5KTtcbiAgYmFja2dyb3VuZDogdmFyKC0tY3BkLWNvbG9yLWJnLWNhbnZhcy1kZWZhdWx0KTtcbn1cblxuLl9idXR0b25faTkxeGZfMTdbZGF0YS1raW5kPVwic2Vjb25kYXJ5XCJdID4gc3ZnIHtcbiAgY29sb3I6IHZhcigtLWNwZC1jb2xvci1pY29uLXByaW1hcnkpO1xufVxuXG5AbWVkaWEgKGhvdmVyKSB7XG4gIC5fYnV0dG9uX2k5MXhmXzE3W2RhdGEta2luZD1cInNlY29uZGFyeVwiXTpob3ZlciB7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jcGQtY29sb3ItYm9yZGVyLWludGVyYWN0aXZlLWhvdmVyZWQpO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNwZC1jb2xvci1iZy1zdWJ0bGUtc2Vjb25kYXJ5KTtcbiAgfVxufVxuXG4uX2J1dHRvbl9pOTF4Zl8xN1tkYXRhLWtpbmQ9XCJzZWNvbmRhcnlcIl06YWN0aXZlLFxuLl9idXR0b25faTkxeGZfMTdbZGF0YS1raW5kPVwic2Vjb25kYXJ5XCJdW2FyaWEtZXhwYW5kZWQ9XCJ0cnVlXCJdIHtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jcGQtY29sb3ItYm9yZGVyLWludGVyYWN0aXZlLWhvdmVyZWQpO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jcGQtY29sb3ItYmctc3VidGxlLXByaW1hcnkpO1xufVxuXG4uX2J1dHRvbl9pOTF4Zl8xN1tkYXRhLWtpbmQ9XCJzZWNvbmRhcnlcIl1bYXJpYS1kaXNhYmxlZD1cInRydWVcIl0ge1xuICAvKiAhaW1wb3J0YW50IHRvIG92ZXJyaWRlIGRlc3RydWN0aXZlIHZhbHVlcyAqL1xuICBib3JkZXItY29sb3I6IHZhcigtLWNwZC1jb2xvci1ib3JkZXItaW50ZXJhY3RpdmUtc2Vjb25kYXJ5KSAhaW1wb3J0YW50O1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jcGQtY29sb3ItYmctc3VidGxlLXNlY29uZGFyeSkgIWltcG9ydGFudDtcbn1cblxuLl9idXR0b25faTkxeGZfMTdbZGF0YS1raW5kPVwic2Vjb25kYXJ5XCJdLl9kZXN0cnVjdGl2ZV9pOTF4Zl8xMTYge1xuICBib3JkZXItY29sb3I6IHZhcigtLWNwZC1jb2xvci1ib3JkZXItY3JpdGljYWwtc3VidGxlKTtcbiAgY29sb3I6IHZhcigtLWNwZC1jb2xvci10ZXh0LWNyaXRpY2FsLXByaW1hcnkpO1xufVxuXG4uX2J1dHRvbl9pOTF4Zl8xN1tkYXRhLWtpbmQ9XCJzZWNvbmRhcnlcIl0uX2Rlc3RydWN0aXZlX2k5MXhmXzExNiA+IHN2ZyB7XG4gIGNvbG9yOiB2YXIoLS1jcGQtY29sb3ItaWNvbi1jcml0aWNhbC1wcmltYXJ5KTtcbn1cblxuQG1lZGlhIChob3Zlcikge1xuICAuX2J1dHRvbl9pOTF4Zl8xN1tkYXRhLWtpbmQ9XCJzZWNvbmRhcnlcIl0uX2Rlc3RydWN0aXZlX2k5MXhmXzExNjpob3ZlciB7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jcGQtY29sb3ItYm9yZGVyLWNyaXRpY2FsLWhvdmVyZWQpO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNwZC1jb2xvci1iZy1jcml0aWNhbC1zdWJ0bGUpO1xuICB9XG59XG5cbi5fYnV0dG9uX2k5MXhmXzE3W2RhdGEta2luZD1cInNlY29uZGFyeVwiXS5fZGVzdHJ1Y3RpdmVfaTkxeGZfMTE2OmFjdGl2ZSxcbi5fYnV0dG9uX2k5MXhmXzE3W2RhdGEta2luZD1cInNlY29uZGFyeVwiXS5fZGVzdHJ1Y3RpdmVfaTkxeGZfMTE2W2FyaWEtZXhwYW5kZWQ9XCJ0cnVlXCJdIHtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jcGQtY29sb3ItYm9yZGVyLWNyaXRpY2FsLWhvdmVyZWQpO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jcGQtY29sb3ItYmctY3JpdGljYWwtc3VidGxlLWhvdmVyZWQpO1xufVxuXG4uX2J1dHRvbl9pOTF4Zl8xN1tkYXRhLWtpbmQ9XCJ0ZXJ0aWFyeVwiXSB7XG4gIGJvcmRlcjogbm9uZTtcbiAgY29sb3I6IHZhcigtLWNwZC1jb2xvci10ZXh0LXByaW1hcnkpO1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG59XG5cbkBtZWRpYSAoaG92ZXIpIHtcbiAgLl9idXR0b25faTkxeGZfMTdbZGF0YS1raW5kPVwidGVydGlhcnlcIl06aG92ZXIge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNwZC1jb2xvci1iZy1zdWJ0bGUtc2Vjb25kYXJ5KTtcbiAgfVxufVxuXG4uX2J1dHRvbl9pOTF4Zl8xN1tkYXRhLWtpbmQ9XCJ0ZXJ0aWFyeVwiXTphY3RpdmUsXG4uX2J1dHRvbl9pOTF4Zl8xN1tkYXRhLWtpbmQ9XCJ0ZXJ0aWFyeVwiXVthcmlhLWV4cGFuZGVkPVwidHJ1ZVwiXSB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNwZC1jb2xvci1iZy1zdWJ0bGUtcHJpbWFyeSk7XG59XG5cbi5fYnV0dG9uX2k5MXhmXzE3W2RhdGEta2luZD1cInRlcnRpYXJ5XCJdW2FyaWEtZGlzYWJsZWQ9XCJ0cnVlXCJdIHtcbiAgY29sb3I6IHZhcigtLWNwZC1jb2xvci10ZXh0LWRpc2FibGVkKTtcblxuICAvKiAhaW1wb3J0YW50IHRvIG92ZXJyaWRlIGRlc3RydWN0aXZlIGJhY2tncm91bmQgKi9cbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbn1cblxuLl9idXR0b25faTkxeGZfMTdbZGF0YS1raW5kPVwidGVydGlhcnlcIl0uX2Rlc3RydWN0aXZlX2k5MXhmXzExNiB7XG4gIGNvbG9yOiB2YXIoLS1jcGQtY29sb3ItdGV4dC1jcml0aWNhbC1wcmltYXJ5KTtcbn1cblxuQG1lZGlhIChob3Zlcikge1xuICAuX2J1dHRvbl9pOTF4Zl8xN1tkYXRhLWtpbmQ9XCJ0ZXJ0aWFyeVwiXS5fZGVzdHJ1Y3RpdmVfaTkxeGZfMTE2OmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jcGQtY29sb3ItYmctY3JpdGljYWwtc3VidGxlKTtcbiAgfVxufVxuXG4uX2J1dHRvbl9pOTF4Zl8xN1tkYXRhLWtpbmQ9XCJ0ZXJ0aWFyeVwiXS5fZGVzdHJ1Y3RpdmVfaTkxeGZfMTE2OmFjdGl2ZSxcbi5fYnV0dG9uX2k5MXhmXzE3W2RhdGEta2luZD1cInRlcnRpYXJ5XCJdLl9kZXN0cnVjdGl2ZV9pOTF4Zl8xMTZbYXJpYS1leHBhbmRlZD1cInRydWVcIl0ge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jcGQtY29sb3ItYmctY3JpdGljYWwtc3VidGxlLWhvdmVyZWQpO1xufVxuLypcbkNvcHlyaWdodCAyMDIzIE5ldyBWZWN0b3IgTHRkXG5cbkxpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG55b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG5Zb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcblxuICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuXG5Vbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG5kaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG5XSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cblNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbmxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuKi9cblxuLl9jb250YWluZXJfMXFvdjRfMTcge1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uX2NvbnRyb2xfMXFvdjRfMjIge1xuICBmbGV4OiAxO1xuICBwYWRkaW5nLWlubGluZS1lbmQ6IHZhcigtLWNwZC1zcGFjZS0xMngpICFpbXBvcnRhbnQ7XG5cbiAgLyogRnJvbSB0aGUgZmxleGJveCBzcGVjOlxuICAgKiAgIFwiQnkgZGVmYXVsdCwgZmxleCBpdGVtcyB3b27igJl0IHNocmluayBiZWxvdyB0aGVpciBtaW5pbXVtIGNvbnRlbnQgc2l6ZVwiXG4gICAqIFRoaXMgYWxsb3dzIHRoZSBlbGVtZW50IHRvIHNocmluayBsb3dlciB0aGFuIGl0cyBuYXR1cmFsIGRlZmF1bHQgc2l6ZS5cbiAgICovXG4gIG1pbi1pbmxpbmUtc2l6ZTogMDtcbn1cblxuLl9hY3Rpb25fMXFvdjRfMzMge1xuICBhbGw6IHVuc2V0O1xuICBjb2xvcjogdmFyKC0tY3BkLWNvbG9yLWljb24tc2Vjb25kYXJ5KTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBpbnNldC1ibG9jazogdmFyKC0tY3BkLXNwYWNlLTJ4KTtcbiAgaW5zZXQtaW5saW5lLWVuZDogdmFyKC0tY3BkLXNwYWNlLTJ4KTtcbiAgcGFkZGluZzogdmFyKC0tY3BkLXNwYWNlLTF4KTtcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbn1cblxuLl9hY3Rpb25fMXFvdjRfMzMgPiBzdmcge1xuICBpbmxpbmUtc2l6ZTogdmFyKC0tY3BkLXNwYWNlLTZ4KTtcbiAgYmxvY2stc2l6ZTogdmFyKC0tY3BkLXNwYWNlLTZ4KTtcbn1cblxuQG1lZGlhIChob3Zlcikge1xuICAuX2FjdGlvbl8xcW92NF8zMzpob3ZlciB7XG4gICAgY29sb3I6IHZhcigtLWNwZC1jb2xvci1pY29uLXByaW1hcnkpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNwZC1jb2xvci1iZy1zdWJ0bGUtc2Vjb25kYXJ5KTtcbiAgfVxufVxuXG4uX2FjdGlvbl8xcW92NF8zMzpmb2N1cy12aXNpYmxlIHtcbiAgb3V0bGluZTogMnB4IHNvbGlkIHZhcigtLWNwZC1jb2xvci1ib3JkZXItZm9jdXNlZCk7XG4gIG91dGxpbmUtb2Zmc2V0OiAxcHg7XG59XG5cbi5fY29udHJvbF8xcW92NF8yMltkaXNhYmxlZF0gKyAuX2FjdGlvbl8xcW92NF8zMyB7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICBjb2xvcjogdmFyKC0tY3BkLWNvbG9yLXRleHQtZGlzYWJsZWQpO1xufVxuXG4uX2NvbnRyb2xfMXFvdjRfMjJbcmVhZG9ubHldICsgLl9hY3Rpb25fMXFvdjRfMzMge1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgY29sb3I6IHZhcigtLWNwZC1jb2xvci10ZXh0LXNlY29uZGFyeSk7XG59XG4vKlxuQ29weXJpZ2h0IDIwMjMgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cbkNvcHlyaWdodCAyMDIzIE5ldyBWZWN0b3IgTHRkXG5cbkxpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG55b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG5Zb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcblxuaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG5cblVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbmRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbldJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxubGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4qL1xuXG4uX2NvbnRyb2xfOWdvbjhfMTgge1xuICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jcGQtY29sb3ItYm9yZGVyLWludGVyYWN0aXZlLXByaW1hcnkpO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jcGQtY29sb3ItYmctY2FudmFzLWRlZmF1bHQpO1xuICBib3JkZXItcmFkaXVzOiAwLjVyZW07XG4gIHBhZGRpbmc6IHZhcigtLWNwZC1zcGFjZS0zeCkgdmFyKC0tY3BkLXNwYWNlLTR4KTtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcblxuICAvKipcbiAgKiBEaXNhYmxlIGNvbnRleHR1YWwgYWx0ZXJuYXRlIGxpZ2F0dXJlcyBpbiBpbnB1dHNcbiAgKiBodHRwczovL2dpdGh1Yi5jb20vcnNtcy9pbnRlci9pc3N1ZXMvMjIyXG4gICogaHR0cHM6Ly9naXRodWIuY29tL3JzbXMvaW50ZXIvYmxvYi9tYXN0ZXIvc3JjL2ZlYXR1cmVzL2NhbHQuZmVhXG4gICovXG4gIGZvbnQtZmVhdHVyZS1zZXR0aW5nczogXCJjYWx0XCIgMDtcbn1cblxuQG1lZGlhIChob3Zlcikge1xuICAuX2NvbnRyb2xfOWdvbjhfMTg6aG92ZXIge1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tY3BkLWNvbG9yLWJvcmRlci1pbnRlcmFjdGl2ZS1ob3ZlcmVkKTtcblxuICAgIC8qKiBUT0RPOiBoYXZlIHRoZSBzaGFkb3cgaW4gdGhlIGRlc2lnbiB0b2tlbnMgKi9cbiAgICBib3gtc2hhZG93OiAwIDEuMnB4IDIuNHB4IDAgcmdiKDAgMCAwIC8gMTUlKTtcbiAgfVxufVxuXG4uX2NvbnRyb2xfOWdvbjhfMTg6YWN0aXZlIHtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jcGQtY29sb3ItYm9yZGVyLWludGVyYWN0aXZlLWhvdmVyZWQpO1xufVxuXG4uX2NvbnRyb2xfOWdvbjhfMTg6Zm9jdXMge1xuICBvdXRsaW5lOiAycHggc29saWQgdmFyKC0tY3BkLWNvbG9yLWJvcmRlci1mb2N1c2VkKTtcbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cblxuLl9jb250cm9sXzlnb244XzE4W2RhdGEtaW52YWxpZF0ge1xuICBib3JkZXItY29sb3I6IHZhcigtLWNwZC1jb2xvci10ZXh0LWNyaXRpY2FsLXByaW1hcnkpO1xufVxuXG4uX2NvbnRyb2xfOWdvbjhfMTg6ZGlzYWJsZWQge1xuICBib3gtc2hhZG93OiBub25lO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jcGQtY29sb3ItYmctY2FudmFzLWRpc2FibGVkKTtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jcGQtY29sb3ItYm9yZGVyLWRpc2FibGVkKTtcbiAgY29sb3I6IHZhcigtLWNwZC1jb2xvci10ZXh0LWRpc2FibGVkKTtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbn1cblxuLl9jb250cm9sXzlnb244XzE4W3JlYWRvbmx5XSB7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNwZC1jb2xvci1iZy1zdWJ0bGUtc2Vjb25kYXJ5KTtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jcGQtY29sb3ItYmctc3VidGxlLXNlY29uZGFyeSk7XG4gIGNvbG9yOiB2YXIoLS1jcGQtY29sb3ItdGV4dC1zZWNvbmRhcnkpO1xufVxuXG4uX2NvbnRyb2xfOWdvbjhfMTguX2VuYWJsZS1saWdhdHVyZXNfOWdvbjhfNzAge1xuICBmb250LWZlYXR1cmUtc2V0dGluZ3M6IHZhcigtLWNwZC1mb250LWZlYXR1cmUtc2V0dGluZ3MpO1xufVxuLypcbkNvcHlyaWdodCAyMDIzIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXG5Db3B5cmlnaHQgMjAyMyBOZXcgVmVjdG9yIEx0ZFxuXG5MaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xueW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG5cbiAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcblxuVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG5TZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG5saW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiovXG5cbi5fY29udGFpbmVyXzl6eXRpXzE4IHtcbiAgLS1nYXA6IHZhcigtLWNwZC1zcGFjZS0zeCk7XG4gIC0tZGlnaXQtc2l6ZTogdmFyKC0tY3BkLXNwYWNlLTEweCk7XG4gIC0tZGlnaXQtaGVpZ2h0OiB2YXIoLS1jcGQtc3BhY2UtMTJ4KTtcblxuICBkaXNwbGF5OiBmbGV4O1xuICBpbmxpbmUtc2l6ZTogZml0LWNvbnRlbnQ7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGdhcDogdmFyKC0tZ2FwKTtcblxuICAvKiBUaGUgaW5wdXQgaXMgcG9zaXRpb25lZCBhYnNvbHV0ZWx5XG4gICAgIHNvIHRoZSBjb250YWluZXIgbmVlZHMgdG8gYmUgcG9zaXRpb25lZCByZWxhdGl2ZWx5ICovXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLl9jb250cm9sXzl6eXRpXzMzIHtcbiAgYWxsOiB1bnNldDtcblxuICAvKiogVE9ETzogc2VtYW50aWMgdG9rZW4gKi9cbiAgZm9udC1mYW1pbHk6IHZhcigtLWNwZC1mb250LWZhbWlseS1tb25vKSwgdWktbW9ub3NwYWNlLCBtb25vc3BhY2U7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG5cbiAgLyogUG9zaXRpb24gdGhlIGlucHV0IHRvIGZpbGwgdGhlIGNvbnRhaW5lciAqL1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGluc2V0OiAwO1xuXG4gIC8qIFNwYWNpbmcgYmV0d2VlbiBkaWdpdHMgaXMgc2V0IHRvIHRoZSBnYXBcbiAgICAgcGx1cyB0aGUgc2l6ZSBvZiBvbmUgZGlnaXQgYm94XG4gICAgIG1pbnVzIHRoZSBzaXplIG9mIG9uZSBjaGFyYWN0ZXIgKi9cbiAgbGV0dGVyLXNwYWNpbmc6IGNhbGModmFyKC0tZ2FwKSArIHZhcigtLWRpZ2l0LXNpemUpIC0gMWNoKTtcbiAgbGluZS1oZWlnaHQ6IHZhcigtLWRpZ2l0LWhlaWdodCk7XG5cbiAgLyogVGhlIHBhZGRpbmcgYXQgdGhlIHN0YXJ0IHBvc2l0aW9ucyB0aGUgZmlyc3QgZGlnaXQgYXQgdGhlIG1pZGRsZSBvZiB0aGUgZGlnaXQgYm94ICovXG4gIHBhZGRpbmctaW5saW5lLXN0YXJ0OiBjYWxjKHZhcigtLWNwZC1zcGFjZS0xMHgpIC8gMiAtICgxY2ggLyAyKSk7XG5cbiAgLyogVGhlIG5lZ2F0aXZlIG1hcmdpbiBhdCB0aGUgZW5kIGlzIHRvIGtlZXAgc3BhY2UgZm9yIHRoZSBjdXJzb3Igd2hlbiB0aGUgaW5wdXQgaXMgZnVsbCAqL1xuICBtYXJnaW4taW5saW5lLWVuZDogY2FsYygtMSAqICh2YXIoLS1jcGQtc3BhY2UtMTB4KSArIHZhcigtLWNwZC1zcGFjZS0zeCkpKTtcbn1cblxuLl9kaWdpdF85enl0aV81NyB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGlubGluZS1zaXplOiB2YXIoLS1jcGQtc3BhY2UtMTB4KTtcbiAgYmxvY2stc2l6ZTogdmFyKC0tY3BkLXNwYWNlLTEyeCk7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNwZC1jb2xvci1ib3JkZXItaW50ZXJhY3RpdmUtcHJpbWFyeSk7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNwZC1jb2xvci1iZy1jYW52YXMtZGVmYXVsdCk7XG4gIGJvcmRlci1yYWRpdXM6IDAuNXJlbTtcbiAgcGFkZGluZzogdmFyKC0tY3BkLXNwYWNlLTN4KSB2YXIoLS1jcGQtc3BhY2UtNHgpO1xufVxuXG5AbWVkaWEgKGhvdmVyKSB7XG4gIC5fY29udHJvbF85enl0aV8zMzpob3ZlciB+IC5fZGlnaXRfOXp5dGlfNTcge1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tY3BkLWNvbG9yLWJvcmRlci1pbnRlcmFjdGl2ZS1ob3ZlcmVkKTtcblxuICAgIC8qKiBUT0RPOiBoYXZlIHRoZSBzaGFkb3cgaW4gdGhlIGRlc2lnbiB0b2tlbnMgKi9cbiAgICBib3gtc2hhZG93OiAwIDEuMnB4IDIuNHB4IDAgcmdiKDAgMCAwIC8gMTUlKTtcbiAgfVxufVxuXG4uX2NvbnRyb2xfOXp5dGlfMzM6ZGlzYWJsZWQge1xuICBjb2xvcjogdmFyKC0tY3BkLWNvbG9yLXRleHQtZGlzYWJsZWQpO1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xufVxuXG4uX2NvbnRyb2xfOXp5dGlfMzM6ZGlzYWJsZWQgfiAuX2RpZ2l0Xzl6eXRpXzU3IHtcbiAgYm94LXNoYWRvdzogbm9uZTtcbiAgYmFja2dyb3VuZDogdmFyKC0tY3BkLWNvbG9yLWJnLWNhbnZhcy1kaXNhYmxlZCk7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0tY3BkLWNvbG9yLWJvcmRlci1kaXNhYmxlZCk7XG59XG5cbi5fY29udHJvbF85enl0aV8zM1tyZWFkb25seV0ge1xuICBjb2xvcjogdmFyKC0tY3BkLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTtcbn1cblxuLl9jb250cm9sXzl6eXRpXzMzW3JlYWRvbmx5XSB+IC5fZGlnaXRfOXp5dGlfNTcge1xuICBib3gtc2hhZG93OiBub25lO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jcGQtY29sb3ItYmctc3VidGxlLXNlY29uZGFyeSk7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0tY3BkLWNvbG9yLWJnLXN1YnRsZS1zZWNvbmRhcnkpO1xufVxuXG4uX2NvbnRyb2xfOXp5dGlfMzNbZGF0YS1pbnZhbGlkXSB+IC5fZGlnaXRfOXp5dGlfNTcge1xuICBib3JkZXItY29sb3I6IHZhcigtLWNwZC1jb2xvci10ZXh0LWNyaXRpY2FsLXByaW1hcnkpO1xufVxuXG4uX2NvbnRyb2xfOXp5dGlfMzM6Zm9jdXMgfiAuX2RpZ2l0Xzl6eXRpXzU3Om5vdChbZGF0YS1maWxsZWRdKSB7XG4gIG91dGxpbmU6IDJweCBzb2xpZCB2YXIoLS1jcGQtY29sb3ItYm9yZGVyLWZvY3VzZWQpO1xuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xufVxuXG4uX2RpZ2l0Xzl6eXRpXzU3W2RhdGEtc2VsZWN0ZWRdIHtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jcGQtY29sb3ItYm9yZGVyLWZvY3VzZWQpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jcGQtY29sb3ItYmctaW5mby1zdWJ0bGUpO1xufVxuLypcbkNvcHlyaWdodCAyMDIzIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXG5Db3B5cmlnaHQgMjAyMyBOZXcgVmVjdG9yIEx0ZFxuXG5MaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xueW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG5cbiAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcblxuVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG5TZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG5saW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiovXG5cbi5fY29udGFpbmVyXzF3bG9xXzE4IHtcbiAgLS1zaXplOiAyMHB4O1xuXG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGlubGluZS1zaXplOiB2YXIoLS1zaXplKTtcbiAgYmxvY2stc2l6ZTogdmFyKC0tc2l6ZSk7XG59XG5cbi5faW5wdXRfMXdsb3FfMjYsXG4uX3VpXzF3bG9xXzI3IHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgZ3JpZC1hcmVhOiAxLzE7XG4gIGlubGluZS1zaXplOiB2YXIoLS1zaXplKTtcbiAgYmxvY2stc2l6ZTogdmFyKC0tc2l6ZSk7XG59XG5cbi5faW5wdXRfMXdsb3FfMjYge1xuICBvcGFjaXR5OiAwO1xuICBtYXJnaW46IDA7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLl91aV8xd2xvcV8yNyB7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICBib3JkZXItcmFkaXVzOiA0cHg7IC8qIFRPRE86IE91Z2h0IHRvIGJlIGEgdG9rZW4gKi9cbiAgYm9yZGVyOiAxcHggc29saWQ7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0tY3BkLWNvbG9yLWJvcmRlci1pbnRlcmFjdGl2ZS1wcmltYXJ5KTtcblxuICAvKiogRGVmYXVsdCwgcmVzdCBzdGF0ZSAqL1xuICBjb2xvcjogdHJhbnNwYXJlbnQ7XG59XG5cbi5fdWlfMXdsb3FfMjcgc3ZnIHtcbiAgaW5saW5lLXNpemU6IHZhcigtLXNpemUpO1xuICBibG9jay1zaXplOiB2YXIoLS1zaXplKTtcblxuICAvKiBjb21wZW5zYXRlIGZvciB0aGUgcGFyZW50IGJvcmRlciAqL1xuICBtYXJnaW46IC0xcHg7XG59XG5cbi5faW5wdXRfMXdsb3FfMjY6Y2hlY2tlZCArIC5fdWlfMXdsb3FfMjcge1xuICBjb2xvcjogdmFyKC0tY3BkLWNvbG9yLWljb24tb24tc29saWQtcHJpbWFyeSk7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNwZC1jb2xvci1iZy1hY2NlbnQtcmVzdCk7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0tY3BkLWNvbG9yLWJnLWFjY2VudC1yZXN0KTtcbn1cblxuLl9pbnB1dF8xd2xvcV8yNjpmb2N1cy12aXNpYmxlICsgLl91aV8xd2xvcV8yNyB7XG4gIG91dGxpbmU6IDJweCBzb2xpZCB2YXIoLS1jcGQtY29sb3ItYm9yZGVyLWZvY3VzZWQpO1xuICBvdXRsaW5lLW9mZnNldDogMXB4O1xufVxuXG4uX2lucHV0XzF3bG9xXzI2W2Rpc2FibGVkXSArIC5fdWlfMXdsb3FfMjcge1xuICBib3JkZXItY29sb3I6IHZhcigtLWNwZC1jb2xvci1ib3JkZXItZGlzYWJsZWQpO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jcGQtY29sb3ItYmctY2FudmFzLWRpc2FibGVkKTtcbn1cblxuLl9pbnB1dF8xd2xvcV8yNltyZWFkb25seV0ge1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cblxuLl9pbnB1dF8xd2xvcV8yNltyZWFkb25seV0gKyAuX3VpXzF3bG9xXzI3IHtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jcGQtY29sb3ItYm9yZGVyLWludGVyYWN0aXZlLXNlY29uZGFyeSk7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNwZC1jb2xvci1iZy1zdWJ0bGUtc2Vjb25kYXJ5KTtcbn1cblxuLl9pbnB1dF8xd2xvcV8yNltkaXNhYmxlZF06Y2hlY2tlZCArIC5fdWlfMXdsb3FfMjcge1xuICBib3JkZXItY29sb3I6IHZhcigtLWNwZC1jb2xvci1iZy1hY3Rpb24tcHJpbWFyeS1kaXNhYmxlZCk7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNwZC1jb2xvci1iZy1hY3Rpb24tcHJpbWFyeS1kaXNhYmxlZCk7XG59XG5cbi5faW5wdXRfMXdsb3FfMjZbcmVhZG9ubHldOmNoZWNrZWQgKyAuX3VpXzF3bG9xXzI3IHtcbiAgY29sb3I6IHZhcigtLWNwZC1jb2xvci1pY29uLXNlY29uZGFyeSk7XG59XG5cbkBtZWRpYSAoaG92ZXIpIHtcbiAgLl9pbnB1dF8xd2xvcV8yNjpub3QoW2Rpc2FibGVkXSwgW3JlYWRvbmx5XSwgOmNoZWNrZWQpOmhvdmVyICsgLl91aV8xd2xvcV8yNyB7XG4gICAgY29sb3I6IHZhcigtLWNwZC1jb2xvci1pY29uLXF1YXRlcm5hcnkpO1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tY3BkLWNvbG9yLWJnLWFjY2VudC1ob3ZlcmVkKTtcblxuICAgIC8qKiBUT0RPOiBoYXZlIHRoZSBzaGFkb3cgaW4gdGhlIGRlc2lnbiB0b2tlbnMgKi9cbiAgICBib3gtc2hhZG93OiAwIDEuMnB4IDIuNHB4IDAgcmdiKDAgMCAwIC8gMTUlKTtcbiAgfVxuXG4gIC5faW5wdXRfMXdsb3FfMjY6bm90KFtkaXNhYmxlZF0sIFtyZWFkb25seV0pOmNoZWNrZWQ6aG92ZXIgKyAuX3VpXzF3bG9xXzI3IHtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLWNwZC1jb2xvci1iZy1hY2NlbnQtaG92ZXJlZCk7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY3BkLWNvbG9yLWJnLWFjY2VudC1ob3ZlcmVkKTtcbiAgfVxuXG4gIC5faW5wdXRfMXdsb3FfMjZbZGF0YS1pbnZhbGlkXTpub3QoW2Rpc2FibGVkXSwgW3JlYWRvbmx5XSk6Y2hlY2tlZDpob3ZlciArIC5fdWlfMXdsb3FfMjcge1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tY3BkLWNvbG9yLWJnLWNyaXRpY2FsLWhvdmVyZWQpO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNwZC1jb2xvci1iZy1jcml0aWNhbC1ob3ZlcmVkKTtcbiAgfVxufVxuXG4uX2lucHV0XzF3bG9xXzI2W2RhdGEtaW52YWxpZF06bm90KFtkaXNhYmxlZF0sIDpjaGVja2VkLCBbcmVhZG9ubHldKSArIC5fdWlfMXdsb3FfMjcge1xuICBib3JkZXItY29sb3I6IHZhcigtLWNwZC1jb2xvci1ib3JkZXItY3JpdGljYWwtcHJpbWFyeSk7XG59XG5cbi5faW5wdXRfMXdsb3FfMjZbZGF0YS1pbnZhbGlkXTpub3QoW2Rpc2FibGVkXSwgW3JlYWRvbmx5XSk6Y2hlY2tlZCArIC5fdWlfMXdsb3FfMjcge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jcGQtY29sb3ItYmctY3JpdGljYWwtcHJpbWFyeSk7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0tY3BkLWNvbG9yLWJnLWNyaXRpY2FsLXByaW1hcnkpO1xufVxuLypcbkNvcHlyaWdodCAyMDIzIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXG5Db3B5cmlnaHQgMjAyMyBOZXcgVmVjdG9yIEx0ZFxuXG5MaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xueW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG5cbiAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcblxuVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG5TZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG5saW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiovXG5cbi5fY29udGFpbmVyXzF2dzVoXzE4IHtcbiAgLS1zaXplOiAyMHB4O1xuXG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGlubGluZS1zaXplOiB2YXIoLS1zaXplKTtcbiAgYmxvY2stc2l6ZTogdmFyKC0tc2l6ZSk7XG59XG5cbi5faW5wdXRfMXZ3NWhfMjYsXG4uX3VpXzF2dzVoXzI3IHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgZ3JpZC1hcmVhOiAxLzE7XG4gIGlubGluZS1zaXplOiB2YXIoLS1zaXplKTtcbiAgYmxvY2stc2l6ZTogdmFyKC0tc2l6ZSk7XG59XG5cbi5faW5wdXRfMXZ3NWhfMjYge1xuICBvcGFjaXR5OiAwO1xuICBtYXJnaW46IDA7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLl91aV8xdnc1aF8yNyB7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIGJvcmRlcjogMXB4IHNvbGlkO1xuICBib3JkZXItY29sb3I6IHZhcigtLWNwZC1jb2xvci1ib3JkZXItaW50ZXJhY3RpdmUtcHJpbWFyeSk7XG5cbiAgLyogVG8gYWxpZ24gdGhlIDo6YWZ0ZXIgcHNldWRvLWVsZW1lbnQgdG8gdGhlIGNlbnRlciBvZiB0aGUgcmFkaW8gYnV0dG9uICovXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuXG4uX3VpXzF2dzVoXzI3OjphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGlubGluZS1zaXplOiA2cHg7XG4gIGJsb2NrLXNpemU6IDZweDtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbn1cblxuLl9pbnB1dF8xdnc1aF8yNjpjaGVja2VkICsgLl91aV8xdnc1aF8yNyB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNwZC1jb2xvci1iZy1hY2NlbnQtcmVzdCk7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0tY3BkLWNvbG9yLWJnLWFjY2VudC1yZXN0KTtcbn1cblxuLl9pbnB1dF8xdnc1aF8yNjpjaGVja2VkICsgLl91aV8xdnc1aF8yNzo6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jcGQtY29sb3ItaWNvbi1vbi1zb2xpZC1wcmltYXJ5KTtcbn1cblxuLl9pbnB1dF8xdnc1aF8yNjpmb2N1cy12aXNpYmxlICsgLl91aV8xdnc1aF8yNyB7XG4gIG91dGxpbmU6IDJweCBzb2xpZCB2YXIoLS1jcGQtY29sb3ItYm9yZGVyLWZvY3VzZWQpO1xuICBvdXRsaW5lLW9mZnNldDogMXB4O1xufVxuXG4uX2lucHV0XzF2dzVoXzI2W3JlYWRvbmx5XSB7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuXG4uX2lucHV0XzF2dzVoXzI2W3JlYWRvbmx5XSArIC5fdWlfMXZ3NWhfMjcge1xuICBib3JkZXItY29sb3I6IHZhcigtLWNwZC1jb2xvci1ib3JkZXItaW50ZXJhY3RpdmUtc2Vjb25kYXJ5KTtcbiAgYmFja2dyb3VuZDogdmFyKC0tY3BkLWNvbG9yLWJnLXN1YnRsZS1zZWNvbmRhcnkpO1xufVxuXG4uX2lucHV0XzF2dzVoXzI2W2Rpc2FibGVkXSArIC5fdWlfMXZ3NWhfMjcge1xuICBib3JkZXItY29sb3I6IHZhcigtLWNwZC1jb2xvci1ib3JkZXItZGlzYWJsZWQpO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jcGQtY29sb3ItYmctY2FudmFzLWRpc2FibGVkKTtcbn1cblxuLl9pbnB1dF8xdnc1aF8yNltkaXNhYmxlZF06Y2hlY2tlZCArIC5fdWlfMXZ3NWhfMjcge1xuICBib3JkZXItY29sb3I6IHZhcigtLWNwZC1jb2xvci1iZy1hY3Rpb24tcHJpbWFyeS1kaXNhYmxlZCk7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNwZC1jb2xvci1iZy1hY3Rpb24tcHJpbWFyeS1kaXNhYmxlZCk7XG59XG5cbi5faW5wdXRfMXZ3NWhfMjZbcmVhZG9ubHldOmNoZWNrZWQgKyAuX3VpXzF2dzVoXzI3OjphZnRlciB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNwZC1jb2xvci1pY29uLXNlY29uZGFyeSk7XG59XG5cbkBtZWRpYSAoaG92ZXIpIHtcbiAgLl9pbnB1dF8xdnc1aF8yNjpub3QoW2Rpc2FibGVkXSwgW3JlYWRvbmx5XSwgOmNoZWNrZWQpOmhvdmVyICsgLl91aV8xdnc1aF8yNyB7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jcGQtY29sb3ItYmctYWNjZW50LWhvdmVyZWQpO1xuXG4gICAgLyoqIFRPRE86IGhhdmUgdGhlIHNoYWRvdyBpbiB0aGUgZGVzaWduIHRva2VucyAqL1xuICAgIGJveC1zaGFkb3c6IDAgMS4ycHggMi40cHggMCByZ2IoMCAwIDAgLyAxNSUpO1xuICB9XG5cbiAgLl9pbnB1dF8xdnc1aF8yNjpub3QoW2Rpc2FibGVkXSwgW3JlYWRvbmx5XSwgOmNoZWNrZWQpOmhvdmVyICsgLl91aV8xdnc1aF8yNzo6YWZ0ZXIge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNwZC1jb2xvci1pY29uLXF1YXRlcm5hcnkpO1xuICB9XG5cbiAgLl9pbnB1dF8xdnc1aF8yNjpub3QoW2Rpc2FibGVkXSwgW3JlYWRvbmx5XSk6Y2hlY2tlZDpob3ZlciArIC5fdWlfMXZ3NWhfMjcge1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tY3BkLWNvbG9yLWJnLWFjY2VudC1ob3ZlcmVkKTtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jcGQtY29sb3ItYmctYWNjZW50LWhvdmVyZWQpO1xuICB9XG5cbiAgLl9pbnB1dF8xdnc1aF8yNltkYXRhLWludmFsaWRdOm5vdChbZGlzYWJsZWRdLCBbcmVhZG9ubHldKTpjaGVja2VkOmhvdmVyICsgLl91aV8xdnc1aF8yNyB7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jcGQtY29sb3ItYmctY3JpdGljYWwtaG92ZXJlZCk7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY3BkLWNvbG9yLWJnLWNyaXRpY2FsLWhvdmVyZWQpO1xuICB9XG59XG5cbi5faW5wdXRfMXZ3NWhfMjZbZGF0YS1pbnZhbGlkXTpub3QoW2Rpc2FibGVkXSwgW3JlYWRvbmx5XSwgOmNoZWNrZWQpICsgLl91aV8xdnc1aF8yNyB7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0tY3BkLWNvbG9yLWJvcmRlci1jcml0aWNhbC1wcmltYXJ5KTtcbn1cblxuLl9pbnB1dF8xdnc1aF8yNltkYXRhLWludmFsaWRdOm5vdChbZGlzYWJsZWRdLCBbcmVhZG9ubHldKTpjaGVja2VkICsgLl91aV8xdnc1aF8yNyB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNwZC1jb2xvci1iZy1jcml0aWNhbC1wcmltYXJ5KTtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jcGQtY29sb3ItYmctY3JpdGljYWwtcHJpbWFyeSk7XG59XG4vKlxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGRcblxuTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbnlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbllvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuXG4gICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG5cblVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbmRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbldJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxubGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4qL1xuXG4uX2NvbnRyb2xzXzFoNG5iXzE3IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZ2FwOiAxNXB4O1xuXG4gICYgPiBpbnB1dCB7XG4gICAgZmxleDogMTtcbiAgICBtaW4taW5saW5lLXNpemU6IDA7XG4gIH1cbn1cblxuLl9idXR0b24tZ3JvdXBfMWg0bmJfMjcge1xuICBkaXNwbGF5OiBmbGV4O1xuICBpbnNldC1ibG9jay1zdGFydDogdmFyKC0tY3BkLXNwYWNlLTF4KTtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiB2YXIoLS1jcGQtc3BhY2UtMngpO1xufVxuLypcbkNvcHlyaWdodCAyMDIzIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXG5Db3B5cmlnaHQgMjAyMyBOZXcgVmVjdG9yIEx0ZFxuXG5MaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xueW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG5cbiAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcblxuVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG5TZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG5saW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiovXG5cbjpyb290IHtcbiAgLS1jcGQtcmFkaXVzLXBpbGwtZWZmZWN0OiA5OTk5cHg7XG5cbiAgLyogRGVmYXVsdCBpY29uIGFuZCBhdmF0YXIgc2l6ZSAqL1xuICAtLWNwZC1pY29uLWJ1dHRvbi1zaXplOiB2YXIoLS1jcGQtc3BhY2UtOHgpO1xuICAtLWNwZC1hdmF0YXItc2l6ZTogdmFyKC0tY3BkLXNwYWNlLTE2eCk7XG5cbiAgLyoqXG4gICogV2Ugd2FudCB0byBhcHBseSBJbnRlciBEeW5hbWljIG1ldHJpY3MgKGh0dHBzOi8vcnNtcy5tZS9pbnRlci9keW5tZXRyaWNzLylcbiAgKiBXZSBuZWVkIHRvIHR3ZWFrIHRoZSBgbGV0dGVyLXNwYWNpbmdgIHByb3BlcnR5IGFuZCBkb2luZyBzbywgZGlzYWJsZXMgYnlcbiAgKiBkZWZhdWx0IHRoZSBvcHRpb25hbCBsaWdhdHVyZXNcbiAgKiBgZm9udC1mZWF0dXJlLXNldHRpbmdzYCBhbGxvd3MgdXMgdG8gb3ZlcnJpZGUgdGhpcyBiZWhhdmlvdXIgYW5kIGhhdmUgdGhlXG4gICogY29ycmVjdCBsaWdhdHVyZXMgYW5kIHRoZSBwcm9wZXIgZHluYW1pYyBtZXRyaWMgc3BhY2luZy5cbiAgKi9cbiAgLS1jcGQtZm9udC1mZWF0dXJlLXNldHRpbmdzOiBcImtlcm5cIiAxLCBcImxpZ2FcIiAxLCBcImNhbHRcIiAxO1xuICAtLWNwZC1zZXBhcmF0b3Itc3BhY2luZzogdmFyKC0tY3BkLXNwYWNlLTJ4KTtcbiAgLS1jcGQtc2VwYXJhdG9yLWluc2V0OiAwO1xufVxuXG5odG1sLFxuYm9keSxcbmlucHV0IHtcbiAgZm9udDogdmFyKC0tY3BkLWZvbnQtYm9keS1tZC1yZWd1bGFyKTtcbiAgY29sb3I6IHZhcigtLWNwZC1jb2xvci10ZXh0LXByaW1hcnkpO1xuICBmb250LWZlYXR1cmUtc2V0dGluZ3M6IHZhcigtLWNwZC1mb250LWZlYXR1cmUtc2V0dGluZ3MpO1xufVxuXG5odG1sLFxuYm9keSB7XG4gIGJsb2NrLXNpemU6IDEwMCU7XG4gIGZvbnQtc2l6ZTogdmFyKC0tY3BkLWZvbnQtc2l6ZS1yb290KTtcbn1cblxuYm9keSB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNwZC1jb2xvci1iZy1jYW52YXMtZGVmYXVsdCk7XG59XG4vKlxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGRcblxuTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbnlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbllvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuXG4gICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG5cblVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbmRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbldJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxubGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4qL1xuXG4uX2NvbnRlbnRfbWQwMTZfMTcge1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY3BkLWNvbG9yLWJnLXN1YnRsZS1zZWNvbmRhcnkpO1xuICBwYWRkaW5nOiB2YXIoLS1jcGQtc3BhY2UtNHgpO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1jcGQtc3BhY2UtMngpO1xuICBjb2xvcjogdmFyKC0tY3BkLWNvbG9yLWljb24tc2Vjb25kYXJ5KTtcblxuICA+IHN2ZyB7XG4gICAgaW5saW5lLXNpemU6IDMycHg7XG4gICAgYmxvY2stc2l6ZTogMzJweDtcbiAgfVxufVxuXG4uX2NvbnRlbnRfbWQwMTZfMTdbZGF0YS1zaXplPVwibWVkaXVtXCJdIHtcbiAgcGFkZGluZzogdmFyKC0tY3BkLXNwYWNlLTN4KTtcbn1cblxuLl9jb250ZW50X21kMDE2XzE3W2RhdGEtc2l6ZT1cInNtYWxsXCJdIHtcbiAgcGFkZGluZzogdmFyKC0tY3BkLXNwYWNlLTN4KTtcblxuICA+IHN2ZyB7XG4gICAgaW5saW5lLXNpemU6IDI0cHg7XG4gICAgYmxvY2stc2l6ZTogMjRweDtcbiAgfVxufVxuXG4uX2Rlc3RydWN0aXZlX21kMDE2XzQzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY3BkLWNvbG9yLWJnLWNyaXRpY2FsLXN1YnRsZSk7XG4gIGNvbG9yOiB2YXIoLS1jcGQtY29sb3ItaWNvbi1jcml0aWNhbC1wcmltYXJ5KTtcbn1cblxuLl9zdWNjZXNzX21kMDE2XzQ4IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY3BkLWNvbG9yLWJnLXN1Y2Nlc3Mtc3VidGxlKTtcbiAgY29sb3I6IHZhcigtLWNwZC1jb2xvci1pY29uLXN1Y2Nlc3MtcHJpbWFyeSk7XG59XG4vKiBDb3B5cmlnaHQgMjAyMyBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG4uX25hdi1iYXJfMTM1ZHlfMTYge1xuICBib3JkZXItYmxvY2stZW5kOiB2YXIoLS1jcGQtYm9yZGVyLXdpZHRoLTEpIHNvbGlkIHZhcigtLWNwZC1jb2xvci1ncmF5LTQwMCk7XG4gIG1hcmdpbjogdmFyKC0tY3BkLXNwYWNlLTZ4KSAwO1xuICBwYWRkaW5nOiAwO1xufVxuXG4uX25hdi1iYXItaXRlbXNfMTM1ZHlfMjIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogdmFyKC0tY3BkLXNwYWNlLTN4KTtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAwO1xufVxuXG4uX25hdi10YWJfMTM1ZHlfMzMge1xuICBwYWRkaW5nOiB2YXIoLS1jcGQtc3BhY2UtNHgpIDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLyogVW5kZXJsaW5lIGVmZmVjdCAqL1xuLl9uYXYtdGFiXzEzNWR5XzMzOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlwiO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGluc2V0LWJsb2NrLWVuZDogMDtcbiAgaW5zZXQtaW5saW5lOiAwO1xuICBibG9jay1zaXplOiAwO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1jcGQtcmFkaXVzLXBpbGwtZWZmZWN0KSB2YXIoLS1jcGQtcmFkaXVzLXBpbGwtZWZmZWN0KSAwIDA7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNwZC1jb2xvci1iZy1hY3Rpb24tcHJpbWFyeS1yZXN0KTtcbiAgdHJhbnNpdGlvbjogaGVpZ2h0IDAuMXMgZWFzZS1pbi1vdXQ7XG59XG5cbi5fbmF2LXRhYl8xMzVkeV8zM1tkYXRhLWN1cnJlbnRdOjpiZWZvcmUge1xuICAvKiBUaGlzIGlzIG5vdCBleGFjdGx5IHJpZ2h0OiBkZXNpZ25zIHNheXMgM3B4LCBidXQgdGhlcmUgYXJlIG5vIHZhcmlhYmxlcyBmb3IgdGhhdCAqL1xuICBibG9jay1zaXplOiB2YXIoLS1jcGQtYm9yZGVyLXdpZHRoLTQpO1xufVxuXG4uX25hdi1pdGVtXzEzNWR5XzU1IHtcbiAgcGFkZGluZy1ibG9jazogdmFyKC0tY3BkLXNwYWNlLTF4KTtcbiAgcGFkZGluZy1pbmxpbmU6IHZhcigtLWNwZC1zcGFjZS0yeCk7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLWNwZC1yYWRpdXMtcGlsbC1lZmZlY3QpO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGFwcGVhcmFuY2U6IG5vbmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBnYXA6IHZhcigtLWNwZC1zcGFjZS0yeCk7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBib3JkZXI6IDA7XG4gIGZvbnQ6IHZhcigtLWNwZC1mb250LWJvZHktbWQtbWVkaXVtKTtcbiAgY29sb3I6IHZhcigtLWNwZC1jb2xvci10ZXh0LXNlY29uZGFyeSk7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuQG1lZGlhIChob3Zlcikge1xuICAuX25hdi1pdGVtXzEzNWR5XzU1Om5vdChbZGlzYWJsZWRdKTpob3ZlciB7XG4gICAgY29sb3I6IHZhcigtLWNwZC1jb2xvci10ZXh0LXByaW1hcnkpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNwZC1jb2xvci1iZy1zdWJ0bGUtc2Vjb25kYXJ5KTtcbiAgfVxufVxuXG4uX25hdi1pdGVtXzEzNWR5XzU1OmZvY3VzLXZpc2libGUge1xuICBvdXRsaW5lOiB2YXIoLS1jcGQtY29sb3ItYm9yZGVyLWZvY3VzZWQpIHZhcigtLWNwZC1ib3JkZXItd2lkdGgtMikgc29saWQ7XG59XG5cbi5fbmF2LWl0ZW1fMTM1ZHlfNTU6bm90KFtkaXNhYmxlZF0pOmFjdGl2ZSB7XG4gIGNvbG9yOiB2YXIoLS1jcGQtY29sb3ItdGV4dC1wcmltYXJ5KTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY3BkLWNvbG9yLWJnLXN1YnRsZS1wcmltYXJ5KTtcbn1cblxuLl9uYXYtaXRlbV8xMzVkeV81NVthcmlhLWN1cnJlbnRdLFxuLl9uYXYtaXRlbV8xMzVkeV81NVthcmlhLXNlbGVjdGVkPVwidHJ1ZVwiXSB7XG4gIGNvbG9yOiB2YXIoLS1jcGQtY29sb3ItdGV4dC1wcmltYXJ5KTtcbn1cblxuLl9uYXYtaXRlbV8xMzVkeV81NVtkaXNhYmxlZF0ge1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuXG4gIC8qIEVuYWJsZSBwb2ludGVyIGV2ZW50cyBmb3Igc3ZncyBldmVuIHdpdGggZmlsbD1ub25lICovXG4gIHBvaW50ZXItZXZlbnRzOiBhbGwgIWltcG9ydGFudDtcbiAgY29sb3I6IHZhcigtLWNwZC1jb2xvci10ZXh0LWRpc2FibGVkKTtcbn1cbi8qXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZFxuXG5MaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xueW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG5cbiAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcblxuVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG5TZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG5saW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiovXG5cbi5fY29udGVudF8xb2ExeV8xNyB7XG4gIC8qIDMyMHB4ICsgMjBweCBwYWRkaW5nIGxlZnQgKyAyMHB4IHBhZGRpbmcgcmlnaHQgKi9cbiAgbWF4LWlubGluZS1zaXplOiAzMjBweDtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tY3BkLXNwYWNlLTN4KTtcbiAgYmFja2dyb3VuZDogdmFyKC0tY3BkLWNvbG9yLWJnLWFjdGlvbi1wcmltYXJ5LXJlc3QpO1xuICBwYWRkaW5nOiB2YXIoLS1jcGQtc3BhY2UtNXgpIHZhcigtLWNwZC1zcGFjZS02eCk7XG5cbiAgLyogZnJvbSBmaWdtYSAqL1xuICBib3gtc2hhZG93OiAwIDRweCAyNHB4IDAgcmdiKDAgMCAwIC8gMTAlKTtcblxuICAvKlxuICAqIEdyaWQsIHdlIHdhbnQgdG8gaGF2ZSB0aGUgZm9sbG93aW5nIGxheW91dDpcbiAgKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICogLSAgLS0tLS0tLS0tLS0tLS0tICAgLS0tLS0tLS0tLSAgLVxuICAqIC0gIHwgaGVhZGluZyAgICAgfCAgIHwgICAgICAgIHwgIC1cbiAgKiAtICAtLS0tLS0tLS0tLS0tLSAgICB8IGJ1dHRvbiB8ICAtXG4gICogLSAgLS0tLS0tLS0tLS0tLS0tICAgfCBidXR0b24gfCAgLVxuICAqIC0gIHwgZGVzY3JpcHRpb24gfCAgIHwgICAgICAgIHwgIC1cbiAgKiAtICAtLS0tLS0tLS0tLS0tLS0gICAtLS0tLS0tLS0tICAtXG4gICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAqL1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLXRlbXBsYXRlOlxuICAgIFwiaGVhZGVyIGJ1dHRvblwiIGF1dG9cbiAgICBcImRlc2NyaXB0aW9uIGJ1dHRvblwiIGF1dG87XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGNvbHVtbi1nYXA6IHZhcigtLWNwZC1zcGFjZS02eCk7XG59XG5cbi5faGVhZGVyXzFvYTF5XzQ2IHtcbiAgbWFyZ2luOiAwO1xuICBjb2xvcjogdmFyKC0tY3BkLWNvbG9yLXRleHQtb24tc29saWQtcHJpbWFyeSk7XG4gIGdyaWQtYXJlYTogaGVhZGVyO1xufVxuXG4uX2Rlc2NyaXB0aW9uXzFvYTF5XzUyIHtcbiAgY29sb3I6IHZhcigtLWNwZC1jb2xvci1ncmF5LTUwMCk7XG4gIGdyaWQtYXJlYTogZGVzY3JpcHRpb247XG59XG5cbi5fYnV0dG9uXzFvYTF5XzU3IHtcbiAgY29sb3I6IHZhcigtLWNwZC1jb2xvci1iZy1zdWJ0bGUtc2Vjb25kYXJ5KTtcbiAgZ3JpZC1hcmVhOiBidXR0b247XG59XG5cbi5fYXJyb3dfMW9hMXlfNjIge1xuICBmaWxsOiB2YXIoLS1jcGQtY29sb3ItYmctYWN0aW9uLXByaW1hcnktcmVzdCk7XG59XG4vKlxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGRcblxuTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbnlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbllvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuXG4gICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG5cblVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbmRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbldJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxubGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4qL1xuXG4uX2NvbnRhaW5lcl8xYmdsMV8xNyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cbiAgbGFiZWwge1xuICAgIGZvbnQ6IHZhcigtLWNwZC1mb250LWJvZHktbWQtbWVkaXVtKTtcbiAgICBtYXJnaW4tYmxvY2stZW5kOiB2YXIoLS1jcGQtc3BhY2UtMXgpO1xuICB9XG5cbiAgYnV0dG9uIHtcbiAgICBpbmxpbmUtc2l6ZTogMTAwJTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jcGQtY29sb3ItYm9yZGVyLWludGVyYWN0aXZlLXByaW1hcnkpO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNwZC1jb2xvci1iZy1jYW52YXMtZGVmYXVsdCk7XG4gICAgYm9yZGVyLXJhZGl1czogMC41cmVtO1xuICAgIHBhZGRpbmc6IHZhcigtLWNwZC1zcGFjZS0zeCkgdmFyKC0tY3BkLXNwYWNlLTN4KSB2YXIoLS1jcGQtc3BhY2UtM3gpXG4gICAgICB2YXIoLS1jcGQtc3BhY2UtNHgpO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgY29sb3I6IHZhcigtLWNwZC1jb2xvci10ZXh0LXByaW1hcnkpO1xuICAgIGZvbnQ6IHZhcigtLWNwZC1mb250LWJvZHktbWQtcmVndWxhcik7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiB2YXIoLS1jcGQtc3BhY2UtNHgpO1xuXG4gICAgc3ZnIHtcbiAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjFzIGxpbmVhcjtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogV2hlbiB0aGUgZHJvcGRvd24gaXMgb3Blbiwgcm90YXRlIHRoZSBhcnJvdyBpY29uXG4gICAqL1xuICBidXR0b25bYXJpYS1leHBhbmRlZD1cInRydWVcIl0ge1xuICAgIHN2ZyB7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xuICAgIH1cbiAgfVxuXG4gIGJ1dHRvbi5fcGxhY2Vob2xkZXJfMWJnbDFfNTYge1xuICAgIGNvbG9yOiB2YXIoLS1jcGQtY29sb3ItdGV4dC1zZWNvbmRhcnkpO1xuICB9XG5cbiAgLl9ib3JkZXJfMWJnbDFfNjAge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgYm9yZGVyLWlubGluZS1zdGFydDogMXB4IHNvbGlkIHZhcigtLWNwZC1jb2xvci1ib3JkZXItaW50ZXJhY3RpdmUtc2Vjb25kYXJ5KTtcbiAgICBib3JkZXItaW5saW5lLWVuZDogMXB4IHNvbGlkIHZhcigtLWNwZC1jb2xvci1ib3JkZXItaW50ZXJhY3RpdmUtc2Vjb25kYXJ5KTtcbiAgICBibG9jay1zaXplOiB2YXIoLS1jcGQtc3BhY2UtMXgpO1xuICAgIG1hcmdpbi1ibG9jay1zdGFydDogY2FsYyh2YXIoLS1jcGQtc3BhY2UtMXgpICogLTEpO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIH1cblxuICAuX2NvbnRlbnRfMWJnbDFfNjkge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgdWwge1xuICAgICAgLyoqXG4gICAgICAgKiBUbyBtYWtlIHRoZSBjb21wb25lbnQgZ29pbmcgb3ZlciB0aGUgb3RoZXIgZWxlbWVudHNcbiAgICAgICAqL1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBpbmxpbmUtc2l6ZTogMTAwJTtcbiAgICAgIGJhY2tncm91bmQ6IHZhcigtLWNwZC1jb2xvci1iZy1jYW52YXMtZGVmYXVsdCk7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jcGQtY29sb3ItYm9yZGVyLWludGVyYWN0aXZlLXNlY29uZGFyeSk7XG4gICAgICBib3JkZXItYmxvY2stc3RhcnQ6IDA7XG4gICAgICBib3JkZXItZW5kLXN0YXJ0LXJhZGl1czogdmFyKC0tY3BkLXNwYWNlLTR4KTtcbiAgICAgIGJvcmRlci1lbmQtZW5kLXJhZGl1czogdmFyKC0tY3BkLXNwYWNlLTR4KTtcbiAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICBib3gtc2hhZG93OiAwIDRweCAyNHB4IDAgcmdiKDI3IDI5IDM0IC8gMTAlKTtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBwYWRkaW5nLWJsb2NrLWVuZDogdmFyKC0tY3BkLXNwYWNlLTR4KTtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgICAgbGkge1xuICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICBmb250OiB2YXIoLS1jcGQtZm9udC1ib2R5LW1kLW1lZGl1bSk7XG4gICAgICAgIHBhZGRpbmc6IHZhcigtLWNwZC1zcGFjZS0zeCkgdmFyKC0tY3BkLXNwYWNlLTR4KTtcbiAgICAgICAgYm9yZGVyLWJsb2NrLWVuZDogMXB4IHNvbGlkIHZhcigtLWNwZC1jb2xvci1ncmF5LTMwMCk7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jcGQtY29sb3ItdGV4dC1zZWNvbmRhcnkpO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGdhcDogdmFyKC0tY3BkLXNwYWNlLTR4KTtcblxuICAgICAgICBAbWVkaWEgKGhvdmVyKSB7XG4gICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jcGQtY29sb3ItZ3JheS0yMDApO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICZbYXJpYS1zZWxlY3RlZD1cInRydWVcIl0ge1xuICAgICAgICAgIGNvbG9yOiB2YXIoLS1jcGQtY29sb3ItdGV4dC1wcmltYXJ5KTtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jcGQtY29sb3ItZ3JheS0zMDApO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLl9vcGVuXzFiZ2wxXzExNyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cblxuICAuX2hlbHBfMWJnbDFfMTIxIHtcbiAgICBmb250OiB2YXIoLS1jcGQtZm9udC1ib2R5LXNtLXJlZ3VsYXIpO1xuICAgIGNvbG9yOiB2YXIoLS1jcGQtY29sb3ItdGV4dC1zZWNvbmRhcnkpO1xuICB9XG5cbiAgLl9lcnJvcl8xYmdsMV8xMjYge1xuICAgIGZvbnQ6IHZhcigtLWNwZC1mb250LWJvZHktc20tbWVkaXVtKTtcbiAgICBjb2xvcjogdmFyKC0tY3BkLWNvbG9yLXRleHQtY3JpdGljYWwtcHJpbWFyeSk7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBnYXA6IHZhcigtLWNwZC1zcGFjZS0yeCk7XG4gIH1cblxuICAuX2Vycm9yXzFiZ2wxXzEyNixcbiAgLl9oZWxwXzFiZ2wxXzEyMSB7XG4gICAgbWFyZ2luLWJsb2NrLXN0YXJ0OiB2YXIoLS1jcGQtc3BhY2UtMngpO1xuICB9XG5cbiAgJlthcmlhLWludmFsaWQ9XCJ0cnVlXCJdIHtcbiAgICBsYWJlbCB7XG4gICAgICBjb2xvcjogdmFyKC0tY3BkLWNvbG9yLXRleHQtY3JpdGljYWwtcHJpbWFyeSk7XG4gICAgfVxuXG4gICAgYnV0dG9uIHtcbiAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0tY3BkLWNvbG9yLXRleHQtY3JpdGljYWwtcHJpbWFyeSk7XG4gICAgfVxuICB9XG59XG4vKlxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGRcblxuTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbnlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbllvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuXG4gICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG5cblVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbmRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbldJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxubGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4qL1xuXG4uX2JyZWFkY3J1bWJfaWtwYmJfMTcge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBibG9jay1zaXplOiA0MHB4O1xuICBnYXA6IHZhcigtLWNwZC1zcGFjZS0zeCk7XG4gIHBhZGRpbmctYmxvY2stZW5kOiB2YXIoLS1jcGQtc3BhY2UtM3gpO1xuICBib3JkZXItYmxvY2stZW5kOiAxcHggc29saWQgdmFyKC0tY3BkLWNvbG9yLWFscGhhLWdyYXktNDAwKTtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcblxuICAuX3BhZ2VzX2lrcGJiXzI2IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGdhcDogdmFyKC0tY3BkLXNwYWNlLTF4KTtcblxuICAgIC8qIG92ZXJyaWRlIGxpc3Qgc3R5bGVzICovXG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcblxuICAgIGEge1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIH1cblxuICAgIC5fbGFzdC1wYWdlX2lrcGJiXzM5IHtcbiAgICAgIGZvbnQ6IHZhcigtLWNwZC1mb250LWJvZHktc20tcmVndWxhcik7XG4gICAgICBjb2xvcjogdmFyKC0tY3BkLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTtcbiAgICB9XG5cbiAgICAvKlxuICAgICAqIEJyZWFkY3J1bWIgc2VwYXJhdG9yXG4gICAgICogV2Ugd2FudCB0aGlzIHNlcGFyYXRvciB0byBiZSBvbmx5IHZpc3VhbCBhbmQgdG8gbm90IGJlIGluIHRoZSBhY2Nlc3NpYmlsaXR5IHRyZWUuXG4gICAgICogVGhlIG5hdiBodG1sIGVsZW1lbnQgYWxyZWFkeSBwcm92aWRlcyBhbiBhY2Nlc3NpYmxlIHdheSB0byBzZXBhcmF0ZSB0aGUgbGlua3MuXG4gICAgICovXG4gICAgbGkgKyBsaTo6YmVmb3JlIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIG1hcmdpbjogMCAwLjNlbSAwIDAuMjVlbTtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKDE1ZGVnKTtcbiAgICAgIGJvcmRlci1pbmxpbmUtZW5kOiAxcHggc29saWQgdmFyKC0tY3BkLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTtcbiAgICAgIGJsb2NrLXNpemU6IHZhcigtLWNwZC1zcGFjZS0zeCk7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgIH1cblxuICAgIC8qIExhc3QgcGFnZSAqL1xuICAgIDpsYXN0LWNoaWxkIHtcbiAgICAgIHNwYW4ge1xuICAgICAgICBwYWRkaW5nLWlubGluZS1zdGFydDogdmFyKC0tY3BkLXNwYWNlLTF4KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8qXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cbkNvcHlyaWdodCAyMDIyIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXG5cblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cbiovXG5cbi8qIFNDU1MgdmFyaWFibGVzIHJlcHJlc2VudGluZyBhIHJhbmdlIG9mIHN0YW5kYXJkIGxlbmd0aHMuXG4gKlxuICogQXZvaWQgdXNpbmcgdGhlc2UgaW4gbmV3IGNvZGU6IHdlIGNhbm5vdCBhZGp1c3QgdGhlaXIgdmFsdWVzIHdpdGhvdXQgY2F1c2luZyBtYXNzaXZlIGNvbmZ1c2lvbiwgc28gdGhleSBhcmVcbiAqIGVmZmVjdGl2ZWx5IGVxdWl2YWxlbnQgdG8gdXNpbmcgaGFyZGNvZGVkIHZhbHVlcy5cbiAqXG4gKiBJbiBmdXR1cmUsIHdlIHBsYW4gdG8gaW50cm9kdWNlIHZhcmlhYmxlcyBuYW1lZCBhY2NvcmRpbmcgdG8gdGhlaXIgcHVycG9zZSByYXRoZXIgdGhhbiB0aGVpciBzaXplLiBBZGRpdGlvbmFsbHksXG4gKiB3ZSB3YW50IHN3aXRjaCB0byBjdXN0b20gQ1NTIHByb3BlcnRpZXMgKGh0dHBzOi8vZ2l0aHViLmNvbS92ZWN0b3ItaW0vZWxlbWVudC13ZWIvaXNzdWVzLzIxNjU2KSwgc28gd2UgbWlnaHQgaGF2ZVxuICogYC0tc3BhY2luZy1zdGFuZGFyZGAgb3Igc29tZXRoaW5nLiBGb3Igbm93LCB5b3UgbWlnaHQgYXMgd2VsbCB1c2UgaGFyZGNvZGVkIHB4IHZhbHVlcyBmb3IgbGVuZ3RocyAoZXhjZXB0IGZvciBmb250XG4gKiBzaXplcywgZm9yIHdoaWNoIHNlZSB0aGUgYCRmb250LTxOPnB4YCB2YXJpYWJsZXMpLlxuICovXG4kc3BhY2luZy0yOiAycHg7XG4kc3BhY2luZy00OiA0cHg7XG4kc3BhY2luZy04OiA4cHg7XG4kc3BhY2luZy0xMjogMTJweDtcbiRzcGFjaW5nLTE2OiAxNnB4O1xuJHNwYWNpbmctMjA6IDIwcHg7XG4kc3BhY2luZy0yNDogMjRweDtcbiRzcGFjaW5nLTI4OiAyOHB4O1xuJHNwYWNpbmctMzI6IDMycHg7XG4kc3BhY2luZy00MDogNDBweDtcbiRzcGFjaW5nLTQ4OiA0OHB4O1xuJHNwYWNpbmctNjQ6IDY0cHg7XG4iLCIubWFwbGlicmVnbC1tYXB7Zm9udDoxMnB4LzIwcHggSGVsdmV0aWNhIE5ldWUsQXJpYWwsSGVsdmV0aWNhLHNhbnMtc2VyaWY7b3ZlcmZsb3c6aGlkZGVuO3Bvc2l0aW9uOnJlbGF0aXZlOy13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjpyZ2IoMCAwIDAvMCl9Lm1hcGxpYnJlZ2wtY2FudmFze2xlZnQ6MDtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MH0ubWFwbGlicmVnbC1tYXA6ZnVsbHNjcmVlbntoZWlnaHQ6MTAwJTt3aWR0aDoxMDAlfS5tYXBsaWJyZWdsLWN0cmwtZ3JvdXAgYnV0dG9uLm1hcGxpYnJlZ2wtY3RybC1jb21wYXNze3RvdWNoLWFjdGlvbjpub25lfS5tYXBsaWJyZWdsLWNhbnZhcy1jb250YWluZXIubWFwbGlicmVnbC1pbnRlcmFjdGl2ZSwubWFwbGlicmVnbC1jdHJsLWdyb3VwIGJ1dHRvbi5tYXBsaWJyZWdsLWN0cmwtY29tcGFzc3tjdXJzb3I6Z3JhYjstd2Via2l0LXVzZXItc2VsZWN0Om5vbmU7LW1vei11c2VyLXNlbGVjdDpub25lO3VzZXItc2VsZWN0Om5vbmV9Lm1hcGxpYnJlZ2wtY2FudmFzLWNvbnRhaW5lci5tYXBsaWJyZWdsLWludGVyYWN0aXZlLm1hcGxpYnJlZ2wtdHJhY2stcG9pbnRlcntjdXJzb3I6cG9pbnRlcn0ubWFwbGlicmVnbC1jYW52YXMtY29udGFpbmVyLm1hcGxpYnJlZ2wtaW50ZXJhY3RpdmU6YWN0aXZlLC5tYXBsaWJyZWdsLWN0cmwtZ3JvdXAgYnV0dG9uLm1hcGxpYnJlZ2wtY3RybC1jb21wYXNzOmFjdGl2ZXtjdXJzb3I6Z3JhYmJpbmd9Lm1hcGxpYnJlZ2wtY2FudmFzLWNvbnRhaW5lci5tYXBsaWJyZWdsLXRvdWNoLXpvb20tcm90YXRlLC5tYXBsaWJyZWdsLWNhbnZhcy1jb250YWluZXIubWFwbGlicmVnbC10b3VjaC16b29tLXJvdGF0ZSAubWFwbGlicmVnbC1jYW52YXN7dG91Y2gtYWN0aW9uOnBhbi14IHBhbi15fS5tYXBsaWJyZWdsLWNhbnZhcy1jb250YWluZXIubWFwbGlicmVnbC10b3VjaC1kcmFnLXBhbiwubWFwbGlicmVnbC1jYW52YXMtY29udGFpbmVyLm1hcGxpYnJlZ2wtdG91Y2gtZHJhZy1wYW4gLm1hcGxpYnJlZ2wtY2FudmFze3RvdWNoLWFjdGlvbjpwaW5jaC16b29tfS5tYXBsaWJyZWdsLWNhbnZhcy1jb250YWluZXIubWFwbGlicmVnbC10b3VjaC16b29tLXJvdGF0ZS5tYXBsaWJyZWdsLXRvdWNoLWRyYWctcGFuLC5tYXBsaWJyZWdsLWNhbnZhcy1jb250YWluZXIubWFwbGlicmVnbC10b3VjaC16b29tLXJvdGF0ZS5tYXBsaWJyZWdsLXRvdWNoLWRyYWctcGFuIC5tYXBsaWJyZWdsLWNhbnZhc3t0b3VjaC1hY3Rpb246bm9uZX0ubWFwbGlicmVnbC1jYW52YXMtY29udGFpbmVyLm1hcGxpYnJlZ2wtdG91Y2gtZHJhZy1wYW4ubWFwbGlicmVnbC1jb29wZXJhdGl2ZS1nZXN0dXJlcywubWFwbGlicmVnbC1jYW52YXMtY29udGFpbmVyLm1hcGxpYnJlZ2wtdG91Y2gtZHJhZy1wYW4ubWFwbGlicmVnbC1jb29wZXJhdGl2ZS1nZXN0dXJlcyAubWFwbGlicmVnbC1jYW52YXN7dG91Y2gtYWN0aW9uOnBhbi14IHBhbi15fS5tYXBsaWJyZWdsLWN0cmwtYm90dG9tLWxlZnQsLm1hcGxpYnJlZ2wtY3RybC1ib3R0b20tcmlnaHQsLm1hcGxpYnJlZ2wtY3RybC10b3AtbGVmdCwubWFwbGlicmVnbC1jdHJsLXRvcC1yaWdodHtwb2ludGVyLWV2ZW50czpub25lO3Bvc2l0aW9uOmFic29sdXRlO3otaW5kZXg6Mn0ubWFwbGlicmVnbC1jdHJsLXRvcC1sZWZ0e2xlZnQ6MDt0b3A6MH0ubWFwbGlicmVnbC1jdHJsLXRvcC1yaWdodHtyaWdodDowO3RvcDowfS5tYXBsaWJyZWdsLWN0cmwtYm90dG9tLWxlZnR7Ym90dG9tOjA7bGVmdDowfS5tYXBsaWJyZWdsLWN0cmwtYm90dG9tLXJpZ2h0e2JvdHRvbTowO3JpZ2h0OjB9Lm1hcGxpYnJlZ2wtY3RybHtjbGVhcjpib3RoO3BvaW50ZXItZXZlbnRzOmF1dG87dHJhbnNmb3JtOnRyYW5zbGF0ZSgwKX0ubWFwbGlicmVnbC1jdHJsLXRvcC1sZWZ0IC5tYXBsaWJyZWdsLWN0cmx7ZmxvYXQ6bGVmdDttYXJnaW46MTBweCAwIDAgMTBweH0ubWFwbGlicmVnbC1jdHJsLXRvcC1yaWdodCAubWFwbGlicmVnbC1jdHJse2Zsb2F0OnJpZ2h0O21hcmdpbjoxMHB4IDEwcHggMCAwfS5tYXBsaWJyZWdsLWN0cmwtYm90dG9tLWxlZnQgLm1hcGxpYnJlZ2wtY3RybHtmbG9hdDpsZWZ0O21hcmdpbjowIDAgMTBweCAxMHB4fS5tYXBsaWJyZWdsLWN0cmwtYm90dG9tLXJpZ2h0IC5tYXBsaWJyZWdsLWN0cmx7ZmxvYXQ6cmlnaHQ7bWFyZ2luOjAgMTBweCAxMHB4IDB9Lm1hcGxpYnJlZ2wtY3RybC1ncm91cHtiYWNrZ3JvdW5kOiNmZmY7Ym9yZGVyLXJhZGl1czo0cHh9Lm1hcGxpYnJlZ2wtY3RybC1ncm91cDpub3QoOmVtcHR5KXtib3gtc2hhZG93OjAgMCAwIDJweCByZ2JhKDAsMCwwLC4xKX1AbWVkaWEgKGZvcmNlZC1jb2xvcnM6YWN0aXZlKXsubWFwbGlicmVnbC1jdHJsLWdyb3VwOm5vdCg6ZW1wdHkpe2JveC1zaGFkb3c6MCAwIDAgMnB4IEJ1dHRvblRleHR9fS5tYXBsaWJyZWdsLWN0cmwtZ3JvdXAgYnV0dG9ue2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ym9yZGVyOjA7Ym94LXNpemluZzpib3JkZXItYm94O2N1cnNvcjpwb2ludGVyO2Rpc3BsYXk6YmxvY2s7aGVpZ2h0OjI5cHg7b3V0bGluZTpub25lO3BhZGRpbmc6MDt3aWR0aDoyOXB4fS5tYXBsaWJyZWdsLWN0cmwtZ3JvdXAgYnV0dG9uK2J1dHRvbntib3JkZXItdG9wOjFweCBzb2xpZCAjZGRkfS5tYXBsaWJyZWdsLWN0cmwgYnV0dG9uIC5tYXBsaWJyZWdsLWN0cmwtaWNvbntiYWNrZ3JvdW5kLXBvc2l0aW9uOjUwJTtiYWNrZ3JvdW5kLXJlcGVhdDpuby1yZXBlYXQ7ZGlzcGxheTpibG9jaztoZWlnaHQ6MTAwJTt3aWR0aDoxMDAlfUBtZWRpYSAoZm9yY2VkLWNvbG9yczphY3RpdmUpey5tYXBsaWJyZWdsLWN0cmwtaWNvbntiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50fS5tYXBsaWJyZWdsLWN0cmwtZ3JvdXAgYnV0dG9uK2J1dHRvbntib3JkZXItdG9wOjFweCBzb2xpZCBCdXR0b25UZXh0fX0ubWFwbGlicmVnbC1jdHJsIGJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcntib3JkZXI6MDtwYWRkaW5nOjB9Lm1hcGxpYnJlZ2wtY3RybC1hdHRyaWItYnV0dG9uOmZvY3VzLC5tYXBsaWJyZWdsLWN0cmwtZ3JvdXAgYnV0dG9uOmZvY3Vze2JveC1zaGFkb3c6MCAwIDJweCAycHggIzAwOTZmZn0ubWFwbGlicmVnbC1jdHJsIGJ1dHRvbjpkaXNhYmxlZHtjdXJzb3I6bm90LWFsbG93ZWR9Lm1hcGxpYnJlZ2wtY3RybCBidXR0b246ZGlzYWJsZWQgLm1hcGxpYnJlZ2wtY3RybC1pY29ue29wYWNpdHk6LjI1fS5tYXBsaWJyZWdsLWN0cmwgYnV0dG9uOm5vdCg6ZGlzYWJsZWQpOmhvdmVye2JhY2tncm91bmQtY29sb3I6cmdiKDAgMCAwLzUlKX0ubWFwbGlicmVnbC1jdHJsLWdyb3VwIGJ1dHRvbjpmb2N1czpmb2N1cy12aXNpYmxle2JveC1zaGFkb3c6MCAwIDJweCAycHggIzAwOTZmZn0ubWFwbGlicmVnbC1jdHJsLWdyb3VwIGJ1dHRvbjpmb2N1czpub3QoOmZvY3VzLXZpc2libGUpe2JveC1zaGFkb3c6bm9uZX0ubWFwbGlicmVnbC1jdHJsLWdyb3VwIGJ1dHRvbjpmb2N1czpmaXJzdC1jaGlsZHtib3JkZXItcmFkaXVzOjRweCA0cHggMCAwfS5tYXBsaWJyZWdsLWN0cmwtZ3JvdXAgYnV0dG9uOmZvY3VzOmxhc3QtY2hpbGR7Ym9yZGVyLXJhZGl1czowIDAgNHB4IDRweH0ubWFwbGlicmVnbC1jdHJsLWdyb3VwIGJ1dHRvbjpmb2N1czpvbmx5LWNoaWxke2JvcmRlci1yYWRpdXM6aW5oZXJpdH0ubWFwbGlicmVnbC1jdHJsIGJ1dHRvbi5tYXBsaWJyZWdsLWN0cmwtem9vbS1vdXQgLm1hcGxpYnJlZ2wtY3RybC1pY29ue2JhY2tncm91bmQtaW1hZ2U6dXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmLTgsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzI5JyBoZWlnaHQ9JzI5JyBmaWxsPSclMjMzMzMnIHZpZXdCb3g9JzAgMCAyOSAyOSclM0UlM0NwYXRoIGQ9J00xMCAxM2MtLjc1IDAtMS41Ljc1LTEuNSAxLjVTOS4yNSAxNiAxMCAxNmg5Yy43NSAwIDEuNS0uNzUgMS41LTEuNVMxOS43NSAxMyAxOSAxM3onLyUzRSUzQy9zdmclM0VcIil9Lm1hcGxpYnJlZ2wtY3RybCBidXR0b24ubWFwbGlicmVnbC1jdHJsLXpvb20taW4gLm1hcGxpYnJlZ2wtY3RybC1pY29ue2JhY2tncm91bmQtaW1hZ2U6dXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmLTgsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzI5JyBoZWlnaHQ9JzI5JyBmaWxsPSclMjMzMzMnIHZpZXdCb3g9JzAgMCAyOSAyOSclM0UlM0NwYXRoIGQ9J00xNC41IDguNWMtLjc1IDAtMS41Ljc1LTEuNSAxLjV2M2gtM2MtLjc1IDAtMS41Ljc1LTEuNSAxLjVTOS4yNSAxNiAxMCAxNmgzdjNjMCAuNzUuNzUgMS41IDEuNSAxLjVTMTYgMTkuNzUgMTYgMTl2LTNoM2MuNzUgMCAxLjUtLjc1IDEuNS0xLjVTMTkuNzUgMTMgMTkgMTNoLTN2LTNjMC0uNzUtLjc1LTEuNS0xLjUtMS41Jy8lM0UlM0Mvc3ZnJTNFXCIpfUBtZWRpYSAoZm9yY2VkLWNvbG9yczphY3RpdmUpey5tYXBsaWJyZWdsLWN0cmwgYnV0dG9uLm1hcGxpYnJlZ2wtY3RybC16b29tLW91dCAubWFwbGlicmVnbC1jdHJsLWljb257YmFja2dyb3VuZC1pbWFnZTp1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGYtOCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMjknIGhlaWdodD0nMjknIGZpbGw9JyUyM2ZmZicgdmlld0JveD0nMCAwIDI5IDI5JyUzRSUzQ3BhdGggZD0nTTEwIDEzYy0uNzUgMC0xLjUuNzUtMS41IDEuNVM5LjI1IDE2IDEwIDE2aDljLjc1IDAgMS41LS43NSAxLjUtMS41UzE5Ljc1IDEzIDE5IDEzeicvJTNFJTNDL3N2ZyUzRVwiKX0ubWFwbGlicmVnbC1jdHJsIGJ1dHRvbi5tYXBsaWJyZWdsLWN0cmwtem9vbS1pbiAubWFwbGlicmVnbC1jdHJsLWljb257YmFja2dyb3VuZC1pbWFnZTp1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGYtOCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMjknIGhlaWdodD0nMjknIGZpbGw9JyUyM2ZmZicgdmlld0JveD0nMCAwIDI5IDI5JyUzRSUzQ3BhdGggZD0nTTE0LjUgOC41Yy0uNzUgMC0xLjUuNzUtMS41IDEuNXYzaC0zYy0uNzUgMC0xLjUuNzUtMS41IDEuNVM5LjI1IDE2IDEwIDE2aDN2M2MwIC43NS43NSAxLjUgMS41IDEuNVMxNiAxOS43NSAxNiAxOXYtM2gzYy43NSAwIDEuNS0uNzUgMS41LTEuNVMxOS43NSAxMyAxOSAxM2gtM3YtM2MwLS43NS0uNzUtMS41LTEuNS0xLjUnLyUzRSUzQy9zdmclM0VcIil9fUBtZWRpYSAoZm9yY2VkLWNvbG9yczphY3RpdmUpIGFuZCAocHJlZmVycy1jb2xvci1zY2hlbWU6bGlnaHQpey5tYXBsaWJyZWdsLWN0cmwgYnV0dG9uLm1hcGxpYnJlZ2wtY3RybC16b29tLW91dCAubWFwbGlicmVnbC1jdHJsLWljb257YmFja2dyb3VuZC1pbWFnZTp1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGYtOCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMjknIGhlaWdodD0nMjknIHZpZXdCb3g9JzAgMCAyOSAyOSclM0UlM0NwYXRoIGQ9J00xMCAxM2MtLjc1IDAtMS41Ljc1LTEuNSAxLjVTOS4yNSAxNiAxMCAxNmg5Yy43NSAwIDEuNS0uNzUgMS41LTEuNVMxOS43NSAxMyAxOSAxM3onLyUzRSUzQy9zdmclM0VcIil9Lm1hcGxpYnJlZ2wtY3RybCBidXR0b24ubWFwbGlicmVnbC1jdHJsLXpvb20taW4gLm1hcGxpYnJlZ2wtY3RybC1pY29ue2JhY2tncm91bmQtaW1hZ2U6dXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmLTgsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzI5JyBoZWlnaHQ9JzI5JyB2aWV3Qm94PScwIDAgMjkgMjknJTNFJTNDcGF0aCBkPSdNMTQuNSA4LjVjLS43NSAwLTEuNS43NS0xLjUgMS41djNoLTNjLS43NSAwLTEuNS43NS0xLjUgMS41UzkuMjUgMTYgMTAgMTZoM3YzYzAgLjc1Ljc1IDEuNSAxLjUgMS41UzE2IDE5Ljc1IDE2IDE5di0zaDNjLjc1IDAgMS41LS43NSAxLjUtMS41UzE5Ljc1IDEzIDE5IDEzaC0zdi0zYzAtLjc1LS43NS0xLjUtMS41LTEuNScvJTNFJTNDL3N2ZyUzRVwiKX19Lm1hcGxpYnJlZ2wtY3RybCBidXR0b24ubWFwbGlicmVnbC1jdHJsLWZ1bGxzY3JlZW4gLm1hcGxpYnJlZ2wtY3RybC1pY29ue2JhY2tncm91bmQtaW1hZ2U6dXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmLTgsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzI5JyBoZWlnaHQ9JzI5JyBmaWxsPSclMjMzMzMnIHZpZXdCb3g9JzAgMCAyOSAyOSclM0UlM0NwYXRoIGQ9J00yNCAxNnY1LjVjMCAxLjc1LS43NSAyLjUtMi41IDIuNUgxNnYtMWwzLTEuNS00LTUuNSAxLTEgNS41IDQgMS41LTN6TTYgMTZsMS41IDMgNS41LTQgMSAxLTQgNS41IDMgMS41djFINy41QzUuNzUgMjQgNSAyMy4yNSA1IDIxLjVWMTZ6bTctMTF2MWwtMyAxLjUgNCA1LjUtMSAxLTUuNS00TDYgMTNINVY3LjVDNSA1Ljc1IDUuNzUgNSA3LjUgNXptMTEgMi41YzAtMS43NS0uNzUtMi41LTIuNS0yLjVIMTZ2MWwzIDEuNS00IDUuNSAxIDEgNS41LTQgMS41IDNoMXonLyUzRSUzQy9zdmclM0VcIil9Lm1hcGxpYnJlZ2wtY3RybCBidXR0b24ubWFwbGlicmVnbC1jdHJsLXNocmluayAubWFwbGlicmVnbC1jdHJsLWljb257YmFja2dyb3VuZC1pbWFnZTp1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGYtOCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMjknIGhlaWdodD0nMjknIHZpZXdCb3g9JzAgMCAyOSAyOSclM0UlM0NwYXRoIGQ9J00xOC41IDE2Yy0xLjc1IDAtMi41Ljc1LTIuNSAyLjVWMjRoMWwxLjUtMyA1LjUgNCAxLTEtNC01LjUgMy0xLjV2LTF6TTEzIDE4LjVjMC0xLjc1LS43NS0yLjUtMi41LTIuNUg1djFsMyAxLjVMNCAyNGwxIDEgNS41LTQgMS41IDNoMXptMy04YzAgMS43NS43NSAyLjUgMi41IDIuNUgyNHYtMWwtMy0xLjVMMjUgNWwtMS0xLTUuNSA0TDE3IDVoLTF6TTEwLjUgMTNjMS43NSAwIDIuNS0uNzUgMi41LTIuNVY1aC0xbC0xLjUgM0w1IDQgNCA1bDQgNS41TDUgMTJ2MXonLyUzRSUzQy9zdmclM0VcIil9QG1lZGlhIChmb3JjZWQtY29sb3JzOmFjdGl2ZSl7Lm1hcGxpYnJlZ2wtY3RybCBidXR0b24ubWFwbGlicmVnbC1jdHJsLWZ1bGxzY3JlZW4gLm1hcGxpYnJlZ2wtY3RybC1pY29ue2JhY2tncm91bmQtaW1hZ2U6dXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmLTgsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzI5JyBoZWlnaHQ9JzI5JyBmaWxsPSclMjNmZmYnIHZpZXdCb3g9JzAgMCAyOSAyOSclM0UlM0NwYXRoIGQ9J00yNCAxNnY1LjVjMCAxLjc1LS43NSAyLjUtMi41IDIuNUgxNnYtMWwzLTEuNS00LTUuNSAxLTEgNS41IDQgMS41LTN6TTYgMTZsMS41IDMgNS41LTQgMSAxLTQgNS41IDMgMS41djFINy41QzUuNzUgMjQgNSAyMy4yNSA1IDIxLjVWMTZ6bTctMTF2MWwtMyAxLjUgNCA1LjUtMSAxLTUuNS00TDYgMTNINVY3LjVDNSA1Ljc1IDUuNzUgNSA3LjUgNXptMTEgMi41YzAtMS43NS0uNzUtMi41LTIuNS0yLjVIMTZ2MWwzIDEuNS00IDUuNSAxIDEgNS41LTQgMS41IDNoMXonLyUzRSUzQy9zdmclM0VcIil9Lm1hcGxpYnJlZ2wtY3RybCBidXR0b24ubWFwbGlicmVnbC1jdHJsLXNocmluayAubWFwbGlicmVnbC1jdHJsLWljb257YmFja2dyb3VuZC1pbWFnZTp1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGYtOCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMjknIGhlaWdodD0nMjknIGZpbGw9JyUyM2ZmZicgdmlld0JveD0nMCAwIDI5IDI5JyUzRSUzQ3BhdGggZD0nTTE4LjUgMTZjLTEuNzUgMC0yLjUuNzUtMi41IDIuNVYyNGgxbDEuNS0zIDUuNSA0IDEtMS00LTUuNSAzLTEuNXYtMXpNMTMgMTguNWMwLTEuNzUtLjc1LTIuNS0yLjUtMi41SDV2MWwzIDEuNUw0IDI0bDEgMSA1LjUtNCAxLjUgM2gxem0zLThjMCAxLjc1Ljc1IDIuNSAyLjUgMi41SDI0di0xbC0zLTEuNUwyNSA1bC0xLTEtNS41IDRMMTcgNWgtMXpNMTAuNSAxM2MxLjc1IDAgMi41LS43NSAyLjUtMi41VjVoLTFsLTEuNSAzTDUgNCA0IDVsNCA1LjVMNSAxMnYxeicvJTNFJTNDL3N2ZyUzRVwiKX19QG1lZGlhIChmb3JjZWQtY29sb3JzOmFjdGl2ZSkgYW5kIChwcmVmZXJzLWNvbG9yLXNjaGVtZTpsaWdodCl7Lm1hcGxpYnJlZ2wtY3RybCBidXR0b24ubWFwbGlicmVnbC1jdHJsLWZ1bGxzY3JlZW4gLm1hcGxpYnJlZ2wtY3RybC1pY29ue2JhY2tncm91bmQtaW1hZ2U6dXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmLTgsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzI5JyBoZWlnaHQ9JzI5JyB2aWV3Qm94PScwIDAgMjkgMjknJTNFJTNDcGF0aCBkPSdNMjQgMTZ2NS41YzAgMS43NS0uNzUgMi41LTIuNSAyLjVIMTZ2LTFsMy0xLjUtNC01LjUgMS0xIDUuNSA0IDEuNS0zek02IDE2bDEuNSAzIDUuNS00IDEgMS00IDUuNSAzIDEuNXYxSDcuNUM1Ljc1IDI0IDUgMjMuMjUgNSAyMS41VjE2em03LTExdjFsLTMgMS41IDQgNS41LTEgMS01LjUtNEw2IDEzSDVWNy41QzUgNS43NSA1Ljc1IDUgNy41IDV6bTExIDIuNWMwLTEuNzUtLjc1LTIuNS0yLjUtMi41SDE2djFsMyAxLjUtNCA1LjUgMSAxIDUuNS00IDEuNSAzaDF6Jy8lM0UlM0Mvc3ZnJTNFXCIpfS5tYXBsaWJyZWdsLWN0cmwgYnV0dG9uLm1hcGxpYnJlZ2wtY3RybC1zaHJpbmsgLm1hcGxpYnJlZ2wtY3RybC1pY29ue2JhY2tncm91bmQtaW1hZ2U6dXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmLTgsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzI5JyBoZWlnaHQ9JzI5JyB2aWV3Qm94PScwIDAgMjkgMjknJTNFJTNDcGF0aCBkPSdNMTguNSAxNmMtMS43NSAwLTIuNS43NS0yLjUgMi41VjI0aDFsMS41LTMgNS41IDQgMS0xLTQtNS41IDMtMS41di0xek0xMyAxOC41YzAtMS43NS0uNzUtMi41LTIuNS0yLjVINXYxbDMgMS41TDQgMjRsMSAxIDUuNS00IDEuNSAzaDF6bTMtOGMwIDEuNzUuNzUgMi41IDIuNSAyLjVIMjR2LTFsLTMtMS41TDI1IDVsLTEtMS01LjUgNEwxNyA1aC0xek0xMC41IDEzYzEuNzUgMCAyLjUtLjc1IDIuNS0yLjVWNWgtMWwtMS41IDNMNSA0IDQgNWw0IDUuNUw1IDEydjF6Jy8lM0UlM0Mvc3ZnJTNFXCIpfX0ubWFwbGlicmVnbC1jdHJsIGJ1dHRvbi5tYXBsaWJyZWdsLWN0cmwtY29tcGFzcyAubWFwbGlicmVnbC1jdHJsLWljb257YmFja2dyb3VuZC1pbWFnZTp1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGYtOCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMjknIGhlaWdodD0nMjknIGZpbGw9JyUyMzMzMycgdmlld0JveD0nMCAwIDI5IDI5JyUzRSUzQ3BhdGggZD0nbTEwLjUgMTQgNC04IDQgOHonLyUzRSUzQ3BhdGggZmlsbD0nJTIzY2NjJyBkPSdtMTAuNSAxNiA0IDggNC04eicvJTNFJTNDL3N2ZyUzRVwiKX1AbWVkaWEgKGZvcmNlZC1jb2xvcnM6YWN0aXZlKXsubWFwbGlicmVnbC1jdHJsIGJ1dHRvbi5tYXBsaWJyZWdsLWN0cmwtY29tcGFzcyAubWFwbGlicmVnbC1jdHJsLWljb257YmFja2dyb3VuZC1pbWFnZTp1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGYtOCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMjknIGhlaWdodD0nMjknIGZpbGw9JyUyM2ZmZicgdmlld0JveD0nMCAwIDI5IDI5JyUzRSUzQ3BhdGggZD0nbTEwLjUgMTQgNC04IDQgOHonLyUzRSUzQ3BhdGggZmlsbD0nJTIzY2NjJyBkPSdtMTAuNSAxNiA0IDggNC04eicvJTNFJTNDL3N2ZyUzRVwiKX19QG1lZGlhIChmb3JjZWQtY29sb3JzOmFjdGl2ZSkgYW5kIChwcmVmZXJzLWNvbG9yLXNjaGVtZTpsaWdodCl7Lm1hcGxpYnJlZ2wtY3RybCBidXR0b24ubWFwbGlicmVnbC1jdHJsLWNvbXBhc3MgLm1hcGxpYnJlZ2wtY3RybC1pY29ue2JhY2tncm91bmQtaW1hZ2U6dXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmLTgsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzI5JyBoZWlnaHQ9JzI5JyB2aWV3Qm94PScwIDAgMjkgMjknJTNFJTNDcGF0aCBkPSdtMTAuNSAxNCA0LTggNCA4eicvJTNFJTNDcGF0aCBmaWxsPSclMjNjY2MnIGQ9J20xMC41IDE2IDQgOCA0LTh6Jy8lM0UlM0Mvc3ZnJTNFXCIpfX0ubWFwbGlicmVnbC1jdHJsIGJ1dHRvbi5tYXBsaWJyZWdsLWN0cmwtZ2xvYmUgLm1hcGxpYnJlZ2wtY3RybC1pY29ue2JhY2tncm91bmQtaW1hZ2U6dXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmLTgsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzIyJyBoZWlnaHQ9JzIyJyBmaWxsPSdub25lJyBzdHJva2U9JyUyMzMzMycgdmlld0JveD0nMCAwIDIyIDIyJyUzRSUzQ2NpcmNsZSBjeD0nMTEnIGN5PScxMScgcj0nOC41Jy8lM0UlM0NwYXRoIGQ9J00xNy41IDExYzAgNC44MTktMy4wMiA4LjUtNi41IDguNVM0LjUgMTUuODE5IDQuNSAxMSA3LjUyIDIuNSAxMSAyLjVzNi41IDMuNjgxIDYuNSA4LjVaJy8lM0UlM0NwYXRoIGQ9J00xMy41IDExYzAgMi40NDctLjMzMSA0LjY0LS44NTMgNi4yMDYtLjI2Mi43ODUtLjU2MiAxLjM4NC0uODcyIDEuNzc3LS4zMTQuMzk5LS41OC41MTctLjc3NS41MTdzLS40NjEtLjExOC0uNzc1LS41MTdjLS4zMS0uMzkzLS42MS0uOTkyLS44NzItMS43NzdDOC44MzEgMTUuNjQgOC41IDEzLjQ0NiA4LjUgMTFzLjMzMS00LjY0Ljg1My02LjIwNmMuMjYyLS43ODUuNTYyLTEuMzg0Ljg3Mi0xLjc3Ny4zMTQtLjM5OS41OC0uNTE3Ljc3NS0uNTE3cy40NjEuMTE4Ljc3NS41MTdjLjMxLjM5My42MS45OTIuODcyIDEuNzc3LjUyMiAxLjU2NS44NTMgMy43Ni44NTMgNi4yMDZaJy8lM0UlM0NwYXRoIGQ9J00xMSA3LjVjLTEuOTA5IDAtMy42MjItLjE2Ni00Ljg0NS0uNDI4LS42MTYtLjEzMi0xLjA4LS4yODMtMS4zNzktLjQzNGExLjMgMS4zIDAgMCAxLS4yMjQtLjEzOHEuMDctLjA1OC4yMjQtLjEzOGMuMjk5LS4xNTEuNzYzLS4zMDIgMS4zNzktLjQzNEM3LjM3OCA1LjY2NiA5LjA5MSA1LjUgMTEgNS41czMuNjIyLjE2NiA0Ljg0NS40MjhjLjYxNi4xMzIgMS4wOC4yODMgMS4zNzkuNDM0LjEwNS4wNTMuMTc3LjEuMjI0LjEzOHEtLjA3LjA1OC0uMjI0LjEzOGMtLjI5OS4xNTEtLjc2My4zMDItMS4zNzkuNDM0LTEuMjIzLjI2Mi0yLjkzNi40MjgtNC44NDUuNDI4Wk00LjQ4NiA2LjQzNlpNMTEgMTYuNWMtMS45MDkgMC0zLjYyMi0uMTY2LTQuODQ1LS40MjgtLjYxNi0uMTMyLTEuMDgtLjI4My0xLjM3OS0uNDM0YTEuMyAxLjMgMCAwIDEtLjIyNC0uMTM4IDEuMyAxLjMgMCAwIDEgLjIyNC0uMTM4Yy4yOTktLjE1MS43NjMtLjMwMiAxLjM3OS0uNDM0QzcuMzc4IDE0LjY2NiA5LjA5MSAxNC41IDExIDE0LjVzMy42MjIuMTY2IDQuODQ1LjQyOGMuNjE2LjEzMiAxLjA4LjI4MyAxLjM3OS40MzQuMTA1LjA1My4xNzcuMS4yMjQuMTM4YTEuMyAxLjMgMCAwIDEtLjIyNC4xMzhjLS4yOTkuMTUxLS43NjMuMzAyLTEuMzc5LjQzNC0xLjIyMy4yNjItMi45MzYuNDI4LTQuODQ1LjQyOFptLTYuNTE0LTEuMDY0Wk0xMSAxMi41Yy0yLjQ2IDAtNC42NzItLjIyMi02LjI1NS0uNTc0LS43OTYtLjE3Ny0xLjQwNi0uMzgtMS44MDUtLjU5YTEuNSAxLjUgMCAwIDEtLjM5LS4yNzIuMy4zIDAgMCAxLS4wNDctLjA2NC4zLjMgMCAwIDEgLjA0OC0uMDY0Yy4wNjYtLjA3My4xODktLjE2Ny4zODktLjI3Mi4zOTktLjIxIDEuMDA5LS40MTMgMS44MDUtLjU5QzYuMzI4IDkuNzIyIDguNTQgOS41IDExIDkuNXM0LjY3Mi4yMjIgNi4yNTYuNTc0Yy43OTUuMTc3IDEuNDA1LjM4IDEuODA0LjU5LjIuMTA1LjMyMy4yLjM5LjI3MmEuMy4zIDAgMCAxIC4wNDcuMDY0LjMuMyAwIDAgMS0uMDQ4LjA2NCAxLjQgMS40IDAgMCAxLS4zODkuMjcyYy0uMzk5LjIxLTEuMDA5LjQxMy0xLjgwNC41OS0xLjU4NC4zNTItMy43OTYuNTc0LTYuMjU2LjU3NFptLTguNTAxLTEuNTF2LjAwMnptMCAuMDE4di4wMDJ6bTE3LjAwMi4wMDJ2LS4wMDJ6bTAtLjAxOHYtLjAwMnonLyUzRSUzQy9zdmclM0VcIil9Lm1hcGxpYnJlZ2wtY3RybCBidXR0b24ubWFwbGlicmVnbC1jdHJsLWdsb2JlLWVuYWJsZWQgLm1hcGxpYnJlZ2wtY3RybC1pY29ue2JhY2tncm91bmQtaW1hZ2U6dXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmLTgsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzIyJyBoZWlnaHQ9JzIyJyBmaWxsPSdub25lJyBzdHJva2U9JyUyMzMzYjVlNScgdmlld0JveD0nMCAwIDIyIDIyJyUzRSUzQ2NpcmNsZSBjeD0nMTEnIGN5PScxMScgcj0nOC41Jy8lM0UlM0NwYXRoIGQ9J00xNy41IDExYzAgNC44MTktMy4wMiA4LjUtNi41IDguNVM0LjUgMTUuODE5IDQuNSAxMSA3LjUyIDIuNSAxMSAyLjVzNi41IDMuNjgxIDYuNSA4LjVaJy8lM0UlM0NwYXRoIGQ9J00xMy41IDExYzAgMi40NDctLjMzMSA0LjY0LS44NTMgNi4yMDYtLjI2Mi43ODUtLjU2MiAxLjM4NC0uODcyIDEuNzc3LS4zMTQuMzk5LS41OC41MTctLjc3NS41MTdzLS40NjEtLjExOC0uNzc1LS41MTdjLS4zMS0uMzkzLS42MS0uOTkyLS44NzItMS43NzdDOC44MzEgMTUuNjQgOC41IDEzLjQ0NiA4LjUgMTFzLjMzMS00LjY0Ljg1My02LjIwNmMuMjYyLS43ODUuNTYyLTEuMzg0Ljg3Mi0xLjc3Ny4zMTQtLjM5OS41OC0uNTE3Ljc3NS0uNTE3cy40NjEuMTE4Ljc3NS41MTdjLjMxLjM5My42MS45OTIuODcyIDEuNzc3LjUyMiAxLjU2NS44NTMgMy43Ni44NTMgNi4yMDZaJy8lM0UlM0NwYXRoIGQ9J00xMSA3LjVjLTEuOTA5IDAtMy42MjItLjE2Ni00Ljg0NS0uNDI4LS42MTYtLjEzMi0xLjA4LS4yODMtMS4zNzktLjQzNGExLjMgMS4zIDAgMCAxLS4yMjQtLjEzOHEuMDctLjA1OC4yMjQtLjEzOGMuMjk5LS4xNTEuNzYzLS4zMDIgMS4zNzktLjQzNEM3LjM3OCA1LjY2NiA5LjA5MSA1LjUgMTEgNS41czMuNjIyLjE2NiA0Ljg0NS40MjhjLjYxNi4xMzIgMS4wOC4yODMgMS4zNzkuNDM0LjEwNS4wNTMuMTc3LjEuMjI0LjEzOHEtLjA3LjA1OC0uMjI0LjEzOGMtLjI5OS4xNTEtLjc2My4zMDItMS4zNzkuNDM0LTEuMjIzLjI2Mi0yLjkzNi40MjgtNC44NDUuNDI4Wk00LjQ4NiA2LjQzNlpNMTEgMTYuNWMtMS45MDkgMC0zLjYyMi0uMTY2LTQuODQ1LS40MjgtLjYxNi0uMTMyLTEuMDgtLjI4My0xLjM3OS0uNDM0YTEuMyAxLjMgMCAwIDEtLjIyNC0uMTM4IDEuMyAxLjMgMCAwIDEgLjIyNC0uMTM4Yy4yOTktLjE1MS43NjMtLjMwMiAxLjM3OS0uNDM0QzcuMzc4IDE0LjY2NiA5LjA5MSAxNC41IDExIDE0LjVzMy42MjIuMTY2IDQuODQ1LjQyOGMuNjE2LjEzMiAxLjA4LjI4MyAxLjM3OS40MzQuMTA1LjA1My4xNzcuMS4yMjQuMTM4YTEuMyAxLjMgMCAwIDEtLjIyNC4xMzhjLS4yOTkuMTUxLS43NjMuMzAyLTEuMzc5LjQzNC0xLjIyMy4yNjItMi45MzYuNDI4LTQuODQ1LjQyOFptLTYuNTE0LTEuMDY0Wk0xMSAxMi41Yy0yLjQ2IDAtNC42NzItLjIyMi02LjI1NS0uNTc0LS43OTYtLjE3Ny0xLjQwNi0uMzgtMS44MDUtLjU5YTEuNSAxLjUgMCAwIDEtLjM5LS4yNzIuMy4zIDAgMCAxLS4wNDctLjA2NC4zLjMgMCAwIDEgLjA0OC0uMDY0Yy4wNjYtLjA3My4xODktLjE2Ny4zODktLjI3Mi4zOTktLjIxIDEuMDA5LS40MTMgMS44MDUtLjU5QzYuMzI4IDkuNzIyIDguNTQgOS41IDExIDkuNXM0LjY3Mi4yMjIgNi4yNTYuNTc0Yy43OTUuMTc3IDEuNDA1LjM4IDEuODA0LjU5LjIuMTA1LjMyMy4yLjM5LjI3MmEuMy4zIDAgMCAxIC4wNDcuMDY0LjMuMyAwIDAgMS0uMDQ4LjA2NCAxLjQgMS40IDAgMCAxLS4zODkuMjcyYy0uMzk5LjIxLTEuMDA5LjQxMy0xLjgwNC41OS0xLjU4NC4zNTItMy43OTYuNTc0LTYuMjU2LjU3NFptLTguNTAxLTEuNTF2LjAwMnptMCAuMDE4di4wMDJ6bTE3LjAwMi4wMDJ2LS4wMDJ6bTAtLjAxOHYtLjAwMnonLyUzRSUzQy9zdmclM0VcIil9Lm1hcGxpYnJlZ2wtY3RybCBidXR0b24ubWFwbGlicmVnbC1jdHJsLXRlcnJhaW4gLm1hcGxpYnJlZ2wtY3RybC1pY29ue2JhY2tncm91bmQtaW1hZ2U6dXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmLTgsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzIyJyBoZWlnaHQ9JzIyJyBmaWxsPSclMjMzMzMnIHZpZXdCb3g9JzAgMCAyMiAyMiclM0UlM0NwYXRoIGQ9J20xLjc1NCAxMy40MDYgNC40NTMtNC44NTEgMy4wOSAzLjA5IDMuMjgxIDMuMjc3Ljk2OS0uOTY5LTMuMzA5LTMuMzEyIDMuODQ0LTQuMTIxIDYuMTQ4IDYuODg2aDEuMDgydi0uODU1bC03LjIwNy04LjA3LTQuODQgNS4xODdMNi4xNjkgNi41N2wtNS40OCA1Ljk2NXYuODcxWk0uNjg4IDE2Ljg0NGgyMC42MjV2MS4zNzVILjY4OFptMCAwJy8lM0UlM0Mvc3ZnJTNFXCIpfS5tYXBsaWJyZWdsLWN0cmwgYnV0dG9uLm1hcGxpYnJlZ2wtY3RybC10ZXJyYWluLWVuYWJsZWQgLm1hcGxpYnJlZ2wtY3RybC1pY29ue2JhY2tncm91bmQtaW1hZ2U6dXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmLTgsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzIyJyBoZWlnaHQ9JzIyJyBmaWxsPSclMjMzM2I1ZTUnIHZpZXdCb3g9JzAgMCAyMiAyMiclM0UlM0NwYXRoIGQ9J20xLjc1NCAxMy40MDYgNC40NTMtNC44NTEgMy4wOSAzLjA5IDMuMjgxIDMuMjc3Ljk2OS0uOTY5LTMuMzA5LTMuMzEyIDMuODQ0LTQuMTIxIDYuMTQ4IDYuODg2aDEuMDgydi0uODU1bC03LjIwNy04LjA3LTQuODQgNS4xODdMNi4xNjkgNi41N2wtNS40OCA1Ljk2NXYuODcxWk0uNjg4IDE2Ljg0NGgyMC42MjV2MS4zNzVILjY4OFptMCAwJy8lM0UlM0Mvc3ZnJTNFXCIpfS5tYXBsaWJyZWdsLWN0cmwgYnV0dG9uLm1hcGxpYnJlZ2wtY3RybC1nZW9sb2NhdGUgLm1hcGxpYnJlZ2wtY3RybC1pY29ue2JhY2tncm91bmQtaW1hZ2U6dXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmLTgsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzI5JyBoZWlnaHQ9JzI5JyBmaWxsPSclMjMzMzMnIHZpZXdCb3g9JzAgMCAyMCAyMCclM0UlM0NwYXRoIGQ9J00xMCA0QzkgNCA5IDUgOSA1di4xQTUgNSAwIDAgMCA1LjEgOUg1cy0xIDAtMSAxIDEgMSAxIDFoLjFBNSA1IDAgMCAwIDkgMTQuOXYuMXMwIDEgMSAxIDEtMSAxLTF2LS4xYTUgNSAwIDAgMCAzLjktMy45aC4xczEgMCAxLTEtMS0xLTEtMWgtLjFBNSA1IDAgMCAwIDExIDUuMVY1czAtMS0xLTFtMCAyLjVhMy41IDMuNSAwIDEgMSAwIDcgMy41IDMuNSAwIDEgMSAwLTcnLyUzRSUzQ2NpcmNsZSBjeD0nMTAnIGN5PScxMCcgcj0nMicvJTNFJTNDL3N2ZyUzRVwiKX0ubWFwbGlicmVnbC1jdHJsIGJ1dHRvbi5tYXBsaWJyZWdsLWN0cmwtZ2VvbG9jYXRlOmRpc2FibGVkIC5tYXBsaWJyZWdsLWN0cmwtaWNvbntiYWNrZ3JvdW5kLWltYWdlOnVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0Zi04LCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPScyOScgaGVpZ2h0PScyOScgZmlsbD0nJTIzYWFhJyB2aWV3Qm94PScwIDAgMjAgMjAnJTNFJTNDcGF0aCBkPSdNMTAgNEM5IDQgOSA1IDkgNXYuMUE1IDUgMCAwIDAgNS4xIDlINXMtMSAwLTEgMSAxIDEgMSAxaC4xQTUgNSAwIDAgMCA5IDE0Ljl2LjFzMCAxIDEgMSAxLTEgMS0xdi0uMWE1IDUgMCAwIDAgMy45LTMuOWguMXMxIDAgMS0xLTEtMS0xLTFoLS4xQTUgNSAwIDAgMCAxMSA1LjFWNXMwLTEtMS0xbTAgMi41YTMuNSAzLjUgMCAxIDEgMCA3IDMuNSAzLjUgMCAxIDEgMC03Jy8lM0UlM0NjaXJjbGUgY3g9JzEwJyBjeT0nMTAnIHI9JzInLyUzRSUzQ3BhdGggZmlsbD0ncmVkJyBkPSdtMTQgNSAxIDEtOSA5LTEtMXonLyUzRSUzQy9zdmclM0VcIil9Lm1hcGxpYnJlZ2wtY3RybCBidXR0b24ubWFwbGlicmVnbC1jdHJsLWdlb2xvY2F0ZS5tYXBsaWJyZWdsLWN0cmwtZ2VvbG9jYXRlLWFjdGl2ZSAubWFwbGlicmVnbC1jdHJsLWljb257YmFja2dyb3VuZC1pbWFnZTp1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGYtOCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMjknIGhlaWdodD0nMjknIGZpbGw9JyUyMzMzYjVlNScgdmlld0JveD0nMCAwIDIwIDIwJyUzRSUzQ3BhdGggZD0nTTEwIDRDOSA0IDkgNSA5IDV2LjFBNSA1IDAgMCAwIDUuMSA5SDVzLTEgMC0xIDEgMSAxIDEgMWguMUE1IDUgMCAwIDAgOSAxNC45di4xczAgMSAxIDEgMS0xIDEtMXYtLjFhNSA1IDAgMCAwIDMuOS0zLjloLjFzMSAwIDEtMS0xLTEtMS0xaC0uMUE1IDUgMCAwIDAgMTEgNS4xVjVzMC0xLTEtMW0wIDIuNWEzLjUgMy41IDAgMSAxIDAgNyAzLjUgMy41IDAgMSAxIDAtNycvJTNFJTNDY2lyY2xlIGN4PScxMCcgY3k9JzEwJyByPScyJy8lM0UlM0Mvc3ZnJTNFXCIpfS5tYXBsaWJyZWdsLWN0cmwgYnV0dG9uLm1hcGxpYnJlZ2wtY3RybC1nZW9sb2NhdGUubWFwbGlicmVnbC1jdHJsLWdlb2xvY2F0ZS1hY3RpdmUtZXJyb3IgLm1hcGxpYnJlZ2wtY3RybC1pY29ue2JhY2tncm91bmQtaW1hZ2U6dXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmLTgsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzI5JyBoZWlnaHQ9JzI5JyBmaWxsPSclMjNlNTg5NzgnIHZpZXdCb3g9JzAgMCAyMCAyMCclM0UlM0NwYXRoIGQ9J00xMCA0QzkgNCA5IDUgOSA1di4xQTUgNSAwIDAgMCA1LjEgOUg1cy0xIDAtMSAxIDEgMSAxIDFoLjFBNSA1IDAgMCAwIDkgMTQuOXYuMXMwIDEgMSAxIDEtMSAxLTF2LS4xYTUgNSAwIDAgMCAzLjktMy45aC4xczEgMCAxLTEtMS0xLTEtMWgtLjFBNSA1IDAgMCAwIDExIDUuMVY1czAtMS0xLTFtMCAyLjVhMy41IDMuNSAwIDEgMSAwIDcgMy41IDMuNSAwIDEgMSAwLTcnLyUzRSUzQ2NpcmNsZSBjeD0nMTAnIGN5PScxMCcgcj0nMicvJTNFJTNDL3N2ZyUzRVwiKX0ubWFwbGlicmVnbC1jdHJsIGJ1dHRvbi5tYXBsaWJyZWdsLWN0cmwtZ2VvbG9jYXRlLm1hcGxpYnJlZ2wtY3RybC1nZW9sb2NhdGUtYmFja2dyb3VuZCAubWFwbGlicmVnbC1jdHJsLWljb257YmFja2dyb3VuZC1pbWFnZTp1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGYtOCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMjknIGhlaWdodD0nMjknIGZpbGw9JyUyMzMzYjVlNScgdmlld0JveD0nMCAwIDIwIDIwJyUzRSUzQ3BhdGggZD0nTTEwIDRDOSA0IDkgNSA5IDV2LjFBNSA1IDAgMCAwIDUuMSA5SDVzLTEgMC0xIDEgMSAxIDEgMWguMUE1IDUgMCAwIDAgOSAxNC45di4xczAgMSAxIDEgMS0xIDEtMXYtLjFhNSA1IDAgMCAwIDMuOS0zLjloLjFzMSAwIDEtMS0xLTEtMS0xaC0uMUE1IDUgMCAwIDAgMTEgNS4xVjVzMC0xLTEtMW0wIDIuNWEzLjUgMy41IDAgMSAxIDAgNyAzLjUgMy41IDAgMSAxIDAtNycvJTNFJTNDL3N2ZyUzRVwiKX0ubWFwbGlicmVnbC1jdHJsIGJ1dHRvbi5tYXBsaWJyZWdsLWN0cmwtZ2VvbG9jYXRlLm1hcGxpYnJlZ2wtY3RybC1nZW9sb2NhdGUtYmFja2dyb3VuZC1lcnJvciAubWFwbGlicmVnbC1jdHJsLWljb257YmFja2dyb3VuZC1pbWFnZTp1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGYtOCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMjknIGhlaWdodD0nMjknIGZpbGw9JyUyM2U1NGUzMycgdmlld0JveD0nMCAwIDIwIDIwJyUzRSUzQ3BhdGggZD0nTTEwIDRDOSA0IDkgNSA5IDV2LjFBNSA1IDAgMCAwIDUuMSA5SDVzLTEgMC0xIDEgMSAxIDEgMWguMUE1IDUgMCAwIDAgOSAxNC45di4xczAgMSAxIDEgMS0xIDEtMXYtLjFhNSA1IDAgMCAwIDMuOS0zLjloLjFzMSAwIDEtMS0xLTEtMS0xaC0uMUE1IDUgMCAwIDAgMTEgNS4xVjVzMC0xLTEtMW0wIDIuNWEzLjUgMy41IDAgMSAxIDAgNyAzLjUgMy41IDAgMSAxIDAtNycvJTNFJTNDL3N2ZyUzRVwiKX0ubWFwbGlicmVnbC1jdHJsIGJ1dHRvbi5tYXBsaWJyZWdsLWN0cmwtZ2VvbG9jYXRlLm1hcGxpYnJlZ2wtY3RybC1nZW9sb2NhdGUtd2FpdGluZyAubWFwbGlicmVnbC1jdHJsLWljb257YW5pbWF0aW9uOm1hcGxpYnJlZ2wtc3BpbiAycyBsaW5lYXIgaW5maW5pdGV9QG1lZGlhIChmb3JjZWQtY29sb3JzOmFjdGl2ZSl7Lm1hcGxpYnJlZ2wtY3RybCBidXR0b24ubWFwbGlicmVnbC1jdHJsLWdlb2xvY2F0ZSAubWFwbGlicmVnbC1jdHJsLWljb257YmFja2dyb3VuZC1pbWFnZTp1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGYtOCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMjknIGhlaWdodD0nMjknIGZpbGw9JyUyM2ZmZicgdmlld0JveD0nMCAwIDIwIDIwJyUzRSUzQ3BhdGggZD0nTTEwIDRDOSA0IDkgNSA5IDV2LjFBNSA1IDAgMCAwIDUuMSA5SDVzLTEgMC0xIDEgMSAxIDEgMWguMUE1IDUgMCAwIDAgOSAxNC45di4xczAgMSAxIDEgMS0xIDEtMXYtLjFhNSA1IDAgMCAwIDMuOS0zLjloLjFzMSAwIDEtMS0xLTEtMS0xaC0uMUE1IDUgMCAwIDAgMTEgNS4xVjVzMC0xLTEtMW0wIDIuNWEzLjUgMy41IDAgMSAxIDAgNyAzLjUgMy41IDAgMSAxIDAtNycvJTNFJTNDY2lyY2xlIGN4PScxMCcgY3k9JzEwJyByPScyJy8lM0UlM0Mvc3ZnJTNFXCIpfS5tYXBsaWJyZWdsLWN0cmwgYnV0dG9uLm1hcGxpYnJlZ2wtY3RybC1nZW9sb2NhdGU6ZGlzYWJsZWQgLm1hcGxpYnJlZ2wtY3RybC1pY29ue2JhY2tncm91bmQtaW1hZ2U6dXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmLTgsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzI5JyBoZWlnaHQ9JzI5JyBmaWxsPSclMjM5OTknIHZpZXdCb3g9JzAgMCAyMCAyMCclM0UlM0NwYXRoIGQ9J00xMCA0QzkgNCA5IDUgOSA1di4xQTUgNSAwIDAgMCA1LjEgOUg1cy0xIDAtMSAxIDEgMSAxIDFoLjFBNSA1IDAgMCAwIDkgMTQuOXYuMXMwIDEgMSAxIDEtMSAxLTF2LS4xYTUgNSAwIDAgMCAzLjktMy45aC4xczEgMCAxLTEtMS0xLTEtMWgtLjFBNSA1IDAgMCAwIDExIDUuMVY1czAtMS0xLTFtMCAyLjVhMy41IDMuNSAwIDEgMSAwIDcgMy41IDMuNSAwIDEgMSAwLTcnLyUzRSUzQ2NpcmNsZSBjeD0nMTAnIGN5PScxMCcgcj0nMicvJTNFJTNDcGF0aCBmaWxsPSdyZWQnIGQ9J20xNCA1IDEgMS05IDktMS0xeicvJTNFJTNDL3N2ZyUzRVwiKX0ubWFwbGlicmVnbC1jdHJsIGJ1dHRvbi5tYXBsaWJyZWdsLWN0cmwtZ2VvbG9jYXRlLm1hcGxpYnJlZ2wtY3RybC1nZW9sb2NhdGUtYWN0aXZlIC5tYXBsaWJyZWdsLWN0cmwtaWNvbntiYWNrZ3JvdW5kLWltYWdlOnVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0Zi04LCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPScyOScgaGVpZ2h0PScyOScgZmlsbD0nJTIzMzNiNWU1JyB2aWV3Qm94PScwIDAgMjAgMjAnJTNFJTNDcGF0aCBkPSdNMTAgNEM5IDQgOSA1IDkgNXYuMUE1IDUgMCAwIDAgNS4xIDlINXMtMSAwLTEgMSAxIDEgMSAxaC4xQTUgNSAwIDAgMCA5IDE0Ljl2LjFzMCAxIDEgMSAxLTEgMS0xdi0uMWE1IDUgMCAwIDAgMy45LTMuOWguMXMxIDAgMS0xLTEtMS0xLTFoLS4xQTUgNSAwIDAgMCAxMSA1LjFWNXMwLTEtMS0xbTAgMi41YTMuNSAzLjUgMCAxIDEgMCA3IDMuNSAzLjUgMCAxIDEgMC03Jy8lM0UlM0NjaXJjbGUgY3g9JzEwJyBjeT0nMTAnIHI9JzInLyUzRSUzQy9zdmclM0VcIil9Lm1hcGxpYnJlZ2wtY3RybCBidXR0b24ubWFwbGlicmVnbC1jdHJsLWdlb2xvY2F0ZS5tYXBsaWJyZWdsLWN0cmwtZ2VvbG9jYXRlLWFjdGl2ZS1lcnJvciAubWFwbGlicmVnbC1jdHJsLWljb257YmFja2dyb3VuZC1pbWFnZTp1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGYtOCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMjknIGhlaWdodD0nMjknIGZpbGw9JyUyM2U1ODk3OCcgdmlld0JveD0nMCAwIDIwIDIwJyUzRSUzQ3BhdGggZD0nTTEwIDRDOSA0IDkgNSA5IDV2LjFBNSA1IDAgMCAwIDUuMSA5SDVzLTEgMC0xIDEgMSAxIDEgMWguMUE1IDUgMCAwIDAgOSAxNC45di4xczAgMSAxIDEgMS0xIDEtMXYtLjFhNSA1IDAgMCAwIDMuOS0zLjloLjFzMSAwIDEtMS0xLTEtMS0xaC0uMUE1IDUgMCAwIDAgMTEgNS4xVjVzMC0xLTEtMW0wIDIuNWEzLjUgMy41IDAgMSAxIDAgNyAzLjUgMy41IDAgMSAxIDAtNycvJTNFJTNDY2lyY2xlIGN4PScxMCcgY3k9JzEwJyByPScyJy8lM0UlM0Mvc3ZnJTNFXCIpfS5tYXBsaWJyZWdsLWN0cmwgYnV0dG9uLm1hcGxpYnJlZ2wtY3RybC1nZW9sb2NhdGUubWFwbGlicmVnbC1jdHJsLWdlb2xvY2F0ZS1iYWNrZ3JvdW5kIC5tYXBsaWJyZWdsLWN0cmwtaWNvbntiYWNrZ3JvdW5kLWltYWdlOnVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0Zi04LCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPScyOScgaGVpZ2h0PScyOScgZmlsbD0nJTIzMzNiNWU1JyB2aWV3Qm94PScwIDAgMjAgMjAnJTNFJTNDcGF0aCBkPSdNMTAgNEM5IDQgOSA1IDkgNXYuMUE1IDUgMCAwIDAgNS4xIDlINXMtMSAwLTEgMSAxIDEgMSAxaC4xQTUgNSAwIDAgMCA5IDE0Ljl2LjFzMCAxIDEgMSAxLTEgMS0xdi0uMWE1IDUgMCAwIDAgMy45LTMuOWguMXMxIDAgMS0xLTEtMS0xLTFoLS4xQTUgNSAwIDAgMCAxMSA1LjFWNXMwLTEtMS0xbTAgMi41YTMuNSAzLjUgMCAxIDEgMCA3IDMuNSAzLjUgMCAxIDEgMC03Jy8lM0UlM0Mvc3ZnJTNFXCIpfS5tYXBsaWJyZWdsLWN0cmwgYnV0dG9uLm1hcGxpYnJlZ2wtY3RybC1nZW9sb2NhdGUubWFwbGlicmVnbC1jdHJsLWdlb2xvY2F0ZS1iYWNrZ3JvdW5kLWVycm9yIC5tYXBsaWJyZWdsLWN0cmwtaWNvbntiYWNrZ3JvdW5kLWltYWdlOnVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0Zi04LCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPScyOScgaGVpZ2h0PScyOScgZmlsbD0nJTIzZTU0ZTMzJyB2aWV3Qm94PScwIDAgMjAgMjAnJTNFJTNDcGF0aCBkPSdNMTAgNEM5IDQgOSA1IDkgNXYuMUE1IDUgMCAwIDAgNS4xIDlINXMtMSAwLTEgMSAxIDEgMSAxaC4xQTUgNSAwIDAgMCA5IDE0Ljl2LjFzMCAxIDEgMSAxLTEgMS0xdi0uMWE1IDUgMCAwIDAgMy45LTMuOWguMXMxIDAgMS0xLTEtMS0xLTFoLS4xQTUgNSAwIDAgMCAxMSA1LjFWNXMwLTEtMS0xbTAgMi41YTMuNSAzLjUgMCAxIDEgMCA3IDMuNSAzLjUgMCAxIDEgMC03Jy8lM0UlM0Mvc3ZnJTNFXCIpfX1AbWVkaWEgKGZvcmNlZC1jb2xvcnM6YWN0aXZlKSBhbmQgKHByZWZlcnMtY29sb3Itc2NoZW1lOmxpZ2h0KXsubWFwbGlicmVnbC1jdHJsIGJ1dHRvbi5tYXBsaWJyZWdsLWN0cmwtZ2VvbG9jYXRlIC5tYXBsaWJyZWdsLWN0cmwtaWNvbntiYWNrZ3JvdW5kLWltYWdlOnVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0Zi04LCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPScyOScgaGVpZ2h0PScyOScgdmlld0JveD0nMCAwIDIwIDIwJyUzRSUzQ3BhdGggZD0nTTEwIDRDOSA0IDkgNSA5IDV2LjFBNSA1IDAgMCAwIDUuMSA5SDVzLTEgMC0xIDEgMSAxIDEgMWguMUE1IDUgMCAwIDAgOSAxNC45di4xczAgMSAxIDEgMS0xIDEtMXYtLjFhNSA1IDAgMCAwIDMuOS0zLjloLjFzMSAwIDEtMS0xLTEtMS0xaC0uMUE1IDUgMCAwIDAgMTEgNS4xVjVzMC0xLTEtMW0wIDIuNWEzLjUgMy41IDAgMSAxIDAgNyAzLjUgMy41IDAgMSAxIDAtNycvJTNFJTNDY2lyY2xlIGN4PScxMCcgY3k9JzEwJyByPScyJy8lM0UlM0Mvc3ZnJTNFXCIpfS5tYXBsaWJyZWdsLWN0cmwgYnV0dG9uLm1hcGxpYnJlZ2wtY3RybC1nZW9sb2NhdGU6ZGlzYWJsZWQgLm1hcGxpYnJlZ2wtY3RybC1pY29ue2JhY2tncm91bmQtaW1hZ2U6dXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmLTgsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzI5JyBoZWlnaHQ9JzI5JyBmaWxsPSclMjM2NjYnIHZpZXdCb3g9JzAgMCAyMCAyMCclM0UlM0NwYXRoIGQ9J00xMCA0QzkgNCA5IDUgOSA1di4xQTUgNSAwIDAgMCA1LjEgOUg1cy0xIDAtMSAxIDEgMSAxIDFoLjFBNSA1IDAgMCAwIDkgMTQuOXYuMXMwIDEgMSAxIDEtMSAxLTF2LS4xYTUgNSAwIDAgMCAzLjktMy45aC4xczEgMCAxLTEtMS0xLTEtMWgtLjFBNSA1IDAgMCAwIDExIDUuMVY1czAtMS0xLTFtMCAyLjVhMy41IDMuNSAwIDEgMSAwIDcgMy41IDMuNSAwIDEgMSAwLTcnLyUzRSUzQ2NpcmNsZSBjeD0nMTAnIGN5PScxMCcgcj0nMicvJTNFJTNDcGF0aCBmaWxsPSdyZWQnIGQ9J20xNCA1IDEgMS05IDktMS0xeicvJTNFJTNDL3N2ZyUzRVwiKX19QGtleWZyYW1lcyBtYXBsaWJyZWdsLXNwaW57MCV7dHJhbnNmb3JtOnJvdGF0ZSgwZGVnKX10b3t0cmFuc2Zvcm06cm90YXRlKDF0dXJuKX19YS5tYXBsaWJyZWdsLWN0cmwtbG9nb3tiYWNrZ3JvdW5kLWltYWdlOnVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0Zi04LCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPSc4OCcgaGVpZ2h0PScyMycgZmlsbD0nbm9uZSclM0UlM0NwYXRoIGZpbGw9JyUyMzAwMCcgZmlsbC1vcGFjaXR5PScuNCcgZmlsbC1ydWxlPSdldmVub2RkJyBkPSdNMTcuNDA4IDE2Ljc5NmgtMS44MjdsMi41MDEtMTIuMDk1aC4xOThsMy4zMjQgNi41MzMuOTg4IDIuMTkuOTg4LTIuMTkgMy4yNTgtNi41MzNoLjE4MWwyLjYgMTIuMDk1aC0xLjgxbC0xLjIxOC01LjY0NC0uMzYyLTEuNzEtLjY1OCAxLjcxLTIuOTI5IDUuNjQ0aC0uMDk4bC0yLjkxNC01LjY0NC0uNzU3LTEuNzEtLjM0NSAxLjcxem0xLjk1OC0zLjQyLS43MjYgMy42NjNhMS4yNTUgMS4yNTUgMCAwIDEtMS4yMzIgMS4wMTFoLTEuODI3YTEuMjU1IDEuMjU1IDAgMCAxLTEuMjI5LTEuNTA5bDIuNTAxLTEyLjA5NWExLjI1NSAxLjI1NSAwIDAgMSAxLjIzLTEuMDAxaC4xOTdhMS4yNSAxLjI1IDAgMCAxIDEuMTIuNjg1bDMuMTkgNi4yNzMgMy4xMjUtNi4yNjNhMS4yNSAxLjI1IDAgMCAxIDEuMTIzLS42OTVoLjE4MWExLjI1NSAxLjI1NSAwIDAgMSAxLjIyNy45OTFsMS40NDMgNi43MWE1IDUgMCAwIDEgLjMxNC0uNzg3bC4wMDktLjAxNmE0LjYgNC42IDAgMCAxIDEuNzc3LTEuODg3Yy43ODItLjQ2IDEuNjY4LS42NjcgMi42MTEtLjY2N2E0LjYgNC42IDAgMCAxIDEuNy4zMmwuMzA2LjEzNGMuMjEtLjE2LjQ3NC0uMjU2Ljc1OS0uMjU2aDEuNjk0YTEuMjU1IDEuMjU1IDAgMCAxIDEuMjEyLjkyNSAxLjI1NSAxLjI1NSAwIDAgMSAxLjIxMi0uOTI1aDEuNzExYy4yODQgMCAuNTQ1LjA5NC43NTUuMjUyLjYxMy0uMyAxLjMxMi0uNDUgMi4wNzUtLjQ1IDEuMzU2IDAgMi41NTcuNDQ1IDMuNDgyIDEuNHEuNDcuNDguNzYzIDEuMDY0VjQuNzAxYTEuMjU1IDEuMjU1IDAgMCAxIDEuMjU1LTEuMjU1aDEuODZBMS4yNTUgMS4yNTUgMCAwIDEgNTQuNDQgNC43djkuMTk0aDIuMjE3Yy4xOSAwIC4zNy4wNDMuNTMyLjExOHYtNC43N2MwLS4zNTYuMTQ3LS42NzguMzg1LS45MDZhMi40MiAyLjQyIDAgMCAxLS42ODItMS43MWMwLS42NjUuMjY3LTEuMjUzLjczNS0xLjdhMi40NSAyLjQ1IDAgMCAxIDEuNzIyLS42NzQgMi40MyAyLjQzIDAgMCAxIDEuNzA1LjY3NXEuMzE4LjMwMi41MDQuNjgzVjQuN2ExLjI1NSAxLjI1NSAwIDAgMSAxLjI1NS0xLjI1NWgxLjc0NEExLjI1NSAxLjI1NSAwIDAgMSA2NS44MTIgNC43djMuMzM1YTQuOCA0LjggMCAwIDEgMS41MjYtLjI0NmMuOTM4IDAgMS44MTcuMjE0IDIuNTkuNjlhNC40NyA0LjQ3IDAgMCAxIDEuNjcgMS43NDN2LS45OGExLjI1NSAxLjI1NSAwIDAgMSAxLjI1Ni0xLjI1NmgxLjc3N2MuMjMzIDAgLjQ1MS4wNjQuNjM5LjE3NGEzLjQgMy40IDAgMCAxIDEuNTY3LS4zNzJjLjM0NiAwIC44NjEuMDIgMS4yODUuMjMyYTEuMjUgMS4yNSAwIDAgMSAuNjg5IDEuMDA0IDQuNyA0LjcgMCAwIDEgLjg1My0uNTg4Yy43OTUtLjQ0IDEuNjc1LS42NDcgMi42MS0uNjQ3IDEuMzg1IDAgMi42NS4zOSAzLjUyNSAxLjM5Ni44MzYuOTM4IDEuMTY4IDIuMTczIDEuMTY4IDMuNTI4cS0uMDAxLjUxNS0uMDU2IDEuMDUxYTEuMjU1IDEuMjU1IDAgMCAxLS45NDcgMS4wOWwuNDA4Ljk1MmExLjI1NSAxLjI1NSAwIDAgMS0uNDc3IDEuNTUyYy0uNDE4LjI2OC0uOTIuNDYzLTEuNDU4LjYxMi0uNjEzLjE3MS0xLjMwNC4yNDQtMi4wNDkuMjQ0LTEuMDYgMC0yLjA0My0uMjA3LTIuODg2LS42OThsLS4wMTUtLjAwOGMtLjc5OC0uNDgtMS40MTktMS4xMzUtMS44MTgtMS45NjNsLS4wMDQtLjAwOGE1LjggNS44IDAgMCAxLS41NDgtMi41MTJxMC0uNDI5LjA1My0uODQzYTEuMyAxLjMgMCAwIDEtLjMzMy0uMDg2bC0uMTY2LS4wMDRjLS4yMjMgMC0uNDI2LjA2Mi0uNjQzLjIyOC0uMDMuMDI0LS4xNDIuMTM5LS4xNDIuNTl2My44ODNhMS4yNTUgMS4yNTUgMCAwIDEtMS4yNTYgMS4yNTZoLTEuNzc3YTEuMjU1IDEuMjU1IDAgMCAxLTEuMjU2LTEuMjU2VjE1LjY5bC0uMDMyLjA1N2E0LjggNC44IDAgMCAxLTEuODYgMS44MzMgNS4wNCA1LjA0IDAgMCAxLTIuNDg0LjYzNCA0LjUgNC41IDAgMCAxLTEuOTM1LS40MjQgMS4yNSAxLjI1IDAgMCAxLS43NjQuMjU4aC0xLjcxYTEuMjU1IDEuMjU1IDAgMCAxLTEuMjU2LTEuMjU1VjcuNjg3YTIuNCAyLjQgMCAwIDEtLjQyOC42MjVjLjI1My4yMy40MTIuNTYxLjQxMi45M3Y3LjU1M2ExLjI1NSAxLjI1NSAwIDAgMS0xLjI1NiAxLjI1NWgtMS44NDNhMS4yNSAxLjI1IDAgMCAxLS44OTQtLjM3M2MtLjIyOC4yMy0uNTQ0LjM3My0uODk0LjM3M0g1MS4zMmExLjI1NSAxLjI1NSAwIDAgMS0xLjI1Ni0xLjI1NXYtMS4yNTFsLS4wNjEuMTE3YTQuNyA0LjcgMCAwIDEtMS43ODIgMS44ODQgNC43NyA0Ljc3IDAgMCAxLTIuNDg1LjY3IDUuNiA1LjYgMCAwIDEtMS40ODUtLjE4OGwuMDA5IDIuNzY0YTEuMjU1IDEuMjU1IDAgMCAxLTEuMjU1IDEuMjU5aC0xLjcyOWExLjI1NSAxLjI1NSAwIDAgMS0xLjI1NS0xLjI1NXYtMy41MzdhMS4yNTUgMS4yNTUgMCAwIDEtMS4xNjcuNzkzaC0xLjY3OWExLjI1IDEuMjUgMCAwIDEtLjc3LS4yNjMgNC41IDQuNSAwIDAgMS0xLjk0NS40MjljLS44ODUgMC0xLjcyNC0uMjEtMi40OTUtLjYzMmwtLjAxNy0uMDFhNSA1IDAgMCAxLTEuMDgxLS44MzYgMS4yNTUgMS4yNTUgMCAwIDEtMS4yNTQgMS4zMTJoLTEuODFhMS4yNTUgMS4yNTUgMCAwIDEtMS4yMjgtLjk5bC0uNzgyLTMuNjI1LTIuMDQ0IDMuOTM5YTEuMjUgMS4yNSAwIDAgMS0xLjExNS42NzZoLS4wOThhMS4yNSAxLjI1IDAgMCAxLTEuMTE2LS42OGwtMi4wNjEtMy45OTR6TTM1LjkyIDE2LjYzbC4yMDctLjExNC4yMjMtLjE1cS40OTMtLjM1Ni43MzUtLjc4NWwuMDYxLS4xMTguMDMzIDEuMzMyaDEuNjc4VjkuMjQyaC0xLjY5NGwtLjAzMyAxLjI2N3EtLjEzMy0uMzI5LS41MjYtLjY1OGwtLjAzMi0uMDI4YTMuMiAzLjIgMCAwIDAtLjY2OC0uNDI4bC0uMjctLjEyYTMuMyAzLjMgMCAwIDAtMS4yMzUtLjIzcS0xLjEzNi0uMDAxLTEuOTc0LjQ5M2EzLjM2IDMuMzYgMCAwIDAtMS4zIDEuMzgycS0uNDQ1Ljg5LS40NDQgMi4wNzQgMCAxLjIuNTEgMi4xMDdhMy44IDMuOCAwIDAgMCAxLjM4MiAxLjM4MSAzLjkgMy45IDAgMCAwIDEuODkzLjQ3N3EuNzk1IDAgMS40NTUtLjMzem0tMi43ODktNS4zOHEtLjU3Ni42NzUtLjU3NSAxLjc2MiAwIDEuMTAyLjU1OSAxLjc5NC41NzYuNjc1IDEuNjQ1LjY3NWEyLjI1IDIuMjUgMCAwIDAgLjkzNC0uMTkgMi4yIDIuMiAwIDAgMCAuNDY4LS4yOWwuMTc4LS4xNjFhMi4yIDIuMiAwIDAgMCAuMzk3LS41NjFxLjI0NC0uNS4yNDQtMS4xNXYtLjExNXEwLS43MDgtLjI5Ni0xLjI2N2wtLjA0My0uMDc3YTIuMiAyLjIgMCAwIDAtLjYzMy0uNzA5bC0uMTMtLjA4Ni0uMDQ3LS4wMjhhMi4xIDIuMSAwIDAgMC0xLjA3My0uMjg1cS0xLjA1MiAwLTEuNjI5LjY5MnptMi4zMTYgMi43MDZjLjE2My0uMTcuMjgtLjQwNy4yOC0uODN2LS4xMTRjMC0uMjkyLS4wNi0uNTA4LS4xNS0uNjhhLjk2Ljk2IDAgMCAwLS4zNTMtLjM4OS44NS44NSAwIDAgMC0uNDY0LS4xMjdjLS40IDAtLjU2LjExNC0uNjY0LjIzOWwtLjAxLjAxMmMtLjE0OC4xNzQtLjI3NS40NS0uMjc1Ljk0NSAwIC41MDYuMTIyLjgwMS4yNy45OS4wOTcuMTEuMjY2LjIyNC42OC4yMjQuMzAzIDAgLjUwNC0uMDkuNjg3LS4yNjl6bTcuNTQ1IDEuNzA1YTIuNiAyLjYgMCAwIDAgLjMzMS40MjNxLjMxOS4zMy43NTUuNTQ4bC4xNzMuMDc0cS42NS4yNTUgMS40OS4yNTUgMS4wMiAwIDEuODQ0LS40OTNhMy40NSAzLjQ1IDAgMCAwIDEuMzE2LTEuNHEuNDkzLS45MDQuNDkzLTIuMDg5IDAtMS45MDktLjk4OC0yLjkxMy0uOTg4LTEuMDItMi41ODQtMS4wMi0uODk4IDAtMS41NzUuMzQ3YTMgMyAwIDAgMC0uNDE1LjI2MmwtLjE5OS4xNjZhMy40IDMuNCAwIDAgMC0uNjQuODJWOS4yNDJoLTEuNzEydjExLjU1M2gxLjcyOWwtLjAxNy01LjEzNHptLjUzLTEuMTM4cS4yMDYuMjkuNDguNWwuMTU1LjExLjA1My4wMzRxLjUxLjI5NiAxLjExOS4yOTcgMS4wNyAwIDEuNjQ1LS42NzUuNTc3LS42OS41NzYtMS43NjIgMC0xLjExOS0uNTc2LTEuNzc3LS41NTgtLjY3NS0xLjY0NS0uNjc1LS40MzUgMC0uODM1LjE2YTIgMiAwIDAgMC0uMjg0LjEzNiAyIDIgMCAwIDAtLjM2My4yNTQgMi4yIDIuMiAwIDAgMC0uNDYuNTY5bC0uMDgyLjE2MmEyLjYgMi42IDAgMCAwLS4yMTMgMS4wNzJ2LjExNXEwIC43MDcuMjk2IDEuMjY3bC4xMzUuMjExem0uOTY0LS44MThhMS4xIDEuMSAwIDAgMCAuMzY3LjM4NS45NC45NCAwIDAgMCAuNDc2LjExOGMuNDIzIDAgLjU5LS4xMTcuNjg3LS4yMy4xNTktLjE5NC4yOC0uNDc4LjI4LS45NSAwLS41My0uMTMzLS44LS4yNjYtLjk1MmwtLjAyMS0uMDI1Yy0uMDc4LS4wOTQtLjIzMS0uMjIxLS42OC0uMjIxYTEgMSAwIDAgMC0uNTAzLjEzNWwtLjAxMi4wMDdhLjg2Ljg2IDAgMCAwLS4zMzUuMzQzYy0uMDczLjEzMy0uMTMyLjMyNC0uMTMyLjYxNHYuMTE1YTEuNCAxLjQgMCAwIDAgLjE0LjY2em0xNS43LTYuMjIycS4zNDctLjM0Ni4zNDYtLjg1NmExLjA1IDEuMDUgMCAwIDAtLjM0NS0uNzkgMS4xOCAxLjE4IDAgMCAwLS44NC0uMzI5cS0uNTEgMC0uODU1LjMzYTEuMDUgMS4wNSAwIDAgMC0uMzQ2Ljc5cTAgLjUxLjM0Ni44NTUuMzQ1LjM0Ni44NTYuMzQ2LjUxIDAgLjgzOS0uMzQ2em00LjMzNyA5LjMxNC4wMzMtMS4zMzJxLjE5MS40MDMuNTkuNzQ3bC4wOTguMDgxYTQgNCAwIDAgMCAuMzE2LjIyNGwuMjIzLjEyMmEzLjIgMy4yIDAgMCAwIDEuNDQuMzIyIDMuOCAzLjggMCAwIDAgMS44NzUtLjQ3NyAzLjUgMy41IDAgMCAwIDEuMzgyLTEuMzY2cS41MjctLjg5LjUyNi0yLjA5IDAtMS4xODQtLjQ0NC0yLjA3M2EzLjI0IDMuMjQgMCAwIDAtMS4yODMtMS4zOTlxLS44MjMtLjUxLTEuOTQyLS41MWEzLjUgMy41IDAgMCAwLTEuNTI3LjM0NGwtLjA4Ni4wNDMtLjE2NS4wOWEzIDMgMCAwIDAtLjMzLjIxNHEtLjQzMi4zMTUtLjY1Ni43MDdhMiAyIDAgMCAwLS4wOTkuMTk4bC4wODItMS4yODNWNC43MDFoLTEuNzQ0djEyLjA5NXptLjQ3My0yLjUwOWEyLjUgMi41IDAgMCAwIC41NjYuN3EuMTE3LjA5OC4yNDUuMThsLjE0NC4wOGEyLjEgMi4xIDAgMCAwIC45NzUuMjMycTEuMDcgMCAxLjY0NS0uNjc1LjU3Ni0uNjkuNTc2LTEuNzc4IDAtMS4xMDItLjU3Ni0xLjc3Ny0uNTYtLjY5MS0xLjY0NS0uNjkyYTIuMiAyLjIgMCAwIDAtMS4wMTUuMjM1cS0uMjIuMTEzLS40MTUuMjgybC0uMTUuMTQyYTIuMSAyLjEgMCAwIDAtLjQyLjU5NHEtLjIyMy40NzktLjIyMyAxLjF2LjExNXEwIC43MDUuMjkzIDEuMjZ6bTIuNjE2LS4yOTNjLjE1Ny0uMTkxLjI4LS40NzkuMjgtLjk2NyAwLS41MS0uMTMtLjc5LS4yNzYtLjk2MWwtLjAyMS0uMDI2Yy0uMDgyLS4xLS4yMzItLjIyNS0uNjctLjIyNWEuODcuODcgMCAwIDAtLjY4MS4yNzlsLS4wMTIuMDExYy0uMTU0LjE1NS0uMjc0LjM4LS4yNzQuODA3di4xMTVjMCAuMjg1LjA1Ny40OTkuMTQ0LjY2OWExLjEgMS4xIDAgMCAwIC4zNjcuNDA1Yy4xMzcuMDgyLjI4LjEyMy40NTUuMTIzLjQyMyAwIC41OS0uMTE4LjY4Ni0uMjN6bTguMjY2LTMuMDEzcS4zNDUtLjEzLjcyNC0uMTRsLjA2OS0uMDAycS40OTMgMCAuNjQyLjA5OWwuMjQ3LTEuNzk0cS0uMTk2LS4wOTktLjcxNy0uMDk5YTIuMyAyLjMgMCAwIDAtLjU0NS4wNjMgMiAyIDAgMCAwLS40MTEuMTQ4IDIuMiAyLjIgMCAwIDAtLjQuMjQ5IDIuNSAyLjUgMCAwIDAtLjQ4NS40OTkgMi43IDIuNyAwIDAgMC0uMzIuNTgxbC0uMDUuMTM3di0xLjQ4aC0xLjc3OHY3LjU1M2gxLjc3N3YtMy44ODRxMC0uNTQ2LjE1OS0uOTQzYTEuNSAxLjUgMCAwIDEgLjQ2Ni0uNjM2IDIuNSAyLjUgMCAwIDEgLjM5OS0uMjUzIDIgMiAwIDAgMSAuMjI0LS4wOTl6bTkuNzg0IDIuNjU2LjA1LS45MjJxMC0xLjc0My0uODU2LTIuNjk4LS44MzgtLjk3LTIuNTg0LS45Ny0xLjExOS0uMDAxLTIuMDA3LjQ5M2EzLjQ2IDMuNDYgMCAwIDAtMS40IDEuMzgycS0uNDkzLjkwNi0uNDkzIDIuMTA2IDAgMS4wNy40MjggMS45NzUuNDI4Ljg5IDEuMzMyIDEuNDMyLjkwNi41MjYgMi4yNTUuNTI2Ljk3MyAwIDEuNjY4LS4xODVsLjA0NC0uMDEyLjEzNS0uMDRxLjYxMy0uMTg0Ljk4NC0uNDIxbC0uNTQyLTEuMjY3cS0uMy4xNjItLjY0Mi4yNzRsLS4yOTcuMDg3cS0uNTEuMTMxLTEuMy4xMzEtLjk1NCAwLTEuNDk3LS40NDRhMS42IDEuNiAwIDAgMS0uMTkyLS4xOTNxLS4zNjYtLjQ0LS41MTItMS4yMzRsLS4wMDQtLjAyMXptLTUuNDI3LTEuMjU2LS4wMDMuMDIyaDMuNzUydi0uMTM4cS0uMDExLS43MjctLjI4OC0xLjExOGExIDEgMCAwIDAtLjE1Ni0uMTc2cS0uNDYtLjQyOC0xLjMxNi0uNDI4LS45ODYgMC0xLjQ5NC42MDQtLjM3OS40NS0uNDk0IDEuMjM0em0tMjcuMDUzIDIuNzdWNC43aC0xLjg2djEyLjA5NWg1LjMzM1YxNS4xNXptNy4xMDMtNS45MDh2Ny41NTNoLTEuODQzVjkuMjQyaDEuODQzeicvJTNFJTNDcGF0aCBmaWxsPSclMjNmZmYnIGQ9J20xOS42MyAxMS4xNTEtLjc1Ny0xLjcxLS4zNDUgMS43MS0xLjEyIDUuNjQ0aC0xLjgyN0wxOC4wODMgNC43aC4xOTdsMy4zMjUgNi41MzMuOTg4IDIuMTkuOTg4LTIuMTlMMjYuODM5IDQuN2guMTgxbDIuNiAxMi4wOTVoLTEuODFsLTEuMjE4LTUuNjQ0LS4zNjItMS43MS0uNjU4IDEuNzEtMi45MyA1LjY0NGgtLjA5OGwtMi45MTMtNS42NDR6bTE0LjgzNiA1LjgxcS0xLjAyIDAtMS44OTMtLjQ3OGEzLjggMy44IDAgMCAxLTEuMzgxLTEuMzgycS0uNTEtLjkwNi0uNTEtMi4xMDYgMC0xLjE4NS40NDQtMi4wNzRhMy4zNiAzLjM2IDAgMCAxIDEuMy0xLjM4MnEuODM5LS40OTQgMS45NzQtLjQ5NGEzLjMgMy4zIDAgMCAxIDEuMjM0LjIzMSAzLjMgMy4zIDAgMCAxIC45Ny41NzVxLjM5Ni4zMy41MjcuNjU5bC4wMzMtMS4yNjdoMS42OTR2Ny41NTNIMzcuMThsLS4wMzMtMS4zMzJxLS4yNzkuNTkzLTEuMDIgMS4wNTNhMy4xNyAzLjE3IDAgMCAxLTEuNjYyLjQ0NHptLjI5Ni0xLjQ4MnEuOTM4IDAgMS41OC0uNjQyLjY0Mi0uNjYuNjQyLTEuNzExdi0uMTE1cTAtLjcwOC0uMjk2LTEuMjY3YTIuMiAyLjIgMCAwIDAtLjgwNy0uODcyIDIuMSAyLjEgMCAwIDAtMS4xMTktLjMxM3EtMS4wNTMgMC0xLjYyOS42OTItLjU3NS42NzUtLjU3NSAxLjc2IDAgMS4xMDMuNTU5IDEuNzk1LjU3Ny42NzUgMS42NDUuNjc1em02LjUyMS02LjIzN2gxLjcxMXYxLjRxLjkwNi0xLjU5NyAyLjgzLTEuNTk3IDEuNTk2IDAgMi41ODQgMS4wMi45ODggMS4wMDUuOTg4IDIuOTE0IDAgMS4xODUtLjQ5MyAyLjA5YTMuNDYgMy40NiAwIDAgMS0xLjMxNiAxLjM5OSAzLjUgMy41IDAgMCAxLTEuODQ0LjQ5M3EtLjk1NCAwLTEuNjYyLS4zMjlhMi42NyAyLjY3IDAgMCAxLTEuMDg2LS45N2wuMDE3IDUuMTM0aC0xLjcyOHptNC4wNDggNi4yMnExLjA3IDAgMS42NDUtLjY3NC41NzctLjY5LjU3Ni0xLjc2MiAwLTEuMTE5LS41NzYtMS43NzctLjU1OC0uNjc1LTEuNjQ1LS42NzUtLjU5MiAwLTEuMTIuMjk2LS41MS4yOC0uODIyLjgyMy0uMjk2LjUyNy0uMjk2IDEuMjM0di4xMTVxMCAuNzA4LjI5NiAxLjI2Ny4zMTMuNTQzLjgyMy44NTUuNTEuMjk2IDEuMTE5LjI5N3onLyUzRSUzQ3BhdGggZmlsbD0nJTIzZTFlM2U5JyBkPSdNNTEuMzI1IDQuN2gxLjg2djEwLjQ1aDMuNDczdjEuNjQ2aC01LjMzM3ptNy4xMiA0LjU0MmgxLjg0M3Y3LjU1M2gtMS44NDN6bS45MDUtMS40MTVhMS4xNiAxLjE2IDAgMCAxLS44NTYtLjM0NiAxLjE3IDEuMTcgMCAwIDEtLjM0Ni0uODU2IDEuMDUgMS4wNSAwIDAgMSAuMzQ2LS43OXEuMzQ2LS4zMjkuODU2LS4zMjkuNDk0IDAgLjgzOS4zM2ExLjA1IDEuMDUgMCAwIDEgLjM0NS43OSAxLjE2IDEuMTYgMCAwIDEtLjM0NS44NTVxLS4zMy4zNDYtLjg0LjM0NnptNy44NzUgOS4xMzNhMy4xNyAzLjE3IDAgMCAxLTEuNjYyLS40NDRxLS43MjMtLjQ2LTEuMDA0LTEuMDUzbC0uMDMzIDEuMzMyaC0xLjcxVjQuNzAxaDEuNzQzdjQuNjU3bC0uMDgyIDEuMjgzcS4yNzktLjY1OCAxLjA4Ni0xLjExOWEzLjUgMy41IDAgMCAxIDEuNzc4LS40NzdxMS4xMTkgMCAxLjk0Mi41MWEzLjI0IDMuMjQgMCAwIDEgMS4yODMgMS40cS40NDUuODg4LjQ0NCAyLjA3MiAwIDEuMjAxLS41MjYgMi4wOWEzLjUgMy41IDAgMCAxLTEuMzgyIDEuMzY2IDMuOCAzLjggMCAwIDEtMS44NzYuNDc3em0tLjI5Ni0xLjQ4MXExLjA2OSAwIDEuNjQ1LS42NzUuNTc3LS42OS41NzctMS43NzggMC0xLjEwMi0uNTc3LTEuNzc2LS41Ni0uNjkxLTEuNjQ1LS42OTJhMi4xMiAyLjEyIDAgMCAwLTEuNTguNjU5cS0uNjQyLjY0MS0uNjQyIDEuNjk0di4xMTVxMCAuNzEuMjk2IDEuMjY3YTIuNCAyLjQgMCAwIDAgLjgwNy44NzIgMi4xIDIuMSAwIDAgMCAxLjExOS4zMTN6bTUuOTI3LTYuMjM3aDEuNzc3djEuNDgxcS4yNjMtLjc1Ny44NTYtMS4yMTdhMi4xNCAyLjE0IDAgMCAxIDEuMzQ5LS40NnEuNTI3IDAgLjcyNC4wOThsLS4yNDcgMS43OTRxLS4xNDktLjA5OS0uNjQyLS4wOTktLjc3NCAwLTEuNDE2LjQ5NC0uNjI2LjQ5My0uNjI2IDEuNTh2My44ODNoLTEuNzc3VjkuMjQyem05LjUzNCA3LjcxOHEtMS4zNSAwLTIuMjU1LS41MjYtLjkwNC0uNTQzLTEuMzMyLTEuNDMyYTQuNiA0LjYgMCAwIDEtLjQyOC0xLjk3NXEwLTEuMi40OTMtMi4xMDZhMy40NiAzLjQ2IDAgMCAxIDEuNC0xLjM4MnEuODg5LS40OTUgMi4wMDctLjQ5NCAxLjc0NCAwIDIuNTg0Ljk3Ljg1NS45NTYuODU2IDIuNyAwIC40NDQtLjA1LjkyaC01LjQzcS4xOCAxLjAwNS43MDggMS40NS41NDIuNDQzIDEuNDk3LjQ0My43OSAwIDEuMy0uMTMxYTQgNCAwIDAgMCAuOTM4LS4zNjJsLjU0MiAxLjI2N3EtLjQxMS4yNjMtMS4xMTkuNDYtLjcwOC4xOTgtMS43MTEuMTk3em0xLjU5Ni00LjU1OHEuMDE2LTEuMDItLjQ0NC0xLjQzMi0uNDYtLjQyOC0xLjMxNi0uNDI4LTEuNzI4IDAtMS45OTEgMS44NnonLyUzRSUzQ3BhdGggZD0nTTUuMDc0IDE1Ljk0OGEuNDg0LjY1NyAwIDAgMC0uNDg2LjY1OXYxLjg0YS40ODQuNjU3IDAgMCAwIC40ODYuNjU5aDQuMTAxYS40ODQuNjU3IDAgMCAwIC40ODYtLjY1OXYtMS44NGEuNDg0LjY1NyAwIDAgMC0uNDg2LS42NTl6bTMuNTYgMS4xNkg1LjYxN3YuODM4aDMuMDE3eicgc3R5bGU9J2ZpbGw6JTIzZmZmO2ZpbGwtcnVsZTpldmVub2RkO3N0cm9rZS13aWR0aDoxLjAzNjAwMDAxJy8lM0UlM0NnIHN0eWxlPSdzdHJva2Utd2lkdGg6MS4xMjYwMzU0NSclM0UlM0NwYXRoIGQ9J00tOS40MDgtMS40MTZjLTMuODMzLS4wMjUtNy4wNTYgMi45MTItNy4wOCA2LjYxNS0uMDIgMy4wOCAxLjY1MyA0LjgzMiAzLjEwNyA2LjI2OC45MDMuODkyIDEuNzIxIDEuNzQgMi4zMiAyLjkwMmwtLjUyNS0uMDA0Yy0uNTQzLS4wMDMtLjk5Mi4zMDQtMS4yNC42MzlhMS44NyAxLjg3IDAgMCAwLS4zNjIgMS4xMjFsLS4wMTEgMS44NzdjLS4wMDMuNDAyLjEwNC43ODcuMzQ3IDEuMTI1LjI0NC4zMzguNjg4LjY1MyAxLjIzLjY1Nmw0LjE0Mi4wMjhjLjU0Mi4wMDMuOTktLjMwNiAxLjIzOC0uNjQxYTEuODcgMS44NyAwIDAgMCAuMzYzLTEuMTIxbC4wMTItMS44NzVhMS44NyAxLjg3IDAgMCAwLS4zNDgtMS4xMjdjLS4yNDMtLjMzOC0uNjg4LS42NTMtMS4yMy0uNjU2bC0uNTE4LS4wMDRjLjU5Ny0xLjE0NSAxLjQyNS0xLjk4MyAyLjM0OC0yLjg3IDEuNDczLTEuNDE0IDMuMTgtMy4xNDkgMy4yLTYuMjI2LS4wMTYtMy41OS0yLjkyMy02LjY4NC02Ljk5My02LjcwN20tLjAwNiAxLjF2LjAwMmMzLjI3NC4wMiA1LjkyIDIuNTMyIDUuOSA1LjYtLjAxNyAyLjcwNi0xLjM5IDQuMDI2LTIuODYzIDUuNDQtMS4wMzQuOTk0LTIuMTE4IDIuMDMzLTIuODE0IDMuNjMzLS4wMTguMDQxLS4wNTIuMDU1LS4wNzUuMDY1cS0uMDEzLjAwNC0uMDIuMDFhLjM0LjM0IDAgMCAxLS4yMjYuMDg0LjM0LjM0IDAgMCAxLS4yMjQtLjA4NmwtLjA5Mi0uMDc3Yy0uNjk5LTEuNjE1LTEuNzY4LTIuNjY5LTIuNzgxLTMuNjctMS40NTQtMS40MzUtMi43OTctMi43NjItMi43OC01LjQ3OC4wMi0zLjA2NyAyLjctNS41NDUgNS45NzUtNS41MjNtLS4wMiAyLjgyNmMtMS42Mi0uMDEtMi45NDQgMS4zMTUtMi45NTUgMi45Ni0uMDEgMS42NDYgMS4yOTUgMi45ODggMi45MTYgMi45OTloLjAwMmMxLjYyMS4wMSAyLjk0My0xLjMxNiAyLjk1My0yLjk2MS4wMTEtMS42NDYtMS4yOTQtMi45ODgtMi45MTYtMi45OThtLS4wMDUgMS4xYzEuMDE3LjAwNiAxLjgyOS44MyAxLjgyMiAxLjg5cy0uODMgMS44NzQtMS44NDggMS44NjdjLTEuMDE4LS4wMDYtMS44MjktLjgzLTEuODIyLTEuODlzLjgzLTEuODc0IDEuODQ4LTEuODY4bS0yLjE1NSAxMS44NTcgNC4xNC4wMjVjLjI3MS4wMDIuNDkuMzA1LjQ4Ny42NzZsLS4wMTMgMS44NzVjLS4wMDMuMzctLjIyNC42Ny0uNDk1LjY2OGwtNC4xNC0uMDI1Yy0uMjctLjAwMi0uNDg3LS4zMDYtLjQ4NS0uNjc2bC4wMTItMS44NzVjLjAwMy0uMzcuMjI0LS42Ny40OTQtLjY2OCcgc3R5bGU9J2NvbG9yOiUyMzAwMDtmb250LXN0eWxlOm5vcm1hbDtmb250LXZhcmlhbnQ6bm9ybWFsO2ZvbnQtd2VpZ2h0OjQwMDtmb250LXN0cmV0Y2g6bm9ybWFsO2ZvbnQtc2l6ZTptZWRpdW07bGluZS1oZWlnaHQ6bm9ybWFsO2ZvbnQtZmFtaWx5OnNhbnMtc2VyaWY7Zm9udC12YXJpYW50LWxpZ2F0dXJlczpub3JtYWw7Zm9udC12YXJpYW50LXBvc2l0aW9uOm5vcm1hbDtmb250LXZhcmlhbnQtY2Fwczpub3JtYWw7Zm9udC12YXJpYW50LW51bWVyaWM6bm9ybWFsO2ZvbnQtdmFyaWFudC1hbHRlcm5hdGVzOm5vcm1hbDtmb250LWZlYXR1cmUtc2V0dGluZ3M6bm9ybWFsO3RleHQtaW5kZW50OjA7dGV4dC1hbGlnbjpzdGFydDt0ZXh0LWRlY29yYXRpb246bm9uZTt0ZXh0LWRlY29yYXRpb24tbGluZTpub25lO3RleHQtZGVjb3JhdGlvbi1zdHlsZTpzb2xpZDt0ZXh0LWRlY29yYXRpb24tY29sb3I6JTIzMDAwO2xldHRlci1zcGFjaW5nOm5vcm1hbDt3b3JkLXNwYWNpbmc6bm9ybWFsO3RleHQtdHJhbnNmb3JtOm5vbmU7d3JpdGluZy1tb2RlOmxyLXRiO2RpcmVjdGlvbjpsdHI7dGV4dC1vcmllbnRhdGlvbjptaXhlZDtkb21pbmFudC1iYXNlbGluZTphdXRvO2Jhc2VsaW5lLXNoaWZ0OmJhc2VsaW5lO3RleHQtYW5jaG9yOnN0YXJ0O3doaXRlLXNwYWNlOm5vcm1hbDtzaGFwZS1wYWRkaW5nOjA7Y2xpcC1ydWxlOmV2ZW5vZGQ7ZGlzcGxheTppbmxpbmU7b3ZlcmZsb3c6dmlzaWJsZTt2aXNpYmlsaXR5OnZpc2libGU7b3BhY2l0eToxO2lzb2xhdGlvbjphdXRvO21peC1ibGVuZC1tb2RlOm5vcm1hbDtjb2xvci1pbnRlcnBvbGF0aW9uOnNSR0I7Y29sb3ItaW50ZXJwb2xhdGlvbi1maWx0ZXJzOmxpbmVhclJHQjtzb2xpZC1jb2xvcjolMjMwMDA7c29saWQtb3BhY2l0eToxO3ZlY3Rvci1lZmZlY3Q6bm9uZTtmaWxsOiUyMzAwMDtmaWxsLW9wYWNpdHk6LjQ7ZmlsbC1ydWxlOmV2ZW5vZGQ7c3Ryb2tlOm5vbmU7c3Ryb2tlLXdpZHRoOjIuNDc3Mjc4MjM7c3Ryb2tlLWxpbmVjYXA6YnV0dDtzdHJva2UtbGluZWpvaW46bWl0ZXI7c3Ryb2tlLW1pdGVybGltaXQ6NDtzdHJva2UtZGFzaGFycmF5Om5vbmU7c3Ryb2tlLWRhc2hvZmZzZXQ6MDtzdHJva2Utb3BhY2l0eToxO2NvbG9yLXJlbmRlcmluZzphdXRvO2ltYWdlLXJlbmRlcmluZzphdXRvO3NoYXBlLXJlbmRlcmluZzphdXRvO3RleHQtcmVuZGVyaW5nOmF1dG8nIHRyYW5zZm9ybT0ndHJhbnNsYXRlKDE1LjU1MyAyLjg1KXNjYWxlKC44ODgwNyknLyUzRSUzQ3BhdGggZD0nTS05LjQxNS0uMzE2Qy0xMi42OS0uMzM4LTE1LjM3IDIuMTQtMTUuMzkgNS4yMDdjLS4wMTcgMi43MTYgMS4zMjYgNC4wNDEgMi43OCA1LjQ3NyAxLjAxMyAxIDIuMDgxIDIuMDU1IDIuNzggMy42N2wuMDkyLjA3NmEuMzQuMzQgMCAwIDAgLjIyNS4wODYuMzQuMzQgMCAwIDAgLjIyNy0uMDgzbC4wMTktLjAxYy4wMjItLjAwOS4wNTctLjAyNC4wNzQtLjA2NC42OTctMS42IDEuNzgtMi42NCAyLjgxNC0zLjYzNCAxLjQ3My0xLjQxNCAyLjg0Ny0yLjczMyAyLjg2NC01LjQ0LjAyLTMuMDY3LTIuNjI3LTUuNTgtNS45MDEtNS42MDFtLS4wNTcgOC43ODRjMS42MjEuMDExIDIuOTQ0LTEuMzE1IDIuOTU1LTIuOTYuMDEtMS42NDYtMS4yOTUtMi45ODgtMi45MTYtMi45OTktMS42MjItLjAxLTIuOTQ1IDEuMzE1LTIuOTU1IDIuOTZzMS4yOTUgMi45ODkgMi45MTYgMycgc3R5bGU9J2NsaXAtcnVsZTpldmVub2RkO2ZpbGw6JTIzZTFlM2U5O2ZpbGwtb3BhY2l0eToxO2ZpbGwtcnVsZTpldmVub2RkO3N0cm9rZTpub25lO3N0cm9rZS13aWR0aDoyLjQ3NzI3ODIzO3N0cm9rZS1taXRlcmxpbWl0OjQ7c3Ryb2tlLWRhc2hhcnJheTpub25lO3N0cm9rZS1vcGFjaXR5Oi40JyB0cmFuc2Zvcm09J3RyYW5zbGF0ZSgxNS41NTMgMi44NSlzY2FsZSguODg4MDcpJy8lM0UlM0NwYXRoIGQ9J00tMTEuNTk0IDE1LjQ2NWMtLjI3LS4wMDItLjQ5Mi4yOTctLjQ5NC42NjhsLS4wMTIgMS44NzZjLS4wMDMuMzcxLjIxNC42NzMuNDg1LjY3NWw0LjE0LjAyN2MuMjcxLjAwMi40OTItLjI5OC40OTUtLjY2OGwuMDEyLTEuODc3Yy4wMDMtLjM3LS4yMTUtLjY3Mi0uNDg1LS42NzR6JyBzdHlsZT0nY2xpcC1ydWxlOmV2ZW5vZGQ7ZmlsbDolMjNmZmY7ZmlsbC1vcGFjaXR5OjE7ZmlsbC1ydWxlOmV2ZW5vZGQ7c3Ryb2tlOm5vbmU7c3Ryb2tlLXdpZHRoOjIuNDc3Mjc4MjM7c3Ryb2tlLW1pdGVybGltaXQ6NDtzdHJva2UtZGFzaGFycmF5Om5vbmU7c3Ryb2tlLW9wYWNpdHk6LjQnIHRyYW5zZm9ybT0ndHJhbnNsYXRlKDE1LjU1MyAyLjg1KXNjYWxlKC44ODgwNyknLyUzRSUzQy9nJTNFJTNDL3N2ZyUzRVwiKTtiYWNrZ3JvdW5kLXJlcGVhdDpuby1yZXBlYXQ7Y3Vyc29yOnBvaW50ZXI7ZGlzcGxheTpibG9jaztoZWlnaHQ6MjNweDttYXJnaW46MCAwIC00cHggLTRweDtvdmVyZmxvdzpoaWRkZW47d2lkdGg6ODhweH1hLm1hcGxpYnJlZ2wtY3RybC1sb2dvLm1hcGxpYnJlZ2wtY29tcGFjdHt3aWR0aDoxNHB4fUBtZWRpYSAoZm9yY2VkLWNvbG9yczphY3RpdmUpe2EubWFwbGlicmVnbC1jdHJsLWxvZ297YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDtiYWNrZ3JvdW5kLWltYWdlOnVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0Zi04LCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPSc4OCcgaGVpZ2h0PScyMycgZmlsbD0nbm9uZSclM0UlM0NwYXRoIGZpbGw9JyUyMzAwMCcgZmlsbC1vcGFjaXR5PScuNCcgZmlsbC1ydWxlPSdldmVub2RkJyBkPSdNMTcuNDA4IDE2Ljc5NmgtMS44MjdsMi41MDEtMTIuMDk1aC4xOThsMy4zMjQgNi41MzMuOTg4IDIuMTkuOTg4LTIuMTkgMy4yNTgtNi41MzNoLjE4MWwyLjYgMTIuMDk1aC0xLjgxbC0xLjIxOC01LjY0NC0uMzYyLTEuNzEtLjY1OCAxLjcxLTIuOTI5IDUuNjQ0aC0uMDk4bC0yLjkxNC01LjY0NC0uNzU3LTEuNzEtLjM0NSAxLjcxem0xLjk1OC0zLjQyLS43MjYgMy42NjNhMS4yNTUgMS4yNTUgMCAwIDEtMS4yMzIgMS4wMTFoLTEuODI3YTEuMjU1IDEuMjU1IDAgMCAxLTEuMjI5LTEuNTA5bDIuNTAxLTEyLjA5NWExLjI1NSAxLjI1NSAwIDAgMSAxLjIzLTEuMDAxaC4xOTdhMS4yNSAxLjI1IDAgMCAxIDEuMTIuNjg1bDMuMTkgNi4yNzMgMy4xMjUtNi4yNjNhMS4yNSAxLjI1IDAgMCAxIDEuMTIzLS42OTVoLjE4MWExLjI1NSAxLjI1NSAwIDAgMSAxLjIyNy45OTFsMS40NDMgNi43MWE1IDUgMCAwIDEgLjMxNC0uNzg3bC4wMDktLjAxNmE0LjYgNC42IDAgMCAxIDEuNzc3LTEuODg3Yy43ODItLjQ2IDEuNjY4LS42NjcgMi42MTEtLjY2N2E0LjYgNC42IDAgMCAxIDEuNy4zMmwuMzA2LjEzNGMuMjEtLjE2LjQ3NC0uMjU2Ljc1OS0uMjU2aDEuNjk0YTEuMjU1IDEuMjU1IDAgMCAxIDEuMjEyLjkyNSAxLjI1NSAxLjI1NSAwIDAgMSAxLjIxMi0uOTI1aDEuNzExYy4yODQgMCAuNTQ1LjA5NC43NTUuMjUyLjYxMy0uMyAxLjMxMi0uNDUgMi4wNzUtLjQ1IDEuMzU2IDAgMi41NTcuNDQ1IDMuNDgyIDEuNHEuNDcuNDguNzYzIDEuMDY0VjQuNzAxYTEuMjU1IDEuMjU1IDAgMCAxIDEuMjU1LTEuMjU1aDEuODZBMS4yNTUgMS4yNTUgMCAwIDEgNTQuNDQgNC43djkuMTk0aDIuMjE3Yy4xOSAwIC4zNy4wNDMuNTMyLjExOHYtNC43N2MwLS4zNTYuMTQ3LS42NzguMzg1LS45MDZhMi40MiAyLjQyIDAgMCAxLS42ODItMS43MWMwLS42NjUuMjY3LTEuMjUzLjczNS0xLjdhMi40NSAyLjQ1IDAgMCAxIDEuNzIyLS42NzQgMi40MyAyLjQzIDAgMCAxIDEuNzA1LjY3NXEuMzE4LjMwMi41MDQuNjgzVjQuN2ExLjI1NSAxLjI1NSAwIDAgMSAxLjI1NS0xLjI1NWgxLjc0NEExLjI1NSAxLjI1NSAwIDAgMSA2NS44MTIgNC43djMuMzM1YTQuOCA0LjggMCAwIDEgMS41MjYtLjI0NmMuOTM4IDAgMS44MTcuMjE0IDIuNTkuNjlhNC40NyA0LjQ3IDAgMCAxIDEuNjcgMS43NDN2LS45OGExLjI1NSAxLjI1NSAwIDAgMSAxLjI1Ni0xLjI1NmgxLjc3N2MuMjMzIDAgLjQ1MS4wNjQuNjM5LjE3NGEzLjQgMy40IDAgMCAxIDEuNTY3LS4zNzJjLjM0NiAwIC44NjEuMDIgMS4yODUuMjMyYTEuMjUgMS4yNSAwIDAgMSAuNjg5IDEuMDA0IDQuNyA0LjcgMCAwIDEgLjg1My0uNTg4Yy43OTUtLjQ0IDEuNjc1LS42NDcgMi42MS0uNjQ3IDEuMzg1IDAgMi42NS4zOSAzLjUyNSAxLjM5Ni44MzYuOTM4IDEuMTY4IDIuMTczIDEuMTY4IDMuNTI4cS0uMDAxLjUxNS0uMDU2IDEuMDUxYTEuMjU1IDEuMjU1IDAgMCAxLS45NDcgMS4wOWwuNDA4Ljk1MmExLjI1NSAxLjI1NSAwIDAgMS0uNDc3IDEuNTUyYy0uNDE4LjI2OC0uOTIuNDYzLTEuNDU4LjYxMi0uNjEzLjE3MS0xLjMwNC4yNDQtMi4wNDkuMjQ0LTEuMDYgMC0yLjA0My0uMjA3LTIuODg2LS42OThsLS4wMTUtLjAwOGMtLjc5OC0uNDgtMS40MTktMS4xMzUtMS44MTgtMS45NjNsLS4wMDQtLjAwOGE1LjggNS44IDAgMCAxLS41NDgtMi41MTJxMC0uNDI5LjA1My0uODQzYTEuMyAxLjMgMCAwIDEtLjMzMy0uMDg2bC0uMTY2LS4wMDRjLS4yMjMgMC0uNDI2LjA2Mi0uNjQzLjIyOC0uMDMuMDI0LS4xNDIuMTM5LS4xNDIuNTl2My44ODNhMS4yNTUgMS4yNTUgMCAwIDEtMS4yNTYgMS4yNTZoLTEuNzc3YTEuMjU1IDEuMjU1IDAgMCAxLTEuMjU2LTEuMjU2VjE1LjY5bC0uMDMyLjA1N2E0LjggNC44IDAgMCAxLTEuODYgMS44MzMgNS4wNCA1LjA0IDAgMCAxLTIuNDg0LjYzNCA0LjUgNC41IDAgMCAxLTEuOTM1LS40MjQgMS4yNSAxLjI1IDAgMCAxLS43NjQuMjU4aC0xLjcxYTEuMjU1IDEuMjU1IDAgMCAxLTEuMjU2LTEuMjU1VjcuNjg3YTIuNCAyLjQgMCAwIDEtLjQyOC42MjVjLjI1My4yMy40MTIuNTYxLjQxMi45M3Y3LjU1M2ExLjI1NSAxLjI1NSAwIDAgMS0xLjI1NiAxLjI1NWgtMS44NDNhMS4yNSAxLjI1IDAgMCAxLS44OTQtLjM3M2MtLjIyOC4yMy0uNTQ0LjM3My0uODk0LjM3M0g1MS4zMmExLjI1NSAxLjI1NSAwIDAgMS0xLjI1Ni0xLjI1NXYtMS4yNTFsLS4wNjEuMTE3YTQuNyA0LjcgMCAwIDEtMS43ODIgMS44ODQgNC43NyA0Ljc3IDAgMCAxLTIuNDg1LjY3IDUuNiA1LjYgMCAwIDEtMS40ODUtLjE4OGwuMDA5IDIuNzY0YTEuMjU1IDEuMjU1IDAgMCAxLTEuMjU1IDEuMjU5aC0xLjcyOWExLjI1NSAxLjI1NSAwIDAgMS0xLjI1NS0xLjI1NXYtMy41MzdhMS4yNTUgMS4yNTUgMCAwIDEtMS4xNjcuNzkzaC0xLjY3OWExLjI1IDEuMjUgMCAwIDEtLjc3LS4yNjMgNC41IDQuNSAwIDAgMS0xLjk0NS40MjljLS44ODUgMC0xLjcyNC0uMjEtMi40OTUtLjYzMmwtLjAxNy0uMDFhNSA1IDAgMCAxLTEuMDgxLS44MzYgMS4yNTUgMS4yNTUgMCAwIDEtMS4yNTQgMS4zMTJoLTEuODFhMS4yNTUgMS4yNTUgMCAwIDEtMS4yMjgtLjk5bC0uNzgyLTMuNjI1LTIuMDQ0IDMuOTM5YTEuMjUgMS4yNSAwIDAgMS0xLjExNS42NzZoLS4wOThhMS4yNSAxLjI1IDAgMCAxLTEuMTE2LS42OGwtMi4wNjEtMy45OTR6TTM1LjkyIDE2LjYzbC4yMDctLjExNC4yMjMtLjE1cS40OTMtLjM1Ni43MzUtLjc4NWwuMDYxLS4xMTguMDMzIDEuMzMyaDEuNjc4VjkuMjQyaC0xLjY5NGwtLjAzMyAxLjI2N3EtLjEzMy0uMzI5LS41MjYtLjY1OGwtLjAzMi0uMDI4YTMuMiAzLjIgMCAwIDAtLjY2OC0uNDI4bC0uMjctLjEyYTMuMyAzLjMgMCAwIDAtMS4yMzUtLjIzcS0xLjEzNi0uMDAxLTEuOTc0LjQ5M2EzLjM2IDMuMzYgMCAwIDAtMS4zIDEuMzgycS0uNDQ1Ljg5LS40NDQgMi4wNzQgMCAxLjIuNTEgMi4xMDdhMy44IDMuOCAwIDAgMCAxLjM4MiAxLjM4MSAzLjkgMy45IDAgMCAwIDEuODkzLjQ3N3EuNzk1IDAgMS40NTUtLjMzem0tMi43ODktNS4zOHEtLjU3Ni42NzUtLjU3NSAxLjc2MiAwIDEuMTAyLjU1OSAxLjc5NC41NzYuNjc1IDEuNjQ1LjY3NWEyLjI1IDIuMjUgMCAwIDAgLjkzNC0uMTkgMi4yIDIuMiAwIDAgMCAuNDY4LS4yOWwuMTc4LS4xNjFhMi4yIDIuMiAwIDAgMCAuMzk3LS41NjFxLjI0NC0uNS4yNDQtMS4xNXYtLjExNXEwLS43MDgtLjI5Ni0xLjI2N2wtLjA0My0uMDc3YTIuMiAyLjIgMCAwIDAtLjYzMy0uNzA5bC0uMTMtLjA4Ni0uMDQ3LS4wMjhhMi4xIDIuMSAwIDAgMC0xLjA3My0uMjg1cS0xLjA1MiAwLTEuNjI5LjY5MnptMi4zMTYgMi43MDZjLjE2My0uMTcuMjgtLjQwNy4yOC0uODN2LS4xMTRjMC0uMjkyLS4wNi0uNTA4LS4xNS0uNjhhLjk2Ljk2IDAgMCAwLS4zNTMtLjM4OS44NS44NSAwIDAgMC0uNDY0LS4xMjdjLS40IDAtLjU2LjExNC0uNjY0LjIzOWwtLjAxLjAxMmMtLjE0OC4xNzQtLjI3NS40NS0uMjc1Ljk0NSAwIC41MDYuMTIyLjgwMS4yNy45OS4wOTcuMTEuMjY2LjIyNC42OC4yMjQuMzAzIDAgLjUwNC0uMDkuNjg3LS4yNjl6bTcuNTQ1IDEuNzA1YTIuNiAyLjYgMCAwIDAgLjMzMS40MjNxLjMxOS4zMy43NTUuNTQ4bC4xNzMuMDc0cS42NS4yNTUgMS40OS4yNTUgMS4wMiAwIDEuODQ0LS40OTNhMy40NSAzLjQ1IDAgMCAwIDEuMzE2LTEuNHEuNDkzLS45MDQuNDkzLTIuMDg5IDAtMS45MDktLjk4OC0yLjkxMy0uOTg4LTEuMDItMi41ODQtMS4wMi0uODk4IDAtMS41NzUuMzQ3YTMgMyAwIDAgMC0uNDE1LjI2MmwtLjE5OS4xNjZhMy40IDMuNCAwIDAgMC0uNjQuODJWOS4yNDJoLTEuNzEydjExLjU1M2gxLjcyOWwtLjAxNy01LjEzNHptLjUzLTEuMTM4cS4yMDYuMjkuNDguNWwuMTU1LjExLjA1My4wMzRxLjUxLjI5NiAxLjExOS4yOTcgMS4wNyAwIDEuNjQ1LS42NzUuNTc3LS42OS41NzYtMS43NjIgMC0xLjExOS0uNTc2LTEuNzc3LS41NTgtLjY3NS0xLjY0NS0uNjc1LS40MzUgMC0uODM1LjE2YTIgMiAwIDAgMC0uMjg0LjEzNiAyIDIgMCAwIDAtLjM2My4yNTQgMi4yIDIuMiAwIDAgMC0uNDYuNTY5bC0uMDgyLjE2MmEyLjYgMi42IDAgMCAwLS4yMTMgMS4wNzJ2LjExNXEwIC43MDcuMjk2IDEuMjY3bC4xMzUuMjExem0uOTY0LS44MThhMS4xIDEuMSAwIDAgMCAuMzY3LjM4NS45NC45NCAwIDAgMCAuNDc2LjExOGMuNDIzIDAgLjU5LS4xMTcuNjg3LS4yMy4xNTktLjE5NC4yOC0uNDc4LjI4LS45NSAwLS41My0uMTMzLS44LS4yNjYtLjk1MmwtLjAyMS0uMDI1Yy0uMDc4LS4wOTQtLjIzMS0uMjIxLS42OC0uMjIxYTEgMSAwIDAgMC0uNTAzLjEzNWwtLjAxMi4wMDdhLjg2Ljg2IDAgMCAwLS4zMzUuMzQzYy0uMDczLjEzMy0uMTMyLjMyNC0uMTMyLjYxNHYuMTE1YTEuNCAxLjQgMCAwIDAgLjE0LjY2em0xNS43LTYuMjIycS4zNDctLjM0Ni4zNDYtLjg1NmExLjA1IDEuMDUgMCAwIDAtLjM0NS0uNzkgMS4xOCAxLjE4IDAgMCAwLS44NC0uMzI5cS0uNTEgMC0uODU1LjMzYTEuMDUgMS4wNSAwIDAgMC0uMzQ2Ljc5cTAgLjUxLjM0Ni44NTUuMzQ1LjM0Ni44NTYuMzQ2LjUxIDAgLjgzOS0uMzQ2em00LjMzNyA5LjMxNC4wMzMtMS4zMzJxLjE5MS40MDMuNTkuNzQ3bC4wOTguMDgxYTQgNCAwIDAgMCAuMzE2LjIyNGwuMjIzLjEyMmEzLjIgMy4yIDAgMCAwIDEuNDQuMzIyIDMuOCAzLjggMCAwIDAgMS44NzUtLjQ3NyAzLjUgMy41IDAgMCAwIDEuMzgyLTEuMzY2cS41MjctLjg5LjUyNi0yLjA5IDAtMS4xODQtLjQ0NC0yLjA3M2EzLjI0IDMuMjQgMCAwIDAtMS4yODMtMS4zOTlxLS44MjMtLjUxLTEuOTQyLS41MWEzLjUgMy41IDAgMCAwLTEuNTI3LjM0NGwtLjA4Ni4wNDMtLjE2NS4wOWEzIDMgMCAwIDAtLjMzLjIxNHEtLjQzMi4zMTUtLjY1Ni43MDdhMiAyIDAgMCAwLS4wOTkuMTk4bC4wODItMS4yODNWNC43MDFoLTEuNzQ0djEyLjA5NXptLjQ3My0yLjUwOWEyLjUgMi41IDAgMCAwIC41NjYuN3EuMTE3LjA5OC4yNDUuMThsLjE0NC4wOGEyLjEgMi4xIDAgMCAwIC45NzUuMjMycTEuMDcgMCAxLjY0NS0uNjc1LjU3Ni0uNjkuNTc2LTEuNzc4IDAtMS4xMDItLjU3Ni0xLjc3Ny0uNTYtLjY5MS0xLjY0NS0uNjkyYTIuMiAyLjIgMCAwIDAtMS4wMTUuMjM1cS0uMjIuMTEzLS40MTUuMjgybC0uMTUuMTQyYTIuMSAyLjEgMCAwIDAtLjQyLjU5NHEtLjIyMy40NzktLjIyMyAxLjF2LjExNXEwIC43MDUuMjkzIDEuMjZ6bTIuNjE2LS4yOTNjLjE1Ny0uMTkxLjI4LS40NzkuMjgtLjk2NyAwLS41MS0uMTMtLjc5LS4yNzYtLjk2MWwtLjAyMS0uMDI2Yy0uMDgyLS4xLS4yMzItLjIyNS0uNjctLjIyNWEuODcuODcgMCAwIDAtLjY4MS4yNzlsLS4wMTIuMDExYy0uMTU0LjE1NS0uMjc0LjM4LS4yNzQuODA3di4xMTVjMCAuMjg1LjA1Ny40OTkuMTQ0LjY2OWExLjEgMS4xIDAgMCAwIC4zNjcuNDA1Yy4xMzcuMDgyLjI4LjEyMy40NTUuMTIzLjQyMyAwIC41OS0uMTE4LjY4Ni0uMjN6bTguMjY2LTMuMDEzcS4zNDUtLjEzLjcyNC0uMTRsLjA2OS0uMDAycS40OTMgMCAuNjQyLjA5OWwuMjQ3LTEuNzk0cS0uMTk2LS4wOTktLjcxNy0uMDk5YTIuMyAyLjMgMCAwIDAtLjU0NS4wNjMgMiAyIDAgMCAwLS40MTEuMTQ4IDIuMiAyLjIgMCAwIDAtLjQuMjQ5IDIuNSAyLjUgMCAwIDAtLjQ4NS40OTkgMi43IDIuNyAwIDAgMC0uMzIuNTgxbC0uMDUuMTM3di0xLjQ4aC0xLjc3OHY3LjU1M2gxLjc3N3YtMy44ODRxMC0uNTQ2LjE1OS0uOTQzYTEuNSAxLjUgMCAwIDEgLjQ2Ni0uNjM2IDIuNSAyLjUgMCAwIDEgLjM5OS0uMjUzIDIgMiAwIDAgMSAuMjI0LS4wOTl6bTkuNzg0IDIuNjU2LjA1LS45MjJxMC0xLjc0My0uODU2LTIuNjk4LS44MzgtLjk3LTIuNTg0LS45Ny0xLjExOS0uMDAxLTIuMDA3LjQ5M2EzLjQ2IDMuNDYgMCAwIDAtMS40IDEuMzgycS0uNDkzLjkwNi0uNDkzIDIuMTA2IDAgMS4wNy40MjggMS45NzUuNDI4Ljg5IDEuMzMyIDEuNDMyLjkwNi41MjYgMi4yNTUuNTI2Ljk3MyAwIDEuNjY4LS4xODVsLjA0NC0uMDEyLjEzNS0uMDRxLjYxMy0uMTg0Ljk4NC0uNDIxbC0uNTQyLTEuMjY3cS0uMy4xNjItLjY0Mi4yNzRsLS4yOTcuMDg3cS0uNTEuMTMxLTEuMy4xMzEtLjk1NCAwLTEuNDk3LS40NDRhMS42IDEuNiAwIDAgMS0uMTkyLS4xOTNxLS4zNjYtLjQ0LS41MTItMS4yMzRsLS4wMDQtLjAyMXptLTUuNDI3LTEuMjU2LS4wMDMuMDIyaDMuNzUydi0uMTM4cS0uMDExLS43MjctLjI4OC0xLjExOGExIDEgMCAwIDAtLjE1Ni0uMTc2cS0uNDYtLjQyOC0xLjMxNi0uNDI4LS45ODYgMC0xLjQ5NC42MDQtLjM3OS40NS0uNDk0IDEuMjM0em0tMjcuMDUzIDIuNzdWNC43aC0xLjg2djEyLjA5NWg1LjMzM1YxNS4xNXptNy4xMDMtNS45MDh2Ny41NTNoLTEuODQzVjkuMjQyaDEuODQzeicvJTNFJTNDcGF0aCBmaWxsPSclMjNmZmYnIGQ9J20xOS42MyAxMS4xNTEtLjc1Ny0xLjcxLS4zNDUgMS43MS0xLjEyIDUuNjQ0aC0xLjgyN0wxOC4wODMgNC43aC4xOTdsMy4zMjUgNi41MzMuOTg4IDIuMTkuOTg4LTIuMTlMMjYuODM5IDQuN2guMTgxbDIuNiAxMi4wOTVoLTEuODFsLTEuMjE4LTUuNjQ0LS4zNjItMS43MS0uNjU4IDEuNzEtMi45MyA1LjY0NGgtLjA5OGwtMi45MTMtNS42NDR6bTE0LjgzNiA1LjgxcS0xLjAyIDAtMS44OTMtLjQ3OGEzLjggMy44IDAgMCAxLTEuMzgxLTEuMzgycS0uNTEtLjkwNi0uNTEtMi4xMDYgMC0xLjE4NS40NDQtMi4wNzRhMy4zNiAzLjM2IDAgMCAxIDEuMy0xLjM4MnEuODM5LS40OTQgMS45NzQtLjQ5NGEzLjMgMy4zIDAgMCAxIDEuMjM0LjIzMSAzLjMgMy4zIDAgMCAxIC45Ny41NzVxLjM5Ni4zMy41MjcuNjU5bC4wMzMtMS4yNjdoMS42OTR2Ny41NTNIMzcuMThsLS4wMzMtMS4zMzJxLS4yNzkuNTkzLTEuMDIgMS4wNTNhMy4xNyAzLjE3IDAgMCAxLTEuNjYyLjQ0NHptLjI5Ni0xLjQ4MnEuOTM4IDAgMS41OC0uNjQyLjY0Mi0uNjYuNjQyLTEuNzExdi0uMTE1cTAtLjcwOC0uMjk2LTEuMjY3YTIuMiAyLjIgMCAwIDAtLjgwNy0uODcyIDIuMSAyLjEgMCAwIDAtMS4xMTktLjMxM3EtMS4wNTMgMC0xLjYyOS42OTItLjU3NS42NzUtLjU3NSAxLjc2IDAgMS4xMDMuNTU5IDEuNzk1LjU3Ny42NzUgMS42NDUuNjc1em02LjUyMS02LjIzN2gxLjcxMXYxLjRxLjkwNi0xLjU5NyAyLjgzLTEuNTk3IDEuNTk2IDAgMi41ODQgMS4wMi45ODggMS4wMDUuOTg4IDIuOTE0IDAgMS4xODUtLjQ5MyAyLjA5YTMuNDYgMy40NiAwIDAgMS0xLjMxNiAxLjM5OSAzLjUgMy41IDAgMCAxLTEuODQ0LjQ5M3EtLjk1NCAwLTEuNjYyLS4zMjlhMi42NyAyLjY3IDAgMCAxLTEuMDg2LS45N2wuMDE3IDUuMTM0aC0xLjcyOHptNC4wNDggNi4yMnExLjA3IDAgMS42NDUtLjY3NC41NzctLjY5LjU3Ni0xLjc2MiAwLTEuMTE5LS41NzYtMS43NzctLjU1OC0uNjc1LTEuNjQ1LS42NzUtLjU5MiAwLTEuMTIuMjk2LS41MS4yOC0uODIyLjgyMy0uMjk2LjUyNy0uMjk2IDEuMjM0di4xMTVxMCAuNzA4LjI5NiAxLjI2Ny4zMTMuNTQzLjgyMy44NTUuNTEuMjk2IDEuMTE5LjI5N3onLyUzRSUzQ3BhdGggZmlsbD0nJTIzZTFlM2U5JyBkPSdNNTEuMzI1IDQuN2gxLjg2djEwLjQ1aDMuNDczdjEuNjQ2aC01LjMzM3ptNy4xMiA0LjU0MmgxLjg0M3Y3LjU1M2gtMS44NDN6bS45MDUtMS40MTVhMS4xNiAxLjE2IDAgMCAxLS44NTYtLjM0NiAxLjE3IDEuMTcgMCAwIDEtLjM0Ni0uODU2IDEuMDUgMS4wNSAwIDAgMSAuMzQ2LS43OXEuMzQ2LS4zMjkuODU2LS4zMjkuNDk0IDAgLjgzOS4zM2ExLjA1IDEuMDUgMCAwIDEgLjM0NS43OSAxLjE2IDEuMTYgMCAwIDEtLjM0NS44NTVxLS4zMy4zNDYtLjg0LjM0NnptNy44NzUgOS4xMzNhMy4xNyAzLjE3IDAgMCAxLTEuNjYyLS40NDRxLS43MjMtLjQ2LTEuMDA0LTEuMDUzbC0uMDMzIDEuMzMyaC0xLjcxVjQuNzAxaDEuNzQzdjQuNjU3bC0uMDgyIDEuMjgzcS4yNzktLjY1OCAxLjA4Ni0xLjExOWEzLjUgMy41IDAgMCAxIDEuNzc4LS40NzdxMS4xMTkgMCAxLjk0Mi41MWEzLjI0IDMuMjQgMCAwIDEgMS4yODMgMS40cS40NDUuODg4LjQ0NCAyLjA3MiAwIDEuMjAxLS41MjYgMi4wOWEzLjUgMy41IDAgMCAxLTEuMzgyIDEuMzY2IDMuOCAzLjggMCAwIDEtMS44NzYuNDc3em0tLjI5Ni0xLjQ4MXExLjA2OSAwIDEuNjQ1LS42NzUuNTc3LS42OS41NzctMS43NzggMC0xLjEwMi0uNTc3LTEuNzc2LS41Ni0uNjkxLTEuNjQ1LS42OTJhMi4xMiAyLjEyIDAgMCAwLTEuNTguNjU5cS0uNjQyLjY0MS0uNjQyIDEuNjk0di4xMTVxMCAuNzEuMjk2IDEuMjY3YTIuNCAyLjQgMCAwIDAgLjgwNy44NzIgMi4xIDIuMSAwIDAgMCAxLjExOS4zMTN6bTUuOTI3LTYuMjM3aDEuNzc3djEuNDgxcS4yNjMtLjc1Ny44NTYtMS4yMTdhMi4xNCAyLjE0IDAgMCAxIDEuMzQ5LS40NnEuNTI3IDAgLjcyNC4wOThsLS4yNDcgMS43OTRxLS4xNDktLjA5OS0uNjQyLS4wOTktLjc3NCAwLTEuNDE2LjQ5NC0uNjI2LjQ5My0uNjI2IDEuNTh2My44ODNoLTEuNzc3VjkuMjQyem05LjUzNCA3LjcxOHEtMS4zNSAwLTIuMjU1LS41MjYtLjkwNC0uNTQzLTEuMzMyLTEuNDMyYTQuNiA0LjYgMCAwIDEtLjQyOC0xLjk3NXEwLTEuMi40OTMtMi4xMDZhMy40NiAzLjQ2IDAgMCAxIDEuNC0xLjM4MnEuODg5LS40OTUgMi4wMDctLjQ5NCAxLjc0NCAwIDIuNTg0Ljk3Ljg1NS45NTYuODU2IDIuNyAwIC40NDQtLjA1LjkyaC01LjQzcS4xOCAxLjAwNS43MDggMS40NS41NDIuNDQzIDEuNDk3LjQ0My43OSAwIDEuMy0uMTMxYTQgNCAwIDAgMCAuOTM4LS4zNjJsLjU0MiAxLjI2N3EtLjQxMS4yNjMtMS4xMTkuNDYtLjcwOC4xOTgtMS43MTEuMTk3em0xLjU5Ni00LjU1OHEuMDE2LTEuMDItLjQ0NC0xLjQzMi0uNDYtLjQyOC0xLjMxNi0uNDI4LTEuNzI4IDAtMS45OTEgMS44NnonLyUzRSUzQ3BhdGggZD0nTTUuMDc0IDE1Ljk0OGEuNDg0LjY1NyAwIDAgMC0uNDg2LjY1OXYxLjg0YS40ODQuNjU3IDAgMCAwIC40ODYuNjU5aDQuMTAxYS40ODQuNjU3IDAgMCAwIC40ODYtLjY1OXYtMS44NGEuNDg0LjY1NyAwIDAgMC0uNDg2LS42NTl6bTMuNTYgMS4xNkg1LjYxN3YuODM4aDMuMDE3eicgc3R5bGU9J2ZpbGw6JTIzZmZmO2ZpbGwtcnVsZTpldmVub2RkO3N0cm9rZS13aWR0aDoxLjAzNjAwMDAxJy8lM0UlM0NnIHN0eWxlPSdzdHJva2Utd2lkdGg6MS4xMjYwMzU0NSclM0UlM0NwYXRoIGQ9J00tOS40MDgtMS40MTZjLTMuODMzLS4wMjUtNy4wNTYgMi45MTItNy4wOCA2LjYxNS0uMDIgMy4wOCAxLjY1MyA0LjgzMiAzLjEwNyA2LjI2OC45MDMuODkyIDEuNzIxIDEuNzQgMi4zMiAyLjkwMmwtLjUyNS0uMDA0Yy0uNTQzLS4wMDMtLjk5Mi4zMDQtMS4yNC42MzlhMS44NyAxLjg3IDAgMCAwLS4zNjIgMS4xMjFsLS4wMTEgMS44NzdjLS4wMDMuNDAyLjEwNC43ODcuMzQ3IDEuMTI1LjI0NC4zMzguNjg4LjY1MyAxLjIzLjY1Nmw0LjE0Mi4wMjhjLjU0Mi4wMDMuOTktLjMwNiAxLjIzOC0uNjQxYTEuODcgMS44NyAwIDAgMCAuMzYzLTEuMTIxbC4wMTItMS44NzVhMS44NyAxLjg3IDAgMCAwLS4zNDgtMS4xMjdjLS4yNDMtLjMzOC0uNjg4LS42NTMtMS4yMy0uNjU2bC0uNTE4LS4wMDRjLjU5Ny0xLjE0NSAxLjQyNS0xLjk4MyAyLjM0OC0yLjg3IDEuNDczLTEuNDE0IDMuMTgtMy4xNDkgMy4yLTYuMjI2LS4wMTYtMy41OS0yLjkyMy02LjY4NC02Ljk5My02LjcwN20tLjAwNiAxLjF2LjAwMmMzLjI3NC4wMiA1LjkyIDIuNTMyIDUuOSA1LjYtLjAxNyAyLjcwNi0xLjM5IDQuMDI2LTIuODYzIDUuNDQtMS4wMzQuOTk0LTIuMTE4IDIuMDMzLTIuODE0IDMuNjMzLS4wMTguMDQxLS4wNTIuMDU1LS4wNzUuMDY1cS0uMDEzLjAwNC0uMDIuMDFhLjM0LjM0IDAgMCAxLS4yMjYuMDg0LjM0LjM0IDAgMCAxLS4yMjQtLjA4NmwtLjA5Mi0uMDc3Yy0uNjk5LTEuNjE1LTEuNzY4LTIuNjY5LTIuNzgxLTMuNjctMS40NTQtMS40MzUtMi43OTctMi43NjItMi43OC01LjQ3OC4wMi0zLjA2NyAyLjctNS41NDUgNS45NzUtNS41MjNtLS4wMiAyLjgyNmMtMS42Mi0uMDEtMi45NDQgMS4zMTUtMi45NTUgMi45Ni0uMDEgMS42NDYgMS4yOTUgMi45ODggMi45MTYgMi45OTloLjAwMmMxLjYyMS4wMSAyLjk0My0xLjMxNiAyLjk1My0yLjk2MS4wMTEtMS42NDYtMS4yOTQtMi45ODgtMi45MTYtMi45OThtLS4wMDUgMS4xYzEuMDE3LjAwNiAxLjgyOS44MyAxLjgyMiAxLjg5cy0uODMgMS44NzQtMS44NDggMS44NjdjLTEuMDE4LS4wMDYtMS44MjktLjgzLTEuODIyLTEuODlzLjgzLTEuODc0IDEuODQ4LTEuODY4bS0yLjE1NSAxMS44NTcgNC4xNC4wMjVjLjI3MS4wMDIuNDkuMzA1LjQ4Ny42NzZsLS4wMTMgMS44NzVjLS4wMDMuMzctLjIyNC42Ny0uNDk1LjY2OGwtNC4xNC0uMDI1Yy0uMjctLjAwMi0uNDg3LS4zMDYtLjQ4NS0uNjc2bC4wMTItMS44NzVjLjAwMy0uMzcuMjI0LS42Ny40OTQtLjY2OCcgc3R5bGU9J2NvbG9yOiUyMzAwMDtmb250LXN0eWxlOm5vcm1hbDtmb250LXZhcmlhbnQ6bm9ybWFsO2ZvbnQtd2VpZ2h0OjQwMDtmb250LXN0cmV0Y2g6bm9ybWFsO2ZvbnQtc2l6ZTptZWRpdW07bGluZS1oZWlnaHQ6bm9ybWFsO2ZvbnQtZmFtaWx5OnNhbnMtc2VyaWY7Zm9udC12YXJpYW50LWxpZ2F0dXJlczpub3JtYWw7Zm9udC12YXJpYW50LXBvc2l0aW9uOm5vcm1hbDtmb250LXZhcmlhbnQtY2Fwczpub3JtYWw7Zm9udC12YXJpYW50LW51bWVyaWM6bm9ybWFsO2ZvbnQtdmFyaWFudC1hbHRlcm5hdGVzOm5vcm1hbDtmb250LWZlYXR1cmUtc2V0dGluZ3M6bm9ybWFsO3RleHQtaW5kZW50OjA7dGV4dC1hbGlnbjpzdGFydDt0ZXh0LWRlY29yYXRpb246bm9uZTt0ZXh0LWRlY29yYXRpb24tbGluZTpub25lO3RleHQtZGVjb3JhdGlvbi1zdHlsZTpzb2xpZDt0ZXh0LWRlY29yYXRpb24tY29sb3I6JTIzMDAwO2xldHRlci1zcGFjaW5nOm5vcm1hbDt3b3JkLXNwYWNpbmc6bm9ybWFsO3RleHQtdHJhbnNmb3JtOm5vbmU7d3JpdGluZy1tb2RlOmxyLXRiO2RpcmVjdGlvbjpsdHI7dGV4dC1vcmllbnRhdGlvbjptaXhlZDtkb21pbmFudC1iYXNlbGluZTphdXRvO2Jhc2VsaW5lLXNoaWZ0OmJhc2VsaW5lO3RleHQtYW5jaG9yOnN0YXJ0O3doaXRlLXNwYWNlOm5vcm1hbDtzaGFwZS1wYWRkaW5nOjA7Y2xpcC1ydWxlOmV2ZW5vZGQ7ZGlzcGxheTppbmxpbmU7b3ZlcmZsb3c6dmlzaWJsZTt2aXNpYmlsaXR5OnZpc2libGU7b3BhY2l0eToxO2lzb2xhdGlvbjphdXRvO21peC1ibGVuZC1tb2RlOm5vcm1hbDtjb2xvci1pbnRlcnBvbGF0aW9uOnNSR0I7Y29sb3ItaW50ZXJwb2xhdGlvbi1maWx0ZXJzOmxpbmVhclJHQjtzb2xpZC1jb2xvcjolMjMwMDA7c29saWQtb3BhY2l0eToxO3ZlY3Rvci1lZmZlY3Q6bm9uZTtmaWxsOiUyMzAwMDtmaWxsLW9wYWNpdHk6LjQ7ZmlsbC1ydWxlOmV2ZW5vZGQ7c3Ryb2tlOm5vbmU7c3Ryb2tlLXdpZHRoOjIuNDc3Mjc4MjM7c3Ryb2tlLWxpbmVjYXA6YnV0dDtzdHJva2UtbGluZWpvaW46bWl0ZXI7c3Ryb2tlLW1pdGVybGltaXQ6NDtzdHJva2UtZGFzaGFycmF5Om5vbmU7c3Ryb2tlLWRhc2hvZmZzZXQ6MDtzdHJva2Utb3BhY2l0eToxO2NvbG9yLXJlbmRlcmluZzphdXRvO2ltYWdlLXJlbmRlcmluZzphdXRvO3NoYXBlLXJlbmRlcmluZzphdXRvO3RleHQtcmVuZGVyaW5nOmF1dG8nIHRyYW5zZm9ybT0ndHJhbnNsYXRlKDE1LjU1MyAyLjg1KXNjYWxlKC44ODgwNyknLyUzRSUzQ3BhdGggZD0nTS05LjQxNS0uMzE2Qy0xMi42OS0uMzM4LTE1LjM3IDIuMTQtMTUuMzkgNS4yMDdjLS4wMTcgMi43MTYgMS4zMjYgNC4wNDEgMi43OCA1LjQ3NyAxLjAxMyAxIDIuMDgxIDIuMDU1IDIuNzggMy42N2wuMDkyLjA3NmEuMzQuMzQgMCAwIDAgLjIyNS4wODYuMzQuMzQgMCAwIDAgLjIyNy0uMDgzbC4wMTktLjAxYy4wMjItLjAwOS4wNTctLjAyNC4wNzQtLjA2NC42OTctMS42IDEuNzgtMi42NCAyLjgxNC0zLjYzNCAxLjQ3My0xLjQxNCAyLjg0Ny0yLjczMyAyLjg2NC01LjQ0LjAyLTMuMDY3LTIuNjI3LTUuNTgtNS45MDEtNS42MDFtLS4wNTcgOC43ODRjMS42MjEuMDExIDIuOTQ0LTEuMzE1IDIuOTU1LTIuOTYuMDEtMS42NDYtMS4yOTUtMi45ODgtMi45MTYtMi45OTktMS42MjItLjAxLTIuOTQ1IDEuMzE1LTIuOTU1IDIuOTZzMS4yOTUgMi45ODkgMi45MTYgMycgc3R5bGU9J2NsaXAtcnVsZTpldmVub2RkO2ZpbGw6JTIzZTFlM2U5O2ZpbGwtb3BhY2l0eToxO2ZpbGwtcnVsZTpldmVub2RkO3N0cm9rZTpub25lO3N0cm9rZS13aWR0aDoyLjQ3NzI3ODIzO3N0cm9rZS1taXRlcmxpbWl0OjQ7c3Ryb2tlLWRhc2hhcnJheTpub25lO3N0cm9rZS1vcGFjaXR5Oi40JyB0cmFuc2Zvcm09J3RyYW5zbGF0ZSgxNS41NTMgMi44NSlzY2FsZSguODg4MDcpJy8lM0UlM0NwYXRoIGQ9J00tMTEuNTk0IDE1LjQ2NWMtLjI3LS4wMDItLjQ5Mi4yOTctLjQ5NC42NjhsLS4wMTIgMS44NzZjLS4wMDMuMzcxLjIxNC42NzMuNDg1LjY3NWw0LjE0LjAyN2MuMjcxLjAwMi40OTItLjI5OC40OTUtLjY2OGwuMDEyLTEuODc3Yy4wMDMtLjM3LS4yMTUtLjY3Mi0uNDg1LS42NzR6JyBzdHlsZT0nY2xpcC1ydWxlOmV2ZW5vZGQ7ZmlsbDolMjNmZmY7ZmlsbC1vcGFjaXR5OjE7ZmlsbC1ydWxlOmV2ZW5vZGQ7c3Ryb2tlOm5vbmU7c3Ryb2tlLXdpZHRoOjIuNDc3Mjc4MjM7c3Ryb2tlLW1pdGVybGltaXQ6NDtzdHJva2UtZGFzaGFycmF5Om5vbmU7c3Ryb2tlLW9wYWNpdHk6LjQnIHRyYW5zZm9ybT0ndHJhbnNsYXRlKDE1LjU1MyAyLjg1KXNjYWxlKC44ODgwNyknLyUzRSUzQy9nJTNFJTNDL3N2ZyUzRVwiKX19QG1lZGlhIChmb3JjZWQtY29sb3JzOmFjdGl2ZSkgYW5kIChwcmVmZXJzLWNvbG9yLXNjaGVtZTpsaWdodCl7YS5tYXBsaWJyZWdsLWN0cmwtbG9nb3tiYWNrZ3JvdW5kLWltYWdlOnVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0Zi04LCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPSc4OCcgaGVpZ2h0PScyMycgZmlsbD0nbm9uZSclM0UlM0NwYXRoIGZpbGw9JyUyMzAwMCcgZmlsbC1vcGFjaXR5PScuNCcgZmlsbC1ydWxlPSdldmVub2RkJyBkPSdNMTcuNDA4IDE2Ljc5NmgtMS44MjdsMi41MDEtMTIuMDk1aC4xOThsMy4zMjQgNi41MzMuOTg4IDIuMTkuOTg4LTIuMTkgMy4yNTgtNi41MzNoLjE4MWwyLjYgMTIuMDk1aC0xLjgxbC0xLjIxOC01LjY0NC0uMzYyLTEuNzEtLjY1OCAxLjcxLTIuOTI5IDUuNjQ0aC0uMDk4bC0yLjkxNC01LjY0NC0uNzU3LTEuNzEtLjM0NSAxLjcxem0xLjk1OC0zLjQyLS43MjYgMy42NjNhMS4yNTUgMS4yNTUgMCAwIDEtMS4yMzIgMS4wMTFoLTEuODI3YTEuMjU1IDEuMjU1IDAgMCAxLTEuMjI5LTEuNTA5bDIuNTAxLTEyLjA5NWExLjI1NSAxLjI1NSAwIDAgMSAxLjIzLTEuMDAxaC4xOTdhMS4yNSAxLjI1IDAgMCAxIDEuMTIuNjg1bDMuMTkgNi4yNzMgMy4xMjUtNi4yNjNhMS4yNSAxLjI1IDAgMCAxIDEuMTIzLS42OTVoLjE4MWExLjI1NSAxLjI1NSAwIDAgMSAxLjIyNy45OTFsMS40NDMgNi43MWE1IDUgMCAwIDEgLjMxNC0uNzg3bC4wMDktLjAxNmE0LjYgNC42IDAgMCAxIDEuNzc3LTEuODg3Yy43ODItLjQ2IDEuNjY4LS42NjcgMi42MTEtLjY2N2E0LjYgNC42IDAgMCAxIDEuNy4zMmwuMzA2LjEzNGMuMjEtLjE2LjQ3NC0uMjU2Ljc1OS0uMjU2aDEuNjk0YTEuMjU1IDEuMjU1IDAgMCAxIDEuMjEyLjkyNSAxLjI1NSAxLjI1NSAwIDAgMSAxLjIxMi0uOTI1aDEuNzExYy4yODQgMCAuNTQ1LjA5NC43NTUuMjUyLjYxMy0uMyAxLjMxMi0uNDUgMi4wNzUtLjQ1IDEuMzU2IDAgMi41NTcuNDQ1IDMuNDgyIDEuNHEuNDcuNDguNzYzIDEuMDY0VjQuNzAxYTEuMjU1IDEuMjU1IDAgMCAxIDEuMjU1LTEuMjU1aDEuODZBMS4yNTUgMS4yNTUgMCAwIDEgNTQuNDQgNC43djkuMTk0aDIuMjE3Yy4xOSAwIC4zNy4wNDMuNTMyLjExOHYtNC43N2MwLS4zNTYuMTQ3LS42NzguMzg1LS45MDZhMi40MiAyLjQyIDAgMCAxLS42ODItMS43MWMwLS42NjUuMjY3LTEuMjUzLjczNS0xLjdhMi40NSAyLjQ1IDAgMCAxIDEuNzIyLS42NzQgMi40MyAyLjQzIDAgMCAxIDEuNzA1LjY3NXEuMzE4LjMwMi41MDQuNjgzVjQuN2ExLjI1NSAxLjI1NSAwIDAgMSAxLjI1NS0xLjI1NWgxLjc0NEExLjI1NSAxLjI1NSAwIDAgMSA2NS44MTIgNC43djMuMzM1YTQuOCA0LjggMCAwIDEgMS41MjYtLjI0NmMuOTM4IDAgMS44MTcuMjE0IDIuNTkuNjlhNC40NyA0LjQ3IDAgMCAxIDEuNjcgMS43NDN2LS45OGExLjI1NSAxLjI1NSAwIDAgMSAxLjI1Ni0xLjI1NmgxLjc3N2MuMjMzIDAgLjQ1MS4wNjQuNjM5LjE3NGEzLjQgMy40IDAgMCAxIDEuNTY3LS4zNzJjLjM0NiAwIC44NjEuMDIgMS4yODUuMjMyYTEuMjUgMS4yNSAwIDAgMSAuNjg5IDEuMDA0IDQuNyA0LjcgMCAwIDEgLjg1My0uNTg4Yy43OTUtLjQ0IDEuNjc1LS42NDcgMi42MS0uNjQ3IDEuMzg1IDAgMi42NS4zOSAzLjUyNSAxLjM5Ni44MzYuOTM4IDEuMTY4IDIuMTczIDEuMTY4IDMuNTI4cS0uMDAxLjUxNS0uMDU2IDEuMDUxYTEuMjU1IDEuMjU1IDAgMCAxLS45NDcgMS4wOWwuNDA4Ljk1MmExLjI1NSAxLjI1NSAwIDAgMS0uNDc3IDEuNTUyYy0uNDE4LjI2OC0uOTIuNDYzLTEuNDU4LjYxMi0uNjEzLjE3MS0xLjMwNC4yNDQtMi4wNDkuMjQ0LTEuMDYgMC0yLjA0My0uMjA3LTIuODg2LS42OThsLS4wMTUtLjAwOGMtLjc5OC0uNDgtMS40MTktMS4xMzUtMS44MTgtMS45NjNsLS4wMDQtLjAwOGE1LjggNS44IDAgMCAxLS41NDgtMi41MTJxMC0uNDI5LjA1My0uODQzYTEuMyAxLjMgMCAwIDEtLjMzMy0uMDg2bC0uMTY2LS4wMDRjLS4yMjMgMC0uNDI2LjA2Mi0uNjQzLjIyOC0uMDMuMDI0LS4xNDIuMTM5LS4xNDIuNTl2My44ODNhMS4yNTUgMS4yNTUgMCAwIDEtMS4yNTYgMS4yNTZoLTEuNzc3YTEuMjU1IDEuMjU1IDAgMCAxLTEuMjU2LTEuMjU2VjE1LjY5bC0uMDMyLjA1N2E0LjggNC44IDAgMCAxLTEuODYgMS44MzMgNS4wNCA1LjA0IDAgMCAxLTIuNDg0LjYzNCA0LjUgNC41IDAgMCAxLTEuOTM1LS40MjQgMS4yNSAxLjI1IDAgMCAxLS43NjQuMjU4aC0xLjcxYTEuMjU1IDEuMjU1IDAgMCAxLTEuMjU2LTEuMjU1VjcuNjg3YTIuNCAyLjQgMCAwIDEtLjQyOC42MjVjLjI1My4yMy40MTIuNTYxLjQxMi45M3Y3LjU1M2ExLjI1NSAxLjI1NSAwIDAgMS0xLjI1NiAxLjI1NWgtMS44NDNhMS4yNSAxLjI1IDAgMCAxLS44OTQtLjM3M2MtLjIyOC4yMy0uNTQ0LjM3My0uODk0LjM3M0g1MS4zMmExLjI1NSAxLjI1NSAwIDAgMS0xLjI1Ni0xLjI1NXYtMS4yNTFsLS4wNjEuMTE3YTQuNyA0LjcgMCAwIDEtMS43ODIgMS44ODQgNC43NyA0Ljc3IDAgMCAxLTIuNDg1LjY3IDUuNiA1LjYgMCAwIDEtMS40ODUtLjE4OGwuMDA5IDIuNzY0YTEuMjU1IDEuMjU1IDAgMCAxLTEuMjU1IDEuMjU5aC0xLjcyOWExLjI1NSAxLjI1NSAwIDAgMS0xLjI1NS0xLjI1NXYtMy41MzdhMS4yNTUgMS4yNTUgMCAwIDEtMS4xNjcuNzkzaC0xLjY3OWExLjI1IDEuMjUgMCAwIDEtLjc3LS4yNjMgNC41IDQuNSAwIDAgMS0xLjk0NS40MjljLS44ODUgMC0xLjcyNC0uMjEtMi40OTUtLjYzMmwtLjAxNy0uMDFhNSA1IDAgMCAxLTEuMDgxLS44MzYgMS4yNTUgMS4yNTUgMCAwIDEtMS4yNTQgMS4zMTJoLTEuODFhMS4yNTUgMS4yNTUgMCAwIDEtMS4yMjgtLjk5bC0uNzgyLTMuNjI1LTIuMDQ0IDMuOTM5YTEuMjUgMS4yNSAwIDAgMS0xLjExNS42NzZoLS4wOThhMS4yNSAxLjI1IDAgMCAxLTEuMTE2LS42OGwtMi4wNjEtMy45OTR6TTM1LjkyIDE2LjYzbC4yMDctLjExNC4yMjMtLjE1cS40OTMtLjM1Ni43MzUtLjc4NWwuMDYxLS4xMTguMDMzIDEuMzMyaDEuNjc4VjkuMjQyaC0xLjY5NGwtLjAzMyAxLjI2N3EtLjEzMy0uMzI5LS41MjYtLjY1OGwtLjAzMi0uMDI4YTMuMiAzLjIgMCAwIDAtLjY2OC0uNDI4bC0uMjctLjEyYTMuMyAzLjMgMCAwIDAtMS4yMzUtLjIzcS0xLjEzNi0uMDAxLTEuOTc0LjQ5M2EzLjM2IDMuMzYgMCAwIDAtMS4zIDEuMzgycS0uNDQ1Ljg5LS40NDQgMi4wNzQgMCAxLjIuNTEgMi4xMDdhMy44IDMuOCAwIDAgMCAxLjM4MiAxLjM4MSAzLjkgMy45IDAgMCAwIDEuODkzLjQ3N3EuNzk1IDAgMS40NTUtLjMzem0tMi43ODktNS4zOHEtLjU3Ni42NzUtLjU3NSAxLjc2MiAwIDEuMTAyLjU1OSAxLjc5NC41NzYuNjc1IDEuNjQ1LjY3NWEyLjI1IDIuMjUgMCAwIDAgLjkzNC0uMTkgMi4yIDIuMiAwIDAgMCAuNDY4LS4yOWwuMTc4LS4xNjFhMi4yIDIuMiAwIDAgMCAuMzk3LS41NjFxLjI0NC0uNS4yNDQtMS4xNXYtLjExNXEwLS43MDgtLjI5Ni0xLjI2N2wtLjA0My0uMDc3YTIuMiAyLjIgMCAwIDAtLjYzMy0uNzA5bC0uMTMtLjA4Ni0uMDQ3LS4wMjhhMi4xIDIuMSAwIDAgMC0xLjA3My0uMjg1cS0xLjA1MiAwLTEuNjI5LjY5MnptMi4zMTYgMi43MDZjLjE2My0uMTcuMjgtLjQwNy4yOC0uODN2LS4xMTRjMC0uMjkyLS4wNi0uNTA4LS4xNS0uNjhhLjk2Ljk2IDAgMCAwLS4zNTMtLjM4OS44NS44NSAwIDAgMC0uNDY0LS4xMjdjLS40IDAtLjU2LjExNC0uNjY0LjIzOWwtLjAxLjAxMmMtLjE0OC4xNzQtLjI3NS40NS0uMjc1Ljk0NSAwIC41MDYuMTIyLjgwMS4yNy45OS4wOTcuMTEuMjY2LjIyNC42OC4yMjQuMzAzIDAgLjUwNC0uMDkuNjg3LS4yNjl6bTcuNTQ1IDEuNzA1YTIuNiAyLjYgMCAwIDAgLjMzMS40MjNxLjMxOS4zMy43NTUuNTQ4bC4xNzMuMDc0cS42NS4yNTUgMS40OS4yNTUgMS4wMiAwIDEuODQ0LS40OTNhMy40NSAzLjQ1IDAgMCAwIDEuMzE2LTEuNHEuNDkzLS45MDQuNDkzLTIuMDg5IDAtMS45MDktLjk4OC0yLjkxMy0uOTg4LTEuMDItMi41ODQtMS4wMi0uODk4IDAtMS41NzUuMzQ3YTMgMyAwIDAgMC0uNDE1LjI2MmwtLjE5OS4xNjZhMy40IDMuNCAwIDAgMC0uNjQuODJWOS4yNDJoLTEuNzEydjExLjU1M2gxLjcyOWwtLjAxNy01LjEzNHptLjUzLTEuMTM4cS4yMDYuMjkuNDguNWwuMTU1LjExLjA1My4wMzRxLjUxLjI5NiAxLjExOS4yOTcgMS4wNyAwIDEuNjQ1LS42NzUuNTc3LS42OS41NzYtMS43NjIgMC0xLjExOS0uNTc2LTEuNzc3LS41NTgtLjY3NS0xLjY0NS0uNjc1LS40MzUgMC0uODM1LjE2YTIgMiAwIDAgMC0uMjg0LjEzNiAyIDIgMCAwIDAtLjM2My4yNTQgMi4yIDIuMiAwIDAgMC0uNDYuNTY5bC0uMDgyLjE2MmEyLjYgMi42IDAgMCAwLS4yMTMgMS4wNzJ2LjExNXEwIC43MDcuMjk2IDEuMjY3bC4xMzUuMjExem0uOTY0LS44MThhMS4xIDEuMSAwIDAgMCAuMzY3LjM4NS45NC45NCAwIDAgMCAuNDc2LjExOGMuNDIzIDAgLjU5LS4xMTcuNjg3LS4yMy4xNTktLjE5NC4yOC0uNDc4LjI4LS45NSAwLS41My0uMTMzLS44LS4yNjYtLjk1MmwtLjAyMS0uMDI1Yy0uMDc4LS4wOTQtLjIzMS0uMjIxLS42OC0uMjIxYTEgMSAwIDAgMC0uNTAzLjEzNWwtLjAxMi4wMDdhLjg2Ljg2IDAgMCAwLS4zMzUuMzQzYy0uMDczLjEzMy0uMTMyLjMyNC0uMTMyLjYxNHYuMTE1YTEuNCAxLjQgMCAwIDAgLjE0LjY2em0xNS43LTYuMjIycS4zNDctLjM0Ni4zNDYtLjg1NmExLjA1IDEuMDUgMCAwIDAtLjM0NS0uNzkgMS4xOCAxLjE4IDAgMCAwLS44NC0uMzI5cS0uNTEgMC0uODU1LjMzYTEuMDUgMS4wNSAwIDAgMC0uMzQ2Ljc5cTAgLjUxLjM0Ni44NTUuMzQ1LjM0Ni44NTYuMzQ2LjUxIDAgLjgzOS0uMzQ2em00LjMzNyA5LjMxNC4wMzMtMS4zMzJxLjE5MS40MDMuNTkuNzQ3bC4wOTguMDgxYTQgNCAwIDAgMCAuMzE2LjIyNGwuMjIzLjEyMmEzLjIgMy4yIDAgMCAwIDEuNDQuMzIyIDMuOCAzLjggMCAwIDAgMS44NzUtLjQ3NyAzLjUgMy41IDAgMCAwIDEuMzgyLTEuMzY2cS41MjctLjg5LjUyNi0yLjA5IDAtMS4xODQtLjQ0NC0yLjA3M2EzLjI0IDMuMjQgMCAwIDAtMS4yODMtMS4zOTlxLS44MjMtLjUxLTEuOTQyLS41MWEzLjUgMy41IDAgMCAwLTEuNTI3LjM0NGwtLjA4Ni4wNDMtLjE2NS4wOWEzIDMgMCAwIDAtLjMzLjIxNHEtLjQzMi4zMTUtLjY1Ni43MDdhMiAyIDAgMCAwLS4wOTkuMTk4bC4wODItMS4yODNWNC43MDFoLTEuNzQ0djEyLjA5NXptLjQ3My0yLjUwOWEyLjUgMi41IDAgMCAwIC41NjYuN3EuMTE3LjA5OC4yNDUuMThsLjE0NC4wOGEyLjEgMi4xIDAgMCAwIC45NzUuMjMycTEuMDcgMCAxLjY0NS0uNjc1LjU3Ni0uNjkuNTc2LTEuNzc4IDAtMS4xMDItLjU3Ni0xLjc3Ny0uNTYtLjY5MS0xLjY0NS0uNjkyYTIuMiAyLjIgMCAwIDAtMS4wMTUuMjM1cS0uMjIuMTEzLS40MTUuMjgybC0uMTUuMTQyYTIuMSAyLjEgMCAwIDAtLjQyLjU5NHEtLjIyMy40NzktLjIyMyAxLjF2LjExNXEwIC43MDUuMjkzIDEuMjZ6bTIuNjE2LS4yOTNjLjE1Ny0uMTkxLjI4LS40NzkuMjgtLjk2NyAwLS41MS0uMTMtLjc5LS4yNzYtLjk2MWwtLjAyMS0uMDI2Yy0uMDgyLS4xLS4yMzItLjIyNS0uNjctLjIyNWEuODcuODcgMCAwIDAtLjY4MS4yNzlsLS4wMTIuMDExYy0uMTU0LjE1NS0uMjc0LjM4LS4yNzQuODA3di4xMTVjMCAuMjg1LjA1Ny40OTkuMTQ0LjY2OWExLjEgMS4xIDAgMCAwIC4zNjcuNDA1Yy4xMzcuMDgyLjI4LjEyMy40NTUuMTIzLjQyMyAwIC41OS0uMTE4LjY4Ni0uMjN6bTguMjY2LTMuMDEzcS4zNDUtLjEzLjcyNC0uMTRsLjA2OS0uMDAycS40OTMgMCAuNjQyLjA5OWwuMjQ3LTEuNzk0cS0uMTk2LS4wOTktLjcxNy0uMDk5YTIuMyAyLjMgMCAwIDAtLjU0NS4wNjMgMiAyIDAgMCAwLS40MTEuMTQ4IDIuMiAyLjIgMCAwIDAtLjQuMjQ5IDIuNSAyLjUgMCAwIDAtLjQ4NS40OTkgMi43IDIuNyAwIDAgMC0uMzIuNTgxbC0uMDUuMTM3di0xLjQ4aC0xLjc3OHY3LjU1M2gxLjc3N3YtMy44ODRxMC0uNTQ2LjE1OS0uOTQzYTEuNSAxLjUgMCAwIDEgLjQ2Ni0uNjM2IDIuNSAyLjUgMCAwIDEgLjM5OS0uMjUzIDIgMiAwIDAgMSAuMjI0LS4wOTl6bTkuNzg0IDIuNjU2LjA1LS45MjJxMC0xLjc0My0uODU2LTIuNjk4LS44MzgtLjk3LTIuNTg0LS45Ny0xLjExOS0uMDAxLTIuMDA3LjQ5M2EzLjQ2IDMuNDYgMCAwIDAtMS40IDEuMzgycS0uNDkzLjkwNi0uNDkzIDIuMTA2IDAgMS4wNy40MjggMS45NzUuNDI4Ljg5IDEuMzMyIDEuNDMyLjkwNi41MjYgMi4yNTUuNTI2Ljk3MyAwIDEuNjY4LS4xODVsLjA0NC0uMDEyLjEzNS0uMDRxLjYxMy0uMTg0Ljk4NC0uNDIxbC0uNTQyLTEuMjY3cS0uMy4xNjItLjY0Mi4yNzRsLS4yOTcuMDg3cS0uNTEuMTMxLTEuMy4xMzEtLjk1NCAwLTEuNDk3LS40NDRhMS42IDEuNiAwIDAgMS0uMTkyLS4xOTNxLS4zNjYtLjQ0LS41MTItMS4yMzRsLS4wMDQtLjAyMXptLTUuNDI3LTEuMjU2LS4wMDMuMDIyaDMuNzUydi0uMTM4cS0uMDExLS43MjctLjI4OC0xLjExOGExIDEgMCAwIDAtLjE1Ni0uMTc2cS0uNDYtLjQyOC0xLjMxNi0uNDI4LS45ODYgMC0xLjQ5NC42MDQtLjM3OS40NS0uNDk0IDEuMjM0em0tMjcuMDUzIDIuNzdWNC43aC0xLjg2djEyLjA5NWg1LjMzM1YxNS4xNXptNy4xMDMtNS45MDh2Ny41NTNoLTEuODQzVjkuMjQyaDEuODQzeicvJTNFJTNDcGF0aCBmaWxsPSclMjNmZmYnIGQ9J20xOS42MyAxMS4xNTEtLjc1Ny0xLjcxLS4zNDUgMS43MS0xLjEyIDUuNjQ0aC0xLjgyN0wxOC4wODMgNC43aC4xOTdsMy4zMjUgNi41MzMuOTg4IDIuMTkuOTg4LTIuMTlMMjYuODM5IDQuN2guMTgxbDIuNiAxMi4wOTVoLTEuODFsLTEuMjE4LTUuNjQ0LS4zNjItMS43MS0uNjU4IDEuNzEtMi45MyA1LjY0NGgtLjA5OGwtMi45MTMtNS42NDR6bTE0LjgzNiA1LjgxcS0xLjAyIDAtMS44OTMtLjQ3OGEzLjggMy44IDAgMCAxLTEuMzgxLTEuMzgycS0uNTEtLjkwNi0uNTEtMi4xMDYgMC0xLjE4NS40NDQtMi4wNzRhMy4zNiAzLjM2IDAgMCAxIDEuMy0xLjM4MnEuODM5LS40OTQgMS45NzQtLjQ5NGEzLjMgMy4zIDAgMCAxIDEuMjM0LjIzMSAzLjMgMy4zIDAgMCAxIC45Ny41NzVxLjM5Ni4zMy41MjcuNjU5bC4wMzMtMS4yNjdoMS42OTR2Ny41NTNIMzcuMThsLS4wMzMtMS4zMzJxLS4yNzkuNTkzLTEuMDIgMS4wNTNhMy4xNyAzLjE3IDAgMCAxLTEuNjYyLjQ0NHptLjI5Ni0xLjQ4MnEuOTM4IDAgMS41OC0uNjQyLjY0Mi0uNjYuNjQyLTEuNzExdi0uMTE1cTAtLjcwOC0uMjk2LTEuMjY3YTIuMiAyLjIgMCAwIDAtLjgwNy0uODcyIDIuMSAyLjEgMCAwIDAtMS4xMTktLjMxM3EtMS4wNTMgMC0xLjYyOS42OTItLjU3NS42NzUtLjU3NSAxLjc2IDAgMS4xMDMuNTU5IDEuNzk1LjU3Ny42NzUgMS42NDUuNjc1em02LjUyMS02LjIzN2gxLjcxMXYxLjRxLjkwNi0xLjU5NyAyLjgzLTEuNTk3IDEuNTk2IDAgMi41ODQgMS4wMi45ODggMS4wMDUuOTg4IDIuOTE0IDAgMS4xODUtLjQ5MyAyLjA5YTMuNDYgMy40NiAwIDAgMS0xLjMxNiAxLjM5OSAzLjUgMy41IDAgMCAxLTEuODQ0LjQ5M3EtLjk1NCAwLTEuNjYyLS4zMjlhMi42NyAyLjY3IDAgMCAxLTEuMDg2LS45N2wuMDE3IDUuMTM0aC0xLjcyOHptNC4wNDggNi4yMnExLjA3IDAgMS42NDUtLjY3NC41NzctLjY5LjU3Ni0xLjc2MiAwLTEuMTE5LS41NzYtMS43NzctLjU1OC0uNjc1LTEuNjQ1LS42NzUtLjU5MiAwLTEuMTIuMjk2LS41MS4yOC0uODIyLjgyMy0uMjk2LjUyNy0uMjk2IDEuMjM0di4xMTVxMCAuNzA4LjI5NiAxLjI2Ny4zMTMuNTQzLjgyMy44NTUuNTEuMjk2IDEuMTE5LjI5N3onLyUzRSUzQ3BhdGggZmlsbD0nJTIzZTFlM2U5JyBkPSdNNTEuMzI1IDQuN2gxLjg2djEwLjQ1aDMuNDczdjEuNjQ2aC01LjMzM3ptNy4xMiA0LjU0MmgxLjg0M3Y3LjU1M2gtMS44NDN6bS45MDUtMS40MTVhMS4xNiAxLjE2IDAgMCAxLS44NTYtLjM0NiAxLjE3IDEuMTcgMCAwIDEtLjM0Ni0uODU2IDEuMDUgMS4wNSAwIDAgMSAuMzQ2LS43OXEuMzQ2LS4zMjkuODU2LS4zMjkuNDk0IDAgLjgzOS4zM2ExLjA1IDEuMDUgMCAwIDEgLjM0NS43OSAxLjE2IDEuMTYgMCAwIDEtLjM0NS44NTVxLS4zMy4zNDYtLjg0LjM0NnptNy44NzUgOS4xMzNhMy4xNyAzLjE3IDAgMCAxLTEuNjYyLS40NDRxLS43MjMtLjQ2LTEuMDA0LTEuMDUzbC0uMDMzIDEuMzMyaC0xLjcxVjQuNzAxaDEuNzQzdjQuNjU3bC0uMDgyIDEuMjgzcS4yNzktLjY1OCAxLjA4Ni0xLjExOWEzLjUgMy41IDAgMCAxIDEuNzc4LS40NzdxMS4xMTkgMCAxLjk0Mi41MWEzLjI0IDMuMjQgMCAwIDEgMS4yODMgMS40cS40NDUuODg4LjQ0NCAyLjA3MiAwIDEuMjAxLS41MjYgMi4wOWEzLjUgMy41IDAgMCAxLTEuMzgyIDEuMzY2IDMuOCAzLjggMCAwIDEtMS44NzYuNDc3em0tLjI5Ni0xLjQ4MXExLjA2OSAwIDEuNjQ1LS42NzUuNTc3LS42OS41NzctMS43NzggMC0xLjEwMi0uNTc3LTEuNzc2LS41Ni0uNjkxLTEuNjQ1LS42OTJhMi4xMiAyLjEyIDAgMCAwLTEuNTguNjU5cS0uNjQyLjY0MS0uNjQyIDEuNjk0di4xMTVxMCAuNzEuMjk2IDEuMjY3YTIuNCAyLjQgMCAwIDAgLjgwNy44NzIgMi4xIDIuMSAwIDAgMCAxLjExOS4zMTN6bTUuOTI3LTYuMjM3aDEuNzc3djEuNDgxcS4yNjMtLjc1Ny44NTYtMS4yMTdhMi4xNCAyLjE0IDAgMCAxIDEuMzQ5LS40NnEuNTI3IDAgLjcyNC4wOThsLS4yNDcgMS43OTRxLS4xNDktLjA5OS0uNjQyLS4wOTktLjc3NCAwLTEuNDE2LjQ5NC0uNjI2LjQ5My0uNjI2IDEuNTh2My44ODNoLTEuNzc3VjkuMjQyem05LjUzNCA3LjcxOHEtMS4zNSAwLTIuMjU1LS41MjYtLjkwNC0uNTQzLTEuMzMyLTEuNDMyYTQuNiA0LjYgMCAwIDEtLjQyOC0xLjk3NXEwLTEuMi40OTMtMi4xMDZhMy40NiAzLjQ2IDAgMCAxIDEuNC0xLjM4MnEuODg5LS40OTUgMi4wMDctLjQ5NCAxLjc0NCAwIDIuNTg0Ljk3Ljg1NS45NTYuODU2IDIuNyAwIC40NDQtLjA1LjkyaC01LjQzcS4xOCAxLjAwNS43MDggMS40NS41NDIuNDQzIDEuNDk3LjQ0My43OSAwIDEuMy0uMTMxYTQgNCAwIDAgMCAuOTM4LS4zNjJsLjU0MiAxLjI2N3EtLjQxMS4yNjMtMS4xMTkuNDYtLjcwOC4xOTgtMS43MTEuMTk3em0xLjU5Ni00LjU1OHEuMDE2LTEuMDItLjQ0NC0xLjQzMi0uNDYtLjQyOC0xLjMxNi0uNDI4LTEuNzI4IDAtMS45OTEgMS44NnonLyUzRSUzQ3BhdGggZD0nTTUuMDc0IDE1Ljk0OGEuNDg0LjY1NyAwIDAgMC0uNDg2LjY1OXYxLjg0YS40ODQuNjU3IDAgMCAwIC40ODYuNjU5aDQuMTAxYS40ODQuNjU3IDAgMCAwIC40ODYtLjY1OXYtMS44NGEuNDg0LjY1NyAwIDAgMC0uNDg2LS42NTl6bTMuNTYgMS4xNkg1LjYxN3YuODM4aDMuMDE3eicgc3R5bGU9J2ZpbGw6JTIzZmZmO2ZpbGwtcnVsZTpldmVub2RkO3N0cm9rZS13aWR0aDoxLjAzNjAwMDAxJy8lM0UlM0NnIHN0eWxlPSdzdHJva2Utd2lkdGg6MS4xMjYwMzU0NSclM0UlM0NwYXRoIGQ9J00tOS40MDgtMS40MTZjLTMuODMzLS4wMjUtNy4wNTYgMi45MTItNy4wOCA2LjYxNS0uMDIgMy4wOCAxLjY1MyA0LjgzMiAzLjEwNyA2LjI2OC45MDMuODkyIDEuNzIxIDEuNzQgMi4zMiAyLjkwMmwtLjUyNS0uMDA0Yy0uNTQzLS4wMDMtLjk5Mi4zMDQtMS4yNC42MzlhMS44NyAxLjg3IDAgMCAwLS4zNjIgMS4xMjFsLS4wMTEgMS44NzdjLS4wMDMuNDAyLjEwNC43ODcuMzQ3IDEuMTI1LjI0NC4zMzguNjg4LjY1MyAxLjIzLjY1Nmw0LjE0Mi4wMjhjLjU0Mi4wMDMuOTktLjMwNiAxLjIzOC0uNjQxYTEuODcgMS44NyAwIDAgMCAuMzYzLTEuMTIxbC4wMTItMS44NzVhMS44NyAxLjg3IDAgMCAwLS4zNDgtMS4xMjdjLS4yNDMtLjMzOC0uNjg4LS42NTMtMS4yMy0uNjU2bC0uNTE4LS4wMDRjLjU5Ny0xLjE0NSAxLjQyNS0xLjk4MyAyLjM0OC0yLjg3IDEuNDczLTEuNDE0IDMuMTgtMy4xNDkgMy4yLTYuMjI2LS4wMTYtMy41OS0yLjkyMy02LjY4NC02Ljk5My02LjcwN20tLjAwNiAxLjF2LjAwMmMzLjI3NC4wMiA1LjkyIDIuNTMyIDUuOSA1LjYtLjAxNyAyLjcwNi0xLjM5IDQuMDI2LTIuODYzIDUuNDQtMS4wMzQuOTk0LTIuMTE4IDIuMDMzLTIuODE0IDMuNjMzLS4wMTguMDQxLS4wNTIuMDU1LS4wNzUuMDY1cS0uMDEzLjAwNC0uMDIuMDFhLjM0LjM0IDAgMCAxLS4yMjYuMDg0LjM0LjM0IDAgMCAxLS4yMjQtLjA4NmwtLjA5Mi0uMDc3Yy0uNjk5LTEuNjE1LTEuNzY4LTIuNjY5LTIuNzgxLTMuNjctMS40NTQtMS40MzUtMi43OTctMi43NjItMi43OC01LjQ3OC4wMi0zLjA2NyAyLjctNS41NDUgNS45NzUtNS41MjNtLS4wMiAyLjgyNmMtMS42Mi0uMDEtMi45NDQgMS4zMTUtMi45NTUgMi45Ni0uMDEgMS42NDYgMS4yOTUgMi45ODggMi45MTYgMi45OTloLjAwMmMxLjYyMS4wMSAyLjk0My0xLjMxNiAyLjk1My0yLjk2MS4wMTEtMS42NDYtMS4yOTQtMi45ODgtMi45MTYtMi45OThtLS4wMDUgMS4xYzEuMDE3LjAwNiAxLjgyOS44MyAxLjgyMiAxLjg5cy0uODMgMS44NzQtMS44NDggMS44NjdjLTEuMDE4LS4wMDYtMS44MjktLjgzLTEuODIyLTEuODlzLjgzLTEuODc0IDEuODQ4LTEuODY4bS0yLjE1NSAxMS44NTcgNC4xNC4wMjVjLjI3MS4wMDIuNDkuMzA1LjQ4Ny42NzZsLS4wMTMgMS44NzVjLS4wMDMuMzctLjIyNC42Ny0uNDk1LjY2OGwtNC4xNC0uMDI1Yy0uMjctLjAwMi0uNDg3LS4zMDYtLjQ4NS0uNjc2bC4wMTItMS44NzVjLjAwMy0uMzcuMjI0LS42Ny40OTQtLjY2OCcgc3R5bGU9J2NvbG9yOiUyMzAwMDtmb250LXN0eWxlOm5vcm1hbDtmb250LXZhcmlhbnQ6bm9ybWFsO2ZvbnQtd2VpZ2h0OjQwMDtmb250LXN0cmV0Y2g6bm9ybWFsO2ZvbnQtc2l6ZTptZWRpdW07bGluZS1oZWlnaHQ6bm9ybWFsO2ZvbnQtZmFtaWx5OnNhbnMtc2VyaWY7Zm9udC12YXJpYW50LWxpZ2F0dXJlczpub3JtYWw7Zm9udC12YXJpYW50LXBvc2l0aW9uOm5vcm1hbDtmb250LXZhcmlhbnQtY2Fwczpub3JtYWw7Zm9udC12YXJpYW50LW51bWVyaWM6bm9ybWFsO2ZvbnQtdmFyaWFudC1hbHRlcm5hdGVzOm5vcm1hbDtmb250LWZlYXR1cmUtc2V0dGluZ3M6bm9ybWFsO3RleHQtaW5kZW50OjA7dGV4dC1hbGlnbjpzdGFydDt0ZXh0LWRlY29yYXRpb246bm9uZTt0ZXh0LWRlY29yYXRpb24tbGluZTpub25lO3RleHQtZGVjb3JhdGlvbi1zdHlsZTpzb2xpZDt0ZXh0LWRlY29yYXRpb24tY29sb3I6JTIzMDAwO2xldHRlci1zcGFjaW5nOm5vcm1hbDt3b3JkLXNwYWNpbmc6bm9ybWFsO3RleHQtdHJhbnNmb3JtOm5vbmU7d3JpdGluZy1tb2RlOmxyLXRiO2RpcmVjdGlvbjpsdHI7dGV4dC1vcmllbnRhdGlvbjptaXhlZDtkb21pbmFudC1iYXNlbGluZTphdXRvO2Jhc2VsaW5lLXNoaWZ0OmJhc2VsaW5lO3RleHQtYW5jaG9yOnN0YXJ0O3doaXRlLXNwYWNlOm5vcm1hbDtzaGFwZS1wYWRkaW5nOjA7Y2xpcC1ydWxlOmV2ZW5vZGQ7ZGlzcGxheTppbmxpbmU7b3ZlcmZsb3c6dmlzaWJsZTt2aXNpYmlsaXR5OnZpc2libGU7b3BhY2l0eToxO2lzb2xhdGlvbjphdXRvO21peC1ibGVuZC1tb2RlOm5vcm1hbDtjb2xvci1pbnRlcnBvbGF0aW9uOnNSR0I7Y29sb3ItaW50ZXJwb2xhdGlvbi1maWx0ZXJzOmxpbmVhclJHQjtzb2xpZC1jb2xvcjolMjMwMDA7c29saWQtb3BhY2l0eToxO3ZlY3Rvci1lZmZlY3Q6bm9uZTtmaWxsOiUyMzAwMDtmaWxsLW9wYWNpdHk6LjQ7ZmlsbC1ydWxlOmV2ZW5vZGQ7c3Ryb2tlOm5vbmU7c3Ryb2tlLXdpZHRoOjIuNDc3Mjc4MjM7c3Ryb2tlLWxpbmVjYXA6YnV0dDtzdHJva2UtbGluZWpvaW46bWl0ZXI7c3Ryb2tlLW1pdGVybGltaXQ6NDtzdHJva2UtZGFzaGFycmF5Om5vbmU7c3Ryb2tlLWRhc2hvZmZzZXQ6MDtzdHJva2Utb3BhY2l0eToxO2NvbG9yLXJlbmRlcmluZzphdXRvO2ltYWdlLXJlbmRlcmluZzphdXRvO3NoYXBlLXJlbmRlcmluZzphdXRvO3RleHQtcmVuZGVyaW5nOmF1dG8nIHRyYW5zZm9ybT0ndHJhbnNsYXRlKDE1LjU1MyAyLjg1KXNjYWxlKC44ODgwNyknLyUzRSUzQ3BhdGggZD0nTS05LjQxNS0uMzE2Qy0xMi42OS0uMzM4LTE1LjM3IDIuMTQtMTUuMzkgNS4yMDdjLS4wMTcgMi43MTYgMS4zMjYgNC4wNDEgMi43OCA1LjQ3NyAxLjAxMyAxIDIuMDgxIDIuMDU1IDIuNzggMy42N2wuMDkyLjA3NmEuMzQuMzQgMCAwIDAgLjIyNS4wODYuMzQuMzQgMCAwIDAgLjIyNy0uMDgzbC4wMTktLjAxYy4wMjItLjAwOS4wNTctLjAyNC4wNzQtLjA2NC42OTctMS42IDEuNzgtMi42NCAyLjgxNC0zLjYzNCAxLjQ3My0xLjQxNCAyLjg0Ny0yLjczMyAyLjg2NC01LjQ0LjAyLTMuMDY3LTIuNjI3LTUuNTgtNS45MDEtNS42MDFtLS4wNTcgOC43ODRjMS42MjEuMDExIDIuOTQ0LTEuMzE1IDIuOTU1LTIuOTYuMDEtMS42NDYtMS4yOTUtMi45ODgtMi45MTYtMi45OTktMS42MjItLjAxLTIuOTQ1IDEuMzE1LTIuOTU1IDIuOTZzMS4yOTUgMi45ODkgMi45MTYgMycgc3R5bGU9J2NsaXAtcnVsZTpldmVub2RkO2ZpbGw6JTIzZTFlM2U5O2ZpbGwtb3BhY2l0eToxO2ZpbGwtcnVsZTpldmVub2RkO3N0cm9rZTpub25lO3N0cm9rZS13aWR0aDoyLjQ3NzI3ODIzO3N0cm9rZS1taXRlcmxpbWl0OjQ7c3Ryb2tlLWRhc2hhcnJheTpub25lO3N0cm9rZS1vcGFjaXR5Oi40JyB0cmFuc2Zvcm09J3RyYW5zbGF0ZSgxNS41NTMgMi44NSlzY2FsZSguODg4MDcpJy8lM0UlM0NwYXRoIGQ9J00tMTEuNTk0IDE1LjQ2NWMtLjI3LS4wMDItLjQ5Mi4yOTctLjQ5NC42NjhsLS4wMTIgMS44NzZjLS4wMDMuMzcxLjIxNC42NzMuNDg1LjY3NWw0LjE0LjAyN2MuMjcxLjAwMi40OTItLjI5OC40OTUtLjY2OGwuMDEyLTEuODc3Yy4wMDMtLjM3LS4yMTUtLjY3Mi0uNDg1LS42NzR6JyBzdHlsZT0nY2xpcC1ydWxlOmV2ZW5vZGQ7ZmlsbDolMjNmZmY7ZmlsbC1vcGFjaXR5OjE7ZmlsbC1ydWxlOmV2ZW5vZGQ7c3Ryb2tlOm5vbmU7c3Ryb2tlLXdpZHRoOjIuNDc3Mjc4MjM7c3Ryb2tlLW1pdGVybGltaXQ6NDtzdHJva2UtZGFzaGFycmF5Om5vbmU7c3Ryb2tlLW9wYWNpdHk6LjQnIHRyYW5zZm9ybT0ndHJhbnNsYXRlKDE1LjU1MyAyLjg1KXNjYWxlKC44ODgwNyknLyUzRSUzQy9nJTNFJTNDL3N2ZyUzRVwiKX19Lm1hcGxpYnJlZ2wtY3RybC5tYXBsaWJyZWdsLWN0cmwtYXR0cmlie2JhY2tncm91bmQtY29sb3I6aHNsYSgwLDAlLDEwMCUsLjUpO21hcmdpbjowO3BhZGRpbmc6MCA1cHh9QG1lZGlhIHNjcmVlbnsubWFwbGlicmVnbC1jdHJsLWF0dHJpYi5tYXBsaWJyZWdsLWNvbXBhY3R7YmFja2dyb3VuZC1jb2xvcjojZmZmO2JvcmRlci1yYWRpdXM6MTJweDtib3gtc2l6aW5nOmNvbnRlbnQtYm94O2NvbG9yOiMwMDA7bWFyZ2luOjEwcHg7bWluLWhlaWdodDoyMHB4O3BhZGRpbmc6MnB4IDI0cHggMnB4IDA7cG9zaXRpb246cmVsYXRpdmV9Lm1hcGxpYnJlZ2wtY3RybC1hdHRyaWIubWFwbGlicmVnbC1jb21wYWN0LXNob3d7cGFkZGluZzoycHggMjhweCAycHggOHB4O3Zpc2liaWxpdHk6dmlzaWJsZX0ubWFwbGlicmVnbC1jdHJsLWJvdHRvbS1sZWZ0Pi5tYXBsaWJyZWdsLWN0cmwtYXR0cmliLm1hcGxpYnJlZ2wtY29tcGFjdC1zaG93LC5tYXBsaWJyZWdsLWN0cmwtdG9wLWxlZnQ+Lm1hcGxpYnJlZ2wtY3RybC1hdHRyaWIubWFwbGlicmVnbC1jb21wYWN0LXNob3d7Ym9yZGVyLXJhZGl1czoxMnB4O3BhZGRpbmc6MnB4IDhweCAycHggMjhweH0ubWFwbGlicmVnbC1jdHJsLWF0dHJpYi5tYXBsaWJyZWdsLWNvbXBhY3QgLm1hcGxpYnJlZ2wtY3RybC1hdHRyaWItaW5uZXJ7ZGlzcGxheTpub25lfS5tYXBsaWJyZWdsLWN0cmwtYXR0cmliLWJ1dHRvbntiYWNrZ3JvdW5kLWNvbG9yOmhzbGEoMCwwJSwxMDAlLC41KTtiYWNrZ3JvdW5kLWltYWdlOnVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0Zi04LCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPScyNCcgaGVpZ2h0PScyNCcgZmlsbC1ydWxlPSdldmVub2RkJyB2aWV3Qm94PScwIDAgMjAgMjAnJTNFJTNDcGF0aCBkPSdNNCAxMGE2IDYgMCAxIDAgMTIgMCA2IDYgMCAxIDAtMTIgMG01LTNhMSAxIDAgMSAwIDIgMCAxIDEgMCAxIDAtMiAwbTAgM2ExIDEgMCAxIDEgMiAwdjNhMSAxIDAgMSAxLTIgMCcvJTNFJTNDL3N2ZyUzRVwiKTtib3JkZXI6MDtib3JkZXItcmFkaXVzOjEycHg7Ym94LXNpemluZzpib3JkZXItYm94O2N1cnNvcjpwb2ludGVyO2Rpc3BsYXk6bm9uZTtoZWlnaHQ6MjRweDtvdXRsaW5lOm5vbmU7cG9zaXRpb246YWJzb2x1dGU7cmlnaHQ6MDt0b3A6MDt3aWR0aDoyNHB4fS5tYXBsaWJyZWdsLWN0cmwtYXR0cmliIHN1bW1hcnkubWFwbGlicmVnbC1jdHJsLWF0dHJpYi1idXR0b257LXdlYmtpdC1hcHBlYXJhbmNlOm5vbmU7LW1vei1hcHBlYXJhbmNlOm5vbmU7YXBwZWFyYW5jZTpub25lO2xpc3Qtc3R5bGU6bm9uZX0ubWFwbGlicmVnbC1jdHJsLWF0dHJpYiBzdW1tYXJ5Lm1hcGxpYnJlZ2wtY3RybC1hdHRyaWItYnV0dG9uOjotd2Via2l0LWRldGFpbHMtbWFya2Vye2Rpc3BsYXk6bm9uZX0ubWFwbGlicmVnbC1jdHJsLWJvdHRvbS1sZWZ0IC5tYXBsaWJyZWdsLWN0cmwtYXR0cmliLWJ1dHRvbiwubWFwbGlicmVnbC1jdHJsLXRvcC1sZWZ0IC5tYXBsaWJyZWdsLWN0cmwtYXR0cmliLWJ1dHRvbntsZWZ0OjB9Lm1hcGxpYnJlZ2wtY3RybC1hdHRyaWIubWFwbGlicmVnbC1jb21wYWN0IC5tYXBsaWJyZWdsLWN0cmwtYXR0cmliLWJ1dHRvbiwubWFwbGlicmVnbC1jdHJsLWF0dHJpYi5tYXBsaWJyZWdsLWNvbXBhY3Qtc2hvdyAubWFwbGlicmVnbC1jdHJsLWF0dHJpYi1pbm5lcntkaXNwbGF5OmJsb2NrfS5tYXBsaWJyZWdsLWN0cmwtYXR0cmliLm1hcGxpYnJlZ2wtY29tcGFjdC1zaG93IC5tYXBsaWJyZWdsLWN0cmwtYXR0cmliLWJ1dHRvbntiYWNrZ3JvdW5kLWNvbG9yOnJnYigwIDAgMC81JSl9Lm1hcGxpYnJlZ2wtY3RybC1ib3R0b20tcmlnaHQ+Lm1hcGxpYnJlZ2wtY3RybC1hdHRyaWIubWFwbGlicmVnbC1jb21wYWN0OmFmdGVye2JvdHRvbTowO3JpZ2h0OjB9Lm1hcGxpYnJlZ2wtY3RybC10b3AtcmlnaHQ+Lm1hcGxpYnJlZ2wtY3RybC1hdHRyaWIubWFwbGlicmVnbC1jb21wYWN0OmFmdGVye3JpZ2h0OjA7dG9wOjB9Lm1hcGxpYnJlZ2wtY3RybC10b3AtbGVmdD4ubWFwbGlicmVnbC1jdHJsLWF0dHJpYi5tYXBsaWJyZWdsLWNvbXBhY3Q6YWZ0ZXJ7bGVmdDowO3RvcDowfS5tYXBsaWJyZWdsLWN0cmwtYm90dG9tLWxlZnQ+Lm1hcGxpYnJlZ2wtY3RybC1hdHRyaWIubWFwbGlicmVnbC1jb21wYWN0OmFmdGVye2JvdHRvbTowO2xlZnQ6MH19QG1lZGlhIHNjcmVlbiBhbmQgKGZvcmNlZC1jb2xvcnM6YWN0aXZlKXsubWFwbGlicmVnbC1jdHJsLWF0dHJpYi5tYXBsaWJyZWdsLWNvbXBhY3Q6YWZ0ZXJ7YmFja2dyb3VuZC1pbWFnZTp1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGYtOCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMjQnIGhlaWdodD0nMjQnIGZpbGw9JyUyM2ZmZicgZmlsbC1ydWxlPSdldmVub2RkJyB2aWV3Qm94PScwIDAgMjAgMjAnJTNFJTNDcGF0aCBkPSdNNCAxMGE2IDYgMCAxIDAgMTIgMCA2IDYgMCAxIDAtMTIgMG01LTNhMSAxIDAgMSAwIDIgMCAxIDEgMCAxIDAtMiAwbTAgM2ExIDEgMCAxIDEgMiAwdjNhMSAxIDAgMSAxLTIgMCcvJTNFJTNDL3N2ZyUzRVwiKX19QG1lZGlhIHNjcmVlbiBhbmQgKGZvcmNlZC1jb2xvcnM6YWN0aXZlKSBhbmQgKHByZWZlcnMtY29sb3Itc2NoZW1lOmxpZ2h0KXsubWFwbGlicmVnbC1jdHJsLWF0dHJpYi5tYXBsaWJyZWdsLWNvbXBhY3Q6YWZ0ZXJ7YmFja2dyb3VuZC1pbWFnZTp1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGYtOCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMjQnIGhlaWdodD0nMjQnIGZpbGwtcnVsZT0nZXZlbm9kZCcgdmlld0JveD0nMCAwIDIwIDIwJyUzRSUzQ3BhdGggZD0nTTQgMTBhNiA2IDAgMSAwIDEyIDAgNiA2IDAgMSAwLTEyIDBtNS0zYTEgMSAwIDEgMCAyIDAgMSAxIDAgMSAwLTIgMG0wIDNhMSAxIDAgMSAxIDIgMHYzYTEgMSAwIDEgMS0yIDAnLyUzRSUzQy9zdmclM0VcIil9fS5tYXBsaWJyZWdsLWN0cmwtYXR0cmliIGF7Y29sb3I6cmdiYSgwLDAsMCwuNzUpO3RleHQtZGVjb3JhdGlvbjpub25lfS5tYXBsaWJyZWdsLWN0cmwtYXR0cmliIGE6aG92ZXJ7Y29sb3I6aW5oZXJpdDt0ZXh0LWRlY29yYXRpb246dW5kZXJsaW5lfS5tYXBsaWJyZWdsLWF0dHJpYi1lbXB0eXtkaXNwbGF5Om5vbmV9Lm1hcGxpYnJlZ2wtY3RybC1zY2FsZXtiYWNrZ3JvdW5kLWNvbG9yOmhzbGEoMCwwJSwxMDAlLC43NSk7Ym9yZGVyOjJweCBzb2xpZCAjMzMzO2JvcmRlci10b3A6IzMzMztib3gtc2l6aW5nOmJvcmRlci1ib3g7Y29sb3I6IzMzMztmb250LXNpemU6MTBweDtwYWRkaW5nOjAgNXB4fS5tYXBsaWJyZWdsLXBvcHVwe2Rpc3BsYXk6ZmxleDtsZWZ0OjA7cG9pbnRlci1ldmVudHM6bm9uZTtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDt3aWxsLWNoYW5nZTp0cmFuc2Zvcm19Lm1hcGxpYnJlZ2wtcG9wdXAtYW5jaG9yLXRvcCwubWFwbGlicmVnbC1wb3B1cC1hbmNob3ItdG9wLWxlZnQsLm1hcGxpYnJlZ2wtcG9wdXAtYW5jaG9yLXRvcC1yaWdodHtmbGV4LWRpcmVjdGlvbjpjb2x1bW59Lm1hcGxpYnJlZ2wtcG9wdXAtYW5jaG9yLWJvdHRvbSwubWFwbGlicmVnbC1wb3B1cC1hbmNob3ItYm90dG9tLWxlZnQsLm1hcGxpYnJlZ2wtcG9wdXAtYW5jaG9yLWJvdHRvbS1yaWdodHtmbGV4LWRpcmVjdGlvbjpjb2x1bW4tcmV2ZXJzZX0ubWFwbGlicmVnbC1wb3B1cC1hbmNob3ItbGVmdHtmbGV4LWRpcmVjdGlvbjpyb3d9Lm1hcGxpYnJlZ2wtcG9wdXAtYW5jaG9yLXJpZ2h0e2ZsZXgtZGlyZWN0aW9uOnJvdy1yZXZlcnNlfS5tYXBsaWJyZWdsLXBvcHVwLXRpcHtib3JkZXI6MTBweCBzb2xpZCB0cmFuc3BhcmVudDtoZWlnaHQ6MDt3aWR0aDowO3otaW5kZXg6MX0ubWFwbGlicmVnbC1wb3B1cC1hbmNob3ItdG9wIC5tYXBsaWJyZWdsLXBvcHVwLXRpcHthbGlnbi1zZWxmOmNlbnRlcjtib3JkZXItYm90dG9tLWNvbG9yOiNmZmY7Ym9yZGVyLXRvcDpub25lfS5tYXBsaWJyZWdsLXBvcHVwLWFuY2hvci10b3AtbGVmdCAubWFwbGlicmVnbC1wb3B1cC10aXB7YWxpZ24tc2VsZjpmbGV4LXN0YXJ0O2JvcmRlci1ib3R0b20tY29sb3I6I2ZmZjtib3JkZXItbGVmdDpub25lO2JvcmRlci10b3A6bm9uZX0ubWFwbGlicmVnbC1wb3B1cC1hbmNob3ItdG9wLXJpZ2h0IC5tYXBsaWJyZWdsLXBvcHVwLXRpcHthbGlnbi1zZWxmOmZsZXgtZW5kO2JvcmRlci1ib3R0b20tY29sb3I6I2ZmZjtib3JkZXItcmlnaHQ6bm9uZTtib3JkZXItdG9wOm5vbmV9Lm1hcGxpYnJlZ2wtcG9wdXAtYW5jaG9yLWJvdHRvbSAubWFwbGlicmVnbC1wb3B1cC10aXB7YWxpZ24tc2VsZjpjZW50ZXI7Ym9yZGVyLWJvdHRvbTpub25lO2JvcmRlci10b3AtY29sb3I6I2ZmZn0ubWFwbGlicmVnbC1wb3B1cC1hbmNob3ItYm90dG9tLWxlZnQgLm1hcGxpYnJlZ2wtcG9wdXAtdGlwe2FsaWduLXNlbGY6ZmxleC1zdGFydDtib3JkZXItYm90dG9tOm5vbmU7Ym9yZGVyLWxlZnQ6bm9uZTtib3JkZXItdG9wLWNvbG9yOiNmZmZ9Lm1hcGxpYnJlZ2wtcG9wdXAtYW5jaG9yLWJvdHRvbS1yaWdodCAubWFwbGlicmVnbC1wb3B1cC10aXB7YWxpZ24tc2VsZjpmbGV4LWVuZDtib3JkZXItYm90dG9tOm5vbmU7Ym9yZGVyLXJpZ2h0Om5vbmU7Ym9yZGVyLXRvcC1jb2xvcjojZmZmfS5tYXBsaWJyZWdsLXBvcHVwLWFuY2hvci1sZWZ0IC5tYXBsaWJyZWdsLXBvcHVwLXRpcHthbGlnbi1zZWxmOmNlbnRlcjtib3JkZXItbGVmdDpub25lO2JvcmRlci1yaWdodC1jb2xvcjojZmZmfS5tYXBsaWJyZWdsLXBvcHVwLWFuY2hvci1yaWdodCAubWFwbGlicmVnbC1wb3B1cC10aXB7YWxpZ24tc2VsZjpjZW50ZXI7Ym9yZGVyLWxlZnQtY29sb3I6I2ZmZjtib3JkZXItcmlnaHQ6bm9uZX0ubWFwbGlicmVnbC1wb3B1cC1jbG9zZS1idXR0b257YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDtib3JkZXI6MDtib3JkZXItcmFkaXVzOjAgM3B4IDAgMDtjdXJzb3I6cG9pbnRlcjtwb3NpdGlvbjphYnNvbHV0ZTtyaWdodDowO3RvcDowfS5tYXBsaWJyZWdsLXBvcHVwLWNsb3NlLWJ1dHRvbjpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnJnYigwIDAgMC81JSl9Lm1hcGxpYnJlZ2wtcG9wdXAtY29udGVudHtiYWNrZ3JvdW5kOiNmZmY7Ym9yZGVyLXJhZGl1czozcHg7Ym94LXNoYWRvdzowIDFweCAycHggcmdiYSgwLDAsMCwuMSk7cGFkZGluZzoxNXB4IDEwcHg7cG9pbnRlci1ldmVudHM6YXV0bztwb3NpdGlvbjpyZWxhdGl2ZX0ubWFwbGlicmVnbC1wb3B1cC1hbmNob3ItdG9wLWxlZnQgLm1hcGxpYnJlZ2wtcG9wdXAtY29udGVudHtib3JkZXItdG9wLWxlZnQtcmFkaXVzOjB9Lm1hcGxpYnJlZ2wtcG9wdXAtYW5jaG9yLXRvcC1yaWdodCAubWFwbGlicmVnbC1wb3B1cC1jb250ZW50e2JvcmRlci10b3AtcmlnaHQtcmFkaXVzOjB9Lm1hcGxpYnJlZ2wtcG9wdXAtYW5jaG9yLWJvdHRvbS1sZWZ0IC5tYXBsaWJyZWdsLXBvcHVwLWNvbnRlbnR7Ym9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czowfS5tYXBsaWJyZWdsLXBvcHVwLWFuY2hvci1ib3R0b20tcmlnaHQgLm1hcGxpYnJlZ2wtcG9wdXAtY29udGVudHtib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czowfS5tYXBsaWJyZWdsLXBvcHVwLXRyYWNrLXBvaW50ZXJ7ZGlzcGxheTpub25lfS5tYXBsaWJyZWdsLXBvcHVwLXRyYWNrLXBvaW50ZXIgKntwb2ludGVyLWV2ZW50czpub25lOy13ZWJraXQtdXNlci1zZWxlY3Q6bm9uZTstbW96LXVzZXItc2VsZWN0Om5vbmU7dXNlci1zZWxlY3Q6bm9uZX0ubWFwbGlicmVnbC1tYXA6aG92ZXIgLm1hcGxpYnJlZ2wtcG9wdXAtdHJhY2stcG9pbnRlcntkaXNwbGF5OmZsZXh9Lm1hcGxpYnJlZ2wtbWFwOmFjdGl2ZSAubWFwbGlicmVnbC1wb3B1cC10cmFjay1wb2ludGVye2Rpc3BsYXk6bm9uZX0ubWFwbGlicmVnbC1tYXJrZXJ7bGVmdDowO3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO3RyYW5zaXRpb246b3BhY2l0eSAuMnM7d2lsbC1jaGFuZ2U6dHJhbnNmb3JtfS5tYXBsaWJyZWdsLXVzZXItbG9jYXRpb24tZG90LC5tYXBsaWJyZWdsLXVzZXItbG9jYXRpb24tZG90OmJlZm9yZXtiYWNrZ3JvdW5kLWNvbG9yOiMxZGExZjI7Ym9yZGVyLXJhZGl1czo1MCU7aGVpZ2h0OjE1cHg7d2lkdGg6MTVweH0ubWFwbGlicmVnbC11c2VyLWxvY2F0aW9uLWRvdDpiZWZvcmV7YW5pbWF0aW9uOm1hcGxpYnJlZ2wtdXNlci1sb2NhdGlvbi1kb3QtcHVsc2UgMnMgaW5maW5pdGU7Y29udGVudDpcIlwiO3Bvc2l0aW9uOmFic29sdXRlfS5tYXBsaWJyZWdsLXVzZXItbG9jYXRpb24tZG90OmFmdGVye2JvcmRlcjoycHggc29saWQgI2ZmZjtib3JkZXItcmFkaXVzOjUwJTtib3gtc2hhZG93OjAgMCAzcHggcmdiYSgwLDAsMCwuMzUpO2JveC1zaXppbmc6Ym9yZGVyLWJveDtjb250ZW50OlwiXCI7aGVpZ2h0OjE5cHg7bGVmdDotMnB4O3Bvc2l0aW9uOmFic29sdXRlO3RvcDotMnB4O3dpZHRoOjE5cHh9QGtleWZyYW1lcyBtYXBsaWJyZWdsLXVzZXItbG9jYXRpb24tZG90LXB1bHNlezAle29wYWNpdHk6MTt0cmFuc2Zvcm06c2NhbGUoMSl9NzAle29wYWNpdHk6MDt0cmFuc2Zvcm06c2NhbGUoMyl9dG97b3BhY2l0eTowO3RyYW5zZm9ybTpzY2FsZSgxKX19Lm1hcGxpYnJlZ2wtdXNlci1sb2NhdGlvbi1kb3Qtc3RhbGV7YmFja2dyb3VuZC1jb2xvcjojYWFhfS5tYXBsaWJyZWdsLXVzZXItbG9jYXRpb24tZG90LXN0YWxlOmFmdGVye2Rpc3BsYXk6bm9uZX0ubWFwbGlicmVnbC11c2VyLWxvY2F0aW9uLWFjY3VyYWN5LWNpcmNsZXtiYWNrZ3JvdW5kLWNvbG9yOiMxZGExZjIzMztib3JkZXItcmFkaXVzOjEwMCU7aGVpZ2h0OjFweDt3aWR0aDoxcHh9Lm1hcGxpYnJlZ2wtY3Jvc3NoYWlyLC5tYXBsaWJyZWdsLWNyb3NzaGFpciAubWFwbGlicmVnbC1pbnRlcmFjdGl2ZSwubWFwbGlicmVnbC1jcm9zc2hhaXIgLm1hcGxpYnJlZ2wtaW50ZXJhY3RpdmU6YWN0aXZle2N1cnNvcjpjcm9zc2hhaXJ9Lm1hcGxpYnJlZ2wtYm94em9vbXtiYWNrZ3JvdW5kOiNmZmY7Ym9yZGVyOjJweCBkb3R0ZWQgIzIwMjAyMDtoZWlnaHQ6MDtsZWZ0OjA7b3BhY2l0eTouNTtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDt3aWR0aDowfS5tYXBsaWJyZWdsLWNvb3BlcmF0aXZlLWdlc3R1cmUtc2NyZWVue2FsaWduLWl0ZW1zOmNlbnRlcjtiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsLjQpO2NvbG9yOiNmZmY7ZGlzcGxheTpmbGV4O2ZvbnQtc2l6ZToxLjRlbTtpbnNldDowO2p1c3RpZnktY29udGVudDpjZW50ZXI7bGluZS1oZWlnaHQ6MS4yO29wYWNpdHk6MDtwYWRkaW5nOjFyZW07cG9pbnRlci1ldmVudHM6bm9uZTtwb3NpdGlvbjphYnNvbHV0ZTt0cmFuc2l0aW9uOm9wYWNpdHkgMXMgZWFzZSAxczt6LWluZGV4Ojk5OTk5fS5tYXBsaWJyZWdsLWNvb3BlcmF0aXZlLWdlc3R1cmUtc2NyZWVuLm1hcGxpYnJlZ2wtc2hvd3tvcGFjaXR5OjE7dHJhbnNpdGlvbjpvcGFjaXR5IC4wNXN9Lm1hcGxpYnJlZ2wtY29vcGVyYXRpdmUtZ2VzdHVyZS1zY3JlZW4gLm1hcGxpYnJlZ2wtbW9iaWxlLW1lc3NhZ2V7ZGlzcGxheTpub25lfUBtZWRpYSAoaG92ZXI6bm9uZSksKHBvaW50ZXI6Y29hcnNlKXsubWFwbGlicmVnbC1jb29wZXJhdGl2ZS1nZXN0dXJlLXNjcmVlbiAubWFwbGlicmVnbC1kZXNrdG9wLW1lc3NhZ2V7ZGlzcGxheTpub25lfS5tYXBsaWJyZWdsLWNvb3BlcmF0aXZlLWdlc3R1cmUtc2NyZWVuIC5tYXBsaWJyZWdsLW1vYmlsZS1tZXNzYWdle2Rpc3BsYXk6YmxvY2t9fS5tYXBsaWJyZWdsLXBzZXVkby1mdWxsc2NyZWVue2hlaWdodDoxMDAlIWltcG9ydGFudDtsZWZ0OjAhaW1wb3J0YW50O3Bvc2l0aW9uOmZpeGVkIWltcG9ydGFudDt0b3A6MCFpbXBvcnRhbnQ7d2lkdGg6MTAwJSFpbXBvcnRhbnQ7ei1pbmRleDo5OTk5OX0iLG51bGwsIi8qXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cbkNvcHlyaWdodCAyMDIwIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXG5cblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cbiovXG5cbi8qXG4gKiBTQ1NTIHZhcmlhYmxlcyBkZWZpbmluZyBhIHJhbmdlIG9mIGZvbnQgc2l6ZXMuXG4gKlxuICogVGhlc2UgYXJlIGRlZmluZWQgaW4gYHJlbWAgc28gdGhhdCB0aGV5IHNjYWxlIHdpdGggdGhlIGBmb250LXNpemVgIG9mIHRoZSByb290IGVsZW1lbnQgKHdoaWNoIGlzIGFkanVzdGFibGUgdmlhIHRoZVxuICogXCJGb250IHNpemVcIiBzZXR0aW5nKS4gVGhleSBleGlzdCB0byBtYWtlIHRoZSBqb2Igb2YgY29udmVydGluZyBkZXNpZ25zICh3aGljaCB0ZW5kIHRvIGJlIGJhc2VkIGluIHBpeGVscykgaW50byBDU1NcbiAqIGVhc2llci5cbiAqXG4gKi9cblxuLyogUGF0aCBmcm9tIHJvb3QgU0NTUyBmaWxlIChzdWNoIGFzIGBsaWdodC5wY3NzYCkgdG8gYHJlc2AgZGlyIGluIHRoZSBzb3VyY2UgdHJlZSAqL1xuXG4vKiBUaGlzIHZhbHVlIGlzIG92ZXJyaWRkZW4gYnkgZXh0ZXJuYWwgdGhlbWVzIGluIGBlbGVtZW50LXdlYmAuICovXG5cbi8qXG4gKiBOdW5pdG8uXG4gKiBJbmNsdWRlcyBleHRlbmRlZCBMYXRpbiBhbmQgVmlldG5hbWVzZSBjaGFyYWN0ZXIgc2V0c1xuICogQ3VycmVudCBVUkxzIGFyZSB0YWtlbiBmcm9tXG4gKiBodHRwczovL2dpdGh1Yi5jb20vYWxleGVpdmEvTnVuaXRvRm9udC9yZWxlYXNlcy90YWcvdjMuNTAwXG4gKiAuLi5pbiBvcmRlciB0byBpbmNsdWRlIGN5cmlsbGljLlxuICpcbiAqIFByZXZpb3VzbHksIHRoZXkgd2VyZVxuICogaHR0cHM6Ly9mb250cy5nb29nbGVhcGlzLmNvbS9jc3M/ZmFtaWx5PU51bml0bzo0MDAsNDAwaSw2MDAsNjAwaSw3MDAsNzAwaSZzdWJzZXQ9bGF0aW4tZXh0LHZpZXRuYW1lc2VcbiAqXG4gKiBXZSBleHBsaWNpdGx5IGRvIG5vdCBpbmNsdWRlIE51bml0bydzIGl0YWxpYyB2YXJpYW50cywgYXMgdGhleSBhcmUgbm90IGl0YWxpYyBlbm91Z2hcbiAqIGFuZCBpdCdzIGJldHRlciB0byByZWx5IG9uIHRoZSBicm93c2VyJ3MgYnVpbHQtaW4gb2JsaXF1aW5nIGJlaGF2aW91ci5cbiAqL1xuXG4vKiBHcmFiIHRoZSBvdGhlciBmb250cyBmcm9tIHRoZSBjdXJyZW50IHRoZW1lLCBzbyB3ZSBjYW4gb3ZlcnJpZGUgdG8gSW50ZXIgKi9cblxuLyogaW4gY3VzdG9tIGZvbnRzIGlmIG5lZWRlZC4gKi9cblxuLyogdGhlICdzcmMnIGxpbmtzIGFyZSByZWxhdGl2ZSB0byB0aGUgYnVuZGxlLmNzcywgd2hpY2ggaXMgaW4gYSBzdWJkaXJlY3RvcnkuXG4gKi9cblxuLyogVHdlbW9qaSBDT0xSICovXG5cbkBmb250LWZhY2Uge1xuICAgIGZvbnQtZmFtaWx5OiBcIlR3ZW1vamlcIjtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIHNyYzogdXJsKFwiLi4vLi4vLi4vZm9udHMvVHdlbW9qaV9Nb3ppbGxhL1R3ZW1vamlNb3ppbGxhLWNvbHIud29mZjJcIikgZm9ybWF0KFwid29mZjJcIik7XG59XG5cbi8qIEZvciBhdCBsZWFzdCBDaHJvbWUgb24gV2luZG93cyAxMCwgd2UgaGF2ZSB0byBleHBsaWN0bHkgYWRkIGV4dHJhIHdlaWdodHMgZm9yIHRoZSBlbW9qaSB0byBhcHBlYXIgaW4gYm9sZCBtZXNzYWdlcywgZXRjLiAqL1xuXG5AZm9udC1mYWNlIHtcbiAgICBmb250LWZhbWlseTogXCJUd2Vtb2ppXCI7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBzcmM6IHVybChcIi4uLy4uLy4uL2ZvbnRzL1R3ZW1vamlfTW96aWxsYS9Ud2Vtb2ppTW96aWxsYS1jb2xyLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpO1xufVxuXG5AZm9udC1mYWNlIHtcbiAgICBmb250LWZhbWlseTogXCJUd2Vtb2ppXCI7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBzcmM6IHVybChcIi4uLy4uLy4uL2ZvbnRzL1R3ZW1vamlfTW96aWxsYS9Ud2Vtb2ppTW96aWxsYS1jb2xyLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpO1xufVxuXG4vKiBOdW5pdG8gYXMgdGhlIGRlZmF1bHQsIGZvciBvbGQgdGltZSdzIHNha2Ugb24gbGVnYWN5IHRoZW1lcy4gKi9cblxuLyogdGhlICdzcmMnIGxpbmtzIGFyZSByZWxhdGl2ZSB0byB0aGUgYnVuZGxlLmNzcywgd2hpY2ggaXMgaW4gYSBzdWJkaXJlY3RvcnkuXG4gKi9cblxuQGZvbnQtZmFjZSB7XG4gICAgZm9udC1mYW1pbHk6IFwiTnVuaXRvXCI7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgc3JjOiB1cmwoXCIuLi8uLi8uLi9mb250cy9OdW5pdG8vTnVuaXRvLVJlZ3VsYXIudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpO1xufVxuXG5AZm9udC1mYWNlIHtcbiAgICBmb250LWZhbWlseTogXCJOdW5pdG9cIjtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBzcmM6IHVybChcIi4uLy4uLy4uL2ZvbnRzL051bml0by9OdW5pdG8tU2VtaUJvbGQudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpO1xufVxuXG5AZm9udC1mYWNlIHtcbiAgICBmb250LWZhbWlseTogXCJOdW5pdG9cIjtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBzcmM6IHVybChcIi4uLy4uLy4uL2ZvbnRzL051bml0by9OdW5pdG8tQm9sZC50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7XG59XG5cbjpyb290IHtcbiAgICAvKiBUaGlzIGlzIHNldCB0byBUd2Vtb2ppIHdoZW4gdGhlIHVzZXIgb3B0cyBpbnRvIHRoZSBidW5kbGVkIGVtb2ppIGZvbnQgKi9cbiAgICAtLWVtb2ppLWZvbnQtZmFtaWx5OiBcIlwiO1xufVxuXG4vKiBOdW5pdG8gbGFja3MgY29tYmluaW5nIGRpYWNyaXRpY3MsIHNvIHRoZXNlIHdpbGwgZmFsbCB0aHJvdWdoXG4gICB0byB0aGUgbmV4dCBmb250LiAgSGVsZXZldGljYSdzIGRpYWNyaXRpY3Mgc29tZXRpbWVzIGRvIG5vdCBjb21iaW5lXG4gICBuaWNlbHkgKG9uIE9TWCwgYXQgbGVhc3QpIGFuZCByZXN1bHQgaW4gYSBodWdlIGhvcml6b250YWwgbWVzcy5cbiAgIEFyaWFsIGVtcGlyaWNhbGx5IGdldHMgaXQgcmlnaHQsIGhlbmNlIHByaW9yaXRpc2luZyBBcmlhbCBoZXJlLiAqL1xuXG4vKiBOb3RvIENvbG9yIEVtb2ppIGNvbnRhaW5zIGRpZ2l0cywgaW4gZml4ZWQtd2lkdGgsIHRoZXJlZm9yZSBjYXVzaW5nXG4gICBkaWdpdHMgaW4gZmxvd2VkIHRleHQgdG8gc3RhbmQgb3V0LlxuICAgVE9ETzogQ29uc2lkZXIgcHV0dGluZyBhbGwgZW1vamkgZm9udHMgdG8gdGhlIGVuZCByYXRoZXIgdGhhbiB0aGUgZnJvbnQuICovXG5cbi8qIHVuaWZpZWQgcGFsZXR0ZSAqL1xuXG4vKiB0cnkgdG8gdXNlIHRoZXNlIGNvbG9ycyB3aGVuIHBvc3NpYmxlICovXG5cbi8qIHR5cGljYWwgdGV4dCAoZGFyay1vbi13aGl0ZSBpbiBsaWdodCBza2luKSAqL1xuXG4vKiBDb21tb25seSB1c2VkIGluIGhlYWRpbmdzIGFuZCByZWxldmFudCBhbHQgdGV4dCAqL1xuXG4vKiB1c2VkIGZvciBkaWFsb2cgYm94IHRleHQgKi9cblxuLyogdXNlZCBmb3IgZm9jdXNpbmcgZm9ybSBjb250cm9scyAqL1xuXG4vKiBidXR0b24gVUkgKHdoaXRlLW9uLWdyZWVuIGluIGxpZ2h0IHNraW4pICovXG5cbi8qIGluZm9ybWF0aW9uYWwgcGxpbnRoICovXG5cbi8qIGxlZnQtcGFuZWwgc3R5bGUgbXV0ZWQgYWNjZW50IGNvbG9yICovXG5cbi8qIHVzZWQgYnkgUm9vbURyb3BUYXJnZXQgKi9cblxuLyogdXNlZCBieSBBdXRvY29tcGxldGUgKi9cblxuLyogc2VsZWN0ZWQgZm9yIGhvdmVyb3ZlciAmIHNlbGVjdGVkIGV2ZW50IHRpbGVzICovXG5cbi8qIHVzZWQgZm9yIHRoZSBoYWlybGluZSBkaXZpZGVycyBpbiBSb29tVmlldyAqL1xuXG4vKiB1c2VkIGZvciB0aGUgYm9yZGVyIG9mIGlucHV0IHRleHQgZmllbGRzICovXG5cbi8qIGFwYXJ0IGZyb20gbG9naW4gZm9ybXMsIHdoaWNoIGhhdmUgc3Ryb25nZXIgYm9yZGVyICovXG5cbi8qIHVzZWQgZm9yIFVzZXJTZXR0aW5ncyBFZGl0YWJsZVRleHQgKi9cblxuLyogc2Nyb2xsYmFycyAqL1xuXG4vKiBjb250ZXh0IG1lbnVzICovXG5cbi8qICoqKioqKioqKioqKioqKioqKioqICovXG5cbi8qIExlZ2FjeSB0aGVtZSBiYWNrcG9ydHMgKi9cblxuLyogTGVnYWN5IHRoZW1lIGJhY2twb3J0cyAqL1xuXG4vKiAqKioqKioqKioqKioqKioqKioqKiAqL1xuXG4vKiBYWFg6IENvbG9yIGZyb20gZGFyayB0aGVtZSAqL1xuXG4vKiBBbGwgb2YgdGhlc2UgYXJlIGZyb20gZGFyayB0aGVtZSAqL1xuXG4vKipcbiAqIENyZWF0aW5nIGEgYHNlbWFudGljYCBjb2xvciBzY2FsZS4gVGhpcyB3aWxsIG5vdCBiZSBuZWVkZWQgd2l0aCB0aGUgbmV3XG4gKiB2aXN1YWwgbGFuZ3VhZ2UsIGJ1dCBuZWNlc3NhcnkgZHVyaW5nIHRoZSB0cmFuc2l0aW9uIHBlcmlvZFxuICogVGhpcyBhYnN0cmFjdCB0aGUgYGdyZWVuYCBhd2F5IGZyb20gd2hlcmUgYWNjZW50IHNoYWRlcyBhcmUgdXNlZFxuICogVGFrZTogYGJhY2tncm91bmQ6IHJnYmEoJGFjY2VudCwgMC4xKTtgXG4gKiB3b3VsZCBiZSB0cmFuc2Zvcm1lZCB0bzogYGJhY2tncm91bmQ6ICRhY2NlbnQtMzAwO2BcbiAqXG4gKiBUbyB1c2UgdW5kZXIgdmVyeSByYXJlIGNpcmN1bXN0YW5jZXMsIGFsd2F5cyBwcmVmZXIgdGhlIHNlbWFudGljcyBkZWZpbmVkXG4gKiBpbiBodHRwczovL2NvbXBvdW5kLmVsZW1lbnQuaW8vP3BhdGg9L2RvY3MvdG9rZW5zLXNlbWFudGljLWNvbG9ycy0tZG9jc1xuICovXG5cbi8qICoqKioqKioqKioqKioqKioqKioqICovXG5cbi8qICoqKioqKioqKioqKioqKioqKioqICovXG5cbi8qICRldmVudC1oaWdobGlnaHQtYmctY29sb3Igc2hhcmVzIHRoaXMgdmFsdWUsICovXG5cbi8qIHNvIHRvIG5vdCBtYWtlIHRoZWlyIG9yZGVyIGRlcGVuZGVudCBvbiB3aG8gZGVwZW5kcyBvbiB3aG8sIGhhdmUgYSBzaGFyZWQgdmFsdWUgKi9cblxuLyogZGVmaW5lZCBiZWZvcmUgYm90aCAqL1xuXG4vKiBldmVudCB0aW1lc3RhbXAgKi9cblxuLyogZTJlICovXG5cbi8qKiogSW1hZ2VWaWV3ICoqKi9cblxuLyogVGFiYmVkIHZpZXdzICovXG5cbi8qIEJ1dHRvbnMgKi9cblxuLyogVE9ETzogVmVyaWZ5IGNvbG9yICovXG5cbi8qIFRvZ2dsZSBzd2l0Y2ggKi9cblxuLyogU2VlIG5vbi1sZWdhY3kgX2xpZ2h0IGZvciB2YXJpYWJsZSBpbmZvcm1hdGlvbiAqL1xuXG4vKiBCdWJibGUgdGlsZXMgKi9cblxuLyogcGlubmVkIGV2ZW50cyBpbmRpY2F0b3IgKi9cblxuLyogTG9jYXRpb24gc2hhcmluZyAqL1xuXG4vKiAqKioqKioqKioqKioqKioqKioqKiAqL1xuXG4vKiAqKioqKioqKioqKioqKioqKioqKiAqL1xuXG5ib2R5IHtcbiAgICBjb2xvci1zY2hlbWU6IGxpZ2h0O1xufVxuXG4vKiBkaWZmIGhpZ2hsaWdodCBjb2xvcnMgKi9cblxuLmhsanMtYWRkaXRpb24ge1xuICAgIGJhY2tncm91bmQ6ICNkZmQ7XG59XG5cbi5obGpzLWRlbGV0aW9uIHtcbiAgICBiYWNrZ3JvdW5kOiAjZmRkO1xufVxuXG4vKiBDb2xvcnMgZnJvbSBGaWdtYSBDb21wb3VuZCBodHRwczovL3d3dy5maWdtYS5jb20vZmlsZS9YNFhUSDlpUzJLR0oyd0ZLRHFreWVkL0NvbXBvdW5kP25vZGUtaWQ9NTU5JTNBNzQxICovXG5cbi8qIHVuaWZpZWQgcGFsZXR0ZSAqL1xuXG4vKiB0cnkgdG8gdXNlIHRoZXNlIGNvbG9ycyB3aGVuIHBvc3NpYmxlICovXG5cbi8qIHR5cGljYWwgdGV4dCAoZGFyay1vbi13aGl0ZSBpbiBsaWdodCBza2luKSAqL1xuXG4vKiB1c2VkIGZvciBkaWFsb2cgYm94IHRleHQgKi9cblxuLyogdXNlZCBmb3IgZm9jdXNpbmcgZm9ybSBjb250cm9scyAqL1xuXG4vKiBpbmZvcm1hdGlvbmFsIHBsaW50aCAqL1xuXG4vKiB1c2VkIGJ5IEF1dG9jb21wbGV0ZSAqL1xuXG4vKiBzZWxlY3RlZCBmb3IgaG92ZXJvdmVyICYgc2VsZWN0ZWQgZXZlbnQgdGlsZXMgKi9cblxuLyogdXNlZCBmb3IgdGhlIGhhaXJsaW5lIGRpdmlkZXJzIGluIFJvb21WaWV3ICovXG5cbi8qIHVzZWQgZm9yIHRoZSBib3JkZXIgb2YgaW5wdXQgdGV4dCBmaWVsZHMgKi9cblxuLyogc2Nyb2xsYmFycyAqL1xuXG4vKiBjb250ZXh0IG1lbnVzICovXG5cbi8qIExlZ2FjeSB0aGVtZSBiYWNrcG9ydHMgKi9cblxuLyoqXG4gKiBDcmVhdGluZyBhIGBzZW1hbnRpY2AgY29sb3Igc2NhbGUuIFRoaXMgd2lsbCBub3QgYmUgbmVlZGVkIHdpdGggdGhlIG5ld1xuICogdmlzdWFsIGxhbmd1YWdlLCBidXQgbmVjZXNzYXJ5IGR1cmluZyB0aGUgdHJhbnNpdGlvbiBwZXJpb2RcbiAqIFRoaXMgYWJzdHJhY3QgdGhlIGBncmVlbmAgYXdheSBmcm9tIHdoZXJlIGFjY2VudCBzaGFkZXMgYXJlIHVzZWRcbiAqIFRha2U6IGBiYWNrZ3JvdW5kOiByZ2JhKCRhY2NlbnQsIDAuMSk7YFxuICogd291bGQgYmUgdHJhbnNmb3JtZWQgdG86IGBiYWNrZ3JvdW5kOiAkYWNjZW50LTMwMDtgXG4gKlxuICogVG8gdXNlIHVuZGVyIHZlcnkgcmFyZSBjaXJjdW1zdGFuY2VzLCBhbHdheXMgcHJlZmVyIHRoZSBzZW1hbnRpY3MgZGVmaW5lZFxuICogaW4gaHR0cHM6Ly9jb21wb3VuZC5lbGVtZW50LmlvLz9wYXRoPS9kb2NzL3Rva2Vucy1zZW1hbnRpYy1jb2xvcnMtLWRvY3NcbiAqL1xuXG4vKiBMZWdhY3kgdGhlbWUgYmFja3BvcnRzICovXG5cbi8qICoqKioqKioqKioqKioqKioqKioqICovXG5cbi8qICoqKioqKioqKioqKioqKioqKioqICovXG5cbi8qIGV2ZW50IHRpbWVzdGFtcCAqL1xuXG4vKiBUYWJiZWQgdmlld3MgKi9cblxuLyogQnV0dG9ucyAqL1xuXG4vKiBUT0RPOiBWZXJpZnkgY29sb3IgKi9cblxuLyogVG9nZ2xlIHN3aXRjaCAqL1xuXG4vKiBTZWUgbm9uLWxlZ2FjeSBkYXJrIGZvciB2YXJpYWJsZSBpbmZvcm1hdGlvbiAqL1xuXG4vKiBCdWJibGUgdGlsZXMgKi9cblxuLyogTG9jYXRpb24gc2hhcmluZyAqL1xuXG4vKiAqKioqKioqKioqKioqKioqKioqKiAqL1xuXG4vKiAqKioqKioqKioqKioqKioqKioqKiAqL1xuXG5ib2R5IHtcbiAgICBjb2xvci1zY2hlbWU6IGRhcms7XG59XG5cbi8qIE5hc3R5IGhhY2tzIHRvIGFwcGx5IGEgZmlsdGVyIHRvIGFyYml0cmFyeSBtb25vY2hyb21lIGFydHdvcmsgdG8gbWFrZSBpdCAqL1xuXG4vKiBiZXR0ZXIgbWF0Y2ggdGhlIHRoZW1lLiAgVHlwaWNhbGx5IGFwcGxpZWQgdG8gZGFyayBncmV5ICdvZmYnIGJ1dHRvbnMgb3IgKi9cblxuLyogbGlnaHQgZ3JleSAnb24nIGJ1dHRvbnMuICovXG5cbi5teF9maWx0ZXJGbGlwQ29sb3Ige1xuICAgIC13ZWJraXQtZmlsdGVyOiBpbnZlcnQoMSk7XG4gICAgICAgICAgICBmaWx0ZXI6IGludmVydCgxKTtcbn1cblxuLyogbWFya2Rvd24gb3ZlcnJpZGVzOiAqL1xuXG4ubXhfRXZlbnRUaWxlX2NvbnRlbnQgLm1hcmtkb3duLWJvZHkgdGFibGUgdHIge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDAwMDtcbiAgICAgICAgfVxuXG4ubXhfRXZlbnRUaWxlX2NvbnRlbnQgLm1hcmtkb3duLWJvZHkgdGFibGUgdHI6bnRoLWNoaWxkKDJuKSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDgwODA4O1xuICAgICAgICB9XG5cbi8qIGhpZ2hsaWdodC5qcyBvdmVycmlkZXM6ICovXG5cbi5obGpzLXRhZyB7XG4gICAgY29sb3I6IGluaGVyaXQ7IC8qIFdpdGhvdXQgdGhpcyB0aGV5J2QgYmUgd2VpcmRseSBibHVlIHdoaWNoIGRvZXNuJ3QgbWF0Y2ggdGhlIHRoZW1lICovXG59XG5cbi8qXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cbkNvcHlyaWdodCAyMDE5IFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXG5cblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cbiovXG5cbi8qIENvbG9ycyBmcm9tIEZpZ21hIENvbXBvdW5kIGh0dHBzOi8vd3d3LmZpZ21hLmNvbS9maWxlL1g0WFRIOWlTMktHSjJ3RktEcWt5ZWQvQ29tcG91bmQ/bm9kZS1pZD01NTklM0E3NDEgKi9cblxuLyogLS10aW1lbGluZS1iYWNrZ3JvdW5kLWNvbG9yICovXG5cbi8qIHN0aWxsIG5lZWRzIGFscGhhIGF0IC41ICovXG5cbi8qIHN0aWxsIG5lZWRzIGFscGhhIGF0IC41OSAqL1xuXG4vKiAtLXJvb21saXN0LWhpZ2hsaWdodHMtY29sb3IgKi9cblxuLyogLS1zaWRlYmFyLWNvbG9yICovXG5cbi8qIC0tcm9vbWxpc3QtYmFja2dyb3VuZC1jb2xvciAqL1xuXG4vKiB0aGVzZSB3ZXJlICNmMmY1ZjggaW5zdGVhZCBvZiAjZjNmOGZkLCBidXQgY2xvc2UgZW5vdWdoICovXG5cbi8qIC0tdGltZWxpbmUtdGV4dC1jb2xvciAqL1xuXG4vKiB3YXMgIzIxMjEyMSAqL1xuXG4vKiB3YXMgIzQ1NDc0YSAqL1xuXG4vKiB3YXMgIzRlNTA1NCAqL1xuXG4vKiB3YXMgIzIzMmYzMiAqL1xuXG4vKiAtLXJvb21saXN0LXRleHQtc2Vjb25kYXJ5LWNvbG9yICovXG5cbi8qIC0tcm9vbWxpc3Qtc2VwYXJhdG9yLWNvbG9yICovXG5cbi8qIG9yaWdpbmFsbHkgI2U1ZTVlNSwgYnV0IGNsb3NlIGVub3VnaCAqL1xuXG4vKiAtLXRpbWVsaW5lLXRleHQtc2Vjb25kYXJ5LWNvbG9yICovXG5cbi8qIHdhcyAjNzQ3NDc0ICovXG5cbi8qIHdhcyAjODg4ODg4ICovXG5cbi8qIC0tcHJpbWFyeS1jb2xvciAqL1xuXG4vKiAtLXdhcm5pbmctY29sb3IgKi9cblxuLyogc3RpbGwgbmVlZHMgYWxwaGEgYXQgMC41ICovXG5cbi8qIC0tdGltZWxpbmUtaGlnaGxpZ2h0cy1jb2xvciAqL1xuXG4vKiByZWRpcmVjdCBzb21lIHZhcmlhYmxlcyBhd2F5IGZyb20gdGhlaXIgaGFyZGNvZGVkIHZhbHVlcyBpbiB0aGUgbGlnaHQgdGhlbWUgKi9cblxuLyogLS1ldmVudGJ1YmJsZSBjb2xvcnMgKi9cblxuLyoqXG4gKiBWYXJpYXRpb24gb2YgdGhlIGFjY2VudCBjb2xvci5cbiAqIEdlbmVyYXRlIHRoaXMgY29sb3VyIHNjYWxlIHVzaW5nIExlb25hcmRvQ29sb3JcbiAqIFRPRE86IEFkZCBsaW5rXG4gKi9cblxuLyogYXV0b2dlbmVyYXRlZCBieSByZXRoZW1lbmRleC5zaCAqL1xuXG4vKlxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXG5Db3B5cmlnaHQgMjAyMSBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxuXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXG4qL1xuXG4vKipcbiAqIFJlYWN0IFRyYW5zaXRpb24gR3JvdXAgYW5pbWF0aW9ucyBhcmUgcHJlZml4ZWQgd2l0aCAnbXhfcnRnLS0nIHNvIHRoYXQgd2VcbiAqIGtub3cgdGhleSBzaG91bGQgbm90IGJlIHVzZWQgYW55d2hlcmUgb3V0c2lkZSBvZiBSZWFjdCBUcmFuc2l0aW9uIEdyb3Vwcy5cbiovXG5cbi5teF9ydGctLWZhZGUtZW50ZXIge1xuICAgIG9wYWNpdHk6IDA7XG59XG5cbi5teF9ydGctLWZhZGUtZW50ZXItYWN0aXZlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogb3BhY2l0eSAzMDBtcyBlYXNlO1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMzAwbXMgZWFzZTtcbn1cblxuLm14X3J0Zy0tZmFkZS1leGl0IHtcbiAgICBvcGFjaXR5OiAxO1xufVxuXG4ubXhfcnRnLS1mYWRlLWV4aXQtYWN0aXZlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogb3BhY2l0eSAzMDBtcyBlYXNlO1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMzAwbXMgZWFzZTtcbn1cblxuOnJvb3Qge1xuICAgIC0taG92ZXItdHJhbnNpdGlvbjogMC4wOHMgY3ViaWMtYmV6aWVyKDAuNDYsIDAuMDMsIDAuNTIsIDAuOTYpOyAvKiBxdWFkcmF0aWMgKi9cbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIG14LS1hbmltLXB1bHNlIHtcbiAgICAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxuICAgIDUwJSB7XG4gICAgICAgIG9wYWNpdHk6IDAuNztcbiAgICB9XG4gICAgMTAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxufVxuXG5Aa2V5ZnJhbWVzIG14LS1hbmltLXB1bHNlIHtcbiAgICAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxuICAgIDUwJSB7XG4gICAgICAgIG9wYWNpdHk6IDAuNztcbiAgICB9XG4gICAgMTAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgbXhfRGlhbG9nX2xpZ2h0Ym94X2JhY2tncm91bmRfa2V5ZnJhbWVzIHtcbiAgICBmcm9tIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICB9XG4gICAgdG8ge1xuICAgICAgICBvcGFjaXR5OiAwLjg1O1xuICAgIH1cbn1cblxuQGtleWZyYW1lcyBteF9EaWFsb2dfbGlnaHRib3hfYmFja2dyb3VuZF9rZXlmcmFtZXMge1xuICAgIGZyb20ge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgIH1cbiAgICB0byB7XG4gICAgICAgIG9wYWNpdHk6IDAuODU7XG4gICAgfVxufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgbXhfSW1hZ2VWaWV3X3BhbmVsX2tleWZyYW1lcyB7XG4gICAgZnJvbSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgfVxuICAgIHRvIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG59XG5cbkBrZXlmcmFtZXMgbXhfSW1hZ2VWaWV3X3BhbmVsX2tleWZyYW1lcyB7XG4gICAgZnJvbSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgfVxuICAgIHRvIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG59XG5cbkBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbikge1xuICAgIEAtd2Via2l0LWtleWZyYW1lcyBteC0tYW5pbS1wdWxzZSB7XG4gICAgICAgIC8qIE92ZXJyaWRlIGFsbCBrZXlmcmFtZXMgaW4gcmVkdWNlZC1tb3Rpb24gKi9cbiAgICB9XG4gICAgQGtleWZyYW1lcyBteC0tYW5pbS1wdWxzZSB7XG4gICAgICAgIC8qIE92ZXJyaWRlIGFsbCBrZXlmcmFtZXMgaW4gcmVkdWNlZC1tb3Rpb24gKi9cbiAgICB9XG5cbiAgICBALXdlYmtpdC1rZXlmcmFtZXMgbXhfRGlhbG9nX2xpZ2h0Ym94X2JhY2tncm91bmRfa2V5ZnJhbWVzIHtcbiAgICAgICAgLyogT3ZlcnJpZGUgYWxsIGtleWZyYW1lcyBpbiByZWR1Y2VkLW1vdGlvbiAqL1xuICAgIH1cblxuICAgIEBrZXlmcmFtZXMgbXhfRGlhbG9nX2xpZ2h0Ym94X2JhY2tncm91bmRfa2V5ZnJhbWVzIHtcbiAgICAgICAgLyogT3ZlcnJpZGUgYWxsIGtleWZyYW1lcyBpbiByZWR1Y2VkLW1vdGlvbiAqL1xuICAgIH1cblxuICAgIEAtd2Via2l0LWtleWZyYW1lcyBteF9JbWFnZVZpZXdfcGFuZWxfa2V5ZnJhbWVzIHtcbiAgICAgICAgLyogT3ZlcnJpZGUgYWxsIGtleWZyYW1lcyBpbiByZWR1Y2VkLW1vdGlvbiAqL1xuICAgIH1cblxuICAgIEBrZXlmcmFtZXMgbXhfSW1hZ2VWaWV3X3BhbmVsX2tleWZyYW1lcyB7XG4gICAgICAgIC8qIE92ZXJyaWRlIGFsbCBrZXlmcmFtZXMgaW4gcmVkdWNlZC1tb3Rpb24gKi9cbiAgICB9XG5cbiAgICAubXhfcnRnLS1mYWRlLWVudGVyLWFjdGl2ZSB7XG4gICAgICAgIC13ZWJraXQtdHJhbnNpdGlvbjogbm9uZTtcbiAgICAgICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICB9XG4gICAgLm14X3J0Zy0tZmFkZS1leGl0LWFjdGl2ZSB7XG4gICAgICAgIC13ZWJraXQtdHJhbnNpdGlvbjogbm9uZTtcbiAgICAgICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICB9XG59XG5cbi8qXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cbkNvcHlyaWdodCAyMDE5LTIwMjMgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQ1xuQ29weXJpZ2h0IDIwMTctMjAxOSBOZXcgVmVjdG9yIEx0ZFxuQ29weXJpZ2h0IDIwMTcgVmVjdG9yIENyZWF0aW9ucyBMdGRcbkNvcHlyaWdodCAyMDE1LCAyMDE2IE9wZW5NYXJrZXQgTHRkXG5cblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cbiovXG5cbkBsYXllciBjb21wb3VuZCB7XG4vKiBFc3RhYmxpc2ggYSBsYXllciBvcmRlciB0aGF0IGFsbG93cyBzZW1hbnRpYyB0b2tlbnMgdG8gYmUgY3VzdG9taXplZCwgYnV0IG5vdCBiYXNlIHRva2Vucy5cbiAqIFRoZSBsYXllcnMgYXJlIHByZWZpeGVkIGJ5ICdjcGQtJyBiZWNhdXNlIFRhaWx3aW5kIHdpbGwgaW50ZXJwcmV0ICdAbGF5ZXIgYmFzZScgZGlyZWN0aXZlcy5cbiAqL1xuQGxheWVyIGNwZC1zZW1hbnRpYywgY3VzdG9tLCBjcGQtYmFzZTtcbn1cblxuQGxheWVyIGNvbXBvdW5kIHtcbi8qIEZhbGxiYWNrIGZvciBJbnRlciByZWd1bGFyICovXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiSW50ZXIgRmFsbGJhY2s6IEhlbHZldGljYSBOZXVlXCI7XG4gIHNyYzogbG9jYWwoJ0hlbHZldGljYSBOZXVlJyksIGxvY2FsKCdIZWx2ZXRpY2FOZXVlJyk7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgZm9udC1kaXNwbGF5OiBzd2FwO1xuICBhc2NlbnQtb3ZlcnJpZGU6IDkxLjI4ODMlO1xuICBkZXNjZW50LW92ZXJyaWRlOiAyMi43MzAxJTtcbiAgbGluZS1nYXAtb3ZlcnJpZGU6IDAlO1xuICBzaXplLWFkanVzdDogMTA2LjExOTglO1xufVxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkludGVyIEZhbGxiYWNrOiBTZWdvZSBVSVwiO1xuICBzcmM6IGxvY2FsKCdTZWdvZSBVSScpLCBsb2NhbCgnU2Vnb2VVSScpO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGZvbnQtZGlzcGxheTogc3dhcDtcbiAgYXNjZW50LW92ZXJyaWRlOiA4OS45NDEyJTtcbiAgZGVzY2VudC1vdmVycmlkZTogMjIuMzk0NiU7XG4gIHNpemUtYWRqdXN0OiAxMDcuNzA5MyU7XG59XG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiSW50ZXIgRmFsbGJhY2s6IFJvYm90b1wiO1xuICBzcmM6IGxvY2FsKCdSb2JvdG8nKSwgbG9jYWwoJ1JvYm90by1SZWd1bGFyJyk7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgZm9udC1kaXNwbGF5OiBzd2FwO1xuICBhc2NlbnQtb3ZlcnJpZGU6IDkwLjIzODQlO1xuICBkZXNjZW50LW92ZXJyaWRlOiAyMi40Njg2JTtcbiAgc2l6ZS1hZGp1c3Q6IDEwNy4zNTQ2JTtcbn1cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJJbnRlciBGYWxsYmFjazogVWJ1bnR1XCI7XG4gIHNyYzogbG9jYWwoJ1VidW50dSBSZWd1bGFyJyksIGxvY2FsKCdVYnVudHUtUmVndWxhcicpO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGZvbnQtZGlzcGxheTogc3dhcDtcbiAgYXNjZW50LW92ZXJyaWRlOiA5Mi4zMDI3JTtcbiAgZGVzY2VudC1vdmVycmlkZTogMjIuOTgyNiU7XG4gIGxpbmUtZ2FwLW92ZXJyaWRlOiAwJTtcbiAgc2l6ZS1hZGp1c3Q6IDEwNC45NTM2JTtcbn1cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJJbnRlciBGYWxsYmFjazogRmlyYSBTYW5zXCI7XG4gIHNyYzogbG9jYWwoJ0ZpcmEgU2FucyBSZWd1bGFyJyksIGxvY2FsKCdGaXJhU2Fucy1SZWd1bGFyJyk7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgZm9udC1kaXNwbGF5OiBzd2FwO1xuICBhc2NlbnQtb3ZlcnJpZGU6IDkyLjkxMTIlO1xuICBkZXNjZW50LW92ZXJyaWRlOiAyMy4xMzQyJTtcbiAgc2l6ZS1hZGp1c3Q6IDEwNC4yNjYyJTtcbn1cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJJbnRlciBGYWxsYmFjazogTm90byBTYW5zXCI7XG4gIHNyYzogbG9jYWwoJ05vdG8gU2FucyBSZWd1bGFyJyksIGxvY2FsKCdOb3RvU2Fucy1SZWd1bGFyJyk7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgZm9udC1kaXNwbGF5OiBzd2FwO1xuICBhc2NlbnQtb3ZlcnJpZGU6IDk2LjE1NzElO1xuICBkZXNjZW50LW92ZXJyaWRlOiAyMy45NDIzJTtcbiAgc2l6ZS1hZGp1c3Q6IDEwMC43NDY2JTtcbn1cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJJbnRlciBGYWxsYmFjazogQXJpYWxcIjtcbiAgc3JjOiBsb2NhbCgnQXJpYWwnKSwgbG9jYWwoJ0FyaWFsTVQnKTtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNDAwO1xuICBmb250LWRpc3BsYXk6IHN3YXA7XG4gIGFzY2VudC1vdmVycmlkZTogOTAuNDM2NSU7XG4gIGRlc2NlbnQtb3ZlcnJpZGU6IDIyLjUxOCU7XG4gIGxpbmUtZ2FwLW92ZXJyaWRlOiAwJTtcbiAgc2l6ZS1hZGp1c3Q6IDEwNy4xMTk0JTtcbn1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkludGVyIEZhbGxiYWNrOiBIZWx2ZXRpY2EgTmV1ZVwiO1xuICBzcmM6IGxvY2FsKCdIZWx2ZXRpY2EgTmV1ZSBJdGFsaWMnKSwgbG9jYWwoJ0hlbHZldGljYU5ldWUtSXRhbGljJyk7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgZm9udC1kaXNwbGF5OiBzd2FwO1xuICBhc2NlbnQtb3ZlcnJpZGU6IDkwLjMyODUlO1xuICBkZXNjZW50LW92ZXJyaWRlOiAyMi40OTExJTtcbiAgbGluZS1nYXAtb3ZlcnJpZGU6IDAlO1xuICBzaXplLWFkanVzdDogMTA3LjI0NzUlO1xufVxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkludGVyIEZhbGxiYWNrOiBTZWdvZSBVSVwiO1xuICBzcmM6IGxvY2FsKCdTZWdvZSBVSSBJdGFsaWMnKSwgbG9jYWwoJ1NlZ29lVUktSXRhbGljJyk7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgZm9udC1kaXNwbGF5OiBzd2FwO1xuICBhc2NlbnQtb3ZlcnJpZGU6IDg3LjQyMzglO1xuICBkZXNjZW50LW92ZXJyaWRlOiAyMS43Njc4JTtcbiAgc2l6ZS1hZGp1c3Q6IDExMC44MTA4JTtcbn1cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJJbnRlciBGYWxsYmFjazogUm9ib3RvXCI7XG4gIHNyYzogbG9jYWwoJ1JvYm90byBJdGFsaWMnKSwgbG9jYWwoJ1JvYm90by1JdGFsaWMnKTtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xuICBmb250LXdlaWdodDogNDAwO1xuICBmb250LWRpc3BsYXk6IHN3YXA7XG4gIGFzY2VudC1vdmVycmlkZTogODcuOTE2JTtcbiAgZGVzY2VudC1vdmVycmlkZTogMjEuODkwNCU7XG4gIHNpemUtYWRqdXN0OiAxMTAuMTkwNCU7XG59XG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiSW50ZXIgRmFsbGJhY2s6IFVidW50dVwiO1xuICBzcmM6IGxvY2FsKCdVYnVudHUgSXRhbGljJyksIGxvY2FsKCdVYnVudHUtSXRhbGljJyk7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgZm9udC1kaXNwbGF5OiBzd2FwO1xuICBhc2NlbnQtb3ZlcnJpZGU6IDg4LjcxNTQlO1xuICBkZXNjZW50LW92ZXJyaWRlOiAyMi4wODk0JTtcbiAgbGluZS1nYXAtb3ZlcnJpZGU6IDAlO1xuICBzaXplLWFkanVzdDogMTA5LjE5NzQlO1xufVxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkludGVyIEZhbGxiYWNrOiBGaXJhIFNhbnNcIjtcbiAgc3JjOiBsb2NhbCgnRmlyYSBTYW5zIEl0YWxpYycpLCBsb2NhbCgnRmlyYVNhbnMtSXRhbGljJyk7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgZm9udC1kaXNwbGF5OiBzd2FwO1xuICBhc2NlbnQtb3ZlcnJpZGU6IDkxLjMzNjYlO1xuICBkZXNjZW50LW92ZXJyaWRlOiAyMi43NDIxJTtcbiAgc2l6ZS1hZGp1c3Q6IDEwNi4wNjM3JTtcbn1cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJJbnRlciBGYWxsYmFjazogTm90byBTYW5zXCI7XG4gIHNyYzogbG9jYWwoJ05vdG8gU2FucyBJdGFsaWMnKSwgbG9jYWwoJ05vdG9TYW5zLUl0YWxpYycpO1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGZvbnQtZGlzcGxheTogc3dhcDtcbiAgYXNjZW50LW92ZXJyaWRlOiA5MC4xMjY4JTtcbiAgZGVzY2VudC1vdmVycmlkZTogMjIuNDQwOSU7XG4gIHNpemUtYWRqdXN0OiAxMDcuNDg3NCU7XG59XG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiSW50ZXIgRmFsbGJhY2s6IEFyaWFsXCI7XG4gIHNyYzogbG9jYWwoJ0FyaWFsIEl0YWxpYycpLCBsb2NhbCgnQXJpYWwtSXRhbGljTVQnKTtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xuICBmb250LXdlaWdodDogNDAwO1xuICBmb250LWRpc3BsYXk6IHN3YXA7XG4gIGFzY2VudC1vdmVycmlkZTogODkuODg1JTtcbiAgZGVzY2VudC1vdmVycmlkZTogMjIuMzgwNiU7XG4gIGxpbmUtZ2FwLW92ZXJyaWRlOiAwJTtcbiAgc2l6ZS1hZGp1c3Q6IDEwNy43NzY2JTtcbn1cblxuXG4vKiBGYWxsYmFjayBmb3IgSW50ZXIgbWVkaXVtICovXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiSW50ZXIgRmFsbGJhY2s6IEhlbHZldGljYSBOZXVlXCI7XG4gIHNyYzogbG9jYWwoJ0hlbHZldGljYSBOZXVlIE1lZGl1bScpLCBsb2NhbCgnSGVsdmV0aWNhTmV1ZS1NZWRpdW0nKTtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNTAwO1xuICBmb250LWRpc3BsYXk6IHN3YXA7XG4gIGFzY2VudC1vdmVycmlkZTogOTMuMzc2NSU7XG4gIGRlc2NlbnQtb3ZlcnJpZGU6IDIzLjI1JTtcbiAgbGluZS1nYXAtb3ZlcnJpZGU6IDAlO1xuICBzaXplLWFkanVzdDogMTAzLjc0NjYlO1xufVxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkludGVyIEZhbGxiYWNrOiBTZWdvZSBVSVwiO1xuICBzcmM6IGxvY2FsKCdTZWdvZSBVSSBTZW1pYm9sZCcpLCBsb2NhbCgnU2Vnb2VVSS1TZW1pYm9sZCcpO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGZvbnQtZGlzcGxheTogc3dhcDtcbiAgYXNjZW50LW92ZXJyaWRlOiA5MS44NzQ0JTtcbiAgZGVzY2VudC1vdmVycmlkZTogMjIuODc2JTtcbiAgc2l6ZS1hZGp1c3Q6IDEwNS40NDI5JTtcbn1cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJJbnRlciBGYWxsYmFjazogUm9ib3RvXCI7XG4gIHNyYzogbG9jYWwoJ1JvYm90byBNZWRpdW0nKSwgbG9jYWwoJ1JvYm90by1NZWRpdW0nKTtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNTAwO1xuICBmb250LWRpc3BsYXk6IHN3YXA7XG4gIGFzY2VudC1vdmVycmlkZTogOTAuMjA3NSU7XG4gIGRlc2NlbnQtb3ZlcnJpZGU6IDIyLjQ2MDklO1xuICBzaXplLWFkanVzdDogMTA3LjM5MTMlO1xufVxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkludGVyIEZhbGxiYWNrOiBVYnVudHVcIjtcbiAgc3JjOiBsb2NhbCgnVWJ1bnR1IE1lZGl1bScpLCBsb2NhbCgnVWJ1bnR1LU1lZGl1bScpO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGZvbnQtZGlzcGxheTogc3dhcDtcbiAgYXNjZW50LW92ZXJyaWRlOiA5My41NzczJTtcbiAgZGVzY2VudC1vdmVycmlkZTogMjMuMyU7XG4gIGxpbmUtZ2FwLW92ZXJyaWRlOiAwJTtcbiAgc2l6ZS1hZGp1c3Q6IDEwMy41MjQlO1xufVxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkludGVyIEZhbGxiYWNrOiBGaXJhIFNhbnNcIjtcbiAgc3JjOiBsb2NhbCgnRmlyYSBTYW5zIE1lZGl1bScpLCBsb2NhbCgnRmlyYVNhbnMtTWVkaXVtJyk7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgZm9udC1kaXNwbGF5OiBzd2FwO1xuICBhc2NlbnQtb3ZlcnJpZGU6IDkyLjE3MTclO1xuICBkZXNjZW50LW92ZXJyaWRlOiAyMi45NSU7XG4gIHNpemUtYWRqdXN0OiAxMDUuMTAyOCU7XG59XG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiSW50ZXIgRmFsbGJhY2s6IE5vdG8gU2Fuc1wiO1xuICBzcmM6IGxvY2FsKCdOb3RvIFNhbnMgTWVkaXVtJyksIGxvY2FsKCdOb3RvU2Fucy1NZWRpdW0nKTtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNTAwO1xuICBmb250LWRpc3BsYXk6IHN3YXA7XG4gIGFzY2VudC1vdmVycmlkZTogOTYuNzkwMyU7XG4gIGRlc2NlbnQtb3ZlcnJpZGU6IDI0LjElO1xuICBzaXplLWFkanVzdDogMTAwLjA4NzUlO1xufVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiSW50ZXIgRmFsbGJhY2s6IEhlbHZldGljYSBOZXVlXCI7XG4gIHNyYzogbG9jYWwoJ0hlbHZldGljYSBOZXVlIE1lZGl1bSBJdGFsaWMnKSwgbG9jYWwoJ0hlbHZldGljYU5ldWUtTWVkaXVtSXRhbGljJyk7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgZm9udC1kaXNwbGF5OiBzd2FwO1xuICBhc2NlbnQtb3ZlcnJpZGU6IDkyLjgxMjklO1xuICBkZXNjZW50LW92ZXJyaWRlOiAyMy4xMDk3JTtcbiAgbGluZS1nYXAtb3ZlcnJpZGU6IDAlO1xuICBzaXplLWFkanVzdDogMTA0LjM3NjclO1xufVxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkludGVyIEZhbGxiYWNrOiBTZWdvZSBVSVwiO1xuICBzcmM6IGxvY2FsKCdTZWdvZSBVSSBTZW1pYm9sZCBJdGFsaWMnKSwgbG9jYWwoJ1NlZ29lVUktU2VtaWJvbGRJdGFsaWMnKTtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xuICBmb250LXdlaWdodDogNTAwO1xuICBmb250LWRpc3BsYXk6IHN3YXA7XG4gIGFzY2VudC1vdmVycmlkZTogOTAuMzQ1MiU7XG4gIGRlc2NlbnQtb3ZlcnJpZGU6IDIyLjQ5NTIlO1xuICBsaW5lLWdhcC1vdmVycmlkZTogMCU7XG4gIHNpemUtYWRqdXN0OiAxMDcuMjI3NiU7XG59XG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiSW50ZXIgRmFsbGJhY2s6IFJvYm90b1wiO1xuICBzcmM6IGxvY2FsKCdSb2JvdG8gTWVkaXVtIEl0YWxpYycpLCBsb2NhbCgnUm9ib3RvLU1lZGl1bUl0YWxpYycpO1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGZvbnQtZGlzcGxheTogc3dhcDtcbiAgYXNjZW50LW92ZXJyaWRlOiA4Ny45MDg3JTtcbiAgZGVzY2VudC1vdmVycmlkZTogMjEuODg4NiU7XG4gIHNpemUtYWRqdXN0OiAxMTAuMTk5NiU7XG59XG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiSW50ZXIgRmFsbGJhY2s6IFVidW50dVwiO1xuICBzcmM6IGxvY2FsKCdVYnVudHUgTWVkaXVtIEl0YWxpYycpLCBsb2NhbCgnVWJ1bnR1LU1lZGl1bUl0YWxpYycpO1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGZvbnQtZGlzcGxheTogc3dhcDtcbiAgYXNjZW50LW92ZXJyaWRlOiA5MC42MTczJTtcbiAgZGVzY2VudC1vdmVycmlkZTogMjIuNTYzJTtcbiAgbGluZS1nYXAtb3ZlcnJpZGU6IDAlO1xuICBzaXplLWFkanVzdDogMTA2LjkwNTYlO1xufVxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkludGVyIEZhbGxiYWNrOiBGaXJhIFNhbnNcIjtcbiAgc3JjOiBsb2NhbCgnRmlyYSBTYW5zIE1lZGl1bSBJdGFsaWMnKSwgbG9jYWwoJ0ZpcmFTYW5zLU1lZGl1bUl0YWxpYycpO1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGZvbnQtZGlzcGxheTogc3dhcDtcbiAgYXNjZW50LW92ZXJyaWRlOiA5MC4yMTgxJTtcbiAgZGVzY2VudC1vdmVycmlkZTogMjIuNDYzNiU7XG4gIHNpemUtYWRqdXN0OiAxMDcuMzc4NyU7XG59XG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiSW50ZXIgRmFsbGJhY2s6IE5vdG8gU2Fuc1wiO1xuICBzcmM6IGxvY2FsKCdOb3RvIFNhbnMgTWVkaXVtIEl0YWxpYycpLCBsb2NhbCgnTm90b1NhbnMtTWVkaXVtSXRhbGljJyk7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgZm9udC1kaXNwbGF5OiBzd2FwO1xuICBhc2NlbnQtb3ZlcnJpZGU6IDkxLjAxNjUlO1xuICBkZXNjZW50LW92ZXJyaWRlOiAyMi42NjI0JTtcbiAgc2l6ZS1hZGp1c3Q6IDEwNi40MzY3JTtcbn1cblxuXG4vKiBGYWxsYmFjayBmb3IgSW50ZXIgc2VtaWJvbGQgKi9cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJJbnRlciBGYWxsYmFjazogSGVsdmV0aWNhIE5ldWVcIjtcbiAgc3JjOiBsb2NhbCgnSGVsdmV0aWNhIE5ldWUgQm9sZCcpLCBsb2NhbCgnSGVsdmV0aWNhTmV1ZS1Cb2xkJyk7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgZm9udC1kaXNwbGF5OiBzd2FwO1xuICBhc2NlbnQtb3ZlcnJpZGU6IDk1LjQyMjglO1xuICBkZXNjZW50LW92ZXJyaWRlOiAyMy43NTk1JTtcbiAgbGluZS1nYXAtb3ZlcnJpZGU6IDAlO1xuICBzaXplLWFkanVzdDogMTAxLjUyMTglO1xufVxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkludGVyIEZhbGxiYWNrOiBTZWdvZSBVSVwiO1xuICBzcmM6IGxvY2FsKCdTZWdvZSBVSSBCb2xkJyksIGxvY2FsKCdTZWdvZVVJLUJvbGQnKTtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNjAwO1xuICBmb250LWRpc3BsYXk6IHN3YXA7XG4gIGFzY2VudC1vdmVycmlkZTogOTQuNDQ4MyU7XG4gIGRlc2NlbnQtb3ZlcnJpZGU6IDIzLjUxNjklO1xuICBzaXplLWFkanVzdDogMTAyLjU2OTQlO1xufVxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkludGVyIEZhbGxiYWNrOiBSb2JvdG9cIjtcbiAgc3JjOiBsb2NhbCgnUm9ib3RvIEJvbGQnKSwgbG9jYWwoJ1JvYm90by1Cb2xkJyk7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgZm9udC1kaXNwbGF5OiBzd2FwO1xuICBhc2NlbnQtb3ZlcnJpZGU6IDg5Ljg4NiU7XG4gIGRlc2NlbnQtb3ZlcnJpZGU6IDIyLjM4MDklO1xuICBzaXplLWFkanVzdDogMTA3Ljc3NTQlO1xufVxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkludGVyIEZhbGxiYWNrOiBVYnVudHVcIjtcbiAgc3JjOiBsb2NhbCgnVWJ1bnR1IEJvbGQnKSwgbG9jYWwoJ1VidW50dS1Cb2xkJyk7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgZm9udC1kaXNwbGF5OiBzd2FwO1xuICBhc2NlbnQtb3ZlcnJpZGU6IDk1LjQyMjglO1xuICBkZXNjZW50LW92ZXJyaWRlOiAyMy43NTk1JTtcbiAgbGluZS1nYXAtb3ZlcnJpZGU6IDAlO1xuICBzaXplLWFkanVzdDogMTAxLjUyMTglO1xufVxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkludGVyIEZhbGxiYWNrOiBGaXJhIFNhbnNcIjtcbiAgc3JjOiBsb2NhbCgnRmlyYSBTYW5zIFNlbWlCb2xkJyksIGxvY2FsKCdGaXJhU2Fucy1TZW1pQm9sZCcpO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGZvbnQtZGlzcGxheTogc3dhcDtcbiAgYXNjZW50LW92ZXJyaWRlOiA5MS4yNDgxJTtcbiAgZGVzY2VudC1vdmVycmlkZTogMjIuNzIlO1xuICBzaXplLWFkanVzdDogMTA2LjE2NjYlO1xufVxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkludGVyIEZhbGxiYWNrOiBOb3RvIFNhbnNcIjtcbiAgc3JjOiBsb2NhbCgnTm90byBTYW5zIFNlbWlCb2xkJyksIGxvY2FsKCdOb3RvU2Fucy1TZW1pQm9sZCcpO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGZvbnQtZGlzcGxheTogc3dhcDtcbiAgYXNjZW50LW92ZXJyaWRlOiA5Ny44MDg0JTtcbiAgZGVzY2VudC1vdmVycmlkZTogMjQuMzUzNSU7XG4gIHNpemUtYWRqdXN0OiA5OS4wNDU3JTtcbn1cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJJbnRlciBGYWxsYmFjazogQXJpYWxcIjtcbiAgc3JjOiBsb2NhbCgnQXJpYWwgQm9sZCcpLCBsb2NhbCgnQXJpYWwtQm9sZE1UJyk7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgZm9udC1kaXNwbGF5OiBzd2FwO1xuICBhc2NlbnQtb3ZlcnJpZGU6IDk1LjQxOSU7XG4gIGRlc2NlbnQtb3ZlcnJpZGU6IDIzLjc1ODYlO1xuICBsaW5lLWdhcC1vdmVycmlkZTogMCU7XG4gIHNpemUtYWRqdXN0OiAxMDEuNTI1OSU7XG59XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJJbnRlciBGYWxsYmFjazogSGVsdmV0aWNhIE5ldWVcIjtcbiAgc3JjOiBsb2NhbCgnSGVsdmV0aWNhIE5ldWUgQm9sZCBJdGFsaWMnKSwgbG9jYWwoJ0hlbHZldGljYU5ldWUtQm9sZEl0YWxpYycpO1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGZvbnQtZGlzcGxheTogc3dhcDtcbiAgYXNjZW50LW92ZXJyaWRlOiA5NC45NTU2JTtcbiAgZGVzY2VudC1vdmVycmlkZTogMjMuNjQzMiU7XG4gIGxpbmUtZ2FwLW92ZXJyaWRlOiAwJTtcbiAgc2l6ZS1hZGp1c3Q6IDEwMi4wMjEzJTtcbn1cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJJbnRlciBGYWxsYmFjazogU2Vnb2UgVUlcIjtcbiAgc3JjOiBsb2NhbCgnU2Vnb2UgVUkgQm9sZCBJdGFsaWMnKSwgbG9jYWwoJ1NlZ29lVUktQm9sZEl0YWxpYycpO1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGZvbnQtZGlzcGxheTogc3dhcDtcbiAgYXNjZW50LW92ZXJyaWRlOiA5My40MDQ5JTtcbiAgZGVzY2VudC1vdmVycmlkZTogMjMuMjU3MSU7XG4gIHNpemUtYWRqdXN0OiAxMDMuNzE1MiU7XG59XG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiSW50ZXIgRmFsbGJhY2s6IFJvYm90b1wiO1xuICBzcmM6IGxvY2FsKCdSb2JvdG8gQm9sZCBJdGFsaWMnKSwgbG9jYWwoJ1JvYm90by1Cb2xkSXRhbGljJyk7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgZm9udC1kaXNwbGF5OiBzd2FwO1xuICBhc2NlbnQtb3ZlcnJpZGU6IDg3LjYyMTMlO1xuICBkZXNjZW50LW92ZXJyaWRlOiAyMS44MTclO1xuICBzaXplLWFkanVzdDogMTEwLjU2MTElO1xufVxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkludGVyIEZhbGxiYWNrOiBVYnVudHVcIjtcbiAgc3JjOiBsb2NhbCgnVWJ1bnR1IEJvbGQgSXRhbGljJyksIGxvY2FsKCdVYnVudHUtQm9sZEl0YWxpYycpO1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGZvbnQtZGlzcGxheTogc3dhcDtcbiAgYXNjZW50LW92ZXJyaWRlOiA5Mi4zODkzJTtcbiAgZGVzY2VudC1vdmVycmlkZTogMjMuMDA0MiU7XG4gIGxpbmUtZ2FwLW92ZXJyaWRlOiAwJTtcbiAgc2l6ZS1hZGp1c3Q6IDEwNC44NTUzJTtcbn1cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJJbnRlciBGYWxsYmFjazogRmlyYSBTYW5zXCI7XG4gIHNyYzogbG9jYWwoJ0ZpcmEgU2FucyBTZW1pQm9sZCBJdGFsaWMnKSwgbG9jYWwoJ0ZpcmFTYW5zLVNlbWlCb2xkSXRhbGljJyk7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgZm9udC1kaXNwbGF5OiBzd2FwO1xuICBhc2NlbnQtb3ZlcnJpZGU6IDg5LjIzMDYlO1xuICBkZXNjZW50LW92ZXJyaWRlOiAyMi4yMTc3JTtcbiAgc2l6ZS1hZGp1c3Q6IDEwOC41NjclO1xufVxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkludGVyIEZhbGxiYWNrOiBOb3RvIFNhbnNcIjtcbiAgc3JjOiBsb2NhbCgnTm90byBTYW5zIFNlbWlCb2xkIEl0YWxpYycpLCBsb2NhbCgnTm90b1NhbnMtU2VtaUJvbGRJdGFsaWMnKTtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xuICBmb250LXdlaWdodDogNjAwO1xuICBmb250LWRpc3BsYXk6IHN3YXA7XG4gIGFzY2VudC1vdmVycmlkZTogOTEuOTk0NCU7XG4gIGRlc2NlbnQtb3ZlcnJpZGU6IDIyLjkwNTklO1xuICBzaXplLWFkanVzdDogMTA1LjMwNTMlO1xufVxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkludGVyIEZhbGxiYWNrOiBBcmlhbFwiO1xuICBzcmM6IGxvY2FsKCdBcmlhbCBCb2xkIEl0YWxpYycpLCBsb2NhbCgnQXJpYWwtQm9sZEl0YWxpY01UJyk7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgZm9udC1kaXNwbGF5OiBzd2FwO1xuICBhc2NlbnQtb3ZlcnJpZGU6IDk0Ljc1NDQlO1xuICBkZXNjZW50LW92ZXJyaWRlOiAyMy41OTMxJTtcbiAgbGluZS1nYXAtb3ZlcnJpZGU6IDAlO1xuICBzaXplLWFkanVzdDogMTAyLjIzOCU7XG59XG59XG5cbkBsYXllciBjb21wb3VuZCB7XG5cbiAgICBAbWVkaWEgc2NyZWVuIHtcblxuICAgICAgICBAbGF5ZXIgY3BkLWJhc2Uge1xuOnJvb3QsIFtjbGFzcyo9XCJjcGQtdGhlbWUtXCJdIHtcbiAgLS1jcGQtc3BhY2Utc2NhbGU6IDRweDtcbiAgLS1jcGQtc3BhY2UtMHg6IDA7XG4gIC0tY3BkLXNwYWNlLTZ4OiAyNHB4O1xuICAtLWNwZC1zcGFjZS0xMHg6IDQwcHg7XG4gIC0tY3BkLXNwYWNlLTExeDogNDRweDtcbiAgLS1jcGQtc3BhY2UtMTJ4OiA0OHB4O1xuICAtLWNwZC1zcGFjZS0xNng6IDY0cHg7XG4gIC0tY3BkLXNwYWNlLTM2eDogMTQ0cHg7XG4gIC0tY3BkLXNwYWNlLTU2eDogMjI0cHg7XG4gIC0tY3BkLWJvcmRlci13aWR0aC0xOiAxcHg7XG4gIC0tY3BkLWJvcmRlci13aWR0aC0yOiAycHg7XG4gIC0tY3BkLWJvcmRlci13aWR0aC00OiA0cHg7XG4gIC0tY3BkLWJvcmRlci13aWR0aC0wLTU6IDAuNXB4O1xuICAtLWNwZC1mb250LWZhbWlseS1zYW5zOiBJbnRlciwgXCJJbnRlciBGYWxsYmFjazogSGVsdmV0aWNhIE5ldWVcIiwgXCJJbnRlciBGYWxsYmFjazogU2Vnb2UgVUlcIiwgXCJJbnRlciBGYWxsYmFjazogUm9ib3RvXCIsIFwiSW50ZXIgRmFsbGJhY2s6IFVidW50dVwiLCBcIkludGVyIEZhbGxiYWNrOiBGaXJhIFNhbnNcIiwgXCJJbnRlciBGYWxsYmFjazogTm90byBTYW5zXCIsIFwiSW50ZXIgRmFsbGJhY2s6IEFyaWFsXCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgXCJTZWdvZSBVSVwiLCBSb2JvdG8sIFVidW50dSwgXCJGaXJhIFNhbnNcIiwgXCJOb3RvIFNhbnNcIiwgQXJpYWwsIHNhbnMtc2VyaWY7XG4gIC0tY3BkLWZvbnQtZmFtaWx5LW1vbm86IEluY29uc29sYXRhLCB1aS1tb25vc3BhY2UsIG1vbm9zcGFjZTtcbiAgLS1jcGQtZm9udC13ZWlnaHQtcmVndWxhcjogNDAwO1xuICAtLWNwZC1mb250LXdlaWdodC1tZWRpdW06IDUwMDtcbiAgLS1jcGQtZm9udC13ZWlnaHQtc2VtaWJvbGQ6IDYwMDtcbiAgLS1jcGQtZm9udC1saW5lLWhlaWdodC1taW5pbXVtOiAxO1xuICAtLWNwZC1mb250LWxpbmUtaGVpZ2h0LXRpZ2h0OiAxLjI1O1xuICAtLWNwZC1mb250LWxpbmUtaGVpZ2h0LXJlZ3VsYXI6IDEuNTtcbiAgLS1jcGQtZm9udC1zaXplLWJvZHkteHM6IDAuNjg3NXJlbTtcbiAgLS1jcGQtZm9udC1zaXplLWJvZHktc206IDAuODEyNXJlbTtcbiAgLS1jcGQtZm9udC1zaXplLWJvZHktbWQ6IDAuOTM3NXJlbTtcbiAgLS1jcGQtZm9udC1zaXplLWJvZHktbGc6IDEuMDYyNXJlbTtcbiAgLS1jcGQtZm9udC1zaXplLWhlYWRpbmctc206IDEuMjVyZW07XG4gIC0tY3BkLWZvbnQtc2l6ZS1oZWFkaW5nLW1kOiAxLjVyZW07XG4gIC0tY3BkLWZvbnQtc2l6ZS1oZWFkaW5nLWxnOiAxLjc1cmVtO1xuICAtLWNwZC1mb250LXNpemUtaGVhZGluZy14bDogMnJlbTtcbiAgLS1jcGQtZm9udC1zaXplLXJvb3Q6IDFyZW07XG4gIC0tY3BkLWZvbnQtbGV0dGVyLXNwYWNpbmctYm9keS14czogMC4wMDQ4ZW07XG4gIC0tY3BkLWZvbnQtbGV0dGVyLXNwYWNpbmctYm9keS1zbTogLTAuMDAzMWVtO1xuICAtLWNwZC1mb250LWxldHRlci1zcGFjaW5nLWJvZHktbWQ6IC0wLjAwODhlbTtcbiAgLS1jcGQtZm9udC1sZXR0ZXItc3BhY2luZy1ib2R5LWxnOiAtMC4wMTI4ZW07XG4gIC0tY3BkLWZvbnQtbGV0dGVyLXNwYWNpbmctaGVhZGluZy1zbTogLTAuMDE2NmVtO1xuICAtLWNwZC1mb250LWxldHRlci1zcGFjaW5nLWhlYWRpbmctbWQ6IC0wLjAxOTVlbTtcbiAgLS1jcGQtZm9udC1sZXR0ZXItc3BhY2luZy1oZWFkaW5nLWxnOiAtMC4wMjA5ZW07XG4gIC0tY3BkLWZvbnQtbGV0dGVyLXNwYWNpbmctaGVhZGluZy14bDogLTAuMDIxNmVtO1xuICAtLWNwZC1zcGFjZS0wLTV4OiAycHg7XG4gIC0tY3BkLXNwYWNlLTF4OiB2YXIoLS1jcGQtc3BhY2Utc2NhbGUpO1xuICAtLWNwZC1zcGFjZS0xLTV4OiA2cHg7XG4gIC0tY3BkLXNwYWNlLTJ4OiA4cHg7XG4gIC0tY3BkLXNwYWNlLTN4OiAxMnB4O1xuICAtLWNwZC1zcGFjZS00eDogMTZweDtcbiAgLS1jcGQtc3BhY2UtNXg6IDIwcHg7XG4gIC0tY3BkLXNwYWNlLTd4OiAyOHB4O1xuICAtLWNwZC1zcGFjZS04eDogMzJweDtcbiAgLS1jcGQtc3BhY2UtOXg6IDM2cHg7XG4gIC0tY3BkLXNwYWNlLTEzeDogNTJweDtcbiAgLS1jcGQtc3BhY2UtMTR4OiA1NnB4O1xuICAtLWNwZC1zcGFjZS0xNXg6IDYwcHg7XG4gIC0tY3BkLXNwYWNlLTIweDogODBweDtcbiAgLS1jcGQtc3BhY2UtMjR4OiA5NnB4O1xuICAtLWNwZC1zcGFjZS0yOHg6IDExMnB4O1xuICAtLWNwZC1zcGFjZS0zMng6IDEyOHB4O1xuICAtLWNwZC1zcGFjZS00MHg6IDE2MHB4O1xuICAtLWNwZC1zcGFjZS00OHg6IDE5MnB4O1xuICAtLWNwZC1zcGFjZS02NHg6IDI1NnB4O1xuICAtLWNwZC1mb250LWJvZHkteHMtcmVndWxhcjogdmFyKC0tY3BkLWZvbnQtd2VpZ2h0LXJlZ3VsYXIpIHZhcigtLWNwZC1mb250LXNpemUtYm9keS14cykvdmFyKC0tY3BkLWZvbnQtbGluZS1oZWlnaHQtcmVndWxhcikgdmFyKC0tY3BkLWZvbnQtZmFtaWx5LXNhbnMpO1xuICAtLWNwZC1mb250LWJvZHkteHMtbWVkaXVtOiB2YXIoLS1jcGQtZm9udC13ZWlnaHQtbWVkaXVtKSB2YXIoLS1jcGQtZm9udC1zaXplLWJvZHkteHMpL3ZhcigtLWNwZC1mb250LWxpbmUtaGVpZ2h0LXJlZ3VsYXIpIHZhcigtLWNwZC1mb250LWZhbWlseS1zYW5zKTtcbiAgLS1jcGQtZm9udC1ib2R5LXhzLXNlbWlib2xkOiB2YXIoLS1jcGQtZm9udC13ZWlnaHQtc2VtaWJvbGQpIHZhcigtLWNwZC1mb250LXNpemUtYm9keS14cykvdmFyKC0tY3BkLWZvbnQtbGluZS1oZWlnaHQtcmVndWxhcikgdmFyKC0tY3BkLWZvbnQtZmFtaWx5LXNhbnMpO1xuICAtLWNwZC1mb250LWJvZHktc20tcmVndWxhcjogdmFyKC0tY3BkLWZvbnQtd2VpZ2h0LXJlZ3VsYXIpIHZhcigtLWNwZC1mb250LXNpemUtYm9keS1zbSkvdmFyKC0tY3BkLWZvbnQtbGluZS1oZWlnaHQtcmVndWxhcikgdmFyKC0tY3BkLWZvbnQtZmFtaWx5LXNhbnMpO1xuICAtLWNwZC1mb250LWJvZHktc20tbWVkaXVtOiB2YXIoLS1jcGQtZm9udC13ZWlnaHQtbWVkaXVtKSB2YXIoLS1jcGQtZm9udC1zaXplLWJvZHktc20pL3ZhcigtLWNwZC1mb250LWxpbmUtaGVpZ2h0LXJlZ3VsYXIpIHZhcigtLWNwZC1mb250LWZhbWlseS1zYW5zKTtcbiAgLS1jcGQtZm9udC1ib2R5LXNtLXNlbWlib2xkOiB2YXIoLS1jcGQtZm9udC13ZWlnaHQtc2VtaWJvbGQpIHZhcigtLWNwZC1mb250LXNpemUtYm9keS1zbSkvdmFyKC0tY3BkLWZvbnQtbGluZS1oZWlnaHQtcmVndWxhcikgdmFyKC0tY3BkLWZvbnQtZmFtaWx5LXNhbnMpO1xuICAtLWNwZC1mb250LWJvZHktbWQtcmVndWxhcjogdmFyKC0tY3BkLWZvbnQtd2VpZ2h0LXJlZ3VsYXIpIHZhcigtLWNwZC1mb250LXNpemUtYm9keS1tZCkvdmFyKC0tY3BkLWZvbnQtbGluZS1oZWlnaHQtcmVndWxhcikgdmFyKC0tY3BkLWZvbnQtZmFtaWx5LXNhbnMpO1xuICAtLWNwZC1mb250LWJvZHktbWQtbWVkaXVtOiB2YXIoLS1jcGQtZm9udC13ZWlnaHQtbWVkaXVtKSB2YXIoLS1jcGQtZm9udC1zaXplLWJvZHktbWQpL3ZhcigtLWNwZC1mb250LWxpbmUtaGVpZ2h0LXJlZ3VsYXIpIHZhcigtLWNwZC1mb250LWZhbWlseS1zYW5zKTtcbiAgLS1jcGQtZm9udC1ib2R5LW1kLXNlbWlib2xkOiB2YXIoLS1jcGQtZm9udC13ZWlnaHQtc2VtaWJvbGQpIHZhcigtLWNwZC1mb250LXNpemUtYm9keS1tZCkvdmFyKC0tY3BkLWZvbnQtbGluZS1oZWlnaHQtcmVndWxhcikgdmFyKC0tY3BkLWZvbnQtZmFtaWx5LXNhbnMpO1xuICAtLWNwZC1mb250LWJvZHktbGctcmVndWxhcjogdmFyKC0tY3BkLWZvbnQtd2VpZ2h0LXJlZ3VsYXIpIHZhcigtLWNwZC1mb250LXNpemUtYm9keS1sZykvdmFyKC0tY3BkLWZvbnQtbGluZS1oZWlnaHQtcmVndWxhcikgdmFyKC0tY3BkLWZvbnQtZmFtaWx5LXNhbnMpO1xuICAtLWNwZC1mb250LWJvZHktbGctbWVkaXVtOiB2YXIoLS1jcGQtZm9udC13ZWlnaHQtbWVkaXVtKSB2YXIoLS1jcGQtZm9udC1zaXplLWJvZHktbGcpL3ZhcigtLWNwZC1mb250LWxpbmUtaGVpZ2h0LXJlZ3VsYXIpIHZhcigtLWNwZC1mb250LWZhbWlseS1zYW5zKTtcbiAgLS1jcGQtZm9udC1ib2R5LWxnLXNlbWlib2xkOiB2YXIoLS1jcGQtZm9udC13ZWlnaHQtc2VtaWJvbGQpIHZhcigtLWNwZC1mb250LXNpemUtYm9keS1sZykvdmFyKC0tY3BkLWZvbnQtbGluZS1oZWlnaHQtcmVndWxhcikgdmFyKC0tY3BkLWZvbnQtZmFtaWx5LXNhbnMpO1xuICAtLWNwZC1mb250LWhlYWRpbmctc20tcmVndWxhcjogdmFyKC0tY3BkLWZvbnQtd2VpZ2h0LXJlZ3VsYXIpIHZhcigtLWNwZC1mb250LXNpemUtaGVhZGluZy1zbSkvdmFyKC0tY3BkLWZvbnQtbGluZS1oZWlnaHQtdGlnaHQpIHZhcigtLWNwZC1mb250LWZhbWlseS1zYW5zKTtcbiAgLS1jcGQtZm9udC1oZWFkaW5nLXNtLW1lZGl1bTogdmFyKC0tY3BkLWZvbnQtd2VpZ2h0LW1lZGl1bSkgdmFyKC0tY3BkLWZvbnQtc2l6ZS1oZWFkaW5nLXNtKS92YXIoLS1jcGQtZm9udC1saW5lLWhlaWdodC10aWdodCkgdmFyKC0tY3BkLWZvbnQtZmFtaWx5LXNhbnMpO1xuICAtLWNwZC1mb250LWhlYWRpbmctc20tc2VtaWJvbGQ6IHZhcigtLWNwZC1mb250LXdlaWdodC1zZW1pYm9sZCkgdmFyKC0tY3BkLWZvbnQtc2l6ZS1oZWFkaW5nLXNtKS92YXIoLS1jcGQtZm9udC1saW5lLWhlaWdodC10aWdodCkgdmFyKC0tY3BkLWZvbnQtZmFtaWx5LXNhbnMpO1xuICAtLWNwZC1mb250LWhlYWRpbmctbWQtcmVndWxhcjogdmFyKC0tY3BkLWZvbnQtd2VpZ2h0LXJlZ3VsYXIpIHZhcigtLWNwZC1mb250LXNpemUtaGVhZGluZy1tZCkvdmFyKC0tY3BkLWZvbnQtbGluZS1oZWlnaHQtdGlnaHQpIHZhcigtLWNwZC1mb250LWZhbWlseS1zYW5zKTtcbiAgLS1jcGQtZm9udC1oZWFkaW5nLW1kLXNlbWlib2xkOiB2YXIoLS1jcGQtZm9udC13ZWlnaHQtc2VtaWJvbGQpIHZhcigtLWNwZC1mb250LXNpemUtaGVhZGluZy1tZCkvdmFyKC0tY3BkLWZvbnQtbGluZS1oZWlnaHQtdGlnaHQpIHZhcigtLWNwZC1mb250LWZhbWlseS1zYW5zKTtcbiAgLS1jcGQtZm9udC1oZWFkaW5nLWxnLXJlZ3VsYXI6IHZhcigtLWNwZC1mb250LXdlaWdodC1yZWd1bGFyKSB2YXIoLS1jcGQtZm9udC1zaXplLWhlYWRpbmctbGcpL3ZhcigtLWNwZC1mb250LWxpbmUtaGVpZ2h0LXRpZ2h0KSB2YXIoLS1jcGQtZm9udC1mYW1pbHktc2Fucyk7XG4gIC0tY3BkLWZvbnQtaGVhZGluZy1sZy1zZW1pYm9sZDogdmFyKC0tY3BkLWZvbnQtd2VpZ2h0LXNlbWlib2xkKSB2YXIoLS1jcGQtZm9udC1zaXplLWhlYWRpbmctbGcpL3ZhcigtLWNwZC1mb250LWxpbmUtaGVpZ2h0LXRpZ2h0KSB2YXIoLS1jcGQtZm9udC1mYW1pbHktc2Fucyk7XG4gIC0tY3BkLWZvbnQtaGVhZGluZy14bC1yZWd1bGFyOiB2YXIoLS1jcGQtZm9udC13ZWlnaHQtcmVndWxhcikgdmFyKC0tY3BkLWZvbnQtc2l6ZS1oZWFkaW5nLXhsKS92YXIoLS1jcGQtZm9udC1saW5lLWhlaWdodC10aWdodCkgdmFyKC0tY3BkLWZvbnQtZmFtaWx5LXNhbnMpO1xuICAtLWNwZC1mb250LWhlYWRpbmcteGwtc2VtaWJvbGQ6IHZhcigtLWNwZC1mb250LXdlaWdodC1zZW1pYm9sZCkgdmFyKC0tY3BkLWZvbnQtc2l6ZS1oZWFkaW5nLXhsKS92YXIoLS1jcGQtZm9udC1saW5lLWhlaWdodC10aWdodCkgdmFyKC0tY3BkLWZvbnQtZmFtaWx5LXNhbnMpO1xufVxuICAgICAgICB9XG4gICAgfVxufVxuXG5AbGF5ZXIgY29tcG91bmQge1xuXG4gICAgQG1lZGlhIHNjcmVlbiB7XG5cbiAgICAgICAgQGxheWVyIGNwZC1zZW1hbnRpYyB7XG46cm9vdCwgW2NsYXNzKj1cImNwZC10aGVtZS1cIl0ge1xuICAtLWNwZC1jb2xvci10ZXh0LXByaW1hcnk6IHZhcigtLWNwZC1jb2xvci1ncmF5LTE0MDApO1xuICAtLWNwZC1jb2xvci10ZXh0LXNlY29uZGFyeTogdmFyKC0tY3BkLWNvbG9yLWdyYXktOTAwKTtcbiAgLS1jcGQtY29sb3ItdGV4dC1kaXNhYmxlZDogdmFyKC0tY3BkLWNvbG9yLWdyYXktODAwKTtcbiAgLS1jcGQtY29sb3ItdGV4dC1hY3Rpb24tcHJpbWFyeTogdmFyKC0tY3BkLWNvbG9yLWdyYXktMTQwMCk7XG4gIC0tY3BkLWNvbG9yLXRleHQtYWN0aW9uLWFjY2VudDogdmFyKC0tY3BkLWNvbG9yLWdyZWVuLTkwMCk7XG4gIC0tY3BkLWNvbG9yLXRleHQtbGluay1leHRlcm5hbDogdmFyKC0tY3BkLWNvbG9yLWJsdWUtOTAwKTtcbiAgLS1jcGQtY29sb3ItdGV4dC1jcml0aWNhbC1wcmltYXJ5OiB2YXIoLS1jcGQtY29sb3ItcmVkLTkwMCk7XG4gIC0tY3BkLWNvbG9yLXRleHQtc3VjY2Vzcy1wcmltYXJ5OiB2YXIoLS1jcGQtY29sb3ItZ3JlZW4tOTAwKTtcbiAgLS1jcGQtY29sb3ItdGV4dC1pbmZvLXByaW1hcnk6IHZhcigtLWNwZC1jb2xvci1ibHVlLTkwMCk7XG4gIC0tY3BkLWNvbG9yLXRleHQtb24tc29saWQtcHJpbWFyeTogdmFyKC0tY3BkLWNvbG9yLXRoZW1lLWJnKTtcbiAgLS1jcGQtY29sb3ItdGV4dC1kZWNvcmF0aXZlLTE6IHZhcigtLWNwZC1jb2xvci1saW1lLTExMDApO1xuICAtLWNwZC1jb2xvci10ZXh0LWRlY29yYXRpdmUtMjogdmFyKC0tY3BkLWNvbG9yLWN5YW4tMTEwMCk7XG4gIC0tY3BkLWNvbG9yLXRleHQtZGVjb3JhdGl2ZS0zOiB2YXIoLS1jcGQtY29sb3ItZnVjaHNpYS0xMTAwKTtcbiAgLS1jcGQtY29sb3ItdGV4dC1kZWNvcmF0aXZlLTQ6IHZhcigtLWNwZC1jb2xvci1wdXJwbGUtMTEwMCk7XG4gIC0tY3BkLWNvbG9yLXRleHQtZGVjb3JhdGl2ZS01OiB2YXIoLS1jcGQtY29sb3ItcGluay0xMTAwKTtcbiAgLS1jcGQtY29sb3ItdGV4dC1kZWNvcmF0aXZlLTY6IHZhcigtLWNwZC1jb2xvci1vcmFuZ2UtMTEwMCk7XG4gIC0tY3BkLWNvbG9yLWJnLXN1YnRsZS1wcmltYXJ5OiB2YXIoLS1jcGQtY29sb3ItZ3JheS00MDApO1xuICAtLWNwZC1jb2xvci1iZy1zdWJ0bGUtc2Vjb25kYXJ5OiB2YXIoLS1jcGQtY29sb3ItZ3JheS0zMDApO1xuICAtLWNwZC1jb2xvci1iZy1jYW52YXMtZGVmYXVsdDogdmFyKC0tY3BkLWNvbG9yLXRoZW1lLWJnKTtcbiAgLS1jcGQtY29sb3ItYmctY2FudmFzLWRpc2FibGVkOiB2YXIoLS1jcGQtY29sb3ItZ3JheS0yMDApO1xuICAtLWNwZC1jb2xvci1iZy1hY3Rpb24tcHJpbWFyeS1yZXN0OiB2YXIoLS1jcGQtY29sb3ItZ3JheS0xNDAwKTtcbiAgLS1jcGQtY29sb3ItYmctYWN0aW9uLXByaW1hcnktaG92ZXJlZDogdmFyKC0tY3BkLWNvbG9yLWdyYXktMTIwMCk7XG4gIC0tY3BkLWNvbG9yLWJnLWFjdGlvbi1wcmltYXJ5LXByZXNzZWQ6IHZhcigtLWNwZC1jb2xvci1ncmF5LTExMDApO1xuICAtLWNwZC1jb2xvci1iZy1hY3Rpb24tcHJpbWFyeS1kaXNhYmxlZDogdmFyKC0tY3BkLWNvbG9yLWdyYXktNzAwKTtcbiAgLS1jcGQtY29sb3ItYmctYWN0aW9uLXNlY29uZGFyeS1yZXN0OiB2YXIoLS1jcGQtY29sb3ItdGhlbWUtYmcpO1xuICAtLWNwZC1jb2xvci1iZy1hY3Rpb24tc2Vjb25kYXJ5LWhvdmVyZWQ6IHZhcigtLWNwZC1jb2xvci1hbHBoYS1ncmF5LTIwMCk7XG4gIC0tY3BkLWNvbG9yLWJnLWFjdGlvbi1zZWNvbmRhcnktcHJlc3NlZDogdmFyKC0tY3BkLWNvbG9yLWFscGhhLWdyYXktMzAwKTtcbiAgLS1jcGQtY29sb3ItYmctY3JpdGljYWwtcHJpbWFyeTogdmFyKC0tY3BkLWNvbG9yLXJlZC05MDApO1xuICAtLWNwZC1jb2xvci1iZy1jcml0aWNhbC1ob3ZlcmVkOiB2YXIoLS1jcGQtY29sb3ItcmVkLTEwMDApO1xuICAtLWNwZC1jb2xvci1iZy1jcml0aWNhbC1zdWJ0bGU6IHZhcigtLWNwZC1jb2xvci1yZWQtMjAwKTtcbiAgLS1jcGQtY29sb3ItYmctY3JpdGljYWwtc3VidGxlLWhvdmVyZWQ6IHZhcigtLWNwZC1jb2xvci1yZWQtMzAwKTtcbiAgLS1jcGQtY29sb3ItYmctc3VjY2Vzcy1zdWJ0bGU6IHZhcigtLWNwZC1jb2xvci1ncmVlbi0yMDApO1xuICAtLWNwZC1jb2xvci1iZy1pbmZvLXN1YnRsZTogdmFyKC0tY3BkLWNvbG9yLWJsdWUtMjAwKTtcbiAgLS1jcGQtY29sb3ItYmctZGVjb3JhdGl2ZS0xOiB2YXIoLS1jcGQtY29sb3ItbGltZS0zMDApO1xuICAtLWNwZC1jb2xvci1iZy1kZWNvcmF0aXZlLTI6IHZhcigtLWNwZC1jb2xvci1jeWFuLTMwMCk7XG4gIC0tY3BkLWNvbG9yLWJnLWRlY29yYXRpdmUtMzogdmFyKC0tY3BkLWNvbG9yLWZ1Y2hzaWEtMzAwKTtcbiAgLS1jcGQtY29sb3ItYmctZGVjb3JhdGl2ZS00OiB2YXIoLS1jcGQtY29sb3ItcHVycGxlLTMwMCk7XG4gIC0tY3BkLWNvbG9yLWJnLWRlY29yYXRpdmUtNTogdmFyKC0tY3BkLWNvbG9yLXBpbmstMzAwKTtcbiAgLS1jcGQtY29sb3ItYmctZGVjb3JhdGl2ZS02OiB2YXIoLS1jcGQtY29sb3Itb3JhbmdlLTMwMCk7XG4gIC0tY3BkLWNvbG9yLWJnLWFjY2VudC1yZXN0OiB2YXIoLS1jcGQtY29sb3ItZ3JlZW4tOTAwKTtcbiAgLS1jcGQtY29sb3ItYmctYWNjZW50LWhvdmVyZWQ6IHZhcigtLWNwZC1jb2xvci1ncmVlbi0xMDAwKTtcbiAgLS1jcGQtY29sb3ItYmctYWNjZW50LXByZXNzZWQ6IHZhcigtLWNwZC1jb2xvci1ncmVlbi0xMTAwKTtcbiAgLS1jcGQtY29sb3ItYm9yZGVyLWRpc2FibGVkOiB2YXIoLS1jcGQtY29sb3ItZ3JheS01MDApO1xuICAtLWNwZC1jb2xvci1ib3JkZXItZm9jdXNlZDogdmFyKC0tY3BkLWNvbG9yLWJsdWUtOTAwKTtcbiAgLS1jcGQtY29sb3ItYm9yZGVyLWludGVyYWN0aXZlLXByaW1hcnk6IHZhcigtLWNwZC1jb2xvci1ncmF5LTgwMCk7XG4gIC0tY3BkLWNvbG9yLWJvcmRlci1pbnRlcmFjdGl2ZS1zZWNvbmRhcnk6IHZhcigtLWNwZC1jb2xvci1ncmF5LTYwMCk7XG4gIC0tY3BkLWNvbG9yLWJvcmRlci1pbnRlcmFjdGl2ZS1ob3ZlcmVkOiB2YXIoLS1jcGQtY29sb3ItZ3JheS0xMTAwKTtcbiAgLS1jcGQtY29sb3ItYm9yZGVyLWNyaXRpY2FsLXByaW1hcnk6IHZhcigtLWNwZC1jb2xvci1yZWQtOTAwKTtcbiAgLS1jcGQtY29sb3ItYm9yZGVyLWNyaXRpY2FsLWhvdmVyZWQ6IHZhcigtLWNwZC1jb2xvci1yZWQtMTAwMCk7XG4gIC0tY3BkLWNvbG9yLWJvcmRlci1jcml0aWNhbC1zdWJ0bGU6IHZhcigtLWNwZC1jb2xvci1yZWQtNTAwKTtcbiAgLS1jcGQtY29sb3ItYm9yZGVyLXN1Y2Nlc3Mtc3VidGxlOiB2YXIoLS1jcGQtY29sb3ItZ3JlZW4tNTAwKTtcbiAgLS1jcGQtY29sb3ItYm9yZGVyLWluZm8tc3VidGxlOiB2YXIoLS1jcGQtY29sb3ItYmx1ZS01MDApO1xuICAtLWNwZC1jb2xvci1pY29uLXByaW1hcnk6IHZhcigtLWNwZC1jb2xvci1ncmF5LTE0MDApO1xuICAtLWNwZC1jb2xvci1pY29uLXNlY29uZGFyeTogdmFyKC0tY3BkLWNvbG9yLWdyYXktOTAwKTtcbiAgLS1jcGQtY29sb3ItaWNvbi10ZXJ0aWFyeTogdmFyKC0tY3BkLWNvbG9yLWdyYXktODAwKTtcbiAgLS1jcGQtY29sb3ItaWNvbi1xdWF0ZXJuYXJ5OiB2YXIoLS1jcGQtY29sb3ItZ3JheS03MDApO1xuICAtLWNwZC1jb2xvci1pY29uLWRpc2FibGVkOiB2YXIoLS1jcGQtY29sb3ItZ3JheS03MDApO1xuICAtLWNwZC1jb2xvci1pY29uLXByaW1hcnktYWxwaGE6IHZhcigtLWNwZC1jb2xvci1hbHBoYS1ncmF5LTE0MDApO1xuICAtLWNwZC1jb2xvci1pY29uLXNlY29uZGFyeS1hbHBoYTogdmFyKC0tY3BkLWNvbG9yLWFscGhhLWdyYXktOTAwKTtcbiAgLS1jcGQtY29sb3ItaWNvbi10ZXJ0aWFyeS1hbHBoYTogdmFyKC0tY3BkLWNvbG9yLWFscGhhLWdyYXktODAwKTtcbiAgLS1jcGQtY29sb3ItaWNvbi1xdWF0ZXJuYXJ5LWFscGhhOiB2YXIoLS1jcGQtY29sb3ItYWxwaGEtZ3JheS03MDApO1xuICAtLWNwZC1jb2xvci1pY29uLWFjY2VudC10ZXJ0aWFyeTogdmFyKC0tY3BkLWNvbG9yLWdyZWVuLTgwMCk7XG4gIC0tY3BkLWNvbG9yLWljb24tYWNjZW50LXByaW1hcnk6IHZhcigtLWNwZC1jb2xvci1ncmVlbi05MDApO1xuICAtLWNwZC1jb2xvci1pY29uLWNyaXRpY2FsLXByaW1hcnk6IHZhcigtLWNwZC1jb2xvci1yZWQtOTAwKTtcbiAgLS1jcGQtY29sb3ItaWNvbi1zdWNjZXNzLXByaW1hcnk6IHZhcigtLWNwZC1jb2xvci1ncmVlbi05MDApO1xuICAtLWNwZC1jb2xvci1pY29uLWluZm8tcHJpbWFyeTogdmFyKC0tY3BkLWNvbG9yLWJsdWUtOTAwKTtcbiAgLS1jcGQtY29sb3ItaWNvbi1vbi1zb2xpZC1wcmltYXJ5OiB2YXIoLS1jcGQtY29sb3ItdGhlbWUtYmcpO1xufVxuICAgICAgICB9XG4gICAgfVxufVxuXG5AbGF5ZXIgY29tcG91bmQge1xuXG4gICAgQG1lZGlhIHNjcmVlbiB7XG5cbiAgICAgICAgQGxheWVyIGNwZC1iYXNlIHtcbi5jcGQtdGhlbWUtbGlnaHQuY3BkLXRoZW1lLWxpZ2h0IHtcbiAgLS1jcGQtY29sb3ItdGhlbWUtYmc6ICNmZmZmZmY7XG4gIC0tY3BkLWNvbG9yLWdyYXktMTAwOiAjZmJmY2ZkO1xuICAtLWNwZC1jb2xvci1ncmF5LTIwMDogI2Y3ZjlmYTtcbiAgLS1jcGQtY29sb3ItZ3JheS0zMDA6ICNmMGYyZjU7XG4gIC0tY3BkLWNvbG9yLWdyYXktNDAwOiAjZTFlNmVjO1xuICAtLWNwZC1jb2xvci1ncmF5LTUwMDogI2NkZDNkYTtcbiAgLS1jcGQtY29sb3ItZ3JheS02MDA6ICNiZGM0Y2M7XG4gIC0tY3BkLWNvbG9yLWdyYXktNzAwOiAjYTZhZGI3O1xuICAtLWNwZC1jb2xvci1ncmF5LTgwMDogIzgxOGE5NTtcbiAgLS1jcGQtY29sb3ItZ3JheS05MDA6ICM2NTZkNzc7XG4gIC0tY3BkLWNvbG9yLWdyYXktMTAwMDogIzU5NWU2NztcbiAgLS1jcGQtY29sb3ItZ3JheS0xMTAwOiAjNGM1MTU4O1xuICAtLWNwZC1jb2xvci1ncmF5LTEyMDA6ICMzYzQwNDU7XG4gIC0tY3BkLWNvbG9yLWdyYXktMTMwMDogIzJiMmQzMjtcbiAgLS1jcGQtY29sb3ItZ3JheS0xNDAwOiAjMWIxZDIyO1xuICAtLWNwZC1jb2xvci1yZWQtMTAwOiAjZmZmYWY5O1xuICAtLWNwZC1jb2xvci1yZWQtMjAwOiAjZmZmN2Y2O1xuICAtLWNwZC1jb2xvci1yZWQtMzAwOiAjZmZlZmVjO1xuICAtLWNwZC1jb2xvci1yZWQtNDAwOiAjZmZkZmRhO1xuICAtLWNwZC1jb2xvci1yZWQtNTAwOiAjZmZjNWJjO1xuICAtLWNwZC1jb2xvci1yZWQtNjAwOiAjZmZhZmE1O1xuICAtLWNwZC1jb2xvci1yZWQtNzAwOiAjZmY4YzgxO1xuICAtLWNwZC1jb2xvci1yZWQtODAwOiAjZmYzZDNkO1xuICAtLWNwZC1jb2xvci1yZWQtOTAwOiAjZDUxOTI4O1xuICAtLWNwZC1jb2xvci1yZWQtMTAwMDogI2JjMGYyMjtcbiAgLS1jcGQtY29sb3ItcmVkLTExMDA6ICNhNDA0MWQ7XG4gIC0tY3BkLWNvbG9yLXJlZC0xMjAwOiAjODUwMDA2O1xuICAtLWNwZC1jb2xvci1yZWQtMTMwMDogIzYyMDAwMDtcbiAgLS1jcGQtY29sb3ItcmVkLTE0MDA6ICM0NTAwMDA7XG4gIC0tY3BkLWNvbG9yLW9yYW5nZS0xMDA6ICNmZmZhZjc7XG4gIC0tY3BkLWNvbG9yLW9yYW5nZS0yMDA6ICNmZmY2ZWY7XG4gIC0tY3BkLWNvbG9yLW9yYW5nZS0zMDA6ICNmZmVmZTQ7XG4gIC0tY3BkLWNvbG9yLW9yYW5nZS00MDA6ICNmZmRmYzg7XG4gIC0tY3BkLWNvbG9yLW9yYW5nZS01MDA6ICNmZmM4YTE7XG4gIC0tY3BkLWNvbG9yLW9yYW5nZS02MDA6ICNmZGIzN2M7XG4gIC0tY3BkLWNvbG9yLW9yYW5nZS03MDA6ICNmODk0NDA7XG4gIC0tY3BkLWNvbG9yLW9yYW5nZS04MDA6ICNkYzY3MDA7XG4gIC0tY3BkLWNvbG9yLW9yYW5nZS05MDA6ICNiYzQ1MDA7XG4gIC0tY3BkLWNvbG9yLW9yYW5nZS0xMDAwOiAjYWMzMzAwO1xuICAtLWNwZC1jb2xvci1vcmFuZ2UtMTEwMDogIzliMjIwMDtcbiAgLS1jcGQtY29sb3Itb3JhbmdlLTEyMDA6ICM4NTAwMDA7XG4gIC0tY3BkLWNvbG9yLW9yYW5nZS0xMzAwOiAjNjIwMDAwO1xuICAtLWNwZC1jb2xvci1vcmFuZ2UtMTQwMDogIzQ1MDAwMDtcbiAgLS1jcGQtY29sb3IteWVsbG93LTEwMDogI2ZmZmNmMDtcbiAgLS1jcGQtY29sb3IteWVsbG93LTIwMDogI2ZmZjhlMDtcbiAgLS1jcGQtY29sb3IteWVsbG93LTMwMDogI2ZmZjJjMTtcbiAgLS1jcGQtY29sb3IteWVsbG93LTQwMDogI2ZmZTQ4NDtcbiAgLS1jcGQtY29sb3IteWVsbG93LTUwMDogI2ZiY2UwMDtcbiAgLS1jcGQtY29sb3IteWVsbG93LTYwMDogI2YxYmQwMDtcbiAgLS1jcGQtY29sb3IteWVsbG93LTcwMDogI2RlYTIwMDtcbiAgLS1jcGQtY29sb3IteWVsbG93LTgwMDogI2JlN2EwMDtcbiAgLS1jcGQtY29sb3IteWVsbG93LTkwMDogIzlmNWIwMDtcbiAgLS1jcGQtY29sb3IteWVsbG93LTEwMDA6ICM4ZjRkMDA7XG4gIC0tY3BkLWNvbG9yLXllbGxvdy0xMTAwOiAjODAzZjAwO1xuICAtLWNwZC1jb2xvci15ZWxsb3ctMTIwMDogIzY5MmUwMDtcbiAgLS1jcGQtY29sb3IteWVsbG93LTEzMDA6ICM1NDFhMDA7XG4gIC0tY3BkLWNvbG9yLXllbGxvdy0xNDAwOiAjNDEwNjAwO1xuICAtLWNwZC1jb2xvci1saW1lLTEwMDogI2Y4ZmRmNjtcbiAgLS1jcGQtY29sb3ItbGltZS0yMDA6ICNmMWZjZWU7XG4gIC0tY3BkLWNvbG9yLWxpbWUtMzAwOiAjZTBmOGQ5O1xuICAtLWNwZC1jb2xvci1saW1lLTQwMDogI2M4ZjFiYTtcbiAgLS1jcGQtY29sb3ItbGltZS01MDA6ICM5OWU1N2U7XG4gIC0tY3BkLWNvbG9yLWxpbWUtNjAwOiAjNzZkYjRjO1xuICAtLWNwZC1jb2xvci1saW1lLTcwMDogIzU0YzQyNDtcbiAgLS1jcGQtY29sb3ItbGltZS04MDA6ICMzNTlkMTg7XG4gIC0tY3BkLWNvbG9yLWxpbWUtOTAwOiAjMTk3ZDBjO1xuICAtLWNwZC1jb2xvci1saW1lLTEwMDA6ICMwMDZlMDA7XG4gIC0tY3BkLWNvbG9yLWxpbWUtMTEwMDogIzAwNWYwMDtcbiAgLS1jcGQtY29sb3ItbGltZS0xMjAwOiAjMDA0YjAwO1xuICAtLWNwZC1jb2xvci1saW1lLTEzMDA6ICMwMDM2MDA7XG4gIC0tY3BkLWNvbG9yLWxpbWUtMTQwMDogIzAwMjQwMDtcbiAgLS1jcGQtY29sb3ItZ3JlZW4tMTAwOiAjZjhmZGZiO1xuICAtLWNwZC1jb2xvci1ncmVlbi0yMDA6ICNmMWZiZjY7XG4gIC0tY3BkLWNvbG9yLWdyZWVuLTMwMDogI2UzZjdlZDtcbiAgLS1jcGQtY29sb3ItZ3JlZW4tNDAwOiAjYzZlZWRiO1xuICAtLWNwZC1jb2xvci1ncmVlbi01MDA6ICM5OGUxYzE7XG4gIC0tY3BkLWNvbG9yLWdyZWVuLTYwMDogIzcxZDdhZTtcbiAgLS1jcGQtY29sb3ItZ3JlZW4tNzAwOiAjMGJjNDkxO1xuICAtLWNwZC1jb2xvci1ncmVlbi04MDA6ICMwMDliNzg7XG4gIC0tY3BkLWNvbG9yLWdyZWVuLTkwMDogIzAwN2E2MTtcbiAgLS1jcGQtY29sb3ItZ3JlZW4tMTAwMDogIzAwNmI1MjtcbiAgLS1jcGQtY29sb3ItZ3JlZW4tMTEwMDogIzAwNWM0NTtcbiAgLS1jcGQtY29sb3ItZ3JlZW4tMTIwMDogIzAwNDkzMztcbiAgLS1jcGQtY29sb3ItZ3JlZW4tMTMwMDogIzAwMzQyMDtcbiAgLS1jcGQtY29sb3ItZ3JlZW4tMTQwMDogIzAwMjMxMTtcbiAgLS1jcGQtY29sb3ItY3lhbi0xMDA6ICNmOGZkZmQ7XG4gIC0tY3BkLWNvbG9yLWN5YW4tMjAwOiAjZjFmYWZiO1xuICAtLWNwZC1jb2xvci1jeWFuLTMwMDogI2UzZjVmODtcbiAgLS1jcGQtY29sb3ItY3lhbi00MDA6ICNjN2VjZjA7XG4gIC0tY3BkLWNvbG9yLWN5YW4tNTAwOiAjOWJkZGU1O1xuICAtLWNwZC1jb2xvci1jeWFuLTYwMDogIzc2ZDFkZDtcbiAgLS1jcGQtY29sb3ItY3lhbi03MDA6ICMxNWJlY2Y7XG4gIC0tY3BkLWNvbG9yLWN5YW4tODAwOiAjMDA5NGMwO1xuICAtLWNwZC1jb2xvci1jeWFuLTkwMDogIzAwNzJhYztcbiAgLS1jcGQtY29sb3ItY3lhbi0xMDAwOiAjMDA2MjljO1xuICAtLWNwZC1jb2xvci1jeWFuLTExMDA6ICMwMDU0OGM7XG4gIC0tY3BkLWNvbG9yLWN5YW4tMTIwMDogIzAwNDA3NztcbiAgLS1jcGQtY29sb3ItY3lhbi0xMzAwOiAjMDAyYjYxO1xuICAtLWNwZC1jb2xvci1jeWFuLTE0MDA6ICMwMDE5NGY7XG4gIC0tY3BkLWNvbG9yLWJsdWUtMTAwOiAjZjlmY2ZmO1xuICAtLWNwZC1jb2xvci1ibHVlLTIwMDogI2Y0ZjhmZjtcbiAgLS1jcGQtY29sb3ItYmx1ZS0zMDA6ICNlOWYyZmY7XG4gIC0tY3BkLWNvbG9yLWJsdWUtNDAwOiAjZDhlN2ZlO1xuICAtLWNwZC1jb2xvci1ibHVlLTUwMDogI2JhZDVmYztcbiAgLS1jcGQtY29sb3ItYmx1ZS02MDA6ICNhM2M2ZmE7XG4gIC0tY3BkLWNvbG9yLWJsdWUtNzAwOiAjN2VhZmY2O1xuICAtLWNwZC1jb2xvci1ibHVlLTgwMDogIzQwODhlZTtcbiAgLS1jcGQtY29sb3ItYmx1ZS05MDA6ICMwNDY3ZGQ7XG4gIC0tY3BkLWNvbG9yLWJsdWUtMTAwMDogIzA1NThjNztcbiAgLS1jcGQtY29sb3ItYmx1ZS0xMTAwOiAjMDY0YWIxO1xuICAtLWNwZC1jb2xvci1ibHVlLTEyMDA6ICMwNDM4OTQ7XG4gIC0tY3BkLWNvbG9yLWJsdWUtMTMwMDogIzAxMjQ3ODtcbiAgLS1jcGQtY29sb3ItYmx1ZS0xNDAwOiAjMDAwZTY1O1xuICAtLWNwZC1jb2xvci1wdXJwbGUtMTAwOiAjZmJmYmZmO1xuICAtLWNwZC1jb2xvci1wdXJwbGUtMjAwOiAjZjhmN2ZmO1xuICAtLWNwZC1jb2xvci1wdXJwbGUtMzAwOiAjZjFlZmZmO1xuICAtLWNwZC1jb2xvci1wdXJwbGUtNDAwOiAjZTZlMmZmO1xuICAtLWNwZC1jb2xvci1wdXJwbGUtNTAwOiAjZDRjZGZmO1xuICAtLWNwZC1jb2xvci1wdXJwbGUtNjAwOiAjYzViYmZmO1xuICAtLWNwZC1jb2xvci1wdXJwbGUtNzAwOiAjYjFhMGZmO1xuICAtLWNwZC1jb2xvci1wdXJwbGUtODAwOiAjOTI3MWZkO1xuICAtLWNwZC1jb2xvci1wdXJwbGUtOTAwOiAjN2E0N2YxO1xuICAtLWNwZC1jb2xvci1wdXJwbGUtMTAwMDogIzZiMzdkZTtcbiAgLS1jcGQtY29sb3ItcHVycGxlLTExMDA6ICM1ZDI2Y2Q7XG4gIC0tY3BkLWNvbG9yLXB1cnBsZS0xMjAwOiAjNGMwNWI1O1xuICAtLWNwZC1jb2xvci1wdXJwbGUtMTMwMDogIzMzMDA4ZDtcbiAgLS1jcGQtY29sb3ItcHVycGxlLTE0MDA6ICMyMDAwNjY7XG4gIC0tY3BkLWNvbG9yLWZ1Y2hzaWEtMTAwOiAjZmVmYWZlO1xuICAtLWNwZC1jb2xvci1mdWNoc2lhLTIwMDogI2ZjZjVmZDtcbiAgLS1jcGQtY29sb3ItZnVjaHNpYS0zMDA6ICNmYWVlZmI7XG4gIC0tY3BkLWNvbG9yLWZ1Y2hzaWEtNDAwOiAjZjZkZmY3O1xuICAtLWNwZC1jb2xvci1mdWNoc2lhLTUwMDogI2VkYzZmMDtcbiAgLS1jcGQtY29sb3ItZnVjaHNpYS02MDA6ICNlN2IyZWE7XG4gIC0tY3BkLWNvbG9yLWZ1Y2hzaWEtNzAwOiAjZGI5M2UxO1xuICAtLWNwZC1jb2xvci1mdWNoc2lhLTgwMDogI2M4NWVkMTtcbiAgLS1jcGQtY29sb3ItZnVjaHNpYS05MDA6ICNhZDMzYmQ7XG4gIC0tY3BkLWNvbG9yLWZ1Y2hzaWEtMTAwMDogIzk3MmFhYTtcbiAgLS1jcGQtY29sb3ItZnVjaHNpYS0xMTAwOiAjODIyMTk4O1xuICAtLWNwZC1jb2xvci1mdWNoc2lhLTEyMDA6ICM2NzE0ODE7XG4gIC0tY3BkLWNvbG9yLWZ1Y2hzaWEtMTMwMDogIzRlMDA2ODtcbiAgLS1jcGQtY29sb3ItZnVjaHNpYS0xNDAwOiAjMzQwMDRjO1xuICAtLWNwZC1jb2xvci1waW5rLTEwMDogI2ZmZmFmYjtcbiAgLS1jcGQtY29sb3ItcGluay0yMDA6ICNmZmY1Zjc7XG4gIC0tY3BkLWNvbG9yLXBpbmstMzAwOiAjZmZlY2YwO1xuICAtLWNwZC1jb2xvci1waW5rLTQwMDogI2ZmZGVlNTtcbiAgLS1jcGQtY29sb3ItcGluay01MDA6ICNmZmMyY2Y7XG4gIC0tY3BkLWNvbG9yLXBpbmstNjAwOiAjZmZhZGMwO1xuICAtLWNwZC1jb2xvci1waW5rLTcwMDogI2ZmODhhNjtcbiAgLS1jcGQtY29sb3ItcGluay04MDA6ICNmNzQwN2Q7XG4gIC0tY3BkLWNvbG9yLXBpbmstOTAwOiAjZDIwYzY1O1xuICAtLWNwZC1jb2xvci1waW5rLTEwMDA6ICNiODBhNWI7XG4gIC0tY3BkLWNvbG9yLXBpbmstMTEwMDogIzlmMDg1MDtcbiAgLS1jcGQtY29sb3ItcGluay0xMjAwOiAjN2UwNjQyO1xuICAtLWNwZC1jb2xvci1waW5rLTEzMDA6ICM1ZjAwMmI7XG4gIC0tY3BkLWNvbG9yLXBpbmstMTQwMDogIzQzMDAxNztcbiAgLS1jcGQtY29sb3ItYWxwaGEtZ3JheS0xMDA6IGhzbGEoMjEwLCA0OCUsIDQxJSwgMC4wMik7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWdyYXktMjAwOiBoc2xhKDIwMCwgNDElLCAzNiUsIDAuMDQpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ncmF5LTMwMDogaHNsYSgyMTYsIDg5JSwgMTglLCAwLjA2KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZ3JheS00MDA6IGhzbGEoMjEzLCA5MCUsIDIwJSwgMC4xMik7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWdyYXktNTAwOiBoc2xhKDIxMiwgODclLCAxNSUsIDAuMik7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWdyYXktNjAwOiBoc2xhKDIxMiwgOTclLCAxMiUsIDAuMjYpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ncmF5LTcwMDogaHNsYSgyMTUsIDk2JSwgMTAlLCAwLjM1KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZ3JheS04MDA6IGhzbGEoMjEzLCA4NyUsIDklLCAwLjUpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ncmF5LTkwMDogaHNsYSgyMTMsIDgzJSwgNyUsIDAuNjEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ncmF5LTEwMDA6IGhzbGEoMjE4LCA3OSUsIDYlLCAwLjY2KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZ3JheS0xMTAwOiBoc2xhKDIxNSwgNzQlLCA1JSwgMC43MSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWdyYXktMTIwMDogaHNsYSgyMTMsIDczJSwgMyUsIDAuNzcpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ncmF5LTEzMDA6IGhzbGEoMjI1LCA1NyUsIDMlLCAwLjg0KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZ3JheS0xNDAwOiBoc2xhKDIyMywgNjQlLCAyJSwgMC45KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcmVkLTEwMDogaHNsYSgxMCwgMTAwJSwgNjElLCAwLjAzKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcmVkLTIwMDogaHNsYSg3LCAxMDAlLCA1NiUsIDAuMDQpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1yZWQtMzAwOiBoc2xhKDksIDEwMCUsIDU0JSwgMC4wOCk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXJlZC00MDA6IGhzbGEoOCwgMTAwJSwgNTIlLCAwLjE1KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcmVkLTUwMDogaHNsYSg4LCAxMDAlLCA1MSUsIDAuMjcpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1yZWQtNjAwOiBoc2xhKDcsIDEwMCUsIDUxJSwgMC4zNik7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXJlZC03MDA6IGhzbGEoNSwgMTAwJSwgNTElLCAwLjUpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1yZWQtODAwOiBoc2xhKDAsIDEwMCUsIDUxJSwgMC43Nyk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXJlZC05MDA6IGhzbGEoMzU1LCA5OCUsIDQxJSwgMC45MSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXJlZC0xMDAwOiBoc2xhKDM1MywgOTglLCAzNyUsIDAuOTUpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1yZWQtMTEwMDogaHNsYSgzNTAsIDk5JSwgMzIlLCAwLjk5KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcmVkLTEyMDA6IGhzbCgzNTcsIDEwMCUsIDI2JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXJlZC0xMzAwOiBoc2woMCwgMTAwJSwgMTklLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcmVkLTE0MDA6IGhzbCgwLCAxMDAlLCAxNCUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1vcmFuZ2UtMTAwOiBoc2xhKDIyLCAxMDAlLCA2MSUsIDAuMDQpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1vcmFuZ2UtMjAwOiBoc2xhKDI2LCAxMDAlLCA1NSUsIDAuMDcpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1vcmFuZ2UtMzAwOiBoc2xhKDI0LCAxMDAlLCA1MiUsIDAuMTEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1vcmFuZ2UtNDAwOiBoc2xhKDI1LCAxMDAlLCA1MSUsIDAuMjIpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1vcmFuZ2UtNTAwOiBoc2xhKDI1LCAxMDAlLCA1MCUsIDAuMzcpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1vcmFuZ2UtNjAwOiBoc2xhKDI2LCA5OCUsIDUwJSwgMC41Mik7XG4gIC0tY3BkLWNvbG9yLWFscGhhLW9yYW5nZS03MDA6IGhzbGEoMjcsIDEwMCUsIDQ4JSwgMC43NSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLW9yYW5nZS04MDA6IGhzbCgyOCwgMTAwJSwgNDMlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtb3JhbmdlLTkwMDogaHNsKDIyLCAxMDAlLCAzNyUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1vcmFuZ2UtMTAwMDogaHNsKDE4LCAxMDAlLCAzNCUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1vcmFuZ2UtMTEwMDogaHNsKDEzLCAxMDAlLCAzMCUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1vcmFuZ2UtMTIwMDogaHNsKDAsIDEwMCUsIDI2JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLW9yYW5nZS0xMzAwOiBoc2woMCwgMTAwJSwgMTklLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtb3JhbmdlLTE0MDA6IGhzbCgwLCAxMDAlLCAxNCUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS15ZWxsb3ctMTAwOiBoc2xhKDQ4LCAxMDAlLCA1MSUsIDAuMDYpO1xuICAtLWNwZC1jb2xvci1hbHBoYS15ZWxsb3ctMjAwOiBoc2xhKDQ2LCAxMDAlLCA1MyUsIDAuMTMpO1xuICAtLWNwZC1jb2xvci1hbHBoYS15ZWxsb3ctMzAwOiBoc2xhKDQ3LCAxMDAlLCA1MSUsIDAuMjUpO1xuICAtLWNwZC1jb2xvci1hbHBoYS15ZWxsb3ctNDAwOiBoc2xhKDQ3LCAxMDAlLCA1MSUsIDAuNDkpO1xuICAtLWNwZC1jb2xvci1hbHBoYS15ZWxsb3ctNTAwOiBoc2woNDksIDEwMCUsIDQ5JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXllbGxvdy02MDA6IGhzbCg0NywgMTAwJSwgNDclLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEteWVsbG93LTcwMDogaHNsKDQ0LCAxMDAlLCA0NCUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS15ZWxsb3ctODAwOiBoc2woMzksIDEwMCUsIDM3JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXllbGxvdy05MDA6IGhzbCgzNCwgMTAwJSwgMzElLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEteWVsbG93LTEwMDA6IGhzbCgzMiwgMTAwJSwgMjglLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEteWVsbG93LTExMDA6IGhzbCgzMCwgMTAwJSwgMjUlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEteWVsbG93LTEyMDA6IGhzbCgyNiwgMTAwJSwgMjElLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEteWVsbG93LTEzMDA6IGhzbCgxOSwgMTAwJSwgMTclLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEteWVsbG93LTE0MDA6IGhzbCg2LCAxMDAlLCAxMyUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1saW1lLTEwMDogaHNsYSgxMDMsIDc1JSwgNDYlLCAwLjA0KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtbGltZS0yMDA6IGhzbGEoMTA3LCA4OSUsIDQ0JSwgMC4wNyk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWxpbWUtMzAwOiBoc2xhKDEwNywgOTglLCA0MSUsIDAuMTUpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1saW1lLTQwMDogaHNsYSgxMDUsIDkyJSwgNDIlLCAwLjI4KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtbGltZS01MDA6IGhzbGEoMTA0LCA5OCUsIDQwJSwgMC41MSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWxpbWUtNjAwOiBoc2xhKDEwMiwgOTclLCA0MSUsIDAuNzEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1saW1lLTcwMDogaHNsYSgxMDIsIDEwMCUsIDM3JSwgMC44Nik7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWxpbWUtODAwOiBoc2xhKDEwNywgOTklLCAyOSUsIDAuOTEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1saW1lLTkwMDogaHNsYSgxMTMsIDk3JSwgMjQlLCAwLjk2KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtbGltZS0xMDAwOiBoc2woMTIwLCAxMDAlLCAyMiUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1saW1lLTExMDA6IGhzbCgxMjAsIDEwMCUsIDE5JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWxpbWUtMTIwMDogaHNsKDEyMCwgMTAwJSwgMTUlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtbGltZS0xMzAwOiBoc2woMTIwLCAxMDAlLCAxMSUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1saW1lLTE0MDA6IGhzbCgxMjAsIDEwMCUsIDclLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZ3JlZW4tMTAwOiBoc2xhKDE1NiwgNzklLCA0MSUsIDAuMDMpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ncmVlbi0yMDA6IGhzbGEoMTUwLCA3OSUsIDQxJSwgMC4wNik7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWdyZWVuLTMwMDogaHNsYSgxNTAsIDEwMCUsIDM2JSwgMC4xMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWdyZWVuLTQwMDogaHNsYSgxNTEsIDkzJSwgMzclLCAwLjIzKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZ3JlZW4tNTAwOiBoc2xhKDE1NCwgOTYlLCAzNyUsIDAuNDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ncmVlbi02MDA6IGhzbGEoMTU2LCA5OSUsIDM2JSwgMC41Nik7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWdyZWVuLTcwMDogaHNsYSgxNjMsIDk5JSwgMzglLCAwLjk2KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZ3JlZW4tODAwOiBoc2woMTY2LCAxMDAlLCAzMCUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ncmVlbi05MDA6IGhzbCgxNjgsIDEwMCUsIDI0JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWdyZWVuLTEwMDA6IGhzbCgxNjYsIDEwMCUsIDIxJSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWdyZWVuLTExMDA6IGhzbCgxNjUsIDEwMCUsIDE4JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWdyZWVuLTEyMDA6IGhzbCgxNjIsIDEwMCUsIDE0JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWdyZWVuLTEzMDA6IGhzbCgxNTcsIDEwMCUsIDEwJSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWdyZWVuLTE0MDA6IGhzbCgxNDksIDEwMCUsIDclLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtY3lhbi0xMDA6IGhzbGEoMTgwLCA3OSUsIDQxJSwgMC4wMyk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWN5YW4tMjAwOiBoc2xhKDE4NiwgNzklLCA0MSUsIDAuMDYpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1jeWFuLTMwMDogaHNsYSgxODgsIDEwMCUsIDM4JSwgMC4xMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWN5YW4tNDAwOiBoc2xhKDE4NiwgMTAwJSwgMzclLCAwLjIyKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtY3lhbi01MDA6IGhzbGEoMTg2LCA5NSUsIDM4JSwgMC40KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtY3lhbi02MDA6IGhzbGEoMTg3LCA5OSUsIDM4JSwgMC41NCk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWN5YW4tNzAwOiBoc2xhKDE4NiwgOTklLCA0MCUsIDAuOTIpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1jeWFuLTgwMDogaHNsKDE5NCwgMTAwJSwgMzglLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtY3lhbi05MDA6IGhzbCgyMDAsIDEwMCUsIDM0JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWN5YW4tMTAwMDogaHNsKDIwMiwgMTAwJSwgMzElLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtY3lhbi0xMTAwOiBoc2woMjA0LCAxMDAlLCAyOCUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1jeWFuLTEyMDA6IGhzbCgyMDgsIDEwMCUsIDIzJSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWN5YW4tMTMwMDogaHNsKDIxMywgMTAwJSwgMTklLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtY3lhbi0xNDAwOiBoc2woMjIxLCAxMDAlLCAxNiUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ibHVlLTEwMDogaHNsYSgyMTAsIDEwMCUsIDYxJSwgMC4wMyk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWJsdWUtMjAwOiBoc2xhKDIxOCwgMTAwJSwgNTclLCAwLjA1KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtYmx1ZS0zMDA6IGhzbGEoMjE1LCAxMDAlLCA1MiUsIDAuMDkpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ibHVlLTQwMDogaHNsYSgyMTYsIDk1JSwgNTElLCAwLjE2KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtYmx1ZS01MDA6IGhzbGEoMjE1LCA5MyUsIDUwJSwgMC4yOCk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWJsdWUtNjAwOiBoc2xhKDIxNiwgOTUlLCA0OCUsIDAuMzcpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ibHVlLTcwMDogaHNsYSgyMTUsIDk4JSwgNDclLCAwLjUxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtYmx1ZS04MDA6IGhzbGEoMjE1LCAxMDAlLCA0NiUsIDAuNzUpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ibHVlLTkwMDogaHNsYSgyMTMsIDk5JSwgNDQlLCAwLjk5KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtYmx1ZS0xMDAwOiBoc2xhKDIxNCwgOTglLCAzOSUsIDAuOTkpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ibHVlLTExMDA6IGhzbGEoMjE2LCA5OSUsIDM1JSwgMC45OCk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWJsdWUtMTIwMDogaHNsYSgyMTgsIDk5JSwgMjklLCAwLjk5KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtYmx1ZS0xMzAwOiBoc2woMjIyLCA5OCUsIDI0JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWJsdWUtMTQwMDogaHNsKDIzMiwgMTAwJSwgMjAlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcHVycGxlLTEwMDogaHNsYSgyNDAsIDEwMCUsIDYxJSwgMC4wMik7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXB1cnBsZS0yMDA6IGhzbGEoMjQ4LCAxMDAlLCA2MSUsIDAuMDQpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1wdXJwbGUtMzAwOiBoc2xhKDI0OCwgMTAwJSwgNTUlLCAwLjA3KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcHVycGxlLTQwMDogaHNsYSgyNDgsIDEwMCUsIDUzJSwgMC4xMik7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXB1cnBsZS01MDA6IGhzbGEoMjQ4LCAxMDAlLCA1MSUsIDAuMik7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXB1cnBsZS02MDA6IGhzbGEoMjQ5LCAxMDAlLCA1MSUsIDAuMjcpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1wdXJwbGUtNzAwOiBoc2xhKDI1MSwgMTAwJSwgNTElLCAwLjM4KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcHVycGxlLTgwMDogaHNsYSgyNTQsIDk5JSwgNDklLCAwLjU2KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcHVycGxlLTkwMDogaHNsYSgyNTgsIDk4JSwgNDclLCAwLjczKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcHVycGxlLTEwMDA6IGhzbGEoMjU5LCA5OCUsIDQyJSwgMC43OSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXB1cnBsZS0xMTAwOiBoc2xhKDI2MCwgOTclLCAzOSUsIDAuODYpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1wdXJwbGUtMTIwMDogaHNsYSgyNjQsIDk4JSwgMzYlLCAwLjk5KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcHVycGxlLTEzMDA6IGhzbCgyNjIsIDEwMCUsIDI4JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXB1cnBsZS0xNDAwOiBoc2woMjU5LCAxMDAlLCAyMCUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1mdWNoc2lhLTEwMDogaHNsYSgzMDAsIDk1JSwgNDElLCAwLjAyKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZnVjaHNpYS0yMDA6IGhzbGEoMjkzLCA5NSUsIDQxJSwgMC4wNCk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWZ1Y2hzaWEtMzAwOiBoc2xhKDI5NSwgODklLCA0MSUsIDAuMDcpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1mdWNoc2lhLTQwMDogaHNsYSgyOTgsIDkxJSwgNDAlLCAwLjEzKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZnVjaHNpYS01MDA6IGhzbGEoMjk2LCA5MyUsIDM5JSwgMC4yMyk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWZ1Y2hzaWEtNjAwOiBoc2xhKDI5NywgOTMlLCAzOCUsIDAuMzEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1mdWNoc2lhLTcwMDogaHNsYSgyOTUsIDk2JSwgMzclLCAwLjQzKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZnVjaHNpYS04MDA6IGhzbGEoMjk1LCA5NyUsIDM3JSwgMC42NCk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWZ1Y2hzaWEtOTAwOiBoc2xhKDI5MywgMTAwJSwgMzQlLCAwLjgpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1mdWNoc2lhLTEwMDA6IGhzbGEoMjkxLCA5OSUsIDMwJSwgMC44NCk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWZ1Y2hzaWEtMTEwMDogaHNsYSgyODksIDk2JSwgMjglLCAwLjg4KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZnVjaHNpYS0xMjAwOiBoc2xhKDI4NiwgOTclLCAyNCUsIDAuOTMpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1mdWNoc2lhLTEzMDA6IGhzbCgyODUsIDEwMCUsIDIwJSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWZ1Y2hzaWEtMTQwMDogaHNsKDI4MSwgMTAwJSwgMTUlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcGluay0xMDA6IGhzbGEoMzQ4LCAxMDAlLCA1MSUsIDAuMDIpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1waW5rLTIwMDogaHNsYSgzNDgsIDEwMCUsIDUxJSwgMC4wNCk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXBpbmstMzAwOiBoc2xhKDM0NywgMTAwJSwgNTQlLCAwLjA4KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcGluay00MDA6IGhzbGEoMzQ3LCAxMDAlLCA1MCUsIDAuMTMpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1waW5rLTUwMDogaHNsYSgzNDcsIDEwMCUsIDUwJSwgMC4yNCk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXBpbmstNjAwOiBoc2xhKDM0NiwgMTAwJSwgNTElLCAwLjMzKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcGluay03MDA6IGhzbGEoMzQ1LCAxMDAlLCA1MCUsIDAuNDcpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1waW5rLTgwMDogaHNsYSgzNDAsIDEwMCUsIDQ4JSwgMC43NSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXBpbmstOTAwOiBoc2xhKDMzMywgOTglLCA0MSUsIDAuOTYpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1waW5rLTEwMDA6IGhzbGEoMzMyLCA5OCUsIDM2JSwgMC45Nyk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXBpbmstMTEwMDogaHNsYSgzMzEsIDEwMCUsIDMxJSwgMC45Nyk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXBpbmstMTIwMDogaHNsYSgzMzAsIDk4JSwgMjQlLCAwLjk4KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcGluay0xMzAwOiBoc2woMzMzLCAxMDAlLCAxOSUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1waW5rLTE0MDA6IGhzbCgzMzksIDEwMCUsIDEzJSwgMSk7XG59XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBsYXllciBjb21wb3VuZCB7XG5cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAocHJlZmVycy1jb2xvci1zY2hlbWU6IGxpZ2h0KSB7XG5cbiAgICAgICAgQGxheWVyIGNwZC1iYXNlIHtcbjpyb290IHtcbiAgLS1jcGQtY29sb3ItdGhlbWUtYmc6ICNmZmZmZmY7XG4gIC0tY3BkLWNvbG9yLWdyYXktMTAwOiAjZmJmY2ZkO1xuICAtLWNwZC1jb2xvci1ncmF5LTIwMDogI2Y3ZjlmYTtcbiAgLS1jcGQtY29sb3ItZ3JheS0zMDA6ICNmMGYyZjU7XG4gIC0tY3BkLWNvbG9yLWdyYXktNDAwOiAjZTFlNmVjO1xuICAtLWNwZC1jb2xvci1ncmF5LTUwMDogI2NkZDNkYTtcbiAgLS1jcGQtY29sb3ItZ3JheS02MDA6ICNiZGM0Y2M7XG4gIC0tY3BkLWNvbG9yLWdyYXktNzAwOiAjYTZhZGI3O1xuICAtLWNwZC1jb2xvci1ncmF5LTgwMDogIzgxOGE5NTtcbiAgLS1jcGQtY29sb3ItZ3JheS05MDA6ICM2NTZkNzc7XG4gIC0tY3BkLWNvbG9yLWdyYXktMTAwMDogIzU5NWU2NztcbiAgLS1jcGQtY29sb3ItZ3JheS0xMTAwOiAjNGM1MTU4O1xuICAtLWNwZC1jb2xvci1ncmF5LTEyMDA6ICMzYzQwNDU7XG4gIC0tY3BkLWNvbG9yLWdyYXktMTMwMDogIzJiMmQzMjtcbiAgLS1jcGQtY29sb3ItZ3JheS0xNDAwOiAjMWIxZDIyO1xuICAtLWNwZC1jb2xvci1yZWQtMTAwOiAjZmZmYWY5O1xuICAtLWNwZC1jb2xvci1yZWQtMjAwOiAjZmZmN2Y2O1xuICAtLWNwZC1jb2xvci1yZWQtMzAwOiAjZmZlZmVjO1xuICAtLWNwZC1jb2xvci1yZWQtNDAwOiAjZmZkZmRhO1xuICAtLWNwZC1jb2xvci1yZWQtNTAwOiAjZmZjNWJjO1xuICAtLWNwZC1jb2xvci1yZWQtNjAwOiAjZmZhZmE1O1xuICAtLWNwZC1jb2xvci1yZWQtNzAwOiAjZmY4YzgxO1xuICAtLWNwZC1jb2xvci1yZWQtODAwOiAjZmYzZDNkO1xuICAtLWNwZC1jb2xvci1yZWQtOTAwOiAjZDUxOTI4O1xuICAtLWNwZC1jb2xvci1yZWQtMTAwMDogI2JjMGYyMjtcbiAgLS1jcGQtY29sb3ItcmVkLTExMDA6ICNhNDA0MWQ7XG4gIC0tY3BkLWNvbG9yLXJlZC0xMjAwOiAjODUwMDA2O1xuICAtLWNwZC1jb2xvci1yZWQtMTMwMDogIzYyMDAwMDtcbiAgLS1jcGQtY29sb3ItcmVkLTE0MDA6ICM0NTAwMDA7XG4gIC0tY3BkLWNvbG9yLW9yYW5nZS0xMDA6ICNmZmZhZjc7XG4gIC0tY3BkLWNvbG9yLW9yYW5nZS0yMDA6ICNmZmY2ZWY7XG4gIC0tY3BkLWNvbG9yLW9yYW5nZS0zMDA6ICNmZmVmZTQ7XG4gIC0tY3BkLWNvbG9yLW9yYW5nZS00MDA6ICNmZmRmYzg7XG4gIC0tY3BkLWNvbG9yLW9yYW5nZS01MDA6ICNmZmM4YTE7XG4gIC0tY3BkLWNvbG9yLW9yYW5nZS02MDA6ICNmZGIzN2M7XG4gIC0tY3BkLWNvbG9yLW9yYW5nZS03MDA6ICNmODk0NDA7XG4gIC0tY3BkLWNvbG9yLW9yYW5nZS04MDA6ICNkYzY3MDA7XG4gIC0tY3BkLWNvbG9yLW9yYW5nZS05MDA6ICNiYzQ1MDA7XG4gIC0tY3BkLWNvbG9yLW9yYW5nZS0xMDAwOiAjYWMzMzAwO1xuICAtLWNwZC1jb2xvci1vcmFuZ2UtMTEwMDogIzliMjIwMDtcbiAgLS1jcGQtY29sb3Itb3JhbmdlLTEyMDA6ICM4NTAwMDA7XG4gIC0tY3BkLWNvbG9yLW9yYW5nZS0xMzAwOiAjNjIwMDAwO1xuICAtLWNwZC1jb2xvci1vcmFuZ2UtMTQwMDogIzQ1MDAwMDtcbiAgLS1jcGQtY29sb3IteWVsbG93LTEwMDogI2ZmZmNmMDtcbiAgLS1jcGQtY29sb3IteWVsbG93LTIwMDogI2ZmZjhlMDtcbiAgLS1jcGQtY29sb3IteWVsbG93LTMwMDogI2ZmZjJjMTtcbiAgLS1jcGQtY29sb3IteWVsbG93LTQwMDogI2ZmZTQ4NDtcbiAgLS1jcGQtY29sb3IteWVsbG93LTUwMDogI2ZiY2UwMDtcbiAgLS1jcGQtY29sb3IteWVsbG93LTYwMDogI2YxYmQwMDtcbiAgLS1jcGQtY29sb3IteWVsbG93LTcwMDogI2RlYTIwMDtcbiAgLS1jcGQtY29sb3IteWVsbG93LTgwMDogI2JlN2EwMDtcbiAgLS1jcGQtY29sb3IteWVsbG93LTkwMDogIzlmNWIwMDtcbiAgLS1jcGQtY29sb3IteWVsbG93LTEwMDA6ICM4ZjRkMDA7XG4gIC0tY3BkLWNvbG9yLXllbGxvdy0xMTAwOiAjODAzZjAwO1xuICAtLWNwZC1jb2xvci15ZWxsb3ctMTIwMDogIzY5MmUwMDtcbiAgLS1jcGQtY29sb3IteWVsbG93LTEzMDA6ICM1NDFhMDA7XG4gIC0tY3BkLWNvbG9yLXllbGxvdy0xNDAwOiAjNDEwNjAwO1xuICAtLWNwZC1jb2xvci1saW1lLTEwMDogI2Y4ZmRmNjtcbiAgLS1jcGQtY29sb3ItbGltZS0yMDA6ICNmMWZjZWU7XG4gIC0tY3BkLWNvbG9yLWxpbWUtMzAwOiAjZTBmOGQ5O1xuICAtLWNwZC1jb2xvci1saW1lLTQwMDogI2M4ZjFiYTtcbiAgLS1jcGQtY29sb3ItbGltZS01MDA6ICM5OWU1N2U7XG4gIC0tY3BkLWNvbG9yLWxpbWUtNjAwOiAjNzZkYjRjO1xuICAtLWNwZC1jb2xvci1saW1lLTcwMDogIzU0YzQyNDtcbiAgLS1jcGQtY29sb3ItbGltZS04MDA6ICMzNTlkMTg7XG4gIC0tY3BkLWNvbG9yLWxpbWUtOTAwOiAjMTk3ZDBjO1xuICAtLWNwZC1jb2xvci1saW1lLTEwMDA6ICMwMDZlMDA7XG4gIC0tY3BkLWNvbG9yLWxpbWUtMTEwMDogIzAwNWYwMDtcbiAgLS1jcGQtY29sb3ItbGltZS0xMjAwOiAjMDA0YjAwO1xuICAtLWNwZC1jb2xvci1saW1lLTEzMDA6ICMwMDM2MDA7XG4gIC0tY3BkLWNvbG9yLWxpbWUtMTQwMDogIzAwMjQwMDtcbiAgLS1jcGQtY29sb3ItZ3JlZW4tMTAwOiAjZjhmZGZiO1xuICAtLWNwZC1jb2xvci1ncmVlbi0yMDA6ICNmMWZiZjY7XG4gIC0tY3BkLWNvbG9yLWdyZWVuLTMwMDogI2UzZjdlZDtcbiAgLS1jcGQtY29sb3ItZ3JlZW4tNDAwOiAjYzZlZWRiO1xuICAtLWNwZC1jb2xvci1ncmVlbi01MDA6ICM5OGUxYzE7XG4gIC0tY3BkLWNvbG9yLWdyZWVuLTYwMDogIzcxZDdhZTtcbiAgLS1jcGQtY29sb3ItZ3JlZW4tNzAwOiAjMGJjNDkxO1xuICAtLWNwZC1jb2xvci1ncmVlbi04MDA6ICMwMDliNzg7XG4gIC0tY3BkLWNvbG9yLWdyZWVuLTkwMDogIzAwN2E2MTtcbiAgLS1jcGQtY29sb3ItZ3JlZW4tMTAwMDogIzAwNmI1MjtcbiAgLS1jcGQtY29sb3ItZ3JlZW4tMTEwMDogIzAwNWM0NTtcbiAgLS1jcGQtY29sb3ItZ3JlZW4tMTIwMDogIzAwNDkzMztcbiAgLS1jcGQtY29sb3ItZ3JlZW4tMTMwMDogIzAwMzQyMDtcbiAgLS1jcGQtY29sb3ItZ3JlZW4tMTQwMDogIzAwMjMxMTtcbiAgLS1jcGQtY29sb3ItY3lhbi0xMDA6ICNmOGZkZmQ7XG4gIC0tY3BkLWNvbG9yLWN5YW4tMjAwOiAjZjFmYWZiO1xuICAtLWNwZC1jb2xvci1jeWFuLTMwMDogI2UzZjVmODtcbiAgLS1jcGQtY29sb3ItY3lhbi00MDA6ICNjN2VjZjA7XG4gIC0tY3BkLWNvbG9yLWN5YW4tNTAwOiAjOWJkZGU1O1xuICAtLWNwZC1jb2xvci1jeWFuLTYwMDogIzc2ZDFkZDtcbiAgLS1jcGQtY29sb3ItY3lhbi03MDA6ICMxNWJlY2Y7XG4gIC0tY3BkLWNvbG9yLWN5YW4tODAwOiAjMDA5NGMwO1xuICAtLWNwZC1jb2xvci1jeWFuLTkwMDogIzAwNzJhYztcbiAgLS1jcGQtY29sb3ItY3lhbi0xMDAwOiAjMDA2MjljO1xuICAtLWNwZC1jb2xvci1jeWFuLTExMDA6ICMwMDU0OGM7XG4gIC0tY3BkLWNvbG9yLWN5YW4tMTIwMDogIzAwNDA3NztcbiAgLS1jcGQtY29sb3ItY3lhbi0xMzAwOiAjMDAyYjYxO1xuICAtLWNwZC1jb2xvci1jeWFuLTE0MDA6ICMwMDE5NGY7XG4gIC0tY3BkLWNvbG9yLWJsdWUtMTAwOiAjZjlmY2ZmO1xuICAtLWNwZC1jb2xvci1ibHVlLTIwMDogI2Y0ZjhmZjtcbiAgLS1jcGQtY29sb3ItYmx1ZS0zMDA6ICNlOWYyZmY7XG4gIC0tY3BkLWNvbG9yLWJsdWUtNDAwOiAjZDhlN2ZlO1xuICAtLWNwZC1jb2xvci1ibHVlLTUwMDogI2JhZDVmYztcbiAgLS1jcGQtY29sb3ItYmx1ZS02MDA6ICNhM2M2ZmE7XG4gIC0tY3BkLWNvbG9yLWJsdWUtNzAwOiAjN2VhZmY2O1xuICAtLWNwZC1jb2xvci1ibHVlLTgwMDogIzQwODhlZTtcbiAgLS1jcGQtY29sb3ItYmx1ZS05MDA6ICMwNDY3ZGQ7XG4gIC0tY3BkLWNvbG9yLWJsdWUtMTAwMDogIzA1NThjNztcbiAgLS1jcGQtY29sb3ItYmx1ZS0xMTAwOiAjMDY0YWIxO1xuICAtLWNwZC1jb2xvci1ibHVlLTEyMDA6ICMwNDM4OTQ7XG4gIC0tY3BkLWNvbG9yLWJsdWUtMTMwMDogIzAxMjQ3ODtcbiAgLS1jcGQtY29sb3ItYmx1ZS0xNDAwOiAjMDAwZTY1O1xuICAtLWNwZC1jb2xvci1wdXJwbGUtMTAwOiAjZmJmYmZmO1xuICAtLWNwZC1jb2xvci1wdXJwbGUtMjAwOiAjZjhmN2ZmO1xuICAtLWNwZC1jb2xvci1wdXJwbGUtMzAwOiAjZjFlZmZmO1xuICAtLWNwZC1jb2xvci1wdXJwbGUtNDAwOiAjZTZlMmZmO1xuICAtLWNwZC1jb2xvci1wdXJwbGUtNTAwOiAjZDRjZGZmO1xuICAtLWNwZC1jb2xvci1wdXJwbGUtNjAwOiAjYzViYmZmO1xuICAtLWNwZC1jb2xvci1wdXJwbGUtNzAwOiAjYjFhMGZmO1xuICAtLWNwZC1jb2xvci1wdXJwbGUtODAwOiAjOTI3MWZkO1xuICAtLWNwZC1jb2xvci1wdXJwbGUtOTAwOiAjN2E0N2YxO1xuICAtLWNwZC1jb2xvci1wdXJwbGUtMTAwMDogIzZiMzdkZTtcbiAgLS1jcGQtY29sb3ItcHVycGxlLTExMDA6ICM1ZDI2Y2Q7XG4gIC0tY3BkLWNvbG9yLXB1cnBsZS0xMjAwOiAjNGMwNWI1O1xuICAtLWNwZC1jb2xvci1wdXJwbGUtMTMwMDogIzMzMDA4ZDtcbiAgLS1jcGQtY29sb3ItcHVycGxlLTE0MDA6ICMyMDAwNjY7XG4gIC0tY3BkLWNvbG9yLWZ1Y2hzaWEtMTAwOiAjZmVmYWZlO1xuICAtLWNwZC1jb2xvci1mdWNoc2lhLTIwMDogI2ZjZjVmZDtcbiAgLS1jcGQtY29sb3ItZnVjaHNpYS0zMDA6ICNmYWVlZmI7XG4gIC0tY3BkLWNvbG9yLWZ1Y2hzaWEtNDAwOiAjZjZkZmY3O1xuICAtLWNwZC1jb2xvci1mdWNoc2lhLTUwMDogI2VkYzZmMDtcbiAgLS1jcGQtY29sb3ItZnVjaHNpYS02MDA6ICNlN2IyZWE7XG4gIC0tY3BkLWNvbG9yLWZ1Y2hzaWEtNzAwOiAjZGI5M2UxO1xuICAtLWNwZC1jb2xvci1mdWNoc2lhLTgwMDogI2M4NWVkMTtcbiAgLS1jcGQtY29sb3ItZnVjaHNpYS05MDA6ICNhZDMzYmQ7XG4gIC0tY3BkLWNvbG9yLWZ1Y2hzaWEtMTAwMDogIzk3MmFhYTtcbiAgLS1jcGQtY29sb3ItZnVjaHNpYS0xMTAwOiAjODIyMTk4O1xuICAtLWNwZC1jb2xvci1mdWNoc2lhLTEyMDA6ICM2NzE0ODE7XG4gIC0tY3BkLWNvbG9yLWZ1Y2hzaWEtMTMwMDogIzRlMDA2ODtcbiAgLS1jcGQtY29sb3ItZnVjaHNpYS0xNDAwOiAjMzQwMDRjO1xuICAtLWNwZC1jb2xvci1waW5rLTEwMDogI2ZmZmFmYjtcbiAgLS1jcGQtY29sb3ItcGluay0yMDA6ICNmZmY1Zjc7XG4gIC0tY3BkLWNvbG9yLXBpbmstMzAwOiAjZmZlY2YwO1xuICAtLWNwZC1jb2xvci1waW5rLTQwMDogI2ZmZGVlNTtcbiAgLS1jcGQtY29sb3ItcGluay01MDA6ICNmZmMyY2Y7XG4gIC0tY3BkLWNvbG9yLXBpbmstNjAwOiAjZmZhZGMwO1xuICAtLWNwZC1jb2xvci1waW5rLTcwMDogI2ZmODhhNjtcbiAgLS1jcGQtY29sb3ItcGluay04MDA6ICNmNzQwN2Q7XG4gIC0tY3BkLWNvbG9yLXBpbmstOTAwOiAjZDIwYzY1O1xuICAtLWNwZC1jb2xvci1waW5rLTEwMDA6ICNiODBhNWI7XG4gIC0tY3BkLWNvbG9yLXBpbmstMTEwMDogIzlmMDg1MDtcbiAgLS1jcGQtY29sb3ItcGluay0xMjAwOiAjN2UwNjQyO1xuICAtLWNwZC1jb2xvci1waW5rLTEzMDA6ICM1ZjAwMmI7XG4gIC0tY3BkLWNvbG9yLXBpbmstMTQwMDogIzQzMDAxNztcbiAgLS1jcGQtY29sb3ItYWxwaGEtZ3JheS0xMDA6IGhzbGEoMjEwLCA0OCUsIDQxJSwgMC4wMik7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWdyYXktMjAwOiBoc2xhKDIwMCwgNDElLCAzNiUsIDAuMDQpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ncmF5LTMwMDogaHNsYSgyMTYsIDg5JSwgMTglLCAwLjA2KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZ3JheS00MDA6IGhzbGEoMjEzLCA5MCUsIDIwJSwgMC4xMik7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWdyYXktNTAwOiBoc2xhKDIxMiwgODclLCAxNSUsIDAuMik7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWdyYXktNjAwOiBoc2xhKDIxMiwgOTclLCAxMiUsIDAuMjYpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ncmF5LTcwMDogaHNsYSgyMTUsIDk2JSwgMTAlLCAwLjM1KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZ3JheS04MDA6IGhzbGEoMjEzLCA4NyUsIDklLCAwLjUpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ncmF5LTkwMDogaHNsYSgyMTMsIDgzJSwgNyUsIDAuNjEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ncmF5LTEwMDA6IGhzbGEoMjE4LCA3OSUsIDYlLCAwLjY2KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZ3JheS0xMTAwOiBoc2xhKDIxNSwgNzQlLCA1JSwgMC43MSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWdyYXktMTIwMDogaHNsYSgyMTMsIDczJSwgMyUsIDAuNzcpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ncmF5LTEzMDA6IGhzbGEoMjI1LCA1NyUsIDMlLCAwLjg0KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZ3JheS0xNDAwOiBoc2xhKDIyMywgNjQlLCAyJSwgMC45KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcmVkLTEwMDogaHNsYSgxMCwgMTAwJSwgNjElLCAwLjAzKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcmVkLTIwMDogaHNsYSg3LCAxMDAlLCA1NiUsIDAuMDQpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1yZWQtMzAwOiBoc2xhKDksIDEwMCUsIDU0JSwgMC4wOCk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXJlZC00MDA6IGhzbGEoOCwgMTAwJSwgNTIlLCAwLjE1KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcmVkLTUwMDogaHNsYSg4LCAxMDAlLCA1MSUsIDAuMjcpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1yZWQtNjAwOiBoc2xhKDcsIDEwMCUsIDUxJSwgMC4zNik7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXJlZC03MDA6IGhzbGEoNSwgMTAwJSwgNTElLCAwLjUpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1yZWQtODAwOiBoc2xhKDAsIDEwMCUsIDUxJSwgMC43Nyk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXJlZC05MDA6IGhzbGEoMzU1LCA5OCUsIDQxJSwgMC45MSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXJlZC0xMDAwOiBoc2xhKDM1MywgOTglLCAzNyUsIDAuOTUpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1yZWQtMTEwMDogaHNsYSgzNTAsIDk5JSwgMzIlLCAwLjk5KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcmVkLTEyMDA6IGhzbCgzNTcsIDEwMCUsIDI2JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXJlZC0xMzAwOiBoc2woMCwgMTAwJSwgMTklLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcmVkLTE0MDA6IGhzbCgwLCAxMDAlLCAxNCUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1vcmFuZ2UtMTAwOiBoc2xhKDIyLCAxMDAlLCA2MSUsIDAuMDQpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1vcmFuZ2UtMjAwOiBoc2xhKDI2LCAxMDAlLCA1NSUsIDAuMDcpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1vcmFuZ2UtMzAwOiBoc2xhKDI0LCAxMDAlLCA1MiUsIDAuMTEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1vcmFuZ2UtNDAwOiBoc2xhKDI1LCAxMDAlLCA1MSUsIDAuMjIpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1vcmFuZ2UtNTAwOiBoc2xhKDI1LCAxMDAlLCA1MCUsIDAuMzcpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1vcmFuZ2UtNjAwOiBoc2xhKDI2LCA5OCUsIDUwJSwgMC41Mik7XG4gIC0tY3BkLWNvbG9yLWFscGhhLW9yYW5nZS03MDA6IGhzbGEoMjcsIDEwMCUsIDQ4JSwgMC43NSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLW9yYW5nZS04MDA6IGhzbCgyOCwgMTAwJSwgNDMlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtb3JhbmdlLTkwMDogaHNsKDIyLCAxMDAlLCAzNyUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1vcmFuZ2UtMTAwMDogaHNsKDE4LCAxMDAlLCAzNCUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1vcmFuZ2UtMTEwMDogaHNsKDEzLCAxMDAlLCAzMCUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1vcmFuZ2UtMTIwMDogaHNsKDAsIDEwMCUsIDI2JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLW9yYW5nZS0xMzAwOiBoc2woMCwgMTAwJSwgMTklLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtb3JhbmdlLTE0MDA6IGhzbCgwLCAxMDAlLCAxNCUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS15ZWxsb3ctMTAwOiBoc2xhKDQ4LCAxMDAlLCA1MSUsIDAuMDYpO1xuICAtLWNwZC1jb2xvci1hbHBoYS15ZWxsb3ctMjAwOiBoc2xhKDQ2LCAxMDAlLCA1MyUsIDAuMTMpO1xuICAtLWNwZC1jb2xvci1hbHBoYS15ZWxsb3ctMzAwOiBoc2xhKDQ3LCAxMDAlLCA1MSUsIDAuMjUpO1xuICAtLWNwZC1jb2xvci1hbHBoYS15ZWxsb3ctNDAwOiBoc2xhKDQ3LCAxMDAlLCA1MSUsIDAuNDkpO1xuICAtLWNwZC1jb2xvci1hbHBoYS15ZWxsb3ctNTAwOiBoc2woNDksIDEwMCUsIDQ5JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXllbGxvdy02MDA6IGhzbCg0NywgMTAwJSwgNDclLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEteWVsbG93LTcwMDogaHNsKDQ0LCAxMDAlLCA0NCUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS15ZWxsb3ctODAwOiBoc2woMzksIDEwMCUsIDM3JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXllbGxvdy05MDA6IGhzbCgzNCwgMTAwJSwgMzElLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEteWVsbG93LTEwMDA6IGhzbCgzMiwgMTAwJSwgMjglLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEteWVsbG93LTExMDA6IGhzbCgzMCwgMTAwJSwgMjUlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEteWVsbG93LTEyMDA6IGhzbCgyNiwgMTAwJSwgMjElLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEteWVsbG93LTEzMDA6IGhzbCgxOSwgMTAwJSwgMTclLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEteWVsbG93LTE0MDA6IGhzbCg2LCAxMDAlLCAxMyUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1saW1lLTEwMDogaHNsYSgxMDMsIDc1JSwgNDYlLCAwLjA0KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtbGltZS0yMDA6IGhzbGEoMTA3LCA4OSUsIDQ0JSwgMC4wNyk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWxpbWUtMzAwOiBoc2xhKDEwNywgOTglLCA0MSUsIDAuMTUpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1saW1lLTQwMDogaHNsYSgxMDUsIDkyJSwgNDIlLCAwLjI4KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtbGltZS01MDA6IGhzbGEoMTA0LCA5OCUsIDQwJSwgMC41MSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWxpbWUtNjAwOiBoc2xhKDEwMiwgOTclLCA0MSUsIDAuNzEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1saW1lLTcwMDogaHNsYSgxMDIsIDEwMCUsIDM3JSwgMC44Nik7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWxpbWUtODAwOiBoc2xhKDEwNywgOTklLCAyOSUsIDAuOTEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1saW1lLTkwMDogaHNsYSgxMTMsIDk3JSwgMjQlLCAwLjk2KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtbGltZS0xMDAwOiBoc2woMTIwLCAxMDAlLCAyMiUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1saW1lLTExMDA6IGhzbCgxMjAsIDEwMCUsIDE5JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWxpbWUtMTIwMDogaHNsKDEyMCwgMTAwJSwgMTUlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtbGltZS0xMzAwOiBoc2woMTIwLCAxMDAlLCAxMSUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1saW1lLTE0MDA6IGhzbCgxMjAsIDEwMCUsIDclLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZ3JlZW4tMTAwOiBoc2xhKDE1NiwgNzklLCA0MSUsIDAuMDMpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ncmVlbi0yMDA6IGhzbGEoMTUwLCA3OSUsIDQxJSwgMC4wNik7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWdyZWVuLTMwMDogaHNsYSgxNTAsIDEwMCUsIDM2JSwgMC4xMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWdyZWVuLTQwMDogaHNsYSgxNTEsIDkzJSwgMzclLCAwLjIzKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZ3JlZW4tNTAwOiBoc2xhKDE1NCwgOTYlLCAzNyUsIDAuNDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ncmVlbi02MDA6IGhzbGEoMTU2LCA5OSUsIDM2JSwgMC41Nik7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWdyZWVuLTcwMDogaHNsYSgxNjMsIDk5JSwgMzglLCAwLjk2KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZ3JlZW4tODAwOiBoc2woMTY2LCAxMDAlLCAzMCUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ncmVlbi05MDA6IGhzbCgxNjgsIDEwMCUsIDI0JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWdyZWVuLTEwMDA6IGhzbCgxNjYsIDEwMCUsIDIxJSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWdyZWVuLTExMDA6IGhzbCgxNjUsIDEwMCUsIDE4JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWdyZWVuLTEyMDA6IGhzbCgxNjIsIDEwMCUsIDE0JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWdyZWVuLTEzMDA6IGhzbCgxNTcsIDEwMCUsIDEwJSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWdyZWVuLTE0MDA6IGhzbCgxNDksIDEwMCUsIDclLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtY3lhbi0xMDA6IGhzbGEoMTgwLCA3OSUsIDQxJSwgMC4wMyk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWN5YW4tMjAwOiBoc2xhKDE4NiwgNzklLCA0MSUsIDAuMDYpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1jeWFuLTMwMDogaHNsYSgxODgsIDEwMCUsIDM4JSwgMC4xMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWN5YW4tNDAwOiBoc2xhKDE4NiwgMTAwJSwgMzclLCAwLjIyKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtY3lhbi01MDA6IGhzbGEoMTg2LCA5NSUsIDM4JSwgMC40KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtY3lhbi02MDA6IGhzbGEoMTg3LCA5OSUsIDM4JSwgMC41NCk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWN5YW4tNzAwOiBoc2xhKDE4NiwgOTklLCA0MCUsIDAuOTIpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1jeWFuLTgwMDogaHNsKDE5NCwgMTAwJSwgMzglLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtY3lhbi05MDA6IGhzbCgyMDAsIDEwMCUsIDM0JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWN5YW4tMTAwMDogaHNsKDIwMiwgMTAwJSwgMzElLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtY3lhbi0xMTAwOiBoc2woMjA0LCAxMDAlLCAyOCUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1jeWFuLTEyMDA6IGhzbCgyMDgsIDEwMCUsIDIzJSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWN5YW4tMTMwMDogaHNsKDIxMywgMTAwJSwgMTklLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtY3lhbi0xNDAwOiBoc2woMjIxLCAxMDAlLCAxNiUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ibHVlLTEwMDogaHNsYSgyMTAsIDEwMCUsIDYxJSwgMC4wMyk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWJsdWUtMjAwOiBoc2xhKDIxOCwgMTAwJSwgNTclLCAwLjA1KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtYmx1ZS0zMDA6IGhzbGEoMjE1LCAxMDAlLCA1MiUsIDAuMDkpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ibHVlLTQwMDogaHNsYSgyMTYsIDk1JSwgNTElLCAwLjE2KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtYmx1ZS01MDA6IGhzbGEoMjE1LCA5MyUsIDUwJSwgMC4yOCk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWJsdWUtNjAwOiBoc2xhKDIxNiwgOTUlLCA0OCUsIDAuMzcpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ibHVlLTcwMDogaHNsYSgyMTUsIDk4JSwgNDclLCAwLjUxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtYmx1ZS04MDA6IGhzbGEoMjE1LCAxMDAlLCA0NiUsIDAuNzUpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ibHVlLTkwMDogaHNsYSgyMTMsIDk5JSwgNDQlLCAwLjk5KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtYmx1ZS0xMDAwOiBoc2xhKDIxNCwgOTglLCAzOSUsIDAuOTkpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ibHVlLTExMDA6IGhzbGEoMjE2LCA5OSUsIDM1JSwgMC45OCk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWJsdWUtMTIwMDogaHNsYSgyMTgsIDk5JSwgMjklLCAwLjk5KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtYmx1ZS0xMzAwOiBoc2woMjIyLCA5OCUsIDI0JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWJsdWUtMTQwMDogaHNsKDIzMiwgMTAwJSwgMjAlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcHVycGxlLTEwMDogaHNsYSgyNDAsIDEwMCUsIDYxJSwgMC4wMik7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXB1cnBsZS0yMDA6IGhzbGEoMjQ4LCAxMDAlLCA2MSUsIDAuMDQpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1wdXJwbGUtMzAwOiBoc2xhKDI0OCwgMTAwJSwgNTUlLCAwLjA3KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcHVycGxlLTQwMDogaHNsYSgyNDgsIDEwMCUsIDUzJSwgMC4xMik7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXB1cnBsZS01MDA6IGhzbGEoMjQ4LCAxMDAlLCA1MSUsIDAuMik7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXB1cnBsZS02MDA6IGhzbGEoMjQ5LCAxMDAlLCA1MSUsIDAuMjcpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1wdXJwbGUtNzAwOiBoc2xhKDI1MSwgMTAwJSwgNTElLCAwLjM4KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcHVycGxlLTgwMDogaHNsYSgyNTQsIDk5JSwgNDklLCAwLjU2KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcHVycGxlLTkwMDogaHNsYSgyNTgsIDk4JSwgNDclLCAwLjczKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcHVycGxlLTEwMDA6IGhzbGEoMjU5LCA5OCUsIDQyJSwgMC43OSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXB1cnBsZS0xMTAwOiBoc2xhKDI2MCwgOTclLCAzOSUsIDAuODYpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1wdXJwbGUtMTIwMDogaHNsYSgyNjQsIDk4JSwgMzYlLCAwLjk5KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcHVycGxlLTEzMDA6IGhzbCgyNjIsIDEwMCUsIDI4JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXB1cnBsZS0xNDAwOiBoc2woMjU5LCAxMDAlLCAyMCUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1mdWNoc2lhLTEwMDogaHNsYSgzMDAsIDk1JSwgNDElLCAwLjAyKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZnVjaHNpYS0yMDA6IGhzbGEoMjkzLCA5NSUsIDQxJSwgMC4wNCk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWZ1Y2hzaWEtMzAwOiBoc2xhKDI5NSwgODklLCA0MSUsIDAuMDcpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1mdWNoc2lhLTQwMDogaHNsYSgyOTgsIDkxJSwgNDAlLCAwLjEzKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZnVjaHNpYS01MDA6IGhzbGEoMjk2LCA5MyUsIDM5JSwgMC4yMyk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWZ1Y2hzaWEtNjAwOiBoc2xhKDI5NywgOTMlLCAzOCUsIDAuMzEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1mdWNoc2lhLTcwMDogaHNsYSgyOTUsIDk2JSwgMzclLCAwLjQzKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZnVjaHNpYS04MDA6IGhzbGEoMjk1LCA5NyUsIDM3JSwgMC42NCk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWZ1Y2hzaWEtOTAwOiBoc2xhKDI5MywgMTAwJSwgMzQlLCAwLjgpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1mdWNoc2lhLTEwMDA6IGhzbGEoMjkxLCA5OSUsIDMwJSwgMC44NCk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWZ1Y2hzaWEtMTEwMDogaHNsYSgyODksIDk2JSwgMjglLCAwLjg4KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZnVjaHNpYS0xMjAwOiBoc2xhKDI4NiwgOTclLCAyNCUsIDAuOTMpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1mdWNoc2lhLTEzMDA6IGhzbCgyODUsIDEwMCUsIDIwJSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWZ1Y2hzaWEtMTQwMDogaHNsKDI4MSwgMTAwJSwgMTUlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcGluay0xMDA6IGhzbGEoMzQ4LCAxMDAlLCA1MSUsIDAuMDIpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1waW5rLTIwMDogaHNsYSgzNDgsIDEwMCUsIDUxJSwgMC4wNCk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXBpbmstMzAwOiBoc2xhKDM0NywgMTAwJSwgNTQlLCAwLjA4KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcGluay00MDA6IGhzbGEoMzQ3LCAxMDAlLCA1MCUsIDAuMTMpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1waW5rLTUwMDogaHNsYSgzNDcsIDEwMCUsIDUwJSwgMC4yNCk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXBpbmstNjAwOiBoc2xhKDM0NiwgMTAwJSwgNTElLCAwLjMzKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcGluay03MDA6IGhzbGEoMzQ1LCAxMDAlLCA1MCUsIDAuNDcpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1waW5rLTgwMDogaHNsYSgzNDAsIDEwMCUsIDQ4JSwgMC43NSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXBpbmstOTAwOiBoc2xhKDMzMywgOTglLCA0MSUsIDAuOTYpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1waW5rLTEwMDA6IGhzbGEoMzMyLCA5OCUsIDM2JSwgMC45Nyk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXBpbmstMTEwMDogaHNsYSgzMzEsIDEwMCUsIDMxJSwgMC45Nyk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXBpbmstMTIwMDogaHNsYSgzMzAsIDk4JSwgMjQlLCAwLjk4KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcGluay0xMzAwOiBoc2woMzMzLCAxMDAlLCAxOSUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1waW5rLTE0MDA6IGhzbCgzMzksIDEwMCUsIDEzJSwgMSk7XG59XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBsYXllciBjb21wb3VuZCB7XG5cbiAgICBAbWVkaWEgc2NyZWVuIHtcblxuICAgICAgICBAbGF5ZXIgY3BkLXNlbWFudGljIHtcbi5jcGQtdGhlbWUtbGlnaHQuY3BkLXRoZW1lLWxpZ2h0IHtcbiAgLS1jcGQtY29sb3ItYmctY2FudmFzLWRlZmF1bHQtbGV2ZWwtMTogdmFyKC0tY3BkLWNvbG9yLXRoZW1lLWJnKTtcbiAgLS1jcGQtY29sb3ItYmctc3VidGxlLXNlY29uZGFyeS1sZXZlbC0wOiB2YXIoLS1jcGQtY29sb3ItZ3JheS0zMDApO1xufVxuICAgICAgICB9XG4gICAgfVxufVxuXG5AbGF5ZXIgY29tcG91bmQge1xuXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKHByZWZlcnMtY29sb3Itc2NoZW1lOiBsaWdodCkge1xuXG4gICAgICAgIEBsYXllciBjcGQtc2VtYW50aWMge1xuOnJvb3Qge1xuICAtLWNwZC1jb2xvci1iZy1jYW52YXMtZGVmYXVsdC1sZXZlbC0xOiB2YXIoLS1jcGQtY29sb3ItdGhlbWUtYmcpO1xuICAtLWNwZC1jb2xvci1iZy1zdWJ0bGUtc2Vjb25kYXJ5LWxldmVsLTA6IHZhcigtLWNwZC1jb2xvci1ncmF5LTMwMCk7XG59XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBsYXllciBjb21wb3VuZCB7XG5cbiAgICBAbWVkaWEgc2NyZWVuIHtcblxuICAgICAgICBAbGF5ZXIgY3BkLWJhc2Uge1xuLmNwZC10aGVtZS1saWdodC1oYy5jcGQtdGhlbWUtbGlnaHQtaGMge1xuICAtLWNwZC1jb2xvci10aGVtZS1iZzogI2ZmZmZmZjtcbiAgLS1jcGQtY29sb3ItZ3JheS0xMDA6ICNmN2Y5ZmE7XG4gIC0tY3BkLWNvbG9yLWdyYXktMjAwOiAjZjBmMmY1O1xuICAtLWNwZC1jb2xvci1ncmF5LTMwMDogI2UxZTZlYztcbiAgLS1jcGQtY29sb3ItZ3JheS00MDA6ICNkN2RjZTM7XG4gIC0tY3BkLWNvbG9yLWdyYXktNTAwOiAjYmRjNGNjO1xuICAtLWNwZC1jb2xvci1ncmF5LTYwMDogI2E2YWRiNztcbiAgLS1jcGQtY29sb3ItZ3JheS03MDA6ICM4NzhmOWI7XG4gIC0tY3BkLWNvbG9yLWdyYXktODAwOiAjNmM3MzdlO1xuICAtLWNwZC1jb2xvci1ncmF5LTkwMDogIzQ3NGE1MTtcbiAgLS1jcGQtY29sb3ItZ3JheS0xMDAwOiAjM2Y0MjQ4O1xuICAtLWNwZC1jb2xvci1ncmF5LTExMDA6ICMzNTM4M2Q7XG4gIC0tY3BkLWNvbG9yLWdyYXktMTIwMDogIzJkMzAzNDtcbiAgLS1jcGQtY29sb3ItZ3JheS0xMzAwOiAjMWYyMTI2O1xuICAtLWNwZC1jb2xvci1ncmF5LTE0MDA6ICMxYTFjMjE7XG4gIC0tY3BkLWNvbG9yLXJlZC0xMDA6ICNmZmY3ZjY7XG4gIC0tY3BkLWNvbG9yLXJlZC0yMDA6ICNmZmVmZWM7XG4gIC0tY3BkLWNvbG9yLXJlZC0zMDA6ICNmZmRmZGE7XG4gIC0tY3BkLWNvbG9yLXJlZC00MDA6ICNmZmQxY2E7XG4gIC0tY3BkLWNvbG9yLXJlZC01MDA6ICNmZmFmYTU7XG4gIC0tY3BkLWNvbG9yLXJlZC02MDA6ICNmZjhjODE7XG4gIC0tY3BkLWNvbG9yLXJlZC03MDA6ICNmZjRlNDk7XG4gIC0tY3BkLWNvbG9yLXJlZC04MDA6ICNlMTFlMmE7XG4gIC0tY3BkLWNvbG9yLXJlZC05MDA6ICM5OTAwMWE7XG4gIC0tY3BkLWNvbG9yLXJlZC0xMDAwOiAjOGIwMDBjO1xuICAtLWNwZC1jb2xvci1yZWQtMTEwMDogIzc3MDAwMDtcbiAgLS1jcGQtY29sb3ItcmVkLTEyMDA6ICM2NzAwMDA7XG4gIC0tY3BkLWNvbG9yLXJlZC0xMzAwOiAjNGMwMDAwO1xuICAtLWNwZC1jb2xvci1yZWQtMTQwMDogIzQyMDAwMDtcbiAgLS1jcGQtY29sb3Itb3JhbmdlLTEwMDogI2ZmZjZlZjtcbiAgLS1jcGQtY29sb3Itb3JhbmdlLTIwMDogI2ZmZWZlNDtcbiAgLS1jcGQtY29sb3Itb3JhbmdlLTMwMDogI2ZmZGZjODtcbiAgLS1jcGQtY29sb3Itb3JhbmdlLTQwMDogI2ZmZDRiNTtcbiAgLS1jcGQtY29sb3Itb3JhbmdlLTUwMDogI2ZkYjM3YztcbiAgLS1jcGQtY29sb3Itb3JhbmdlLTYwMDogI2Y4OTQ0MDtcbiAgLS1jcGQtY29sb3Itb3JhbmdlLTcwMDogI2UyNmUwMDtcbiAgLS1jcGQtY29sb3Itb3JhbmdlLTgwMDogI2M0NGQwMDtcbiAgLS1jcGQtY29sb3Itb3JhbmdlLTkwMDogIzkzMTcwMDtcbiAgLS1jcGQtY29sb3Itb3JhbmdlLTEwMDA6ICM4OTA4MDA7XG4gIC0tY3BkLWNvbG9yLW9yYW5nZS0xMTAwOiAjNzcwMDAwO1xuICAtLWNwZC1jb2xvci1vcmFuZ2UtMTIwMDogIzY3MDAwMDtcbiAgLS1jcGQtY29sb3Itb3JhbmdlLTEzMDA6ICM0YzAwMDA7XG4gIC0tY3BkLWNvbG9yLW9yYW5nZS0xNDAwOiAjNDIwMDAwO1xuICAtLWNwZC1jb2xvci15ZWxsb3ctMTAwOiAjZmZmOGUwO1xuICAtLWNwZC1jb2xvci15ZWxsb3ctMjAwOiAjZmZmMmMxO1xuICAtLWNwZC1jb2xvci15ZWxsb3ctMzAwOiAjZmZlNDg0O1xuICAtLWNwZC1jb2xvci15ZWxsb3ctNDAwOiAjZmZkYTQ5O1xuICAtLWNwZC1jb2xvci15ZWxsb3ctNTAwOiAjZjFiZDAwO1xuICAtLWNwZC1jb2xvci15ZWxsb3ctNjAwOiAjZGVhMjAwO1xuICAtLWNwZC1jb2xvci15ZWxsb3ctNzAwOiAjYzM4MTAwO1xuICAtLWNwZC1jb2xvci15ZWxsb3ctODAwOiAjYTc2MzAwO1xuICAtLWNwZC1jb2xvci15ZWxsb3ctOTAwOiAjNzczODAwO1xuICAtLWNwZC1jb2xvci15ZWxsb3ctMTAwMDogIzZlMzEwMDtcbiAgLS1jcGQtY29sb3IteWVsbG93LTExMDA6ICM2MTI2MDA7XG4gIC0tY3BkLWNvbG9yLXllbGxvdy0xMjAwOiAjNTcxZDAwO1xuICAtLWNwZC1jb2xvci15ZWxsb3ctMTMwMDogIzQ1MGMwMDtcbiAgLS1jcGQtY29sb3IteWVsbG93LTE0MDA6ICMzZjA1MDA7XG4gIC0tY3BkLWNvbG9yLWxpbWUtMTAwOiAjZjFmY2VlO1xuICAtLWNwZC1jb2xvci1saW1lLTIwMDogI2UwZjhkOTtcbiAgLS1jcGQtY29sb3ItbGltZS0zMDA6ICNjOGYxYmE7XG4gIC0tY3BkLWNvbG9yLWxpbWUtNDAwOiAjYWZlYjliO1xuICAtLWNwZC1jb2xvci1saW1lLTUwMDogIzc2ZGI0YztcbiAgLS1jcGQtY29sb3ItbGltZS02MDA6ICM1NGM0MjQ7XG4gIC0tY3BkLWNvbG9yLWxpbWUtNzAwOiAjM2FhMzFhO1xuICAtLWNwZC1jb2xvci1saW1lLTgwMDogIzFmODUwZjtcbiAgLS1jcGQtY29sb3ItbGltZS05MDA6ICMwMDU3MDA7XG4gIC0tY3BkLWNvbG9yLWxpbWUtMTAwMDogIzAwNGYwMDtcbiAgLS1jcGQtY29sb3ItbGltZS0xMTAwOiAjMDA0MjAwO1xuICAtLWNwZC1jb2xvci1saW1lLTEyMDA6ICMwMDM5MDA7XG4gIC0tY3BkLWNvbG9yLWxpbWUtMTMwMDogIzAwMjkwMDtcbiAgLS1jcGQtY29sb3ItbGltZS0xNDAwOiAjMDAyMjAwO1xuICAtLWNwZC1jb2xvci1ncmVlbi0xMDA6ICNmMWZiZjY7XG4gIC0tY3BkLWNvbG9yLWdyZWVuLTIwMDogI2UzZjdlZDtcbiAgLS1jcGQtY29sb3ItZ3JlZW4tMzAwOiAjYzZlZWRiO1xuICAtLWNwZC1jb2xvci1ncmVlbi00MDA6ICNhZmU4Y2U7XG4gIC0tY3BkLWNvbG9yLWdyZWVuLTUwMDogIzcxZDdhZTtcbiAgLS1jcGQtY29sb3ItZ3JlZW4tNjAwOiAjMGJjNDkxO1xuICAtLWNwZC1jb2xvci1ncmVlbi03MDA6ICMwMGEyN2M7XG4gIC0tY3BkLWNvbG9yLWdyZWVuLTgwMDogIzAwODI2ODtcbiAgLS1jcGQtY29sb3ItZ3JlZW4tOTAwOiAjMDA1NTNkO1xuICAtLWNwZC1jb2xvci1ncmVlbi0xMDAwOiAjMDA0ZDM2O1xuICAtLWNwZC1jb2xvci1ncmVlbi0xMTAwOiAjMDA0MDJiO1xuICAtLWNwZC1jb2xvci1ncmVlbi0xMjAwOiAjMDAzNzIzO1xuICAtLWNwZC1jb2xvci1ncmVlbi0xMzAwOiAjMDAyNzE1O1xuICAtLWNwZC1jb2xvci1ncmVlbi0xNDAwOiAjMDAyMTBmO1xuICAtLWNwZC1jb2xvci1jeWFuLTEwMDogI2YxZmFmYjtcbiAgLS1jcGQtY29sb3ItY3lhbi0yMDA6ICNlM2Y1Zjg7XG4gIC0tY3BkLWNvbG9yLWN5YW4tMzAwOiAjYzdlY2YwO1xuICAtLWNwZC1jb2xvci1jeWFuLTQwMDogI2IxZTRlYjtcbiAgLS1jcGQtY29sb3ItY3lhbi01MDA6ICM3NmQxZGQ7XG4gIC0tY3BkLWNvbG9yLWN5YW4tNjAwOiAjMTViZWNmO1xuICAtLWNwZC1jb2xvci1jeWFuLTcwMDogIzAwOWFjMztcbiAgLS1jcGQtY29sb3ItY3lhbi04MDA6ICMwMDdhYjM7XG4gIC0tY3BkLWNvbG9yLWN5YW4tOTAwOiAjMDA0Yzg0O1xuICAtLWNwZC1jb2xvci1jeWFuLTEwMDA6ICMwMDQ0N2I7XG4gIC0tY3BkLWNvbG9yLWN5YW4tMTEwMDogIzAwMzc2ZTtcbiAgLS1jcGQtY29sb3ItY3lhbi0xMjAwOiAjMDAyZTY0O1xuICAtLWNwZC1jb2xvci1jeWFuLTEzMDA6ICMwMDFlNTM7XG4gIC0tY3BkLWNvbG9yLWN5YW4tMTQwMDogIzAwMTc0ZDtcbiAgLS1jcGQtY29sb3ItYmx1ZS0xMDA6ICNmNGY4ZmY7XG4gIC0tY3BkLWNvbG9yLWJsdWUtMjAwOiAjZTlmMmZmO1xuICAtLWNwZC1jb2xvci1ibHVlLTMwMDogI2Q4ZTdmZTtcbiAgLS1jcGQtY29sb3ItYmx1ZS00MDA6ICNjOGRkZmQ7XG4gIC0tY3BkLWNvbG9yLWJsdWUtNTAwOiAjYTNjNmZhO1xuICAtLWNwZC1jb2xvci1ibHVlLTYwMDogIzdlYWZmNjtcbiAgLS1jcGQtY29sb3ItYmx1ZS03MDA6ICM0YThlZjA7XG4gIC0tY3BkLWNvbG9yLWJsdWUtODAwOiAjMDQ2ZWU4O1xuICAtLWNwZC1jb2xvci1ibHVlLTkwMDogIzA1NDNhNztcbiAgLS1jcGQtY29sb3ItYmx1ZS0xMDAwOiAjMDUzYjlhO1xuICAtLWNwZC1jb2xvci1ibHVlLTExMDA6ICMwNDMwODg7XG4gIC0tY3BkLWNvbG9yLWJsdWUtMTIwMDogIzAzMjc3YjtcbiAgLS1jcGQtY29sb3ItYmx1ZS0xMzAwOiAjMDAxNTY5O1xuICAtLWNwZC1jb2xvci1ibHVlLTE0MDA6ICMwMDBjNjM7XG4gIC0tY3BkLWNvbG9yLXB1cnBsZS0xMDA6ICNmOGY3ZmY7XG4gIC0tY3BkLWNvbG9yLXB1cnBsZS0yMDA6ICNmMWVmZmY7XG4gIC0tY3BkLWNvbG9yLXB1cnBsZS0zMDA6ICNlNmUyZmY7XG4gIC0tY3BkLWNvbG9yLXB1cnBsZS00MDA6ICNkZGQ4ZmY7XG4gIC0tY3BkLWNvbG9yLXB1cnBsZS01MDA6ICNjNWJiZmY7XG4gIC0tY3BkLWNvbG9yLXB1cnBsZS02MDA6ICNiMWEwZmY7XG4gIC0tY3BkLWNvbG9yLXB1cnBsZS03MDA6ICM5Nzc4ZmU7XG4gIC0tY3BkLWNvbG9yLXB1cnBsZS04MDA6ICM4MjRlZjk7XG4gIC0tY3BkLWNvbG9yLXB1cnBsZS05MDA6ICM1NzFjYzQ7XG4gIC0tY3BkLWNvbG9yLXB1cnBsZS0xMDAwOiAjNGYwZGJhO1xuICAtLWNwZC1jb2xvci1wdXJwbGUtMTEwMDogIzQyMDBhNjtcbiAgLS1jcGQtY29sb3ItcHVycGxlLTEyMDA6ICMzNjAwOTQ7XG4gIC0tY3BkLWNvbG9yLXB1cnBsZS0xMzAwOiAjMjQwMDcwO1xuICAtLWNwZC1jb2xvci1wdXJwbGUtMTQwMDogIzFmMDA2MjtcbiAgLS1jcGQtY29sb3ItZnVjaHNpYS0xMDA6ICNmY2Y1ZmQ7XG4gIC0tY3BkLWNvbG9yLWZ1Y2hzaWEtMjAwOiAjZmFlZWZiO1xuICAtLWNwZC1jb2xvci1mdWNoc2lhLTMwMDogI2Y2ZGZmNztcbiAgLS1jcGQtY29sb3ItZnVjaHNpYS00MDA6ICNmMWQyZjM7XG4gIC0tY3BkLWNvbG9yLWZ1Y2hzaWEtNTAwOiAjZTdiMmVhO1xuICAtLWNwZC1jb2xvci1mdWNoc2lhLTYwMDogI2RiOTNlMTtcbiAgLS1jcGQtY29sb3ItZnVjaHNpYS03MDA6ICNjYjY4ZDQ7XG4gIC0tY3BkLWNvbG9yLWZ1Y2hzaWEtODAwOiAjYjkzN2M2O1xuICAtLWNwZC1jb2xvci1mdWNoc2lhLTkwMDogIzc4MWM5MDtcbiAgLS1jcGQtY29sb3ItZnVjaHNpYS0xMDAwOiAjNmMxNzg1O1xuICAtLWNwZC1jb2xvci1mdWNoc2lhLTExMDA6ICM1YzBmNzY7XG4gIC0tY3BkLWNvbG9yLWZ1Y2hzaWEtMTIwMDogIzUyMDI2YztcbiAgLS1jcGQtY29sb3ItZnVjaHNpYS0xMzAwOiAjM2IwMDUzO1xuICAtLWNwZC1jb2xvci1mdWNoc2lhLTE0MDA6ICMzMjAwNGE7XG4gIC0tY3BkLWNvbG9yLXBpbmstMTAwOiAjZmZmNWY3O1xuICAtLWNwZC1jb2xvci1waW5rLTIwMDogI2ZmZWNmMDtcbiAgLS1jcGQtY29sb3ItcGluay0zMDA6ICNmZmRlZTU7XG4gIC0tY3BkLWNvbG9yLXBpbmstNDAwOiAjZmZkMGRhO1xuICAtLWNwZC1jb2xvci1waW5rLTUwMDogI2ZmYWRjMDtcbiAgLS1jcGQtY29sb3ItcGluay02MDA6ICNmZjg4YTY7XG4gIC0tY3BkLWNvbG9yLXBpbmstNzAwOiAjZjk0ZTg0O1xuICAtLWNwZC1jb2xvci1waW5rLTgwMDogI2UwMGM2YTtcbiAgLS1jcGQtY29sb3ItcGluay05MDA6ICM5MjA4NGI7XG4gIC0tY3BkLWNvbG9yLXBpbmstMTAwMDogIzg0MDc0NTtcbiAgLS1jcGQtY29sb3ItcGluay0xMTAwOiAjNzIwMDNhO1xuICAtLWNwZC1jb2xvci1waW5rLTEyMDA6ICM2NDAwMmY7XG4gIC0tY3BkLWNvbG9yLXBpbmstMTMwMDogIzRhMDAxYztcbiAgLS1jcGQtY29sb3ItcGluay0xNDAwOiAjNDEwMDE1O1xuICAtLWNwZC1jb2xvci1hbHBoYS1ncmF5LTEwMDogaHNsYSgyMDAsIDQxJSwgMzYlLCAwLjA0KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZ3JheS0yMDA6IGhzbGEoMjE2LCA4OSUsIDE4JSwgMC4wNik7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWdyYXktMzAwOiBoc2xhKDIxMywgOTAlLCAyMCUsIDAuMTIpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ncmF5LTQwMDogaHNsYSgyMTUsIDg4JSwgMTclLCAwLjE2KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZ3JheS01MDA6IGhzbGEoMjEyLCA5NyUsIDEyJSwgMC4yNik7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWdyYXktNjAwOiBoc2xhKDIxNSwgOTYlLCAxMCUsIDAuMzUpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ncmF5LTcwMDogaHNsYSgyMTYsIDgxJSwgMTAlLCAwLjQ4KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZ3JheS04MDA6IGhzbGEoMjE3LCA4OSUsIDclLCAwLjU4KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZ3JheS05MDA6IGhzbGEoMjIzLCA3MCUsIDQlLCAwLjczKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZ3JheS0xMDAwOiBoc2xhKDIyMCwgNzUlLCAzJSwgMC43Nik7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWdyYXktMTEwMDogaHNsYSgyMjIsIDYzJSwgMyUsIDAuOCk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWdyYXktMTIwMDogaHNsYSgyMTAsIDY3JSwgMiUsIDAuODMpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ncmF5LTEzMDA6IGhzbGEoMjE4LCAxMDAlLCAyJSwgMC44OCk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWdyYXktMTQwMDogaHNsYSgyMjMsIDc4JSwgMiUsIDAuOSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXJlZC0xMDA6IGhzbGEoNywgMTAwJSwgNTYlLCAwLjA0KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcmVkLTIwMDogaHNsYSg5LCAxMDAlLCA1NCUsIDAuMDgpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1yZWQtMzAwOiBoc2xhKDgsIDEwMCUsIDUyJSwgMC4xNSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXJlZC00MDA6IGhzbGEoOCwgMTAwJSwgNTElLCAwLjIxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcmVkLTUwMDogaHNsYSg3LCAxMDAlLCA1MSUsIDAuMzYpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1yZWQtNjAwOiBoc2xhKDUsIDEwMCUsIDUxJSwgMC41KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcmVkLTcwMDogaHNsYSgyLCAxMDAlLCA1MCUsIDAuNzIpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1yZWQtODAwOiBoc2xhKDM1NiwgOTglLCA0NCUsIDAuODkpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1yZWQtOTAwOiBoc2woMzUwLCAxMDAlLCAzMCUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1yZWQtMTAwMDogaHNsKDM1NSwgMTAwJSwgMjclLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcmVkLTExMDA6IGhzbCgwLCAxMDAlLCAyMyUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1yZWQtMTIwMDogaHNsKDAsIDEwMCUsIDIwJSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXJlZC0xMzAwOiBoc2woMCwgMTAwJSwgMTUlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcmVkLTE0MDA6IGhzbCgwLCAxMDAlLCAxMyUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1vcmFuZ2UtMTAwOiBoc2xhKDI2LCAxMDAlLCA1NSUsIDAuMDcpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1vcmFuZ2UtMjAwOiBoc2xhKDI0LCAxMDAlLCA1MiUsIDAuMTEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1vcmFuZ2UtMzAwOiBoc2xhKDI1LCAxMDAlLCA1MSUsIDAuMjIpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1vcmFuZ2UtNDAwOiBoc2xhKDI1LCAxMDAlLCA1MiUsIDAuMyk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLW9yYW5nZS01MDA6IGhzbGEoMjYsIDk4JSwgNTAlLCAwLjUyKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtb3JhbmdlLTYwMDogaHNsYSgyNywgMTAwJSwgNDglLCAwLjc1KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtb3JhbmdlLTcwMDogaHNsKDI5LCAxMDAlLCA0NCUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1vcmFuZ2UtODAwOiBoc2woMjQsIDEwMCUsIDM4JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLW9yYW5nZS05MDA6IGhzbCg5LCAxMDAlLCAyOSUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1vcmFuZ2UtMTAwMDogaHNsKDQsIDEwMCUsIDI3JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLW9yYW5nZS0xMTAwOiBoc2woMCwgMTAwJSwgMjMlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtb3JhbmdlLTEyMDA6IGhzbCgwLCAxMDAlLCAyMCUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1vcmFuZ2UtMTMwMDogaHNsKDAsIDEwMCUsIDE1JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLW9yYW5nZS0xNDAwOiBoc2woMCwgMTAwJSwgMTMlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEteWVsbG93LTEwMDogaHNsYSg0NiwgMTAwJSwgNTMlLCAwLjEzKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEteWVsbG93LTIwMDogaHNsYSg0NywgMTAwJSwgNTElLCAwLjI1KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEteWVsbG93LTMwMDogaHNsYSg0NywgMTAwJSwgNTElLCAwLjQ5KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEteWVsbG93LTQwMDogaHNsYSg0OCwgMTAwJSwgNTAlLCAwLjcyKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEteWVsbG93LTUwMDogaHNsKDQ3LCAxMDAlLCA0NyUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS15ZWxsb3ctNjAwOiBoc2woNDQsIDEwMCUsIDQ0JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXllbGxvdy03MDA6IGhzbCg0MCwgMTAwJSwgMzglLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEteWVsbG93LTgwMDogaHNsKDM2LCAxMDAlLCAzMyUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS15ZWxsb3ctOTAwOiBoc2woMjgsIDEwMCUsIDIzJSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXllbGxvdy0xMDAwOiBoc2woMjcsIDEwMCUsIDIyJSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXllbGxvdy0xMTAwOiBoc2woMjQsIDEwMCUsIDE5JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXllbGxvdy0xMjAwOiBoc2woMjAsIDEwMCUsIDE3JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXllbGxvdy0xMzAwOiBoc2woMTAsIDEwMCUsIDE0JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXllbGxvdy0xNDAwOiBoc2woNSwgMTAwJSwgMTIlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtbGltZS0xMDA6IGhzbGEoMTA3LCA4OSUsIDQ0JSwgMC4wNyk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWxpbWUtMjAwOiBoc2xhKDEwNywgOTglLCA0MSUsIDAuMTUpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1saW1lLTMwMDogaHNsYSgxMDUsIDkyJSwgNDIlLCAwLjI4KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtbGltZS00MDA6IGhzbGEoMTA1LCA5NSUsIDQxJSwgMC40KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtbGltZS01MDA6IGhzbGEoMTAyLCA5NyUsIDQxJSwgMC43MSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWxpbWUtNjAwOiBoc2xhKDEwMiwgMTAwJSwgMzclLCAwLjg2KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtbGltZS03MDA6IGhzbGEoMTA2LCA5OSUsIDMwJSwgMC45KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtbGltZS04MDA6IGhzbGEoMTEyLCA5NyUsIDI1JSwgMC45NSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWxpbWUtOTAwOiBoc2woMTIwLCAxMDAlLCAxNyUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1saW1lLTEwMDA6IGhzbCgxMjAsIDEwMCUsIDE2JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWxpbWUtMTEwMDogaHNsKDEyMCwgMTAwJSwgMTMlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtbGltZS0xMjAwOiBoc2woMTIwLCAxMDAlLCAxMSUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1saW1lLTEzMDA6IGhzbCgxMjAsIDEwMCUsIDglLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtbGltZS0xNDAwOiBoc2woMTIwLCAxMDAlLCA3JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWdyZWVuLTEwMDogaHNsYSgxNTAsIDc5JSwgNDElLCAwLjA2KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZ3JlZW4tMjAwOiBoc2xhKDE1MCwgMTAwJSwgMzYlLCAwLjExKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZ3JlZW4tMzAwOiBoc2xhKDE1MSwgOTMlLCAzNyUsIDAuMjMpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ncmVlbi00MDA6IGhzbGEoMTUzLCA5NSUsIDM3JSwgMC4zMik7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWdyZWVuLTUwMDogaHNsYSgxNTYsIDk5JSwgMzYlLCAwLjU2KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZ3JlZW4tNjAwOiBoc2xhKDE2MywgOTklLCAzOCUsIDAuOTYpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ncmVlbi03MDA6IGhzbCgxNjYsIDEwMCUsIDMyJSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWdyZWVuLTgwMDogaHNsKDE2OCwgMTAwJSwgMjYlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZ3JlZW4tOTAwOiBoc2woMTYzLCAxMDAlLCAxNyUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ncmVlbi0xMDAwOiBoc2woMTYyLCAxMDAlLCAxNSUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ncmVlbi0xMTAwOiBoc2woMTYwLCAxMDAlLCAxMyUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ncmVlbi0xMjAwOiBoc2woMTU4LCAxMDAlLCAxMSUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ncmVlbi0xMzAwOiBoc2woMTUyLCAxMDAlLCA4JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWdyZWVuLTE0MDA6IGhzbCgxNDcsIDEwMCUsIDclLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtY3lhbi0xMDA6IGhzbGEoMTg2LCA3OSUsIDQxJSwgMC4wNik7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWN5YW4tMjAwOiBoc2xhKDE4OCwgMTAwJSwgMzglLCAwLjExKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtY3lhbi0zMDA6IGhzbGEoMTg2LCAxMDAlLCAzNyUsIDAuMjIpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1jeWFuLTQwMDogaHNsYSgxODcsIDk3JSwgMzglLCAwLjMxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtY3lhbi01MDA6IGhzbGEoMTg3LCA5OSUsIDM4JSwgMC41NCk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWN5YW4tNjAwOiBoc2xhKDE4NiwgOTklLCA0MCUsIDAuOTIpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1jeWFuLTcwMDogaHNsKDE5MywgMTAwJSwgMzglLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtY3lhbi04MDA6IGhzbCgxOTksIDEwMCUsIDM1JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWN5YW4tOTAwOiBoc2woMjA1LCAxMDAlLCAyNiUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1jeWFuLTEwMDA6IGhzbCgyMDcsIDEwMCUsIDI0JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWN5YW4tMTEwMDogaHNsKDIxMCwgMTAwJSwgMjIlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtY3lhbi0xMjAwOiBoc2woMjEyLCAxMDAlLCAyMCUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1jeWFuLTEzMDA6IGhzbCgyMTgsIDEwMCUsIDE2JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWN5YW4tMTQwMDogaHNsKDIyMiwgMTAwJSwgMTUlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtYmx1ZS0xMDA6IGhzbGEoMjE4LCAxMDAlLCA1NyUsIDAuMDUpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ibHVlLTIwMDogaHNsYSgyMTUsIDEwMCUsIDUyJSwgMC4wOSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWJsdWUtMzAwOiBoc2xhKDIxNiwgOTUlLCA1MSUsIDAuMTYpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ibHVlLTQwMDogaHNsYSgyMTYsIDk2JSwgNDklLCAwLjIyKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtYmx1ZS01MDA6IGhzbGEoMjE2LCA5NSUsIDQ4JSwgMC4zNyk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWJsdWUtNjAwOiBoc2xhKDIxNSwgOTglLCA0NyUsIDAuNTEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ibHVlLTcwMDogaHNsYSgyMTUsIDEwMCUsIDQ2JSwgMC43MSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWJsdWUtODAwOiBoc2xhKDIxMiwgOTklLCA0NiUsIDAuOTkpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ibHVlLTkwMDogaHNsYSgyMTcsIDk4JSwgMzMlLCAwLjk5KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtYmx1ZS0xMDAwOiBoc2xhKDIxOCwgOTclLCAzMCUsIDAuOTkpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ibHVlLTExMDA6IGhzbGEoMjIwLCA5OSUsIDI3JSwgMC45OSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWJsdWUtMTIwMDogaHNsYSgyMjIsIDEwMCUsIDI0JSwgMC45OSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWJsdWUtMTMwMDogaHNsKDIyOCwgMTAwJSwgMjElLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtYmx1ZS0xNDAwOiBoc2woMjMzLCAxMDAlLCAxOSUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1wdXJwbGUtMTAwOiBoc2xhKDI0OCwgMTAwJSwgNjElLCAwLjA0KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcHVycGxlLTIwMDogaHNsYSgyNDgsIDEwMCUsIDU1JSwgMC4wNyk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXB1cnBsZS0zMDA6IGhzbGEoMjQ4LCAxMDAlLCA1MyUsIDAuMTIpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1wdXJwbGUtNDAwOiBoc2xhKDI0OCwgMTAwJSwgNTIlLCAwLjE2KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcHVycGxlLTUwMDogaHNsYSgyNDksIDEwMCUsIDUxJSwgMC4yNyk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXB1cnBsZS02MDA6IGhzbGEoMjUxLCAxMDAlLCA1MSUsIDAuMzgpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1wdXJwbGUtNzAwOiBoc2xhKDI1NCwgMTAwJSwgNTAlLCAwLjUzKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcHVycGxlLTgwMDogaHNsYSgyNTgsIDk4JSwgNDklLCAwLjcpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1wdXJwbGUtOTAwOiBoc2xhKDI2MSwgOTclLCAzOCUsIDAuOSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXB1cnBsZS0xMDAwOiBoc2xhKDI2MywgMTAwJSwgMzYlLCAwLjk1KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcHVycGxlLTExMDA6IGhzbCgyNjQsIDEwMCUsIDMzJSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXB1cnBsZS0xMjAwOiBoc2woMjYyLCAxMDAlLCAyOSUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1wdXJwbGUtMTMwMDogaHNsKDI1OSwgMTAwJSwgMjIlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcHVycGxlLTE0MDA6IGhzbCgyNTksIDEwMCUsIDE5JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWZ1Y2hzaWEtMTAwOiBoc2xhKDI5MywgOTUlLCA0MSUsIDAuMDQpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1mdWNoc2lhLTIwMDogaHNsYSgyOTUsIDg5JSwgNDElLCAwLjA3KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZnVjaHNpYS0zMDA6IGhzbGEoMjk4LCA5MSUsIDQwJSwgMC4xMyk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWZ1Y2hzaWEtNDAwOiBoc2xhKDI5NiwgOTUlLCAzOCUsIDAuMTgpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1mdWNoc2lhLTUwMDogaHNsYSgyOTcsIDkzJSwgMzglLCAwLjMxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZnVjaHNpYS02MDA6IGhzbGEoMjk1LCA5NiUsIDM3JSwgMC40Myk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWZ1Y2hzaWEtNzAwOiBoc2xhKDI5NSwgOTclLCAzNyUsIDAuNik7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWZ1Y2hzaWEtODAwOiBoc2xhKDI5NCwgOTglLCAzNiUsIDAuNzkpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1mdWNoc2lhLTkwMDogaHNsYSgyODcsIDk2JSwgMjclLCAwLjkpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1mdWNoc2lhLTEwMDA6IGhzbGEoMjg2LCAxMDAlLCAyNCUsIDAuOTEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1mdWNoc2lhLTExMDA6IGhzbGEoMjg1LCA5NyUsIDIyJSwgMC45NSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWZ1Y2hzaWEtMTIwMDogaHNsKDI4NSwgOTYlLCAyMiUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1mdWNoc2lhLTEzMDA6IGhzbCgyODMsIDEwMCUsIDE2JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWZ1Y2hzaWEtMTQwMDogaHNsKDI4MSwgMTAwJSwgMTUlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcGluay0xMDA6IGhzbGEoMzQ4LCAxMDAlLCA1MSUsIDAuMDQpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1waW5rLTIwMDogaHNsYSgzNDcsIDEwMCUsIDU0JSwgMC4wOCk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXBpbmstMzAwOiBoc2xhKDM0NywgMTAwJSwgNTAlLCAwLjEzKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcGluay00MDA6IGhzbGEoMzQ3LCAxMDAlLCA1MiUsIDAuMTkpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1waW5rLTUwMDogaHNsYSgzNDYsIDEwMCUsIDUxJSwgMC4zMyk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXBpbmstNjAwOiBoc2xhKDM0NSwgMTAwJSwgNTAlLCAwLjQ3KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcGluay03MDA6IGhzbGEoMzQxLCA5OCUsIDQ5JSwgMC43KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcGluay04MDA6IGhzbGEoMzMzLCA5OCUsIDQ0JSwgMC45Nik7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXBpbmstOTAwOiBoc2xhKDMzMSwgMTAwJSwgMjglLCAwLjk3KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcGluay0xMDAwOiBoc2xhKDMzMCwgOTclLCAyNiUsIDAuOTgpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1waW5rLTExMDA6IGhzbCgzMjksIDEwMCUsIDIyJSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXBpbmstMTIwMDogaHNsKDMzMiwgMTAwJSwgMjAlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcGluay0xMzAwOiBoc2woMzM3LCAxMDAlLCAxNSUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1waW5rLTE0MDA6IGhzbCgzNDEsIDEwMCUsIDEzJSwgMSk7XG59XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBsYXllciBjb21wb3VuZCB7XG5cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAocHJlZmVycy1jb2xvci1zY2hlbWU6IGxpZ2h0KSBhbmQgKHByZWZlcnMtY29udHJhc3Q6IG1vcmUpIHtcblxuICAgICAgICBAbGF5ZXIgY3BkLWJhc2Uge1xuOnJvb3Qge1xuICAtLWNwZC1jb2xvci10aGVtZS1iZzogI2ZmZmZmZjtcbiAgLS1jcGQtY29sb3ItZ3JheS0xMDA6ICNmN2Y5ZmE7XG4gIC0tY3BkLWNvbG9yLWdyYXktMjAwOiAjZjBmMmY1O1xuICAtLWNwZC1jb2xvci1ncmF5LTMwMDogI2UxZTZlYztcbiAgLS1jcGQtY29sb3ItZ3JheS00MDA6ICNkN2RjZTM7XG4gIC0tY3BkLWNvbG9yLWdyYXktNTAwOiAjYmRjNGNjO1xuICAtLWNwZC1jb2xvci1ncmF5LTYwMDogI2E2YWRiNztcbiAgLS1jcGQtY29sb3ItZ3JheS03MDA6ICM4NzhmOWI7XG4gIC0tY3BkLWNvbG9yLWdyYXktODAwOiAjNmM3MzdlO1xuICAtLWNwZC1jb2xvci1ncmF5LTkwMDogIzQ3NGE1MTtcbiAgLS1jcGQtY29sb3ItZ3JheS0xMDAwOiAjM2Y0MjQ4O1xuICAtLWNwZC1jb2xvci1ncmF5LTExMDA6ICMzNTM4M2Q7XG4gIC0tY3BkLWNvbG9yLWdyYXktMTIwMDogIzJkMzAzNDtcbiAgLS1jcGQtY29sb3ItZ3JheS0xMzAwOiAjMWYyMTI2O1xuICAtLWNwZC1jb2xvci1ncmF5LTE0MDA6ICMxYTFjMjE7XG4gIC0tY3BkLWNvbG9yLXJlZC0xMDA6ICNmZmY3ZjY7XG4gIC0tY3BkLWNvbG9yLXJlZC0yMDA6ICNmZmVmZWM7XG4gIC0tY3BkLWNvbG9yLXJlZC0zMDA6ICNmZmRmZGE7XG4gIC0tY3BkLWNvbG9yLXJlZC00MDA6ICNmZmQxY2E7XG4gIC0tY3BkLWNvbG9yLXJlZC01MDA6ICNmZmFmYTU7XG4gIC0tY3BkLWNvbG9yLXJlZC02MDA6ICNmZjhjODE7XG4gIC0tY3BkLWNvbG9yLXJlZC03MDA6ICNmZjRlNDk7XG4gIC0tY3BkLWNvbG9yLXJlZC04MDA6ICNlMTFlMmE7XG4gIC0tY3BkLWNvbG9yLXJlZC05MDA6ICM5OTAwMWE7XG4gIC0tY3BkLWNvbG9yLXJlZC0xMDAwOiAjOGIwMDBjO1xuICAtLWNwZC1jb2xvci1yZWQtMTEwMDogIzc3MDAwMDtcbiAgLS1jcGQtY29sb3ItcmVkLTEyMDA6ICM2NzAwMDA7XG4gIC0tY3BkLWNvbG9yLXJlZC0xMzAwOiAjNGMwMDAwO1xuICAtLWNwZC1jb2xvci1yZWQtMTQwMDogIzQyMDAwMDtcbiAgLS1jcGQtY29sb3Itb3JhbmdlLTEwMDogI2ZmZjZlZjtcbiAgLS1jcGQtY29sb3Itb3JhbmdlLTIwMDogI2ZmZWZlNDtcbiAgLS1jcGQtY29sb3Itb3JhbmdlLTMwMDogI2ZmZGZjODtcbiAgLS1jcGQtY29sb3Itb3JhbmdlLTQwMDogI2ZmZDRiNTtcbiAgLS1jcGQtY29sb3Itb3JhbmdlLTUwMDogI2ZkYjM3YztcbiAgLS1jcGQtY29sb3Itb3JhbmdlLTYwMDogI2Y4OTQ0MDtcbiAgLS1jcGQtY29sb3Itb3JhbmdlLTcwMDogI2UyNmUwMDtcbiAgLS1jcGQtY29sb3Itb3JhbmdlLTgwMDogI2M0NGQwMDtcbiAgLS1jcGQtY29sb3Itb3JhbmdlLTkwMDogIzkzMTcwMDtcbiAgLS1jcGQtY29sb3Itb3JhbmdlLTEwMDA6ICM4OTA4MDA7XG4gIC0tY3BkLWNvbG9yLW9yYW5nZS0xMTAwOiAjNzcwMDAwO1xuICAtLWNwZC1jb2xvci1vcmFuZ2UtMTIwMDogIzY3MDAwMDtcbiAgLS1jcGQtY29sb3Itb3JhbmdlLTEzMDA6ICM0YzAwMDA7XG4gIC0tY3BkLWNvbG9yLW9yYW5nZS0xNDAwOiAjNDIwMDAwO1xuICAtLWNwZC1jb2xvci15ZWxsb3ctMTAwOiAjZmZmOGUwO1xuICAtLWNwZC1jb2xvci15ZWxsb3ctMjAwOiAjZmZmMmMxO1xuICAtLWNwZC1jb2xvci15ZWxsb3ctMzAwOiAjZmZlNDg0O1xuICAtLWNwZC1jb2xvci15ZWxsb3ctNDAwOiAjZmZkYTQ5O1xuICAtLWNwZC1jb2xvci15ZWxsb3ctNTAwOiAjZjFiZDAwO1xuICAtLWNwZC1jb2xvci15ZWxsb3ctNjAwOiAjZGVhMjAwO1xuICAtLWNwZC1jb2xvci15ZWxsb3ctNzAwOiAjYzM4MTAwO1xuICAtLWNwZC1jb2xvci15ZWxsb3ctODAwOiAjYTc2MzAwO1xuICAtLWNwZC1jb2xvci15ZWxsb3ctOTAwOiAjNzczODAwO1xuICAtLWNwZC1jb2xvci15ZWxsb3ctMTAwMDogIzZlMzEwMDtcbiAgLS1jcGQtY29sb3IteWVsbG93LTExMDA6ICM2MTI2MDA7XG4gIC0tY3BkLWNvbG9yLXllbGxvdy0xMjAwOiAjNTcxZDAwO1xuICAtLWNwZC1jb2xvci15ZWxsb3ctMTMwMDogIzQ1MGMwMDtcbiAgLS1jcGQtY29sb3IteWVsbG93LTE0MDA6ICMzZjA1MDA7XG4gIC0tY3BkLWNvbG9yLWxpbWUtMTAwOiAjZjFmY2VlO1xuICAtLWNwZC1jb2xvci1saW1lLTIwMDogI2UwZjhkOTtcbiAgLS1jcGQtY29sb3ItbGltZS0zMDA6ICNjOGYxYmE7XG4gIC0tY3BkLWNvbG9yLWxpbWUtNDAwOiAjYWZlYjliO1xuICAtLWNwZC1jb2xvci1saW1lLTUwMDogIzc2ZGI0YztcbiAgLS1jcGQtY29sb3ItbGltZS02MDA6ICM1NGM0MjQ7XG4gIC0tY3BkLWNvbG9yLWxpbWUtNzAwOiAjM2FhMzFhO1xuICAtLWNwZC1jb2xvci1saW1lLTgwMDogIzFmODUwZjtcbiAgLS1jcGQtY29sb3ItbGltZS05MDA6ICMwMDU3MDA7XG4gIC0tY3BkLWNvbG9yLWxpbWUtMTAwMDogIzAwNGYwMDtcbiAgLS1jcGQtY29sb3ItbGltZS0xMTAwOiAjMDA0MjAwO1xuICAtLWNwZC1jb2xvci1saW1lLTEyMDA6ICMwMDM5MDA7XG4gIC0tY3BkLWNvbG9yLWxpbWUtMTMwMDogIzAwMjkwMDtcbiAgLS1jcGQtY29sb3ItbGltZS0xNDAwOiAjMDAyMjAwO1xuICAtLWNwZC1jb2xvci1ncmVlbi0xMDA6ICNmMWZiZjY7XG4gIC0tY3BkLWNvbG9yLWdyZWVuLTIwMDogI2UzZjdlZDtcbiAgLS1jcGQtY29sb3ItZ3JlZW4tMzAwOiAjYzZlZWRiO1xuICAtLWNwZC1jb2xvci1ncmVlbi00MDA6ICNhZmU4Y2U7XG4gIC0tY3BkLWNvbG9yLWdyZWVuLTUwMDogIzcxZDdhZTtcbiAgLS1jcGQtY29sb3ItZ3JlZW4tNjAwOiAjMGJjNDkxO1xuICAtLWNwZC1jb2xvci1ncmVlbi03MDA6ICMwMGEyN2M7XG4gIC0tY3BkLWNvbG9yLWdyZWVuLTgwMDogIzAwODI2ODtcbiAgLS1jcGQtY29sb3ItZ3JlZW4tOTAwOiAjMDA1NTNkO1xuICAtLWNwZC1jb2xvci1ncmVlbi0xMDAwOiAjMDA0ZDM2O1xuICAtLWNwZC1jb2xvci1ncmVlbi0xMTAwOiAjMDA0MDJiO1xuICAtLWNwZC1jb2xvci1ncmVlbi0xMjAwOiAjMDAzNzIzO1xuICAtLWNwZC1jb2xvci1ncmVlbi0xMzAwOiAjMDAyNzE1O1xuICAtLWNwZC1jb2xvci1ncmVlbi0xNDAwOiAjMDAyMTBmO1xuICAtLWNwZC1jb2xvci1jeWFuLTEwMDogI2YxZmFmYjtcbiAgLS1jcGQtY29sb3ItY3lhbi0yMDA6ICNlM2Y1Zjg7XG4gIC0tY3BkLWNvbG9yLWN5YW4tMzAwOiAjYzdlY2YwO1xuICAtLWNwZC1jb2xvci1jeWFuLTQwMDogI2IxZTRlYjtcbiAgLS1jcGQtY29sb3ItY3lhbi01MDA6ICM3NmQxZGQ7XG4gIC0tY3BkLWNvbG9yLWN5YW4tNjAwOiAjMTViZWNmO1xuICAtLWNwZC1jb2xvci1jeWFuLTcwMDogIzAwOWFjMztcbiAgLS1jcGQtY29sb3ItY3lhbi04MDA6ICMwMDdhYjM7XG4gIC0tY3BkLWNvbG9yLWN5YW4tOTAwOiAjMDA0Yzg0O1xuICAtLWNwZC1jb2xvci1jeWFuLTEwMDA6ICMwMDQ0N2I7XG4gIC0tY3BkLWNvbG9yLWN5YW4tMTEwMDogIzAwMzc2ZTtcbiAgLS1jcGQtY29sb3ItY3lhbi0xMjAwOiAjMDAyZTY0O1xuICAtLWNwZC1jb2xvci1jeWFuLTEzMDA6ICMwMDFlNTM7XG4gIC0tY3BkLWNvbG9yLWN5YW4tMTQwMDogIzAwMTc0ZDtcbiAgLS1jcGQtY29sb3ItYmx1ZS0xMDA6ICNmNGY4ZmY7XG4gIC0tY3BkLWNvbG9yLWJsdWUtMjAwOiAjZTlmMmZmO1xuICAtLWNwZC1jb2xvci1ibHVlLTMwMDogI2Q4ZTdmZTtcbiAgLS1jcGQtY29sb3ItYmx1ZS00MDA6ICNjOGRkZmQ7XG4gIC0tY3BkLWNvbG9yLWJsdWUtNTAwOiAjYTNjNmZhO1xuICAtLWNwZC1jb2xvci1ibHVlLTYwMDogIzdlYWZmNjtcbiAgLS1jcGQtY29sb3ItYmx1ZS03MDA6ICM0YThlZjA7XG4gIC0tY3BkLWNvbG9yLWJsdWUtODAwOiAjMDQ2ZWU4O1xuICAtLWNwZC1jb2xvci1ibHVlLTkwMDogIzA1NDNhNztcbiAgLS1jcGQtY29sb3ItYmx1ZS0xMDAwOiAjMDUzYjlhO1xuICAtLWNwZC1jb2xvci1ibHVlLTExMDA6ICMwNDMwODg7XG4gIC0tY3BkLWNvbG9yLWJsdWUtMTIwMDogIzAzMjc3YjtcbiAgLS1jcGQtY29sb3ItYmx1ZS0xMzAwOiAjMDAxNTY5O1xuICAtLWNwZC1jb2xvci1ibHVlLTE0MDA6ICMwMDBjNjM7XG4gIC0tY3BkLWNvbG9yLXB1cnBsZS0xMDA6ICNmOGY3ZmY7XG4gIC0tY3BkLWNvbG9yLXB1cnBsZS0yMDA6ICNmMWVmZmY7XG4gIC0tY3BkLWNvbG9yLXB1cnBsZS0zMDA6ICNlNmUyZmY7XG4gIC0tY3BkLWNvbG9yLXB1cnBsZS00MDA6ICNkZGQ4ZmY7XG4gIC0tY3BkLWNvbG9yLXB1cnBsZS01MDA6ICNjNWJiZmY7XG4gIC0tY3BkLWNvbG9yLXB1cnBsZS02MDA6ICNiMWEwZmY7XG4gIC0tY3BkLWNvbG9yLXB1cnBsZS03MDA6ICM5Nzc4ZmU7XG4gIC0tY3BkLWNvbG9yLXB1cnBsZS04MDA6ICM4MjRlZjk7XG4gIC0tY3BkLWNvbG9yLXB1cnBsZS05MDA6ICM1NzFjYzQ7XG4gIC0tY3BkLWNvbG9yLXB1cnBsZS0xMDAwOiAjNGYwZGJhO1xuICAtLWNwZC1jb2xvci1wdXJwbGUtMTEwMDogIzQyMDBhNjtcbiAgLS1jcGQtY29sb3ItcHVycGxlLTEyMDA6ICMzNjAwOTQ7XG4gIC0tY3BkLWNvbG9yLXB1cnBsZS0xMzAwOiAjMjQwMDcwO1xuICAtLWNwZC1jb2xvci1wdXJwbGUtMTQwMDogIzFmMDA2MjtcbiAgLS1jcGQtY29sb3ItZnVjaHNpYS0xMDA6ICNmY2Y1ZmQ7XG4gIC0tY3BkLWNvbG9yLWZ1Y2hzaWEtMjAwOiAjZmFlZWZiO1xuICAtLWNwZC1jb2xvci1mdWNoc2lhLTMwMDogI2Y2ZGZmNztcbiAgLS1jcGQtY29sb3ItZnVjaHNpYS00MDA6ICNmMWQyZjM7XG4gIC0tY3BkLWNvbG9yLWZ1Y2hzaWEtNTAwOiAjZTdiMmVhO1xuICAtLWNwZC1jb2xvci1mdWNoc2lhLTYwMDogI2RiOTNlMTtcbiAgLS1jcGQtY29sb3ItZnVjaHNpYS03MDA6ICNjYjY4ZDQ7XG4gIC0tY3BkLWNvbG9yLWZ1Y2hzaWEtODAwOiAjYjkzN2M2O1xuICAtLWNwZC1jb2xvci1mdWNoc2lhLTkwMDogIzc4MWM5MDtcbiAgLS1jcGQtY29sb3ItZnVjaHNpYS0xMDAwOiAjNmMxNzg1O1xuICAtLWNwZC1jb2xvci1mdWNoc2lhLTExMDA6ICM1YzBmNzY7XG4gIC0tY3BkLWNvbG9yLWZ1Y2hzaWEtMTIwMDogIzUyMDI2YztcbiAgLS1jcGQtY29sb3ItZnVjaHNpYS0xMzAwOiAjM2IwMDUzO1xuICAtLWNwZC1jb2xvci1mdWNoc2lhLTE0MDA6ICMzMjAwNGE7XG4gIC0tY3BkLWNvbG9yLXBpbmstMTAwOiAjZmZmNWY3O1xuICAtLWNwZC1jb2xvci1waW5rLTIwMDogI2ZmZWNmMDtcbiAgLS1jcGQtY29sb3ItcGluay0zMDA6ICNmZmRlZTU7XG4gIC0tY3BkLWNvbG9yLXBpbmstNDAwOiAjZmZkMGRhO1xuICAtLWNwZC1jb2xvci1waW5rLTUwMDogI2ZmYWRjMDtcbiAgLS1jcGQtY29sb3ItcGluay02MDA6ICNmZjg4YTY7XG4gIC0tY3BkLWNvbG9yLXBpbmstNzAwOiAjZjk0ZTg0O1xuICAtLWNwZC1jb2xvci1waW5rLTgwMDogI2UwMGM2YTtcbiAgLS1jcGQtY29sb3ItcGluay05MDA6ICM5MjA4NGI7XG4gIC0tY3BkLWNvbG9yLXBpbmstMTAwMDogIzg0MDc0NTtcbiAgLS1jcGQtY29sb3ItcGluay0xMTAwOiAjNzIwMDNhO1xuICAtLWNwZC1jb2xvci1waW5rLTEyMDA6ICM2NDAwMmY7XG4gIC0tY3BkLWNvbG9yLXBpbmstMTMwMDogIzRhMDAxYztcbiAgLS1jcGQtY29sb3ItcGluay0xNDAwOiAjNDEwMDE1O1xuICAtLWNwZC1jb2xvci1hbHBoYS1ncmF5LTEwMDogaHNsYSgyMDAsIDQxJSwgMzYlLCAwLjA0KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZ3JheS0yMDA6IGhzbGEoMjE2LCA4OSUsIDE4JSwgMC4wNik7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWdyYXktMzAwOiBoc2xhKDIxMywgOTAlLCAyMCUsIDAuMTIpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ncmF5LTQwMDogaHNsYSgyMTUsIDg4JSwgMTclLCAwLjE2KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZ3JheS01MDA6IGhzbGEoMjEyLCA5NyUsIDEyJSwgMC4yNik7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWdyYXktNjAwOiBoc2xhKDIxNSwgOTYlLCAxMCUsIDAuMzUpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ncmF5LTcwMDogaHNsYSgyMTYsIDgxJSwgMTAlLCAwLjQ4KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZ3JheS04MDA6IGhzbGEoMjE3LCA4OSUsIDclLCAwLjU4KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZ3JheS05MDA6IGhzbGEoMjIzLCA3MCUsIDQlLCAwLjczKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZ3JheS0xMDAwOiBoc2xhKDIyMCwgNzUlLCAzJSwgMC43Nik7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWdyYXktMTEwMDogaHNsYSgyMjIsIDYzJSwgMyUsIDAuOCk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWdyYXktMTIwMDogaHNsYSgyMTAsIDY3JSwgMiUsIDAuODMpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ncmF5LTEzMDA6IGhzbGEoMjE4LCAxMDAlLCAyJSwgMC44OCk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWdyYXktMTQwMDogaHNsYSgyMjMsIDc4JSwgMiUsIDAuOSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXJlZC0xMDA6IGhzbGEoNywgMTAwJSwgNTYlLCAwLjA0KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcmVkLTIwMDogaHNsYSg5LCAxMDAlLCA1NCUsIDAuMDgpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1yZWQtMzAwOiBoc2xhKDgsIDEwMCUsIDUyJSwgMC4xNSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXJlZC00MDA6IGhzbGEoOCwgMTAwJSwgNTElLCAwLjIxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcmVkLTUwMDogaHNsYSg3LCAxMDAlLCA1MSUsIDAuMzYpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1yZWQtNjAwOiBoc2xhKDUsIDEwMCUsIDUxJSwgMC41KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcmVkLTcwMDogaHNsYSgyLCAxMDAlLCA1MCUsIDAuNzIpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1yZWQtODAwOiBoc2xhKDM1NiwgOTglLCA0NCUsIDAuODkpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1yZWQtOTAwOiBoc2woMzUwLCAxMDAlLCAzMCUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1yZWQtMTAwMDogaHNsKDM1NSwgMTAwJSwgMjclLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcmVkLTExMDA6IGhzbCgwLCAxMDAlLCAyMyUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1yZWQtMTIwMDogaHNsKDAsIDEwMCUsIDIwJSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXJlZC0xMzAwOiBoc2woMCwgMTAwJSwgMTUlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcmVkLTE0MDA6IGhzbCgwLCAxMDAlLCAxMyUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1vcmFuZ2UtMTAwOiBoc2xhKDI2LCAxMDAlLCA1NSUsIDAuMDcpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1vcmFuZ2UtMjAwOiBoc2xhKDI0LCAxMDAlLCA1MiUsIDAuMTEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1vcmFuZ2UtMzAwOiBoc2xhKDI1LCAxMDAlLCA1MSUsIDAuMjIpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1vcmFuZ2UtNDAwOiBoc2xhKDI1LCAxMDAlLCA1MiUsIDAuMyk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLW9yYW5nZS01MDA6IGhzbGEoMjYsIDk4JSwgNTAlLCAwLjUyKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtb3JhbmdlLTYwMDogaHNsYSgyNywgMTAwJSwgNDglLCAwLjc1KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtb3JhbmdlLTcwMDogaHNsKDI5LCAxMDAlLCA0NCUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1vcmFuZ2UtODAwOiBoc2woMjQsIDEwMCUsIDM4JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLW9yYW5nZS05MDA6IGhzbCg5LCAxMDAlLCAyOSUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1vcmFuZ2UtMTAwMDogaHNsKDQsIDEwMCUsIDI3JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLW9yYW5nZS0xMTAwOiBoc2woMCwgMTAwJSwgMjMlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtb3JhbmdlLTEyMDA6IGhzbCgwLCAxMDAlLCAyMCUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1vcmFuZ2UtMTMwMDogaHNsKDAsIDEwMCUsIDE1JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLW9yYW5nZS0xNDAwOiBoc2woMCwgMTAwJSwgMTMlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEteWVsbG93LTEwMDogaHNsYSg0NiwgMTAwJSwgNTMlLCAwLjEzKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEteWVsbG93LTIwMDogaHNsYSg0NywgMTAwJSwgNTElLCAwLjI1KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEteWVsbG93LTMwMDogaHNsYSg0NywgMTAwJSwgNTElLCAwLjQ5KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEteWVsbG93LTQwMDogaHNsYSg0OCwgMTAwJSwgNTAlLCAwLjcyKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEteWVsbG93LTUwMDogaHNsKDQ3LCAxMDAlLCA0NyUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS15ZWxsb3ctNjAwOiBoc2woNDQsIDEwMCUsIDQ0JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXllbGxvdy03MDA6IGhzbCg0MCwgMTAwJSwgMzglLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEteWVsbG93LTgwMDogaHNsKDM2LCAxMDAlLCAzMyUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS15ZWxsb3ctOTAwOiBoc2woMjgsIDEwMCUsIDIzJSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXllbGxvdy0xMDAwOiBoc2woMjcsIDEwMCUsIDIyJSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXllbGxvdy0xMTAwOiBoc2woMjQsIDEwMCUsIDE5JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXllbGxvdy0xMjAwOiBoc2woMjAsIDEwMCUsIDE3JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXllbGxvdy0xMzAwOiBoc2woMTAsIDEwMCUsIDE0JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXllbGxvdy0xNDAwOiBoc2woNSwgMTAwJSwgMTIlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtbGltZS0xMDA6IGhzbGEoMTA3LCA4OSUsIDQ0JSwgMC4wNyk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWxpbWUtMjAwOiBoc2xhKDEwNywgOTglLCA0MSUsIDAuMTUpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1saW1lLTMwMDogaHNsYSgxMDUsIDkyJSwgNDIlLCAwLjI4KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtbGltZS00MDA6IGhzbGEoMTA1LCA5NSUsIDQxJSwgMC40KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtbGltZS01MDA6IGhzbGEoMTAyLCA5NyUsIDQxJSwgMC43MSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWxpbWUtNjAwOiBoc2xhKDEwMiwgMTAwJSwgMzclLCAwLjg2KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtbGltZS03MDA6IGhzbGEoMTA2LCA5OSUsIDMwJSwgMC45KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtbGltZS04MDA6IGhzbGEoMTEyLCA5NyUsIDI1JSwgMC45NSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWxpbWUtOTAwOiBoc2woMTIwLCAxMDAlLCAxNyUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1saW1lLTEwMDA6IGhzbCgxMjAsIDEwMCUsIDE2JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWxpbWUtMTEwMDogaHNsKDEyMCwgMTAwJSwgMTMlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtbGltZS0xMjAwOiBoc2woMTIwLCAxMDAlLCAxMSUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1saW1lLTEzMDA6IGhzbCgxMjAsIDEwMCUsIDglLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtbGltZS0xNDAwOiBoc2woMTIwLCAxMDAlLCA3JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWdyZWVuLTEwMDogaHNsYSgxNTAsIDc5JSwgNDElLCAwLjA2KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZ3JlZW4tMjAwOiBoc2xhKDE1MCwgMTAwJSwgMzYlLCAwLjExKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZ3JlZW4tMzAwOiBoc2xhKDE1MSwgOTMlLCAzNyUsIDAuMjMpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ncmVlbi00MDA6IGhzbGEoMTUzLCA5NSUsIDM3JSwgMC4zMik7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWdyZWVuLTUwMDogaHNsYSgxNTYsIDk5JSwgMzYlLCAwLjU2KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZ3JlZW4tNjAwOiBoc2xhKDE2MywgOTklLCAzOCUsIDAuOTYpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ncmVlbi03MDA6IGhzbCgxNjYsIDEwMCUsIDMyJSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWdyZWVuLTgwMDogaHNsKDE2OCwgMTAwJSwgMjYlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZ3JlZW4tOTAwOiBoc2woMTYzLCAxMDAlLCAxNyUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ncmVlbi0xMDAwOiBoc2woMTYyLCAxMDAlLCAxNSUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ncmVlbi0xMTAwOiBoc2woMTYwLCAxMDAlLCAxMyUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ncmVlbi0xMjAwOiBoc2woMTU4LCAxMDAlLCAxMSUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ncmVlbi0xMzAwOiBoc2woMTUyLCAxMDAlLCA4JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWdyZWVuLTE0MDA6IGhzbCgxNDcsIDEwMCUsIDclLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtY3lhbi0xMDA6IGhzbGEoMTg2LCA3OSUsIDQxJSwgMC4wNik7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWN5YW4tMjAwOiBoc2xhKDE4OCwgMTAwJSwgMzglLCAwLjExKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtY3lhbi0zMDA6IGhzbGEoMTg2LCAxMDAlLCAzNyUsIDAuMjIpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1jeWFuLTQwMDogaHNsYSgxODcsIDk3JSwgMzglLCAwLjMxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtY3lhbi01MDA6IGhzbGEoMTg3LCA5OSUsIDM4JSwgMC41NCk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWN5YW4tNjAwOiBoc2xhKDE4NiwgOTklLCA0MCUsIDAuOTIpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1jeWFuLTcwMDogaHNsKDE5MywgMTAwJSwgMzglLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtY3lhbi04MDA6IGhzbCgxOTksIDEwMCUsIDM1JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWN5YW4tOTAwOiBoc2woMjA1LCAxMDAlLCAyNiUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1jeWFuLTEwMDA6IGhzbCgyMDcsIDEwMCUsIDI0JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWN5YW4tMTEwMDogaHNsKDIxMCwgMTAwJSwgMjIlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtY3lhbi0xMjAwOiBoc2woMjEyLCAxMDAlLCAyMCUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1jeWFuLTEzMDA6IGhzbCgyMTgsIDEwMCUsIDE2JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWN5YW4tMTQwMDogaHNsKDIyMiwgMTAwJSwgMTUlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtYmx1ZS0xMDA6IGhzbGEoMjE4LCAxMDAlLCA1NyUsIDAuMDUpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ibHVlLTIwMDogaHNsYSgyMTUsIDEwMCUsIDUyJSwgMC4wOSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWJsdWUtMzAwOiBoc2xhKDIxNiwgOTUlLCA1MSUsIDAuMTYpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ibHVlLTQwMDogaHNsYSgyMTYsIDk2JSwgNDklLCAwLjIyKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtYmx1ZS01MDA6IGhzbGEoMjE2LCA5NSUsIDQ4JSwgMC4zNyk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWJsdWUtNjAwOiBoc2xhKDIxNSwgOTglLCA0NyUsIDAuNTEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ibHVlLTcwMDogaHNsYSgyMTUsIDEwMCUsIDQ2JSwgMC43MSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWJsdWUtODAwOiBoc2xhKDIxMiwgOTklLCA0NiUsIDAuOTkpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ibHVlLTkwMDogaHNsYSgyMTcsIDk4JSwgMzMlLCAwLjk5KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtYmx1ZS0xMDAwOiBoc2xhKDIxOCwgOTclLCAzMCUsIDAuOTkpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ibHVlLTExMDA6IGhzbGEoMjIwLCA5OSUsIDI3JSwgMC45OSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWJsdWUtMTIwMDogaHNsYSgyMjIsIDEwMCUsIDI0JSwgMC45OSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWJsdWUtMTMwMDogaHNsKDIyOCwgMTAwJSwgMjElLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtYmx1ZS0xNDAwOiBoc2woMjMzLCAxMDAlLCAxOSUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1wdXJwbGUtMTAwOiBoc2xhKDI0OCwgMTAwJSwgNjElLCAwLjA0KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcHVycGxlLTIwMDogaHNsYSgyNDgsIDEwMCUsIDU1JSwgMC4wNyk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXB1cnBsZS0zMDA6IGhzbGEoMjQ4LCAxMDAlLCA1MyUsIDAuMTIpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1wdXJwbGUtNDAwOiBoc2xhKDI0OCwgMTAwJSwgNTIlLCAwLjE2KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcHVycGxlLTUwMDogaHNsYSgyNDksIDEwMCUsIDUxJSwgMC4yNyk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXB1cnBsZS02MDA6IGhzbGEoMjUxLCAxMDAlLCA1MSUsIDAuMzgpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1wdXJwbGUtNzAwOiBoc2xhKDI1NCwgMTAwJSwgNTAlLCAwLjUzKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcHVycGxlLTgwMDogaHNsYSgyNTgsIDk4JSwgNDklLCAwLjcpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1wdXJwbGUtOTAwOiBoc2xhKDI2MSwgOTclLCAzOCUsIDAuOSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXB1cnBsZS0xMDAwOiBoc2xhKDI2MywgMTAwJSwgMzYlLCAwLjk1KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcHVycGxlLTExMDA6IGhzbCgyNjQsIDEwMCUsIDMzJSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXB1cnBsZS0xMjAwOiBoc2woMjYyLCAxMDAlLCAyOSUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1wdXJwbGUtMTMwMDogaHNsKDI1OSwgMTAwJSwgMjIlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcHVycGxlLTE0MDA6IGhzbCgyNTksIDEwMCUsIDE5JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWZ1Y2hzaWEtMTAwOiBoc2xhKDI5MywgOTUlLCA0MSUsIDAuMDQpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1mdWNoc2lhLTIwMDogaHNsYSgyOTUsIDg5JSwgNDElLCAwLjA3KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZnVjaHNpYS0zMDA6IGhzbGEoMjk4LCA5MSUsIDQwJSwgMC4xMyk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWZ1Y2hzaWEtNDAwOiBoc2xhKDI5NiwgOTUlLCAzOCUsIDAuMTgpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1mdWNoc2lhLTUwMDogaHNsYSgyOTcsIDkzJSwgMzglLCAwLjMxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZnVjaHNpYS02MDA6IGhzbGEoMjk1LCA5NiUsIDM3JSwgMC40Myk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWZ1Y2hzaWEtNzAwOiBoc2xhKDI5NSwgOTclLCAzNyUsIDAuNik7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWZ1Y2hzaWEtODAwOiBoc2xhKDI5NCwgOTglLCAzNiUsIDAuNzkpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1mdWNoc2lhLTkwMDogaHNsYSgyODcsIDk2JSwgMjclLCAwLjkpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1mdWNoc2lhLTEwMDA6IGhzbGEoMjg2LCAxMDAlLCAyNCUsIDAuOTEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1mdWNoc2lhLTExMDA6IGhzbGEoMjg1LCA5NyUsIDIyJSwgMC45NSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWZ1Y2hzaWEtMTIwMDogaHNsKDI4NSwgOTYlLCAyMiUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1mdWNoc2lhLTEzMDA6IGhzbCgyODMsIDEwMCUsIDE2JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWZ1Y2hzaWEtMTQwMDogaHNsKDI4MSwgMTAwJSwgMTUlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcGluay0xMDA6IGhzbGEoMzQ4LCAxMDAlLCA1MSUsIDAuMDQpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1waW5rLTIwMDogaHNsYSgzNDcsIDEwMCUsIDU0JSwgMC4wOCk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXBpbmstMzAwOiBoc2xhKDM0NywgMTAwJSwgNTAlLCAwLjEzKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcGluay00MDA6IGhzbGEoMzQ3LCAxMDAlLCA1MiUsIDAuMTkpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1waW5rLTUwMDogaHNsYSgzNDYsIDEwMCUsIDUxJSwgMC4zMyk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXBpbmstNjAwOiBoc2xhKDM0NSwgMTAwJSwgNTAlLCAwLjQ3KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcGluay03MDA6IGhzbGEoMzQxLCA5OCUsIDQ5JSwgMC43KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcGluay04MDA6IGhzbGEoMzMzLCA5OCUsIDQ0JSwgMC45Nik7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXBpbmstOTAwOiBoc2xhKDMzMSwgMTAwJSwgMjglLCAwLjk3KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcGluay0xMDAwOiBoc2xhKDMzMCwgOTclLCAyNiUsIDAuOTgpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1waW5rLTExMDA6IGhzbCgzMjksIDEwMCUsIDIyJSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXBpbmstMTIwMDogaHNsKDMzMiwgMTAwJSwgMjAlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcGluay0xMzAwOiBoc2woMzM3LCAxMDAlLCAxNSUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1waW5rLTE0MDA6IGhzbCgzNDEsIDEwMCUsIDEzJSwgMSk7XG59XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBsYXllciBjb21wb3VuZCB7XG5cbiAgICBAbWVkaWEgc2NyZWVuIHtcblxuICAgICAgICBAbGF5ZXIgY3BkLXNlbWFudGljIHtcbi5jcGQtdGhlbWUtbGlnaHQtaGMuY3BkLXRoZW1lLWxpZ2h0LWhjIHtcbiAgLS1jcGQtY29sb3ItYmctY2FudmFzLWRlZmF1bHQtbGV2ZWwtMTogdmFyKC0tY3BkLWNvbG9yLXRoZW1lLWJnKTtcbiAgLS1jcGQtY29sb3ItYmctc3VidGxlLXNlY29uZGFyeS1sZXZlbC0wOiB2YXIoLS1jcGQtY29sb3ItZ3JheS0zMDApO1xufVxuICAgICAgICB9XG4gICAgfVxufVxuXG5AbGF5ZXIgY29tcG91bmQge1xuXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKHByZWZlcnMtY29sb3Itc2NoZW1lOiBsaWdodCkgYW5kIChwcmVmZXJzLWNvbnRyYXN0OiBtb3JlKSB7XG5cbiAgICAgICAgQGxheWVyIGNwZC1zZW1hbnRpYyB7XG46cm9vdCB7XG4gIC0tY3BkLWNvbG9yLWJnLWNhbnZhcy1kZWZhdWx0LWxldmVsLTE6IHZhcigtLWNwZC1jb2xvci10aGVtZS1iZyk7XG4gIC0tY3BkLWNvbG9yLWJnLXN1YnRsZS1zZWNvbmRhcnktbGV2ZWwtMDogdmFyKC0tY3BkLWNvbG9yLWdyYXktMzAwKTtcbn1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuQGxheWVyIGNvbXBvdW5kIHtcblxuICAgIEBtZWRpYSBzY3JlZW4ge1xuXG4gICAgICAgIEBsYXllciBjcGQtYmFzZSB7XG4uY3BkLXRoZW1lLWRhcmsuY3BkLXRoZW1lLWRhcmsge1xuICAtLWNwZC1jb2xvci10aGVtZS1iZzogIzEwMTMxNztcbiAgLS1jcGQtY29sb3ItZ3JheS0xMDA6ICMxNDE3MWI7XG4gIC0tY3BkLWNvbG9yLWdyYXktMjAwOiAjMTgxYTFmO1xuICAtLWNwZC1jb2xvci1ncmF5LTMwMDogIzFkMWYyNDtcbiAgLS1jcGQtY29sb3ItZ3JheS00MDA6ICMyNjI4MmQ7XG4gIC0tY3BkLWNvbG9yLWdyYXktNTAwOiAjMzIzNTM5O1xuICAtLWNwZC1jb2xvci1ncmF5LTYwMDogIzNjM2Y0NDtcbiAgLS1jcGQtY29sb3ItZ3JheS03MDA6ICM0YTRmNTU7XG4gIC0tY3BkLWNvbG9yLWdyYXktODAwOiAjNjU2Yzc2O1xuICAtLWNwZC1jb2xvci1ncmF5LTkwMDogIzgwODk5NDtcbiAgLS1jcGQtY29sb3ItZ3JheS0xMDAwOiAjOTE5OWE0O1xuICAtLWNwZC1jb2xvci1ncmF5LTExMDA6ICNhM2FhYjQ7XG4gIC0tY3BkLWNvbG9yLWdyYXktMTIwMDogI2JkYzNjYztcbiAgLS1jcGQtY29sb3ItZ3JheS0xMzAwOiAjZDlkZWU0O1xuICAtLWNwZC1jb2xvci1ncmF5LTE0MDA6ICNlYmVlZjI7XG4gIC0tY3BkLWNvbG9yLXJlZC0xMDA6ICMzNzAwMDA7XG4gIC0tY3BkLWNvbG9yLXJlZC0yMDA6ICMzZTAwMDA7XG4gIC0tY3BkLWNvbG9yLXJlZC0zMDA6ICM0NzAwMDA7XG4gIC0tY3BkLWNvbG9yLXJlZC00MDA6ICM1OTAwMDA7XG4gIC0tY3BkLWNvbG9yLXJlZC01MDA6ICM3MTAwMDA7XG4gIC0tY3BkLWNvbG9yLXJlZC02MDA6ICM4MzAwMDk7XG4gIC0tY3BkLWNvbG9yLXJlZC03MDA6ICM5ZjBkMWU7XG4gIC0tY3BkLWNvbG9yLXJlZC04MDA6ICNkMTIxMmE7XG4gIC0tY3BkLWNvbG9yLXJlZC05MDA6ICNmZDNlM2M7XG4gIC0tY3BkLWNvbG9yLXJlZC0xMDAwOiAjZmY2NjVkO1xuICAtLWNwZC1jb2xvci1yZWQtMTEwMDogI2ZmODc3YztcbiAgLS1jcGQtY29sb3ItcmVkLTEyMDA6ICNmZmFlYTQ7XG4gIC0tY3BkLWNvbG9yLXJlZC0xMzAwOiAjZmZkNGNkO1xuICAtLWNwZC1jb2xvci1yZWQtMTQwMDogI2ZmZTllNjtcbiAgLS1jcGQtY29sb3Itb3JhbmdlLTEwMDogIzM4MDAwMDtcbiAgLS1jcGQtY29sb3Itb3JhbmdlLTIwMDogIzNjMDAwMDtcbiAgLS1jcGQtY29sb3Itb3JhbmdlLTMwMDogIzQ3MDAwMDtcbiAgLS1jcGQtY29sb3Itb3JhbmdlLTQwMDogIzU4MDAwMDtcbiAgLS1jcGQtY29sb3Itb3JhbmdlLTUwMDogIzcxMDAwMDtcbiAgLS1jcGQtY29sb3Itb3JhbmdlLTYwMDogIzgzMDUwMDtcbiAgLS1jcGQtY29sb3Itb3JhbmdlLTcwMDogIzk3MjIwNjtcbiAgLS1jcGQtY29sb3Itb3JhbmdlLTgwMDogI2I5NDYwNztcbiAgLS1jcGQtY29sb3Itb3JhbmdlLTkwMDogI2RhNjcwZDtcbiAgLS1jcGQtY29sb3Itb3JhbmdlLTEwMDA6ICNlYjdhMTI7XG4gIC0tY3BkLWNvbG9yLW9yYW5nZS0xMTAwOiAjZjY5MTNkO1xuICAtLWNwZC1jb2xvci1vcmFuZ2UtMTIwMDogI2ZiYjM3ZTtcbiAgLS1jcGQtY29sb3Itb3JhbmdlLTEzMDA6ICNmZmQ1Yjk7XG4gIC0tY3BkLWNvbG9yLW9yYW5nZS0xNDAwOiAjZmZlYWRiO1xuICAtLWNwZC1jb2xvci15ZWxsb3ctMTAwOiAjMzYwMDAwO1xuICAtLWNwZC1jb2xvci15ZWxsb3ctMjAwOiAjM2EwMzAwO1xuICAtLWNwZC1jb2xvci15ZWxsb3ctMzAwOiAjNDEwOTAwO1xuICAtLWNwZC1jb2xvci15ZWxsb3ctNDAwOiAjNGMxNDAwO1xuICAtLWNwZC1jb2xvci15ZWxsb3ctNTAwOiAjNWMyNDAwO1xuICAtLWNwZC1jb2xvci15ZWxsb3ctNjAwOiAjNjgyZTAzO1xuICAtLWNwZC1jb2xvci15ZWxsb3ctNzAwOiAjN2MzZTAyO1xuICAtLWNwZC1jb2xvci15ZWxsb3ctODAwOiAjOWQ1YjAwO1xuICAtLWNwZC1jb2xvci15ZWxsb3ctOTAwOiAjYmM3YTAwO1xuICAtLWNwZC1jb2xvci15ZWxsb3ctMTAwMDogI2NjOGMwMDtcbiAgLS1jcGQtY29sb3IteWVsbG93LTExMDA6ICNkYjlmMDA7XG4gIC0tY3BkLWNvbG9yLXllbGxvdy0xMjAwOiAjZWZiYjBiO1xuICAtLWNwZC1jb2xvci15ZWxsb3ctMTMwMDogI2ZlZGI1ODtcbiAgLS1jcGQtY29sb3IteWVsbG93LTE0MDA6ICNmZmVkYjE7XG4gIC0tY3BkLWNvbG9yLWxpbWUtMTAwOiAjMDAxYjAwO1xuICAtLWNwZC1jb2xvci1saW1lLTIwMDogIzAwMjAwMDtcbiAgLS1jcGQtY29sb3ItbGltZS0zMDA6ICMwMDI2MDA7XG4gIC0tY3BkLWNvbG9yLWxpbWUtNDAwOiAjMDAzMDAwO1xuICAtLWNwZC1jb2xvci1saW1lLTUwMDogIzAwM2UwMDtcbiAgLS1jcGQtY29sb3ItbGltZS02MDA6ICMwMDRhMDA7XG4gIC0tY3BkLWNvbG9yLWxpbWUtNzAwOiAjMDA1YzAwO1xuICAtLWNwZC1jb2xvci1saW1lLTgwMDogIzFkN2MxMztcbiAgLS1jcGQtY29sb3ItbGltZS05MDA6ICMzODliMjA7XG4gIC0tY3BkLWNvbG9yLWxpbWUtMTAwMDogIzQ3YWQyNjtcbiAgLS1jcGQtY29sb3ItbGltZS0xMTAwOiAjNTZjMDJjO1xuICAtLWNwZC1jb2xvci1saW1lLTEyMDA6ICM3N2Q5NGY7XG4gIC0tY3BkLWNvbG9yLWxpbWUtMTMwMDogI2I2ZWNhMztcbiAgLS1jcGQtY29sb3ItbGltZS0xNDAwOiAjZGFmNmQwO1xuICAtLWNwZC1jb2xvci1ncmVlbi0xMDA6ICMwMDFjMGI7XG4gIC0tY3BkLWNvbG9yLWdyZWVuLTIwMDogIzAwMWYwZTtcbiAgLS1jcGQtY29sb3ItZ3JlZW4tMzAwOiAjMDAyNTEzO1xuICAtLWNwZC1jb2xvci1ncmVlbi00MDA6ICMwMDJlMWI7XG4gIC0tY3BkLWNvbG9yLWdyZWVuLTUwMDogIzAwM2QyOTtcbiAgLS1jcGQtY29sb3ItZ3JlZW4tNjAwOiAjMDA0ODMyO1xuICAtLWNwZC1jb2xvci1ncmVlbi03MDA6ICMwMDVhNDM7XG4gIC0tY3BkLWNvbG9yLWdyZWVuLTgwMDogIzAwN2E2MjtcbiAgLS1jcGQtY29sb3ItZ3JlZW4tOTAwOiAjMTI5YTc4O1xuICAtLWNwZC1jb2xvci1ncmVlbi0xMDAwOiAjMTdhYzg0O1xuICAtLWNwZC1jb2xvci1ncmVlbi0xMTAwOiAjMWZjMDkwO1xuICAtLWNwZC1jb2xvci1ncmVlbi0xMjAwOiAjNzJkNWFlO1xuICAtLWNwZC1jb2xvci1ncmVlbi0xMzAwOiAjYjVlOGQxO1xuICAtLWNwZC1jb2xvci1ncmVlbi0xNDAwOiAjZDlmNGU3O1xuICAtLWNwZC1jb2xvci1jeWFuLTEwMDogIzAwMTE0NDtcbiAgLS1jcGQtY29sb3ItY3lhbi0yMDA6ICMwMDE0NDg7XG4gIC0tY3BkLWNvbG9yLWN5YW4tMzAwOiAjMDAxYjRlO1xuICAtLWNwZC1jb2xvci1jeWFuLTQwMDogIzAwMjU1OTtcbiAgLS1jcGQtY29sb3ItY3lhbi01MDA6ICMwMDM0Njg7XG4gIC0tY3BkLWNvbG9yLWN5YW4tNjAwOiAjMDAzZjc1O1xuICAtLWNwZC1jb2xvci1jeWFuLTcwMDogIzAwNTE4ODtcbiAgLS1jcGQtY29sb3ItY3lhbi04MDA6ICMwMjcxYWE7XG4gIC0tY3BkLWNvbG9yLWN5YW4tOTAwOiAjMDA5M2JlO1xuICAtLWNwZC1jb2xvci1jeWFuLTEwMDA6ICMwMmE3YzY7XG4gIC0tY3BkLWNvbG9yLWN5YW4tMTEwMDogIzIxYmFjZDtcbiAgLS1jcGQtY29sb3ItY3lhbi0xMjAwOiAjNzhkMGRjO1xuICAtLWNwZC1jb2xvci1jeWFuLTEzMDA6ICNiOGU1ZWI7XG4gIC0tY3BkLWNvbG9yLWN5YW4tMTQwMDogI2RiZjJmNTtcbiAgLS1jcGQtY29sb3ItYmx1ZS0xMDA6ICMwMDA1NWE7XG4gIC0tY3BkLWNvbG9yLWJsdWUtMjAwOiAjMDAwOTVkO1xuICAtLWNwZC1jb2xvci1ibHVlLTMwMDogIzAwMTI2NDtcbiAgLS1jcGQtY29sb3ItYmx1ZS00MDA6ICMwMDFlNmY7XG4gIC0tY3BkLWNvbG9yLWJsdWUtNTAwOiAjMDYyZDgwO1xuICAtLWNwZC1jb2xvci1ibHVlLTYwMDogIzA4Mzg5MTtcbiAgLS1jcGQtY29sb3ItYmx1ZS03MDA6ICMwYjQ5YWI7XG4gIC0tY3BkLWNvbG9yLWJsdWUtODAwOiAjMGU2N2Q5O1xuICAtLWNwZC1jb2xvci1ibHVlLTkwMDogIzQxODdlYjtcbiAgLS1jcGQtY29sb3ItYmx1ZS0xMDAwOiAjNWU5OWYwO1xuICAtLWNwZC1jb2xvci1ibHVlLTExMDA6ICM3YWFjZjQ7XG4gIC0tY3BkLWNvbG9yLWJsdWUtMTIwMDogI2ExYzRmODtcbiAgLS1jcGQtY29sb3ItYmx1ZS0xMzAwOiAjY2JkZmZjO1xuICAtLWNwZC1jb2xvci1ibHVlLTE0MDA6ICNlNGVlZmU7XG4gIC0tY3BkLWNvbG9yLXB1cnBsZS0xMDA6ICMxYTAwNTU7XG4gIC0tY3BkLWNvbG9yLXB1cnBsZS0yMDA6ICMxYzAwNWE7XG4gIC0tY3BkLWNvbG9yLXB1cnBsZS0zMDA6ICMyMjAwNmE7XG4gIC0tY3BkLWNvbG9yLXB1cnBsZS00MDA6ICMyYzAwODA7XG4gIC0tY3BkLWNvbG9yLXB1cnBsZS01MDA6ICMzZDAwOWU7XG4gIC0tY3BkLWNvbG9yLXB1cnBsZS02MDA6ICM0YTBkYjE7XG4gIC0tY3BkLWNvbG9yLXB1cnBsZS03MDA6ICM1YTI3YzY7XG4gIC0tY3BkLWNvbG9yLXB1cnBsZS04MDA6ICM3ODQ5ZWM7XG4gIC0tY3BkLWNvbG9yLXB1cnBsZS05MDA6ICM5MTcxZjk7XG4gIC0tY3BkLWNvbG9yLXB1cnBsZS0xMDAwOiAjOWU4N2ZjO1xuICAtLWNwZC1jb2xvci1wdXJwbGUtMTEwMDogI2FkOWNmZTtcbiAgLS1jcGQtY29sb3ItcHVycGxlLTEyMDA6ICNjNGJhZmY7XG4gIC0tY3BkLWNvbG9yLXB1cnBsZS0xMzAwOiAjZGVkYWZmO1xuICAtLWNwZC1jb2xvci1wdXJwbGUtMTQwMDogI2VlZWJmZjtcbiAgLS1jcGQtY29sb3ItZnVjaHNpYS0xMDA6ICMyODAwM2Q7XG4gIC0tY3BkLWNvbG9yLWZ1Y2hzaWEtMjAwOiAjMmUwMDQ0O1xuICAtLWNwZC1jb2xvci1mdWNoc2lhLTMwMDogIzM3MDA0ZTtcbiAgLS1jcGQtY29sb3ItZnVjaHNpYS00MDA6ICM0NjAwNWU7XG4gIC0tY3BkLWNvbG9yLWZ1Y2hzaWEtNTAwOiAjNTYwZjZmO1xuICAtLWNwZC1jb2xvci1mdWNoc2lhLTYwMDogIzY1MTc3ZDtcbiAgLS1jcGQtY29sb3ItZnVjaHNpYS03MDA6ICM3ZDIzOTQ7XG4gIC0tY3BkLWNvbG9yLWZ1Y2hzaWEtODAwOiAjYWEzNmJhO1xuICAtLWNwZC1jb2xvci1mdWNoc2lhLTkwMDogI2M1NjBjZjtcbiAgLS1jcGQtY29sb3ItZnVjaHNpYS0xMDAwOiAjY2Y3OGQ3O1xuICAtLWNwZC1jb2xvci1mdWNoc2lhLTExMDA6ICNkOTkxZGU7XG4gIC0tY3BkLWNvbG9yLWZ1Y2hzaWEtMTIwMDogI2U1YjFlOTtcbiAgLS1jcGQtY29sb3ItZnVjaHNpYS0xMzAwOiAjZjFkNGYzO1xuICAtLWNwZC1jb2xvci1mdWNoc2lhLTE0MDA6ICNmOGU5Zjk7XG4gIC0tY3BkLWNvbG9yLXBpbmstMTAwOiAjMzcwMDBmO1xuICAtLWNwZC1jb2xvci1waW5rLTIwMDogIzNjMDAxMjtcbiAgLS1jcGQtY29sb3ItcGluay0zMDA6ICM0NTAwMTg7XG4gIC0tY3BkLWNvbG9yLXBpbmstNDAwOiAjNTUwMDI0O1xuICAtLWNwZC1jb2xvci1waW5rLTUwMDogIzZkMDAzNjtcbiAgLS1jcGQtY29sb3ItcGluay02MDA6ICM3YzBjNDE7XG4gIC0tY3BkLWNvbG9yLXBpbmstNzAwOiAjOTkxMTRmO1xuICAtLWNwZC1jb2xvci1waW5rLTgwMDogI2NlMTg2NTtcbiAgLS1jcGQtY29sb3ItcGluay05MDA6ICNmNDQyN2Q7XG4gIC0tY3BkLWNvbG9yLXBpbmstMTAwMDogI2ZhNjU4ZjtcbiAgLS1jcGQtY29sb3ItcGluay0xMTAwOiAjZmU4NGEyO1xuICAtLWNwZC1jb2xvci1waW5rLTEyMDA6ICNmZmFiYmU7XG4gIC0tY3BkLWNvbG9yLXBpbmstMTMwMDogI2ZmZDJkYztcbiAgLS1jcGQtY29sb3ItcGluay0xNDAwOiAjZmZlOGVkO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ncmF5LTEwMDogaHNsYSgyMTQsIDEwJSwgODYlLCAwLjAyKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZ3JheS0yMDA6IGhzbGEoMjg2LCAzMSUsIDgyJSwgMC4wNCk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWdyYXktMzAwOiBoc2xhKDI4MCwgNDElLCA5MCUsIDAuMDYpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ncmF5LTQwMDogaHNsYSgyNzAsIDM3JSwgOTMlLCAwLjEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ncmF5LTUwMDogaHNsYSgyMTQsIDQxJSwgOTclLCAwLjE1KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZ3JheS02MDA6IGhzbGEoMjI1LCA0NiUsIDk1JSwgMC4yKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZ3JheS03MDA6IGhzbGEoMjEzLCA4NSUsIDk1JSwgMC4yNyk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWdyYXktODAwOiBoc2xhKDIxNiwgMTAwJSwgOTQlLCAwLjQxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZ3JheS05MDA6IGhzbGEoMjExLCA5NCUsIDk0JSwgMC41NCk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWdyYXktMTAwMDogaHNsYSgyMTMsIDkzJSwgOTQlLCAwLjYxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZ3JheS0xMTAwOiBoc2xhKDIxNSwgOTIlLCA5NSUsIDAuNjgpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ncmF5LTEyMDA6IGhzbGEoMjE1LCA3NCUsIDk2JSwgMC43OSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWdyYXktMTMwMDogaHNsYSgyMTMsIDczJSwgOTclLCAwLjg5KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZ3JheS0xNDAwOiBoc2xhKDIxNCwgNzglLCA5OCUsIDAuOTUpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1yZWQtMTAwOiBoc2woMCwgMTAwJSwgMTElLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcmVkLTIwMDogaHNsKDAsIDEwMCUsIDEyJSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXJlZC0zMDA6IGhzbCgwLCAxMDAlLCAxNCUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1yZWQtNDAwOiBoc2woMCwgMTAwJSwgMTglLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcmVkLTUwMDogaHNsKDAsIDEwMCUsIDIyJSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXJlZC02MDA6IGhzbCgzNTYsIDEwMCUsIDI2JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXJlZC03MDA6IGhzbGEoMzU0LCA5OSUsIDUyJSwgMC42KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcmVkLTgwMDogaHNsYSgzNTcsIDk5JSwgNTclLCAwLjgxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcmVkLTkwMDogaHNsKDEsIDk4JSwgNjElLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcmVkLTEwMDA6IGhzbCgzLCAxMDAlLCA2OCUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1yZWQtMTEwMDogaHNsKDUsIDEwMCUsIDc0JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXJlZC0xMjAwOiBoc2woNywgMTAwJSwgODIlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcmVkLTEzMDA6IGhzbCg4LCAxMDAlLCA5MCUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1yZWQtMTQwMDogaHNsKDcsIDEwMCUsIDk1JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLW9yYW5nZS0xMDA6IGhzbCgwLCAxMDAlLCAxMSUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1vcmFuZ2UtMjAwOiBoc2woMCwgMTAwJSwgMTIlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtb3JhbmdlLTMwMDogaHNsKDAsIDEwMCUsIDE0JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLW9yYW5nZS00MDA6IGhzbCgwLCAxMDAlLCAxNyUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1vcmFuZ2UtNTAwOiBoc2woMCwgMTAwJSwgMjIlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtb3JhbmdlLTYwMDogaHNsKDIsIDEwMCUsIDI2JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLW9yYW5nZS03MDA6IGhzbGEoMTIsIDEwMCUsIDM5JSwgMC43NCk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLW9yYW5nZS04MDA6IGhzbGEoMjEsIDEwMCUsIDUwJSwgMC43MSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLW9yYW5nZS05MDA6IGhzbGEoMjYsIDk5JSwgNTIlLCAwLjg1KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtb3JhbmdlLTEwMDA6IGhzbGEoMjksIDk5JSwgNTMlLCAwLjkyKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtb3JhbmdlLTExMDA6IGhzbGEoMjcsIDk4JSwgNjIlLCAwLjk3KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtb3JhbmdlLTEyMDA6IGhzbGEoMjYsIDk3JSwgNzUlLCAwLjk5KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtb3JhbmdlLTEzMDA6IGhzbCgyNCwgMTAwJSwgODYlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtb3JhbmdlLTE0MDA6IGhzbCgyNSwgMTAwJSwgOTMlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEteWVsbG93LTEwMDogaHNsKDAsIDEwMCUsIDExJSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXllbGxvdy0yMDA6IGhzbCgzLCAxMDAlLCAxMSUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS15ZWxsb3ctMzAwOiBoc2woOCwgMTAwJSwgMTMlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEteWVsbG93LTQwMDogaHNsKDE2LCAxMDAlLCAxNSUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS15ZWxsb3ctNTAwOiBoc2woMjMsIDEwMCUsIDE4JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXllbGxvdy02MDA6IGhzbGEoMjYsIDEwMCUsIDIzJSwgMC44Nyk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXllbGxvdy03MDA6IGhzbGEoMzAsIDEwMCUsIDI2JSwgMC45Mik7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXllbGxvdy04MDA6IGhzbCgzNSwgMTAwJSwgMzElLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEteWVsbG93LTkwMDogaHNsKDM5LCAxMDAlLCAzNyUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS15ZWxsb3ctMTAwMDogaHNsKDQxLCAxMDAlLCA0MCUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS15ZWxsb3ctMTEwMDogaHNsKDQ0LCAxMDAlLCA0MyUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS15ZWxsb3ctMTIwMDogaHNsYSg0NiwgOTglLCA1MiUsIDAuOTQpO1xuICAtLWNwZC1jb2xvci1hbHBoYS15ZWxsb3ctMTMwMDogaHNsKDQ3LCA5OSUsIDY3JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXllbGxvdy0xNDAwOiBoc2woNDYsIDEwMCUsIDg1JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWxpbWUtMTAwOiBoc2woMTIwLCAxMDAlLCA1JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWxpbWUtMjAwOiBoc2woMTIwLCAxMDAlLCA2JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWxpbWUtMzAwOiBoc2woMTIwLCAxMDAlLCA4JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWxpbWUtNDAwOiBoc2woMTIwLCAxMDAlLCA5JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWxpbWUtNTAwOiBoc2woMTIwLCAxMDAlLCAxMiUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1saW1lLTYwMDogaHNsKDEyMCwgMTAwJSwgMTUlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtbGltZS03MDA6IGhzbCgxMjAsIDEwMCUsIDE4JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWxpbWUtODAwOiBoc2xhKDExMiwgOTglLCA1MiUsIDAuNDUpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1saW1lLTkwMDogaHNsYSgxMDcsIDk4JSwgNTclLCAwLjU4KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtbGltZS0xMDAwOiBoc2xhKDEwNSwgOTclLCA1OCUsIDAuNjYpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1saW1lLTExMDA6IGhzbGEoMTAyLCA5OCUsIDYwJSwgMC43NCk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWxpbWUtMTIwMDogaHNsYSgxMDIsIDEwMCUsIDY4JSwgMC44NCk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWxpbWUtMTMwMDogaHNsYSgxMDQsIDEwMCUsIDg0JSwgMC45Mik7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWxpbWUtMTQwMDogaHNsYSgxMDUsIDkxJSwgOTIlLCAwLjk3KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZ3JlZW4tMTAwOiBoc2woMTQ0LCAxMDAlLCA2JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWdyZWVuLTIwMDogaHNsKDE0NywgMTAwJSwgNiUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ncmVlbi0zMDA6IGhzbCgxNTEsIDEwMCUsIDclLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZ3JlZW4tNDAwOiBoc2woMTU1LCAxMDAlLCA5JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWdyZWVuLTUwMDogaHNsKDE2MCwgMTAwJSwgMTIlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZ3JlZW4tNjAwOiBoc2woMTYyLCAxMDAlLCAxNCUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ncmVlbi03MDA6IGhzbCgxNjUsIDEwMCUsIDE4JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWdyZWVuLTgwMDogaHNsKDE2OCwgMTAwJSwgMjQlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZ3JlZW4tOTAwOiBoc2xhKDE2NCwgOTglLCA1MyUsIDAuNTgpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ncmVlbi0xMDAwOiBoc2xhKDE2MywgOTklLCA1NSUsIDAuNjUpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ncmVlbi0xMTAwOiBoc2xhKDE2MiwgOTglLCA1NyUsIDAuNzQpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ncmVlbi0xMjAwOiBoc2xhKDE1NiwgOTclLCA3NiUsIDAuODMpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ncmVlbi0xMzAwOiBoc2xhKDE1MiwgOTMlLCA4OCUsIDAuOTEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ncmVlbi0xNDAwOiBoc2xhKDE1MiwgODglLCA5NCUsIDAuOTYpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1jeWFuLTEwMDogaHNsKDIyNSwgMTAwJSwgMTMlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtY3lhbi0yMDA6IGhzbCgyMjMsIDEwMCUsIDE0JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWN5YW4tMzAwOiBoc2woMjE5LCAxMDAlLCAxNSUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1jeWFuLTQwMDogaHNsKDIxNSwgMTAwJSwgMTglLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtY3lhbi01MDA6IGhzbCgyMTAsIDEwMCUsIDIwJSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWN5YW4tNjAwOiBoc2woMjA4LCAxMDAlLCAyMyUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1jeWFuLTcwMDogaHNsKDIwNCwgMTAwJSwgMjclLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtY3lhbi04MDA6IGhzbGEoMjAwLCAxMDAlLCAzNyUsIDAuODgpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1jeWFuLTkwMDogaHNsKDE5NCwgMTAwJSwgMzclLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtY3lhbi0xMDAwOiBoc2xhKDE4OSwgMTAwJSwgNDQlLCAwLjg4KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtY3lhbi0xMTAwOiBoc2xhKDE4NiwgOTglLCA1NyUsIDAuNzkpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1jeWFuLTEyMDA6IGhzbGEoMTg3LCAxMDAlLCA3NyUsIDAuODUpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1jeWFuLTEzMDA6IGhzbGEoMTg3LCA5MyUsIDg5JSwgMC45Mik7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWN5YW4tMTQwMDogaHNsYSgxODcsIDkzJSwgOTQlLCAwLjk2KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtYmx1ZS0xMDA6IGhzbCgyMzcsIDEwMCUsIDE4JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWJsdWUtMjAwOiBoc2woMjM0LCAxMDAlLCAxOCUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ibHVlLTMwMDogaHNsKDIyOSwgMTAwJSwgMjAlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtYmx1ZS00MDA6IGhzbCgyMjQsIDEwMCUsIDIyJSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWJsdWUtNTAwOiBoc2xhKDIyMSwgMTAwJSwgMzclLCAwLjYzKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtYmx1ZS02MDA6IGhzbGEoMjE5LCA5OSUsIDUwJSwgMC41Myk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWJsdWUtNzAwOiBoc2xhKDIxNywgOTklLCA1MSUsIDAuNjQpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ibHVlLTgwMDogaHNsYSgyMTQsIDk5JSwgNTMlLCAwLjg0KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtYmx1ZS05MDA6IGhzbGEoMjE1LCA5OCUsIDYzJSwgMC45Mik7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWJsdWUtMTAwMDogaHNsYSgyMTYsIDk5JSwgNjklLCAwLjk0KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtYmx1ZS0xMTAwOiBoc2xhKDIxNSwgOTclLCA3NCUsIDAuOTYpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ibHVlLTEyMDA6IGhzbGEoMjE2LCAxMDAlLCA4MiUsIDAuOTcpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ibHVlLTEzMDA6IGhzbGEoMjE2LCA5NiUsIDkwJSwgMC45OSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWJsdWUtMTQwMDogaHNsKDIxNywgOTMlLCA5NSUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1wdXJwbGUtMTAwOiBoc2woMjU4LCAxMDAlLCAxNyUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1wdXJwbGUtMjAwOiBoc2woMjU5LCAxMDAlLCAxOCUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1wdXJwbGUtMzAwOiBoc2woMjU5LCAxMDAlLCAyMSUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1wdXJwbGUtNDAwOiBoc2woMjYxLCAxMDAlLCAyNSUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1wdXJwbGUtNTAwOiBoc2woMjYzLCAxMDAlLCAzMSUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1wdXJwbGUtNjAwOiBoc2xhKDI2MywgOTglLCA1MiUsIDAuNjcpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1wdXJwbGUtNzAwOiBoc2xhKDI2MCwgOTglLCA1OCUsIDAuNzYpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1wdXJwbGUtODAwOiBoc2xhKDI1NywgMTAwJSwgNjUlLCAwLjkyKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcHVycGxlLTkwMDogaHNsYSgyNTQsIDk5JSwgNzIlLCAwLjk4KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcHVycGxlLTEwMDA6IGhzbGEoMjUyLCA5OCUsIDc3JSwgMC45OSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXB1cnBsZS0xMTAwOiBoc2woMjUwLCA5OCUsIDgwJSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXB1cnBsZS0xMjAwOiBoc2woMjQ5LCAxMDAlLCA4NyUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1wdXJwbGUtMTMwMDogaHNsKDI0NiwgMTAwJSwgOTMlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcHVycGxlLTE0MDA6IGhzbCgyNDksIDEwMCUsIDk2JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWZ1Y2hzaWEtMTAwOiBoc2woMjc5LCAxMDAlLCAxMiUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1mdWNoc2lhLTIwMDogaHNsKDI4MSwgMTAwJSwgMTMlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZnVjaHNpYS0zMDA6IGhzbCgyODIsIDEwMCUsIDE1JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWZ1Y2hzaWEtNDAwOiBoc2woMjg1LCAxMDAlLCAxOCUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1mdWNoc2lhLTUwMDogaHNsYSgyODcsIDEwMCUsIDUyJSwgMC4zOCk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWZ1Y2hzaWEtNjAwOiBoc2xhKDI4OCwgMTAwJSwgNTYlLCAwLjQ0KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZnVjaHNpYS03MDA6IGhzbGEoMjg5LCA5OSUsIDU5JSwgMC41NCk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWZ1Y2hzaWEtODAwOiBoc2xhKDI5NCwgOTglLCA2MyUsIDAuNzEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1mdWNoc2lhLTkwMDogaHNsYSgyOTUsIDk3JSwgNzIlLCAwLjgpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1mdWNoc2lhLTEwMDA6IGhzbGEoMjk2LCA5OCUsIDc4JSwgMC44Myk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWZ1Y2hzaWEtMTEwMDogaHNsYSgyOTcsIDk4JSwgODIlLCAwLjg2KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZnVjaHNpYS0xMjAwOiBoc2xhKDI5NiwgOTclLCA4OCUsIDAuOTEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1mdWNoc2lhLTEzMDA6IGhzbGEoMjk2LCAxMDAlLCA5NCUsIDAuOTUpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1mdWNoc2lhLTE0MDA6IGhzbGEoMjk2LCA5MCUsIDk2JSwgMC45OCk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXBpbmstMTAwOiBoc2woMzQ0LCAxMDAlLCAxMSUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1waW5rLTIwMDogaHNsKDM0MiwgMTAwJSwgMTIlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcGluay0zMDA6IGhzbCgzMzksIDEwMCUsIDE0JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXBpbmstNDAwOiBoc2woMzM1LCAxMDAlLCAxNyUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1waW5rLTUwMDogaHNsKDMzMCwgMTAwJSwgMjElLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcGluay02MDA6IGhzbGEoMzMzLCA5NyUsIDUwJSwgMC40Nik7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXBpbmstNzAwOiBoc2xhKDMzNCwgOTglLCA1MyUsIDAuNTgpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1waW5rLTgwMDogaHNsYSgzMzUsIDk5JSwgNTUlLCAwLjgpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1waW5rLTkwMDogaHNsYSgzNDAsIDk5JSwgNjMlLCAwLjk2KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcGluay0xMDAwOiBoc2xhKDM0MywgMTAwJSwgNzAlLCAwLjk4KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcGluay0xMTAwOiBoc2woMzQ1LCA5OCUsIDc2JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXBpbmstMTIwMDogaHNsKDM0NiwgMTAwJSwgODQlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcGluay0xMzAwOiBoc2woMzQ3LCAxMDAlLCA5MSUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1waW5rLTE0MDA6IGhzbCgzNDcsIDEwMCUsIDk2JSwgMSk7XG59XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBsYXllciBjb21wb3VuZCB7XG5cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAocHJlZmVycy1jb2xvci1zY2hlbWU6IGRhcmspIHtcblxuICAgICAgICBAbGF5ZXIgY3BkLWJhc2Uge1xuOnJvb3Qge1xuICAtLWNwZC1jb2xvci10aGVtZS1iZzogIzEwMTMxNztcbiAgLS1jcGQtY29sb3ItZ3JheS0xMDA6ICMxNDE3MWI7XG4gIC0tY3BkLWNvbG9yLWdyYXktMjAwOiAjMTgxYTFmO1xuICAtLWNwZC1jb2xvci1ncmF5LTMwMDogIzFkMWYyNDtcbiAgLS1jcGQtY29sb3ItZ3JheS00MDA6ICMyNjI4MmQ7XG4gIC0tY3BkLWNvbG9yLWdyYXktNTAwOiAjMzIzNTM5O1xuICAtLWNwZC1jb2xvci1ncmF5LTYwMDogIzNjM2Y0NDtcbiAgLS1jcGQtY29sb3ItZ3JheS03MDA6ICM0YTRmNTU7XG4gIC0tY3BkLWNvbG9yLWdyYXktODAwOiAjNjU2Yzc2O1xuICAtLWNwZC1jb2xvci1ncmF5LTkwMDogIzgwODk5NDtcbiAgLS1jcGQtY29sb3ItZ3JheS0xMDAwOiAjOTE5OWE0O1xuICAtLWNwZC1jb2xvci1ncmF5LTExMDA6ICNhM2FhYjQ7XG4gIC0tY3BkLWNvbG9yLWdyYXktMTIwMDogI2JkYzNjYztcbiAgLS1jcGQtY29sb3ItZ3JheS0xMzAwOiAjZDlkZWU0O1xuICAtLWNwZC1jb2xvci1ncmF5LTE0MDA6ICNlYmVlZjI7XG4gIC0tY3BkLWNvbG9yLXJlZC0xMDA6ICMzNzAwMDA7XG4gIC0tY3BkLWNvbG9yLXJlZC0yMDA6ICMzZTAwMDA7XG4gIC0tY3BkLWNvbG9yLXJlZC0zMDA6ICM0NzAwMDA7XG4gIC0tY3BkLWNvbG9yLXJlZC00MDA6ICM1OTAwMDA7XG4gIC0tY3BkLWNvbG9yLXJlZC01MDA6ICM3MTAwMDA7XG4gIC0tY3BkLWNvbG9yLXJlZC02MDA6ICM4MzAwMDk7XG4gIC0tY3BkLWNvbG9yLXJlZC03MDA6ICM5ZjBkMWU7XG4gIC0tY3BkLWNvbG9yLXJlZC04MDA6ICNkMTIxMmE7XG4gIC0tY3BkLWNvbG9yLXJlZC05MDA6ICNmZDNlM2M7XG4gIC0tY3BkLWNvbG9yLXJlZC0xMDAwOiAjZmY2NjVkO1xuICAtLWNwZC1jb2xvci1yZWQtMTEwMDogI2ZmODc3YztcbiAgLS1jcGQtY29sb3ItcmVkLTEyMDA6ICNmZmFlYTQ7XG4gIC0tY3BkLWNvbG9yLXJlZC0xMzAwOiAjZmZkNGNkO1xuICAtLWNwZC1jb2xvci1yZWQtMTQwMDogI2ZmZTllNjtcbiAgLS1jcGQtY29sb3Itb3JhbmdlLTEwMDogIzM4MDAwMDtcbiAgLS1jcGQtY29sb3Itb3JhbmdlLTIwMDogIzNjMDAwMDtcbiAgLS1jcGQtY29sb3Itb3JhbmdlLTMwMDogIzQ3MDAwMDtcbiAgLS1jcGQtY29sb3Itb3JhbmdlLTQwMDogIzU4MDAwMDtcbiAgLS1jcGQtY29sb3Itb3JhbmdlLTUwMDogIzcxMDAwMDtcbiAgLS1jcGQtY29sb3Itb3JhbmdlLTYwMDogIzgzMDUwMDtcbiAgLS1jcGQtY29sb3Itb3JhbmdlLTcwMDogIzk3MjIwNjtcbiAgLS1jcGQtY29sb3Itb3JhbmdlLTgwMDogI2I5NDYwNztcbiAgLS1jcGQtY29sb3Itb3JhbmdlLTkwMDogI2RhNjcwZDtcbiAgLS1jcGQtY29sb3Itb3JhbmdlLTEwMDA6ICNlYjdhMTI7XG4gIC0tY3BkLWNvbG9yLW9yYW5nZS0xMTAwOiAjZjY5MTNkO1xuICAtLWNwZC1jb2xvci1vcmFuZ2UtMTIwMDogI2ZiYjM3ZTtcbiAgLS1jcGQtY29sb3Itb3JhbmdlLTEzMDA6ICNmZmQ1Yjk7XG4gIC0tY3BkLWNvbG9yLW9yYW5nZS0xNDAwOiAjZmZlYWRiO1xuICAtLWNwZC1jb2xvci15ZWxsb3ctMTAwOiAjMzYwMDAwO1xuICAtLWNwZC1jb2xvci15ZWxsb3ctMjAwOiAjM2EwMzAwO1xuICAtLWNwZC1jb2xvci15ZWxsb3ctMzAwOiAjNDEwOTAwO1xuICAtLWNwZC1jb2xvci15ZWxsb3ctNDAwOiAjNGMxNDAwO1xuICAtLWNwZC1jb2xvci15ZWxsb3ctNTAwOiAjNWMyNDAwO1xuICAtLWNwZC1jb2xvci15ZWxsb3ctNjAwOiAjNjgyZTAzO1xuICAtLWNwZC1jb2xvci15ZWxsb3ctNzAwOiAjN2MzZTAyO1xuICAtLWNwZC1jb2xvci15ZWxsb3ctODAwOiAjOWQ1YjAwO1xuICAtLWNwZC1jb2xvci15ZWxsb3ctOTAwOiAjYmM3YTAwO1xuICAtLWNwZC1jb2xvci15ZWxsb3ctMTAwMDogI2NjOGMwMDtcbiAgLS1jcGQtY29sb3IteWVsbG93LTExMDA6ICNkYjlmMDA7XG4gIC0tY3BkLWNvbG9yLXllbGxvdy0xMjAwOiAjZWZiYjBiO1xuICAtLWNwZC1jb2xvci15ZWxsb3ctMTMwMDogI2ZlZGI1ODtcbiAgLS1jcGQtY29sb3IteWVsbG93LTE0MDA6ICNmZmVkYjE7XG4gIC0tY3BkLWNvbG9yLWxpbWUtMTAwOiAjMDAxYjAwO1xuICAtLWNwZC1jb2xvci1saW1lLTIwMDogIzAwMjAwMDtcbiAgLS1jcGQtY29sb3ItbGltZS0zMDA6ICMwMDI2MDA7XG4gIC0tY3BkLWNvbG9yLWxpbWUtNDAwOiAjMDAzMDAwO1xuICAtLWNwZC1jb2xvci1saW1lLTUwMDogIzAwM2UwMDtcbiAgLS1jcGQtY29sb3ItbGltZS02MDA6ICMwMDRhMDA7XG4gIC0tY3BkLWNvbG9yLWxpbWUtNzAwOiAjMDA1YzAwO1xuICAtLWNwZC1jb2xvci1saW1lLTgwMDogIzFkN2MxMztcbiAgLS1jcGQtY29sb3ItbGltZS05MDA6ICMzODliMjA7XG4gIC0tY3BkLWNvbG9yLWxpbWUtMTAwMDogIzQ3YWQyNjtcbiAgLS1jcGQtY29sb3ItbGltZS0xMTAwOiAjNTZjMDJjO1xuICAtLWNwZC1jb2xvci1saW1lLTEyMDA6ICM3N2Q5NGY7XG4gIC0tY3BkLWNvbG9yLWxpbWUtMTMwMDogI2I2ZWNhMztcbiAgLS1jcGQtY29sb3ItbGltZS0xNDAwOiAjZGFmNmQwO1xuICAtLWNwZC1jb2xvci1ncmVlbi0xMDA6ICMwMDFjMGI7XG4gIC0tY3BkLWNvbG9yLWdyZWVuLTIwMDogIzAwMWYwZTtcbiAgLS1jcGQtY29sb3ItZ3JlZW4tMzAwOiAjMDAyNTEzO1xuICAtLWNwZC1jb2xvci1ncmVlbi00MDA6ICMwMDJlMWI7XG4gIC0tY3BkLWNvbG9yLWdyZWVuLTUwMDogIzAwM2QyOTtcbiAgLS1jcGQtY29sb3ItZ3JlZW4tNjAwOiAjMDA0ODMyO1xuICAtLWNwZC1jb2xvci1ncmVlbi03MDA6ICMwMDVhNDM7XG4gIC0tY3BkLWNvbG9yLWdyZWVuLTgwMDogIzAwN2E2MjtcbiAgLS1jcGQtY29sb3ItZ3JlZW4tOTAwOiAjMTI5YTc4O1xuICAtLWNwZC1jb2xvci1ncmVlbi0xMDAwOiAjMTdhYzg0O1xuICAtLWNwZC1jb2xvci1ncmVlbi0xMTAwOiAjMWZjMDkwO1xuICAtLWNwZC1jb2xvci1ncmVlbi0xMjAwOiAjNzJkNWFlO1xuICAtLWNwZC1jb2xvci1ncmVlbi0xMzAwOiAjYjVlOGQxO1xuICAtLWNwZC1jb2xvci1ncmVlbi0xNDAwOiAjZDlmNGU3O1xuICAtLWNwZC1jb2xvci1jeWFuLTEwMDogIzAwMTE0NDtcbiAgLS1jcGQtY29sb3ItY3lhbi0yMDA6ICMwMDE0NDg7XG4gIC0tY3BkLWNvbG9yLWN5YW4tMzAwOiAjMDAxYjRlO1xuICAtLWNwZC1jb2xvci1jeWFuLTQwMDogIzAwMjU1OTtcbiAgLS1jcGQtY29sb3ItY3lhbi01MDA6ICMwMDM0Njg7XG4gIC0tY3BkLWNvbG9yLWN5YW4tNjAwOiAjMDAzZjc1O1xuICAtLWNwZC1jb2xvci1jeWFuLTcwMDogIzAwNTE4ODtcbiAgLS1jcGQtY29sb3ItY3lhbi04MDA6ICMwMjcxYWE7XG4gIC0tY3BkLWNvbG9yLWN5YW4tOTAwOiAjMDA5M2JlO1xuICAtLWNwZC1jb2xvci1jeWFuLTEwMDA6ICMwMmE3YzY7XG4gIC0tY3BkLWNvbG9yLWN5YW4tMTEwMDogIzIxYmFjZDtcbiAgLS1jcGQtY29sb3ItY3lhbi0xMjAwOiAjNzhkMGRjO1xuICAtLWNwZC1jb2xvci1jeWFuLTEzMDA6ICNiOGU1ZWI7XG4gIC0tY3BkLWNvbG9yLWN5YW4tMTQwMDogI2RiZjJmNTtcbiAgLS1jcGQtY29sb3ItYmx1ZS0xMDA6ICMwMDA1NWE7XG4gIC0tY3BkLWNvbG9yLWJsdWUtMjAwOiAjMDAwOTVkO1xuICAtLWNwZC1jb2xvci1ibHVlLTMwMDogIzAwMTI2NDtcbiAgLS1jcGQtY29sb3ItYmx1ZS00MDA6ICMwMDFlNmY7XG4gIC0tY3BkLWNvbG9yLWJsdWUtNTAwOiAjMDYyZDgwO1xuICAtLWNwZC1jb2xvci1ibHVlLTYwMDogIzA4Mzg5MTtcbiAgLS1jcGQtY29sb3ItYmx1ZS03MDA6ICMwYjQ5YWI7XG4gIC0tY3BkLWNvbG9yLWJsdWUtODAwOiAjMGU2N2Q5O1xuICAtLWNwZC1jb2xvci1ibHVlLTkwMDogIzQxODdlYjtcbiAgLS1jcGQtY29sb3ItYmx1ZS0xMDAwOiAjNWU5OWYwO1xuICAtLWNwZC1jb2xvci1ibHVlLTExMDA6ICM3YWFjZjQ7XG4gIC0tY3BkLWNvbG9yLWJsdWUtMTIwMDogI2ExYzRmODtcbiAgLS1jcGQtY29sb3ItYmx1ZS0xMzAwOiAjY2JkZmZjO1xuICAtLWNwZC1jb2xvci1ibHVlLTE0MDA6ICNlNGVlZmU7XG4gIC0tY3BkLWNvbG9yLXB1cnBsZS0xMDA6ICMxYTAwNTU7XG4gIC0tY3BkLWNvbG9yLXB1cnBsZS0yMDA6ICMxYzAwNWE7XG4gIC0tY3BkLWNvbG9yLXB1cnBsZS0zMDA6ICMyMjAwNmE7XG4gIC0tY3BkLWNvbG9yLXB1cnBsZS00MDA6ICMyYzAwODA7XG4gIC0tY3BkLWNvbG9yLXB1cnBsZS01MDA6ICMzZDAwOWU7XG4gIC0tY3BkLWNvbG9yLXB1cnBsZS02MDA6ICM0YTBkYjE7XG4gIC0tY3BkLWNvbG9yLXB1cnBsZS03MDA6ICM1YTI3YzY7XG4gIC0tY3BkLWNvbG9yLXB1cnBsZS04MDA6ICM3ODQ5ZWM7XG4gIC0tY3BkLWNvbG9yLXB1cnBsZS05MDA6ICM5MTcxZjk7XG4gIC0tY3BkLWNvbG9yLXB1cnBsZS0xMDAwOiAjOWU4N2ZjO1xuICAtLWNwZC1jb2xvci1wdXJwbGUtMTEwMDogI2FkOWNmZTtcbiAgLS1jcGQtY29sb3ItcHVycGxlLTEyMDA6ICNjNGJhZmY7XG4gIC0tY3BkLWNvbG9yLXB1cnBsZS0xMzAwOiAjZGVkYWZmO1xuICAtLWNwZC1jb2xvci1wdXJwbGUtMTQwMDogI2VlZWJmZjtcbiAgLS1jcGQtY29sb3ItZnVjaHNpYS0xMDA6ICMyODAwM2Q7XG4gIC0tY3BkLWNvbG9yLWZ1Y2hzaWEtMjAwOiAjMmUwMDQ0O1xuICAtLWNwZC1jb2xvci1mdWNoc2lhLTMwMDogIzM3MDA0ZTtcbiAgLS1jcGQtY29sb3ItZnVjaHNpYS00MDA6ICM0NjAwNWU7XG4gIC0tY3BkLWNvbG9yLWZ1Y2hzaWEtNTAwOiAjNTYwZjZmO1xuICAtLWNwZC1jb2xvci1mdWNoc2lhLTYwMDogIzY1MTc3ZDtcbiAgLS1jcGQtY29sb3ItZnVjaHNpYS03MDA6ICM3ZDIzOTQ7XG4gIC0tY3BkLWNvbG9yLWZ1Y2hzaWEtODAwOiAjYWEzNmJhO1xuICAtLWNwZC1jb2xvci1mdWNoc2lhLTkwMDogI2M1NjBjZjtcbiAgLS1jcGQtY29sb3ItZnVjaHNpYS0xMDAwOiAjY2Y3OGQ3O1xuICAtLWNwZC1jb2xvci1mdWNoc2lhLTExMDA6ICNkOTkxZGU7XG4gIC0tY3BkLWNvbG9yLWZ1Y2hzaWEtMTIwMDogI2U1YjFlOTtcbiAgLS1jcGQtY29sb3ItZnVjaHNpYS0xMzAwOiAjZjFkNGYzO1xuICAtLWNwZC1jb2xvci1mdWNoc2lhLTE0MDA6ICNmOGU5Zjk7XG4gIC0tY3BkLWNvbG9yLXBpbmstMTAwOiAjMzcwMDBmO1xuICAtLWNwZC1jb2xvci1waW5rLTIwMDogIzNjMDAxMjtcbiAgLS1jcGQtY29sb3ItcGluay0zMDA6ICM0NTAwMTg7XG4gIC0tY3BkLWNvbG9yLXBpbmstNDAwOiAjNTUwMDI0O1xuICAtLWNwZC1jb2xvci1waW5rLTUwMDogIzZkMDAzNjtcbiAgLS1jcGQtY29sb3ItcGluay02MDA6ICM3YzBjNDE7XG4gIC0tY3BkLWNvbG9yLXBpbmstNzAwOiAjOTkxMTRmO1xuICAtLWNwZC1jb2xvci1waW5rLTgwMDogI2NlMTg2NTtcbiAgLS1jcGQtY29sb3ItcGluay05MDA6ICNmNDQyN2Q7XG4gIC0tY3BkLWNvbG9yLXBpbmstMTAwMDogI2ZhNjU4ZjtcbiAgLS1jcGQtY29sb3ItcGluay0xMTAwOiAjZmU4NGEyO1xuICAtLWNwZC1jb2xvci1waW5rLTEyMDA6ICNmZmFiYmU7XG4gIC0tY3BkLWNvbG9yLXBpbmstMTMwMDogI2ZmZDJkYztcbiAgLS1jcGQtY29sb3ItcGluay0xNDAwOiAjZmZlOGVkO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ncmF5LTEwMDogaHNsYSgyMTQsIDEwJSwgODYlLCAwLjAyKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZ3JheS0yMDA6IGhzbGEoMjg2LCAzMSUsIDgyJSwgMC4wNCk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWdyYXktMzAwOiBoc2xhKDI4MCwgNDElLCA5MCUsIDAuMDYpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ncmF5LTQwMDogaHNsYSgyNzAsIDM3JSwgOTMlLCAwLjEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ncmF5LTUwMDogaHNsYSgyMTQsIDQxJSwgOTclLCAwLjE1KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZ3JheS02MDA6IGhzbGEoMjI1LCA0NiUsIDk1JSwgMC4yKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZ3JheS03MDA6IGhzbGEoMjEzLCA4NSUsIDk1JSwgMC4yNyk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWdyYXktODAwOiBoc2xhKDIxNiwgMTAwJSwgOTQlLCAwLjQxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZ3JheS05MDA6IGhzbGEoMjExLCA5NCUsIDk0JSwgMC41NCk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWdyYXktMTAwMDogaHNsYSgyMTMsIDkzJSwgOTQlLCAwLjYxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZ3JheS0xMTAwOiBoc2xhKDIxNSwgOTIlLCA5NSUsIDAuNjgpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ncmF5LTEyMDA6IGhzbGEoMjE1LCA3NCUsIDk2JSwgMC43OSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWdyYXktMTMwMDogaHNsYSgyMTMsIDczJSwgOTclLCAwLjg5KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZ3JheS0xNDAwOiBoc2xhKDIxNCwgNzglLCA5OCUsIDAuOTUpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1yZWQtMTAwOiBoc2woMCwgMTAwJSwgMTElLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcmVkLTIwMDogaHNsKDAsIDEwMCUsIDEyJSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXJlZC0zMDA6IGhzbCgwLCAxMDAlLCAxNCUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1yZWQtNDAwOiBoc2woMCwgMTAwJSwgMTglLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcmVkLTUwMDogaHNsKDAsIDEwMCUsIDIyJSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXJlZC02MDA6IGhzbCgzNTYsIDEwMCUsIDI2JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXJlZC03MDA6IGhzbGEoMzU0LCA5OSUsIDUyJSwgMC42KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcmVkLTgwMDogaHNsYSgzNTcsIDk5JSwgNTclLCAwLjgxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcmVkLTkwMDogaHNsKDEsIDk4JSwgNjElLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcmVkLTEwMDA6IGhzbCgzLCAxMDAlLCA2OCUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1yZWQtMTEwMDogaHNsKDUsIDEwMCUsIDc0JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXJlZC0xMjAwOiBoc2woNywgMTAwJSwgODIlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcmVkLTEzMDA6IGhzbCg4LCAxMDAlLCA5MCUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1yZWQtMTQwMDogaHNsKDcsIDEwMCUsIDk1JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLW9yYW5nZS0xMDA6IGhzbCgwLCAxMDAlLCAxMSUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1vcmFuZ2UtMjAwOiBoc2woMCwgMTAwJSwgMTIlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtb3JhbmdlLTMwMDogaHNsKDAsIDEwMCUsIDE0JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLW9yYW5nZS00MDA6IGhzbCgwLCAxMDAlLCAxNyUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1vcmFuZ2UtNTAwOiBoc2woMCwgMTAwJSwgMjIlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtb3JhbmdlLTYwMDogaHNsKDIsIDEwMCUsIDI2JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLW9yYW5nZS03MDA6IGhzbGEoMTIsIDEwMCUsIDM5JSwgMC43NCk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLW9yYW5nZS04MDA6IGhzbGEoMjEsIDEwMCUsIDUwJSwgMC43MSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLW9yYW5nZS05MDA6IGhzbGEoMjYsIDk5JSwgNTIlLCAwLjg1KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtb3JhbmdlLTEwMDA6IGhzbGEoMjksIDk5JSwgNTMlLCAwLjkyKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtb3JhbmdlLTExMDA6IGhzbGEoMjcsIDk4JSwgNjIlLCAwLjk3KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtb3JhbmdlLTEyMDA6IGhzbGEoMjYsIDk3JSwgNzUlLCAwLjk5KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtb3JhbmdlLTEzMDA6IGhzbCgyNCwgMTAwJSwgODYlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtb3JhbmdlLTE0MDA6IGhzbCgyNSwgMTAwJSwgOTMlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEteWVsbG93LTEwMDogaHNsKDAsIDEwMCUsIDExJSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXllbGxvdy0yMDA6IGhzbCgzLCAxMDAlLCAxMSUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS15ZWxsb3ctMzAwOiBoc2woOCwgMTAwJSwgMTMlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEteWVsbG93LTQwMDogaHNsKDE2LCAxMDAlLCAxNSUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS15ZWxsb3ctNTAwOiBoc2woMjMsIDEwMCUsIDE4JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXllbGxvdy02MDA6IGhzbGEoMjYsIDEwMCUsIDIzJSwgMC44Nyk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXllbGxvdy03MDA6IGhzbGEoMzAsIDEwMCUsIDI2JSwgMC45Mik7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXllbGxvdy04MDA6IGhzbCgzNSwgMTAwJSwgMzElLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEteWVsbG93LTkwMDogaHNsKDM5LCAxMDAlLCAzNyUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS15ZWxsb3ctMTAwMDogaHNsKDQxLCAxMDAlLCA0MCUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS15ZWxsb3ctMTEwMDogaHNsKDQ0LCAxMDAlLCA0MyUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS15ZWxsb3ctMTIwMDogaHNsYSg0NiwgOTglLCA1MiUsIDAuOTQpO1xuICAtLWNwZC1jb2xvci1hbHBoYS15ZWxsb3ctMTMwMDogaHNsKDQ3LCA5OSUsIDY3JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXllbGxvdy0xNDAwOiBoc2woNDYsIDEwMCUsIDg1JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWxpbWUtMTAwOiBoc2woMTIwLCAxMDAlLCA1JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWxpbWUtMjAwOiBoc2woMTIwLCAxMDAlLCA2JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWxpbWUtMzAwOiBoc2woMTIwLCAxMDAlLCA4JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWxpbWUtNDAwOiBoc2woMTIwLCAxMDAlLCA5JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWxpbWUtNTAwOiBoc2woMTIwLCAxMDAlLCAxMiUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1saW1lLTYwMDogaHNsKDEyMCwgMTAwJSwgMTUlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtbGltZS03MDA6IGhzbCgxMjAsIDEwMCUsIDE4JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWxpbWUtODAwOiBoc2xhKDExMiwgOTglLCA1MiUsIDAuNDUpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1saW1lLTkwMDogaHNsYSgxMDcsIDk4JSwgNTclLCAwLjU4KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtbGltZS0xMDAwOiBoc2xhKDEwNSwgOTclLCA1OCUsIDAuNjYpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1saW1lLTExMDA6IGhzbGEoMTAyLCA5OCUsIDYwJSwgMC43NCk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWxpbWUtMTIwMDogaHNsYSgxMDIsIDEwMCUsIDY4JSwgMC44NCk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWxpbWUtMTMwMDogaHNsYSgxMDQsIDEwMCUsIDg0JSwgMC45Mik7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWxpbWUtMTQwMDogaHNsYSgxMDUsIDkxJSwgOTIlLCAwLjk3KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZ3JlZW4tMTAwOiBoc2woMTQ0LCAxMDAlLCA2JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWdyZWVuLTIwMDogaHNsKDE0NywgMTAwJSwgNiUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ncmVlbi0zMDA6IGhzbCgxNTEsIDEwMCUsIDclLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZ3JlZW4tNDAwOiBoc2woMTU1LCAxMDAlLCA5JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWdyZWVuLTUwMDogaHNsKDE2MCwgMTAwJSwgMTIlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZ3JlZW4tNjAwOiBoc2woMTYyLCAxMDAlLCAxNCUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ncmVlbi03MDA6IGhzbCgxNjUsIDEwMCUsIDE4JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWdyZWVuLTgwMDogaHNsKDE2OCwgMTAwJSwgMjQlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZ3JlZW4tOTAwOiBoc2xhKDE2NCwgOTglLCA1MyUsIDAuNTgpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ncmVlbi0xMDAwOiBoc2xhKDE2MywgOTklLCA1NSUsIDAuNjUpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ncmVlbi0xMTAwOiBoc2xhKDE2MiwgOTglLCA1NyUsIDAuNzQpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ncmVlbi0xMjAwOiBoc2xhKDE1NiwgOTclLCA3NiUsIDAuODMpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ncmVlbi0xMzAwOiBoc2xhKDE1MiwgOTMlLCA4OCUsIDAuOTEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ncmVlbi0xNDAwOiBoc2xhKDE1MiwgODglLCA5NCUsIDAuOTYpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1jeWFuLTEwMDogaHNsKDIyNSwgMTAwJSwgMTMlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtY3lhbi0yMDA6IGhzbCgyMjMsIDEwMCUsIDE0JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWN5YW4tMzAwOiBoc2woMjE5LCAxMDAlLCAxNSUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1jeWFuLTQwMDogaHNsKDIxNSwgMTAwJSwgMTglLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtY3lhbi01MDA6IGhzbCgyMTAsIDEwMCUsIDIwJSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWN5YW4tNjAwOiBoc2woMjA4LCAxMDAlLCAyMyUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1jeWFuLTcwMDogaHNsKDIwNCwgMTAwJSwgMjclLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtY3lhbi04MDA6IGhzbGEoMjAwLCAxMDAlLCAzNyUsIDAuODgpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1jeWFuLTkwMDogaHNsKDE5NCwgMTAwJSwgMzclLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtY3lhbi0xMDAwOiBoc2xhKDE4OSwgMTAwJSwgNDQlLCAwLjg4KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtY3lhbi0xMTAwOiBoc2xhKDE4NiwgOTglLCA1NyUsIDAuNzkpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1jeWFuLTEyMDA6IGhzbGEoMTg3LCAxMDAlLCA3NyUsIDAuODUpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1jeWFuLTEzMDA6IGhzbGEoMTg3LCA5MyUsIDg5JSwgMC45Mik7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWN5YW4tMTQwMDogaHNsYSgxODcsIDkzJSwgOTQlLCAwLjk2KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtYmx1ZS0xMDA6IGhzbCgyMzcsIDEwMCUsIDE4JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWJsdWUtMjAwOiBoc2woMjM0LCAxMDAlLCAxOCUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ibHVlLTMwMDogaHNsKDIyOSwgMTAwJSwgMjAlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtYmx1ZS00MDA6IGhzbCgyMjQsIDEwMCUsIDIyJSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWJsdWUtNTAwOiBoc2xhKDIyMSwgMTAwJSwgMzclLCAwLjYzKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtYmx1ZS02MDA6IGhzbGEoMjE5LCA5OSUsIDUwJSwgMC41Myk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWJsdWUtNzAwOiBoc2xhKDIxNywgOTklLCA1MSUsIDAuNjQpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ibHVlLTgwMDogaHNsYSgyMTQsIDk5JSwgNTMlLCAwLjg0KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtYmx1ZS05MDA6IGhzbGEoMjE1LCA5OCUsIDYzJSwgMC45Mik7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWJsdWUtMTAwMDogaHNsYSgyMTYsIDk5JSwgNjklLCAwLjk0KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtYmx1ZS0xMTAwOiBoc2xhKDIxNSwgOTclLCA3NCUsIDAuOTYpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ibHVlLTEyMDA6IGhzbGEoMjE2LCAxMDAlLCA4MiUsIDAuOTcpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ibHVlLTEzMDA6IGhzbGEoMjE2LCA5NiUsIDkwJSwgMC45OSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWJsdWUtMTQwMDogaHNsKDIxNywgOTMlLCA5NSUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1wdXJwbGUtMTAwOiBoc2woMjU4LCAxMDAlLCAxNyUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1wdXJwbGUtMjAwOiBoc2woMjU5LCAxMDAlLCAxOCUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1wdXJwbGUtMzAwOiBoc2woMjU5LCAxMDAlLCAyMSUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1wdXJwbGUtNDAwOiBoc2woMjYxLCAxMDAlLCAyNSUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1wdXJwbGUtNTAwOiBoc2woMjYzLCAxMDAlLCAzMSUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1wdXJwbGUtNjAwOiBoc2xhKDI2MywgOTglLCA1MiUsIDAuNjcpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1wdXJwbGUtNzAwOiBoc2xhKDI2MCwgOTglLCA1OCUsIDAuNzYpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1wdXJwbGUtODAwOiBoc2xhKDI1NywgMTAwJSwgNjUlLCAwLjkyKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcHVycGxlLTkwMDogaHNsYSgyNTQsIDk5JSwgNzIlLCAwLjk4KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcHVycGxlLTEwMDA6IGhzbGEoMjUyLCA5OCUsIDc3JSwgMC45OSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXB1cnBsZS0xMTAwOiBoc2woMjUwLCA5OCUsIDgwJSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXB1cnBsZS0xMjAwOiBoc2woMjQ5LCAxMDAlLCA4NyUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1wdXJwbGUtMTMwMDogaHNsKDI0NiwgMTAwJSwgOTMlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcHVycGxlLTE0MDA6IGhzbCgyNDksIDEwMCUsIDk2JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWZ1Y2hzaWEtMTAwOiBoc2woMjc5LCAxMDAlLCAxMiUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1mdWNoc2lhLTIwMDogaHNsKDI4MSwgMTAwJSwgMTMlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZnVjaHNpYS0zMDA6IGhzbCgyODIsIDEwMCUsIDE1JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWZ1Y2hzaWEtNDAwOiBoc2woMjg1LCAxMDAlLCAxOCUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1mdWNoc2lhLTUwMDogaHNsYSgyODcsIDEwMCUsIDUyJSwgMC4zOCk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWZ1Y2hzaWEtNjAwOiBoc2xhKDI4OCwgMTAwJSwgNTYlLCAwLjQ0KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZnVjaHNpYS03MDA6IGhzbGEoMjg5LCA5OSUsIDU5JSwgMC41NCk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWZ1Y2hzaWEtODAwOiBoc2xhKDI5NCwgOTglLCA2MyUsIDAuNzEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1mdWNoc2lhLTkwMDogaHNsYSgyOTUsIDk3JSwgNzIlLCAwLjgpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1mdWNoc2lhLTEwMDA6IGhzbGEoMjk2LCA5OCUsIDc4JSwgMC44Myk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWZ1Y2hzaWEtMTEwMDogaHNsYSgyOTcsIDk4JSwgODIlLCAwLjg2KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZnVjaHNpYS0xMjAwOiBoc2xhKDI5NiwgOTclLCA4OCUsIDAuOTEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1mdWNoc2lhLTEzMDA6IGhzbGEoMjk2LCAxMDAlLCA5NCUsIDAuOTUpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1mdWNoc2lhLTE0MDA6IGhzbGEoMjk2LCA5MCUsIDk2JSwgMC45OCk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXBpbmstMTAwOiBoc2woMzQ0LCAxMDAlLCAxMSUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1waW5rLTIwMDogaHNsKDM0MiwgMTAwJSwgMTIlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcGluay0zMDA6IGhzbCgzMzksIDEwMCUsIDE0JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXBpbmstNDAwOiBoc2woMzM1LCAxMDAlLCAxNyUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1waW5rLTUwMDogaHNsKDMzMCwgMTAwJSwgMjElLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcGluay02MDA6IGhzbGEoMzMzLCA5NyUsIDUwJSwgMC40Nik7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXBpbmstNzAwOiBoc2xhKDMzNCwgOTglLCA1MyUsIDAuNTgpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1waW5rLTgwMDogaHNsYSgzMzUsIDk5JSwgNTUlLCAwLjgpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1waW5rLTkwMDogaHNsYSgzNDAsIDk5JSwgNjMlLCAwLjk2KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcGluay0xMDAwOiBoc2xhKDM0MywgMTAwJSwgNzAlLCAwLjk4KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcGluay0xMTAwOiBoc2woMzQ1LCA5OCUsIDc2JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXBpbmstMTIwMDogaHNsKDM0NiwgMTAwJSwgODQlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcGluay0xMzAwOiBoc2woMzQ3LCAxMDAlLCA5MSUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1waW5rLTE0MDA6IGhzbCgzNDcsIDEwMCUsIDk2JSwgMSk7XG59XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBsYXllciBjb21wb3VuZCB7XG5cbiAgICBAbWVkaWEgc2NyZWVuIHtcblxuICAgICAgICBAbGF5ZXIgY3BkLXNlbWFudGljIHtcbi5jcGQtdGhlbWUtZGFyay5jcGQtdGhlbWUtZGFyayB7XG4gIC0tY3BkLWNvbG9yLWJnLWNhbnZhcy1kZWZhdWx0LWxldmVsLTE6IHZhcigtLWNwZC1jb2xvci1ncmF5LTMwMCk7XG4gIC0tY3BkLWNvbG9yLWJnLXN1YnRsZS1zZWNvbmRhcnktbGV2ZWwtMDogdmFyKC0tY3BkLWNvbG9yLXRoZW1lLWJnKTtcbn1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuQGxheWVyIGNvbXBvdW5kIHtcblxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChwcmVmZXJzLWNvbG9yLXNjaGVtZTogZGFyaykge1xuXG4gICAgICAgIEBsYXllciBjcGQtc2VtYW50aWMge1xuOnJvb3Qge1xuICAtLWNwZC1jb2xvci1iZy1jYW52YXMtZGVmYXVsdC1sZXZlbC0xOiB2YXIoLS1jcGQtY29sb3ItZ3JheS0zMDApO1xuICAtLWNwZC1jb2xvci1iZy1zdWJ0bGUtc2Vjb25kYXJ5LWxldmVsLTA6IHZhcigtLWNwZC1jb2xvci10aGVtZS1iZyk7XG59XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBsYXllciBjb21wb3VuZCB7XG5cbiAgICBAbWVkaWEgc2NyZWVuIHtcblxuICAgICAgICBAbGF5ZXIgY3BkLWJhc2Uge1xuLmNwZC10aGVtZS1kYXJrLWhjLmNwZC10aGVtZS1kYXJrLWhjIHtcbiAgLS1jcGQtY29sb3ItdGhlbWUtYmc6ICMxMDEzMTc7XG4gIC0tY3BkLWNvbG9yLWdyYXktMTAwOiAjMTgxYTFmO1xuICAtLWNwZC1jb2xvci1ncmF5LTIwMDogIzFkMWYyNDtcbiAgLS1jcGQtY29sb3ItZ3JheS0zMDA6ICMyNjI4MmQ7XG4gIC0tY3BkLWNvbG9yLWdyYXktNDAwOiAjMmIyZTMzO1xuICAtLWNwZC1jb2xvci1ncmF5LTUwMDogIzNjM2Y0NDtcbiAgLS1jcGQtY29sb3ItZ3JheS02MDA6ICM0YTRmNTU7XG4gIC0tY3BkLWNvbG9yLWdyYXktNzAwOiAjNjA2NzcwO1xuICAtLWNwZC1jb2xvci1ncmF5LTgwMDogIzc5ODE4ZDtcbiAgLS1jcGQtY29sb3ItZ3JheS05MDA6ICNhY2I0YmQ7XG4gIC0tY3BkLWNvbG9yLWdyYXktMTAwMDogI2I4YmZjNztcbiAgLS1jcGQtY29sb3ItZ3JheS0xMTAwOiAjYzhjZWQ1O1xuICAtLWNwZC1jb2xvci1ncmF5LTEyMDA6ICNkNWRhZTE7XG4gIC0tY3BkLWNvbG9yLWdyYXktMTMwMDogI2ViZWVmMjtcbiAgLS1jcGQtY29sb3ItZ3JheS0xNDAwOiAjZjJmNWY3O1xuICAtLWNwZC1jb2xvci1yZWQtMTAwOiAjM2UwMDAwO1xuICAtLWNwZC1jb2xvci1yZWQtMjAwOiAjNDcwMDAwO1xuICAtLWNwZC1jb2xvci1yZWQtMzAwOiAjNTkwMDAwO1xuICAtLWNwZC1jb2xvci1yZWQtNDAwOiAjNjQwMDAwO1xuICAtLWNwZC1jb2xvci1yZWQtNTAwOiAjODMwMDA5O1xuICAtLWNwZC1jb2xvci1yZWQtNjAwOiAjOWYwZDFlO1xuICAtLWNwZC1jb2xvci1yZWQtNzAwOiAjYzgxZTI4O1xuICAtLWNwZC1jb2xvci1yZWQtODAwOiAjZjUyZjMzO1xuICAtLWNwZC1jb2xvci1yZWQtOTAwOiAjZmY5NjhjO1xuICAtLWNwZC1jb2xvci1yZWQtMTAwMDogI2ZmYTc5ZDtcbiAgLS1jcGQtY29sb3ItcmVkLTExMDA6ICNmZmJkYjU7XG4gIC0tY3BkLWNvbG9yLXJlZC0xMjAwOiAjZmZjZmM4O1xuICAtLWNwZC1jb2xvci1yZWQtMTMwMDogI2ZmZTllNjtcbiAgLS1jcGQtY29sb3ItcmVkLTE0MDA6ICNmZmYyZWY7XG4gIC0tY3BkLWNvbG9yLW9yYW5nZS0xMDA6ICMzYzAwMDA7XG4gIC0tY3BkLWNvbG9yLW9yYW5nZS0yMDA6ICM0NzAwMDA7XG4gIC0tY3BkLWNvbG9yLW9yYW5nZS0zMDA6ICM1ODAwMDA7XG4gIC0tY3BkLWNvbG9yLW9yYW5nZS00MDA6ICM2NTAwMDA7XG4gIC0tY3BkLWNvbG9yLW9yYW5nZS01MDA6ICM4MzA1MDA7XG4gIC0tY3BkLWNvbG9yLW9yYW5nZS02MDA6ICM5NzIyMDY7XG4gIC0tY3BkLWNvbG9yLW9yYW5nZS03MDA6ICNiNDQwMDc7XG4gIC0tY3BkLWNvbG9yLW9yYW5nZS04MDA6ICNkMTVmMGI7XG4gIC0tY3BkLWNvbG9yLW9yYW5nZS05MDA6ICNmODlkNTg7XG4gIC0tY3BkLWNvbG9yLW9yYW5nZS0xMDAwOiAjZmFhZDczO1xuICAtLWNwZC1jb2xvci1vcmFuZ2UtMTEwMDogI2ZkYzE5NztcbiAgLS1jcGQtY29sb3Itb3JhbmdlLTEyMDA6ICNmZWQwYjE7XG4gIC0tY3BkLWNvbG9yLW9yYW5nZS0xMzAwOiAjZmZlYWRiO1xuICAtLWNwZC1jb2xvci1vcmFuZ2UtMTQwMDogI2ZmZjJlYTtcbiAgLS1jcGQtY29sb3IteWVsbG93LTEwMDogIzNhMDMwMDtcbiAgLS1jcGQtY29sb3IteWVsbG93LTIwMDogIzQxMDkwMDtcbiAgLS1jcGQtY29sb3IteWVsbG93LTMwMDogIzRjMTQwMDtcbiAgLS1jcGQtY29sb3IteWVsbG93LTQwMDogIzU0MWQwMDtcbiAgLS1jcGQtY29sb3IteWVsbG93LTUwMDogIzY4MmUwMztcbiAgLS1jcGQtY29sb3IteWVsbG93LTYwMDogIzdjM2UwMjtcbiAgLS1jcGQtY29sb3IteWVsbG93LTcwMDogIzk4NTYwMDtcbiAgLS1jcGQtY29sb3IteWVsbG93LTgwMDogI2I0NzIwMDtcbiAgLS1jcGQtY29sb3IteWVsbG93LTkwMDogI2UzYWEwMDtcbiAgLS1jcGQtY29sb3IteWVsbG93LTEwMDA6ICNlYmI2MDc7XG4gIC0tY3BkLWNvbG9yLXllbGxvdy0xMTAwOiAjZjdjODE2O1xuICAtLWNwZC1jb2xvci15ZWxsb3ctMTIwMDogI2ZlZDYzMjtcbiAgLS1jcGQtY29sb3IteWVsbG93LTEzMDA6ICNmZmVkYjE7XG4gIC0tY3BkLWNvbG9yLXllbGxvdy0xNDAwOiAjZmZmNGQwO1xuICAtLWNwZC1jb2xvci1saW1lLTEwMDogIzAwMjAwMDtcbiAgLS1jcGQtY29sb3ItbGltZS0yMDA6ICMwMDI2MDA7XG4gIC0tY3BkLWNvbG9yLWxpbWUtMzAwOiAjMDAzMDAwO1xuICAtLWNwZC1jb2xvci1saW1lLTQwMDogIzAwMzcwMDtcbiAgLS1jcGQtY29sb3ItbGltZS01MDA6ICMwMDRhMDA7XG4gIC0tY3BkLWNvbG9yLWxpbWUtNjAwOiAjMDA1YzAwO1xuICAtLWNwZC1jb2xvci1saW1lLTcwMDogIzE4NzYxMTtcbiAgLS1jcGQtY29sb3ItbGltZS04MDA6ICMzMTk0MWQ7XG4gIC0tY3BkLWNvbG9yLWxpbWUtOTAwOiAjNWVjYTJmO1xuICAtLWNwZC1jb2xvci1saW1lLTEwMDA6ICM2YWQ2Mzk7XG4gIC0tY3BkLWNvbG9yLWxpbWUtMTEwMDogIzkyZTE3NTtcbiAgLS1jcGQtY29sb3ItbGltZS0xMjAwOiAjYWZlOTlhO1xuICAtLWNwZC1jb2xvci1saW1lLTEzMDA6ICNkYWY2ZDA7XG4gIC0tY3BkLWNvbG9yLWxpbWUtMTQwMDogI2U5ZjllMztcbiAgLS1jcGQtY29sb3ItZ3JlZW4tMTAwOiAjMDAxZjBlO1xuICAtLWNwZC1jb2xvci1ncmVlbi0yMDA6ICMwMDI1MTM7XG4gIC0tY3BkLWNvbG9yLWdyZWVuLTMwMDogIzAwMmUxYjtcbiAgLS1jcGQtY29sb3ItZ3JlZW4tNDAwOiAjMDAzNjIyO1xuICAtLWNwZC1jb2xvci1ncmVlbi01MDA6ICMwMDQ4MzI7XG4gIC0tY3BkLWNvbG9yLWdyZWVuLTYwMDogIzAwNWE0MztcbiAgLS1jcGQtY29sb3ItZ3JlZW4tNzAwOiAjMDA3NDVjO1xuICAtLWNwZC1jb2xvci1ncmVlbi04MDA6ICMxMDkxNzM7XG4gIC0tY3BkLWNvbG9yLWdyZWVuLTkwMDogIzM3Yzk5ODtcbiAgLS1jcGQtY29sb3ItZ3JlZW4tMTAwMDogIzYxZDJhNjtcbiAgLS1jcGQtY29sb3ItZ3JlZW4tMTEwMDogIzhmZGRiYztcbiAgLS1jcGQtY29sb3ItZ3JlZW4tMTIwMDogI2FjZTZjYztcbiAgLS1jcGQtY29sb3ItZ3JlZW4tMTMwMDogI2Q5ZjRlNztcbiAgLS1jcGQtY29sb3ItZ3JlZW4tMTQwMDogI2U5ZjhmMTtcbiAgLS1jcGQtY29sb3ItY3lhbi0xMDA6ICMwMDE0NDg7XG4gIC0tY3BkLWNvbG9yLWN5YW4tMjAwOiAjMDAxYjRlO1xuICAtLWNwZC1jb2xvci1jeWFuLTMwMDogIzAwMjU1OTtcbiAgLS1jcGQtY29sb3ItY3lhbi00MDA6ICMwMDJkNjE7XG4gIC0tY3BkLWNvbG9yLWN5YW4tNTAwOiAjMDAzZjc1O1xuICAtLWNwZC1jb2xvci1jeWFuLTYwMDogIzAwNTE4ODtcbiAgLS1jcGQtY29sb3ItY3lhbi03MDA6ICMwMDZjYTQ7XG4gIC0tY3BkLWNvbG9yLWN5YW4tODAwOiAjMDA4YWJhO1xuICAtLWNwZC1jb2xvci1jeWFuLTkwMDogIzQ2YzNkMjtcbiAgLS1jcGQtY29sb3ItY3lhbi0xMDAwOiAjNmJjY2Q5O1xuICAtLWNwZC1jb2xvci1jeWFuLTExMDA6ICM5M2Q5ZTI7XG4gIC0tY3BkLWNvbG9yLWN5YW4tMTIwMDogI2FmZTJlOTtcbiAgLS1jcGQtY29sb3ItY3lhbi0xMzAwOiAjZGJmMmY1O1xuICAtLWNwZC1jb2xvci1jeWFuLTE0MDA6ICNlYWY3Zjk7XG4gIC0tY3BkLWNvbG9yLWJsdWUtMTAwOiAjMDAwOTVkO1xuICAtLWNwZC1jb2xvci1ibHVlLTIwMDogIzAwMTI2NDtcbiAgLS1jcGQtY29sb3ItYmx1ZS0zMDA6ICMwMDFlNmY7XG4gIC0tY3BkLWNvbG9yLWJsdWUtNDAwOiAjMDMyNjc3O1xuICAtLWNwZC1jb2xvci1ibHVlLTUwMDogIzA4Mzg5MTtcbiAgLS1jcGQtY29sb3ItYmx1ZS02MDA6ICMwYjQ5YWI7XG4gIC0tY3BkLWNvbG9yLWJsdWUtNzAwOiAjMGU2MWQxO1xuICAtLWNwZC1jb2xvci1ibHVlLTgwMDogIzMzN2ZlOTtcbiAgLS1jcGQtY29sb3ItYmx1ZS05MDA6ICM4OWI1ZjY7XG4gIC0tY3BkLWNvbG9yLWJsdWUtMTAwMDogIzlhYzBmODtcbiAgLS1jcGQtY29sb3ItYmx1ZS0xMTAwOiAjYjJjZmZhO1xuICAtLWNwZC1jb2xvci1ibHVlLTEyMDA6ICNjNWRiZmM7XG4gIC0tY3BkLWNvbG9yLWJsdWUtMTMwMDogI2U0ZWVmZTtcbiAgLS1jcGQtY29sb3ItYmx1ZS0xNDAwOiAjZWZmNWZlO1xuICAtLWNwZC1jb2xvci1wdXJwbGUtMTAwOiAjMWMwMDVhO1xuICAtLWNwZC1jb2xvci1wdXJwbGUtMjAwOiAjMjIwMDZhO1xuICAtLWNwZC1jb2xvci1wdXJwbGUtMzAwOiAjMmMwMDgwO1xuICAtLWNwZC1jb2xvci1wdXJwbGUtNDAwOiAjMzUwMDkwO1xuICAtLWNwZC1jb2xvci1wdXJwbGUtNTAwOiAjNGEwZGIxO1xuICAtLWNwZC1jb2xvci1wdXJwbGUtNjAwOiAjNWEyN2M2O1xuICAtLWNwZC1jb2xvci1wdXJwbGUtNzAwOiAjNzM0M2U2O1xuICAtLWNwZC1jb2xvci1wdXJwbGUtODAwOiAjOGI2NmY4O1xuICAtLWNwZC1jb2xvci1wdXJwbGUtOTAwOiAjYjZhN2ZmO1xuICAtLWNwZC1jb2xvci1wdXJwbGUtMTAwMDogI2MwYjVmZjtcbiAgLS1jcGQtY29sb3ItcHVycGxlLTExMDA6ICNjZWM3ZmY7XG4gIC0tY3BkLWNvbG9yLXB1cnBsZS0xMjAwOiAjZGFkNWZmO1xuICAtLWNwZC1jb2xvci1wdXJwbGUtMTMwMDogI2VlZWJmZjtcbiAgLS1jcGQtY29sb3ItcHVycGxlLTE0MDA6ICNmNWYzZmY7XG4gIC0tY3BkLWNvbG9yLWZ1Y2hzaWEtMTAwOiAjMmUwMDQ0O1xuICAtLWNwZC1jb2xvci1mdWNoc2lhLTIwMDogIzM3MDA0ZTtcbiAgLS1jcGQtY29sb3ItZnVjaHNpYS0zMDA6ICM0NjAwNWU7XG4gIC0tY3BkLWNvbG9yLWZ1Y2hzaWEtNDAwOiAjNGYwMzY4O1xuICAtLWNwZC1jb2xvci1mdWNoc2lhLTUwMDogIzY1MTc3ZDtcbiAgLS1jcGQtY29sb3ItZnVjaHNpYS02MDA6ICM3ZDIzOTQ7XG4gIC0tY3BkLWNvbG9yLWZ1Y2hzaWEtNzAwOiAjYTIzM2IzO1xuICAtLWNwZC1jb2xvci1mdWNoc2lhLTgwMDogI2MxNTNjYjtcbiAgLS1jcGQtY29sb3ItZnVjaHNpYS05MDA6ICNkZDlkZTM7XG4gIC0tY3BkLWNvbG9yLWZ1Y2hzaWEtMTAwMDogI2UzYWJlNztcbiAgLS1jcGQtY29sb3ItZnVjaHNpYS0xMTAwOiAjZWFjMGVkO1xuICAtLWNwZC1jb2xvci1mdWNoc2lhLTEyMDA6ICNmMGNmZjI7XG4gIC0tY3BkLWNvbG9yLWZ1Y2hzaWEtMTMwMDogI2Y4ZTlmOTtcbiAgLS1jcGQtY29sb3ItZnVjaHNpYS0xNDAwOiAjZmJmMWZiO1xuICAtLWNwZC1jb2xvci1waW5rLTEwMDogIzNjMDAxMjtcbiAgLS1jcGQtY29sb3ItcGluay0yMDA6ICM0NTAwMTg7XG4gIC0tY3BkLWNvbG9yLXBpbmstMzAwOiAjNTUwMDI0O1xuICAtLWNwZC1jb2xvci1waW5rLTQwMDogIzYxMDAyZDtcbiAgLS1jcGQtY29sb3ItcGluay01MDA6ICM3YzBjNDE7XG4gIC0tY3BkLWNvbG9yLXBpbmstNjAwOiAjOTkxMTRmO1xuICAtLWNwZC1jb2xvci1waW5rLTcwMDogI2M1MTc2MTtcbiAgLS1jcGQtY29sb3ItcGluay04MDA6ICNmMTJjNzU7XG4gIC0tY3BkLWNvbG9yLXBpbmstOTAwOiAjZmY5MmFjO1xuICAtLWNwZC1jb2xvci1waW5rLTEwMDA6ICNmZmE0Yjk7XG4gIC0tY3BkLWNvbG9yLXBpbmstMTEwMDogI2ZmYmJjYTtcbiAgLS1jcGQtY29sb3ItcGluay0xMjAwOiAjZmZjY2Q3O1xuICAtLWNwZC1jb2xvci1waW5rLTEzMDA6ICNmZmU4ZWQ7XG4gIC0tY3BkLWNvbG9yLXBpbmstMTQwMDogI2ZmZjFmNDtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZ3JheS0xMDA6IGhzbGEoMjg2LCAzMSUsIDgyJSwgMC4wNCk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWdyYXktMjAwOiBoc2xhKDI4MCwgNDElLCA5MCUsIDAuMDYpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ncmF5LTMwMDogaHNsYSgyNzAsIDM3JSwgOTMlLCAwLjEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ncmF5LTQwMDogaHNsYSgyMjcsIDI5JSwgOTElLCAwLjEzKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZ3JheS01MDA6IGhzbGEoMjI1LCA0NiUsIDk1JSwgMC4yKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZ3JheS02MDA6IGhzbGEoMjEzLCA4NSUsIDk1JSwgMC4yNyk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWdyYXktNzAwOiBoc2xhKDIxNCwgNzklLCA5MyUsIDAuMzkpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ncmF5LTgwMDogaHNsYSgyMTYsIDk0JSwgOTMlLCAwLjUxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZ3JheS05MDA6IGhzbGEoMjExLCA5MSUsIDk2JSwgMC43Mik7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWdyYXktMTAwMDogaHNsYSgyMTMsIDEwMCUsIDk3JSwgMC43Nik7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWdyYXktMTEwMDogaHNsYSgyMTIsIDEwMCUsIDk3JSwgMC44Mik7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWdyYXktMTIwMDogaHNsYSgyMTcsIDc3JSwgOTclLCAwLjg4KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZ3JheS0xMzAwOiBoc2xhKDIxNCwgNzglLCA5OCUsIDAuOTUpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ncmF5LTE0MDA6IGhzbGEoMjA0LCA3MSUsIDk5JSwgMC45Nyk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXJlZC0xMDA6IGhzbCgwLCAxMDAlLCAxMiUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1yZWQtMjAwOiBoc2woMCwgMTAwJSwgMTQlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcmVkLTMwMDogaHNsKDAsIDEwMCUsIDE4JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXJlZC00MDA6IGhzbCgwLCAxMDAlLCAyMCUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1yZWQtNTAwOiBoc2woMzU2LCAxMDAlLCAyNiUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1yZWQtNjAwOiBoc2xhKDM1NCwgOTklLCA1MiUsIDAuNik7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXJlZC03MDA6IGhzbGEoMzU3LCAxMDAlLCA1NyUsIDAuNzcpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1yZWQtODAwOiBoc2xhKDM1OSwgMTAwJSwgNTklLCAwLjk2KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcmVkLTkwMDogaHNsKDUsIDEwMCUsIDc4JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXJlZC0xMDAwOiBoc2woNiwgMTAwJSwgODElLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcmVkLTExMDA6IGhzbCg2LCAxMDAlLCA4NiUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1yZWQtMTIwMDogaHNsKDgsIDEwMCUsIDg5JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXJlZC0xMzAwOiBoc2woNywgMTAwJSwgOTUlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcmVkLTE0MDA6IGhzbCgxMSwgMTAwJSwgOTclLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtb3JhbmdlLTEwMDogaHNsKDAsIDEwMCUsIDEyJSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLW9yYW5nZS0yMDA6IGhzbCgwLCAxMDAlLCAxNCUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1vcmFuZ2UtMzAwOiBoc2woMCwgMTAwJSwgMTclLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtb3JhbmdlLTQwMDogaHNsKDAsIDEwMCUsIDIwJSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLW9yYW5nZS01MDA6IGhzbCgyLCAxMDAlLCAyNiUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1vcmFuZ2UtNjAwOiBoc2xhKDEyLCAxMDAlLCAzOSUsIDAuNzQpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1vcmFuZ2UtNzAwOiBoc2xhKDIwLCAxMDAlLCA0OSUsIDAuNyk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLW9yYW5nZS04MDA6IGhzbGEoMjYsIDk5JSwgNTElLCAwLjgxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtb3JhbmdlLTkwMDogaHNsYSgyNiwgOTglLCA2NyUsIDAuOTgpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1vcmFuZ2UtMTAwMDogaHNsYSgyNiwgMTAwJSwgNzMlLCAwLjk4KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtb3JhbmdlLTExMDA6IGhzbCgyNSwgOTYlLCA3OSUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1vcmFuZ2UtMTIwMDogaHNsKDI0LCA5OCUsIDg1JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLW9yYW5nZS0xMzAwOiBoc2woMjUsIDEwMCUsIDkzJSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLW9yYW5nZS0xNDAwOiBoc2woMjMsIDEwMCUsIDk2JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXllbGxvdy0xMDA6IGhzbCgzLCAxMDAlLCAxMSUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS15ZWxsb3ctMjAwOiBoc2woOCwgMTAwJSwgMTMlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEteWVsbG93LTMwMDogaHNsKDE2LCAxMDAlLCAxNSUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS15ZWxsb3ctNDAwOiBoc2woMjEsIDEwMCUsIDE3JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXllbGxvdy01MDA6IGhzbGEoMjYsIDEwMCUsIDIzJSwgMC44Nyk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXllbGxvdy02MDA6IGhzbGEoMzAsIDEwMCUsIDI2JSwgMC45Mik7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXllbGxvdy03MDA6IGhzbCgzNCwgMTAwJSwgMzAlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEteWVsbG93LTgwMDogaHNsKDM4LCAxMDAlLCAzNSUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS15ZWxsb3ctOTAwOiBoc2woNDUsIDEwMCUsIDQ1JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXllbGxvdy0xMDAwOiBoc2xhKDQ2LCA5OSUsIDUxJSwgMC45Mik7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXllbGxvdy0xMTAwOiBoc2xhKDQ4LCA5OSUsIDU0JSwgMC45Nyk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXllbGxvdy0xMjAwOiBoc2woNDgsIDk5JSwgNjAlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEteWVsbG93LTEzMDA6IGhzbCg0NiwgMTAwJSwgODUlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEteWVsbG93LTE0MDA6IGhzbCg0NiwgMTAwJSwgOTElLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtbGltZS0xMDA6IGhzbCgxMjAsIDEwMCUsIDYlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtbGltZS0yMDA6IGhzbCgxMjAsIDEwMCUsIDglLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtbGltZS0zMDA6IGhzbCgxMjAsIDEwMCUsIDklLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtbGltZS00MDA6IGhzbCgxMjAsIDEwMCUsIDExJSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWxpbWUtNTAwOiBoc2woMTIwLCAxMDAlLCAxNSUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1saW1lLTYwMDogaHNsKDEyMCwgMTAwJSwgMTglLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtbGltZS03MDA6IGhzbGEoMTE0LCAxMDAlLCA1MiUsIDAuNDIpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1saW1lLTgwMDogaHNsYSgxMDksIDk5JSwgNTclLCAwLjU1KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtbGltZS05MDA6IGhzbGEoMTAxLCA5OSUsIDYwJSwgMC43OCk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWxpbWUtMTAwMDogaHNsYSgxMDEsIDk5JSwgNjIlLCAwLjgzKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtbGltZS0xMTAwOiBoc2xhKDEwMywgOTclLCA3NSUsIDAuODgpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1saW1lLTEyMDA6IGhzbGEoMTAzLCA5OCUsIDgzJSwgMC45MSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWxpbWUtMTMwMDogaHNsYSgxMDUsIDkxJSwgOTIlLCAwLjk3KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtbGltZS0xNDAwOiBoc2xhKDEwNCwgOTIlLCA5NSUsIDAuOTgpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ncmVlbi0xMDA6IGhzbCgxNDcsIDEwMCUsIDYlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZ3JlZW4tMjAwOiBoc2woMTUxLCAxMDAlLCA3JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWdyZWVuLTMwMDogaHNsKDE1NSwgMTAwJSwgOSUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ncmVlbi00MDA6IGhzbCgxNTgsIDEwMCUsIDExJSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWdyZWVuLTUwMDogaHNsKDE2MiwgMTAwJSwgMTQlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZ3JlZW4tNjAwOiBoc2woMTY1LCAxMDAlLCAxOCUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ncmVlbi03MDA6IGhzbCgxNjgsIDEwMCUsIDIzJSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWdyZWVuLTgwMDogaHNsYSgxNjUsIDk4JSwgNTMlLCAwLjU0KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZ3JlZW4tOTAwOiBoc2xhKDE1OSwgOTclLCA2MiUsIDAuNzgpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ncmVlbi0xMDAwOiBoc2xhKDE1NiwgMTAwJSwgNzMlLCAwLjgxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZ3JlZW4tMTEwMDogaHNsYSgxNTQsIDk4JSwgODIlLCAwLjg2KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZ3JlZW4tMTIwMDogaHNsYSgxNTMsIDk0JSwgODclLCAwLjkpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ncmVlbi0xMzAwOiBoc2xhKDE1MiwgODglLCA5NCUsIDAuOTYpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ncmVlbi0xNDAwOiBoc2xhKDE1MCwgODAlLCA5NiUsIDAuOTgpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1jeWFuLTEwMDogaHNsKDIyMywgMTAwJSwgMTQlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtY3lhbi0yMDA6IGhzbCgyMTksIDEwMCUsIDE1JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWN5YW4tMzAwOiBoc2woMjE1LCAxMDAlLCAxOCUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1jeWFuLTQwMDogaHNsKDIxMiwgMTAwJSwgMTklLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtY3lhbi01MDA6IGhzbCgyMDgsIDEwMCUsIDIzJSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWN5YW4tNjAwOiBoc2woMjA0LCAxMDAlLCAyNyUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1jeWFuLTcwMDogaHNsKDIwMCwgMTAwJSwgMzIlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtY3lhbi04MDA6IGhzbCgxOTUsIDEwMCUsIDM3JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWN5YW4tOTAwOiBoc2xhKDE4NiwgOTklLCA2NiUsIDAuODEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1jeWFuLTEwMDA6IGhzbGEoMTg3LCA5OSUsIDc0JSwgMC44NCk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWN5YW4tMTEwMDogaHNsYSgxODcsIDk4JSwgODIlLCAwLjg4KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtY3lhbi0xMjAwOiBoc2xhKDE4OCwgOTclLCA4NyUsIDAuOTEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1jeWFuLTEzMDA6IGhzbGEoMTg3LCA5MyUsIDk0JSwgMC45Nik7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWN5YW4tMTQwMDogaHNsYSgxODcsIDg5JSwgOTclLCAwLjk4KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtYmx1ZS0xMDA6IGhzbCgyMzQsIDEwMCUsIDE4JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWJsdWUtMjAwOiBoc2woMjI5LCAxMDAlLCAyMCUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ibHVlLTMwMDogaHNsKDIyNCwgMTAwJSwgMjIlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtYmx1ZS00MDA6IGhzbGEoMjIyLCAxMDAlLCAyOCUsIDAuODIpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ibHVlLTUwMDogaHNsYSgyMTksIDk5JSwgNTAlLCAwLjUzKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtYmx1ZS02MDA6IGhzbGEoMjE3LCA5OSUsIDUxJSwgMC42NCk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWJsdWUtNzAwOiBoc2xhKDIxNSwgOTglLCA1MiUsIDAuODEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ibHVlLTgwMDogaHNsYSgyMTUsIDk5JSwgNjAlLCAwLjkxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtYmx1ZS05MDA6IGhzbGEoMjE2LCA5NyUsIDc3JSwgMC45Nyk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWJsdWUtMTAwMDogaHNsYSgyMTYsIDEwMCUsIDgxJSwgMC45Nyk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWJsdWUtMTEwMDogaHNsYSgyMTYsIDEwMCUsIDg2JSwgMC45OCk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWJsdWUtMTIwMDogaHNsYSgyMTYsIDk3JSwgODklLCAwLjk5KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtYmx1ZS0xMzAwOiBoc2woMjE3LCA5MyUsIDk1JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWJsdWUtMTQwMDogaHNsKDIxNiwgODglLCA5NyUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1wdXJwbGUtMTAwOiBoc2woMjU5LCAxMDAlLCAxOCUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1wdXJwbGUtMjAwOiBoc2woMjU5LCAxMDAlLCAyMSUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1wdXJwbGUtMzAwOiBoc2woMjYxLCAxMDAlLCAyNSUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1wdXJwbGUtNDAwOiBoc2woMjYyLCAxMDAlLCAyOCUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1wdXJwbGUtNTAwOiBoc2xhKDI2MywgOTglLCA1MiUsIDAuNjcpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1wdXJwbGUtNjAwOiBoc2xhKDI2MCwgOTglLCA1OCUsIDAuNzYpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1wdXJwbGUtNzAwOiBoc2xhKDI1OCwgOTglLCA2NCUsIDAuOSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXB1cnBsZS04MDA6IGhzbGEoMjU1LCAxMDAlLCA3MSUsIDAuOTcpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1wdXJwbGUtOTAwOiBoc2woMjUwLCAxMDAlLCA4MyUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1wdXJwbGUtMTAwMDogaHNsKDI0OSwgMTAwJSwgODYlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcHVycGxlLTExMDA6IGhzbCgyNDgsIDEwMCUsIDg5JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXB1cnBsZS0xMjAwOiBoc2woMjQ3LCAxMDAlLCA5MiUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1wdXJwbGUtMTMwMDogaHNsKDI0OSwgMTAwJSwgOTYlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcHVycGxlLTE0MDA6IGhzbCgyNTAsIDEwMCUsIDk4JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWZ1Y2hzaWEtMTAwOiBoc2woMjgxLCAxMDAlLCAxMyUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1mdWNoc2lhLTIwMDogaHNsKDI4MiwgMTAwJSwgMTUlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZnVjaHNpYS0zMDA6IGhzbCgyODUsIDEwMCUsIDE4JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWZ1Y2hzaWEtNDAwOiBoc2xhKDI4NiwgMTAwJSwgMjMlLCAwLjg1KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZnVjaHNpYS01MDA6IGhzbGEoMjg4LCAxMDAlLCA1NiUsIDAuNDQpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1mdWNoc2lhLTYwMDogaHNsYSgyODksIDk5JSwgNTklLCAwLjU0KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZnVjaHNpYS03MDA6IGhzbGEoMjkzLCA5NyUsIDYyJSwgMC42OCk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWZ1Y2hzaWEtODAwOiBoc2xhKDI5NiwgOTklLCA3MCUsIDAuNzgpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1mdWNoc2lhLTkwMDogaHNsYSgyOTUsIDEwMCUsIDg1JSwgMC44OCk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWZ1Y2hzaWEtMTAwMDogaHNsYSgyOTYsIDk3JSwgODclLCAwLjkpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1mdWNoc2lhLTExMDA6IGhzbGEoMjk2LCA5MiUsIDkwJSwgMC45Myk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWZ1Y2hzaWEtMTIwMDogaHNsYSgyOTcsIDk1JSwgOTIlLCAwLjk1KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZnVjaHNpYS0xMzAwOiBoc2xhKDI5NiwgOTAlLCA5NiUsIDAuOTgpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1mdWNoc2lhLTE0MDA6IGhzbGEoMzAwLCA3MSUsIDk3JSwgMC45OSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXBpbmstMTAwOiBoc2woMzQyLCAxMDAlLCAxMiUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1waW5rLTIwMDogaHNsKDMzOSwgMTAwJSwgMTQlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcGluay0zMDA6IGhzbCgzMzUsIDEwMCUsIDE3JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXBpbmstNDAwOiBoc2woMzMyLCAxMDAlLCAxOSUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1waW5rLTUwMDogaHNsYSgzMzMsIDk3JSwgNTAlLCAwLjQ2KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcGluay02MDA6IGhzbGEoMzM0LCA5OCUsIDUzJSwgMC41OCk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXBpbmstNzAwOiBoc2xhKDMzNSwgOTklLCA1NSUsIDAuNzYpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1waW5rLTgwMDogaHNsYSgzMzgsIDk4JSwgNTglLCAwLjk1KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcGluay05MDA6IGhzbCgzNDYsIDEwMCUsIDc5JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXBpbmstMTAwMDogaHNsKDM0NiwgMTAwJSwgODIlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcGluay0xMTAwOiBoc2woMzQ3LCAxMDAlLCA4NyUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1waW5rLTEyMDA6IGhzbCgzNDcsIDEwMCUsIDkwJSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXBpbmstMTMwMDogaHNsKDM0NywgMTAwJSwgOTYlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcGluay0xNDAwOiBoc2woMzQ3LCAxMDAlLCA5NyUsIDEpO1xufVxuICAgICAgICB9XG4gICAgfVxufVxuXG5AbGF5ZXIgY29tcG91bmQge1xuXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKHByZWZlcnMtY29sb3Itc2NoZW1lOiBkYXJrKSBhbmQgKHByZWZlcnMtY29udHJhc3Q6IG1vcmUpIHtcblxuICAgICAgICBAbGF5ZXIgY3BkLWJhc2Uge1xuOnJvb3Qge1xuICAtLWNwZC1jb2xvci10aGVtZS1iZzogIzEwMTMxNztcbiAgLS1jcGQtY29sb3ItZ3JheS0xMDA6ICMxODFhMWY7XG4gIC0tY3BkLWNvbG9yLWdyYXktMjAwOiAjMWQxZjI0O1xuICAtLWNwZC1jb2xvci1ncmF5LTMwMDogIzI2MjgyZDtcbiAgLS1jcGQtY29sb3ItZ3JheS00MDA6ICMyYjJlMzM7XG4gIC0tY3BkLWNvbG9yLWdyYXktNTAwOiAjM2MzZjQ0O1xuICAtLWNwZC1jb2xvci1ncmF5LTYwMDogIzRhNGY1NTtcbiAgLS1jcGQtY29sb3ItZ3JheS03MDA6ICM2MDY3NzA7XG4gIC0tY3BkLWNvbG9yLWdyYXktODAwOiAjNzk4MThkO1xuICAtLWNwZC1jb2xvci1ncmF5LTkwMDogI2FjYjRiZDtcbiAgLS1jcGQtY29sb3ItZ3JheS0xMDAwOiAjYjhiZmM3O1xuICAtLWNwZC1jb2xvci1ncmF5LTExMDA6ICNjOGNlZDU7XG4gIC0tY3BkLWNvbG9yLWdyYXktMTIwMDogI2Q1ZGFlMTtcbiAgLS1jcGQtY29sb3ItZ3JheS0xMzAwOiAjZWJlZWYyO1xuICAtLWNwZC1jb2xvci1ncmF5LTE0MDA6ICNmMmY1Zjc7XG4gIC0tY3BkLWNvbG9yLXJlZC0xMDA6ICMzZTAwMDA7XG4gIC0tY3BkLWNvbG9yLXJlZC0yMDA6ICM0NzAwMDA7XG4gIC0tY3BkLWNvbG9yLXJlZC0zMDA6ICM1OTAwMDA7XG4gIC0tY3BkLWNvbG9yLXJlZC00MDA6ICM2NDAwMDA7XG4gIC0tY3BkLWNvbG9yLXJlZC01MDA6ICM4MzAwMDk7XG4gIC0tY3BkLWNvbG9yLXJlZC02MDA6ICM5ZjBkMWU7XG4gIC0tY3BkLWNvbG9yLXJlZC03MDA6ICNjODFlMjg7XG4gIC0tY3BkLWNvbG9yLXJlZC04MDA6ICNmNTJmMzM7XG4gIC0tY3BkLWNvbG9yLXJlZC05MDA6ICNmZjk2OGM7XG4gIC0tY3BkLWNvbG9yLXJlZC0xMDAwOiAjZmZhNzlkO1xuICAtLWNwZC1jb2xvci1yZWQtMTEwMDogI2ZmYmRiNTtcbiAgLS1jcGQtY29sb3ItcmVkLTEyMDA6ICNmZmNmYzg7XG4gIC0tY3BkLWNvbG9yLXJlZC0xMzAwOiAjZmZlOWU2O1xuICAtLWNwZC1jb2xvci1yZWQtMTQwMDogI2ZmZjJlZjtcbiAgLS1jcGQtY29sb3Itb3JhbmdlLTEwMDogIzNjMDAwMDtcbiAgLS1jcGQtY29sb3Itb3JhbmdlLTIwMDogIzQ3MDAwMDtcbiAgLS1jcGQtY29sb3Itb3JhbmdlLTMwMDogIzU4MDAwMDtcbiAgLS1jcGQtY29sb3Itb3JhbmdlLTQwMDogIzY1MDAwMDtcbiAgLS1jcGQtY29sb3Itb3JhbmdlLTUwMDogIzgzMDUwMDtcbiAgLS1jcGQtY29sb3Itb3JhbmdlLTYwMDogIzk3MjIwNjtcbiAgLS1jcGQtY29sb3Itb3JhbmdlLTcwMDogI2I0NDAwNztcbiAgLS1jcGQtY29sb3Itb3JhbmdlLTgwMDogI2QxNWYwYjtcbiAgLS1jcGQtY29sb3Itb3JhbmdlLTkwMDogI2Y4OWQ1ODtcbiAgLS1jcGQtY29sb3Itb3JhbmdlLTEwMDA6ICNmYWFkNzM7XG4gIC0tY3BkLWNvbG9yLW9yYW5nZS0xMTAwOiAjZmRjMTk3O1xuICAtLWNwZC1jb2xvci1vcmFuZ2UtMTIwMDogI2ZlZDBiMTtcbiAgLS1jcGQtY29sb3Itb3JhbmdlLTEzMDA6ICNmZmVhZGI7XG4gIC0tY3BkLWNvbG9yLW9yYW5nZS0xNDAwOiAjZmZmMmVhO1xuICAtLWNwZC1jb2xvci15ZWxsb3ctMTAwOiAjM2EwMzAwO1xuICAtLWNwZC1jb2xvci15ZWxsb3ctMjAwOiAjNDEwOTAwO1xuICAtLWNwZC1jb2xvci15ZWxsb3ctMzAwOiAjNGMxNDAwO1xuICAtLWNwZC1jb2xvci15ZWxsb3ctNDAwOiAjNTQxZDAwO1xuICAtLWNwZC1jb2xvci15ZWxsb3ctNTAwOiAjNjgyZTAzO1xuICAtLWNwZC1jb2xvci15ZWxsb3ctNjAwOiAjN2MzZTAyO1xuICAtLWNwZC1jb2xvci15ZWxsb3ctNzAwOiAjOTg1NjAwO1xuICAtLWNwZC1jb2xvci15ZWxsb3ctODAwOiAjYjQ3MjAwO1xuICAtLWNwZC1jb2xvci15ZWxsb3ctOTAwOiAjZTNhYTAwO1xuICAtLWNwZC1jb2xvci15ZWxsb3ctMTAwMDogI2ViYjYwNztcbiAgLS1jcGQtY29sb3IteWVsbG93LTExMDA6ICNmN2M4MTY7XG4gIC0tY3BkLWNvbG9yLXllbGxvdy0xMjAwOiAjZmVkNjMyO1xuICAtLWNwZC1jb2xvci15ZWxsb3ctMTMwMDogI2ZmZWRiMTtcbiAgLS1jcGQtY29sb3IteWVsbG93LTE0MDA6ICNmZmY0ZDA7XG4gIC0tY3BkLWNvbG9yLWxpbWUtMTAwOiAjMDAyMDAwO1xuICAtLWNwZC1jb2xvci1saW1lLTIwMDogIzAwMjYwMDtcbiAgLS1jcGQtY29sb3ItbGltZS0zMDA6ICMwMDMwMDA7XG4gIC0tY3BkLWNvbG9yLWxpbWUtNDAwOiAjMDAzNzAwO1xuICAtLWNwZC1jb2xvci1saW1lLTUwMDogIzAwNGEwMDtcbiAgLS1jcGQtY29sb3ItbGltZS02MDA6ICMwMDVjMDA7XG4gIC0tY3BkLWNvbG9yLWxpbWUtNzAwOiAjMTg3NjExO1xuICAtLWNwZC1jb2xvci1saW1lLTgwMDogIzMxOTQxZDtcbiAgLS1jcGQtY29sb3ItbGltZS05MDA6ICM1ZWNhMmY7XG4gIC0tY3BkLWNvbG9yLWxpbWUtMTAwMDogIzZhZDYzOTtcbiAgLS1jcGQtY29sb3ItbGltZS0xMTAwOiAjOTJlMTc1O1xuICAtLWNwZC1jb2xvci1saW1lLTEyMDA6ICNhZmU5OWE7XG4gIC0tY3BkLWNvbG9yLWxpbWUtMTMwMDogI2RhZjZkMDtcbiAgLS1jcGQtY29sb3ItbGltZS0xNDAwOiAjZTlmOWUzO1xuICAtLWNwZC1jb2xvci1ncmVlbi0xMDA6ICMwMDFmMGU7XG4gIC0tY3BkLWNvbG9yLWdyZWVuLTIwMDogIzAwMjUxMztcbiAgLS1jcGQtY29sb3ItZ3JlZW4tMzAwOiAjMDAyZTFiO1xuICAtLWNwZC1jb2xvci1ncmVlbi00MDA6ICMwMDM2MjI7XG4gIC0tY3BkLWNvbG9yLWdyZWVuLTUwMDogIzAwNDgzMjtcbiAgLS1jcGQtY29sb3ItZ3JlZW4tNjAwOiAjMDA1YTQzO1xuICAtLWNwZC1jb2xvci1ncmVlbi03MDA6ICMwMDc0NWM7XG4gIC0tY3BkLWNvbG9yLWdyZWVuLTgwMDogIzEwOTE3MztcbiAgLS1jcGQtY29sb3ItZ3JlZW4tOTAwOiAjMzdjOTk4O1xuICAtLWNwZC1jb2xvci1ncmVlbi0xMDAwOiAjNjFkMmE2O1xuICAtLWNwZC1jb2xvci1ncmVlbi0xMTAwOiAjOGZkZGJjO1xuICAtLWNwZC1jb2xvci1ncmVlbi0xMjAwOiAjYWNlNmNjO1xuICAtLWNwZC1jb2xvci1ncmVlbi0xMzAwOiAjZDlmNGU3O1xuICAtLWNwZC1jb2xvci1ncmVlbi0xNDAwOiAjZTlmOGYxO1xuICAtLWNwZC1jb2xvci1jeWFuLTEwMDogIzAwMTQ0ODtcbiAgLS1jcGQtY29sb3ItY3lhbi0yMDA6ICMwMDFiNGU7XG4gIC0tY3BkLWNvbG9yLWN5YW4tMzAwOiAjMDAyNTU5O1xuICAtLWNwZC1jb2xvci1jeWFuLTQwMDogIzAwMmQ2MTtcbiAgLS1jcGQtY29sb3ItY3lhbi01MDA6ICMwMDNmNzU7XG4gIC0tY3BkLWNvbG9yLWN5YW4tNjAwOiAjMDA1MTg4O1xuICAtLWNwZC1jb2xvci1jeWFuLTcwMDogIzAwNmNhNDtcbiAgLS1jcGQtY29sb3ItY3lhbi04MDA6ICMwMDhhYmE7XG4gIC0tY3BkLWNvbG9yLWN5YW4tOTAwOiAjNDZjM2QyO1xuICAtLWNwZC1jb2xvci1jeWFuLTEwMDA6ICM2YmNjZDk7XG4gIC0tY3BkLWNvbG9yLWN5YW4tMTEwMDogIzkzZDllMjtcbiAgLS1jcGQtY29sb3ItY3lhbi0xMjAwOiAjYWZlMmU5O1xuICAtLWNwZC1jb2xvci1jeWFuLTEzMDA6ICNkYmYyZjU7XG4gIC0tY3BkLWNvbG9yLWN5YW4tMTQwMDogI2VhZjdmOTtcbiAgLS1jcGQtY29sb3ItYmx1ZS0xMDA6ICMwMDA5NWQ7XG4gIC0tY3BkLWNvbG9yLWJsdWUtMjAwOiAjMDAxMjY0O1xuICAtLWNwZC1jb2xvci1ibHVlLTMwMDogIzAwMWU2ZjtcbiAgLS1jcGQtY29sb3ItYmx1ZS00MDA6ICMwMzI2Nzc7XG4gIC0tY3BkLWNvbG9yLWJsdWUtNTAwOiAjMDgzODkxO1xuICAtLWNwZC1jb2xvci1ibHVlLTYwMDogIzBiNDlhYjtcbiAgLS1jcGQtY29sb3ItYmx1ZS03MDA6ICMwZTYxZDE7XG4gIC0tY3BkLWNvbG9yLWJsdWUtODAwOiAjMzM3ZmU5O1xuICAtLWNwZC1jb2xvci1ibHVlLTkwMDogIzg5YjVmNjtcbiAgLS1jcGQtY29sb3ItYmx1ZS0xMDAwOiAjOWFjMGY4O1xuICAtLWNwZC1jb2xvci1ibHVlLTExMDA6ICNiMmNmZmE7XG4gIC0tY3BkLWNvbG9yLWJsdWUtMTIwMDogI2M1ZGJmYztcbiAgLS1jcGQtY29sb3ItYmx1ZS0xMzAwOiAjZTRlZWZlO1xuICAtLWNwZC1jb2xvci1ibHVlLTE0MDA6ICNlZmY1ZmU7XG4gIC0tY3BkLWNvbG9yLXB1cnBsZS0xMDA6ICMxYzAwNWE7XG4gIC0tY3BkLWNvbG9yLXB1cnBsZS0yMDA6ICMyMjAwNmE7XG4gIC0tY3BkLWNvbG9yLXB1cnBsZS0zMDA6ICMyYzAwODA7XG4gIC0tY3BkLWNvbG9yLXB1cnBsZS00MDA6ICMzNTAwOTA7XG4gIC0tY3BkLWNvbG9yLXB1cnBsZS01MDA6ICM0YTBkYjE7XG4gIC0tY3BkLWNvbG9yLXB1cnBsZS02MDA6ICM1YTI3YzY7XG4gIC0tY3BkLWNvbG9yLXB1cnBsZS03MDA6ICM3MzQzZTY7XG4gIC0tY3BkLWNvbG9yLXB1cnBsZS04MDA6ICM4YjY2Zjg7XG4gIC0tY3BkLWNvbG9yLXB1cnBsZS05MDA6ICNiNmE3ZmY7XG4gIC0tY3BkLWNvbG9yLXB1cnBsZS0xMDAwOiAjYzBiNWZmO1xuICAtLWNwZC1jb2xvci1wdXJwbGUtMTEwMDogI2NlYzdmZjtcbiAgLS1jcGQtY29sb3ItcHVycGxlLTEyMDA6ICNkYWQ1ZmY7XG4gIC0tY3BkLWNvbG9yLXB1cnBsZS0xMzAwOiAjZWVlYmZmO1xuICAtLWNwZC1jb2xvci1wdXJwbGUtMTQwMDogI2Y1ZjNmZjtcbiAgLS1jcGQtY29sb3ItZnVjaHNpYS0xMDA6ICMyZTAwNDQ7XG4gIC0tY3BkLWNvbG9yLWZ1Y2hzaWEtMjAwOiAjMzcwMDRlO1xuICAtLWNwZC1jb2xvci1mdWNoc2lhLTMwMDogIzQ2MDA1ZTtcbiAgLS1jcGQtY29sb3ItZnVjaHNpYS00MDA6ICM0ZjAzNjg7XG4gIC0tY3BkLWNvbG9yLWZ1Y2hzaWEtNTAwOiAjNjUxNzdkO1xuICAtLWNwZC1jb2xvci1mdWNoc2lhLTYwMDogIzdkMjM5NDtcbiAgLS1jcGQtY29sb3ItZnVjaHNpYS03MDA6ICNhMjMzYjM7XG4gIC0tY3BkLWNvbG9yLWZ1Y2hzaWEtODAwOiAjYzE1M2NiO1xuICAtLWNwZC1jb2xvci1mdWNoc2lhLTkwMDogI2RkOWRlMztcbiAgLS1jcGQtY29sb3ItZnVjaHNpYS0xMDAwOiAjZTNhYmU3O1xuICAtLWNwZC1jb2xvci1mdWNoc2lhLTExMDA6ICNlYWMwZWQ7XG4gIC0tY3BkLWNvbG9yLWZ1Y2hzaWEtMTIwMDogI2YwY2ZmMjtcbiAgLS1jcGQtY29sb3ItZnVjaHNpYS0xMzAwOiAjZjhlOWY5O1xuICAtLWNwZC1jb2xvci1mdWNoc2lhLTE0MDA6ICNmYmYxZmI7XG4gIC0tY3BkLWNvbG9yLXBpbmstMTAwOiAjM2MwMDEyO1xuICAtLWNwZC1jb2xvci1waW5rLTIwMDogIzQ1MDAxODtcbiAgLS1jcGQtY29sb3ItcGluay0zMDA6ICM1NTAwMjQ7XG4gIC0tY3BkLWNvbG9yLXBpbmstNDAwOiAjNjEwMDJkO1xuICAtLWNwZC1jb2xvci1waW5rLTUwMDogIzdjMGM0MTtcbiAgLS1jcGQtY29sb3ItcGluay02MDA6ICM5OTExNGY7XG4gIC0tY3BkLWNvbG9yLXBpbmstNzAwOiAjYzUxNzYxO1xuICAtLWNwZC1jb2xvci1waW5rLTgwMDogI2YxMmM3NTtcbiAgLS1jcGQtY29sb3ItcGluay05MDA6ICNmZjkyYWM7XG4gIC0tY3BkLWNvbG9yLXBpbmstMTAwMDogI2ZmYTRiOTtcbiAgLS1jcGQtY29sb3ItcGluay0xMTAwOiAjZmZiYmNhO1xuICAtLWNwZC1jb2xvci1waW5rLTEyMDA6ICNmZmNjZDc7XG4gIC0tY3BkLWNvbG9yLXBpbmstMTMwMDogI2ZmZThlZDtcbiAgLS1jcGQtY29sb3ItcGluay0xNDAwOiAjZmZmMWY0O1xuICAtLWNwZC1jb2xvci1hbHBoYS1ncmF5LTEwMDogaHNsYSgyODYsIDMxJSwgODIlLCAwLjA0KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZ3JheS0yMDA6IGhzbGEoMjgwLCA0MSUsIDkwJSwgMC4wNik7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWdyYXktMzAwOiBoc2xhKDI3MCwgMzclLCA5MyUsIDAuMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWdyYXktNDAwOiBoc2xhKDIyNywgMjklLCA5MSUsIDAuMTMpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ncmF5LTUwMDogaHNsYSgyMjUsIDQ2JSwgOTUlLCAwLjIpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ncmF5LTYwMDogaHNsYSgyMTMsIDg1JSwgOTUlLCAwLjI3KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZ3JheS03MDA6IGhzbGEoMjE0LCA3OSUsIDkzJSwgMC4zOSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWdyYXktODAwOiBoc2xhKDIxNiwgOTQlLCA5MyUsIDAuNTEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ncmF5LTkwMDogaHNsYSgyMTEsIDkxJSwgOTYlLCAwLjcyKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZ3JheS0xMDAwOiBoc2xhKDIxMywgMTAwJSwgOTclLCAwLjc2KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZ3JheS0xMTAwOiBoc2xhKDIxMiwgMTAwJSwgOTclLCAwLjgyKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZ3JheS0xMjAwOiBoc2xhKDIxNywgNzclLCA5NyUsIDAuODgpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ncmF5LTEzMDA6IGhzbGEoMjE0LCA3OCUsIDk4JSwgMC45NSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWdyYXktMTQwMDogaHNsYSgyMDQsIDcxJSwgOTklLCAwLjk3KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcmVkLTEwMDogaHNsKDAsIDEwMCUsIDEyJSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXJlZC0yMDA6IGhzbCgwLCAxMDAlLCAxNCUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1yZWQtMzAwOiBoc2woMCwgMTAwJSwgMTglLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcmVkLTQwMDogaHNsKDAsIDEwMCUsIDIwJSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXJlZC01MDA6IGhzbCgzNTYsIDEwMCUsIDI2JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXJlZC02MDA6IGhzbGEoMzU0LCA5OSUsIDUyJSwgMC42KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcmVkLTcwMDogaHNsYSgzNTcsIDEwMCUsIDU3JSwgMC43Nyk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXJlZC04MDA6IGhzbGEoMzU5LCAxMDAlLCA1OSUsIDAuOTYpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1yZWQtOTAwOiBoc2woNSwgMTAwJSwgNzglLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcmVkLTEwMDA6IGhzbCg2LCAxMDAlLCA4MSUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1yZWQtMTEwMDogaHNsKDYsIDEwMCUsIDg2JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXJlZC0xMjAwOiBoc2woOCwgMTAwJSwgODklLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcmVkLTEzMDA6IGhzbCg3LCAxMDAlLCA5NSUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1yZWQtMTQwMDogaHNsKDExLCAxMDAlLCA5NyUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1vcmFuZ2UtMTAwOiBoc2woMCwgMTAwJSwgMTIlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtb3JhbmdlLTIwMDogaHNsKDAsIDEwMCUsIDE0JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLW9yYW5nZS0zMDA6IGhzbCgwLCAxMDAlLCAxNyUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1vcmFuZ2UtNDAwOiBoc2woMCwgMTAwJSwgMjAlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtb3JhbmdlLTUwMDogaHNsKDIsIDEwMCUsIDI2JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLW9yYW5nZS02MDA6IGhzbGEoMTIsIDEwMCUsIDM5JSwgMC43NCk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLW9yYW5nZS03MDA6IGhzbGEoMjAsIDEwMCUsIDQ5JSwgMC43KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtb3JhbmdlLTgwMDogaHNsYSgyNiwgOTklLCA1MSUsIDAuODEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1vcmFuZ2UtOTAwOiBoc2xhKDI2LCA5OCUsIDY3JSwgMC45OCk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLW9yYW5nZS0xMDAwOiBoc2xhKDI2LCAxMDAlLCA3MyUsIDAuOTgpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1vcmFuZ2UtMTEwMDogaHNsKDI1LCA5NiUsIDc5JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLW9yYW5nZS0xMjAwOiBoc2woMjQsIDk4JSwgODUlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtb3JhbmdlLTEzMDA6IGhzbCgyNSwgMTAwJSwgOTMlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtb3JhbmdlLTE0MDA6IGhzbCgyMywgMTAwJSwgOTYlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEteWVsbG93LTEwMDogaHNsKDMsIDEwMCUsIDExJSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXllbGxvdy0yMDA6IGhzbCg4LCAxMDAlLCAxMyUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS15ZWxsb3ctMzAwOiBoc2woMTYsIDEwMCUsIDE1JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXllbGxvdy00MDA6IGhzbCgyMSwgMTAwJSwgMTclLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEteWVsbG93LTUwMDogaHNsYSgyNiwgMTAwJSwgMjMlLCAwLjg3KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEteWVsbG93LTYwMDogaHNsYSgzMCwgMTAwJSwgMjYlLCAwLjkyKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEteWVsbG93LTcwMDogaHNsKDM0LCAxMDAlLCAzMCUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS15ZWxsb3ctODAwOiBoc2woMzgsIDEwMCUsIDM1JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXllbGxvdy05MDA6IGhzbCg0NSwgMTAwJSwgNDUlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEteWVsbG93LTEwMDA6IGhzbGEoNDYsIDk5JSwgNTElLCAwLjkyKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEteWVsbG93LTExMDA6IGhzbGEoNDgsIDk5JSwgNTQlLCAwLjk3KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEteWVsbG93LTEyMDA6IGhzbCg0OCwgOTklLCA2MCUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS15ZWxsb3ctMTMwMDogaHNsKDQ2LCAxMDAlLCA4NSUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS15ZWxsb3ctMTQwMDogaHNsKDQ2LCAxMDAlLCA5MSUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1saW1lLTEwMDogaHNsKDEyMCwgMTAwJSwgNiUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1saW1lLTIwMDogaHNsKDEyMCwgMTAwJSwgOCUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1saW1lLTMwMDogaHNsKDEyMCwgMTAwJSwgOSUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1saW1lLTQwMDogaHNsKDEyMCwgMTAwJSwgMTElLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtbGltZS01MDA6IGhzbCgxMjAsIDEwMCUsIDE1JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWxpbWUtNjAwOiBoc2woMTIwLCAxMDAlLCAxOCUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1saW1lLTcwMDogaHNsYSgxMTQsIDEwMCUsIDUyJSwgMC40Mik7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWxpbWUtODAwOiBoc2xhKDEwOSwgOTklLCA1NyUsIDAuNTUpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1saW1lLTkwMDogaHNsYSgxMDEsIDk5JSwgNjAlLCAwLjc4KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtbGltZS0xMDAwOiBoc2xhKDEwMSwgOTklLCA2MiUsIDAuODMpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1saW1lLTExMDA6IGhzbGEoMTAzLCA5NyUsIDc1JSwgMC44OCk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWxpbWUtMTIwMDogaHNsYSgxMDMsIDk4JSwgODMlLCAwLjkxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtbGltZS0xMzAwOiBoc2xhKDEwNSwgOTElLCA5MiUsIDAuOTcpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1saW1lLTE0MDA6IGhzbGEoMTA0LCA5MiUsIDk1JSwgMC45OCk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWdyZWVuLTEwMDogaHNsKDE0NywgMTAwJSwgNiUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ncmVlbi0yMDA6IGhzbCgxNTEsIDEwMCUsIDclLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZ3JlZW4tMzAwOiBoc2woMTU1LCAxMDAlLCA5JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWdyZWVuLTQwMDogaHNsKDE1OCwgMTAwJSwgMTElLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZ3JlZW4tNTAwOiBoc2woMTYyLCAxMDAlLCAxNCUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ncmVlbi02MDA6IGhzbCgxNjUsIDEwMCUsIDE4JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWdyZWVuLTcwMDogaHNsKDE2OCwgMTAwJSwgMjMlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZ3JlZW4tODAwOiBoc2xhKDE2NSwgOTglLCA1MyUsIDAuNTQpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ncmVlbi05MDA6IGhzbGEoMTU5LCA5NyUsIDYyJSwgMC43OCk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWdyZWVuLTEwMDA6IGhzbGEoMTU2LCAxMDAlLCA3MyUsIDAuODEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ncmVlbi0xMTAwOiBoc2xhKDE1NCwgOTglLCA4MiUsIDAuODYpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ncmVlbi0xMjAwOiBoc2xhKDE1MywgOTQlLCA4NyUsIDAuOSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWdyZWVuLTEzMDA6IGhzbGEoMTUyLCA4OCUsIDk0JSwgMC45Nik7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWdyZWVuLTE0MDA6IGhzbGEoMTUwLCA4MCUsIDk2JSwgMC45OCk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWN5YW4tMTAwOiBoc2woMjIzLCAxMDAlLCAxNCUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1jeWFuLTIwMDogaHNsKDIxOSwgMTAwJSwgMTUlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtY3lhbi0zMDA6IGhzbCgyMTUsIDEwMCUsIDE4JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWN5YW4tNDAwOiBoc2woMjEyLCAxMDAlLCAxOSUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1jeWFuLTUwMDogaHNsKDIwOCwgMTAwJSwgMjMlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtY3lhbi02MDA6IGhzbCgyMDQsIDEwMCUsIDI3JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWN5YW4tNzAwOiBoc2woMjAwLCAxMDAlLCAzMiUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1jeWFuLTgwMDogaHNsKDE5NSwgMTAwJSwgMzclLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtY3lhbi05MDA6IGhzbGEoMTg2LCA5OSUsIDY2JSwgMC44MSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWN5YW4tMTAwMDogaHNsYSgxODcsIDk5JSwgNzQlLCAwLjg0KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtY3lhbi0xMTAwOiBoc2xhKDE4NywgOTglLCA4MiUsIDAuODgpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1jeWFuLTEyMDA6IGhzbGEoMTg4LCA5NyUsIDg3JSwgMC45MSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWN5YW4tMTMwMDogaHNsYSgxODcsIDkzJSwgOTQlLCAwLjk2KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtY3lhbi0xNDAwOiBoc2xhKDE4NywgODklLCA5NyUsIDAuOTgpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ibHVlLTEwMDogaHNsKDIzNCwgMTAwJSwgMTglLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtYmx1ZS0yMDA6IGhzbCgyMjksIDEwMCUsIDIwJSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWJsdWUtMzAwOiBoc2woMjI0LCAxMDAlLCAyMiUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ibHVlLTQwMDogaHNsYSgyMjIsIDEwMCUsIDI4JSwgMC44Mik7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWJsdWUtNTAwOiBoc2xhKDIxOSwgOTklLCA1MCUsIDAuNTMpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ibHVlLTYwMDogaHNsYSgyMTcsIDk5JSwgNTElLCAwLjY0KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtYmx1ZS03MDA6IGhzbGEoMjE1LCA5OCUsIDUyJSwgMC44MSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWJsdWUtODAwOiBoc2xhKDIxNSwgOTklLCA2MCUsIDAuOTEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ibHVlLTkwMDogaHNsYSgyMTYsIDk3JSwgNzclLCAwLjk3KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtYmx1ZS0xMDAwOiBoc2xhKDIxNiwgMTAwJSwgODElLCAwLjk3KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtYmx1ZS0xMTAwOiBoc2xhKDIxNiwgMTAwJSwgODYlLCAwLjk4KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtYmx1ZS0xMjAwOiBoc2xhKDIxNiwgOTclLCA4OSUsIDAuOTkpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ibHVlLTEzMDA6IGhzbCgyMTcsIDkzJSwgOTUlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtYmx1ZS0xNDAwOiBoc2woMjE2LCA4OCUsIDk3JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXB1cnBsZS0xMDA6IGhzbCgyNTksIDEwMCUsIDE4JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXB1cnBsZS0yMDA6IGhzbCgyNTksIDEwMCUsIDIxJSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXB1cnBsZS0zMDA6IGhzbCgyNjEsIDEwMCUsIDI1JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXB1cnBsZS00MDA6IGhzbCgyNjIsIDEwMCUsIDI4JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXB1cnBsZS01MDA6IGhzbGEoMjYzLCA5OCUsIDUyJSwgMC42Nyk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXB1cnBsZS02MDA6IGhzbGEoMjYwLCA5OCUsIDU4JSwgMC43Nik7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXB1cnBsZS03MDA6IGhzbGEoMjU4LCA5OCUsIDY0JSwgMC45KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcHVycGxlLTgwMDogaHNsYSgyNTUsIDEwMCUsIDcxJSwgMC45Nyk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXB1cnBsZS05MDA6IGhzbCgyNTAsIDEwMCUsIDgzJSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXB1cnBsZS0xMDAwOiBoc2woMjQ5LCAxMDAlLCA4NiUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1wdXJwbGUtMTEwMDogaHNsKDI0OCwgMTAwJSwgODklLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcHVycGxlLTEyMDA6IGhzbCgyNDcsIDEwMCUsIDkyJSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXB1cnBsZS0xMzAwOiBoc2woMjQ5LCAxMDAlLCA5NiUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1wdXJwbGUtMTQwMDogaHNsKDI1MCwgMTAwJSwgOTglLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZnVjaHNpYS0xMDA6IGhzbCgyODEsIDEwMCUsIDEzJSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWZ1Y2hzaWEtMjAwOiBoc2woMjgyLCAxMDAlLCAxNSUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1mdWNoc2lhLTMwMDogaHNsKDI4NSwgMTAwJSwgMTglLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZnVjaHNpYS00MDA6IGhzbGEoMjg2LCAxMDAlLCAyMyUsIDAuODUpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1mdWNoc2lhLTUwMDogaHNsYSgyODgsIDEwMCUsIDU2JSwgMC40NCk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWZ1Y2hzaWEtNjAwOiBoc2xhKDI4OSwgOTklLCA1OSUsIDAuNTQpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1mdWNoc2lhLTcwMDogaHNsYSgyOTMsIDk3JSwgNjIlLCAwLjY4KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZnVjaHNpYS04MDA6IGhzbGEoMjk2LCA5OSUsIDcwJSwgMC43OCk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWZ1Y2hzaWEtOTAwOiBoc2xhKDI5NSwgMTAwJSwgODUlLCAwLjg4KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZnVjaHNpYS0xMDAwOiBoc2xhKDI5NiwgOTclLCA4NyUsIDAuOSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWZ1Y2hzaWEtMTEwMDogaHNsYSgyOTYsIDkyJSwgOTAlLCAwLjkzKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZnVjaHNpYS0xMjAwOiBoc2xhKDI5NywgOTUlLCA5MiUsIDAuOTUpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1mdWNoc2lhLTEzMDA6IGhzbGEoMjk2LCA5MCUsIDk2JSwgMC45OCk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWZ1Y2hzaWEtMTQwMDogaHNsYSgzMDAsIDcxJSwgOTclLCAwLjk5KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcGluay0xMDA6IGhzbCgzNDIsIDEwMCUsIDEyJSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXBpbmstMjAwOiBoc2woMzM5LCAxMDAlLCAxNCUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1waW5rLTMwMDogaHNsKDMzNSwgMTAwJSwgMTclLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcGluay00MDA6IGhzbCgzMzIsIDEwMCUsIDE5JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXBpbmstNTAwOiBoc2xhKDMzMywgOTclLCA1MCUsIDAuNDYpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1waW5rLTYwMDogaHNsYSgzMzQsIDk4JSwgNTMlLCAwLjU4KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcGluay03MDA6IGhzbGEoMzM1LCA5OSUsIDU1JSwgMC43Nik7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXBpbmstODAwOiBoc2xhKDMzOCwgOTglLCA1OCUsIDAuOTUpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1waW5rLTkwMDogaHNsKDM0NiwgMTAwJSwgNzklLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcGluay0xMDAwOiBoc2woMzQ2LCAxMDAlLCA4MiUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1waW5rLTExMDA6IGhzbCgzNDcsIDEwMCUsIDg3JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXBpbmstMTIwMDogaHNsKDM0NywgMTAwJSwgOTAlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcGluay0xMzAwOiBoc2woMzQ3LCAxMDAlLCA5NiUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1waW5rLTE0MDA6IGhzbCgzNDcsIDEwMCUsIDk3JSwgMSk7XG59XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBsYXllciBjb21wb3VuZCB7XG5cbiAgICBAbWVkaWEgc2NyZWVuIHtcblxuICAgICAgICBAbGF5ZXIgY3BkLXNlbWFudGljIHtcbi5jcGQtdGhlbWUtZGFyay1oYy5jcGQtdGhlbWUtZGFyay1oYyB7XG4gIC0tY3BkLWNvbG9yLWJnLWNhbnZhcy1kZWZhdWx0LWxldmVsLTE6IHZhcigtLWNwZC1jb2xvci1ncmF5LTMwMCk7XG4gIC0tY3BkLWNvbG9yLWJnLXN1YnRsZS1zZWNvbmRhcnktbGV2ZWwtMDogdmFyKC0tY3BkLWNvbG9yLXRoZW1lLWJnKTtcbn1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuQGxheWVyIGNvbXBvdW5kIHtcblxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChwcmVmZXJzLWNvbG9yLXNjaGVtZTogZGFyaykgYW5kIChwcmVmZXJzLWNvbnRyYXN0OiBtb3JlKSB7XG5cbiAgICAgICAgQGxheWVyIGNwZC1zZW1hbnRpYyB7XG46cm9vdCB7XG4gIC0tY3BkLWNvbG9yLWJnLWNhbnZhcy1kZWZhdWx0LWxldmVsLTE6IHZhcigtLWNwZC1jb2xvci1ncmF5LTMwMCk7XG4gIC0tY3BkLWNvbG9yLWJnLXN1YnRsZS1zZWNvbmRhcnktbGV2ZWwtMDogdmFyKC0tY3BkLWNvbG9yLXRoZW1lLWJnKTtcbn1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLypcbkNvcHlyaWdodCAyMDIzICBOZXcgVmVjdG9yIEx0ZFxuXG5MaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xueW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG5cbiAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcblxuVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG5TZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG5saW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiovXG5cbi8qIFRPRE86IFJldmlldyBlbnRpcmUgZmlsZSBmb3Igc2VtYW50aWMgdG9rZW4gZGVmaW5pdG9uICovXG5cbi5fYWxlcnRfMWJ6MDhfMTkge1xuICBjb250YWluZXItdHlwZTogaW5saW5lLXNpemU7XG4gIGNvbnRhaW5lci1uYW1lOiBhbGVydDtcbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICBkaXNwbGF5OiBmbGV4O1xuICAtd2Via2l0LWJveC1hbGlnbjogc3RhcnQ7XG4gICAgICAtbXMtZmxleC1hbGlnbjogc3RhcnQ7XG4gICAgICAgICAgYWxpZ24taXRlbXM6IHN0YXJ0O1xuICAtd2Via2l0LWJveC1wYWNrOiBzdGFydDtcbiAgICAgIC1tcy1mbGV4LXBhY2s6IHN0YXJ0O1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3RhcnQ7XG4gIGdhcDogdmFyKC0tY3BkLXNwYWNlLTN4KTtcbiAgcGFkZGluZzogdmFyKC0tY3BkLXNwYWNlLTR4KTtcbiAgYm9yZGVyLXJhZGl1czogOHB4O1xuICBib3JkZXI6IDFweCBzb2xpZDtcbn1cblxuLl9hbGVydF8xYnowOF8xOVtkYXRhLXR5cGU9XCJzdWNjZXNzXCJdIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY3BkLWNvbG9yLWdyZWVuLTIwMCk7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0tY3BkLWNvbG9yLWdyZWVuLTUwMCk7XG59XG5cbi5fYWxlcnRfMWJ6MDhfMTlbZGF0YS10eXBlPVwiY3JpdGljYWxcIl0ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jcGQtY29sb3ItcmVkLTIwMCk7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0tY3BkLWNvbG9yLXJlZC01MDApO1xufVxuXG4uX2FsZXJ0XzFiejA4XzE5W2RhdGEtdHlwZT1cImluZm9cIl0ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jcGQtY29sb3ItYmx1ZS0yMDApO1xuICBib3JkZXItY29sb3I6IHZhcigtLWNwZC1jb2xvci1ibHVlLTUwMCk7XG59XG5cbi5fY29udGVudF8xYnowOF80NiB7XG4gIC13ZWJraXQtYm94LWZsZXg6IDE7XG4gICAgICAtbXMtZmxleDogMTtcbiAgICAgICAgICBmbGV4OiAxO1xuICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIC13ZWJraXQtYm94LW9yaWVudDogaG9yaXpvbnRhbDtcbiAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiBub3JtYWw7XG4gICAgICAtbXMtZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBnYXA6IHZhcigtLWNwZC1zcGFjZS0zeCk7XG59XG5cbi5fdGV4dC1jb250ZW50XzFiejA4XzUzIHtcbiAgLXdlYmtpdC1ib3gtZmxleDogMTtcbiAgICAgIC1tcy1mbGV4OiAxIDEgMHB4O1xuICAgICAgICAgIGZsZXg6IDEgMSAwO1xufVxuXG5bZGF0YS10eXBlPVwic3VjY2Vzc1wiXSA6aXMoLl90aXRsZV8xYnowOF81NywgLl9pY29uXzFiejA4XzU3KSB7XG4gIGNvbG9yOiB2YXIoLS1jcGQtY29sb3ItZ3JlZW4tOTAwKTtcbn1cblxuW2RhdGEtdHlwZT1cImNyaXRpY2FsXCJdIDppcyguX3RpdGxlXzFiejA4XzU3LCAuX2ljb25fMWJ6MDhfNTcpIHtcbiAgY29sb3I6IHZhcigtLWNwZC1jb2xvci1yZWQtOTAwKTtcbn1cblxuW2RhdGEtdHlwZT1cImluZm9cIl0gOmlzKC5fdGl0bGVfMWJ6MDhfNTcsIC5faWNvbl8xYnowOF81Nykge1xuICBjb2xvcjogdmFyKC0tY3BkLWNvbG9yLWJsdWUtOTAwKTtcbn1cblxuLl9hbGVydF8xYnowOF8xOSBwIHtcbiAgbWFyZ2luOiAwO1xufVxuXG4uX2FjdGlvbnNfMWJ6MDhfNzMge1xuICAtd2Via2l0LWJveC1mbGV4OiAwO1xuICAgICAgLW1zLWZsZXg6IDA7XG4gICAgICAgICAgZmxleDogMDtcbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICBkaXNwbGF5OiBmbGV4O1xuICAtd2Via2l0LWJveC1vcmllbnQ6IGhvcml6b250YWw7XG4gIC13ZWJraXQtYm94LWRpcmVjdGlvbjogbm9ybWFsO1xuICAgICAgLW1zLWZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgZ2FwOiB2YXIoLS1jcGQtc3BhY2UtMXgpO1xuICAtbXMtZmxleC1pdGVtLWFsaWduOiBjZW50ZXI7XG4gICAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XG59XG5cbi5faWNvbl8xYnowOF81NyB7XG4gIC1tcy1mbGV4LW5lZ2F0aXZlOiAwO1xuICAgICAgZmxleC1zaHJpbms6IDA7XG59XG5cbi8qIEBUT0RPIDYwMHB4IGJyZWFrIHNob3VsZCBiZSBhIHRva2VuICovXG5cbi8qIHdyYXAgYWN0aW9ucyBpbnRvIGEgc3RhY2tlZCBsYXlvdXQgd2hlbiB0aGUgYWxlcnQgaXMgPD02MDBweCAqL1xuXG5AY29udGFpbmVyIGFsZXJ0IChtYXgtd2lkdGg6IDYwMHB4KSB7XG4gIC5fY29udGVudF8xYnowOF80NiB7XG4gICAgLW1zLWZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICB9XG5cbiAgLl90ZXh0LWNvbnRlbnRfMWJ6MDhfNTMge1xuICAgIC13ZWJraXQtYm94LWZsZXg6IDE7XG4gICAgICAgIC1tcy1mbGV4OiAxIDAgMTAwJTtcbiAgICAgICAgICAgIGZsZXg6IDEgMCAxMDAlO1xuICB9XG59XG5cbi8qXG5Db3B5cmlnaHQgMjAyMyBOZXcgVmVjdG9yIEx0ZFxuXG5MaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xueW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG5cbiAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcblxuVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG5TZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG5saW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiovXG5cbi8qKlxuICogRm9udCDigJMgQm9keSDigJMgRXh0cmEgU21hbGxcbiAqL1xuXG4uX2ZvbnQtYm9keS14cy1yZWd1bGFyX3loNWRxXzIxIHtcbiAgbGV0dGVyLXNwYWNpbmc6IHZhcigtLWNwZC1mb250LWxldHRlci1zcGFjaW5nLWJvZHkteHMpO1xuICBmb250OiB2YXIoLS1jcGQtZm9udC1ib2R5LXhzLXJlZ3VsYXIpO1xufVxuXG4uX2ZvbnQtYm9keS14cy1zZW1pYm9sZF95aDVkcV8yNiB7XG4gIGxldHRlci1zcGFjaW5nOiB2YXIoLS1jcGQtZm9udC1sZXR0ZXItc3BhY2luZy1ib2R5LXhzKTtcbiAgZm9udDogdmFyKC0tY3BkLWZvbnQtYm9keS14cy1zZW1pYm9sZCk7XG59XG5cbi5fZm9udC1ib2R5LXhzLW1lZGl1bV95aDVkcV8zMSB7XG4gIGxldHRlci1zcGFjaW5nOiB2YXIoLS1jcGQtZm9udC1sZXR0ZXItc3BhY2luZy1ib2R5LXhzKTtcbiAgZm9udDogdmFyKC0tY3BkLWZvbnQtYm9keS14cy1tZWRpdW0pO1xufVxuXG4vKipcbiAqIEZvbnQg4oCTIEJvZHkg4oCTIFNtYWxsXG4gKi9cblxuLl9mb250LWJvZHktc20tcmVndWxhcl95aDVkcV80MCB7XG4gIGxldHRlci1zcGFjaW5nOiB2YXIoLS1jcGQtZm9udC1sZXR0ZXItc3BhY2luZy1ib2R5LXNtKTtcbiAgZm9udDogdmFyKC0tY3BkLWZvbnQtYm9keS1zbS1yZWd1bGFyKTtcbn1cblxuLl9mb250LWJvZHktc20tc2VtaWJvbGRfeWg1ZHFfNDUge1xuICBsZXR0ZXItc3BhY2luZzogdmFyKC0tY3BkLWZvbnQtbGV0dGVyLXNwYWNpbmctYm9keS1zbSk7XG4gIGZvbnQ6IHZhcigtLWNwZC1mb250LWJvZHktc20tc2VtaWJvbGQpO1xufVxuXG4uX2ZvbnQtYm9keS1zbS1tZWRpdW1feWg1ZHFfNTAge1xuICBsZXR0ZXItc3BhY2luZzogdmFyKC0tY3BkLWZvbnQtbGV0dGVyLXNwYWNpbmctYm9keS1zbSk7XG4gIGZvbnQ6IHZhcigtLWNwZC1mb250LWJvZHktc20tbWVkaXVtKTtcbn1cblxuLyoqXG4gKiBGb250IOKAkyBCb2R5IOKAkyBNZWRpdW1cbiAqL1xuXG4uX2ZvbnQtYm9keS1tZC1yZWd1bGFyX3loNWRxXzU5IHtcbiAgbGV0dGVyLXNwYWNpbmc6IHZhcigtLWNwZC1mb250LWxldHRlci1zcGFjaW5nLWJvZHktbWQpO1xuICBmb250OiB2YXIoLS1jcGQtZm9udC1ib2R5LW1kLXJlZ3VsYXIpO1xufVxuXG4uX2ZvbnQtYm9keS1tZC1zZW1pYm9sZF95aDVkcV82NCB7XG4gIGxldHRlci1zcGFjaW5nOiB2YXIoLS1jcGQtZm9udC1sZXR0ZXItc3BhY2luZy1ib2R5LW1kKTtcbiAgZm9udDogdmFyKC0tY3BkLWZvbnQtYm9keS1tZC1zZW1pYm9sZCk7XG59XG5cbi5fZm9udC1ib2R5LW1kLW1lZGl1bV95aDVkcV82OSB7XG4gIGxldHRlci1zcGFjaW5nOiB2YXIoLS1jcGQtZm9udC1sZXR0ZXItc3BhY2luZy1ib2R5LW1kKTtcbiAgZm9udDogdmFyKC0tY3BkLWZvbnQtYm9keS1tZC1tZWRpdW0pO1xufVxuXG4vKipcbiAqIEZvbnQg4oCTIEJvZHkg4oCTIExhcmdlXG4gKi9cblxuLl9mb250LWJvZHktbGctcmVndWxhcl95aDVkcV83OCB7XG4gIGxldHRlci1zcGFjaW5nOiB2YXIoLS1jcGQtZm9udC1sZXR0ZXItc3BhY2luZy1ib2R5LWxnKTtcbiAgZm9udDogdmFyKC0tY3BkLWZvbnQtYm9keS1sZy1yZWd1bGFyKTtcbn1cblxuLl9mb250LWJvZHktbGctc2VtaWJvbGRfeWg1ZHFfODMge1xuICBsZXR0ZXItc3BhY2luZzogdmFyKC0tY3BkLWZvbnQtbGV0dGVyLXNwYWNpbmctYm9keS1sZyk7XG4gIGZvbnQ6IHZhcigtLWNwZC1mb250LWJvZHktbGctc2VtaWJvbGQpO1xufVxuXG4uX2ZvbnQtYm9keS1sZy1tZWRpdW1feWg1ZHFfODgge1xuICBsZXR0ZXItc3BhY2luZzogdmFyKC0tY3BkLWZvbnQtbGV0dGVyLXNwYWNpbmctYm9keS1sZyk7XG4gIGZvbnQ6IHZhcigtLWNwZC1mb250LWJvZHktbGctbWVkaXVtKTtcbn1cblxuLyoqXG4gKiBGb250IOKAkyBIZWFkaW5nIOKAkyBTbWFsbFxuICovXG5cbi5fZm9udC1oZWFkaW5nLXNtLXJlZ3VsYXJfeWg1ZHFfOTcge1xuICBsZXR0ZXItc3BhY2luZzogdmFyKC0tY3BkLWZvbnQtbGV0dGVyLXNwYWNpbmctaGVhZGluZy1zbSk7XG4gIGZvbnQ6IHZhcigtLWNwZC1mb250LWhlYWRpbmctc20tcmVndWxhcik7XG59XG5cbi5fZm9udC1oZWFkaW5nLXNtLXNlbWlib2xkX3loNWRxXzEwMiB7XG4gIGxldHRlci1zcGFjaW5nOiB2YXIoLS1jcGQtZm9udC1sZXR0ZXItc3BhY2luZy1oZWFkaW5nLXNtKTtcbiAgZm9udDogdmFyKC0tY3BkLWZvbnQtaGVhZGluZy1zbS1zZW1pYm9sZCk7XG59XG5cbi5fZm9udC1oZWFkaW5nLXNtLW1lZGl1bV95aDVkcV8xMDcge1xuICBsZXR0ZXItc3BhY2luZzogdmFyKC0tY3BkLWZvbnQtbGV0dGVyLXNwYWNpbmctaGVhZGluZy1zbSk7XG4gIGZvbnQ6IHZhcigtLWNwZC1mb250LWhlYWRpbmctc20tbWVkaXVtKTtcbn1cblxuLyoqXG4gKiBGb250IOKAkyBIZWFkaW5nIOKAkyBNZWRpdW1cbiAqL1xuXG4uX2ZvbnQtaGVhZGluZy1tZC1yZWd1bGFyX3loNWRxXzExNiB7XG4gIGxldHRlci1zcGFjaW5nOiB2YXIoLS1jcGQtZm9udC1sZXR0ZXItc3BhY2luZy1oZWFkaW5nLW1kKTtcbiAgZm9udDogdmFyKC0tY3BkLWZvbnQtaGVhZGluZy1tZC1yZWd1bGFyKTtcbn1cblxuLl9mb250LWhlYWRpbmctbWQtc2VtaWJvbGRfeWg1ZHFfMTIxIHtcbiAgbGV0dGVyLXNwYWNpbmc6IHZhcigtLWNwZC1mb250LWxldHRlci1zcGFjaW5nLWhlYWRpbmctbWQpO1xuICBmb250OiB2YXIoLS1jcGQtZm9udC1oZWFkaW5nLW1kLXNlbWlib2xkKTtcbn1cblxuLyoqXG4gKiBGb250IOKAkyBIZWFkaW5nIOKAkyBMYXJnZVxuICovXG5cbi5fZm9udC1oZWFkaW5nLWxnLXJlZ3VsYXJfeWg1ZHFfMTMwIHtcbiAgbGV0dGVyLXNwYWNpbmc6IHZhcigtLWNwZC1mb250LWxldHRlci1zcGFjaW5nLWhlYWRpbmctbGcpO1xuICBmb250OiB2YXIoLS1jcGQtZm9udC1oZWFkaW5nLWxnLXJlZ3VsYXIpO1xufVxuXG4uX2ZvbnQtaGVhZGluZy1sZy1zZW1pYm9sZF95aDVkcV8xMzUge1xuICBsZXR0ZXItc3BhY2luZzogdmFyKC0tY3BkLWZvbnQtbGV0dGVyLXNwYWNpbmctaGVhZGluZy1sZyk7XG4gIGZvbnQ6IHZhcigtLWNwZC1mb250LWhlYWRpbmctbGctc2VtaWJvbGQpO1xufVxuXG4vKipcbiAqIEZvbnQg4oCTIEhlYWRpbmcg4oCTIEV4dHJhIExhcmdlXG4gKi9cblxuLl9mb250LWhlYWRpbmcteGwtcmVndWxhcl95aDVkcV8xNDQge1xuICBsZXR0ZXItc3BhY2luZzogdmFyKC0tY3BkLWZvbnQtbGV0dGVyLXNwYWNpbmctaGVhZGluZy14bCk7XG4gIGZvbnQ6IHZhcigtLWNwZC1mb250LWhlYWRpbmcteGwtcmVndWxhcik7XG59XG5cbi5fZm9udC1oZWFkaW5nLXhsLXNlbWlib2xkX3loNWRxXzE0OSB7XG4gIGxldHRlci1zcGFjaW5nOiB2YXIoLS1jcGQtZm9udC1sZXR0ZXItc3BhY2luZy1oZWFkaW5nLXhsKTtcbiAgZm9udDogdmFyKC0tY3BkLWZvbnQtaGVhZGluZy14bC1zZW1pYm9sZCk7XG59XG5cbi8qKlxuICAqIFJlc2V0IGZvbnQtZmVhdHVyZS1zZXR0aW5ncyBhZnRlciBsZXR0ZXItc3BhY2luZyBoYXMgYmVlbiB0d2Vha2VkLlxuICAqIFdlIHdhbnQgdG8gYXBwbHkgSW50ZXIgRHluYW1pYyBtZXRyaWNzIChodHRwczovL3JzbXMubWUvaW50ZXIvZHlubWV0cmljcy8pXG4gICogV2UgbmVlZCB0byB0d2VhayB0aGUgYGxldHRlci1zcGFjaW5nYCBwcm9wZXJ0eSBhbmQgZG9pbmcgc28sIGRpc2FibGVzIGJ5XG4gICogZGVmYXVsdCB0aGUgb3B0aW9uYWwgbGlnYXR1cmVzXG4gICogYGZvbnQtZmVhdHVyZS1zZXR0aW5nc2AgYWxsb3dzIHVzIHRvIG92ZXJyaWRlIHRoaXMgYmVoYXZpb3VyIGFuZCBoYXZlIHRoZVxuICAqIGNvcnJlY3QgbGlnYXR1cmVzIGFuZCB0aGUgcHJvcGVyIGR5bmFtaWMgbWV0cmljIHNwYWNpbmcuXG4gICovXG5cbi5fdHlwb2dyYXBoeV95aDVkcV8xNjIge1xuICAtd2Via2l0LWZvbnQtZmVhdHVyZS1zZXR0aW5nczogXCJrZXJuXCIgMSwgXCJsaWdhXCIgMSwgXCJjYWx0XCIgMTtcbiAgICAgICAgICBmb250LWZlYXR1cmUtc2V0dGluZ3M6IFwia2VyblwiIDEsIFwibGlnYVwiIDEsIFwiY2FsdFwiIDE7XG4gIC13ZWJraXQtZm9udC1mZWF0dXJlLXNldHRpbmdzOiB2YXIoLS1jcGQtZm9udC1mZWF0dXJlLXNldHRpbmdzKTtcbiAgICAgICAgICBmb250LWZlYXR1cmUtc2V0dGluZ3M6IHZhcigtLWNwZC1mb250LWZlYXR1cmUtc2V0dGluZ3MpO1xufVxuXG4vKlxuQ29weXJpZ2h0IDIwMjMgTmV3IFZlY3RvciBMdGRcblxuTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbnlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbllvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuXG4gICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG5cblVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbmRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbldJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxubGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4qL1xuXG4uX2ljb24tYnV0dG9uX2JoMnFjXzE3IHtcbiAgLS1jcGQtaWNvbi1idXR0b24taW5kaWNhdG9yLWJvcmRlci1zaXplOiBjYWxjKFxuICAgIHZhcigtLWNwZC1pY29uLWJ1dHRvbi1zaXplKSAqIDAuMDYyNVxuICApO1xuXG4gIGlubGluZS1zaXplOiB2YXIoLS1jcGQtaWNvbi1idXR0b24tc2l6ZSk7XG4gIGJsb2NrLXNpemU6IHZhcigtLWNwZC1pY29uLWJ1dHRvbi1zaXplKTtcblxuICAvKiB0aGUgaWNvbiBpcyAwLjc1IHRoZSBzaXplIG9mIHRoZSBidXR0b24sIHNvIGFkZCBwYWRkaW5nIHRvIHB1dCBpdCBpbiB0aGUgbWlkZGxlICovXG4gIHBhZGRpbmc6IGNhbGModmFyKC0tY3BkLWljb24tYnV0dG9uLXNpemUpICogMC4xMjUpO1xuICBhc3BlY3QtcmF0aW86IDEgLyAxO1xuICBjb2xvcjogdmFyKC0tY3BkLWNvbG9yLWljb24tdGVydGlhcnkpO1xuICBib3JkZXI6IDA7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xuICAgICAgICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBsaW5lLWhlaWdodDogMHB4O1xufVxuXG4uX3N1YnRsZS1iZ19iaDJxY18zOCB7XG4gIGNvbG9yOiB2YXIoLS1jcGQtY29sb3ItaWNvbi1zZWNvbmRhcnkpO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jcGQtY29sb3ItYmctc3VidGxlLXNlY29uZGFyeSk7XG59XG5cbi5faWNvbi1idXR0b25fYmgycWNfMTdbYXJpYS1kaXNhYmxlZD1cInRydWVcIl0ge1xuICBjb2xvcjogdmFyKC0tY3BkLWNvbG9yLWljb24tZGlzYWJsZWQpO1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xufVxuXG4vKipcbiAqIEhvdmVyIHN0YXRlXG4gKi9cblxuQG1lZGlhIChob3Zlcikge1xuICAuX2ljb24tYnV0dG9uX2JoMnFjXzE3Om5vdChbYXJpYS1kaXNhYmxlZD1cInRydWVcIl0pOmhvdmVyIHtcbiAgICBjb2xvcjogdmFyKC0tY3BkLWNvbG9yLWljb24tcHJpbWFyeSk7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY3BkLWNvbG9yLWJnLXN1YnRsZS1wcmltYXJ5KTtcbiAgfVxufVxuXG4uX2ljb24tYnV0dG9uX2JoMnFjXzE3Om5vdChbYXJpYS1kaXNhYmxlZD1cInRydWVcIl0pOmFjdGl2ZSB7XG4gIGNvbG9yOiB2YXIoLS1jcGQtY29sb3ItaWNvbi1wcmltYXJ5KTtcbiAgYmFja2dyb3VuZDogdmFyKC0tY3BkLWNvbG9yLWJnLXN1YnRsZS1wcmltYXJ5KTtcbn1cblxuQG1lZGlhIChob3Zlcikge1xuICAuX2ljb24tYnV0dG9uX2JoMnFjXzE3Om5vdChbYXJpYS1kaXNhYmxlZD1cInRydWVcIl0pW2RhdGEtaW5kaWNhdG9yXTppcyg6aG92ZXIpOjpiZWZvcmUge1xuICAgIC8qIFNhbWUgY29sb3VyIGFzIHRoZSBiYWNrZ3JvdW5kICovXG4gICAgYm9yZGVyOiB2YXIoLS1jcGQtaWNvbi1idXR0b24taW5kaWNhdG9yLWJvcmRlci1zaXplKSBzb2xpZFxuICAgICAgdmFyKC0tY3BkLWNvbG9yLWJnLXN1YnRsZS1wcmltYXJ5KTtcbiAgICBpbnNldC1ibG9jay1zdGFydDogMDtcbiAgICBpbnNldC1pbmxpbmUtZW5kOiAwO1xuICB9XG59XG5cbi5faWNvbi1idXR0b25fYmgycWNfMTc6bm90KFthcmlhLWRpc2FibGVkPVwidHJ1ZVwiXSlbZGF0YS1pbmRpY2F0b3JdOmlzKDphY3RpdmUpOjpiZWZvcmUge1xuICAvKiBTYW1lIGNvbG91ciBhcyB0aGUgYmFja2dyb3VuZCAqL1xuICBib3JkZXI6IHZhcigtLWNwZC1pY29uLWJ1dHRvbi1pbmRpY2F0b3ItYm9yZGVyLXNpemUpIHNvbGlkXG4gICAgdmFyKC0tY3BkLWNvbG9yLWJnLXN1YnRsZS1wcmltYXJ5KTtcbiAgaW5zZXQtYmxvY2stc3RhcnQ6IDA7XG4gIGluc2V0LWlubGluZS1lbmQ6IDA7XG59XG5cbkBtZWRpYSAoaG92ZXIpIHtcbiAgLl9pY29uLWJ1dHRvbl9iaDJxY18xNzpub3QoW2FyaWEtZGlzYWJsZWQ9XCJ0cnVlXCJdKS5fZGVzdHJ1Y3RpdmVfYmgycWNfODM6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNwZC1jb2xvci1iZy1jcml0aWNhbC1zdWJ0bGUpO1xuICAgIG91dGxpbmU6IDFweCBzb2xpZCB2YXIoLS1jcGQtY29sb3ItYm9yZGVyLWNyaXRpY2FsLXN1YnRsZSk7XG4gIH1cbn1cblxuLl9pY29uLWJ1dHRvbl9iaDJxY18xNzpub3QoW2FyaWEtZGlzYWJsZWQ9XCJ0cnVlXCJdKS5fZGVzdHJ1Y3RpdmVfYmgycWNfODMgPiAqIHtcbiAgY29sb3I6IHZhcigtLWNwZC1jb2xvci1pY29uLWNyaXRpY2FsLXByaW1hcnkpO1xufVxuXG4vKlxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGRcblxuTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbnlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbllvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuXG4gICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG5cblVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbmRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbldJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxubGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4qL1xuXG4vKlxuICogTm90ZSB0aGlzIGlzIHZlcnkgY2xvc2VseSBjb3VwbGVkIHRvIHRoZSBpbmRpY2F0b3IgbWFzayBTVkcgYXMgdGhpcyBtYXNrcyBvdXRcbiAqIHRoZSBpY29uIGJlaGluZCB0byBkcmF3IHRoZSAnc3Ryb2tlJyBhcm91bmQgdGhlIGluZGljYXRvciBkb3QuXG4gKlxuICogVGhlIFNWRyBpcyBhIDI0eDI0cHggYmxhY2sgc3F1YXJlIHdpdGggYSBjaXJjbGUgb2YgcmFkaXVzIDYgcG9zaXRpb25lZFxuICogNHB4IGFib3ZlIGFuZCB0byB0aGUgcmlnaHQgb2YgdGhlIGNhbnZhcy4gVGhpcyBpcyB0aGUgc2l6ZSBvZiB0aGUgaW5kaWNhdG9yXG4gKiBkb3QgcGx1cyB0aGUgc3Ryb2tlIChkaW1lbnNpb25zIGNhbGN1bGF0ZWQgZnJvbSB0aGUgZmlnbWEpLlxuICovXG5cbi5faW5kaWNhdG9yLWljb25fMTMzdGZfMjYge1xuICAvKiBUaGlzIGlzIGNhbGxlZCAnYnV0dG9uIHNpemUnIGJ1dCB0aGUgZG9jcyBzYXkgJ2ljb24gc2l6ZScgKi9cbiAgaW5saW5lLXNpemU6IHZhcigtLWNwZC1pY29uLWJ1dHRvbi1zaXplKTtcbiAgYmxvY2stc2l6ZTogdmFyKC0tY3BkLWljb24tYnV0dG9uLXNpemUpO1xuICBhc3BlY3QtcmF0aW86IDEgLyAxO1xuICBjb2xvcjogdmFyKC0tY3BkLWNvbG9yLWljb24tdGVydGlhcnkpO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5faW5kaWNhdG9yLWljb25fMTMzdGZfMjYgc3ZnIHtcbiAgaW5saW5lLXNpemU6IDEwMCU7XG4gIGJsb2NrLXNpemU6IDEwMCU7XG59XG5cbi5faW5kaWNhdG9yLWljb25fMTMzdGZfMjZbZGF0YS1pbmRpY2F0b3JdIHN2ZyB7XG4gIC13ZWJraXQtbWFzay1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzYz94bWwlMjB2ZXJzaW9uPScxLjAnJTIwZW5jb2Rpbmc9J1VURi04Jz8lM2UlM2NzdmclMjBmaWxsPSdub25lJyUyMHZlcnNpb249JzEuMSclMjB2aWV3Qm94PScwJTIwMCUyMDI0JTIwMjQnJTIweG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyUzZSUzY3BhdGglMjBkPSdtMCUyMDB2MjRoMjR2LTE2LjM1OWE2JTIwNiUyMDAlMjAwJTIwMS0yJTIwMC4zNTkzOCUyMDYlMjA2JTIwMCUyMDAlMjAxLTYtNiUyMDYlMjA2JTIwMCUyMDAlMjAxJTIwMC4zNTkzOC0yaC0xNi4zNTl6JyUyMGZpbGw9JyUyMzAwMCclMjBzdHJva2Utd2lkdGg9JzAnLyUzZSUzYy9zdmclM2VcIik7XG4gICAgICAgICAgbWFzay1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzYz94bWwlMjB2ZXJzaW9uPScxLjAnJTIwZW5jb2Rpbmc9J1VURi04Jz8lM2UlM2NzdmclMjBmaWxsPSdub25lJyUyMHZlcnNpb249JzEuMSclMjB2aWV3Qm94PScwJTIwMCUyMDI0JTIwMjQnJTIweG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyUzZSUzY3BhdGglMjBkPSdtMCUyMDB2MjRoMjR2LTE2LjM1OWE2JTIwNiUyMDAlMjAwJTIwMS0yJTIwMC4zNTkzOCUyMDYlMjA2JTIwMCUyMDAlMjAxLTYtNiUyMDYlMjA2JTIwMCUyMDAlMjAxJTIwMC4zNTkzOC0yaC0xNi4zNTl6JyUyMGZpbGw9JyUyMzAwMCclMjBzdHJva2Utd2lkdGg9JzAnLyUzZSUzYy9zdmclM2VcIik7XG4gIC13ZWJraXQtbWFzay1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcbiAgICAgICAgICBtYXNrLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuICAtd2Via2l0LW1hc2stcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgbWFzay1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgLXdlYmtpdC1tYXNrLXNpemU6IDEwMCU7XG4gICAgICAgICAgbWFzay1zaXplOiAxMDAlO1xufVxuXG4uX2luZGljYXRvci1pY29uXzEzM3RmXzI2W2RhdGEtaW5kaWNhdG9yXTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcIjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuXG4gIC8qIFRoZSBkb3QgaXMgMS8xMnRoIGFib3ZlICYgdG8gdGhlIHJpZ2h0IG9mIHRoZSBjYW52YXMgKi9cbiAgaW5zZXQtYmxvY2stc3RhcnQ6IC04LjMzMzMlO1xuICBpbnNldC1pbmxpbmUtZW5kOiAtOC4zMzMzJTtcblxuICAvKiBhbmQgaXMgMS8zcmQgdGhlIHNpemUgb2YgdGhlIGNhbnZhcyAqL1xuICBpbmxpbmUtc2l6ZTogMzMuMzMzMyU7XG4gIGJsb2NrLXNpemU6IDMzLjMzMyU7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgYmFja2dyb3VuZDogdmFyKC0tY3BkLWNvbG9yLWljb24tcHJpbWFyeSk7XG59XG5cbi5faW5kaWNhdG9yLWljb25fMTMzdGZfMjZbZGF0YS1pbmRpY2F0b3I9XCJzdWNjZXNzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jcGQtY29sb3ItaWNvbi1zdWNjZXNzLXByaW1hcnkpO1xufVxuXG4uX2luZGljYXRvci1pY29uXzEzM3RmXzI2W2RhdGEtaW5kaWNhdG9yPVwiY3JpdGljYWxcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNwZC1jb2xvci1pY29uLWNyaXRpY2FsLXByaW1hcnkpO1xufVxuXG4vKlxuQ29weXJpZ2h0IDIwMjMtMjAyNCBOZXcgVmVjdG9yIEx0ZFxuXG5MaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xueW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG5cbiAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcblxuVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG5TZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG5saW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiovXG5cbi5fdG9vbHRpcF8xcHNsYl8xNyB7XG4gIGZvbnQ6IHZhcigtLWNwZC1mb250LWJvZHkteHMtbWVkaXVtKTtcbiAgcGFkZGluZzogdmFyKC0tY3BkLXNwYWNlLTEtNXgpIHZhcigtLWNwZC1zcGFjZS0zeCk7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNwZC1jb2xvci1hbHBoYS1ncmF5LTE0MDApO1xuICBjb2xvcjogdmFyKC0tY3BkLWNvbG9yLXRleHQtb24tc29saWQtcHJpbWFyeSk7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICBkaXNwbGF5OiBmbGV4O1xuICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xuICAtd2Via2l0LWJveC1kaXJlY3Rpb246IG5vcm1hbDtcbiAgICAgIC1tcy1mbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7XG4gICAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4uX3Rvb2x0aXBfMXBzbGJfMTcuX2ludmlzaWJsZV8xcHNsYl8zMCB7XG4gIC8qIEhpZGUgdGhlIHRvb2x0aXAgaW4gYSB3YXkgdGhhdCBhbGxvd3MgaXQgdG8gYWN0IGFzIGFuIGFjY2Vzc2libGUgbGFiZWwsXG4gIGV2ZW4gd2hlbiBpbnZpc2libGUgKi9cbiAgY2xpcC1wYXRoOiBpbnNldCg1MCUpO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cblxuLl9jYXB0aW9uXzFwc2xiXzM3IHtcbiAgZm9udC13ZWlnaHQ6IHZhcigtLWNwZC1mb250LXdlaWdodC1yZWd1bGFyKTtcbiAgY29sb3I6IHZhcigtLWNwZC1jb2xvci10ZXh0LXNlY29uZGFyeSk7XG59XG5cbi5fYXJyb3dfMXBzbGJfNDIge1xuICAvKiBzYW1lIGNvbG9yIGFzIHRoZSB0b29sdGlwIGJhY2tncm91bmQgKi9cbiAgZmlsbDogdmFyKC0tY3BkLWNvbG9yLWFscGhhLWdyYXktMTQwMCk7XG59XG5cbi8qXG5Db3B5cmlnaHQgMjAyMyAgTmV3IFZlY3RvciBMdGRcblxuTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbnlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbllvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuXG4gICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG5cblVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbmRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbldJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxubGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4qL1xuXG4uX2F2YXRhcl9tY2FwMl8xNyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGxpbmUtaGVpZ2h0OiB2YXIoLS1jcGQtYXZhdGFyLXNpemUpO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGZvbnQtc2l6ZTogbWluKGNhbGModmFyKC0tY3BkLWF2YXRhci1zaXplKSAqIDAuNTYyNSksIDYwcHgpO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBzcGVhazogbm9uZTtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWNwZC1mb250LWZhbWlseS1zYW5zKTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7XG5cbiAgLyogU2V0IGEgYmFja2dyb3VuZCBjb2xvciB0byBoZWxwIHdpdGggdmlzdWFsIGNvbnNpc3RlbmN5IHdoZW4gZGlzcGxheWluZ1xuICAgKiBhdmF0YXJzIHdpdGggYSB0cmFuc2x1Y2VudCBiYWNrZ3JvdW5kICovXG4gIGJhY2tncm91bmQ6IHZhcigtLWNwZC1jb2xvci1iZy1jYW52YXMtZGVmYXVsdCk7XG59XG5cbmJ1dHRvbi5fYXZhdGFyX21jYXAyXzE3IHtcbiAgLyoqXG4gICAqIFRoZSBhdmF0YXIgY2FuIGJlIGEgYnV0dG9uIGVsZW1lbnQsIHdlIG5lZWQgdG8gcmVzZXQgaXRzIHN0eWxlXG4gICAqL1xuICBwYWRkaW5nOiAwO1xuICBib3JkZXI6IDA7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xuICAgICAgICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuYnV0dG9uLl9hdmF0YXJfbWNhcDJfMTc6ZGlzYWJsZWQge1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xufVxuXG4uX2F2YXRhcl9tY2FwMl8xNyxcbi5faW1hZ2VfbWNhcDJfNTAge1xuICBhc3BlY3QtcmF0aW86IDEgLyAxO1xuICBpbmxpbmUtc2l6ZTogdmFyKC0tY3BkLWF2YXRhci1zaXplKTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tY3BkLWF2YXRhci1yYWRpdXMpO1xufVxuXG4uX2ltYWdlX21jYXAyXzUwIHtcbiAgLW8tb2JqZWN0LWZpdDogY292ZXI7XG4gICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4uX2F2YXRhci1pbWFnZWxlc3NfbWNhcDJfNjEge1xuICAvKiBJbiB0aGUgZnV0dXJlIHdlJ2QgcHJlZmVyIHRvIHBhc3MgdGhlIEhFWCBjb2RlIGFzIHRoZSBkYXRhIGF0dHJcbiAgICAgYW5kIHVzZSBgYXR0cihkYXRhLWNvbG9yKWAgdG8gYXZvaWQgdGhlIHN0eWxlIGRlY2xhcmF0aW9uIGZyb20gYmVsb3dcbiAgICAgYnV0IHRoaXMgaXMgY3VycmVudGx5IG5vdCBzdXBwb3J0ZWQgaW4gYWxsIGJyb3dzZXJzICovXG4gIGJhY2tncm91bmQ6IHZhcigtLWNwZC1hdmF0YXItYmcpO1xuICBjb2xvcjogdmFyKC0tY3BkLWF2YXRhci1jb2xvcik7XG59XG5cbi5fYXZhdGFyX21jYXAyXzE3W2RhdGEtY29sb3JdIHtcbiAgLS1jcGQtYXZhdGFyLWJnOiB2YXIoLS1jcGQtY29sb3ItYmctZGVjb3JhdGl2ZS0xKTtcbiAgLS1jcGQtYXZhdGFyLWNvbG9yOiB2YXIoLS1jcGQtY29sb3ItdGV4dC1kZWNvcmF0aXZlLTEpO1xufVxuXG4uX2F2YXRhcl9tY2FwMl8xN1tkYXRhLWNvbG9yPVwiMlwiXSB7XG4gIC0tY3BkLWF2YXRhci1iZzogdmFyKC0tY3BkLWNvbG9yLWJnLWRlY29yYXRpdmUtMik7XG4gIC0tY3BkLWF2YXRhci1jb2xvcjogdmFyKC0tY3BkLWNvbG9yLXRleHQtZGVjb3JhdGl2ZS0yKTtcbn1cblxuLl9hdmF0YXJfbWNhcDJfMTdbZGF0YS1jb2xvcj1cIjNcIl0ge1xuICAtLWNwZC1hdmF0YXItYmc6IHZhcigtLWNwZC1jb2xvci1iZy1kZWNvcmF0aXZlLTMpO1xuICAtLWNwZC1hdmF0YXItY29sb3I6IHZhcigtLWNwZC1jb2xvci10ZXh0LWRlY29yYXRpdmUtMyk7XG59XG5cbi5fYXZhdGFyX21jYXAyXzE3W2RhdGEtY29sb3I9XCI0XCJdIHtcbiAgLS1jcGQtYXZhdGFyLWJnOiB2YXIoLS1jcGQtY29sb3ItYmctZGVjb3JhdGl2ZS00KTtcbiAgLS1jcGQtYXZhdGFyLWNvbG9yOiB2YXIoLS1jcGQtY29sb3ItdGV4dC1kZWNvcmF0aXZlLTQpO1xufVxuXG4uX2F2YXRhcl9tY2FwMl8xN1tkYXRhLWNvbG9yPVwiNVwiXSB7XG4gIC0tY3BkLWF2YXRhci1iZzogdmFyKC0tY3BkLWNvbG9yLWJnLWRlY29yYXRpdmUtNSk7XG4gIC0tY3BkLWF2YXRhci1jb2xvcjogdmFyKC0tY3BkLWNvbG9yLXRleHQtZGVjb3JhdGl2ZS01KTtcbn1cblxuLl9hdmF0YXJfbWNhcDJfMTdbZGF0YS1jb2xvcj1cIjZcIl0ge1xuICAtLWNwZC1hdmF0YXItYmc6IHZhcigtLWNwZC1jb2xvci1iZy1kZWNvcmF0aXZlLTYpO1xuICAtLWNwZC1hdmF0YXItY29sb3I6IHZhcigtLWNwZC1jb2xvci10ZXh0LWRlY29yYXRpdmUtNik7XG59XG5cbi5fYXZhdGFyX21jYXAyXzE3W2RhdGEtdHlwZT1cInJvdW5kXCJdIHtcbiAgLS1jcGQtYXZhdGFyLXJhZGl1czogNTAlO1xufVxuXG4uX2F2YXRhcl9tY2FwMl8xN1tkYXRhLXR5cGU9XCJzcXVhcmVcIl0ge1xuICAtLWNwZC1hdmF0YXItcmFkaXVzOiAyNSU7XG59XG5cbi8qKlxuICogU3RhY2tlZCBhdmF0YXJzIFxuICovXG5cbi5fc3RhY2tlZC1hdmF0YXJzX21jYXAyXzExMTo6YWZ0ZXIge1xuICBjb250ZW50OiBcIlwiO1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgY2xlYXI6IGJvdGg7XG59XG5cbi5fc3RhY2tlZC1hdmF0YXJzX21jYXAyXzExMSAuX2F2YXRhcl9tY2FwMl8xNyB7XG4gIGZsb2F0OiBpbmxpbmUtc3RhcnQ7XG59XG5cbi5fc3RhY2tlZC1hdmF0YXJzX21jYXAyXzExMSAuX2F2YXRhcl9tY2FwMl8xNzpub3QoOmxhc3QtY2hpbGQpIHtcbiAgLyogaW5qZWN0ZWQgaW4gdGhlIGRvY3VtZW50IGZyb20gQXZhdGFyU3RhY2sudHN4ICovXG4gIGNsaXAtcGF0aDogdXJsKFwiI2NwZEF2YXRhckNsaXBcIik7XG59XG5cbi5fc3RhY2tlZC1hdmF0YXJzX21jYXAyXzExMSA+ICo6bm90KDpmaXJzdC1jaGlsZCkge1xuICAtd2Via2l0LW1hcmdpbi1zdGFydDogY2FsYyh2YXIoLS1jcGQtYXZhdGFyLXNpemUpICogLTAuMik7XG4gICAgICAgICAgbWFyZ2luLWlubGluZS1zdGFydDogY2FsYyh2YXIoLS1jcGQtYXZhdGFyLXNpemUpICogLTAuMik7XG59XG5cbi5fY2xpcC1wYXRoX21jYXAyXzEzMCB7XG4gIC8qIEluIHRoZW9yeSB0aGUgU1ZHIGlzIGludmlzaWJsZSwgYnV0IHdlIHN0aWxsIG5lZWQgdG8gZW5zdXJlIGl0IGRvZXNuJ3RcbiAgYWZmZWN0IHRoZSBwYWdlJ3MgbGF5b3V0IG9yIG90aGVyd2lzZSBtYWtlIGFuIGFwcGVhcmFuY2UgKi9cbiAgcG9zaXRpb246IGZpeGVkO1xuICBpbnNldC1pbmxpbmUtc3RhcnQ6IC05OTk5cHg7XG59XG5cbi8qXG5Db3B5cmlnaHQgMjAyMyBOZXcgVmVjdG9yIEx0ZFxuXG5MaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xueW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG5cbiAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcblxuVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG5TZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG5saW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiovXG5cbi5fYmFkZ2VfMTE3MXZfMTcge1xuICBkaXNwbGF5OiAtd2Via2l0LWlubGluZS1ib3g7XG4gIGRpc3BsYXk6IC1tcy1pbmxpbmUtZmxleGJveDtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGdhcDogdmFyKC0tY3BkLXNwYWNlLTF4KTtcbiAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjtcbiAgICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgYm9yZGVyLXJhZGl1czogOTk5OXB4OyAvKiBwaWxsIGVmZmVjdCAqL1xuICBwYWRkaW5nOiB2YXIoLS1jcGQtc3BhY2UtMXgpIHZhcigtLWNwZC1zcGFjZS0zeCk7XG59XG5cbi5fYmFkZ2VfMTE3MXZfMTdbZGF0YS1raW5kPVwiZGVmYXVsdFwiXSB7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNwZC1jb2xvci1hbHBoYS1ncmF5LTQwMCk7XG4gIGNvbG9yOiB2YXIoLS1jcGQtY29sb3ItZ3JheS0xMTAwKTtcbn1cblxuLl9iYWRnZV8xMTcxdl8xN1tkYXRhLWtpbmQ9XCJncmV5XCJdIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tY3BkLWNvbG9yLWFscGhhLWdyYXktMzAwKTtcbiAgY29sb3I6IHZhcigtLWNwZC1jb2xvci1ncmF5LTExMDApO1xufVxuXG4uX2JhZGdlXzExNzF2XzE3W2RhdGEta2luZD1cIm9uLXNvbGlkXCJdIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tY3BkLWNvbG9yLWFscGhhLWdyYXktMTIwMCk7XG4gIGNvbG9yOiB2YXIoLS1jcGQtY29sb3ItdGV4dC1vbi1zb2xpZC1wcmltYXJ5KTtcbn1cblxuLl9iYWRnZV8xMTcxdl8xN1tkYXRhLWtpbmQ9XCJibHVlXCJdIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tY3BkLWNvbG9yLWFscGhhLWJsdWUtMzAwKTtcbiAgY29sb3I6IHZhcigtLWNwZC1jb2xvci1ibHVlLTExMDApO1xufVxuXG4uX2JhZGdlXzExNzF2XzE3W2RhdGEta2luZD1cImdyZWVuXCJdIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tY3BkLWNvbG9yLWFscGhhLWdyZWVuLTMwMCk7XG4gIGNvbG9yOiB2YXIoLS1jcGQtY29sb3ItZ3JlZW4tMTEwMCk7XG59XG5cbi5fYmFkZ2VfMTE3MXZfMTdbZGF0YS1raW5kPVwicmVkXCJdIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tY3BkLWNvbG9yLWFscGhhLXJlZC0zMDApO1xuICBjb2xvcjogdmFyKC0tY3BkLWNvbG9yLXJlZC0xMTAwKTtcbn1cblxuLypcbkNvcHlyaWdodCAyMDIzIE5ldyBWZWN0b3IgTHRkXG5cbkxpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG55b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG5Zb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcblxuICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuXG5Vbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG5kaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG5XSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cblNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbmxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuKi9cblxuLl9tZW51XzF4NWgxXzE3IHtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tY3BkLXNwYWNlLTN4KTtcbiAgYmFja2dyb3VuZDogdmFyKC0tY3BkLWNvbG9yLWJnLWNhbnZhcy1kZWZhdWx0KTtcblxuICAvKiBIZXJlIHdlIHVzZSBvdXRsaW5lIHRvIGNyZWF0ZSBhIGJvcmRlciBpbnRlcm5hbCB0byB0aGUgY29udGFpbmVyLiBUaGUgUmFkaXhcbiAgbWVudSBjb21wb25lbnQgbWF5IHRyeSB0byBvdmVycmlkZSBpdCB3aXRoIG91dGxpbmU6IG5vbmUsIGhlbmNlIHRoZSBuZWVkIGZvclxuICAhaW1wb3J0YW50LiAqL1xuICBvdXRsaW5lOiB2YXIoLS1jcGQtYm9yZGVyLXdpZHRoLTEpIHNvbGlkXG4gICAgdmFyKC0tY3BkLWNvbG9yLWJvcmRlci1pbnRlcmFjdGl2ZS1zZWNvbmRhcnkpICFpbXBvcnRhbnQ7XG4gIG91dGxpbmUtb2Zmc2V0OiBjYWxjKC0xICogdmFyKC0tY3BkLWJvcmRlci13aWR0aC0xKSk7XG4gIC13ZWJraXQtYm94LXNoYWRvdzogMCA0cHggMjRweCAwIHJnYmEoMCAwIDAgLyAxMCUpO1xuICAgICAgICAgIGJveC1zaGFkb3c6IDAgNHB4IDI0cHggMCByZ2JhKDAgMCAwIC8gMTAlKTtcbiAgaW5saW5lLXNpemU6IC13ZWJraXQtZml0LWNvbnRlbnQ7XG4gIGlubGluZS1zaXplOiAtbW96LWZpdC1jb250ZW50O1xuICBpbmxpbmUtc2l6ZTogZml0LWNvbnRlbnQ7XG4gIG1heC1pbmxpbmUtc2l6ZTogMzIwcHg7XG4gIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgZGlzcGxheTogZmxleDtcbiAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcbiAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiBub3JtYWw7XG4gICAgICAtbXMtZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBnYXA6IHZhcigtLWNwZC1zcGFjZS0xeCk7XG4gIHBhZGRpbmctYmxvY2s6IHZhcigtLWNwZC1zcGFjZS01eCkgdmFyKC0tY3BkLXNwYWNlLTR4KTtcblxuICAtLWNwZC1zZXBhcmF0b3Itc3BhY2luZzogMDtcbiAgLS1jcGQtc2VwYXJhdG9yLWluc2V0OiB2YXIoLS1jcGQtc3BhY2UtNHgpO1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgX3NsaWRlLWluXzF4NWgxXzEge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgdmFyKC0tY3BkLXNwYWNlLTN4KSk7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCB2YXIoLS1jcGQtc3BhY2UtM3gpKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIF9zbGlkZS1pbl8xeDVoMV8xIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIHZhcigtLWNwZC1zcGFjZS0zeCkpO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgdmFyKC0tY3BkLXNwYWNlLTN4KSk7XG4gIH1cbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIF9zbGlkZS1vdXRfMXg1aDFfMSB7XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgdmFyKC0tY3BkLXNwYWNlLTJ4KSk7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCB2YXIoLS1jcGQtc3BhY2UtMngpKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIF9zbGlkZS1vdXRfMXg1aDFfMSB7XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgdmFyKC0tY3BkLXNwYWNlLTJ4KSk7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCB2YXIoLS1jcGQtc3BhY2UtMngpKTtcbiAgfVxufVxuXG4uX21lbnVfMXg1aDFfMTdbZGF0YS1zdGF0ZT1cIm9wZW5cIl0ge1xuICAtd2Via2l0LWFuaW1hdGlvbjogX3NsaWRlLWluXzF4NWgxXzEgMTgwbXM7XG4gICAgICAgICAgYW5pbWF0aW9uOiBfc2xpZGUtaW5fMXg1aDFfMSAxODBtcztcbn1cblxuLl9tZW51XzF4NWgxXzE3W2RhdGEtc3RhdGU9XCJjbG9zZWRcIl0ge1xuICAtd2Via2l0LWFuaW1hdGlvbjogX3NsaWRlLW91dF8xeDVoMV8xIDExMG1zO1xuICAgICAgICAgIGFuaW1hdGlvbjogX3NsaWRlLW91dF8xeDVoMV8xIDExMG1zO1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgX2ZhZGUtaW5fMXg1aDFfMSB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBfZmFkZS1pbl8xeDVoMV8xIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgX2ZhZGUtb3V0XzF4NWgxXzEge1xuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIF9mYWRlLW91dF8xeDVoMV8xIHtcbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cblxuQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uKSB7XG4gIC5fbWVudV8xeDVoMV8xN1tkYXRhLXN0YXRlPVwib3BlblwiXSB7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogX2ZhZGUtaW5fMXg1aDFfMTtcbiAgICAgICAgICAgIGFuaW1hdGlvbi1uYW1lOiBfZmFkZS1pbl8xeDVoMV8xO1xuICB9XG5cbiAgLl9tZW51XzF4NWgxXzE3W2RhdGEtc3RhdGU9XCJjbG9zZWRcIl0ge1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IF9mYWRlLW91dF8xeDVoMV8xO1xuICAgICAgICAgICAgYW5pbWF0aW9uLW5hbWU6IF9mYWRlLW91dF8xeDVoMV8xO1xuICB9XG59XG5cbi5fdGl0bGVfMXg1aDFfODMge1xuICBjb2xvcjogdmFyKC0tY3BkLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTtcbiAgcGFkZGluZy1pbmxpbmU6IHZhcigtLWNwZC1zcGFjZS00eCk7XG4gIC13ZWJraXQtcGFkZGluZy1hZnRlcjogY2FsYyh2YXIoLS1jcGQtc3BhY2UtMngpIC0gdmFyKC0tY3BkLWJvcmRlci13aWR0aC0xKSk7XG4gICAgICAgICAgcGFkZGluZy1ibG9jay1lbmQ6IGNhbGModmFyKC0tY3BkLXNwYWNlLTJ4KSAtIHZhcigtLWNwZC1ib3JkZXItd2lkdGgtMSkpO1xuICAtd2Via2l0LWJvcmRlci1hZnRlcjogdmFyKC0tY3BkLWJvcmRlci13aWR0aC0xKSBzb2xpZCB2YXIoLS1jcGQtY29sb3ItZ3JheS00MDApO1xuICAgICAgICAgIGJvcmRlci1ibG9jay1lbmQ6IHZhcigtLWNwZC1ib3JkZXItd2lkdGgtMSkgc29saWQgdmFyKC0tY3BkLWNvbG9yLWdyYXktNDAwKTtcbiAgbWFyZ2luLWJsb2NrOiAwIHZhcigtLWNwZC1zcGFjZS0yeCk7XG59XG5cbi8qXG5Db3B5cmlnaHQgMjAyMyBOZXcgVmVjdG9yIEx0ZFxuXG5MaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xueW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG5cbiAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcblxuVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG5TZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG5saW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiovXG5cbi5fYmdfZ2Q2OGhfMTcge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIGluc2V0OiAwO1xuXG4gIC8qIFRPRE86IFRoaXMgdmFsdWUgaXMgdXNlZCBhY3Jvc3MgbW9kYWxzIGFuZCBtZW51IGRyYXdlcnMsIHNvIHdvdWxkIGJlIHdvcnRoXG4gIHRva2VuaXppbmcgKi9cbiAgYmFja2dyb3VuZDogcmdiYSgzIDEyIDI3IC8gNTIuOCUpO1xufVxuXG4uX2RyYXdlcl9nZDY4aF8yNiB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgYmFja2dyb3VuZDogdmFyKC0tY3BkLWNvbG9yLWJnLWNhbnZhcy1kZWZhdWx0KTtcbiAgaW5zZXQtYmxvY2stZW5kOiAwO1xuICBpbnNldC1pbmxpbmU6IDA7XG5cbiAgLyogQ2FwIHRoZSBpbmxpbmUgY29udGVudCBzaXplIGF0IDUyMHB4LCBmaWxsaW5nIHRoZSByZXN0IG9mIHRoZSBzcGFjZSB3aXRoXG4gIHBhZGRpbmcgKi9cbiAgcGFkZGluZy1pbmxpbmU6IG1heCgwcHgsIGNhbGMoKDEwMCUgLSA1MjBweCkgLyAyKSk7XG4gIGJvcmRlci1zdGFydC1zdGFydC1yYWRpdXM6IDI4cHg7XG4gIGJvcmRlci1zdGFydC1zdGFydC1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMpO1xuICBib3JkZXItc3RhcnQtZW5kLXJhZGl1czogMjhweDtcbiAgYm9yZGVyLXN0YXJ0LWVuZC1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMpO1xuICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWw7XG4gIC13ZWJraXQtYm94LWRpcmVjdGlvbjogbm9ybWFsO1xuICAgICAgLW1zLWZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblxuICAvKiBEcmF3ZXIgY29tZXMgaW4gdGhlIEFuZHJvaWQgc3R5bGUgYnkgZGVmYXVsdCAqL1xuICAtLWJvcmRlci1yYWRpdXM6IDI4cHg7XG4gIC0taGFuZGxlLWJsb2NrLXNpemU6IDRweDtcbiAgLS1oYW5kbGUtaW5saW5lLXNpemU6IDMycHg7XG4gIC0taGFuZGxlLWluc2V0LWJsb2NrLXN0YXJ0OiB2YXIoLS1jcGQtc3BhY2UtNHgpO1xuICAtLWhhbmRsZS1pbnNldC1ibG9jay1lbmQ6IDBweDtcbiAgLS1jb250ZW50LWluc2V0LWJsb2NrLXN0YXJ0OiBjYWxjKFxuICAgIHZhcigtLWhhbmRsZS1pbnNldC1ibG9jay1zdGFydCkgKyB2YXIoLS1oYW5kbGUtYmxvY2stc2l6ZSkgK1xuICAgICAgdmFyKC0taGFuZGxlLWluc2V0LWJsb2NrLWVuZClcbiAgKTtcbn1cblxuLl9kcmF3ZXJfZ2Q2OGhfMjZbZGF0YS1wbGF0Zm9ybT1cImlvc1wiXSB7XG4gIC0tYm9yZGVyLXJhZGl1czogMTBweDtcbiAgLS1oYW5kbGUtYmxvY2stc2l6ZTogNXB4O1xuICAtLWhhbmRsZS1pbmxpbmUtc2l6ZTogMzZweDtcbiAgLS1oYW5kbGUtaW5zZXQtYmxvY2stc3RhcnQ6IHZhcigtLWNwZC1zcGFjZS0xLTV4KTtcbiAgLS1oYW5kbGUtaW5zZXQtYmxvY2stZW5kOiAxcHg7XG59XG5cbi5fYm9keV9nZDY4aF82MCB7XG4gIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgZGlzcGxheTogZmxleDtcbiAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcbiAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiBub3JtYWw7XG4gICAgICAtbXMtZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBnYXA6IHZhcigtLWNwZC1zcGFjZS0yeCk7XG4gIHBhZGRpbmctYmxvY2s6IGNhbGModmFyKC0tY29udGVudC1pbnNldC1ibG9jay1zdGFydCkgKyB2YXIoLS1jcGQtc3BhY2UtNngpKVxuICAgIHZhcigtLWNwZC1zcGFjZS0xMngpO1xuICBib3JkZXItc3RhcnQtc3RhcnQtcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzKTtcbiAgYm9yZGVyLXN0YXJ0LWVuZC1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMpO1xuXG4gIC8qIEV2ZW4gd2l0aCBvdmVyZmxvdzogYXV0bywgdGhlIGNvbnRlbnQgY2FuIHN0aWxsIG92ZXJmbG93IGF0IHRoZSBjb3JuZXJzXG4gIHdoZXJlIGl0IG1lZXRzIHdpdGggdGhlIGN1cnZlZCBib3JkZXIuIEEgY29udGFpbjogcGFpbnQgZml4ZXMgdGhhdC4gKi9cbiAgY29udGFpbjogcGFpbnQ7XG4gIG92ZXJmbG93OiBhdXRvO1xuICBzY3JvbGxiYXItd2lkdGg6IG5vbmU7XG5cbiAgLS1jcGQtc2VwYXJhdG9yLXNwYWNpbmc6IDA7XG4gIC0tY3BkLXNlcGFyYXRvci1pbnNldDogdmFyKC0tY3BkLXNwYWNlLTR4KTtcbn1cblxuLl9ib2R5X2dkNjhoXzYwOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlwiO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJsb2NrLXNpemU6IHZhcigtLWhhbmRsZS1ibG9jay1zaXplKTtcbiAgaW5zZXQtaW5saW5lOiBjYWxjKCgxMDAlIC0gdmFyKC0taGFuZGxlLWlubGluZS1zaXplKSkgLyAyKTtcbiAgaW5zZXQtYmxvY2stc3RhcnQ6IHZhcigtLWhhbmRsZS1pbnNldC1ibG9jay1zdGFydCk7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNwZC1jb2xvci1pY29uLXNlY29uZGFyeSk7XG4gIGJvcmRlci1yYWRpdXM6IDk5OTlweDtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tY3BkLXJhZGl1cy1waWxsLWVmZmVjdCk7XG59XG5cbi8qXG5Db3B5cmlnaHQgMjAyMyBOZXcgVmVjdG9yIEx0ZFxuXG5MaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xueW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG5cbiAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcblxuVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG5TZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG5saW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiovXG5cbi5fZ2xhc3NfMXg5ZzlfMTcge1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1jcGQtc3BhY2UtOXgpO1xuICBwYWRkaW5nOiB2YXIoLS1jcGQtc3BhY2UtM3gpO1xuXG4gIC8qIFdlIHVzZSBhbiBvdXRsaW5lIGhlcmUgdG8gY3JlYXRlIGFuIFwiaW5uZXIgYm9yZGVyXCIsIHJhdGhlciB0aGFuIG9uZSB0aGF0XG4gIGFkZHMgdG8gdGhlIGNvbXBvbmVudCdzIHNpemUgKi9cbiAgb3V0bGluZTogdmFyKC0tY3BkLWJvcmRlci13aWR0aC0xKSBzb2xpZCB2YXIoLS1jcGQtY29sb3ItYWxwaGEtZ3JheS00MDApO1xuICBvdXRsaW5lLW9mZnNldDogY2FsYygtMSAqIHZhcigtLWNwZC1ib3JkZXItd2lkdGgtMSkpO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jcGQtY29sb3ItYWxwaGEtZ3JheS00MDApO1xuICBiYWNrZHJvcC1maWx0ZXI6IGJsdXIoMjBweCk7XG59XG5cbi5fZ2xhc3NfMXg5ZzlfMTcgPiA6Zmlyc3QtY2hpbGQge1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1jcGQtc3BhY2UtNngpO1xuICBpbmxpbmUtc2l6ZTogMTAwJTtcbiAgYmxvY2stc2l6ZTogMTAwJTtcbn1cblxuLypcbkNvcHlyaWdodCAyMDIzIE5ldyBWZWN0b3IgTHRkXG5cbkxpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG55b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG5Zb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcblxuICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuXG5Vbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG5kaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG5XSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cblNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbmxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuKi9cblxuLl9saW5rX3VlMjF6XzE3IHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgY29sb3I6IHZhcigtLWNwZC1jb2xvci10ZXh0LXByaW1hcnkpO1xuICBmb250LXdlaWdodDogdmFyKC0tY3BkLWZvbnQtd2VpZ2h0LW1lZGl1bSk7XG4gIGJvcmRlci1yYWRpdXM6IDk5OTlweDtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tY3BkLXJhZGl1cy1waWxsLWVmZmVjdCk7XG4gIHBhZGRpbmctaW5saW5lOiAwLjI1cmVtO1xufVxuXG4uX2xpbmtfdWUyMXpfMTdbZGF0YS1raW5kPVwicHJpbWFyeVwiXSB7XG4gIGNvbG9yOiB2YXIoLS1jcGQtY29sb3ItdGV4dC1wcmltYXJ5KTtcbn1cblxuLl9saW5rX3VlMjF6XzE3W2RhdGEta2luZD1cImNyaXRpY2FsXCJdIHtcbiAgY29sb3I6IHZhcigtLWNwZC1jb2xvci10ZXh0LWNyaXRpY2FsLXByaW1hcnkpO1xufVxuXG5AbWVkaWEgKGhvdmVyKSB7XG4gIC5fbGlua191ZTIxel8xN1tkYXRhLWtpbmQ9XCJwcmltYXJ5XCJdOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jcGQtY29sb3ItZ3JheS0zMDApO1xuICB9XG5cbiAgLl9saW5rX3VlMjF6XzE3W2RhdGEta2luZD1cImNyaXRpY2FsXCJdOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jcGQtY29sb3ItcmVkLTMwMCk7XG4gIH1cbn1cblxuLl9saW5rX3VlMjF6XzE3OmFjdGl2ZSB7XG4gIGNvbG9yOiB2YXIoLS1jcGQtY29sb3ItdGV4dC1vbi1zb2xpZC1wcmltYXJ5KTtcbn1cblxuLl9saW5rX3VlMjF6XzE3W2RhdGEta2luZD1cInByaW1hcnlcIl06YWN0aXZlIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tY3BkLWNvbG9yLXRleHQtcHJpbWFyeSk7XG59XG5cbi5fbGlua191ZTIxel8xN1tkYXRhLWtpbmQ9XCJjcml0aWNhbFwiXTphY3RpdmUge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jcGQtY29sb3ItdGV4dC1jcml0aWNhbC1wcmltYXJ5KTtcbn1cblxuLl9saW5rX3VlMjF6XzE3W2RhdGEtc2l6ZT1cInNtYWxsXCJdIHtcbiAgZm9udC1zaXplOiB2YXIoLS1jcGQtZm9udC1zaXplLWJvZHktc20pO1xufVxuXG4vKlxuQ29weXJpZ2h0IDIwMjMgTmV3IFZlY3RvciBMdGRcblxuTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbnlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbllvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuXG4gICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG5cblVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbmRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbldJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxubGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4qL1xuXG4uX2l0ZW1fOGoybDZfMTcge1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLXRlbXBsYXRlOiBcImljb24gbGFiZWwgLlwiIGF1dG8gXCJlbXB0eTEgbGFiZWwgZW1wdHkyXCIgYXV0byAvIGF1dG8gYXV0byBtaW5tYXgoXG4gICAgICAvKiBSZXNlcnZlIHNwYWNlIGZvciB0aGUgY2hldnJvbiBzbyB0aGF0IHRoZSBsYXlvdXQgZG9lc24ndCBzaGlmdCBvblxuICAgICAgaG92ZXIgKi9cbiAgICAgICAgdmFyKC0tY3BkLXNwYWNlLTJ4KSxcbiAgICAgIDFmclxuICAgICk7XG4gIHBsYWNlLWl0ZW1zOiBjZW50ZXIgZW5kO1xuICBwYWRkaW5nLWJsb2NrOiB2YXIoLS1jcGQtc3BhY2UtMngpO1xuICBwYWRkaW5nLWlubGluZTogdmFyKC0tY3BkLXNwYWNlLTR4KTtcbiAgLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGlubGluZS1zaXplOiAxMDAlO1xuICBtaW4taW5saW5lLXNpemU6IDIwMHB4O1xuICBjb2xvcjogdmFyKC0tY3BkLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTtcbiAgYmFja2dyb3VuZDogdmFyKC0tY3BkLWNvbG9yLWJnLWFjdGlvbi1zZWNvbmRhcnktcmVzdCk7XG59XG5cbi5faXRlbV84ajJsNl8xNy5faW50ZXJhY3RpdmVfOGoybDZfMzUge1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi5faXRlbV84ajJsNl8xNy5fbm8tbGFiZWxfOGoybDZfMzkge1xuICBncmlkLXRlbXBsYXRlOiBcImljb24gLlwiIGF1dG8gLyBhdXRvIDFmcjtcbn1cblxuLl9pY29uXzhqMmw2XzQzIHtcbiAgZ3JpZC1hcmVhOiBpY29uO1xuICAtd2Via2l0LW1hcmdpbi1lbmQ6IHZhcigtLWNwZC1zcGFjZS0zeCk7XG4gICAgICAgICAgbWFyZ2luLWlubGluZS1lbmQ6IHZhcigtLWNwZC1zcGFjZS0zeCk7XG59XG5cbi5faXRlbV84ajJsNl8xNy5fbm8tbGFiZWxfOGoybDZfMzkgLl9pY29uXzhqMmw2XzQzIHtcbiAgLXdlYmtpdC1tYXJnaW4tZW5kOiB2YXIoLS1jcGQtc3BhY2UtNHgpO1xuICAgICAgICAgIG1hcmdpbi1pbmxpbmUtZW5kOiB2YXIoLS1jcGQtc3BhY2UtNHgpO1xufVxuXG4uX2xhYmVsXzhqMmw2XzUyIHtcbiAgZ3JpZC1hcmVhOiBsYWJlbDtcbiAgLXdlYmtpdC1tYXJnaW4tZW5kOiB2YXIoLS1jcGQtc3BhY2UtNHgpO1xuICAgICAgICAgIG1hcmdpbi1pbmxpbmUtZW5kOiB2YXIoLS1jcGQtc3BhY2UtNHgpO1xuICB0ZXh0LWFsaWduOiBzdGFydDtcbiAgd29yZC1icmVhazogYnJlYWstd29yZDtcbn1cblxuLl9uYXYtaGludF84ajJsNl81OSB7XG4gIC8qIEhpZGRlbiB1bnRpbCB0aGUgaXRlbSBpcyBob3ZlcmVkIG92ZXIgKi9cbiAgZGlzcGxheTogbm9uZTtcbiAgLW1zLWZsZXgtbmVnYXRpdmU6IDA7XG4gICAgICBmbGV4LXNocmluazogMDtcbn1cblxuYnV0dG9uLl9pdGVtXzhqMmw2XzE3IHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgICAgICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgYm9yZGVyOiBub25lO1xufVxuXG4uX2l0ZW1fOGoybDZfMTdbZGF0YS1raW5kPVwicHJpbWFyeVwiXSA+IC5fbGFiZWxfOGoybDZfNTIge1xuICBjb2xvcjogdmFyKC0tY3BkLWNvbG9yLXRleHQtcHJpbWFyeSk7XG59XG5cbi5faXRlbV84ajJsNl8xN1tkYXRhLWtpbmQ9XCJwcmltYXJ5XCJdID4gLl9pY29uXzhqMmw2XzQzIHtcbiAgY29sb3I6IHZhcigtLWNwZC1jb2xvci1pY29uLXByaW1hcnkpO1xufVxuXG4uX2l0ZW1fOGoybDZfMTdbZGF0YS1raW5kPVwicHJpbWFyeVwiXSA+IC5fbmF2LWhpbnRfOGoybDZfNTkge1xuICBjb2xvcjogdmFyKC0tY3BkLWNvbG9yLWljb24tdGVydGlhcnkpO1xufVxuXG4uX2l0ZW1fOGoybDZfMTdbZGF0YS1raW5kPVwiY3JpdGljYWxcIl0gPiAuX2xhYmVsXzhqMmw2XzUyIHtcbiAgY29sb3I6IHZhcigtLWNwZC1jb2xvci10ZXh0LWNyaXRpY2FsLXByaW1hcnkpO1xufVxuXG4uX2l0ZW1fOGoybDZfMTdbZGF0YS1raW5kPVwiY3JpdGljYWxcIl0gPiAuX2ljb25fOGoybDZfNDMsXG4uX2l0ZW1fOGoybDZfMTdbZGF0YS1raW5kPVwiY3JpdGljYWxcIl0gPiAuX25hdi1oaW50XzhqMmw2XzU5IHtcbiAgY29sb3I6IHZhcigtLWNwZC1jb2xvci1pY29uLWNyaXRpY2FsLXByaW1hcnkpO1xufVxuXG5AbWVkaWEgKGhvdmVyKSB7XG4gIC5faXRlbV84ajJsNl8xNy5faW50ZXJhY3RpdmVfOGoybDZfMzVbZGF0YS1raW5kPVwicHJpbWFyeVwiXTpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY3BkLWNvbG9yLWJnLWFjdGlvbi1zZWNvbmRhcnktaG92ZXJlZCk7XG4gIH1cblxuICAuX2l0ZW1fOGoybDZfMTcuX2ludGVyYWN0aXZlXzhqMmw2XzM1W2RhdGEta2luZD1cImNyaXRpY2FsXCJdOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jcGQtY29sb3ItYmctY3JpdGljYWwtc3VidGxlKTtcbiAgfVxuXG4gIC8qIFJlcGxhY2UgdGhlIGNoaWxkcmVuIHdpdGggdGhlIG5hdmlnYXRpb24gaGludCBvbiBob3ZlciAqL1xuICAuX2l0ZW1fOGoybDZfMTcuX2ludGVyYWN0aXZlXzhqMmw2XzM1OmhvdmVyID4gLl9uYXYtaGludF84ajJsNl81OSB7XG4gICAgZGlzcGxheTogaW5saW5lO1xuICAgIGRpc3BsYXk6IGluaXRpYWw7XG4gIH1cblxuICAuX2l0ZW1fOGoybDZfMTcuX2ludGVyYWN0aXZlXzhqMmw2XzM1OmhvdmVyID4gLl9uYXYtaGludF84ajJsNl81OSB+ICoge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuLl9pdGVtXzhqMmw2XzE3Ll9pbnRlcmFjdGl2ZV84ajJsNl8zNVtkYXRhLWtpbmQ9XCJwcmltYXJ5XCJdOmFjdGl2ZSB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNwZC1jb2xvci1iZy1hY3Rpb24tc2Vjb25kYXJ5LXByZXNzZWQpO1xufVxuXG4uX2l0ZW1fOGoybDZfMTcuX2ludGVyYWN0aXZlXzhqMmw2XzM1W2RhdGEta2luZD1cImNyaXRpY2FsXCJdOmFjdGl2ZSB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNwZC1jb2xvci1iZy1jcml0aWNhbC1zdWJ0bGUtaG92ZXJlZCk7XG59XG5cbi5faXRlbV84ajJsNl8xN1tkYXRhLWtpbmRdLl9kaXNhYmxlZF84ajJsNl8xMTgge1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cblxuLl9pdGVtXzhqMmw2XzE3W2RhdGEta2luZF0uX2Rpc2FibGVkXzhqMmw2XzExOCA+IC5fbGFiZWxfOGoybDZfNTIsXG4uX2l0ZW1fOGoybDZfMTdbZGF0YS1raW5kXS5fZGlzYWJsZWRfOGoybDZfMTE4ID4gLl9pY29uXzhqMmw2XzQzLFxuLl9pdGVtXzhqMmw2XzE3W2RhdGEta2luZF0uX2Rpc2FibGVkXzhqMmw2XzExOCA+IC5fbmF2LWhpbnRfOGoybDZfNTkge1xuICBjb2xvcjogdmFyKC0tY3BkLWNvbG9yLXRleHQtZGlzYWJsZWQpO1xufVxuXG4vKlxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGRcblxuTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbnlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbllvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuXG4gICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG5cblVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbmRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbldJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxubGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4qL1xuXG4uX3Byb2dyZXNzLWJhcl8xdmVlal8xNyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY3BkLWNvbG9yLWdyYXktMjAwKTtcbiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tY3BkLWNvbG9yLWdyYXktNDAwKTtcbiAgYm9yZGVyLXJhZGl1czogOTk5OXB4O1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1jcGQtcmFkaXVzLXBpbGwtZWZmZWN0KTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLl9wcm9ncmVzcy1iYXJfMXZlZWpfMTdbZGF0YS1zaXplPVwic21cIl0ge1xuICAgIGJsb2NrLXNpemU6IHZhcigtLWNwZC1zcGFjZS0yeCk7XG4gIH1cblxuLl9wcm9ncmVzcy1iYXJfMXZlZWpfMTdbZGF0YS1zaXplPVwibGdcIl0ge1xuICAgIGJsb2NrLXNpemU6IHZhcigtLWNwZC1zcGFjZS00eCk7XG4gIH1cblxuLl9wcm9ncmVzcy1iYXItY29udGFpbmVyXzF2ZWVqXzMzIHtcbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICBkaXNwbGF5OiBmbGV4O1xuICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xuICAtd2Via2l0LWJveC1kaXJlY3Rpb246IG5vcm1hbDtcbiAgICAgIC1tcy1mbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGdhcDogdmFyKC0tY3BkLXNwYWNlLTF4KTtcblxuICAtLWNwZC1wcm9ncmVzcy1iYXItbWFpbjogdmFyKC0tY3BkLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTtcbiAgLS1jcGQtcHJvZ3Jlc3MtYmFyLW11dGVkOiB2YXIoLS1jcGQtY29sb3ItZ3JheS04MDApO1xufVxuXG4uX3Byb2dyZXNzLWJhci1jb250YWluZXJfMXZlZWpfMzNbZGF0YS10aW50PVwiZ3JlZW5cIl0ge1xuICAgIC0tY3BkLXByb2dyZXNzLWJhci1tYWluOiB2YXIoLS1jcGQtY29sb3ItdGV4dC1zdWNjZXNzLXByaW1hcnkpO1xuICAgIC0tY3BkLXByb2dyZXNzLWJhci1tdXRlZDogdmFyKC0tY3BkLWNvbG9yLWdyZWVuLTgwMCk7XG4gIH1cblxuLl9wcm9ncmVzcy1iYXItY29udGFpbmVyXzF2ZWVqXzMzW2RhdGEtdGludD1cImxpbWVcIl0ge1xuICAgIC0tY3BkLXByb2dyZXNzLWJhci1tYWluOiB2YXIoLS1jcGQtY29sb3ItbGltZS05MDApO1xuICAgIC0tY3BkLXByb2dyZXNzLWJhci1tdXRlZDogdmFyKC0tY3BkLWNvbG9yLWxpbWUtODAwKTtcbiAgfVxuXG4uX3Byb2dyZXNzLWJhci1jb250YWluZXJfMXZlZWpfMzNbZGF0YS10aW50PVwib3JhbmdlXCJdIHtcbiAgICAtLWNwZC1wcm9ncmVzcy1iYXItbWFpbjogdmFyKC0tY3BkLWNvbG9yLW9yYW5nZS05MDApO1xuICAgIC0tY3BkLXByb2dyZXNzLWJhci1tdXRlZDogdmFyKC0tY3BkLWNvbG9yLW9yYW5nZS04MDApO1xuICB9XG5cbi5fcHJvZ3Jlc3MtYmFyLWNvbnRhaW5lcl8xdmVlal8zM1tkYXRhLXRpbnQ9XCJyZWRcIl0ge1xuICAgIC0tY3BkLXByb2dyZXNzLWJhci1tYWluOiB2YXIoLS1jcGQtY29sb3ItdGV4dC1jcml0aWNhbC1wcmltYXJ5KTtcbiAgICAtLWNwZC1wcm9ncmVzcy1iYXItbXV0ZWQ6IHZhcigtLWNwZC1jb2xvci1yZWQtODAwKTtcbiAgfVxuXG4uX3Byb2dyZXNzLWJhci1sYWJlbF8xdmVlal82MiB7XG4gIGZvbnQ6IHZhcigtLWNwZC1mb250LWJvZHktc20tbWVkaXVtKTtcbiAgbGV0dGVyLXNwYWNpbmc6IHZhcigtLWNwZC1mb250LWxldHRlci1zcGFjaW5nLWJvZHktc20pO1xuICBjb2xvcjogdmFyKC0tY3BkLXByb2dyZXNzLWJhci1tYWluKTtcbn1cblxuLl9wcm9ncmVzcy1iYXItaW5kaWNhdG9yXzF2ZWVqXzY4IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBpbnNldDogMDtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiAtd2Via2l0LXRyYW5zZm9ybSAwLjJzIGVhc2UtaW4tb3V0O1xuICB0cmFuc2l0aW9uOiAtd2Via2l0LXRyYW5zZm9ybSAwLjJzIGVhc2UtaW4tb3V0O1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4ycyBlYXNlLWluLW91dDtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMnMgZWFzZS1pbi1vdXQsIC13ZWJraXQtdHJhbnNmb3JtIDAuMnMgZWFzZS1pbi1vdXQ7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudChcbiAgICAxMzVkZWcsXG4gICAgdmFyKC0tY3BkLXByb2dyZXNzLWJhci1tdXRlZCkgMCUsXG4gICAgdmFyKC0tY3BkLXByb2dyZXNzLWJhci1tdXRlZCkgMjUlLFxuICAgIHZhcigtLWNwZC1wcm9ncmVzcy1iYXItbWFpbikgMjUlLFxuICAgIHZhcigtLWNwZC1wcm9ncmVzcy1iYXItbWFpbikgNTAlLFxuICAgIHZhcigtLWNwZC1wcm9ncmVzcy1iYXItbXV0ZWQpIDUwJSxcbiAgICB2YXIoLS1jcGQtcHJvZ3Jlc3MtYmFyLW11dGVkKSA3NSUsXG4gICAgdmFyKC0tY3BkLXByb2dyZXNzLWJhci1tYWluKSA3NSUsXG4gICAgdmFyKC0tY3BkLXByb2dyZXNzLWJhci1tYWluKSAxMDAlLFxuICAgIHZhcigtLWNwZC1wcm9ncmVzcy1iYXItbXV0ZWQpIDEwMCVcbiAgKTtcblxuICAvKiBzcXJ0KG51bWJlciBvZiBzdHJpcGVzICogMiAqIChzdHJpcGUgd2lkdGgpXjIpID0gc3FydCg0ICogMiAqIDJeMikgPSBzcXJ0KDMyKSAqL1xuICBiYWNrZ3JvdW5kLXNpemU6IDUuNjU2OXB4IDUuNjU2OXB4O1xufVxuXG4vKlxuQ29weXJpZ2h0IDIwMjMgTmV3IFZlY3RvciBMdGRcblxuTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbnlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbllvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuXG4gICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG5cblVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbmRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbldJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxubGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4qL1xuXG4uX3NlYXJjaF8xa2kyY18xNyB7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNwZC1jb2xvci1ib3JkZXItaW50ZXJhY3RpdmUtc2Vjb25kYXJ5KTtcbiAgYm9yZGVyLXJhZGl1czogOTk5OXB4O1xuICBibG9jay1zaXplOiAzNnB4O1xuICAtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgY29sb3I6IHZhcigtLWNwZC1jb2xvci10ZXh0LXByaW1hcnkpO1xuICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gIGRpc3BsYXk6IGZsZXg7XG5cbiAgLyogIWltcG9ydGFudCB0byBvdmVycmlkZSBGaWVsZCdzIGRlZmF1bHQgZmxleCBzZXR0aW5ncyAqL1xuICAtd2Via2l0LWJveC1vcmllbnQ6IGhvcml6b250YWwgIWltcG9ydGFudDtcbiAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiBub3JtYWwgIWltcG9ydGFudDtcbiAgICAgIC1tcy1mbGV4LWRpcmVjdGlvbjogcm93ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdyAhaW1wb3J0YW50O1xuICBnYXA6IHZhcigtLWNwZC1zcGFjZS0yeCkgIWltcG9ydGFudDtcbiAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjtcbiAgICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgcGFkZGluZzogdmFyKC0tY3BkLXNwYWNlLTEtNXgpIHZhcigtLWNwZC1zcGFjZS0zeCk7XG59XG5cbkBtZWRpYSAoaG92ZXIpIHtcbiAgLl9zZWFyY2hfMWtpMmNfMTc6aG92ZXIge1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tY3BkLWNvbG9yLWJvcmRlci1pbnRlcmFjdGl2ZS1ob3ZlcmVkKTtcbiAgfVxufVxuXG4uX3NlYXJjaF8xa2kyY18xNzphY3RpdmUge1xuICBib3JkZXItY29sb3I6IHZhcigtLWNwZC1jb2xvci1ib3JkZXItaW50ZXJhY3RpdmUtaG92ZXJlZCk7XG59XG5cbi5fc2VhcmNoXzFraTJjXzE3OmZvY3VzLXdpdGhpbiB7XG4gIGJvcmRlci1jb2xvcjogY3VycmVudGNvbG9yO1xufVxuXG4uX2ljb25fMWtpMmNfNDYge1xuICBjb2xvcjogdmFyKC0tY3BkLWNvbG9yLWljb24tc2Vjb25kYXJ5KTtcbiAgLW1zLWZsZXgtbmVnYXRpdmU6IDA7XG4gICAgICBmbGV4LXNocmluazogMDtcbn1cblxuQG1lZGlhIChob3Zlcikge1xuICAuX3NlYXJjaF8xa2kyY18xNzpob3ZlciAuX2ljb25fMWtpMmNfNDYge1xuICAgIGNvbG9yOiB2YXIoLS1jcGQtY29sb3ItaWNvbi1wcmltYXJ5KTtcbiAgfVxufVxuXG4uX3NlYXJjaF8xa2kyY18xNzphY3RpdmUgLl9pY29uXzFraTJjXzQ2IHtcbiAgY29sb3I6IHZhcigtLWNwZC1jb2xvci1pY29uLXByaW1hcnkpO1xufVxuXG4uX2lucHV0XzFraTJjXzYxIHtcbiAgYm9yZGVyOiAwO1xuICBiYWNrZ3JvdW5kOiBpbmhlcml0O1xuICBvdXRsaW5lOiAwO1xuICAtd2Via2l0LWJveC1mbGV4OiAxO1xuICAgICAgLW1zLWZsZXg6IDE7XG4gICAgICAgICAgZmxleDogMTtcbiAgbWluLWlubGluZS1zaXplOiAwO1xufVxuXG4uX2lucHV0XzFraTJjXzYxOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHtcbiAgY29sb3I6IHZhcigtLWNwZC1jb2xvci10ZXh0LXNlY29uZGFyeSk7XG59XG5cbi5faW5wdXRfMWtpMmNfNjE6Oi1tb3otcGxhY2Vob2xkZXIge1xuICBjb2xvcjogdmFyKC0tY3BkLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTtcbn1cblxuLl9pbnB1dF8xa2kyY182MTotbXMtaW5wdXQtcGxhY2Vob2xkZXIge1xuICBjb2xvcjogdmFyKC0tY3BkLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTtcbn1cblxuLl9pbnB1dF8xa2kyY182MTo6LW1zLWlucHV0LXBsYWNlaG9sZGVyIHtcbiAgY29sb3I6IHZhcigtLWNwZC1jb2xvci10ZXh0LXNlY29uZGFyeSk7XG59XG5cbi5faW5wdXRfMWtpMmNfNjE6OnBsYWNlaG9sZGVyIHtcbiAgY29sb3I6IHZhcigtLWNwZC1jb2xvci10ZXh0LXNlY29uZGFyeSk7XG59XG5cbi5faW5wdXRfMWtpMmNfNjE6Zm9jdXM6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIge1xuICBjb2xvcjogdmFyKC0tY3BkLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTtcbn1cblxuLl9pbnB1dF8xa2kyY182MTpmb2N1czo6LW1vei1wbGFjZWhvbGRlciB7XG4gIGNvbG9yOiB2YXIoLS1jcGQtY29sb3ItdGV4dC1zZWNvbmRhcnkpO1xufVxuXG4uX2lucHV0XzFraTJjXzYxOmZvY3VzOi1tcy1pbnB1dC1wbGFjZWhvbGRlciB7XG4gIGNvbG9yOiB2YXIoLS1jcGQtY29sb3ItdGV4dC1zZWNvbmRhcnkpO1xufVxuXG4uX2lucHV0XzFraTJjXzYxOmZvY3VzOjotbXMtaW5wdXQtcGxhY2Vob2xkZXIge1xuICBjb2xvcjogdmFyKC0tY3BkLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTtcbn1cblxuLl9pbnB1dF8xa2kyY182MTpmb2N1czo6cGxhY2Vob2xkZXIge1xuICBjb2xvcjogdmFyKC0tY3BkLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTtcbn1cblxuQG1lZGlhIChob3Zlcikge1xuICAuX3NlYXJjaF8xa2kyY18xNzpob3ZlciAuX2lucHV0XzFraTJjXzYxOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHtcbiAgICBjb2xvcjogdmFyKC0tY3BkLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTtcbiAgfVxuICAuX3NlYXJjaF8xa2kyY18xNzpob3ZlciAuX2lucHV0XzFraTJjXzYxOjotbW96LXBsYWNlaG9sZGVyIHtcbiAgICBjb2xvcjogdmFyKC0tY3BkLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTtcbiAgfVxuICAuX3NlYXJjaF8xa2kyY18xNzpob3ZlciAuX2lucHV0XzFraTJjXzYxOi1tcy1pbnB1dC1wbGFjZWhvbGRlciB7XG4gICAgY29sb3I6IHZhcigtLWNwZC1jb2xvci10ZXh0LXNlY29uZGFyeSk7XG4gIH1cbiAgLl9zZWFyY2hfMWtpMmNfMTc6aG92ZXIgLl9pbnB1dF8xa2kyY182MTo6LW1zLWlucHV0LXBsYWNlaG9sZGVyIHtcbiAgICBjb2xvcjogdmFyKC0tY3BkLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTtcbiAgfVxuICAuX3NlYXJjaF8xa2kyY18xNzpob3ZlciAuX2lucHV0XzFraTJjXzYxOjpwbGFjZWhvbGRlciB7XG4gICAgY29sb3I6IHZhcigtLWNwZC1jb2xvci10ZXh0LXNlY29uZGFyeSk7XG4gIH1cbn1cblxuLypcbkNvcHlyaWdodCAyMDIzIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXG5Db3B5cmlnaHQgMjAyMyBOZXcgVmVjdG9yIEx0ZFxuXG5MaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xueW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG5cbmh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuXG5Vbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG5kaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG5XSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cblNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbmxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuKi9cblxuLyogU3R5bGluZyB0aGUgUmFkaXggVUkgRm9ybSBjb21wb25lbnQgKi9cblxuLyoqXG4gKiBST09UOiBGb3JtIEVsZW1lbnRcbiAqL1xuXG4uX3Jvb3Rfc3N0aHNfMjQge1xuICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWw7XG4gIC13ZWJraXQtYm94LWRpcmVjdGlvbjogbm9ybWFsO1xuICAgICAgLW1zLWZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZ2FwOiB2YXIoLS1jcGQtc3BhY2UtNXgpO1xufVxuXG4vKipcbiAqIEZJRUxEOiBXcmFwcGVyIGFyb3VuZCBsYWJlbCwgY29udHJvbCBhbmQgbWVzc2FnZVxuICovXG5cbi5fZmllbGRfc3N0aHNfMzQge1xuICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWw7XG4gIC13ZWJraXQtYm94LWRpcmVjdGlvbjogbm9ybWFsO1xuICAgICAgLW1zLWZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZ2FwOiB2YXIoLS1jcGQtc3BhY2UtMXgpO1xufVxuXG4uX2lubGluZS1maWVsZF9zc3Roc180MCB7XG4gIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgZGlzcGxheTogZmxleDtcbiAgLXdlYmtpdC1ib3gtb3JpZW50OiBob3Jpem9udGFsO1xuICAtd2Via2l0LWJveC1kaXJlY3Rpb246IG5vcm1hbDtcbiAgICAgIC1tcy1mbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGdhcDogdmFyKC0tY3BkLXNwYWNlLTJ4KTtcbn1cblxuLl9pbmxpbmUtZmllbGQtYm9keV9zc3Roc180NiB7XG4gIC13ZWJraXQtYm94LWZsZXg6IDE7XG4gICAgICAtbXMtZmxleDogMTtcbiAgICAgICAgICBmbGV4OiAxO1xuICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWw7XG4gIC13ZWJraXQtYm94LWRpcmVjdGlvbjogbm9ybWFsO1xuICAgICAgLW1zLWZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbn1cblxuLl9pbmxpbmUtZmllbGQtY29udHJvbF9zc3Roc181MiB7XG4gIC8qIFRoZSBjb250cm9sIHNob3VsZCBoYXZlIHRoZSBzYW1lIGhlaWdodCBhcyB0aGUgbGFiZWwgKi9cbiAgYmxvY2stc2l6ZTogY2FsYyhcbiAgICB2YXIoLS1jcGQtZm9udC1zaXplLWJvZHktbWQpICogdmFyKC0tY3BkLWZvbnQtbGluZS1oZWlnaHQtcmVndWxhcilcbiAgKTtcblxuICAvKiBBbGlnbiB0aGUgY29udHJvbCBpbiB0aGUgbWlkZGxlIG9mIHRoZSBsYWJlbCAqL1xuICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7XG4gICAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbi8qKlxuICogTEFCRUxcbiAqL1xuXG4uX2xhYmVsX3NzdGhzXzY3IHtcbiAgZm9udDogdmFyKC0tY3BkLWZvbnQtYm9keS1tZC1tZWRpdW0pO1xuICBsZXR0ZXItc3BhY2luZzogdmFyKC0tY3BkLWZvbnQtbGV0dGVyLXNwYWNpbmctYm9keS1tZCk7XG59XG5cbi5fbGFiZWxfc3N0aHNfNjdbZm9yXSB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLl9sYWJlbF9zc3Roc182N1tkYXRhLWludmFsaWRdIHtcbiAgY29sb3I6IHZhcigtLWNwZC1jb2xvci10ZXh0LWNyaXRpY2FsLXByaW1hcnkpO1xufVxuXG4vKiBDdXJyZW50bHkgd29ya2luZyBldmVyeXdoZXJlIGJ1dCBvbiBGaXJlZm94IChvbmx5IGJlaGluZCBhIGxhYnMgZmxhZylcbmh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvV2ViL0NTUy86aGFzI2Jyb3dzZXJfY29tcGF0aWJpbGl0eSAqL1xuXG4uX2xhYmVsX3NzdGhzXzY3Omhhcyh+ICogaW5wdXRbZGlzYWJsZWRdKSxcbi5fbGFiZWxfc3N0aHNfNjc6aGFzKH4gaW5wdXRbZGlzYWJsZWRdKSxcbi5faW5saW5lLWZpZWxkLWNvbnRyb2xfc3N0aHNfNTI6aGFzKGlucHV0W2Rpc2FibGVkXSkgfiAuX2lubGluZS1maWVsZC1ib2R5X3NzdGhzXzQ2IC5fbGFiZWxfc3N0aHNfNjcge1xuICBjb2xvcjogdmFyKC0tY3BkLWNvbG9yLXRleHQtZGlzYWJsZWQpO1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xufVxuXG4vKipcbiAqIEhlbHAgYW5kIGVycm9yIG1lc3NhZ2VzXG4gKi9cblxuLl9tZXNzYWdlX3NzdGhzXzkzIHtcbiAgZm9udDogdmFyKC0tY3BkLWZvbnQtYm9keS1zbS1yZWd1bGFyKTtcbiAgbGV0dGVyLXNwYWNpbmc6IHZhcigtLWNwZC1mb250LWxldHRlci1zcGFjaW5nLWJvZHktc20pO1xuICAtd2Via2l0LW1hcmdpbi1iZWZvcmU6IHZhcigtLWNwZC1zcGFjZS0xeCk7XG4gICAgICAgICAgbWFyZ2luLWJsb2NrLXN0YXJ0OiB2YXIoLS1jcGQtc3BhY2UtMXgpO1xufVxuXG4uX2hlbHAtbWVzc2FnZV9zc3Roc185OSB7XG4gIGNvbG9yOiB2YXIoLS1jcGQtY29sb3ItdGV4dC1zZWNvbmRhcnkpO1xufVxuXG4uX2Vycm9yLW1lc3NhZ2Vfc3N0aHNfMTAzIHtcbiAgY29sb3I6IHZhcigtLWNwZC1jb2xvci10ZXh0LWNyaXRpY2FsLXByaW1hcnkpO1xufVxuXG4uX3N1Y2Nlc3MtbWVzc2FnZV9zc3Roc18xMDcge1xuICBjb2xvcjogdmFyKC0tY3BkLWNvbG9yLXRleHQtc3VjY2Vzcy1wcmltYXJ5KTtcbn1cblxuLyogQ3VycmVudGx5IHdvcmtpbmcgZXZlcnl3aGVyZSBidXQgb24gRmlyZWZveCAob25seSBiZWhpbmQgYSBsYWJzIGZsYWcpXG5odHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9DU1MvOmhhcyNicm93c2VyX2NvbXBhdGliaWxpdHkgKi9cblxuaW5wdXRbZGlzYWJsZWRdIH4gLl9tZXNzYWdlX3NzdGhzXzkzLFxuKjpoYXMoaW5wdXRbZGlzYWJsZWRdKSB+IC5fbWVzc2FnZV9zc3Roc185Myxcbi5faW5saW5lLWZpZWxkLWNvbnRyb2xfc3N0aHNfNTI6aGFzKGlucHV0W2Rpc2FibGVkXSkgfiAuX2lubGluZS1maWVsZC1ib2R5X3NzdGhzXzQ2IC5fbWVzc2FnZV9zc3Roc185MyB7XG4gIGNvbG9yOiB2YXIoLS1jcGQtY29sb3ItdGV4dC1kaXNhYmxlZCk7XG59XG5cbi5fbWVzc2FnZV9zc3Roc185MyA+IHN2ZyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IGJvdHRvbTtcbiAgLXdlYmtpdC1tYXJnaW4tZW5kOiB2YXIoLS1jcGQtc3BhY2UtMngpO1xuICAgICAgICAgIG1hcmdpbi1pbmxpbmUtZW5kOiB2YXIoLS1jcGQtc3BhY2UtMngpO1xuXG4gIC8qIENhbGN1bGF0ZSB0aGUgc2l6ZSBvZiB0aGUgaWNvbiBiYXNlZCBvbiB0aGUgZm9udCBzaXplIGFuZCBsaW5lIGhlaWdodCAqL1xuICBibG9jay1zaXplOiBjYWxjKDFlbSAqIHZhcigtLWNwZC1mb250LWxpbmUtaGVpZ2h0LXJlZ3VsYXIpKTtcbiAgaW5saW5lLXNpemU6IGNhbGMoMWVtICogdmFyKC0tY3BkLWZvbnQtbGluZS1oZWlnaHQtcmVndWxhcikpO1xufVxuXG4vKlxuQ29weXJpZ2h0IDIwMjMtMjAyNCBOZXcgVmVjdG9yIEx0ZFxuXG5MaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xueW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG5cbiAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcblxuVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG5TZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG5saW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiovXG5cbi5fc2VwYXJhdG9yXzE0NHM1XzE3IHtcbiAgLS1jcGQtc2VwYXJhdG9yLWNvbG9yOiB2YXIoLS1jcGQtY29sb3ItZ3JheS00MDApO1xuICAtLWNwZC1zZXBhcmF0b3Itc2l6ZTogMXB4O1xuXG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNwZC1zZXBhcmF0b3ItY29sb3IpO1xufVxuXG4uX3NlcGFyYXRvcl8xNDRzNV8xN1tkYXRhLWtpbmQ9XCJzZWNvbmRhcnlcIl0ge1xuICAtLWNwZC1zZXBhcmF0b3ItY29sb3I6IHZhcigtLWNwZC1jb2xvci1ncmF5LTMwMCk7XG59XG5cbi5fc2VwYXJhdG9yXzE0NHM1XzE3W2RhdGEta2luZD1cInNlY3Rpb25cIl0ge1xuICAtLWNwZC1zZXBhcmF0b3Itc2l6ZTogMnB4O1xufVxuXG4uX3NlcGFyYXRvcl8xNDRzNV8xN1tkYXRhLW9yaWVudGF0aW9uPVwiaG9yaXpvbnRhbFwiXSB7XG4gIG1hcmdpbi1ibG9jazogdmFyKC0tY3BkLXNlcGFyYXRvci1zcGFjaW5nKTtcbiAgbWFyZ2luLWlubGluZTogMDtcbiAgbWFyZ2luLWlubGluZTogdmFyKC0tY3BkLXNlcGFyYXRvci1pbnNldCk7XG4gIGJsb2NrLXNpemU6IHZhcigtLWNwZC1zZXBhcmF0b3Itc2l6ZSk7XG59XG5cbi5fc2VwYXJhdG9yXzE0NHM1XzE3W2RhdGEtb3JpZW50YXRpb249XCJ2ZXJ0aWNhbFwiXSB7XG4gIG1hcmdpbi1pbmxpbmU6IHZhcigtLWNwZC1zZXBhcmF0b3Itc3BhY2luZyk7XG4gIG1hcmdpbi1ibG9jazogMDtcbiAgbWFyZ2luLWJsb2NrOiB2YXIoLS1jcGQtc2VwYXJhdG9yLWluc2V0KTtcbiAgaW5saW5lLXNpemU6IHZhcigtLWNwZC1zZXBhcmF0b3Itc2l6ZSk7XG59XG5cbi8qXG5Db3B5cmlnaHQgMjAyMyBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxuQ29weXJpZ2h0IDIwMjMgTmV3IFZlY3RvciBMdGRcblxuTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbnlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbllvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuXG4gICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG5cblVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbmRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbldJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxubGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4qL1xuXG4uX2NvbnRhaW5lcl9xbnZydV8xOCB7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGlubGluZS1zaXplOiAyLjI1cmVtO1xuICBibG9jay1zaXplOiAxLjI1cmVtO1xuICAtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbn1cblxuLl9jb250YWluZXJfcW52cnVfMTggPiAqIHtcbiAgZ3JpZC1hcmVhOiAxLzE7XG4gIGlubGluZS1zaXplOiBpbmhlcml0O1xuICBibG9jay1zaXplOiBpbmhlcml0O1xuICAtd2Via2l0LWJveC1zaXppbmc6IGluaGVyaXQ7XG4gICAgICAgICAgYm94LXNpemluZzogaW5oZXJpdDtcbn1cblxuLl9jb250YWluZXJfcW52cnVfMTggPiAuX2lucHV0X3FudnJ1XzMyIHtcbiAgb3BhY2l0eTogMDtcbiAgbWFyZ2luOiAwO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi5fY29udGFpbmVyX3FudnJ1XzE4ID4gLl9pbnB1dF9xbnZydV8zMltkaXNhYmxlZF0ge1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xufVxuXG4uX3VpX3FudnJ1XzQyIHtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIGJvcmRlci1yYWRpdXM6IDk5OTlweDtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tY3BkLXJhZGl1cy1waWxsLWVmZmVjdCk7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNwZC1jb2xvci1ib3JkZXItaW50ZXJhY3RpdmUtcHJpbWFyeSk7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNwZC1jb2xvci1iZy1jYW52YXMtZGVmYXVsdCk7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZzogMXB4O1xuICAtd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246IDAuMnM7XG4gICAgICAgICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4ycztcbiAgLXdlYmtpdC10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7XG4gICAgICAgICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0O1xuICAtd2Via2l0LXRyYW5zaXRpb24tcHJvcGVydHk6IGJhY2tncm91bmQtY29sb3IsIGJvcmRlci1jb2xvcjtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogYmFja2dyb3VuZC1jb2xvciwgYm9yZGVyLWNvbG9yO1xufVxuXG4uX2lucHV0X3FudnJ1XzMyOmNoZWNrZWQgKyAuX3VpX3FudnJ1XzQyIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tY3BkLWNvbG9yLWJnLWFjY2VudC1yZXN0KTtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jcGQtY29sb3ItYmctYWNjZW50LXJlc3QpO1xufVxuXG4uX3VpX3FudnJ1XzQyOjphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBibG9jay1zaXplOiAxMDAlO1xuICBhc3BlY3QtcmF0aW86IDEgLyAxO1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNwZC1jb2xvci1pY29uLXNlY29uZGFyeSk7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgLXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjJzO1xuICAgICAgICAgIHRyYW5zaXRpb24tZHVyYXRpb246IDAuMnM7XG4gIC13ZWJraXQtdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0O1xuICAgICAgICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDtcbiAgLXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OiBiYWNrZ3JvdW5kLWNvbG9yLCAtd2Via2l0LXRyYW5zZm9ybTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogYmFja2dyb3VuZC1jb2xvciwgLXdlYmtpdC10cmFuc2Zvcm07XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IGJhY2tncm91bmQtY29sb3IsIHRyYW5zZm9ybTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogYmFja2dyb3VuZC1jb2xvciwgdHJhbnNmb3JtLCAtd2Via2l0LXRyYW5zZm9ybTtcbn1cblxuLyogTm90ZSB0aGUgdXNlIG9mIDpmb2N1cy12aXNpYmxlIHJhdGhlciB0aGFuIDpmb2N1cyB0byBhdm9pZCBzaG93aW5nIHRoZSBmb2N1c1xucmluZyBhZnRlciBhIHNpbXBsZSBjbGljayAqL1xuXG4uX2lucHV0X3FudnJ1XzMyOmZvY3VzLXZpc2libGUgKyAuX3VpX3FudnJ1XzQyIHtcbiAgb3V0bGluZTogMnB4IHNvbGlkIHZhcigtLWNwZC1jb2xvci1ib3JkZXItZm9jdXNlZCk7XG4gIG91dGxpbmUtb2Zmc2V0OiAxcHg7XG59XG5cbjpjaGVja2VkICsgLl91aV9xbnZydV80Mjo6YWZ0ZXIge1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNwZC1jb2xvci1pY29uLW9uLXNvbGlkLXByaW1hcnkpO1xufVxuXG5AbWVkaWEgKGhvdmVyKSB7XG4gIDpjaGVja2VkOm5vdChbZGlzYWJsZWRdKTpob3ZlciArIC5fdWlfcW52cnVfNDIge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNwZC1jb2xvci1iZy1hY2NlbnQtaG92ZXJlZCk7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jcGQtY29sb3ItYmctYWNjZW50LWhvdmVyZWQpO1xuICB9XG59XG5cbjpjaGVja2VkOmFjdGl2ZSArIC5fdWlfcW52cnVfNDIge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jcGQtY29sb3ItYmctYWNjZW50LWhvdmVyZWQpO1xuICBib3JkZXItY29sb3I6IHZhcigtLWNwZC1jb2xvci1iZy1hY2NlbnQtaG92ZXJlZCk7XG59XG5cbi5faW5wdXRfcW52cnVfMzJbcmVhZG9ubHldIHtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5cbi5faW5wdXRfcW52cnVfMzJbcmVhZG9ubHldICsgLl91aV9xbnZydV80MiB7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0tY3BkLWNvbG9yLWJvcmRlci1pbnRlcmFjdGl2ZS1zZWNvbmRhcnkpO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jcGQtY29sb3ItYmctc3VidGxlLXNlY29uZGFyeSk7XG59XG5cbi5faW5wdXRfcW52cnVfMzJbcmVhZG9ubHldICsgLl91aV9xbnZydV80Mjo6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jcGQtY29sb3ItaWNvbi1zZWNvbmRhcnkpO1xufVxuXG4uX2lucHV0X3FudnJ1XzMyW2Rpc2FibGVkXSArIC5fdWlfcW52cnVfNDIge1xuICBib3JkZXItY29sb3I6IHZhcigtLWNwZC1jb2xvci1ib3JkZXItZGlzYWJsZWQpO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jcGQtY29sb3ItYmctY2FudmFzLWRpc2FibGVkKTtcbn1cblxuLl9pbnB1dF9xbnZydV8zMltkaXNhYmxlZF0gKyAuX3VpX3FudnJ1XzQyOjphZnRlciB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNwZC1jb2xvci1iZy1hY3Rpb24tcHJpbWFyeS1kaXNhYmxlZCk7XG59XG5cbi5faW5wdXRfcW52cnVfMzJbcmVhZG9ubHldOmNoZWNrZWQgKyAuX3VpX3FudnJ1XzQyIHtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jcGQtY29sb3ItaWNvbi1zZWNvbmRhcnkpO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jcGQtY29sb3ItaWNvbi1zZWNvbmRhcnkpO1xufVxuXG4uX2lucHV0X3FudnJ1XzMyW3JlYWRvbmx5XTpjaGVja2VkICsgLl91aV9xbnZydV80Mjo6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jcGQtY29sb3ItaWNvbi1vbi1zb2xpZC1wcmltYXJ5KTtcbn1cblxuLl9pbnB1dF9xbnZydV8zMltkaXNhYmxlZF06Y2hlY2tlZCArIC5fdWlfcW52cnVfNDIge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jcGQtY29sb3ItYmctYWN0aW9uLXByaW1hcnktZGlzYWJsZWQpO1xuICBib3JkZXItY29sb3I6IHZhcigtLWNwZC1jb2xvci1iZy1hY3Rpb24tcHJpbWFyeS1kaXNhYmxlZCk7XG59XG5cbi5faW5wdXRfcW52cnVfMzJbZGlzYWJsZWRdOmNoZWNrZWQgKyAuX3VpX3FudnJ1XzQyOjphZnRlciB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNwZC1jb2xvci1pY29uLW9uLXNvbGlkLXByaW1hcnkpO1xufVxuXG5AbWVkaWEgKGhvdmVyKSB7XG4gIC5faW5wdXRfcW52cnVfMzI6bm90KDpjaGVja2VkLCBbZGlzYWJsZWRdLCBbcmVhZG9ubHldKTpob3ZlciArIC5fdWlfcW52cnVfNDIge1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tY3BkLWNvbG9yLWJvcmRlci1pbnRlcmFjdGl2ZS1ob3ZlcmVkKTtcblxuICAgIC8qKiBUT0RPOiBoYXZlIHRoZSBzaGFkb3cgaW4gdGhlIGRlc2lnbiB0b2tlbnMgKi9cbiAgICAtd2Via2l0LWJveC1zaGFkb3c6IDAgMS4ycHggMi40cHggMCByZ2IoMCAwIDAgLyAxNSUpO1xuICAgICAgICAgICAgYm94LXNoYWRvdzogMCAxLjJweCAyLjRweCAwIHJnYigwIDAgMCAvIDE1JSk7XG4gIH1cbn1cblxuLl9pbnB1dF9xbnZydV8zMjpub3QoOmNoZWNrZWQsIFtkaXNhYmxlZF0sIFtyZWFkb25seV0pOmFjdGl2ZSArIC5fdWlfcW52cnVfNDIge1xuICBib3JkZXItY29sb3I6IHZhcigtLWNwZC1jb2xvci1ib3JkZXItaW50ZXJhY3RpdmUtaG92ZXJlZCk7XG59XG5cbi8qXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZFxuXG5MaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xueW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG5cbiAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcblxuVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG5TZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG5saW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiovXG5cbi5fdG9hc3QtY29udGFpbmVyX3BueWU4XzE3IHtcbiAgaW5saW5lLXNpemU6IC13ZWJraXQtZml0LWNvbnRlbnQ7XG4gIGlubGluZS1zaXplOiAtbW96LWZpdC1jb250ZW50O1xuICBpbmxpbmUtc2l6ZTogZml0LWNvbnRlbnQ7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNwZC1jb2xvci1hbHBoYS1ncmF5LTEzMDApO1xuICBjb2xvcjogdmFyKC0tY3BkLWNvbG9yLXRleHQtb24tc29saWQtcHJpbWFyeSk7XG4gIGJvcmRlci1yYWRpdXM6IDk5cHg7XG4gIGZvbnQtc2l6ZTogdmFyKC0tY3BkLWZvbnQtYm9keS1zbS1tZWRpdW0pO1xuICBwYWRkaW5nOiB2YXIoLS1jcGQtc3BhY2UtMngpIHZhcigtLWNwZC1zcGFjZS00eCk7XG59XG5cbi8qXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZFxuXG5MaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xueW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG5cbiAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcblxuVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG5TZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG5saW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiovXG5cbkAtd2Via2l0LWtleWZyYW1lcyBfc3Bpbl8xeWU3Yl8xIHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZVooMGRlZyk7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZVooMGRlZyk7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZVooMzYwZGVnKTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlWigzNjBkZWcpO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgX3NwaW5fMXllN2JfMSB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGVaKDBkZWcpO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGVaKDBkZWcpO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGVaKDM2MGRlZyk7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZVooMzYwZGVnKTtcbiAgfVxufVxuXG4uX2ljb25fMXllN2JfMjcge1xuICBjb2xvcjogdmFyKC0tY3BkLWNvbG9yLWljb24tc2Vjb25kYXJ5KTtcbiAgZGlzcGxheTogLXdlYmtpdC1pbmxpbmUtYm94O1xuICBkaXNwbGF5OiAtbXMtaW5saW5lLWZsZXhib3g7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAtd2Via2l0LWJveC1wYWNrOiBjZW50ZXI7XG4gICAgICAtbXMtZmxleC1wYWNrOiBjZW50ZXI7XG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7XG4gICAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGlubGluZS1zaXplOiAxMDAlO1xuICBibG9jay1zaXplOiAxMDAlO1xuICAtd2Via2l0LWFuaW1hdGlvbjogMXMgbGluZWFyIF9zcGluXzF5ZTdiXzEgaW5maW5pdGU7XG4gICAgICAgICAgYW5pbWF0aW9uOiAxcyBsaW5lYXIgX3NwaW5fMXllN2JfMSBpbmZpbml0ZTtcbn1cblxuLypcbkNvcHlyaWdodCAyMDIzLTIwMjQgTmV3IFZlY3RvciBMdGRcblxuTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbnlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbllvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuXG4gICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG5cblVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbmRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbldJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxubGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4qL1xuXG4uX2J1dHRvbl9pOTF4Zl8xNyB7XG4gIGJvcmRlci1yYWRpdXM6IDk5OTlweDtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tY3BkLXJhZGl1cy1waWxsLWVmZmVjdCk7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgICAgICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICBkaXNwbGF5OiBmbGV4O1xuICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO1xuICAgICAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAtd2Via2l0LWJveC1wYWNrOiBjZW50ZXI7XG4gICAgICAtbXMtZmxleC1wYWNrOiBjZW50ZXI7XG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGdhcDogdmFyKC0tY3BkLXNwYWNlLTJ4KTtcbiAgLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGZvbnQ6IHZhcigtLWNwZC1mb250LWJvZHktbWQtc2VtaWJvbGQpO1xuICAtd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246IDAuMXM7XG4gICAgICAgICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4xcztcbiAgLXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OiBjb2xvciwgYmFja2dyb3VuZC1jb2xvciwgYm9yZGVyLWNvbG9yO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiBjb2xvciwgYmFja2dyb3VuZC1jb2xvciwgYm9yZGVyLWNvbG9yO1xufVxuXG5hLl9idXR0b25faTkxeGZfMTcge1xuICAvKiBNYWtlIHRoZSB3aWR0aCBtYXRjaCB0aGF0IG9mIGEgcmVhbCBidXR0b24gKi9cbiAgaW5saW5lLXNpemU6IC13ZWJraXQtbWF4LWNvbnRlbnQ7XG4gIGlubGluZS1zaXplOiAtbW96LW1heC1jb250ZW50O1xuICBpbmxpbmUtc2l6ZTogbWF4LWNvbnRlbnQ7XG59XG5cbi5fYnV0dG9uX2k5MXhmXzE3ID4gc3ZnIHtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBjb2xvciAwLjFzO1xuICB0cmFuc2l0aW9uOiBjb2xvciAwLjFzO1xufVxuXG4uX2J1dHRvbl9pOTF4Zl8xN1thcmlhLWRpc2FibGVkPVwidHJ1ZVwiXSB7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gIHBvaW50ZXItZXZlbnRzOiBhbGwgIWltcG9ydGFudDtcbiAgY29sb3I6IHZhcigtLWNwZC1jb2xvci10ZXh0LWRpc2FibGVkKSAhaW1wb3J0YW50O1xufVxuXG4uX2J1dHRvbl9pOTF4Zl8xN1thcmlhLWRpc2FibGVkPVwidHJ1ZVwiXSA+IHN2ZyB7XG4gIGNvbG9yOiB2YXIoLS1jcGQtY29sb3ItaWNvbi1kaXNhYmxlZCkgIWltcG9ydGFudDtcbn1cblxuLyoqXG4gKiBTSVpFU1xuICovXG5cbi5fYnV0dG9uX2k5MXhmXzE3W2RhdGEtc2l6ZT1cImxnXCJdIHtcbiAgcGFkZGluZy1ibG9jazogdmFyKC0tY3BkLXNwYWNlLTJ4KTtcbiAgcGFkZGluZy1pbmxpbmU6IHZhcigtLWNwZC1zcGFjZS04eCk7XG4gIG1pbi1ibG9jay1zaXplOiB2YXIoLS1jcGQtc3BhY2UtMTJ4KTtcbn1cblxuLl9idXR0b25faTkxeGZfMTdbZGF0YS1zaXplPVwibGdcIl0uX2ljb24tb25seV9pOTF4Zl81OSB7XG4gICAgcGFkZGluZy1pbmxpbmU6IHZhcigtLWNwZC1zcGFjZS0yeCk7XG4gICAgYmxvY2stc2l6ZTogdmFyKC0tY3BkLXNwYWNlLTEyeCk7XG4gICAgaW5saW5lLXNpemU6IHZhcigtLWNwZC1zcGFjZS0xMngpO1xuICB9XG5cbi5fYnV0dG9uX2k5MXhmXzE3W2RhdGEtc2l6ZT1cImxnXCJdLl9oYXMtaWNvbl9pOTF4Zl82Njpub3QoLl9pY29uLW9ubHlfaTkxeGZfNTkpIHtcbiAgLXdlYmtpdC1wYWRkaW5nLXN0YXJ0OiB2YXIoLS1jcGQtc3BhY2UtN3gpO1xuICAgICAgICAgIHBhZGRpbmctaW5saW5lLXN0YXJ0OiB2YXIoLS1jcGQtc3BhY2UtN3gpO1xufVxuXG4uX2J1dHRvbl9pOTF4Zl8xN1tkYXRhLXNpemU9XCJzbVwiXSB7XG4gIHBhZGRpbmctYmxvY2s6IHZhcigtLWNwZC1zcGFjZS0xeCk7XG4gIHBhZGRpbmctaW5saW5lOiB2YXIoLS1jcGQtc3BhY2UtNXgpO1xuICBtaW4tYmxvY2stc2l6ZTogdmFyKC0tY3BkLXNwYWNlLTl4KTtcbn1cblxuLl9idXR0b25faTkxeGZfMTdbZGF0YS1zaXplPVwic21cIl0uX2ljb24tb25seV9pOTF4Zl81OSB7XG4gICAgcGFkZGluZy1pbmxpbmU6IHZhcigtLWNwZC1zcGFjZS0xeCk7XG4gICAgYmxvY2stc2l6ZTogdmFyKC0tY3BkLXNwYWNlLTl4KTtcbiAgICBpbmxpbmUtc2l6ZTogdmFyKC0tY3BkLXNwYWNlLTl4KTtcbiAgfVxuXG4uX2J1dHRvbl9pOTF4Zl8xN1tkYXRhLXNpemU9XCJzbVwiXS5faGFzLWljb25faTkxeGZfNjY6bm90KC5faWNvbi1vbmx5X2k5MXhmXzU5KSB7XG4gIC13ZWJraXQtcGFkZGluZy1zdGFydDogdmFyKC0tY3BkLXNwYWNlLTR4KTtcbiAgICAgICAgICBwYWRkaW5nLWlubGluZS1zdGFydDogdmFyKC0tY3BkLXNwYWNlLTR4KTtcbn1cblxuLyoqXG4gKiBLSU5EU1xuICovXG5cbi5fYnV0dG9uX2k5MXhmXzE3W2RhdGEta2luZD1cInByaW1hcnlcIl0ge1xuICBjb2xvcjogdmFyKC0tY3BkLWNvbG9yLXRleHQtb24tc29saWQtcHJpbWFyeSk7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNwZC1jb2xvci1iZy1hY3Rpb24tcHJpbWFyeS1yZXN0KTtcbiAgYm9yZGVyLXdpZHRoOiAwO1xufVxuXG4uX2J1dHRvbl9pOTF4Zl8xN1tkYXRhLWtpbmQ9XCJwcmltYXJ5XCJdID4gc3ZnIHtcbiAgY29sb3I6IHZhcigtLWNwZC1jb2xvci1pY29uLW9uLXNvbGlkLXByaW1hcnkpO1xufVxuXG5AbWVkaWEgKGhvdmVyKSB7XG4gIC5fYnV0dG9uX2k5MXhmXzE3W2RhdGEta2luZD1cInByaW1hcnlcIl06aG92ZXIge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNwZC1jb2xvci1iZy1hY3Rpb24tcHJpbWFyeS1ob3ZlcmVkKTtcbiAgfVxufVxuXG4uX2J1dHRvbl9pOTF4Zl8xN1tkYXRhLWtpbmQ9XCJwcmltYXJ5XCJdOmFjdGl2ZSxcbi5fYnV0dG9uX2k5MXhmXzE3W2RhdGEta2luZD1cInByaW1hcnlcIl1bYXJpYS1leHBhbmRlZD1cInRydWVcIl0ge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jcGQtY29sb3ItYmctYWN0aW9uLXByaW1hcnktcHJlc3NlZCk7XG59XG5cbi5fYnV0dG9uX2k5MXhmXzE3W2RhdGEta2luZD1cInByaW1hcnlcIl1bYXJpYS1kaXNhYmxlZD1cInRydWVcIl0ge1xuICAvKiAhaW1wb3J0YW50IHRvIG92ZXJyaWRlIGRlc3RydWN0aXZlIGJhY2tncm91bmQgKi9cbiAgYmFja2dyb3VuZDogdmFyKC0tY3BkLWNvbG9yLWJnLXN1YnRsZS1wcmltYXJ5KSAhaW1wb3J0YW50O1xufVxuXG4uX2J1dHRvbl9pOTF4Zl8xN1tkYXRhLWtpbmQ9XCJwcmltYXJ5XCJdLl9kZXN0cnVjdGl2ZV9pOTF4Zl8xMTYge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jcGQtY29sb3ItYmctY3JpdGljYWwtcHJpbWFyeSk7XG59XG5cbkBtZWRpYSAoaG92ZXIpIHtcbiAgLl9idXR0b25faTkxeGZfMTdbZGF0YS1raW5kPVwicHJpbWFyeVwiXS5fZGVzdHJ1Y3RpdmVfaTkxeGZfMTE2OmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jcGQtY29sb3ItYmctY3JpdGljYWwtaG92ZXJlZCk7XG4gIH1cbn1cblxuLl9idXR0b25faTkxeGZfMTdbZGF0YS1raW5kPVwicHJpbWFyeVwiXS5fZGVzdHJ1Y3RpdmVfaTkxeGZfMTE2OmFjdGl2ZSxcbi5fYnV0dG9uX2k5MXhmXzE3W2RhdGEta2luZD1cInByaW1hcnlcIl0uX2Rlc3RydWN0aXZlX2k5MXhmXzExNlthcmlhLWV4cGFuZGVkPVwidHJ1ZVwiXSB7XG4gIC8qIFRPRE86IFdlJ3JlIHdhaXRpbmcgZm9yIHRoaXMgdmFsdWUgdG8gYmUgZm9ybWFsaXplZCBhcyBhIHNlbWFudGljIHRva2VuICovXG4gIGJhY2tncm91bmQ6IHZhcigtLWNwZC1jb2xvci1yZWQtMTEwMCk7XG59XG5cbi5fYnV0dG9uX2k5MXhmXzE3W2RhdGEta2luZD1cInNlY29uZGFyeVwiXSB7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNwZC1jb2xvci1ib3JkZXItaW50ZXJhY3RpdmUtc2Vjb25kYXJ5KTtcbiAgY29sb3I6IHZhcigtLWNwZC1jb2xvci10ZXh0LXByaW1hcnkpO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jcGQtY29sb3ItYmctY2FudmFzLWRlZmF1bHQpO1xufVxuXG4uX2J1dHRvbl9pOTF4Zl8xN1tkYXRhLWtpbmQ9XCJzZWNvbmRhcnlcIl0gPiBzdmcge1xuICBjb2xvcjogdmFyKC0tY3BkLWNvbG9yLWljb24tcHJpbWFyeSk7XG59XG5cbkBtZWRpYSAoaG92ZXIpIHtcbiAgLl9idXR0b25faTkxeGZfMTdbZGF0YS1raW5kPVwic2Vjb25kYXJ5XCJdOmhvdmVyIHtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLWNwZC1jb2xvci1ib3JkZXItaW50ZXJhY3RpdmUtaG92ZXJlZCk7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY3BkLWNvbG9yLWJnLXN1YnRsZS1zZWNvbmRhcnkpO1xuICB9XG59XG5cbi5fYnV0dG9uX2k5MXhmXzE3W2RhdGEta2luZD1cInNlY29uZGFyeVwiXTphY3RpdmUsXG4uX2J1dHRvbl9pOTF4Zl8xN1tkYXRhLWtpbmQ9XCJzZWNvbmRhcnlcIl1bYXJpYS1leHBhbmRlZD1cInRydWVcIl0ge1xuICBib3JkZXItY29sb3I6IHZhcigtLWNwZC1jb2xvci1ib3JkZXItaW50ZXJhY3RpdmUtaG92ZXJlZCk7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNwZC1jb2xvci1iZy1zdWJ0bGUtcHJpbWFyeSk7XG59XG5cbi5fYnV0dG9uX2k5MXhmXzE3W2RhdGEta2luZD1cInNlY29uZGFyeVwiXVthcmlhLWRpc2FibGVkPVwidHJ1ZVwiXSB7XG4gIC8qICFpbXBvcnRhbnQgdG8gb3ZlcnJpZGUgZGVzdHJ1Y3RpdmUgdmFsdWVzICovXG4gIGJvcmRlci1jb2xvcjogdmFyKC0tY3BkLWNvbG9yLWJvcmRlci1pbnRlcmFjdGl2ZS1zZWNvbmRhcnkpICFpbXBvcnRhbnQ7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNwZC1jb2xvci1iZy1zdWJ0bGUtc2Vjb25kYXJ5KSAhaW1wb3J0YW50O1xufVxuXG4uX2J1dHRvbl9pOTF4Zl8xN1tkYXRhLWtpbmQ9XCJzZWNvbmRhcnlcIl0uX2Rlc3RydWN0aXZlX2k5MXhmXzExNiB7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0tY3BkLWNvbG9yLWJvcmRlci1jcml0aWNhbC1zdWJ0bGUpO1xuICBjb2xvcjogdmFyKC0tY3BkLWNvbG9yLXRleHQtY3JpdGljYWwtcHJpbWFyeSk7XG59XG5cbi5fYnV0dG9uX2k5MXhmXzE3W2RhdGEta2luZD1cInNlY29uZGFyeVwiXS5fZGVzdHJ1Y3RpdmVfaTkxeGZfMTE2ID4gc3ZnIHtcbiAgY29sb3I6IHZhcigtLWNwZC1jb2xvci1pY29uLWNyaXRpY2FsLXByaW1hcnkpO1xufVxuXG5AbWVkaWEgKGhvdmVyKSB7XG4gIC5fYnV0dG9uX2k5MXhmXzE3W2RhdGEta2luZD1cInNlY29uZGFyeVwiXS5fZGVzdHJ1Y3RpdmVfaTkxeGZfMTE2OmhvdmVyIHtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLWNwZC1jb2xvci1ib3JkZXItY3JpdGljYWwtaG92ZXJlZCk7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY3BkLWNvbG9yLWJnLWNyaXRpY2FsLXN1YnRsZSk7XG4gIH1cbn1cblxuLl9idXR0b25faTkxeGZfMTdbZGF0YS1raW5kPVwic2Vjb25kYXJ5XCJdLl9kZXN0cnVjdGl2ZV9pOTF4Zl8xMTY6YWN0aXZlLFxuLl9idXR0b25faTkxeGZfMTdbZGF0YS1raW5kPVwic2Vjb25kYXJ5XCJdLl9kZXN0cnVjdGl2ZV9pOTF4Zl8xMTZbYXJpYS1leHBhbmRlZD1cInRydWVcIl0ge1xuICBib3JkZXItY29sb3I6IHZhcigtLWNwZC1jb2xvci1ib3JkZXItY3JpdGljYWwtaG92ZXJlZCk7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNwZC1jb2xvci1iZy1jcml0aWNhbC1zdWJ0bGUtaG92ZXJlZCk7XG59XG5cbi5fYnV0dG9uX2k5MXhmXzE3W2RhdGEta2luZD1cInRlcnRpYXJ5XCJdIHtcbiAgYm9yZGVyOiBub25lO1xuICBjb2xvcjogdmFyKC0tY3BkLWNvbG9yLXRleHQtcHJpbWFyeSk7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbn1cblxuQG1lZGlhIChob3Zlcikge1xuICAuX2J1dHRvbl9pOTF4Zl8xN1tkYXRhLWtpbmQ9XCJ0ZXJ0aWFyeVwiXTpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY3BkLWNvbG9yLWJnLXN1YnRsZS1zZWNvbmRhcnkpO1xuICB9XG59XG5cbi5fYnV0dG9uX2k5MXhmXzE3W2RhdGEta2luZD1cInRlcnRpYXJ5XCJdOmFjdGl2ZSxcbi5fYnV0dG9uX2k5MXhmXzE3W2RhdGEta2luZD1cInRlcnRpYXJ5XCJdW2FyaWEtZXhwYW5kZWQ9XCJ0cnVlXCJdIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tY3BkLWNvbG9yLWJnLXN1YnRsZS1wcmltYXJ5KTtcbn1cblxuLl9idXR0b25faTkxeGZfMTdbZGF0YS1raW5kPVwidGVydGlhcnlcIl1bYXJpYS1kaXNhYmxlZD1cInRydWVcIl0ge1xuICBjb2xvcjogdmFyKC0tY3BkLWNvbG9yLXRleHQtZGlzYWJsZWQpO1xuXG4gIC8qICFpbXBvcnRhbnQgdG8gb3ZlcnJpZGUgZGVzdHJ1Y3RpdmUgYmFja2dyb3VuZCAqL1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xufVxuXG4uX2J1dHRvbl9pOTF4Zl8xN1tkYXRhLWtpbmQ9XCJ0ZXJ0aWFyeVwiXS5fZGVzdHJ1Y3RpdmVfaTkxeGZfMTE2IHtcbiAgY29sb3I6IHZhcigtLWNwZC1jb2xvci10ZXh0LWNyaXRpY2FsLXByaW1hcnkpO1xufVxuXG5AbWVkaWEgKGhvdmVyKSB7XG4gIC5fYnV0dG9uX2k5MXhmXzE3W2RhdGEta2luZD1cInRlcnRpYXJ5XCJdLl9kZXN0cnVjdGl2ZV9pOTF4Zl8xMTY6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNwZC1jb2xvci1iZy1jcml0aWNhbC1zdWJ0bGUpO1xuICB9XG59XG5cbi5fYnV0dG9uX2k5MXhmXzE3W2RhdGEta2luZD1cInRlcnRpYXJ5XCJdLl9kZXN0cnVjdGl2ZV9pOTF4Zl8xMTY6YWN0aXZlLFxuLl9idXR0b25faTkxeGZfMTdbZGF0YS1raW5kPVwidGVydGlhcnlcIl0uX2Rlc3RydWN0aXZlX2k5MXhmXzExNlthcmlhLWV4cGFuZGVkPVwidHJ1ZVwiXSB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNwZC1jb2xvci1iZy1jcml0aWNhbC1zdWJ0bGUtaG92ZXJlZCk7XG59XG5cbi8qXG5Db3B5cmlnaHQgMjAyMyBOZXcgVmVjdG9yIEx0ZFxuXG5MaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xueW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG5cbiAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcblxuVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG5TZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG5saW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiovXG5cbi5fY29udGFpbmVyXzFxb3Y0XzE3IHtcbiAgZGlzcGxheTogLXdlYmtpdC1pbmxpbmUtYm94O1xuICBkaXNwbGF5OiAtbXMtaW5saW5lLWZsZXhib3g7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5fY29udHJvbF8xcW92NF8yMiB7XG4gIC13ZWJraXQtYm94LWZsZXg6IDE7XG4gICAgICAtbXMtZmxleDogMTtcbiAgICAgICAgICBmbGV4OiAxO1xuICAtd2Via2l0LXBhZGRpbmctZW5kOiB2YXIoLS1jcGQtc3BhY2UtMTJ4KSAhaW1wb3J0YW50O1xuICAgICAgICAgIHBhZGRpbmctaW5saW5lLWVuZDogdmFyKC0tY3BkLXNwYWNlLTEyeCkgIWltcG9ydGFudDtcblxuICAvKiBGcm9tIHRoZSBmbGV4Ym94IHNwZWM6XG4gICAqICAgXCJCeSBkZWZhdWx0LCBmbGV4IGl0ZW1zIHdvbuKAmXQgc2hyaW5rIGJlbG93IHRoZWlyIG1pbmltdW0gY29udGVudCBzaXplXCJcbiAgICogVGhpcyBhbGxvd3MgdGhlIGVsZW1lbnQgdG8gc2hyaW5rIGxvd2VyIHRoYW4gaXRzIG5hdHVyYWwgZGVmYXVsdCBzaXplLlxuICAgKi9cbiAgbWluLWlubGluZS1zaXplOiAwO1xufVxuXG4uX2FjdGlvbl8xcW92NF8zMyB7XG4gIGFsbDogdW5zZXQ7XG4gIGNvbG9yOiB2YXIoLS1jcGQtY29sb3ItaWNvbi1zZWNvbmRhcnkpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGluc2V0LWJsb2NrOiB2YXIoLS1jcGQtc3BhY2UtMngpO1xuICBpbnNldC1pbmxpbmUtZW5kOiB2YXIoLS1jcGQtc3BhY2UtMngpO1xuICBwYWRkaW5nOiB2YXIoLS1jcGQtc3BhY2UtMXgpO1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xufVxuXG4uX2FjdGlvbl8xcW92NF8zMyA+IHN2ZyB7XG4gIGlubGluZS1zaXplOiB2YXIoLS1jcGQtc3BhY2UtNngpO1xuICBibG9jay1zaXplOiB2YXIoLS1jcGQtc3BhY2UtNngpO1xufVxuXG5AbWVkaWEgKGhvdmVyKSB7XG4gIC5fYWN0aW9uXzFxb3Y0XzMzOmhvdmVyIHtcbiAgICBjb2xvcjogdmFyKC0tY3BkLWNvbG9yLWljb24tcHJpbWFyeSk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY3BkLWNvbG9yLWJnLXN1YnRsZS1zZWNvbmRhcnkpO1xuICB9XG59XG5cbi5fYWN0aW9uXzFxb3Y0XzMzOmZvY3VzLXZpc2libGUge1xuICBvdXRsaW5lOiAycHggc29saWQgdmFyKC0tY3BkLWNvbG9yLWJvcmRlci1mb2N1c2VkKTtcbiAgb3V0bGluZS1vZmZzZXQ6IDFweDtcbn1cblxuLl9jb250cm9sXzFxb3Y0XzIyW2Rpc2FibGVkXSArIC5fYWN0aW9uXzFxb3Y0XzMzIHtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIGNvbG9yOiB2YXIoLS1jcGQtY29sb3ItdGV4dC1kaXNhYmxlZCk7XG59XG5cbi5fY29udHJvbF8xcW92NF8yMltyZWFkb25seV0gKyAuX2FjdGlvbl8xcW92NF8zMyB7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICBjb2xvcjogdmFyKC0tY3BkLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTtcbn1cblxuLypcbkNvcHlyaWdodCAyMDIzIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXG5Db3B5cmlnaHQgMjAyMyBOZXcgVmVjdG9yIEx0ZFxuXG5MaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xueW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG5cbmh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuXG5Vbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG5kaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG5XSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cblNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbmxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuKi9cblxuLl9jb250cm9sXzlnb244XzE4IHtcbiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tY3BkLWNvbG9yLWJvcmRlci1pbnRlcmFjdGl2ZS1wcmltYXJ5KTtcbiAgYmFja2dyb3VuZDogdmFyKC0tY3BkLWNvbG9yLWJnLWNhbnZhcy1kZWZhdWx0KTtcbiAgYm9yZGVyLXJhZGl1czogMC41cmVtO1xuICBwYWRkaW5nOiB2YXIoLS1jcGQtc3BhY2UtM3gpIHZhcigtLWNwZC1zcGFjZS00eCk7XG4gIC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXG4gIC8qKlxuICAqIERpc2FibGUgY29udGV4dHVhbCBhbHRlcm5hdGUgbGlnYXR1cmVzIGluIGlucHV0c1xuICAqIGh0dHBzOi8vZ2l0aHViLmNvbS9yc21zL2ludGVyL2lzc3Vlcy8yMjJcbiAgKiBodHRwczovL2dpdGh1Yi5jb20vcnNtcy9pbnRlci9ibG9iL21hc3Rlci9zcmMvZmVhdHVyZXMvY2FsdC5mZWFcbiAgKi9cbiAgLXdlYmtpdC1mb250LWZlYXR1cmUtc2V0dGluZ3M6IFwiY2FsdFwiIDA7XG4gICAgICAgICAgZm9udC1mZWF0dXJlLXNldHRpbmdzOiBcImNhbHRcIiAwO1xufVxuXG5AbWVkaWEgKGhvdmVyKSB7XG4gIC5fY29udHJvbF85Z29uOF8xODpob3ZlciB7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jcGQtY29sb3ItYm9yZGVyLWludGVyYWN0aXZlLWhvdmVyZWQpO1xuXG4gICAgLyoqIFRPRE86IGhhdmUgdGhlIHNoYWRvdyBpbiB0aGUgZGVzaWduIHRva2VucyAqL1xuICAgIC13ZWJraXQtYm94LXNoYWRvdzogMCAxLjJweCAyLjRweCAwIHJnYigwIDAgMCAvIDE1JSk7XG4gICAgICAgICAgICBib3gtc2hhZG93OiAwIDEuMnB4IDIuNHB4IDAgcmdiKDAgMCAwIC8gMTUlKTtcbiAgfVxufVxuXG4uX2NvbnRyb2xfOWdvbjhfMTg6YWN0aXZlIHtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jcGQtY29sb3ItYm9yZGVyLWludGVyYWN0aXZlLWhvdmVyZWQpO1xufVxuXG4uX2NvbnRyb2xfOWdvbjhfMTg6Zm9jdXMge1xuICBvdXRsaW5lOiAycHggc29saWQgdmFyKC0tY3BkLWNvbG9yLWJvcmRlci1mb2N1c2VkKTtcbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cblxuLl9jb250cm9sXzlnb244XzE4W2RhdGEtaW52YWxpZF0ge1xuICBib3JkZXItY29sb3I6IHZhcigtLWNwZC1jb2xvci10ZXh0LWNyaXRpY2FsLXByaW1hcnkpO1xufVxuXG4uX2NvbnRyb2xfOWdvbjhfMTg6ZGlzYWJsZWQge1xuICAtd2Via2l0LWJveC1zaGFkb3c6IG5vbmU7XG4gICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgYmFja2dyb3VuZDogdmFyKC0tY3BkLWNvbG9yLWJnLWNhbnZhcy1kaXNhYmxlZCk7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0tY3BkLWNvbG9yLWJvcmRlci1kaXNhYmxlZCk7XG4gIGNvbG9yOiB2YXIoLS1jcGQtY29sb3ItdGV4dC1kaXNhYmxlZCk7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XG59XG5cbi5fY29udHJvbF85Z29uOF8xOFtyZWFkb25seV0ge1xuICAtd2Via2l0LWJveC1zaGFkb3c6IG5vbmU7XG4gICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgYmFja2dyb3VuZDogdmFyKC0tY3BkLWNvbG9yLWJnLXN1YnRsZS1zZWNvbmRhcnkpO1xuICBib3JkZXItY29sb3I6IHZhcigtLWNwZC1jb2xvci1iZy1zdWJ0bGUtc2Vjb25kYXJ5KTtcbiAgY29sb3I6IHZhcigtLWNwZC1jb2xvci10ZXh0LXNlY29uZGFyeSk7XG59XG5cbi5fY29udHJvbF85Z29uOF8xOC5fZW5hYmxlLWxpZ2F0dXJlc185Z29uOF83MCB7XG4gIC13ZWJraXQtZm9udC1mZWF0dXJlLXNldHRpbmdzOiBcImtlcm5cIiAxLCBcImxpZ2FcIiAxLCBcImNhbHRcIiAxO1xuICAgICAgICAgIGZvbnQtZmVhdHVyZS1zZXR0aW5nczogXCJrZXJuXCIgMSwgXCJsaWdhXCIgMSwgXCJjYWx0XCIgMTtcbiAgLXdlYmtpdC1mb250LWZlYXR1cmUtc2V0dGluZ3M6IHZhcigtLWNwZC1mb250LWZlYXR1cmUtc2V0dGluZ3MpO1xuICAgICAgICAgIGZvbnQtZmVhdHVyZS1zZXR0aW5nczogdmFyKC0tY3BkLWZvbnQtZmVhdHVyZS1zZXR0aW5ncyk7XG59XG5cbi8qXG5Db3B5cmlnaHQgMjAyMyBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxuQ29weXJpZ2h0IDIwMjMgTmV3IFZlY3RvciBMdGRcblxuTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbnlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbllvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuXG4gICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG5cblVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbmRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbldJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxubGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4qL1xuXG4uX2NvbnRhaW5lcl85enl0aV8xOCB7XG4gIC0tZ2FwOiB2YXIoLS1jcGQtc3BhY2UtM3gpO1xuICAtLWRpZ2l0LXNpemU6IHZhcigtLWNwZC1zcGFjZS0xMHgpO1xuICAtLWRpZ2l0LWhlaWdodDogdmFyKC0tY3BkLXNwYWNlLTEyeCk7XG5cbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG5cbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XG5cbiAgZGlzcGxheTogZmxleDtcbiAgaW5saW5lLXNpemU6IC13ZWJraXQtZml0LWNvbnRlbnQ7XG4gIGlubGluZS1zaXplOiAtbW96LWZpdC1jb250ZW50O1xuICBpbmxpbmUtc2l6ZTogZml0LWNvbnRlbnQ7XG4gIC13ZWJraXQtYm94LW9yaWVudDogaG9yaXpvbnRhbDtcbiAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiBub3JtYWw7XG4gICAgICAtbXMtZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBnYXA6IHZhcigtLWdhcCk7XG5cbiAgLyogVGhlIGlucHV0IGlzIHBvc2l0aW9uZWQgYWJzb2x1dGVseVxuICAgICBzbyB0aGUgY29udGFpbmVyIG5lZWRzIHRvIGJlIHBvc2l0aW9uZWQgcmVsYXRpdmVseSAqL1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5fY29udHJvbF85enl0aV8zMyB7XG4gIGFsbDogdW5zZXQ7XG5cbiAgLyoqIFRPRE86IHNlbWFudGljIHRva2VuICovXG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1jcGQtZm9udC1mYW1pbHktbW9ubyksIHVpLW1vbm9zcGFjZSwgbW9ub3NwYWNlO1xuICBmb250LXdlaWdodDogNzAwO1xuXG4gIC8qIFBvc2l0aW9uIHRoZSBpbnB1dCB0byBmaWxsIHRoZSBjb250YWluZXIgKi9cbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBpbnNldDogMDtcblxuICAvKiBTcGFjaW5nIGJldHdlZW4gZGlnaXRzIGlzIHNldCB0byB0aGUgZ2FwXG4gICAgIHBsdXMgdGhlIHNpemUgb2Ygb25lIGRpZ2l0IGJveFxuICAgICBtaW51cyB0aGUgc2l6ZSBvZiBvbmUgY2hhcmFjdGVyICovXG4gIGxldHRlci1zcGFjaW5nOiBjYWxjKHZhcigtLWdhcCkgKyB2YXIoLS1kaWdpdC1zaXplKSAtIDFjaCk7XG4gIGxpbmUtaGVpZ2h0OiB2YXIoLS1kaWdpdC1oZWlnaHQpO1xuXG4gIC8qIFRoZSBwYWRkaW5nIGF0IHRoZSBzdGFydCBwb3NpdGlvbnMgdGhlIGZpcnN0IGRpZ2l0IGF0IHRoZSBtaWRkbGUgb2YgdGhlIGRpZ2l0IGJveCAqL1xuICAtd2Via2l0LXBhZGRpbmctc3RhcnQ6IGNhbGModmFyKC0tY3BkLXNwYWNlLTEweCkgLyAyIC0gKDFjaCAvIDIpKTtcbiAgICAgICAgICBwYWRkaW5nLWlubGluZS1zdGFydDogY2FsYyh2YXIoLS1jcGQtc3BhY2UtMTB4KSAvIDIgLSAoMWNoIC8gMikpO1xuXG4gIC8qIFRoZSBuZWdhdGl2ZSBtYXJnaW4gYXQgdGhlIGVuZCBpcyB0byBrZWVwIHNwYWNlIGZvciB0aGUgY3Vyc29yIHdoZW4gdGhlIGlucHV0IGlzIGZ1bGwgKi9cbiAgLXdlYmtpdC1tYXJnaW4tZW5kOiBjYWxjKC0xICogKHZhcigtLWNwZC1zcGFjZS0xMHgpICsgdmFyKC0tY3BkLXNwYWNlLTN4KSkpO1xuICAgICAgICAgIG1hcmdpbi1pbmxpbmUtZW5kOiBjYWxjKC0xICogKHZhcigtLWNwZC1zcGFjZS0xMHgpICsgdmFyKC0tY3BkLXNwYWNlLTN4KSkpO1xufVxuXG4uX2RpZ2l0Xzl6eXRpXzU3IHtcbiAgLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGlubGluZS1zaXplOiB2YXIoLS1jcGQtc3BhY2UtMTB4KTtcbiAgYmxvY2stc2l6ZTogdmFyKC0tY3BkLXNwYWNlLTEyeCk7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNwZC1jb2xvci1ib3JkZXItaW50ZXJhY3RpdmUtcHJpbWFyeSk7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNwZC1jb2xvci1iZy1jYW52YXMtZGVmYXVsdCk7XG4gIGJvcmRlci1yYWRpdXM6IDAuNXJlbTtcbiAgcGFkZGluZzogdmFyKC0tY3BkLXNwYWNlLTN4KSB2YXIoLS1jcGQtc3BhY2UtNHgpO1xufVxuXG5AbWVkaWEgKGhvdmVyKSB7XG4gIC5fY29udHJvbF85enl0aV8zMzpob3ZlciB+IC5fZGlnaXRfOXp5dGlfNTcge1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tY3BkLWNvbG9yLWJvcmRlci1pbnRlcmFjdGl2ZS1ob3ZlcmVkKTtcblxuICAgIC8qKiBUT0RPOiBoYXZlIHRoZSBzaGFkb3cgaW4gdGhlIGRlc2lnbiB0b2tlbnMgKi9cbiAgICAtd2Via2l0LWJveC1zaGFkb3c6IDAgMS4ycHggMi40cHggMCByZ2IoMCAwIDAgLyAxNSUpO1xuICAgICAgICAgICAgYm94LXNoYWRvdzogMCAxLjJweCAyLjRweCAwIHJnYigwIDAgMCAvIDE1JSk7XG4gIH1cbn1cblxuLl9jb250cm9sXzl6eXRpXzMzOmRpc2FibGVkIHtcbiAgY29sb3I6IHZhcigtLWNwZC1jb2xvci10ZXh0LWRpc2FibGVkKTtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbn1cblxuLl9jb250cm9sXzl6eXRpXzMzOmRpc2FibGVkIH4gLl9kaWdpdF85enl0aV81NyB7XG4gIC13ZWJraXQtYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jcGQtY29sb3ItYmctY2FudmFzLWRpc2FibGVkKTtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jcGQtY29sb3ItYm9yZGVyLWRpc2FibGVkKTtcbn1cblxuLl9jb250cm9sXzl6eXRpXzMzW3JlYWRvbmx5XSB7XG4gIGNvbG9yOiB2YXIoLS1jcGQtY29sb3ItdGV4dC1zZWNvbmRhcnkpO1xufVxuXG4uX2NvbnRyb2xfOXp5dGlfMzNbcmVhZG9ubHldIH4gLl9kaWdpdF85enl0aV81NyB7XG4gIC13ZWJraXQtYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jcGQtY29sb3ItYmctc3VidGxlLXNlY29uZGFyeSk7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0tY3BkLWNvbG9yLWJnLXN1YnRsZS1zZWNvbmRhcnkpO1xufVxuXG4uX2NvbnRyb2xfOXp5dGlfMzNbZGF0YS1pbnZhbGlkXSB+IC5fZGlnaXRfOXp5dGlfNTcge1xuICBib3JkZXItY29sb3I6IHZhcigtLWNwZC1jb2xvci10ZXh0LWNyaXRpY2FsLXByaW1hcnkpO1xufVxuXG4uX2NvbnRyb2xfOXp5dGlfMzM6Zm9jdXMgfiAuX2RpZ2l0Xzl6eXRpXzU3Om5vdChbZGF0YS1maWxsZWRdKSB7XG4gIG91dGxpbmU6IDJweCBzb2xpZCB2YXIoLS1jcGQtY29sb3ItYm9yZGVyLWZvY3VzZWQpO1xuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xufVxuXG4uX2RpZ2l0Xzl6eXRpXzU3W2RhdGEtc2VsZWN0ZWRdIHtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jcGQtY29sb3ItYm9yZGVyLWZvY3VzZWQpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jcGQtY29sb3ItYmctaW5mby1zdWJ0bGUpO1xufVxuXG4vKlxuQ29weXJpZ2h0IDIwMjMgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cbkNvcHlyaWdodCAyMDIzIE5ldyBWZWN0b3IgTHRkXG5cbkxpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG55b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG5Zb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcblxuICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuXG5Vbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG5kaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG5XSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cblNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbmxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuKi9cblxuLl9jb250YWluZXJfMXdsb3FfMTgge1xuICAtLXNpemU6IDIwcHg7XG5cbiAgZGlzcGxheTogZ3JpZDtcbiAgaW5saW5lLXNpemU6IDIwcHg7XG4gIGlubGluZS1zaXplOiB2YXIoLS1zaXplKTtcbiAgYmxvY2stc2l6ZTogMjBweDtcbiAgYmxvY2stc2l6ZTogdmFyKC0tc2l6ZSk7XG59XG5cbi5faW5wdXRfMXdsb3FfMjYsXG4uX3VpXzF3bG9xXzI3IHtcbiAgLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGdyaWQtYXJlYTogMS8xO1xuICBpbmxpbmUtc2l6ZTogdmFyKC0tc2l6ZSk7XG4gIGJsb2NrLXNpemU6IHZhcigtLXNpemUpO1xufVxuXG4uX2lucHV0XzF3bG9xXzI2IHtcbiAgb3BhY2l0eTogMDtcbiAgbWFyZ2luOiAwO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi5fdWlfMXdsb3FfMjcge1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgYm9yZGVyLXJhZGl1czogNHB4OyAvKiBUT0RPOiBPdWdodCB0byBiZSBhIHRva2VuICovXG4gIGJvcmRlcjogMXB4IHNvbGlkO1xuICBib3JkZXItY29sb3I6IHZhcigtLWNwZC1jb2xvci1ib3JkZXItaW50ZXJhY3RpdmUtcHJpbWFyeSk7XG5cbiAgLyoqIERlZmF1bHQsIHJlc3Qgc3RhdGUgKi9cbiAgY29sb3I6IHRyYW5zcGFyZW50O1xufVxuXG4uX3VpXzF3bG9xXzI3IHN2ZyB7XG4gIGlubGluZS1zaXplOiB2YXIoLS1zaXplKTtcbiAgYmxvY2stc2l6ZTogdmFyKC0tc2l6ZSk7XG5cbiAgLyogY29tcGVuc2F0ZSBmb3IgdGhlIHBhcmVudCBib3JkZXIgKi9cbiAgbWFyZ2luOiAtMXB4O1xufVxuXG4uX2lucHV0XzF3bG9xXzI2OmNoZWNrZWQgKyAuX3VpXzF3bG9xXzI3IHtcbiAgY29sb3I6IHZhcigtLWNwZC1jb2xvci1pY29uLW9uLXNvbGlkLXByaW1hcnkpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jcGQtY29sb3ItYmctYWNjZW50LXJlc3QpO1xuICBib3JkZXItY29sb3I6IHZhcigtLWNwZC1jb2xvci1iZy1hY2NlbnQtcmVzdCk7XG59XG5cbi5faW5wdXRfMXdsb3FfMjY6Zm9jdXMtdmlzaWJsZSArIC5fdWlfMXdsb3FfMjcge1xuICBvdXRsaW5lOiAycHggc29saWQgdmFyKC0tY3BkLWNvbG9yLWJvcmRlci1mb2N1c2VkKTtcbiAgb3V0bGluZS1vZmZzZXQ6IDFweDtcbn1cblxuLl9pbnB1dF8xd2xvcV8yNltkaXNhYmxlZF0gKyAuX3VpXzF3bG9xXzI3IHtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jcGQtY29sb3ItYm9yZGVyLWRpc2FibGVkKTtcbiAgYmFja2dyb3VuZDogdmFyKC0tY3BkLWNvbG9yLWJnLWNhbnZhcy1kaXNhYmxlZCk7XG59XG5cbi5faW5wdXRfMXdsb3FfMjZbcmVhZG9ubHldIHtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5cbi5faW5wdXRfMXdsb3FfMjZbcmVhZG9ubHldICsgLl91aV8xd2xvcV8yNyB7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0tY3BkLWNvbG9yLWJvcmRlci1pbnRlcmFjdGl2ZS1zZWNvbmRhcnkpO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jcGQtY29sb3ItYmctc3VidGxlLXNlY29uZGFyeSk7XG59XG5cbi5faW5wdXRfMXdsb3FfMjZbZGlzYWJsZWRdOmNoZWNrZWQgKyAuX3VpXzF3bG9xXzI3IHtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jcGQtY29sb3ItYmctYWN0aW9uLXByaW1hcnktZGlzYWJsZWQpO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jcGQtY29sb3ItYmctYWN0aW9uLXByaW1hcnktZGlzYWJsZWQpO1xufVxuXG4uX2lucHV0XzF3bG9xXzI2W3JlYWRvbmx5XTpjaGVja2VkICsgLl91aV8xd2xvcV8yNyB7XG4gIGNvbG9yOiB2YXIoLS1jcGQtY29sb3ItaWNvbi1zZWNvbmRhcnkpO1xufVxuXG5AbWVkaWEgKGhvdmVyKSB7XG4gIC5faW5wdXRfMXdsb3FfMjY6bm90KFtkaXNhYmxlZF0sIFtyZWFkb25seV0sIDpjaGVja2VkKTpob3ZlciArIC5fdWlfMXdsb3FfMjcge1xuICAgIGNvbG9yOiB2YXIoLS1jcGQtY29sb3ItaWNvbi1xdWF0ZXJuYXJ5KTtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLWNwZC1jb2xvci1iZy1hY2NlbnQtaG92ZXJlZCk7XG5cbiAgICAvKiogVE9ETzogaGF2ZSB0aGUgc2hhZG93IGluIHRoZSBkZXNpZ24gdG9rZW5zICovXG4gICAgLXdlYmtpdC1ib3gtc2hhZG93OiAwIDEuMnB4IDIuNHB4IDAgcmdiKDAgMCAwIC8gMTUlKTtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgMS4ycHggMi40cHggMCByZ2IoMCAwIDAgLyAxNSUpO1xuICB9XG5cbiAgLl9pbnB1dF8xd2xvcV8yNjpub3QoW2Rpc2FibGVkXSwgW3JlYWRvbmx5XSk6Y2hlY2tlZDpob3ZlciArIC5fdWlfMXdsb3FfMjcge1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tY3BkLWNvbG9yLWJnLWFjY2VudC1ob3ZlcmVkKTtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jcGQtY29sb3ItYmctYWNjZW50LWhvdmVyZWQpO1xuICB9XG5cbiAgLl9pbnB1dF8xd2xvcV8yNltkYXRhLWludmFsaWRdOm5vdChbZGlzYWJsZWRdLCBbcmVhZG9ubHldKTpjaGVja2VkOmhvdmVyICsgLl91aV8xd2xvcV8yNyB7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jcGQtY29sb3ItYmctY3JpdGljYWwtaG92ZXJlZCk7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY3BkLWNvbG9yLWJnLWNyaXRpY2FsLWhvdmVyZWQpO1xuICB9XG59XG5cbi5faW5wdXRfMXdsb3FfMjZbZGF0YS1pbnZhbGlkXTpub3QoW2Rpc2FibGVkXSwgOmNoZWNrZWQsIFtyZWFkb25seV0pICsgLl91aV8xd2xvcV8yNyB7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0tY3BkLWNvbG9yLWJvcmRlci1jcml0aWNhbC1wcmltYXJ5KTtcbn1cblxuLl9pbnB1dF8xd2xvcV8yNltkYXRhLWludmFsaWRdOm5vdChbZGlzYWJsZWRdLCBbcmVhZG9ubHldKTpjaGVja2VkICsgLl91aV8xd2xvcV8yNyB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNwZC1jb2xvci1iZy1jcml0aWNhbC1wcmltYXJ5KTtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jcGQtY29sb3ItYmctY3JpdGljYWwtcHJpbWFyeSk7XG59XG5cbi8qXG5Db3B5cmlnaHQgMjAyMyBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxuQ29weXJpZ2h0IDIwMjMgTmV3IFZlY3RvciBMdGRcblxuTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbnlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbllvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuXG4gICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG5cblVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbmRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbldJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxubGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4qL1xuXG4uX2NvbnRhaW5lcl8xdnc1aF8xOCB7XG4gIC0tc2l6ZTogMjBweDtcblxuICBkaXNwbGF5OiBncmlkO1xuICBpbmxpbmUtc2l6ZTogMjBweDtcbiAgaW5saW5lLXNpemU6IHZhcigtLXNpemUpO1xuICBibG9jay1zaXplOiAyMHB4O1xuICBibG9jay1zaXplOiB2YXIoLS1zaXplKTtcbn1cblxuLl9pbnB1dF8xdnc1aF8yNixcbi5fdWlfMXZ3NWhfMjcge1xuICAtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgZ3JpZC1hcmVhOiAxLzE7XG4gIGlubGluZS1zaXplOiB2YXIoLS1zaXplKTtcbiAgYmxvY2stc2l6ZTogdmFyKC0tc2l6ZSk7XG59XG5cbi5faW5wdXRfMXZ3NWhfMjYge1xuICBvcGFjaXR5OiAwO1xuICBtYXJnaW46IDA7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLl91aV8xdnc1aF8yNyB7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIGJvcmRlcjogMXB4IHNvbGlkO1xuICBib3JkZXItY29sb3I6IHZhcigtLWNwZC1jb2xvci1ib3JkZXItaW50ZXJhY3RpdmUtcHJpbWFyeSk7XG5cbiAgLyogVG8gYWxpZ24gdGhlIDo6YWZ0ZXIgcHNldWRvLWVsZW1lbnQgdG8gdGhlIGNlbnRlciBvZiB0aGUgcmFkaW8gYnV0dG9uICovXG4gIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgZGlzcGxheTogZmxleDtcbiAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjtcbiAgICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgLXdlYmtpdC1ib3gtcGFjazogY2VudGVyO1xuICAgICAgLW1zLWZsZXgtcGFjazogY2VudGVyO1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuXG4uX3VpXzF2dzVoXzI3OjphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGlubGluZS1zaXplOiA2cHg7XG4gIGJsb2NrLXNpemU6IDZweDtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbn1cblxuLl9pbnB1dF8xdnc1aF8yNjpjaGVja2VkICsgLl91aV8xdnc1aF8yNyB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNwZC1jb2xvci1iZy1hY2NlbnQtcmVzdCk7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0tY3BkLWNvbG9yLWJnLWFjY2VudC1yZXN0KTtcbn1cblxuLl9pbnB1dF8xdnc1aF8yNjpjaGVja2VkICsgLl91aV8xdnc1aF8yNzo6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jcGQtY29sb3ItaWNvbi1vbi1zb2xpZC1wcmltYXJ5KTtcbn1cblxuLl9pbnB1dF8xdnc1aF8yNjpmb2N1cy12aXNpYmxlICsgLl91aV8xdnc1aF8yNyB7XG4gIG91dGxpbmU6IDJweCBzb2xpZCB2YXIoLS1jcGQtY29sb3ItYm9yZGVyLWZvY3VzZWQpO1xuICBvdXRsaW5lLW9mZnNldDogMXB4O1xufVxuXG4uX2lucHV0XzF2dzVoXzI2W3JlYWRvbmx5XSB7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuXG4uX2lucHV0XzF2dzVoXzI2W3JlYWRvbmx5XSArIC5fdWlfMXZ3NWhfMjcge1xuICBib3JkZXItY29sb3I6IHZhcigtLWNwZC1jb2xvci1ib3JkZXItaW50ZXJhY3RpdmUtc2Vjb25kYXJ5KTtcbiAgYmFja2dyb3VuZDogdmFyKC0tY3BkLWNvbG9yLWJnLXN1YnRsZS1zZWNvbmRhcnkpO1xufVxuXG4uX2lucHV0XzF2dzVoXzI2W2Rpc2FibGVkXSArIC5fdWlfMXZ3NWhfMjcge1xuICBib3JkZXItY29sb3I6IHZhcigtLWNwZC1jb2xvci1ib3JkZXItZGlzYWJsZWQpO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jcGQtY29sb3ItYmctY2FudmFzLWRpc2FibGVkKTtcbn1cblxuLl9pbnB1dF8xdnc1aF8yNltkaXNhYmxlZF06Y2hlY2tlZCArIC5fdWlfMXZ3NWhfMjcge1xuICBib3JkZXItY29sb3I6IHZhcigtLWNwZC1jb2xvci1iZy1hY3Rpb24tcHJpbWFyeS1kaXNhYmxlZCk7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNwZC1jb2xvci1iZy1hY3Rpb24tcHJpbWFyeS1kaXNhYmxlZCk7XG59XG5cbi5faW5wdXRfMXZ3NWhfMjZbcmVhZG9ubHldOmNoZWNrZWQgKyAuX3VpXzF2dzVoXzI3OjphZnRlciB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNwZC1jb2xvci1pY29uLXNlY29uZGFyeSk7XG59XG5cbkBtZWRpYSAoaG92ZXIpIHtcbiAgLl9pbnB1dF8xdnc1aF8yNjpub3QoW2Rpc2FibGVkXSwgW3JlYWRvbmx5XSwgOmNoZWNrZWQpOmhvdmVyICsgLl91aV8xdnc1aF8yNyB7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jcGQtY29sb3ItYmctYWNjZW50LWhvdmVyZWQpO1xuXG4gICAgLyoqIFRPRE86IGhhdmUgdGhlIHNoYWRvdyBpbiB0aGUgZGVzaWduIHRva2VucyAqL1xuICAgIC13ZWJraXQtYm94LXNoYWRvdzogMCAxLjJweCAyLjRweCAwIHJnYigwIDAgMCAvIDE1JSk7XG4gICAgICAgICAgICBib3gtc2hhZG93OiAwIDEuMnB4IDIuNHB4IDAgcmdiKDAgMCAwIC8gMTUlKTtcbiAgfVxuXG4gIC5faW5wdXRfMXZ3NWhfMjY6bm90KFtkaXNhYmxlZF0sIFtyZWFkb25seV0sIDpjaGVja2VkKTpob3ZlciArIC5fdWlfMXZ3NWhfMjc6OmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jcGQtY29sb3ItaWNvbi1xdWF0ZXJuYXJ5KTtcbiAgfVxuXG4gIC5faW5wdXRfMXZ3NWhfMjY6bm90KFtkaXNhYmxlZF0sIFtyZWFkb25seV0pOmNoZWNrZWQ6aG92ZXIgKyAuX3VpXzF2dzVoXzI3IHtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLWNwZC1jb2xvci1iZy1hY2NlbnQtaG92ZXJlZCk7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY3BkLWNvbG9yLWJnLWFjY2VudC1ob3ZlcmVkKTtcbiAgfVxuXG4gIC5faW5wdXRfMXZ3NWhfMjZbZGF0YS1pbnZhbGlkXTpub3QoW2Rpc2FibGVkXSwgW3JlYWRvbmx5XSk6Y2hlY2tlZDpob3ZlciArIC5fdWlfMXZ3NWhfMjcge1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tY3BkLWNvbG9yLWJnLWNyaXRpY2FsLWhvdmVyZWQpO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNwZC1jb2xvci1iZy1jcml0aWNhbC1ob3ZlcmVkKTtcbiAgfVxufVxuXG4uX2lucHV0XzF2dzVoXzI2W2RhdGEtaW52YWxpZF06bm90KFtkaXNhYmxlZF0sIFtyZWFkb25seV0sIDpjaGVja2VkKSArIC5fdWlfMXZ3NWhfMjcge1xuICBib3JkZXItY29sb3I6IHZhcigtLWNwZC1jb2xvci1ib3JkZXItY3JpdGljYWwtcHJpbWFyeSk7XG59XG5cbi5faW5wdXRfMXZ3NWhfMjZbZGF0YS1pbnZhbGlkXTpub3QoW2Rpc2FibGVkXSwgW3JlYWRvbmx5XSk6Y2hlY2tlZCArIC5fdWlfMXZ3NWhfMjcge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jcGQtY29sb3ItYmctY3JpdGljYWwtcHJpbWFyeSk7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0tY3BkLWNvbG9yLWJnLWNyaXRpY2FsLXByaW1hcnkpO1xufVxuXG4vKlxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGRcblxuTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbnlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbllvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuXG4gICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG5cblVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbmRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbldJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxubGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4qL1xuXG4uX2NvbnRyb2xzXzFoNG5iXzE3IHtcbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICBkaXNwbGF5OiBmbGV4O1xuICBnYXA6IDE1cHg7XG59XG5cbi5fY29udHJvbHNfMWg0bmJfMTcgPiBpbnB1dCB7XG4gICAgLXdlYmtpdC1ib3gtZmxleDogMTtcbiAgICAgICAgLW1zLWZsZXg6IDE7XG4gICAgICAgICAgICBmbGV4OiAxO1xuICAgIG1pbi1pbmxpbmUtc2l6ZTogMDtcbiAgfVxuXG4uX2J1dHRvbi1ncm91cF8xaDRuYl8yNyB7XG4gIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgZGlzcGxheTogZmxleDtcbiAgaW5zZXQtYmxvY2stc3RhcnQ6IHZhcigtLWNwZC1zcGFjZS0xeCk7XG4gIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7XG4gICAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogdmFyKC0tY3BkLXNwYWNlLTJ4KTtcbn1cblxuLypcbkNvcHlyaWdodCAyMDIzIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXG5Db3B5cmlnaHQgMjAyMyBOZXcgVmVjdG9yIEx0ZFxuXG5MaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xueW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG5cbiAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcblxuVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG5TZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG5saW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiovXG5cbjpyb290IHtcbiAgLS1jcGQtcmFkaXVzLXBpbGwtZWZmZWN0OiA5OTk5cHg7XG5cbiAgLyogRGVmYXVsdCBpY29uIGFuZCBhdmF0YXIgc2l6ZSAqL1xuICAtLWNwZC1pY29uLWJ1dHRvbi1zaXplOiB2YXIoLS1jcGQtc3BhY2UtOHgpO1xuICAtLWNwZC1hdmF0YXItc2l6ZTogdmFyKC0tY3BkLXNwYWNlLTE2eCk7XG5cbiAgLyoqXG4gICogV2Ugd2FudCB0byBhcHBseSBJbnRlciBEeW5hbWljIG1ldHJpY3MgKGh0dHBzOi8vcnNtcy5tZS9pbnRlci9keW5tZXRyaWNzLylcbiAgKiBXZSBuZWVkIHRvIHR3ZWFrIHRoZSBgbGV0dGVyLXNwYWNpbmdgIHByb3BlcnR5IGFuZCBkb2luZyBzbywgZGlzYWJsZXMgYnlcbiAgKiBkZWZhdWx0IHRoZSBvcHRpb25hbCBsaWdhdHVyZXNcbiAgKiBgZm9udC1mZWF0dXJlLXNldHRpbmdzYCBhbGxvd3MgdXMgdG8gb3ZlcnJpZGUgdGhpcyBiZWhhdmlvdXIgYW5kIGhhdmUgdGhlXG4gICogY29ycmVjdCBsaWdhdHVyZXMgYW5kIHRoZSBwcm9wZXIgZHluYW1pYyBtZXRyaWMgc3BhY2luZy5cbiAgKi9cbiAgLS1jcGQtZm9udC1mZWF0dXJlLXNldHRpbmdzOiBcImtlcm5cIiAxLCBcImxpZ2FcIiAxLCBcImNhbHRcIiAxO1xuICAtLWNwZC1zZXBhcmF0b3Itc3BhY2luZzogdmFyKC0tY3BkLXNwYWNlLTJ4KTtcbiAgLS1jcGQtc2VwYXJhdG9yLWluc2V0OiAwO1xufVxuXG5odG1sLFxuYm9keSxcbmlucHV0IHtcbiAgZm9udDogdmFyKC0tY3BkLWZvbnQtYm9keS1tZC1yZWd1bGFyKTtcbiAgY29sb3I6IHZhcigtLWNwZC1jb2xvci10ZXh0LXByaW1hcnkpO1xuICAtd2Via2l0LWZvbnQtZmVhdHVyZS1zZXR0aW5nczogXCJrZXJuXCIgMSwgXCJsaWdhXCIgMSwgXCJjYWx0XCIgMTtcbiAgICAgICAgICBmb250LWZlYXR1cmUtc2V0dGluZ3M6IFwia2VyblwiIDEsIFwibGlnYVwiIDEsIFwiY2FsdFwiIDE7XG4gIC13ZWJraXQtZm9udC1mZWF0dXJlLXNldHRpbmdzOiB2YXIoLS1jcGQtZm9udC1mZWF0dXJlLXNldHRpbmdzKTtcbiAgICAgICAgICBmb250LWZlYXR1cmUtc2V0dGluZ3M6IHZhcigtLWNwZC1mb250LWZlYXR1cmUtc2V0dGluZ3MpO1xufVxuXG5odG1sLFxuYm9keSB7XG4gIGJsb2NrLXNpemU6IDEwMCU7XG4gIGZvbnQtc2l6ZTogdmFyKC0tY3BkLWZvbnQtc2l6ZS1yb290KTtcbn1cblxuYm9keSB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNwZC1jb2xvci1iZy1jYW52YXMtZGVmYXVsdCk7XG59XG5cbi8qXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZFxuXG5MaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xueW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG5cbiAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcblxuVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG5TZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG5saW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiovXG5cbi5fY29udGVudF9tZDAxNl8xNyB7XG4gIGRpc3BsYXk6IC13ZWJraXQtaW5saW5lLWJveDtcbiAgZGlzcGxheTogLW1zLWlubGluZS1mbGV4Ym94O1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY3BkLWNvbG9yLWJnLXN1YnRsZS1zZWNvbmRhcnkpO1xuICBwYWRkaW5nOiB2YXIoLS1jcGQtc3BhY2UtNHgpO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1jcGQtc3BhY2UtMngpO1xuICBjb2xvcjogdmFyKC0tY3BkLWNvbG9yLWljb24tc2Vjb25kYXJ5KTtcbn1cblxuLl9jb250ZW50X21kMDE2XzE3ID4gc3ZnIHtcbiAgICBpbmxpbmUtc2l6ZTogMzJweDtcbiAgICBibG9jay1zaXplOiAzMnB4O1xuICB9XG5cbi5fY29udGVudF9tZDAxNl8xN1tkYXRhLXNpemU9XCJtZWRpdW1cIl0ge1xuICBwYWRkaW5nOiB2YXIoLS1jcGQtc3BhY2UtM3gpO1xufVxuXG4uX2NvbnRlbnRfbWQwMTZfMTdbZGF0YS1zaXplPVwic21hbGxcIl0ge1xuICBwYWRkaW5nOiB2YXIoLS1jcGQtc3BhY2UtM3gpO1xufVxuXG4uX2NvbnRlbnRfbWQwMTZfMTdbZGF0YS1zaXplPVwic21hbGxcIl0gPiBzdmcge1xuICAgIGlubGluZS1zaXplOiAyNHB4O1xuICAgIGJsb2NrLXNpemU6IDI0cHg7XG4gIH1cblxuLl9kZXN0cnVjdGl2ZV9tZDAxNl80MyB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNwZC1jb2xvci1iZy1jcml0aWNhbC1zdWJ0bGUpO1xuICBjb2xvcjogdmFyKC0tY3BkLWNvbG9yLWljb24tY3JpdGljYWwtcHJpbWFyeSk7XG59XG5cbi5fc3VjY2Vzc19tZDAxNl80OCB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNwZC1jb2xvci1iZy1zdWNjZXNzLXN1YnRsZSk7XG4gIGNvbG9yOiB2YXIoLS1jcGQtY29sb3ItaWNvbi1zdWNjZXNzLXByaW1hcnkpO1xufVxuXG4vKiBDb3B5cmlnaHQgMjAyMyBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG4uX25hdi1iYXJfMTM1ZHlfMTYge1xuICAtd2Via2l0LWJvcmRlci1hZnRlcjogdmFyKC0tY3BkLWJvcmRlci13aWR0aC0xKSBzb2xpZCB2YXIoLS1jcGQtY29sb3ItZ3JheS00MDApO1xuICAgICAgICAgIGJvcmRlci1ibG9jay1lbmQ6IHZhcigtLWNwZC1ib3JkZXItd2lkdGgtMSkgc29saWQgdmFyKC0tY3BkLWNvbG9yLWdyYXktNDAwKTtcbiAgbWFyZ2luOiB2YXIoLS1jcGQtc3BhY2UtNngpIDA7XG4gIHBhZGRpbmc6IDA7XG59XG5cbi5fbmF2LWJhci1pdGVtc18xMzVkeV8yMiB7XG4gIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgZGlzcGxheTogZmxleDtcbiAgLXdlYmtpdC1ib3gtb3JpZW50OiBob3Jpem9udGFsO1xuICAtd2Via2l0LWJveC1kaXJlY3Rpb246IG5vcm1hbDtcbiAgICAgIC1tcy1mbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIC13ZWJraXQtYm94LXBhY2s6IHN0YXJ0O1xuICAgICAgLW1zLWZsZXgtcGFjazogc3RhcnQ7XG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO1xuICAgICAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IHZhcigtLWNwZC1zcGFjZS0zeCk7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMDtcbn1cblxuLl9uYXYtdGFiXzEzNWR5XzMzIHtcbiAgcGFkZGluZzogdmFyKC0tY3BkLXNwYWNlLTR4KSAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi8qIFVuZGVybGluZSBlZmZlY3QgKi9cblxuLl9uYXYtdGFiXzEzNWR5XzMzOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlwiO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGluc2V0LWJsb2NrLWVuZDogMDtcbiAgaW5zZXQtaW5saW5lOiAwO1xuICBibG9jay1zaXplOiAwO1xuICBib3JkZXItcmFkaXVzOiA5OTk5cHggOTk5OXB4IDAgMDtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tY3BkLXJhZGl1cy1waWxsLWVmZmVjdCkgdmFyKC0tY3BkLXJhZGl1cy1waWxsLWVmZmVjdCkgMCAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jcGQtY29sb3ItYmctYWN0aW9uLXByaW1hcnktcmVzdCk7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogaGVpZ2h0IDAuMXMgZWFzZS1pbi1vdXQ7XG4gIHRyYW5zaXRpb246IGhlaWdodCAwLjFzIGVhc2UtaW4tb3V0O1xufVxuXG4uX25hdi10YWJfMTM1ZHlfMzNbZGF0YS1jdXJyZW50XTo6YmVmb3JlIHtcbiAgLyogVGhpcyBpcyBub3QgZXhhY3RseSByaWdodDogZGVzaWducyBzYXlzIDNweCwgYnV0IHRoZXJlIGFyZSBubyB2YXJpYWJsZXMgZm9yIHRoYXQgKi9cbiAgYmxvY2stc2l6ZTogdmFyKC0tY3BkLWJvcmRlci13aWR0aC00KTtcbn1cblxuLl9uYXYtaXRlbV8xMzVkeV81NSB7XG4gIHBhZGRpbmctYmxvY2s6IHZhcigtLWNwZC1zcGFjZS0xeCk7XG4gIHBhZGRpbmctaW5saW5lOiB2YXIoLS1jcGQtc3BhY2UtMngpO1xuICBib3JkZXItcmFkaXVzOiA5OTk5cHg7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLWNwZC1yYWRpdXMtcGlsbC1lZmZlY3QpO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xuICAgICAgICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgZGlzcGxheTogZmxleDtcbiAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjtcbiAgICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgLXdlYmtpdC1ib3gtcGFjazogY2VudGVyO1xuICAgICAgLW1zLWZsZXgtcGFjazogY2VudGVyO1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBnYXA6IHZhcigtLWNwZC1zcGFjZS0yeCk7XG4gIC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyOiAwO1xuICBmb250OiB2YXIoLS1jcGQtZm9udC1ib2R5LW1kLW1lZGl1bSk7XG4gIGNvbG9yOiB2YXIoLS1jcGQtY29sb3ItdGV4dC1zZWNvbmRhcnkpO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbkBtZWRpYSAoaG92ZXIpIHtcbiAgLl9uYXYtaXRlbV8xMzVkeV81NTpub3QoW2Rpc2FibGVkXSk6aG92ZXIge1xuICAgIGNvbG9yOiB2YXIoLS1jcGQtY29sb3ItdGV4dC1wcmltYXJ5KTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jcGQtY29sb3ItYmctc3VidGxlLXNlY29uZGFyeSk7XG4gIH1cbn1cblxuLl9uYXYtaXRlbV8xMzVkeV81NTpmb2N1cy12aXNpYmxlIHtcbiAgb3V0bGluZTogdmFyKC0tY3BkLWNvbG9yLWJvcmRlci1mb2N1c2VkKSB2YXIoLS1jcGQtYm9yZGVyLXdpZHRoLTIpIHNvbGlkO1xufVxuXG4uX25hdi1pdGVtXzEzNWR5XzU1Om5vdChbZGlzYWJsZWRdKTphY3RpdmUge1xuICBjb2xvcjogdmFyKC0tY3BkLWNvbG9yLXRleHQtcHJpbWFyeSk7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNwZC1jb2xvci1iZy1zdWJ0bGUtcHJpbWFyeSk7XG59XG5cbi5fbmF2LWl0ZW1fMTM1ZHlfNTVbYXJpYS1jdXJyZW50XSxcbi5fbmF2LWl0ZW1fMTM1ZHlfNTVbYXJpYS1zZWxlY3RlZD1cInRydWVcIl0ge1xuICBjb2xvcjogdmFyKC0tY3BkLWNvbG9yLXRleHQtcHJpbWFyeSk7XG59XG5cbi5fbmF2LWl0ZW1fMTM1ZHlfNTVbZGlzYWJsZWRdIHtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDtcblxuICAvKiBFbmFibGUgcG9pbnRlciBldmVudHMgZm9yIHN2Z3MgZXZlbiB3aXRoIGZpbGw9bm9uZSAqL1xuICBwb2ludGVyLWV2ZW50czogYWxsICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiB2YXIoLS1jcGQtY29sb3ItdGV4dC1kaXNhYmxlZCk7XG59XG5cbi8qXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZFxuXG5MaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xueW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG5cbiAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcblxuVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG5TZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG5saW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiovXG5cbi5fY29udGVudF8xb2ExeV8xNyB7XG4gIC8qIDMyMHB4ICsgMjBweCBwYWRkaW5nIGxlZnQgKyAyMHB4IHBhZGRpbmcgcmlnaHQgKi9cbiAgbWF4LWlubGluZS1zaXplOiAzMjBweDtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tY3BkLXNwYWNlLTN4KTtcbiAgYmFja2dyb3VuZDogdmFyKC0tY3BkLWNvbG9yLWJnLWFjdGlvbi1wcmltYXJ5LXJlc3QpO1xuICBwYWRkaW5nOiB2YXIoLS1jcGQtc3BhY2UtNXgpIHZhcigtLWNwZC1zcGFjZS02eCk7XG5cbiAgLyogZnJvbSBmaWdtYSAqL1xuICAtd2Via2l0LWJveC1zaGFkb3c6IDAgNHB4IDI0cHggMCByZ2IoMCAwIDAgLyAxMCUpO1xuICAgICAgICAgIGJveC1zaGFkb3c6IDAgNHB4IDI0cHggMCByZ2IoMCAwIDAgLyAxMCUpO1xuXG4gIC8qXG4gICogR3JpZCwgd2Ugd2FudCB0byBoYXZlIHRoZSBmb2xsb3dpbmcgbGF5b3V0OlxuICAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgKiAtICAtLS0tLS0tLS0tLS0tLS0gICAtLS0tLS0tLS0tICAtXG4gICogLSAgfCBoZWFkaW5nICAgICB8ICAgfCAgICAgICAgfCAgLVxuICAqIC0gIC0tLS0tLS0tLS0tLS0tICAgIHwgYnV0dG9uIHwgIC1cbiAgKiAtICAtLS0tLS0tLS0tLS0tLS0gICB8IGJ1dHRvbiB8ICAtXG4gICogLSAgfCBkZXNjcmlwdGlvbiB8ICAgfCAgICAgICAgfCAgLVxuICAqIC0gIC0tLS0tLS0tLS0tLS0tLSAgIC0tLS0tLS0tLS0gIC1cbiAgKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICovXG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtdGVtcGxhdGU6XG4gICAgXCJoZWFkZXIgYnV0dG9uXCIgYXV0b1xuICAgIFwiZGVzY3JpcHRpb24gYnV0dG9uXCIgYXV0bztcbiAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjtcbiAgICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ3JpZC1jb2x1bW4tZ2FwOiB2YXIoLS1jcGQtc3BhY2UtNngpO1xuICAtd2Via2l0LWNvbHVtbi1nYXA6IHZhcigtLWNwZC1zcGFjZS02eCk7XG4gICAgIC1tb3otY29sdW1uLWdhcDogdmFyKC0tY3BkLXNwYWNlLTZ4KTtcbiAgICAgICAgICBjb2x1bW4tZ2FwOiB2YXIoLS1jcGQtc3BhY2UtNngpO1xufVxuXG4uX2hlYWRlcl8xb2ExeV80NiB7XG4gIG1hcmdpbjogMDtcbiAgY29sb3I6IHZhcigtLWNwZC1jb2xvci10ZXh0LW9uLXNvbGlkLXByaW1hcnkpO1xuICBncmlkLWFyZWE6IGhlYWRlcjtcbn1cblxuLl9kZXNjcmlwdGlvbl8xb2ExeV81MiB7XG4gIGNvbG9yOiB2YXIoLS1jcGQtY29sb3ItZ3JheS01MDApO1xuICBncmlkLWFyZWE6IGRlc2NyaXB0aW9uO1xufVxuXG4uX2J1dHRvbl8xb2ExeV81NyB7XG4gIGNvbG9yOiB2YXIoLS1jcGQtY29sb3ItYmctc3VidGxlLXNlY29uZGFyeSk7XG4gIGdyaWQtYXJlYTogYnV0dG9uO1xufVxuXG4uX2Fycm93XzFvYTF5XzYyIHtcbiAgZmlsbDogdmFyKC0tY3BkLWNvbG9yLWJnLWFjdGlvbi1wcmltYXJ5LXJlc3QpO1xufVxuXG4vKlxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGRcblxuTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbnlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbllvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuXG4gICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG5cblVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbmRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbldJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxubGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4qL1xuXG4uX2NvbnRhaW5lcl8xYmdsMV8xNyB7XG4gIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgZGlzcGxheTogZmxleDtcbiAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcbiAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiBub3JtYWw7XG4gICAgICAtbXMtZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xufVxuXG4uX2NvbnRhaW5lcl8xYmdsMV8xNyBsYWJlbCB7XG4gICAgZm9udDogdmFyKC0tY3BkLWZvbnQtYm9keS1tZC1tZWRpdW0pO1xuICAgIC13ZWJraXQtbWFyZ2luLWFmdGVyOiB2YXIoLS1jcGQtc3BhY2UtMXgpO1xuICAgICAgICAgICAgbWFyZ2luLWJsb2NrLWVuZDogdmFyKC0tY3BkLXNwYWNlLTF4KTtcbiAgfVxuXG4uX2NvbnRhaW5lcl8xYmdsMV8xNyBidXR0b24ge1xuICAgIGlubGluZS1zaXplOiAxMDAlO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNwZC1jb2xvci1ib3JkZXItaW50ZXJhY3RpdmUtcHJpbWFyeSk7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY3BkLWNvbG9yLWJnLWNhbnZhcy1kZWZhdWx0KTtcbiAgICBib3JkZXItcmFkaXVzOiAwLjVyZW07XG4gICAgcGFkZGluZzogdmFyKC0tY3BkLXNwYWNlLTN4KSB2YXIoLS1jcGQtc3BhY2UtM3gpIHZhcigtLWNwZC1zcGFjZS0zeClcbiAgICAgIHZhcigtLWNwZC1zcGFjZS00eCk7XG4gICAgLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBjb2xvcjogdmFyKC0tY3BkLWNvbG9yLXRleHQtcHJpbWFyeSk7XG4gICAgZm9udDogdmFyKC0tY3BkLWZvbnQtYm9keS1tZC1yZWd1bGFyKTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gICAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICAtd2Via2l0LWJveC1wYWNrOiBqdXN0aWZ5O1xuICAgICAgICAtbXMtZmxleC1wYWNrOiBqdXN0aWZ5O1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogdmFyKC0tY3BkLXNwYWNlLTR4KTtcbiAgfVxuXG4uX2NvbnRhaW5lcl8xYmdsMV8xNyBidXR0b24gc3ZnIHtcbiAgICAgIC13ZWJraXQtdHJhbnNpdGlvbjogLXdlYmtpdC10cmFuc2Zvcm0gMC4xcyBsaW5lYXI7XG4gICAgICB0cmFuc2l0aW9uOiAtd2Via2l0LXRyYW5zZm9ybSAwLjFzIGxpbmVhcjtcbiAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjFzIGxpbmVhcjtcbiAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjFzIGxpbmVhciwgLXdlYmtpdC10cmFuc2Zvcm0gMC4xcyBsaW5lYXI7XG4gICAgfVxuXG4vKipcbiAgICogV2hlbiB0aGUgZHJvcGRvd24gaXMgb3Blbiwgcm90YXRlIHRoZSBhcnJvdyBpY29uXG4gICAqL1xuXG4uX2NvbnRhaW5lcl8xYmdsMV8xNyBidXR0b25bYXJpYS1leHBhbmRlZD1cInRydWVcIl0gc3ZnIHtcbiAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbiAgICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbiAgICB9XG5cbi5fY29udGFpbmVyXzFiZ2wxXzE3IGJ1dHRvbi5fcGxhY2Vob2xkZXJfMWJnbDFfNTYge1xuICAgIGNvbG9yOiB2YXIoLS1jcGQtY29sb3ItdGV4dC1zZWNvbmRhcnkpO1xuICB9XG5cbi5fY29udGFpbmVyXzFiZ2wxXzE3IC5fYm9yZGVyXzFiZ2wxXzYwIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIC13ZWJraXQtYm9yZGVyLXN0YXJ0OiAxcHggc29saWQgdmFyKC0tY3BkLWNvbG9yLWJvcmRlci1pbnRlcmFjdGl2ZS1zZWNvbmRhcnkpO1xuICAgICAgICAgICAgYm9yZGVyLWlubGluZS1zdGFydDogMXB4IHNvbGlkIHZhcigtLWNwZC1jb2xvci1ib3JkZXItaW50ZXJhY3RpdmUtc2Vjb25kYXJ5KTtcbiAgICAtd2Via2l0LWJvcmRlci1lbmQ6IDFweCBzb2xpZCB2YXIoLS1jcGQtY29sb3ItYm9yZGVyLWludGVyYWN0aXZlLXNlY29uZGFyeSk7XG4gICAgICAgICAgICBib3JkZXItaW5saW5lLWVuZDogMXB4IHNvbGlkIHZhcigtLWNwZC1jb2xvci1ib3JkZXItaW50ZXJhY3RpdmUtc2Vjb25kYXJ5KTtcbiAgICBibG9jay1zaXplOiB2YXIoLS1jcGQtc3BhY2UtMXgpO1xuICAgIC13ZWJraXQtbWFyZ2luLWJlZm9yZTogY2FsYyh2YXIoLS1jcGQtc3BhY2UtMXgpICogLTEpO1xuICAgICAgICAgICAgbWFyZ2luLWJsb2NrLXN0YXJ0OiBjYWxjKHZhcigtLWNwZC1zcGFjZS0xeCkgKiAtMSk7XG4gICAgLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgfVxuXG4uX2NvbnRhaW5lcl8xYmdsMV8xNyAuX2NvbnRlbnRfMWJnbDFfNjkge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB9XG5cbi5fY29udGFpbmVyXzFiZ2wxXzE3IC5fY29udGVudF8xYmdsMV82OSB1bCB7XG4gICAgICAvKipcbiAgICAgICAqIFRvIG1ha2UgdGhlIGNvbXBvbmVudCBnb2luZyBvdmVyIHRoZSBvdGhlciBlbGVtZW50c1xuICAgICAgICovXG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGlubGluZS1zaXplOiAxMDAlO1xuICAgICAgYmFja2dyb3VuZDogdmFyKC0tY3BkLWNvbG9yLWJnLWNhbnZhcy1kZWZhdWx0KTtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNwZC1jb2xvci1ib3JkZXItaW50ZXJhY3RpdmUtc2Vjb25kYXJ5KTtcbiAgICAgIC13ZWJraXQtYm9yZGVyLWJlZm9yZTogMDtcbiAgICAgICAgICAgICAgYm9yZGVyLWJsb2NrLXN0YXJ0OiAwO1xuICAgICAgYm9yZGVyLWVuZC1zdGFydC1yYWRpdXM6IHZhcigtLWNwZC1zcGFjZS00eCk7XG4gICAgICBib3JkZXItZW5kLWVuZC1yYWRpdXM6IHZhcigtLWNwZC1zcGFjZS00eCk7XG4gICAgICAtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAtd2Via2l0LWJveC1zaGFkb3c6IDAgNHB4IDI0cHggMCByZ2IoMjcgMjkgMzQgLyAxMCUpO1xuICAgICAgICAgICAgICBib3gtc2hhZG93OiAwIDRweCAyNHB4IDAgcmdiKDI3IDI5IDM0IC8gMTAlKTtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAtd2Via2l0LXBhZGRpbmctYWZ0ZXI6IHZhcigtLWNwZC1zcGFjZS00eCk7XG4gICAgICAgICAgICAgIHBhZGRpbmctYmxvY2stZW5kOiB2YXIoLS1jcGQtc3BhY2UtNHgpO1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIH1cblxuLl9jb250YWluZXJfMWJnbDFfMTcgLl9jb250ZW50XzFiZ2wxXzY5IHVsIGxpIHtcbiAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgICAgZm9udDogdmFyKC0tY3BkLWZvbnQtYm9keS1tZC1tZWRpdW0pO1xuICAgICAgICBwYWRkaW5nOiB2YXIoLS1jcGQtc3BhY2UtM3gpIHZhcigtLWNwZC1zcGFjZS00eCk7XG4gICAgICAgIC13ZWJraXQtYm9yZGVyLWFmdGVyOiAxcHggc29saWQgdmFyKC0tY3BkLWNvbG9yLWdyYXktMzAwKTtcbiAgICAgICAgICAgICAgICBib3JkZXItYmxvY2stZW5kOiAxcHggc29saWQgdmFyKC0tY3BkLWNvbG9yLWdyYXktMzAwKTtcbiAgICAgICAgY29sb3I6IHZhcigtLWNwZC1jb2xvci10ZXh0LXNlY29uZGFyeSk7XG4gICAgICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICAgICAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgLXdlYmtpdC1ib3gtcGFjazoganVzdGlmeTtcbiAgICAgICAgICAgIC1tcy1mbGV4LXBhY2s6IGp1c3RpZnk7XG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBnYXA6IHZhcigtLWNwZC1zcGFjZS00eCk7XG4gICAgICB9XG5cbkBtZWRpYSAoaG92ZXIpIHtcbiAgICAgICAgICAuX2NvbnRhaW5lcl8xYmdsMV8xNyAuX2NvbnRlbnRfMWJnbDFfNjkgdWwgbGk6aG92ZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tY3BkLWNvbG9yLWdyYXktMjAwKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuLl9jb250YWluZXJfMWJnbDFfMTcgLl9jb250ZW50XzFiZ2wxXzY5IHVsIGxpW2FyaWEtc2VsZWN0ZWQ9XCJ0cnVlXCJdIHtcbiAgICAgICAgICBjb2xvcjogdmFyKC0tY3BkLWNvbG9yLXRleHQtcHJpbWFyeSk7XG4gICAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tY3BkLWNvbG9yLWdyYXktMzAwKTtcbiAgICAgICAgfVxuXG4uX2NvbnRhaW5lcl8xYmdsMV8xNyAuX29wZW5fMWJnbDFfMTE3IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuXG4uX2NvbnRhaW5lcl8xYmdsMV8xNyAuX2hlbHBfMWJnbDFfMTIxIHtcbiAgICBmb250OiB2YXIoLS1jcGQtZm9udC1ib2R5LXNtLXJlZ3VsYXIpO1xuICAgIGNvbG9yOiB2YXIoLS1jcGQtY29sb3ItdGV4dC1zZWNvbmRhcnkpO1xuICB9XG5cbi5fY29udGFpbmVyXzFiZ2wxXzE3IC5fZXJyb3JfMWJnbDFfMTI2IHtcbiAgICBmb250OiB2YXIoLS1jcGQtZm9udC1ib2R5LXNtLW1lZGl1bSk7XG4gICAgY29sb3I6IHZhcigtLWNwZC1jb2xvci10ZXh0LWNyaXRpY2FsLXByaW1hcnkpO1xuICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZ2FwOiB2YXIoLS1jcGQtc3BhY2UtMngpO1xuICB9XG5cbi5fY29udGFpbmVyXzFiZ2wxXzE3IC5fZXJyb3JfMWJnbDFfMTI2LFxuICAuX2NvbnRhaW5lcl8xYmdsMV8xNyAuX2hlbHBfMWJnbDFfMTIxIHtcbiAgICAtd2Via2l0LW1hcmdpbi1iZWZvcmU6IHZhcigtLWNwZC1zcGFjZS0yeCk7XG4gICAgICAgICAgICBtYXJnaW4tYmxvY2stc3RhcnQ6IHZhcigtLWNwZC1zcGFjZS0yeCk7XG4gIH1cblxuLl9jb250YWluZXJfMWJnbDFfMTdbYXJpYS1pbnZhbGlkPVwidHJ1ZVwiXSBsYWJlbCB7XG4gICAgICBjb2xvcjogdmFyKC0tY3BkLWNvbG9yLXRleHQtY3JpdGljYWwtcHJpbWFyeSk7XG4gICAgfVxuXG4uX2NvbnRhaW5lcl8xYmdsMV8xN1thcmlhLWludmFsaWQ9XCJ0cnVlXCJdIGJ1dHRvbiB7XG4gICAgICBib3JkZXItY29sb3I6IHZhcigtLWNwZC1jb2xvci10ZXh0LWNyaXRpY2FsLXByaW1hcnkpO1xuICAgIH1cblxuLypcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkXG5cbkxpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG55b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG5Zb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcblxuICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuXG5Vbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG5kaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG5XSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cblNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbmxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuKi9cblxuLl9icmVhZGNydW1iX2lrcGJiXzE3IHtcbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICBkaXNwbGF5OiBmbGV4O1xuICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO1xuICAgICAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBibG9jay1zaXplOiA0MHB4O1xuICBnYXA6IHZhcigtLWNwZC1zcGFjZS0zeCk7XG4gIC13ZWJraXQtcGFkZGluZy1hZnRlcjogdmFyKC0tY3BkLXNwYWNlLTN4KTtcbiAgICAgICAgICBwYWRkaW5nLWJsb2NrLWVuZDogdmFyKC0tY3BkLXNwYWNlLTN4KTtcbiAgLXdlYmtpdC1ib3JkZXItYWZ0ZXI6IDFweCBzb2xpZCB2YXIoLS1jcGQtY29sb3ItYWxwaGEtZ3JheS00MDApO1xuICAgICAgICAgIGJvcmRlci1ibG9jay1lbmQ6IDFweCBzb2xpZCB2YXIoLS1jcGQtY29sb3ItYWxwaGEtZ3JheS00MDApO1xuICAtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbn1cblxuLl9icmVhZGNydW1iX2lrcGJiXzE3IC5fcGFnZXNfaWtwYmJfMjYge1xuICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZ2FwOiB2YXIoLS1jcGQtc3BhY2UtMXgpO1xuXG4gICAgLyogb3ZlcnJpZGUgbGlzdCBzdHlsZXMgKi9cbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG5cbi5fYnJlYWRjcnVtYl9pa3BiYl8xNyAuX3BhZ2VzX2lrcGJiXzI2IGEge1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIH1cblxuLl9icmVhZGNydW1iX2lrcGJiXzE3IC5fcGFnZXNfaWtwYmJfMjYgLl9sYXN0LXBhZ2VfaWtwYmJfMzkge1xuICAgICAgZm9udDogdmFyKC0tY3BkLWZvbnQtYm9keS1zbS1yZWd1bGFyKTtcbiAgICAgIGNvbG9yOiB2YXIoLS1jcGQtY29sb3ItdGV4dC1zZWNvbmRhcnkpO1xuICAgIH1cblxuLypcbiAgICAgKiBCcmVhZGNydW1iIHNlcGFyYXRvclxuICAgICAqIFdlIHdhbnQgdGhpcyBzZXBhcmF0b3IgdG8gYmUgb25seSB2aXN1YWwgYW5kIHRvIG5vdCBiZSBpbiB0aGUgYWNjZXNzaWJpbGl0eSB0cmVlLlxuICAgICAqIFRoZSBuYXYgaHRtbCBlbGVtZW50IGFscmVhZHkgcHJvdmlkZXMgYW4gYWNjZXNzaWJsZSB3YXkgdG8gc2VwYXJhdGUgdGhlIGxpbmtzLlxuICAgICAqL1xuXG4uX2JyZWFkY3J1bWJfaWtwYmJfMTcgLl9wYWdlc19pa3BiYl8yNiBsaSArIGxpOjpiZWZvcmUge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgbWFyZ2luOiAwIDAuM2VtIDAgMC4yNWVtO1xuICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgxNWRlZyk7XG4gICAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDE1ZGVnKTtcbiAgICAgIC13ZWJraXQtYm9yZGVyLWVuZDogMXB4IHNvbGlkIHZhcigtLWNwZC1jb2xvci10ZXh0LXNlY29uZGFyeSk7XG4gICAgICAgICAgICAgIGJvcmRlci1pbmxpbmUtZW5kOiAxcHggc29saWQgdmFyKC0tY3BkLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTtcbiAgICAgIGJsb2NrLXNpemU6IHZhcigtLWNwZC1zcGFjZS0zeCk7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgIH1cblxuLyogTGFzdCBwYWdlICovXG5cbi5fYnJlYWRjcnVtYl9pa3BiYl8xNyAuX3BhZ2VzX2lrcGJiXzI2IDpsYXN0LWNoaWxkIHNwYW4ge1xuICAgICAgICAtd2Via2l0LXBhZGRpbmctc3RhcnQ6IHZhcigtLWNwZC1zcGFjZS0xeCk7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1pbmxpbmUtc3RhcnQ6IHZhcigtLWNwZC1zcGFjZS0xeCk7XG4gICAgICB9XG5cbi8qXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cbkNvcHlyaWdodCAyMDIyIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXG5cblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cbiovXG5cbi8qIFNDU1MgdmFyaWFibGVzIHJlcHJlc2VudGluZyBhIHJhbmdlIG9mIHN0YW5kYXJkIGxlbmd0aHMuXG4gKlxuICogQXZvaWQgdXNpbmcgdGhlc2UgaW4gbmV3IGNvZGU6IHdlIGNhbm5vdCBhZGp1c3QgdGhlaXIgdmFsdWVzIHdpdGhvdXQgY2F1c2luZyBtYXNzaXZlIGNvbmZ1c2lvbiwgc28gdGhleSBhcmVcbiAqIGVmZmVjdGl2ZWx5IGVxdWl2YWxlbnQgdG8gdXNpbmcgaGFyZGNvZGVkIHZhbHVlcy5cbiAqXG4gKiBJbiBmdXR1cmUsIHdlIHBsYW4gdG8gaW50cm9kdWNlIHZhcmlhYmxlcyBuYW1lZCBhY2NvcmRpbmcgdG8gdGhlaXIgcHVycG9zZSByYXRoZXIgdGhhbiB0aGVpciBzaXplLiBBZGRpdGlvbmFsbHksXG4gKiB3ZSB3YW50IHN3aXRjaCB0byBjdXN0b20gQ1NTIHByb3BlcnRpZXMgKGh0dHBzOi8vZ2l0aHViLmNvbS92ZWN0b3ItaW0vZWxlbWVudC13ZWIvaXNzdWVzLzIxNjU2KSwgc28gd2UgbWlnaHQgaGF2ZVxuICogYC0tc3BhY2luZy1zdGFuZGFyZGAgb3Igc29tZXRoaW5nLiBGb3Igbm93LCB5b3UgbWlnaHQgYXMgd2VsbCB1c2UgaGFyZGNvZGVkIHB4IHZhbHVlcyBmb3IgbGVuZ3RocyAoZXhjZXB0IGZvciBmb250XG4gKiBzaXplcywgZm9yIHdoaWNoIHNlZSB0aGUgYCRmb250LTxOPnB4YCB2YXJpYWJsZXMpLlxuICovXG5cbi5tYXBsaWJyZWdsLW1hcHtmb250OjEycHgvMjBweCBIZWx2ZXRpY2EgTmV1ZSxBcmlhbCxIZWx2ZXRpY2Esc2Fucy1zZXJpZjtvdmVyZmxvdzpoaWRkZW47cG9zaXRpb246cmVsYXRpdmU7LXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOnJnYigwIDAgMC8wKX1cblxuLm1hcGxpYnJlZ2wtY2FudmFze2xlZnQ6MDtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MH1cblxuLm1hcGxpYnJlZ2wtbWFwOi13ZWJraXQtZnVsbC1zY3JlZW57aGVpZ2h0OjEwMCU7d2lkdGg6MTAwJX1cblxuLm1hcGxpYnJlZ2wtbWFwOi1tcy1mdWxsc2NyZWVue2hlaWdodDoxMDAlO3dpZHRoOjEwMCV9XG5cbi5tYXBsaWJyZWdsLW1hcDpmdWxsc2NyZWVue2hlaWdodDoxMDAlO3dpZHRoOjEwMCV9XG5cbi5tYXBsaWJyZWdsLWN0cmwtZ3JvdXAgYnV0dG9uLm1hcGxpYnJlZ2wtY3RybC1jb21wYXNzey1tcy10b3VjaC1hY3Rpb246bm9uZTt0b3VjaC1hY3Rpb246bm9uZX1cblxuLm1hcGxpYnJlZ2wtY2FudmFzLWNvbnRhaW5lci5tYXBsaWJyZWdsLWludGVyYWN0aXZlLC5tYXBsaWJyZWdsLWN0cmwtZ3JvdXAgYnV0dG9uLm1hcGxpYnJlZ2wtY3RybC1jb21wYXNze2N1cnNvcjotd2Via2l0LWdyYWI7Y3Vyc29yOmdyYWI7LXdlYmtpdC11c2VyLXNlbGVjdDpub25lOy1tb3otdXNlci1zZWxlY3Q6bm9uZTstbXMtdXNlci1zZWxlY3Q6bm9uZTt1c2VyLXNlbGVjdDpub25lfVxuXG4ubWFwbGlicmVnbC1jYW52YXMtY29udGFpbmVyLm1hcGxpYnJlZ2wtaW50ZXJhY3RpdmUubWFwbGlicmVnbC10cmFjay1wb2ludGVye2N1cnNvcjpwb2ludGVyfVxuXG4ubWFwbGlicmVnbC1jYW52YXMtY29udGFpbmVyLm1hcGxpYnJlZ2wtaW50ZXJhY3RpdmU6YWN0aXZlLC5tYXBsaWJyZWdsLWN0cmwtZ3JvdXAgYnV0dG9uLm1hcGxpYnJlZ2wtY3RybC1jb21wYXNzOmFjdGl2ZXtjdXJzb3I6LXdlYmtpdC1ncmFiYmluZztjdXJzb3I6Z3JhYmJpbmd9XG5cbi5tYXBsaWJyZWdsLWNhbnZhcy1jb250YWluZXIubWFwbGlicmVnbC10b3VjaC16b29tLXJvdGF0ZSwubWFwbGlicmVnbC1jYW52YXMtY29udGFpbmVyLm1hcGxpYnJlZ2wtdG91Y2gtem9vbS1yb3RhdGUgLm1hcGxpYnJlZ2wtY2FudmFzey1tcy10b3VjaC1hY3Rpb246cGFuLXggcGFuLXk7dG91Y2gtYWN0aW9uOnBhbi14IHBhbi15fVxuXG4ubWFwbGlicmVnbC1jYW52YXMtY29udGFpbmVyLm1hcGxpYnJlZ2wtdG91Y2gtZHJhZy1wYW4sLm1hcGxpYnJlZ2wtY2FudmFzLWNvbnRhaW5lci5tYXBsaWJyZWdsLXRvdWNoLWRyYWctcGFuIC5tYXBsaWJyZWdsLWNhbnZhc3stbXMtdG91Y2gtYWN0aW9uOnBpbmNoLXpvb207dG91Y2gtYWN0aW9uOnBpbmNoLXpvb219XG5cbi5tYXBsaWJyZWdsLWNhbnZhcy1jb250YWluZXIubWFwbGlicmVnbC10b3VjaC16b29tLXJvdGF0ZS5tYXBsaWJyZWdsLXRvdWNoLWRyYWctcGFuLC5tYXBsaWJyZWdsLWNhbnZhcy1jb250YWluZXIubWFwbGlicmVnbC10b3VjaC16b29tLXJvdGF0ZS5tYXBsaWJyZWdsLXRvdWNoLWRyYWctcGFuIC5tYXBsaWJyZWdsLWNhbnZhc3stbXMtdG91Y2gtYWN0aW9uOm5vbmU7dG91Y2gtYWN0aW9uOm5vbmV9XG5cbi5tYXBsaWJyZWdsLWNhbnZhcy1jb250YWluZXIubWFwbGlicmVnbC10b3VjaC1kcmFnLXBhbi5tYXBsaWJyZWdsLWNvb3BlcmF0aXZlLWdlc3R1cmVzLC5tYXBsaWJyZWdsLWNhbnZhcy1jb250YWluZXIubWFwbGlicmVnbC10b3VjaC1kcmFnLXBhbi5tYXBsaWJyZWdsLWNvb3BlcmF0aXZlLWdlc3R1cmVzIC5tYXBsaWJyZWdsLWNhbnZhc3stbXMtdG91Y2gtYWN0aW9uOnBhbi14IHBhbi15O3RvdWNoLWFjdGlvbjpwYW4teCBwYW4teX1cblxuLm1hcGxpYnJlZ2wtY3RybC1ib3R0b20tbGVmdCwubWFwbGlicmVnbC1jdHJsLWJvdHRvbS1yaWdodCwubWFwbGlicmVnbC1jdHJsLXRvcC1sZWZ0LC5tYXBsaWJyZWdsLWN0cmwtdG9wLXJpZ2h0e3BvaW50ZXItZXZlbnRzOm5vbmU7cG9zaXRpb246YWJzb2x1dGU7ei1pbmRleDoyfVxuXG4ubWFwbGlicmVnbC1jdHJsLXRvcC1sZWZ0e2xlZnQ6MDt0b3A6MH1cblxuLm1hcGxpYnJlZ2wtY3RybC10b3AtcmlnaHR7cmlnaHQ6MDt0b3A6MH1cblxuLm1hcGxpYnJlZ2wtY3RybC1ib3R0b20tbGVmdHtib3R0b206MDtsZWZ0OjB9XG5cbi5tYXBsaWJyZWdsLWN0cmwtYm90dG9tLXJpZ2h0e2JvdHRvbTowO3JpZ2h0OjB9XG5cbi5tYXBsaWJyZWdsLWN0cmx7Y2xlYXI6Ym90aDtwb2ludGVyLWV2ZW50czphdXRvOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZSgwKTt0cmFuc2Zvcm06dHJhbnNsYXRlKDApfVxuXG4ubWFwbGlicmVnbC1jdHJsLXRvcC1sZWZ0IC5tYXBsaWJyZWdsLWN0cmx7ZmxvYXQ6bGVmdDttYXJnaW46MTBweCAwIDAgMTBweH1cblxuLm1hcGxpYnJlZ2wtY3RybC10b3AtcmlnaHQgLm1hcGxpYnJlZ2wtY3RybHtmbG9hdDpyaWdodDttYXJnaW46MTBweCAxMHB4IDAgMH1cblxuLm1hcGxpYnJlZ2wtY3RybC1ib3R0b20tbGVmdCAubWFwbGlicmVnbC1jdHJse2Zsb2F0OmxlZnQ7bWFyZ2luOjAgMCAxMHB4IDEwcHh9XG5cbi5tYXBsaWJyZWdsLWN0cmwtYm90dG9tLXJpZ2h0IC5tYXBsaWJyZWdsLWN0cmx7ZmxvYXQ6cmlnaHQ7bWFyZ2luOjAgMTBweCAxMHB4IDB9XG5cbi5tYXBsaWJyZWdsLWN0cmwtZ3JvdXB7YmFja2dyb3VuZDojZmZmO2JvcmRlci1yYWRpdXM6NHB4fVxuXG4ubWFwbGlicmVnbC1jdHJsLWdyb3VwOm5vdCg6ZW1wdHkpey13ZWJraXQtYm94LXNoYWRvdzowIDAgMCAycHggcmdiYSgwLDAsMCwuMSk7Ym94LXNoYWRvdzowIDAgMCAycHggcmdiYSgwLDAsMCwuMSl9XG5cbkBtZWRpYSAoZm9yY2VkLWNvbG9yczphY3RpdmUpey5tYXBsaWJyZWdsLWN0cmwtZ3JvdXA6bm90KDplbXB0eSl7LXdlYmtpdC1ib3gtc2hhZG93OjAgMCAwIDJweCBCdXR0b25UZXh0O2JveC1zaGFkb3c6MCAwIDAgMnB4IEJ1dHRvblRleHR9fVxuXG4ubWFwbGlicmVnbC1jdHJsLWdyb3VwIGJ1dHRvbntiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50O2JvcmRlcjowOy13ZWJraXQtYm94LXNpemluZzpib3JkZXItYm94O2JveC1zaXppbmc6Ym9yZGVyLWJveDtjdXJzb3I6cG9pbnRlcjtkaXNwbGF5OmJsb2NrO2hlaWdodDoyOXB4O291dGxpbmU6bm9uZTtwYWRkaW5nOjA7d2lkdGg6MjlweH1cblxuLm1hcGxpYnJlZ2wtY3RybC1ncm91cCBidXR0b24rYnV0dG9ue2JvcmRlci10b3A6MXB4IHNvbGlkICNkZGR9XG5cbi5tYXBsaWJyZWdsLWN0cmwgYnV0dG9uIC5tYXBsaWJyZWdsLWN0cmwtaWNvbntiYWNrZ3JvdW5kLXBvc2l0aW9uOjUwJTtiYWNrZ3JvdW5kLXJlcGVhdDpuby1yZXBlYXQ7ZGlzcGxheTpibG9jaztoZWlnaHQ6MTAwJTt3aWR0aDoxMDAlfVxuXG5AbWVkaWEgKGZvcmNlZC1jb2xvcnM6YWN0aXZlKXsubWFwbGlicmVnbC1jdHJsLWljb257YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudH0ubWFwbGlicmVnbC1jdHJsLWdyb3VwIGJ1dHRvbitidXR0b257Ym9yZGVyLXRvcDoxcHggc29saWQgQnV0dG9uVGV4dH19XG5cbi5tYXBsaWJyZWdsLWN0cmwgYnV0dG9uOjotbW96LWZvY3VzLWlubmVye2JvcmRlcjowO3BhZGRpbmc6MH1cblxuLm1hcGxpYnJlZ2wtY3RybC1hdHRyaWItYnV0dG9uOmZvY3VzLC5tYXBsaWJyZWdsLWN0cmwtZ3JvdXAgYnV0dG9uOmZvY3Vzey13ZWJraXQtYm94LXNoYWRvdzowIDAgMnB4IDJweCAjMDA5NmZmO2JveC1zaGFkb3c6MCAwIDJweCAycHggIzAwOTZmZn1cblxuLm1hcGxpYnJlZ2wtY3RybCBidXR0b246ZGlzYWJsZWR7Y3Vyc29yOm5vdC1hbGxvd2VkfVxuXG4ubWFwbGlicmVnbC1jdHJsIGJ1dHRvbjpkaXNhYmxlZCAubWFwbGlicmVnbC1jdHJsLWljb257b3BhY2l0eTouMjV9XG5cbi5tYXBsaWJyZWdsLWN0cmwgYnV0dG9uOm5vdCg6ZGlzYWJsZWQpOmhvdmVye2JhY2tncm91bmQtY29sb3I6cmdiKDAgMCAwLzUlKX1cblxuLm1hcGxpYnJlZ2wtY3RybC1ncm91cCBidXR0b246Zm9jdXM6Zm9jdXMtdmlzaWJsZXstd2Via2l0LWJveC1zaGFkb3c6MCAwIDJweCAycHggIzAwOTZmZjtib3gtc2hhZG93OjAgMCAycHggMnB4ICMwMDk2ZmZ9XG5cbi5tYXBsaWJyZWdsLWN0cmwtZ3JvdXAgYnV0dG9uOmZvY3VzOm5vdCg6Zm9jdXMtdmlzaWJsZSl7LXdlYmtpdC1ib3gtc2hhZG93Om5vbmU7Ym94LXNoYWRvdzpub25lfVxuXG4ubWFwbGlicmVnbC1jdHJsLWdyb3VwIGJ1dHRvbjpmb2N1czpmaXJzdC1jaGlsZHtib3JkZXItcmFkaXVzOjRweCA0cHggMCAwfVxuXG4ubWFwbGlicmVnbC1jdHJsLWdyb3VwIGJ1dHRvbjpmb2N1czpsYXN0LWNoaWxke2JvcmRlci1yYWRpdXM6MCAwIDRweCA0cHh9XG5cbi5tYXBsaWJyZWdsLWN0cmwtZ3JvdXAgYnV0dG9uOmZvY3VzOm9ubHktY2hpbGR7Ym9yZGVyLXJhZGl1czppbmhlcml0fVxuXG4ubWFwbGlicmVnbC1jdHJsIGJ1dHRvbi5tYXBsaWJyZWdsLWN0cmwtem9vbS1vdXQgLm1hcGxpYnJlZ2wtY3RybC1pY29ue2JhY2tncm91bmQtaW1hZ2U6dXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmLTgsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzI5JyBoZWlnaHQ9JzI5JyBmaWxsPSclMjMzMzMnIHZpZXdCb3g9JzAgMCAyOSAyOSclM0UlM0NwYXRoIGQ9J00xMCAxM2MtLjc1IDAtMS41Ljc1LTEuNSAxLjVTOS4yNSAxNiAxMCAxNmg5Yy43NSAwIDEuNS0uNzUgMS41LTEuNVMxOS43NSAxMyAxOSAxM3onLyUzRSUzQy9zdmclM0VcIil9XG5cbi5tYXBsaWJyZWdsLWN0cmwgYnV0dG9uLm1hcGxpYnJlZ2wtY3RybC16b29tLWluIC5tYXBsaWJyZWdsLWN0cmwtaWNvbntiYWNrZ3JvdW5kLWltYWdlOnVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0Zi04LCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPScyOScgaGVpZ2h0PScyOScgZmlsbD0nJTIzMzMzJyB2aWV3Qm94PScwIDAgMjkgMjknJTNFJTNDcGF0aCBkPSdNMTQuNSA4LjVjLS43NSAwLTEuNS43NS0xLjUgMS41djNoLTNjLS43NSAwLTEuNS43NS0xLjUgMS41UzkuMjUgMTYgMTAgMTZoM3YzYzAgLjc1Ljc1IDEuNSAxLjUgMS41UzE2IDE5Ljc1IDE2IDE5di0zaDNjLjc1IDAgMS41LS43NSAxLjUtMS41UzE5Ljc1IDEzIDE5IDEzaC0zdi0zYzAtLjc1LS43NS0xLjUtMS41LTEuNScvJTNFJTNDL3N2ZyUzRVwiKX1cblxuQG1lZGlhIChmb3JjZWQtY29sb3JzOmFjdGl2ZSl7Lm1hcGxpYnJlZ2wtY3RybCBidXR0b24ubWFwbGlicmVnbC1jdHJsLXpvb20tb3V0IC5tYXBsaWJyZWdsLWN0cmwtaWNvbntiYWNrZ3JvdW5kLWltYWdlOnVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0Zi04LCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPScyOScgaGVpZ2h0PScyOScgZmlsbD0nJTIzZmZmJyB2aWV3Qm94PScwIDAgMjkgMjknJTNFJTNDcGF0aCBkPSdNMTAgMTNjLS43NSAwLTEuNS43NS0xLjUgMS41UzkuMjUgMTYgMTAgMTZoOWMuNzUgMCAxLjUtLjc1IDEuNS0xLjVTMTkuNzUgMTMgMTkgMTN6Jy8lM0UlM0Mvc3ZnJTNFXCIpfS5tYXBsaWJyZWdsLWN0cmwgYnV0dG9uLm1hcGxpYnJlZ2wtY3RybC16b29tLWluIC5tYXBsaWJyZWdsLWN0cmwtaWNvbntiYWNrZ3JvdW5kLWltYWdlOnVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0Zi04LCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPScyOScgaGVpZ2h0PScyOScgZmlsbD0nJTIzZmZmJyB2aWV3Qm94PScwIDAgMjkgMjknJTNFJTNDcGF0aCBkPSdNMTQuNSA4LjVjLS43NSAwLTEuNS43NS0xLjUgMS41djNoLTNjLS43NSAwLTEuNS43NS0xLjUgMS41UzkuMjUgMTYgMTAgMTZoM3YzYzAgLjc1Ljc1IDEuNSAxLjUgMS41UzE2IDE5Ljc1IDE2IDE5di0zaDNjLjc1IDAgMS41LS43NSAxLjUtMS41UzE5Ljc1IDEzIDE5IDEzaC0zdi0zYzAtLjc1LS43NS0xLjUtMS41LTEuNScvJTNFJTNDL3N2ZyUzRVwiKX19XG5cbkBtZWRpYSAoZm9yY2VkLWNvbG9yczphY3RpdmUpIGFuZCAocHJlZmVycy1jb2xvci1zY2hlbWU6bGlnaHQpey5tYXBsaWJyZWdsLWN0cmwgYnV0dG9uLm1hcGxpYnJlZ2wtY3RybC16b29tLW91dCAubWFwbGlicmVnbC1jdHJsLWljb257YmFja2dyb3VuZC1pbWFnZTp1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGYtOCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMjknIGhlaWdodD0nMjknIHZpZXdCb3g9JzAgMCAyOSAyOSclM0UlM0NwYXRoIGQ9J00xMCAxM2MtLjc1IDAtMS41Ljc1LTEuNSAxLjVTOS4yNSAxNiAxMCAxNmg5Yy43NSAwIDEuNS0uNzUgMS41LTEuNVMxOS43NSAxMyAxOSAxM3onLyUzRSUzQy9zdmclM0VcIil9Lm1hcGxpYnJlZ2wtY3RybCBidXR0b24ubWFwbGlicmVnbC1jdHJsLXpvb20taW4gLm1hcGxpYnJlZ2wtY3RybC1pY29ue2JhY2tncm91bmQtaW1hZ2U6dXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmLTgsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzI5JyBoZWlnaHQ9JzI5JyB2aWV3Qm94PScwIDAgMjkgMjknJTNFJTNDcGF0aCBkPSdNMTQuNSA4LjVjLS43NSAwLTEuNS43NS0xLjUgMS41djNoLTNjLS43NSAwLTEuNS43NS0xLjUgMS41UzkuMjUgMTYgMTAgMTZoM3YzYzAgLjc1Ljc1IDEuNSAxLjUgMS41UzE2IDE5Ljc1IDE2IDE5di0zaDNjLjc1IDAgMS41LS43NSAxLjUtMS41UzE5Ljc1IDEzIDE5IDEzaC0zdi0zYzAtLjc1LS43NS0xLjUtMS41LTEuNScvJTNFJTNDL3N2ZyUzRVwiKX19XG5cbi5tYXBsaWJyZWdsLWN0cmwgYnV0dG9uLm1hcGxpYnJlZ2wtY3RybC1mdWxsc2NyZWVuIC5tYXBsaWJyZWdsLWN0cmwtaWNvbntiYWNrZ3JvdW5kLWltYWdlOnVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0Zi04LCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPScyOScgaGVpZ2h0PScyOScgZmlsbD0nJTIzMzMzJyB2aWV3Qm94PScwIDAgMjkgMjknJTNFJTNDcGF0aCBkPSdNMjQgMTZ2NS41YzAgMS43NS0uNzUgMi41LTIuNSAyLjVIMTZ2LTFsMy0xLjUtNC01LjUgMS0xIDUuNSA0IDEuNS0zek02IDE2bDEuNSAzIDUuNS00IDEgMS00IDUuNSAzIDEuNXYxSDcuNUM1Ljc1IDI0IDUgMjMuMjUgNSAyMS41VjE2em03LTExdjFsLTMgMS41IDQgNS41LTEgMS01LjUtNEw2IDEzSDVWNy41QzUgNS43NSA1Ljc1IDUgNy41IDV6bTExIDIuNWMwLTEuNzUtLjc1LTIuNS0yLjUtMi41SDE2djFsMyAxLjUtNCA1LjUgMSAxIDUuNS00IDEuNSAzaDF6Jy8lM0UlM0Mvc3ZnJTNFXCIpfVxuXG4ubWFwbGlicmVnbC1jdHJsIGJ1dHRvbi5tYXBsaWJyZWdsLWN0cmwtc2hyaW5rIC5tYXBsaWJyZWdsLWN0cmwtaWNvbntiYWNrZ3JvdW5kLWltYWdlOnVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0Zi04LCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPScyOScgaGVpZ2h0PScyOScgdmlld0JveD0nMCAwIDI5IDI5JyUzRSUzQ3BhdGggZD0nTTE4LjUgMTZjLTEuNzUgMC0yLjUuNzUtMi41IDIuNVYyNGgxbDEuNS0zIDUuNSA0IDEtMS00LTUuNSAzLTEuNXYtMXpNMTMgMTguNWMwLTEuNzUtLjc1LTIuNS0yLjUtMi41SDV2MWwzIDEuNUw0IDI0bDEgMSA1LjUtNCAxLjUgM2gxem0zLThjMCAxLjc1Ljc1IDIuNSAyLjUgMi41SDI0di0xbC0zLTEuNUwyNSA1bC0xLTEtNS41IDRMMTcgNWgtMXpNMTAuNSAxM2MxLjc1IDAgMi41LS43NSAyLjUtMi41VjVoLTFsLTEuNSAzTDUgNCA0IDVsNCA1LjVMNSAxMnYxeicvJTNFJTNDL3N2ZyUzRVwiKX1cblxuQG1lZGlhIChmb3JjZWQtY29sb3JzOmFjdGl2ZSl7Lm1hcGxpYnJlZ2wtY3RybCBidXR0b24ubWFwbGlicmVnbC1jdHJsLWZ1bGxzY3JlZW4gLm1hcGxpYnJlZ2wtY3RybC1pY29ue2JhY2tncm91bmQtaW1hZ2U6dXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmLTgsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzI5JyBoZWlnaHQ9JzI5JyBmaWxsPSclMjNmZmYnIHZpZXdCb3g9JzAgMCAyOSAyOSclM0UlM0NwYXRoIGQ9J00yNCAxNnY1LjVjMCAxLjc1LS43NSAyLjUtMi41IDIuNUgxNnYtMWwzLTEuNS00LTUuNSAxLTEgNS41IDQgMS41LTN6TTYgMTZsMS41IDMgNS41LTQgMSAxLTQgNS41IDMgMS41djFINy41QzUuNzUgMjQgNSAyMy4yNSA1IDIxLjVWMTZ6bTctMTF2MWwtMyAxLjUgNCA1LjUtMSAxLTUuNS00TDYgMTNINVY3LjVDNSA1Ljc1IDUuNzUgNSA3LjUgNXptMTEgMi41YzAtMS43NS0uNzUtMi41LTIuNS0yLjVIMTZ2MWwzIDEuNS00IDUuNSAxIDEgNS41LTQgMS41IDNoMXonLyUzRSUzQy9zdmclM0VcIil9Lm1hcGxpYnJlZ2wtY3RybCBidXR0b24ubWFwbGlicmVnbC1jdHJsLXNocmluayAubWFwbGlicmVnbC1jdHJsLWljb257YmFja2dyb3VuZC1pbWFnZTp1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGYtOCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMjknIGhlaWdodD0nMjknIGZpbGw9JyUyM2ZmZicgdmlld0JveD0nMCAwIDI5IDI5JyUzRSUzQ3BhdGggZD0nTTE4LjUgMTZjLTEuNzUgMC0yLjUuNzUtMi41IDIuNVYyNGgxbDEuNS0zIDUuNSA0IDEtMS00LTUuNSAzLTEuNXYtMXpNMTMgMTguNWMwLTEuNzUtLjc1LTIuNS0yLjUtMi41SDV2MWwzIDEuNUw0IDI0bDEgMSA1LjUtNCAxLjUgM2gxem0zLThjMCAxLjc1Ljc1IDIuNSAyLjUgMi41SDI0di0xbC0zLTEuNUwyNSA1bC0xLTEtNS41IDRMMTcgNWgtMXpNMTAuNSAxM2MxLjc1IDAgMi41LS43NSAyLjUtMi41VjVoLTFsLTEuNSAzTDUgNCA0IDVsNCA1LjVMNSAxMnYxeicvJTNFJTNDL3N2ZyUzRVwiKX19XG5cbkBtZWRpYSAoZm9yY2VkLWNvbG9yczphY3RpdmUpIGFuZCAocHJlZmVycy1jb2xvci1zY2hlbWU6bGlnaHQpey5tYXBsaWJyZWdsLWN0cmwgYnV0dG9uLm1hcGxpYnJlZ2wtY3RybC1mdWxsc2NyZWVuIC5tYXBsaWJyZWdsLWN0cmwtaWNvbntiYWNrZ3JvdW5kLWltYWdlOnVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0Zi04LCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPScyOScgaGVpZ2h0PScyOScgdmlld0JveD0nMCAwIDI5IDI5JyUzRSUzQ3BhdGggZD0nTTI0IDE2djUuNWMwIDEuNzUtLjc1IDIuNS0yLjUgMi41SDE2di0xbDMtMS41LTQtNS41IDEtMSA1LjUgNCAxLjUtM3pNNiAxNmwxLjUgMyA1LjUtNCAxIDEtNCA1LjUgMyAxLjV2MUg3LjVDNS43NSAyNCA1IDIzLjI1IDUgMjEuNVYxNnptNy0xMXYxbC0zIDEuNSA0IDUuNS0xIDEtNS41LTRMNiAxM0g1VjcuNUM1IDUuNzUgNS43NSA1IDcuNSA1em0xMSAyLjVjMC0xLjc1LS43NS0yLjUtMi41LTIuNUgxNnYxbDMgMS41LTQgNS41IDEgMSA1LjUtNCAxLjUgM2gxeicvJTNFJTNDL3N2ZyUzRVwiKX0ubWFwbGlicmVnbC1jdHJsIGJ1dHRvbi5tYXBsaWJyZWdsLWN0cmwtc2hyaW5rIC5tYXBsaWJyZWdsLWN0cmwtaWNvbntiYWNrZ3JvdW5kLWltYWdlOnVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0Zi04LCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPScyOScgaGVpZ2h0PScyOScgdmlld0JveD0nMCAwIDI5IDI5JyUzRSUzQ3BhdGggZD0nTTE4LjUgMTZjLTEuNzUgMC0yLjUuNzUtMi41IDIuNVYyNGgxbDEuNS0zIDUuNSA0IDEtMS00LTUuNSAzLTEuNXYtMXpNMTMgMTguNWMwLTEuNzUtLjc1LTIuNS0yLjUtMi41SDV2MWwzIDEuNUw0IDI0bDEgMSA1LjUtNCAxLjUgM2gxem0zLThjMCAxLjc1Ljc1IDIuNSAyLjUgMi41SDI0di0xbC0zLTEuNUwyNSA1bC0xLTEtNS41IDRMMTcgNWgtMXpNMTAuNSAxM2MxLjc1IDAgMi41LS43NSAyLjUtMi41VjVoLTFsLTEuNSAzTDUgNCA0IDVsNCA1LjVMNSAxMnYxeicvJTNFJTNDL3N2ZyUzRVwiKX19XG5cbi5tYXBsaWJyZWdsLWN0cmwgYnV0dG9uLm1hcGxpYnJlZ2wtY3RybC1jb21wYXNzIC5tYXBsaWJyZWdsLWN0cmwtaWNvbntiYWNrZ3JvdW5kLWltYWdlOnVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0Zi04LCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPScyOScgaGVpZ2h0PScyOScgZmlsbD0nJTIzMzMzJyB2aWV3Qm94PScwIDAgMjkgMjknJTNFJTNDcGF0aCBkPSdtMTAuNSAxNCA0LTggNCA4eicvJTNFJTNDcGF0aCBmaWxsPSclMjNjY2MnIGQ9J20xMC41IDE2IDQgOCA0LTh6Jy8lM0UlM0Mvc3ZnJTNFXCIpfVxuXG5AbWVkaWEgKGZvcmNlZC1jb2xvcnM6YWN0aXZlKXsubWFwbGlicmVnbC1jdHJsIGJ1dHRvbi5tYXBsaWJyZWdsLWN0cmwtY29tcGFzcyAubWFwbGlicmVnbC1jdHJsLWljb257YmFja2dyb3VuZC1pbWFnZTp1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGYtOCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMjknIGhlaWdodD0nMjknIGZpbGw9JyUyM2ZmZicgdmlld0JveD0nMCAwIDI5IDI5JyUzRSUzQ3BhdGggZD0nbTEwLjUgMTQgNC04IDQgOHonLyUzRSUzQ3BhdGggZmlsbD0nJTIzY2NjJyBkPSdtMTAuNSAxNiA0IDggNC04eicvJTNFJTNDL3N2ZyUzRVwiKX19XG5cbkBtZWRpYSAoZm9yY2VkLWNvbG9yczphY3RpdmUpIGFuZCAocHJlZmVycy1jb2xvci1zY2hlbWU6bGlnaHQpey5tYXBsaWJyZWdsLWN0cmwgYnV0dG9uLm1hcGxpYnJlZ2wtY3RybC1jb21wYXNzIC5tYXBsaWJyZWdsLWN0cmwtaWNvbntiYWNrZ3JvdW5kLWltYWdlOnVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0Zi04LCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPScyOScgaGVpZ2h0PScyOScgdmlld0JveD0nMCAwIDI5IDI5JyUzRSUzQ3BhdGggZD0nbTEwLjUgMTQgNC04IDQgOHonLyUzRSUzQ3BhdGggZmlsbD0nJTIzY2NjJyBkPSdtMTAuNSAxNiA0IDggNC04eicvJTNFJTNDL3N2ZyUzRVwiKX19XG5cbi5tYXBsaWJyZWdsLWN0cmwgYnV0dG9uLm1hcGxpYnJlZ2wtY3RybC1nbG9iZSAubWFwbGlicmVnbC1jdHJsLWljb257YmFja2dyb3VuZC1pbWFnZTp1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGYtOCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMjInIGhlaWdodD0nMjInIGZpbGw9J25vbmUnIHN0cm9rZT0nJTIzMzMzJyB2aWV3Qm94PScwIDAgMjIgMjInJTNFJTNDY2lyY2xlIGN4PScxMScgY3k9JzExJyByPSc4LjUnLyUzRSUzQ3BhdGggZD0nTTE3LjUgMTFjMCA0LjgxOS0zLjAyIDguNS02LjUgOC41UzQuNSAxNS44MTkgNC41IDExIDcuNTIgMi41IDExIDIuNXM2LjUgMy42ODEgNi41IDguNVonLyUzRSUzQ3BhdGggZD0nTTEzLjUgMTFjMCAyLjQ0Ny0uMzMxIDQuNjQtLjg1MyA2LjIwNi0uMjYyLjc4NS0uNTYyIDEuMzg0LS44NzIgMS43NzctLjMxNC4zOTktLjU4LjUxNy0uNzc1LjUxN3MtLjQ2MS0uMTE4LS43NzUtLjUxN2MtLjMxLS4zOTMtLjYxLS45OTItLjg3Mi0xLjc3N0M4LjgzMSAxNS42NCA4LjUgMTMuNDQ2IDguNSAxMXMuMzMxLTQuNjQuODUzLTYuMjA2Yy4yNjItLjc4NS41NjItMS4zODQuODcyLTEuNzc3LjMxNC0uMzk5LjU4LS41MTcuNzc1LS41MTdzLjQ2MS4xMTguNzc1LjUxN2MuMzEuMzkzLjYxLjk5Mi44NzIgMS43NzcuNTIyIDEuNTY1Ljg1MyAzLjc2Ljg1MyA2LjIwNlonLyUzRSUzQ3BhdGggZD0nTTExIDcuNWMtMS45MDkgMC0zLjYyMi0uMTY2LTQuODQ1LS40MjgtLjYxNi0uMTMyLTEuMDgtLjI4My0xLjM3OS0uNDM0YTEuMyAxLjMgMCAwIDEtLjIyNC0uMTM4cS4wNy0uMDU4LjIyNC0uMTM4Yy4yOTktLjE1MS43NjMtLjMwMiAxLjM3OS0uNDM0QzcuMzc4IDUuNjY2IDkuMDkxIDUuNSAxMSA1LjVzMy42MjIuMTY2IDQuODQ1LjQyOGMuNjE2LjEzMiAxLjA4LjI4MyAxLjM3OS40MzQuMTA1LjA1My4xNzcuMS4yMjQuMTM4cS0uMDcuMDU4LS4yMjQuMTM4Yy0uMjk5LjE1MS0uNzYzLjMwMi0xLjM3OS40MzQtMS4yMjMuMjYyLTIuOTM2LjQyOC00Ljg0NS40MjhaTTQuNDg2IDYuNDM2Wk0xMSAxNi41Yy0xLjkwOSAwLTMuNjIyLS4xNjYtNC44NDUtLjQyOC0uNjE2LS4xMzItMS4wOC0uMjgzLTEuMzc5LS40MzRhMS4zIDEuMyAwIDAgMS0uMjI0LS4xMzggMS4zIDEuMyAwIDAgMSAuMjI0LS4xMzhjLjI5OS0uMTUxLjc2My0uMzAyIDEuMzc5LS40MzRDNy4zNzggMTQuNjY2IDkuMDkxIDE0LjUgMTEgMTQuNXMzLjYyMi4xNjYgNC44NDUuNDI4Yy42MTYuMTMyIDEuMDguMjgzIDEuMzc5LjQzNC4xMDUuMDUzLjE3Ny4xLjIyNC4xMzhhMS4zIDEuMyAwIDAgMS0uMjI0LjEzOGMtLjI5OS4xNTEtLjc2My4zMDItMS4zNzkuNDM0LTEuMjIzLjI2Mi0yLjkzNi40MjgtNC44NDUuNDI4Wm0tNi41MTQtMS4wNjRaTTExIDEyLjVjLTIuNDYgMC00LjY3Mi0uMjIyLTYuMjU1LS41NzQtLjc5Ni0uMTc3LTEuNDA2LS4zOC0xLjgwNS0uNTlhMS41IDEuNSAwIDAgMS0uMzktLjI3Mi4zLjMgMCAwIDEtLjA0Ny0uMDY0LjMuMyAwIDAgMSAuMDQ4LS4wNjRjLjA2Ni0uMDczLjE4OS0uMTY3LjM4OS0uMjcyLjM5OS0uMjEgMS4wMDktLjQxMyAxLjgwNS0uNTlDNi4zMjggOS43MjIgOC41NCA5LjUgMTEgOS41czQuNjcyLjIyMiA2LjI1Ni41NzRjLjc5NS4xNzcgMS40MDUuMzggMS44MDQuNTkuMi4xMDUuMzIzLjIuMzkuMjcyYS4zLjMgMCAwIDEgLjA0Ny4wNjQuMy4zIDAgMCAxLS4wNDguMDY0IDEuNCAxLjQgMCAwIDEtLjM4OS4yNzJjLS4zOTkuMjEtMS4wMDkuNDEzLTEuODA0LjU5LTEuNTg0LjM1Mi0zLjc5Ni41NzQtNi4yNTYuNTc0Wm0tOC41MDEtMS41MXYuMDAyem0wIC4wMTh2LjAwMnptMTcuMDAyLjAwMnYtLjAwMnptMC0uMDE4di0uMDAyeicvJTNFJTNDL3N2ZyUzRVwiKX1cblxuLm1hcGxpYnJlZ2wtY3RybCBidXR0b24ubWFwbGlicmVnbC1jdHJsLWdsb2JlLWVuYWJsZWQgLm1hcGxpYnJlZ2wtY3RybC1pY29ue2JhY2tncm91bmQtaW1hZ2U6dXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmLTgsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzIyJyBoZWlnaHQ9JzIyJyBmaWxsPSdub25lJyBzdHJva2U9JyUyMzMzYjVlNScgdmlld0JveD0nMCAwIDIyIDIyJyUzRSUzQ2NpcmNsZSBjeD0nMTEnIGN5PScxMScgcj0nOC41Jy8lM0UlM0NwYXRoIGQ9J00xNy41IDExYzAgNC44MTktMy4wMiA4LjUtNi41IDguNVM0LjUgMTUuODE5IDQuNSAxMSA3LjUyIDIuNSAxMSAyLjVzNi41IDMuNjgxIDYuNSA4LjVaJy8lM0UlM0NwYXRoIGQ9J00xMy41IDExYzAgMi40NDctLjMzMSA0LjY0LS44NTMgNi4yMDYtLjI2Mi43ODUtLjU2MiAxLjM4NC0uODcyIDEuNzc3LS4zMTQuMzk5LS41OC41MTctLjc3NS41MTdzLS40NjEtLjExOC0uNzc1LS41MTdjLS4zMS0uMzkzLS42MS0uOTkyLS44NzItMS43NzdDOC44MzEgMTUuNjQgOC41IDEzLjQ0NiA4LjUgMTFzLjMzMS00LjY0Ljg1My02LjIwNmMuMjYyLS43ODUuNTYyLTEuMzg0Ljg3Mi0xLjc3Ny4zMTQtLjM5OS41OC0uNTE3Ljc3NS0uNTE3cy40NjEuMTE4Ljc3NS41MTdjLjMxLjM5My42MS45OTIuODcyIDEuNzc3LjUyMiAxLjU2NS44NTMgMy43Ni44NTMgNi4yMDZaJy8lM0UlM0NwYXRoIGQ9J00xMSA3LjVjLTEuOTA5IDAtMy42MjItLjE2Ni00Ljg0NS0uNDI4LS42MTYtLjEzMi0xLjA4LS4yODMtMS4zNzktLjQzNGExLjMgMS4zIDAgMCAxLS4yMjQtLjEzOHEuMDctLjA1OC4yMjQtLjEzOGMuMjk5LS4xNTEuNzYzLS4zMDIgMS4zNzktLjQzNEM3LjM3OCA1LjY2NiA5LjA5MSA1LjUgMTEgNS41czMuNjIyLjE2NiA0Ljg0NS40MjhjLjYxNi4xMzIgMS4wOC4yODMgMS4zNzkuNDM0LjEwNS4wNTMuMTc3LjEuMjI0LjEzOHEtLjA3LjA1OC0uMjI0LjEzOGMtLjI5OS4xNTEtLjc2My4zMDItMS4zNzkuNDM0LTEuMjIzLjI2Mi0yLjkzNi40MjgtNC44NDUuNDI4Wk00LjQ4NiA2LjQzNlpNMTEgMTYuNWMtMS45MDkgMC0zLjYyMi0uMTY2LTQuODQ1LS40MjgtLjYxNi0uMTMyLTEuMDgtLjI4My0xLjM3OS0uNDM0YTEuMyAxLjMgMCAwIDEtLjIyNC0uMTM4IDEuMyAxLjMgMCAwIDEgLjIyNC0uMTM4Yy4yOTktLjE1MS43NjMtLjMwMiAxLjM3OS0uNDM0QzcuMzc4IDE0LjY2NiA5LjA5MSAxNC41IDExIDE0LjVzMy42MjIuMTY2IDQuODQ1LjQyOGMuNjE2LjEzMiAxLjA4LjI4MyAxLjM3OS40MzQuMTA1LjA1My4xNzcuMS4yMjQuMTM4YTEuMyAxLjMgMCAwIDEtLjIyNC4xMzhjLS4yOTkuMTUxLS43NjMuMzAyLTEuMzc5LjQzNC0xLjIyMy4yNjItMi45MzYuNDI4LTQuODQ1LjQyOFptLTYuNTE0LTEuMDY0Wk0xMSAxMi41Yy0yLjQ2IDAtNC42NzItLjIyMi02LjI1NS0uNTc0LS43OTYtLjE3Ny0xLjQwNi0uMzgtMS44MDUtLjU5YTEuNSAxLjUgMCAwIDEtLjM5LS4yNzIuMy4zIDAgMCAxLS4wNDctLjA2NC4zLjMgMCAwIDEgLjA0OC0uMDY0Yy4wNjYtLjA3My4xODktLjE2Ny4zODktLjI3Mi4zOTktLjIxIDEuMDA5LS40MTMgMS44MDUtLjU5QzYuMzI4IDkuNzIyIDguNTQgOS41IDExIDkuNXM0LjY3Mi4yMjIgNi4yNTYuNTc0Yy43OTUuMTc3IDEuNDA1LjM4IDEuODA0LjU5LjIuMTA1LjMyMy4yLjM5LjI3MmEuMy4zIDAgMCAxIC4wNDcuMDY0LjMuMyAwIDAgMS0uMDQ4LjA2NCAxLjQgMS40IDAgMCAxLS4zODkuMjcyYy0uMzk5LjIxLTEuMDA5LjQxMy0xLjgwNC41OS0xLjU4NC4zNTItMy43OTYuNTc0LTYuMjU2LjU3NFptLTguNTAxLTEuNTF2LjAwMnptMCAuMDE4di4wMDJ6bTE3LjAwMi4wMDJ2LS4wMDJ6bTAtLjAxOHYtLjAwMnonLyUzRSUzQy9zdmclM0VcIil9XG5cbi5tYXBsaWJyZWdsLWN0cmwgYnV0dG9uLm1hcGxpYnJlZ2wtY3RybC10ZXJyYWluIC5tYXBsaWJyZWdsLWN0cmwtaWNvbntiYWNrZ3JvdW5kLWltYWdlOnVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0Zi04LCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPScyMicgaGVpZ2h0PScyMicgZmlsbD0nJTIzMzMzJyB2aWV3Qm94PScwIDAgMjIgMjInJTNFJTNDcGF0aCBkPSdtMS43NTQgMTMuNDA2IDQuNDUzLTQuODUxIDMuMDkgMy4wOSAzLjI4MSAzLjI3Ny45NjktLjk2OS0zLjMwOS0zLjMxMiAzLjg0NC00LjEyMSA2LjE0OCA2Ljg4NmgxLjA4MnYtLjg1NWwtNy4yMDctOC4wNy00Ljg0IDUuMTg3TDYuMTY5IDYuNTdsLTUuNDggNS45NjV2Ljg3MVpNLjY4OCAxNi44NDRoMjAuNjI1djEuMzc1SC42ODhabTAgMCcvJTNFJTNDL3N2ZyUzRVwiKX1cblxuLm1hcGxpYnJlZ2wtY3RybCBidXR0b24ubWFwbGlicmVnbC1jdHJsLXRlcnJhaW4tZW5hYmxlZCAubWFwbGlicmVnbC1jdHJsLWljb257YmFja2dyb3VuZC1pbWFnZTp1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGYtOCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMjInIGhlaWdodD0nMjInIGZpbGw9JyUyMzMzYjVlNScgdmlld0JveD0nMCAwIDIyIDIyJyUzRSUzQ3BhdGggZD0nbTEuNzU0IDEzLjQwNiA0LjQ1My00Ljg1MSAzLjA5IDMuMDkgMy4yODEgMy4yNzcuOTY5LS45NjktMy4zMDktMy4zMTIgMy44NDQtNC4xMjEgNi4xNDggNi44ODZoMS4wODJ2LS44NTVsLTcuMjA3LTguMDctNC44NCA1LjE4N0w2LjE2OSA2LjU3bC01LjQ4IDUuOTY1di44NzFaTS42ODggMTYuODQ0aDIwLjYyNXYxLjM3NUguNjg4Wm0wIDAnLyUzRSUzQy9zdmclM0VcIil9XG5cbi5tYXBsaWJyZWdsLWN0cmwgYnV0dG9uLm1hcGxpYnJlZ2wtY3RybC1nZW9sb2NhdGUgLm1hcGxpYnJlZ2wtY3RybC1pY29ue2JhY2tncm91bmQtaW1hZ2U6dXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmLTgsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzI5JyBoZWlnaHQ9JzI5JyBmaWxsPSclMjMzMzMnIHZpZXdCb3g9JzAgMCAyMCAyMCclM0UlM0NwYXRoIGQ9J00xMCA0QzkgNCA5IDUgOSA1di4xQTUgNSAwIDAgMCA1LjEgOUg1cy0xIDAtMSAxIDEgMSAxIDFoLjFBNSA1IDAgMCAwIDkgMTQuOXYuMXMwIDEgMSAxIDEtMSAxLTF2LS4xYTUgNSAwIDAgMCAzLjktMy45aC4xczEgMCAxLTEtMS0xLTEtMWgtLjFBNSA1IDAgMCAwIDExIDUuMVY1czAtMS0xLTFtMCAyLjVhMy41IDMuNSAwIDEgMSAwIDcgMy41IDMuNSAwIDEgMSAwLTcnLyUzRSUzQ2NpcmNsZSBjeD0nMTAnIGN5PScxMCcgcj0nMicvJTNFJTNDL3N2ZyUzRVwiKX1cblxuLm1hcGxpYnJlZ2wtY3RybCBidXR0b24ubWFwbGlicmVnbC1jdHJsLWdlb2xvY2F0ZTpkaXNhYmxlZCAubWFwbGlicmVnbC1jdHJsLWljb257YmFja2dyb3VuZC1pbWFnZTp1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGYtOCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMjknIGhlaWdodD0nMjknIGZpbGw9JyUyM2FhYScgdmlld0JveD0nMCAwIDIwIDIwJyUzRSUzQ3BhdGggZD0nTTEwIDRDOSA0IDkgNSA5IDV2LjFBNSA1IDAgMCAwIDUuMSA5SDVzLTEgMC0xIDEgMSAxIDEgMWguMUE1IDUgMCAwIDAgOSAxNC45di4xczAgMSAxIDEgMS0xIDEtMXYtLjFhNSA1IDAgMCAwIDMuOS0zLjloLjFzMSAwIDEtMS0xLTEtMS0xaC0uMUE1IDUgMCAwIDAgMTEgNS4xVjVzMC0xLTEtMW0wIDIuNWEzLjUgMy41IDAgMSAxIDAgNyAzLjUgMy41IDAgMSAxIDAtNycvJTNFJTNDY2lyY2xlIGN4PScxMCcgY3k9JzEwJyByPScyJy8lM0UlM0NwYXRoIGZpbGw9J3JlZCcgZD0nbTE0IDUgMSAxLTkgOS0xLTF6Jy8lM0UlM0Mvc3ZnJTNFXCIpfVxuXG4ubWFwbGlicmVnbC1jdHJsIGJ1dHRvbi5tYXBsaWJyZWdsLWN0cmwtZ2VvbG9jYXRlLm1hcGxpYnJlZ2wtY3RybC1nZW9sb2NhdGUtYWN0aXZlIC5tYXBsaWJyZWdsLWN0cmwtaWNvbntiYWNrZ3JvdW5kLWltYWdlOnVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0Zi04LCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPScyOScgaGVpZ2h0PScyOScgZmlsbD0nJTIzMzNiNWU1JyB2aWV3Qm94PScwIDAgMjAgMjAnJTNFJTNDcGF0aCBkPSdNMTAgNEM5IDQgOSA1IDkgNXYuMUE1IDUgMCAwIDAgNS4xIDlINXMtMSAwLTEgMSAxIDEgMSAxaC4xQTUgNSAwIDAgMCA5IDE0Ljl2LjFzMCAxIDEgMSAxLTEgMS0xdi0uMWE1IDUgMCAwIDAgMy45LTMuOWguMXMxIDAgMS0xLTEtMS0xLTFoLS4xQTUgNSAwIDAgMCAxMSA1LjFWNXMwLTEtMS0xbTAgMi41YTMuNSAzLjUgMCAxIDEgMCA3IDMuNSAzLjUgMCAxIDEgMC03Jy8lM0UlM0NjaXJjbGUgY3g9JzEwJyBjeT0nMTAnIHI9JzInLyUzRSUzQy9zdmclM0VcIil9XG5cbi5tYXBsaWJyZWdsLWN0cmwgYnV0dG9uLm1hcGxpYnJlZ2wtY3RybC1nZW9sb2NhdGUubWFwbGlicmVnbC1jdHJsLWdlb2xvY2F0ZS1hY3RpdmUtZXJyb3IgLm1hcGxpYnJlZ2wtY3RybC1pY29ue2JhY2tncm91bmQtaW1hZ2U6dXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmLTgsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzI5JyBoZWlnaHQ9JzI5JyBmaWxsPSclMjNlNTg5NzgnIHZpZXdCb3g9JzAgMCAyMCAyMCclM0UlM0NwYXRoIGQ9J00xMCA0QzkgNCA5IDUgOSA1di4xQTUgNSAwIDAgMCA1LjEgOUg1cy0xIDAtMSAxIDEgMSAxIDFoLjFBNSA1IDAgMCAwIDkgMTQuOXYuMXMwIDEgMSAxIDEtMSAxLTF2LS4xYTUgNSAwIDAgMCAzLjktMy45aC4xczEgMCAxLTEtMS0xLTEtMWgtLjFBNSA1IDAgMCAwIDExIDUuMVY1czAtMS0xLTFtMCAyLjVhMy41IDMuNSAwIDEgMSAwIDcgMy41IDMuNSAwIDEgMSAwLTcnLyUzRSUzQ2NpcmNsZSBjeD0nMTAnIGN5PScxMCcgcj0nMicvJTNFJTNDL3N2ZyUzRVwiKX1cblxuLm1hcGxpYnJlZ2wtY3RybCBidXR0b24ubWFwbGlicmVnbC1jdHJsLWdlb2xvY2F0ZS5tYXBsaWJyZWdsLWN0cmwtZ2VvbG9jYXRlLWJhY2tncm91bmQgLm1hcGxpYnJlZ2wtY3RybC1pY29ue2JhY2tncm91bmQtaW1hZ2U6dXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmLTgsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzI5JyBoZWlnaHQ9JzI5JyBmaWxsPSclMjMzM2I1ZTUnIHZpZXdCb3g9JzAgMCAyMCAyMCclM0UlM0NwYXRoIGQ9J00xMCA0QzkgNCA5IDUgOSA1di4xQTUgNSAwIDAgMCA1LjEgOUg1cy0xIDAtMSAxIDEgMSAxIDFoLjFBNSA1IDAgMCAwIDkgMTQuOXYuMXMwIDEgMSAxIDEtMSAxLTF2LS4xYTUgNSAwIDAgMCAzLjktMy45aC4xczEgMCAxLTEtMS0xLTEtMWgtLjFBNSA1IDAgMCAwIDExIDUuMVY1czAtMS0xLTFtMCAyLjVhMy41IDMuNSAwIDEgMSAwIDcgMy41IDMuNSAwIDEgMSAwLTcnLyUzRSUzQy9zdmclM0VcIil9XG5cbi5tYXBsaWJyZWdsLWN0cmwgYnV0dG9uLm1hcGxpYnJlZ2wtY3RybC1nZW9sb2NhdGUubWFwbGlicmVnbC1jdHJsLWdlb2xvY2F0ZS1iYWNrZ3JvdW5kLWVycm9yIC5tYXBsaWJyZWdsLWN0cmwtaWNvbntiYWNrZ3JvdW5kLWltYWdlOnVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0Zi04LCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPScyOScgaGVpZ2h0PScyOScgZmlsbD0nJTIzZTU0ZTMzJyB2aWV3Qm94PScwIDAgMjAgMjAnJTNFJTNDcGF0aCBkPSdNMTAgNEM5IDQgOSA1IDkgNXYuMUE1IDUgMCAwIDAgNS4xIDlINXMtMSAwLTEgMSAxIDEgMSAxaC4xQTUgNSAwIDAgMCA5IDE0Ljl2LjFzMCAxIDEgMSAxLTEgMS0xdi0uMWE1IDUgMCAwIDAgMy45LTMuOWguMXMxIDAgMS0xLTEtMS0xLTFoLS4xQTUgNSAwIDAgMCAxMSA1LjFWNXMwLTEtMS0xbTAgMi41YTMuNSAzLjUgMCAxIDEgMCA3IDMuNSAzLjUgMCAxIDEgMC03Jy8lM0UlM0Mvc3ZnJTNFXCIpfVxuXG4ubWFwbGlicmVnbC1jdHJsIGJ1dHRvbi5tYXBsaWJyZWdsLWN0cmwtZ2VvbG9jYXRlLm1hcGxpYnJlZ2wtY3RybC1nZW9sb2NhdGUtd2FpdGluZyAubWFwbGlicmVnbC1jdHJsLWljb257LXdlYmtpdC1hbmltYXRpb246bWFwbGlicmVnbC1zcGluIDJzIGxpbmVhciBpbmZpbml0ZTthbmltYXRpb246bWFwbGlicmVnbC1zcGluIDJzIGxpbmVhciBpbmZpbml0ZX1cblxuQG1lZGlhIChmb3JjZWQtY29sb3JzOmFjdGl2ZSl7Lm1hcGxpYnJlZ2wtY3RybCBidXR0b24ubWFwbGlicmVnbC1jdHJsLWdlb2xvY2F0ZSAubWFwbGlicmVnbC1jdHJsLWljb257YmFja2dyb3VuZC1pbWFnZTp1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGYtOCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMjknIGhlaWdodD0nMjknIGZpbGw9JyUyM2ZmZicgdmlld0JveD0nMCAwIDIwIDIwJyUzRSUzQ3BhdGggZD0nTTEwIDRDOSA0IDkgNSA5IDV2LjFBNSA1IDAgMCAwIDUuMSA5SDVzLTEgMC0xIDEgMSAxIDEgMWguMUE1IDUgMCAwIDAgOSAxNC45di4xczAgMSAxIDEgMS0xIDEtMXYtLjFhNSA1IDAgMCAwIDMuOS0zLjloLjFzMSAwIDEtMS0xLTEtMS0xaC0uMUE1IDUgMCAwIDAgMTEgNS4xVjVzMC0xLTEtMW0wIDIuNWEzLjUgMy41IDAgMSAxIDAgNyAzLjUgMy41IDAgMSAxIDAtNycvJTNFJTNDY2lyY2xlIGN4PScxMCcgY3k9JzEwJyByPScyJy8lM0UlM0Mvc3ZnJTNFXCIpfS5tYXBsaWJyZWdsLWN0cmwgYnV0dG9uLm1hcGxpYnJlZ2wtY3RybC1nZW9sb2NhdGU6ZGlzYWJsZWQgLm1hcGxpYnJlZ2wtY3RybC1pY29ue2JhY2tncm91bmQtaW1hZ2U6dXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmLTgsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzI5JyBoZWlnaHQ9JzI5JyBmaWxsPSclMjM5OTknIHZpZXdCb3g9JzAgMCAyMCAyMCclM0UlM0NwYXRoIGQ9J00xMCA0QzkgNCA5IDUgOSA1di4xQTUgNSAwIDAgMCA1LjEgOUg1cy0xIDAtMSAxIDEgMSAxIDFoLjFBNSA1IDAgMCAwIDkgMTQuOXYuMXMwIDEgMSAxIDEtMSAxLTF2LS4xYTUgNSAwIDAgMCAzLjktMy45aC4xczEgMCAxLTEtMS0xLTEtMWgtLjFBNSA1IDAgMCAwIDExIDUuMVY1czAtMS0xLTFtMCAyLjVhMy41IDMuNSAwIDEgMSAwIDcgMy41IDMuNSAwIDEgMSAwLTcnLyUzRSUzQ2NpcmNsZSBjeD0nMTAnIGN5PScxMCcgcj0nMicvJTNFJTNDcGF0aCBmaWxsPSdyZWQnIGQ9J20xNCA1IDEgMS05IDktMS0xeicvJTNFJTNDL3N2ZyUzRVwiKX0ubWFwbGlicmVnbC1jdHJsIGJ1dHRvbi5tYXBsaWJyZWdsLWN0cmwtZ2VvbG9jYXRlLm1hcGxpYnJlZ2wtY3RybC1nZW9sb2NhdGUtYWN0aXZlIC5tYXBsaWJyZWdsLWN0cmwtaWNvbntiYWNrZ3JvdW5kLWltYWdlOnVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0Zi04LCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPScyOScgaGVpZ2h0PScyOScgZmlsbD0nJTIzMzNiNWU1JyB2aWV3Qm94PScwIDAgMjAgMjAnJTNFJTNDcGF0aCBkPSdNMTAgNEM5IDQgOSA1IDkgNXYuMUE1IDUgMCAwIDAgNS4xIDlINXMtMSAwLTEgMSAxIDEgMSAxaC4xQTUgNSAwIDAgMCA5IDE0Ljl2LjFzMCAxIDEgMSAxLTEgMS0xdi0uMWE1IDUgMCAwIDAgMy45LTMuOWguMXMxIDAgMS0xLTEtMS0xLTFoLS4xQTUgNSAwIDAgMCAxMSA1LjFWNXMwLTEtMS0xbTAgMi41YTMuNSAzLjUgMCAxIDEgMCA3IDMuNSAzLjUgMCAxIDEgMC03Jy8lM0UlM0NjaXJjbGUgY3g9JzEwJyBjeT0nMTAnIHI9JzInLyUzRSUzQy9zdmclM0VcIil9Lm1hcGxpYnJlZ2wtY3RybCBidXR0b24ubWFwbGlicmVnbC1jdHJsLWdlb2xvY2F0ZS5tYXBsaWJyZWdsLWN0cmwtZ2VvbG9jYXRlLWFjdGl2ZS1lcnJvciAubWFwbGlicmVnbC1jdHJsLWljb257YmFja2dyb3VuZC1pbWFnZTp1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGYtOCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMjknIGhlaWdodD0nMjknIGZpbGw9JyUyM2U1ODk3OCcgdmlld0JveD0nMCAwIDIwIDIwJyUzRSUzQ3BhdGggZD0nTTEwIDRDOSA0IDkgNSA5IDV2LjFBNSA1IDAgMCAwIDUuMSA5SDVzLTEgMC0xIDEgMSAxIDEgMWguMUE1IDUgMCAwIDAgOSAxNC45di4xczAgMSAxIDEgMS0xIDEtMXYtLjFhNSA1IDAgMCAwIDMuOS0zLjloLjFzMSAwIDEtMS0xLTEtMS0xaC0uMUE1IDUgMCAwIDAgMTEgNS4xVjVzMC0xLTEtMW0wIDIuNWEzLjUgMy41IDAgMSAxIDAgNyAzLjUgMy41IDAgMSAxIDAtNycvJTNFJTNDY2lyY2xlIGN4PScxMCcgY3k9JzEwJyByPScyJy8lM0UlM0Mvc3ZnJTNFXCIpfS5tYXBsaWJyZWdsLWN0cmwgYnV0dG9uLm1hcGxpYnJlZ2wtY3RybC1nZW9sb2NhdGUubWFwbGlicmVnbC1jdHJsLWdlb2xvY2F0ZS1iYWNrZ3JvdW5kIC5tYXBsaWJyZWdsLWN0cmwtaWNvbntiYWNrZ3JvdW5kLWltYWdlOnVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0Zi04LCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPScyOScgaGVpZ2h0PScyOScgZmlsbD0nJTIzMzNiNWU1JyB2aWV3Qm94PScwIDAgMjAgMjAnJTNFJTNDcGF0aCBkPSdNMTAgNEM5IDQgOSA1IDkgNXYuMUE1IDUgMCAwIDAgNS4xIDlINXMtMSAwLTEgMSAxIDEgMSAxaC4xQTUgNSAwIDAgMCA5IDE0Ljl2LjFzMCAxIDEgMSAxLTEgMS0xdi0uMWE1IDUgMCAwIDAgMy45LTMuOWguMXMxIDAgMS0xLTEtMS0xLTFoLS4xQTUgNSAwIDAgMCAxMSA1LjFWNXMwLTEtMS0xbTAgMi41YTMuNSAzLjUgMCAxIDEgMCA3IDMuNSAzLjUgMCAxIDEgMC03Jy8lM0UlM0Mvc3ZnJTNFXCIpfS5tYXBsaWJyZWdsLWN0cmwgYnV0dG9uLm1hcGxpYnJlZ2wtY3RybC1nZW9sb2NhdGUubWFwbGlicmVnbC1jdHJsLWdlb2xvY2F0ZS1iYWNrZ3JvdW5kLWVycm9yIC5tYXBsaWJyZWdsLWN0cmwtaWNvbntiYWNrZ3JvdW5kLWltYWdlOnVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0Zi04LCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPScyOScgaGVpZ2h0PScyOScgZmlsbD0nJTIzZTU0ZTMzJyB2aWV3Qm94PScwIDAgMjAgMjAnJTNFJTNDcGF0aCBkPSdNMTAgNEM5IDQgOSA1IDkgNXYuMUE1IDUgMCAwIDAgNS4xIDlINXMtMSAwLTEgMSAxIDEgMSAxaC4xQTUgNSAwIDAgMCA5IDE0Ljl2LjFzMCAxIDEgMSAxLTEgMS0xdi0uMWE1IDUgMCAwIDAgMy45LTMuOWguMXMxIDAgMS0xLTEtMS0xLTFoLS4xQTUgNSAwIDAgMCAxMSA1LjFWNXMwLTEtMS0xbTAgMi41YTMuNSAzLjUgMCAxIDEgMCA3IDMuNSAzLjUgMCAxIDEgMC03Jy8lM0UlM0Mvc3ZnJTNFXCIpfX1cblxuQG1lZGlhIChmb3JjZWQtY29sb3JzOmFjdGl2ZSkgYW5kIChwcmVmZXJzLWNvbG9yLXNjaGVtZTpsaWdodCl7Lm1hcGxpYnJlZ2wtY3RybCBidXR0b24ubWFwbGlicmVnbC1jdHJsLWdlb2xvY2F0ZSAubWFwbGlicmVnbC1jdHJsLWljb257YmFja2dyb3VuZC1pbWFnZTp1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGYtOCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMjknIGhlaWdodD0nMjknIHZpZXdCb3g9JzAgMCAyMCAyMCclM0UlM0NwYXRoIGQ9J00xMCA0QzkgNCA5IDUgOSA1di4xQTUgNSAwIDAgMCA1LjEgOUg1cy0xIDAtMSAxIDEgMSAxIDFoLjFBNSA1IDAgMCAwIDkgMTQuOXYuMXMwIDEgMSAxIDEtMSAxLTF2LS4xYTUgNSAwIDAgMCAzLjktMy45aC4xczEgMCAxLTEtMS0xLTEtMWgtLjFBNSA1IDAgMCAwIDExIDUuMVY1czAtMS0xLTFtMCAyLjVhMy41IDMuNSAwIDEgMSAwIDcgMy41IDMuNSAwIDEgMSAwLTcnLyUzRSUzQ2NpcmNsZSBjeD0nMTAnIGN5PScxMCcgcj0nMicvJTNFJTNDL3N2ZyUzRVwiKX0ubWFwbGlicmVnbC1jdHJsIGJ1dHRvbi5tYXBsaWJyZWdsLWN0cmwtZ2VvbG9jYXRlOmRpc2FibGVkIC5tYXBsaWJyZWdsLWN0cmwtaWNvbntiYWNrZ3JvdW5kLWltYWdlOnVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0Zi04LCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPScyOScgaGVpZ2h0PScyOScgZmlsbD0nJTIzNjY2JyB2aWV3Qm94PScwIDAgMjAgMjAnJTNFJTNDcGF0aCBkPSdNMTAgNEM5IDQgOSA1IDkgNXYuMUE1IDUgMCAwIDAgNS4xIDlINXMtMSAwLTEgMSAxIDEgMSAxaC4xQTUgNSAwIDAgMCA5IDE0Ljl2LjFzMCAxIDEgMSAxLTEgMS0xdi0uMWE1IDUgMCAwIDAgMy45LTMuOWguMXMxIDAgMS0xLTEtMS0xLTFoLS4xQTUgNSAwIDAgMCAxMSA1LjFWNXMwLTEtMS0xbTAgMi41YTMuNSAzLjUgMCAxIDEgMCA3IDMuNSAzLjUgMCAxIDEgMC03Jy8lM0UlM0NjaXJjbGUgY3g9JzEwJyBjeT0nMTAnIHI9JzInLyUzRSUzQ3BhdGggZmlsbD0ncmVkJyBkPSdtMTQgNSAxIDEtOSA5LTEtMXonLyUzRSUzQy9zdmclM0VcIil9fVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgbWFwbGlicmVnbC1zcGluezAley13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSgwZGVnKTt0cmFuc2Zvcm06cm90YXRlKDBkZWcpfXRvey13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSgxdHVybik7dHJhbnNmb3JtOnJvdGF0ZSgxdHVybil9fVxuXG5Aa2V5ZnJhbWVzIG1hcGxpYnJlZ2wtc3BpbnswJXstd2Via2l0LXRyYW5zZm9ybTpyb3RhdGUoMGRlZyk7dHJhbnNmb3JtOnJvdGF0ZSgwZGVnKX10b3std2Via2l0LXRyYW5zZm9ybTpyb3RhdGUoMXR1cm4pO3RyYW5zZm9ybTpyb3RhdGUoMXR1cm4pfX1cblxuYS5tYXBsaWJyZWdsLWN0cmwtbG9nb3tiYWNrZ3JvdW5kLWltYWdlOnVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0Zi04LCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPSc4OCcgaGVpZ2h0PScyMycgZmlsbD0nbm9uZSclM0UlM0NwYXRoIGZpbGw9JyUyMzAwMCcgZmlsbC1vcGFjaXR5PScuNCcgZmlsbC1ydWxlPSdldmVub2RkJyBkPSdNMTcuNDA4IDE2Ljc5NmgtMS44MjdsMi41MDEtMTIuMDk1aC4xOThsMy4zMjQgNi41MzMuOTg4IDIuMTkuOTg4LTIuMTkgMy4yNTgtNi41MzNoLjE4MWwyLjYgMTIuMDk1aC0xLjgxbC0xLjIxOC01LjY0NC0uMzYyLTEuNzEtLjY1OCAxLjcxLTIuOTI5IDUuNjQ0aC0uMDk4bC0yLjkxNC01LjY0NC0uNzU3LTEuNzEtLjM0NSAxLjcxem0xLjk1OC0zLjQyLS43MjYgMy42NjNhMS4yNTUgMS4yNTUgMCAwIDEtMS4yMzIgMS4wMTFoLTEuODI3YTEuMjU1IDEuMjU1IDAgMCAxLTEuMjI5LTEuNTA5bDIuNTAxLTEyLjA5NWExLjI1NSAxLjI1NSAwIDAgMSAxLjIzLTEuMDAxaC4xOTdhMS4yNSAxLjI1IDAgMCAxIDEuMTIuNjg1bDMuMTkgNi4yNzMgMy4xMjUtNi4yNjNhMS4yNSAxLjI1IDAgMCAxIDEuMTIzLS42OTVoLjE4MWExLjI1NSAxLjI1NSAwIDAgMSAxLjIyNy45OTFsMS40NDMgNi43MWE1IDUgMCAwIDEgLjMxNC0uNzg3bC4wMDktLjAxNmE0LjYgNC42IDAgMCAxIDEuNzc3LTEuODg3Yy43ODItLjQ2IDEuNjY4LS42NjcgMi42MTEtLjY2N2E0LjYgNC42IDAgMCAxIDEuNy4zMmwuMzA2LjEzNGMuMjEtLjE2LjQ3NC0uMjU2Ljc1OS0uMjU2aDEuNjk0YTEuMjU1IDEuMjU1IDAgMCAxIDEuMjEyLjkyNSAxLjI1NSAxLjI1NSAwIDAgMSAxLjIxMi0uOTI1aDEuNzExYy4yODQgMCAuNTQ1LjA5NC43NTUuMjUyLjYxMy0uMyAxLjMxMi0uNDUgMi4wNzUtLjQ1IDEuMzU2IDAgMi41NTcuNDQ1IDMuNDgyIDEuNHEuNDcuNDguNzYzIDEuMDY0VjQuNzAxYTEuMjU1IDEuMjU1IDAgMCAxIDEuMjU1LTEuMjU1aDEuODZBMS4yNTUgMS4yNTUgMCAwIDEgNTQuNDQgNC43djkuMTk0aDIuMjE3Yy4xOSAwIC4zNy4wNDMuNTMyLjExOHYtNC43N2MwLS4zNTYuMTQ3LS42NzguMzg1LS45MDZhMi40MiAyLjQyIDAgMCAxLS42ODItMS43MWMwLS42NjUuMjY3LTEuMjUzLjczNS0xLjdhMi40NSAyLjQ1IDAgMCAxIDEuNzIyLS42NzQgMi40MyAyLjQzIDAgMCAxIDEuNzA1LjY3NXEuMzE4LjMwMi41MDQuNjgzVjQuN2ExLjI1NSAxLjI1NSAwIDAgMSAxLjI1NS0xLjI1NWgxLjc0NEExLjI1NSAxLjI1NSAwIDAgMSA2NS44MTIgNC43djMuMzM1YTQuOCA0LjggMCAwIDEgMS41MjYtLjI0NmMuOTM4IDAgMS44MTcuMjE0IDIuNTkuNjlhNC40NyA0LjQ3IDAgMCAxIDEuNjcgMS43NDN2LS45OGExLjI1NSAxLjI1NSAwIDAgMSAxLjI1Ni0xLjI1NmgxLjc3N2MuMjMzIDAgLjQ1MS4wNjQuNjM5LjE3NGEzLjQgMy40IDAgMCAxIDEuNTY3LS4zNzJjLjM0NiAwIC44NjEuMDIgMS4yODUuMjMyYTEuMjUgMS4yNSAwIDAgMSAuNjg5IDEuMDA0IDQuNyA0LjcgMCAwIDEgLjg1My0uNTg4Yy43OTUtLjQ0IDEuNjc1LS42NDcgMi42MS0uNjQ3IDEuMzg1IDAgMi42NS4zOSAzLjUyNSAxLjM5Ni44MzYuOTM4IDEuMTY4IDIuMTczIDEuMTY4IDMuNTI4cS0uMDAxLjUxNS0uMDU2IDEuMDUxYTEuMjU1IDEuMjU1IDAgMCAxLS45NDcgMS4wOWwuNDA4Ljk1MmExLjI1NSAxLjI1NSAwIDAgMS0uNDc3IDEuNTUyYy0uNDE4LjI2OC0uOTIuNDYzLTEuNDU4LjYxMi0uNjEzLjE3MS0xLjMwNC4yNDQtMi4wNDkuMjQ0LTEuMDYgMC0yLjA0My0uMjA3LTIuODg2LS42OThsLS4wMTUtLjAwOGMtLjc5OC0uNDgtMS40MTktMS4xMzUtMS44MTgtMS45NjNsLS4wMDQtLjAwOGE1LjggNS44IDAgMCAxLS41NDgtMi41MTJxMC0uNDI5LjA1My0uODQzYTEuMyAxLjMgMCAwIDEtLjMzMy0uMDg2bC0uMTY2LS4wMDRjLS4yMjMgMC0uNDI2LjA2Mi0uNjQzLjIyOC0uMDMuMDI0LS4xNDIuMTM5LS4xNDIuNTl2My44ODNhMS4yNTUgMS4yNTUgMCAwIDEtMS4yNTYgMS4yNTZoLTEuNzc3YTEuMjU1IDEuMjU1IDAgMCAxLTEuMjU2LTEuMjU2VjE1LjY5bC0uMDMyLjA1N2E0LjggNC44IDAgMCAxLTEuODYgMS44MzMgNS4wNCA1LjA0IDAgMCAxLTIuNDg0LjYzNCA0LjUgNC41IDAgMCAxLTEuOTM1LS40MjQgMS4yNSAxLjI1IDAgMCAxLS43NjQuMjU4aC0xLjcxYTEuMjU1IDEuMjU1IDAgMCAxLTEuMjU2LTEuMjU1VjcuNjg3YTIuNCAyLjQgMCAwIDEtLjQyOC42MjVjLjI1My4yMy40MTIuNTYxLjQxMi45M3Y3LjU1M2ExLjI1NSAxLjI1NSAwIDAgMS0xLjI1NiAxLjI1NWgtMS44NDNhMS4yNSAxLjI1IDAgMCAxLS44OTQtLjM3M2MtLjIyOC4yMy0uNTQ0LjM3My0uODk0LjM3M0g1MS4zMmExLjI1NSAxLjI1NSAwIDAgMS0xLjI1Ni0xLjI1NXYtMS4yNTFsLS4wNjEuMTE3YTQuNyA0LjcgMCAwIDEtMS43ODIgMS44ODQgNC43NyA0Ljc3IDAgMCAxLTIuNDg1LjY3IDUuNiA1LjYgMCAwIDEtMS40ODUtLjE4OGwuMDA5IDIuNzY0YTEuMjU1IDEuMjU1IDAgMCAxLTEuMjU1IDEuMjU5aC0xLjcyOWExLjI1NSAxLjI1NSAwIDAgMS0xLjI1NS0xLjI1NXYtMy41MzdhMS4yNTUgMS4yNTUgMCAwIDEtMS4xNjcuNzkzaC0xLjY3OWExLjI1IDEuMjUgMCAwIDEtLjc3LS4yNjMgNC41IDQuNSAwIDAgMS0xLjk0NS40MjljLS44ODUgMC0xLjcyNC0uMjEtMi40OTUtLjYzMmwtLjAxNy0uMDFhNSA1IDAgMCAxLTEuMDgxLS44MzYgMS4yNTUgMS4yNTUgMCAwIDEtMS4yNTQgMS4zMTJoLTEuODFhMS4yNTUgMS4yNTUgMCAwIDEtMS4yMjgtLjk5bC0uNzgyLTMuNjI1LTIuMDQ0IDMuOTM5YTEuMjUgMS4yNSAwIDAgMS0xLjExNS42NzZoLS4wOThhMS4yNSAxLjI1IDAgMCAxLTEuMTE2LS42OGwtMi4wNjEtMy45OTR6TTM1LjkyIDE2LjYzbC4yMDctLjExNC4yMjMtLjE1cS40OTMtLjM1Ni43MzUtLjc4NWwuMDYxLS4xMTguMDMzIDEuMzMyaDEuNjc4VjkuMjQyaC0xLjY5NGwtLjAzMyAxLjI2N3EtLjEzMy0uMzI5LS41MjYtLjY1OGwtLjAzMi0uMDI4YTMuMiAzLjIgMCAwIDAtLjY2OC0uNDI4bC0uMjctLjEyYTMuMyAzLjMgMCAwIDAtMS4yMzUtLjIzcS0xLjEzNi0uMDAxLTEuOTc0LjQ5M2EzLjM2IDMuMzYgMCAwIDAtMS4zIDEuMzgycS0uNDQ1Ljg5LS40NDQgMi4wNzQgMCAxLjIuNTEgMi4xMDdhMy44IDMuOCAwIDAgMCAxLjM4MiAxLjM4MSAzLjkgMy45IDAgMCAwIDEuODkzLjQ3N3EuNzk1IDAgMS40NTUtLjMzem0tMi43ODktNS4zOHEtLjU3Ni42NzUtLjU3NSAxLjc2MiAwIDEuMTAyLjU1OSAxLjc5NC41NzYuNjc1IDEuNjQ1LjY3NWEyLjI1IDIuMjUgMCAwIDAgLjkzNC0uMTkgMi4yIDIuMiAwIDAgMCAuNDY4LS4yOWwuMTc4LS4xNjFhMi4yIDIuMiAwIDAgMCAuMzk3LS41NjFxLjI0NC0uNS4yNDQtMS4xNXYtLjExNXEwLS43MDgtLjI5Ni0xLjI2N2wtLjA0My0uMDc3YTIuMiAyLjIgMCAwIDAtLjYzMy0uNzA5bC0uMTMtLjA4Ni0uMDQ3LS4wMjhhMi4xIDIuMSAwIDAgMC0xLjA3My0uMjg1cS0xLjA1MiAwLTEuNjI5LjY5MnptMi4zMTYgMi43MDZjLjE2My0uMTcuMjgtLjQwNy4yOC0uODN2LS4xMTRjMC0uMjkyLS4wNi0uNTA4LS4xNS0uNjhhLjk2Ljk2IDAgMCAwLS4zNTMtLjM4OS44NS44NSAwIDAgMC0uNDY0LS4xMjdjLS40IDAtLjU2LjExNC0uNjY0LjIzOWwtLjAxLjAxMmMtLjE0OC4xNzQtLjI3NS40NS0uMjc1Ljk0NSAwIC41MDYuMTIyLjgwMS4yNy45OS4wOTcuMTEuMjY2LjIyNC42OC4yMjQuMzAzIDAgLjUwNC0uMDkuNjg3LS4yNjl6bTcuNTQ1IDEuNzA1YTIuNiAyLjYgMCAwIDAgLjMzMS40MjNxLjMxOS4zMy43NTUuNTQ4bC4xNzMuMDc0cS42NS4yNTUgMS40OS4yNTUgMS4wMiAwIDEuODQ0LS40OTNhMy40NSAzLjQ1IDAgMCAwIDEuMzE2LTEuNHEuNDkzLS45MDQuNDkzLTIuMDg5IDAtMS45MDktLjk4OC0yLjkxMy0uOTg4LTEuMDItMi41ODQtMS4wMi0uODk4IDAtMS41NzUuMzQ3YTMgMyAwIDAgMC0uNDE1LjI2MmwtLjE5OS4xNjZhMy40IDMuNCAwIDAgMC0uNjQuODJWOS4yNDJoLTEuNzEydjExLjU1M2gxLjcyOWwtLjAxNy01LjEzNHptLjUzLTEuMTM4cS4yMDYuMjkuNDguNWwuMTU1LjExLjA1My4wMzRxLjUxLjI5NiAxLjExOS4yOTcgMS4wNyAwIDEuNjQ1LS42NzUuNTc3LS42OS41NzYtMS43NjIgMC0xLjExOS0uNTc2LTEuNzc3LS41NTgtLjY3NS0xLjY0NS0uNjc1LS40MzUgMC0uODM1LjE2YTIgMiAwIDAgMC0uMjg0LjEzNiAyIDIgMCAwIDAtLjM2My4yNTQgMi4yIDIuMiAwIDAgMC0uNDYuNTY5bC0uMDgyLjE2MmEyLjYgMi42IDAgMCAwLS4yMTMgMS4wNzJ2LjExNXEwIC43MDcuMjk2IDEuMjY3bC4xMzUuMjExem0uOTY0LS44MThhMS4xIDEuMSAwIDAgMCAuMzY3LjM4NS45NC45NCAwIDAgMCAuNDc2LjExOGMuNDIzIDAgLjU5LS4xMTcuNjg3LS4yMy4xNTktLjE5NC4yOC0uNDc4LjI4LS45NSAwLS41My0uMTMzLS44LS4yNjYtLjk1MmwtLjAyMS0uMDI1Yy0uMDc4LS4wOTQtLjIzMS0uMjIxLS42OC0uMjIxYTEgMSAwIDAgMC0uNTAzLjEzNWwtLjAxMi4wMDdhLjg2Ljg2IDAgMCAwLS4zMzUuMzQzYy0uMDczLjEzMy0uMTMyLjMyNC0uMTMyLjYxNHYuMTE1YTEuNCAxLjQgMCAwIDAgLjE0LjY2em0xNS43LTYuMjIycS4zNDctLjM0Ni4zNDYtLjg1NmExLjA1IDEuMDUgMCAwIDAtLjM0NS0uNzkgMS4xOCAxLjE4IDAgMCAwLS44NC0uMzI5cS0uNTEgMC0uODU1LjMzYTEuMDUgMS4wNSAwIDAgMC0uMzQ2Ljc5cTAgLjUxLjM0Ni44NTUuMzQ1LjM0Ni44NTYuMzQ2LjUxIDAgLjgzOS0uMzQ2em00LjMzNyA5LjMxNC4wMzMtMS4zMzJxLjE5MS40MDMuNTkuNzQ3bC4wOTguMDgxYTQgNCAwIDAgMCAuMzE2LjIyNGwuMjIzLjEyMmEzLjIgMy4yIDAgMCAwIDEuNDQuMzIyIDMuOCAzLjggMCAwIDAgMS44NzUtLjQ3NyAzLjUgMy41IDAgMCAwIDEuMzgyLTEuMzY2cS41MjctLjg5LjUyNi0yLjA5IDAtMS4xODQtLjQ0NC0yLjA3M2EzLjI0IDMuMjQgMCAwIDAtMS4yODMtMS4zOTlxLS44MjMtLjUxLTEuOTQyLS41MWEzLjUgMy41IDAgMCAwLTEuNTI3LjM0NGwtLjA4Ni4wNDMtLjE2NS4wOWEzIDMgMCAwIDAtLjMzLjIxNHEtLjQzMi4zMTUtLjY1Ni43MDdhMiAyIDAgMCAwLS4wOTkuMTk4bC4wODItMS4yODNWNC43MDFoLTEuNzQ0djEyLjA5NXptLjQ3My0yLjUwOWEyLjUgMi41IDAgMCAwIC41NjYuN3EuMTE3LjA5OC4yNDUuMThsLjE0NC4wOGEyLjEgMi4xIDAgMCAwIC45NzUuMjMycTEuMDcgMCAxLjY0NS0uNjc1LjU3Ni0uNjkuNTc2LTEuNzc4IDAtMS4xMDItLjU3Ni0xLjc3Ny0uNTYtLjY5MS0xLjY0NS0uNjkyYTIuMiAyLjIgMCAwIDAtMS4wMTUuMjM1cS0uMjIuMTEzLS40MTUuMjgybC0uMTUuMTQyYTIuMSAyLjEgMCAwIDAtLjQyLjU5NHEtLjIyMy40NzktLjIyMyAxLjF2LjExNXEwIC43MDUuMjkzIDEuMjZ6bTIuNjE2LS4yOTNjLjE1Ny0uMTkxLjI4LS40NzkuMjgtLjk2NyAwLS41MS0uMTMtLjc5LS4yNzYtLjk2MWwtLjAyMS0uMDI2Yy0uMDgyLS4xLS4yMzItLjIyNS0uNjctLjIyNWEuODcuODcgMCAwIDAtLjY4MS4yNzlsLS4wMTIuMDExYy0uMTU0LjE1NS0uMjc0LjM4LS4yNzQuODA3di4xMTVjMCAuMjg1LjA1Ny40OTkuMTQ0LjY2OWExLjEgMS4xIDAgMCAwIC4zNjcuNDA1Yy4xMzcuMDgyLjI4LjEyMy40NTUuMTIzLjQyMyAwIC41OS0uMTE4LjY4Ni0uMjN6bTguMjY2LTMuMDEzcS4zNDUtLjEzLjcyNC0uMTRsLjA2OS0uMDAycS40OTMgMCAuNjQyLjA5OWwuMjQ3LTEuNzk0cS0uMTk2LS4wOTktLjcxNy0uMDk5YTIuMyAyLjMgMCAwIDAtLjU0NS4wNjMgMiAyIDAgMCAwLS40MTEuMTQ4IDIuMiAyLjIgMCAwIDAtLjQuMjQ5IDIuNSAyLjUgMCAwIDAtLjQ4NS40OTkgMi43IDIuNyAwIDAgMC0uMzIuNTgxbC0uMDUuMTM3di0xLjQ4aC0xLjc3OHY3LjU1M2gxLjc3N3YtMy44ODRxMC0uNTQ2LjE1OS0uOTQzYTEuNSAxLjUgMCAwIDEgLjQ2Ni0uNjM2IDIuNSAyLjUgMCAwIDEgLjM5OS0uMjUzIDIgMiAwIDAgMSAuMjI0LS4wOTl6bTkuNzg0IDIuNjU2LjA1LS45MjJxMC0xLjc0My0uODU2LTIuNjk4LS44MzgtLjk3LTIuNTg0LS45Ny0xLjExOS0uMDAxLTIuMDA3LjQ5M2EzLjQ2IDMuNDYgMCAwIDAtMS40IDEuMzgycS0uNDkzLjkwNi0uNDkzIDIuMTA2IDAgMS4wNy40MjggMS45NzUuNDI4Ljg5IDEuMzMyIDEuNDMyLjkwNi41MjYgMi4yNTUuNTI2Ljk3MyAwIDEuNjY4LS4xODVsLjA0NC0uMDEyLjEzNS0uMDRxLjYxMy0uMTg0Ljk4NC0uNDIxbC0uNTQyLTEuMjY3cS0uMy4xNjItLjY0Mi4yNzRsLS4yOTcuMDg3cS0uNTEuMTMxLTEuMy4xMzEtLjk1NCAwLTEuNDk3LS40NDRhMS42IDEuNiAwIDAgMS0uMTkyLS4xOTNxLS4zNjYtLjQ0LS41MTItMS4yMzRsLS4wMDQtLjAyMXptLTUuNDI3LTEuMjU2LS4wMDMuMDIyaDMuNzUydi0uMTM4cS0uMDExLS43MjctLjI4OC0xLjExOGExIDEgMCAwIDAtLjE1Ni0uMTc2cS0uNDYtLjQyOC0xLjMxNi0uNDI4LS45ODYgMC0xLjQ5NC42MDQtLjM3OS40NS0uNDk0IDEuMjM0em0tMjcuMDUzIDIuNzdWNC43aC0xLjg2djEyLjA5NWg1LjMzM1YxNS4xNXptNy4xMDMtNS45MDh2Ny41NTNoLTEuODQzVjkuMjQyaDEuODQzeicvJTNFJTNDcGF0aCBmaWxsPSclMjNmZmYnIGQ9J20xOS42MyAxMS4xNTEtLjc1Ny0xLjcxLS4zNDUgMS43MS0xLjEyIDUuNjQ0aC0xLjgyN0wxOC4wODMgNC43aC4xOTdsMy4zMjUgNi41MzMuOTg4IDIuMTkuOTg4LTIuMTlMMjYuODM5IDQuN2guMTgxbDIuNiAxMi4wOTVoLTEuODFsLTEuMjE4LTUuNjQ0LS4zNjItMS43MS0uNjU4IDEuNzEtMi45MyA1LjY0NGgtLjA5OGwtMi45MTMtNS42NDR6bTE0LjgzNiA1LjgxcS0xLjAyIDAtMS44OTMtLjQ3OGEzLjggMy44IDAgMCAxLTEuMzgxLTEuMzgycS0uNTEtLjkwNi0uNTEtMi4xMDYgMC0xLjE4NS40NDQtMi4wNzRhMy4zNiAzLjM2IDAgMCAxIDEuMy0xLjM4MnEuODM5LS40OTQgMS45NzQtLjQ5NGEzLjMgMy4zIDAgMCAxIDEuMjM0LjIzMSAzLjMgMy4zIDAgMCAxIC45Ny41NzVxLjM5Ni4zMy41MjcuNjU5bC4wMzMtMS4yNjdoMS42OTR2Ny41NTNIMzcuMThsLS4wMzMtMS4zMzJxLS4yNzkuNTkzLTEuMDIgMS4wNTNhMy4xNyAzLjE3IDAgMCAxLTEuNjYyLjQ0NHptLjI5Ni0xLjQ4MnEuOTM4IDAgMS41OC0uNjQyLjY0Mi0uNjYuNjQyLTEuNzExdi0uMTE1cTAtLjcwOC0uMjk2LTEuMjY3YTIuMiAyLjIgMCAwIDAtLjgwNy0uODcyIDIuMSAyLjEgMCAwIDAtMS4xMTktLjMxM3EtMS4wNTMgMC0xLjYyOS42OTItLjU3NS42NzUtLjU3NSAxLjc2IDAgMS4xMDMuNTU5IDEuNzk1LjU3Ny42NzUgMS42NDUuNjc1em02LjUyMS02LjIzN2gxLjcxMXYxLjRxLjkwNi0xLjU5NyAyLjgzLTEuNTk3IDEuNTk2IDAgMi41ODQgMS4wMi45ODggMS4wMDUuOTg4IDIuOTE0IDAgMS4xODUtLjQ5MyAyLjA5YTMuNDYgMy40NiAwIDAgMS0xLjMxNiAxLjM5OSAzLjUgMy41IDAgMCAxLTEuODQ0LjQ5M3EtLjk1NCAwLTEuNjYyLS4zMjlhMi42NyAyLjY3IDAgMCAxLTEuMDg2LS45N2wuMDE3IDUuMTM0aC0xLjcyOHptNC4wNDggNi4yMnExLjA3IDAgMS42NDUtLjY3NC41NzctLjY5LjU3Ni0xLjc2MiAwLTEuMTE5LS41NzYtMS43NzctLjU1OC0uNjc1LTEuNjQ1LS42NzUtLjU5MiAwLTEuMTIuMjk2LS41MS4yOC0uODIyLjgyMy0uMjk2LjUyNy0uMjk2IDEuMjM0di4xMTVxMCAuNzA4LjI5NiAxLjI2Ny4zMTMuNTQzLjgyMy44NTUuNTEuMjk2IDEuMTE5LjI5N3onLyUzRSUzQ3BhdGggZmlsbD0nJTIzZTFlM2U5JyBkPSdNNTEuMzI1IDQuN2gxLjg2djEwLjQ1aDMuNDczdjEuNjQ2aC01LjMzM3ptNy4xMiA0LjU0MmgxLjg0M3Y3LjU1M2gtMS44NDN6bS45MDUtMS40MTVhMS4xNiAxLjE2IDAgMCAxLS44NTYtLjM0NiAxLjE3IDEuMTcgMCAwIDEtLjM0Ni0uODU2IDEuMDUgMS4wNSAwIDAgMSAuMzQ2LS43OXEuMzQ2LS4zMjkuODU2LS4zMjkuNDk0IDAgLjgzOS4zM2ExLjA1IDEuMDUgMCAwIDEgLjM0NS43OSAxLjE2IDEuMTYgMCAwIDEtLjM0NS44NTVxLS4zMy4zNDYtLjg0LjM0NnptNy44NzUgOS4xMzNhMy4xNyAzLjE3IDAgMCAxLTEuNjYyLS40NDRxLS43MjMtLjQ2LTEuMDA0LTEuMDUzbC0uMDMzIDEuMzMyaC0xLjcxVjQuNzAxaDEuNzQzdjQuNjU3bC0uMDgyIDEuMjgzcS4yNzktLjY1OCAxLjA4Ni0xLjExOWEzLjUgMy41IDAgMCAxIDEuNzc4LS40NzdxMS4xMTkgMCAxLjk0Mi41MWEzLjI0IDMuMjQgMCAwIDEgMS4yODMgMS40cS40NDUuODg4LjQ0NCAyLjA3MiAwIDEuMjAxLS41MjYgMi4wOWEzLjUgMy41IDAgMCAxLTEuMzgyIDEuMzY2IDMuOCAzLjggMCAwIDEtMS44NzYuNDc3em0tLjI5Ni0xLjQ4MXExLjA2OSAwIDEuNjQ1LS42NzUuNTc3LS42OS41NzctMS43NzggMC0xLjEwMi0uNTc3LTEuNzc2LS41Ni0uNjkxLTEuNjQ1LS42OTJhMi4xMiAyLjEyIDAgMCAwLTEuNTguNjU5cS0uNjQyLjY0MS0uNjQyIDEuNjk0di4xMTVxMCAuNzEuMjk2IDEuMjY3YTIuNCAyLjQgMCAwIDAgLjgwNy44NzIgMi4xIDIuMSAwIDAgMCAxLjExOS4zMTN6bTUuOTI3LTYuMjM3aDEuNzc3djEuNDgxcS4yNjMtLjc1Ny44NTYtMS4yMTdhMi4xNCAyLjE0IDAgMCAxIDEuMzQ5LS40NnEuNTI3IDAgLjcyNC4wOThsLS4yNDcgMS43OTRxLS4xNDktLjA5OS0uNjQyLS4wOTktLjc3NCAwLTEuNDE2LjQ5NC0uNjI2LjQ5My0uNjI2IDEuNTh2My44ODNoLTEuNzc3VjkuMjQyem05LjUzNCA3LjcxOHEtMS4zNSAwLTIuMjU1LS41MjYtLjkwNC0uNTQzLTEuMzMyLTEuNDMyYTQuNiA0LjYgMCAwIDEtLjQyOC0xLjk3NXEwLTEuMi40OTMtMi4xMDZhMy40NiAzLjQ2IDAgMCAxIDEuNC0xLjM4MnEuODg5LS40OTUgMi4wMDctLjQ5NCAxLjc0NCAwIDIuNTg0Ljk3Ljg1NS45NTYuODU2IDIuNyAwIC40NDQtLjA1LjkyaC01LjQzcS4xOCAxLjAwNS43MDggMS40NS41NDIuNDQzIDEuNDk3LjQ0My43OSAwIDEuMy0uMTMxYTQgNCAwIDAgMCAuOTM4LS4zNjJsLjU0MiAxLjI2N3EtLjQxMS4yNjMtMS4xMTkuNDYtLjcwOC4xOTgtMS43MTEuMTk3em0xLjU5Ni00LjU1OHEuMDE2LTEuMDItLjQ0NC0xLjQzMi0uNDYtLjQyOC0xLjMxNi0uNDI4LTEuNzI4IDAtMS45OTEgMS44NnonLyUzRSUzQ3BhdGggZD0nTTUuMDc0IDE1Ljk0OGEuNDg0LjY1NyAwIDAgMC0uNDg2LjY1OXYxLjg0YS40ODQuNjU3IDAgMCAwIC40ODYuNjU5aDQuMTAxYS40ODQuNjU3IDAgMCAwIC40ODYtLjY1OXYtMS44NGEuNDg0LjY1NyAwIDAgMC0uNDg2LS42NTl6bTMuNTYgMS4xNkg1LjYxN3YuODM4aDMuMDE3eicgc3R5bGU9J2ZpbGw6JTIzZmZmO2ZpbGwtcnVsZTpldmVub2RkO3N0cm9rZS13aWR0aDoxLjAzNjAwMDAxJy8lM0UlM0NnIHN0eWxlPSdzdHJva2Utd2lkdGg6MS4xMjYwMzU0NSclM0UlM0NwYXRoIGQ9J00tOS40MDgtMS40MTZjLTMuODMzLS4wMjUtNy4wNTYgMi45MTItNy4wOCA2LjYxNS0uMDIgMy4wOCAxLjY1MyA0LjgzMiAzLjEwNyA2LjI2OC45MDMuODkyIDEuNzIxIDEuNzQgMi4zMiAyLjkwMmwtLjUyNS0uMDA0Yy0uNTQzLS4wMDMtLjk5Mi4zMDQtMS4yNC42MzlhMS44NyAxLjg3IDAgMCAwLS4zNjIgMS4xMjFsLS4wMTEgMS44NzdjLS4wMDMuNDAyLjEwNC43ODcuMzQ3IDEuMTI1LjI0NC4zMzguNjg4LjY1MyAxLjIzLjY1Nmw0LjE0Mi4wMjhjLjU0Mi4wMDMuOTktLjMwNiAxLjIzOC0uNjQxYTEuODcgMS44NyAwIDAgMCAuMzYzLTEuMTIxbC4wMTItMS44NzVhMS44NyAxLjg3IDAgMCAwLS4zNDgtMS4xMjdjLS4yNDMtLjMzOC0uNjg4LS42NTMtMS4yMy0uNjU2bC0uNTE4LS4wMDRjLjU5Ny0xLjE0NSAxLjQyNS0xLjk4MyAyLjM0OC0yLjg3IDEuNDczLTEuNDE0IDMuMTgtMy4xNDkgMy4yLTYuMjI2LS4wMTYtMy41OS0yLjkyMy02LjY4NC02Ljk5My02LjcwN20tLjAwNiAxLjF2LjAwMmMzLjI3NC4wMiA1LjkyIDIuNTMyIDUuOSA1LjYtLjAxNyAyLjcwNi0xLjM5IDQuMDI2LTIuODYzIDUuNDQtMS4wMzQuOTk0LTIuMTE4IDIuMDMzLTIuODE0IDMuNjMzLS4wMTguMDQxLS4wNTIuMDU1LS4wNzUuMDY1cS0uMDEzLjAwNC0uMDIuMDFhLjM0LjM0IDAgMCAxLS4yMjYuMDg0LjM0LjM0IDAgMCAxLS4yMjQtLjA4NmwtLjA5Mi0uMDc3Yy0uNjk5LTEuNjE1LTEuNzY4LTIuNjY5LTIuNzgxLTMuNjctMS40NTQtMS40MzUtMi43OTctMi43NjItMi43OC01LjQ3OC4wMi0zLjA2NyAyLjctNS41NDUgNS45NzUtNS41MjNtLS4wMiAyLjgyNmMtMS42Mi0uMDEtMi45NDQgMS4zMTUtMi45NTUgMi45Ni0uMDEgMS42NDYgMS4yOTUgMi45ODggMi45MTYgMi45OTloLjAwMmMxLjYyMS4wMSAyLjk0My0xLjMxNiAyLjk1My0yLjk2MS4wMTEtMS42NDYtMS4yOTQtMi45ODgtMi45MTYtMi45OThtLS4wMDUgMS4xYzEuMDE3LjAwNiAxLjgyOS44MyAxLjgyMiAxLjg5cy0uODMgMS44NzQtMS44NDggMS44NjdjLTEuMDE4LS4wMDYtMS44MjktLjgzLTEuODIyLTEuODlzLjgzLTEuODc0IDEuODQ4LTEuODY4bS0yLjE1NSAxMS44NTcgNC4xNC4wMjVjLjI3MS4wMDIuNDkuMzA1LjQ4Ny42NzZsLS4wMTMgMS44NzVjLS4wMDMuMzctLjIyNC42Ny0uNDk1LjY2OGwtNC4xNC0uMDI1Yy0uMjctLjAwMi0uNDg3LS4zMDYtLjQ4NS0uNjc2bC4wMTItMS44NzVjLjAwMy0uMzcuMjI0LS42Ny40OTQtLjY2OCcgc3R5bGU9J2NvbG9yOiUyMzAwMDtmb250LXN0eWxlOm5vcm1hbDtmb250LXZhcmlhbnQ6bm9ybWFsO2ZvbnQtd2VpZ2h0OjQwMDtmb250LXN0cmV0Y2g6bm9ybWFsO2ZvbnQtc2l6ZTptZWRpdW07bGluZS1oZWlnaHQ6bm9ybWFsO2ZvbnQtZmFtaWx5OnNhbnMtc2VyaWY7Zm9udC12YXJpYW50LWxpZ2F0dXJlczpub3JtYWw7Zm9udC12YXJpYW50LXBvc2l0aW9uOm5vcm1hbDtmb250LXZhcmlhbnQtY2Fwczpub3JtYWw7Zm9udC12YXJpYW50LW51bWVyaWM6bm9ybWFsO2ZvbnQtdmFyaWFudC1hbHRlcm5hdGVzOm5vcm1hbDtmb250LWZlYXR1cmUtc2V0dGluZ3M6bm9ybWFsO3RleHQtaW5kZW50OjA7dGV4dC1hbGlnbjpzdGFydDt0ZXh0LWRlY29yYXRpb246bm9uZTt0ZXh0LWRlY29yYXRpb24tbGluZTpub25lO3RleHQtZGVjb3JhdGlvbi1zdHlsZTpzb2xpZDt0ZXh0LWRlY29yYXRpb24tY29sb3I6JTIzMDAwO2xldHRlci1zcGFjaW5nOm5vcm1hbDt3b3JkLXNwYWNpbmc6bm9ybWFsO3RleHQtdHJhbnNmb3JtOm5vbmU7d3JpdGluZy1tb2RlOmxyLXRiO2RpcmVjdGlvbjpsdHI7dGV4dC1vcmllbnRhdGlvbjptaXhlZDtkb21pbmFudC1iYXNlbGluZTphdXRvO2Jhc2VsaW5lLXNoaWZ0OmJhc2VsaW5lO3RleHQtYW5jaG9yOnN0YXJ0O3doaXRlLXNwYWNlOm5vcm1hbDtzaGFwZS1wYWRkaW5nOjA7Y2xpcC1ydWxlOmV2ZW5vZGQ7ZGlzcGxheTppbmxpbmU7b3ZlcmZsb3c6dmlzaWJsZTt2aXNpYmlsaXR5OnZpc2libGU7b3BhY2l0eToxO2lzb2xhdGlvbjphdXRvO21peC1ibGVuZC1tb2RlOm5vcm1hbDtjb2xvci1pbnRlcnBvbGF0aW9uOnNSR0I7Y29sb3ItaW50ZXJwb2xhdGlvbi1maWx0ZXJzOmxpbmVhclJHQjtzb2xpZC1jb2xvcjolMjMwMDA7c29saWQtb3BhY2l0eToxO3ZlY3Rvci1lZmZlY3Q6bm9uZTtmaWxsOiUyMzAwMDtmaWxsLW9wYWNpdHk6LjQ7ZmlsbC1ydWxlOmV2ZW5vZGQ7c3Ryb2tlOm5vbmU7c3Ryb2tlLXdpZHRoOjIuNDc3Mjc4MjM7c3Ryb2tlLWxpbmVjYXA6YnV0dDtzdHJva2UtbGluZWpvaW46bWl0ZXI7c3Ryb2tlLW1pdGVybGltaXQ6NDtzdHJva2UtZGFzaGFycmF5Om5vbmU7c3Ryb2tlLWRhc2hvZmZzZXQ6MDtzdHJva2Utb3BhY2l0eToxO2NvbG9yLXJlbmRlcmluZzphdXRvO2ltYWdlLXJlbmRlcmluZzphdXRvO3NoYXBlLXJlbmRlcmluZzphdXRvO3RleHQtcmVuZGVyaW5nOmF1dG8nIHRyYW5zZm9ybT0ndHJhbnNsYXRlKDE1LjU1MyAyLjg1KXNjYWxlKC44ODgwNyknLyUzRSUzQ3BhdGggZD0nTS05LjQxNS0uMzE2Qy0xMi42OS0uMzM4LTE1LjM3IDIuMTQtMTUuMzkgNS4yMDdjLS4wMTcgMi43MTYgMS4zMjYgNC4wNDEgMi43OCA1LjQ3NyAxLjAxMyAxIDIuMDgxIDIuMDU1IDIuNzggMy42N2wuMDkyLjA3NmEuMzQuMzQgMCAwIDAgLjIyNS4wODYuMzQuMzQgMCAwIDAgLjIyNy0uMDgzbC4wMTktLjAxYy4wMjItLjAwOS4wNTctLjAyNC4wNzQtLjA2NC42OTctMS42IDEuNzgtMi42NCAyLjgxNC0zLjYzNCAxLjQ3My0xLjQxNCAyLjg0Ny0yLjczMyAyLjg2NC01LjQ0LjAyLTMuMDY3LTIuNjI3LTUuNTgtNS45MDEtNS42MDFtLS4wNTcgOC43ODRjMS42MjEuMDExIDIuOTQ0LTEuMzE1IDIuOTU1LTIuOTYuMDEtMS42NDYtMS4yOTUtMi45ODgtMi45MTYtMi45OTktMS42MjItLjAxLTIuOTQ1IDEuMzE1LTIuOTU1IDIuOTZzMS4yOTUgMi45ODkgMi45MTYgMycgc3R5bGU9J2NsaXAtcnVsZTpldmVub2RkO2ZpbGw6JTIzZTFlM2U5O2ZpbGwtb3BhY2l0eToxO2ZpbGwtcnVsZTpldmVub2RkO3N0cm9rZTpub25lO3N0cm9rZS13aWR0aDoyLjQ3NzI3ODIzO3N0cm9rZS1taXRlcmxpbWl0OjQ7c3Ryb2tlLWRhc2hhcnJheTpub25lO3N0cm9rZS1vcGFjaXR5Oi40JyB0cmFuc2Zvcm09J3RyYW5zbGF0ZSgxNS41NTMgMi44NSlzY2FsZSguODg4MDcpJy8lM0UlM0NwYXRoIGQ9J00tMTEuNTk0IDE1LjQ2NWMtLjI3LS4wMDItLjQ5Mi4yOTctLjQ5NC42NjhsLS4wMTIgMS44NzZjLS4wMDMuMzcxLjIxNC42NzMuNDg1LjY3NWw0LjE0LjAyN2MuMjcxLjAwMi40OTItLjI5OC40OTUtLjY2OGwuMDEyLTEuODc3Yy4wMDMtLjM3LS4yMTUtLjY3Mi0uNDg1LS42NzR6JyBzdHlsZT0nY2xpcC1ydWxlOmV2ZW5vZGQ7ZmlsbDolMjNmZmY7ZmlsbC1vcGFjaXR5OjE7ZmlsbC1ydWxlOmV2ZW5vZGQ7c3Ryb2tlOm5vbmU7c3Ryb2tlLXdpZHRoOjIuNDc3Mjc4MjM7c3Ryb2tlLW1pdGVybGltaXQ6NDtzdHJva2UtZGFzaGFycmF5Om5vbmU7c3Ryb2tlLW9wYWNpdHk6LjQnIHRyYW5zZm9ybT0ndHJhbnNsYXRlKDE1LjU1MyAyLjg1KXNjYWxlKC44ODgwNyknLyUzRSUzQy9nJTNFJTNDL3N2ZyUzRVwiKTtiYWNrZ3JvdW5kLXJlcGVhdDpuby1yZXBlYXQ7Y3Vyc29yOnBvaW50ZXI7ZGlzcGxheTpibG9jaztoZWlnaHQ6MjNweDttYXJnaW46MCAwIC00cHggLTRweDtvdmVyZmxvdzpoaWRkZW47d2lkdGg6ODhweH1cblxuYS5tYXBsaWJyZWdsLWN0cmwtbG9nby5tYXBsaWJyZWdsLWNvbXBhY3R7d2lkdGg6MTRweH1cblxuQG1lZGlhIChmb3JjZWQtY29sb3JzOmFjdGl2ZSl7YS5tYXBsaWJyZWdsLWN0cmwtbG9nb3tiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50O2JhY2tncm91bmQtaW1hZ2U6dXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmLTgsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9Jzg4JyBoZWlnaHQ9JzIzJyBmaWxsPSdub25lJyUzRSUzQ3BhdGggZmlsbD0nJTIzMDAwJyBmaWxsLW9wYWNpdHk9Jy40JyBmaWxsLXJ1bGU9J2V2ZW5vZGQnIGQ9J00xNy40MDggMTYuNzk2aC0xLjgyN2wyLjUwMS0xMi4wOTVoLjE5OGwzLjMyNCA2LjUzMy45ODggMi4xOS45ODgtMi4xOSAzLjI1OC02LjUzM2guMTgxbDIuNiAxMi4wOTVoLTEuODFsLTEuMjE4LTUuNjQ0LS4zNjItMS43MS0uNjU4IDEuNzEtMi45MjkgNS42NDRoLS4wOThsLTIuOTE0LTUuNjQ0LS43NTctMS43MS0uMzQ1IDEuNzF6bTEuOTU4LTMuNDItLjcyNiAzLjY2M2ExLjI1NSAxLjI1NSAwIDAgMS0xLjIzMiAxLjAxMWgtMS44MjdhMS4yNTUgMS4yNTUgMCAwIDEtMS4yMjktMS41MDlsMi41MDEtMTIuMDk1YTEuMjU1IDEuMjU1IDAgMCAxIDEuMjMtMS4wMDFoLjE5N2ExLjI1IDEuMjUgMCAwIDEgMS4xMi42ODVsMy4xOSA2LjI3MyAzLjEyNS02LjI2M2ExLjI1IDEuMjUgMCAwIDEgMS4xMjMtLjY5NWguMTgxYTEuMjU1IDEuMjU1IDAgMCAxIDEuMjI3Ljk5MWwxLjQ0MyA2LjcxYTUgNSAwIDAgMSAuMzE0LS43ODdsLjAwOS0uMDE2YTQuNiA0LjYgMCAwIDEgMS43NzctMS44ODdjLjc4Mi0uNDYgMS42NjgtLjY2NyAyLjYxMS0uNjY3YTQuNiA0LjYgMCAwIDEgMS43LjMybC4zMDYuMTM0Yy4yMS0uMTYuNDc0LS4yNTYuNzU5LS4yNTZoMS42OTRhMS4yNTUgMS4yNTUgMCAwIDEgMS4yMTIuOTI1IDEuMjU1IDEuMjU1IDAgMCAxIDEuMjEyLS45MjVoMS43MTFjLjI4NCAwIC41NDUuMDk0Ljc1NS4yNTIuNjEzLS4zIDEuMzEyLS40NSAyLjA3NS0uNDUgMS4zNTYgMCAyLjU1Ny40NDUgMy40ODIgMS40cS40Ny40OC43NjMgMS4wNjRWNC43MDFhMS4yNTUgMS4yNTUgMCAwIDEgMS4yNTUtMS4yNTVoMS44NkExLjI1NSAxLjI1NSAwIDAgMSA1NC40NCA0Ljd2OS4xOTRoMi4yMTdjLjE5IDAgLjM3LjA0My41MzIuMTE4di00Ljc3YzAtLjM1Ni4xNDctLjY3OC4zODUtLjkwNmEyLjQyIDIuNDIgMCAwIDEtLjY4Mi0xLjcxYzAtLjY2NS4yNjctMS4yNTMuNzM1LTEuN2EyLjQ1IDIuNDUgMCAwIDEgMS43MjItLjY3NCAyLjQzIDIuNDMgMCAwIDEgMS43MDUuNjc1cS4zMTguMzAyLjUwNC42ODNWNC43YTEuMjU1IDEuMjU1IDAgMCAxIDEuMjU1LTEuMjU1aDEuNzQ0QTEuMjU1IDEuMjU1IDAgMCAxIDY1LjgxMiA0Ljd2My4zMzVhNC44IDQuOCAwIDAgMSAxLjUyNi0uMjQ2Yy45MzggMCAxLjgxNy4yMTQgMi41OS42OWE0LjQ3IDQuNDcgMCAwIDEgMS42NyAxLjc0M3YtLjk4YTEuMjU1IDEuMjU1IDAgMCAxIDEuMjU2LTEuMjU2aDEuNzc3Yy4yMzMgMCAuNDUxLjA2NC42MzkuMTc0YTMuNCAzLjQgMCAwIDEgMS41NjctLjM3MmMuMzQ2IDAgLjg2MS4wMiAxLjI4NS4yMzJhMS4yNSAxLjI1IDAgMCAxIC42ODkgMS4wMDQgNC43IDQuNyAwIDAgMSAuODUzLS41ODhjLjc5NS0uNDQgMS42NzUtLjY0NyAyLjYxLS42NDcgMS4zODUgMCAyLjY1LjM5IDMuNTI1IDEuMzk2LjgzNi45MzggMS4xNjggMi4xNzMgMS4xNjggMy41MjhxLS4wMDEuNTE1LS4wNTYgMS4wNTFhMS4yNTUgMS4yNTUgMCAwIDEtLjk0NyAxLjA5bC40MDguOTUyYTEuMjU1IDEuMjU1IDAgMCAxLS40NzcgMS41NTJjLS40MTguMjY4LS45Mi40NjMtMS40NTguNjEyLS42MTMuMTcxLTEuMzA0LjI0NC0yLjA0OS4yNDQtMS4wNiAwLTIuMDQzLS4yMDctMi44ODYtLjY5OGwtLjAxNS0uMDA4Yy0uNzk4LS40OC0xLjQxOS0xLjEzNS0xLjgxOC0xLjk2M2wtLjAwNC0uMDA4YTUuOCA1LjggMCAwIDEtLjU0OC0yLjUxMnEwLS40MjkuMDUzLS44NDNhMS4zIDEuMyAwIDAgMS0uMzMzLS4wODZsLS4xNjYtLjAwNGMtLjIyMyAwLS40MjYuMDYyLS42NDMuMjI4LS4wMy4wMjQtLjE0Mi4xMzktLjE0Mi41OXYzLjg4M2ExLjI1NSAxLjI1NSAwIDAgMS0xLjI1NiAxLjI1NmgtMS43NzdhMS4yNTUgMS4yNTUgMCAwIDEtMS4yNTYtMS4yNTZWMTUuNjlsLS4wMzIuMDU3YTQuOCA0LjggMCAwIDEtMS44NiAxLjgzMyA1LjA0IDUuMDQgMCAwIDEtMi40ODQuNjM0IDQuNSA0LjUgMCAwIDEtMS45MzUtLjQyNCAxLjI1IDEuMjUgMCAwIDEtLjc2NC4yNThoLTEuNzFhMS4yNTUgMS4yNTUgMCAwIDEtMS4yNTYtMS4yNTVWNy42ODdhMi40IDIuNCAwIDAgMS0uNDI4LjYyNWMuMjUzLjIzLjQxMi41NjEuNDEyLjkzdjcuNTUzYTEuMjU1IDEuMjU1IDAgMCAxLTEuMjU2IDEuMjU1aC0xLjg0M2ExLjI1IDEuMjUgMCAwIDEtLjg5NC0uMzczYy0uMjI4LjIzLS41NDQuMzczLS44OTQuMzczSDUxLjMyYTEuMjU1IDEuMjU1IDAgMCAxLTEuMjU2LTEuMjU1di0xLjI1MWwtLjA2MS4xMTdhNC43IDQuNyAwIDAgMS0xLjc4MiAxLjg4NCA0Ljc3IDQuNzcgMCAwIDEtMi40ODUuNjcgNS42IDUuNiAwIDAgMS0xLjQ4NS0uMTg4bC4wMDkgMi43NjRhMS4yNTUgMS4yNTUgMCAwIDEtMS4yNTUgMS4yNTloLTEuNzI5YTEuMjU1IDEuMjU1IDAgMCAxLTEuMjU1LTEuMjU1di0zLjUzN2ExLjI1NSAxLjI1NSAwIDAgMS0xLjE2Ny43OTNoLTEuNjc5YTEuMjUgMS4yNSAwIDAgMS0uNzctLjI2MyA0LjUgNC41IDAgMCAxLTEuOTQ1LjQyOWMtLjg4NSAwLTEuNzI0LS4yMS0yLjQ5NS0uNjMybC0uMDE3LS4wMWE1IDUgMCAwIDEtMS4wODEtLjgzNiAxLjI1NSAxLjI1NSAwIDAgMS0xLjI1NCAxLjMxMmgtMS44MWExLjI1NSAxLjI1NSAwIDAgMS0xLjIyOC0uOTlsLS43ODItMy42MjUtMi4wNDQgMy45MzlhMS4yNSAxLjI1IDAgMCAxLTEuMTE1LjY3NmgtLjA5OGExLjI1IDEuMjUgMCAwIDEtMS4xMTYtLjY4bC0yLjA2MS0zLjk5NHpNMzUuOTIgMTYuNjNsLjIwNy0uMTE0LjIyMy0uMTVxLjQ5My0uMzU2LjczNS0uNzg1bC4wNjEtLjExOC4wMzMgMS4zMzJoMS42NzhWOS4yNDJoLTEuNjk0bC0uMDMzIDEuMjY3cS0uMTMzLS4zMjktLjUyNi0uNjU4bC0uMDMyLS4wMjhhMy4yIDMuMiAwIDAgMC0uNjY4LS40MjhsLS4yNy0uMTJhMy4zIDMuMyAwIDAgMC0xLjIzNS0uMjNxLTEuMTM2LS4wMDEtMS45NzQuNDkzYTMuMzYgMy4zNiAwIDAgMC0xLjMgMS4zODJxLS40NDUuODktLjQ0NCAyLjA3NCAwIDEuMi41MSAyLjEwN2EzLjggMy44IDAgMCAwIDEuMzgyIDEuMzgxIDMuOSAzLjkgMCAwIDAgMS44OTMuNDc3cS43OTUgMCAxLjQ1NS0uMzN6bS0yLjc4OS01LjM4cS0uNTc2LjY3NS0uNTc1IDEuNzYyIDAgMS4xMDIuNTU5IDEuNzk0LjU3Ni42NzUgMS42NDUuNjc1YTIuMjUgMi4yNSAwIDAgMCAuOTM0LS4xOSAyLjIgMi4yIDAgMCAwIC40NjgtLjI5bC4xNzgtLjE2MWEyLjIgMi4yIDAgMCAwIC4zOTctLjU2MXEuMjQ0LS41LjI0NC0xLjE1di0uMTE1cTAtLjcwOC0uMjk2LTEuMjY3bC0uMDQzLS4wNzdhMi4yIDIuMiAwIDAgMC0uNjMzLS43MDlsLS4xMy0uMDg2LS4wNDctLjAyOGEyLjEgMi4xIDAgMCAwLTEuMDczLS4yODVxLTEuMDUyIDAtMS42MjkuNjkyem0yLjMxNiAyLjcwNmMuMTYzLS4xNy4yOC0uNDA3LjI4LS44M3YtLjExNGMwLS4yOTItLjA2LS41MDgtLjE1LS42OGEuOTYuOTYgMCAwIDAtLjM1My0uMzg5Ljg1Ljg1IDAgMCAwLS40NjQtLjEyN2MtLjQgMC0uNTYuMTE0LS42NjQuMjM5bC0uMDEuMDEyYy0uMTQ4LjE3NC0uMjc1LjQ1LS4yNzUuOTQ1IDAgLjUwNi4xMjIuODAxLjI3Ljk5LjA5Ny4xMS4yNjYuMjI0LjY4LjIyNC4zMDMgMCAuNTA0LS4wOS42ODctLjI2OXptNy41NDUgMS43MDVhMi42IDIuNiAwIDAgMCAuMzMxLjQyM3EuMzE5LjMzLjc1NS41NDhsLjE3My4wNzRxLjY1LjI1NSAxLjQ5LjI1NSAxLjAyIDAgMS44NDQtLjQ5M2EzLjQ1IDMuNDUgMCAwIDAgMS4zMTYtMS40cS40OTMtLjkwNC40OTMtMi4wODkgMC0xLjkwOS0uOTg4LTIuOTEzLS45ODgtMS4wMi0yLjU4NC0xLjAyLS44OTggMC0xLjU3NS4zNDdhMyAzIDAgMCAwLS40MTUuMjYybC0uMTk5LjE2NmEzLjQgMy40IDAgMCAwLS42NC44MlY5LjI0MmgtMS43MTJ2MTEuNTUzaDEuNzI5bC0uMDE3LTUuMTM0em0uNTMtMS4xMzhxLjIwNi4yOS40OC41bC4xNTUuMTEuMDUzLjAzNHEuNTEuMjk2IDEuMTE5LjI5NyAxLjA3IDAgMS42NDUtLjY3NS41NzctLjY5LjU3Ni0xLjc2MiAwLTEuMTE5LS41NzYtMS43NzctLjU1OC0uNjc1LTEuNjQ1LS42NzUtLjQzNSAwLS44MzUuMTZhMiAyIDAgMCAwLS4yODQuMTM2IDIgMiAwIDAgMC0uMzYzLjI1NCAyLjIgMi4yIDAgMCAwLS40Ni41NjlsLS4wODIuMTYyYTIuNiAyLjYgMCAwIDAtLjIxMyAxLjA3MnYuMTE1cTAgLjcwNy4yOTYgMS4yNjdsLjEzNS4yMTF6bS45NjQtLjgxOGExLjEgMS4xIDAgMCAwIC4zNjcuMzg1Ljk0Ljk0IDAgMCAwIC40NzYuMTE4Yy40MjMgMCAuNTktLjExNy42ODctLjIzLjE1OS0uMTk0LjI4LS40NzguMjgtLjk1IDAtLjUzLS4xMzMtLjgtLjI2Ni0uOTUybC0uMDIxLS4wMjVjLS4wNzgtLjA5NC0uMjMxLS4yMjEtLjY4LS4yMjFhMSAxIDAgMCAwLS41MDMuMTM1bC0uMDEyLjAwN2EuODYuODYgMCAwIDAtLjMzNS4zNDNjLS4wNzMuMTMzLS4xMzIuMzI0LS4xMzIuNjE0di4xMTVhMS40IDEuNCAwIDAgMCAuMTQuNjZ6bTE1LjctNi4yMjJxLjM0Ny0uMzQ2LjM0Ni0uODU2YTEuMDUgMS4wNSAwIDAgMC0uMzQ1LS43OSAxLjE4IDEuMTggMCAwIDAtLjg0LS4zMjlxLS41MSAwLS44NTUuMzNhMS4wNSAxLjA1IDAgMCAwLS4zNDYuNzlxMCAuNTEuMzQ2Ljg1NS4zNDUuMzQ2Ljg1Ni4zNDYuNTEgMCAuODM5LS4zNDZ6bTQuMzM3IDkuMzE0LjAzMy0xLjMzMnEuMTkxLjQwMy41OS43NDdsLjA5OC4wODFhNCA0IDAgMCAwIC4zMTYuMjI0bC4yMjMuMTIyYTMuMiAzLjIgMCAwIDAgMS40NC4zMjIgMy44IDMuOCAwIDAgMCAxLjg3NS0uNDc3IDMuNSAzLjUgMCAwIDAgMS4zODItMS4zNjZxLjUyNy0uODkuNTI2LTIuMDkgMC0xLjE4NC0uNDQ0LTIuMDczYTMuMjQgMy4yNCAwIDAgMC0xLjI4My0xLjM5OXEtLjgyMy0uNTEtMS45NDItLjUxYTMuNSAzLjUgMCAwIDAtMS41MjcuMzQ0bC0uMDg2LjA0My0uMTY1LjA5YTMgMyAwIDAgMC0uMzMuMjE0cS0uNDMyLjMxNS0uNjU2LjcwN2EyIDIgMCAwIDAtLjA5OS4xOThsLjA4Mi0xLjI4M1Y0LjcwMWgtMS43NDR2MTIuMDk1em0uNDczLTIuNTA5YTIuNSAyLjUgMCAwIDAgLjU2Ni43cS4xMTcuMDk4LjI0NS4xOGwuMTQ0LjA4YTIuMSAyLjEgMCAwIDAgLjk3NS4yMzJxMS4wNyAwIDEuNjQ1LS42NzUuNTc2LS42OS41NzYtMS43NzggMC0xLjEwMi0uNTc2LTEuNzc3LS41Ni0uNjkxLTEuNjQ1LS42OTJhMi4yIDIuMiAwIDAgMC0xLjAxNS4yMzVxLS4yMi4xMTMtLjQxNS4yODJsLS4xNS4xNDJhMi4xIDIuMSAwIDAgMC0uNDIuNTk0cS0uMjIzLjQ3OS0uMjIzIDEuMXYuMTE1cTAgLjcwNS4yOTMgMS4yNnptMi42MTYtLjI5M2MuMTU3LS4xOTEuMjgtLjQ3OS4yOC0uOTY3IDAtLjUxLS4xMy0uNzktLjI3Ni0uOTYxbC0uMDIxLS4wMjZjLS4wODItLjEtLjIzMi0uMjI1LS42Ny0uMjI1YS44Ny44NyAwIDAgMC0uNjgxLjI3OWwtLjAxMi4wMTFjLS4xNTQuMTU1LS4yNzQuMzgtLjI3NC44MDd2LjExNWMwIC4yODUuMDU3LjQ5OS4xNDQuNjY5YTEuMSAxLjEgMCAwIDAgLjM2Ny40MDVjLjEzNy4wODIuMjguMTIzLjQ1NS4xMjMuNDIzIDAgLjU5LS4xMTguNjg2LS4yM3ptOC4yNjYtMy4wMTNxLjM0NS0uMTMuNzI0LS4xNGwuMDY5LS4wMDJxLjQ5MyAwIC42NDIuMDk5bC4yNDctMS43OTRxLS4xOTYtLjA5OS0uNzE3LS4wOTlhMi4zIDIuMyAwIDAgMC0uNTQ1LjA2MyAyIDIgMCAwIDAtLjQxMS4xNDggMi4yIDIuMiAwIDAgMC0uNC4yNDkgMi41IDIuNSAwIDAgMC0uNDg1LjQ5OSAyLjcgMi43IDAgMCAwLS4zMi41ODFsLS4wNS4xMzd2LTEuNDhoLTEuNzc4djcuNTUzaDEuNzc3di0zLjg4NHEwLS41NDYuMTU5LS45NDNhMS41IDEuNSAwIDAgMSAuNDY2LS42MzYgMi41IDIuNSAwIDAgMSAuMzk5LS4yNTMgMiAyIDAgMCAxIC4yMjQtLjA5OXptOS43ODQgMi42NTYuMDUtLjkyMnEwLTEuNzQzLS44NTYtMi42OTgtLjgzOC0uOTctMi41ODQtLjk3LTEuMTE5LS4wMDEtMi4wMDcuNDkzYTMuNDYgMy40NiAwIDAgMC0xLjQgMS4zODJxLS40OTMuOTA2LS40OTMgMi4xMDYgMCAxLjA3LjQyOCAxLjk3NS40MjguODkgMS4zMzIgMS40MzIuOTA2LjUyNiAyLjI1NS41MjYuOTczIDAgMS42NjgtLjE4NWwuMDQ0LS4wMTIuMTM1LS4wNHEuNjEzLS4xODQuOTg0LS40MjFsLS41NDItMS4yNjdxLS4zLjE2Mi0uNjQyLjI3NGwtLjI5Ny4wODdxLS41MS4xMzEtMS4zLjEzMS0uOTU0IDAtMS40OTctLjQ0NGExLjYgMS42IDAgMCAxLS4xOTItLjE5M3EtLjM2Ni0uNDQtLjUxMi0xLjIzNGwtLjAwNC0uMDIxem0tNS40MjctMS4yNTYtLjAwMy4wMjJoMy43NTJ2LS4xMzhxLS4wMTEtLjcyNy0uMjg4LTEuMTE4YTEgMSAwIDAgMC0uMTU2LS4xNzZxLS40Ni0uNDI4LTEuMzE2LS40MjgtLjk4NiAwLTEuNDk0LjYwNC0uMzc5LjQ1LS40OTQgMS4yMzR6bS0yNy4wNTMgMi43N1Y0LjdoLTEuODZ2MTIuMDk1aDUuMzMzVjE1LjE1em03LjEwMy01LjkwOHY3LjU1M2gtMS44NDNWOS4yNDJoMS44NDN6Jy8lM0UlM0NwYXRoIGZpbGw9JyUyM2ZmZicgZD0nbTE5LjYzIDExLjE1MS0uNzU3LTEuNzEtLjM0NSAxLjcxLTEuMTIgNS42NDRoLTEuODI3TDE4LjA4MyA0LjdoLjE5N2wzLjMyNSA2LjUzMy45ODggMi4xOS45ODgtMi4xOUwyNi44MzkgNC43aC4xODFsMi42IDEyLjA5NWgtMS44MWwtMS4yMTgtNS42NDQtLjM2Mi0xLjcxLS42NTggMS43MS0yLjkzIDUuNjQ0aC0uMDk4bC0yLjkxMy01LjY0NHptMTQuODM2IDUuODFxLTEuMDIgMC0xLjg5My0uNDc4YTMuOCAzLjggMCAwIDEtMS4zODEtMS4zODJxLS41MS0uOTA2LS41MS0yLjEwNiAwLTEuMTg1LjQ0NC0yLjA3NGEzLjM2IDMuMzYgMCAwIDEgMS4zLTEuMzgycS44MzktLjQ5NCAxLjk3NC0uNDk0YTMuMyAzLjMgMCAwIDEgMS4yMzQuMjMxIDMuMyAzLjMgMCAwIDEgLjk3LjU3NXEuMzk2LjMzLjUyNy42NTlsLjAzMy0xLjI2N2gxLjY5NHY3LjU1M0gzNy4xOGwtLjAzMy0xLjMzMnEtLjI3OS41OTMtMS4wMiAxLjA1M2EzLjE3IDMuMTcgMCAwIDEtMS42NjIuNDQ0em0uMjk2LTEuNDgycS45MzggMCAxLjU4LS42NDIuNjQyLS42Ni42NDItMS43MTF2LS4xMTVxMC0uNzA4LS4yOTYtMS4yNjdhMi4yIDIuMiAwIDAgMC0uODA3LS44NzIgMi4xIDIuMSAwIDAgMC0xLjExOS0uMzEzcS0xLjA1MyAwLTEuNjI5LjY5Mi0uNTc1LjY3NS0uNTc1IDEuNzYgMCAxLjEwMy41NTkgMS43OTUuNTc3LjY3NSAxLjY0NS42NzV6bTYuNTIxLTYuMjM3aDEuNzExdjEuNHEuOTA2LTEuNTk3IDIuODMtMS41OTcgMS41OTYgMCAyLjU4NCAxLjAyLjk4OCAxLjAwNS45ODggMi45MTQgMCAxLjE4NS0uNDkzIDIuMDlhMy40NiAzLjQ2IDAgMCAxLTEuMzE2IDEuMzk5IDMuNSAzLjUgMCAwIDEtMS44NDQuNDkzcS0uOTU0IDAtMS42NjItLjMyOWEyLjY3IDIuNjcgMCAwIDEtMS4wODYtLjk3bC4wMTcgNS4xMzRoLTEuNzI4em00LjA0OCA2LjIycTEuMDcgMCAxLjY0NS0uNjc0LjU3Ny0uNjkuNTc2LTEuNzYyIDAtMS4xMTktLjU3Ni0xLjc3Ny0uNTU4LS42NzUtMS42NDUtLjY3NS0uNTkyIDAtMS4xMi4yOTYtLjUxLjI4LS44MjIuODIzLS4yOTYuNTI3LS4yOTYgMS4yMzR2LjExNXEwIC43MDguMjk2IDEuMjY3LjMxMy41NDMuODIzLjg1NS41MS4yOTYgMS4xMTkuMjk3eicvJTNFJTNDcGF0aCBmaWxsPSclMjNlMWUzZTknIGQ9J001MS4zMjUgNC43aDEuODZ2MTAuNDVoMy40NzN2MS42NDZoLTUuMzMzem03LjEyIDQuNTQyaDEuODQzdjcuNTUzaC0xLjg0M3ptLjkwNS0xLjQxNWExLjE2IDEuMTYgMCAwIDEtLjg1Ni0uMzQ2IDEuMTcgMS4xNyAwIDAgMS0uMzQ2LS44NTYgMS4wNSAxLjA1IDAgMCAxIC4zNDYtLjc5cS4zNDYtLjMyOS44NTYtLjMyOS40OTQgMCAuODM5LjMzYTEuMDUgMS4wNSAwIDAgMSAuMzQ1Ljc5IDEuMTYgMS4xNiAwIDAgMS0uMzQ1Ljg1NXEtLjMzLjM0Ni0uODQuMzQ2em03Ljg3NSA5LjEzM2EzLjE3IDMuMTcgMCAwIDEtMS42NjItLjQ0NHEtLjcyMy0uNDYtMS4wMDQtMS4wNTNsLS4wMzMgMS4zMzJoLTEuNzFWNC43MDFoMS43NDN2NC42NTdsLS4wODIgMS4yODNxLjI3OS0uNjU4IDEuMDg2LTEuMTE5YTMuNSAzLjUgMCAwIDEgMS43NzgtLjQ3N3ExLjExOSAwIDEuOTQyLjUxYTMuMjQgMy4yNCAwIDAgMSAxLjI4MyAxLjRxLjQ0NS44ODguNDQ0IDIuMDcyIDAgMS4yMDEtLjUyNiAyLjA5YTMuNSAzLjUgMCAwIDEtMS4zODIgMS4zNjYgMy44IDMuOCAwIDAgMS0xLjg3Ni40Nzd6bS0uMjk2LTEuNDgxcTEuMDY5IDAgMS42NDUtLjY3NS41NzctLjY5LjU3Ny0xLjc3OCAwLTEuMTAyLS41NzctMS43NzYtLjU2LS42OTEtMS42NDUtLjY5MmEyLjEyIDIuMTIgMCAwIDAtMS41OC42NTlxLS42NDIuNjQxLS42NDIgMS42OTR2LjExNXEwIC43MS4yOTYgMS4yNjdhMi40IDIuNCAwIDAgMCAuODA3Ljg3MiAyLjEgMi4xIDAgMCAwIDEuMTE5LjMxM3ptNS45MjctNi4yMzdoMS43Nzd2MS40ODFxLjI2My0uNzU3Ljg1Ni0xLjIxN2EyLjE0IDIuMTQgMCAwIDEgMS4zNDktLjQ2cS41MjcgMCAuNzI0LjA5OGwtLjI0NyAxLjc5NHEtLjE0OS0uMDk5LS42NDItLjA5OS0uNzc0IDAtMS40MTYuNDk0LS42MjYuNDkzLS42MjYgMS41OHYzLjg4M2gtMS43NzdWOS4yNDJ6bTkuNTM0IDcuNzE4cS0xLjM1IDAtMi4yNTUtLjUyNi0uOTA0LS41NDMtMS4zMzItMS40MzJhNC42IDQuNiAwIDAgMS0uNDI4LTEuOTc1cTAtMS4yLjQ5My0yLjEwNmEzLjQ2IDMuNDYgMCAwIDEgMS40LTEuMzgycS44ODktLjQ5NSAyLjAwNy0uNDk0IDEuNzQ0IDAgMi41ODQuOTcuODU1Ljk1Ni44NTYgMi43IDAgLjQ0NC0uMDUuOTJoLTUuNDNxLjE4IDEuMDA1LjcwOCAxLjQ1LjU0Mi40NDMgMS40OTcuNDQzLjc5IDAgMS4zLS4xMzFhNCA0IDAgMCAwIC45MzgtLjM2MmwuNTQyIDEuMjY3cS0uNDExLjI2My0xLjExOS40Ni0uNzA4LjE5OC0xLjcxMS4xOTd6bTEuNTk2LTQuNTU4cS4wMTYtMS4wMi0uNDQ0LTEuNDMyLS40Ni0uNDI4LTEuMzE2LS40MjgtMS43MjggMC0xLjk5MSAxLjg2eicvJTNFJTNDcGF0aCBkPSdNNS4wNzQgMTUuOTQ4YS40ODQuNjU3IDAgMCAwLS40ODYuNjU5djEuODRhLjQ4NC42NTcgMCAwIDAgLjQ4Ni42NTloNC4xMDFhLjQ4NC42NTcgMCAwIDAgLjQ4Ni0uNjU5di0xLjg0YS40ODQuNjU3IDAgMCAwLS40ODYtLjY1OXptMy41NiAxLjE2SDUuNjE3di44MzhoMy4wMTd6JyBzdHlsZT0nZmlsbDolMjNmZmY7ZmlsbC1ydWxlOmV2ZW5vZGQ7c3Ryb2tlLXdpZHRoOjEuMDM2MDAwMDEnLyUzRSUzQ2cgc3R5bGU9J3N0cm9rZS13aWR0aDoxLjEyNjAzNTQ1JyUzRSUzQ3BhdGggZD0nTS05LjQwOC0xLjQxNmMtMy44MzMtLjAyNS03LjA1NiAyLjkxMi03LjA4IDYuNjE1LS4wMiAzLjA4IDEuNjUzIDQuODMyIDMuMTA3IDYuMjY4LjkwMy44OTIgMS43MjEgMS43NCAyLjMyIDIuOTAybC0uNTI1LS4wMDRjLS41NDMtLjAwMy0uOTkyLjMwNC0xLjI0LjYzOWExLjg3IDEuODcgMCAwIDAtLjM2MiAxLjEyMWwtLjAxMSAxLjg3N2MtLjAwMy40MDIuMTA0Ljc4Ny4zNDcgMS4xMjUuMjQ0LjMzOC42ODguNjUzIDEuMjMuNjU2bDQuMTQyLjAyOGMuNTQyLjAwMy45OS0uMzA2IDEuMjM4LS42NDFhMS44NyAxLjg3IDAgMCAwIC4zNjMtMS4xMjFsLjAxMi0xLjg3NWExLjg3IDEuODcgMCAwIDAtLjM0OC0xLjEyN2MtLjI0My0uMzM4LS42ODgtLjY1My0xLjIzLS42NTZsLS41MTgtLjAwNGMuNTk3LTEuMTQ1IDEuNDI1LTEuOTgzIDIuMzQ4LTIuODcgMS40NzMtMS40MTQgMy4xOC0zLjE0OSAzLjItNi4yMjYtLjAxNi0zLjU5LTIuOTIzLTYuNjg0LTYuOTkzLTYuNzA3bS0uMDA2IDEuMXYuMDAyYzMuMjc0LjAyIDUuOTIgMi41MzIgNS45IDUuNi0uMDE3IDIuNzA2LTEuMzkgNC4wMjYtMi44NjMgNS40NC0xLjAzNC45OTQtMi4xMTggMi4wMzMtMi44MTQgMy42MzMtLjAxOC4wNDEtLjA1Mi4wNTUtLjA3NS4wNjVxLS4wMTMuMDA0LS4wMi4wMWEuMzQuMzQgMCAwIDEtLjIyNi4wODQuMzQuMzQgMCAwIDEtLjIyNC0uMDg2bC0uMDkyLS4wNzdjLS42OTktMS42MTUtMS43NjgtMi42NjktMi43ODEtMy42Ny0xLjQ1NC0xLjQzNS0yLjc5Ny0yLjc2Mi0yLjc4LTUuNDc4LjAyLTMuMDY3IDIuNy01LjU0NSA1Ljk3NS01LjUyM20tLjAyIDIuODI2Yy0xLjYyLS4wMS0yLjk0NCAxLjMxNS0yLjk1NSAyLjk2LS4wMSAxLjY0NiAxLjI5NSAyLjk4OCAyLjkxNiAyLjk5OWguMDAyYzEuNjIxLjAxIDIuOTQzLTEuMzE2IDIuOTUzLTIuOTYxLjAxMS0xLjY0Ni0xLjI5NC0yLjk4OC0yLjkxNi0yLjk5OG0tLjAwNSAxLjFjMS4wMTcuMDA2IDEuODI5LjgzIDEuODIyIDEuODlzLS44MyAxLjg3NC0xLjg0OCAxLjg2N2MtMS4wMTgtLjAwNi0xLjgyOS0uODMtMS44MjItMS44OXMuODMtMS44NzQgMS44NDgtMS44NjhtLTIuMTU1IDExLjg1NyA0LjE0LjAyNWMuMjcxLjAwMi40OS4zMDUuNDg3LjY3NmwtLjAxMyAxLjg3NWMtLjAwMy4zNy0uMjI0LjY3LS40OTUuNjY4bC00LjE0LS4wMjVjLS4yNy0uMDAyLS40ODctLjMwNi0uNDg1LS42NzZsLjAxMi0xLjg3NWMuMDAzLS4zNy4yMjQtLjY3LjQ5NC0uNjY4JyBzdHlsZT0nY29sb3I6JTIzMDAwO2ZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtdmFyaWFudDpub3JtYWw7Zm9udC13ZWlnaHQ6NDAwO2ZvbnQtc3RyZXRjaDpub3JtYWw7Zm9udC1zaXplOm1lZGl1bTtsaW5lLWhlaWdodDpub3JtYWw7Zm9udC1mYW1pbHk6c2Fucy1zZXJpZjtmb250LXZhcmlhbnQtbGlnYXR1cmVzOm5vcm1hbDtmb250LXZhcmlhbnQtcG9zaXRpb246bm9ybWFsO2ZvbnQtdmFyaWFudC1jYXBzOm5vcm1hbDtmb250LXZhcmlhbnQtbnVtZXJpYzpub3JtYWw7Zm9udC12YXJpYW50LWFsdGVybmF0ZXM6bm9ybWFsO2ZvbnQtZmVhdHVyZS1zZXR0aW5nczpub3JtYWw7dGV4dC1pbmRlbnQ6MDt0ZXh0LWFsaWduOnN0YXJ0O3RleHQtZGVjb3JhdGlvbjpub25lO3RleHQtZGVjb3JhdGlvbi1saW5lOm5vbmU7dGV4dC1kZWNvcmF0aW9uLXN0eWxlOnNvbGlkO3RleHQtZGVjb3JhdGlvbi1jb2xvcjolMjMwMDA7bGV0dGVyLXNwYWNpbmc6bm9ybWFsO3dvcmQtc3BhY2luZzpub3JtYWw7dGV4dC10cmFuc2Zvcm06bm9uZTt3cml0aW5nLW1vZGU6bHItdGI7ZGlyZWN0aW9uOmx0cjt0ZXh0LW9yaWVudGF0aW9uOm1peGVkO2RvbWluYW50LWJhc2VsaW5lOmF1dG87YmFzZWxpbmUtc2hpZnQ6YmFzZWxpbmU7dGV4dC1hbmNob3I6c3RhcnQ7d2hpdGUtc3BhY2U6bm9ybWFsO3NoYXBlLXBhZGRpbmc6MDtjbGlwLXJ1bGU6ZXZlbm9kZDtkaXNwbGF5OmlubGluZTtvdmVyZmxvdzp2aXNpYmxlO3Zpc2liaWxpdHk6dmlzaWJsZTtvcGFjaXR5OjE7aXNvbGF0aW9uOmF1dG87bWl4LWJsZW5kLW1vZGU6bm9ybWFsO2NvbG9yLWludGVycG9sYXRpb246c1JHQjtjb2xvci1pbnRlcnBvbGF0aW9uLWZpbHRlcnM6bGluZWFyUkdCO3NvbGlkLWNvbG9yOiUyMzAwMDtzb2xpZC1vcGFjaXR5OjE7dmVjdG9yLWVmZmVjdDpub25lO2ZpbGw6JTIzMDAwO2ZpbGwtb3BhY2l0eTouNDtmaWxsLXJ1bGU6ZXZlbm9kZDtzdHJva2U6bm9uZTtzdHJva2Utd2lkdGg6Mi40NzcyNzgyMztzdHJva2UtbGluZWNhcDpidXR0O3N0cm9rZS1saW5lam9pbjptaXRlcjtzdHJva2UtbWl0ZXJsaW1pdDo0O3N0cm9rZS1kYXNoYXJyYXk6bm9uZTtzdHJva2UtZGFzaG9mZnNldDowO3N0cm9rZS1vcGFjaXR5OjE7Y29sb3ItcmVuZGVyaW5nOmF1dG87aW1hZ2UtcmVuZGVyaW5nOmF1dG87c2hhcGUtcmVuZGVyaW5nOmF1dG87dGV4dC1yZW5kZXJpbmc6YXV0bycgdHJhbnNmb3JtPSd0cmFuc2xhdGUoMTUuNTUzIDIuODUpc2NhbGUoLjg4ODA3KScvJTNFJTNDcGF0aCBkPSdNLTkuNDE1LS4zMTZDLTEyLjY5LS4zMzgtMTUuMzcgMi4xNC0xNS4zOSA1LjIwN2MtLjAxNyAyLjcxNiAxLjMyNiA0LjA0MSAyLjc4IDUuNDc3IDEuMDEzIDEgMi4wODEgMi4wNTUgMi43OCAzLjY3bC4wOTIuMDc2YS4zNC4zNCAwIDAgMCAuMjI1LjA4Ni4zNC4zNCAwIDAgMCAuMjI3LS4wODNsLjAxOS0uMDFjLjAyMi0uMDA5LjA1Ny0uMDI0LjA3NC0uMDY0LjY5Ny0xLjYgMS43OC0yLjY0IDIuODE0LTMuNjM0IDEuNDczLTEuNDE0IDIuODQ3LTIuNzMzIDIuODY0LTUuNDQuMDItMy4wNjctMi42MjctNS41OC01LjkwMS01LjYwMW0tLjA1NyA4Ljc4NGMxLjYyMS4wMTEgMi45NDQtMS4zMTUgMi45NTUtMi45Ni4wMS0xLjY0Ni0xLjI5NS0yLjk4OC0yLjkxNi0yLjk5OS0xLjYyMi0uMDEtMi45NDUgMS4zMTUtMi45NTUgMi45NnMxLjI5NSAyLjk4OSAyLjkxNiAzJyBzdHlsZT0nY2xpcC1ydWxlOmV2ZW5vZGQ7ZmlsbDolMjNlMWUzZTk7ZmlsbC1vcGFjaXR5OjE7ZmlsbC1ydWxlOmV2ZW5vZGQ7c3Ryb2tlOm5vbmU7c3Ryb2tlLXdpZHRoOjIuNDc3Mjc4MjM7c3Ryb2tlLW1pdGVybGltaXQ6NDtzdHJva2UtZGFzaGFycmF5Om5vbmU7c3Ryb2tlLW9wYWNpdHk6LjQnIHRyYW5zZm9ybT0ndHJhbnNsYXRlKDE1LjU1MyAyLjg1KXNjYWxlKC44ODgwNyknLyUzRSUzQ3BhdGggZD0nTS0xMS41OTQgMTUuNDY1Yy0uMjctLjAwMi0uNDkyLjI5Ny0uNDk0LjY2OGwtLjAxMiAxLjg3NmMtLjAwMy4zNzEuMjE0LjY3My40ODUuNjc1bDQuMTQuMDI3Yy4yNzEuMDAyLjQ5Mi0uMjk4LjQ5NS0uNjY4bC4wMTItMS44NzdjLjAwMy0uMzctLjIxNS0uNjcyLS40ODUtLjY3NHonIHN0eWxlPSdjbGlwLXJ1bGU6ZXZlbm9kZDtmaWxsOiUyM2ZmZjtmaWxsLW9wYWNpdHk6MTtmaWxsLXJ1bGU6ZXZlbm9kZDtzdHJva2U6bm9uZTtzdHJva2Utd2lkdGg6Mi40NzcyNzgyMztzdHJva2UtbWl0ZXJsaW1pdDo0O3N0cm9rZS1kYXNoYXJyYXk6bm9uZTtzdHJva2Utb3BhY2l0eTouNCcgdHJhbnNmb3JtPSd0cmFuc2xhdGUoMTUuNTUzIDIuODUpc2NhbGUoLjg4ODA3KScvJTNFJTNDL2clM0UlM0Mvc3ZnJTNFXCIpfX1cblxuQG1lZGlhIChmb3JjZWQtY29sb3JzOmFjdGl2ZSkgYW5kIChwcmVmZXJzLWNvbG9yLXNjaGVtZTpsaWdodCl7YS5tYXBsaWJyZWdsLWN0cmwtbG9nb3tiYWNrZ3JvdW5kLWltYWdlOnVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0Zi04LCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPSc4OCcgaGVpZ2h0PScyMycgZmlsbD0nbm9uZSclM0UlM0NwYXRoIGZpbGw9JyUyMzAwMCcgZmlsbC1vcGFjaXR5PScuNCcgZmlsbC1ydWxlPSdldmVub2RkJyBkPSdNMTcuNDA4IDE2Ljc5NmgtMS44MjdsMi41MDEtMTIuMDk1aC4xOThsMy4zMjQgNi41MzMuOTg4IDIuMTkuOTg4LTIuMTkgMy4yNTgtNi41MzNoLjE4MWwyLjYgMTIuMDk1aC0xLjgxbC0xLjIxOC01LjY0NC0uMzYyLTEuNzEtLjY1OCAxLjcxLTIuOTI5IDUuNjQ0aC0uMDk4bC0yLjkxNC01LjY0NC0uNzU3LTEuNzEtLjM0NSAxLjcxem0xLjk1OC0zLjQyLS43MjYgMy42NjNhMS4yNTUgMS4yNTUgMCAwIDEtMS4yMzIgMS4wMTFoLTEuODI3YTEuMjU1IDEuMjU1IDAgMCAxLTEuMjI5LTEuNTA5bDIuNTAxLTEyLjA5NWExLjI1NSAxLjI1NSAwIDAgMSAxLjIzLTEuMDAxaC4xOTdhMS4yNSAxLjI1IDAgMCAxIDEuMTIuNjg1bDMuMTkgNi4yNzMgMy4xMjUtNi4yNjNhMS4yNSAxLjI1IDAgMCAxIDEuMTIzLS42OTVoLjE4MWExLjI1NSAxLjI1NSAwIDAgMSAxLjIyNy45OTFsMS40NDMgNi43MWE1IDUgMCAwIDEgLjMxNC0uNzg3bC4wMDktLjAxNmE0LjYgNC42IDAgMCAxIDEuNzc3LTEuODg3Yy43ODItLjQ2IDEuNjY4LS42NjcgMi42MTEtLjY2N2E0LjYgNC42IDAgMCAxIDEuNy4zMmwuMzA2LjEzNGMuMjEtLjE2LjQ3NC0uMjU2Ljc1OS0uMjU2aDEuNjk0YTEuMjU1IDEuMjU1IDAgMCAxIDEuMjEyLjkyNSAxLjI1NSAxLjI1NSAwIDAgMSAxLjIxMi0uOTI1aDEuNzExYy4yODQgMCAuNTQ1LjA5NC43NTUuMjUyLjYxMy0uMyAxLjMxMi0uNDUgMi4wNzUtLjQ1IDEuMzU2IDAgMi41NTcuNDQ1IDMuNDgyIDEuNHEuNDcuNDguNzYzIDEuMDY0VjQuNzAxYTEuMjU1IDEuMjU1IDAgMCAxIDEuMjU1LTEuMjU1aDEuODZBMS4yNTUgMS4yNTUgMCAwIDEgNTQuNDQgNC43djkuMTk0aDIuMjE3Yy4xOSAwIC4zNy4wNDMuNTMyLjExOHYtNC43N2MwLS4zNTYuMTQ3LS42NzguMzg1LS45MDZhMi40MiAyLjQyIDAgMCAxLS42ODItMS43MWMwLS42NjUuMjY3LTEuMjUzLjczNS0xLjdhMi40NSAyLjQ1IDAgMCAxIDEuNzIyLS42NzQgMi40MyAyLjQzIDAgMCAxIDEuNzA1LjY3NXEuMzE4LjMwMi41MDQuNjgzVjQuN2ExLjI1NSAxLjI1NSAwIDAgMSAxLjI1NS0xLjI1NWgxLjc0NEExLjI1NSAxLjI1NSAwIDAgMSA2NS44MTIgNC43djMuMzM1YTQuOCA0LjggMCAwIDEgMS41MjYtLjI0NmMuOTM4IDAgMS44MTcuMjE0IDIuNTkuNjlhNC40NyA0LjQ3IDAgMCAxIDEuNjcgMS43NDN2LS45OGExLjI1NSAxLjI1NSAwIDAgMSAxLjI1Ni0xLjI1NmgxLjc3N2MuMjMzIDAgLjQ1MS4wNjQuNjM5LjE3NGEzLjQgMy40IDAgMCAxIDEuNTY3LS4zNzJjLjM0NiAwIC44NjEuMDIgMS4yODUuMjMyYTEuMjUgMS4yNSAwIDAgMSAuNjg5IDEuMDA0IDQuNyA0LjcgMCAwIDEgLjg1My0uNTg4Yy43OTUtLjQ0IDEuNjc1LS42NDcgMi42MS0uNjQ3IDEuMzg1IDAgMi42NS4zOSAzLjUyNSAxLjM5Ni44MzYuOTM4IDEuMTY4IDIuMTczIDEuMTY4IDMuNTI4cS0uMDAxLjUxNS0uMDU2IDEuMDUxYTEuMjU1IDEuMjU1IDAgMCAxLS45NDcgMS4wOWwuNDA4Ljk1MmExLjI1NSAxLjI1NSAwIDAgMS0uNDc3IDEuNTUyYy0uNDE4LjI2OC0uOTIuNDYzLTEuNDU4LjYxMi0uNjEzLjE3MS0xLjMwNC4yNDQtMi4wNDkuMjQ0LTEuMDYgMC0yLjA0My0uMjA3LTIuODg2LS42OThsLS4wMTUtLjAwOGMtLjc5OC0uNDgtMS40MTktMS4xMzUtMS44MTgtMS45NjNsLS4wMDQtLjAwOGE1LjggNS44IDAgMCAxLS41NDgtMi41MTJxMC0uNDI5LjA1My0uODQzYTEuMyAxLjMgMCAwIDEtLjMzMy0uMDg2bC0uMTY2LS4wMDRjLS4yMjMgMC0uNDI2LjA2Mi0uNjQzLjIyOC0uMDMuMDI0LS4xNDIuMTM5LS4xNDIuNTl2My44ODNhMS4yNTUgMS4yNTUgMCAwIDEtMS4yNTYgMS4yNTZoLTEuNzc3YTEuMjU1IDEuMjU1IDAgMCAxLTEuMjU2LTEuMjU2VjE1LjY5bC0uMDMyLjA1N2E0LjggNC44IDAgMCAxLTEuODYgMS44MzMgNS4wNCA1LjA0IDAgMCAxLTIuNDg0LjYzNCA0LjUgNC41IDAgMCAxLTEuOTM1LS40MjQgMS4yNSAxLjI1IDAgMCAxLS43NjQuMjU4aC0xLjcxYTEuMjU1IDEuMjU1IDAgMCAxLTEuMjU2LTEuMjU1VjcuNjg3YTIuNCAyLjQgMCAwIDEtLjQyOC42MjVjLjI1My4yMy40MTIuNTYxLjQxMi45M3Y3LjU1M2ExLjI1NSAxLjI1NSAwIDAgMS0xLjI1NiAxLjI1NWgtMS44NDNhMS4yNSAxLjI1IDAgMCAxLS44OTQtLjM3M2MtLjIyOC4yMy0uNTQ0LjM3My0uODk0LjM3M0g1MS4zMmExLjI1NSAxLjI1NSAwIDAgMS0xLjI1Ni0xLjI1NXYtMS4yNTFsLS4wNjEuMTE3YTQuNyA0LjcgMCAwIDEtMS43ODIgMS44ODQgNC43NyA0Ljc3IDAgMCAxLTIuNDg1LjY3IDUuNiA1LjYgMCAwIDEtMS40ODUtLjE4OGwuMDA5IDIuNzY0YTEuMjU1IDEuMjU1IDAgMCAxLTEuMjU1IDEuMjU5aC0xLjcyOWExLjI1NSAxLjI1NSAwIDAgMS0xLjI1NS0xLjI1NXYtMy41MzdhMS4yNTUgMS4yNTUgMCAwIDEtMS4xNjcuNzkzaC0xLjY3OWExLjI1IDEuMjUgMCAwIDEtLjc3LS4yNjMgNC41IDQuNSAwIDAgMS0xLjk0NS40MjljLS44ODUgMC0xLjcyNC0uMjEtMi40OTUtLjYzMmwtLjAxNy0uMDFhNSA1IDAgMCAxLTEuMDgxLS44MzYgMS4yNTUgMS4yNTUgMCAwIDEtMS4yNTQgMS4zMTJoLTEuODFhMS4yNTUgMS4yNTUgMCAwIDEtMS4yMjgtLjk5bC0uNzgyLTMuNjI1LTIuMDQ0IDMuOTM5YTEuMjUgMS4yNSAwIDAgMS0xLjExNS42NzZoLS4wOThhMS4yNSAxLjI1IDAgMCAxLTEuMTE2LS42OGwtMi4wNjEtMy45OTR6TTM1LjkyIDE2LjYzbC4yMDctLjExNC4yMjMtLjE1cS40OTMtLjM1Ni43MzUtLjc4NWwuMDYxLS4xMTguMDMzIDEuMzMyaDEuNjc4VjkuMjQyaC0xLjY5NGwtLjAzMyAxLjI2N3EtLjEzMy0uMzI5LS41MjYtLjY1OGwtLjAzMi0uMDI4YTMuMiAzLjIgMCAwIDAtLjY2OC0uNDI4bC0uMjctLjEyYTMuMyAzLjMgMCAwIDAtMS4yMzUtLjIzcS0xLjEzNi0uMDAxLTEuOTc0LjQ5M2EzLjM2IDMuMzYgMCAwIDAtMS4zIDEuMzgycS0uNDQ1Ljg5LS40NDQgMi4wNzQgMCAxLjIuNTEgMi4xMDdhMy44IDMuOCAwIDAgMCAxLjM4MiAxLjM4MSAzLjkgMy45IDAgMCAwIDEuODkzLjQ3N3EuNzk1IDAgMS40NTUtLjMzem0tMi43ODktNS4zOHEtLjU3Ni42NzUtLjU3NSAxLjc2MiAwIDEuMTAyLjU1OSAxLjc5NC41NzYuNjc1IDEuNjQ1LjY3NWEyLjI1IDIuMjUgMCAwIDAgLjkzNC0uMTkgMi4yIDIuMiAwIDAgMCAuNDY4LS4yOWwuMTc4LS4xNjFhMi4yIDIuMiAwIDAgMCAuMzk3LS41NjFxLjI0NC0uNS4yNDQtMS4xNXYtLjExNXEwLS43MDgtLjI5Ni0xLjI2N2wtLjA0My0uMDc3YTIuMiAyLjIgMCAwIDAtLjYzMy0uNzA5bC0uMTMtLjA4Ni0uMDQ3LS4wMjhhMi4xIDIuMSAwIDAgMC0xLjA3My0uMjg1cS0xLjA1MiAwLTEuNjI5LjY5MnptMi4zMTYgMi43MDZjLjE2My0uMTcuMjgtLjQwNy4yOC0uODN2LS4xMTRjMC0uMjkyLS4wNi0uNTA4LS4xNS0uNjhhLjk2Ljk2IDAgMCAwLS4zNTMtLjM4OS44NS44NSAwIDAgMC0uNDY0LS4xMjdjLS40IDAtLjU2LjExNC0uNjY0LjIzOWwtLjAxLjAxMmMtLjE0OC4xNzQtLjI3NS40NS0uMjc1Ljk0NSAwIC41MDYuMTIyLjgwMS4yNy45OS4wOTcuMTEuMjY2LjIyNC42OC4yMjQuMzAzIDAgLjUwNC0uMDkuNjg3LS4yNjl6bTcuNTQ1IDEuNzA1YTIuNiAyLjYgMCAwIDAgLjMzMS40MjNxLjMxOS4zMy43NTUuNTQ4bC4xNzMuMDc0cS42NS4yNTUgMS40OS4yNTUgMS4wMiAwIDEuODQ0LS40OTNhMy40NSAzLjQ1IDAgMCAwIDEuMzE2LTEuNHEuNDkzLS45MDQuNDkzLTIuMDg5IDAtMS45MDktLjk4OC0yLjkxMy0uOTg4LTEuMDItMi41ODQtMS4wMi0uODk4IDAtMS41NzUuMzQ3YTMgMyAwIDAgMC0uNDE1LjI2MmwtLjE5OS4xNjZhMy40IDMuNCAwIDAgMC0uNjQuODJWOS4yNDJoLTEuNzEydjExLjU1M2gxLjcyOWwtLjAxNy01LjEzNHptLjUzLTEuMTM4cS4yMDYuMjkuNDguNWwuMTU1LjExLjA1My4wMzRxLjUxLjI5NiAxLjExOS4yOTcgMS4wNyAwIDEuNjQ1LS42NzUuNTc3LS42OS41NzYtMS43NjIgMC0xLjExOS0uNTc2LTEuNzc3LS41NTgtLjY3NS0xLjY0NS0uNjc1LS40MzUgMC0uODM1LjE2YTIgMiAwIDAgMC0uMjg0LjEzNiAyIDIgMCAwIDAtLjM2My4yNTQgMi4yIDIuMiAwIDAgMC0uNDYuNTY5bC0uMDgyLjE2MmEyLjYgMi42IDAgMCAwLS4yMTMgMS4wNzJ2LjExNXEwIC43MDcuMjk2IDEuMjY3bC4xMzUuMjExem0uOTY0LS44MThhMS4xIDEuMSAwIDAgMCAuMzY3LjM4NS45NC45NCAwIDAgMCAuNDc2LjExOGMuNDIzIDAgLjU5LS4xMTcuNjg3LS4yMy4xNTktLjE5NC4yOC0uNDc4LjI4LS45NSAwLS41My0uMTMzLS44LS4yNjYtLjk1MmwtLjAyMS0uMDI1Yy0uMDc4LS4wOTQtLjIzMS0uMjIxLS42OC0uMjIxYTEgMSAwIDAgMC0uNTAzLjEzNWwtLjAxMi4wMDdhLjg2Ljg2IDAgMCAwLS4zMzUuMzQzYy0uMDczLjEzMy0uMTMyLjMyNC0uMTMyLjYxNHYuMTE1YTEuNCAxLjQgMCAwIDAgLjE0LjY2em0xNS43LTYuMjIycS4zNDctLjM0Ni4zNDYtLjg1NmExLjA1IDEuMDUgMCAwIDAtLjM0NS0uNzkgMS4xOCAxLjE4IDAgMCAwLS44NC0uMzI5cS0uNTEgMC0uODU1LjMzYTEuMDUgMS4wNSAwIDAgMC0uMzQ2Ljc5cTAgLjUxLjM0Ni44NTUuMzQ1LjM0Ni44NTYuMzQ2LjUxIDAgLjgzOS0uMzQ2em00LjMzNyA5LjMxNC4wMzMtMS4zMzJxLjE5MS40MDMuNTkuNzQ3bC4wOTguMDgxYTQgNCAwIDAgMCAuMzE2LjIyNGwuMjIzLjEyMmEzLjIgMy4yIDAgMCAwIDEuNDQuMzIyIDMuOCAzLjggMCAwIDAgMS44NzUtLjQ3NyAzLjUgMy41IDAgMCAwIDEuMzgyLTEuMzY2cS41MjctLjg5LjUyNi0yLjA5IDAtMS4xODQtLjQ0NC0yLjA3M2EzLjI0IDMuMjQgMCAwIDAtMS4yODMtMS4zOTlxLS44MjMtLjUxLTEuOTQyLS41MWEzLjUgMy41IDAgMCAwLTEuNTI3LjM0NGwtLjA4Ni4wNDMtLjE2NS4wOWEzIDMgMCAwIDAtLjMzLjIxNHEtLjQzMi4zMTUtLjY1Ni43MDdhMiAyIDAgMCAwLS4wOTkuMTk4bC4wODItMS4yODNWNC43MDFoLTEuNzQ0djEyLjA5NXptLjQ3My0yLjUwOWEyLjUgMi41IDAgMCAwIC41NjYuN3EuMTE3LjA5OC4yNDUuMThsLjE0NC4wOGEyLjEgMi4xIDAgMCAwIC45NzUuMjMycTEuMDcgMCAxLjY0NS0uNjc1LjU3Ni0uNjkuNTc2LTEuNzc4IDAtMS4xMDItLjU3Ni0xLjc3Ny0uNTYtLjY5MS0xLjY0NS0uNjkyYTIuMiAyLjIgMCAwIDAtMS4wMTUuMjM1cS0uMjIuMTEzLS40MTUuMjgybC0uMTUuMTQyYTIuMSAyLjEgMCAwIDAtLjQyLjU5NHEtLjIyMy40NzktLjIyMyAxLjF2LjExNXEwIC43MDUuMjkzIDEuMjZ6bTIuNjE2LS4yOTNjLjE1Ny0uMTkxLjI4LS40NzkuMjgtLjk2NyAwLS41MS0uMTMtLjc5LS4yNzYtLjk2MWwtLjAyMS0uMDI2Yy0uMDgyLS4xLS4yMzItLjIyNS0uNjctLjIyNWEuODcuODcgMCAwIDAtLjY4MS4yNzlsLS4wMTIuMDExYy0uMTU0LjE1NS0uMjc0LjM4LS4yNzQuODA3di4xMTVjMCAuMjg1LjA1Ny40OTkuMTQ0LjY2OWExLjEgMS4xIDAgMCAwIC4zNjcuNDA1Yy4xMzcuMDgyLjI4LjEyMy40NTUuMTIzLjQyMyAwIC41OS0uMTE4LjY4Ni0uMjN6bTguMjY2LTMuMDEzcS4zNDUtLjEzLjcyNC0uMTRsLjA2OS0uMDAycS40OTMgMCAuNjQyLjA5OWwuMjQ3LTEuNzk0cS0uMTk2LS4wOTktLjcxNy0uMDk5YTIuMyAyLjMgMCAwIDAtLjU0NS4wNjMgMiAyIDAgMCAwLS40MTEuMTQ4IDIuMiAyLjIgMCAwIDAtLjQuMjQ5IDIuNSAyLjUgMCAwIDAtLjQ4NS40OTkgMi43IDIuNyAwIDAgMC0uMzIuNTgxbC0uMDUuMTM3di0xLjQ4aC0xLjc3OHY3LjU1M2gxLjc3N3YtMy44ODRxMC0uNTQ2LjE1OS0uOTQzYTEuNSAxLjUgMCAwIDEgLjQ2Ni0uNjM2IDIuNSAyLjUgMCAwIDEgLjM5OS0uMjUzIDIgMiAwIDAgMSAuMjI0LS4wOTl6bTkuNzg0IDIuNjU2LjA1LS45MjJxMC0xLjc0My0uODU2LTIuNjk4LS44MzgtLjk3LTIuNTg0LS45Ny0xLjExOS0uMDAxLTIuMDA3LjQ5M2EzLjQ2IDMuNDYgMCAwIDAtMS40IDEuMzgycS0uNDkzLjkwNi0uNDkzIDIuMTA2IDAgMS4wNy40MjggMS45NzUuNDI4Ljg5IDEuMzMyIDEuNDMyLjkwNi41MjYgMi4yNTUuNTI2Ljk3MyAwIDEuNjY4LS4xODVsLjA0NC0uMDEyLjEzNS0uMDRxLjYxMy0uMTg0Ljk4NC0uNDIxbC0uNTQyLTEuMjY3cS0uMy4xNjItLjY0Mi4yNzRsLS4yOTcuMDg3cS0uNTEuMTMxLTEuMy4xMzEtLjk1NCAwLTEuNDk3LS40NDRhMS42IDEuNiAwIDAgMS0uMTkyLS4xOTNxLS4zNjYtLjQ0LS41MTItMS4yMzRsLS4wMDQtLjAyMXptLTUuNDI3LTEuMjU2LS4wMDMuMDIyaDMuNzUydi0uMTM4cS0uMDExLS43MjctLjI4OC0xLjExOGExIDEgMCAwIDAtLjE1Ni0uMTc2cS0uNDYtLjQyOC0xLjMxNi0uNDI4LS45ODYgMC0xLjQ5NC42MDQtLjM3OS40NS0uNDk0IDEuMjM0em0tMjcuMDUzIDIuNzdWNC43aC0xLjg2djEyLjA5NWg1LjMzM1YxNS4xNXptNy4xMDMtNS45MDh2Ny41NTNoLTEuODQzVjkuMjQyaDEuODQzeicvJTNFJTNDcGF0aCBmaWxsPSclMjNmZmYnIGQ9J20xOS42MyAxMS4xNTEtLjc1Ny0xLjcxLS4zNDUgMS43MS0xLjEyIDUuNjQ0aC0xLjgyN0wxOC4wODMgNC43aC4xOTdsMy4zMjUgNi41MzMuOTg4IDIuMTkuOTg4LTIuMTlMMjYuODM5IDQuN2guMTgxbDIuNiAxMi4wOTVoLTEuODFsLTEuMjE4LTUuNjQ0LS4zNjItMS43MS0uNjU4IDEuNzEtMi45MyA1LjY0NGgtLjA5OGwtMi45MTMtNS42NDR6bTE0LjgzNiA1LjgxcS0xLjAyIDAtMS44OTMtLjQ3OGEzLjggMy44IDAgMCAxLTEuMzgxLTEuMzgycS0uNTEtLjkwNi0uNTEtMi4xMDYgMC0xLjE4NS40NDQtMi4wNzRhMy4zNiAzLjM2IDAgMCAxIDEuMy0xLjM4MnEuODM5LS40OTQgMS45NzQtLjQ5NGEzLjMgMy4zIDAgMCAxIDEuMjM0LjIzMSAzLjMgMy4zIDAgMCAxIC45Ny41NzVxLjM5Ni4zMy41MjcuNjU5bC4wMzMtMS4yNjdoMS42OTR2Ny41NTNIMzcuMThsLS4wMzMtMS4zMzJxLS4yNzkuNTkzLTEuMDIgMS4wNTNhMy4xNyAzLjE3IDAgMCAxLTEuNjYyLjQ0NHptLjI5Ni0xLjQ4MnEuOTM4IDAgMS41OC0uNjQyLjY0Mi0uNjYuNjQyLTEuNzExdi0uMTE1cTAtLjcwOC0uMjk2LTEuMjY3YTIuMiAyLjIgMCAwIDAtLjgwNy0uODcyIDIuMSAyLjEgMCAwIDAtMS4xMTktLjMxM3EtMS4wNTMgMC0xLjYyOS42OTItLjU3NS42NzUtLjU3NSAxLjc2IDAgMS4xMDMuNTU5IDEuNzk1LjU3Ny42NzUgMS42NDUuNjc1em02LjUyMS02LjIzN2gxLjcxMXYxLjRxLjkwNi0xLjU5NyAyLjgzLTEuNTk3IDEuNTk2IDAgMi41ODQgMS4wMi45ODggMS4wMDUuOTg4IDIuOTE0IDAgMS4xODUtLjQ5MyAyLjA5YTMuNDYgMy40NiAwIDAgMS0xLjMxNiAxLjM5OSAzLjUgMy41IDAgMCAxLTEuODQ0LjQ5M3EtLjk1NCAwLTEuNjYyLS4zMjlhMi42NyAyLjY3IDAgMCAxLTEuMDg2LS45N2wuMDE3IDUuMTM0aC0xLjcyOHptNC4wNDggNi4yMnExLjA3IDAgMS42NDUtLjY3NC41NzctLjY5LjU3Ni0xLjc2MiAwLTEuMTE5LS41NzYtMS43NzctLjU1OC0uNjc1LTEuNjQ1LS42NzUtLjU5MiAwLTEuMTIuMjk2LS41MS4yOC0uODIyLjgyMy0uMjk2LjUyNy0uMjk2IDEuMjM0di4xMTVxMCAuNzA4LjI5NiAxLjI2Ny4zMTMuNTQzLjgyMy44NTUuNTEuMjk2IDEuMTE5LjI5N3onLyUzRSUzQ3BhdGggZmlsbD0nJTIzZTFlM2U5JyBkPSdNNTEuMzI1IDQuN2gxLjg2djEwLjQ1aDMuNDczdjEuNjQ2aC01LjMzM3ptNy4xMiA0LjU0MmgxLjg0M3Y3LjU1M2gtMS44NDN6bS45MDUtMS40MTVhMS4xNiAxLjE2IDAgMCAxLS44NTYtLjM0NiAxLjE3IDEuMTcgMCAwIDEtLjM0Ni0uODU2IDEuMDUgMS4wNSAwIDAgMSAuMzQ2LS43OXEuMzQ2LS4zMjkuODU2LS4zMjkuNDk0IDAgLjgzOS4zM2ExLjA1IDEuMDUgMCAwIDEgLjM0NS43OSAxLjE2IDEuMTYgMCAwIDEtLjM0NS44NTVxLS4zMy4zNDYtLjg0LjM0NnptNy44NzUgOS4xMzNhMy4xNyAzLjE3IDAgMCAxLTEuNjYyLS40NDRxLS43MjMtLjQ2LTEuMDA0LTEuMDUzbC0uMDMzIDEuMzMyaC0xLjcxVjQuNzAxaDEuNzQzdjQuNjU3bC0uMDgyIDEuMjgzcS4yNzktLjY1OCAxLjA4Ni0xLjExOWEzLjUgMy41IDAgMCAxIDEuNzc4LS40NzdxMS4xMTkgMCAxLjk0Mi41MWEzLjI0IDMuMjQgMCAwIDEgMS4yODMgMS40cS40NDUuODg4LjQ0NCAyLjA3MiAwIDEuMjAxLS41MjYgMi4wOWEzLjUgMy41IDAgMCAxLTEuMzgyIDEuMzY2IDMuOCAzLjggMCAwIDEtMS44NzYuNDc3em0tLjI5Ni0xLjQ4MXExLjA2OSAwIDEuNjQ1LS42NzUuNTc3LS42OS41NzctMS43NzggMC0xLjEwMi0uNTc3LTEuNzc2LS41Ni0uNjkxLTEuNjQ1LS42OTJhMi4xMiAyLjEyIDAgMCAwLTEuNTguNjU5cS0uNjQyLjY0MS0uNjQyIDEuNjk0di4xMTVxMCAuNzEuMjk2IDEuMjY3YTIuNCAyLjQgMCAwIDAgLjgwNy44NzIgMi4xIDIuMSAwIDAgMCAxLjExOS4zMTN6bTUuOTI3LTYuMjM3aDEuNzc3djEuNDgxcS4yNjMtLjc1Ny44NTYtMS4yMTdhMi4xNCAyLjE0IDAgMCAxIDEuMzQ5LS40NnEuNTI3IDAgLjcyNC4wOThsLS4yNDcgMS43OTRxLS4xNDktLjA5OS0uNjQyLS4wOTktLjc3NCAwLTEuNDE2LjQ5NC0uNjI2LjQ5My0uNjI2IDEuNTh2My44ODNoLTEuNzc3VjkuMjQyem05LjUzNCA3LjcxOHEtMS4zNSAwLTIuMjU1LS41MjYtLjkwNC0uNTQzLTEuMzMyLTEuNDMyYTQuNiA0LjYgMCAwIDEtLjQyOC0xLjk3NXEwLTEuMi40OTMtMi4xMDZhMy40NiAzLjQ2IDAgMCAxIDEuNC0xLjM4MnEuODg5LS40OTUgMi4wMDctLjQ5NCAxLjc0NCAwIDIuNTg0Ljk3Ljg1NS45NTYuODU2IDIuNyAwIC40NDQtLjA1LjkyaC01LjQzcS4xOCAxLjAwNS43MDggMS40NS41NDIuNDQzIDEuNDk3LjQ0My43OSAwIDEuMy0uMTMxYTQgNCAwIDAgMCAuOTM4LS4zNjJsLjU0MiAxLjI2N3EtLjQxMS4yNjMtMS4xMTkuNDYtLjcwOC4xOTgtMS43MTEuMTk3em0xLjU5Ni00LjU1OHEuMDE2LTEuMDItLjQ0NC0xLjQzMi0uNDYtLjQyOC0xLjMxNi0uNDI4LTEuNzI4IDAtMS45OTEgMS44NnonLyUzRSUzQ3BhdGggZD0nTTUuMDc0IDE1Ljk0OGEuNDg0LjY1NyAwIDAgMC0uNDg2LjY1OXYxLjg0YS40ODQuNjU3IDAgMCAwIC40ODYuNjU5aDQuMTAxYS40ODQuNjU3IDAgMCAwIC40ODYtLjY1OXYtMS44NGEuNDg0LjY1NyAwIDAgMC0uNDg2LS42NTl6bTMuNTYgMS4xNkg1LjYxN3YuODM4aDMuMDE3eicgc3R5bGU9J2ZpbGw6JTIzZmZmO2ZpbGwtcnVsZTpldmVub2RkO3N0cm9rZS13aWR0aDoxLjAzNjAwMDAxJy8lM0UlM0NnIHN0eWxlPSdzdHJva2Utd2lkdGg6MS4xMjYwMzU0NSclM0UlM0NwYXRoIGQ9J00tOS40MDgtMS40MTZjLTMuODMzLS4wMjUtNy4wNTYgMi45MTItNy4wOCA2LjYxNS0uMDIgMy4wOCAxLjY1MyA0LjgzMiAzLjEwNyA2LjI2OC45MDMuODkyIDEuNzIxIDEuNzQgMi4zMiAyLjkwMmwtLjUyNS0uMDA0Yy0uNTQzLS4wMDMtLjk5Mi4zMDQtMS4yNC42MzlhMS44NyAxLjg3IDAgMCAwLS4zNjIgMS4xMjFsLS4wMTEgMS44NzdjLS4wMDMuNDAyLjEwNC43ODcuMzQ3IDEuMTI1LjI0NC4zMzguNjg4LjY1MyAxLjIzLjY1Nmw0LjE0Mi4wMjhjLjU0Mi4wMDMuOTktLjMwNiAxLjIzOC0uNjQxYTEuODcgMS44NyAwIDAgMCAuMzYzLTEuMTIxbC4wMTItMS44NzVhMS44NyAxLjg3IDAgMCAwLS4zNDgtMS4xMjdjLS4yNDMtLjMzOC0uNjg4LS42NTMtMS4yMy0uNjU2bC0uNTE4LS4wMDRjLjU5Ny0xLjE0NSAxLjQyNS0xLjk4MyAyLjM0OC0yLjg3IDEuNDczLTEuNDE0IDMuMTgtMy4xNDkgMy4yLTYuMjI2LS4wMTYtMy41OS0yLjkyMy02LjY4NC02Ljk5My02LjcwN20tLjAwNiAxLjF2LjAwMmMzLjI3NC4wMiA1LjkyIDIuNTMyIDUuOSA1LjYtLjAxNyAyLjcwNi0xLjM5IDQuMDI2LTIuODYzIDUuNDQtMS4wMzQuOTk0LTIuMTE4IDIuMDMzLTIuODE0IDMuNjMzLS4wMTguMDQxLS4wNTIuMDU1LS4wNzUuMDY1cS0uMDEzLjAwNC0uMDIuMDFhLjM0LjM0IDAgMCAxLS4yMjYuMDg0LjM0LjM0IDAgMCAxLS4yMjQtLjA4NmwtLjA5Mi0uMDc3Yy0uNjk5LTEuNjE1LTEuNzY4LTIuNjY5LTIuNzgxLTMuNjctMS40NTQtMS40MzUtMi43OTctMi43NjItMi43OC01LjQ3OC4wMi0zLjA2NyAyLjctNS41NDUgNS45NzUtNS41MjNtLS4wMiAyLjgyNmMtMS42Mi0uMDEtMi45NDQgMS4zMTUtMi45NTUgMi45Ni0uMDEgMS42NDYgMS4yOTUgMi45ODggMi45MTYgMi45OTloLjAwMmMxLjYyMS4wMSAyLjk0My0xLjMxNiAyLjk1My0yLjk2MS4wMTEtMS42NDYtMS4yOTQtMi45ODgtMi45MTYtMi45OThtLS4wMDUgMS4xYzEuMDE3LjAwNiAxLjgyOS44MyAxLjgyMiAxLjg5cy0uODMgMS44NzQtMS44NDggMS44NjdjLTEuMDE4LS4wMDYtMS44MjktLjgzLTEuODIyLTEuODlzLjgzLTEuODc0IDEuODQ4LTEuODY4bS0yLjE1NSAxMS44NTcgNC4xNC4wMjVjLjI3MS4wMDIuNDkuMzA1LjQ4Ny42NzZsLS4wMTMgMS44NzVjLS4wMDMuMzctLjIyNC42Ny0uNDk1LjY2OGwtNC4xNC0uMDI1Yy0uMjctLjAwMi0uNDg3LS4zMDYtLjQ4NS0uNjc2bC4wMTItMS44NzVjLjAwMy0uMzcuMjI0LS42Ny40OTQtLjY2OCcgc3R5bGU9J2NvbG9yOiUyMzAwMDtmb250LXN0eWxlOm5vcm1hbDtmb250LXZhcmlhbnQ6bm9ybWFsO2ZvbnQtd2VpZ2h0OjQwMDtmb250LXN0cmV0Y2g6bm9ybWFsO2ZvbnQtc2l6ZTptZWRpdW07bGluZS1oZWlnaHQ6bm9ybWFsO2ZvbnQtZmFtaWx5OnNhbnMtc2VyaWY7Zm9udC12YXJpYW50LWxpZ2F0dXJlczpub3JtYWw7Zm9udC12YXJpYW50LXBvc2l0aW9uOm5vcm1hbDtmb250LXZhcmlhbnQtY2Fwczpub3JtYWw7Zm9udC12YXJpYW50LW51bWVyaWM6bm9ybWFsO2ZvbnQtdmFyaWFudC1hbHRlcm5hdGVzOm5vcm1hbDtmb250LWZlYXR1cmUtc2V0dGluZ3M6bm9ybWFsO3RleHQtaW5kZW50OjA7dGV4dC1hbGlnbjpzdGFydDt0ZXh0LWRlY29yYXRpb246bm9uZTt0ZXh0LWRlY29yYXRpb24tbGluZTpub25lO3RleHQtZGVjb3JhdGlvbi1zdHlsZTpzb2xpZDt0ZXh0LWRlY29yYXRpb24tY29sb3I6JTIzMDAwO2xldHRlci1zcGFjaW5nOm5vcm1hbDt3b3JkLXNwYWNpbmc6bm9ybWFsO3RleHQtdHJhbnNmb3JtOm5vbmU7d3JpdGluZy1tb2RlOmxyLXRiO2RpcmVjdGlvbjpsdHI7dGV4dC1vcmllbnRhdGlvbjptaXhlZDtkb21pbmFudC1iYXNlbGluZTphdXRvO2Jhc2VsaW5lLXNoaWZ0OmJhc2VsaW5lO3RleHQtYW5jaG9yOnN0YXJ0O3doaXRlLXNwYWNlOm5vcm1hbDtzaGFwZS1wYWRkaW5nOjA7Y2xpcC1ydWxlOmV2ZW5vZGQ7ZGlzcGxheTppbmxpbmU7b3ZlcmZsb3c6dmlzaWJsZTt2aXNpYmlsaXR5OnZpc2libGU7b3BhY2l0eToxO2lzb2xhdGlvbjphdXRvO21peC1ibGVuZC1tb2RlOm5vcm1hbDtjb2xvci1pbnRlcnBvbGF0aW9uOnNSR0I7Y29sb3ItaW50ZXJwb2xhdGlvbi1maWx0ZXJzOmxpbmVhclJHQjtzb2xpZC1jb2xvcjolMjMwMDA7c29saWQtb3BhY2l0eToxO3ZlY3Rvci1lZmZlY3Q6bm9uZTtmaWxsOiUyMzAwMDtmaWxsLW9wYWNpdHk6LjQ7ZmlsbC1ydWxlOmV2ZW5vZGQ7c3Ryb2tlOm5vbmU7c3Ryb2tlLXdpZHRoOjIuNDc3Mjc4MjM7c3Ryb2tlLWxpbmVjYXA6YnV0dDtzdHJva2UtbGluZWpvaW46bWl0ZXI7c3Ryb2tlLW1pdGVybGltaXQ6NDtzdHJva2UtZGFzaGFycmF5Om5vbmU7c3Ryb2tlLWRhc2hvZmZzZXQ6MDtzdHJva2Utb3BhY2l0eToxO2NvbG9yLXJlbmRlcmluZzphdXRvO2ltYWdlLXJlbmRlcmluZzphdXRvO3NoYXBlLXJlbmRlcmluZzphdXRvO3RleHQtcmVuZGVyaW5nOmF1dG8nIHRyYW5zZm9ybT0ndHJhbnNsYXRlKDE1LjU1MyAyLjg1KXNjYWxlKC44ODgwNyknLyUzRSUzQ3BhdGggZD0nTS05LjQxNS0uMzE2Qy0xMi42OS0uMzM4LTE1LjM3IDIuMTQtMTUuMzkgNS4yMDdjLS4wMTcgMi43MTYgMS4zMjYgNC4wNDEgMi43OCA1LjQ3NyAxLjAxMyAxIDIuMDgxIDIuMDU1IDIuNzggMy42N2wuMDkyLjA3NmEuMzQuMzQgMCAwIDAgLjIyNS4wODYuMzQuMzQgMCAwIDAgLjIyNy0uMDgzbC4wMTktLjAxYy4wMjItLjAwOS4wNTctLjAyNC4wNzQtLjA2NC42OTctMS42IDEuNzgtMi42NCAyLjgxNC0zLjYzNCAxLjQ3My0xLjQxNCAyLjg0Ny0yLjczMyAyLjg2NC01LjQ0LjAyLTMuMDY3LTIuNjI3LTUuNTgtNS45MDEtNS42MDFtLS4wNTcgOC43ODRjMS42MjEuMDExIDIuOTQ0LTEuMzE1IDIuOTU1LTIuOTYuMDEtMS42NDYtMS4yOTUtMi45ODgtMi45MTYtMi45OTktMS42MjItLjAxLTIuOTQ1IDEuMzE1LTIuOTU1IDIuOTZzMS4yOTUgMi45ODkgMi45MTYgMycgc3R5bGU9J2NsaXAtcnVsZTpldmVub2RkO2ZpbGw6JTIzZTFlM2U5O2ZpbGwtb3BhY2l0eToxO2ZpbGwtcnVsZTpldmVub2RkO3N0cm9rZTpub25lO3N0cm9rZS13aWR0aDoyLjQ3NzI3ODIzO3N0cm9rZS1taXRlcmxpbWl0OjQ7c3Ryb2tlLWRhc2hhcnJheTpub25lO3N0cm9rZS1vcGFjaXR5Oi40JyB0cmFuc2Zvcm09J3RyYW5zbGF0ZSgxNS41NTMgMi44NSlzY2FsZSguODg4MDcpJy8lM0UlM0NwYXRoIGQ9J00tMTEuNTk0IDE1LjQ2NWMtLjI3LS4wMDItLjQ5Mi4yOTctLjQ5NC42NjhsLS4wMTIgMS44NzZjLS4wMDMuMzcxLjIxNC42NzMuNDg1LjY3NWw0LjE0LjAyN2MuMjcxLjAwMi40OTItLjI5OC40OTUtLjY2OGwuMDEyLTEuODc3Yy4wMDMtLjM3LS4yMTUtLjY3Mi0uNDg1LS42NzR6JyBzdHlsZT0nY2xpcC1ydWxlOmV2ZW5vZGQ7ZmlsbDolMjNmZmY7ZmlsbC1vcGFjaXR5OjE7ZmlsbC1ydWxlOmV2ZW5vZGQ7c3Ryb2tlOm5vbmU7c3Ryb2tlLXdpZHRoOjIuNDc3Mjc4MjM7c3Ryb2tlLW1pdGVybGltaXQ6NDtzdHJva2UtZGFzaGFycmF5Om5vbmU7c3Ryb2tlLW9wYWNpdHk6LjQnIHRyYW5zZm9ybT0ndHJhbnNsYXRlKDE1LjU1MyAyLjg1KXNjYWxlKC44ODgwNyknLyUzRSUzQy9nJTNFJTNDL3N2ZyUzRVwiKX19XG5cbi5tYXBsaWJyZWdsLWN0cmwubWFwbGlicmVnbC1jdHJsLWF0dHJpYntiYWNrZ3JvdW5kLWNvbG9yOmhzbGEoMCwwJSwxMDAlLC41KTttYXJnaW46MDtwYWRkaW5nOjAgNXB4fVxuXG5AbWVkaWEgc2NyZWVuey5tYXBsaWJyZWdsLWN0cmwtYXR0cmliLm1hcGxpYnJlZ2wtY29tcGFjdHtiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7Ym9yZGVyLXJhZGl1czoxMnB4Oy13ZWJraXQtYm94LXNpemluZzpjb250ZW50LWJveDtib3gtc2l6aW5nOmNvbnRlbnQtYm94O2NvbG9yOiMwMDA7bWFyZ2luOjEwcHg7bWluLWhlaWdodDoyMHB4O3BhZGRpbmc6MnB4IDI0cHggMnB4IDA7cG9zaXRpb246cmVsYXRpdmV9Lm1hcGxpYnJlZ2wtY3RybC1hdHRyaWIubWFwbGlicmVnbC1jb21wYWN0LXNob3d7cGFkZGluZzoycHggMjhweCAycHggOHB4O3Zpc2liaWxpdHk6dmlzaWJsZX0ubWFwbGlicmVnbC1jdHJsLWJvdHRvbS1sZWZ0Pi5tYXBsaWJyZWdsLWN0cmwtYXR0cmliLm1hcGxpYnJlZ2wtY29tcGFjdC1zaG93LC5tYXBsaWJyZWdsLWN0cmwtdG9wLWxlZnQ+Lm1hcGxpYnJlZ2wtY3RybC1hdHRyaWIubWFwbGlicmVnbC1jb21wYWN0LXNob3d7Ym9yZGVyLXJhZGl1czoxMnB4O3BhZGRpbmc6MnB4IDhweCAycHggMjhweH0ubWFwbGlicmVnbC1jdHJsLWF0dHJpYi5tYXBsaWJyZWdsLWNvbXBhY3QgLm1hcGxpYnJlZ2wtY3RybC1hdHRyaWItaW5uZXJ7ZGlzcGxheTpub25lfS5tYXBsaWJyZWdsLWN0cmwtYXR0cmliLWJ1dHRvbntiYWNrZ3JvdW5kLWNvbG9yOmhzbGEoMCwwJSwxMDAlLC41KTtiYWNrZ3JvdW5kLWltYWdlOnVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0Zi04LCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPScyNCcgaGVpZ2h0PScyNCcgZmlsbC1ydWxlPSdldmVub2RkJyB2aWV3Qm94PScwIDAgMjAgMjAnJTNFJTNDcGF0aCBkPSdNNCAxMGE2IDYgMCAxIDAgMTIgMCA2IDYgMCAxIDAtMTIgMG01LTNhMSAxIDAgMSAwIDIgMCAxIDEgMCAxIDAtMiAwbTAgM2ExIDEgMCAxIDEgMiAwdjNhMSAxIDAgMSAxLTIgMCcvJTNFJTNDL3N2ZyUzRVwiKTtib3JkZXI6MDtib3JkZXItcmFkaXVzOjEycHg7LXdlYmtpdC1ib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym94LXNpemluZzpib3JkZXItYm94O2N1cnNvcjpwb2ludGVyO2Rpc3BsYXk6bm9uZTtoZWlnaHQ6MjRweDtvdXRsaW5lOm5vbmU7cG9zaXRpb246YWJzb2x1dGU7cmlnaHQ6MDt0b3A6MDt3aWR0aDoyNHB4fS5tYXBsaWJyZWdsLWN0cmwtYXR0cmliIHN1bW1hcnkubWFwbGlicmVnbC1jdHJsLWF0dHJpYi1idXR0b257LXdlYmtpdC1hcHBlYXJhbmNlOm5vbmU7LW1vei1hcHBlYXJhbmNlOm5vbmU7YXBwZWFyYW5jZTpub25lO2xpc3Qtc3R5bGU6bm9uZX0ubWFwbGlicmVnbC1jdHJsLWF0dHJpYiBzdW1tYXJ5Lm1hcGxpYnJlZ2wtY3RybC1hdHRyaWItYnV0dG9uOjotd2Via2l0LWRldGFpbHMtbWFya2Vye2Rpc3BsYXk6bm9uZX0ubWFwbGlicmVnbC1jdHJsLWJvdHRvbS1sZWZ0IC5tYXBsaWJyZWdsLWN0cmwtYXR0cmliLWJ1dHRvbiwubWFwbGlicmVnbC1jdHJsLXRvcC1sZWZ0IC5tYXBsaWJyZWdsLWN0cmwtYXR0cmliLWJ1dHRvbntsZWZ0OjB9Lm1hcGxpYnJlZ2wtY3RybC1hdHRyaWIubWFwbGlicmVnbC1jb21wYWN0IC5tYXBsaWJyZWdsLWN0cmwtYXR0cmliLWJ1dHRvbiwubWFwbGlicmVnbC1jdHJsLWF0dHJpYi5tYXBsaWJyZWdsLWNvbXBhY3Qtc2hvdyAubWFwbGlicmVnbC1jdHJsLWF0dHJpYi1pbm5lcntkaXNwbGF5OmJsb2NrfS5tYXBsaWJyZWdsLWN0cmwtYXR0cmliLm1hcGxpYnJlZ2wtY29tcGFjdC1zaG93IC5tYXBsaWJyZWdsLWN0cmwtYXR0cmliLWJ1dHRvbntiYWNrZ3JvdW5kLWNvbG9yOnJnYigwIDAgMC81JSl9Lm1hcGxpYnJlZ2wtY3RybC1ib3R0b20tcmlnaHQ+Lm1hcGxpYnJlZ2wtY3RybC1hdHRyaWIubWFwbGlicmVnbC1jb21wYWN0OmFmdGVye2JvdHRvbTowO3JpZ2h0OjB9Lm1hcGxpYnJlZ2wtY3RybC10b3AtcmlnaHQ+Lm1hcGxpYnJlZ2wtY3RybC1hdHRyaWIubWFwbGlicmVnbC1jb21wYWN0OmFmdGVye3JpZ2h0OjA7dG9wOjB9Lm1hcGxpYnJlZ2wtY3RybC10b3AtbGVmdD4ubWFwbGlicmVnbC1jdHJsLWF0dHJpYi5tYXBsaWJyZWdsLWNvbXBhY3Q6YWZ0ZXJ7bGVmdDowO3RvcDowfS5tYXBsaWJyZWdsLWN0cmwtYm90dG9tLWxlZnQ+Lm1hcGxpYnJlZ2wtY3RybC1hdHRyaWIubWFwbGlicmVnbC1jb21wYWN0OmFmdGVye2JvdHRvbTowO2xlZnQ6MH19XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChmb3JjZWQtY29sb3JzOmFjdGl2ZSl7Lm1hcGxpYnJlZ2wtY3RybC1hdHRyaWIubWFwbGlicmVnbC1jb21wYWN0OmFmdGVye2JhY2tncm91bmQtaW1hZ2U6dXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmLTgsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzI0JyBoZWlnaHQ9JzI0JyBmaWxsPSclMjNmZmYnIGZpbGwtcnVsZT0nZXZlbm9kZCcgdmlld0JveD0nMCAwIDIwIDIwJyUzRSUzQ3BhdGggZD0nTTQgMTBhNiA2IDAgMSAwIDEyIDAgNiA2IDAgMSAwLTEyIDBtNS0zYTEgMSAwIDEgMCAyIDAgMSAxIDAgMSAwLTIgMG0wIDNhMSAxIDAgMSAxIDIgMHYzYTEgMSAwIDEgMS0yIDAnLyUzRSUzQy9zdmclM0VcIil9fVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAoZm9yY2VkLWNvbG9yczphY3RpdmUpIGFuZCAocHJlZmVycy1jb2xvci1zY2hlbWU6bGlnaHQpey5tYXBsaWJyZWdsLWN0cmwtYXR0cmliLm1hcGxpYnJlZ2wtY29tcGFjdDphZnRlcntiYWNrZ3JvdW5kLWltYWdlOnVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0Zi04LCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPScyNCcgaGVpZ2h0PScyNCcgZmlsbC1ydWxlPSdldmVub2RkJyB2aWV3Qm94PScwIDAgMjAgMjAnJTNFJTNDcGF0aCBkPSdNNCAxMGE2IDYgMCAxIDAgMTIgMCA2IDYgMCAxIDAtMTIgMG01LTNhMSAxIDAgMSAwIDIgMCAxIDEgMCAxIDAtMiAwbTAgM2ExIDEgMCAxIDEgMiAwdjNhMSAxIDAgMSAxLTIgMCcvJTNFJTNDL3N2ZyUzRVwiKX19XG5cbi5tYXBsaWJyZWdsLWN0cmwtYXR0cmliIGF7Y29sb3I6cmdiYSgwLDAsMCwuNzUpO3RleHQtZGVjb3JhdGlvbjpub25lfVxuXG4ubWFwbGlicmVnbC1jdHJsLWF0dHJpYiBhOmhvdmVye2NvbG9yOmluaGVyaXQ7dGV4dC1kZWNvcmF0aW9uOnVuZGVybGluZX1cblxuLm1hcGxpYnJlZ2wtYXR0cmliLWVtcHR5e2Rpc3BsYXk6bm9uZX1cblxuLm1hcGxpYnJlZ2wtY3RybC1zY2FsZXtiYWNrZ3JvdW5kLWNvbG9yOmhzbGEoMCwwJSwxMDAlLC43NSk7Ym9yZGVyOjJweCBzb2xpZCAjMzMzO2JvcmRlci10b3A6IzMzMzstd2Via2l0LWJveC1zaXppbmc6Ym9yZGVyLWJveDtib3gtc2l6aW5nOmJvcmRlci1ib3g7Y29sb3I6IzMzMztmb250LXNpemU6MTBweDtwYWRkaW5nOjAgNXB4fVxuXG4ubWFwbGlicmVnbC1wb3B1cHtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LW1zLWZsZXhib3g7ZGlzcGxheTpmbGV4O2xlZnQ6MDtwb2ludGVyLWV2ZW50czpub25lO3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO3dpbGwtY2hhbmdlOnRyYW5zZm9ybX1cblxuLm1hcGxpYnJlZ2wtcG9wdXAtYW5jaG9yLXRvcCwubWFwbGlicmVnbC1wb3B1cC1hbmNob3ItdG9wLWxlZnQsLm1hcGxpYnJlZ2wtcG9wdXAtYW5jaG9yLXRvcC1yaWdodHstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7LXdlYmtpdC1ib3gtZGlyZWN0aW9uOm5vcm1hbDstbXMtZmxleC1kaXJlY3Rpb246Y29sdW1uO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbn1cblxuLm1hcGxpYnJlZ2wtcG9wdXAtYW5jaG9yLWJvdHRvbSwubWFwbGlicmVnbC1wb3B1cC1hbmNob3ItYm90dG9tLWxlZnQsLm1hcGxpYnJlZ2wtcG9wdXAtYW5jaG9yLWJvdHRvbS1yaWdodHstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7LXdlYmtpdC1ib3gtZGlyZWN0aW9uOnJldmVyc2U7LW1zLWZsZXgtZGlyZWN0aW9uOmNvbHVtbi1yZXZlcnNlO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbi1yZXZlcnNlfVxuXG4ubWFwbGlicmVnbC1wb3B1cC1hbmNob3ItbGVmdHstd2Via2l0LWJveC1vcmllbnQ6aG9yaXpvbnRhbDstd2Via2l0LWJveC1kaXJlY3Rpb246bm9ybWFsOy1tcy1mbGV4LWRpcmVjdGlvbjpyb3c7ZmxleC1kaXJlY3Rpb246cm93fVxuXG4ubWFwbGlicmVnbC1wb3B1cC1hbmNob3ItcmlnaHR7LXdlYmtpdC1ib3gtb3JpZW50Omhvcml6b250YWw7LXdlYmtpdC1ib3gtZGlyZWN0aW9uOnJldmVyc2U7LW1zLWZsZXgtZGlyZWN0aW9uOnJvdy1yZXZlcnNlO2ZsZXgtZGlyZWN0aW9uOnJvdy1yZXZlcnNlfVxuXG4ubWFwbGlicmVnbC1wb3B1cC10aXB7Ym9yZGVyOjEwcHggc29saWQgdHJhbnNwYXJlbnQ7aGVpZ2h0OjA7d2lkdGg6MDt6LWluZGV4OjF9XG5cbi5tYXBsaWJyZWdsLXBvcHVwLWFuY2hvci10b3AgLm1hcGxpYnJlZ2wtcG9wdXAtdGlwey1tcy1mbGV4LWl0ZW0tYWxpZ246Y2VudGVyO2FsaWduLXNlbGY6Y2VudGVyO2JvcmRlci1ib3R0b20tY29sb3I6I2ZmZjtib3JkZXItdG9wOm5vbmV9XG5cbi5tYXBsaWJyZWdsLXBvcHVwLWFuY2hvci10b3AtbGVmdCAubWFwbGlicmVnbC1wb3B1cC10aXB7LW1zLWZsZXgtaXRlbS1hbGlnbjpzdGFydDthbGlnbi1zZWxmOmZsZXgtc3RhcnQ7Ym9yZGVyLWJvdHRvbS1jb2xvcjojZmZmO2JvcmRlci1sZWZ0Om5vbmU7Ym9yZGVyLXRvcDpub25lfVxuXG4ubWFwbGlicmVnbC1wb3B1cC1hbmNob3ItdG9wLXJpZ2h0IC5tYXBsaWJyZWdsLXBvcHVwLXRpcHstbXMtZmxleC1pdGVtLWFsaWduOmVuZDthbGlnbi1zZWxmOmZsZXgtZW5kO2JvcmRlci1ib3R0b20tY29sb3I6I2ZmZjtib3JkZXItcmlnaHQ6bm9uZTtib3JkZXItdG9wOm5vbmV9XG5cbi5tYXBsaWJyZWdsLXBvcHVwLWFuY2hvci1ib3R0b20gLm1hcGxpYnJlZ2wtcG9wdXAtdGlwey1tcy1mbGV4LWl0ZW0tYWxpZ246Y2VudGVyO2FsaWduLXNlbGY6Y2VudGVyO2JvcmRlci1ib3R0b206bm9uZTtib3JkZXItdG9wLWNvbG9yOiNmZmZ9XG5cbi5tYXBsaWJyZWdsLXBvcHVwLWFuY2hvci1ib3R0b20tbGVmdCAubWFwbGlicmVnbC1wb3B1cC10aXB7LW1zLWZsZXgtaXRlbS1hbGlnbjpzdGFydDthbGlnbi1zZWxmOmZsZXgtc3RhcnQ7Ym9yZGVyLWJvdHRvbTpub25lO2JvcmRlci1sZWZ0Om5vbmU7Ym9yZGVyLXRvcC1jb2xvcjojZmZmfVxuXG4ubWFwbGlicmVnbC1wb3B1cC1hbmNob3ItYm90dG9tLXJpZ2h0IC5tYXBsaWJyZWdsLXBvcHVwLXRpcHstbXMtZmxleC1pdGVtLWFsaWduOmVuZDthbGlnbi1zZWxmOmZsZXgtZW5kO2JvcmRlci1ib3R0b206bm9uZTtib3JkZXItcmlnaHQ6bm9uZTtib3JkZXItdG9wLWNvbG9yOiNmZmZ9XG5cbi5tYXBsaWJyZWdsLXBvcHVwLWFuY2hvci1sZWZ0IC5tYXBsaWJyZWdsLXBvcHVwLXRpcHstbXMtZmxleC1pdGVtLWFsaWduOmNlbnRlcjthbGlnbi1zZWxmOmNlbnRlcjtib3JkZXItbGVmdDpub25lO2JvcmRlci1yaWdodC1jb2xvcjojZmZmfVxuXG4ubWFwbGlicmVnbC1wb3B1cC1hbmNob3ItcmlnaHQgLm1hcGxpYnJlZ2wtcG9wdXAtdGlwey1tcy1mbGV4LWl0ZW0tYWxpZ246Y2VudGVyO2FsaWduLXNlbGY6Y2VudGVyO2JvcmRlci1sZWZ0LWNvbG9yOiNmZmY7Ym9yZGVyLXJpZ2h0Om5vbmV9XG5cbi5tYXBsaWJyZWdsLXBvcHVwLWNsb3NlLWJ1dHRvbntiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50O2JvcmRlcjowO2JvcmRlci1yYWRpdXM6MCAzcHggMCAwO2N1cnNvcjpwb2ludGVyO3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0OjA7dG9wOjB9XG5cbi5tYXBsaWJyZWdsLXBvcHVwLWNsb3NlLWJ1dHRvbjpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnJnYigwIDAgMC81JSl9XG5cbi5tYXBsaWJyZWdsLXBvcHVwLWNvbnRlbnR7YmFja2dyb3VuZDojZmZmO2JvcmRlci1yYWRpdXM6M3B4Oy13ZWJraXQtYm94LXNoYWRvdzowIDFweCAycHggcmdiYSgwLDAsMCwuMSk7Ym94LXNoYWRvdzowIDFweCAycHggcmdiYSgwLDAsMCwuMSk7cGFkZGluZzoxNXB4IDEwcHg7cG9pbnRlci1ldmVudHM6YXV0bztwb3NpdGlvbjpyZWxhdGl2ZX1cblxuLm1hcGxpYnJlZ2wtcG9wdXAtYW5jaG9yLXRvcC1sZWZ0IC5tYXBsaWJyZWdsLXBvcHVwLWNvbnRlbnR7Ym9yZGVyLXRvcC1sZWZ0LXJhZGl1czowfVxuXG4ubWFwbGlicmVnbC1wb3B1cC1hbmNob3ItdG9wLXJpZ2h0IC5tYXBsaWJyZWdsLXBvcHVwLWNvbnRlbnR7Ym9yZGVyLXRvcC1yaWdodC1yYWRpdXM6MH1cblxuLm1hcGxpYnJlZ2wtcG9wdXAtYW5jaG9yLWJvdHRvbS1sZWZ0IC5tYXBsaWJyZWdsLXBvcHVwLWNvbnRlbnR7Ym9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czowfVxuXG4ubWFwbGlicmVnbC1wb3B1cC1hbmNob3ItYm90dG9tLXJpZ2h0IC5tYXBsaWJyZWdsLXBvcHVwLWNvbnRlbnR7Ym9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6MH1cblxuLm1hcGxpYnJlZ2wtcG9wdXAtdHJhY2stcG9pbnRlcntkaXNwbGF5Om5vbmV9XG5cbi5tYXBsaWJyZWdsLXBvcHVwLXRyYWNrLXBvaW50ZXIgKntwb2ludGVyLWV2ZW50czpub25lOy13ZWJraXQtdXNlci1zZWxlY3Q6bm9uZTstbW96LXVzZXItc2VsZWN0Om5vbmU7LW1zLXVzZXItc2VsZWN0Om5vbmU7dXNlci1zZWxlY3Q6bm9uZX1cblxuLm1hcGxpYnJlZ2wtbWFwOmhvdmVyIC5tYXBsaWJyZWdsLXBvcHVwLXRyYWNrLXBvaW50ZXJ7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5Oi1tcy1mbGV4Ym94O2Rpc3BsYXk6ZmxleH1cblxuLm1hcGxpYnJlZ2wtbWFwOmFjdGl2ZSAubWFwbGlicmVnbC1wb3B1cC10cmFjay1wb2ludGVye2Rpc3BsYXk6bm9uZX1cblxuLm1hcGxpYnJlZ2wtbWFya2Vye2xlZnQ6MDtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDstd2Via2l0LXRyYW5zaXRpb246b3BhY2l0eSAuMnM7dHJhbnNpdGlvbjpvcGFjaXR5IC4yczt3aWxsLWNoYW5nZTp0cmFuc2Zvcm19XG5cbi5tYXBsaWJyZWdsLXVzZXItbG9jYXRpb24tZG90LC5tYXBsaWJyZWdsLXVzZXItbG9jYXRpb24tZG90OmJlZm9yZXtiYWNrZ3JvdW5kLWNvbG9yOiMxZGExZjI7Ym9yZGVyLXJhZGl1czo1MCU7aGVpZ2h0OjE1cHg7d2lkdGg6MTVweH1cblxuLm1hcGxpYnJlZ2wtdXNlci1sb2NhdGlvbi1kb3Q6YmVmb3Jley13ZWJraXQtYW5pbWF0aW9uOm1hcGxpYnJlZ2wtdXNlci1sb2NhdGlvbi1kb3QtcHVsc2UgMnMgaW5maW5pdGU7YW5pbWF0aW9uOm1hcGxpYnJlZ2wtdXNlci1sb2NhdGlvbi1kb3QtcHVsc2UgMnMgaW5maW5pdGU7Y29udGVudDpcIlwiO3Bvc2l0aW9uOmFic29sdXRlfVxuXG4ubWFwbGlicmVnbC11c2VyLWxvY2F0aW9uLWRvdDphZnRlcntib3JkZXI6MnB4IHNvbGlkICNmZmY7Ym9yZGVyLXJhZGl1czo1MCU7LXdlYmtpdC1ib3gtc2hhZG93OjAgMCAzcHggcmdiYSgwLDAsMCwuMzUpO2JveC1zaGFkb3c6MCAwIDNweCByZ2JhKDAsMCwwLC4zNSk7LXdlYmtpdC1ib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym94LXNpemluZzpib3JkZXItYm94O2NvbnRlbnQ6XCJcIjtoZWlnaHQ6MTlweDtsZWZ0Oi0ycHg7cG9zaXRpb246YWJzb2x1dGU7dG9wOi0ycHg7d2lkdGg6MTlweH1cblxuQC13ZWJraXQta2V5ZnJhbWVzIG1hcGxpYnJlZ2wtdXNlci1sb2NhdGlvbi1kb3QtcHVsc2V7MCV7b3BhY2l0eToxOy13ZWJraXQtdHJhbnNmb3JtOnNjYWxlKDEpO3RyYW5zZm9ybTpzY2FsZSgxKX03MCV7b3BhY2l0eTowOy13ZWJraXQtdHJhbnNmb3JtOnNjYWxlKDMpO3RyYW5zZm9ybTpzY2FsZSgzKX10b3tvcGFjaXR5OjA7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGUoMSk7dHJhbnNmb3JtOnNjYWxlKDEpfX1cblxuQGtleWZyYW1lcyBtYXBsaWJyZWdsLXVzZXItbG9jYXRpb24tZG90LXB1bHNlezAle29wYWNpdHk6MTstd2Via2l0LXRyYW5zZm9ybTpzY2FsZSgxKTt0cmFuc2Zvcm06c2NhbGUoMSl9NzAle29wYWNpdHk6MDstd2Via2l0LXRyYW5zZm9ybTpzY2FsZSgzKTt0cmFuc2Zvcm06c2NhbGUoMyl9dG97b3BhY2l0eTowOy13ZWJraXQtdHJhbnNmb3JtOnNjYWxlKDEpO3RyYW5zZm9ybTpzY2FsZSgxKX19XG5cbi5tYXBsaWJyZWdsLXVzZXItbG9jYXRpb24tZG90LXN0YWxle2JhY2tncm91bmQtY29sb3I6I2FhYX1cblxuLm1hcGxpYnJlZ2wtdXNlci1sb2NhdGlvbi1kb3Qtc3RhbGU6YWZ0ZXJ7ZGlzcGxheTpub25lfVxuXG4ubWFwbGlicmVnbC11c2VyLWxvY2F0aW9uLWFjY3VyYWN5LWNpcmNsZXtiYWNrZ3JvdW5kLWNvbG9yOiMxZGExZjIzMztib3JkZXItcmFkaXVzOjEwMCU7aGVpZ2h0OjFweDt3aWR0aDoxcHh9XG5cbi5tYXBsaWJyZWdsLWNyb3NzaGFpciwubWFwbGlicmVnbC1jcm9zc2hhaXIgLm1hcGxpYnJlZ2wtaW50ZXJhY3RpdmUsLm1hcGxpYnJlZ2wtY3Jvc3NoYWlyIC5tYXBsaWJyZWdsLWludGVyYWN0aXZlOmFjdGl2ZXtjdXJzb3I6Y3Jvc3NoYWlyfVxuXG4ubWFwbGlicmVnbC1ib3h6b29te2JhY2tncm91bmQ6I2ZmZjtib3JkZXI6MnB4IGRvdHRlZCAjMjAyMDIwO2hlaWdodDowO2xlZnQ6MDtvcGFjaXR5Oi41O3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO3dpZHRoOjB9XG5cbi5tYXBsaWJyZWdsLWNvb3BlcmF0aXZlLWdlc3R1cmUtc2NyZWVuey13ZWJraXQtYm94LWFsaWduOmNlbnRlcjstbXMtZmxleC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO2JhY2tncm91bmQ6cmdiYSgwLDAsMCwuNCk7Y29sb3I6I2ZmZjtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LW1zLWZsZXhib3g7ZGlzcGxheTpmbGV4O2ZvbnQtc2l6ZToxLjRlbTtpbnNldDowOy13ZWJraXQtYm94LXBhY2s6Y2VudGVyOy1tcy1mbGV4LXBhY2s6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7bGluZS1oZWlnaHQ6MS4yO29wYWNpdHk6MDtwYWRkaW5nOjFyZW07cG9pbnRlci1ldmVudHM6bm9uZTtwb3NpdGlvbjphYnNvbHV0ZTstd2Via2l0LXRyYW5zaXRpb246b3BhY2l0eSAxcyBlYXNlIDFzO3RyYW5zaXRpb246b3BhY2l0eSAxcyBlYXNlIDFzO3otaW5kZXg6OTk5OTl9XG5cbi5tYXBsaWJyZWdsLWNvb3BlcmF0aXZlLWdlc3R1cmUtc2NyZWVuLm1hcGxpYnJlZ2wtc2hvd3tvcGFjaXR5OjE7LXdlYmtpdC10cmFuc2l0aW9uOm9wYWNpdHkgLjA1czt0cmFuc2l0aW9uOm9wYWNpdHkgLjA1c31cblxuLm1hcGxpYnJlZ2wtY29vcGVyYXRpdmUtZ2VzdHVyZS1zY3JlZW4gLm1hcGxpYnJlZ2wtbW9iaWxlLW1lc3NhZ2V7ZGlzcGxheTpub25lfVxuXG5AbWVkaWEgKGhvdmVyOm5vbmUpLChwb2ludGVyOmNvYXJzZSl7Lm1hcGxpYnJlZ2wtY29vcGVyYXRpdmUtZ2VzdHVyZS1zY3JlZW4gLm1hcGxpYnJlZ2wtZGVza3RvcC1tZXNzYWdle2Rpc3BsYXk6bm9uZX0ubWFwbGlicmVnbC1jb29wZXJhdGl2ZS1nZXN0dXJlLXNjcmVlbiAubWFwbGlicmVnbC1tb2JpbGUtbWVzc2FnZXtkaXNwbGF5OmJsb2NrfX1cblxuLm1hcGxpYnJlZ2wtcHNldWRvLWZ1bGxzY3JlZW57aGVpZ2h0OjEwMCUhaW1wb3J0YW50O2xlZnQ6MCFpbXBvcnRhbnQ7cG9zaXRpb246Zml4ZWQhaW1wb3J0YW50O3RvcDowIWltcG9ydGFudDt3aWR0aDoxMDAlIWltcG9ydGFudDt6LWluZGV4Ojk5OTk5fVxuXG46cm9vdCB7XG4gICAgLS1jb250YWluZXItYm9yZGVyLXdpZHRoOiA4cHg7XG4gICAgLS1jb250YWluZXItZ2FwLXdpZHRoOiA4cHg7IC8qIG9ubHkgZXZlbiBudW1iZXJzIHNob3VsZCBiZSB1c2VkIGJlY2F1c2Ugb3RoZXJ3aXNlIHdlIGdldCAwLjVweCBtYXJnaW4gdmFsdWVzLiAqL1xuICAgIC0tdHJhbnNpdGlvbi1zaG9ydDogMC4xcztcbiAgICAtLXRyYW5zaXRpb24tc3RhbmRhcmQ6IDAuM3M7XG4gICAgLS1idXR0b25zLWRpYWxvZy1nYXAtcm93OiA4cHg7XG4gICAgLS1idXR0b25zLWRpYWxvZy1nYXAtY29sdW1uOiA4cHg7XG4gICAgLS1NQm9keS1ib3JkZXItcmFkaXVzOiA4cHg7XG5cbiAgICAvKiBFeHBlY3RlZCB6LWluZGV4ZXMgZm9yIGRpYWxvZ3M6XG4gICAgICAgIDQwMDAgLSBEZWZhdWx0IHdyYXBwZXIgaW5kZXhcbiAgICAgICAgNDAwOSAtIFN0YXRpYyBkaWFsb2cgYmFja2dyb3VuZFxuICAgICAgICA0MDEwIC0gU3RhdGljIGRpYWxvZyBpdHNlbGZcbiAgICAgICAgNDAxMSAtIFN0YW5kYXJkIGRpYWxvZyBiYWNrZ3JvdW5kXG4gICAgICAgIDQwMTIgLSBTdGFuZGFyZCBkaWFsb2cgaXRzZWxmXG5cbiAgICAgICBUaGVzZSBhcmUgc2V0IHVwIHN1Y2ggdGhhdCB0aGUgc3RhdGljIGRpYWxvZyBhbHdheXMgYXBwZWFyc1xuICAgICAgIHVuZGVybmVhdGggdGhlIHN0YW5kYXJkIGRpYWxvZ3MuXG4gICAgICovXG4gICAgLS1kaWFsb2ctekluZGV4LXdyYXBwZXItZGVmYXVsdDogNDAwMDtcbiAgICAtLWRpYWxvZy16SW5kZXgtc3RhdGljLWJhY2tncm91bmQ6IDQwMDk7XG4gICAgLS1kaWFsb2ctekluZGV4LXN0YXRpYzogY2FsYyh2YXIoLS1kaWFsb2ctekluZGV4LXN0YXRpYy1iYWNrZ3JvdW5kKSArIDEpOyAvKiA0MDEwICovXG4gICAgLS1kaWFsb2ctekluZGV4LXN0YW5kYXJkLWJhY2tncm91bmQ6IGNhbGModmFyKC0tZGlhbG9nLXpJbmRleC1zdGF0aWMpICsgMSk7IC8qIDQwMTEgKi9cbiAgICAtLWRpYWxvZy16SW5kZXgtc3RhbmRhcmQ6IGNhbGModmFyKC0tZGlhbG9nLXpJbmRleC1zdGFuZGFyZC1iYWNrZ3JvdW5kKSArIDEpOyAvKiA0MDEyICovXG59XG5cbiNtYXRyaXhjaGF0IHtcbiAgICAvKiBUaGlzIGlzIHJlcXVpcmVkIHRvIGVuc3VyZSBDb21wb3VuZCB0b29sdGlwcyBjb3JyZWN0bHkgZHJhdyB3aGVyZSB0aGV5IHNob3VsZCB3aXRoIHotaW5kZXg6IGF1dG8gKi9cbiAgICBjb250YWluOiBzdHJpY3Q7XG59XG5cbiNteF9Db250ZXh0dWFsTWVudV9Db250YWluZXIsXG4jbXhfUGVyc2lzdGVkRWxlbWVudF9jb250YWluZXIsXG4jbXhfRGlhbG9nX0NvbnRhaW5lcixcbiNteF9EaWFsb2dfU3RhdGljQ29udGFpbmVyIHtcbiAgICAvKiBUaGlzIGlzIHJlcXVpcmVkIHRvIGVuc3VyZSBDb21wb3VuZCB0b29sdGlwcyBjb3JyZWN0bHkgZHJhdyB3aGVyZSB0aGV5IHNob3VsZCB3aXRoIHotaW5kZXg6IGF1dG8gKi9cbiAgICBpc29sYXRpb246IGlzb2xhdGU7XG59XG5cbi8qKlxuICogV2UgbmVlZCB0byBpbmNyZWFzZSB0aGUgc3BlY2lmaWNpdHkgb2YgdGhlIHNlbGVjdG9yIHRvIG92ZXJyaWRlIHRoZVxuICogY3VzdG9tIHByb3BlcnR5IHNldCBieSB0aGUgZGVzaWduIHRva2VucyBwYWNrYWdlXG4gKi9cblxuW2NsYXNzXj1cImNwZC10aGVtZVwiXVtjbGFzc149XCJjcGQtdGhlbWVcIl0ge1xuICAgIC8qKlxuICAgICAqIFRoZSBkZXNpZ24gdG9rZW5zIHBhY2thZ2UgY3VycmVudGx5IGRvZXMgbm90IGV4cG9zZSB0aGUgZmFsbGJhY2sgZm9udHNcbiAgICAgKiBXZSB3YW50IHRvIGtlZXAgb24gcmUtdXNpbmcgYCRmb250LWZhbWlseWAgdG8gbm90IGJyZWFrIGN1c3RvbSB0aGVtZXNcbiAgICAgKiBhbmQgYmVjYXVzZSB3ZSBjYW4gdG8gdXNlIGBUd2Vtb2ppYCB0byBkaXNwbGF5IGVtb2ppIHJhdGhlciB0aGFuIHVzaW5nXG4gICAgICogc3lzdGVtIG9uZXNcbiAgICAgKi9cbiAgICAtLWNwZC1mb250LWZhbWlseS1zYW5zOiB2YXIoLS1mb250LWZhbWlseSwgXCJOdW5pdG9cIiwgdmFyKC0tZW1vamktZm9udC1mYW1pbHkpLCBcIkFwcGxlIENvbG9yIEVtb2ppXCIsIFwiU2Vnb2UgVUkgRW1vamlcIiwgXCJBcmlhbFwiLCBcIkhlbHZldGljYVwiLFxuICAgIHNhbnMtc2VyaWYsIFwiTm90byBDb2xvciBFbW9qaVwiKTtcbn1cblxuQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uKSB7XG4gICAgOnJvb3Qge1xuICAgICAgICAtLXRyYW5zaXRpb24tc2hvcnQ6IDA7XG4gICAgICAgIC0tdHJhbnNpdGlvbi1zdGFuZGFyZDogMDtcbiAgICB9XG59XG5cbmh0bWwge1xuICAgIC8qIGhhY2sgdG8gc3RvcCBvdmVyc2Nyb2xsIGJvdW5jZSBvbiBPU1ggYW5kIGlPUy5cbiAgICAgICBOLkIuIEJyZWFrcyB0aGluZ3Mgd2hlbiB3ZSBoYXZlIGxlZ2l0aW1hdGUgaG9yaXpvbnRhbCBvdmVyc2Nyb2xsICovXG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgLyogU3RvcCBzaW1pbGFyIG92ZXJzY3JvbGwgYm91bmNlIGluIEZpcmVmb3ggTmlnaHRseSBmb3IgbWFjT1MgKi9cbiAgICAtbXMtc2Nyb2xsLWNoYWluaW5nOiBub25lO1xuICAgICAgICBvdmVyc2Nyb2xsLWJlaGF2aW9yOiBub25lO1xufVxuXG5ib2R5IHtcbiAgICBmb250OiB2YXIoLS1jcGQtZm9udC1ib2R5LW1kLXJlZ3VsYXIpO1xuICAgIGxldHRlci1zcGFjaW5nOiB2YXIoLS1jcGQtZm9udC1sZXR0ZXItc3BhY2luZy1ib2R5LW1kKTtcbiAgICAvKipcbiAgICAgKiBXZSB3YW50IHRvIGFwcGx5IEludGVyIER5bmFtaWMgbWV0cmljcyAoaHR0cHM6Ly9yc21zLm1lL2ludGVyL2R5bm1ldHJpY3MvKVxuICAgICAqIFdlIG5lZWQgdG8gdHdlYWsgdGhlIGBsZXR0ZXItc3BhY2luZ2AgcHJvcGVydHkgYW5kIGRvaW5nIHNvLCBkaXNhYmxlcyBieVxuICAgICAqIGRlZmF1bHQgdGhlIG9wdGlvbmFsIGxpZ2F0dXJlc1xuICAgICAqIGBmb250LWZlYXR1cmUtc2V0dGluZ3NgIGFsbG93cyB1cyB0byBvdmVycmlkZSB0aGlzIGJlaGF2aW91ciBhbmQgaGF2ZSB0aGVcbiAgICAgKiBjb3JyZWN0IGxpZ2F0dXJlcyBhbmQgdGhlIHByb3BlciBkeW5hbWljIG1ldHJpYyBzcGFjaW5nLlxuICAgICAqL1xuICAgIC13ZWJraXQtZm9udC1mZWF0dXJlLXNldHRpbmdzOlxuICAgICAgICBcImtlcm5cIiAxLFxuICAgICAgICBcImxpZ2FcIiAxLFxuICAgICAgICBcImNhbHRcIiAxO1xuICAgICAgICAgICAgZm9udC1mZWF0dXJlLXNldHRpbmdzOlxuICAgICAgICBcImtlcm5cIiAxLFxuICAgICAgICBcImxpZ2FcIiAxLFxuICAgICAgICBcImNhbHRcIiAxO1xuXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdGltZWxpbmUtYmFja2dyb3VuZC1jb2xvcik7XG4gICAgY29sb3I6IHZhcigtLXRpbWVsaW5lLXRleHQtY29sb3IpO1xuICAgIGJvcmRlcjogMHB4O1xuICAgIG1hcmdpbjogMHB4O1xuXG4gICAgLyogbmVlZGVkIHRvIG1hdGNoIHRoZSBkZXNpZ25zIGNvcnJlY3RseSBvbiBtYWNPUyAqL1xuICAgIC8qIHNlZSBodHRwczovL2dpdGh1Yi5jb20vdmVjdG9yLWltL2VsZW1lbnQtd2ViL2lzc3Vlcy8xMTQyNSAqL1xuICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG59XG5cbnByZSxcbmNvZGUge1xuICAgIGZvbnQtZmFtaWx5OiBcIkluY29uc29sYXRhXCIsIFwiXCIsIFwiQXBwbGUgQ29sb3IgRW1vamlcIiwgXCJTZWdvZSBVSSBFbW9qaVwiLCBcIkNvdXJpZXJcIixcbiAgICBtb25vc3BhY2UsIFwiTm90byBDb2xvciBFbW9qaVwiO1xuICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWZhbWlseS1tb25vc3BhY2UsIFwiSW5jb25zb2xhdGFcIiwgdmFyKC0tZW1vamktZm9udC1mYW1pbHkpLCBcIkFwcGxlIENvbG9yIEVtb2ppXCIsIFwiU2Vnb2UgVUkgRW1vamlcIiwgXCJDb3VyaWVyXCIsXG4gICAgbW9ub3NwYWNlLCBcIk5vdG8gQ29sb3IgRW1vamlcIik7XG4gICAgZm9udC1zaXplOiAxMDAlICFpbXBvcnRhbnQ7XG59XG5cbi5lcnJvcixcbi53YXJuaW5nLFxuLnRleHQtZXJyb3IsXG4udGV4dC13YXJuaW5nIHtcbiAgICBjb2xvcjogI2ZmNWI1NTtcbiAgICBjb2xvcjogdmFyKC0tYWxlcnQsICNmZjViNTUpO1xufVxuXG4udGV4dC1zdWNjZXNzIHtcbiAgICBjb2xvcjogIzBkYmQ4YjtcbiAgICBjb2xvcjogdmFyKC0tYWNjZW50LWNvbG9yLCAjMGRiZDhiKTtcbn1cblxuLnRleHQtbXV0ZWQge1xuICAgIGNvbG9yOiAjYTFiMmQxO1xufVxuXG4udGV4dC1wcmltYXJ5IHtcbiAgICBjb2xvcjogdmFyKC0tdGltZWxpbmUtdGV4dC1jb2xvcik7XG59XG5cbi50ZXh0LXNlY29uZGFyeSB7XG4gICAgY29sb3I6ICNlZGYzZmY7XG4gICAgY29sb3I6IHZhcigtLXNlY29uZGFyeS1jb250ZW50LCAjZWRmM2ZmKTtcbn1cblxuLm14X1ZlcmlmaWVkIHtcbiAgICBjb2xvcjogIzBkYmQ4Yjtcbn1cblxuLm14X1VudHJ1c3RlZCB7XG4gICAgY29sb3I6ICNmZjViNTU7XG59XG5cbmIge1xuICAgIC8qIE9uIEZpcmVmb3gsIHRoZSBkZWZhdWx0IHdlaWdodCBmb3IgYDxiPmAgaXMgYGJvbGRlcmAgd2hpY2ggcmVzdWx0cyBpbiBubyBib2xkICovXG4gICAgLyogZWZmZWN0IHNpbmNlIHdlIG9ubHkgaGF2ZSBzcGVjaWZpYyB3ZWlnaHRzIG9mIG91ciBmb250cyBhdmFpbGFibGUuICovXG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbmgyIHtcbiAgICBjb2xvcjogdmFyKC0tdGltZWxpbmUtdGV4dC1jb2xvcik7XG4gICAgZm9udDogdmFyKC0tY3BkLWZvbnQtaGVhZGluZy1sZy1yZWd1bGFyKTtcbiAgICBsZXR0ZXItc3BhY2luZzogdmFyKC0tY3BkLWZvbnQtbGV0dGVyLXNwYWNpbmctaGVhZGluZy1sZyk7XG4gICAgbWFyZ2luLXRvcDogMTZweDtcbiAgICBtYXJnaW4tYm90dG9tOiAxNnB4O1xufVxuXG5hOmhvdmVyLFxuYTpsaW5rLFxuYTp2aXNpdGVkIHtcbiAgICBjb2xvcjogdmFyKC0tcHJpbWFyeS1jb2xvcik7XG59XG5cbjpub3QoLm14X25vX3RleHRpbnB1dCk6bm90KC5teF90ZXh0aW5wdXQpOm5vdCgubXhfRmllbGQpID4gaW5wdXRbdHlwZT1cInRleHRcIl0sXG46bm90KC5teF9ub190ZXh0aW5wdXQpOm5vdCgubXhfdGV4dGlucHV0KTpub3QoLm14X0ZpZWxkKSA+IGlucHV0W3R5cGU9XCJzZWFyY2hcIl0sXG46bm90KC5teF9ub190ZXh0aW5wdXQpOm5vdCgubXhfdGV4dGlucHV0KTpub3QoLm14X0ZpZWxkKSA+IGlucHV0W3R5cGU9XCJwYXNzd29yZFwiXSB7XG4gICAgcGFkZGluZzogOXB4O1xuICAgIGZvbnQ6IHZhcigtLWNwZC1mb250LWJvZHktbWQtc2VtaWJvbGQpO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1jcGQtZm9udC13ZWlnaHQtc2VtaWJvbGQpO1xuICAgIG1pbi13aWR0aDogMDtcbn1cblxuaW5wdXRbdHlwZT1cInRleHRcIl0ubXhfdGV4dGlucHV0X2ljb24sXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdLm14X3RleHRpbnB1dF9pY29uIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDM2cHg7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAxMHB4IGNlbnRlcjtcbn1cblxuLyogRklYTUUgVEhFTUUgLSBUaW50IGJ5IENTUyByYXRoZXIgdGhhbiByZWZlcmVuY2luZyBhIGR1cGxpY2F0ZSBhc3NldCAqL1xuXG5pbnB1dFt0eXBlPVwidGV4dFwiXS5teF90ZXh0aW5wdXRfaWNvbi5teF90ZXh0aW5wdXRfc2VhcmNoLFxuaW5wdXRbdHlwZT1cInNlYXJjaFwiXS5teF90ZXh0aW5wdXRfaWNvbi5teF90ZXh0aW5wdXRfc2VhcmNoIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJAdmVjdG9yLWltL2NvbXBvdW5kLWRlc2lnbi10b2tlbnMvaWNvbnMvc2VhcmNoLnN2Z1wiKTtcbn1cblxuLyogZG9udCBzZWFyY2ggVUkgYXMgbm90IGFsbCBicm93c2VycyBzdXBwb3J0IGl0LCAqL1xuXG4vKiB3ZSBpbXBsZW1lbnQgaXQgb3Vyc2VsdmVzIHdoZXJlIG5lZWRlZCBpbnN0ZWFkICovXG5cbmlucHV0W3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24sXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1jYW5jZWwtYnV0dG9uLFxuaW5wdXRbdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtcmVzdWx0cy1idXR0b24sXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1yZXN1bHRzLWRlY29yYXRpb24ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG5cbi8qIE92ZXJyaWRlIEZpcmVmb3gncyBVQSBzdHlsZSBzbyB3ZSBnZXQgYSBjb25zaXN0ZW50IGxvb2sgYWNyb3NzIGJyb3dzZXJzICovXG5cbmlucHV0Ojotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyLCB0ZXh0YXJlYTo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciB7XG4gICAgb3BhY2l0eTogMTtcbiAgICBvcGFjaXR5OiBpbml0aWFsO1xufVxuXG5pbnB1dDo6LW1vei1wbGFjZWhvbGRlciwgdGV4dGFyZWE6Oi1tb3otcGxhY2Vob2xkZXIge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgb3BhY2l0eTogaW5pdGlhbDtcbn1cblxuaW5wdXQ6LW1zLWlucHV0LXBsYWNlaG9sZGVyLCB0ZXh0YXJlYTotbXMtaW5wdXQtcGxhY2Vob2xkZXIge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgb3BhY2l0eTogaW5pdGlhbDtcbn1cblxuaW5wdXQ6Oi1tcy1pbnB1dC1wbGFjZWhvbGRlciwgdGV4dGFyZWE6Oi1tcy1pbnB1dC1wbGFjZWhvbGRlciB7XG4gICAgb3BhY2l0eTogMTtcbiAgICBvcGFjaXR5OiBpbml0aWFsO1xufVxuXG5pbnB1dDo6cGxhY2Vob2xkZXIsXG50ZXh0YXJlYTo6cGxhY2Vob2xkZXIge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgb3BhY2l0eTogaW5pdGlhbDtcbn1cblxuaW5wdXRbdHlwZT1cInRleHRcIl0sXG5pbnB1dFt0eXBlPVwicGFzc3dvcmRcIl0sXG50ZXh0YXJlYSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgY29sb3I6IHZhcigtLXRpbWVsaW5lLXRleHQtY29sb3IpO1xufVxuXG4vKiBSZXF1aXJlZCBieSBGaXJlZm94ICovXG5cbnRleHRhcmVhIHtcbiAgICBjb2xvcjogdmFyKC0tdGltZWxpbmUtdGV4dC1jb2xvcik7XG59XG5cbmlucHV0W3R5cGU9XCJ0ZXh0XCJdOmZvY3VzLFxuaW5wdXRbdHlwZT1cInBhc3N3b3JkXCJdOmZvY3VzLFxudGV4dGFyZWE6Zm9jdXMge1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgLXdlYmtpdC1ib3gtc2hhZG93OiBub25lO1xuICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbn1cblxuLyogVGhpcyBpcyB1c2VkIHRvIGhpZGUgdGhlIHN0YW5kYXJkIG91dGxpbmUgYWRkZWQgYnkgYnJvd3NlcnMgZm9yICovXG5cbi8qIGFjY2Vzc2libGUgKGZvY3VzYWJsZSkgY29tcG9uZW50cy4gTm90IGludGVuZGVkIGZvciBidXR0b25zLCBidXQgKi9cblxuLyogc2hvdWxkIGJlIHVzZWQgb24gdGhpbmdzIGxpa2UgZm9jdXNhYmxlIGNvbnRhaW5lcnMgd2hlcmUgdGhlIG91dGxpbmUgKi9cblxuLyogaXMgdXN1YWxseSBub3QgaGVscGluZyBhbnlvbmUuICovXG5cbio6Zm9jdXM6bm90KDpmb2N1cy12aXNpYmxlKSB7XG4gICAgb3V0bGluZTogbm9uZTtcbn1cblxuLyogb3ZlcnJpZGUgZGVmYXVsdHMgKi9cblxuZmllbGRzZXQge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW4taW5saW5lOiB1bnNldDtcbiAgICBwYWRkaW5nLWJsb2NrOiB1bnNldDtcbiAgICBwYWRkaW5nLWlubGluZTogdW5zZXQ7XG4gICAgbWluLWlubGluZS1zaXplOiB1bnNldDtcbiAgICBib3JkZXI6IG5vbmU7XG59XG5cbnN1bW1hcnkge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbn1cblxubGVnZW5kIHtcbiAgICBwYWRkaW5nLWlubGluZTogdW5zZXQ7XG4gICAgYm9yZGVyOiBub25lO1xufVxuXG4vKiAubXhfdGV4dGlucHV0IGlzIGEgY29udGFpbmVyIGZvciBhIHRleHQgaW5wdXQgKi9cblxuLyogKyBzb21lIG90aGVyIGNvbnRyb2xzIGxpa2UgYnV0dG9ucywgLi4uICovXG5cbi8qIGl0IGhhcyB0aGUgYXBwZWFyYW5jZSBvZiBhIHRleHQgYm94IHNvIHRoZSBjb250cm9scyAqL1xuXG4vKiBhcHBlYXIgdG8gYmUgcGFydCBvZiB0aGUgaW5wdXQgKi9cblxuLm14X0RpYWxvZyAubXhfdGV4dGlucHV0ID4gaW5wdXRbdHlwZT1cInRleHRcIl0sXG4gICAgLm14X0RpYWxvZyAubXhfdGV4dGlucHV0ID4gaW5wdXRbdHlwZT1cInNlYXJjaFwiXSxcbiAgICAubXhfTWF0cml4Q2hhdF93cmFwcGVyIC5teF90ZXh0aW5wdXQgPiBpbnB1dFt0eXBlPVwidGV4dFwiXSxcbiAgICAubXhfTWF0cml4Q2hhdF93cmFwcGVyIC5teF90ZXh0aW5wdXQgPiBpbnB1dFt0eXBlPVwic2VhcmNoXCJdIHtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICAtd2Via2l0LWJveC1mbGV4OiAxO1xuICAgICAgICAgICAgLW1zLWZsZXg6IDE7XG4gICAgICAgICAgICAgICAgZmxleDogMTtcbiAgICAgICAgY29sb3I6IHZhcigtLXRpbWVsaW5lLXRleHQtY29sb3IpO1xuICAgIH1cblxuLm14X0RpYWxvZyA6bm90KC5teF90ZXh0aW5wdXQpOm5vdCgubXhfRmllbGQpOm5vdCgubXhfbm9fdGV4dGlucHV0KSA+IGlucHV0W3R5cGU9XCJ0ZXh0XCJdLFxuICAgIC5teF9EaWFsb2cgOm5vdCgubXhfdGV4dGlucHV0KTpub3QoLm14X0ZpZWxkKTpub3QoLm14X25vX3RleHRpbnB1dCkgPiBpbnB1dFt0eXBlPVwic2VhcmNoXCJdLFxuICAgIC5teF9EaWFsb2cgLm14X3RleHRpbnB1dCxcbiAgICAubXhfTWF0cml4Q2hhdF93cmFwcGVyIDpub3QoLm14X3RleHRpbnB1dCk6bm90KC5teF9GaWVsZCk6bm90KC5teF9ub190ZXh0aW5wdXQpID4gaW5wdXRbdHlwZT1cInRleHRcIl0sXG4gICAgLm14X01hdHJpeENoYXRfd3JhcHBlciA6bm90KC5teF90ZXh0aW5wdXQpOm5vdCgubXhfRmllbGQpOm5vdCgubXhfbm9fdGV4dGlucHV0KSA+IGlucHV0W3R5cGU9XCJzZWFyY2hcIl0sXG4gICAgLm14X01hdHJpeENoYXRfd3JhcHBlciAubXhfdGV4dGlucHV0IHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgY29sb3I6ICM2MTcwOGI7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tc2Vjb25kYXJ5LWhhaXJsaW5lLWNvbG9yKTtcbiAgICAgICAgLyogdGhlc2UgdGhpbmdzIHNob3VsZCBwcm9iYWJseSBub3QgYmUgZGVmaW5lZCBnbG9iYWxseSAqL1xuICAgICAgICBtYXJnaW46IDlweDtcbiAgICB9XG5cbi5teF9EaWFsb2cgLm14X3RleHRpbnB1dCwgLm14X01hdHJpeENoYXRfd3JhcHBlciAubXhfdGV4dGlucHV0IHtcbiAgICAgICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gICAgICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIH1cblxuLm14X0RpYWxvZyA6bm90KC5teF90ZXh0aW5wdXQpOm5vdCgubXhfRmllbGQpOm5vdCgubXhfbm9fdGV4dGlucHV0KSA+IGlucHV0W3R5cGU9XCJ0ZXh0XCJdOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyLCAubXhfRGlhbG9nIDpub3QoLm14X3RleHRpbnB1dCk6bm90KC5teF9GaWVsZCk6bm90KC5teF9ub190ZXh0aW5wdXQpID4gaW5wdXRbdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciwgLm14X0RpYWxvZyAubXhfdGV4dGlucHV0IGlucHV0Ojotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyLCAubXhfTWF0cml4Q2hhdF93cmFwcGVyIDpub3QoLm14X3RleHRpbnB1dCk6bm90KC5teF9GaWVsZCk6bm90KC5teF9ub190ZXh0aW5wdXQpID4gaW5wdXRbdHlwZT1cInRleHRcIl06Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIsIC5teF9NYXRyaXhDaGF0X3dyYXBwZXIgOm5vdCgubXhfdGV4dGlucHV0KTpub3QoLm14X0ZpZWxkKTpub3QoLm14X25vX3RleHRpbnB1dCkgPiBpbnB1dFt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyLCAubXhfTWF0cml4Q2hhdF93cmFwcGVyIC5teF90ZXh0aW5wdXQgaW5wdXQ6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIge1xuICAgICAgICBjb2xvcjogdmFyKC0tY3BkLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTtcbiAgICB9XG5cbi5teF9EaWFsb2cgOm5vdCgubXhfdGV4dGlucHV0KTpub3QoLm14X0ZpZWxkKTpub3QoLm14X25vX3RleHRpbnB1dCkgPiBpbnB1dFt0eXBlPVwidGV4dFwiXTo6LW1vei1wbGFjZWhvbGRlciwgLm14X0RpYWxvZyA6bm90KC5teF90ZXh0aW5wdXQpOm5vdCgubXhfRmllbGQpOm5vdCgubXhfbm9fdGV4dGlucHV0KSA+IGlucHV0W3R5cGU9XCJzZWFyY2hcIl06Oi1tb3otcGxhY2Vob2xkZXIsIC5teF9EaWFsb2cgLm14X3RleHRpbnB1dCBpbnB1dDo6LW1vei1wbGFjZWhvbGRlciwgLm14X01hdHJpeENoYXRfd3JhcHBlciA6bm90KC5teF90ZXh0aW5wdXQpOm5vdCgubXhfRmllbGQpOm5vdCgubXhfbm9fdGV4dGlucHV0KSA+IGlucHV0W3R5cGU9XCJ0ZXh0XCJdOjotbW96LXBsYWNlaG9sZGVyLCAubXhfTWF0cml4Q2hhdF93cmFwcGVyIDpub3QoLm14X3RleHRpbnB1dCk6bm90KC5teF9GaWVsZCk6bm90KC5teF9ub190ZXh0aW5wdXQpID4gaW5wdXRbdHlwZT1cInNlYXJjaFwiXTo6LW1vei1wbGFjZWhvbGRlciwgLm14X01hdHJpeENoYXRfd3JhcHBlciAubXhfdGV4dGlucHV0IGlucHV0OjotbW96LXBsYWNlaG9sZGVyIHtcbiAgICAgICAgY29sb3I6IHZhcigtLWNwZC1jb2xvci10ZXh0LXNlY29uZGFyeSk7XG4gICAgfVxuXG4ubXhfRGlhbG9nIDpub3QoLm14X3RleHRpbnB1dCk6bm90KC5teF9GaWVsZCk6bm90KC5teF9ub190ZXh0aW5wdXQpID4gaW5wdXRbdHlwZT1cInRleHRcIl06LW1zLWlucHV0LXBsYWNlaG9sZGVyLCAubXhfRGlhbG9nIDpub3QoLm14X3RleHRpbnB1dCk6bm90KC5teF9GaWVsZCk6bm90KC5teF9ub190ZXh0aW5wdXQpID4gaW5wdXRbdHlwZT1cInNlYXJjaFwiXTotbXMtaW5wdXQtcGxhY2Vob2xkZXIsIC5teF9EaWFsb2cgLm14X3RleHRpbnB1dCBpbnB1dDotbXMtaW5wdXQtcGxhY2Vob2xkZXIsIC5teF9NYXRyaXhDaGF0X3dyYXBwZXIgOm5vdCgubXhfdGV4dGlucHV0KTpub3QoLm14X0ZpZWxkKTpub3QoLm14X25vX3RleHRpbnB1dCkgPiBpbnB1dFt0eXBlPVwidGV4dFwiXTotbXMtaW5wdXQtcGxhY2Vob2xkZXIsIC5teF9NYXRyaXhDaGF0X3dyYXBwZXIgOm5vdCgubXhfdGV4dGlucHV0KTpub3QoLm14X0ZpZWxkKTpub3QoLm14X25vX3RleHRpbnB1dCkgPiBpbnB1dFt0eXBlPVwic2VhcmNoXCJdOi1tcy1pbnB1dC1wbGFjZWhvbGRlciwgLm14X01hdHJpeENoYXRfd3JhcHBlciAubXhfdGV4dGlucHV0IGlucHV0Oi1tcy1pbnB1dC1wbGFjZWhvbGRlciB7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jcGQtY29sb3ItdGV4dC1zZWNvbmRhcnkpO1xuICAgIH1cblxuLm14X0RpYWxvZyA6bm90KC5teF90ZXh0aW5wdXQpOm5vdCgubXhfRmllbGQpOm5vdCgubXhfbm9fdGV4dGlucHV0KSA+IGlucHV0W3R5cGU9XCJ0ZXh0XCJdOjotbXMtaW5wdXQtcGxhY2Vob2xkZXIsIC5teF9EaWFsb2cgOm5vdCgubXhfdGV4dGlucHV0KTpub3QoLm14X0ZpZWxkKTpub3QoLm14X25vX3RleHRpbnB1dCkgPiBpbnB1dFt0eXBlPVwic2VhcmNoXCJdOjotbXMtaW5wdXQtcGxhY2Vob2xkZXIsIC5teF9EaWFsb2cgLm14X3RleHRpbnB1dCBpbnB1dDo6LW1zLWlucHV0LXBsYWNlaG9sZGVyLCAubXhfTWF0cml4Q2hhdF93cmFwcGVyIDpub3QoLm14X3RleHRpbnB1dCk6bm90KC5teF9GaWVsZCk6bm90KC5teF9ub190ZXh0aW5wdXQpID4gaW5wdXRbdHlwZT1cInRleHRcIl06Oi1tcy1pbnB1dC1wbGFjZWhvbGRlciwgLm14X01hdHJpeENoYXRfd3JhcHBlciA6bm90KC5teF90ZXh0aW5wdXQpOm5vdCgubXhfRmllbGQpOm5vdCgubXhfbm9fdGV4dGlucHV0KSA+IGlucHV0W3R5cGU9XCJzZWFyY2hcIl06Oi1tcy1pbnB1dC1wbGFjZWhvbGRlciwgLm14X01hdHJpeENoYXRfd3JhcHBlciAubXhfdGV4dGlucHV0IGlucHV0OjotbXMtaW5wdXQtcGxhY2Vob2xkZXIge1xuICAgICAgICBjb2xvcjogdmFyKC0tY3BkLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTtcbiAgICB9XG5cbi5teF9EaWFsb2cgOm5vdCgubXhfdGV4dGlucHV0KTpub3QoLm14X0ZpZWxkKTpub3QoLm14X25vX3RleHRpbnB1dCkgPiBpbnB1dFt0eXBlPVwidGV4dFwiXTo6cGxhY2Vob2xkZXIsXG4gICAgLm14X0RpYWxvZyA6bm90KC5teF90ZXh0aW5wdXQpOm5vdCgubXhfRmllbGQpOm5vdCgubXhfbm9fdGV4dGlucHV0KSA+IGlucHV0W3R5cGU9XCJzZWFyY2hcIl06OnBsYWNlaG9sZGVyLFxuICAgIC5teF9EaWFsb2cgLm14X3RleHRpbnB1dCBpbnB1dDo6cGxhY2Vob2xkZXIsXG4gICAgLm14X01hdHJpeENoYXRfd3JhcHBlciA6bm90KC5teF90ZXh0aW5wdXQpOm5vdCgubXhfRmllbGQpOm5vdCgubXhfbm9fdGV4dGlucHV0KSA+IGlucHV0W3R5cGU9XCJ0ZXh0XCJdOjpwbGFjZWhvbGRlcixcbiAgICAubXhfTWF0cml4Q2hhdF93cmFwcGVyIDpub3QoLm14X3RleHRpbnB1dCk6bm90KC5teF9GaWVsZCk6bm90KC5teF9ub190ZXh0aW5wdXQpID4gaW5wdXRbdHlwZT1cInNlYXJjaFwiXTo6cGxhY2Vob2xkZXIsXG4gICAgLm14X01hdHJpeENoYXRfd3JhcHBlciAubXhfdGV4dGlucHV0IGlucHV0OjpwbGFjZWhvbGRlciB7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jcGQtY29sb3ItdGV4dC1zZWNvbmRhcnkpO1xuICAgIH1cblxuLyogUHJldmVudCB1Z2x5IGRvdHRlZCBoaWdobGlnaHQgYXJvdW5kIHNlbGVjdGVkIGVsZW1lbnRzIGluIEZpcmVmb3ggKi9cblxuOjotbW96LWZvY3VzLWlubmVyIHtcbiAgICBib3JkZXI6IDA7XG59XG5cbi8qIFRoZXNlIGFyZSBtYWdpYyBjb25zdGFudHMgd2hpY2ggYXJlIGV4Y2x1ZGVkIGZyb20gdGludGluZywgdG8gbGV0IHRoZW1lcyAqL1xuXG4vKiAod2hpY2ggb25seSBoYXZlIENTUykgdGVsbCB0aGUgYXBwIHdoYXQgdGhlaXIgbm9uLXRpbnRlZCAqL1xuXG4vKiBjb2xvdXJzY2hlbWUgaXMgYnkgaW5zcGVjdGluZyB0aGUgc3R5bGVzaGVldCBET00uICovXG5cbi8qIFRoZXkgYXJlIG5vdCB1c2VkIGZvciBsYXlvdXQhISAqL1xuXG4jbXhfdGhlbWVfYWNjZW50Q29sb3Ige1xuICAgIGNvbG9yOiAjMGRiZDhiO1xuICAgIGNvbG9yOiB2YXIoLS1hY2NlbnQtY29sb3IsICMwZGJkOGIpO1xufVxuXG4jbXhfdGhlbWVfc2Vjb25kYXJ5QWNjZW50Q29sb3Ige1xuICAgIGNvbG9yOiB2YXIoLS1yb29tbGlzdC1iYWNrZ3JvdW5kLWNvbG9yKTtcbn1cblxuLm14X0RpYWxvZ193cmFwcGVyIHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgei1pbmRleDogNDAwMDtcbiAgICB6LWluZGV4OiB2YXIoLS1kaWFsb2ctekluZGV4LXdyYXBwZXItZGVmYXVsdCk7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuXG4gICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG5cbiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcblxuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgLXdlYmtpdC1ib3gtcGFjazogY2VudGVyO1xuICAgICAgICAtbXMtZmxleC1wYWNrOiBjZW50ZXI7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cblxuLm14X0RpYWxvZ19ib3JkZXIge1xuICAgIHotaW5kZXg6IGNhbGMoY2FsYyhjYWxjKDQwMDkgKyAxKSArIDEpICsgMSk7XG4gICAgei1pbmRleDogdmFyKC0tZGlhbG9nLXpJbmRleC1zdGFuZGFyZCk7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1heC13aWR0aDogLXdlYmtpdC1maXQtY29udGVudDtcbiAgICBtYXgtd2lkdGg6IC1tb3otZml0LWNvbnRlbnQ7XG4gICAgbWF4LXdpZHRoOiBmaXQtY29udGVudDtcbiAgICAtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIG1heC1oZWlnaHQ6IGNhbGMoMTAwJSAtIHZhcigtLWNwZC1zcGFjZS02eCkpO1xuICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcbiAgICAtd2Via2l0LWJveC1kaXJlY3Rpb246IG5vcm1hbDtcbiAgICAgICAgLW1zLWZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xufVxuXG4ubXhfRGlhbG9nX2xpZ2h0Ym94IC5teF9EaWFsb2dfYm9yZGVyIHtcbiAgICAgICAgLyogVGhlIGxpZ2h0Ym94IGlzbid0IHNvIG11Y2ggb2YgYSBkaWFsb2cgYXMgYSBmdWxsc2NyZWVuIG92ZXJsYXkuIFdlXG4gICAgICAgIGRvbid0IHdhbnQgdGhlIGdsYXNzIGJvcmRlci4gKi9cbiAgICAgICAgZGlzcGxheTogY29udGVudHM7XG4gICAgfVxuXG4ubXhfRGlhbG9nIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS10aW1lbGluZS1iYWNrZ3JvdW5kLWNvbG9yKTtcbiAgICBjb2xvcjogdmFyKC0tdGltZWxpbmUtdGV4dC1zZWNvbmRhcnktY29sb3IpO1xuICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nOiB2YXIoLS1jcGQtc3BhY2UtOHgpIHZhcigtLWNwZC1zcGFjZS0xMHgpO1xuICAgIC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbn1cblxuLm14X0RpYWxvZ19zdGF0aWNXcmFwcGVyIC5teF9EaWFsb2cge1xuICAgICAgICB6LWluZGV4OiBjYWxjKDQwMDkgKyAxKTtcbiAgICAgICAgei1pbmRleDogdmFyKC0tZGlhbG9nLXpJbmRleC1zdGF0aWMpO1xuICAgICAgICBjb250YWluOiBjb250ZW50O1xuICAgIH1cblxuLm14X0RpYWxvZ19saWdodGJveCAubXhfRGlhbG9nIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMHB4O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICB9XG5cbi8qIFN0eWxlcyBjb3BpZWQvaW5zcGlyZWQgYnkgR3JvdXBMYXlvdXQsIFJlcGx5VGlsZSwgYW5kIEV2ZW50VGlsZSB2YXJpYW50cy4gKi9cblxuLm14X0RpYWxvZyAubWFya2Rvd24tYm9keSB7XG4gICAgICAgIGZvbnQ6IHZhcigtLWNwZC1mb250LWJvZHktbWQtcmVndWxhcikgIWltcG9ydGFudDtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IHZhcigtLWNwZC1mb250LWxldHRlci1zcGFjaW5nLWJvZHktbWQpO1xuICAgICAgICBmb250LWZhbWlseTogaW5oZXJpdCAhaW1wb3J0YW50O1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm9ybWFsICFpbXBvcnRhbnQ7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0ICFpbXBvcnRhbnQ7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IGluaGVyaXQ7XG4gICAgICAgIGNvbG9yOiBpbmhlcml0O1xuXG4gICAgICAgIC8qIE1ha2UgaDEgYW5kIGgyIHRoZSBzYW1lIHNpemUgYXMgaDMuICovXG4gICAgfVxuXG4vKiBpbmhlcml0IHRoZSBjb2xvdXIgZnJvbSB0aGUgZGFyayBvciBsaWdodCB0aGVtZSBieSBkZWZhdWx0IChidXQgbm90IGZvciBjb2RlIGJsb2NrcykgKi9cblxuLm14X0RpYWxvZyAubWFya2Rvd24tYm9keSBwcmUsXG4gICAgICAgIC5teF9EaWFsb2cgLm1hcmtkb3duLWJvZHkgY29kZSB7XG4gICAgICAgICAgICBmb250LWZhbWlseTogXCJJbmNvbnNvbGF0YVwiLCBcIlwiLCBcIkFwcGxlIENvbG9yIEVtb2ppXCIsIFwiU2Vnb2UgVUkgRW1vamlcIiwgXCJDb3VyaWVyXCIsXG4gICAgbW9ub3NwYWNlLCBcIk5vdG8gQ29sb3IgRW1vamlcIiAhaW1wb3J0YW50O1xuICAgICAgICAgICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZmFtaWx5LW1vbm9zcGFjZSwgXCJJbmNvbnNvbGF0YVwiLCB2YXIoLS1lbW9qaS1mb250LWZhbWlseSksIFwiQXBwbGUgQ29sb3IgRW1vamlcIiwgXCJTZWdvZSBVSSBFbW9qaVwiLCBcIkNvdXJpZXJcIixcbiAgICBtb25vc3BhY2UsIFwiTm90byBDb2xvciBFbW9qaVwiKSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzJhMzAzOTtcbiAgICAgICAgfVxuXG4vKiB0aGlzIHNlbGVjdG9yIHdyb25nbHkgYXBwbGllcyB0byBjb2RlIGJsb2NrcyB0b28gYnV0IHdlIHdpbGwgdW5zZXQgaXQgaW4gdGhlIG5leHQgb25lICovXG5cbi5teF9EaWFsb2cgLm1hcmtkb3duLWJvZHkgY29kZSB7XG4gICAgICAgICAgICB3aGl0ZS1zcGFjZTogcHJlLXdyYXA7IC8qIGRvbid0IGNvbGxhcHNlIHNwYWNlcyBpbiBpbmxpbmUgY29kZSBibG9ja3MgKi9cbiAgICAgICAgfVxuXG4ubXhfRGlhbG9nIC5tYXJrZG93bi1ib2R5IHByZSB7XG4gICAgICAgICAgICAvKiBoYXZlIHRvIHVzZSBvdmVybGF5IHJhdGhlciB0aGFuIGF1dG8gb3RoZXJ3aXNlIExpbnV4IGFuZCBXaW5kb3dzICovXG4gICAgICAgICAgICAvKiBDaHJvbWUgZ2V0cyB2ZXJ5IGNvbmZ1c2VkIGFib3V0IHZlcnRpY2FsIHNwYWNpbmc6ICovXG4gICAgICAgICAgICAvKiBodHRwczovL2dpdGh1Yi5jb20vdmVjdG9yLWltL3ZlY3Rvci13ZWIvaXNzdWVzLzc1NCAqL1xuICAgICAgICAgICAgb3ZlcmZsb3cteDogb3ZlcmxheTtcbiAgICAgICAgICAgIG92ZXJmbG93LXk6IHZpc2libGU7XG4gICAgICAgIH1cblxuLm14X0RpYWxvZyAubWFya2Rvd24tYm9keSBwcmU6Oi13ZWJraXQtc2Nyb2xsYmFyLWNvcm5lciB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICB9XG5cbi5teF9EaWFsb2cgLm1hcmtkb3duLWJvZHkgcHJlIGNvZGUge1xuICAgICAgICAgICAgICAgIHdoaXRlLXNwYWNlOiBwcmU7IC8qIHdlIHdhbnQgY29kZSBibG9ja3MgdG8gYmUgc2Nyb2xsYWJsZSBhbmQgbm90IHdyYXAgKi9cbiAgICAgICAgICAgIH1cblxuLm14X0RpYWxvZyAubWFya2Rvd24tYm9keSBwcmUgY29kZSA+ICoge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgICAgICAgICAgICAgfVxuXG4ubXhfRGlhbG9nIC5tYXJrZG93bi1ib2R5IGgxLFxuICAgICAgICAubXhfRGlhbG9nIC5tYXJrZG93bi1ib2R5IGgyLFxuICAgICAgICAubXhfRGlhbG9nIC5tYXJrZG93bi1ib2R5IGgzLFxuICAgICAgICAubXhfRGlhbG9nIC5tYXJrZG93bi1ib2R5IGg0LFxuICAgICAgICAubXhfRGlhbG9nIC5tYXJrZG93bi1ib2R5IGg1LFxuICAgICAgICAubXhfRGlhbG9nIC5tYXJrZG93bi1ib2R5IGg2IHtcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBpbmhlcml0ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgICAgfVxuXG4ubXhfRGlhbG9nIC5tYXJrZG93bi1ib2R5IGgxLFxuICAgICAgICAubXhfRGlhbG9nIC5tYXJrZG93bi1ib2R5IGgyIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS41ZW07XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiBub25lICFpbXBvcnRhbnQ7IC8qIG92ZXJyaWRlIEdGTSAqL1xuICAgICAgICB9XG5cbi5teF9EaWFsb2cgLm1hcmtkb3duLWJvZHkgYSB7XG4gICAgICAgICAgICBjb2xvcjogdmFyKC0tcHJpbWFyeS1jb2xvcik7XG4gICAgICAgIH1cblxuLm14X0RpYWxvZyAubWFya2Rvd24tYm9keSBibG9ja3F1b3RlIHtcbiAgICAgICAgICAgIGJvcmRlci1sZWZ0OiAycHggc29saWQgdmFyKC0tY3BkLWNvbG9yLWJvcmRlci1pbnRlcmFjdGl2ZS1wcmltYXJ5KTtcbiAgICAgICAgICAgIGNvbG9yOiAjZWRmM2ZmO1xuICAgICAgICAgICAgY29sb3I6IHZhcigtLXNlY29uZGFyeS1jb250ZW50LCAjZWRmM2ZmKTtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDJweDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgMTBweDtcbiAgICAgICAgfVxuXG4ubXhfRGlhbG9nX2ZpeGVkV2lkdGgge1xuICAgIHdpZHRoOiA2MHZ3O1xuICAgIG1heC13aWR0aDogNzA0cHg7XG59XG5cbi5teF9EaWFsb2dfYmFja2dyb3VuZCB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1zaWRlYmFyLWNvbG9yLTUwcGN0KTtcbiAgICB6LWluZGV4OiBjYWxjKGNhbGMoNDAwOSArIDEpICsgMSk7XG4gICAgei1pbmRleDogdmFyKC0tZGlhbG9nLXpJbmRleC1zdGFuZGFyZC1iYWNrZ3JvdW5kKTtcbn1cblxuLm14X0RpYWxvZ19iYWNrZ3JvdW5kLm14X0RpYWxvZ19zdGF0aWNCYWNrZ3JvdW5kIHtcbiAgICAgICAgei1pbmRleDogNDAwOTtcbiAgICAgICAgei1pbmRleDogdmFyKC0tZGlhbG9nLXpJbmRleC1zdGF0aWMtYmFja2dyb3VuZCk7XG4gICAgfVxuXG4ubXhfRGlhbG9nX3dyYXBwZXJXaXRoU3RhdGljVW5kZXIgLm14X0RpYWxvZ19iYWNrZ3JvdW5kIHtcbiAgICAgICAgLyogUm91Z2hseSBoYWxmIG9mIHdoYXQgaXQgd291bGQgbm9ybWFsbHkgYmUgLSB3ZSBkb24ndCB3YW50IHRvIGJsYWNrIG91dCAqL1xuICAgICAgICAvKiB0aGUgYXBwLCBqdXN0IG1ha2UgaXQgY2xlYXIgdGhhdCB0aGUgZGlhbG9ncyBhcmUgc3RhY2tlZC4gKi9cbiAgICAgICAgb3BhY2l0eTogMC40O1xuICAgIH1cblxuLm14X0RpYWxvZ19saWdodGJveCAubXhfRGlhbG9nX2JhY2tncm91bmQge1xuICAgICAgICBvcGFjaXR5OiAwLjg1O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwO1xuICAgICAgICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBteF9EaWFsb2dfbGlnaHRib3hfYmFja2dyb3VuZF9rZXlmcmFtZXM7XG4gICAgICAgICAgICAgICAgYW5pbWF0aW9uLW5hbWU6IG14X0RpYWxvZ19saWdodGJveF9iYWNrZ3JvdW5kX2tleWZyYW1lcztcbiAgICAgICAgLXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246IDMwMG1zO1xuICAgICAgICAgICAgICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogMzAwbXM7XG4gICAgfVxuXG4ubXhfRGlhbG9nX3RpdGxlSW1hZ2Uge1xuICAgIHZlcnRpY2FsLWFsaWduOiBzdWI7XG4gICAgd2lkdGg6IDI1cHg7XG4gICAgaGVpZ2h0OiAyNXB4O1xuICAgIG1hcmdpbi1sZWZ0OiAtMnB4O1xuICAgIG1hcmdpbi1yaWdodDogNHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDJweDtcbn1cblxuLm14X0RpYWxvZ190aXRsZSB7XG4gICAgY29sb3I6IHZhcigtLXRpbWVsaW5lLXRleHQtY29sb3IpO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICAtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIGxldHRlci1zcGFjaW5nOiB2YXIoLS1jcGQtZm9udC1sZXR0ZXItc3BhY2luZy1oZWFkaW5nLWxnKTtcbn1cblxuLm14X0RpYWxvZ190aXRsZS5kYW5nZXIge1xuICAgICAgICBjb2xvcjogI2ZmNWI1NTtcbiAgICAgICAgY29sb3I6IHZhcigtLWFsZXJ0LCAjZmY1YjU1KTtcbiAgICB9XG5cbi5teF9EaWFsb2dfaGVhZGVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZzogMDtcbiAgICAtd2Via2l0LXBhZGRpbmctZW5kOiAyMHB4O1xuICAgICAgICAgICAgcGFkZGluZy1pbmxpbmUtZW5kOiAyMHB4OyAvKiBSZXNlcnZlIHJvb20gZm9yIHRoZSBjbG9zZSBidXR0b24gKi9cbiAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS1jcGQtc3BhY2UtMngpO1xufVxuXG4ubXhfRGlhbG9nX2hlYWRlci5teF9EaWFsb2dfaGVhZGVyV2l0aEJ1dHRvbiA+IC5teF9EaWFsb2dfdGl0bGUge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgfVxuXG4ubXhfRGlhbG9nX2NhbmNlbEJ1dHRvbiB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aWR0aDogMjhweDtcbiAgICBoZWlnaHQ6IDI4cHg7XG4gICAgYm9yZGVyLXJhZGl1czogMTRweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jcGQtY29sb3ItYmctc3VidGxlLXNlY29uZGFyeSk7XG59XG5cbi5teF9EaWFsb2dfY2FuY2VsQnV0dG9uOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY3BkLWNvbG9yLWJnLXN1YnRsZS1wcmltYXJ5KTtcbiAgICB9XG5cbi5teF9EaWFsb2dfY2FuY2VsQnV0dG9uOjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICB3aWR0aDogMjhweDtcbiAgICAgICAgaGVpZ2h0OiAyOHB4O1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgLXdlYmtpdC1tYXNrLWltYWdlOiB1cmwoXCJAdmVjdG9yLWltL2NvbXBvdW5kLWRlc2lnbi10b2tlbnMvaWNvbnMvY2xvc2Uuc3ZnXCIpO1xuICAgICAgICAgICAgICAgIG1hc2staW1hZ2U6IHVybChcIkB2ZWN0b3ItaW0vY29tcG91bmQtZGVzaWduLXRva2Vucy9pY29ucy9jbG9zZS5zdmdcIik7XG4gICAgICAgIC13ZWJraXQtbWFzay1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgICAgICAgICBtYXNrLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAtd2Via2l0LW1hc2stcG9zaXRpb246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBtYXNrLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICAgIC13ZWJraXQtbWFzay1zaXplOiAyMHB4O1xuICAgICAgICAgICAgICAgIG1hc2stc2l6ZTogMjBweDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY3BkLWNvbG9yLWljb24tc2Vjb25kYXJ5KTtcbiAgICB9XG5cbi5teF9EaWFsb2dfY2FuY2VsQnV0dG9uIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiB2YXIoLS1jcGQtc3BhY2UtNHgpO1xuICAgIHJpZ2h0OiB2YXIoLS1jcGQtc3BhY2UtNHgpO1xufVxuXG4ubXhfRGlhbG9nX2NvbnRlbnQge1xuICAgIG1hcmdpbjogMjRweCAwIDY4cHg7XG4gICAgZm9udDogdmFyKC0tY3BkLWZvbnQtYm9keS1tZC1yZWd1bGFyKTtcbiAgICBjb2xvcjogdmFyKC0tdGltZWxpbmUtdGV4dC1jb2xvcik7XG4gICAgd29yZC13cmFwOiBicmVhay13b3JkO1xufVxuXG4ubXhfRGlhbG9nX2J1dHRvbnMge1xuICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gICAgLXdlYmtpdC1tYXJnaW4tc3RhcnQ6IGF1dG87XG4gICAgICAgICAgICBtYXJnaW4taW5saW5lLXN0YXJ0OiBhdXRvO1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xufVxuXG4ubXhfRGlhbG9nX2J1dHRvbnMgLm14X0RpYWxvZ19idXR0b25zX2FkZGl0aXZlIHtcbiAgICAgICAgLyogVGhlIGNvbnN1bWVyIGlzIHJlc3BvbnNpYmxlIGZvciBwb3NpdGlvbmluZyB0aGVpciBlbGVtZW50cy4gKi9cbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgfVxuXG4ubXhfRGlhbG9nX2J1dHRvbnMgLm14X0RpYWxvZ19idXR0b25zX3JvdyB7XG4gICAgICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICAgICAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgLW1zLWZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgLXdlYmtpdC1ib3gtcGFjazogZW5kO1xuICAgICAgICAgICAgLW1zLWZsZXgtcGFjazogZW5kO1xuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgIHRleHQtYWxpZ246IGluaXRpYWw7XG4gICAgICAgIC13ZWJraXQtbWFyZ2luLXN0YXJ0OiBhdXRvO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1pbmxpbmUtc3RhcnQ6IGF1dG87XG5cbiAgICAgICAgLyogZGVmYXVsdCBnYXAgYW1vbmcgZWxlbWVudHMgKi9cbiAgICAgICAgLXdlYmtpdC1jb2x1bW4tZ2FwOiA4cHg7XG4gICAgICAgICAgIC1tb3otY29sdW1uLWdhcDogOHB4O1xuICAgICAgICAgICAgICAgIGNvbHVtbi1nYXA6IDhweDtcbiAgICAgICAgLXdlYmtpdC1jb2x1bW4tZ2FwOiB2YXIoLS1idXR0b25zLWRpYWxvZy1nYXAtY29sdW1uKTtcbiAgICAgICAgICAgLW1vei1jb2x1bW4tZ2FwOiB2YXIoLS1idXR0b25zLWRpYWxvZy1nYXAtY29sdW1uKTtcbiAgICAgICAgICAgICAgICBjb2x1bW4tZ2FwOiB2YXIoLS1idXR0b25zLWRpYWxvZy1nYXAtY29sdW1uKTtcbiAgICAgICAgcm93LWdhcDogOHB4O1xuICAgICAgICByb3ctZ2FwOiB2YXIoLS1idXR0b25zLWRpYWxvZy1nYXAtcm93KTtcbiAgICB9XG5cbi5teF9EaWFsb2dfYnV0dG9ucyAubXhfRGlhbG9nX2J1dHRvbnNfcm93IGJ1dHRvbiB7XG4gICAgICAgICAgICBtYXJnaW46IDAgIWltcG9ydGFudDsgLyogb3ZlcnJpZGUgdGhlIG1hcmdpbiBzZXR0aW5ncyAqL1xuICAgICAgICB9XG5cbi8qIFhYWDogT3VyIGJ1dHRvbiBzdHlsZSBhcmUgYSBtZXNzOiBidXR0b25zIHRoYXQgaGFwcGVuIHRvIGFwcGVhciBpbiBkaWFsb2dzIGdldCBzcGVjaWFsIHN0eWxlcyBhcHBsaWVkXG4gKiB0byB0aGVtIHRoYXQgbm8gYnV0dG9uIGFueXdoZXJlIGVsc2UgaW4gdGhlIGFwcCBnZXRzIGJ5IGRlZmF1bHQuIEluIHByYWN0aWNlLCBidXR0b25zIGluIG90aGVyIHBsYWNlc1xuICogaW4gdGhlIGFwcCBsb29rIHRoZSBzYW1lIGJ5IGJlaW5nIEFjY2Vzc2libGVCdXR0b25zLCBvciBwb3NzaWJseSBieSBoYXZpbmcgZXhwbGljdCBidXR0b24gY2xhc3Nlcy5cbiAqIFdlIHNob3VsZCBnbyB0aHJvdWdoIGFuZCBoYXZlIG9uZSBjb25zaXN0ZW50IHNldCBvZiBzdHlsZXMgZm9yIGJ1dHRvbnMgdGhyb3VnaG91dCB0aGUgYXBwLlxuICogRm9yIG5vdywgSSBhbSBkdXBsaWNhdGluZyB0aGUgc2VsZWN0b3JzIGhlcmUgZm9yIG14X0RpYWxvZyBhbmQgbXhfRGlhbG9nQnV0dG9ucy5cbiAqXG4gKiBFbGVtZW50cyB0aGF0IHNob3VsZCBub3QgYmUgc3R5bGVkIGxpa2UgYSBkaWFsb2cgYnV0dG9uIGFyZSBtZW50aW9uZWQgaW4gYSA6bm90KCkgcHNldWRvLWNsYXNzLlxuICogRm9yIHRoZSB3aWRlc3QgYnJvd3NlciBzdXBwb3J0LCB3ZSB1c2UgbXVsdGlwbGUgOm5vdCBwc2V1ZG8tY2xhc3NlcyBpbnN0ZWFkIG9mIDpub3QoLmEsIC5iKS5cbiAqL1xuXG4ubXhfRGlhbG9nXG4gICAgYnV0dG9uOm5vdCgubXhfRGlhbG9nX25vbkRpYWxvZ0J1dHRvbik6bm90KFtjbGFzc3w9XCJtYXBsaWJyZWdsXCJdKTpub3QoLm14X0FjY2Vzc2libGVCdXR0b24pOm5vdChcbiAgICAgICAgLm14X1VzZXJQcm9maWxlU2V0dGluZ3MgYnV0dG9uXG4gICAgKTpub3QoLm14X1RoZW1lQ2hvaWNlUGFuZWxfQ3VzdG9tVGhlbWUgYnV0dG9uKTpub3QoLm14X1VucGluQWxsRGlhbG9nIGJ1dHRvbik6bm90KC5teF9TaGFyZURpYWxvZyBidXR0b24pLFxuLm14X0RpYWxvZyBpbnB1dFt0eXBlPVwic3VibWl0XCJdLFxuLm14X0RpYWxvZ19idXR0b25zIGJ1dHRvbjpub3QoLm14X0RpYWxvZ19ub25EaWFsb2dCdXR0b24pOm5vdCgubXhfQWNjZXNzaWJsZUJ1dHRvbiksXG4ubXhfRGlhbG9nX2J1dHRvbnMgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSB7XG4gICAgLyogYWxpZ24gaW1hZ2VzIGluIGJ1dHRvbnMgKGVnIHNwaW5uZXJzKSAqL1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgYm9yZGVyOiAwcHg7XG4gICAgYm9yZGVyLXJhZGl1czogMjRweDtcbiAgICBmb250OiB2YXIoLS1jcGQtZm9udC1ib2R5LW1kLXJlZ3VsYXIpO1xuICAgIGNvbG9yOiB3aGl0ZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jcGQtY29sb3ItYmctYWN0aW9uLXByaW1hcnktcmVzdCk7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgcGFkZGluZzogN3B4O1xuICAgIHBhZGRpbmctbGVmdDogMS41ZW07XG4gICAgcGFkZGluZy1yaWdodDogMS41ZW07XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcblxuICAgIC8qIGZsaXAgY29sb3VycyBmb3IgdGhlIHNlY29uZGFyeSBvbmVzICovXG59XG5cbi5teF9EaWFsb2dcbiAgICBidXR0b246bm90KC5teF9EaWFsb2dfbm9uRGlhbG9nQnV0dG9uKTpub3QoW2NsYXNzfD1cIm1hcGxpYnJlZ2xcIl0pOm5vdCgubXhfQWNjZXNzaWJsZUJ1dHRvbik6bm90KFxuICAgICAgICAubXhfVXNlclByb2ZpbGVTZXR0aW5ncyBidXR0b25cbiAgICApOm5vdCgubXhfVGhlbWVDaG9pY2VQYW5lbF9DdXN0b21UaGVtZSBidXR0b24pOm5vdCgubXhfVW5waW5BbGxEaWFsb2cgYnV0dG9uKTpub3QoLm14X1NoYXJlRGlhbG9nIGJ1dHRvbik6bm90KDpmb2N1cy12aXNpYmxlKSwgLm14X0RpYWxvZyBpbnB1dFt0eXBlPVwic3VibWl0XCJdOm5vdCg6Zm9jdXMtdmlzaWJsZSksIC5teF9EaWFsb2dfYnV0dG9ucyBidXR0b246bm90KC5teF9EaWFsb2dfbm9uRGlhbG9nQnV0dG9uKTpub3QoLm14X0FjY2Vzc2libGVCdXR0b24pOm5vdCg6Zm9jdXMtdmlzaWJsZSksIC5teF9EaWFsb2dfYnV0dG9ucyBpbnB1dFt0eXBlPVwic3VibWl0XCJdOm5vdCg6Zm9jdXMtdmlzaWJsZSkge1xuICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgIH1cblxuLm14X0RpYWxvZ1xuICAgIGJ1dHRvbjpub3QoLm14X0RpYWxvZ19ub25EaWFsb2dCdXR0b24pOm5vdChbY2xhc3N8PVwibWFwbGlicmVnbFwiXSk6bm90KC5teF9BY2Nlc3NpYmxlQnV0dG9uKTpub3QoXG4gICAgICAgIC5teF9Vc2VyUHJvZmlsZVNldHRpbmdzIGJ1dHRvblxuICAgICk6bm90KC5teF9UaGVtZUNob2ljZVBhbmVsX0N1c3RvbVRoZW1lIGJ1dHRvbik6bm90KC5teF9VbnBpbkFsbERpYWxvZyBidXR0b24pOm5vdCgubXhfU2hhcmVEaWFsb2cgYnV0dG9uKSxcbi5teF9EaWFsb2cgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSxcbi5teF9EaWFsb2dfYnV0dG9ucyBidXR0b246bm90KC5teF9EaWFsb2dfbm9uRGlhbG9nQnV0dG9uKTpub3QoLm14X0FjY2Vzc2libGVCdXR0b24pLFxuLm14X0RpYWxvZ19idXR0b25zIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0ge1xuICAgIG1hcmdpbi1sZWZ0OiAwcHg7XG4gICAgbWFyZ2luLXJpZ2h0OiA4cHg7XG4gICAgbWFyZ2luLXJpZ2h0OiA4cHg7XG4gICAgbWFyZ2luLXJpZ2h0OiB2YXIoLS1idXR0b25zLWRpYWxvZy1nYXAtY29sdW1uKTtcbiAgICBtYXJnaW4tYm90dG9tOiA1cHg7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWNwZC1mb250LXdlaWdodC1zZW1pYm9sZCk7XG4gICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tY3BkLWNvbG9yLWJvcmRlci1pbnRlcmFjdGl2ZS1zZWNvbmRhcnkpO1xuICAgIGNvbG9yOiB2YXIoLS1jcGQtY29sb3ItdGV4dC1wcmltYXJ5KTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBmb250LWZhbWlseTogaW5oZXJpdDtcbn1cblxuLm14X0RpYWxvZ1xuICAgIGJ1dHRvbjpub3QoLm14X0RpYWxvZ19ub25EaWFsb2dCdXR0b24pOm5vdChbY2xhc3N8PVwibWFwbGlicmVnbFwiXSk6bm90KC5teF9BY2Nlc3NpYmxlQnV0dG9uKTpub3QoXG4gICAgICAgIC5teF9Vc2VyUHJvZmlsZVNldHRpbmdzIGJ1dHRvblxuICAgICk6bm90KC5teF9UaGVtZUNob2ljZVBhbmVsX0N1c3RvbVRoZW1lIGJ1dHRvbik6bm90KC5teF9VbnBpbkFsbERpYWxvZyBidXR0b24pOm5vdChcbiAgICAgICAgLm14X1NoYXJlRGlhbG9nIGJ1dHRvblxuICAgICk6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwcHg7XG59XG5cbi5teF9EaWFsb2dcbiAgICBidXR0b246bm90KC5teF9EaWFsb2dfbm9uRGlhbG9nQnV0dG9uKTpub3QoW2NsYXNzfD1cIm1hcGxpYnJlZ2xcIl0pOm5vdCgubXhfQWNjZXNzaWJsZUJ1dHRvbik6bm90KFxuICAgICAgICAubXhfVXNlclByb2ZpbGVTZXR0aW5ncyBidXR0b25cbiAgICApOm5vdCgubXhfVGhlbWVDaG9pY2VQYW5lbF9DdXN0b21UaGVtZSBidXR0b24pOm5vdCgubXhfVW5waW5BbGxEaWFsb2cgYnV0dG9uKTpub3QoLm14X1NoYXJlRGlhbG9nIGJ1dHRvbik6Zm9jdXMsXG4ubXhfRGlhbG9nIGlucHV0W3R5cGU9XCJzdWJtaXRcIl06Zm9jdXMsXG4ubXhfRGlhbG9nX2J1dHRvbnMgYnV0dG9uOm5vdCgubXhfRGlhbG9nX25vbkRpYWxvZ0J1dHRvbik6bm90KC5teF9BY2Nlc3NpYmxlQnV0dG9uKTpmb2N1cyxcbi5teF9EaWFsb2dfYnV0dG9ucyBpbnB1dFt0eXBlPVwic3VibWl0XCJdOmZvY3VzIHtcbiAgICAtd2Via2l0LWZpbHRlcjogYnJpZ2h0bmVzcygxMDUlKTtcbiAgICAgICAgICAgIGZpbHRlcjogYnJpZ2h0bmVzcygxMDUlKTtcbn1cblxuLm14X0RpYWxvZyBidXR0b24ubXhfRGlhbG9nX3ByaW1hcnk6bm90KC5teF9EaWFsb2dfbm9uRGlhbG9nQnV0dG9uKTpub3QoW2NsYXNzfD1cIm1hcGxpYnJlZ2xcIl0pLFxuLm14X0RpYWxvZyBpbnB1dFt0eXBlPVwic3VibWl0XCJdLm14X0RpYWxvZ19wcmltYXJ5LFxuLm14X0RpYWxvZ19idXR0b25zXG4gICAgYnV0dG9uLm14X0RpYWxvZ19wcmltYXJ5Om5vdCgubXhfRGlhbG9nX25vbkRpYWxvZ0J1dHRvbik6bm90KC5teF9BY2Nlc3NpYmxlQnV0dG9uKTpub3QoXG4gICAgICAgIC5teF9Vc2VyUHJvZmlsZVNldHRpbmdzIGJ1dHRvblxuICAgICk6bm90KC5teF9UaGVtZUNob2ljZVBhbmVsX0N1c3RvbVRoZW1lIGJ1dHRvbik6bm90KC5teF9VbnBpbkFsbERpYWxvZyBidXR0b24pOm5vdCgubXhfU2hhcmVEaWFsb2cgYnV0dG9uKSxcbi5teF9EaWFsb2dfYnV0dG9ucyBpbnB1dFt0eXBlPVwic3VibWl0XCJdLm14X0RpYWxvZ19wcmltYXJ5IHtcbiAgICBjb2xvcjogdmFyKC0tY3BkLWNvbG9yLXRleHQtb24tc29saWQtcHJpbWFyeSk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY3BkLWNvbG9yLWJnLWFjdGlvbi1wcmltYXJ5LXJlc3QpO1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tY3BkLWNvbG9yLWJnLWFjdGlvbi1wcmltYXJ5LXJlc3QpO1xuICAgIG1pbi13aWR0aDogMTU2cHg7XG59XG5cbi5teF9EaWFsb2cgYnV0dG9uLmRhbmdlcjpub3QoLm14X0RpYWxvZ19ub25EaWFsb2dCdXR0b24pOm5vdChbY2xhc3N8PVwibWFwbGlicmVnbFwiXSksXG4ubXhfRGlhbG9nIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0uZGFuZ2VyLFxuLm14X0RpYWxvZ19idXR0b25zXG4gICAgYnV0dG9uLmRhbmdlcjpub3QoLm14X0RpYWxvZ19ub25EaWFsb2dCdXR0b24pOm5vdCgubXhfQWNjZXNzaWJsZUJ1dHRvbik6bm90KC5teF9Vc2VyUHJvZmlsZVNldHRpbmdzIGJ1dHRvbik6bm90KFxuICAgICAgICAubXhfVGhlbWVDaG9pY2VQYW5lbF9DdXN0b21UaGVtZSBidXR0b25cbiAgICApOm5vdCgubXhfVW5waW5BbGxEaWFsb2cgYnV0dG9uKTpub3QoLm14X1NoYXJlRGlhbG9nIGJ1dHRvbiksXG4ubXhfRGlhbG9nX2J1dHRvbnMgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXS5kYW5nZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNwZC1jb2xvci1iZy1jcml0aWNhbC1wcmltYXJ5KTtcbiAgICBib3JkZXI6IHNvbGlkIDFweCB2YXIoLS1jcGQtY29sb3ItYmctY3JpdGljYWwtcHJpbWFyeSk7XG4gICAgY29sb3I6IHZhcigtLWNwZC1jb2xvci10ZXh0LW9uLXNvbGlkLXByaW1hcnkpO1xufVxuXG4ubXhfRGlhbG9nIGJ1dHRvbi53YXJuaW5nOm5vdCgubXhfRGlhbG9nX25vbkRpYWxvZ0J1dHRvbik6bm90KFtjbGFzc3w9XCJtYXBsaWJyZWdsXCJdKSxcbi5teF9EaWFsb2cgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXS53YXJuaW5nIHtcbiAgICBib3JkZXI6IHNvbGlkIDFweCB2YXIoLS1jcGQtY29sb3ItYm9yZGVyLWNyaXRpY2FsLXN1YnRsZSk7XG4gICAgY29sb3I6IHZhcigtLWNwZC1jb2xvci10ZXh0LWNyaXRpY2FsLXByaW1hcnkpO1xufVxuXG4ubXhfRGlhbG9nXG4gICAgYnV0dG9uOm5vdCgubXhfRGlhbG9nX25vbkRpYWxvZ0J1dHRvbik6bm90KFtjbGFzc3w9XCJtYXBsaWJyZWdsXCJdKTpub3QoLm14X0FjY2Vzc2libGVCdXR0b24pOm5vdChcbiAgICAgICAgLm14X1VzZXJQcm9maWxlU2V0dGluZ3MgYnV0dG9uXG4gICAgKTpub3QoLm14X1RoZW1lQ2hvaWNlUGFuZWxfQ3VzdG9tVGhlbWUgYnV0dG9uKTpub3QoLm14X1VucGluQWxsRGlhbG9nIGJ1dHRvbik6bm90KC5teF9TaGFyZURpYWxvZyBidXR0b24pOmRpc2FibGVkLFxuLm14X0RpYWxvZyBpbnB1dFt0eXBlPVwic3VibWl0XCJdOmRpc2FibGVkLFxuLm14X0RpYWxvZ19idXR0b25zIGJ1dHRvbjpub3QoLm14X0RpYWxvZ19ub25EaWFsb2dCdXR0b24pOm5vdCgubXhfQWNjZXNzaWJsZUJ1dHRvbik6ZGlzYWJsZWQsXG4ubXhfRGlhbG9nX2J1dHRvbnMgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXTpkaXNhYmxlZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdGltZWxpbmUtdGV4dC1zZWNvbmRhcnktY29sb3IpO1xuICAgIGJvcmRlcjogc29saWQgMXB4IHZhcigtLXRpbWVsaW5lLXRleHQtc2Vjb25kYXJ5LWNvbG9yKTtcbiAgICBvcGFjaXR5OiAwLjc7XG59XG5cbi8qIFNwaW5uZXIgRGlhbG9nIG92ZXJpZGUgKi9cblxuLyogVGhpcyBpcyBub3QgYSByZWFsIGRpYWxvZywgc28gd2Ugc2hvdWxkbid0IHNob3cgYSBnbGFzcyBib3JkZXIgKi9cblxuLm14X0RpYWxvZ193cmFwcGVyLm14X0RpYWxvZ19zcGlubmVyIC5teF9EaWFsb2dfYm9yZGVyIHtcbiAgICAgICAgZGlzcGxheTogY29udGVudHM7XG4gICAgfVxuXG4ubXhfRGlhbG9nX3dyYXBwZXIubXhfRGlhbG9nX3NwaW5uZXIgLm14X0RpYWxvZyB7XG4gICAgICAgIGlubGluZS1zaXplOiBhdXRvO1xuICAgICAgICBibG9jay1zaXplOiBhdXRvO1xuICAgICAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgICAgIHBhZGRpbmc6IDhweDtcbiAgICAgICAgLXdlYmtpdC1ib3gtc2hhZG93OiBub25lO1xuICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG5cbiAgICAgICAgLyogRG9uJ3Qgc2hvdyBzY3JvbGwtYmFycyBvbiBzcGlubmVyIGRpYWxvZ3MgKi9cbiAgICAgICAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICAgICAgICBvdmVyZmxvdy15OiBoaWRkZW47XG4gICAgfVxuXG4vKiBUT0RPOiBSZXZpZXcgbXhfR2VuZXJhbEJ1dHRvbiB1c2FnZSB0byBzZWUgaWYgaXQgY2FuIHVzZSBhIGRpZmZlcmVudCBjbGFzcyAqL1xuXG4vKiBUaGVzZSBjbGFzc2VzIHdlcmUgYnJvdWdodCBpbiBmcm9tIHRoZSBvbGQgVXNlclNldHRpbmdzIGFuZCBhcmUgaW5jbHVkZWQgaGVyZSB0byBhdm9pZCAqL1xuXG4vKiBicmVha2luZyB0aGUgYXBwLiAqL1xuXG4vKiBSZWY6IGh0dHBzOi8vZ2l0aHViLmNvbS92ZWN0b3ItaW0vZWxlbWVudC13ZWIvaXNzdWVzLzg0MjAgKi9cblxuLm14X0dlbmVyYWxCdXR0b24ge1xuICAgIC8qIGFsaWduIGltYWdlcyBpbiBidXR0b25zIChlZyBzcGlubmVycykgKi9cbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIGJvcmRlcjogMHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDI0cHg7XG4gICAgZm9udDogdmFyKC0tY3BkLWZvbnQtYm9keS1tZC1yZWd1bGFyKTtcbiAgICBjb2xvcjogd2hpdGU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY3BkLWNvbG9yLWJnLWFjdGlvbi1wcmltYXJ5LXJlc3QpO1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIHBhZGRpbmc6IDdweDtcbiAgICBwYWRkaW5nLWxlZnQ6IDEuNWVtO1xuICAgIHBhZGRpbmctcmlnaHQ6IDEuNWVtO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG5cbi5teF9HZW5lcmFsQnV0dG9uOm5vdCg6Zm9jdXMtdmlzaWJsZSkge1xuICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgIH1cblxuLm14X0dlbmVyYWxCdXR0b24ge1xuICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICBtYXJnaW46IGF1dG87XG59XG5cbi5teF9UZXh0SW5wdXREaWFsb2dfbGFiZWwge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgcGFkZGluZy1ib3R0b206IDEycHg7XG59XG5cbi5teF9UZXh0SW5wdXREaWFsb2dfaW5wdXQge1xuICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICAgIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZTdlN2U3O1xuICAgIHBhZGRpbmc6IDlweDtcbiAgICBjb2xvcjogdmFyKC0tdGltZWxpbmUtdGV4dC1jb2xvcik7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdGltZWxpbmUtYmFja2dyb3VuZC1jb2xvcik7XG59XG5cbi5teF9idXR0b25fcm93IHtcbiAgICBtYXJnaW4tdG9wOiA2OXB4O1xufVxuXG4vKiB1c2VybmFtZSBjb2xvcnMgKi9cblxuLyogdXNlZCBieSBTZW5kZXJQcm9maWxlICYgUm9vbVByZXZpZXdCYXIgKi9cblxuLm14X1VzZXJuYW1lX2NvbG9yMSB7XG4gICAgY29sb3I6IHZhcigtLWNwZC1jb2xvci10ZXh0LWRlY29yYXRpdmUtMSk7XG59XG5cbi5teF9Vc2VybmFtZV9jb2xvcjIge1xuICAgIGNvbG9yOiB2YXIoLS1jcGQtY29sb3ItdGV4dC1kZWNvcmF0aXZlLTIpO1xufVxuXG4ubXhfVXNlcm5hbWVfY29sb3IzIHtcbiAgICBjb2xvcjogdmFyKC0tY3BkLWNvbG9yLXRleHQtZGVjb3JhdGl2ZS0zKTtcbn1cblxuLm14X1VzZXJuYW1lX2NvbG9yNCB7XG4gICAgY29sb3I6IHZhcigtLWNwZC1jb2xvci10ZXh0LWRlY29yYXRpdmUtNCk7XG59XG5cbi5teF9Vc2VybmFtZV9jb2xvcjUge1xuICAgIGNvbG9yOiB2YXIoLS1jcGQtY29sb3ItdGV4dC1kZWNvcmF0aXZlLTUpO1xufVxuXG4ubXhfVXNlcm5hbWVfY29sb3I2IHtcbiAgICBjb2xvcjogdmFyKC0tY3BkLWNvbG9yLXRleHQtZGVjb3JhdGl2ZS02KTtcbn1cblxuLm14X0FwcFdhcm5pbmcsXG4ubXhfQXBwUGVybWlzc2lvbiB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWw7XG4gICAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiBub3JtYWw7XG4gICAgICAgIC1tcy1mbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO1xuICAgICAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cblxuLm14X2xpbmVDbGFtcCB7XG4gICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gICAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcbiAgICAtd2Via2l0LWxpbmUtY2xhbXA6IDE7XG4gICAgLXdlYmtpdC1saW5lLWNsYW1wOiB2YXIoLS1teC1saW5lLWNsYW1wLCAxKTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4vKlxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXG5Db3B5cmlnaHQgMjAyMiBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxuXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXG4qL1xuXG4ubXhfQmVhY29uTGlzdEl0ZW0ge1xuICAgIC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gICAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICAtd2Via2l0LWJveC1vcmllbnQ6IGhvcml6b250YWw7XG4gICAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiBub3JtYWw7XG4gICAgICAgIC1tcy1mbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAtd2Via2l0LWJveC1hbGlnbjogc3RhcnQ7XG4gICAgICAgIC1tcy1mbGV4LWFsaWduOiBzdGFydDtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgIHBhZGRpbmc6IDEycHggMDtcblxuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjMjEyNjJjO1xuXG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLXN5c3RlbSwgIzIxMjYyYyk7XG5cbiAgICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi5teF9CZWFjb25MaXN0SXRlbV9hdmF0YXJJY29uIHtcbiAgICAtd2Via2l0LWJveC1mbGV4OiAwO1xuICAgICAgICAtbXMtZmxleDogMCAwO1xuICAgICAgICAgICAgZmxleDogMCAwO1xuICAgIGhlaWdodDogMzJweDtcbiAgICB3aWR0aDogMzJweDtcbn1cblxuLm14X0JlYWNvbkxpc3RJdGVtX2F2YXRhciB7XG4gICAgLXdlYmtpdC1ib3gtZmxleDogMDtcbiAgICAgICAgLW1zLWZsZXg6IDAgMDtcbiAgICAgICAgICAgIGZsZXg6IDAgMDtcbiAgICAtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXG4gICAgbWFyZ2luLXJpZ2h0OiA4cHg7XG4gICAgYm9yZGVyOiAycHggc29saWQgIzVjNTZmNTtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG59XG5cbi5teF9CZWFjb25MaXN0SXRlbV9pbmZvIHtcbiAgICAtd2Via2l0LWJveC1mbGV4OiAxO1xuICAgICAgICAtbXMtZmxleDogMSAxIDBweDtcbiAgICAgICAgICAgIGZsZXg6IDEgMSAwO1xuICAgIHdpZHRoOiAwO1xuICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcbiAgICAtd2Via2l0LWJveC1kaXJlY3Rpb246IG5vcm1hbDtcbiAgICAgICAgLW1zLWZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIC13ZWJraXQtYm94LWFsaWduOiBzdHJldGNoO1xuICAgICAgICAtbXMtZmxleC1hbGlnbjogc3RyZXRjaDtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xufVxuXG4ubXhfQmVhY29uTGlzdEl0ZW1fc3RhdHVzIHtcbiAgICAvKiBvdmVycmlkZSBiZWFjb24gc3RhdHVzIHBhZGRpbmcgKi9cbiAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLWJvdHRvbTogOHB4O1xufVxuXG4ubXhfQmVhY29uTGlzdEl0ZW1fc3RhdHVzIC5teF9CZWFjb25TdGF0dXNfbGFiZWwge1xuICAgICAgICBmb250LXdlaWdodDogdmFyKC0tY3BkLWZvbnQtd2VpZ2h0LXNlbWlib2xkKTtcbiAgICB9XG5cbi5teF9CZWFjb25MaXN0SXRlbV9sYXN0VXBkYXRlZCB7XG4gICAgY29sb3I6ICNlZGYzZmY7XG4gICAgY29sb3I6IHZhcigtLXRlcnRpYXJ5LWNvbnRlbnQsICNlZGYzZmYpO1xuICAgIGZvbnQtc2l6ZTogMC42MjVyZW07XG59XG5cbi5teF9CZWFjb25MaXN0SXRlbV9pbnRlcmFjdGlvbnMge1xuICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgLXdlYmtpdC1ib3gtb3JpZW50OiBob3Jpem9udGFsO1xuICAgIC13ZWJraXQtYm94LWRpcmVjdGlvbjogbm9ybWFsO1xuICAgICAgICAtbXMtZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG59XG5cbi8qXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cbkNvcHlyaWdodCAyMDIyIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXG5cblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cbiovXG5cbi5teF9CZWFjb25TdGF0dXMge1xuICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgLXdlYmtpdC1ib3gtb3JpZW50OiBob3Jpem9udGFsO1xuICAgIC13ZWJraXQtYm94LWRpcmVjdGlvbjogbm9ybWFsO1xuICAgICAgICAtbXMtZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgLXdlYmtpdC1ib3gtcGFjazogc3RhcnQ7XG4gICAgICAgIC1tcy1mbGV4LXBhY2s6IHN0YXJ0O1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuXG4gICAgLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXG4gICAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIHBhZGRpbmc6IDhweDtcblxuICAgIGNvbG9yOiB2YXIoLS1jb2xvcik7XG4gICAgZm9udC1zaXplOiAwLjc1cmVtO1xufVxuXG4ubXhfQmVhY29uU3RhdHVzX0xvYWRpbmcsXG4ubXhfQmVhY29uU3RhdHVzX1N0b3BwZWQge1xuICAgIC0tY29sb3I6IHZhcigtLXRlcnRpYXJ5LWNvbnRlbnQsICNlZGYzZmYpO1xufVxuXG4ubXhfQmVhY29uU3RhdHVzX0FjdGl2ZSxcbi5teF9CZWFjb25TdGF0dXNfRXJyb3Ige1xuICAgIC0tY29sb3I6IHZhcigtLXRpbWVsaW5lLXRleHQtY29sb3IpO1xufVxuXG4ubXhfQmVhY29uU3RhdHVzX2ljb24ge1xuICAgIGhlaWdodDogMzJweDtcbiAgICB3aWR0aDogMzJweDtcblxuICAgIC13ZWJraXQtYm94LWZsZXg6IDA7XG5cbiAgICAgICAgLW1zLWZsZXg6IDAgMCAzMnB4O1xuXG4gICAgICAgICAgICBmbGV4OiAwIDAgMzJweDtcbiAgICBtYXJnaW4tcmlnaHQ6IDhweDtcbn1cblxuLm14X0JlYWNvblN0YXR1c19kZXNjcmlwdGlvbiB7XG4gICAgLXdlYmtpdC1ib3gtZmxleDogMTtcbiAgICAgICAgLW1zLWZsZXg6IDEgMSAwcHg7XG4gICAgICAgICAgICBmbGV4OiAxIDEgMDtcbiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWw7XG4gICAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiBub3JtYWw7XG4gICAgICAgIC1tcy1mbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBsaW5lLWhlaWdodDogMC44NzVyZW07XG5cbiAgICBwYWRkaW5nLXJpZ2h0OiA4cHg7XG5cbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5teF9CZWFjb25TdGF0dXNfZGVzY3JpcHRpb24gLm14X0JlYWNvblN0YXR1c19kZXNjcmlwdGlvbl9zdGF0dXMge1xuICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB9XG5cbi5teF9CZWFjb25TdGF0dXNfZXhwaXJ5VGltZSB7XG4gICAgY29sb3I6ICNlZGYzZmY7XG4gICAgY29sb3I6IHZhcigtLXNlY29uZGFyeS1jb250ZW50LCAjZWRmM2ZmKTtcbn1cblxuLm14X0JlYWNvblN0YXR1c19sYWJlbCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMnB4O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG59XG5cbi8qXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cbkNvcHlyaWdodCAyMDIyIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXG5cblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cbiovXG5cbi5teF9CZWFjb25TdGF0dXNUb29sdGlwIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA0MnB4O1xuICAgIG1heC13aWR0aDogMTUwcHg7XG4gICAgaGVpZ2h0OiAzOHB4O1xuICAgIC13ZWJraXQtYm94LXNpemluZzogY29udGVudC1ib3g7XG4gICAgICAgICAgICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgICBwYWRkaW5nLXRvcDogOHB4O1xufVxuXG4ubXhfQmVhY29uU3RhdHVzVG9vbHRpcF9pbm5lciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tdGltZWxpbmUtYmFja2dyb3VuZC1jb2xvcik7XG4gICAgLXdlYmtpdC1ib3gtc2hhZG93OiA0cHggNHB4IDEycHggMCAjMTgxYjIxO1xuICAgICAgICAgICAgYm94LXNoYWRvdzogNHB4IDRweCAxMnB4IDAgIzE4MWIyMTtcbn1cblxuLypcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxuQ29weXJpZ2h0IDIwMjIgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cblxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuKi9cblxuLm14X0JlYWNvblZpZXdEaWFsb2dfd3JhcHBlciAubXhfRGlhbG9nIHtcbiAgICBwYWRkaW5nOiAwcHg7XG5cbiAgICAvKiBVbnNldCBjb250YWluIGFuZCBwb3NpdGlvbiB0byBhbGxvdyB0aGUgY2xvc2UgYnV0dG9uXG4gICAgdG8gYXBwZWFyIG91dHNpZGUgdGhlIGRpYWxvZyAqL1xuICAgIGNvbnRhaW46IHVuc2V0O1xuICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgcG9zaXRpb246IGluaXRpYWw7XG59XG5cbi5teF9CZWFjb25WaWV3RGlhbG9nIHtcbiAgICAvKiBzdWJ0cmFjdCAwLjVweCB0byBwcmV2ZW50IHNpbmdsZS1waXhlbCBtYXJnaW4gZHVlIHRvIHJvdW5kaW5nICovXG4gICAgd2lkdGg6IGNhbGMoODB2dyAtIDAuNXB4KTtcbiAgICBoZWlnaHQ6IGNhbGMoODB2aCAtIDAuNXB4KTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgLyogc2lkZWJhciBpcyBhYnNvbHV0ZWx5IHBvc2l0aW9uZWQgaW5zaWRlICovXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4ubXhfQmVhY29uVmlld0RpYWxvZyAubXhfRGlhbG9nX2hlYWRlciB7XG4gICAgICAgIG1hcmdpbjogMHB4O1xuICAgICAgICBwYWRkaW5nOiAwcHg7XG4gICAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgICAgIHBvc2l0aW9uOiBpbml0aWFsO1xuICAgIH1cblxuLm14X0JlYWNvblZpZXdEaWFsb2cgLm14X0RpYWxvZ19oZWFkZXIgLm14X0RpYWxvZ190aXRsZSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG5cbi5teF9CZWFjb25WaWV3RGlhbG9nIC5teF9EaWFsb2dfaGVhZGVyIC5teF9EaWFsb2dfY2FuY2VsQnV0dG9uIHtcbiAgICAgICAgICAgIHotaW5kZXg6IDQwMTA7XG4gICAgICAgICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICAgICAgICByaWdodDogNXZ3O1xuICAgICAgICAgICAgdG9wOiA1dmg7XG4gICAgICAgICAgICB3aWR0aDogMjBweDtcbiAgICAgICAgICAgIGhlaWdodDogMjBweDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNlZGYzZmY7XG4gICAgICAgIH1cblxuLm14X0JlYWNvblZpZXdEaWFsb2dfbWFwIHtcbiAgICB3aWR0aDogODB2dztcbiAgICBoZWlnaHQ6IDgwdmg7XG4gICAgYm9yZGVyLXJhZGl1czogOHB4O1xufVxuXG4ubXhfQmVhY29uVmlld0RpYWxvZ19tYXBGYWxsYmFja01lc3NhZ2Uge1xuICAgIGNvbG9yOiAjZWRmM2ZmO1xuICAgIGNvbG9yOiB2YXIoLS1zZWNvbmRhcnktY29udGVudCwgI2VkZjNmZik7XG4gICAgbWFyZ2luLWJvdHRvbTogMTZweDtcbn1cblxuLm14X0JlYWNvblZpZXdEaWFsb2dfdmlld0xpc3RCdXR0b24ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDI0cHg7XG4gICAgbGVmdDogMjRweDtcbn1cblxuLypcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxuQ29weXJpZ2h0IDIwMjIgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cblxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuKi9cblxuLm14X0RpYWxvZ093bkJlYWNvblN0YXR1cyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogMzJweDtcbiAgICB3aWR0aDogMzAwcHg7XG4gICAgbWFyZ2luLWxlZnQ6IC0xNTBweDtcbiAgICBsZWZ0OiA1MCU7XG5cbiAgICAtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG5cbiAgICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gICAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICAtd2Via2l0LWJveC1vcmllbnQ6IGhvcml6b250YWw7XG4gICAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiBub3JtYWw7XG4gICAgICAgIC1tcy1mbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAtd2Via2l0LWJveC1hbGlnbjogc3RhcnQ7XG4gICAgICAgIC1tcy1mbGV4LWFsaWduOiBzdGFydDtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgIC13ZWJraXQtYm94LXBhY2s6IHN0cmV0Y2g7XG4gICAgICAgIC1tcy1mbGV4LXBhY2s6IHN0cmV0Y2g7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHN0cmV0Y2g7XG5cbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS10aW1lbGluZS1iYWNrZ3JvdW5kLWNvbG9yKTtcbiAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgLXdlYmtpdC1ib3gtc2hhZG93OiA0cHggNHB4IDEycHggMCAjMTgxYjIxO1xuICAgICAgICAgICAgYm94LXNoYWRvdzogNHB4IDRweCAxMnB4IDAgIzE4MWIyMTtcblxuICAgIHBhZGRpbmc6IDAgMTJweDtcbn1cblxuLm14X0RpYWxvZ093bkJlYWNvblN0YXR1c19hdmF0YXJJY29uIHtcbiAgICAtd2Via2l0LWJveC1mbGV4OiAwO1xuICAgICAgICAtbXMtZmxleDogMCAwO1xuICAgICAgICAgICAgZmxleDogMCAwO1xuICAgIGhlaWdodDogMzJweDtcbiAgICB3aWR0aDogMzJweDtcbiAgICBtYXJnaW46IDhweCAwIDhweCAwO1xufVxuXG4ubXhfRGlhbG9nT3duQmVhY29uU3RhdHVzX2F2YXRhciB7XG4gICAgLXdlYmtpdC1ib3gtZmxleDogMDtcbiAgICAgICAgLW1zLWZsZXg6IDAgMDtcbiAgICAgICAgICAgIGZsZXg6IDAgMDtcbiAgICAtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXG4gICAgYm9yZGVyOiAycHggc29saWQgIzVjNTZmNTtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgbWFyZ2luOiA4cHggMCA4cHggMDtcbn1cblxuLm14X0RpYWxvZ093bkJlYWNvblN0YXR1c19zdGF0dXMge1xuICAgIC13ZWJraXQtYm94LWZsZXg6IDE7XG4gICAgICAgIC1tcy1mbGV4OiAxIDE7XG4gICAgICAgICAgICBmbGV4OiAxIDE7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbn1cblxuLypcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxuQ29weXJpZ2h0IDIwMjIgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cblxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuKi9cblxuLm14X0RpYWxvZ1NpZGViYXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgd2lkdGg6IDI2NXB4O1xuXG4gICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG5cbiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcblxuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcbiAgICAtd2Via2l0LWJveC1kaXJlY3Rpb246IG5vcm1hbDtcbiAgICAgICAgLW1zLWZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXG4gICAgLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXG4gICAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIHBhZGRpbmc6IDE2cHg7XG5cbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS10aW1lbGluZS1iYWNrZ3JvdW5kLWNvbG9yKTtcbiAgICAtd2Via2l0LWJveC1zaGFkb3c6IDBweCA0cHggNHB4ICMxODFiMjE7XG4gICAgICAgICAgICBib3gtc2hhZG93OiAwcHggNHB4IDRweCAjMTgxYjIxO1xufVxuXG4ubXhfRGlhbG9nU2lkZWJhciAubXhfRGlhbG9nU2lkZWJhcl9oZWFkZXIge1xuICAgICAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgICAgICAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIC13ZWJraXQtYm94LXBhY2s6IGp1c3RpZnk7XG4gICAgICAgICAgICAtbXMtZmxleC1wYWNrOiBqdXN0aWZ5O1xuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcblxuICAgICAgICAtd2Via2l0LWJveC1mbGV4OiAwO1xuXG4gICAgICAgICAgICAtbXMtZmxleDogMCAwO1xuXG4gICAgICAgICAgICAgICAgZmxleDogMCAwO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxNnB4O1xuXG4gICAgICAgIGNvbG9yOiB2YXIoLS10aW1lbGluZS10ZXh0LWNvbG9yKTtcbiAgICB9XG5cbi5teF9EaWFsb2dTaWRlYmFyIC5teF9EaWFsb2dTaWRlYmFyX2hlYWRlciAubXhfRGlhbG9nU2lkZWJhcl9jbG9zZUJ1dHRvbkljb24ge1xuICAgICAgICAgICAgY29sb3I6ICNlZGYzZmY7XG4gICAgICAgICAgICBjb2xvcjogdmFyKC0tdGVydGlhcnktY29udGVudCwgI2VkZjNmZik7XG4gICAgICAgIH1cblxuLm14X0RpYWxvZ1NpZGViYXIgLm14X0RpYWxvZ1NpZGViYXJfbGlzdCB7XG4gICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgLXdlYmtpdC1ib3gtZmxleDogMTtcbiAgICAgICAgICAgIC1tcy1mbGV4OiAxIDEgMHB4O1xuICAgICAgICAgICAgICAgIGZsZXg6IDEgMSAwO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgb3ZlcmZsb3c6IGF1dG87XG4gICAgfVxuXG4ubXhfRGlhbG9nU2lkZWJhcl9ub1Jlc3VsdHMge1xuICAgIGZvbnQ6IHZhcigtLWNwZC1mb250LWJvZHktbWQtcmVndWxhcik7XG4gICAgY29sb3I6ICNlZGYzZmY7XG4gICAgY29sb3I6IHZhcigtLXNlY29uZGFyeS1jb250ZW50LCAjZWRmM2ZmKTtcbn1cblxuLypcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxuQ29weXJpZ2h0IDIwMjIgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cblxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuKi9cblxuLm14X0xlZnRQYW5lbExpdmVTaGFyZVdhcm5pbmcge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG5cbiAgICBwYWRkaW5nOiA0cHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzBkYmQ4YjtcblxuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWFjY2VudC1jb2xvciwgIzBkYmQ4Yik7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgZm9udC1zaXplOiAwLjYyNXJlbTtcblxuICAgIC8qIHBhbmVsIGJhY2tkcm9wcyBvdmVybGF5IHRoZSB3aG9sZSBzaWRlcGFuZWwgKi9cbiAgICAvKiBnbyBhYm92ZSB0byBnZXQgaG92ZXIgZm9yIHRpdGxlICovXG4gICAgei1pbmRleDogMTtcbn1cblxuLm14X0xlZnRQYW5lbExpdmVTaGFyZVdhcm5pbmdfX2Vycm9yIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmY1YjU1O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWFsZXJ0LCAjZmY1YjU1KTtcbn1cblxuLypcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxuQ29weXJpZ2h0IDIwMjIgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cblxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuKi9cblxuLm14X0xpdmVUaW1lUmVtYWluaW5nIHtcbiAgICBjb2xvcjogI2VkZjNmZjtcbiAgICBjb2xvcjogdmFyKC0tc2Vjb25kYXJ5LWNvbnRlbnQsICNlZGYzZmYpO1xuICAgIGZvbnQtc2l6ZTogMC43NXJlbTtcbn1cblxuLypcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxuQ29weXJpZ2h0IDIwMjIgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cblxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuKi9cblxuLm14X093bkJlYWNvblN0YXR1c19idXR0b24ge1xuICAgIG1hcmdpbi1sZWZ0OiA4cHg7XG59XG5cbi5teF9FdmVudFRpbGVbZGF0YS1sYXlvdXQ9XCJidWJibGVcIl0gLm14X093bkJlYWNvblN0YXR1c19idXR0b24ge1xuICAgIC8qIGFsaWduIHRvIHRvcCB0byBtYWtlIHJvb20gZm9yIHRpbWVzdGFtcCAqL1xuICAgIC8qIGluIGJ1YmJsZSB2aWV3ICovXG4gICAgLW1zLWZsZXgtaXRlbS1hbGlnbjogc3RhcnQ7XG4gICAgICAgIGFsaWduLXNlbGY6IHN0YXJ0O1xufVxuXG4ubXhfT3duQmVhY29uU3RhdHVzX2Rlc3RydWN0aXZlQnV0dG9uIHtcbiAgICAvKiBvdmVycmlkZSBidXR0b24gbGlua19pbmxpbmUgc3R5bGVzICovXG4gICAgY29sb3I6ICNmZjViNTUgIWltcG9ydGFudDtcbiAgICBjb2xvcjogdmFyKC0tYWxlcnQsICNmZjViNTUpICFpbXBvcnRhbnQ7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWNwZC1mb250LXdlaWdodC1zZW1pYm9sZCkgIWltcG9ydGFudDtcbn1cblxuLypcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxuQ29weXJpZ2h0IDIwMjIgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cblxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuKi9cblxuLm14X1NoYXJlTGF0ZXN0TG9jYXRpb25faWNvbiB7XG4gICAgaGVpZ2h0OiAxM3B4O1xuICAgIHdpZHRoOiAxM3B4O1xuICAgIGNvbG9yOiAjZWRmM2ZmO1xuICAgIGNvbG9yOiB2YXIoLS1zZWNvbmRhcnktY29udGVudCwgI2VkZjNmZik7XG59XG5cbi8qIGRvdWJsZSBjbGFzcyB0byBiZSBtb3JlIHNwZWNpZmljIHRoYW4gdGhlIGdlbmVyYWwgbXhfQ29weWFibGVUZXh0IENTUyBydWxlICovXG5cbi8qIG92ZXJyaWRlIGNvcHlhYmxlIHRleHQgc3R5bGUgdG8gbWFrZSBjb21wYWN0ICovXG5cbi5teF9Db3B5YWJsZVRleHQubXhfU2hhcmVMYXRlc3RMb2NhdGlvbl9jb3B5IC5teF9Db3B5YWJsZVRleHRfY29weUJ1dHRvbiB7XG4gICAgICAgIGhlaWdodDogMTNweDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDhweCAhaW1wb3J0YW50O1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHRvcDogLTFweDtcbiAgICAgICAgd2lkdGg6IDEzcHg7XG4gICAgfVxuXG4ubXhfQ29weWFibGVUZXh0Lm14X1NoYXJlTGF0ZXN0TG9jYXRpb25fY29weSAubXhfQ29weWFibGVUZXh0X2NvcHlCdXR0b246OmJlZm9yZSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWRmM2ZmO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tc2Vjb25kYXJ5LWNvbnRlbnQsICNlZGYzZmYpO1xuICAgICAgICAgICAgaGVpZ2h0OiAxM3B4O1xuICAgICAgICAgICAgd2lkdGg6IDEzcHg7XG4gICAgICAgIH1cblxuLypcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxuQ29weXJpZ2h0IDIwMjIgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cblxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuKi9cblxuLm14X1N0eWxlZExpdmVCZWFjb25JY29uIHtcbiAgICAtd2Via2l0LWJveC1mbGV4OiAwO1xuICAgICAgICAtbXMtZmxleC1wb3NpdGl2ZTogMDtcbiAgICAgICAgICAgIGZsZXgtZ3JvdzogMDtcbiAgICAtbXMtZmxleC1uZWdhdGl2ZTogMDtcbiAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBib3JkZXItd2lkdGg6IDJweDtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcblxuICAgIGJhY2tncm91bmQtY29sb3I6ICM1YzU2ZjU7XG4gICAgYm9yZGVyLWNvbG9yOiAjNWM1NmY1O1xuICAgIHBhZGRpbmc6IDJweDtcbiAgICAvKiBjb2xvcnMgaWNvbiAqL1xuICAgIGNvbG9yOiB3aGl0ZTtcbn1cblxuLm14X1N0eWxlZExpdmVCZWFjb25JY29uLm14X1N0eWxlZExpdmVCZWFjb25JY29uX2Vycm9yIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmY1YjU1O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWFsZXJ0LCAjZmY1YjU1KTtcbiAgICBib3JkZXItY29sb3I6ICNmZjViNTU7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1hbGVydCwgI2ZmNWI1NSk7XG59XG5cbi5teF9TdHlsZWRMaXZlQmVhY29uSWNvbi5teF9TdHlsZWRMaXZlQmVhY29uSWNvbl9pZGxlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNmY3ODgyO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXF1YXRlcm5hcnktY29udGVudCwgIzZmNzg4Mik7XG4gICAgYm9yZGVyLWNvbG9yOiAjNmY3ODgyO1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tcXVhdGVybmFyeS1jb250ZW50LCAjNmY3ODgyKTtcbn1cblxuLypcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxuQ29weXJpZ2h0IDIwMjIgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cblxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuKi9cblxuLm14X0tlYmFiQ29udGV4dE1lbnVfaWNvbiB7XG4gICAgd2lkdGg6IDI0cHg7XG4gICAgaGVpZ2h0OiAyNHB4O1xuICAgIGNvbG9yOiB2YXIoLS1pY29uLWJ1dHRvbi1jb2xvciwgdmFyKC0tY3BkLWNvbG9yLWljb24tdGVydGlhcnkpKTtcbn1cblxuLypcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxuQ29weXJpZ2h0IDIwMjMgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cblxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuKi9cblxuLm14X1BvbGxEZXRhaWxIZWFkZXIge1xuICAgIC8qIG92ZXJyaWRlIGFjY2Vzc2libGVidXR0b24gc3R5bGUgKi9cbiAgICBmb250LXNpemU6IDAuOTM3NXJlbSAhaW1wb3J0YW50O1xufVxuXG4ubXhfUG9sbERldGFpbEhlYWRlcl9pY29uIHtcbiAgICBoZWlnaHQ6IDE2cHg7XG4gICAgd2lkdGg6IDE2cHg7XG4gICAgbWFyZ2luLXJpZ2h0OiA4cHg7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cblxuLypcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxuQ29weXJpZ2h0IDIwMjMgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cblxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuKi9cblxuLm14X1BvbGxMaXN0SXRlbSB7XG4gICAgd2lkdGg6IDEwMCU7XG59XG5cbi5teF9Qb2xsTGlzdEl0ZW1fY29udGVudCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICAtd2Via2l0LWJveC1wYWNrOiBsZWZ0O1xuICAgICAgICAtbXMtZmxleC1wYWNrOiBsZWZ0O1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBsZWZ0O1xuICAgIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdyaWQtZ2FwOiA4cHg7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBhdXRvIGF1dG8gYXV0bztcbiAgICBncmlkLXRlbXBsYXRlLXJvd3M6IGF1dG87XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgY29sb3I6IHZhcigtLXRpbWVsaW5lLXRleHQtY29sb3IpO1xufVxuXG4ubXhfUG9sbExpc3RJdGVtX2ljb24ge1xuICAgIGhlaWdodDogMTRweDtcbiAgICB3aWR0aDogMTRweDtcbiAgICBjb2xvcjogIzZmNzg4MjtcbiAgICBjb2xvcjogdmFyKC0tcXVhdGVybmFyeS1jb250ZW50LCAjNmY3ODgyKTtcbiAgICBwYWRkaW5nLWxlZnQ6IDhweDtcbn1cblxuLm14X1BvbGxMaXN0SXRlbV9xdWVzdGlvbiB7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xufVxuXG4vKlxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXG5Db3B5cmlnaHQgMjAyMyBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxuXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXG4qL1xuXG4ubXhfUG9sbExpc3RJdGVtRW5kZWQge1xuICAgIHdpZHRoOiAxMDAlO1xufVxuXG4ubXhfUG9sbExpc3RJdGVtRW5kZWRfY29udGVudCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gICAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xuICAgIC13ZWJraXQtYm94LWRpcmVjdGlvbjogbm9ybWFsO1xuICAgICAgICAtbXMtZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgY29sb3I6IHZhcigtLXRpbWVsaW5lLXRleHQtY29sb3IpO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLm14X1BvbGxMaXN0SXRlbUVuZGVkX3RpdGxlIHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIC13ZWJraXQtYm94LXBhY2s6IGxlZnQ7XG4gICAgICAgIC1tcy1mbGV4LXBhY2s6IGxlZnQ7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGxlZnQ7XG4gICAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ3JpZC1nYXA6IDhweDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IC13ZWJraXQtbWluLWNvbnRlbnQgMWZyIC13ZWJraXQtbWluLWNvbnRlbnQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBtaW4tY29udGVudCAxZnIgbWluLWNvbnRlbnQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiBhdXRvO1xufVxuXG4ubXhfUG9sbExpc3RJdGVtRW5kZWRfaWNvbiB7XG4gICAgaGVpZ2h0OiAxNHB4O1xuICAgIHdpZHRoOiAxNHB4O1xuICAgIGNvbG9yOiAjNmY3ODgyO1xuICAgIGNvbG9yOiB2YXIoLS1xdWF0ZXJuYXJ5LWNvbnRlbnQsICM2Zjc4ODIpO1xuICAgIHBhZGRpbmctbGVmdDogOHB4O1xufVxuXG4ubXhfUG9sbExpc3RJdGVtRW5kZWRfZGF0ZSB7XG4gICAgZm9udC1zaXplOiAwLjc1cmVtO1xuICAgIGNvbG9yOiAjZWRmM2ZmO1xuICAgIGNvbG9yOiB2YXIoLS1zZWNvbmRhcnktY29udGVudCwgI2VkZjNmZik7XG59XG5cbi5teF9Qb2xsTGlzdEl0ZW1FbmRlZF9xdWVzdGlvbiB7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xufVxuXG4ubXhfUG9sbExpc3RJdGVtRW5kZWRfYW5zd2VycyB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLWdhcDogOHB4O1xuICAgIG1hcmdpbi10b3A6IDEycHg7XG59XG5cbi5teF9Qb2xsTGlzdEl0ZW1FbmRlZF92b3RlQ291bnQge1xuICAgIC8qIDZweCB0byBtYXRjaCBQb2xsT3B0aW9uIHBhZGRpbmcgKi9cbiAgICBtYXJnaW46IDhweCAwIDAgNnB4O1xufVxuXG4vKlxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXG5Db3B5cmlnaHQgMjAxOS0yMDIzIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXG5Db3B5cmlnaHQgMjAxNSwgMjAxNiBPcGVuTWFya2V0IEx0ZFxuXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXG4qL1xuXG4ubXhfQXBwUGVybWlzc2lvbiB7XG4gICAgZm9udC1zaXplOiAwLjc1cmVtO1xuICAgIHdpZHRoOiAxMDAlOyAvKiBtYWtlIG14X0FwcFBlcm1pc3Npb24gZmlsbCB3aWR0aCBvZiBteF9BcHBUaWxlQm9keSBzbyB0aGF0IHNjcm9sbCBiYXIgYXBwZWFycyBvbiB0aGUgZWRnZSAqL1xuICAgIG92ZXJmbG93LXk6IHNjcm9sbDtcbn1cblxuLm14X0FwcFBlcm1pc3Npb24gLm14X0FwcFBlcm1pc3Npb25fYm9sZGVyLFxuICAgIC5teF9BcHBQZXJtaXNzaW9uIC5teF9BcHBQZXJtaXNzaW9uX2NvbnRlbnRfYm9sZGVyIHtcbiAgICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLWNwZC1mb250LXdlaWdodC1zZW1pYm9sZCk7XG4gICAgfVxuXG4ubXhfQXBwUGVybWlzc2lvbiAubXhfQXBwUGVybWlzc2lvbl9jb250ZW50IHtcbiAgICAgICAgbWFyZ2luLWJsb2NrOiBhdXRvOyAvKiBwbGFjZSBhdCB0aGUgY2VudGVyICovXG4gICAgfVxuXG4ubXhfQXBwUGVybWlzc2lvbiAubXhfQXBwUGVybWlzc2lvbl9jb250ZW50ID4gZGl2IHtcbiAgICAgICAgICAgIG1hcmdpbi1ibG9jazogMTJweDtcbiAgICAgICAgfVxuXG4ubXhfQXBwUGVybWlzc2lvbiAubXhfQXBwUGVybWlzc2lvbl9jb250ZW50IC5teF9UZXh0V2l0aFRvb2x0aXBfdGFyZ2V0LS1oZWxwSWNvbiB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICBoZWlnaHQ6IDAuODc1cmVtOyAvKiBhbGlnbiB3aXRoIGNoYXJhY3RlcnMgb24gdGhlIHNhbWUgbGluZSAqL1xuICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgfVxuXG4ubXhfQXBwUGVybWlzc2lvbiAubXhfQXBwUGVybWlzc2lvbl9jb250ZW50IC5teF9UZXh0V2l0aFRvb2x0aXBfdGFyZ2V0LS1oZWxwSWNvbiAubXhfSWNvbiB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICMwZGJkOGI7XG4gICAgICAgICAgICAgICAgY29sb3I6IHZhcigtLWFjY2VudC1jb2xvciwgIzBkYmQ4Yik7XG4gICAgICAgICAgICB9XG5cbi8qXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cbkNvcHlyaWdodCAyMDIzIFN1Z3VydSBIaXJhaGFyYVxuXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXG4qL1xuXG4ubXhfQXBwV2FybmluZyB7XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICAgIC13ZWJraXQtYm94LXBhY2s6IGNlbnRlcjtcbiAgICAgICAgLW1zLWZsZXgtcGFjazogY2VudGVyO1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG5cbi5teF9BcHBXYXJuaW5nIGg0IHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgIH1cblxuLypcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxuQ29weXJpZ2h0IDIwMjIgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cblxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuKi9cblxuLm14X0ZpbHRlckRyb3Bkb3duIC5teF9Ecm9wZG93bl9tZW51IHtcbiAgICAgICAgbWFyZ2luLXRvcDogNHB4O1xuICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICBsZWZ0OiBpbml0aWFsO1xuICAgICAgICByaWdodDogLTEycHg7XG4gICAgICAgIHdpZHRoOiAyMzJweDtcbiAgICAgICAgcGFkZGluZzogMTJweDtcblxuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjNmY3ODgyO1xuXG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLXF1aW5hcnktY29udGVudCwgIzZmNzg4Mik7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgICAgICAgLXdlYmtpdC1ib3gtc2hhZG93OiAwcHggMXB4IDNweCByZ2JhKDIzLCAyNSwgMjgsIDAuMDUpO1xuICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IDBweCAxcHggM3B4IHJnYmEoMjMsIDI1LCAyOCwgMC4wNSk7XG5cbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzIxMjYyYztcblxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1zeXN0ZW0sICMyMTI2MmMpO1xuICAgIH1cblxuLm14X0ZpbHRlckRyb3Bkb3duIC5teF9Ecm9wZG93bl9tZW51IC5teF9Ecm9wZG93bl9vcHRpb25faGlnaGxpZ2h0IHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICB9XG5cbi5teF9GaWx0ZXJEcm9wZG93biAubXhfRHJvcGRvd25faW5wdXQge1xuICAgICAgICBoZWlnaHQ6IDI0cHg7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICBjb2xvcjogI2VkZjNmZjtcbiAgICAgICAgY29sb3I6IHZhcigtLXNlY29uZGFyeS1jb250ZW50LCAjZWRmM2ZmKTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAgIH1cblxuLm14X0ZpbHRlckRyb3Bkb3duIC5teF9Ecm9wZG93bl9pbnB1dDpmb2N1cyxcbiAgICAgICAgLm14X0ZpbHRlckRyb3Bkb3duIC5teF9Ecm9wZG93bl9pbnB1dDpob3ZlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNmY3ODgyO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcXVpbmFyeS1jb250ZW50LCAjNmY3ODgyKTtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogIzZmNzg4MjtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0tcXVpbmFyeS1jb250ZW50LCAjNmY3ODgyKTtcbiAgICAgICAgfVxuXG4ubXhfRmlsdGVyRHJvcGRvd24gLm14X0Ryb3Bkb3duX2Fycm93IHtcbiAgICAgICAgYmFja2dyb3VuZDogI2VkZjNmZjtcbiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tc2Vjb25kYXJ5LWNvbnRlbnQsICNlZGYzZmYpO1xuICAgIH1cblxuLm14X0ZpbHRlckRyb3Bkb3duX29wdGlvbiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgcGFkZGluZzogOHB4IDAgOHB4IDIwcHg7XG5cbiAgICBmb250LXNpemU6IDAuNzVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDAuOTM3NXJlbTtcbiAgICBjb2xvcjogdmFyKC0tdGltZWxpbmUtdGV4dC1jb2xvcik7XG59XG5cbi5teF9GaWx0ZXJEcm9wZG93bl9vcHRpb25TZWxlY3RlZEljb24ge1xuICAgIGhlaWdodDogMTRweDtcbiAgICB3aWR0aDogMTRweDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA4cHg7XG4gICAgbGVmdDogMDtcbn1cblxuLm14X0ZpbHRlckRyb3Bkb3duX29wdGlvbkxhYmVsIHtcbiAgICBmb250LXdlaWdodDogdmFyKC0tY3BkLWZvbnQtd2VpZ2h0LXNlbWlib2xkKTtcbiAgICBkaXNwbGF5OiBibG9jaztcbn1cblxuLm14X0ZpbHRlckRyb3Bkb3duX29wdGlvbkRlc2NyaXB0aW9uIHtcbiAgICBjb2xvcjogI2VkZjNmZjtcbiAgICBjb2xvcjogdmFyKC0tc2Vjb25kYXJ5LWNvbnRlbnQsICNlZGYzZmYpO1xuICAgIG1hcmdpbi10b3A6IDRweDtcbn1cblxuLypcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxuQ29weXJpZ2h0IDIwMjMgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cblxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuKi9cblxuLm14X0ZpbHRlclRhYkdyb3VwIHtcbiAgICBjb2xvcjogdmFyKC0tdGltZWxpbmUtdGV4dC1jb2xvcik7XG59XG5cbi5teF9GaWx0ZXJUYWJHcm91cCBsYWJlbCB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMTJweDtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIH1cblxuLm14X0ZpbHRlclRhYkdyb3VwIGxhYmVsIHNwYW4ge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuNXJlbTtcbiAgICAgICAgfVxuXG4ubXhfRmlsdGVyVGFiR3JvdXAgaW5wdXRbdHlwZT1cInJhZGlvXCJdIHtcbiAgICAgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgICAgICAgICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgICAgICAgICAgICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgIH1cblxuLm14X0ZpbHRlclRhYkdyb3VwIGlucHV0W3R5cGU9XCJyYWRpb1wiXTpmb2N1cyArIHNwYW4sIC5teF9GaWx0ZXJUYWJHcm91cCBpbnB1dFt0eXBlPVwicmFkaW9cIl06aG92ZXIgKyBzcGFuIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogI2VkZjNmZjtcbiAgICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tc2Vjb25kYXJ5LWNvbnRlbnQsICNlZGYzZmYpO1xuICAgICAgICAgICAgfVxuXG4ubXhfRmlsdGVyVGFiR3JvdXAgaW5wdXRbdHlwZT1cInJhZGlvXCJdOmNoZWNrZWQgKyBzcGFuIHtcbiAgICAgICAgICAgIGNvbG9yOiAjMGRiZDhiO1xuICAgICAgICAgICAgY29sb3I6IHZhcigtLWFjY2VudC1jb2xvciwgIzBkYmQ4Yik7XG4gICAgICAgICAgICBmb250LXdlaWdodDogdmFyKC0tY3BkLWZvbnQtd2VpZ2h0LXNlbWlib2xkKTtcbiAgICAgICAgICAgIC8qIHVuZGVybGluZSAqL1xuICAgICAgICAgICAgLXdlYmtpdC1ib3gtc2hhZG93OiAwIDEuNXB4IDAgMCBjdXJyZW50Q29sb3I7XG4gICAgICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgMS41cHggMCAwIGN1cnJlbnRDb2xvcjtcbiAgICAgICAgfVxuXG4vKlxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXG5Db3B5cmlnaHQgMjAyMiBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxuXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXG4qL1xuXG4ubXhfTGVhcm5Nb3JlX2J1dHRvbiB7XG4gICAgbWFyZ2luLWxlZnQ6IDRweDtcbn1cblxuLypcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxuQ29weXJpZ2h0IDIwMjIgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cblxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuKi9cblxuLm14X0VuYWJsZUxpdmVTaGFyZSB7XG4gICAgLXdlYmtpdC1ib3gtZmxleDogMTtcbiAgICAgICAgLW1zLWZsZXg6IDEgMSAwcHg7XG4gICAgICAgICAgICBmbGV4OiAxIDEgMDtcbiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWw7XG4gICAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiBub3JtYWw7XG4gICAgICAgIC1tcy1mbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAtd2Via2l0LWJveC1wYWNrOiBlbmQ7XG4gICAgICAgIC1tcy1mbGV4LXBhY2s6IGVuZDtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgICBwYWRkaW5nOiAzMnB4IDE2cHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG5cbi5teF9FbmFibGVMaXZlU2hhcmVfaGVhZGluZyB7XG4gICAgcGFkZGluZy10b3A6IDI0cHg7XG59XG5cbi5teF9FbmFibGVMaXZlU2hhcmVfaWNvbiB7XG4gICAgaGVpZ2h0OiA1OHB4O1xuICAgIHdpZHRoOiA1OHB4O1xufVxuXG4ubXhfRW5hYmxlTGl2ZVNoYXJlX2Rlc2NyaXB0aW9uIHtcbiAgICBwYWRkaW5nOiAwIDI0cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMzJweDtcbiAgICBsaW5lLWhlaWdodDogMS4yNXJlbTtcbn1cblxuLm14X0VuYWJsZUxpdmVTaGFyZV9idXR0b24ge1xuICAgIG1hcmdpbi10b3A6IDMycHg7XG4gICAgaGVpZ2h0OiA0OHB4O1xuICAgIHdpZHRoOiAxMDAlO1xufVxuXG4vKlxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXG5Db3B5cmlnaHQgMjAyMiBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxuXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXG4qL1xuXG4ubXhfTGl2ZUR1cmF0aW9uRHJvcGRvd24ge1xuICAgIG1hcmdpbi1ib3R0b206IDE2cHg7XG59XG5cbi8qXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cbkNvcHlyaWdodCAyMDIyIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXG5cblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cbiovXG5cbi5teF9Mb2NhdGlvblNoYXJlTWVudSB7XG4gICAgd2lkdGg6IDM3NXB4O1xuICAgIGhlaWdodDogNDYwcHg7XG4gICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gICAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xuICAgIC13ZWJraXQtYm94LWRpcmVjdGlvbjogbm9ybWFsO1xuICAgICAgICAtbXMtZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG59XG5cbi8qXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cbkNvcHlyaWdodCAyMDIyIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXG5cblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cbiovXG5cbi5teF9NYXBFcnJvciB7XG4gICAgcGFkZGluZzogMTAwcHggMzJweCAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgIC0tbXgtbWFwLWVycm9yLWljb24tY29sb3I6IHZhcigtLXNlY29uZGFyeS1jb250ZW50LCAjZWRmM2ZmKTtcbiAgICAtLW14LW1hcC1lcnJvci1pY29uLXNpemU6IDU4cHg7XG59XG5cbi5teF9NYXBFcnJvci5teF9NYXBFcnJvcl9pc01pbmltaXNlZCB7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gICAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xuICAgIC13ZWJraXQtYm94LWRpcmVjdGlvbjogbm9ybWFsO1xuICAgICAgICAtbXMtZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgLXdlYmtpdC1ib3gtcGFjazogY2VudGVyO1xuICAgICAgICAtbXMtZmxleC1wYWNrOiBjZW50ZXI7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO1xuICAgICAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgIHBhZGRpbmc6IDI0cHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcGFuZWxzLCB2YXIoLS1jcGQtY29sb3ItZ3JheS02MDApKTtcbiAgICBmb250LXNpemU6IDAuNzVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDFyZW07XG5cbiAgICAtLW14LW1hcC1lcnJvci1pY29uLWNvbG9yOiB2YXIoLS1hbGVydCwgI2ZmNWI1NSk7XG4gICAgLS1teC1tYXAtZXJyb3ItaWNvbi1zaXplOiAyNnB4O1xufVxuXG4ubXhfTWFwRXJyb3IubXhfTWFwRXJyb3JfaXNNaW5pbWlzZWQgLm14X01hcEVycm9yX21lc3NhZ2Uge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIG1heC13aWR0aDogMjc1cHg7XG4gICAgfVxuXG4ubXhfTWFwRXJyb3IubXhfTWFwRXJyb3JfaXNNaW5pbWlzZWQgLm14X01hcEVycm9yX2hlYWRpbmcge1xuICAgICAgICBwYWRkaW5nLXRvcDogOHB4O1xuICAgICAgICAvKiBvdmVycmlkZSBoMyBoZWFkaW5nIHNpemUgKi9cbiAgICAgICAgZm9udC1zaXplOiBpbmhlcml0ICFpbXBvcnRhbnQ7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWwgIWltcG9ydGFudDtcbiAgICB9XG5cbi5teF9NYXBFcnJvcl9tZXNzYWdlIHtcbiAgICBtYXJnaW46IDE2cHggMCAzMnB4O1xufVxuXG4ubXhfTWFwRXJyb3JfaGVhZGluZyB7XG4gICAgcGFkZGluZy10b3A6IDI0cHg7XG59XG5cbi5teF9NYXBFcnJvcl9pY29uIHtcbiAgICBoZWlnaHQ6IHZhcigtLW14LW1hcC1lcnJvci1pY29uLXNpemUpO1xuICAgIHdpZHRoOiB2YXIoLS1teC1tYXAtZXJyb3ItaWNvbi1zaXplKTtcbiAgICBjb2xvcjogdmFyKC0tbXgtbWFwLWVycm9yLWljb24tY29sb3IpO1xufVxuXG4vKlxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXG5Db3B5cmlnaHQgMjAyMiBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxuXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXG4qL1xuXG4ubXhfTWFwRmFsbGJhY2sge1xuICAgIC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gICAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xuICAgIC13ZWJraXQtYm94LWRpcmVjdGlvbjogbm9ybWFsO1xuICAgICAgICAtbXMtZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgLXdlYmtpdC1ib3gtcGFjazogY2VudGVyO1xuICAgICAgICAtbXMtZmxleC1wYWNrOiBjZW50ZXI7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO1xuICAgICAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMDtcblxuICAgIGJhY2tncm91bmQtY29sb3I6ICMyMTI2MmM7XG5cbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1zeXN0ZW0sICMyMTI2MmMpO1xufVxuXG4ubXhfTWFwRmFsbGJhY2tfYmcge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICBtaW4taGVpZ2h0OiAxMDAlO1xuICAgIG1pbi13aWR0aDogMTAwJTtcbiAgICBjb2xvcjogIzZmNzg4MjtcbiAgICBjb2xvcjogdmFyKC0tcXVpbmFyeS1jb250ZW50LCAjNmY3ODgyKTtcbiAgICB6LWluZGV4OiAtMTtcblxuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuXG4ubXhfTWFwRmFsbGJhY2tfaWNvbiB7XG4gICAgd2lkdGg6IDY1cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMTZweDtcbiAgICBjb2xvcjogIzZmNzg4MjtcbiAgICBjb2xvcjogdmFyKC0tcXVhdGVybmFyeS1jb250ZW50LCAjNmY3ODgyKTtcbn1cblxuLypcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxuQ29weXJpZ2h0IDIwMjIgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cblxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuKi9cblxuLm14X01hcmtlcl9kZWZhdWx0Q29sb3Ige1xuICAgIGNvbG9yOiAjMGRiZDhiO1xuICAgIGNvbG9yOiB2YXIoLS1hY2NlbnQtY29sb3IsICMwZGJkOGIpO1xufVxuXG4ubXhfTWFya2VyX2JvcmRlciB7XG4gICAgd2lkdGg6IDQycHg7XG4gICAgaGVpZ2h0OiA0MnB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAtd2Via2l0LWZpbHRlcjogZHJvcC1zaGFkb3coMHB4IDNweCA1cHggcmdiYSgwLCAwLCAwLCAwLjIpKTtcbiAgICAgICAgICAgIGZpbHRlcjogZHJvcC1zaGFkb3coMHB4IDNweCA1cHggcmdiYSgwLCAwLCAwLCAwLjIpKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjdXJyZW50Q29sb3I7XG5cbiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcblxuICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuXG4gICAgZGlzcGxheTogZmxleDtcbiAgICAtd2Via2l0LWJveC1wYWNrOiBjZW50ZXI7XG4gICAgICAgIC1tcy1mbGV4LXBhY2s6IGNlbnRlcjtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG4vKiBjYXJldCBkb3duICovXG5cbi5teF9NYXJrZXJfYm9yZGVyOjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBib3JkZXItbGVmdDogNXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICBib3JkZXItcmlnaHQ6IDVweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgYm9yZGVyLXRvcDogNXB4IHNvbGlkIGN1cnJlbnRDb2xvcjtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBib3R0b206IC00cHg7XG4gICAgfVxuXG4ubXhfTWFya2VyX2ljb24ge1xuICAgIGNvbG9yOiB3aGl0ZTtcbiAgICBoZWlnaHQ6IDIwcHg7XG59XG5cbi8qXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cbkNvcHlyaWdodCAyMDIyIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkNcblxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuKi9cblxuLm14X1NoYXJlRGlhbG9nQnV0dG9ucyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMDtcbiAgICB0b3A6IDA7XG59XG5cbi5teF9TaGFyZURpYWxvZ0J1dHRvbnNfYnV0dG9uIHtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgICAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xuICAgICAgICAgICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbjogMDtcbiAgICBmb250LXNpemU6IGluaGVyaXQ7XG4gICAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGhlaWdodDogMjRweDtcbiAgICB3aWR0aDogMjRweDtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzZmNzg4MjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1xdWluYXJ5LWNvbnRlbnQsICM2Zjc4ODIpO1xuICAgIG9wYWNpdHk6IDAuODtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgY29sb3I6ICNlZGYzZmY7XG4gICAgY29sb3I6IHZhcigtLXNlY29uZGFyeS1jb250ZW50LCAjZWRmM2ZmKTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAxNnB4O1xufVxuXG4ubXhfU2hhcmVEaWFsb2dCdXR0b25zX2J1dHRvbjpob3ZlcixcbiAgICAubXhfU2hhcmVEaWFsb2dCdXR0b25zX2J1dHRvbjpmb2N1cyB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxuXG4ubXhfU2hhcmVEaWFsb2dCdXR0b25zX2J1dHRvbi5sZWZ0IHtcbiAgICAgICAgbGVmdDogMTZweDtcbiAgICB9XG5cbi5teF9TaGFyZURpYWxvZ0J1dHRvbnNfYnV0dG9uLnJpZ2h0IHtcbiAgICAgICAgcmlnaHQ6IDE2cHg7XG4gICAgfVxuXG4ubXhfU2hhcmVEaWFsb2dCdXR0b25zX2J1dHRvbi1pY29uIHtcbiAgICB3aWR0aDogMjBweDtcbiAgICBoZWlnaHQ6IDIwcHg7XG4gICAgbWFyZ2luOiAycHg7XG59XG5cbi8qXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cbkNvcHlyaWdodCAyMDIyIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXG5cblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cbiovXG5cbi5teF9TaGFyZVR5cGUge1xuICAgIC13ZWJraXQtYm94LWZsZXg6IDE7XG4gICAgICAgIC1tcy1mbGV4OiAxO1xuICAgICAgICAgICAgZmxleDogMTtcbiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWw7XG4gICAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiBub3JtYWw7XG4gICAgICAgIC1tcy1mbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAtd2Via2l0LWJveC1wYWNrOiBzdGFydDtcbiAgICAgICAgLW1zLWZsZXgtcGFjazogc3RhcnQ7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgICBwYWRkaW5nOiA2MHB4IDEycHggMzJweDtcblxuICAgIGNvbG9yOiB2YXIoLS10aW1lbGluZS10ZXh0LWNvbG9yKTtcbn1cblxuLm14X1NoYXJlVHlwZSAubXhfU2hhcmVUeXBlX3dyYXBwZXJfb3B0aW9ucyB7XG4gICAgICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICAgICAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcbiAgICAgICAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiBub3JtYWw7XG4gICAgICAgICAgICAtbXMtZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICByb3ctZ2FwOiAxMnB4O1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWFyZ2luLXRvcDogMTJweDtcbiAgICB9XG5cbi5teF9TaGFyZVR5cGUgLm14X1NoYXJlVHlwZV93cmFwcGVyX29wdGlvbnMgLm14X1NoYXJlVHlwZV9vcHRpb24ge1xuICAgICAgICAgICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gICAgICAgICAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICAtd2Via2l0LWJveC1wYWNrOiBzdGFydDtcbiAgICAgICAgICAgICAgICAtbXMtZmxleC1wYWNrOiBzdGFydDtcbiAgICAgICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgICAgICAgcGFkZGluZzogOHB4IDIwcHg7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xuXG4gICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjNmY3ODgyO1xuXG4gICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1xdWluYXJ5LWNvbnRlbnQsICM2Zjc4ODIpO1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4O1xuXG4gICAgICAgICAgICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gICAgICAgICAgICBjb2xvcjogdmFyKC0tdGltZWxpbmUtdGV4dC1jb2xvcik7XG4gICAgICAgIH1cblxuLm14X1NoYXJlVHlwZSAubXhfU2hhcmVUeXBlX3dyYXBwZXJfb3B0aW9ucyAubXhfU2hhcmVUeXBlX29wdGlvbjpob3ZlcixcbiAgICAgICAgICAgIC5teF9TaGFyZVR5cGUgLm14X1NoYXJlVHlwZV93cmFwcGVyX29wdGlvbnMgLm14X1NoYXJlVHlwZV9vcHRpb246Zm9jdXMge1xuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogIzBkYmQ4YjtcbiAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6IHZhcigtLWFjY2VudC1jb2xvciwgIzBkYmQ4Yik7XG4gICAgICAgICAgICB9XG5cbi5teF9TaGFyZVR5cGVfYmFkZ2Uge1xuICAgIGhlaWdodDogNjBweDtcbiAgICB3aWR0aDogNjBweDtcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwZGJkOGI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYWNjZW50LWNvbG9yLCAjMGRiZDhiKTtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgYm9yZGVyOiAxNHB4IHNvbGlkICMwZGJkOGI7XG4gICAgYm9yZGVyOiAxNHB4IHNvbGlkIHZhcigtLWFjY2VudC1jb2xvciwgIzBkYmQ4Yik7XG4gICAgLyogY29sb3JzIGljb24gKi9cbiAgICBjb2xvcjogd2hpdGU7XG4gICAgLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbn1cblxuLm14X1NoYXJlVHlwZV9oZWFkaW5nIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMzJweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5teF9TaGFyZVR5cGVfb3B0aW9uLWljb24ge1xuICAgIGhlaWdodDogNDBweDtcbiAgICB3aWR0aDogNDBweDtcbiAgICAtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIG1hcmdpbi1yaWdodDogMTJweDtcbiAgICAtd2Via2l0LWJveC1mbGV4OiAwO1xuICAgICAgICAtbXMtZmxleDogMCAwIDQwcHg7XG4gICAgICAgICAgICBmbGV4OiAwIDAgNDBweDtcbiAgICBib3JkZXItd2lkdGg6IDJweDtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcblxuICAgIC8qIExpdmUgaXMgc3R5bGVkIGJ5IFN0eWxlZExpdmVCZWFjb25JY29uICovXG59XG5cbi5teF9TaGFyZVR5cGVfb3B0aW9uLWljb24uT3duIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjMGRiZDhiO1xuICAgICAgICBib3JkZXItY29sb3I6IHZhcigtLWFjY2VudC1jb2xvciwgIzBkYmQ4Yik7XG4gICAgfVxuXG4ubXhfU2hhcmVUeXBlX29wdGlvbi1pY29uLlBpbiB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogIzBkYmQ4YjtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1hY2NlbnQtY29sb3IsICMwZGJkOGIpO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMGRiZDhiO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1hY2NlbnQtY29sb3IsICMwZGJkOGIpO1xuICAgICAgICBwYWRkaW5nOiA3cHg7XG4gICAgICAgIC8qIGNvbG9ycyBpY29uICovXG4gICAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICB9XG5cbi8qXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cbkNvcHlyaWdodCAyMDIyIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXG5cblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cbiovXG5cbi5teF9ab29tQnV0dG9ucyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogMzJweDtcbiAgICByaWdodDogMjRweDtcbiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWw7XG4gICAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiBub3JtYWw7XG4gICAgICAgIC1tcy1mbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICByb3ctZ2FwOiA4cHg7XG59XG5cbi5teF9ab29tQnV0dG9ucyAubXhfWm9vbUJ1dHRvbnNfYnV0dG9uIHtcblxuICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICAgICAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgLXdlYmtpdC1ib3gtcGFjazogY2VudGVyO1xuICAgICAgICAgICAgLW1zLWZsZXgtcGFjazogY2VudGVyO1xuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBoZWlnaHQ6IDI0cHg7XG4gICAgICAgIHdpZHRoOiAyNHB4O1xuICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS10aW1lbGluZS1iYWNrZ3JvdW5kLWNvbG9yKTtcbiAgICAgICAgLXdlYmtpdC1ib3gtc2hhZG93OiAwcHggNHB4IDEycHggcmdiYSgwLCAwLCAwLCAwLjI1KTtcbiAgICAgICAgICAgICAgICBib3gtc2hhZG93OiAwcHggNHB4IDEycHggcmdiYSgwLCAwLCAwLCAwLjI1KTtcbiAgICB9XG5cbi5teF9ab29tQnV0dG9ucyAubXhfWm9vbUJ1dHRvbnNfYnV0dG9uIC5teF9ab29tQnV0dG9uc19pY29uIHtcblxuICAgICAgICAgICAgaGVpZ2h0OiAxMnB4O1xuICAgICAgICAgICAgd2lkdGg6IDEycHg7XG4gICAgICAgICAgICBjb2xvcjogdmFyKC0tdGltZWxpbmUtdGV4dC1jb2xvcik7XG4gICAgICAgIH1cblxuLypcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxuQ29weXJpZ2h0IDIwMjIgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cblxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuKi9cblxuLm14X01CZWFjb25Cb2R5IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgaGVpZ2h0OiAyMjBweDtcbiAgICBtYXgtd2lkdGg6IDMyNXB4O1xuICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgYm9yZGVyLXJhZGl1czogOHB4O1xuXG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tTUJvZHktYm9yZGVyLXJhZGl1cyk7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLm14X01CZWFjb25Cb2R5Lm14X01CZWFjb25Cb2R5X3dpdGhvdXRNYXAge1xuICAgIGhlaWdodDogYXV0bztcbn1cblxuLm14X01CZWFjb25Cb2R5Lm14X01CZWFjb25Cb2R5X3dpdGhvdXRNYXAgLm14X01CZWFjb25Cb2R5X2NoaW4ge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIH1cblxuLm14X01CZWFjb25Cb2R5X3dpdGhvdXRNYXBDb250ZW50IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wYW5lbHMsIHZhcigtLWNwZC1jb2xvci1ncmF5LTYwMCkpO1xuICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbn1cblxuLm14X01CZWFjb25Cb2R5X3dpdGhvdXRNYXBJbmZvTGFzdFVwZGF0ZWQge1xuICAgIC8qIDQ4cHggbGluZXMgdXAgd2l0aCBpY29uIGluIEJlYWNvblN0YXR1cyAqL1xuICAgIG1hcmdpbi10b3A6IC04cHg7XG4gICAgcGFkZGluZzogMCA4cHggOHB4IDQ4cHg7XG5cbiAgICBjb2xvcjogI2VkZjNmZjtcblxuICAgIGNvbG9yOiB2YXIoLS10ZXJ0aWFyeS1jb250ZW50LCAjZWRmM2ZmKTtcbiAgICBmb250LXNpemU6IDAuNjI1cmVtO1xufVxuXG4ubXhfTUJlYWNvbkJvZHlfbWFwIHtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgei1pbmRleDogMDsgLyoga2VlcHMgdGhlIGVudGlyZSBtYXAgdW5kZXIgdGhlIG1lc3NhZ2UgYWN0aW9uIGJhcnMgKi9cblxuICAgIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLm14X01CZWFjb25Cb2R5X21hcEZhbGxiYWNrLFxuLm14X01CZWFjb25Cb2R5X21hcEVycm9yIHtcbiAgICAvKiBwdXNoZXMgc3Bpbm5lci9pY29uIHVwICovXG4gICAgLyogdG8gYXBwZWFyIG1vcmUgY2VudGVyZWQgd2l0aCB0aGUgZm9vdGVyICovXG4gICAgcGFkZGluZy1ib3R0b206IDUwcHggIWltcG9ydGFudDtcbn1cblxuLm14X01CZWFjb25Cb2R5X21hcEVycm9ySW50ZXJhY3RpdmUge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLm14X01CZWFjb25Cb2R5X21hcEZhbGxiYWNrIHtcbiAgICBjdXJzb3I6IGRlZmF1bHQ7XG59XG5cbi5teF9NQmVhY29uQm9keV9jaGluIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNwZC1jb2xvci1iZy1jYW52YXMtZGVmYXVsdCk7XG4gICAgb3BhY2l0eTogMC44NTtcbn1cblxuLm14X0V2ZW50VGlsZVtkYXRhLWxheW91dD1cImJ1YmJsZVwiXSAubXhfRXZlbnRUaWxlX2xpbmUgLm14X01CZWFjb25Cb2R5IHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgd2lkdGg6IDQ1MHB4O1xufVxuXG4ubXhfUmVwbHlUaWxlIC5teF9NQmVhY29uQm9keSB7XG4gICAgLyogUHJldmVudCBjbGlja2luZyBhIGJlYWNvbiB3aXRoaW4gYSByZXBseSAqL1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuXG4vKlxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXG5Db3B5cmlnaHQgMjAyMiBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxuXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXG4qL1xuXG4ubXhfTWVkaWFQcm9jZXNzaW5nRXJyb3JfSWNvbiB7XG4gICAgbWFyZ2luLXJpZ2h0OiA0cHg7XG4gICAgdmVydGljYWwtYWxpZ246IHRleHQtdG9wO1xufVxuXG4vKlxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXG5Db3B5cmlnaHQgMjAyMiBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxuXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXG4qL1xuXG4ubXhfV2lkZ2V0UGlwIHtcbiAgICB3aWR0aDogMzIwcHg7XG4gICAgaGVpZ2h0OiAyMjBweDtcbn1cblxuLm14X1dpZGdldFBpcF9vdmVybGF5IHtcbiAgICB3aWR0aDogMzIwcHg7XG4gICAgaGVpZ2h0OiAyMjBweDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGNvbG9yOiAjZWRmM2ZmO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLm14X1dpZGdldFBpcF9oZWFkZXIsXG4ubXhfV2lkZ2V0UGlwX2Zvb3RlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDA7XG4gICAgaGVpZ2h0OiA2MHB4O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiBvcGFjaXR5IGVhc2UgMC4xNXM7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSBlYXNlIDAuMTVzO1xufVxuXG4ubXhfV2lkZ2V0UGlwX292ZXJsYXk6bm90KDpob3ZlcikgLm14X1dpZGdldFBpcF9oZWFkZXIsXG4gICAgLm14X1dpZGdldFBpcF9vdmVybGF5Om5vdCg6aG92ZXIpIC5teF9XaWRnZXRQaXBfZm9vdGVyIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICB9XG5cbi5teF9XaWRnZXRQaXBfaGVhZGVyIHtcbiAgICB0b3A6IDA7XG4gICAgcGFkZGluZzogMTJweDtcbiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgICBmb250LXdlaWdodDogdmFyKC0tY3BkLWZvbnQtd2VpZ2h0LXNlbWlib2xkKTtcbiAgICBiYWNrZ3JvdW5kOiAtd2Via2l0LWdyYWRpZW50KGxpbmVhciwgbGVmdCB0b3AsIGxlZnQgYm90dG9tLCBmcm9tKHJnYmEoMCwgMCwgMCwgMC45KSksIHRvKHJnYmEoMCwgMCwgMCwgMCkpKTtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQocmdiYSgwLCAwLCAwLCAwLjkpLCByZ2JhKDAsIDAsIDAsIDApKTtcbn1cblxuLm14X1dpZGdldFBpcF9iYWNrQnV0dG9uIHtcbiAgICBoZWlnaHQ6IDI0cHg7XG4gICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gICAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO1xuICAgICAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IDEycHg7XG59XG5cbi5teF9XaWRnZXRQaXBfYmFja0J1dHRvbiA+IC5teF9JY29uIHtcbiAgICAgICAgY29sb3I6ICNjMWM2Y2Q7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuXG4ubXhfV2lkZ2V0UGlwX2Zvb3RlciB7XG4gICAgYm90dG9tOiAwO1xuICAgIHBhZGRpbmc6IDEycHggOHB4O1xuICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgLXdlYmtpdC1ib3gtcGFjazogZW5kO1xuICAgICAgICAtbXMtZmxleC1wYWNrOiBlbmQ7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgIC13ZWJraXQtYm94LWFsaWduOiBlbmQ7XG4gICAgICAgIC1tcy1mbGV4LWFsaWduOiBlbmQ7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG4gICAgYmFja2dyb3VuZDogLXdlYmtpdC1ncmFkaWVudChsaW5lYXIsIGxlZnQgdG9wLCBsZWZ0IGJvdHRvbSwgZnJvbShyZ2JhKDAsIDAsIDAsIDApKSwgdG8ocmdiYSgwLCAwLCAwLCAwLjkpKSk7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHJnYmEoMCwgMCwgMCwgMCksIHJnYmEoMCwgMCwgMCwgMC45KSk7XG59XG5cbi8qXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cbkNvcHlyaWdodCAyMDIzIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXG5cblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cbiovXG5cbi5teF9Qb2xsT3B0aW9uIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjNmY3ODgyO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLXF1aW5hcnktY29udGVudCwgIzZmNzg4Mik7XG4gICAgYm9yZGVyLXJhZGl1czogOHB4O1xuICAgIHBhZGRpbmc6IDZweCAxMnB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXRpbWVsaW5lLWJhY2tncm91bmQtY29sb3IpO1xufVxuXG4ubXhfUG9sbE9wdGlvbiAubXhfU3R5bGVkUmFkaW9CdXR0b25fY29udGVudCxcbiAgICAubXhfUG9sbE9wdGlvbiAubXhfUG9sbE9wdGlvbl9lbmRlZE9wdGlvbiB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAycHg7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMHB4O1xuICAgIH1cblxuLm14X1BvbGxPcHRpb24gLm14X1N0eWxlZFJhZGlvQnV0dG9uX3NwYWNlciB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4ubXhfUG9sbE9wdGlvbixcbi8qIGxhYmVsIGhhcyBjdXJzb3I6IGRlZmF1bHQgaW4gdXNlci1hZ2VudCBzdHlsZXNoZWV0ICovXG4vKiBvdmVycmlkZSAqL1xuLm14X1BvbGxPcHRpb25fbGl2ZS1vcHRpb24ge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLm14X1BvbGxPcHRpb25fY29udGVudCB7XG4gICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gICAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICAtd2Via2l0LWJveC1wYWNrOiBqdXN0aWZ5O1xuICAgICAgICAtbXMtZmxleC1wYWNrOiBqdXN0aWZ5O1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xufVxuXG4ubXhfUG9sbE9wdGlvbl9vcHRpb25Wb3RlQ291bnQge1xuICAgIGNvbG9yOiAjZWRmM2ZmO1xuICAgIGNvbG9yOiB2YXIoLS1zZWNvbmRhcnktY29udGVudCwgI2VkZjNmZik7XG4gICAgZm9udC1zaXplOiAwLjc1cmVtO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi5teF9Qb2xsT3B0aW9uX3dpbm5lckljb24ge1xuICAgIGhlaWdodDogMTJweDtcbiAgICB3aWR0aDogMTJweDtcbiAgICBjb2xvcjogdmFyKC0tY3BkLWNvbG9yLWljb24tYWNjZW50LXRlcnRpYXJ5KTtcbiAgICBtYXJnaW4tcmlnaHQ6IDRweDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuXG4ubXhfUG9sbE9wdGlvbl9jaGVja2VkIHtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLWNwZC1jb2xvci1ib3JkZXItaW50ZXJhY3RpdmUtaG92ZXJlZCk7XG59XG5cbi5teF9Qb2xsT3B0aW9uX2NoZWNrZWQgLm14X1BvbGxPcHRpb25fcG9wdWxhcml0eUJhY2tncm91bmQgLm14X1BvbGxPcHRpb25fcG9wdWxhcml0eUFtb3VudCB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jcGQtY29sb3ItaWNvbi1hY2NlbnQtdGVydGlhcnkpO1xuICAgICAgICB9XG5cbi8qIG92ZXJyaWRlIGNoZWNrZWQgcmFkaW8gYnV0dG9uIHN0eWxpbmcgdG8gc2hvdyBjaGVja21hcmsgaW5zdGVhZCAqL1xuXG4ubXhfUG9sbE9wdGlvbl9jaGVja2VkIC5teF9TdHlsZWRSYWRpb0J1dHRvbl9jaGVja2VkIGlucHV0W3R5cGU9XCJyYWRpb1wiXTpjaGVja2VkICsgZGl2IHtcbiAgICAgICAgICAgIGJvcmRlci13aWR0aDogMnB4O1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jcGQtY29sb3ItaWNvbi1hY2NlbnQtdGVydGlhcnkpO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY3BkLWNvbG9yLWljb24tYWNjZW50LXRlcnRpYXJ5KTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIkB2ZWN0b3ItaW0vY29tcG91bmQtZGVzaWduLXRva2Vucy9pY29ucy9jaGVjay5zdmdcIik7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDEycHg7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgICB9XG5cbi5teF9Qb2xsT3B0aW9uX2NoZWNrZWQgLm14X1N0eWxlZFJhZGlvQnV0dG9uX2NoZWNrZWQgaW5wdXRbdHlwZT1cInJhZGlvXCJdOmNoZWNrZWQgKyBkaXYgZGl2IHtcbiAgICAgICAgICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgICAgICAgICB9XG5cbi8qIG9wdGlvbnMgbm90IGFjdGlvbmFibGUgaW4gdGhlc2Ugc3RhdGVzICovXG5cbi5teF9Qb2xsT3B0aW9uX2NoZWNrZWQsXG4ubXhfUG9sbE9wdGlvbl9lbmRlZCB7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5cbi5teF9Qb2xsT3B0aW9uX3BvcHVsYXJpdHlCYWNrZ3JvdW5kIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDhweDtcbiAgICBtYXJnaW4tcmlnaHQ6IDEycHg7XG4gICAgYm9yZGVyLXJhZGl1czogOHB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMyMTI2MmM7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tc3lzdGVtLCAjMjEyNjJjKTtcbiAgICBtYXJnaW4tdG9wOiA4cHg7XG59XG5cbi5teF9Qb2xsT3B0aW9uX3BvcHVsYXJpdHlCYWNrZ3JvdW5kIC5teF9Qb2xsT3B0aW9uX3BvcHVsYXJpdHlBbW91bnQge1xuICAgICAgICB3aWR0aDogMCU7XG4gICAgICAgIGhlaWdodDogOHB4O1xuICAgICAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICM2Zjc4ODI7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXF1YXRlcm5hcnktY29udGVudCwgIzZmNzg4Mik7XG4gICAgfVxuXG4vKlxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXG5Db3B5cmlnaHQgMjAyNCBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxuQ29weXJpZ2h0IDIwMTkgTmV3IFZlY3RvciBMdGRcblxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuKi9cblxuLypcbiAqIFRoZXNlIHVzZWQgdG8gbGl2ZSBpbiBHZW5lcmFsIFVzZXIgU2V0dGluZ3MuIFRoZXNlIGNvbXBvbmVudHMgYXJlIGhvcnJpYmx5IGR1cGxpY2F0aXZlXG4gKiBidXQgc2hhcmUgdGhlIHNhbWUgc3R5bGVzLiBGb3Igbm93IEknbSBwdXR0aW5nIHRoZW0gaGVyZSBzbyBJIGNhbiByZW5hbWVkIHRoZSBnZW5lcmFsXG4gKiB0YWIgc2Vuc2libHkgYW5kIGJlZm9yZSBJIGNhbiByZWZhY3RvciB0aGVzZSBjb21wb25lbnRzLlxuICovXG5cbi5teF9BZGRSZW1vdmVUaHJlZXBpZHNfZXhpc3Rpbmcge1xuICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbi5teF9BZGRSZW1vdmVUaHJlZXBpZHNfZXhpc3RpbmdfYWRkcmVzcyxcbi5teF9BZGRSZW1vdmVUaHJlZXBpZHNfZXhpc3RpbmdfcHJvbXB0VGV4dCB7XG4gICAgLXdlYmtpdC1ib3gtZmxleDogMTtcbiAgICAgICAgLW1zLWZsZXg6IDE7XG4gICAgICAgICAgICBmbGV4OiAxO1xuICAgIG1hcmdpbi1yaWdodDogMTBweDtcbn1cblxuLm14X0FkZFJlbW92ZVRocmVlcGlkc19leGlzdGluZ19idXR0b24ge1xuICAgIG1hcmdpbi1sZWZ0OiA1cHg7XG59XG5cbi5teF9FbWFpbEFkZHJlc3Nlc1Bob25lTnVtYmVyc192ZXJpZnkge1xuICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICAgIGRpc3BsYXk6IGZsZXg7XG59XG5cbi5teF9FbWFpbEFkZHJlc3Nlc1Bob25lTnVtYmVyc19leGlzdGluZ19idXR0b24ge1xuICAgIC13ZWJraXQtYm94LXBhY2s6IHJpZ2h0O1xuICAgICAgICAtbXMtZmxleC1wYWNrOiByaWdodDtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogcmlnaHQ7XG59XG5cbi5teF9FbWFpbEFkZHJlc3Nlc1Bob25lTnVtYmVyc192ZXJpZnlfaW5zdHJ1Y3Rpb25zIHtcbiAgICAtd2Via2l0LWJveC1mbGV4OiAxO1xuICAgICAgICAtbXMtZmxleDogMTtcbiAgICAgICAgICAgIGZsZXg6IDE7XG59XG5cbi8qXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cbkNvcHlyaWdodCAyMDIyIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXG5cblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cbiovXG5cbi5teF9DdXJyZW50RGV2aWNlU2VjdGlvbl9kZXZpY2VEZXRhaWxzIHtcbiAgICAvKiBhbGlnbiB3aXRoIHRleHQgb2Ygc2Vzc2lvbiB0aWxlICovXG4gICAgbWFyZ2luLWxlZnQ6IDU2cHg7XG59XG5cbi8qXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cbkNvcHlyaWdodCAyMDIyIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXG5cblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cbiovXG5cbi5teF9EZXZpY2VEZXRhaWxIZWFkaW5nIHtcbiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIC13ZWJraXQtYm94LW9yaWVudDogaG9yaXpvbnRhbDtcbiAgICAtd2Via2l0LWJveC1kaXJlY3Rpb246IG5vcm1hbDtcbiAgICAgICAgLW1zLWZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIC13ZWJraXQtYm94LXBhY2s6IGp1c3RpZnk7XG4gICAgICAgIC1tcy1mbGV4LXBhY2s6IGp1c3RpZnk7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbi5teF9EZXZpY2VEZXRhaWxIZWFkaW5nX3JlbmFtZUN0YSB7XG4gICAgLW1zLWZsZXgtbmVnYXRpdmU6IDA7XG4gICAgICAgIGZsZXgtc2hyaW5rOiAwO1xufVxuXG4ubXhfRGV2aWNlRGV0YWlsSGVhZGluZ19yZW5hbWVGb3JtIHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtZ2FwOiAxNnB4O1xuICAgIC13ZWJraXQtYm94LXBhY2s6IGxlZnQ7XG4gICAgICAgIC1tcy1mbGV4LXBhY2s6IGxlZnQ7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGxlZnQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxMDAlO1xufVxuXG4ubXhfRGV2aWNlRGV0YWlsSGVhZGluZ19yZW5hbWVGb3JtQnV0dG9ucyB7XG4gICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gICAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICAtd2Via2l0LWJveC1vcmllbnQ6IGhvcml6b250YWw7XG4gICAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiBub3JtYWw7XG4gICAgICAgIC1tcy1mbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBnYXA6IDhweDtcbn1cblxuLm14X0RldmljZURldGFpbEhlYWRpbmdfcmVuYW1lRm9ybUJ1dHRvbnMgLm14X1NwaW5uZXIge1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgLXdlYmtpdC1ib3gtZmxleDogMDtcbiAgICAgICAgICAgIC1tcy1mbGV4LXBvc2l0aXZlOiAwO1xuICAgICAgICAgICAgICAgIGZsZXgtZ3JvdzogMDtcbiAgICB9XG5cbi5teF9EZXZpY2VEZXRhaWxIZWFkaW5nX3JlbmFtZUZvcm1JbnB1dCB7XG4gICAgLyogb3ZlcnJpZGUgZmllbGQgc3R5bGVzICovXG4gICAgbWFyZ2luOiAwIDAgNHB4IDAgIWltcG9ydGFudDtcbn1cblxuLm14X0RldmljZURldGFpbEhlYWRpbmdfcmVuYW1lRm9ybUhlYWRpbmcge1xuICAgIG1hcmdpbjogMDtcbn1cblxuLm14X0RldmljZURldGFpbEhlYWRpbmdfcmVuYW1lRm9ybUVycm9yIHtcbiAgICBjb2xvcjogI2ZmNWI1NTtcbiAgICBjb2xvcjogdmFyKC0tYWxlcnQsICNmZjViNTUpO1xuICAgIHBhZGRpbmctcmlnaHQ6IDRweDtcbiAgICBkaXNwbGF5OiBibG9jaztcbn1cblxuLypcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxuQ29weXJpZ2h0IDIwMjIgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cblxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuKi9cblxuLm14X0RldmljZURldGFpbHMge1xuICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcbiAgICAtd2Via2l0LWJveC1kaXJlY3Rpb246IG5vcm1hbDtcbiAgICAgICAgLW1zLWZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG5cbiAgICBtYXJnaW4tdG9wOiAxNnB4O1xuICAgIHBhZGRpbmc6IDI0cHg7XG4gICAgYm9yZGVyLXJhZGl1czogOHB4O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICM2Zjc4ODI7XG4gICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tcXVpbmFyeS1jb250ZW50LCAjNmY3ODgyKTtcbn1cblxuLm14X0RldmljZURldGFpbHNfc2VjdGlvbiB7XG4gICAgcGFkZGluZy1ib3R0b206IDIwcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzZmNzg4MjtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tcXVpbmFyeS1jb250ZW50LCAjNmY3ODgyKTtcblxuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC1nYXA6IDI0cHg7XG4gICAgLXdlYmtpdC1ib3gtcGFjazogbGVmdDtcbiAgICAgICAgLW1zLWZsZXgtcGFjazogbGVmdDtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogbGVmdDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDEwMCU7XG59XG5cbi5teF9EZXZpY2VEZXRhaWxzX3NlY3Rpb246bGFzdC1jaGlsZCB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgICAgICBib3JkZXItYm90dG9tOiAwO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cblxuLm14X0RldmljZURldGFpbHNfc2VjdGlvbkhlYWRpbmcge1xuICAgIG1hcmdpbjogMDtcbn1cblxuLm14X0RldmljZURldGFpbHNfc2VjdGlvbkhlYWRpbmcgLm14X0RldmljZURldGFpbHNfc2VjdGlvblN1YmhlYWRpbmcge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgZm9udC1zaXplOiAwLjc1cmVtO1xuICAgICAgICBjb2xvcjogI2VkZjNmZjtcbiAgICAgICAgY29sb3I6IHZhcigtLXNlY29uZGFyeS1jb250ZW50LCAjZWRmM2ZmKTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDAuODc1cmVtO1xuICAgICAgICBtYXJnaW4tdG9wOiA0cHg7XG4gICAgfVxuXG4ubXhfRGV2aWNlRGV0YWlsc19tZXRhZGF0YVRhYmxlIHtcbiAgICBmb250OiB2YXIoLS1jcGQtZm9udC1ib2R5LXNtLXJlZ3VsYXIpO1xuICAgIGNvbG9yOiAjZWRmM2ZmO1xuICAgIGNvbG9yOiB2YXIoLS1zZWNvbmRhcnktY29udGVudCwgI2VkZjNmZik7XG5cbiAgICB3aWR0aDogMTAwJTtcblxuICAgIGJvcmRlci1zcGFjaW5nOiAwO1xufVxuXG4ubXhfRGV2aWNlRGV0YWlsc19tZXRhZGF0YVRhYmxlIHRoIHtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICB9XG5cbi5teF9EZXZpY2VEZXRhaWxzX21ldGFkYXRhVGFibGUgdGQge1xuICAgICAgICBwYWRkaW5nLXRvcDogOHB4O1xuICAgIH1cblxuLm14X0RldmljZURldGFpbHNfbWV0YWRhdGFUYWJsZSAubXhEZXZpY2VEZXRhaWxzX21ldGFkYXRhTGFiZWwge1xuICAgICAgICB3aWR0aDogMTYwcHg7XG4gICAgfVxuXG4ubXhfRGV2aWNlRGV0YWlsc19tZXRhZGF0YVRhYmxlIC5teERldmljZURldGFpbHNfbWV0YWRhdGFWYWx1ZSB7XG4gICAgICAgIGNvbG9yOiB2YXIoLS10aW1lbGluZS10ZXh0LWNvbG9yKTtcbiAgICB9XG5cbi5teF9EZXZpY2VEZXRhaWxzX3NpZ25PdXRCdXR0b25Db250ZW50IHtcbiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIC13ZWJraXQtYm94LW9yaWVudDogaG9yaXpvbnRhbDtcbiAgICAtd2Via2l0LWJveC1kaXJlY3Rpb246IG5vcm1hbDtcbiAgICAgICAgLW1zLWZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogNHB4O1xufVxuXG4ubXhfRGV2aWNlRGV0YWlsc19wdXNoTm90aWZpY2F0aW9ucyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5teF9EZXZpY2VEZXRhaWxzX3B1c2hOb3RpZmljYXRpb25zIC5teF9Ub2dnbGVTd2l0Y2gge1xuICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgfVxuXG4vKlxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXG5Db3B5cmlnaHQgMjAyMiBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxuXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXG4qL1xuXG4ubXhfRGV2aWNlRXhwYW5kRGV0YWlsc0J1dHRvbiB7XG4gICAgaGVpZ2h0OiAzMnB4O1xuICAgIHdpZHRoOiAzMnB4O1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuXG4gICAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAgIGNvbG9yOiB2YXIoLS1pY29uLWJ1dHRvbi1jb2xvciwgdmFyKC0tY3BkLWNvbG9yLWljb24tdGVydGlhcnkpKTtcblxuICAgIC0taWNvbi10cmFuc2Zvcm06IHJvdGF0ZSgtOTBkZWcpO1xufVxuXG4ubXhfRGV2aWNlRXhwYW5kRGV0YWlsc0J1dHRvbjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQ6ICM2Zjc4ODI7XG4gICAgICAgIGJhY2tncm91bmQ6IHZhcigtLXF1aW5hcnktY29udGVudCwgIzZmNzg4Mik7XG4gICAgfVxuXG4ubXhfRGV2aWNlRXhwYW5kRGV0YWlsc0J1dHRvbi5teF9EZXZpY2VFeHBhbmREZXRhaWxzQnV0dG9uX2V4cGFuZGVkIHtcbiAgICAtLWljb24tdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG5cbiAgICBiYWNrZ3JvdW5kOiAjMjEyNjJjO1xuXG4gICAgYmFja2dyb3VuZDogdmFyKC0tc3lzdGVtLCAjMjEyNjJjKTtcbn1cblxuLm14X0RldmljZUV4cGFuZERldGFpbHNCdXR0b24ubXhfRGV2aWNlRXhwYW5kRGV0YWlsc0J1dHRvbl9leHBhbmRlZDpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQ6ICM2Zjc4ODI7XG4gICAgICAgIGJhY2tncm91bmQ6IHZhcigtLXF1aW5hcnktY29udGVudCwgIzZmNzg4Mik7XG4gICAgfVxuXG4ubXhfRGV2aWNlRXhwYW5kRGV0YWlsc0J1dHRvbl9pY29uIHtcbiAgICBoZWlnaHQ6IDI0cHg7XG4gICAgd2lkdGg6IDI0cHg7XG5cbiAgICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAwLjNzO1xuXG4gICAgdHJhbnNpdGlvbjogYWxsIDAuM3M7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHZhcigtLWljb24tdHJhbnNmb3JtKTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdmFyKC0taWNvbi10cmFuc2Zvcm0pO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xuICAgICAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xufVxuXG4vKlxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXG5Db3B5cmlnaHQgMjAyMiBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxuXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXG4qL1xuXG4ubXhfRGV2aWNlU2VjdXJpdHlDYXJkIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIC13ZWJraXQtYm94LW9yaWVudDogaG9yaXpvbnRhbDtcbiAgICAtd2Via2l0LWJveC1kaXJlY3Rpb246IG5vcm1hbDtcbiAgICAgICAgLW1zLWZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIC13ZWJraXQtYm94LWFsaWduOiBzdGFydDtcbiAgICAgICAgLW1zLWZsZXgtYWxpZ246IHN0YXJ0O1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcblxuICAgIHBhZGRpbmc6IDE2cHg7XG5cbiAgICBib3JkZXI6IDFweCBzb2xpZCAjNmY3ODgyO1xuXG4gICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tcXVpbmFyeS1jb250ZW50LCAjNmY3ODgyKTtcbiAgICBib3JkZXItcmFkaXVzOiA4cHg7XG59XG5cbi5teF9EZXZpY2VTZWN1cml0eUNhcmRfaWNvbiB7XG4gICAgLXdlYmtpdC1ib3gtZmxleDogMDtcbiAgICAgICAgLW1zLWZsZXg6IDAgMCA0MHB4O1xuICAgICAgICAgICAgZmxleDogMCAwIDQwcHg7XG4gICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gICAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO1xuICAgICAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAtd2Via2l0LWJveC1wYWNrOiBjZW50ZXI7XG4gICAgICAgIC1tcy1mbGV4LXBhY2s6IGNlbnRlcjtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIG1hcmdpbi1yaWdodDogMTZweDtcbiAgICBib3JkZXItcmFkaXVzOiA4cHg7XG5cbiAgICBoZWlnaHQ6IDQwcHg7XG4gICAgd2lkdGg6IDQwcHg7XG5cbiAgICBjb2xvcjogdmFyKC0taWNvbi1jb2xvcik7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1jb2xvcik7XG59XG5cbi5teF9EZXZpY2VTZWN1cml0eUNhcmRfaWNvbi5WZXJpZmllZCB7XG4gICAgICAgIC0taWNvbi1jb2xvcjogIzBkYmQ4YjtcbiAgICAgICAgLS1iYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jcGQtY29sb3ItZ3JlZW4tMzAwKTtcbiAgICB9XG5cbi5teF9EZXZpY2VTZWN1cml0eUNhcmRfaWNvbi5VbnZlcmlmaWVkIHtcbiAgICAgICAgLS1pY29uLWNvbG9yOiAjZmY1YjU1O1xuICAgICAgICAtLWJhY2tncm91bmQtY29sb3I6IHZhcigtLWNwZC1jb2xvci1yZWQtMzAwKTtcbiAgICB9XG5cbi5teF9EZXZpY2VTZWN1cml0eUNhcmRfaWNvbi5JbmFjdGl2ZSB7XG4gICAgICAgIC0taWNvbi1jb2xvcjogdmFyKC0tc2Vjb25kYXJ5LWNvbnRlbnQsICNlZGYzZmYpO1xuICAgICAgICAtLWJhY2tncm91bmQtY29sb3I6IHZhcigtLXBhbmVscywgdmFyKC0tY3BkLWNvbG9yLWdyYXktNjAwKSk7XG4gICAgfVxuXG4ubXhfRGV2aWNlU2VjdXJpdHlDYXJkX2NvbnRlbnQge1xuICAgIC13ZWJraXQtYm94LWZsZXg6IDE7XG4gICAgICAgIC1tcy1mbGV4OiAxIDE7XG4gICAgICAgICAgICBmbGV4OiAxIDE7XG59XG5cbi5teF9EZXZpY2VTZWN1cml0eUNhcmRfaGVhZGluZyB7XG4gICAgbWFyZ2luOiAwIDAgNHB4IDA7XG59XG5cbi5teF9EZXZpY2VTZWN1cml0eUNhcmRfZGVzY3JpcHRpb24ge1xuICAgIG1hcmdpbjogMDtcbiAgICBmb250OiB2YXIoLS1jcGQtZm9udC1ib2R5LXNtLXJlZ3VsYXIpO1xuICAgIGNvbG9yOiAjZWRmM2ZmO1xuICAgIGNvbG9yOiB2YXIoLS1zZWNvbmRhcnktY29udGVudCwgI2VkZjNmZik7XG59XG5cbi5teF9EZXZpY2VTZWN1cml0eUNhcmRfYWN0aW9ucyB7XG4gICAgbWFyZ2luLXRvcDogMTZweDtcbn1cblxuLypcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxuQ29weXJpZ2h0IDIwMjIgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cblxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuKi9cblxuLm14X0RldmljZVRpbGUge1xuICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgLXdlYmtpdC1ib3gtb3JpZW50OiBob3Jpem9udGFsO1xuICAgIC13ZWJraXQtYm94LWRpcmVjdGlvbjogbm9ybWFsO1xuICAgICAgICAtbXMtZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgd2lkdGg6IDEwMCU7XG59XG5cbi5teF9EZXZpY2VUaWxlX2ludGVyYWN0aXZlIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi5teF9EZXZpY2VUaWxlX2luZm8ge1xuICAgIC13ZWJraXQtYm94LWZsZXg6IDE7XG4gICAgICAgIC1tcy1mbGV4OiAxIDEgMHB4O1xuICAgICAgICAgICAgZmxleDogMSAxIDA7XG59XG5cbi5teF9EZXZpY2VUaWxlX21ldGFkYXRhIHtcbiAgICBtYXJnaW4tdG9wOiA0cHg7XG4gICAgZm9udDogdmFyKC0tY3BkLWZvbnQtYm9keS1zbS1yZWd1bGFyKTtcbiAgICBjb2xvcjogI2VkZjNmZjtcbiAgICBjb2xvcjogdmFyKC0tc2Vjb25kYXJ5LWNvbnRlbnQsICNlZGYzZmYpO1xufVxuXG4ubXhfRGV2aWNlVGlsZV9pbmFjdGl2ZUljb24ge1xuICAgIGhlaWdodDogMTRweDtcbiAgICBtYXJnaW4tcmlnaHQ6IDhweDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuXG4ubXhfRGV2aWNlVGlsZV9hY3Rpb25zIHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtZ2FwOiA4cHg7XG4gICAgZ3JpZC1hdXRvLWZsb3c6IGNvbHVtbjtcbiAgICBtYXJnaW4tbGVmdDogOHB4O1xufVxuXG4vKlxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXG5Db3B5cmlnaHQgMjAyMiBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxuXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXG4qL1xuXG4ubXhfRGV2aWNlVHlwZUljb24ge1xuICAgIC13ZWJraXQtYm94LWZsZXg6IDA7XG4gICAgICAgIC1tcy1mbGV4OiAwIDAgYXV0bztcbiAgICAgICAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXJnaW4tcmlnaHQ6IDhweDtcbiAgICAvKiBjcmVhdGVzIHNwYWNlIGZvciB2ZXJpZmljYXRpb24gaWNvbiB0byBvdmVybGFwICovXG4gICAgcGFkZGluZzogMCA4cHggOHB4IDA7XG59XG5cbi5teF9EZXZpY2VUeXBlSWNvbl9kZXZpY2VJY29uV3JhcHBlciB7XG4gICAgLS1iYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wYW5lbHMsIHZhcigtLWNwZC1jb2xvci1ncmF5LTYwMCkpO1xuICAgIC0taWNvbi1jb2xvcjogdmFyKC0tc2Vjb25kYXJ5LWNvbnRlbnQsICNlZGYzZmYpO1xuXG4gICAgaGVpZ2h0OiA0MHB4O1xuICAgIHdpZHRoOiA0MHB4O1xuICAgIC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG5cbiAgICBib3JkZXI6IDhweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLWNvbG9yKTtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgY29sb3I6ICNlZGYzZmY7XG4gICAgY29sb3I6IHZhcigtLXNlY29uZGFyeS1jb250ZW50LCAjZWRmM2ZmKTtcbiAgICBjb2xvcjogdmFyKC0taWNvbi1jb2xvcik7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1jb2xvcik7XG59XG5cbi5teF9EZXZpY2VUeXBlSWNvbl9zZWxlY3RlZCAubXhfRGV2aWNlVHlwZUljb25fZGV2aWNlSWNvbldyYXBwZXIge1xuICAgIC0tYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdGltZWxpbmUtdGV4dC1jb2xvcik7XG4gICAgLS1pY29uLWNvbG9yOiB2YXIoLS10aW1lbGluZS1iYWNrZ3JvdW5kLWNvbG9yKTtcbn1cblxuLm14X0RldmljZVR5cGVJY29uX2RldmljZUljb24ge1xuICAgIGhlaWdodDogMjRweDtcbiAgICB3aWR0aDogMjRweDtcbn1cblxuLm14X0RldmljZVR5cGVJY29uX3ZlcmlmaWNhdGlvbkljb24ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgaGVpZ2h0OiAyNHB4O1xuICAgIHdpZHRoOiAyNHB4O1xuICAgIC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgcGFkZGluZzogNHB4O1xuXG4gICAgYm9yZGVyOiAxcHggc29saWQgIzZmNzg4MjtcblxuICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLXF1aW5hcnktY29udGVudCwgIzZmNzg4Mik7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXRpbWVsaW5lLWJhY2tncm91bmQtY29sb3IpO1xuXG4gICAgY29sb3I6IHZhcigtLXYtaWNvbi1jb2xvcik7XG59XG5cbi5teF9EZXZpY2VUeXBlSWNvbl92ZXJpZmljYXRpb25JY29uLnZlcmlmaWVkIHtcbiAgICAgICAgLS12LWljb24tY29sb3I6ICMwZGJkOGI7XG4gICAgfVxuXG4ubXhfRGV2aWNlVHlwZUljb25fdmVyaWZpY2F0aW9uSWNvbi51bnZlcmlmaWVkIHtcbiAgICAgICAgLS12LWljb24tY29sb3I6ICNmZjViNTU7XG4gICAgfVxuXG4vKlxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXG5Db3B5cmlnaHQgMjAyMiBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxuXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXG4qL1xuXG4ubXhfRmlsdGVyZWREZXZpY2VMaXN0IC5teF9Ecm9wZG93biB7XG4gICAgICAgIC13ZWJraXQtYm94LWZsZXg6IDE7XG4gICAgICAgICAgICAtbXMtZmxleDogMSAwIDgwcHg7XG4gICAgICAgICAgICAgICAgZmxleDogMSAwIDgwcHg7XG4gICAgfVxuXG4ubXhfRmlsdGVyZWREZXZpY2VMaXN0X2xpc3Qge1xuICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtZ2FwOiAxNnB4O1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwIDE2cHg7XG59XG5cbi5teF9GaWx0ZXJlZERldmljZUxpc3RfbGlzdEl0ZW0ge1xuICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcbiAgICAtd2Via2l0LWJveC1kaXJlY3Rpb246IG5vcm1hbDtcbiAgICAgICAgLW1zLWZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xufVxuXG4ubXhfRmlsdGVyZWREZXZpY2VMaXN0X3NlY3VyaXR5Q2FyZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMzJweDtcbn1cblxuLm14X0ZpbHRlcmVkRGV2aWNlTGlzdF9ub1Jlc3VsdHMge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBtYXJnaW4tYm90dG9tOiAzMnB4O1xufVxuXG4ubXhfRmlsdGVyZWREZXZpY2VMaXN0X2hlYWRlckJ1dHRvbiB7XG4gICAgLW1zLWZsZXgtbmVnYXRpdmU6IDA7XG4gICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgIC8qIG92ZXJyaWRlIGlubGluZSBidXR0b24gc3R5bGluZyAqL1xuICAgIGRpc3BsYXk6IC13ZWJraXQtYm94ICFpbXBvcnRhbnQ7XG4gICAgZGlzcGxheTogLW1zLWZsZXhib3ggIWltcG9ydGFudDtcbiAgICBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7XG4gICAgLXdlYmtpdC1ib3gtb3JpZW50OiBob3Jpem9udGFsO1xuICAgIC13ZWJraXQtYm94LWRpcmVjdGlvbjogbm9ybWFsO1xuICAgICAgICAtbXMtZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgZ2FwOiA4cHg7XG59XG5cbi5teF9GaWx0ZXJlZERldmljZUxpc3RfZGV2aWNlRGV0YWlscyB7XG4gICAgLyogYWxpZ24gd2l0aCB0ZXh0IG9mIHNlc3Npb24gdGlsZSAqL1xuICAgIG1hcmdpbi1sZWZ0OiA4OHB4O1xufVxuXG4vKlxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXG5Db3B5cmlnaHQgMjAyMiBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxuXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXG4qL1xuXG4ubXhfRmlsdGVyZWREZXZpY2VMaXN0SGVhZGVyIHtcbiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIC13ZWJraXQtYm94LW9yaWVudDogaG9yaXpvbnRhbDtcbiAgICAtd2Via2l0LWJveC1kaXJlY3Rpb246IG5vcm1hbDtcbiAgICAgICAgLW1zLWZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgZ2FwOiAxNnB4O1xuXG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiA0OHB4O1xuICAgIHBhZGRpbmc6IDAgMTZweDtcbiAgICBtYXJnaW4tYm90dG9tOiAzMnB4O1xuXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcGFuZWxzLCB2YXIoLS1jcGQtY29sb3ItZ3JheS02MDApKTtcbiAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgY29sb3I6ICNlZGYzZmY7XG4gICAgY29sb3I6IHZhcigtLXNlY29uZGFyeS1jb250ZW50LCAjZWRmM2ZmKTtcbn1cblxuLyogSGlnaGVyIHNwZWNpZmljaXR5IHNlbGVjdG9yIHRvIG92ZXJyaWRlIHRoZSBmbGV4LXN0YXJ0IHZhbHVlICovXG5cbi5teF9GaWx0ZXJlZERldmljZUxpc3RIZWFkZXIgLm14X0FjY2Vzc2libGVCdXR0b24ubXhfQWNjZXNzaWJsZUJ1dHRvbl9oYXNLaW5kIHtcbiAgICAgICAgLW1zLWZsZXgtaXRlbS1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgYWxpZ24tc2VsZjogY2VudGVyO1xuICAgIH1cblxuLm14X0ZpbHRlcmVkRGV2aWNlTGlzdEhlYWRlcl9sYWJlbCB7XG4gICAgLXdlYmtpdC1ib3gtZmxleDogMTtcbiAgICAgICAgLW1zLWZsZXg6IDEgMSAxMDAlO1xuICAgICAgICAgICAgZmxleDogMSAxIDEwMCU7XG59XG5cbi8qXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cbkNvcHlyaWdodCAyMDIyIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXG5cblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cbiovXG5cbi5teF9TZWN1cml0eVJlY29tbWVuZGF0aW9uc19zcGFjaW5nIHtcbiAgICBoZWlnaHQ6IDE2cHg7XG59XG5cbi8qXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cbkNvcHlyaWdodCAyMDIyIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXG5cblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cbiovXG5cbi5teF9TZWxlY3RhYmxlRGV2aWNlVGlsZSB7XG4gICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gICAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICAtd2Via2l0LWJveC1vcmllbnQ6IGhvcml6b250YWw7XG4gICAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiBub3JtYWw7XG4gICAgICAgIC1tcy1mbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO1xuICAgICAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB3aWR0aDogMTAwJTtcbn1cblxuLm14X1NlbGVjdGFibGVEZXZpY2VUaWxlX2NoZWNrYm94IHtcbiAgICAtd2Via2l0LWJveC1mbGV4OiAxO1xuICAgICAgICAtbXMtZmxleDogMSAwO1xuICAgICAgICAgICAgZmxleDogMSAwO1xufVxuXG4ubXhfU2VsZWN0YWJsZURldmljZVRpbGVfY2hlY2tib3ggLm14X0NoZWNrYm94X2JhY2tncm91bmQgKyBkaXYge1xuICAgICAgICAtd2Via2l0LWJveC1mbGV4OiAxO1xuICAgICAgICAgICAgLW1zLWZsZXg6IDEgMDtcbiAgICAgICAgICAgICAgICBmbGV4OiAxIDA7XG4gICAgICAgIC8qIG92ZXJyaWRlIG1vcmUgc3BlY2lmaWMgc2VsZWN0b3IgKi9cbiAgICAgICAgbWFyZ2luLWxlZnQ6IDE2cHggIWltcG9ydGFudDtcbiAgICB9XG5cbi8qXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cbkNvcHlyaWdodCAyMDIyIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXG5cblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cbiovXG5cbi5teF9TZXR0aW5nc1N1YnNlY3Rpb24ge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG5cbi5teF9TZXR0aW5nc1N1YnNlY3Rpb24ubXhfU2V0dGluZ3NTdWJzZWN0aW9uX25ld1VpIHtcbiAgICAgICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gICAgICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xuICAgICAgICAtd2Via2l0LWJveC1kaXJlY3Rpb246IG5vcm1hbDtcbiAgICAgICAgICAgIC1tcy1mbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGdhcDogdmFyKC0tY3BkLXNwYWNlLTZ4KTtcbiAgICB9XG5cbi5teF9TZXR0aW5nc1N1YnNlY3Rpb24gKltyb2xlPVwic2VwYXJhdG9yXCJdIHtcbiAgICAgICAgLyoqXG4gICAgICAgICAqIFRoZSBnYXAgYmV0d2VlbiBzdWJzZWN0aW9ucyBpcyAzMnB4IGFuZCBpbnNpZGUgdGhlIHN1YnNlY3Rpb24gaXMgMjRweC5cbiAgICAgICAgICogVGhlIHNlcGFyYXRvciBzZXBhcmF0ZXMgdGhlIHN1YnNlY3Rpb25zLCBzbyBpdCBzaG91bGQgaGF2ZSB0aGUgc2FtZSBnYXAgYXMgdGhlIHN1YnNlY3Rpb25zLlxuICAgICAgICAgKiBXZSBhZGQgMTJweCBhbmQgdGhlIHNlcGFyYXRvciBzcGFjaW5nIHRvIHRoZSB0b3AgbWFyZ2luIHRvIG1ha2UgdGhlIHNlcGFyYXRvciB2aXN1YWxseSBjZW50ZXJlZCBiZXR3ZWVuIHRoZSBzdWJzZWN0aW9ucy5cbiAgICAgICAgICovXG4gICAgICAgIG1hcmdpbi10b3A6IGNhbGModmFyKC0tY3BkLXNwYWNlLTN4KSArIHZhcigtLWNwZC1zZXBhcmF0b3Itc3BhY2luZykpO1xuICAgIH1cblxuLm14X1NldHRpbmdzU3Vic2VjdGlvbl9kZXNjcmlwdGlvbiB7XG4gICAgbWFyZ2luLXRvcDogOHB4O1xufVxuXG4ubXhfU2V0dGluZ3NTdWJzZWN0aW9uX3RleHQge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIC13ZWJraXQtYm94LXNpemluZzogaW5oZXJpdDtcbiAgICAgICAgICAgIGJveC1zaXppbmc6IGluaGVyaXQ7XG4gICAgY29sb3I6ICNlZGYzZmY7XG4gICAgY29sb3I6IHZhcigtLXNlY29uZGFyeS1jb250ZW50LCAjZWRmM2ZmKTtcbn1cblxuLm14X1NldHRpbmdzU3Vic2VjdGlvbl9jb250ZW50IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtZ2FwOiA4cHg7XG4gICAgLyogc2V0dGluZyBtaW53aWR0aCAwIG1ha2VzIGNvbHVtbnMgZGVmaW5pdGVseSBzaXplZCBmaXhpbmcgaG9yaXpvbnRhbCBvdmVyZmxvdyAqL1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogbWlubWF4KDAsIDFmcik7XG4gICAganVzdGlmeS1pdGVtczogZmxleC1zdGFydDtcbiAgICBtYXJnaW4tdG9wOiAyNHB4O1xufVxuXG4ubXhfU2V0dGluZ3NTdWJzZWN0aW9uX2NvbnRlbnQgc3VtbWFyeSB7XG4gICAgICAgIGNvbG9yOiAjMGRiZDhiO1xuICAgICAgICBjb2xvcjogdmFyKC0tYWNjZW50LWNvbG9yLCAjMGRiZDhiKTtcbiAgICB9XG5cbi5teF9TZXR0aW5nc1N1YnNlY3Rpb25fY29udGVudCBkZXRhaWxzW29wZW5dIHN1bW1hcnkge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogOHB4O1xuICAgICAgICB9XG5cbi5teF9TZXR0aW5nc1N1YnNlY3Rpb25fY29udGVudC5teF9TZXR0aW5nc1N1YnNlY3Rpb25fY29udGVudFN0cmV0Y2gge1xuICAgICAgICBqdXN0aWZ5LWl0ZW1zOiBzdHJldGNoO1xuICAgIH1cblxuLm14X1NldHRpbmdzU3Vic2VjdGlvbl9jb250ZW50Lm14X1NldHRpbmdzU3Vic2VjdGlvbl9ub0hlYWRpbmcge1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgIH1cblxuLm14X1NldHRpbmdzU3Vic2VjdGlvbl9jb250ZW50Lm14X1NldHRpbmdzU3Vic2VjdGlvbl9jb250ZW50X25ld1VpIHtcbiAgICAgICAgZ2FwOiB2YXIoLS1jcGQtc3BhY2UtNngpO1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgIH1cblxuLm14X1NldHRpbmdzU3Vic2VjdGlvbl9jb250ZW50IC5teF9TZXR0aW5nc1N1YnNlY3Rpb25fZHJvcGRvd24ge1xuICAgICAgICBtaW4td2lkdGg6IDM2MHB4O1xuICAgIH1cblxuLypcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxuQ29weXJpZ2h0IDIwMjIgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cblxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuKi9cblxuLm14X1NldHRpbmdzU3Vic2VjdGlvbkhlYWRpbmcge1xuICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgLXdlYmtpdC1ib3gtb3JpZW50OiBob3Jpem9udGFsO1xuICAgIC13ZWJraXQtYm94LWRpcmVjdGlvbjogbm9ybWFsO1xuICAgICAgICAtbXMtZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG5cbiAgICBnYXA6IDhweDtcbn1cblxuLm14X1NldHRpbmdzU3Vic2VjdGlvbkhlYWRpbmdfaGVhZGluZyB7XG4gICAgLXdlYmtpdC1ib3gtZmxleDogMTtcbiAgICAgICAgLW1zLWZsZXg6IDEgMSAxMDAlO1xuICAgICAgICAgICAgZmxleDogMSAxIDEwMCU7XG59XG5cbi8qXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cbkNvcHlyaWdodCAyMDIyIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXG5cblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cbiovXG5cbi5teF9RdWlja1RoZW1lU3dpdGNoZXIge1xuICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbi5teF9RdWlja1RoZW1lU3dpdGNoZXIgLm14X0Ryb3Bkb3duIHtcbiAgICAgICAgbWluLXdpZHRoOiAxMDBweDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICAgIGhlaWdodDogLXdlYmtpdC1taW4tY29udGVudDtcbiAgICAgICAgaGVpZ2h0OiAtbW96LW1pbi1jb250ZW50O1xuICAgICAgICBoZWlnaHQ6IG1pbi1jb250ZW50O1xuICAgIH1cblxuLm14X1F1aWNrVGhlbWVTd2l0Y2hlciAubXhfRHJvcGRvd25fbWVudSB7XG4gICAgICAgIG1heC1oZWlnaHQ6IDcwcHg7XG4gICAgfVxuXG4ubXhfUXVpY2tUaGVtZVN3aXRjaGVyX2hlYWRpbmcge1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1jcGQtZm9udC13ZWlnaHQtc2VtaWJvbGQpO1xuICAgIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgICBsaW5lLWhlaWdodDogMC45Mzc1cmVtO1xuICAgIGNvbG9yOiAjZWRmM2ZmO1xuICAgIGNvbG9yOiB2YXIoLS1zZWNvbmRhcnktY29udGVudCwgI2VkZjNmZik7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luOiAwO1xufVxuXG4vKlxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXG5Db3B5cmlnaHQgMjAyMiBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxuXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXG4qL1xuXG4ubXhfQ2FwdGlvbiB7XG4gICAgZm9udDogdmFyKC0tY3BkLWZvbnQtYm9keS1zbS1yZWd1bGFyKTtcbiAgICBjb2xvcjogI2VkZjNmZjtcbiAgICBjb2xvcjogdmFyKC0tc2Vjb25kYXJ5LWNvbnRlbnQsICNlZGYzZmYpO1xufVxuXG4ubXhfQ2FwdGlvbi5teF9DYXB0aW9uX2Vycm9yIHtcbiAgICAgICAgY29sb3I6ICNmZjViNTU7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1hbGVydCwgI2ZmNWI1NSk7XG4gICAgfVxuXG4vKlxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXG5Db3B5cmlnaHQgMjAyMyBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxuXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXG4qL1xuXG4ubXhfQm94LS1mbGV4IHtcbiAgICAtd2Via2l0LWJveC1mbGV4OiBpbml0aWFsO1xuICAgICAgICAtbXMtZmxleDogaW5pdGlhbDtcbiAgICAgICAgICAgIGZsZXg6IGluaXRpYWw7XG4gICAgLXdlYmtpdC1ib3gtZmxleDogdmFyKC0tbXgtYm94LWZsZXgsIHVuc2V0KTtcbiAgICAgICAgLW1zLWZsZXg6IHZhcigtLW14LWJveC1mbGV4LCB1bnNldCk7XG4gICAgICAgICAgICBmbGV4OiB2YXIoLS1teC1ib3gtZmxleCwgdW5zZXQpO1xufVxuXG4ubXhfQm94LS1zaHJpbmsge1xuICAgIC1tcy1mbGV4LW5lZ2F0aXZlOiBpbml0aWFsO1xuICAgICAgICBmbGV4LXNocmluazogaW5pdGlhbDtcbiAgICAtbXMtZmxleC1uZWdhdGl2ZTogdmFyKC0tbXgtYm94LXNocmluaywgdW5zZXQpO1xuICAgICAgICBmbGV4LXNocmluazogdmFyKC0tbXgtYm94LXNocmluaywgdW5zZXQpO1xufVxuXG4ubXhfQm94LS1ncm93IHtcbiAgICAtd2Via2l0LWJveC1mbGV4OiBpbml0aWFsO1xuICAgICAgICAtbXMtZmxleC1wb3NpdGl2ZTogaW5pdGlhbDtcbiAgICAgICAgICAgIGZsZXgtZ3JvdzogaW5pdGlhbDtcbiAgICBmbGV4LWdyb3c6IHZhcigtLW14LWJveC1ncm93LCB1bnNldCk7XG59XG5cbi8qXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cbkNvcHlyaWdodCAyMDIzIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXG5cblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cbiovXG5cbi5teF9GbGV4IHtcbiAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgZGlzcGxheTogaW5pdGlhbDtcbiAgICBkaXNwbGF5OiB2YXIoLS1teC1mbGV4LWRpc3BsYXksIHVuc2V0KTtcbiAgICAtd2Via2l0LWJveC1vcmllbnQ6IGluaXRpYWw7XG4gICAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiBpbml0aWFsO1xuICAgICAgICAtbXMtZmxleC1kaXJlY3Rpb246IGluaXRpYWw7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogaW5pdGlhbDtcbiAgICBmbGV4LWRpcmVjdGlvbjogdmFyKC0tbXgtZmxleC1kaXJlY3Rpb24sIHVuc2V0KTtcbiAgICAtd2Via2l0LWJveC1hbGlnbjogaW5pdGlhbDtcbiAgICAgICAgLW1zLWZsZXgtYWxpZ246IGluaXRpYWw7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogaW5pdGlhbDtcbiAgICAtd2Via2l0LWJveC1hbGlnbjogdmFyKC0tbXgtZmxleC1hbGlnbiwgdW5zZXQpO1xuICAgICAgICAtbXMtZmxleC1hbGlnbjogdmFyKC0tbXgtZmxleC1hbGlnbiwgdW5zZXQpO1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IHZhcigtLW14LWZsZXgtYWxpZ24sIHVuc2V0KTtcbiAgICAtd2Via2l0LWJveC1wYWNrOiBpbml0aWFsO1xuICAgICAgICAtbXMtZmxleC1wYWNrOiBpbml0aWFsO1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBpbml0aWFsO1xuICAgIC13ZWJraXQtYm94LXBhY2s6IHZhcigtLW14LWZsZXgtanVzdGlmeSwgdW5zZXQpO1xuICAgICAgICAtbXMtZmxleC1wYWNrOiB2YXIoLS1teC1mbGV4LWp1c3RpZnksIHVuc2V0KTtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogdmFyKC0tbXgtZmxleC1qdXN0aWZ5LCB1bnNldCk7XG4gICAgZ2FwOiBpbml0aWFsO1xuICAgIGdhcDogdmFyKC0tbXgtZmxleC1nYXAsIHVuc2V0KTtcbn1cblxuLypcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxuQ29weXJpZ2h0IDIwMjIgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cblxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuKi9cblxuLypcbiAqIENvbXBvdW5kIGljb25cblxuICoge0BsaW5rIGh0dHBzOi8vd3d3LmZpZ21hLmNvbS9maWxlL1g0WFRIOWlTMktHSjJ3RktEcWt5ZWR9XG4gKi9cblxuLm14X0ljb24ge1xuICAgIC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG5cbi5teF9JY29uX2FjY2VudCB7XG4gICAgY29sb3I6ICMwZGJkOGI7XG4gICAgY29sb3I6IHZhcigtLWFjY2VudC1jb2xvciwgIzBkYmQ4Yik7XG59XG5cbi5teF9JY29uX2JnLWFjY2VudC1saWdodCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYWNjZW50LWNvbG9yLTMwMCk7XG59XG5cbi5teF9JY29uX2FsZXJ0IHtcbiAgICBjb2xvcjogI2ZmNWI1NTtcbiAgICBjb2xvcjogdmFyKC0tYWxlcnQsICNmZjViNTUpO1xufVxuXG4ubXhfSWNvbl9jaXJjbGUtNDAge1xuICAgIGJvcmRlci1yYWRpdXM6IDIwcHg7XG4gICAgLXdlYmtpdC1ib3gtZmxleDogMDtcbiAgICAgICAgLW1zLWZsZXg6IDAgMCA0MHB4O1xuICAgICAgICAgICAgZmxleDogMCAwIDQwcHg7XG4gICAgaGVpZ2h0OiA0MHB4O1xuICAgIHBhZGRpbmc6IDAgMTJweDtcbiAgICB3aWR0aDogNDBweDtcbn1cblxuLm14X0ljb25fOCB7XG4gICAgLXdlYmtpdC1ib3gtZmxleDogMDtcbiAgICAgICAgLW1zLWZsZXg6IDAgMCA4cHg7XG4gICAgICAgICAgICBmbGV4OiAwIDAgOHB4O1xuICAgIGhlaWdodDogOHB4O1xuICAgIHdpZHRoOiA4cHg7XG59XG5cbi5teF9JY29uXzEwIHtcbiAgICAtd2Via2l0LWJveC1mbGV4OiAwO1xuICAgICAgICAtbXMtZmxleDogMCAwIDEwcHg7XG4gICAgICAgICAgICBmbGV4OiAwIDAgMTBweDtcbiAgICBoZWlnaHQ6IDEwcHg7XG4gICAgd2lkdGg6IDEwcHg7XG59XG5cbi5teF9JY29uXzEyIHtcbiAgICAtd2Via2l0LWJveC1mbGV4OiAwO1xuICAgICAgICAtbXMtZmxleDogMCAwIDEycHg7XG4gICAgICAgICAgICBmbGV4OiAwIDAgMTJweDtcbiAgICBoZWlnaHQ6IDEycHg7XG4gICAgd2lkdGg6IDEycHg7XG59XG5cbi5teF9JY29uXzE2IHtcbiAgICAtd2Via2l0LWJveC1mbGV4OiAwO1xuICAgICAgICAtbXMtZmxleDogMCAwIDE2cHg7XG4gICAgICAgICAgICBmbGV4OiAwIDAgMTZweDtcbiAgICBoZWlnaHQ6IDE2cHg7XG4gICAgd2lkdGg6IDE2cHg7XG59XG5cbi5teF9JY29uXzI0IHtcbiAgICAtd2Via2l0LWJveC1mbGV4OiAwO1xuICAgICAgICAtbXMtZmxleDogMCAwIDI0cHg7XG4gICAgICAgICAgICBmbGV4OiAwIDAgMjRweDtcbiAgICBoZWlnaHQ6IDI0cHg7XG4gICAgd2lkdGg6IDI0cHg7XG59XG5cbi5teF9JY29uXzMyIHtcbiAgICAtd2Via2l0LWJveC1mbGV4OiAwO1xuICAgICAgICAtbXMtZmxleDogMCAwIDMycHg7XG4gICAgICAgICAgICBmbGV4OiAwIDAgMzJweDtcbiAgICBoZWlnaHQ6IDMycHg7XG4gICAgd2lkdGg6IDMycHg7XG59XG5cbi8qXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cbkNvcHlyaWdodCAyMDIzIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXG5cblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cbiovXG5cbi5teF9TdWNjZXNzRGlhbG9nIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5teF9TdWNjZXNzRGlhbG9nIC5teF9JY29uIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTZweDtcbiAgICB9XG5cbi5teF9TdWNjZXNzRGlhbG9nIC5teF9EaWFsb2dfaGVhZGVyIHtcbiAgICAgICAgbWFyZ2luOiAwIDAgMTZweDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICB9XG5cbi5teF9TdWNjZXNzRGlhbG9nIC5teF9EaWFsb2dfdGl0bGUge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgfVxuXG4ubXhfU3VjY2Vzc0RpYWxvZyAubXhfRGlhbG9nX2NvbnRlbnQge1xuICAgICAgICBjb2xvcjogI2VkZjNmZjtcbiAgICAgICAgY29sb3I6IHZhcigtLXNlY29uZGFyeS1jb250ZW50LCAjZWRmM2ZmKTtcbiAgICAgICAgbWFyZ2luOiAwIDAgNDBweDtcbiAgICB9XG5cbi5teF9TdWNjZXNzRGlhbG9nIC5teF9EaWFsb2dfYnV0dG9ucyAubXhfRGlhbG9nX2J1dHRvbnNfcm93IHtcbiAgICAgICAgICAgIC13ZWJraXQtYm94LXBhY2s6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAtbXMtZmxleC1wYWNrOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICB9XG5cbi5teF9TdWNjZXNzRGlhbG9nIC5teF9EaWFsb2dfYnV0dG9ucyAubXhfRGlhbG9nX2J1dHRvbnNfcm93IGJ1dHRvbi5teF9EaWFsb2dfcHJpbWFyeSB7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiA0OHB4O1xuICAgICAgICAgICAgICAgIG1pbi13aWR0aDogMzI4cHg7XG4gICAgICAgICAgICB9XG5cbi8qXG5Db3B5cmlnaHQgMjAxOC0yMDI0IE5ldyBWZWN0b3IgTHRkLlxuXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXG4qL1xuXG4vKiBtYWtlIGFueSBzY3JvbGxiYXIgZ3JleSBhbmQgdGhpbiAqL1xuXG5odG1sIHtcbiAgICBzY3JvbGxiYXItY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yKSB0cmFuc3BhcmVudDtcbn1cblxuLyogc2Nyb2xsYmFyLXdpZHRoIGlzIG5vdCBpbmhlcml0ZWQgKGJ1dCAtY29sb3IgaXMsIHdoeT8hKSwgKi9cblxuLyogc28gZGVjbGFyZSBpdCBvbiBldmVyeSBlbGVtZW50ICovXG5cbioge1xuICAgIHNjcm9sbGJhci13aWR0aDogdGhpbjtcbn1cblxuOjotd2Via2l0LXNjcm9sbGJhciB7XG4gICAgd2lkdGg6IDZweDtcbiAgICBoZWlnaHQ6IDZweDtcbn1cblxuOjotd2Via2l0LXNjcm9sbGJhci10aHVtYiB7XG4gICAgYm9yZGVyLXJhZGl1czogM3B4O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yKTtcbn1cblxuLyogbWFrZSBhdXRvLWhpZGUgc2Nyb2xsYmFycyBub3QgdHJhbnNwYXJlbnQgYWdhaW4gb24gaG92ZXIgKi9cblxuLm14X0F1dG9IaWRlU2Nyb2xsYmFyOmhvdmVyIHtcbiAgICBzY3JvbGxiYXItY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yKSB0cmFuc3BhcmVudDtcbn1cblxuLm14X0F1dG9IaWRlU2Nyb2xsYmFyOmhvdmVyOjotd2Via2l0LXNjcm9sbGJhci10aHVtYiB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yKTtcbiAgICB9XG5cbi8qIG1ha2Ugc2Nyb2xsYmFycyB0cmFuc3BhcmVudCBmb3IgYXV0b2hpZGUgc2Nyb2xsYmFycyAqL1xuXG4ubXhfQXV0b0hpZGVTY3JvbGxiYXIge1xuICAgIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgIG92ZXJmbG93LXk6IG92ZXJsYXk7IC8qIHdoZXJlIHN1cHBvcnRlZCAqL1xuICAgIC1tcy1vdmVyZmxvdy1zdHlsZTogLW1zLWF1dG9oaWRpbmctc2Nyb2xsYmFyO1xufVxuXG4ubXhfQXV0b0hpZGVTY3JvbGxiYXI6Oi13ZWJraXQtc2Nyb2xsYmFyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgfVxuXG4ubXhfQXV0b0hpZGVTY3JvbGxiYXI6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgfVxuXG4ubXhfQXV0b0hpZGVTY3JvbGxiYXIge1xuXG4gICAgc2Nyb2xsYmFyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbn1cblxuLypcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxuQ29weXJpZ2h0IDIwMjIgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cblxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuKi9cblxuLm14X0F1dG9jb21wbGV0ZUlucHV0IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5teF9BdXRvY29tcGxldGVJbnB1dF9zZWFyY2hfaWNvbiB7XG4gICAgbWFyZ2luLWxlZnQ6IDhweDtcbiAgICBmaWxsOiAjZWRmM2ZmO1xuICAgIGZpbGw6IHZhcigtLXNlY29uZGFyeS1jb250ZW50LCAjZWRmM2ZmKTtcbn1cblxuLm14X0F1dG9jb21wbGV0ZUlucHV0X2VkaXRvciB7XG4gICAgLXdlYmtpdC1ib3gtZmxleDogMTtcbiAgICAgICAgLW1zLWZsZXg6IDE7XG4gICAgICAgICAgICBmbGV4OiAxO1xuICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgLW1zLWZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNlN2U3ZTc7XG4gICAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDAuMjVzO1xuICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAwLjI1cztcbn1cblxuLm14X0F1dG9jb21wbGV0ZUlucHV0X2VkaXRvciA+IGlucHV0IHtcbiAgICAgICAgLXdlYmtpdC1ib3gtZmxleDogMTtcbiAgICAgICAgICAgIC1tcy1mbGV4OiAxO1xuICAgICAgICAgICAgICAgIGZsZXg6IDE7XG4gICAgICAgIG1pbi13aWR0aDogNDAlO1xuICAgICAgICByZXNpemU6IG5vbmU7XG4gICAgICAgIC8qIGAhaW1wb3J0YW50YCBpcyByZXF1aXJlZCB0byBieXBhc3MgZ2xvYmFsIGlucHV0IHN0eWxlcy4gKi9cbiAgICAgICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIHBhZGRpbmc6IDhweCA5cHg7XG4gICAgICAgIGJvcmRlcjogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICBjb2xvcjogdmFyKC0tdGltZWxpbmUtdGV4dC1jb2xvcikgIWltcG9ydGFudDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbCAhaW1wb3J0YW50O1xuICAgIH1cblxuLm14X0F1dG9jb21wbGV0ZUlucHV0X2VkaXRvciA+IGlucHV0Ojotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHtcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS10aW1lbGluZS10ZXh0LWNvbG9yKSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbCAhaW1wb3J0YW50O1xuICAgICAgICB9XG5cbi5teF9BdXRvY29tcGxldGVJbnB1dF9lZGl0b3IgPiBpbnB1dDo6LW1vei1wbGFjZWhvbGRlciB7XG4gICAgICAgICAgICBjb2xvcjogdmFyKC0tdGltZWxpbmUtdGV4dC1jb2xvcikgIWltcG9ydGFudDtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWwgIWltcG9ydGFudDtcbiAgICAgICAgfVxuXG4ubXhfQXV0b2NvbXBsZXRlSW5wdXRfZWRpdG9yID4gaW5wdXQ6LW1zLWlucHV0LXBsYWNlaG9sZGVyIHtcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS10aW1lbGluZS10ZXh0LWNvbG9yKSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbCAhaW1wb3J0YW50O1xuICAgICAgICB9XG5cbi5teF9BdXRvY29tcGxldGVJbnB1dF9lZGl0b3IgPiBpbnB1dDo6LW1zLWlucHV0LXBsYWNlaG9sZGVyIHtcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS10aW1lbGluZS10ZXh0LWNvbG9yKSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbCAhaW1wb3J0YW50O1xuICAgICAgICB9XG5cbi5teF9BdXRvY29tcGxldGVJbnB1dF9lZGl0b3IgPiBpbnB1dDo6cGxhY2Vob2xkZXIge1xuICAgICAgICAgICAgY29sb3I6IHZhcigtLXRpbWVsaW5lLXRleHQtY29sb3IpICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBmb250LXdlaWdodDogbm9ybWFsICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cblxuLm14X0F1dG9jb21wbGV0ZUlucHV0X2VkaXRvci0tZm9jdXNlZCB7XG4gICAgYm9yZGVyLWNvbG9yOiAjMDA4NmU2O1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tbGlua3MsICMwMDg2ZTYpO1xufVxuXG4ubXhfQXV0b2NvbXBsZXRlSW5wdXRfZWRpdG9yLS1oYXMtc3VnZ2VzdGlvbnMge1xuICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7XG4gICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7XG59XG5cbi5teF9BdXRvY29tcGxldGVJbnB1dF9lZGl0b3Jfc2VsZWN0aW9uIHtcbiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIG1hcmdpbi1sZWZ0OiA4cHg7XG59XG5cbi5teF9BdXRvY29tcGxldGVJbnB1dF9lZGl0b3Jfc2VsZWN0aW9uX3BpbGwge1xuICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgYm9yZGVyLXJhZGl1czogMTJweDtcbiAgICBwYWRkaW5nLWxlZnQ6IDhweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiA4cHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY3BkLWNvbG9yLXRleHQtZGVjb3JhdGl2ZS0xKTtcbiAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICBmb250LXNpemU6IDAuNzVyZW07XG59XG5cbi5teF9BdXRvY29tcGxldGVJbnB1dF9lZGl0b3Jfc2VsZWN0aW9uX3JlbW92ZV9idXR0b24gc3ZnIHtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuXG4ubXhfQXV0b2NvbXBsZXRlSW5wdXRfbWF0Y2hlcyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdGltZWxpbmUtYmFja2dyb3VuZC1jb2xvcik7XG4gICAgYm9yZGVyOiAxcHggc29saWQgIzAwODZlNjtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1saW5rcywgIzAwODZlNik7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogI2U3ZTdlNztcbiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiA0cHg7XG4gICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDRweDtcbiAgICB6LWluZGV4OiAxMDAwO1xufVxuXG4ubXhfQXV0b2NvbXBsZXRlSW5wdXRfc3VnZ2VzdGlvbiB7XG4gICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gICAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO1xuICAgICAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBwYWRkaW5nOiA4cHg7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4ubXhfQXV0b2NvbXBsZXRlSW5wdXRfc3VnZ2VzdGlvbiA+ICoge1xuICAgICAgICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xuICAgICAgICAgICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xuICAgICAgICAgICAgLW1zLXVzZXItc2VsZWN0OiBub25lO1xuICAgICAgICAgICAgICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgIH1cblxuLm14X0F1dG9jb21wbGV0ZUlucHV0X3N1Z2dlc3Rpb246aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNmY3ODgyO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1xdWluYXJ5LWNvbnRlbnQsICM2Zjc4ODIpO1xuICAgICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiA0cHg7XG4gICAgICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiA0cHg7XG4gICAgfVxuXG4ubXhfQXV0b2NvbXBsZXRlSW5wdXRfc3VnZ2VzdGlvbi0tc2VsZWN0ZWQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM2Zjc4ODI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcXVpbmFyeS1jb250ZW50LCAjNmY3ODgyKTtcbn1cblxuLm14X0F1dG9jb21wbGV0ZUlucHV0X3N1Z2dlc3Rpb24tLXNlbGVjdGVkOmxhc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiA0cHg7XG4gICAgICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiA0cHg7XG4gICAgfVxuXG4ubXhfQXV0b2NvbXBsZXRlSW5wdXRfc3VnZ2VzdGlvbl90aXRsZSB7XG4gICAgbWFyZ2luLXJpZ2h0OiA4cHg7XG59XG5cbi5teF9BdXRvY29tcGxldGVJbnB1dF9zdWdnZXN0aW9uX2Rlc2NyaXB0aW9uIHtcbiAgICBjb2xvcjogI2VkZjNmZjtcbiAgICBjb2xvcjogdmFyKC0tc2Vjb25kYXJ5LWNvbnRlbnQsICNlZGYzZmYpO1xuICAgIGZvbnQtc2l6ZTogMC43NXJlbTtcbn1cblxuLypcbkNvcHlyaWdodCAyMDIxLTIwMjQgTmV3IFZlY3RvciBMdGQuXG5cblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cbiovXG5cbi5teF9CYWNrZHJvcFBhbmVsIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogMDtcbiAgICB0b3A6IDA7XG4gICAgaGVpZ2h0OiAxMDB2aDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIC13ZWJraXQtZmlsdGVyOiBibHVyKHZhcigtLWxwLWJhY2tncm91bmQtYmx1cikpO1xuICAgICAgICAgICAgZmlsdGVyOiBibHVyKHZhcigtLWxwLWJhY2tncm91bmQtYmx1cikpO1xuICAgIC8qIEZvcmNlIGEgbmV3IGxheWVyIGZvciB0aGUgYmFja2Ryb3BQYW5lbCBzbyBpdCdzIGJldHRlciBoYXJkd2FyZSBzdXBwb3J0ZWQgKi9cbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTtcbn1cblxuLm14X0JhY2tkcm9wUGFuZWwtLWltYWdlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgbWluLWhlaWdodDogMTAwJTtcbiAgICB6LWluZGV4OiAwO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcbiAgICAgICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xuICAgICAgICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgICAgICAgICB1c2VyLXNlbGVjdDogbm9uZTtcbn1cblxuLm14X0NvbXBhdGliaWxpdHlQYWdlIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2U1NTtcbn1cblxuLm14X0NvbXBhdGliaWxpdHlQYWdlX2JveCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGluc2V0OiAwO1xuICAgIG1hcmdpbjogYXV0bztcbiAgICB3aWR0aDogNTAwcHg7XG4gICAgaGVpZ2h0OiAzMDBweDtcbiAgICBib3JkZXI6IDFweCBzb2xpZDtcbiAgICBwYWRkaW5nOiAxMHB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmY2M7XG59XG5cbi8qXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cbkNvcHlyaWdodCAyMDE5IFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXG5Db3B5cmlnaHQgMjAxNSwgMjAxNiBPcGVuTWFya2V0IEx0ZFxuXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXG4qL1xuXG4ubXhfQ29udGV4dHVhbE1lbnVfd3JhcHBlciB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHotaW5kZXg6IDUwMDA7XG59XG5cbi5teF9Db250ZXh0dWFsTWVudV9iYWNrZ3JvdW5kIHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG9wYWNpdHk6IDE7XG59XG5cbi5teF9Db250ZXh0dWFsTWVudSB7XG4gICAgYm9yZGVyLXJhZGl1czogMTJweDtcbiAgICAtd2Via2l0LWJveC1zaGFkb3c6IDBweCA0cHggMjRweCByZ2JhKDAsIDAsIDAsIDAuMSk7XG4gICAgICAgICAgICBib3gtc2hhZG93OiAwcHggNHB4IDI0cHggcmdiYSgwLCAwLCAwLCAwLjEpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNwZC1jb2xvci1iZy1jYW52YXMtZGVmYXVsdCk7XG4gICAgYm9yZGVyOiB2YXIoLS1jcGQtYm9yZGVyLXdpZHRoLTEpIHNvbGlkIHZhcigtLWNwZC1jb2xvci1ib3JkZXItaW50ZXJhY3RpdmUtc2Vjb25kYXJ5KTtcbiAgICBjb2xvcjogdmFyKC0tdGltZWxpbmUtdGV4dC1jb2xvcik7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHotaW5kZXg6IDUwMDE7XG4gICAgd2lkdGg6IC13ZWJraXQtbWF4LWNvbnRlbnQ7XG4gICAgd2lkdGg6IC1tb3otbWF4LWNvbnRlbnQ7XG4gICAgd2lkdGg6IG1heC1jb250ZW50O1xufVxuXG4ubXhfQ29udGV4dHVhbE1lbnVfcmlnaHQge1xuICAgIHJpZ2h0OiAxNnB4O1xufVxuXG4ubXhfQ29udGV4dHVhbE1lbnUubXhfQ29udGV4dHVhbE1lbnVfd2l0aENoZXZyb25fcmlnaHQge1xuICAgIHJpZ2h0OiA4cHg7XG59XG5cbi5teF9Db250ZXh0dWFsTWVudV9jaGV2cm9uX3JpZ2h0IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IC04cHg7XG4gICAgdG9wOiAwcHg7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlci10b3A6IDhweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItbGVmdDogOHB4IHNvbGlkIHZhcigtLXRpbWVsaW5lLWJhY2tncm91bmQtY29sb3IpO1xuICAgIGJvcmRlci1ib3R0b206IDhweCBzb2xpZCB0cmFuc3BhcmVudDtcbn1cblxuLm14X0NvbnRleHR1YWxNZW51X2xlZnQge1xuICAgIGxlZnQ6IDA7XG59XG5cbi5teF9Db250ZXh0dWFsTWVudS5teF9Db250ZXh0dWFsTWVudV93aXRoQ2hldnJvbl9sZWZ0IHtcbiAgICBsZWZ0OiA4cHg7XG59XG5cbi5teF9Db250ZXh0dWFsTWVudV9jaGV2cm9uX2xlZnQge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiAtOHB4O1xuICAgIHRvcDogMHB4O1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXItdG9wOiA4cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXJpZ2h0OiA4cHggc29saWQgdmFyKC0tdGltZWxpbmUtYmFja2dyb3VuZC1jb2xvcik7XG4gICAgYm9yZGVyLWJvdHRvbTogOHB4IHNvbGlkIHRyYW5zcGFyZW50O1xufVxuXG4ubXhfQ29udGV4dHVhbE1lbnVfdG9wIHtcbiAgICB0b3A6IDA7XG59XG5cbi5teF9Db250ZXh0dWFsTWVudS5teF9Db250ZXh0dWFsTWVudV93aXRoQ2hldnJvbl90b3Age1xuICAgIHRvcDogOHB4O1xufVxuXG4ubXhfQ29udGV4dHVhbE1lbnVfY2hldnJvbl90b3Age1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiAwcHg7XG4gICAgdG9wOiAtOHB4O1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXItbGVmdDogOHB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1ib3R0b206IDhweCBzb2xpZCB2YXIoLS10aW1lbGluZS1iYWNrZ3JvdW5kLWNvbG9yKTtcbiAgICBib3JkZXItcmlnaHQ6IDhweCBzb2xpZCB0cmFuc3BhcmVudDtcbn1cblxuLm14X0NvbnRleHR1YWxNZW51X2JvdHRvbSB7XG4gICAgYm90dG9tOiAwO1xufVxuXG4ubXhfQ29udGV4dHVhbE1lbnUubXhfQ29udGV4dHVhbE1lbnVfd2l0aENoZXZyb25fYm90dG9tIHtcbiAgICBib3R0b206IDhweDtcbn1cblxuLm14X0NvbnRleHR1YWxNZW51X2NoZXZyb25fYm90dG9tIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogMHB4O1xuICAgIGJvdHRvbTogLThweDtcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyLWxlZnQ6IDhweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItdG9wOiA4cHggc29saWQgdmFyKC0tdGltZWxpbmUtYmFja2dyb3VuZC1jb2xvcik7XG4gICAgYm9yZGVyLXJpZ2h0OiA4cHggc29saWQgdHJhbnNwYXJlbnQ7XG59XG5cbi5teF9Db250ZXh0dWFsTWVudV9yaWdodEFsaWduZWQge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7XG59XG5cbi5teF9Db250ZXh0dWFsTWVudV9ib3R0b21BbGlnbmVkIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTAwJSk7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwMCUpO1xufVxuXG4vKlxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXG5Db3B5cmlnaHQgMjAyMiBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxuXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXG4qL1xuXG4ubXhfRXJyb3JNZXNzYWdlIHtcbiAgICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO1xuICAgICAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBjb2xvcjogI2ZmNWI1NTtcbiAgICBjb2xvcjogdmFyKC0tYWxlcnQsICNmZjViNTUpO1xuICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZm9udC1zaXplOiAwLjc1cmVtO1xuICAgIGdhcDogOHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjJlbTtcbiAgICBtaW4taGVpZ2h0OiAyLjRlbTtcbn1cblxuLypcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxuQ29weXJpZ2h0IDIwMTUsIDIwMTYgT3Blbk1hcmtldCBMdGRcblxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuKi9cblxuQC13ZWJraXQta2V5ZnJhbWVzIG14X0ZpbGVEcm9wVGFyZ2V0X2FuaW1hdGlvbiB7XG4gICAgZnJvbSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgfVxuICAgIHRvIHtcbiAgICAgICAgb3BhY2l0eTogMC45NTtcbiAgICB9XG59XG5cbkBrZXlmcmFtZXMgbXhfRmlsZURyb3BUYXJnZXRfYW5pbWF0aW9uIHtcbiAgICBmcm9tIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICB9XG4gICAgdG8ge1xuICAgICAgICBvcGFjaXR5OiAwLjk1O1xuICAgIH1cbn1cblxuLm14X0ZpbGVEcm9wVGFyZ2V0IHtcbiAgICBtaW4td2lkdGg6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuXG4gICAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcblxuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXRpbWVsaW5lLWJhY2tncm91bmQtY29sb3IpO1xuICAgIG9wYWNpdHk6IDAuOTU7XG5cbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgei1pbmRleDogMzAwMDtcblxuICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuXG4gICAgZGlzcGxheTogLW1zLWZsZXhib3g7XG5cbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWw7XG4gICAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiBub3JtYWw7XG4gICAgICAgIC1tcy1mbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAtd2Via2l0LWJveC1wYWNrOiBjZW50ZXI7XG4gICAgICAgIC1tcy1mbGV4LXBhY2s6IGNlbnRlcjtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gICAgLXdlYmtpdC1hbmltYXRpb246IG14X0ZpbGVEcm9wVGFyZ2V0X2FuaW1hdGlvbjtcblxuICAgICAgICAgICAgYW5pbWF0aW9uOiBteF9GaWxlRHJvcFRhcmdldF9hbmltYXRpb247XG4gICAgLXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246IDAuNXM7XG4gICAgICAgICAgICBhbmltYXRpb24tZHVyYXRpb246IDAuNXM7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBteF9GaWxlRHJvcFRhcmdldF9pbWFnZV9hbmltYXRpb24ge1xuICAgIGZyb20ge1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGVYKDApO1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGVYKDApO1xuICAgIH1cbiAgICB0byB7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZVgoMSk7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZVgoMSk7XG4gICAgfVxufVxuXG5Aa2V5ZnJhbWVzIG14X0ZpbGVEcm9wVGFyZ2V0X2ltYWdlX2FuaW1hdGlvbiB7XG4gICAgZnJvbSB7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZVgoMCk7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZVgoMCk7XG4gICAgfVxuICAgIHRvIHtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlWCgxKTtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlWCgxKTtcbiAgICB9XG59XG5cbi5teF9GaWxlRHJvcFRhcmdldF9pbWFnZSB7XG4gICAgd2lkdGg6IDMycHg7XG4gICAgLXdlYmtpdC1hbmltYXRpb246IG14X0ZpbGVEcm9wVGFyZ2V0X2ltYWdlX2FuaW1hdGlvbjtcbiAgICAgICAgICAgIGFuaW1hdGlvbjogbXhfRmlsZURyb3BUYXJnZXRfaW1hZ2VfYW5pbWF0aW9uO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiAwLjVzO1xuICAgICAgICAgICAgYW5pbWF0aW9uLWR1cmF0aW9uOiAwLjVzO1xuICAgIG1hcmdpbi1ib3R0b206IDE2cHg7XG59XG5cbi8qXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cbkNvcHlyaWdodCAyMDE2IE9wZW5NYXJrZXQgTHRkXG5cblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cbiovXG5cbi5teF9GaWxlUGFuZWwge1xuICAgIC13ZWJraXQtYm94LW9yZGluYWwtZ3JvdXA6IDM7XG4gICAgICAgIC1tcy1mbGV4LW9yZGVyOiAyO1xuICAgICAgICAgICAgb3JkZXI6IDI7XG4gICAgLXdlYmtpdC1ib3gtZmxleDogMTtcbiAgICAgICAgLW1zLWZsZXg6IDEgMSAwcHg7XG4gICAgICAgICAgICBmbGV4OiAxIDEgMDtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICAgIGRpc3BsYXk6IGZsZXg7XG5cbiAgICAvKiBGSVhNRTogcmF0aGVyIHRoYW4gaGF2aW5nIEV2ZW50VGlsZSdzIGRlZmF1bHQgQ1NTIGJlIGZvciBNZXNzYWdlUGFuZWwsXG4gICB3ZSBzaG91bGQgbWFrZSBFdmVudFRpbGUgYSBiYXNlIENTUyBjbGFzcyBhbmQgY3VzdG9taXNlIGl0IHNwZWNpZmljYWxseVxuICAgZm9yIHVzYWdlIGluIHtNZXNzYWdlLEZpbGUsTm90aWZpY2F0aW9ufVBhbmVsLiAqL1xufVxuXG4ubXhfRmlsZVBhbmVsIC5teF9Sb29tVmlld19tZXNzYWdlTGlzdFdyYXBwZXIge1xuICAgICAgICAtd2Via2l0LWJveC1vcmllbnQ6IGhvcml6b250YWw7XG4gICAgICAgIC13ZWJraXQtYm94LWRpcmVjdGlvbjogbm9ybWFsO1xuICAgICAgICAgICAgLW1zLWZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgLXdlYmtpdC1ib3gtcGFjazogY2VudGVyO1xuICAgICAgICAgICAgLW1zLWZsZXgtcGFjazogY2VudGVyO1xuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIH1cblxuLm14X0ZpbGVQYW5lbCAubXhfUm9vbVZpZXdfTWVzc2FnZUxpc3Qge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgZ2FwOiB2YXIoLS1jcGQtc3BhY2UtNngpO1xuICAgIH1cblxuLyogT3ZlcnJpZGVzIGZvciB0aGUgYXR0YWNobWVudCBib2R5IHRpbGVzICovXG5cbi5teF9GaWxlUGFuZWwgLm14X0V2ZW50VGlsZSB7XG4gICAgICAgIHdvcmQtYnJlYWs6IGJyZWFrLXdvcmQ7XG4gICAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgIH1cblxuLm14X0ZpbGVQYW5lbCAubXhfRXZlbnRUaWxlICsgLm14X0V2ZW50VGlsZSB7XG4gICAgICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tY3BkLWNvbG9yLWdyYXktNDAwKTtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiB2YXIoLS1jcGQtc3BhY2UtNngpO1xuICAgICAgICB9XG5cbi5teF9GaWxlUGFuZWwgLm14X0V2ZW50VGlsZSAubXhfRXZlbnRUaWxlX2xpbmUge1xuICAgICAgICAgICAgLXdlYmtpdC1wYWRkaW5nLXN0YXJ0OiAwO1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWlubGluZS1zdGFydDogMDtcbiAgICAgICAgfVxuXG4ubXhfRmlsZVBhbmVsIC5teF9FdmVudFRpbGUgLm14X01GaWxlQm9keV9kb3dubG9hZCB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiB2YXIoLS1jcGQtc3BhY2UtNHgpO1xuICAgICAgICB9XG5cbi8qIGFuY2hvciBsaW5rIGFzIHdyYXBwZXIgKi9cblxuLm14X0ZpbGVQYW5lbCAubXhfRXZlbnRUaWxlIC5teF9FdmVudFRpbGVfc2VuZGVyRGV0YWlsc0xpbmsge1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogdmFyKC0tY3BkLXNwYWNlLTF4KTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB9XG5cbi5teF9GaWxlUGFuZWwgLm14X0V2ZW50VGlsZSAubXhfRXZlbnRUaWxlX3NlbmRlckRldGFpbHNMaW5rIC5teF9FdmVudFRpbGVfc2VuZGVyRGV0YWlscyB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAtMnB4O1xuICAgICAgICAgICAgICAgIGdhcDogdmFyKC0tY3BkLXNwYWNlLTJ4KTtcbiAgICAgICAgICAgICAgICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIH1cblxuLm14X0ZpbGVQYW5lbCAubXhfRXZlbnRUaWxlIC5teF9FdmVudFRpbGVfc2VuZGVyRGV0YWlsc0xpbmsgLm14X0V2ZW50VGlsZV9zZW5kZXJEZXRhaWxzIC5teF9EaXNhbWJpZ3VhdGVkUHJvZmlsZSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAjYTFiMmQxOyAvKiBmb3IgZWxsaXBzaXMuIENvbG9yIG9mIGRpc3BsYXlOYW1lIGFuZCBteGlkIGlzIGluaGVyaXRlZCAqL1xuICAgICAgICAgICAgICAgIH1cblxuLm14X0ZpbGVQYW5lbCAubXhfRXZlbnRUaWxlIC5teF9FdmVudFRpbGVfc2VuZGVyRGV0YWlsc0xpbmsgLm14X0V2ZW50VGlsZV9zZW5kZXJEZXRhaWxzIC5teF9NZXNzYWdlVGltZXN0YW1wIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICAgICAgICAgICAgICAgIGZvbnQ6IHZhcigtLWNwZC1mb250LWJvZHkteHMtcmVndWxhcik7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1jcGQtY29sb3ItdGV4dC1zZWNvbmRhcnkpO1xuICAgICAgICAgICAgICAgIH1cblxuLm14X0ZpbGVQYW5lbCAubXhfRXZlbnRUaWxlX2xpbmUge1xuICAgICAgICAtd2Via2l0LW1hcmdpbi1lbmQ6IDA7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWlubGluZS1lbmQ6IDA7XG4gICAgICAgIC13ZWJraXQtcGFkZGluZy1zdGFydDogMDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWlubGluZS1zdGFydDogMDtcbiAgICB9XG5cbi8qXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cbkNvcHlyaWdodCAyMDIyIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXG5cblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cbiovXG5cbi5teF9HZW5lcmljRHJvcGRvd25NZW51X2J1dHRvbiB7XG4gICAgcGFkZGluZzogM3B4IDRweCAzcHggOHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgICBsaW5lLWhlaWdodDogMS41O1xuICAgIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgICAgLW1vei11c2VyLXNlbGVjdDogbm9uZTtcbiAgICAgICAgLW1zLXVzZXItc2VsZWN0OiBub25lO1xuICAgICAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgZm9udC1zaXplOiAwLjc1cmVtO1xuICAgIGNvbG9yOiAjZWRmM2ZmO1xuICAgIGNvbG9yOiB2YXIoLS1zZWNvbmRhcnktY29udGVudCwgI2VkZjNmZik7XG59XG5cbi5teF9HZW5lcmljRHJvcGRvd25NZW51X2J1dHRvbjpob3Zlcixcbi5teF9HZW5lcmljRHJvcGRvd25NZW51X2J1dHRvblthcmlhLWV4cGFuZGVkPVwidHJ1ZVwiXSB7XG4gICAgYmFja2dyb3VuZDogIzZmNzg4MjtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1xdWluYXJ5LWNvbnRlbnQsICM2Zjc4ODIpO1xufVxuXG4ubXhfR2VuZXJpY0Ryb3Bkb3duTWVudV9idXR0b246OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICB3aWR0aDogMThweDtcbiAgICBoZWlnaHQ6IDE4cHg7XG4gICAgYmFja2dyb3VuZDogY3VycmVudENvbG9yO1xuICAgIC13ZWJraXQtbWFzay1pbWFnZTogdXJsKFwiQHZlY3Rvci1pbS9jb21wb3VuZC1kZXNpZ24tdG9rZW5zL2ljb25zL2NoZXZyb24tZG93bi5zdmdcIik7XG4gICAgICAgICAgICBtYXNrLWltYWdlOiB1cmwoXCJAdmVjdG9yLWltL2NvbXBvdW5kLWRlc2lnbi10b2tlbnMvaWNvbnMvY2hldnJvbi1kb3duLnN2Z1wiKTtcbiAgICAtd2Via2l0LW1hc2stc2l6ZTogMTAwJTtcbiAgICAgICAgICAgIG1hc2stc2l6ZTogMTAwJTtcbiAgICAtd2Via2l0LW1hc2stcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgICBtYXNrLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGZsb2F0OiByaWdodDtcbn1cblxuLm14X0NvbnRleHR1YWxNZW51X3dyYXBwZXIubXhfR2VuZXJpY0Ryb3Bkb3duTWVudV93cmFwcGVyIC5teF9Db250ZXh0dWFsTWVudSB7XG4gICAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgICAgIHBvc2l0aW9uOiBpbml0aWFsO1xuXG4gICAgICAgIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgICAgICAgY29sb3I6ICNlZGYzZmY7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1zZWNvbmRhcnktY29udGVudCwgI2VkZjNmZik7XG4gICAgICAgIHBhZGRpbmctdG9wOiAxMHB4O1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTBweDtcblxuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjNmY3ODgyO1xuXG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLXF1aW5hcnktY29udGVudCwgIzZmNzg4Mik7XG4gICAgICAgIC13ZWJraXQtYm94LXNoYWRvdzogMCAxcHggM3B4IHJnYmEoMjMsIDI1LCAyOCwgMC4wNSk7XG4gICAgICAgICAgICAgICAgYm94LXNoYWRvdzogMCAxcHggM3B4IHJnYmEoMjMsIDI1LCAyOCwgMC4wNSk7XG4gICAgfVxuXG4ubXhfQ29udGV4dHVhbE1lbnVfd3JhcHBlci5teF9HZW5lcmljRHJvcGRvd25NZW51X3dyYXBwZXIgLm14X0NvbnRleHR1YWxNZW51X2NoZXZyb25fdG9wIHtcbiAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgcmlnaHQ6IDIycHg7XG4gICAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICM2Zjc4ODI7XG4gICAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6IHZhcigtLXF1aW5hcnktY29udGVudCwgIzZmNzg4Mik7XG4gICAgfVxuXG4ubXhfQ29udGV4dHVhbE1lbnVfd3JhcHBlci5teF9HZW5lcmljRHJvcGRvd25NZW51X3dyYXBwZXIgLm14X0NvbnRleHR1YWxNZW51X2NoZXZyb25fdG9wOjphZnRlciB7XG4gICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgYm9yZGVyOiBpbmhlcml0O1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogdmFyKC0tdGltZWxpbmUtYmFja2dyb3VuZC1jb2xvcik7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IDFweDtcbiAgICAgICAgICAgIGxlZnQ6IC04cHg7XG4gICAgICAgIH1cblxuLm14X0NvbnRleHR1YWxNZW51X3dyYXBwZXIubXhfR2VuZXJpY0Ryb3Bkb3duTWVudV93cmFwcGVyIC5teF9HZW5lcmljRHJvcGRvd25NZW51X2RpdmlkZXIge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgaGVpZ2h0OiAwO1xuICAgICAgICBtYXJnaW4tbGVmdDogNHB4O1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDE5cHg7XG4gICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjNmY3ODgyO1xuICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tcXVpbmFyeS1jb250ZW50LCAjNmY3ODgyKTtcbiAgICB9XG5cbi5teF9Db250ZXh0dWFsTWVudV93cmFwcGVyLm14X0dlbmVyaWNEcm9wZG93bk1lbnVfd3JhcHBlciAubXhfR2VuZXJpY0Ryb3Bkb3duTWVudV9PcHRpb24ge1xuICAgICAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgICAgICAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIC13ZWJraXQtYm94LWZsZXg6IDE7XG4gICAgICAgICAgICAtbXMtZmxleC1wb3NpdGl2ZTogMTtcbiAgICAgICAgICAgICAgICBmbGV4LWdyb3c6IDE7XG4gICAgICAgIC13ZWJraXQtYm94LW9yaWVudDogaG9yaXpvbnRhbDtcbiAgICAgICAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiBub3JtYWw7XG4gICAgICAgICAgICAtbXMtZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBwYWRkaW5nOiAxMHB4IDIwcHggMTBweCAzMHB4O1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgfVxuXG4ubXhfQ29udGV4dHVhbE1lbnVfd3JhcHBlci5teF9HZW5lcmljRHJvcGRvd25NZW51X3dyYXBwZXIgLm14X0dlbmVyaWNEcm9wZG93bk1lbnVfT3B0aW9uID4gLm14X0dlbmVyaWNEcm9wZG93bk1lbnVfT3B0aW9uLS1sYWJlbCB7XG4gICAgICAgICAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgICAgICAgICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWw7XG4gICAgICAgICAgICAtd2Via2l0LWJveC1kaXJlY3Rpb246IG5vcm1hbDtcbiAgICAgICAgICAgICAgICAtbXMtZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgIC13ZWJraXQtYm94LWZsZXg6IDE7XG4gICAgICAgICAgICAgICAgLW1zLWZsZXgtcG9zaXRpdmU6IDE7XG4gICAgICAgICAgICAgICAgICAgIGZsZXgtZ3JvdzogMTtcblxuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB9XG5cbi5teF9Db250ZXh0dWFsTWVudV93cmFwcGVyLm14X0dlbmVyaWNEcm9wZG93bk1lbnVfd3JhcHBlciAubXhfR2VuZXJpY0Ryb3Bkb3duTWVudV9PcHRpb24gPiAubXhfR2VuZXJpY0Ryb3Bkb3duTWVudV9PcHRpb24tLWxhYmVsIHNwYW46Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS10aW1lbGluZS10ZXh0LWNvbG9yKTtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogdmFyKC0tY3BkLWZvbnQtd2VpZ2h0LXNlbWlib2xkKTtcbiAgICAgICAgICAgIH1cblxuLm14X0NvbnRleHR1YWxNZW51X3dyYXBwZXIubXhfR2VuZXJpY0Ryb3Bkb3duTWVudV93cmFwcGVyIC5teF9HZW5lcmljRHJvcGRvd25NZW51X09wdGlvbi5teF9HZW5lcmljRHJvcGRvd25NZW51X09wdGlvbi0taGVhZGVyID4gLm14X0dlbmVyaWNEcm9wZG93bk1lbnVfT3B0aW9uLS1sYWJlbCBzcGFuOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICAgICAgICB9XG5cbi5teF9Db250ZXh0dWFsTWVudV93cmFwcGVyLm14X0dlbmVyaWNEcm9wZG93bk1lbnVfd3JhcHBlciAubXhfR2VuZXJpY0Ryb3Bkb3duTWVudV9PcHRpb24ubXhfR2VuZXJpY0Ryb3Bkb3duTWVudV9PcHRpb24tLWl0ZW06aG92ZXIge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMzNDNhNDY7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbWVudS1zZWxlY3RlZC1jb2xvciwgIzM0M2E0Nik7XG4gICAgICAgICAgICB9XG5cbi5teF9Db250ZXh0dWFsTWVudV93cmFwcGVyLm14X0dlbmVyaWNEcm9wZG93bk1lbnVfd3JhcHBlciAubXhfR2VuZXJpY0Ryb3Bkb3duTWVudV9PcHRpb24ubXhfR2VuZXJpY0Ryb3Bkb3duTWVudV9PcHRpb24tLWl0ZW1bYXJpYS1jaGVja2VkPVwidHJ1ZVwiXTo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxNnB4O1xuICAgICAgICAgICAgICAgIGhlaWdodDogMTZweDtcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogLTIycHg7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiA2cHg7XG4gICAgICAgICAgICAgICAgLXdlYmtpdC1tYXNrLWltYWdlOiB1cmwoXCJAdmVjdG9yLWltL2NvbXBvdW5kLWRlc2lnbi10b2tlbnMvaWNvbnMvY2hlY2suc3ZnXCIpO1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFzay1pbWFnZTogdXJsKFwiQHZlY3Rvci1pbS9jb21wb3VuZC1kZXNpZ24tdG9rZW5zL2ljb25zL2NoZWNrLnN2Z1wiKTtcbiAgICAgICAgICAgICAgICAtd2Via2l0LW1hc2stc2l6ZTogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hc2stc2l6ZTogMTAwJTtcbiAgICAgICAgICAgICAgICAtd2Via2l0LW1hc2stcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXNrLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXRpbWVsaW5lLXRleHQtY29sb3IpO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICAgICAgfVxuXG4vKlxuQ29weXJpZ2h0IDIwMTktMjAyNCBOZXcgVmVjdG9yIEx0ZC5cbkNvcHlyaWdodCAyMDE3IFZlY3RvciBDcmVhdGlvbnMgTHRkXG5Db3B5cmlnaHQgMjAxNiBPcGVuTWFya2V0IEx0ZFxuXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXG4qL1xuXG4ubXhfSG9tZVBhZ2Uge1xuICAgIG1heC13aWR0aDogOTYwcHg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbn1cblxuLm14X0hvbWVQYWdlX2RlZmF1bHQge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgICBkaXNwbGF5OiBmbGV4O1xufVxuXG4ubXhfSG9tZVBhZ2VfZGVmYXVsdCAubXhfSG9tZVBhZ2VfZGVmYXVsdF93cmFwcGVyIHtcbiAgICAgICAgbWFyZ2luOiBhdXRvO1xuICAgIH1cblxuLm14X0hvbWVQYWdlX2RlZmF1bHQgaW1nIHtcbiAgICAgICAgaGVpZ2h0OiA0OHB4O1xuICAgIH1cblxuLm14X0hvbWVQYWdlX2RlZmF1bHQgaDEge1xuICAgICAgICBmb250LXdlaWdodDogdmFyKC0tY3BkLWZvbnQtd2VpZ2h0LXNlbWlib2xkKTtcbiAgICAgICAgZm9udC1zaXplOiAycmVtO1xuICAgICAgICBsaW5lLWhlaWdodDogMS4zNzU7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDRweDtcbiAgICB9XG5cbi5teF9Ib21lUGFnZV9kZWZhdWx0IGgyIHtcbiAgICAgICAgbWFyZ2luLXRvcDogNHB4O1xuICAgICAgICBmb250LXdlaWdodDogdmFyKC0tY3BkLWZvbnQtd2VpZ2h0LXNlbWlib2xkKTtcbiAgICAgICAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNTYyNXJlbTtcbiAgICAgICAgY29sb3I6ICNhMWIyZDE7XG4gICAgfVxuXG4ubXhfSG9tZVBhZ2VfZGVmYXVsdCAubXhfTWluaUF2YXRhclVwbG9hZGVyIHtcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgfVxuXG4ubXhfSG9tZVBhZ2VfZGVmYXVsdCAubXhfSG9tZVBhZ2VfZGVmYXVsdF9idXR0b25zIHtcbiAgICAgICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gICAgICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBtYXJnaW46IDYwcHggYXV0byAwO1xuICAgICAgICB3aWR0aDogLXdlYmtpdC1maXQtY29udGVudDtcbiAgICAgICAgd2lkdGg6IC1tb3otZml0LWNvbnRlbnQ7XG4gICAgICAgIHdpZHRoOiBmaXQtY29udGVudDtcbiAgICB9XG5cbi5teF9Ib21lUGFnZV9kZWZhdWx0IC5teF9Ib21lUGFnZV9kZWZhdWx0X2J1dHRvbnMgLm14X0FjY2Vzc2libGVCdXR0b24ge1xuICAgICAgICAgICAgcGFkZGluZzogNzNweCA4cHggMTVweDsgLyogdG9wOiAyMHB4IHRvcCBwYWRkaW5nICsgNDBweCBpY29uICsgMTNweCBtYXJnaW4gKi9cblxuICAgICAgICAgICAgd2lkdGg6IDE2MHB4O1xuICAgICAgICAgICAgbWluLWhlaWdodDogMTMycHg7XG4gICAgICAgICAgICBtYXJnaW46IDIwcHg7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgICAgICAgICAgd29yZC1icmVhazogYnJlYWstd29yZDtcbiAgICAgICAgICAgIC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgICAgICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcblxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLWNwZC1mb250LXdlaWdodC1zZW1pYm9sZCk7XG4gICAgICAgICAgICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI1cmVtO1xuICAgICAgICAgICAgY29sb3I6ICNmZmY7IC8qIG9uIGFsbCB0aGVtZXMgKi9cbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwZGJkOGI7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1hY2NlbnQtY29sb3IsICMwZGJkOGIpO1xuICAgICAgICB9XG5cbi5teF9Ib21lUGFnZV9kZWZhdWx0IC5teF9Ib21lUGFnZV9kZWZhdWx0X2J1dHRvbnMgLm14X0FjY2Vzc2libGVCdXR0b246OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgdG9wOiAyMHB4O1xuICAgICAgICAgICAgICAgIGxlZnQ6IDYwcHg7IC8qICgxNjBweC00MHB4KS8yICovXG4gICAgICAgICAgICAgICAgd2lkdGg6IDQwcHg7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiA0MHB4O1xuXG4gICAgICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsgLyogb24gYWxsIHRoZW1lcyAqL1xuICAgICAgICAgICAgICAgIC13ZWJraXQtbWFzay1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hc2stcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgICAgICAgLXdlYmtpdC1tYXNrLXNpemU6IGNvbnRhaW47XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXNrLXNpemU6IGNvbnRhaW47XG4gICAgICAgICAgICB9XG5cbi5teF9Ib21lUGFnZV9kZWZhdWx0IC5teF9Ib21lUGFnZV9kZWZhdWx0X2J1dHRvbnMgLm14X0FjY2Vzc2libGVCdXR0b24ubXhfSG9tZVBhZ2VfYnV0dG9uX3NlbmREbTo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAtd2Via2l0LW1hc2staW1hZ2U6IHVybChcIi4uLy4uLy4uL2ltZy9lbGVtZW50LWljb25zL2ZlZWRiYWNrLnN2Z1wiKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hc2staW1hZ2U6IHVybChcIi4uLy4uLy4uL2ltZy9lbGVtZW50LWljb25zL2ZlZWRiYWNrLnN2Z1wiKTtcbiAgICAgICAgICAgIH1cblxuLm14X0hvbWVQYWdlX2RlZmF1bHQgLm14X0hvbWVQYWdlX2RlZmF1bHRfYnV0dG9ucyAubXhfQWNjZXNzaWJsZUJ1dHRvbi5teF9Ib21lUGFnZV9idXR0b25fZXhwbG9yZTo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAtd2Via2l0LW1hc2staW1hZ2U6IHVybChcIi4uLy4uLy4uL2ltZy9lbGVtZW50LWljb25zL3Jvb21saXN0L2V4cGxvcmUuc3ZnXCIpO1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFzay1pbWFnZTogdXJsKFwiLi4vLi4vLi4vaW1nL2VsZW1lbnQtaWNvbnMvcm9vbWxpc3QvZXhwbG9yZS5zdmdcIik7XG4gICAgICAgICAgICB9XG5cbi5teF9Ib21lUGFnZV9kZWZhdWx0IC5teF9Ib21lUGFnZV9kZWZhdWx0X2J1dHRvbnMgLm14X0FjY2Vzc2libGVCdXR0b24ubXhfSG9tZVBhZ2VfYnV0dG9uX2NyZWF0ZUdyb3VwOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIC13ZWJraXQtbWFzay1pbWFnZTogdXJsKFwiLi4vLi4vLi4vaW1nL2VsZW1lbnQtaWNvbnMvZ3JvdXAtbWVtYmVycy5zdmdcIik7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXNrLWltYWdlOiB1cmwoXCIuLi8uLi8uLi9pbWcvZWxlbWVudC1pY29ucy9ncm91cC1tZW1iZXJzLnN2Z1wiKTtcbiAgICAgICAgICAgIH1cblxuLypcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxuQ29weXJpZ2h0IDIwMjIgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cblxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuKi9cblxuLm14X0xhcmdlTG9hZGVyIHtcbiAgICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO1xuICAgICAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWw7XG4gICAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiBub3JtYWw7XG4gICAgICAgIC1tcy1mbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBoZWlnaHQ6IDEwMCU7XG59XG5cbi5teF9MYXJnZUxvYWRlciAubXhfU3Bpbm5lciB7XG4gICAgICAgIC13ZWJraXQtYm94LWZsZXg6IGluaXRpYWw7XG4gICAgICAgICAgICAtbXMtZmxleDogaW5pdGlhbDtcbiAgICAgICAgICAgICAgICBmbGV4OiBpbml0aWFsO1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDMycHg7XG4gICAgICAgIG1hcmdpbi10b3A6IDMzdmg7XG4gICAgfVxuXG4ubXhfTGFyZ2VMb2FkZXIgLm14X0xhcmdlTG9hZGVyX3RleHQge1xuICAgICAgICBmb250LXNpemU6IDI0cHg7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1jcGQtZm9udC13ZWlnaHQtc2VtaWJvbGQpO1xuICAgICAgICBwYWRkaW5nOiAwIDE2cHg7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cblxuLypcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxuQ29weXJpZ2h0IDIwMjAgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cblxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuKi9cblxuLm14X01hdHJpeENoYXQtLXdpdGgtYXZhdGFyIC5teF9MZWZ0UGFuZWwsXG4gICAgLm14X01hdHJpeENoYXQtLXdpdGgtYXZhdGFyIC5teF9MZWZ0UGFuZWwgLm14X0xlZnRQYW5lbF9yb29tTGlzdENvbnRhaW5lciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIH1cblxuLm14X0xlZnRQYW5lbF9vdXRlcldyYXBwZXIge1xuICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcbiAgICAtd2Via2l0LWJveC1kaXJlY3Rpb246IG5vcm1hbDtcbiAgICAgICAgLW1zLWZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIG1heC13aWR0aDogNTAlO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgIC8qIENvbnRhaW4gdGhlIGFtb3VudCBvZiBsYXllcnMgcmVuZGVyZWQgYnkgY29uc3RyYWluaW5nIHdoYXQgYWN0dWFsbHkgbmVlZHMgcmUtbGF5ZXJpbmcgdmlhIGNzcyAqL1xuICAgIGNvbnRhaW46IGxheW91dCBwYWludDtcbn1cblxuLm14X0xlZnRQYW5lbF93cmFwcGVyLFxuLm14X0xlZnRQYW5lbCB7XG4gICAgLS1jb2xsYXBzZWRXaWR0aDogNjhweDtcbn1cblxuLm14X0xlZnRQYW5lbF93cmFwcGVyIHtcbiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIC13ZWJraXQtYm94LW9yaWVudDogaG9yaXpvbnRhbDtcbiAgICAtd2Via2l0LWJveC1kaXJlY3Rpb246IG5vcm1hbDtcbiAgICAgICAgLW1zLWZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIC13ZWJraXQtYm94LWZsZXg6IDE7XG4gICAgICAgIC1tcy1mbGV4OiAxO1xuICAgICAgICAgICAgZmxleDogMTtcbiAgICBoZWlnaHQ6IDEwMCU7IC8qIGVuc3VyZSBzcGFjZSBwYW5lbCBpcyBzdGlsbCBzY3JvbGxhYmxlIHdpdGggYW4gb3V0ZXIgd3JhcHBlciAqL1xufVxuXG4ubXhfTGVmdFBhbmVsX3dyYXBwZXIgLm14X0xlZnRQYW5lbF93cmFwcGVyLS11c2VyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcm9vbWxpc3QtYmFja2dyb3VuZC1jb2xvcik7XG4gICAgICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICAgICAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIH1cblxuLm14X0xlZnRQYW5lbF93cmFwcGVyIC5teF9MZWZ0UGFuZWxfd3JhcHBlci0tdXNlcltkYXRhLWNvbGxhcHNlZF0ge1xuICAgICAgICAgICAgbWF4LXdpZHRoOiB2YXIoLS1jb2xsYXBzZWRXaWR0aCk7XG4gICAgICAgIH1cblxuLm14X0xlZnRQYW5lbCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcm9vbWxpc3QtYmFja2dyb3VuZC1jb2xvcik7XG5cbiAgICAvKiBDcmVhdGUgYSByb3ctYmFzZWQgZmxleGJveCBmb3IgdGhlIHNwYWNlIHBhbmVsIGFuZCB0aGUgcm9vbSBsaXN0ICovXG4gICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gICAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBjb250YWluOiBjb250ZW50O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAtd2Via2l0LWJveC1mbGV4OiAxO1xuICAgICAgICAtbXMtZmxleC1wb3NpdGl2ZTogMTtcbiAgICAgICAgICAgIGZsZXgtZ3JvdzogMTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgLyogTm90ZTogVGhlICdyb29tIGxpc3QnIGluIHRoaXMgY29udGV4dCBpcyBhY3R1YWxseSBldmVyeXRoaW5nIHRoYXQgaXNuJ3QgdGhlIHRhZyAqL1xufVxuXG4vKiBwYW5lbCwgc3VjaCBhcyB0aGUgbWVudSBvcHRpb25zLCBicmVhZGNydW1icywgZmlsdGVyaW5nLCBldGMgKi9cblxuLm14X0xlZnRQYW5lbCAubXhfTGVmdFBhbmVsX3Jvb21MaXN0Q29udGFpbmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcm9vbWxpc3QtYmFja2dyb3VuZC1jb2xvcik7XG4gICAgICAgIC13ZWJraXQtYm94LWZsZXg6IDE7XG4gICAgICAgICAgICAtbXMtZmxleDogMSAwIDBweDtcbiAgICAgICAgICAgICAgICBmbGV4OiAxIDAgMDtcbiAgICAgICAgbWluLXdpZHRoOiAwO1xuICAgICAgICAvKiBDcmVhdGUgYW5vdGhlciBmbGV4Ym94ICh0aGlzIHRpbWUgYSBjb2x1bW4pIGZvciB0aGUgcm9vbSBsaXN0IGNvbXBvbmVudHMgKi9cbiAgICAgICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gICAgICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xuICAgICAgICAtd2Via2l0LWJveC1kaXJlY3Rpb246IG5vcm1hbDtcbiAgICAgICAgICAgIC1tcy1mbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgfVxuXG4ubXhfTGVmdFBhbmVsIC5teF9MZWZ0UGFuZWxfcm9vbUxpc3RDb250YWluZXIgLm14X0xlZnRQYW5lbF91c2VySGVhZGVyIHtcbiAgICAgICAgICAgIC8qIDEycHggdG9wLCAxMnB4IHNpZGVzLCAyMHB4IGJvdHRvbSAodXNpbmcgMTNweCBib3R0b20gdG8gYWNjb3VudFxuICAgICAgICAgICAgICogZm9yIGludGVybmFsIHdoaXRlc3BhY2UgaW4gdGhlIGJyZWFkY3J1bWJzKVxuICAgICAgICAgICAgICovXG4gICAgICAgICAgICBwYWRkaW5nOiAxMnB4O1xuICAgICAgICAgICAgLW1zLWZsZXgtbmVnYXRpdmU6IDA7XG4gICAgICAgICAgICAgICAgZmxleC1zaHJpbms6IDA7IC8qIHRvIGNvbnZpbmNlIHNhZmFyaSdzIGxheW91dCBlbmdpbmUgdGhlIGZsZXhib3ggaXMgZmluZSAqL1xuXG4gICAgICAgICAgICAvKiBDcmVhdGUgYW5vdGhlciBmbGV4Ym94IGNvbHVtbiBmb3IgdGhlIHJvd3MgdG8gc3RhY2sgd2l0aGluICovXG4gICAgICAgICAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgICAgICAgICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWw7XG4gICAgICAgICAgICAtd2Via2l0LWJveC1kaXJlY3Rpb246IG5vcm1hbDtcbiAgICAgICAgICAgICAgICAtbXMtZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgfVxuXG4ubXhfTGVmdFBhbmVsIC5teF9MZWZ0UGFuZWxfcm9vbUxpc3RDb250YWluZXIgLm14X0xlZnRQYW5lbF9icmVhZGNydW1ic0NvbnRhaW5lciB7XG4gICAgICAgICAgICBvdmVyZmxvdy15OiBoaWRkZW47XG4gICAgICAgICAgICBvdmVyZmxvdy14OiBzY3JvbGw7XG4gICAgICAgICAgICBtYXJnaW46IDEycHggMTJweCAwIDEycHg7XG4gICAgICAgICAgICAtd2Via2l0LWJveC1mbGV4OiAwO1xuICAgICAgICAgICAgICAgIC1tcy1mbGV4OiAwIDAgYXV0bztcbiAgICAgICAgICAgICAgICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgICAgICAgICAvKiBDcmVhdGUgeWV0IGFub3RoZXIgZmxleGJveCwgdGhpcyB0aW1lIHdpdGhpbiB0aGUgcm93LCB0byBlbnN1cmUgaXRlbXMgc3RheSAqL1xuICAgICAgICAgICAgLyogYWxpZ25lZCBjb3JyZWN0bHkuIFRoaXMgaXMgYWxzbyBhIHJvdy1iYXNlZCBmbGV4Ym94LiAqL1xuICAgICAgICAgICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gICAgICAgICAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICBjb250YWluOiBjb250ZW50O1xuICAgICAgICB9XG5cbi5teF9MZWZ0UGFuZWwgLm14X0xlZnRQYW5lbF9yb29tTGlzdENvbnRhaW5lciAubXhfTGVmdFBhbmVsX2JyZWFkY3J1bWJzQ29udGFpbmVyLm14X0luZGljYXRvclNjcm9sbGJhcl9sZWZ0T3ZlcmZsb3cge1xuICAgICAgICAgICAgICAgIC13ZWJraXQtbWFzay1pbWFnZTogLXdlYmtpdC1ncmFkaWVudChsaW5lYXIsIGxlZnQgdG9wLCByaWdodCB0b3AsIGZyb20odHJhbnNwYXJlbnQpLCBjb2xvci1zdG9wKDUlLCBibGFjaykpO1xuICAgICAgICAgICAgICAgIC13ZWJraXQtbWFzay1pbWFnZTogbGluZWFyLWdyYWRpZW50KDkwZGVnLCB0cmFuc3BhcmVudCwgYmxhY2sgNSUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFzay1pbWFnZTogLXdlYmtpdC1ncmFkaWVudChsaW5lYXIsIGxlZnQgdG9wLCByaWdodCB0b3AsIGZyb20odHJhbnNwYXJlbnQpLCBjb2xvci1zdG9wKDUlLCBibGFjaykpO1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFzay1pbWFnZTogbGluZWFyLWdyYWRpZW50KDkwZGVnLCB0cmFuc3BhcmVudCwgYmxhY2sgNSUpO1xuICAgICAgICAgICAgfVxuXG4ubXhfTGVmdFBhbmVsIC5teF9MZWZ0UGFuZWxfcm9vbUxpc3RDb250YWluZXIgLm14X0xlZnRQYW5lbF9icmVhZGNydW1ic0NvbnRhaW5lci5teF9JbmRpY2F0b3JTY3JvbGxiYXJfcmlnaHRPdmVyZmxvdyB7XG4gICAgICAgICAgICAgICAgLXdlYmtpdC1tYXNrLWltYWdlOiAtd2Via2l0LWdyYWRpZW50KGxpbmVhciwgbGVmdCB0b3AsIHJpZ2h0IHRvcCwgZnJvbShibGFjayksIGNvbG9yLXN0b3AoOTUlLCBibGFjayksIHRvKHRyYW5zcGFyZW50KSk7XG4gICAgICAgICAgICAgICAgLXdlYmtpdC1tYXNrLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoOTBkZWcsIGJsYWNrLCBibGFjayA5NSUsIHRyYW5zcGFyZW50KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hc2staW1hZ2U6IC13ZWJraXQtZ3JhZGllbnQobGluZWFyLCBsZWZ0IHRvcCwgcmlnaHQgdG9wLCBmcm9tKGJsYWNrKSwgY29sb3Itc3RvcCg5NSUsIGJsYWNrKSwgdG8odHJhbnNwYXJlbnQpKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hc2staW1hZ2U6IGxpbmVhci1ncmFkaWVudCg5MGRlZywgYmxhY2ssIGJsYWNrIDk1JSwgdHJhbnNwYXJlbnQpO1xuICAgICAgICAgICAgfVxuXG4ubXhfTGVmdFBhbmVsIC5teF9MZWZ0UGFuZWxfcm9vbUxpc3RDb250YWluZXIgLm14X0xlZnRQYW5lbF9icmVhZGNydW1ic0NvbnRhaW5lci5teF9JbmRpY2F0b3JTY3JvbGxiYXJfcmlnaHRPdmVyZmxvdy5teF9JbmRpY2F0b3JTY3JvbGxiYXJfbGVmdE92ZXJmbG93IHtcbiAgICAgICAgICAgICAgICAtd2Via2l0LW1hc2staW1hZ2U6IC13ZWJraXQtZ3JhZGllbnQobGluZWFyLCBsZWZ0IHRvcCwgcmlnaHQgdG9wLCBmcm9tKHRyYW5zcGFyZW50KSwgY29sb3Itc3RvcCg1JSwgYmxhY2spLCBjb2xvci1zdG9wKDk1JSwgYmxhY2spLCB0byh0cmFuc3BhcmVudCkpO1xuICAgICAgICAgICAgICAgIC13ZWJraXQtbWFzay1pbWFnZTogbGluZWFyLWdyYWRpZW50KDkwZGVnLCB0cmFuc3BhcmVudCwgYmxhY2sgNSUsIGJsYWNrIDk1JSwgdHJhbnNwYXJlbnQpO1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFzay1pbWFnZTogLXdlYmtpdC1ncmFkaWVudChsaW5lYXIsIGxlZnQgdG9wLCByaWdodCB0b3AsIGZyb20odHJhbnNwYXJlbnQpLCBjb2xvci1zdG9wKDUlLCBibGFjayksIGNvbG9yLXN0b3AoOTUlLCBibGFjayksIHRvKHRyYW5zcGFyZW50KSk7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXNrLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoOTBkZWcsIHRyYW5zcGFyZW50LCBibGFjayA1JSwgYmxhY2sgOTUlLCB0cmFuc3BhcmVudCk7XG4gICAgICAgICAgICB9XG5cbi5teF9MZWZ0UGFuZWwgLm14X0xlZnRQYW5lbF9yb29tTGlzdENvbnRhaW5lciAubXhfTGVmdFBhbmVsX2ZpbHRlckNvbnRhaW5lciB7XG4gICAgICAgICAgICBtYXJnaW46IDAgMTJweDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDEycHggMCA4cHg7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzZmNzg4MjtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1xdWluYXJ5LWNvbnRlbnQsICM2Zjc4ODIpO1xuXG4gICAgICAgICAgICAtbXMtZmxleC1uZWdhdGl2ZTogMDtcblxuICAgICAgICAgICAgICAgIGZsZXgtc2hyaW5rOiAwOyAvKiB0byBjb252aW5jZSBzYWZhcmkncyBsYXlvdXQgZW5naW5lIHRoZSBmbGV4Ym94IGlzIGZpbmUgKi9cblxuICAgICAgICAgICAgLyogQ3JlYXRlIGEgZmxleGJveCB0byBvcmdhbml6ZSB0aGUgaW5wdXRzICovXG4gICAgICAgICAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgICAgICAgICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgfVxuXG4ubXhfTGVmdFBhbmVsIC5teF9MZWZ0UGFuZWxfcm9vbUxpc3RDb250YWluZXIgLm14X0xlZnRQYW5lbF9maWx0ZXJDb250YWluZXIgKyAubXhfUm9vbUxpc3RIZWFkZXIge1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDEycHg7XG4gICAgICAgICAgICB9XG5cbi5teF9MZWZ0UGFuZWwgLm14X0xlZnRQYW5lbF9yb29tTGlzdENvbnRhaW5lciAubXhfTGVmdFBhbmVsX2ZpbHRlckNvbnRhaW5lciAubXhfTGVmdFBhbmVsX2RpYWxQYWRCdXR0b24ge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAzMnB4O1xuICAgICAgICAgICAgICAgIGhlaWdodDogMzJweDtcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcm9vbWxpc3QtaGlnaGxpZ2h0cy1jb2xvcik7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiA4cHg7XG4gICAgICAgICAgICB9XG5cbi5teF9MZWZ0UGFuZWwgLm14X0xlZnRQYW5lbF9yb29tTGlzdENvbnRhaW5lciAubXhfTGVmdFBhbmVsX2ZpbHRlckNvbnRhaW5lciAubXhfTGVmdFBhbmVsX2RpYWxQYWRCdXR0b246OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgICAgdG9wOiA4cHg7XG4gICAgICAgICAgICAgICAgICAgIGxlZnQ6IDhweDtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDE2cHg7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogMTZweDtcbiAgICAgICAgICAgICAgICAgICAgLXdlYmtpdC1tYXNrLWltYWdlOiB1cmwoXCIuLi8uLi8uLi9pbWcvZWxlbWVudC1pY29ucy9jYWxsL2RpYWxwYWQuc3ZnXCIpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hc2staW1hZ2U6IHVybChcIi4uLy4uLy4uL2ltZy9lbGVtZW50LWljb25zL2NhbGwvZGlhbHBhZC5zdmdcIik7XG4gICAgICAgICAgICAgICAgICAgIC13ZWJraXQtbWFzay1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hc2stcG9zaXRpb246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgLXdlYmtpdC1tYXNrLXNpemU6IGNvbnRhaW47XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFzay1zaXplOiBjb250YWluO1xuICAgICAgICAgICAgICAgICAgICAtd2Via2l0LW1hc2stcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFzay1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2VkZjNmZjtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tc2Vjb25kYXJ5LWNvbnRlbnQsICNlZGYzZmYpO1xuICAgICAgICAgICAgICAgIH1cblxuLm14X0xlZnRQYW5lbCAubXhfTGVmdFBhbmVsX3Jvb21MaXN0Q29udGFpbmVyIC5teF9MZWZ0UGFuZWxfZmlsdGVyQ29udGFpbmVyIC5teF9MZWZ0UGFuZWxfZXhwbG9yZUJ1dHRvbixcbiAgICAgICAgICAgIC5teF9MZWZ0UGFuZWwgLm14X0xlZnRQYW5lbF9yb29tTGlzdENvbnRhaW5lciAubXhfTGVmdFBhbmVsX2ZpbHRlckNvbnRhaW5lciAubXhfTGVmdFBhbmVsX3JlY2VudHNCdXR0b24ge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAzMnB4O1xuICAgICAgICAgICAgICAgIGhlaWdodDogMzJweDtcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcm9vbWxpc3QtaGlnaGxpZ2h0cy1jb2xvcik7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiA4cHg7XG4gICAgICAgICAgICB9XG5cbi5teF9MZWZ0UGFuZWwgLm14X0xlZnRQYW5lbF9yb29tTGlzdENvbnRhaW5lciAubXhfTGVmdFBhbmVsX2ZpbHRlckNvbnRhaW5lciAubXhfTGVmdFBhbmVsX2V4cGxvcmVCdXR0b246OmJlZm9yZSwgLm14X0xlZnRQYW5lbCAubXhfTGVmdFBhbmVsX3Jvb21MaXN0Q29udGFpbmVyIC5teF9MZWZ0UGFuZWxfZmlsdGVyQ29udGFpbmVyIC5teF9MZWZ0UGFuZWxfcmVjZW50c0J1dHRvbjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgICB0b3A6IDhweDtcbiAgICAgICAgICAgICAgICAgICAgbGVmdDogOHB4O1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTZweDtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxNnB4O1xuICAgICAgICAgICAgICAgICAgICAtd2Via2l0LW1hc2stcG9zaXRpb246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXNrLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgIC13ZWJraXQtbWFzay1zaXplOiBjb250YWluO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hc2stc2l6ZTogY29udGFpbjtcbiAgICAgICAgICAgICAgICAgICAgLXdlYmtpdC1tYXNrLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hc2stcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNlZGYzZmY7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXNlY29uZGFyeS1jb250ZW50LCAjZWRmM2ZmKTtcbiAgICAgICAgICAgICAgICB9XG5cbi5teF9MZWZ0UGFuZWwgLm14X0xlZnRQYW5lbF9yb29tTGlzdENvbnRhaW5lciAubXhfTGVmdFBhbmVsX2ZpbHRlckNvbnRhaW5lciAubXhfTGVmdFBhbmVsX2V4cGxvcmVCdXR0b246aG92ZXIsIC5teF9MZWZ0UGFuZWwgLm14X0xlZnRQYW5lbF9yb29tTGlzdENvbnRhaW5lciAubXhfTGVmdFBhbmVsX2ZpbHRlckNvbnRhaW5lciAubXhfTGVmdFBhbmVsX3JlY2VudHNCdXR0b246aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWRmM2ZmO1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS10ZXJ0aWFyeS1jb250ZW50LCAjZWRmM2ZmKTtcbiAgICAgICAgICAgICAgICB9XG5cbi5teF9MZWZ0UGFuZWwgLm14X0xlZnRQYW5lbF9yb29tTGlzdENvbnRhaW5lciAubXhfTGVmdFBhbmVsX2ZpbHRlckNvbnRhaW5lciAubXhfTGVmdFBhbmVsX2V4cGxvcmVCdXR0b246aG92ZXI6OmJlZm9yZSwgLm14X0xlZnRQYW5lbCAubXhfTGVmdFBhbmVsX3Jvb21MaXN0Q29udGFpbmVyIC5teF9MZWZ0UGFuZWxfZmlsdGVyQ29udGFpbmVyIC5teF9MZWZ0UGFuZWxfcmVjZW50c0J1dHRvbjpob3Zlcjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXRpbWVsaW5lLWJhY2tncm91bmQtY29sb3IpO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbi5teF9MZWZ0UGFuZWwgLm14X0xlZnRQYW5lbF9yb29tTGlzdENvbnRhaW5lciAubXhfTGVmdFBhbmVsX2ZpbHRlckNvbnRhaW5lciAubXhfTGVmdFBhbmVsX2V4cGxvcmVCdXR0b246OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgLXdlYmtpdC1tYXNrLWltYWdlOiB1cmwoXCIuLi8uLi8uLi9pbWcvZWxlbWVudC1pY29ucy9yb29tbGlzdC9leHBsb3JlLnN2Z1wiKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hc2staW1hZ2U6IHVybChcIi4uLy4uLy4uL2ltZy9lbGVtZW50LWljb25zL3Jvb21saXN0L2V4cGxvcmUuc3ZnXCIpO1xuICAgICAgICAgICAgfVxuXG4ubXhfTGVmdFBhbmVsIC5teF9MZWZ0UGFuZWxfcm9vbUxpc3RDb250YWluZXIgLm14X0xlZnRQYW5lbF9maWx0ZXJDb250YWluZXIgLm14X0xlZnRQYW5lbF9yZWNlbnRzQnV0dG9uOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIC13ZWJraXQtbWFzay1pbWFnZTogdXJsKFwiQHZlY3Rvci1pbS9jb21wb3VuZC1kZXNpZ24tdG9rZW5zL2ljb25zL3RpbWUuc3ZnXCIpO1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFzay1pbWFnZTogdXJsKFwiQHZlY3Rvci1pbS9jb21wb3VuZC1kZXNpZ24tdG9rZW5zL2ljb25zL3RpbWUuc3ZnXCIpO1xuICAgICAgICAgICAgfVxuXG4ubXhfTGVmdFBhbmVsIC5teF9MZWZ0UGFuZWxfcm9vbUxpc3RDb250YWluZXIgLm14X1Jvb21MaXN0SGVhZGVyOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDEycHg7XG4gICAgICAgIH1cblxuLm14X0xlZnRQYW5lbCAubXhfTGVmdFBhbmVsX3Jvb21MaXN0Q29udGFpbmVyIC5teF9MZWZ0UGFuZWxfcm9vbUxpc3RXcmFwcGVyIHtcbiAgICAgICAgICAgIC8qIE1ha2UgdGhlIHktc2Nyb2xsYmFyIG1vcmUgcmVzcG9uc2l2ZSAqL1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMnB4O1xuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDEwcHg7IC8qIHNvIHdlJ3JlIG5vdCB1cCBhZ2FpbnN0IHRoZSBzZWFyY2gvZmlsdGVyICovXG4gICAgICAgICAgICAtd2Via2l0LWJveC1mbGV4OiAxO1xuICAgICAgICAgICAgICAgIC1tcy1mbGV4OiAxIDAgMHB4O1xuICAgICAgICAgICAgICAgICAgICBmbGV4OiAxIDAgMDsgLyogbmVlZGVkIGluIFNhZmFyaSB0byBwcm9wZXJseSBzZXQgZmxleC1iYXNpcyAqL1xuICAgICAgICB9XG5cbi5teF9MZWZ0UGFuZWwgLm14X0xlZnRQYW5lbF9yb29tTGlzdENvbnRhaW5lciAubXhfTGVmdFBhbmVsX3Jvb21MaXN0V3JhcHBlci5teF9MZWZ0UGFuZWxfcm9vbUxpc3RXcmFwcGVyX3N0aWNreUJvdHRvbSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDMycHg7XG4gICAgICAgICAgICB9XG5cbi5teF9MZWZ0UGFuZWwgLm14X0xlZnRQYW5lbF9yb29tTGlzdENvbnRhaW5lciAubXhfTGVmdFBhbmVsX3Jvb21MaXN0V3JhcHBlci5teF9MZWZ0UGFuZWxfcm9vbUxpc3RXcmFwcGVyX3N0aWNreVRvcCB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy10b3A6IDMycHg7XG4gICAgICAgICAgICB9XG5cbi5teF9MZWZ0UGFuZWwgLm14X0xlZnRQYW5lbF9yb29tTGlzdENvbnRhaW5lciAubXhfTGVmdFBhbmVsX2FjdHVhbFJvb21MaXN0Q29udGFpbmVyIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgLyogZm9yIHN0aWNreSBoZWFkZXJzICovXG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7IC8qIGVuc3VyZSBzY3JvbGxpbmcgc3RpbGwgd29ya3MgKi9cbiAgICAgICAgfVxuXG4vKiBUaGVzZSBzdHlsZXMgb3ZlcnJpZGUgdGhlIGRlZmF1bHRzIGZvciB0aGUgbWluaW1pemVkICg2NnB4KSBsYXlvdXQgKi9cblxuLm14X0xlZnRQYW5lbC5teF9MZWZ0UGFuZWxfbWluaW1pemVkIHtcbiAgICAgICAgLXdlYmtpdC1ib3gtZmxleDogMDtcbiAgICAgICAgICAgIC1tcy1mbGV4LXBvc2l0aXZlOiAwO1xuICAgICAgICAgICAgICAgIGZsZXgtZ3JvdzogMDtcbiAgICAgICAgbWluLXdpZHRoOiAwO1xuICAgICAgICBtaW4td2lkdGg6IGluaXRpYWw7XG4gICAgICAgIHdpZHRoOiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgICAgIHdpZHRoOiBpbml0aWFsICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4ubXhfTGVmdFBhbmVsLm14X0xlZnRQYW5lbF9taW5pbWl6ZWQgLm14X0xlZnRQYW5lbF9yb29tTGlzdENvbnRhaW5lciB7XG4gICAgICAgICAgICB3aWR0aDogdmFyKC0tY29sbGFwc2VkV2lkdGgpO1xuICAgICAgICB9XG5cbi5teF9MZWZ0UGFuZWwubXhfTGVmdFBhbmVsX21pbmltaXplZCAubXhfTGVmdFBhbmVsX3Jvb21MaXN0Q29udGFpbmVyIC5teF9MZWZ0UGFuZWxfdXNlckhlYWRlciB7XG4gICAgICAgICAgICAgICAgLXdlYmtpdC1ib3gtb3JpZW50OiBob3Jpem9udGFsO1xuICAgICAgICAgICAgICAgIC13ZWJraXQtYm94LWRpcmVjdGlvbjogbm9ybWFsO1xuICAgICAgICAgICAgICAgICAgICAtbXMtZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgICAgICAgICAgLXdlYmtpdC1ib3gtcGFjazogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICAtbXMtZmxleC1wYWNrOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgIH1cblxuLm14X0xlZnRQYW5lbC5teF9MZWZ0UGFuZWxfbWluaW1pemVkIC5teF9MZWZ0UGFuZWxfcm9vbUxpc3RDb250YWluZXIgLm14X0xlZnRQYW5lbF9maWx0ZXJDb250YWluZXIge1xuICAgICAgICAgICAgICAgIC8qIE9yZ2FuaXplIHRoZSBmbGV4Ym94IGludG8gYSBjZW50ZXJlZCBjb2x1bW4gbGF5b3V0ICovXG4gICAgICAgICAgICAgICAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcbiAgICAgICAgICAgICAgICAtd2Via2l0LWJveC1kaXJlY3Rpb246IG5vcm1hbDtcbiAgICAgICAgICAgICAgICAgICAgLW1zLWZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgICAgIC13ZWJraXQtYm94LXBhY2s6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgLW1zLWZsZXgtcGFjazogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICB9XG5cbi5teF9MZWZ0UGFuZWwubXhfTGVmdFBhbmVsX21pbmltaXplZCAubXhfTGVmdFBhbmVsX3Jvb21MaXN0Q29udGFpbmVyIC5teF9MZWZ0UGFuZWxfZmlsdGVyQ29udGFpbmVyIC5teF9MZWZ0UGFuZWxfZGlhbFBhZEJ1dHRvbiB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiA4cHg7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgICAgIH1cblxuLm14X0xlZnRQYW5lbC5teF9MZWZ0UGFuZWxfbWluaW1pemVkIC5teF9MZWZ0UGFuZWxfcm9vbUxpc3RDb250YWluZXIgLm14X0xlZnRQYW5lbF9maWx0ZXJDb250YWluZXIgLm14X0xlZnRQYW5lbF9leHBsb3JlQnV0dG9uLFxuICAgICAgICAgICAgICAgIC5teF9MZWZ0UGFuZWwubXhfTGVmdFBhbmVsX21pbmltaXplZCAubXhfTGVmdFBhbmVsX3Jvb21MaXN0Q29udGFpbmVyIC5teF9MZWZ0UGFuZWxfZmlsdGVyQ29udGFpbmVyIC5teF9MZWZ0UGFuZWxfcmVjZW50c0J1dHRvbiB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiA4cHg7XG4gICAgICAgICAgICAgICAgfVxuXG4vKlxuQ29weXJpZ2h0IDIwMTktMjAyNCBOZXcgVmVjdG9yIEx0ZC5cblxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuKi9cblxuLm14X01haW5TcGxpdCB7XG4gICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gICAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICAtd2Via2l0LWJveC1vcmllbnQ6IGhvcml6b250YWw7XG4gICAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiBub3JtYWw7XG4gICAgICAgIC1tcy1mbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBtaW4td2lkdGg6IDA7XG4gICAgbWluLWhlaWdodDogMDtcbiAgICBoZWlnaHQ6IDEwMCU7XG59XG5cbi5teF9NYWluU3BsaXQgPiAubXhfUmlnaHRQYW5lbF9SZXNpemVXcmFwcGVyOmhvdmVyIC5teF9SZXNpemVIYW5kbGUtLWhvcml6b250YWw6OmJlZm9yZSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtMTUwJSwgLTUwJSk7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTE1MCUsIC01MCUpO1xuXG4gICAgICAgIGhlaWdodDogNjRweDsgLyogdG8gbWF0Y2ggd2lkdGggb2YgdGhlIG9uZXMgb24gcm9vbWxpc3QgKi9cbiAgICAgICAgd2lkdGg6IDRweDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4O1xuXG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG5cbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdGltZWxpbmUtdGV4dC1jb2xvcik7XG4gICAgICAgIG9wYWNpdHk6IDAuODtcbiAgICB9XG5cbi8qXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cbkNvcHlyaWdodCAyMDE1LCAyMDE2IE9wZW5NYXJrZXQgTHRkXG5cblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cbiovXG5cbi5teF9NYXRyaXhDaGF0X3NwbGFzaCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGhlaWdodDogMTAwJTtcbn1cblxuLm14X01hdHJpeENoYXRfd3JhcHBlciB7XG4gICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gICAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gICAgZGlzcGxheTogZmxleDtcblxuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbn1cblxuLm14X01hdHJpeFRvb2xiYXIge1xuICAgIC13ZWJraXQtYm94LW9yZGluYWwtZ3JvdXA6IDI7XG4gICAgICAgIC1tcy1mbGV4LW9yZGVyOiAxO1xuICAgICAgICAgICAgb3JkZXI6IDE7XG5cbiAgICBoZWlnaHQ6IDQwcHg7XG59XG5cbi5teF9NYXRyaXhDaGF0IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuXG4gICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG5cbiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcblxuICAgIGRpc3BsYXk6IGZsZXg7XG5cbiAgICAtd2Via2l0LWJveC1mbGV4OiAxO1xuXG4gICAgICAgIC1tcy1mbGV4OiAxO1xuXG4gICAgICAgICAgICBmbGV4OiAxO1xuICAgIG1pbi1oZWlnaHQ6IDA7XG59XG5cbi8qIG5vdCB0aGUgbGVmdCBwYW5lbCwgYW5kIG5vdCB0aGUgcmVzaXplIGhhbmRsZSwgc28gdGhlIHJvb212aWV3IGFuZCBmcmllbmRzICovXG5cbi5teF9NYXRyaXhDaGF0ID4gOm5vdCgubXhfTGVmdFBhbmVsKTpub3QoLm14X1NwYWNlUGFuZWwpOm5vdCgubXhfUmVzaXplSGFuZGxlKTpub3QoLm14X0xlZnRQYW5lbF9vdXRlcldyYXBwZXIpIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS10aW1lbGluZS1iYWNrZ3JvdW5kLWNvbG9yKTtcblxuICAgIC13ZWJraXQtYm94LWZsZXg6IDE7XG5cbiAgICAgICAgLW1zLWZsZXg6IDEgMSAwcHg7XG5cbiAgICAgICAgICAgIGZsZXg6IDEgMSAwO1xuICAgIG1pbi13aWR0aDogMDtcblxuICAgIC8qIFRvIGZpeCBodHRwczovL2dpdGh1Yi5jb20vdmVjdG9yLWltL2VsZW1lbnQtd2ViL2lzc3Vlcy8zMjk4IHdoZXJlIFNhZmFyaVxuICAgICAgIG5lZWRlZCBoZWlnaHQgMTAwJSBhbGwgdGhlIHdheSBkb3duIHRvIHRoZSBIb21lUGFnZS4gSGVpZ2h0IGRvZXMgbm90XG4gICAgICAgaGF2ZSB0byBiZSBhdXRvLCBlbXBpcmljYWxseS5cbiAgICAqL1xuICAgIGhlaWdodDogMTAwJTtcbn1cblxuLm14X01hdHJpeENoYXQgPiAubXhfUmVzaXplSGFuZGxlLS1ob3Jpem9udGFsOmhvdmVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5teF9NYXRyaXhDaGF0ID4gLm14X1Jlc2l6ZUhhbmRsZS0taG9yaXpvbnRhbDpob3Zlcjo6YmVmb3JlIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuXG4gICAgICAgIGhlaWdodDogNjRweDsgLyogdG8gbWF0Y2ggd2lkdGggb2YgdGhlIG9uZXMgb24gcm9vbWxpc3QgKi9cbiAgICAgICAgd2lkdGg6IDRweDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4O1xuXG4gICAgICAgIGNvbnRlbnQ6IFwiIFwiO1xuXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXRpbWVsaW5lLXRleHQtY29sb3IpO1xuICAgICAgICBvcGFjaXR5OiAwLjg7XG4gICAgfVxuXG4vKlxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXG5Db3B5cmlnaHQgMjAyMyBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxuXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXG4qL1xuXG4ubXhfTWVzc2FnZVBhbmVsX215UmVhZE1hcmtlciB7XG4gICAgaGVpZ2h0OiAwO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGJvcmRlcjogMDtcbn1cblxuLm14X01lc3NhZ2VQYW5lbF9teVJlYWRNYXJrZXIgaHIge1xuICAgICAgICBib3JkZXItdG9wOiBzb2xpZCAxcHggIzBkYmQ4YjtcbiAgICAgICAgYm9yZGVyLXRvcDogc29saWQgMXB4IHZhcigtLWFjY2VudC1jb2xvciwgIzBkYmQ4Yik7XG4gICAgICAgIGJvcmRlci1ib3R0b206IHNvbGlkIDFweCAjMGRiZDhiO1xuICAgICAgICBib3JkZXItYm90dG9tOiBzb2xpZCAxcHggdmFyKC0tYWNjZW50LWNvbG9yLCAjMGRiZDhiKTtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB0b3A6IC0xcHg7XG4gICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgIHdpbGwtY2hhbmdlOiB3aWR0aDtcbiAgICAgICAgLXdlYmtpdC10cmFuc2l0aW9uOlxuICAgICAgICAgICAgd2lkdGggNDAwbXMgZWFzZWluc2luZSAxcyxcbiAgICAgICAgICAgIG9wYWNpdHkgNDAwbXMgZWFzZWluc2luZSAxcztcbiAgICAgICAgdHJhbnNpdGlvbjpcbiAgICAgICAgICAgIHdpZHRoIDQwMG1zIGVhc2VpbnNpbmUgMXMsXG4gICAgICAgICAgICBvcGFjaXR5IDQwMG1zIGVhc2VpbnNpbmUgMXM7XG4gICAgICAgIHdpZHRoOiA5OSU7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxuXG4vKlxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXG5Db3B5cmlnaHQgMjAyMCBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxuXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXG4qL1xuXG4ubXhfTm9uVXJnZW50VG9hc3RDb250YWluZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206IDMwcHg7XG4gICAgbGVmdDogMjhweDtcbiAgICB6LWluZGV4OiAxMDE7IC8qIHNhbWUgbGV2ZWwgYXMgb3RoZXIgdG9hc3RzICovXG59XG5cbi5teF9Ob25VcmdlbnRUb2FzdENvbnRhaW5lciAubXhfTm9uVXJnZW50VG9hc3RDb250YWluZXJfdG9hc3Qge1xuICAgICAgICBwYWRkaW5nOiAxMHB4IDEycHg7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgICAgICAgd2lkdGg6IDMyMHB4O1xuICAgICAgICBmb250LXNpemU6IDAuODEyNXJlbTtcbiAgICAgICAgbWFyZ2luLXRvcDogOHB4O1xuXG4gICAgICAgIC8qIFdlIGRvbid0IHVzZSB2YXJpYWJsZXMgb24gdGhlIGNvbG91cnMgYmVjYXVzZSB3ZSB3YW50IGl0IHRvIGJlIHRoZSBzYW1lICovXG4gICAgICAgIC8qIGluIGFsbCB0aGVtZXMuICovXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMxNzE5MWM7XG4gICAgICAgIGNvbG9yOiAjZmZmO1xuICAgIH1cblxuLypcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxuQ29weXJpZ2h0IDIwMjEgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cblxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuKi9cblxuLm14X1F1aWNrU2V0dGluZ3NCdXR0b24ge1xuICAgIC13ZWJraXQtYm94LWZsZXg6IDA7XG4gICAgICAgIC1tcy1mbGV4OiAwIDAgYXV0bztcbiAgICAgICAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luOiAxMnB4IGF1dG87XG4gICAgY29sb3I6ICNlZGYzZmY7XG4gICAgY29sb3I6IHZhcigtLXNlY29uZGFyeS1jb250ZW50LCAjZWRmM2ZmKTtcbiAgICBtaW4td2lkdGg6IDMycHg7XG4gICAgbWluLWhlaWdodDogMzJweDtcbiAgICBsaW5lLWhlaWdodDogMzJweDtcbn1cblxuLm14X1F1aWNrU2V0dGluZ3NCdXR0b24uZXhwYW5kZWQge1xuICAgICAgICBtYXJnaW4tbGVmdDogMjBweDtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiA0NHB4OyAvKiBhbGlnbiB3aXRoIHRvZ2dsZSBjb2xsYXBzZSBidXR0b24gdGV4dCAqL1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiA4cHg7XG4gICAgfVxuXG4ubXhfUXVpY2tTZXR0aW5nc0J1dHRvbjo6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB3aWR0aDogMzJweDtcbiAgICAgICAgaGVpZ2h0OiAzMnB4O1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAtd2Via2l0LW1hc2staW1hZ2U6IHVybChcIkB2ZWN0b3ItaW0vY29tcG91bmQtZGVzaWduLXRva2Vucy9pY29ucy9zZXR0aW5ncy1zb2xpZC5zdmdcIik7XG4gICAgICAgICAgICAgICAgbWFzay1pbWFnZTogdXJsKFwiQHZlY3Rvci1pbS9jb21wb3VuZC1kZXNpZ24tdG9rZW5zL2ljb25zL3NldHRpbmdzLXNvbGlkLnN2Z1wiKTtcbiAgICAgICAgLXdlYmtpdC1tYXNrLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgICAgICAgIG1hc2stcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgIC13ZWJraXQtbWFzay1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgICAgICAgICAgIG1hc2stcG9zaXRpb246IGNlbnRlcjtcbiAgICAgICAgLXdlYmtpdC1tYXNrLXNpemU6IDI0cHg7XG4gICAgICAgICAgICAgICAgbWFzay1zaXplOiAyNHB4O1xuICAgICAgICBiYWNrZ3JvdW5kOiAjZWRmM2ZmO1xuICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1zZWNvbmRhcnktY29udGVudCwgI2VkZjNmZik7XG4gICAgfVxuXG4ubXhfUXVpY2tTZXR0aW5nc0J1dHRvbjpub3QoLmV4cGFuZGVkKTpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICM2Zjc4ODI7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXF1YXRlcm5hcnktY29udGVudCwgIzZmNzg4Mik7XG4gICAgfVxuXG4ubXhfUXVpY2tTZXR0aW5nc0J1dHRvbjpub3QoLmV4cGFuZGVkKTpob3Zlcjo6YmVmb3JlIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXRpbWVsaW5lLXRleHQtY29sb3IpO1xuICAgICAgICB9XG5cbi5teF9RdWlja1NldHRpbmdzQnV0dG9uX0NvbnRleHRNZW51V3JhcHBlciAubXhfQ29udGV4dHVhbE1lbnUge1xuICAgIHBhZGRpbmc6IDE2cHg7XG4gICAgd2lkdGg6IC13ZWJraXQtbWF4LWNvbnRlbnQ7XG4gICAgd2lkdGg6IC1tb3otbWF4LWNvbnRlbnQ7XG4gICAgd2lkdGg6IG1heC1jb250ZW50O1xuICAgIG1pbi13aWR0aDogMjAwcHg7XG4gICAgY29udGFpbjogdW5zZXQ7IC8qIGxldCB0aGUgZHJvcGRvd24gcGFpbnQgYmV5b25kIHRoZSBjb250ZXh0IG1lbnUgKi9cbn1cblxuLm14X1F1aWNrU2V0dGluZ3NCdXR0b25fQ29udGV4dE1lbnVXcmFwcGVyIC5teF9Db250ZXh0dWFsTWVudSA+IGRpdiA+IGgyIHtcbiAgICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLWNwZC1mb250LXdlaWdodC1zZW1pYm9sZCk7XG4gICAgICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICAgICAgICBsaW5lLWhlaWdodDogMS41cmVtO1xuICAgICAgICBjb2xvcjogdmFyKC0tY3BkLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTtcbiAgICAgICAgbWFyZ2luOiAwIDAgMTZweDtcbiAgICB9XG5cbi5teF9RdWlja1NldHRpbmdzQnV0dG9uX0NvbnRleHRNZW51V3JhcHBlciAubXhfQ29udGV4dHVhbE1lbnUgLm14X0FjY2Vzc2libGVCdXR0b25faGFzS2luZCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBtYXJnaW4tdG9wOiA0cHg7XG4gICAgfVxuXG4ubXhfUXVpY2tTZXR0aW5nc0J1dHRvbl9Db250ZXh0TWVudVdyYXBwZXIgLm14X0NvbnRleHR1YWxNZW51ID4gZGl2ID4gaDQge1xuICAgICAgICBmb250LXdlaWdodDogdmFyKC0tY3BkLWZvbnQtd2VpZ2h0LXNlbWlib2xkKTtcbiAgICAgICAgZm9udC1zaXplOiAwLjc1cmVtO1xuICAgICAgICBsaW5lLWhlaWdodDogMC45Mzc1cmVtO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICBjb2xvcjogdmFyKC0tY3BkLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTtcbiAgICAgICAgbWFyZ2luOiAyMHB4IDAgMTJweDtcbiAgICB9XG5cbi5teF9RdWlja1NldHRpbmdzQnV0dG9uX0NvbnRleHRNZW51V3JhcHBlciAubXhfQ29udGV4dHVhbE1lbnUgLm14X1F1aWNrU2V0dGluZ3NCdXR0b25fcGluVG9TaWRlYmFySGVhZGluZyB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMjRweDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIH1cblxuLm14X1F1aWNrU2V0dGluZ3NCdXR0b25fQ29udGV4dE1lbnVXcmFwcGVyIC5teF9Db250ZXh0dWFsTWVudSAubXhfQ2hlY2tib3gge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA4cHg7XG4gICAgfVxuXG4ubXhfUXVpY2tTZXR0aW5nc0J1dHRvbl9Db250ZXh0TWVudVdyYXBwZXIgLm14X0NvbnRleHR1YWxNZW51IC5teF9RdWlja1NldHRpbmdzQnV0dG9uX2Zhdm91cml0ZXNDaGVja2JveCAubXhfQ2hlY2tib3hfYmFja2dyb3VuZCArIGRpdiwgLm14X1F1aWNrU2V0dGluZ3NCdXR0b25fQ29udGV4dE1lbnVXcmFwcGVyIC5teF9Db250ZXh0dWFsTWVudSAubXhfUXVpY2tTZXR0aW5nc0J1dHRvbl9wZW9wbGVDaGVja2JveCAubXhfQ2hlY2tib3hfYmFja2dyb3VuZCArIGRpdiB7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDIycHg7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogNnB4O1xuICAgICAgICAgICAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS41cmVtO1xuICAgICAgICAgICAgY29sb3I6IHZhcigtLWNwZC1jb2xvci10ZXh0LXByaW1hcnkpO1xuICAgICAgICB9XG5cbi5teF9RdWlja1NldHRpbmdzQnV0dG9uX0NvbnRleHRNZW51V3JhcHBlciAubXhfQ29udGV4dHVhbE1lbnUgLm14X1F1aWNrU2V0dGluZ3NCdXR0b25fbW9yZU9wdGlvbnNCdXR0b24ge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDIycHg7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAyMnB4O1xuICAgICAgICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNXJlbTtcbiAgICAgICAgY29sb3I6IHZhcigtLWNwZC1jb2xvci10ZXh0LXByaW1hcnkpO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDE2cHg7XG4gICAgfVxuXG4vKiBUT0RPIHJlbW92ZSB3aGVuIGFsbCBpY29ucyBoYXZlIGZpbGw9Y3VycmVudENvbG9yKi9cblxuLm14X1F1aWNrU2V0dGluZ3NCdXR0b25faWNvbiAqIHtcbiAgICAgICAgZmlsbDogI2VkZjNmZjtcbiAgICAgICAgZmlsbDogdmFyKC0tc2Vjb25kYXJ5LWNvbnRlbnQsICNlZGYzZmYpO1xuICAgIH1cblxuLm14X1F1aWNrU2V0dGluZ3NCdXR0b25faWNvbiB7XG4gICAgY29sb3I6ICNlZGYzZmY7XG4gICAgY29sb3I6IHZhcigtLXNlY29uZGFyeS1jb250ZW50LCAjZWRmM2ZmKTtcbiAgICB3aWR0aDogMTZweDtcbiAgICBoZWlnaHQ6IDE2cHg7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDA7XG4gICAgdG9wOiA1MCU7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG59XG5cbi8qXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cbkNvcHlyaWdodCAyMDIwIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXG5Db3B5cmlnaHQgMjAxNSwgMjAxNiBPcGVuTWFya2V0IEx0ZFxuXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXG4qL1xuXG4ubXhfUmlnaHRQYW5lbCB7XG4gICAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICAgIC13ZWJraXQtYm94LWZsZXg6IDA7XG4gICAgICAgIC1tcy1mbGV4OiAwIDAgYXV0bztcbiAgICAgICAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWw7XG4gICAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiBub3JtYWw7XG4gICAgICAgIC1tcy1mbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkIHZhcigtLWNwZC1jb2xvci1ncmF5LTQwMCk7XG4gICAgLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgY29udGFpbjogc3RyaWN0O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNwZC1jb2xvci1iZy1jYW52YXMtZGVmYXVsdCk7XG59XG5cbi5teF9SaWdodFBhbmVsIC5teF9Sb29tVmlld19NZXNzYWdlTGlzdCB7XG4gICAgICAgIHBhZGRpbmc6IDE0cHggMThweDsgLyogdG9wIGFuZCBib3R0b20gaXMgNHB4IHNtYWxsZXIgdG8gYmFsYW5jZSB3aXRoIHRoZSBwYWRkaW5nIHNldCBhYm92ZSAqL1xuICAgIH1cblxuLyoqIEZpeG1lIC0gZmFjdG9yIHRoaXMgb3V0IHdpdGggdGhlIG1haW4gaGVhZGVyICoqL1xuXG4ubXhfUmlnaHRQYW5lbF90aHJlYWRzQnV0dG9uOjpiZWZvcmUge1xuICAgIC13ZWJraXQtbWFzay1pbWFnZTogdXJsKFwiQHZlY3Rvci1pbS9jb21wb3VuZC1kZXNpZ24tdG9rZW5zL2ljb25zL3RocmVhZHMtc29saWQuc3ZnXCIpO1xuICAgICAgICAgICAgbWFzay1pbWFnZTogdXJsKFwiQHZlY3Rvci1pbS9jb21wb3VuZC1kZXNpZ24tdG9rZW5zL2ljb25zL3RocmVhZHMtc29saWQuc3ZnXCIpO1xufVxuXG4ubXhfUmlnaHRQYW5lbF9ub3RpZnNCdXR0b246OmJlZm9yZSB7XG4gICAgLXdlYmtpdC1tYXNrLWltYWdlOiB1cmwoXCIuLi8uLi8uLi9pbWcvZWxlbWVudC1pY29ucy9ub3RpZmljYXRpb25zLnN2Z1wiKTtcbiAgICAgICAgICAgIG1hc2staW1hZ2U6IHVybChcIi4uLy4uLy4uL2ltZy9lbGVtZW50LWljb25zL25vdGlmaWNhdGlvbnMuc3ZnXCIpO1xuICAgIC13ZWJraXQtbWFzay1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgICAgICAgbWFzay1wb3NpdGlvbjogY2VudGVyO1xufVxuXG4ubXhfUmlnaHRQYW5lbF9yb29tU3VtbWFyeUJ1dHRvbjo6YmVmb3JlIHtcbiAgICAtd2Via2l0LW1hc2staW1hZ2U6IHVybChcIkB2ZWN0b3ItaW0vY29tcG91bmQtZGVzaWduLXRva2Vucy9pY29ucy9pbmZvLXNvbGlkLnN2Z1wiKTtcbiAgICAgICAgICAgIG1hc2staW1hZ2U6IHVybChcIkB2ZWN0b3ItaW0vY29tcG91bmQtZGVzaWduLXRva2Vucy9pY29ucy9pbmZvLXNvbGlkLnN2Z1wiKTtcbiAgICAtd2Via2l0LW1hc2stcG9zaXRpb246IGNlbnRlcjtcbiAgICAgICAgICAgIG1hc2stcG9zaXRpb246IGNlbnRlcjtcbn1cblxuLm14X1JpZ2h0UGFuZWxfcGlubmVkTWVzc2FnZXNCdXR0b246OmJlZm9yZSB7XG4gICAgICAgIC13ZWJraXQtbWFzay1pbWFnZTogdXJsKFwiLi4vLi4vLi4vaW1nL2VsZW1lbnQtaWNvbnMvcm9vbS9waW4uc3ZnXCIpO1xuICAgICAgICAgICAgICAgIG1hc2staW1hZ2U6IHVybChcIi4uLy4uLy4uL2ltZy9lbGVtZW50LWljb25zL3Jvb20vcGluLnN2Z1wiKTtcbiAgICAgICAgLXdlYmtpdC1tYXNrLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgbWFzay1wb3NpdGlvbjogY2VudGVyO1xuICAgIH1cblxuLm14X1JpZ2h0UGFuZWxfdGltZWxpbmVDYXJkQnV0dG9uOjpiZWZvcmUge1xuICAgICAgICAtd2Via2l0LW1hc2staW1hZ2U6IHVybChcIi4uLy4uLy4uL2ltZy9lbGVtZW50LWljb25zL2ZlZWRiYWNrLnN2Z1wiKTtcbiAgICAgICAgICAgICAgICBtYXNrLWltYWdlOiB1cmwoXCIuLi8uLi8uLi9pbWcvZWxlbWVudC1pY29ucy9mZWVkYmFjay5zdmdcIik7XG4gICAgICAgIC13ZWJraXQtbWFzay1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgICAgICAgICAgIG1hc2stcG9zaXRpb246IGNlbnRlcjtcbiAgICB9XG5cbi5teF9SaWdodFBhbmVsIC5teF9NZW1iZXJMaXN0LFxuLm14X1JpZ2h0UGFuZWwgLm14X01lbWJlckluZm8ge1xuICAgIC13ZWJraXQtYm94LW9yZGluYWwtZ3JvdXA6IDM7XG4gICAgICAgIC1tcy1mbGV4LW9yZGVyOiAyO1xuICAgICAgICAgICAgb3JkZXI6IDI7XG4gICAgLXdlYmtpdC1ib3gtZmxleDogMTtcbiAgICAgICAgLW1zLWZsZXg6IDEgMSAwcHg7XG4gICAgICAgICAgICBmbGV4OiAxIDEgMDtcbn1cblxuLm14X1JpZ2h0UGFuZWwgLm14X1Jvb21WaWV3X21lc3NhZ2VQYW5lbFNwaW5uZXIge1xuICAgIC13ZWJraXQtYm94LW9yZGluYWwtZ3JvdXA6IDM7XG4gICAgICAgIC1tcy1mbGV4LW9yZGVyOiAyO1xuICAgICAgICAgICAgb3JkZXI6IDI7XG4gICAgbWFyZ2luOiBhdXRvO1xufVxuXG4vKlxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXG5Db3B5cmlnaHQgMjAyMCBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxuXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXG4qL1xuXG4vKiBOb3RlOiB0aGlzIGNvbXBvbmVudCBleHBlY3RzIHRvIGJlIGNvbnRhaW5lZCB3aXRoaW4gYSBmbGV4Ym94ICovXG5cbi5teF9Sb29tU2VhcmNoIHtcbiAgICAtd2Via2l0LWJveC1mbGV4OiAxO1xuICAgICAgICAtbXMtZmxleDogMTtcbiAgICAgICAgICAgIGZsZXg6IDE7XG4gICAgbWluLXdpZHRoOiAwO1xuICAgIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1yb29tbGlzdC1oaWdobGlnaHRzLWNvbG9yKTtcbiAgICAvKiBrZWVwIGJvcmRlciB0aGlja25lc3MgY29uc2lzdGVudCB0byBwcmV2ZW50IG1vdmVtZW50ICovXG4gICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgaGVpZ2h0OiAyOHB4O1xuICAgIHBhZGRpbmc6IDFweDtcblxuICAgIC8qIENyZWF0ZSBhIGZsZXhib3ggZm9yIHRoZSBpY29ucyAoZWFzaWVyIHRvIG1hbmFnZSkgKi9cbiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gICAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4ubXhfUm9vbVNlYXJjaCAubXhfUm9vbVNlYXJjaF9pY29uIHtcbiAgICAgICAgd2lkdGg6IDIwcHg7XG4gICAgICAgIGhlaWdodDogMjBweDtcbiAgICAgICAgLXdlYmtpdC1tYXNrLWltYWdlOiB1cmwoXCJAdmVjdG9yLWltL2NvbXBvdW5kLWRlc2lnbi10b2tlbnMvaWNvbnMvc2VhcmNoLnN2Z1wiKTtcbiAgICAgICAgICAgICAgICBtYXNrLWltYWdlOiB1cmwoXCJAdmVjdG9yLWltL2NvbXBvdW5kLWRlc2lnbi10b2tlbnMvaWNvbnMvc2VhcmNoLnN2Z1wiKTtcbiAgICAgICAgLXdlYmtpdC1tYXNrLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgICAgICAgIG1hc2stcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgIC13ZWJraXQtbWFzay1zaXplOiBjb250YWluO1xuICAgICAgICAgICAgICAgIG1hc2stc2l6ZTogY29udGFpbjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2VkZjNmZjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tc2Vjb25kYXJ5LWNvbnRlbnQsICNlZGYzZmYpO1xuICAgICAgICBtYXJnaW4tbGVmdDogdmFyKC0tY3BkLXNwYWNlLTJ4KTtcbiAgICAgICAgLW1zLWZsZXgtbmVnYXRpdmU6IDA7XG4gICAgICAgICAgICBmbGV4LXNocmluazogMDtcbiAgICB9XG5cbi5teF9Sb29tU2VhcmNoIC5teF9Sb29tU2VhcmNoX3Nwb3RsaWdodFRyaWdnZXJUZXh0IHtcbiAgICAgICAgY29sb3I6IHZhcigtLWNwZC1jb2xvci10ZXh0LXNlY29uZGFyeSk7XG4gICAgICAgIC13ZWJraXQtYm94LWZsZXg6IDE7XG4gICAgICAgICAgICAtbXMtZmxleDogMTtcbiAgICAgICAgICAgICAgICBmbGV4OiAxO1xuICAgICAgICBtaW4td2lkdGg6IDA7XG4gICAgICAgIC8qIHRoZSBmb2xsb3dpbmcgcnVsZXMgYXJlIHRvIG1hdGNoIHRoYXQgb2YgYSByZWFsIGlucHV0IGZpZWxkICovXG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIG1hcmdpbjogOXB4O1xuICAgICAgICBmb250OiB2YXIoLS1jcGQtZm9udC1ib2R5LXNtLXNlbWlib2xkKTtcbiAgICB9XG5cbi5teF9Sb29tU2VhcmNoIC5teF9Sb29tU2VhcmNoX3Nob3J0Y3V0UHJvbXB0IHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNnB4O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1yb29tbGlzdC1oaWdobGlnaHRzLWNvbG9yKTtcbiAgICAgICAgcGFkZGluZzogMnB4IDRweDtcbiAgICAgICAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcbiAgICAgICAgICAgLW1vei11c2VyLXNlbGVjdDogbm9uZTtcbiAgICAgICAgICAgIC1tcy11c2VyLXNlbGVjdDogbm9uZTtcbiAgICAgICAgICAgICAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICAgICAgZm9udC1zaXplOiAwLjc1cmVtO1xuICAgICAgICBsaW5lLWhlaWdodDogMC45Mzc1cmVtO1xuICAgICAgICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLWNwZC1mb250LXdlaWdodC1zZW1pYm9sZCk7XG4gICAgICAgIGNvbG9yOiB2YXIoLS10aW1lbGluZS10ZXh0LXNlY29uZGFyeS1jb2xvcik7XG4gICAgICAgIG1hcmdpbi1yaWdodDogNnB4O1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICB9XG5cbi5teF9Sb29tU2VhcmNoLm14X1Jvb21TZWFyY2hfbWluaW1pemVkIHtcbiAgICAgICAgaGVpZ2h0OiAzMnB4O1xuICAgICAgICBtaW4taGVpZ2h0OiAzMnB4O1xuICAgICAgICB3aWR0aDogMzJweDtcbiAgICAgICAgLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgfVxuXG4ubXhfUm9vbVNlYXJjaC5teF9Sb29tU2VhcmNoX21pbmltaXplZCAubXhfUm9vbVNlYXJjaF9pY29uIHtcbiAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICAgICAgcGFkZGluZzogMXB4O1xuICAgICAgICAgICAgLW1zLWZsZXgtaXRlbS1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgICAgICAgfVxuXG4ubXhfUm9vbVNlYXJjaC5teF9Sb29tU2VhcmNoX21pbmltaXplZCAubXhfUm9vbVNlYXJjaF9zaG9ydGN1dFByb21wdCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG5cbi5teF9Sb29tU2VhcmNoOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2VkZjNmZjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdGVydGlhcnktY29udGVudCwgI2VkZjNmZik7XG4gICAgfVxuXG4ubXhfUm9vbVNlYXJjaDpob3ZlciAubXhfUm9vbVNlYXJjaF9zcG90bGlnaHRUcmlnZ2VyVGV4dCB7XG4gICAgICAgICAgICBjb2xvcjogdmFyKC0tdGltZWxpbmUtYmFja2dyb3VuZC1jb2xvcik7XG4gICAgICAgIH1cblxuLm14X1Jvb21TZWFyY2g6aG92ZXIgLm14X1Jvb21TZWFyY2hfc2hvcnRjdXRQcm9tcHQge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdGltZWxpbmUtYmFja2dyb3VuZC1jb2xvcik7XG4gICAgICAgICAgICBjb2xvcjogI2VkZjNmZjtcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1zZWNvbmRhcnktY29udGVudCwgI2VkZjNmZik7XG4gICAgICAgIH1cblxuLm14X1Jvb21TZWFyY2g6aG92ZXIgLm14X1Jvb21TZWFyY2hfaWNvbiB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS10aW1lbGluZS1iYWNrZ3JvdW5kLWNvbG9yKTtcbiAgICAgICAgfVxuXG4vKlxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXG5Db3B5cmlnaHQgMjAxNSwgMjAxNiBPcGVuTWFya2V0IEx0ZFxuXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXG4qL1xuXG4ubXhfUm9vbVN0YXR1c0Jhcjpub3QoLm14X1Jvb21TdGF0dXNCYXJfdW5zZW50TWVzc2FnZXMpIHtcbiAgICBtYXJnaW4tbGVmdDogNjVweDtcbiAgICBtaW4taGVpZ2h0OiA1MHB4O1xufVxuXG4ubXhfUm9vbVN0YXR1c0Jhcl90eXBpbmdJbmRpY2F0b3JBdmF0YXJzIHtcbiAgICB3aWR0aDogNTJweDtcbiAgICBtYXJnaW4tdG9wOiAtMXB4O1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG59XG5cbi5teF9Sb29tU3RhdHVzQmFyX3R5cGluZ0luZGljYXRvclJlbWFpbmluZyB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGNvbG9yOiAjYWNhY2FjO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNkZGQ7XG4gICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tdGltZWxpbmUtYmFja2dyb3VuZC1jb2xvcik7XG4gICAgYm9yZGVyLXJhZGl1czogNDBweDtcbiAgICB3aWR0aDogMjRweDtcbiAgICBoZWlnaHQ6IDI0cHg7XG4gICAgbGluZS1oZWlnaHQ6IDEuNXJlbTtcbiAgICBmb250LXNpemU6IDAuOGVtO1xuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbn1cblxuLm14X1Jvb21TdGF0dXNCYXJfc2Nyb2xsRG93bkluZGljYXRvciB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHBhZGRpbmctbGVmdDogMXB4O1xufVxuXG4ubXhfUm9vbVN0YXR1c0Jhcl91bnJlYWRNZXNzYWdlc0JhciB7XG4gICAgcGFkZGluZy10b3A6IDEwcHg7XG4gICAgY29sb3I6ICNmZjViNTU7XG4gICAgY29sb3I6IHZhcigtLWFsZXJ0LCAjZmY1YjU1KTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi5teF9Sb29tU3RhdHVzQmFyX2Nvbm5lY3Rpb25Mb3N0QmFyIHtcbiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuXG4gICAgbWFyZ2luLXRvcDogMTlweDtcbiAgICBtaW4taGVpZ2h0OiA1OHB4O1xufVxuXG4ubXhfUm9vbVN0YXR1c0Jhcl91bnNlbnRNZXNzYWdlcyA+IGRpdltyb2xlPVwiYWxlcnRcIl0ge1xuICAgICAgICAvKiBjaGVhdCBzb21lIGJhc2ljIGFsaWdubWVudCAqL1xuICAgICAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgICAgICAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDcwcHg7XG4gICAgICAgIG1hcmdpbjogMTJweDtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAxNnB4O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1yb29tbGlzdC1iYWNrZ3JvdW5kLWNvbG9yKTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAgIH1cblxuLm14X1Jvb21TdGF0dXNCYXJfdW5zZW50TWVzc2FnZXMgLm14X1Jvb21TdGF0dXNCYXJfdW5zZW50QmFkZ2Uge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDEycHg7XG4gICAgfVxuXG4ubXhfUm9vbVN0YXR1c0Jhcl91bnNlbnRNZXNzYWdlcyAubXhfUm9vbVN0YXR1c0Jhcl91bnNlbnRCYWRnZSAubXhfTm90aWZpY2F0aW9uQmFkZ2Uge1xuICAgICAgICAgICAgLyogT3ZlcnJpZGUgc2l6aW5nIGZyb20gdGhlIGRlZmF1bHQgYmFkZ2UgKi9cbiAgICAgICAgICAgIHdpZHRoOiAyNHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBoZWlnaHQ6IDI0cHggIWltcG9ydGFudDtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDI0cHggIWltcG9ydGFudDtcbiAgICAgICAgfVxuXG4ubXhfUm9vbVN0YXR1c0Jhcl91bnNlbnRNZXNzYWdlcyAubXhfUm9vbVN0YXR1c0Jhcl91bnNlbnRCYWRnZSAubXhfTm90aWZpY2F0aW9uQmFkZ2UgLm14X05vdGlmaWNhdGlvbkJhZGdlX2NvdW50IHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDFyZW0gIWltcG9ydGFudDsgLyogb3ZlcnJpZGUgZGVmYXVsdCAqL1xuICAgICAgICAgICAgfVxuXG4ubXhfUm9vbVN0YXR1c0Jhcl91bnNlbnRNZXNzYWdlcyAubXhfUm9vbVN0YXR1c0Jhcl91bnNlbnRUaXRsZSB7XG4gICAgICAgIGNvbG9yOiAjZmY1YjU1O1xuICAgICAgICBjb2xvcjogdmFyKC0tYWxlcnQsICNmZjViNTUpO1xuICAgICAgICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgICB9XG5cbi5teF9Sb29tU3RhdHVzQmFyX3Vuc2VudE1lc3NhZ2VzIC5teF9Sb29tU3RhdHVzQmFyX3Vuc2VudERlc2NyaXB0aW9uIHtcbiAgICAgICAgZm9udC1zaXplOiAwLjc1cmVtO1xuICAgIH1cblxuLm14X1Jvb21TdGF0dXNCYXJfdW5zZW50TWVzc2FnZXMgLm14X1Jvb21TdGF0dXNCYXJfdW5zZW50QnV0dG9uQmFyIHtcbiAgICAgICAgLXdlYmtpdC1ib3gtZmxleDogMTtcbiAgICAgICAgICAgIC1tcy1mbGV4LXBvc2l0aXZlOiAxO1xuICAgICAgICAgICAgICAgIGZsZXgtZ3JvdzogMTtcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMjJweDtcbiAgICAgICAgY29sb3I6ICNhMWIyZDE7XG4gICAgfVxuXG4ubXhfUm9vbVN0YXR1c0Jhcl91bnNlbnRNZXNzYWdlcyAubXhfUm9vbVN0YXR1c0Jhcl91bnNlbnRCdXR0b25CYXIgLm14X0FjY2Vzc2libGVCdXR0b24ge1xuICAgICAgICAgICAgcGFkZGluZzogNXB4IDEwcHg7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDMwcHg7IC8qIDE4cHggZm9yIHRoZSBpY29uLCAycHggbWFyZ2luIHRvIHRleHQsIDEwcHggcmVndWxhciBwYWRkaW5nICovXG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xuICAgICAgICAgICAgICAgLW1vei11c2VyLXNlbGVjdDogbm9uZTtcbiAgICAgICAgICAgICAgICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgICAgICB9XG5cbi5teF9Sb29tU3RhdHVzQmFyX3Vuc2VudE1lc3NhZ2VzIC5teF9Sb29tU3RhdHVzQmFyX3Vuc2VudEJ1dHRvbkJhciAubXhfQWNjZXNzaWJsZUJ1dHRvbjpudGgtY2hpbGQoMikge1xuICAgICAgICAgICAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgI2ExYjJkMTtcbiAgICAgICAgICAgIH1cblxuLm14X1Jvb21TdGF0dXNCYXJfdW5zZW50TWVzc2FnZXMgLm14X1Jvb21TdGF0dXNCYXJfdW5zZW50QnV0dG9uQmFyIC5teF9BY2Nlc3NpYmxlQnV0dG9uOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIGxlZnQ6IDEwcHg7IC8qIGluc2V0IGZvciByZWd1bGFyIGJ1dHRvbiBwYWRkaW5nICovXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ExYjJkMTtcbiAgICAgICAgICAgICAgICAtd2Via2l0LW1hc2stcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXNrLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgICAgICAgIC13ZWJraXQtbWFzay1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFzay1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgICAgICAgICAgIC13ZWJraXQtbWFzay1zaXplOiBjb250YWluO1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFzay1zaXplOiBjb250YWluO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxOHB4O1xuICAgICAgICAgICAgICAgIGhlaWdodDogMThweDtcbiAgICAgICAgICAgICAgICB0b3A6IDUwJTsgLyogdGV4dCBzaXplcyBhcmUgZHluYW1pYyAqL1xuICAgICAgICAgICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgICAgICAgICAgfVxuXG4ubXhfUm9vbVN0YXR1c0Jhcl91bnNlbnRNZXNzYWdlcyAubXhfUm9vbVN0YXR1c0Jhcl91bnNlbnRCdXR0b25CYXIgLm14X0FjY2Vzc2libGVCdXR0b24ubXhfUm9vbVN0YXR1c0Jhcl91bnNlbnRDYW5jZWxBbGxCdG46OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgLXdlYmtpdC1tYXNrLWltYWdlOiB1cmwoXCJAdmVjdG9yLWltL2NvbXBvdW5kLWRlc2lnbi10b2tlbnMvaWNvbnMvZGVsZXRlLnN2Z1wiKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hc2staW1hZ2U6IHVybChcIkB2ZWN0b3ItaW0vY29tcG91bmQtZGVzaWduLXRva2Vucy9pY29ucy9kZWxldGUuc3ZnXCIpO1xuICAgICAgICAgICAgfVxuXG4ubXhfUm9vbVN0YXR1c0Jhcl91bnNlbnRNZXNzYWdlcyAubXhfUm9vbVN0YXR1c0Jhcl91bnNlbnRCdXR0b25CYXIgLm14X0FjY2Vzc2libGVCdXR0b24ubXhfUm9vbVN0YXR1c0Jhcl91bnNlbnRSZXRyeSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAzNHB4OyAvKiAyOHB4IGZyb20gYWJvdmUsIGJ1dCArNnB4IHRvIGFjY291bnQgZm9yIHRoZSB3aWRlciBpY29uICovXG4gICAgICAgICAgICB9XG5cbi5teF9Sb29tU3RhdHVzQmFyX3Vuc2VudE1lc3NhZ2VzIC5teF9Sb29tU3RhdHVzQmFyX3Vuc2VudEJ1dHRvbkJhciAubXhfQWNjZXNzaWJsZUJ1dHRvbi5teF9Sb29tU3RhdHVzQmFyX3Vuc2VudFJldHJ5OjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICAtd2Via2l0LW1hc2staW1hZ2U6IHVybChcIkB2ZWN0b3ItaW0vY29tcG91bmQtZGVzaWduLXRva2Vucy9pY29ucy9yZXN0YXJ0LnN2Z1wiKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXNrLWltYWdlOiB1cmwoXCJAdmVjdG9yLWltL2NvbXBvdW5kLWRlc2lnbi10b2tlbnMvaWNvbnMvcmVzdGFydC5zdmdcIik7XG4gICAgICAgICAgICAgICAgfVxuXG4ubXhfUm9vbVN0YXR1c0Jhcl91bnNlbnRNZXNzYWdlcyAubXhfUm9vbVN0YXR1c0Jhcl91bnNlbnRCdXR0b25CYXIgLm14X0lubGluZVNwaW5uZXIge1xuICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogNXB4O1xuICAgICAgICAgICAgdG9wOiAxcHg7IC8qIGp1c3QgdG8gaGVscCB0aGUgdmVydGljYWwgYWxpZ25tZW50IGJlIHNsaWdodGx5IGJldHRlciAqL1xuICAgICAgICB9XG5cbi5teF9Sb29tU3RhdHVzQmFyX3Vuc2VudE1lc3NhZ2VzIC5teF9Sb29tU3RhdHVzQmFyX3Vuc2VudEJ1dHRvbkJhciAubXhfSW5saW5lU3Bpbm5lciArIHNwYW4ge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMTBweDsgLyogc2FtZSBtYXJnaW4vcGFkZGluZyBhcyB0aGUgcmlnaHRtb3N0IGJ1dHRvbiAqL1xuICAgICAgICAgICAgfVxuXG4ubXhfUm9vbVN0YXR1c0Jhcl9jb25uZWN0aW9uTG9zdEJhciBzdmcge1xuICAgIHBhZGRpbmctbGVmdDogMTBweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMHB4O1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgZmxvYXQ6IGxlZnQ7XG59XG5cbi5teF9Sb29tU3RhdHVzQmFyX2Nvbm5lY3Rpb25Mb3N0QmFyX3RpdGxlIHtcbiAgICBjb2xvcjogI2ZmNWI1NTtcbiAgICBjb2xvcjogdmFyKC0tYWxlcnQsICNmZjViNTUpO1xufVxuXG4ubXhfUm9vbVN0YXR1c0Jhcl9jb25uZWN0aW9uTG9zdEJhcl9kZXNjIHtcbiAgICBjb2xvcjogdmFyKC0tdGltZWxpbmUtdGV4dC1jb2xvcik7XG4gICAgZm9udC1zaXplOiAwLjgxMjVyZW07XG4gICAgb3BhY2l0eTogMC41O1xuICAgIHBhZGRpbmctYm90dG9tOiAyMHB4O1xufVxuXG4ubXhfUm9vbVN0YXR1c0Jhcl9yZXNlbmRfbGluayB7XG4gICAgY29sb3I6IHZhcigtLXRpbWVsaW5lLXRleHQtY29sb3IpICFpbXBvcnRhbnQ7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgIWltcG9ydGFudDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi5teF9Sb29tU3RhdHVzQmFyX3R5cGluZ0JhciB7XG4gICAgaGVpZ2h0OiA1MHB4O1xuICAgIGxpbmUtaGVpZ2h0OiA1MHB4O1xuXG4gICAgY29sb3I6IHZhcigtLXRpbWVsaW5lLXRleHQtY29sb3IpO1xuICAgIG9wYWNpdHk6IDAuNTtcbiAgICBvdmVyZmxvdy15OiBoaWRkZW47XG4gICAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5teF9NYXRyaXhDaGF0X3VzZUNvbXBhY3RMYXlvdXQgLm14X1Jvb21TdGF0dXNCYXI6bm90KC5teF9Sb29tU3RhdHVzQmFyX3Vuc2VudE1lc3NhZ2VzKSB7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDQwcHg7XG4gICAgfVxuXG4ubXhfTWF0cml4Q2hhdF91c2VDb21wYWN0TGF5b3V0IC5teF9Sb29tU3RhdHVzQmFyX2luZGljYXRvciB7XG4gICAgICAgIG1hcmdpbi10b3A6IDEwcHg7XG4gICAgfVxuXG4ubXhfTWF0cml4Q2hhdF91c2VDb21wYWN0TGF5b3V0IC5teF9Sb29tU3RhdHVzQmFyX3R5cGluZ0JhciB7XG4gICAgICAgIGhlaWdodDogNDBweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDQwcHg7XG4gICAgfVxuXG4vKlxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXG5Db3B5cmlnaHQgMjAxNSwgMjAxNiBPcGVuTWFya2V0IEx0ZFxuXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXG4qL1xuXG46cm9vdCB7XG4gICAgLS1Sb29tVmlld19NZXNzYWdlTGlzdC1wYWRkaW5nOiAxOHB4O1xufVxuXG4ubXhfUm9vbVZpZXdfd3JhcHBlciB7XG4gICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gICAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xuICAgIC13ZWJraXQtYm94LWRpcmVjdGlvbjogbm9ybWFsO1xuICAgICAgICAtbXMtZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgLXdlYmtpdC1ib3gtZmxleDogMTtcbiAgICAgICAgLW1zLWZsZXg6IDE7XG4gICAgICAgICAgICBmbGV4OiAxO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAtd2Via2l0LWJveC1wYWNrOiBjZW50ZXI7XG4gICAgICAgIC1tcy1mbGV4LXBhY2s6IGNlbnRlcjtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIC8qIENvbnRhaW4gdGhlIGFtb3VudCBvZiBsYXllcnMgcmVuZGVyZWQgYnkgY29uc3RyYWluaW5nIHdoYXQgYWN0dWFsbHkgbmVlZHMgcmUtbGF5ZXJpbmcgdmlhIGNzcyAqL1xuICAgIGNvbnRhaW46IHN0cmljdDtcbn1cblxuLm14X1Jvb21WaWV3IHtcbiAgICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG4gICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gICAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xuICAgIC13ZWJraXQtYm94LWRpcmVjdGlvbjogbm9ybWFsO1xuICAgICAgICAtbXMtZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgLXdlYmtpdC1ib3gtZmxleDogMTtcbiAgICAgICAgLW1zLWZsZXg6IDE7XG4gICAgICAgICAgICBmbGV4OiAxO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLm14X1Jvb21WaWV3IC5teF9NYWluU3BsaXQge1xuICAgICAgICAtd2Via2l0LWJveC1mbGV4OiAxO1xuICAgICAgICAgICAgLW1zLWZsZXg6IDEgMSAwcHg7XG4gICAgICAgICAgICAgICAgZmxleDogMSAxIDA7XG4gICAgfVxuXG4ubXhfUm9vbVZpZXcgLm14X01lc3NhZ2VDb21wb3NlciB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAtd2Via2l0LWJveC1mbGV4OiAwO1xuICAgICAgICAgICAgLW1zLWZsZXg6IDAgMCBhdXRvO1xuICAgICAgICAgICAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDJweDtcbiAgICB9XG5cbi5teF9Sb29tVmlld19hdXhQYW5lbF9oaWRkZW5IaWdobGlnaHRzIHtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tcm9vbWxpc3Qtc2VwYXJhdG9yLWNvbG9yKTtcbiAgICBwYWRkaW5nOiAxMHB4IDI2cHg7XG4gICAgY29sb3I6ICNmZjViNTU7XG4gICAgY29sb3I6IHZhcigtLWFsZXJ0LCAjZmY1YjU1KTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi5teF9Sb29tVmlld19tZXNzYWdlUGFuZWwge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgLXdlYmtpdC1ib3gtZmxleDogMTtcbiAgICAgICAgLW1zLWZsZXg6IDEgMSAwcHg7XG4gICAgICAgICAgICBmbGV4OiAxIDEgMDtcbiAgICBvdmVyZmxvdy1hbmNob3I6IG5vbmU7XG59XG5cbi5teF9Sb29tVmlld19tZXNzYWdlUGFuZWxTZWFyY2hTcGlubmVyIHtcbiAgICAtd2Via2l0LWJveC1mbGV4OiAxO1xuICAgICAgICAtbXMtZmxleDogMTtcbiAgICAgICAgICAgIGZsZXg6IDE7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vLi4vLi4vaW1nL3R5cGluZy1pbmRpY2F0b3ItMnguZ2lmXCIpO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciAzNjdweDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDI1cHg7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5teF9Sb29tVmlld19tZXNzYWdlUGFuZWxTZWFyY2hTcGlubmVyOjpiZWZvcmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS10aW1lbGluZS10ZXh0LXNlY29uZGFyeS1jb2xvcik7XG4gICAgICAgIC13ZWJraXQtbWFzazogdXJsKFwiQHZlY3Rvci1pbS9jb21wb3VuZC1kZXNpZ24tdG9rZW5zL2ljb25zL3NlYXJjaC5zdmdcIik7XG4gICAgICAgICAgICAgICAgbWFzazogdXJsKFwiQHZlY3Rvci1pbS9jb21wb3VuZC1kZXNpZ24tdG9rZW5zL2ljb25zL3NlYXJjaC5zdmdcIik7XG4gICAgICAgIC13ZWJraXQtbWFzay1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgICAgICAgICBtYXNrLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAtd2Via2l0LW1hc2stcG9zaXRpb246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBtYXNrLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICAgIC13ZWJraXQtbWFzay1zaXplOiA1MHB4O1xuICAgICAgICAgICAgICAgIG1hc2stc2l6ZTogNTBweDtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDI4NnB4O1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgaGVpZ2h0OiA1MHB4O1xuICAgIH1cblxuLm14X1Jvb21WaWV3X2JvZHkge1xuICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcbiAgICAtd2Via2l0LWJveC1kaXJlY3Rpb246IG5vcm1hbDtcbiAgICAgICAgLW1zLWZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIC13ZWJraXQtYm94LWZsZXg6IDE7XG4gICAgICAgIC1tcy1mbGV4OiAxO1xuICAgICAgICAgICAgZmxleDogMTtcbiAgICBtaW4td2lkdGg6IDA7XG59XG5cbi5teF9Sb29tVmlld19ib2R5IC5teF9Sb29tVmlld19tZXNzYWdlUGFuZWwsXG4gICAgLm14X1Jvb21WaWV3X2JvZHkgLm14X1Jvb21WaWV3X21lc3NhZ2VQYW5lbFNwaW5uZXIsXG4gICAgLm14X1Jvb21WaWV3X2JvZHkgLm14X1Jvb21WaWV3X21lc3NhZ2VQYW5lbFNlYXJjaFNwaW5uZXIge1xuICAgICAgICAtd2Via2l0LWJveC1vcmRpbmFsLWdyb3VwOiAzO1xuICAgICAgICAgICAgLW1zLWZsZXgtb3JkZXI6IDI7XG4gICAgICAgICAgICAgICAgb3JkZXI6IDI7XG4gICAgfVxuXG4ubXhfUm9vbVZpZXdfYm9keSAubXhfUm9vbVZpZXdfdGltZWxpbmUge1xuICAgICAgICAvKiBvZmZzZXQgcGFyZW50IGZvciBteF9Sb29tVmlld190b3BVbnJlYWRNZXNzYWdlc0JhciAgKi9cbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAtd2Via2l0LWJveC1mbGV4OiAxO1xuICAgICAgICAgICAgLW1zLWZsZXg6IDE7XG4gICAgICAgICAgICAgICAgZmxleDogMTtcbiAgICAgICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gICAgICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xuICAgICAgICAtd2Via2l0LWJveC1kaXJlY3Rpb246IG5vcm1hbDtcbiAgICAgICAgICAgIC1tcy1mbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIG1hcmdpbi1yaWdodDogY2FsYyg4cHggLyAyKTtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiBjYWxjKHZhcigtLWNvbnRhaW5lci1nYXAtd2lkdGgpIC8gMik7XG4gICAgfVxuXG4ubXhfUm9vbVZpZXdfc3RhdHVzQXJlYSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgLXdlYmtpdC1ib3gtZmxleDogMDtcbiAgICAgICAgLW1zLWZsZXg6IDAgMCBhdXRvO1xuICAgICAgICAgICAgZmxleDogMCAwIGF1dG87XG5cbiAgICBtYXgtaGVpZ2h0OiAwcHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdGltZWxpbmUtYmFja2dyb3VuZC1jb2xvcik7XG4gICAgei1pbmRleDogMTAwMDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLW91dDtcblxuICAgIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2Utb3V0O1xufVxuXG4ubXhfUm9vbVZpZXdfc3RhdHVzQXJlYV9leHBhbmRlZCB7XG4gICAgbWF4LWhlaWdodDogMTAwcHg7XG59XG5cbi5teF9Sb29tVmlld19zdGF0dXNBcmVhQm94IHtcbiAgICBtYXJnaW46IGF1dG87XG4gICAgbWluLWhlaWdodDogNTBweDtcbn1cblxuLm14X1Jvb21WaWV3X3N0YXR1c0FyZWFCb3hfbGluZSB7XG4gICAgbWFyZ2luLWxlZnQ6IDY1cHg7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLXJvb21saXN0LXNlcGFyYXRvci1jb2xvcik7XG4gICAgaGVpZ2h0OiAxcHg7XG59XG5cbi5teF9Sb29tVmlld19tZXNzYWdlTGlzdFdyYXBwZXIge1xuICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcbiAgICAtd2Via2l0LWJveC1kaXJlY3Rpb246IG5vcm1hbDtcbiAgICAgICAgLW1zLWZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIC13ZWJraXQtYm94LXBhY2s6IGVuZDtcbiAgICAgICAgLW1zLWZsZXgtcGFjazogZW5kO1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5teF9Sb29tVmlld19zZWFyY2hSZXN1bHRzUGFuZWwgLm14X1Jvb21WaWV3X21lc3NhZ2VMaXN0V3JhcHBlciB7XG4gICAgICAgIC13ZWJraXQtYm94LXBhY2s6IHN0YXJ0O1xuICAgICAgICAgICAgLW1zLWZsZXgtcGFjazogc3RhcnQ7XG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgIH1cblxuLm14X1Jvb21WaWV3X3NlYXJjaFJlc3VsdHNQYW5lbCAubXhfUm9vbVZpZXdfbWVzc2FnZUxpc3RXcmFwcGVyID4gLm14X1Jvb21WaWV3X01lc3NhZ2VMaXN0ID4gbGkgPiBvbCB7XG4gICAgICAgICAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gICAgICAgIH1cblxuLm14X1Jvb21WaWV3X3NlYXJjaFJlc3VsdHNQYW5lbCBhIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICB9XG5cbi5teF9Sb29tVmlld19lbXB0eSB7XG4gICAgZm9udC1zaXplOiAwLjgxMjVyZW07XG4gICAgcGFkZGluZzogMCAyNHB4O1xuICAgIG1hcmdpbi1yaWdodDogMzBweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgbWFyZ2luLWJvdHRvbTogODBweDsgLyogdmlzdWFsbHkgY2VudGVyIHRoZSBjb250ZW50IChpbnRlbnRpb25hbCBvZmZzZXQpICovXG59XG5cbi5teF9Sb29tVmlld19NZXNzYWdlTGlzdCB7XG4gICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICAgIHBhZGRpbmc6IDE4cHg7XG4gICAgcGFkZGluZzogdmFyKC0tUm9vbVZpZXdfTWVzc2FnZUxpc3QtcGFkZGluZyk7IC8qIG14X1Byb2ZpbGVSZXNpemVyIGRlcGVuZHMgb24gdGhpcyB2YWx1ZSAqL1xuICAgIG1hcmdpbjogMDtcbiAgICAvKiBuZWVkZWQgYXMgbWluLWhlaWdodCBpcyBzZXQgdG8gY2xpZW50SGVpZ2h0IGluIFNjcm9sbFBhbmVsXG4gICAgdG8gcHJldmVudCBzaHJpbmtpbmcgd2hlbiBXaG9Jc1R5cGluZ1RpbGUgaXMgaGlkZGVuICovXG4gICAgLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbn1cblxuLm14X1Jvb21WaWV3X01lc3NhZ2VMaXN0IGxpIHtcbiAgICAgICAgY2xlYXI6IGJvdGg7XG4gICAgfVxuXG4ubXhfU2Nyb2xsUGFuZWwgLm14X1Jvb21WaWV3X01lc3NhZ2VMaXN0IHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgICAgICAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWw7XG4gICAgICAgIC13ZWJraXQtYm94LWRpcmVjdGlvbjogbm9ybWFsO1xuICAgICAgICAgICAgLW1zLWZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgLXdlYmtpdC1ib3gtcGFjazogZW5kO1xuICAgICAgICAgICAgLW1zLWZsZXgtcGFjazogZW5kO1xuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG5cbiAgICAgICAgY29udGVudC12aXNpYmlsaXR5OiBhdXRvO1xuICAgICAgICBjb250YWluLWludHJpbnNpYy1zaXplOiA1MHB4O1xuICAgIH1cblxuLm14X1Jvb21WaWV3LS1sb2NhbCAubXhfU2Nyb2xsUGFuZWwgLm14X1Jvb21WaWV3X01lc3NhZ2VMaXN0IHtcbiAgICAgICAgLXdlYmtpdC1ib3gtcGFjazogY2VudGVyO1xuICAgICAgICAgICAgLW1zLWZsZXgtcGFjazogY2VudGVyO1xuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIH1cblxuLm14X1Jvb21WaWV3X2luQ2FsbCAubXhfUm9vbVZpZXdfc3RhdHVzQXJlYUJveF9saW5lIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMnB4O1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIGhlaWdodDogMHB4O1xuICAgIH1cblxuLm14X1Jvb21WaWV3X2luQ2FsbCAubXhfTWVzc2FnZUNvbXBvc2VyX3dyYXBwZXIge1xuICAgICAgICBib3JkZXItdG9wOiAycHggaGlkZGVuO1xuICAgICAgICBwYWRkaW5nLXRvcDogMXB4O1xuICAgIH1cblxuLm14X01hdHJpeENoYXRfdXNlQ29tcGFjdExheW91dCAubXhfUm9vbVZpZXdfTWVzc2FnZUxpc3Qge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA0cHg7XG4gICAgfVxuXG4ubXhfTWF0cml4Q2hhdF91c2VDb21wYWN0TGF5b3V0IC5teF9Sb29tVmlld19NZXNzYWdlTGlzdCBoMiB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiA2cHg7XG4gICAgICAgIH1cblxuLm14X01hdHJpeENoYXRfdXNlQ29tcGFjdExheW91dCAubXhfUm9vbVZpZXdfc3RhdHVzQXJlYUJveCB7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDQycHg7XG4gICAgfVxuXG4vKlxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXG5Db3B5cmlnaHQgMjAxNSwgMjAxNiBPcGVuTWFya2V0IEx0ZFxuXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXG4qL1xuXG4ubXhfU2VhcmNoQm94IHtcbiAgICAtd2Via2l0LWJveC1mbGV4OiAxO1xuICAgICAgICAtbXMtZmxleDogMSAxIDBweDtcbiAgICAgICAgICAgIGZsZXg6IDEgMSAwO1xuICAgIG1pbi13aWR0aDogMDtcbn1cblxuLm14X1NlYXJjaEJveC5teF9TZWFyY2hCb3hfYmx1cnJlZDpub3QoOmhvdmVyKSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIH1cblxuLm14X1NlYXJjaEJveCAubXhfU2VhcmNoQm94X2Nsb3NlQnV0dG9uIHtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAtd2Via2l0LW1hc2staW1hZ2U6IHVybChcIkB2ZWN0b3ItaW0vY29tcG91bmQtZGVzaWduLXRva2Vucy9pY29ucy9jbG9zZS5zdmdcIik7XG4gICAgICAgICAgICAgICAgbWFzay1pbWFnZTogdXJsKFwiQHZlY3Rvci1pbS9jb21wb3VuZC1kZXNpZ24tdG9rZW5zL2ljb25zL2Nsb3NlLnN2Z1wiKTtcbiAgICAgICAgLXdlYmtpdC1tYXNrLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgICAgICAgIG1hc2stcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgIC13ZWJraXQtbWFzay1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgICAgICAgICAgIG1hc2stcG9zaXRpb246IGNlbnRlcjtcbiAgICAgICAgLXdlYmtpdC1tYXNrLXNpemU6IDE2cHg7XG4gICAgICAgICAgICAgICAgbWFzay1zaXplOiAxNnB4O1xuICAgICAgICB3aWR0aDogMTZweDtcbiAgICAgICAgaGVpZ2h0OiAxNnB4O1xuICAgICAgICBwYWRkaW5nOiA5cHg7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNwZC1jb2xvci1pY29uLXNlY29uZGFyeSk7XG4gICAgfVxuXG4vKlxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXG5Db3B5cmlnaHQgMjAyMSBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxuXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXG4qL1xuXG4ubXhfU3BhY2VSb29tVmlld19sYW5kaW5nIC5teF9BY2Nlc3NpYmxlQnV0dG9uX2tpbmRfbGluayB7XG4gICAgICAgIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgICB9XG5cbi5teF9TcGFjZVJvb21WaWV3X2xhbmRpbmcgLm14X1NlYXJjaEJveCB7XG4gICAgICAgIG1hcmdpbjogMjRweCAwIDE2cHg7XG4gICAgfVxuXG4ubXhfU3BhY2VSb29tVmlld19sYW5kaW5nIC5teF9TcGFjZUhpZXJhcmNoeV9ub1Jlc3VsdHMge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgfVxuXG4ubXhfU3BhY2VSb29tVmlld19sYW5kaW5nIC5teF9TcGFjZUhpZXJhcmNoeV9ub1Jlc3VsdHMgPiBkaXYge1xuICAgICAgICAgICAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS41cmVtO1xuICAgICAgICAgICAgY29sb3I6ICNlZGYzZmY7XG4gICAgICAgICAgICBjb2xvcjogdmFyKC0tc2Vjb25kYXJ5LWNvbnRlbnQsICNlZGYzZmYpO1xuICAgICAgICB9XG5cbi5teF9TcGFjZVJvb21WaWV3X2xhbmRpbmcgLm14X1NwYWNlSGllcmFyY2h5X2xpc3RIZWFkZXIge1xuICAgICAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgICAgICAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIC1tcy1mbGV4LWZsb3c6IHdyYXA7XG4gICAgICAgICAgICBmbGV4LWZsb3c6IHdyYXA7XG4gICAgICAgIC13ZWJraXQtYm94LXBhY2s6IGp1c3RpZnk7XG4gICAgICAgICAgICAtbXMtZmxleC1wYWNrOiBqdXN0aWZ5O1xuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgZ2FwOiAxMnB4O1xuICAgICAgICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNXJlbTtcbiAgICAgICAgY29sb3I6IHZhcigtLXRpbWVsaW5lLXRleHQtY29sb3IpO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxMnB4O1xuICAgIH1cblxuLm14X1NwYWNlUm9vbVZpZXdfbGFuZGluZyAubXhfU3BhY2VIaWVyYXJjaHlfbGlzdEhlYWRlciAubXhfU3BhY2VIaWVyYXJjaHlfbGlzdEhlYWRlcl9oZWFkZXIge1xuICAgICAgICAgICAgZ3JpZC1jb2x1bW4tc3RhcnQ6IDE7XG4gICAgICAgICAgICBmb250LXdlaWdodDogdmFyKC0tY3BkLWZvbnQtd2VpZ2h0LXNlbWlib2xkKTtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgfVxuXG4ubXhfU3BhY2VSb29tVmlld19sYW5kaW5nIC5teF9TcGFjZUhpZXJhcmNoeV9saXN0SGVhZGVyIC5teF9TcGFjZUhpZXJhcmNoeV9saXN0SGVhZGVyX2J1dHRvbnMge1xuICAgICAgICAgICAgZ3JpZC1jb2x1bW4tc3RhcnQ6IDI7XG4gICAgICAgICAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgICAgICAgICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIC1tcy1mbGV4LWZsb3c6IHdyYXA7XG4gICAgICAgICAgICAgICAgZmxleC1mbG93OiB3cmFwO1xuICAgICAgICAgICAgZ2FwOiAxMnB4O1xuICAgICAgICAgICAgbWluLWhlaWdodDogMzJweDtcbiAgICAgICAgfVxuXG4ubXhfU3BhY2VSb29tVmlld19sYW5kaW5nIC5teF9TcGFjZUhpZXJhcmNoeV9saXN0SGVhZGVyIC5teF9TcGFjZUhpZXJhcmNoeV9saXN0SGVhZGVyX2J1dHRvbnMgLm14X0FjY2Vzc2libGVCdXR0b24ge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDRweCAxMnB4O1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgICAgICB9XG5cbi5teF9TcGFjZVJvb21WaWV3X2xhbmRpbmcgLm14X1NwYWNlSGllcmFyY2h5X2xpc3RIZWFkZXIgLm14X0FjY2Vzc2libGVCdXR0b25fa2luZF9kYW5nZXJfb3V0bGluZSxcbiAgICAgICAgLm14X1NwYWNlUm9vbVZpZXdfbGFuZGluZyAubXhfU3BhY2VIaWVyYXJjaHlfbGlzdEhlYWRlciAubXhfQWNjZXNzaWJsZUJ1dHRvbl9raW5kX3ByaW1hcnlfb3V0bGluZSB7XG4gICAgICAgICAgICBwYWRkaW5nOiAzcHggMTJweDsgLyogdG8gYWNjb3VudCBmb3IgdGhlIDFweCBib3JkZXIgKi9cbiAgICAgICAgfVxuXG4ubXhfU3BhY2VSb29tVmlld19sYW5kaW5nIC5teF9TcGFjZUhpZXJhcmNoeV9lcnJvciB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLWNwZC1mb250LXdlaWdodC1zZW1pYm9sZCk7XG4gICAgICAgIGNvbG9yOiAjZmY1YjU1O1xuICAgICAgICBjb2xvcjogdmFyKC0tYWxlcnQsICNmZjViNTUpO1xuICAgICAgICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMTI1cmVtO1xuICAgICAgICBtYXJnaW46IDIwcHggYXV0byAxMnB4O1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDI0cHg7XG4gICAgICAgIHdpZHRoOiAtd2Via2l0LW1heC1jb250ZW50O1xuICAgICAgICB3aWR0aDogLW1vei1tYXgtY29udGVudDtcbiAgICAgICAgd2lkdGg6IG1heC1jb250ZW50O1xuICAgIH1cblxuLm14X1NwYWNlUm9vbVZpZXdfbGFuZGluZyAubXhfU3BhY2VIaWVyYXJjaHlfZXJyb3I6OmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgaGVpZ2h0OiAxNnB4O1xuICAgICAgICAgICAgd2lkdGg6IDE2cHg7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiQHZlY3Rvci1pbS9jb21wb3VuZC1kZXNpZ24tdG9rZW5zL2ljb25zL2Vycm9yLnN2Z1wiKTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICB9XG5cbi5teF9TcGFjZVJvb21WaWV3X2xhbmRpbmcgLm14X1NwYWNlSGllcmFyY2h5X3Jvb21Db3VudCA+IGgzIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1jcGQtZm9udC13ZWlnaHQtc2VtaWJvbGQpO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjM3NXJlbTtcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS10aW1lbGluZS10ZXh0LWNvbG9yKTtcbiAgICAgICAgfVxuXG4ubXhfU3BhY2VSb29tVmlld19sYW5kaW5nIC5teF9TcGFjZUhpZXJhcmNoeV9yb29tQ291bnQgPiBzcGFuIHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiA4cHg7XG4gICAgICAgICAgICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjVyZW07XG4gICAgICAgICAgICBjb2xvcjogI2VkZjNmZjtcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1zZWNvbmRhcnktY29udGVudCwgI2VkZjNmZik7XG4gICAgICAgIH1cblxuLm14X1NwYWNlUm9vbVZpZXdfbGFuZGluZyAubXhfU3BhY2VIaWVyYXJjaHlfc3Vic3BhY2VfdG9nZ2xlIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBsZWZ0OiAtMXB4O1xuICAgICAgICB0b3A6IDEwcHg7XG4gICAgICAgIGhlaWdodDogMTZweDtcbiAgICAgICAgd2lkdGg6IDE2cHg7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdGltZWxpbmUtYmFja2dyb3VuZC1jb2xvcik7XG4gICAgfVxuXG4ubXhfU3BhY2VSb29tVmlld19sYW5kaW5nIC5teF9TcGFjZUhpZXJhcmNoeV9zdWJzcGFjZV90b2dnbGU6OmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIGhlaWdodDogMTZweDtcbiAgICAgICAgICAgIHdpZHRoOiAxNnB4O1xuICAgICAgICAgICAgLXdlYmtpdC1tYXNrLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgICAgICAgICAgICBtYXNrLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgICAgLXdlYmtpdC1tYXNrLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgIG1hc2stcG9zaXRpb246IGNlbnRlcjtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNlZGYzZmY7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS10ZXJ0aWFyeS1jb250ZW50LCAjZWRmM2ZmKTtcbiAgICAgICAgICAgIC13ZWJraXQtbWFzay1zaXplOiAxNnB4O1xuICAgICAgICAgICAgICAgICAgICBtYXNrLXNpemU6IDE2cHg7XG4gICAgICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDI3MGRlZyk7XG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDI3MGRlZyk7XG4gICAgICAgICAgICAtd2Via2l0LW1hc2staW1hZ2U6IHVybChcIkB2ZWN0b3ItaW0vY29tcG91bmQtZGVzaWduLXRva2Vucy9pY29ucy9jaGV2cm9uLWRvd24uc3ZnXCIpO1xuICAgICAgICAgICAgICAgICAgICBtYXNrLWltYWdlOiB1cmwoXCJAdmVjdG9yLWltL2NvbXBvdW5kLWRlc2lnbi10b2tlbnMvaWNvbnMvY2hldnJvbi1kb3duLnN2Z1wiKTtcbiAgICAgICAgfVxuXG4ubXhfU3BhY2VSb29tVmlld19sYW5kaW5nIC5teF9TcGFjZUhpZXJhcmNoeV9zdWJzcGFjZV90b2dnbGUubXhfU3BhY2VIaWVyYXJjaHlfc3Vic3BhY2VfdG9nZ2xlX3Nob3duOjpiZWZvcmUge1xuICAgICAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gICAgICAgIH1cblxuLm14X1NwYWNlUm9vbVZpZXdfbGFuZGluZyAubXhfU3BhY2VIaWVyYXJjaHlfc3Vic3BhY2VfY2hpbGRyZW4ge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMTJweDtcbiAgICB9XG5cbi5teF9TcGFjZVJvb21WaWV3X2xhbmRpbmcgLm14X1NwYWNlSGllcmFyY2h5X2xpc3Qge1xuICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgfVxuXG4ubXhfU3BhY2VSb29tVmlld19sYW5kaW5nIC5teF9TcGFjZUhpZXJhcmNoeV9saXN0IGxpLm14X1NwYWNlSGllcmFyY2h5X3Jvb21UaWxlV3JhcHBlciB7XG4gICAgICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICB9XG5cbi5teF9TcGFjZVJvb21WaWV3X2xhbmRpbmcgLm14X1NwYWNlSGllcmFyY2h5X2xpc3QgbGkubXhfU3BhY2VIaWVyYXJjaHlfcm9vbVRpbGVXcmFwcGVyIC5teF9TcGFjZUhpZXJhcmNoeV9yb29tVGlsZSB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDhweCAxNnB4O1xuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgICAgICAgICAgICAgICAtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgICAgICAgICAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXG4gICAgICAgICAgICAgICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG5cbiAgICAgICAgICAgICAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcblxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgLW1zLWZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgICAgICAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICAgICAgICAgIGdhcDogNnB4IDEycHg7XG4gICAgICAgICAgICB9XG5cbi5teF9TcGFjZVJvb21WaWV3X2xhbmRpbmcgLm14X1NwYWNlSGllcmFyY2h5X2xpc3QgbGkubXhfU3BhY2VIaWVyYXJjaHlfcm9vbVRpbGVXcmFwcGVyIC5teF9TcGFjZUhpZXJhcmNoeV9yb29tVGlsZSAubXhfU3BhY2VIaWVyYXJjaHlfcm9vbVRpbGVfaXRlbSB7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1jcGQtZm9udC13ZWlnaHQtc2VtaWJvbGQpO1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMTI1cmVtO1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgICAgICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDIwcHggYXV0bztcbiAgICAgICAgICAgICAgICAgICAgZ3JpZC1nYXA6IDZweCA4cHg7XG4gICAgICAgICAgICAgICAgICAgIGdhcDogNnB4IDhweDtcbiAgICAgICAgICAgICAgICAgICAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgLXdlYmtpdC1ib3gtZmxleDogMTtcbiAgICAgICAgICAgICAgICAgICAgICAgIC1tcy1mbGV4OiAxO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZsZXg6IDE7IC8qIHdyYXAgYWN0aW9uIGJ1dHRvbnMgKi9cbiAgICAgICAgICAgICAgICB9XG5cbi5teF9TcGFjZVJvb21WaWV3X2xhbmRpbmcgLm14X1NwYWNlSGllcmFyY2h5X2xpc3QgbGkubXhfU3BhY2VIaWVyYXJjaHlfcm9vbVRpbGVXcmFwcGVyIC5teF9TcGFjZUhpZXJhcmNoeV9yb29tVGlsZSAubXhfU3BhY2VIaWVyYXJjaHlfcm9vbVRpbGVfaXRlbSAubXhfU3BhY2VIaWVyYXJjaHlfcm9vbVRpbGVfYXZhdGFyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGdyaWQtcm93OiAxO1xuICAgICAgICAgICAgICAgICAgICAgICAgZ3JpZC1jb2x1bW46IDE7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuLm14X1NwYWNlUm9vbVZpZXdfbGFuZGluZyAubXhfU3BhY2VIaWVyYXJjaHlfbGlzdCBsaS5teF9TcGFjZUhpZXJhcmNoeV9yb29tVGlsZVdyYXBwZXIgLm14X1NwYWNlSGllcmFyY2h5X3Jvb21UaWxlIC5teF9TcGFjZUhpZXJhcmNoeV9yb29tVGlsZV9pdGVtIC5teF9TcGFjZUhpZXJhcmNoeV9yb29tVGlsZV9uYW1lIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGdyaWQtcm93OiAxO1xuICAgICAgICAgICAgICAgICAgICAgICAgZ3JpZC1jb2x1bW46IDI7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuLm14X1NwYWNlUm9vbVZpZXdfbGFuZGluZyAubXhfU3BhY2VIaWVyYXJjaHlfbGlzdCBsaS5teF9TcGFjZUhpZXJhcmNoeV9yb29tVGlsZVdyYXBwZXIgLm14X1NwYWNlSGllcmFyY2h5X3Jvb21UaWxlIC5teF9TcGFjZUhpZXJhcmNoeV9yb29tVGlsZV9pdGVtIC5teF9TcGFjZUhpZXJhcmNoeV9yb29tVGlsZV9uYW1lIC5teF9JbmZvVG9vbHRpcCxcbiAgICAgICAgICAgICAgICAgICAgICAgIC5teF9TcGFjZVJvb21WaWV3X2xhbmRpbmcgLm14X1NwYWNlSGllcmFyY2h5X2xpc3QgbGkubXhfU3BhY2VIaWVyYXJjaHlfcm9vbVRpbGVXcmFwcGVyIC5teF9TcGFjZUhpZXJhcmNoeV9yb29tVGlsZSAubXhfU3BhY2VIaWVyYXJjaHlfcm9vbVRpbGVfaXRlbSAubXhfU3BhY2VIaWVyYXJjaHlfcm9vbVRpbGVfbmFtZSAubXhfU3BhY2VIaWVyYXJjaHlfcm9vbVRpbGVfam9pbmVkIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMTJweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogI2VkZjNmZjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tdGVydGlhcnktY29udGVudCwgI2VkZjNmZik7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAwLjc1cmVtO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAwLjkzNzVyZW07XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG5cbi5teF9TcGFjZVJvb21WaWV3X2xhbmRpbmcgLm14X1NwYWNlSGllcmFyY2h5X2xpc3QgbGkubXhfU3BhY2VIaWVyYXJjaHlfcm9vbVRpbGVXcmFwcGVyIC5teF9TcGFjZUhpZXJhcmNoeV9yb29tVGlsZSAubXhfU3BhY2VIaWVyYXJjaHlfcm9vbVRpbGVfaXRlbSAubXhfU3BhY2VIaWVyYXJjaHlfcm9vbVRpbGVfbmFtZSAubXhfSW5mb1Rvb2x0aXAgLm14X0luZm9Ub29sdGlwX2ljb24sIC5teF9TcGFjZVJvb21WaWV3X2xhbmRpbmcgLm14X1NwYWNlSGllcmFyY2h5X2xpc3QgbGkubXhfU3BhY2VIaWVyYXJjaHlfcm9vbVRpbGVXcmFwcGVyIC5teF9TcGFjZUhpZXJhcmNoeV9yb29tVGlsZSAubXhfU3BhY2VIaWVyYXJjaHlfcm9vbVRpbGVfaXRlbSAubXhfU3BhY2VIaWVyYXJjaHlfcm9vbVRpbGVfbmFtZSAubXhfU3BhY2VIaWVyYXJjaHlfcm9vbVRpbGVfam9pbmVkIC5teF9JbmZvVG9vbHRpcF9pY29uIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiA0cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IHRleHQtdG9wO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuLm14X1NwYWNlUm9vbVZpZXdfbGFuZGluZyAubXhfU3BhY2VIaWVyYXJjaHlfbGlzdCBsaS5teF9TcGFjZUhpZXJhcmNoeV9yb29tVGlsZVdyYXBwZXIgLm14X1NwYWNlSGllcmFyY2h5X3Jvb21UaWxlIC5teF9TcGFjZUhpZXJhcmNoeV9yb29tVGlsZV9pdGVtIC5teF9TcGFjZUhpZXJhcmNoeV9yb29tVGlsZV9uYW1lIC5teF9JbmZvVG9vbHRpcCAubXhfSW5mb1Rvb2x0aXBfaWNvbjo6YmVmb3JlLCAubXhfU3BhY2VSb29tVmlld19sYW5kaW5nIC5teF9TcGFjZUhpZXJhcmNoeV9saXN0IGxpLm14X1NwYWNlSGllcmFyY2h5X3Jvb21UaWxlV3JhcHBlciAubXhfU3BhY2VIaWVyYXJjaHlfcm9vbVRpbGUgLm14X1NwYWNlSGllcmFyY2h5X3Jvb21UaWxlX2l0ZW0gLm14X1NwYWNlSGllcmFyY2h5X3Jvb21UaWxlX25hbWUgLm14X1NwYWNlSGllcmFyY2h5X3Jvb21UaWxlX2pvaW5lZCAubXhfSW5mb1Rvb2x0aXBfaWNvbjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuLm14X1NwYWNlUm9vbVZpZXdfbGFuZGluZyAubXhfU3BhY2VIaWVyYXJjaHlfbGlzdCBsaS5teF9TcGFjZUhpZXJhcmNoeV9yb29tVGlsZVdyYXBwZXIgLm14X1NwYWNlSGllcmFyY2h5X3Jvb21UaWxlIC5teF9TcGFjZUhpZXJhcmNoeV9yb29tVGlsZV9pdGVtIC5teF9TcGFjZUhpZXJhcmNoeV9yb29tVGlsZV9uYW1lIC5teF9JbmZvVG9vbHRpcCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4ubXhfU3BhY2VSb29tVmlld19sYW5kaW5nIC5teF9TcGFjZUhpZXJhcmNoeV9saXN0IGxpLm14X1NwYWNlSGllcmFyY2h5X3Jvb21UaWxlV3JhcHBlciAubXhfU3BhY2VIaWVyYXJjaHlfcm9vbVRpbGUgLm14X1NwYWNlSGllcmFyY2h5X3Jvb21UaWxlX2l0ZW0gLm14X1NwYWNlSGllcmFyY2h5X3Jvb21UaWxlX25hbWUgLm14X1NwYWNlSGllcmFyY2h5X3Jvb21UaWxlX2pvaW5lZCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDE2cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG5cbi5teF9TcGFjZVJvb21WaWV3X2xhbmRpbmcgLm14X1NwYWNlSGllcmFyY2h5X2xpc3QgbGkubXhfU3BhY2VIaWVyYXJjaHlfcm9vbVRpbGVXcmFwcGVyIC5teF9TcGFjZUhpZXJhcmNoeV9yb29tVGlsZSAubXhfU3BhY2VIaWVyYXJjaHlfcm9vbVRpbGVfaXRlbSAubXhfU3BhY2VIaWVyYXJjaHlfcm9vbVRpbGVfbmFtZSAubXhfU3BhY2VIaWVyYXJjaHlfcm9vbVRpbGVfam9pbmVkOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMjBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b3A6IC0ycHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxlZnQ6IC00cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLXdlYmtpdC1tYXNrLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFzay1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtd2Via2l0LW1hc2stc2l6ZTogY29udGFpbjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXNrLXNpemU6IGNvbnRhaW47XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC13ZWJraXQtbWFzay1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXNrLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMGRiZDhiO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1hY2NlbnQtY29sb3IsICMwZGJkOGIpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtd2Via2l0LW1hc2staW1hZ2U6IHVybChcIkB2ZWN0b3ItaW0vY29tcG91bmQtZGVzaWduLXRva2Vucy9pY29ucy9jaGVjay5zdmdcIik7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFzay1pbWFnZTogdXJsKFwiQHZlY3Rvci1pbS9jb21wb3VuZC1kZXNpZ24tdG9rZW5zL2ljb25zL2NoZWNrLnN2Z1wiKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG5cbi5teF9TcGFjZVJvb21WaWV3X2xhbmRpbmcgLm14X1NwYWNlSGllcmFyY2h5X2xpc3QgbGkubXhfU3BhY2VIaWVyYXJjaHlfcm9vbVRpbGVXcmFwcGVyIC5teF9TcGFjZUhpZXJhcmNoeV9yb29tVGlsZSAubXhfU3BhY2VIaWVyYXJjaHlfcm9vbVRpbGVfaXRlbSAubXhfU3BhY2VIaWVyYXJjaHlfcm9vbVRpbGVfaW5mbyB7XG4gICAgICAgICAgICAgICAgICAgICAgICBncmlkLXJvdzogMjtcbiAgICAgICAgICAgICAgICAgICAgICAgIGdyaWQtY29sdW1uOiAyO1xuICAgICAgICAgICAgICAgICAgICAgICAgZm9udDogdmFyKC0tY3BkLWZvbnQtYm9keS1tZC1yZWd1bGFyKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogaW5pdGlhbDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjEyNXJlbTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAjZWRmM2ZmO1xuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IHZhcigtLXNlY29uZGFyeS1jb250ZW50LCAjZWRmM2ZmKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICAgICAgICAgICAgICAgICAgICAgICAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcbiAgICAgICAgICAgICAgICAgICAgICAgIC13ZWJraXQtbGluZS1jbGFtcDogMjtcbiAgICAgICAgICAgICAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgICAgICAgICAgIH1cblxuLm14X1NwYWNlUm9vbVZpZXdfbGFuZGluZyAubXhfU3BhY2VIaWVyYXJjaHlfbGlzdCBsaS5teF9TcGFjZUhpZXJhcmNoeV9yb29tVGlsZVdyYXBwZXIgLm14X1NwYWNlSGllcmFyY2h5X3Jvb21UaWxlIC5teF9TcGFjZUhpZXJhcmNoeV9hY3Rpb25zIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgICAgICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICAgICAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICAtd2Via2l0LWNvbHVtbi1nYXA6IDEycHg7XG4gICAgICAgICAgICAgICAgICAgICAgIC1tb3otY29sdW1uLWdhcDogMTJweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2x1bW4tZ2FwOiAxMnB4O1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgICAgICAgICAgICB9XG5cbi5teF9TcGFjZVJvb21WaWV3X2xhbmRpbmcgLm14X1NwYWNlSGllcmFyY2h5X2xpc3QgbGkubXhfU3BhY2VIaWVyYXJjaHlfcm9vbVRpbGVXcmFwcGVyIC5teF9TcGFjZUhpZXJhcmNoeV9yb29tVGlsZSAubXhfU3BhY2VIaWVyYXJjaHlfYWN0aW9ucyAubXhfQWNjZXNzaWJsZUJ1dHRvbiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMS41cmVtO1xuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogNHB4IDE2cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgICAgICAgICAgICAgICAgIH1cblxuLm14X1NwYWNlUm9vbVZpZXdfbGFuZGluZyAubXhfU3BhY2VIaWVyYXJjaHlfbGlzdCBsaS5teF9TcGFjZUhpZXJhcmNoeV9yb29tVGlsZVdyYXBwZXIgLm14X1NwYWNlSGllcmFyY2h5X3Jvb21UaWxlIC5teF9TcGFjZUhpZXJhcmNoeV9hY3Rpb25zIC5teF9BY2Nlc3NpYmxlQnV0dG9uX2tpbmRfZGFuZ2VyX291dGxpbmUsXG4gICAgICAgICAgICAgICAgICAgIC5teF9TcGFjZVJvb21WaWV3X2xhbmRpbmcgLm14X1NwYWNlSGllcmFyY2h5X2xpc3QgbGkubXhfU3BhY2VIaWVyYXJjaHlfcm9vbVRpbGVXcmFwcGVyIC5teF9TcGFjZUhpZXJhcmNoeV9yb29tVGlsZSAubXhfU3BhY2VIaWVyYXJjaHlfYWN0aW9ucyAubXhfQWNjZXNzaWJsZUJ1dHRvbl9raW5kX3ByaW1hcnlfb3V0bGluZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAzcHggMTZweDsgLyogdG8gYWNjb3VudCBmb3IgdGhlIDFweCBib3JkZXIgKi9cbiAgICAgICAgICAgICAgICAgICAgfVxuXG4ubXhfU3BhY2VSb29tVmlld19sYW5kaW5nIC5teF9TcGFjZUhpZXJhcmNoeV9saXN0IGxpLm14X1NwYWNlSGllcmFyY2h5X3Jvb21UaWxlV3JhcHBlciAubXhfU3BhY2VIaWVyYXJjaHlfcm9vbVRpbGUgLm14X1NwYWNlSGllcmFyY2h5X2FjdGlvbnMgLm14X0NoZWNrYm94IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IC13ZWJraXQtaW5saW5lLWJveDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IC1tcy1pbmxpbmUtZmxleGJveDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICAgICAgICAgICAgICB9XG5cbi5teF9TcGFjZVJvb21WaWV3X2xhbmRpbmcgLm14X1NwYWNlSGllcmFyY2h5X2xpc3QgbGkubXhfU3BhY2VIaWVyYXJjaHlfcm9vbVRpbGVXcmFwcGVyIC5teF9TcGFjZUhpZXJhcmNoeV9yb29tVGlsZSAubXhfU3BhY2VIaWVyYXJjaHlfYWN0aW9ucyAubXhfQ2hlY2tib3ggbGFiZWwge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxNnB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogMTZweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuLm14X1NwYWNlUm9vbVZpZXdfbGFuZGluZyAubXhfU3BhY2VIaWVyYXJjaHlfbGlzdCBsaS5teF9TcGFjZUhpZXJhcmNoeV9yb29tVGlsZVdyYXBwZXIgLm14X1NwYWNlSGllcmFyY2h5X3Jvb21UaWxlOmhvdmVyLFxuICAgICAgICAgICAgICAgIC5teF9TcGFjZVJvb21WaWV3X2xhbmRpbmcgLm14X1NwYWNlSGllcmFyY2h5X2xpc3QgbGkubXhfU3BhY2VIaWVyYXJjaHlfcm9vbVRpbGVXcmFwcGVyIC5teF9TcGFjZUhpZXJhcmNoeV9yb29tVGlsZTpmb2N1cy13aXRoaW4ge1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1zaWRlYmFyLWNvbG9yKTtcbiAgICAgICAgICAgICAgICB9XG5cbi5teF9TcGFjZVJvb21WaWV3X2xhbmRpbmcgLm14X1NwYWNlSGllcmFyY2h5X2xpc3QgbGkubXhfU3BhY2VIaWVyYXJjaHlfcm9vbVRpbGVXcmFwcGVyIC5teF9TcGFjZUhpZXJhcmNoeV9yb29tVGlsZTpob3ZlciAubXhfQWNjZXNzaWJsZUJ1dHRvbiwgLm14X1NwYWNlUm9vbVZpZXdfbGFuZGluZyAubXhfU3BhY2VIaWVyYXJjaHlfbGlzdCBsaS5teF9TcGFjZUhpZXJhcmNoeV9yb29tVGlsZVdyYXBwZXIgLm14X1NwYWNlSGllcmFyY2h5X3Jvb21UaWxlOmZvY3VzLXdpdGhpbiAubXhfQWNjZXNzaWJsZUJ1dHRvbiB7XG4gICAgICAgICAgICAgICAgICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbi5teF9TcGFjZVJvb21WaWV3X2xhbmRpbmcgLm14X1NwYWNlSGllcmFyY2h5X2xpc3QgbGkubXhfU3BhY2VIaWVyYXJjaHlfcm9vbVRpbGVXcmFwcGVyIC5teF9TcGFjZUhpZXJhcmNoeV9yb29tVGlsZS5teF9TcGFjZUhpZXJhcmNoeV9qb2luaW5nIC5teF9BY2Nlc3NpYmxlQnV0dG9uIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiA0cHggMThweDtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4ubXhfU3BhY2VSb29tVmlld19sYW5kaW5nIC5teF9TcGFjZUhpZXJhcmNoeV9yb29tVGlsZTo6YmVmb3JlLCAubXhfU3BhY2VSb29tVmlld19sYW5kaW5nIC5teF9TcGFjZUhpZXJhcmNoeV9zdWJzcGFjZV9jaGlsZHJlbjo6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1zaWRlYmFyLWNvbG9yKTtcbiAgICAgICAgICAgIHdpZHRoOiAxcHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICBsZWZ0OiA2cHg7XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgIH1cblxuLm14X1NwYWNlUm9vbVZpZXdfbGFuZGluZyAubXhfU3BhY2VIaWVyYXJjaHlfYWN0aW9ucyAubXhfU3BhY2VIaWVyYXJjaHlfYWN0aW9uc1RleHQge1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAwLjkzNzVyZW07XG4gICAgICAgICAgICBjb2xvcjogI2VkZjNmZjtcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1zZWNvbmRhcnktY29udGVudCwgI2VkZjNmZik7XG4gICAgICAgIH1cblxuLm14X1NwYWNlUm9vbVZpZXdfbGFuZGluZyA+IGhyIHtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICBoZWlnaHQ6IDFweDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxNDEsIDE1MSwgMTY1LCAwLjIpO1xuICAgICAgICBtYXJnaW46IDIwcHggMDtcbiAgICB9XG5cbi5teF9TcGFjZVJvb21WaWV3X2xhbmRpbmcgLm14X1NwYWNlSGllcmFyY2h5X2NyZWF0ZVJvb20ge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbWFyZ2luOiAxNnB4IGF1dG8gMDtcbiAgICAgICAgd2lkdGg6IC13ZWJraXQtbWF4LWNvbnRlbnQ7XG4gICAgICAgIHdpZHRoOiAtbW96LW1heC1jb250ZW50O1xuICAgICAgICB3aWR0aDogbWF4LWNvbnRlbnQ7XG4gICAgfVxuXG4vKlxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXG5Db3B5cmlnaHQgMjAyMSBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxuXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXG4qL1xuXG4ubXhfU3BhY2VQYW5lbCB7XG4gICAgLS1hY3RpdmVCYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1yb29tbGlzdC1oaWdobGlnaHRzLWNvbG9yKTtcbiAgICAtLWFjdGl2ZUJvcmRlci1jb2xvcjogdmFyKC0tdGltZWxpbmUtdGV4dC1jb2xvcik7XG4gICAgLS1hY3RpdmVCb3JkZXItdHJhbnNwYXJlbnQtZ2FwOiAxcHg7XG4gICAgLS1ndXR0ZXJTaXplOiAxNHB4O1xuICAgIC0taGVpZ2h0LW5lc3RlZDogMjRweDtcbiAgICAtLWhlaWdodC10b3BMZXZlbDogMzJweDtcblxuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXNpZGViYXItY29sb3IpO1xuICAgIC13ZWJraXQtYm94LWZsZXg6IDA7XG4gICAgICAgIC1tcy1mbGV4OiAwIDAgYXV0bztcbiAgICAgICAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAvKiBGaXggZm9yIHRoZSBibHVycmVkIGF2YXRhci1iYWNrZ3JvdW5kICovXG4gICAgei1pbmRleDogMTtcblxuICAgIC8qIENyZWF0ZSBhbm90aGVyIGZsZXhib3ggc28gdGhlIFBhbmVsIGZpbGxzIHRoZSBjb250YWluZXIgKi9cbiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWw7XG4gICAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiBub3JtYWw7XG4gICAgICAgIC1tcy1mbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbn1cblxuLm14X1NwYWNlUGFuZWwuY29sbGFwc2VkIHtcbiAgICAgICAgd2lkdGg6IDY4cHg7XG4gICAgfVxuXG4ubXhfU3BhY2VQYW5lbCAubXhfU3BhY2VQYW5lbF90b2dnbGVDb2xsYXBzZSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgd2lkdGg6IDE4cHg7XG4gICAgICAgIGhlaWdodDogMThweDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWRmM2ZmO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS10ZXJ0aWFyeS1jb250ZW50LCAjZWRmM2ZmKTtcbiAgICAgICAgdG9wOiAxOXB4OyAvKiB2LWFsaWduIHdpdGggYXZhdGFyICovXG4gICAgICAgIHJpZ2h0OiAtOHB4O1xuICAgIH1cblxuLm14X1NwYWNlUGFuZWwgLm14X1NwYWNlUGFuZWxfdG9nZ2xlQ29sbGFwc2U6OmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgd2lkdGg6IGluaGVyaXQ7XG4gICAgICAgICAgICBoZWlnaHQ6IGluaGVyaXQ7XG4gICAgICAgICAgICAtd2Via2l0LW1hc2stcG9zaXRpb246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgbWFzay1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgICAgICAgLXdlYmtpdC1tYXNrLXNpemU6IGNvbnRhaW47XG4gICAgICAgICAgICAgICAgICAgIG1hc2stc2l6ZTogY29udGFpbjtcbiAgICAgICAgICAgIC13ZWJraXQtbWFzay1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgICAgICAgICAgICAgbWFzay1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXRpbWVsaW5lLWJhY2tncm91bmQtY29sb3IpO1xuICAgICAgICAgICAgLXdlYmtpdC1tYXNrLWltYWdlOiB1cmwoXCJAdmVjdG9yLWltL2NvbXBvdW5kLWRlc2lnbi10b2tlbnMvaWNvbnMvY2hldnJvbi1kb3duLnN2Z1wiKTtcbiAgICAgICAgICAgICAgICAgICAgbWFzay1pbWFnZTogdXJsKFwiQHZlY3Rvci1pbS9jb21wb3VuZC1kZXNpZ24tdG9rZW5zL2ljb25zL2NoZXZyb24tZG93bi5zdmdcIik7XG4gICAgICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDI3MGRlZyk7XG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDI3MGRlZyk7XG4gICAgICAgIH1cblxuLm14X1NwYWNlUGFuZWwgLm14X1NwYWNlUGFuZWxfdG9nZ2xlQ29sbGFwc2U6bm90KC5leHBhbmRlZCkge1xuICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgfVxuXG4ubXhfU3BhY2VQYW5lbCAubXhfU3BhY2VQYW5lbF90b2dnbGVDb2xsYXBzZTpub3QoLmV4cGFuZGVkKTo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAtd2Via2l0LW1hc2stcG9zaXRpb246IGNlbnRlciAxcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXNrLXBvc2l0aW9uOiBjZW50ZXIgMXB4O1xuICAgICAgICAgICAgfVxuXG4ubXhfU3BhY2VQYW5lbCAubXhfU3BhY2VQYW5lbF90b2dnbGVDb2xsYXBzZS5leHBhbmRlZDo6YmVmb3JlIHtcbiAgICAgICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XG4gICAgICAgIH1cblxuLm14X1NwYWNlUGFuZWw6aG92ZXIgLm14X1NwYWNlUGFuZWxfdG9nZ2xlQ29sbGFwc2Uge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgIH1cblxuLm14X1NwYWNlUGFuZWwgdWwge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuXG4ubXhfU3BhY2VQYW5lbCAubXhfU3BhY2VCdXR0b25fdG9nZ2xlQ29sbGFwc2Uge1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgfVxuXG4ubXhfU3BhY2VQYW5lbCAubXhfU3BhY2VJdGVtX2RyYWdnaW5nIC5teF9TcGFjZUJ1dHRvbl90b2dnbGVDb2xsYXBzZSB7XG4gICAgICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgICAgIH1cblxuLm14X1NwYWNlUGFuZWwgLm14X1NwYWNlSXRlbSB7XG4gICAgICAgIGRpc3BsYXk6IC13ZWJraXQtaW5saW5lLWJveDtcbiAgICAgICAgZGlzcGxheTogLW1zLWlubGluZS1mbGV4Ym94O1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgLW1zLWZsZXgtZmxvdzogd3JhcDtcbiAgICAgICAgICAgIGZsZXgtZmxvdzogd3JhcDtcbiAgICB9XG5cbi5teF9TcGFjZVBhbmVsIC5teF9TcGFjZUl0ZW0ubXhfU3BhY2VJdGVtX25hcnJvdyB7XG4gICAgICAgICAgICAtbXMtZmxleC1pdGVtLWFsaWduOiBiYXNlbGluZTtcbiAgICAgICAgICAgICAgICBhbGlnbi1zZWxmOiBiYXNlbGluZTtcbiAgICAgICAgfVxuXG4ubXhfU3BhY2VQYW5lbCAubXhfU3BhY2VJdGVtLmNvbGxhcHNlZCA+IC5teF9TcGFjZUJ1dHRvbiA+IC5teF9TcGFjZUJ1dHRvbl90b2dnbGVDb2xsYXBzZSB7XG4gICAgICAgICAgICBwYWRkaW5nOiAwIDEwcHg7XG4gICAgICAgICAgICBtYXJnaW46IDAgLTEwcHg7XG4gICAgICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKC05MGRlZyk7XG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC05MGRlZyk7XG4gICAgICAgIH1cblxuLm14X1NwYWNlUGFuZWwgLm14X1NwYWNlSXRlbS5jb2xsYXBzZWQgPiAubXhfU3BhY2VUcmVlTGV2ZWwge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuXG4ubXhfU3BhY2VQYW5lbCAubXhfU3BhY2VJdGVtX25ldyB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB9XG5cbi5teF9TcGFjZVBhbmVsIC5teF9TcGFjZUl0ZW06bm90KC5oYXNTdWJTcGFjZXMpID4gLm14X1NwYWNlQnV0dG9uIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IHZhcigtLWd1dHRlclNpemUpO1xuICAgICAgICBtaW4td2lkdGg6IDQwcHg7XG4gICAgfVxuXG4ubXhfU3BhY2VQYW5lbCAubXhfU3BhY2VCdXR0b24ge1xuICAgICAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICAgICAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgcGFkZGluZzogNHB4IDRweCA0cHggMDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB9XG5cbi5teF9TcGFjZVBhbmVsIC5teF9TcGFjZUJ1dHRvbi5teF9TcGFjZUJ1dHRvbl9hY3RpdmU6bm90KC5teF9TcGFjZUJ1dHRvbl9uYXJyb3cpIC5teF9TcGFjZUJ1dHRvbl9zZWxlY3Rpb25XcmFwcGVyIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1hY3RpdmVCYWNrZ3JvdW5kLWNvbG9yKTtcbiAgICAgICAgICAgIH1cblxuLm14X1NwYWNlUGFuZWwgLm14X1NwYWNlQnV0dG9uLm14X1NwYWNlQnV0dG9uX2FjdGl2ZS5teF9TcGFjZUJ1dHRvbl9uYXJyb3cgLm14X1NwYWNlQnV0dG9uX3NlbGVjdGlvbldyYXBwZXIge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IHZhcigtLWFjdGl2ZUJvcmRlci10cmFuc3BhcmVudC1nYXApO1xuICAgICAgICAgICAgICAgIGJvcmRlcjogM3B4IHZhcigtLWFjdGl2ZUJvcmRlci1jb2xvcikgc29saWQ7XG4gICAgICAgICAgICB9XG5cbi5teF9TcGFjZVBhbmVsIC5teF9TcGFjZUJ1dHRvbiAubXhfU3BhY2VCdXR0b25fc2VsZWN0aW9uV3JhcHBlciB7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgICAgICAgICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIC13ZWJraXQtYm94LWZsZXg6IDE7XG4gICAgICAgICAgICAgICAgLW1zLWZsZXg6IDE7XG4gICAgICAgICAgICAgICAgICAgIGZsZXg6IDE7XG4gICAgICAgICAgICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAxMnB4O1xuICAgICAgICAgICAgcGFkZGluZzogNHB4O1xuICAgICAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDMycHgpO1xuICAgICAgICAgICAgbWluLXdpZHRoOiAwO1xuICAgICAgICB9XG5cbi5teF9TcGFjZVBhbmVsIC5teF9TcGFjZUJ1dHRvbi5teF9TcGFjZUJ1dHRvbl9uYXJyb3cgLm14X1NwYWNlQnV0dG9uX3NlbGVjdGlvbldyYXBwZXIge1xuICAgICAgICAgICAgLXdlYmtpdC1ib3gtZmxleDogaW5pdGlhbDtcbiAgICAgICAgICAgICAgICAtbXMtZmxleDogaW5pdGlhbDtcbiAgICAgICAgICAgICAgICAgICAgZmxleDogaW5pdGlhbDtcbiAgICAgICAgICAgIHdpZHRoOiAzMnB4O1xuICAgICAgICB9XG5cbi5teF9TcGFjZVBhbmVsIC5teF9TcGFjZUJ1dHRvbiAubXhfU3BhY2VCdXR0b25fbmFtZSB7XG4gICAgICAgICAgICAtd2Via2l0LWJveC1mbGV4OiAxO1xuICAgICAgICAgICAgICAgIC1tcy1mbGV4OiAxO1xuICAgICAgICAgICAgICAgICAgICBmbGV4OiAxO1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDhweDtcbiAgICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICAgIGZvbnQ6IHZhcigtLWNwZC1mb250LWJvZHktbWQtcmVndWxhcik7XG4gICAgICAgIH1cblxuLm14X1NwYWNlUGFuZWwgLm14X1NwYWNlQnV0dG9uIC5teF9TcGFjZUJ1dHRvbl90b2dnbGVDb2xsYXBzZSB7XG4gICAgICAgICAgICB3aWR0aDogdmFyKC0tZ3V0dGVyU2l6ZSk7XG4gICAgICAgICAgICBwYWRkaW5nOiAxMHB4IDA7XG4gICAgICAgICAgICBtaW4td2lkdGg6IHZhcigtLWd1dHRlclNpemUpO1xuICAgICAgICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgICAgICAgICAgLXdlYmtpdC1tYXNrLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgIG1hc2stcG9zaXRpb246IGNlbnRlcjtcbiAgICAgICAgICAgIC13ZWJraXQtbWFzay1zaXplOiAyMHB4O1xuICAgICAgICAgICAgICAgICAgICBtYXNrLXNpemU6IDIwcHg7XG4gICAgICAgICAgICAtd2Via2l0LW1hc2stcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgICAgICAgICAgIG1hc2stcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWRmM2ZmO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdGVydGlhcnktY29udGVudCwgI2VkZjNmZik7XG4gICAgICAgICAgICAtd2Via2l0LW1hc2staW1hZ2U6IHVybChcIkB2ZWN0b3ItaW0vY29tcG91bmQtZGVzaWduLXRva2Vucy9pY29ucy9jaGV2cm9uLWRvd24uc3ZnXCIpO1xuICAgICAgICAgICAgICAgICAgICBtYXNrLWltYWdlOiB1cmwoXCJAdmVjdG9yLWltL2NvbXBvdW5kLWRlc2lnbi10b2tlbnMvaWNvbnMvY2hldnJvbi1kb3duLnN2Z1wiKTtcbiAgICAgICAgfVxuXG4ubXhfU3BhY2VQYW5lbCAubXhfU3BhY2VCdXR0b24gLm14X1NwYWNlQnV0dG9uX2ljb24ge1xuICAgICAgICAgICAgd2lkdGg6IHZhcigtLWhlaWdodC10b3BMZXZlbCk7XG4gICAgICAgICAgICBtaW4td2lkdGg6IHZhcigtLWhlaWdodC10b3BMZXZlbCk7XG4gICAgICAgICAgICBoZWlnaHQ6IHZhcigtLWhlaWdodC10b3BMZXZlbCk7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIH1cblxuLm14X1NwYWNlUGFuZWwgLm14X1NwYWNlQnV0dG9uIC5teF9TcGFjZUJ1dHRvbl9pY29uOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgICAgIHdpZHRoOiB2YXIoLS1oZWlnaHQtdG9wTGV2ZWwpO1xuICAgICAgICAgICAgICAgIGhlaWdodDogdmFyKC0taGVpZ2h0LXRvcExldmVsKTtcbiAgICAgICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgICAgICAtd2Via2l0LW1hc2stcG9zaXRpb246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hc2stcG9zaXRpb246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAtd2Via2l0LW1hc2stcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXNrLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgICAgICAgIC13ZWJraXQtbWFzay1zaXplOiAxOHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFzay1zaXplOiAxOHB4O1xuICAgICAgICAgICAgfVxuXG4ubXhfU3BhY2VQYW5lbCAubXhfU3BhY2VCdXR0b24ubXhfU3BhY2VCdXR0b25faG9tZSAubXhfU3BhY2VCdXR0b25faWNvbiwgLm14X1NwYWNlUGFuZWwgLm14X1NwYWNlQnV0dG9uLm14X1NwYWNlQnV0dG9uX2Zhdm91cml0ZXMgLm14X1NwYWNlQnV0dG9uX2ljb24sIC5teF9TcGFjZVBhbmVsIC5teF9TcGFjZUJ1dHRvbi5teF9TcGFjZUJ1dHRvbl9wZW9wbGUgLm14X1NwYWNlQnV0dG9uX2ljb24sIC5teF9TcGFjZVBhbmVsIC5teF9TcGFjZUJ1dHRvbi5teF9TcGFjZUJ1dHRvbl9vcnBoYW5zIC5teF9TcGFjZUJ1dHRvbl9pY29uLCAubXhfU3BhY2VQYW5lbCAubXhfU3BhY2VCdXR0b24ubXhfU3BhY2VCdXR0b25fdmlkZW9Sb29tcyAubXhfU3BhY2VCdXR0b25faWNvbiB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcm9vbWxpc3QtaGlnaGxpZ2h0cy1jb2xvcik7XG4gICAgICAgICAgICB9XG5cbi5teF9TcGFjZVBhbmVsIC5teF9TcGFjZUJ1dHRvbi5teF9TcGFjZUJ1dHRvbl9ob21lIC5teF9TcGFjZUJ1dHRvbl9pY29uOjpiZWZvcmUsIC5teF9TcGFjZVBhbmVsIC5teF9TcGFjZUJ1dHRvbi5teF9TcGFjZUJ1dHRvbl9mYXZvdXJpdGVzIC5teF9TcGFjZUJ1dHRvbl9pY29uOjpiZWZvcmUsIC5teF9TcGFjZVBhbmVsIC5teF9TcGFjZUJ1dHRvbi5teF9TcGFjZUJ1dHRvbl9wZW9wbGUgLm14X1NwYWNlQnV0dG9uX2ljb246OmJlZm9yZSwgLm14X1NwYWNlUGFuZWwgLm14X1NwYWNlQnV0dG9uLm14X1NwYWNlQnV0dG9uX29ycGhhbnMgLm14X1NwYWNlQnV0dG9uX2ljb246OmJlZm9yZSwgLm14X1NwYWNlUGFuZWwgLm14X1NwYWNlQnV0dG9uLm14X1NwYWNlQnV0dG9uX3ZpZGVvUm9vbXMgLm14X1NwYWNlQnV0dG9uX2ljb246OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNlZGYzZmY7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXNlY29uZGFyeS1jb250ZW50LCAjZWRmM2ZmKTtcbiAgICAgICAgICAgICAgICB9XG5cbi5teF9TcGFjZVBhbmVsIC5teF9TcGFjZUJ1dHRvbi5teF9TcGFjZUJ1dHRvbl9ob21lIC5teF9TcGFjZUJ1dHRvbl9pY29uOjpiZWZvcmUge1xuICAgICAgICAgICAgLXdlYmtpdC1tYXNrLWltYWdlOiB1cmwoXCJAdmVjdG9yLWltL2NvbXBvdW5kLWRlc2lnbi10b2tlbnMvaWNvbnMvaG9tZS1zb2xpZC5zdmdcIik7XG4gICAgICAgICAgICAgICAgICAgIG1hc2staW1hZ2U6IHVybChcIkB2ZWN0b3ItaW0vY29tcG91bmQtZGVzaWduLXRva2Vucy9pY29ucy9ob21lLXNvbGlkLnN2Z1wiKTtcbiAgICAgICAgfVxuXG4ubXhfU3BhY2VQYW5lbCAubXhfU3BhY2VCdXR0b24ubXhfU3BhY2VCdXR0b25fZmF2b3VyaXRlcyAubXhfU3BhY2VCdXR0b25faWNvbjo6YmVmb3JlIHtcbiAgICAgICAgICAgIC13ZWJraXQtbWFzay1pbWFnZTogdXJsKFwiQHZlY3Rvci1pbS9jb21wb3VuZC1kZXNpZ24tdG9rZW5zL2ljb25zL2Zhdm91cml0ZS1zb2xpZC5zdmdcIik7XG4gICAgICAgICAgICAgICAgICAgIG1hc2staW1hZ2U6IHVybChcIkB2ZWN0b3ItaW0vY29tcG91bmQtZGVzaWduLXRva2Vucy9pY29ucy9mYXZvdXJpdGUtc29saWQuc3ZnXCIpO1xuICAgICAgICB9XG5cbi5teF9TcGFjZVBhbmVsIC5teF9TcGFjZUJ1dHRvbi5teF9TcGFjZUJ1dHRvbl9wZW9wbGUgLm14X1NwYWNlQnV0dG9uX2ljb246OmJlZm9yZSB7XG4gICAgICAgICAgICAtd2Via2l0LW1hc2staW1hZ2U6IHVybChcIkB2ZWN0b3ItaW0vY29tcG91bmQtZGVzaWduLXRva2Vucy9pY29ucy91c2VyLXByb2ZpbGUtc29saWQuc3ZnXCIpO1xuICAgICAgICAgICAgICAgICAgICBtYXNrLWltYWdlOiB1cmwoXCJAdmVjdG9yLWltL2NvbXBvdW5kLWRlc2lnbi10b2tlbnMvaWNvbnMvdXNlci1wcm9maWxlLXNvbGlkLnN2Z1wiKTtcbiAgICAgICAgfVxuXG4ubXhfU3BhY2VQYW5lbCAubXhfU3BhY2VCdXR0b24ubXhfU3BhY2VCdXR0b25fb3JwaGFucyAubXhfU3BhY2VCdXR0b25faWNvbjo6YmVmb3JlIHtcbiAgICAgICAgICAgIC13ZWJraXQtbWFzay1pbWFnZTogdXJsKFwiLi4vLi4vLi4vaW1nL2VsZW1lbnQtaWNvbnMvcm9vbWxpc3QvaGFzaC1jaXJjbGUuc3ZnXCIpO1xuICAgICAgICAgICAgICAgICAgICBtYXNrLWltYWdlOiB1cmwoXCIuLi8uLi8uLi9pbWcvZWxlbWVudC1pY29ucy9yb29tbGlzdC9oYXNoLWNpcmNsZS5zdmdcIik7XG4gICAgICAgIH1cblxuLm14X1NwYWNlUGFuZWwgLm14X1NwYWNlQnV0dG9uLm14X1NwYWNlQnV0dG9uX3ZpZGVvUm9vbXMgLm14X1NwYWNlQnV0dG9uX2ljb246OmJlZm9yZSB7XG4gICAgICAgICAgICAtd2Via2l0LW1hc2staW1hZ2U6IHVybChcIkB2ZWN0b3ItaW0vY29tcG91bmQtZGVzaWduLXRva2Vucy9pY29ucy92aWRlby1jYWxsLXNvbGlkLnN2Z1wiKTtcbiAgICAgICAgICAgICAgICAgICAgbWFzay1pbWFnZTogdXJsKFwiQHZlY3Rvci1pbS9jb21wb3VuZC1kZXNpZ24tdG9rZW5zL2ljb25zL3ZpZGVvLWNhbGwtc29saWQuc3ZnXCIpO1xuICAgICAgICB9XG5cbi5teF9TcGFjZVBhbmVsIC5teF9TcGFjZUJ1dHRvbi5teF9TcGFjZUJ1dHRvbl9uZXcgLm14X1NwYWNlQnV0dG9uX2ljb246OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdGltZWxpbmUtdGV4dC1jb2xvcik7XG4gICAgICAgICAgICAgICAgLXdlYmtpdC1tYXNrLWltYWdlOiB1cmwoXCJAdmVjdG9yLWltL2NvbXBvdW5kLWRlc2lnbi10b2tlbnMvaWNvbnMvcGx1cy5zdmdcIik7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXNrLWltYWdlOiB1cmwoXCJAdmVjdG9yLWltL2NvbXBvdW5kLWRlc2lnbi10b2tlbnMvaWNvbnMvcGx1cy5zdmdcIik7XG4gICAgICAgICAgICAgICAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLWluLW91dDtcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLWluLW91dDsgLyogVE9ETyB0cmFuc2l0aW9uICovXG4gICAgICAgICAgICB9XG5cbi5teF9TcGFjZVBhbmVsIC5teF9TcGFjZUJ1dHRvbi5teF9TcGFjZUJ1dHRvbl9uZXdDYW5jZWwgLm14X1NwYWNlQnV0dG9uX2ljb246OmJlZm9yZSB7XG4gICAgICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICAgICAgICB9XG5cbi5teF9TcGFjZVBhbmVsIC5teF9TcGFjZUJ1dHRvbiAubXhfU3BhY2VCdXR0b25fbWVudUJ1dHRvbiB7XG4gICAgICAgICAgICB3aWR0aDogMjBweDtcbiAgICAgICAgICAgIG1pbi13aWR0aDogMjBweDsgLyogeWF5IGZsZXggKi9cbiAgICAgICAgICAgIGhlaWdodDogMjBweDtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IGF1dG87XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiBhdXRvO1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHJpZ2h0OiA0cHg7XG4gICAgICAgIH1cblxuLm14X1NwYWNlUGFuZWwgLm14X1NwYWNlQnV0dG9uIC5teF9TcGFjZUJ1dHRvbl9tZW51QnV0dG9uOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIHRvcDogM3B4O1xuICAgICAgICAgICAgICAgIGxlZnQ6IDJweDtcbiAgICAgICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxNnB4O1xuICAgICAgICAgICAgICAgIGhlaWdodDogMTZweDtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgLXdlYmtpdC1tYXNrLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXNrLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgLXdlYmtpdC1tYXNrLXNpemU6IGNvbnRhaW47XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXNrLXNpemU6IGNvbnRhaW47XG4gICAgICAgICAgICAgICAgLXdlYmtpdC1tYXNrLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFzay1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgICAgICAgICAtd2Via2l0LW1hc2staW1hZ2U6IHVybChcIkB2ZWN0b3ItaW0vY29tcG91bmQtZGVzaWduLXRva2Vucy9pY29ucy9vdmVyZmxvdy1ob3Jpem9udGFsLnN2Z1wiKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hc2staW1hZ2U6IHVybChcIkB2ZWN0b3ItaW0vY29tcG91bmQtZGVzaWduLXRva2Vucy9pY29ucy9vdmVyZmxvdy1ob3Jpem9udGFsLnN2Z1wiKTtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS10aW1lbGluZS10ZXh0LWNvbG9yKTtcbiAgICAgICAgICAgIH1cblxuLm14X1NwYWNlUGFuZWwgLm14X1NwYWNlVHJlZUxldmVsIHtcbiAgICAgICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gICAgICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xuICAgICAgICAtd2Via2l0LWJveC1kaXJlY3Rpb246IG5vcm1hbDtcbiAgICAgICAgICAgIC1tcy1mbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIG1heC13aWR0aDogMjUwcHg7XG4gICAgICAgIG1pbi13aWR0aDogMDtcbiAgICAgICAgLXdlYmtpdC1ib3gtZmxleDogMTtcbiAgICAgICAgICAgIC1tcy1mbGV4LXBvc2l0aXZlOiAxO1xuICAgICAgICAgICAgICAgIGZsZXgtZ3JvdzogMTtcbiAgICB9XG5cbi5teF9TcGFjZVBhbmVsIC5teF9TcGFjZVRyZWVMZXZlbCAubXhfU3BhY2VUcmVlTGV2ZWwge1xuICAgICAgICAgICAgLyogSW5kZW50IHN1YnNwYWNlcyAqL1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAxNnB4O1xuICAgICAgICB9XG5cbi5teF9TcGFjZVBhbmVsIC5teF9TcGFjZUJ1dHRvbl9hdmF0YXJXcmFwcGVyIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBsaW5lLWhlaWdodDogMDtcbiAgICB9XG5cbi5teF9TcGFjZVBhbmVsIC5teF9TcGFjZVBhbmVsX2JhZGdlQ29udGFpbmVyIHtcbiAgICAgICAgLyogQ3JlYXRlIGEgZmxleGJveCB0byBtYWtlIGFsaWduaW5nIGRvdCBiYWRnZXMgZWFzaWVyICovXG4gICAgICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICAgICAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICByaWdodDogLTNweDtcbiAgICAgICAgdG9wOiAtM3B4O1xuICAgIH1cblxuLm14X1NwYWNlUGFuZWwgLm14X1NwYWNlUGFuZWxfYmFkZ2VDb250YWluZXIgLm14X05vdGlmaWNhdGlvbkJhZGdlIHtcbiAgICAgICAgICAgIG1hcmdpbjogMCAycHg7IC8qIGNlbnRlcmluZyAqL1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcbiAgICAgICAgfVxuXG4ubXhfU3BhY2VQYW5lbCAubXhfU3BhY2VQYW5lbF9iYWRnZUNvbnRhaW5lciAubXhfTm90aWZpY2F0aW9uQmFkZ2VfZG90IHtcbiAgICAgICAgICAgIC8qIG1ha2UgdGhlIHNtYWxsZXIgZG90IG9jY3VweSB0aGUgc2FtZSB3aWR0aCBmb3IgY2VudGVyaW5nICovXG4gICAgICAgICAgICBtYXJnaW46IDAgLTFweCAwIDA7XG4gICAgICAgICAgICBib3JkZXI6IDNweCBzb2xpZCB2YXIoLS1zaWRlYmFyLWNvbG9yKTtcbiAgICAgICAgfVxuXG4ubXhfU3BhY2VQYW5lbCAubXhfU3BhY2VQYW5lbF9iYWRnZUNvbnRhaW5lciAubXhfTm90aWZpY2F0aW9uQmFkZ2VfMmNoYXIsXG4gICAgICAgIC5teF9TcGFjZVBhbmVsIC5teF9TcGFjZVBhbmVsX2JhZGdlQ29udGFpbmVyIC5teF9Ob3RpZmljYXRpb25CYWRnZV8zY2hhciB7XG4gICAgICAgICAgICBtYXJnaW46IC01cHggLTVweCAwIDA7XG4gICAgICAgICAgICBib3JkZXI6IDJweCBzb2xpZCB2YXIoLS1zaWRlYmFyLWNvbG9yKTtcbiAgICAgICAgfVxuXG4ubXhfU3BhY2VQYW5lbCAubXhfU3BhY2VCdXR0b246aG92ZXI6bm90KC5teF9TcGFjZUJ1dHRvbl9uYXJyb3cpOm5vdCgubXhfU3BhY2VCdXR0b25faW52aXRlKSAubXhfU3BhY2VCdXR0b25fbWVudUJ1dHRvbiwgLm14X1NwYWNlUGFuZWwgLm14X1NwYWNlQnV0dG9uOmZvY3VzLXdpdGhpbjpub3QoLm14X1NwYWNlQnV0dG9uX25hcnJvdyk6bm90KC5teF9TcGFjZUJ1dHRvbl9pbnZpdGUpIC5teF9TcGFjZUJ1dHRvbl9tZW51QnV0dG9uLCAubXhfU3BhY2VQYW5lbCAubXhfU3BhY2VCdXR0b25faGFzTWVudU9wZW46bm90KC5teF9TcGFjZUJ1dHRvbl9uYXJyb3cpOm5vdCgubXhfU3BhY2VCdXR0b25faW52aXRlKSAubXhfU3BhY2VCdXR0b25fbWVudUJ1dHRvbiB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuXG4ubXhfU3BhY2VQYW5lbCAubXhfU3BhY2VJdGVtOm5vdCgubXhfU3BhY2VJdGVtX25ldykgLm14X1NwYWNlQnV0dG9uOmhvdmVyOm5vdCgubXhfU3BhY2VCdXR0b25fbmFycm93KTpub3QoLm14X1NwYWNlQnV0dG9uX2ludml0ZSkgLm14X1NwYWNlQnV0dG9uX25hbWUsIC5teF9TcGFjZVBhbmVsIC5teF9TcGFjZUl0ZW06bm90KC5teF9TcGFjZUl0ZW1fbmV3KSAubXhfU3BhY2VCdXR0b246Zm9jdXMtd2l0aGluOm5vdCgubXhfU3BhY2VCdXR0b25fbmFycm93KTpub3QoLm14X1NwYWNlQnV0dG9uX2ludml0ZSkgLm14X1NwYWNlQnV0dG9uX25hbWUsIC5teF9TcGFjZVBhbmVsIC5teF9TcGFjZUl0ZW06bm90KC5teF9TcGFjZUl0ZW1fbmV3KSAubXhfU3BhY2VCdXR0b25faGFzTWVudU9wZW46bm90KC5teF9TcGFjZUJ1dHRvbl9uYXJyb3cpOm5vdCgubXhfU3BhY2VCdXR0b25faW52aXRlKSAubXhfU3BhY2VCdXR0b25fbmFtZSB7XG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiBjYWxjKDEwMCUgLSA1NnB4KTtcbiAgICAgICAgICAgIH1cblxuLyogcm9vdCBzcGFjZSBidXR0b25zIGFyZSBiaWdnZXIgYW5kIG5vdCBpbmRlbnRlZCAqL1xuXG4ubXhfU3BhY2VQYW5lbCA+IC5teF9BdXRvSGlkZVNjcm9sbGJhciB7XG4gICAgICAgIC13ZWJraXQtYm94LWZsZXg6IDE7XG4gICAgICAgICAgICAtbXMtZmxleDogMTtcbiAgICAgICAgICAgICAgICBmbGV4OiAxO1xuICAgICAgICBwYWRkaW5nOiAwIDAgMTZweCAwO1xuICAgICAgICBzY3JvbGxiYXItZ3V0dGVyOiBzdGFibGU7XG4gICAgfVxuXG4ubXhfU3BhY2VQYW5lbCA+IC5teF9BdXRvSGlkZVNjcm9sbGJhciA+IC5teF9TcGFjZUJ1dHRvbiB7XG4gICAgICAgICAgICBoZWlnaHQ6IHZhcigtLWhlaWdodC10b3BMZXZlbCk7XG4gICAgICAgIH1cblxuLm14X1NwYWNlUGFuZWwgPiAubXhfQXV0b0hpZGVTY3JvbGxiYXIgPiAubXhfU3BhY2VCdXR0b24ubXhfU3BhY2VCdXR0b25fYWN0aXZlOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGhlaWdodDogdmFyKC0taGVpZ2h0LXRvcExldmVsKTtcbiAgICAgICAgICAgIH1cblxuLm14X1NwYWNlUGFuZWwgPiAubXhfQXV0b0hpZGVTY3JvbGxiYXIgPiB1bCB7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgIH1cblxuLm14X1NwYWNlUGFuZWwgPiAubXhfQXV0b0hpZGVTY3JvbGxiYXIubXhfSW5kaWNhdG9yU2Nyb2xsYmFyX3RvcE92ZXJmbG93IHtcbiAgICAgICAgICAgIC13ZWJraXQtbWFzay1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgdHJhbnNwYXJlbnQsIGJsYWNrIDE2cHgpO1xuICAgICAgICAgICAgICAgICAgICBtYXNrLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCB0cmFuc3BhcmVudCwgYmxhY2sgMTZweCk7XG4gICAgICAgIH1cblxuLm14X1NwYWNlUGFuZWwgPiAubXhfQXV0b0hpZGVTY3JvbGxiYXIubXhfSW5kaWNhdG9yU2Nyb2xsYmFyX2JvdHRvbU92ZXJmbG93IHtcbiAgICAgICAgICAgIC13ZWJraXQtbWFzay1pbWFnZTogbGluZWFyLWdyYWRpZW50KFxuICAgICAgICAgICAgICAgIHRvIHRvcCxcbiAgICAgICAgICAgICAgICB0cmFuc3BhcmVudCxcbiAgICAgICAgICAgICAgICByZ2JhKDI1NSwgMjU1LCAyNTUsIDMwJSkgNHB4LFxuICAgICAgICAgICAgICAgIHJnYmEoMjU1LCAyNTUsIDI1NSwgNTUlKSA4cHgsXG4gICAgICAgICAgICAgICAgcmdiYSgyNTUsIDI1NSwgMjU1LCA3NSUpIDEycHgsXG4gICAgICAgICAgICAgICAgYmxhY2sgMTZweFxuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgbWFzay1pbWFnZTogbGluZWFyLWdyYWRpZW50KFxuICAgICAgICAgICAgICAgIHRvIHRvcCxcbiAgICAgICAgICAgICAgICB0cmFuc3BhcmVudCxcbiAgICAgICAgICAgICAgICByZ2JhKDI1NSwgMjU1LCAyNTUsIDMwJSkgNHB4LFxuICAgICAgICAgICAgICAgIHJnYmEoMjU1LCAyNTUsIDI1NSwgNTUlKSA4cHgsXG4gICAgICAgICAgICAgICAgcmdiYSgyNTUsIDI1NSwgMjU1LCA3NSUpIDEycHgsXG4gICAgICAgICAgICAgICAgYmxhY2sgMTZweFxuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuXG4ubXhfU3BhY2VQYW5lbCA+IC5teF9BdXRvSGlkZVNjcm9sbGJhci5teF9JbmRpY2F0b3JTY3JvbGxiYXJfdG9wT3ZlcmZsb3cubXhfSW5kaWNhdG9yU2Nyb2xsYmFyX2JvdHRvbU92ZXJmbG93IHtcbiAgICAgICAgICAgIC8qIFRoaXMgc3RhY2tzIHR3byBncmFkaWVudHMgb24gdG9wIG9mIG9uZSBhbm90aGVyLCB3aGljaCBsZXRzIHVzXG4gICAgICAgICAgICAgICBoYXZlIGEgZml4ZWQgcGl4ZWwgb2Zmc2V0IGZyb20gYm90aCB0b3AgYW5kIGJvdHRvbSBmb3IgdGhlIGNvbG91ciBzdG9wcy5cbiAgICAgICAgICAgICAgIE5vdGUgdGhlIHRvcCBmYWRlIGlzIG11Y2ggc21hbGxlciBiZWNhdXNlIHRoZSBzcGFjZXMgc3RhcnQgY2xvc2UgdG8gdGhlIHRvcCxcbiAgICAgICAgICAgICAgIHNvIG90aGVyd2lzZSBhIGxhcmdlIGdyYWRpZW50IHN1ZGRlbmx5IGFwcGVhcnMgd2hlbiB5b3Ugc2Nyb2xsIGRvd24uXG4gICAgICAgICAgICAgKi9cbiAgICAgICAgICAgIC13ZWJraXQtbWFzay1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgdHJhbnNwYXJlbnQsIGJsYWNrIDE2cHgpLFxuICAgICAgICAgICAgICAgIGxpbmVhci1ncmFkaWVudChcbiAgICAgICAgICAgICAgICAgICAgdG8gdG9wLFxuICAgICAgICAgICAgICAgICAgICB0cmFuc3BhcmVudCxcbiAgICAgICAgICAgICAgICAgICAgcmdiYSgyNTUsIDI1NSwgMjU1LCAzMCUpIDRweCxcbiAgICAgICAgICAgICAgICAgICAgcmdiYSgyNTUsIDI1NSwgMjU1LCA1NSUpIDhweCxcbiAgICAgICAgICAgICAgICAgICAgcmdiYSgyNTUsIDI1NSwgMjU1LCA3NSUpIDEycHgsXG4gICAgICAgICAgICAgICAgICAgIGJsYWNrIDE2cHhcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgICAgICBtYXNrLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCB0cmFuc3BhcmVudCwgYmxhY2sgMTZweCksXG4gICAgICAgICAgICAgICAgbGluZWFyLWdyYWRpZW50KFxuICAgICAgICAgICAgICAgICAgICB0byB0b3AsXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zcGFyZW50LFxuICAgICAgICAgICAgICAgICAgICByZ2JhKDI1NSwgMjU1LCAyNTUsIDMwJSkgNHB4LFxuICAgICAgICAgICAgICAgICAgICByZ2JhKDI1NSwgMjU1LCAyNTUsIDU1JSkgOHB4LFxuICAgICAgICAgICAgICAgICAgICByZ2JhKDI1NSwgMjU1LCAyNTUsIDc1JSkgMTJweCxcbiAgICAgICAgICAgICAgICAgICAgYmxhY2sgMTZweFxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAtd2Via2l0LW1hc2stcG9zaXRpb246XG4gICAgICAgICAgICAgICAgMCUgMCUsXG4gICAgICAgICAgICAgICAgMCUgMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgbWFzay1wb3NpdGlvbjpcbiAgICAgICAgICAgICAgICAwJSAwJSxcbiAgICAgICAgICAgICAgICAwJSAxMDAlO1xuICAgICAgICAgICAgLXdlYmtpdC1tYXNrLXNpemU6XG4gICAgICAgICAgICAgICAgY2FsYygxMDAlIC0gMTBweCkgNTAlLFxuICAgICAgICAgICAgICAgIGNhbGMoMTAwJSAtIDEwcHgpIDUwJTtcbiAgICAgICAgICAgICAgICAgICAgbWFzay1zaXplOlxuICAgICAgICAgICAgICAgIGNhbGMoMTAwJSAtIDEwcHgpIDUwJSxcbiAgICAgICAgICAgICAgICBjYWxjKDEwMCUgLSAxMHB4KSA1MCU7XG4gICAgICAgICAgICAtd2Via2l0LW1hc2stcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgICAgICAgICAgIG1hc2stcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgIH1cblxuLm14X1NwYWNlUGFuZWwgLm14X1VzZXJNZW51IHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDEycHg7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1jcGQtY29sb3ItZ3JheS00MDApO1xuICAgICAgICBtYXJnaW46IDEycHggMTRweCA0cHggMThweDtcbiAgICAgICAgd2lkdGg6IC13ZWJraXQtbWluLWNvbnRlbnQ7XG4gICAgICAgIHdpZHRoOiAtbW96LW1pbi1jb250ZW50O1xuICAgICAgICB3aWR0aDogbWluLWNvbnRlbnQ7XG4gICAgICAgIG1heC13aWR0aDogMjI2cHg7XG4gICAgfVxuXG4vKiBEaXNwbGF5IHRoZSBjb250YWluZXIgYW5kIGltZyBoZXJlIGFzIGJsb2NrIGVsZW1lbnRzIHNvIHRoZXkgZG9uJ3QgdGFrZVxuICAgICAgICAgKiB1cCBleHRyYSB2ZXJ0aWNhbCBzcGFjZS5cbiAgICAgICAgICovXG5cbi5teF9TcGFjZVBhbmVsIC5teF9Vc2VyTWVudSAubXhfVXNlck1lbnVfdXNlckF2YXRhcl9CYXNlQXZhdGFyIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB9XG5cbi5teF9TcGFjZVBhbmVsX2NvbnRleHRNZW51IHtcbiAgICBtYXgtd2lkdGg6IDM2MHB4O1xufVxuXG4ubXhfU3BhY2VQYW5lbF9jb250ZXh0TWVudSAubXhfU3BhY2VQYW5lbF9jb250ZXh0TWVudV9oZWFkZXIge1xuICAgICAgICBtYXJnaW46IDEycHggMTZweCAxMnB4O1xuICAgICAgICBmb250LXdlaWdodDogdmFyKC0tY3BkLWZvbnQtd2VpZ2h0LXNlbWlib2xkKTtcbiAgICAgICAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjEyNXJlbTtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgfVxuXG4ubXhfU3BhY2VQYW5lbF9jb250ZXh0TWVudSAubXhfU3BhY2VQYW5lbF9pY29uSG9tZTo6YmVmb3JlIHtcbiAgICAgICAgLXdlYmtpdC1tYXNrLWltYWdlOiB1cmwoXCJAdmVjdG9yLWltL2NvbXBvdW5kLWRlc2lnbi10b2tlbnMvaWNvbnMvaG9tZS1zb2xpZC5zdmdcIik7XG4gICAgICAgICAgICAgICAgbWFzay1pbWFnZTogdXJsKFwiQHZlY3Rvci1pbS9jb21wb3VuZC1kZXNpZ24tdG9rZW5zL2ljb25zL2hvbWUtc29saWQuc3ZnXCIpO1xuICAgIH1cblxuLm14X1NwYWNlUGFuZWxfY29udGV4dE1lbnUgLm14X1NwYWNlUGFuZWxfaWNvbkludml0ZTo6YmVmb3JlIHtcbiAgICAgICAgLXdlYmtpdC1tYXNrLWltYWdlOiB1cmwoXCIuLi8uLi8uLi9pbWcvZWxlbWVudC1pY29ucy9yb29tL2ludml0ZS5zdmdcIik7XG4gICAgICAgICAgICAgICAgbWFzay1pbWFnZTogdXJsKFwiLi4vLi4vLi4vaW1nL2VsZW1lbnQtaWNvbnMvcm9vbS9pbnZpdGUuc3ZnXCIpO1xuICAgIH1cblxuLm14X1NwYWNlUGFuZWxfY29udGV4dE1lbnUgLm14X1NwYWNlUGFuZWxfaWNvblNldHRpbmdzOjpiZWZvcmUge1xuICAgICAgICAtd2Via2l0LW1hc2staW1hZ2U6IHVybChcIkB2ZWN0b3ItaW0vY29tcG91bmQtZGVzaWduLXRva2Vucy9pY29ucy9zZXR0aW5ncy1zb2xpZC5zdmdcIik7XG4gICAgICAgICAgICAgICAgbWFzay1pbWFnZTogdXJsKFwiQHZlY3Rvci1pbS9jb21wb3VuZC1kZXNpZ24tdG9rZW5zL2ljb25zL3NldHRpbmdzLXNvbGlkLnN2Z1wiKTtcbiAgICB9XG5cbi5teF9TcGFjZVBhbmVsX2NvbnRleHRNZW51IC5teF9TcGFjZVBhbmVsX2ljb25MZWF2ZTo6YmVmb3JlIHtcbiAgICAgICAgLXdlYmtpdC1tYXNrLWltYWdlOiB1cmwoXCJAdmVjdG9yLWltL2NvbXBvdW5kLWRlc2lnbi10b2tlbnMvaWNvbnMvbGVhdmUuc3ZnXCIpO1xuICAgICAgICAgICAgICAgIG1hc2staW1hZ2U6IHVybChcIkB2ZWN0b3ItaW0vY29tcG91bmQtZGVzaWduLXRva2Vucy9pY29ucy9sZWF2ZS5zdmdcIik7XG4gICAgfVxuXG4ubXhfU3BhY2VQYW5lbF9jb250ZXh0TWVudSAubXhfU3BhY2VQYW5lbF9pY29uTWVtYmVyczo6YmVmb3JlIHtcbiAgICAgICAgLXdlYmtpdC1tYXNrLWltYWdlOiB1cmwoXCJAdmVjdG9yLWltL2NvbXBvdW5kLWRlc2lnbi10b2tlbnMvaWNvbnMvdXNlci1wcm9maWxlLXNvbGlkLnN2Z1wiKTtcbiAgICAgICAgICAgICAgICBtYXNrLWltYWdlOiB1cmwoXCJAdmVjdG9yLWltL2NvbXBvdW5kLWRlc2lnbi10b2tlbnMvaWNvbnMvdXNlci1wcm9maWxlLXNvbGlkLnN2Z1wiKTtcbiAgICB9XG5cbi5teF9TcGFjZVBhbmVsX2NvbnRleHRNZW51IC5teF9TcGFjZVBhbmVsX2ljb25QbHVzOjpiZWZvcmUge1xuICAgICAgICAtd2Via2l0LW1hc2staW1hZ2U6IHVybChcIkB2ZWN0b3ItaW0vY29tcG91bmQtZGVzaWduLXRva2Vucy9pY29ucy9wbHVzLnN2Z1wiKTtcbiAgICAgICAgICAgICAgICBtYXNrLWltYWdlOiB1cmwoXCJAdmVjdG9yLWltL2NvbXBvdW5kLWRlc2lnbi10b2tlbnMvaWNvbnMvcGx1cy5zdmdcIik7XG4gICAgfVxuXG4ubXhfU3BhY2VQYW5lbF9jb250ZXh0TWVudSAubXhfU3BhY2VQYW5lbF9pY29uRXhwbG9yZTo6YmVmb3JlIHtcbiAgICAgICAgLXdlYmtpdC1tYXNrLWltYWdlOiB1cmwoXCIuLi8uLi8uLi9pbWcvZWxlbWVudC1pY29ucy9yb29tbGlzdC9oYXNoLXNlYXJjaC5zdmdcIik7XG4gICAgICAgICAgICAgICAgbWFzay1pbWFnZTogdXJsKFwiLi4vLi4vLi4vaW1nL2VsZW1lbnQtaWNvbnMvcm9vbWxpc3QvaGFzaC1zZWFyY2guc3ZnXCIpO1xuICAgIH1cblxuLm14X1NwYWNlUGFuZWxfY29udGV4dE1lbnUgLm14X1NwYWNlUGFuZWxfaWNvblByZWZlcmVuY2VzOjpiZWZvcmUge1xuICAgICAgICAtd2Via2l0LW1hc2staW1hZ2U6IHVybChcIi4uLy4uLy4uL2ltZy9lbGVtZW50LWljb25zL3NldHRpbmdzL3ByZWZlcmVuY2Uuc3ZnXCIpO1xuICAgICAgICAgICAgICAgIG1hc2staW1hZ2U6IHVybChcIi4uLy4uLy4uL2ltZy9lbGVtZW50LWljb25zL3NldHRpbmdzL3ByZWZlcmVuY2Uuc3ZnXCIpO1xuICAgIH1cblxuLm14X1NwYWNlUGFuZWxfY29udGV4dE1lbnUgLm14X1NwYWNlUGFuZWxfbm9JY29uIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbi5teF9TcGFjZVBhbmVsX2NvbnRleHRNZW51IC5teF9TcGFjZVBhbmVsX25vSWNvbiArIC5teF9JY29uaXplZENvbnRleHRNZW51X2xhYmVsIHtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogNXB4ICFpbXBvcnRhbnQ7IC8qIG92ZXJyaWRlIGRlZmF1bHQgaWNvbml6ZWQgbGFiZWwgc3R5bGUgdG8gYWxpZ24gd2l0aCBoZWFkZXIgKi9cbiAgICAgICAgfVxuXG4ubXhfU3BhY2VQYW5lbF9jb250ZXh0TWVudSAubXhfU3BhY2VQYW5lbF9jb250ZXh0TWVudV9zZXBhcmF0b3JMYWJlbCB7XG4gICAgICAgIGNvbG9yOiAjZWRmM2ZmO1xuICAgICAgICBjb2xvcjogdmFyKC0tdGVydGlhcnktY29udGVudCwgI2VkZjNmZik7XG4gICAgICAgIGZvbnQtc2l6ZTogMC42MjVyZW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAwLjc1cmVtO1xuICAgICAgICBmb250LXdlaWdodDogdmFyKC0tY3BkLWZvbnQtd2VpZ2h0LXNlbWlib2xkKTtcbiAgICB9XG5cbi5teF9TcGFjZVBhbmVsX3NoYXJlUHVibGljU3BhY2Uge1xuICAgIG1hcmdpbjogMDtcbn1cblxuLm14X1NwYWNlUGFuZWxfVG9vbHRpcF9LZXlib2FyZFNob3J0Y3V0IGtiZCB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTtcbiAgICB9XG5cbi8qXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cbkNvcHlyaWdodCAyMDIxIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXG5cblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cbiovXG5cbi5teF9TcGFjZVJvb21WaWV3IHtcbiAgICAtLWlubmVyV2lkdGg6IDQyOHB4O1xuXG4gICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICAtd2Via2l0LWJveC1mbGV4OiAxO1xuICAgICAgICAtbXMtZmxleDogMTtcbiAgICAgICAgICAgIGZsZXg6IDE7XG59XG5cbi5teF9TcGFjZVJvb21WaWV3IC5teF9NYWluU3BsaXQgPiBkaXY6Zmlyc3QtY2hpbGQge1xuICAgICAgICBwYWRkaW5nOiA4MHB4IDYwcHg7XG4gICAgICAgIC13ZWJraXQtYm94LWZsZXg6IDE7XG4gICAgICAgICAgICAtbXMtZmxleC1wb3NpdGl2ZTogMTtcbiAgICAgICAgICAgICAgICBmbGV4LWdyb3c6IDE7XG4gICAgICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgfVxuXG4ubXhfU3BhY2VSb29tVmlldyAubXhfTWFpblNwbGl0ID4gZGl2OmZpcnN0LWNoaWxkIGgxIHtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLWNwZC1mb250LXdlaWdodC1zZW1pYm9sZCk7XG4gICAgICAgICAgICBjb2xvcjogdmFyKC0tdGltZWxpbmUtdGV4dC1jb2xvcik7XG4gICAgICAgICAgICB3aWR0aDogLXdlYmtpdC1tYXgtY29udGVudDtcbiAgICAgICAgICAgIHdpZHRoOiAtbW96LW1heC1jb250ZW50O1xuICAgICAgICAgICAgd2lkdGg6IG1heC1jb250ZW50O1xuICAgICAgICB9XG5cbi5teF9TcGFjZVJvb21WaWV3IC5teF9NYWluU3BsaXQgPiBkaXY6Zmlyc3QtY2hpbGQgLm14X1NwYWNlUm9vbVZpZXdfZGVzY3JpcHRpb24ge1xuICAgICAgICAgICAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gICAgICAgICAgICBjb2xvcjogI2VkZjNmZjtcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1zZWNvbmRhcnktY29udGVudCwgI2VkZjNmZik7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAxMnB4O1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjRweDtcbiAgICAgICAgICAgIG1heC13aWR0aDogdmFyKC0taW5uZXJXaWR0aCk7XG4gICAgICAgIH1cblxuLm14X1NwYWNlUm9vbVZpZXcgLm14X01haW5TcGxpdCA+IGRpdjpmaXJzdC1jaGlsZCAubXhfQWRkRXhpc3RpbmdUb1NwYWNlIHtcbiAgICAgICAgICAgIG1heC13aWR0aDogdmFyKC0taW5uZXJXaWR0aCk7XG4gICAgICAgIH1cblxuLm14X1NwYWNlUm9vbVZpZXcgLm14X01haW5TcGxpdCA+IGRpdjpmaXJzdC1jaGlsZCAubXhfQWRkRXhpc3RpbmdUb1NwYWNlIC5teF9BZGRFeGlzdGluZ1RvU3BhY2VfY29udGVudCB7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiBjYWxjKDEwMHZoIC0gMzYwcHgpO1xuICAgICAgICAgICAgICAgIG1heC1oZWlnaHQ6IDQwMHB4O1xuICAgICAgICAgICAgfVxuXG4ubXhfU3BhY2VSb29tVmlldyAubXhfTWFpblNwbGl0ID4gZGl2OmZpcnN0LWNoaWxkIC5teF9TcGFjZVJvb21WaWV3X2J1dHRvbnMge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiA0NHB4O1xuICAgICAgICAgICAgd2lkdGg6IHZhcigtLWlubmVyV2lkdGgpO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7IC8qIGJ1dHRvbiBhbGlnbm1lbnQgcmlnaHQgKi9cbiAgICAgICAgfVxuXG4ubXhfU3BhY2VSb29tVmlldyAubXhfTWFpblNwbGl0ID4gZGl2OmZpcnN0LWNoaWxkIC5teF9TcGFjZVJvb21WaWV3X2J1dHRvbnMgLm14X0FjY2Vzc2libGVCdXR0b25faGFzS2luZCB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogOHB4IDIycHg7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDE2cHg7XG4gICAgICAgICAgICB9XG5cbi5teF9TcGFjZVJvb21WaWV3IC5teF9NYWluU3BsaXQgPiBkaXY6Zmlyc3QtY2hpbGQgLm14X1NwYWNlUm9vbVZpZXdfYnV0dG9ucyBpbnB1dC5teF9BY2Nlc3NpYmxlQnV0dG9uIHtcbiAgICAgICAgICAgICAgICBib3JkZXI6IG5vbmU7IC8qIG92ZXJyaWRlIGRlZmF1bHQgc3R5bGVzICovXG4gICAgICAgICAgICB9XG5cbi5teF9TcGFjZVJvb21WaWV3IC5teF9NYWluU3BsaXQgPiBkaXY6Zmlyc3QtY2hpbGQgLm14X0ZpZWxkIHtcbiAgICAgICAgICAgIG1heC13aWR0aDogdmFyKC0taW5uZXJXaWR0aCk7XG4gICAgICAgIH1cblxuLm14X1NwYWNlUm9vbVZpZXcgLm14X01haW5TcGxpdCA+IGRpdjpmaXJzdC1jaGlsZCAubXhfRmllbGQgKyAubXhfRmllbGQge1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDI4cHg7XG4gICAgICAgICAgICB9XG5cbi5teF9TcGFjZVJvb21WaWV3IC5teF9NYWluU3BsaXQgPiBkaXY6Zmlyc3QtY2hpbGQgLm14X1NwYWNlUm9vbVZpZXdfZXJyb3JUZXh0IHtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1jcGQtZm9udC13ZWlnaHQtc2VtaWJvbGQpO1xuICAgICAgICAgICAgZm9udC1zaXplOiAwLjc1cmVtO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgICAgICAgIGNvbG9yOiAjZmY1YjU1O1xuICAgICAgICAgICAgY29sb3I6IHZhcigtLWFsZXJ0LCAjZmY1YjU1KTtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDI4cHg7XG4gICAgICAgIH1cblxuLm14X1NwYWNlUm9vbVZpZXcgLm14X01haW5TcGxpdCA+IGRpdjpmaXJzdC1jaGlsZCAubXhfQWNjZXNzaWJsZUJ1dHRvbl9kaXNhYmxlZCB7XG4gICAgICAgICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICAgICAgICB9XG5cbi5teF9TcGFjZVJvb21WaWV3IC5teF9TcGFjZVJvb21WaWV3X2xhbmRpbmcge1xuICAgICAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgICAgICAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWw7XG4gICAgICAgIC13ZWJraXQtYm94LWRpcmVjdGlvbjogbm9ybWFsO1xuICAgICAgICAgICAgLW1zLWZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgbWluLXdpZHRoOiAwO1xuICAgIH1cblxuLm14X1NwYWNlUm9vbVZpZXcgLm14X1NwYWNlUm9vbVZpZXdfbGFuZGluZyAubXhfU3BhY2VSb29tVmlld19sYW5kaW5nX2hlYWRlciB7XG4gICAgICAgICAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgICAgICAgICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIC13ZWJraXQtYm94LXBhY2s6IGp1c3RpZnk7XG4gICAgICAgICAgICAgICAgLW1zLWZsZXgtcGFjazoganVzdGlmeTtcbiAgICAgICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICB9XG5cbi5teF9TcGFjZVJvb21WaWV3IC5teF9TcGFjZVJvb21WaWV3X2xhbmRpbmcgLm14X1NwYWNlUm9vbVZpZXdfbGFuZGluZ19oZWFkZXIgLm14X0Jhc2VBdmF0YXIge1xuICAgICAgICAgICAgICAgIHdpZHRoOiA4MHB4O1xuICAgICAgICAgICAgfVxuXG4ubXhfU3BhY2VSb29tVmlldyAubXhfU3BhY2VSb29tVmlld19sYW5kaW5nIC5teF9TcGFjZVJvb21WaWV3X2xhbmRpbmdfbmFtZSB7XG4gICAgICAgICAgICBtYXJnaW46IDI0cHggMCAxNnB4O1xuICAgICAgICAgICAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gICAgICAgICAgICBjb2xvcjogI2VkZjNmZjtcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1zZWNvbmRhcnktY29udGVudCwgI2VkZjNmZik7XG4gICAgICAgIH1cblxuLm14X1NwYWNlUm9vbVZpZXcgLm14X1NwYWNlUm9vbVZpZXdfbGFuZGluZyAubXhfU3BhY2VSb29tVmlld19sYW5kaW5nX25hbWUgPiBzcGFuIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgIC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWw7XG4gICAgICAgICAgICAgICAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiBub3JtYWw7XG4gICAgICAgICAgICAgICAgICAgIC1tcy1mbGV4LWZsb3c6IGNvbHVtbjtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZsZXgtZmxvdzogY29sdW1uO1xuICAgICAgICAgICAgICAgIGdhcDogMTJweCAwO1xuICAgICAgICAgICAgfVxuXG4ubXhfU3BhY2VSb29tVmlldyAubXhfU3BhY2VSb29tVmlld19sYW5kaW5nIC5teF9TcGFjZVJvb21WaWV3X2xhbmRpbmdfbmFtZSA+IHNwYW4gaDEge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgICAgICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgICAgICAgICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICB9XG5cbi5teF9TcGFjZVJvb21WaWV3IC5teF9TcGFjZVJvb21WaWV3X2xhbmRpbmcgLm14X1NwYWNlUm9vbVZpZXdfbGFuZGluZ19uYW1lIC5teF9TcGFjZVJvb21WaWV3X2xhbmRpbmdfaW52aXRlciAubXhfQmFzZUF2YXRhciB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogNHB4O1xuICAgICAgICAgICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICAgICAgICAgIH1cblxuLm14X1NwYWNlUm9vbVZpZXcgLm14X1NwYWNlUm9vbVZpZXdfbGFuZGluZyAubXhfU3BhY2VSb29tVmlld19sYW5kaW5nX2luZm9CYXIge1xuICAgICAgICAgICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gICAgICAgICAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICAtd2Via2l0LWJveC1wYWNrOiBqdXN0aWZ5O1xuICAgICAgICAgICAgICAgIC1tcy1mbGV4LXBhY2s6IGp1c3RpZnk7XG4gICAgICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgICAgIGdhcDogMTJweDtcbiAgICAgICAgICAgIC1tcy1mbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgICAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuNXJlbTtcbiAgICAgICAgfVxuXG4ubXhfU3BhY2VSb29tVmlldyAubXhfU3BhY2VSb29tVmlld19sYW5kaW5nIC5teF9TcGFjZVJvb21WaWV3X2xhbmRpbmdfaW5mb0JhciAubXhfU3BhY2VSb29tVmlld19sYW5kaW5nX2luZm9CYXJfaW50ZXJhY3RpdmUge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgLW1zLWZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgICAgICAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICAgICAgICAgIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgICAgIGdhcDogMTJweCAxMnB4O1xuICAgICAgICAgICAgfVxuXG4ubXhfU3BhY2VSb29tVmlldyAubXhfU3BhY2VSb29tVmlld19sYW5kaW5nIC5teF9TcGFjZVJvb21WaWV3X2xhbmRpbmdfaW5mb0JhciAubXhfU3BhY2VSb29tVmlld19sYW5kaW5nX2luZm9CYXJfaW50ZXJhY3RpdmUgLm14X0ZhY2VQaWxlIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgICAgICAgfVxuXG4ubXhfU3BhY2VSb29tVmlldyAubXhfU3BhY2VSb29tVmlld19sYW5kaW5nIC5teF9TcGFjZVJvb21WaWV3X2xhbmRpbmdfaW5mb0JhciAubXhfU3BhY2VSb29tVmlld19sYW5kaW5nX2luZm9CYXJfaW50ZXJhY3RpdmUgLm14X1NwYWNlUm9vbVZpZXdfbGFuZGluZ19pbnZpdGVCdXR0b24sXG4gICAgICAgICAgICAgICAgLm14X1NwYWNlUm9vbVZpZXcgLm14X1NwYWNlUm9vbVZpZXdfbGFuZGluZyAubXhfU3BhY2VSb29tVmlld19sYW5kaW5nX2luZm9CYXIgLm14X1NwYWNlUm9vbVZpZXdfbGFuZGluZ19pbmZvQmFyX2ludGVyYWN0aXZlIC5teF9TcGFjZVJvb21WaWV3X2xhbmRpbmdfc2V0dGluZ3NCdXR0b24ge1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgfVxuXG4ubXhfU3BhY2VSb29tVmlldyAubXhfU3BhY2VSb29tVmlld19sYW5kaW5nIC5teF9TcGFjZVJvb21WaWV3X2xhbmRpbmdfaW5mb0JhciAubXhfU3BhY2VSb29tVmlld19sYW5kaW5nX2luZm9CYXJfaW50ZXJhY3RpdmUgLm14X1NwYWNlUm9vbVZpZXdfbGFuZGluZ19pbnZpdGVCdXR0b246OmJlZm9yZSwgLm14X1NwYWNlUm9vbVZpZXcgLm14X1NwYWNlUm9vbVZpZXdfbGFuZGluZyAubXhfU3BhY2VSb29tVmlld19sYW5kaW5nX2luZm9CYXIgLm14X1NwYWNlUm9vbVZpZXdfbGFuZGluZ19pbmZvQmFyX2ludGVyYWN0aXZlIC5teF9TcGFjZVJvb21WaWV3X2xhbmRpbmdfc2V0dGluZ3NCdXR0b246OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgICAgICAgICAgICAgLXdlYmtpdC1tYXNrLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hc2stcG9zaXRpb246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgICAgIC13ZWJraXQtbWFzay1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFzay1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4ubXhfU3BhY2VSb29tVmlldyAubXhfU3BhY2VSb29tVmlld19sYW5kaW5nIC5teF9TcGFjZVJvb21WaWV3X2xhbmRpbmdfaW5mb0JhciAubXhfU3BhY2VSb29tVmlld19sYW5kaW5nX2luZm9CYXJfaW50ZXJhY3RpdmUgLm14X1NwYWNlUm9vbVZpZXdfbGFuZGluZ19pbnZpdGVCdXR0b24ge1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiA0cHggMThweCA0cHggNDBweDtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAtd2Via2l0LW1pbi1jb250ZW50O1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IC1tb3otbWluLWNvbnRlbnQ7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogbWluLWNvbnRlbnQ7XG4gICAgICAgICAgICAgICAgfVxuXG4ubXhfU3BhY2VSb29tVmlldyAubXhfU3BhY2VSb29tVmlld19sYW5kaW5nIC5teF9TcGFjZVJvb21WaWV3X2xhbmRpbmdfaW5mb0JhciAubXhfU3BhY2VSb29tVmlld19sYW5kaW5nX2luZm9CYXJfaW50ZXJhY3RpdmUgLm14X1NwYWNlUm9vbVZpZXdfbGFuZGluZ19pbnZpdGVCdXR0b246OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBsZWZ0OiA4cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDE2cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTZweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWNwZC1jb2xvci1pY29uLW9uLXNvbGlkLXByaW1hcnkpO1xuICAgICAgICAgICAgICAgICAgICAgICAgLXdlYmtpdC1tYXNrLXNpemU6IDE2cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hc2stc2l6ZTogMTZweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIC13ZWJraXQtbWFzay1pbWFnZTogdXJsKFwiLi4vLi4vLi4vaW1nL2VsZW1lbnQtaWNvbnMvcm9vbS9pbnZpdGUuc3ZnXCIpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXNrLWltYWdlOiB1cmwoXCIuLi8uLi8uLi9pbWcvZWxlbWVudC1pY29ucy9yb29tL2ludml0ZS5zdmdcIik7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuLm14X1NwYWNlUm9vbVZpZXcgLm14X1NwYWNlUm9vbVZpZXdfbGFuZGluZyAubXhfU3BhY2VSb29tVmlld19sYW5kaW5nX2luZm9CYXIgLm14X1NwYWNlUm9vbVZpZXdfbGFuZGluZ19pbmZvQmFyX2ludGVyYWN0aXZlIC5teF9TcGFjZVJvb21WaWV3X2xhbmRpbmdfc2V0dGluZ3NCdXR0b24ge1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMjRweDtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAyNHB4O1xuICAgICAgICAgICAgICAgIH1cblxuLm14X1NwYWNlUm9vbVZpZXcgLm14X1NwYWNlUm9vbVZpZXdfbGFuZGluZyAubXhfU3BhY2VSb29tVmlld19sYW5kaW5nX2luZm9CYXIgLm14X1NwYWNlUm9vbVZpZXdfbGFuZGluZ19pbmZvQmFyX2ludGVyYWN0aXZlIC5teF9TcGFjZVJvb21WaWV3X2xhbmRpbmdfc2V0dGluZ3NCdXR0b246OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAyNHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDI0cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAjZWRmM2ZmO1xuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tdGVydGlhcnktY29udGVudCwgI2VkZjNmZik7XG4gICAgICAgICAgICAgICAgICAgICAgICAtd2Via2l0LW1hc2stc2l6ZTogY29udGFpbjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFzay1zaXplOiBjb250YWluO1xuICAgICAgICAgICAgICAgICAgICAgICAgLXdlYmtpdC1tYXNrLWltYWdlOiB1cmwoXCJAdmVjdG9yLWltL2NvbXBvdW5kLWRlc2lnbi10b2tlbnMvaWNvbnMvc2V0dGluZ3Mtc29saWQuc3ZnXCIpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXNrLWltYWdlOiB1cmwoXCJAdmVjdG9yLWltL2NvbXBvdW5kLWRlc2lnbi10b2tlbnMvaWNvbnMvc2V0dGluZ3Mtc29saWQuc3ZnXCIpO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbi5teF9TcGFjZVJvb21WaWV3IC5teF9TcGFjZVJvb21WaWV3X2xhbmRpbmcgLm14X1NwYWNlUm9vbVZpZXdfbGFuZGluZ190b3BpYyB7XG4gICAgICAgICAgICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDEycHg7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxNnB4O1xuICAgICAgICAgICAgd2hpdGUtc3BhY2U6IHByZS13cmFwO1xuICAgICAgICAgICAgd29yZC13cmFwOiBicmVhay13b3JkO1xuICAgICAgICB9XG5cbi5teF9TcGFjZVJvb21WaWV3IC5teF9TcGFjZVJvb21WaWV3X2xhbmRpbmcgLm14X1NlYXJjaEJveCB7XG4gICAgICAgICAgICBtYXJnaW46IDAgMCAyMHB4O1xuICAgICAgICAgICAgLXdlYmtpdC1ib3gtZmxleDogMDtcbiAgICAgICAgICAgICAgICAtbXMtZmxleDogMDtcbiAgICAgICAgICAgICAgICAgICAgZmxleDogMDtcbiAgICAgICAgfVxuXG4ubXhfU3BhY2VSb29tVmlldyAubXhfU3BhY2VSb29tVmlld19wcml2YXRlU2NvcGUgPiAubXhfQWNjZXNzaWJsZUJ1dHRvbiB7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICBwYWRkaW5nOiAxNnB4IDMycHggMTZweCA3MnB4O1xuICAgICAgICAgICAgd2lkdGg6IDQzMnB4O1xuICAgICAgICAgICAgLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICAgICAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4O1xuICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI2U3ZTdlNztcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4wNjI1cmVtO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLWNwZC1mb250LXdlaWdodC1zZW1pYm9sZCk7XG4gICAgICAgICAgICBtYXJnaW46IDIwcHggMDtcbiAgICAgICAgfVxuXG4ubXhfU3BhY2VSb29tVmlldyAubXhfU3BhY2VSb29tVmlld19wcml2YXRlU2NvcGUgPiAubXhfQWNjZXNzaWJsZUJ1dHRvbiA+IGRpdiB7XG4gICAgICAgIG1hcmdpbi10b3A6IDRweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gICAgICAgIGNvbG9yOiAjZWRmM2ZmO1xuICAgICAgICBjb2xvcjogdmFyKC0tc2Vjb25kYXJ5LWNvbnRlbnQsICNlZGYzZmYpO1xuICAgIH1cblxuLm14X1NwYWNlUm9vbVZpZXcgLm14X1NwYWNlUm9vbVZpZXdfcHJpdmF0ZVNjb3BlID4gLm14X0FjY2Vzc2libGVCdXR0b246OmJlZm9yZSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgd2lkdGg6IDI4cHg7XG4gICAgICAgIGhlaWdodDogMjhweDtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICAgICAgbGVmdDogMjJweDtcbiAgICAgICAgLXdlYmtpdC1tYXNrLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgbWFzay1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgICAtd2Via2l0LW1hc2stcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgICAgICAgbWFzay1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgLXdlYmtpdC1tYXNrLXNpemU6IDI4cHg7XG4gICAgICAgICAgICAgICAgbWFzay1zaXplOiAyOHB4O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWRmM2ZmO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS10ZXJ0aWFyeS1jb250ZW50LCAjZWRmM2ZmKTtcbiAgICB9XG5cbi5teF9TcGFjZVJvb21WaWV3IC5teF9TcGFjZVJvb21WaWV3X3ByaXZhdGVTY29wZSA+IC5teF9BY2Nlc3NpYmxlQnV0dG9uOmhvdmVyIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jcGQtY29sb3ItYmctYWN0aW9uLXByaW1hcnktcmVzdCk7XG4gICAgfVxuXG4ubXhfU3BhY2VSb29tVmlldyAubXhfU3BhY2VSb29tVmlld19wcml2YXRlU2NvcGUgPiAubXhfQWNjZXNzaWJsZUJ1dHRvbjpob3Zlcjo6YmVmb3JlIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNwZC1jb2xvci1pY29uLXByaW1hcnkpO1xuICAgICAgICB9XG5cbi5teF9TcGFjZVJvb21WaWV3IC5teF9TcGFjZVJvb21WaWV3X3ByaXZhdGVTY29wZSA+IC5teF9BY2Nlc3NpYmxlQnV0dG9uOmhvdmVyID4gc3BhbiB7XG4gICAgICAgICAgICBjb2xvcjogdmFyKC0tdGltZWxpbmUtdGV4dC1jb2xvcik7XG4gICAgICAgIH1cblxuLm14X1NwYWNlUm9vbVZpZXcgLm14X1NwYWNlUm9vbVZpZXdfcHJpdmF0ZVNjb3BlIC5teF9TcGFjZVJvb21WaWV3X3ByaXZhdGVTY29wZV9qdXN0TWVCdXR0b246OmJlZm9yZSB7XG4gICAgICAgICAgICAtd2Via2l0LW1hc2staW1hZ2U6IHVybChcIkB2ZWN0b3ItaW0vY29tcG91bmQtZGVzaWduLXRva2Vucy9pY29ucy91c2VyLXByb2ZpbGUtc29saWQuc3ZnXCIpO1xuICAgICAgICAgICAgICAgICAgICBtYXNrLWltYWdlOiB1cmwoXCJAdmVjdG9yLWltL2NvbXBvdW5kLWRlc2lnbi10b2tlbnMvaWNvbnMvdXNlci1wcm9maWxlLXNvbGlkLnN2Z1wiKTtcbiAgICAgICAgfVxuXG4ubXhfU3BhY2VSb29tVmlldyAubXhfU3BhY2VSb29tVmlld19wcml2YXRlU2NvcGUgLm14X1NwYWNlUm9vbVZpZXdfcHJpdmF0ZVNjb3BlX21lQW5kTXlUZWFtbWF0ZXNCdXR0b246OmJlZm9yZSB7XG4gICAgICAgICAgICAtd2Via2l0LW1hc2staW1hZ2U6IHVybChcIi4uLy4uLy4uL2ltZy9lbGVtZW50LWljb25zL2dyb3VwLW1lbWJlcnMuc3ZnXCIpO1xuICAgICAgICAgICAgICAgICAgICBtYXNrLWltYWdlOiB1cmwoXCIuLi8uLi8uLi9pbWcvZWxlbWVudC1pY29ucy9ncm91cC1tZW1iZXJzLnN2Z1wiKTtcbiAgICAgICAgfVxuXG4ubXhfU3BhY2VSb29tVmlldyAubXhfU3BhY2VSb29tVmlld19pbnZpdGVUZWFtbWF0ZXMgLm14X1NwYWNlUm9vbVZpZXdfaW52aXRlVGVhbW1hdGVzX2J1dHRvbnMge1xuICAgICAgICAgICAgY29sb3I6ICNlZGYzZmY7XG4gICAgICAgICAgICBjb2xvcjogdmFyKC0tc2Vjb25kYXJ5LWNvbnRlbnQsICNlZGYzZmYpO1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMjhweDtcbiAgICAgICAgfVxuXG4ubXhfU3BhY2VSb29tVmlldyAubXhfU3BhY2VSb29tVmlld19pbnZpdGVUZWFtbWF0ZXMgLm14X1NwYWNlUm9vbVZpZXdfaW52aXRlVGVhbW1hdGVzX2J1dHRvbnMgLm14X0FjY2Vzc2libGVCdXR0b24ge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAzMnB4O1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyNHB4OyAvKiB0byBjZW50ZXIgaWNvbnMgKi9cbiAgICAgICAgICAgIH1cblxuLm14X1NwYWNlUm9vbVZpZXcgLm14X1NwYWNlUm9vbVZpZXdfaW52aXRlVGVhbW1hdGVzIC5teF9TcGFjZVJvb21WaWV3X2ludml0ZVRlYW1tYXRlc19idXR0b25zIC5teF9BY2Nlc3NpYmxlQnV0dG9uOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogMjRweDtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDI0cHg7XG4gICAgICAgICAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2VkZjNmZjtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tc2Vjb25kYXJ5LWNvbnRlbnQsICNlZGYzZmYpO1xuICAgICAgICAgICAgICAgICAgICAtd2Via2l0LW1hc2stcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFzay1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgICAgICAgICAgICAgLXdlYmtpdC1tYXNrLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFzay1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICAtd2Via2l0LW1hc2stc2l6ZTogY29udGFpbjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXNrLXNpemU6IGNvbnRhaW47XG4gICAgICAgICAgICAgICAgfVxuXG4ubXhfU3BhY2VSb29tVmlldyAubXhfU3BhY2VSb29tVmlld19pbnZpdGVUZWFtbWF0ZXMgLm14X1NwYWNlUm9vbVZpZXdfaW52aXRlVGVhbW1hdGVzX2J1dHRvbnMgLm14X0FjY2Vzc2libGVCdXR0b24gKyAubXhfQWNjZXNzaWJsZUJ1dHRvbiB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAzMnB4O1xuICAgICAgICAgICAgICAgIH1cblxuLm14X1NwYWNlUm9vbVZpZXcgLm14X1NwYWNlUm9vbVZpZXdfaW52aXRlVGVhbW1hdGVzIC5teF9TcGFjZVJvb21WaWV3X2ludml0ZVRlYW1tYXRlc19idXR0b25zIC5teF9TcGFjZVJvb21WaWV3X2ludml0ZVRlYW1tYXRlc19pbnZpdGVEaWFsb2dCdXR0b24ge1xuICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1jcGQtY29sb3ItdGV4dC1wcmltYXJ5KTtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogdmFyKC0tY3BkLWZvbnQtd2VpZ2h0LXNlbWlib2xkKTtcbiAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICAgICAgIH1cblxuLm14X1NwYWNlUm9vbVZpZXcgLm14X1NwYWNlUm9vbVZpZXdfaW52aXRlVGVhbW1hdGVzIC5teF9TcGFjZVJvb21WaWV3X2ludml0ZVRlYW1tYXRlc19idXR0b25zIC5teF9TcGFjZVJvb21WaWV3X2ludml0ZVRlYW1tYXRlc19pbnZpdGVEaWFsb2dCdXR0b246OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgIC13ZWJraXQtbWFzay1pbWFnZTogdXJsKFwiLi4vLi4vLi4vaW1nL2VsZW1lbnQtaWNvbnMvcm9vbS9pbnZpdGUuc3ZnXCIpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hc2staW1hZ2U6IHVybChcIi4uLy4uLy4uL2ltZy9lbGVtZW50LWljb25zL3Jvb20vaW52aXRlLnN2Z1wiKTtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY3BkLWNvbG9yLWljb24tcHJpbWFyeSk7XG4gICAgICAgICAgICAgICAgfVxuXG4vKlxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXG5Db3B5cmlnaHQgMjAyMiBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxuXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXG4qL1xuXG4ubXhfU3BsYXNoUGFnZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGhlaWdodDogMTAwJTtcbn1cblxuLm14X1NwbGFzaFBhZ2U6OmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHotaW5kZXg6IC0xO1xuICAgICAgICBvcGFjaXR5OiAwLjY7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHJhZGlhbC1ncmFkaWVudChcbiAgICAgICAgICAgICAgICA1My44NSUgNjYuNzUlIGF0IDg3LjU1JSAwJSxcbiAgICAgICAgICAgICAgICBoc2xhKDI1MGRlZywgNzYlLCA3MSUsIDAuMjYxKSAwJSxcbiAgICAgICAgICAgICAgICBoc2xhKDI1MGRlZywgMTAwJSwgODglLCAwKSAxMDAlXG4gICAgICAgICAgICApLFxuICAgICAgICAgICAgcmFkaWFsLWdyYWRpZW50KDQxLjkzJSA0MS45MyUgYXQgMCUgMCUsIGhzbGEoMjIyZGVnLCAyOSUsIDIwJSwgMC4yOCkgMCUsIGhzbGEoMjUwZGVnLCAxMDAlLCA4OCUsIDApIDEwMCUpLFxuICAgICAgICAgICAgcmFkaWFsLWdyYWRpZW50KDEwMCUgMTAwJSBhdCAwJSAwJSwgaHNsYSgyNTBkZWcsIDEwMCUsIDg4JSwgMC4xNzQpIDAlLCBoc2xhKDBkZWcsIDEwMCUsIDg2JSwgMCkgMTAwJSksXG4gICAgICAgICAgICByYWRpYWwtZ3JhZGllbnQoMTA2LjM1JSA5Ni4yNiUgYXQgMTAwJSAwJSwgaHNsYSgyNTBkZWcsIDEwMCUsIDg4JSwgMC40KSAwJSwgaHNsYSgxNjdkZWcsIDc2JSwgODIlLCAwKSAxMDAlKTtcbiAgICAgICAgLyogYmx1ciB0byByZWR1Y2UgY29sb3IgYmFuZGluZyBpc3N1ZXMgZHVlIHRvIGFscGhhLWJsZW5kaW5nIG11bHRpcGxlIGdyYWRpZW50cyAqL1xuICAgICAgICAtd2Via2l0LWZpbHRlcjogYmx1cig4cHgpO1xuICAgICAgICAgICAgICAgIGZpbHRlcjogYmx1cig4cHgpO1xuICAgICAgICBpbnNldDogLTlweDtcbiAgICAgICAgLXdlYmtpdC1tYXNrOlxuICAgICAgICAgICAgLyogbWFzayB0byBkaXRoZXIgcmVzdWx0aW5nIGNvbWJpbmVkIGdyYWRpZW50ICovXG4gICAgICAgICAgICB1cmwoXCIuLi8uLi8uLi9pbWcvbm9pc2UucG5nXCIpLFxuICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgLXdlYmtpdC1ncmFkaWVudChcbiAgICAgICAgICAgICAgICAgICAgbGluZWFyLFxuICAgICAgICAgICAgICAgICAgICAgbGVmdCB0b3AsIGxlZnQgYm90dG9tLFxuICAgICAgICAgICAgICAgICAgICAgY29sb3Itc3RvcCgyMCUsIHJnYmEoMCwgMCwgMCwgMC45KSksXG4gICAgICAgICAgICAgICAgICAgICB0byhyZ2JhKDAsIDAsIDAsIDAuMikpXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgLXdlYmtpdC1tYXNrOlxuICAgICAgICAgICAgLyogbWFzayB0byBkaXRoZXIgcmVzdWx0aW5nIGNvbWJpbmVkIGdyYWRpZW50ICovXG4gICAgICAgICAgICB1cmwoXCIuLi8uLi8uLi9pbWcvbm9pc2UucG5nXCIpLFxuICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgbGluZWFyLWdyYWRpZW50KFxuICAgICAgICAgICAgICAgICAgICB0byBib3R0b20sXG4gICAgICAgICAgICAgICAgICAgICByZ2JhKDAsIDAsIDAsIDAuOSkgMjAlLFxuICAgICAgICAgICAgICAgICAgICAgcmdiYSgwLCAwLCAwLCAwLjIpIDEwMCVcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIG1hc2s6XG4gICAgICAgICAgICAvKiBtYXNrIHRvIGRpdGhlciByZXN1bHRpbmcgY29tYmluZWQgZ3JhZGllbnQgKi9cbiAgICAgICAgICAgIHVybChcIi4uLy4uLy4uL2ltZy9ub2lzZS5wbmdcIiksXG4gICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAtd2Via2l0LWdyYWRpZW50KFxuICAgICAgICAgICAgICAgICAgICBsaW5lYXIsXG4gICAgICAgICAgICAgICAgICAgICBsZWZ0IHRvcCwgbGVmdCBib3R0b20sXG4gICAgICAgICAgICAgICAgICAgICBjb2xvci1zdG9wKDIwJSwgcmdiYSgwLCAwLCAwLCAwLjkpKSxcbiAgICAgICAgICAgICAgICAgICAgIHRvKHJnYmEoMCwgMCwgMCwgMC4yKSlcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIG1hc2s6XG4gICAgICAgICAgICAvKiBtYXNrIHRvIGRpdGhlciByZXN1bHRpbmcgY29tYmluZWQgZ3JhZGllbnQgKi9cbiAgICAgICAgICAgIHVybChcIi4uLy4uLy4uL2ltZy9ub2lzZS5wbmdcIiksXG4gICAgICAgICAgICBcbiAgICAgICAgICAgICAgICBsaW5lYXItZ3JhZGllbnQoXG4gICAgICAgICAgICAgICAgICAgIHRvIGJvdHRvbSxcbiAgICAgICAgICAgICAgICAgICAgIHJnYmEoMCwgMCwgMCwgMC45KSAyMCUsXG4gICAgICAgICAgICAgICAgICAgICByZ2JhKDAsIDAsIDAsIDAuMikgMTAwJVxuICAgICAgICAgICAgICAgICk7XG4gICAgfVxuXG4vKlxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXG5Db3B5cmlnaHQgMjAyMSBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxuQ29weXJpZ2h0IDIwMTkgTmV3IFZlY3RvciBMdGRcbkNvcHlyaWdodCAyMDE3IFRyYXZpcyBSYWxzdG9uXG5cblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cbiovXG5cbi5teF9UYWJiZWRWaWV3IHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMCAwIDAgdmFyKC0tY3BkLXNwYWNlLTh4KTtcbiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWw7XG4gICAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiBub3JtYWw7XG4gICAgICAgIC1tcy1mbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBpbnNldDogMDtcbiAgICBtYXJnaW4tdG9wOiA4cHg7XG59XG5cbi5teF9UYWJiZWRWaWV3X3RhYnNPbkxlZnQge1xuICAgIC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWw7XG4gICAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiBub3JtYWw7XG4gICAgICAgIC1tcy1mbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG59XG5cbi5teF9UYWJiZWRWaWV3X3RhYnNPbkxlZnQgLm14X1RhYmJlZFZpZXdfdGFiTGFiZWxzIHtcbiAgICAgICAgd2lkdGg6IDIyMHB4O1xuICAgICAgICBtYXgtd2lkdGg6IDIyMHB4O1xuICAgICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICAgIG1hcmdpbjogMDsgLyogUmVtb3ZlIHRoZSBkZWZhdWx0IHZhbHVlICovXG4gICAgICAgIHBhZGRpbmc6IDA7IC8qIFJlbW92ZSB0aGUgZGVmYXVsdCB2YWx1ZSAqL1xuICAgIH1cblxuLm14X1RhYmJlZFZpZXdfdGFic09uTGVmdCAubXhfVGFiYmVkVmlld190YWJQYW5lbCB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAyODBweDsgLyogMjIwcHggc2lkZWJhciArIDYwcHggcGFkZGluZyAqL1xuICAgICAgICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xuICAgICAgICAtd2Via2l0LWJveC1kaXJlY3Rpb246IG5vcm1hbDtcbiAgICAgICAgICAgIC1tcy1mbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgfVxuXG4ubXhfVGFiYmVkVmlld190YWJzT25MZWZ0IC5teF9UYWJiZWRWaWV3X3RhYkxhYmVsOmhvdmVyLFxuICAgIC5teF9UYWJiZWRWaWV3X3RhYnNPbkxlZnQgLm14X1RhYmJlZFZpZXdfdGFiTGFiZWxfYWN0aXZlIHtcbiAgICAgICAgY29sb3I6ICNlZGYzZmY7XG4gICAgfVxuXG4ubXhfVGFiYmVkVmlld190YWJzT25MZWZ0IC5teF9UYWJiZWRWaWV3X3RhYkxhYmVsOmhvdmVyIC5teF9UYWJiZWRWaWV3X21hc2tlZEljb246OmJlZm9yZSwgLm14X1RhYmJlZFZpZXdfdGFic09uTGVmdCAubXhfVGFiYmVkVmlld190YWJMYWJlbF9hY3RpdmUgLm14X1RhYmJlZFZpZXdfbWFza2VkSWNvbjo6YmVmb3JlIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNwZC1jb2xvci1pY29uLXByaW1hcnkpO1xuICAgICAgICB9XG5cbi5teF9UYWJiZWRWaWV3X3RhYnNPbkxlZnQgLm14X1RhYmJlZFZpZXdfdGFiTGFiZWxfYWN0aXZlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY3BkLWNvbG9yLWJnLXN1YnRsZS1zZWNvbmRhcnkpO1xuICAgIH1cblxuLm14X1RhYmJlZFZpZXdfdGFic09uTGVmdCAubXhfVGFiYmVkVmlld19tYXNrZWRJY29uIHtcbiAgICAgICAgd2lkdGg6IDIwcHg7XG4gICAgICAgIGhlaWdodDogMjBweDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiB2YXIoLS1jcGQtc3BhY2UtM3gpO1xuICAgIH1cblxuLm14X1RhYmJlZFZpZXdfdGFic09uTGVmdCAubXhfVGFiYmVkVmlld19tYXNrZWRJY29uOjpiZWZvcmUge1xuICAgICAgICAtd2Via2l0LW1hc2stc2l6ZTogMjBweDtcbiAgICAgICAgICAgICAgICBtYXNrLXNpemU6IDIwcHg7XG4gICAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjFzO1xuICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMXM7XG4gICAgfVxuXG4ubXhfVGFiYmVkVmlld190YWJzT25Ub3Age1xuICAgIC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWw7XG4gICAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiBub3JtYWw7XG4gICAgICAgIC1tcy1mbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbn1cblxuLm14X1RhYmJlZFZpZXdfdGFic09uVG9wIC5teF9UYWJiZWRWaWV3X3RhYkxhYmVscyB7XG4gICAgICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICAgICAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogOHB4O1xuICAgIH1cblxuLm14X1RhYmJlZFZpZXdfdGFic09uVG9wIC5teF9UYWJiZWRWaWV3X3RhYkxhYmVsIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwcHg7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDUycHg7XG4gICAgfVxuXG4ubXhfVGFiYmVkVmlld190YWJzT25Ub3AgLm14X1RhYmJlZFZpZXdfdGFiTGFiZWwgLm14X1RhYmJlZFZpZXdfdGFiTGFiZWxfdGV4dCB7XG4gICAgICAgICAgICBmb250LXNpemU6IDE1cHg7XG4gICAgICAgICAgICBjb2xvcjogI2VkZjNmZjtcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS10ZXJ0aWFyeS1jb250ZW50LCAjZWRmM2ZmKTtcbiAgICAgICAgfVxuXG4ubXhfVGFiYmVkVmlld190YWJzT25Ub3AgLm14X1RhYmJlZFZpZXdfdGFiUGFuZWwge1xuICAgICAgICAtd2Via2l0LWJveC1vcmllbnQ6IGhvcml6b250YWw7XG4gICAgICAgIC13ZWJraXQtYm94LWRpcmVjdGlvbjogbm9ybWFsO1xuICAgICAgICAgICAgLW1zLWZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICB9XG5cbi5teF9UYWJiZWRWaWV3X3RhYnNPblRvcCAubXhfVGFiYmVkVmlld190YWJMYWJlbF9hY3RpdmUge1xuICAgICAgICBjb2xvcjogIzBkYmQ4YjtcbiAgICAgICAgY29sb3I6IHZhcigtLWFjY2VudC1jb2xvciwgIzBkYmQ4Yik7XG4gICAgfVxuXG4ubXhfVGFiYmVkVmlld190YWJzT25Ub3AgLm14X1RhYmJlZFZpZXdfdGFiTGFiZWxfYWN0aXZlIC5teF9UYWJiZWRWaWV3X3RhYkxhYmVsX3RleHQge1xuICAgICAgICAgICAgY29sb3I6ICMwZGJkOGI7XG4gICAgICAgICAgICBjb2xvcjogdmFyKC0tYWNjZW50LWNvbG9yLCAjMGRiZDhiKTtcbiAgICAgICAgfVxuXG4ubXhfVGFiYmVkVmlld190YWJzT25Ub3AgLm14X1RhYmJlZFZpZXdfdGFiTGFiZWxfYWN0aXZlIC5teF9UYWJiZWRWaWV3X21hc2tlZEljb246OmJlZm9yZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwZGJkOGI7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWFjY2VudC1jb2xvciwgIzBkYmQ4Yik7XG4gICAgfVxuXG4ubXhfVGFiYmVkVmlld190YWJzT25Ub3AgLm14X1RhYmJlZFZpZXdfbWFza2VkSWNvbiB7XG4gICAgICAgIHdpZHRoOiAyMnB4O1xuICAgICAgICBoZWlnaHQ6IDIycHg7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwcHg7XG4gICAgICAgIG1hcmdpbi1yaWdodDogOHB4O1xuICAgIH1cblxuLm14X1RhYmJlZFZpZXdfdGFic09uVG9wIC5teF9UYWJiZWRWaWV3X21hc2tlZEljb246OmJlZm9yZSB7XG4gICAgICAgIC13ZWJraXQtbWFzay1zaXplOiAyMnB4O1xuICAgICAgICAgICAgICAgIG1hc2stc2l6ZTogMjJweDtcbiAgICAgICAgd2lkdGg6IGluaGVyaXQ7XG4gICAgICAgIGhlaWdodDogaW5oZXJpdDtcbiAgICB9XG5cbi5teF9UYWJiZWRWaWV3X3RhYkxhYmVscyB7XG4gICAgY29sb3I6ICNlZGYzZmY7XG59XG5cbi5teF9UYWJiZWRWaWV3X3RhYkxhYmVsIHtcbiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHZlcnRpY2FsLWFsaWduOiB0ZXh0LXRvcDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgcGFkZGluZy1ibG9jazogdmFyKC0tY3BkLXNwYWNlLTJ4KTtcbiAgICBwYWRkaW5nLWlubGluZTogdmFyKC0tY3BkLXNwYWNlLTN4KSB2YXIoLS1jcGQtc3BhY2UtNHgpO1xuICAgIC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgbWluLWJsb2NrLXNpemU6IDQwcHg7XG4gICAgbWluLWlubGluZS1zaXplOiA0MHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDI0cHg7XG4gICAgZm9udDogdmFyKC0tY3BkLWZvbnQtYm9keS1tZC1tZWRpdW0pO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAtd2Via2l0LXRyYW5zaXRpb246XG4gICAgICAgIGNvbG9yIDAuMXMsXG4gICAgICAgIGJhY2tncm91bmQtY29sb3IgMC4xcztcbiAgICB0cmFuc2l0aW9uOlxuICAgICAgICBjb2xvciAwLjFzLFxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yIDAuMXM7XG59XG5cbi5teF9UYWJiZWRWaWV3X3RhYkxhYmVsIHN2ZyB7XG4gICAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICAgIG1hcmdpbi1yaWdodDogdmFyKC0tY3BkLXNwYWNlLTN4KTtcbiAgICB9XG5cbi5teF9UYWJiZWRWaWV3X21hc2tlZEljb24ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cblxuLm14X1RhYmJlZFZpZXdfbWFza2VkSWNvbjo6YmVmb3JlIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY3BkLWNvbG9yLWljb24tc2Vjb25kYXJ5KTtcbiAgICAtd2Via2l0LW1hc2stcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgICBtYXNrLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIC13ZWJraXQtbWFzay1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgICAgICAgbWFzay1wb3NpdGlvbjogY2VudGVyO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG59XG5cbi5teF9UYWJiZWRWaWV3X3RhYkxhYmVsX3RleHQge1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG5cbi5teF9UYWJiZWRWaWV3X3RhYlBhbmVsIHtcbiAgICAtd2Via2l0LWJveC1mbGV4OiAxO1xuICAgICAgICAtbXMtZmxleC1wb3NpdGl2ZTogMTtcbiAgICAgICAgICAgIGZsZXgtZ3JvdzogMTtcbiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIG1pbi1oZWlnaHQ6IDA7IC8qIGZpcmVmb3ggKi9cbn1cblxuLm14X1RhYmJlZFZpZXdfdGFiUGFuZWxDb250ZW50IHtcbiAgICAtd2Via2l0LWJveC1mbGV4OiAxO1xuICAgICAgICAtbXMtZmxleC1wb3NpdGl2ZTogMTtcbiAgICAgICAgICAgIGZsZXgtZ3JvdzogMTtcbiAgICBvdmVyZmxvdzogYXV0bztcbiAgICBtaW4taGVpZ2h0OiAwOyAvKiBmaXJlZm94ICovXG59XG5cbi8qIEhpZGUgdGhlIGxhYmVscyBvbiB0YWJzLCBzaG93aW5nIG9ubHkgdGhlIGljb25zLCBvbiBuYXJyb3cgdmlld3BvcnRzLiAqL1xuXG5AbWVkaWEgKG1heC13aWR0aDogMTAyNHB4KSB7XG4gICAgICAgIC5teF9UYWJiZWRWaWV3X3RhYnNPbkxlZnQubXhfVGFiYmVkVmlld19yZXNwb25zaXZlIC5teF9UYWJiZWRWaWV3X3RhYkxhYmVsX3RleHQge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgICAgICAubXhfVGFiYmVkVmlld190YWJzT25MZWZ0Lm14X1RhYmJlZFZpZXdfcmVzcG9uc2l2ZSAubXhfVGFiYmVkVmlld190YWJQYW5lbCB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogNzJweDsgLyogNDBweCBzaWRlYmFyICsgMzJweCBwYWRkaW5nICovXG4gICAgICAgIH1cbiAgICAgICAgLm14X1RhYmJlZFZpZXdfdGFic09uTGVmdC5teF9UYWJiZWRWaWV3X3Jlc3BvbnNpdmUgLm14X1RhYmJlZFZpZXdfbWFza2VkSWNvbiB7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgICAgfVxuICAgICAgICAubXhfVGFiYmVkVmlld190YWJzT25MZWZ0Lm14X1RhYmJlZFZpZXdfcmVzcG9uc2l2ZSAubXhfVGFiYmVkVmlld190YWJMYWJlbHMge1xuICAgICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIH1cbiAgICAgICAgLm14X1RhYmJlZFZpZXdfdGFic09uTGVmdC5teF9UYWJiZWRWaWV3X3Jlc3BvbnNpdmUgLm14X1RhYmJlZFZpZXdfdGFiTGFiZWwge1xuICAgICAgICAgICAgcGFkZGluZy1pbmxpbmU6IDAgMDtcbiAgICAgICAgICAgIC13ZWJraXQtYm94LXBhY2s6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAtbXMtZmxleC1wYWNrOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICB9XG4gICAgICAgICAgICAubXhfVGFiYmVkVmlld190YWJzT25MZWZ0Lm14X1RhYmJlZFZpZXdfcmVzcG9uc2l2ZSAubXhfVGFiYmVkVmlld190YWJMYWJlbCBzdmcge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgICAgIH1cbn1cblxuLypcbiAqIENvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxuICogQ29weXJpZ2h0IDIwMjQgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cbiAqXG4gKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcbiAqIFBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXG4gKi9cblxuLm14X1RocmVhZHNBY3Rpdml0eUNlbnRyZV9jb250YWluZXIge1xuICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICAgIGRpc3BsYXk6IGZsZXg7XG59XG5cbi5teF9UaHJlYWRzQWN0aXZpdHlDZW50cmVCdXR0b24ge1xuICAgIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgICBtYXJnaW46IDE4cHggYXV0byBhdXRvIGF1dG87XG59XG5cbi5teF9UaHJlYWRzQWN0aXZpdHlDZW50cmVCdXR0b24uZXhwYW5kZWQge1xuICAgICAgICAvKipcbiAgICAgICAgICogb3ZlcnJpZGUgY29tcG91bmQgZGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIHdoZW4gaG92ZXJlZFxuICAgICAgICAgKiBzaG91bGQgZGlzYXBwZWFyIHdoZW4gdGhlIHNwYWNlIHBhbmVsIHdpbGwgYmUgbWlncmF0ZWQgdG8gY29tcG91bmRcbiAgICAgICAgICovXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG5cbiAgICAgICAgLyogYWxpZ24gd2l0aCBzZXR0aW5ncyBpY29uICovXG4gICAgICAgIG1hcmdpbi1sZWZ0OiAyMXB4O1xuICAgIH1cblxuLyoqXG4gICAgICAgICAqIG1vZGlmeSBpbnRlcm5hbCBjc3Mgb2YgdGhlIGNvbXBvdW5kIGNvbXBvbmVudFxuICAgICAgICAgKiBkaXJ0eSBidXQgd2UgbmVlZCB0byBhZGQgdGhlIGBUaHJlYWRzYCBsYWJlbCBpbnRvIHRoZSBpbmRpY2F0b3IgaWNvbiBidXR0b25cbiAgICAgICAgICoqL1xuXG4ubXhfVGhyZWFkc0FjdGl2aXR5Q2VudHJlQnV0dG9uLmV4cGFuZGVkID4gZGl2IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICAgICAgICAgICAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICB9XG5cbi5teF9UaHJlYWRzQWN0aXZpdHlDZW50cmVCdXR0b24uZXhwYW5kZWQgLm14X1RocmVhZHNBY3Rpdml0eUNlbnRyZUJ1dHRvbl9JY29uIHtcbiAgICAgICAgICAgIC8qIGFsaWduIHdpdGggc2V0dGluZ3MgbGFiZWwgKi9cbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMTRweDtcbiAgICAgICAgICAgIC8qIHJlcXVpcmVkIHRvIHNldCB0aGUgaWNvbiB3aWR0aCB3aGVuIGludG8gYSBmbGV4IGNvbnRhaW5lciAqL1xuICAgICAgICAgICAgbWluLXdpZHRoOiAyNHB4O1xuICAgICAgICB9XG5cbi5teF9UaHJlYWRzQWN0aXZpdHlDZW50cmVCdXR0b24uZXhwYW5kZWQgLm14X1RocmVhZHNBY3Rpdml0eUNlbnRyZUJ1dHRvbl9UZXh0IHtcbiAgICAgICAgICAgIGNvbG9yOiAjZWRmM2ZmO1xuICAgICAgICAgICAgY29sb3I6IHZhcigtLXNlY29uZGFyeS1jb250ZW50LCAjZWRmM2ZmKTtcbiAgICAgICAgfVxuXG4ubXhfVGhyZWFkc0FjdGl2aXR5Q2VudHJlQnV0dG9uOm5vdCguZXhwYW5kZWQpOmhvdmVyLFxuICAgICAgICAubXhfVGhyZWFkc0FjdGl2aXR5Q2VudHJlQnV0dG9uOm5vdCguZXhwYW5kZWQpOmhvdmVyIC5teF9UaHJlYWRzQWN0aXZpdHlDZW50cmVCdXR0b25fSWNvbiB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNmY3ODgyO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcXVhdGVybmFyeS1jb250ZW50LCAjNmY3ODgyKTtcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS10aW1lbGluZS10ZXh0LWNvbG9yKTtcbiAgICAgICAgfVxuXG4ubXhfVGhyZWFkc0FjdGl2aXR5Q2VudHJlQnV0dG9uIC5teF9UaHJlYWRzQWN0aXZpdHlDZW50cmVCdXR0b25fSWNvbiB7XG4gICAgICAgIGNvbG9yOiAjZWRmM2ZmO1xuICAgICAgICBjb2xvcjogdmFyKC0tc2Vjb25kYXJ5LWNvbnRlbnQsICNlZGYzZmYpO1xuICAgIH1cblxuLm14X1RocmVhZHNBY3Rpdml0eUNlbnRyZV9yb3dzIHtcbiAgICBvdmVyZmxvdy15OiBzY3JvbGw7XG4gICAgLyogTGV0IHNvbWUgc3BhY2UgYXQgdGhlIHRvcCBhbmQgdGhlIGJvdHRvbSBvZiB0aGUgcG9wLXVwICovXG4gICAgbWF4LWhlaWdodDogY2FsYygxMDB2aCAtIDIwMHB4KTtcbn1cblxuLm14X1RocmVhZHNBY3Rpdml0eUNlbnRyZV9yb3dzIC5teF9UaHJlYWRzQWN0aXZpdHlDZW50cmVSb3cge1xuICAgICAgICBoZWlnaHQ6IDQ4cHg7XG4gICAgfVxuXG4vKiBNYWtlIHRoZSBsYWJlbCBvZiB0aGUgTWVudUl0ZW0gc3RheSBvbiBvbmUgbGluZSBhbmQgdHJ1bmNhdGUgd2l0aCBlbGxpcHNpcyBpZiBuZWVkZWQgKi9cblxuLm14X1RocmVhZHNBY3Rpdml0eUNlbnRyZV9yb3dzIC5teF9UaHJlYWRzQWN0aXZpdHlDZW50cmVSb3cgPiBzcGFuIHtcbiAgICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgICAgICAgICAvKiBBcmJpdHJhcnkgc2l6ZSwga2VlcCB0aGUgVEFDIGFzIHRoZSB3YW50ZWQgd2lkdGggKi9cbiAgICAgICAgICAgIHdpZHRoOiAyMDJweDtcbiAgICAgICAgfVxuXG4ubXhfVGhyZWFkc0FjdGl2aXR5Q2VudHJlX2VtcHR5Q2FwdGlvbiB7XG4gICAgcGFkZGluZy1sZWZ0OiAxNnB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDE2cHg7XG4gICAgZm9udC1zaXplOiAxM3B4O1xufVxuXG4vKlxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXG5Db3B5cmlnaHQgMjAxOS0yMDIxIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXG5cblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cbiovXG5cbi5teF9Ub2FzdENvbnRhaW5lciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiA3MHB4O1xuICAgIHotaW5kZXg6IDEwMTtcbiAgICBwYWRkaW5nOiA0cHg7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLXJvd3M6IDFmciAxNHB4IDZweDtcbn1cblxuLm14X1RvYXN0Q29udGFpbmVyLm14X1RvYXN0Q29udGFpbmVyX3N0YWNrZWQ6OmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIG1hcmdpbjogMCA0cHg7XG4gICAgICAgIGdyaWQtcm93OiAyIC8gNDtcbiAgICAgICAgZ3JpZC1jb2x1bW46IDE7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMyMTI2MmM7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXN5c3RlbSwgIzIxMjYyYyk7XG4gICAgICAgIC13ZWJraXQtYm94LXNoYWRvdzogMHB4IDRweCAyMHB4IHJnYmEoMCwgMCwgMCwgMC41KTtcbiAgICAgICAgICAgICAgICBib3gtc2hhZG93OiAwcHggNHB4IDIwcHggcmdiYSgwLCAwLCAwLCAwLjUpO1xuICAgICAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgfVxuXG4ubXhfVG9hc3RDb250YWluZXIgLm14X1RvYXN0X3RvYXN0IHtcbiAgICAgICAgZ3JpZC1yb3c6IDEgLyAzO1xuICAgICAgICBncmlkLWNvbHVtbjogMTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY3BkLWNvbG9yLWJnLWNhbnZhcy1kZWZhdWx0KTtcbiAgICAgICAgY29sb3I6IHZhcigtLXRpbWVsaW5lLXRleHQtY29sb3IpO1xuICAgICAgICAtd2Via2l0LWJveC1zaGFkb3c6IDBweCA0cHggMjRweCByZ2JhKDAsIDAsIDAsIDAuMSk7XG4gICAgICAgICAgICAgICAgYm94LXNoYWRvdzogMHB4IDRweCAyNHB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgICAgICAgYm9yZGVyOiB2YXIoLS1jcGQtYm9yZGVyLXdpZHRoLTEpIHNvbGlkIHZhcigtLWNwZC1jb2xvci1ib3JkZXItaW50ZXJhY3RpdmUtc2Vjb25kYXJ5KTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMTJweDtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAyMnB4IDFmcjtcbiAgICAgICAgZ3JpZC1jb2x1bW4tZ2FwOiA4cHg7XG4gICAgICAgIC13ZWJraXQtY29sdW1uLWdhcDogOHB4O1xuICAgICAgICAgICAtbW96LWNvbHVtbi1nYXA6IDhweDtcbiAgICAgICAgICAgICAgICBjb2x1bW4tZ2FwOiA4cHg7XG4gICAgICAgIGdyaWQtcm93LWdhcDogNHB4O1xuICAgICAgICByb3ctZ2FwOiA0cHg7XG4gICAgICAgIHBhZGRpbmc6IHZhcigtLWNwZC1zcGFjZS0zeCk7XG4gICAgfVxuXG4ubXhfVG9hc3RDb250YWluZXIgLm14X1RvYXN0X3RvYXN0Lm14X1RvYXN0X2hhc0ljb246OmJlZm9yZSxcbiAgICAgICAgICAgIC5teF9Ub2FzdENvbnRhaW5lciAubXhfVG9hc3RfdG9hc3QubXhfVG9hc3RfaGFzSWNvbjo6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDIycHg7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAyMnB4O1xuICAgICAgICAgICAgICAgIGdyaWQtY29sdW1uOiAxO1xuICAgICAgICAgICAgICAgIGdyaWQtcm93OiAxO1xuICAgICAgICAgICAgICAgIC13ZWJraXQtbWFzay1zaXplOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFzay1zaXplOiAxMDAlO1xuICAgICAgICAgICAgICAgIC13ZWJraXQtbWFzay1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFzay1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgICAgICAgICAgIC13ZWJraXQtbWFzay1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hc2stcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiAxMDAlO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgICB9XG5cbi5teF9Ub2FzdENvbnRhaW5lciAubXhfVG9hc3RfdG9hc3QubXhfVG9hc3RfaGFzSWNvbi5teF9Ub2FzdF9pY29uX3ZlcmlmaWNhdGlvbjo6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIC13ZWJraXQtbWFzay1pbWFnZTogdXJsKFwiLi4vLi4vLi4vaW1nL2UyZS9ub3JtYWwuc3ZnXCIpO1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFzay1pbWFnZTogdXJsKFwiLi4vLi4vLi4vaW1nL2UyZS9ub3JtYWwuc3ZnXCIpO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXRpbWVsaW5lLXRleHQtY29sb3IpO1xuICAgICAgICAgICAgfVxuXG4vKiB3aGl0ZSBpbmZpbGwgZm9yIHRoZSBob2xsb3cgc3ZnIG1hc2sgKi9cblxuLm14X1RvYXN0Q29udGFpbmVyIC5teF9Ub2FzdF90b2FzdC5teF9Ub2FzdF9oYXNJY29uLm14X1RvYXN0X2ljb25fdmVyaWZpY2F0aW9uX3dhcm5pbmc6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgICAgICAgICAgICAgICAgIC13ZWJraXQtbWFzay1pbWFnZTogdXJsKFwiLi4vLi4vLi4vaW1nL2UyZS9ub3JtYWwuc3ZnXCIpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hc2staW1hZ2U6IHVybChcIi4uLy4uLy4uL2ltZy9lMmUvbm9ybWFsLnN2Z1wiKTtcbiAgICAgICAgICAgICAgICAgICAgLXdlYmtpdC1tYXNrLXNpemU6IDgwJTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXNrLXNpemU6IDgwJTtcbiAgICAgICAgICAgICAgICB9XG5cbi5teF9Ub2FzdENvbnRhaW5lciAubXhfVG9hc3RfdG9hc3QubXhfVG9hc3RfaGFzSWNvbi5teF9Ub2FzdF9pY29uX3ZlcmlmaWNhdGlvbl93YXJuaW5nOjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgIC13ZWJraXQtbWFzay1pbWFnZTogdXJsKFwiLi4vLi4vLi4vaW1nL2UyZS93YXJuaW5nLnN2Z1wiKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXNrLWltYWdlOiB1cmwoXCIuLi8uLi8uLi9pbWcvZTJlL3dhcm5pbmcuc3ZnXCIpO1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmY1YjU1O1xuICAgICAgICAgICAgICAgIH1cblxuLm14X1RvYXN0Q29udGFpbmVyIC5teF9Ub2FzdF90b2FzdC5teF9Ub2FzdF9oYXNJY29uLm14X1RvYXN0X2ljb25fc2VjdXJlX2JhY2t1cDo6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIC13ZWJraXQtbWFzay1pbWFnZTogdXJsKFwiLi4vLi4vLi4vaW1nL2ZlYXRoZXItY3VzdG9taXNlZC9zZWN1cmUtYmFja3VwLnN2Z1wiKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hc2staW1hZ2U6IHVybChcIi4uLy4uLy4uL2ltZy9mZWF0aGVyLWN1c3RvbWlzZWQvc2VjdXJlLWJhY2t1cC5zdmdcIik7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdGltZWxpbmUtdGV4dC1jb2xvcik7XG4gICAgICAgICAgICB9XG5cbi5teF9Ub2FzdENvbnRhaW5lciAubXhfVG9hc3RfdG9hc3QubXhfVG9hc3RfaGFzSWNvbi5teF9Ub2FzdF9pY29uX2xhYnM6OmFmdGVyIHtcbiAgICAgICAgICAgICAgICAtd2Via2l0LW1hc2staW1hZ2U6IHVybChcIi4uLy4uLy4uL2ltZy9lbGVtZW50LWljb25zL2ZsYXNrLnN2Z1wiKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hc2staW1hZ2U6IHVybChcIi4uLy4uLy4uL2ltZy9lbGVtZW50LWljb25zL2ZsYXNrLnN2Z1wiKTtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWRmM2ZmO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXNlY29uZGFyeS1jb250ZW50LCAjZWRmM2ZmKTtcbiAgICAgICAgICAgIH1cblxuLm14X1RvYXN0Q29udGFpbmVyIC5teF9Ub2FzdF90b2FzdC5teF9Ub2FzdF9oYXNJY29uIC5teF9Ub2FzdF90aXRsZSxcbiAgICAgICAgICAgIC5teF9Ub2FzdENvbnRhaW5lciAubXhfVG9hc3RfdG9hc3QubXhfVG9hc3RfaGFzSWNvbiAubXhfVG9hc3RfYm9keSB7XG4gICAgICAgICAgICAgICAgZ3JpZC1jb2x1bW46IDI7XG4gICAgICAgICAgICB9XG5cbi5teF9Ub2FzdENvbnRhaW5lciAubXhfVG9hc3RfdG9hc3Q6bm90KC5teF9Ub2FzdF9oYXNJY29uKSB7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDEycHg7XG4gICAgICAgIH1cblxuLm14X1RvYXN0Q29udGFpbmVyIC5teF9Ub2FzdF90b2FzdDpub3QoLm14X1RvYXN0X2hhc0ljb24pIC5teF9Ub2FzdF90aXRsZSB7XG4gICAgICAgICAgICAgICAgZ3JpZC1jb2x1bW46IDEgLyAtMTtcbiAgICAgICAgICAgIH1cblxuLm14X1RvYXN0Q29udGFpbmVyIC5teF9Ub2FzdF90b2FzdCAubXhfVG9hc3RfdGl0bGUsXG4gICAgICAgIC5teF9Ub2FzdENvbnRhaW5lciAubXhfVG9hc3RfdG9hc3QgLm14X1RvYXN0X2Rlc2NyaXB0aW9uIHtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDhweDtcbiAgICAgICAgfVxuXG4ubXhfVG9hc3RDb250YWluZXIgLm14X1RvYXN0X3RvYXN0IC5teF9Ub2FzdF90aXRsZSB7XG4gICAgICAgICAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgICAgICAgICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIC13ZWJraXQtY29sdW1uLWdhcDogOHB4O1xuICAgICAgICAgICAgICAgLW1vei1jb2x1bW4tZ2FwOiA4cHg7XG4gICAgICAgICAgICAgICAgICAgIGNvbHVtbi1nYXA6IDhweDtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICAgICAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICB9XG5cbi5teF9Ub2FzdENvbnRhaW5lciAubXhfVG9hc3RfdG9hc3QgLm14X1RvYXN0X3RpdGxlIGgyIHtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAgICAgZm9udDogdmFyKC0tY3BkLWZvbnQtYm9keS1sZy1zZW1pYm9sZCk7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lO1xuICAgICAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgICAgfVxuXG4ubXhfVG9hc3RDb250YWluZXIgLm14X1RvYXN0X3RvYXN0IC5teF9Ub2FzdF90aXRsZSAubXhfVG9hc3RfdGl0bGVfY291bnRJbmRpY2F0b3Ige1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMS4zNzVyZW07XG4gICAgICAgICAgICAgICAgY29sb3I6ICNlZGYzZmY7XG4gICAgICAgICAgICAgICAgY29sb3I6IHZhcigtLXNlY29uZGFyeS1jb250ZW50LCAjZWRmM2ZmKTtcbiAgICAgICAgICAgICAgICAtd2Via2l0LW1hcmdpbi1zdGFydDogYXV0bztcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1pbmxpbmUtc3RhcnQ6IGF1dG87IC8qIG9uIHRoZSBlbmQgc2lkZSBvZiB0aGUgZGl2ICovXG4gICAgICAgICAgICB9XG5cbi5teF9Ub2FzdENvbnRhaW5lciAubXhfVG9hc3RfdG9hc3QgLm14X1RvYXN0X2JvZHkge1xuICAgICAgICAgICAgZ3JpZC1jb2x1bW46IDEgLyAzO1xuICAgICAgICAgICAgZ3JpZC1yb3c6IDI7XG4gICAgICAgIH1cblxuLm14X1RvYXN0Q29udGFpbmVyIC5teF9Ub2FzdF90b2FzdCAubXhfVG9hc3RfYnV0dG9ucyB7XG4gICAgICAgICAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgICAgICAgICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIC13ZWJraXQtYm94LXBhY2s6IGVuZDtcbiAgICAgICAgICAgICAgICAtbXMtZmxleC1wYWNrOiBlbmQ7XG4gICAgICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICAgICAgICAtd2Via2l0LWNvbHVtbi1nYXA6IDVweDtcbiAgICAgICAgICAgICAgIC1tb3otY29sdW1uLWdhcDogNXB4O1xuICAgICAgICAgICAgICAgICAgICBjb2x1bW4tZ2FwOiA1cHg7XG4gICAgICAgIH1cblxuLm14X1RvYXN0Q29udGFpbmVyIC5teF9Ub2FzdF90b2FzdCAubXhfVG9hc3RfYnV0dG9ucyAubXhfQWNjZXNzaWJsZUJ1dHRvbiB7XG4gICAgICAgICAgICAgICAgbWluLXdpZHRoOiA5NnB4O1xuICAgICAgICAgICAgICAgIC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgICAgICB9XG5cbi5teF9Ub2FzdENvbnRhaW5lciAubXhfVG9hc3RfdG9hc3QgLm14X1RvYXN0X2Rlc2NyaXB0aW9uIHtcbiAgICAgICAgICAgIG1heC13aWR0aDogMjcycHg7XG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgICAgICAgICBtYXJnaW46IDRweCAwIDExcHggMDtcbiAgICAgICAgICAgIGNvbG9yOiAjZWRmM2ZmO1xuICAgICAgICAgICAgY29sb3I6IHZhcigtLXNlY29uZGFyeS1jb250ZW50LCAjZWRmM2ZmKTtcbiAgICAgICAgICAgIGZvbnQ6IHZhcigtLWNwZC1mb250LWJvZHktc20tcmVndWxhcik7XG4gICAgICAgIH1cblxuLm14X1RvYXN0Q29udGFpbmVyIC5teF9Ub2FzdF90b2FzdCAubXhfVG9hc3RfZGVzY3JpcHRpb24gYSB7XG4gICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICAgICAgfVxuXG4ubXhfVG9hc3RDb250YWluZXIgLm14X1RvYXN0X3RvYXN0IC5teF9Ub2FzdF9kZXZpY2VJRCB7XG4gICAgICAgICAgICBmb250LXNpemU6IDAuNjI1cmVtO1xuICAgICAgICB9XG5cbi8qXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cbkNvcHlyaWdodCAyMDE1LCAyMDE2ICwgMjAyMSBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxuXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXG4qL1xuXG4ubXhfVXBsb2FkQmFyIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDY1cHg7IC8qIGxpbmUgdXAgd2l0aCB0aGUgc2hpZWxkIGFyZWEgaW4gdGhlIGNvbXBvc2VyICovXG4gICAgcGFkZGluZy10b3A6IDVweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5teF9VcGxvYWRCYXIgLm14X1Byb2dyZXNzQmFyIHtcbiAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDQwcHgpOyAvKiBjaGVhdGluZyBhdCBhIHJpZ2h0IG1hcmdpbiAqL1xuICAgIH1cblxuLm14X1RocmVhZFZpZXcgLm14X1VwbG9hZEJhciB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICB9XG5cbi5teF9VcGxvYWRCYXJfZmlsZW5hbWUge1xuICAgIGNvbG9yOiAjYTFiMmQxO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAzOHB4OyAvKiAzMnB4IGZvciBjYW5jZWwgaWNvbiwgNnB4IGZvciBwYWRkaW5nICovXG4gICAgcGFkZGluZy1sZWZ0OiAyMnB4OyAvKiAxOHB4IGZvciBpY29uLCA0cHggZm9yIHBhZGRpbmcgKi9cbiAgICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuXG4ubXhfVXBsb2FkQmFyX2ZpbGVuYW1lOjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBoZWlnaHQ6IDE4cHg7XG4gICAgICAgIHdpZHRoOiAxOHB4O1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgLXdlYmtpdC1tYXNrLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgICAgICAgIG1hc2stcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgIC13ZWJraXQtbWFzay1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgICAgICAgICAgIG1hc2stcG9zaXRpb246IGNlbnRlcjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ExYjJkMTtcbiAgICAgICAgLXdlYmtpdC1tYXNrLWltYWdlOiB1cmwoXCIuLi8uLi8uLi9pbWcvZWxlbWVudC1pY29ucy91cGxvYWQuc3ZnXCIpO1xuICAgICAgICAgICAgICAgIG1hc2staW1hZ2U6IHVybChcIi4uLy4uLy4uL2ltZy9lbGVtZW50LWljb25zL3VwbG9hZC5zdmdcIik7XG4gICAgfVxuXG4ubXhfVXBsb2FkQmFyX2NhbmNlbCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMDtcbiAgICBoZWlnaHQ6IDE2cHg7XG4gICAgd2lkdGg6IDE2cHg7XG4gICAgbWFyZ2luLXJpZ2h0OiAxNnB4OyAvKiBhbGlnbiBvdmVyIHJpZ2h0bW9zdCBidXR0b24gaW4gY29tcG9zZXIgKi9cbiAgICBtYXJnaW4tdG9wOiA1cHg7XG4gICAgLXdlYmtpdC1tYXNrLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgICAgbWFzay1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAtd2Via2l0LW1hc2stcG9zaXRpb246IGNlbnRlcjtcbiAgICAgICAgICAgIG1hc2stcG9zaXRpb246IGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYTFiMmQxO1xuICAgIC13ZWJraXQtbWFzay1pbWFnZTogdXJsKFwiQHZlY3Rvci1pbS9jb21wb3VuZC1kZXNpZ24tdG9rZW5zL2ljb25zL2Nsb3NlLnN2Z1wiKTtcbiAgICAgICAgICAgIG1hc2staW1hZ2U6IHVybChcIkB2ZWN0b3ItaW0vY29tcG91bmQtZGVzaWduLXRva2Vucy9pY29ucy9jbG9zZS5zdmdcIik7XG59XG5cbi8qXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cbkNvcHlyaWdodCAyMDIwIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXG5cblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cbiovXG5cbi5teF9Vc2VyTWVudSB7XG4gICAgLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG4ubXhfVXNlck1lbnUgLm14X0FjY2Vzc2libGVCdXR0b24ge1xuICAgICAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgICAgICAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgfVxuXG4ubXhfVXNlck1lbnUgLm14X0FjY2Vzc2libGVCdXR0b24gLm14X1VzZXJNZW51X3VzZXJBdmF0YXIge1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB9XG5cbi5teF9Vc2VyTWVudSAubXhfQWNjZXNzaWJsZUJ1dHRvbiAubXhfVXNlck1lbnVfdXNlckF2YXRhciAubXhfQmFzZUF2YXRhciB7XG4gICAgICAgICAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7IC8qIG1ha2VzIHRoZSBhdmF0YXIgbm9uLWRyYWdnYWJsZSAqL1xuICAgICAgICAgICAgfVxuXG4ubXhfVXNlck1lbnUgLm14X1VzZXJNZW51X2NvbnRleHRNZW51QnV0dG9uIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4ubXhfVXNlck1lbnUgLm14X1VzZXJNZW51X25hbWUge1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLWNwZC1mb250LXdlaWdodC1zZW1pYm9sZCk7XG4gICAgICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICAgICAgICBsaW5lLWhlaWdodDogMS41cmVtO1xuICAgICAgICBtYXJnaW4tbGVmdDogMTBweDtcbiAgICB9XG5cbi5teF9Vc2VyTWVudSAubXhfVXNlck1lbnVfZG5kQmFkZ2Uge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGJvdHRvbTogLTJweDtcbiAgICAgICAgcmlnaHQ6IC03cHg7XG4gICAgICAgIHdpZHRoOiAxNnB4O1xuICAgICAgICBoZWlnaHQ6IDE2cHg7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICB9XG5cbi5teF9Vc2VyTWVudSAubXhfVXNlck1lbnVfZG5kQmFkZ2U6OmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgd2lkdGg6IDE2cHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDE2cHg7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAtd2Via2l0LW1hc2stcG9zaXRpb246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgbWFzay1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgICAgICAgLXdlYmtpdC1tYXNrLXNpemU6IGNvbnRhaW47XG4gICAgICAgICAgICAgICAgICAgIG1hc2stc2l6ZTogY29udGFpbjtcbiAgICAgICAgICAgIC13ZWJraXQtbWFzay1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgICAgICAgICAgICAgbWFzay1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZjViNTU7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1hbGVydCwgI2ZmNWI1NSk7XG4gICAgICAgICAgICAtd2Via2l0LW1hc2staW1hZ2U6IHVybChcIi4uLy4uLy4uL2ltZy9lbGVtZW50LWljb25zL3Jvb21saXN0L2RuZC5zdmdcIik7XG4gICAgICAgICAgICAgICAgICAgIG1hc2staW1hZ2U6IHVybChcIi4uLy4uLy4uL2ltZy9lbGVtZW50LWljb25zL3Jvb21saXN0L2RuZC5zdmdcIik7XG4gICAgICAgIH1cblxuLm14X0ljb25pemVkQ29udGV4dE1lbnUubXhfVXNlck1lbnVfY29udGV4dE1lbnUge1xuICAgICAgICB3aWR0aDogMjU4cHg7XG4gICAgfVxuXG4ubXhfVXNlck1lbnVfY29udGV4dE1lbnUubXhfSWNvbml6ZWRDb250ZXh0TWVudSAubXhfSWNvbml6ZWRDb250ZXh0TWVudV9vcHRpb25MaXN0X3JlZCAubXhfQWNjZXNzaWJsZUJ1dHRvbiB7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogMTZweDtcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAxNnB4O1xuICAgICAgICB9XG5cbi5teF9Vc2VyTWVudV9jb250ZXh0TWVudSAubXhfVXNlck1lbnVfY29udGV4dE1lbnVfaGVhZGVyIHtcbiAgICAgICAgcGFkZGluZzogMjBweDtcblxuICAgICAgICAvKiBDcmVhdGUgYSBmbGV4Ym94IHRvIG9yZ2FuaXplIHRoZSBoZWFkZXIgYSBiaXQgZWFzaWVyICovXG4gICAgICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICAgICAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB9XG5cbi5teF9Vc2VyTWVudV9jb250ZXh0TWVudSAubXhfVXNlck1lbnVfY29udGV4dE1lbnVfaGVhZGVyIC5teF9Vc2VyTWVudV9jb250ZXh0TWVudV9uYW1lIHtcbiAgICAgICAgICAgIC8qIENyZWF0ZSBhbm90aGVyIGZsZXhib3ggb2YgY29sdW1ucyB0byBoYW5kbGUgbGFyZ2UgdXNlciBJRHMgKi9cbiAgICAgICAgICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICAgICAgICAgICAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcbiAgICAgICAgICAgIC13ZWJraXQtYm94LWRpcmVjdGlvbjogbm9ybWFsO1xuICAgICAgICAgICAgICAgIC1tcy1mbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDQwcHgpOyAvKiA0MHB4ID0gMzJweCB0aGVtZSBidXR0b24gKyA4cHggbWFyZ2luIHRvIHRoZW1lIGJ1dHRvbiAqL1xuICAgICAgICB9XG5cbi5teF9Vc2VyTWVudV9jb250ZXh0TWVudSAubXhfVXNlck1lbnVfY29udGV4dE1lbnVfaGVhZGVyIC5teF9Vc2VyTWVudV9jb250ZXh0TWVudV9uYW1lIC5teF9Vc2VyTWVudV9jb250ZXh0TWVudV9kaXNwbGF5TmFtZSxcbiAgICAgICAgICAgIC5teF9Vc2VyTWVudV9jb250ZXh0TWVudSAubXhfVXNlck1lbnVfY29udGV4dE1lbnVfaGVhZGVyIC5teF9Vc2VyTWVudV9jb250ZXh0TWVudV9uYW1lIC5teF9Vc2VyTWVudV9jb250ZXh0TWVudV91c2VySWQge1xuICAgICAgICAgICAgICAgIGZvbnQ6IHZhcigtLWNwZC1mb250LWJvZHktbGctcmVndWxhcik7XG5cbiAgICAgICAgICAgICAgICAvKiBBdXRvbWF0aWNhbGx5IGdyb3cgc3ViZWxlbWVudHMgdG8gZml0IHRoZSBjb250YWluZXIgKi9cbiAgICAgICAgICAgICAgICAtd2Via2l0LWJveC1mbGV4OiAxO1xuICAgICAgICAgICAgICAgICAgICAtbXMtZmxleDogMTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZsZXg6IDE7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgICAgICAgICAvKiBFbGxpcHNpemUgdGV4dCBvdmVyZmxvdyAqL1xuICAgICAgICAgICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgICAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgICAgIH1cblxuLm14X1VzZXJNZW51X2NvbnRleHRNZW51IC5teF9Vc2VyTWVudV9jb250ZXh0TWVudV9oZWFkZXIgLm14X1VzZXJNZW51X2NvbnRleHRNZW51X25hbWUgLm14X1VzZXJNZW51X2NvbnRleHRNZW51X2Rpc3BsYXlOYW1lIHtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogdmFyKC0tY3BkLWZvbnQtd2VpZ2h0LXNlbWlib2xkKTtcbiAgICAgICAgICAgIH1cblxuLm14X1VzZXJNZW51X2NvbnRleHRNZW51IC5teF9Vc2VyTWVudV9jb250ZXh0TWVudV9oZWFkZXIgLm14X1VzZXJNZW51X2NvbnRleHRNZW51X3RoZW1lQnV0dG9uIHtcbiAgICAgICAgICAgIG1pbi13aWR0aDogMzJweDtcbiAgICAgICAgICAgIG1heC13aWR0aDogMzJweDtcbiAgICAgICAgICAgIHdpZHRoOiAzMnB4O1xuICAgICAgICAgICAgaGVpZ2h0OiAzMnB4O1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDhweDtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDMycHg7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTNlOGYwO1xuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgICAgICAgICAvKiB0byBtYWtlIGFsaWdubWVudCBlYXNpZXIsIGNyZWF0ZSBmbGV4Ym94IGZvciB0aGUgaW1hZ2UgKi9cbiAgICAgICAgICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICAgICAgICAgICAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgLXdlYmtpdC1ib3gtcGFjazogY2VudGVyO1xuICAgICAgICAgICAgICAgIC1tcy1mbGV4LXBhY2s6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIH1cblxuLm14X1VzZXJNZW51X2NvbnRleHRNZW51IC5teF9Vc2VyTWVudV9jb250ZXh0TWVudV9oZWFkZXIubXhfVXNlck1lbnVfY29udGV4dE1lbnVfZ3Vlc3RQcm9tcHRzIHtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB9XG5cbi5teF9Vc2VyTWVudV9jb250ZXh0TWVudSAubXhfVXNlck1lbnVfY29udGV4dE1lbnVfaGVhZGVyLm14X1VzZXJNZW51X2NvbnRleHRNZW51X2d1ZXN0UHJvbXB0cyA+IHNwYW4ge1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1jcGQtZm9udC13ZWlnaHQtc2VtaWJvbGQpO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgfVxuXG4ubXhfVXNlck1lbnVfY29udGV4dE1lbnUgLm14X1VzZXJNZW51X2NvbnRleHRNZW51X2hlYWRlci5teF9Vc2VyTWVudV9jb250ZXh0TWVudV9ndWVzdFByb21wdHMgPiBzcGFuICsgc3BhbiB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDhweDtcbiAgICAgICAgICAgICAgICB9XG5cbi5teF9Vc2VyTWVudV9jb250ZXh0TWVudSAubXhfSWNvbml6ZWRDb250ZXh0TWVudV9pY29uIHtcbiAgICAgICAgd2lkdGg6IDE2cHg7XG4gICAgICAgIGhlaWdodDogMTZweDtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4ubXhfVXNlck1lbnVfY29udGV4dE1lbnUgLm14X0ljb25pemVkQ29udGV4dE1lbnVfaWNvbjo6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICB3aWR0aDogMTZweDtcbiAgICAgICAgICAgIGhlaWdodDogMTZweDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgLXdlYmtpdC1tYXNrLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgIG1hc2stcG9zaXRpb246IGNlbnRlcjtcbiAgICAgICAgICAgIC13ZWJraXQtbWFzay1zaXplOiBjb250YWluO1xuICAgICAgICAgICAgICAgICAgICBtYXNrLXNpemU6IGNvbnRhaW47XG4gICAgICAgICAgICAtd2Via2l0LW1hc2stcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgICAgICAgICAgIG1hc2stcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1pY29uLWJ1dHRvbi1jb2xvciwgdmFyKC0tY3BkLWNvbG9yLWljb24tdGVydGlhcnkpKTtcbiAgICAgICAgfVxuXG4ubXhfVXNlck1lbnVfY29udGV4dE1lbnUgLm14X1VzZXJNZW51X2ljb25Ib21lOjpiZWZvcmUge1xuICAgICAgICAtd2Via2l0LW1hc2staW1hZ2U6IHVybChcIkB2ZWN0b3ItaW0vY29tcG91bmQtZGVzaWduLXRva2Vucy9pY29ucy9ob21lLXNvbGlkLnN2Z1wiKTtcbiAgICAgICAgICAgICAgICBtYXNrLWltYWdlOiB1cmwoXCJAdmVjdG9yLWltL2NvbXBvdW5kLWRlc2lnbi10b2tlbnMvaWNvbnMvaG9tZS1zb2xpZC5zdmdcIik7XG4gICAgfVxuXG4ubXhfVXNlck1lbnVfY29udGV4dE1lbnUgLm14X1VzZXJNZW51X2ljb25EbmQ6OmJlZm9yZSB7XG4gICAgICAgIC13ZWJraXQtbWFzay1pbWFnZTogdXJsKFwiLi4vLi4vLi4vaW1nL2VsZW1lbnQtaWNvbnMvcm9vbWxpc3QvZG5kLnN2Z1wiKTtcbiAgICAgICAgICAgICAgICBtYXNrLWltYWdlOiB1cmwoXCIuLi8uLi8uLi9pbWcvZWxlbWVudC1pY29ucy9yb29tbGlzdC9kbmQuc3ZnXCIpO1xuICAgIH1cblxuLm14X1VzZXJNZW51X2NvbnRleHRNZW51IC5teF9Vc2VyTWVudV9pY29uRG5kT2ZmOjpiZWZvcmUge1xuICAgICAgICAtd2Via2l0LW1hc2staW1hZ2U6IHVybChcIi4uLy4uLy4uL2ltZy9lbGVtZW50LWljb25zL3Jvb21saXN0L2RuZC1jcm9zcy5zdmdcIik7XG4gICAgICAgICAgICAgICAgbWFzay1pbWFnZTogdXJsKFwiLi4vLi4vLi4vaW1nL2VsZW1lbnQtaWNvbnMvcm9vbWxpc3QvZG5kLWNyb3NzLnN2Z1wiKTtcbiAgICB9XG5cbi5teF9Vc2VyTWVudV9jb250ZXh0TWVudSAubXhfVXNlck1lbnVfaWNvbkJlbGw6OmJlZm9yZSB7XG4gICAgICAgIC13ZWJraXQtbWFzay1pbWFnZTogdXJsKFwiLi4vLi4vLi4vaW1nL2VsZW1lbnQtaWNvbnMvbm90aWZpY2F0aW9ucy5zdmdcIik7XG4gICAgICAgICAgICAgICAgbWFzay1pbWFnZTogdXJsKFwiLi4vLi4vLi4vaW1nL2VsZW1lbnQtaWNvbnMvbm90aWZpY2F0aW9ucy5zdmdcIik7XG4gICAgfVxuXG4ubXhfVXNlck1lbnVfY29udGV4dE1lbnUgLm14X1VzZXJNZW51X2ljb25Mb2NrOjpiZWZvcmUge1xuICAgICAgICAtd2Via2l0LW1hc2staW1hZ2U6IHVybChcIkB2ZWN0b3ItaW0vY29tcG91bmQtZGVzaWduLXRva2Vucy9pY29ucy9sb2NrLXNvbGlkLnN2Z1wiKTtcbiAgICAgICAgICAgICAgICBtYXNrLWltYWdlOiB1cmwoXCJAdmVjdG9yLWltL2NvbXBvdW5kLWRlc2lnbi10b2tlbnMvaWNvbnMvbG9jay1zb2xpZC5zdmdcIik7XG4gICAgfVxuXG4ubXhfVXNlck1lbnVfY29udGV4dE1lbnUgLm14X1VzZXJNZW51X2ljb25TZXR0aW5nczo6YmVmb3JlIHtcbiAgICAgICAgLXdlYmtpdC1tYXNrLWltYWdlOiB1cmwoXCJAdmVjdG9yLWltL2NvbXBvdW5kLWRlc2lnbi10b2tlbnMvaWNvbnMvc2V0dGluZ3Mtc29saWQuc3ZnXCIpO1xuICAgICAgICAgICAgICAgIG1hc2staW1hZ2U6IHVybChcIkB2ZWN0b3ItaW0vY29tcG91bmQtZGVzaWduLXRva2Vucy9pY29ucy9zZXR0aW5ncy1zb2xpZC5zdmdcIik7XG4gICAgfVxuXG4ubXhfVXNlck1lbnVfY29udGV4dE1lbnUgLm14X1VzZXJNZW51X2ljb25NZXNzYWdlOjpiZWZvcmUge1xuICAgICAgICAtd2Via2l0LW1hc2staW1hZ2U6IHVybChcIi4uLy4uLy4uL2ltZy9lbGVtZW50LWljb25zL2ZlZWRiYWNrLnN2Z1wiKTtcbiAgICAgICAgICAgICAgICBtYXNrLWltYWdlOiB1cmwoXCIuLi8uLi8uLi9pbWcvZWxlbWVudC1pY29ucy9mZWVkYmFjay5zdmdcIik7XG4gICAgfVxuXG4ubXhfVXNlck1lbnVfY29udGV4dE1lbnUgLm14X1VzZXJNZW51X2ljb25TaWduT3V0OjpiZWZvcmUge1xuICAgICAgICAtd2Via2l0LW1hc2staW1hZ2U6IHVybChcIkB2ZWN0b3ItaW0vY29tcG91bmQtZGVzaWduLXRva2Vucy9pY29ucy9sZWF2ZS5zdmdcIik7XG4gICAgICAgICAgICAgICAgbWFzay1pbWFnZTogdXJsKFwiQHZlY3Rvci1pbS9jb21wb3VuZC1kZXNpZ24tdG9rZW5zL2ljb25zL2xlYXZlLnN2Z1wiKTtcbiAgICB9XG5cbi5teF9Vc2VyTWVudV9jb250ZXh0TWVudSAubXhfVXNlck1lbnVfaWNvblFyOjpiZWZvcmUge1xuICAgICAgICAtd2Via2l0LW1hc2staW1hZ2U6IHVybChcIkB2ZWN0b3ItaW0vY29tcG91bmQtZGVzaWduLXRva2Vucy9pY29ucy9xci1jb2RlLnN2Z1wiKTtcbiAgICAgICAgICAgICAgICBtYXNrLWltYWdlOiB1cmwoXCJAdmVjdG9yLWltL2NvbXBvdW5kLWRlc2lnbi10b2tlbnMvaWNvbnMvcXItY29kZS5zdmdcIik7XG4gICAgfVxuXG4vKlxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXG5Db3B5cmlnaHQgMjAxNSwgMjAxNiBPcGVuTWFya2V0IEx0ZFxuXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXG4qL1xuXG4ubXhfVmlld1NvdXJjZSBwcmUge1xuICAgICAgICBmb250LXNpemU6IDAuNzVyZW07XG4gICAgICAgIHBhZGRpbmc6IDAuNWVtIDFlbTtcbiAgICAgICAgd29yZC13cmFwOiBicmVhay13b3JkO1xuICAgICAgICB3aGl0ZS1zcGFjZTogcHJlLXdyYXA7XG4gICAgICAgIG92ZXJmbG93LXdyYXA6IGFueXdoZXJlO1xuICAgIH1cblxuLm14X1ZpZXdTb3VyY2UgLm14X1ZpZXdTb3VyY2VfaGVhZGVyIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICM2Zjc4ODI7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1xdWluYXJ5LWNvbnRlbnQsICM2Zjc4ODIpO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTJweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTJweDtcbiAgICAgICAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZTtcbiAgICB9XG5cbi5teF9WaWV3U291cmNlIC5teF9WaWV3U291cmNlX2hlYWRlciAubXhfQ29weWFibGVUZXh0IHtcbiAgICAgICAgICAgIHdvcmQtYnJlYWs6IGJyZWFrLWFsbDtcbiAgICAgICAgfVxuXG4ubXhfVmlld1NvdXJjZSAubXhfVmlld1NvdXJjZV9oZWFkaW5nIHtcbiAgICAgICAgZm9udC1zaXplOiAxLjA2MjVyZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgIGNvbG9yOiB2YXIoLS10aW1lbGluZS10ZXh0LWNvbG9yKTtcbiAgICAgICAgbWFyZ2luLXRvcDogMTJweDtcbiAgICB9XG5cbi5teF9WaWV3U291cmNlIC5teF9WaWV3U291cmNlX2RldGFpbHMge1xuICAgICAgICBtYXJnaW4tdG9wOiAxMnB4O1xuICAgIH1cblxuLm14X1ZpZXdTb3VyY2UgLm14X0NvcHlhYmxlVGV4dF9ib3JkZXIge1xuICAgICAgICAtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4vKlxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXG5Db3B5cmlnaHQgMjAyMCBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxuXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXG4qL1xuXG4ubXhfQ29tcGxldGVTZWN1cml0eV9oZWFkZXIge1xuICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbi5teF9Db21wbGV0ZVNlY3VyaXR5X2hlYWRlckljb24ge1xuICAgIHdpZHRoOiAyNHB4O1xuICAgIGhlaWdodDogMjRweDtcbiAgICBtYXJnaW4tcmlnaHQ6IDRweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5teF9Db21wbGV0ZVNlY3VyaXR5X2hlcm9JY29uIHtcbiAgICB3aWR0aDogMTI4cHg7XG4gICAgaGVpZ2h0OiAxMjhweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luOiAwIGF1dG87XG59XG5cbi5teF9Db21wbGV0ZVNlY3VyaXR5X3NraXAge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgd2lkdGg6IDI4cHg7XG4gICAgaGVpZ2h0OiAyOHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDE0cHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY3BkLWNvbG9yLWJnLXN1YnRsZS1zZWNvbmRhcnkpO1xufVxuXG4ubXhfQ29tcGxldGVTZWN1cml0eV9za2lwOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY3BkLWNvbG9yLWJnLXN1YnRsZS1wcmltYXJ5KTtcbiAgICB9XG5cbi5teF9Db21wbGV0ZVNlY3VyaXR5X3NraXA6OmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIHdpZHRoOiAyOHB4O1xuICAgICAgICBoZWlnaHQ6IDI4cHg7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAtd2Via2l0LW1hc2staW1hZ2U6IHVybChcIkB2ZWN0b3ItaW0vY29tcG91bmQtZGVzaWduLXRva2Vucy9pY29ucy9jbG9zZS5zdmdcIik7XG4gICAgICAgICAgICAgICAgbWFzay1pbWFnZTogdXJsKFwiQHZlY3Rvci1pbS9jb21wb3VuZC1kZXNpZ24tdG9rZW5zL2ljb25zL2Nsb3NlLnN2Z1wiKTtcbiAgICAgICAgLXdlYmtpdC1tYXNrLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgICAgICAgIG1hc2stcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgIC13ZWJraXQtbWFzay1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgICAgICAgICAgIG1hc2stcG9zaXRpb246IGNlbnRlcjtcbiAgICAgICAgLXdlYmtpdC1tYXNrLXNpemU6IDIwcHg7XG4gICAgICAgICAgICAgICAgbWFzay1zaXplOiAyMHB4O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jcGQtY29sb3ItaWNvbi1zZWNvbmRhcnkpO1xuICAgIH1cblxuLm14X0NvbXBsZXRlU2VjdXJpdHlfc2tpcCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAyNHB4O1xufVxuXG4ubXhfQ29tcGxldGVTZWN1cml0eV9ib2R5IHtcbiAgICBmb250LXNpemU6IDAuOTM3NXJlbTtcbn1cblxuLm14X0NvbXBsZXRlU2VjdXJpdHlfd2FpdGluZyB7XG4gICAgY29sb3I6ICNlZGYzZmY7XG4gICAgY29sb3I6IHZhcigtLXRlcnRpYXJ5LWNvbnRlbnQsICNlZGYzZmYpO1xufVxuXG4ubXhfQ29tcGxldGVTZWN1cml0eV9hY3Rpb25Sb3cge1xuICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgLXdlYmtpdC1ib3gtcGFjazogZW5kO1xuICAgICAgICAtbXMtZmxleC1wYWNrOiBlbmQ7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgIG1hcmdpbi10b3A6IDEuNzVyZW07XG59XG5cbi5teF9Db21wbGV0ZVNlY3VyaXR5X2FjdGlvblJvdyAubXhfQWNjZXNzaWJsZUJ1dHRvbiB7XG4gICAgICAgIC13ZWJraXQtbWFyZ2luLXN0YXJ0OiAxOHB4O1xuICAgICAgICAgICAgICAgIG1hcmdpbi1pbmxpbmUtc3RhcnQ6IDE4cHg7XG4gICAgfVxuXG4ubXhfQ29tcGxldGVTZWN1cml0eV9hY3Rpb25Sb3cgLm14X0FjY2Vzc2libGVCdXR0b24ud2FybmluZyB7XG4gICAgICAgICAgICBjb2xvcjogI2ZmNWI1NTtcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1hbGVydCwgI2ZmNWI1NSk7XG4gICAgICAgIH1cblxuLypcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxuQ29weXJpZ2h0IDIwMTktMjAyMyBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxuXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXG4qL1xuXG4ubXhfQ29uZmlybVNlc3Npb25Mb2NrVGhlZnRWaWV3IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gICAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO1xuICAgICAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAtd2Via2l0LWJveC1wYWNrOiBjZW50ZXI7XG4gICAgICAgIC1tcy1mbGV4LXBhY2s6IGNlbnRlcjtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuXG4ubXhfQ29uZmlybVNlc3Npb25Mb2NrVGhlZnRWaWV3X2JvZHkge1xuICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcbiAgICAtd2Via2l0LWJveC1kaXJlY3Rpb246IG5vcm1hbDtcbiAgICAgICAgLW1zLWZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIG1heC13aWR0aDogNDAwcHg7XG4gICAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbi8qXG5Db3B5cmlnaHQgMjAxOS0yMDI0IE5ldyBWZWN0b3IgTHRkLlxuQ29weXJpZ2h0IDIwMTUsIDIwMTYgT3Blbk1hcmtldCBMdGRcblxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuKi9cblxuLm14X0xvZ2luX3N1Ym1pdCB7XG4gICAgLyogYWxpZ24gaW1hZ2VzIGluIGJ1dHRvbnMgKGVnIHNwaW5uZXJzKSAqL1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgYm9yZGVyOiAwcHg7XG4gICAgYm9yZGVyLXJhZGl1czogMjRweDtcbiAgICBmb250OiB2YXIoLS1jcGQtZm9udC1ib2R5LW1kLXJlZ3VsYXIpO1xuICAgIGNvbG9yOiB3aGl0ZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jcGQtY29sb3ItYmctYWN0aW9uLXByaW1hcnktcmVzdCk7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgcGFkZGluZzogN3B4O1xuICAgIHBhZGRpbmctbGVmdDogMS41ZW07XG4gICAgcGFkZGluZy1yaWdodDogMS41ZW07XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cblxuLm14X0xvZ2luX3N1Ym1pdDpub3QoOmZvY3VzLXZpc2libGUpIHtcbiAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICB9XG5cbi5teF9Mb2dpbl9zdWJtaXQge1xuICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICBmb250LXdlaWdodDogdmFyKC0tY3BkLWZvbnQtd2VpZ2h0LXNlbWlib2xkKTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tdG9wOiAyNHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDI0cHg7XG4gICAgLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5teF9Mb2dpbl9zdWJtaXQ6ZGlzYWJsZWQge1xuICAgIG9wYWNpdHk6IDAuMztcbiAgICBjdXJzb3I6IGRlZmF1bHQ7XG59XG5cbi5teF9Mb2dpbl9sb2FkZXIge1xuICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAycHg7XG4gICAgbGVmdDogOHB4O1xufVxuXG4ubXhfTG9naW5fbG9hZGVyIC5teF9TcGlubmVyIHtcbiAgICBkaXNwbGF5OiBpbmxpbmU7XG59XG5cbi5teF9Mb2dpbl9sb2FkZXIgLm14X1NwaW5uZXIgaW1nIHtcbiAgICB3aWR0aDogMTZweDtcbiAgICBoZWlnaHQ6IDE2cHg7XG59XG5cbi5teF9Mb2dpbl9lcnJvciB7XG4gICAgY29sb3I6ICNmZjViNTU7XG4gICAgY29sb3I6IHZhcigtLWFsZXJ0LCAjZmY1YjU1KTtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgbWFyZ2luLXRvcDogMTJweDtcbiAgICBtYXJnaW4tYm90dG9tOiAxMnB4O1xufVxuXG4ubXhfTG9naW5fZXJyb3IubXhfTG9naW5fc2VydmVyRXJyb3Ige1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbn1cblxuLm14X0xvZ2luX2Vycm9yLm14X0xvZ2luX3NlcnZlckVycm9yLm14X0xvZ2luX3NlcnZlckVycm9yTm9uRmF0YWwge1xuICAgIGNvbG9yOiAjZmY4ZDEzOyAvKiBPbmx5IHVzZWQgaGVyZSAqL1xufVxuXG4ubXhfTG9naW5fdHlwZV9jb250YWluZXIge1xuICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgY29sb3I6IHZhcigtLXRpbWVsaW5lLXRleHQtY29sb3IpO1xufVxuXG4ubXhfTG9naW5fdHlwZV9jb250YWluZXIgLm14X0ZpZWxkIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgIH1cblxuLm14X0xvZ2luX3R5cGVfbGFiZWwge1xuICAgIC13ZWJraXQtYm94LWZsZXg6IDE7XG4gICAgICAgIC1tcy1mbGV4OiAxO1xuICAgICAgICAgICAgZmxleDogMTtcbn1cblxuLm14X0xvZ2luX3VuZGVybGluZWRTZXJ2ZXJOYW1lIHtcbiAgICB3aWR0aDogLXdlYmtpdC1tYXgtY29udGVudDtcbiAgICB3aWR0aDogLW1vei1tYXgtY29udGVudDtcbiAgICB3aWR0aDogbWF4LWNvbnRlbnQ7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IGRhc2hlZCAjMGRiZDhiO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBkYXNoZWQgdmFyKC0tYWNjZW50LWNvbG9yLCAjMGRiZDhiKTtcbn1cblxuZGl2Lm14X0FjY2Vzc2libGVCdXR0b25fa2luZF9saW5rLm14X0xvZ2luX2ZvcmdvdCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLXRvcDogMjRweDtcbn1cblxuZGl2Lm14X0FjY2Vzc2libGVCdXR0b25fa2luZF9saW5rLm14X0xvZ2luX2ZvcmdvdC5teF9BY2Nlc3NpYmxlQnV0dG9uX2Rpc2FibGVkIHtcbiAgICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgICB9XG5cbi5teF9Mb2dpbl9zcGlubmVyIHtcbiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIC13ZWJraXQtYm94LXBhY2s6IGNlbnRlcjtcbiAgICAgICAgLW1zLWZsZXgtcGFjazogY2VudGVyO1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgLW1zLWZsZXgtbGluZS1wYWNrOiBjZW50ZXI7XG4gICAgICAgIGFsaWduLWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBwYWRkaW5nOiAxNHB4O1xufVxuXG4ubXhfTG9naW5fZnVsbFdpZHRoQnV0dG9uIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tYm90dG9tOiAxNnB4O1xufVxuXG4vKlxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXG5Db3B5cmlnaHQgMjAxNS0yMDI0IFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXG5cblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cbiovXG5cbi5teF9Mb2dpblNwbGFzaFZpZXdfbWlncmF0aW9uUHJvZ3Jlc3Mge1xuICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcbiAgICAtd2Via2l0LWJveC1kaXJlY3Rpb246IG5vcm1hbDtcbiAgICAgICAgLW1zLWZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXG4gICAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjtcblxuICAgICAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xuXG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIC13ZWJraXQtYm94LXBhY2s6IGNlbnRlcjtcbiAgICAgICAgLW1zLWZsZXgtcGFjazogY2VudGVyO1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xufVxuXG4ubXhfTG9naW5TcGxhc2hWaWV3X21pZ3JhdGlvblByb2dyZXNzIC5teF9Qcm9ncmVzc0JhciB7XG4gICAgICAgIGhlaWdodDogOHB4O1xuICAgICAgICB3aWR0aDogNjAwcHg7XG5cbiAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4O1xuICAgIH1cblxuLm14X0xvZ2luU3BsYXNoVmlld19taWdyYXRpb25Qcm9ncmVzcyAubXhfUHJvZ3Jlc3NCYXI6Oi1tb3otcHJvZ3Jlc3MtYmFyIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4O1xuICAgIH1cblxuLm14X0xvZ2luU3BsYXNoVmlld19taWdyYXRpb25Qcm9ncmVzcyAubXhfUHJvZ3Jlc3NCYXI6Oi13ZWJraXQtcHJvZ3Jlc3MtYmFyLFxuICAgIC5teF9Mb2dpblNwbGFzaFZpZXdfbWlncmF0aW9uUHJvZ3Jlc3MgLm14X1Byb2dyZXNzQmFyOjotd2Via2l0LXByb2dyZXNzLXZhbHVlIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4O1xuICAgIH1cblxuLm14X0xvZ2luU3BsYXNoVmlld19zcGxhc2hCdXR0b25zIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogMzBweDtcbn1cblxuLm14X0xvZ2luU3BsYXNoVmlld19zeW5jRXJyb3Ige1xuICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNkZjJhOGI7IC8qIE9ubHkgdXNlZCBoZXJlICovXG4gICAgYm9yZGVyLXJhZGl1czogNXB4O1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIHBhZGRpbmc6IDMwcHg7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMTAwcHg7XG4gICAgbGVmdDogNTAlO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xufVxuXG4vKlxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXG5cblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cbiovXG5cbi5teF9Nb2JpbGVSZWdpc3Rlcl9ib2R5IHtcbiAgICBwYWRkaW5nOiAzMnB4O1xuICAgIGhlaWdodDogMTAwdmg7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICAtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xufVxuXG4vKlxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXG5Db3B5cmlnaHQgMjAyMiBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxuXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXG4qL1xuXG4ubXhfUmVnaXN0ZXJfbWFpbkNvbnRlbnQge1xuICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcbiAgICAtd2Via2l0LWJveC1kaXJlY3Rpb246IG5vcm1hbDtcbiAgICAgICAgLW1zLWZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIC13ZWJraXQtYm94LWZsZXg6IDE7XG4gICAgICAgIC1tcy1mbGV4LXBvc2l0aXZlOiAxO1xuICAgICAgICAgICAgZmxleC1ncm93OiAxO1xuICAgIG1pbi1oZWlnaHQ6IDI3MHB4O1xufVxuXG4ubXhfUmVnaXN0ZXJfbWFpbkNvbnRlbnQgcCB7XG4gICAgICAgIGZvbnQ6IHZhcigtLWNwZC1mb250LWJvZHktbWQtcmVndWxhcik7XG4gICAgICAgIGNvbG9yOiB2YXIoLS10aW1lbGluZS10ZXh0LWNvbG9yKTtcbiAgICB9XG5cbi5teF9SZWdpc3Rlcl9tYWluQ29udGVudCBwLnNlY29uZGFyeSB7XG4gICAgICAgICAgICBjb2xvcjogdmFyKC0tdGltZWxpbmUtdGV4dC1zZWNvbmRhcnktY29sb3IpO1xuICAgICAgICB9XG5cbi5teF9SZWdpc3Rlcl9tYWluQ29udGVudCA+IGltZzpmaXJzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDE2cHg7XG4gICAgICAgIHdpZHRoOiAtd2Via2l0LW1heC1jb250ZW50O1xuICAgICAgICB3aWR0aDogLW1vei1tYXgtY29udGVudDtcbiAgICAgICAgd2lkdGg6IG1heC1jb250ZW50O1xuICAgIH1cblxuLm14X1JlZ2lzdGVyX21haW5Db250ZW50IC5teF9Mb2dpbl9zdWJtaXQge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cblxuLm14X1JlZ2lzdGVyX2Zvb3RlckFjdGlvbnMge1xuICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgLXdlYmtpdC1ib3gtb3JpZW50OiBob3Jpem9udGFsO1xuICAgIC13ZWJraXQtYm94LWRpcmVjdGlvbjogbm9ybWFsO1xuICAgICAgICAtbXMtZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgLXdlYmtpdC1ib3gtcGFjazoganVzdGlmeTtcbiAgICAgICAgLW1zLWZsZXgtcGFjazoganVzdGlmeTtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBwYWRkaW5nLXRvcDogMTZweDtcbiAgICBtYXJnaW4tdG9wOiAxNnB4O1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCByZ2JhKDE0MSwgMTUxLCAxNjUsIDAuMik7XG59XG5cbi5teF9SZWdpc3Rlcl9mb290ZXJBY3Rpb25zID4gKiB7XG4gICAgICAgIC1tcy1mbGV4LXByZWZlcnJlZC1zaXplOiBjb250ZW50O1xuICAgICAgICAgICAgZmxleC1iYXNpczogY29udGVudDtcbiAgICB9XG5cbi8qXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cbkNvcHlyaWdodCAyMDIzIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXG5cblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cbiovXG5cbi5teF9TZXNzaW9uTG9ja1N0b2xlblZpZXcgaDEge1xuICAgICAgICBmb250LXdlaWdodDogdmFyKC0tY3BkLWZvbnQtd2VpZ2h0LXNlbWlib2xkKTtcbiAgICAgICAgZm9udC1zaXplOiAycmVtO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgfVxuXG4ubXhfU2Vzc2lvbkxvY2tTdG9sZW5WaWV3IGgyIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cblxuLypcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxuQ29weXJpZ2h0IDIwMjEgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cblxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuKi9cblxuLm14X1NldHVwRW5jcnlwdGlvbkJvZHlfcmVzZXQge1xuICAgIGNvbG9yOiB2YXIoLS10aW1lbGluZS10ZXh0LXNlY29uZGFyeS1jb2xvcik7XG4gICAgbWFyZ2luLXRvcDogMC44NzVyZW07XG59XG5cbi5teF9TZXR1cEVuY3J5cHRpb25Cb2R5X3Jlc2V0IC5teF9TZXR1cEVuY3J5cHRpb25Cb2R5X3Jlc2V0X2xpbmsubXhfQWNjZXNzaWJsZUJ1dHRvbl9raW5kX2xpbmtfaW5saW5lIHtcbiAgICAgICAgICAgIGNvbG9yOiAjZmY1YjU1O1xuICAgICAgICAgICAgY29sb3I6IHZhcigtLWFsZXJ0LCAjZmY1YjU1KTtcbiAgICAgICAgfVxuXG4vKlxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXG5Db3B5cmlnaHQgMjAyMSBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxuXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXG4qL1xuXG4ubXhfTWVkaWFCb2R5Lm14X0F1ZGlvUGxheWVyX2NvbnRhaW5lciB7XG4gICAgcGFkZGluZzogMTZweCAxMnB4IDEycHggMTJweDtcbn1cblxuLm14X01lZGlhQm9keS5teF9BdWRpb1BsYXllcl9jb250YWluZXIgLm14X0F1ZGlvUGxheWVyX3ByaW1hcnlDb250YWluZXIge1xuICAgICAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgICAgICAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgfVxuXG4ubXhfTWVkaWFCb2R5Lm14X0F1ZGlvUGxheWVyX2NvbnRhaW5lciAubXhfQXVkaW9QbGF5ZXJfcHJpbWFyeUNvbnRhaW5lciAubXhfUGxheVBhdXNlQnV0dG9uIHtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogOHB4O1xuICAgICAgICB9XG5cbi5teF9NZWRpYUJvZHkubXhfQXVkaW9QbGF5ZXJfY29udGFpbmVyIC5teF9BdWRpb1BsYXllcl9wcmltYXJ5Q29udGFpbmVyIC5teF9BdWRpb1BsYXllcl9tZWRpYUluZm8ge1xuICAgICAgICAgICAgLXdlYmtpdC1ib3gtZmxleDogMTtcbiAgICAgICAgICAgICAgICAtbXMtZmxleDogMTtcbiAgICAgICAgICAgICAgICAgICAgZmxleDogMTtcbiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47IC8qIG1ha2VzIHRoZSBlbGxpcHNpcyBvbiB0aGUgZmlsZSBuYW1lIHdvcmsgKi9cbiAgICAgICAgfVxuXG4ubXhfTWVkaWFCb2R5Lm14X0F1ZGlvUGxheWVyX2NvbnRhaW5lciAubXhfQXVkaW9QbGF5ZXJfcHJpbWFyeUNvbnRhaW5lciAubXhfQXVkaW9QbGF5ZXJfbWVkaWFJbmZvID4gKiB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICB9XG5cbi5teF9NZWRpYUJvZHkubXhfQXVkaW9QbGF5ZXJfY29udGFpbmVyIC5teF9BdWRpb1BsYXllcl9wcmltYXJ5Q29udGFpbmVyIC5teF9BdWRpb1BsYXllcl9tZWRpYUluZm8gLm14X0F1ZGlvUGxheWVyX21lZGlhTmFtZSB7XG4gICAgICAgICAgICAgICAgY29sb3I6IHZhcigtLXRpbWVsaW5lLXRleHQtY29sb3IpO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAwLjkzNzVyZW07XG4gICAgICAgICAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiA0cHg7IC8qIG1pbWljcyB0aGUgbGluZS1oZWlnaHQgZGlmZmVyZW5jZXMgaW4gdGhlIEZpZ21hICovXG4gICAgICAgICAgICB9XG5cbi5teF9NZWRpYUJvZHkubXhfQXVkaW9QbGF5ZXJfY29udGFpbmVyIC5teF9BdWRpb1BsYXllcl9wcmltYXJ5Q29udGFpbmVyIC5teF9BdWRpb1BsYXllcl9tZWRpYUluZm8gLm14X0F1ZGlvUGxheWVyX2J5bGluZSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAwLjc1cmVtO1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAwLjc1cmVtO1xuICAgICAgICAgICAgfVxuXG4ubXhfTWVkaWFCb2R5Lm14X0F1ZGlvUGxheWVyX2NvbnRhaW5lciAubXhfQXVkaW9QbGF5ZXJfc2VlayB7XG4gICAgICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICAgICAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB9XG5cbi5teF9NZWRpYUJvZHkubXhfQXVkaW9QbGF5ZXJfY29udGFpbmVyIC5teF9BdWRpb1BsYXllcl9zZWVrIC5teF9TZWVrQmFyIHtcbiAgICAgICAgICAgIC13ZWJraXQtYm94LWZsZXg6IDE7XG4gICAgICAgICAgICAgICAgLW1zLWZsZXg6IDE7XG4gICAgICAgICAgICAgICAgICAgIGZsZXg6IDE7XG4gICAgICAgIH1cblxuLm14X01lZGlhQm9keS5teF9BdWRpb1BsYXllcl9jb250YWluZXIgLm14X0F1ZGlvUGxheWVyX3NlZWsgLm14X0Nsb2NrIHtcbiAgICAgICAgICAgIG1pbi13aWR0aDogMi42MjVyZW07IC8qIGZvciBmbGV4Ym94ICovXG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDRweDsgLyogaXNvbGF0ZSBmcm9tIHNlZWsgYmFyICovXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBqdXN0aWZ5O1xuICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgfVxuXG4vKlxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXG5Db3B5cmlnaHQgMjAyMSBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxuXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXG4qL1xuXG4ubXhfUGxheVBhdXNlQnV0dG9uIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgd2lkdGg6IDMycHg7XG4gICAgaGVpZ2h0OiAzMnB4O1xuICAgIG1pbi13aWR0aDogMzJweDsgLyogZm9yIHdoZW4gdGhlIGJ1dHRvbiBpcyB1c2VkIGluIGEgZmxleGJveCAqL1xuICAgIG1pbi1oZWlnaHQ6IDMycHg7IC8qIGZvciB3aGVuIHRoZSBidXR0b24gaXMgdXNlZCBpbiBhIGZsZXhib3ggKi9cbiAgICBib3JkZXItcmFkaXVzOiAzMnB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMyMTI2MmM7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tc3lzdGVtLCAjMjEyNjJjKTtcbn1cblxuLm14X1BsYXlQYXVzZUJ1dHRvbjo6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOyAvKiBzaXppbmcgdmFyaWVzIGJ5IGljb24gKi9cbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2VkZjNmZjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tc2Vjb25kYXJ5LWNvbnRlbnQsICNlZGYzZmYpO1xuICAgICAgICAtd2Via2l0LW1hc2stcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgICAgICAgbWFzay1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgLXdlYmtpdC1tYXNrLXNpemU6IGNvbnRhaW47XG4gICAgICAgICAgICAgICAgbWFzay1zaXplOiBjb250YWluO1xuICAgICAgICB0b3A6IDZweDsgLyogY2VudGVyICovXG4gICAgICAgIGxlZnQ6IDZweDsgLyogY2VudGVyICovXG4gICAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgfVxuXG4ubXhfUGxheVBhdXNlQnV0dG9uLm14X1BsYXlQYXVzZUJ1dHRvbl9kaXNhYmxlZDo6YmVmb3JlIHtcbiAgICAgICAgb3BhY2l0eTogMC41O1xuICAgIH1cblxuLm14X1BsYXlQYXVzZUJ1dHRvbi5teF9QbGF5UGF1c2VCdXR0b25fcGxheTo6YmVmb3JlIHtcbiAgICAgICAgLXdlYmtpdC1tYXNrLWltYWdlOiB1cmwoXCJAdmVjdG9yLWltL2NvbXBvdW5kLWRlc2lnbi10b2tlbnMvaWNvbnMvcGxheS1zb2xpZC5zdmdcIik7XG4gICAgICAgICAgICAgICAgbWFzay1pbWFnZTogdXJsKFwiQHZlY3Rvci1pbS9jb21wb3VuZC1kZXNpZ24tdG9rZW5zL2ljb25zL3BsYXktc29saWQuc3ZnXCIpO1xuICAgIH1cblxuLm14X1BsYXlQYXVzZUJ1dHRvbi5teF9QbGF5UGF1c2VCdXR0b25fcGF1c2U6OmJlZm9yZSB7XG4gICAgICAgIC13ZWJraXQtbWFzay1pbWFnZTogdXJsKFwiQHZlY3Rvci1pbS9jb21wb3VuZC1kZXNpZ24tdG9rZW5zL2ljb25zL3BhdXNlLXNvbGlkLnN2Z1wiKTtcbiAgICAgICAgICAgICAgICBtYXNrLWltYWdlOiB1cmwoXCJAdmVjdG9yLWltL2NvbXBvdW5kLWRlc2lnbi10b2tlbnMvaWNvbnMvcGF1c2Utc29saWQuc3ZnXCIpO1xuICAgIH1cblxuLypcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxuQ29weXJpZ2h0IDIwMjEsIDIwMjIgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cblxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuKi9cblxuLyogRGV2IG5vdGU6IHRoZXJlJ3Mgbm8gYWN0dWFsIGNvbXBvbmVudCBjYWxsZWQgPFBsYXliYWNrQ29udGFpbmVyIC8+LiBUaGVzZSBjbGFzc2VzICovXG5cbi8qIGFyZSBzaGFyZWQgYW1vbmdzdCBtdWx0aXBsZSB2b2ljZSBtZXNzYWdlIGNvbXBvbmVudHMuICovXG5cbi8qIENvbnRhaW5lciBmb3IgbGl2ZSByZWNvcmRpbmcgYW5kIHBsYXliYWNrIGNvbnRyb2xzICovXG5cbi5teF9NZWRpYUJvZHkubXhfVm9pY2VNZXNzYWdlUHJpbWFyeUNvbnRhaW5lciB7XG4gICAgLyogVGhlIHdhdmVmb3JtIChyaWdodCkgaGFzIGEgMXB4IHBhZGRpbmcgb24gaXQgdGhhdCB3ZSB3YW50IHRvIGFjY291bnQgZm9yLCBvdGhlcndpc2UgKi9cbiAgICAvKiBpbmhlcml0IGZyb20gbXhfTWVkaWFCb2R5ICovXG4gICAgcGFkZGluZy1yaWdodDogMTFweDtcblxuICAgIC8qIENoZWF0IGF0IGFsaWdubWVudCBhIGJpdCAqL1xuICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgICBjb250YWluOiBjb250ZW50O1xufVxuXG4ubXhfTWVkaWFCb2R5Lm14X1ZvaWNlTWVzc2FnZVByaW1hcnlDb250YWluZXIgLm14X1dhdmVmb3JtLFxuICAgIC5teF9NZWRpYUJvZHkubXhfVm9pY2VNZXNzYWdlUHJpbWFyeUNvbnRhaW5lciAubXhfUmVjb3JkaW5nUGxheWJhY2tfdGltZWxpbmVMYXlvdXRNaWRkbGUge1xuICAgICAgICBtaW4td2lkdGg6IDA7IC8qIFByZXZlbnQgYSBibG93b3V0ICovXG4gICAgfVxuXG4vKiBXYXZlZm9ybXMgYXJlIHByZXNlbnQgaW4gbGl2ZSByZWNvcmRpbmcgb25seSAqL1xuXG4ubXhfTWVkaWFCb2R5Lm14X1ZvaWNlTWVzc2FnZVByaW1hcnlDb250YWluZXIgLm14X1dhdmVmb3JtIHtcbiAgICAgICAgLyogZGVmYXVsdCwgb3ZlcnJpZGRlbiBpbiBKUyAqL1xuICAgICAgICAtLWJhckhlaWdodDogMTtcbiAgICB9XG5cbi5teF9NZWRpYUJvZHkubXhfVm9pY2VNZXNzYWdlUHJpbWFyeUNvbnRhaW5lciAubXhfV2F2ZWZvcm0gLm14X1dhdmVmb3JtX2JhciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNmY3ODgyO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcXVhdGVybmFyeS1jb250ZW50LCAjNmY3ODgyKTtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZVkobWF4KDAuMDUsIHZhcigtLWJhckhlaWdodCkpKTtcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZVkobWF4KDAuMDUsIHZhcigtLWJhckhlaWdodCkpKTtcbiAgICAgICAgfVxuXG4ubXhfTWVkaWFCb2R5Lm14X1ZvaWNlTWVzc2FnZVByaW1hcnlDb250YWluZXIgLm14X1dhdmVmb3JtIC5teF9XYXZlZm9ybV9iYXIubXhfV2F2ZWZvcm1fYmFyXzEwMHBjdCB7XG4gICAgICAgICAgICAgICAgLyogU21hbGwgYW5pbWF0aW9uIHRvIHJlbW92ZSB0aGUgbWVjaGFuaWNhbCBmZWVsIG9mIHByb2dyZXNzICovXG4gICAgICAgICAgICAgICAgLXdlYmtpdC10cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDI1MG1zIGVhc2U7XG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAyNTBtcyBlYXNlO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNlZGYzZmY7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tc2Vjb25kYXJ5LWNvbnRlbnQsICNlZGYzZmYpO1xuICAgICAgICAgICAgfVxuXG4ubXhfTWVkaWFCb2R5Lm14X1ZvaWNlTWVzc2FnZVByaW1hcnlDb250YWluZXIgLm14X0Nsb2NrIHtcbiAgICAgICAgd2lkdGg6IDIuNjI1cmVtOyAvKiB3ZSdyZSBub3QgdXNpbmcgYSBtb25vc3BhY2UgZm9udCwgc28gZmFrZSBpdCAqL1xuICAgICAgICBtaW4td2lkdGg6IDIuNjI1cmVtOyAvKiBmb3JjZSBzZW5zaWJsZSBsYXlvdXRzIGluIGF3a3dhcmQgZmxleGJveGVzIChmaWxlIHBhbmVsLCBmb3IgZXhhbXBsZSkgKi9cbiAgICAgICAgcGFkZGluZy1yaWdodDogNnB4OyAvKiB3aXRoIHRoZSBmaXhlZCB3aWR0aCB0aGlzIGVuZHMgdXAgYXMgYSB2aXN1YWwgOHB4IG1vc3Qgb2YgdGhlIHRpbWUsIGFzIGludGVuZGVkLiAqL1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDhweDsgLyogaXNvbGF0ZSBmcm9tIHJlY29yZGluZyBjaXJjbGUgLyBwbGF5IGNvbnRyb2wgKi9cbiAgICB9XG5cbi5teF9NZWRpYUJvZHkubXhfVm9pY2VNZXNzYWdlUHJpbWFyeUNvbnRhaW5lciAubXhfUmVjb3JkaW5nUGxheWJhY2tfdGltZWxpbmVMYXlvdXRNaWRkbGUge1xuICAgICAgICBtYXJnaW4tbGVmdDogOHB4O1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDZweDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIC13ZWJraXQtYm94LWZsZXg6IDE7XG4gICAgICAgICAgICAtbXMtZmxleDogMTtcbiAgICAgICAgICAgICAgICBmbGV4OiAxO1xuICAgICAgICBoZWlnaHQ6IDMwcHg7XG4gICAgfVxuXG4vKiBzYW1lIGhlaWdodCBhcyBteF9XYXZlZm9ybSwgbmVlZGVkIGZvciBhdXRvbWF0aWMgdmVydGljYWwgY2VudGVyaW5nICovXG5cbi5teF9NZWRpYUJvZHkubXhfVm9pY2VNZXNzYWdlUHJpbWFyeUNvbnRhaW5lciAubXhfUmVjb3JkaW5nUGxheWJhY2tfdGltZWxpbmVMYXlvdXRNaWRkbGUgLm14X1dhdmVmb3JtIHtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgIH1cblxuLm14X01lZGlhQm9keS5teF9Wb2ljZU1lc3NhZ2VQcmltYXJ5Q29udGFpbmVyIC5teF9SZWNvcmRpbmdQbGF5YmFja190aW1lbGluZUxheW91dE1pZGRsZSAubXhfU2Vla0JhciB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgaGVpZ2h0OiAzMHB4O1xuICAgICAgICAgICAgdG9wOiAtMnB4OyAvKiB2aXN1YWxseSB2ZXJ0aWNhbGx5IGNlbnRlcmVkICovXG5cbiAgICAgICAgICAgIC8qIEhpZGUgdGhlIGhhaXJsaW5lIHByb2dyZXNzIGJhciBzaW5jZSB3ZSdyZSBhdCAxMDAlIGhlaWdodC4gTmVlZCB0byBoYXZlIGRpc3RpbmN0IHJ1bGVzICovXG4gICAgICAgICAgICAvKiBiZWNhdXNlIENTUyBpcyB3ZWlyZC4gKi9cbiAgICAgICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG5cbiAgICAgICAgICAgIC8qIE1ha2UgdGhlIHRodW1iIGVhc2llciB0byBzZWUuIExpa2UgdGhlIFNlZWtCYXIgb3JpZ2luYWwgc3R5bGVzLCB0aGVzZSBuZWVkIHRvIGJlICovXG4gICAgICAgICAgICAvKiBkaXN0aW5jdC4gV2UgbWFrZSBpdCB0cmFuc3BhcmVudCBzbyBpdCBkb2Vzbid0IHNob3cgdXAgb24gdGhlIFVJLCBidXQgYWxzbyBsYXJnZXIgKi9cbiAgICAgICAgfVxuXG4ubXhfTWVkaWFCb2R5Lm14X1ZvaWNlTWVzc2FnZVByaW1hcnlDb250YWluZXIgLm14X1JlY29yZGluZ1BsYXliYWNrX3RpbWVsaW5lTGF5b3V0TWlkZGxlIC5teF9TZWVrQmFyOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICAgICAgICB9XG5cbi5teF9NZWRpYUJvZHkubXhfVm9pY2VNZXNzYWdlUHJpbWFyeUNvbnRhaW5lciAubXhfUmVjb3JkaW5nUGxheWJhY2tfdGltZWxpbmVMYXlvdXRNaWRkbGUgLm14X1NlZWtCYXI6Oi1tb3otcmFuZ2UtcHJvZ3Jlc3Mge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICAgICAgICB9XG5cbi8qIG1vdmUgYW5kIGRyYWcgdGhlIHRodW1iIHJlZ2FyZGxlc3Mgb2YgaGl0dGluZyB0aGUgdGh1bWIsIGhvd2V2ZXIuICovXG5cbi5teF9NZWRpYUJvZHkubXhfVm9pY2VNZXNzYWdlUHJpbWFyeUNvbnRhaW5lciAubXhfUmVjb3JkaW5nUGxheWJhY2tfdGltZWxpbmVMYXlvdXRNaWRkbGUgLm14X1NlZWtCYXI6Oi13ZWJraXQtc2xpZGVyLXRodW1iIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTBweDtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwcHg7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICB9XG5cbi8qIHNvIGl0J3MgZWFzaWVyIHRvIGdyYWIgYnkgbW91c2UgdXNlcnMgaW4gc29tZSBicm93c2Vycy4gTW9zdCBicm93c2VycyBsZXQgdGhlIHVzZXIgKi9cblxuLm14X01lZGlhQm9keS5teF9Wb2ljZU1lc3NhZ2VQcmltYXJ5Q29udGFpbmVyIC5teF9SZWNvcmRpbmdQbGF5YmFja190aW1lbGluZUxheW91dE1pZGRsZSAubXhfU2Vla0Jhcjo6LW1vei1yYW5nZS10aHVtYiB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwcHg7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxMHB4O1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgfVxuXG4vKiBGb3IgdGltZWxpbmUtcmVuZGVyZWQgcGxheWJhY2ssIHRoZSBjbG9jayBpcyBvbiB0aGUgb3RoZXIgc2lkZSBvZiB0aGUgd2F2ZWZvcm0uICovXG5cbi5teF9NZWRpYUJvZHkubXhfVm9pY2VNZXNzYWdlUHJpbWFyeUNvbnRhaW5lciAubXhfUmVjb3JkaW5nUGxheWJhY2tfdGltZWxpbmVMYXlvdXRNaWRkbGUgKyAubXhfQ2xvY2sge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG5cbiAgICAgICAgICAgIC8qIFRha2UgdGhlIHBhZGRpbmcgb2ZmIHRoZSBjbG9jayBiZWNhdXNlIGl0J3MgYWNjb3VudGVkIGZvciBieSB0aGUgYHRpbWVsaW5lTGF5b3V0TWlkZGxlYCAqL1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgfVxuXG4vKlxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXG5Db3B5cmlnaHQgMjAyMSBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxuXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXG4qL1xuXG4vKiBDU1MgaW5zcGlyYXRpb24gZnJvbTogKi9cblxuLyogKiBodHRwczovL3d3dy53M3NjaG9vbHMuY29tL2hvd3RvL2hvd3RvX2pzX3Jhbmdlc2xpZGVyLmFzcCAqL1xuXG4vKiAqIGh0dHBzOi8vc3RhY2tvdmVyZmxvdy5jb20vYS8yODI4MzgwNiAqL1xuXG4vKiAqIGh0dHBzOi8vY3NzLXRyaWNrcy5jb20vc3R5bGluZy1jcm9zcy1icm93c2VyLWNvbXBhdGlibGUtcmFuZ2UtaW5wdXRzLWNzcy8gKi9cblxuLm14X1NlZWtCYXIge1xuICAgIC8qIGRlZmF1bHQsIG92ZXJyaWRkZW4gaW4gSlMgKi9cbiAgICAtLWZpbGxUbzogMTtcblxuICAgIC8qIERldiBub3RlOiB3ZSBkZWxpYmVyYXRlbHkgZG8gbm90IGhhdmUgdGhlIC1tcy10cmFjayAoYW5kIGZyaWVuZHMpIHNlbGVjdG9ycyBiZWNhdXNlIHdlIGRvbid0ICovXG4gICAgLyogbmVlZCB0byBzdXBwb3J0IElFLiAqL1xuXG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuXG4gICAgICAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xuXG4gICAgICAgICAgICBhcHBlYXJhbmNlOiBub25lOyAvKiBkZWZhdWx0IHN0eWxlIG92ZXJyaWRlICovXG5cbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDFweDtcbiAgICBiYWNrZ3JvdW5kOiAjNmY3ODgyO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLXF1YXRlcm5hcnktY29udGVudCwgIzZmNzg4Mik7XG4gICAgb3V0bGluZTogbm9uZTsgLyogcmVtb3ZlIGJsdWUgc2VsZWN0aW9uIGJvcmRlciAqL1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgLyogZm9yIGJlZm9yZSthZnRlciBwc2V1ZG8gZWxlbWVudHMgbGF0ZXIgb24gKi9cblxuICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgIC8qIFRoaXMgaXMgZm9yIHdlYmtpdCBzdXBwb3J0LCBidXQgd2UgY2FuJ3QgbGltaXQgdGhlIGZ1bmN0aW9uYWxpdHkgb2YgaXQgdG8ganVzdCB3ZWJraXQgKi9cbiAgICAvKiBicm93c2Vycy4gRmlyZWZveCByZXNwb25kcyB0byB3ZWJraXQtcHJlZml4ZWQgdmFsdWVzIG5vdywgd2hpY2ggbWVhbnMgd2UgY2FuJ3QgdXNlIG1lZGlhICovXG5cbiAgICAvKiBJbmNyZWFzZSBjbGlja2FibGUgYXJlYSBmb3IgdGhlIHNsaWRlciAoYXBwcm94aW1hdGVseSBzYW1lIHNpemUgYXMgYnJvd3NlciBkZWZhdWx0KSAqL1xuICAgIC8qIFdlIGRvIGl0IHRoaXMgd2F5IHRvIGtlZXAgdGhlIHNhbWUgcGFkZGluZyBhbmQgbWFyZ2lucyBvZiB0aGUgZWxlbWVudCwgYXZvaWRpbmcgbWFyZ2luIG1hdGguICovXG59XG5cbi5teF9TZWVrQmFyOjotd2Via2l0LXNsaWRlci10aHVtYiB7XG4gICAgICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICAgICAgICAgICAgICBhcHBlYXJhbmNlOiBub25lOyAvKiBkZWZhdWx0IHN0eWxlIG92ZXJyaWRlICovXG5cbiAgICAgICAgLyogRGV2IG5vdGU6IFRoaXMgbmVlZHMgdG8gYmUgZHVwbGljYXRlZCB3aXRoIHRoZSAtbW96LXJhbmdlLXRodW1iIHNlbGVjdG9yICovXG4gICAgICAgIC8qIGJlY2F1c2Ugb3RoZXJ3aXNlIEVkZ2UgKHdlYmtpdCkgd2lsbCBmYWlsIHRvIHNlZSB0aGUgc3R5bGVzIGFuZCBqdXN0IHJlZnVzZSAqL1xuICAgICAgICAvKiB0byBhcHBseSB0aGVtLiAqL1xuICAgICAgICB3aWR0aDogOHB4O1xuICAgICAgICBoZWlnaHQ6IDhweDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWRmM2ZmO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS10ZXJ0aWFyeS1jb250ZW50LCAjZWRmM2ZmKTtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIH1cblxuLm14X1NlZWtCYXI6Oi1tb3otcmFuZ2UtdGh1bWIge1xuICAgICAgICB3aWR0aDogOHB4O1xuICAgICAgICBoZWlnaHQ6IDhweDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWRmM2ZmO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS10ZXJ0aWFyeS1jb250ZW50LCAjZWRmM2ZmKTtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgICAgIC8qIEZpcmVmb3ggYWRkcyBhIGJvcmRlciBvbiB0aGUgdGh1bWIgKi9cbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgIH1cblxuLyogaW4gZmlyZWZveCwgc28gaXQncyBqdXN0IHdhc3RlZCBDUFUvR1BVIHRpbWUuICovXG5cbi5teF9TZWVrQmFyOjpiZWZvcmUge1xuICAgICAgICAvKiA6OmJlZm9yZSB0byBlbnN1cmUgaXQgZW5kcyB1cCB1bmRlciB0aGUgdGh1bWIgKi9cbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2VkZjNmZjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdGVydGlhcnktY29udGVudCwgI2VkZjNmZik7XG5cbiAgICAgICAgLyogQWJzb2x1dGUgcG9zaXRpb25pbmcgdG8gZW5zdXJlIGl0IG92ZXJsYXBzIHdpdGggdGhlIGV4aXN0aW5nIGJhciAqL1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogMDtcblxuICAgICAgICAvKiBTaXppbmcgdG8gbWF0Y2ggdGhlIGJhciAqL1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxcHg7XG5cbiAgICAgICAgLyogQW5kIGZpbmFsbHkgZHluYW1pYyB3aWR0aCB3aXRob3V0IG92ZXJseSBodXJ0aW5nIHRoZSByZW5kZXJpbmcgZW5naW5lLiAqL1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IDAgMTAwJTtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiAwIDEwMCU7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZVgodmFyKC0tZmlsbFRvKSk7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZVgodmFyKC0tZmlsbFRvKSk7XG4gICAgfVxuXG4vKiBUaGlzIGlzIGZpcmVmb3gncyBidWlsdC1pbiBzdXBwb3J0IGZvciB0aGUgYWJvdmUsIHdpdGggMTAwJSBsZXNzIGhhY2tzLiAqL1xuXG4ubXhfU2Vla0Jhcjo6LW1vei1yYW5nZS1wcm9ncmVzcyB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNlZGYzZmY7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXRlcnRpYXJ5LWNvbnRlbnQsICNlZGYzZmYpO1xuICAgICAgICBoZWlnaHQ6IDFweDtcbiAgICB9XG5cbi8qIG9yIHN1cHBvcnQgcXVlcmllcyB0byBzZWxlY3RpdmVseSBhcHBseSB0aGUgcnVsZS4gQW4gdXBzaWRlIGlzIHRoYXQgdGhpcyBDU1MgZG9lc24ndCB3b3JrICovXG5cbi5teF9TZWVrQmFyOmRpc2FibGVkIHtcbiAgICAgICAgb3BhY2l0eTogMC41O1xuICAgIH1cblxuLyogU291cmNlOiBodHRwczovL2Zyb250LWJhY2suY29tL2V4cGFuZC1jbGlja2FibGUtYXJlYXMtZm9yLWEtYmV0dGVyLXRvdWNoLWV4cGVyaWVuY2UvICovXG5cbi5teF9TZWVrQmFyOjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAtNnB4O1xuICAgICAgICBib3R0b206IC02cHg7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgIH1cblxuLypcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxuQ29weXJpZ2h0IDIwMjEgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cblxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuKi9cblxuLm14X1dhdmVmb3JtIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgaGVpZ2h0OiAzMHB4OyAvKiB0YWxsZXN0IGJhciBjYW4gb25seSBiZSAzMHB4ICovXG4gICAgdG9wOiAxcHg7IC8qIGJlY2F1c2Ugb2Ygb3VyIGJvcmRlciB0cmljayAoc2VlIGJlbG93KSwgd2UncmUgb2ZmIGJ5IDFweCBvZiBhbGlnbnRtZW50ICovXG5cbiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcblxuICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuXG4gICAgZGlzcGxheTogZmxleDtcbiAgICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO1xuICAgICAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgLyogc28gdGhlIGJhcnMgZ3JvdyBmcm9tIHRoZSBtaWRkbGUgKi9cblxuICAgIG92ZXJmbG93OiBoaWRkZW47IC8qIHRoaXMgaXMgY2hlYXBlciB0aGFuIGEgYG1heC1oZWlnaHQ6IGNhbGMoMTAwJSAtIDRweClgIGluIHRoZSBiYXIncyBDU1MuICovXG5cbiAgICAvKiBBIGJhciBpcyBtZWFudCB0byBiZSBhIDJ4MiBjaXJjbGUgd2hlbiBhdCB6ZXJvIGhlaWdodCwgYW5kIG90aGVyd2lzZSBhIDJweCB3aWRlIGxpbmUgKi9cbn1cblxuLyogd2l0aCByb3VuZGVkIGNhcHMuICovXG5cbi5teF9XYXZlZm9ybSAubXhfV2F2ZWZvcm1fYmFyIHtcbiAgICAgICAgd2lkdGg6IDA7IC8qIDBweCB3aWR0aCBtZWFucyB3ZSdsbCBlbmQgdXAgdXNpbmcgdGhlIGJvcmRlciBhcyBvdXIgd2lkdGggKi9cbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7IC8qIHRyYW5zcGFyZW50IG1lYW5zIHdlJ2xsIHVzZSB0aGUgYmFja2dyb3VuZCBjb2xvdXIgKi9cbiAgICAgICAgYm9yZGVyLXJhZGl1czogMnB4OyAvKiByb3VuZGVkIGVuZCBjYXBzLCBiYXNlZCBvbiB0aGUgYm9yZGVyICovXG4gICAgICAgIG1pbi1oZWlnaHQ6IDA7IC8qIGxpa2UgdGhlIHdpZHRoLCB3ZSdsbCByZWx5IG9uIHRoZSBib3JkZXIgdG8gZ2l2ZSB1cyBoZWlnaHQgKi9cbiAgICAgICAgbWF4LWhlaWdodDogMTAwJTsgLyogdGhpcyBtYWtlcyB0aGUgYGhlaWdodDogNDIlYCB3b3JrIG9uIHRoZSBlbGVtZW50ICovXG4gICAgICAgIG1hcmdpbi1sZWZ0OiAxcHg7IC8qIHdlIHdhbnQgMnB4IGJldHdlZW4gZWFjaCBiYXIsIHNvIDFweCBvbiBlaXRoZXIgc2lkZSBmb3IgYmFsYW5jZSAqL1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDFweDtcblxuICAgICAgICAvKiBiYWNrZ3JvdW5kIGNvbG9yIGlzIGhhbmRsZWQgYnkgdGhlIHBhcmVudCBjb21wb25lbnRzICovXG4gICAgfVxuXG4vKlxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXG5Db3B5cmlnaHQgMjAyMCBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxuQ29weXJpZ2h0IDIwMTkgTmV3IFZlY3RvciBMdGRcblxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuKi9cblxuLm14X0F1dGhCb2R5IHtcbiAgICB3aWR0aDogNTAwcHg7XG4gICAgZm9udC1zaXplOiAwLjc1cmVtO1xuICAgIGNvbG9yOiB2YXIoLS10aW1lbGluZS10ZXh0LXNlY29uZGFyeS1jb2xvcik7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdGltZWxpbmUtYmFja2dyb3VuZC1jb2xvcik7XG4gICAgYm9yZGVyLXJhZGl1czogMCA0cHggNHB4IDA7XG4gICAgcGFkZGluZzogMjVweCA2MHB4O1xuICAgIC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG5cbi5teF9BdXRoQm9keSBzdHJvbmcge1xuICAgICAgICBmb250LXdlaWdodDogdmFyKC0tY3BkLWZvbnQtd2VpZ2h0LXNlbWlib2xkKTtcbiAgICB9XG5cbi5teF9BdXRoQm9keS5teF9BdXRoQm9keV9mbGV4IHtcbiAgICAgICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gICAgICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xuICAgICAgICAtd2Via2l0LWJveC1kaXJlY3Rpb246IG5vcm1hbDtcbiAgICAgICAgICAgIC1tcy1mbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgfVxuXG4ubXhfQXV0aEJvZHkgaDEge1xuICAgICAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLWNwZC1mb250LXdlaWdodC1zZW1pYm9sZCk7XG4gICAgICAgIG1hcmdpbi10b3A6IDhweDtcbiAgICAgICAgY29sb3I6IHZhcigtLXRpbWVsaW5lLXRleHQtY29sb3IpO1xuICAgIH1cblxuLm14X0F1dGhCb2R5IGgyIHtcbiAgICAgICAgZm9udDogdmFyKC0tY3BkLWZvbnQtYm9keS1tZC1zZW1pYm9sZCk7XG4gICAgICAgIGNvbG9yOiB2YXIoLS10aW1lbGluZS10ZXh0LXNlY29uZGFyeS1jb2xvcik7XG4gICAgfVxuXG4ubXhfQXV0aEJvZHkgaDIubXhfQXV0aEJvZHlfY2VudGVyZWQge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgfVxuXG4ubXhfQXV0aEJvZHkgYTpsaW5rLFxuICAgIC5teF9BdXRoQm9keSBhOmhvdmVyLFxuICAgIC5teF9BdXRoQm9keSBhOnZpc2l0ZWQge1xuICAgICAgICBjb2xvcjogIzBkYmQ4YjtcbiAgICAgICAgY29sb3I6IHZhcigtLWFjY2VudC1jb2xvciwgIzBkYmQ4Yik7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB9XG5cbi5teF9BdXRoQm9keSBmaWVsZHNldCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxuLm14X0F1dGhCb2R5IC5teF9BdXRoQm9keV9pY29uIHtcbiAgICAgICAgd2lkdGg6IDQ0cHg7XG4gICAgICAgIGhlaWdodDogNDRweDtcbiAgICB9XG5cbi5teF9BdXRoQm9keSAubXhfQXV0aEJvZHlfbG9ja0ljb24ge1xuICAgICAgICBjb2xvcjogI2VkZjNmZjtcbiAgICAgICAgY29sb3I6IHZhcigtLXNlY29uZGFyeS1jb250ZW50LCAjZWRmM2ZmKTtcbiAgICAgICAgaGVpZ2h0OiAzMnB4O1xuICAgICAgICB3aWR0aDogMzJweDtcbiAgICB9XG5cbi5teF9BdXRoQm9keSAubXhfQXV0aEJvZHlfdGV4dCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDQ4cHg7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgfVxuXG4ubXhfQXV0aEJvZHkgaW5wdXRbdHlwZT1cInRleHRcIl0sXG4gICAgLm14X0F1dGhCb2R5IGlucHV0W3R5cGU9XCJwYXNzd29yZFwiXSB7XG4gICAgICAgIGNvbG9yOiB2YXIoLS10aW1lbGluZS10ZXh0LWNvbG9yKTtcbiAgICB9XG5cbi5teF9BdXRoQm9keSAubXhfRmllbGQgbGFiZWwge1xuICAgICAgICBjb2xvcjogdmFyKC0tdGltZWxpbmUtdGV4dC1zZWNvbmRhcnktY29sb3IpO1xuICAgIH1cblxuLm14X0F1dGhCb2R5IC5teF9GaWVsZCBpbnB1dCxcbiAgICAubXhfQXV0aEJvZHkgLm14X0ZpZWxkIHNlbGVjdCB7XG4gICAgICAgIGNvbG9yOiB2YXIoLS10aW1lbGluZS10ZXh0LWNvbG9yKTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdGltZWxpbmUtYmFja2dyb3VuZC1jb2xvcik7XG4gICAgfVxuXG4ubXhfQXV0aEJvZHkgLm14X0ZpZWxkIGlucHV0Om5vdCg6LW1vei1wbGFjZWhvbGRlci1zaG93bikgKyBsYWJlbCwgLm14X0F1dGhCb2R5IC5teF9GaWVsZCB0ZXh0YXJlYTpub3QoOi1tb3otcGxhY2Vob2xkZXItc2hvd24pICsgbGFiZWwge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS10aW1lbGluZS1iYWNrZ3JvdW5kLWNvbG9yKTtcbiAgICB9XG5cbi5teF9BdXRoQm9keSAubXhfRmllbGQgaW5wdXQ6bm90KDotbXMtaW5wdXQtcGxhY2Vob2xkZXIpICsgbGFiZWwsIC5teF9BdXRoQm9keSAubXhfRmllbGQgdGV4dGFyZWE6bm90KDotbXMtaW5wdXQtcGxhY2Vob2xkZXIpICsgbGFiZWwge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS10aW1lbGluZS1iYWNrZ3JvdW5kLWNvbG9yKTtcbiAgICB9XG5cbi5teF9BdXRoQm9keSAubXhfRmllbGRfbGFiZWxBbHdheXNUb3BMZWZ0IGxhYmVsLFxuICAgIC5teF9BdXRoQm9keSAubXhfRmllbGQgc2VsZWN0ICsgbGFiZWwsXG4gICAgLm14X0F1dGhCb2R5IC5teF9GaWVsZCBpbnB1dDpmb2N1cyArIGxhYmVsLFxuICAgIC5teF9BdXRoQm9keSAubXhfRmllbGQgaW5wdXQ6bm90KDpwbGFjZWhvbGRlci1zaG93bikgKyBsYWJlbCxcbiAgICAubXhfQXV0aEJvZHkgLm14X0ZpZWxkIHRleHRhcmVhOmZvY3VzICsgbGFiZWwsXG4gICAgLm14X0F1dGhCb2R5IC5teF9GaWVsZCB0ZXh0YXJlYTpub3QoOnBsYWNlaG9sZGVyLXNob3duKSArIGxhYmVsIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdGltZWxpbmUtYmFja2dyb3VuZC1jb2xvcik7XG4gICAgfVxuXG4ubXhfQXV0aEJvZHkgaW5wdXQuZXJyb3Ige1xuICAgICAgICBjb2xvcjogI2ZmNWI1NTtcbiAgICAgICAgY29sb3I6IHZhcigtLWFsZXJ0LCAjZmY1YjU1KTtcbiAgICB9XG5cbi5teF9BdXRoQm9keSAubXhfTG9naW5fc3VibWl0IHtcbiAgICAgICAgaGVpZ2h0OiAzMnB4O1xuICAgICAgICBtYXJnaW4tdG9wOiAxNnB4O1xuICAgIH1cblxuLm14X0F1dGhCb2R5IC5teF9FcnJvck1lc3NhZ2Uge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxMnB4O1xuICAgICAgICBtYXJnaW4tdG9wOiAycHg7XG4gICAgfVxuXG4ubXhfQXV0aEJvZHkgLm14X0ZpZWxkIGlucHV0IHtcbiAgICAgICAgLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgfVxuXG4ubXhfQXV0aEJvZHkgLm14X0ZpZWxkX3NlbGVjdDo6YmVmb3JlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdGltZWxpbmUtdGV4dC1jb2xvcik7XG4gICAgfVxuXG4ubXhfQXV0aEJvZHkgLm14X0Ryb3Bkb3duIHtcbiAgICAgICAgY29sb3I6IHZhcigtLXRpbWVsaW5lLXRleHQtY29sb3IpO1xuICAgIH1cblxuLm14X0F1dGhCb2R5IC5teF9Ecm9wZG93bl9hcnJvdyB7XG4gICAgICAgIGJhY2tncm91bmQ6IHZhcigtLXRpbWVsaW5lLXRleHQtY29sb3IpO1xuICAgIH1cblxuLm14X0F1dGhCb2R5IC5teF9Ecm9wZG93bl9tZW51IHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdGltZWxpbmUtYmFja2dyb3VuZC1jb2xvcik7XG4gICAgfVxuXG4ubXhfQXV0aEJvZHkgLm14X0Ryb3Bkb3duX21lbnUgLm14X0Ryb3Bkb3duX29wdGlvbl9oaWdobGlnaHQge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2RkZGRkZDtcbiAgICAgICAgfVxuXG4vKiBzcGVjaWFsaXNhdGlvbiBmb3IgcGFzc3dvcmQgcmVzZXQgdmlld3MgKi9cblxuLm14X0F1dGhCb2R5Lm14X0F1dGhCb2R5X2ZvcmdvdC1wYXNzd29yZCB7XG4gICAgZm9udDogdmFyKC0tY3BkLWZvbnQtYm9keS1tZC1yZWd1bGFyKTtcbiAgICBjb2xvcjogdmFyKC0tdGltZWxpbmUtdGV4dC1jb2xvcik7XG4gICAgcGFkZGluZzogNTBweCAzMnB4O1xuICAgIG1pbi1oZWlnaHQ6IDYwMHB4O1xufVxuXG4ubXhfQXV0aEJvZHkubXhfQXV0aEJvZHlfZm9yZ290LXBhc3N3b3JkIGgxIHtcbiAgICAgICAgbWFyZ2luOiAyNHB4IDA7XG4gICAgfVxuXG4ubXhfQXV0aEJvZHkubXhfQXV0aEJvZHlfZm9yZ290LXBhc3N3b3JkIC5teF9BdXRoQm9keV9idXR0b24tY29udGFpbmVyIHtcbiAgICAgICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gICAgICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAtd2Via2l0LWJveC1wYWNrOiBjZW50ZXI7XG4gICAgICAgICAgICAtbXMtZmxleC1wYWNrOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgfVxuXG4ubXhfQXV0aEJvZHkubXhfQXV0aEJvZHlfZm9yZ290LXBhc3N3b3JkIC5teF9Mb2dpbl9zdWJtaXQge1xuICAgICAgICBmb250LXdlaWdodDogdmFyKC0tY3BkLWZvbnQtd2VpZ2h0LXNlbWlib2xkKTtcbiAgICAgICAgbWFyZ2luOiAwIDAgMTZweDtcbiAgICB9XG5cbi5teF9BdXRoQm9keS5teF9BdXRoQm9keV9mb3Jnb3QtcGFzc3dvcmQgLm14X0F1dGhCb2R5X3RleHQge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAzMnB4O1xuICAgIH1cblxuLm14X0F1dGhCb2R5Lm14X0F1dGhCb2R5X2ZvcmdvdC1wYXNzd29yZCAubXhfQXV0aEJvZHlfdGV4dCBwIHtcbiAgICAgICAgICAgIG1hcmdpbjogMCAwIDhweDtcbiAgICAgICAgfVxuXG4ubXhfQXV0aEJvZHkubXhfQXV0aEJvZHlfZm9yZ290LXBhc3N3b3JkIC5teF9BdXRoQm9keV9zaWduLWluLWluc3RlYWQtYnV0dG9uIHtcbiAgICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLWNwZC1mb250LXdlaWdodC1zZW1pYm9sZCk7XG4gICAgICAgIHBhZGRpbmc6IDRweDtcbiAgICB9XG5cbi5teF9BdXRoQm9keS5teF9BdXRoQm9keV9mb3Jnb3QtcGFzc3dvcmQgLm14X0F1dGhCb2R5X2ZpZWxkUm93IHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjRweDtcbiAgICB9XG5cbi5teF9BdXRoQm9keS5teF9BdXRoQm9keV9mb3Jnb3QtcGFzc3dvcmQgLm14X0FjY2Vzc2libGVCdXR0b24ubXhfQWNjZXNzaWJsZUJ1dHRvbl9oYXNLaW5kIHtcbiAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICB9XG5cbi5teF9BdXRoQm9keS5teF9BdXRoQm9keV9mb3Jnb3QtcGFzc3dvcmQgLm14X0FjY2Vzc2libGVCdXR0b24ubXhfQWNjZXNzaWJsZUJ1dHRvbl9oYXNLaW5kOmRpc2FibGVkIHtcbiAgICAgICAgICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICAgICAgICAgIG9wYWNpdHk6IDAuNDtcbiAgICAgICAgfVxuXG4ubXhfQXV0aEJvZHlfZGlkLW5vdC1yZWNlaXZlIHtcbiAgICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO1xuICAgICAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBjb2xvcjogI2VkZjNmZjtcbiAgICBjb2xvcjogdmFyKC0tc2Vjb25kYXJ5LWNvbnRlbnQsICNlZGYzZmYpO1xuICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZ2FwOiA4cHg7XG59XG5cbi5teF9BdXRoQm9keV9yZXNlbmQtYnV0dG9uIHtcbiAgICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO1xuICAgICAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgY29sb3I6ICMwZGJkOGI7XG4gICAgY29sb3I6IHZhcigtLWFjY2VudC1jb2xvciwgIzBkYmQ4Yik7XG4gICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gICAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBnYXA6IDRweDtcbiAgICBwYWRkaW5nOiA0cHg7XG59XG5cbi5teF9BdXRoQm9keV9yZXNlbmQtYnV0dG9uOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzIxMjYyYztcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tc3lzdGVtLCAjMjEyNjJjKTtcbiAgICB9XG5cbi5teF9BdXRoQm9keV9lbWFpbFByb21wdEljb24ge1xuICAgIHdpZHRoOiA1N3B4O1xufVxuXG4ubXhfQXV0aEJvZHlfZW1haWxQcm9tcHRJY29uLS1zaGlmdGVkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAtMTdweDsgLyogUHJldmVudCBsYXlvdXQganVtcCBieSByZWxhdGl2ZSBwb3NpdGlvbmluZy4gKi9cbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAtMTdweDsgLyogVGhpcyBpY29uIGlzIGhpZ2hlciB0aGFuIHRoZSBvdGhlciBpY29ucy4gU2hpZnQgdXAgdG8gcHJldmVudCBpY29uIGp1bXBpbmcuICovXG4gICAgd2lkdGg6IDU3cHg7XG59XG5cbi5teF9BdXRoQm9keV9maWVsZFJvdyB7XG4gICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gICAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xufVxuXG4ubXhfQXV0aEJvZHlfZmllbGRSb3cgPiAubXhfRmllbGQge1xuICAgIG1hcmdpbjogMCA1cHg7XG59XG5cbi5teF9BdXRoQm9keV9maWVsZFJvdyA+IC5teF9GaWVsZDpmaXJzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG59XG5cbi5teF9BdXRoQm9keV9maWVsZFJvdyA+IC5teF9GaWVsZDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG59XG5cbi5teF9BdXRoQm9keV9wYWRkZWRGb290ZXIge1xuICAgIGhlaWdodDogODBweDsgLyogaGVpZ2h0IG9mIHRoZSBzdWJtaXQgYnV0dG9uICsgcmVnaXN0ZXIgbGluayAqL1xuICAgIHBhZGRpbmctdG9wOiAyOHB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLm14X0F1dGhCb2R5X3BhZGRlZEZvb3RlciAubXhfQXV0aEJvZHlfcGFkZGVkRm9vdGVyX3RpdGxlIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMTZweDtcbiAgICAgICAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjVyZW07XG4gICAgfVxuXG4ubXhfQXV0aEJvZHlfcGFkZGVkRm9vdGVyIC5teF9BdXRoQm9keV9wYWRkZWRGb290ZXJfdGl0bGUgLm14X0lubGluZVNwaW5uZXIgaW1nIHtcbiAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBzdWI7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDVweDtcbiAgICAgICAgfVxuXG4ubXhfQXV0aEJvZHlfcGFkZGVkRm9vdGVyIC5teF9BdXRoQm9keV9wYWRkZWRGb290ZXJfc3VidGl0bGUge1xuICAgICAgICBtYXJnaW4tdG9wOiA4cHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMC42MjVyZW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAwLjg3NXJlbTtcbiAgICB9XG5cbi5teF9BdXRoQm9keV9jaGFuZ2VGbG93IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5teF9BdXRoQm9keV9jaGFuZ2VGbG93ID4gYSB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1jcGQtZm9udC13ZWlnaHQtc2VtaWJvbGQpO1xuICAgIH1cblxuLm14X1NTT0J1dHRvbnMgKyAubXhfQXV0aEJvZHlfY2hhbmdlRmxvdyB7XG4gICAgbWFyZ2luLXRvcDogMjRweDtcbn1cblxuLm14X0F1dGhCb2R5X3NwaW5uZXIge1xuICAgIG1hcmdpbjogMWVtIDA7XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDgwcHgpIHtcbiAgICAubXhfQXV0aEJvZHkge1xuICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICBtYXgtd2lkdGg6IDUwMHB4O1xuICAgICAgICBwYWRkaW5nOiAxMHB4O1xuICAgIH1cbn1cblxuLypcbkNvcHlyaWdodCAyMDE5LTIwMjQgTmV3IFZlY3RvciBMdGQuXG5cblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cbiovXG5cbi5teF9BdXRoRm9vdGVyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZm9udDogdmFyKC0tY3BkLWZvbnQtYm9keS1tZC1yZWd1bGFyKTtcbiAgICBvcGFjaXR5OiAwLjcyO1xuICAgIHBhZGRpbmc6IDIwcHggMDtcbiAgICBiYWNrZ3JvdW5kOiAtd2Via2l0LWdyYWRpZW50KGxpbmVhciwgbGVmdCB0b3AsIGxlZnQgYm90dG9tLCBmcm9tKHJnYmEoMCwgMCwgMCwgMCkpLCB0byhyZ2JhKDAsIDAsIDAsIDAuOCkpKTtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQocmdiYSgwLCAwLCAwLCAwKSwgcmdiYSgwLCAwLCAwLCAwLjgpKTtcbn1cblxuLm14X0F1dGhGb290ZXIgYTpsaW5rLFxuLm14X0F1dGhGb290ZXIgYTpob3Zlcixcbi5teF9BdXRoRm9vdGVyIGE6dmlzaXRlZCB7XG4gICAgY29sb3I6ICNmZmZmZmY7XG4gICAgbWFyZ2luOiAwIDIycHg7XG59XG5cbi8qXG5Db3B5cmlnaHQgMjAxOS0yMDI0IE5ldyBWZWN0b3IgTHRkLlxuXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXG4qL1xuXG4ubXhfQXV0aEhlYWRlciB7XG4gICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gICAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xuICAgIC13ZWJraXQtYm94LWRpcmVjdGlvbjogbm9ybWFsO1xuICAgICAgICAtbXMtZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgd2lkdGg6IDIwNnB4O1xuICAgIHBhZGRpbmc6IDI1cHggMjVweDtcbiAgICAtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ4MHB4KSB7XG4gICAgLm14X0F1dGhIZWFkZXIge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbn1cblxuLypcbkNvcHlyaWdodCAyMDE5LTIwMjQgTmV3IFZlY3RvciBMdGQuXG5cblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cbiovXG5cbi5teF9BdXRoSGVhZGVyTG9nbyB7XG4gICAgbWFyZ2luLXRvcDogMTVweDtcbiAgICAtd2Via2l0LWJveC1mbGV4OiAxO1xuICAgICAgICAtbXMtZmxleDogMTtcbiAgICAgICAgICAgIGZsZXg6IDE7XG4gICAgcGFkZGluZzogMCAyNXB4O1xufVxuXG4ubXhfQXV0aEhlYWRlckxvZ28gaW1nIHtcbiAgICB3aWR0aDogMTAwJTtcbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0ODBweCkge1xuICAgIC5teF9BdXRoSGVhZGVyTG9nbyB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxufVxuXG4vKlxuQ29weXJpZ2h0IDIwMTktMjAyNCBOZXcgVmVjdG9yIEx0ZC5cblxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuKi9cblxuLm14X0F1dGhQYWdlIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtaW4taGVpZ2h0OiAxMDAlO1xuICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcbiAgICAtd2Via2l0LWJveC1kaXJlY3Rpb246IG5vcm1hbDtcbiAgICAgICAgLW1zLWZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMyZTM2NDk7XG4gICAgaGVpZ2h0OiAxMDB2aDtcbiAgICBvdmVyZmxvdzogYXV0bztcbn1cblxuLm14X0F1dGhQYWdlX21vZGFsIHtcbiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIG1hcmdpbjogMTAwcHggYXV0byBhdXRvO1xuICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgICAtd2Via2l0LWJveC1zaGFkb3c6IDAgMnB4IDRweCAwIHJnYmEoMCwgMCwgMCwgMC4zMyk7XG4gICAgICAgICAgICBib3gtc2hhZG93OiAwIDJweCA0cHggMCByZ2JhKDAsIDAsIDAsIDAuMzMpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXRpbWVsaW5lLWJhY2tncm91bmQtY29sb3ItNTBwY3QpO1xufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtaGVpZ2h0OiA3NjhweCkge1xuXG4ubXhfQXV0aFBhZ2VfbW9kYWwge1xuICAgICAgICBtYXJnaW4tdG9wOiA1MHB4XG59XG4gICAgfVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ4MHB4KSB7XG5cbi5teF9BdXRoUGFnZV9tb2RhbCB7XG4gICAgICAgIG1hcmdpbi10b3A6IDBcbn1cbiAgICB9XG5cbi8qXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cbkNvcHlyaWdodCAyMDIwIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXG5Db3B5cmlnaHQgMjAxOSBOZXcgVmVjdG9yIEx0ZFxuXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXG4qL1xuXG4ubXhfQ29tcGxldGVTZWN1cml0eUJvZHkge1xuICAgIHdpZHRoOiA2MDBweDtcbiAgICBjb2xvcjogdmFyKC0tdGltZWxpbmUtdGV4dC1jb2xvcik7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdGltZWxpbmUtYmFja2dyb3VuZC1jb2xvcik7XG4gICAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAgIHBhZGRpbmc6IDIwcHg7XG4gICAgLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbn1cblxuLm14X0NvbXBsZXRlU2VjdXJpdHlCb2R5IGgyIHtcbiAgICAgICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1jcGQtZm9udC13ZWlnaHQtc2VtaWJvbGQpO1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgIH1cblxuLm14X0NvbXBsZXRlU2VjdXJpdHlCb2R5IGgzIHtcbiAgICAgICAgZm9udDogdmFyKC0tY3BkLWZvbnQtYm9keS1tZC1zZW1pYm9sZCk7XG4gICAgfVxuXG4ubXhfQ29tcGxldGVTZWN1cml0eUJvZHkgYTpsaW5rLFxuICAgIC5teF9Db21wbGV0ZVNlY3VyaXR5Qm9keSBhOmhvdmVyLFxuICAgIC5teF9Db21wbGV0ZVNlY3VyaXR5Qm9keSBhOnZpc2l0ZWQge1xuICAgICAgICBjb2xvcjogIzBkYmQ4YjtcbiAgICAgICAgY29sb3I6IHZhcigtLWFjY2VudC1jb2xvciwgIzBkYmQ4Yik7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB9XG5cbi8qXG5Db3B5cmlnaHQgMjAxOS0yMDI0IE5ldyBWZWN0b3IgTHRkLlxuXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXG4qL1xuXG4ubXhfQ291bnRyeURyb3Bkb3duIC5teF9Ecm9wZG93bl9pbnB1dCAubXhfRHJvcGRvd25fb3B0aW9uIHtcbiAgICBwYWRkaW5nOiAwIDNweDtcbn1cblxuLm14X0NvdW50cnlEcm9wZG93biAubXhfRHJvcGRvd25fYXJyb3cge1xuICAgIHBhZGRpbmctcmlnaHQ6IDNweDtcbn1cblxuLm14X0NvdW50cnlEcm9wZG93bl9zaG9ydE9wdGlvbiB7XG4gICAgZGlzcGxheTogLXdlYmtpdC1pbmxpbmUtYm94O1xuICAgIGRpc3BsYXk6IC1tcy1pbmxpbmUtZmxleGJveDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO1xuICAgICAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBoZWlnaHQ6IDEwMCU7XG59XG5cbi5teF9Db3VudHJ5RHJvcGRvd25fb3B0aW9uIHtcbiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG4vKlxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXG5Db3B5cmlnaHQgMjAyMyBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxuQ29weXJpZ2h0IDIwMTcgVmVjdG9yIENyZWF0aW9ucyBMdGRcblxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuKi9cblxuLm14X0ludGVyYWN0aXZlQXV0aEVudHJ5Q29tcG9uZW50cyAubXhfSW50ZXJhY3RpdmVBdXRoRW50cnlDb21wb25lbnRzX3Rlcm1zU3VibWl0IHtcbiAgICAgICAgbWFyZ2luLXRvcDogMjBweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNXB4O1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8qIHByZXZlbnQgb3ZlcmZsb3dpbmcgKi9cbiAgICB9XG5cbi5teF9JbnRlcmFjdGl2ZUF1dGhFbnRyeUNvbXBvbmVudHNfbXNpc2RuV3JhcHBlciB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4ubXhfSW50ZXJhY3RpdmVBdXRoRW50cnlDb21wb25lbnRzX21zaXNkbkVudHJ5IHtcbiAgICBmb250LXNpemU6IDIwMCU7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2M3YzdjNztcbiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1zdHJvbmctaW5wdXQtYm9yZGVyLWNvbG9yLCAjYzdjN2M3KTtcbiAgICBib3JkZXItcmFkaXVzOiAzcHg7XG4gICAgd2lkdGg6IDZlbTtcbn1cblxuLm14X0ludGVyYWN0aXZlQXV0aEVudHJ5Q29tcG9uZW50c19tc2lzZG5FbnRyeTpmb2N1cyB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgIzBkYmQ4YjtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1hY2NlbnQtY29sb3IsICMwZGJkOGIpO1xufVxuXG4ubXhfSW50ZXJhY3RpdmVBdXRoRW50cnlDb21wb25lbnRzX21zaXNkblN1Ym1pdCB7XG4gICAgbWFyZ2luLXRvcDogNHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDVweDtcbn1cblxuLyogWFhYOiBUaGlzIHNob3VsZCBiZSBhIGNvbW1vbiBidXR0b24gY2xhc3MgKi9cblxuLm14X0ludGVyYWN0aXZlQXV0aEVudHJ5Q29tcG9uZW50c19tc2lzZG5TdWJtaXQ6ZGlzYWJsZWQge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXRpbWVsaW5lLXRleHQtc2Vjb25kYXJ5LWNvbG9yKTtcbiAgICBjdXJzb3I6IGRlZmF1bHQ7XG59XG5cbi5teF9JbnRlcmFjdGl2ZUF1dGhFbnRyeUNvbXBvbmVudHNfdGVybXNQb2xpY3kge1xuICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgLXdlYmtpdC1ib3gtb3JpZW50OiBob3Jpem9udGFsO1xuICAgIC13ZWJraXQtYm94LWRpcmVjdGlvbjogbm9ybWFsO1xuICAgICAgICAtbXMtZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgLXdlYmtpdC1ib3gtcGFjazogc3RhcnQ7XG4gICAgICAgIC1tcy1mbGV4LXBhY2s6IHN0YXJ0O1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG4ubXhfSW50ZXJhY3RpdmVBdXRoRW50cnlDb21wb25lbnRzX3Bhc3N3b3JkU2VjdGlvbiB7XG4gICAgd2lkdGg6IDMwMHB4O1xufVxuXG4ubXhfSW50ZXJhY3RpdmVBdXRoRW50cnlDb21wb25lbnRzX3Nzb19idXR0b25zIHtcbiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIC13ZWJraXQtYm94LW9yaWVudDogaG9yaXpvbnRhbDtcbiAgICAtd2Via2l0LWJveC1kaXJlY3Rpb246IG5vcm1hbDtcbiAgICAgICAgLW1zLWZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIC13ZWJraXQtYm94LXBhY2s6IGVuZDtcbiAgICAgICAgLW1zLWZsZXgtcGFjazogZW5kO1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICBtYXJnaW4tdG9wOiAyMHB4O1xufVxuXG4ubXhfSW50ZXJhY3RpdmVBdXRoRW50cnlDb21wb25lbnRzX3Nzb19idXR0b25zIC5teF9BY2Nlc3NpYmxlQnV0dG9uIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDVweDtcbiAgICB9XG5cbi8qIFwiUmVzZW5kXCIgYnV0dG9uL2xpbmsgKi9cblxuLm14X0ludGVyYWN0aXZlQXV0aEVudHJ5Q29tcG9uZW50c19lbWFpbFdyYXBwZXIgLm14X0FjY2Vzc2libGVCdXR0b25fa2luZF9saW5rX2lubGluZSB7XG4gICAgICAgIC8qIFdlIG5lZWQgdGhpcyB0byBiZSBhbiBpbmxpbmUtYmxvY2sgc28gcG9zaXRpb25pbmcgd29ya3MgY29ycmVjdGx5ICovXG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jayAhaW1wb3J0YW50O1xuICAgIH1cblxuLyogU3Bpbm5lciBhcyBlbmQgYWRvcm5tZW50IG9mIHRoZSBcInJlc2VuZFwiIGJ1dHRvbi9saW5rICovXG5cbi5teF9JbnRlcmFjdGl2ZUF1dGhFbnRyeUNvbXBvbmVudHNfZW1haWxXcmFwcGVyIC5teF9BY2Nlc3NpYmxlQnV0dG9uX2tpbmRfbGlua19pbmxpbmUgLm14X1NwaW5uZXIge1xuICAgICAgICAgICAgLyogU3Bpbm5lcnMgYXJlIHVzdWFsbHkgYmxvY2sgZWxlbWVudHMsIGJ1dCB3ZSBuZWVkIGl0IGFzIGlubGluZSBlbGVtZW50ICovXG4gICAgICAgICAgICBkaXNwbGF5OiAtd2Via2l0LWlubGluZS1ib3ggIWltcG9ydGFudDtcbiAgICAgICAgICAgIGRpc3BsYXk6IC1tcy1pbmxpbmUtZmxleGJveCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXggIWltcG9ydGFudDtcbiAgICAgICAgICAgIC8qIFNwaW5uZXJzIGJ5IGRlZmF1bHQgZmlsbCBhbGwgYXZhaWxhYmxlIHdpZHRoLCBidXQgd2UgZG9uJ3Qgd2FudCB0aGF0ICovXG4gICAgICAgICAgICB3aWR0aDogYXV0byAhaW1wb3J0YW50O1xuICAgICAgICAgICAgLyogV2UgbmVlZCB0byBjZW50ZXIgdGhlIHNwaW5uZXIgcmVsYXRpdmUgdG8gdGhlIGJ1dHRvbi9saW5rICovXG4gICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cblxuLypcbkNvcHlyaWdodCAyMDE5LTIwMjQgTmV3IFZlY3RvciBMdGQuXG5cblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cbiovXG5cbi5teF9BdXRoQm9keV9sYW5ndWFnZSB7XG4gICAgd2lkdGg6IDEwMCU7XG59XG5cbi5teF9BdXRoQm9keV9sYW5ndWFnZSAubXhfRHJvcGRvd25faW5wdXQge1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBmb250OiB2YXIoLS1jcGQtZm9udC1ib2R5LW1kLXNlbWlib2xkKTtcbiAgICBjb2xvcjogdmFyKC0tdGltZWxpbmUtdGV4dC1jb2xvcik7XG4gICAgd2lkdGg6IGF1dG87XG59XG5cbi5teF9BdXRoQm9keV9sYW5ndWFnZSAubXhfRHJvcGRvd25fYXJyb3cge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLXRpbWVsaW5lLXRleHQtY29sb3IpO1xufVxuXG4vKlxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXG5Db3B5cmlnaHQgMjAyMiBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxuXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXG4qL1xuXG4ubXhfTG9naW5XaXRoUVJTZWN0aW9uIHAge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogMTZweDtcbn1cblxuLm14X0xvZ2luV2l0aFFSU2VjdGlvbiAubXhfQWNjZXNzaWJsZUJ1dHRvbl9raW5kX3ByaW1hcnkgKyBwIHtcbiAgICAgICAgY29sb3I6IHZhcigtLWNwZC1jb2xvci10ZXh0LXNlY29uZGFyeSk7XG4gICAgICAgIG1hcmdpbi10b3A6IHZhcigtLWNwZC1zcGFjZS0yeCk7XG4gICAgfVxuXG4ubXhfTG9naW5XaXRoUVJTZWN0aW9uIC5teF9BY2Nlc3NpYmxlQnV0dG9uIHN2ZyB7XG4gICAgbWFyZ2luLXJpZ2h0OiAxMnB4O1xufVxuXG4ubXhfQXV0aFBhZ2UgLm14X0xvZ2luV2l0aFFSIC5teF9BY2Nlc3NpYmxlQnV0dG9uIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgICB9XG5cbi5teF9BdXRoUGFnZSAubXhfTG9naW5XaXRoUVIgLm14X0FjY2Vzc2libGVCdXR0b24gKyAubXhfQWNjZXNzaWJsZUJ1dHRvbiB7XG4gICAgICAgIG1hcmdpbi10b3A6IDhweDtcbiAgICB9XG5cbi5teF9BdXRoUGFnZSAubXhfTG9naW5XaXRoUVIge1xuXG4gICAgZm9udC1zaXplOiAwLjkzNzVyZW07XG59XG5cbi5teF9Vc2VyU2V0dGluZ3NEaWFsb2cgLm14X0xvZ2luV2l0aFFSIHtcbiAgICBmb250OiB2YXIoLS1jcGQtZm9udC1ib2R5LW1kLXJlZ3VsYXIpO1xufVxuXG4ubXhfVXNlclNldHRpbmdzRGlhbG9nIC5teF9Mb2dpbldpdGhRUiBoMSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cblxuLm14X1VzZXJTZXR0aW5nc0RpYWxvZyAubXhfTG9naW5XaXRoUVIgaDIge1xuICAgICAgICBtYXJnaW4tdG9wOiAyNHB4O1xuICAgIH1cblxuLm14X1VzZXJTZXR0aW5nc0RpYWxvZyAubXhfTG9naW5XaXRoUVIgLm14X1FSQ29kZSB7XG4gICAgICAgIG1hcmdpbjogMjhweCAwO1xuICAgIH1cblxuLm14X1VzZXJTZXR0aW5nc0RpYWxvZyAubXhfTG9naW5XaXRoUVIgLm14X0xvZ2luV2l0aFFSX3FyV3JhcHBlciB7XG4gICAgICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICAgICAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICB9XG5cbi5teF9Mb2dpbldpdGhRUiB7XG4gICAgbWluLWhlaWdodDogMzUwcHg7XG4gICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gICAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xuICAgIC13ZWJraXQtYm94LWRpcmVjdGlvbjogbm9ybWFsO1xuICAgICAgICAtbXMtZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG59XG5cbi5teF9Mb2dpbldpdGhRUiBoMSA+IHN2Zy5ub3JtYWwge1xuICAgICAgICAgICAgY29sb3I6ICNlZGYzZmY7XG4gICAgICAgICAgICBjb2xvcjogdmFyKC0tc2Vjb25kYXJ5LWNvbnRlbnQsICNlZGYzZmYpO1xuICAgICAgICB9XG5cbi5teF9Mb2dpbldpdGhRUiBoMSA+IHN2Zy5lcnJvciB7XG4gICAgICAgICAgICBjb2xvcjogI2ZmNWI1NTtcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1hbGVydCwgI2ZmNWI1NSk7XG4gICAgICAgIH1cblxuLm14X0xvZ2luV2l0aFFSIGgxID4gc3ZnLnN1Y2Nlc3Mge1xuICAgICAgICAgICAgY29sb3I6ICMwZGJkOGI7XG4gICAgICAgICAgICBjb2xvcjogdmFyKC0tYWNjZW50LWNvbG9yLCAjMGRiZDhiKTtcbiAgICAgICAgfVxuXG4ubXhfTG9naW5XaXRoUVIgaDEgPiBzdmcge1xuICAgICAgICBoZWlnaHQ6IDEuM2VtO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDhweDtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cblxuLm14X0xvZ2luV2l0aFFSIC5teF9Mb2dpbldpdGhRUl9jb25maXJtYXRpb25EaWdpdHMge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIG1hcmdpbjogNDhweCBhdXRvO1xuICAgICAgICBmb250LXdlaWdodDogdmFyKC0tY3BkLWZvbnQtd2VpZ2h0LXNlbWlib2xkKTtcbiAgICAgICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgICAgIGNvbG9yOiB2YXIoLS10aW1lbGluZS10ZXh0LWNvbG9yKTtcbiAgICB9XG5cbi5teF9Mb2dpbldpdGhRUiAubXhfTG9naW5XaXRoUVJfY29uZmlybWF0aW9uQWxlcnQge1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjNmY3ODgyO1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1xdWF0ZXJuYXJ5LWNvbnRlbnQsICM2Zjc4ODIpO1xuICAgICAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgICAgIHBhZGRpbmc6IDhweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNWVtO1xuICAgICAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgICAgICAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgfVxuXG4ubXhfTG9naW5XaXRoUVIgLm14X0xvZ2luV2l0aFFSX2NvbmZpcm1hdGlvbkFsZXJ0IHN2ZyB7XG4gICAgICAgICAgICBoZWlnaHQ6IDMwcHg7XG4gICAgICAgIH1cblxuLm14X0xvZ2luV2l0aFFSIC5teF9Mb2dpbldpdGhRUl9zZXBhcmF0b3Ige1xuICAgICAgICBtYXJnaW46IDFlbSAwO1xuICAgIH1cblxuLm14X0xvZ2luV2l0aFFSIG9sIHtcbiAgICAgICAgLXdlYmtpdC1wYWRkaW5nLXN0YXJ0OiAwO1xuICAgICAgICAgICAgICAgIHBhZGRpbmctaW5saW5lLXN0YXJ0OiAwO1xuICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIH1cblxuLyogbGlzdCBtYXJrZXJzIGRvIG5vdCBzdXBwb3J0IHRoZSBvdXRsaW5lZCBudW1iZXIgc3R5bGluZyB3ZSBuZWVkICovXG5cbi5teF9Mb2dpbldpdGhRUiBvbCBsaSB7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IHZhcigtLWNwZC1zcGFjZS03eCk7XG4gICAgICAgICAgICBjb2xvcjogMXB4IHNvbGlkIHZhcigtLWNwZC1jb2xvci10ZXh0LXNlY29uZGFyeSk7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS1jcGQtc3BhY2UtNHgpO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDIwcHg7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogaW5pdGlhbDtcbiAgICAgICAgfVxuXG4vKiBDaXJjbGVkIG51bWJlciBsaXN0IGl0ZW0gbWFya2VyICovXG5cbi5teF9Mb2dpbldpdGhRUiBvbCBsaTo6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IGNvdW50ZXIobGlzdC1pdGVtKTtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICB3aWR0aDogMjBweDtcbiAgICAgICAgICAgIGhlaWdodDogMjBweDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tY3BkLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTtcbiAgICAgICAgICAgIC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgICAgICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgfVxuXG4ubXhfTG9naW5XaXRoUVIgbGFiZWxbZm9yPVwibXhfTG9naW5XaXRoUVJfY2hlY2tDb2RlXCJdIHtcbiAgICAgICAgbWFyZ2luLXRvcDogdmFyKC0tY3BkLXNwYWNlLTZ4KTtcbiAgICAgICAgY29sb3I6IHZhcigtLWNwZC1jb2xvci10ZXh0LXByaW1hcnkpO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS1jcGQtc3BhY2UtMXgpO1xuICAgIH1cblxuLm14X0xvZ2luV2l0aFFSIC5teF9Mb2dpbldpdGhRUl9pY29uIHtcbiAgICAgICAgd2lkdGg6IDU2cHg7XG4gICAgICAgIGhlaWdodDogNTZweDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4O1xuICAgICAgICAtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgcGFkZGluZzogdmFyKC0tY3BkLXNwYWNlLTN4KTtcbiAgICAgICAgZ2FwOiAxMHB4O1xuXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNwZC1jb2xvci1iZy1zdWJ0bGUtc2Vjb25kYXJ5KTtcbiAgICB9XG5cbi5teF9Mb2dpbldpdGhRUiAubXhfTG9naW5XaXRoUVJfaWNvbiBzdmcge1xuICAgICAgICAgICAgY29sb3I6IHZhcigtLWNwZC1jb2xvci1pY29uLXNlY29uZGFyeSk7XG4gICAgICAgIH1cblxuLm14X0xvZ2luV2l0aFFSIC5teF9Mb2dpbldpdGhRUl9pY29uLm14X0xvZ2luV2l0aFFSX2ljb24tLXN1Y2Nlc3Mge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY3BkLWNvbG9yLWJnLXN1Y2Nlc3Mtc3VidGxlKTtcbiAgICAgICAgfVxuXG4ubXhfTG9naW5XaXRoUVIgLm14X0xvZ2luV2l0aFFSX2ljb24ubXhfTG9naW5XaXRoUVJfaWNvbi0tc3VjY2VzcyBzdmcge1xuICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1jcGQtY29sb3ItaWNvbi1zdWNjZXNzLXByaW1hcnkpO1xuICAgICAgICAgICAgfVxuXG4ubXhfTG9naW5XaXRoUVIgLm14X0xvZ2luV2l0aFFSX2ljb24ubXhfTG9naW5XaXRoUVJfaWNvbi0tY3JpdGljYWwge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY3BkLWNvbG9yLWJnLWNyaXRpY2FsLXN1YnRsZSk7XG4gICAgICAgIH1cblxuLm14X0xvZ2luV2l0aFFSIC5teF9Mb2dpbldpdGhRUl9pY29uLm14X0xvZ2luV2l0aFFSX2ljb24tLWNyaXRpY2FsIHN2ZyB7XG4gICAgICAgICAgICAgICAgY29sb3I6IHZhcigtLWNwZC1jb2xvci1pY29uLWNyaXRpY2FsLXByaW1hcnkpO1xuICAgICAgICAgICAgfVxuXG4ubXhfTG9naW5XaXRoUVIgLm14X0xvZ2luV2l0aFFSX2NoZWNrQ29kZV9pbnB1dCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHZhcigtLWNwZC1zcGFjZS0xeCk7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgIHRleHQtYWxpZ246IGluaXRpYWw7XG4gICAgfVxuXG4ubXhfTG9naW5XaXRoUVIgLm14X0xvZ2luV2l0aFFSX2NoZWNrQ29kZV9pbnB1dCBpbnB1dCB7XG4gICAgICAgICAgICAvKiBXb3JrYXJvdW5kIGZvciBvbmUgb2YgdGhlIGlucHV0IHJ1bGVzIGluIF9jb21tb24ucGNzcyBiZWluZyBub3Qgc3BlY2lmaWMgZW5vdWdoICovXG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgLXdlYmtpdC1wYWRkaW5nLXN0YXJ0OiBjYWxjKDQwcHggLyAyIC0gKDFjaCAvIDIpKTtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1pbmxpbmUtc3RhcnQ6IGNhbGMoNDBweCAvIDIgLSAoMWNoIC8gMikpO1xuICAgICAgICB9XG5cbi5teF9Mb2dpbldpdGhRUiAubXhfTG9naW5XaXRoUVJfaGVhZGluZyB7XG4gICAgICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICAgICAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZ2FwOiAxMnB4O1xuICAgICAgICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIH1cblxuLm14X0xvZ2luV2l0aFFSIC5teF9Mb2dpbldpdGhRUl9CYWNrQnV0dG9uIHtcbiAgICAgICAgaGVpZ2h0OiAyOHB4O1xuICAgICAgICBib3JkZXItcmFkaXVzOiAyOHB4O1xuICAgICAgICBwYWRkaW5nOiA0cHg7XG4gICAgICAgIC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jcGQtY29sb3ItYmctc3VidGxlLXNlY29uZGFyeSk7XG4gICAgfVxuXG4ubXhfTG9naW5XaXRoUVIgLm14X0xvZ2luV2l0aFFSX0JhY2tCdXR0b24gc3ZnIHtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgfVxuXG4ubXhfTG9naW5XaXRoUVIgLm14X0xvZ2luV2l0aFFSX2JyZWFkY3J1bWJzIHtcbiAgICAgICAgZm9udC1zaXplOiAwLjgxMjVyZW07XG4gICAgICAgIGNvbG9yOiAjZWRmM2ZmO1xuICAgICAgICBjb2xvcjogdmFyKC0tc2Vjb25kYXJ5LWNvbnRlbnQsICNlZGYzZmYpO1xuICAgIH1cblxuLm14X0xvZ2luV2l0aFFSIC5teF9Mb2dpbldpdGhRUl9tYWluIHtcbiAgICAgICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gICAgICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xuICAgICAgICAtd2Via2l0LWJveC1kaXJlY3Rpb246IG5vcm1hbDtcbiAgICAgICAgICAgIC1tcy1mbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIC13ZWJraXQtYm94LWZsZXg6IDE7XG4gICAgICAgICAgICAtbXMtZmxleC1wb3NpdGl2ZTogMTtcbiAgICAgICAgICAgICAgICBmbGV4LWdyb3c6IDE7XG4gICAgICAgIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGNvbG9yOiB2YXIoLS10aW1lbGluZS10ZXh0LWNvbG9yKTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cblxuLm14X0xvZ2luV2l0aFFSIC5teF9Mb2dpbldpdGhRUl9tYWluIHAge1xuICAgICAgICAgICAgY29sb3I6ICNlZGYzZmY7XG4gICAgICAgICAgICBjb2xvcjogdmFyKC0tc2Vjb25kYXJ5LWNvbnRlbnQsICNlZGYzZmYpO1xuICAgICAgICB9XG5cbi5teF9Mb2dpbldpdGhRUi5teF9Mb2dpbldpdGhRUl9lcnJvciAubXhfTG9naW5XaXRoUVJfbWFpbiB7XG4gICAgICAgIG1heC13aWR0aDogNDAwcHg7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIH1cblxuLm14X0xvZ2luV2l0aFFSIC5teF9Mb2dpbldpdGhRUl9idXR0b25zIHtcbiAgICAgICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gICAgICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xuICAgICAgICAtd2Via2l0LWJveC1kaXJlY3Rpb246IG5vcm1hbDtcbiAgICAgICAgICAgIC1tcy1mbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGdhcDogMTZweDtcbiAgICAgICAgbWFyZ2luLXRvcDogdmFyKC0tY3BkLXNwYWNlLTZ4KTtcbiAgICB9XG5cbi5teF9Mb2dpbldpdGhRUiAubXhfTG9naW5XaXRoUVJfYnV0dG9ucyAubXhfQWNjZXNzaWJsZUJ1dHRvbiB7XG4gICAgICAgICAgICB3aWR0aDogMzAwcHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDQ4cHg7XG4gICAgICAgICAgICAtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgICAgICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIH1cblxuLm14X0xvZ2luV2l0aFFSIC5teF9RUkNvZGUge1xuICAgICAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICAgICAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgLXdlYmtpdC1ib3gtcGFjazogY2VudGVyO1xuICAgICAgICAgICAgLW1zLWZsZXgtcGFjazogY2VudGVyO1xuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIH1cblxuLm14X0xvZ2luV2l0aFFSIC5teF9Mb2dpbldpdGhRUl9zcGlubmVyIHtcbiAgICAgICAgLXdlYmtpdC1ib3gtZmxleDogMTtcbiAgICAgICAgICAgIC1tcy1mbGV4LXBvc2l0aXZlOiAxO1xuICAgICAgICAgICAgICAgIGZsZXgtZ3JvdzogMTtcbiAgICAgICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gICAgICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAtd2Via2l0LWJveC1wYWNrOiBjZW50ZXI7XG4gICAgICAgICAgICAtbXMtZmxleC1wYWNrOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICB9XG5cbi8qXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cbkNvcHlyaWdodCAyMDIwIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXG5cblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cbiovXG5cbnByb2dyZXNzLm14X1Bhc3NwaHJhc2VGaWVsZF9wcm9ncmVzcyB7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgICAgIC1tb3otYXBwZWFyYW5jZTogbm9uZTtcbiAgICAgICAgICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYm9yZGVyOiAwO1xuICAgIGhlaWdodDogNHB4O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IC0xMHB4O1xuICAgIGxlZnQ6IDA7XG5cbiAgICBib3JkZXItcmFkaXVzOiBcIjJweFwiO1xufVxuXG5wcm9ncmVzcy5teF9QYXNzcGhyYXNlRmllbGRfcHJvZ3Jlc3M6Oi1tb3otcHJvZ3Jlc3MtYmFyIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogXCIycHhcIjtcbiAgICB9XG5cbnByb2dyZXNzLm14X1Bhc3NwaHJhc2VGaWVsZF9wcm9ncmVzczo6LXdlYmtpdC1wcm9ncmVzcy1iYXIsXG4gICAgcHJvZ3Jlc3MubXhfUGFzc3BocmFzZUZpZWxkX3Byb2dyZXNzOjotd2Via2l0LXByb2dyZXNzLXZhbHVlIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogXCIycHhcIjtcbiAgICB9XG5cbnByb2dyZXNzLm14X1Bhc3NwaHJhc2VGaWVsZF9wcm9ncmVzcyB7XG4gICAgY29sb3I6ICNmZjViNTU7XG4gICAgY29sb3I6IHZhcigtLWFsZXJ0LCAjZmY1YjU1KTtcbn1cblxucHJvZ3Jlc3MubXhfUGFzc3BocmFzZUZpZWxkX3Byb2dyZXNzOjotbW96LXByb2dyZXNzLWJhciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZjViNTU7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWFsZXJ0LCAjZmY1YjU1KTtcbiAgICB9XG5cbnByb2dyZXNzLm14X1Bhc3NwaHJhc2VGaWVsZF9wcm9ncmVzczo6LXdlYmtpdC1wcm9ncmVzcy12YWx1ZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZjViNTU7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWFsZXJ0LCAjZmY1YjU1KTtcbiAgICB9XG5cbnByb2dyZXNzLm14X1Bhc3NwaHJhc2VGaWVsZF9wcm9ncmVzc1t2YWx1ZT1cIjJcIl0sXG4gICAgcHJvZ3Jlc3MubXhfUGFzc3BocmFzZUZpZWxkX3Byb2dyZXNzW3ZhbHVlPVwiM1wiXSB7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jcGQtY29sb3ItdGV4dC1kZWNvcmF0aXZlLTUpO1xuICAgIH1cblxucHJvZ3Jlc3MubXhfUGFzc3BocmFzZUZpZWxkX3Byb2dyZXNzW3ZhbHVlPVwiMlwiXTo6LW1vei1wcm9ncmVzcy1iYXIsIHByb2dyZXNzLm14X1Bhc3NwaHJhc2VGaWVsZF9wcm9ncmVzc1t2YWx1ZT1cIjNcIl06Oi1tb3otcHJvZ3Jlc3MtYmFyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY3BkLWNvbG9yLXRleHQtZGVjb3JhdGl2ZS01KTtcbiAgICB9XG5cbnByb2dyZXNzLm14X1Bhc3NwaHJhc2VGaWVsZF9wcm9ncmVzc1t2YWx1ZT1cIjJcIl06Oi13ZWJraXQtcHJvZ3Jlc3MtdmFsdWUsIHByb2dyZXNzLm14X1Bhc3NwaHJhc2VGaWVsZF9wcm9ncmVzc1t2YWx1ZT1cIjNcIl06Oi13ZWJraXQtcHJvZ3Jlc3MtdmFsdWUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jcGQtY29sb3ItdGV4dC1kZWNvcmF0aXZlLTUpO1xuICAgIH1cblxucHJvZ3Jlc3MubXhfUGFzc3BocmFzZUZpZWxkX3Byb2dyZXNzW3ZhbHVlPVwiNFwiXSB7XG4gICAgICAgIGNvbG9yOiAjMGRiZDhiO1xuICAgICAgICBjb2xvcjogdmFyKC0tYWNjZW50LWNvbG9yLCAjMGRiZDhiKTtcbiAgICB9XG5cbnByb2dyZXNzLm14X1Bhc3NwaHJhc2VGaWVsZF9wcm9ncmVzc1t2YWx1ZT1cIjRcIl06Oi1tb3otcHJvZ3Jlc3MtYmFyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzBkYmQ4YjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYWNjZW50LWNvbG9yLCAjMGRiZDhiKTtcbiAgICB9XG5cbnByb2dyZXNzLm14X1Bhc3NwaHJhc2VGaWVsZF9wcm9ncmVzc1t2YWx1ZT1cIjRcIl06Oi13ZWJraXQtcHJvZ3Jlc3MtdmFsdWUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMGRiZDhiO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1hY2NlbnQtY29sb3IsICMwZGJkOGIpO1xuICAgIH1cblxuLypcbkNvcHlyaWdodCAyMDE5LTIwMjQgTmV3IFZlY3RvciBMdGQuXG5cblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cbiovXG5cbi5teF9XZWxjb21lIHtcbiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWw7XG4gICAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiBub3JtYWw7XG4gICAgICAgIC1tcy1mbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO1xuICAgICAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cblxuLm14X1dlbGNvbWUubXhfV2VsY29tZVBhZ2VfcmVnaXN0cmF0aW9uRGlzYWJsZWQgLm14X0J1dHRvbkNyZWF0ZUFjY291bnQge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuXG4ubXhfV2VsY29tZSAubXhfQXV0aEJvZHlfbGFuZ3VhZ2Uge1xuICAgIHdpZHRoOiAxNjBweDtcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xufVxuXG4vKlxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXG5Db3B5cmlnaHQgMjAxNSwgMjAxNiBPcGVuTWFya2V0IEx0ZFxuXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXG4qL1xuXG5idXR0b24ubXhfQmFzZUF2YXRhciB7XG4gICAgLyogPGJ1dHRvbj4gaXMgYSBmb3JtIGVsZW1lbnQgYW5kIGJ5IGRlZmF1bHQgaXQgdXNlcyB0aGUgdXNlciBhZ2VudCAoYnJvd3Nlcikgc3R5bGluZy5cbiAgICAgICBXZSB3YW50IGl0IHRvIGluaGVyaXQgdGhlIGZvbnQtZmFtaWx5IGFuZCBsaW5lLWhlaWdodCBmcm9tIGl0cyBwYXJlbnQuXG4gICAgICovXG4gICAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG59XG5cbi8qXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cbkNvcHlyaWdodCAyMDIwIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXG5cblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cbiovXG5cbi5teF9EZWNvcmF0ZWRSb29tQXZhdGFyLFxuLm14X0V4dHJhVGlsZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGNvbnRhaW46IGNvbnRlbnQ7XG4gICAgbGluZS1oZWlnaHQ6IDA7XG59XG5cbi5teF9EZWNvcmF0ZWRSb29tQXZhdGFyLm14X0RlY29yYXRlZFJvb21BdmF0YXJfY3V0b3V0IC5teF9CYXNlQXZhdGFyLCAubXhfRXh0cmFUaWxlLm14X0RlY29yYXRlZFJvb21BdmF0YXJfY3V0b3V0IC5teF9CYXNlQXZhdGFyIHtcbiAgICAgICAgLXdlYmtpdC1tYXNrLWltYWdlOiB1cmwoXCIuLi8uLi8uLi9pbWcvZWxlbWVudC1pY29ucy9yb29tbGlzdC9kZWNvcmF0ZWQtYXZhdGFyLW1hc2suc3ZnXCIpO1xuICAgICAgICAgICAgICAgIG1hc2staW1hZ2U6IHVybChcIi4uLy4uLy4uL2ltZy9lbGVtZW50LWljb25zL3Jvb21saXN0L2RlY29yYXRlZC1hdmF0YXItbWFzay5zdmdcIik7XG4gICAgICAgIC13ZWJraXQtbWFzay1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgICAgICAgICAgIG1hc2stcG9zaXRpb246IGNlbnRlcjtcbiAgICAgICAgLXdlYmtpdC1tYXNrLXNpemU6IGNvbnRhaW47XG4gICAgICAgICAgICAgICAgbWFzay1zaXplOiBjb250YWluO1xuICAgICAgICAtd2Via2l0LW1hc2stcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgICAgICAgbWFzay1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICB9XG5cbi5teF9EZWNvcmF0ZWRSb29tQXZhdGFyIC5teF9EZWNvcmF0ZWRSb29tQXZhdGFyX2ljb24sIC5teF9FeHRyYVRpbGUgLm14X0RlY29yYXRlZFJvb21BdmF0YXJfaWNvbiB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgLyogdGhlIGZvbGxvd2luZyBwZXJjZW50YWdlIGJhc2VkIHNpemluZ3MgYXJlIHRvIG1hdGNoIHRoZSBzY2FsYWJsZSBzdmcgbWFzayBmb3IgdGhlIGN1dG91dCAqL1xuICAgICAgICBib3R0b206IDYuMjUlOyAvKiAycHggZm9yIGEgMzJ4MzIgYXZhdGFyICovXG4gICAgICAgIHJpZ2h0OiA2LjI1JTtcbiAgICAgICAgd2lkdGg6IDI1JTsgLyogOHB4IGZvciBhIDMyeDMyIGF2YXRhciAqL1xuICAgICAgICBoZWlnaHQ6IDI1JTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIH1cblxuLm14X0RlY29yYXRlZFJvb21BdmF0YXIgLm14X0RlY29yYXRlZFJvb21BdmF0YXJfaWNvbjo6YmVmb3JlLCAubXhfRXh0cmFUaWxlIC5teF9EZWNvcmF0ZWRSb29tQXZhdGFyX2ljb246OmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgICB9XG5cbi5teF9EZWNvcmF0ZWRSb29tQXZhdGFyIC5teF9EZWNvcmF0ZWRSb29tQXZhdGFyX2ljb25fZ2xvYmU6OmJlZm9yZSwgLm14X0V4dHJhVGlsZSAubXhfRGVjb3JhdGVkUm9vbUF2YXRhcl9pY29uX2dsb2JlOjpiZWZvcmUge1xuICAgICAgICAtd2Via2l0LW1hc2stcG9zaXRpb246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBtYXNrLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICAgIC13ZWJraXQtbWFzay1zaXplOiBjb250YWluO1xuICAgICAgICAgICAgICAgIG1hc2stc2l6ZTogY29udGFpbjtcbiAgICAgICAgLXdlYmtpdC1tYXNrLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgICAgICAgIG1hc2stcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgIGJhY2tncm91bmQ6ICNlZGYzZmY7XG4gICAgICAgIGJhY2tncm91bmQ6IHZhcigtLXNlY29uZGFyeS1jb250ZW50LCAjZWRmM2ZmKTtcbiAgICAgICAgLXdlYmtpdC1tYXNrLWltYWdlOiB1cmwoXCJAdmVjdG9yLWltL2NvbXBvdW5kLWRlc2lnbi10b2tlbnMvaWNvbnMvcHVibGljLnN2Z1wiKTtcbiAgICAgICAgICAgICAgICBtYXNrLWltYWdlOiB1cmwoXCJAdmVjdG9yLWltL2NvbXBvdW5kLWRlc2lnbi10b2tlbnMvaWNvbnMvcHVibGljLnN2Z1wiKTtcbiAgICB9XG5cbi5teF9EZWNvcmF0ZWRSb29tQXZhdGFyIC5teF9EZWNvcmF0ZWRSb29tQXZhdGFyX2ljb25fb2ZmbGluZTo6YmVmb3JlLCAubXhfRXh0cmFUaWxlIC5teF9EZWNvcmF0ZWRSb29tQXZhdGFyX2ljb25fb2ZmbGluZTo6YmVmb3JlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2UzZThmMDtcbiAgICB9XG5cbi5teF9EZWNvcmF0ZWRSb29tQXZhdGFyIC5teF9EZWNvcmF0ZWRSb29tQXZhdGFyX2ljb25fb25saW5lOjpiZWZvcmUsIC5teF9FeHRyYVRpbGUgLm14X0RlY29yYXRlZFJvb21BdmF0YXJfaWNvbl9vbmxpbmU6OmJlZm9yZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwZGJkOGI7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWFjY2VudC1jb2xvciwgIzBkYmQ4Yik7XG4gICAgfVxuXG4ubXhfRGVjb3JhdGVkUm9vbUF2YXRhciAubXhfRGVjb3JhdGVkUm9vbUF2YXRhcl9pY29uX2F3YXk6OmJlZm9yZSwgLm14X0V4dHJhVGlsZSAubXhfRGVjb3JhdGVkUm9vbUF2YXRhcl9pY29uX2F3YXk6OmJlZm9yZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNkOWIwNzI7XG4gICAgfVxuXG4ubXhfRGVjb3JhdGVkUm9vbUF2YXRhciAubXhfRGVjb3JhdGVkUm9vbUF2YXRhcl9pY29uX2J1c3k6OmJlZm9yZSwgLm14X0V4dHJhVGlsZSAubXhfRGVjb3JhdGVkUm9vbUF2YXRhcl9pY29uX2J1c3k6OmJlZm9yZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZjViNTU7XG4gICAgfVxuXG4ubXhfRGVjb3JhdGVkUm9vbUF2YXRhciAubXhfTm90aWZpY2F0aW9uQmFkZ2UsXG4gICAgLm14X0RlY29yYXRlZFJvb21BdmF0YXIgLm14X1Jvb21UaWxlX2JhZGdlQ29udGFpbmVyLFxuICAgIC5teF9FeHRyYVRpbGUgLm14X05vdGlmaWNhdGlvbkJhZGdlLFxuICAgIC5teF9FeHRyYVRpbGUgLm14X1Jvb21UaWxlX2JhZGdlQ29udGFpbmVyIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBoZWlnaHQ6IDE4cHg7XG4gICAgICAgIHdpZHRoOiAxOHB4O1xuICAgIH1cblxuLypcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxuQ29weXJpZ2h0IDIwMjAgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cblxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuKi9cblxuLm14X1dpZGdldEF2YXRhciB7XG4gICAgYm9yZGVyLXJhZGl1czogNHB4O1xufVxuXG4vKlxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXG5Db3B5cmlnaHQgMjAyNCBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxuXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXG4qL1xuXG4ubXhfV2l0aFByZXNlbmNlSW5kaWNhdG9yIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgY29udGFpbjogY29udGVudDtcbiAgICBsaW5lLWhlaWdodDogMDtcbn1cblxuLm14X1dpdGhQcmVzZW5jZUluZGljYXRvciAubXhfV2l0aFByZXNlbmNlSW5kaWNhdG9yX2ljb24ge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHJpZ2h0OiAtMnB4O1xuICAgICAgICBib3R0b206IC0ycHg7XG4gICAgfVxuXG4ubXhfV2l0aFByZXNlbmNlSW5kaWNhdG9yIC5teF9XaXRoUHJlc2VuY2VJbmRpY2F0b3JfaWNvbjo6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBib3JkZXI6IDJweCBzb2xpZCB2YXIoLS1jcGQtY29sb3ItYmctY2FudmFzLWRlZmF1bHQpO1xuICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgfVxuXG4ubXhfV2l0aFByZXNlbmNlSW5kaWNhdG9yIC5teF9XaXRoUHJlc2VuY2VJbmRpY2F0b3JfaWNvbl9vZmZsaW5lOjpiZWZvcmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTNlOGYwO1xuICAgIH1cblxuLm14X1dpdGhQcmVzZW5jZUluZGljYXRvciAubXhfV2l0aFByZXNlbmNlSW5kaWNhdG9yX2ljb25fb25saW5lOjpiZWZvcmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMGRiZDhiO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1hY2NlbnQtY29sb3IsICMwZGJkOGIpO1xuICAgIH1cblxuLm14X1dpdGhQcmVzZW5jZUluZGljYXRvciAubXhfV2l0aFByZXNlbmNlSW5kaWNhdG9yX2ljb25fYXdheTo6YmVmb3JlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2Q5YjA3MjtcbiAgICB9XG5cbi5teF9XaXRoUHJlc2VuY2VJbmRpY2F0b3IgLm14X1dpdGhQcmVzZW5jZUluZGljYXRvcl9pY29uX2J1c3k6OmJlZm9yZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZjViNTU7XG4gICAgfVxuXG4vKlxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXG5Db3B5cmlnaHQgMjAyMSBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxuXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXG4qL1xuXG4ubXhfQmV0YUNhcmQge1xuICAgIHBhZGRpbmc6IDI0cHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcGFuZWxzLCB2YXIoLS1jcGQtY29sb3ItZ3JheS02MDApKTtcbiAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBjb2xvcjogI2VkZjNmZjtcbiAgICBjb2xvcjogdmFyKC0tc2Vjb25kYXJ5LWNvbnRlbnQsICNlZGYzZmYpO1xufVxuXG4ubXhfQmV0YUNhcmQgLm14X0JldGFDYXJkX2NvbHVtbnMge1xuICAgICAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgICAgICAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIC1tcy1mbGV4LWZsb3c6IHdyYXA7XG4gICAgICAgICAgICBmbGV4LWZsb3c6IHdyYXA7XG4gICAgICAgIGdhcDogMjBweDtcbiAgICAgICAgLXdlYmtpdC1ib3gtcGFjazogY2VudGVyO1xuICAgICAgICAgICAgLW1zLWZsZXgtcGFjazogY2VudGVyO1xuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIH1cblxuLm14X0JldGFDYXJkIC5teF9CZXRhQ2FyZF9jb2x1bW5zIC5teF9CZXRhQ2FyZF9jb2x1bW5zX2Rlc2NyaXB0aW9uIHtcbiAgICAgICAgICAgIC13ZWJraXQtYm94LWZsZXg6IDE7XG4gICAgICAgICAgICAgICAgLW1zLWZsZXg6IDE7XG4gICAgICAgICAgICAgICAgICAgIGZsZXg6IDE7XG4gICAgICAgIH1cblxuLm14X0JldGFDYXJkIC5teF9CZXRhQ2FyZF9jb2x1bW5zIC5teF9CZXRhQ2FyZF9jb2x1bW5zX2Rlc2NyaXB0aW9uIC5teF9CZXRhQ2FyZF90aXRsZSB7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLWNwZC1mb250LXdlaWdodC1zZW1pYm9sZCk7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMS4zNzVyZW07XG4gICAgICAgICAgICAgICAgY29sb3I6IHZhcigtLXRpbWVsaW5lLXRleHQtY29sb3IpO1xuICAgICAgICAgICAgICAgIG1hcmdpbjogNHB4IDAgMTRweDtcblxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuXG4gICAgICAgICAgICAgICAgZGlzcGxheTogLW1zLWZsZXhib3g7XG5cbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgICAgIC13ZWJraXQtY29sdW1uLWdhcDogMTJweDtcbiAgICAgICAgICAgICAgICAgICAtbW96LWNvbHVtbi1nYXA6IDEycHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb2x1bW4tZ2FwOiAxMnB4O1xuICAgICAgICAgICAgfVxuXG4ubXhfQmV0YUNhcmQgLm14X0JldGFDYXJkX2NvbHVtbnMgLm14X0JldGFDYXJkX2NvbHVtbnNfZGVzY3JpcHRpb24gLm14X0JldGFDYXJkX2NhcHRpb24ge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI1cmVtO1xuICAgICAgICAgICAgfVxuXG4ubXhfQmV0YUNhcmQgLm14X0JldGFDYXJkX2NvbHVtbnMgLm14X0JldGFDYXJkX2NvbHVtbnNfZGVzY3JpcHRpb24gLm14X0JldGFDYXJkX2J1dHRvbnMge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgLW1zLWZsZXgtd3JhcDogd3JhcC1yZXZlcnNlO1xuICAgICAgICAgICAgICAgICAgICBmbGV4LXdyYXA6IHdyYXAtcmV2ZXJzZTtcbiAgICAgICAgICAgICAgICBnYXA6IDEycHg7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAyMHB4IGF1dG8gMDtcbiAgICAgICAgICAgIH1cblxuLm14X0JldGFDYXJkIC5teF9CZXRhQ2FyZF9jb2x1bW5zIC5teF9CZXRhQ2FyZF9jb2x1bW5zX2Rlc2NyaXB0aW9uIC5teF9CZXRhQ2FyZF9idXR0b25zIC5teF9BY2Nlc3NpYmxlQnV0dG9uIHtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogN3B4IDQwcHg7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgICAgICAgICAgICAtd2Via2l0LWJveC1mbGV4OiAxO1xuICAgICAgICAgICAgICAgICAgICAgICAgLW1zLWZsZXg6IDE7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZmxleDogMTtcbiAgICAgICAgICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsgLyogdGV4dCBtaWdodCBvdmVyZmxvdyAqL1xuICAgICAgICAgICAgICAgIH1cblxuLm14X0JldGFDYXJkIC5teF9CZXRhQ2FyZF9jb2x1bW5zIC5teF9CZXRhQ2FyZF9jb2x1bW5zX2Rlc2NyaXB0aW9uIC5teF9CZXRhQ2FyZF9idXR0b25zIC5teF9BY2Nlc3NpYmxlQnV0dG9uOm50aC1jaGlsZCgxKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAtd2Via2l0LWJveC1vcmRpbmFsLWdyb3VwOiAzO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC1tcy1mbGV4LW9yZGVyOiAyO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcmRlcjogMjsgLyogUGxhY2UgZmVlZGJhY2sgYnV0dG9uIHRvcCBhbmQgcmlnaHQgKi9cbiAgICAgICAgICAgICAgICAgICAgfVxuXG4ubXhfQmV0YUNhcmQgLm14X0JldGFDYXJkX2NvbHVtbnMgLm14X0JldGFDYXJkX2NvbHVtbnNfZGVzY3JpcHRpb24gLm14X0JldGFDYXJkX3JlZnJlc2hXYXJuaW5nIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiA4cHg7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAwLjYyNXJlbTtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICB9XG5cbi5teF9CZXRhQ2FyZCAubXhfQmV0YUNhcmRfY29sdW1ucyAubXhfQmV0YUNhcmRfY29sdW1uc19kZXNjcmlwdGlvbiAubXhfQmV0YUNhcmRfZmFxIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAyMHB4O1xuICAgICAgICAgICAgICAgIGZvbnQ6IHZhcigtLWNwZC1mb250LWJvZHkteHMtcmVndWxhcik7XG4gICAgICAgICAgICB9XG5cbi5teF9CZXRhQ2FyZCAubXhfQmV0YUNhcmRfY29sdW1ucyAubXhfQmV0YUNhcmRfY29sdW1uc19kZXNjcmlwdGlvbiAubXhfQmV0YUNhcmRfZmFxID4gaDQge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDEycHggMCAwO1xuICAgICAgICAgICAgICAgIH1cblxuLm14X0JldGFDYXJkIC5teF9CZXRhQ2FyZF9jb2x1bW5zIC5teF9CZXRhQ2FyZF9jb2x1bW5zX2Rlc2NyaXB0aW9uIC5teF9CZXRhQ2FyZF9mYXEgPiBwIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgICAgIH1cblxuLm14X0JldGFDYXJkIC5teF9CZXRhQ2FyZF9jb2x1bW5zIC5teF9CZXRhQ2FyZF9jb2x1bW5zX2ltYWdlX3dyYXBwZXIge1xuICAgICAgICAgICAgbWFyZ2luOiBhdXRvIDA7XG4gICAgICAgIH1cblxuLm14X0JldGFDYXJkIC5teF9CZXRhQ2FyZF9jb2x1bW5zIC5teF9CZXRhQ2FyZF9jb2x1bW5zX2ltYWdlX3dyYXBwZXIgLm14X0JldGFDYXJkX2NvbHVtbnNfaW1hZ2Uge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIG1heC13aWR0aDogMzAwcHg7XG4gICAgICAgICAgICAgICAgLW8tb2JqZWN0LWZpdDogY29udGFpbjtcbiAgICAgICAgICAgICAgICAgICBvYmplY3QtZml0OiBjb250YWluO1xuICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgICAgICAgICB9XG5cbi5teF9CZXRhQ2FyZCAubXhfQmV0YUNhcmRfcmVsYXRlZFNldHRpbmdzIC5teF9TZXR0aW5nc0ZsYWcge1xuICAgICAgICAgICAgbWFyZ2luOiAxNnB4IDAgMDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuNXJlbTtcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS10aW1lbGluZS10ZXh0LWNvbG9yKTtcbiAgICAgICAgfVxuXG4ubXhfQmV0YUNhcmQgLm14X0JldGFDYXJkX3JlbGF0ZWRTZXR0aW5ncyAubXhfU2V0dGluZ3NGbGFnIC5teF9TZXR0aW5nc0ZsYWdfbWljcm9jb3B5IHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiA0cHg7XG4gICAgICAgICAgICAgICAgZm9udDogdmFyKC0tY3BkLWZvbnQtYm9keS1zbS1yZWd1bGFyKTtcbiAgICAgICAgICAgIH1cblxuLm14X0JldGFDYXJkX2JldGFQaWxsIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wcmltYXJ5LWNvbG9yKTtcbiAgICBwYWRkaW5nOiA0cHggMTBweDtcbiAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBmb250LXNpemU6IDAuNzVyZW07XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWNwZC1mb250LXdlaWdodC1zZW1pYm9sZCk7XG4gICAgbGluZS1oZWlnaHQ6IDE1cHg7XG4gICAgY29sb3I6ICNmZmZmZmY7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHZlcnRpY2FsLWFsaWduOiB0ZXh0LWJvdHRvbTtcbiAgICB3b3JkLWJyZWFrOiBrZWVwLWFsbDsgLyogYXZvaWQgbXVsdGlwbGUgbGluZXMgb24gQ0pLIGxhbmd1YWdlICovXG59XG5cbi5teF9CZXRhQ2FyZF9iZXRhUGlsbC5teF9BY2Nlc3NpYmxlQnV0dG9uIHtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIH1cblxuLypcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxuQ29weXJpZ2h0IDIwMjEgxaBpbW9uIEJyYW5kbmVyIDxzaW1vbi5icmEuYWdAZ21haWwuY29tPlxuXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXG4qL1xuXG4ubXhfRGV2aWNlQ29udGV4dE1lbnUge1xuICAgIG1heC13aWR0aDogMjUycHg7XG59XG5cbi5teF9EZXZpY2VDb250ZXh0TWVudSAubXhfRGV2aWNlQ29udGV4dE1lbnVfZGV2aWNlX2ljb24ge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuLm14X0RldmljZUNvbnRleHRNZW51IC5teF9JY29uaXplZENvbnRleHRNZW51X2xhYmVsIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4vKlxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXG5Db3B5cmlnaHQgMjAyMC0yMDIzIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXG5cblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cbiovXG5cbi8qIEEgY29udGV4dCBtZW51IHRoYXQgbGFyZ2VseSBmaXRzIHRoZSB8IFtpY29uXSAgICBbbGFiZWxdIHwgZm9ybWF0LiAqL1xuXG4ubXhfSWNvbml6ZWRDb250ZXh0TWVudSB7XG4gICAgbWluLXdpZHRoOiAxNDZweDtcbiAgICB3aWR0aDogLXdlYmtpdC1tYXgtY29udGVudDtcbiAgICB3aWR0aDogLW1vei1tYXgtY29udGVudDtcbiAgICB3aWR0aDogbWF4LWNvbnRlbnQ7XG4gICAgLyogb3ZlcnJpZGUgZGVmYXVsdCB1bCBzdHlsZXMgKi9cbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbn1cblxuLm14X0ljb25pemVkQ29udGV4dE1lbnUgLm14X0ljb25pemVkQ29udGV4dE1lbnVfb3B0aW9uTGlzdCA+ICoge1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMjBweDtcbiAgICAgICAgfVxuXG4ubXhfSWNvbml6ZWRDb250ZXh0TWVudSAubXhfSWNvbml6ZWRDb250ZXh0TWVudV9vcHRpb25MaXN0IC5teF9JY29uaXplZENvbnRleHRNZW51X29wdGlvbkxpc3RfbGFiZWwge1xuICAgICAgICAgICAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gICAgICAgICAgICBmb250LXdlaWdodDogdmFyKC0tY3BkLWZvbnQtd2VpZ2h0LXNlbWlib2xkKTtcbiAgICAgICAgfVxuXG4vKiB0aGUgbm90Rmlyc3QgY2xhc3MgaXMgZm9yIGNhc2VzIHdoZXJlIHRoZSBvcHRpb25MaXN0IG1pZ2h0IGJlIHVuZGVyIGEgaGVhZGVyIG9mIHNvcnRzLiAqL1xuXG4ubXhfSWNvbml6ZWRDb250ZXh0TWVudSAubXhfSWNvbml6ZWRDb250ZXh0TWVudV9vcHRpb25MaXN0Om50aC1jaGlsZChuICsgMiksXG4gICAgICAgIC5teF9JY29uaXplZENvbnRleHRNZW51IC5teF9JY29uaXplZENvbnRleHRNZW51X29wdGlvbkxpc3QgLm14X0ljb25pemVkQ29udGV4dE1lbnVfb3B0aW9uTGlzdF9ub3RGaXJzdCB7XG4gICAgICAgICAgICBib3JkZXItdG9wOiB2YXIoLS1jcGQtYm9yZGVyLXdpZHRoLTEpIHNvbGlkIHZhcigtLWNwZC1jb2xvci1ncmF5LTQwMCk7XG4gICAgICAgIH1cblxuLyogcm91bmQgdGhlIHRvcCBjb3JuZXJzIG9mIHRoZSB0b3AgYnV0dG9uIGZvciB0aGUgaG92ZXIgZWZmZWN0IHRvIGJlIGJvdW5kZWQgKi9cblxuLm14X0ljb25pemVkQ29udGV4dE1lbnUgLm14X0ljb25pemVkQ29udGV4dE1lbnVfb3B0aW9uTGlzdDpmaXJzdC1jaGlsZCAubXhfSWNvbml6ZWRDb250ZXh0TWVudV9pdGVtOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDhweCA4cHggMCAwOyAvKiByYWRpdXMgbWF0Y2hlcyAubXhfQ29udGV4dHVhbE1lbnUgKi9cbiAgICAgICAgfVxuXG4vKiByb3VuZCB0aGUgYm90dG9tIGNvcm5lcnMgb2YgdGhlIGJvdHRvbSBidXR0b24gZm9yIHRoZSBob3ZlciBlZmZlY3QgdG8gYmUgYm91bmRlZCAqL1xuXG4ubXhfSWNvbml6ZWRDb250ZXh0TWVudSAubXhfSWNvbml6ZWRDb250ZXh0TWVudV9vcHRpb25MaXN0Omxhc3QtY2hpbGQgLm14X0ljb25pemVkQ29udGV4dE1lbnVfaXRlbTpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDAgMCA4cHggOHB4OyAvKiByYWRpdXMgbWF0Y2hlcyAubXhfQ29udGV4dHVhbE1lbnUgKi9cbiAgICAgICAgfVxuXG4vKiByb3VuZCBhbGwgY29ybmVycyBvZiB0aGUgb25seSBidXR0b24gZm9yIHRoZSBob3ZlciBlZmZlY3QgdG8gYmUgYm91bmRlZCAqL1xuXG4ubXhfSWNvbml6ZWRDb250ZXh0TWVudSAubXhfSWNvbml6ZWRDb250ZXh0TWVudV9vcHRpb25MaXN0OmZpcnN0LWNoaWxkOmxhc3QtY2hpbGQgLm14X0ljb25pemVkQ29udGV4dE1lbnVfaXRlbTpmaXJzdC1jaGlsZDpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDhweDsgLyogcmFkaXVzIG1hdGNoZXMgLm14X0NvbnRleHR1YWxNZW51ICovXG4gICAgICAgIH1cblxuLm14X0ljb25pemVkQ29udGV4dE1lbnUgLm14X0ljb25pemVkQ29udGV4dE1lbnVfb3B0aW9uTGlzdCAubXhfSWNvbml6ZWRDb250ZXh0TWVudV9pdGVtIHtcbiAgICAgICAgICAgIC8qIHBhZCB0aGUgaW5zaWRlIG9mIHRoZSBidXR0b24gc28gdGhhdCB0aGUgaG92ZXIgYmFja2dyb3VuZCBpcyBwYWRkZWQgdG9vICovXG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogMTJweDtcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAxMnB4O1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICAgICAgY29sb3I6IHZhcigtLXRpbWVsaW5lLXRleHQtY29sb3IpO1xuICAgICAgICAgICAgZm9udDogdmFyKC0tY3BkLWZvbnQtYm9keS1tZC1yZWd1bGFyKTtcblxuICAgICAgICAgICAgLyogQ3JlYXRlIGEgZmxleGJveCB0byBtb3JlIGVhc2lseSBkZWZpbmUgdGhlIGxpc3QgaXRlbXMgKi9cbiAgICAgICAgICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICAgICAgICAgICAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICB9XG5cbi5teF9JY29uaXplZENvbnRleHRNZW51IC5teF9JY29uaXplZENvbnRleHRNZW51X29wdGlvbkxpc3QgLm14X0ljb25pemVkQ29udGV4dE1lbnVfaXRlbTpob3ZlcixcbiAgICAgICAgICAgIC5teF9JY29uaXplZENvbnRleHRNZW51IC5teF9JY29uaXplZENvbnRleHRNZW51X29wdGlvbkxpc3QgLm14X0ljb25pemVkQ29udGV4dE1lbnVfaXRlbTpmb2N1cy12aXNpYmxlIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jcGQtY29sb3ItYmctYWN0aW9uLXNlY29uZGFyeS1ob3ZlcmVkKTtcbiAgICAgICAgICAgIH1cblxuLm14X0ljb25pemVkQ29udGV4dE1lbnUgLm14X0ljb25pemVkQ29udGV4dE1lbnVfb3B0aW9uTGlzdCAubXhfSWNvbml6ZWRDb250ZXh0TWVudV9pdGVtLm14X0FjY2Vzc2libGVCdXR0b25fZGlzYWJsZWQge1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDAuNTtcbiAgICAgICAgICAgICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICAgICAgICAgICAgfVxuXG4ubXhfSWNvbml6ZWRDb250ZXh0TWVudSAubXhfSWNvbml6ZWRDb250ZXh0TWVudV9vcHRpb25MaXN0IC5teF9JY29uaXplZENvbnRleHRNZW51X2l0ZW0gaW1nLFxuICAgICAgICAgICAgLm14X0ljb25pemVkQ29udGV4dE1lbnUgLm14X0ljb25pemVkQ29udGV4dE1lbnVfb3B0aW9uTGlzdCAubXhfSWNvbml6ZWRDb250ZXh0TWVudV9pdGVtIC5teF9JY29uaXplZENvbnRleHRNZW51X2ljb24ge1xuICAgICAgICAgICAgICAgIC8qIGljb25zICovXG4gICAgICAgICAgICAgICAgd2lkdGg6IDE2cHg7XG4gICAgICAgICAgICAgICAgbWluLXdpZHRoOiAxNnB4O1xuICAgICAgICAgICAgICAgIG1heC13aWR0aDogMTZweDtcbiAgICAgICAgICAgIH1cblxuLm14X0ljb25pemVkQ29udGV4dE1lbnUgLm14X0ljb25pemVkQ29udGV4dE1lbnVfb3B0aW9uTGlzdCAubXhfSWNvbml6ZWRDb250ZXh0TWVudV9pdGVtIHNwYW4ubXhfSWNvbml6ZWRDb250ZXh0TWVudV9sYWJlbCB7XG4gICAgICAgICAgICAgICAgLyogbGFiZWxzICovXG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgLXdlYmtpdC1ib3gtZmxleDogMTtcbiAgICAgICAgICAgICAgICAgICAgLW1zLWZsZXg6IDE7XG4gICAgICAgICAgICAgICAgICAgICAgICBmbGV4OiAxO1xuXG4gICAgICAgICAgICAgICAgLyogRWxsaXBzaXplIGFueSB0ZXh0IG92ZXJmbG93ICovXG4gICAgICAgICAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICAgICAgfVxuXG4ubXhfSWNvbml6ZWRDb250ZXh0TWVudSAubXhfSWNvbml6ZWRDb250ZXh0TWVudV9vcHRpb25MaXN0IC5teF9JY29uaXplZENvbnRleHRNZW51X2l0ZW0gLm14X0ljb25pemVkQ29udGV4dE1lbnVfaWNvbiArIC5teF9JY29uaXplZENvbnRleHRNZW51X2xhYmVsIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDE0cHg7XG4gICAgICAgICAgICB9XG5cbi5teF9JY29uaXplZENvbnRleHRNZW51IC5teF9JY29uaXplZENvbnRleHRNZW51X29wdGlvbkxpc3QgLm14X0ljb25pemVkQ29udGV4dE1lbnVfaXRlbSAubXhfQmV0YUNhcmRfYmV0YVBpbGwge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAxNnB4O1xuICAgICAgICAgICAgfVxuXG4ubXhfSWNvbml6ZWRDb250ZXh0TWVudSAubXhfSWNvbml6ZWRDb250ZXh0TWVudV9pY29uIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB3aWR0aDogMTZweDtcbiAgICAgICAgaGVpZ2h0OiAxNnB4O1xuICAgIH1cblxuLm14X0ljb25pemVkQ29udGV4dE1lbnUgLm14X0ljb25pemVkQ29udGV4dE1lbnVfaWNvbjo6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICB3aWR0aDogaW5oZXJpdDtcbiAgICAgICAgICAgIGhlaWdodDogaW5oZXJpdDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIC13ZWJraXQtbWFzay1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICBtYXNrLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICAgICAgICAtd2Via2l0LW1hc2stc2l6ZTogY29udGFpbjtcbiAgICAgICAgICAgICAgICAgICAgbWFzay1zaXplOiBjb250YWluO1xuICAgICAgICAgICAgLXdlYmtpdC1tYXNrLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgICAgICAgICAgICBtYXNrLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY3BkLWNvbG9yLWljb24tcHJpbWFyeSk7XG4gICAgICAgIH1cblxuLm14X0ljb25pemVkQ29udGV4dE1lbnUgLm14X0ljb25pemVkQ29udGV4dE1lbnVfb3B0aW9uTGlzdF9yZWQgLm14X0ljb25pemVkQ29udGV4dE1lbnVfaXRlbSB7XG4gICAgICAgICAgICBjb2xvcjogI2ZmNWI1NSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgY29sb3I6IHZhcigtLWFsZXJ0LCAjZmY1YjU1KSAhaW1wb3J0YW50O1xuICAgICAgICB9XG5cbi5teF9JY29uaXplZENvbnRleHRNZW51IC5teF9JY29uaXplZENvbnRleHRNZW51X29wdGlvbkxpc3RfcmVkIC5teF9JY29uaXplZENvbnRleHRNZW51X2ljb246OmJlZm9yZSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jcGQtY29sb3ItaWNvbi1jcml0aWNhbC1wcmltYXJ5KTtcbiAgICAgICAgfVxuXG4ubXhfSWNvbml6ZWRDb250ZXh0TWVudSAubXhfSWNvbml6ZWRDb250ZXh0TWVudV9vcHRpb25fcmVkIHtcbiAgICAgICAgY29sb3I6ICNmZjViNTUgIWltcG9ydGFudDtcbiAgICAgICAgY29sb3I6IHZhcigtLWFsZXJ0LCAjZmY1YjU1KSAhaW1wb3J0YW50O1xuICAgIH1cblxuLm14X0ljb25pemVkQ29udGV4dE1lbnUgLm14X0ljb25pemVkQ29udGV4dE1lbnVfb3B0aW9uX3JlZCAubXhfSWNvbml6ZWRDb250ZXh0TWVudV9pY29uOjpiZWZvcmUge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmNWI1NTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWFsZXJ0LCAjZmY1YjU1KTtcbiAgICAgICAgfVxuXG4ubXhfSWNvbml6ZWRDb250ZXh0TWVudSAubXhfSWNvbml6ZWRDb250ZXh0TWVudV9hY3RpdmUubXhfSWNvbml6ZWRDb250ZXh0TWVudV9pdGVtLFxuICAgICAgICAubXhfSWNvbml6ZWRDb250ZXh0TWVudSAubXhfSWNvbml6ZWRDb250ZXh0TWVudV9hY3RpdmUgLm14X0ljb25pemVkQ29udGV4dE1lbnVfaXRlbSB7XG4gICAgICAgICAgICBjb2xvcjogIzBkYmQ4YiAhaW1wb3J0YW50O1xuICAgICAgICAgICAgY29sb3I6IHZhcigtLWFjY2VudC1jb2xvciwgIzBkYmQ4YikgIWltcG9ydGFudDtcbiAgICAgICAgfVxuXG4ubXhfSWNvbml6ZWRDb250ZXh0TWVudSAubXhfSWNvbml6ZWRDb250ZXh0TWVudV9hY3RpdmUgLm14X0ljb25pemVkQ29udGV4dE1lbnVfaWNvbjo6YmVmb3JlIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwZGJkOGI7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1hY2NlbnQtY29sb3IsICMwZGJkOGIpO1xuICAgICAgICB9XG5cbi5teF9JY29uaXplZENvbnRleHRNZW51Lm14X0ljb25pemVkQ29udGV4dE1lbnVfY29tcGFjdCAubXhfSWNvbml6ZWRDb250ZXh0TWVudV9vcHRpb25MaXN0ID4gKiB7XG4gICAgICAgICAgICBwYWRkaW5nOiA4cHggMTZweCA4cHggMTJweDtcbiAgICAgICAgfVxuXG4ubXhfSWNvbml6ZWRDb250ZXh0TWVudSAubXhfSWNvbml6ZWRDb250ZXh0TWVudV9jaGVja2VkLFxuICAgIC5teF9JY29uaXplZENvbnRleHRNZW51IC5teF9JY29uaXplZENvbnRleHRNZW51X3VuY2hlY2tlZCB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAxNnB4O1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IC01cHg7XG4gICAgfVxuXG4ubXhfSWNvbml6ZWRDb250ZXh0TWVudSAubXhfSWNvbml6ZWRDb250ZXh0TWVudV9kZXZlbG9wZXJUb29sczo6YmVmb3JlIHtcbiAgICAgICAgLXdlYmtpdC1tYXNrLWltYWdlOiB1cmwoXCIuLi8uLi8uLi9pbWcvZWxlbWVudC1pY29ucy9zZXR0aW5ncy9mbGFzay5zdmdcIik7XG4gICAgICAgICAgICAgICAgbWFzay1pbWFnZTogdXJsKFwiLi4vLi4vLi4vaW1nL2VsZW1lbnQtaWNvbnMvc2V0dGluZ3MvZmxhc2suc3ZnXCIpO1xuICAgIH1cblxuLm14X0ljb25pemVkQ29udGV4dE1lbnUgLm14X0ljb25pemVkQ29udGV4dE1lbnVfY2hlY2tlZDo6YmVmb3JlIHtcbiAgICAgICAgLXdlYmtpdC1tYXNrLWltYWdlOiB1cmwoXCJAdmVjdG9yLWltL2NvbXBvdW5kLWRlc2lnbi10b2tlbnMvaWNvbnMvY2hlY2suc3ZnXCIpO1xuICAgICAgICAgICAgICAgIG1hc2staW1hZ2U6IHVybChcIkB2ZWN0b3ItaW0vY29tcG91bmQtZGVzaWduLXRva2Vucy9pY29ucy9jaGVjay5zdmdcIik7XG4gICAgfVxuXG4ubXhfSWNvbml6ZWRDb250ZXh0TWVudSAubXhfSWNvbml6ZWRDb250ZXh0TWVudV91bmNoZWNrZWQ6OmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IG5vcm1hbDtcbiAgICAgICAgY29udGVudDogaW5pdGlhbDtcbiAgICB9XG5cbi5teF9JY29uaXplZENvbnRleHRNZW51IC5teF9JY29uaXplZENvbnRleHRNZW51X3N1YmxhYmVsIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDIwcHg7XG4gICAgICAgIGNvbG9yOiAjZWRmM2ZmO1xuICAgICAgICBjb2xvcjogdmFyKC0tdGVydGlhcnktY29udGVudCwgI2VkZjNmZik7XG4gICAgfVxuXG4ubXhfSWNvbml6ZWRDb250ZXh0TWVudV9pdGVtLm14X0ljb25pemVkQ29udGV4dE1lbnVfaXRlbURlc3RydWN0aXZlIHtcbiAgICBjb2xvcjogI2ZmNWI1NSAhaW1wb3J0YW50O1xuICAgIGNvbG9yOiB2YXIoLS1hbGVydCwgI2ZmNWI1NSkgIWltcG9ydGFudDtcbn1cblxuLypcbkNvcHlyaWdodCAyMDIwLTIwMjQgTmV3IFZlY3RvciBMdGQuXG5cblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cbiovXG5cbi5teF9MZWdhY3lDYWxsQ29udGV4dE1lbnVfaXRlbSB7XG4gICAgd2lkdGg6IDIwNXB4O1xuICAgIGhlaWdodDogNDBweDtcbiAgICBwYWRkaW5nLWxlZnQ6IDE2cHg7XG4gICAgbGluZS1oZWlnaHQ6IDQwcHg7XG4gICAgdmVydGljYWwtYWxpZ246IGNlbnRlcjtcbn1cblxuLypcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxuQ29weXJpZ2h0IDIwMjEgTWljaGFlbCBXZWltYW5uIDxtYWlsQG1pY2hhZWwtd2VpbWFubi5ldT5cbkNvcHlyaWdodCAyMDE1LCAyMDE2IE9wZW5NYXJrZXQgTHRkXG5cblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cbiovXG5cbi5teF9NZXNzYWdlQ29udGV4dE1lbnUgLm14X0ljb25pemVkQ29udGV4dE1lbnVfaWNvbiB7XG4gICAgICAgIHdpZHRoOiAxNnB4O1xuICAgICAgICBoZWlnaHQ6IDE2cHg7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxuLm14X01lc3NhZ2VDb250ZXh0TWVudSAubXhfSWNvbml6ZWRDb250ZXh0TWVudV9pY29uOjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgIHdpZHRoOiAxNnB4O1xuICAgICAgICAgICAgaGVpZ2h0OiAxNnB4O1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAtd2Via2l0LW1hc2stcG9zaXRpb246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgbWFzay1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgICAgICAgLXdlYmtpdC1tYXNrLXNpemU6IGNvbnRhaW47XG4gICAgICAgICAgICAgICAgICAgIG1hc2stc2l6ZTogY29udGFpbjtcbiAgICAgICAgICAgIC13ZWJraXQtbWFzay1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgICAgICAgICAgICAgbWFzay1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgfVxuXG4ubXhfTWVzc2FnZUNvbnRleHRNZW51IC5teF9NZXNzYWdlQ29udGV4dE1lbnVfaWNvbkNvbGxhcHNlOjpiZWZvcmUge1xuICAgICAgICAtd2Via2l0LW1hc2staW1hZ2U6IHVybChcIkB2ZWN0b3ItaW0vY29tcG91bmQtZGVzaWduLXRva2Vucy9pY29ucy9jaGV2cm9uLXVwLnN2Z1wiKTtcbiAgICAgICAgICAgICAgICBtYXNrLWltYWdlOiB1cmwoXCJAdmVjdG9yLWltL2NvbXBvdW5kLWRlc2lnbi10b2tlbnMvaWNvbnMvY2hldnJvbi11cC5zdmdcIik7XG4gICAgfVxuXG4ubXhfTWVzc2FnZUNvbnRleHRNZW51IC5teF9NZXNzYWdlQ29udGV4dE1lbnVfaWNvblJlcG9ydDo6YmVmb3JlIHtcbiAgICAgICAgLXdlYmtpdC1tYXNrLWltYWdlOiB1cmwoXCJAdmVjdG9yLWltL2NvbXBvdW5kLWRlc2lnbi10b2tlbnMvaWNvbnMvZXJyb3Iuc3ZnXCIpO1xuICAgICAgICAgICAgICAgIG1hc2staW1hZ2U6IHVybChcIkB2ZWN0b3ItaW0vY29tcG91bmQtZGVzaWduLXRva2Vucy9pY29ucy9lcnJvci5zdmdcIik7XG4gICAgfVxuXG4ubXhfTWVzc2FnZUNvbnRleHRNZW51IC5teF9NZXNzYWdlQ29udGV4dE1lbnVfaWNvbkxpbms6OmJlZm9yZSB7XG4gICAgICAgIC13ZWJraXQtbWFzay1pbWFnZTogdXJsKFwiQHZlY3Rvci1pbS9jb21wb3VuZC1kZXNpZ24tdG9rZW5zL2ljb25zL2xpbmsuc3ZnXCIpO1xuICAgICAgICAgICAgICAgIG1hc2staW1hZ2U6IHVybChcIkB2ZWN0b3ItaW0vY29tcG91bmQtZGVzaWduLXRva2Vucy9pY29ucy9saW5rLnN2Z1wiKTtcbiAgICB9XG5cbi5teF9NZXNzYWdlQ29udGV4dE1lbnUgLm14X01lc3NhZ2VDb250ZXh0TWVudV9pY29uUGVybWFsaW5rOjpiZWZvcmUge1xuICAgICAgICAtd2Via2l0LW1hc2staW1hZ2U6IHVybChcIi4uLy4uLy4uL2ltZy9lbGVtZW50LWljb25zL3Jvb20vc2hhcmUuc3ZnXCIpO1xuICAgICAgICAgICAgICAgIG1hc2staW1hZ2U6IHVybChcIi4uLy4uLy4uL2ltZy9lbGVtZW50LWljb25zL3Jvb20vc2hhcmUuc3ZnXCIpO1xuICAgIH1cblxuLm14X01lc3NhZ2VDb250ZXh0TWVudSAubXhfTWVzc2FnZUNvbnRleHRNZW51X2ljb25VbmhpZGVQcmV2aWV3OjpiZWZvcmUge1xuICAgICAgICAtd2Via2l0LW1hc2staW1hZ2U6IHVybChcIi4uLy4uLy4uL2ltZy9lbGVtZW50LWljb25zL3NldHRpbmdzL2FwcGVhcmFuY2Uuc3ZnXCIpO1xuICAgICAgICAgICAgICAgIG1hc2staW1hZ2U6IHVybChcIi4uLy4uLy4uL2ltZy9lbGVtZW50LWljb25zL3NldHRpbmdzL2FwcGVhcmFuY2Uuc3ZnXCIpO1xuICAgIH1cblxuLm14X01lc3NhZ2VDb250ZXh0TWVudSAubXhfTWVzc2FnZUNvbnRleHRNZW51X2ljb25PcGVuSW5NYXBTaXRlOjpiZWZvcmUge1xuICAgICAgICAtd2Via2l0LW1hc2staW1hZ2U6IHVybChcIi4uLy4uLy4uL2ltZy9leHRlcm5hbC1saW5rLnN2Z1wiKTtcbiAgICAgICAgICAgICAgICBtYXNrLWltYWdlOiB1cmwoXCIuLi8uLi8uLi9pbWcvZXh0ZXJuYWwtbGluay5zdmdcIik7XG4gICAgfVxuXG4ubXhfTWVzc2FnZUNvbnRleHRNZW51IC5teF9NZXNzYWdlQ29udGV4dE1lbnVfaWNvbkVuZFBvbGw6OmJlZm9yZSB7XG4gICAgICAgIC13ZWJraXQtbWFzay1pbWFnZTogdXJsKFwiQHZlY3Rvci1pbS9jb21wb3VuZC1kZXNpZ24tdG9rZW5zL2ljb25zL2NoZWNrLnN2Z1wiKTtcbiAgICAgICAgICAgICAgICBtYXNrLWltYWdlOiB1cmwoXCJAdmVjdG9yLWltL2NvbXBvdW5kLWRlc2lnbi10b2tlbnMvaWNvbnMvY2hlY2suc3ZnXCIpO1xuICAgIH1cblxuLm14X01lc3NhZ2VDb250ZXh0TWVudSAubXhfTWVzc2FnZUNvbnRleHRNZW51X2ljb25Gb3J3YXJkOjpiZWZvcmUge1xuICAgICAgICAtd2Via2l0LW1hc2staW1hZ2U6IHVybChcIkB2ZWN0b3ItaW0vY29tcG91bmQtZGVzaWduLXRva2Vucy9pY29ucy9mb3J3YXJkLnN2Z1wiKTtcbiAgICAgICAgICAgICAgICBtYXNrLWltYWdlOiB1cmwoXCJAdmVjdG9yLWltL2NvbXBvdW5kLWRlc2lnbi10b2tlbnMvaWNvbnMvZm9yd2FyZC5zdmdcIik7XG4gICAgfVxuXG4ubXhfTWVzc2FnZUNvbnRleHRNZW51IC5teF9NZXNzYWdlQ29udGV4dE1lbnVfaWNvblJlZGFjdDo6YmVmb3JlIHtcbiAgICAgICAgLXdlYmtpdC1tYXNrLWltYWdlOiB1cmwoXCJAdmVjdG9yLWltL2NvbXBvdW5kLWRlc2lnbi10b2tlbnMvaWNvbnMvZGVsZXRlLnN2Z1wiKTtcbiAgICAgICAgICAgICAgICBtYXNrLWltYWdlOiB1cmwoXCJAdmVjdG9yLWltL2NvbXBvdW5kLWRlc2lnbi10b2tlbnMvaWNvbnMvZGVsZXRlLnN2Z1wiKTtcbiAgICB9XG5cbi5teF9NZXNzYWdlQ29udGV4dE1lbnUgLm14X01lc3NhZ2VDb250ZXh0TWVudV9pY29uUmVzZW5kOjpiZWZvcmUge1xuICAgICAgICAtd2Via2l0LW1hc2staW1hZ2U6IHVybChcIkB2ZWN0b3ItaW0vY29tcG91bmQtZGVzaWduLXRva2Vucy9pY29ucy9yZXN0YXJ0LnN2Z1wiKTtcbiAgICAgICAgICAgICAgICBtYXNrLWltYWdlOiB1cmwoXCJAdmVjdG9yLWltL2NvbXBvdW5kLWRlc2lnbi10b2tlbnMvaWNvbnMvcmVzdGFydC5zdmdcIik7XG4gICAgfVxuXG4ubXhfTWVzc2FnZUNvbnRleHRNZW51IC5teF9NZXNzYWdlQ29udGV4dE1lbnVfaWNvblNvdXJjZTo6YmVmb3JlIHtcbiAgICAgICAgLXdlYmtpdC1tYXNrLWltYWdlOiB1cmwoXCJAdmVjdG9yLWltL2NvbXBvdW5kLWRlc2lnbi10b2tlbnMvaWNvbnMvaW5saW5lLWNvZGUuc3ZnXCIpO1xuICAgICAgICAgICAgICAgIG1hc2staW1hZ2U6IHVybChcIkB2ZWN0b3ItaW0vY29tcG91bmQtZGVzaWduLXRva2Vucy9pY29ucy9pbmxpbmUtY29kZS5zdmdcIik7XG4gICAgfVxuXG4ubXhfTWVzc2FnZUNvbnRleHRNZW51IC5teF9NZXNzYWdlQ29udGV4dE1lbnVfaWNvblF1b3RlOjpiZWZvcmUge1xuICAgICAgICAtd2Via2l0LW1hc2staW1hZ2U6IHVybChcIkB2ZWN0b3ItaW0vY29tcG91bmQtZGVzaWduLXRva2Vucy9pY29ucy9xdW90ZS5zdmdcIik7XG4gICAgICAgICAgICAgICAgbWFzay1pbWFnZTogdXJsKFwiQHZlY3Rvci1pbS9jb21wb3VuZC1kZXNpZ24tdG9rZW5zL2ljb25zL3F1b3RlLnN2Z1wiKTtcbiAgICB9XG5cbi5teF9NZXNzYWdlQ29udGV4dE1lbnUgLm14X01lc3NhZ2VDb250ZXh0TWVudV9pY29uUGluOjpiZWZvcmUge1xuICAgICAgICAtd2Via2l0LW1hc2staW1hZ2U6IHVybChcIkB2ZWN0b3ItaW0vY29tcG91bmQtZGVzaWduLXRva2Vucy9pY29ucy9waW4uc3ZnXCIpO1xuICAgICAgICAgICAgICAgIG1hc2staW1hZ2U6IHVybChcIkB2ZWN0b3ItaW0vY29tcG91bmQtZGVzaWduLXRva2Vucy9pY29ucy9waW4uc3ZnXCIpO1xuICAgIH1cblxuLm14X01lc3NhZ2VDb250ZXh0TWVudSAubXhfTWVzc2FnZUNvbnRleHRNZW51X2ljb25VbnBpbjo6YmVmb3JlIHtcbiAgICAgICAgLXdlYmtpdC1tYXNrLWltYWdlOiB1cmwoXCJAdmVjdG9yLWltL2NvbXBvdW5kLWRlc2lnbi10b2tlbnMvaWNvbnMvdW5waW4uc3ZnXCIpO1xuICAgICAgICAgICAgICAgIG1hc2staW1hZ2U6IHVybChcIkB2ZWN0b3ItaW0vY29tcG91bmQtZGVzaWduLXRva2Vucy9pY29ucy91bnBpbi5zdmdcIik7XG4gICAgfVxuXG4ubXhfTWVzc2FnZUNvbnRleHRNZW51IC5teF9NZXNzYWdlQ29udGV4dE1lbnVfaWNvbkNvcHk6OmJlZm9yZSB7XG4gICAgICAgIGhlaWdodDogMTZweDtcbiAgICAgICAgLXdlYmtpdC1tYXNrLWltYWdlOiB1cmwoXCJAdmVjdG9yLWltL2NvbXBvdW5kLWRlc2lnbi10b2tlbnMvaWNvbnMvY29weS5zdmdcIik7XG4gICAgICAgICAgICAgICAgbWFzay1pbWFnZTogdXJsKFwiQHZlY3Rvci1pbS9jb21wb3VuZC1kZXNpZ24tdG9rZW5zL2ljb25zL2NvcHkuc3ZnXCIpO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHdpZHRoOiAxNnB4O1xuICAgIH1cblxuLm14X01lc3NhZ2VDb250ZXh0TWVudSAubXhfTWVzc2FnZUNvbnRleHRNZW51X2ljb25FZGl0OjpiZWZvcmUge1xuICAgICAgICAtd2Via2l0LW1hc2staW1hZ2U6IHVybChcIi4uLy4uLy4uL2ltZy9lbGVtZW50LWljb25zL3Jvb20vbWVzc2FnZS1iYXIvZWRpdC5zdmdcIik7XG4gICAgICAgICAgICAgICAgbWFzay1pbWFnZTogdXJsKFwiLi4vLi4vLi4vaW1nL2VsZW1lbnQtaWNvbnMvcm9vbS9tZXNzYWdlLWJhci9lZGl0LnN2Z1wiKTtcbiAgICB9XG5cbi5teF9NZXNzYWdlQ29udGV4dE1lbnUgLm14X01lc3NhZ2VDb250ZXh0TWVudV9pY29uUmVwbHk6OmJlZm9yZSB7XG4gICAgICAgIC13ZWJraXQtbWFzay1pbWFnZTogdXJsKFwiQHZlY3Rvci1pbS9jb21wb3VuZC1kZXNpZ24tdG9rZW5zL2ljb25zL3JlcGx5LnN2Z1wiKTtcbiAgICAgICAgICAgICAgICBtYXNrLWltYWdlOiB1cmwoXCJAdmVjdG9yLWltL2NvbXBvdW5kLWRlc2lnbi10b2tlbnMvaWNvbnMvcmVwbHkuc3ZnXCIpO1xuICAgIH1cblxuLm14X01lc3NhZ2VDb250ZXh0TWVudSAubXhfTWVzc2FnZUNvbnRleHRNZW51X2ljb25SZXBseUluVGhyZWFkOjpiZWZvcmUge1xuICAgICAgICAtd2Via2l0LW1hc2staW1hZ2U6IHVybChcIkB2ZWN0b3ItaW0vY29tcG91bmQtZGVzaWduLXRva2Vucy9pY29ucy90aHJlYWRzLnN2Z1wiKTtcbiAgICAgICAgICAgICAgICBtYXNrLWltYWdlOiB1cmwoXCJAdmVjdG9yLWltL2NvbXBvdW5kLWRlc2lnbi10b2tlbnMvaWNvbnMvdGhyZWFkcy5zdmdcIik7XG4gICAgfVxuXG4ubXhfTWVzc2FnZUNvbnRleHRNZW51IC5teF9NZXNzYWdlQ29udGV4dE1lbnVfaWNvblJlYWN0OjpiZWZvcmUge1xuICAgICAgICAtd2Via2l0LW1hc2staW1hZ2U6IHVybChcIi4uLy4uLy4uL2ltZy9lbGVtZW50LWljb25zL3Jvb20vbWVzc2FnZS1iYXIvZW1vamkuc3ZnXCIpO1xuICAgICAgICAgICAgICAgIG1hc2staW1hZ2U6IHVybChcIi4uLy4uLy4uL2ltZy9lbGVtZW50LWljb25zL3Jvb20vbWVzc2FnZS1iYXIvZW1vamkuc3ZnXCIpO1xuICAgIH1cblxuLm14X01lc3NhZ2VDb250ZXh0TWVudSAubXhfTWVzc2FnZUNvbnRleHRNZW51X2ljb25WaWV3SW5Sb29tOjpiZWZvcmUge1xuICAgICAgICAtd2Via2l0LW1hc2staW1hZ2U6IHVybChcIi4uLy4uLy4uL2ltZy9lbGVtZW50LWljb25zL3ZpZXctaW4tcm9vbS5zdmdcIik7XG4gICAgICAgICAgICAgICAgbWFzay1pbWFnZTogdXJsKFwiLi4vLi4vLi4vaW1nL2VsZW1lbnQtaWNvbnMvdmlldy1pbi1yb29tLnN2Z1wiKTtcbiAgICB9XG5cbi5teF9NZXNzYWdlQ29udGV4dE1lbnUgLm14X01lc3NhZ2VDb250ZXh0TWVudV9qdW1wVG9FdmVudDo6YmVmb3JlIHtcbiAgICAgICAgLXdlYmtpdC1tYXNrLWltYWdlOiB1cmwoXCIuLi8uLi8uLi9pbWcvZWxlbWVudC1pY29ucy9jaGlsZC1yZWxhdGlvbnNoaXAuc3ZnXCIpO1xuICAgICAgICAgICAgICAgIG1hc2staW1hZ2U6IHVybChcIi4uLy4uLy4uL2ltZy9lbGVtZW50LWljb25zL2NoaWxkLXJlbGF0aW9uc2hpcC5zdmdcIik7XG4gICAgfVxuXG4ubXhfUm9vbUdlbmVyYWxDb250ZXh0TWVudV9pY29uU3Rhcjo6YmVmb3JlIHtcbiAgICAtd2Via2l0LW1hc2staW1hZ2U6IHVybChcIkB2ZWN0b3ItaW0vY29tcG91bmQtZGVzaWduLXRva2Vucy9pY29ucy9mYXZvdXJpdGUtc29saWQuc3ZnXCIpO1xuICAgICAgICAgICAgbWFzay1pbWFnZTogdXJsKFwiQHZlY3Rvci1pbS9jb21wb3VuZC1kZXNpZ24tdG9rZW5zL2ljb25zL2Zhdm91cml0ZS1zb2xpZC5zdmdcIik7XG59XG5cbi5teF9Sb29tR2VuZXJhbENvbnRleHRNZW51X2ljb25BcnJvd0Rvd246OmJlZm9yZSB7XG4gICAgLXdlYmtpdC1tYXNrLWltYWdlOiB1cmwoXCIuLi8uLi8uLi9pbWcvZWxlbWVudC1pY29ucy9yb29tbGlzdC9sb3ctcHJpb3JpdHkuc3ZnXCIpO1xuICAgICAgICAgICAgbWFzay1pbWFnZTogdXJsKFwiLi4vLi4vLi4vaW1nL2VsZW1lbnQtaWNvbnMvcm9vbWxpc3QvbG93LXByaW9yaXR5LnN2Z1wiKTtcbn1cblxuLm14X1Jvb21HZW5lcmFsQ29udGV4dE1lbnVfaWNvbk1hcmtBc1JlYWQ6OmJlZm9yZSB7XG4gICAgLXdlYmtpdC1tYXNrLWltYWdlOiB1cmwoXCIuLi8uLi8uLi9pbWcvZWxlbWVudC1pY29ucy9yb29tbGlzdC9tYXJrLWFzLXJlYWQuc3ZnXCIpO1xuICAgICAgICAgICAgbWFzay1pbWFnZTogdXJsKFwiLi4vLi4vLi4vaW1nL2VsZW1lbnQtaWNvbnMvcm9vbWxpc3QvbWFyay1hcy1yZWFkLnN2Z1wiKTtcbn1cblxuLm14X1Jvb21HZW5lcmFsQ29udGV4dE1lbnVfaWNvbk1hcmtBc1VucmVhZDo6YmVmb3JlIHtcbiAgICAtd2Via2l0LW1hc2staW1hZ2U6IHVybChcIi4uLy4uLy4uL2ltZy9lbGVtZW50LWljb25zL3Jvb21saXN0L21hcmstYXMtdW5yZWFkLnN2Z1wiKTtcbiAgICAgICAgICAgIG1hc2staW1hZ2U6IHVybChcIi4uLy4uLy4uL2ltZy9lbGVtZW50LWljb25zL3Jvb21saXN0L21hcmstYXMtdW5yZWFkLnN2Z1wiKTtcbn1cblxuLm14X1Jvb21HZW5lcmFsQ29udGV4dE1lbnVfaWNvbk5vdGlmaWNhdGlvbnNEZWZhdWx0OjpiZWZvcmUge1xuICAgIC13ZWJraXQtbWFzay1pbWFnZTogdXJsKFwiLi4vLi4vLi4vaW1nL2VsZW1lbnQtaWNvbnMvbm90aWZpY2F0aW9ucy5zdmdcIik7XG4gICAgICAgICAgICBtYXNrLWltYWdlOiB1cmwoXCIuLi8uLi8uLi9pbWcvZWxlbWVudC1pY29ucy9ub3RpZmljYXRpb25zLnN2Z1wiKTtcbn1cblxuLm14X1Jvb21HZW5lcmFsQ29udGV4dE1lbnVfaWNvbk5vdGlmaWNhdGlvbnNBbGxNZXNzYWdlczo6YmVmb3JlIHtcbiAgICAtd2Via2l0LW1hc2staW1hZ2U6IHVybChcIi4uLy4uLy4uL2ltZy9lbGVtZW50LWljb25zL3Jvb21saXN0L25vdGlmaWNhdGlvbnMtZGVmYXVsdC5zdmdcIik7XG4gICAgICAgICAgICBtYXNrLWltYWdlOiB1cmwoXCIuLi8uLi8uLi9pbWcvZWxlbWVudC1pY29ucy9yb29tbGlzdC9ub3RpZmljYXRpb25zLWRlZmF1bHQuc3ZnXCIpO1xufVxuXG4ubXhfUm9vbUdlbmVyYWxDb250ZXh0TWVudV9pY29uTm90aWZpY2F0aW9uc01lbnRpb25zS2V5d29yZHM6OmJlZm9yZSB7XG4gICAgLXdlYmtpdC1tYXNrLWltYWdlOiB1cmwoXCIuLi8uLi8uLi9pbWcvZWxlbWVudC1pY29ucy9yb29tbGlzdC9ub3RpZmljYXRpb25zLWRtLnN2Z1wiKTtcbiAgICAgICAgICAgIG1hc2staW1hZ2U6IHVybChcIi4uLy4uLy4uL2ltZy9lbGVtZW50LWljb25zL3Jvb21saXN0L25vdGlmaWNhdGlvbnMtZG0uc3ZnXCIpO1xufVxuXG4ubXhfUm9vbUdlbmVyYWxDb250ZXh0TWVudV9pY29uTm90aWZpY2F0aW9uc05vbmU6OmJlZm9yZSB7XG4gICAgLXdlYmtpdC1tYXNrLWltYWdlOiB1cmwoXCIuLi8uLi8uLi9pbWcvZWxlbWVudC1pY29ucy9yb29tbGlzdC9ub3RpZmljYXRpb25zLW9mZi5zdmdcIik7XG4gICAgICAgICAgICBtYXNrLWltYWdlOiB1cmwoXCIuLi8uLi8uLi9pbWcvZWxlbWVudC1pY29ucy9yb29tbGlzdC9ub3RpZmljYXRpb25zLW9mZi5zdmdcIik7XG59XG5cbi5teF9Sb29tR2VuZXJhbENvbnRleHRNZW51X2ljb25QZW9wbGU6OmJlZm9yZSB7XG4gICAgLXdlYmtpdC1tYXNrLWltYWdlOiB1cmwoXCJAdmVjdG9yLWltL2NvbXBvdW5kLWRlc2lnbi10b2tlbnMvaWNvbnMvdXNlci1wcm9maWxlLXNvbGlkLnN2Z1wiKTtcbiAgICAgICAgICAgIG1hc2staW1hZ2U6IHVybChcIkB2ZWN0b3ItaW0vY29tcG91bmQtZGVzaWduLXRva2Vucy9pY29ucy91c2VyLXByb2ZpbGUtc29saWQuc3ZnXCIpO1xufVxuXG4ubXhfUm9vbUdlbmVyYWxDb250ZXh0TWVudV9pY29uRmlsZXM6OmJlZm9yZSB7XG4gICAgLXdlYmtpdC1tYXNrLWltYWdlOiB1cmwoXCJAdmVjdG9yLWltL2NvbXBvdW5kLWRlc2lnbi10b2tlbnMvaWNvbnMvZmlsZXMuc3ZnXCIpO1xuICAgICAgICAgICAgbWFzay1pbWFnZTogdXJsKFwiQHZlY3Rvci1pbS9jb21wb3VuZC1kZXNpZ24tdG9rZW5zL2ljb25zL2ZpbGVzLnN2Z1wiKTtcbn1cblxuLm14X1Jvb21HZW5lcmFsQ29udGV4dE1lbnVfaWNvblBpbnM6OmJlZm9yZSB7XG4gICAgLXdlYmtpdC1tYXNrLWltYWdlOiB1cmwoXCIuLi8uLi8uLi9pbWcvZWxlbWVudC1pY29ucy9yb29tL3Bpbi11cHJpZ2h0LnN2Z1wiKTtcbiAgICAgICAgICAgIG1hc2staW1hZ2U6IHVybChcIi4uLy4uLy4uL2ltZy9lbGVtZW50LWljb25zL3Jvb20vcGluLXVwcmlnaHQuc3ZnXCIpO1xufVxuXG4ubXhfUm9vbUdlbmVyYWxDb250ZXh0TWVudV9pY29uV2lkZ2V0czo6YmVmb3JlIHtcbiAgICAtd2Via2l0LW1hc2staW1hZ2U6IHVybChcIkB2ZWN0b3ItaW0vY29tcG91bmQtZGVzaWduLXRva2Vucy9pY29ucy9leHRlbnNpb25zLXNvbGlkLnN2Z1wiKTtcbiAgICAgICAgICAgIG1hc2staW1hZ2U6IHVybChcIkB2ZWN0b3ItaW0vY29tcG91bmQtZGVzaWduLXRva2Vucy9pY29ucy9leHRlbnNpb25zLXNvbGlkLnN2Z1wiKTtcbn1cblxuLm14X1Jvb21HZW5lcmFsQ29udGV4dE1lbnVfaWNvblNldHRpbmdzOjpiZWZvcmUge1xuICAgIC13ZWJraXQtbWFzay1pbWFnZTogdXJsKFwiQHZlY3Rvci1pbS9jb21wb3VuZC1kZXNpZ24tdG9rZW5zL2ljb25zL3NldHRpbmdzLXNvbGlkLnN2Z1wiKTtcbiAgICAgICAgICAgIG1hc2staW1hZ2U6IHVybChcIkB2ZWN0b3ItaW0vY29tcG91bmQtZGVzaWduLXRva2Vucy9pY29ucy9zZXR0aW5ncy1zb2xpZC5zdmdcIik7XG59XG5cbi5teF9Sb29tR2VuZXJhbENvbnRleHRNZW51X2ljb25FeHBvcnQ6OmJlZm9yZSB7XG4gICAgLXdlYmtpdC1tYXNrLWltYWdlOiB1cmwoXCJAdmVjdG9yLWltL2NvbXBvdW5kLWRlc2lnbi10b2tlbnMvaWNvbnMvZXhwb3J0LWFyY2hpdmUuc3ZnXCIpO1xuICAgICAgICAgICAgbWFzay1pbWFnZTogdXJsKFwiQHZlY3Rvci1pbS9jb21wb3VuZC1kZXNpZ24tdG9rZW5zL2ljb25zL2V4cG9ydC1hcmNoaXZlLnN2Z1wiKTtcbn1cblxuLm14X1Jvb21HZW5lcmFsQ29udGV4dE1lbnVfaWNvbkRldmVsb3BlclRvb2xzOjpiZWZvcmUge1xuICAgIC13ZWJraXQtbWFzay1pbWFnZTogdXJsKFwiLi4vLi4vLi4vaW1nL2VsZW1lbnQtaWNvbnMvc2V0dGluZ3MvZmxhc2suc3ZnXCIpO1xuICAgICAgICAgICAgbWFzay1pbWFnZTogdXJsKFwiLi4vLi4vLi4vaW1nL2VsZW1lbnQtaWNvbnMvc2V0dGluZ3MvZmxhc2suc3ZnXCIpO1xufVxuXG4ubXhfUm9vbUdlbmVyYWxDb250ZXh0TWVudV9pY29uQ29weUxpbms6OmJlZm9yZSB7XG4gICAgLXdlYmtpdC1tYXNrLWltYWdlOiB1cmwoXCJAdmVjdG9yLWltL2NvbXBvdW5kLWRlc2lnbi10b2tlbnMvaWNvbnMvbGluay5zdmdcIik7XG4gICAgICAgICAgICBtYXNrLWltYWdlOiB1cmwoXCJAdmVjdG9yLWltL2NvbXBvdW5kLWRlc2lnbi10b2tlbnMvaWNvbnMvbGluay5zdmdcIik7XG59XG5cbi5teF9Sb29tR2VuZXJhbENvbnRleHRNZW51X2ljb25JbnZpdGU6OmJlZm9yZSB7XG4gICAgLXdlYmtpdC1tYXNrLWltYWdlOiB1cmwoXCIuLi8uLi8uLi9pbWcvZWxlbWVudC1pY29ucy9yb29tL2ludml0ZS5zdmdcIik7XG4gICAgICAgICAgICBtYXNrLWltYWdlOiB1cmwoXCIuLi8uLi8uLi9pbWcvZWxlbWVudC1pY29ucy9yb29tL2ludml0ZS5zdmdcIik7XG59XG5cbi5teF9Sb29tR2VuZXJhbENvbnRleHRNZW51X2ljb25TaWduT3V0OjpiZWZvcmUge1xuICAgIC13ZWJraXQtbWFzay1pbWFnZTogdXJsKFwiQHZlY3Rvci1pbS9jb21wb3VuZC1kZXNpZ24tdG9rZW5zL2ljb25zL2xlYXZlLnN2Z1wiKTtcbiAgICAgICAgICAgIG1hc2staW1hZ2U6IHVybChcIkB2ZWN0b3ItaW0vY29tcG91bmQtZGVzaWduLXRva2Vucy9pY29ucy9sZWF2ZS5zdmdcIik7XG59XG5cbi5teF9Sb29tTm90aWZpY2F0aW9uQ29udGV4dE1lbnVfaWNvbkJlbGw6OmJlZm9yZSB7XG4gICAgLXdlYmtpdC1tYXNrLWltYWdlOiB1cmwoXCIuLi8uLi8uLi9pbWcvZWxlbWVudC1pY29ucy9ub3RpZmljYXRpb25zLnN2Z1wiKTtcbiAgICAgICAgICAgIG1hc2staW1hZ2U6IHVybChcIi4uLy4uLy4uL2ltZy9lbGVtZW50LWljb25zL25vdGlmaWNhdGlvbnMuc3ZnXCIpO1xufVxuXG4ubXhfUm9vbU5vdGlmaWNhdGlvbkNvbnRleHRNZW51X2ljb25CZWxsRG90OjpiZWZvcmUge1xuICAgIC13ZWJraXQtbWFzay1pbWFnZTogdXJsKFwiLi4vLi4vLi4vaW1nL2VsZW1lbnQtaWNvbnMvcm9vbWxpc3Qvbm90aWZpY2F0aW9ucy1kZWZhdWx0LnN2Z1wiKTtcbiAgICAgICAgICAgIG1hc2staW1hZ2U6IHVybChcIi4uLy4uLy4uL2ltZy9lbGVtZW50LWljb25zL3Jvb21saXN0L25vdGlmaWNhdGlvbnMtZGVmYXVsdC5zdmdcIik7XG59XG5cbi5teF9Sb29tTm90aWZpY2F0aW9uQ29udGV4dE1lbnVfaWNvbkJlbGxNZW50aW9uczo6YmVmb3JlIHtcbiAgICAtd2Via2l0LW1hc2staW1hZ2U6IHVybChcIi4uLy4uLy4uL2ltZy9lbGVtZW50LWljb25zL3Jvb21saXN0L25vdGlmaWNhdGlvbnMtZG0uc3ZnXCIpO1xuICAgICAgICAgICAgbWFzay1pbWFnZTogdXJsKFwiLi4vLi4vLi4vaW1nL2VsZW1lbnQtaWNvbnMvcm9vbWxpc3Qvbm90aWZpY2F0aW9ucy1kbS5zdmdcIik7XG59XG5cbi5teF9Sb29tTm90aWZpY2F0aW9uQ29udGV4dE1lbnVfaWNvbkJlbGxDcm9zc2VkOjpiZWZvcmUge1xuICAgIC13ZWJraXQtbWFzay1pbWFnZTogdXJsKFwiLi4vLi4vLi4vaW1nL2VsZW1lbnQtaWNvbnMvcm9vbWxpc3Qvbm90aWZpY2F0aW9ucy1vZmYuc3ZnXCIpO1xuICAgICAgICAgICAgbWFzay1pbWFnZTogdXJsKFwiLi4vLi4vLi4vaW1nL2VsZW1lbnQtaWNvbnMvcm9vbWxpc3Qvbm90aWZpY2F0aW9ucy1vZmYuc3ZnXCIpO1xufVxuXG4vKlxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXG5Db3B5cmlnaHQgMjAyMSBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxuXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXG4qL1xuXG4ubXhfQWRkRXhpc3RpbmdUb1NwYWNlRGlhbG9nX3dyYXBwZXIgLm14X0RpYWxvZyB7XG4gICAgICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICAgICAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcbiAgICAgICAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiBub3JtYWw7XG4gICAgICAgICAgICAtbXMtZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIH1cblxuLm14X0FkZEV4aXN0aW5nVG9TcGFjZSAubXhfU2VhcmNoQm94IHtcbiAgICAgICAgLyogVG8gbWF0Y2ggdGhlIHNwYWNlIGFyb3VuZCB0aGUgdGl0bGUgKi9cbiAgICAgICAgbWFyZ2luOiAwIDAgMTVweCAwO1xuICAgICAgICAtd2Via2l0LWJveC1mbGV4OiAwO1xuICAgICAgICAgICAgLW1zLWZsZXgtcG9zaXRpdmU6IDA7XG4gICAgICAgICAgICAgICAgZmxleC1ncm93OiAwO1xuICAgIH1cblxuLm14X0FkZEV4aXN0aW5nVG9TcGFjZSAubXhfQWRkRXhpc3RpbmdUb1NwYWNlX2NvbnRlbnQge1xuICAgICAgICAtd2Via2l0LWJveC1mbGV4OiAxO1xuICAgICAgICAgICAgLW1zLWZsZXgtcG9zaXRpdmU6IDE7XG4gICAgICAgICAgICAgICAgZmxleC1ncm93OiAxO1xuICAgIH1cblxuLm14X0FkZEV4aXN0aW5nVG9TcGFjZSAubXhfQWRkRXhpc3RpbmdUb1NwYWNlX25vUmVzdWx0cyB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBtYXJnaW4tdG9wOiAyNHB4O1xuICAgIH1cblxuLm14X0FkZEV4aXN0aW5nVG9TcGFjZSAubXhfQWRkRXhpc3RpbmdUb1NwYWNlX3NlY3Rpb24ge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDEycHg7XG5cbiAgICAgICAgLyogcHJvdmlkZXMgc3BhY2UgZm9yIHNjcm9sbGJhciBzbyB0aGF0IGNoZWNrYm94IGFuZCBzY3JvbGxiYXIgZG8gbm90IGNvbGxpZGUqL1xuICAgIH1cblxuLm14X0FkZEV4aXN0aW5nVG9TcGFjZSAubXhfQWRkRXhpc3RpbmdUb1NwYWNlX3NlY3Rpb246bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMjRweDtcbiAgICAgICAgfVxuXG4ubXhfQWRkRXhpc3RpbmdUb1NwYWNlIC5teF9BZGRFeGlzdGluZ1RvU3BhY2Vfc2VjdGlvbiA+IGgzIHtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIGNvbG9yOiAjZWRmM2ZmO1xuICAgICAgICAgICAgY29sb3I6IHZhcigtLXNlY29uZGFyeS1jb250ZW50LCAjZWRmM2ZmKTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1jcGQtZm9udC13ZWlnaHQtc2VtaWJvbGQpO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgICAgfVxuXG4ubXhfQWRkRXhpc3RpbmdUb1NwYWNlIC5teF9BZGRFeGlzdGluZ1RvU3BhY2Vfc2VjdGlvbiAubXhfQWNjZXNzaWJsZUJ1dHRvbl9raW5kX2xpbmsge1xuICAgICAgICAgICAgZm9udC1zaXplOiAwLjc1cmVtO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDhweDtcbiAgICAgICAgfVxuXG4ubXhfQWRkRXhpc3RpbmdUb1NwYWNlIC5teF9BZGRFeGlzdGluZ1RvU3BhY2VfZm9vdGVyIHtcbiAgICAgICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gICAgICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBtYXJnaW4tdG9wOiAyMHB4O1xuICAgIH1cblxuLm14X0FkZEV4aXN0aW5nVG9TcGFjZSAubXhfQWRkRXhpc3RpbmdUb1NwYWNlX2Zvb3RlciA+IHNwYW4ge1xuICAgICAgICAgICAgLXdlYmtpdC1ib3gtZmxleDogMTtcbiAgICAgICAgICAgICAgICAtbXMtZmxleC1wb3NpdGl2ZTogMTtcbiAgICAgICAgICAgICAgICAgICAgZmxleC1ncm93OiAxO1xuICAgICAgICAgICAgZm9udC1zaXplOiAwLjc1cmVtO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgICAgICAgIGNvbG9yOiAjZWRmM2ZmO1xuICAgICAgICAgICAgY29sb3I6IHZhcigtLXNlY29uZGFyeS1jb250ZW50LCAjZWRmM2ZmKTtcbiAgICAgICAgfVxuXG4ubXhfQWRkRXhpc3RpbmdUb1NwYWNlIC5teF9BZGRFeGlzdGluZ1RvU3BhY2VfZm9vdGVyID4gc3BhbiAubXhfUHJvZ3Jlc3NCYXIge1xuICAgICAgICAgICAgICAgIGhlaWdodDogOHB4O1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4O1xuICAgICAgICAgICAgfVxuXG4ubXhfQWRkRXhpc3RpbmdUb1NwYWNlIC5teF9BZGRFeGlzdGluZ1RvU3BhY2VfZm9vdGVyID4gc3BhbiAubXhfUHJvZ3Jlc3NCYXI6Oi1tb3otcHJvZ3Jlc3MtYmFyIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4O1xuICAgIH1cblxuLm14X0FkZEV4aXN0aW5nVG9TcGFjZSAubXhfQWRkRXhpc3RpbmdUb1NwYWNlX2Zvb3RlciA+IHNwYW4gLm14X1Byb2dyZXNzQmFyOjotd2Via2l0LXByb2dyZXNzLWJhcixcbiAgICAubXhfQWRkRXhpc3RpbmdUb1NwYWNlIC5teF9BZGRFeGlzdGluZ1RvU3BhY2VfZm9vdGVyID4gc3BhbiAubXhfUHJvZ3Jlc3NCYXI6Oi13ZWJraXQtcHJvZ3Jlc3MtdmFsdWUge1xuICAgICAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgfVxuXG4ubXhfQWRkRXhpc3RpbmdUb1NwYWNlIC5teF9BZGRFeGlzdGluZ1RvU3BhY2VfZm9vdGVyID4gc3BhbiAubXhfQWRkRXhpc3RpbmdUb1NwYWNlRGlhbG9nX3Byb2dyZXNzVGV4dCB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogOHB4O1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjVyZW07XG4gICAgICAgICAgICAgICAgY29sb3I6IHZhcigtLXRpbWVsaW5lLXRleHQtY29sb3IpO1xuICAgICAgICAgICAgfVxuXG4ubXhfQWRkRXhpc3RpbmdUb1NwYWNlIC5teF9BZGRFeGlzdGluZ1RvU3BhY2VfZm9vdGVyID4gc3BhbiA+ICoge1xuICAgICAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgICAgICB9XG5cbi5teF9BZGRFeGlzdGluZ1RvU3BhY2UgLm14X0FkZEV4aXN0aW5nVG9TcGFjZV9mb290ZXIgLm14X0FkZEV4aXN0aW5nVG9TcGFjZV9lcnJvciB7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDEycHg7XG4gICAgICAgIH1cblxuLm14X0FkZEV4aXN0aW5nVG9TcGFjZSAubXhfQWRkRXhpc3RpbmdUb1NwYWNlX2Zvb3RlciAubXhfQWRkRXhpc3RpbmdUb1NwYWNlX2Vycm9yID4gaW1nIHtcbiAgICAgICAgICAgICAgICAtbXMtZmxleC1pdGVtLWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgICAgICAgICAgIH1cblxuLm14X0FkZEV4aXN0aW5nVG9TcGFjZSAubXhfQWRkRXhpc3RpbmdUb1NwYWNlX2Zvb3RlciAubXhfQWRkRXhpc3RpbmdUb1NwYWNlX2Vycm9yIC5teF9BZGRFeGlzdGluZ1RvU3BhY2VfZXJyb3JIZWFkaW5nIHtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogdmFyKC0tY3BkLWZvbnQtd2VpZ2h0LXNlbWlib2xkKTtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMS4xMjVyZW07XG4gICAgICAgICAgICAgICAgY29sb3I6ICNmZjViNTU7XG4gICAgICAgICAgICAgICAgY29sb3I6IHZhcigtLWFsZXJ0LCAjZmY1YjU1KTtcbiAgICAgICAgICAgIH1cblxuLm14X0FkZEV4aXN0aW5nVG9TcGFjZSAubXhfQWRkRXhpc3RpbmdUb1NwYWNlX2Zvb3RlciAubXhfQWRkRXhpc3RpbmdUb1NwYWNlX2Vycm9yIC5teF9BZGRFeGlzdGluZ1RvU3BhY2VfZXJyb3JDYXB0aW9uIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiA0cHg7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAwLjc1cmVtO1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAwLjkzNzVyZW07XG4gICAgICAgICAgICAgICAgY29sb3I6IHZhcigtLXRpbWVsaW5lLXRleHQtY29sb3IpO1xuICAgICAgICAgICAgfVxuXG4ubXhfQWRkRXhpc3RpbmdUb1NwYWNlIC5teF9BZGRFeGlzdGluZ1RvU3BhY2VfZm9vdGVyIC5teF9BY2Nlc3NpYmxlQnV0dG9uIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIC1tcy1mbGV4LWl0ZW0tYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gICAgICAgIH1cblxuLm14X0FkZEV4aXN0aW5nVG9TcGFjZSAubXhfQWRkRXhpc3RpbmdUb1NwYWNlX2Zvb3RlciAubXhfQWNjZXNzaWJsZUJ1dHRvbl9raW5kX3ByaW1hcnkge1xuICAgICAgICAgICAgcGFkZGluZzogOHB4IDM2cHg7XG4gICAgICAgIH1cblxuLm14X0FkZEV4aXN0aW5nVG9TcGFjZSAubXhfQWRkRXhpc3RpbmdUb1NwYWNlX2Zvb3RlciAubXhfQWRkRXhpc3RpbmdUb1NwYWNlX3JldHJ5QnV0dG9uIHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAxMnB4O1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAyNHB4O1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB9XG5cbi5teF9BZGRFeGlzdGluZ1RvU3BhY2UgLm14X0FkZEV4aXN0aW5nVG9TcGFjZV9mb290ZXIgLm14X0FkZEV4aXN0aW5nVG9TcGFjZV9yZXRyeUJ1dHRvbjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS10aW1lbGluZS10ZXh0LWNvbG9yKTtcbiAgICAgICAgICAgICAgICAtd2Via2l0LW1hc2stcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXNrLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgICAgICAgIC13ZWJraXQtbWFzay1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFzay1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgICAgICAgICAgIC13ZWJraXQtbWFzay1zaXplOiBjb250YWluO1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFzay1zaXplOiBjb250YWluO1xuICAgICAgICAgICAgICAgIC13ZWJraXQtbWFzay1pbWFnZTogdXJsKFwiQHZlY3Rvci1pbS9jb21wb3VuZC1kZXNpZ24tdG9rZW5zL2ljb25zL3Jlc3RhcnQuc3ZnXCIpO1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFzay1pbWFnZTogdXJsKFwiQHZlY3Rvci1pbS9jb21wb3VuZC1kZXNpZ24tdG9rZW5zL2ljb25zL3Jlc3RhcnQuc3ZnXCIpO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxOHB4O1xuICAgICAgICAgICAgICAgIGhlaWdodDogMThweDtcbiAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgfVxuXG4ubXhfQWRkRXhpc3RpbmdUb1NwYWNlRGlhbG9nIHtcbiAgICB3aWR0aDogNDgwcHg7XG4gICAgY29sb3I6IHZhcigtLXRpbWVsaW5lLXRleHQtY29sb3IpO1xuICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcbiAgICAtd2Via2l0LWJveC1kaXJlY3Rpb246IG5vcm1hbDtcbiAgICAgICAgLW1zLWZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIC1tcy1mbGV4LXdyYXA6IG5vd3JhcDtcbiAgICAgICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgbWluLWhlaWdodDogMDtcbiAgICBoZWlnaHQ6IDgwdmg7XG59XG5cbi5teF9BZGRFeGlzdGluZ1RvU3BhY2VEaWFsb2cgLm14X0FkZEV4aXN0aW5nVG9TcGFjZSB7XG4gICAgICAgIGRpc3BsYXk6IGNvbnRlbnRzO1xuICAgIH1cblxuLm14X1N1YnNwYWNlU2VsZWN0b3Ige1xuICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICAgIGRpc3BsYXk6IGZsZXg7XG59XG5cbi5teF9TdWJzcGFjZVNlbGVjdG9yIC5teF9CYXNlQXZhdGFyIHtcbiAgICAgICAgbWFyZ2luOiBhdXRvIDE2cHggYXV0byA1cHg7XG4gICAgfVxuXG4ubXhfU3Vic3BhY2VTZWxlY3RvciA+IGRpdiA+IGgxIHtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1jcGQtZm9udC13ZWlnaHQtc2VtaWJvbGQpO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjM3NXJlbTtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgfVxuXG4ubXhfU3Vic3BhY2VTZWxlY3RvciAubXhfRHJvcGRvd25faW5wdXQge1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgfVxuXG4ubXhfU3Vic3BhY2VTZWxlY3RvciAubXhfRHJvcGRvd25faW5wdXQgPiAubXhfRHJvcGRvd25fb3B0aW9uIHtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgICAgIC13ZWJraXQtYm94LWZsZXg6IGluaXRpYWw7XG4gICAgICAgICAgICAgICAgLW1zLWZsZXg6IGluaXRpYWw7XG4gICAgICAgICAgICAgICAgICAgIGZsZXg6IGluaXRpYWw7XG4gICAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgICAgICBoZWlnaHQ6IGluaXRpYWw7XG4gICAgICAgICAgICBjb2xvcjogI2VkZjNmZjtcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1zZWNvbmRhcnktY29udGVudCwgI2VkZjNmZik7XG4gICAgICAgICAgICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjVyZW07XG4gICAgICAgIH1cblxuLm14X1N1YnNwYWNlU2VsZWN0b3IgLm14X0Ryb3Bkb3duX2lucHV0ID4gLm14X0Ryb3Bkb3duX29wdGlvbiAubXhfQmFzZUF2YXRhciB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cblxuLm14X1N1YnNwYWNlU2VsZWN0b3IgLm14X0Ryb3Bkb3duX2lucHV0IC5teF9Ecm9wZG93bl9tZW51IC5teF9TdWJzcGFjZVNlbGVjdG9yX2Ryb3Bkb3duT3B0aW9uQWN0aXZlIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogIzBkYmQ4YjtcbiAgICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tYWNjZW50LWNvbG9yLCAjMGRiZDhiKTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAzMnB4O1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIH1cblxuLm14X1N1YnNwYWNlU2VsZWN0b3IgLm14X0Ryb3Bkb3duX2lucHV0IC5teF9Ecm9wZG93bl9tZW51IC5teF9TdWJzcGFjZVNlbGVjdG9yX2Ryb3Bkb3duT3B0aW9uQWN0aXZlOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMjBweDtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgICAgICAgICAgICAgICAgICB0b3A6IDhweDtcbiAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgICAgLXdlYmtpdC1tYXNrLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFzay1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICAtd2Via2l0LW1hc2stc2l6ZTogY29udGFpbjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXNrLXNpemU6IGNvbnRhaW47XG4gICAgICAgICAgICAgICAgICAgIC13ZWJraXQtbWFzay1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXNrLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMGRiZDhiO1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1hY2NlbnQtY29sb3IsICMwZGJkOGIpO1xuICAgICAgICAgICAgICAgICAgICAtd2Via2l0LW1hc2staW1hZ2U6IHVybChcIkB2ZWN0b3ItaW0vY29tcG91bmQtZGVzaWduLXRva2Vucy9pY29ucy9jaGVjay5zdmdcIik7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFzay1pbWFnZTogdXJsKFwiQHZlY3Rvci1pbS9jb21wb3VuZC1kZXNpZ24tdG9rZW5zL2ljb25zL2NoZWNrLnN2Z1wiKTtcbiAgICAgICAgICAgICAgICB9XG5cbi5teF9TdWJzcGFjZVNlbGVjdG9yIC5teF9TdWJzcGFjZVNlbGVjdG9yX29ubHlTcGFjZSB7XG4gICAgICAgIGNvbG9yOiAjZWRmM2ZmO1xuICAgICAgICBjb2xvcjogdmFyKC0tc2Vjb25kYXJ5LWNvbnRlbnQsICNlZGYzZmYpO1xuICAgICAgICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNXJlbTtcbiAgICB9XG5cbi5teF9BZGRFeGlzdGluZ1RvU3BhY2VfZW50cnkge1xuICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgbWFyZ2luLXRvcDogMTJweDtcbn1cblxuLm14X0FkZEV4aXN0aW5nVG9TcGFjZV9lbnRyeSAubXhfRGVjb3JhdGVkUm9vbUF2YXRhciAvKiB3ZSBjYW4ndCB0YXJnZXQgLm14X0Jhc2VBdmF0YXIgaGVyZSBhcyBpdCdsbCBicmVhayB0aGUgZGVjb3JhdGVkIGF2YXRhciBzdHlsaW5nICovIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMnB4O1xuICAgIH1cblxuLm14X0FkZEV4aXN0aW5nVG9TcGFjZV9lbnRyeSAubXhfQWRkRXhpc3RpbmdUb1NwYWNlX2VudHJ5X25hbWUge1xuICAgICAgICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDMwcHg7XG4gICAgICAgIC13ZWJraXQtYm94LWZsZXg6IDE7XG4gICAgICAgICAgICAtbXMtZmxleC1wb3NpdGl2ZTogMTtcbiAgICAgICAgICAgICAgICBmbGV4LWdyb3c6IDE7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDEycHg7XG4gICAgfVxuXG4ubXhfQWRkRXhpc3RpbmdUb1NwYWNlX2VudHJ5IC5teF9DaGVja2JveCB7XG4gICAgICAgIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgfVxuXG4vKlxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXG5Db3B5cmlnaHQgMjAyMSBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxuXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXG4qL1xuXG4ubXhfQW5hbHl0aWNzTGVhcm5Nb3JlRGlhbG9nIHtcbiAgICBtYXgtd2lkdGg6IDUwMHB4O1xufVxuXG4ubXhfQW5hbHl0aWNzTGVhcm5Nb3JlRGlhbG9nIC5teF9BbmFseXRpY3NMZWFybk1vcmVfaW1hZ2VfaG9sZGVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vLi4vLi4vaW1nL2VsZW1lbnQtc2hpbnkuc3ZnXCIpO1xuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgdG9wO1xuICAgICAgICBoZWlnaHQ6IDExMnB4O1xuICAgICAgICBwYWRkaW5nOiAyMHB4IDBweDtcbiAgICB9XG5cbi5teF9BbmFseXRpY3NMZWFybk1vcmVEaWFsb2cgLm14X0RpYWxvZ19jb250ZW50IHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMHB4O1xuICAgIH1cblxuLm14X0FuYWx5dGljc0xlYXJuTW9yZURpYWxvZyAubXhfQW5hbHl0aWNzTGVhcm5Nb3JlX2NvcHkge1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzAwMDAwMDtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDIwcHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgfVxuXG4ubXhfQW5hbHl0aWNzTGVhcm5Nb3JlRGlhbG9nIGEge1xuICAgICAgICBjb2xvcjogIzBkYmQ4YjtcbiAgICAgICAgY29sb3I6IHZhcigtLWFjY2VudC1jb2xvciwgIzBkYmQ4Yik7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB9XG5cbi5teF9BbmFseXRpY3NMZWFybk1vcmVEaWFsb2cgLm14X0FuYWx5dGljc0xlYXJuTW9yZV9idWxsZXRzIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwcHg7XG4gICAgfVxuXG4ubXhfQW5hbHl0aWNzTGVhcm5Nb3JlRGlhbG9nIC5teF9BbmFseXRpY3NMZWFybk1vcmVfYnVsbGV0cyBsaSB7XG4gICAgICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgICAgICAgcGFkZGluZzogMnB4IDAgMCAzMnB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgfVxuXG4ubXhfQW5hbHl0aWNzTGVhcm5Nb3JlRGlhbG9nIC5teF9BbmFseXRpY3NMZWFybk1vcmVfYnVsbGV0cyBsaTo6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB3aWR0aDogMjZweDtcbiAgICAgICAgICAgIGhlaWdodDogMjZweDtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMGRiZDhiO1xuICAgICAgICAgICAgLXdlYmtpdC1tYXNrLWltYWdlOiB1cmwoXCJAdmVjdG9yLWltL2NvbXBvdW5kLWRlc2lnbi10b2tlbnMvaWNvbnMvY2hlY2stY2lyY2xlLnN2Z1wiKTtcbiAgICAgICAgICAgICAgICAgICAgbWFzay1pbWFnZTogdXJsKFwiQHZlY3Rvci1pbS9jb21wb3VuZC1kZXNpZ24tdG9rZW5zL2ljb25zL2NoZWNrLWNpcmNsZS5zdmdcIik7XG4gICAgICAgICAgICAtd2Via2l0LW1hc2stcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgICAgICAgICAgIG1hc2stcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgICAtd2Via2l0LW1hc2stcG9zaXRpb246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgbWFzay1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgICAgICAgLXdlYmtpdC1tYXNrLXNpemU6IGNvbnRhaW47XG4gICAgICAgICAgICAgICAgICAgIG1hc2stc2l6ZTogY29udGFpbjtcbiAgICAgICAgfVxuXG4ubXhfQXBwRG93bmxvYWREaWFsb2cge1xuICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcbiAgICAtd2Via2l0LWJveC1kaXJlY3Rpb246IG5vcm1hbDtcbiAgICAgICAgLW1zLWZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGdhcDogMzJweDtcbiAgICBjb2xvcjogdmFyKC0tdGltZWxpbmUtdGV4dC1jb2xvcik7XG59XG5cbi5teF9BcHBEb3dubG9hZERpYWxvZy5teF9EaWFsb2dfZml4ZWRXaWR0aCB7XG4gICAgICAgIHdpZHRoOiA2NDBweDtcbiAgICB9XG5cbi5teF9BcHBEb3dubG9hZERpYWxvZyAubXhfQXBwRG93bmxvYWREaWFsb2dfZGVza3RvcCB7XG4gICAgICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICAgICAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcbiAgICAgICAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiBub3JtYWw7XG4gICAgICAgICAgICAtbXMtZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBnYXA6IDE2cHg7XG4gICAgfVxuXG4ubXhfQXBwRG93bmxvYWREaWFsb2cgLm14X0FwcERvd25sb2FkRGlhbG9nX21vYmlsZSB7XG4gICAgICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICAgICAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgLXdlYmtpdC1ib3gtb3JpZW50OiBob3Jpem9udGFsO1xuICAgICAgICAtd2Via2l0LWJveC1kaXJlY3Rpb246IG5vcm1hbDtcbiAgICAgICAgICAgIC1tcy1mbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgIGdhcDogMjRweDtcbiAgICB9XG5cbi5teF9BcHBEb3dubG9hZERpYWxvZyAubXhfQXBwRG93bmxvYWREaWFsb2dfbW9iaWxlIC5teF9BcHBEb3dubG9hZERpYWxvZ19hcHAge1xuICAgICAgICAgICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gICAgICAgICAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xuICAgICAgICAgICAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiBub3JtYWw7XG4gICAgICAgICAgICAgICAgLW1zLWZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICAtd2Via2l0LWJveC1mbGV4OiAxO1xuICAgICAgICAgICAgICAgIC1tcy1mbGV4LXBvc2l0aXZlOiAxO1xuICAgICAgICAgICAgICAgICAgICBmbGV4LWdyb3c6IDE7XG4gICAgICAgICAgICAtbXMtZmxleC1wcmVmZXJyZWQtc2l6ZTogNTAlO1xuICAgICAgICAgICAgICAgIGZsZXgtYmFzaXM6IDUwJTtcbiAgICAgICAgICAgIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIGdhcDogMTZweDtcbiAgICAgICAgfVxuXG4ubXhfQXBwRG93bmxvYWREaWFsb2cgLm14X0FwcERvd25sb2FkRGlhbG9nX21vYmlsZSAubXhfQXBwRG93bmxvYWREaWFsb2dfYXBwIC5teF9RUkNvZGUge1xuICAgICAgICAgICAgICAgIC8qIGludGVudGlvbmFsbHkgaGFyZGNvZGVkIGNvbG9yIHRvIGVuc3VyZSB0aGUgUVIgY29kZSBpcyByZWFkYWJsZSBpbiBhbnkgc2l0dWF0aW9uICovXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogI2ZmZmZmZjtcblxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDI0cHg7XG4gICAgICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgIzZmNzg4MjtcbiAgICAgICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1xdWluYXJ5LWNvbnRlbnQsICM2Zjc4ODIpO1xuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgICAgICAgICAgICAgICAtbXMtZmxleC1pdGVtLWFsaWduOiBzdHJldGNoO1xuICAgICAgICAgICAgICAgICAgICBhbGlnbi1zZWxmOiBzdHJldGNoO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcbiAgICAgICAgICAgICAgICAtd2Via2l0LWJveC1kaXJlY3Rpb246IG5vcm1hbDtcbiAgICAgICAgICAgICAgICAgICAgLW1zLWZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgfVxuXG4ubXhfQXBwRG93bmxvYWREaWFsb2cgLm14X0FwcERvd25sb2FkRGlhbG9nX21vYmlsZSAubXhfQXBwRG93bmxvYWREaWFsb2dfYXBwIC5teF9RUkNvZGUgLm14X1ZlcmlmaWNhdGlvblFSQ29kZSB7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogMTQ0cHg7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxNDRweDtcbiAgICAgICAgICAgICAgICAgICAgLW1zLWludGVycG9sYXRpb24tbW9kZTogbmVhcmVzdC1uZWlnaGJvcjtcbiAgICAgICAgICAgICAgICAgICAgICAgIGltYWdlLXJlbmRlcmluZzogLXdlYmtpdC1vcHRpbWl6ZS1jb250cmFzdDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGltYWdlLXJlbmRlcmluZzogcGl4ZWxhdGVkO1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgICAgICAgICAgICAgIH1cblxuLm14X0FwcERvd25sb2FkRGlhbG9nIC5teF9BcHBEb3dubG9hZERpYWxvZ19tb2JpbGUgLm14X0FwcERvd25sb2FkRGlhbG9nX2FwcCAubXhfQXBwRG93bmxvYWREaWFsb2dfaW5mbyB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAwLjc1cmVtO1xuICAgICAgICAgICAgICAgIGNvbG9yOiAjZWRmM2ZmO1xuICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS10ZXJ0aWFyeS1jb250ZW50LCAjZWRmM2ZmKTtcbiAgICAgICAgICAgIH1cblxuLm14X0FwcERvd25sb2FkRGlhbG9nIC5teF9BcHBEb3dubG9hZERpYWxvZ19tb2JpbGUgLm14X0FwcERvd25sb2FkRGlhbG9nX2FwcCAubXhfQXBwRG93bmxvYWREaWFsb2dfbGlua3Mge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgLXdlYmtpdC1ib3gtb3JpZW50OiBob3Jpem9udGFsO1xuICAgICAgICAgICAgICAgIC13ZWJraXQtYm94LWRpcmVjdGlvbjogbm9ybWFsO1xuICAgICAgICAgICAgICAgICAgICAtbXMtZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgICAgICAgICAgZ2FwOiA4cHg7XG4gICAgICAgICAgICB9XG5cbi5teF9BcHBEb3dubG9hZERpYWxvZyAubXhfQXBwRG93bmxvYWREaWFsb2dfbW9iaWxlIC5teF9BcHBEb3dubG9hZERpYWxvZ19hcHAgLm14X0FwcERvd25sb2FkRGlhbG9nX2xpbmtzIC5teF9BY2Nlc3NpYmxlQnV0dG9uIHN2ZyB7XG4gICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDQwcHg7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuLm14X0FwcERvd25sb2FkRGlhbG9nIC5teF9BcHBEb3dubG9hZERpYWxvZ19sZWdhbCBwIHtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgICAgICAgICAgIGNvbG9yOiAjZWRmM2ZmO1xuICAgICAgICAgICAgY29sb3I6IHZhcigtLXRlcnRpYXJ5LWNvbnRlbnQsICNlZGYzZmYpO1xuICAgICAgICB9XG5cbi8qXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cbkNvcHlyaWdodCAyMDIwIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXG5cblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cbiovXG5cbi5teF9CdWdSZXBvcnREaWFsb2cgLm14X0J1Z1JlcG9ydERpYWxvZ19kb3dubG9hZCAubXhfQWNjZXNzaWJsZUJ1dHRvbl9raW5kX2xpbmsge1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxOHB4OyAvKiBTcGFjZSBiZXR3ZWVuIFwiRG93bmxvYWRpbmcgbG9ncy4uLlwiICovXG4gICAgICAgIH1cblxuLypcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxuQ29weXJpZ2h0IDIwMjEgUm9iaW4gVG93bnNlbmQgPHJvYmluQHJvYmluLnRvd24+XG5cblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cbiovXG5cbi5teF9CdWxrUmVkYWN0RGlhbG9nIC5teF9DaGVja2JveCxcbiAgICAubXhfQnVsa1JlZGFjdERpYWxvZyAubXhfQnVsa1JlZGFjdERpYWxvZ19jaGVja2JveE1pY3JvY29weSB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI1cmVtO1xuICAgIH1cblxuLm14X0J1bGtSZWRhY3REaWFsb2cgLm14X0J1bGtSZWRhY3REaWFsb2dfY2hlY2tib3hNaWNyb2NvcHkge1xuICAgICAgICBtYXJnaW4tbGVmdDogMjZweDtcbiAgICAgICAgY29sb3I6ICNlZGYzZmY7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1zZWNvbmRhcnktY29udGVudCwgI2VkZjNmZik7XG4gICAgfVxuXG4vKlxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXG5Db3B5cmlnaHQgMjAxNiBBdmlyYWwgRGFzZ3VwdGFcblxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuKi9cblxuLm14X0NoYW5nZWxvZ0RpYWxvZ19jb250ZW50IHtcbiAgICBtYXgtaGVpZ2h0OiAzMDBweDtcbiAgICBvdmVyZmxvdzogYXV0bztcbn1cblxuLm14X0NoYW5nZWxvZ0RpYWxvZ19saSB7XG4gICAgcGFkZGluZzogMC4yZW07XG59XG5cbi8qXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cbkNvcHlyaWdodCAyMDIxIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXG5cblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cbiovXG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbi8qIERFViBOT1RFOiBUaGlzIHN0eWxlc2hlZXQgY292ZXJzIGRpYWxvZ3MgbGlzdGVkIGJ5IHRoZSBjb21wb3VuZCwgaW5jbHVkaW5nICovXG5cbi8qIG92ZXIgbXVsdGlwbGUgUmVhY3QgY29tcG9uZW50cy4gVGhlIGFjdHVhbCBpbm5lciBjb250ZW50cyBvZiB0aGUgZGlhbG9nIHNob3VsZCAqL1xuXG4vKiBiZSBpbiB0aGVpciByZXNwZWN0aXZlIHN0eWxlc2hlZXRzLiAqL1xuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4vKiBPdmVycmlkZSBsZWdhY3kvZGVmYXVsdCBzdHlsZXMgZm9yIGRpYWxvZ3MgKi9cblxuLm14X0RpYWxvZ193cmFwcGVyLm14X0NvbXBvdW5kRGlhbG9nIC5teF9EaWFsb2cge1xuICAgIHBhZGRpbmc6IDA7IC8qIHdlJ2xsIG1hbmFnZSBpdCBvdXJzZWx2ZXMgKi9cbiAgICBjb2xvcjogdmFyKC0tdGltZWxpbmUtdGV4dC1jb2xvcik7XG59XG5cbi5teF9Db21wb3VuZERpYWxvZyAubXhfRGlhbG9nIHtcbiAgICAgICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gICAgICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xuICAgICAgICAtd2Via2l0LWJveC1kaXJlY3Rpb246IG5vcm1hbDtcbiAgICAgICAgICAgIC1tcy1mbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgfVxuXG4ubXhfQ29tcG91bmREaWFsb2cgLm14X0NvbXBvdW5kRGlhbG9nX2hlYWRlciB7XG4gICAgICAgIHBhZGRpbmc6IDMycHggMzJweCAxNnB4IDMycHg7XG4gICAgfVxuXG4ubXhfQ29tcG91bmREaWFsb2cgLm14X0NvbXBvdW5kRGlhbG9nX2hlYWRlciBoMSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICBmb250LXdlaWdodDogdmFyKC0tY3BkLWZvbnQtd2VpZ2h0LXNlbWlib2xkKTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICAgICAgICAgICAgbWFyZ2luOiAwOyAvKiBtYW5hZ2VkIGJ5IGhlYWRlciBjbGFzcyAqL1xuICAgICAgICB9XG5cbi5teF9Db21wb3VuZERpYWxvZyAubXhfQ29tcG91bmREaWFsb2dfY2FuY2VsQnV0dG9uIHtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHdpZHRoOiAyOHB4O1xuICAgICAgICBoZWlnaHQ6IDI4cHg7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDE0cHg7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNwZC1jb2xvci1iZy1zdWJ0bGUtc2Vjb25kYXJ5KTtcbiAgICAgICAgLyogQWxpZ24gd2l0aCBjb3JuZXIgcmFkaXVzIG9mIGRpYWxvZyAqL1xuICAgIH1cblxuLm14X0NvbXBvdW5kRGlhbG9nIC5teF9Db21wb3VuZERpYWxvZ19jYW5jZWxCdXR0b246aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jcGQtY29sb3ItYmctc3VidGxlLXByaW1hcnkpO1xuICAgIH1cblxuLm14X0NvbXBvdW5kRGlhbG9nIC5teF9Db21wb3VuZERpYWxvZ19jYW5jZWxCdXR0b246OmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIHdpZHRoOiAyOHB4O1xuICAgICAgICBoZWlnaHQ6IDI4cHg7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAtd2Via2l0LW1hc2staW1hZ2U6IHVybChcIkB2ZWN0b3ItaW0vY29tcG91bmQtZGVzaWduLXRva2Vucy9pY29ucy9jbG9zZS5zdmdcIik7XG4gICAgICAgICAgICAgICAgbWFzay1pbWFnZTogdXJsKFwiQHZlY3Rvci1pbS9jb21wb3VuZC1kZXNpZ24tdG9rZW5zL2ljb25zL2Nsb3NlLnN2Z1wiKTtcbiAgICAgICAgLXdlYmtpdC1tYXNrLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgICAgICAgIG1hc2stcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgIC13ZWJraXQtbWFzay1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgICAgICAgICAgIG1hc2stcG9zaXRpb246IGNlbnRlcjtcbiAgICAgICAgLXdlYmtpdC1tYXNrLXNpemU6IDIwcHg7XG4gICAgICAgICAgICAgICAgbWFzay1zaXplOiAyMHB4O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jcGQtY29sb3ItaWNvbi1zZWNvbmRhcnkpO1xuICAgIH1cblxuLm14X0NvbXBvdW5kRGlhbG9nIC5teF9Db21wb3VuZERpYWxvZ19jYW5jZWxCdXR0b24ge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogdmFyKC0tY3BkLXNwYWNlLTR4KTtcbiAgICAgICAgcmlnaHQ6IHZhcigtLWNwZC1zcGFjZS00eCk7XG59XG5cbi5teF9Db21wb3VuZERpYWxvZyAubXhfQ29tcG91bmREaWFsb2dfZm9ybSB7XG4gICAgICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICAgICAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcbiAgICAgICAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiBub3JtYWw7XG4gICAgICAgICAgICAtbXMtZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBtaW4taGVpZ2h0OiAwO1xuICAgICAgICAtd2Via2l0LWJveC1mbGV4OiAxO1xuICAgICAgICAgICAgLW1zLWZsZXg6IDE7XG4gICAgICAgICAgICAgICAgZmxleDogMTtcbiAgICB9XG5cbi5teF9Db21wb3VuZERpYWxvZyAubXhfQ29tcG91bmREaWFsb2dfY29udGVudCB7XG4gICAgICAgIG92ZXJmbG93OiBhdXRvO1xuICAgICAgICBwYWRkaW5nOiA4cHggMzJweDtcbiAgICAgICAgLXdlYmtpdC1ib3gtZmxleDogMTtcbiAgICAgICAgICAgIC1tcy1mbGV4OiAxO1xuICAgICAgICAgICAgICAgIGZsZXg6IDE7XG4gICAgfVxuXG4ubXhfQ29tcG91bmREaWFsb2cgLm14X0NvbXBvdW5kRGlhbG9nX2Zvb3RlciB7XG4gICAgICAgIHBhZGRpbmc6IDIwcHggMzJweDtcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgfVxuXG4ubXhfQ29tcG91bmREaWFsb2cgLm14X0NvbXBvdW5kRGlhbG9nX2Zvb3RlciAubXhfQWNjZXNzaWJsZUJ1dHRvbiB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMjRweDtcbiAgICAgICAgfVxuXG4ubXhfU2Nyb2xsYWJsZUJhc2VEaWFsb2cge1xuICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcbiAgICAtd2Via2l0LWJveC1kaXJlY3Rpb246IG5vcm1hbDtcbiAgICAgICAgLW1zLWZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXG4gICAgd2lkdGg6IDU0NHB4OyAvKiBmaXhlZCAqL1xuICAgIGhlaWdodDogNTE2cHg7IC8qIGZpeGVkICovXG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIG1pbi1oZWlnaHQ6IDA7XG4gICAgbWF4LWhlaWdodDogODAlO1xufVxuXG4ubXhfU2Nyb2xsYWJsZUJhc2VEaWFsb2cgLm14X0NvbXBvdW5kRGlhbG9nX2Zvb3RlciB7XG4gICAgICAgIC13ZWJraXQtYm94LXNoYWRvdzogMHB4IC00cHggNHB4IHJnYmEoMCwgMCwgMCwgMC4wNSk7XG4gICAgICAgICAgICAgICAgYm94LXNoYWRvdzogMHB4IC00cHggNHB4IHJnYmEoMCwgMCwgMCwgMC4wNSk7IC8qIGhhcmRjb2RlZCBjb2xvdXIgZm9yIGJvdGggdGhlbWVzICovXG4gICAgICAgIHotaW5kZXg6IDE7IC8qIG5lZWRlZCB0byBtYWtlIGZvb3RlciAmIHNoYWRvdyBhcHBlYXIgYWJvdmUgZGlhbG9nIGNvbnRlbnQgKi9cbiAgICB9XG5cbi8qXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cbkNvcHlyaWdodCAyMDIxIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXG5cblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cbiovXG5cbi5teF9Db25maXJtU3BhY2VVc2VyQWN0aW9uRGlhbG9nX3dyYXBwZXIgLm14X0RpYWxvZyB7XG4gICAgICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICAgICAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcbiAgICAgICAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiBub3JtYWw7XG4gICAgICAgICAgICAtbXMtZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBwYWRkaW5nOiAyNHB4IDMycHg7XG4gICAgfVxuXG4ubXhfQ29uZmlybVNwYWNlVXNlckFjdGlvbkRpYWxvZyB7XG4gICAgd2lkdGg6IDQ0MHB4O1xuICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcbiAgICAtd2Via2l0LWJveC1kaXJlY3Rpb246IG5vcm1hbDtcbiAgICAgICAgLW1zLWZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIC1tcy1mbGV4LXdyYXA6IG5vd3JhcDtcbiAgICAgICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgaGVpZ2h0OiA1MjBweDtcbn1cblxuLm14X0NvbmZpcm1TcGFjZVVzZXJBY3Rpb25EaWFsb2cgLm14X0RpYWxvZ19jb250ZW50IHtcbiAgICAgICAgbWFyZ2luOiAxMnB4IDA7XG4gICAgICAgIC13ZWJraXQtYm94LWZsZXg6IDE7XG4gICAgICAgICAgICAtbXMtZmxleC1wb3NpdGl2ZTogMTtcbiAgICAgICAgICAgICAgICBmbGV4LWdyb3c6IDE7XG4gICAgICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgfVxuXG4ubXhfQ29uZmlybVNwYWNlVXNlckFjdGlvbkRpYWxvZyAubXhfQ29uZmlybVVzZXJBY3Rpb25EaWFsb2dfcmVhc29uRmllbGQge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxMnB4O1xuICAgIH1cblxuLm14X0NvbmZpcm1TcGFjZVVzZXJBY3Rpb25EaWFsb2cgLm14X0NvbmZpcm1TcGFjZVVzZXJBY3Rpb25EaWFsb2dfd2FybmluZyB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4O1xuICAgICAgICBwYWRkaW5nOiAxMnB4IDhweCAxMnB4IDQycHg7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXJvb21saXN0LWJhY2tncm91bmQtY29sb3IpO1xuXG4gICAgICAgIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgICAgY29sb3I6ICNlZGYzZmY7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1zZWNvbmRhcnktY29udGVudCwgI2VkZjNmZik7XG4gICAgfVxuXG4ubXhfQ29uZmlybVNwYWNlVXNlckFjdGlvbkRpYWxvZyAubXhfQ29uZmlybVNwYWNlVXNlckFjdGlvbkRpYWxvZ193YXJuaW5nOjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIGxlZnQ6IDEwcHg7XG4gICAgICAgICAgICB0b3A6IGNhbGMoNTAlIC0gOHB4KTsgLyogdmVydGljYWwgY2VudGVyaW5nICovXG4gICAgICAgICAgICBoZWlnaHQ6IDE2cHg7XG4gICAgICAgICAgICB3aWR0aDogMTZweDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNlZGYzZmY7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1zZWNvbmRhcnktY29udGVudCwgI2VkZjNmZik7XG4gICAgICAgICAgICAtd2Via2l0LW1hc2stcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgICAgICAgICAgIG1hc2stcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgICAtd2Via2l0LW1hc2stc2l6ZTogY29udGFpbjtcbiAgICAgICAgICAgICAgICAgICAgbWFzay1zaXplOiBjb250YWluO1xuICAgICAgICAgICAgLXdlYmtpdC1tYXNrLWltYWdlOiB1cmwoXCJAdmVjdG9yLWltL2NvbXBvdW5kLWRlc2lnbi10b2tlbnMvaWNvbnMvaW5mby1zb2xpZC5zdmdcIik7XG4gICAgICAgICAgICAgICAgICAgIG1hc2staW1hZ2U6IHVybChcIkB2ZWN0b3ItaW0vY29tcG91bmQtZGVzaWduLXRva2Vucy9pY29ucy9pbmZvLXNvbGlkLnN2Z1wiKTtcbiAgICAgICAgICAgIC13ZWJraXQtbWFzay1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICBtYXNrLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICAgIH1cblxuLypcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxuQ29weXJpZ2h0IDIwMTcgVmVjdG9yIENyZWF0aW9ucyBMdGQuXG5cblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cbiovXG5cbi5teF9Db25maXJtVXNlckFjdGlvbkRpYWxvZyAubXhfRGlhbG9nX2NvbnRlbnQgLm14X0NvbmZpcm1Vc2VyQWN0aW9uRGlhbG9nX3VzZXIge1xuICAgIG1pbi1oZWlnaHQ6IDQ4cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMjRweDtcbn1cblxuLm14X0NvbmZpcm1Vc2VyQWN0aW9uRGlhbG9nX2F2YXRhciB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xufVxuXG4ubXhfQ29uZmlybVVzZXJBY3Rpb25EaWFsb2dfbmFtZSB7XG4gICAgcGFkZGluZy10b3A6IDJweDtcbiAgICBmb250LXNpemU6IDEuMTI1cmVtO1xufVxuXG4ubXhfQ29uZmlybVVzZXJBY3Rpb25EaWFsb2dfdXNlcklkIHtcbiAgICBmb250LXNpemU6IDAuODEyNXJlbTtcbn1cblxuLm14X0NvbmZpcm1Vc2VyQWN0aW9uRGlhbG9nX3JlYXNvbkZpZWxkIHtcbiAgICBmb250OiB2YXIoLS1jcGQtZm9udC1ib2R5LW1kLXJlZ3VsYXIpO1xuICAgIGNvbG9yOiB2YXIoLS10aW1lbGluZS10ZXh0LWNvbG9yKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS10aW1lbGluZS1iYWNrZ3JvdW5kLWNvbG9yKTtcbn1cblxuLypcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxuQ29weXJpZ2h0IDIwMTcgTWljaGFlbCBUZWxhdHluc2tpIDw3dDNjaGd1eUBnbWFpbC5jb20+XG5cblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cbiovXG5cbi5teF9DcmVhdGVSb29tRGlhbG9nX2RldGFpbHMge1xuICAgIG1hcmdpbi10b3A6IDE1cHg7XG59XG5cbi5teF9DcmVhdGVSb29tRGlhbG9nX2RldGFpbHMgLm14X0NyZWF0ZVJvb21EaWFsb2dfZGV0YWlsc19zdW1tYXJ5IHtcbiAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLWNwZC1mb250LXdlaWdodC1zZW1pYm9sZCk7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgY29sb3I6IHZhcigtLWNwZC1jb2xvci10ZXh0LXByaW1hcnkpO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICAgd2lkdGg6IC13ZWJraXQtZml0LWNvbnRlbnQ7XG4gICAgICAgIHdpZHRoOiAtbW96LWZpdC1jb250ZW50O1xuICAgICAgICB3aWR0aDogZml0LWNvbnRlbnQ7XG4gICAgfVxuXG4vKiBsaXN0LXN0eWxlIGRvZXNuJ3QgZG8gaXQgZm9yIHdlYmtpdCAqL1xuXG4ubXhfQ3JlYXRlUm9vbURpYWxvZ19kZXRhaWxzIC5teF9DcmVhdGVSb29tRGlhbG9nX2RldGFpbHNfc3VtbWFyeTo6LXdlYmtpdC1kZXRhaWxzLW1hcmtlciB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG5cbi5teF9DcmVhdGVSb29tRGlhbG9nX2RldGFpbHMgLm14X0NyZWF0ZVJvb21EaWFsb2dfZGV0YWlsc19zdW1tYXJ5Om5vdCg6Zm9jdXMtdmlzaWJsZSkge1xuICAgICAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgICAgfVxuXG4ubXhfQ3JlYXRlUm9vbURpYWxvZ19kZXRhaWxzID4gZGl2IHtcbiAgICAgICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gICAgICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAtd2Via2l0LWJveC1hbGlnbjogc3RhcnQ7XG4gICAgICAgICAgICAtbXMtZmxleC1hbGlnbjogc3RhcnQ7XG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgICAgIG1hcmdpbjogNXB4IDA7XG4gICAgfVxuXG4ubXhfQ3JlYXRlUm9vbURpYWxvZ19kZXRhaWxzID4gZGl2IGlucHV0W3R5cGU9XCJjaGVja2JveFwiXSB7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gICAgICAgIH1cblxuLm14X0NyZWF0ZVJvb21EaWFsb2dfbGFiZWwge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgcGFkZGluZy1ib3R0b206IDEycHg7XG59XG5cbi5teF9DcmVhdGVSb29tRGlhbG9nX2lucHV0X2NvbnRhaW5lciB7XG4gICAgcGFkZGluZy1yaWdodDogMjBweDtcbn1cblxuLm14X0NyZWF0ZVJvb21EaWFsb2dfaW5wdXQge1xuICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICAgIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZTdlN2U3O1xuICAgIHBhZGRpbmc6IDlweDtcbiAgICBjb2xvcjogdmFyKC0tdGltZWxpbmUtdGV4dC1jb2xvcik7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdGltZWxpbmUtYmFja2dyb3VuZC1jb2xvcik7XG4gICAgd2lkdGg6IDEwMCU7XG59XG5cbi8qIG5lZWRlZCB0byBtYWtlIHRoZSBhbGlhcyBmaWVsZCBvbmx5IGdyb3cgYXMgd2lkZSBhcyBuZWVkZWQgKi9cblxuLyogYXMgb3Bwb3NlZCB0byBmdWxsIHdpZHRoICovXG5cbi5teF9DcmVhdGVSb29tRGlhbG9nX2FsaWFzQ29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIC8qIHB1dCBtYXJnaW4gb24gY29udGFpbmVyIHNvIGl0IGNhbiBjb2xsYXBzZSB3aXRoIHNpYmxpbmdzICovXG4gICAgbWFyZ2luOiAyNHB4IDAgMTBweDtcbn1cblxuLm14X0NyZWF0ZVJvb21EaWFsb2dfYWxpYXNDb250YWluZXIgLm14X1Jvb21BbGlhc0ZpZWxkIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgIH1cblxuLm14X0NyZWF0ZVJvb21EaWFsb2cubXhfRGlhbG9nX2ZpeGVkV2lkdGgge1xuICAgICAgICB3aWR0aDogNDUwcHg7XG4gICAgfVxuXG4ubXhfQ3JlYXRlUm9vbURpYWxvZyAubXhfRGlhbG9nX2NvbnRlbnQge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA0MHB4O1xuICAgIH1cblxuLm14X0NyZWF0ZVJvb21EaWFsb2cgcCxcbiAgICAubXhfQ3JlYXRlUm9vbURpYWxvZyAubXhfRmllbGRfaW5wdXQgbGFiZWwge1xuICAgICAgICBjb2xvcjogI2ExYjJkMTtcbiAgICB9XG5cbi5teF9DcmVhdGVSb29tRGlhbG9nIC5teF9TZXR0aW5nc0ZsYWcge1xuICAgICAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgICAgICAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgfVxuXG4ubXhfQ3JlYXRlUm9vbURpYWxvZyAubXhfU2V0dGluZ3NGbGFnX2xhYmVsIHtcbiAgICAgICAgLXdlYmtpdC1ib3gtZmxleDogMTtcbiAgICAgICAgICAgIC1tcy1mbGV4OiAxIDEgMHB4O1xuICAgICAgICAgICAgICAgIGZsZXg6IDEgMSAwO1xuICAgICAgICBtaW4td2lkdGg6IDA7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1jcGQtZm9udC13ZWlnaHQtc2VtaWJvbGQpO1xuICAgIH1cblxuLm14X0NyZWF0ZVJvb21EaWFsb2cgLm14X1RvZ2dsZVN3aXRjaCB7XG4gICAgICAgIC13ZWJraXQtYm94LWZsZXg6IDA7XG4gICAgICAgICAgICAtbXMtZmxleDogMCAwIGF1dG87XG4gICAgICAgICAgICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAzMHB4O1xuICAgIH1cblxuLm14X0NyZWF0ZVJvb21EaWFsb2cgLm14X0RpYWxvZ19jb250ZW50ID4gLm14X1NldHRpbmdzRmxhZyB7XG4gICAgICAgIG1hcmdpbi10b3A6IDI0cHg7XG4gICAgfVxuXG4ubXhfQ3JlYXRlUm9vbURpYWxvZyBwIHtcbiAgICAgICAgbWFyZ2luOiAwIDg1cHggMCAwO1xuICAgICAgICBmb250LXNpemU6IDAuNzVyZW07XG4gICAgfVxuXG4ubXhfQ3JlYXRlUm9vbURpYWxvZ19sYWJlbGxlZENoZWNrYm94IHtcbiAgICBjb2xvcjogI2ExYjJkMTtcbiAgICBtYXJnaW4tdG9wOiB2YXIoLS1jcGQtc3BhY2UtNngpO1xufVxuXG4vKlxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXG5Db3B5cmlnaHQgMjAyMSBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxuXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXG4qL1xuXG4ubXhfQ3JlYXRlU3Vic3BhY2VEaWFsb2dfd3JhcHBlciAubXhfRGlhbG9nIHtcbiAgICAgICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gICAgICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xuICAgICAgICAtd2Via2l0LWJveC1kaXJlY3Rpb246IG5vcm1hbDtcbiAgICAgICAgICAgIC1tcy1mbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgfVxuXG4ubXhfQ3JlYXRlU3Vic3BhY2VEaWFsb2cge1xuICAgIHdpZHRoOiA0ODBweDtcbiAgICBjb2xvcjogdmFyKC0tdGltZWxpbmUtdGV4dC1jb2xvcik7XG4gICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gICAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xuICAgIC13ZWJraXQtYm94LWRpcmVjdGlvbjogbm9ybWFsO1xuICAgICAgICAtbXMtZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgLW1zLWZsZXgtd3JhcDogbm93cmFwO1xuICAgICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICBtaW4taGVpZ2h0OiAwO1xufVxuXG4ubXhfQ3JlYXRlU3Vic3BhY2VEaWFsb2cgLm14X0NyZWF0ZVN1YnNwYWNlRGlhbG9nX2NvbnRlbnQge1xuICAgICAgICAtd2Via2l0LWJveC1mbGV4OiAxO1xuICAgICAgICAgICAgLW1zLWZsZXgtcG9zaXRpdmU6IDE7XG4gICAgICAgICAgICAgICAgZmxleC1ncm93OiAxO1xuICAgIH1cblxuLm14X0NyZWF0ZVN1YnNwYWNlRGlhbG9nIC5teF9DcmVhdGVTdWJzcGFjZURpYWxvZ19jb250ZW50IC5teF9DcmVhdGVTdWJzcGFjZURpYWxvZ19iZXRhTm90aWNlIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDEycHggMTZweDtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXJvb21saXN0LWJhY2tncm91bmQtY29sb3IpO1xuICAgICAgICB9XG5cbi5teF9DcmVhdGVTdWJzcGFjZURpYWxvZyAubXhfQ3JlYXRlU3Vic3BhY2VEaWFsb2dfY29udGVudCAubXhfQ3JlYXRlU3Vic3BhY2VEaWFsb2dfYmV0YU5vdGljZSAubXhfQmV0YUNhcmRfYmV0YVBpbGwge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogOHB4O1xuICAgICAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgICAgICB9XG5cbi5teF9DcmVhdGVTdWJzcGFjZURpYWxvZyAubXhfQ3JlYXRlU3Vic3BhY2VEaWFsb2dfY29udGVudCAubXhfSm9pblJ1bGVEcm9wZG93biArIHAge1xuICAgICAgICAgICAgY29sb3I6ICNhMWIyZDE7XG4gICAgICAgICAgICBmb250LXNpemU6IDAuNzVyZW07XG4gICAgICAgIH1cblxuLm14X0NyZWF0ZVN1YnNwYWNlRGlhbG9nIC5teF9DcmVhdGVTdWJzcGFjZURpYWxvZ19mb290ZXIge1xuICAgICAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgICAgICAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gICAgfVxuXG4ubXhfQ3JlYXRlU3Vic3BhY2VEaWFsb2cgLm14X0NyZWF0ZVN1YnNwYWNlRGlhbG9nX2Zvb3RlciAubXhfQ3JlYXRlU3Vic3BhY2VEaWFsb2dfZm9vdGVyX3Byb21wdCB7XG4gICAgICAgICAgICAtd2Via2l0LWJveC1mbGV4OiAxO1xuICAgICAgICAgICAgICAgIC1tcy1mbGV4LXBvc2l0aXZlOiAxO1xuICAgICAgICAgICAgICAgICAgICBmbGV4LWdyb3c6IDE7XG4gICAgICAgICAgICBmb250LXNpemU6IDAuNzVyZW07XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMC45Mzc1cmVtO1xuICAgICAgICAgICAgY29sb3I6ICNlZGYzZmY7XG4gICAgICAgICAgICBjb2xvcjogdmFyKC0tc2Vjb25kYXJ5LWNvbnRlbnQsICNlZGYzZmYpO1xuICAgICAgICB9XG5cbi5teF9DcmVhdGVTdWJzcGFjZURpYWxvZyAubXhfQ3JlYXRlU3Vic3BhY2VEaWFsb2dfZm9vdGVyIC5teF9DcmVhdGVTdWJzcGFjZURpYWxvZ19mb290ZXJfcHJvbXB0ID4gKiB7XG4gICAgICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgICAgIH1cblxuLm14X0NyZWF0ZVN1YnNwYWNlRGlhbG9nIC5teF9DcmVhdGVTdWJzcGFjZURpYWxvZ19mb290ZXIgLm14X0FjY2Vzc2libGVCdXR0b24ge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgLW1zLWZsZXgtaXRlbS1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgICAgICAgfVxuXG4ubXhfQ3JlYXRlU3Vic3BhY2VEaWFsb2cgLm14X0NyZWF0ZVN1YnNwYWNlRGlhbG9nX2Zvb3RlciAubXhfQWNjZXNzaWJsZUJ1dHRvbl9raW5kX3ByaW1hcnkge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDE2cHg7XG4gICAgICAgICAgICBwYWRkaW5nOiA4cHggMzZweDtcbiAgICAgICAgfVxuXG4vKlxuQ29weXJpZ2h0IDIwMTgtMjAyNCBOZXcgVmVjdG9yIEx0ZC5cblxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuKi9cblxuLm14X0RlYWN0aXZhdGVBY2NvdW50RGlhbG9nIC5teF9EaWFsb2dfY29udGVudCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbn1cblxuLm14X0RlYWN0aXZhdGVBY2NvdW50RGlhbG9nIC5teF9EZWFjdGl2YXRlQWNjb3VudERpYWxvZ19pbnB1dF9zZWN0aW9uIC5teF9GaWVsZCB7XG4gICAgd2lkdGg6IDMwMHB4O1xufVxuXG4vKlxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXG5Db3B5cmlnaHQgMjAxNyBNaWNoYWVsIFRlbGF0eW5za2kgPDd0M2NoZ3V5QGdtYWlsLmNvbT5cblxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuKi9cblxuLm14X0RldnRvb2xzRGlhbG9nX3dyYXBwZXIgLm14X0RpYWxvZyB7XG4gICAgICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICAgICAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcbiAgICAgICAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiBub3JtYWw7XG4gICAgICAgICAgICAtbXMtZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIH1cblxuLm14X0RldnRvb2xzRGlhbG9nX3dyYXBwZXIgLm14X0RpYWxvZ19maXhlZFdpZHRoIHtcbiAgICAgICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gICAgICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xuICAgICAgICAtd2Via2l0LWJveC1kaXJlY3Rpb246IG5vcm1hbDtcbiAgICAgICAgICAgIC1tcy1mbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIG1pbi1oZWlnaHQ6IDA7XG4gICAgICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgfVxuXG4ubXhfRGV2dG9vbHNEaWFsb2dfd3JhcHBlciAubXhfRGlhbG9nX2ZpeGVkV2lkdGggLm14X0RpYWxvZ19idXR0b25zIGJ1dHRvbiB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICB9XG5cbi5teF9EZXZUb29sc19jb250ZW50IHtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xufVxuXG4ubXhfRGV2VG9vbHNfUm9vbVN0YXRlRXhwbG9yZXJfcXVlcnkge1xuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG59XG5cbi5teF9EZXZUb29sc19idXR0b24ge1xuICAgIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UgIWltcG9ydGFudDtcbiAgICBtYXJnaW4tYm90dG9tOiA4cHggIWltcG9ydGFudDtcbn1cblxuLm14X0RldlRvb2xzX1Jvb21TdGF0ZUV4cGxvcmVyX2J1dHRvbl9oYXNTcGFjZXMge1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xufVxuXG4ubXhfRGV2VG9vbHNfYnV0dG9uLm14X0RldlRvb2xzX1Jvb21TdGF0ZUV4cGxvcmVyX2J1dHRvbl9lbXB0eVN0cmluZyB7XG4gICAgZm9udC1zdHlsZTogaXRhbGljO1xufVxuXG4ubXhfRGV2VG9vbHNfbGFiZWxfbGVmdCB7XG4gICAgZmxvYXQ6IGxlZnQ7XG59XG5cbi5teF9EZXZUb29sc19sYWJlbF9yaWdodCB7XG4gICAgZmxvYXQ6IHJpZ2h0O1xufVxuXG4ubXhfRGV2VG9vbHNfbGFiZWxfYm90dG9tIHtcbiAgICBjbGVhcjogYm90aDtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2U1ZTVlNTtcbn1cblxuLm14X0RldlRvb2xzX2lucHV0Um93IHtcbiAgICBkaXNwbGF5OiB0YWJsZS1yb3c7XG59XG5cbi5teF9EZXZUb29sc19pbnB1dExhYmVsQ2VsbCB7XG4gICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAyNHB4O1xufVxuXG4ubXhfRGV2VG9vbHNfdGV4dGFyZWEge1xuICAgIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgICBtYXgtd2lkdGg6IDY4NHB4O1xuICAgIG1pbi1oZWlnaHQ6IDI1MHB4O1xuICAgIHBhZGRpbmc6IDEwcHg7XG59XG5cbi5teF9EZXZUb29sc19ldmVudFR5cGVTdGF0ZUtleUdyb3VwIHtcbiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIC1tcy1mbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbn1cblxuLm14X0RldlRvb2xzX2NvbnRlbnQgLm14X0ZpZWxkX2lucHV0OmZpcnN0LW9mLXR5cGUge1xuICAgIG1hcmdpbi1yaWdodDogNDJweDtcbn1cblxuLm14X0RldlRvb2xzX1ZlcmlmaWNhdGlvblJlcXVlc3Qge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNjY2NjY2M7XG4gICAgYm9yZGVyLXJhZGl1czogM3B4O1xuICAgIHBhZGRpbmc6IDFweCA1cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogNnB4O1xuICAgIGZvbnQtZmFtaWx5OiBcIkluY29uc29sYXRhXCIsIFwiXCIsIFwiQXBwbGUgQ29sb3IgRW1vamlcIiwgXCJTZWdvZSBVSSBFbW9qaVwiLCBcIkNvdXJpZXJcIixcbiAgICBtb25vc3BhY2UsIFwiTm90byBDb2xvciBFbW9qaVwiO1xuICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWZhbWlseS1tb25vc3BhY2UsIFwiSW5jb25zb2xhdGFcIiwgdmFyKC0tZW1vamktZm9udC1mYW1pbHkpLCBcIkFwcGxlIENvbG9yIEVtb2ppXCIsIFwiU2Vnb2UgVUkgRW1vamlcIiwgXCJDb3VyaWVyXCIsXG4gICAgbW9ub3NwYWNlLCBcIk5vdG8gQ29sb3IgRW1vamlcIik7XG59XG5cbi5teF9EZXZUb29sc19WZXJpZmljYXRpb25SZXF1ZXN0IGRsIHtcbiAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAtd2Via2l0LW1heC1jb250ZW50IGF1dG87XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogbWF4LWNvbnRlbnQgYXV0bztcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgIH1cblxuLm14X0RldlRvb2xzX1ZlcmlmaWNhdGlvblJlcXVlc3QgZGQge1xuICAgICAgICBncmlkLWNvbHVtbi1zdGFydDogMjtcbiAgICB9XG5cbi5teF9EZXZUb29sc19WZXJpZmljYXRpb25SZXF1ZXN0IGRkOmVtcHR5IHtcbiAgICAgICAgY29sb3I6ICM2NjY2NjY7XG4gICAgfVxuXG4ubXhfRGV2VG9vbHNfVmVyaWZpY2F0aW9uUmVxdWVzdCBkZDplbXB0eTo6YWZ0ZXIge1xuICAgICAgICAgICAgY29udGVudDogXCIoZW1wdHkpXCI7XG4gICAgICAgIH1cblxuLm14X0RldlRvb2xzX1ZlcmlmaWNhdGlvblJlcXVlc3QgZHQge1xuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgZ3JpZC1jb2x1bW4tc3RhcnQ6IDE7XG4gICAgfVxuXG4ubXhfRGV2VG9vbHNfVmVyaWZpY2F0aW9uUmVxdWVzdCBkdDo6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiBcIjpcIjtcbiAgICB9XG5cbi5teF9EZXZUb29sc19TZXR0aW5nc0V4cGxvcmVyIHRhYmxlIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHRhYmxlLWxheW91dDogZml4ZWQ7XG4gICAgICAgIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG4gICAgfVxuXG4ubXhfRGV2VG9vbHNfU2V0dGluZ3NFeHBsb3JlciB0YWJsZSB0aCB7XG4gICAgICAgICAgICAvKiBDb2xvdXIgY2hvaWNlOiBmaXJzdCBvbmUgYXV0b2NvbXBsZXRlIGdhdmUgbWUuICovXG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzBkYmQ4YjtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1hY2NlbnQtY29sb3IsICMwZGJkOGIpO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgfVxuXG4ubXhfRGV2VG9vbHNfU2V0dGluZ3NFeHBsb3JlciB0YWJsZSB0ZCxcbiAgICAgICAgLm14X0RldlRvb2xzX1NldHRpbmdzRXhwbG9yZXIgdGFibGUgdGgge1xuICAgICAgICAgICAgd2lkdGg6IDM2MHB4OyAvKiBcImZlZWxzIHJpZ2h0XCIgbnVtYmVyICovXG5cbiAgICAgICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgIH1cblxuLm14X0RldlRvb2xzX1NldHRpbmdzRXhwbG9yZXIgdGFibGUgdGQgKyB0ZCxcbiAgICAgICAgLm14X0RldlRvb2xzX1NldHRpbmdzRXhwbG9yZXIgdGFibGUgdGggKyB0aCB7XG4gICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgfVxuXG4ubXhfRGV2VG9vbHNfU2V0dGluZ3NFeHBsb3JlciB0YWJsZSB0cjpob3ZlciB7XG4gICAgICAgICAgICAvKiBDb2xvdXIgY2hvaWNlOiBmaXJzdCBvbmUgYXV0b2NvbXBsZXRlIGdhdmUgbWUuICovXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMGRiZDhiO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYWNjZW50LWNvbG9yLCAjMGRiZDhiKTtcbiAgICAgICAgfVxuXG4ubXhfRGV2VG9vbHNfU2V0dGluZ3NFeHBsb3JlciAubXhfRGV2VG9vbHNfU2V0dGluZ3NFeHBsb3Jlcl9tdXRhYmxlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzBkYmQ4YjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYWNjZW50LWNvbG9yLCAjMGRiZDhiKTtcbiAgICB9XG5cbi5teF9EZXZUb29sc19TZXR0aW5nc0V4cGxvcmVyIC5teF9EZXZUb29sc19TZXR0aW5nc0V4cGxvcmVyX2ltbXV0YWJsZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZjViNTU7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWFsZXJ0LCAjZmY1YjU1KTtcbiAgICB9XG5cbi5teF9EZXZUb29sc19TZXR0aW5nc0V4cGxvcmVyIC5teF9EZXZUb29sc19TZXR0aW5nc0V4cGxvcmVyX2VkaXQge1xuICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMTZweDtcbiAgICB9XG5cbi5teF9EZXZUb29sc19TZXR0aW5nc0V4cGxvcmVyIC5teF9EZXZUb29sc19TZXR0aW5nc0V4cGxvcmVyX3dhcm5pbmcge1xuICAgICAgICBib3JkZXI6IDJweCBzb2xpZCAjZmY1YjU1O1xuICAgICAgICBib3JkZXI6IDJweCBzb2xpZCB2YXIoLS1hbGVydCwgI2ZmNWI1NSk7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgICAgICAgcGFkZGluZzogNHB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA4cHg7XG4gICAgfVxuXG4ubXhfRGV2VG9vbHNfU2V0dGluZ3NFeHBsb3Jlcl9zZXR0aW5nIHtcbiAgICAvKiBvdmVycmlkZSBkZWZhdWx0IGxpbmsgYnV0dG9uIGNvbG9yICovXG4gICAgLyogYXMgaXQgaXMgdGhlIHNhbWUgYXMgdGhlIGJhY2tncm91bmQgaGlnaGxpZ2h0ICovXG4gICAgLyogdXNlZCBvbiBmb2N1cyAqL1xuICAgIGNvbG9yOiAjMDA4NmU2ICFpbXBvcnRhbnQ7XG4gICAgY29sb3I6IHZhcigtLWxpbmtzLCAjMDA4NmU2KSAhaW1wb3J0YW50O1xufVxuXG4vKlxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXG5Db3B5cmlnaHQgMjAyMSBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxuXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXG4qL1xuXG4ubXhfRXhwb3J0RGlhbG9nIC5teF9FeHBvcnREaWFsb2dfc3ViaGVhZGluZyB7XG4gICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBcIk51bml0b1wiLCBcIlwiLCBcIkFwcGxlIENvbG9yIEVtb2ppXCIsIFwiU2Vnb2UgVUkgRW1vamlcIiwgXCJBcmlhbFwiLCBcIkhlbHZldGljYVwiLFxuICAgIHNhbnMtc2VyaWYsIFwiTm90byBDb2xvciBFbW9qaVwiO1xuICAgICAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1mYW1pbHksIFwiTnVuaXRvXCIsIHZhcigtLWVtb2ppLWZvbnQtZmFtaWx5KSwgXCJBcHBsZSBDb2xvciBFbW9qaVwiLCBcIlNlZ29lIFVJIEVtb2ppXCIsIFwiQXJpYWxcIiwgXCJIZWx2ZXRpY2FcIixcbiAgICBzYW5zLXNlcmlmLCBcIk5vdG8gQ29sb3IgRW1vamlcIik7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1jcGQtZm9udC13ZWlnaHQtc2VtaWJvbGQpO1xuICAgICAgICBjb2xvcjogdmFyKC0tdGltZWxpbmUtdGV4dC1jb2xvcik7XG4gICAgICAgIG1hcmdpbi10b3A6IDE4cHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEycHg7XG4gICAgfVxuXG4ubXhfRXhwb3J0RGlhbG9nLm14X0V4cG9ydERpYWxvZ19FeHBvcnRpbmcgLm14X0V4cG9ydERpYWxvZ19vcHRpb25zIHtcbiAgICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgICB9XG5cbi5teF9FeHBvcnREaWFsb2cubXhfRXhwb3J0RGlhbG9nX0V4cG9ydGluZyAubXhfRmllbGRfc2VsZWN0OjpiZWZvcmUge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuXG4ubXhfRXhwb3J0RGlhbG9nLm14X0V4cG9ydERpYWxvZ19FeHBvcnRpbmcgLm14X1N0eWxlZFJhZGlvQnV0dG9uIGlucHV0W3R5cGU9XCJyYWRpb1wiXTpjaGVja2VkICsgZGl2ID4gZGl2IHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHZhcigtLXRpbWVsaW5lLXRleHQtc2Vjb25kYXJ5LWNvbG9yKTtcbiAgICAgICAgfVxuXG4ubXhfRXhwb3J0RGlhbG9nLm14X0V4cG9ydERpYWxvZ19FeHBvcnRpbmcgLm14X1N0eWxlZFJhZGlvQnV0dG9uIGlucHV0W3R5cGU9XCJyYWRpb1wiXTpjaGVja2VkICsgZGl2IHtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogY3VycmVudGNvbG9yO1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBpbml0aWFsO1xuICAgICAgICB9XG5cbi5teF9FeHBvcnREaWFsb2cubXhfRXhwb3J0RGlhbG9nX0V4cG9ydGluZyAubXhfRmllbGRfdmFsaWQubXhfRmllbGQgbGFiZWwsXG4gICAgICAgIC5teF9FeHBvcnREaWFsb2cubXhfRXhwb3J0RGlhbG9nX0V4cG9ydGluZyAubXhfRmllbGRfdmFsaWQubXhfRmllbGQ6Zm9jdXMtd2l0aGluIGxhYmVsIHtcbiAgICAgICAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgICB9XG5cbi5teF9FeHBvcnREaWFsb2cubXhfRXhwb3J0RGlhbG9nX0V4cG9ydGluZyAubXhfRmllbGRfdmFsaWQubXhfRmllbGQsXG4gICAgICAgIC5teF9FeHBvcnREaWFsb2cubXhfRXhwb3J0RGlhbG9nX0V4cG9ydGluZyAubXhfRmllbGRfdmFsaWQubXhfRmllbGQ6Zm9jdXMtd2l0aGluIHtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogI2U3ZTdlNztcbiAgICAgICAgfVxuXG4ubXhfRXhwb3J0RGlhbG9nLm14X0V4cG9ydERpYWxvZ19FeHBvcnRpbmcgLm14X0NoZWNrYm94IGlucHV0W3R5cGU9XCJjaGVja2JveFwiXTpjaGVja2VkICsgbGFiZWwgPiAubXhfQ2hlY2tib3hfYmFja2dyb3VuZCB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS10aW1lbGluZS10ZXh0LXNlY29uZGFyeS1jb2xvcik7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6IHZhcigtLXRpbWVsaW5lLXRleHQtc2Vjb25kYXJ5LWNvbG9yKTtcbiAgICAgICAgfVxuXG4ubXhfRXhwb3J0RGlhbG9nIC5teF9FeHBvcnREaWFsb2dfcHJvZ3Jlc3MgLm14X0RpYWxvZ19idXR0b25zIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiBpbml0aWFsO1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDE4cHg7XG4gICAgICAgIH1cblxuLm14X0V4cG9ydERpYWxvZyAubXhfRXhwb3J0RGlhbG9nX3Byb2dyZXNzIC5teF9TcGlubmVyIHtcbiAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgICAgd2lkdGg6IGluaXRpYWw7XG4gICAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgICAgICBoZWlnaHQ6IGluaXRpYWw7XG4gICAgICAgICAgICAtd2Via2l0LWJveC1mbGV4OiBpbml0aWFsO1xuICAgICAgICAgICAgICAgIC1tcy1mbGV4OiBpbml0aWFsO1xuICAgICAgICAgICAgICAgICAgICBmbGV4OiBpbml0aWFsO1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgICAgICB9XG5cbi5teF9FeHBvcnREaWFsb2cgLm14X0V4cG9ydERpYWxvZ19wcm9ncmVzcyB7XG5cbiAgICAgICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG5cbiAgICAgICAgZGlzcGxheTogLW1zLWZsZXhib3g7XG5cbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgLXdlYmtpdC1ib3gtb3JpZW50OiBob3Jpem9udGFsO1xuICAgICAgICAtd2Via2l0LWJveC1kaXJlY3Rpb246IG5vcm1hbDtcbiAgICAgICAgICAgIC1tcy1mbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgIC13ZWJraXQtYm94LXBhY2s6IGVuZDtcbiAgICAgICAgICAgIC1tcy1mbGV4LXBhY2s6IGVuZDtcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgICAgICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG4ubXhfRXhwb3J0RGlhbG9nIC5teF9TdHlsZWRSYWRpb0J1dHRvbiA+IC5teF9TdHlsZWRSYWRpb0J1dHRvbl9jb250ZW50IHtcbiAgICAgICAgbWFyZ2luLXRvcDogNXB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA1cHg7XG4gICAgfVxuXG4ubXhfRXhwb3J0RGlhbG9nIC5teF9GaWVsZCB7XG4gICAgICAgIHdpZHRoOiAyNTZweDtcbiAgICB9XG5cbi5teF9FeHBvcnREaWFsb2cgLm14X0ZpZWxkX3Bvc3RmaXgge1xuICAgICAgICBwYWRkaW5nOiA5cHggMTBweDtcbiAgICB9XG5cbi5teF9FeHBvcnREaWFsb2dfYXR0YWNobWVudHMtY2hlY2tib3gge1xuICAgIG1hcmdpbi10b3A6IDE2cHg7XG59XG5cbi8qXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cbkNvcHlyaWdodCAyMDIwIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXG5cblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cbiovXG5cbi5teF9GZWVkYmFja0RpYWxvZyBociB7XG4gICAgICAgIG1hcmdpbjogMjRweCAwO1xuICAgICAgICBib3JkZXItY29sb3I6ICNlN2U3ZTc7XG4gICAgfVxuXG4ubXhfRmVlZGJhY2tEaWFsb2cgLm14X0RpYWxvZ19jb250ZW50IHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjRweDtcbiAgICB9XG5cbi5teF9GZWVkYmFja0RpYWxvZyAubXhfRGlhbG9nX2NvbnRlbnQgPiBoMiB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAzMnB4O1xuICAgICAgICB9XG5cbi5teF9GZWVkYmFja0RpYWxvZyAubXhfRmVlZGJhY2tEaWFsb2dfc2VjdGlvbiB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgcGFkZGluZzogMTJweCA1MnB4IDEycHggNjhweDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4O1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjNmY3ODgyO1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1xdWluYXJ5LWNvbnRlbnQsICM2Zjc4ODIpO1xuICAgIH1cblxuLm14X0ZlZWRiYWNrRGlhbG9nIC5teF9GZWVkYmFja0RpYWxvZ19zZWN0aW9uICsgLm14X0ZlZWRiYWNrRGlhbG9nX3NlY3Rpb24ge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMTZweDtcbiAgICAgICAgfVxuXG4ubXhfRmVlZGJhY2tEaWFsb2cgLm14X0ZlZWRiYWNrRGlhbG9nX3NlY3Rpb24gPiBoMyB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogOHB4O1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLWNwZC1mb250LXdlaWdodC1zZW1pYm9sZCk7XG4gICAgICAgICAgICBmb250LXNpemU6IDEuMTI1cmVtO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMzc1cmVtO1xuICAgICAgICB9XG5cbi5teF9GZWVkYmFja0RpYWxvZyAubXhfRmVlZGJhY2tEaWFsb2dfc2VjdGlvbiA+IHAge1xuICAgICAgICAgICAgY29sb3I6ICNlZGYzZmY7XG4gICAgICAgICAgICBjb2xvcjogdmFyKC0tc2Vjb25kYXJ5LWNvbnRlbnQsICNlZGYzZmYpO1xuICAgICAgICAgICAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS41cmVtO1xuICAgICAgICAgICAgbWFyZ2luOiA4cHggMCAwO1xuICAgICAgICB9XG5cbi5teF9GZWVkYmFja0RpYWxvZyAubXhfRmVlZGJhY2tEaWFsb2dfc2VjdGlvbiAubXhfRmVlZGJhY2tEaWFsb2dfc2VjdGlvbl9taWNyb2NvcHkge1xuICAgICAgICAgICAgZm9udC1zaXplOiAwLjc1cmVtO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgICAgfVxuXG4ubXhfRmVlZGJhY2tEaWFsb2cgLm14X0ZlZWRiYWNrRGlhbG9nX3NlY3Rpb24gYSxcbiAgICAgICAgLm14X0ZlZWRiYWNrRGlhbG9nIC5teF9GZWVkYmFja0RpYWxvZ19zZWN0aW9uIC5teF9BY2Nlc3NpYmxlQnV0dG9uX2tpbmRfbGluayB7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICAgfVxuXG4ubXhfRmVlZGJhY2tEaWFsb2cgLm14X0ZlZWRiYWNrRGlhbG9nX3NlY3Rpb246OmJlZm9yZSxcbiAgICAgICAgLm14X0ZlZWRiYWNrRGlhbG9nIC5teF9GZWVkYmFja0RpYWxvZ19zZWN0aW9uOjphZnRlciB7XG4gICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgd2lkdGg6IDQwcHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDQwcHg7XG4gICAgICAgICAgICBsZWZ0OiAxNnB4O1xuICAgICAgICAgICAgdG9wOiAxMnB4O1xuICAgICAgICB9XG5cbi5teF9GZWVkYmFja0RpYWxvZyAubXhfRmVlZGJhY2tEaWFsb2dfc2VjdGlvbjo6YmVmb3JlIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWljb24tYnV0dG9uLWNvbG9yLCB2YXIoLS1jcGQtY29sb3ItaWNvbi10ZXJ0aWFyeSkpO1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4O1xuICAgICAgICB9XG5cbi5teF9GZWVkYmFja0RpYWxvZyAubXhfRmVlZGJhY2tEaWFsb2dfc2VjdGlvbjo6YWZ0ZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogI2ZmZmZmZjsgLyogVE9ETyAqL1xuICAgICAgICAgICAgLXdlYmtpdC1tYXNrLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgIG1hc2stcG9zaXRpb246IGNlbnRlcjtcbiAgICAgICAgICAgIC13ZWJraXQtbWFzay1zaXplOiAyNHB4O1xuICAgICAgICAgICAgICAgICAgICBtYXNrLXNpemU6IDI0cHg7XG4gICAgICAgICAgICAtd2Via2l0LW1hc2stcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgICAgICAgICAgIG1hc2stcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgIH1cblxuLm14X0ZlZWRiYWNrRGlhbG9nIC5teF9GZWVkYmFja0RpYWxvZ19yZXBvcnRCdWc6OmFmdGVyIHtcbiAgICAgICAgICAgIC13ZWJraXQtbWFzay1pbWFnZTogdXJsKFwiLi4vLi4vLi4vaW1nL2ZlYXRoZXItY3VzdG9taXNlZC9idWcuc3ZnXCIpO1xuICAgICAgICAgICAgICAgICAgICBtYXNrLWltYWdlOiB1cmwoXCIuLi8uLi8uLi9pbWcvZmVhdGhlci1jdXN0b21pc2VkL2J1Zy5zdmdcIik7XG4gICAgICAgIH1cblxuLm14X0ZlZWRiYWNrRGlhbG9nIC5teF9GZWVkYmFja0RpYWxvZ19yYXRlQXBwIC5teF9TdHlsZWRSYWRpb0J1dHRvbiB7XG4gICAgICAgICAgICBkaXNwbGF5OiAtd2Via2l0LWlubGluZS1ib3g7XG4gICAgICAgICAgICBkaXNwbGF5OiAtbXMtaW5saW5lLWZsZXhib3g7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICAgICAgICAgIC13ZWJraXQtdHJhbnNpdGlvbjpcbiAgICAgICAgICAgICAgICBmb250LXNpemUgMXMsXG4gICAgICAgICAgICAgICAgYm9yZGVyIDAuNXM7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOlxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZSAxcyxcbiAgICAgICAgICAgICAgICBib3JkZXIgMC41cztcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgICAgIGJvcmRlcjogMnB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMTJweDtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDI0cHg7XG4gICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICB9XG5cbi5teF9GZWVkYmFja0RpYWxvZyAubXhfRmVlZGJhY2tEaWFsb2dfcmF0ZUFwcCAubXhfU3R5bGVkUmFkaW9CdXR0b24gaW5wdXRbdHlwZT1cInJhZGlvXCJdICsgZGl2IHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgfVxuXG4ubXhfRmVlZGJhY2tEaWFsb2cgLm14X0ZlZWRiYWNrRGlhbG9nX3JhdGVBcHAgLm14X1N0eWxlZFJhZGlvQnV0dG9uIC5teF9TdHlsZWRSYWRpb0J1dHRvbl9jb250ZW50IHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1pY29uLWJ1dHRvbi1jb2xvciwgdmFyKC0tY3BkLWNvbG9yLWljb24tdGVydGlhcnkpKTtcbiAgICAgICAgICAgICAgICB3aWR0aDogNDBweDtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDQwcHg7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiA0MHB4O1xuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDIwcHg7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiA1cHg7XG4gICAgICAgICAgICB9XG5cbi5teF9GZWVkYmFja0RpYWxvZyAubXhfRmVlZGJhY2tEaWFsb2dfcmF0ZUFwcCAubXhfU3R5bGVkUmFkaW9CdXR0b24gLm14X1N0eWxlZFJhZGlvQnV0dG9uX3NwYWNlciB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cblxuLm14X0ZlZWRiYWNrRGlhbG9nIC5teF9GZWVkYmFja0RpYWxvZ19yYXRlQXBwIC5teF9TdHlsZWRSYWRpb0J1dHRvbiArIC5teF9TdHlsZWRSYWRpb0J1dHRvbiB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDE2cHg7XG4gICAgICAgICAgICB9XG5cbi5teF9GZWVkYmFja0RpYWxvZyAubXhfRmVlZGJhY2tEaWFsb2dfcmF0ZUFwcCAubXhfU3R5bGVkUmFkaW9CdXR0b25fY2hlY2tlZCB7XG4gICAgICAgICAgICBmb250LXNpemU6IDI0cHg7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6IHZhcigtLWNwZC1jb2xvci1iZy1hY3Rpb24tcHJpbWFyeS1yZXN0KTtcbiAgICAgICAgfVxuXG4ubXhfRmVlZGJhY2tEaWFsb2cgLm14X0ZlZWRiYWNrRGlhbG9nX3JhdGVBcHA6OmFmdGVyIHtcbiAgICAgICAgICAgIC13ZWJraXQtbWFzay1pbWFnZTogdXJsKFwiLi4vLi4vLi4vaW1nL2VsZW1lbnQtaWNvbnMvZmVlZGJhY2suc3ZnXCIpO1xuICAgICAgICAgICAgICAgICAgICBtYXNrLWltYWdlOiB1cmwoXCIuLi8uLi8uLi9pbWcvZWxlbWVudC1pY29ucy9mZWVkYmFjay5zdmdcIik7XG4gICAgICAgIH1cblxuLypcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxuQ29weXJpZ2h0IDIwMjEgUm9iaW4gVG93bnNlbmQgPHJvYmluQHJvYmluLnRvd24+XG5cblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cbiovXG5cbi5teF9Gb3J3YXJkRGlhbG9nIHtcbiAgICB3aWR0aDogNTIwcHg7XG4gICAgY29sb3I6IHZhcigtLXRpbWVsaW5lLXRleHQtY29sb3IpO1xuICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcbiAgICAtd2Via2l0LWJveC1kaXJlY3Rpb246IG5vcm1hbDtcbiAgICAgICAgLW1zLWZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIC1tcy1mbGV4LXdyYXA6IG5vd3JhcDtcbiAgICAgICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgbWluLWhlaWdodDogMDtcbiAgICBoZWlnaHQ6IDgwdmg7XG59XG5cbi5teF9Gb3J3YXJkRGlhbG9nID4gaDMge1xuICAgICAgICBtYXJnaW46IDAgMCA2cHg7XG4gICAgICAgIGNvbG9yOiAjZWRmM2ZmO1xuICAgICAgICBjb2xvcjogdmFyKC0tc2Vjb25kYXJ5LWNvbnRlbnQsICNlZGYzZmYpO1xuICAgICAgICBmb250LXNpemU6IDAuNzVyZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1jcGQtZm9udC13ZWlnaHQtc2VtaWJvbGQpO1xuICAgICAgICBsaW5lLWhlaWdodDogMC45Mzc1cmVtO1xuICAgIH1cblxuLm14X0ZvcndhcmREaWFsb2cgPiAubXhfRm9yd2FyZERpYWxvZ19wcmV2aWV3IHtcbiAgICAgICAgbWF4LWhlaWdodDogMzAlO1xuICAgICAgICAtbXMtZmxleC1uZWdhdGl2ZTogMDtcbiAgICAgICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgICAgICBvdmVyZmxvdy15OiBhdXRvO1xuXG4gICAgICAgIC8qIFdoZW4gZm9yd2FyZGluZyBtZXNzYWdlcyBmcm9tIGVuY3J5cHRlZCByb29tcywgRXZlbnRUaWxlIHdpbGwgY29tcGxhaW4gKi9cbiAgICAgICAgLyogdGhhdCBvdXIgcHJldmlldyBpcyB1bmVuY3J5cHRlZCwgd2hpY2ggZG9lc24ndCBhY3R1YWxseSBtYXR0ZXIgKi9cbiAgICAgICAgLyogV2UgYWxzbyBoaWRlIGRvd25sb2FkIGxpbmtzIHRvIG5vdCBlbmNvdXJhZ2UgdXNlcnMgdG8gdHJ5IGludGVyYWN0aW5nICovXG4gICAgfVxuXG4ubXhfRm9yd2FyZERpYWxvZyA+IC5teF9Gb3J3YXJkRGlhbG9nX3ByZXZpZXcgLm14X0V2ZW50VGlsZVtkYXRhLWxheW91dD1cImJ1YmJsZVwiXSB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAyMHB4O1xuICAgICAgICB9XG5cbi5teF9Gb3J3YXJkRGlhbG9nID4gLm14X0ZvcndhcmREaWFsb2dfcHJldmlldyBkaXYge1xuICAgICAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICAgIH1cblxuLm14X0ZvcndhcmREaWFsb2cgPiAubXhfRm9yd2FyZERpYWxvZ19wcmV2aWV3IC5teF9FdmVudFRpbGVfbXNnT3B0aW9uLFxuICAgICAgICAubXhfRm9yd2FyZERpYWxvZyA+IC5teF9Gb3J3YXJkRGlhbG9nX3ByZXZpZXcgLm14X0V2ZW50VGlsZV9lMmVJY29uX3VuZW5jcnlwdGVkLFxuICAgICAgICAubXhfRm9yd2FyZERpYWxvZyA+IC5teF9Gb3J3YXJkRGlhbG9nX3ByZXZpZXcgLm14X0V2ZW50VGlsZV9lMmVJY29uX3dhcm5pbmcsXG4gICAgICAgIC5teF9Gb3J3YXJkRGlhbG9nID4gLm14X0ZvcndhcmREaWFsb2dfcHJldmlldyAubXhfTUZpbGVCb2R5X2Rvd25sb2FkIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cblxuLm14X0ZvcndhcmREaWFsb2cgPiBociB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZTdlN2U3O1xuICAgICAgICBtYXJnaW46IDEycHggMDtcbiAgICB9XG5cbi5teF9Gb3J3YXJkRGlhbG9nID4gLm14X0ZvcndhcmRMaXN0IHtcbiAgICAgICAgZGlzcGxheTogY29udGVudHM7XG4gICAgfVxuXG4ubXhfRm9yd2FyZERpYWxvZyA+IC5teF9Gb3J3YXJkTGlzdCAubXhfU2VhcmNoQm94IHtcbiAgICAgICAgICAgIC8qIFRvIG1hdGNoIHRoZSBzcGFjZSBhcm91bmQgdGhlIHRpdGxlICovXG4gICAgICAgICAgICBtYXJnaW46IDAgMCAxNXB4IDA7XG4gICAgICAgICAgICAtd2Via2l0LWJveC1mbGV4OiAwO1xuICAgICAgICAgICAgICAgIC1tcy1mbGV4LXBvc2l0aXZlOiAwO1xuICAgICAgICAgICAgICAgICAgICBmbGV4LWdyb3c6IDA7XG4gICAgICAgIH1cblxuLm14X0ZvcndhcmREaWFsb2cgPiAubXhfRm9yd2FyZExpc3QgLm14X0ZvcndhcmRMaXN0X2NvbnRlbnQge1xuICAgICAgICAgICAgLXdlYmtpdC1ib3gtZmxleDogMTtcbiAgICAgICAgICAgICAgICAtbXMtZmxleC1wb3NpdGl2ZTogMTtcbiAgICAgICAgICAgICAgICAgICAgZmxleC1ncm93OiAxO1xuICAgICAgICB9XG5cbi5teF9Gb3J3YXJkRGlhbG9nID4gLm14X0ZvcndhcmRMaXN0IC5teF9Gb3J3YXJkTGlzdF9ub1Jlc3VsdHMge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAyNHB4O1xuICAgICAgICB9XG5cbi5teF9Gb3J3YXJkRGlhbG9nID4gLm14X0ZvcndhcmRMaXN0IC5teF9Gb3J3YXJkTGlzdF9yZXN1bHRzOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAyNHB4O1xuICAgICAgICAgICAgfVxuXG4ubXhfRm9yd2FyZERpYWxvZyA+IC5teF9Gb3J3YXJkTGlzdCAubXhfRm9yd2FyZExpc3RfcmVzdWx0cyAubXhfRm9yd2FyZExpc3RfcmVzdWx0c0xpc3Qge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDhweDtcbiAgICAgICAgICAgIH1cblxuLm14X0ZvcndhcmREaWFsb2cgPiAubXhfRm9yd2FyZExpc3QgLm14X0ZvcndhcmRMaXN0X3Jlc3VsdHMgLm14X0ZvcndhcmRMaXN0X2VudHJ5IHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgIC13ZWJraXQtYm94LXBhY2s6IGp1c3RpZnk7XG4gICAgICAgICAgICAgICAgICAgIC1tcy1mbGV4LXBhY2s6IGp1c3RpZnk7XG4gICAgICAgICAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAzMnB4O1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDZweDtcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgICAgICAgICB9XG5cbi5teF9Gb3J3YXJkRGlhbG9nID4gLm14X0ZvcndhcmRMaXN0IC5teF9Gb3J3YXJkTGlzdF9yZXN1bHRzIC5teF9Gb3J3YXJkTGlzdF9lbnRyeTpob3ZlcixcbiAgICAgICAgICAgICAgICAubXhfRm9yd2FyZERpYWxvZyA+IC5teF9Gb3J3YXJkTGlzdCAubXhfRm9yd2FyZExpc3RfcmVzdWx0cyAubXhfRm9yd2FyZExpc3RfZW50cnkubXhfRm9yd2FyZExpc3RfZW50cnlfYWN0aXZlIHtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tc2lkZWJhci1jb2xvcik7XG4gICAgICAgICAgICAgICAgfVxuXG4ubXhfRm9yd2FyZERpYWxvZyA+IC5teF9Gb3J3YXJkTGlzdCAubXhfRm9yd2FyZExpc3RfcmVzdWx0cyAubXhfRm9yd2FyZExpc3RfZW50cnkgLm14X0ZvcndhcmRMaXN0X3Jvb21CdXR0b24ge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMTJweDtcbiAgICAgICAgICAgICAgICAgICAgbWluLXdpZHRoOiAwO1xuICAgICAgICAgICAgICAgIH1cblxuLm14X0ZvcndhcmREaWFsb2cgPiAubXhfRm9yd2FyZExpc3QgLm14X0ZvcndhcmRMaXN0X3Jlc3VsdHMgLm14X0ZvcndhcmRMaXN0X2VudHJ5IC5teF9Gb3J3YXJkTGlzdF9yb29tQnV0dG9uIC5teF9EZWNvcmF0ZWRSb29tQXZhdGFyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMTJweDtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4ubXhfRm9yd2FyZERpYWxvZyA+IC5teF9Gb3J3YXJkTGlzdCAubXhfRm9yd2FyZExpc3RfcmVzdWx0cyAubXhfRm9yd2FyZExpc3RfZW50cnkgLm14X0ZvcndhcmRMaXN0X3Jvb21CdXR0b24gLm14X0ZvcndhcmRMaXN0X2VudHJ5X25hbWUsXG4gICAgICAgICAgICAgICAgICAgIC5teF9Gb3J3YXJkRGlhbG9nID4gLm14X0ZvcndhcmRMaXN0IC5teF9Gb3J3YXJkTGlzdF9yZXN1bHRzIC5teF9Gb3J3YXJkTGlzdF9lbnRyeSAubXhfRm9yd2FyZExpc3Rfcm9vbUJ1dHRvbiAubXhfRm9yd2FyZExpc3RfZW50cnlfZGV0YWlsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAzMHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICAgICAgICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgICAgICAgICAgICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4ubXhfRm9yd2FyZERpYWxvZyA+IC5teF9Gb3J3YXJkTGlzdCAubXhfRm9yd2FyZExpc3RfcmVzdWx0cyAubXhfRm9yd2FyZExpc3RfZW50cnkgLm14X0ZvcndhcmRMaXN0X3Jvb21CdXR0b24gLm14X0ZvcndhcmRMaXN0X2VudHJ5X25hbWUge1xuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gICAgICAgICAgICAgICAgICAgIH1cblxuLm14X0ZvcndhcmREaWFsb2cgPiAubXhfRm9yd2FyZExpc3QgLm14X0ZvcndhcmRMaXN0X3Jlc3VsdHMgLm14X0ZvcndhcmRMaXN0X2VudHJ5IC5teF9Gb3J3YXJkTGlzdF9yb29tQnV0dG9uIC5teF9Gb3J3YXJkTGlzdF9lbnRyeV9kZXRhaWwge1xuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAwLjc1cmVtO1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDhweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAjZWRmM2ZmO1xuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IHZhcigtLXRlcnRpYXJ5LWNvbnRlbnQsICNlZGYzZmYpO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbi5teF9Gb3J3YXJkRGlhbG9nID4gLm14X0ZvcndhcmRMaXN0IC5teF9Gb3J3YXJkTGlzdF9yZXN1bHRzIC5teF9Gb3J3YXJkTGlzdF9lbnRyeSAubXhfRm9yd2FyZExpc3Rfc2VuZEJ1dHRvbiB7XG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDEycHg7XG4gICAgICAgICAgICAgICAgfVxuXG4ubXhfRm9yd2FyZERpYWxvZyA+IC5teF9Gb3J3YXJkTGlzdCAubXhfRm9yd2FyZExpc3RfcmVzdWx0cyAubXhfRm9yd2FyZExpc3RfZW50cnkgLm14X0ZvcndhcmRMaXN0X3NlbmRCdXR0b246bm90KC5teF9Gb3J3YXJkTGlzdF9jYW5TZW5kKSAubXhfRm9yd2FyZExpc3Rfc2VuZExhYmVsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8qIEhpZGUgdGhlIFwiU2VuZFwiIGxhYmVsIHdoaWxlIHByZXNlcnZpbmcgYnV0dG9uIHNpemUgKi9cbiAgICAgICAgICAgICAgICAgICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4ubXhfRm9yd2FyZERpYWxvZyA+IC5teF9Gb3J3YXJkTGlzdCAubXhfRm9yd2FyZExpc3RfcmVzdWx0cyAubXhfRm9yd2FyZExpc3RfZW50cnkgLm14X0ZvcndhcmRMaXN0X3NlbmRCdXR0b24gLm14X0ZvcndhcmRMaXN0X3NlbmRJY29uLFxuICAgICAgICAgICAgICAgICAgICAubXhfRm9yd2FyZERpYWxvZyA+IC5teF9Gb3J3YXJkTGlzdCAubXhfRm9yd2FyZExpc3RfcmVzdWx0cyAubXhfRm9yd2FyZExpc3RfZW50cnkgLm14X0ZvcndhcmRMaXN0X3NlbmRCdXR0b24gLm14X05vdGlmaWNhdGlvbkJhZGdlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4ubXhfRm9yd2FyZERpYWxvZyA+IC5teF9Gb3J3YXJkTGlzdCAubXhfRm9yd2FyZExpc3RfcmVzdWx0cyAubXhfRm9yd2FyZExpc3RfZW50cnkgLm14X0ZvcndhcmRMaXN0X3NlbmRCdXR0b24gLm14X05vdGlmaWNhdGlvbkJhZGdlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8qIE1hdGNoIHRoZSBmYWlsZWQgdG8gc2VuZCBpbmRpY2F0b3IncyBjb2xvciB3aXRoIHRoZSBkaXNhYmxlZCBidXR0b24gKi9cbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuLm14X0ZvcndhcmREaWFsb2cgPiAubXhfRm9yd2FyZExpc3QgLm14X0ZvcndhcmRMaXN0X3Jlc3VsdHMgLm14X0ZvcndhcmRMaXN0X2VudHJ5IC5teF9Gb3J3YXJkTGlzdF9zZW5kQnV0dG9uLm14X0ZvcndhcmRMaXN0X3NlbmRpbmcgLm14X0ZvcndhcmRMaXN0X3NlbmRJY29uIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwZGJkOGI7XG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1hY2NlbnQtY29sb3IsICMwZGJkOGIpO1xuICAgICAgICAgICAgICAgICAgICAgICAgLXdlYmtpdC1tYXNrLWltYWdlOiB1cmwoXCIuLi8uLi8uLi9pbWcvZWxlbWVudC1pY29ucy9jaXJjbGUtc2VuZGluZy5zdmdcIik7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hc2staW1hZ2U6IHVybChcIi4uLy4uLy4uL2ltZy9lbGVtZW50LWljb25zL2NpcmNsZS1zZW5kaW5nLnN2Z1wiKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIC13ZWJraXQtbWFzay1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXNrLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgICAgICAtd2Via2l0LW1hc2stcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hc2stcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgICAgICAgICAgICAgICAtd2Via2l0LW1hc2stc2l6ZTogMTRweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFzay1zaXplOiAxNHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDE0cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDE0cHg7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuLm14X0ZvcndhcmREaWFsb2cgPiAubXhfRm9yd2FyZExpc3QgLm14X0ZvcndhcmRMaXN0X3Jlc3VsdHMgLm14X0ZvcndhcmRMaXN0X2VudHJ5IC5teF9Gb3J3YXJkTGlzdF9zZW5kQnV0dG9uLm14X0ZvcndhcmRMaXN0X3NlbnQgLm14X0ZvcndhcmRMaXN0X3NlbmRJY29uIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwZGJkOGI7XG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1hY2NlbnQtY29sb3IsICMwZGJkOGIpO1xuICAgICAgICAgICAgICAgICAgICAgICAgLXdlYmtpdC1tYXNrLWltYWdlOiB1cmwoXCIuLi8uLi8uLi9pbWcvZWxlbWVudC1pY29ucy9jaXJjbGUtc2VudC5zdmdcIik7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hc2staW1hZ2U6IHVybChcIi4uLy4uLy4uL2ltZy9lbGVtZW50LWljb25zL2NpcmNsZS1zZW50LnN2Z1wiKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIC13ZWJraXQtbWFzay1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXNrLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgICAgICAtd2Via2l0LW1hc2stcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hc2stcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgICAgICAgICAgICAgICAtd2Via2l0LW1hc2stc2l6ZTogMTRweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFzay1zaXplOiAxNHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDE0cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDE0cHg7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuLypcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxuQ29weXJpZ2h0IDIwMjEgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cblxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuKi9cblxuLm14X0dlbmVyaWNGZWF0dXJlRmVlZGJhY2tEaWFsb2cgLm14X0dlbmVyaWNGZWF0dXJlRmVlZGJhY2tEaWFsb2dfc3ViaGVhZGluZyB7XG4gICAgICAgIGNvbG9yOiB2YXIoLS10aW1lbGluZS10ZXh0LWNvbG9yKTtcbiAgICAgICAgZm9udDogdmFyKC0tY3BkLWZvbnQtYm9keS1tZC1yZWd1bGFyKTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjVyZW07XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDI0cHg7XG4gICAgfVxuXG4vKlxuQ29weXJpZ2h0IDIwMTktMjAyNCBOZXcgVmVjdG9yIEx0ZC5cblxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuKi9cblxuLm14X0luY29taW5nU2FzRGlhbG9nX29wcG9uZW50UHJvZmlsZV9pbWFnZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4ubXhfSW5jb21pbmdTYXNEaWFsb2dfb3Bwb25lbnRQcm9maWxlIGgyIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luLWxlZnQ6IDEwcHg7XG59XG5cbi8qXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cbkNvcHlyaWdodCAyMDE5LCAyMDIwIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXG5cblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cbiovXG5cbi5teF9JbnZpdGVEaWFsb2dfZmxleFdyYXBwZXIgLm14X0RpYWxvZyB7XG4gICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gICAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xuICAgIC13ZWJraXQtYm94LWRpcmVjdGlvbjogbm9ybWFsO1xuICAgICAgICAtbXMtZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG59XG5cbi5teF9JbnZpdGVEaWFsb2dfdHJhbnNmZXJXcmFwcGVyIC5teF9EaWFsb2cge1xuICAgIHBhZGRpbmctYm90dG9tOiAxNnB4O1xufVxuXG4ubXhfSW52aXRlRGlhbG9nX2FkZHJlc3NCYXIge1xuICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgLXdlYmtpdC1ib3gtb3JpZW50OiBob3Jpem9udGFsO1xuICAgIC13ZWJraXQtYm94LWRpcmVjdGlvbjogbm9ybWFsO1xuICAgICAgICAtbXMtZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgLyogUmlnaHQgbWFyZ2luIGZvciB0aGUgZGVzaWduLiBXZSBjb3VsZCBhcHBseSB0aGlzIHRvIHRoZSB3aG9sZSBkaWFsb2csIGJ1dCB0aGVuIHRoZSBzY3JvbGxiYXIgKi9cbiAgICAvKiBmb3IgdGhlIHVzZXIgc2VjdGlvbiBnZXRzIHdlaXJkLiAqL1xuICAgIG1hcmdpbjogOHB4IDQ1cHggMCAwO1xufVxuXG4ubXhfSW52aXRlRGlhbG9nX2FkZHJlc3NCYXIgLm14X0ludml0ZURpYWxvZ19lZGl0b3Ige1xuICAgICAgICAtd2Via2l0LWJveC1mbGV4OiAxO1xuICAgICAgICAgICAgLW1zLWZsZXg6IDE7XG4gICAgICAgICAgICAgICAgZmxleDogMTtcbiAgICAgICAgd2lkdGg6IDEwMCU7IC8qIE5lZWRlZCB0byBtYWtlIHRoZSBGaWVsZCBpbnNpZGUgZ3JvdyAqL1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1yb29tbGlzdC1iYWNrZ3JvdW5kLWNvbG9yKTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAgICAgICBtaW4taGVpZ2h0OiAyNXB4O1xuICAgICAgICAtd2Via2l0LXBhZGRpbmctc3RhcnQ6IDhweDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWlubGluZS1zdGFydDogOHB4O1xuICAgICAgICBvdmVyZmxvdy14OiBoaWRkZW47XG4gICAgICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICAgICAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgLW1zLWZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICB9XG5cbi5teF9JbnZpdGVEaWFsb2dfYWRkcmVzc0JhciAubXhfSW52aXRlRGlhbG9nX2VkaXRvciAubXhfSW52aXRlRGlhbG9nX3VzZXJUaWxlIHtcbiAgICAgICAgICAgIG1hcmdpbjogNnB4IDZweCAwIDA7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICBtaW4td2lkdGg6IC13ZWJraXQtbWF4LWNvbnRlbnQ7XG4gICAgICAgICAgICBtaW4td2lkdGg6IC1tb3otbWF4LWNvbnRlbnQ7XG4gICAgICAgICAgICBtaW4td2lkdGg6IG1heC1jb250ZW50OyAvKiBwcmV2ZW50IG1hbmlwdWxhdGlvbiBieSBmbGV4Ym94ICovXG4gICAgICAgIH1cblxuLyogb3ZlcnJpZGVzIGJ1bmNoIG9mIG91ciBkZWZhdWx0IHRleHQgaW5wdXQgc3R5bGVzICovXG5cbi5teF9JbnZpdGVEaWFsb2dfYWRkcmVzc0JhciAubXhfSW52aXRlRGlhbG9nX2VkaXRvciA+IGlucHV0W3R5cGU9XCJ0ZXh0XCJdIHtcbiAgICAgICAgICAgIG1hcmdpbjogNnB4IDAgIWltcG9ydGFudDtcbiAgICAgICAgICAgIGhlaWdodDogMjRweDtcbiAgICAgICAgICAgIGZvbnQ6IHZhcigtLWNwZC1mb250LWJvZHktbWQtcmVndWxhcik7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS41cmVtO1xuICAgICAgICAgICAgLXdlYmtpdC1wYWRkaW5nLXN0YXJ0OiAxMnB4O1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWlubGluZS1zdGFydDogMTJweDtcbiAgICAgICAgICAgIGJvcmRlcjogMCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgb3V0bGluZTogMCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgcmVzaXplOiBub25lO1xuICAgICAgICAgICAgLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICAgICAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICAgICAgbWluLXdpZHRoOiA0MCU7XG4gICAgICAgICAgICAtd2Via2l0LWJveC1mbGV4OiAxICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgLW1zLWZsZXg6IDEgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICAgICAgZmxleDogMSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgY29sb3I6IHZhcigtLXRpbWVsaW5lLXRleHQtY29sb3IpICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cblxuLm14X0ludml0ZURpYWxvZ19hZGRyZXNzQmFyIC5teF9JbnZpdGVEaWFsb2dfZ29CdXR0b24ge1xuICAgICAgICBtaW4td2lkdGg6IDQ4cHg7XG4gICAgICAgIC13ZWJraXQtbWFyZ2luLXN0YXJ0OiAxMHB4O1xuICAgICAgICAgICAgICAgIG1hcmdpbi1pbmxpbmUtc3RhcnQ6IDEwcHg7XG4gICAgICAgIGhlaWdodDogMjVweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNTYyNXJlbTtcbiAgICB9XG5cbi5teF9JbnZpdGVEaWFsb2dfYWRkcmVzc0JhciAubXhfSW52aXRlRGlhbG9nX2J1dHRvbkFuZFNwaW5uZXIgLm14X1NwaW5uZXIge1xuICAgICAgICAgICAgLyogV2lkdGggYW5kIGhlaWdodCBhcmUgcmVxdWlyZWQgdG8gdHJpY2sgdGhlIGxheW91dCBlbmdpbmUuICovXG4gICAgICAgICAgICB3aWR0aDogMjBweDtcbiAgICAgICAgICAgIGhlaWdodDogMjBweDtcbiAgICAgICAgICAgIC13ZWJraXQtbWFyZ2luLXN0YXJ0OiA1cHg7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1pbmxpbmUtc3RhcnQ6IDVweDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgIH1cblxuLm14X0ludml0ZURpYWxvZ19zZWN0aW9uIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogNHB4O1xufVxuXG4ubXhfSW52aXRlRGlhbG9nX3NlY3Rpb24gaDMge1xuICAgICAgICBmb250LXNpemU6IDAuNzVyZW07XG4gICAgICAgIGNvbG9yOiAjYTFiMmQxO1xuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICB9XG5cbi5teF9JbnZpdGVEaWFsb2dfc2VjdGlvbiA+IHAge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgfVxuXG4ubXhfSW52aXRlRGlhbG9nX3NlY3Rpb24gPiBzcGFuIHtcbiAgICAgICAgY29sb3I6IHZhcigtLXRpbWVsaW5lLXRleHQtY29sb3IpO1xuICAgIH1cblxuLm14X0ludml0ZURpYWxvZ19zZWN0aW9uIC5teF9JbnZpdGVEaWFsb2dfc2VjdGlvbl9zaG93TW9yZSB7XG4gICAgICAgIG1hcmdpbjogN3B4IDE4cHg7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxuLm14X0ludml0ZURpYWxvZ19zZWN0aW9uX2hpZGRlbl9zdWdnZXN0aW9uc19kaXNjbGFpbWVyIHtcbiAgICBwYWRkaW5nOiA4cHggMCAxNnB4IDA7XG4gICAgZm9udDogdmFyKC0tY3BkLWZvbnQtYm9keS1tZC1yZWd1bGFyKTtcbn1cblxuLm14X0ludml0ZURpYWxvZ19zZWN0aW9uX2hpZGRlbl9zdWdnZXN0aW9uc19kaXNjbGFpbWVyID4gc3BhbiB7XG4gICAgICAgIGNvbG9yOiB2YXIoLS10aW1lbGluZS10ZXh0LWNvbG9yKTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLWNwZC1mb250LXdlaWdodC1zZW1pYm9sZCk7XG4gICAgfVxuXG4ubXhfSW52aXRlRGlhbG9nX3NlY3Rpb25faGlkZGVuX3N1Z2dlc3Rpb25zX2Rpc2NsYWltZXIgPiBwIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgIH1cblxuLm14X0ludml0ZURpYWxvZ19mb290ZXIge1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZTdlN2U3O1xufVxuXG4ubXhfSW52aXRlRGlhbG9nX2Zvb3RlciA+IGgzIHtcbiAgICAgICAgbWFyZ2luOiAxMnB4IDA7XG4gICAgICAgIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgICAgICAgY29sb3I6ICNhMWIyZDE7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIH1cblxuLm14X0ludml0ZURpYWxvZ19mb290ZXIgLm14X0NvcHlhYmxlVGV4dC5teF9Db3B5YWJsZVRleHRfYm9yZGVyIHtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIHdpZHRoOiBpbml0aWFsOyAvKiBmdWxsIHdpZHRoICovXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuXG4ubXhfSW52aXRlRGlhbG9nX2Zvb3RlciAubXhfQ29weWFibGVUZXh0Lm14X0NvcHlhYmxlVGV4dF9ib3JkZXIgPiBhIHtcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICAgIC1tcy1mbGV4LW5lZ2F0aXZlOiAxO1xuICAgICAgICAgICAgICAgIGZsZXgtc2hyaW5rOiAxO1xuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgICAgICB9XG5cbi8qIE1hbnkgb2YgdGhlc2Ugc3R5bGVzIGFyZSBzdG9sZW4gZnJvbSBteF9Vc2VyUGlsbCwgYnV0IGFkanVzdGVkIGZvciB0aGUgaW52aXRlIGRpYWxvZy4gKi9cblxuLm14X0ludml0ZURpYWxvZ191c2VyVGlsZSB7XG4gICAgLXdlYmtpdC1tYXJnaW4tZW5kOiA4cHg7XG4gICAgICAgICAgICBtYXJnaW4taW5saW5lLWVuZDogOHB4O1xufVxuXG4ubXhfSW52aXRlRGlhbG9nX3VzZXJUaWxlIC5teF9JbnZpdGVEaWFsb2dfdXNlclRpbGVfcGlsbCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNwZC1jb2xvci1iZy1jYW52YXMtZGVmYXVsdCk7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNwZC1jb2xvci1ncmF5LTQwMCk7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDk5cHg7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgaGVpZ2h0OiAyNHB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMS41cmVtO1xuICAgICAgICBwYWRkaW5nLWlubGluZTogOHB4O1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICBjb2xvcjogdmFyKC0tY3BkLWNvbG9yLWdyYXktMTEwMCk7XG4gICAgfVxuXG4ubXhfSW52aXRlRGlhbG9nX3VzZXJUaWxlIC5teF9JbnZpdGVEaWFsb2dfdXNlclRpbGVfcGlsbCAubXhfU2VhcmNoUmVzdWx0QXZhdGFyIHtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDIwcHg7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICBsZWZ0OiAtNXB4O1xuICAgICAgICAgICAgdG9wOiAycHg7XG4gICAgICAgIH1cblxuLm14X0ludml0ZURpYWxvZ191c2VyVGlsZSAubXhfSW52aXRlRGlhbG9nX3VzZXJUaWxlX3BpbGwgaW1nLm14X1NlYXJjaFJlc3VsdEF2YXRhciB7XG4gICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgICAgICB9XG5cbi5teF9JbnZpdGVEaWFsb2dfdXNlclRpbGUgLm14X0ludml0ZURpYWxvZ191c2VyVGlsZV9waWxsIC5teF9JbnZpdGVEaWFsb2dfdXNlclRpbGVfbmFtZSB7XG4gICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgICAgICB9XG5cbi5teF9JbnZpdGVEaWFsb2dfdXNlclRpbGUgLm14X0ludml0ZURpYWxvZ191c2VyVGlsZV9waWxsIC5teF9TZWFyY2hSZXN1bHRBdmF0YXJfdGhyZWVwaWRBdmF0YXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjsgLyogdGhpcyBpcyBmaW5lIHdpdGhvdXQgYSB2YXIgYmVjYXVzZSBpdCdzIGZvciBib3RoIHRoZW1lcyAqL1xuICAgICAgICB9XG5cbi5teF9JbnZpdGVEaWFsb2dfdXNlclRpbGUgLm14X0ludml0ZURpYWxvZ191c2VyVGlsZV9yZW1vdmUge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgfVxuXG4ubXhfSW52aXRlRGlhbG9nX3VzZXJUaWxlIC5teF9JbnZpdGVEaWFsb2dfdXNlclRpbGVfcmVtb3ZlIHN2ZyB7XG4gICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICB9XG5cbi5teF9JbnZpdGVEaWFsb2dfb3RoZXIge1xuICAgIC8qIFByZXZlbnQgdGhlIGRpYWxvZyBmcm9tIGp1bXBpbmcgYXJvdW5kIHJhbmRvbWx5IHdoZW4gZWxlbWVudHMgY2hhbmdlLiAqL1xuICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcbiAgICAtd2Via2l0LWJveC1kaXJlY3Rpb246IG5vcm1hbDtcbiAgICAgICAgLW1zLWZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGhlaWdodDogNjAwcHg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLm14X0ludml0ZURpYWxvZ19vdGhlciBoMiB7XG4gICAgICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICAgICAgICAtd2Via2l0LWxpbmUtY2xhbXA6IDI7XG4gICAgICAgIC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWw7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBwcmUtd3JhcDtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB9XG5cbi5teF9JbnZpdGVEaWFsb2dfb3RoZXIgLm14X0ludml0ZURpYWxvZ19hZGRyZXNzQmFyIHtcbiAgICAgICAgLXdlYmtpdC1tYXJnaW4tZW5kOiAwO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1pbmxpbmUtZW5kOiAwO1xuICAgIH1cblxuLm14X0ludml0ZURpYWxvZ19vdGhlciAubXhfSW52aXRlRGlhbG9nX3VzZXJTZWN0aW9ucyB7XG4gICAgICAgIC13ZWJraXQtYm94LWZsZXg6IDE7XG4gICAgICAgICAgICAtbXMtZmxleC1wb3NpdGl2ZTogMTtcbiAgICAgICAgICAgICAgICBmbGV4LWdyb3c6IDE7XG4gICAgICAgIC13ZWJraXQtcGFkZGluZy1lbmQ6IDA7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1pbmxpbmUtZW5kOiAwO1xuICAgIH1cblxuLm14X0ludml0ZURpYWxvZ19vdGhlciAubXhfSW52aXRlRGlhbG9nX3VzZXJTZWN0aW9ucyAubXhfSW52aXRlRGlhbG9nX3NlY3Rpb24ge1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAxMnB4O1xuICAgICAgICB9XG5cbi5teF9JbnZpdGVEaWFsb2dfY29udGVudCB7XG4gICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gICAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xuICAgIC13ZWJraXQtYm94LWRpcmVjdGlvbjogbm9ybWFsO1xuICAgICAgICAtbXMtZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgLXdlYmtpdC1ib3gtZmxleDogMTtcbiAgICAgICAgLW1zLWZsZXgtcG9zaXRpdmU6IDE7XG4gICAgICAgICAgICBmbGV4LWdyb3c6IDE7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLm14X0ludml0ZURpYWxvZ190cmFuc2ZlciB7XG4gICAgd2lkdGg6IGF1dG87XG59XG5cbi5teF9JbnZpdGVEaWFsb2dfdHJhbnNmZXIgLm14X0ludml0ZURpYWxvZ19jb250ZW50IHtcbiAgICAgICAgd2lkdGg6IDQ5NnB4O1xuICAgICAgICBoZWlnaHQ6IDQzMHB4O1xuICAgICAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICB9XG5cbi5teF9JbnZpdGVEaWFsb2dfdHJhbnNmZXIgLm14X0ludml0ZURpYWxvZ19jb250ZW50IC5teF9UYWJiZWRWaWV3IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICAgICAgICAgICAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcbiAgICAgICAgICAgIC13ZWJraXQtYm94LWRpcmVjdGlvbjogbm9ybWFsO1xuICAgICAgICAgICAgICAgIC1tcy1mbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgLW1zLWZsZXgtbmVnYXRpdmU6IDE7XG4gICAgICAgICAgICAgICAgZmxleC1zaHJpbms6IDE7XG4gICAgICAgICAgICAtd2Via2l0LWJveC1mbGV4OiAxO1xuICAgICAgICAgICAgICAgIC1tcy1mbGV4LXBvc2l0aXZlOiAxO1xuICAgICAgICAgICAgICAgICAgICBmbGV4LWdyb3c6IDE7XG4gICAgICAgICAgICBtaW4taGVpZ2h0OiAwO1xuICAgICAgICB9XG5cbi5teF9JbnZpdGVEaWFsb2dfdHJhbnNmZXIgLm14X0ludml0ZURpYWxvZ19jb250ZW50IC5teF9UYWJiZWRWaWV3IC5teF9UYWJiZWRWaWV3X3RhYlBhbmVsIHtcbiAgICAgICAgICAgICAgICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xuICAgICAgICAgICAgICAgIC13ZWJraXQtYm94LWRpcmVjdGlvbjogbm9ybWFsO1xuICAgICAgICAgICAgICAgICAgICAtbXMtZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICB9XG5cbi5teF9JbnZpdGVEaWFsb2dfdHJhbnNmZXIgLm14X0ludml0ZURpYWxvZ19jb250ZW50IC5teF9UYWJiZWRWaWV3IC5teF9UYWJiZWRWaWV3X3RhYlBhbmVsIC5teF9UYWJiZWRWaWV3X3RhYlBhbmVsQ29udGVudCB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICAgICAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcbiAgICAgICAgICAgICAgICAgICAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiBub3JtYWw7XG4gICAgICAgICAgICAgICAgICAgICAgICAtbXMtZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgICAgIH1cblxuLm14X0ludml0ZURpYWxvZ190cmFuc2ZlciAubXhfSW52aXRlRGlhbG9nX2FkZHJlc3NCYXIge1xuICAgICAgICBtYXJnaW4tdG9wOiA4cHg7XG4gICAgfVxuXG4ubXhfSW52aXRlRGlhbG9nX3RyYW5zZmVyIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXSB7XG4gICAgICAgIC13ZWJraXQtbWFyZ2luLWVuZDogOHB4O1xuICAgICAgICAgICAgICAgIG1hcmdpbi1pbmxpbmUtZW5kOiA4cHg7XG4gICAgfVxuXG4ubXhfSW52aXRlRGlhbG9nX3VzZXJTZWN0aW9ucyB7XG4gICAgbWFyZ2luLXRvcDogNHB4O1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgcGFkZGluZzogMCA0NXB4IDRweCAwO1xufVxuXG4ubXhfSW52aXRlRGlhbG9nX2hlbHBUZXh0IHtcbiAgICBtYXJnaW46IDA7XG59XG5cbi5teF9JbnZpdGVEaWFsb2dfZGlhbFBhZCB7XG4gICAgd2lkdGg6IDIyNHB4O1xuICAgIG1hcmdpbi10b3A6IDE2cHg7XG4gICAgbWFyZ2luLWlubGluZTogYXV0bztcbn1cblxuLm14X0ludml0ZURpYWxvZ19kaWFsUGFkIC5teF9JbnZpdGVEaWFsb2dfZGlhbFBhZEZpZWxkIHtcbiAgICAgICAgYm9yZGVyLXRvcDogMDtcbiAgICAgICAgYm9yZGVyLWlubGluZTogMDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjNmY3ODgyO1xuICAgICAgICBib3JkZXItY29sb3I6IHZhcigtLXF1YXRlcm5hcnktY29udGVudCwgIzZmNzg4Mik7XG4gICAgfVxuXG4ubXhfSW52aXRlRGlhbG9nX2RpYWxQYWQgLm14X0ludml0ZURpYWxvZ19kaWFsUGFkRmllbGQ6Zm9jdXMtd2l0aGluIHtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogIzBkYmQ4YjtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0tYWNjZW50LWNvbG9yLCAjMGRiZDhiKTtcbiAgICAgICAgfVxuXG4ubXhfSW52aXRlRGlhbG9nX2RpYWxQYWQgLm14X0ludml0ZURpYWxvZ19kaWFsUGFkRmllbGQgaW5wdXQge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLWNwZC1mb250LXdlaWdodC1zZW1pYm9sZCk7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICAgICAgfVxuXG4ubXhfSW52aXRlRGlhbG9nX2RpYWxQYWQgLm14X0ludml0ZURpYWxvZ19kaWFsUGFkRmllbGQgLm14X0ZpZWxkX3Bvc3RmaXgge1xuICAgICAgICAgICAgLyogUmVtb3ZlIGJvcmRlciBzZXBhcmF0b3IgYmV0d2VlbiBwb3N0Zml4IGFuZCBmaWVsZCBjb250ZW50ICovXG4gICAgICAgICAgICBib3JkZXItbGVmdDogbm9uZTtcbiAgICAgICAgfVxuXG4ubXhfSW52aXRlRGlhbG9nX2RpYWxQYWQgLm14X0RpYWxQYWQge1xuICAgICAgICByb3ctZ2FwOiAxNnB4O1xuICAgICAgICAtd2Via2l0LWNvbHVtbi1nYXA6IDQ4cHg7XG4gICAgICAgICAgIC1tb3otY29sdW1uLWdhcDogNDhweDtcbiAgICAgICAgICAgICAgICBjb2x1bW4tZ2FwOiA0OHB4O1xuICAgICAgICBtYXJnaW4taW5saW5lOiBhdXRvO1xuICAgIH1cblxuLm14X0ludml0ZURpYWxvZ190cmFuc2ZlckNvbnN1bHRDb25uZWN0IHtcbiAgICBwYWRkaW5nLXRvcDogMTZweDtcbiAgICAvKiBUaGlzIHdhbnRzIGEgZHJvcCBzaGFkb3cgdGhlIGZ1bGwgd2lkdGggb2YgdGhlIGRpYWxvZywgc28gdXNlIG5lZ2F0aXZlIG1hcmdpbiB0byBtYWtlIGl0IGZ1bGwgd2lkdGgsXG4gICAgICogdGhlbiBjb21wZW5zYXRlIHdpdGggcGFkZGluZ1xuICAgICAqL1xuICAgIHBhZGRpbmctaW5saW5lOiAyNHB4O1xuICAgIG1hcmdpbi1pbmxpbmU6IGNhbGMoLTEgKiAyNHB4KTtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgIzZmNzg4MjtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tcXVpbmFyeS1jb250ZW50LCAjNmY3ODgyKTtcblxuICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuXG4gICAgZGlzcGxheTogLW1zLWZsZXhib3g7XG5cbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIC13ZWJraXQtYm94LW9yaWVudDogaG9yaXpvbnRhbDtcbiAgICAtd2Via2l0LWJveC1kaXJlY3Rpb246IG5vcm1hbDtcbiAgICAgICAgLW1zLWZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG4ubXhfSW52aXRlRGlhbG9nX3RyYW5zZmVyQ29uc3VsdENvbm5lY3RfcHVzaFJpZ2h0IHtcbiAgICAtd2Via2l0LW1hcmdpbi1zdGFydDogYXV0bztcbiAgICAgICAgICAgIG1hcmdpbi1pbmxpbmUtc3RhcnQ6IGF1dG87XG59XG5cbi5teF9JbnZpdGVEaWFsb2dfdXNlckRpcmVjdG9yeUljb246OmJlZm9yZSB7XG4gICAgLXdlYmtpdC1tYXNrLWltYWdlOiB1cmwoXCIuLi8uLi8uLi9pbWcvdm9pcC90YWItdXNlcmRpcmVjdG9yeS5zdmdcIik7XG4gICAgICAgICAgICBtYXNrLWltYWdlOiB1cmwoXCIuLi8uLi8uLi9pbWcvdm9pcC90YWItdXNlcmRpcmVjdG9yeS5zdmdcIik7XG59XG5cbi5teF9JbnZpdGVEaWFsb2dfZGlhbFBhZEljb246OmJlZm9yZSB7XG4gICAgLXdlYmtpdC1tYXNrLWltYWdlOiB1cmwoXCIuLi8uLi8uLi9pbWcvdm9pcC90YWItZGlhbHBhZC5zdmdcIik7XG4gICAgICAgICAgICBtYXNrLWltYWdlOiB1cmwoXCIuLi8uLi8uLi9pbWcvdm9pcC90YWItZGlhbHBhZC5zdmdcIik7XG59XG5cbi5teF9JbnZpdGVEaWFsb2dfdGlsZSB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC1nYXA6IDhweCAxMnB4O1xuICAgIGdhcDogOHB4IDEycHg7XG4gICAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbi5teF9JbnZpdGVEaWFsb2dfdGlsZS5teF9JbnZpdGVEaWFsb2dfdGlsZS0tcm9vbSB7XG4gICAgICAgIC8qIG14X0ludml0ZURpYWxvZ190aWxlX2F2YXRhclN0YWNrLCBteF9JbnZpdGVEaWFsb2dfdGlsZV9uYW1lU3RhY2ssIHRpbWUgKi9cbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAtd2Via2l0LW1pbi1jb250ZW50IGF1dG8gYXV0bztcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBtaW4tY29udGVudCBhdXRvIGF1dG87XG4gICAgICAgIHBhZGRpbmc6IDRweCA4cHg7XG4gICAgfVxuXG4ubXhfSW52aXRlRGlhbG9nX3RpbGUubXhfSW52aXRlRGlhbG9nX3RpbGUtLXJvb206aG92ZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcm9vbWxpc3QtYmFja2dyb3VuZC1jb2xvcik7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgICAgIH1cblxuLm14X0ludml0ZURpYWxvZ190aWxlLm14X0ludml0ZURpYWxvZ190aWxlLS1yb29tIC5teF9JbnZpdGVEaWFsb2dfdGlsZS0tcm9vbV9zZWxlY3RlZCB7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAzNnB4O1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY3BkLWNvbG9yLWJnLXN1Y2Nlc3Mtc3VidGxlKTtcbiAgICAgICAgfVxuXG4ubXhfSW52aXRlRGlhbG9nX3RpbGUubXhfSW52aXRlRGlhbG9nX3RpbGUtLXJvb20gLm14X0ludml0ZURpYWxvZ190aWxlLS1yb29tX3NlbGVjdGVkOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDI0cHg7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAyNHB4O1xuICAgICAgICAgICAgICAgIGdyaWQtY29sdW1uOiAxO1xuICAgICAgICAgICAgICAgIGdyaWQtcm93OiAxO1xuICAgICAgICAgICAgICAgIC13ZWJraXQtbWFzay1pbWFnZTogdXJsKFwiQHZlY3Rvci1pbS9jb21wb3VuZC1kZXNpZ24tdG9rZW5zL2ljb25zL2NoZWNrLnN2Z1wiKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hc2staW1hZ2U6IHVybChcIkB2ZWN0b3ItaW0vY29tcG91bmQtZGVzaWduLXRva2Vucy9pY29ucy9jaGVjay5zdmdcIik7XG4gICAgICAgICAgICAgICAgLXdlYmtpdC1tYXNrLXNpemU6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXNrLXNpemU6IDEwMCU7XG4gICAgICAgICAgICAgICAgLXdlYmtpdC1tYXNrLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFzay1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgdG9wOiA2cHg7IC8qIDUwJSAqL1xuICAgICAgICAgICAgICAgIGxlZnQ6IDZweDsgLyogNTAlICovXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdGltZWxpbmUtdGV4dC1jb2xvcik7XG4gICAgICAgICAgICB9XG5cbi5teF9JbnZpdGVEaWFsb2dfdGlsZS5teF9JbnZpdGVEaWFsb2dfdGlsZS0tcm9vbSAubXhfSW52aXRlRGlhbG9nX3RpbGUtLXJvb21fdGltZSB7XG4gICAgICAgICAgICAtd2Via2l0LW1hcmdpbi1zdGFydDogYXV0bztcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWlubGluZS1zdGFydDogYXV0bztcbiAgICAgICAgICAgIHdpZHRoOiAtd2Via2l0LW1heC1jb250ZW50O1xuICAgICAgICAgICAgd2lkdGg6IC1tb3otbWF4LWNvbnRlbnQ7XG4gICAgICAgICAgICB3aWR0aDogbWF4LWNvbnRlbnQ7XG4gICAgICAgICAgICBmb250LXNpemU6IDAuNzVyZW07XG4gICAgICAgICAgICBjb2xvcjogI2ExYjJkMTtcbiAgICAgICAgfVxuXG4ubXhfSW52aXRlRGlhbG9nX3RpbGUubXhfSW52aXRlRGlhbG9nX3RpbGUtLXJvb20gLm14X0ludml0ZURpYWxvZ190aWxlLS1yb29tX2hpZ2hsaWdodCB7XG4gICAgICAgICAgICBmb250LXdlaWdodDogOTAwO1xuICAgICAgICB9XG5cbi5teF9JbnZpdGVEaWFsb2dfdGlsZS5teF9JbnZpdGVEaWFsb2dfdGlsZS0taW52aXRlckVycm9yIHtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAtd2Via2l0LW1heC1jb250ZW50IGF1dG87XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogbWF4LWNvbnRlbnQgYXV0bzsgLyogbWF4LWNvbnRlbnQgPSBhdmF0YXIgd2lkdGggKi9cbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjRweDtcbiAgICB9XG5cbi5teF9JbnZpdGVEaWFsb2dfdGlsZS5teF9JbnZpdGVEaWFsb2dfdGlsZS0taW52aXRlckVycm9yOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgfVxuXG4ubXhfSW52aXRlRGlhbG9nX3RpbGUubXhfSW52aXRlRGlhbG9nX3RpbGUtLWludml0ZXJFcnJvciAubXhfSW52aXRlRGlhbG9nX3RpbGUtLWludml0ZXJFcnJvcl9lcnJvclRleHQge1xuICAgICAgICAgICAgZ3JpZC1yb3ctc3RhcnQ6IDI7XG4gICAgICAgICAgICBncmlkLWNvbHVtbi1zdGFydDogMjtcblxuICAgICAgICAgICAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gICAgICAgICAgICBjb2xvcjogI2ZmNWI1NTtcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1hbGVydCwgI2ZmNWI1NSk7XG4gICAgICAgIH1cblxuLm14X0ludml0ZURpYWxvZ190aWxlICoge1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIH1cblxuLm14X0ludml0ZURpYWxvZ190aWxlIC5teF9JbnZpdGVEaWFsb2dfdGlsZV9hdmF0YXJTdGFjayxcbiAgICAubXhfSW52aXRlRGlhbG9nX3RpbGUgLm14X0ludml0ZURpYWxvZ190aWxlLS1yb29tX3NlbGVjdGVkIHtcbiAgICAgICAgd2lkdGg6IDM2cHg7XG4gICAgICAgIGhlaWdodDogMzZweDtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgfVxuXG4ubXhfSW52aXRlRGlhbG9nX3RpbGUgLm14X0ludml0ZURpYWxvZ190aWxlX2F2YXRhclN0YWNrIHtcbiAgICAgICAgZ3JpZC1yb3ctc3RhcnQ6IDE7XG4gICAgICAgIGdyaWQtY29sdW1uLXN0YXJ0OiAxO1xuICAgIH1cblxuLm14X0ludml0ZURpYWxvZ190aWxlIC5teF9JbnZpdGVEaWFsb2dfdGlsZV9hdmF0YXJTdGFjayA+ICoge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgfVxuXG4ubXhfSW52aXRlRGlhbG9nX3RpbGUgLm14X0ludml0ZURpYWxvZ190aWxlX25hbWVTdGFjayB7XG4gICAgICAgIGdyaWQtcm93LXN0YXJ0OiAxO1xuICAgICAgICBncmlkLWNvbHVtbi1zdGFydDogMjtcblxuICAgICAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcblxuICAgICAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcblxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xuICAgICAgICAtd2Via2l0LWJveC1kaXJlY3Rpb246IG5vcm1hbDtcbiAgICAgICAgICAgIC1tcy1mbGV4LWZsb3c6IGNvbHVtbjtcbiAgICAgICAgICAgICAgICBmbGV4LWZsb3c6IGNvbHVtbjtcbiAgICAgICAgYWxpZ24tc2VsZjogY2VudGVyO1xuICAgICAgICAtd2Via2l0LWJveC1hbGlnbjogYmFzZWxpbmU7XG4gICAgICAgICAgICAtbXMtZmxleC1hbGlnbjogYmFzZWxpbmU7XG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGJhc2VsaW5lO1xuICAgICAgICBnYXA6IDJweCAwO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIH1cblxuLm14X0ludml0ZURpYWxvZ190aWxlIC5teF9JbnZpdGVEaWFsb2dfdGlsZV9uYW1lU3RhY2sgLm14X0ludml0ZURpYWxvZ190aWxlX25hbWVTdGFja19uYW1lLFxuICAgICAgICAubXhfSW52aXRlRGlhbG9nX3RpbGUgLm14X0ludml0ZURpYWxvZ190aWxlX25hbWVTdGFjayAubXhfSW52aXRlRGlhbG9nX3RpbGVfbmFtZVN0YWNrX3VzZXJJZCB7XG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICB9XG5cbi5teF9JbnZpdGVEaWFsb2dfdGlsZSAubXhfSW52aXRlRGlhbG9nX3RpbGVfbmFtZVN0YWNrIC5teF9JbnZpdGVEaWFsb2dfdGlsZV9uYW1lU3RhY2tfbmFtZSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1jcGQtZm9udC13ZWlnaHQtc2VtaWJvbGQpO1xuICAgICAgICAgICAgY29sb3I6IHZhcigtLXRpbWVsaW5lLXRleHQtY29sb3IpO1xuICAgICAgICB9XG5cbi5teF9JbnZpdGVEaWFsb2dfdGlsZSAubXhfSW52aXRlRGlhbG9nX3RpbGVfbmFtZVN0YWNrIC5teF9JbnZpdGVEaWFsb2dfdGlsZV9uYW1lU3RhY2tfdXNlcklkIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgICAgICAgICAgIGNvbG9yOiAjYTFiMmQxO1xuICAgICAgICB9XG5cbi5teF9JbnZpdGVEaWFsb2dfbXVsdGlJbnZpdGVyRXJyb3IgPiBoNCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICAgICAgICBsaW5lLWhlaWdodDogMS41cmVtO1xuICAgICAgICBjb2xvcjogI2VkZjNmZjtcbiAgICAgICAgY29sb3I6IHZhcigtLXNlY29uZGFyeS1jb250ZW50LCAjZWRmM2ZmKTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICB9XG5cbi5teF9JbnZpdGVEaWFsb2dfaWRlbnRpdHlTZXJ2ZXIge1xuICAgIG1hcmdpbi10b3A6IDFlbTtcbn1cblxuLm14X0ludml0ZURpYWxvZ19vbmVUaHJlZXBpZCB7XG4gICAgZm9udC1zaXplOiAwLjc1cmVtO1xuICAgIG1hcmdpbjogOHB4IDA7XG59XG5cbi8qXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cbkNvcHlyaWdodCAyMDIxIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXG5cblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cbiovXG5cbi5teF9Kb2luUnVsZURyb3Bkb3duIHtcbiAgICBtYXJnaW4tYm90dG9tOiA4cHg7XG4gICAgZm9udDogdmFyKC0tY3BkLWZvbnQtYm9keS1tZC1yZWd1bGFyKTtcbiAgICBjb2xvcjogdmFyKC0tdGltZWxpbmUtdGV4dC1jb2xvcik7XG59XG5cbi5teF9Kb2luUnVsZURyb3Bkb3duIC5teF9Ecm9wZG93bl9vcHRpb24ge1xuICAgICAgICBmb250OiB2YXIoLS1jcGQtZm9udC1ib2R5LW1kLXJlZ3VsYXIpO1xuICAgICAgICBsaW5lLWhlaWdodDogMnJlbTtcbiAgICAgICAgaGVpZ2h0OiAzMnB4O1xuICAgICAgICBtaW4taGVpZ2h0OiAzMnB4O1xuICAgIH1cblxuLm14X0pvaW5SdWxlRHJvcGRvd24gLm14X0Ryb3Bkb3duX29wdGlvbiA+IGRpdiB7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDMwcHg7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIH1cblxuLm14X0pvaW5SdWxlRHJvcGRvd24gLm14X0Ryb3Bkb3duX29wdGlvbiA+IGRpdjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDE2cHg7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDE2cHg7XG4gICAgICAgICAgICAgICAgbGVmdDogNnB4O1xuICAgICAgICAgICAgICAgIHRvcDogOHB4O1xuICAgICAgICAgICAgICAgIC13ZWJraXQtbWFzay1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hc2stcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgICAgICAgLXdlYmtpdC1tYXNrLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXNrLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2VkZjNmZjtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1zZWNvbmRhcnktY29udGVudCwgI2VkZjNmZik7XG4gICAgICAgICAgICB9XG5cbi5teF9Kb2luUnVsZURyb3Bkb3duIC5teF9Ecm9wZG93bl9vcHRpb24gPiBkaXYubXhfSm9pblJ1bGVEcm9wZG93bl9rbm9jazo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBjb250ZW50OiBub3JtYWw7XG4gICAgICAgICAgICB9XG5cbi5teF9Kb2luUnVsZURyb3Bkb3duIC5teF9Kb2luUnVsZURyb3Bkb3duX2ludml0ZTo6YmVmb3JlIHtcbiAgICAgICAgLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIC13ZWJraXQtbWFzay1pbWFnZTogdXJsKFwiQHZlY3Rvci1pbS9jb21wb3VuZC1kZXNpZ24tdG9rZW5zL2ljb25zL2xvY2stc29saWQuc3ZnXCIpO1xuICAgICAgICAgICAgICAgIG1hc2staW1hZ2U6IHVybChcIkB2ZWN0b3ItaW0vY29tcG91bmQtZGVzaWduLXRva2Vucy9pY29ucy9sb2NrLXNvbGlkLnN2Z1wiKTtcbiAgICAgICAgLXdlYmtpdC1tYXNrLXNpemU6IGNvbnRhaW47XG4gICAgICAgICAgICAgICAgbWFzay1zaXplOiBjb250YWluO1xuICAgICAgICBwYWRkaW5nOiAxcHg7XG4gICAgfVxuXG4ubXhfSm9pblJ1bGVEcm9wZG93biAubXhfSm9pblJ1bGVEcm9wZG93bl9wdWJsaWM6OmJlZm9yZSB7XG4gICAgICAgIC13ZWJraXQtbWFzay1pbWFnZTogdXJsKFwiQHZlY3Rvci1pbS9jb21wb3VuZC1kZXNpZ24tdG9rZW5zL2ljb25zL3B1YmxpYy5zdmdcIik7XG4gICAgICAgICAgICAgICAgbWFzay1pbWFnZTogdXJsKFwiQHZlY3Rvci1pbS9jb21wb3VuZC1kZXNpZ24tdG9rZW5zL2ljb25zL3B1YmxpYy5zdmdcIik7XG4gICAgfVxuXG4ubXhfSm9pblJ1bGVEcm9wZG93biAubXhfSm9pblJ1bGVEcm9wZG93bl9yZXN0cmljdGVkOjpiZWZvcmUge1xuICAgICAgICAtd2Via2l0LW1hc2staW1hZ2U6IHVybChcIi4uLy4uLy4uL2ltZy9lbGVtZW50LWljb25zL2dyb3VwLW1lbWJlcnMuc3ZnXCIpO1xuICAgICAgICAgICAgICAgIG1hc2staW1hZ2U6IHVybChcIi4uLy4uLy4uL2ltZy9lbGVtZW50LWljb25zL2dyb3VwLW1lbWJlcnMuc3ZnXCIpO1xuICAgICAgICAtd2Via2l0LW1hc2stc2l6ZTogY29udGFpbjtcbiAgICAgICAgICAgICAgICBtYXNrLXNpemU6IGNvbnRhaW47XG4gICAgfVxuXG4ubXhfSm9pblJ1bGVEcm9wZG93biAubXhfSm9pblJ1bGVEcm9wZG93bl9pY29uIHtcbiAgICAgICAgY29sb3I6ICNlZGYzZmY7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1zZWNvbmRhcnktY29udGVudCwgI2VkZjNmZik7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgbGVmdDogNnB4O1xuICAgICAgICB0b3A6IDhweDtcbiAgICB9XG5cbi8qXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cbkNvcHlyaWdodCAyMDIxIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXG5cblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cbiovXG5cbi5teF9MZWF2ZVNwYWNlRGlhbG9nX3dyYXBwZXIgLm14X0RpYWxvZyB7XG4gICAgICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICAgICAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcbiAgICAgICAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiBub3JtYWw7XG4gICAgICAgICAgICAtbXMtZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBwYWRkaW5nOiAyNHB4IDMycHg7XG4gICAgfVxuXG4ubXhfTGVhdmVTcGFjZURpYWxvZ193cmFwcGVyIC5teF9EaWFsb2cgLm14X0xlYXZlU3BhY2VEaWFsb2cge1xuICAgICAgICAgICAgd2lkdGg6IDQ0MHB4O1xuICAgICAgICAgICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gICAgICAgICAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xuICAgICAgICAgICAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiBub3JtYWw7XG4gICAgICAgICAgICAgICAgLW1zLWZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICAtbXMtZmxleC13cmFwOiBub3dyYXA7XG4gICAgICAgICAgICAgICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgICAgICAgICBoZWlnaHQ6IDUyMHB4O1xuICAgICAgICB9XG5cbi5teF9MZWF2ZVNwYWNlRGlhbG9nX3dyYXBwZXIgLm14X0RpYWxvZyAubXhfTGVhdmVTcGFjZURpYWxvZyAubXhfRGlhbG9nX2NvbnRlbnQge1xuICAgICAgICAgICAgICAgIC13ZWJraXQtYm94LWZsZXg6IDE7XG4gICAgICAgICAgICAgICAgICAgIC1tcy1mbGV4LXBvc2l0aXZlOiAxO1xuICAgICAgICAgICAgICAgICAgICAgICAgZmxleC1ncm93OiAxO1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgICAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgICAgICAgICAgfVxuXG4ubXhfTGVhdmVTcGFjZURpYWxvZ193cmFwcGVyIC5teF9EaWFsb2cgLm14X0xlYXZlU3BhY2VEaWFsb2cgLm14X0RpYWxvZ19jb250ZW50IC5teF9MZWF2ZVNwYWNlRGlhbG9nX3NlY3Rpb25fd2FybmluZyB7XG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4O1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDEycHggMCAwO1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAxMnB4IDhweCAxMnB4IDQycHg7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXJvb21saXN0LWJhY2tncm91bmQtY29sb3IpO1xuXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICNlZGYzZmY7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1zZWNvbmRhcnktY29udGVudCwgI2VkZjNmZik7XG4gICAgICAgICAgICAgICAgfVxuXG4ubXhfTGVhdmVTcGFjZURpYWxvZ193cmFwcGVyIC5teF9EaWFsb2cgLm14X0xlYXZlU3BhY2VEaWFsb2cgLm14X0RpYWxvZ19jb250ZW50IC5teF9MZWF2ZVNwYWNlRGlhbG9nX3NlY3Rpb25fd2FybmluZzo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgICAgICBsZWZ0OiAxMHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgdG9wOiBjYWxjKDUwJSAtIDhweCk7IC8qIHZlcnRpY2FsIGNlbnRlcmluZyAqL1xuICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxNnB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDE2cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWRmM2ZmO1xuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tc2Vjb25kYXJ5LWNvbnRlbnQsICNlZGYzZmYpO1xuICAgICAgICAgICAgICAgICAgICAgICAgLXdlYmtpdC1tYXNrLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXNrLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgICAgICAgICAgICAgICAgLXdlYmtpdC1tYXNrLXNpemU6IGNvbnRhaW47XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hc2stc2l6ZTogY29udGFpbjtcbiAgICAgICAgICAgICAgICAgICAgICAgIC13ZWJraXQtbWFzay1pbWFnZTogdXJsKFwiQHZlY3Rvci1pbS9jb21wb3VuZC1kZXNpZ24tdG9rZW5zL2ljb25zL2luZm8tc29saWQuc3ZnXCIpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXNrLWltYWdlOiB1cmwoXCJAdmVjdG9yLWltL2NvbXBvdW5kLWRlc2lnbi10b2tlbnMvaWNvbnMvaW5mby1zb2xpZC5zdmdcIik7XG4gICAgICAgICAgICAgICAgICAgICAgICAtd2Via2l0LW1hc2stcG9zaXRpb246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFzay1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbi5teF9MZWF2ZVNwYWNlRGlhbG9nX3dyYXBwZXIgLm14X0RpYWxvZyAubXhfTGVhdmVTcGFjZURpYWxvZyAubXhfRGlhbG9nX2NvbnRlbnQgPiBwIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IHZhcigtLXRpbWVsaW5lLXRleHQtY29sb3IpO1xuICAgICAgICAgICAgICAgIH1cblxuLypcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxuQ29weXJpZ2h0IDIwMjIgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cblxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuKi9cblxuLm14X0xvY2F0aW9uVmlld0RpYWxvZ193cmFwcGVyIC5teF9EaWFsb2cge1xuICAgIHBhZGRpbmc6IDBweDtcbn1cblxuLm14X0xvY2F0aW9uVmlld0RpYWxvZyB7XG4gICAgLyogc3VidHJhY3QgMC41cHggdG8gcHJldmVudCBzaW5nbGUtcGl4ZWwgbWFyZ2luIGR1ZSB0byByb3VuZGluZyAqL1xuICAgIHdpZHRoOiBjYWxjKDgwdncgLSAwLjVweCk7XG4gICAgaGVpZ2h0OiBjYWxjKDgwdmggLSAwLjVweCk7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLm14X0xvY2F0aW9uVmlld0RpYWxvZyAubXhfRGlhbG9nX2hlYWRlciB7XG4gICAgICAgIG1hcmdpbjogMHB4O1xuICAgICAgICBwYWRkaW5nOiAwcHg7XG4gICAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgICAgIHBvc2l0aW9uOiBpbml0aWFsO1xuICAgIH1cblxuLm14X0xvY2F0aW9uVmlld0RpYWxvZyAubXhfRGlhbG9nX2hlYWRlciAubXhfRGlhbG9nX3RpdGxlIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cblxuLm14X0xvY2F0aW9uVmlld0RpYWxvZyAubXhfRGlhbG9nX2NhbmNlbEJ1dHRvbiB7XG4gICAgICAgIHotaW5kZXg6IDQwMTA7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgbGVmdDogdmFyKC0tY3BkLXNwYWNlLTR4KTtcbiAgICAgICAgdG9wOiB2YXIoLS1jcGQtc3BhY2UtNHgpO1xuICAgIH1cblxuLm14X0xvY2F0aW9uVmlld0RpYWxvZ19tYXAge1xuICAgIHdpZHRoOiA4MHZ3O1xuICAgIGhlaWdodDogODB2aDtcbiAgICBib3JkZXItcmFkaXVzOiA4cHg7XG59XG5cbi8qXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cbkNvcHlyaWdodCAyMDIzIE1hbmFuIFNhZGFuYSA8bWFuYW5jb2Rlcy5kZXZAZ21haWwuY29tPlxuXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXG4qL1xuXG4ubXhfTG9nb3V0RGlhbG9nX0V4cG9ydEtleUFkdmFuY2VkIHtcbiAgICB3aWR0aDogLXdlYmtpdC1maXQtY29udGVudDtcbiAgICB3aWR0aDogLW1vei1maXQtY29udGVudDtcbiAgICB3aWR0aDogZml0LWNvbnRlbnQ7XG59XG5cbi8qXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cbkNvcHlyaWdodCAyMDIxIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXG5cblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cbiovXG5cbi5teF9NYW5hZ2VSZXN0cmljdGVkSm9pblJ1bGVEaWFsb2dfd3JhcHBlciAubXhfRGlhbG9nIHtcbiAgICAgICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gICAgICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xuICAgICAgICAtd2Via2l0LWJveC1kaXJlY3Rpb246IG5vcm1hbDtcbiAgICAgICAgICAgIC1tcy1mbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgfVxuXG4ubXhfTWFuYWdlUmVzdHJpY3RlZEpvaW5SdWxlRGlhbG9nIHtcbiAgICB3aWR0aDogNDgwcHg7XG4gICAgY29sb3I6IHZhcigtLXRpbWVsaW5lLXRleHQtY29sb3IpO1xuICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcbiAgICAtd2Via2l0LWJveC1kaXJlY3Rpb246IG5vcm1hbDtcbiAgICAgICAgLW1zLWZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIC1tcy1mbGV4LXdyYXA6IG5vd3JhcDtcbiAgICAgICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgbWluLWhlaWdodDogMDtcbiAgICBoZWlnaHQ6IDYwdmg7XG59XG5cbi5teF9NYW5hZ2VSZXN0cmljdGVkSm9pblJ1bGVEaWFsb2cgLm14X1NlYXJjaEJveCB7XG4gICAgICAgIC8qIFRvIG1hdGNoIHRoZSBzcGFjZSBhcm91bmQgdGhlIHRpdGxlICovXG4gICAgICAgIG1hcmdpbjogMCAwIDE1cHggMDtcbiAgICAgICAgLXdlYmtpdC1ib3gtZmxleDogMDtcbiAgICAgICAgICAgIC1tcy1mbGV4LXBvc2l0aXZlOiAwO1xuICAgICAgICAgICAgICAgIGZsZXgtZ3JvdzogMDtcbiAgICB9XG5cbi5teF9NYW5hZ2VSZXN0cmljdGVkSm9pblJ1bGVEaWFsb2cgLm14X01hbmFnZVJlc3RyaWN0ZWRKb2luUnVsZURpYWxvZ19jb250ZW50IHtcbiAgICAgICAgLXdlYmtpdC1ib3gtZmxleDogMTtcbiAgICAgICAgICAgIC1tcy1mbGV4LXBvc2l0aXZlOiAxO1xuICAgICAgICAgICAgICAgIGZsZXgtZ3JvdzogMTtcbiAgICB9XG5cbi5teF9NYW5hZ2VSZXN0cmljdGVkSm9pblJ1bGVEaWFsb2cgLm14X01hbmFnZVJlc3RyaWN0ZWRKb2luUnVsZURpYWxvZ19ub1Jlc3VsdHMge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbWFyZ2luLXRvcDogMjRweDtcbiAgICB9XG5cbi5teF9NYW5hZ2VSZXN0cmljdGVkSm9pblJ1bGVEaWFsb2cgLm14X01hbmFnZVJlc3RyaWN0ZWRKb2luUnVsZURpYWxvZ19zZWN0aW9uOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDI0cHg7XG4gICAgICAgIH1cblxuLm14X01hbmFnZVJlc3RyaWN0ZWRKb2luUnVsZURpYWxvZyAubXhfTWFuYWdlUmVzdHJpY3RlZEpvaW5SdWxlRGlhbG9nX3NlY3Rpb24gPiBoMyB7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICBjb2xvcjogI2VkZjNmZjtcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1zZWNvbmRhcnktY29udGVudCwgI2VkZjNmZik7XG4gICAgICAgICAgICBmb250LXNpemU6IDAuNzVyZW07XG4gICAgICAgICAgICBmb250LXdlaWdodDogdmFyKC0tY3BkLWZvbnQtd2VpZ2h0LXNlbWlib2xkKTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAwLjkzNzVyZW07XG4gICAgICAgIH1cblxuLm14X01hbmFnZVJlc3RyaWN0ZWRKb2luUnVsZURpYWxvZyAubXhfTWFuYWdlUmVzdHJpY3RlZEpvaW5SdWxlRGlhbG9nX3NlY3Rpb24gLm14X01hbmFnZVJlc3RyaWN0ZWRKb2luUnVsZURpYWxvZ19lbnRyeSB7XG4gICAgICAgICAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgICAgICAgICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDEycHg7XG4gICAgICAgIH1cblxuLm14X01hbmFnZVJlc3RyaWN0ZWRKb2luUnVsZURpYWxvZyAubXhfTWFuYWdlUmVzdHJpY3RlZEpvaW5SdWxlRGlhbG9nX3NlY3Rpb24gLm14X01hbmFnZVJlc3RyaWN0ZWRKb2luUnVsZURpYWxvZ19lbnRyeSA+IGRpdiB7XG4gICAgICAgICAgICAgICAgLXdlYmtpdC1ib3gtZmxleDogMTtcbiAgICAgICAgICAgICAgICAgICAgLW1zLWZsZXgtcG9zaXRpdmU6IDE7XG4gICAgICAgICAgICAgICAgICAgICAgICBmbGV4LWdyb3c6IDE7XG4gICAgICAgICAgICB9XG5cbi5teF9NYW5hZ2VSZXN0cmljdGVkSm9pblJ1bGVEaWFsb2cgLm14X01hbmFnZVJlc3RyaWN0ZWRKb2luUnVsZURpYWxvZ19zZWN0aW9uIC5teF9NYW5hZ2VSZXN0cmljdGVkSm9pblJ1bGVEaWFsb2dfZW50cnkgLm14X01hbmFnZVJlc3RyaWN0ZWRKb2luUnVsZURpYWxvZ19lbnRyeV9uYW1lIHtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgOHB4O1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAzMHB4O1xuICAgICAgICAgICAgICAgIC13ZWJraXQtYm94LWZsZXg6IDE7XG4gICAgICAgICAgICAgICAgICAgIC1tcy1mbGV4LXBvc2l0aXZlOiAxO1xuICAgICAgICAgICAgICAgICAgICAgICAgZmxleC1ncm93OiAxO1xuICAgICAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICAgICAgICAgIH1cblxuLm14X01hbmFnZVJlc3RyaWN0ZWRKb2luUnVsZURpYWxvZyAubXhfTWFuYWdlUmVzdHJpY3RlZEpvaW5SdWxlRGlhbG9nX3NlY3Rpb24gLm14X01hbmFnZVJlc3RyaWN0ZWRKb2luUnVsZURpYWxvZ19lbnRyeSAubXhfTWFuYWdlUmVzdHJpY3RlZEpvaW5SdWxlRGlhbG9nX2VudHJ5X2Rlc2NyaXB0aW9uIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiA4cHg7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAwLjc1cmVtO1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAwLjkzNzVyZW07XG4gICAgICAgICAgICAgICAgY29sb3I6ICNlZGYzZmY7XG4gICAgICAgICAgICAgICAgY29sb3I6IHZhcigtLXRlcnRpYXJ5LWNvbnRlbnQsICNlZGYzZmYpO1xuICAgICAgICAgICAgfVxuXG4ubXhfTWFuYWdlUmVzdHJpY3RlZEpvaW5SdWxlRGlhbG9nIC5teF9NYW5hZ2VSZXN0cmljdGVkSm9pblJ1bGVEaWFsb2dfc2VjdGlvbiAubXhfTWFuYWdlUmVzdHJpY3RlZEpvaW5SdWxlRGlhbG9nX2VudHJ5IC5teF9DaGVja2JveCB7XG4gICAgICAgICAgICAgICAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICB9XG5cbi5teF9NYW5hZ2VSZXN0cmljdGVkSm9pblJ1bGVEaWFsb2cgLm14X01hbmFnZVJlc3RyaWN0ZWRKb2luUnVsZURpYWxvZ19zZWN0aW9uX3NwYWNlcyAubXhfQmFzZUF2YXRhciB7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDEycHg7XG4gICAgICAgIH1cblxuLm14X01hbmFnZVJlc3RyaWN0ZWRKb2luUnVsZURpYWxvZyAubXhfTWFuYWdlUmVzdHJpY3RlZEpvaW5SdWxlRGlhbG9nX3NlY3Rpb25faW5mbyB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4O1xuICAgICAgICBtYXJnaW46IDEycHggMDtcbiAgICAgICAgcGFkZGluZzogOHB4IDhweCA4cHggNDJweDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcm9vbWxpc3QtYmFja2dyb3VuZC1jb2xvcik7XG5cbiAgICAgICAgZm9udC1zaXplOiAwLjc1cmVtO1xuICAgICAgICBsaW5lLWhlaWdodDogMC45Mzc1cmVtO1xuICAgICAgICBjb2xvcjogI2VkZjNmZjtcbiAgICAgICAgY29sb3I6IHZhcigtLXNlY29uZGFyeS1jb250ZW50LCAjZWRmM2ZmKTtcbiAgICB9XG5cbi5teF9NYW5hZ2VSZXN0cmljdGVkSm9pblJ1bGVEaWFsb2cgLm14X01hbmFnZVJlc3RyaWN0ZWRKb2luUnVsZURpYWxvZ19zZWN0aW9uX2luZm86OmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgbGVmdDogMTBweDtcbiAgICAgICAgICAgIHRvcDogY2FsYyg1MCUgLSA4cHgpOyAvKiB2ZXJ0aWNhbCBjZW50ZXJpbmcgKi9cbiAgICAgICAgICAgIGhlaWdodDogMTZweDtcbiAgICAgICAgICAgIHdpZHRoOiAxNnB4O1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2VkZjNmZjtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXNlY29uZGFyeS1jb250ZW50LCAjZWRmM2ZmKTtcbiAgICAgICAgICAgIC13ZWJraXQtbWFzay1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgICAgICAgICAgICAgbWFzay1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgICAgIC13ZWJraXQtbWFzay1zaXplOiBjb250YWluO1xuICAgICAgICAgICAgICAgICAgICBtYXNrLXNpemU6IGNvbnRhaW47XG4gICAgICAgICAgICAtd2Via2l0LW1hc2staW1hZ2U6IHVybChcIkB2ZWN0b3ItaW0vY29tcG91bmQtZGVzaWduLXRva2Vucy9pY29ucy9pbmZvLXNvbGlkLnN2Z1wiKTtcbiAgICAgICAgICAgICAgICAgICAgbWFzay1pbWFnZTogdXJsKFwiQHZlY3Rvci1pbS9jb21wb3VuZC1kZXNpZ24tdG9rZW5zL2ljb25zL2luZm8tc29saWQuc3ZnXCIpO1xuICAgICAgICAgICAgLXdlYmtpdC1tYXNrLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgIG1hc2stcG9zaXRpb246IGNlbnRlcjtcbiAgICAgICAgfVxuXG4ubXhfTWFuYWdlUmVzdHJpY3RlZEpvaW5SdWxlRGlhbG9nIC5teF9NYW5hZ2VSZXN0cmljdGVkSm9pblJ1bGVEaWFsb2dfZm9vdGVyIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMjBweDtcbiAgICB9XG5cbi5teF9NYW5hZ2VSZXN0cmljdGVkSm9pblJ1bGVEaWFsb2cgLm14X01hbmFnZVJlc3RyaWN0ZWRKb2luUnVsZURpYWxvZ19mb290ZXIgLm14X01hbmFnZVJlc3RyaWN0ZWRKb2luUnVsZURpYWxvZ19mb290ZXJfYnV0dG9ucyB7XG4gICAgICAgICAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgICAgICAgICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIHdpZHRoOiAtd2Via2l0LW1heC1jb250ZW50O1xuICAgICAgICAgICAgd2lkdGg6IC1tb3otbWF4LWNvbnRlbnQ7XG4gICAgICAgICAgICB3aWR0aDogbWF4LWNvbnRlbnQ7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgICAgfVxuXG4ubXhfTWFuYWdlUmVzdHJpY3RlZEpvaW5SdWxlRGlhbG9nIC5teF9NYW5hZ2VSZXN0cmljdGVkSm9pblJ1bGVEaWFsb2dfZm9vdGVyIC5teF9NYW5hZ2VSZXN0cmljdGVkSm9pblJ1bGVEaWFsb2dfZm9vdGVyX2J1dHRvbnMgLm14X0FjY2Vzc2libGVCdXR0b24ge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIH1cblxuLm14X01hbmFnZVJlc3RyaWN0ZWRKb2luUnVsZURpYWxvZyAubXhfTWFuYWdlUmVzdHJpY3RlZEpvaW5SdWxlRGlhbG9nX2Zvb3RlciAubXhfTWFuYWdlUmVzdHJpY3RlZEpvaW5SdWxlRGlhbG9nX2Zvb3Rlcl9idXR0b25zIC5teF9BY2Nlc3NpYmxlQnV0dG9uICsgLm14X0FjY2Vzc2libGVCdXR0b24ge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMjRweDtcbiAgICAgICAgICAgICAgICB9XG5cbi8qXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cbkNvcHlyaWdodCAyMDE5IFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXG5cblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cbiovXG5cbi5teF9NZXNzYWdlRWRpdEhpc3RvcnlEaWFsb2cge1xuICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcbiAgICAtd2Via2l0LWJveC1kaXJlY3Rpb246IG5vcm1hbDtcbiAgICAgICAgLW1zLWZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIG1heC1oZWlnaHQ6IDYwdmg7XG59XG5cbi5teF9NZXNzYWdlRWRpdEhpc3RvcnlEaWFsb2dfc2Nyb2xsUGFuZWwge1xuICAgIC13ZWJraXQtYm94LWZsZXg6IDE7XG4gICAgICAgIC1tcy1mbGV4OiAxIDEgYXV0bztcbiAgICAgICAgICAgIGZsZXg6IDEgMSBhdXRvO1xufVxuXG4ubXhfTWVzc2FnZUVkaXRIaXN0b3J5RGlhbG9nX2Vycm9yIHtcbiAgICBjb2xvcjogI2ZmNWI1NTtcbiAgICBjb2xvcjogdmFyKC0tYWxlcnQsICNmZjViNTUpO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLm14X01lc3NhZ2VFZGl0SGlzdG9yeURpYWxvZ19lZGl0cyB7XG4gICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICAgIGZvbnQ6IHZhcigtLWNwZC1mb250LWJvZHktbWQtcmVndWxhcik7XG4gICAgcGFkZGluZzogMDtcbiAgICBjb2xvcjogdmFyKC0tdGltZWxpbmUtdGV4dC1jb2xvcik7XG59XG5cbi5teF9NZXNzYWdlRWRpdEhpc3RvcnlEaWFsb2dfZWRpdHMgc3Bhbi5teF9FZGl0SGlzdG9yeU1lc3NhZ2VfZGVsZXRpb24sXG4gICAgLm14X01lc3NhZ2VFZGl0SGlzdG9yeURpYWxvZ19lZGl0cyBzcGFuLm14X0VkaXRIaXN0b3J5TWVzc2FnZV9pbnNlcnRpb24ge1xuICAgICAgICBwYWRkaW5nOiAwcHggMnB4O1xuICAgIH1cblxuLm14X01lc3NhZ2VFZGl0SGlzdG9yeURpYWxvZ19lZGl0cyAubXhfRWRpdEhpc3RvcnlNZXNzYWdlX2RlbGV0aW9uIHtcbiAgICAgICAgY29sb3I6IHJnYigyNTUsIDc2LCA4NSk7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCA3NiwgODUsIDAuMSk7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbGluZS10aHJvdWdoO1xuICAgIH1cblxuLm14X01lc3NhZ2VFZGl0SGlzdG9yeURpYWxvZ19lZGl0cyAubXhfRWRpdEhpc3RvcnlNZXNzYWdlX2luc2VydGlvbiB7XG4gICAgICAgIGNvbG9yOiByZ2IoMjYsIDE2OSwgMTIzKTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNiwgMTY5LCAxMjMsIDAuMSk7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgIH1cblxuLyogRW11bGF0ZSBteF9FdmVudFRpbGVbZGF0YS1sYXlvdXQ9XCJncm91cFwiXSAqL1xuXG4ubXhfTWVzc2FnZUVkaXRIaXN0b3J5RGlhbG9nX2VkaXRzIC5teF9FdmVudFRpbGUge1xuICAgICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICB9XG5cbi5teF9NZXNzYWdlRWRpdEhpc3RvcnlEaWFsb2dfZWRpdHMgLm14X0V2ZW50VGlsZSAubXhfTWVzc2FnZVRpbWVzdGFtcCB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB9XG5cbi5teF9NZXNzYWdlRWRpdEhpc3RvcnlEaWFsb2dfZWRpdHMgLm14X0V2ZW50VGlsZSAubXhfRXZlbnRUaWxlX2xpbmUge1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IHZhcigtLUV2ZW50VGlsZV9ncm91cF9saW5lLXNwYWNpbmctYmxvY2stc3RhcnQpO1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IHZhcigtLUV2ZW50VGlsZV9ncm91cF9saW5lLXNwYWNpbmctYmxvY2stZW5kKTtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogdmFyKC0tRXZlbnRUaWxlX2dyb3VwX2xpbmUtc3BhY2luZy1pbmxpbmUtc3RhcnQpO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IHZhcigtLUV2ZW50VGlsZV9ncm91cF9saW5lLWxpbmUtaGVpZ2h0KTtcbiAgICAgICAgfVxuXG4ubXhfTWVzc2FnZUVkaXRIaXN0b3J5RGlhbG9nX2VkaXRzIC5teF9FdmVudFRpbGUgLm14X0V2ZW50VGlsZV9saW5lIC5teF9FdmVudFRpbGVfY29udGVudCB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwcHg7XG4gICAgICAgICAgICB9XG5cbi5teF9NZXNzYWdlRWRpdEhpc3RvcnlEaWFsb2dfZWRpdHMgLm14X0V2ZW50VGlsZTo6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IC0xcHg7XG4gICAgICAgICAgICBib3R0b206IC0xcHg7XG4gICAgICAgICAgICBsZWZ0OiAtMTBweDtcbiAgICAgICAgICAgIHJpZ2h0OiAtMTBweDtcbiAgICAgICAgICAgIHotaW5kZXg6IC0xO1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAgICAgICB9XG5cbi5teF9NZXNzYWdlRWRpdEhpc3RvcnlEaWFsb2dfZWRpdHMgLm14X0V2ZW50VGlsZTpob3Zlcjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAjMWMyMDI2O1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWV2ZW50YnViYmxlLWJnLWhvdmVyLCAjMWMyMDI2KTtcbiAgICAgICAgICAgIH1cblxuLm14X01lc3NhZ2VFZGl0SGlzdG9yeURpYWxvZ19lZGl0cyAubXhfTWVzc2FnZUFjdGlvbkJhciAubXhfQWNjZXNzaWJsZUJ1dHRvbiB7XG4gICAgICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICAgICAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgICAgICAtd2Via2l0LXBhZGRpbmctc3RhcnQ6IDhweDtcblxuICAgICAgICAgICAgICAgIHBhZGRpbmctaW5saW5lLXN0YXJ0OiA4cHg7XG4gICAgICAgIC13ZWJraXQtcGFkZGluZy1lbmQ6IDhweDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWlubGluZS1lbmQ6IDhweDtcblxuICAgICAgICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgICB9XG5cbi8qXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cbkNvcHlyaWdodCAyMDIwIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXG5cblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cbiovXG5cbi5teF9Nb2RhbFdpZGdldERpYWxvZyAubXhfTW9kYWxXaWRnZXREaWFsb2dfd2FybmluZyB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDI0cHg7XG4gICAgfVxuXG4ubXhfTW9kYWxXaWRnZXREaWFsb2cgLm14X01vZGFsV2lkZ2V0RGlhbG9nX3dhcm5pbmcgPiBpbWcge1xuICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogOHB4O1xuICAgICAgICB9XG5cbi5teF9Nb2RhbFdpZGdldERpYWxvZyAubXhfTW9kYWxXaWRnZXREaWFsb2dfYnV0dG9ucyB7XG4gICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgbWFyZ2luLXRvcDogMjRweDtcbiAgICB9XG5cbi5teF9Nb2RhbFdpZGdldERpYWxvZyAubXhfTW9kYWxXaWRnZXREaWFsb2dfYnV0dG9ucyAubXhfQWNjZXNzaWJsZUJ1dHRvbiArIC5teF9BY2Nlc3NpYmxlQnV0dG9uIHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiA4cHg7XG4gICAgICAgIH1cblxuLm14X01vZGFsV2lkZ2V0RGlhbG9nIGlmcmFtZSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDQ1MHB4O1xuICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgICB9XG5cbi8qXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cbkNvcHlyaWdodCAyMDIxIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXG5cblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cbiovXG5cbi5teF9Qb2xsQ3JlYXRlRGlhbG9nIC5teF9Qb2xsQ3JlYXRlRGlhbG9nX2J1c3kge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGluc2V0OiAwO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI0LDI3LDMzLCAwLjg1KTtcbiAgICAgICAgei1pbmRleDogMTtcbiAgICB9XG5cbi5teF9Qb2xsQ3JlYXRlRGlhbG9nIGgyIHtcbiAgICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLWNwZC1mb250LXdlaWdodC1zZW1pYm9sZCk7XG4gICAgICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICAgICAgICBsaW5lLWhlaWdodDogMS41cmVtO1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA4cHg7XG4gICAgfVxuXG4ubXhfUG9sbENyZWF0ZURpYWxvZyBoMjpudGgtY2hpbGQobiArIDIpIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gICAgICAgIH1cblxuLm14X1BvbGxDcmVhdGVEaWFsb2cgcCB7XG4gICAgICAgIGNvbG9yOiAjZWRmM2ZmO1xuICAgICAgICBjb2xvcjogdmFyKC0tc2Vjb25kYXJ5LWNvbnRlbnQsICNlZGYzZmYpO1xuICAgIH1cblxuLm14X1BvbGxDcmVhdGVEaWFsb2cgLm14X1BvbGxDcmVhdGVEaWFsb2dfb3B0aW9uIHtcbiAgICAgICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gICAgICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBtYXJnaW4tdG9wOiAxMXB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxNnB4OyAvKiAxMXB4IGZyb20gdGhlIHRvcCB3aWxsIGNvbGxhcHNlLCBzbyB0aGlzIGNyZWF0ZXMgYSAxNnB4IGdhcCBiZXR3ZWVuIG9wdGlvbnMgKi9cbiAgICB9XG5cbi5teF9Qb2xsQ3JlYXRlRGlhbG9nIC5teF9Qb2xsQ3JlYXRlRGlhbG9nX29wdGlvbiAubXhfRmllbGQge1xuICAgICAgICAgICAgLXdlYmtpdC1ib3gtZmxleDogMTtcbiAgICAgICAgICAgICAgICAtbXMtZmxleDogMTtcbiAgICAgICAgICAgICAgICAgICAgZmxleDogMTtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgfVxuXG4ubXhfUG9sbENyZWF0ZURpYWxvZyAubXhfUG9sbENyZWF0ZURpYWxvZ19vcHRpb24gLm14X1BvbGxDcmVhdGVEaWFsb2dfcmVtb3ZlT3B0aW9uIHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAxMnB4O1xuICAgICAgICAgICAgd2lkdGg6IDIwcHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNmY3ODgyO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcXVpbmFyeS1jb250ZW50LCAjNmY3ODgyKTtcbiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgfVxuXG4ubXhfUG9sbENyZWF0ZURpYWxvZyAubXhfUG9sbENyZWF0ZURpYWxvZ19vcHRpb24gLm14X1BvbGxDcmVhdGVEaWFsb2dfcmVtb3ZlT3B0aW9uOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICAgICAgLXdlYmtpdC1tYXNrOiB1cmwoXCJAdmVjdG9yLWltL2NvbXBvdW5kLWRlc2lnbi10b2tlbnMvaWNvbnMvY2xvc2Uuc3ZnXCIpO1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFzazogdXJsKFwiQHZlY3Rvci1pbS9jb21wb3VuZC1kZXNpZ24tdG9rZW5zL2ljb25zL2Nsb3NlLnN2Z1wiKTtcbiAgICAgICAgICAgICAgICAtd2Via2l0LW1hc2stcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXNrLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgICAgICAgIC13ZWJraXQtbWFzay1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFzay1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgICAgICAgICAgIC13ZWJraXQtbWFzay1zaXplOiAxNnB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFzay1zaXplOiAxNnB4O1xuICAgICAgICAgICAgICAgIHdpZHRoOiBpbmhlcml0O1xuICAgICAgICAgICAgICAgIGhlaWdodDogaW5oZXJpdDtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2VkZjNmZjtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1zZWNvbmRhcnktY29udGVudCwgI2VkZjNmZik7XG4gICAgICAgICAgICB9XG5cbi5teF9Qb2xsQ3JlYXRlRGlhbG9nIC5teF9Qb2xsQ3JlYXRlRGlhbG9nX2FkZE9wdGlvbiB7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDQwcHg7IC8qIGFyYml0cmFyeSB0byBjcmVhdGUgc2Nyb2xsYWJsZSBhcmVhIHVuZGVyIHRoZSBwb2xsICovXG4gICAgfVxuXG4ubXhfUG9sbENyZWF0ZURpYWxvZyAubXhfQWNjZXNzaWJsZUJ1dHRvbl9kaXNhYmxlZCB7XG4gICAgICAgIG9wYWNpdHk6IDAuNDtcbiAgICB9XG5cbi8qXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cbkNvcHlyaWdodCAyMDIwIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXG5cblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cbiovXG5cbi5teF9SZWdpc3RyYXRpb25FbWFpbFByb21wdERpYWxvZyB7XG4gICAgd2lkdGg6IDQxN3B4O1xufVxuXG4ubXhfUmVnaXN0cmF0aW9uRW1haWxQcm9tcHREaWFsb2cgLm14X0RpYWxvZ19jb250ZW50IHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjRweDtcbiAgICAgICAgY29sb3I6ICNlZGYzZmY7XG4gICAgICAgIGNvbG9yOiB2YXIoLS10ZXJ0aWFyeS1jb250ZW50LCAjZWRmM2ZmKTtcbiAgICB9XG5cbi5teF9SZWdpc3RyYXRpb25FbWFpbFByb21wdERpYWxvZyAubXhfRGlhbG9nX3ByaW1hcnkge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5cbi8qXG5Db3B5cmlnaHQgMjAxOS0yMDI0IE5ldyBWZWN0b3IgTHRkLlxuXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXG4qL1xuXG4vKiBJQ09OUyAqL1xuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5teF9Sb29tU2V0dGluZ3NEaWFsb2dfc2V0dGluZ3NJY29uOjpiZWZvcmUge1xuICAgIC13ZWJraXQtbWFzay1pbWFnZTogdXJsKFwiQHZlY3Rvci1pbS9jb21wb3VuZC1kZXNpZ24tdG9rZW5zL2ljb25zL3NldHRpbmdzLXNvbGlkLnN2Z1wiKTtcbiAgICAgICAgICAgIG1hc2staW1hZ2U6IHVybChcIkB2ZWN0b3ItaW0vY29tcG91bmQtZGVzaWduLXRva2Vucy9pY29ucy9zZXR0aW5ncy1zb2xpZC5zdmdcIik7XG59XG5cbi5teF9Sb29tU2V0dGluZ3NEaWFsb2dfdm9pY2VJY29uOjpiZWZvcmUge1xuICAgIC13ZWJraXQtbWFzay1pbWFnZTogdXJsKFwiLi4vLi4vLi4vaW1nL2VsZW1lbnQtaWNvbnMvY2FsbC92b2ljZS1jYWxsLnN2Z1wiKTtcbiAgICAgICAgICAgIG1hc2staW1hZ2U6IHVybChcIi4uLy4uLy4uL2ltZy9lbGVtZW50LWljb25zL2NhbGwvdm9pY2UtY2FsbC5zdmdcIik7XG59XG5cbi5teF9Sb29tU2V0dGluZ3NEaWFsb2dfc2VjdXJpdHlJY29uOjpiZWZvcmUge1xuICAgIC13ZWJraXQtbWFzay1pbWFnZTogdXJsKFwiQHZlY3Rvci1pbS9jb21wb3VuZC1kZXNpZ24tdG9rZW5zL2ljb25zL2xvY2stc29saWQuc3ZnXCIpO1xuICAgICAgICAgICAgbWFzay1pbWFnZTogdXJsKFwiQHZlY3Rvci1pbS9jb21wb3VuZC1kZXNpZ24tdG9rZW5zL2ljb25zL2xvY2stc29saWQuc3ZnXCIpO1xufVxuXG4ubXhfUm9vbVNldHRpbmdzRGlhbG9nX3JvbGVzSWNvbjo6YmVmb3JlIHtcbiAgICAtd2Via2l0LW1hc2staW1hZ2U6IHVybChcIi4uLy4uLy4uL2ltZy9lbGVtZW50LWljb25zL3Jvb20vc2V0dGluZ3Mvcm9sZXMuc3ZnXCIpO1xuICAgICAgICAgICAgbWFzay1pbWFnZTogdXJsKFwiLi4vLi4vLi4vaW1nL2VsZW1lbnQtaWNvbnMvcm9vbS9zZXR0aW5ncy9yb2xlcy5zdmdcIik7XG59XG5cbi5teF9Sb29tU2V0dGluZ3NEaWFsb2dfbm90aWZpY2F0aW9uc0ljb246OmJlZm9yZSB7XG4gICAgLXdlYmtpdC1tYXNrLWltYWdlOiB1cmwoXCIuLi8uLi8uLi9pbWcvZWxlbWVudC1pY29ucy9ub3RpZmljYXRpb25zLnN2Z1wiKTtcbiAgICAgICAgICAgIG1hc2staW1hZ2U6IHVybChcIi4uLy4uLy4uL2ltZy9lbGVtZW50LWljb25zL25vdGlmaWNhdGlvbnMuc3ZnXCIpO1xufVxuXG4ubXhfUm9vbVNldHRpbmdzRGlhbG9nX2JyaWRnZXNJY29uOjpiZWZvcmUge1xuICAgIC8qIFRoaXMgaWNvbiBpcyBwYW50cywgcGxlYXNlIGltcHJvdmUgOikgKi9cbiAgICAtd2Via2l0LW1hc2staW1hZ2U6IHVybChcIi4uLy4uLy4uL2ltZy9mZWF0aGVyLWN1c3RvbWlzZWQvYnJpZGdlLnN2Z1wiKTtcbiAgICAgICAgICAgIG1hc2staW1hZ2U6IHVybChcIi4uLy4uLy4uL2ltZy9mZWF0aGVyLWN1c3RvbWlzZWQvYnJpZGdlLnN2Z1wiKTtcbn1cblxuLm14X1Jvb21TZXR0aW5nc0RpYWxvZ19wb2xsc0ljb246OmJlZm9yZSB7XG4gICAgLXdlYmtpdC1tYXNrLWltYWdlOiB1cmwoXCIuLi8uLi8uLi9pbWcvZWxlbWVudC1pY29ucy9yb29tL2NvbXBvc2VyL3BvbGwuc3ZnXCIpO1xuICAgICAgICAgICAgbWFzay1pbWFnZTogdXJsKFwiLi4vLi4vLi4vaW1nL2VsZW1lbnQtaWNvbnMvcm9vbS9jb21wb3Nlci9wb2xsLnN2Z1wiKTtcbn1cblxuLm14X1Jvb21TZXR0aW5nc0RpYWxvZ193YXJuaW5nSWNvbjo6YmVmb3JlIHtcbiAgICAtd2Via2l0LW1hc2staW1hZ2U6IHVybChcIi4uLy4uLy4uL2ltZy9lbGVtZW50LWljb25zL3Jvb20vc2V0dGluZ3MvYWR2YW5jZWQuc3ZnXCIpO1xuICAgICAgICAgICAgbWFzay1pbWFnZTogdXJsKFwiLi4vLi4vLi4vaW1nL2VsZW1lbnQtaWNvbnMvcm9vbS9zZXR0aW5ncy9hZHZhbmNlZC5zdmdcIik7XG59XG5cbi5teF9Sb29tU2V0dGluZ3NEaWFsb2dfcGVvcGxlSWNvbjo6YmVmb3JlIHtcbiAgICAtd2Via2l0LW1hc2staW1hZ2U6IHVybChcIi4uLy4uLy4uL2ltZy9lbGVtZW50LWljb25zL2dyb3VwLW1lbWJlcnMuc3ZnXCIpO1xuICAgICAgICAgICAgbWFzay1pbWFnZTogdXJsKFwiLi4vLi4vLi4vaW1nL2VsZW1lbnQtaWNvbnMvZ3JvdXAtbWVtYmVycy5zdmdcIik7XG59XG5cbi5teF9Sb29tU2V0dGluZ3NEaWFsb2cgLm14X0RpYWxvZ190aXRsZSB7XG4gICAgLW1zLXRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICBwYWRkaW5nLXJpZ2h0OiA4MHB4O1xufVxuXG4vKiBzaG93IGEgZGlmZmVyZW50IEF2YXRhclNldHRpbmcgcGxhY2Vob2xkZXIgZm9yIFJvb21Qcm9maWxlU2V0dGluZ3Mgd2hpY2ggaXMgYmFzaWNhbGx5IGEgY2xvbmUgb2YgUHJvZmlsZVNldHRpbmdzICovXG5cbi5teF9Sb29tU2V0dGluZ3NEaWFsb2cgLm14X0F2YXRhclNldHRpbmdfYXZhdGFyIC5teF9BdmF0YXJTZXR0aW5nX2F2YXRhclBsYWNlaG9sZGVyOjpiZWZvcmUge1xuICAgIC13ZWJraXQtbWFzazogdXJsKFwiQHZlY3Rvci1pbS9jb21wb3VuZC1kZXNpZ24tdG9rZW5zL2ljb25zL2ltYWdlLnN2Z1wiKTtcbiAgICAgICAgICAgIG1hc2s6IHVybChcIkB2ZWN0b3ItaW0vY29tcG91bmQtZGVzaWduLXRva2Vucy9pY29ucy9pbWFnZS5zdmdcIik7XG4gICAgLXdlYmtpdC1tYXNrLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgICAgbWFzay1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAtd2Via2l0LW1hc2stc2l6ZTogMzZweDtcbiAgICAgICAgICAgIG1hc2stc2l6ZTogMzZweDtcbiAgICAtd2Via2l0LW1hc2stcG9zaXRpb246IGNlbnRlcjtcbiAgICAgICAgICAgIG1hc2stcG9zaXRpb246IGNlbnRlcjtcbn1cblxuLypcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxuQ29weXJpZ2h0IDIwMjAgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cblxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuKi9cblxuLm14X1Jvb21TZXR0aW5nc0RpYWxvZ19CcmlkZ2VMaXN0IHtcbiAgICBwYWRkaW5nOiAwO1xufVxuXG4ubXhfUm9vbVNldHRpbmdzRGlhbG9nX0JyaWRnZUxpc3QgbGkge1xuICAgICAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gICAgfVxuXG4ubXhfUm9vbVNldHRpbmdzRGlhbG9nX0JyaWRnZUxpc3QgbGkubXhfUm9vbVNldHRpbmdzRGlhbG9nX0JyaWRnZUxpc3RfbGlzdEl0ZW0ge1xuICAgICAgICAgICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gICAgICAgICAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAtbXMtZmxleC13cmFwOiB3cmFwO1xuICAgICAgICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgICAgIGdhcDogOHB4O1xuICAgICAgICAgICAgcGFkZGluZzogNXB4O1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogOHB4O1xuXG4gICAgICAgICAgICAvKiBib3JkZXItc3R5bGUgYXJvdW5kIGVhY2ggYnJpZGdlIGxpc3QgaXRlbSAqL1xuICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiAxcHggMXB4O1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1yb29tbGlzdC1zZXBhcmF0b3ItY29sb3IpO1xuICAgICAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgICAgICAgfVxuXG4ubXhfUm9vbVNldHRpbmdzRGlhbG9nX0JyaWRnZUxpc3QgbGkubXhfUm9vbVNldHRpbmdzRGlhbG9nX0JyaWRnZUxpc3RfbGlzdEl0ZW0gLm14X1Jvb21TZXR0aW5nc0RpYWxvZ19jb2x1bW5faWNvbiAubXhfUm9vbVNldHRpbmdzRGlhbG9nX3Byb3RvY29sSWNvbixcbiAgICAgICAgICAgICAgICAubXhfUm9vbVNldHRpbmdzRGlhbG9nX0JyaWRnZUxpc3QgbGkubXhfUm9vbVNldHRpbmdzRGlhbG9nX0JyaWRnZUxpc3RfbGlzdEl0ZW0gLm14X1Jvb21TZXR0aW5nc0RpYWxvZ19jb2x1bW5faWNvbiAubXhfUm9vbVNldHRpbmdzRGlhbG9nX3Byb3RvY29sSWNvbiBzcGFuLFxuICAgICAgICAgICAgICAgIC5teF9Sb29tU2V0dGluZ3NEaWFsb2dfQnJpZGdlTGlzdCBsaS5teF9Sb29tU2V0dGluZ3NEaWFsb2dfQnJpZGdlTGlzdF9saXN0SXRlbSAubXhfUm9vbVNldHRpbmdzRGlhbG9nX2NvbHVtbl9pY29uIC5teF9Sb29tU2V0dGluZ3NEaWFsb2dfbm9Qcm90b2NvbEljb24ge1xuICAgICAgICAgICAgICAgICAgICAtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNXB4O1xuICAgICAgICAgICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1yb29tbGlzdC1zZXBhcmF0b3ItY29sb3IpO1xuICAgICAgICAgICAgICAgIH1cblxuLm14X1Jvb21TZXR0aW5nc0RpYWxvZ19CcmlkZ2VMaXN0IGxpLm14X1Jvb21TZXR0aW5nc0RpYWxvZ19CcmlkZ2VMaXN0X2xpc3RJdGVtIC5teF9Sb29tU2V0dGluZ3NEaWFsb2dfY29sdW1uX2ljb24gLm14X1Jvb21TZXR0aW5nc0RpYWxvZ19ub1Byb3RvY29sSWNvbixcbiAgICAgICAgICAgICAgICAubXhfUm9vbVNldHRpbmdzRGlhbG9nX0JyaWRnZUxpc3QgbGkubXhfUm9vbVNldHRpbmdzRGlhbG9nX0JyaWRnZUxpc3RfbGlzdEl0ZW0gLm14X1Jvb21TZXR0aW5nc0RpYWxvZ19jb2x1bW5faWNvbiAubXhfUm9vbVNldHRpbmdzRGlhbG9nX3Byb3RvY29sSWNvbiBpbWcge1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1cHg7XG4gICAgICAgICAgICAgICAgfVxuXG4ubXhfUm9vbVNldHRpbmdzRGlhbG9nX0JyaWRnZUxpc3QgbGkubXhfUm9vbVNldHRpbmdzRGlhbG9nX0JyaWRnZUxpc3RfbGlzdEl0ZW0gLm14X1Jvb21TZXR0aW5nc0RpYWxvZ19jb2x1bW5faWNvbiAubXhfUm9vbVNldHRpbmdzRGlhbG9nX25vUHJvdG9jb2xJY29uIHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDQ4cHg7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogNDhweDtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tcm9vbWxpc3Qtc2VwYXJhdG9yLWNvbG9yKTtcbiAgICAgICAgICAgICAgICB9XG5cbi5teF9Sb29tU2V0dGluZ3NEaWFsb2dfQnJpZGdlTGlzdCBsaS5teF9Sb29tU2V0dGluZ3NEaWFsb2dfQnJpZGdlTGlzdF9saXN0SXRlbSAubXhfUm9vbVNldHRpbmdzRGlhbG9nX2NvbHVtbl9pY29uIC5teF9Sb29tU2V0dGluZ3NEaWFsb2dfcHJvdG9jb2xJY29uIGltZyB7XG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItd2lkdGg6IDFweCAxcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6IHZhcigtLXJvb21saXN0LXNlcGFyYXRvci1jb2xvcik7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuLm14X1Jvb21TZXR0aW5nc0RpYWxvZ19CcmlkZ2VMaXN0IGxpLm14X1Jvb21TZXR0aW5nc0RpYWxvZ19CcmlkZ2VMaXN0X2xpc3RJdGVtIC5teF9Sb29tU2V0dGluZ3NEaWFsb2dfY29sdW1uX2ljb24gLm14X1Jvb21TZXR0aW5nc0RpYWxvZ19wcm90b2NvbEljb24gc3BhbiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAvKiBDb3JyZWN0IGxldHRlciBwbGFjZW1lbnQgKi9cbiAgICAgICAgICAgICAgICAgICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICAgICAgICAgICAgICAgIH1cblxuLm14X1Jvb21TZXR0aW5nc0RpYWxvZ19CcmlkZ2VMaXN0IGxpLm14X1Jvb21TZXR0aW5nc0RpYWxvZ19CcmlkZ2VMaXN0X2xpc3RJdGVtIC5teF9Sb29tU2V0dGluZ3NEaWFsb2dfY29sdW1uX2RhdGEge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICB3aWR0aDogODUlO1xuICAgICAgICAgICAgfVxuXG4ubXhfUm9vbVNldHRpbmdzRGlhbG9nX0JyaWRnZUxpc3QgbGkubXhfUm9vbVNldHRpbmdzRGlhbG9nX0JyaWRnZUxpc3RfbGlzdEl0ZW0gLm14X1Jvb21TZXR0aW5nc0RpYWxvZ19jb2x1bW5fZGF0YSAubXhfUm9vbVNldHRpbmdzRGlhbG9nX2NvbHVtbl9kYXRhX2RldGFpbHMsXG4gICAgICAgICAgICAgICAgLm14X1Jvb21TZXR0aW5nc0RpYWxvZ19CcmlkZ2VMaXN0IGxpLm14X1Jvb21TZXR0aW5nc0RpYWxvZ19CcmlkZ2VMaXN0X2xpc3RJdGVtIC5teF9Sb29tU2V0dGluZ3NEaWFsb2dfY29sdW1uX2RhdGEgLm14X1Jvb21TZXR0aW5nc0RpYWxvZ19jb2x1bW5fZGF0YV9tZXRhZGF0YSxcbiAgICAgICAgICAgICAgICAubXhfUm9vbVNldHRpbmdzRGlhbG9nX0JyaWRnZUxpc3QgbGkubXhfUm9vbVNldHRpbmdzRGlhbG9nX0JyaWRnZUxpc3RfbGlzdEl0ZW0gLm14X1Jvb21TZXR0aW5nc0RpYWxvZ19jb2x1bW5fZGF0YSAubXhfUm9vbVNldHRpbmdzRGlhbG9nX2NvbHVtbl9kYXRhX21ldGFkYXRhIGxpLFxuICAgICAgICAgICAgICAgIC5teF9Sb29tU2V0dGluZ3NEaWFsb2dfQnJpZGdlTGlzdCBsaS5teF9Sb29tU2V0dGluZ3NEaWFsb2dfQnJpZGdlTGlzdF9saXN0SXRlbSAubXhfUm9vbVNldHRpbmdzRGlhbG9nX2NvbHVtbl9kYXRhIC5teF9Sb29tU2V0dGluZ3NEaWFsb2dfY29sdW1uX2RhdGFfcHJvdG9jb2xOYW1lIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICAgICAgICB9XG5cbi5teF9Sb29tU2V0dGluZ3NEaWFsb2dfQnJpZGdlTGlzdCBsaS5teF9Sb29tU2V0dGluZ3NEaWFsb2dfQnJpZGdlTGlzdF9saXN0SXRlbSAubXhfUm9vbVNldHRpbmdzRGlhbG9nX2NvbHVtbl9kYXRhIC5teF9Sb29tU2V0dGluZ3NEaWFsb2dfY29sdW1uX2RhdGFfZGV0YWlscyxcbiAgICAgICAgICAgICAgICAubXhfUm9vbVNldHRpbmdzRGlhbG9nX0JyaWRnZUxpc3QgbGkubXhfUm9vbVNldHRpbmdzRGlhbG9nX0JyaWRnZUxpc3RfbGlzdEl0ZW0gLm14X1Jvb21TZXR0aW5nc0RpYWxvZ19jb2x1bW5fZGF0YSAubXhfUm9vbVNldHRpbmdzRGlhbG9nX2NvbHVtbl9kYXRhX21ldGFkYXRhIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogNHB4O1xuICAgICAgICAgICAgICAgIH1cblxuLm14X1Jvb21TZXR0aW5nc0RpYWxvZ19CcmlkZ2VMaXN0IGxpLm14X1Jvb21TZXR0aW5nc0RpYWxvZ19CcmlkZ2VMaXN0X2xpc3RJdGVtIC5teF9Sb29tU2V0dGluZ3NEaWFsb2dfY29sdW1uX2RhdGEgLm14X1Jvb21TZXR0aW5nc0RpYWxvZ19jb2x1bW5fZGF0YV9tZXRhZGF0YSBsaSB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDhweDtcbiAgICAgICAgICAgICAgICB9XG5cbi5teF9Sb29tU2V0dGluZ3NEaWFsb2dfQnJpZGdlTGlzdCBsaS5teF9Sb29tU2V0dGluZ3NEaWFsb2dfQnJpZGdlTGlzdF9saXN0SXRlbSAubXhfUm9vbVNldHRpbmdzRGlhbG9nX2NvbHVtbl9kYXRhIC5teF9Sb29tU2V0dGluZ3NEaWFsb2dfY29sdW1uX2RhdGFfcHJvdG9jb2xOYW1lIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxNnB0O1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tdGltZWxpbmUtdGV4dC1jb2xvcik7XG4gICAgICAgICAgICAgICAgfVxuXG4ubXhfUm9vbVNldHRpbmdzRGlhbG9nX0JyaWRnZUxpc3QgbGkubXhfUm9vbVNldHRpbmdzRGlhbG9nX0JyaWRnZUxpc3RfbGlzdEl0ZW0gLm14X1Jvb21TZXR0aW5nc0RpYWxvZ19jb2x1bW5fZGF0YSAubXhfUm9vbVNldHRpbmdzRGlhbG9nX3dvcmtzcGFjZV9jaGFubmVsX2RldGFpbHMge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tdGltZWxpbmUtdGV4dC1jb2xvcik7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1jcGQtZm9udC13ZWlnaHQtc2VtaWJvbGQpO1xuICAgICAgICAgICAgICAgIH1cblxuLm14X1Jvb21TZXR0aW5nc0RpYWxvZ19CcmlkZ2VMaXN0IGxpLm14X1Jvb21TZXR0aW5nc0RpYWxvZ19CcmlkZ2VMaXN0X2xpc3RJdGVtIC5teF9Sb29tU2V0dGluZ3NEaWFsb2dfY29sdW1uX2RhdGEgLm14X1Jvb21TZXR0aW5nc0RpYWxvZ193b3Jrc3BhY2VfY2hhbm5lbF9kZXRhaWxzIC5teF9Sb29tU2V0dGluZ3NEaWFsb2dfY2hhbm5lbCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAtd2Via2l0LW1hcmdpbi1zdGFydDogNXB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4taW5saW5lLXN0YXJ0OiA1cHg7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuLm14X1Jvb21TZXR0aW5nc0RpYWxvZ19CcmlkZ2VMaXN0IGxpLm14X1Jvb21TZXR0aW5nc0RpYWxvZ19CcmlkZ2VMaXN0X2xpc3RJdGVtIC5teF9Sb29tU2V0dGluZ3NEaWFsb2dfY29sdW1uX2RhdGEgLm14X1Jvb21TZXR0aW5nc0RpYWxvZ19tZXRhZGF0YSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAjYTFiMmQxO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgICAgICAgICAgICBvdmVyZmxvdy15OiB2aXNpYmxlO1xuICAgICAgICAgICAgICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICAgICAgICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgICAgICB9XG5cbi8qXG5Db3B5cmlnaHQgMjAxOC0yMDI0IE5ldyBWZWN0b3IgTHRkLlxuXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXG4qL1xuXG4ubXhfUm9vbVVwZ3JhZGVEaWFsb2cge1xuICAgIHBhZGRpbmctcmlnaHQ6IDcwcHg7XG59XG5cbi8qXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cbkNvcHlyaWdodCAyMDE5LTIwMjEgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cblxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuKi9cblxuLm14X1Jvb21VcGdyYWRlV2FybmluZ0RpYWxvZyB7XG4gICAgbWF4LXdpZHRoOiAzOHZ3O1xuICAgIHdpZHRoOiAzOHZ3O1xufVxuXG4ubXhfUm9vbVVwZ3JhZGVXYXJuaW5nRGlhbG9nIC5teF9Sb29tVXBncmFkZVdhcm5pbmdEaWFsb2dfcHJvZ3Jlc3MgLm14X1Byb2dyZXNzQmFyIHtcbiAgICAgICAgICAgIGhlaWdodDogOHB4O1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgICAgICAgfVxuXG4ubXhfUm9vbVVwZ3JhZGVXYXJuaW5nRGlhbG9nIC5teF9Sb29tVXBncmFkZVdhcm5pbmdEaWFsb2dfcHJvZ3Jlc3MgLm14X1Byb2dyZXNzQmFyOjotbW96LXByb2dyZXNzLWJhciB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgICB9XG5cbi5teF9Sb29tVXBncmFkZVdhcm5pbmdEaWFsb2cgLm14X1Jvb21VcGdyYWRlV2FybmluZ0RpYWxvZ19wcm9ncmVzcyAubXhfUHJvZ3Jlc3NCYXI6Oi13ZWJraXQtcHJvZ3Jlc3MtYmFyLFxuICAgIC5teF9Sb29tVXBncmFkZVdhcm5pbmdEaWFsb2cgLm14X1Jvb21VcGdyYWRlV2FybmluZ0RpYWxvZ19wcm9ncmVzcyAubXhfUHJvZ3Jlc3NCYXI6Oi13ZWJraXQtcHJvZ3Jlc3MtdmFsdWUge1xuICAgICAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgfVxuXG4ubXhfUm9vbVVwZ3JhZGVXYXJuaW5nRGlhbG9nIC5teF9Sb29tVXBncmFkZVdhcm5pbmdEaWFsb2dfcHJvZ3Jlc3MgLm14X1Jvb21VcGdyYWRlV2FybmluZ0RpYWxvZ19wcm9ncmVzc1RleHQge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogOHB4O1xuICAgICAgICAgICAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS41cmVtO1xuICAgICAgICAgICAgY29sb3I6IHZhcigtLXRpbWVsaW5lLXRleHQtY29sb3IpO1xuICAgICAgICB9XG5cbi5teF9Sb29tVXBncmFkZVdhcm5pbmdEaWFsb2cgLm14X1NldHRpbmdzRmxhZyB7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbn1cblxuLm14X1Jvb21VcGdyYWRlV2FybmluZ0RpYWxvZyAubXhfU2V0dGluZ3NGbGFnIC5teF9Ub2dnbGVTd2l0Y2gge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiA4cHg7XG4gICAgICAgIGZsb2F0OiByaWdodDtcbiAgICB9XG5cbi5teF9Sb29tVXBncmFkZVdhcm5pbmdEaWFsb2cgLm14X1NldHRpbmdzRmxhZyAubXhfU2V0dGluZ3NGbGFnX2xhYmVsIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIH1cblxuLypcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxuQ29weXJpZ2h0IDIwMjAgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cblxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuKi9cblxuLm14X1NlcnZlck9mZmxpbmVEaWFsb2cgLm14X1NlcnZlck9mZmxpbmVEaWFsb2dfY29udGVudCB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDg1cHg7XG4gICAgICAgIGNvbG9yOiB2YXIoLS10aW1lbGluZS10ZXh0LWNvbG9yKTtcbiAgICB9XG5cbi5teF9TZXJ2ZXJPZmZsaW5lRGlhbG9nIC5teF9TZXJ2ZXJPZmZsaW5lRGlhbG9nX2NvbnRlbnQgaHIge1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS10aW1lbGluZS10ZXh0LWNvbG9yKTtcbiAgICAgICAgICAgIG9wYWNpdHk6IDAuMTtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gICAgICAgIH1cblxuLm14X1NlcnZlck9mZmxpbmVEaWFsb2cgLm14X1NlcnZlck9mZmxpbmVEaWFsb2dfY29udGVudCB1bCB7XG4gICAgICAgICAgICBwYWRkaW5nOiAxNnB4O1xuICAgICAgICB9XG5cbi5teF9TZXJ2ZXJPZmZsaW5lRGlhbG9nIC5teF9TZXJ2ZXJPZmZsaW5lRGlhbG9nX2NvbnRlbnQgdWwgbGk6bnRoLWNoaWxkKG4gKyAyKSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMTZweDtcbiAgICAgICAgICAgIH1cblxuLm14X1NlcnZlck9mZmxpbmVEaWFsb2cgLm14X1NlcnZlck9mZmxpbmVEaWFsb2dfY29udGVudCAubXhfU2VydmVyT2ZmbGluZURpYWxvZ19jb250ZW50X2NvbnRleHQgLm14X1NlcnZlck9mZmxpbmVEaWFsb2dfY29udGVudF9jb250ZXh0X3RpbWVzdGFtcCB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMTVweDtcbiAgICAgICAgICAgICAgICBjb2xvcjogI2ExYjJkMTtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMjRweDsgLyogc2FtZSBhcyBhdmF0YXIgKi9cbiAgICAgICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgICAgICAgICAgfVxuXG4ubXhfU2VydmVyT2ZmbGluZURpYWxvZyAubXhfU2VydmVyT2ZmbGluZURpYWxvZ19jb250ZW50IC5teF9TZXJ2ZXJPZmZsaW5lRGlhbG9nX2NvbnRlbnRfY29udGV4dCAubXhfU2VydmVyT2ZmbGluZURpYWxvZ19jb250ZW50X2NvbnRleHRfdGltZWxpbmUge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gMTU1cHgpOyAvKiAxMTVweCB0aW1lc3RhbXAgd2lkdGggKyA0MHB4IHJpZ2h0IG1hcmdpbiAqL1xuICAgICAgICAgICAgfVxuXG4ubXhfU2VydmVyT2ZmbGluZURpYWxvZyAubXhfU2VydmVyT2ZmbGluZURpYWxvZ19jb250ZW50IC5teF9TZXJ2ZXJPZmZsaW5lRGlhbG9nX2NvbnRlbnRfY29udGV4dCAubXhfU2VydmVyT2ZmbGluZURpYWxvZ19jb250ZW50X2NvbnRleHRfdGltZWxpbmUgLm14X1NlcnZlck9mZmxpbmVEaWFsb2dfY29udGVudF9jb250ZXh0X3RpbWVsaW5lX2hlYWRlciBzcGFuIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiA4cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbi5teF9TZXJ2ZXJPZmZsaW5lRGlhbG9nIC5teF9TZXJ2ZXJPZmZsaW5lRGlhbG9nX2NvbnRlbnQgLm14X1NlcnZlck9mZmxpbmVEaWFsb2dfY29udGVudF9jb250ZXh0IC5teF9TZXJ2ZXJPZmZsaW5lRGlhbG9nX2NvbnRlbnRfY29udGV4dF90aW1lbGluZSAubXhfU2VydmVyT2ZmbGluZURpYWxvZ19jb250ZW50X2NvbnRleHRfdHhuIHtcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiA4cHg7XG4gICAgICAgICAgICAgICAgfVxuXG4ubXhfU2VydmVyT2ZmbGluZURpYWxvZyAubXhfU2VydmVyT2ZmbGluZURpYWxvZ19jb250ZW50IC5teF9TZXJ2ZXJPZmZsaW5lRGlhbG9nX2NvbnRlbnRfY29udGV4dCAubXhfU2VydmVyT2ZmbGluZURpYWxvZ19jb250ZW50X2NvbnRleHRfdGltZWxpbmUgLm14X1NlcnZlck9mZmxpbmVEaWFsb2dfY29udGVudF9jb250ZXh0X3R4biAubXhfU2VydmVyT2ZmbGluZURpYWxvZ19jb250ZW50X2NvbnRleHRfdHhuX2Rlc2Mge1xuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDEwMHB4KTsgLyogMTAwcHggaXMgYW4gYXJiaXRyYXJ5IG1hcmdpbiBmb3IgdGhlIGJ1dHRvbiAqL1xuICAgICAgICAgICAgICAgICAgICB9XG5cbi5teF9TZXJ2ZXJPZmZsaW5lRGlhbG9nIC5teF9TZXJ2ZXJPZmZsaW5lRGlhbG9nX2NvbnRlbnQgLm14X1NlcnZlck9mZmxpbmVEaWFsb2dfY29udGVudF9jb250ZXh0IC5teF9TZXJ2ZXJPZmZsaW5lRGlhbG9nX2NvbnRlbnRfY29udGV4dF90aW1lbGluZSAubXhfU2VydmVyT2ZmbGluZURpYWxvZ19jb250ZW50X2NvbnRleHRfdHhuIC5teF9BY2Nlc3NpYmxlQnV0dG9uIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4vKlxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXG5Db3B5cmlnaHQgMjAyMCBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxuXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXG4qL1xuXG4ubXhfU2VydmVyUGlja2VyRGlhbG9nIHtcbiAgICB3aWR0aDogNDY4cHg7XG4gICAgLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbn1cblxuLm14X1NlcnZlclBpY2tlckRpYWxvZyAubXhfRGlhbG9nX2NvbnRlbnQge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cblxuLm14X1NlcnZlclBpY2tlckRpYWxvZyAubXhfRGlhbG9nX2NvbnRlbnQgPiBwIHtcbiAgICAgICAgICAgIGNvbG9yOiAjZWRmM2ZmO1xuICAgICAgICAgICAgY29sb3I6IHZhcigtLXNlY29uZGFyeS1jb250ZW50LCAjZWRmM2ZmKTtcbiAgICAgICAgICAgIGZvbnQ6IHZhcigtLWNwZC1mb250LWJvZHktbWQtcmVndWxhcik7XG5cbiAgICAgICAgICAgIG1hcmdpbjogMTZweCAwO1xuICAgICAgICB9XG5cbi5teF9TZXJ2ZXJQaWNrZXJEaWFsb2cgLm14X0RpYWxvZ19jb250ZW50ID4gcDpmaXJzdC1vZi10eXBlIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0MHB4O1xuICAgICAgICAgICAgfVxuXG4ubXhfU2VydmVyUGlja2VyRGlhbG9nIC5teF9EaWFsb2dfY29udGVudCA+IHA6bGFzdC1vZi10eXBlIHtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgMjRweCAyNHB4O1xuICAgICAgICAgICAgfVxuXG4ubXhfU2VydmVyUGlja2VyRGlhbG9nIC5teF9EaWFsb2dfY29udGVudCA+IGgyIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLWNwZC1mb250LXdlaWdodC1zZW1pYm9sZCk7XG4gICAgICAgICAgICBjb2xvcjogI2VkZjNmZjtcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1zZWNvbmRhcnktY29udGVudCwgI2VkZjNmZik7XG4gICAgICAgICAgICBtYXJnaW46IDE2cHggMCAxNnB4IDhweDtcbiAgICAgICAgfVxuXG4ubXhfU2VydmVyUGlja2VyRGlhbG9nIC5teF9EaWFsb2dfY29udGVudCA+IGEge1xuICAgICAgICAgICAgY29sb3I6ICMwZGJkOGI7XG4gICAgICAgICAgICBjb2xvcjogdmFyKC0tYWNjZW50LWNvbG9yLCAjMGRiZDhiKTtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiA4cHg7XG4gICAgICAgIH1cblxuLm14X1NlcnZlclBpY2tlckRpYWxvZyAubXhfU2VydmVyUGlja2VyRGlhbG9nX290aGVySG9tZXNlcnZlclJhZGlvIGlucHV0W3R5cGU9XCJyYWRpb1wiXSArIGRpdiB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiBhdXRvO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogYXV0bztcbiAgICAgICAgfVxuXG4ubXhfU2VydmVyUGlja2VyRGlhbG9nIC5teF9TZXJ2ZXJQaWNrZXJEaWFsb2dfb3RoZXJIb21lc2VydmVyIHtcbiAgICAgICAgYm9yZGVyLXRvcDogbm9uZTtcbiAgICAgICAgYm9yZGVyLWxlZnQ6IG5vbmU7XG4gICAgICAgIGJvcmRlci1yaWdodDogbm9uZTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogaW5pdGlhbDtcbiAgICB9XG5cbi5teF9TZXJ2ZXJQaWNrZXJEaWFsb2cgLm14X1NlcnZlclBpY2tlckRpYWxvZ19vdGhlckhvbWVzZXJ2ZXIgPiBpbnB1dCB7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgIH1cblxuLm14X1NlcnZlclBpY2tlckRpYWxvZyAubXhfU2VydmVyUGlja2VyRGlhbG9nX290aGVySG9tZXNlcnZlciA+IGxhYmVsIHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICB9XG5cbi5teF9TZXJ2ZXJQaWNrZXJEaWFsb2cgLm14X0FjY2Vzc2libGVCdXR0b25fa2luZF9wcmltYXJ5IHtcbiAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDY0cHgpO1xuICAgICAgICBtYXJnaW46IDAgOHB4O1xuICAgICAgICBwYWRkaW5nOiAxNXB4IDE4cHg7XG4gICAgfVxuXG4vKlxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXG5Db3B5cmlnaHQgMjAxNyBWZWN0b3IgQ3JlYXRpb25zIEx0ZFxuXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXG4qL1xuXG4ubXhfU2V0RW1haWxEaWFsb2dfZW1haWxfaW5wdXQge1xuICAgIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZTdlN2U3O1xuICAgIHBhZGRpbmc6IDlweDtcbiAgICBjb2xvcjogcmdiYSg3NCwgNzQsIDc0LCAwLjkpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXRpbWVsaW5lLWJhY2tncm91bmQtY29sb3IpO1xuICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1heC13aWR0aDogMjgwcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbn1cblxuLm14X1NldEVtYWlsRGlhbG9nX2VtYWlsX2lucHV0OmZvY3VzIHtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIC13ZWJraXQtYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgYm9yZGVyOiAxcHggc29saWQgIzBkYmQ4YjtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1hY2NlbnQtY29sb3IsICMwZGJkOGIpO1xufVxuXG4vKlxuQ29weXJpZ2h0IDIwMTktMjAyNCBOZXcgVmVjdG9yIEx0ZC5cblxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuKi9cblxuLyogTm90IGFjdHVhbGx5IGEgY29tcG9uZW50IGJ1dCB0aGluZ3Mgc2hhcmVkIGJ5IHNldHRpbmdzIGNvbXBvbmVudHMgKi9cblxuLm14X1VzZXJTZXR0aW5nc0RpYWxvZyxcbi5teF9Sb29tU2V0dGluZ3NEaWFsb2csXG4ubXhfU3BhY2VTZXR0aW5nc0RpYWxvZyxcbi5teF9TcGFjZVByZWZlcmVuY2VzRGlhbG9nIHtcbiAgICB3aWR0aDogOTB2dztcbiAgICBtYXgtd2lkdGg6IDk4MHB4O1xuICAgIC8qIHNldCB0aGUgaGVpZ2h0IHRvbyBzaW5jZSB0YWJiZWQgdmlldyBzY3JvbGxzIGl0c2VsZi4gKi9cbiAgICBoZWlnaHQ6IDgwdmg7XG59XG5cbi5teF9Vc2VyU2V0dGluZ3NEaWFsb2cgLm14X1RhYmJlZFZpZXcsIC5teF9Sb29tU2V0dGluZ3NEaWFsb2cgLm14X1RhYmJlZFZpZXcsIC5teF9TcGFjZVNldHRpbmdzRGlhbG9nIC5teF9UYWJiZWRWaWV3LCAubXhfU3BhY2VQcmVmZXJlbmNlc0RpYWxvZyAubXhfVGFiYmVkVmlldyB7XG4gICAgICAgIHRvcDogOTBweDtcbiAgICB9XG5cbi5teF9Vc2VyU2V0dGluZ3NEaWFsb2cgLm14X1RhYmJlZFZpZXcgLm14X1NldHRpbmdzVGFiLCAubXhfUm9vbVNldHRpbmdzRGlhbG9nIC5teF9UYWJiZWRWaWV3IC5teF9TZXR0aW5nc1RhYiwgLm14X1NwYWNlU2V0dGluZ3NEaWFsb2cgLm14X1RhYmJlZFZpZXcgLm14X1NldHRpbmdzVGFiLCAubXhfU3BhY2VQcmVmZXJlbmNlc0RpYWxvZyAubXhfVGFiYmVkVmlldyAubXhfU2V0dGluZ3NUYWIge1xuICAgICAgICAtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgbWluLXdpZHRoOiA1ODBweDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMTAwcHg7XG4gICAgICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICAgICAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcbiAgICAgICAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiBub3JtYWw7XG4gICAgICAgICAgICAtbXMtZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXG4gICAgICAgIC8qIFB1dCBzb21lIHBhZGRpbmcgb24gdGhlIGJvdHRvbSB0byBhdm9pZCB0aGUgc2V0dGluZ3MgdGFiIGZyb20gKi9cbiAgICAgICAgLyogY29sbGlkaW5nIGhhcnNobHkgd2l0aCB0aGUgZGlhbG9nIHdoZW4gc2Nyb2xsZWQgZG93bi4gKi9cbiAgICAgICAgcGFkZGluZy1ib3R0b206IDEwMHB4O1xuICAgIH1cblxuLypcbkNvcHlyaWdodCAyMDE4LTIwMjQgTmV3IFZlY3RvciBMdGQuXG5cblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cbiovXG5cbi5teF9TaGFyZURpYWxvZyB7XG4gICAgLyogVmFsdWUgZnJvbSBmaWdtYSBkZXNpZ24gKi9cbiAgICB3aWR0aDogNDE2cHg7XG59XG5cbi5teF9TaGFyZURpYWxvZyAubXhfRGlhbG9nX2hlYWRlciB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogdmFyKC0tY3BkLXNwYWNlLTZ4KTtcbiAgICAgICAgLyogT3ZlcnJpZGUgZGlhbG9nIGhlYWRlciBwYWRkaW5nIHRvIGFibGUgdG8gY2VudGVyIGl0ICovXG4gICAgICAgIC13ZWJraXQtcGFkZGluZy1lbmQ6IDA7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1pbmxpbmUtZW5kOiAwO1xuICAgIH1cblxuLm14X1NoYXJlRGlhbG9nIC5teF9TaGFyZURpYWxvZ19jb250ZW50IHtcbiAgICAgICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gICAgICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xuICAgICAgICAtd2Via2l0LWJveC1kaXJlY3Rpb246IG5vcm1hbDtcbiAgICAgICAgICAgIC1tcy1mbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGdhcDogdmFyKC0tY3BkLXNwYWNlLTZ4KTtcbiAgICAgICAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB9XG5cbi5teF9TaGFyZURpYWxvZyAubXhfU2hhcmVEaWFsb2dfY29udGVudCAubXhfU2hhcmVEaWFsb2dfdG9wIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICAgICAgICAgICAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcbiAgICAgICAgICAgIC13ZWJraXQtYm94LWRpcmVjdGlvbjogbm9ybWFsO1xuICAgICAgICAgICAgICAgIC1tcy1mbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgZ2FwOiB2YXIoLS1jcGQtc3BhY2UtNHgpO1xuICAgICAgICAgICAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cblxuLm14X1NoYXJlRGlhbG9nIC5teF9TaGFyZURpYWxvZ19jb250ZW50IC5teF9TaGFyZURpYWxvZ190b3Agc3BhbiB7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICAgIGZvbnQ6IHZhcigtLWNwZC1mb250LWJvZHktc20tc2VtaWJvbGQpO1xuICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1jcGQtY29sb3ItdGV4dC1zZWNvbmRhcnkpO1xuICAgICAgICAgICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgICAgICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIH1cblxuLm14X1NoYXJlRGlhbG9nIC5teF9TaGFyZURpYWxvZ19jb250ZW50IGxhYmVsIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IC13ZWJraXQtaW5saW5lLWJveDtcbiAgICAgICAgICAgIGRpc3BsYXk6IC1tcy1pbmxpbmUtZmxleGJveDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICAgICAgZ2FwOiB2YXIoLS1jcGQtc3BhY2UtM3gpO1xuICAgICAgICAgICAgLXdlYmtpdC1ib3gtcGFjazogY2VudGVyO1xuICAgICAgICAgICAgICAgIC1tcy1mbGV4LXBhY2s6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICBmb250OiB2YXIoLS1jcGQtZm9udC1ib2R5LW1kLW1lZGl1bSk7XG4gICAgICAgIH1cblxuLm14X1NoYXJlRGlhbG9nIC5teF9TaGFyZURpYWxvZ19jb250ZW50IGJ1dHRvbiB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuXG4ubXhfU2hhcmVEaWFsb2cgLm14X1NoYXJlRGlhbG9nX2NvbnRlbnQgLm14X1NoYXJlRGlhbG9nX3NvY2lhbCB7XG4gICAgICAgICAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgICAgICAgICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGdhcDogdmFyKC0tY3BkLXNwYWNlLTN4KTtcbiAgICAgICAgICAgIC13ZWJraXQtYm94LXBhY2s6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAtbXMtZmxleC1wYWNrOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICB9XG5cbi5teF9TaGFyZURpYWxvZyAubXhfU2hhcmVEaWFsb2dfY29udGVudCAubXhfU2hhcmVEaWFsb2dfc29jaWFsIGEge1xuICAgICAgICAgICAgICAgIHdpZHRoOiA0OHB4O1xuICAgICAgICAgICAgICAgIGhlaWdodDogNDhweDtcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiA5OXB4O1xuICAgICAgICAgICAgICAgIC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tY3BkLWNvbG9yLWJvcmRlci1pbnRlcmFjdGl2ZS1zZWNvbmRhcnkpO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgLXdlYmtpdC1ib3gtcGFjazogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICAtbXMtZmxleC1wYWNrOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIH1cblxuLm14X1NoYXJlRGlhbG9nIC5teF9TaGFyZURpYWxvZ19jb250ZW50IC5teF9TaGFyZURpYWxvZ19zb2NpYWwgYSBpbWcge1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMjRweDtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAyNHB4O1xuICAgICAgICAgICAgICAgIH1cblxuLypcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxuXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXG4qL1xuXG4ubXhfU2xhc2hDb21tYW5kSGVscERpYWxvZyAubXhfU2xhc2hDb21tYW5kSGVscERpYWxvZ19oZWFkZXJSb3cgaDIge1xuICAgIG1hcmdpbi1ib3R0b206IDJweDtcbn1cblxuLm14X1NsYXNoQ29tbWFuZEhlbHBEaWFsb2cgLm14X0RpYWxvZ19jb250ZW50IHtcbiAgICBtYXJnaW4tdG9wOiAxMnB4O1xuICAgIG1hcmdpbi1ib3R0b206IDM0cHg7XG59XG5cbi8qXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cbkNvcHlyaWdodCAyMDIxIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXG5cblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cbiovXG5cbi5teF9TcGFjZVByZWZlcmVuY2VzRGlhbG9nIHtcbiAgICB3aWR0aDogNzAwcHg7XG4gICAgaGVpZ2h0OiA0MDBweDtcbn1cblxuLm14X1NwYWNlUHJlZmVyZW5jZXNEaWFsb2cgPiBoNCB7XG4gICAgICAgIG1hcmdpbjogLTEycHggMCAwO1xuICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNXJlbTtcbiAgICAgICAgY29sb3I6ICNlZGYzZmY7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1zZWNvbmRhcnktY29udGVudCwgI2VkZjNmZik7XG4gICAgfVxuXG4ubXhfU3BhY2VQcmVmZXJlbmNlc0RpYWxvZyAubXhfVGFiYmVkVmlldyB7XG4gICAgICAgIHRvcDogODBweDtcbiAgICB9XG5cbi5teF9TcGFjZVByZWZlcmVuY2VzRGlhbG9nIC5teF9UYWJiZWRWaWV3IC5teF9TZXR0aW5nc1RhYiB7XG4gICAgICAgICAgICBtaW4td2lkdGg6IDA7XG4gICAgICAgICAgICBtaW4td2lkdGg6IGluaXRpYWw7XG4gICAgICAgIH1cblxuLm14X1NwYWNlUHJlZmVyZW5jZXNEaWFsb2dfYXBwZWFyYW5jZUljb246OmJlZm9yZSB7XG4gICAgLXdlYmtpdC1tYXNrLWltYWdlOiB1cmwoXCIuLi8uLi8uLi9pbWcvZWxlbWVudC1pY29ucy9zZXR0aW5ncy9hcHBlYXJhbmNlLnN2Z1wiKTtcbiAgICAgICAgICAgIG1hc2staW1hZ2U6IHVybChcIi4uLy4uLy4uL2ltZy9lbGVtZW50LWljb25zL3NldHRpbmdzL2FwcGVhcmFuY2Uuc3ZnXCIpO1xufVxuXG4vKlxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXG5Db3B5cmlnaHQgMjAyMSBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxuXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXG4qL1xuXG4ubXhfU3BhY2VTZXR0aW5nc0RpYWxvZyB7XG4gICAgY29sb3I6IHZhcigtLXRpbWVsaW5lLXRleHQtY29sb3IpO1xufVxuXG4ubXhfU3BhY2VTZXR0aW5nc0RpYWxvZyAubXhfU3BhY2VTZXR0aW5nc19lcnJvclRleHQge1xuICAgICAgICBmb250LXdlaWdodDogdmFyKC0tY3BkLWZvbnQtd2VpZ2h0LXNlbWlib2xkKTtcbiAgICAgICAgZm9udC1zaXplOiAwLjc1cmVtO1xuICAgICAgICBsaW5lLWhlaWdodDogMC45Mzc1cmVtO1xuICAgICAgICBjb2xvcjogI2ZmNWI1NTtcbiAgICAgICAgY29sb3I6IHZhcigtLWFsZXJ0LCAjZmY1YjU1KTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjhweDtcbiAgICB9XG5cbi5teF9TcGFjZVNldHRpbmdzRGlhbG9nIC5teF9Ub2dnbGVTd2l0Y2gge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAxNnB4O1xuICAgIH1cblxuLm14X1NwYWNlU2V0dGluZ3NEaWFsb2cgLm14X1NldHRpbmdzVGFiX3NlY3Rpb24gLm14X1NldHRpbmdzVGFiX3NlY3Rpb25fY2FwdGlvbiB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAxMnB4O1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICAgICAgfVxuXG4ubXhfU3BhY2VTZXR0aW5nc0RpYWxvZyAubXhfU2V0dGluZ3NUYWJfc2VjdGlvbiAubXhfU3R5bGVkUmFkaW9CdXR0b24ge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogOHB4O1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNHB4O1xuICAgICAgICB9XG5cbi5teF9TcGFjZVNldHRpbmdzRGlhbG9nIC5teF9TZXR0aW5nc1RhYl9zZWN0aW9uIC5teF9TdHlsZWRSYWRpb0J1dHRvbiAubXhfU3R5bGVkUmFkaW9CdXR0b25fY29udGVudCB7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLWNwZC1mb250LXdlaWdodC1zZW1pYm9sZCk7XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMTI1cmVtO1xuICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS10aW1lbGluZS10ZXh0LWNvbG9yKTtcbiAgICAgICAgICAgIH1cblxuLm14X1NwYWNlU2V0dGluZ3NEaWFsb2cgLm14X1NldHRpbmdzVGFiX3NlY3Rpb24gLm14X1N0eWxlZFJhZGlvQnV0dG9uICsgc3BhbiB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMTI1cmVtO1xuICAgICAgICAgICAgICAgIGNvbG9yOiAjZWRmM2ZmO1xuICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1zZWNvbmRhcnktY29udGVudCwgI2VkZjNmZik7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDI2cHg7XG4gICAgICAgICAgICB9XG5cbi5teF9TcGFjZVNldHRpbmdzRGlhbG9nIC5teF9TcGFjZVNldHRpbmdzRGlhbG9nX2J1dHRvbnMge1xuICAgICAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgICAgICAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIG1hcmdpbi10b3A6IDY0cHg7XG4gICAgfVxuXG4ubXhfU3BhY2VTZXR0aW5nc0RpYWxvZyAubXhfU3BhY2VTZXR0aW5nc0RpYWxvZ19idXR0b25zIC5teF9BY2Nlc3NpYmxlQnV0dG9uIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgfVxuXG4ubXhfU3BhY2VTZXR0aW5nc0RpYWxvZyAubXhfU3BhY2VTZXR0aW5nc0RpYWxvZ19idXR0b25zIC5teF9BY2Nlc3NpYmxlQnV0dG9uX2tpbmRfbGluayB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgICAgfVxuXG4ubXhfU3BhY2VTZXR0aW5nc0RpYWxvZyAubXhfQWNjZXNzaWJsZUJ1dHRvbl9oYXNLaW5kLm14X0FjY2Vzc2libGVCdXR0b25fa2luZF9saW5rIHtcbiAgICAgICAgICAgIGZvbnQ6IHZhcigtLWNwZC1mb250LWJvZHktbWQtc2VtaWJvbGQpO1xuICAgICAgICAgICAgbWFyZ2luOiA3cHggMThweDtcbiAgICAgICAgfVxuXG4ubXhfU3BhY2VTZXR0aW5nc0RpYWxvZyAubXhfQWNjZXNzaWJsZUJ1dHRvbl9oYXNLaW5kLm14X0FjY2Vzc2libGVCdXR0b25fa2luZF9saW5rLm14X1NldHRpbmdzVGFiX3Nob3dBZHZhbmNlZCB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAxOHB4IDA7XG4gICAgICAgICAgICB9XG5cbi5teF9TcGFjZVNldHRpbmdzRGlhbG9nIC5teF9UYWJiZWRWaWV3X3RhYkxhYmVsIC5teF9TcGFjZVNldHRpbmdzRGlhbG9nX2dlbmVyYWxJY29uOjpiZWZvcmUge1xuICAgICAgICAgICAgLXdlYmtpdC1tYXNrLWltYWdlOiB1cmwoXCJAdmVjdG9yLWltL2NvbXBvdW5kLWRlc2lnbi10b2tlbnMvaWNvbnMvc2V0dGluZ3Mtc29saWQuc3ZnXCIpO1xuICAgICAgICAgICAgICAgICAgICBtYXNrLWltYWdlOiB1cmwoXCJAdmVjdG9yLWltL2NvbXBvdW5kLWRlc2lnbi10b2tlbnMvaWNvbnMvc2V0dGluZ3Mtc29saWQuc3ZnXCIpO1xuICAgICAgICB9XG5cbi5teF9TcGFjZVNldHRpbmdzRGlhbG9nIC5teF9UYWJiZWRWaWV3X3RhYkxhYmVsIC5teF9TcGFjZVNldHRpbmdzRGlhbG9nX3Zpc2liaWxpdHlJY29uOjpiZWZvcmUge1xuICAgICAgICAgICAgLXdlYmtpdC1tYXNrLWltYWdlOiB1cmwoXCIuLi8uLi8uLi9pbWcvZWxlbWVudC1pY29ucy9leWUuc3ZnXCIpO1xuICAgICAgICAgICAgICAgICAgICBtYXNrLWltYWdlOiB1cmwoXCIuLi8uLi8uLi9pbWcvZWxlbWVudC1pY29ucy9leWUuc3ZnXCIpO1xuICAgICAgICB9XG5cbi8qXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cbkNvcHlyaWdodCAyMDIxIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXG5cblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cbiovXG5cbi5teF9TcG90bGlnaHREaWFsb2dfd3JhcHBlciAubXhfRGlhbG9nX2JvcmRlciB7XG4gICAgICAgIC8qIERpc2FibGUgdGhlIGdsYXNzIGJvcmRlciBhcyB0aGlzIGRpYWxvZyB3YXNuJ3QgZGVzaWduZWQgd2l0aCBpdCBpbiBtaW5kICovXG4gICAgICAgIGRpc3BsYXk6IGNvbnRlbnRzO1xuICAgIH1cblxuLm14X1Nwb3RsaWdodERpYWxvZ193cmFwcGVyIC5teF9EaWFsb2cge1xuICAgICAgICB3aWR0aDogLXdlYmtpdC1maXQtY29udGVudDtcbiAgICAgICAgd2lkdGg6IC1tb3otZml0LWNvbnRlbnQ7XG4gICAgICAgIHdpZHRoOiBmaXQtY29udGVudDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4O1xuICAgICAgICBvdmVyZmxvdy15OiB2aXNpYmxlO1xuICAgICAgICBvdmVyZmxvdy15OiBpbml0aWFsO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGhlaWdodDogNjAlO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBjb250YWluOiB1bnNldDsgLyogbmVlZGVkIGZvciAjbXhfU3BvdGxpZ2h0RGlhbG9nX2tleWJvYXJkUHJvbXB0IHRvIG5vdCBiZSBjdWxsZWQgKi9cbiAgICB9XG5cbi5teF9TcG90bGlnaHREaWFsb2dfd3JhcHBlciAubXhfRGlhbG9nICNteF9TcG90bGlnaHREaWFsb2dfa2V5Ym9hcmRQcm9tcHQge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgcGFkZGluZzogOHB4O1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4O1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdGltZWxpbmUtYmFja2dyb3VuZC1jb2xvcik7XG4gICAgICAgICAgICB0b3A6IC02MHB4OyAvKiByZWxhdGl2ZSB0byB0aGUgdG9wIG9mIHRoZSBtb2RhbCAqL1xuICAgICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAwLjkzNzVyZW07XG4gICAgICAgICAgICBjb2xvcjogI2VkZjNmZjtcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1zZWNvbmRhcnktY29udGVudCwgI2VkZjNmZik7XG4gICAgICAgIH1cblxuLm14X1Nwb3RsaWdodERpYWxvZ193cmFwcGVyIC5teF9EaWFsb2cgI214X1Nwb3RsaWdodERpYWxvZ19rZXlib2FyZFByb21wdCBrYmQge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAycHggNHB4O1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMCA0cHg7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNnB4O1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICM2Zjc4ODI7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcXVpbmFyeS1jb250ZW50LCAjNmY3ODgyKTtcbiAgICAgICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICAgICAgICAgIGNvbG9yOiAjZWRmM2ZmO1xuICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS10ZXJ0aWFyeS1jb250ZW50LCAjZWRmM2ZmKTtcbiAgICAgICAgICAgICAgICAvKiBUbyBhdm9pZCBhbnkgc3R5bGluZyBpbmhlcmVudCB3aXRoIDxrYmQ+IGVsZW1lbnRzICovXG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGluaGVyaXQ7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiBpbmhlcml0O1xuICAgICAgICAgICAgfVxuXG4ubXhfU3BvdGxpZ2h0RGlhbG9nIHtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gICAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xuICAgIC13ZWJraXQtYm94LWRpcmVjdGlvbjogbm9ybWFsO1xuICAgICAgICAtbXMtZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG59XG5cbi5teF9TcG90bGlnaHREaWFsb2cgLm14X0RpYWxvZ19oZWFkZXIge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuLm14X1Nwb3RsaWdodERpYWxvZyAubXhfU3BvdGxpZ2h0RGlhbG9nX3NlYXJjaEJveCB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICBib3JkZXItcmFkaXVzOiA4cHggOHB4IDAgMDtcbiAgICAgICAgcGFkZGluZzogMTJweCAxNnB4O1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzIxMjYyYztcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLXN5c3RlbSwgIzIxMjYyYyk7XG4gICAgfVxuXG4ubXhfU3BvdGxpZ2h0RGlhbG9nIC5teF9TcG90bGlnaHREaWFsb2dfc2VhcmNoQm94ID4gLm14X1Nwb3RsaWdodERpYWxvZ19maWx0ZXIge1xuICAgICAgICAgICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gICAgICAgICAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAtbXMtZmxleC1saW5lLXBhY2s6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBhbGlnbi1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDhweDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICM2Zjc4ODI7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1xdWluYXJ5LWNvbnRlbnQsICM2Zjc4ODIpO1xuICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS10aW1lbGluZS10ZXh0LWNvbG9yKTtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIHBhZGRpbmc6IDRweCA4cHggNHB4IDM3cHg7XG4gICAgICAgIH1cblxuLm14X1Nwb3RsaWdodERpYWxvZyAubXhfU3BvdGxpZ2h0RGlhbG9nX3NlYXJjaEJveCA+IC5teF9TcG90bGlnaHREaWFsb2dfZmlsdGVyOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNlZGYzZmY7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tc2Vjb25kYXJ5LWNvbnRlbnQsICNlZGYzZmYpO1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICAgICAgLXdlYmtpdC1tYXNrLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFzay1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgICAgICAgICAtd2Via2l0LW1hc2stcG9zaXRpb246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hc2stcG9zaXRpb246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAtd2Via2l0LW1hc2stc2l6ZTogY29udGFpbjtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hc2stc2l6ZTogY29udGFpbjtcbiAgICAgICAgICAgICAgICB3aWR0aDogMThweDtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDE4cHg7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIGxlZnQ6IDhweDtcbiAgICAgICAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICAgICAgICAgIH1cblxuLm14X1Nwb3RsaWdodERpYWxvZyAubXhfU3BvdGxpZ2h0RGlhbG9nX3NlYXJjaEJveCA+IC5teF9TcG90bGlnaHREaWFsb2dfZmlsdGVyLm14X1Nwb3RsaWdodERpYWxvZ19maWx0ZXJQZW9wbGU6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgLXdlYmtpdC1tYXNrLWltYWdlOiB1cmwoXCJAdmVjdG9yLWltL2NvbXBvdW5kLWRlc2lnbi10b2tlbnMvaWNvbnMvdXNlci1wcm9maWxlLXNvbGlkLnN2Z1wiKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hc2staW1hZ2U6IHVybChcIkB2ZWN0b3ItaW0vY29tcG91bmQtZGVzaWduLXRva2Vucy9pY29ucy91c2VyLXByb2ZpbGUtc29saWQuc3ZnXCIpO1xuICAgICAgICAgICAgfVxuXG4ubXhfU3BvdGxpZ2h0RGlhbG9nIC5teF9TcG90bGlnaHREaWFsb2dfc2VhcmNoQm94ID4gLm14X1Nwb3RsaWdodERpYWxvZ19maWx0ZXIubXhfU3BvdGxpZ2h0RGlhbG9nX2ZpbHRlclB1YmxpY1Jvb21zOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIC13ZWJraXQtbWFzay1pbWFnZTogdXJsKFwiLi4vLi4vLi4vaW1nL2VsZW1lbnQtaWNvbnMvcm9vbWxpc3QvaGFzaC1jaXJjbGUuc3ZnXCIpO1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFzay1pbWFnZTogdXJsKFwiLi4vLi4vLi4vaW1nL2VsZW1lbnQtaWNvbnMvcm9vbWxpc3QvaGFzaC1jaXJjbGUuc3ZnXCIpO1xuICAgICAgICAgICAgfVxuXG4ubXhfU3BvdGxpZ2h0RGlhbG9nIC5teF9TcG90bGlnaHREaWFsb2dfc2VhcmNoQm94ID4gLm14X1Nwb3RsaWdodERpYWxvZ19maWx0ZXIubXhfU3BvdGxpZ2h0RGlhbG9nX2ZpbHRlclB1YmxpY1NwYWNlczo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAtd2Via2l0LW1hc2staW1hZ2U6IHVybChcIi4uLy4uLy4uL2ltZy9lbGVtZW50LWljb25zL3NwYWNlcy5zdmdcIik7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXNrLWltYWdlOiB1cmwoXCIuLi8uLi8uLi9pbWcvZWxlbWVudC1pY29ucy9zcGFjZXMuc3ZnXCIpO1xuICAgICAgICAgICAgfVxuXG4ubXhfU3BvdGxpZ2h0RGlhbG9nIC5teF9TcG90bGlnaHREaWFsb2dfc2VhcmNoQm94ID4gLm14X1Nwb3RsaWdodERpYWxvZ19maWx0ZXIgLm14X1Nwb3RsaWdodERpYWxvZ19maWx0ZXItLWNsb3NlIHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxNnB4O1xuICAgICAgICAgICAgICAgIGhlaWdodDogMTZweDtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAjMjEyNjJjO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHZhcigtLXN5c3RlbSwgIzIxMjYyYyk7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4O1xuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiA4cHg7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxNnB4O1xuICAgICAgICAgICAgICAgIGNvbG9yOiAjZWRmM2ZmO1xuICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1zZWNvbmRhcnktY29udGVudCwgI2VkZjNmZik7XG4gICAgICAgICAgICB9XG5cbi5teF9TcG90bGlnaHREaWFsb2cgLm14X1Nwb3RsaWdodERpYWxvZ19zZWFyY2hCb3ggPiAubXhfU3BvdGxpZ2h0RGlhbG9nX2ZpbHRlciAubXhfU3BvdGxpZ2h0RGlhbG9nX2ZpbHRlci0tY2xvc2U6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNlZGYzZmY7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXNlY29uZGFyeS1jb250ZW50LCAjZWRmM2ZmKTtcbiAgICAgICAgICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgICAgICAgICAgLXdlYmtpdC1tYXNrLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hc2stcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgICAgICAgICAgIC13ZWJraXQtbWFzay1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hc2stcG9zaXRpb246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgLXdlYmtpdC1tYXNrLXNpemU6IDE0cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFzay1zaXplOiAxNHB4O1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogaW5oZXJpdDtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiBpbmhlcml0O1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgICAgIC13ZWJraXQtbWFzay1pbWFnZTogdXJsKFwiQHZlY3Rvci1pbS9jb21wb3VuZC1kZXNpZ24tdG9rZW5zL2ljb25zL2Nsb3NlLnN2Z1wiKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXNrLWltYWdlOiB1cmwoXCJAdmVjdG9yLWltL2NvbXBvdW5kLWRlc2lnbi10b2tlbnMvaWNvbnMvY2xvc2Uuc3ZnXCIpO1xuICAgICAgICAgICAgICAgIH1cblxuLm14X1Nwb3RsaWdodERpYWxvZyAubXhfU3BvdGxpZ2h0RGlhbG9nX3NlYXJjaEJveCA+IGlucHV0IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICAgICAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGhlaWdodDogMzJweDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICBjb2xvcjogI2VkZjNmZjtcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS10ZXJ0aWFyeS1jb250ZW50LCAjZWRmM2ZmKTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgICAgICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjVyZW07XG4gICAgICAgIH1cblxuLm14X1Nwb3RsaWdodERpYWxvZyAubXhfU3BvdGxpZ2h0RGlhbG9nX3NlYXJjaEJveCA+IC5teF9TcGlubmVyIHtcbiAgICAgICAgICAgIC13ZWJraXQtYm94LWZsZXg6IDA7XG4gICAgICAgICAgICAgICAgLW1zLWZsZXgtcG9zaXRpdmU6IDA7XG4gICAgICAgICAgICAgICAgICAgIGZsZXgtZ3JvdzogMDtcbiAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgICAgd2lkdGg6IGluaXRpYWw7XG4gICAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgICAgICBoZWlnaHQ6IGluaXRpYWw7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMTZweDtcbiAgICAgICAgfVxuXG4ubXhfU3BvdGxpZ2h0RGlhbG9nICNteF9TcG90bGlnaHREaWFsb2dfY29udGVudCB7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICAgICAgcGFkZGluZzogMTZweDtcbiAgICB9XG5cbi5teF9TcG90bGlnaHREaWFsb2cgI214X1Nwb3RsaWdodERpYWxvZ19jb250ZW50IHVsIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIH1cblxuLm14X1Nwb3RsaWdodERpYWxvZyAjbXhfU3BvdGxpZ2h0RGlhbG9nX2NvbnRlbnQgLm14X1Nwb3RsaWdodERpYWxvZ19zZWN0aW9uID4gaDQsXG4gICAgICAgICAgICAubXhfU3BvdGxpZ2h0RGlhbG9nICNteF9TcG90bGlnaHREaWFsb2dfY29udGVudCAubXhfU3BvdGxpZ2h0RGlhbG9nX3NlY3Rpb24gPiAubXhfU3BvdGxpZ2h0RGlhbG9nX3NlY3Rpb25IZWFkZXIgPiBoNCB7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLWNwZC1mb250LXdlaWdodC1zZW1pYm9sZCk7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAwLjc1cmVtO1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAwLjkzNzVyZW07XG4gICAgICAgICAgICAgICAgY29sb3I6ICNlZGYzZmY7XG4gICAgICAgICAgICAgICAgY29sb3I6IHZhcigtLXNlY29uZGFyeS1jb250ZW50LCAjZWRmM2ZmKTtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICB9XG5cbi5teF9TcG90bGlnaHREaWFsb2cgI214X1Nwb3RsaWdodERpYWxvZ19jb250ZW50IC5teF9TcG90bGlnaHREaWFsb2dfc2VjdGlvbiA+IGg0IHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA4cHg7XG4gICAgICAgICAgICB9XG5cbi5teF9TcG90bGlnaHREaWFsb2cgI214X1Nwb3RsaWdodERpYWxvZ19jb250ZW50IC5teF9TcG90bGlnaHREaWFsb2dfc2VjdGlvbiAubXhfU3BvdGxpZ2h0RGlhbG9nX3NlY3Rpb25IZWFkZXIge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgLXdlYmtpdC1ib3gtcGFjazoganVzdGlmeTtcbiAgICAgICAgICAgICAgICAgICAgLW1zLWZsZXgtcGFjazoganVzdGlmeTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgICAgICAgICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA4cHg7XG4gICAgICAgICAgICB9XG5cbi5teF9TcG90bGlnaHREaWFsb2cgI214X1Nwb3RsaWdodERpYWxvZ19jb250ZW50IC5teF9TcG90bGlnaHREaWFsb2dfc2VjdGlvbiAubXhfU3BvdGxpZ2h0RGlhbG9nX3NlY3Rpb25IZWFkZXIgLm14X1Nwb3RsaWdodERpYWxvZ19vcHRpb25zIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgICAgICBnYXA6IDRweDtcbiAgICAgICAgICAgICAgICB9XG5cbi5teF9TcG90bGlnaHREaWFsb2cgI214X1Nwb3RsaWdodERpYWxvZ19jb250ZW50IC5teF9TcG90bGlnaHREaWFsb2dfc2VjdGlvbiArIC5teF9TcG90bGlnaHREaWFsb2dfc2VjdGlvbiB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMjRweDtcbiAgICAgICAgICAgIH1cblxuLm14X1Nwb3RsaWdodERpYWxvZyAjbXhfU3BvdGxpZ2h0RGlhbG9nX2NvbnRlbnQgLm14X1Nwb3RsaWdodERpYWxvZ19yZWNlbnRseVZpZXdlZCA+IGRpdiB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICAgICAgICAgIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDFweDsgLyogb2NjbHVkZSB0aGUgMXB4IHZpc2libGUgb2YgdGhlIHZlcnkgbmV4dCB0aWxlIHRvIHByZXZlbnQgaXQgbG9va2luZyBicm9rZW4gKi9cbiAgICAgICAgICAgIH1cblxuLm14X1Nwb3RsaWdodERpYWxvZyAjbXhfU3BvdGxpZ2h0RGlhbG9nX2NvbnRlbnQgLm14X1Nwb3RsaWdodERpYWxvZ19yZWNlbnRseVZpZXdlZCAubXhfU3BvdGxpZ2h0RGlhbG9nX29wdGlvbiB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4O1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDRweDtcbiAgICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tdGltZWxpbmUtdGV4dC1jb2xvcik7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAwLjc1cmVtO1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAwLjkzNzVyZW07XG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgIHdpZHRoOiA1OHB4O1xuICAgICAgICAgICAgICAgIGhlaWdodDogNThweDtcbiAgICAgICAgICAgICAgICBtaW4td2lkdGg6IDU4cHg7XG4gICAgICAgICAgICAgICAgLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICAgICAgICAgICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICAgICAgICAgIH1cblxuLm14X1Nwb3RsaWdodERpYWxvZyAjbXhfU3BvdGxpZ2h0RGlhbG9nX2NvbnRlbnQgLm14X1Nwb3RsaWdodERpYWxvZ19yZWNlbnRseVZpZXdlZCAubXhfU3BvdGxpZ2h0RGlhbG9nX29wdGlvbiAubXhfRGVjb3JhdGVkUm9vbUF2YXRhciB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMCA5cHggNHB4OyAvKiBtYWludGFpbiBjZW50ZXJpbmcgKi9cbiAgICAgICAgICAgICAgICB9XG5cbi5teF9TcG90bGlnaHREaWFsb2cgI214X1Nwb3RsaWdodERpYWxvZ19jb250ZW50IC5teF9TcG90bGlnaHREaWFsb2dfcmVjZW50bHlWaWV3ZWQgLm14X1Nwb3RsaWdodERpYWxvZ19vcHRpb24gKyAubXhfU3BvdGxpZ2h0RGlhbG9nX29wdGlvbiB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAxNnB4O1xuICAgICAgICAgICAgICAgIH1cblxuLm14X1Nwb3RsaWdodERpYWxvZyAjbXhfU3BvdGxpZ2h0RGlhbG9nX2NvbnRlbnQgLm14X1Nwb3RsaWdodERpYWxvZ19yZWNlbnRseVZpZXdlZCAubXhfU3BvdGxpZ2h0RGlhbG9nX29wdGlvbjpob3ZlcixcbiAgICAgICAgICAgICAgICAubXhfU3BvdGxpZ2h0RGlhbG9nICNteF9TcG90bGlnaHREaWFsb2dfY29udGVudCAubXhfU3BvdGxpZ2h0RGlhbG9nX3JlY2VudGx5Vmlld2VkIC5teF9TcG90bGlnaHREaWFsb2dfb3B0aW9uW2FyaWEtc2VsZWN0ZWQ9XCJ0cnVlXCJdIHtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzZmNzg4MjtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcXVpbmFyeS1jb250ZW50LCAjNmY3ODgyKTtcbiAgICAgICAgICAgICAgICB9XG5cbi5teF9TcG90bGlnaHREaWFsb2cgI214X1Nwb3RsaWdodERpYWxvZ19jb250ZW50IC5teF9TcG90bGlnaHREaWFsb2dfcmVzdWx0cyAubXhfU3BvdGxpZ2h0RGlhbG9nX29wdGlvbiwgLm14X1Nwb3RsaWdodERpYWxvZyAjbXhfU3BvdGxpZ2h0RGlhbG9nX2NvbnRlbnQgLm14X1Nwb3RsaWdodERpYWxvZ19yZWNlbnRTZWFyY2hlcyAubXhfU3BvdGxpZ2h0RGlhbG9nX29wdGlvbiwgLm14X1Nwb3RsaWdodERpYWxvZyAjbXhfU3BvdGxpZ2h0RGlhbG9nX2NvbnRlbnQgLm14X1Nwb3RsaWdodERpYWxvZ19vdGhlclNlYXJjaGVzIC5teF9TcG90bGlnaHREaWFsb2dfb3B0aW9uLCAubXhfU3BvdGxpZ2h0RGlhbG9nICNteF9TcG90bGlnaHREaWFsb2dfY29udGVudCAubXhfU3BvdGxpZ2h0RGlhbG9nX2hpZGRlblJlc3VsdHMgLm14X1Nwb3RsaWdodERpYWxvZ19vcHRpb24ge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDZweCA0cHg7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4O1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjVyZW07XG4gICAgICAgICAgICAgICAgY29sb3I6IHZhcigtLXRpbWVsaW5lLXRleHQtY29sb3IpO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgICAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICAgIH1cblxuLm14X1Nwb3RsaWdodERpYWxvZyAjbXhfU3BvdGxpZ2h0RGlhbG9nX2NvbnRlbnQgLm14X1Nwb3RsaWdodERpYWxvZ19yZXN1bHRzIC5teF9TcG90bGlnaHREaWFsb2dfb3B0aW9uIC5teF9TcG90bGlnaHREaWFsb2dfb3B0aW9uLS1lbmRBZG9ybm1lbnQsIC5teF9TcG90bGlnaHREaWFsb2cgI214X1Nwb3RsaWdodERpYWxvZ19jb250ZW50IC5teF9TcG90bGlnaHREaWFsb2dfcmVjZW50U2VhcmNoZXMgLm14X1Nwb3RsaWdodERpYWxvZ19vcHRpb24gLm14X1Nwb3RsaWdodERpYWxvZ19vcHRpb24tLWVuZEFkb3JubWVudCwgLm14X1Nwb3RsaWdodERpYWxvZyAjbXhfU3BvdGxpZ2h0RGlhbG9nX2NvbnRlbnQgLm14X1Nwb3RsaWdodERpYWxvZ19vdGhlclNlYXJjaGVzIC5teF9TcG90bGlnaHREaWFsb2dfb3B0aW9uIC5teF9TcG90bGlnaHREaWFsb2dfb3B0aW9uLS1lbmRBZG9ybm1lbnQsIC5teF9TcG90bGlnaHREaWFsb2cgI214X1Nwb3RsaWdodERpYWxvZ19jb250ZW50IC5teF9TcG90bGlnaHREaWFsb2dfaGlkZGVuUmVzdWx0cyAubXhfU3BvdGxpZ2h0RGlhbG9nX29wdGlvbiAubXhfU3BvdGxpZ2h0RGlhbG9nX29wdGlvbi0tZW5kQWRvcm5tZW50IHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogLXdlYmtpdC1pbmxpbmUtYm94O1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiAtbXMtaW5saW5lLWZsZXhib3g7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICAgICAgICAgICAgICAtd2Via2l0LWJveC1vcmllbnQ6IGhvcml6b250YWw7XG4gICAgICAgICAgICAgICAgICAgIC13ZWJraXQtYm94LWRpcmVjdGlvbjogbm9ybWFsO1xuICAgICAgICAgICAgICAgICAgICAgICAgLW1zLWZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICAgICAgICAgICAgICAgIC13ZWJraXQtYm94LWFsaWduOiBzdGFydDtcbiAgICAgICAgICAgICAgICAgICAgICAgIC1tcy1mbGV4LWFsaWduOiBzdGFydDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICAgICAgICAgICAgICB9XG5cbi5teF9TcG90bGlnaHREaWFsb2cgI214X1Nwb3RsaWdodERpYWxvZ19jb250ZW50IC5teF9TcG90bGlnaHREaWFsb2dfcmVzdWx0cyAubXhfU3BvdGxpZ2h0RGlhbG9nX29wdGlvbi5teF9TcG90bGlnaHREaWFsb2dfcmVzdWx0X211bHRpbGluZSwgLm14X1Nwb3RsaWdodERpYWxvZyAjbXhfU3BvdGxpZ2h0RGlhbG9nX2NvbnRlbnQgLm14X1Nwb3RsaWdodERpYWxvZ19yZWNlbnRTZWFyY2hlcyAubXhfU3BvdGxpZ2h0RGlhbG9nX29wdGlvbi5teF9TcG90bGlnaHREaWFsb2dfcmVzdWx0X211bHRpbGluZSwgLm14X1Nwb3RsaWdodERpYWxvZyAjbXhfU3BvdGxpZ2h0RGlhbG9nX2NvbnRlbnQgLm14X1Nwb3RsaWdodERpYWxvZ19vdGhlclNlYXJjaGVzIC5teF9TcG90bGlnaHREaWFsb2dfb3B0aW9uLm14X1Nwb3RsaWdodERpYWxvZ19yZXN1bHRfbXVsdGlsaW5lLCAubXhfU3BvdGxpZ2h0RGlhbG9nICNteF9TcG90bGlnaHREaWFsb2dfY29udGVudCAubXhfU3BvdGxpZ2h0RGlhbG9nX2hpZGRlblJlc3VsdHMgLm14X1Nwb3RsaWdodERpYWxvZ19vcHRpb24ubXhfU3BvdGxpZ2h0RGlhbG9nX3Jlc3VsdF9tdWx0aWxpbmUge1xuICAgICAgICAgICAgICAgICAgICAtd2Via2l0LWJveC1hbGlnbjogc3RhcnQ7XG4gICAgICAgICAgICAgICAgICAgICAgICAtbXMtZmxleC1hbGlnbjogc3RhcnQ7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgICAgICAgICAgICAgfVxuXG4ubXhfU3BvdGxpZ2h0RGlhbG9nICNteF9TcG90bGlnaHREaWFsb2dfY29udGVudCAubXhfU3BvdGxpZ2h0RGlhbG9nX3Jlc3VsdHMgLm14X1Nwb3RsaWdodERpYWxvZ19vcHRpb24ubXhfU3BvdGxpZ2h0RGlhbG9nX3Jlc3VsdF9tdWx0aWxpbmUgLm14X0FjY2Vzc2libGVCdXR0b24sIC5teF9TcG90bGlnaHREaWFsb2cgI214X1Nwb3RsaWdodERpYWxvZ19jb250ZW50IC5teF9TcG90bGlnaHREaWFsb2dfcmVjZW50U2VhcmNoZXMgLm14X1Nwb3RsaWdodERpYWxvZ19vcHRpb24ubXhfU3BvdGxpZ2h0RGlhbG9nX3Jlc3VsdF9tdWx0aWxpbmUgLm14X0FjY2Vzc2libGVCdXR0b24sIC5teF9TcG90bGlnaHREaWFsb2cgI214X1Nwb3RsaWdodERpYWxvZ19jb250ZW50IC5teF9TcG90bGlnaHREaWFsb2dfb3RoZXJTZWFyY2hlcyAubXhfU3BvdGxpZ2h0RGlhbG9nX29wdGlvbi5teF9TcG90bGlnaHREaWFsb2dfcmVzdWx0X211bHRpbGluZSAubXhfQWNjZXNzaWJsZUJ1dHRvbiwgLm14X1Nwb3RsaWdodERpYWxvZyAjbXhfU3BvdGxpZ2h0RGlhbG9nX2NvbnRlbnQgLm14X1Nwb3RsaWdodERpYWxvZ19oaWRkZW5SZXN1bHRzIC5teF9TcG90bGlnaHREaWFsb2dfb3B0aW9uLm14X1Nwb3RsaWdodERpYWxvZ19yZXN1bHRfbXVsdGlsaW5lIC5teF9BY2Nlc3NpYmxlQnV0dG9uIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDRweCAyMHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAycHggNHB4O1xuICAgICAgICAgICAgICAgICAgICB9XG5cbi5teF9TcG90bGlnaHREaWFsb2cgI214X1Nwb3RsaWdodERpYWxvZ19jb250ZW50IC5teF9TcG90bGlnaHREaWFsb2dfcmVzdWx0cyAubXhfU3BvdGxpZ2h0RGlhbG9nX29wdGlvbi5teF9TcG90bGlnaHREaWFsb2dfcmVzdWx0X211bHRpbGluZSAubXhfU3BvdGxpZ2h0RGlhbG9nX2VudGVyUHJvbXB0LCAubXhfU3BvdGxpZ2h0RGlhbG9nICNteF9TcG90bGlnaHREaWFsb2dfY29udGVudCAubXhfU3BvdGxpZ2h0RGlhbG9nX3JlY2VudFNlYXJjaGVzIC5teF9TcG90bGlnaHREaWFsb2dfb3B0aW9uLm14X1Nwb3RsaWdodERpYWxvZ19yZXN1bHRfbXVsdGlsaW5lIC5teF9TcG90bGlnaHREaWFsb2dfZW50ZXJQcm9tcHQsIC5teF9TcG90bGlnaHREaWFsb2cgI214X1Nwb3RsaWdodERpYWxvZ19jb250ZW50IC5teF9TcG90bGlnaHREaWFsb2dfb3RoZXJTZWFyY2hlcyAubXhfU3BvdGxpZ2h0RGlhbG9nX29wdGlvbi5teF9TcG90bGlnaHREaWFsb2dfcmVzdWx0X211bHRpbGluZSAubXhfU3BvdGxpZ2h0RGlhbG9nX2VudGVyUHJvbXB0LCAubXhfU3BvdGxpZ2h0RGlhbG9nICNteF9TcG90bGlnaHREaWFsb2dfY29udGVudCAubXhfU3BvdGxpZ2h0RGlhbG9nX2hpZGRlblJlc3VsdHMgLm14X1Nwb3RsaWdodERpYWxvZ19vcHRpb24ubXhfU3BvdGxpZ2h0RGlhbG9nX3Jlc3VsdF9tdWx0aWxpbmUgLm14X1Nwb3RsaWdodERpYWxvZ19lbnRlclByb21wdCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiA5cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDhweDtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4ubXhfU3BvdGxpZ2h0RGlhbG9nICNteF9TcG90bGlnaHREaWFsb2dfY29udGVudCAubXhfU3BvdGxpZ2h0RGlhbG9nX3Jlc3VsdHMgLm14X1Nwb3RsaWdodERpYWxvZ19vcHRpb24gPiAubXhfU3BvdGxpZ2h0RGlhbG9nX21ldGFzcGFjZVJlc3VsdCxcbiAgICAgICAgICAgICAgICAubXhfU3BvdGxpZ2h0RGlhbG9nICNteF9TcG90bGlnaHREaWFsb2dfY29udGVudCAubXhfU3BvdGxpZ2h0RGlhbG9nX3Jlc3VsdHMgLm14X1Nwb3RsaWdodERpYWxvZ19vcHRpb24gPiAubXhfRGVjb3JhdGVkUm9vbUF2YXRhcixcbiAgICAgICAgICAgICAgICAubXhfU3BvdGxpZ2h0RGlhbG9nICNteF9TcG90bGlnaHREaWFsb2dfY29udGVudCAubXhfU3BvdGxpZ2h0RGlhbG9nX3Jlc3VsdHMgLm14X1Nwb3RsaWdodERpYWxvZ19vcHRpb24gPiAubXhfQmFzZUF2YXRhcixcbiAgICAgICAgICAgICAgICAubXhfU3BvdGxpZ2h0RGlhbG9nICNteF9TcG90bGlnaHREaWFsb2dfY29udGVudCAubXhfU3BvdGxpZ2h0RGlhbG9nX3JlY2VudFNlYXJjaGVzIC5teF9TcG90bGlnaHREaWFsb2dfb3B0aW9uID4gLm14X1Nwb3RsaWdodERpYWxvZ19tZXRhc3BhY2VSZXN1bHQsXG4gICAgICAgICAgICAgICAgLm14X1Nwb3RsaWdodERpYWxvZyAjbXhfU3BvdGxpZ2h0RGlhbG9nX2NvbnRlbnQgLm14X1Nwb3RsaWdodERpYWxvZ19yZWNlbnRTZWFyY2hlcyAubXhfU3BvdGxpZ2h0RGlhbG9nX29wdGlvbiA+IC5teF9EZWNvcmF0ZWRSb29tQXZhdGFyLFxuICAgICAgICAgICAgICAgIC5teF9TcG90bGlnaHREaWFsb2cgI214X1Nwb3RsaWdodERpYWxvZ19jb250ZW50IC5teF9TcG90bGlnaHREaWFsb2dfcmVjZW50U2VhcmNoZXMgLm14X1Nwb3RsaWdodERpYWxvZ19vcHRpb24gPiAubXhfQmFzZUF2YXRhcixcbiAgICAgICAgICAgICAgICAubXhfU3BvdGxpZ2h0RGlhbG9nICNteF9TcG90bGlnaHREaWFsb2dfY29udGVudCAubXhfU3BvdGxpZ2h0RGlhbG9nX290aGVyU2VhcmNoZXMgLm14X1Nwb3RsaWdodERpYWxvZ19vcHRpb24gPiAubXhfU3BvdGxpZ2h0RGlhbG9nX21ldGFzcGFjZVJlc3VsdCxcbiAgICAgICAgICAgICAgICAubXhfU3BvdGxpZ2h0RGlhbG9nICNteF9TcG90bGlnaHREaWFsb2dfY29udGVudCAubXhfU3BvdGxpZ2h0RGlhbG9nX290aGVyU2VhcmNoZXMgLm14X1Nwb3RsaWdodERpYWxvZ19vcHRpb24gPiAubXhfRGVjb3JhdGVkUm9vbUF2YXRhcixcbiAgICAgICAgICAgICAgICAubXhfU3BvdGxpZ2h0RGlhbG9nICNteF9TcG90bGlnaHREaWFsb2dfY29udGVudCAubXhfU3BvdGxpZ2h0RGlhbG9nX290aGVyU2VhcmNoZXMgLm14X1Nwb3RsaWdodERpYWxvZ19vcHRpb24gPiAubXhfQmFzZUF2YXRhcixcbiAgICAgICAgICAgICAgICAubXhfU3BvdGxpZ2h0RGlhbG9nICNteF9TcG90bGlnaHREaWFsb2dfY29udGVudCAubXhfU3BvdGxpZ2h0RGlhbG9nX2hpZGRlblJlc3VsdHMgLm14X1Nwb3RsaWdodERpYWxvZ19vcHRpb24gPiAubXhfU3BvdGxpZ2h0RGlhbG9nX21ldGFzcGFjZVJlc3VsdCxcbiAgICAgICAgICAgICAgICAubXhfU3BvdGxpZ2h0RGlhbG9nICNteF9TcG90bGlnaHREaWFsb2dfY29udGVudCAubXhfU3BvdGxpZ2h0RGlhbG9nX2hpZGRlblJlc3VsdHMgLm14X1Nwb3RsaWdodERpYWxvZ19vcHRpb24gPiAubXhfRGVjb3JhdGVkUm9vbUF2YXRhcixcbiAgICAgICAgICAgICAgICAubXhfU3BvdGxpZ2h0RGlhbG9nICNteF9TcG90bGlnaHREaWFsb2dfY29udGVudCAubXhfU3BvdGxpZ2h0RGlhbG9nX2hpZGRlblJlc3VsdHMgLm14X1Nwb3RsaWdodERpYWxvZ19vcHRpb24gPiAubXhfQmFzZUF2YXRhciB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogOHB4O1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMjRweDtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAyNHB4O1xuICAgICAgICAgICAgICAgICAgICAtbXMtZmxleC1uZWdhdGl2ZTogMDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgICAgICAgICAgICAgIH1cblxuLm14X1Nwb3RsaWdodERpYWxvZyAjbXhfU3BvdGxpZ2h0RGlhbG9nX2NvbnRlbnQgLm14X1Nwb3RsaWdodERpYWxvZ19yZXN1bHRzIC5teF9TcG90bGlnaHREaWFsb2dfb3B0aW9uID4gLm14X1Nwb3RsaWdodERpYWxvZ19tZXRhc3BhY2VSZXN1bHQgLm14X0Jhc2VBdmF0YXIsIC5teF9TcG90bGlnaHREaWFsb2cgI214X1Nwb3RsaWdodERpYWxvZ19jb250ZW50IC5teF9TcG90bGlnaHREaWFsb2dfcmVzdWx0cyAubXhfU3BvdGxpZ2h0RGlhbG9nX29wdGlvbiA+IC5teF9EZWNvcmF0ZWRSb29tQXZhdGFyIC5teF9CYXNlQXZhdGFyLCAubXhfU3BvdGxpZ2h0RGlhbG9nICNteF9TcG90bGlnaHREaWFsb2dfY29udGVudCAubXhfU3BvdGxpZ2h0RGlhbG9nX3Jlc3VsdHMgLm14X1Nwb3RsaWdodERpYWxvZ19vcHRpb24gPiAubXhfQmFzZUF2YXRhciAubXhfQmFzZUF2YXRhciwgLm14X1Nwb3RsaWdodERpYWxvZyAjbXhfU3BvdGxpZ2h0RGlhbG9nX2NvbnRlbnQgLm14X1Nwb3RsaWdodERpYWxvZ19yZWNlbnRTZWFyY2hlcyAubXhfU3BvdGxpZ2h0RGlhbG9nX29wdGlvbiA+IC5teF9TcG90bGlnaHREaWFsb2dfbWV0YXNwYWNlUmVzdWx0IC5teF9CYXNlQXZhdGFyLCAubXhfU3BvdGxpZ2h0RGlhbG9nICNteF9TcG90bGlnaHREaWFsb2dfY29udGVudCAubXhfU3BvdGxpZ2h0RGlhbG9nX3JlY2VudFNlYXJjaGVzIC5teF9TcG90bGlnaHREaWFsb2dfb3B0aW9uID4gLm14X0RlY29yYXRlZFJvb21BdmF0YXIgLm14X0Jhc2VBdmF0YXIsIC5teF9TcG90bGlnaHREaWFsb2cgI214X1Nwb3RsaWdodERpYWxvZ19jb250ZW50IC5teF9TcG90bGlnaHREaWFsb2dfcmVjZW50U2VhcmNoZXMgLm14X1Nwb3RsaWdodERpYWxvZ19vcHRpb24gPiAubXhfQmFzZUF2YXRhciAubXhfQmFzZUF2YXRhciwgLm14X1Nwb3RsaWdodERpYWxvZyAjbXhfU3BvdGxpZ2h0RGlhbG9nX2NvbnRlbnQgLm14X1Nwb3RsaWdodERpYWxvZ19vdGhlclNlYXJjaGVzIC5teF9TcG90bGlnaHREaWFsb2dfb3B0aW9uID4gLm14X1Nwb3RsaWdodERpYWxvZ19tZXRhc3BhY2VSZXN1bHQgLm14X0Jhc2VBdmF0YXIsIC5teF9TcG90bGlnaHREaWFsb2cgI214X1Nwb3RsaWdodERpYWxvZ19jb250ZW50IC5teF9TcG90bGlnaHREaWFsb2dfb3RoZXJTZWFyY2hlcyAubXhfU3BvdGxpZ2h0RGlhbG9nX29wdGlvbiA+IC5teF9EZWNvcmF0ZWRSb29tQXZhdGFyIC5teF9CYXNlQXZhdGFyLCAubXhfU3BvdGxpZ2h0RGlhbG9nICNteF9TcG90bGlnaHREaWFsb2dfY29udGVudCAubXhfU3BvdGxpZ2h0RGlhbG9nX290aGVyU2VhcmNoZXMgLm14X1Nwb3RsaWdodERpYWxvZ19vcHRpb24gPiAubXhfQmFzZUF2YXRhciAubXhfQmFzZUF2YXRhciwgLm14X1Nwb3RsaWdodERpYWxvZyAjbXhfU3BvdGxpZ2h0RGlhbG9nX2NvbnRlbnQgLm14X1Nwb3RsaWdodERpYWxvZ19oaWRkZW5SZXN1bHRzIC5teF9TcG90bGlnaHREaWFsb2dfb3B0aW9uID4gLm14X1Nwb3RsaWdodERpYWxvZ19tZXRhc3BhY2VSZXN1bHQgLm14X0Jhc2VBdmF0YXIsIC5teF9TcG90bGlnaHREaWFsb2cgI214X1Nwb3RsaWdodERpYWxvZ19jb250ZW50IC5teF9TcG90bGlnaHREaWFsb2dfaGlkZGVuUmVzdWx0cyAubXhfU3BvdGxpZ2h0RGlhbG9nX29wdGlvbiA+IC5teF9EZWNvcmF0ZWRSb29tQXZhdGFyIC5teF9CYXNlQXZhdGFyLCAubXhfU3BvdGxpZ2h0RGlhbG9nICNteF9TcG90bGlnaHREaWFsb2dfY29udGVudCAubXhfU3BvdGxpZ2h0RGlhbG9nX2hpZGRlblJlc3VsdHMgLm14X1Nwb3RsaWdodERpYWxvZ19vcHRpb24gPiAubXhfQmFzZUF2YXRhciAubXhfQmFzZUF2YXRhciB7XG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogaW5oZXJpdDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogaW5oZXJpdDtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4ubXhfU3BvdGxpZ2h0RGlhbG9nICNteF9TcG90bGlnaHREaWFsb2dfY29udGVudCAubXhfU3BvdGxpZ2h0RGlhbG9nX3Jlc3VsdHMgLm14X1Nwb3RsaWdodERpYWxvZ19vcHRpb24gLm14X1Nwb3RsaWdodERpYWxvZ19yZXN1bHRfcHVibGljUm9vbURldGFpbHMsIC5teF9TcG90bGlnaHREaWFsb2cgI214X1Nwb3RsaWdodERpYWxvZ19jb250ZW50IC5teF9TcG90bGlnaHREaWFsb2dfcmVjZW50U2VhcmNoZXMgLm14X1Nwb3RsaWdodERpYWxvZ19vcHRpb24gLm14X1Nwb3RsaWdodERpYWxvZ19yZXN1bHRfcHVibGljUm9vbURldGFpbHMsIC5teF9TcG90bGlnaHREaWFsb2cgI214X1Nwb3RsaWdodERpYWxvZ19jb250ZW50IC5teF9TcG90bGlnaHREaWFsb2dfb3RoZXJTZWFyY2hlcyAubXhfU3BvdGxpZ2h0RGlhbG9nX29wdGlvbiAubXhfU3BvdGxpZ2h0RGlhbG9nX3Jlc3VsdF9wdWJsaWNSb29tRGV0YWlscywgLm14X1Nwb3RsaWdodERpYWxvZyAjbXhfU3BvdGxpZ2h0RGlhbG9nX2NvbnRlbnQgLm14X1Nwb3RsaWdodERpYWxvZ19oaWRkZW5SZXN1bHRzIC5teF9TcG90bGlnaHREaWFsb2dfb3B0aW9uIC5teF9TcG90bGlnaHREaWFsb2dfcmVzdWx0X3B1YmxpY1Jvb21EZXRhaWxzIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgICAgICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xuICAgICAgICAgICAgICAgICAgICAtd2Via2l0LWJveC1kaXJlY3Rpb246IG5vcm1hbDtcbiAgICAgICAgICAgICAgICAgICAgICAgIC1tcy1mbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICAgICAgICAgIC13ZWJraXQtYm94LWZsZXg6IDE7XG4gICAgICAgICAgICAgICAgICAgICAgICAtbXMtZmxleC1wb3NpdGl2ZTogMTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmbGV4LWdyb3c6IDE7XG4gICAgICAgICAgICAgICAgICAgIG1pbi13aWR0aDogMDtcbiAgICAgICAgICAgICAgICB9XG5cbi5teF9TcG90bGlnaHREaWFsb2cgI214X1Nwb3RsaWdodERpYWxvZ19jb250ZW50IC5teF9TcG90bGlnaHREaWFsb2dfcmVzdWx0cyAubXhfU3BvdGxpZ2h0RGlhbG9nX29wdGlvbiAubXhfU3BvdGxpZ2h0RGlhbG9nX3Jlc3VsdF9wdWJsaWNSb29tRGV0YWlscyAubXhfU3BvdGxpZ2h0RGlhbG9nX3Jlc3VsdF9wdWJsaWNSb29tSGVhZGVyLCAubXhfU3BvdGxpZ2h0RGlhbG9nICNteF9TcG90bGlnaHREaWFsb2dfY29udGVudCAubXhfU3BvdGxpZ2h0RGlhbG9nX3JlY2VudFNlYXJjaGVzIC5teF9TcG90bGlnaHREaWFsb2dfb3B0aW9uIC5teF9TcG90bGlnaHREaWFsb2dfcmVzdWx0X3B1YmxpY1Jvb21EZXRhaWxzIC5teF9TcG90bGlnaHREaWFsb2dfcmVzdWx0X3B1YmxpY1Jvb21IZWFkZXIsIC5teF9TcG90bGlnaHREaWFsb2cgI214X1Nwb3RsaWdodERpYWxvZ19jb250ZW50IC5teF9TcG90bGlnaHREaWFsb2dfb3RoZXJTZWFyY2hlcyAubXhfU3BvdGxpZ2h0RGlhbG9nX29wdGlvbiAubXhfU3BvdGxpZ2h0RGlhbG9nX3Jlc3VsdF9wdWJsaWNSb29tRGV0YWlscyAubXhfU3BvdGxpZ2h0RGlhbG9nX3Jlc3VsdF9wdWJsaWNSb29tSGVhZGVyLCAubXhfU3BvdGxpZ2h0RGlhbG9nICNteF9TcG90bGlnaHREaWFsb2dfY29udGVudCAubXhfU3BvdGxpZ2h0RGlhbG9nX2hpZGRlblJlc3VsdHMgLm14X1Nwb3RsaWdodERpYWxvZ19vcHRpb24gLm14X1Nwb3RsaWdodERpYWxvZ19yZXN1bHRfcHVibGljUm9vbURldGFpbHMgLm14X1Nwb3RsaWdodERpYWxvZ19yZXN1bHRfcHVibGljUm9vbUhlYWRlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICAgICAgICAgIC13ZWJraXQtYm94LW9yaWVudDogaG9yaXpvbnRhbDtcbiAgICAgICAgICAgICAgICAgICAgICAgIC13ZWJraXQtYm94LWRpcmVjdGlvbjogbm9ybWFsO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC1tcy1mbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuNXJlbTtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogOHB4O1xuICAgICAgICAgICAgICAgICAgICB9XG5cbi5teF9TcG90bGlnaHREaWFsb2cgI214X1Nwb3RsaWdodERpYWxvZ19jb250ZW50IC5teF9TcG90bGlnaHREaWFsb2dfcmVzdWx0cyAubXhfU3BvdGxpZ2h0RGlhbG9nX29wdGlvbiAubXhfU3BvdGxpZ2h0RGlhbG9nX3Jlc3VsdF9wdWJsaWNSb29tRGV0YWlscyAubXhfU3BvdGxpZ2h0RGlhbG9nX3Jlc3VsdF9wdWJsaWNSb29tSGVhZGVyIC5teF9TcG90bGlnaHREaWFsb2dfcmVzdWx0X3B1YmxpY1Jvb21OYW1lLCAubXhfU3BvdGxpZ2h0RGlhbG9nICNteF9TcG90bGlnaHREaWFsb2dfY29udGVudCAubXhfU3BvdGxpZ2h0RGlhbG9nX3JlY2VudFNlYXJjaGVzIC5teF9TcG90bGlnaHREaWFsb2dfb3B0aW9uIC5teF9TcG90bGlnaHREaWFsb2dfcmVzdWx0X3B1YmxpY1Jvb21EZXRhaWxzIC5teF9TcG90bGlnaHREaWFsb2dfcmVzdWx0X3B1YmxpY1Jvb21IZWFkZXIgLm14X1Nwb3RsaWdodERpYWxvZ19yZXN1bHRfcHVibGljUm9vbU5hbWUsIC5teF9TcG90bGlnaHREaWFsb2cgI214X1Nwb3RsaWdodERpYWxvZ19jb250ZW50IC5teF9TcG90bGlnaHREaWFsb2dfb3RoZXJTZWFyY2hlcyAubXhfU3BvdGxpZ2h0RGlhbG9nX29wdGlvbiAubXhfU3BvdGxpZ2h0RGlhbG9nX3Jlc3VsdF9wdWJsaWNSb29tRGV0YWlscyAubXhfU3BvdGxpZ2h0RGlhbG9nX3Jlc3VsdF9wdWJsaWNSb29tSGVhZGVyIC5teF9TcG90bGlnaHREaWFsb2dfcmVzdWx0X3B1YmxpY1Jvb21OYW1lLCAubXhfU3BvdGxpZ2h0RGlhbG9nICNteF9TcG90bGlnaHREaWFsb2dfY29udGVudCAubXhfU3BvdGxpZ2h0RGlhbG9nX2hpZGRlblJlc3VsdHMgLm14X1Nwb3RsaWdodERpYWxvZ19vcHRpb24gLm14X1Nwb3RsaWdodERpYWxvZ19yZXN1bHRfcHVibGljUm9vbURldGFpbHMgLm14X1Nwb3RsaWdodERpYWxvZ19yZXN1bHRfcHVibGljUm9vbUhlYWRlciAubXhfU3BvdGxpZ2h0RGlhbG9nX3Jlc3VsdF9wdWJsaWNSb29tTmFtZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IHZhcigtLXRpbWVsaW5lLXRleHQtY29sb3IpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG5cbi5teF9TcG90bGlnaHREaWFsb2cgI214X1Nwb3RsaWdodERpYWxvZ19jb250ZW50IC5teF9TcG90bGlnaHREaWFsb2dfcmVzdWx0cyAubXhfU3BvdGxpZ2h0RGlhbG9nX29wdGlvbiAubXhfU3BvdGxpZ2h0RGlhbG9nX3Jlc3VsdF9wdWJsaWNSb29tRGV0YWlscyAubXhfU3BvdGxpZ2h0RGlhbG9nX3Jlc3VsdF9wdWJsaWNSb29tSGVhZGVyIC5teF9TcG90bGlnaHREaWFsb2dfcmVzdWx0X3B1YmxpY1Jvb21BbGlhcywgLm14X1Nwb3RsaWdodERpYWxvZyAjbXhfU3BvdGxpZ2h0RGlhbG9nX2NvbnRlbnQgLm14X1Nwb3RsaWdodERpYWxvZ19yZWNlbnRTZWFyY2hlcyAubXhfU3BvdGxpZ2h0RGlhbG9nX29wdGlvbiAubXhfU3BvdGxpZ2h0RGlhbG9nX3Jlc3VsdF9wdWJsaWNSb29tRGV0YWlscyAubXhfU3BvdGxpZ2h0RGlhbG9nX3Jlc3VsdF9wdWJsaWNSb29tSGVhZGVyIC5teF9TcG90bGlnaHREaWFsb2dfcmVzdWx0X3B1YmxpY1Jvb21BbGlhcywgLm14X1Nwb3RsaWdodERpYWxvZyAjbXhfU3BvdGxpZ2h0RGlhbG9nX2NvbnRlbnQgLm14X1Nwb3RsaWdodERpYWxvZ19vdGhlclNlYXJjaGVzIC5teF9TcG90bGlnaHREaWFsb2dfb3B0aW9uIC5teF9TcG90bGlnaHREaWFsb2dfcmVzdWx0X3B1YmxpY1Jvb21EZXRhaWxzIC5teF9TcG90bGlnaHREaWFsb2dfcmVzdWx0X3B1YmxpY1Jvb21IZWFkZXIgLm14X1Nwb3RsaWdodERpYWxvZ19yZXN1bHRfcHVibGljUm9vbUFsaWFzLCAubXhfU3BvdGxpZ2h0RGlhbG9nICNteF9TcG90bGlnaHREaWFsb2dfY29udGVudCAubXhfU3BvdGxpZ2h0RGlhbG9nX2hpZGRlblJlc3VsdHMgLm14X1Nwb3RsaWdodERpYWxvZ19vcHRpb24gLm14X1Nwb3RsaWdodERpYWxvZ19yZXN1bHRfcHVibGljUm9vbURldGFpbHMgLm14X1Nwb3RsaWdodERpYWxvZ19yZXN1bHRfcHVibGljUm9vbUhlYWRlciAubXhfU3BvdGxpZ2h0RGlhbG9nX3Jlc3VsdF9wdWJsaWNSb29tQWxpYXMge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAjZWRmM2ZmO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS10ZXJ0aWFyeS1jb250ZW50LCAjZWRmM2ZmKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDAuNzVyZW07XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDhweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4ubXhfU3BvdGxpZ2h0RGlhbG9nICNteF9TcG90bGlnaHREaWFsb2dfY29udGVudCAubXhfU3BvdGxpZ2h0RGlhbG9nX3Jlc3VsdHMgLm14X1Nwb3RsaWdodERpYWxvZ19vcHRpb24gLm14X1Nwb3RsaWdodERpYWxvZ19yZXN1bHRfcHVibGljUm9vbURldGFpbHMgLm14X1Nwb3RsaWdodERpYWxvZ19yZXN1bHRfcHVibGljUm9vbURlc2NyaXB0aW9uLCAubXhfU3BvdGxpZ2h0RGlhbG9nICNteF9TcG90bGlnaHREaWFsb2dfY29udGVudCAubXhfU3BvdGxpZ2h0RGlhbG9nX3JlY2VudFNlYXJjaGVzIC5teF9TcG90bGlnaHREaWFsb2dfb3B0aW9uIC5teF9TcG90bGlnaHREaWFsb2dfcmVzdWx0X3B1YmxpY1Jvb21EZXRhaWxzIC5teF9TcG90bGlnaHREaWFsb2dfcmVzdWx0X3B1YmxpY1Jvb21EZXNjcmlwdGlvbiwgLm14X1Nwb3RsaWdodERpYWxvZyAjbXhfU3BvdGxpZ2h0RGlhbG9nX2NvbnRlbnQgLm14X1Nwb3RsaWdodERpYWxvZ19vdGhlclNlYXJjaGVzIC5teF9TcG90bGlnaHREaWFsb2dfb3B0aW9uIC5teF9TcG90bGlnaHREaWFsb2dfcmVzdWx0X3B1YmxpY1Jvb21EZXRhaWxzIC5teF9TcG90bGlnaHREaWFsb2dfcmVzdWx0X3B1YmxpY1Jvb21EZXNjcmlwdGlvbiwgLm14X1Nwb3RsaWdodERpYWxvZyAjbXhfU3BvdGxpZ2h0RGlhbG9nX2NvbnRlbnQgLm14X1Nwb3RsaWdodERpYWxvZ19oaWRkZW5SZXN1bHRzIC5teF9TcG90bGlnaHREaWFsb2dfb3B0aW9uIC5teF9TcG90bGlnaHREaWFsb2dfcmVzdWx0X3B1YmxpY1Jvb21EZXRhaWxzIC5teF9TcG90bGlnaHREaWFsb2dfcmVzdWx0X3B1YmxpY1Jvb21EZXNjcmlwdGlvbiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogI2VkZjNmZjtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1zZWNvbmRhcnktY29udGVudCwgI2VkZjNmZik7XG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDAuNzVyZW07XG4gICAgICAgICAgICAgICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICAgICAgICAgICAgICAgICAgICAgICAgd29yZC13cmFwOiBicmVhay13b3JkO1xuICAgICAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjVyZW07XG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgICAgICAgICAgICAgICAgICAgICAgIC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWw7XG4gICAgICAgICAgICAgICAgICAgICAgICAtd2Via2l0LWxpbmUtY2xhbXA6IDM7XG4gICAgICAgICAgICAgICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbi5teF9TcG90bGlnaHREaWFsb2cgI214X1Nwb3RsaWdodERpYWxvZ19jb250ZW50IC5teF9TcG90bGlnaHREaWFsb2dfcmVzdWx0cyAubXhfU3BvdGxpZ2h0RGlhbG9nX29wdGlvbiAubXhfTm90aWZpY2F0aW9uQmFkZ2UsIC5teF9TcG90bGlnaHREaWFsb2cgI214X1Nwb3RsaWdodERpYWxvZ19jb250ZW50IC5teF9TcG90bGlnaHREaWFsb2dfcmVjZW50U2VhcmNoZXMgLm14X1Nwb3RsaWdodERpYWxvZ19vcHRpb24gLm14X05vdGlmaWNhdGlvbkJhZGdlLCAubXhfU3BvdGxpZ2h0RGlhbG9nICNteF9TcG90bGlnaHREaWFsb2dfY29udGVudCAubXhfU3BvdGxpZ2h0RGlhbG9nX290aGVyU2VhcmNoZXMgLm14X1Nwb3RsaWdodERpYWxvZ19vcHRpb24gLm14X05vdGlmaWNhdGlvbkJhZGdlLCAubXhfU3BvdGxpZ2h0RGlhbG9nICNteF9TcG90bGlnaHREaWFsb2dfY29udGVudCAubXhfU3BvdGxpZ2h0RGlhbG9nX2hpZGRlblJlc3VsdHMgLm14X1Nwb3RsaWdodERpYWxvZ19vcHRpb24gLm14X05vdGlmaWNhdGlvbkJhZGdlIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDhweDtcbiAgICAgICAgICAgICAgICB9XG5cbi5teF9TcG90bGlnaHREaWFsb2cgI214X1Nwb3RsaWdodERpYWxvZ19jb250ZW50IC5teF9TcG90bGlnaHREaWFsb2dfcmVzdWx0cyAubXhfU3BvdGxpZ2h0RGlhbG9nX29wdGlvbiAubXhfU3BvdGxpZ2h0RGlhbG9nX29wdGlvbi0tbWVudSxcbiAgICAgICAgICAgICAgICAubXhfU3BvdGxpZ2h0RGlhbG9nICNteF9TcG90bGlnaHREaWFsb2dfY29udGVudCAubXhfU3BvdGxpZ2h0RGlhbG9nX3Jlc3VsdHMgLm14X1Nwb3RsaWdodERpYWxvZ19vcHRpb24gLm14X1Nwb3RsaWdodERpYWxvZ19vcHRpb24tLW5vdGlmaWNhdGlvbnMsXG4gICAgICAgICAgICAgICAgLm14X1Nwb3RsaWdodERpYWxvZyAjbXhfU3BvdGxpZ2h0RGlhbG9nX2NvbnRlbnQgLm14X1Nwb3RsaWdodERpYWxvZ19yZWNlbnRTZWFyY2hlcyAubXhfU3BvdGxpZ2h0RGlhbG9nX29wdGlvbiAubXhfU3BvdGxpZ2h0RGlhbG9nX29wdGlvbi0tbWVudSxcbiAgICAgICAgICAgICAgICAubXhfU3BvdGxpZ2h0RGlhbG9nICNteF9TcG90bGlnaHREaWFsb2dfY29udGVudCAubXhfU3BvdGxpZ2h0RGlhbG9nX3JlY2VudFNlYXJjaGVzIC5teF9TcG90bGlnaHREaWFsb2dfb3B0aW9uIC5teF9TcG90bGlnaHREaWFsb2dfb3B0aW9uLS1ub3RpZmljYXRpb25zLFxuICAgICAgICAgICAgICAgIC5teF9TcG90bGlnaHREaWFsb2cgI214X1Nwb3RsaWdodERpYWxvZ19jb250ZW50IC5teF9TcG90bGlnaHREaWFsb2dfb3RoZXJTZWFyY2hlcyAubXhfU3BvdGxpZ2h0RGlhbG9nX29wdGlvbiAubXhfU3BvdGxpZ2h0RGlhbG9nX29wdGlvbi0tbWVudSxcbiAgICAgICAgICAgICAgICAubXhfU3BvdGxpZ2h0RGlhbG9nICNteF9TcG90bGlnaHREaWFsb2dfY29udGVudCAubXhfU3BvdGxpZ2h0RGlhbG9nX290aGVyU2VhcmNoZXMgLm14X1Nwb3RsaWdodERpYWxvZ19vcHRpb24gLm14X1Nwb3RsaWdodERpYWxvZ19vcHRpb24tLW5vdGlmaWNhdGlvbnMsXG4gICAgICAgICAgICAgICAgLm14X1Nwb3RsaWdodERpYWxvZyAjbXhfU3BvdGxpZ2h0RGlhbG9nX2NvbnRlbnQgLm14X1Nwb3RsaWdodERpYWxvZ19oaWRkZW5SZXN1bHRzIC5teF9TcG90bGlnaHREaWFsb2dfb3B0aW9uIC5teF9TcG90bGlnaHREaWFsb2dfb3B0aW9uLS1tZW51LFxuICAgICAgICAgICAgICAgIC5teF9TcG90bGlnaHREaWFsb2cgI214X1Nwb3RsaWdodERpYWxvZ19jb250ZW50IC5teF9TcG90bGlnaHREaWFsb2dfaGlkZGVuUmVzdWx0cyAubXhfU3BvdGxpZ2h0RGlhbG9nX29wdGlvbiAubXhfU3BvdGxpZ2h0RGlhbG9nX29wdGlvbi0tbm90aWZpY2F0aW9ucyB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgICAgICAgICAgICAgICBtaW4td2lkdGg6IDIwcHg7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogMjBweDtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogYXV0bztcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogYXV0bztcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgIH1cblxuLm14X1Nwb3RsaWdodERpYWxvZyAjbXhfU3BvdGxpZ2h0RGlhbG9nX2NvbnRlbnQgLm14X1Nwb3RsaWdodERpYWxvZ19yZXN1bHRzIC5teF9TcG90bGlnaHREaWFsb2dfb3B0aW9uIC5teF9TcG90bGlnaHREaWFsb2dfb3B0aW9uLS1tZW51OjpiZWZvcmUsIC5teF9TcG90bGlnaHREaWFsb2cgI214X1Nwb3RsaWdodERpYWxvZ19jb250ZW50IC5teF9TcG90bGlnaHREaWFsb2dfcmVzdWx0cyAubXhfU3BvdGxpZ2h0RGlhbG9nX29wdGlvbiAubXhfU3BvdGxpZ2h0RGlhbG9nX29wdGlvbi0tbm90aWZpY2F0aW9uczo6YmVmb3JlLCAubXhfU3BvdGxpZ2h0RGlhbG9nICNteF9TcG90bGlnaHREaWFsb2dfY29udGVudCAubXhfU3BvdGxpZ2h0RGlhbG9nX3JlY2VudFNlYXJjaGVzIC5teF9TcG90bGlnaHREaWFsb2dfb3B0aW9uIC5teF9TcG90bGlnaHREaWFsb2dfb3B0aW9uLS1tZW51OjpiZWZvcmUsIC5teF9TcG90bGlnaHREaWFsb2cgI214X1Nwb3RsaWdodERpYWxvZ19jb250ZW50IC5teF9TcG90bGlnaHREaWFsb2dfcmVjZW50U2VhcmNoZXMgLm14X1Nwb3RsaWdodERpYWxvZ19vcHRpb24gLm14X1Nwb3RsaWdodERpYWxvZ19vcHRpb24tLW5vdGlmaWNhdGlvbnM6OmJlZm9yZSwgLm14X1Nwb3RsaWdodERpYWxvZyAjbXhfU3BvdGxpZ2h0RGlhbG9nX2NvbnRlbnQgLm14X1Nwb3RsaWdodERpYWxvZ19vdGhlclNlYXJjaGVzIC5teF9TcG90bGlnaHREaWFsb2dfb3B0aW9uIC5teF9TcG90bGlnaHREaWFsb2dfb3B0aW9uLS1tZW51OjpiZWZvcmUsIC5teF9TcG90bGlnaHREaWFsb2cgI214X1Nwb3RsaWdodERpYWxvZ19jb250ZW50IC5teF9TcG90bGlnaHREaWFsb2dfb3RoZXJTZWFyY2hlcyAubXhfU3BvdGxpZ2h0RGlhbG9nX29wdGlvbiAubXhfU3BvdGxpZ2h0RGlhbG9nX29wdGlvbi0tbm90aWZpY2F0aW9uczo6YmVmb3JlLCAubXhfU3BvdGxpZ2h0RGlhbG9nICNteF9TcG90bGlnaHREaWFsb2dfY29udGVudCAubXhfU3BvdGxpZ2h0RGlhbG9nX2hpZGRlblJlc3VsdHMgLm14X1Nwb3RsaWdodERpYWxvZ19vcHRpb24gLm14X1Nwb3RsaWdodERpYWxvZ19vcHRpb24tLW1lbnU6OmJlZm9yZSwgLm14X1Nwb3RsaWdodERpYWxvZyAjbXhfU3BvdGxpZ2h0RGlhbG9nX2NvbnRlbnQgLm14X1Nwb3RsaWdodERpYWxvZ19oaWRkZW5SZXN1bHRzIC5teF9TcG90bGlnaHREaWFsb2dfb3B0aW9uIC5teF9TcG90bGlnaHREaWFsb2dfb3B0aW9uLS1ub3RpZmljYXRpb25zOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICAgICAgdG9wOiAycHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBsZWZ0OiAycHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDE2cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDE2cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgICAgICAtd2Via2l0LW1hc2stcG9zaXRpb246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFzay1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICAgICAgLXdlYmtpdC1tYXNrLXNpemU6IGNvbnRhaW47XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hc2stc2l6ZTogY29udGFpbjtcbiAgICAgICAgICAgICAgICAgICAgICAgIC13ZWJraXQtbWFzay1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFzay1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICNlZGYzZmY7XG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS10ZXJ0aWFyeS1jb250ZW50LCAjZWRmM2ZmKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4ubXhfU3BvdGxpZ2h0RGlhbG9nICNteF9TcG90bGlnaHREaWFsb2dfY29udGVudCAubXhfU3BvdGxpZ2h0RGlhbG9nX3Jlc3VsdHMgLm14X1Nwb3RsaWdodERpYWxvZ19vcHRpb24gLm14X1Nwb3RsaWdodERpYWxvZ19vcHRpb24tLW1lbnU6aG92ZXI6OmJlZm9yZSxcbiAgICAgICAgICAgICAgICAgICAgLm14X1Nwb3RsaWdodERpYWxvZyAjbXhfU3BvdGxpZ2h0RGlhbG9nX2NvbnRlbnQgLm14X1Nwb3RsaWdodERpYWxvZ19yZXN1bHRzIC5teF9TcG90bGlnaHREaWFsb2dfb3B0aW9uIC5teF9TcG90bGlnaHREaWFsb2dfb3B0aW9uLS1tZW51W2FyaWEtc2VsZWN0ZWQ9XCJ0cnVlXCJdOjpiZWZvcmUsXG4gICAgICAgICAgICAgICAgICAgIC5teF9TcG90bGlnaHREaWFsb2cgI214X1Nwb3RsaWdodERpYWxvZ19jb250ZW50IC5teF9TcG90bGlnaHREaWFsb2dfcmVzdWx0cyAubXhfU3BvdGxpZ2h0RGlhbG9nX29wdGlvbiAubXhfU3BvdGxpZ2h0RGlhbG9nX29wdGlvbi0tbm90aWZpY2F0aW9uczpob3Zlcjo6YmVmb3JlLFxuICAgICAgICAgICAgICAgICAgICAubXhfU3BvdGxpZ2h0RGlhbG9nICNteF9TcG90bGlnaHREaWFsb2dfY29udGVudCAubXhfU3BvdGxpZ2h0RGlhbG9nX3Jlc3VsdHMgLm14X1Nwb3RsaWdodERpYWxvZ19vcHRpb24gLm14X1Nwb3RsaWdodERpYWxvZ19vcHRpb24tLW5vdGlmaWNhdGlvbnNbYXJpYS1zZWxlY3RlZD1cInRydWVcIl06OmJlZm9yZSxcbiAgICAgICAgICAgICAgICAgICAgLm14X1Nwb3RsaWdodERpYWxvZyAjbXhfU3BvdGxpZ2h0RGlhbG9nX2NvbnRlbnQgLm14X1Nwb3RsaWdodERpYWxvZ19yZWNlbnRTZWFyY2hlcyAubXhfU3BvdGxpZ2h0RGlhbG9nX29wdGlvbiAubXhfU3BvdGxpZ2h0RGlhbG9nX29wdGlvbi0tbWVudTpob3Zlcjo6YmVmb3JlLFxuICAgICAgICAgICAgICAgICAgICAubXhfU3BvdGxpZ2h0RGlhbG9nICNteF9TcG90bGlnaHREaWFsb2dfY29udGVudCAubXhfU3BvdGxpZ2h0RGlhbG9nX3JlY2VudFNlYXJjaGVzIC5teF9TcG90bGlnaHREaWFsb2dfb3B0aW9uIC5teF9TcG90bGlnaHREaWFsb2dfb3B0aW9uLS1tZW51W2FyaWEtc2VsZWN0ZWQ9XCJ0cnVlXCJdOjpiZWZvcmUsXG4gICAgICAgICAgICAgICAgICAgIC5teF9TcG90bGlnaHREaWFsb2cgI214X1Nwb3RsaWdodERpYWxvZ19jb250ZW50IC5teF9TcG90bGlnaHREaWFsb2dfcmVjZW50U2VhcmNoZXMgLm14X1Nwb3RsaWdodERpYWxvZ19vcHRpb24gLm14X1Nwb3RsaWdodERpYWxvZ19vcHRpb24tLW5vdGlmaWNhdGlvbnM6aG92ZXI6OmJlZm9yZSxcbiAgICAgICAgICAgICAgICAgICAgLm14X1Nwb3RsaWdodERpYWxvZyAjbXhfU3BvdGxpZ2h0RGlhbG9nX2NvbnRlbnQgLm14X1Nwb3RsaWdodERpYWxvZ19yZWNlbnRTZWFyY2hlcyAubXhfU3BvdGxpZ2h0RGlhbG9nX29wdGlvbiAubXhfU3BvdGxpZ2h0RGlhbG9nX29wdGlvbi0tbm90aWZpY2F0aW9uc1thcmlhLXNlbGVjdGVkPVwidHJ1ZVwiXTo6YmVmb3JlLFxuICAgICAgICAgICAgICAgICAgICAubXhfU3BvdGxpZ2h0RGlhbG9nICNteF9TcG90bGlnaHREaWFsb2dfY29udGVudCAubXhfU3BvdGxpZ2h0RGlhbG9nX290aGVyU2VhcmNoZXMgLm14X1Nwb3RsaWdodERpYWxvZ19vcHRpb24gLm14X1Nwb3RsaWdodERpYWxvZ19vcHRpb24tLW1lbnU6aG92ZXI6OmJlZm9yZSxcbiAgICAgICAgICAgICAgICAgICAgLm14X1Nwb3RsaWdodERpYWxvZyAjbXhfU3BvdGxpZ2h0RGlhbG9nX2NvbnRlbnQgLm14X1Nwb3RsaWdodERpYWxvZ19vdGhlclNlYXJjaGVzIC5teF9TcG90bGlnaHREaWFsb2dfb3B0aW9uIC5teF9TcG90bGlnaHREaWFsb2dfb3B0aW9uLS1tZW51W2FyaWEtc2VsZWN0ZWQ9XCJ0cnVlXCJdOjpiZWZvcmUsXG4gICAgICAgICAgICAgICAgICAgIC5teF9TcG90bGlnaHREaWFsb2cgI214X1Nwb3RsaWdodERpYWxvZ19jb250ZW50IC5teF9TcG90bGlnaHREaWFsb2dfb3RoZXJTZWFyY2hlcyAubXhfU3BvdGxpZ2h0RGlhbG9nX29wdGlvbiAubXhfU3BvdGxpZ2h0RGlhbG9nX29wdGlvbi0tbm90aWZpY2F0aW9uczpob3Zlcjo6YmVmb3JlLFxuICAgICAgICAgICAgICAgICAgICAubXhfU3BvdGxpZ2h0RGlhbG9nICNteF9TcG90bGlnaHREaWFsb2dfY29udGVudCAubXhfU3BvdGxpZ2h0RGlhbG9nX290aGVyU2VhcmNoZXMgLm14X1Nwb3RsaWdodERpYWxvZ19vcHRpb24gLm14X1Nwb3RsaWdodERpYWxvZ19vcHRpb24tLW5vdGlmaWNhdGlvbnNbYXJpYS1zZWxlY3RlZD1cInRydWVcIl06OmJlZm9yZSxcbiAgICAgICAgICAgICAgICAgICAgLm14X1Nwb3RsaWdodERpYWxvZyAjbXhfU3BvdGxpZ2h0RGlhbG9nX2NvbnRlbnQgLm14X1Nwb3RsaWdodERpYWxvZ19oaWRkZW5SZXN1bHRzIC5teF9TcG90bGlnaHREaWFsb2dfb3B0aW9uIC5teF9TcG90bGlnaHREaWFsb2dfb3B0aW9uLS1tZW51OmhvdmVyOjpiZWZvcmUsXG4gICAgICAgICAgICAgICAgICAgIC5teF9TcG90bGlnaHREaWFsb2cgI214X1Nwb3RsaWdodERpYWxvZ19jb250ZW50IC5teF9TcG90bGlnaHREaWFsb2dfaGlkZGVuUmVzdWx0cyAubXhfU3BvdGxpZ2h0RGlhbG9nX29wdGlvbiAubXhfU3BvdGxpZ2h0RGlhbG9nX29wdGlvbi0tbWVudVthcmlhLXNlbGVjdGVkPVwidHJ1ZVwiXTo6YmVmb3JlLFxuICAgICAgICAgICAgICAgICAgICAubXhfU3BvdGxpZ2h0RGlhbG9nICNteF9TcG90bGlnaHREaWFsb2dfY29udGVudCAubXhfU3BvdGxpZ2h0RGlhbG9nX2hpZGRlblJlc3VsdHMgLm14X1Nwb3RsaWdodERpYWxvZ19vcHRpb24gLm14X1Nwb3RsaWdodERpYWxvZ19vcHRpb24tLW5vdGlmaWNhdGlvbnM6aG92ZXI6OmJlZm9yZSxcbiAgICAgICAgICAgICAgICAgICAgLm14X1Nwb3RsaWdodERpYWxvZyAjbXhfU3BvdGxpZ2h0RGlhbG9nX2NvbnRlbnQgLm14X1Nwb3RsaWdodERpYWxvZ19oaWRkZW5SZXN1bHRzIC5teF9TcG90bGlnaHREaWFsb2dfb3B0aW9uIC5teF9TcG90bGlnaHREaWFsb2dfb3B0aW9uLS1ub3RpZmljYXRpb25zW2FyaWEtc2VsZWN0ZWQ9XCJ0cnVlXCJdOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2VkZjNmZjtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXNlY29uZGFyeS1jb250ZW50LCAjZWRmM2ZmKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4ubXhfU3BvdGxpZ2h0RGlhbG9nICNteF9TcG90bGlnaHREaWFsb2dfY29udGVudCAubXhfU3BvdGxpZ2h0RGlhbG9nX3Jlc3VsdHMgLm14X1Nwb3RsaWdodERpYWxvZ19vcHRpb24gLm14X1Nwb3RsaWdodERpYWxvZ19vcHRpb24tLW1lbnU6OmJlZm9yZSwgLm14X1Nwb3RsaWdodERpYWxvZyAjbXhfU3BvdGxpZ2h0RGlhbG9nX2NvbnRlbnQgLm14X1Nwb3RsaWdodERpYWxvZ19yZWNlbnRTZWFyY2hlcyAubXhfU3BvdGxpZ2h0RGlhbG9nX29wdGlvbiAubXhfU3BvdGxpZ2h0RGlhbG9nX29wdGlvbi0tbWVudTo6YmVmb3JlLCAubXhfU3BvdGxpZ2h0RGlhbG9nICNteF9TcG90bGlnaHREaWFsb2dfY29udGVudCAubXhfU3BvdGxpZ2h0RGlhbG9nX290aGVyU2VhcmNoZXMgLm14X1Nwb3RsaWdodERpYWxvZ19vcHRpb24gLm14X1Nwb3RsaWdodERpYWxvZ19vcHRpb24tLW1lbnU6OmJlZm9yZSwgLm14X1Nwb3RsaWdodERpYWxvZyAjbXhfU3BvdGxpZ2h0RGlhbG9nX2NvbnRlbnQgLm14X1Nwb3RsaWdodERpYWxvZ19oaWRkZW5SZXN1bHRzIC5teF9TcG90bGlnaHREaWFsb2dfb3B0aW9uIC5teF9TcG90bGlnaHREaWFsb2dfb3B0aW9uLS1tZW51OjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICAtd2Via2l0LW1hc2staW1hZ2U6IHVybChcIkB2ZWN0b3ItaW0vY29tcG91bmQtZGVzaWduLXRva2Vucy9pY29ucy9vdmVyZmxvdy1ob3Jpem9udGFsLnN2Z1wiKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXNrLWltYWdlOiB1cmwoXCJAdmVjdG9yLWltL2NvbXBvdW5kLWRlc2lnbi10b2tlbnMvaWNvbnMvb3ZlcmZsb3ctaG9yaXpvbnRhbC5zdmdcIik7XG4gICAgICAgICAgICAgICAgfVxuXG4ubXhfU3BvdGxpZ2h0RGlhbG9nICNteF9TcG90bGlnaHREaWFsb2dfY29udGVudCAubXhfU3BvdGxpZ2h0RGlhbG9nX3Jlc3VsdHMgLm14X1Nwb3RsaWdodERpYWxvZ19vcHRpb246aG92ZXIsXG4gICAgICAgICAgICAgICAgLm14X1Nwb3RsaWdodERpYWxvZyAjbXhfU3BvdGxpZ2h0RGlhbG9nX2NvbnRlbnQgLm14X1Nwb3RsaWdodERpYWxvZ19yZXN1bHRzIC5teF9TcG90bGlnaHREaWFsb2dfb3B0aW9uW2FyaWEtc2VsZWN0ZWQ9XCJ0cnVlXCJdLFxuICAgICAgICAgICAgICAgIC5teF9TcG90bGlnaHREaWFsb2cgI214X1Nwb3RsaWdodERpYWxvZ19jb250ZW50IC5teF9TcG90bGlnaHREaWFsb2dfcmVjZW50U2VhcmNoZXMgLm14X1Nwb3RsaWdodERpYWxvZ19vcHRpb246aG92ZXIsXG4gICAgICAgICAgICAgICAgLm14X1Nwb3RsaWdodERpYWxvZyAjbXhfU3BvdGxpZ2h0RGlhbG9nX2NvbnRlbnQgLm14X1Nwb3RsaWdodERpYWxvZ19yZWNlbnRTZWFyY2hlcyAubXhfU3BvdGxpZ2h0RGlhbG9nX29wdGlvblthcmlhLXNlbGVjdGVkPVwidHJ1ZVwiXSxcbiAgICAgICAgICAgICAgICAubXhfU3BvdGxpZ2h0RGlhbG9nICNteF9TcG90bGlnaHREaWFsb2dfY29udGVudCAubXhfU3BvdGxpZ2h0RGlhbG9nX290aGVyU2VhcmNoZXMgLm14X1Nwb3RsaWdodERpYWxvZ19vcHRpb246aG92ZXIsXG4gICAgICAgICAgICAgICAgLm14X1Nwb3RsaWdodERpYWxvZyAjbXhfU3BvdGxpZ2h0RGlhbG9nX2NvbnRlbnQgLm14X1Nwb3RsaWdodERpYWxvZ19vdGhlclNlYXJjaGVzIC5teF9TcG90bGlnaHREaWFsb2dfb3B0aW9uW2FyaWEtc2VsZWN0ZWQ9XCJ0cnVlXCJdLFxuICAgICAgICAgICAgICAgIC5teF9TcG90bGlnaHREaWFsb2cgI214X1Nwb3RsaWdodERpYWxvZ19jb250ZW50IC5teF9TcG90bGlnaHREaWFsb2dfaGlkZGVuUmVzdWx0cyAubXhfU3BvdGxpZ2h0RGlhbG9nX29wdGlvbjpob3ZlcixcbiAgICAgICAgICAgICAgICAubXhfU3BvdGxpZ2h0RGlhbG9nICNteF9TcG90bGlnaHREaWFsb2dfY29udGVudCAubXhfU3BvdGxpZ2h0RGlhbG9nX2hpZGRlblJlc3VsdHMgLm14X1Nwb3RsaWdodERpYWxvZ19vcHRpb25bYXJpYS1zZWxlY3RlZD1cInRydWVcIl0ge1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjEyNjJjO1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1zeXN0ZW0sICMyMTI2MmMpO1xuICAgICAgICAgICAgICAgIH1cblxuLm14X1Nwb3RsaWdodERpYWxvZyAjbXhfU3BvdGxpZ2h0RGlhbG9nX2NvbnRlbnQgLm14X1Nwb3RsaWdodERpYWxvZ19yZXN1bHRzIC5teF9TcG90bGlnaHREaWFsb2dfb3B0aW9uOmhvdmVyIC5teF9TcG90bGlnaHREaWFsb2dfb3B0aW9uLS1tZW51LFxuICAgICAgICAgICAgICAgICAgICAubXhfU3BvdGxpZ2h0RGlhbG9nICNteF9TcG90bGlnaHREaWFsb2dfY29udGVudCAubXhfU3BvdGxpZ2h0RGlhbG9nX3Jlc3VsdHMgLm14X1Nwb3RsaWdodERpYWxvZ19vcHRpb246aG92ZXIgLm14X1Nwb3RsaWdodERpYWxvZ19vcHRpb24tLW5vdGlmaWNhdGlvbnMsXG4gICAgICAgICAgICAgICAgICAgIC5teF9TcG90bGlnaHREaWFsb2cgI214X1Nwb3RsaWdodERpYWxvZ19jb250ZW50IC5teF9TcG90bGlnaHREaWFsb2dfcmVzdWx0cyAubXhfU3BvdGxpZ2h0RGlhbG9nX29wdGlvblthcmlhLXNlbGVjdGVkPVwidHJ1ZVwiXSAubXhfU3BvdGxpZ2h0RGlhbG9nX29wdGlvbi0tbWVudSxcbiAgICAgICAgICAgICAgICAgICAgLm14X1Nwb3RsaWdodERpYWxvZyAjbXhfU3BvdGxpZ2h0RGlhbG9nX2NvbnRlbnQgLm14X1Nwb3RsaWdodERpYWxvZ19yZXN1bHRzIC5teF9TcG90bGlnaHREaWFsb2dfb3B0aW9uW2FyaWEtc2VsZWN0ZWQ9XCJ0cnVlXCJdIC5teF9TcG90bGlnaHREaWFsb2dfb3B0aW9uLS1ub3RpZmljYXRpb25zLFxuICAgICAgICAgICAgICAgICAgICAubXhfU3BvdGxpZ2h0RGlhbG9nICNteF9TcG90bGlnaHREaWFsb2dfY29udGVudCAubXhfU3BvdGxpZ2h0RGlhbG9nX3JlY2VudFNlYXJjaGVzIC5teF9TcG90bGlnaHREaWFsb2dfb3B0aW9uOmhvdmVyIC5teF9TcG90bGlnaHREaWFsb2dfb3B0aW9uLS1tZW51LFxuICAgICAgICAgICAgICAgICAgICAubXhfU3BvdGxpZ2h0RGlhbG9nICNteF9TcG90bGlnaHREaWFsb2dfY29udGVudCAubXhfU3BvdGxpZ2h0RGlhbG9nX3JlY2VudFNlYXJjaGVzIC5teF9TcG90bGlnaHREaWFsb2dfb3B0aW9uOmhvdmVyIC5teF9TcG90bGlnaHREaWFsb2dfb3B0aW9uLS1ub3RpZmljYXRpb25zLFxuICAgICAgICAgICAgICAgICAgICAubXhfU3BvdGxpZ2h0RGlhbG9nICNteF9TcG90bGlnaHREaWFsb2dfY29udGVudCAubXhfU3BvdGxpZ2h0RGlhbG9nX3JlY2VudFNlYXJjaGVzIC5teF9TcG90bGlnaHREaWFsb2dfb3B0aW9uW2FyaWEtc2VsZWN0ZWQ9XCJ0cnVlXCJdIC5teF9TcG90bGlnaHREaWFsb2dfb3B0aW9uLS1tZW51LFxuICAgICAgICAgICAgICAgICAgICAubXhfU3BvdGxpZ2h0RGlhbG9nICNteF9TcG90bGlnaHREaWFsb2dfY29udGVudCAubXhfU3BvdGxpZ2h0RGlhbG9nX3JlY2VudFNlYXJjaGVzIC5teF9TcG90bGlnaHREaWFsb2dfb3B0aW9uW2FyaWEtc2VsZWN0ZWQ9XCJ0cnVlXCJdIC5teF9TcG90bGlnaHREaWFsb2dfb3B0aW9uLS1ub3RpZmljYXRpb25zLFxuICAgICAgICAgICAgICAgICAgICAubXhfU3BvdGxpZ2h0RGlhbG9nICNteF9TcG90bGlnaHREaWFsb2dfY29udGVudCAubXhfU3BvdGxpZ2h0RGlhbG9nX290aGVyU2VhcmNoZXMgLm14X1Nwb3RsaWdodERpYWxvZ19vcHRpb246aG92ZXIgLm14X1Nwb3RsaWdodERpYWxvZ19vcHRpb24tLW1lbnUsXG4gICAgICAgICAgICAgICAgICAgIC5teF9TcG90bGlnaHREaWFsb2cgI214X1Nwb3RsaWdodERpYWxvZ19jb250ZW50IC5teF9TcG90bGlnaHREaWFsb2dfb3RoZXJTZWFyY2hlcyAubXhfU3BvdGxpZ2h0RGlhbG9nX29wdGlvbjpob3ZlciAubXhfU3BvdGxpZ2h0RGlhbG9nX29wdGlvbi0tbm90aWZpY2F0aW9ucyxcbiAgICAgICAgICAgICAgICAgICAgLm14X1Nwb3RsaWdodERpYWxvZyAjbXhfU3BvdGxpZ2h0RGlhbG9nX2NvbnRlbnQgLm14X1Nwb3RsaWdodERpYWxvZ19vdGhlclNlYXJjaGVzIC5teF9TcG90bGlnaHREaWFsb2dfb3B0aW9uW2FyaWEtc2VsZWN0ZWQ9XCJ0cnVlXCJdIC5teF9TcG90bGlnaHREaWFsb2dfb3B0aW9uLS1tZW51LFxuICAgICAgICAgICAgICAgICAgICAubXhfU3BvdGxpZ2h0RGlhbG9nICNteF9TcG90bGlnaHREaWFsb2dfY29udGVudCAubXhfU3BvdGxpZ2h0RGlhbG9nX290aGVyU2VhcmNoZXMgLm14X1Nwb3RsaWdodERpYWxvZ19vcHRpb25bYXJpYS1zZWxlY3RlZD1cInRydWVcIl0gLm14X1Nwb3RsaWdodERpYWxvZ19vcHRpb24tLW5vdGlmaWNhdGlvbnMsXG4gICAgICAgICAgICAgICAgICAgIC5teF9TcG90bGlnaHREaWFsb2cgI214X1Nwb3RsaWdodERpYWxvZ19jb250ZW50IC5teF9TcG90bGlnaHREaWFsb2dfaGlkZGVuUmVzdWx0cyAubXhfU3BvdGxpZ2h0RGlhbG9nX29wdGlvbjpob3ZlciAubXhfU3BvdGxpZ2h0RGlhbG9nX29wdGlvbi0tbWVudSxcbiAgICAgICAgICAgICAgICAgICAgLm14X1Nwb3RsaWdodERpYWxvZyAjbXhfU3BvdGxpZ2h0RGlhbG9nX2NvbnRlbnQgLm14X1Nwb3RsaWdodERpYWxvZ19oaWRkZW5SZXN1bHRzIC5teF9TcG90bGlnaHREaWFsb2dfb3B0aW9uOmhvdmVyIC5teF9TcG90bGlnaHREaWFsb2dfb3B0aW9uLS1ub3RpZmljYXRpb25zLFxuICAgICAgICAgICAgICAgICAgICAubXhfU3BvdGxpZ2h0RGlhbG9nICNteF9TcG90bGlnaHREaWFsb2dfY29udGVudCAubXhfU3BvdGxpZ2h0RGlhbG9nX2hpZGRlblJlc3VsdHMgLm14X1Nwb3RsaWdodERpYWxvZ19vcHRpb25bYXJpYS1zZWxlY3RlZD1cInRydWVcIl0gLm14X1Nwb3RsaWdodERpYWxvZ19vcHRpb24tLW1lbnUsXG4gICAgICAgICAgICAgICAgICAgIC5teF9TcG90bGlnaHREaWFsb2cgI214X1Nwb3RsaWdodERpYWxvZ19jb250ZW50IC5teF9TcG90bGlnaHREaWFsb2dfaGlkZGVuUmVzdWx0cyAubXhfU3BvdGxpZ2h0RGlhbG9nX29wdGlvblthcmlhLXNlbGVjdGVkPVwidHJ1ZVwiXSAubXhfU3BvdGxpZ2h0RGlhbG9nX29wdGlvbi0tbm90aWZpY2F0aW9ucyB7XG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4ubXhfU3BvdGxpZ2h0RGlhbG9nICNteF9TcG90bGlnaHREaWFsb2dfY29udGVudCAubXhfU3BvdGxpZ2h0RGlhbG9nX3Jlc3VsdHMgLm14X1Nwb3RsaWdodERpYWxvZ19vcHRpb25bYXJpYS1zZWxlY3RlZD1cInRydWVcIl0gLm14X1Nwb3RsaWdodERpYWxvZ19lbnRlclByb21wdCwgLm14X1Nwb3RsaWdodERpYWxvZyAjbXhfU3BvdGxpZ2h0RGlhbG9nX2NvbnRlbnQgLm14X1Nwb3RsaWdodERpYWxvZ19yZWNlbnRTZWFyY2hlcyAubXhfU3BvdGxpZ2h0RGlhbG9nX29wdGlvblthcmlhLXNlbGVjdGVkPVwidHJ1ZVwiXSAubXhfU3BvdGxpZ2h0RGlhbG9nX2VudGVyUHJvbXB0LCAubXhfU3BvdGxpZ2h0RGlhbG9nICNteF9TcG90bGlnaHREaWFsb2dfY29udGVudCAubXhfU3BvdGxpZ2h0RGlhbG9nX290aGVyU2VhcmNoZXMgLm14X1Nwb3RsaWdodERpYWxvZ19vcHRpb25bYXJpYS1zZWxlY3RlZD1cInRydWVcIl0gLm14X1Nwb3RsaWdodERpYWxvZ19lbnRlclByb21wdCwgLm14X1Nwb3RsaWdodERpYWxvZyAjbXhfU3BvdGxpZ2h0RGlhbG9nX2NvbnRlbnQgLm14X1Nwb3RsaWdodERpYWxvZ19oaWRkZW5SZXN1bHRzIC5teF9TcG90bGlnaHREaWFsb2dfb3B0aW9uW2FyaWEtc2VsZWN0ZWQ9XCJ0cnVlXCJdIC5teF9TcG90bGlnaHREaWFsb2dfZW50ZXJQcm9tcHQge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgfVxuXG4ubXhfU3BvdGxpZ2h0RGlhbG9nICNteF9TcG90bGlnaHREaWFsb2dfY29udGVudCAubXhfU3BvdGxpZ2h0RGlhbG9nX2ludml0ZUxpbmssXG4gICAgICAgIC5teF9TcG90bGlnaHREaWFsb2cgI214X1Nwb3RsaWdodERpYWxvZ19jb250ZW50IC5teF9TcG90bGlnaHREaWFsb2dfY3JlYXRlUm9vbSB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiA4cHg7XG4gICAgICAgIH1cblxuLm14X1Nwb3RsaWdodERpYWxvZyAjbXhfU3BvdGxpZ2h0RGlhbG9nX2NvbnRlbnQgLm14X1Nwb3RsaWdodERpYWxvZ19pbnZpdGVMaW5rIC5teF9BY2Nlc3NpYmxlQnV0dG9uLCAubXhfU3BvdGxpZ2h0RGlhbG9nICNteF9TcG90bGlnaHREaWFsb2dfY29udGVudCAubXhfU3BvdGxpZ2h0RGlhbG9nX2NyZWF0ZVJvb20gLm14X0FjY2Vzc2libGVCdXR0b24ge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogM3B4IDhweCAzcHggMjhweDtcbiAgICAgICAgICAgIH1cblxuLm14X1Nwb3RsaWdodERpYWxvZyAjbXhfU3BvdGxpZ2h0RGlhbG9nX2NvbnRlbnQgLm14X1Nwb3RsaWdodERpYWxvZ19pbnZpdGVMaW5rIC5teF9BY2Nlc3NpYmxlQnV0dG9uOjpiZWZvcmUsIC5teF9TcG90bGlnaHREaWFsb2cgI214X1Nwb3RsaWdodERpYWxvZ19jb250ZW50IC5teF9TcG90bGlnaHREaWFsb2dfY3JlYXRlUm9vbSAubXhfQWNjZXNzaWJsZUJ1dHRvbjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgICAgLXdlYmtpdC1tYXNrLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hc2stcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgICAgICAgICAgIC13ZWJraXQtbWFzay1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hc2stcG9zaXRpb246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgLXdlYmtpdC1tYXNrLXNpemU6IGNvbnRhaW47XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFzay1zaXplOiBjb250YWluO1xuICAgICAgICAgICAgICAgICAgICBsZWZ0OiA4cHg7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxNnB4O1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDE2cHg7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWNwZC1jb2xvci1pY29uLXByaW1hcnkpO1xuICAgICAgICAgICAgICAgIH1cblxuLm14X1Nwb3RsaWdodERpYWxvZyAjbXhfU3BvdGxpZ2h0RGlhbG9nX2NvbnRlbnQgLm14X1Nwb3RsaWdodERpYWxvZ19pbnZpdGVMaW5rIC5teF9BY2Nlc3NpYmxlQnV0dG9uOjpiZWZvcmUge1xuICAgICAgICAgICAgLXdlYmtpdC1tYXNrLWltYWdlOiB1cmwoXCJAdmVjdG9yLWltL2NvbXBvdW5kLWRlc2lnbi10b2tlbnMvaWNvbnMvbGluay5zdmdcIik7XG4gICAgICAgICAgICAgICAgICAgIG1hc2staW1hZ2U6IHVybChcIkB2ZWN0b3ItaW0vY29tcG91bmQtZGVzaWduLXRva2Vucy9pY29ucy9saW5rLnN2Z1wiKTtcbiAgICAgICAgfVxuXG4ubXhfU3BvdGxpZ2h0RGlhbG9nICNteF9TcG90bGlnaHREaWFsb2dfY29udGVudCAubXhfU3BvdGxpZ2h0RGlhbG9nX2NyZWF0ZVJvb20gLm14X0FjY2Vzc2libGVCdXR0b246OmJlZm9yZSB7XG4gICAgICAgICAgICAtd2Via2l0LW1hc2staW1hZ2U6IHVybChcIi4uLy4uLy4uL2ltZy9lbGVtZW50LWljb25zL3Jvb21saXN0L2hhc2guc3ZnXCIpO1xuICAgICAgICAgICAgICAgICAgICBtYXNrLWltYWdlOiB1cmwoXCIuLi8uLi8uLi9pbWcvZWxlbWVudC1pY29ucy9yb29tbGlzdC9oYXNoLnN2Z1wiKTtcbiAgICAgICAgfVxuXG4ubXhfU3BvdGxpZ2h0RGlhbG9nICNteF9TcG90bGlnaHREaWFsb2dfY29udGVudCAubXhfU3BvdGxpZ2h0RGlhbG9nX290aGVyU2VhcmNoZXMgLm14X1Nwb3RsaWdodERpYWxvZ19zdGFydENoYXQsXG4gICAgICAgICAgICAubXhfU3BvdGxpZ2h0RGlhbG9nICNteF9TcG90bGlnaHREaWFsb2dfY29udGVudCAubXhfU3BvdGxpZ2h0RGlhbG9nX290aGVyU2VhcmNoZXMgLm14X1Nwb3RsaWdodERpYWxvZ19qb2luUm9vbUFsaWFzLFxuICAgICAgICAgICAgLm14X1Nwb3RsaWdodERpYWxvZyAjbXhfU3BvdGxpZ2h0RGlhbG9nX2NvbnRlbnQgLm14X1Nwb3RsaWdodERpYWxvZ19vdGhlclNlYXJjaGVzIC5teF9TcG90bGlnaHREaWFsb2dfZXhwbG9yZVB1YmxpY1Jvb21zLFxuICAgICAgICAgICAgLm14X1Nwb3RsaWdodERpYWxvZyAjbXhfU3BvdGxpZ2h0RGlhbG9nX2NvbnRlbnQgLm14X1Nwb3RsaWdodERpYWxvZ19vdGhlclNlYXJjaGVzIC5teF9TcG90bGlnaHREaWFsb2dfZXhwbG9yZVB1YmxpY1NwYWNlcyxcbiAgICAgICAgICAgIC5teF9TcG90bGlnaHREaWFsb2cgI214X1Nwb3RsaWdodERpYWxvZ19jb250ZW50IC5teF9TcG90bGlnaHREaWFsb2dfb3RoZXJTZWFyY2hlcyAubXhfU3BvdGxpZ2h0RGlhbG9nX3N0YXJ0R3JvdXBDaGF0IHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDMycHg7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgfVxuXG4ubXhfU3BvdGxpZ2h0RGlhbG9nICNteF9TcG90bGlnaHREaWFsb2dfY29udGVudCAubXhfU3BvdGxpZ2h0RGlhbG9nX290aGVyU2VhcmNoZXMgLm14X1Nwb3RsaWdodERpYWxvZ19zdGFydENoYXQ6OmJlZm9yZSwgLm14X1Nwb3RsaWdodERpYWxvZyAjbXhfU3BvdGxpZ2h0RGlhbG9nX2NvbnRlbnQgLm14X1Nwb3RsaWdodERpYWxvZ19vdGhlclNlYXJjaGVzIC5teF9TcG90bGlnaHREaWFsb2dfam9pblJvb21BbGlhczo6YmVmb3JlLCAubXhfU3BvdGxpZ2h0RGlhbG9nICNteF9TcG90bGlnaHREaWFsb2dfY29udGVudCAubXhfU3BvdGxpZ2h0RGlhbG9nX290aGVyU2VhcmNoZXMgLm14X1Nwb3RsaWdodERpYWxvZ19leHBsb3JlUHVibGljUm9vbXM6OmJlZm9yZSwgLm14X1Nwb3RsaWdodERpYWxvZyAjbXhfU3BvdGxpZ2h0RGlhbG9nX2NvbnRlbnQgLm14X1Nwb3RsaWdodERpYWxvZ19vdGhlclNlYXJjaGVzIC5teF9TcG90bGlnaHREaWFsb2dfZXhwbG9yZVB1YmxpY1NwYWNlczo6YmVmb3JlLCAubXhfU3BvdGxpZ2h0RGlhbG9nICNteF9TcG90bGlnaHREaWFsb2dfY29udGVudCAubXhfU3BvdGxpZ2h0RGlhbG9nX290aGVyU2VhcmNoZXMgLm14X1Nwb3RsaWdodERpYWxvZ19zdGFydEdyb3VwQ2hhdDo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2VkZjNmZjtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tc2Vjb25kYXJ5LWNvbnRlbnQsICNlZGYzZmYpO1xuICAgICAgICAgICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgICAgICAgICAtd2Via2l0LW1hc2stcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFzay1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgICAgICAgICAgICAgLXdlYmtpdC1tYXNrLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFzay1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICAtd2Via2l0LW1hc2stc2l6ZTogY29udGFpbjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXNrLXNpemU6IGNvbnRhaW47XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAyNHB4O1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDI0cHg7XG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgICAgbGVmdDogNHB4O1xuICAgICAgICAgICAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICAgICAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgICAgICAgICAgICAgIH1cblxuLm14X1Nwb3RsaWdodERpYWxvZyAjbXhfU3BvdGxpZ2h0RGlhbG9nX2NvbnRlbnQgLm14X1Nwb3RsaWdodERpYWxvZ19vdGhlclNlYXJjaGVzIC5teF9TcG90bGlnaHREaWFsb2dfc3RhcnRDaGF0OjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIC13ZWJraXQtbWFzay1pbWFnZTogdXJsKFwiQHZlY3Rvci1pbS9jb21wb3VuZC1kZXNpZ24tdG9rZW5zL2ljb25zL3VzZXItcHJvZmlsZS1zb2xpZC5zdmdcIik7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXNrLWltYWdlOiB1cmwoXCJAdmVjdG9yLWltL2NvbXBvdW5kLWRlc2lnbi10b2tlbnMvaWNvbnMvdXNlci1wcm9maWxlLXNvbGlkLnN2Z1wiKTtcbiAgICAgICAgICAgIH1cblxuLm14X1Nwb3RsaWdodERpYWxvZyAjbXhfU3BvdGxpZ2h0RGlhbG9nX2NvbnRlbnQgLm14X1Nwb3RsaWdodERpYWxvZ19vdGhlclNlYXJjaGVzIC5teF9TcG90bGlnaHREaWFsb2dfam9pblJvb21BbGlhczo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAtd2Via2l0LW1hc2staW1hZ2U6IHVybChcIi4uLy4uLy4uL2ltZy9lbGVtZW50LWljb25zL3Jvb21saXN0L2hhc2gtY2lyY2xlLnN2Z1wiKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hc2staW1hZ2U6IHVybChcIi4uLy4uLy4uL2ltZy9lbGVtZW50LWljb25zL3Jvb21saXN0L2hhc2gtY2lyY2xlLnN2Z1wiKTtcbiAgICAgICAgICAgIH1cblxuLm14X1Nwb3RsaWdodERpYWxvZyAjbXhfU3BvdGxpZ2h0RGlhbG9nX2NvbnRlbnQgLm14X1Nwb3RsaWdodERpYWxvZ19vdGhlclNlYXJjaGVzIC5teF9TcG90bGlnaHREaWFsb2dfZXhwbG9yZVB1YmxpY1Jvb21zOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIC13ZWJraXQtbWFzay1pbWFnZTogdXJsKFwiLi4vLi4vLi4vaW1nL2VsZW1lbnQtaWNvbnMvcm9vbWxpc3QvaGFzaC1jaXJjbGUuc3ZnXCIpO1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFzay1pbWFnZTogdXJsKFwiLi4vLi4vLi4vaW1nL2VsZW1lbnQtaWNvbnMvcm9vbWxpc3QvaGFzaC1jaXJjbGUuc3ZnXCIpO1xuICAgICAgICAgICAgfVxuXG4ubXhfU3BvdGxpZ2h0RGlhbG9nICNteF9TcG90bGlnaHREaWFsb2dfY29udGVudCAubXhfU3BvdGxpZ2h0RGlhbG9nX290aGVyU2VhcmNoZXMgLm14X1Nwb3RsaWdodERpYWxvZ19leHBsb3JlUHVibGljU3BhY2VzOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIC13ZWJraXQtbWFzay1pbWFnZTogdXJsKFwiLi4vLi4vLi4vaW1nL2VsZW1lbnQtaWNvbnMvc3BhY2VzLnN2Z1wiKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hc2staW1hZ2U6IHVybChcIi4uLy4uLy4uL2ltZy9lbGVtZW50LWljb25zL3NwYWNlcy5zdmdcIik7XG4gICAgICAgICAgICB9XG5cbi5teF9TcG90bGlnaHREaWFsb2cgI214X1Nwb3RsaWdodERpYWxvZ19jb250ZW50IC5teF9TcG90bGlnaHREaWFsb2dfb3RoZXJTZWFyY2hlcyAubXhfU3BvdGxpZ2h0RGlhbG9nX3N0YXJ0R3JvdXBDaGF0OjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIC13ZWJraXQtbWFzay1pbWFnZTogdXJsKFwiLi4vLi4vLi4vaW1nL2VsZW1lbnQtaWNvbnMvZ3JvdXAtbWVtYmVycy5zdmdcIik7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXNrLWltYWdlOiB1cmwoXCIuLi8uLi8uLi9pbWcvZWxlbWVudC1pY29ucy9ncm91cC1tZW1iZXJzLnN2Z1wiKTtcbiAgICAgICAgICAgIH1cblxuLm14X1Nwb3RsaWdodERpYWxvZyAjbXhfU3BvdGxpZ2h0RGlhbG9nX2NvbnRlbnQgLm14X1Nwb3RsaWdodERpYWxvZ19vdGhlclNlYXJjaGVzIC5teF9TcG90bGlnaHREaWFsb2dfb3RoZXJTZWFyY2hlc19tZXNzYWdlU2VhcmNoVGV4dCB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuNXJlbTtcbiAgICAgICAgICAgIH1cblxuLm14X1Nwb3RsaWdodERpYWxvZyAjbXhfU3BvdGxpZ2h0RGlhbG9nX2NvbnRlbnQgLm14X1Nwb3RsaWdodERpYWxvZ19vdGhlclNlYXJjaGVzIC5teF9TcG90bGlnaHREaWFsb2dfb3RoZXJTZWFyY2hlc19tZXNzYWdlU2VhcmNoSWNvbiB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAyNHB4O1xuICAgICAgICAgICAgICAgIGhlaWdodDogMjRweDtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWRmM2ZmO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXNlY29uZGFyeS1jb250ZW50LCAjZWRmM2ZmKTtcbiAgICAgICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdGV4dC1ib3R0b207XG4gICAgICAgICAgICAgICAgLXdlYmtpdC1tYXNrLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFzay1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgICAgICAgICAtd2Via2l0LW1hc2stcG9zaXRpb246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hc2stcG9zaXRpb246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAtd2Via2l0LW1hc2stc2l6ZTogY29udGFpbjtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hc2stc2l6ZTogY29udGFpbjtcbiAgICAgICAgICAgICAgICAtd2Via2l0LW1hc2staW1hZ2U6IHVybChcIi4uLy4uLy4uL2ltZy9lbGVtZW50LWljb25zL3Jvb20vc2VhcmNoLWluc2V0LnN2Z1wiKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hc2staW1hZ2U6IHVybChcIi4uLy4uLy4uL2ltZy9lbGVtZW50LWljb25zL3Jvb20vc2VhcmNoLWluc2V0LnN2Z1wiKTtcbiAgICAgICAgICAgIH1cblxuLm14X1Nwb3RsaWdodERpYWxvZyAjbXhfU3BvdGxpZ2h0RGlhbG9nX2NvbnRlbnQgLm14X1Nwb3RsaWdodERpYWxvZ19yZXN1bHRfZGV0YWlscyB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogOHB4O1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiA4cHg7XG4gICAgICAgICAgICBjb2xvcjogI2VkZjNmZjtcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS10ZXJ0aWFyeS1jb250ZW50LCAjZWRmM2ZmKTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAwLjkzNzVyZW07XG4gICAgICAgICAgICBtaW4td2lkdGg6IDA7XG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgICAgIH1cblxuLm14X1Nwb3RsaWdodERpYWxvZyAjbXhfU3BvdGxpZ2h0RGlhbG9nX2NvbnRlbnQgLm14X1Nwb3RsaWdodERpYWxvZ19yZWNlbnRTZWFyY2hlcyA+IGg0ID4gLm14X0FjY2Vzc2libGVCdXR0b25fa2luZF9saW5rIHtcbiAgICAgICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAwLjkzNzVyZW07XG4gICAgICAgICAgICBjb2xvcjogI2VkZjNmZjtcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1zZWNvbmRhcnktY29udGVudCwgI2VkZjNmZik7XG4gICAgICAgIH1cblxuLm14X1Nwb3RsaWdodERpYWxvZyAjbXhfU3BvdGxpZ2h0RGlhbG9nX2NvbnRlbnQgLm14X1Nwb3RsaWdodERpYWxvZ19lbnRlclByb21wdCB7XG4gICAgICAgICAgICBwYWRkaW5nOiAycHggNHB4O1xuICAgICAgICAgICAgLyogVG8gYXZvaWQgYW55IHN0eWxpbmcgaW5oZXJlbnQgd2l0aCA8a2JkPiBlbGVtZW50cyAqL1xuICAgICAgICAgICAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gICAgICAgICAgICBmb250LXdlaWdodDogaW5oZXJpdDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAwLjkzNzVyZW07XG4gICAgICAgICAgICBjb2xvcjogI2VkZjNmZjtcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS10ZXJ0aWFyeS1jb250ZW50LCAjZWRmM2ZmKTtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDZweDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICM2Zjc4ODI7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1xdWluYXJ5LWNvbnRlbnQsICM2Zjc4ODIpO1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiA0cHg7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG5cbi5teF9TcG90bGlnaHREaWFsb2cgI214X1Nwb3RsaWdodERpYWxvZ19jb250ZW50IC5teF9TcG90bGlnaHREaWFsb2dfbWV0YXNwYWNlUmVzdWx0IHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNlZGYzZmY7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1zZWNvbmRhcnktY29udGVudCwgI2VkZjNmZik7XG4gICAgICAgICAgICAtd2Via2l0LW1hc2stcG9zaXRpb246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgbWFzay1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgICAgICAgLXdlYmtpdC1tYXNrLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgICAgICAgICAgICBtYXNrLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgICAgLXdlYmtpdC1tYXNrLXNpemU6IGNvbnRhaW47XG4gICAgICAgICAgICAgICAgICAgIG1hc2stc2l6ZTogY29udGFpbjtcbiAgICAgICAgfVxuXG4ubXhfU3BvdGxpZ2h0RGlhbG9nICNteF9TcG90bGlnaHREaWFsb2dfY29udGVudCAubXhfU3BvdGxpZ2h0RGlhbG9nX21ldGFzcGFjZVJlc3VsdC5teF9TcG90bGlnaHREaWFsb2dfbWV0YXNwYWNlUmVzdWx0X2hvbWUtc3BhY2Uge1xuICAgICAgICAgICAgICAgIC13ZWJraXQtbWFzay1pbWFnZTogdXJsKFwiQHZlY3Rvci1pbS9jb21wb3VuZC1kZXNpZ24tdG9rZW5zL2ljb25zL2hvbWUtc29saWQuc3ZnXCIpO1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFzay1pbWFnZTogdXJsKFwiQHZlY3Rvci1pbS9jb21wb3VuZC1kZXNpZ24tdG9rZW5zL2ljb25zL2hvbWUtc29saWQuc3ZnXCIpO1xuICAgICAgICAgICAgfVxuXG4ubXhfU3BvdGxpZ2h0RGlhbG9nICNteF9TcG90bGlnaHREaWFsb2dfY29udGVudCAubXhfU3BvdGxpZ2h0RGlhbG9nX21ldGFzcGFjZVJlc3VsdC5teF9TcG90bGlnaHREaWFsb2dfbWV0YXNwYWNlUmVzdWx0X2Zhdm91cml0ZXMtc3BhY2Uge1xuICAgICAgICAgICAgICAgIC13ZWJraXQtbWFzay1pbWFnZTogdXJsKFwiQHZlY3Rvci1pbS9jb21wb3VuZC1kZXNpZ24tdG9rZW5zL2ljb25zL2Zhdm91cml0ZS1zb2xpZC5zdmdcIik7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXNrLWltYWdlOiB1cmwoXCJAdmVjdG9yLWltL2NvbXBvdW5kLWRlc2lnbi10b2tlbnMvaWNvbnMvZmF2b3VyaXRlLXNvbGlkLnN2Z1wiKTtcbiAgICAgICAgICAgIH1cblxuLm14X1Nwb3RsaWdodERpYWxvZyAjbXhfU3BvdGxpZ2h0RGlhbG9nX2NvbnRlbnQgLm14X1Nwb3RsaWdodERpYWxvZ19tZXRhc3BhY2VSZXN1bHQubXhfU3BvdGxpZ2h0RGlhbG9nX21ldGFzcGFjZVJlc3VsdF9wZW9wbGUtc3BhY2Uge1xuICAgICAgICAgICAgICAgIC13ZWJraXQtbWFzay1pbWFnZTogdXJsKFwiQHZlY3Rvci1pbS9jb21wb3VuZC1kZXNpZ24tdG9rZW5zL2ljb25zL3VzZXItcHJvZmlsZS1zb2xpZC5zdmdcIik7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXNrLWltYWdlOiB1cmwoXCJAdmVjdG9yLWltL2NvbXBvdW5kLWRlc2lnbi10b2tlbnMvaWNvbnMvdXNlci1wcm9maWxlLXNvbGlkLnN2Z1wiKTtcbiAgICAgICAgICAgIH1cblxuLm14X1Nwb3RsaWdodERpYWxvZyAjbXhfU3BvdGxpZ2h0RGlhbG9nX2NvbnRlbnQgLm14X1Nwb3RsaWdodERpYWxvZ19tZXRhc3BhY2VSZXN1bHQubXhfU3BvdGxpZ2h0RGlhbG9nX21ldGFzcGFjZVJlc3VsdF9vcnBoYW5zLXNwYWNlIHtcbiAgICAgICAgICAgICAgICAtd2Via2l0LW1hc2staW1hZ2U6IHVybChcIi4uLy4uLy4uL2ltZy9lbGVtZW50LWljb25zL3Jvb21saXN0L2hhc2gtY2lyY2xlLnN2Z1wiKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hc2staW1hZ2U6IHVybChcIi4uLy4uLy4uL2ltZy9lbGVtZW50LWljb25zL3Jvb21saXN0L2hhc2gtY2lyY2xlLnN2Z1wiKTtcbiAgICAgICAgICAgIH1cblxuLypcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxuQ29weXJpZ2h0IDIwMTkgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cblxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuKi9cblxuLypcbiAqIFRvIGF2b2lkIHZpc3VhbCBnbGl0Y2hpbmcgb2YgdHdvIG1vZGFscyBzdGFja2luZyBicmllZmx5LCB3ZSBjdXN0b21pc2UgdGhlXG4gKiB0ZXJtcyBkaWFsb2cgc2l6aW5nIHdoZW4gaXQgd2lsbCBhcHBlYXIgZm9yIHRoZSBpbnRlZ3JhdGlvbiBtYW5hZ2VyIHNvIHRoYXRcbiAqIGl0IGdldHMgdGhlIHNhbWUgYmFzaWMgc2l6ZSBhcyB0aGUgSU0ncyBvd24gbW9kYWwuXG4gKi9cblxuLm14X1Rlcm1zRGlhbG9nX2ZvckludGVncmF0aW9uTWFuYWdlciAubXhfRGlhbG9nX2JvcmRlciB7XG4gICAgd2lkdGg6IDYwJTtcbiAgICBoZWlnaHQ6IDcwJTtcbiAgICAtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xufVxuXG4ubXhfVGVybXNEaWFsb2dfdGVybXNUYWJsZUhlYWRlciB7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbn1cblxuLm14X1Rlcm1zRGlhbG9nX3Rlcm1zVGFibGUge1xuICAgIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgICB3aWR0aDogMTAwJTtcbn1cblxuLm14X1Rlcm1zRGlhbG9nX3NlcnZpY2UsXG4ubXhfVGVybXNEaWFsb2dfc3VtbWFyeSB7XG4gICAgcGFkZGluZy1yaWdodDogMTBweDtcbn1cblxuLypcbiAqIENvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxuICogQ29weXJpZ2h0IDIwMjQgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cbiAqXG4gKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcbiAqIFBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXG4gKi9cblxuLm14X1VucGluQWxsRGlhbG9nIHtcbiAgICAvKiAzOTYgaXMgY29taW5nIGZyb20gZmlnbWEgYW5kIHdlIHJlbW92ZSB0aGUgbGVmdCBhbmQgcmlnaHQgcGFkZGluZ3Mgb2YgdGhlIGRpYWxvZyAqL1xuICAgIHdpZHRoOiBjYWxjKDM5NnB4IC0gKHZhcigtLWNwZC1zcGFjZS0xMHgpICogMikpO1xuICAgIHBhZGRpbmctYm90dG9tOiB2YXIoLS1jcGQtc3BhY2UtMngpO1xufVxuXG4ubXhfVW5waW5BbGxEaWFsb2cgLm14X1VucGluQWxsRGlhbG9nX3RpdGxlIHtcbiAgICAgICAgLyogT3ZlcnJpZGUgdGhlIGRlZmF1bHQgaGVhZGluZyBzdHlsZSAqL1xuICAgICAgICBmb250OiB2YXIoLS1jcGQtZm9udC1oZWFkaW5nLXNtLXNlbWlib2xkKSAhaW1wb3J0YW50O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS1jcGQtc3BhY2UtM3gpO1xuICAgIH1cblxuLm14X1VucGluQWxsRGlhbG9nIC5teF9VbnBpbkFsbERpYWxvZ19idXR0b25zIHtcbiAgICAgICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gICAgICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xuICAgICAgICAtd2Via2l0LWJveC1kaXJlY3Rpb246IG5vcm1hbDtcbiAgICAgICAgICAgIC1tcy1mbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGdhcDogdmFyKC0tY3BkLXNwYWNlLTR4KTtcbiAgICAgICAgbWFyZ2luOiB2YXIoLS1jcGQtc3BhY2UtOHgpIHZhcigtLWNwZC1zcGFjZS0yeCkgMCB2YXIoLS1jcGQtc3BhY2UtMngpO1xuICAgIH1cblxuLm14X1VucGluQWxsRGlhbG9nIC5teF9VbnBpbkFsbERpYWxvZ19idXR0b25zIGJ1dHRvbiB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuXG4vKlxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXG5Db3B5cmlnaHQgMjAyMSBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxuXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXG4qL1xuXG4ubXhfVW50cnVzdGVkRGV2aWNlRGlhbG9nIC5teF9EaWFsb2dfdGl0bGUge1xuICAgICAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgICAgICAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgfVxuXG4ubXhfVW50cnVzdGVkRGV2aWNlRGlhbG9nIC5teF9EaWFsb2dfdGl0bGUgLm14X0UyRUljb24ge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgIH1cblxuLm14X1VudHJ1c3RlZERldmljZURpYWxvZyAubXhfRGlhbG9nX2J1dHRvbnMge1xuICAgICAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgICAgICAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIC13ZWJraXQtYm94LXBhY2s6IGVuZDtcbiAgICAgICAgICAgIC1tcy1mbGV4LXBhY2s6IGVuZDtcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgICAgICBnYXA6IDhweDtcbiAgICB9XG5cbi8qXG5Db3B5cmlnaHQgMjAxOS0yMDI0IE5ldyBWZWN0b3IgTHRkLlxuXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXG4qL1xuXG4ubXhfVXBsb2FkQ29uZmlybURpYWxvZ19maWxlSWNvbiB7XG4gICAgbWFyZ2luLXJpZ2h0OiA1cHg7XG59XG5cbi5teF9VcGxvYWRDb25maXJtRGlhbG9nX3ByZXZpZXdPdXRlciB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4ubXhfVXBsb2FkQ29uZmlybURpYWxvZ19wcmV2aWV3SW5uZXIge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xufVxuXG4ubXhfVXBsb2FkQ29uZmlybURpYWxvZ19pbWFnZVByZXZpZXcge1xuICAgIG1heC1oZWlnaHQ6IDMwMHB4O1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tY3BkLWNvbG9yLWljb24tdGVydGlhcnkpO1xufVxuXG4vKlxuQ29weXJpZ2h0IDIwMTktMjAyNCBOZXcgVmVjdG9yIEx0ZC5cblxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuKi9cblxuLm14X1NldHRpbmdzRGlhbG9nX3RvYXN0Q29udGFpbmVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiB2YXIoLS1jcGQtc3BhY2UtMTB4KTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIC13ZWJraXQtYm94LXBhY2s6IGNlbnRlcjtcbiAgICAgICAgLW1zLWZsZXgtcGFjazogY2VudGVyO1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG5cbi5teF9Vc2VyU2V0dGluZ3NEaWFsb2dfdGl0bGUge1xuICAgIC8qIE92ZXJyaWRlIGRlZmF1bHQgZGlhbG9nIGZvbnQgc3R5bGUgKi9cbiAgICBmb250OiB2YXIoLS1jcGQtZm9udC1oZWFkaW5nLW1kLXJlZ3VsYXIpICFpbXBvcnRhbnQ7XG59XG5cbi5teF9Vc2VyU2V0dGluZ3NEaWFsb2dfdGl0bGUgLm14X1VzZXJTZXR0aW5nc0RpYWxvZ190aXRsZV9zdHJvbmcge1xuICAgICAgICBmb250OiB2YXIoLS1jcGQtZm9udC1oZWFkaW5nLW1kLXNlbWlib2xkKTtcbiAgICB9XG5cbi8qXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cbkNvcHlyaWdodCAyMDIyIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXG5cblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cbiovXG5cbi5teF9WZXJpZnlFTWFpbERpYWxvZyB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIHRvcDogMzAwcHg7XG59XG5cbi5teF9WZXJpZnlFTWFpbERpYWxvZyAubXhfRGlhbG9nIHtcbiAgICAgICAgY29sb3I6IHZhcigtLXRpbWVsaW5lLXRleHQtY29sb3IpO1xuICAgICAgICBmb250OiB2YXIoLS1jcGQtZm9udC1ib2R5LW1kLXJlZ3VsYXIpO1xuICAgICAgICBwYWRkaW5nOiAyNHB4IDI0cHggMTZweDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB3aWR0aDogNDg1cHg7XG4gICAgfVxuXG4ubXhfVmVyaWZ5RU1haWxEaWFsb2cgLm14X0RpYWxvZyBoMSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1jcGQtZm9udC13ZWlnaHQtc2VtaWJvbGQpO1xuICAgICAgICB9XG5cbi5teF9WZXJpZnlFTWFpbERpYWxvZyAubXhfRGlhbG9nIC5teF9WZXJpZnlFTWFpbERpYWxvZ190ZXh0LWxpZ2h0IHtcbiAgICAgICAgICAgIGNvbG9yOiAjZWRmM2ZmO1xuICAgICAgICAgICAgY29sb3I6IHZhcigtLXNlY29uZGFyeS1jb250ZW50LCAjZWRmM2ZmKTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xuICAgICAgICB9XG5cbi5teF9WZXJpZnlFTWFpbERpYWxvZyAubXhfRGlhbG9nIC5teF9BdXRoQm9keV9kaWQtbm90LXJlY2VpdmUge1xuICAgICAgICAgICAgLXdlYmtpdC1ib3gtcGFjazogY2VudGVyO1xuICAgICAgICAgICAgICAgIC1tcy1mbGV4LXBhY2s6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA4cHg7XG4gICAgICAgIH1cblxuLm14X1ZlcmlmeUVNYWlsRGlhbG9nIC5teF9EaWFsb2cgLm14X0RpYWxvZ19jYW5jZWxCdXR0b24ge1xuICAgICAgICAgICAgcmlnaHQ6IDEwcHg7XG4gICAgICAgIH1cblxuLypcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxuQ29weXJpZ2h0IDIwMjAgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cblxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuKi9cblxuLm14X1dpZGdldENhcGFiaWxpdGllc1Byb21wdERpYWxvZyAudGV4dC1tdXRlZCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgICB9XG5cbi5teF9XaWRnZXRDYXBhYmlsaXRpZXNQcm9tcHREaWFsb2cgLm14X0RpYWxvZ19jb250ZW50IHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTZweDtcbiAgICB9XG5cbi5teF9XaWRnZXRDYXBhYmlsaXRpZXNQcm9tcHREaWFsb2cgLm14X1dpZGdldENhcGFiaWxpdGllc1Byb21wdERpYWxvZ19jYXAge1xuICAgICAgICBtYXJnaW4tdG9wOiAyMHB4O1xuICAgICAgICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDAuOTM3NXJlbTtcbiAgICB9XG5cbi5teF9XaWRnZXRDYXBhYmlsaXRpZXNQcm9tcHREaWFsb2cgLm14X1dpZGdldENhcGFiaWxpdGllc1Byb21wdERpYWxvZ19jYXAgLm14X1dpZGdldENhcGFiaWxpdGllc1Byb21wdERpYWxvZ19ieWxpbmUge1xuICAgICAgICAgICAgY29sb3I6ICNhMWIyZDE7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMjZweDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAwLjc1cmVtO1xuICAgICAgICB9XG5cbi5teF9XaWRnZXRDYXBhYmlsaXRpZXNQcm9tcHREaWFsb2cgLm14X0RpYWxvZ19idXR0b25zIHtcbiAgICAgICAgbWFyZ2luLXRvcDogNDBweDsgLyogZG91YmxlIG5vcm1hbCAqL1xuICAgIH1cblxuLm14X1dpZGdldENhcGFiaWxpdGllc1Byb21wdERpYWxvZyAubXhfU2V0dGluZ3NGbGFnIHtcbiAgICAgICAgbGluZS1oZWlnaHQ6IGNhbGMoMC44NzVyZW0gKyA3cHggKyA3cHgpOyAvKiA3cHggdG9wICYgYm90dG9tIHBhZGRpbmcgKi9cbiAgICAgICAgY29sb3I6ICNhMWIyZDE7XG4gICAgICAgIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgICB9XG5cbi5teF9XaWRnZXRDYXBhYmlsaXRpZXNQcm9tcHREaWFsb2cgLm14X1NldHRpbmdzRmxhZyAubXhfVG9nZ2xlU3dpdGNoIHtcbiAgICAgICAgICAgIC8qIGRvd25zaXplIHRoZSBzd2l0Y2ggKyBiYWxsICovXG4gICAgICAgICAgICB3aWR0aDogMnJlbTtcbiAgICAgICAgICAgIGhlaWdodDogMC45Mzc1cmVtO1xuICAgICAgICB9XG5cbi5teF9XaWRnZXRDYXBhYmlsaXRpZXNQcm9tcHREaWFsb2cgLm14X1NldHRpbmdzRmxhZyAubXhfVG9nZ2xlU3dpdGNoLm14X1RvZ2dsZVN3aXRjaF9vbiA+IC5teF9Ub2dnbGVTd2l0Y2hfYmFsbCB7XG4gICAgICAgICAgICAgICAgbGVmdDogY2FsYygxMDAlIC0gMC45Mzc1cmVtKTtcbiAgICAgICAgICAgIH1cblxuLm14X1dpZGdldENhcGFiaWxpdGllc1Byb21wdERpYWxvZyAubXhfU2V0dGluZ3NGbGFnIC5teF9Ub2dnbGVTd2l0Y2ggLm14X1RvZ2dsZVN3aXRjaF9iYWxsIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMC45Mzc1cmVtO1xuICAgICAgICAgICAgICAgIGhlaWdodDogMC45Mzc1cmVtO1xuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDAuOTM3NXJlbTtcbiAgICAgICAgICAgIH1cblxuLypcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxuQ29weXJpZ2h0IDIwMTgsIDIwMTkgLCAyMDIxIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXG5cblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cbiovXG5cbi5teF9BY2Nlc3NTZWNyZXRTdG9yYWdlRGlhbG9nIC5teF9BY2Nlc3NTZWNyZXRTdG9yYWdlRGlhbG9nX3RpdGxlV2l0aEljb246OmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgd2lkdGg6IDI0cHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDI0cHg7XG4gICAgICAgICAgICAtd2Via2l0LW1hcmdpbi1lbmQ6IDhweDtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWlubGluZS1lbmQ6IDhweDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIHRvcDogNXB4O1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdGltZWxpbmUtdGV4dC1jb2xvcik7XG4gICAgICAgIH1cblxuLm14X0FjY2Vzc1NlY3JldFN0b3JhZ2VEaWFsb2cgLm14X0FjY2Vzc1NlY3JldFN0b3JhZ2VEaWFsb2dfdGl0bGVXaXRoSWNvbi5teF9BY2Nlc3NTZWNyZXRTdG9yYWdlRGlhbG9nX3Jlc2V0QmFkZ2U6OmJlZm9yZSB7XG4gICAgICAgICAgICAvKiBUaGUgaW1hZ2UgaXNuJ3QgY2FwYWJsZSBvZiBtYXNraW5nLCBzbyB3ZSB1c2UgYSBiYWNrZ3JvdW5kIGluc3RlYWQuICovXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJAdmVjdG9yLWltL2NvbXBvdW5kLWRlc2lnbi10b2tlbnMvaWNvbnMvZXJyb3Iuc3ZnXCIpO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiAyNHB4O1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIH1cblxuLm14X0FjY2Vzc1NlY3JldFN0b3JhZ2VEaWFsb2cgLm14X0FjY2Vzc1NlY3JldFN0b3JhZ2VEaWFsb2dfdGl0bGVXaXRoSWNvbi5teF9BY2Nlc3NTZWNyZXRTdG9yYWdlRGlhbG9nX3NlY3VyZUJhY2t1cFRpdGxlOjpiZWZvcmUge1xuICAgICAgICAgICAgLXdlYmtpdC1tYXNrLWltYWdlOiB1cmwoXCIuLi8uLi8uLi9pbWcvZmVhdGhlci1jdXN0b21pc2VkL3NlY3VyZS1iYWNrdXAuc3ZnXCIpO1xuICAgICAgICAgICAgICAgICAgICBtYXNrLWltYWdlOiB1cmwoXCIuLi8uLi8uLi9pbWcvZmVhdGhlci1jdXN0b21pc2VkL3NlY3VyZS1iYWNrdXAuc3ZnXCIpO1xuICAgICAgICB9XG5cbi5teF9BY2Nlc3NTZWNyZXRTdG9yYWdlRGlhbG9nIC5teF9BY2Nlc3NTZWNyZXRTdG9yYWdlRGlhbG9nX3RpdGxlV2l0aEljb24ubXhfQWNjZXNzU2VjcmV0U3RvcmFnZURpYWxvZ19zZWN1cmVQaHJhc2VUaXRsZTo6YmVmb3JlIHtcbiAgICAgICAgICAgIC13ZWJraXQtbWFzay1pbWFnZTogdXJsKFwiLi4vLi4vLi4vaW1nL2ZlYXRoZXItY3VzdG9taXNlZC9zZWN1cmUtcGhyYXNlLnN2Z1wiKTtcbiAgICAgICAgICAgICAgICAgICAgbWFzay1pbWFnZTogdXJsKFwiLi4vLi4vLi4vaW1nL2ZlYXRoZXItY3VzdG9taXNlZC9zZWN1cmUtcGhyYXNlLnN2Z1wiKTtcbiAgICAgICAgfVxuXG4ubXhfQWNjZXNzU2VjcmV0U3RvcmFnZURpYWxvZyAubXhfQWNjZXNzU2VjcmV0U3RvcmFnZURpYWxvZ19wcmltYXJ5Q29udGFpbmVyIC5teF9BY2Nlc3NTZWNyZXRTdG9yYWdlRGlhbG9nX3Bhc3NQaHJhc2VJbnB1dCB7XG4gICAgICAgICAgICB3aWR0aDogMzAwcHg7XG4gICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjMGRiZDhiO1xuICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tYWNjZW50LWNvbG9yLCAjMGRiZDhiKTtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgICAgICAgfVxuXG4ubXhfQWNjZXNzU2VjcmV0U3RvcmFnZURpYWxvZyAubXhfQWNjZXNzU2VjcmV0U3RvcmFnZURpYWxvZ19wcmltYXJ5Q29udGFpbmVyIC5teF9BY2Nlc3NTZWNyZXRTdG9yYWdlRGlhbG9nX2tleVN0YXR1cyB7XG4gICAgICAgICAgICBoZWlnaHQ6IDMwcHg7XG4gICAgICAgIH1cblxuLm14X0FjY2Vzc1NlY3JldFN0b3JhZ2VEaWFsb2cgLm14X0FjY2Vzc1NlY3JldFN0b3JhZ2VEaWFsb2dfcHJpbWFyeUNvbnRhaW5lciAubXhfQWNjZXNzU2VjcmV0U3RvcmFnZURpYWxvZ19yZWNvdmVyeUtleUVudHJ5IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICAgICAgICAgICAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICB9XG5cbi5teF9BY2Nlc3NTZWNyZXRTdG9yYWdlRGlhbG9nIC5teF9BY2Nlc3NTZWNyZXRTdG9yYWdlRGlhbG9nX3ByaW1hcnlDb250YWluZXIgLm14X0FjY2Vzc1NlY3JldFN0b3JhZ2VEaWFsb2dfcmVjb3ZlcnlLZXlFbnRyeSAubXhfQWNjZXNzU2VjcmV0U3RvcmFnZURpYWxvZ19yZWNvdmVyeUtleUVudHJ5X3RleHRJbnB1dCB7XG4gICAgICAgICAgICAgICAgLXdlYmtpdC1ib3gtZmxleDogMTtcbiAgICAgICAgICAgICAgICAgICAgLW1zLWZsZXgtcG9zaXRpdmU6IDE7XG4gICAgICAgICAgICAgICAgICAgICAgICBmbGV4LWdyb3c6IDE7XG4gICAgICAgICAgICB9XG5cbi5teF9BY2Nlc3NTZWNyZXRTdG9yYWdlRGlhbG9nIC5teF9BY2Nlc3NTZWNyZXRTdG9yYWdlRGlhbG9nX3ByaW1hcnlDb250YWluZXIgLm14X0FjY2Vzc1NlY3JldFN0b3JhZ2VEaWFsb2dfcmVjb3ZlcnlLZXlFbnRyeSAubXhfQWNjZXNzU2VjcmV0U3RvcmFnZURpYWxvZ19yZWNvdmVyeUtleUVudHJ5X2VudHJ5Q29udHJvbFNlcGFyYXRvclRleHQge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMTZweDtcbiAgICAgICAgICAgIH1cblxuLm14X0FjY2Vzc1NlY3JldFN0b3JhZ2VEaWFsb2cgLm14X0FjY2Vzc1NlY3JldFN0b3JhZ2VEaWFsb2dfcHJpbWFyeUNvbnRhaW5lciAubXhfQWNjZXNzU2VjcmV0U3RvcmFnZURpYWxvZ19yZWNvdmVyeUtleUVudHJ5IC5teF9BY2Nlc3NTZWNyZXRTdG9yYWdlRGlhbG9nX3JlY292ZXJ5S2V5RW50cnlfZmlsZUlucHV0IHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgfVxuXG4ubXhfQWNjZXNzU2VjcmV0U3RvcmFnZURpYWxvZyAubXhfQWNjZXNzU2VjcmV0U3RvcmFnZURpYWxvZ19wcmltYXJ5Q29udGFpbmVyIC5teF9BY2Nlc3NTZWNyZXRTdG9yYWdlRGlhbG9nX3JlY292ZXJ5S2V5RmVlZGJhY2s6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IGJvdHRvbTtcbiAgICAgICAgICAgICAgICB3aWR0aDogMjBweDtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICAgICAgICAgICAgLXdlYmtpdC1tYXNrLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFzay1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgICAgICAgICAtd2Via2l0LW1hc2stcG9zaXRpb246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hc2stcG9zaXRpb246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAtd2Via2l0LW1hc2stc2l6ZTogMjBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hc2stc2l6ZTogMjBweDtcbiAgICAgICAgICAgICAgICAtd2Via2l0LW1hcmdpbi1lbmQ6IDVweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1pbmxpbmUtZW5kOiA1cHg7XG4gICAgICAgICAgICB9XG5cbi5teF9BY2Nlc3NTZWNyZXRTdG9yYWdlRGlhbG9nIC5teF9BY2Nlc3NTZWNyZXRTdG9yYWdlRGlhbG9nX3ByaW1hcnlDb250YWluZXIgLm14X0FjY2Vzc1NlY3JldFN0b3JhZ2VEaWFsb2dfcmVjb3ZlcnlLZXlGZWVkYmFjay5teF9BY2Nlc3NTZWNyZXRTdG9yYWdlRGlhbG9nX3JlY292ZXJ5S2V5RmVlZGJhY2stLXZhbGlkIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogIzBkYmQ4YjtcbiAgICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tYWNjZW50LWNvbG9yLCAjMGRiZDhiKTtcbiAgICAgICAgICAgIH1cblxuLm14X0FjY2Vzc1NlY3JldFN0b3JhZ2VEaWFsb2cgLm14X0FjY2Vzc1NlY3JldFN0b3JhZ2VEaWFsb2dfcHJpbWFyeUNvbnRhaW5lciAubXhfQWNjZXNzU2VjcmV0U3RvcmFnZURpYWxvZ19yZWNvdmVyeUtleUZlZWRiYWNrLm14X0FjY2Vzc1NlY3JldFN0b3JhZ2VEaWFsb2dfcmVjb3ZlcnlLZXlGZWVkYmFjay0tdmFsaWQ6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgIC13ZWJraXQtbWFzay1pbWFnZTogdXJsKFwiQHZlY3Rvci1pbS9jb21wb3VuZC1kZXNpZ24tdG9rZW5zL2ljb25zL2NoZWNrLnN2Z1wiKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXNrLWltYWdlOiB1cmwoXCJAdmVjdG9yLWltL2NvbXBvdW5kLWRlc2lnbi10b2tlbnMvaWNvbnMvY2hlY2suc3ZnXCIpO1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMGRiZDhiO1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1hY2NlbnQtY29sb3IsICMwZGJkOGIpO1xuICAgICAgICAgICAgICAgIH1cblxuLm14X0FjY2Vzc1NlY3JldFN0b3JhZ2VEaWFsb2cgLm14X0FjY2Vzc1NlY3JldFN0b3JhZ2VEaWFsb2dfcHJpbWFyeUNvbnRhaW5lciAubXhfQWNjZXNzU2VjcmV0U3RvcmFnZURpYWxvZ19yZWNvdmVyeUtleUZlZWRiYWNrLm14X0FjY2Vzc1NlY3JldFN0b3JhZ2VEaWFsb2dfcmVjb3ZlcnlLZXlGZWVkYmFjay0taW52YWxpZCB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICNmZjViNTU7XG4gICAgICAgICAgICAgICAgY29sb3I6IHZhcigtLWFsZXJ0LCAjZmY1YjU1KTtcbiAgICAgICAgICAgIH1cblxuLm14X0FjY2Vzc1NlY3JldFN0b3JhZ2VEaWFsb2cgLm14X0FjY2Vzc1NlY3JldFN0b3JhZ2VEaWFsb2dfcHJpbWFyeUNvbnRhaW5lciAubXhfQWNjZXNzU2VjcmV0U3RvcmFnZURpYWxvZ19yZWNvdmVyeUtleUZlZWRiYWNrLm14X0FjY2Vzc1NlY3JldFN0b3JhZ2VEaWFsb2dfcmVjb3ZlcnlLZXlGZWVkYmFjay0taW52YWxpZDo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgLXdlYmtpdC1tYXNrLWltYWdlOiB1cmwoXCJAdmVjdG9yLWltL2NvbXBvdW5kLWRlc2lnbi10b2tlbnMvaWNvbnMvY2xvc2Uuc3ZnXCIpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hc2staW1hZ2U6IHVybChcIkB2ZWN0b3ItaW0vY29tcG91bmQtZGVzaWduLXRva2Vucy9pY29ucy9jbG9zZS5zdmdcIik7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZjViNTU7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWFsZXJ0LCAjZmY1YjU1KTtcbiAgICAgICAgICAgICAgICB9XG5cbi5teF9BY2Nlc3NTZWNyZXRTdG9yYWdlRGlhbG9nIC5teF9BY2Nlc3NTZWNyZXRTdG9yYWdlRGlhbG9nX3ByaW1hcnlDb250YWluZXIgLm14X0RpYWxvZ19idXR0b25zIHsgLyogMTZweCBpY29uICsgOHB4IHBhZGRpbmcgKi9cblxuICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcblxuICAgICAgICAgICAgdGV4dC1hbGlnbjogaW5pdGlhbDtcbiAgICAgICAgICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICAgICAgICAgICAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcbiAgICAgICAgICAgIC13ZWJraXQtYm94LWRpcmVjdGlvbjogbm9ybWFsO1xuICAgICAgICAgICAgICAgIC1tcy1mbGV4LWZsb3c6IGNvbHVtbjtcbiAgICAgICAgICAgICAgICAgICAgZmxleC1mbG93OiBjb2x1bW47XG4gICAgICAgICAgICBnYXA6IDE0cHg7XG4gICAgICAgIH1cblxuLm14X0FjY2Vzc1NlY3JldFN0b3JhZ2VEaWFsb2cgLm14X0FjY2Vzc1NlY3JldFN0b3JhZ2VEaWFsb2dfcHJpbWFyeUNvbnRhaW5lciAubXhfRGlhbG9nX2J1dHRvbnMgLm14X0RpYWxvZ19idXR0b25zX2FkZGl0aXZlIHtcbiAgICAgICAgICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgICAgICAgIH1cblxuLm14X0FjY2Vzc1NlY3JldFN0b3JhZ2VEaWFsb2cgLm14X0FjY2Vzc1NlY3JldFN0b3JhZ2VEaWFsb2dfcHJpbWFyeUNvbnRhaW5lciAubXhfRGlhbG9nX2J1dHRvbnMgLm14X0RpYWxvZ19idXR0b25zX2FkZGl0aXZlIC5teF9BY2Nlc3NTZWNyZXRTdG9yYWdlRGlhbG9nX3Jlc2V0IHtcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgICAgICAtd2Via2l0LXBhZGRpbmctc3RhcnQ6IDI0cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1pbmxpbmUtc3RhcnQ6IDI0cHg7XG4gICAgICAgICAgICAgICAgICAgIC8qIFRvIGF2b2lkIGJvbGQgc3R5bGluZyBpbmhlcmVudCB3aXRoIDxzdHJvbmc+IGVsZW1lbnRzICovXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBpbmhlcml0O1xuICAgICAgICAgICAgICAgIH1cblxuLm14X0FjY2Vzc1NlY3JldFN0b3JhZ2VEaWFsb2cgLm14X0FjY2Vzc1NlY3JldFN0b3JhZ2VEaWFsb2dfcHJpbWFyeUNvbnRhaW5lciAubXhfRGlhbG9nX2J1dHRvbnMgLm14X0RpYWxvZ19idXR0b25zX2FkZGl0aXZlIC5teF9BY2Nlc3NTZWNyZXRTdG9yYWdlRGlhbG9nX3Jlc2V0OjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogMTZweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxNnB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogMnB4OyAvKiBhbGlnbm1lbnQgKi9cbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIkB2ZWN0b3ItaW0vY29tcG91bmQtZGVzaWduLXRva2Vucy9pY29ucy9lcnJvci5zdmdcIik7XG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gICAgICAgICAgICAgICAgICAgIH1cblxuLm14X0FjY2Vzc1NlY3JldFN0b3JhZ2VEaWFsb2cgLm14X0FjY2Vzc1NlY3JldFN0b3JhZ2VEaWFsb2dfcHJpbWFyeUNvbnRhaW5lciAubXhfRGlhbG9nX2J1dHRvbnMgLm14X0RpYWxvZ19idXR0b25zX2FkZGl0aXZlIC5teF9BY2Nlc3NTZWNyZXRTdG9yYWdlRGlhbG9nX3Jlc2V0IC5teF9BY2Nlc3NTZWNyZXRTdG9yYWdlRGlhbG9nX3Jlc2V0X2xpbmsge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICNmZjViNTU7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tYWxlcnQsICNmZjViNTUpO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbi5teF9BY2Nlc3NTZWNyZXRTdG9yYWdlRGlhbG9nIC5teF9BY2Nlc3NTZWNyZXRTdG9yYWdlRGlhbG9nX3ByaW1hcnlDb250YWluZXIgLm14X0RpYWxvZ19idXR0b25zIC5teF9EaWFsb2dfYnV0dG9uc19yb3cge1xuICAgICAgICAgICAgICAgIGdhcDogMTZweDsgLyogVE9ETzogbmVlZHMgbm9ybWFsaXphdGlvbiAqL1xuICAgICAgICAgICAgICAgIC13ZWJraXQtcGFkZGluZy1zdGFydDogMjRweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctaW5saW5lLXN0YXJ0OiAyNHB4O1xuICAgICAgICAgICAgfVxuXG4vKlxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXG5Db3B5cmlnaHQgMjAyMCBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxuXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXG4qL1xuXG4ubXhfQ3JlYXRlQ3Jvc3NTaWduaW5nRGlhbG9nIHtcbiAgICAvKiBXaHkgeW91IGFzaz8gQmVjYXVzZSBDb21wbGV0ZVNlY3VyaXR5Qm9keSBpcyA2MDBweCBzbyB0aGlzIGlzIHRoZSB3aWR0aCAqL1xuICAgIC8qIHdlIGVuZCB1cCB3aGVuIGluIHRoZXJlLCBidXQgd2hlbiBpbiBvdXIgb3duIGRpYWxvZyB3ZSBzZXQgb3VyIG93biB3aWR0aCAqL1xuICAgIC8qIHNvIG5lZWQgdG8gZml4IGl0IHRvIHNvbWV0aGluZyBzZW5zaWJsZSBhcyBvdGhlcndpc2Ugd2UnZCBlbmQgdXAgZWl0aGVyICovXG4gICAgLyogcmVhbGx5IHdpZGUgb3IgcmVhbGx5IG5hcnJvdyBkZXBlbmRpbmcgb24gdGhlIHBoYXNlLiBJIGJldCB5b3Ugd2lzaCB5b3UgKi9cbiAgICAvKiBuZXZlciBhc2tlZC4gKi9cbiAgICB3aWR0aDogNTYwcHg7XG59XG5cbi5teF9DcmVhdGVDcm9zc1NpZ25pbmdEaWFsb2cgZGV0YWlscyAubXhfQWNjZXNzaWJsZUJ1dHRvbiB7XG4gICAgICAgIG1hcmdpbjogMWVtIDA7IC8qIGVtdWxhdGUgcGFyYWdyYXBoIHNwYWNpbmcgYmVjYXVzZSB3ZSBjYW4ndCBwdXQgdGhpcyBidXR0b24gaW4gYSBwYXJhZ3JhcGggZHVlIHRvIEhUTUwgcnVsZXMgKi9cbiAgICB9XG5cbi5teF9DcmVhdGVDcm9zc1NpZ25pbmdEaWFsb2cgLm14X0RpYWxvZ190aXRsZSB7XG4gICAgLyogVE9ETzogQ29uc2lkZXIgc2V0dGluZyB0aGlzIGZvciBhbGwgZGlhbG9nIHRpdGxlcy4gKi9cbiAgICBtYXJnaW4tYm90dG9tOiAxZW07XG59XG5cbi8qXG5Db3B5cmlnaHQgMjAxOC0yMDI0IE5ldyBWZWN0b3IgTHRkLlxuXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXG4qL1xuXG4ubXhfQ3JlYXRlS2V5QmFja3VwRGlhbG9nIC5teF9EaWFsb2dfdGl0bGUge1xuICAgIC8qIFRPRE86IENvbnNpZGVyIHNldHRpbmcgdGhpcyBmb3IgYWxsIGRpYWxvZyB0aXRsZXMuICovXG4gICAgbWFyZ2luLWJvdHRvbTogMWVtO1xufVxuXG4ubXhfQ3JlYXRlS2V5QmFja3VwRGlhbG9nX3ByaW1hcnlDb250YWluZXIge1xuICAgIC8qIEZJWE1FOiBwbGludGggY29sb3VyIGluIG5ldyB0aGVtZShzKS4gYmFja2dyb3VuZC1jb2xvcjogJGFjY2VudDsgKi9cbiAgICBwYWRkaW5nOiAyMHB4O1xufVxuXG4ubXhfQ3JlYXRlS2V5QmFja3VwRGlhbG9nX3ByaW1hcnlDb250YWluZXI6OmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGNsZWFyOiBib3RoO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4ubXhfQ3JlYXRlS2V5QmFja3VwRGlhbG9nX3Bhc3NQaHJhc2VDb250YWluZXIge1xuICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgLXdlYmtpdC1ib3gtYWxpZ246IHN0YXJ0O1xuICAgICAgICAtbXMtZmxleC1hbGlnbjogc3RhcnQ7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbn1cblxuLm14X0NyZWF0ZUtleUJhY2t1cERpYWxvZ19wYXNzUGhyYXNlSW5wdXQge1xuICAgIC13ZWJraXQtYm94LWZsZXg6IDA7XG4gICAgICAgIC1tcy1mbGV4OiBub25lO1xuICAgICAgICAgICAgZmxleDogbm9uZTtcbiAgICB3aWR0aDogMjUwcHg7XG4gICAgYm9yZGVyOiAxcHggc29saWQgIzBkYmQ4YjtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1hY2NlbnQtY29sb3IsICMwZGJkOGIpO1xuICAgIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgICBwYWRkaW5nOiAxMHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDFlbTtcbn1cblxuLm14X0NyZWF0ZUtleUJhY2t1cERpYWxvZ19wYXNzUGhyYXNlTWF0Y2gge1xuICAgIG1hcmdpbi1sZWZ0OiAyMHB4O1xufVxuXG4ubXhfQ3JlYXRlS2V5QmFja3VwRGlhbG9nX3JlY292ZXJ5S2V5SGVhZGVyIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxZW07XG59XG5cbi5teF9DcmVhdGVLZXlCYWNrdXBEaWFsb2dfcmVjb3ZlcnlLZXlDb250YWluZXIge1xuICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICAgIGRpc3BsYXk6IGZsZXg7XG59XG5cbi5teF9DcmVhdGVLZXlCYWNrdXBEaWFsb2dfcmVjb3ZlcnlLZXkge1xuICAgIHdpZHRoOiAyNjJweDtcbiAgICBwYWRkaW5nOiAyMHB4O1xuICAgIGNvbG9yOiB2YXIoLS10aW1lbGluZS10ZXh0LXNlY29uZGFyeS1jb2xvcik7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzIyMjYyZTtcbiAgICBtYXJnaW4tcmlnaHQ6IDEycHg7XG59XG5cbi5teF9DcmVhdGVLZXlCYWNrdXBEaWFsb2dfcmVjb3ZlcnlLZXlCdXR0b25zIHtcbiAgICAtd2Via2l0LWJveC1mbGV4OiAxO1xuICAgICAgICAtbXMtZmxleDogMTtcbiAgICAgICAgICAgIGZsZXg6IDE7XG4gICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gICAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO1xuICAgICAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cblxuLm14X0NyZWF0ZUtleUJhY2t1cERpYWxvZ19yZWNvdmVyeUtleUJ1dHRvbnMgYnV0dG9uIHtcbiAgICAtd2Via2l0LWJveC1mbGV4OiAxO1xuICAgICAgICAtbXMtZmxleDogMTtcbiAgICAgICAgICAgIGZsZXg6IDE7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLm14X0NyZWF0ZUtleUJhY2t1cERpYWxvZyBkZXRhaWxzIC5teF9BY2Nlc3NpYmxlQnV0dG9uIHtcbiAgICAgICAgbWFyZ2luOiAxZW0gMDsgLyogZW11bGF0ZSBwYXJhZ3JhcGggc3BhY2luZyBiZWNhdXNlIHdlIGNhbid0IHB1dCB0aGlzIGJ1dHRvbiBpbiBhIHBhcmFncmFwaCBkdWUgdG8gSFRNTCBydWxlcyAqL1xuICAgIH1cblxuLypcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxuQ29weXJpZ2h0IDIwMTksIDIwMjAgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cbkNvcHlyaWdodCAyMDE4IE5ldyBWZWN0b3IgTHRkXG5cblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cbiovXG5cbi5teF9DcmVhdGVTZWNyZXRTdG9yYWdlRGlhbG9nIHtcbiAgICAvKiBXaHkgeW91IGFzaz8gQmVjYXVzZSBDb21wbGV0ZVNlY3VyaXR5Qm9keSBpcyA2MDBweCBzbyB0aGlzIGlzIHRoZSB3aWR0aCAqL1xuICAgIC8qIHdlIGVuZCB1cCB3aGVuIGluIHRoZXJlLCBidXQgd2hlbiBpbiBvdXIgb3duIGRpYWxvZyB3ZSBzZXQgb3VyIG93biB3aWR0aCAqL1xuICAgIC8qIHNvIG5lZWQgdG8gZml4IGl0IHRvIHNvbWV0aGluZyBzZW5zaWJsZSBhcyBvdGhlcndpc2Ugd2UnZCBlbmQgdXAgZWl0aGVyICovXG4gICAgLyogcmVhbGx5IHdpZGUgb3IgcmVhbGx5IG5hcnJvdyBkZXBlbmRpbmcgb24gdGhlIHBoYXNlLiBJIGJldCB5b3Ugd2lzaCB5b3UgKi9cbiAgICAvKiBuZXZlciBhc2tlZC4gKi9cbiAgICB3aWR0aDogNTYwcHg7XG59XG5cbi5teF9DcmVhdGVTZWNyZXRTdG9yYWdlRGlhbG9nLm14X1N1Y2Nlc3NEaWFsb2cge1xuICAgICAgICBwYWRkaW5nOiA1NnB4OyAvKiA4MHB4IGZyb20gZGVzaWduIC0gMjRweCB3cmFwcGVyIHBhZGRpbmcgKi9cbiAgICB9XG5cbi5teF9DcmVhdGVTZWNyZXRTdG9yYWdlRGlhbG9nLm14X1N1Y2Nlc3NEaWFsb2cgLm14X0RpYWxvZ190aXRsZSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxNnB4O1xuICAgICAgICB9XG5cbi5teF9DcmVhdGVTZWNyZXRTdG9yYWdlRGlhbG9nIC5teF9TZXR0aW5nc0ZsYWcge1xuICAgICAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgICAgICAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgfVxuXG4ubXhfQ3JlYXRlU2VjcmV0U3RvcmFnZURpYWxvZyAubXhfU2V0dGluZ3NGbGFnX2xhYmVsIHtcbiAgICAgICAgLXdlYmtpdC1ib3gtZmxleDogMTtcbiAgICAgICAgICAgIC1tcy1mbGV4OiAxIDEgMHB4O1xuICAgICAgICAgICAgICAgIGZsZXg6IDEgMSAwO1xuICAgICAgICBtaW4td2lkdGg6IDA7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1jcGQtZm9udC13ZWlnaHQtc2VtaWJvbGQpO1xuICAgIH1cblxuLm14X0NyZWF0ZVNlY3JldFN0b3JhZ2VEaWFsb2cgLm14X1RvZ2dsZVN3aXRjaCB7XG4gICAgICAgIC13ZWJraXQtYm94LWZsZXg6IDA7XG4gICAgICAgICAgICAtbXMtZmxleDogMCAwIGF1dG87XG4gICAgICAgICAgICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAzMHB4O1xuICAgIH1cblxuLm14X0NyZWF0ZVNlY3JldFN0b3JhZ2VEaWFsb2cgZGV0YWlscyAubXhfQWNjZXNzaWJsZUJ1dHRvbiB7XG4gICAgICAgIG1hcmdpbjogMWVtIDA7IC8qIGVtdWxhdGUgcGFyYWdyYXBoIHNwYWNpbmcgYmVjYXVzZSB3ZSBjYW4ndCBwdXQgdGhpcyBidXR0b24gaW4gYSBwYXJhZ3JhcGggZHVlIHRvIEhUTUwgcnVsZXMgKi9cbiAgICB9XG5cbi5teF9DcmVhdGVTZWNyZXRTdG9yYWdlRGlhbG9nIC5teF9EaWFsb2dfdGl0bGUge1xuICAgIC8qIFRPRE86IENvbnNpZGVyIHNldHRpbmcgdGhpcyBmb3IgYWxsIGRpYWxvZyB0aXRsZXMuICovXG4gICAgbWFyZ2luLWJvdHRvbTogMWVtO1xufVxuXG4ubXhfQ3JlYXRlU2VjcmV0U3RvcmFnZURpYWxvZ190aXRsZVdpdGhJY29uOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHdpZHRoOiAyNHB4O1xuICAgIGhlaWdodDogMjRweDtcbiAgICBtYXJnaW4tcmlnaHQ6IDhweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiA1cHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdGltZWxpbmUtdGV4dC1jb2xvcik7XG59XG5cbi5teF9DcmVhdGVTZWNyZXRTdG9yYWdlRGlhbG9nX3NlY3VyZUJhY2t1cFRpdGxlOjpiZWZvcmUge1xuICAgIC13ZWJraXQtbWFzay1pbWFnZTogdXJsKFwiLi4vLi4vLi4vaW1nL2ZlYXRoZXItY3VzdG9taXNlZC9zZWN1cmUtYmFja3VwLnN2Z1wiKTtcbiAgICAgICAgICAgIG1hc2staW1hZ2U6IHVybChcIi4uLy4uLy4uL2ltZy9mZWF0aGVyLWN1c3RvbWlzZWQvc2VjdXJlLWJhY2t1cC5zdmdcIik7XG59XG5cbi5teF9DcmVhdGVTZWNyZXRTdG9yYWdlRGlhbG9nX3NlY3VyZVBocmFzZVRpdGxlOjpiZWZvcmUge1xuICAgIC13ZWJraXQtbWFzay1pbWFnZTogdXJsKFwiLi4vLi4vLi4vaW1nL2ZlYXRoZXItY3VzdG9taXNlZC9zZWN1cmUtcGhyYXNlLnN2Z1wiKTtcbiAgICAgICAgICAgIG1hc2staW1hZ2U6IHVybChcIi4uLy4uLy4uL2ltZy9mZWF0aGVyLWN1c3RvbWlzZWQvc2VjdXJlLXBocmFzZS5zdmdcIik7XG59XG5cbi5teF9DcmVhdGVTZWNyZXRTdG9yYWdlRGlhbG9nX2NlbnRlcmVkVGl0bGUsXG4ubXhfQ3JlYXRlU2VjcmV0U3RvcmFnZURpYWxvZ19jZW50ZXJlZEJvZHkge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLm14X0NyZWF0ZVNlY3JldFN0b3JhZ2VEaWFsb2dfcHJpbWFyeUNvbnRhaW5lciB7XG4gICAgLyogRklYTUU6IHBsaW50aCBjb2xvdXIgaW4gbmV3IHRoZW1lKHMpLiBiYWNrZ3JvdW5kLWNvbG9yOiAkYWNjZW50OyAqL1xuICAgIHBhZGRpbmctdG9wOiAyMHB4O1xufVxuXG4ubXhfQ3JlYXRlU2VjcmV0U3RvcmFnZURpYWxvZ19wcmltYXJ5Q29udGFpbmVyLm14X0NyZWF0ZVNlY3JldFN0b3JhZ2VEaWFsb2dfcmVjb3ZlcnlLZXlQcmltYXJ5Y29udGFpbmVyIHtcbiAgICAgICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gICAgICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAtd2Via2l0LWJveC1wYWNrOiBjZW50ZXI7XG4gICAgICAgICAgICAtbXMtZmxleC1wYWNrOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgfVxuXG4ubXhfQ3JlYXRlU2VjcmV0U3RvcmFnZURpYWxvZ19wcmltYXJ5Q29udGFpbmVyOjphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBjbGVhcjogYm90aDtcbiAgICBkaXNwbGF5OiBibG9jaztcbn1cblxuLm14X0NyZWF0ZVNlY3JldFN0b3JhZ2VEaWFsb2dfcHJpbWFyeUNvbnRhaW5lciAubXhfU3R5bGVkUmFkaW9CdXR0b24ge1xuICAgIG1hcmdpbi1ib3R0b206IDE2cHg7XG4gICAgcGFkZGluZzogMTFweDtcbn1cblxuLm14X0NyZWF0ZVNlY3JldFN0b3JhZ2VEaWFsb2dfb3B0aW9uVGl0bGUge1xuICAgIGNvbG9yOiB2YXIoLS10aW1lbGluZS10ZXh0LWNvbG9yKTtcbiAgICBmb250LXdlaWdodDogdmFyKC0tY3BkLWZvbnQtd2VpZ2h0LXNlbWlib2xkKTtcbiAgICBmb250LXNpemU6IDEuMTI1cmVtO1xuICAgIHBhZGRpbmctYm90dG9tOiAxMHB4O1xufVxuXG4ubXhfQ3JlYXRlU2VjcmV0U3RvcmFnZURpYWxvZ19vcHRpb25JY29uIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgd2lkdGg6IDI0cHg7XG4gICAgaGVpZ2h0OiAyNHB4O1xuICAgIG1hcmdpbi1yaWdodDogOHB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IDVweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS10aW1lbGluZS10ZXh0LWNvbG9yKTtcbn1cblxuLm14X0NyZWF0ZVNlY3JldFN0b3JhZ2VEaWFsb2dfb3B0aW9uSWNvbl9zZWN1cmVQaHJhc2Uge1xuICAgIC13ZWJraXQtbWFzay1pbWFnZTogdXJsKFwiLi4vLi4vLi4vaW1nL2ZlYXRoZXItY3VzdG9taXNlZC9zZWN1cmUtcGhyYXNlLnN2Z1wiKTtcbiAgICAgICAgICAgIG1hc2staW1hZ2U6IHVybChcIi4uLy4uLy4uL2ltZy9mZWF0aGVyLWN1c3RvbWlzZWQvc2VjdXJlLXBocmFzZS5zdmdcIik7XG59XG5cbi5teF9DcmVhdGVTZWNyZXRTdG9yYWdlRGlhbG9nX29wdGlvbkljb25fc2VjdXJlQmFja3VwIHtcbiAgICAtd2Via2l0LW1hc2staW1hZ2U6IHVybChcIi4uLy4uLy4uL2ltZy9mZWF0aGVyLWN1c3RvbWlzZWQvc2VjdXJlLWJhY2t1cC5zdmdcIik7XG4gICAgICAgICAgICBtYXNrLWltYWdlOiB1cmwoXCIuLi8uLi8uLi9pbWcvZmVhdGhlci1jdXN0b21pc2VkL3NlY3VyZS1iYWNrdXAuc3ZnXCIpO1xufVxuXG4ubXhfQ3JlYXRlU2VjcmV0U3RvcmFnZURpYWxvZ19wYXNzUGhyYXNlQ29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIC13ZWJraXQtYm94LWFsaWduOiBzdGFydDtcbiAgICAgICAgLW1zLWZsZXgtYWxpZ246IHN0YXJ0O1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG59XG5cbi5teF9GaWVsZC5teF9DcmVhdGVTZWNyZXRTdG9yYWdlRGlhbG9nX3Bhc3NQaHJhc2VGaWVsZCB7XG4gICAgbWFyZ2luLXRvcDogMHB4O1xufVxuXG4ubXhfQ3JlYXRlU2VjcmV0U3RvcmFnZURpYWxvZ19wYXNzUGhyYXNlTWF0Y2gge1xuICAgIHdpZHRoOiAyMDBweDtcbiAgICBtYXJnaW4tbGVmdDogMjBweDtcbn1cblxuLm14X0NyZWF0ZVNlY3JldFN0b3JhZ2VEaWFsb2dfcmVjb3ZlcnlLZXlDb250YWluZXIge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cblxuLm14X0NyZWF0ZVNlY3JldFN0b3JhZ2VEaWFsb2dfcmVjb3ZlcnlLZXkge1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBwYWRkaW5nOiAyMHB4O1xuICAgIGNvbG9yOiB2YXIoLS10aW1lbGluZS10ZXh0LXNlY29uZGFyeS1jb2xvcik7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzIyMjYyZTtcbiAgICBib3JkZXItcmFkaXVzOiA2cHg7XG4gICAgd29yZC1zcGFjaW5nOiAxZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbn1cblxuLm14X0NyZWF0ZVNlY3JldFN0b3JhZ2VEaWFsb2dfcmVjb3ZlcnlLZXkgY29kZSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgd2lkdGg6IDMwcmVtO1xuICAgIH1cblxuLm14X0NyZWF0ZVNlY3JldFN0b3JhZ2VEaWFsb2dfcmVjb3ZlcnlLZXlCdXR0b25zIHtcbiAgICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO1xuICAgICAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGdhcDogMTZweDtcbn1cblxuLm14X0NyZWF0ZVNlY3JldFN0b3JhZ2VEaWFsb2dfcmVjb3ZlcnlLZXlCdXR0b25zX2NvcHlCdG4ge1xuICAgIC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWw7XG4gICAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiBub3JtYWw7XG4gICAgICAgIC1tcy1mbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbn1cblxuLm14X0NyZWF0ZVNlY3JldFN0b3JhZ2VEaWFsb2dfcmVjb3ZlcnlLZXlCdXR0b25zIC5teF9BY2Nlc3NpYmxlQnV0dG9uIHtcbiAgICAtd2Via2l0LWJveC1mbGV4OiAxO1xuICAgICAgICAtbXMtZmxleC1wb3NpdGl2ZTogMTtcbiAgICAgICAgICAgIGZsZXgtZ3JvdzogMTtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4ubXhfQ3JlYXRlU2VjcmV0U3RvcmFnZURpYWxvZ19jb250aW51ZVNwaW5uZXIge1xuICAgIG1hcmdpbi10b3A6IDMzcHg7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG59XG5cbi5teF9DcmVhdGVTZWNyZXRTdG9yYWdlRGlhbG9nX2NvbnRpbnVlU3Bpbm5lciBpbWcge1xuICAgIHdpZHRoOiAyMHB4O1xuICAgIGhlaWdodDogMjBweDtcbn1cblxuLypcbkNvcHlyaWdodCAyMDE4LTIwMjQgTmV3IFZlY3RvciBMdGQuXG5cblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cbiovXG5cbi5teF9LZXlCYWNrdXBGYWlsZWREaWFsb2cgLm14X0RpYWxvZ190aXRsZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMzJweDtcbn1cblxuLm14X0tleUJhY2t1cEZhaWxlZERpYWxvZ190aXRsZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmctbGVmdDogNDVweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMTBweDtcbn1cblxuLm14X0tleUJhY2t1cEZhaWxlZERpYWxvZ190aXRsZTo6YmVmb3JlIHtcbiAgICAgICAgLXdlYmtpdC1tYXNrOiB1cmwoXCIuLi8uLi8uLi9pbWcvZTJlL2xvY2std2FybmluZy1maWxsZWQuc3ZnXCIpO1xuICAgICAgICAgICAgICAgIG1hc2s6IHVybChcIi4uLy4uLy4uL2ltZy9lMmUvbG9jay13YXJuaW5nLWZpbGxlZC5zdmdcIik7XG4gICAgICAgIC13ZWJraXQtbWFzay1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgICAgICAgICBtYXNrLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS10aW1lbGluZS10ZXh0LWNvbG9yKTtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IC02cHg7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgfVxuXG4ubXhfS2V5QmFja3VwRmFpbGVkRGlhbG9nIC5teF9EaWFsb2dfYnV0dG9ucyB7XG4gICAgbWFyZ2luLXRvcDogMzZweDtcbn1cblxuLypcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxuQ29weXJpZ2h0IDIwMTkgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cbkNvcHlyaWdodCAyMDE4IE5ldyBWZWN0b3IgTHRkXG5cblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cbiovXG5cbi5teF9SZXN0b3JlS2V5QmFja3VwRGlhbG9nX2tleVN0YXR1cyB7XG4gICAgaGVpZ2h0OiAzMHB4O1xufVxuXG4ubXhfUmVzdG9yZUtleUJhY2t1cERpYWxvZ19wcmltYXJ5Q29udGFpbmVyIHtcbiAgICAvKiBGSVhNRTogcGxpbnRoIGNvbG91ciBpbiBuZXcgdGhlbWUocykuIGJhY2tncm91bmQtY29sb3I6ICRhY2NlbnQ7ICovXG4gICAgcGFkZGluZzogMjBweDtcbn1cblxuLm14X1Jlc3RvcmVLZXlCYWNrdXBEaWFsb2dfcGFzc1BocmFzZUlucHV0LFxuLm14X1Jlc3RvcmVLZXlCYWNrdXBEaWFsb2dfcmVjb3ZlcnlLZXlJbnB1dCB7XG4gICAgd2lkdGg6IDMwMHB4O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICMwZGJkOGI7XG4gICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tYWNjZW50LWNvbG9yLCAjMGRiZDhiKTtcbiAgICBib3JkZXItcmFkaXVzOiA1cHg7XG4gICAgcGFkZGluZzogMTBweDtcbn1cblxuLm14X1Jlc3RvcmVLZXlCYWNrdXBEaWFsb2dfY29udGVudCA+IGRpdiB7XG4gICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gICAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xuICAgIC13ZWJraXQtYm94LWRpcmVjdGlvbjogbm9ybWFsO1xuICAgICAgICAtbXMtZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgLXdlYmtpdC1ib3gtcGFjazoganVzdGlmeTtcbiAgICAgICAgLW1zLWZsZXgtcGFjazoganVzdGlmeTtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBtaW4taGVpZ2h0OiAxMTBweDsgLyogRW1waXJpY2FsbHkgbWVhc3VyZWQgKi9cbn1cblxuLypcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxuQ29weXJpZ2h0IDIwMjIgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cblxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuKi9cblxuLm14X05ldHdvcmtEcm9wZG93bl93cmFwcGVyIC5teF9Db250ZXh0dWFsTWVudSAubXhfR2VuZXJpY0Ryb3Bkb3duTWVudV9PcHRpb24ubXhfR2VuZXJpY0Ryb3Bkb3duTWVudV9PcHRpb24tLWhlYWRlciB7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogMTJweDtcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiA0cHg7XG4gICAgICAgICAgICBtaW4td2lkdGg6IDE2MHB4O1xuICAgICAgICB9XG5cbi5teF9OZXR3b3JrRHJvcGRvd25fd3JhcHBlciAubXhfQ29udGV4dHVhbE1lbnUgLm14X0dlbmVyaWNEcm9wZG93bk1lbnVfT3B0aW9uLm14X0dlbmVyaWNEcm9wZG93bk1lbnVfT3B0aW9uLS1pdGVtIHtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiA0cHg7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogNHB4O1xuICAgICAgICB9XG5cbi5teF9OZXR3b3JrRHJvcGRvd25fd3JhcHBlciAubXhfQ29udGV4dHVhbE1lbnUgLm14X0dlbmVyaWNEcm9wZG93bk1lbnVfT3B0aW9uLm14X0dlbmVyaWNEcm9wZG93bk1lbnVfT3B0aW9uLS1pdGVtID4gLm14X0dlbmVyaWNEcm9wZG93bk1lbnVfT3B0aW9uLS1sYWJlbCBzcGFuOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICAgICAgfVxuXG4ubXhfTmV0d29ya0Ryb3Bkb3duX3dyYXBwZXIgLm14X0NvbnRleHR1YWxNZW51IC5teF9HZW5lcmljRHJvcGRvd25NZW51X09wdGlvbiA+IC5teF9HZW5lcmljRHJvcGRvd25NZW51X09wdGlvbi0tbGFiZWwge1xuICAgICAgICAgICAgLXdlYmtpdC1ib3gtb3JpZW50OiBob3Jpem9udGFsO1xuICAgICAgICAgICAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiBub3JtYWw7XG4gICAgICAgICAgICAgICAgLW1zLWZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgICAgICAtd2Via2l0LWJveC1hbGlnbjogYmFzZWxpbmU7XG4gICAgICAgICAgICAgICAgLW1zLWZsZXgtYWxpZ246IGJhc2VsaW5lO1xuICAgICAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogYmFzZWxpbmU7XG4gICAgICAgICAgICAtbXMtZmxleC1saW5lLXBhY2s6IGJhc2VsaW5lO1xuICAgICAgICAgICAgICAgIGFsaWduLWNvbnRlbnQ6IGJhc2VsaW5lO1xuICAgICAgICAgICAgY29sb3I6IHZhcigtLXRpbWVsaW5lLXRleHQtY29sb3IpO1xuICAgICAgICB9XG5cbi5teF9OZXR3b3JrRHJvcGRvd25fd3JhcHBlciAubXhfQ29udGV4dHVhbE1lbnUgLm14X0dlbmVyaWNEcm9wZG93bk1lbnVfT3B0aW9uID4gLm14X0dlbmVyaWNEcm9wZG93bk1lbnVfT3B0aW9uLS1sYWJlbCBzcGFuOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogNHB4O1xuICAgICAgICAgICAgICAgIGNvbG9yOiAjZWRmM2ZmO1xuICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1zZWNvbmRhcnktY29udGVudCwgI2VkZjNmZik7XG4gICAgICAgICAgICB9XG5cbi5teF9OZXR3b3JrRHJvcGRvd25fd3JhcHBlciAubXhfQ29udGV4dHVhbE1lbnUgLm14X0dlbmVyaWNEcm9wZG93bk1lbnVfZGl2aWRlciB7XG4gICAgICAgIG1hcmdpbi10b3A6IDRweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNHB4O1xuICAgIH1cblxuLm14X05ldHdvcmtEcm9wZG93bl9hZGRTZXJ2ZXIge1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgZm9udC1zaXplOiAwLjkzNzVyZW07XG59XG5cbi5teF9OZXR3b3JrRHJvcGRvd25fcmVtb3ZlU2VydmVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHdpZHRoOiAxNnB4O1xuICAgIGhlaWdodDogMTZweDtcbiAgICBiYWNrZ3JvdW5kOiAjNmY3ODgyO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLXF1aW5hcnktY29udGVudCwgIzZmNzg4Mik7XG4gICAgYm9yZGVyLXJhZGl1czogOHB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBsaW5lLWhlaWdodDogMTZweDtcbiAgICBjb2xvcjogI2VkZjNmZjtcbiAgICBjb2xvcjogdmFyKC0tc2Vjb25kYXJ5LWNvbnRlbnQsICNlZGYzZmYpO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xufVxuXG4ubXhfTmV0d29ya0Ryb3Bkb3duX3JlbW92ZVNlcnZlcjo6YmVmb3JlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2VkZjNmZjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tc2Vjb25kYXJ5LWNvbnRlbnQsICNlZGYzZmYpO1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAtd2Via2l0LW1hc2stcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgICAgICAgbWFzay1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgLXdlYmtpdC1tYXNrLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgbWFzay1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgICAtd2Via2l0LW1hc2stc2l6ZTogMTRweDtcbiAgICAgICAgICAgICAgICBtYXNrLXNpemU6IDE0cHg7XG4gICAgICAgIHdpZHRoOiBpbmhlcml0O1xuICAgICAgICBoZWlnaHQ6IGluaGVyaXQ7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgICAgICAgLXdlYmtpdC1tYXNrLWltYWdlOiB1cmwoXCJAdmVjdG9yLWltL2NvbXBvdW5kLWRlc2lnbi10b2tlbnMvaWNvbnMvY2xvc2Uuc3ZnXCIpO1xuICAgICAgICAgICAgICAgIG1hc2staW1hZ2U6IHVybChcIkB2ZWN0b3ItaW0vY29tcG91bmQtZGVzaWduLXRva2Vucy9pY29ucy9jbG9zZS5zdmdcIik7XG4gICAgfVxuXG4ubXhfTmV0d29ya0Ryb3Bkb3duX2RpYWxvZyAubXhfRGlhbG9nIHtcbiAgICB3aWR0aDogNDV2dztcbn1cblxuLypcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxuQ29weXJpZ2h0IDIwMTcgVmVjdG9yIENyZWF0aW9ucyBMdGRcblxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuKi9cblxuLm14X0FjY2Vzc2libGVCdXR0b24ge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLm14X0FjY2Vzc2libGVCdXR0b24ubXhfQWNjZXNzaWJsZUJ1dHRvbl9kaXNhYmxlZCB7XG4gICAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gICAgfVxuXG4ubXhfQWNjZXNzaWJsZUJ1dHRvbi5teF9BY2Nlc3NpYmxlQnV0dG9uX2Rpc2FibGVkLm14X0FjY2Vzc2libGVCdXR0b25fa2luZF9pY29uX3ByaW1hcnksXG4gICAgICAgIC5teF9BY2Nlc3NpYmxlQnV0dG9uLm14X0FjY2Vzc2libGVCdXR0b25fZGlzYWJsZWQubXhfQWNjZXNzaWJsZUJ1dHRvbl9raW5kX2ljb25fcHJpbWFyeV9vdXRsaW5lLFxuICAgICAgICAubXhfQWNjZXNzaWJsZUJ1dHRvbi5teF9BY2Nlc3NpYmxlQnV0dG9uX2Rpc2FibGVkLm14X0FjY2Vzc2libGVCdXR0b25fa2luZF9wcmltYXJ5LFxuICAgICAgICAubXhfQWNjZXNzaWJsZUJ1dHRvbi5teF9BY2Nlc3NpYmxlQnV0dG9uX2Rpc2FibGVkLm14X0FjY2Vzc2libGVCdXR0b25fa2luZF9wcmltYXJ5X291dGxpbmUsXG4gICAgICAgIC5teF9BY2Nlc3NpYmxlQnV0dG9uLm14X0FjY2Vzc2libGVCdXR0b25fZGlzYWJsZWQubXhfQWNjZXNzaWJsZUJ1dHRvbl9raW5kX3ByaW1hcnlfc20sXG4gICAgICAgIC5teF9BY2Nlc3NpYmxlQnV0dG9uLm14X0FjY2Vzc2libGVCdXR0b25fZGlzYWJsZWQubXhfQWNjZXNzaWJsZUJ1dHRvbl9raW5kX2xpbmssXG4gICAgICAgIC5teF9BY2Nlc3NpYmxlQnV0dG9uLm14X0FjY2Vzc2libGVCdXR0b25fZGlzYWJsZWQubXhfQWNjZXNzaWJsZUJ1dHRvbl9raW5kX2xpbmtfYWNjZW50LFxuICAgICAgICAubXhfQWNjZXNzaWJsZUJ1dHRvbi5teF9BY2Nlc3NpYmxlQnV0dG9uX2Rpc2FibGVkLm14X0FjY2Vzc2libGVCdXR0b25fa2luZF9saW5rX2lubGluZSxcbiAgICAgICAgLm14X0FjY2Vzc2libGVCdXR0b24ubXhfQWNjZXNzaWJsZUJ1dHRvbl9kaXNhYmxlZC5teF9BY2Nlc3NpYmxlQnV0dG9uX2tpbmRfZGFuZ2VyX2lubGluZSxcbiAgICAgICAgLm14X0FjY2Vzc2libGVCdXR0b24ubXhfQWNjZXNzaWJsZUJ1dHRvbl9kaXNhYmxlZC5teF9BY2Nlc3NpYmxlQnV0dG9uX2tpbmRfY29udGVudF9pbmxpbmUsXG4gICAgICAgIC5teF9BY2Nlc3NpYmxlQnV0dG9uLm14X0FjY2Vzc2libGVCdXR0b25fZGlzYWJsZWQubXhfQWNjZXNzaWJsZUJ1dHRvbl9raW5kX2xpbmtfc20ge1xuICAgICAgICAgICAgb3BhY2l0eTogMC40O1xuICAgICAgICB9XG5cbi5teF9BY2Nlc3NpYmxlQnV0dG9uLm14X0FjY2Vzc2libGVCdXR0b25faGFzS2luZCB7XG4gICAgICAgIHBhZGRpbmc6IDdweCAxOHB4O1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDI0cHg7XG4gICAgICAgIGRpc3BsYXk6IC13ZWJraXQtaW5saW5lLWJveDtcbiAgICAgICAgZGlzcGxheTogLW1zLWlubGluZS1mbGV4Ym94O1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgLXdlYmtpdC1ib3gtcGFjazogY2VudGVyO1xuICAgICAgICAgICAgLW1zLWZsZXgtcGFjazogY2VudGVyO1xuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBmb250OiB2YXIoLS1jcGQtZm9udC1ib2R5LW1kLXNlbWlib2xkKTtcbiAgICAgICAgYm9yZGVyOiBub25lOyAvKiBvdmVycmlkZSBkZWZhdWx0IDxidXR0b24gLz4gc3R5bGVzICovXG4gICAgICAgIHdvcmQtYnJlYWs6IGtlZXAtYWxsOyAvKiBwcmV2ZW50IGJ1dHRvbiB0ZXh0IGluIENoaW5lc2UvSmFwYW5lc2UvS29yZWFuIChDSkspIGZyb20gYmVpbmcgY29sbGFwc2VkICovXG4gICAgfVxuXG4ubXhfQWNjZXNzaWJsZUJ1dHRvbi5teF9BY2Nlc3NpYmxlQnV0dG9uX2hhc0tpbmQubXhfQWNjZXNzaWJsZUJ1dHRvbl9raW5kX3ByaW1hcnlfc20sXG4gICAgICAgIC5teF9BY2Nlc3NpYmxlQnV0dG9uLm14X0FjY2Vzc2libGVCdXR0b25faGFzS2luZC5teF9BY2Nlc3NpYmxlQnV0dG9uX2tpbmRfZGFuZ2VyX3NtLFxuICAgICAgICAubXhfQWNjZXNzaWJsZUJ1dHRvbi5teF9BY2Nlc3NpYmxlQnV0dG9uX2hhc0tpbmQubXhfQWNjZXNzaWJsZUJ1dHRvbl9raW5kX2xpbmtfc20ge1xuICAgICAgICAgICAgcGFkZGluZzogNXB4IDEycHg7XG4gICAgICAgIH1cblxuLm14X0FjY2Vzc2libGVCdXR0b24ubXhfQWNjZXNzaWJsZUJ1dHRvbl9oYXNLaW5kLm14X0FjY2Vzc2libGVCdXR0b25fa2luZF9wcmltYXJ5X3NtIHtcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1jcGQtY29sb3ItdGV4dC1vbi1zb2xpZC1wcmltYXJ5KTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNwZC1jb2xvci1iZy1hY3Rpb24tcHJpbWFyeS1yZXN0KTtcbiAgICAgICAgfVxuXG4ubXhfQWNjZXNzaWJsZUJ1dHRvbi5teF9BY2Nlc3NpYmxlQnV0dG9uX2hhc0tpbmQubXhfQWNjZXNzaWJsZUJ1dHRvbl9raW5kX2Rhbmdlcl9zbSB7XG4gICAgICAgICAgICBjb2xvcjogdmFyKC0tY3BkLWNvbG9yLXRleHQtb24tc29saWQtcHJpbWFyeSk7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jcGQtY29sb3ItYmctY3JpdGljYWwtcHJpbWFyeSk7XG4gICAgICAgIH1cblxuLm14X0FjY2Vzc2libGVCdXR0b24ubXhfQWNjZXNzaWJsZUJ1dHRvbl9oYXNLaW5kLm14X0FjY2Vzc2libGVCdXR0b25fa2luZF9saW5rX3NtIHtcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1jcGQtY29sb3ItdGV4dC1wcmltYXJ5KTtcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLWNwZC1mb250LXdlaWdodC1zZW1pYm9sZCk7XG4gICAgICAgIH1cblxuLm14X0FjY2Vzc2libGVCdXR0b24ubXhfQWNjZXNzaWJsZUJ1dHRvbl9oYXNLaW5kLm14X0FjY2Vzc2libGVCdXR0b25fa2luZF9jb25maXJtX3NtIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNwZC1jb2xvci1iZy1hY3Rpb24tcHJpbWFyeS1yZXN0KTtcbiAgICAgICAgfVxuXG4ubXhfQWNjZXNzaWJsZUJ1dHRvbi5teF9BY2Nlc3NpYmxlQnV0dG9uX2hhc0tpbmQubXhfQWNjZXNzaWJsZUJ1dHRvbl9raW5kX2NvbmZpcm1fc206OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgLXdlYmtpdC1tYXNrLWltYWdlOiB1cmwoXCJAdmVjdG9yLWltL2NvbXBvdW5kLWRlc2lnbi10b2tlbnMvaWNvbnMvY2hlY2suc3ZnXCIpO1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFzay1pbWFnZTogdXJsKFwiQHZlY3Rvci1pbS9jb21wb3VuZC1kZXNpZ24tdG9rZW5zL2ljb25zL2NoZWNrLnN2Z1wiKTtcbiAgICAgICAgICAgIH1cblxuLm14X0FjY2Vzc2libGVCdXR0b24ubXhfQWNjZXNzaWJsZUJ1dHRvbl9oYXNLaW5kLm14X0FjY2Vzc2libGVCdXR0b25fa2luZF9jYW5jZWxfc20ge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY3BkLWNvbG9yLWJnLWNyaXRpY2FsLXByaW1hcnkpO1xuICAgICAgICB9XG5cbi5teF9BY2Nlc3NpYmxlQnV0dG9uLm14X0FjY2Vzc2libGVCdXR0b25faGFzS2luZC5teF9BY2Nlc3NpYmxlQnV0dG9uX2tpbmRfY2FuY2VsX3NtOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIC13ZWJraXQtbWFzay1pbWFnZTogdXJsKFwiQHZlY3Rvci1pbS9jb21wb3VuZC1kZXNpZ24tdG9rZW5zL2ljb25zL2Nsb3NlLnN2Z1wiKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hc2staW1hZ2U6IHVybChcIkB2ZWN0b3ItaW0vY29tcG91bmQtZGVzaWduLXRva2Vucy9pY29ucy9jbG9zZS5zdmdcIik7XG4gICAgICAgICAgICB9XG5cbi5teF9BY2Nlc3NpYmxlQnV0dG9uLm14X0FjY2Vzc2libGVCdXR0b25faGFzS2luZC5teF9BY2Nlc3NpYmxlQnV0dG9uX2tpbmRfaWNvbixcbiAgICAgICAgLm14X0FjY2Vzc2libGVCdXR0b24ubXhfQWNjZXNzaWJsZUJ1dHRvbl9oYXNLaW5kLm14X0FjY2Vzc2libGVCdXR0b25fa2luZF9pY29uX3ByaW1hcnksXG4gICAgICAgIC5teF9BY2Nlc3NpYmxlQnV0dG9uLm14X0FjY2Vzc2libGVCdXR0b25faGFzS2luZC5teF9BY2Nlc3NpYmxlQnV0dG9uX2tpbmRfaWNvbl9wcmltYXJ5X291dGxpbmUge1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgIGhlaWdodDogMzJweDtcbiAgICAgICAgICAgIHdpZHRoOiAzMnB4O1xuICAgICAgICB9XG5cbi5teF9BY2Nlc3NpYmxlQnV0dG9uLm14X0FjY2Vzc2libGVCdXR0b25fa2luZF9pY29uX3ByaW1hcnksXG4gICAgLm14X0FjY2Vzc2libGVCdXR0b24ubXhfQWNjZXNzaWJsZUJ1dHRvbl9raW5kX2ljb25fcHJpbWFyeV9vdXRsaW5lLFxuICAgIC5teF9BY2Nlc3NpYmxlQnV0dG9uLm14X0FjY2Vzc2libGVCdXR0b25fa2luZF9wcmltYXJ5LFxuICAgIC5teF9BY2Nlc3NpYmxlQnV0dG9uLm14X0FjY2Vzc2libGVCdXR0b25fa2luZF9wcmltYXJ5X291dGxpbmUsXG4gICAgLm14X0FjY2Vzc2libGVCdXR0b24ubXhfQWNjZXNzaWJsZUJ1dHRvbl9raW5kX3NlY29uZGFyeSB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1jcGQtZm9udC13ZWlnaHQtc2VtaWJvbGQpO1xuICAgIH1cblxuLm14X0FjY2Vzc2libGVCdXR0b24ubXhfQWNjZXNzaWJsZUJ1dHRvbl9raW5kX2ljb25fcHJpbWFyeSxcbiAgICAubXhfQWNjZXNzaWJsZUJ1dHRvbi5teF9BY2Nlc3NpYmxlQnV0dG9uX2tpbmRfcHJpbWFyeSB7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNwZC1jb2xvci1iZy1hY3Rpb24tcHJpbWFyeS1yZXN0KTtcbiAgICAgICAgY29sb3I6IHZhcigtLWNwZC1jb2xvci10ZXh0LW9uLXNvbGlkLXByaW1hcnkpO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jcGQtY29sb3ItYmctYWN0aW9uLXByaW1hcnktcmVzdCk7XG4gICAgfVxuXG4ubXhfQWNjZXNzaWJsZUJ1dHRvbi5teF9BY2Nlc3NpYmxlQnV0dG9uX2tpbmRfaWNvbl9wcmltYXJ5X291dGxpbmUsXG4gICAgLm14X0FjY2Vzc2libGVCdXR0b24ubXhfQWNjZXNzaWJsZUJ1dHRvbl9raW5kX3ByaW1hcnlfb3V0bGluZSB7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNwZC1jb2xvci1ib3JkZXItaW50ZXJhY3RpdmUtc2Vjb25kYXJ5KTtcbiAgICAgICAgY29sb3I6IHZhcigtLWNwZC1jb2xvci10ZXh0LXByaW1hcnkpO1xuICAgIH1cblxuLm14X0FjY2Vzc2libGVCdXR0b24ubXhfQWNjZXNzaWJsZUJ1dHRvbl9raW5kX3NlY29uZGFyeSB7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jcGQtY29sb3ItdGV4dC1wcmltYXJ5KTtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgfVxuXG4ubXhfQWNjZXNzaWJsZUJ1dHRvbi5teF9BY2Nlc3NpYmxlQnV0dG9uX2tpbmRfc2Vjb25kYXJ5X2NvbnRlbnQge1xuICAgICAgICBjb2xvcjogI2VkZjNmZjtcbiAgICAgICAgY29sb3I6IHZhcigtLXNlY29uZGFyeS1jb250ZW50LCAjZWRmM2ZmKTtcbiAgICB9XG5cbi5teF9BY2Nlc3NpYmxlQnV0dG9uLm14X0FjY2Vzc2libGVCdXR0b25fa2luZF9kYW5nZXIge1xuICAgICAgICBjb2xvcjogdmFyKC0tY3BkLWNvbG9yLXRleHQtb24tc29saWQtcHJpbWFyeSk7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNwZC1jb2xvci1iZy1jcml0aWNhbC1wcmltYXJ5KTtcbiAgICB9XG5cbi5teF9BY2Nlc3NpYmxlQnV0dG9uLm14X0FjY2Vzc2libGVCdXR0b25fa2luZF9kYW5nZXIubXhfQWNjZXNzaWJsZUJ1dHRvbl9kaXNhYmxlZCB7XG4gICAgICAgICAgICBjb2xvcjogdmFyKC0tY3BkLWNvbG9yLXRleHQtb24tc29saWQtcHJpbWFyeSk7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jcGQtY29sb3ItYmctY3JpdGljYWwtcHJpbWFyeSk7XG4gICAgICAgIH1cblxuLm14X0FjY2Vzc2libGVCdXR0b24ubXhfQWNjZXNzaWJsZUJ1dHRvbl9raW5kX2Rhbmdlcl9vdXRsaW5lIHtcbiAgICAgICAgY29sb3I6IHZhcigtLWNwZC1jb2xvci10ZXh0LWNyaXRpY2FsLXByaW1hcnkpO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tY3BkLWNvbG9yLWJvcmRlci1jcml0aWNhbC1zdWJ0bGUpO1xuICAgIH1cblxuLm14X0FjY2Vzc2libGVCdXR0b24ubXhfQWNjZXNzaWJsZUJ1dHRvbl9raW5kX2Rhbmdlcl9vdXRsaW5lLm14X0FjY2Vzc2libGVCdXR0b25fZGlzYWJsZWQge1xuICAgICAgICAgICAgY29sb3I6IHZhcigtLWNwZC1jb2xvci10ZXh0LWRpc2FibGVkKTtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0tY3BkLWNvbG9yLWJvcmRlci1kaXNhYmxlZCk7XG4gICAgICAgIH1cblxuLm14X0FjY2Vzc2libGVCdXR0b24ubXhfQWNjZXNzaWJsZUJ1dHRvbl9raW5kX2Rhbmdlcl9zbS5teF9BY2Nlc3NpYmxlQnV0dG9uX2Rpc2FibGVkIHtcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1jcGQtY29sb3ItdGV4dC1kaXNhYmxlZCk7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jcGQtY29sb3ItYmctc3VidGxlLXByaW1hcnkpO1xuICAgICAgICB9XG5cbi5teF9BY2Nlc3NpYmxlQnV0dG9uLm14X0FjY2Vzc2libGVCdXR0b25fa2luZF9saW5rLFxuICAgIC5teF9BY2Nlc3NpYmxlQnV0dG9uLm14X0FjY2Vzc2libGVCdXR0b25fa2luZF9saW5rX2lubGluZSxcbiAgICAubXhfQWNjZXNzaWJsZUJ1dHRvbi5teF9BY2Nlc3NpYmxlQnV0dG9uX2tpbmRfZGFuZ2VyX2lubGluZSxcbiAgICAubXhfQWNjZXNzaWJsZUJ1dHRvbi5teF9BY2Nlc3NpYmxlQnV0dG9uX2tpbmRfY29udGVudF9pbmxpbmUge1xuICAgICAgICBmb250LXNpemU6IGluaGVyaXQ7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1jcGQtZm9udC13ZWlnaHQtc2VtaWJvbGQpO1xuICAgICAgICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgfVxuXG4ubXhfQWNjZXNzaWJsZUJ1dHRvbi5teF9BY2Nlc3NpYmxlQnV0dG9uX2tpbmRfbGluayxcbiAgICAubXhfQWNjZXNzaWJsZUJ1dHRvbi5teF9BY2Nlc3NpYmxlQnV0dG9uX2tpbmRfbGlua19pbmxpbmUge1xuICAgICAgICBjb2xvcjogdmFyKC0tY3BkLWNvbG9yLXRleHQtcHJpbWFyeSk7XG4gICAgfVxuXG4ubXhfQWNjZXNzaWJsZUJ1dHRvbi5teF9BY2Nlc3NpYmxlQnV0dG9uX2tpbmRfZGFuZ2VyX2lubGluZSB7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jcGQtY29sb3ItdGV4dC1jcml0aWNhbC1wcmltYXJ5KTtcbiAgICB9XG5cbi5teF9BY2Nlc3NpYmxlQnV0dG9uLm14X0FjY2Vzc2libGVCdXR0b25fa2luZF9jb250ZW50X2lubGluZSB7XG4gICAgICAgIGNvbG9yOiB2YXIoLS10aW1lbGluZS10ZXh0LWNvbG9yKTtcbiAgICB9XG5cbi5teF9BY2Nlc3NpYmxlQnV0dG9uLm14X0FjY2Vzc2libGVCdXR0b25fa2luZF9saW5rX2lubGluZSxcbiAgICAubXhfQWNjZXNzaWJsZUJ1dHRvbi5teF9BY2Nlc3NpYmxlQnV0dG9uX2tpbmRfZGFuZ2VyX2lubGluZSxcbiAgICAubXhfQWNjZXNzaWJsZUJ1dHRvbi5teF9BY2Nlc3NpYmxlQnV0dG9uX2tpbmRfY29udGVudF9pbmxpbmUge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgfVxuXG4ubXhfQWNjZXNzaWJsZUJ1dHRvbi5teF9BY2Nlc3NpYmxlQnV0dG9uX2tpbmRfY29uZmlybV9zbSxcbiAgICAubXhfQWNjZXNzaWJsZUJ1dHRvbi5teF9BY2Nlc3NpYmxlQnV0dG9uX2tpbmRfY2FuY2VsX3NtIHtcbiAgICAgICAgcGFkZGluZzogMHB4O1xuICAgICAgICB3aWR0aDogMTZweDtcbiAgICAgICAgaGVpZ2h0OiAxNnB4O1xuICAgICAgICBib3JkZXItcmFkaXVzOiAxMDAlO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxuLm14X0FjY2Vzc2libGVCdXR0b24ubXhfQWNjZXNzaWJsZUJ1dHRvbl9raW5kX2NvbmZpcm1fc206OmJlZm9yZSwgLm14X0FjY2Vzc2libGVCdXR0b24ubXhfQWNjZXNzaWJsZUJ1dHRvbl9raW5kX2NhbmNlbF9zbTo6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIGluc2V0OiAwO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgICAgIC13ZWJraXQtbWFzay1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgICAgICAgICAgICAgbWFzay1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgICAgIC13ZWJraXQtbWFzay1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICBtYXNrLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICAgICAgICAtd2Via2l0LW1hc2stc2l6ZTogODAlO1xuICAgICAgICAgICAgICAgICAgICBtYXNrLXNpemU6IDgwJTtcbiAgICAgICAgfVxuXG4vKlxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXG5Db3B5cmlnaHQgMjAyMiDFoGltb24gQnJhbmRuZXIgPHNpbW9uLmJyYS5hZ0BnbWFpbC5jb20+XG5Db3B5cmlnaHQgMjAxOSBOZXcgVmVjdG9yIEx0ZFxuXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXG4qL1xuXG4ubXhfQ29weWFibGVUZXh0IHtcbiAgICAtd2Via2l0LWJveC1hbGlnbjogc3RhcnQ7XG4gICAgICAgIC1tcy1mbGV4LWFsaWduOiBzdGFydDtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgLXdlYmtpdC1ib3gtcGFjazoganVzdGlmeTtcbiAgICAgICAgLW1zLWZsZXgtcGFjazoganVzdGlmeTtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICB3aWR0aDogLXdlYmtpdC1tYXgtY29udGVudDtcbiAgICB3aWR0aDogLW1vei1tYXgtY29udGVudDtcbiAgICB3aWR0aDogbWF4LWNvbnRlbnQ7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xufVxuXG4ubXhfQ29weWFibGVUZXh0Lm14X0NvcHlhYmxlVGV4dF9ib3JkZXIge1xuICAgICAgICBvdmVyZmxvdzogYXV0bztcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNXB4O1xuICAgICAgICBib3JkZXI6IHNvbGlkIDFweCB2YXIoLS10aW1lbGluZS10ZXh0LXNlY29uZGFyeS1jb2xvcik7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgICAgIG1hcmdpbi10b3A6IDEwcHg7XG4gICAgICAgIHBhZGRpbmc6IDEwcHggMCAxMHB4IDEwcHg7XG4gICAgfVxuXG4ubXhfQ29weWFibGVUZXh0IC5teF9Db3B5YWJsZVRleHRfY29weUJ1dHRvbiB7XG4gICAgICAgIC1tcy1mbGV4LW5lZ2F0aXZlOiAwO1xuICAgICAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICAgIC8qIHVzaW5nIGVtIGhlcmUgdG8gYWRhcHQgdG8gdGhlIGxvY2FsIGZvbnQgc2l6ZSAqL1xuICAgICAgICB3aWR0aDogMWVtO1xuICAgICAgICBoZWlnaHQ6IDFlbTtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDEycHg7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDEwcHg7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAvKiBJZiB0aGUgY29weSBidXR0b24gaXMgdXNlZCB3aXRoaW4gYSBzY3JvbGxhYmxlIGRpdiwgbWFrZSBpdCBzdGljayB0byB0aGUgcmlnaHQgd2hpbGUgc2Nyb2xsaW5nICovXG4gICAgICAgIHBvc2l0aW9uOiBzdGlja3k7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAvKiBjZW50ZXIgdG8gZmlyc3QgbGluZSAqL1xuICAgICAgICB0b3A6IDAuMTVlbTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdGltZWxpbmUtYmFja2dyb3VuZC1jb2xvcik7XG4gICAgfVxuXG4ubXhfQ29weWFibGVUZXh0IC5teF9Db3B5YWJsZVRleHRfY29weUJ1dHRvbjo6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICAtd2Via2l0LW1hc2staW1hZ2U6IHVybChcIkB2ZWN0b3ItaW0vY29tcG91bmQtZGVzaWduLXRva2Vucy9pY29ucy9jb3B5LnN2Z1wiKTtcbiAgICAgICAgICAgICAgICAgICAgbWFzay1pbWFnZTogdXJsKFwiQHZlY3Rvci1pbS9jb21wb3VuZC1kZXNpZ24tdG9rZW5zL2ljb25zL2NvcHkuc3ZnXCIpO1xuICAgICAgICAgICAgLXdlYmtpdC1tYXNrLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICBtYXNrLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuICAgICAgICAgICAgLXdlYmtpdC1tYXNrLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgICAgICAgICAgICBtYXNrLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgICAgLXdlYmtpdC1tYXNrLXNpemU6IGNvbnRhaW47XG4gICAgICAgICAgICAgICAgICAgIG1hc2stc2l6ZTogY29udGFpbjtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXRpbWVsaW5lLXRleHQtY29sb3IpO1xuICAgICAgICAgICAgd2lkdGg6IDFlbTtcbiAgICAgICAgICAgIGhlaWdodDogMWVtO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICB9XG5cbi8qXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cbkNvcHlyaWdodCAyMDIxIMWgaW1vbiBCcmFuZG5lciA8c2ltb24uYnJhLmFnQGdtYWlsLmNvbT5cblxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuKi9cblxuLm14X2Rlc2t0b3BDYXB0dXJlclNvdXJjZVBpY2tlciB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLm14X2Rlc2t0b3BDYXB0dXJlclNvdXJjZVBpY2tlciAubXhfZGVza3RvcENhcHR1cmVyU291cmNlUGlja2VyX3RhYiB7XG4gICAgICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICAgICAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgLW1zLWZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgLXdlYmtpdC1ib3gtcGFjazogY2VudGVyO1xuICAgICAgICAgICAgLW1zLWZsZXgtcGFjazogY2VudGVyO1xuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAtd2Via2l0LWJveC1hbGlnbjogc3RhcnQ7XG4gICAgICAgICAgICAtbXMtZmxleC1hbGlnbjogc3RhcnQ7XG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgICAgIGhlaWdodDogNTAwcHg7XG4gICAgICAgIG92ZXJmbG93OiBvdmVybGF5O1xuICAgIH1cblxuLm14X2Rlc2t0b3BDYXB0dXJlclNvdXJjZVBpY2tlciAubXhfZGVza3RvcENhcHR1cmVyU291cmNlUGlja2VyX3RhYiAubXhfZGVza3RvcENhcHR1cmVyU291cmNlUGlja2VyX3NvdXJjZSB7XG4gICAgICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgICAgICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gICAgICAgICAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xuICAgICAgICAgICAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiBub3JtYWw7XG4gICAgICAgICAgICAgICAgLW1zLWZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIH1cblxuLm14X2Rlc2t0b3BDYXB0dXJlclNvdXJjZVBpY2tlciAubXhfZGVza3RvcENhcHR1cmVyU291cmNlUGlja2VyX3RhYiAubXhfZGVza3RvcENhcHR1cmVyU291cmNlUGlja2VyX3NvdXJjZSAubXhfZGVza3RvcENhcHR1cmVyU291cmNlUGlja2VyX3NvdXJjZV90aHVtYm5haWwge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogNHB4O1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDRweDtcbiAgICAgICAgICAgICAgICBib3JkZXItd2lkdGg6IDJweDtcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgfVxuXG4ubXhfZGVza3RvcENhcHR1cmVyU291cmNlUGlja2VyIC5teF9kZXNrdG9wQ2FwdHVyZXJTb3VyY2VQaWNrZXJfdGFiIC5teF9kZXNrdG9wQ2FwdHVyZXJTb3VyY2VQaWNrZXJfc291cmNlIC5teF9kZXNrdG9wQ2FwdHVyZXJTb3VyY2VQaWNrZXJfc291cmNlX3RodW1ibmFpbC5teF9kZXNrdG9wQ2FwdHVyZXJTb3VyY2VQaWNrZXJfc291cmNlX3RodW1ibmFpbF9zZWxlY3RlZCxcbiAgICAgICAgICAgICAgICAubXhfZGVza3RvcENhcHR1cmVyU291cmNlUGlja2VyIC5teF9kZXNrdG9wQ2FwdHVyZXJTb3VyY2VQaWNrZXJfdGFiIC5teF9kZXNrdG9wQ2FwdHVyZXJTb3VyY2VQaWNrZXJfc291cmNlIC5teF9kZXNrdG9wQ2FwdHVyZXJTb3VyY2VQaWNrZXJfc291cmNlX3RodW1ibmFpbDpob3ZlcixcbiAgICAgICAgICAgICAgICAubXhfZGVza3RvcENhcHR1cmVyU291cmNlUGlja2VyIC5teF9kZXNrdG9wQ2FwdHVyZXJTb3VyY2VQaWNrZXJfdGFiIC5teF9kZXNrdG9wQ2FwdHVyZXJTb3VyY2VQaWNrZXJfc291cmNlIC5teF9kZXNrdG9wQ2FwdHVyZXJTb3VyY2VQaWNrZXJfc291cmNlX3RodW1ibmFpbDpmb2N1cyB7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogIzBkYmQ4YjtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1hY2NlbnQtY29sb3IsICMwZGJkOGIpO1xuICAgICAgICAgICAgICAgIH1cblxuLm14X2Rlc2t0b3BDYXB0dXJlclNvdXJjZVBpY2tlciAubXhfZGVza3RvcENhcHR1cmVyU291cmNlUGlja2VyX3RhYiAubXhfZGVza3RvcENhcHR1cmVyU291cmNlUGlja2VyX3NvdXJjZSAubXhfZGVza3RvcENhcHR1cmVyU291cmNlUGlja2VyX3NvdXJjZV9uYW1lIHtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgNHB4O1xuICAgICAgICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgICAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICAgIH1cblxuLypcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxuQ29weXJpZ2h0IDIwMjEgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cblxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuKi9cblxuLm14X0RpYWxQYWRCYWNrc3BhY2VCdXR0b24ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBoZWlnaHQ6IDI4cHg7XG4gICAgd2lkdGg6IDI4cHg7XG59XG5cbi5teF9EaWFsUGFkQmFja3NwYWNlQnV0dG9uOjpiZWZvcmUge1xuICAgICAgICAvKiBmb3JjZSB0aGlzIGVsZW1lbnQgdG8gYXBwZWFyIG9uIHRoZSBET00gKi9cbiAgICAgICAgY29udGVudDogXCJcIjtcblxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjOGQ5N2E1O1xuICAgICAgICB3aWR0aDogaW5oZXJpdDtcbiAgICAgICAgaGVpZ2h0OiBpbmhlcml0O1xuICAgICAgICB0b3A6IDBweDtcbiAgICAgICAgbGVmdDogMHB4O1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcblxuICAgICAgICAtd2Via2l0LW1hc2staW1hZ2U6IHVybChcIi4uLy4uLy4uL2ltZy9lbGVtZW50LWljb25zL2NhbGwvZGVsZXRlLnN2Z1wiKTtcblxuICAgICAgICAgICAgICAgIG1hc2staW1hZ2U6IHVybChcIi4uLy4uLy4uL2ltZy9lbGVtZW50LWljb25zL2NhbGwvZGVsZXRlLnN2Z1wiKTtcbiAgICAgICAgLXdlYmtpdC1tYXNrLXBvc2l0aW9uOiA4cHg7XG4gICAgICAgICAgICAgICAgbWFzay1wb3NpdGlvbjogOHB4O1xuICAgICAgICAtd2Via2l0LW1hc2stc2l6ZTogMjBweDtcbiAgICAgICAgICAgICAgICBtYXNrLXNpemU6IDIwcHg7XG4gICAgICAgIC13ZWJraXQtbWFzay1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgICAgICAgICBtYXNrLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIH1cblxuLypcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxuQ29weXJpZ2h0IDIwMTcgT3Blbk1hcmtldCBMdGRcblxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuKi9cblxuLm14X0Ryb3Bkb3duIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgY29sb3I6IHZhcigtLXRpbWVsaW5lLXRleHQtY29sb3IpO1xufVxuXG4ubXhfRHJvcGRvd25fZGlzYWJsZWQge1xuICAgIG9wYWNpdHk6IDAuMztcbn1cblxuLm14X0Ryb3Bkb3duX2lucHV0IHtcbiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tY3BkLWNvbG9yLWJvcmRlci1pbnRlcmFjdGl2ZS1zZWNvbmRhcnkpO1xuICAgIGZvbnQ6IHZhcigtLWNwZC1mb250LWJvZHktc20tcmVndWxhcik7XG4gICAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcbiAgICAgICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xuICAgICAgICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgICAgICAgICB1c2VyLXNlbGVjdDogbm9uZTtcbn1cblxuLm14X0Ryb3Bkb3duX2lucHV0Lm14X0FjY2Vzc2libGVCdXR0b25fZGlzYWJsZWQge1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG59XG5cbi5teF9Ecm9wZG93bl9pbnB1dDpmb2N1cyB7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1wcmltYXJ5LWNvbG9yKTtcbn1cblxuLyogRGlzYWJsZSBkcm9wZG93biBoaWdobGlnaHQgb24gZm9jdXMgKi9cblxuLm14X0Ryb3Bkb3duX2lucHV0Lm14X0FjY2Vzc2libGVCdXR0b246Zm9jdXMge1xuICAgIC13ZWJraXQtZmlsdGVyOiBub25lO1xuICAgICAgICAgICAgZmlsdGVyOiBub25lO1xufVxuXG4ubXhfRHJvcGRvd25fYXJyb3cge1xuICAgIHdpZHRoOiAxNnB4O1xuICAgIGhlaWdodDogMTZweDtcbiAgICBtYXJnaW4tcmlnaHQ6IDRweDtcbiAgICAtd2Via2l0LW1hc2s6IHVybChcIkB2ZWN0b3ItaW0vY29tcG91bmQtZGVzaWduLXRva2Vucy9pY29ucy9jaGV2cm9uLWRvd24uc3ZnXCIpO1xuICAgICAgICAgICAgbWFzazogdXJsKFwiQHZlY3Rvci1pbS9jb21wb3VuZC1kZXNpZ24tdG9rZW5zL2ljb25zL2NoZXZyb24tZG93bi5zdmdcIik7XG4gICAgLXdlYmtpdC1tYXNrLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgICAgbWFzay1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAtd2Via2l0LW1hc2stcG9zaXRpb246IGNlbnRlcjtcbiAgICAgICAgICAgIG1hc2stcG9zaXRpb246IGNlbnRlcjtcbiAgICAtd2Via2l0LW1hc2stc2l6ZTogMThweDtcbiAgICAgICAgICAgIG1hc2stc2l6ZTogMThweDtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS10aW1lbGluZS10ZXh0LWNvbG9yKTtcbn1cblxuLm14X0Ryb3Bkb3duX29wdGlvbiB7XG4gICAgaGVpZ2h0OiAzNXB4O1xuICAgIGxpbmUtaGVpZ2h0OiAyLjE4NzVyZW07XG4gICAgLyogT3ZlcndyaXRlcyB0aGUgZGVmYXVsdCBwYWRkaW5nIGZvciBhbnkgbGkgZWxlbWVudHMgKi9cbiAgICBwYWRkaW5nOiAwIDhweDtcbn1cblxuLm14X0Ryb3Bkb3duX2lucHV0ID4gLm14X0Ryb3Bkb3duX29wdGlvbiB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIC13ZWJraXQtYm94LWZsZXg6IDE7XG4gICAgICAgIC1tcy1mbGV4OiAxO1xuICAgICAgICAgICAgZmxleDogMTtcbiAgICBkaXNwbGF5OiAtd2Via2l0LWlubGluZS1ib3g7XG4gICAgZGlzcGxheTogLW1zLWlubGluZS1mbGV4Ym94O1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG4ubXhfRHJvcGRvd25fb3B0aW9uIGRpdiB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4ubXhfRHJvcGRvd25fb3B0aW9uIGltZyxcbi5teF9Ecm9wZG93bl9vcHRpb24gLm14X0Ryb3Bkb3duX29wdGlvbl9lbW9qaSB7XG4gICAgbWFyZ2luOiA1cHg7XG4gICAgd2lkdGg6IDE2cHg7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cblxuLm14X0Ryb3Bkb3duX29wdGlvbl9lbW9qaSB7XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxcmVtO1xufVxuXG5pbnB1dC5teF9Ecm9wZG93bl9vcHRpb24sXG5pbnB1dC5teF9Ecm9wZG93bl9vcHRpb246Zm9jdXMge1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgYm9yZGVyOiAwO1xuICAgIHBhZGRpbmctdG9wOiAwO1xuICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgIC8qIFhYWDogaGFjayB0byBwcmV2ZW50IHRleHQgYm94IGJlaW5nIHRvbyBiaWcgYW5kIHB1c2hpbmcgKi9cbiAgICAvKiBpdHMgcGFyZW50IG91dCAvIG92ZXJsYXBwaW5nIHRoZSBkcm9wZG93biBhcnJvdy4gT25seSByZWFsbHkgKi9cbiAgICAvKiB3b3JrcyBpbiB0aGUgQ291bnRyeSBkcm9wZG93bi4gKi9cbiAgICB3aWR0aDogNjAlO1xufVxuXG4ubXhfRHJvcGRvd25fbWVudSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IC0xcHg7XG4gICAgcmlnaHQ6IC0xcHg7XG4gICAgdG9wOiAxMDAlO1xuICAgIHotaW5kZXg6IDI7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDBweDtcbiAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tcHJpbWFyeS1jb2xvcik7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdGltZWxpbmUtYmFja2dyb3VuZC1jb2xvcik7XG4gICAgbWF4LWhlaWdodDogMjAwcHg7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbn1cblxuLm14X0Ryb3Bkb3duX21lbnUgLm14X0Ryb3Bkb3duX29wdGlvbiB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIG1pbi1oZWlnaHQ6IDM1cHg7XG59XG5cbnVsLm14X0Ryb3Bkb3duX21lbnUgbGkubXhfRHJvcGRvd25fb3B0aW9uIHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xufVxuXG4ubXhfRHJvcGRvd25fbWVudSAubXhfRHJvcGRvd25fb3B0aW9uX2hpZ2hsaWdodCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzM0M2E0NjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1mb2N1cy1iZy1jb2xvciwgIzM0M2E0Nik7XG59XG5cbi5teF9Ecm9wZG93bl9zZWFyY2hQcm9tcHQge1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgbWFyZ2luLWxlZnQ6IDVweDtcbiAgICBtYXJnaW4tYm90dG9tOiA1cHg7XG59XG5cbi8qXG5Db3B5cmlnaHQgMjAxNy0yMDI0IE5ldyBWZWN0b3IgTHRkLlxuXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXG4qL1xuXG4ubXhfRWRpdGFibGVJdGVtTGlzdCB7XG4gICAgbWFyZ2luLXRvcDogMTJweDtcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xufVxuXG4ubXhfRWRpdGFibGVJdGVtIHtcbiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIG1hcmdpbi1ib3R0b206IDVweDtcbn1cblxuLm14X0VkaXRhYmxlSXRlbV9kZWxldGUge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgd2lkdGg6IDI4cHg7XG4gICAgaGVpZ2h0OiAyOHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDE0cHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY3BkLWNvbG9yLWJnLXN1YnRsZS1zZWNvbmRhcnkpO1xufVxuXG4ubXhfRWRpdGFibGVJdGVtX2RlbGV0ZTpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNwZC1jb2xvci1iZy1zdWJ0bGUtcHJpbWFyeSk7XG4gICAgfVxuXG4ubXhfRWRpdGFibGVJdGVtX2RlbGV0ZTo6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgd2lkdGg6IDI4cHg7XG4gICAgICAgIGhlaWdodDogMjhweDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIC13ZWJraXQtbWFzay1pbWFnZTogdXJsKFwiQHZlY3Rvci1pbS9jb21wb3VuZC1kZXNpZ24tdG9rZW5zL2ljb25zL2Nsb3NlLnN2Z1wiKTtcbiAgICAgICAgICAgICAgICBtYXNrLWltYWdlOiB1cmwoXCJAdmVjdG9yLWltL2NvbXBvdW5kLWRlc2lnbi10b2tlbnMvaWNvbnMvY2xvc2Uuc3ZnXCIpO1xuICAgICAgICAtd2Via2l0LW1hc2stcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgICAgICAgbWFzay1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgLXdlYmtpdC1tYXNrLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgbWFzay1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgICAtd2Via2l0LW1hc2stc2l6ZTogMjBweDtcbiAgICAgICAgICAgICAgICBtYXNrLXNpemU6IDIwcHg7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNwZC1jb2xvci1pY29uLXNlY29uZGFyeSk7XG4gICAgfVxuXG4ubXhfRWRpdGFibGVJdGVtX2RlbGV0ZSB7XG4gICAgLXdlYmtpdC1ib3gtb3JkaW5hbC1ncm91cDogNDtcbiAgICAgICAgLW1zLWZsZXgtb3JkZXI6IDM7XG4gICAgICAgICAgICBvcmRlcjogMztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIHdpZHRoOiAyOHB4O1xuICAgIGhlaWdodDogMjhweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmY1YjU1O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWFsZXJ0LCAjZmY1YjU1KTtcbiAgICAtd2Via2l0LW1hc2stc2l6ZTogMTAwJTtcbiAgICAgICAgICAgIG1hc2stc2l6ZTogMTAwJTtcbn1cblxuLm14X0VkaXRhYmxlSXRlbV9lbWFpbCB7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cblxuLm14X0VkaXRhYmxlSXRlbV9wcm9tcHRUZXh0IHtcbiAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gICAgLXdlYmtpdC1ib3gtb3JkaW5hbC1ncm91cDogMztcbiAgICAgICAgLW1zLWZsZXgtb3JkZXI6IDI7XG4gICAgICAgICAgICBvcmRlcjogMjtcbn1cblxuLm14X0VkaXRhYmxlSXRlbV9jb25maXJtQnRuIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDVweDtcbn1cblxuLm14X0VkaXRhYmxlSXRlbV9pdGVtIHtcbiAgICAtd2Via2l0LWJveC1mbGV4OiAxO1xuICAgICAgICAtbXMtZmxleDogYXV0byAxIDBweDtcbiAgICAgICAgICAgIGZsZXg6IGF1dG8gMSAwO1xuICAgIC13ZWJraXQtYm94LW9yZGluYWwtZ3JvdXA6IDI7XG4gICAgICAgIC1tcy1mbGV4LW9yZGVyOiAxO1xuICAgICAgICAgICAgb3JkZXI6IDE7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDI4cHgpOyAvKiBsZWF2ZSBzcGFjZSBmb3IgdGhlIHJlbW92ZSBidXR0b24gKi9cbiAgICBvdmVyZmxvdy14OiBoaWRkZW47XG4gICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG59XG5cbi5teF9FZGl0YWJsZUl0ZW1MaXN0X2xhYmVsIHtcbiAgICBtYXJnaW4tYm90dG9tOiA1cHg7XG59XG5cbi8qXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cbkNvcHlyaWdodCAyMDE5IFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXG5cblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cbiovXG5cbi5teF9FcnJvckJvdW5kYXJ5IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gICAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO1xuICAgICAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAtd2Via2l0LWJveC1wYWNrOiBjZW50ZXI7XG4gICAgICAgIC1tcy1mbGV4LXBhY2s6IGNlbnRlcjtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuXG4ubXhfRXJyb3JCb3VuZGFyeV9ib2R5IHtcbiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWw7XG4gICAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiBub3JtYWw7XG4gICAgICAgIC1tcy1mbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBtYXgtd2lkdGg6IDQwMHB4O1xuICAgIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG4ubXhfRXJyb3JCb3VuZGFyeV9ib2R5IC5teF9BY2Nlc3NpYmxlQnV0dG9uIHtcbiAgICAgICAgbWFyZ2luLXRvcDogNXB4O1xuICAgIH1cblxuLypcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxuQ29weXJpZ2h0IDIwMjEgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cblxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuKi9cblxuLm14X0V4dGVybmFsTGluayB7XG4gICAgY29sb3I6ICMwMDg2ZTY7XG4gICAgY29sb3I6IHZhcigtLWxpbmtzLCAjMDA4NmU2KTtcbn1cblxuLm14X0V4dGVybmFsTGlua19pY29uIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgLXdlYmtpdC1tYXNrLWltYWdlOiB1cmwoXCIuLi8uLi8uLi9pbWcvZXh0ZXJuYWwtbGluay5zdmdcIik7XG4gICAgICAgICAgICBtYXNrLWltYWdlOiB1cmwoXCIuLi8uLi8uLi9pbWcvZXh0ZXJuYWwtbGluay5zdmdcIik7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogY3VycmVudENvbG9yO1xuICAgIC13ZWJraXQtbWFzay1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgICAgIG1hc2stcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgLXdlYmtpdC1tYXNrLXNpemU6IGNvbnRhaW47XG4gICAgICAgICAgICBtYXNrLXNpemU6IGNvbnRhaW47XG4gICAgd2lkdGg6IDAuNjg3NXJlbTtcbiAgICBoZWlnaHQ6IDAuNjg3NXJlbTtcbiAgICBtYXJnaW4tbGVmdDogMC4zcmVtO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG5cbi8qXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cbkNvcHlyaWdodCAyMDIxIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXG5cblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cbiovXG5cbi5teF9GYWNlUGlsZV9tb3JlIHtcbiAgICAvKiBOZWVkZWQgdG8gY2FsY3VsYXRlIHRoZSBvZmZzZXQgb24gdGhlIGZhY2UgcGlsZSAqL1xuICAgIC0tY3BkLWF2YXRhci1zaXplOiAyOHB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBib3JkZXItcmFkaXVzOiAxMDAlO1xuICAgIHdpZHRoOiAyOHB4O1xuICAgIGhlaWdodDogMjhweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wYW5lbHMsIHZhcigtLWNwZC1jb2xvci1ncmF5LTYwMCkpO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cblxuLm14X0ZhY2VQaWxlX21vcmU6OmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBoZWlnaHQ6IGluaGVyaXQ7XG4gICAgICAgIHdpZHRoOiBpbmhlcml0O1xuICAgICAgICBiYWNrZ3JvdW5kOiAjZWRmM2ZmO1xuICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS10ZXJ0aWFyeS1jb250ZW50LCAjZWRmM2ZmKTtcbiAgICAgICAgLXdlYmtpdC1tYXNrLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgbWFzay1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgICAtd2Via2l0LW1hc2stc2l6ZTogMjBweDtcbiAgICAgICAgICAgICAgICBtYXNrLXNpemU6IDIwcHg7XG4gICAgICAgIC13ZWJraXQtbWFzay1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgICAgICAgICBtYXNrLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAtd2Via2l0LW1hc2staW1hZ2U6IHVybChcIkB2ZWN0b3ItaW0vY29tcG91bmQtZGVzaWduLXRva2Vucy9pY29ucy9vdmVyZmxvdy1ob3Jpem9udGFsLnN2Z1wiKTtcbiAgICAgICAgICAgICAgICBtYXNrLWltYWdlOiB1cmwoXCJAdmVjdG9yLWltL2NvbXBvdW5kLWRlc2lnbi10b2tlbnMvaWNvbnMvb3ZlcmZsb3ctaG9yaXpvbnRhbC5zdmdcIik7XG4gICAgfVxuXG4ubXhfRmFjZVBpbGVfc3VtbWFyeSB7XG4gICAgbWFyZ2luLWxlZnQ6IDEycHg7XG4gICAgZm9udDogdmFyKC0tY3BkLWZvbnQtYm9keS1tZC1yZWd1bGFyKTtcbiAgICBsaW5lLWhlaWdodDogMS41cmVtO1xuICAgIGNvbG9yOiAjZWRmM2ZmO1xuICAgIGNvbG9yOiB2YXIoLS10ZXJ0aWFyeS1jb250ZW50LCAjZWRmM2ZmKTtcbn1cblxuLypcbkNvcHlyaWdodCAyMDE5LTIwMjQgTmV3IFZlY3RvciBMdGQuXG5cblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cbiovXG5cbi8qIFRPRE86IENvbnNpZGVyIHVuaWZ5aW5nIHdpdGggZ2VuZXJhbCBpbnB1dCBzdHlsZXMgaW4gX2xpZ2h0LnBjc3MgKi9cblxuLm14X0ZpZWxkIHtcbiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIC13ZWJraXQtYm94LWZsZXg6IDE7XG4gICAgICAgIC1tcy1mbGV4OiAxO1xuICAgICAgICAgICAgZmxleDogMTtcbiAgICBtaW4td2lkdGg6IDA7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1hcmdpbjogMWVtIDA7XG4gICAgYm9yZGVyLXJhZGl1czogOHB4O1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDAuMjVzO1xuICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAwLjI1cztcbiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jcGQtY29sb3ItYm9yZGVyLWludGVyYWN0aXZlLXNlY29uZGFyeSk7XG59XG5cbi5teF9GaWVsZF9wcmVmaXgge1xuICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkIHZhcigtLWNwZC1jb2xvci1ib3JkZXItaW50ZXJhY3RpdmUtc2Vjb25kYXJ5KTtcbn1cblxuLm14X0ZpZWxkX3Bvc3RmaXgge1xuICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgdmFyKC0tY3BkLWNvbG9yLWJvcmRlci1pbnRlcmFjdGl2ZS1zZWNvbmRhcnkpO1xufVxuXG4ubXhfRmllbGQgaW5wdXQsXG4ubXhfRmllbGQgc2VsZWN0LFxuLm14X0ZpZWxkIHRleHRhcmVhIHtcbiAgICBmb250OiB2YXIoLS1jcGQtZm9udC1ib2R5LW1kLXJlZ3VsYXIpO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICAvKiBFdmVuIHdpdGhvdXQgYSBib3JkZXIgaGVyZSwgd2Ugc3RpbGwgbmVlZCB0aGlzIGF2b2lkIG92ZXJsYXBwaW5nIHRoZSByb3VuZGVkICovXG4gICAgLyogY29ybmVycyBvbiB0aGUgZmllbGQgYWJvdmUuICovXG4gICAgYm9yZGVyLXJhZGl1czogOHB4O1xuICAgIHBhZGRpbmc6IDhweCA5cHg7XG4gICAgY29sb3I6IHZhcigtLXRpbWVsaW5lLXRleHQtY29sb3IpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXRpbWVsaW5lLWJhY2tncm91bmQtY29sb3IpO1xuICAgIC13ZWJraXQtYm94LWZsZXg6IDE7XG4gICAgICAgIC1tcy1mbGV4OiAxO1xuICAgICAgICAgICAgZmxleDogMTtcbiAgICBtaW4td2lkdGg6IDA7XG59XG5cbi5teF9GaWVsZCBzZWxlY3Qge1xuICAgIC1tb3otYXBwZWFyYW5jZTogbm9uZTtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG59XG5cbi8qIENhbid0IGFkZCBwc2V1ZG8tZWxlbWVudHMgdG8gYSBzZWxlY3QgZGlyZWN0bHksIHNvIHdlIHVzZSBpdHMgcGFyZW50LiAqL1xuXG4ubXhfRmllbGRfc2VsZWN0OjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgIHJpZ2h0OiA0cHg7XG4gICAgd2lkdGg6IDE4cHg7XG4gICAgaGVpZ2h0OiAxOHB4O1xuICAgIC13ZWJraXQtbWFzazogdXJsKFwiQHZlY3Rvci1pbS9jb21wb3VuZC1kZXNpZ24tdG9rZW5zL2ljb25zL2NoZXZyb24tZG93bi5zdmdcIik7XG4gICAgICAgICAgICBtYXNrOiB1cmwoXCJAdmVjdG9yLWltL2NvbXBvdW5kLWRlc2lnbi10b2tlbnMvaWNvbnMvY2hldnJvbi1kb3duLnN2Z1wiKTtcbiAgICAtd2Via2l0LW1hc2stcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgICBtYXNrLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIC13ZWJraXQtbWFzay1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgICAgICAgbWFzay1wb3NpdGlvbjogY2VudGVyO1xuICAgIC13ZWJraXQtbWFzay1zaXplOiBjb250YWluO1xuICAgICAgICAgICAgbWFzay1zaXplOiBjb250YWluO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXRpbWVsaW5lLXRleHQtY29sb3IpO1xuICAgIHotaW5kZXg6IDE7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5cbi5teF9GaWVsZDpmb2N1cy13aXRoaW4ge1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tcHJpbWFyeS1jb2xvcik7XG59XG5cbi5teF9GaWVsZCBpbnB1dDpmb2N1cyxcbi5teF9GaWVsZCBzZWxlY3Q6Zm9jdXMsXG4ubXhfRmllbGQgdGV4dGFyZWE6Zm9jdXMge1xuICAgIG91dGxpbmU6IDA7XG59XG5cbi5teF9GaWVsZCBpbnB1dDo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciwgLm14X0ZpZWxkIHRleHRhcmVhOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHtcbiAgICAtd2Via2l0LXRyYW5zaXRpb246IGNvbG9yIDAuMjVzIGVhc2UtaW4gMHM7XG4gICAgdHJhbnNpdGlvbjogY29sb3IgMC4yNXMgZWFzZS1pbiAwcztcbiAgICBjb2xvcjogdHJhbnNwYXJlbnQ7XG59XG5cbi5teF9GaWVsZCBpbnB1dDo6LW1vei1wbGFjZWhvbGRlciwgLm14X0ZpZWxkIHRleHRhcmVhOjotbW96LXBsYWNlaG9sZGVyIHtcbiAgICAtbW96LXRyYW5zaXRpb246IGNvbG9yIDAuMjVzIGVhc2UtaW4gMHM7XG4gICAgdHJhbnNpdGlvbjogY29sb3IgMC4yNXMgZWFzZS1pbiAwcztcbiAgICBjb2xvcjogdHJhbnNwYXJlbnQ7XG59XG5cbi5teF9GaWVsZCBpbnB1dDotbXMtaW5wdXQtcGxhY2Vob2xkZXIsIC5teF9GaWVsZCB0ZXh0YXJlYTotbXMtaW5wdXQtcGxhY2Vob2xkZXIge1xuICAgIC1tcy10cmFuc2l0aW9uOiBjb2xvciAwLjI1cyBlYXNlLWluIDBzO1xuICAgIHRyYW5zaXRpb246IGNvbG9yIDAuMjVzIGVhc2UtaW4gMHM7XG4gICAgY29sb3I6IHRyYW5zcGFyZW50O1xufVxuXG4ubXhfRmllbGQgaW5wdXQ6Oi1tcy1pbnB1dC1wbGFjZWhvbGRlciwgLm14X0ZpZWxkIHRleHRhcmVhOjotbXMtaW5wdXQtcGxhY2Vob2xkZXIge1xuICAgIC1tcy10cmFuc2l0aW9uOiBjb2xvciAwLjI1cyBlYXNlLWluIDBzO1xuICAgIHRyYW5zaXRpb246IGNvbG9yIDAuMjVzIGVhc2UtaW4gMHM7XG4gICAgY29sb3I6IHRyYW5zcGFyZW50O1xufVxuXG4ubXhfRmllbGQgaW5wdXQ6OnBsYWNlaG9sZGVyLFxuLm14X0ZpZWxkIHRleHRhcmVhOjpwbGFjZWhvbGRlciB7XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiBjb2xvciAwLjI1cyBlYXNlLWluIDBzO1xuICAgIHRyYW5zaXRpb246IGNvbG9yIDAuMjVzIGVhc2UtaW4gMHM7XG4gICAgY29sb3I6IHRyYW5zcGFyZW50O1xufVxuXG4ubXhfRmllbGQgaW5wdXQ6cGxhY2Vob2xkZXItc2hvd246Zm9jdXM6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIsIC5teF9GaWVsZCB0ZXh0YXJlYTpwbGFjZWhvbGRlci1zaG93bjpmb2N1czo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciwgLm14X0ZpZWxkLm14X0ZpZWxkX3BsYWNlaG9sZGVySXNIaW50IGlucHV0Ojotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHtcbiAgICAtd2Via2l0LXRyYW5zaXRpb246IGNvbG9yIDAuMjVzIGVhc2UtaW4gMC4xcztcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjI1cyBlYXNlLWluIDAuMXM7XG4gICAgY29sb3I6IHZhcigtLXRpbWVsaW5lLXRleHQtc2Vjb25kYXJ5LWNvbG9yKTtcbn1cblxuLm14X0ZpZWxkIGlucHV0OnBsYWNlaG9sZGVyLXNob3duOmZvY3VzOjotbW96LXBsYWNlaG9sZGVyLCAubXhfRmllbGQgdGV4dGFyZWE6cGxhY2Vob2xkZXItc2hvd246Zm9jdXM6Oi1tb3otcGxhY2Vob2xkZXIsIC5teF9GaWVsZC5teF9GaWVsZF9wbGFjZWhvbGRlcklzSGludCBpbnB1dDo6LW1vei1wbGFjZWhvbGRlciB7XG4gICAgLW1vei10cmFuc2l0aW9uOiBjb2xvciAwLjI1cyBlYXNlLWluIDAuMXM7XG4gICAgdHJhbnNpdGlvbjogY29sb3IgMC4yNXMgZWFzZS1pbiAwLjFzO1xuICAgIGNvbG9yOiB2YXIoLS10aW1lbGluZS10ZXh0LXNlY29uZGFyeS1jb2xvcik7XG59XG5cbi5teF9GaWVsZCBpbnB1dDpwbGFjZWhvbGRlci1zaG93bjpmb2N1czotbXMtaW5wdXQtcGxhY2Vob2xkZXIsIC5teF9GaWVsZCB0ZXh0YXJlYTpwbGFjZWhvbGRlci1zaG93bjpmb2N1czotbXMtaW5wdXQtcGxhY2Vob2xkZXIsIC5teF9GaWVsZC5teF9GaWVsZF9wbGFjZWhvbGRlcklzSGludCBpbnB1dDotbXMtaW5wdXQtcGxhY2Vob2xkZXIge1xuICAgIC1tcy10cmFuc2l0aW9uOiBjb2xvciAwLjI1cyBlYXNlLWluIDAuMXM7XG4gICAgdHJhbnNpdGlvbjogY29sb3IgMC4yNXMgZWFzZS1pbiAwLjFzO1xuICAgIGNvbG9yOiB2YXIoLS10aW1lbGluZS10ZXh0LXNlY29uZGFyeS1jb2xvcik7XG59XG5cbi5teF9GaWVsZCBpbnB1dDpwbGFjZWhvbGRlci1zaG93bjpmb2N1czo6LW1zLWlucHV0LXBsYWNlaG9sZGVyLCAubXhfRmllbGQgdGV4dGFyZWE6cGxhY2Vob2xkZXItc2hvd246Zm9jdXM6Oi1tcy1pbnB1dC1wbGFjZWhvbGRlciwgLm14X0ZpZWxkLm14X0ZpZWxkX3BsYWNlaG9sZGVySXNIaW50IGlucHV0OjotbXMtaW5wdXQtcGxhY2Vob2xkZXIge1xuICAgIC1tcy10cmFuc2l0aW9uOiBjb2xvciAwLjI1cyBlYXNlLWluIDAuMXM7XG4gICAgdHJhbnNpdGlvbjogY29sb3IgMC4yNXMgZWFzZS1pbiAwLjFzO1xuICAgIGNvbG9yOiB2YXIoLS10aW1lbGluZS10ZXh0LXNlY29uZGFyeS1jb2xvcik7XG59XG5cbi5teF9GaWVsZCBpbnB1dDotbW96LXBsYWNlaG9sZGVyLXNob3duOmZvY3VzOjpwbGFjZWhvbGRlciwgLm14X0ZpZWxkIHRleHRhcmVhOi1tb3otcGxhY2Vob2xkZXItc2hvd246Zm9jdXM6OnBsYWNlaG9sZGVyIHtcbiAgICAtbW96LXRyYW5zaXRpb246IGNvbG9yIDAuMjVzIGVhc2UtaW4gMC4xcztcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjI1cyBlYXNlLWluIDAuMXM7XG4gICAgY29sb3I6IHZhcigtLXRpbWVsaW5lLXRleHQtc2Vjb25kYXJ5LWNvbG9yKTtcbn1cblxuLm14X0ZpZWxkIGlucHV0Oi1tcy1pbnB1dC1wbGFjZWhvbGRlcjpmb2N1czo6cGxhY2Vob2xkZXIsIC5teF9GaWVsZCB0ZXh0YXJlYTotbXMtaW5wdXQtcGxhY2Vob2xkZXI6Zm9jdXM6OnBsYWNlaG9sZGVyIHtcbiAgICAtbXMtdHJhbnNpdGlvbjogY29sb3IgMC4yNXMgZWFzZS1pbiAwLjFzO1xuICAgIHRyYW5zaXRpb246IGNvbG9yIDAuMjVzIGVhc2UtaW4gMC4xcztcbiAgICBjb2xvcjogdmFyKC0tdGltZWxpbmUtdGV4dC1zZWNvbmRhcnktY29sb3IpO1xufVxuXG4ubXhfRmllbGQgaW5wdXQ6cGxhY2Vob2xkZXItc2hvd246Zm9jdXM6OnBsYWNlaG9sZGVyLFxuLm14X0ZpZWxkIHRleHRhcmVhOnBsYWNlaG9sZGVyLXNob3duOmZvY3VzOjpwbGFjZWhvbGRlcixcbi5teF9GaWVsZC5teF9GaWVsZF9wbGFjZWhvbGRlcklzSGludCBpbnB1dDo6cGxhY2Vob2xkZXIge1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogY29sb3IgMC4yNXMgZWFzZS1pbiAwLjFzO1xuICAgIHRyYW5zaXRpb246IGNvbG9yIDAuMjVzIGVhc2UtaW4gMC4xcztcbiAgICBjb2xvcjogdmFyKC0tdGltZWxpbmUtdGV4dC1zZWNvbmRhcnktY29sb3IpO1xufVxuXG4ubXhfRmllbGQgbGFiZWwge1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbjpcbiAgICAgICAgZm9udC1zaXplIDAuMjVzIGVhc2Utb3V0IDAuMXMsXG4gICAgICAgIGNvbG9yIDAuMjVzIGVhc2Utb3V0IDAuMXMsXG4gICAgICAgIGJhY2tncm91bmQtY29sb3IgMC4yNXMgZWFzZS1vdXQgMC4xcyxcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm0gMC4yNXMgZWFzZS1vdXQgMC4xcztcbiAgICB0cmFuc2l0aW9uOlxuICAgICAgICBmb250LXNpemUgMC4yNXMgZWFzZS1vdXQgMC4xcyxcbiAgICAgICAgY29sb3IgMC4yNXMgZWFzZS1vdXQgMC4xcyxcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvciAwLjI1cyBlYXNlLW91dCAwLjFzLFxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybSAwLjI1cyBlYXNlLW91dCAwLjFzO1xuICAgIHRyYW5zaXRpb246XG4gICAgICAgIGZvbnQtc2l6ZSAwLjI1cyBlYXNlLW91dCAwLjFzLFxuICAgICAgICBjb2xvciAwLjI1cyBlYXNlLW91dCAwLjFzLFxuICAgICAgICB0cmFuc2Zvcm0gMC4yNXMgZWFzZS1vdXQgMC4xcyxcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvciAwLjI1cyBlYXNlLW91dCAwLjFzO1xuICAgIHRyYW5zaXRpb246XG4gICAgICAgIGZvbnQtc2l6ZSAwLjI1cyBlYXNlLW91dCAwLjFzLFxuICAgICAgICBjb2xvciAwLjI1cyBlYXNlLW91dCAwLjFzLFxuICAgICAgICB0cmFuc2Zvcm0gMC4yNXMgZWFzZS1vdXQgMC4xcyxcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvciAwLjI1cyBlYXNlLW91dCAwLjFzLFxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybSAwLjI1cyBlYXNlLW91dCAwLjFzO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGZvbnQ6IHZhcigtLWNwZC1mb250LWJvZHktbWQtcmVndWxhcik7XG4gICAgY29sb3I6IHZhcigtLWNwZC1jb2xvci10ZXh0LXNlY29uZGFyeSk7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDBweDtcbiAgICBtYXJnaW46IDdweCA4cHg7XG4gICAgcGFkZGluZzogMnB4O1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lOyAvKiBBbGxvdyBjbGlja3MgdG8gZmFsbCB0aHJvdWdoIHRvIHRoZSBpbnB1dCAqL1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICBtYXgtd2lkdGg6IGNhbGMoMTAwJSAtIDIwcHgpOyAvKiAxMDAlIG9mIHBhcmVudCBtaW51cyBtYXJnaW4gYW5kIHBhZGRpbmcgKi9cbn1cblxuLm14X0ZpZWxkIGlucHV0Om5vdCg6LW1vei1wbGFjZWhvbGRlci1zaG93bikgKyBsYWJlbCwgLm14X0ZpZWxkIHRleHRhcmVhOm5vdCg6LW1vei1wbGFjZWhvbGRlci1zaG93bikgKyBsYWJlbCB7XG4gICAgLW1vei10cmFuc2l0aW9uOlxuICAgICAgICBmb250LXNpemUgMC4yNXMgZWFzZS1vdXQgMHMsXG4gICAgICAgIGNvbG9yIDAuMjVzIGVhc2Utb3V0IDBzLFxuICAgICAgICB0cmFuc2Zvcm0gMC4yNXMgZWFzZS1vdXQgMHMsXG4gICAgICAgIGJhY2tncm91bmQtY29sb3IgMC4yNXMgZWFzZS1vdXQgMHM7XG4gICAgdHJhbnNpdGlvbjpcbiAgICAgICAgZm9udC1zaXplIDAuMjVzIGVhc2Utb3V0IDBzLFxuICAgICAgICBjb2xvciAwLjI1cyBlYXNlLW91dCAwcyxcbiAgICAgICAgdHJhbnNmb3JtIDAuMjVzIGVhc2Utb3V0IDBzLFxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yIDAuMjVzIGVhc2Utb3V0IDBzO1xuICAgIGZvbnQtc2l6ZTogMC42MjVyZW07XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xM3B4KTtcbiAgICBwYWRkaW5nOiAwIDJweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS10aW1lbGluZS1iYWNrZ3JvdW5kLWNvbG9yKTtcbiAgICBwb2ludGVyLWV2ZW50czogaW5pdGlhbDtcbn1cblxuLm14X0ZpZWxkIGlucHV0Om5vdCg6LW1zLWlucHV0LXBsYWNlaG9sZGVyKSArIGxhYmVsLCAubXhfRmllbGQgdGV4dGFyZWE6bm90KDotbXMtaW5wdXQtcGxhY2Vob2xkZXIpICsgbGFiZWwge1xuICAgIC1tcy10cmFuc2l0aW9uOlxuICAgICAgICBmb250LXNpemUgMC4yNXMgZWFzZS1vdXQgMHMsXG4gICAgICAgIGNvbG9yIDAuMjVzIGVhc2Utb3V0IDBzLFxuICAgICAgICB0cmFuc2Zvcm0gMC4yNXMgZWFzZS1vdXQgMHMsXG4gICAgICAgIGJhY2tncm91bmQtY29sb3IgMC4yNXMgZWFzZS1vdXQgMHM7XG4gICAgdHJhbnNpdGlvbjpcbiAgICAgICAgZm9udC1zaXplIDAuMjVzIGVhc2Utb3V0IDBzLFxuICAgICAgICBjb2xvciAwLjI1cyBlYXNlLW91dCAwcyxcbiAgICAgICAgdHJhbnNmb3JtIDAuMjVzIGVhc2Utb3V0IDBzLFxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yIDAuMjVzIGVhc2Utb3V0IDBzO1xuICAgIGZvbnQtc2l6ZTogMC42MjVyZW07XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xM3B4KTtcbiAgICBwYWRkaW5nOiAwIDJweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS10aW1lbGluZS1iYWNrZ3JvdW5kLWNvbG9yKTtcbiAgICBwb2ludGVyLWV2ZW50czogaW5pdGlhbDtcbn1cblxuLm14X0ZpZWxkX2xhYmVsQWx3YXlzVG9wTGVmdCBsYWJlbCxcbi5teF9GaWVsZCBzZWxlY3QgKyBsYWJlbCAvKiBBbHdheXMgc2hvdyBhIHNlbGVjdCdzIGxhYmVsIG9uIHRvcCB0byBub3QgY29sbGlkZSB3aXRoIHRoZSB2YWx1ZSAqLyxcbi5teF9GaWVsZCBpbnB1dDpmb2N1cyArIGxhYmVsLFxuLm14X0ZpZWxkIGlucHV0Om5vdCg6cGxhY2Vob2xkZXItc2hvd24pICsgbGFiZWwsXG4ubXhfRmllbGQgdGV4dGFyZWE6Zm9jdXMgKyBsYWJlbCxcbi5teF9GaWVsZCB0ZXh0YXJlYTpub3QoOnBsYWNlaG9sZGVyLXNob3duKSArIGxhYmVsIHtcbiAgICAtd2Via2l0LXRyYW5zaXRpb246XG4gICAgICAgIGZvbnQtc2l6ZSAwLjI1cyBlYXNlLW91dCAwcyxcbiAgICAgICAgY29sb3IgMC4yNXMgZWFzZS1vdXQgMHMsXG4gICAgICAgIGJhY2tncm91bmQtY29sb3IgMC4yNXMgZWFzZS1vdXQgMHMsXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtIDAuMjVzIGVhc2Utb3V0IDBzO1xuICAgIHRyYW5zaXRpb246XG4gICAgICAgIGZvbnQtc2l6ZSAwLjI1cyBlYXNlLW91dCAwcyxcbiAgICAgICAgY29sb3IgMC4yNXMgZWFzZS1vdXQgMHMsXG4gICAgICAgIGJhY2tncm91bmQtY29sb3IgMC4yNXMgZWFzZS1vdXQgMHMsXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtIDAuMjVzIGVhc2Utb3V0IDBzO1xuICAgIHRyYW5zaXRpb246XG4gICAgICAgIGZvbnQtc2l6ZSAwLjI1cyBlYXNlLW91dCAwcyxcbiAgICAgICAgY29sb3IgMC4yNXMgZWFzZS1vdXQgMHMsXG4gICAgICAgIHRyYW5zZm9ybSAwLjI1cyBlYXNlLW91dCAwcyxcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvciAwLjI1cyBlYXNlLW91dCAwcztcbiAgICB0cmFuc2l0aW9uOlxuICAgICAgICBmb250LXNpemUgMC4yNXMgZWFzZS1vdXQgMHMsXG4gICAgICAgIGNvbG9yIDAuMjVzIGVhc2Utb3V0IDBzLFxuICAgICAgICB0cmFuc2Zvcm0gMC4yNXMgZWFzZS1vdXQgMHMsXG4gICAgICAgIGJhY2tncm91bmQtY29sb3IgMC4yNXMgZWFzZS1vdXQgMHMsXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtIDAuMjVzIGVhc2Utb3V0IDBzO1xuICAgIGZvbnQtc2l6ZTogMC42MjVyZW07XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEzcHgpO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xM3B4KTtcbiAgICBwYWRkaW5nOiAwIDJweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS10aW1lbGluZS1iYWNrZ3JvdW5kLWNvbG9yKTtcbiAgICBwb2ludGVyLWV2ZW50czogaW5pdGlhbDtcbn1cblxuLm14X0ZpZWxkIGlucHV0OmZvY3VzICsgbGFiZWwsXG4ubXhfRmllbGQgc2VsZWN0OmZvY3VzICsgbGFiZWwsXG4ubXhfRmllbGQgdGV4dGFyZWE6Zm9jdXMgKyBsYWJlbCB7XG4gICAgY29sb3I6IHZhcigtLXByaW1hcnktY29sb3IpO1xufVxuXG4ubXhfRmllbGQgc2VsZWN0OmRpc2FibGVkLFxuLm14X0ZpZWxkIHNlbGVjdDpkaXNhYmxlZCArIGxhYmVsLFxuLm14X0ZpZWxkIGlucHV0OmRpc2FibGVkLFxuLm14X0ZpZWxkIGlucHV0OmRpc2FibGVkICsgbGFiZWwsXG4ubXhfRmllbGQgdGV4dGFyZWE6ZGlzYWJsZWQsXG4ubXhfRmllbGQgdGV4dGFyZWE6ZGlzYWJsZWQgKyBsYWJlbCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdGltZWxpbmUtYmFja2dyb3VuZC1jb2xvcik7XG4gICAgY29sb3I6IHZhcigtLXRpbWVsaW5lLXRleHQtc2Vjb25kYXJ5LWNvbG9yKTtcbn1cblxuLm14X0ZpZWxkX3ZhbGlkLm14X0ZpZWxkLFxuICAgIC5teF9GaWVsZF92YWxpZC5teF9GaWVsZDpmb2N1cy13aXRoaW4ge1xuICAgICAgICBib3JkZXItY29sb3I6ICMwZGJkOGI7XG4gICAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0tYWNjZW50LWNvbG9yLCAjMGRiZDhiKTtcbiAgICB9XG5cbi5teF9GaWVsZF92YWxpZC5teF9GaWVsZCBsYWJlbCxcbiAgICAubXhfRmllbGRfdmFsaWQubXhfRmllbGQ6Zm9jdXMtd2l0aGluIGxhYmVsIHtcbiAgICAgICAgY29sb3I6ICMwZGJkOGI7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1hY2NlbnQtY29sb3IsICMwZGJkOGIpO1xuICAgIH1cblxuLm14X0ZpZWxkX2ludmFsaWQubXhfRmllbGQsXG4gICAgLm14X0ZpZWxkX2ludmFsaWQubXhfRmllbGQ6Zm9jdXMtd2l0aGluIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjZmY1YjU1O1xuICAgICAgICBib3JkZXItY29sb3I6IHZhcigtLWFsZXJ0LCAjZmY1YjU1KTtcbiAgICB9XG5cbi5teF9GaWVsZF9pbnZhbGlkLm14X0ZpZWxkIGxhYmVsLFxuICAgIC5teF9GaWVsZF9pbnZhbGlkLm14X0ZpZWxkOmZvY3VzLXdpdGhpbiBsYWJlbCB7XG4gICAgICAgIGNvbG9yOiAjZmY1YjU1O1xuICAgICAgICBjb2xvcjogdmFyKC0tYWxlcnQsICNmZjViNTUpO1xuICAgIH1cblxuLyogQ3VzdG9taXNlIG90aGVyIGNvbXBvbmVudHMgd2hlbiBwbGFjZWQgaW5zaWRlIGEgRmllbGQgKi9cblxuLm14X0ZpZWxkIC5teF9Ecm9wZG93bl9pbnB1dCB7XG4gICAgYm9yZGVyOiBtZWRpdW0gbm9uZSBjdXJyZW50Y29sb3I7XG4gICAgYm9yZGVyOiBpbml0aWFsO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgYm9yZGVyLXJhZGl1czogaW5pdGlhbDtcbn1cblxuLm14X0ZpZWxkIC5teF9Db3VudHJ5RHJvcGRvd24ge1xuICAgIHdpZHRoOiAtd2Via2l0LWZpdC1jb250ZW50O1xuICAgIHdpZHRoOiAtbW96LWZpdC1jb250ZW50O1xuICAgIHdpZHRoOiBmaXQtY29udGVudDtcbn1cblxuLypcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxuQ29weXJpZ2h0IDIwMTYgT3Blbk1hcmtldCBMdGRcblxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuKi9cblxuLm14X0dlbmVyaWNFdmVudExpc3RTdW1tYXJ5IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5teF9HZW5lcmljRXZlbnRMaXN0U3VtbWFyeSAubXhfR2VuZXJpY0V2ZW50TGlzdFN1bW1hcnlfYXZhdGFycyB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogOHB4O1xuICAgIH1cblxuLm14X0dlbmVyaWNFdmVudExpc3RTdW1tYXJ5IC5teF9HZW5lcmljRXZlbnRMaXN0U3VtbWFyeV9zcGFjZXIge1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tcm9vbWxpc3Qtc2VwYXJhdG9yLWNvbG9yKTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDYzcHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjg3NXJlbTsgLyogVE9ETzogVXNlIGEgdmFyaWFibGUgKi9cbiAgICB9XG5cbi5teF9JUkNMYXlvdXQgLm14X0dlbmVyaWNFdmVudExpc3RTdW1tYXJ5IC5teF9HZW5lcmljRXZlbnRMaXN0U3VtbWFyeV9zcGFjZXIge1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IHZhcigtLWxpbmUtaGVpZ2h0KTtcbiAgICAgICAgfVxuXG4ubXhfR2VuZXJpY0V2ZW50TGlzdFN1bW1hcnkgLm14X0dlbmVyaWNFdmVudExpc3RTdW1tYXJ5X3RvZ2dsZSB7XG4gICAgICAgIC8qIFdlIHJldXNlIGEgdGl0bGUgY2FzZWQgdHJhbnNsYXRpb24gKi9cbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IGxvd2VyY2FzZTtcbiAgICB9XG5cbi5teF9HZW5lcmljRXZlbnRMaXN0U3VtbWFyeVtkYXRhLWxheW91dD1cImlyY1wiXSAubXhfR2VuZXJpY0V2ZW50TGlzdFN1bW1hcnlfdG9nZ2xlLCAubXhfR2VuZXJpY0V2ZW50TGlzdFN1bW1hcnlbZGF0YS1sYXlvdXQ9XCJncm91cFwiXSAubXhfR2VuZXJpY0V2ZW50TGlzdFN1bW1hcnlfdG9nZ2xlIHtcbiAgICAgICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgICAgIG1hcmdpbi1pbmxpbmU6IDAgMTBweDtcbiAgICAgICAgfVxuXG4ubXhfR2VuZXJpY0V2ZW50TGlzdFN1bW1hcnlbZGF0YS1sYXlvdXQ9XCJncm91cFwiXSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDhweDtcbiAgICB9XG5cbi5teF9HZW5lcmljRXZlbnRMaXN0U3VtbWFyeVtkYXRhLWxheW91dD1cImJ1YmJsZVwiXSB7XG4gICAgICAgIC0tbWF4V2lkdGg6IDcwJTtcbiAgICAgICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gICAgICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBtYXJnaW4tbGVmdDogY2FsYyh2YXIoLS1hdmF0YXJTaXplKSArIHZhcigtLWd1dHRlclNpemUpKTtcblxuICAgICAgICAvKiBpZGVhbGx5IHdlJ2QgdXNlIGRpc3BsYXk9Y29udGVudHMgaGVyZSBmb3IgdGhlIGxheW91dCB0byBhbGwgd29yayByZWdhcmRsZXNzIG9mIHRoZSAqRUxTIGJ1dCAqL1xuICAgIH1cblxuLm14X0dlbmVyaWNFdmVudExpc3RTdW1tYXJ5W2RhdGEtbGF5b3V0PVwiYnViYmxlXCJdIC5teF9HZW5lcmljRXZlbnRMaXN0U3VtbWFyeV90b2dnbGUge1xuICAgICAgICAgICAgbWFyZ2luLWJsb2NrOiAwO1xuICAgICAgICB9XG5cbi5teF9HZW5lcmljRXZlbnRMaXN0U3VtbWFyeVtkYXRhLWxheW91dD1cImJ1YmJsZVwiXSAubXhfR2VuZXJpY0V2ZW50TGlzdFN1bW1hcnlfdG9nZ2xlW2FyaWEtZXhwYW5kZWQ9XCJmYWxzZVwiXSB7XG4gICAgICAgICAgICAgICAgLXdlYmtpdC1ib3gtb3JkaW5hbC1ncm91cDogMTA7XG4gICAgICAgICAgICAgICAgICAgIC1tcy1mbGV4LW9yZGVyOiA5O1xuICAgICAgICAgICAgICAgICAgICAgICAgb3JkZXI6IDk7IC8qIFRPRE86IFJlbW92ZSAqL1xuICAgICAgICAgICAgfVxuXG4ubXhfR2VuZXJpY0V2ZW50TGlzdFN1bW1hcnlbZGF0YS1sYXlvdXQ9XCJidWJibGVcIl0gLm14X0dlbmVyaWNFdmVudExpc3RTdW1tYXJ5X3RvZ2dsZVthcmlhLWV4cGFuZGVkPVwidHJ1ZVwiXSB7XG4gICAgICAgICAgICAgICAgLXdlYmtpdC1tYXJnaW4tc3RhcnQ6IGF1dG87XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4taW5saW5lLXN0YXJ0OiBhdXRvOyAvKiByZWR1Y2UgY2xpY2thYmxlIGFyZWEgKi9cbiAgICAgICAgICAgICAgICAtd2Via2l0LW1hcmdpbi1lbmQ6IHZhcigtLUV2ZW50VGlsZV9idWJibGUtbWFyZ2luLWlubGluZS1lbmQpO1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWlubGluZS1lbmQ6IHZhcigtLUV2ZW50VGlsZV9idWJibGUtbWFyZ2luLWlubGluZS1lbmQpOyAvKiBhcyB0aGUgcGFyZW50IGhhcyB6ZXJvIG1hcmdpbiAqL1xuICAgICAgICAgICAgfVxuXG4ubXhfR2VuZXJpY0V2ZW50TGlzdFN1bW1hcnlbZGF0YS1sYXlvdXQ9XCJidWJibGVcIl0gLm14X0dlbmVyaWNFdmVudExpc3RTdW1tYXJ5X3NwYWNlciB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG5cbi5teF9HZW5lcmljRXZlbnRMaXN0U3VtbWFyeVtkYXRhLWxheW91dD1cImJ1YmJsZVwiXVtkYXRhLWV4cGFuZGVkPVwiZmFsc2VcIl0ge1xuICAgICAgICAgICAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgLXdlYmtpdC1ib3gtcGFjazoganVzdGlmeTtcbiAgICAgICAgICAgICAgICAtbXMtZmxleC1wYWNrOiBqdXN0aWZ5O1xuICAgICAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgICAgICAtd2Via2l0LWNvbHVtbi1nYXA6IDVweDtcbiAgICAgICAgICAgICAgIC1tb3otY29sdW1uLWdhcDogNXB4O1xuICAgICAgICAgICAgICAgICAgICBjb2x1bW4tZ2FwOiA1cHg7XG4gICAgICAgIH1cblxuLyogdGhhdCBicmVha3MgU2Nyb2xsUGFuZWwncyByZWxpYW5jZSB1cG9uIG9mZnNldFRvcCBzbyB3ZSBoYXZlIHRvIGhhdmUgYSBiaXQgbW9yZSBmaW5lc3NlLiAqL1xuXG4ubXhfR2VuZXJpY0V2ZW50TGlzdFN1bW1hcnlbZGF0YS1sYXlvdXQ9XCJidWJibGVcIl1bZGF0YS1leHBhbmRlZD1cInRydWVcIl0ge1xuICAgICAgICAgICAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcbiAgICAgICAgICAgIC13ZWJraXQtYm94LWRpcmVjdGlvbjogbm9ybWFsO1xuICAgICAgICAgICAgICAgIC1tcy1mbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB9XG5cbi5teF9HZW5lcmljRXZlbnRMaXN0U3VtbWFyeVtkYXRhLWxheW91dD1cImJ1YmJsZVwiXTo6YWZ0ZXIge1xuICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgIGNsZWFyOiBib3RoO1xuICAgICAgICB9XG5cbi5teF9HZW5lcmljRXZlbnRMaXN0U3VtbWFyeVtkYXRhLWxheW91dD1cImJ1YmJsZVwiXTpob3Zlcjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIH1cblxuLm14X01hdHJpeENoYXRfdXNlQ29tcGFjdExheW91dCAubXhfR2VuZXJpY0V2ZW50TGlzdFN1bW1hcnkge1xuICAgICAgICBmb250LXNpemU6IDAuODEyNXJlbTtcbiAgICAgICAgbWFyZ2luLXRvcDogNHB4O1xuICAgIH1cblxuLm14X01hdHJpeENoYXRfdXNlQ29tcGFjdExheW91dCAubXhfR2VuZXJpY0V2ZW50TGlzdFN1bW1hcnkgLm14X0V2ZW50VGlsZV9saW5lIHtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI1O1xuICAgICAgICB9XG5cbi5teF9NYXRyaXhDaGF0X3VzZUNvbXBhY3RMYXlvdXQgLm14X0dlbmVyaWNFdmVudExpc3RTdW1tYXJ5IC5teF9HZW5lcmljRXZlbnRMaXN0U3VtbWFyeV9zcGFjZXIge1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMzc1O1xuICAgICAgICB9XG5cbi5teF9NYXRyaXhDaGF0X3VzZUNvbXBhY3RMYXlvdXQgLm14X0dlbmVyaWNFdmVudExpc3RTdW1tYXJ5IC5teF9UZXh0dWFsRXZlbnQubXhfR2VuZXJpY0V2ZW50TGlzdFN1bW1hcnlfc3VtbWFyeSB7XG4gICAgICAgICAgICBmb250OiB2YXIoLS1jcGQtZm9udC1ib2R5LXNtLXJlZ3VsYXIpO1xuICAgICAgICB9XG5cbi8qIE1ha2UgYWxsIHN0YXRlIGV2ZW50cyBvbmUgb3JkZXIgc21hbGxlciB0aGFuIHRoZSBvdGhlciBldmVudHMgKi9cblxuLm14X0dlbmVyaWNFdmVudExpc3RTdW1tYXJ5IC5teF9FdmVudFRpbGUge1xuICAgICAgICBmb250OiB2YXIoLS1jcGQtZm9udC1ib2R5LXNtLXJlZ3VsYXIpO1xuICAgICAgICBjb2xvcjogI2VkZjNmZjtcbiAgICAgICAgY29sb3I6IHZhcigtLXNlY29uZGFyeS1jb250ZW50LCAjZWRmM2ZmKTtcbiAgICB9XG5cbi5teF9HZW5lcmljRXZlbnRMaXN0U3VtbWFyeV91bnN0eWxlZExpc3Qge1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgcGFkZGluZzogMDtcbn1cblxuLm14X1RleHR1YWxFdmVudC5teF9HZW5lcmljRXZlbnRMaXN0U3VtbWFyeV9zdW1tYXJ5IHtcbiAgICBmb250OiB2YXIoLS1jcGQtZm9udC1ib2R5LXNtLXJlZ3VsYXIpO1xuICAgIGRpc3BsYXk6IC13ZWJraXQtaW5saW5lLWJveDtcbiAgICBkaXNwbGF5OiAtbXMtaW5saW5lLWZsZXhib3g7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgY29sb3I6ICNlZGYzZmY7XG4gICAgY29sb3I6IHZhcigtLXNlY29uZGFyeS1jb250ZW50LCAjZWRmM2ZmKTtcbn1cblxuLm14X0dlbmVyaWNFdmVudExpc3RTdW1tYXJ5X2F2YXRhcnMge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBsaW5lLWhlaWdodDogMC43NXJlbTtcbn1cblxuLm14X0dlbmVyaWNFdmVudExpc3RTdW1tYXJ5X2F2YXRhcnMgLm14X0Jhc2VBdmF0YXIge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IC00cHg7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB9XG5cbi8qXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cbkNvcHlyaWdodCAyMDE1LCAyMDE2IE9wZW5NYXJrZXQgTHRkXG5cblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cbiovXG5cbjpyb290IHtcbiAgICAtLWltYWdlLXZpZXctcGFuZWwtaGVpZ2h0OiA2OHB4O1xufVxuXG4ubXhfSW1hZ2VWaWV3IHtcbiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xuICAgIC13ZWJraXQtYm94LWRpcmVjdGlvbjogbm9ybWFsO1xuICAgICAgICAtbXMtZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG59XG5cbi5teF9JbWFnZVZpZXdfaW1hZ2Vfd3JhcHBlciB7XG4gICAgcG9pbnRlci1ldmVudHM6IGluaXRpYWw7XG4gICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gICAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICAtd2Via2l0LWJveC1wYWNrOiBjZW50ZXI7XG4gICAgICAgIC1tcy1mbGV4LXBhY2s6IGNlbnRlcjtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4ubXhfSW1hZ2VWaWV3X2ltYWdlIHtcbiAgICAtbXMtZmxleC1uZWdhdGl2ZTogMDtcbiAgICAgICAgZmxleC1zaHJpbms6IDA7XG59XG5cbi5teF9JbWFnZVZpZXdfaW1hZ2UubXhfSW1hZ2VWaWV3X2ltYWdlX2FuaW1hdGluZyB7XG4gICAgICAgIC13ZWJraXQtdHJhbnNpdGlvbjogLXdlYmtpdC10cmFuc2Zvcm0gMjAwbXMgZWFzZSAwcztcbiAgICAgICAgdHJhbnNpdGlvbjogLXdlYmtpdC10cmFuc2Zvcm0gMjAwbXMgZWFzZSAwcztcbiAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDIwMG1zIGVhc2UgMHM7XG4gICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAyMDBtcyBlYXNlIDBzLCAtd2Via2l0LXRyYW5zZm9ybSAyMDBtcyBlYXNlIDBzO1xuICAgIH1cblxuLm14X0ltYWdlVmlld19pbWFnZS5teF9JbWFnZVZpZXdfaW1hZ2VfYW5pbWF0aW5nTG9hZGluZyB7XG4gICAgICAgIC13ZWJraXQtdHJhbnNpdGlvbjogLXdlYmtpdC10cmFuc2Zvcm0gMzAwbXMgZWFzZSAwcztcbiAgICAgICAgdHJhbnNpdGlvbjogLXdlYmtpdC10cmFuc2Zvcm0gMzAwbXMgZWFzZSAwcztcbiAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDMwMG1zIGVhc2UgMHM7XG4gICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAzMDBtcyBlYXNlIDBzLCAtd2Via2l0LXRyYW5zZm9ybSAzMDBtcyBlYXNlIDBzO1xuICAgIH1cblxuLm14X0ltYWdlVmlld19wYW5lbCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiA2OHB4O1xuICAgIGhlaWdodDogdmFyKC0taW1hZ2Utdmlldy1wYW5lbC1oZWlnaHQpO1xuICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgLXdlYmtpdC1ib3gtcGFjazoganVzdGlmeTtcbiAgICAgICAgLW1zLWZsZXgtcGFjazoganVzdGlmeTtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO1xuICAgICAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBteF9JbWFnZVZpZXdfcGFuZWxfa2V5ZnJhbWVzO1xuICAgICAgICAgICAgYW5pbWF0aW9uLW5hbWU6IG14X0ltYWdlVmlld19wYW5lbF9rZXlmcmFtZXM7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246IDMwMG1zO1xuICAgICAgICAgICAgYW5pbWF0aW9uLWR1cmF0aW9uOiAzMDBtcztcbn1cblxuLm14X0ltYWdlVmlld19pbmZvX3dyYXBwZXIge1xuICAgIHBvaW50ZXItZXZlbnRzOiBpbml0aWFsO1xuICAgIHBhZGRpbmctbGVmdDogMzJweDtcbiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIC13ZWJraXQtYm94LW9yaWVudDogaG9yaXpvbnRhbDtcbiAgICAtd2Via2l0LWJveC1kaXJlY3Rpb246IG5vcm1hbDtcbiAgICAgICAgLW1zLWZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgIC13ZWJraXQtYm94LWZsZXg6IDE7XG4gICAgICAgIC1tcy1mbGV4LXBvc2l0aXZlOiAxO1xuICAgICAgICAgICAgZmxleC1ncm93OiAxO1xuICAgIC1tcy1mbGV4LXByZWZlcnJlZC1zaXplOiAwO1xuICAgICAgICBmbGV4LWJhc2lzOiAwO1xufVxuXG4ubXhfSW1hZ2VWaWV3X2luZm8ge1xuICAgIHBhZGRpbmctbGVmdDogMTJweDtcbiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWw7XG4gICAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiBub3JtYWw7XG4gICAgICAgIC1tcy1mbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbn1cblxuLm14X0ltYWdlVmlld19pbmZvX3NlbmRlciB7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbi5teF9JbWFnZVZpZXdfdGl0bGUge1xuICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgICAtd2Via2l0LWJveC1mbGV4OiAxO1xuICAgICAgICAtbXMtZmxleC1wb3NpdGl2ZTogMTtcbiAgICAgICAgICAgIGZsZXgtZ3JvdzogMTtcbiAgICAtbXMtZmxleC1wcmVmZXJyZWQtc2l6ZTogMDtcbiAgICAgICAgZmxleC1iYXNpczogMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5teF9JbWFnZVZpZXdfdG9vbGJhciB7XG4gICAgcGFkZGluZy1yaWdodDogMTZweDtcbiAgICBwb2ludGVyLWV2ZW50czogaW5pdGlhbDtcbiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIC13ZWJraXQtYm94LWZsZXg6IDE7XG4gICAgICAgIC1tcy1mbGV4LXBvc2l0aXZlOiAxO1xuICAgICAgICAgICAgZmxleC1ncm93OiAxO1xuICAgIC1tcy1mbGV4LXByZWZlcnJlZC1zaXplOiAwO1xuICAgICAgICBmbGV4LWJhc2lzOiAwO1xuICAgIC13ZWJraXQtYm94LXBhY2s6IGVuZDtcbiAgICAgICAgLW1zLWZsZXgtcGFjazogZW5kO1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICBnYXA6IGNhbGMoMjRweCAtICgzMnB4IC0gMjJweCkpO1xufVxuXG4ubXhfSW1hZ2VWaWV3X2J1dHRvbiB7XG4gICAgcGFkZGluZzogY2FsYygoMzJweCAtIDIycHgpIC8gMik7XG4gICAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5teF9JbWFnZVZpZXdfYnV0dG9uOjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBoZWlnaHQ6IDIycHg7XG4gICAgICAgIHdpZHRoOiAyMnB4O1xuICAgICAgICAtd2Via2l0LW1hc2stcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgICAgICAgbWFzay1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgLXdlYmtpdC1tYXNrLXNpemU6IGNvbnRhaW47XG4gICAgICAgICAgICAgICAgbWFzay1zaXplOiBjb250YWluO1xuICAgICAgICAtd2Via2l0LW1hc2stcG9zaXRpb246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBtYXNrLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pY29uLWJ1dHRvbi1jb2xvciwgdmFyKC0tY3BkLWNvbG9yLWljb24tdGVydGlhcnkpKTtcbiAgICB9XG5cbi5teF9JbWFnZVZpZXdfYnV0dG9uX3JvdGF0ZUNXOjpiZWZvcmUge1xuICAgIC13ZWJraXQtbWFzay1pbWFnZTogdXJsKFwiLi4vLi4vLi4vaW1nL2ltYWdlLXZpZXcvcm90YXRlLWN3LnN2Z1wiKTtcbiAgICAgICAgICAgIG1hc2staW1hZ2U6IHVybChcIi4uLy4uLy4uL2ltZy9pbWFnZS12aWV3L3JvdGF0ZS1jdy5zdmdcIik7XG59XG5cbi5teF9JbWFnZVZpZXdfYnV0dG9uX3JvdGF0ZUNDVzo6YmVmb3JlIHtcbiAgICAtd2Via2l0LW1hc2staW1hZ2U6IHVybChcIi4uLy4uLy4uL2ltZy9pbWFnZS12aWV3L3JvdGF0ZS1jY3cuc3ZnXCIpO1xuICAgICAgICAgICAgbWFzay1pbWFnZTogdXJsKFwiLi4vLi4vLi4vaW1nL2ltYWdlLXZpZXcvcm90YXRlLWNjdy5zdmdcIik7XG59XG5cbi5teF9JbWFnZVZpZXdfYnV0dG9uX3pvb21PdXQ6OmJlZm9yZSB7XG4gICAgLXdlYmtpdC1tYXNrLWltYWdlOiB1cmwoXCIuLi8uLi8uLi9pbWcvaW1hZ2Utdmlldy96b29tLW91dC5zdmdcIik7XG4gICAgICAgICAgICBtYXNrLWltYWdlOiB1cmwoXCIuLi8uLi8uLi9pbWcvaW1hZ2Utdmlldy96b29tLW91dC5zdmdcIik7XG59XG5cbi5teF9JbWFnZVZpZXdfYnV0dG9uX3pvb21Jbjo6YmVmb3JlIHtcbiAgICAtd2Via2l0LW1hc2staW1hZ2U6IHVybChcIi4uLy4uLy4uL2ltZy9pbWFnZS12aWV3L3pvb20taW4uc3ZnXCIpO1xuICAgICAgICAgICAgbWFzay1pbWFnZTogdXJsKFwiLi4vLi4vLi4vaW1nL2ltYWdlLXZpZXcvem9vbS1pbi5zdmdcIik7XG59XG5cbi5teF9JbWFnZVZpZXdfYnV0dG9uX2Rvd25sb2FkOjpiZWZvcmUge1xuICAgIC13ZWJraXQtbWFzay1pbWFnZTogdXJsKFwiQHZlY3Rvci1pbS9jb21wb3VuZC1kZXNpZ24tdG9rZW5zL2ljb25zL2Rvd25sb2FkLnN2Z1wiKTtcbiAgICAgICAgICAgIG1hc2staW1hZ2U6IHVybChcIkB2ZWN0b3ItaW0vY29tcG91bmQtZGVzaWduLXRva2Vucy9pY29ucy9kb3dubG9hZC5zdmdcIik7XG59XG5cbi5teF9JbWFnZVZpZXdfYnV0dG9uX21vcmU6OmJlZm9yZSB7XG4gICAgLXdlYmtpdC1tYXNrLWltYWdlOiB1cmwoXCJAdmVjdG9yLWltL2NvbXBvdW5kLWRlc2lnbi10b2tlbnMvaWNvbnMvb3ZlcmZsb3ctaG9yaXpvbnRhbC5zdmdcIik7XG4gICAgICAgICAgICBtYXNrLWltYWdlOiB1cmwoXCJAdmVjdG9yLWltL2NvbXBvdW5kLWRlc2lnbi10b2tlbnMvaWNvbnMvb3ZlcmZsb3ctaG9yaXpvbnRhbC5zdmdcIik7XG4gICAgLXdlYmtpdC1tYXNrLXNpemU6IDI4cHg7XG4gICAgICAgICAgICBtYXNrLXNpemU6IDI4cHg7XG59XG5cbi5teF9JbWFnZVZpZXdfYnV0dG9uX2Nsb3NlIHtcbiAgICBwYWRkaW5nOiBjYWxjKDMycHggLSAzMnB4KTtcbiAgICBib3JkZXItcmFkaXVzOiAxMDAlO1xuICAgIGJhY2tncm91bmQ6ICMyMTI2MmM7XG59XG5cbi8qIHNhbWUgb24gYWxsIHRoZW1lcyAqL1xuXG4ubXhfSW1hZ2VWaWV3X2J1dHRvbl9jbG9zZTo6YmVmb3JlIHtcbiAgICAgICAgd2lkdGg6IDMycHg7XG4gICAgICAgIGhlaWdodDogMzJweDtcbiAgICAgICAgLXdlYmtpdC1tYXNrLWltYWdlOiB1cmwoXCJAdmVjdG9yLWltL2NvbXBvdW5kLWRlc2lnbi10b2tlbnMvaWNvbnMvY2xvc2Uuc3ZnXCIpO1xuICAgICAgICAgICAgICAgIG1hc2staW1hZ2U6IHVybChcIkB2ZWN0b3ItaW0vY29tcG91bmQtZGVzaWduLXRva2Vucy9pY29ucy9jbG9zZS5zdmdcIik7XG4gICAgICAgIC13ZWJraXQtbWFzay1zaXplOiAyNHB4O1xuICAgICAgICAgICAgICAgIG1hc2stc2l6ZTogMjRweDtcbiAgICB9XG5cbkBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbikge1xuICAgIC5teF9JbWFnZVZpZXdfaW1hZ2VfYW5pbWF0aW5nIHtcbiAgICAgICAgLXdlYmtpdC10cmFuc2l0aW9uOiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgIHRyYW5zaXRpb246IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAubXhfSW1hZ2VWaWV3X2ltYWdlX2FuaW1hdGluZ0xvYWRpbmcge1xuICAgICAgICAtd2Via2l0LXRyYW5zaXRpb246IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgdHJhbnNpdGlvbjogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbn1cblxuLypcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxuQ29weXJpZ2h0IDIwMjAgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cblxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuKi9cblxuLm14X0luZm9Ub29sdGlwX2ljb24ge1xuICAgIHdpZHRoOiAxNnB4O1xuICAgIGhlaWdodDogMTZweDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG5cbi5teF9JbmZvVG9vbHRpcF9pY29uOjpiZWZvcmUge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYTFiMmQxO1xuICAgIC13ZWJraXQtbWFzay1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgICAgIG1hc2stcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgLXdlYmtpdC1tYXNrLXNpemU6IDE2cHg7XG4gICAgICAgICAgICBtYXNrLXNpemU6IDE2cHg7XG4gICAgd2lkdGg6IDE2cHg7XG4gICAgaGVpZ2h0OiAxNnB4O1xuICAgIC13ZWJraXQtbWFzay1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgICAgICAgbWFzay1wb3NpdGlvbjogY2VudGVyO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cblxuLm14X0luZm9Ub29sdGlwX2ljb25faW5mbzo6YmVmb3JlIHtcbiAgICAtd2Via2l0LW1hc2staW1hZ2U6IHVybChcIkB2ZWN0b3ItaW0vY29tcG91bmQtZGVzaWduLXRva2Vucy9pY29ucy9pbmZvLnN2Z1wiKTtcbiAgICAgICAgICAgIG1hc2staW1hZ2U6IHVybChcIkB2ZWN0b3ItaW0vY29tcG91bmQtZGVzaWduLXRva2Vucy9pY29ucy9pbmZvLnN2Z1wiKTtcbn1cblxuLm14X0luZm9Ub29sdGlwX2ljb25fd2FybmluZzo6YmVmb3JlIHtcbiAgICAtd2Via2l0LW1hc2staW1hZ2U6IHVybChcIkB2ZWN0b3ItaW0vY29tcG91bmQtZGVzaWduLXRva2Vucy9pY29ucy9lcnJvci5zdmdcIik7XG4gICAgICAgICAgICBtYXNrLWltYWdlOiB1cmwoXCJAdmVjdG9yLWltL2NvbXBvdW5kLWRlc2lnbi10b2tlbnMvaWNvbnMvZXJyb3Iuc3ZnXCIpO1xufVxuXG4vKlxuQ29weXJpZ2h0IDIwMTctMjAyNCBOZXcgVmVjdG9yIEx0ZC5cblxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuKi9cblxuLm14X0lubGluZVNwaW5uZXIge1xuICAgIGRpc3BsYXk6IGlubGluZTtcbn1cblxuLm14X0lubGluZVNwaW5uZXIgaW1nLFxuLm14X0lubGluZVNwaW5uZXJfaWNvbiB7XG4gICAgbWFyZ2luOiAwcHggNnB4O1xuICAgIHZlcnRpY2FsLWFsaWduOiAtM3B4O1xufVxuXG4ubXhfSW5saW5lU3Bpbm5lcl9pY29uIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2sgIWltcG9ydGFudDsgLyogT3ZlcnJpZGUgcmVndWxhciBteF9TcGlubmVyX2ljb24gKi9cbn1cblxuLypcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxuQ29weXJpZ2h0IDIwMTktMjAyMSBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxuXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXG4qL1xuXG4ubXhfSW50ZXJhY3RpdmVUb29sdGlwX3dyYXBwZXIge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB6LWluZGV4OiAzOTk5O1xufVxuXG4ubXhfSW50ZXJhY3RpdmVUb29sdGlwIHtcbiAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdGltZWxpbmUtYmFja2dyb3VuZC1jb2xvcik7XG4gICAgY29sb3I6IHZhcigtLXRpbWVsaW5lLXRleHQtY29sb3IpO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB6LWluZGV4OiA1MDAxO1xuICAgIC13ZWJraXQtYm94LXNoYWRvdzpcbiAgICAgICAgMCAyNHB4IDhweCByZ2IoMTcgMTcgMjYgLyA0JSksXG4gICAgICAgIDAgOHB4IDMycHggcmdiKDE3IDE3IDI2IC8gNCUpO1xuICAgICAgICAgICAgYm94LXNoYWRvdzpcbiAgICAgICAgMCAyNHB4IDhweCByZ2IoMTcgMTcgMjYgLyA0JSksXG4gICAgICAgIDAgOHB4IDMycHggcmdiKDE3IDE3IDI2IC8gNCUpO1xufVxuXG4ubXhfSW50ZXJhY3RpdmVUb29sdGlwLm14X0ludGVyYWN0aXZlVG9vbHRpcF93aXRoQ2hldnJvbl90b3Age1xuICAgIHRvcDogMTBweDsgLyogOHB4IGNoZXZyb24gKyAycHggc3BhY2luZyAqL1xufVxuXG4ubXhfSW50ZXJhY3RpdmVUb29sdGlwLm14X0ludGVyYWN0aXZlVG9vbHRpcF93aXRoQ2hldnJvbl9sZWZ0IHtcbiAgICBsZWZ0OiAxMHB4OyAvKiA4cHggY2hldnJvbiArIDJweCBzcGFjaW5nICovXG59XG5cbi5teF9JbnRlcmFjdGl2ZVRvb2x0aXAubXhfSW50ZXJhY3RpdmVUb29sdGlwX3dpdGhDaGV2cm9uX3JpZ2h0IHtcbiAgICByaWdodDogMTBweDsgLyogOHB4IGNoZXZyb24gKyAycHggc3BhY2luZyAqL1xufVxuXG4ubXhfSW50ZXJhY3RpdmVUb29sdGlwLm14X0ludGVyYWN0aXZlVG9vbHRpcF93aXRoQ2hldnJvbl9ib3R0b20ge1xuICAgIGJvdHRvbTogMTBweDsgLyogOHB4IGNoZXZyb24gKyAycHggc3BhY2luZyAqL1xufVxuXG4ubXhfSW50ZXJhY3RpdmVUb29sdGlwX2NoZXZyb25fdG9wIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogY2FsYyg1MCUgLSA4cHgpO1xuICAgIHRvcDogLThweDtcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyLWxlZnQ6IDhweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItYm90dG9tOiA4cHggc29saWQgdmFyKC0tdGltZWxpbmUtYmFja2dyb3VuZC1jb2xvcik7XG4gICAgYm9yZGVyLXJpZ2h0OiA4cHggc29saWQgdHJhbnNwYXJlbnQ7XG59XG5cbi8qIEFkYXB0ZWQgZnJvbSBodHRwczovL2NvZHlob3VzZS5jby9ibG9nL3Bvc3QvY3NzLXJvdW5kZWQtdHJpYW5nbGVzLXdpdGgtY2xpcC1wYXRoICovXG5cbi8qIGJ5IFNlYmFzdGlhbm8gR3VlcnJpZXJvIChAZ3VlcnJpZXJvX3NlKSAqL1xuXG5Ac3VwcG9ydHMgKGNsaXAtcGF0aDogcG9seWdvbigwJSAwJSwgMTAwJSAxMDAlLCAwJSAxMDAlKSkge1xuICAgIC5teF9JbnRlcmFjdGl2ZVRvb2x0aXBfY2hldnJvbl90b3Age1xuICAgICAgICBoZWlnaHQ6IDE2cHg7XG4gICAgICAgIHdpZHRoOiAxNnB4O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBpbmhlcml0O1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIGNsaXAtcGF0aDogcG9seWdvbigwJSAwJSwgMTAwJSAxMDAlLCAwJSAxMDAlKTtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgxMzVkZWcpO1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDEzNWRlZyk7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDAgMCAwIDNweDtcbiAgICAgICAgdG9wOiBjYWxjKC04cHggLyAxLjQxNCk7IC8qIHNxcnQoMikgYmVjYXVzZSBvZiByb3RhdGlvbiAqL1xuICAgIH1cbn1cblxuLm14X0ludGVyYWN0aXZlVG9vbHRpcF9jaGV2cm9uX2JvdHRvbSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IGNhbGMoNTAlIC0gOHB4KTtcbiAgICBib3R0b206IC04cHg7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlci1sZWZ0OiA4cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXRvcDogOHB4IHNvbGlkIHZhcigtLXRpbWVsaW5lLWJhY2tncm91bmQtY29sb3IpO1xuICAgIGJvcmRlci1yaWdodDogOHB4IHNvbGlkIHRyYW5zcGFyZW50O1xufVxuXG4vKiBBZGFwdGVkIGZyb20gaHR0cHM6Ly9jb2R5aG91c2UuY28vYmxvZy9wb3N0L2Nzcy1yb3VuZGVkLXRyaWFuZ2xlcy13aXRoLWNsaXAtcGF0aCAqL1xuXG4vKiBieSBTZWJhc3RpYW5vIEd1ZXJyaWVybyAoQGd1ZXJyaWVyb19zZSkgKi9cblxuQHN1cHBvcnRzIChjbGlwLXBhdGg6IHBvbHlnb24oMCUgMCUsIDEwMCUgMTAwJSwgMCUgMTAwJSkpIHtcbiAgICAubXhfSW50ZXJhY3RpdmVUb29sdGlwX2NoZXZyb25fYm90dG9tIHtcbiAgICAgICAgaGVpZ2h0OiAxNnB4O1xuICAgICAgICB3aWR0aDogMTZweDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogaW5oZXJpdDtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICBjbGlwLXBhdGg6IHBvbHlnb24oMCUgMCUsIDEwMCUgMTAwJSwgMCUgMTAwJSk7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwIDAgMCAzcHg7XG4gICAgICAgIGJvdHRvbTogY2FsYygtOHB4IC8gMS40MTQpOyAvKiBzcXJ0KDIpIGJlY2F1c2Ugb2Ygcm90YXRpb24gKi9cbiAgICB9XG59XG5cbi8qXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cbkNvcHlyaWdodCAyMDIxIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXG5cblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cbiovXG5cbi5teF9JbnZpdGVSZWFzb24ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXJnaW4tYm90dG9tOiAxZW07XG59XG5cbi5teF9JbnZpdGVSZWFzb24gLm14X0ludml0ZVJlYXNvbl9yZWFzb24ge1xuICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIH1cblxuLm14X0ludml0ZVJlYXNvbiAubXhfSW52aXRlUmVhc29uX3ZpZXcge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGluc2V0OiAwO1xuICAgICAgICAtd2Via2l0LWJveC1wYWNrOiBjZW50ZXI7XG4gICAgICAgICAgICAtbXMtZmxleC1wYWNrOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgY29sb3I6ICNlZGYzZmY7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1zZWNvbmRhcnktY29udGVudCwgI2VkZjNmZik7XG4gICAgfVxuXG4ubXhfSW52aXRlUmVhc29uIC5teF9JbnZpdGVSZWFzb25fdmlldzo6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDhweDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNlZGYzZmY7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1zZWNvbmRhcnktY29udGVudCwgI2VkZjNmZik7XG4gICAgICAgICAgICAtd2Via2l0LW1hc2staW1hZ2U6IHVybChcIi4uLy4uLy4uL2ltZy9lbGVtZW50LWljb25zL2V5ZS5zdmdcIik7XG4gICAgICAgICAgICAgICAgICAgIG1hc2staW1hZ2U6IHVybChcIi4uLy4uLy4uL2ltZy9lbGVtZW50LWljb25zL2V5ZS5zdmdcIik7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICB3aWR0aDogMThweDtcbiAgICAgICAgICAgIGhlaWdodDogMTRweDtcbiAgICAgICAgfVxuXG4ubXhfSW52aXRlUmVhc29uX2hpZGRlbiAubXhfSW52aXRlUmVhc29uX3JlYXNvbiB7XG4gICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICB9XG5cbi5teF9JbnZpdGVSZWFzb25faGlkZGVuIC5teF9JbnZpdGVSZWFzb25fdmlldyB7XG4gICAgICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICAgICAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICB9XG5cbi8qXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cbkNvcHlyaWdodCAyMDIyIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXG5cblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cbiovXG5cbi5teF9MYWJlbGxlZENoZWNrYm94IHtcbiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGdhcDogOHB4O1xuICAgIC13ZWJraXQtYm94LW9yaWVudDogaG9yaXpvbnRhbDtcbiAgICAtd2Via2l0LWJveC1kaXJlY3Rpb246IG5vcm1hbDtcbiAgICAgICAgLW1zLWZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xufVxuXG4ubXhfTGFiZWxsZWRDaGVja2JveCAubXhfQ2hlY2tib3gge1xuICAgICAgICBtYXJnaW4tdG9wOiAzcHg7IC8qIHZpc3VhbGx5IGFsaWduIHdpdGggbGFiZWwgdGV4dCAqL1xuICAgIH1cblxuLm14X0xhYmVsbGVkQ2hlY2tib3ggLm14X0xhYmVsbGVkQ2hlY2tib3hfbGFiZWxzIHtcbiAgICAgICAgLXdlYmtpdC1ib3gtZmxleDogMTtcbiAgICAgICAgICAgIC1tcy1mbGV4OiAxO1xuICAgICAgICAgICAgICAgIGZsZXg6IDE7XG4gICAgfVxuXG4ubXhfTGFiZWxsZWRDaGVja2JveCAubXhfTGFiZWxsZWRDaGVja2JveF9sYWJlbHMgLm14X0xhYmVsbGVkQ2hlY2tib3hfbGFiZWwge1xuICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgfVxuXG4ubXhfTGFiZWxsZWRDaGVja2JveCAubXhfTGFiZWxsZWRDaGVja2JveF9sYWJlbHMgLm14X0xhYmVsbGVkQ2hlY2tib3hfYnlsaW5lIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IDRweDtcbiAgICAgICAgICAgIGNvbG9yOiAjYTFiMmQxO1xuICAgICAgICAgICAgZm9udC1zaXplOiAwLjY4NzVyZW07XG4gICAgICAgIH1cblxuLypcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxuQ29weXJpZ2h0IDIwMjMgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cblxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuKi9cblxuLm14X0xhbmd1YWdlRHJvcGRvd24gLm14X0Ryb3Bkb3duX29wdGlvbiA+IGRpdiB7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplO1xuICAgIH1cblxuLypcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxuQ29weXJpZ2h0IDIwMjAgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cblxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuKi9cblxuLm14X01pbmlBdmF0YXJVcGxvYWRlciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdpZHRoOiAtd2Via2l0LW1pbi1jb250ZW50O1xuICAgIHdpZHRoOiAtbW96LW1pbi1jb250ZW50O1xuICAgIHdpZHRoOiBtaW4tY29udGVudDtcbn1cblxuLm14X01pbmlBdmF0YXJVcGxvYWRlciAubXhfTWluaUF2YXRhclVwbG9hZGVyX2luZGljYXRvciB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcblxuICAgICAgICBoZWlnaHQ6IDI2cHg7XG4gICAgICAgIHdpZHRoOiAyNnB4O1xuXG4gICAgICAgIHJpZ2h0OiAtNnB4O1xuICAgICAgICBib3R0b206IC02cHg7XG5cbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdGltZWxpbmUtYmFja2dyb3VuZC1jb2xvcik7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgei1pbmRleDogMTtcblxuICAgICAgICBsaW5lLWhlaWdodDogMDtcbiAgICB9XG5cbi5teF9NaW5pQXZhdGFyVXBsb2FkZXIgLm14X01pbmlBdmF0YXJVcGxvYWRlcl9pbmRpY2F0b3IgLm14X01pbmlBdmF0YXJVcGxvYWRlcl9jYW1lcmFJY29uIHtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWRmM2ZmO1xuXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1zZWNvbmRhcnktY29udGVudCwgI2VkZjNmZik7XG4gICAgICAgICAgICAtd2Via2l0LW1hc2stcG9zaXRpb246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgbWFzay1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgICAgICAgLXdlYmtpdC1tYXNrLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgICAgICAgICAgICBtYXNrLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgICAgLXdlYmtpdC1tYXNrLWltYWdlOiB1cmwoXCJAdmVjdG9yLWltL2NvbXBvdW5kLWRlc2lnbi10b2tlbnMvaWNvbnMvdGFrZS1waG90by1zb2xpZC5zdmdcIik7XG4gICAgICAgICAgICAgICAgICAgIG1hc2staW1hZ2U6IHVybChcIkB2ZWN0b3ItaW0vY29tcG91bmQtZGVzaWduLXRva2Vucy9pY29ucy90YWtlLXBob3RvLXNvbGlkLnN2Z1wiKTtcbiAgICAgICAgICAgIC13ZWJraXQtbWFzay1zaXplOiAxNnB4O1xuICAgICAgICAgICAgICAgICAgICBtYXNrLXNpemU6IDE2cHg7XG4gICAgICAgICAgICB6LWluZGV4OiAyO1xuICAgICAgICB9XG5cbi5teF9NaW5pQXZhdGFyVXBsb2FkZXJfaW5wdXQge1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG5cbi8qXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cbkNvcHlyaWdodCAyMDIxIMWgaW1vbiBCcmFuZG5lciA8c2ltb24uYnJhLmFnQGdtYWlsLmNvbT5cblxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuKi9cblxuLm14X1BpbGwge1xuICAgIHBhZGRpbmc6IDAuMDYyNXJlbSAwLjRlbSAwLjA2MjVyZW0gMC40ZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuMDYyNXJlbTtcbiAgICBib3JkZXItcmFkaXVzOiAxcmVtO1xuICAgIHZlcnRpY2FsLWFsaWduOiB0ZXh0LXRvcDtcbiAgICBkaXNwbGF5OiAtd2Via2l0LWlubGluZS1ib3g7XG4gICAgZGlzcGxheTogLW1zLWlubGluZS1mbGV4Ym94O1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgY29sb3I6IHZhcigtLWNwZC1jb2xvci10ZXh0LW9uLXNvbGlkLXByaW1hcnkpICFpbXBvcnRhbnQ7IC8qIFRvIG92ZXJyaWRlIC5tYXJrZG93bi1ib2R5ICovXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tb3RoZXItdXNlci1waWxsLWJnLWNvbG9yLCB2YXIoLS1jcGQtY29sb3ItYmctYWN0aW9uLXByaW1hcnktcmVzdCkpICFpbXBvcnRhbnQ7XG59XG5cbi8qIFRvIG92ZXJyaWRlIC5tYXJrZG93bi1ib2R5ICovXG5cbi5teF9QaWxsID4gKiB7XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIH1cblxuLm14X1BpbGwubXhfVXNlclBpbGxfbWUsXG4gICAgLm14X1BpbGwubXhfQXRSb29tUGlsbCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNwZC1jb2xvci1iZy1jcml0aWNhbC1wcmltYXJ5KSAhaW1wb3J0YW50OyAvKiBUbyBvdmVycmlkZSAubWFya2Rvd24tYm9keSAqL1xuICAgIH1cblxuLm14X1BpbGw6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1vdGhlci11c2VyLXBpbGwtYmctY29sb3IsIHZhcigtLWNwZC1jb2xvci1iZy1hY3Rpb24tcHJpbWFyeS1ob3ZlcmVkKSkgIWltcG9ydGFudDsgLyogVG8gb3ZlcnJpZGUgLm1hcmtkb3duLWJvZHkgKi9cbiAgICB9XG5cbi5teF9QaWxsOmFjdGl2ZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW90aGVyLXVzZXItcGlsbC1iZy1jb2xvciwgdmFyKC0tY3BkLWNvbG9yLWJnLWFjdGlvbi1wcmltYXJ5LXByZXNzZWQpKSAhaW1wb3J0YW50OyAvKiBUbyBvdmVycmlkZSAubWFya2Rvd24tYm9keSAqL1xuICAgIH1cblxuLm14X1BpbGwubXhfVXNlclBpbGxfbWU6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoXG4gICAgICAgICAgICAtLWNwZC1jb2xvci1iZy1jcml0aWNhbC1ob3ZlcmVkXG4gICAgICAgICkgIWltcG9ydGFudDsgLyogVG8gb3ZlcnJpZGUgLm1hcmtkb3duLWJvZHkgfCBzYW1lIG9uIGJvdGggdGhlbWVzICovXG4gICAgfVxuXG4vKiBXZSBkb24ndCB3YW50IHRvIGluZGljYXRlIGNsaWNrYWJpbGl0eSAqL1xuXG4ubXhfUGlsbC5teF9BdFJvb21QaWxsOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY3BkLWNvbG9yLWJnLWNyaXRpY2FsLXByaW1hcnkpICFpbXBvcnRhbnQ7IC8qIFRvIG92ZXJyaWRlIC5tYXJrZG93bi1ib2R5ICovXG4gICAgICAgIGN1cnNvcjogaW5oZXJpdDtcbiAgICB9XG5cbi5teF9QaWxsOjpiZWZvcmUsXG4gICAgLm14X1BpbGwgLm14X0Jhc2VBdmF0YXIge1xuICAgICAgICAtd2Via2l0LW1hcmdpbi1zdGFydDogLTAuM2VtO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1pbmxpbmUtc3RhcnQ6IC0wLjNlbTsgLyogT3RoZXJ3aXNlIHRoZSBnYXAgaXMgdG9vIGxhcmdlICovXG4gICAgICAgIC13ZWJraXQtbWFyZ2luLWVuZDogMC4yZW07XG4gICAgICAgICAgICAgICAgbWFyZ2luLWlubGluZS1lbmQ6IDAuMmVtO1xuICAgICAgICBtaW4td2lkdGg6IDFyZW07IC8qIGVuc3VyZSB0aGUgYXZhdGFyIGlzIG5vdCBjb21wcmVzc2VkICovXG4gICAgfVxuXG4ubXhfUGlsbCAubXhfUGlsbF90ZXh0IHtcbiAgICAgICAgbWluLXdpZHRoOiAwO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB9XG5cbmEubXhfUGlsbCB7XG4gICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmUgIWltcG9ydGFudDsgLyogVG8gb3ZlcnJpZGUgLm1hcmtkb3duLWJvZHkgKi9cbiAgICB9XG5cbi5teF9QaWxsIC5teF9QaWxsX0xpbmtJY29uIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzA0NjdkZDtcbiAgICAgICAgLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIGNvbG9yOiB2YXIoLS10aW1lbGluZS1iYWNrZ3JvdW5kLWNvbG9yKTtcbiAgICAgICAgaGVpZ2h0OiAxNnB4O1xuICAgICAgICBwYWRkaW5nOiAxcHg7XG4gICAgICAgIHdpZHRoOiAxNnB4O1xuICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgfVxuXG4ubXhfUGlsbCAubXhfUGlsbF9Vc2VySWNvbiB7XG4gICAgICAgIC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICBjb2xvcjogI2VkZjNmZjtcbiAgICAgICAgY29sb3I6IHZhcigtLXNlY29uZGFyeS1jb250ZW50LCAjZWRmM2ZmKTtcbiAgICAgICAgaGVpZ2h0OiAxNnB4O1xuICAgICAgICB3aWR0aDogMTZweDtcbiAgICB9XG5cbi5teF9QaWxsLm14X1NwYWNlUGlsbCB7XG4gICAgICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDhweDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogOHB4O1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDRweDtcbiAgICB9XG5cbi8qXG5Db3B5cmlnaHQgMjAxOS0yMDI0IE5ldyBWZWN0b3IgTHRkLlxuXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXG4qL1xuXG4ubXhfUG93ZXJTZWxlY3RvciB7XG4gICAgd2lkdGg6IDEwMCU7XG59XG5cbi5teF9Qb3dlclNlbGVjdG9yIC5teF9GaWVsZCBzZWxlY3QsXG4ubXhfUG93ZXJTZWxlY3RvciAubXhfRmllbGQgaW5wdXQge1xuICAgIC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG5cbi8qXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cbkNvcHlyaWdodCAyMDIwLCAyMDIxIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXG5cblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cbiovXG5cbnByb2dyZXNzLm14X1Byb2dyZXNzQmFyIHtcbiAgICBoZWlnaHQ6IDZweDtcbiAgICB3aWR0aDogNjBweDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICAgICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgICAgICAgICBhcHBlYXJhbmNlOiBub25lO1xuICAgIGJvcmRlcjogdmFyKC0tY3BkLWJvcmRlci13aWR0aC0xKSBzb2xpZCB2YXIoLS1jcGQtY29sb3ItZ3JheS00MDApO1xuXG4gICAgYm9yZGVyLXJhZGl1czogNnB4O1xufVxuXG5wcm9ncmVzcy5teF9Qcm9ncmVzc0Jhcjo6LW1vei1wcm9ncmVzcy1iYXIge1xuICAgICAgICBib3JkZXItcmFkaXVzOiA2cHg7XG4gICAgfVxuXG5wcm9ncmVzcy5teF9Qcm9ncmVzc0Jhcjo6LXdlYmtpdC1wcm9ncmVzcy1iYXIsXG4gICAgcHJvZ3Jlc3MubXhfUHJvZ3Jlc3NCYXI6Oi13ZWJraXQtcHJvZ3Jlc3MtdmFsdWUge1xuICAgICAgICBib3JkZXItcmFkaXVzOiA2cHg7XG4gICAgfVxuXG5wcm9ncmVzcy5teF9Qcm9ncmVzc0JhciB7XG4gICAgY29sb3I6IHZhcigtLWNwZC1jb2xvci1pY29uLWFjY2VudC10ZXJ0aWFyeSk7XG59XG5cbnByb2dyZXNzLm14X1Byb2dyZXNzQmFyOjotbW96LXByb2dyZXNzLWJhciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNwZC1jb2xvci1pY29uLWFjY2VudC10ZXJ0aWFyeSk7XG4gICAgfVxuXG5wcm9ncmVzcy5teF9Qcm9ncmVzc0Jhcjo6LXdlYmtpdC1wcm9ncmVzcy12YWx1ZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNwZC1jb2xvci1pY29uLWFjY2VudC10ZXJ0aWFyeSk7XG4gICAgfVxuXG5wcm9ncmVzcy5teF9Qcm9ncmVzc0JhciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzIxMjYyYztcbn1cblxucHJvZ3Jlc3MubXhfUHJvZ3Jlc3NCYXI6Oi13ZWJraXQtcHJvZ3Jlc3MtYmFyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzIxMjYyYztcbiAgICB9XG5cbnByb2dyZXNzLm14X1Byb2dyZXNzQmFyOjotd2Via2l0LXByb2dyZXNzLXZhbHVlIHtcbiAgICAgICAgLXdlYmtpdC10cmFuc2l0aW9uOiB3aWR0aCAxcztcbiAgICAgICAgdHJhbnNpdGlvbjogd2lkdGggMXM7XG4gICAgfVxuXG4vKlxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXG5Db3B5cmlnaHQgMjAyMCBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxuXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXG4qL1xuXG4ubXhfUVJDb2RlIGltZyB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgICB9XG5cbi8qXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cbkNvcHlyaWdodCAyMDE4IFZlY3RvciBDcmVhdGlvbnMgTHRkXG5cblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cbiovXG5cbi5teF9SZXBseUNoYWluIHtcbiAgICBtYXJnaW46IDA7IC8qIFJlc2V0IGRlZmF1bHQgYmxvY2txdW90ZSBtYXJnaW4gKi9cbiAgICBwYWRkaW5nLWxlZnQ6IDEwcHg7XG4gICAgYm9yZGVyLWxlZnQ6IDJweCBzb2xpZCB2YXIoLS11c2VybmFtZS1jb2xvcik7XG4gICAgYm9yZGVyLXJhZGl1czogMnB4O1xufVxuXG4ubXhfUmVwbHlDaGFpbiAubXhfUmVwbHlDaGFpbl9zaG93Lm14X0FjY2Vzc2libGVCdXR0b25fa2luZF9saW5rX2lubGluZSB7XG4gICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwOyAvKiBFbmZvcmNlICdJbiByZXBseSB0bycgdG8gYmUgYSBzaW5nbGUgbGluZSAqL1xuICAgICAgICAgICAgY29sb3I6ICNlZGYzZmY7XG4gICAgICAgICAgICBjb2xvcjogdmFyKC0tc2Vjb25kYXJ5LWNvbnRlbnQsICNlZGYzZmYpO1xuICAgICAgICAgICAgLXdlYmtpdC10cmFuc2l0aW9uOiBjb2xvciBlYXNlIDAuMTVzO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgZWFzZSAwLjE1cztcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1jcGQtZm9udC13ZWlnaHQtcmVndWxhcik7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IGluaGVyaXQ7XG4gICAgICAgIH1cblxuLm14X1JlcGx5Q2hhaW4gLm14X1JlcGx5Q2hhaW5fc2hvdy5teF9BY2Nlc3NpYmxlQnV0dG9uX2tpbmRfbGlua19pbmxpbmU6aG92ZXIge1xuICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS10aW1lbGluZS10ZXh0LWNvbG9yKTtcbiAgICAgICAgICAgIH1cblxuLm14X1JlcGx5Q2hhaW4ubXhfUmVwbHlDaGFpbl9jb2xvcjEge1xuICAgICAgICAtLXVzZXJuYW1lLWNvbG9yOiB2YXIoLS1jcGQtY29sb3ItdGV4dC1kZWNvcmF0aXZlLTEpO1xuICAgIH1cblxuLm14X1JlcGx5Q2hhaW4ubXhfUmVwbHlDaGFpbl9jb2xvcjIge1xuICAgICAgICAtLXVzZXJuYW1lLWNvbG9yOiB2YXIoLS1jcGQtY29sb3ItdGV4dC1kZWNvcmF0aXZlLTIpO1xuICAgIH1cblxuLm14X1JlcGx5Q2hhaW4ubXhfUmVwbHlDaGFpbl9jb2xvcjMge1xuICAgICAgICAtLXVzZXJuYW1lLWNvbG9yOiB2YXIoLS1jcGQtY29sb3ItdGV4dC1kZWNvcmF0aXZlLTMpO1xuICAgIH1cblxuLm14X1JlcGx5Q2hhaW4ubXhfUmVwbHlDaGFpbl9jb2xvcjQge1xuICAgICAgICAtLXVzZXJuYW1lLWNvbG9yOiB2YXIoLS1jcGQtY29sb3ItdGV4dC1kZWNvcmF0aXZlLTQpO1xuICAgIH1cblxuLm14X1JlcGx5Q2hhaW4ubXhfUmVwbHlDaGFpbl9jb2xvcjUge1xuICAgICAgICAtLXVzZXJuYW1lLWNvbG9yOiB2YXIoLS1jcGQtY29sb3ItdGV4dC1kZWNvcmF0aXZlLTUpO1xuICAgIH1cblxuLm14X1JlcGx5Q2hhaW4ubXhfUmVwbHlDaGFpbl9jb2xvcjYge1xuICAgICAgICAtLXVzZXJuYW1lLWNvbG9yOiB2YXIoLS1jcGQtY29sb3ItdGV4dC1kZWNvcmF0aXZlLTYpO1xuICAgIH1cblxuLypcbkNvcHlyaWdodCAyMDE4LTIwMjQgTmV3IFZlY3RvciBMdGQuXG5cblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cbiovXG5cbi5teF9SZXNpemVIYW5kbGUge1xuICAgIGN1cnNvcjogcm93LXJlc2l6ZTtcbiAgICAtd2Via2l0LWJveC1mbGV4OiAwO1xuICAgICAgICAtbXMtZmxleDogMCAwIGF1dG87XG4gICAgICAgICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICB6LWluZGV4OiAxMDA7XG59XG5cbi5teF9SZXNpemVIYW5kbGUubXhfUmVzaXplSGFuZGxlLS1ob3Jpem9udGFsIHtcbiAgICAgICAgbWFyZ2luOiAwIC01cHg7XG4gICAgICAgIHBhZGRpbmc6IDAgNXB4O1xuICAgICAgICBjdXJzb3I6IGNvbC1yZXNpemU7XG4gICAgfVxuXG4ubXhfUmVzaXplSGFuZGxlLm14X1Jlc2l6ZUhhbmRsZS0taG9yaXpvbnRhbCA+IGRpdiB7XG4gICAgICAgICAgICB3aWR0aDogMXB4O1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICB9XG5cbi5teF9SZXNpemVIYW5kbGUubXhfUmVzaXplSGFuZGxlLS12ZXJ0aWNhbCB7XG4gICAgICAgIG1hcmdpbjogLTVweCAwO1xuICAgICAgICBwYWRkaW5nOiA1cHggMDtcbiAgICB9XG5cbi5teF9SZXNpemVIYW5kbGUubXhfUmVzaXplSGFuZGxlLS12ZXJ0aWNhbCA+IGRpdiB7XG4gICAgICAgICAgICBoZWlnaHQ6IDFweDtcbiAgICAgICAgfVxuXG4vKiBYWFg6IGJsZXVyZ2gsIHdoYXQgaXMgdGhpcz8gVGhlc2UgY2xhc3NlcyB0b3RhbGx5IGJyZWFrIHRoZSBjb21wb25lbnQgKi9cblxuLyogbmFtaW5nIHNjaGVtZTsgaXQncyBjb21wbGV0ZWx5IHVuY2xlYXIgd2hlcmUgb3IgaG93IHRoZXkncmUgYmVpbmcgdXNlZCAqL1xuXG4vKiAtLU1hdHRoZXcgKi9cblxuLm14X01hcmtkb3duX0JPTEQge1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG4ubXhfTWFya2Rvd25fSVRBTElDIHtcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgLypcbiAgICAvLyBpbnRlcmVzdGluZ2x5LCAqbm90KiB1c2luZyB0aGUgZXhwbGljaXQgaXRhbGljIGZvbnRcbiAgICAvLyB2YXJpYW50IHNlZW1zIHlpZWxkIGJldHRlciByZXN1bHRzLlxuXG4gICAgLy8gY29tcGVuc2F0ZSBmb3IgTnVuaXRvIGl0YWxpY3MgYmVpbmcgdGVycmlibGVcbiAgICAvLyBodHRwczovL2dpdGh1Yi5jb20vZ29vZ2xlL2ZvbnRzL2lzc3Vlcy8xNzJcbiAgICB0cmFuc2Zvcm06IHNrZXdYKC0xNGRlZyk7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICovXG59XG5cbi5teF9NYXJrZG93bl9DT0RFIHtcbiAgICBwYWRkaW5nOiAwLjJlbSAwO1xuICAgIG1hcmdpbjogMDtcbiAgICBmb250LXNpemU6IDg1JTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMDQpO1xuICAgIGJvcmRlci1yYWRpdXM6IDNweDtcbn1cblxuLm14X01hcmtkb3duX0hSIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBiYWNrZ3JvdW5kOiAjZTllOWU5O1xufVxuXG4ubXhfTWFya2Rvd25fU1RSSUtFVEhST1VHSCB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBsaW5lLXRocm91Z2g7XG59XG5cbi5teF9FbW9qaSB7XG4gICAgLyogU2hvdWxkIGJlIDEuOHJlbSBmb3Igb3VyIGRlZmF1bHQgbWVzc2FnZSBib2RpZXMsIGFuZCBzY2FsZSB3aXRoIHRoZSAqL1xuICAgIC8qIHN1cnJvdW5kaW5nIHRleHQgKi9cbiAgICBmb250LXNpemU6IG1heCgxLjEyNXJlbSwgMWVtKTtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogYm90dG9tO1xufVxuXG4vKlxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXG5Db3B5cmlnaHQgMjAxOSBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxuXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXG4qL1xuXG4ubXhfUm9vbUFsaWFzRmllbGQge1xuICAgIC8qIGlmIHBhcmVudCBpcyBhIGZsZXggY29udGFpbmVyLCB0aGlzIGFsbG93cyB0aGUgKi9cbiAgICAvKiB3aWR0aCB0byBiZSBhcyB3aWRlIGFzIG5lZWRlZCwgYW5kIG5vdCAxMDAlICovXG4gICAgLXdlYmtpdC1ib3gtZmxleDogMDtcbiAgICAgICAgLW1zLWZsZXg6IDAgMSBhdXRvO1xuICAgICAgICAgICAgZmxleDogMCAxIGF1dG87XG4gICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gICAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICAtd2Via2l0LWJveC1hbGlnbjogc3RyZXRjaDtcbiAgICAgICAgLW1zLWZsZXgtYWxpZ246IHN0cmV0Y2g7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICBtaW4td2lkdGg6IDA7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xufVxuXG4ubXhfUm9vbUFsaWFzRmllbGQgaW5wdXQge1xuICAgICAgICB3aWR0aDogMTUwcHg7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICB9XG5cbi5teF9Sb29tQWxpYXNGaWVsZCBpbnB1dDo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciB7XG4gICAgICAgIGNvbG9yOiB2YXIoLS10aW1lbGluZS10ZXh0LXNlY29uZGFyeS1jb2xvcik7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgfVxuXG4ubXhfUm9vbUFsaWFzRmllbGQgaW5wdXQ6Oi1tb3otcGxhY2Vob2xkZXIge1xuICAgICAgICBjb2xvcjogdmFyKC0tdGltZWxpbmUtdGV4dC1zZWNvbmRhcnktY29sb3IpO1xuICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIH1cblxuLm14X1Jvb21BbGlhc0ZpZWxkIGlucHV0Oi1tcy1pbnB1dC1wbGFjZWhvbGRlciB7XG4gICAgICAgIGNvbG9yOiB2YXIoLS10aW1lbGluZS10ZXh0LXNlY29uZGFyeS1jb2xvcik7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgfVxuXG4ubXhfUm9vbUFsaWFzRmllbGQgaW5wdXQ6Oi1tcy1pbnB1dC1wbGFjZWhvbGRlciB7XG4gICAgICAgIGNvbG9yOiB2YXIoLS10aW1lbGluZS10ZXh0LXNlY29uZGFyeS1jb2xvcik7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgfVxuXG4ubXhfUm9vbUFsaWFzRmllbGQgaW5wdXQ6OnBsYWNlaG9sZGVyIHtcbiAgICAgICAgY29sb3I6IHZhcigtLXRpbWVsaW5lLXRleHQtc2Vjb25kYXJ5LWNvbG9yKTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICB9XG5cbi5teF9Sb29tQWxpYXNGaWVsZCAubXhfRmllbGRfcHJlZml4LFxuICAgIC5teF9Sb29tQWxpYXNGaWVsZCAubXhfRmllbGRfcG9zdGZpeCB7XG4gICAgICAgIGNvbG9yOiB2YXIoLS10aW1lbGluZS10ZXh0LXNlY29uZGFyeS1jb2xvcik7XG4gICAgICAgIGJvcmRlci1sZWZ0OiBub25lO1xuICAgICAgICBib3JkZXItcmlnaHQ6IG5vbmU7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1jcGQtZm9udC13ZWlnaHQtc2VtaWJvbGQpO1xuICAgICAgICBwYWRkaW5nOiA5cHggMTBweDtcbiAgICAgICAgLXdlYmtpdC1ib3gtZmxleDogMDtcbiAgICAgICAgICAgIC1tcy1mbGV4OiAwIDAgYXV0bztcbiAgICAgICAgICAgICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICB9XG5cbi5teF9Sb29tQWxpYXNGaWVsZCAubXhfRmllbGRfcG9zdGZpeCB7XG4gICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAvKiB0aGlzIGFsbG93cyB0aGUgZG9tYWluIG5hbWUgdG8gc2hvdyAqL1xuICAgICAgICAvKiBhcyBsb25nIGFzIGl0IGRvZXNuJ3QgbWFrZSB0aGUgaW5wdXQgc2hyaW5rICovXG4gICAgICAgIC8qIGlmIGl0J3MgdG9vIGJpZywgaXQgc2hvd3MgYW4gZWxsaXBzaXMgKi9cbiAgICAgICAgLyogMTgwOiAyOCBmb3IgcHJlZml4LCAxNTIgZm9yIGlucHV0ICovXG4gICAgICAgIG1heC13aWR0aDogY2FsYygxMDAlIC0gMTgwcHgpO1xuICAgIH1cblxuLypcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxuQ29weXJpZ2h0IDIwMjAgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cblxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuKi9cblxuLm14X1NTT0J1dHRvbnMge1xuICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgLW1zLWZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgIC13ZWJraXQtYm94LXBhY2s6IGNlbnRlcjtcbiAgICAgICAgLW1zLWZsZXgtcGFjazogY2VudGVyO1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG5cbi5teF9TU09CdXR0b25zIC5teF9TU09CdXR0b25zX3JvdyArIC5teF9TU09CdXR0b25zX3JvdyB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAxNnB4O1xuICAgICAgICB9XG5cbi5teF9TU09CdXR0b25zIC5teF9TU09CdXR0b24ge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBwYWRkaW5nOiA3cHggMzJweDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgZm9udDogdmFyKC0tY3BkLWZvbnQtYm9keS1tZC1zZW1pYm9sZCk7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNlN2U3ZTc7XG4gICAgICAgIGNvbG9yOiB2YXIoLS10aW1lbGluZS10ZXh0LWNvbG9yKTtcbiAgICB9XG5cbi5teF9TU09CdXR0b25zIC5teF9TU09CdXR0b24gPiBpbWcge1xuICAgICAgICAgICAgLW8tb2JqZWN0LWZpdDogY29udGFpbjtcbiAgICAgICAgICAgICAgIG9iamVjdC1maXQ6IGNvbnRhaW47XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBsZWZ0OiA4cHg7XG4gICAgICAgICAgICB0b3A6IDRweDtcbiAgICAgICAgfVxuXG4ubXhfU1NPQnV0dG9ucyAubXhfU1NPQnV0dG9uOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcm9vbWxpc3QtaGlnaGxpZ2h0cy1jb2xvcik7XG4gICAgfVxuXG4ubXhfU1NPQnV0dG9ucyAubXhfU1NPQnV0dG9uX2RlZmF1bHQge1xuICAgICAgICBjb2xvcjogIzBkYmQ4YjtcbiAgICAgICAgY29sb3I6IHZhcigtLWFjY2VudC1jb2xvciwgIzBkYmQ4Yik7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXRpbWVsaW5lLWJhY2tncm91bmQtY29sb3IpO1xuICAgICAgICBib3JkZXItY29sb3I6ICMwZGJkOGI7XG4gICAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0tYWNjZW50LWNvbG9yLCAjMGRiZDhiKTtcbiAgICB9XG5cbi5teF9TU09CdXR0b25zIC5teF9TU09CdXR0b25fZGVmYXVsdC5teF9TU09CdXR0b25fcHJpbWFyeSB7XG4gICAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMGRiZDhiO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1hY2NlbnQtY29sb3IsICMwZGJkOGIpO1xuICAgIH1cblxuLm14X1NTT0J1dHRvbnMgLm14X1NTT0J1dHRvbl9taW5pIHtcbiAgICAgICAgLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIHdpZHRoOiA1MHB4OyAvKiA0OHB4ICsgMXB4IGJvcmRlciBvbiBhbGwgc2lkZXMgKi9cbiAgICAgICAgaGVpZ2h0OiA1MHB4OyAvKiA0OHB4ICsgMXB4IGJvcmRlciBvbiBhbGwgc2lkZXMgKi9cbiAgICAgICAgbWluLXdpZHRoOiA1MHB4OyAvKiBwcmV2ZW50IGNydXNoaW5nIGJ5IHRoZSBmbGV4Ym94ICovXG4gICAgICAgIHBhZGRpbmc6IDEycHg7XG4gICAgfVxuXG4ubXhfU1NPQnV0dG9ucyAubXhfU1NPQnV0dG9uX21pbmkgPiBpbWcge1xuICAgICAgICAgICAgbGVmdDogMTJweDtcbiAgICAgICAgICAgIHRvcDogMTJweDtcbiAgICAgICAgfVxuXG4ubXhfU1NPQnV0dG9ucyAubXhfU1NPQnV0dG9uX21pbmkgKyAubXhfU1NPQnV0dG9uX21pbmkge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDE2cHg7XG4gICAgICAgIH1cblxuLypcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxuQ29weXJpZ2h0IDIwMjAgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cblxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuKi9cblxuLm14X1NlYXJjaFdhcm5pbmcge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBwYWRkaW5nOiAwIDE2cHg7XG59XG5cbi5teF9TZWFyY2hXYXJuaW5nID4gKiB7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgfVxuXG4ubXhfU2VhcmNoV2FybmluZyA+IGltZyB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogOHB4O1xuICAgIH1cblxuLypcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxuQ29weXJpZ2h0IDIwMjAgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cblxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuKi9cblxuLm14X1NlcnZlclBpY2tlciB7XG4gICAgbWFyZ2luLWJvdHRvbTogMTRweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMTZweDtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiYSgxNDEsIDE1MSwgMTY1LCAwLjIpO1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBhdXRvIC13ZWJraXQtbWluLWNvbnRlbnQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBhdXRvIG1pbi1jb250ZW50O1xuICAgIGdyaWQtdGVtcGxhdGUtcm93czogYXV0byBhdXRvIGF1dG87XG4gICAgZm9udDogdmFyKC0tY3BkLWZvbnQtYm9keS1tZC1yZWd1bGFyKTtcbn1cblxuLm14X1NlcnZlclBpY2tlciA+IGgyIHtcbiAgICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLWNwZC1mb250LXdlaWdodC1zZW1pYm9sZCk7XG4gICAgICAgIG1hcmdpbjogMCAwIDIwcHg7XG4gICAgICAgIGdyaWQtY29sdW1uOiAxO1xuICAgICAgICBncmlkLXJvdzogMTtcbiAgICB9XG5cbi5teF9TZXJ2ZXJQaWNrZXIgLm14X1NlcnZlclBpY2tlcl9oZWxwIHtcbiAgICAgICAgd2lkdGg6IDIwcHg7XG4gICAgICAgIGhlaWdodDogMjBweDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0taWNvbi1idXR0b24tY29sb3IsIHZhcigtLWNwZC1jb2xvci1pY29uLXRlcnRpYXJ5KSk7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gICAgICAgIGdyaWQtY29sdW1uOiAyO1xuICAgICAgICBncmlkLXJvdzogMTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIH1cblxuLm14X1NlcnZlclBpY2tlciAubXhfU2VydmVyUGlja2VyX2hlbHA6OmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgd2lkdGg6IDI0cHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDI0cHg7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IC0ycHg7XG4gICAgICAgICAgICBsZWZ0OiAtMnB4O1xuICAgICAgICAgICAgLXdlYmtpdC1tYXNrLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgIG1hc2stcG9zaXRpb246IGNlbnRlcjtcbiAgICAgICAgICAgIC13ZWJraXQtbWFzay1zaXplOiBjb250YWluO1xuICAgICAgICAgICAgICAgICAgICBtYXNrLXNpemU6IGNvbnRhaW47XG4gICAgICAgICAgICAtd2Via2l0LW1hc2stcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgICAgICAgICAgIG1hc2stcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgICAtd2Via2l0LW1hc2staW1hZ2U6IHVybChcIi4uLy4uLy4uL2ltZy9lbGVtZW50LWljb25zL2kuc3ZnXCIpO1xuICAgICAgICAgICAgICAgICAgICBtYXNrLWltYWdlOiB1cmwoXCIuLi8uLi8uLi9pbWcvZWxlbWVudC1pY29ucy9pLnN2Z1wiKTtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICNmZmZmZmY7XG4gICAgICAgIH1cblxuLm14X1NlcnZlclBpY2tlciAubXhfU2VydmVyUGlja2VyX3NlcnZlciB7XG4gICAgICAgIGNvbG9yOiB2YXIoLS10aW1lbGluZS10ZXh0LWNvbG9yKTtcbiAgICAgICAgZ3JpZC1jb2x1bW46IDE7XG4gICAgICAgIGdyaWQtcm93OiAyO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiA4cHg7XG4gICAgfVxuXG4ubXhfU2VydmVyUGlja2VyIC5teF9TZXJ2ZXJQaWNrZXJfY2hhbmdlIHtcbiAgICAgICAgZ3JpZC1jb2x1bW46IDI7XG4gICAgICAgIGdyaWQtcm93OiAyO1xuICAgIH1cblxuLm14X1NlcnZlclBpY2tlciAubXhfU2VydmVyUGlja2VyX2Rlc2Mge1xuICAgICAgICBtYXJnaW4tdG9wOiA0cHg7XG4gICAgICAgIGNvbG9yOiAjZWRmM2ZmO1xuICAgICAgICBjb2xvcjogdmFyKC0tdGVydGlhcnktY29udGVudCwgI2VkZjNmZik7XG4gICAgICAgIGdyaWQtY29sdW1uOiAxIC8gMjtcbiAgICAgICAgZ3JpZC1yb3c6IDM7XG4gICAgfVxuXG4ubXhfU2VydmVyUGlja2VyX2hlbHBEaWFsb2cgLm14X0RpYWxvZ19jb250ZW50IHtcbiAgICAgICAgd2lkdGg6IDQ1NnB4O1xuICAgIH1cblxuLypcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxuQ29weXJpZ2h0IDIwMjEgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cblxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuKi9cblxuLm14X1NldHRpbmdzRmxhZyB7XG4gICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gICAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICAtd2Via2l0LWJveC1vcmllbnQ6IGhvcml6b250YWw7XG4gICAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiBub3JtYWw7XG4gICAgICAgIC1tcy1mbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAtd2Via2l0LWJveC1hbGlnbjogc3RhcnQ7XG4gICAgICAgIC1tcy1mbGV4LWFsaWduOiBzdGFydDtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgIC13ZWJraXQtYm94LXBhY2s6IGp1c3RpZnk7XG4gICAgICAgIC1tcy1mbGV4LXBhY2s6IGp1c3RpZnk7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgbWFyZ2luLWJvdHRvbTogNHB4O1xuICAgIHdpZHRoOiAxMDAlO1xufVxuXG4ubXhfU2V0dGluZ3NGbGFnIC5teF9Ub2dnbGVTd2l0Y2gge1xuICAgICAgICAtd2Via2l0LWJveC1mbGV4OiAwO1xuICAgICAgICAgICAgLW1zLWZsZXg6IDAgMCBhdXRvO1xuICAgICAgICAgICAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIH1cblxuLm14X1NldHRpbmdzRmxhZy5teF9TZXR0aW5nc0ZsYWdfdG9nZ2xlSW5Gcm9udCAubXhfVG9nZ2xlU3dpdGNoIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDhweDtcbiAgICAgICAgfVxuXG4ubXhfU2V0dGluZ3NGbGFnLm14X1NldHRpbmdzRmxhZ190b2dnbGVJbkZyb250IC5teF9TZXR0aW5nc0ZsYWdfbGFiZWwge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgfVxuXG4ubXhfU2V0dGluZ3NGbGFnX2xhYmVsIHtcbiAgICAtd2Via2l0LWJveC1mbGV4OiAxO1xuICAgICAgICAtbXMtZmxleDogMTtcbiAgICAgICAgICAgIGZsZXg6IDE7XG4gICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gICAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xuICAgIC13ZWJraXQtYm94LWRpcmVjdGlvbjogbm9ybWFsO1xuICAgICAgICAtbXMtZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgY29sb3I6IHZhcigtLXRpbWVsaW5lLXRleHQtY29sb3IpO1xuICAgIHBhZGRpbmctcmlnaHQ6IDEwcHg7XG4gICAgcGFkZGluZy10b3A6IDRweDtcbn1cblxuLm14X1NldHRpbmdzRmxhZ19taWNyb2NvcHkge1xuICAgIG1hcmdpbi10b3A6IDRweDtcbiAgICBmb250OiB2YXIoLS1jcGQtZm9udC1ib2R5LXNtLXJlZ3VsYXIpO1xuICAgIGNvbG9yOiAjZWRmM2ZmO1xuICAgIGNvbG9yOiB2YXIoLS1zZWNvbmRhcnktY29udGVudCwgI2VkZjNmZik7XG5cbiAgICAvKiBTdXBwb3J0IGNvZGUvcHJlIGVsZW1lbnRzIGluIHNldHRpbmdzIGZsYWcgZGVzY3JpcHRpb25zICovXG59XG5cbi5teF9TZXR0aW5nc0ZsYWdfbWljcm9jb3B5IHByZSxcbiAgICAubXhfU2V0dGluZ3NGbGFnX21pY3JvY29weSBjb2RlIHtcbiAgICAgICAgZm9udC1mYW1pbHk6IFwiSW5jb25zb2xhdGFcIiwgXCJcIiwgXCJBcHBsZSBDb2xvciBFbW9qaVwiLCBcIlNlZ29lIFVJIEVtb2ppXCIsIFwiQ291cmllclwiLFxuICAgIG1vbm9zcGFjZSwgXCJOb3RvIENvbG9yIEVtb2ppXCIgIWltcG9ydGFudDtcbiAgICAgICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZmFtaWx5LW1vbm9zcGFjZSwgXCJJbmNvbnNvbGF0YVwiLCB2YXIoLS1lbW9qaS1mb250LWZhbWlseSksIFwiQXBwbGUgQ29sb3IgRW1vamlcIiwgXCJTZWdvZSBVSSBFbW9qaVwiLCBcIkNvdXJpZXJcIixcbiAgICBtb25vc3BhY2UsIFwiTm90byBDb2xvciBFbW9qaVwiKSAhaW1wb3J0YW50O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMDQpO1xuICAgIH1cblxuLm14X1NldHRpbmdzRmxhZ19taWNyb2NvcHkgLm14X1NldHRpbmdzVGFiX21pY3JvY29weV93YXJuaW5nOjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBcIuKaoO+4jyBcIjtcbiAgICB9XG5cbi8qXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cbkNvcHlyaWdodCAyMDIxIMWgaW1vbiBCcmFuZG5lciA8c2ltb24uYnJhLmFnQGdtYWlsLmNvbT5cbkNvcHlyaWdodCAyMDE1LCAyMDE2IE9wZW5NYXJrZXQgTHRkXG5cblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cbiovXG5cbi5teF9TcGlubmVyIHtcbiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIC13ZWJraXQtYm94LXBhY2s6IGNlbnRlcjtcbiAgICAgICAgLW1zLWZsZXgtcGFjazogY2VudGVyO1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIC13ZWJraXQtYm94LWZsZXg6IDE7XG4gICAgICAgIC1tcy1mbGV4OiAxO1xuICAgICAgICAgICAgZmxleDogMTtcbn1cblxuLm14X01hdHJpeENoYXRfbWlkZGxlUGFuZWwgLm14X1NwaW5uZXIge1xuICAgIGhlaWdodDogYXV0bztcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIHNwaW4ge1xuICAgIGZyb20ge1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlWigwZGVnKTtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZVooMGRlZyk7XG4gICAgfVxuICAgIHRvIHtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZVooMzYwZGVnKTtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZVooMzYwZGVnKTtcbiAgICB9XG59XG5cbkBrZXlmcmFtZXMgc3BpbiB7XG4gICAgZnJvbSB7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGVaKDBkZWcpO1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlWigwZGVnKTtcbiAgICB9XG4gICAgdG8ge1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlWigzNjBkZWcpO1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlWigzNjBkZWcpO1xuICAgIH1cbn1cblxuLm14X1NwaW5uZXJfaWNvbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzZmNzg4MjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1xdWluYXJ5LWNvbnRlbnQsICM2Zjc4ODIpO1xuICAgIC13ZWJraXQtbWFzazogdXJsKFwiLi4vLi4vLi4vaW1nL3NwaW5uZXIvc3Bpbm5lci1iYWNrZ3JvdW5kLnN2Z1wiKTtcbiAgICAgICAgICAgIG1hc2s6IHVybChcIi4uLy4uLy4uL2ltZy9zcGlubmVyL3NwaW5uZXItYmFja2dyb3VuZC5zdmdcIik7XG4gICAgLXdlYmtpdC1tYXNrLXNpemU6IDEwMCU7XG4gICAgICAgICAgICBtYXNrLXNpemU6IDEwMCU7XG5cbiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcblxuICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuXG4gICAgZGlzcGxheTogZmxleDtcbiAgICAtd2Via2l0LWJveC1wYWNrOiBjZW50ZXI7XG4gICAgICAgIC1tcy1mbGV4LXBhY2s6IGNlbnRlcjtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xufVxuXG4ubXhfU3Bpbm5lcl9pY29uOjpiZWZvcmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWRmM2ZmO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1zZWNvbmRhcnktY29udGVudCwgI2VkZjNmZik7XG4gICAgICAgIC13ZWJraXQtbWFzazogdXJsKFwiLi4vLi4vLi4vaW1nL3NwaW5uZXIvc3Bpbm5lci1mb3JlZ3JvdW5kLnN2Z1wiKTtcbiAgICAgICAgICAgICAgICBtYXNrOiB1cmwoXCIuLi8uLi8uLi9pbWcvc3Bpbm5lci9zcGlubmVyLWZvcmVncm91bmQuc3ZnXCIpO1xuICAgICAgICAtd2Via2l0LW1hc2stc2l6ZTogMTAwJTtcbiAgICAgICAgICAgICAgICBtYXNrLXNpemU6IDEwMCU7XG5cbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcblxuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgICAgICAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG5cbiAgICAgICAgLXdlYmtpdC1hbmltYXRpb246IDFzIGxpbmVhciBzcGluIGluZmluaXRlO1xuXG4gICAgICAgICAgICAgICAgYW5pbWF0aW9uOiAxcyBsaW5lYXIgc3BpbiBpbmZpbml0ZTtcbiAgICB9XG5cbi8qXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cbkNvcHlyaWdodCAyMDIwIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXG5cblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cbiovXG5cbi5teF9DaGVja2JveCB7XG5cbiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcblxuICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuXG4gICAgZGlzcGxheTogZmxleDtcbiAgICAtd2Via2l0LWJveC1hbGlnbjogc3RhcnQ7XG4gICAgICAgIC1tcy1mbGV4LWFsaWduOiBzdGFydDtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xufVxuXG4ubXhfQ2hlY2tib3ggaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdIHtcbiAgICAgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgICAgICAgICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgICAgICAgICAgICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgIH1cblxuLm14X0NoZWNrYm94IGlucHV0W3R5cGU9XCJjaGVja2JveFwiXSArIGxhYmVsIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICAgICAgICAgICAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gICAgICAgICAgICAtd2Via2l0LWJveC1mbGV4OiAxO1xuXG4gICAgICAgICAgICAgICAgLW1zLWZsZXgtcG9zaXRpdmU6IDE7XG5cbiAgICAgICAgICAgICAgICAgICAgZmxleC1ncm93OiAxO1xuICAgICAgICB9XG5cbi5teF9DaGVja2JveCBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0gKyBsYWJlbCA+IC5teF9DaGVja2JveF9iYWNrZ3JvdW5kIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IC13ZWJraXQtaW5saW5lLWJveDtcbiAgICAgICAgICAgIGRpc3BsYXk6IC1tcy1pbmxpbmUtZmxleGJveDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICAgICAtbXMtZmxleC1uZWdhdGl2ZTogMDtcblxuICAgICAgICAgICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuXG4gICAgICAgICAgICBoZWlnaHQ6IDFyZW07XG4gICAgICAgICAgICB3aWR0aDogMXJlbTtcbiAgICAgICAgICAgIHNpemU6IDAuNXJlbTtcbiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNwZC1jb2xvci1ib3JkZXItaW50ZXJhY3RpdmUtcHJpbWFyeSk7XG4gICAgICAgICAgICAtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgICAgICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAwLjI3cmVtO1xuICAgICAgICB9XG5cbi5teF9DaGVja2JveCBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0gKyBsYWJlbCA+IC5teF9DaGVja2JveF9iYWNrZ3JvdW5kIC5teF9DaGVja2JveF9jaGVja21hcmsge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgLXdlYmtpdC1tYXNrLWltYWdlOiB1cmwoXCJAdmVjdG9yLWltL2NvbXBvdW5kLWRlc2lnbi10b2tlbnMvaWNvbnMvY2hlY2suc3ZnXCIpO1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFzay1pbWFnZTogdXJsKFwiQHZlY3Rvci1pbS9jb21wb3VuZC1kZXNpZ24tdG9rZW5zL2ljb25zL2NoZWNrLnN2Z1wiKTtcbiAgICAgICAgICAgICAgICAtd2Via2l0LW1hc2stcG9zaXRpb246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hc2stcG9zaXRpb246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAtd2Via2l0LW1hc2stc2l6ZTogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hc2stc2l6ZTogMTAwJTtcbiAgICAgICAgICAgICAgICAtd2Via2l0LW1hc2stcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXNrLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgICAgfVxuXG4ubXhfQ2hlY2tib3ggaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdOmNoZWNrZWQgKyBsYWJlbCA+IC5teF9DaGVja2JveF9iYWNrZ3JvdW5kIC5teF9DaGVja2JveF9jaGVja21hcmsge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cblxuLm14X0NoZWNrYm94IGlucHV0W3R5cGU9XCJjaGVja2JveFwiXSArIGxhYmVsID4gKjpub3QoLm14X0NoZWNrYm94X2JhY2tncm91bmQpIHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xuICAgICAgICB9XG5cbi5teF9DaGVja2JveCBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl06ZGlzYWJsZWQgKyBsYWJlbCB7XG4gICAgICAgICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICAgICAgICB9XG5cbi5teF9DaGVja2JveCBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl06Zm9jdXMtdmlzaWJsZSArIGxhYmVsIC5teF9DaGVja2JveF9iYWNrZ3JvdW5kIHtcbiAgICAgICAgICAgICAgICBvdXRsaW5lLXdpZHRoOiAycHg7XG4gICAgICAgICAgICAgICAgb3V0bGluZS1zdHlsZTogc29saWQ7XG4gICAgICAgICAgICAgICAgb3V0bGluZS1jb2xvcjogSGlnaGxpZ2h0O1xuICAgICAgICAgICAgfVxuXG4vKiBXZWJLaXQgZ2V0cyBpdHMgbmF0aXZlIGZvY3VzIHN0eWxlcy4gKi9cblxuQG1lZGlhICgtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDApIHtcblxuLm14X0NoZWNrYm94IGlucHV0W3R5cGU9XCJjaGVja2JveFwiXTpmb2N1cy12aXNpYmxlICsgbGFiZWwgLm14X0NoZWNrYm94X2JhY2tncm91bmQge1xuICAgICAgICBvdXRsaW5lLWNvbG9yOiAtd2Via2l0LWZvY3VzLXJpbmctY29sb3I7XG4gICAgICAgIG91dGxpbmUtc3R5bGU6IGF1dG87XG4gICAgICAgICAgICB9XG4gICAgfVxuXG4ubXhfQ2hlY2tib3gubXhfQ2hlY2tib3hfa2luZF9zb2xpZCBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0gKyBsYWJlbCA+IC5teF9DaGVja2JveF9iYWNrZ3JvdW5kIC5teF9DaGVja2JveF9jaGVja21hcmsge1xuICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jcGQtY29sb3ItaWNvbi1vbi1zb2xpZC1wcmltYXJ5KTtcbiAgICB9XG5cbi5teF9DaGVja2JveC5teF9DaGVja2JveF9raW5kX3NvbGlkIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXTpjaGVja2VkICsgbGFiZWwgPiAubXhfQ2hlY2tib3hfYmFja2dyb3VuZCB7XG4gICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWNwZC1jb2xvci1iZy1hY2NlbnQtcmVzdCk7XG4gICAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0tY3BkLWNvbG9yLWJnLWFjY2VudC1yZXN0KTtcbiAgICB9XG5cbi5teF9DaGVja2JveC5teF9DaGVja2JveF9raW5kX3NvbGlkIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXTpjaGVja2VkOmRpc2FibGVkICsgbGFiZWwgPiAubXhfQ2hlY2tib3hfYmFja2dyb3VuZCB7XG4gICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWNwZC1jb2xvci1iZy1hY3Rpb24tcHJpbWFyeS1kaXNhYmxlZCk7XG4gICAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0tY3BkLWNvbG9yLWJnLWFjdGlvbi1wcmltYXJ5LWRpc2FibGVkKTtcbiAgICB9XG5cbi5teF9DaGVja2JveC5teF9DaGVja2JveF9raW5kX291dGxpbmUgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdICsgbGFiZWwgPiAubXhfQ2hlY2tib3hfYmFja2dyb3VuZCAubXhfQ2hlY2tib3hfY2hlY2ttYXJrIHtcbiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tY3BkLWNvbG9yLWJnLWFjY2VudC1yZXN0KTtcbiAgICB9XG5cbi5teF9DaGVja2JveC5teF9DaGVja2JveF9raW5kX291dGxpbmUgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdOmNoZWNrZWQgKyBsYWJlbCA+IC5teF9DaGVja2JveF9iYWNrZ3JvdW5kIHtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0tY3BkLWNvbG9yLWJnLWFjY2VudC1yZXN0KTtcbiAgICB9XG5cbi8qXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cbkNvcHlyaWdodCAyMDIwIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXG5cblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cbiovXG5cbi8qKlxuKiBUaGlzIGNvbXBvbmVudCBleHBlY3RzIHRoZSBwYXJlbnQgdG8gc3BlY2lmeSBhIHBvc2l0aXZlIHBhZGRpbmcgYW5kXG4qIHdpZHRoXG4qL1xuXG4ubXhfU3R5bGVkUmFkaW9CdXR0b24ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuXG4gICAgZGlzcGxheTogLW1zLWZsZXhib3g7XG5cbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIC13ZWJraXQtYm94LWFsaWduOiBiYXNlbGluZTtcbiAgICAgICAgLW1zLWZsZXgtYWxpZ246IGJhc2VsaW5lO1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGJhc2VsaW5lO1xuICAgIC13ZWJraXQtYm94LWZsZXg6IDE7XG4gICAgICAgIC1tcy1mbGV4LXBvc2l0aXZlOiAxO1xuICAgICAgICAgICAgZmxleC1ncm93OiAxO1xufVxuXG4ubXhfU3R5bGVkUmFkaW9CdXR0b24gPiAubXhfU3R5bGVkUmFkaW9CdXR0b25fY29udGVudCB7XG4gICAgICAgIC13ZWJraXQtYm94LWZsZXg6IDE7XG4gICAgICAgICAgICAtbXMtZmxleC1wb3NpdGl2ZTogMTtcbiAgICAgICAgICAgICAgICBmbGV4LWdyb3c6IDE7XG5cbiAgICAgICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG5cbiAgICAgICAgZGlzcGxheTogLW1zLWZsZXhib3g7XG5cbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcbiAgICAgICAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiBub3JtYWw7XG4gICAgICAgICAgICAtbXMtZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXG4gICAgICAgIG1hcmdpbi1sZWZ0OiA4cHg7XG4gICAgICAgIG1hcmdpbi1yaWdodDogOHB4O1xuICAgIH1cblxuLm14X1N0eWxlZFJhZGlvQnV0dG9uIC5teF9TdHlsZWRSYWRpb0J1dHRvbl9zcGFjZXIge1xuICAgICAgICAtbXMtZmxleC1uZWdhdGl2ZTogMDtcbiAgICAgICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgICAgICAtd2Via2l0LWJveC1mbGV4OiAwO1xuICAgICAgICAgICAgLW1zLWZsZXgtcG9zaXRpdmU6IDA7XG4gICAgICAgICAgICAgICAgZmxleC1ncm93OiAwO1xuXG4gICAgICAgIGhlaWdodDogMXJlbTtcbiAgICAgICAgd2lkdGg6IDFyZW07XG4gICAgfVxuXG4ubXhfU3R5bGVkUmFkaW9CdXR0b24gaW5wdXRbdHlwZT1cInJhZGlvXCJdIHtcbiAgICAgICAgLyogUmVtb3ZlIHRoZSBPUydzIHJlcHJlc2VudGF0aW9uICovXG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgICAgICAgICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgICAgICAgICAgICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICB9XG5cbi5teF9TdHlsZWRSYWRpb0J1dHRvbiBpbnB1dFt0eXBlPVwicmFkaW9cIl0gKyBkaXYge1xuICAgICAgICAgICAgLW1zLWZsZXgtbmVnYXRpdmU6IDA7XG4gICAgICAgICAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICAgICAgICAtd2Via2l0LWJveC1mbGV4OiAwO1xuICAgICAgICAgICAgICAgIC1tcy1mbGV4LXBvc2l0aXZlOiAwO1xuICAgICAgICAgICAgICAgICAgICBmbGV4LWdyb3c6IDA7XG5cbiAgICAgICAgICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuXG4gICAgICAgICAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcblxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIC13ZWJraXQtYm94LXBhY2s6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAtbXMtZmxleC1wYWNrOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG4gICAgICAgICAgICAtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG5cbiAgICAgICAgICAgICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgICAgIGhlaWdodDogMXJlbTtcbiAgICAgICAgICAgIHdpZHRoOiAxcmVtO1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDJweDsgLyogRm9yIHRoZSBoaWdobGlnaHQgb24gZm9jdXMgKi9cblxuICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tY3BkLWNvbG9yLWJvcmRlci1pbnRlcmFjdGl2ZS1wcmltYXJ5KTtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDFyZW07XG4gICAgICAgIH1cblxuLm14X1N0eWxlZFJhZGlvQnV0dG9uIGlucHV0W3R5cGU9XCJyYWRpb1wiXSArIGRpdiA+IGRpdiB7XG4gICAgICAgICAgICAgICAgLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICAgICAgICAgICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcblxuICAgICAgICAgICAgICAgIGhlaWdodDogMC41cmVtO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAwLjVyZW07XG5cbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAwLjVyZW07XG4gICAgICAgICAgICB9XG5cbi5teF9TdHlsZWRSYWRpb0J1dHRvbiBpbnB1dFt0eXBlPVwicmFkaW9cIl06Zm9jdXMtdmlzaWJsZSArIGRpdiB7XG4gICAgICAgICAgICAgICAgb3V0bGluZS13aWR0aDogMnB4O1xuICAgICAgICAgICAgICAgIG91dGxpbmUtc3R5bGU6IHNvbGlkO1xuICAgICAgICAgICAgICAgIG91dGxpbmUtY29sb3I6IEhpZ2hsaWdodDtcbiAgICAgICAgICAgIH1cblxuLyogV2ViS2l0IGdldHMgaXRzIG5hdGl2ZSBmb2N1cyBzdHlsZXMuICovXG5cbkBtZWRpYSAoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAwKSB7XG5cbi5teF9TdHlsZWRSYWRpb0J1dHRvbiBpbnB1dFt0eXBlPVwicmFkaW9cIl06Zm9jdXMtdmlzaWJsZSArIGRpdiB7XG4gICAgICAgIG91dGxpbmUtY29sb3I6IC13ZWJraXQtZm9jdXMtcmluZy1jb2xvcjtcbiAgICAgICAgb3V0bGluZS1zdHlsZTogYXV0bztcbiAgICAgICAgICAgIH1cbiAgICB9XG5cbi5teF9TdHlsZWRSYWRpb0J1dHRvbiBpbnB1dFt0eXBlPVwicmFkaW9cIl06Y2hlY2tlZCArIGRpdiB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jcGQtY29sb3ItYmctYWNjZW50LXJlc3QpO1xuICAgICAgICAgICAgfVxuXG4ubXhfU3R5bGVkUmFkaW9CdXR0b24gaW5wdXRbdHlwZT1cInJhZGlvXCJdOmNoZWNrZWQgKyBkaXYgPiBkaXYge1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jcGQtY29sb3ItYmctYWNjZW50LXJlc3QpO1xuICAgICAgICAgICAgICAgIH1cblxuLm14X1N0eWxlZFJhZGlvQnV0dG9uIGlucHV0W3R5cGU9XCJyYWRpb1wiXTpkaXNhYmxlZCArIGRpdixcbiAgICAgICAgICAgIC5teF9TdHlsZWRSYWRpb0J1dHRvbiBpbnB1dFt0eXBlPVwicmFkaW9cIl06ZGlzYWJsZWQgKyBkaXYgKyBzcGFuIHtcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAwLjU7XG4gICAgICAgICAgICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgICAgICAgICAgIH1cblxuLm14X1N0eWxlZFJhZGlvQnV0dG9uIGlucHV0W3R5cGU9XCJyYWRpb1wiXTpkaXNhYmxlZCArIGRpdiB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jcGQtY29sb3ItYm9yZGVyLWludGVyYWN0aXZlLXByaW1hcnkpO1xuICAgICAgICAgICAgfVxuXG4ubXhfU3R5bGVkUmFkaW9CdXR0b24gaW5wdXRbdHlwZT1cInJhZGlvXCJdOmNoZWNrZWQ6ZGlzYWJsZWQgKyBkaXYgPiBkaXYge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNwZC1jb2xvci1ib3JkZXItaW50ZXJhY3RpdmUtcHJpbWFyeSk7XG4gICAgICAgICAgICB9XG5cbi5teF9TdHlsZWRSYWRpb0J1dHRvbiAubXhfU3R5bGVkUmFkaW9CdXR0b25faW5uZXJMYWJlbCB7XG4gICAgICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICAgICAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB0b3A6IDRweDtcbiAgICB9XG5cbi5teF9TdHlsZWRSYWRpb0J1dHRvbl9vdXRsaW5lZCB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tcm9vbWxpc3Qtc2VwYXJhdG9yLWNvbG9yKTtcbiAgICBib3JkZXItcmFkaXVzOiA4cHg7XG59XG5cbi5teF9TdHlsZWRSYWRpb0J1dHRvbl9jaGVja2VkIHtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLWNwZC1jb2xvci1iZy1hY2NlbnQtcmVzdCk7XG59XG5cbi8qXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cbkNvcHlyaWdodCAyMDE3IE1pY2hhZWwgVGVsYXR5bnNraSA8N3QzY2hndXlAZ21haWwuY29tPlxuXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXG4qL1xuXG4ubXhfU3ludGF4SGlnaGxpZ2h0IHtcbiAgICAvKiBpbmhpYml0IGhsanMgc3R5bGluZyAqL1xuICAgIGJhY2tncm91bmQ6IG5vbmUgIWltcG9ydGFudDtcbiAgICBjb2xvcjogdmFyKC0tdGltZWxpbmUtdGV4dC1zZWNvbmRhcnktY29sb3IpICFpbXBvcnRhbnQ7XG59XG5cbi8qXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cbkNvcHlyaWdodCAyMDIxIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXG5cblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cbiovXG5cbi5teF9UYWdDb21wb3NlciAubXhfVGFnQ29tcG9zZXJfaW5wdXQge1xuICAgICAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgICAgICAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIC13ZWJraXQtYm94LW9yaWVudDogaG9yaXpvbnRhbDtcbiAgICAgICAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiBub3JtYWw7XG4gICAgICAgICAgICAtbXMtZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIH1cblxuLm14X1RhZ0NvbXBvc2VyIC5teF9UYWdDb21wb3Nlcl9pbnB1dCAubXhfQWNjZXNzaWJsZUJ1dHRvbiB7XG4gICAgICAgICAgICBtaW4td2lkdGg6IDcwcHg7XG4gICAgICAgICAgICBwYWRkaW5nOiAwIDhweDsgLyogb3ZlcnJpZGUgZnJvbSBidXR0b24gc3R5bGVzICovXG4gICAgICAgICAgICAtbXMtZmxleC1pdGVtLWFsaWduOiBzdHJldGNoO1xuICAgICAgICAgICAgICAgIGFsaWduLXNlbGY6IHN0cmV0Y2g7IC8qIG92ZXJyaWRlIGRlZmF1bHQgc2V0dGluZ3N0YWIgc3R5bGUgKi9cbiAgICAgICAgfVxuXG4ubXhfVGFnQ29tcG9zZXIgLm14X1RhZ0NvbXBvc2VyX2lucHV0IC5teF9GaWVsZCxcbiAgICAgICAgLm14X1RhZ0NvbXBvc2VyIC5teF9UYWdDb21wb3Nlcl9pbnB1dCAubXhfRmllbGQgaW5wdXQsXG4gICAgICAgIC5teF9UYWdDb21wb3NlciAubXhfVGFnQ29tcG9zZXJfaW5wdXQgLm14X0FjY2Vzc2libGVCdXR0b24ge1xuICAgICAgICAgICAgLyogU28gdGhleSBsb29rIHJlbGF0ZWQgdG8gZWFjaCBvdGhlciBieSBmZWVsaW5nIHRoZSBzYW1lICovXG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgICAgIH1cblxuLm14X1RhZ0NvbXBvc2VyIC5teF9UYWdDb21wb3Nlcl90YWdzIHtcbiAgICAgICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gICAgICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAtbXMtZmxleC13cmFwOiB3cmFwO1xuICAgICAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICBtYXJnaW4tdG9wOiAxMnB4OyAvKiB0aGlzIHBsdXMgMTJweCBmcm9tIHRoZSB0YWdzIG1ha2VzIDI0cHggZnJvbSB0aGUgaW5wdXQgKi9cbiAgICB9XG5cbi5teF9UYWdDb21wb3NlciAubXhfVGFnIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMnB4O1xuICAgICAgICBtYXJnaW4tdG9wOiAxMnB4O1xuICAgIH1cblxuLm14X1RhZyB7XG4gICAgZm9udC1zaXplOiAwLjkzNzVyZW07XG5cbiAgICBkaXNwbGF5OiAtd2Via2l0LWlubGluZS1ib3g7XG5cbiAgICBkaXNwbGF5OiAtbXMtaW5saW5lLWZsZXhib3g7XG5cbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO1xuICAgICAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgIGdhcDogOHB4O1xuICAgIHBhZGRpbmc6IDhweDtcbiAgICBib3JkZXItcmFkaXVzOiA4cHg7XG5cbiAgICBjb2xvcjogdmFyKC0tdGltZWxpbmUtdGV4dC1jb2xvcik7XG4gICAgYmFja2dyb3VuZDogIzZmNzg4MjtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1xdWluYXJ5LWNvbnRlbnQsICM2Zjc4ODIpO1xufVxuXG4ubXhfVGFnID4gc3ZnOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgd2lkdGg6IDFlbTtcbiAgICAgICAgY29sb3I6ICNlZGYzZmY7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1zZWNvbmRhcnktY29udGVudCwgI2VkZjNmZik7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxLjI1KTtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMjUpO1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG4gICAgfVxuXG4ubXhfVGFnIC5teF9UYWdfZGVsZXRlIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIHdpZHRoOiAxLjA2NjY2NmVtOyAvKiAxNnB4OyAqL1xuICAgICAgICBoZWlnaHQ6IDEuMDY2NjY2ZW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxZW07XG4gICAgICAgIGNvbG9yOiAjZWRmM2ZmO1xuICAgICAgICBjb2xvcjogdmFyKC0tc2Vjb25kYXJ5LWNvbnRlbnQsICNlZGYzZmYpO1xuICAgICAgICBiYWNrZ3JvdW5kOiAjMjEyNjJjO1xuICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1zeXN0ZW0sICMyMTI2MmMpO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgfVxuXG4ubXhfVGFnIC5teF9UYWdfZGVsZXRlIHN2ZyB7XG4gICAgICAgICAgICB3aWR0aDogMTZweDtcbiAgICAgICAgICAgIGhlaWdodDogMTZweDtcbiAgICAgICAgfVxuXG4vKlxuQ29weXJpZ2h0IDIwMTktMjAyNCBOZXcgVmVjdG9yIEx0ZC5cblxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuKi9cblxuLm14X1RleHRXaXRoVG9vbHRpcF90YXJnZXQge1xuICAgIGRpc3BsYXk6IGlubGluZTtcbn1cblxuLm14X1RleHRXaXRoVG9vbHRpcF90b29sdGlwIHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuXG4vKlxuQ29weXJpZ2h0IDIwMTktMjAyNCBOZXcgVmVjdG9yIEx0ZC5cblxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuKi9cblxuLm14X1RvZ2dsZVN3aXRjaCB7XG4gICAgLS1Ub2dnbGVTd2l0Y2gtbWluLXdpZHRoOiAyLjc1cmVtO1xuXG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOlxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yIDAuMnMgZWFzZS1vdXQgMC4xcyxcbiAgICAgICAgYm9yZGVyLWNvbG9yIDAuMnMgZWFzZS1vdXQgMC4xcztcblxuICAgIHRyYW5zaXRpb246XG4gICAgICAgIGJhY2tncm91bmQtY29sb3IgMC4ycyBlYXNlLW91dCAwLjFzLFxuICAgICAgICBib3JkZXItY29sb3IgMC4ycyBlYXNlLW91dCAwLjFzO1xuXG4gICAgd2lkdGg6IDIuNzVyZW07XG4gICAgaGVpZ2h0OiAxLjI1cmVtO1xuICAgIGJvcmRlci1yYWRpdXM6IDEuNXJlbTtcbiAgICBwYWRkaW5nOiAycHg7XG5cbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jcGQtY29sb3ItYmctY2FudmFzLWRpc2FibGVkKTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jcGQtY29sb3ItYm9yZGVyLWRpc2FibGVkKTtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xufVxuXG4ubXhfVG9nZ2xlU3dpdGNoLm14X1RvZ2dsZVN3aXRjaF9lbmFibGVkIHtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jcGQtY29sb3ItYmctY2FudmFzLWRlZmF1bHQpO1xuICAgICAgICBib3JkZXI6IHZhcigtLWNwZC1ib3JkZXItd2lkdGgtMSkgc29saWQgdmFyKC0tY3BkLWNvbG9yLWJvcmRlci1pbnRlcmFjdGl2ZS1wcmltYXJ5KTtcbiAgICB9XG5cbi5teF9Ub2dnbGVTd2l0Y2gubXhfVG9nZ2xlU3dpdGNoX2VuYWJsZWQubXhfVG9nZ2xlU3dpdGNoX29uIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNwZC1jb2xvci1iZy1hY2NlbnQtcmVzdCk7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6IHZhcigtLWNwZC1jb2xvci1iZy1hY2NlbnQtcmVzdCk7XG4gICAgICAgIH1cblxuLm14X1RvZ2dsZVN3aXRjaC5teF9Ub2dnbGVTd2l0Y2hfZW5hYmxlZCA+IC5teF9Ub2dnbGVTd2l0Y2hfYmFsbCB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jcGQtY29sb3ItaWNvbi1zZWNvbmRhcnkpO1xuICAgICAgICB9XG5cbi5teF9Ub2dnbGVTd2l0Y2gubXhfVG9nZ2xlU3dpdGNoX29uIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY3BkLWNvbG9yLWJnLWFjdGlvbi1wcmltYXJ5LWRpc2FibGVkKTtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jcGQtY29sb3ItYmctYWN0aW9uLXByaW1hcnktZGlzYWJsZWQpO1xuICAgIH1cblxuLm14X1RvZ2dsZVN3aXRjaC5teF9Ub2dnbGVTd2l0Y2hfb24gPiAubXhfVG9nZ2xlU3dpdGNoX2JhbGwge1xuICAgICAgICAgICAgbGVmdDogY2FsYygxMDAlIC0gMS4yNXJlbSk7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jcGQtY29sb3ItaWNvbi1vbi1zb2xpZC1wcmltYXJ5KTtcbiAgICAgICAgfVxuXG4ubXhfVG9nZ2xlU3dpdGNoX2JhbGwge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aWR0aDogMS4yNXJlbTtcbiAgICBoZWlnaHQ6IDEuMjVyZW07XG4gICAgYm9yZGVyLXJhZGl1czogMS4yNXJlbTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jcGQtY29sb3ItYmctYWN0aW9uLXByaW1hcnktZGlzYWJsZWQpO1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbjpcbiAgICAgICAgbGVmdCAwLjE1cyBlYXNlLW91dCAwLjFzLFxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yIDAuMTVzIGVhc2Utb3V0IDAuMXM7XG4gICAgdHJhbnNpdGlvbjpcbiAgICAgICAgbGVmdCAwLjE1cyBlYXNlLW91dCAwLjFzLFxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yIDAuMTVzIGVhc2Utb3V0IDAuMXM7XG4gICAgbGVmdDogMDtcbn1cblxuLypcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxuQ29weXJpZ2h0IDIwMjIgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cblxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuKi9cblxuLm14X1VzZUNhc2VTZWxlY3Rpb24ge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiAxZnIgMWZyIC13ZWJraXQtbWF4LWNvbnRlbnQgMmZyO1xuICAgIGdyaWQtdGVtcGxhdGUtcm93czogMWZyIDFmciBtYXgtY29udGVudCAyZnI7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGdyaWQtZ2FwOiA0MHB4O1xufVxuXG4ubXhfVXNlQ2FzZVNlbGVjdGlvbiAubXhfVXNlQ2FzZVNlbGVjdGlvbl90aXRsZSB7XG4gICAgICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICAgICAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcbiAgICAgICAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiBub3JtYWw7XG4gICAgICAgICAgICAtbXMtZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAtd2Via2l0LWJveC1wYWNrOiBlbmQ7XG4gICAgICAgICAgICAtbXMtZmxleC1wYWNrOiBlbmQ7XG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICB9XG5cbi5teF9Vc2VDYXNlU2VsZWN0aW9uIC5teF9Vc2VDYXNlU2VsZWN0aW9uX3RpdGxlIGgxIHtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1jcGQtZm9udC13ZWlnaHQtc2VtaWJvbGQpO1xuICAgICAgICAgICAgZm9udC1zaXplOiAycmVtO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB9XG5cbi5teF9Vc2VDYXNlU2VsZWN0aW9uIC5teF9Vc2VDYXNlU2VsZWN0aW9uX2luZm8ge1xuICAgICAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgICAgICAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWw7XG4gICAgICAgIC13ZWJraXQtYm94LWRpcmVjdGlvbjogbm9ybWFsO1xuICAgICAgICAgICAgLW1zLWZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgZ2FwOiA4cHg7XG4gICAgICAgIC1tcy1mbGV4LWl0ZW0tYWxpZ246IGVuZDtcbiAgICAgICAgICAgIGFsaWduLXNlbGY6IGZsZXgtZW5kO1xuICAgIH1cblxuLm14X1VzZUNhc2VTZWxlY3Rpb24gLm14X1VzZUNhc2VTZWxlY3Rpb25faW5mbyBoMiB7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIH1cblxuLm14X1VzZUNhc2VTZWxlY3Rpb24gLm14X1VzZUNhc2VTZWxlY3Rpb25faW5mbyBoMyB7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgICAgICAgICAgY29sb3I6ICNlZGYzZmY7XG4gICAgICAgICAgICBjb2xvcjogdmFyKC0tc2Vjb25kYXJ5LWNvbnRlbnQsICNlZGYzZmYpO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB9XG5cbi5teF9Vc2VDYXNlU2VsZWN0aW9uIC5teF9Vc2VDYXNlU2VsZWN0aW9uX29wdGlvbnMge1xuICAgICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdChhdXRvLWZpdCwgMjMycHgpO1xuICAgICAgICBncmlkLWdhcDogMzJweDtcbiAgICAgICAgZ2FwOiAzMnB4O1xuICAgICAgICBhbGlnbi1zZWxmOiBzdHJldGNoO1xuICAgICAgICAtd2Via2l0LWJveC1wYWNrOiBjZW50ZXI7XG4gICAgICAgICAgICAtbXMtZmxleC1wYWNrOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgfVxuXG4ubXhfVXNlQ2FzZVNlbGVjdGlvbiAubXhfVXNlQ2FzZVNlbGVjdGlvbl9za2lwIHtcbiAgICAgICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gICAgICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xuICAgICAgICAtd2Via2l0LWJveC1kaXJlY3Rpb246IG5vcm1hbDtcbiAgICAgICAgICAgIC1tcy1mbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIC1tcy1mbGV4LWl0ZW0tYWxpZ246IHN0YXJ0O1xuICAgICAgICAgICAgYWxpZ24tc2VsZjogZmxleC1zdGFydDtcbiAgICB9XG5cbi5teF9Vc2VDYXNlU2VsZWN0aW9uX3NsaWRlSW4ge1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLWRlbGF5OiA4MDBtcztcbiAgICAgICAgICAgIGFuaW1hdGlvbi1kZWxheTogODAwbXM7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246IDMwMG1zO1xuICAgICAgICAgICAgYW5pbWF0aW9uLWR1cmF0aW9uOiAzMDBtcztcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLCAwLCAwLjU4LCAxKTtcbiAgICAgICAgICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLCAwLCAwLjU4LCAxKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBteF9Vc2VDYXNlU2VsZWN0aW9uX3NsaWRlSW5Mb25nO1xuICAgICAgICAgICAgYW5pbWF0aW9uLW5hbWU6IG14X1VzZUNhc2VTZWxlY3Rpb25fc2xpZGVJbkxvbmc7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tZmlsbC1tb2RlOiBiYWNrd2FyZHM7XG4gICAgICAgICAgICBhbmltYXRpb24tZmlsbC1tb2RlOiBiYWNrd2FyZHM7XG4gICAgd2lsbC1jaGFuZ2U6IG9wYWNpdHk7XG59XG5cbi5teF9Vc2VDYXNlU2VsZWN0aW9uX3NsaWRlSW5EZWxheWVkIHtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi1kZWxheTogMTUwMG1zO1xuICAgICAgICAgICAgYW5pbWF0aW9uLWRlbGF5OiAxNTAwbXM7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246IDMwMG1zO1xuICAgICAgICAgICAgYW5pbWF0aW9uLWR1cmF0aW9uOiAzMDBtcztcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLCAwLCAwLjU4LCAxKTtcbiAgICAgICAgICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLCAwLCAwLjU4LCAxKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBteF9Vc2VDYXNlU2VsZWN0aW9uX3NsaWRlSW5TaG9ydDtcbiAgICAgICAgICAgIGFuaW1hdGlvbi1uYW1lOiBteF9Vc2VDYXNlU2VsZWN0aW9uX3NsaWRlSW5TaG9ydDtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi1maWxsLW1vZGU6IGJhY2t3YXJkcztcbiAgICAgICAgICAgIGFuaW1hdGlvbi1maWxsLW1vZGU6IGJhY2t3YXJkcztcbiAgICB3aWxsLWNoYW5nZTogdHJhbnNmb3JtLCBvcGFjaXR5O1xufVxuXG4ubXhfVXNlQ2FzZVNlbGVjdGlvbl9zZWxlY3RlZCAubXhfVXNlQ2FzZVNlbGVjdGlvbl9zbGlkZUluLFxuICAgIC5teF9Vc2VDYXNlU2VsZWN0aW9uX3NlbGVjdGVkIC5teF9Vc2VDYXNlU2VsZWN0aW9uX3NsaWRlSW5EZWxheWVkIHtcbiAgICAgICAgLXdlYmtpdC1hbmltYXRpb24tZGVsYXk6IDgwMG1zO1xuICAgICAgICAgICAgICAgIGFuaW1hdGlvbi1kZWxheTogODAwbXM7XG4gICAgICAgIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiAzMDBtcztcbiAgICAgICAgICAgICAgICBhbmltYXRpb24tZHVyYXRpb246IDMwMG1zO1xuICAgICAgICAtd2Via2l0LWFuaW1hdGlvbi1maWxsLW1vZGU6IGZvcndhcmRzO1xuICAgICAgICAgICAgICAgIGFuaW1hdGlvbi1maWxsLW1vZGU6IGZvcndhcmRzO1xuICAgICAgICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBteF9Vc2VDYXNlU2VsZWN0aW9uX2ZhZGVPdXQ7XG4gICAgICAgICAgICAgICAgYW5pbWF0aW9uLW5hbWU6IG14X1VzZUNhc2VTZWxlY3Rpb25fZmFkZU91dDtcbiAgICAgICAgd2lsbC1jaGFuZ2U6IG9wYWNpdHk7XG4gICAgfVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgbXhfVXNlQ2FzZVNlbGVjdGlvbl9zbGlkZUluTG9uZyB7XG4gICAgMCUge1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDIwcHgpO1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDIwcHgpO1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgIH1cbiAgICAxMDAlIHtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG59XG5cbkBrZXlmcmFtZXMgbXhfVXNlQ2FzZVNlbGVjdGlvbl9zbGlkZUluTG9uZyB7XG4gICAgMCUge1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDIwcHgpO1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDIwcHgpO1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgIH1cbiAgICAxMDAlIHtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBteF9Vc2VDYXNlU2VsZWN0aW9uX3NsaWRlSW5TaG9ydCB7XG4gICAgMCUge1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDhweCk7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgOHB4KTtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICB9XG4gICAgMTAwJSB7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxufVxuXG5Aa2V5ZnJhbWVzIG14X1VzZUNhc2VTZWxlY3Rpb25fc2xpZGVJblNob3J0IHtcbiAgICAwJSB7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgOHB4KTtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCA4cHgpO1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgIH1cbiAgICAxMDAlIHtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBteF9Vc2VDYXNlU2VsZWN0aW9uX2ZhZGVPdXQge1xuICAgIDAlIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG4gICAgMTAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgfVxufVxuXG5Aa2V5ZnJhbWVzIG14X1VzZUNhc2VTZWxlY3Rpb25fZmFkZU91dCB7XG4gICAgMCUge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgIH1cbiAgICAxMDAlIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICB9XG59XG5cbi8qXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cbkNvcHlyaWdodCAyMDIyIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXG5cblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cbiovXG5cbi5teF9Vc2VDYXNlU2VsZWN0aW9uQnV0dG9uIHtcbiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWw7XG4gICAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiBub3JtYWw7XG4gICAgICAgIC1tcy1mbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO1xuICAgICAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBwYWRkaW5nOiAyNHB4IDE2cHg7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tdGltZWxpbmUtYmFja2dyb3VuZC1jb2xvcik7XG4gICAgYm9yZGVyOiAxcHggc29saWQgIzZmNzg4MjtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1xdWluYXJ5LWNvbnRlbnQsICM2Zjc4ODIpO1xuICAgIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTogLXdlYmtpdC1ib3gtc2hhZG93LCAtd2Via2l0LXRyYW5zZm9ybTtcbiAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiAtd2Via2l0LWJveC1zaGFkb3csIC13ZWJraXQtdHJhbnNmb3JtO1xuICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IGJveC1zaGFkb3csIHRyYW5zZm9ybTtcbiAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiBib3gtc2hhZG93LCB0cmFuc2Zvcm0sIC13ZWJraXQtYm94LXNoYWRvdywgLXdlYmtpdC10cmFuc2Zvcm07XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOiAzMDBtcztcbiAgICAgICAgICAgIHRyYW5zaXRpb24tZHVyYXRpb246IDMwMG1zO1xufVxuXG4ubXhfVXNlQ2FzZVNlbGVjdGlvbkJ1dHRvbiAubXhfVXNlQ2FzZVNlbGVjdGlvbkJ1dHRvbl9pY29uIHtcbiAgICAgICAgLyogd29ya2Fyb3VuZDogZGVzaWduIGV4cGVjdHMgYSBsYXllcmluZyBvZiB0d28gY29sb3JzICovXG4gICAgICAgIGJhY2tncm91bmQ6IC13ZWJraXQtZ3JhZGllbnQobGluZWFyLCBsZWZ0IGJvdHRvbSwgbGVmdCB0b3AsIGZyb20ocmdiYSgxNzIsIDU5LCAxNjgsIDAuMTUpKSwgdG8ocmdiYSgxNzIsIDU5LCAxNjgsIDAuMTUpKSksICNmZmZmZmY7XG4gICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgwZGVnLCByZ2JhKDE3MiwgNTksIDE2OCwgMC4xNSksIHJnYmEoMTcyLCA1OSwgMTY4LCAwLjE1KSksICNmZmZmZmY7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDE0cHg7XG4gICAgICAgIHBhZGRpbmc6IDhweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTZweDtcbiAgICB9XG5cbi5teF9Vc2VDYXNlU2VsZWN0aW9uQnV0dG9uIC5teF9Vc2VDYXNlU2VsZWN0aW9uQnV0dG9uX2ljb246OmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAvKiB0aGlzIGhhcyB0byByZW1haW4gdGhlIHNhbWUgY29sb3IgYWNyb3NzIGFsbCB0aGVtZXMsXG4gICAgICAgICAgICAgICBhcyBpdHMgYmFja2dyb3VuZCBoYXMgYSBmaXhlZCBjb2xvciBhcyB3ZWxsICovXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAjMWUxZTFlO1xuICAgICAgICAgICAgLXdlYmtpdC1tYXNrLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgIG1hc2stcG9zaXRpb246IGNlbnRlcjtcbiAgICAgICAgICAgIC13ZWJraXQtbWFzay1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgICAgICAgICAgICAgbWFzay1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgICAgIC13ZWJraXQtbWFzay1zaXplOiBjb250YWluO1xuICAgICAgICAgICAgICAgICAgICBtYXNrLXNpemU6IGNvbnRhaW47XG4gICAgICAgICAgICB3aWR0aDogMjJweDtcbiAgICAgICAgICAgIGhlaWdodDogMjJweDtcbiAgICAgICAgfVxuXG4ubXhfVXNlQ2FzZVNlbGVjdGlvbkJ1dHRvbiAubXhfVXNlQ2FzZVNlbGVjdGlvbkJ1dHRvbl9pY29uLm14X1VzZUNhc2VTZWxlY3Rpb25CdXR0b25fbWVzc2FnaW5nOjpiZWZvcmUge1xuICAgICAgICAgICAgLXdlYmtpdC1tYXNrLWltYWdlOiB1cmwoXCIuLi8uLi8uLi9pbWcvZWxlbWVudC1pY29ucy9jaGF0LWJ1YmJsZS5zdmdcIik7XG4gICAgICAgICAgICAgICAgICAgIG1hc2staW1hZ2U6IHVybChcIi4uLy4uLy4uL2ltZy9lbGVtZW50LWljb25zL2NoYXQtYnViYmxlLnN2Z1wiKTtcbiAgICAgICAgfVxuXG4ubXhfVXNlQ2FzZVNlbGVjdGlvbkJ1dHRvbiAubXhfVXNlQ2FzZVNlbGVjdGlvbkJ1dHRvbl9pY29uLm14X1VzZUNhc2VTZWxlY3Rpb25CdXR0b25fd29yazo6YmVmb3JlIHtcbiAgICAgICAgICAgIC13ZWJraXQtbWFzay1pbWFnZTogdXJsKFwiLi4vLi4vLi4vaW1nL2VsZW1lbnQtaWNvbnMvdmlldy1jb21tdW5pdHkuc3ZnXCIpO1xuICAgICAgICAgICAgICAgICAgICBtYXNrLWltYWdlOiB1cmwoXCIuLi8uLi8uLi9pbWcvZWxlbWVudC1pY29ucy92aWV3LWNvbW11bml0eS5zdmdcIik7XG4gICAgICAgIH1cblxuLm14X1VzZUNhc2VTZWxlY3Rpb25CdXR0b24gLm14X1VzZUNhc2VTZWxlY3Rpb25CdXR0b25faWNvbi5teF9Vc2VDYXNlU2VsZWN0aW9uQnV0dG9uX2NvbW11bml0eTo6YmVmb3JlIHtcbiAgICAgICAgICAgIC13ZWJraXQtbWFzay1pbWFnZTogdXJsKFwiQHZlY3Rvci1pbS9jb21wb3VuZC1kZXNpZ24tdG9rZW5zL2ljb25zL3B1YmxpYy5zdmdcIik7XG4gICAgICAgICAgICAgICAgICAgIG1hc2staW1hZ2U6IHVybChcIkB2ZWN0b3ItaW0vY29tcG91bmQtZGVzaWduLXRva2Vucy9pY29ucy9wdWJsaWMuc3ZnXCIpO1xuICAgICAgICAgICAgLXdlYmtpdC1tYXNrLXNpemU6IDI0cHg7XG4gICAgICAgICAgICAgICAgICAgIG1hc2stc2l6ZTogMjRweDtcbiAgICAgICAgfVxuXG4ubXhfVXNlQ2FzZVNlbGVjdGlvbkJ1dHRvbjpob3ZlcixcbiAgICAubXhfVXNlQ2FzZVNlbGVjdGlvbkJ1dHRvbjpmb2N1cyB7XG4gICAgICAgIC13ZWJraXQtYm94LXNoYWRvdzogMCA0cHggOHB4IHJnYmEoMCwgMCwgMCwgMC4wOCk7XG4gICAgICAgICAgICAgICAgYm94LXNoYWRvdzogMCA0cHggOHB4IHJnYmEoMCwgMCwgMCwgMC4wOCk7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLThweCk7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLThweCk7XG4gICAgfVxuXG4ubXhfVXNlQ2FzZVNlbGVjdGlvbkJ1dHRvbiAubXhfVXNlQ2FzZVNlbGVjdGlvbkJ1dHRvbl9zZWxlY3RlZEljb24ge1xuICAgICAgICByaWdodDogLTEycHg7XG4gICAgICAgIHRvcDogLTEycHg7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMjRweDtcbiAgICAgICAgYmFja2dyb3VuZDogIzBkYmQ4YjtcbiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tYWNjZW50LWNvbG9yLCAjMGRiZDhiKTtcbiAgICAgICAgcGFkZGluZzogNnB4O1xuICAgICAgICAtd2Via2l0LXRyYW5zaXRpb24tcHJvcGVydHk6IG9wYWNpdHksIC13ZWJraXQtdHJhbnNmb3JtO1xuICAgICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiBvcGFjaXR5LCAtd2Via2l0LXRyYW5zZm9ybTtcbiAgICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogb3BhY2l0eSwgdHJhbnNmb3JtO1xuICAgICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiBvcGFjaXR5LCB0cmFuc2Zvcm0sIC13ZWJraXQtdHJhbnNmb3JtO1xuICAgICAgICAtd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246IDE1MG1zO1xuICAgICAgICAgICAgICAgIHRyYW5zaXRpb24tZHVyYXRpb246IDE1MG1zO1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMC42KTtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDAuNik7XG4gICAgfVxuXG4ubXhfVXNlQ2FzZVNlbGVjdGlvbkJ1dHRvbiAubXhfVXNlQ2FzZVNlbGVjdGlvbkJ1dHRvbl9zZWxlY3RlZEljb246OmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS10aW1lbGluZS1iYWNrZ3JvdW5kLWNvbG9yKTtcbiAgICAgICAgICAgIC13ZWJraXQtbWFzay1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICBtYXNrLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICAgICAgICAtd2Via2l0LW1hc2stcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgICAgICAgICAgIG1hc2stcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgICAtd2Via2l0LW1hc2stc2l6ZTogY29udGFpbjtcbiAgICAgICAgICAgICAgICAgICAgbWFzay1zaXplOiBjb250YWluO1xuICAgICAgICAgICAgd2lkdGg6IDEycHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDEycHg7XG5cbiAgICAgICAgICAgIC13ZWJraXQtbWFzay1pbWFnZTogdXJsKFwiQHZlY3Rvci1pbS9jb21wb3VuZC1kZXNpZ24tdG9rZW5zL2ljb25zL2NoZWNrLnN2Z1wiKTtcblxuICAgICAgICAgICAgICAgICAgICBtYXNrLWltYWdlOiB1cmwoXCJAdmVjdG9yLWltL2NvbXBvdW5kLWRlc2lnbi10b2tlbnMvaWNvbnMvY2hlY2suc3ZnXCIpO1xuICAgICAgICB9XG5cbi5teF9Vc2VDYXNlU2VsZWN0aW9uQnV0dG9uLm14X1VzZUNhc2VTZWxlY3Rpb25CdXR0b25fc2VsZWN0ZWQge1xuICAgICAgICBib3JkZXI6IDJweCBzb2xpZCAjMGRiZDhiO1xuICAgICAgICBib3JkZXI6IDJweCBzb2xpZCB2YXIoLS1hY2NlbnQtY29sb3IsICMwZGJkOGIpO1xuICAgICAgICBwYWRkaW5nOiBjYWxjKDI0cHggLSAxcHgpIGNhbGMoMTZweCAtIDFweCk7XG4gICAgICAgIC13ZWJraXQtYm94LXNoYWRvdzogMCA0cHggOHB4IHJnYmEoMCwgMCwgMCwgMC4wOCk7XG4gICAgICAgICAgICAgICAgYm94LXNoYWRvdzogMCA0cHggOHB4IHJnYmEoMCwgMCwgMCwgMC4wOCk7XG4gICAgfVxuXG4ubXhfVXNlQ2FzZVNlbGVjdGlvbkJ1dHRvbi5teF9Vc2VDYXNlU2VsZWN0aW9uQnV0dG9uX3NlbGVjdGVkIC5teF9Vc2VDYXNlU2VsZWN0aW9uQnV0dG9uX3NlbGVjdGVkSWNvbiB7XG4gICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgICAgICB9XG5cbi8qXG5Db3B5cmlnaHQgMjAxOS0yMDI0IE5ldyBWZWN0b3IgTHRkLlxuXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXG4qL1xuXG4ubXhfVmFsaWRhdGlvbiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1heC13aWR0aDogMjAwcHg7XG59XG5cbi5teF9WYWxpZGF0aW9uX2RldGFpbHMge1xuICAgIHBhZGRpbmctbGVmdDogMjBweDtcbiAgICBtYXJnaW46IDA7XG59XG5cbi5teF9WYWxpZGF0aW9uX2Rlc2NyaXB0aW9uICsgLm14X1ZhbGlkYXRpb25fZGV0YWlscyB7XG4gICAgbWFyZ2luOiAxZW0gMCAwO1xufVxuXG4ubXhfVmFsaWRhdGlvbl9kZXRhaWwge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgbWFyZ2luLWJvdHRvbTogMC41ZW07XG59XG5cbi5teF9WYWxpZGF0aW9uX2RldGFpbDpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG5cbi5teF9WYWxpZGF0aW9uX2RldGFpbDo6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB3aWR0aDogMTRweDtcbiAgICAgICAgaGVpZ2h0OiAxNHB4O1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IC0xOHB4O1xuICAgICAgICAtd2Via2l0LW1hc2stcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgICAgICAgbWFzay1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgLXdlYmtpdC1tYXNrLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgbWFzay1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgICAtd2Via2l0LW1hc2stc2l6ZTogY29udGFpbjtcbiAgICAgICAgICAgICAgICBtYXNrLXNpemU6IGNvbnRhaW47XG4gICAgfVxuXG4ubXhfVmFsaWRhdGlvbl9kZXRhaWwubXhfVmFsaWRhdGlvbl92YWxpZCB7XG4gICAgICAgIGNvbG9yOiAjMGRiZDhiO1xuICAgICAgICBjb2xvcjogdmFyKC0tYWNjZW50LWNvbG9yLCAjMGRiZDhiKTtcbiAgICB9XG5cbi5teF9WYWxpZGF0aW9uX2RldGFpbC5teF9WYWxpZGF0aW9uX3ZhbGlkOjpiZWZvcmUge1xuICAgICAgICAgICAgLXdlYmtpdC1tYXNrLWltYWdlOiB1cmwoXCJAdmVjdG9yLWltL2NvbXBvdW5kLWRlc2lnbi10b2tlbnMvaWNvbnMvY2hlY2suc3ZnXCIpO1xuICAgICAgICAgICAgICAgICAgICBtYXNrLWltYWdlOiB1cmwoXCJAdmVjdG9yLWltL2NvbXBvdW5kLWRlc2lnbi10b2tlbnMvaWNvbnMvY2hlY2suc3ZnXCIpO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzBkYmQ4YjtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWFjY2VudC1jb2xvciwgIzBkYmQ4Yik7XG4gICAgICAgIH1cblxuLm14X1ZhbGlkYXRpb25fZGV0YWlsLm14X1ZhbGlkYXRpb25faW52YWxpZCB7XG4gICAgICAgIGNvbG9yOiAjZmY1YjU1O1xuICAgICAgICBjb2xvcjogdmFyKC0tYWxlcnQsICNmZjViNTUpO1xuICAgIH1cblxuLm14X1ZhbGlkYXRpb25fZGV0YWlsLm14X1ZhbGlkYXRpb25faW52YWxpZDo6YmVmb3JlIHtcbiAgICAgICAgICAgIC13ZWJraXQtbWFzay1pbWFnZTogdXJsKFwiQHZlY3Rvci1pbS9jb21wb3VuZC1kZXNpZ24tdG9rZW5zL2ljb25zL2Nsb3NlLnN2Z1wiKTtcbiAgICAgICAgICAgICAgICAgICAgbWFzay1pbWFnZTogdXJsKFwiQHZlY3Rvci1pbS9jb21wb3VuZC1kZXNpZ24tdG9rZW5zL2ljb25zL2Nsb3NlLnN2Z1wiKTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZjViNTU7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1hbGVydCwgI2ZmNWI1NSk7XG4gICAgICAgIH1cblxuLypcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxuQ29weXJpZ2h0IDIwMTkgVHVsaXIgQXNva2FuIDx0dWxpckBtYXVuaXVtLm5ldD5cblxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuKi9cblxuLm14X0Vtb2ppUGlja2VyIHtcbiAgICB3aWR0aDogMzQwcHg7XG4gICAgaGVpZ2h0OiA0NTBweDtcblxuICAgIGJvcmRlci1yYWRpdXM6IDRweDtcblxuICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuXG4gICAgZGlzcGxheTogLW1zLWZsZXhib3g7XG5cbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWw7XG4gICAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiBub3JtYWw7XG4gICAgICAgIC1tcy1mbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbn1cblxuLm14X0Vtb2ppUGlja2VyX2JvZHkge1xuICAgIC13ZWJraXQtYm94LWZsZXg6IDE7XG4gICAgICAgIC1tcy1mbGV4OiAxO1xuICAgICAgICAgICAgZmxleDogMTtcbiAgICBvdmVyZmxvdy15OiBzY3JvbGw7XG4gICAgc2Nyb2xsYmFyLXdpZHRoOiB0aGluO1xuICAgIHNjcm9sbGJhci1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjIpIHRyYW5zcGFyZW50O1xufVxuXG4ubXhfRW1vamlQaWNrZXJfaGVhZGVyIHtcbiAgICBwYWRkaW5nOiA0cHggOHB4IDA7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICM2MTZiN2Y7XG59XG5cbi5teF9FbW9qaVBpY2tlcl9hbmNob3Ige1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBwYWRkaW5nOiA4cHggOHB4IDZweDtcbiAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXJhZGl1czogNHB4IDRweCAwIDA7XG5cbiAgICB3aWR0aDogMzZweDtcbiAgICBoZWlnaHQ6IDM4cHg7XG59XG5cbi5teF9FbW9qaVBpY2tlcl9hbmNob3I6bm90KDpkaXNhYmxlZCkge1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgfVxuXG4ubXhfRW1vamlQaWNrZXJfYW5jaG9yOm5vdCg6ZGlzYWJsZWQpOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzM0M2E0NjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tZm9jdXMtYmctY29sb3IsICMzNDNhNDYpO1xuICAgICAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgIzBkYmQ4YjtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkIHZhcigtLWFjY2VudC1jb2xvciwgIzBkYmQ4Yik7XG4gICAgfVxuXG4ubXhfRW1vamlQaWNrZXJfYW5jaG9yOjpiZWZvcmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXRpbWVsaW5lLXRleHQtY29sb3IpO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIC13ZWJraXQtbWFzay1zaXplOiAxMDAlO1xuICAgICAgICAgICAgbWFzay1zaXplOiAxMDAlO1xuICAgIC13ZWJraXQtbWFzay1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgICAgIG1hc2stcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xufVxuXG4ubXhfRW1vamlQaWNrZXJfYW5jaG9yOmRpc2FibGVkOjpiZWZvcmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMzNDNhNDY7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tZm9jdXMtYmctY29sb3IsICMzNDNhNDYpO1xufVxuXG4ubXhfRW1vamlQaWNrZXJfYW5jaG9yX2FjdGl2aXR5OjpiZWZvcmUge1xuICAgIC13ZWJraXQtbWFzay1pbWFnZTogdXJsKFwiLi4vLi4vLi4vaW1nL2Vtb2ppcGlja2VyL2FjdGl2aXR5LnN2Z1wiKTtcbiAgICAgICAgICAgIG1hc2staW1hZ2U6IHVybChcIi4uLy4uLy4uL2ltZy9lbW9qaXBpY2tlci9hY3Rpdml0eS5zdmdcIik7XG59XG5cbi5teF9FbW9qaVBpY2tlcl9hbmNob3JfY3VzdG9tOjpiZWZvcmUge1xuICAgIC13ZWJraXQtbWFzay1pbWFnZTogdXJsKFwiLi4vLi4vLi4vaW1nL2Vtb2ppcGlja2VyL2N1c3RvbS5zdmdcIik7XG4gICAgICAgICAgICBtYXNrLWltYWdlOiB1cmwoXCIuLi8uLi8uLi9pbWcvZW1vamlwaWNrZXIvY3VzdG9tLnN2Z1wiKTtcbn1cblxuLm14X0Vtb2ppUGlja2VyX2FuY2hvcl9mbGFnczo6YmVmb3JlIHtcbiAgICAtd2Via2l0LW1hc2staW1hZ2U6IHVybChcIi4uLy4uLy4uL2ltZy9lbW9qaXBpY2tlci9mbGFncy5zdmdcIik7XG4gICAgICAgICAgICBtYXNrLWltYWdlOiB1cmwoXCIuLi8uLi8uLi9pbWcvZW1vamlwaWNrZXIvZmxhZ3Muc3ZnXCIpO1xufVxuXG4ubXhfRW1vamlQaWNrZXJfYW5jaG9yX2Zvb2RzOjpiZWZvcmUge1xuICAgIC13ZWJraXQtbWFzay1pbWFnZTogdXJsKFwiLi4vLi4vLi4vaW1nL2Vtb2ppcGlja2VyL2Zvb2RzLnN2Z1wiKTtcbiAgICAgICAgICAgIG1hc2staW1hZ2U6IHVybChcIi4uLy4uLy4uL2ltZy9lbW9qaXBpY2tlci9mb29kcy5zdmdcIik7XG59XG5cbi5teF9FbW9qaVBpY2tlcl9hbmNob3JfbmF0dXJlOjpiZWZvcmUge1xuICAgIC13ZWJraXQtbWFzay1pbWFnZTogdXJsKFwiLi4vLi4vLi4vaW1nL2Vtb2ppcGlja2VyL25hdHVyZS5zdmdcIik7XG4gICAgICAgICAgICBtYXNrLWltYWdlOiB1cmwoXCIuLi8uLi8uLi9pbWcvZW1vamlwaWNrZXIvbmF0dXJlLnN2Z1wiKTtcbn1cblxuLm14X0Vtb2ppUGlja2VyX2FuY2hvcl9vYmplY3RzOjpiZWZvcmUge1xuICAgIC13ZWJraXQtbWFzay1pbWFnZTogdXJsKFwiLi4vLi4vLi4vaW1nL2Vtb2ppcGlja2VyL29iamVjdHMuc3ZnXCIpO1xuICAgICAgICAgICAgbWFzay1pbWFnZTogdXJsKFwiLi4vLi4vLi4vaW1nL2Vtb2ppcGlja2VyL29iamVjdHMuc3ZnXCIpO1xufVxuXG4ubXhfRW1vamlQaWNrZXJfYW5jaG9yX3Blb3BsZTo6YmVmb3JlIHtcbiAgICAtd2Via2l0LW1hc2staW1hZ2U6IHVybChcIi4uLy4uLy4uL2ltZy9lbW9qaXBpY2tlci9wZW9wbGUuc3ZnXCIpO1xuICAgICAgICAgICAgbWFzay1pbWFnZTogdXJsKFwiLi4vLi4vLi4vaW1nL2Vtb2ppcGlja2VyL3Blb3BsZS5zdmdcIik7XG59XG5cbi5teF9FbW9qaVBpY2tlcl9hbmNob3JfcGxhY2VzOjpiZWZvcmUge1xuICAgIC13ZWJraXQtbWFzay1pbWFnZTogdXJsKFwiLi4vLi4vLi4vaW1nL2Vtb2ppcGlja2VyL3BsYWNlcy5zdmdcIik7XG4gICAgICAgICAgICBtYXNrLWltYWdlOiB1cmwoXCIuLi8uLi8uLi9pbWcvZW1vamlwaWNrZXIvcGxhY2VzLnN2Z1wiKTtcbn1cblxuLm14X0Vtb2ppUGlja2VyX2FuY2hvcl9yZWNlbnQ6OmJlZm9yZSB7XG4gICAgLXdlYmtpdC1tYXNrLWltYWdlOiB1cmwoXCIuLi8uLi8uLi9pbWcvZW1vamlwaWNrZXIvcmVjZW50LnN2Z1wiKTtcbiAgICAgICAgICAgIG1hc2staW1hZ2U6IHVybChcIi4uLy4uLy4uL2ltZy9lbW9qaXBpY2tlci9yZWNlbnQuc3ZnXCIpO1xufVxuXG4ubXhfRW1vamlQaWNrZXJfYW5jaG9yX3N5bWJvbHM6OmJlZm9yZSB7XG4gICAgLXdlYmtpdC1tYXNrLWltYWdlOiB1cmwoXCIuLi8uLi8uLi9pbWcvZW1vamlwaWNrZXIvc3ltYm9scy5zdmdcIik7XG4gICAgICAgICAgICBtYXNrLWltYWdlOiB1cmwoXCIuLi8uLi8uLi9pbWcvZW1vamlwaWNrZXIvc3ltYm9scy5zdmdcIik7XG59XG5cbi5teF9FbW9qaVBpY2tlcl9hbmNob3JfdmlzaWJsZSB7XG4gICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICMwZGJkOGI7XG4gICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkIHZhcigtLWFjY2VudC1jb2xvciwgIzBkYmQ4Yik7XG59XG5cbi5teF9FbW9qaVBpY2tlcl9zZWFyY2gge1xuICAgIG1hcmdpbjogOHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZTdlN2U3O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXRpbWVsaW5lLWJhY2tncm91bmQtY29sb3IpO1xuICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICAgIGRpc3BsYXk6IGZsZXg7XG59XG5cbi5teF9FbW9qaVBpY2tlcl9zZWFyY2ggaW5wdXQge1xuICAgICAgICAtd2Via2l0LWJveC1mbGV4OiAxO1xuICAgICAgICAgICAgLW1zLWZsZXg6IDE7XG4gICAgICAgICAgICAgICAgZmxleDogMTtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICBwYWRkaW5nOiA4cHggMTJweDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4IDA7XG4gICAgfVxuXG4ubXhfRW1vamlQaWNrZXJfc2VhcmNoIGlucHV0Ojotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHtcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1jcGQtY29sb3ItdGV4dC1zZWNvbmRhcnkpO1xuICAgICAgICB9XG5cbi5teF9FbW9qaVBpY2tlcl9zZWFyY2ggaW5wdXQ6Oi1tb3otcGxhY2Vob2xkZXIge1xuICAgICAgICAgICAgY29sb3I6IHZhcigtLWNwZC1jb2xvci10ZXh0LXNlY29uZGFyeSk7XG4gICAgICAgIH1cblxuLm14X0Vtb2ppUGlja2VyX3NlYXJjaCBpbnB1dDotbXMtaW5wdXQtcGxhY2Vob2xkZXIge1xuICAgICAgICAgICAgY29sb3I6IHZhcigtLWNwZC1jb2xvci10ZXh0LXNlY29uZGFyeSk7XG4gICAgICAgIH1cblxuLm14X0Vtb2ppUGlja2VyX3NlYXJjaCBpbnB1dDo6LW1zLWlucHV0LXBsYWNlaG9sZGVyIHtcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1jcGQtY29sb3ItdGV4dC1zZWNvbmRhcnkpO1xuICAgICAgICB9XG5cbi5teF9FbW9qaVBpY2tlcl9zZWFyY2ggaW5wdXQ6OnBsYWNlaG9sZGVyIHtcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1jcGQtY29sb3ItdGV4dC1zZWNvbmRhcnkpO1xuICAgICAgICB9XG5cbi5teF9FbW9qaVBpY2tlcl9zZWFyY2ggYnV0dG9uIHtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBpbmhlcml0O1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmc6IDhweDtcbiAgICAgICAgLW1zLWZsZXgtaXRlbS1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgYWxpZ24tc2VsZjogY2VudGVyO1xuICAgICAgICB3aWR0aDogMzJweDtcbiAgICAgICAgaGVpZ2h0OiAzMnB4O1xuICAgIH1cblxuLm14X0Vtb2ppUGlja2VyX3NlYXJjaF9jbGVhciB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4ubXhfRW1vamlQaWNrZXJfc2VhcmNoX2ljb24ge1xuICAgIHdpZHRoOiAxNnB4O1xuICAgIG1hcmdpbjogOHB4O1xufVxuXG4ubXhfRW1vamlQaWNrZXJfc2VhcmNoX2ljb246bm90KC5teF9FbW9qaVBpY2tlcl9zZWFyY2hfY2xlYXIpIHtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cblxuLm14X0Vtb2ppUGlja2VyX3NlYXJjaF9pY29uOjphZnRlciB7XG4gICAgLXdlYmtpdC1tYXNrOiB1cmwoXCIuLi8uLi8uLi9pbWcvZW1vamlwaWNrZXIvc2VhcmNoLnN2Z1wiKSBuby1yZXBlYXQ7XG4gICAgICAgICAgICBtYXNrOiB1cmwoXCIuLi8uLi8uLi9pbWcvZW1vamlwaWNrZXIvc2VhcmNoLnN2Z1wiKSBuby1yZXBlYXQ7XG4gICAgLXdlYmtpdC1tYXNrLXNpemU6IDEwMCU7XG4gICAgICAgICAgICBtYXNrLXNpemU6IDEwMCU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdGltZWxpbmUtdGV4dC1jb2xvcik7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xufVxuXG4ubXhfRW1vamlQaWNrZXJfc2VhcmNoX2NsZWFyOjphZnRlciB7XG4gICAgLXdlYmtpdC1tYXNrLWltYWdlOiB1cmwoXCIuLi8uLi8uLi9pbWcvZW1vamlwaWNrZXIvZGVsZXRlLnN2Z1wiKTtcbiAgICAgICAgICAgIG1hc2staW1hZ2U6IHVybChcIi4uLy4uLy4uL2ltZy9lbW9qaXBpY2tlci9kZWxldGUuc3ZnXCIpO1xufVxuXG4ubXhfRW1vamlQaWNrZXJfY2F0ZWdvcnkge1xuICAgIHBhZGRpbmc6IDAgMTJweDtcbiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWw7XG4gICAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiBub3JtYWw7XG4gICAgICAgIC1tcy1mbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO1xuICAgICAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cblxuLm14X0Vtb2ppUGlja2VyX2NhdGVnb3J5X2xhYmVsIHtcbiAgICB3aWR0aDogMzA0cHg7XG59XG5cbi5teF9FbW9qaVBpY2tlcl9saXN0IHtcbiAgICB3aWR0aDogMzA0cHg7XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW46IDA7XG59XG5cbi5teF9FbW9qaVBpY2tlcl9pdGVtX3dyYXBwZXIge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIHdpZHRoOiAzOHB4O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLm14X0Vtb2ppUGlja2VyX2l0ZW1fd3JhcHBlcjpmb2N1cy13aXRoaW4ge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzQzYTQ2O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1mb2N1cy1iZy1jb2xvciwgIzM0M2E0Nik7XG4gICAgfVxuXG4ubXhfRW1vamlQaWNrZXJfYm9keSAubXhfRW1vamlQaWNrZXJfaXRlbV93cmFwcGVyW3RhYmluZGV4PVwiMFwiXSAubXhfRW1vamlQaWNrZXJfaXRlbSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzM0M2E0NjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1mb2N1cy1iZy1jb2xvciwgIzM0M2E0Nik7XG59XG5cbi5teF9FbW9qaVBpY2tlcl9pdGVtIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgZm9udC1zaXplOiAxLjI1cmVtO1xuICAgIHBhZGRpbmc6IDVweDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgYm9yZGVyLXJhZGl1czogNHB4O1xufVxuXG4ubXhfRW1vamlQaWNrZXJfaXRlbTpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMzNDNhNDY7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWZvY3VzLWJnLWNvbG9yLCAjMzQzYTQ2KTtcbiAgICB9XG5cbi5teF9FbW9qaVBpY2tlcl9pdGVtX3NlbGVjdGVkIHtcbiAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjUpO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICMwZGJkOGI7XG4gICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tYWNjZW50LWNvbG9yLCAjMGRiZDhiKTtcbiAgICBwYWRkaW5nOiA0cHg7XG59XG5cbi5teF9FbW9qaVBpY2tlcl9jYXRlZ29yeV9sYWJlbCxcbi5teF9FbW9qaVBpY2tlcl9wcmV2aWV3X25hbWUge1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICBmb250LXdlaWdodDogdmFyKC0tY3BkLWZvbnQtd2VpZ2h0LXNlbWlib2xkKTtcbiAgICBtYXJnaW46IDA7XG59XG5cbi5teF9FbW9qaVBpY2tlcl9mb290ZXIge1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjNjE2YjdmO1xuICAgIG1pbi1oZWlnaHQ6IDcycHg7XG5cbiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcblxuICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuXG4gICAgZGlzcGxheTogZmxleDtcbiAgICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO1xuICAgICAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cblxuLm14X0Vtb2ppUGlja2VyX3ByZXZpZXdfZW1vamkge1xuICAgIGZvbnQtc2l6ZTogMnJlbTtcbiAgICBwYWRkaW5nOiA4cHggMTZweDtcbn1cblxuLm14X0Vtb2ppUGlja2VyX3ByZXZpZXdfdGV4dCB7XG4gICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gICAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICAtd2Via2l0LWJveC1mbGV4OiAxO1xuICAgICAgICAtbXMtZmxleDogMTtcbiAgICAgICAgICAgIGZsZXg6IDE7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwYWRkaW5nLXRvcDogMXJlbTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMXJlbTtcbiAgICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xuICAgIC13ZWJraXQtYm94LWRpcmVjdGlvbjogbm9ybWFsO1xuICAgICAgICAtbXMtZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG59XG5cbi5teF9FbW9qaVBpY2tlcl9uYW1lIHtcbiAgICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTtcbn1cblxuLm14X0Vtb2ppUGlja2VyX3Nob3J0Y29kZSB7XG4gICAgY29sb3I6IHZhcigtLXRpbWVsaW5lLXRleHQtc2Vjb25kYXJ5LWNvbG9yKTtcbiAgICBvdmVyZmxvdy13cmFwOiBicmVhay13b3JkO1xuICAgIGZvbnQ6IHZhcigtLWNwZC1mb250LWJvZHktbWQtcmVndWxhcik7XG59XG5cbi5teF9FbW9qaVBpY2tlcl9zaG9ydGNvZGU6OmJlZm9yZSxcbiAgICAubXhfRW1vamlQaWNrZXJfc2hvcnRjb2RlOjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6IFwiOlwiO1xuICAgIH1cblxuLm14X0Vtb2ppUGlja2VyX3F1aWNrIHtcbiAgICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xuICAgIC13ZWJraXQtYm94LWRpcmVjdGlvbjogbm9ybWFsO1xuICAgICAgICAtbXMtZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgLW1zLWZsZXgtcGFjazogZGlzdHJpYnV0ZTtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7XG59XG5cbi5teF9FbW9qaVBpY2tlcl9xdWlja19oZWFkZXIgLm14X0Vtb2ppUGlja2VyX25hbWUge1xuICAgIG1hcmdpbi1yaWdodDogNHB4O1xufVxuXG4vKlxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXG5Db3B5cmlnaHQgMjAyMSBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DXG5cblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cbiovXG5cbi5teF9Mb2NhdGlvblBpY2tlciB7XG4gICAgYm9yZGVyLXJhZGl1czogOHB4O1xuXG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWw7XG4gICAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiBub3JtYWw7XG4gICAgICAgIC1tcy1mbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblxuICAgIC8qIHdoZW4gdGhlcmUgYXJlIGVycm9ycyBsb2FkaW5nIHRoZSBtYXAgKi9cbiAgICAvKiB0aGUgY2FudmFzIGlzIHN0aWxsIGluc2VydGVkICovXG4gICAgLyogYW5kIGNhbiBvdmVybGFwIGVycm9yIG1lc3NhZ2UvY2xvc2UgYnV0dG9ucyAqL1xufVxuXG4vKiBoaWRlIGl0ICovXG5cbi5teF9Mb2NhdGlvblBpY2tlci5teF9Mb2NhdGlvblBpY2tlcl9oYXNFcnJvciAubWFwbGlicmVnbC1jYW52YXMtY29udGFpbmVyLFxuICAgICAgICAubXhfTG9jYXRpb25QaWNrZXIubXhfTG9jYXRpb25QaWNrZXJfaGFzRXJyb3IgLm1hcGxpYnJlZ2wtY29udHJvbC1jb250YWluZXIge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuXG4ubXhfTG9jYXRpb25QaWNrZXIgI214X0xvY2F0aW9uUGlja2VyX21hcCB7XG4gICAgICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IGluaGVyaXQ7XG4gICAgICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiBpbmhlcml0O1xuICAgICAgICAtd2Via2l0LWJveC1mbGV4OiAxO1xuICAgICAgICAgICAgLW1zLWZsZXg6IDE7XG4gICAgICAgICAgICAgICAgZmxleDogMTtcbiAgICB9XG5cbi5teF9Mb2NhdGlvblBpY2tlciAjbXhfTG9jYXRpb25QaWNrZXJfbWFwIC5tYXBsaWJyZWdsLWN0cmwubWFwbGlicmVnbC1jdHJsLWdyb3VwLFxuICAgICAgICAubXhfTG9jYXRpb25QaWNrZXIgI214X0xvY2F0aW9uUGlja2VyX21hcCAubWFwbGlicmVnbC1jdHJsLm1hcGxpYnJlZ2wtY3RybC1hdHRyaWIge1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxNnB4O1xuICAgICAgICB9XG5cbi5teF9Mb2NhdGlvblBpY2tlciAjbXhfTG9jYXRpb25QaWNrZXJfbWFwIC5tYXBsaWJyZWdsLWN0cmwubWFwbGlicmVnbC1jdHJsLWdyb3VwIHtcbiAgICAgICAgICAgIC8qIHBsYWNlIGJlbG93IHRoZSBjbG9zZSBidXR0b24gKi9cbiAgICAgICAgICAgIC8qIHBhZGRpbmctMTYgKyAyNHB4IGNsb3NlIGJ1dHRvbiArIHBhZGRpbmctMTAgKi9cbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDUwcHg7XG4gICAgICAgIH1cblxuLm14X0xvY2F0aW9uUGlja2VyICNteF9Mb2NhdGlvblBpY2tlcl9tYXAgLm1hcGxpYnJlZ2wtdXNlci1sb2NhdGlvbi1hY2N1cmFjeS1jaXJjbGUge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuXG4ubXhfTG9jYXRpb25QaWNrZXIgI214X0xvY2F0aW9uUGlja2VyX21hcCAubWFwbGlicmVnbC11c2VyLWxvY2F0aW9uLWRvdCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG5cbi5teF9Mb2NhdGlvblBpY2tlciAubXhfTG9jYXRpb25QaWNrZXJfZm9vdGVyIHtcbiAgICAgICAgLXdlYmtpdC1ib3gtZmxleDogMDtcbiAgICAgICAgICAgIC1tcy1mbGV4OiAwO1xuICAgICAgICAgICAgICAgIGZsZXg6IDA7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgcGFkZGluZzogMTZweDtcbiAgICAgICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gICAgICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xuICAgICAgICAtd2Via2l0LWJveC1kaXJlY3Rpb246IG5vcm1hbDtcbiAgICAgICAgICAgIC1tcy1mbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIC13ZWJraXQtYm94LXBhY2s6IHN0cmV0Y2g7XG4gICAgICAgICAgICAtbXMtZmxleC1wYWNrOiBzdHJldGNoO1xuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3RyZXRjaDtcblxuICAgICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiBpbmhlcml0O1xuICAgICAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogaW5oZXJpdDtcblxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1yb29tbGlzdC1iYWNrZ3JvdW5kLWNvbG9yKTtcbiAgICB9XG5cbi5teF9Mb2NhdGlvblBpY2tlcl9waW5UZXh0IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAxNnB4O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGhlaWdodDogMDtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cblxuLm14X0xvY2F0aW9uUGlja2VyX3BpblRleHQgc3BhbiB7XG4gICAgICAgIC13ZWJraXQtYm94LXNoYWRvdzogMHB4IDRweCAxNXB4IHJnYmEoMCwgMCwgMCwgMC4xNSk7XG4gICAgICAgICAgICAgICAgYm94LXNoYWRvdzogMHB4IDRweCAxNXB4IHJnYmEoMCwgMCwgMCwgMC4xNSk7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgICAgICAgcGFkZGluZzogOHB4O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS10aW1lbGluZS1iYWNrZ3JvdW5kLWNvbG9yKTtcbiAgICAgICAgY29sb3I6IHZhcigtLXRpbWVsaW5lLXRleHQtY29sb3IpO1xuXG4gICAgICAgIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgICB9XG5cbi5teF9Mb2NhdGlvblBpY2tlcl9zdWJtaXRCdXR0b24ge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogNDhweDtcbn1cblxuLypcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxuQ29weXJpZ2h0IDIwMjIgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cblxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuKi9cblxuLm14X0NhbGxFdmVudF93cmFwcGVyIHtcbiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIHdpZHRoOiAxMDAlO1xufVxuXG4ubXhfQ2FsbEV2ZW50IHtcbiAgICBwYWRkaW5nOiAxMnB4O1xuICAgIC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgbWluLWhlaWdodDogNjBweDtcbiAgICBtYXgtd2lkdGg6IDYwMHB4O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMyMTI2MmM7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tc3lzdGVtLCAjMjEyNjJjKTtcbiAgICBib3JkZXItcmFkaXVzOiA4cHg7XG5cbiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcblxuICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuXG4gICAgZGlzcGxheTogZmxleDtcbiAgICBnYXA6IDhweDtcbn1cblxuLm14X0NhbGxFdmVudCA+IC5teF9CYXNlQXZhdGFyLFxuICAgIC5teF9DYWxsRXZlbnQgPiAubXhfSWNvbiB7XG4gICAgICAgIC1tcy1mbGV4LWl0ZW0tYWxpZ246IHN0YXJ0O1xuICAgICAgICAgICAgYWxpZ24tc2VsZjogZmxleC1zdGFydDtcbiAgICB9XG5cbi5teF9DYWxsRXZlbnQgPiAubXhfSWNvbiB7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIG1hcmdpbjogNHB4IDA7XG4gICAgICAgIGNvbG9yOiAjZWRmM2ZmO1xuICAgICAgICBjb2xvcjogdmFyKC0tc2Vjb25kYXJ5LWNvbnRlbnQsICNlZGYzZmYpO1xuICAgIH1cblxuLm14X0NhbGxFdmVudCAubXhfTGl2ZUNvbnRlbnRTdW1tYXJ5IHtcbiAgICAgICAgZm9udC1zaXplOiAwLjc1cmVtO1xuICAgIH1cblxuLm14X0NhbGxFdmVudCB7XG5cbiAgICAtLWZhY2VwaWxlLWJhY2tncm91bmQ6IHZhcigtLXN5c3RlbSwgIzIxMjYyYyk7XG59XG5cbi5teF9DYWxsRXZlbnRfdGl0bGUge1xuICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAyNHB4OyAvKiBpbiBweCB0byBtYXRjaCB0aGUgYXZhdGFyICovXG59XG5cbi5teF9DYWxsRXZlbnRfaW5hY3RpdmUgLm14X0NhbGxFdmVudF90aXRsZTo6YmVmb3JlIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlZGYzZmY7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tc2Vjb25kYXJ5LWNvbnRlbnQsICNlZGYzZmYpO1xuICAgIC13ZWJraXQtbWFzay1pbWFnZTogdXJsKFwiLi4vLi4vLi4vaW1nL2VsZW1lbnQtaWNvbnMvY2FsbC92aWRlby1jYWxsLnN2Z1wiKTtcbiAgICAgICAgICAgIG1hc2staW1hZ2U6IHVybChcIi4uLy4uLy4uL2ltZy9lbGVtZW50LWljb25zL2NhbGwvdmlkZW8tY2FsbC5zdmdcIik7XG4gICAgLXdlYmtpdC1tYXNrLXNpemU6IDE2cHg7XG4gICAgICAgICAgICBtYXNrLXNpemU6IDE2cHg7XG4gICAgd2lkdGg6IDE2cHg7XG4gICAgaGVpZ2h0OiAxNnB4O1xuICAgIG1hcmdpbi1yaWdodDogOHB4O1xufVxuXG4ubXhfQ2FsbEV2ZW50X2FjdGl2ZSAubXhfQ2FsbEV2ZW50X3RpdGxlIHtcbiAgICBmb250LXdlaWdodDogdmFyKC0tY3BkLWZvbnQtd2VpZ2h0LXNlbWlib2xkKTtcbn1cblxuLm14X0NhbGxFdmVudF9jb2x1bW5zIHtcbiAgICAtd2Via2l0LWJveC1mbGV4OiAxO1xuICAgICAgICAtbXMtZmxleC1wb3NpdGl2ZTogMTtcbiAgICAgICAgICAgIGZsZXgtZ3JvdzogMTtcbiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGdhcDogMTJweDtcbiAgICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO1xuICAgICAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAtd2Via2l0LWJveC1wYWNrOiBqdXN0aWZ5O1xuICAgICAgICAtbXMtZmxleC1wYWNrOiBqdXN0aWZ5O1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xufVxuXG4ubXhfVGltZWxpbmVDYXJkIC5teF9DYWxsRXZlbnRfY29sdW1ucyB7XG4gICAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcbiAgICAtd2Via2l0LWJveC1kaXJlY3Rpb246IG5vcm1hbDtcbiAgICAgICAgLW1zLWZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIC13ZWJraXQtYm94LWFsaWduOiBzdGFydDtcbiAgICAgICAgLW1zLWZsZXgtYWxpZ246IHN0YXJ0O1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgZ2FwOiA4cHg7XG59XG5cbi5teF9DYWxsRXZlbnRfZGV0YWlscyB7XG4gICAgLXdlYmtpdC1ib3gtZmxleDogMTtcbiAgICAgICAgLW1zLWZsZXgtcG9zaXRpdmU6IDE7XG4gICAgICAgICAgICBmbGV4LWdyb3c6IDE7XG5cbiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcblxuICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuXG4gICAgZGlzcGxheTogZmxleDtcbiAgICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xuICAgIC13ZWJraXQtYm94LWRpcmVjdGlvbjogbm9ybWFsO1xuICAgICAgICAtbXMtZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZ2FwOiA2cHg7XG59XG5cbi5teF9DYWxsRXZlbnRfYnV0dG9uIHtcbiAgICAtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIG1pbi13aWR0aDogMTIwcHg7XG59XG5cbi8qXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cbkNvcHlyaWdodCAyMDE4LTIwMjAgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cblxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuKi9cblxuLm14X0V2ZW50VGlsZUJ1YmJsZS5teF9DcmVhdGVFdmVudCB7XG4gICAgbWFyZ2luOiB2YXIoLS1FdmVudFRpbGVCdWJibGVfbWFyZ2luLWJsb2NrKSBhdXRvO1xufVxuXG4ubXhfRXZlbnRUaWxlQnViYmxlLm14X0NyZWF0ZUV2ZW50OjpiZWZvcmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYTFiMmQxO1xuICAgICAgICAtd2Via2l0LW1hc2staW1hZ2U6IHVybChcIi4uLy4uLy4uL2ltZy9lbGVtZW50LWljb25zL2NoYXQtYnViYmxlcy5zdmdcIik7XG4gICAgICAgICAgICAgICAgbWFzay1pbWFnZTogdXJsKFwiLi4vLi4vLi4vaW1nL2VsZW1lbnQtaWNvbnMvY2hhdC1idWJibGVzLnN2Z1wiKTtcbiAgICB9XG5cbi8qXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cbkNvcHlyaWdodCAyMDE3IFZlY3RvciBDcmVhdGlvbnMgTHRkXG5cblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cbiovXG5cbi5teF9EYXRlU2VwYXJhdG9yX2RhdGVDb250ZW50IHtcbiAgICBwYWRkaW5nOiAwIDI1cHg7XG59XG5cbi5teF9EYXRlU2VwYXJhdG9yX2RhdGVIZWFkaW5nIHtcbiAgICAtd2Via2l0LWJveC1mbGV4OiAwO1xuICAgICAgICAtbXMtZmxleDogMCAwIGF1dG87XG4gICAgICAgICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICBtYXJnaW46IDA7XG4gICAgZm9udC1zaXplOiBpbmhlcml0O1xuICAgIGZvbnQtd2VpZ2h0OiBpbmhlcml0O1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplO1xufVxuXG4ubXhfRGF0ZVNlcGFyYXRvcl9qdW1wVG9EYXRlTWVudSB7XG4gICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gICAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gICAgZGlzcGxheTogZmxleDtcbn1cblxuLm14X0RhdGVTZXBhcmF0b3JfY2hldnJvbiB7XG4gICAgLW1zLWZsZXgtaXRlbS1hbGlnbjogY2VudGVyO1xuICAgICAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gICAgd2lkdGg6IDE2cHg7XG4gICAgaGVpZ2h0OiAxNnB4O1xuICAgIC13ZWJraXQtbWFzay1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgICAgICAgbWFzay1wb3NpdGlvbjogY2VudGVyO1xuICAgIC13ZWJraXQtbWFzay1zaXplOiBjb250YWluO1xuICAgICAgICAgICAgbWFzay1zaXplOiBjb250YWluO1xuICAgIC13ZWJraXQtbWFzay1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgICAgIG1hc2stcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgLXdlYmtpdC1tYXNrLWltYWdlOiB1cmwoXCJAdmVjdG9yLWltL2NvbXBvdW5kLWRlc2lnbi10b2tlbnMvaWNvbnMvY2hldnJvbi1kb3duLnN2Z1wiKTtcbiAgICAgICAgICAgIG1hc2staW1hZ2U6IHVybChcIkB2ZWN0b3ItaW0vY29tcG91bmQtZGVzaWduLXRva2Vucy9pY29ucy9jaGV2cm9uLWRvd24uc3ZnXCIpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNwZC1jb2xvci1pY29uLXNlY29uZGFyeSk7XG59XG5cbi8qXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cbkNvcHlyaWdodCAyMDIyIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXG5cblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cbiovXG5cbi5teF9EZWNyeXB0aW9uRmFpbHVyZUJvZHkge1xuICAgIGNvbG9yOiAjZWRmM2ZmO1xuICAgIGNvbG9yOiB2YXIoLS1zZWNvbmRhcnktY29udGVudCwgI2VkZjNmZik7XG4gICAgZm9udC1zdHlsZTogaXRhbGljO1xufVxuXG4vKiBGb3JtYXR0aW5nIGZvciBlcnJvcnMgZHVlIHRvIHNlbmRlciB0cnVzdCByZXF1aXJlbWVudCBmYWlsdXJlcyAqL1xuXG4ubXhfRGVjcnlwdGlvbkZhaWx1cmVTZW5kZXJUcnVzdFJlcXVpcmVtZW50ID4gc3BhbiB7XG4gICAgLyogc29tZSBzcGFjZSBiZXR3ZWVuIHRoZSAoLykgaWNvbiBhbmQgdGV4dCAqL1xuICAgIGRpc3BsYXk6IC13ZWJraXQtaW5saW5lLWJveDtcbiAgICBkaXNwbGF5OiAtbXMtaW5saW5lLWZsZXhib3g7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgZ2FwOiB2YXIoLS1jcGQtc3BhY2UtMXgpO1xuXG4gICAgLyogQ2VudGVyIHZlcnRpY2FsbHkgKi9cbiAgICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO1xuICAgICAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cblxuLypcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxuQ29weXJpZ2h0IDIwMjEgxaBpbW9uIEJyYW5kbmVyIDxzaW1vbi5icmEuYWdAZ21haWwuY29tPlxuQ29weXJpZ2h0IDIwMTUsIDIwMTYgT3Blbk1hcmtldCBMdGRcblxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuKi9cblxuLm14X0Rpc2FtYmlndWF0ZWRQcm9maWxlIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4ubXhfRGlzYW1iaWd1YXRlZFByb2ZpbGUgLm14X0Rpc2FtYmlndWF0ZWRQcm9maWxlX2Rpc3BsYXlOYW1lIHtcbiAgICAgICAgZm9udDogdmFyKC0tY3BkLWZvbnQtYm9keS1tZC1zZW1pYm9sZCk7XG4gICAgICAgIC13ZWJraXQtbWFyZ2luLWVuZDogMDtcbiAgICAgICAgICAgICAgICBtYXJnaW4taW5saW5lLWVuZDogMDtcbiAgICAgICAgLyoga2VlcHMgdGhlIGhlaWdodCBpbiBjaGVjaywgaW1wb3J0YW50IGZvciB0aGUgYnViYmxlIGFwcGVyYW5jZSAqL1xuICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICB9XG5cbi5teF9EaXNhbWJpZ3VhdGVkUHJvZmlsZSAubXhfRGlzYW1iaWd1YXRlZFByb2ZpbGVfbXhpZCB7XG4gICAgICAgIC13ZWJraXQtbWFyZ2luLXN0YXJ0OiA1cHg7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWlubGluZS1zdGFydDogNXB4O1xuICAgICAgICBjb2xvcjogI2VkZjNmZjtcbiAgICAgICAgY29sb3I6IHZhcigtLXNlY29uZGFyeS1jb250ZW50LCAjZWRmM2ZmKTtcbiAgICAgICAgZm9udC1zaXplOiB2YXIoLS1jcGQtZm9udC1zaXplLWJvZHktc20pO1xuICAgIH1cblxuLypcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxuQ29weXJpZ2h0IDIwMTksIDIwMjAgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cblxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuKi9cblxuLm14X0V2ZW50VGlsZUJ1YmJsZSB7XG4gICAgLS1FdmVudFRpbGVCdWJibGVfbWFyZ2luLWJsb2NrOiAxMHB4O1xuXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcm9vbWxpc3QtYmFja2dyb3VuZC1jb2xvcik7XG4gICAgcGFkZGluZzogMTBweDtcbiAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgLyogUmVzZXJ2ZSBzcGFjZSBmb3IgZXh0ZXJuYWwgdGltZXN0YW1wcywgYnV0IGFsc28gY2FwIHRoZSB3aWR0aCAqL1xuICAgIG1heC13aWR0aDogbWluKGNhbGMoMTAwJSAtIDIgKiA0NnB4KSwgNjAwcHgpO1xuICAgIG1heC13aWR0aDogbWluKGNhbGMoMTAwJSAtIDIgKiB2YXIoLS1NZXNzYWdlVGltZXN0YW1wLXdpZHRoKSksIDYwMHB4KTtcbiAgICAtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAyNHB4IG1pbm1heCgwLCAxZnIpIC13ZWJraXQtbWluLWNvbnRlbnQgLXdlYmtpdC1taW4tY29udGVudDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDI0cHggbWlubWF4KDAsIDFmcikgbWluLWNvbnRlbnQgbWluLWNvbnRlbnQ7XG59XG5cbi5teF9FdmVudFRpbGVCdWJibGU6OmJlZm9yZSxcbiAgICAubXhfRXZlbnRUaWxlQnViYmxlOjphZnRlciB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgZ3JpZC1jb2x1bW46IDE7XG4gICAgICAgIGdyaWQtcm93OiAxIC8gMztcbiAgICAgICAgd2lkdGg6IDE2cHg7XG4gICAgICAgIGhlaWdodDogMTZweDtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgaW5zZXQ6IDA7XG4gICAgICAgIC13ZWJraXQtbWFzay1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgICAgICAgICBtYXNrLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAtd2Via2l0LW1hc2stcG9zaXRpb246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBtYXNrLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICAgIC13ZWJraXQtbWFzay1zaXplOiBjb250YWluO1xuICAgICAgICAgICAgICAgIG1hc2stc2l6ZTogY29udGFpbjtcbiAgICAgICAgbWFyZ2luLXRvcDogNHB4O1xuICAgIH1cblxuLm14X0V2ZW50VGlsZUJ1YmJsZSAubXhfRXZlbnRUaWxlQnViYmxlX3RpdGxlLFxuICAgIC5teF9FdmVudFRpbGVCdWJibGUgLm14X0V2ZW50VGlsZUJ1YmJsZV9zdWJ0aXRsZSB7XG4gICAgICAgIGdyaWQtY29sdW1uOiAyO1xuICAgICAgICBvdmVyZmxvdy13cmFwOiBicmVhay13b3JkO1xuICAgICAgICBtaW4taW5saW5lLXNpemU6IDUwcHg7XG4gICAgfVxuXG4ubXhfRXZlbnRUaWxlQnViYmxlIC5teF9FdmVudFRpbGVCdWJibGVfdGl0bGUge1xuICAgICAgICBmb250LXdlaWdodDogdmFyKC0tY3BkLWZvbnQtd2VpZ2h0LXNlbWlib2xkKTtcbiAgICAgICAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gICAgICAgIGdyaWQtcm93OiAxO1xuICAgIH1cblxuLm14X0V2ZW50VGlsZUJ1YmJsZSAubXhfRXZlbnRUaWxlQnViYmxlX3N1YnRpdGxlIHtcbiAgICAgICAgZm9udC1zaXplOiAwLjc1cmVtO1xuICAgICAgICBncmlkLXJvdzogMjtcbiAgICB9XG5cbi5teF9FdmVudFRpbGVCdWJibGUgLm14X01lc3NhZ2VUaW1lc3RhbXAge1xuICAgICAgICBncmlkLWNvbHVtbjogNDtcbiAgICAgICAgZ3JpZC1yb3c6IDEgLyAzO1xuICAgICAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAxNnB4O1xuICAgIH1cblxuLypcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxuQ29weXJpZ2h0IDIwMjIgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cblxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuKi9cblxuLm14X0hpZGRlbkJvZHkge1xuICAgIHdoaXRlLXNwYWNlOiBwcmUtd3JhcDtcbiAgICBjb2xvcjogI2ExYjJkMTtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuXG4gICAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLm14X0hpZGRlbkJvZHk6OmJlZm9yZSB7XG4gICAgICAgIGhlaWdodDogMTRweDtcbiAgICAgICAgd2lkdGg6IDE0cHg7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNhMWIyZDE7XG4gICAgICAgIC13ZWJraXQtbWFzay1pbWFnZTogdXJsKFwiLi4vLi4vLi4vaW1nL2VsZW1lbnQtaWNvbnMvaGlkZS5zdmdcIik7XG4gICAgICAgICAgICAgICAgbWFzay1pbWFnZTogdXJsKFwiLi4vLi4vLi4vaW1nL2VsZW1lbnQtaWNvbnMvaGlkZS5zdmdcIik7XG5cbiAgICAgICAgLXdlYmtpdC1tYXNrLXJlcGVhdDogbm8tcmVwZWF0O1xuXG4gICAgICAgICAgICAgICAgbWFzay1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgLXdlYmtpdC1tYXNrLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgbWFzay1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgICAtd2Via2l0LW1hc2stc2l6ZTogY29udGFpbjtcbiAgICAgICAgICAgICAgICBtYXNrLXNpemU6IGNvbnRhaW47XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAxcHg7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgfVxuXG4vKlxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXG5Db3B5cmlnaHQgMjAyMiBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxuXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXG4qL1xuXG4ubXhfSnVtcFRvRGF0ZVBpY2tlcl9mb3JtIHtcbiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIC8qIFRoaXMgbWF0Y2hlcyB0aGUgZGVmYXVsdCBwYWRkaW5nIG9mIEljb25pemVkQ29udGV4dE1lbnVPcHRpb24gKi9cbiAgICAvKiAoc2VlIGNvbnRleHRfbWVudXMvX0ljb25pemVkQ29udGV4dE1lbnUucGNzcykgKi9cbiAgICBwYWRkaW5nLXRvcDogMTJweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMTJweDtcbn1cblxuLm14X0p1bXBUb0RhdGVQaWNrZXJfbGFiZWwge1xuICAgIC1tcy1mbGV4LWl0ZW0tYWxpZ246IGNlbnRlcjtcbiAgICAgICAgYWxpZ24tc2VsZjogY2VudGVyO1xuICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xufVxuXG4ubXhfSnVtcFRvRGF0ZVBpY2tlcl9kYXRlUGlja2VyIHtcbiAgICBtYXJnaW46IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDhweDtcbn1cblxuLm14X0p1bXBUb0RhdGVQaWNrZXJfZGF0ZVBpY2tlcixcbiAgICAubXhfSnVtcFRvRGF0ZVBpY2tlcl9kYXRlUGlja2VyID4gaW5wdXQge1xuICAgICAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgfVxuXG4ubXhfSnVtcFRvRGF0ZVBpY2tlcl9zdWJtaXRCdXR0b24ge1xuICAgIG1hcmdpbi1sZWZ0OiA4cHg7XG59XG5cbi8qXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cbkNvcHlyaWdodCAyMDIxIMWgaW1vbiBCcmFuZG5lciA8c2ltb24uYnJhLmFnQGdtYWlsLmNvbT5cblxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuKi9cblxuLm14X0xlZ2FjeUNhbGxFdmVudF93cmFwcGVyIHtcbiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIHdpZHRoOiAxMDAlO1xufVxuXG4ubXhfTGVnYWN5Q2FsbEV2ZW50X3dyYXBwZXIgLm14X0xlZ2FjeUNhbGxFdmVudCB7XG4gICAgICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICAgICAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgLXdlYmtpdC1ib3gtb3JpZW50OiBob3Jpem9udGFsO1xuICAgICAgICAtd2Via2l0LWJveC1kaXJlY3Rpb246IG5vcm1hbDtcbiAgICAgICAgICAgIC1tcy1mbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgIC1tcy1mbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIC13ZWJraXQtYm94LXBhY2s6IGp1c3RpZnk7XG4gICAgICAgICAgICAtbXMtZmxleC1wYWNrOiBqdXN0aWZ5O1xuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgZ2FwOiA0cHggMDtcblxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIG1hcmdpbjogNHB4IDA7XG4gICAgICAgIHBhZGRpbmc6IDEycHggMjRweDtcbiAgICAgICAgLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXJvb21saXN0LWJhY2tncm91bmQtY29sb3IpO1xuICAgICAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgICAgIHdpZHRoOiA2NSU7XG4gICAgICAgIGhlaWdodDogLXdlYmtpdC1maXQtY29udGVudDtcbiAgICAgICAgaGVpZ2h0OiAtbW96LWZpdC1jb250ZW50O1xuICAgICAgICBoZWlnaHQ6IGZpdC1jb250ZW50O1xuICAgIH1cblxuLm14X0xlZ2FjeUNhbGxFdmVudF93cmFwcGVyIC5teF9MZWdhY3lDYWxsRXZlbnQgLm14X0xlZ2FjeUNhbGxFdmVudF9pY29uQnV0dG9uIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IC13ZWJraXQtaW5saW5lLWJveDtcbiAgICAgICAgICAgIGRpc3BsYXk6IC1tcy1pbmxpbmUtZmxleGJveDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICB9XG5cbi5teF9MZWdhY3lDYWxsRXZlbnRfd3JhcHBlciAubXhfTGVnYWN5Q2FsbEV2ZW50IC5teF9MZWdhY3lDYWxsRXZlbnRfaWNvbkJ1dHRvbjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxNnB4O1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxNnB4O1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNlZGYzZmY7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tc2Vjb25kYXJ5LWNvbnRlbnQsICNlZGYzZmYpO1xuICAgICAgICAgICAgICAgIC13ZWJraXQtbWFzay1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hc2stcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgICAgICAgLXdlYmtpdC1tYXNrLXNpemU6IGNvbnRhaW47XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXNrLXNpemU6IGNvbnRhaW47XG4gICAgICAgICAgICAgICAgLXdlYmtpdC1tYXNrLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXNrLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICAgICAgICB9XG5cbi5teF9MZWdhY3lDYWxsRXZlbnRfd3JhcHBlciAubXhfTGVnYWN5Q2FsbEV2ZW50IC5teF9MZWdhY3lDYWxsRXZlbnRfc2lsZW5jZTo6YmVmb3JlIHtcbiAgICAgICAgICAgIC13ZWJraXQtbWFzay1pbWFnZTogdXJsKFwiLi4vLi4vLi4vaW1nL3ZvaXAvc2lsZW5jZS5zdmdcIik7XG4gICAgICAgICAgICAgICAgICAgIG1hc2staW1hZ2U6IHVybChcIi4uLy4uLy4uL2ltZy92b2lwL3NpbGVuY2Uuc3ZnXCIpO1xuICAgICAgICB9XG5cbi5teF9MZWdhY3lDYWxsRXZlbnRfd3JhcHBlciAubXhfTGVnYWN5Q2FsbEV2ZW50IC5teF9MZWdhY3lDYWxsRXZlbnRfdW5TaWxlbmNlOjpiZWZvcmUge1xuICAgICAgICAgICAgLXdlYmtpdC1tYXNrLWltYWdlOiB1cmwoXCIuLi8uLi8uLi9pbWcvdm9pcC91bi1zaWxlbmNlLnN2Z1wiKTtcbiAgICAgICAgICAgICAgICAgICAgbWFzay1pbWFnZTogdXJsKFwiLi4vLi4vLi4vaW1nL3ZvaXAvdW4tc2lsZW5jZS5zdmdcIik7XG4gICAgICAgIH1cblxuLm14X0xlZ2FjeUNhbGxFdmVudF93cmFwcGVyIC5teF9MZWdhY3lDYWxsRXZlbnQubXhfTGVnYWN5Q2FsbEV2ZW50X3ZvaWNlIC5teF9MZWdhY3lDYWxsRXZlbnRfdHlwZV9pY29uOjpiZWZvcmUsXG4gICAgICAgICAgICAubXhfTGVnYWN5Q2FsbEV2ZW50X3dyYXBwZXIgLm14X0xlZ2FjeUNhbGxFdmVudC5teF9MZWdhY3lDYWxsRXZlbnRfdm9pY2UgLm14X0xlZ2FjeUNhbGxFdmVudF9jb250ZW50X2J1dHRvbl9jYWxsQmFjayBzcGFuOjpiZWZvcmUsXG4gICAgICAgICAgICAubXhfTGVnYWN5Q2FsbEV2ZW50X3dyYXBwZXIgLm14X0xlZ2FjeUNhbGxFdmVudC5teF9MZWdhY3lDYWxsRXZlbnRfdm9pY2UgLm14X0xlZ2FjeUNhbGxFdmVudF9jb250ZW50X2J1dHRvbl9hbnN3ZXIgc3Bhbjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAtd2Via2l0LW1hc2staW1hZ2U6IHVybChcIi4uLy4uLy4uL2ltZy9lbGVtZW50LWljb25zL2NhbGwvdm9pY2UtY2FsbC5zdmdcIik7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXNrLWltYWdlOiB1cmwoXCIuLi8uLi8uLi9pbWcvZWxlbWVudC1pY29ucy9jYWxsL3ZvaWNlLWNhbGwuc3ZnXCIpO1xuICAgICAgICAgICAgfVxuXG4ubXhfTGVnYWN5Q2FsbEV2ZW50X3dyYXBwZXIgLm14X0xlZ2FjeUNhbGxFdmVudC5teF9MZWdhY3lDYWxsRXZlbnRfdm9pY2UubXhfTGVnYWN5Q2FsbEV2ZW50X3JlamVjdGVkIC5teF9MZWdhY3lDYWxsRXZlbnRfdHlwZV9pY29uOjpiZWZvcmUsIC5teF9MZWdhY3lDYWxsRXZlbnRfd3JhcHBlciAubXhfTGVnYWN5Q2FsbEV2ZW50Lm14X0xlZ2FjeUNhbGxFdmVudF92b2ljZS5teF9MZWdhY3lDYWxsRXZlbnRfbm9BbnN3ZXIgLm14X0xlZ2FjeUNhbGxFdmVudF90eXBlX2ljb246OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgIC13ZWJraXQtbWFzay1pbWFnZTogdXJsKFwiLi4vLi4vLi4vaW1nL2VsZW1lbnQtaWNvbnMvY2FsbC9oYW5ndXAuc3ZnXCIpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hc2staW1hZ2U6IHVybChcIi4uLy4uLy4uL2ltZy9lbGVtZW50LWljb25zL2NhbGwvaGFuZ3VwLnN2Z1wiKTtcbiAgICAgICAgICAgICAgICB9XG5cbi5teF9MZWdhY3lDYWxsRXZlbnRfd3JhcHBlciAubXhfTGVnYWN5Q2FsbEV2ZW50Lm14X0xlZ2FjeUNhbGxFdmVudF92aWRlbyAubXhfTGVnYWN5Q2FsbEV2ZW50X3R5cGVfaWNvbjo6YmVmb3JlLFxuICAgICAgICAgICAgLm14X0xlZ2FjeUNhbGxFdmVudF93cmFwcGVyIC5teF9MZWdhY3lDYWxsRXZlbnQubXhfTGVnYWN5Q2FsbEV2ZW50X3ZpZGVvIC5teF9MZWdhY3lDYWxsRXZlbnRfY29udGVudF9idXR0b25fY2FsbEJhY2sgc3Bhbjo6YmVmb3JlLFxuICAgICAgICAgICAgLm14X0xlZ2FjeUNhbGxFdmVudF93cmFwcGVyIC5teF9MZWdhY3lDYWxsRXZlbnQubXhfTGVnYWN5Q2FsbEV2ZW50X3ZpZGVvIC5teF9MZWdhY3lDYWxsRXZlbnRfY29udGVudF9idXR0b25fYW5zd2VyIHNwYW46OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgLXdlYmtpdC1tYXNrLWltYWdlOiB1cmwoXCIuLi8uLi8uLi9pbWcvZWxlbWVudC1pY29ucy9jYWxsL3ZpZGVvLWNhbGwuc3ZnXCIpO1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFzay1pbWFnZTogdXJsKFwiLi4vLi4vLi4vaW1nL2VsZW1lbnQtaWNvbnMvY2FsbC92aWRlby1jYWxsLnN2Z1wiKTtcbiAgICAgICAgICAgIH1cblxuLm14X0xlZ2FjeUNhbGxFdmVudF93cmFwcGVyIC5teF9MZWdhY3lDYWxsRXZlbnQubXhfTGVnYWN5Q2FsbEV2ZW50X3ZpZGVvLm14X0xlZ2FjeUNhbGxFdmVudF9yZWplY3RlZCAubXhfTGVnYWN5Q2FsbEV2ZW50X3R5cGVfaWNvbjo6YmVmb3JlLCAubXhfTGVnYWN5Q2FsbEV2ZW50X3dyYXBwZXIgLm14X0xlZ2FjeUNhbGxFdmVudC5teF9MZWdhY3lDYWxsRXZlbnRfdmlkZW8ubXhfTGVnYWN5Q2FsbEV2ZW50X25vQW5zd2VyIC5teF9MZWdhY3lDYWxsRXZlbnRfdHlwZV9pY29uOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICAtd2Via2l0LW1hc2staW1hZ2U6IHVybChcIkB2ZWN0b3ItaW0vY29tcG91bmQtZGVzaWduLXRva2Vucy9pY29ucy92aWRlby1jYWxsLWRlY2xpbmVkLXNvbGlkLnN2Z1wiKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXNrLWltYWdlOiB1cmwoXCJAdmVjdG9yLWltL2NvbXBvdW5kLWRlc2lnbi10b2tlbnMvaWNvbnMvdmlkZW8tY2FsbC1kZWNsaW5lZC1zb2xpZC5zdmdcIik7XG4gICAgICAgICAgICAgICAgfVxuXG4ubXhfTGVnYWN5Q2FsbEV2ZW50X3dyYXBwZXIgLm14X0xlZ2FjeUNhbGxFdmVudC5teF9MZWdhY3lDYWxsRXZlbnRfbWlzc2VkLm14X0xlZ2FjeUNhbGxFdmVudF92b2ljZSAubXhfTGVnYWN5Q2FsbEV2ZW50X3R5cGVfaWNvbjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgLXdlYmtpdC1tYXNrLWltYWdlOiB1cmwoXCIuLi8uLi8uLi9pbWcvdm9pcC9taXNzZWQtdm9pY2Uuc3ZnXCIpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hc2staW1hZ2U6IHVybChcIi4uLy4uLy4uL2ltZy92b2lwL21pc3NlZC12b2ljZS5zdmdcIik7XG4gICAgICAgICAgICAgICAgfVxuXG4ubXhfTGVnYWN5Q2FsbEV2ZW50X3dyYXBwZXIgLm14X0xlZ2FjeUNhbGxFdmVudC5teF9MZWdhY3lDYWxsRXZlbnRfbWlzc2VkLm14X0xlZ2FjeUNhbGxFdmVudF92aWRlbyAubXhfTGVnYWN5Q2FsbEV2ZW50X3R5cGVfaWNvbjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgLXdlYmtpdC1tYXNrLWltYWdlOiB1cmwoXCJAdmVjdG9yLWltL2NvbXBvdW5kLWRlc2lnbi10b2tlbnMvaWNvbnMvdmlkZW8tY2FsbC1taXNzZWQtc29saWQuc3ZnXCIpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hc2staW1hZ2U6IHVybChcIkB2ZWN0b3ItaW0vY29tcG91bmQtZGVzaWduLXRva2Vucy9pY29ucy92aWRlby1jYWxsLW1pc3NlZC1zb2xpZC5zdmdcIik7XG4gICAgICAgICAgICAgICAgfVxuXG4ubXhfTGVnYWN5Q2FsbEV2ZW50X3dyYXBwZXIgLm14X0xlZ2FjeUNhbGxFdmVudCAubXhfTGVnYWN5Q2FsbEV2ZW50X2luZm8ge1xuICAgICAgICAgICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gICAgICAgICAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAtd2Via2l0LWJveC1vcmllbnQ6IGhvcml6b250YWw7XG4gICAgICAgICAgICAtd2Via2l0LWJveC1kaXJlY3Rpb246IG5vcm1hbDtcbiAgICAgICAgICAgICAgICAtbXMtZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgICAgIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIHdpZHRoOiAtd2Via2l0LWZpdC1jb250ZW50O1xuICAgICAgICAgICAgd2lkdGg6IC1tb3otZml0LWNvbnRlbnQ7XG4gICAgICAgICAgICB3aWR0aDogZml0LWNvbnRlbnQ7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cblxuLm14X0xlZ2FjeUNhbGxFdmVudF93cmFwcGVyIC5teF9MZWdhY3lDYWxsRXZlbnQgLm14X0xlZ2FjeUNhbGxFdmVudF9pbmZvIC5teF9MZWdhY3lDYWxsRXZlbnRfaW5mb19iYXNpYyB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xuICAgICAgICAgICAgICAgIC13ZWJraXQtYm94LWRpcmVjdGlvbjogbm9ybWFsO1xuICAgICAgICAgICAgICAgICAgICAtbXMtZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICAgICAgZ2FwOiA0cHg7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDEwcHg7IC8qIFRvIG1hdGNoIG14X0xlZ2FjeUNhbGxFdmVudCAqL1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMTBweDtcbiAgICAgICAgICAgICAgICBtaW4td2lkdGg6IDA7XG4gICAgICAgICAgICB9XG5cbi5teF9MZWdhY3lDYWxsRXZlbnRfd3JhcHBlciAubXhfTGVnYWN5Q2FsbEV2ZW50IC5teF9MZWdhY3lDYWxsRXZlbnRfaW5mbyAubXhfTGVnYWN5Q2FsbEV2ZW50X2luZm9fYmFzaWMgLm14X0xlZ2FjeUNhbGxFdmVudF9zZW5kZXIge1xuICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogdmFyKC0tY3BkLWZvbnQtd2VpZ2h0LXNlbWlib2xkKTtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNHB4O1xuXG4gICAgICAgICAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgICAgICAgICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgICAgICAgICAgICAgIH1cblxuLm14X0xlZ2FjeUNhbGxFdmVudF93cmFwcGVyIC5teF9MZWdhY3lDYWxsRXZlbnQgLm14X0xlZ2FjeUNhbGxFdmVudF9pbmZvIC5teF9MZWdhY3lDYWxsRXZlbnRfaW5mb19iYXNpYyAubXhfTGVnYWN5Q2FsbEV2ZW50X3R5cGUge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgICAgIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgICAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAjZWRmM2ZmO1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tc2Vjb25kYXJ5LWNvbnRlbnQsICNlZGYzZmYpO1xuICAgICAgICAgICAgICAgIH1cblxuLm14X0xlZ2FjeUNhbGxFdmVudF93cmFwcGVyIC5teF9MZWdhY3lDYWxsRXZlbnQgLm14X0xlZ2FjeUNhbGxFdmVudF9pbmZvIC5teF9MZWdhY3lDYWxsRXZlbnRfaW5mb19iYXNpYyAubXhfTGVnYWN5Q2FsbEV2ZW50X3R5cGUgLm14X0xlZ2FjeUNhbGxFdmVudF90eXBlX2ljb24ge1xuICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxM3B4O1xuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEzcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDVweDtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4ubXhfTGVnYWN5Q2FsbEV2ZW50X3dyYXBwZXIgLm14X0xlZ2FjeUNhbGxFdmVudCAubXhfTGVnYWN5Q2FsbEV2ZW50X2luZm8gLm14X0xlZ2FjeUNhbGxFdmVudF9pbmZvX2Jhc2ljIC5teF9MZWdhY3lDYWxsRXZlbnRfdHlwZSAubXhfTGVnYWN5Q2FsbEV2ZW50X3R5cGVfaWNvbjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDEzcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEzcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2VkZjNmZjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1zZWNvbmRhcnktY29udGVudCwgI2VkZjNmZik7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLXdlYmtpdC1tYXNrLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFzay1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAtd2Via2l0LW1hc2stc2l6ZTogY29udGFpbjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hc2stc2l6ZTogY29udGFpbjtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuLm14X0xlZ2FjeUNhbGxFdmVudF93cmFwcGVyIC5teF9MZWdhY3lDYWxsRXZlbnQgLm14X0xlZ2FjeUNhbGxFdmVudF9jb250ZW50IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICAgICAgICAgICAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgLW1zLWZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgICAgICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICBjb2xvcjogI2VkZjNmZjtcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1zZWNvbmRhcnktY29udGVudCwgI2VkZjNmZik7XG4gICAgICAgICAgICBmb250LXNpemU6IDAuNzVyZW07XG4gICAgICAgICAgICBnYXA6IDEycHg7IC8qIFNlZSBteF9JbmNvbWluZ0xlZ2FjeUNhbGxUb2FzdF9idXR0b25zICovXG4gICAgICAgICAgICAtd2Via2l0LW1hcmdpbi1zdGFydDogNDJweDtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWlubGluZS1zdGFydDogNDJweDsgLyogYXZhdGFyICgzMnB4KSArIG14X0xlZ2FjeUNhbGxFdmVudF9pbmZvX2Jhc2ljIG1hcmdpbiAoMTBweCkgKi9cbiAgICAgICAgICAgIHdvcmQtYnJlYWs6IGJyZWFrLXdvcmQ7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IC13ZWJraXQtZml0LWNvbnRlbnQ7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IC1tb3otZml0LWNvbnRlbnQ7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IGZpdC1jb250ZW50O1xuICAgICAgICB9XG5cbi5teF9MZWdhY3lDYWxsRXZlbnRfd3JhcHBlciAubXhfTGVnYWN5Q2FsbEV2ZW50IC5teF9MZWdhY3lDYWxsRXZlbnRfY29udGVudCAubXhfTGVnYWN5Q2FsbEV2ZW50X2NvbnRlbnRfYnV0dG9uIHtcbiAgICAgICAgICAgICAgICAtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgICAgICAgICAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1jcGQtZm9udC13ZWlnaHQtc2VtaWJvbGQpO1xuICAgICAgICAgICAgICAgIGhlaWdodDogMS41cmVtO1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjVyZW07XG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICAgICAgfVxuXG4ubXhfTGVnYWN5Q2FsbEV2ZW50X3dyYXBwZXIgLm14X0xlZ2FjeUNhbGxFdmVudCAubXhfTGVnYWN5Q2FsbEV2ZW50X2NvbnRlbnQgLm14X0xlZ2FjeUNhbGxFdmVudF9jb250ZW50X2J1dHRvbiBzcGFuIHtcbiAgICAgICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gICAgICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIH1cblxuLm14X0xlZ2FjeUNhbGxFdmVudF93cmFwcGVyIC5teF9MZWdhY3lDYWxsRXZlbnQgLm14X0xlZ2FjeUNhbGxFdmVudF9jb250ZW50IC5teF9MZWdhY3lDYWxsRXZlbnRfY29udGVudF9idXR0b24gc3Bhbjo6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgICAgICAgICAgIC13ZWJraXQtbWFzay1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICBtYXNrLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICAgICAgICAtd2Via2l0LW1hc2stcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgICAgICAgICAgIG1hc2stcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDhweDtcbiAgICAgICAgfVxuXG4ubXhfTGVnYWN5Q2FsbEV2ZW50X3dyYXBwZXIgLm14X0xlZ2FjeUNhbGxFdmVudCAubXhfTGVnYWN5Q2FsbEV2ZW50X2NvbnRlbnQgLm14X0xlZ2FjeUNhbGxFdmVudF9jb250ZW50X2J1dHRvbiB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMCAxMnB4O1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogaW5oZXJpdDtcbn1cblxuLm14X0xlZ2FjeUNhbGxFdmVudF93cmFwcGVyIC5teF9MZWdhY3lDYWxsRXZlbnQgLm14X0xlZ2FjeUNhbGxFdmVudF9jb250ZW50IC5teF9MZWdhY3lDYWxsRXZlbnRfY29udGVudF9idXR0b24gc3Bhbjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgLXdlYmtpdC1tYXNrLXNpemU6IDE2cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFzay1zaXplOiAxNnB4O1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTZweDtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxNnB4O1xuICAgICAgICAgICAgICAgICAgICAtbXMtZmxleC1uZWdhdGl2ZTogMDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgICAgICAgICAgICAgIH1cblxuLm14X0xlZ2FjeUNhbGxFdmVudF93cmFwcGVyIC5teF9MZWdhY3lDYWxsRXZlbnQgLm14X0xlZ2FjeUNhbGxFdmVudF9jb250ZW50IC5teF9MZWdhY3lDYWxsRXZlbnRfY29udGVudF9idXR0b25fcmVqZWN0IHNwYW46OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgIC13ZWJraXQtbWFzay1pbWFnZTogdXJsKFwiLi4vLi4vLi4vaW1nL2VsZW1lbnQtaWNvbnMvY2FsbC9oYW5ndXAuc3ZnXCIpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hc2staW1hZ2U6IHVybChcIi4uLy4uLy4uL2ltZy9lbGVtZW50LWljb25zL2NhbGwvaGFuZ3VwLnN2Z1wiKTtcbiAgICAgICAgICAgICAgICB9XG5cbi5teF9MZWdhY3lDYWxsRXZlbnRfd3JhcHBlciAubXhfTGVnYWN5Q2FsbEV2ZW50IC5teF9MZWdhY3lDYWxsRXZlbnRfY29udGVudCAubXhfTGVnYWN5Q2FsbEV2ZW50X2NvbnRlbnRfdG9vbHRpcCB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiA1cHg7XG4gICAgICAgICAgICB9XG5cbi5teF9MZWdhY3lDYWxsRXZlbnRfd3JhcHBlciAubXhfTGVnYWN5Q2FsbEV2ZW50Lm14X0xlZ2FjeUNhbGxFdmVudF9uYXJyb3cge1xuICAgICAgICAgICAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcbiAgICAgICAgICAgIC13ZWJraXQtYm94LWRpcmVjdGlvbjogbm9ybWFsO1xuICAgICAgICAgICAgICAgIC1tcy1mbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgLXdlYmtpdC1ib3gtYWxpZ246IGluaXRpYWw7XG4gICAgICAgICAgICAgICAgLW1zLWZsZXgtYWxpZ246IGluaXRpYWw7XG4gICAgICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBpbml0aWFsO1xuICAgICAgICAgICAgZ2FwOiA0cHggMTZweDtcbiAgICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICAgIGhlaWdodDogaW5pdGlhbDtcbiAgICAgICAgICAgIG1pbi13aWR0aDogMjkwcHg7XG4gICAgICAgIH1cblxuLm14X0xlZ2FjeUNhbGxFdmVudF93cmFwcGVyIC5teF9MZWdhY3lDYWxsRXZlbnQubXhfTGVnYWN5Q2FsbEV2ZW50X25hcnJvdyAubXhfTGVnYWN5Q2FsbEV2ZW50X2ljb25CdXR0b24ge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgdG9wOiAxMnB4O1xuICAgICAgICAgICAgICAgIHJpZ2h0OiAxMnB4O1xuICAgICAgICAgICAgICAgIGhlaWdodDogMTZweDtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTZweDtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgfVxuXG4ubXhfTGVnYWN5Q2FsbEV2ZW50X3dyYXBwZXIgLm14X0xlZ2FjeUNhbGxFdmVudC5teF9MZWdhY3lDYWxsRXZlbnRfbmFycm93IC5teF9MZWdhY3lDYWxsRXZlbnRfaW5mbyB7XG4gICAgICAgICAgICAgICAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICB9XG5cbi5teF9FdmVudFRpbGVbZGF0YS1sYXlvdXQ9XCJidWJibGVcIl0gLm14X0V2ZW50VGlsZV9lMmVJY29uICsgLm14X0xlZ2FjeUNhbGxFdmVudF93cmFwcGVyIC5teF9MZWdhY3lDYWxsRXZlbnQge1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICAgICAvKiA1cHggKGdhcCkgKyAxNHB4IChlMmUgaWNvbiBzaXplICogbWFzay1zaXplKSArIDlweCAobWFyZ2luLWxlZnQgb2YgZTJlIGljb24pICovXG4gICAgICAgICAgICByaWdodDogY2FsYyg1cHggKyAxNHB4ICsgOXB4KTtcbiAgICAgICAgfVxuXG4ubXhfRXZlbnRUaWxlX2xlZnRBbGlnbmVkQnViYmxlIC5teF9MZWdhY3lDYWxsRXZlbnRfd3JhcHBlciAubXhfTGVnYWN5Q2FsbEV2ZW50Lm14X0xlZ2FjeUNhbGxFdmVudF9uYXJyb3cge1xuICAgICAgICAgICAgICAgIGdhcDogOHB4IDRweDtcbiAgICAgICAgICAgIH1cblxuLm14X0lSQ0xheW91dCAubXhfTGVnYWN5Q2FsbEV2ZW50X3dyYXBwZXIgLm14X0xlZ2FjeUNhbGxFdmVudCB7XG4gICAgICAgICAgICAtd2Via2l0LW1hcmdpbi1zdGFydDogNHB4O1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4taW5saW5lLXN0YXJ0OiA0cHg7IC8qIGRpc3BsYXkgZ3JlZW4gbGluZSAqL1xuICAgICAgICB9XG5cbi8qXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cbkNvcHlyaWdodCAyMDE3IFZlY3RvciBDcmVhdGlvbnMgTHRkLlxuXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXG4qL1xuXG4ubXhfTUVtb3RlQm9keSB7XG4gICAgd2hpdGUtc3BhY2U6IHByZS13cmFwO1xuICAgIHRleHQtYWxpZ246IHN0YXJ0O1xufVxuXG4ubXhfTUVtb3RlQm9keV9zZW5kZXIge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLypcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxuQ29weXJpZ2h0IDIwMTUtMjAyMSBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxuXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXG4qL1xuXG4ubXhfTUZpbGVCb2R5X2Rvd25sb2FkIHtcbiAgICBjb2xvcjogIzBkYmQ4YjtcbiAgICBjb2xvcjogdmFyKC0tYWNjZW50LWNvbG9yLCAjMGRiZDhiKTtcbiAgICBoZWlnaHQ6IHZhcigtLWNwZC1zcGFjZS05eCk7XG59XG5cbi5teF9NRmlsZUJvZHlfZG93bmxvYWQgb2JqZWN0IHtcbiAgICBtYXJnaW4tbGVmdDogLTE2cHg7XG4gICAgcGFkZGluZy1yaWdodDogNHB4O1xuICAgIG1hcmdpbi10b3A6IC00cHg7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cblxuLyogUmVtb3ZlIHRoZSBib3JkZXIgYW5kIHBhZGRpbmcgZm9yIGlmcmFtZXMgZm9yIGRvd25sb2FkIGxpbmtzLiAqL1xuXG4ubXhfTUZpbGVCb2R5X2Rvd25sb2FkIGlmcmFtZSB7XG4gICAgbWFyZ2luOiAwcHg7XG4gICAgcGFkZGluZzogMHB4O1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICB3aWR0aDogMTAwJTtcbn1cblxuLm14X01GaWxlQm9keV9pbmZvIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi5teF9NRmlsZUJvZHlfaW5mbyAubXhfTUZpbGVCb2R5X2luZm9faWNvbiB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMyMTI2MmM7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXN5c3RlbSwgIzIxMjYyYyk7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDIwcHg7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgd2lkdGg6IDMycHg7XG4gICAgICAgIGhlaWdodDogMzJweDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDEycHg7XG4gICAgfVxuXG4ubXhfTUZpbGVCb2R5X2luZm8gLm14X01GaWxlQm9keV9pbmZvX2ljb246OmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgLXdlYmtpdC1tYXNrLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgICAgICAgICAgICBtYXNrLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgICAgLXdlYmtpdC1tYXNrLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgIG1hc2stcG9zaXRpb246IGNlbnRlcjtcbiAgICAgICAgICAgIC13ZWJraXQtbWFzay1zaXplOiBjb3ZlcjtcbiAgICAgICAgICAgICAgICAgICAgbWFzay1zaXplOiBjb3ZlcjtcbiAgICAgICAgICAgIC13ZWJraXQtbWFzay1pbWFnZTogdXJsKFwiLi4vLi4vLi4vaW1nL2VsZW1lbnQtaWNvbnMvcm9vbS9jb21wb3Nlci9hdHRhY2guc3ZnXCIpO1xuICAgICAgICAgICAgICAgICAgICBtYXNrLWltYWdlOiB1cmwoXCIuLi8uLi8uLi9pbWcvZWxlbWVudC1pY29ucy9yb29tL2NvbXBvc2VyL2F0dGFjaC5zdmdcIik7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWRmM2ZmO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tc2Vjb25kYXJ5LWNvbnRlbnQsICNlZGYzZmYpO1xuICAgICAgICAgICAgd2lkdGg6IDE1cHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDE1cHg7XG5cbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogOHB4O1xuICAgICAgICAgICAgbGVmdDogOHB4O1xuICAgICAgICB9XG5cbi5teF9NRmlsZUJvZHlfaW5mbyAubXhfTUZpbGVCb2R5X2luZm9fZmlsZW5hbWUge1xuICAgICAgICBmb250OiB2YXIoLS1jcGQtZm9udC1ib2R5LW1kLXJlZ3VsYXIpO1xuICAgICAgICBjb2xvcjogdmFyKC0tY3BkLWNvbG9yLXRleHQtcHJpbWFyeSk7XG4gICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAzMnB4IC0gMTJweCk7IC8qIDMycHggaWNvbiwgMTJweCBtYXJnaW4gb24gdGhlIGljb24gKi9cbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICB9XG5cbi8qXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cbkNvcHlyaWdodCAyMDIxIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXG5Db3B5cmlnaHQgMjAxNSwgMjAxNiBPcGVuTWFya2V0IEx0ZFxuXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXG4qL1xuXG4ubXhfTUltYWdlQm9keV9iYW5uZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206IDRweDtcbiAgICBsZWZ0OiA0cHg7XG4gICAgcGFkZGluZzogNHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1NQm9keS1ib3JkZXItcmFkaXVzKTtcbiAgICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xuICAgICAgIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgICAgIC1tcy11c2VyLXNlbGVjdDogbm9uZTtcbiAgICAgICAgICAgIHVzZXItc2VsZWN0OiBub25lOyAvKiBwcmV2ZW50IGJhbm5lciB0ZXh0IGZyb20gYmVpbmcgc2VsZWN0ZWQgKi9cbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTsgLyogbGV0IHRoZSBjdXJzb3IgZ28gdGhyb3VnaCB0byB0aGUgbWVkaWEgdW5kZXJuZWF0aCAqL1xuXG4gICAgLyogVHJ5aW5nIHRvIG1hdGNoIHRoZSB3aWR0aCBvZiB0aGUgaW1hZ2UgaXMgc3VycHJpc2luZ2x5IGRpZmZpY3VsdCwgc28gYXJiaXRyYXJpbHkgYnJlYWsgaXQgb2ZmIGVhcmx5LiAqL1xuICAgIG1heC13aWR0aDogbWluKDEwMCUsIDM1MHB4KTtcblxuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgIC8qIEhhcmRjb2RlZCBjb2xvdXJzIGJlY2F1c2UgaXQncyB0aGUgc2FtZSBvbiBhbGwgdGhlbWVzICovXG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjYpO1xuICAgIGNvbG9yOiAjZmZmZmZmO1xufVxuXG4ubXhfTUltYWdlQm9keV9wbGFjZWhvbGRlciB7XG4gICAgLyogUG9zaXRpb24gdGhlIHBsYWNlaG9sZGVyIG9uIHRvcCBvZiB0aGUgdGh1bWJuYWlsLCBzbyB0aGF0IHRoZSByZXZlYWwgYW5pbWF0aW9uIGNhbiB3b3JrICovXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDA7XG4gICAgdG9wOiAwO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICB3aWR0aDogMTAwJTtcblxuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXRpbWVsaW5lLWJhY2tncm91bmQtY29sb3IpO1xufVxuXG4ubXhfTUltYWdlQm9keV9wbGFjZWhvbGRlciAubXhfQmx1cmhhc2ggPiBjYW52YXMge1xuICAgICAgICAtd2Via2l0LWFuaW1hdGlvbjogbXgtLWFuaW0tcHVsc2UgMS43NXMgaW5maW5pdGUgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC42LCAxKTtcbiAgICAgICAgICAgICAgICBhbmltYXRpb246IG14LS1hbmltLXB1bHNlIDEuNzVzIGluZmluaXRlIGN1YmljLWJlemllcigwLjQsIDAsIDAuNiwgMSk7XG4gICAgfVxuXG4ubXhfTUltYWdlQm9keV90aHVtYm5haWxfY29udGFpbmVyIHtcbiAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tTUJvZHktYm9yZGVyLXJhZGl1cyk7XG5cbiAgICAvKiBOZWNlc3NhcnkgZm9yIHRoZSBib3JkZXIgcmFkaXVzIHRvIGFwcGx5IGNvcnJlY3RseSB0byB0aGUgcGxhY2Vob2xkZXIgKi9cbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGNvbnRhaW46IHBhaW50O1xufVxuXG4ubXhfTUltYWdlQm9keV90aHVtYm5haWwge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgLyogRm9yY2UgdGhlIGltYWdlIHRvIGJlIHRoZSBmdWxsIHNpemUgb2YgdGhlIGNvbnRhaW5lciwgZXZlbiBpZiB0aGUgKi9cbiAgICAvKiBwaXhlbCBzaXplIGlzIHNtYWxsZXIuIFRoZSBwcm9ibGVtIGhlcmUgaXMgdGhhdCB3ZSBkb24ndCBrbm93IHdoYXQgKi9cbiAgICAvKiB0aHVtYm5haWwgc2l6ZSB0aGUgSFMgaXMgZ29pbmcgdG8gZ2l2ZSB1cywgYnV0IHdlIGhhdmUgdG8gY29tbWl0IHRvICovXG4gICAgLyogYSBjb250YWluZXIgc2l6ZSBpbW1lZGlhdGVseSBhbmQgbm90IGNoYW5nZSBpdCB3aGVuIHRoZSBpbWFnZSBsb2FkcyAqL1xuICAgIC8qIG9yIHdlJ2xsIGdldCBhIHNjcm9sbCBqdW1wIChvciBoYXZlIHRvIGxlYXZlIGJsYW5rIHNwYWNlKS4gKi9cbiAgICAvKiBUaGlzIHdpbGwgb2J2aW91c2x5IHJlc3VsdCBpbiBhbiB1cHNjYWxlZCBpbWFnZSB3aGljaCB3aWxsIGJlIGEgYml0ICovXG4gICAgLyogYmx1cnJ5LiBUaGUgYmVzdCBmaXggd291bGQgYmUgZm9yIHRoZSBIUyB0byBhZHZlcnRpc2Ugd2hhdCBzaXplIHRodW1ibmFpbHMgKi9cbiAgICAvKiBpdCBndWFyYW50ZWVzIHRvIHByb2R1Y2UuICovXG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHdpZHRoOiAxMDAlO1xufVxuXG4ubXhfTUltYWdlQm9keV9naWZMYWJlbCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHRvcDogMHB4O1xuICAgIGxlZnQ6IDE0cHg7XG4gICAgcGFkZGluZzogNXB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuNyk7XG4gICAgYm9yZGVyOiAycHggc29saWQgcmdiYSgwLCAwLCAwLCAwLjIpO1xuICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDEpO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuXG4ubXhfSGlkZGVuSW1hZ2VQbGFjZWhvbGRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGluc2V0OiAwO1xuXG4gICAgLyogVG8gY2VudGVyIHRoZSB0ZXh0IGluIHRoZSBtaWRkbGUgb2YgdGhlIGZyYW1lICovXG4gICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gICAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO1xuICAgICAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAtd2Via2l0LWJveC1wYWNrOiBjZW50ZXI7XG4gICAgICAgIC1tcy1mbGV4LXBhY2s6IGNlbnRlcjtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1yb29tbGlzdC1iYWNrZ3JvdW5kLWNvbG9yKTtcbn1cblxuLm14X0hpZGRlbkltYWdlUGxhY2Vob2xkZXIgLm14X0hpZGRlbkltYWdlUGxhY2Vob2xkZXJfYnV0dG9uIHtcbiAgICAgICAgY29sb3I6ICMwZGJkOGI7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1hY2NlbnQtY29sb3IsICMwZGJkOGIpO1xuICAgIH1cblxuLm14X0hpZGRlbkltYWdlUGxhY2Vob2xkZXIgLm14X0hpZGRlbkltYWdlUGxhY2Vob2xkZXJfYnV0dG9uIHNwYW4ubXhfSGlkZGVuSW1hZ2VQbGFjZWhvbGRlcl9leWUge1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiA4cHg7XG5cbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwZGJkOGI7XG5cbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWFjY2VudC1jb2xvciwgIzBkYmQ4Yik7XG4gICAgICAgICAgICAtd2Via2l0LW1hc2staW1hZ2U6IHVybChcIi4uLy4uLy4uL2ltZy9lbGVtZW50LWljb25zL2V5ZS5zdmdcIik7XG4gICAgICAgICAgICAgICAgICAgIG1hc2staW1hZ2U6IHVybChcIi4uLy4uLy4uL2ltZy9lbGVtZW50LWljb25zL2V5ZS5zdmdcIik7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICB3aWR0aDogMThweDtcbiAgICAgICAgICAgIGhlaWdodDogMTRweDtcbiAgICAgICAgfVxuXG4ubXhfSGlkZGVuSW1hZ2VQbGFjZWhvbGRlciAubXhfSGlkZGVuSW1hZ2VQbGFjZWhvbGRlcl9idXR0b24gc3Bhbjpub3QoLm14X0hpZGRlbkltYWdlUGxhY2Vob2xkZXJfZXllKSB7XG4gICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdGV4dC1ib3R0b207XG4gICAgICAgIH1cblxuLm14X0V2ZW50VGlsZTpob3ZlciAubXhfSGlkZGVuSW1hZ2VQbGFjZWhvbGRlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdGltZWxpbmUtYmFja2dyb3VuZC1jb2xvcik7XG59XG5cbi8qXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cbkNvcHlyaWdodCAyMDIwIFR1bGlyIEFzb2thbiA8dHVsaXJAbWF1bml1bS5uZXQ+XG5cblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cbiovXG5cbi5teF9NSW1hZ2VSZXBseUJvZHkge1xuICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgLXdlYmtpdC1jb2x1bW4tZ2FwOiA0cHg7XG4gICAgICAgLW1vei1jb2x1bW4tZ2FwOiA0cHg7XG4gICAgICAgICAgICBjb2x1bW4tZ2FwOiA0cHg7XG59XG5cbi5teF9NSW1hZ2VSZXBseUJvZHkgLm14X01JbWFnZUJvZHlfdGh1bWJuYWlsX2NvbnRhaW5lciB7XG4gICAgICAgIC13ZWJraXQtYm94LWZsZXg6IDE7XG4gICAgICAgICAgICAtbXMtZmxleDogMTtcbiAgICAgICAgICAgICAgICBmbGV4OiAxO1xuICAgICAgICBtaW4td2lkdGg6IDA7IC8qIFByZXZlbnQgYSBibG93b3V0ICovXG4gICAgfVxuXG4vKlxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXG5Db3B5cmlnaHQgMjAyMCBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxuXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXG4qL1xuXG4ubXhfRXZlbnRUaWxlQnViYmxlLm14X01KaXRzaVdpZGdldEV2ZW50OjpiZWZvcmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYTFiMmQxOyAvKiBYWFg6IFZhcmlhYmxlIGFidXNlICovXG4gICAgICAgIC13ZWJraXQtbWFzay1pbWFnZTogdXJsKFwiLi4vLi4vLi4vaW1nL2VsZW1lbnQtaWNvbnMvY2FsbC92aWRlby1jYWxsLnN2Z1wiKTtcbiAgICAgICAgICAgICAgICBtYXNrLWltYWdlOiB1cmwoXCIuLi8uLi8uLi9pbWcvZWxlbWVudC1pY29ucy9jYWxsL3ZpZGVvLWNhbGwuc3ZnXCIpO1xuICAgIH1cblxuLypcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxuQ29weXJpZ2h0IDIwMjEgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cblxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuKi9cblxuLm14X01Mb2NhdGlvbkJvZHkge1xuICAgIG1heC13aWR0aDogMTAwJTtcbn1cblxuLm14X01Mb2NhdGlvbkJvZHkgLm14X01Mb2NhdGlvbkJvZHlfbWFwIHtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICB3aWR0aDogNDUwcHg7XG4gICAgICAgIGhlaWdodDogMzAwcHg7XG4gICAgICAgIHotaW5kZXg6IDA7IC8qIGtlZXBzIHRoZSBlbnRpcmUgbWFwIHVuZGVyIHRoZSBtZXNzYWdlIGFjdGlvbiBiYXIgKi9cblxuICAgICAgICBib3JkZXItcmFkaXVzOiA4cHg7XG5cbiAgICAgICAgYm9yZGVyLXJhZGl1czogdmFyKC0tTUJvZHktYm9yZGVyLXJhZGl1cyk7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB9XG5cbi8qIEluIHRoZSB0aW1lbGluZSwgd2UgZml0IHRoZSB3aWR0aCBvZiB0aGUgY29udGFpbmVyICovXG5cbi5teF9FdmVudFRpbGVfbGluZSAubXhfTUxvY2F0aW9uQm9keSAubXhfTUxvY2F0aW9uQm9keV9tYXAge1xuICAgIG1heC13aWR0aDogNDUwcHg7XG4gICAgd2lkdGg6IDEwMCU7XG59XG5cbi5teF9FdmVudFRpbGVbZGF0YS1sYXlvdXQ9XCJidWJibGVcIl0gLm14X0V2ZW50VGlsZV9saW5lIC5teF9NTG9jYXRpb25Cb2R5IC5teF9NTG9jYXRpb25Cb2R5X21hcCB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIHdpZHRoOiA0NTBweDtcbn1cblxuLm14X0Rpc2FtYmlndWF0ZWRQcm9maWxlIH4gLm14X01Mb2NhdGlvbkJvZHkge1xuICAgIG1hcmdpbi10b3A6IDZweDsgLyogU2VlOiBodHRwczovL2dpdGh1Yi5jb20vbWF0cml4LW9yZy9tYXRyaXgtcmVhY3Qtc2RrL3B1bGwvODQ0MiAqL1xufVxuXG4ubXhfUmVwbHlUaWxlIC5teF9NTG9jYXRpb25Cb2R5IHtcbiAgICAvKiBQcmV2ZW50IGNsaWNraW5nIGEgbG9jYXRpb24gd2l0aGluIGEgcmVwbHkgKi9cbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cblxuLypcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxuQ29weXJpZ2h0IDIwMTUsIDIwMTYgT3Blbk1hcmtldCBMdGRcblxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuKi9cblxuLm14X01Ob3RpY2VCb2R5IHtcbiAgICB3aGl0ZS1zcGFjZTogcHJlLXdyYXA7XG4gICAgY29sb3I6ICNlZGYzZmY7XG4gICAgY29sb3I6IHZhcigtLXNlY29uZGFyeS1jb250ZW50LCAjZWRmM2ZmKTtcbn1cblxuLypcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxuQ29weXJpZ2h0IDIwMjEgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cblxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuKi9cblxuLm14X01Qb2xsQm9keSB7XG4gICAgbWFyZ2luLXRvcDogOHB4O1xufVxuXG4ubXhfTVBvbGxCb2R5IGgyIHtcbiAgICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLWNwZC1mb250LXdlaWdodC1zZW1pYm9sZCk7XG4gICAgICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICAgICAgICBsaW5lLWhlaWdodDogMS41cmVtO1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA4cHg7XG4gICAgfVxuXG4ubXhfTVBvbGxCb2R5IGgyIC5teF9NUG9sbEJvZHlfZWRpdGVkIHtcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS10aW1lbGluZS10ZXh0LWNvbG9yLTUwcGN0KTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgICAgICAgICAgIG9wYWNpdHk6IDAuNjtcbiAgICAgICAgfVxuXG4ubXhfTVBvbGxCb2R5IGgyOjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMnB4O1xuICAgICAgICB0b3A6IDNweDtcbiAgICAgICAgbGVmdDogM3B4O1xuICAgICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWRmM2ZmO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1zZWNvbmRhcnktY29udGVudCwgI2VkZjNmZik7XG4gICAgICAgIC13ZWJraXQtbWFzay1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgICAgICAgICBtYXNrLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAtd2Via2l0LW1hc2stc2l6ZTogY29udGFpbjtcbiAgICAgICAgICAgICAgICBtYXNrLXNpemU6IGNvbnRhaW47XG4gICAgICAgIC13ZWJraXQtbWFzay1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgICAgICAgICAgIG1hc2stcG9zaXRpb246IGNlbnRlcjtcbiAgICAgICAgLXdlYmtpdC1tYXNrLWltYWdlOiB1cmwoXCIuLi8uLi8uLi9pbWcvZWxlbWVudC1pY29ucy9yb29tL2NvbXBvc2VyL3BvbGwuc3ZnXCIpO1xuICAgICAgICAgICAgICAgIG1hc2staW1hZ2U6IHVybChcIi4uLy4uLy4uL2ltZy9lbGVtZW50LWljb25zL3Jvb20vY29tcG9zZXIvcG9sbC5zdmdcIik7XG4gICAgfVxuXG4ubXhfTVBvbGxCb2R5IC5teF9NUG9sbEJvZHlfdG90YWxWb3RlcyB7XG4gICAgICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICAgICAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcbiAgICAgICAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiBub3JtYWw7XG4gICAgICAgICAgICAtbXMtZmxleC1kaXJlY3Rpb246IGlubGluZTtcbiAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogaW5saW5lO1xuICAgICAgICAtd2Via2l0LWJveC1wYWNrOiBzdGFydDtcbiAgICAgICAgICAgIC1tcy1mbGV4LXBhY2s6IHN0YXJ0O1xuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3RhcnQ7XG4gICAgICAgIGNvbG9yOiAjZWRmM2ZmO1xuICAgICAgICBjb2xvcjogdmFyKC0tc2Vjb25kYXJ5LWNvbnRlbnQsICNlZGYzZmYpO1xuICAgICAgICBmb250LXNpemU6IDAuNzVyZW07XG4gICAgfVxuXG4ubXhfTVBvbGxCb2R5IC5teF9NUG9sbEJvZHlfdG90YWxWb3RlcyAubXhfU3Bpbm5lciB7XG4gICAgICAgICAgICAtd2Via2l0LWJveC1mbGV4OiAwO1xuICAgICAgICAgICAgICAgIC1tcy1mbGV4OiAwO1xuICAgICAgICAgICAgICAgICAgICBmbGV4OiAwO1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDhweDtcbiAgICAgICAgfVxuXG4vKiBQcmV2ZW50IGNsaWNraW5nIGEgcG9sbCB3aXRoaW4gYSByZXBseSAqL1xuXG4ubXhfUmVwbHlUaWxlIC5teF9NUG9sbEJvZHkge1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuXG4ubXhfTVBvbGxCb2R5X2FsbE9wdGlvbnMge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC1nYXA6IDE2cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogOHB4O1xuICAgIG1heC13aWR0aDogNTUwcHg7XG59XG5cbi8qXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cbkNvcHlyaWdodCAyMDIzIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXG5cblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cbiovXG5cbi5teF9NUG9sbEVuZEJvZHlfaWNvbiB7XG4gICAgaGVpZ2h0OiAxNHB4O1xuICAgIG1hcmdpbi1yaWdodDogOHB4O1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgY29sb3I6ICNlZGYzZmY7XG4gICAgY29sb3I6IHZhcigtLXNlY29uZGFyeS1jb250ZW50LCAjZWRmM2ZmKTtcbn1cblxuLypcbkNvcHlyaWdodCAyMDE4LTIwMjQgTmV3IFZlY3RvciBMdGQuXG5cblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cbiovXG5cbi5teF9NU3RpY2tlckJvZHlfd3JhcHBlciB7XG4gICAgcGFkZGluZzogMTJweCAwcHg7XG59XG5cbi5teF9NU3RpY2tlckJvZHlfaGlkZGVuIHtcbiAgICBtYXgtd2lkdGg6IDIyMHB4O1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAvKiBUbyBjZW50ZXIgdGhlIHRleHQgaW4gdGhlIG1pZGRsZSBvZiB0aGUgZnJhbWUgKi9cbiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIC13ZWJraXQtYm94LXBhY2s6IGNlbnRlcjtcbiAgICAgICAgLW1zLWZsZXgtcGFjazogY2VudGVyO1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG5cbi5teF9NU3RpY2tlckJvZHlfcGxhY2Vob2xkZXIge1xuICAgIC8qIGNlbnRlcmluZyAqL1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiBjYWxjKDUwJSAtIDQwcHgpO1xuICAgIHRvcDogY2FsYyg1MCUgLSA0MHB4KTtcbn1cblxuLypcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxuQ29weXJpZ2h0IDIwMTUsIDIwMTYgT3Blbk1hcmtldCBMdGRcblxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuKi9cblxuLm14X01UZXh0Qm9keSB7XG4gICAgd2hpdGUtc3BhY2U6IHByZS13cmFwO1xufVxuXG4vKlxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXG5Db3B5cmlnaHQgMjAyMCwgMjAyMSBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxuXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXG4qL1xuXG5zcGFuLm14X01WaWRlb0JvZHkge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbnNwYW4ubXhfTVZpZGVvQm9keSAubXhfTVZpZGVvQm9keV9jb250YWluZXIge1xuICAgICAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLU1Cb2R5LWJvcmRlci1yYWRpdXMpO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIH1cblxuc3Bhbi5teF9NVmlkZW9Cb2R5IC5teF9NVmlkZW9Cb2R5X2NvbnRhaW5lciB2aWRlbyB7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuXG4vKlxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXG5Db3B5cmlnaHQgMjAyMSBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxuXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXG4qL1xuXG4vKiBBIFwibWVkaWEgYm9keVwiIGlzIGFueSBmaWxlIHVwbG9hZCBsb29raW5nIHRoaW5nLCBhcGFydCBmcm9tIGltYWdlcyBhbmQgdmlkZW9zICh0aGV5ICovXG5cbi8qIGhhdmUgdW5pcXVlIHN0eWxlcykuICovXG5cbi5teF9NZWRpYUJvZHkge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXBhbmVscywgdmFyKC0tY3BkLWNvbG9yLWdyYXktNjAwKSk7XG4gICAgYm9yZGVyLXJhZGl1czogMTJweDtcbiAgICBtYXgtd2lkdGg6IDI0M3B4OyAvKiB1c2UgbWF4LXdpZHRoIGluc3RlYWQgb2Ygd2lkdGggc28gaXQgZml0cyB3aXRoaW4gcmlnaHQgcGFuZWxzICovXG5cbiAgICBjb2xvcjogI2VkZjNmZjtcblxuICAgIGNvbG9yOiB2YXIoLS1zZWNvbmRhcnktY29udGVudCwgI2VkZjNmZik7XG4gICAgZm9udDogdmFyKC0tY3BkLWZvbnQtYm9keS1tZC1yZWd1bGFyKTtcbiAgICBsaW5lLWhlaWdodDogMS41cmVtO1xuXG4gICAgcGFkZGluZzogNnB4IDEycHg7XG59XG5cbi8qXG5Db3B5cmlnaHQgMjAxOS0yMDI0IE5ldyBWZWN0b3IgTHRkLlxuQ29weXJpZ2h0IDIwMTkgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cblxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuKi9cblxuLm14X01lc3NhZ2VBY3Rpb25CYXIge1xuICAgIC0tTWVzc2FnZUFjdGlvbkJhci1zaXplLWJ1dHRvbjogMjhweDtcbiAgICAtLU1lc3NhZ2VBY3Rpb25CYXItc2l6ZS1ib3g6IDMycHg7IC8qIDI4cHggKyAycHggKG1hcmdpbikgKiAyICovXG4gICAgLS1NZXNzYWdlQWN0aW9uQmFyLWl0ZW0taG92ZXItYmFja2dyb3VuZDogdmFyKC0tY3BkLWNvbG9yLWJnLXN1YnRsZS1zZWNvbmRhcnkpO1xuICAgIC0tTWVzc2FnZUFjdGlvbkJhci1pdGVtLWhvdmVyLWJvcmRlclJhZGl1czogNnB4O1xuICAgIC0tTWVzc2FnZUFjdGlvbkJhci1pdGVtLWhvdmVyLXpJbmRleDogMTtcblxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgaGVpZ2h0OiAzMnB4O1xuICAgIGhlaWdodDogdmFyKC0tTWVzc2FnZUFjdGlvbkJhci1zaXplLWJveCk7XG4gICAgbGluZS1oZWlnaHQ6IDEuNXJlbTtcbiAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tdGltZWxpbmUtYmFja2dyb3VuZC1jb2xvcik7XG4gICAgYm9yZGVyOiB2YXIoLS1jcGQtYm9yZGVyLXdpZHRoLTEpIHNvbGlkIHZhcigtLWNwZC1jb2xvci1ib3JkZXItZGlzYWJsZWQpO1xuICAgIHRvcDogLTMycHg7XG4gICAgcmlnaHQ6IDhweDtcbiAgICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xuICAgICAgIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgICAgIC1tcy11c2VyLXNlbGVjdDogbm9uZTtcbiAgICAgICAgICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgIC8qIEVuc3VyZSB0aGUgYWN0aW9uIGJhciBhcHBlYXJzIGFib3ZlIG90aGVyIHRoaW5ncyBsaWtlIHRoZSByZWFkIG1hcmtlciAqL1xuICAgIC8qIGFuZCBzZW5kZXIgYXZhdGFyIChmb3Igc21hbGwgc2NyZWVucykgKi9cbiAgICB6LWluZGV4OiAxMDtcblxuICAgIC8qIEFkZHMgYSBwcmV2aW91cyBldmVudCBzYWZlIGFyZWEgc28gdGhhdCB5b3UgY2FuJ3QgYWNjaWRlbnRhbGx5IGhvdmVyIHRoZSAqL1xuICAgIC8qIHByZXZpb3VzIGV2ZW50IHdoaWxlIHRyeWluZyB0byBtb3VzZSBpbnRvIHRoZSBhY3Rpb24gYmFyIG9yIGZyb20gdGhlICovXG59XG5cbi8qIHJlYWN0IGJ1dHRvbiB0byBpdHMgdG9vbHRpcC4gKi9cblxuLm14X01lc3NhZ2VBY3Rpb25CYXI6OmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgLyogdG9vbHRpcCBzYWZlIG1vdXNpbmcgYXJlYSArIHRvb2x0aXAgb3ZlcmhhbmcgKyAqL1xuICAgICAgICAvKiBhY3Rpb24gYmFyICsgYWN0aW9uIGJhciBvZmZzZXQgZnJvbSBldmVudCAqL1xuICAgICAgICB3aWR0aDogY2FsYygxMHB4ICsgNDhweCArIDEwMCUgKyA4cHgpO1xuICAgICAgICAvKiBzYWZlIGFyZWEgKyBhY3Rpb24gYmFyICovXG4gICAgICAgIGhlaWdodDogY2FsYygyMHB4ICsgMTAwJSk7XG4gICAgICAgIHRvcDogLTEycHg7XG4gICAgICAgIGxlZnQ6IC01OHB4O1xuICAgICAgICB6LWluZGV4OiAtMTtcbiAgICAgICAgY3Vyc29yOiBhdXRvO1xuICAgICAgICBjdXJzb3I6IGluaXRpYWw7XG5cbiAgICAgICAgLyogc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIG1heC1saW5lLWxlbmd0aCAqL1xuICAgIH1cblxuLm14X0dlbmVyaWNFdmVudExpc3RTdW1tYXJ5W2RhdGEtbGF5b3V0PVwiYnViYmxlXCJdXG4gICAgICAgICAgICAubXhfR2VuZXJpY0V2ZW50TGlzdFN1bW1hcnlfdG9nZ2xlXG4gICAgICAgICAgICB+IC5teF9HZW5lcmljRXZlbnRMaXN0U3VtbWFyeV91bnN0eWxlZExpc3RcbiAgICAgICAgICAgIC5teF9FdmVudFRpbGVfaW5mbzpmaXJzdC1vZi10eXBlXG4gICAgICAgICAgICAubXhfTWVzc2FnZUFjdGlvbkJhcjo6YmVmb3JlIHtcbiAgICAgICAgICAgIC8qIGltcHJvdmUgY2xpY2thYmlsaXR5IG9mIFwiY29sbGFwc2VcIiBsaW5rIGJ1dHRvbiBvbiBidWJibGUgbGF5b3V0IGJ5IHJlZHVjaW5nIHdpZHRoIGFuZCBoZWlnaHQgdmFsdWVzICovXG4gICAgICAgICAgICAvKiBteF9HZW5lcmljRXZlbnRMaXN0U3VtbWFyeV90b2dnbGUgfjogdG8gYXBwbHkgcnVsZXMgdG8gYWN0aW9uIGJhciB3aGVuIFwiY29sbGFwc2VcIiBidXR0b24gaXMgYXZhaWxhYmxlICovXG4gICAgICAgICAgICAvKiBteF9FdmVudFRpbGVfaW5mbzpmaXJzdC1vZi10eXBlOiB0byBhcHBseSBydWxlcyB0byB0aGUgaW5mbyBldmVudCB0aWxlIGp1c3QgdW5kZXIgXCJjb2xsYXBzZVwiIGJ1dHRvbiAqL1xuICAgICAgICAgICAgLyogVE9ETzogdXNlIGEgbmV3IGNsYXNzIG5hbWUgaW5zdGVhZCAqL1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB9XG5cbi5teF9FdmVudFRpbGVfaW5mbyAubXhfVmlld1NvdXJjZUV2ZW50IH4gLm14X01lc3NhZ2VBY3Rpb25CYXI6OmJlZm9yZSB7XG4gICAgICAgICAgICAvKiBpbXByb3ZlIGNsaWNrYWJpbGl0eSBvZiB2aWV3IHNvdXJjZSBldmVudCB0b2dnbGUgYnV0dG9uIGJ5IHJlbW92aW5nIHZlcnRpY2FsIHNhZmUgYXJlYSAqL1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB9XG5cbi5teF9NZXNzYWdlQWN0aW9uQmFyID4gKiB7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBtYXJnaW46IDJweDtcbiAgICB9XG5cbi5teF9NZXNzYWdlQWN0aW9uQmFyID4gKjpob3ZlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1NZXNzYWdlQWN0aW9uQmFyLWl0ZW0taG92ZXItYmFja2dyb3VuZCk7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1NZXNzYWdlQWN0aW9uQmFyLWl0ZW0taG92ZXItYm9yZGVyUmFkaXVzKTtcbiAgICAgICAgICAgIHotaW5kZXg6IHZhcigtLU1lc3NhZ2VBY3Rpb25CYXItaXRlbS1ob3Zlci16SW5kZXgpO1xuICAgICAgICB9XG5cbi5teF9NZXNzYWdlQWN0aW9uQmFyIC5teF9NZXNzYWdlQWN0aW9uQmFyX2ljb25CdXR0b24ge1xuICAgICAgICAtLU1lc3NhZ2VBY3Rpb25CYXItaWNvbi1zaXplOiAxOHB4O1xuICAgICAgICB3aWR0aDogdmFyKC0tTWVzc2FnZUFjdGlvbkJhci1zaXplLWJ1dHRvbik7XG4gICAgICAgIGhlaWdodDogdmFyKC0tTWVzc2FnZUFjdGlvbkJhci1zaXplLWJ1dHRvbik7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jcGQtY29sb3ItaWNvbi1zZWNvbmRhcnkpO1xuICAgICAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgICAgICAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIC13ZWJraXQtYm94LXBhY2s6IGNlbnRlcjtcbiAgICAgICAgICAgIC1tcy1mbGV4LXBhY2s6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICB9XG5cbi5teF9NZXNzYWdlQWN0aW9uQmFyIC5teF9NZXNzYWdlQWN0aW9uQmFyX2ljb25CdXR0b24gc3ZnIHtcbiAgICAgICAgICAgIGhlaWdodDogdmFyKC0tTWVzc2FnZUFjdGlvbkJhci1pY29uLXNpemUpO1xuICAgICAgICAgICAgd2lkdGg6IHZhcigtLU1lc3NhZ2VBY3Rpb25CYXItaWNvbi1zaXplKTtcbiAgICAgICAgICAgIC13ZWJraXQtYm94LWZsZXg6IDA7XG4gICAgICAgICAgICAgICAgLW1zLWZsZXg6IDAgMCB2YXIoLS1NZXNzYWdlQWN0aW9uQmFyLWljb24tc2l6ZSk7XG4gICAgICAgICAgICAgICAgICAgIGZsZXg6IDAgMCB2YXIoLS1NZXNzYWdlQWN0aW9uQmFyLWljb24tc2l6ZSk7XG4gICAgICAgIH1cblxuLm14X01lc3NhZ2VBY3Rpb25CYXIgLm14X01lc3NhZ2VBY3Rpb25CYXJfaWNvbkJ1dHRvbjpkaXNhYmxlZCxcbiAgICAgICAgLm14X01lc3NhZ2VBY3Rpb25CYXIgLm14X01lc3NhZ2VBY3Rpb25CYXJfaWNvbkJ1dHRvbltkaXNhYmxlZF0ge1xuICAgICAgICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgICAgICAgICAgIG9wYWNpdHk6IDAuNzU7XG4gICAgICAgIH1cblxuLm14X01lc3NhZ2VBY3Rpb25CYXIgLm14X01lc3NhZ2VBY3Rpb25CYXJfaWNvbkJ1dHRvbjpob3ZlciB7XG4gICAgICAgICAgICBjb2xvcjogdmFyKC0tY3BkLWNvbG9yLWljb24tcHJpbWFyeSk7XG4gICAgICAgIH1cblxuLm14X01lc3NhZ2VBY3Rpb25CYXIgLm14X01lc3NhZ2VBY3Rpb25CYXJfaWNvbkJ1dHRvbi5teF9NZXNzYWdlQWN0aW9uQmFyX3RocmVhZEJ1dHRvbiB7XG4gICAgICAgICAgICAtLU1lc3NhZ2VBY3Rpb25CYXItaWNvbi1zaXplOiAyMHB4O1xuICAgICAgICB9XG5cbi5teF9NZXNzYWdlQWN0aW9uQmFyIC5teF9NZXNzYWdlQWN0aW9uQmFyX2ljb25CdXR0b24ubXhfTWVzc2FnZUFjdGlvbkJhcl9yZXRyeUJ1dHRvbiB7XG4gICAgICAgICAgICAtLU1lc3NhZ2VBY3Rpb25CYXItaWNvbi1zaXplOiAxNnB4O1xuICAgICAgICB9XG5cbi5teF9NZXNzYWdlQWN0aW9uQmFyIC5teF9NZXNzYWdlQWN0aW9uQmFyX2ljb25CdXR0b24ubXhfTWVzc2FnZUFjdGlvbkJhcl9kb3dubG9hZEJ1dHRvbiB7XG4gICAgICAgICAgICAtLU1lc3NhZ2VBY3Rpb25CYXItaWNvbi1zaXplOiAyMHB4O1xuICAgICAgICB9XG5cbi5teF9NZXNzYWdlQWN0aW9uQmFyIC5teF9NZXNzYWdlQWN0aW9uQmFyX2ljb25CdXR0b24ubXhfTWVzc2FnZUFjdGlvbkJhcl9kb3dubG9hZEJ1dHRvbi5teF9NZXNzYWdlQWN0aW9uQmFyX2Rvd25sb2FkU3Bpbm5lckJ1dHRvbiBzdmcge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lOyAvKiBoaWRlIHRoZSBkb3dubG9hZCBpY29uICovXG4gICAgICAgICAgICAgICAgfVxuXG4ubXhfTWVzc2FnZUFjdGlvbkJhciAubXhfTWVzc2FnZUFjdGlvbkJhcl9pY29uQnV0dG9uLm14X01lc3NhZ2VBY3Rpb25CYXJfZXhwYW5kQ29sbGFwc2VNZXNzYWdlQnV0dG9uIHtcbiAgICAgICAgICAgIC0tTWVzc2FnZUFjdGlvbkJhci1pY29uLXNpemU6IDEycHg7XG4gICAgICAgIH1cblxuLm14X01lc3NhZ2VBY3Rpb25CYXIgLm14X01lc3NhZ2VBY3Rpb25CYXJfb3B0aW9uc0J1dHRvbiB7XG4gICAgICAgIC0tTWVzc2FnZUFjdGlvbkJhci1pY29uLXNpemU6IDIycHg7XG4gICAgfVxuXG4vKlxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXG5Db3B5cmlnaHQgMjAxNSwgMjAxNiBPcGVuTWFya2V0IEx0ZFxuXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXG4qL1xuXG46cm9vdCB7XG4gICAgLS1NZXNzYWdlVGltZXN0YW1wLXdpZHRoOiA0NnB4OyAvKiA4ICsgMzAgKGF2YXRhcikgKyA4ICovXG4gICAgLS1NZXNzYWdlVGltZXN0YW1wLW1heC13aWR0aDogODBweDtcbiAgICAtLU1lc3NhZ2VUaW1lc3RhbXAtY29sb3I6ICNhMWIyZDE7XG59XG5cbi5teF9NZXNzYWdlVGltZXN0YW1wIHtcbiAgICBjb2xvcjogI2ExYjJkMTtcbiAgICBjb2xvcjogdmFyKC0tTWVzc2FnZVRpbWVzdGFtcC1jb2xvcik7XG4gICAgZm9udC1zaXplOiAwLjYyNXJlbTtcbiAgICAtd2Via2l0LWZvbnQtZmVhdHVyZS1zZXR0aW5nczogXCJ0bnVtXCI7XG4gICAgICAgICAgICBmb250LWZlYXR1cmUtc2V0dGluZ3M6IFwidG51bVwiO1xuICAgIGZvbnQtdmFyaWFudC1udW1lcmljOiB0YWJ1bGFyLW51bXM7XG4gICAgZGlzcGxheTogYmxvY2s7IC8qIGVuYWJsZSB0aGUgd2lkdGggc2V0dGluZyBiZWxvdyAqL1xuICAgIHdpZHRoOiA0NnB4O1xuICAgIHdpZHRoOiB2YXIoLS1NZXNzYWdlVGltZXN0YW1wLXdpZHRoKTtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgICAgLW1vei11c2VyLXNlbGVjdDogbm9uZTtcbiAgICAgICAgLW1zLXVzZXItc2VsZWN0OiBub25lO1xuICAgICAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7XG59XG5cbi5teF9NZXNzYWdlVGltZXN0YW1wX2xhdGVJY29uIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDEwMCU7XG4gICAgdG9wOiA1MCU7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgY29sb3I6IGluaGVyaXQ7XG59XG5cbi8qXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cbkNvcHlyaWdodCAyMDE5IFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXG5cblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cbiovXG5cbi5teF9Nam9sbmlyQm9keSB7XG4gICAgb3BhY2l0eTogMC40O1xufVxuXG4vKlxuICogQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXG4gKlxuICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXG4gKiBQbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuICovXG5cbi5teF9QaW5uZWRNZXNzYWdlQmFkZ2Uge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogdmFyKC0tY3BkLXNwYWNlLTF4KTtcblxuICAgIHBhZGRpbmc6IHZhcigtLWNwZC1zcGFjZS0xeCkgdmFyKC0tY3BkLXNwYWNlLTN4KSB2YXIoLS1jcGQtc3BhY2UtMXgpIHZhcigtLWNwZC1zcGFjZS0xeCk7XG4gICAgZm9udDogdmFyKC0tY3BkLWZvbnQtYm9keS14cy1tZWRpdW0pO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNwZC1jb2xvci1hbHBoYS1ncmF5LTIwMCk7XG4gICAgY29sb3I6IHZhcigtLWNwZC1jb2xvci10ZXh0LXNlY29uZGFyeSk7XG5cbiAgICBib3JkZXItcmFkaXVzOiA5OXB4O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNwZC1jb2xvci1hbHBoYS1ncmF5LTQwMCk7XG59XG5cbi5teF9QaW5uZWRNZXNzYWdlQmFkZ2Ugc3ZnIHtcbiAgICAgICAgZmlsbDogdmFyKC0tY3BkLWNvbG9yLWljb24tc2Vjb25kYXJ5KTtcbiAgICB9XG5cbi8qXG5Db3B5cmlnaHQgMjAxOS0yMDI0IE5ldyBWZWN0b3IgTHRkLlxuXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXG4qL1xuXG4ubXhfUmVhY3Rpb25zUm93IHtcbiAgICBjb2xvcjogdmFyKC0tY3BkLWNvbG9yLXRleHQtcHJpbWFyeSk7XG59XG5cbi5teF9SZWFjdGlvbnNSb3cgLm14X1JlYWN0aW9uc1Jvd19hZGRSZWFjdGlvbkJ1dHRvbiB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47IC8qIHNob3cgb24gaG92ZXIgb2YgdGhlIC5teF9FdmVudFRpbGUgKi9cbiAgICAgICAgd2lkdGg6IDI0cHg7XG4gICAgICAgIGhlaWdodDogMjRweDtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDRweDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiA0cHg7XG4gICAgfVxuXG4ubXhfUmVhY3Rpb25zUm93IC5teF9SZWFjdGlvbnNSb3dfYWRkUmVhY3Rpb25CdXR0b246OmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAtd2Via2l0LW1hc2stc2l6ZTogMTZweDtcbiAgICAgICAgICAgICAgICAgICAgbWFzay1zaXplOiAxNnB4O1xuICAgICAgICAgICAgLXdlYmtpdC1tYXNrLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgICAgICAgICAgICBtYXNrLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgICAgLXdlYmtpdC1tYXNrLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgIG1hc2stcG9zaXRpb246IGNlbnRlcjtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNlZGYzZmY7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS10ZXJ0aWFyeS1jb250ZW50LCAjZWRmM2ZmKTtcbiAgICAgICAgICAgIC13ZWJraXQtbWFzay1pbWFnZTogdXJsKFwiLi4vLi4vLi4vaW1nL2VsZW1lbnQtaWNvbnMvcm9vbS9tZXNzYWdlLWJhci9lbW9qaS5zdmdcIik7XG4gICAgICAgICAgICAgICAgICAgIG1hc2staW1hZ2U6IHVybChcIi4uLy4uLy4uL2ltZy9lbGVtZW50LWljb25zL3Jvb20vbWVzc2FnZS1iYXIvZW1vamkuc3ZnXCIpO1xuICAgICAgICB9XG5cbi5teF9SZWFjdGlvbnNSb3cgLm14X1JlYWN0aW9uc1Jvd19hZGRSZWFjdGlvbkJ1dHRvbi5teF9SZWFjdGlvbnNSb3dfYWRkUmVhY3Rpb25CdXR0b25fYWN0aXZlIHtcbiAgICAgICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7IC8qIGtlZXAgc2hvd2luZyB3aGlsc3QgdGhlIGNvbnRleHQgbWVudSBpcyBzaG93biAqL1xuICAgICAgICB9XG5cbi5teF9SZWFjdGlvbnNSb3cgLm14X1JlYWN0aW9uc1Jvd19hZGRSZWFjdGlvbkJ1dHRvbjpob3Zlcjo6YmVmb3JlLCAubXhfUmVhY3Rpb25zUm93IC5teF9SZWFjdGlvbnNSb3dfYWRkUmVhY3Rpb25CdXR0b24ubXhfUmVhY3Rpb25zUm93X2FkZFJlYWN0aW9uQnV0dG9uX2FjdGl2ZTo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS10aW1lbGluZS10ZXh0LWNvbG9yKTtcbiAgICAgICAgICAgIH1cblxuLm14X0V2ZW50VGlsZTpob3ZlciAubXhfUmVhY3Rpb25zUm93X2FkZFJlYWN0aW9uQnV0dG9uIHtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xufVxuXG4ubXhfUmVhY3Rpb25zUm93X3Nob3dBbGwge1xuICAgIGNvbG9yOiAjZWRmM2ZmO1xuICAgIGNvbG9yOiB2YXIoLS10ZXJ0aWFyeS1jb250ZW50LCAjZWRmM2ZmKTtcbn1cblxuLm14X1JlYWN0aW9uc1Jvd19zaG93QWxsLm14X0FjY2Vzc2libGVCdXR0b25fa2luZF9saW5rX2lubGluZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjVyZW07XG4gICAgICAgIC13ZWJraXQtbWFyZ2luLXN0YXJ0OiA0cHg7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWlubGluZS1zdGFydDogNHB4O1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIH1cblxuLm14X1JlYWN0aW9uc1Jvd19zaG93QWxsLm14X0FjY2Vzc2libGVCdXR0b25fa2luZF9saW5rX2lubGluZTpob3ZlciB7XG4gICAgICAgICAgICBjb2xvcjogdmFyKC0tdGltZWxpbmUtdGV4dC1jb2xvcik7XG4gICAgICAgIH1cblxuLypcbkNvcHlyaWdodCAyMDE5LTIwMjQgTmV3IFZlY3RvciBMdGQuXG5cblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cbiovXG5cbi5teF9SZWFjdGlvbnNSb3dCdXR0b24ge1xuICAgIGRpc3BsYXk6IC13ZWJraXQtaW5saW5lLWJveDtcbiAgICBkaXNwbGF5OiAtbXMtaW5saW5lLWZsZXhib3g7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgbGluZS1oZWlnaHQ6IDEuMjVyZW07XG4gICAgcGFkZGluZzogMXB4IDZweDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jcGQtY29sb3ItZ3JheS00MDApO1xuICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY3BkLWNvbG9yLWdyYXktMjAwKTtcbiAgICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xuICAgICAgIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgICAgIC1tcy11c2VyLXNlbGVjdDogbm9uZTtcbiAgICAgICAgICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG4ubXhfUmVhY3Rpb25zUm93QnV0dG9uLm14X1JlYWN0aW9uc1Jvd0J1dHRvbl9zZWxlY3RlZCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWFjY2VudC1jb2xvci0zMDApO1xuICAgICAgICBib3JkZXItY29sb3I6IHZhcigtLWFjY2VudC1jb2xvci04MDApO1xuICAgIH1cblxuLm14X1JlYWN0aW9uc1Jvd0J1dHRvbi5teF9BY2Nlc3NpYmxlQnV0dG9uX2Rpc2FibGVkIHtcbiAgICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgICB9XG5cbi5teF9SZWFjdGlvbnNSb3dCdXR0b24gLm14X1JlYWN0aW9uc1Jvd0J1dHRvbl9jb250ZW50IHtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDBweDtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDRweDtcbiAgICB9XG5cbi8qXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cbkNvcHlyaWdodCAyMDIwIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXG5cblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cbiovXG5cbi5teF9SZWRhY3RlZEJvZHkge1xuICAgIHdoaXRlLXNwYWNlOiBwcmUtd3JhcDtcbiAgICBjb2xvcjogI2VkZjNmZjtcbiAgICBjb2xvcjogdmFyKC0tc2Vjb25kYXJ5LWNvbnRlbnQsICNlZGYzZmYpO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5cbiAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4ubXhfUmVkYWN0ZWRCb2R5OjpiZWZvcmUge1xuICAgICAgICBoZWlnaHQ6IDE0cHg7XG4gICAgICAgIHdpZHRoOiAxNHB4O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pY29uLWJ1dHRvbi1jb2xvciwgdmFyKC0tY3BkLWNvbG9yLWljb24tdGVydGlhcnkpKTtcbiAgICAgICAgLXdlYmtpdC1tYXNrLWltYWdlOiB1cmwoXCJAdmVjdG9yLWltL2NvbXBvdW5kLWRlc2lnbi10b2tlbnMvaWNvbnMvZGVsZXRlLnN2Z1wiKTtcbiAgICAgICAgICAgICAgICBtYXNrLWltYWdlOiB1cmwoXCJAdmVjdG9yLWltL2NvbXBvdW5kLWRlc2lnbi10b2tlbnMvaWNvbnMvZGVsZXRlLnN2Z1wiKTtcbiAgICAgICAgLXdlYmtpdC1tYXNrLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgICAgICAgIG1hc2stcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgIC13ZWJraXQtbWFzay1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgICAgICAgICAgIG1hc2stcG9zaXRpb246IGNlbnRlcjtcbiAgICAgICAgLXdlYmtpdC1tYXNrLXNpemU6IGNvbnRhaW47XG4gICAgICAgICAgICAgICAgbWFzay1zaXplOiBjb250YWluO1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMXB4O1xuICAgICAgICBsZWZ0OiAwO1xuICAgIH1cblxuLypcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxuQ29weXJpZ2h0IDIwMTcgVmVjdG9yIENyZWF0aW9ucyBMdGRcblxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuKi9cblxuLm14X1Jvb21BdmF0YXJFdmVudF9hdmF0YXIge1xuICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAzcHg7XG59XG5cbi8qXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cbkNvcHlyaWdodCAyMDE1LCAyMDE2IE9wZW5NYXJrZXQgTHRkXG5cblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cbiovXG5cbi5teF9UZXh0dWFsRXZlbnQge1xuICAgIG92ZXJmbG93LXk6IGhpZGRlbjtcbiAgICBsaW5lLWhlaWdodDogbm9ybWFsO1xufVxuXG4ubXhfVGV4dHVhbEV2ZW50IGEge1xuICAgICAgICBjb2xvcjogIzBkYmQ4YjtcbiAgICAgICAgY29sb3I6IHZhcigtLWFjY2VudC1jb2xvciwgIzBkYmQ4Yik7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB9XG5cbi5teF9Sb29tVmlld19zZWFyY2hSZXN1bHRzUGFuZWwgLm14X1RleHR1YWxFdmVudCB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIG9wYWNpdHk6IGluaXRpYWw7IC8qIFVuc2V0IHRoZSBvcGFjaXR5IHZhbHVlIHNwZWNpZmllZCBhYm92ZSBvbiB0aGUgc2VhcmNoIHJlc3VsdHMgcGFuZWwgKi9cbiAgICB9XG5cbi8qXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cbkNvcHlyaWdodCAyMDE3IFZlY3RvciBDcmVhdGlvbnMgTHRkXG5cblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cbiovXG5cbi5teF9UaW1lbGluZVNlcGFyYXRvciB7XG4gICAgY2xlYXI6IGJvdGg7XG4gICAgbWFyZ2luOiA0cHggMDtcbiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGZvbnQ6IHZhcigtLWNwZC1mb250LWJvZHktbWQtcmVndWxhcik7XG4gICAgY29sb3I6IHZhcigtLWNwZC1jb2xvci10ZXh0LXByaW1hcnkpO1xufVxuXG4ubXhfVGltZWxpbmVTZXBhcmF0b3IgPiBociB7XG4gICAgLXdlYmtpdC1ib3gtZmxleDogMTtcbiAgICAgICAgLW1zLWZsZXg6IDEgMSAwcHg7XG4gICAgICAgICAgICBmbGV4OiAxIDEgMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1jcGQtY29sb3ItZ3JheS00MDApO1xufVxuXG4vKlxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXG5Db3B5cmlnaHQgMjAxNSwgMjAxNiBPcGVuTWFya2V0IEx0ZFxuXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXG4qL1xuXG4ubXhfVW5rbm93bkJvZHkge1xuICAgIHdoaXRlLXNwYWNlOiBwcmUtd3JhcDtcbn1cblxuLypcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxuQ29weXJpZ2h0IDIwMTkgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cblxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuKi9cblxuLm14X0V2ZW50VGlsZV9jb250ZW50Lm14X1ZpZXdTb3VyY2VFdmVudCB7XG4gICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gICAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBvcGFjaXR5OiAwLjY7XG4gICAgZm9udC1zaXplOiAwLjc1cmVtO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG92ZXJmbG93LXg6IGF1dG87IC8qIENhbmNlbCBvdmVyZmxvdyBzZXR0aW5nIG9mIC5teF9FdmVudFRpbGVfY29udGVudCAqL1xuICAgIGxpbmUtaGVpZ2h0OiBub3JtYWw7IC8qIEFsaWduIHdpdGggYXZhdGFyIGFuZCBFMkUgaWNvbiAqL1xufVxuXG4ubXhfRXZlbnRUaWxlX2NvbnRlbnQubXhfVmlld1NvdXJjZUV2ZW50IHByZSxcbiAgICAubXhfRXZlbnRUaWxlX2NvbnRlbnQubXhfVmlld1NvdXJjZUV2ZW50IGNvZGUge1xuICAgICAgICAtd2Via2l0LWJveC1mbGV4OiAxO1xuICAgICAgICAgICAgLW1zLWZsZXg6IDE7XG4gICAgICAgICAgICAgICAgZmxleDogMTtcbiAgICB9XG5cbi5teF9FdmVudFRpbGVfY29udGVudC5teF9WaWV3U291cmNlRXZlbnQgcHJlIHtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgICAgICAgbWFyZ2luOiAzLjVweCAwO1xuICAgIH1cblxuLm14X0V2ZW50VGlsZV9jb250ZW50Lm14X1ZpZXdTb3VyY2VFdmVudCAubXhfVmlld1NvdXJjZUV2ZW50X3RvZ2dsZSB7XG4gICAgICAgIC0tVmlld1NvdXJjZUV2ZW50X3RvZ2dsZS1zaXplOiAxNnB4O1xuXG4gICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgICAgLyogaWNvbiAqL1xuICAgICAgICB3aWR0aDogMTZweDtcbiAgICAgICAgd2lkdGg6IHZhcigtLVZpZXdTb3VyY2VFdmVudF90b2dnbGUtc2l6ZSk7XG4gICAgICAgIG1pbi13aWR0aDogMTZweDtcbiAgICAgICAgbWluLXdpZHRoOiB2YXIoLS1WaWV3U291cmNlRXZlbnRfdG9nZ2xlLXNpemUpO1xuICAgIH1cblxuLm14X0V2ZW50VGlsZV9jb250ZW50Lm14X1ZpZXdTb3VyY2VFdmVudCAubXhfVmlld1NvdXJjZUV2ZW50X3RvZ2dsZSBzdmcge1xuICAgICAgICAgICAgY29sb3I6ICMwZGJkOGI7XG4gICAgICAgICAgICBjb2xvcjogdmFyKC0tYWNjZW50LWNvbG9yLCAjMGRiZDhiKTtcbiAgICAgICAgICAgIHdpZHRoOiB2YXIoLS1WaWV3U291cmNlRXZlbnRfdG9nZ2xlLXNpemUpO1xuICAgICAgICAgICAgaGVpZ2h0OiB2YXIoLS1WaWV3U291cmNlRXZlbnRfdG9nZ2xlLXNpemUpO1xuICAgICAgICB9XG5cbi5teF9FdmVudFRpbGU6aG92ZXIgLm14X0V2ZW50VGlsZV9jb250ZW50Lm14X1ZpZXdTb3VyY2VFdmVudCAubXhfVmlld1NvdXJjZUV2ZW50X3RvZ2dsZSB7XG4gICAgICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgICAgICB9XG5cbi5teF9FdmVudFRpbGVfY29udGVudC5teF9WaWV3U291cmNlRXZlbnQubXhfVmlld1NvdXJjZUV2ZW50X2V4cGFuZGVkIC5teF9WaWV3U291cmNlRXZlbnRfdG9nZ2xlIHtcbiAgICAgICAgLW1zLWZsZXgtaXRlbS1hbGlnbjogZW5kO1xuICAgICAgICAgICAgYWxpZ24tc2VsZjogZmxleC1lbmQ7XG4gICAgICAgIGhlaWdodDogdmFyKC0tVmlld1NvdXJjZUV2ZW50X3RvZ2dsZS1zaXplKTtcbiAgICB9XG5cbi8qXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cbkNvcHlyaWdodCAyMDE5LCAyMDIwIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXG5cblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cbiovXG5cbi5teF9FdmVudFRpbGVCdWJibGUubXhfY3J5cHRvRXZlbnQge1xuICAgIG1hcmdpbjogdmFyKC0tRXZlbnRUaWxlQnViYmxlX21hcmdpbi1ibG9jaykgYXV0bztcbn1cblxuLyogd2hpdGUgaW5maWxsIGZvciB0aGUgdHJhbnNwYXJlbmN5ICovXG5cbi5teF9FdmVudFRpbGVCdWJibGUubXhfY3J5cHRvRXZlbnQubXhfY3J5cHRvRXZlbnRfaWNvbjo6YmVmb3JlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgLXdlYmtpdC1tYXNrLWltYWdlOiB1cmwoXCIuLi8uLi8uLi9pbWcvZTJlL25vcm1hbC5zdmdcIik7XG4gICAgICAgICAgICAgICAgbWFzay1pbWFnZTogdXJsKFwiLi4vLi4vLi4vaW1nL2UyZS9ub3JtYWwuc3ZnXCIpO1xuICAgICAgICAtd2Via2l0LW1hc2stcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgICAgICAgbWFzay1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgLXdlYmtpdC1tYXNrLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgbWFzay1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgICAtd2Via2l0LW1hc2stc2l6ZTogODAlO1xuICAgICAgICAgICAgICAgIG1hc2stc2l6ZTogODAlO1xuICAgIH1cblxuLm14X0V2ZW50VGlsZUJ1YmJsZS5teF9jcnlwdG9FdmVudC5teF9jcnlwdG9FdmVudF9pY29uOjphZnRlciB7XG4gICAgICAgIC13ZWJraXQtbWFzay1pbWFnZTogdXJsKFwiLi4vLi4vLi4vaW1nL2UyZS9ub3JtYWwuc3ZnXCIpO1xuICAgICAgICAgICAgICAgIG1hc2staW1hZ2U6IHVybChcIi4uLy4uLy4uL2ltZy9lMmUvbm9ybWFsLnN2Z1wiKTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ExYjJkMTtcbiAgICB9XG5cbi5teF9FdmVudFRpbGVCdWJibGUubXhfY3J5cHRvRXZlbnQubXhfY3J5cHRvRXZlbnRfaWNvbl92ZXJpZmllZDo6YWZ0ZXIge1xuICAgICAgICAtd2Via2l0LW1hc2staW1hZ2U6IHVybChcIi4uLy4uLy4uL2ltZy9lMmUvdmVyaWZpZWQuc3ZnXCIpO1xuICAgICAgICAgICAgICAgIG1hc2staW1hZ2U6IHVybChcIi4uLy4uLy4uL2ltZy9lMmUvdmVyaWZpZWQuc3ZnXCIpO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMGRiZDhiO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1hY2NlbnQtY29sb3IsICMwZGJkOGIpO1xuICAgIH1cblxuLm14X0V2ZW50VGlsZUJ1YmJsZS5teF9jcnlwdG9FdmVudC5teF9jcnlwdG9FdmVudF9pY29uX3dhcm5pbmc6OmFmdGVyIHtcbiAgICAgICAgLXdlYmtpdC1tYXNrLWltYWdlOiB1cmwoXCIuLi8uLi8uLi9pbWcvZTJlL3dhcm5pbmcuc3ZnXCIpO1xuICAgICAgICAgICAgICAgIG1hc2staW1hZ2U6IHVybChcIi4uLy4uLy4uL2ltZy9lMmUvd2FybmluZy5zdmdcIik7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZjViNTU7XG4gICAgfVxuXG4ubXhfRXZlbnRUaWxlQnViYmxlLm14X2NyeXB0b0V2ZW50IC5teF9jcnlwdG9FdmVudF9zdGF0ZSxcbiAgICAubXhfRXZlbnRUaWxlQnViYmxlLm14X2NyeXB0b0V2ZW50IC5teF9jcnlwdG9FdmVudF9idXR0b25zIHtcbiAgICAgICAgZ3JpZC1jb2x1bW46IDM7XG4gICAgICAgIGdyaWQtcm93OiAxIC8gMztcbiAgICB9XG5cbi5teF9FdmVudFRpbGVCdWJibGUubXhfY3J5cHRvRXZlbnQgLm14X2NyeXB0b0V2ZW50X2J1dHRvbnMge1xuICAgICAgICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgICAgICAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGdhcDogNXB4O1xuICAgIH1cblxuLm14X0V2ZW50VGlsZUJ1YmJsZS5teF9jcnlwdG9FdmVudCAubXhfY3J5cHRvRXZlbnRfc3RhdGUge1xuICAgICAgICB3aWR0aDogMTMwcHg7XG4gICAgICAgIHBhZGRpbmc6IDEwcHggMjBweDtcbiAgICAgICAgbWFyZ2luOiBhdXRvIDA7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgY29sb3I6ICNlZGYzZmY7XG4gICAgICAgIGNvbG9yOiB2YXIoLS10ZXJ0aWFyeS1jb250ZW50LCAjZWRmM2ZmKTtcbiAgICAgICAgb3ZlcmZsb3ctd3JhcDogYnJlYWstd29yZDtcbiAgICAgICAgZm9udC1zaXplOiAwLjc1cmVtO1xuICAgIH1cblxuLypcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxuQ29weXJpZ2h0IDIwMjMgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cblxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuKi9cblxuLm14X1BvbGxIaXN0b3J5X2NvbnRlbnQge1xuICAgIGhlaWdodDogNjAwcHg7XG4gICAgd2lkdGg6IDEwMCU7XG5cbiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcblxuICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuXG4gICAgZGlzcGxheTogZmxleDtcbiAgICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xuICAgIC13ZWJraXQtYm94LWRpcmVjdGlvbjogbm9ybWFsO1xuICAgICAgICAtbXMtZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG59XG5cbi5teF9Qb2xsSGlzdG9yeV9oZWFkZXIubXhfSGVhZGluZ19oMiB7XG4gICAgbWFyZ2luLWJvdHRvbTogMTZweDtcbn1cblxuLypcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxuQ29weXJpZ2h0IDIwMjMgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cblxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuKi9cblxuLm14X1BvbGxIaXN0b3J5TGlzdCB7XG4gICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gICAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xuICAgIC13ZWJraXQtYm94LWRpcmVjdGlvbjogbm9ybWFsO1xuICAgICAgICAtbXMtZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgLXdlYmtpdC1ib3gtZmxleDogMTtcbiAgICAgICAgLW1zLWZsZXg6IDEgMSBhdXRvO1xuICAgICAgICAgICAgZmxleDogMSAxIGF1dG87XG4gICAgbWF4LWhlaWdodDogMTAwJTtcbn1cblxuLm14X1BvbGxIaXN0b3J5TGlzdF9saXN0IHtcbiAgICBvdmVyZmxvdzogYXV0bztcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIG1hcmdpbi1ibG9jazogMDtcbiAgICBwYWRkaW5nLWlubGluZTogMDtcbiAgICAtd2Via2l0LWJveC1mbGV4OiAxO1xuICAgICAgICAtbXMtZmxleDogMSAxIDBweDtcbiAgICAgICAgICAgIGZsZXg6IDEgMSAwO1xuICAgIC1tcy1mbGV4LWxpbmUtcGFjazogc3RhcnQ7XG4gICAgICAgIGFsaWduLWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLWdhcDogMjBweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiA2NHB4O1xuICAgIG1hcmdpbjogMzJweCAwO1xufVxuXG4ubXhfUG9sbEhpc3RvcnlMaXN0X2xpc3QubXhfUG9sbEhpc3RvcnlMaXN0X2xpc3RfRU5ERUQge1xuICAgICAgICBncmlkLWdhcDogMzJweDtcbiAgICB9XG5cbi5teF9Qb2xsSGlzdG9yeUxpc3Rfbm9SZXN1bHRzIHtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBwYWRkaW5nOiAwIDY0cHg7XG4gICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gICAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xuICAgIC13ZWJraXQtYm94LWRpcmVjdGlvbjogbm9ybWFsO1xuICAgICAgICAtbXMtZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgLXdlYmtpdC1ib3gtcGFjazogY2VudGVyO1xuICAgICAgICAtbXMtZmxleC1wYWNrOiBjZW50ZXI7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICBsaW5lLWhlaWdodDogMS41cmVtO1xuICAgIGNvbG9yOiAjZWRmM2ZmO1xuICAgIGNvbG9yOiB2YXIoLS1zZWNvbmRhcnktY29udGVudCwgI2VkZjNmZik7XG59XG5cbi5teF9Qb2xsSGlzdG9yeUxpc3Rfbm9SZXN1bHRzIC5teF9Qb2xsSGlzdG9yeUxpc3RfbG9hZE1vcmVQb2xscyB7XG4gICAgICAgIG1hcmdpbi10b3A6IDE2cHg7XG4gICAgfVxuXG4ubXhfUG9sbEhpc3RvcnlMaXN0X2xvYWRpbmcge1xuICAgIGNvbG9yOiAjZWRmM2ZmO1xuICAgIGNvbG9yOiB2YXIoLS1zZWNvbmRhcnktY29udGVudCwgI2VkZjNmZik7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgLyogY2VudGVyIGluIGFsbCBmcmVlIHNwYWNlKi9cbn1cblxuLyogd2hlbiB0aGVyZSBhcmUgbm8gcmVzdWx0cyovXG5cbi5teF9Qb2xsSGlzdG9yeUxpc3RfbG9hZGluZy5teF9Qb2xsSGlzdG9yeUxpc3Rfbm9SZXN1bHRzWWV0IHtcbiAgICAgICAgbWFyZ2luOiBhdXRvIGF1dG87XG4gICAgfVxuXG4ubXhfUG9sbEhpc3RvcnlMaXN0X2xvYWRNb3JlUG9sbHMge1xuICAgIHdpZHRoOiAtd2Via2l0LW1heC1jb250ZW50O1xuICAgIHdpZHRoOiAtbW96LW1heC1jb250ZW50O1xuICAgIHdpZHRoOiBtYXgtY29udGVudDtcbn1cblxuLypcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxuQ29weXJpZ2h0IDIwMjAgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cblxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuKi9cblxuLm14X0Jhc2VDYXJkIHtcbiAgICAtLUJhc2VDYXJkX0V2ZW50VGlsZV9saW5lLXBhZGRpbmctYmxvY2s6IDJweDtcbiAgICAtLUJhc2VDYXJkX0V2ZW50VGlsZS1zcGFjaW5nLWlubGluZTogMzZweDtcbiAgICAtLUJhc2VDYXJkX2hlYWRlci1idXR0b24tc2l6ZTogMjhweDtcblxuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gICAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xuICAgIC13ZWJraXQtYm94LWRpcmVjdGlvbjogbm9ybWFsO1xuICAgICAgICAtbXMtZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgLXdlYmtpdC1ib3gtZmxleDogMTtcbiAgICAgICAgLW1zLWZsZXg6IDE7XG4gICAgICAgICAgICBmbGV4OiAxO1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tY3BkLWZvbnQtc2l6ZS1ib2R5LW1kKTtcbn1cblxuLm14X0Jhc2VDYXJkIC5teF9CYXNlQ2FyZF9oZWFkZXIge1xuICAgICAgICBoZWlnaHQ6IDY0cHg7XG4gICAgICAgIHBhZGRpbmc6IHZhcigtLWNwZC1zcGFjZS00eCk7XG4gICAgICAgIC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICAvKiBjaGFuZ2luZyB0aGUgY29sb3IgZnJvbSAkc2VwYXJhdG9yIHRvIHRyYW5zcGFyZW50IGFzIGl0IGlzXG4gICAgICAgICAgIHRoZSBiZXN0IHZpc3VhbCBvdXRwdXQgZHVyaW5nIHRoZSB0cmFuc2l0aW9uIHBlcmlvZC4gVGhpcyB3aWxsIGJlXG4gICAgICAgICAgIHJlaW50cm9kdWNlZCBhdCBhIGxhdGVyIHN0YWdlLiAqL1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICAgICAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgLXdlYmtpdC1ib3gtcGFjazoganVzdGlmeTtcbiAgICAgICAgICAgIC1tcy1mbGV4LXBhY2s6IGp1c3RpZnk7XG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICBnYXA6IHZhcigtLWNwZC1zcGFjZS0zeCk7XG4gICAgICAgIC1tcy1mbGV4LW5lZ2F0aXZlOiAwO1xuICAgICAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICAgIC13ZWJraXQtYm9yZGVyLWFmdGVyOiB2YXIoLS1jcGQtYm9yZGVyLXdpZHRoLTEpIHNvbGlkIHZhcigtLWNwZC1jb2xvci1ncmF5LTQwMCk7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWJsb2NrLWVuZDogdmFyKC0tY3BkLWJvcmRlci13aWR0aC0xKSBzb2xpZCB2YXIoLS1jcGQtY29sb3ItZ3JheS00MDApO1xuICAgIH1cblxuLm14X0Jhc2VDYXJkIC5teF9CYXNlQ2FyZF9oZWFkZXIgLm14X0Jhc2VDYXJkX2hlYWRlcl9zcGFjZXIge1xuICAgICAgICAgICAgLXdlYmtpdC1ib3gtZmxleDogMTtcbiAgICAgICAgICAgICAgICAtbXMtZmxleDogMTtcbiAgICAgICAgICAgICAgICAgICAgZmxleDogMTtcbiAgICAgICAgfVxuXG4ubXhfQmFzZUNhcmQgLm14X0Jhc2VDYXJkX2hlYWRlciA+IGgyIHtcbiAgICAgICAgICAgIG1hcmdpbjogMCA0NHB4O1xuICAgICAgICAgICAgZm9udDogdmFyKC0tY3BkLWZvbnQtYm9keS1zbS1zZW1pYm9sZCk7XG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICB9XG5cbi5teF9CYXNlQ2FyZCAubXhfQmFzZUNhcmRfaGVhZGVyIC5teF9CYXNlQ2FyZF9oZWFkZXJfdGl0bGUge1xuICAgICAgICAgICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gICAgICAgICAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICAtd2Via2l0LWJveC1wYWNrOiBqdXN0aWZ5O1xuICAgICAgICAgICAgICAgIC1tcy1mbGV4LXBhY2s6IGp1c3RpZnk7XG4gICAgICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgICAgIGhlaWdodDogMjRweDtcbiAgICAgICAgICAgIC13ZWJraXQtYm94LWZsZXg6IDE7XG4gICAgICAgICAgICAgICAgLW1zLWZsZXg6IDE7XG4gICAgICAgICAgICAgICAgICAgIGZsZXg6IDE7XG4gICAgICAgIH1cblxuLm14X0Jhc2VDYXJkIC5teF9CYXNlQ2FyZF9oZWFkZXIgLm14X0Jhc2VDYXJkX2hlYWRlcl90aXRsZSAubXhfQmFzZUNhcmRfaGVhZGVyX3RpdGxlX2hlYWRpbmcge1xuICAgICAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICAgICAgICAgICAgICBmb250OiB2YXIoLS1jcGQtZm9udC1ib2R5LW1kLW1lZGl1bSk7XG4gICAgICAgICAgICAgICAgY29sb3I6IHZhcigtLWNwZC1jb2xvci10ZXh0LXNlY29uZGFyeSk7XG4gICAgICAgICAgICB9XG5cbi5teF9CYXNlQ2FyZCAubXhfQmFzZUNhcmRfaGVhZGVyIC5teF9CYXNlQ2FyZF9oZWFkZXJfdGl0bGUgLm14X0Jhc2VDYXJkX2hlYWRlcl90aXRsZV9idXR0b24tLW9wdGlvbiB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgIHdpZHRoOiB2YXIoLS1CYXNlQ2FyZF9oZWFkZXItYnV0dG9uLXNpemUpO1xuICAgICAgICAgICAgICAgIGhlaWdodDogdmFyKC0tQmFzZUNhcmRfaGVhZGVyLWJ1dHRvbi1zaXplKTtcbiAgICAgICAgICAgIH1cblxuLm14X0Jhc2VDYXJkIC5teF9CYXNlQ2FyZF9oZWFkZXIgLm14X0Jhc2VDYXJkX2hlYWRlcl90aXRsZSAubXhfQmFzZUNhcmRfaGVhZGVyX3RpdGxlX2J1dHRvbi0tb3B0aW9uOjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgICAgaW5zZXQtYmxvY2stc3RhcnQ6IDA7XG4gICAgICAgICAgICAgICAgICAgIGluc2V0LWlubGluZS1zdGFydDogMDtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgLXdlYmtpdC1tYXNrLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hc2stcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgICAgICAgICAgIC13ZWJraXQtbWFzay1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hc2stcG9zaXRpb246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgLXdlYmtpdC1tYXNrLWltYWdlOiB1cmwoXCJAdmVjdG9yLWltL2NvbXBvdW5kLWRlc2lnbi10b2tlbnMvaWNvbnMvb3ZlcmZsb3ctaG9yaXpvbnRhbC5zdmdcIik7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFzay1pbWFnZTogdXJsKFwiQHZlY3Rvci1pbS9jb21wb3VuZC1kZXNpZ24tdG9rZW5zL2ljb25zL292ZXJmbG93LWhvcml6b250YWwuc3ZnXCIpO1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWRmM2ZmO1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1zZWNvbmRhcnktY29udGVudCwgI2VkZjNmZik7XG4gICAgICAgICAgICAgICAgfVxuXG4ubXhfQmFzZUNhcmQgLm14X0Jhc2VDYXJkX2hlYWRlciAubXhfQmFzZUNhcmRfaGVhZGVyX3RpdGxlIC5teF9CYXNlQ2FyZF9oZWFkZXJfdGl0bGVfYnV0dG9uLS1vcHRpb246aG92ZXI6OmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdGltZWxpbmUtdGV4dC1jb2xvcik7XG4gICAgICAgICAgICAgICAgfVxuXG4ubXhfQmFzZUNhcmQgLm14X0F1dG9IaWRlU2Nyb2xsYmFyIHtcbiAgICAgICAgbWluLWhlaWdodDogMDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgc2Nyb2xsYmFyLWd1dHRlcjogc3RhYmxlO1xuICAgIH1cblxuLm14X0Jhc2VDYXJkIC5teF9CYXNlQ2FyZF9mb290ZXIge1xuICAgICAgICBwYWRkaW5nLXRvcDogNHB4O1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICAgICAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgLW1zLWZsZXgtcGFjazogZGlzdHJpYnV0ZTtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kO1xuICAgIH1cblxuLm14X0Jhc2VDYXJkIC5teF9CYXNlQ2FyZF9mb290ZXIgLm14X0FjY2Vzc2libGVCdXR0b25fa2luZF9zZWNvbmRhcnkge1xuICAgICAgICAgICAgY29sb3I6ICNlZGYzZmY7XG4gICAgICAgICAgICBjb2xvcjogdmFyKC0tc2Vjb25kYXJ5LWNvbnRlbnQsICNlZGYzZmYpO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxNDEsIDE1MSwgMTY1LCAwLjIpO1xuICAgICAgICAgICAgZm9udDogdmFyKC0tY3BkLWZvbnQtYm9keS1tZC1zZW1pYm9sZCk7XG4gICAgICAgIH1cblxuLm14X0Jhc2VDYXJkIC5teF9CYXNlQ2FyZF9mb290ZXIgLm14X0FjY2Vzc2libGVCdXR0b25fZGlzYWJsZWQge1xuICAgICAgICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgICAgICAgfVxuXG4ubXhfQ29udGV4dHVhbE1lbnVfd3JhcHBlci5teF9CYXNlQ2FyZF9oZWFkZXJfdGl0bGUgLm14X0NvbnRleHR1YWxNZW51IHtcbiAgICAgICAgcG9zaXRpb246IHN0YXRpYztcbiAgICAgICAgcG9zaXRpb246IGluaXRpYWw7XG4gICAgfVxuXG4ubXhfQ29udGV4dHVhbE1lbnVfd3JhcHBlci5teF9CYXNlQ2FyZF9oZWFkZXJfdGl0bGUgLm14X0NvbnRleHR1YWxNZW51IHNwYW46Zmlyc3Qtb2YtdHlwZSB7XG4gICAgICAgICAgICBmb250LXdlaWdodDogdmFyKC0tY3BkLWZvbnQtd2VpZ2h0LXNlbWlib2xkKTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS10aW1lbGluZS10ZXh0LWNvbG9yKTtcbiAgICAgICAgfVxuXG4ubXhfQ29udGV4dHVhbE1lbnVfd3JhcHBlci5teF9CYXNlQ2FyZF9oZWFkZXJfdGl0bGUgLm14X0NvbnRleHR1YWxNZW51IHtcblxuICAgICAgICBmb250OiB2YXIoLS1jcGQtZm9udC1ib2R5LXNtLXJlZ3VsYXIpO1xuICAgICAgICBjb2xvcjogdmFyKC0tdGltZWxpbmUtdGV4dC1jb2xvcik7XG4gICAgICAgIHBhZGRpbmctdG9wOiAxMHB4O1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTBweDtcblxuICAgICAgICBib3JkZXI6IHZhcigtLWNwZC1ib3JkZXItd2lkdGgtMSkgc29saWQgdmFyKC0tY3BkLWNvbG9yLWJvcmRlci1pbnRlcmFjdGl2ZS1zZWNvbmRhcnkpO1xuICAgICAgICAtd2Via2l0LWJveC1zaGFkb3c6IDBweCA0cHggMjRweCByZ2JhKDAsIDAsIDAsIDAuMSk7XG4gICAgICAgICAgICAgICAgYm94LXNoYWRvdzogMHB4IDRweCAyNHB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcbn1cblxuLm14X0NvbnRleHR1YWxNZW51X3dyYXBwZXIubXhfQmFzZUNhcmRfaGVhZGVyX3RpdGxlIC5teF9Db250ZXh0dWFsTWVudV9jaGV2cm9uX3RvcCB7XG4gICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICAgIHJpZ2h0OiAyMnB4O1xuICAgICAgICBib3JkZXItYm90dG9tLWNvbG9yOiB2YXIoLS1jcGQtY29sb3ItYm9yZGVyLWludGVyYWN0aXZlLXNlY29uZGFyeSk7XG4gICAgfVxuXG4ubXhfQ29udGV4dHVhbE1lbnVfd3JhcHBlci5teF9CYXNlQ2FyZF9oZWFkZXJfdGl0bGUgLm14X0NvbnRleHR1YWxNZW51X2NoZXZyb25fdG9wOjphZnRlciB7XG4gICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgYm9yZGVyOiBpbmhlcml0O1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogdmFyKC0tY3BkLWNvbG9yLWJnLWNhbnZhcy1kZWZhdWx0KTtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogMXB4O1xuICAgICAgICAgICAgbGVmdDogLThweDtcbiAgICAgICAgfVxuXG4vKlxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXG5Db3B5cmlnaHQgMjAyNCBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxuXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXG4qL1xuXG4ubXhfRW1wdHlTdGF0ZSB7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgcGFkZGluZzogdmFyKC0tY3BkLXNwYWNlLTR4KTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5teF9FbXB0eVN0YXRlIHN2ZyB7XG4gICAgICAgIHdpZHRoOiA1NnB4O1xuICAgICAgICBoZWlnaHQ6IDU2cHg7XG4gICAgICAgIC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgICAgIHBhZGRpbmc6IHZhcigtLWNwZC1zcGFjZS0zeCk7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXJvb21saXN0LWhpZ2hsaWdodHMtY29sb3IpO1xuICAgIH1cblxuLm14X0VtcHR5U3RhdGU6OmJlZm9yZSB7XG4gICAgICAgIC8qIEJsb29tIHVzaW5nIG1hZ2ljIG51bWJlcnMgZGlyZWN0bHkgb3V0IG9mIEZpZ21hICovXG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgei1pbmRleDogLTE7XG4gICAgICAgIHdpZHRoOiA2NDJweDtcbiAgICAgICAgaGVpZ2h0OiA3NzVweDtcbiAgICAgICAgcmlnaHQ6IC0yNTMuNzdweDtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBiYWNrZ3JvdW5kOiByYWRpYWwtZ3JhZGllbnQoNDkuOTUlIDQ5Ljk1JSBhdCA1MCUgNTAlLCByZ2JhKDEzLCAxODksIDEzOSwgMC4xMikgMCUsIHJnYmEoMTgsIDExNSwgMjM1LCAwKSAxMDAlKTtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgtODkuNjlkZWcpO1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC04OS42OWRlZyk7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgfVxuXG4vKlxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXG5Db3B5cmlnaHQgMjAyMCBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxuXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXG4qL1xuXG4ubXhfRW5jcnlwdGlvbkluZm9fc3Bpbm5lciAubXhfU3Bpbm5lciB7XG4gICAgICAgIG1hcmdpbi10b3A6IDI1cHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gICAgfVxuXG4ubXhfRW5jcnlwdGlvbkluZm9fc3Bpbm5lciB7XG5cbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi8qXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cbkNvcHlyaWdodCAyMDI0IFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXG5cblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cbiovXG5cbi5teF9FeHRlbnNpb25zQ2FyZCB7XG4gICAgLS1jcGQtc2VwYXJhdG9yLWluc2V0OiB2YXIoLS1jcGQtc3BhY2UtNHgpO1xuICAgIC0tY3BkLXNlcGFyYXRvci1zcGFjaW5nOiB2YXIoLS1jcGQtc3BhY2UtNHgpO1xufVxuXG4ubXhfRXh0ZW5zaW9uc0NhcmQgLm14X0F1dG9IaWRlU2Nyb2xsYmFyIHtcbiAgICAgICAgcGFkZGluZzogMCB2YXIoLS1jcGQtc3BhY2UtNHgpO1xuICAgICAgICBtYXJnaW4tdG9wOiB2YXIoLS1jcGQtc3BhY2UtM3gpO1xuICAgICAgICAtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICB9XG5cbi8qIFN0eWxpbmcgZm9yIHRoZSBcIkFkZCBleHRlbnNpb25zXCIgYnV0dG9uICovXG5cbi5teF9FeHRlbnNpb25zQ2FyZCAubXhfQXV0b0hpZGVTY3JvbGxiYXIgPiBidXR0b24ge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cblxuLm14X0V4dGVuc2lvbnNDYXJkIC5teF9FeHRlbnNpb25zQ2FyZF9jb250YWluZXIge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIG1hcmdpbjogMjBweCB2YXIoLS1jcGQtc3BhY2UtNHgpIDA7XG4gICAgfVxuXG4ubXhfRXh0ZW5zaW9uc0NhcmQgLm14X0V4dGVuc2lvbnNDYXJkX0J1dHRvbiB7XG4gICAgICAgIC8qIHRoaXMgYnV0dG9uIGlzIHNwZWNpYWwgc28gd2UgaGF2ZSB0byBvdmVycmlkZSBzb21lIG9mIHRoZSBvcmlnaW5hbCBzdHlsaW5nICovXG4gICAgICAgIC8qIGFzIHdlIHdpbGwgYmUgYXBwbHlpbmcgaXQgaW4gaXRzIGNoaWxkcmVuICovXG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgY29sb3I6ICNlZGYzZmY7XG4gICAgICAgIGNvbG9yOiB2YXIoLS10ZXJ0aWFyeS1jb250ZW50LCAjZWRmM2ZmKTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIH1cblxuLm14X0V4dGVuc2lvbnNDYXJkIC5teF9FeHRlbnNpb25zQ2FyZF9CdXR0b24gLm14X1dpZGdldEF2YXRhciB7XG4gICAgICAgICAgICAtbXMtZmxleC1uZWdhdGl2ZTogMDtcbiAgICAgICAgICAgICAgICBmbGV4LXNocmluazogMDtcbiAgICAgICAgfVxuXG4ubXhfRXh0ZW5zaW9uc0NhcmQgLm14X0V4dGVuc2lvbnNDYXJkX0J1dHRvbiAubXhfRXh0ZW5zaW9uc0NhcmRfaWNvbl9hcHAge1xuICAgICAgICAgICAgcGFkZGluZzogdmFyKC0tY3BkLXNwYWNlLTJ4KSB2YXIoLS1jcGQtc3BhY2UtMTJ4KSB2YXIoLS1jcGQtc3BhY2UtMngpIHZhcigtLWNwZC1zcGFjZS0zeCk7XG4gICAgICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgICAgICAgICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgfVxuXG4ubXhfRXh0ZW5zaW9uc0NhcmQgLm14X0V4dGVuc2lvbnNDYXJkX0J1dHRvbiAubXhfRXh0ZW5zaW9uc0NhcmRfaWNvbl9hcHAgcCB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIHZhcigtLWNwZC1zcGFjZS0zeCk7XG4gICAgICAgICAgICAgICAgY29sb3I6IHZhcigtLXRpbWVsaW5lLXRleHQtY29sb3IpO1xuICAgICAgICAgICAgfVxuXG4ubXhfRXh0ZW5zaW9uc0NhcmQgLm14X0V4dGVuc2lvbnNDYXJkX0J1dHRvbiAubXhfRXh0ZW5zaW9uc0NhcmRfYXBwX3BpblRvZ2dsZSxcbiAgICAgICAgLm14X0V4dGVuc2lvbnNDYXJkIC5teF9FeHRlbnNpb25zQ2FyZF9CdXR0b24gLm14X0V4dGVuc2lvbnNDYXJkX2FwcF9vcHRpb25zIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTsgLyogdG8gZ2l2ZSBiaWdnZXIgaW50ZXJhY3RpdmUgem9uZSAqL1xuICAgICAgICAgICAgd2lkdGg6IDI0cHg7XG4gICAgICAgICAgICBwYWRkaW5nOiB2YXIoLS1jcGQtc3BhY2UtM3gpIHZhcigtLWNwZC1zcGFjZS0xeCk7XG4gICAgICAgICAgICAtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgICAgICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgICAgICBtaW4td2lkdGg6IDI0cHg7IC8qIHByZXZlbnQgZmxleGJveCBjcnVzaGluZyAqL1xuICAgICAgICB9XG5cbi5teF9FeHRlbnNpb25zQ2FyZCAubXhfRXh0ZW5zaW9uc0NhcmRfQnV0dG9uIC5teF9FeHRlbnNpb25zQ2FyZF9hcHBfcGluVG9nZ2xlOmhvdmVyOjphZnRlciwgLm14X0V4dGVuc2lvbnNDYXJkIC5teF9FeHRlbnNpb25zQ2FyZF9CdXR0b24gLm14X0V4dGVuc2lvbnNDYXJkX2FwcF9vcHRpb25zOmhvdmVyOjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAyNHB4O1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMjRweDtcbiAgICAgICAgICAgICAgICAgICAgdG9wOiB2YXIoLS1jcGQtc3BhY2UtMngpOyAvKiBlcXVhbCB0byBwYWRkaW5nLXRvcCBvZiBwYXJlbnQgKi9cbiAgICAgICAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMTJweDtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxNDEsIDE1MSwgMTY1LCAwLjEpO1xuICAgICAgICAgICAgICAgIH1cblxuLm14X0V4dGVuc2lvbnNDYXJkIC5teF9FeHRlbnNpb25zQ2FyZF9CdXR0b24gLm14X0V4dGVuc2lvbnNDYXJkX2FwcF9waW5Ub2dnbGU6OmJlZm9yZSwgLm14X0V4dGVuc2lvbnNDYXJkIC5teF9FeHRlbnNpb25zQ2FyZF9CdXR0b24gLm14X0V4dGVuc2lvbnNDYXJkX2FwcF9vcHRpb25zOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIGhlaWdodDogMTZweDtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTZweDtcbiAgICAgICAgICAgICAgICAtd2Via2l0LW1hc2stcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXNrLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgICAgICAgIC13ZWJraXQtbWFzay1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFzay1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgICAgICAgICAgIC13ZWJraXQtbWFzay1zaXplOiAxNnB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFzay1zaXplOiAxNnB4O1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWljb24tYnV0dG9uLWNvbG9yLCB2YXIoLS1jcGQtY29sb3ItaWNvbi10ZXJ0aWFyeSkpO1xuICAgICAgICAgICAgfVxuXG4ubXhfRXh0ZW5zaW9uc0NhcmQgLm14X0V4dGVuc2lvbnNDYXJkX0J1dHRvbiAubXhfRXh0ZW5zaW9uc0NhcmRfYXBwX3BpblRvZ2dsZSB7XG4gICAgICAgICAgICByaWdodDogOHB4O1xuICAgICAgICB9XG5cbi5teF9FeHRlbnNpb25zQ2FyZCAubXhfRXh0ZW5zaW9uc0NhcmRfQnV0dG9uIC5teF9FeHRlbnNpb25zQ2FyZF9hcHBfcGluVG9nZ2xlOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIC13ZWJraXQtbWFzay1pbWFnZTogdXJsKFwiLi4vLi4vLi4vaW1nL2VsZW1lbnQtaWNvbnMvcm9vbS9waW4tdXByaWdodC5zdmdcIik7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXNrLWltYWdlOiB1cmwoXCIuLi8uLi8uLi9pbWcvZWxlbWVudC1pY29ucy9yb29tL3Bpbi11cHJpZ2h0LnN2Z1wiKTtcbiAgICAgICAgICAgIH1cblxuLm14X0V4dGVuc2lvbnNDYXJkIC5teF9FeHRlbnNpb25zQ2FyZF9CdXR0b24gLm14X0V4dGVuc2lvbnNDYXJkX2FwcF9vcHRpb25zIHtcbiAgICAgICAgICAgIHJpZ2h0OiAzMnB4O1xuICAgICAgICB9XG5cbi8qIDI0ICsgOCAqL1xuXG4ubXhfRXh0ZW5zaW9uc0NhcmQgLm14X0V4dGVuc2lvbnNDYXJkX0J1dHRvbiAubXhfRXh0ZW5zaW9uc0NhcmRfYXBwX29wdGlvbnM6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgLXdlYmtpdC1tYXNrLWltYWdlOiB1cmwoXCJAdmVjdG9yLWltL2NvbXBvdW5kLWRlc2lnbi10b2tlbnMvaWNvbnMvb3ZlcmZsb3ctaG9yaXpvbnRhbC5zdmdcIik7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXNrLWltYWdlOiB1cmwoXCJAdmVjdG9yLWltL2NvbXBvdW5kLWRlc2lnbi10b2tlbnMvaWNvbnMvb3ZlcmZsb3ctaG9yaXpvbnRhbC5zdmdcIik7XG4gICAgICAgICAgICB9XG5cbi5teF9FeHRlbnNpb25zQ2FyZCAubXhfRXh0ZW5zaW9uc0NhcmRfQnV0dG9uLm14X0V4dGVuc2lvbnNDYXJkX0J1dHRvbl9waW5uZWQ6OmFmdGVyIHtcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAwLjI7XG4gICAgICAgICAgICB9XG5cbi5teF9FeHRlbnNpb25zQ2FyZCAubXhfRXh0ZW5zaW9uc0NhcmRfQnV0dG9uLm14X0V4dGVuc2lvbnNDYXJkX0J1dHRvbl9waW5uZWQgLm14X0V4dGVuc2lvbnNDYXJkX2FwcF9waW5Ub2dnbGU6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzBkYmQ4YjtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1hY2NlbnQtY29sb3IsICMwZGJkOGIpO1xuICAgICAgICAgICAgfVxuXG4ubXhfRXh0ZW5zaW9uc0NhcmQgLm14X0V4dGVuc2lvbnNDYXJkX0J1dHRvbjo6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IG5vcm1hbDtcbiAgICAgICAgICAgIGNvbnRlbnQ6IGluaXRpYWw7XG4gICAgICAgIH1cblxuLm14X0V4dGVuc2lvbnNDYXJkIC5teF9FeHRlbnNpb25zQ2FyZF9CdXR0b246OmFmdGVyIHtcbiAgICAgICAgICAgIHRvcDogdmFyKC0tY3BkLXNwYWNlLTJ4KTsgLyogcmUtYWxpZ24gYmFzZWQgb24gdGhlIGhlaWdodCBjaGFuZ2UgKi9cbiAgICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lOyAvKiBwYXNzIHRocm91Z2ggdG8gdGhlIHJlYWwgYnV0dG9uICovXG4gICAgICAgIH1cblxuLyogU2V0IGxheW91dCBmb3IgZXZlcnlvbmUgYnV0dG9uICovXG5cbi5teF9FeHRlbnNpb25zQ2FyZCBhW2RhdGEta2luZD1cInByaW1hcnlcIl0ge1xuICAgICAgICBtYXJnaW4tdG9wOiB2YXIoLS1jcGQtc3BhY2UtMTB4KTtcbiAgICB9XG5cbi5teF9FeHRlbnNpb25zQ2FyZCAubXhfRW1wdHlTdGF0ZTo6YmVmb3JlIHtcbiAgICAgICAgLyogT3ZlcmxhcCB0aGUgQWRkIGV4dGVuc2lvbnMgYnV0dG9uICovXG4gICAgICAgIHRvcDogLTc2cHg7XG4gICAgfVxuXG4vKlxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXG5Db3B5cmlnaHQgMjAyMSBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxuXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXG4qL1xuXG4ubXhfUGlubmVkTWVzc2FnZXNDYXJkIHtcbiAgICAtLXVucGluLWhlaWdodDogNzZweDtcbn1cblxuLm14X1Bpbm5lZE1lc3NhZ2VzQ2FyZCAubXhfUGlubmVkTWVzc2FnZXNDYXJkX3dyYXBwZXIge1xuICAgICAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgICAgICAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWw7XG4gICAgICAgIC13ZWJraXQtYm94LWRpcmVjdGlvbjogbm9ybWFsO1xuICAgICAgICAgICAgLW1zLWZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgcGFkZGluZzogdmFyKC0tY3BkLXNwYWNlLTR4KTtcbiAgICAgICAgZ2FwOiB2YXIoLS1jcGQtc3BhY2UtNngpO1xuICAgICAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgIH1cblxuLm14X1Bpbm5lZE1lc3NhZ2VzQ2FyZCAubXhfUGlubmVkTWVzc2FnZXNDYXJkX3dyYXBwZXIgLm14X1Bpbm5lZE1lc3NhZ2VzQ2FyZF9TZXBhcmF0b3Ige1xuICAgICAgICAgICAgbWluLWhlaWdodDogMXB4O1xuICAgICAgICAgICAgLyogT3ZlcnJpZGUgZGVmYXVsdCBjb21wb3VuZCB2YWx1ZSAqL1xuICAgICAgICAgICAgbWFyZ2luLWJsb2NrOiAwO1xuICAgICAgICB9XG5cbi5teF9QaW5uZWRNZXNzYWdlc0NhcmQgLm14X1Bpbm5lZE1lc3NhZ2VzQ2FyZF93cmFwcGVyX3VucGluX2FsbCB7XG4gICAgICAgIC8qIFJlbW92ZSB0aGUgdW5waW4gYWxsIGJ1dHRvbiBoZWlnaHQgYW5kIHRoZSB0b3AgYW5kIGJvdHRvbSBwYWRkaW5nICAqL1xuICAgICAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIHZhcigtLXVucGluLWhlaWdodCkgLSBjYWxjKHZhcigtLWNwZC1zcGFjZS00eCkgKiAyKSk7XG4gICAgfVxuXG4ubXhfUGlubmVkTWVzc2FnZXNDYXJkIC5teF9QaW5uZWRNZXNzYWdlc0NhcmRfdW5waW4ge1xuICAgICAgICAvKiBNYWtlIGl0IGZsb2F0IGF0IHRoZSBib3R0b20gb2YgdGhlIHVucGluIHBhbmVsICovXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiB2YXIoLS11bnBpbi1oZWlnaHQpO1xuICAgICAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgICAgICAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIC13ZWJraXQtYm94LXBhY2s6IGNlbnRlcjtcbiAgICAgICAgICAgIC1tcy1mbGV4LXBhY2s6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgLXdlYmtpdC1ib3gtc2hhZG93OiAwIDRweCAyNHB4IDAgcmdiYSgyNywgMjksIDM0LCAwLjEpO1xuICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgNHB4IDI0cHggMCByZ2JhKDI3LCAyOSwgMzQsIDAuMSk7XG4gICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWNwZC1jb2xvci1iZy1jYW52YXMtZGVmYXVsdCk7XG4gICAgfVxuXG4ubXhfUGlubmVkTWVzc2FnZXNDYXJkIC5teF9FdmVudFRpbGVfYm9keSB7XG4gICAgICAgIHdvcmQtYnJlYWs6IGJyZWFrLXdvcmQ7XG4gICAgfVxuXG4vKlxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXG5Db3B5cmlnaHQgMjAyMCBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxuXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXG4qL1xuXG4ubXhfUm9vbVN1bW1hcnlDYXJkIHtcbiAgICAtLWNwZC1zZXBhcmF0b3ItaW5zZXQ6IHZhcigtLWNwZC1zcGFjZS00eCk7XG4gICAgLS1jcGQtc2VwYXJhdG9yLXNwYWNpbmc6IHZhcigtLWNwZC1zcGFjZS00eCk7XG59XG5cbi5teF9Sb29tU3VtbWFyeUNhcmQgLm14X1Jvb21TdW1tYXJ5Q2FyZF9jb250YWluZXIge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIG1hcmdpbjogMjBweCB2YXIoLS1jcGQtc3BhY2UtNHgpIDA7XG4gICAgfVxuXG4ubXhfUm9vbVN1bW1hcnlDYXJkIC5teF9Sb29tU3VtbWFyeUNhcmRfcm9vbU5hbWUsXG4gICAgLm14X1Jvb21TdW1tYXJ5Q2FyZCAubXhfUm9vbVN1bW1hcnlDYXJkX2FsaWFzIHtcbiAgICAgICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gICAgICAgIC13ZWJraXQtbGluZS1jbGFtcDogMjtcbiAgICAgICAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcbiAgICAgICAgd2hpdGUtc3BhY2U6IHByZS13cmFwO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIH1cblxuLm14X1Jvb21TdW1tYXJ5Q2FyZCAubXhfUm9vbVN1bW1hcnlDYXJkX2FsaWFzIHtcbiAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgfVxuXG4ubXhfUm9vbVN1bW1hcnlDYXJkIC5teF9Sb29tU3VtbWFyeUNhcmRfdG9waWMge1xuICAgICAgICBwYWRkaW5nOiAwIDEycHg7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jcGQtY29sb3ItdGV4dC1zZWNvbmRhcnkpO1xuICAgIH1cblxuLm14X1Jvb21TdW1tYXJ5Q2FyZCAubXhfUm9vbVN1bW1hcnlDYXJkX3RvcGljIC5teF9Cb3gge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cblxuLm14X1Jvb21TdW1tYXJ5Q2FyZCAubXhfUm9vbVN1bW1hcnlDYXJkX3RvcGljIC5teF9Sb29tU3VtbWFyeUNhcmRfdG9waWNfY29udGFpbmVyIHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IHN0YXJ0O1xuICAgICAgICAgICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gICAgICAgICAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIH1cblxuLm14X1Jvb21TdW1tYXJ5Q2FyZCAubXhfUm9vbVN1bW1hcnlDYXJkX3RvcGljIC5teF9Sb29tU3VtbWFyeUNhcmRfdG9waWNfZWRpdCB7XG4gICAgICAgICAgICB3aWR0aDogLXdlYmtpdC1tYXgtY29udGVudDtcbiAgICAgICAgICAgIHdpZHRoOiAtbW96LW1heC1jb250ZW50O1xuICAgICAgICAgICAgd2lkdGg6IG1heC1jb250ZW50O1xuICAgICAgICB9XG5cbi5teF9Sb29tU3VtbWFyeUNhcmQgLm14X1Jvb21TdW1tYXJ5Q2FyZF90b3BpYyBwIHtcbiAgICAgICAgICAgIHdoaXRlLXNwYWNlOiBwcmUtd3JhcDtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgbWluLXdpZHRoOiAwO1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB9XG5cbi5teF9Sb29tU3VtbWFyeUNhcmQgLm14X1Jvb21TdW1tYXJ5Q2FyZF90b3BpYyBhIHtcbiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgfVxuXG4ubXhfUm9vbVN1bW1hcnlDYXJkIC5teF9Sb29tU3VtbWFyeUNhcmRfdG9waWMgLm14X1Jvb21TdW1tYXJ5Q2FyZF90b3BpY19jaGV2cm9uIHtcbiAgICAgICAgICAgIC13ZWJraXQtdHJhbnNpdGlvbjogLXdlYmtpdC10cmFuc2Zvcm0gMC4zcztcbiAgICAgICAgICAgIHRyYW5zaXRpb246IC13ZWJraXQtdHJhbnNmb3JtIDAuM3M7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zcztcbiAgICAgICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjNzLCAtd2Via2l0LXRyYW5zZm9ybSAwLjNzO1xuICAgICAgICB9XG5cbi5teF9Sb29tU3VtbWFyeUNhcmQgLm14X1Jvb21TdW1tYXJ5Q2FyZF90b3BpYy5teF9Sb29tU3VtbWFyeUNhcmRfdG9waWNfY29sbGFwc2VkIHAge1xuICAgICAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgICAgICAgICAgICAgICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xuICAgICAgICAgICAgICAgIC13ZWJraXQtbGluZS1jbGFtcDogMjtcbiAgICAgICAgICAgIH1cblxuLm14X1Jvb21TdW1tYXJ5Q2FyZCAubXhfUm9vbVN1bW1hcnlDYXJkX3RvcGljLm14X1Jvb21TdW1tYXJ5Q2FyZF90b3BpY19jb2xsYXBzZWQgLm14X1Jvb21TdW1tYXJ5Q2FyZF90b3BpY19jaGV2cm9uIHtcbiAgICAgICAgICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKC05MGRlZyk7XG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtOTBkZWcpO1xuICAgICAgICAgICAgfVxuXG4ubXhfUm9vbVN1bW1hcnlDYXJkIC5teF9BY2Nlc3NpYmxlQnV0dG9uX2tpbmRfbGluayB7XG4gICAgICAgIG1hcmdpbi10b3A6IDEycHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEycHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICAgICAgICBmb250LXdlaWdodDogdmFyKC0tY3BkLWZvbnQtd2VpZ2h0LXNlbWlib2xkKTtcbiAgICB9XG5cbi5teF9Sb29tU3VtbWFyeUNhcmRfYmFkZ2VzIHtcbiAgICBtYXJnaW46IHZhcigtLWNwZC1zcGFjZS00eCkgMDtcbn1cblxuLm14X1Jvb21TdW1tYXJ5Q2FyZF9zZWFyY2gge1xuICAgIC13ZWJraXQtYm94LWZsZXg6IDE7XG4gICAgICAgIC1tcy1mbGV4LXBvc2l0aXZlOiAxO1xuICAgICAgICAgICAgZmxleC1ncm93OiAxO1xuICAgIG1pbi13aWR0aDogMDtcbn1cblxuLm14X1Jvb21TdW1tYXJ5Q2FyZF9zZWFyY2ggaW5wdXRbdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbiB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICAgICAgZGlzcGxheTogaW5pdGlhbDsgLyogb3ZlcnJpZGUgX2NvbW1vbi5wY3NzIHdoaWNoIGluaGliaXRzIHRoaXMgKi9cbiAgICB9XG5cbi5teF9Sb29tU3VtbWFyeUNhcmRfcm9vbU5hbWUge1xuICAgIG1hcmdpbjogMTJweCAwIDRweDtcbn1cblxuLypcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxuQ29weXJpZ2h0IDIwMjEtMjAyNCBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxuXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXG4qL1xuXG4ubXhfVGhyZWFkUGFuZWwge1xuICAgIGhlaWdodDogMTAwcHg7XG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG59XG5cbi8qIFVuc2V0IGZsZXggb24gdGhlIHRocmVhZCBsaXN0LCBidXQgbm90IHRoZSB0aHJlYWQgdmlldyAqL1xuXG4ubXhfVGhyZWFkUGFuZWw6bm90KC5teF9UaHJlYWRWaWV3KSAubXhfQmFzZUNhcmRfaGVhZGVyIC5teF9CYXNlQ2FyZF9oZWFkZXJfdGl0bGUge1xuICAgICAgICAtd2Via2l0LWJveC1mbGV4OiBpbml0aWFsO1xuICAgICAgICAgICAgLW1zLWZsZXg6IGluaXRpYWw7XG4gICAgICAgICAgICAgICAgZmxleDogaW5pdGlhbDtcbiAgICB9XG5cbi5teF9UaHJlYWRQYW5lbCAubXhfQmFzZUNhcmRfaGVhZGVyIC5teF9CYXNlQ2FyZF9oZWFkZXJfdGl0bGUgLm14X0FjY2Vzc2libGVCdXR0b24ge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgICAgICAgICBjb2xvcjogI2VkZjNmZjtcbiAgICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tc2Vjb25kYXJ5LWNvbnRlbnQsICNlZGYzZmYpO1xuICAgICAgICAgICAgfVxuXG4ubXhfVGhyZWFkUGFuZWwgLm14X0Jhc2VDYXJkX2hlYWRlciAubXhfQmFzZUNhcmRfaGVhZGVyX3RpdGxlIC5teF9UaHJlYWRQYW5lbF92ZXJ0aWNhbF9zZXBhcmF0b3Ige1xuICAgICAgICAgICAgICAgIGhlaWdodDogMTZweDtcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogdmFyKC0tY3BkLXNwYWNlLTN4KTtcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IHZhcigtLWNwZC1zcGFjZS0xeCk7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCB2YXIoLS1jcGQtY29sb3ItZ3JheS00MDApO1xuICAgICAgICAgICAgfVxuXG4ubXhfVGhyZWFkUGFuZWwgLm14X0Jhc2VDYXJkX2hlYWRlciAubXhfQmFzZUNhcmRfaGVhZGVyX3RpdGxlIC5teF9UaHJlYWRQYW5lbF9kcm9wZG93biB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogM3B4IDRweCAzcHggOHB4O1xuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMS41O1xuICAgICAgICAgICAgICAgIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgLW1vei11c2VyLXNlbGVjdDogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgLW1zLXVzZXItc2VsZWN0OiBub25lO1xuICAgICAgICAgICAgICAgICAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgICAgICAgICB9XG5cbi5teF9UaHJlYWRQYW5lbCAubXhfQmFzZUNhcmRfaGVhZGVyIC5teF9CYXNlQ2FyZF9oZWFkZXJfdGl0bGUgLm14X1RocmVhZFBhbmVsX2Ryb3Bkb3duOmhvdmVyLFxuICAgICAgICAgICAgICAgIC5teF9UaHJlYWRQYW5lbCAubXhfQmFzZUNhcmRfaGVhZGVyIC5teF9CYXNlQ2FyZF9oZWFkZXJfdGl0bGUgLm14X1RocmVhZFBhbmVsX2Ryb3Bkb3duW2FyaWEtZXhwYW5kZWQ9XCJ0cnVlXCJdIHtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogIzZmNzg4MjtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tcXVpbmFyeS1jb250ZW50LCAjNmY3ODgyKTtcbiAgICAgICAgICAgICAgICB9XG5cbi5teF9UaHJlYWRQYW5lbCAubXhfQmFzZUNhcmRfaGVhZGVyIC5teF9CYXNlQ2FyZF9oZWFkZXJfdGl0bGUgLm14X1RocmVhZFBhbmVsX2Ryb3Bkb3duOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMThweDtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxOHB4O1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBjdXJyZW50Q29sb3I7XG4gICAgICAgICAgICAgICAgICAgIC13ZWJraXQtbWFzay1pbWFnZTogdXJsKFwiQHZlY3Rvci1pbS9jb21wb3VuZC1kZXNpZ24tdG9rZW5zL2ljb25zL2NoZXZyb24tZG93bi5zdmdcIik7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFzay1pbWFnZTogdXJsKFwiQHZlY3Rvci1pbS9jb21wb3VuZC1kZXNpZ24tdG9rZW5zL2ljb25zL2NoZXZyb24tZG93bi5zdmdcIik7XG4gICAgICAgICAgICAgICAgICAgIC13ZWJraXQtbWFzay1zaXplOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hc2stc2l6ZTogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgLXdlYmtpdC1tYXNrLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hc2stcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgICAgICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgICAgICAgICB9XG5cbi5teF9UaHJlYWRQYW5lbCAubXhfQXV0b0hpZGVTY3JvbGxiYXIsXG4gICAgLm14X1RocmVhZFBhbmVsIC5teF9Sb29tVmlld19tZXNzYWdlUGFuZWxTcGlubmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdGltZWxpbmUtYmFja2dyb3VuZC1jb2xvcik7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgICAgICAgLXdlYmtpdC1wYWRkaW5nLWVuZDogMDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWlubGluZS1lbmQ6IDA7XG4gICAgICAgIG92ZXJmbG93LXk6IHNjcm9sbDsgLyogc2V0IGdhcCBiZXR3ZWVuIHRoZSB0aHJlYWQgdGlsZSBhbmQgdGhlIHJpZ2h0IGJvcmRlciAqL1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgfVxuXG4ubXhfVGhyZWFkUGFuZWwgLm14X0V2ZW50VGlsZVtkYXRhLWxheW91dD1cImdyb3VwXCJdIC5teF9NZXNzYWdlQWN0aW9uQmFyIHtcbiAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgdG9wOiAtMzZweDsgLyogMnB4IGFib3ZlIEV2ZW50VGlsZSAqL1xuICAgICAgICAgICAgei1pbmRleDogMTA7IC8qIFNlZSBfRXZlbnRUaWxlLnBjc3MgKi9cbiAgICAgICAgfVxuXG4vKiBGb3Igc3R5bGUgcnVsZXMgb2YgRXZlbnRUaWxlIGluIGEgdGhyZWFkLCBzZWUgX0V2ZW50VGlsZS5wY3NzICovXG5cbi5teF9UaHJlYWRQYW5lbC5teF9UaHJlYWRWaWV3IHtcbiAgICAgICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICB9XG5cbi5teF9UaHJlYWRQYW5lbC5teF9UaHJlYWRWaWV3IC5teF9UaHJlYWRWaWV3X3RpbWVsaW5lUGFuZWxXcmFwcGVyIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDA7IC8qIGRvbid0IGRpc3BsYWNlIHRoZSBjb21wb3NlciAqL1xuICAgICAgICAgICAgLXdlYmtpdC1ib3gtZmxleDogMTtcbiAgICAgICAgICAgICAgICAtbXMtZmxleC1wb3NpdGl2ZTogMTtcbiAgICAgICAgICAgICAgICAgICAgZmxleC1ncm93OiAxO1xuICAgICAgICB9XG5cbi5teF9UaHJlYWRQYW5lbC5teF9UaHJlYWRWaWV3IC5teF9UaHJlYWRWaWV3X3RpbWVsaW5lUGFuZWxXcmFwcGVyIC5teF9GaWxlRHJvcFRhcmdldCB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4O1xuICAgICAgICAgICAgfVxuXG4ubXhfVGhyZWFkUGFuZWwubXhfVGhyZWFkVmlldyAubXhfTWVzc2FnZUNvbXBvc2VyX3NlbmRNZXNzYWdlIHtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgfVxuXG4vKiBNYWtlIHVzZSBvZiB0aGUgc3BhY2UgYWJvdmUgdGhlIGNvbXBvc2VyIGJ1dHRvbnMgdG9vKi9cblxuLm14X1RocmVhZFBhbmVsLm14X1RocmVhZFZpZXcgLm14X0F1dG9jb21wbGV0ZSB7XG4gICAgICAgICAgICB3aWR0aDogY2FsYygxMDAlICsgMTQwcHgpO1xuICAgICAgICB9XG5cbi5teF9UaHJlYWRQYW5lbC5teF9UaHJlYWRWaWV3Lm14X1RocmVhZFZpZXdfbmFycm93IC5teF9BdXRvY29tcGxldGUge1xuICAgICAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSArIDEwOHB4KTtcbiAgICAgICAgfVxuXG4ubXhfVGhyZWFkUGFuZWwgLm14X1Jvb21WaWV3X21lc3NhZ2VQYW5lbC5teF9Sb29tVmlld19tZXNzYWdlTGlzdFdyYXBwZXIge1xuICAgICAgICAgICAgcG9zaXRpb246IHN0YXRpYztcbiAgICAgICAgICAgIHBvc2l0aW9uOiBpbml0aWFsO1xuICAgICAgICB9XG5cbi5teF9UaHJlYWRQYW5lbCAubXhfUm9vbVZpZXdfbWVzc2FnZVBhbmVsIC5teF9Sb29tVmlld19tZXNzYWdlTGlzdFdyYXBwZXIge1xuICAgICAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSArIDZweCk7IC8qIDhweCAtIDJweCAqL1xuICAgICAgICB9XG5cbi5teF9UaHJlYWRQYW5lbCAubXhfUm9vbVZpZXdfbWVzc2FnZVBhbmVsIC5teF9Sb29tVmlld19lbXB0eSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBjb250ZW50cztcbiAgICAgICAgfVxuXG4ubXhfVGhyZWFkUGFuZWwgLm14X1Jvb21WaWV3X01lc3NhZ2VMaXN0IHtcbiAgICAgICAgLXdlYmtpdC1wYWRkaW5nLXN0YXJ0OiA4cHg7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1pbmxpbmUtc3RhcnQ6IDhweDtcbiAgICAgICAgLXdlYmtpdC1wYWRkaW5nLWVuZDogOHB4O1xuICAgICAgICAgICAgICAgIHBhZGRpbmctaW5saW5lLWVuZDogOHB4O1xuICAgICAgICBjb250ZW50LXZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgfVxuXG4ubXhfVGhyZWFkUGFuZWwgLm14X0V2ZW50VGlsZSxcbiAgICAubXhfVGhyZWFkUGFuZWwgLm14X0dlbmVyaWNFdmVudExpc3RTdW1tYXJ5IHtcbiAgICAgICAgLyogQWNjb3VudCBmb3Igc2Nyb2xsYmFyIHdoZW4gaG92ZXJpbmcgKi9cbiAgICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgfVxuXG4ubXhfVGhyZWFkUGFuZWwgLm14X0V2ZW50VGlsZSAubXhfVGltZWxpbmVTZXBhcmF0b3IsIC5teF9UaHJlYWRQYW5lbCAubXhfR2VuZXJpY0V2ZW50TGlzdFN1bW1hcnkgLm14X1RpbWVsaW5lU2VwYXJhdG9yIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cblxuLm14X1RocmVhZFBhbmVsIC5teF9FdmVudFRpbGUubXhfRXZlbnRUaWxlX2NsYW1wOmhvdmVyLCAubXhfVGhyZWFkUGFuZWwgLm14X0dlbmVyaWNFdmVudExpc3RTdW1tYXJ5Lm14X0V2ZW50VGlsZV9jbGFtcDpob3ZlciB7XG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIH1cblxuLm14X1RocmVhZFBhbmVsIC5teF9NZXNzYWdlQ29tcG9zZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS10aW1lbGluZS1iYWNrZ3JvdW5kLWNvbG9yKTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4O1xuICAgICAgICBtYXJnaW4tdG9wOiA4cHg7XG4gICAgICAgIHBhZGRpbmc6IDAgOHB4O1xuICAgICAgICAtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICB9XG5cbi5teF9UaHJlYWRQYW5lbCAubXhfTWVzc2FnZVRpbWVzdGFtcCB7XG4gICAgICAgIGNvbG9yOiAjZWRmM2ZmO1xuICAgICAgICBjb2xvcjogdmFyKC0tc2Vjb25kYXJ5LWNvbnRlbnQsICNlZGYzZmYpO1xuICAgIH1cblxuLm14X1RocmVhZFBhbmVsIC5teF9CYXNlQ2FyZF9mb290ZXIge1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICBmb250LXNpemU6IDAuNzVyZW07XG4gICAgICAgIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIC13ZWJraXQtYm94LXBhY2s6IGVuZDtcbiAgICAgICAgICAgIC1tcy1mbGV4LXBhY2s6IGVuZDtcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgICAgICBnYXA6IDRweDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB0b3A6IDJweDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogOHB4O1xuICAgIH1cblxuLm14X1RocmVhZFBhbmVsIC5teF9CYXNlQ2FyZF9mb290ZXIgLm14X0FjY2Vzc2libGVCdXR0b25fa2luZF9saW5rX2lubGluZSB7XG4gICAgICAgICAgICBjb2xvcjogI2VkZjNmZjtcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1zZWNvbmRhcnktY29udGVudCwgI2VkZjNmZik7XG4gICAgICAgIH1cblxuLm14X1RocmVhZFBhbmVsX3ZpZXdJblJvb206OmJlZm9yZSB7XG4gICAgLXdlYmtpdC1tYXNrLWltYWdlOiB1cmwoXCIuLi8uLi8uLi9pbWcvZWxlbWVudC1pY29ucy92aWV3LWluLXJvb20uc3ZnXCIpO1xuICAgICAgICAgICAgbWFzay1pbWFnZTogdXJsKFwiLi4vLi4vLi4vaW1nL2VsZW1lbnQtaWNvbnMvdmlldy1pbi1yb29tLnN2Z1wiKTtcbn1cblxuLm14X1RocmVhZFBhbmVsX2NvcHlMaW5rVG9UaHJlYWQ6OmJlZm9yZSB7XG4gICAgLXdlYmtpdC1tYXNrLWltYWdlOiB1cmwoXCJAdmVjdG9yLWltL2NvbXBvdW5kLWRlc2lnbi10b2tlbnMvaWNvbnMvbGluay5zdmdcIik7XG4gICAgICAgICAgICBtYXNrLWltYWdlOiB1cmwoXCJAdmVjdG9yLWltL2NvbXBvdW5kLWRlc2lnbi10b2tlbnMvaWNvbnMvbGluay5zdmdcIik7XG59XG5cbi5teF9Db250ZXh0dWFsTWVudV93cmFwcGVyIC5teF9UaHJlYWRQYW5lbF9IZWFkZXJfRmlsdGVyT3B0aW9uSXRlbSB7XG4gICAgICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICAgICAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgLXdlYmtpdC1ib3gtZmxleDogMTtcbiAgICAgICAgICAgIC1tcy1mbGV4LXBvc2l0aXZlOiAxO1xuICAgICAgICAgICAgICAgIGZsZXgtZ3JvdzogMTtcbiAgICAgICAgLXdlYmtpdC1ib3gtcGFjazoganVzdGlmeTtcbiAgICAgICAgICAgIC1tcy1mbGV4LXBhY2s6IGp1c3RpZnk7XG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xuICAgICAgICAtd2Via2l0LWJveC1kaXJlY3Rpb246IG5vcm1hbDtcbiAgICAgICAgICAgIC1tcy1mbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIHBhZGRpbmc6IDEwcHggMjBweCAxMHB4IDMwcHg7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB9XG5cbi5teF9Db250ZXh0dWFsTWVudV93cmFwcGVyIC5teF9UaHJlYWRQYW5lbF9IZWFkZXJfRmlsdGVyT3B0aW9uSXRlbTpob3ZlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS10aW1lbGluZS1oaWdobGlnaHRzLWNvbG9yKTtcbiAgICAgICAgfVxuXG4ubXhfQ29udGV4dHVhbE1lbnVfd3JhcHBlciAubXhfVGhyZWFkUGFuZWxfSGVhZGVyX0ZpbHRlck9wdGlvbkl0ZW1bYXJpYS1jaGVja2VkPVwidHJ1ZVwiXSA6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAtMjBweDtcbiAgICAgICAgICAgIH1cblxuLm14X0NvbnRleHR1YWxNZW51X3dyYXBwZXIgLm14X1RocmVhZFBhbmVsX0hlYWRlcl9GaWx0ZXJPcHRpb25JdGVtW2FyaWEtY2hlY2tlZD1cInRydWVcIl0gOmZpcnN0LWNoaWxkOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEycHg7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxMnB4O1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogOHB4O1xuICAgICAgICAgICAgICAgIC13ZWJraXQtbWFzay1pbWFnZTogdXJsKFwiQHZlY3Rvci1pbS9jb21wb3VuZC1kZXNpZ24tdG9rZW5zL2ljb25zL2NoZWNrLnN2Z1wiKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hc2staW1hZ2U6IHVybChcIkB2ZWN0b3ItaW0vY29tcG91bmQtZGVzaWduLXRva2Vucy9pY29ucy9jaGVjay5zdmdcIik7XG4gICAgICAgICAgICAgICAgLXdlYmtpdC1tYXNrLXNpemU6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXNrLXNpemU6IDEwMCU7XG4gICAgICAgICAgICAgICAgLXdlYmtpdC1tYXNrLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFzay1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS10aW1lbGluZS10ZXh0LWNvbG9yKTtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgICAgIH1cblxuLm14X0NvbnRleHR1YWxNZW51X3dyYXBwZXIgLm14X1RocmVhZFBhbmVsX0hlYWRlcl9GaWx0ZXJPcHRpb25JdGVtIDpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgIGNvbG9yOiAjZWRmM2ZmO1xuICAgICAgICAgICAgY29sb3I6IHZhcigtLXNlY29uZGFyeS1jb250ZW50LCAjZWRmM2ZmKTtcbiAgICAgICAgfVxuXG4vKlxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXG5Db3B5cmlnaHQgMjAyMSwgMjAyMiBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxuXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXG4qL1xuXG4ubXhfVGltZWxpbmVDYXJkIC5teF9UaW1lbGluZUNhcmRfdGltZWxpbmUge1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IC8qIG9mZnNldCBwYXJlbnQgZm9yIGp1bXAgdG8gYm90dG9tIGJ1dHRvbiAqL1xuICAgICAgICAtd2Via2l0LWJveC1mbGV4OiAxO1xuICAgICAgICAgICAgLW1zLWZsZXg6IDE7XG4gICAgICAgICAgICAgICAgZmxleDogMTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4O1xuICAgIH1cblxuLm14X1RpbWVsaW5lQ2FyZCAubXhfTmV3Um9vbUludHJvIHtcbiAgICAgICAgLXdlYmtpdC1tYXJnaW4tc3RhcnQ6IHZhcigtLUJhc2VDYXJkX0V2ZW50VGlsZS1zcGFjaW5nLWlubGluZSk7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWlubGluZS1zdGFydDogdmFyKC0tQmFzZUNhcmRfRXZlbnRUaWxlLXNwYWNpbmctaW5saW5lKTtcbiAgICAgICAgLXdlYmtpdC1tYXJnaW4tZW5kOiB2YXIoLS1CYXNlQ2FyZF9FdmVudFRpbGUtc3BhY2luZy1pbmxpbmUpO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1pbmxpbmUtZW5kOiB2YXIoLS1CYXNlQ2FyZF9FdmVudFRpbGUtc3BhY2luZy1pbmxpbmUpO1xuICAgIH1cblxuLm14X1RpbWVsaW5lQ2FyZCAubXhfRXZlbnRUaWxlX2NvbnRlbnQge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgfVxuXG4ubXhfVGltZWxpbmVDYXJkIC5teF9FdmVudFRpbGUgLm14X1RocmVhZFN1bW1hcnkge1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMTFweDtcbiAgICAgICAgfVxuXG4ubXhfVGltZWxpbmVDYXJkIC5teF9FdmVudFRpbGUgLm14X1RocmVhZFN1bW1hcnk6OmFmdGVyIHtcbiAgICAgICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgICAgIGJvdHRvbTogLTE2cHg7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxcHg7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICM2MTZiN2Y7XG4gICAgICAgICAgICB9XG5cbi5teF9UaW1lbGluZUNhcmQgLm14X0V2ZW50VGlsZVtkYXRhLWxheW91dD1cImlyY1wiXSxcbiAgICAgICAgLm14X1RpbWVsaW5lQ2FyZCAubXhfRXZlbnRUaWxlW2RhdGEtbGF5b3V0PVwiZ3JvdXBcIl0ge1xuICAgICAgICAgICAgLS1UaW1lbGluZUNhcmRfUmVhZFJlY2VpcHRHcm91cC1pbnNldC1ibG9jay1zdGFydDogLTZweDtcbiAgICAgICAgfVxuXG4ubXhfVGltZWxpbmVDYXJkIC5teF9FdmVudFRpbGVbZGF0YS1sYXlvdXQ9XCJpcmNcIl0ubXhfRXZlbnRUaWxlX2luZm8gLm14X0V2ZW50VGlsZV9saW5lLFxuICAgICAgICAgICAgLm14X1RpbWVsaW5lQ2FyZCAubXhfRXZlbnRUaWxlW2RhdGEtbGF5b3V0PVwiaXJjXCJdIC5teF9FdmVudFRpbGVfbGluZSxcbiAgICAgICAgICAgIC5teF9UaW1lbGluZUNhcmQgLm14X0V2ZW50VGlsZVtkYXRhLWxheW91dD1cImdyb3VwXCJdLm14X0V2ZW50VGlsZV9pbmZvIC5teF9FdmVudFRpbGVfbGluZSxcbiAgICAgICAgICAgIC5teF9UaW1lbGluZUNhcmQgLm14X0V2ZW50VGlsZVtkYXRhLWxheW91dD1cImdyb3VwXCJdIC5teF9FdmVudFRpbGVfbGluZSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogdmFyKC0tQmFzZUNhcmRfRXZlbnRUaWxlX2xpbmUtcGFkZGluZy1ibG9jaykgdmFyKC0tQmFzZUNhcmRfRXZlbnRUaWxlLXNwYWNpbmctaW5saW5lKTtcbiAgICAgICAgICAgICAgICAtd2Via2l0LXBhZGRpbmctZW5kOiA0NnB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1pbmxpbmUtZW5kOiA0NnB4O1xuICAgICAgICAgICAgICAgIC13ZWJraXQtcGFkZGluZy1lbmQ6IHZhcigtLU1lc3NhZ2VUaW1lc3RhbXAtd2lkdGgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1pbmxpbmUtZW5kOiB2YXIoLS1NZXNzYWdlVGltZXN0YW1wLXdpZHRoKTsgLyogZW5zdXJlIHRpbWVzdGFtcCBpcyBub3QgaGlkZGVuICovXG4gICAgICAgICAgICB9XG5cbi5teF9UaW1lbGluZUNhcmQgLm14X0V2ZW50VGlsZVtkYXRhLWxheW91dD1cImlyY1wiXS5teF9FdmVudFRpbGVfaW5mbyAubXhfRXZlbnRUaWxlX2xpbmUgLm14X0V2ZW50VGlsZV9lMmVJY29uLCAubXhfVGltZWxpbmVDYXJkIC5teF9FdmVudFRpbGVbZGF0YS1sYXlvdXQ9XCJpcmNcIl0gLm14X0V2ZW50VGlsZV9saW5lIC5teF9FdmVudFRpbGVfZTJlSWNvbiwgLm14X1RpbWVsaW5lQ2FyZCAubXhfRXZlbnRUaWxlW2RhdGEtbGF5b3V0PVwiZ3JvdXBcIl0ubXhfRXZlbnRUaWxlX2luZm8gLm14X0V2ZW50VGlsZV9saW5lIC5teF9FdmVudFRpbGVfZTJlSWNvbiwgLm14X1RpbWVsaW5lQ2FyZCAubXhfRXZlbnRUaWxlW2RhdGEtbGF5b3V0PVwiZ3JvdXBcIl0gLm14X0V2ZW50VGlsZV9saW5lIC5teF9FdmVudFRpbGVfZTJlSWNvbiB7XG4gICAgICAgICAgICAgICAgICAgIGluc2V0LWlubGluZS1zdGFydDogOHB4O1xuICAgICAgICAgICAgICAgIH1cblxuLm14X1RpbWVsaW5lQ2FyZCAubXhfRXZlbnRUaWxlW2RhdGEtbGF5b3V0PVwiaXJjXCJdLm14X0V2ZW50VGlsZV9pbmZvLCAubXhfVGltZWxpbmVDYXJkIC5teF9FdmVudFRpbGVbZGF0YS1sYXlvdXQ9XCJncm91cFwiXS5teF9FdmVudFRpbGVfaW5mbyB7XG5cbiAgICAgICAgICAgICAgICAvKiBJbmZvIGV2ZW50cyBzaG91bGQgaGF2ZSB0aGUgc2FtZSBzaXplIGFzIHN0YXRlIGV2ZW50cywgdGhvc2VcbiAgICAgICAgICAgICAgICAgKiBhcmUgdXN1YWxseSB3cmFwcGVkIGluIGEgZ2VuZXJpYyBldmVudCBsaXN0IHN1bW1hcnkgKi9cbiAgICAgICAgICAgIH1cblxuLm14X1RpbWVsaW5lQ2FyZCAubXhfRXZlbnRUaWxlW2RhdGEtbGF5b3V0PVwiaXJjXCJdLm14X0V2ZW50VGlsZV9pbmZvIC5teF9FdmVudFRpbGVfYXZhdGFyLCAubXhfVGltZWxpbmVDYXJkIC5teF9FdmVudFRpbGVbZGF0YS1sYXlvdXQ9XCJncm91cFwiXS5teF9FdmVudFRpbGVfaW5mbyAubXhfRXZlbnRUaWxlX2F2YXRhciB7XG4gICAgICAgICAgICAgICAgICAgIGluc2V0LWlubGluZS1zdGFydDogMThweDtcbiAgICAgICAgICAgICAgICB9XG5cbi5teF9UaW1lbGluZUNhcmQgLm14X0V2ZW50VGlsZVtkYXRhLWxheW91dD1cImlyY1wiXS5teF9FdmVudFRpbGVfaW5mbywgLm14X1RpbWVsaW5lQ2FyZCAubXhfRXZlbnRUaWxlW2RhdGEtbGF5b3V0PVwiZ3JvdXBcIl0ubXhfRXZlbnRUaWxlX2luZm8ge1xuICAgICAgICAgICAgICAgIGZvbnQ6IHZhcigtLWNwZC1mb250LWJvZHktc20tcmVndWxhcik7XG59XG5cbi5teF9UaW1lbGluZUNhcmQgLm14X0V2ZW50VGlsZVtkYXRhLWxheW91dD1cImlyY1wiXSAubXhfRXZlbnRUaWxlX2F2YXRhciwgLm14X1RpbWVsaW5lQ2FyZCAubXhfRXZlbnRUaWxlW2RhdGEtbGF5b3V0PVwiZ3JvdXBcIl0gLm14X0V2ZW50VGlsZV9hdmF0YXIge1xuICAgICAgICAgICAgICAgIGluc2V0LWlubGluZS1zdGFydDogLTNweDtcbiAgICAgICAgICAgIH1cblxuLm14X1RpbWVsaW5lQ2FyZCAubXhfRXZlbnRUaWxlW2RhdGEtbGF5b3V0PVwiaXJjXCJdIC5teF9FdmVudFRpbGVfbXNnT3B0aW9uLCAubXhfVGltZWxpbmVDYXJkIC5teF9FdmVudFRpbGVbZGF0YS1sYXlvdXQ9XCJncm91cFwiXSAubXhfRXZlbnRUaWxlX21zZ09wdGlvbiB7XG4gICAgICAgICAgICAgICAgLXdlYmtpdC1tYXJnaW4tZW5kOiAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWlubGluZS1lbmQ6IDA7XG4gICAgICAgICAgICB9XG5cbi5teF9UaW1lbGluZUNhcmQgLm14X0V2ZW50VGlsZVtkYXRhLWxheW91dD1cImlyY1wiXSAubXhfRXZlbnRUaWxlX21zZ09wdGlvbiAubXhfUmVhZFJlY2VpcHRHcm91cCwgLm14X1RpbWVsaW5lQ2FyZCAubXhfRXZlbnRUaWxlW2RhdGEtbGF5b3V0PVwiZ3JvdXBcIl0gLm14X0V2ZW50VGlsZV9tc2dPcHRpb24gLm14X1JlYWRSZWNlaXB0R3JvdXAge1xuICAgICAgICAgICAgICAgICAgICB0b3A6IHZhcigtLVRpbWVsaW5lQ2FyZF9SZWFkUmVjZWlwdEdyb3VwLWluc2V0LWJsb2NrLXN0YXJ0KTtcbiAgICAgICAgICAgICAgICB9XG5cbi5teF9UaW1lbGluZUNhcmQgLm14X0V2ZW50VGlsZVtkYXRhLWxheW91dD1cImlyY1wiXSAubXhfRGlzYW1iaWd1YXRlZFByb2ZpbGUsXG4gICAgICAgICAgICAubXhfVGltZWxpbmVDYXJkIC5teF9FdmVudFRpbGVbZGF0YS1sYXlvdXQ9XCJpcmNcIl0gLm14X1JlYWN0aW9uc1JvdyxcbiAgICAgICAgICAgIC5teF9UaW1lbGluZUNhcmQgLm14X0V2ZW50VGlsZVtkYXRhLWxheW91dD1cImlyY1wiXSAubXhfVGhyZWFkU3VtbWFyeSxcbiAgICAgICAgICAgIC5teF9UaW1lbGluZUNhcmQgLm14X0V2ZW50VGlsZVtkYXRhLWxheW91dD1cImdyb3VwXCJdIC5teF9EaXNhbWJpZ3VhdGVkUHJvZmlsZSxcbiAgICAgICAgICAgIC5teF9UaW1lbGluZUNhcmQgLm14X0V2ZW50VGlsZVtkYXRhLWxheW91dD1cImdyb3VwXCJdIC5teF9SZWFjdGlvbnNSb3csXG4gICAgICAgICAgICAubXhfVGltZWxpbmVDYXJkIC5teF9FdmVudFRpbGVbZGF0YS1sYXlvdXQ9XCJncm91cFwiXSAubXhfVGhyZWFkU3VtbWFyeSB7XG4gICAgICAgICAgICAgICAgLXdlYmtpdC1tYXJnaW4tc3RhcnQ6IHZhcigtLUJhc2VDYXJkX0V2ZW50VGlsZS1zcGFjaW5nLWlubGluZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4taW5saW5lLXN0YXJ0OiB2YXIoLS1CYXNlQ2FyZF9FdmVudFRpbGUtc3BhY2luZy1pbmxpbmUpO1xuICAgICAgICAgICAgfVxuXG4ubXhfVGltZWxpbmVDYXJkIC5teF9FdmVudFRpbGVbZGF0YS1sYXlvdXQ9XCJpcmNcIl0gLm14X0Rpc2FtYmlndWF0ZWRQcm9maWxlLCAubXhfVGltZWxpbmVDYXJkIC5teF9FdmVudFRpbGVbZGF0YS1sYXlvdXQ9XCJncm91cFwiXSAubXhfRGlzYW1iaWd1YXRlZFByb2ZpbGUge1xuICAgICAgICAgICAgICAgIG1heC13aWR0aDogY2FsYygxMDAlIC0gdmFyKC0tQmFzZUNhcmRfRXZlbnRUaWxlLXNwYWNpbmctaW5saW5lKSk7IC8qIGluc3RlYWQgb2YgJGxlZnQtZ3V0dGVyICovXG4gICAgICAgICAgICB9XG5cbi5teF9UaW1lbGluZUNhcmQgLm14X0V2ZW50VGlsZVtkYXRhLWxheW91dD1cImlyY1wiXSAubXhfUmVwbHlUaWxlIC5teF9EaXNhbWJpZ3VhdGVkUHJvZmlsZSwgLm14X1RpbWVsaW5lQ2FyZCAubXhfRXZlbnRUaWxlW2RhdGEtbGF5b3V0PVwiZ3JvdXBcIl0gLm14X1JlcGx5VGlsZSAubXhfRGlzYW1iaWd1YXRlZFByb2ZpbGUge1xuICAgICAgICAgICAgICAgIC13ZWJraXQtbWFyZ2luLXN0YXJ0OiAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWlubGluZS1zdGFydDogMDtcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiBpbml0aWFsO1xuICAgICAgICAgICAgfVxuXG4ubXhfVGltZWxpbmVDYXJkIC5teF9FdmVudFRpbGVbZGF0YS1sYXlvdXQ9XCJpcmNcIl0gLm14X01lc3NhZ2VUaW1lc3RhbXAsIC5teF9UaW1lbGluZUNhcmQgLm14X0V2ZW50VGlsZVtkYXRhLWxheW91dD1cImdyb3VwXCJdIC5teF9NZXNzYWdlVGltZXN0YW1wIHtcbiAgICAgICAgICAgICAgICBpbnNldC1pbmxpbmU6IGF1dG8gMDtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDAuNzVyZW07XG4gICAgICAgICAgICB9XG5cbi5teF9UaW1lbGluZUNhcmQgLm14X0V2ZW50VGlsZVtkYXRhLWxheW91dD1cImlyY1wiXSAubXhfUmVhY3Rpb25zUm93LCAubXhfVGltZWxpbmVDYXJkIC5teF9FdmVudFRpbGVbZGF0YS1sYXlvdXQ9XCJncm91cFwiXSAubXhfUmVhY3Rpb25zUm93IHtcbiAgICAgICAgICAgICAgICAvKiBTZWU6IHZhcigtLVRocmVhZFZpZXdfZ3JvdXBfc3BhY2luZy1lbmQpIGZvciBSZWFjdGlvbnNSb3cgb24gX0V2ZW50VGlsZS5wY3NzICovXG4gICAgICAgICAgICAgICAgLXdlYmtpdC1tYXJnaW4tZW5kOiA4cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4taW5saW5lLWVuZDogOHB4O1xuICAgICAgICAgICAgfVxuXG4ubXhfVGltZWxpbmVDYXJkIC5teF9FdmVudFRpbGVbZGF0YS1sYXlvdXQ9XCJpcmNcIl0gLm14X1RocmVhZFN1bW1hcnksIC5teF9UaW1lbGluZUNhcmQgLm14X0V2ZW50VGlsZVtkYXRhLWxheW91dD1cImdyb3VwXCJdIC5teF9UaHJlYWRTdW1tYXJ5IHtcbiAgICAgICAgICAgICAgICAtd2Via2l0LW1hcmdpbi1lbmQ6IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4taW5saW5lLWVuZDogMDtcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IG1pbihjYWxjKDEwMCUgLSAzNnB4KSwgNjAwcHgpO1xuICAgICAgICAgICAgfVxuXG4ubXhfVGltZWxpbmVDYXJkIC5teF9FdmVudFRpbGVbZGF0YS1sYXlvdXQ9XCJpcmNcIl0gLm14X0V2ZW50VGlsZV9hdmF0YXIsXG4gICAgICAgICAgICAubXhfVGltZWxpbmVDYXJkIC5teF9FdmVudFRpbGVbZGF0YS1sYXlvdXQ9XCJpcmNcIl0gLm14X01lc3NhZ2VUaW1lc3RhbXAge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIH1cblxuLm14X1RpbWVsaW5lQ2FyZCAubXhfRXZlbnRUaWxlW2RhdGEtbGF5b3V0PVwiZ3JvdXBcIl0ge1xuICAgICAgICAgICAgLyogUmVhZCByZWNlaXB0IGdyb3VwIG9uIGNvbXBhY3QgbW9kZXJuIGxheW91dCAqL1xuICAgICAgICAgICAgLyogVGhpcyBpcyByZXF1aXJlZCBiZWNhdXNlIG14X1RpbWVsaW5lQ2FyZCBpcyBhIGNoaWxkIGVsZW1lbnQgd3JhcHBlZCBieSBteF9NYXRyaXhDaGF0X3VzZUNvbXBhY3RMYXlvdXQsICovXG4gICAgICAgIH1cblxuLyogd2hpY2ggc3BlY2lmaWVzIHRoZSBkZWZhdWx0IHBvc2l0aW9uIG9mIG14X1JlYWRSZWNlaXB0R3JvdXAgb24gY29tcGFjdCBtb2Rlcm4gbGF5b3V0LiAqL1xuXG4ubXhfTWF0cml4Q2hhdF91c2VDb21wYWN0TGF5b3V0IC5teF9UaW1lbGluZUNhcmQgLm14X0V2ZW50VGlsZVtkYXRhLWxheW91dD1cImdyb3VwXCJdIC5teF9SZWFkUmVjZWlwdEdyb3VwIHtcbiAgICAgICAgICAgICAgICB0b3A6IHZhcigtLVRpbWVsaW5lQ2FyZF9SZWFkUmVjZWlwdEdyb3VwLWluc2V0LWJsb2NrLXN0YXJ0KTtcbiAgICAgICAgICAgIH1cblxuLm14X1RpbWVsaW5lQ2FyZCAubXhfRXZlbnRUaWxlW2RhdGEtbGF5b3V0PVwiYnViYmxlXCJdOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIHotaW5kZXg6IGF1dG87IC8qIGVuYWJsZSBiYWNrZ3JvdW5kIGNvbG9yIG9uIGhvdmVyICovXG4gICAgICAgICAgICB9XG5cbi5teF9UaW1lbGluZUNhcmQgLm14X0V2ZW50VGlsZVtkYXRhLWxheW91dD1cImJ1YmJsZVwiXS5teF9FdmVudFRpbGVfaW5mbyAubXhfTWVzc2FnZUFjdGlvbkJhciB7XG4gICAgICAgICAgICAgICAgLyogMXB4OiBib3JkZXIgd2lkdGggKi9cbiAgICAgICAgICAgICAgICBpbnNldC1pbmxpbmUtZW5kOiBjYWxjKDhweCArIDFweCk7XG4gICAgICAgICAgICAgICAgaW5zZXQtaW5saW5lLWVuZDogY2FsYyh2YXIoLS1jb250YWluZXItZ2FwLXdpZHRoKSArIDFweCk7XG4gICAgICAgICAgICB9XG5cbi5teF9UaW1lbGluZUNhcmQgLm14X0V2ZW50VGlsZVtkYXRhLWxheW91dD1cImJ1YmJsZVwiXSAubXhfUmVhY3Rpb25zUm93IHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IC8qIGRpc3BsYXkgb24gaG92ZXIgKi9cbiAgICAgICAgICAgIH1cblxuLm14X1RpbWVsaW5lQ2FyZCAubXhfTGVnYWN5Q2FsbEV2ZW50X3dyYXBwZXIge1xuICAgICAgICAtd2Via2l0LWJveC1wYWNrOiBjZW50ZXI7XG4gICAgICAgICAgICAtbXMtZmxleC1wYWNrOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIG1hcmdpbjogYXV0byA1cHg7XG4gICAgfVxuXG4ubXhfVGltZWxpbmVDYXJkIC5teF9MZWdhY3lDYWxsRXZlbnRfd3JhcHBlciAubXhfTGVnYWN5Q2FsbEV2ZW50IHtcbiAgICAgICAgICAgIG1hcmdpbjogNHB4O1xuICAgICAgICB9XG5cbi5teF9UaW1lbGluZUNhcmQgLm14X0dlbmVyaWNFdmVudExpc3RTdW1tYXJ5W2RhdGEtbGF5b3V0PVwiaXJjXCJdIC5teF9FdmVudFRpbGVfbGluZSxcbiAgICAgICAgICAgIC5teF9UaW1lbGluZUNhcmQgLm14X0dlbmVyaWNFdmVudExpc3RTdW1tYXJ5W2RhdGEtbGF5b3V0PVwiaXJjXCJdIC5teF9HZW5lcmljRXZlbnRMaXN0U3VtbWFyeV91bnN0eWxlZExpc3QgPiAubXhfRXZlbnRUaWxlX2luZm8gLm14X0V2ZW50VGlsZV9hdmF0YXIgfiAubXhfRXZlbnRUaWxlX2xpbmUsXG4gICAgICAgICAgICAubXhfVGltZWxpbmVDYXJkIC5teF9HZW5lcmljRXZlbnRMaXN0U3VtbWFyeVtkYXRhLWxheW91dD1cImdyb3VwXCJdIC5teF9FdmVudFRpbGVfbGluZSxcbiAgICAgICAgICAgIC5teF9UaW1lbGluZUNhcmQgLm14X0dlbmVyaWNFdmVudExpc3RTdW1tYXJ5W2RhdGEtbGF5b3V0PVwiZ3JvdXBcIl0gLm14X0dlbmVyaWNFdmVudExpc3RTdW1tYXJ5X3Vuc3R5bGVkTGlzdCA+IC5teF9FdmVudFRpbGVfaW5mbyAubXhfRXZlbnRUaWxlX2F2YXRhciB+IC5teF9FdmVudFRpbGVfbGluZSB7XG4gICAgICAgICAgICAgICAgLXdlYmtpdC1wYWRkaW5nLXN0YXJ0OiB2YXIoLS1CYXNlQ2FyZF9FdmVudFRpbGUtc3BhY2luZy1pbmxpbmUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1pbmxpbmUtc3RhcnQ6IHZhcigtLUJhc2VDYXJkX0V2ZW50VGlsZS1zcGFjaW5nLWlubGluZSk7XG4gICAgICAgICAgICAgICAgLXdlYmtpdC1wYWRkaW5nLWVuZDogNDZweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctaW5saW5lLWVuZDogNDZweDtcbiAgICAgICAgICAgICAgICAtd2Via2l0LXBhZGRpbmctZW5kOiB2YXIoLS1NZXNzYWdlVGltZXN0YW1wLXdpZHRoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctaW5saW5lLWVuZDogdmFyKC0tTWVzc2FnZVRpbWVzdGFtcC13aWR0aCk7IC8qIGVuc3VyZSB0aW1lc3RhbXAgaXMgbm90IGhpZGRlbiAqL1xuICAgICAgICAgICAgfVxuXG4ubXhfVGltZWxpbmVDYXJkIC5teF9XaG9Jc1R5cGluZ1RpbGUge1xuICAgICAgICBtYXJnaW4tbGVmdDogLTEycHg7IC8qIHVuZG8gcGFkZGluZyBvbiB0aGUgbWVzc2FnZSBsaXN0ICovXG4gICAgfVxuXG4ubXhfVGltZWxpbmVDYXJkIC5teF9XaG9Jc1R5cGluZ1RpbGVfYXZhdGFycyB7XG4gICAgICAgIC1tcy1mbGV4LXByZWZlcnJlZC1zaXplOiA0OHB4O1xuICAgICAgICAgICAgZmxleC1iYXNpczogNDhweDsgLyogMTIgKHBhZGRpbmcgb24gbWVzc2FnZSBsaXN0KSArIDM2IChwYWRkaW5nIG9uIGV2ZW50IGxpbmVzKSAqL1xuICAgIH1cblxuLyogUlIgbmV4dCB0byBhIG1lc3NhZ2Ugb24gdGhlIG1lc3NzZ2UgbGlzdCAqL1xuXG4ubXhfVGltZWxpbmVDYXJkIC5teF9HZW5lcmljRXZlbnRMaXN0U3VtbWFyeV91bnN0eWxlZExpc3QgLm14X0V2ZW50VGlsZVtkYXRhLWxheW91dD1cImJ1YmJsZVwiXSAubXhfUmVhZFJlY2VpcHRHcm91cCwgLm14X1RpbWVsaW5lQ2FyZCAubXhfUm9vbVZpZXdfTWVzc2FnZUxpc3QgLm14X0V2ZW50VGlsZVtkYXRhLWxheW91dD1cImJ1YmJsZVwiXSAubXhfUmVhZFJlY2VpcHRHcm91cCB7XG4gICAgICAgICAgICAgICAgLyogNnB4OiBzY3JvbGwgYmFyIHdpZHRoIChtYWdpYyBudW1iZXIpICovXG4gICAgICAgICAgICAgICAgLyogc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIGRlY2xhcmF0aW9uLWNvbG9uLXNwYWNlLWFmdGVyICovXG4gICAgICAgICAgICAgICAgaW5zZXQtaW5saW5lLWVuZDogY2FsYyhcbiAgICAgICAgICAgICAgICAgICAgLTEgKiB2YXIoLS1SZWFkUmVjZWlwdEdyb3VwX0V2ZW50QnViYmxlVGlsZS1zcGFjaW5nLWVuZCkgKyA4cHggKyA2cHhcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIGluc2V0LWlubGluZS1lbmQ6IGNhbGMoXG4gICAgICAgICAgICAgICAgICAgIC0xICogdmFyKC0tUmVhZFJlY2VpcHRHcm91cF9FdmVudEJ1YmJsZVRpbGUtc3BhY2luZy1lbmQpICsgdmFyKC0tY29udGFpbmVyLWdhcC13aWR0aCkgKyA2cHhcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfVxuXG4ubXhfVGltZWxpbmVDYXJkIC5teF9HZW5lcmljRXZlbnRMaXN0U3VtbWFyeV91bnN0eWxlZExpc3QgLm14X0V2ZW50VGlsZVtkYXRhLWxheW91dD1cImJ1YmJsZVwiXS5teF9FdmVudFRpbGVfaW5mbyAubXhfUmVhZFJlY2VpcHRHcm91cCwgLm14X1RpbWVsaW5lQ2FyZCAubXhfUm9vbVZpZXdfTWVzc2FnZUxpc3QgLm14X0V2ZW50VGlsZVtkYXRhLWxheW91dD1cImJ1YmJsZVwiXS5teF9FdmVudFRpbGVfaW5mbyAubXhfUmVhZFJlY2VpcHRHcm91cCB7XG4gICAgICAgICAgICAgICAgICAgIGluc2V0LWlubGluZS1lbmQ6IC00cHg7IC8qIGFsaWduIHdpdGggUlIgb3V0c2lkZSBvZiBpbmZvIHRpbGUgKi9cbiAgICAgICAgICAgICAgICB9XG5cbi8qXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cbkNvcHlyaWdodCAyMDE5IFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXG5Db3B5cmlnaHQgMjAxNSwgMjAxNiBPcGVuTWFya2V0IEx0ZFxuXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXG4qL1xuXG4ubXhfVXNlckluZm8ubXhfQmFzZUNhcmQge1xuICAgIC8qIFVzZXJJbmZvIGhhcyBhIGNpcmN1bGFyIGltYWdlIGF0IHRoZSB0b3Agc28gaXQgZml0cyBiZXR3ZWVuIHRoZSBiYWNrICYgY2xvc2UgYnV0dG9ucyAqL1xuICAgIHBhZGRpbmctdG9wOiAwO1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgZm9udC1zaXplOiB2YXIoLS1jcGQtZm9udC1zaXplLWJvZHktc20pO1xufVxuXG4ubXhfVXNlckluZm8ubXhfQmFzZUNhcmQgLm14X1VzZXJJbmZvX2NhbmNlbCB7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcm9vbWxpc3QtYmFja2dyb3VuZC1jb2xvcik7XG4gICAgICAgIG1hcmdpbjogOXB4O1xuICAgICAgICB6LWluZGV4OiAxOyAvKiByZW5kZXIgb24gdG9wIG9mIHRoZSByaWdodCBwYW5lbCAqL1xuICAgIH1cblxuLm14X1VzZXJJbmZvLm14X0Jhc2VDYXJkIC5teF9Vc2VySW5mb19jYW5jZWwgZGl2IHtcbiAgICAgICAgICAgIGhlaWdodDogMTZweDtcbiAgICAgICAgICAgIHdpZHRoOiAxNnB4O1xuICAgICAgICAgICAgcGFkZGluZzogNHB4O1xuICAgICAgICAgICAgLXdlYmtpdC1tYXNrLWltYWdlOiB1cmwoXCJAdmVjdG9yLWltL2NvbXBvdW5kLWRlc2lnbi10b2tlbnMvaWNvbnMvY2hldnJvbi1sZWZ0LnN2Z1wiKTtcbiAgICAgICAgICAgICAgICAgICAgbWFzay1pbWFnZTogdXJsKFwiQHZlY3Rvci1pbS9jb21wb3VuZC1kZXNpZ24tdG9rZW5zL2ljb25zL2NoZXZyb24tbGVmdC5zdmdcIik7XG4gICAgICAgICAgICAtd2Via2l0LW1hc2stcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgICAgICAgICAgIG1hc2stcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgICAtd2Via2l0LW1hc2stcG9zaXRpb246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgbWFzay1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ExYjJkMTtcbiAgICAgICAgfVxuXG4ubXhfVXNlckluZm8ubXhfQmFzZUNhcmQgLm14X1VzZXJJbmZvX2NvbnRhaW5lciB7XG4gICAgICAgIHBhZGRpbmc6IHZhcigtLWNwZC1zcGFjZS00eCkgMDtcbiAgICAgICAgbWFyZ2luOiAwIHZhcigtLWNwZC1zcGFjZS00eCk7XG4gICAgfVxuXG4ubXhfVXNlckluZm8ubXhfQmFzZUNhcmQgLm14X1VzZXJJbmZvX2NvbnRhaW5lciAubXhfVXNlckluZm9fY29udGFpbmVyX3ZlcmlmeUJ1dHRvbiB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiA4cHg7XG4gICAgICAgIH1cblxuLm14X1VzZXJJbmZvLm14X0Jhc2VDYXJkIC5teF9Vc2VySW5mb19jb250YWluZXIgKyAubXhfVXNlckluZm9fY29udGFpbmVyIHtcbiAgICAgICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1jcGQtY29sb3ItZ3JheS00MDApO1xuICAgICAgICB9XG5cbi5teF9Vc2VySW5mby5teF9CYXNlQ2FyZCAubXhfVXNlckluZm9fbWVtYmVyRGV0YWlsc0NvbnRhaW5lciB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogOHB4O1xuICAgIH1cblxuLm14X1VzZXJJbmZvLm14X0Jhc2VDYXJkIC5teF9Sb29tVGlsZV90aXRsZUNvbnRhaW5lciB7XG4gICAgICAgIHdpZHRoOiAxNTRweDtcbiAgICB9XG5cbi5teF9Vc2VySW5mby5teF9CYXNlQ2FyZCAubXhfUm9vbVRpbGVfYmFkZ2Uge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuLm14X1VzZXJJbmZvLm14X0Jhc2VDYXJkIC5teF9Sb29tVGlsZV90aXRsZSB7XG4gICAgICAgIHdpZHRoOiAxNjBweDtcbiAgICB9XG5cbi5teF9Vc2VySW5mby5teF9CYXNlQ2FyZCAubXhfVXNlckluZm9fYXZhdGFyIHtcbiAgICAgICAgbWFyZ2luOiAyNHB4IDMycHggMCAzMnB4O1xuICAgIH1cblxuLm14X1VzZXJJbmZvLm14X0Jhc2VDYXJkIC5teF9Vc2VySW5mb19hdmF0YXIgLm14X1VzZXJJbmZvX2F2YXRhcl90cmFuc2l0aW9uIHtcbiAgICAgICAgICAgIG1heC13aWR0aDogMTIwcHg7XG4gICAgICAgICAgICBhc3BlY3QtcmF0aW86IDEgLyAxO1xuICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgICAgICAtd2Via2l0LXRyYW5zaXRpb246IDAuNXM7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiAwLjVzO1xuICAgICAgICB9XG5cbi5teF9Vc2VySW5mby5teF9CYXNlQ2FyZCAubXhfVXNlckluZm9fYXZhdGFyIC5teF9Vc2VySW5mb19hdmF0YXJfdHJhbnNpdGlvbiAubXhfQmFzZUF2YXRhciB7XG4gICAgICAgICAgICAgICAgLyogT3ZlcnJpZGUgdGhlIGNhbGN1bGF0ZWQgZm9udC1zaXplIHNvIHRoYXQgdGhlIGxldHRlciBpc24ndCB0aW55ICovXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiA0cmVtO1xuICAgICAgICAgICAgfVxuXG4ubXhfVXNlckluZm8ubXhfQmFzZUNhcmQgLm14X1VzZXJJbmZvX2F2YXRhciAubXhfVXNlckluZm9fYXZhdGFyX3RyYW5zaXRpb24gLm14X0Jhc2VBdmF0YXIsXG4gICAgICAgICAgICAubXhfVXNlckluZm8ubXhfQmFzZUNhcmQgLm14X1VzZXJJbmZvX2F2YXRhciAubXhfVXNlckluZm9fYXZhdGFyX3RyYW5zaXRpb24gLm14X0Jhc2VBdmF0YXIgaW1nIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICB9XG5cbi5teF9Vc2VySW5mby5teF9CYXNlQ2FyZCBoMiB7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIGNvbG9yOiAjZWRmM2ZmO1xuICAgICAgICBjb2xvcjogdmFyKC0tdGVydGlhcnktY29udGVudCwgI2VkZjNmZik7XG4gICAgICAgIGZvbnQ6IHZhcigtLWNwZC1mb250LWJvZHktbWQtc2VtaWJvbGQpO1xuICAgICAgICBmb250LXdlaWdodDogdmFyKC0tY3BkLWZvbnQtd2VpZ2h0LXNlbWlib2xkKTtcbiAgICAgICAgbWFyZ2luOiA0cHggMDtcbiAgICB9XG5cbi5teF9Vc2VySW5mby5teF9CYXNlQ2FyZCBwIHtcbiAgICAgICAgbWFyZ2luOiA1cHggMDtcbiAgICB9XG5cbi5teF9Vc2VySW5mby5teF9CYXNlQ2FyZCAubXhfVXNlckluZm9fcHJvZmlsZSBoMSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDEuMjVyZW07XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS41NjI1cmVtO1xuXG4gICAgICAgICAgICAvKiBsaW1pdCB0byAyIGxpbmVzLCBzaG93IGFuIGVsbGlwc2lzIGlmIGl0IG92ZXJmbG93cyAqL1xuICAgICAgICAgICAgLyogdGhpcyBsb29rcyB3ZWJraXQgc3BlY2lmaWMgYnV0IGlzIHN1cHBvcnRlZCBieSBGaXJlZm94IDY4KyAqL1xuICAgICAgICAgICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gICAgICAgICAgICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xuICAgICAgICAgICAgLXdlYmtpdC1saW5lLWNsYW1wOiAyO1xuXG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgICAgd29yZC1icmVhazogYnJlYWstYWxsO1xuICAgICAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgICAgIH1cblxuLyogRTJFIGljb24gd3JhcHBlciAqL1xuXG4ubXhfVXNlckluZm8ubXhfQmFzZUNhcmQgLm14X1VzZXJJbmZvX3Byb2ZpbGUgaDEgLm14X0ZsZXggPiBzcGFuIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICB9XG5cbi5teF9Vc2VySW5mby5teF9CYXNlQ2FyZCAubXhfVXNlckluZm9fcHJvZmlsZSAubXhfVXNlckluZm9fcHJvZmlsZVN0YXR1cyB7XG4gICAgICAgICAgICBtYXJnaW46IHZhcigtLWNwZC1zcGFjZS0xeCkgMDtcbiAgICAgICAgfVxuXG4ubXhfVXNlckluZm8ubXhfQmFzZUNhcmQgLm14X1VzZXJJbmZvX3RpbWV6b25lIHtcbiAgICAgICAgbWFyZ2luOiB2YXIoLS1jcGQtc3BhY2UtMXgpIDA7XG4gICAgfVxuXG4ubXhfVXNlckluZm8ubXhfQmFzZUNhcmQgLm14X1ByZXNlbmNlTGFiZWwge1xuICAgICAgICBmb250OiB2YXIoLS1jcGQtZm9udC1ib2R5LXNtLXJlZ3VsYXIpO1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgIH1cblxuLm14X1VzZXJJbmZvLm14X0Jhc2VDYXJkIC5teF9Vc2VySW5mb19tZW1iZXJEZXRhaWxzIC5teF9Vc2VySW5mb19wcm9maWxlRmllbGQge1xuICAgICAgICAgICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gICAgICAgICAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAtd2Via2l0LWJveC1wYWNrOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgLW1zLWZsZXgtcGFjazogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgICAgICAgICAgbWFyZ2luOiA2cHggMDtcbiAgICAgICAgfVxuXG4ubXhfVXNlckluZm8ubXhfQmFzZUNhcmQgLm14X1VzZXJJbmZvX21lbWJlckRldGFpbHMgLm14X1VzZXJJbmZvX3Byb2ZpbGVGaWVsZCAubXhfVXNlckluZm9fcm9sZURlc2NyaXB0aW9uIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgIC13ZWJraXQtYm94LXBhY2s6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgLW1zLWZsZXgtcGFjazogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgLyogdHJ5IHRvIG1ha2UgaXQgdGhlIHNhbWUgaGVpZ2h0IGFzIHRoZSBkcm9wZG93biAqL1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMTFweCAwIDEycHggMDtcbiAgICAgICAgICAgIH1cblxuLm14X1VzZXJJbmZvLm14X0Jhc2VDYXJkIC5teF9Vc2VySW5mb19tZW1iZXJEZXRhaWxzIC5teF9Vc2VySW5mb19wcm9maWxlRmllbGQgLm14X0ZpZWxkIHtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICB9XG5cbi5teF9Vc2VySW5mby5teF9CYXNlQ2FyZCAubXhfVXNlckluZm9fZmllbGQge1xuICAgICAgICBsaW5lLWhlaWdodDogMXJlbTtcbiAgICB9XG5cbi5teF9Vc2VySW5mby5teF9CYXNlQ2FyZCAubXhfVXNlckluZm9fc3RhdHVzTWVzc2FnZSB7XG5cbiAgICAgICAgZm9udDogdmFyKC0tY3BkLWZvbnQtYm9keS1zbS1yZWd1bGFyKTtcbiAgICAgICAgZm9udC1zaXplOiAwLjY4NzVyZW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxcmVtO1xuICAgICAgICBvcGFjaXR5OiAwLjU7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIHdvcmQtYnJlYWs6IGJyZWFrLXdvcmQ7XG4gICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgICAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgICAgICAgbWF4LWhlaWdodDogY2FsYygxcmVtICogMyk7XG4gICAgICAgIC13ZWJraXQtbGluZS1jbGFtcDogMztcbiAgICAgICAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcbiAgICB9XG5cbi5teF9Vc2VySW5mby5teF9CYXNlQ2FyZCAubXhfQXV0b0hpZGVTY3JvbGxiYXIge1xuICAgICAgICAtd2Via2l0LWJveC1mbGV4OiAxO1xuICAgICAgICAgICAgLW1zLWZsZXg6IDEgMSAwcHg7XG4gICAgICAgICAgICAgICAgZmxleDogMSAxIDA7XG4gICAgfVxuXG4ubXhfVXNlckluZm8ubXhfQmFzZUNhcmQgLm14X1VzZXJJbmZvX2RldmljZXMgLm14X1VzZXJJbmZvX2RldmljZSB7XG4gICAgICAgICAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgICAgICAgICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIG1hcmdpbjogOHB4IDA7XG4gICAgICAgIH1cblxuLm14X1VzZXJJbmZvLm14X0Jhc2VDYXJkIC5teF9Vc2VySW5mb19kZXZpY2VzIC5teF9Vc2VySW5mb19kZXZpY2UubXhfVXNlckluZm9fZGV2aWNlX3ZlcmlmaWVkIC5teF9Vc2VySW5mb19kZXZpY2VfdHJ1c3RlZCB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAjMGRiZDhiO1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tYWNjZW50LWNvbG9yLCAjMGRiZDhiKTtcbiAgICAgICAgICAgICAgICB9XG5cbi5teF9Vc2VySW5mby5teF9CYXNlQ2FyZCAubXhfVXNlckluZm9fZGV2aWNlcyAubXhfVXNlckluZm9fZGV2aWNlLm14X1VzZXJJbmZvX2RldmljZV91bnZlcmlmaWVkIC5teF9Vc2VySW5mb19kZXZpY2VfdHJ1c3RlZCB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAjZmY1YjU1O1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tYWxlcnQsICNmZjViNTUpO1xuICAgICAgICAgICAgICAgIH1cblxuLm14X1VzZXJJbmZvLm14X0Jhc2VDYXJkIC5teF9Vc2VySW5mb19kZXZpY2VzIC5teF9Vc2VySW5mb19kZXZpY2UgLm14X1VzZXJJbmZvX2RldmljZV9uYW1lIHtcbiAgICAgICAgICAgICAgICAtd2Via2l0LWJveC1mbGV4OiAxO1xuICAgICAgICAgICAgICAgICAgICAtbXMtZmxleDogMTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZsZXg6IDE7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIDVweDtcbiAgICAgICAgICAgICAgICB3b3JkLWJyZWFrOiBicmVhay13b3JkO1xuICAgICAgICAgICAgfVxuXG4vKiBib3RoIGZvciBpY29uIGluIGV4cGFuZCBidXR0b24gYW5kIGRldmljZSBpdGVtICovXG5cbi5teF9Vc2VySW5mby5teF9CYXNlQ2FyZCAubXhfVXNlckluZm9fZGV2aWNlcyAubXhfRTJFSWNvbiB7XG4gICAgICAgICAgICAvKiBkb24ndCBzcXVlZXplICovXG4gICAgICAgICAgICAtd2Via2l0LWJveC1mbGV4OiAwO1xuICAgICAgICAgICAgICAgIC1tcy1mbGV4OiAwIDAgYXV0bztcbiAgICAgICAgICAgICAgICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICB3aWR0aDogMTJweDtcbiAgICAgICAgICAgIGhlaWdodDogMTJweDtcbiAgICAgICAgfVxuXG4ubXhfVXNlckluZm8ubXhfQmFzZUNhcmQgLm14X1VzZXJJbmZvX2RldmljZXMgLm14X1VzZXJJbmZvX2V4cGFuZCB7XG4gICAgICAgICAgICAtd2Via2l0LWNvbHVtbi1nYXA6IDVweDtcbiAgICAgICAgICAgICAgIC1tb3otY29sdW1uLWdhcDogNXB4O1xuICAgICAgICAgICAgICAgICAgICBjb2x1bW4tZ2FwOiA1cHg7IC8qIGNmOiBteF9Vc2VySW5mb19kZXZpY2VfbmFtZSAqL1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTFweDtcbiAgICAgICAgICAgIC13ZWJraXQtYm94LWFsaWduOiBpbml0aWFsO1xuICAgICAgICAgICAgICAgIC1tcy1mbGV4LWFsaWduOiBpbml0aWFsO1xuICAgICAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogaW5pdGlhbDsgLyogQ2FuY2VsIHRoZSBkZWZhdWx0IHByb3BlcnR5ICovXG4gICAgICAgIH1cblxuLm14X1VzZXJJbmZvLm14X0Jhc2VDYXJkLm14X1VzZXJJbmZvX3NtYWxsQXZhdGFyIC5teF9Vc2VySW5mb19hdmF0YXIgLm14X1VzZXJJbmZvX2F2YXRhcl90cmFuc2l0aW9uIHtcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDcycHg7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgICAgICB9XG5cbi5teF9Vc2VySW5mby5teF9CYXNlQ2FyZC5teF9Vc2VySW5mb19zbWFsbEF2YXRhciAubXhfVXNlckluZm9fYXZhdGFyIC5teF9CYXNlQXZhdGFyIHtcbiAgICAgICAgICAgICAgICAvKiBPdmVycmlkZSB0aGUgY2FsY3VsYXRlZCBmb250LXNpemUgc28gdGhhdCB0aGUgbGV0dGVyIGlzbid0IHRpbnkgKi9cbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDJyZW07XG4gICAgICAgICAgICB9XG5cbi8qXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cbkNvcHlyaWdodCAyMDIwIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXG5cblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cbiovXG5cbi8qIGNlbnRlciB0aGUgYmlnIHNoaWVsZCBpY29uICovXG5cbi5teF9WZXJpZmljYXRpb25QYW5lbF92ZXJpZmllZF9zZWN0aW9uIC5teF9FMkVJY29uLCAubXhfVmVyaWZpY2F0aW9uUGFuZWxfcmVjaXByb2NhdGVfc2VjdGlvbiAubXhfRTJFSWNvbiB7XG4gICAgICAgIC8qIE92ZXJyaWRlIGdlbmVyYWwgdXNlciBpbmZvIG1hcmdpbiAqL1xuICAgICAgICBtYXJnaW46IDIwcHggYXV0byAhaW1wb3J0YW50O1xuICAgIH1cblxuLm14X1VzZXJJbmZvLm14X0Jhc2VDYXJkIC5teF9Vc2VySW5mb19jb250YWluZXI6bm90KC5teF9Vc2VySW5mb19zZXBhcmF0b3IpID4gZGl2ID4gcCB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgfVxuXG4ubXhfVXNlckluZm8ubXhfQmFzZUNhcmQgLm14X1VzZXJJbmZvX2NvbnRhaW5lcjpub3QoLm14X1VzZXJJbmZvX3NlcGFyYXRvcikgLm14X1ZlcmlmaWNhdGlvblBhbmVsX3ZlcmlmeUJ5RW1vamlCdXR0b24sXG4gICAgICAgIC5teF9Vc2VySW5mby5teF9CYXNlQ2FyZCAubXhfVXNlckluZm9fY29udGFpbmVyOm5vdCgubXhfVXNlckluZm9fc2VwYXJhdG9yKSAubXhfVXNlckluZm9fd2lkZUJ1dHRvbiB7XG4gICAgICAgICAgICB3aWR0aDogLXdlYmtpdC1maXQtY29udGVudDtcbiAgICAgICAgICAgIHdpZHRoOiAtbW96LWZpdC1jb250ZW50O1xuICAgICAgICAgICAgd2lkdGg6IGZpdC1jb250ZW50O1xuICAgICAgICB9XG5cbi5teF9Vc2VySW5mby5teF9CYXNlQ2FyZCAubXhfVXNlckluZm9fY29udGFpbmVyOm5vdCgubXhfVXNlckluZm9fc2VwYXJhdG9yKSAubXhfRW5jcnlwdGlvbkluZm9fc3Bpbm5lcixcbiAgICAgICAgLm14X1VzZXJJbmZvLm14X0Jhc2VDYXJkIC5teF9Vc2VySW5mb19jb250YWluZXI6bm90KC5teF9Vc2VySW5mb19zZXBhcmF0b3IpIC5teF9WZXJpZmljYXRpb25TaG93U2FzIHtcbiAgICAgICAgICAgIC13ZWJraXQtbWFyZ2luLXN0YXJ0OiBhdXRvO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4taW5saW5lLXN0YXJ0OiBhdXRvO1xuICAgICAgICAgICAgLXdlYmtpdC1tYXJnaW4tZW5kOiBhdXRvO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4taW5saW5lLWVuZDogYXV0bztcbiAgICAgICAgfVxuXG4ubXhfVXNlckluZm8ubXhfQmFzZUNhcmQgLm14X1VzZXJJbmZvX2NvbnRhaW5lcjpub3QoLm14X1VzZXJJbmZvX3NlcGFyYXRvcikgLm14X1NwaW5uZXIsXG4gICAgICAgIC5teF9Vc2VySW5mby5teF9CYXNlQ2FyZCAubXhfVXNlckluZm9fY29udGFpbmVyOm5vdCgubXhfVXNlckluZm9fc2VwYXJhdG9yKSAubXhfVmVyaWZpY2F0aW9uU2hvd1NhcyB7XG4gICAgICAgICAgICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIH1cblxuLm14X1VzZXJJbmZvLm14X0Jhc2VDYXJkIC5teF9FbmNyeXB0aW9uUGFuZWxfY2FuY2VsIHtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHdpZHRoOiAyOHB4O1xuICAgICAgICBoZWlnaHQ6IDI4cHg7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDE0cHg7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNwZC1jb2xvci1iZy1zdWJ0bGUtc2Vjb25kYXJ5KTtcbiAgICB9XG5cbi5teF9Vc2VySW5mby5teF9CYXNlQ2FyZCAubXhfRW5jcnlwdGlvblBhbmVsX2NhbmNlbDpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNwZC1jb2xvci1iZy1zdWJ0bGUtcHJpbWFyeSk7XG4gICAgfVxuXG4ubXhfVXNlckluZm8ubXhfQmFzZUNhcmQgLm14X0VuY3J5cHRpb25QYW5lbF9jYW5jZWw6OmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIHdpZHRoOiAyOHB4O1xuICAgICAgICBoZWlnaHQ6IDI4cHg7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAtd2Via2l0LW1hc2staW1hZ2U6IHVybChcIkB2ZWN0b3ItaW0vY29tcG91bmQtZGVzaWduLXRva2Vucy9pY29ucy9jbG9zZS5zdmdcIik7XG4gICAgICAgICAgICAgICAgbWFzay1pbWFnZTogdXJsKFwiQHZlY3Rvci1pbS9jb21wb3VuZC1kZXNpZ24tdG9rZW5zL2ljb25zL2Nsb3NlLnN2Z1wiKTtcbiAgICAgICAgLXdlYmtpdC1tYXNrLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgICAgICAgIG1hc2stcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgIC13ZWJraXQtbWFzay1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgICAgICAgICAgIG1hc2stcG9zaXRpb246IGNlbnRlcjtcbiAgICAgICAgLXdlYmtpdC1tYXNrLXNpemU6IDIwcHg7XG4gICAgICAgICAgICAgICAgbWFzay1zaXplOiAyMHB4O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jcGQtY29sb3ItaWNvbi1zZWNvbmRhcnkpO1xuICAgIH1cblxuLm14X1VzZXJJbmZvLm14X0Jhc2VDYXJkIC5teF9FbmNyeXB0aW9uUGFuZWxfY2FuY2VsIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB6LWluZGV4OiAxMDA7XG4gICAgICAgIHRvcDogMTRweDtcbiAgICAgICAgcmlnaHQ6IDE0cHg7XG59XG5cbi5teF9Vc2VySW5mby5teF9CYXNlQ2FyZCAubXhfVmVyaWZpY2F0aW9uUGFuZWxfcXJDb2RlIHtcbiAgICAgICAgcGFkZGluZzogNHB4IDRweCAwIDRweDtcbiAgICAgICAgYmFja2dyb3VuZDogd2hpdGU7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgICAgICAgd2lkdGg6IC13ZWJraXQtbWF4LWNvbnRlbnQ7XG4gICAgICAgIHdpZHRoOiAtbW96LW1heC1jb250ZW50O1xuICAgICAgICB3aWR0aDogbWF4LWNvbnRlbnQ7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgLyogT3ZlcnJpZGUgZ2VuZXJhbCB1c2VyIGluZm8gbWFyZ2luICovXG4gICAgICAgIG1hcmdpbjogMCBhdXRvICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4ubXhfVXNlckluZm8ubXhfQmFzZUNhcmQgLm14X1ZlcmlmaWNhdGlvblBhbmVsX3FyQ29kZSBjYW52YXMge1xuICAgICAgICAgICAgLyogb3ZlcnJpZGUgaGVpZ2h0IGFuZCB3aWR0aCB3aGljaCBhcmUgc2V0IG9uIHRoZSBlbGVtZW50IGRpcmVjdGx5ICovXG4gICAgICAgICAgICBoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDI0MHB4O1xuICAgICAgICB9XG5cbi5teF9Vc2VySW5mby5teF9CYXNlQ2FyZCAubXhfVmVyaWZpY2F0aW9uUGFuZWxfcmVjaXByb2NhdGVfc2VjdGlvbiAubXhfQWNjZXNzaWJsZUJ1dHRvbiB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgICAgICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDEwcHg7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIG1hcmdpbjogMTBweCAwO1xuICAgICAgICB9XG5cbi8qIFNwZWNpYWwgY2FzZSBzdHlsaW5nIGZvciBFbmNyeXB0aW9uUGFuZWwgaW4gYSBNb2RhbCBkaWFsb2cgKi9cblxuLm14X0RpYWxvZyAubXhfVmVyaWZpY2F0aW9uUGFuZWxfUVJQaGFzZV9zdGFydE9wdGlvbnMsIC5teF9Db21wbGV0ZVNlY3VyaXR5X2JvZHkgLm14X1ZlcmlmaWNhdGlvblBhbmVsX1FSUGhhc2Vfc3RhcnRPcHRpb25zIHtcbiAgICAgICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gICAgICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBtYXJnaW4tdG9wOiAxMHB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgICAgICAtd2Via2l0LWJveC1hbGlnbjogc3RyZXRjaDtcbiAgICAgICAgICAgIC1tcy1mbGV4LWFsaWduOiBzdHJldGNoO1xuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgICAgICAtd2Via2l0LWJveC1wYWNrOiBjZW50ZXI7XG4gICAgICAgICAgICAtbXMtZmxleC1wYWNrOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgfVxuXG4ubXhfRGlhbG9nIC5teF9WZXJpZmljYXRpb25QYW5lbF9RUlBoYXNlX3N0YXJ0T3B0aW9ucyA+IC5teF9WZXJpZmljYXRpb25QYW5lbF9RUlBoYXNlX2JldHdlZW5UZXh0LCAubXhfQ29tcGxldGVTZWN1cml0eV9ib2R5IC5teF9WZXJpZmljYXRpb25QYW5lbF9RUlBoYXNlX3N0YXJ0T3B0aW9ucyA+IC5teF9WZXJpZmljYXRpb25QYW5lbF9RUlBoYXNlX2JldHdlZW5UZXh0IHtcbiAgICAgICAgICAgIHdpZHRoOiA1MHB4O1xuICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICAgICAgICAgICAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgLXdlYmtpdC1ib3gtcGFjazogY2VudGVyO1xuICAgICAgICAgICAgICAgIC1tcy1mbGV4LXBhY2s6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIH1cblxuLm14X0RpYWxvZyAubXhfVmVyaWZpY2F0aW9uUGFuZWxfUVJQaGFzZV9zdGFydE9wdGlvbnMgLm14X1ZlcmlmaWNhdGlvblBhbmVsX1FSUGhhc2Vfc3RhcnRPcHRpb24sIC5teF9Db21wbGV0ZVNlY3VyaXR5X2JvZHkgLm14X1ZlcmlmaWNhdGlvblBhbmVsX1FSUGhhc2Vfc3RhcnRPcHRpb25zIC5teF9WZXJpZmljYXRpb25QYW5lbF9RUlBoYXNlX3N0YXJ0T3B0aW9uIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXJvb21saXN0LWJhY2tncm91bmQtY29sb3IpO1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgICAgICAgICAgIC13ZWJraXQtYm94LWZsZXg6IDE7XG4gICAgICAgICAgICAgICAgLW1zLWZsZXg6IDE7XG4gICAgICAgICAgICAgICAgICAgIGZsZXg6IDE7XG4gICAgICAgICAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgICAgICAgICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDIwcHg7XG4gICAgICAgICAgICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xuICAgICAgICAgICAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiBub3JtYWw7XG4gICAgICAgICAgICAgICAgLW1zLWZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDMxMHB4O1xuICAgICAgICAgICAgLXdlYmtpdC1ib3gtcGFjazoganVzdGlmeTtcbiAgICAgICAgICAgICAgICAtbXMtZmxleC1wYWNrOiBqdXN0aWZ5O1xuICAgICAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgIH1cblxuLm14X0RpYWxvZyAubXhfVmVyaWZpY2F0aW9uUGFuZWxfUVJQaGFzZV9zdGFydE9wdGlvbnMgLm14X1ZlcmlmaWNhdGlvblBhbmVsX1FSUGhhc2Vfc3RhcnRPcHRpb24gY2FudmFzLFxuICAgICAgICAgICAgLm14X0RpYWxvZyAubXhfVmVyaWZpY2F0aW9uUGFuZWxfUVJQaGFzZV9zdGFydE9wdGlvbnMgLm14X1ZlcmlmaWNhdGlvblBhbmVsX1FSUGhhc2Vfc3RhcnRPcHRpb24gLm14X1ZlcmlmaWNhdGlvblBhbmVsX1FSUGhhc2Vfbm9RUixcbiAgICAgICAgICAgIC5teF9Db21wbGV0ZVNlY3VyaXR5X2JvZHkgLm14X1ZlcmlmaWNhdGlvblBhbmVsX1FSUGhhc2Vfc3RhcnRPcHRpb25zIC5teF9WZXJpZmljYXRpb25QYW5lbF9RUlBoYXNlX3N0YXJ0T3B0aW9uIGNhbnZhcyxcbiAgICAgICAgICAgIC5teF9Db21wbGV0ZVNlY3VyaXR5X2JvZHkgLm14X1ZlcmlmaWNhdGlvblBhbmVsX1FSUGhhc2Vfc3RhcnRPcHRpb25zIC5teF9WZXJpZmljYXRpb25QYW5lbF9RUlBoYXNlX3N0YXJ0T3B0aW9uIC5teF9WZXJpZmljYXRpb25QYW5lbF9RUlBoYXNlX25vUVIge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAyMjBweCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgIGhlaWdodDogMjIwcHggIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgICAgICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAxMHB4O1xuICAgICAgICAgICAgfVxuXG4ubXhfRGlhbG9nIC5teF9WZXJpZmljYXRpb25QYW5lbF9RUlBoYXNlX3N0YXJ0T3B0aW9ucyAubXhfVmVyaWZpY2F0aW9uUGFuZWxfUVJQaGFzZV9zdGFydE9wdGlvbiA+IHAsIC5teF9Db21wbGV0ZVNlY3VyaXR5X2JvZHkgLm14X1ZlcmlmaWNhdGlvblBhbmVsX1FSUGhhc2Vfc3RhcnRPcHRpb25zIC5teF9WZXJpZmljYXRpb25QYW5lbF9RUlBoYXNlX3N0YXJ0T3B0aW9uID4gcCB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICAgICAgfVxuXG4ubXhfRGlhbG9nIC5teF9WZXJpZmljYXRpb25QYW5lbF9RUlBoYXNlX3N0YXJ0T3B0aW9ucyAubXhfVmVyaWZpY2F0aW9uUGFuZWxfUVJQaGFzZV9zdGFydE9wdGlvbiAubXhfVmVyaWZpY2F0aW9uUGFuZWxfUVJQaGFzZV9oZWxwVGV4dCwgLm14X0NvbXBsZXRlU2VjdXJpdHlfYm9keSAubXhfVmVyaWZpY2F0aW9uUGFuZWxfUVJQaGFzZV9zdGFydE9wdGlvbnMgLm14X1ZlcmlmaWNhdGlvblBhbmVsX1FSUGhhc2Vfc3RhcnRPcHRpb24gLm14X1ZlcmlmaWNhdGlvblBhbmVsX1FSUGhhc2VfaGVscFRleHQge1xuICAgICAgICAgICAgICAgIGZvbnQ6IHZhcigtLWNwZC1mb250LWJvZHktbWQtcmVndWxhcik7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAzMHB4IDA7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgfVxuXG4vKiBFbmNyeXB0aW9uUGFuZWwgd2hlbiB2ZXJpZmljYXRpb24gaXMgZG9uZSAqL1xuXG4vKiByaWdodCBhbGlnbiB0aGUgXCJHb3QgaXRcIiBidXR0b24gKi9cblxuLm14X0RpYWxvZyAubXhfVmVyaWZpY2F0aW9uUGFuZWxfdmVyaWZpZWRfc2VjdGlvbiAubXhfQWNjZXNzaWJsZUJ1dHRvbiwgLm14X0NvbXBsZXRlU2VjdXJpdHlfYm9keSAubXhfVmVyaWZpY2F0aW9uUGFuZWxfdmVyaWZpZWRfc2VjdGlvbiAubXhfQWNjZXNzaWJsZUJ1dHRvbiB7XG4gICAgICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgIH1cblxuLm14X0RpYWxvZyAubXhfVmVyaWZpY2F0aW9uUGFuZWxfcmVjaXByb2NhdGVfc2VjdGlvbiAubXhfQWNjZXNzaWJsZUJ1dHRvbiwgLm14X0NvbXBsZXRlU2VjdXJpdHlfYm9keSAubXhfVmVyaWZpY2F0aW9uUGFuZWxfcmVjaXByb2NhdGVfc2VjdGlvbiAubXhfQWNjZXNzaWJsZUJ1dHRvbiB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMTBweDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDdweCA0MHB4O1xuICAgICAgICB9XG5cbi5teF9EaWFsb2cgLm14X1ZlcmlmaWNhdGlvblBhbmVsX3JlY2lwcm9jYXRlX3NlY3Rpb24gLm14X1ZlcmlmaWNhdGlvblBhbmVsX3JlY2lwcm9jYXRlQnV0dG9ucywgLm14X0NvbXBsZXRlU2VjdXJpdHlfYm9keSAubXhfVmVyaWZpY2F0aW9uUGFuZWxfcmVjaXByb2NhdGVfc2VjdGlvbiAubXhfVmVyaWZpY2F0aW9uUGFuZWxfcmVjaXByb2NhdGVCdXR0b25zIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICAgICAgICAgICAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgLXdlYmtpdC1ib3gtb3JpZW50OiBob3Jpem9udGFsO1xuICAgICAgICAgICAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiBub3JtYWw7XG4gICAgICAgICAgICAgICAgLW1zLWZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgICAgICAtd2Via2l0LWJveC1wYWNrOiBlbmQ7XG4gICAgICAgICAgICAgICAgLW1zLWZsZXgtcGFjazogZW5kO1xuICAgICAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgICAgICB9XG5cbi8qXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cbkNvcHlyaWdodCAyMDIwIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXG5cblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cbiovXG5cbi5teF9XaWRnZXRDYXJkIC5teF9BcHBUaWxlRnVsbFdpZHRoIHtcbiAgICAgICAgbWF4LXdpZHRoOiBub25lO1xuICAgICAgICBtYXgtd2lkdGg6IGluaXRpYWw7XG4gICAgICAgIHdpZHRoOiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgYm9yZGVyOiAwO1xuICAgIH1cblxuLypcbkNvcHlyaWdodCAyMDE5LTIwMjQgTmV3IFZlY3RvciBMdGQuXG5cblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cbiovXG5cbi5teF9BbGlhc1NldHRpbmdzX2xvY2FsQWRkcmVzc2VzIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgY29sb3I6IHZhcigtLWNwZC1jb2xvci10ZXh0LXByaW1hcnkpO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1jcGQtZm9udC13ZWlnaHQtc2VtaWJvbGQpO1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgd2lkdGg6IC13ZWJraXQtZml0LWNvbnRlbnQ7XG4gICAgd2lkdGg6IC1tb3otZml0LWNvbnRlbnQ7XG4gICAgd2lkdGg6IGZpdC1jb250ZW50O1xufVxuXG4vKiBsaXN0LXN0eWxlIGRvZXNuJ3QgZG8gaXQgZm9yIHdlYmtpdCAqL1xuXG4ubXhfQWxpYXNTZXR0aW5nc19sb2NhbEFkZHJlc3Nlczo6LXdlYmtpdC1kZXRhaWxzLW1hcmtlciB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4vKlxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXG5Db3B5cmlnaHQgMjAxOSBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxuQ29weXJpZ2h0IDIwMTUsIDIwMTYgT3Blbk1hcmtldCBMdGRcblxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuKi9cblxuOnJvb3Qge1xuICAgIC0tQXBwVGlsZV9taW5pLWhlaWdodDogMjIwcHg7XG59XG5cbi5teF9BcHBzRHJhd2VyIHtcbiAgICAtLW1pbldpZHRoOiAyNDBweDsgLyogVE9ETyB0aGlzIHNob3VsZCBiZSAzMDBweCBidXQgdGhhdCdzIHRvbyBsYXJnZSAqL1xuXG4gICAgbWFyZ2luOiA4cHg7XG5cbiAgICBtYXJnaW46IHZhcigtLWNvbnRhaW5lci1nYXAtd2lkdGgpO1xuICAgIC8qIFRoZSBsZWZ0IHNpZGUgZ2FwIGlzIGZ1bGx5IGhhbmRsZWQgYnkgdGhpcyBtYXJnaW4uIFRvIHByb2hpYml0IGJsZWVkaW5nIG9uIHdlYmtpdCBicm93c2VyLiAqL1xuICAgIG1hcmdpbi1yaWdodDogY2FsYyg4cHggLyAyKTtcbiAgICBtYXJnaW4tcmlnaHQ6IGNhbGModmFyKC0tY29udGFpbmVyLWdhcC13aWR0aCkgLyAyKTtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyAvKiBObyBib3R0b20gbWFyZ2luIGZvciB0aGUgY29ycmVjdCBnYXAgdG8gdGhlIENhbGxWaWV3IGJlbG93LiAqL1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWw7XG4gICAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiBub3JtYWw7XG4gICAgICAgIC1tcy1mbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIC13ZWJraXQtYm94LWZsZXg6IDE7XG4gICAgICAgIC1tcy1mbGV4LXBvc2l0aXZlOiAxO1xuICAgICAgICAgICAgZmxleC1ncm93OiAxO1xufVxuXG4ubXhfQXBwc0RyYXdlciAubXhfQXBwc0RyYXdlcl9yZXNpemVyIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogOHB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS1jb250YWluZXItZ2FwLXdpZHRoKTtcbiAgICB9XG5cbi5teF9BcHBzRHJhd2VyIC5teF9BcHBzRHJhd2VyX3Jlc2l6ZXJfY29udGFpbmVyIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTBweDtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB9XG5cbi5teF9BcHBzRHJhd2VyIC5teF9BcHBzRHJhd2VyX3Jlc2l6ZXJfY29udGFpbmVyIC5teF9BcHBzRHJhd2VyX3Jlc2l6ZXJfY29udGFpbmVyX2hhbmRsZSB7XG4gICAgICAgICAgICBjdXJzb3I6IG5zLXJlc2l6ZTtcblxuICAgICAgICAgICAgLyogT3ZlcnJpZGUgc3R5bGVzIGZyb20gbGlicmFyeSwgbWFraW5nIHRoZSB3aG9sZSBhcmVhIHRoZSB0YXJnZXQgYXJlYSAqL1xuICAgICAgICAgICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJSAhaW1wb3J0YW50O1xuXG4gICAgICAgICAgICAvKiBUaGlzIGlzIHBvc2l0aW9uZWQgZGlyZWN0bHkgYmVsb3cgZnJhbWUgKi9cbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIGJvdHRvbTogNTAlICFpbXBvcnRhbnQ7IC8qIG92ZXJyaWRlIGZyb20gbGlicmFyeSAqL1xuXG4gICAgICAgICAgICAvKiBXZSB0aGVuIHJlbmRlciB0aGUgcGlsbCBoYW5kbGUgaW4gYW4gOjphZnRlciB0byBrZWVwIGl0IGluIHRoZSBoYW5kbGUncyAqL1xuICAgICAgICB9XG5cbi8qIGFyZWEgd2l0aG91dCBiZWluZyBhIG1hc3NpdmUgbGluZSBhY3Jvc3MgdGhlIHNjcmVlbiAqL1xuXG4ubXhfQXBwc0RyYXdlciAubXhfQXBwc0RyYXdlcl9yZXNpemVyX2NvbnRhaW5lciAubXhfQXBwc0RyYXdlcl9yZXNpemVyX2NvbnRhaW5lcl9oYW5kbGU6OmFmdGVyIHtcbiAgICAgICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAzcHg7XG5cbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDRweDtcbiAgICAgICAgICAgICAgICBib3R0b206IDA7XG5cbiAgICAgICAgICAgICAgICAvKiBUb2dldGhlciwgdGhlc2UgbWFrZSB0aGUgYmFyIDY0cHggd2lkZSAqL1xuICAgICAgICAgICAgICAgIC8qIFRoZXNlIGFyZSBhbHNvIG92ZXJyaWRkZW4gZnJvbSB0aGUgbGlicmFyeSAqL1xuICAgICAgICAgICAgICAgIGxlZnQ6IGNhbGMoNTAlIC0gMzJweCk7XG4gICAgICAgICAgICAgICAgcmlnaHQ6IGNhbGMoNTAlIC0gMzJweCk7XG4gICAgICAgICAgICB9XG5cbi5teF9BcHBzRHJhd2VyOmhvdmVyIC5teF9BcHBzRHJhd2VyX3Jlc2l6ZXJfY29udGFpbmVyX2hhbmRsZTo6YWZ0ZXIge1xuICAgICAgICAgICAgb3BhY2l0eTogMC44O1xuICAgICAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tdGltZWxpbmUtdGV4dC1jb2xvcik7XG4gICAgICAgIH1cblxuLm14X0FwcHNEcmF3ZXI6aG92ZXIgLm14X1Jlc2l6ZUhhbmRsZS0taG9yaXpvbnRhbDo6YmVmb3JlIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIGxlZnQ6IDNweDtcbiAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtNTAlKTtcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTUwJSk7XG5cbiAgICAgICAgICAgIGhlaWdodDogNjRweDsgLyogdG8gbWF0Y2ggd2lkdGggb2YgdGhlIG9uZXMgb24gcm9vbWxpc3QgKi9cbiAgICAgICAgICAgIHdpZHRoOiA0cHg7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7XG5cbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG5cbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXRpbWVsaW5lLXRleHQtY29sb3IpO1xuICAgICAgICAgICAgb3BhY2l0eTogMC44O1xuICAgICAgICB9XG5cbi5teF9BcHBzRHJhd2VyIC5teF9BcHBUaWxlIHtcbiAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgICAgbWluLXdpZHRoOiB2YXIoLS1taW5XaWR0aCk7XG4gICAgfVxuXG4ubXhfQXBwc0RyYXdlci5teF9BcHBzRHJhd2VyLS1tYXhpbWlzZWQge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA4cHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHZhcigtLWNvbnRhaW5lci1nYXAtd2lkdGgpO1xuICAgIH1cblxuLm14X0FwcHNEcmF3ZXIubXhfQXBwc0RyYXdlci0tcmVzaXppbmcgLm14X0FwcFRpbGVfcGVyc2lzdGVkV3JhcHBlciB7XG4gICAgICAgIHotaW5kZXg6IDE7XG4gICAgfVxuXG4ubXhfQXBwc0RyYXdlci5teF9BcHBzRHJhd2VyLS0yYXBwcyAubXhfQXBwVGlsZSB7XG4gICAgICAgIHdpZHRoOiA1MCU7XG4gICAgfVxuXG4ubXhfQXBwc0RyYXdlci5teF9BcHBzRHJhd2VyLS0yYXBwcyAubXhfQXBwVGlsZTpudGgtY2hpbGQoMykge1xuICAgICAgICAgICAgLXdlYmtpdC1ib3gtZmxleDogMTtcbiAgICAgICAgICAgICAgICAtbXMtZmxleC1wb3NpdGl2ZTogMTtcbiAgICAgICAgICAgICAgICAgICAgZmxleC1ncm93OiAxO1xuICAgICAgICAgICAgd2lkdGg6IDAgIWltcG9ydGFudDtcbiAgICAgICAgICAgIG1pbi13aWR0aDogdmFyKC0tbWluV2lkdGgpICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cblxuLm14X0FwcHNEcmF3ZXIubXhfQXBwc0RyYXdlci0tM2FwcHMgLm14X0FwcFRpbGUge1xuICAgICAgICB3aWR0aDogMzMlO1xuICAgIH1cblxuLm14X0FwcHNEcmF3ZXIubXhfQXBwc0RyYXdlci0tM2FwcHMgLm14X0FwcFRpbGU6bnRoLWNoaWxkKDMpIHtcbiAgICAgICAgICAgIC13ZWJraXQtYm94LWZsZXg6IDE7XG4gICAgICAgICAgICAgICAgLW1zLWZsZXgtcG9zaXRpdmU6IDE7XG4gICAgICAgICAgICAgICAgICAgIGZsZXgtZ3JvdzogMTtcbiAgICAgICAgICAgIHdpZHRoOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBtaW4td2lkdGg6IHZhcigtLW1pbldpZHRoKSAhaW1wb3J0YW50O1xuICAgICAgICB9XG5cbi5teF9BcHBzQ29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIC13ZWJraXQtYm94LW9yaWVudDogaG9yaXpvbnRhbDtcbiAgICAtd2Via2l0LWJveC1kaXJlY3Rpb246IG5vcm1hbDtcbiAgICAgICAgLW1zLWZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIC13ZWJraXQtYm94LWFsaWduOiBzdHJldGNoO1xuICAgICAgICAtbXMtZmxleC1hbGlnbjogc3RyZXRjaDtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgIC13ZWJraXQtYm94LXBhY2s6IGNlbnRlcjtcbiAgICAgICAgLW1zLWZsZXgtcGFjazogY2VudGVyO1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIC13ZWJraXQtYm94LWZsZXg6IDE7XG4gICAgICAgIC1tcy1mbGV4OiAxO1xuICAgICAgICAgICAgZmxleDogMTtcbiAgICBtaW4taGVpZ2h0OiAwO1xufVxuXG4ubXhfQXBwc0NvbnRhaW5lciAubXhfQXBwVGlsZTpmaXJzdC1vZi10eXBlIHtcbiAgICAgICAgYm9yZGVyLWxlZnQtd2lkdGg6IDhweDtcbiAgICAgICAgYm9yZGVyLWxlZnQtd2lkdGg6IHZhcigtLWNvbnRhaW5lci1ib3JkZXItd2lkdGgpO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAxMHB4IDAgMCAxMHB4O1xuICAgIH1cblxuLm14X0FwcHNDb250YWluZXIgLm14X0FwcFRpbGU6bGFzdC1vZi10eXBlIHtcbiAgICAgICAgYm9yZGVyLXJpZ2h0LXdpZHRoOiA4cHg7XG4gICAgICAgIGJvcmRlci1yaWdodC13aWR0aDogdmFyKC0tY29udGFpbmVyLWJvcmRlci13aWR0aCk7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDAgMTBweCAxMHB4IDA7XG4gICAgfVxuXG4ubXhfQXBwc0NvbnRhaW5lciAubXhfUmVzaXplSGFuZGxlLS1ob3Jpem9udGFsIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIH1cblxuLm14X0FwcHNDb250YWluZXIgLm14X1Jlc2l6ZUhhbmRsZS0taG9yaXpvbnRhbCA+IGRpdiB7XG4gICAgICAgICAgICB3aWR0aDogMDtcbiAgICAgICAgfVxuXG4ubXhfQXBwVGlsZSB7XG4gICAgYm9yZGVyOiA4cHggc29saWQgdmFyKC0tcm9vbWxpc3QtYmFja2dyb3VuZC1jb2xvcik7XG4gICAgYm9yZGVyOiB2YXIoLS1jb250YWluZXItYm9yZGVyLXdpZHRoKSBzb2xpZCB2YXIoLS1yb29tbGlzdC1iYWNrZ3JvdW5kLWNvbG9yKTtcbiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWw7XG4gICAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiBub3JtYWw7XG4gICAgICAgIC1tcy1mbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXJvb21saXN0LWJhY2tncm91bmQtY29sb3IpO1xufVxuXG4ubXhfQXBwVGlsZUZ1bGxXaWR0aCB7XG4gICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDsgLyogdG8gb3ZlcnJpZGUgdGhlIGlubGluZSBzdHlsZSBzZXQgYnkgdGhlIHJlc2l6ZXIgKi9cbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBib3JkZXI6IDhweCBzb2xpZCB2YXIoLS1yb29tbGlzdC1iYWNrZ3JvdW5kLWNvbG9yKTtcbiAgICBib3JkZXI6IHZhcigtLWNvbnRhaW5lci1ib3JkZXItd2lkdGgpIHNvbGlkIHZhcigtLXJvb21saXN0LWJhY2tncm91bmQtY29sb3IpO1xuICAgIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWw7XG4gICAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiBub3JtYWw7XG4gICAgICAgIC1tcy1mbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1yb29tbGlzdC1iYWNrZ3JvdW5kLWNvbG9yKTtcbn1cblxuLm14X0FwcFRpbGVfbWluaSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gICAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xuICAgIC13ZWJraXQtYm94LWRpcmVjdGlvbjogbm9ybWFsO1xuICAgICAgICAtbXMtZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgaGVpZ2h0OiAyMjBweDtcbiAgICBoZWlnaHQ6IHZhcigtLUFwcFRpbGVfbWluaS1oZWlnaHQpO1xufVxuXG4ubXhfQXBwVGlsZSAubXhfQXBwVGlsZV9wZXJzaXN0ZWRXcmFwcGVyLFxuLm14X0FwcFRpbGVGdWxsV2lkdGggLm14X0FwcFRpbGVfcGVyc2lzdGVkV3JhcHBlcixcbi5teF9BcHBUaWxlX21pbmkgLm14X0FwcFRpbGVfcGVyc2lzdGVkV3JhcHBlciB7XG4gICAgLXdlYmtpdC1ib3gtZmxleDogMTtcbiAgICAgICAgLW1zLWZsZXg6IDE7XG4gICAgICAgICAgICBmbGV4OiAxO1xufVxuXG4ubXhfQXBwVGlsZV9wZXJzaXN0ZWRXcmFwcGVyIGRpdiB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xufVxuXG4ubXhfQXBwVGlsZU1lbnVCYXIge1xuICAgIG1hcmdpbjogMDtcbiAgICBmb250LXNpemU6IDAuNzVyZW07XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcm9vbWxpc3QtYmFja2dyb3VuZC1jb2xvcik7XG4gICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gICAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICAtd2Via2l0LWJveC1vcmllbnQ6IGhvcml6b250YWw7XG4gICAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiBub3JtYWw7XG4gICAgICAgIC1tcy1mbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO1xuICAgICAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAtd2Via2l0LWJveC1wYWNrOiBqdXN0aWZ5O1xuICAgICAgICAtbXMtZmxleC1wYWNrOiBqdXN0aWZ5O1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmctdG9wOiAzcHg7XG4gICAgcGFkZGluZy1ib3R0b206IDZweDtcbn1cblxuLm14X0FwcFRpbGVNZW51QmFyIC5teF9BcHBUaWxlTWVudUJhcl90aXRsZSB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICB9XG5cbi5teF9BcHBUaWxlTWVudUJhciAubXhfQXBwVGlsZU1lbnVCYXJfdGl0bGUgLm14X1dpZGdldEF2YXRhciB7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDEycHg7XG4gICAgICAgIH1cblxuLm14X0FwcFRpbGVNZW51QmFyIC5teF9BcHBUaWxlTWVudUJhcl90aXRsZSBoMyB7XG4gICAgICAgICAgICBmb250LXNpemU6IGluaGVyaXQ7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIH1cblxuLm14X0FwcFRpbGVNZW51QmFyIC5teF9BcHBUaWxlTWVudUJhcl90aXRsZSA+IDpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiA5cHg7XG4gICAgICAgICAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgICAgICAgICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIC13ZWJraXQtYm94LXBhY2s6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAtbXMtZmxleC1wYWNrOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICB9XG5cbi5teF9BcHBUaWxlTWVudUJhciAubXhfQXBwVGlsZU1lbnVCYXJfd2lkZ2V0cyB7XG4gICAgICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICAgICAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB9XG5cbi5teF9BcHBUaWxlTWVudUJhciAubXhfQXBwVGlsZU1lbnVCYXJfd2lkZ2V0cyAubXhfQXBwVGlsZU1lbnVCYXJfd2lkZ2V0c19idXR0b24ge1xuICAgICAgICAgICAgLS1zaXplOiAyNHB4OyAvKiBTaXplIG9mIHRoZSBidXR0b24uIEl0cyBoZWlnaHQgYW5kIHdpZHRoIHZhbHVlcyBzaG91bGQgYmUgc2FtZSAqL1xuXG4gICAgICAgICAgICBtYXJnaW46IDAgNHB4O1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgaGVpZ2h0OiAyNHB4O1xuICAgICAgICAgICAgaGVpZ2h0OiB2YXIoLS1zaXplKTtcbiAgICAgICAgICAgIHdpZHRoOiAyNHB4O1xuICAgICAgICAgICAgd2lkdGg6IHZhcigtLXNpemUpO1xuICAgICAgICAgICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gICAgICAgICAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICAtd2Via2l0LWJveC1wYWNrOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgLW1zLWZsZXgtcGFjazogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgfVxuXG4ubXhfQXBwVGlsZU1lbnVCYXIgLm14X0FwcFRpbGVNZW51QmFyX3dpZGdldHMgLm14X0FwcFRpbGVNZW51QmFyX3dpZGdldHNfYnV0dG9uOmhvdmVyOjphZnRlciB7XG4gICAgICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiB2YXIoLS1zaXplKTtcbiAgICAgICAgICAgICAgICB3aWR0aDogdmFyKC0tc2l6ZSk7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcm9vbWxpc3QtaGlnaGxpZ2h0cy1jb2xvcik7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgfVxuXG4ubXhfQXBwVGlsZU1lbnVCYXIgLm14X0FwcFRpbGVNZW51QmFyX3dpZGdldHMgLm14X0FwcFRpbGVNZW51QmFyX3dpZGdldHNfYnV0dG9uIC5teF9JY29uIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogI2ExYjJkMTtcbiAgICAgICAgICAgIH1cblxuLyogUnVsZXMgYWRkZWQgdG8gdGhpcyBzZWxlY3RvciBzdHlsZSBhcHBUaWxlQm9keSBnZW5lcmFsbHkgKi9cblxuLm14X0FwcFRpbGVCb2R5IHtcbiAgICAvKiBBcHBseSB0byBldmVyeSB2YXJpYW50IG9mIGFwcFRpbGVCb2R5ICovXG4gICAgYm9yZGVyLXJhZGl1czogOHB4O1xufVxuXG4vKiBOb3RlIHRoZSBsb2FkaW5nIHNwaW5uZXIgYW5kIHRoZSBtZXNzYWdlIG5leHQgdG8gaXQgYXJlIG5vdCBhbHdheXMgaW5jbHVkZWQgaW4gbXhfQXBwVGlsZUJvZHktLWxvYWRpbmcgKi9cblxuLm14X0FwcFRpbGVCb2R5IC5teF9BcHBUaWxlQm9keV9mYWRlSW5TcGlubmVyIHtcbiAgICAgICAgLyogcGxhY2Ugc3Bpbm5lciBhbmQgdGhlIG1lc3NhZ2UgYXQgdGhlIGNlbnRlciBvZiBteF9BcHBUaWxlQm9keSAqL1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkOyAvKiBtZXNzYWdlIG5leHQgdG8gdGhlIHNwaW5uZXIgKi9cbiAgICAgICAgLXdlYmtpdC1hbmltYXRpb24tZmlsbC1tb2RlOiBiYWNrd2FyZHM7XG4gICAgICAgICAgICAgICAgYW5pbWF0aW9uLWZpbGwtbW9kZTogYmFja3dhcmRzO1xuICAgICAgICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogMjAwbXM7XG4gICAgICAgICAgICAgICAgYW5pbWF0aW9uLWR1cmF0aW9uOiAyMDBtcztcbiAgICAgICAgLXdlYmtpdC1hbmltYXRpb24tZGVsYXk6IDUwMG1zO1xuICAgICAgICAgICAgICAgIGFuaW1hdGlvbi1kZWxheTogNTAwbXM7XG4gICAgICAgIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IG14X0FwcFRpbGVCb2R5X2ZhZGVJblNwaW5uZXJBbmltYXRpb247XG4gICAgICAgICAgICAgICAgYW5pbWF0aW9uLW5hbWU6IG14X0FwcFRpbGVCb2R5X2ZhZGVJblNwaW5uZXJBbmltYXRpb247XG4gICAgfVxuXG4ubXhfQXBwVGlsZUJvZHkubXhfQXBwVGlsZUJvZHktLWxhcmdlLFxuICAgIC5teF9BcHBUaWxlQm9keS5teF9BcHBUaWxlQm9keS0tbWluaSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICBoZWlnaHQ6IHZhcigtLUFwcFRpbGVCb2R5LWhlaWdodCk7XG4gICAgfVxuXG4ubXhfQXBwVGlsZUJvZHkubXhfQXBwVGlsZUJvZHktLWxhcmdlIGlmcmFtZSwgLm14X0FwcFRpbGVCb2R5Lm14X0FwcFRpbGVCb2R5LS1taW5pIGlmcmFtZSB7XG4gICAgICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgfVxuXG4ubXhfQXBwVGlsZUJvZHkubXhfQXBwVGlsZUJvZHktLWxhcmdlIHtcbiAgICAgICAgLS1BcHBUaWxlQm9keS1oZWlnaHQ6IDEwMCU7XG5cbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzFhMWQyMztcbiAgICB9XG5cbi5teF9BcHBUaWxlQm9keS5teF9BcHBUaWxlQm9keS0tbGFyZ2UgaWZyYW1lIHtcbiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cblxuLm14X0FwcFRpbGVCb2R5Lm14X0FwcFRpbGVCb2R5LS1taW5pIHtcbiAgICAgICAgLS1BcHBUaWxlQm9keS1oZWlnaHQ6IHZhcigtLUFwcFRpbGVfbWluaS1oZWlnaHQpO1xuICAgIH1cblxuLm14X0FwcFRpbGVCb2R5Lm14X0FwcFRpbGVCb2R5LS1sb2FkaW5nIHtcbiAgICAgICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gICAgICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xuICAgICAgICAtd2Via2l0LWJveC1kaXJlY3Rpb246IG5vcm1hbDtcbiAgICAgICAgICAgIC1tcy1mbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIC13ZWJraXQtYm94LXBhY2s6IGNlbnRlcjtcbiAgICAgICAgICAgIC1tcy1mbGV4LXBhY2s6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG5cbiAgICAgICAgLyogbWF0Y2ggYmcgb2YgYm9yZGVyIHNvIHRoYXQgdGhlIGN1dCBjb3JuZXJzIGhhdmUgdGhlIHJpZ2h0IGZpbGwgKi9cbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzFhMWQyMyAhaW1wb3J0YW50O1xuICAgIH1cblxuLm14X0FwcFRpbGVCb2R5Lm14X0FwcFRpbGVCb2R5LS1sb2FkaW5nIGlmcmFtZSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG5cbi5teF9BcHBUaWxlQm9keS5teF9BcHBUaWxlQm9keS0tY2FsbCB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDBweDtcbiAgICB9XG5cbi8qIGNvbnN0IGxvYWRpbmdFbGVtZW50ICovXG5cbi5teF9BcHBUaWxlQm9keS5teF9BcHBUaWxlQm9keS0tY2FsbC5teF9BcHBUaWxlQm9keS0tbWluaSB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgICB9XG5cbi8qIGFwcFRpbGVCb2R5IGlzIGVtYmVkZGVkIHRvIFBlcnNpc3RlZEVsZW1lbnQgb3V0c2lkZSBvZiBteF9BcHBUaWxlLFxuICAgc28gcnVsZXMgdG8gc3R5bGUgYXBwVGlsZUJvZHkgZ2VuZXJhbGx5IHNob3VsZCBub3QgYmUgaW5jbHVkZWQgaGVyZS4gKi9cblxuLm14X0FwcFRpbGUgLm14X0FwcFRpbGVCb2R5LS1sYXJnZSxcbi5teF9BcHBUaWxlRnVsbFdpZHRoIC5teF9BcHBUaWxlQm9keS0tbGFyZ2UsXG4ubXhfQXBwVGlsZV9taW5pIC5teF9BcHBUaWxlQm9keS0tbWluaSB7XG4gICAgaGVpZ2h0OiBpbmhlcml0O1xuICAgIC13ZWJraXQtYm94LWZsZXg6IDE7XG4gICAgICAgIC1tcy1mbGV4OiAxO1xuICAgICAgICAgICAgZmxleDogMTtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIG14X0FwcFRpbGVCb2R5X2ZhZGVJblNwaW5uZXJBbmltYXRpb24ge1xuICAgIGZyb20ge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgIH1cbiAgICB0byB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxufVxuXG5Aa2V5ZnJhbWVzIG14X0FwcFRpbGVCb2R5X2ZhZGVJblNwaW5uZXJBbmltYXRpb24ge1xuICAgIGZyb20ge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgIH1cbiAgICB0byB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxufVxuXG4ubXhfQXV0b2NvbXBsZXRlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiAwO1xuICAgIHotaW5kZXg6IDEwMDE7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tcm9vbWxpc3Qtc2VwYXJhdG9yLWNvbG9yKTtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS10aW1lbGluZS1iYWNrZ3JvdW5kLWNvbG9yKTtcbiAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgIGJvcmRlci1yYWRpdXM6IDhweCA4cHggMCAwO1xuICAgIG92ZXJmbG93OiBjbGlwO1xuICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcbiAgICAtd2Via2l0LWJveC1kaXJlY3Rpb246IG5vcm1hbDtcbiAgICAgICAgLW1zLWZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIC13ZWJraXQtYm94LXNoYWRvdzogMHB4IC0xNnB4IDMycHggdHJhbnBhcmVudDtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IDBweCAtMTZweCAzMnB4IHRyYW5wYXJlbnQ7XG59XG5cbi5teF9BdXRvY29tcGxldGVfUHJvdmlkZXJTZWN0aW9uIHtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tcm9vbWxpc3Qtc2VwYXJhdG9yLWNvbG9yKTtcbiAgICB3aWR0aDogMTAwJTtcbn1cblxuLyogYSBcImJsb2NrXCIgY29tcGxldGlvbiB0YWtlcyB1cCBhIHdob2xlIGxpbmUgKi9cblxuLm14X0F1dG9jb21wbGV0ZV9Db21wbGV0aW9uX2Jsb2NrIHtcbiAgICBtaW4taGVpZ2h0OiAzNHB4O1xuICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgLW1zLWZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgIHBhZGRpbmc6IDAgMTJweDtcbiAgICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xuICAgICAgIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgICAgIC1tcy11c2VyLXNlbGVjdDogbm9uZTtcbiAgICAgICAgICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO1xuICAgICAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBjb2xvcjogdmFyKC0tdGltZWxpbmUtdGV4dC1jb2xvcik7XG59XG5cbi5teF9BdXRvY29tcGxldGVfQ29tcGxldGlvbl9ibG9jayAqIHtcbiAgICBtYXJnaW46IDAgM3B4O1xufVxuXG4ubXhfQXV0b2NvbXBsZXRlX0NvbXBsZXRpb25fcGlsbCB7XG4gICAgLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBib3JkZXItcmFkaXVzOiAycmVtO1xuICAgIGhlaWdodDogMi4xMjVyZW07XG4gICAgcGFkZGluZzogMC40cmVtO1xuICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcbiAgICAgICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xuICAgICAgICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgICAgICAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgY29sb3I6IHZhcigtLXRpbWVsaW5lLXRleHQtY29sb3IpO1xufVxuXG4ubXhfQXV0b2NvbXBsZXRlX0NvbXBsZXRpb25fcGlsbCA+ICoge1xuICAgIG1hcmdpbi1yaWdodDogMC4zcmVtO1xufVxuXG4vKiBzdHlsaW5nIGZvciBjb21tb24gY29tcGxldGlvbiBlbGVtZW50cyAqL1xuXG4ubXhfQXV0b2NvbXBsZXRlX0NvbXBsZXRpb25fc3VidGl0bGUge1xuICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICAtd2Via2l0LWJveC1mbGV4OiAxO1xuICAgICAgICAtbXMtZmxleDogMTtcbiAgICAgICAgICAgIGZsZXg6IDE7XG59XG5cbi5teF9BdXRvY29tcGxldGVfQ29tcGxldGlvbl9kZXNjcmlwdGlvbiB7XG4gICAgY29sb3I6IGdyYXk7XG4gICAgbWluLXdpZHRoOiAxNTBweDtcbn1cblxuLm14X0F1dG9jb21wbGV0ZV9Db21wbGV0aW9uX2NvbnRhaW5lcl9waWxsIHtcbiAgICBtYXJnaW46IDEycHg7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG92ZXJmbG93LXk6IHNjcm9sbDtcbiAgICBtYXgtaGVpZ2h0OiAzNXZoO1xufVxuXG4ubXhfQXV0b2NvbXBsZXRlX0NvbXBsZXRpb25fY29udGFpbmVyX3RydW5jYXRlIC5teF9BdXRvY29tcGxldGVfQ29tcGxldGlvbl90aXRsZSxcbiAgICAubXhfQXV0b2NvbXBsZXRlX0NvbXBsZXRpb25fY29udGFpbmVyX3RydW5jYXRlIC5teF9BdXRvY29tcGxldGVfQ29tcGxldGlvbl9zdWJ0aXRsZSxcbiAgICAubXhfQXV0b2NvbXBsZXRlX0NvbXBsZXRpb25fY29udGFpbmVyX3RydW5jYXRlIC5teF9BdXRvY29tcGxldGVfQ29tcGxldGlvbl9kZXNjcmlwdGlvbiB7XG4gICAgICAgIC8qIEVsbGlwc2lzIGZvciBsb25nIG5hbWVzL3N1YnRpdGxlcy9kZXNjcmlwdGlvbnMgKi9cbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgfVxuXG4ubXhfQXV0b2NvbXBsZXRlX0NvbXBsZXRpb24uc2VsZWN0ZWQsXG4ubXhfQXV0b2NvbXBsZXRlX0NvbXBsZXRpb246aG92ZXIge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLXJvb21saXN0LWJhY2tncm91bmQtY29sb3IpO1xuICAgIG91dGxpbmU6IG5vbmU7XG59XG5cbi5teF9BdXRvY29tcGxldGVfcHJvdmlkZXJfbmFtZSB7XG4gICAgbWFyZ2luOiAxMnB4O1xuICAgIGNvbG9yOiB2YXIoLS10aW1lbGluZS10ZXh0LWNvbG9yKTtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIG9wYWNpdHk6IDAuNDtcbn1cblxuLypcbkNvcHlyaWdodCAyMDE4LTIwMjQgTmV3IFZlY3RvciBMdGQuXG5cblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cbiovXG5cbi5teF9BdXhQYW5lbCB7XG4gICAgbWluLXdpZHRoOiAwcHg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luOiAwcHggYXV0bztcblxuICAgIG92ZXJmbG93OiBhdXRvO1xufVxuXG4vKlxuQ29weXJpZ2h0IDIwMTktMjAyNCBOZXcgVmVjdG9yIEx0ZC5cbkNvcHlyaWdodCAyMDE5IFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXG5cblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cbiovXG5cbi5teF9CYXNpY01lc3NhZ2VDb21wb3NlciB7XG4gICAgLyogVGhlc2UgYXJlIHNldCBpbiBKYXZhc2NyaXB0ICovXG4gICAgLS1hdmF0YXItbGV0dGVyOiBcIlwiO1xuICAgIC0tYXZhdGFyLWJhY2tncm91bmQ6IHVuc2V0O1xuICAgIC0tcGxhY2Vob2xkZXI6IFwiXCI7XG5cbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5teF9CYXNpY01lc3NhZ2VDb21wb3NlciAubXhfQmFzaWNNZXNzYWdlQ29tcG9zZXJfaW5wdXRFbXB0eSA+IDpmaXJzdC1jaGlsZDo6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogdmFyKC0tcGxhY2Vob2xkZXIpO1xuICAgICAgICBjb2xvcjogdmFyKC0tY3BkLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTtcbiAgICAgICAgd2lkdGg6IDA7XG4gICAgICAgIGhlaWdodDogMDtcbiAgICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgfVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgdmlzdWFsYmVsbCB7XG4gICAgICAgIGZyb20ge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzgwMDtcbiAgICAgICAgfVxuICAgICAgICB0byB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS10aW1lbGluZS1iYWNrZ3JvdW5kLWNvbG9yKTtcbiAgICAgICAgfVxuICAgIH1cblxuQGtleWZyYW1lcyB2aXN1YWxiZWxsIHtcbiAgICAgICAgZnJvbSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjODAwO1xuICAgICAgICB9XG4gICAgICAgIHRvIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXRpbWVsaW5lLWJhY2tncm91bmQtY29sb3IpO1xuICAgICAgICB9XG4gICAgfVxuXG4ubXhfQmFzaWNNZXNzYWdlQ29tcG9zZXIubXhfQmFzaWNNZXNzYWdlQ29tcG9zZXJfaW5wdXRfZXJyb3Ige1xuICAgICAgICAtd2Via2l0LWFuaW1hdGlvbjogMC4ycyB2aXN1YWxiZWxsO1xuICAgICAgICAgICAgICAgIGFuaW1hdGlvbjogMC4ycyB2aXN1YWxiZWxsO1xuICAgIH1cblxuLm14X0Jhc2ljTWVzc2FnZUNvbXBvc2VyIC5teF9CYXNpY01lc3NhZ2VDb21wb3Nlcl9pbnB1dCB7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBwcmUtd3JhcDtcbiAgICAgICAgd29yZC13cmFwOiBicmVhay13b3JkO1xuICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgICBvdmVyZmxvdy14OiBoaWRkZW47XG4gICAgfVxuXG4vKiBuYXZpZ2F0ZWQgdGhyb3VnaCBpbiBhIHNpbmdsZSBrZXlwcmVzcyAqL1xuXG4ubXhfQmFzaWNNZXNzYWdlQ29tcG9zZXIgLm14X0Jhc2ljTWVzc2FnZUNvbXBvc2VyX2lucHV0IC5jYXJldE5vZGUge1xuICAgICAgICAgICAgLXdlYmtpdC11c2VyLXNlbGVjdDogYWxsO1xuICAgICAgICAgICAgICAgLW1vei11c2VyLXNlbGVjdDogYWxsO1xuICAgICAgICAgICAgICAgICAgICB1c2VyLXNlbGVjdDogYWxsO1xuICAgICAgICB9XG5cbi8qIEZvcmNlIGNhcmV0IG5vZGVzIHRvIGJlIHNlbGVjdGVkIGluIGZ1bGwgc28gdGhhdCB0aGV5IGNhbiBiZSAqL1xuXG4ubXhfQmFzaWNNZXNzYWdlQ29tcG9zZXIgLm14X0Jhc2ljTWVzc2FnZUNvbXBvc2VyX2lucHV0Lm14X0Jhc2ljTWVzc2FnZUNvbXBvc2VyX2lucHV0X3Nob3VsZFNob3dQaWxsQXZhdGFyIHNwYW4ubXhfVXNlclBpbGwsXG4gICAgICAgICAgICAubXhfQmFzaWNNZXNzYWdlQ29tcG9zZXIgLm14X0Jhc2ljTWVzc2FnZUNvbXBvc2VyX2lucHV0Lm14X0Jhc2ljTWVzc2FnZUNvbXBvc2VyX2lucHV0X3Nob3VsZFNob3dQaWxsQXZhdGFyIHNwYW4ubXhfUm9vbVBpbGwsXG4gICAgICAgICAgICAubXhfQmFzaWNNZXNzYWdlQ29tcG9zZXIgLm14X0Jhc2ljTWVzc2FnZUNvbXBvc2VyX2lucHV0Lm14X0Jhc2ljTWVzc2FnZUNvbXBvc2VyX2lucHV0X3Nob3VsZFNob3dQaWxsQXZhdGFyIHNwYW4ubXhfU3BhY2VQaWxsIHtcbiAgICAgICAgICAgICAgICAtd2Via2l0LXVzZXItc2VsZWN0OiBhbGw7XG4gICAgICAgICAgICAgICAgICAgLW1vei11c2VyLXNlbGVjdDogYWxsO1xuICAgICAgICAgICAgICAgICAgICAgICAgdXNlci1zZWxlY3Q6IGFsbDtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgY3Vyc29yOiBpbmhlcml0OyAvKiBXZSBkb24ndCB3YW50IGluZGljYXRlIGNsaWNrYWJpbGl0eSAqL1xuICAgICAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgICAgIH1cblxuLm14X0Jhc2ljTWVzc2FnZUNvbXBvc2VyIC5teF9CYXNpY01lc3NhZ2VDb21wb3Nlcl9pbnB1dC5teF9CYXNpY01lc3NhZ2VDb21wb3Nlcl9pbnB1dF9zaG91bGRTaG93UGlsbEF2YXRhciBzcGFuLm14X1VzZXJQaWxsOmhvdmVyLCAubXhfQmFzaWNNZXNzYWdlQ29tcG9zZXIgLm14X0Jhc2ljTWVzc2FnZUNvbXBvc2VyX2lucHV0Lm14X0Jhc2ljTWVzc2FnZUNvbXBvc2VyX2lucHV0X3Nob3VsZFNob3dQaWxsQXZhdGFyIHNwYW4ubXhfUm9vbVBpbGw6aG92ZXIsIC5teF9CYXNpY01lc3NhZ2VDb21wb3NlciAubXhfQmFzaWNNZXNzYWdlQ29tcG9zZXJfaW5wdXQubXhfQmFzaWNNZXNzYWdlQ29tcG9zZXJfaW5wdXRfc2hvdWxkU2hvd1BpbGxBdmF0YXIgc3Bhbi5teF9TcGFjZVBpbGw6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICAvKiBXZSBkb24ndCB3YW50IGluZGljYXRlIGNsaWNrYWJpbGl0eSB8IFRvIG92ZXJyaWRlIHRoZSBvdmVycmlkaW5nIG9mIC5tYXJrZG93bi1ib2R5ICovXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW90aGVyLXVzZXItcGlsbC1iZy1jb2xvciwgdmFyKC0tY3BkLWNvbG9yLWJnLWFjdGlvbi1wcmltYXJ5LXJlc3QpKSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgIH1cblxuLyogYXZhdGFyIHBzdWVkbyBlbGVtZW50ICovXG5cbi5teF9CYXNpY01lc3NhZ2VDb21wb3NlciAubXhfQmFzaWNNZXNzYWdlQ29tcG9zZXJfaW5wdXQubXhfQmFzaWNNZXNzYWdlQ29tcG9zZXJfaW5wdXRfc2hvdWxkU2hvd1BpbGxBdmF0YXIgc3Bhbi5teF9Vc2VyUGlsbDo6YmVmb3JlLCAubXhfQmFzaWNNZXNzYWdlQ29tcG9zZXIgLm14X0Jhc2ljTWVzc2FnZUNvbXBvc2VyX2lucHV0Lm14X0Jhc2ljTWVzc2FnZUNvbXBvc2VyX2lucHV0X3Nob3VsZFNob3dQaWxsQXZhdGFyIHNwYW4ubXhfUm9vbVBpbGw6OmJlZm9yZSwgLm14X0Jhc2ljTWVzc2FnZUNvbXBvc2VyIC5teF9CYXNpY01lc3NhZ2VDb21wb3Nlcl9pbnB1dC5teF9CYXNpY01lc3NhZ2VDb21wb3Nlcl9pbnB1dF9zaG91bGRTaG93UGlsbEF2YXRhciBzcGFuLm14X1NwYWNlUGlsbDo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgICAgICBjb250ZW50OiB2YXIoLS1hdmF0YXItbGV0dGVyKTtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDFyZW07XG4gICAgICAgICAgICAgICAgICAgIG1pbi13aWR0aDogMXJlbTsgLyogZW5zdXJlIHRoZSBhdmF0YXIgaXMgbm90IGNvbXByZXNzZWQgKi9cbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxcmVtO1xuICAgICAgICAgICAgICAgICAgICAtd2Via2l0LW1hcmdpbi1lbmQ6IDAuMjRyZW07XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWlubGluZS1lbmQ6IDAuMjRyZW07XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWF2YXRhci1iYWNrZ3JvdW5kKSwgdmFyKC0tdGltZWxpbmUtYmFja2dyb3VuZC1jb2xvcik7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tYXZhdGFyLWNvbG9yLCAjZmZmZmZmKTtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiAxcmVtO1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAxcmVtO1xuICAgICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxcmVtO1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDAuNjI3NXJlbTtcbiAgICAgICAgICAgICAgICB9XG5cbi5teF9CYXNpY01lc3NhZ2VDb21wb3NlciAubXhfQmFzaWNNZXNzYWdlQ29tcG9zZXJfaW5wdXQubXhfQmFzaWNNZXNzYWdlQ29tcG9zZXJfaW5wdXRfZGlzYWJsZWQge1xuICAgICAgICAgICAgLyogSWdub3JlIGFsbCB1c2VyIGlucHV0IHRvIGF2b2lkIGFjY2lkZW50YWxseSB0cmlnZ2VyaW5nIHRoZSBjb21wb3NlciAqL1xuICAgICAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICAgIH1cblxuLm14X0Jhc2ljTWVzc2FnZUNvbXBvc2VyIC5teF9CYXNpY01lc3NhZ2VDb21wb3Nlcl9BdXRvQ29tcGxldGVXcmFwcGVyIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBoZWlnaHQ6IDA7XG4gICAgfVxuXG4ubXhfSm9pblJ1bGVEaWFsb2cgLm14X0pvaW5SdWxlRGlhbG9nQnV0dG9ucyB7XG4gICAgICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICAgICAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgLXdlYmtpdC1jb2x1bW4tZ2FwOiA1cHg7XG4gICAgICAgICAgIC1tb3otY29sdW1uLWdhcDogNXB4O1xuICAgICAgICAgICAgICAgIGNvbHVtbi1nYXA6IDVweDtcbiAgICAgICAgLXdlYmtpdC1ib3gtcGFjazogY2VudGVyO1xuICAgICAgICAgICAgLW1zLWZsZXgtcGFjazogY2VudGVyO1xuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIH1cblxuLypcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxuQ29weXJpZ2h0IDIwMjIgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cblxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuKi9cblxuLm14X0RlY3J5cHRpb25GYWlsdXJlQmFyIHtcbiAgICAtLWdhcC1yb3c6IDhweDtcbiAgICAtLWdhcC1jb2x1bW46IDEycHg7XG4gICAgLS1nYXA6IHZhcigtLWdhcC1yb3cpIHZhcigtLWdhcC1jb2x1bW4pO1xuICAgIC0tc2l6ZS1pY29uOiAyNHB4O1xuXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzIxMjYyYztcblxuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXN5c3RlbSwgIzIxMjYyYyk7XG4gICAgcGFkZGluZzogMTJweDtcbiAgICBtYXJnaW4taW5saW5lOiAxNnB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbn1cblxuLm14X0RlY3J5cHRpb25GYWlsdXJlQmFyLm14X0RlY3J5cHRpb25GYWlsdXJlQmFyLS13aXRoRW5kIHtcbiAgICAgICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gICAgICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAtbXMtZmxleC1mbG93OiB3cmFwO1xuICAgICAgICAgICAgZmxleC1mbG93OiB3cmFwO1xuICAgICAgICAtd2Via2l0LWJveC1hbGlnbjogc3RhcnQ7XG4gICAgICAgICAgICAtbXMtZmxleC1hbGlnbjogc3RhcnQ7XG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgICAgIC13ZWJraXQtYm94LXBhY2s6IGp1c3RpZnk7XG4gICAgICAgICAgICAtbXMtZmxleC1wYWNrOiBqdXN0aWZ5O1xuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgcm93LWdhcDogY2FsYyh2YXIoLS1nYXAtcm93KSArIDRweCk7IC8qIEluY3JlYXNlIHNwYWNpbmcgYmV0d2VlbiB0aGUgbWVzc2FnZSBhbmQgdGhlIGJ1dHRvbnMgKi9cbiAgICB9XG5cbi5teF9EZWNyeXB0aW9uRmFpbHVyZUJhci5teF9EZWNyeXB0aW9uRmFpbHVyZUJhci0td2l0aEVuZCAubXhfRGVjcnlwdGlvbkZhaWx1cmVCYXJfZW5kIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICAgICAgICAgICAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgLW1zLWZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7IC8qIExldCB0aGUgYnV0dG9ucyB3cmFwcGVkIG9uIGEgbmFycm93IGNvbHVtbiAqL1xuICAgICAgICAgICAgZ2FwOiA4cHggOHB4O1xuICAgICAgICAgICAgZ2FwOiB2YXIoLS1idXR0b25zLWRpYWxvZy1nYXAtcm93KSB2YXIoLS1idXR0b25zLWRpYWxvZy1nYXAtY29sdW1uKTtcbiAgICAgICAgICAgIC13ZWJraXQtbWFyZ2luLXN0YXJ0OiBjYWxjKHZhcigtLXNpemUtaWNvbikgKyB2YXIoLS1nYXAtY29sdW1uKSk7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1pbmxpbmUtc3RhcnQ6IGNhbGModmFyKC0tc2l6ZS1pY29uKSArIHZhcigtLWdhcC1jb2x1bW4pKTsgLyogQWxpZ24gdGhlIGJ1dHRvbihzKSBhbmQgdGhlIG1lc3NhZ2UgKi9cbiAgICAgICAgfVxuXG4ubXhfRGVjcnlwdGlvbkZhaWx1cmVCYXIgLm14X0RlY3J5cHRpb25GYWlsdXJlQmFyX3N0YXJ0IHtcbiAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgZ3JpZC1nYXA6IHZhcigtLWdhcCk7XG4gICAgICAgIGdhcDogdmFyKC0tZ2FwKTtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1hcmVhczpcbiAgICAgICAgICAgIFwic3RhdHVzIGhlYWRsaW5lXCJcbiAgICAgICAgICAgIFwiLiAgICAgIG1lc3NhZ2VcIjtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiB2YXIoLS1zaXplLWljb24pIGF1dG87XG4gICAgfVxuXG4ubXhfRGVjcnlwdGlvbkZhaWx1cmVCYXIgLm14X0RlY3J5cHRpb25GYWlsdXJlQmFyX3N0YXJ0IC5teF9EZWNyeXB0aW9uRmFpbHVyZUJhcl9zdGFydF9zdGF0dXMge1xuICAgICAgICAgICAgZ3JpZC1hcmVhOiBzdGF0dXM7XG5cbiAgICAgICAgICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuXG4gICAgICAgICAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcblxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIGdhcDogdmFyKC0tZ2FwKTtcbiAgICAgICAgfVxuXG4ubXhfRGVjcnlwdGlvbkZhaWx1cmVCYXIgLm14X0RlY3J5cHRpb25GYWlsdXJlQmFyX3N0YXJ0IC5teF9EZWNyeXB0aW9uRmFpbHVyZUJhcl9zdGFydF9zdGF0dXMgLm14X1NwaW5uZXIge1xuICAgICAgICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IGluaXRpYWw7IC8qIFVuc2V0IGhlaWdodDogMTAwJSAqL1xuICAgICAgICAgICAgfVxuXG4ubXhfRGVjcnlwdGlvbkZhaWx1cmVCYXIgLm14X0RlY3J5cHRpb25GYWlsdXJlQmFyX3N0YXJ0IC5teF9EZWNyeXB0aW9uRmFpbHVyZUJhcl9zdGFydF9zdGF0dXMgLm14X0RlY3J5cHRpb25GYWlsdXJlQmFyX3N0YXJ0X3N0YXR1c19pY29uIHtcbiAgICAgICAgICAgICAgICBtaW4td2lkdGg6IHZhcigtLXNpemUtaWNvbik7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiB2YXIoLS1zaXplLWljb24pO1xuICAgICAgICAgICAgICAgIC13ZWJraXQtbWFzay1pbWFnZTogdXJsKFwiLi4vLi4vLi4vaW1nL2UyZS9kZWNyeXB0aW9uLWZhaWx1cmUuc3ZnXCIpO1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFzay1pbWFnZTogdXJsKFwiLi4vLi4vLi4vaW1nL2UyZS9kZWNyeXB0aW9uLWZhaWx1cmUuc3ZnXCIpO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZjViNTU7XG4gICAgICAgICAgICAgICAgLXdlYmtpdC1tYXNrLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFzay1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgICAgICAgICAtd2Via2l0LW1hc2stcG9zaXRpb246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hc2stcG9zaXRpb246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAtd2Via2l0LW1hc2stc2l6ZTogY29udGFpbjtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hc2stc2l6ZTogY29udGFpbjtcbiAgICAgICAgICAgIH1cblxuLm14X0RlY3J5cHRpb25GYWlsdXJlQmFyIC5teF9EZWNyeXB0aW9uRmFpbHVyZUJhcl9zdGFydCAubXhfRGVjcnlwdGlvbkZhaWx1cmVCYXJfc3RhcnRfaGVhZGxpbmUge1xuICAgICAgICAgICAgZ3JpZC1hcmVhOiBoZWFkbGluZTtcblxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLWNwZC1mb250LXdlaWdodC1zZW1pYm9sZCk7XG4gICAgICAgICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICAgICAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gICAgICAgIH1cblxuLm14X0RlY3J5cHRpb25GYWlsdXJlQmFyIC5teF9EZWNyeXB0aW9uRmFpbHVyZUJhcl9zdGFydCAubXhfRGVjcnlwdGlvbkZhaWx1cmVCYXJfc3RhcnRfbWVzc2FnZSB7XG4gICAgICAgICAgICBncmlkLWFyZWE6IG1lc3NhZ2U7XG5cbiAgICAgICAgICAgIGNvbG9yOiAjZWRmM2ZmO1xuXG4gICAgICAgICAgICBjb2xvcjogdmFyKC0tc2Vjb25kYXJ5LWNvbnRlbnQsICNlZGYzZmYpO1xuICAgICAgICB9XG5cbi8qXG5Db3B5cmlnaHQgMjAxOS0yMDI0IE5ldyBWZWN0b3IgTHRkLlxuXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXG4qL1xuXG4ubXhfRTJFSWNvbiB7XG4gICAgd2lkdGg6IDE2cHg7XG4gICAgaGVpZ2h0OiAxNnB4O1xuICAgIG1hcmdpbjogMCA5cHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4ubXhfRTJFSWNvbl93YXJuaW5nOjpiZWZvcmUsXG4gICAgLm14X0UyRUljb25fd2FybmluZzo6YWZ0ZXIsXG4gICAgLm14X0UyRUljb25fbm9ybWFsOjpiZWZvcmUsXG4gICAgLm14X0UyRUljb25fbm9ybWFsOjphZnRlcixcbiAgICAubXhfRTJFSWNvbl92ZXJpZmllZDo6YmVmb3JlLFxuICAgIC5teF9FMkVJY29uX3ZlcmlmaWVkOjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGluc2V0OiAwO1xuICAgICAgICAtd2Via2l0LW1hc2stcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgICAgICAgbWFzay1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgLXdlYmtpdC1tYXNrLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgbWFzay1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgICAtd2Via2l0LW1hc2stc2l6ZTogY29udGFpbjtcbiAgICAgICAgICAgICAgICBtYXNrLXNpemU6IGNvbnRhaW47XG4gICAgfVxuXG4vKiB0cmFuc3BhcmVudC1sb29raW5nIGJvcmRlciBzdXJyb3VuZGluZyB0aGUgc2hpZWxkIGZvciB3aGVuIG92ZXJsYWluIG92ZXIgYXZhdGFycyAqL1xuXG4ubXhfRTJFSWNvbl9ib3JkZXJlZCB7XG4gICAgLXdlYmtpdC1tYXNrLWltYWdlOiB1cmwoXCIuLi8uLi8uLi9pbWcvZTJlL25vcm1hbC5zdmdcIik7XG4gICAgICAgICAgICBtYXNrLWltYWdlOiB1cmwoXCIuLi8uLi8uLi9pbWcvZTJlL25vcm1hbC5zdmdcIik7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcm9vbWxpc3QtYmFja2dyb3VuZC1jb2xvcik7XG4gICAgLXdlYmtpdC1tYXNrLXNpemU6IDEwMCU7XG4gICAgICAgICAgICBtYXNrLXNpemU6IDEwMCU7XG59XG5cbi8qIHNocmluayB0aGUgYWN0dWFsIGJhZGdlICovXG5cbi5teF9FMkVJY29uX2JvcmRlcmVkOjphZnRlciB7XG4gICAgICAgIC13ZWJraXQtbWFzay1zaXplOiA3NSU7XG4gICAgICAgICAgICAgICAgbWFzay1zaXplOiA3NSU7XG4gICAgfVxuXG4vKiBzaHJpbmsgdGhlIGluZmlsbCBvZiB0aGUgYmFkZ2UgKi9cblxuLm14X0UyRUljb25fYm9yZGVyZWQ6OmJlZm9yZSB7XG4gICAgICAgIC13ZWJraXQtbWFzay1zaXplOiA2MCU7XG4gICAgICAgICAgICAgICAgbWFzay1zaXplOiA2MCU7XG4gICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWNwZC1jb2xvci1iZy1jYW52YXMtZGVmYXVsdCk7XG4gICAgfVxuXG4ubXhfRTJFSWNvbl93YXJuaW5nOjphZnRlciB7XG4gICAgLXdlYmtpdC1tYXNrLWltYWdlOiB1cmwoXCIuLi8uLi8uLi9pbWcvZTJlL3dhcm5pbmcuc3ZnXCIpO1xuICAgICAgICAgICAgbWFzay1pbWFnZTogdXJsKFwiLi4vLi4vLi4vaW1nL2UyZS93YXJuaW5nLnN2Z1wiKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmY1YjU1O1xufVxuXG4ubXhfRTJFSWNvbl9ub3JtYWw6OmFmdGVyIHtcbiAgICAtd2Via2l0LW1hc2staW1hZ2U6IHVybChcIi4uLy4uLy4uL2ltZy9lMmUvbm9ybWFsLnN2Z1wiKTtcbiAgICAgICAgICAgIG1hc2staW1hZ2U6IHVybChcIi4uLy4uLy4uL2ltZy9lMmUvbm9ybWFsLnN2Z1wiKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jcGQtY29sb3ItaWNvbi10ZXJ0aWFyeSk7XG59XG5cbi5teF9FMkVJY29uX3ZlcmlmaWVkOjphZnRlciB7XG4gICAgLXdlYmtpdC1tYXNrLWltYWdlOiB1cmwoXCIuLi8uLi8uLi9pbWcvZTJlL3ZlcmlmaWVkLnN2Z1wiKTtcbiAgICAgICAgICAgIG1hc2staW1hZ2U6IHVybChcIi4uLy4uLy4uL2ltZy9lMmUvdmVyaWZpZWQuc3ZnXCIpO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwZGJkOGI7XG59XG5cbi8qXG5Db3B5cmlnaHQgMjAxOS0yMDI0IE5ldyBWZWN0b3IgTHRkLlxuQ29weXJpZ2h0IDIwMTkgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cblxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuKi9cblxuLm14X0VkaXRNZXNzYWdlQ29tcG9zZXIge1xuICAgIC0tRWRpdE1lc3NhZ2VDb21wb3Nlci1wYWRkaW5nLWlubGluZTogM3B4O1xuXG4gICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG5cbiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcblxuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcbiAgICAtd2Via2l0LWJveC1kaXJlY3Rpb246IG5vcm1hbDtcbiAgICAgICAgLW1zLWZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIG1heC13aWR0aDogMTAwJTsgLyogZGlzYWJsZSBvdmVyZmxvdyAqL1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIGdhcDogNXB4O1xuICAgIHBhZGRpbmc6IDNweCAzcHg7XG4gICAgcGFkZGluZzogM3B4IHZhcigtLUVkaXRNZXNzYWdlQ29tcG9zZXItcGFkZGluZy1pbmxpbmUpO1xufVxuXG4ubXhfRWRpdE1lc3NhZ2VDb21wb3NlciAubXhfQmFzaWNNZXNzYWdlQ29tcG9zZXJfaW5wdXQge1xuICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgICAgIGJvcmRlcjogc29saWQgMXB4IHZhcigtLXJvb21saXN0LXNlcGFyYXRvci1jb2xvcik7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXRpbWVsaW5lLWJhY2tncm91bmQtY29sb3IpO1xuICAgICAgICBtYXgtaGVpZ2h0OiAyMDBweDtcbiAgICAgICAgcGFkZGluZzogM3B4IDZweDtcbiAgICB9XG5cbi5teF9FZGl0TWVzc2FnZUNvbXBvc2VyIC5teF9CYXNpY01lc3NhZ2VDb21wb3Nlcl9pbnB1dDpmb2N1cyB7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6IHZhcigtLWNwZC1jb2xvci1ib3JkZXItaW50ZXJhY3RpdmUtcHJpbWFyeSk7XG4gICAgICAgIH1cblxuLm14X0VkaXRNZXNzYWdlQ29tcG9zZXIgLm14X0VkaXRNZXNzYWdlQ29tcG9zZXJfYnV0dG9ucyB7XG4gICAgICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICAgICAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgLXdlYmtpdC1ib3gtb3JpZW50OiBob3Jpem9udGFsO1xuICAgICAgICAtd2Via2l0LWJveC1kaXJlY3Rpb246IG5vcm1hbDtcbiAgICAgICAgICAgIC1tcy1mbGV4LWZsb3c6IHJvdyB3cmFwLXJldmVyc2U7XG4gICAgICAgICAgICAgICAgZmxleC1mbG93OiByb3cgd3JhcC1yZXZlcnNlOyAvKiBkaXNwbGF5IFwiU2F2ZVwiIG92ZXIgXCJDYW5jZWxcIiAqL1xuICAgICAgICAtd2Via2l0LWJveC1wYWNrOiBlbmQ7XG4gICAgICAgICAgICAtbXMtZmxleC1wYWNrOiBlbmQ7XG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgICAgZ2FwOiA1cHg7XG4gICAgICAgIC13ZWJraXQtbWFyZ2luLXN0YXJ0OiBhdXRvO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1pbmxpbmUtc3RhcnQ6IGF1dG87XG4gICAgfVxuXG4ubXhfRWRpdE1lc3NhZ2VDb21wb3NlciAubXhfRWRpdE1lc3NhZ2VDb21wb3Nlcl9idXR0b25zIC5teF9BY2Nlc3NpYmxlQnV0dG9uIHtcbiAgICAgICAgICAgIC13ZWJraXQtYm94LWZsZXg6IDE7XG4gICAgICAgICAgICAgICAgLW1zLWZsZXg6IDE7XG4gICAgICAgICAgICAgICAgICAgIGZsZXg6IDE7XG4gICAgICAgICAgICAtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgICAgICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgICAgICBtaW4td2lkdGg6IDEwMHB4OyAvKiBtYWdpYyBudW1iZXIgdG8gYWxpZ24gdGhlIGVkZ2Ugb2YgdGhlIGJ1dHRvbiB3aXRoIHRoZSBpbnB1dCBhcmVhICovXG4gICAgICAgIH1cblxuLypcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxuQ29weXJpZ2h0IDIwMjIgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cblxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuKi9cblxuLm14X0Vtb2ppQnV0dG9uIHtcbiAgICAtLXNpemU6IDI2cHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBoZWlnaHQ6IDI2cHg7XG4gICAgaGVpZ2h0OiB2YXIoLS1zaXplKTtcbiAgICBsaW5lLWhlaWdodDogMjZweDtcbiAgICBsaW5lLWhlaWdodDogdmFyKC0tc2l6ZSk7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgcGFkZGluZy1sZWZ0OiAyNnB4O1xuICAgIHBhZGRpbmctbGVmdDogdmFyKC0tc2l6ZSk7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xufVxuXG4ubXhfRW1vamlCdXR0b246OmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAzcHg7XG4gICAgICAgIGxlZnQ6IDNweDtcbiAgICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgICAgICB3aWR0aDogMjBweDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0taWNvbi1idXR0b24tY29sb3IsIHZhcigtLWNwZC1jb2xvci1pY29uLXRlcnRpYXJ5KSk7XG4gICAgICAgIC13ZWJraXQtbWFzay1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgICAgICAgICBtYXNrLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAtd2Via2l0LW1hc2stc2l6ZTogY29udGFpbjtcbiAgICAgICAgICAgICAgICBtYXNrLXNpemU6IGNvbnRhaW47XG4gICAgICAgIC13ZWJraXQtbWFzay1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgICAgICAgICAgIG1hc2stcG9zaXRpb246IGNlbnRlcjtcbiAgICAgICAgei1pbmRleDogMjtcbiAgICB9XG5cbi5teF9FbW9qaUJ1dHRvbjo6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgei1pbmRleDogMDtcbiAgICAgICAgd2lkdGg6IHZhcigtLXNpemUpO1xuICAgICAgICBoZWlnaHQ6IHZhcigtLXNpemUpO1xuICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgfVxuXG4ubXhfRW1vamlCdXR0b246aG92ZXI6OmFmdGVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWNwZC1jb2xvci1iZy1zdWJ0bGUtc2Vjb25kYXJ5KTtcbiAgICAgICAgfVxuXG4ubXhfRW1vamlCdXR0b246aG92ZXI6OmJlZm9yZSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jcGQtY29sb3ItaWNvbi1zZWNvbmRhcnkpO1xuICAgICAgICB9XG5cbi5teF9FbW9qaUJ1dHRvbl9oaWdobGlnaHQge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNwZC1jb2xvci1iZy1zdWJ0bGUtcHJpbWFyeSk7XG59XG5cbi5teF9FbW9qaUJ1dHRvbl9oaWdobGlnaHQ6OmJlZm9yZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNwZC1jb2xvci1pY29uLXByaW1hcnkpICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4ubXhfRW1vamlCdXR0b25faWNvbjo6YmVmb3JlIHtcbiAgICAtd2Via2l0LW1hc2staW1hZ2U6IHVybChcIi4uLy4uLy4uL2ltZy9lbGVtZW50LWljb25zL3Jvb20vY29tcG9zZXIvZW1vamkuc3ZnXCIpO1xuICAgICAgICAgICAgbWFzay1pbWFnZTogdXJsKFwiLi4vLi4vLi4vaW1nL2VsZW1lbnQtaWNvbnMvcm9vbS9jb21wb3Nlci9lbW9qaS5zdmdcIik7XG59XG5cbi5teF9NZXNzYWdlQ29tcG9zZXJfd3lzaXd5ZyAubXhfRW1vamlCdXR0b24ge1xuICAgICAgICAtLXNpemU6IDI2cHg7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBoZWlnaHQ6IDI2cHg7XG4gICAgICAgIGhlaWdodDogdmFyKC0tc2l6ZSk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyNnB4O1xuICAgICAgICBsaW5lLWhlaWdodDogdmFyKC0tc2l6ZSk7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDI2cHg7XG4gICAgICAgIHBhZGRpbmctbGVmdDogdmFyKC0tc2l6ZSk7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgICB9XG5cbi5teF9NZXNzYWdlQ29tcG9zZXJfd3lzaXd5ZyAubXhfRW1vamlCdXR0b246OmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAzcHg7XG4gICAgICAgIGxlZnQ6IDNweDtcbiAgICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgICAgICB3aWR0aDogMjBweDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0taWNvbi1idXR0b24tY29sb3IsIHZhcigtLWNwZC1jb2xvci1pY29uLXRlcnRpYXJ5KSk7XG4gICAgICAgIC13ZWJraXQtbWFzay1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgICAgICAgICBtYXNrLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAtd2Via2l0LW1hc2stc2l6ZTogY29udGFpbjtcbiAgICAgICAgICAgICAgICBtYXNrLXNpemU6IGNvbnRhaW47XG4gICAgICAgIC13ZWJraXQtbWFzay1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgICAgICAgICAgIG1hc2stcG9zaXRpb246IGNlbnRlcjtcbiAgICAgICAgei1pbmRleDogMjtcbiAgICB9XG5cbi5teF9NZXNzYWdlQ29tcG9zZXJfd3lzaXd5ZyAubXhfRW1vamlCdXR0b246OmFmdGVyIHtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIHotaW5kZXg6IDA7XG4gICAgICAgIHdpZHRoOiB2YXIoLS1zaXplKTtcbiAgICAgICAgaGVpZ2h0OiB2YXIoLS1zaXplKTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNXB4O1xuICAgIH1cblxuLm14X01lc3NhZ2VDb21wb3Nlcl93eXNpd3lnIC5teF9FbW9qaUJ1dHRvbjpob3Zlcjo6YWZ0ZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tcGFuZWxzLCB2YXIoLS1jcGQtY29sb3ItZ3JheS02MDApKTtcbiAgICAgICAgfVxuXG4ubXhfTWVzc2FnZUNvbXBvc2VyX3d5c2l3eWcgLm14X0Vtb2ppQnV0dG9uOmhvdmVyOjpiZWZvcmUge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2VkZjNmZjtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXRlcnRpYXJ5LWNvbnRlbnQsICNlZGYzZmYpO1xuICAgICAgICB9XG5cbi8qXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cbkNvcHlyaWdodCAyMDIwIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXG5Db3B5cmlnaHQgMjAxNSwgMjAxNiBPcGVuTWFya2V0IEx0ZFxuXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXG4qL1xuXG4ubXhfRW50aXR5VGlsZSB7XG4gICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gICAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO1xuICAgICAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBjb2xvcjogdmFyKC0tdGltZWxpbmUtdGV4dC1jb2xvcik7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4ubXhfRW50aXR5VGlsZSAubXhfRTJFSWNvbiB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBib3R0b206IDJweDtcbiAgICAgICAgcmlnaHQ6IDdweDtcbiAgICB9XG5cbi5teF9FbnRpdHlUaWxlOmhvdmVyIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAzMHB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgLyogdG8ga2VlcCB0aGUgY2hldnJvbiBhbGlnbmVkICovXG59XG5cbi5teF9FbnRpdHlUaWxlOmhvdmVyOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogY2FsYyg1MCUgLSA4cHgpOyAvKiBjZW50ZXIgKi9cbiAgICByaWdodDogLThweDtcbiAgICAtd2Via2l0LW1hc2s6IHVybChcIkB2ZWN0b3ItaW0vY29tcG91bmQtZGVzaWduLXRva2Vucy9pY29ucy9jaGV2cm9uLXJpZ2h0LnN2Z1wiKTtcbiAgICAgICAgICAgIG1hc2s6IHVybChcIkB2ZWN0b3ItaW0vY29tcG91bmQtZGVzaWduLXRva2Vucy9pY29ucy9jaGV2cm9uLXJpZ2h0LnN2Z1wiKTtcbiAgICAtd2Via2l0LW1hc2stcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgICBtYXNrLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIC13ZWJraXQtbWFzay1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgICAgICAgbWFzay1wb3NpdGlvbjogY2VudGVyO1xuICAgIHdpZHRoOiAxNnB4O1xuICAgIGhlaWdodDogMTZweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYTFiMmQxO1xufVxuXG4ubXhfRW50aXR5VGlsZTpub3QoLm14X0VudGl0eVRpbGVfdW5yZWFjaGFibGUpIC5teF9QcmVzZW5jZUxhYmVsIHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuXG4ubXhfRW50aXR5VGlsZTpob3ZlciAubXhfUHJlc2VuY2VMYWJlbCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5teF9FbnRpdHlUaWxlX2ludml0ZSB7XG4gICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xuICAgIHdpZHRoOiAyNnB4O1xufVxuXG4ubXhfRW50aXR5VGlsZV9hdmF0YXIge1xuICAgIHBhZGRpbmctbGVmdDogM3B4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDEycHg7XG4gICAgcGFkZGluZy10b3A6IDRweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogNHB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsaW5lLWhlaWdodDogMDtcbn1cblxuLm14X0VudGl0eVRpbGVfbmFtZSB7XG4gICAgLXdlYmtpdC1ib3gtZmxleDogMTtcbiAgICAgICAgLW1zLWZsZXg6IDEgMSAwcHg7XG4gICAgICAgICAgICBmbGV4OiAxIDEgMDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGZvbnQ6IHZhcigtLWNwZC1mb250LWJvZHktbWQtcmVndWxhcik7XG4gICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLm14X0VudGl0eVRpbGVfZGV0YWlscyB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAtd2Via2l0LWJveC1mbGV4OiAxO1xuICAgICAgICAtbXMtZmxleDogMTtcbiAgICAgICAgICAgIGZsZXg6IDE7XG59XG5cbi5teF9FbnRpdHlUaWxlX2VsbGlwc2lzIC5teF9FbnRpdHlUaWxlX25hbWUge1xuICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICBjb2xvcjogdmFyKC0tdGltZWxpbmUtdGV4dC1jb2xvcik7XG59XG5cbi5teF9FbnRpdHlUaWxlX2ludml0ZVBsYWNlaG9sZGVyIC5teF9FbnRpdHlUaWxlX25hbWUge1xuICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICBjb2xvcjogdmFyKC0tdGltZWxpbmUtdGV4dC1jb2xvcik7XG59XG5cbi5teF9FbnRpdHlUaWxlX3VuYXZhaWxhYmxlIC5teF9FbnRpdHlUaWxlX2F2YXRhcixcbi5teF9FbnRpdHlUaWxlX3VuYXZhaWxhYmxlIC5teF9FbnRpdHlUaWxlX25hbWUsXG4ubXhfRW50aXR5VGlsZV9vZmZsaW5lX2JlZW5hY3RpdmUgLm14X0VudGl0eVRpbGVfYXZhdGFyLFxuLm14X0VudGl0eVRpbGVfb2ZmbGluZV9iZWVuYWN0aXZlIC5teF9FbnRpdHlUaWxlX25hbWUge1xuICAgIG9wYWNpdHk6IDAuNTtcbn1cblxuLm14X0VudGl0eVRpbGVfb2ZmbGluZV9uZXZlcmFjdGl2ZSAubXhfRW50aXR5VGlsZV9hdmF0YXIsXG4ubXhfRW50aXR5VGlsZV9vZmZsaW5lX25ldmVyYWN0aXZlIC5teF9FbnRpdHlUaWxlX25hbWUge1xuICAgIG9wYWNpdHk6IDAuMjU7XG59XG5cbi5teF9FbnRpdHlUaWxlX3Vua25vd24gLm14X0VudGl0eVRpbGVfYXZhdGFyLFxuLm14X0VudGl0eVRpbGVfdW5rbm93biAubXhfRW50aXR5VGlsZV9uYW1lLFxuLm14X0VudGl0eVRpbGVfdW5yZWFjaGFibGUgLm14X0VudGl0eVRpbGVfYXZhdGFyLFxuLm14X0VudGl0eVRpbGVfdW5yZWFjaGFibGUgLm14X0VudGl0eVRpbGVfbmFtZSB7XG4gICAgb3BhY2l0eTogMC4yNTtcbn1cblxuLm14X0VudGl0eVRpbGVfc3VidGV4dCB7XG4gICAgZm9udC1zaXplOiAwLjY4NzVyZW07XG4gICAgb3BhY2l0eTogMC41O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB0ZXh0LW92ZXJmbG93OiBjbGlwO1xufVxuXG4ubXhfRW50aXR5VGlsZV9wb3dlciB7XG4gICAgLXdlYmtpdC1wYWRkaW5nLXN0YXJ0OiA2cHg7XG4gICAgICAgICAgICBwYWRkaW5nLWlubGluZS1zdGFydDogNnB4O1xuICAgIGZvbnQtc2l6ZTogMC42MjVyZW07XG4gICAgY29sb3I6ICNlZGYzZmY7XG4gICAgY29sb3I6IHZhcigtLXNlY29uZGFyeS1jb250ZW50LCAjZWRmM2ZmKTtcbiAgICBtYXgtd2lkdGg6IDZlbTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi5teF9FbnRpdHlUaWxlOmhvdmVyIC5teF9FbnRpdHlUaWxlX3Bvd2VyIHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuXG4vKlxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXG5Db3B5cmlnaHQgMjAyMSBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxuXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXG4qL1xuXG4ubXhfUm9vbVZpZXdfYm9keVtkYXRhLWxheW91dD1cImJ1YmJsZVwiXSAubXhfUm9vbVZpZXdfdGltZWxpbmUsXG4gICAgLm14X1Jvb21WaWV3X2JvZHlbZGF0YS1sYXlvdXQ9XCJidWJibGVcIl0gLm14X1Jvb21WaWV3X3N0YXR1c0FyZWEsXG4gICAgLm14X1Jvb21WaWV3X2JvZHlbZGF0YS1sYXlvdXQ9XCJidWJibGVcIl0gLm14X01lc3NhZ2VDb21wb3NlciB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtYXgtd2lkdGg6IDEyMDBweDtcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgfVxuXG4ubXhfRXZlbnRUaWxlW2RhdGEtbGF5b3V0PVwiYnViYmxlXCJdLFxuLm14X0dlbmVyaWNFdmVudExpc3RTdW1tYXJ5W2RhdGEtbGF5b3V0PVwiYnViYmxlXCJdIHtcbiAgICAtLWF2YXRhclNpemU6IDMycHg7XG4gICAgLS1ndXR0ZXJTaXplOiAxMXB4O1xuICAgIC0tY29ybmVyUmFkaXVzOiAxMnB4O1xuICAgIC0tbWF4V2lkdGg6IDcwJTtcblxuICAgIC8qIEZvciBib3RoIGV2ZW50IHRpbGUgYW5kIGV2ZW50IGxpc3Qgc3VtbWFyeSAqL1xuICAgIC0tRXZlbnRUaWxlX2J1YmJsZS1tYXJnaW4taW5saW5lLXN0YXJ0OiA0OXB4O1xuICAgIC0tRXZlbnRUaWxlX2J1YmJsZS1tYXJnaW4taW5saW5lLWVuZDogNjBweDtcblxuICAgIC13ZWJraXQtbWFyZ2luLXN0YXJ0OiA0OXB4O1xuXG4gICAgICAgICAgICBtYXJnaW4taW5saW5lLXN0YXJ0OiA0OXB4O1xuXG4gICAgLXdlYmtpdC1tYXJnaW4tc3RhcnQ6IHZhcigtLUV2ZW50VGlsZV9idWJibGUtbWFyZ2luLWlubGluZS1zdGFydCk7XG5cbiAgICAgICAgICAgIG1hcmdpbi1pbmxpbmUtc3RhcnQ6IHZhcigtLUV2ZW50VGlsZV9idWJibGUtbWFyZ2luLWlubGluZS1zdGFydCk7XG4gICAgLXdlYmtpdC1tYXJnaW4tZW5kOiA2MHB4O1xuICAgICAgICAgICAgbWFyZ2luLWlubGluZS1lbmQ6IDYwcHg7XG4gICAgLXdlYmtpdC1tYXJnaW4tZW5kOiB2YXIoLS1FdmVudFRpbGVfYnViYmxlLW1hcmdpbi1pbmxpbmUtZW5kKTtcbiAgICAgICAgICAgIG1hcmdpbi1pbmxpbmUtZW5kOiB2YXIoLS1FdmVudFRpbGVfYnViYmxlLW1hcmdpbi1pbmxpbmUtZW5kKTtcbn1cblxuLm14X0V2ZW50VGlsZVtkYXRhLWxheW91dD1cImJ1YmJsZVwiXSB7XG4gICAgLS1FdmVudFRpbGVfYnViYmxlX2xpbmUtbWFyZ2luLWlubGluZS1zdGFydDogLTlweDtcbiAgICAtLUV2ZW50VGlsZV9idWJibGVfbGluZS1tYXJnaW4taW5saW5lLWVuZDogLTEycHg7XG4gICAgLS1FdmVudFRpbGVfYnViYmxlX2dhcC1pbmxpbmU6IDVweDtcbn1cblxuLm14X0V2ZW50VGlsZVtkYXRhLWxheW91dD1cImJ1YmJsZVwiXSAubXhfTWVzc2FnZVRpbWVzdGFtcCB7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICB3aWR0aDogaW5pdGlhbDsgLyogQ2FuY2VsIHRoZSBkZWZhdWx0IHdpZHRoICovXG4gICAgICAgIG1heC13aWR0aDogODBweDtcbiAgICAgICAgbWF4LXdpZHRoOiB2YXIoLS1NZXNzYWdlVGltZXN0YW1wLW1heC13aWR0aCk7XG4gICAgfVxuXG4ubXhfRXZlbnRUaWxlW2RhdGEtbGF5b3V0PVwiYnViYmxlXCJdIC5teF9UaHJlYWRTdW1tYXJ5IHtcbiAgICAgICAgY2xlYXI6IGJvdGg7XG4gICAgICAgIHdpZHRoOiAtd2Via2l0LWZpdC1jb250ZW50O1xuICAgICAgICB3aWR0aDogLW1vei1maXQtY29udGVudDtcbiAgICAgICAgd2lkdGg6IGZpdC1jb250ZW50O1xuICAgIH1cblxuLm14X0V2ZW50VGlsZVtkYXRhLWxheW91dD1cImJ1YmJsZVwiXSAubXhfRXZlbnRUaWxlX2NvbnRlbnQge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgfVxuXG4ubXhfRXZlbnRUaWxlW2RhdGEtbGF5b3V0PVwiYnViYmxlXCJdIC5teF9FdmVudFRpbGVfYXZhdGFyIHtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDA7XG4gICAgICAgIGJvcmRlcjogNHB4IHNvbGlkIHZhcigtLXRpbWVsaW5lLWJhY2tncm91bmQtY29sb3IpO1xuICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiA2cHg7XG4gICAgICAgIHotaW5kZXg6IDk7XG4gICAgfVxuXG4ubXhfRXZlbnRUaWxlW2RhdGEtbGF5b3V0PVwiYnViYmxlXCJdIC5teF9FdmVudFRpbGVfYXZhdGFyIGltZyB7XG4gICAgICAgICAgICAtd2Via2l0LWJveC1zaGFkb3c6IDAgMCAwIDNweCB2YXIoLS10aW1lbGluZS1iYWNrZ3JvdW5kLWNvbG9yKTtcbiAgICAgICAgICAgICAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgM3B4IHZhcigtLXRpbWVsaW5lLWJhY2tncm91bmQtY29sb3IpO1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICB9XG5cbi5teF9FdmVudFRpbGVbZGF0YS1sYXlvdXQ9XCJidWJibGVcIl0ubXhfRXZlbnRUaWxlX2hpZ2hsaWdodCAubXhfRXZlbnRUaWxlX2F2YXRhciB7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6IHZhcigtLXRpbWVsaW5lLWhpZ2hsaWdodHMtY29sb3IpO1xuICAgICAgICB9XG5cbi5teF9FdmVudFRpbGVbZGF0YS1sYXlvdXQ9XCJidWJibGVcIl0ubXhfRXZlbnRUaWxlX2hpZ2hsaWdodDo6YmVmb3JlIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXRpbWVsaW5lLWhpZ2hsaWdodHMtY29sb3IpO1xuICAgICAgICB9XG5cbi5teF9FdmVudFRpbGVbZGF0YS1sYXlvdXQ9XCJidWJibGVcIl06aG92ZXIgLm14X0V2ZW50VGlsZV9hdmF0YXIge1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAjMWMyMDI2O1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1ldmVudGJ1YmJsZS1iZy1ob3ZlciwgIzFjMjAyNik7XG4gICAgICAgIH1cblxuLyogRm9yIHJlcGxpZXMgKi9cblxuLm14X0V2ZW50VGlsZVtkYXRhLWxheW91dD1cImJ1YmJsZVwiXSAubXhfRXZlbnRUaWxlIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgfVxuXG4ubXhfRXZlbnRUaWxlW2RhdGEtbGF5b3V0PVwiYnViYmxlXCJdOjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogLTFweDtcbiAgICAgICAgYm90dG9tOiAtMXB4O1xuICAgICAgICBsZWZ0OiBjYWxjKC0xICogdmFyKC0tRXZlbnRUaWxlX2J1YmJsZS1tYXJnaW4taW5saW5lLXN0YXJ0KSk7XG4gICAgICAgIHJpZ2h0OiBjYWxjKC0xICogdmFyKC0tRXZlbnRUaWxlX2J1YmJsZS1tYXJnaW4taW5saW5lLWVuZCkpO1xuICAgICAgICB6LWluZGV4OiAtMTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAgIH1cblxuLm14X0V2ZW50VGlsZVtkYXRhLWxheW91dD1cImJ1YmJsZVwiXTpob3Zlcjo6YmVmb3JlLCAubXhfRXZlbnRUaWxlW2RhdGEtbGF5b3V0PVwiYnViYmxlXCJdLm14X0V2ZW50VGlsZV9zZWxlY3RlZDo6YmVmb3JlIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICMxYzIwMjY7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1ldmVudGJ1YmJsZS1iZy1ob3ZlciwgIzFjMjAyNik7XG4gICAgICAgIH1cblxuLm14X0V2ZW50VGlsZVtkYXRhLWxheW91dD1cImJ1YmJsZVwiXTpob3ZlciAubXhfRXZlbnRUaWxlX2F2YXRhciBpbWcsIC5teF9FdmVudFRpbGVbZGF0YS1sYXlvdXQ9XCJidWJibGVcIl0ubXhfRXZlbnRUaWxlX3NlbGVjdGVkIC5teF9FdmVudFRpbGVfYXZhdGFyIGltZyB7XG4gICAgICAgICAgICAgICAgLXdlYmtpdC1ib3gtc2hhZG93OiAwIDAgMCAzcHggIzFjMjAyNjtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDNweCAjMWMyMDI2O1xuICAgICAgICAgICAgICAgIC13ZWJraXQtYm94LXNoYWRvdzogMCAwIDAgM3B4IHZhcigtLWV2ZW50YnViYmxlLWJnLWhvdmVyLCAjMWMyMDI2KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDNweCB2YXIoLS1ldmVudGJ1YmJsZS1iZy1ob3ZlciwgIzFjMjAyNik7XG4gICAgICAgICAgICB9XG5cbi5teF9FdmVudFRpbGVbZGF0YS1sYXlvdXQ9XCJidWJibGVcIl0gLm14X0Rpc2FtYmlndWF0ZWRQcm9maWxlLFxuICAgIC5teF9FdmVudFRpbGVbZGF0YS1sYXlvdXQ9XCJidWJibGVcIl0gLm14X0V2ZW50VGlsZV9saW5lIHtcbiAgICAgICAgLS1FdmVudEJ1YmJsZVRpbGVfbGluZS1tYXgtd2lkdGg6IDcwJTtcblxuICAgICAgICB3aWR0aDogLXdlYmtpdC1maXQtY29udGVudDtcblxuICAgICAgICB3aWR0aDogLW1vei1maXQtY29udGVudDtcblxuICAgICAgICB3aWR0aDogZml0LWNvbnRlbnQ7XG4gICAgICAgIG1heC13aWR0aDogNzAlO1xuICAgICAgICBtYXgtd2lkdGg6IHZhcigtLUV2ZW50QnViYmxlVGlsZV9saW5lLW1heC13aWR0aCk7IC8qIEFsaWduIG1lc3NhZ2UgYnViYmxlIGFuZCBkaXNwbGF5TmFtZSAqL1xuICAgICAgICBsaW5lLWhlaWdodDogMS4xMjVyZW07IC8qIGZpeGVkIGxpbmUgaGVpZ2h0IHRvIHByZXZlbnQgZW1vamkgZnJvbSBiZWluZyB0YWxsZXIgdGhhbiB0ZXh0ICovXG4gICAgfVxuXG4vKiBvdGhlciB1c2VycyBwcm9maWxlIG9uIGJ1YmJsZSBsYXlvdXQgKi9cblxuLm14X0V2ZW50VGlsZVtkYXRhLWxheW91dD1cImJ1YmJsZVwiXSA+IC5teF9EaXNhbWJpZ3VhdGVkUHJvZmlsZSB7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7IC8qIGRpc3BsYXkgbXhpZCAqL1xuICAgIH1cblxuLm14X0V2ZW50VGlsZVtkYXRhLWxheW91dD1cImJ1YmJsZVwiXSA+IC5teF9EaXNhbWJpZ3VhdGVkUHJvZmlsZSAubXhfRGlzYW1iaWd1YXRlZFByb2ZpbGVfZGlzcGxheU5hbWUge1xuICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsgLyogdHJ1bmNhdGUgbG9uZyBkaXNwbGF5IG5hbWVzICovXG4gICAgICAgICAgICAtd2Via2l0LW1hcmdpbi1lbmQ6IDVweDtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWlubGluZS1lbmQ6IDVweDtcblxuICAgICAgICAgICAgLyogRm9yIFJUTCBkaXNwbGF5TmFtZSAqL1xuICAgICAgICAgICAgdW5pY29kZS1iaWRpOiBlbWJlZDtcbiAgICAgICAgICAgIGRpcmVjdGlvbjogbHRyO1xuICAgICAgICB9XG5cbi5teF9FdmVudFRpbGVbZGF0YS1sYXlvdXQ9XCJidWJibGVcIl0gPiAubXhfRGlzYW1iaWd1YXRlZFByb2ZpbGUgLm14X0Rpc2FtYmlndWF0ZWRQcm9maWxlX214aWQge1xuICAgICAgICAgICAgLXdlYmtpdC1tYXJnaW4tc3RhcnQ6IDA7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1pbmxpbmUtc3RhcnQ6IDA7IC8qIEFsaWduIG14aWQgd2l0aCB0cnVuY2F0ZWQgZGlzcGxheU5hbWVcbiAgICAgICAgICAgICAgICBpbnNpZGUgbXhfRXZlbnRUaWxlW2RhdGEtbGF5b3V0PVwiYnViYmxlXCJdICovXG4gICAgICAgIH1cblxuLyogKG9uIHRoZSBtYWluIHBhbmVsIGFuZCB0aGUgY2hhdCBwYW5lbCB3aXRoIGEgbWF4aW1pemVkIHdpZGdldCkgKi9cblxuLm14X0V2ZW50VGlsZVtkYXRhLWxheW91dD1cImJ1YmJsZVwiXSA+IC5teF9EaXNhbWJpZ3VhdGVkUHJvZmlsZSxcbiAgICBcbiAgICAubXhfRXZlbnRUaWxlW2RhdGEtbGF5b3V0PVwiYnViYmxlXCJdIC5teF9FdmVudFRpbGVfc2VuZGVyRGV0YWlscyA+IC5teF9EaXNhbWJpZ3VhdGVkUHJvZmlsZSB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgdG9wOiAtMnB4O1xuICAgICAgICBsZWZ0OiAycHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICAgIH1cblxuLyogaW5zaWRlIG14X1Jvb21WaWV3X01lc3NhZ2VMaXN0LCBvdXRzaWRlIG9mIG14X1JlcGx5VGlsZSAqL1xuXG4ubXhfRXZlbnRUaWxlW2RhdGEtbGF5b3V0PVwiYnViYmxlXCJdIC5teF9NZXNzYWdlQWN0aW9uQmFyIHtcbiAgICAgICAgdG9wOiAtMjhweDtcbiAgICAgICAgei1pbmRleDogOTsgLyogYWJvdmUgdGhlIGF2YXRhciAqL1xuICAgIH1cblxuLm14X0V2ZW50VGlsZVtkYXRhLWxheW91dD1cImJ1YmJsZVwiXSAubXhfTWVkaWFCb2R5IHtcbiAgICAgICAgLyogbGVhdmUgc3BhY2UgZm9yIHRoZSB0aW1lc3RhbXAgKi9cbiAgICAgICAgcGFkZGluZy1yaWdodDogNDhweDtcbiAgICB9XG5cbi5teF9FdmVudFRpbGVbZGF0YS1sYXlvdXQ9XCJidWJibGVcIl0gLm14X01JbWFnZUJvZHkgLm14X01JbWFnZUJvZHlfdGh1bWJuYWlsX2NvbnRhaW5lciB7XG4gICAgICAgICAgICAtd2Via2l0LWJveC1wYWNrOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgLW1zLWZsZXgtcGFjazogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgIG1pbi1oZWlnaHQ6IGNhbGMoMS44cmVtICsgdmFyKC0tZ3V0dGVyU2l6ZSkgKyB2YXIoLS1ndXR0ZXJTaXplKSk7XG4gICAgICAgICAgICBtaW4td2lkdGg6IGNhbGMoMS44cmVtICsgdmFyKC0tZ3V0dGVyU2l6ZSkgKyB2YXIoLS1ndXR0ZXJTaXplKSk7XG4gICAgICAgIH1cblxuLm14X0V2ZW50VGlsZVtkYXRhLWxheW91dD1cImJ1YmJsZVwiXSAubXhfTGVnYWN5Q2FsbEV2ZW50IHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IGluaXRpYWw7XG5cbiAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAxcHg7XG4gICAgICAgIGJvcmRlci1jb2xvcjogIzZmNzg4MjtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1xdWluYXJ5LWNvbnRlbnQsICM2Zjc4ODIpO1xuICAgIH1cblxuLm14X0V2ZW50VGlsZVtkYXRhLWxheW91dD1cImJ1YmJsZVwiXSAubXhfRXZlbnRUaWxlX2Zvb3RlciB7XG4gICAgICAgIG1hcmdpbjogdmFyKC0tY3BkLXNwYWNlLTEtNXgpIDA7XG4gICAgICAgIG1hcmdpbi1pbmxpbmU6IHZhcigtLUV2ZW50VGlsZV9idWJibGVfbGluZS1tYXJnaW4taW5saW5lLXN0YXJ0KSB2YXIoLS1FdmVudFRpbGVfYnViYmxlX2xpbmUtbWFyZ2luLWlubGluZS1lbmQpO1xuICAgIH1cblxuLm14X0V2ZW50VGlsZVtkYXRhLWxheW91dD1cImJ1YmJsZVwiXVtkYXRhLXNlbGY9XCJmYWxzZVwiXSAubXhfRXZlbnRUaWxlX2xpbmUge1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IHZhcigtLWNvcm5lclJhZGl1cyk7XG4gICAgICAgIH1cblxuLm14X0V2ZW50VGlsZVtkYXRhLWxheW91dD1cImJ1YmJsZVwiXVtkYXRhLXNlbGY9XCJmYWxzZVwiXSAubXhfRXZlbnRUaWxlX2xpbmUgLm14X01JbWFnZUJvZHkgLm14X01JbWFnZUJvZHlfdGh1bWJuYWlsX2NvbnRhaW5lcixcbiAgICAgICAgICAgIC5teF9FdmVudFRpbGVbZGF0YS1sYXlvdXQ9XCJidWJibGVcIl1bZGF0YS1zZWxmPVwiZmFsc2VcIl0gLm14X0V2ZW50VGlsZV9saW5lIC5teF9NSW1hZ2VCb2R5OjpiZWZvcmUsXG4gICAgICAgICAgICAubXhfRXZlbnRUaWxlW2RhdGEtbGF5b3V0PVwiYnViYmxlXCJdW2RhdGEtc2VsZj1cImZhbHNlXCJdIC5teF9FdmVudFRpbGVfbGluZSAubXhfTVZpZGVvQm9keSAubXhfTVZpZGVvQm9keV9jb250YWluZXIsXG4gICAgICAgICAgICAubXhfRXZlbnRUaWxlW2RhdGEtbGF5b3V0PVwiYnViYmxlXCJdW2RhdGEtc2VsZj1cImZhbHNlXCJdIC5teF9FdmVudFRpbGVfbGluZSAubXhfTWVkaWFCb2R5LFxuICAgICAgICAgICAgLm14X0V2ZW50VGlsZVtkYXRhLWxheW91dD1cImJ1YmJsZVwiXVtkYXRhLXNlbGY9XCJmYWxzZVwiXSAubXhfRXZlbnRUaWxlX2xpbmUgLm14X01Mb2NhdGlvbkJvZHlfbWFwLFxuICAgICAgICAgICAgLm14X0V2ZW50VGlsZVtkYXRhLWxheW91dD1cImJ1YmJsZVwiXVtkYXRhLXNlbGY9XCJmYWxzZVwiXSAubXhfRXZlbnRUaWxlX2xpbmUgLm14X01CZWFjb25Cb2R5IHtcbiAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogdmFyKC0tY29ybmVyUmFkaXVzKSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgfVxuXG4ubXhfRXZlbnRUaWxlW2RhdGEtbGF5b3V0PVwiYnViYmxlXCJdW2RhdGEtc2VsZj1cImZhbHNlXCJdIC5teF9FdmVudFRpbGVfYXZhdGFyIHtcbiAgICAgICAgICAgIGxlZnQ6IC0zNnB4O1xuICAgICAgICB9XG5cbi5teF9FdmVudFRpbGVbZGF0YS1sYXlvdXQ9XCJidWJibGVcIl1bZGF0YS1zZWxmPVwiZmFsc2VcIl0gLm14X01lc3NhZ2VBY3Rpb25CYXIge1xuICAgICAgICAgICAgaW5zZXQtaW5saW5lLXN0YXJ0OiBjYWxjKDEwMCUgLSB2YXIoLS1NZXNzYWdlQWN0aW9uQmFyLXNpemUtYm94KSk7XG4gICAgICAgICAgICByaWdodDogYXV0bztcbiAgICAgICAgICAgIHJpZ2h0OiBpbml0aWFsOyAvKiBSZXNldCB0aGUgZGVmYXVsdCB2YWx1ZSAqL1xuICAgICAgICB9XG5cbi5teF9FdmVudFRpbGVbZGF0YS1sYXlvdXQ9XCJidWJibGVcIl1bZGF0YS1zZWxmPVwiZmFsc2VcIl0gLm14X1RocmVhZFN1bW1hcnkge1xuICAgICAgICAgICAgLXdlYmtpdC1tYXJnaW4tc3RhcnQ6IGNhbGMoLTEgKiB2YXIoLS1ndXR0ZXJTaXplKSk7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1pbmxpbmUtc3RhcnQ6IGNhbGMoLTEgKiB2YXIoLS1ndXR0ZXJTaXplKSk7XG4gICAgICAgICAgICAtd2Via2l0LW1hcmdpbi1lbmQ6IGF1dG87XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1pbmxpbmUtZW5kOiBhdXRvO1xuICAgICAgICB9XG5cbi5teF9FdmVudFRpbGVbZGF0YS1sYXlvdXQ9XCJidWJibGVcIl1bZGF0YS1zZWxmPVwiZmFsc2VcIl0gLm14X1JlYWN0aW9uc1JvdyxcbiAgICAgICAgLm14X0V2ZW50VGlsZVtkYXRhLWxheW91dD1cImJ1YmJsZVwiXVtkYXRhLXNlbGY9XCJmYWxzZVwiXSAubXhfRXZlbnRUaWxlX2Zvb3RlciB7XG4gICAgICAgICAgICAtd2Via2l0LWJveC1wYWNrOiBzdGFydDtcbiAgICAgICAgICAgICAgICAtbXMtZmxleC1wYWNrOiBzdGFydDtcbiAgICAgICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgICB9XG5cbi5teF9FdmVudFRpbGVbZGF0YS1sYXlvdXQ9XCJidWJibGVcIl1bZGF0YS1zZWxmPVwiZmFsc2VcIl0ge1xuXG4gICAgICAgIC0tYmFja2dyb3VuZENvbG9yOiB2YXIoLS1ldmVudGJ1YmJsZS1vdGhlcnMtYmcsICMyMjI2MmUpO1xufVxuXG4ubXhfRXZlbnRUaWxlW2RhdGEtbGF5b3V0PVwiYnViYmxlXCJdW2RhdGEtc2VsZj1cInRydWVcIl0gLm14X0V2ZW50VGlsZV9saW5lIHtcbiAgICAgICAgICAgIC13ZWJraXQtbWFyZ2luLXN0YXJ0OiBhdXRvO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4taW5saW5lLXN0YXJ0OiBhdXRvO1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogdmFyKC0tY29ybmVyUmFkaXVzKTtcbiAgICAgICAgfVxuXG4ubXhfRXZlbnRUaWxlW2RhdGEtbGF5b3V0PVwiYnViYmxlXCJdW2RhdGEtc2VsZj1cInRydWVcIl0gLm14X0V2ZW50VGlsZV9saW5lIC5teF9NSW1hZ2VCb2R5IC5teF9NSW1hZ2VCb2R5X3RodW1ibmFpbF9jb250YWluZXIsXG4gICAgICAgICAgICAubXhfRXZlbnRUaWxlW2RhdGEtbGF5b3V0PVwiYnViYmxlXCJdW2RhdGEtc2VsZj1cInRydWVcIl0gLm14X0V2ZW50VGlsZV9saW5lIC5teF9NSW1hZ2VCb2R5OjpiZWZvcmUsXG4gICAgICAgICAgICAubXhfRXZlbnRUaWxlW2RhdGEtbGF5b3V0PVwiYnViYmxlXCJdW2RhdGEtc2VsZj1cInRydWVcIl0gLm14X0V2ZW50VGlsZV9saW5lIC5teF9NVmlkZW9Cb2R5IC5teF9NVmlkZW9Cb2R5X2NvbnRhaW5lcixcbiAgICAgICAgICAgIC5teF9FdmVudFRpbGVbZGF0YS1sYXlvdXQ9XCJidWJibGVcIl1bZGF0YS1zZWxmPVwidHJ1ZVwiXSAubXhfRXZlbnRUaWxlX2xpbmUgLm14X01lZGlhQm9keSxcbiAgICAgICAgICAgIC5teF9FdmVudFRpbGVbZGF0YS1sYXlvdXQ9XCJidWJibGVcIl1bZGF0YS1zZWxmPVwidHJ1ZVwiXSAubXhfRXZlbnRUaWxlX2xpbmUgLm14X01Mb2NhdGlvbkJvZHlfbWFwLFxuICAgICAgICAgICAgLm14X0V2ZW50VGlsZVtkYXRhLWxheW91dD1cImJ1YmJsZVwiXVtkYXRhLXNlbGY9XCJ0cnVlXCJdIC5teF9FdmVudFRpbGVfbGluZSAubXhfTUJlYWNvbkJvZHkge1xuICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IHZhcigtLWNvcm5lclJhZGl1cykgIWltcG9ydGFudDtcbiAgICAgICAgICAgIH1cblxuLm14X0V2ZW50VGlsZVtkYXRhLWxheW91dD1cImJ1YmJsZVwiXVtkYXRhLXNlbGY9XCJ0cnVlXCJdIC5teF9FdmVudFRpbGVfc3RpY2tlciB7XG4gICAgICAgICAgICAvKiBhbGlnbiB0aW1lc3RhbXAgd2l0aCB0aG9zZSBpbnNpZGUgYnViYmxlcyAqL1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAzMnB4O1xuICAgICAgICB9XG5cbi5teF9FdmVudFRpbGVbZGF0YS1sYXlvdXQ9XCJidWJibGVcIl1bZGF0YS1zZWxmPVwidHJ1ZVwiXSAubXhfVGhyZWFkU3VtbWFyeSB7XG4gICAgICAgICAgICAtd2Via2l0LW1hcmdpbi1zdGFydDogYXV0bztcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWlubGluZS1zdGFydDogYXV0bztcbiAgICAgICAgICAgIC13ZWJraXQtbWFyZ2luLWVuZDogY2FsYygtMSAqIHZhcigtLWd1dHRlclNpemUpKTtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWlubGluZS1lbmQ6IGNhbGMoLTEgKiB2YXIoLS1ndXR0ZXJTaXplKSk7XG4gICAgICAgIH1cblxuLm14X0V2ZW50VGlsZVtkYXRhLWxheW91dD1cImJ1YmJsZVwiXVtkYXRhLXNlbGY9XCJ0cnVlXCJdIC5teF9EaXNhbWJpZ3VhdGVkUHJvZmlsZSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG5cbi5teF9FdmVudFRpbGVbZGF0YS1sYXlvdXQ9XCJidWJibGVcIl1bZGF0YS1zZWxmPVwidHJ1ZVwiXSAubXhfUmVwbHlUaWxlIC5teF9EaXNhbWJpZ3VhdGVkUHJvZmlsZSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgfVxuXG4ubXhfRXZlbnRUaWxlW2RhdGEtbGF5b3V0PVwiYnViYmxlXCJdW2RhdGEtc2VsZj1cInRydWVcIl0gLm14X0V2ZW50VGlsZV9mb290ZXIge1xuICAgICAgICAgICAgLXdlYmtpdC1ib3gtcGFjazogZW5kO1xuICAgICAgICAgICAgICAgIC1tcy1mbGV4LXBhY2s6IGVuZDtcbiAgICAgICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgICAgfVxuXG4ubXhfRXZlbnRUaWxlW2RhdGEtbGF5b3V0PVwiYnViYmxlXCJdW2RhdGEtc2VsZj1cInRydWVcIl0gLm14X1JlYWN0aW9uc1JvdyB7XG4gICAgICAgICAgICAtd2Via2l0LWJveC1wYWNrOiBlbmQ7XG4gICAgICAgICAgICAgICAgLW1zLWZsZXgtcGFjazogZW5kO1xuICAgICAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgICAgICB9XG5cbi5teF9FdmVudFRpbGVbZGF0YS1sYXlvdXQ9XCJidWJibGVcIl1bZGF0YS1zZWxmPVwidHJ1ZVwiXSAubXhfUmVhY3Rpb25zUm93ID4gOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgIC13ZWJraXQtYm94LW9yZGluYWwtZ3JvdXA6IDA7XG4gICAgICAgICAgICAgICAgICAgIC1tcy1mbGV4LW9yZGVyOiAtMTtcbiAgICAgICAgICAgICAgICAgICAgICAgIG9yZGVyOiAtMTsgLyogTW92aW5nIHRoZSBcImFkZCByZWFjdGlvbiBidXR0b25cIiBiZWZvcmUgdGhlIHJlYWN0aW9ucyAqL1xuICAgICAgICAgICAgfVxuXG4ubXhfRXZlbnRUaWxlW2RhdGEtbGF5b3V0PVwiYnViYmxlXCJdW2RhdGEtc2VsZj1cInRydWVcIl0gLm14X0V2ZW50VGlsZV9hdmF0YXIge1xuICAgICAgICAgICAgdG9wOiAtMTlweDsgLyogaGVpZ2h0IG9mIHRoZSBzZW5kZXIgYmxvY2sgKi9cbiAgICAgICAgICAgIHJpZ2h0OiAtMzhweDtcbiAgICAgICAgfVxuXG4ubXhfRXZlbnRUaWxlW2RhdGEtbGF5b3V0PVwiYnViYmxlXCJdW2RhdGEtc2VsZj1cInRydWVcIl0gLm14X01lZGlhQm9keSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAjMTQzMjJlO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tZXZlbnRidWJibGUtc2VsZi1iZywgIzE0MzIyZSk7XG4gICAgICAgIH1cblxuLm14X0V2ZW50VGlsZVtkYXRhLWxheW91dD1cImJ1YmJsZVwiXVtkYXRhLXNlbGY9XCJ0cnVlXCJdIC5teF9NZXNzYWdlQWN0aW9uQmFyIHtcbiAgICAgICAgICAgIGluc2V0LWlubGluZS1lbmQ6IDA7XG4gICAgICAgIH1cblxuLm14X0V2ZW50VGlsZVtkYXRhLWxheW91dD1cImJ1YmJsZVwiXVtkYXRhLXNlbGY9XCJ0cnVlXCJdIHtcblxuICAgICAgICAtLWJhY2tncm91bmRDb2xvcjogdmFyKC0tZXZlbnRidWJibGUtc2VsZi1iZywgIzE0MzIyZSk7XG59XG5cbi5teF9FdmVudFRpbGVbZGF0YS1sYXlvdXQ9XCJidWJibGVcIl0gLm14X0V2ZW50VGlsZV9saW5lIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgICAgICAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGdhcDogNXB4IHZhcigtLUV2ZW50VGlsZV9idWJibGVfZ2FwLWlubGluZSk7XG4gICAgICAgIG1hcmdpbi1ibG9jazogMDtcbiAgICAgICAgbWFyZ2luLWlubGluZTogdmFyKC0tRXZlbnRUaWxlX2J1YmJsZV9saW5lLW1hcmdpbi1pbmxpbmUtc3RhcnQpIHZhcigtLUV2ZW50VGlsZV9idWJibGVfbGluZS1tYXJnaW4taW5saW5lLWVuZCk7XG4gICAgICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IHZhcigtLWNvcm5lclJhZGl1cyk7XG4gICAgICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiB2YXIoLS1jb3JuZXJSYWRpdXMpO1xuXG4gICAgICAgIC8qIG5vaW5zcGVjdGlvbiBDc3NSZXBsYWNlV2l0aFNob3J0aGFuZFNhZmVseSAqL1xuICAgIH1cblxuLyogaW4gdGhlIERPTSBkZXBlbmRpbmcgb24gdGhlIHNwZWNpZmljIHJlbmRlcmluZyBjb250ZXh0ICovXG5cbi5teF9FdmVudFRpbGVbZGF0YS1sYXlvdXQ9XCJidWJibGVcIl0gLm14X0V2ZW50VGlsZV9saW5lID4gYSwgXG4gICAgICAgIC5teF9FdmVudFRpbGVbZGF0YS1sYXlvdXQ9XCJidWJibGVcIl0gLm14X0V2ZW50VGlsZV9saW5lIC5teF9NZXNzYWdlQWN0aW9uQmFyICsgLm14X01lc3NhZ2VUaW1lc3RhbXAge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgcGFkZGluZzogNHB4IDhweDtcbiAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgei1pbmRleDogMzsgLyogYWJvdmUgbWVkaWEgYW5kIGxvY2F0aW9uIHNoYXJlIG1hcHMgKi9cbiAgICAgICAgfVxuXG4vKiB0aGUgc2VsZWN0b3IgaGVyZSBpcyBxdWl0ZSB3ZWlyZCBiZWNhdXNlIHRpbWVzdGFtcHMgY2FuIGFwcGVhciBsaW5rZWQgJiB1bmxpbmtlZCBhbmQgaW4gZGlmZmVyZW50IHBsYWNlcyAqL1xuXG4vKiBUT0RPOiBVc2UgYSBjb21tb24gY2xhc3MgbmFtZSBpbnN0ZWFkICovXG5cbi5teF9FdmVudFRpbGVbZGF0YS1sYXlvdXQ9XCJidWJibGVcIl0gLm14X0V2ZW50VGlsZV9saW5lLm14X0V2ZW50VGlsZV9tZWRpYUxpbmUgLm14X01GaWxlQm9keSxcbiAgICAgICAgICAgIC5teF9FdmVudFRpbGVbZGF0YS1sYXlvdXQ9XCJidWJibGVcIl0gLm14X0V2ZW50VGlsZV9saW5lLm14X0V2ZW50VGlsZV9tZWRpYUxpbmUgLm14X01BdWRpb0JvZHkge1xuICAgICAgICAgICAgICAgIG1heC13aWR0aDogMTAwJTsgLyogYXZvaWQgb3ZlcmZsb3cgKi9cbiAgICAgICAgICAgIH1cblxuLm14X0V2ZW50VGlsZVtkYXRhLWxheW91dD1cImJ1YmJsZVwiXSAubXhfRXZlbnRUaWxlX2xpbmUubXhfRXZlbnRUaWxlX21lZGlhTGluZSAubXhfTVZvaWNlTWVzc2FnZUJvZHkge1xuICAgICAgICAgICAgICAgIC8qIGFsbG93IHRoZSBldmVudCB0byBiZSBjb2xsYXBzZWQsIHRoaXMgY2F1c2VzIHRoZSB3YXZlZm9ybSB0byBnZXQgY3JvcHBlZCAqL1xuICAgICAgICAgICAgICAgIG1pbi13aWR0aDogMDtcbiAgICAgICAgICAgIH1cblxuLyogd2UgcHV0IHRoZSB0aW1lc3RhbXBzIGZvciBtZWRpYSAob3RoZXIgdGhhbiBzdGlja2VycykgYXRvcCB0aGUgbWVkaWEgKi9cblxuLm14X0V2ZW50VGlsZVtkYXRhLWxheW91dD1cImJ1YmJsZVwiXSAubXhfRXZlbnRUaWxlX2xpbmUubXhfRXZlbnRUaWxlX21lZGlhTGluZS5teF9FdmVudFRpbGVfaW1hZ2UgLm14X01lc3NhZ2VUaW1lc3RhbXAge1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLU1Cb2R5LWJvcmRlci1yYWRpdXMpO1xuICAgICAgICAgICAgICAgICAgICAvKiBIYXJkY29kZWQgY29sb3VycyBiZWNhdXNlIGl0J3MgdGhlIHNhbWUgb24gYWxsIHRoZW1lcyAqL1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNik7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwcHggNHB4IDBweCA0cHg7XG4gICAgICAgICAgICAgICAgfVxuXG4ubXhfRXZlbnRUaWxlW2RhdGEtbGF5b3V0PVwiYnViYmxlXCJdIC5teF9FdmVudFRpbGVfbGluZS5teF9FdmVudFRpbGVfc3RpY2tlciA+IGEsIFxuICAgICAgICAgICAgLm14X0V2ZW50VGlsZVtkYXRhLWxheW91dD1cImJ1YmJsZVwiXSAubXhfRXZlbnRUaWxlX2xpbmUubXhfRXZlbnRUaWxlX3N0aWNrZXIgLm14X01lc3NhZ2VBY3Rpb25CYXIgKyAubXhfTWVzc2FnZVRpbWVzdGFtcCB7XG4gICAgICAgICAgICAgICAgLyogcG9zaXRpb24gdGltZXN0YW1wcyBmb3Igc3RpY2tlcnMgdG8gdGhlIHJpZ2h0IG9mIHRoZSB1bi1idWJibGVkIHN0aWNrZXIgKi9cbiAgICAgICAgICAgICAgICByaWdodDogYXV0bztcbiAgICAgICAgICAgICAgICByaWdodDogaW5pdGlhbDtcbiAgICAgICAgICAgICAgICBsZWZ0OiAxMDAlO1xuICAgICAgICAgICAgfVxuXG4ubXhfRXZlbnRUaWxlW2RhdGEtbGF5b3V0PVwiYnViYmxlXCJdIC5teF9FdmVudFRpbGVfbGluZS5teF9FdmVudFRpbGVfc3RpY2tlciAubXhfTVN0aWNrZXJCb2R5X3dyYXBwZXIge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICB9XG5cbi5teF9FdmVudFRpbGVbZGF0YS1sYXlvdXQ9XCJidWJibGVcIl0gLm14X0V2ZW50VGlsZV9saW5lIC5teF9NSW1hZ2VCb2R5IHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG5cbi5teF9FdmVudFRpbGVbZGF0YS1sYXlvdXQ9XCJidWJibGVcIl0gLm14X0V2ZW50VGlsZV9saW5lIC5teF9NSW1hZ2VCb2R5IC5teF9NSW1hZ2VCb2R5X3RodW1ibmFpbC5teF9NSW1hZ2VCb2R5X3RodW1ibmFpbC0tYmx1cmhhc2gge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGluaXRpYWw7XG4gICAgICAgICAgICB9XG5cbi5teF9FdmVudFRpbGVbZGF0YS1sYXlvdXQ9XCJidWJibGVcIl0gLm14X0V2ZW50VGlsZV9saW5lIC5teF9NSW1hZ2VCb2R5IC5teF9NSW1hZ2VCb2R5X3RodW1ibmFpbF9jb250YWluZXIsXG4gICAgICAgIC5teF9FdmVudFRpbGVbZGF0YS1sYXlvdXQ9XCJidWJibGVcIl0gLm14X0V2ZW50VGlsZV9saW5lIC5teF9NVmlkZW9Cb2R5IC5teF9NVmlkZW9Cb2R5X2NvbnRhaW5lcixcbiAgICAgICAgLm14X0V2ZW50VGlsZVtkYXRhLWxheW91dD1cImJ1YmJsZVwiXSAubXhfRXZlbnRUaWxlX2xpbmUgLm14X01lZGlhQm9keSB7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogaW5pdGlhbDtcbiAgICAgICAgICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IHZhcigtLWNvcm5lclJhZGl1cyk7XG4gICAgICAgICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogdmFyKC0tY29ybmVyUmFkaXVzKTtcbiAgICAgICAgfVxuXG4ubXhfRXZlbnRUaWxlW2RhdGEtbGF5b3V0PVwiYnViYmxlXCJdIC5teF9FdmVudFRpbGVfbGluZSAubXhfRXZlbnRUaWxlX2UyZUljb24ge1xuICAgICAgICAgICAgLW1zLWZsZXgtbmVnYXRpdmU6IDA7XG4gICAgICAgICAgICAgICAgZmxleC1zaHJpbms6IDA7IC8qIGtlZXAgaXQgYXQgZnVsbCBzaXplICovXG5cbiAgICAgICAgICAgIC8qIEtlZXAgaGVpZ2h0IGVxdWFsIHRvIHRleHQgZm9yIHNoaWVsZCBhbGlnbm1lbnQsIGFkZGl0aW9uYWwgMnB4IGJlY2F1c2Ugb2YgMXB4IHBhZGRpbmcgb24gdGV4dCAqL1xuICAgICAgICAgICAgaGVpZ2h0OiBjYWxjKDEuMTI1cmVtICsgMnB4KTtcbiAgICAgICAgfVxuXG4ubXhfRXZlbnRUaWxlW2RhdGEtbGF5b3V0PVwiYnViYmxlXCJdIC5teF9FdmVudFRpbGVfbGluZSAubXhfTVBvbGxFbmRCb2R5IHtcbiAgICAgICAgICAgIC8qIFByZXZlbnQgdGhlIHBvbGwgZW5kIGJvZHkgZnJvbSBleGNlZWRpbmcgdGhlIHRpbGUgd2lkdGggKi9cbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG5cbi5teF9FdmVudFRpbGVbZGF0YS1sYXlvdXQ9XCJidWJibGVcIl06bm90KC5teF9FdmVudFRpbGVfbm9CdWJibGUpIC5teF9FdmVudFRpbGVfbGluZTpub3QoLm14X0V2ZW50VGlsZV9tZWRpYUxpbmUpIHtcbiAgICAgICAgLyogbWFrZSB0aGUgdG9wIGFuZCBib3R0b20gcGFkZGluZyAxcHggc21hbGxlciBzbyB0aGF0IHdlIGNhbiBwYWRcbiAgICAgICAgICAgIC5teF9FdmVudFRpbGVfY29udGVudCBieSAxcHggKi9cbiAgICAgICAgLyogdG8gYXZvaWQgYW50aS16YWxnbyBjdXR0aW5nIG9mZiBvdXIgbGFyZ2VyIHRoYW4gdGV4dCBlbW9qaXMuICovXG4gICAgICAgIHBhZGRpbmc6IGNhbGModmFyKC0tZ3V0dGVyU2l6ZSkgLSAxcHgpO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiA2MHB4OyAvKiBzcGFjZSBmb3IgdGhlIHRpbWVzdGFtcCAqL1xuICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kQ29sb3IpO1xuICAgIH1cblxuLm14X0V2ZW50VGlsZVtkYXRhLWxheW91dD1cImJ1YmJsZVwiXTpub3QoLm14X0V2ZW50VGlsZV9ub0J1YmJsZSkgLm14X0V2ZW50VGlsZV9saW5lOm5vdCgubXhfRXZlbnRUaWxlX21lZGlhTGluZSkgLm14X0V2ZW50VGlsZV9jb250ZW50IHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDFweDtcbiAgICAgICAgfVxuXG4ubXhfRXZlbnRUaWxlW2RhdGEtbGF5b3V0PVwiYnViYmxlXCJdLm14X0V2ZW50VGlsZV9jb250aW51YXRpb25bZGF0YS1zZWxmPVwiZmFsc2VcIl0gLm14X0V2ZW50VGlsZV9saW5lIHtcbiAgICAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMDtcbiAgICB9XG5cbi5teF9FdmVudFRpbGVbZGF0YS1sYXlvdXQ9XCJidWJibGVcIl0ubXhfRXZlbnRUaWxlX2NvbnRpbnVhdGlvbltkYXRhLXNlbGY9XCJmYWxzZVwiXSAubXhfRXZlbnRUaWxlX2xpbmUgLm14X01JbWFnZUJvZHkgLm14X01JbWFnZUJvZHlfdGh1bWJuYWlsX2NvbnRhaW5lcixcbiAgICAgICAgLm14X0V2ZW50VGlsZVtkYXRhLWxheW91dD1cImJ1YmJsZVwiXS5teF9FdmVudFRpbGVfY29udGludWF0aW9uW2RhdGEtc2VsZj1cImZhbHNlXCJdIC5teF9FdmVudFRpbGVfbGluZSAubXhfTVZpZGVvQm9keSAubXhfTVZpZGVvQm9keV9jb250YWluZXIsXG4gICAgICAgIC5teF9FdmVudFRpbGVbZGF0YS1sYXlvdXQ9XCJidWJibGVcIl0ubXhfRXZlbnRUaWxlX2NvbnRpbnVhdGlvbltkYXRhLXNlbGY9XCJmYWxzZVwiXSAubXhfRXZlbnRUaWxlX2xpbmUgLm14X01JbWFnZUJvZHk6OmJlZm9yZSxcbiAgICAgICAgLm14X0V2ZW50VGlsZVtkYXRhLWxheW91dD1cImJ1YmJsZVwiXS5teF9FdmVudFRpbGVfY29udGludWF0aW9uW2RhdGEtc2VsZj1cImZhbHNlXCJdIC5teF9FdmVudFRpbGVfbGluZSAubXhfTWVkaWFCb2R5LFxuICAgICAgICAubXhfRXZlbnRUaWxlW2RhdGEtbGF5b3V0PVwiYnViYmxlXCJdLm14X0V2ZW50VGlsZV9jb250aW51YXRpb25bZGF0YS1zZWxmPVwiZmFsc2VcIl0gLm14X0V2ZW50VGlsZV9saW5lIC5teF9NTG9jYXRpb25Cb2R5X21hcCxcbiAgICAgICAgLm14X0V2ZW50VGlsZVtkYXRhLWxheW91dD1cImJ1YmJsZVwiXS5teF9FdmVudFRpbGVfY29udGludWF0aW9uW2RhdGEtc2VsZj1cImZhbHNlXCJdIC5teF9FdmVudFRpbGVfbGluZSAubXhfTUJlYWNvbkJvZHkge1xuICAgICAgICAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMDtcbiAgICAgICAgfVxuXG4ubXhfRXZlbnRUaWxlW2RhdGEtbGF5b3V0PVwiYnViYmxlXCJdLm14X0V2ZW50VGlsZV9sYXN0SW5TZWN0aW9uW2RhdGEtc2VsZj1cImZhbHNlXCJdIC5teF9FdmVudFRpbGVfbGluZSB7XG4gICAgICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IHZhcigtLWNvcm5lclJhZGl1cyk7XG4gICAgfVxuXG4ubXhfRXZlbnRUaWxlW2RhdGEtbGF5b3V0PVwiYnViYmxlXCJdLm14X0V2ZW50VGlsZV9sYXN0SW5TZWN0aW9uW2RhdGEtc2VsZj1cImZhbHNlXCJdIC5teF9FdmVudFRpbGVfbGluZSAubXhfTUltYWdlQm9keSAubXhfTUltYWdlQm9keV90aHVtYm5haWxfY29udGFpbmVyLFxuICAgICAgICAubXhfRXZlbnRUaWxlW2RhdGEtbGF5b3V0PVwiYnViYmxlXCJdLm14X0V2ZW50VGlsZV9sYXN0SW5TZWN0aW9uW2RhdGEtc2VsZj1cImZhbHNlXCJdIC5teF9FdmVudFRpbGVfbGluZSAubXhfTVZpZGVvQm9keSAubXhfTVZpZGVvQm9keV9jb250YWluZXIsXG4gICAgICAgIC5teF9FdmVudFRpbGVbZGF0YS1sYXlvdXQ9XCJidWJibGVcIl0ubXhfRXZlbnRUaWxlX2xhc3RJblNlY3Rpb25bZGF0YS1zZWxmPVwiZmFsc2VcIl0gLm14X0V2ZW50VGlsZV9saW5lIC5teF9NSW1hZ2VCb2R5OjpiZWZvcmUsXG4gICAgICAgIC5teF9FdmVudFRpbGVbZGF0YS1sYXlvdXQ9XCJidWJibGVcIl0ubXhfRXZlbnRUaWxlX2xhc3RJblNlY3Rpb25bZGF0YS1zZWxmPVwiZmFsc2VcIl0gLm14X0V2ZW50VGlsZV9saW5lIC5teF9NZWRpYUJvZHksXG4gICAgICAgIC5teF9FdmVudFRpbGVbZGF0YS1sYXlvdXQ9XCJidWJibGVcIl0ubXhfRXZlbnRUaWxlX2xhc3RJblNlY3Rpb25bZGF0YS1zZWxmPVwiZmFsc2VcIl0gLm14X0V2ZW50VGlsZV9saW5lIC5teF9NTG9jYXRpb25Cb2R5X21hcCxcbiAgICAgICAgLm14X0V2ZW50VGlsZVtkYXRhLWxheW91dD1cImJ1YmJsZVwiXS5teF9FdmVudFRpbGVfbGFzdEluU2VjdGlvbltkYXRhLXNlbGY9XCJmYWxzZVwiXSAubXhfRXZlbnRUaWxlX2xpbmUgLm14X01CZWFjb25Cb2R5IHtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IHZhcigtLWNvcm5lclJhZGl1cyk7XG4gICAgICAgIH1cblxuLm14X0V2ZW50VGlsZVtkYXRhLWxheW91dD1cImJ1YmJsZVwiXS5teF9FdmVudFRpbGVfY29udGludWF0aW9uW2RhdGEtc2VsZj1cInRydWVcIl0gLm14X0V2ZW50VGlsZV9saW5lIHtcbiAgICAgICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDA7XG4gICAgfVxuXG4ubXhfRXZlbnRUaWxlW2RhdGEtbGF5b3V0PVwiYnViYmxlXCJdLm14X0V2ZW50VGlsZV9jb250aW51YXRpb25bZGF0YS1zZWxmPVwidHJ1ZVwiXSAubXhfRXZlbnRUaWxlX2xpbmUgLm14X01JbWFnZUJvZHkgLm14X01JbWFnZUJvZHlfdGh1bWJuYWlsX2NvbnRhaW5lcixcbiAgICAgICAgLm14X0V2ZW50VGlsZVtkYXRhLWxheW91dD1cImJ1YmJsZVwiXS5teF9FdmVudFRpbGVfY29udGludWF0aW9uW2RhdGEtc2VsZj1cInRydWVcIl0gLm14X0V2ZW50VGlsZV9saW5lIC5teF9NVmlkZW9Cb2R5IC5teF9NVmlkZW9Cb2R5X2NvbnRhaW5lcixcbiAgICAgICAgLm14X0V2ZW50VGlsZVtkYXRhLWxheW91dD1cImJ1YmJsZVwiXS5teF9FdmVudFRpbGVfY29udGludWF0aW9uW2RhdGEtc2VsZj1cInRydWVcIl0gLm14X0V2ZW50VGlsZV9saW5lIC5teF9NSW1hZ2VCb2R5OjpiZWZvcmUsXG4gICAgICAgIC5teF9FdmVudFRpbGVbZGF0YS1sYXlvdXQ9XCJidWJibGVcIl0ubXhfRXZlbnRUaWxlX2NvbnRpbnVhdGlvbltkYXRhLXNlbGY9XCJ0cnVlXCJdIC5teF9FdmVudFRpbGVfbGluZSAubXhfTWVkaWFCb2R5LFxuICAgICAgICAubXhfRXZlbnRUaWxlW2RhdGEtbGF5b3V0PVwiYnViYmxlXCJdLm14X0V2ZW50VGlsZV9jb250aW51YXRpb25bZGF0YS1zZWxmPVwidHJ1ZVwiXSAubXhfRXZlbnRUaWxlX2xpbmUgLm14X01Mb2NhdGlvbkJvZHlfbWFwLFxuICAgICAgICAubXhfRXZlbnRUaWxlW2RhdGEtbGF5b3V0PVwiYnViYmxlXCJdLm14X0V2ZW50VGlsZV9jb250aW51YXRpb25bZGF0YS1zZWxmPVwidHJ1ZVwiXSAubXhfRXZlbnRUaWxlX2xpbmUgLm14X01CZWFjb25Cb2R5IHtcbiAgICAgICAgICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwO1xuICAgICAgICB9XG5cbi5teF9FdmVudFRpbGVbZGF0YS1sYXlvdXQ9XCJidWJibGVcIl0ubXhfRXZlbnRUaWxlX2xhc3RJblNlY3Rpb25bZGF0YS1zZWxmPVwidHJ1ZVwiXSAubXhfRXZlbnRUaWxlX2xpbmUge1xuICAgICAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogdmFyKC0tY29ybmVyUmFkaXVzKTtcbiAgICB9XG5cbi5teF9FdmVudFRpbGVbZGF0YS1sYXlvdXQ9XCJidWJibGVcIl0ubXhfRXZlbnRUaWxlX2xhc3RJblNlY3Rpb25bZGF0YS1zZWxmPVwidHJ1ZVwiXSAubXhfRXZlbnRUaWxlX2xpbmUgLm14X01JbWFnZUJvZHkgLm14X01JbWFnZUJvZHlfdGh1bWJuYWlsX2NvbnRhaW5lcixcbiAgICAgICAgLm14X0V2ZW50VGlsZVtkYXRhLWxheW91dD1cImJ1YmJsZVwiXS5teF9FdmVudFRpbGVfbGFzdEluU2VjdGlvbltkYXRhLXNlbGY9XCJ0cnVlXCJdIC5teF9FdmVudFRpbGVfbGluZSAubXhfTVZpZGVvQm9keSAubXhfTVZpZGVvQm9keV9jb250YWluZXIsXG4gICAgICAgIC5teF9FdmVudFRpbGVbZGF0YS1sYXlvdXQ9XCJidWJibGVcIl0ubXhfRXZlbnRUaWxlX2xhc3RJblNlY3Rpb25bZGF0YS1zZWxmPVwidHJ1ZVwiXSAubXhfRXZlbnRUaWxlX2xpbmUgLm14X01JbWFnZUJvZHk6OmJlZm9yZSxcbiAgICAgICAgLm14X0V2ZW50VGlsZVtkYXRhLWxheW91dD1cImJ1YmJsZVwiXS5teF9FdmVudFRpbGVfbGFzdEluU2VjdGlvbltkYXRhLXNlbGY9XCJ0cnVlXCJdIC5teF9FdmVudFRpbGVfbGluZSAubXhfTWVkaWFCb2R5LFxuICAgICAgICAubXhfRXZlbnRUaWxlW2RhdGEtbGF5b3V0PVwiYnViYmxlXCJdLm14X0V2ZW50VGlsZV9sYXN0SW5TZWN0aW9uW2RhdGEtc2VsZj1cInRydWVcIl0gLm14X0V2ZW50VGlsZV9saW5lIC5teF9NTG9jYXRpb25Cb2R5X21hcCxcbiAgICAgICAgLm14X0V2ZW50VGlsZVtkYXRhLWxheW91dD1cImJ1YmJsZVwiXS5teF9FdmVudFRpbGVfbGFzdEluU2VjdGlvbltkYXRhLXNlbGY9XCJ0cnVlXCJdIC5teF9FdmVudFRpbGVfbGluZSAubXhfTUJlYWNvbkJvZHkge1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IHZhcigtLWNvcm5lclJhZGl1cyk7XG4gICAgICAgIH1cblxuLm14X0V2ZW50VGlsZVtkYXRhLWxheW91dD1cImJ1YmJsZVwiXS5teF9FdmVudFRpbGVfbm9TZW5kZXIgLm14X0V2ZW50VGlsZV9hdmF0YXIge1xuICAgICAgICAgICAgdG9wOiAtMTlweDtcbiAgICAgICAgfVxuXG4ubXhfRXZlbnRUaWxlW2RhdGEtbGF5b3V0PVwiYnViYmxlXCJdW2RhdGEtaGFzLXJlcGx5PVwidHJ1ZVwiXSA+IC5teF9FdmVudFRpbGVfbGluZSB7XG4gICAgICAgICAgICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xuICAgICAgICAgICAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiBub3JtYWw7XG4gICAgICAgICAgICAgICAgLW1zLWZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIH1cblxuLm14X0V2ZW50VGlsZVtkYXRhLWxheW91dD1cImJ1YmJsZVwiXVtkYXRhLWhhcy1yZXBseT1cInRydWVcIl0gLm14X1JlcGx5Q2hhaW4gLm14X0V2ZW50VGlsZV9yZXBseSB7XG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiA5MCU7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgIH1cblxuLm14X0V2ZW50VGlsZVtkYXRhLWxheW91dD1cImJ1YmJsZVwiXVtkYXRhLWhhcy1yZXBseT1cInRydWVcIl0gLm14X1JlcGx5Q2hhaW4gLm14X0V2ZW50VGlsZV9yZXBseSA+IGEsIFxuICAgICAgICAgICAgICAgIC5teF9FdmVudFRpbGVbZGF0YS1sYXlvdXQ9XCJidWJibGVcIl1bZGF0YS1oYXMtcmVwbHk9XCJ0cnVlXCJdIC5teF9SZXBseUNoYWluIC5teF9FdmVudFRpbGVfcmVwbHkgLm14X01lc3NhZ2VBY3Rpb25CYXIgKyAubXhfTWVzc2FnZVRpbWVzdGFtcCB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICB9XG5cbi5teF9FdmVudFRpbGVbZGF0YS1sYXlvdXQ9XCJidWJibGVcIl1bZGF0YS1oYXMtcmVwbHk9XCJ0cnVlXCJdIC5teF9SZXBseUNoYWluIC5teF9FdmVudFRpbGUge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgZ2FwOiB2YXIoLS1ndXR0ZXJTaXplKTtcbiAgICAgICAgICAgIH1cblxuLm14X0V2ZW50VGlsZVtkYXRhLWxheW91dD1cImJ1YmJsZVwiXVtkYXRhLWhhcy1yZXBseT1cInRydWVcIl0gLm14X1JlcGx5Q2hhaW4gLm14X0V2ZW50VGlsZSAubXhfRXZlbnRUaWxlX2F2YXRhciB7XG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgICAgICAgICAgICAgfVxuXG4ubXhfRXZlbnRUaWxlW2RhdGEtbGF5b3V0PVwiYnViYmxlXCJdW2RhdGEtaGFzLXJlcGx5PVwidHJ1ZVwiXSAubXhfUmVwbHlDaGFpbiAubXhfRXZlbnRUaWxlIC5teF9EaXNhbWJpZ3VhdGVkUHJvZmlsZSB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgfVxuXG4ubXhfRXZlbnRUaWxlW2RhdGEtbGF5b3V0PVwiYnViYmxlXCJdIC5teF9NUG9sbEJvZHkge1xuICAgICAgICB3aWR0aDogNTUwcHg7IC8qIHRvIHByZXZlbnQgdGltZXN0YW1wIG92ZXJsYXBwaW5nIHN1bW1hcnkgdGV4dCAqL1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7IC8qIHByZXZlbnQgb3ZlcmZsb3dpbmcgYSByZXBseSB0aWxlICovXG4gICAgfVxuXG4ubXhfRXZlbnRUaWxlW2RhdGEtbGF5b3V0PVwiYnViYmxlXCJdIC5teF9NUG9sbEJvZHkgLm14X01Qb2xsQm9keV90b3RhbFZvdGVzIHtcbiAgICAgICAgICAgIC8qIGFsaWduIHN1bW1hcnkgdGV4dCB3aXRoIGNvcm5lciB0aW1lc3RhbXAgKi9cbiAgICAgICAgICAgIHBhZGRpbmc6IDRweCAwO1xuICAgICAgICB9XG5cbi5teF9FdmVudFRpbGVbZGF0YS1sYXlvdXQ9XCJidWJibGVcIl0ubXhfRXZlbnRUaWxlX2JhZDpob3Zlcjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIH1cblxuLyogU3BlY2lhbCBsYXlvdXQgc2NlbmFyaW8gZm9yIFwiVW5hYmxlIFRvIERlY3J5cHQgKFVURClcIiBldmVudHMgKi9cblxuLm14X0V2ZW50VGlsZVtkYXRhLWxheW91dD1cImJ1YmJsZVwiXS5teF9FdmVudFRpbGVfYmFkIC5teF9FdmVudFRpbGVfbGluZSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZTpcbiAgICAgICAgICAgICAgICBcInJlcGx5IHJlcGx5XCIgYXV0b1xuICAgICAgICAgICAgICAgIFwic2hpZWxkIGJvZHlcIiBhdXRvXG4gICAgICAgICAgICAgICAgLyBhdXRvIDFmcjtcbiAgICAgICAgfVxuXG4ubXhfRXZlbnRUaWxlW2RhdGEtbGF5b3V0PVwiYnViYmxlXCJdLm14X0V2ZW50VGlsZV9iYWQgLm14X0V2ZW50VGlsZV9saW5lIC5teF9Vbmtub3duQm9keSxcbiAgICAgICAgICAgIC5teF9FdmVudFRpbGVbZGF0YS1sYXlvdXQ9XCJidWJibGVcIl0ubXhfRXZlbnRUaWxlX2JhZCAubXhfRXZlbnRUaWxlX2xpbmUgLm14X1JlcGx5Q2hhaW5fd3JhcHBlcixcbiAgICAgICAgICAgIC5teF9FdmVudFRpbGVbZGF0YS1sYXlvdXQ9XCJidWJibGVcIl0ubXhfRXZlbnRUaWxlX2JhZCAubXhfRXZlbnRUaWxlX2xpbmUgLm14X1ZpZXdTb3VyY2VFdmVudCB7XG4gICAgICAgICAgICAgICAgbWluLXdpZHRoOiAwOyAvKiBQcmV2ZW50IGEgZ3JpZCBibG93b3V0ICovXG4gICAgICAgICAgICB9XG5cbi5teF9FdmVudFRpbGVbZGF0YS1sYXlvdXQ9XCJidWJibGVcIl0ubXhfRXZlbnRUaWxlX2JhZCAubXhfRXZlbnRUaWxlX2xpbmUgLm14X0V2ZW50VGlsZV9lMmVJY29uIHtcbiAgICAgICAgICAgICAgICBncmlkLWFyZWE6IHNoaWVsZDtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiBhdXRvO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IGF1dG87XG4gICAgICAgICAgICB9XG5cbi5teF9FdmVudFRpbGVbZGF0YS1sYXlvdXQ9XCJidWJibGVcIl0ubXhfRXZlbnRUaWxlX2JhZCAubXhfRXZlbnRUaWxlX2xpbmUgLm14X1Vua25vd25Cb2R5LFxuICAgICAgICAgICAgLm14X0V2ZW50VGlsZVtkYXRhLWxheW91dD1cImJ1YmJsZVwiXS5teF9FdmVudFRpbGVfYmFkIC5teF9FdmVudFRpbGVfbGluZSAubXhfRGVjcnlwdGlvbkZhaWx1cmVCb2R5IHtcbiAgICAgICAgICAgICAgICBncmlkLWFyZWE6IGJvZHk7XG4gICAgICAgICAgICB9XG5cbi5teF9FdmVudFRpbGVbZGF0YS1sYXlvdXQ9XCJidWJibGVcIl0ubXhfRXZlbnRUaWxlX2JhZCAubXhfRXZlbnRUaWxlX2xpbmUgLm14X1JlcGx5Q2hhaW5fd3JhcHBlciB7XG4gICAgICAgICAgICAgICAgZ3JpZC1hcmVhOiByZXBseTtcbiAgICAgICAgICAgIH1cblxuLyogXCJVbmFibGUgVG8gRGVjcnlwdFwiIGxheW91dCBmb3IgaGlkZGVuIGV2ZW50cyAqL1xuXG4ubXhfRXZlbnRUaWxlW2RhdGEtbGF5b3V0PVwiYnViYmxlXCJdLm14X0V2ZW50VGlsZV9iYWQubXhfRXZlbnRUaWxlX2luZm8gLm14X0V2ZW50VGlsZV9saW5lIHtcbiAgICAgICAgICAgICAgICBnYXA6IDAgOXB4OyAvKiA5cHg6IG1hcmdpbiB2YWx1ZSBvZiBFMkUgaWNvbiAqL1xuICAgICAgICAgICAgICAgIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgICAgIGdyaWQtdGVtcGxhdGU6XG4gICAgICAgICAgICAgICAgICAgIFwic2hpZWxkIHNvdXJjZVwiIGF1dG9cbiAgICAgICAgICAgICAgICAgICAgLyBhdXRvIDFmcjtcbiAgICAgICAgICAgIH1cblxuLm14X0V2ZW50VGlsZVtkYXRhLWxheW91dD1cImJ1YmJsZVwiXS5teF9FdmVudFRpbGVfYmFkLm14X0V2ZW50VGlsZV9pbmZvIC5teF9FdmVudFRpbGVfbGluZSAubXhfVmlld1NvdXJjZUV2ZW50IHtcbiAgICAgICAgICAgICAgICAgICAgZ3JpZC1hcmVhOiBzb3VyY2U7XG4gICAgICAgICAgICAgICAgfVxuXG4ubXhfRXZlbnRUaWxlW2RhdGEtbGF5b3V0PVwiYnViYmxlXCJdIC5teF9NVGV4dEJvZHkge1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4ubXhfRXZlbnRUaWxlW2RhdGEtbGF5b3V0PVwiYnViYmxlXCJdIC5teF9MZWdhY3lDYWxsRXZlbnRfd3JhcHBlcixcbiAgICAubXhfRXZlbnRUaWxlW2RhdGEtbGF5b3V0PVwiYnViYmxlXCJdIC5teF9DYWxsRXZlbnRfd3JhcHBlciB7XG4gICAgICAgIC13ZWJraXQtYm94LXBhY2s6IGNlbnRlcjtcbiAgICAgICAgICAgIC1tcy1mbGV4LXBhY2s6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICB9XG5cbi5teF9FdmVudFRpbGUubXhfRXZlbnRUaWxlX25vQnViYmxlW2RhdGEtbGF5b3V0PVwiYnViYmxlXCJdIHtcbiAgICAtLWJhY2tncm91bmRDb2xvcjogdHJhbnNwYXJlbnQ7XG59XG5cbi5teF9FdmVudFRpbGUubXhfRXZlbnRUaWxlX25vQnViYmxlW2RhdGEtbGF5b3V0PVwiYnViYmxlXCJdIC5teF9FdmVudFRpbGVfbGluZS5teF9FdmVudFRpbGVfZW1vdGUge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiA2MHB4OyAvKiBhbGlnbiB3aXRoIGJ1YmJsZXMgdGV4dCAqL1xuICAgICAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgfVxuXG4ubXhfRXZlbnRUaWxlLm14X0V2ZW50VGlsZV9ub0J1YmJsZVtkYXRhLWxheW91dD1cImJ1YmJsZVwiXSAubXhfRXZlbnRUaWxlX2xpbmUubXhfRXZlbnRUaWxlX2Vtb3RlID4gYSB7XG4gICAgICAgICAgICAvKiB0aW1lc3RhbXAgYW5jaG9yIHdyYXBwZXIgKi9cbiAgICAgICAgICAgIC1tcy1mbGV4LWl0ZW0tYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gICAgICAgICAgICBib3R0b206IGF1dG87XG4gICAgICAgICAgICBib3R0b206IGluaXRpYWw7XG4gICAgICAgICAgICB0b3A6IGF1dG87XG4gICAgICAgICAgICB0b3A6IGluaXRpYWw7XG4gICAgICAgICAgICBmb250LXN0eWxlOiBub3JtYWw7IC8qIHVuZG8gaXRhbGljIGFib3ZlICovXG4gICAgICAgIH1cblxuLm14X0V2ZW50VGlsZS5teF9FdmVudFRpbGVfbm9CdWJibGVbZGF0YS1sYXlvdXQ9XCJidWJibGVcIl0gLm14X0V2ZW50VGlsZV9saW5lLm14X0V2ZW50VGlsZV9lbW90ZSAubXhfTUVtb3RlQm9keSB7XG4gICAgICAgICAgICBwYWRkaW5nOiA0cHggMDtcbiAgICAgICAgfVxuXG4ubXhfRXZlbnRUaWxlLm14X0V2ZW50VGlsZV9idWJibGVDb250YWluZXJbZGF0YS1sYXlvdXQ9XCJidWJibGVcIl0gLm14X0V2ZW50VGlsZV9saW5lID4gYSwgLm14X0V2ZW50VGlsZS5teF9FdmVudFRpbGVfbGVmdEFsaWduZWRCdWJibGVbZGF0YS1sYXlvdXQ9XCJidWJibGVcIl0gLm14X0V2ZW50VGlsZV9saW5lID4gYSB7XG4gICAgICAgIC8qIGhpZGUgdGhpcyB0aW1lc3RhbXAgYXMgdGhlIHRpbGUgd2lsbCByZW5kZXIgaXRzIG93biAqL1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuLm14X0V2ZW50VGlsZS5teF9FdmVudFRpbGVfYnViYmxlQ29udGFpbmVyW2RhdGEtbGF5b3V0PVwiYnViYmxlXCJdLFxuLm14X0V2ZW50VGlsZS5teF9FdmVudFRpbGVfbGVmdEFsaWduZWRCdWJibGVbZGF0YS1sYXlvdXQ9XCJidWJibGVcIl0sXG4ubXhfRXZlbnRUaWxlLm14X0V2ZW50VGlsZV9pbmZvW2RhdGEtbGF5b3V0PVwiYnViYmxlXCJdIHtcbiAgICBwYWRkaW5nOiA1cHggMDtcbiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIC13ZWJraXQtYm94LXBhY2s6IHN0YXJ0O1xuICAgICAgICAtbXMtZmxleC1wYWNrOiBzdGFydDtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbn1cblxuLm14X0V2ZW50VGlsZS5teF9FdmVudFRpbGVfYnViYmxlQ29udGFpbmVyW2RhdGEtbGF5b3V0PVwiYnViYmxlXCJdIC5teF9FdmVudFRpbGVfbGluZSxcbiAgICAubXhfRXZlbnRUaWxlLm14X0V2ZW50VGlsZV9idWJibGVDb250YWluZXJbZGF0YS1sYXlvdXQ9XCJidWJibGVcIl0gLm14X0V2ZW50VGlsZV9pbmZvLFxuICAgIC5teF9FdmVudFRpbGUubXhfRXZlbnRUaWxlX2xlZnRBbGlnbmVkQnViYmxlW2RhdGEtbGF5b3V0PVwiYnViYmxlXCJdIC5teF9FdmVudFRpbGVfbGluZSxcbiAgICAubXhfRXZlbnRUaWxlLm14X0V2ZW50VGlsZV9sZWZ0QWxpZ25lZEJ1YmJsZVtkYXRhLWxheW91dD1cImJ1YmJsZVwiXSAubXhfRXZlbnRUaWxlX2luZm8sXG4gICAgLm14X0V2ZW50VGlsZS5teF9FdmVudFRpbGVfaW5mb1tkYXRhLWxheW91dD1cImJ1YmJsZVwiXSAubXhfRXZlbnRUaWxlX2xpbmUsXG4gICAgLm14X0V2ZW50VGlsZS5teF9FdmVudFRpbGVfaW5mb1tkYXRhLWxheW91dD1cImJ1YmJsZVwiXSAubXhfRXZlbnRUaWxlX2luZm8ge1xuICAgICAgICBtaW4td2lkdGg6IDEwMCU7XG4gICAgICAgIC8qIFByZXNlcnZlIGFsaWdubWVudCB3aXRoIGxlZnQgZWRnZSBvZiB0ZXh0IGluIGJ1YmJsZXMgKi9cbiAgICAgICAgbWFyZ2luOiAwO1xuICAgIH1cblxuLm14X0V2ZW50VGlsZS5teF9FdmVudFRpbGVfYnViYmxlQ29udGFpbmVyW2RhdGEtbGF5b3V0PVwiYnViYmxlXCJdLFxuLm14X0V2ZW50VGlsZS5teF9FdmVudFRpbGVfbGVmdEFsaWduZWRCdWJibGVbZGF0YS1sYXlvdXQ9XCJidWJibGVcIl0sXG4ubXhfRXZlbnRUaWxlLm14X0V2ZW50VGlsZV9pbmZvW2RhdGEtbGF5b3V0PVwiYnViYmxlXCJdLFxuLm14X0dlbmVyaWNFdmVudExpc3RTdW1tYXJ5W2RhdGEtbGF5b3V0PVwiYnViYmxlXCJdW2RhdGEtZXhwYW5kZWQ9XCJmYWxzZVwiXSB7XG4gICAgLS1iYWNrZ3JvdW5kQ29sb3I6IHRyYW5zcGFyZW50O1xuICAgIC0tZ3V0dGVyU2l6ZTogMDtcbn1cblxuLm14X0V2ZW50VGlsZS5teF9FdmVudFRpbGVfYnViYmxlQ29udGFpbmVyW2RhdGEtbGF5b3V0PVwiYnViYmxlXCJdIC5teF9FdmVudFRpbGVfYXZhdGFyLCAubXhfRXZlbnRUaWxlLm14X0V2ZW50VGlsZV9sZWZ0QWxpZ25lZEJ1YmJsZVtkYXRhLWxheW91dD1cImJ1YmJsZVwiXSAubXhfRXZlbnRUaWxlX2F2YXRhciwgLm14X0V2ZW50VGlsZS5teF9FdmVudFRpbGVfaW5mb1tkYXRhLWxheW91dD1cImJ1YmJsZVwiXSAubXhfRXZlbnRUaWxlX2F2YXRhciwgLm14X0dlbmVyaWNFdmVudExpc3RTdW1tYXJ5W2RhdGEtbGF5b3V0PVwiYnViYmxlXCJdW2RhdGEtZXhwYW5kZWQ9XCJmYWxzZVwiXSAubXhfRXZlbnRUaWxlX2F2YXRhciB7XG4gICAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgICAgIC13ZWJraXQtYm94LW9yZGluYWwtZ3JvdXA6IDA7XG4gICAgICAgICAgICAtbXMtZmxleC1vcmRlcjogLTE7XG4gICAgICAgICAgICAgICAgb3JkZXI6IC0xO1xuICAgICAgICAtd2Via2l0LW1hcmdpbi1lbmQ6IHZhcigtLUV2ZW50VGlsZV9idWJibGVfZ2FwLWlubGluZSk7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWlubGluZS1lbmQ6IHZhcigtLUV2ZW50VGlsZV9idWJibGVfZ2FwLWlubGluZSk7IC8qIFNhbWUgc3BhY2luZyBiZXR3ZWVuIEUyRSBpY29uIGFuZCBhIGhpZGRlbiBldmVudCAqL1xuICAgIH1cblxuLm14X0V2ZW50VGlsZS5teF9FdmVudFRpbGVfYnViYmxlQ29udGFpbmVyW2RhdGEtbGF5b3V0PVwiYnViYmxlXCJdIC5teF9FdmVudFRpbGVfZTJlSWNvbiwgLm14X0V2ZW50VGlsZS5teF9FdmVudFRpbGVfbGVmdEFsaWduZWRCdWJibGVbZGF0YS1sYXlvdXQ9XCJidWJibGVcIl0gLm14X0V2ZW50VGlsZV9lMmVJY29uLCAubXhfRXZlbnRUaWxlLm14X0V2ZW50VGlsZV9pbmZvW2RhdGEtbGF5b3V0PVwiYnViYmxlXCJdIC5teF9FdmVudFRpbGVfZTJlSWNvbiwgLm14X0dlbmVyaWNFdmVudExpc3RTdW1tYXJ5W2RhdGEtbGF5b3V0PVwiYnViYmxlXCJdW2RhdGEtZXhwYW5kZWQ9XCJmYWxzZVwiXSAubXhfRXZlbnRUaWxlX2UyZUljb24ge1xuICAgICAgICAtd2Via2l0LW1hcmdpbi1zdGFydDogMDtcbiAgICAgICAgICAgICAgICBtYXJnaW4taW5saW5lLXN0YXJ0OiAwOyAvKiBteF9FdmVudFRpbGVfYXZhdGFyIGhhcyBtYXJnaW4taW5saW5lLWVuZCwgc28gbWFyZ2luIGlzIG5vdCBuZWVkZWQgaGVyZSAqL1xuICAgICAgICAtbXMtZmxleC1pdGVtLWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gICAgfVxuXG4ubXhfRXZlbnRUaWxlLm14X0V2ZW50VGlsZV9idWJibGVDb250YWluZXJbZGF0YS1sYXlvdXQ9XCJidWJibGVcIl0gLm14X0V2ZW50VGlsZV9saW5lID4gYSwgXG4gICAgICAgIC5teF9FdmVudFRpbGUubXhfRXZlbnRUaWxlX2J1YmJsZUNvbnRhaW5lcltkYXRhLWxheW91dD1cImJ1YmJsZVwiXSAubXhfRXZlbnRUaWxlX2xpbmUgLm14X01lc3NhZ2VBY3Rpb25CYXIgKyAubXhfTWVzc2FnZVRpbWVzdGFtcCwgXG4gICAgICAgIC5teF9FdmVudFRpbGUubXhfRXZlbnRUaWxlX2xlZnRBbGlnbmVkQnViYmxlW2RhdGEtbGF5b3V0PVwiYnViYmxlXCJdIC5teF9FdmVudFRpbGVfbGluZSA+IGEsIFxuICAgICAgICAubXhfRXZlbnRUaWxlLm14X0V2ZW50VGlsZV9sZWZ0QWxpZ25lZEJ1YmJsZVtkYXRhLWxheW91dD1cImJ1YmJsZVwiXSAubXhfRXZlbnRUaWxlX2xpbmUgLm14X01lc3NhZ2VBY3Rpb25CYXIgKyAubXhfTWVzc2FnZVRpbWVzdGFtcCwgXG4gICAgICAgIC5teF9FdmVudFRpbGUubXhfRXZlbnRUaWxlX2luZm9bZGF0YS1sYXlvdXQ9XCJidWJibGVcIl0gLm14X0V2ZW50VGlsZV9saW5lID4gYSwgXG4gICAgICAgIC5teF9FdmVudFRpbGUubXhfRXZlbnRUaWxlX2luZm9bZGF0YS1sYXlvdXQ9XCJidWJibGVcIl0gLm14X0V2ZW50VGlsZV9saW5lIC5teF9NZXNzYWdlQWN0aW9uQmFyICsgLm14X01lc3NhZ2VUaW1lc3RhbXAsIFxuICAgICAgICAubXhfR2VuZXJpY0V2ZW50TGlzdFN1bW1hcnlbZGF0YS1sYXlvdXQ9XCJidWJibGVcIl1bZGF0YS1leHBhbmRlZD1cImZhbHNlXCJdIC5teF9FdmVudFRpbGVfbGluZSA+IGEsIFxuICAgICAgICAubXhfR2VuZXJpY0V2ZW50TGlzdFN1bW1hcnlbZGF0YS1sYXlvdXQ9XCJidWJibGVcIl1bZGF0YS1leHBhbmRlZD1cImZhbHNlXCJdIC5teF9FdmVudFRpbGVfbGluZSAubXhfTWVzc2FnZUFjdGlvbkJhciArIC5teF9NZXNzYWdlVGltZXN0YW1wIHtcbiAgICAgICAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgbGVmdDogLTc3cHg7XG4gICAgICAgICAgICBib3R0b206IGF1dG87XG4gICAgICAgICAgICBib3R0b206IGluaXRpYWw7XG4gICAgICAgICAgICAtbXMtZmxleC1pdGVtLWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgYWxpZ24tc2VsZjogY2VudGVyO1xuICAgICAgICB9XG5cbi5teF9FdmVudFRpbGUubXhfRXZlbnRUaWxlX2J1YmJsZUNvbnRhaW5lcltkYXRhLWxheW91dD1cImJ1YmJsZVwiXSAubXhfRXZlbnRUaWxlX2xpbmUgPiBhIC5teF9NZXNzYWdlVGltZXN0YW1wLFxuICAgICAgICAgICAgLm14X0V2ZW50VGlsZS5teF9FdmVudFRpbGVfYnViYmxlQ29udGFpbmVyW2RhdGEtbGF5b3V0PVwiYnViYmxlXCJdIC5teF9FdmVudFRpbGVfbGluZSA+IGEubXhfTWVzc2FnZVRpbWVzdGFtcCxcbiAgICAgICAgICAgIC5teF9FdmVudFRpbGUubXhfRXZlbnRUaWxlX2J1YmJsZUNvbnRhaW5lcltkYXRhLWxheW91dD1cImJ1YmJsZVwiXSAubXhfRXZlbnRUaWxlX2xpbmUgLm14X01lc3NhZ2VBY3Rpb25CYXIgKyAubXhfTWVzc2FnZVRpbWVzdGFtcCAubXhfTWVzc2FnZVRpbWVzdGFtcCxcbiAgICAgICAgICAgIC5teF9FdmVudFRpbGUubXhfRXZlbnRUaWxlX2J1YmJsZUNvbnRhaW5lcltkYXRhLWxheW91dD1cImJ1YmJsZVwiXSAubXhfRXZlbnRUaWxlX2xpbmUgLm14X01lc3NhZ2VBY3Rpb25CYXIgKyAubXhfTWVzc2FnZVRpbWVzdGFtcC5teF9NZXNzYWdlVGltZXN0YW1wLFxuICAgICAgICAgICAgLm14X0V2ZW50VGlsZS5teF9FdmVudFRpbGVfbGVmdEFsaWduZWRCdWJibGVbZGF0YS1sYXlvdXQ9XCJidWJibGVcIl0gLm14X0V2ZW50VGlsZV9saW5lID4gYSAubXhfTWVzc2FnZVRpbWVzdGFtcCxcbiAgICAgICAgICAgIC5teF9FdmVudFRpbGUubXhfRXZlbnRUaWxlX2xlZnRBbGlnbmVkQnViYmxlW2RhdGEtbGF5b3V0PVwiYnViYmxlXCJdIC5teF9FdmVudFRpbGVfbGluZSA+IGEubXhfTWVzc2FnZVRpbWVzdGFtcCxcbiAgICAgICAgICAgIC5teF9FdmVudFRpbGUubXhfRXZlbnRUaWxlX2xlZnRBbGlnbmVkQnViYmxlW2RhdGEtbGF5b3V0PVwiYnViYmxlXCJdIC5teF9FdmVudFRpbGVfbGluZSAubXhfTWVzc2FnZUFjdGlvbkJhciArIC5teF9NZXNzYWdlVGltZXN0YW1wIC5teF9NZXNzYWdlVGltZXN0YW1wLFxuICAgICAgICAgICAgLm14X0V2ZW50VGlsZS5teF9FdmVudFRpbGVfbGVmdEFsaWduZWRCdWJibGVbZGF0YS1sYXlvdXQ9XCJidWJibGVcIl0gLm14X0V2ZW50VGlsZV9saW5lIC5teF9NZXNzYWdlQWN0aW9uQmFyICsgLm14X01lc3NhZ2VUaW1lc3RhbXAubXhfTWVzc2FnZVRpbWVzdGFtcCxcbiAgICAgICAgICAgIC5teF9FdmVudFRpbGUubXhfRXZlbnRUaWxlX2luZm9bZGF0YS1sYXlvdXQ9XCJidWJibGVcIl0gLm14X0V2ZW50VGlsZV9saW5lID4gYSAubXhfTWVzc2FnZVRpbWVzdGFtcCxcbiAgICAgICAgICAgIC5teF9FdmVudFRpbGUubXhfRXZlbnRUaWxlX2luZm9bZGF0YS1sYXlvdXQ9XCJidWJibGVcIl0gLm14X0V2ZW50VGlsZV9saW5lID4gYS5teF9NZXNzYWdlVGltZXN0YW1wLFxuICAgICAgICAgICAgLm14X0V2ZW50VGlsZS5teF9FdmVudFRpbGVfaW5mb1tkYXRhLWxheW91dD1cImJ1YmJsZVwiXSAubXhfRXZlbnRUaWxlX2xpbmUgLm14X01lc3NhZ2VBY3Rpb25CYXIgKyAubXhfTWVzc2FnZVRpbWVzdGFtcCAubXhfTWVzc2FnZVRpbWVzdGFtcCxcbiAgICAgICAgICAgIC5teF9FdmVudFRpbGUubXhfRXZlbnRUaWxlX2luZm9bZGF0YS1sYXlvdXQ9XCJidWJibGVcIl0gLm14X0V2ZW50VGlsZV9saW5lIC5teF9NZXNzYWdlQWN0aW9uQmFyICsgLm14X01lc3NhZ2VUaW1lc3RhbXAubXhfTWVzc2FnZVRpbWVzdGFtcCxcbiAgICAgICAgICAgIC5teF9HZW5lcmljRXZlbnRMaXN0U3VtbWFyeVtkYXRhLWxheW91dD1cImJ1YmJsZVwiXVtkYXRhLWV4cGFuZGVkPVwiZmFsc2VcIl0gLm14X0V2ZW50VGlsZV9saW5lID4gYSAubXhfTWVzc2FnZVRpbWVzdGFtcCxcbiAgICAgICAgICAgIC5teF9HZW5lcmljRXZlbnRMaXN0U3VtbWFyeVtkYXRhLWxheW91dD1cImJ1YmJsZVwiXVtkYXRhLWV4cGFuZGVkPVwiZmFsc2VcIl0gLm14X0V2ZW50VGlsZV9saW5lID4gYS5teF9NZXNzYWdlVGltZXN0YW1wLFxuICAgICAgICAgICAgLm14X0dlbmVyaWNFdmVudExpc3RTdW1tYXJ5W2RhdGEtbGF5b3V0PVwiYnViYmxlXCJdW2RhdGEtZXhwYW5kZWQ9XCJmYWxzZVwiXSAubXhfRXZlbnRUaWxlX2xpbmUgLm14X01lc3NhZ2VBY3Rpb25CYXIgKyAubXhfTWVzc2FnZVRpbWVzdGFtcCAubXhfTWVzc2FnZVRpbWVzdGFtcCxcbiAgICAgICAgICAgIC5teF9HZW5lcmljRXZlbnRMaXN0U3VtbWFyeVtkYXRhLWxheW91dD1cImJ1YmJsZVwiXVtkYXRhLWV4cGFuZGVkPVwiZmFsc2VcIl0gLm14X0V2ZW50VGlsZV9saW5lIC5teF9NZXNzYWdlQWN0aW9uQmFyICsgLm14X01lc3NhZ2VUaW1lc3RhbXAubXhfTWVzc2FnZVRpbWVzdGFtcCB7XG4gICAgICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgICAgIH1cblxuLm14X0dlbmVyaWNFdmVudExpc3RTdW1tYXJ5W2RhdGEtbGF5b3V0PVwiYnViYmxlXCJdIC5teF9FdmVudFRpbGUubXhfRXZlbnRUaWxlX2luZm8gLm14X0V2ZW50VGlsZV9saW5lIHtcbiAgICAgICAgLyogQXZvaWQgb3ZlcmZsb3cgb2YgZXZlbnQgaW5mbyBieSBjYW5jZWxsaW5nIHdpZHRoIHNldHRpbmdzICovXG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtaW4td2lkdGg6IDA7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICB9XG5cbi8qIGluY3JlYXNlIG1hcmdpbiBiZXR3ZWVuIEVMUyBhbmQgdGhlIG5leHQgRXZlbnQgdG8gbm90IGhhdmUgb3VyIHVzZXIgYXZhdGFyIG92ZXJsYXAgdGhlIGV4cGFuZC9jb2xsYXBzZSBidXR0b24gKi9cblxuLm14X0dlbmVyaWNFdmVudExpc3RTdW1tYXJ5W2RhdGEtbGF5b3V0PVwiYnViYmxlXCJdW2RhdGEtZXhwYW5kZWQ9XCJmYWxzZVwiXSArIC5teF9FdmVudFRpbGVbZGF0YS1sYXlvdXQ9XCJidWJibGVcIl1bZGF0YS1zZWxmPVwidHJ1ZVwiXSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gICAgfVxuXG4ubXhfR2VuZXJpY0V2ZW50TGlzdFN1bW1hcnlbZGF0YS1sYXlvdXQ9XCJidWJibGVcIl1bZGF0YS1leHBhbmRlZD1cInRydWVcIl0gLm14X0V2ZW50VGlsZV9pbmZvIHtcbiAgICAgICAgcGFkZGluZzogMnB4IDA7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICB9XG5cbi5teF9HZW5lcmljRXZlbnRMaXN0U3VtbWFyeVtkYXRhLWxheW91dD1cImJ1YmJsZVwiXVtkYXRhLWV4cGFuZGVkPVwidHJ1ZVwiXSAubXhfRXZlbnRUaWxlX2luZm8gLm14X01lc3NhZ2VBY3Rpb25CYXIge1xuICAgICAgICAgICAgLyogUmVzZXQgLm14X0V2ZW50VGlsZVtkYXRhLWxheW91dD1cImJ1YmJsZVwiXVtkYXRhLXNlbGY9XCJmYWxzZVwiXSAubXhfTWVzc2FnZUFjdGlvbkJhciAqL1xuICAgICAgICAgICAgaW5zZXQtaW5saW5lLXN0YXJ0OiBpbml0aWFsO1xuICAgICAgICAgICAgaW5zZXQtaW5saW5lLWVuZDogNDhweDsgLyogYWxpZ24gd2l0aCB0aGF0IG9mIHJpZ2h0LWNvbHVtbiBidWJibGVzICovXG4gICAgICAgIH1cblxuLm14X0dlbmVyaWNFdmVudExpc3RTdW1tYXJ5W2RhdGEtbGF5b3V0PVwiYnViYmxlXCJdW2RhdGEtZXhwYW5kZWQ9XCJ0cnVlXCJdIC5teF9FdmVudFRpbGVfaW5mbyAubXhfUmVhZFJlY2VpcHRHcm91cCB7XG4gICAgICAgICAgICAvKiBtYXRjaCBhbGlnbm1lbnQgdG8gUlJzIG9mIGNoYXQgYnViYmxlcyAqL1xuICAgICAgICAgICAgaW5zZXQtaW5saW5lLWVuZDogY2FsYygtMSAqIHZhcigtLVJlYWRSZWNlaXB0R3JvdXBfRXZlbnRCdWJibGVUaWxlLXNwYWNpbmctZW5kKSArIDYwcHgpO1xuICAgICAgICB9XG5cbi5teF9HZW5lcmljRXZlbnRMaXN0U3VtbWFyeVtkYXRhLWxheW91dD1cImJ1YmJsZVwiXVtkYXRhLWV4cGFuZGVkPVwidHJ1ZVwiXSAubXhfRXZlbnRUaWxlX2luZm86OmJlZm9yZSB7XG4gICAgICAgICAgICBpbnNldC1pbmxpbmUtZW5kOiAwOyAvKiBtYXRjaCBhbGlnbm1lbnQgb2YgdGhlIGhvdmVyIGJhY2tncm91bmQgdG8gdGhhdCBvZiBjaGF0IGJ1YmJsZXMgKi9cbiAgICAgICAgfVxuXG4ubXhfRXZlbnRUaWxlX3RpbGVFcnJvcltkYXRhLWxheW91dD1cImJ1YmJsZVwiXSAubXhfRXZlbnRUaWxlX2xpbmUge1xuICAgIC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWw7XG4gICAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiBub3JtYWw7XG4gICAgICAgIC1tcy1mbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgLyogcmVzdG9yZSB0aGUgY2VudGVyaW5nICovXG59XG5cbi8qXG4gKiBDb3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cbiAqIENvcHlyaWdodCAyMDI0IFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXG4gKlxuICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXG4gKiBQbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuICovXG5cbi5teF9FdmVudFByZXZpZXcge1xuICAgIGZvbnQ6IHZhcigtLWNwZC1mb250LWJvZHktc20tcmVndWxhcik7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4ubXhfRXZlbnRQcmV2aWV3IC5teF9FdmVudFByZXZpZXdfcHJlZml4IHtcbiAgICAgICAgZm9udDogdmFyKC0tY3BkLWZvbnQtYm9keS1zbS1zZW1pYm9sZCk7XG4gICAgfVxuXG4vKlxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXG5Db3B5cmlnaHQgMjAyMCwgMjAyMSBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxuQ29weXJpZ2h0IDIwMTUsIDIwMTYgT3Blbk1hcmtldCBMdGRcblxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuKi9cblxuLm14X0V2ZW50VGlsZSB7XG4gICAgLS1FdmVudFRpbGVfY29udGVudC1tYXJnaW4taW5saW5lLWVuZDogMzRweDtcbiAgICAtLUV2ZW50VGlsZV9ncm91cF9saW5lLXNwYWNpbmctYmxvY2stc3RhcnQ6IDFweDtcbiAgICAtLUV2ZW50VGlsZV9ncm91cF9saW5lLXNwYWNpbmctYmxvY2stZW5kOiAzcHg7XG4gICAgLS1FdmVudFRpbGVfZ3JvdXBfbGluZS1zcGFjaW5nLWlubGluZS1zdGFydDogNjRweDtcbiAgICAtLUV2ZW50VGlsZV9ncm91cF9saW5lLWxpbmUtaGVpZ2h0OiAxLjM3NXJlbTtcbiAgICAtLUV2ZW50VGlsZV9UaHJlYWRTdW1tYXJ5LWxpbmUtaGVpZ2h0OiBjYWxjKDIgKiAwLjc1cmVtKTtcblxuICAgIC1tcy1mbGV4LW5lZ2F0aXZlOiAwO1xuXG4gICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBjbGVhcjogYm90aDsgLyogVE9ETzogY2hlY2sgaWYgdGhpcyBpcyBuZWNlc3NhcnkgKi9cbiAgICBwYWRkaW5nLXRvcDogMThweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5teF9FdmVudFRpbGUubXhfRXZlbnRUaWxlX2luZm8ge1xuICAgICAgICBmb250LXNpemU6IHZhcigtLWNwZC1mb250LXNpemUtYm9keS1zbSk7XG4gICAgICAgIGNvbG9yOiAjZWRmM2ZmO1xuICAgICAgICBjb2xvcjogdmFyKC0tc2Vjb25kYXJ5LWNvbnRlbnQsICNlZGYzZmYpO1xuICAgIH1cblxuLm14X0V2ZW50VGlsZSAubXhfRXZlbnRUaWxlX2F2YXRhciB7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcbiAgICAgICAgICAgLW1vei11c2VyLXNlbGVjdDogbm9uZTtcbiAgICAgICAgICAgIC1tcy11c2VyLXNlbGVjdDogbm9uZTtcbiAgICAgICAgICAgICAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICB9XG5cbi5teF9FdmVudFRpbGUgLm14X0V2ZW50VGlsZV9ib2R5IHtcbiAgICAgICAgb3ZlcmZsb3cteTogaGlkZGVuO1xuICAgICAgICB0ZXh0LWFsaWduOiBzdGFydDtcbiAgICB9XG5cbi5teF9FdmVudFRpbGUgLm14X0V2ZW50VGlsZV9yZWNlaXB0U2VudCxcbiAgICAubXhfRXZlbnRUaWxlIC5teF9FdmVudFRpbGVfcmVjZWlwdFNlbmRpbmcge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgd2lkdGg6IDE2cHg7XG4gICAgICAgIGhlaWdodDogMTZweDtcbiAgICB9XG5cbi5teF9FdmVudFRpbGUgLm14X0V2ZW50VGlsZV9yZWNlaXB0U2VudDo6YmVmb3JlLCAubXhfRXZlbnRUaWxlIC5teF9FdmVudFRpbGVfcmVjZWlwdFNlbmRpbmc6OmJlZm9yZSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jcGQtY29sb3ItaWNvbi10ZXJ0aWFyeSk7XG4gICAgICAgICAgICAtd2Via2l0LW1hc2stcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgICAgICAgICAgIG1hc2stcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgICAtd2Via2l0LW1hc2stcG9zaXRpb246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgbWFzay1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgICAgICAgLXdlYmtpdC1tYXNrLXNpemU6IDE2cHg7XG4gICAgICAgICAgICAgICAgICAgIG1hc2stc2l6ZTogMTZweDtcbiAgICAgICAgICAgIHdpZHRoOiAxNnB4O1xuICAgICAgICAgICAgaGVpZ2h0OiAxNnB4O1xuICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgfVxuXG4ubXhfRXZlbnRUaWxlIC5teF9FdmVudFRpbGVfcmVjZWlwdFNlbnQ6OmJlZm9yZSB7XG4gICAgICAgIC13ZWJraXQtbWFzay1pbWFnZTogdXJsKFwiLi4vLi4vLi4vaW1nL2VsZW1lbnQtaWNvbnMvY2lyY2xlLXNlbnQuc3ZnXCIpO1xuICAgICAgICAgICAgICAgIG1hc2staW1hZ2U6IHVybChcIi4uLy4uLy4uL2ltZy9lbGVtZW50LWljb25zL2NpcmNsZS1zZW50LnN2Z1wiKTtcbiAgICB9XG5cbi5teF9FdmVudFRpbGUgLm14X0V2ZW50VGlsZV9yZWNlaXB0U2VuZGluZzo6YmVmb3JlIHtcbiAgICAgICAgLXdlYmtpdC1tYXNrLWltYWdlOiB1cmwoXCIuLi8uLi8uLi9pbWcvZWxlbWVudC1pY29ucy9jaXJjbGUtc2VuZGluZy5zdmdcIik7XG4gICAgICAgICAgICAgICAgbWFzay1pbWFnZTogdXJsKFwiLi4vLi4vLi4vaW1nL2VsZW1lbnQtaWNvbnMvY2lyY2xlLXNlbmRpbmcuc3ZnXCIpO1xuICAgIH1cblxuLm14X0V2ZW50VGlsZSAubXhfRXZlbnRUaWxlX2NvbnRlbnQubXhfRWRpdE1lc3NhZ2VDb21wb3NlcixcbiAgICAgICAgLm14X0V2ZW50VGlsZSAubXhfRXZlbnRUaWxlX2NvbnRlbnQubXhfRWRpdFd5c2l3eWdDb21wb3NlciB7XG4gICAgICAgICAgICAvKiBNYWtlIHN1cmUgdGhlIGZvcm1hdHRpbmcgYmFyIGlzIHZpc2libGUgKi9cbiAgICAgICAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgICAgICB9XG5cbi5teF9FdmVudFRpbGUgLm14X0V2ZW50VGlsZV9zZWFyY2hIaWdobGlnaHQge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMGRiZDhiO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1hY2NlbnQtY29sb3IsICMwZGJkOGIpO1xuICAgICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNXB4O1xuICAgICAgICBwYWRkaW5nLWlubGluZTogMnB4O1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgfVxuXG4ubXhfRXZlbnRUaWxlIC5teF9FdmVudFRpbGVfc2VhcmNoSGlnaGxpZ2h0IGEge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzBkYmQ4YjtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWFjY2VudC1jb2xvciwgIzBkYmQ4Yik7XG4gICAgICAgICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgfVxuXG4ubXhfRXZlbnRUaWxlIC5teF9FdmVudFRpbGVCdWJibGUge1xuICAgICAgICBtYXJnaW4tYmxvY2s6IHZhcigtLUV2ZW50VGlsZUJ1YmJsZV9tYXJnaW4tYmxvY2spO1xuICAgICAgICBtaW4td2lkdGg6IDEwMHB4O1xuICAgIH1cblxuLm14X0V2ZW50VGlsZSAubXhfTUltYWdlQm9keSAubXhfTUltYWdlQm9keV90aHVtYm5haWxfY29udGFpbmVyIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICAgICAgICAgICAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOyAvKiBvbiBldmVyeSBsYXlvdXQgKi9cbiAgICAgICAgfVxuXG4ubXhfRXZlbnRUaWxlIC5teF9EaXNhbWJpZ3VhdGVkUHJvZmlsZSB7XG4gICAgICAgIGNvbG9yOiB2YXIoLS10aW1lbGluZS10ZXh0LWNvbG9yKTtcbiAgICAgICAgZm9udDogdmFyKC0tY3BkLWZvbnQtYm9keS1tZC1yZWd1bGFyKTtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMHB4O1xuICAgICAgICBwYWRkaW5nLXRvcDogMHB4O1xuICAgIH1cblxuLm14X0V2ZW50VGlsZSAubXhfUmVhY3Rpb25zUm93IHtcbiAgICAgICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gICAgICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAtbXMtZmxleC1mbG93OiB3cmFwO1xuICAgICAgICAgICAgZmxleC1mbG93OiB3cmFwO1xuICAgICAgICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBnYXA6IDRweDtcbiAgICB9XG5cbi5teF9FdmVudFRpbGUgLm14X1JlcGx5Q2hhaW4tLWV4cGFuZGVkIC5teF9FdmVudFRpbGVfYm9keSB7XG4gICAgICAgICAgICAvKiAhaW1wb3J0YW50IG5lZWRlZCB0byBvdmVycmlkZSAubXhfUmVwbHlUaWxlIC5teF9FdmVudFRpbGVfY29udGVudCAubXhfRXZlbnRUaWxlX2JvZHkgKi9cbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBvdmVyZmxvdy15OiBzY3JvbGw7XG4gICAgICAgIH1cblxuLm14X0V2ZW50VGlsZSAubXhfUmVwbHlDaGFpbi0tZXhwYW5kZWQgLm14X0V2ZW50VGlsZV9jb2xsYXBzZWRDb2RlQmxvY2sge1xuICAgICAgICAgICAgLyogIWltcG9ydGFudCBuZWVkZWQgZHVlIHRvIC5teF9SZXBseVRpbGUgLm14X0V2ZW50VGlsZV9jb250ZW50IC5teF9FdmVudFRpbGVfcHJlX2NvbnRhaW5lciA+IHByZSAqL1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgICAgICAgfVxuXG4ubXhfUm9vbVZpZXdfc2VhcmNoUmVzdWx0c1BhbmVsIC5teF9FdmVudFRpbGUubXhfRXZlbnRUaWxlX2NvbnRleHR1YWwge1xuICAgICAgICAgICAgb3BhY2l0eTogMC40O1xuICAgICAgICB9XG5cbi5teF9FdmVudFRpbGUubXhfRXZlbnRUaWxlX2hpZ2hsaWdodCxcbiAgICAubXhfRXZlbnRUaWxlLm14X0V2ZW50VGlsZV9oaWdobGlnaHQgLm1hcmtkb3duLWJvZHksXG4gICAgLm14X0V2ZW50VGlsZS5teF9FdmVudFRpbGVfaGlnaGxpZ2h0IC5teF9FdmVudFRpbGVfZWRpdGVkIHtcbiAgICAgICAgY29sb3I6ICNmZjViNTU7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1hbGVydCwgI2ZmNWI1NSk7XG4gICAgfVxuXG4ubXhfRXZlbnRUaWxlLm14X0V2ZW50VGlsZV9idWJibGVDb250YWluZXIge1xuICAgICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxMDBweDtcbiAgICB9XG5cbi5teF9FdmVudFRpbGUubXhfRXZlbnRUaWxlX2J1YmJsZUNvbnRhaW5lciAubXhfRXZlbnRUaWxlX2xpbmUge1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICAgICAgZ3JpZC1jb2x1bW46IDEgLyAzO1xuICAgICAgICAgICAgcGFkZGluZzogMCAhaW1wb3J0YW50OyAvKiBvdmVycmlkZSBkZWZhdWx0IHBhZGRpbmcgb2YgbXhfRXZlbnRUaWxlX2xpbmUgc28gdGhhdCB3ZSBjYW4gYmUgY2VudGVyZWQgKi9cbiAgICAgICAgfVxuXG4ubXhfRXZlbnRUaWxlLm14X0V2ZW50VGlsZV9idWJibGVDb250YWluZXIgLm14X0V2ZW50VGlsZV9tc2dPcHRpb24ge1xuICAgICAgICAgICAgZ3JpZC1jb2x1bW46IDI7XG4gICAgICAgIH1cblxuLm14X0V2ZW50VGlsZS5teF9FdmVudFRpbGVfYnViYmxlQ29udGFpbmVyOmhvdmVyIC5teF9FdmVudFRpbGVfbGluZSB7XG4gICAgICAgICAgICAgICAgLyogVG8gYXZvaWQgYnViYmxlIGV2ZW50cyBiZWluZyBoaWdobGlnaHRlZCAqL1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IGluaGVyaXQgIWltcG9ydGFudDtcbiAgICAgICAgICAgIH1cblxuLm14X0V2ZW50VGlsZS5teF9FdmVudFRpbGVfaXNFZGl0aW5nIC5teF9NZXNzYWdlVGltZXN0YW1wIHtcbiAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIH1cblxuLm14X0V2ZW50VGlsZVtkYXRhLWxheW91dD1cImlyY1wiXSxcbiAgICAubXhfRXZlbnRUaWxlW2RhdGEtbGF5b3V0PVwiZ3JvdXBcIl0ge1xuICAgICAgICAtLXNlbGVjdGVkLW1lc3NhZ2UtYm9yZGVyLXdpZHRoOiA0cHg7XG5cbiAgICAgICAgLyogVE9ETzogYWRqdXN0IHRoZSB2YWx1ZXMgZm9yIElSQyBsYXlvdXQgKi9cbiAgICAgICAgLS1FdmVudFRpbGUtYm94LXNoYWRvdy1vZmZzZXQteDogY2FsYyg1MHB4ICsgdmFyKC0tc2VsZWN0ZWQtbWVzc2FnZS1ib3JkZXItd2lkdGgpKTtcbiAgICAgICAgLS1FdmVudFRpbGUtYm94LXNoYWRvdy1zcHJlYWQtcmFkaXVzOiAtNTBweDtcblxuICAgICAgICAvKiB0aGlzIGlzIHVzZWQgZm9yIHRoZSB0aWxlIGZvciB0aGUgZXZlbnQgd2hpY2ggaXMgc2VsZWN0ZWQgdmlhIHRoZSBVUkwuICovXG4gICAgfVxuXG4ubXhfRXZlbnRUaWxlW2RhdGEtbGF5b3V0PVwiaXJjXCJdIC5teF9FdmVudFRpbGVfZTJlSWNvbiwgLm14X0V2ZW50VGlsZVtkYXRhLWxheW91dD1cImdyb3VwXCJdIC5teF9FdmVudFRpbGVfZTJlSWNvbiB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIH1cblxuLm14X0V2ZW50VGlsZVtkYXRhLWxheW91dD1cImlyY1wiXSAubXhfTUltYWdlQm9keSAubXhfTUltYWdlQm9keV90aHVtYm5haWxfY29udGFpbmVyLCAubXhfRXZlbnRUaWxlW2RhdGEtbGF5b3V0PVwiZ3JvdXBcIl0gLm14X01JbWFnZUJvZHkgLm14X01JbWFnZUJvZHlfdGh1bWJuYWlsX2NvbnRhaW5lciB7XG4gICAgICAgICAgICAgICAgLXdlYmtpdC1ib3gtcGFjazogc3RhcnQ7XG4gICAgICAgICAgICAgICAgICAgIC1tcy1mbGV4LXBhY2s6IHN0YXJ0O1xuICAgICAgICAgICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDIuNzVyZW07XG4gICAgICAgICAgICAgICAgbWluLXdpZHRoOiAyLjc1cmVtO1xuICAgICAgICAgICAgfVxuXG4ubXhfRXZlbnRUaWxlW2RhdGEtbGF5b3V0PVwiaXJjXCJdIC5teF9FdmVudFRpbGVfbGluZSxcbiAgICAgICAgLm14X0V2ZW50VGlsZVtkYXRhLWxheW91dD1cImlyY1wiXSAubXhfRXZlbnRUaWxlX3JlcGx5LFxuICAgICAgICAubXhfRXZlbnRUaWxlW2RhdGEtbGF5b3V0PVwiZ3JvdXBcIl0gLm14X0V2ZW50VGlsZV9saW5lLFxuICAgICAgICAubXhfRXZlbnRUaWxlW2RhdGEtbGF5b3V0PVwiZ3JvdXBcIl0gLm14X0V2ZW50VGlsZV9yZXBseSB7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgICAgIH1cblxuLm14X0V2ZW50VGlsZVtkYXRhLWxheW91dD1cImlyY1wiXSAubXhfRXZlbnRUaWxlX3JlcGx5LCAubXhfRXZlbnRUaWxlW2RhdGEtbGF5b3V0PVwiZ3JvdXBcIl0gLm14X0V2ZW50VGlsZV9yZXBseSB7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gICAgICAgIH1cblxuLm14X0V2ZW50VGlsZVtkYXRhLWxheW91dD1cImlyY1wiXSAubXhfRXZlbnRUaWxlX21zZ09wdGlvbiwgLm14X0V2ZW50VGlsZVtkYXRhLWxheW91dD1cImdyb3VwXCJdIC5teF9FdmVudFRpbGVfbXNnT3B0aW9uIHtcbiAgICAgICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgd2lkdGg6IDkwcHg7XG5cbiAgICAgICAgICAgIC8qIEhhY2sgdG8gc3RvcCB0aGUgaGVpZ2h0IG9mIHRoaXMgcHVzaGluZyB0aGUgbWVzc2FnZXMgYXBhcnQuXG4gICAgICAgICAgICAgICBSZXBsYWNlcyBtYXJnaW4tdG9wOiAtNnB4LiBUaGlzIGludGVyYWN0cyBiZXR0ZXIgd2l0aCBhIHJlYWRcbiAgICAgICAgICAgICAgIG1hcmtlciBiZWluZyBpbiBiZXR3ZWVuLiBDb250ZW50IG92ZXJmbG93cy4gKi9cbiAgICAgICAgICAgIGhlaWdodDogMXB4O1xuICAgICAgICB9XG5cbi5teF9FdmVudFRpbGVbZGF0YS1sYXlvdXQ9XCJpcmNcIl0gLm14X0V2ZW50VGlsZV9tc2dPcHRpb24gYSwgLm14X0V2ZW50VGlsZVtkYXRhLWxheW91dD1cImdyb3VwXCJdIC5teF9FdmVudFRpbGVfbXNnT3B0aW9uIGEge1xuICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICAgIH1cblxuLm14X0V2ZW50VGlsZVtkYXRhLWxheW91dD1cImlyY1wiXS5teF9FdmVudFRpbGVfaGlnaGxpZ2h0IC5teF9FdmVudFRpbGVfbGluZSwgLm14X0V2ZW50VGlsZVtkYXRhLWxheW91dD1cImlyY1wiXS5teF9FdmVudFRpbGVfaGlnaGxpZ2h0IC5tYXJrZG93bi1ib2R5IC5teF9FdmVudFRpbGVfbGluZSwgLm14X0V2ZW50VGlsZVtkYXRhLWxheW91dD1cImdyb3VwXCJdLm14X0V2ZW50VGlsZV9oaWdobGlnaHQgLm14X0V2ZW50VGlsZV9saW5lLCAubXhfRXZlbnRUaWxlW2RhdGEtbGF5b3V0PVwiZ3JvdXBcIl0ubXhfRXZlbnRUaWxlX2hpZ2hsaWdodCAubWFya2Rvd24tYm9keSAubXhfRXZlbnRUaWxlX2xpbmUge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXRpbWVsaW5lLWhpZ2hsaWdodHMtY29sb3IpO1xuICAgICAgICAgICAgfVxuXG4ubXhfRXZlbnRUaWxlW2RhdGEtbGF5b3V0PVwiaXJjXCJdOmZvY3VzLXZpc2libGU6Zm9jdXMtd2l0aGluIC5teF9FdmVudFRpbGVfbGluZSwgLm14X0V2ZW50VGlsZVtkYXRhLWxheW91dD1cImlyY1wiXS5teF9FdmVudFRpbGVfYWN0aW9uQmFyRm9jdXNlZCAubXhfRXZlbnRUaWxlX2xpbmUsIC5teF9FdmVudFRpbGVbZGF0YS1sYXlvdXQ9XCJpcmNcIl0ubXhfRXZlbnRUaWxlX2lzRWRpdGluZyAubXhfRXZlbnRUaWxlX2xpbmUsIC5teF9FdmVudFRpbGVbZGF0YS1sYXlvdXQ9XCJpcmNcIl0ubXhfRXZlbnRUaWxlX3NlbGVjdGVkIC5teF9FdmVudFRpbGVfbGluZSwgLm14X0V2ZW50VGlsZVtkYXRhLWxheW91dD1cImdyb3VwXCJdOmZvY3VzLXZpc2libGU6Zm9jdXMtd2l0aGluIC5teF9FdmVudFRpbGVfbGluZSwgLm14X0V2ZW50VGlsZVtkYXRhLWxheW91dD1cImdyb3VwXCJdLm14X0V2ZW50VGlsZV9hY3Rpb25CYXJGb2N1c2VkIC5teF9FdmVudFRpbGVfbGluZSwgLm14X0V2ZW50VGlsZVtkYXRhLWxheW91dD1cImdyb3VwXCJdLm14X0V2ZW50VGlsZV9pc0VkaXRpbmcgLm14X0V2ZW50VGlsZV9saW5lLCAubXhfRXZlbnRUaWxlW2RhdGEtbGF5b3V0PVwiZ3JvdXBcIl0ubXhfRXZlbnRUaWxlX3NlbGVjdGVkIC5teF9FdmVudFRpbGVfbGluZSB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdGltZWxpbmUtaGlnaGxpZ2h0cy1jb2xvcik7XG4gICAgICAgICAgICB9XG5cbi5teF9FdmVudFRpbGVbZGF0YS1sYXlvdXQ9XCJpcmNcIl0ubXhfRXZlbnRUaWxlX2lzRWRpdGluZyA+IC5teF9FdmVudFRpbGVfbGluZSwgLm14X0V2ZW50VGlsZVtkYXRhLWxheW91dD1cImlyY1wiXS5teF9FdmVudFRpbGVfc2VsZWN0ZWQgPiAubXhfRXZlbnRUaWxlX2xpbmUsIC5teF9FdmVudFRpbGVbZGF0YS1sYXlvdXQ9XCJncm91cFwiXS5teF9FdmVudFRpbGVfaXNFZGl0aW5nID4gLm14X0V2ZW50VGlsZV9saW5lLCAubXhfRXZlbnRUaWxlW2RhdGEtbGF5b3V0PVwiZ3JvdXBcIl0ubXhfRXZlbnRUaWxlX3NlbGVjdGVkID4gLm14X0V2ZW50VGlsZV9saW5lIHtcbiAgICAgICAgICAgICAgICAvKiBUT0RPOiB1bHRpbWF0ZWx5IHdlIHByb2JhYmx5IHdhbnQgc29tZSB0cmFuc2l0aW9uIG9uIGhlcmUuICovXG4gICAgICAgICAgICAgICAgLXdlYmtpdC1ib3gtc2hhZG93OiBpbnNldCB2YXIoLS1FdmVudFRpbGUtYm94LXNoYWRvdy1vZmZzZXQteCkgMCAwIHZhcigtLUV2ZW50VGlsZS1ib3gtc2hhZG93LXNwcmVhZC1yYWRpdXMpXG4gICAgICAgICAgICAgICAgICAgIHZhcigtLWNwZC1jb2xvci1iZy1hY3Rpb24tcHJpbWFyeS1yZXN0KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IGluc2V0IHZhcigtLUV2ZW50VGlsZS1ib3gtc2hhZG93LW9mZnNldC14KSAwIDAgdmFyKC0tRXZlbnRUaWxlLWJveC1zaGFkb3ctc3ByZWFkLXJhZGl1cylcbiAgICAgICAgICAgICAgICAgICAgdmFyKC0tY3BkLWNvbG9yLWJnLWFjdGlvbi1wcmltYXJ5LXJlc3QpO1xuICAgICAgICAgICAgfVxuXG4ubXhfRXZlbnRUaWxlW2RhdGEtbGF5b3V0PVwiaXJjXCJdLm14X0V2ZW50VGlsZV9pbmZvIC5teF9FdmVudFRpbGVfZTJlSWNvbiwgLm14X0V2ZW50VGlsZVtkYXRhLWxheW91dD1cImdyb3VwXCJdLm14X0V2ZW50VGlsZV9pbmZvIC5teF9FdmVudFRpbGVfZTJlSWNvbiB7XG4gICAgICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgfVxuXG4ubXhfRXZlbnRUaWxlW2RhdGEtbGF5b3V0PVwiaXJjXCJdLm14X0V2ZW50VGlsZV9jb250aW51YXRpb24gLm14X0V2ZW50VGlsZV9saW5lLCAubXhfRXZlbnRUaWxlW2RhdGEtbGF5b3V0PVwiZ3JvdXBcIl0ubXhfRXZlbnRUaWxlX2NvbnRpbnVhdGlvbiAubXhfRXZlbnRUaWxlX2xpbmUge1xuICAgICAgICAgICAgY2xlYXI6IGJvdGg7XG4gICAgICAgIH1cblxuLm14X0V2ZW50VGlsZVtkYXRhLWxheW91dD1cImlyY1wiXTpob3ZlciAubXhfRXZlbnRUaWxlX2xpbmUsIC5teF9FdmVudFRpbGVbZGF0YS1sYXlvdXQ9XCJncm91cFwiXTpob3ZlciAubXhfRXZlbnRUaWxlX2xpbmUge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXRpbWVsaW5lLWhpZ2hsaWdodHMtY29sb3IpO1xuICAgICAgICAgICAgfVxuXG4ubXhfRXZlbnRUaWxlW2RhdGEtbGF5b3V0PVwiYnViYmxlXCJdIC5teF9FdmVudFRpbGVCdWJibGUsIC5teF9FdmVudFRpbGVbZGF0YS1sYXlvdXQ9XCJncm91cFwiXSAubXhfRXZlbnRUaWxlQnViYmxlIHtcbiAgICAgICAgICAgIG1hcmdpbi1pbmxpbmU6IGF1dG87XG4gICAgICAgIH1cblxuLm14X0V2ZW50VGlsZVtkYXRhLWxheW91dD1cImJ1YmJsZVwiXSAubXhfUmVwbHlDaGFpbiwgLm14X0V2ZW50VGlsZVtkYXRhLWxheW91dD1cImdyb3VwXCJdIC5teF9SZXBseUNoYWluIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDhweDtcbiAgICAgICAgfVxuXG4ubXhfRXZlbnRUaWxlW2RhdGEtbGF5b3V0PVwiaXJjXCJdIHtcbiAgICAgICAgLS1FdmVudFRpbGVfaXJjX2xpbmUtcGFkZGluZy1ibG9jazogMXB4O1xuXG4gICAgICAgIC8qIGFkZCAtLXJpZ2h0LXBhZGRpbmcgdmFsdWUgb2YgTWVzc2FnZVRpbWVzdGFtcCBvbmx5ICovXG4gICAgICAgIC8qIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBkZWNsYXJhdGlvbi1jb2xvbi1zcGFjZS1hZnRlciAqL1xuICAgICAgICAtLUV2ZW50VGlsZV9pcmNfbGluZV9pbmZvLW1hcmdpbi1pbmxpbmUtc3RhcnQ6IGNhbGMoXG4gICAgICAgICAgICB2YXIoLS1uYW1lLXdpZHRoKSArIHZhcigtLWljb24td2lkdGgpICsgMSAqIHZhcigtLXJpZ2h0LXBhZGRpbmcpXG4gICAgICAgICk7XG5cbiAgICAgICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG5cbiAgICAgICAgZGlzcGxheTogLW1zLWZsZXhib3g7XG5cbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgLXdlYmtpdC1ib3gtYWxpZ246IHN0YXJ0O1xuICAgICAgICAgICAgLW1zLWZsZXgtYWxpZ246IHN0YXJ0O1xuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICB9XG5cbi5teF9FdmVudFRpbGVbZGF0YS1sYXlvdXQ9XCJpcmNcIl0gPiBhIHtcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgLyogdGltZXN0YW1wcyBhcmUgbGlua3Mgd2hpY2ggc2hvdWxkbid0IGJlIHVuZGVybGluZWQgKi9cbiAgICAgICAgICAgIG1pbi13aWR0aDogNDZweDtcbiAgICAgICAgICAgIG1pbi13aWR0aDogdmFyKC0tTWVzc2FnZVRpbWVzdGFtcC13aWR0aCk7IC8qIGVuc3VyZSBzcGFjZSBmb3IgRXZlbnRUaWxlIHdpdGhvdXQgdGltZXN0YW1wICovXG4gICAgICAgIH1cblxuLm14X0V2ZW50VGlsZVtkYXRhLWxheW91dD1cImlyY1wiXSA+ICoge1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiB2YXIoLS1yaWdodC1wYWRkaW5nKTtcbiAgICAgICAgfVxuXG4ubXhfRXZlbnRUaWxlW2RhdGEtbGF5b3V0PVwiaXJjXCJdIC5teF9FdmVudFRpbGVfYXZhdGFyLFxuICAgICAgICAubXhfRXZlbnRUaWxlW2RhdGEtbGF5b3V0PVwiaXJjXCJdIC5teF9FdmVudFRpbGVfZTJlSWNvbiB7XG4gICAgICAgICAgICBoZWlnaHQ6IDEuMTI1cmVtO1xuICAgICAgICAgICAgaGVpZ2h0OiB2YXIoLS1pcmMtbGluZS1oZWlnaHQpO1xuICAgICAgICB9XG5cbi5teF9FdmVudFRpbGVbZGF0YS1sYXlvdXQ9XCJpcmNcIl0gLm14X0V2ZW50VGlsZV9hdmF0YXIsXG4gICAgICAgIC5teF9FdmVudFRpbGVbZGF0YS1sYXlvdXQ9XCJpcmNcIl0gLm14X0Rpc2FtYmlndWF0ZWRQcm9maWxlLFxuICAgICAgICAubXhfRXZlbnRUaWxlW2RhdGEtbGF5b3V0PVwiaXJjXCJdIC5teF9FdmVudFRpbGVfZTJlSWNvbixcbiAgICAgICAgLm14X0V2ZW50VGlsZVtkYXRhLWxheW91dD1cImlyY1wiXSAubXhfRXZlbnRUaWxlX21zZ09wdGlvbiB7XG4gICAgICAgICAgICAtbXMtZmxleC1uZWdhdGl2ZTogMDtcbiAgICAgICAgICAgICAgICBmbGV4LXNocmluazogMDtcbiAgICAgICAgfVxuXG4ubXhfRXZlbnRUaWxlW2RhdGEtbGF5b3V0PVwiaXJjXCJdIC5teF9FdmVudFRpbGVfYXZhdGFyIHtcbiAgICAgICAgICAgIC13ZWJraXQtYm94LW9yZGluYWwtZ3JvdXA6IDI7XG4gICAgICAgICAgICAgICAgLW1zLWZsZXgtb3JkZXI6IDE7XG4gICAgICAgICAgICAgICAgICAgIG9yZGVyOiAxO1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gICAgICAgICAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgICAgICAgICAgIC8qIE5lZWQgdG8gdXNlIGltcG9ydGFudCB0byBvdmVycmlkZSB0aGUganMgcHJvdmlkZWQgaGVpZ2h0IGFuZCB3aWR0aCB2YWx1ZXMuICovXG4gICAgICAgIH1cblxuLm14X0V2ZW50VGlsZVtkYXRhLWxheW91dD1cImlyY1wiXSAubXhfRXZlbnRUaWxlX2F2YXRhciA+IC5teF9CYXNlQXZhdGFyLFxuICAgICAgICAgICAgLm14X0V2ZW50VGlsZVtkYXRhLWxheW91dD1cImlyY1wiXSAubXhfRXZlbnRUaWxlX2F2YXRhciA+IC5teF9CYXNlQXZhdGFyID4gKiB7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAwLjg3NXJlbSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgIHdpZHRoOiAwLjg3NXJlbSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMC42MjVyZW0gIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMC45Mzc1cmVtICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICB9XG5cbi5teF9FdmVudFRpbGVbZGF0YS1sYXlvdXQ9XCJpcmNcIl0gLm14X0Rpc2FtYmlndWF0ZWRQcm9maWxlIHtcbiAgICAgICAgICAgIC13ZWJraXQtYm94LW9yZGluYWwtZ3JvdXA6IDM7XG4gICAgICAgICAgICAgICAgLW1zLWZsZXgtb3JkZXI6IDI7XG4gICAgICAgICAgICAgICAgICAgIG9yZGVyOiAyO1xuICAgICAgICAgICAgd2lkdGg6IHZhcigtLW5hbWUtd2lkdGgpO1xuICAgICAgICAgICAgLXdlYmtpdC1tYXJnaW4tZW5kOiAwO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4taW5saW5lLWVuZDogMDsgLyogb3ZlcnJpZGUgbXhfRXZlbnRUaWxlID4gKiAqL1xuICAgICAgICB9XG5cbi5teF9FdmVudFRpbGVbZGF0YS1sYXlvdXQ9XCJpcmNcIl0gLm14X0Rpc2FtYmlndWF0ZWRQcm9maWxlID4gLm14X0Rpc2FtYmlndWF0ZWRQcm9maWxlX2Rpc3BsYXlOYW1lIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBlbmQ7XG4gICAgICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICAgICAgICAgIH1cblxuLm14X0V2ZW50VGlsZVtkYXRhLWxheW91dD1cImlyY1wiXSAubXhfRGlzYW1iaWd1YXRlZFByb2ZpbGUgPiAubXhfRGlzYW1iaWd1YXRlZFByb2ZpbGVfbXhpZCB7XG4gICAgICAgICAgICAgICAgdmlzaWJpbGl0eTogY29sbGFwc2U7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7IC8qIE92ZXJyaWRlIHRoZSBpbmhlcml0ZWQgbWFyZ2luLiAqL1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgNXB4O1xuICAgICAgICAgICAgfVxuXG4ubXhfRXZlbnRUaWxlW2RhdGEtbGF5b3V0PVwiaXJjXCJdIC5teF9EaXNhbWJpZ3VhdGVkUHJvZmlsZTpob3ZlciB7XG4gICAgICAgICAgICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgICAgICAgICAgICAgei1pbmRleDogMTA7XG4gICAgICAgICAgICB9XG5cbi5teF9FdmVudFRpbGVbZGF0YS1sYXlvdXQ9XCJpcmNcIl0gLm14X0Rpc2FtYmlndWF0ZWRQcm9maWxlOmhvdmVyID4gLm14X0Rpc2FtYmlndWF0ZWRQcm9maWxlX2Rpc3BsYXlOYW1lIHtcbiAgICAgICAgICAgICAgICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdGltZWxpbmUtaGlnaGxpZ2h0cy1jb2xvcik7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDhweCAwIDAgOHB4O1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiA4cHg7XG4gICAgICAgICAgICAgICAgfVxuXG4ubXhfRXZlbnRUaWxlW2RhdGEtbGF5b3V0PVwiaXJjXCJdIC5teF9EaXNhbWJpZ3VhdGVkUHJvZmlsZTpob3ZlciA+IC5teF9EaXNhbWJpZ3VhdGVkUHJvZmlsZV9teGlkIHtcbiAgICAgICAgICAgICAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdGltZWxpbmUtaGlnaGxpZ2h0cy1jb2xvcik7XG4gICAgICAgICAgICAgICAgfVxuXG4ubXhfRXZlbnRUaWxlW2RhdGEtbGF5b3V0PVwiaXJjXCJdIC5teF9FdmVudFRpbGVfZTJlSWNvbiB7XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgLXdlYmtpdC1ib3gtZmxleDogMDtcbiAgICAgICAgICAgICAgICAtbXMtZmxleC1wb3NpdGl2ZTogMDtcbiAgICAgICAgICAgICAgICAgICAgZmxleC1ncm93OiAwO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgICB9XG5cbi5teF9FdmVudFRpbGVbZGF0YS1sYXlvdXQ9XCJpcmNcIl0gLm14X0V2ZW50VGlsZV9saW5lIC5teF9FdmVudFRpbGVfZTJlSWNvbixcbiAgICAgICAgICAgIC5teF9FdmVudFRpbGVbZGF0YS1sYXlvdXQ9XCJpcmNcIl0gLm14X0V2ZW50VGlsZV9saW5lIC5teF9UZXh0dWFsRXZlbnQsXG4gICAgICAgICAgICAubXhfRXZlbnRUaWxlW2RhdGEtbGF5b3V0PVwiaXJjXCJdIC5teF9FdmVudFRpbGVfbGluZSAubXhfVmlld1NvdXJjZUV2ZW50LFxuICAgICAgICAgICAgLm14X0V2ZW50VGlsZVtkYXRhLWxheW91dD1cImlyY1wiXSAubXhfRXZlbnRUaWxlX2xpbmUgLm14X01UZXh0Qm9keSB7XG4gICAgICAgICAgICAgICAgLyogYWRkIGEgMXB4IHBhZGRpbmcgdG9wIGFuZCBib3R0b20gYmVjYXVzZSBvdXIgbGFyZ2VyXG4gICAgICAgICAgICAgICAgZW1vamkgZm9udCBvdGhlcndpc2UgZ2V0cyBjcm9wcGVkIGJ5IGFudGktemFsZ28gKi9cbiAgICAgICAgICAgICAgICBwYWRkaW5nOiB2YXIoLS1FdmVudFRpbGVfaXJjX2xpbmUtcGFkZGluZy1ibG9jaykgMDtcbiAgICAgICAgICAgIH1cblxuLm14X0V2ZW50VGlsZVtkYXRhLWxheW91dD1cImlyY1wiXSAubXhfRXZlbnRUaWxlX2xpbmUgLm14X0V2ZW50VGlsZV9lMmVJY29uLFxuICAgICAgICAgICAgLm14X0V2ZW50VGlsZVtkYXRhLWxheW91dD1cImlyY1wiXSAubXhfRXZlbnRUaWxlX2xpbmUgLm14X1RleHR1YWxFdmVudCxcbiAgICAgICAgICAgIC5teF9FdmVudFRpbGVbZGF0YS1sYXlvdXQ9XCJpcmNcIl0gLm14X0V2ZW50VGlsZV9saW5lIC5teF9NVGV4dEJvZHkge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIH1cblxuLm14X0V2ZW50VGlsZVtkYXRhLWxheW91dD1cImlyY1wiXSAubXhfRXZlbnRUaWxlX2xpbmUgLm14X1JlcGx5VGlsZSAubXhfTVRleHRCb2R5IHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogLXdlYmtpdC1ib3g7IC8qIEVuYWJsZSAtd2Via2l0LWxpbmUtY2xhbXAgKi9cbiAgICAgICAgICAgICAgICB9XG5cbi5teF9FdmVudFRpbGVbZGF0YS1sYXlvdXQ9XCJpcmNcIl0gLm14X0V2ZW50VGlsZV9saW5lLFxuICAgICAgICAubXhfRXZlbnRUaWxlW2RhdGEtbGF5b3V0PVwiaXJjXCJdIC5teF9FdmVudFRpbGVfcmVwbHkge1xuICAgICAgICAgICAgLXdlYmtpdC1ib3gtb3JkaW5hbC1ncm91cDogNDtcbiAgICAgICAgICAgICAgICAtbXMtZmxleC1vcmRlcjogMztcbiAgICAgICAgICAgICAgICAgICAgb3JkZXI6IDM7XG4gICAgICAgICAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgICAgICAgICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWw7XG4gICAgICAgICAgICAtd2Via2l0LWJveC1kaXJlY3Rpb246IG5vcm1hbDtcbiAgICAgICAgICAgICAgICAtbXMtZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgIC13ZWJraXQtYm94LWZsZXg6IDE7XG4gICAgICAgICAgICAgICAgLW1zLWZsZXgtcG9zaXRpdmU6IDE7XG4gICAgICAgICAgICAgICAgICAgIGZsZXgtZ3JvdzogMTtcbiAgICAgICAgICAgIC1tcy1mbGV4LW5lZ2F0aXZlOiAxO1xuICAgICAgICAgICAgICAgIGZsZXgtc2hyaW5rOiAxO1xuICAgICAgICAgICAgbWluLXdpZHRoOiAwO1xuICAgICAgICB9XG5cbi5teF9FdmVudFRpbGVbZGF0YS1sYXlvdXQ9XCJpcmNcIl0gLm14X0V2ZW50VGlsZV9yZXBseSB7XG4gICAgICAgICAgICAtd2Via2l0LWJveC1vcmRpbmFsLWdyb3VwOiA1O1xuICAgICAgICAgICAgICAgIC1tcy1mbGV4LW9yZGVyOiA0O1xuICAgICAgICAgICAgICAgICAgICBvcmRlcjogNDtcbiAgICAgICAgfVxuXG4ubXhfRXZlbnRUaWxlW2RhdGEtbGF5b3V0PVwiaXJjXCJdIC5teF9FdmVudFRpbGVfbXNnT3B0aW9uIHtcbiAgICAgICAgICAgIC13ZWJraXQtYm94LW9yZGluYWwtZ3JvdXA6IDY7XG4gICAgICAgICAgICAgICAgLW1zLWZsZXgtb3JkZXI6IDU7XG4gICAgICAgICAgICAgICAgICAgIG9yZGVyOiA1O1xuICAgICAgICB9XG5cbi5teF9FdmVudFRpbGVbZGF0YS1sYXlvdXQ9XCJpcmNcIl0gLm14X0V2ZW50VGlsZV9tc2dPcHRpb24gLm14X1JlYWRSZWNlaXB0R3JvdXAge1xuICAgICAgICAgICAgICAgIGluc2V0LWJsb2NrLXN0YXJ0OiAtMC4zcmVtOyAvKiAodmFyKC0taXJjLWxpbmUtaGVpZ2h0KSAtIGF2YXRhciBoZWlnaHQpIC8gMiAqL1xuICAgICAgICAgICAgfVxuXG4ubXhfRXZlbnRUaWxlW2RhdGEtbGF5b3V0PVwiaXJjXCJdIC5teF9SZXBseUNoYWluIHtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgfVxuXG4ubXhfRXZlbnRUaWxlW2RhdGEtbGF5b3V0PVwiaXJjXCJdIC5teF9NZXNzYWdlVGltZXN0YW1wIHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICB9XG5cbi5teF9FdmVudFRpbGVbZGF0YS1sYXlvdXQ9XCJpcmNcIl0gLm14X0VkaXRNZXNzYWdlQ29tcG9zZXJfYnV0dG9ucyB7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIH1cblxuLm14X0V2ZW50VGlsZVtkYXRhLWxheW91dD1cImlyY1wiXSAubXhfRXZlbnRUaWxlQnViYmxlIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIGxlZnQ6IHZhcigtLUV2ZW50VGlsZV9pcmNfbGluZV9pbmZvLW1hcmdpbi1pbmxpbmUtc3RhcnQpO1xuICAgICAgICB9XG5cbi5teF9FdmVudFRpbGVbZGF0YS1sYXlvdXQ9XCJpcmNcIl0gLm14X0V2ZW50VGlsZUJ1YmJsZS5teF9jcnlwdG9FdmVudCB7XG4gICAgICAgICAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgICAgICAgICBsZWZ0OiBpbml0aWFsO1xuICAgICAgICAgICAgfVxuXG4ubXhfRXZlbnRUaWxlW2RhdGEtbGF5b3V0PVwiaXJjXCJdIC5teF9SZXBseVRpbGUgLm14X0V2ZW50VGlsZUJ1YmJsZSB7XG4gICAgICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICAgICAgbGVmdDogaW5pdGlhbDsgLyogQ2FuY2VsIHRoZSB2YWx1ZSBzcGVjaWZpZWQgYWJvdmUgZm9yIHRoZSB0aWxlIGluc2lkZSBSZXBseVRpbGUgKi9cbiAgICAgICAgfVxuXG4ubXhfRXZlbnRUaWxlW2RhdGEtbGF5b3V0PVwiaXJjXCJdLm14X0V2ZW50VGlsZV9pc0VkaXRpbmcgPiAubXhfRXZlbnRUaWxlX2xpbmUgLm14X0VkaXRNZXNzYWdlQ29tcG9zZXIge1xuICAgICAgICAgICAgICAgIC8qIGFkZCBzcGFjZSBmb3IgdGhlIHN0cm9rZSBvbiBib3gtc2hhZG93ICovXG4gICAgICAgICAgICAgICAgLXdlYmtpdC1wYWRkaW5nLXN0YXJ0OiBjYWxjKFxuICAgICAgICAgICAgICAgICAgICB2YXIoLS1zZWxlY3RlZC1tZXNzYWdlLWJvcmRlci13aWR0aCkgKyB2YXIoLS1FZGl0TWVzc2FnZUNvbXBvc2VyLXBhZGRpbmctaW5saW5lKVxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWlubGluZS1zdGFydDogY2FsYyhcbiAgICAgICAgICAgICAgICAgICAgdmFyKC0tc2VsZWN0ZWQtbWVzc2FnZS1ib3JkZXItd2lkdGgpICsgdmFyKC0tRWRpdE1lc3NhZ2VDb21wb3Nlci1wYWRkaW5nLWlubGluZSlcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfVxuXG4ubXhfRXZlbnRUaWxlW2RhdGEtbGF5b3V0PVwiaXJjXCJdLm14X0V2ZW50VGlsZV9pbmZvIC5teF9FdmVudFRpbGVfYXZhdGFyIHtcbiAgICAgICAgICAgICAgICBsZWZ0OiB2YXIoLS1FdmVudFRpbGVfaXJjX2xpbmVfaW5mby1tYXJnaW4taW5saW5lLXN0YXJ0KTtcbiAgICAgICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiB2YXIoLS1yaWdodC1wYWRkaW5nKTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWJsb2NrOiB2YXIoLS1FdmVudFRpbGVfaXJjX2xpbmUtcGFkZGluZy1ibG9jayk7XG4gICAgICAgICAgICB9XG5cbi5teF9FdmVudFRpbGVbZGF0YS1sYXlvdXQ9XCJpcmNcIl0ubXhfRXZlbnRUaWxlX2luZm8gLm14X0V2ZW50VGlsZV9saW5lIHtcbiAgICAgICAgICAgICAgICAtd2Via2l0LW1hcmdpbi1zdGFydDogdmFyKC0tRXZlbnRUaWxlX2lyY19saW5lX2luZm8tbWFyZ2luLWlubGluZS1zdGFydCk7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4taW5saW5lLXN0YXJ0OiB2YXIoLS1FdmVudFRpbGVfaXJjX2xpbmVfaW5mby1tYXJnaW4taW5saW5lLXN0YXJ0KTtcbiAgICAgICAgICAgIH1cblxuLm14X0V2ZW50VGlsZVtkYXRhLWxheW91dD1cImlyY1wiXS5teF9FdmVudFRpbGVfaW5mbyAubXhfVmlld1NvdXJjZUV2ZW50LCBcbiAgICAgICAgICAgIC5teF9FdmVudFRpbGVbZGF0YS1sYXlvdXQ9XCJpcmNcIl0ubXhfRXZlbnRUaWxlX2luZm8gLm14X1RleHR1YWxFdmVudCB7XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMTI1cmVtO1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiB2YXIoLS1pcmMtbGluZS1oZWlnaHQpO1xuICAgICAgICAgICAgfVxuXG4ubXhfRXZlbnRUaWxlW2RhdGEtbGF5b3V0PVwiaXJjXCJdLm14X0V2ZW50VGlsZV9lbW90ZSAubXhfRXZlbnRUaWxlX2F2YXRhciB7XG4gICAgICAgICAgICAgICAgLyogYWRkIC0tcmlnaHQtcGFkZGluZyB2YWx1ZSBvZiBNZXNzYWdlVGltZXN0YW1wIG9ubHkgKi9cbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogY2FsYyh2YXIoLS1uYW1lLXdpZHRoKSArIHZhcigtLWljb24td2lkdGgpICsgMSAqIHZhcigtLXJpZ2h0LXBhZGRpbmcpKTtcbiAgICAgICAgICAgIH1cblxuLm14X0V2ZW50VGlsZVtkYXRhLWxheW91dD1cImlyY1wiXSAubXhfRXZlbnRUaWxlX2Zvb3RlciB7XG4gICAgICAgICAgICBtYXJnaW46IHZhcigtLWNwZC1zcGFjZS0xLTV4KSAwO1xuICAgICAgICB9XG5cbi5teF9FdmVudFRpbGVbZGF0YS1sYXlvdXQ9XCJncm91cFwiXSAubXhfRXZlbnRUaWxlX2F2YXRhciB7XG4gICAgICAgICAgICB0b3A6IDE0cHg7XG4gICAgICAgICAgICBsZWZ0OiA4cHg7XG4gICAgICAgIH1cblxuLm14X0V2ZW50VGlsZVtkYXRhLWxheW91dD1cImdyb3VwXCJdIC5teF9FdmVudFRpbGVfbGluZSxcbiAgICAgICAgLm14X0V2ZW50VGlsZVtkYXRhLWxheW91dD1cImdyb3VwXCJdIC5teF9FdmVudFRpbGVfcmVwbHkge1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IHZhcigtLUV2ZW50VGlsZV9ncm91cF9saW5lLXNwYWNpbmctYmxvY2stc3RhcnQpO1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IHZhcigtLUV2ZW50VGlsZV9ncm91cF9saW5lLXNwYWNpbmctYmxvY2stZW5kKTtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogdmFyKC0tRXZlbnRUaWxlX2dyb3VwX2xpbmUtc3BhY2luZy1pbmxpbmUtc3RhcnQpO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IHZhcigtLUV2ZW50VGlsZV9ncm91cF9saW5lLWxpbmUtaGVpZ2h0KTtcbiAgICAgICAgfVxuXG4ubXhfRXZlbnRUaWxlW2RhdGEtbGF5b3V0PVwiZ3JvdXBcIl0gLm14X0V2ZW50VGlsZV9lMmVJY29uIHtcbiAgICAgICAgICAgIGluc2V0OiAwIDAgMCA0NHB4O1xuXG4gICAgICAgICAgICAvKiBLZWVwIGhlaWdodCBlcXVhbCB0byB0ZXh0IGZvciBhbGlnbm1lbnQgKi9cbiAgICAgICAgICAgIGhlaWdodDogdmFyKC0tRXZlbnRUaWxlX2dyb3VwX2xpbmUtbGluZS1oZWlnaHQpO1xuICAgICAgICAgICAgbWFyZ2luOiAxcHg7XG4gICAgICAgIH1cblxuLm14X0V2ZW50VGlsZVtkYXRhLWxheW91dD1cImdyb3VwXCJdIC5teF9FdmVudFRpbGVfbXNnT3B0aW9uIHtcbiAgICAgICAgICAgIC13ZWJraXQtbWFyZ2luLWVuZDogMTBweDtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWlubGluZS1lbmQ6IDEwcHg7XG4gICAgICAgIH1cblxuLm14X0V2ZW50VGlsZVtkYXRhLWxheW91dD1cImdyb3VwXCJdIC5teF9FdmVudFRpbGVfbXNnT3B0aW9uIC5teF9SZWFkUmVjZWlwdEdyb3VwIHtcbiAgICAgICAgICAgICAgICAvKiBUaGlzIGFsaWducyB0aGUgYXZhdGFyIHdpdGggdGhlIGxhc3QgbGluZSBvZiB0aGUgKi9cbiAgICAgICAgICAgICAgICAvKiBtZXNzYWdlLiBXZSB3YW50IHRvIG1vdmUgaXQgb25lIGxpbmUgdXAgKi9cbiAgICAgICAgICAgICAgICAvKiBTZWUgLm14X0V2ZW50VGlsZVtkYXRhLWxheW91dD1ncm91cF0gLm14X0V2ZW50VGlsZV9saW5lIGluIF9FdmVudFRpbGUuc2NzcyAqL1xuICAgICAgICAgICAgICAgIGluc2V0LWJsb2NrLXN0YXJ0OiBjYWxjKC0xLjM3NXJlbSAtIDNweCk7XG4gICAgICAgICAgICB9XG5cbi5teF9FdmVudFRpbGVbZGF0YS1sYXlvdXQ9XCJncm91cFwiXSAubXhfTWVzc2FnZVRpbWVzdGFtcCB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB9XG5cbi5teF9FdmVudFRpbGVbZGF0YS1sYXlvdXQ9XCJncm91cFwiXSAubXhfVGhyZWFkU3VtbWFyeSxcbiAgICAgICAgLm14X0V2ZW50VGlsZVtkYXRhLWxheW91dD1cImdyb3VwXCJdIC5teF9UaHJlYWRTdW1tYXJ5X2ljb24ge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDY0cHg7XG4gICAgICAgIH1cblxuLm14X0V2ZW50VGlsZVtkYXRhLWxheW91dD1cImdyb3VwXCJdIC5teF9FdmVudFRpbGVfZm9vdGVyIHtcbiAgICAgICAgICAgIG1hcmdpbjogdmFyKC0tY3BkLXNwYWNlLTF4KSB2YXIoLS1jcGQtc3BhY2UtMTZ4KTtcbiAgICAgICAgfVxuXG4ubXhfRXZlbnRUaWxlW2RhdGEtbGF5b3V0PVwiZ3JvdXBcIl0gPiAubXhfRGlzYW1iaWd1YXRlZFByb2ZpbGUge1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjVyZW07XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogNjRweDtcbiAgICAgICAgICAgIG1heC13aWR0aDogY2FsYygxMDAlIC0gNjRweCk7XG4gICAgICAgIH1cblxuLm14X0V2ZW50VGlsZVtkYXRhLWxheW91dD1cImdyb3VwXCJdID4gLm14X0V2ZW50VGlsZV9hdmF0YXIge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgei1pbmRleDogOTtcbiAgICAgICAgfVxuXG4ubXhfUm9vbVZpZXdfdGltZWxpbmVfcnJfZW5hYmxlZCAubXhfRXZlbnRUaWxlW2RhdGEtbGF5b3V0PVwiZ3JvdXBcIl0ge1xuXG4gICAgICAgICAgICAvKiBvbiBFTFMgd2UgbmVlZCB0aGUgbWFyZ2luIHRvIGFsbG93IGludGVyYWN0aW9uIHdpdGggdGhlIGV4cGFuZC9jb2xsYXBzZSBidXR0b24gKi9cbiAgICAgICAgICAgIC8qIHdoaWNoIGlzIG5vcm1hbGx5IGluIHRoZSBSUiBndXR0ZXIgKi9cbiAgICAgICAgfVxuXG4ubXhfUm9vbVZpZXdfdGltZWxpbmVfcnJfZW5hYmxlZCAubXhfRXZlbnRUaWxlW2RhdGEtbGF5b3V0PVwiZ3JvdXBcIl0gLm14X1RocmVhZFN1bW1hcnksXG4gICAgICAgICAgICAubXhfUm9vbVZpZXdfdGltZWxpbmVfcnJfZW5hYmxlZCAubXhfRXZlbnRUaWxlW2RhdGEtbGF5b3V0PVwiZ3JvdXBcIl0gLm14X1RocmVhZFN1bW1hcnlfaWNvbixcbiAgICAgICAgICAgIC5teF9Sb29tVmlld190aW1lbGluZV9ycl9lbmFibGVkIC5teF9FdmVudFRpbGVbZGF0YS1sYXlvdXQ9XCJncm91cFwiXSAubXhfRXZlbnRUaWxlX2xpbmUge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogODBweDtcbiAgICAgICAgICAgICAgICBtaW4taGVpZ2h0OiAwLjg3NXJlbTtcbiAgICAgICAgICAgIH1cblxuLm14X1Jvb21WaWV3X3RpbWVsaW5lX3JyX2VuYWJsZWQgLm14X0V2ZW50VGlsZVtkYXRhLWxheW91dD1cImdyb3VwXCJdIC5teF9UaHJlYWRTdW1tYXJ5IHtcbiAgICAgICAgICAgICAgICAvKiBsZWF2ZSBzcGFjZSBvbiBib3RoIGxlZnQgJiByaWdodCBndXR0ZXJzICovXG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiBtaW4oY2FsYygxMDAlIC0gNjRweCAtIDgwcHgpLCA2MDBweCk7XG4gICAgICAgICAgICB9XG5cbi5teF9FdmVudFRpbGVbZGF0YS1sYXlvdXQ9XCJncm91cFwiXS5teF9FdmVudFRpbGVfY29udGludWF0aW9uIHtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgICB9XG5cbi5teF9FdmVudFRpbGVbZGF0YS1sYXlvdXQ9XCJncm91cFwiXS5teF9FdmVudFRpbGVfaW5mbyB7XG5cbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgICB9XG5cbi5teF9FdmVudFRpbGVbZGF0YS1sYXlvdXQ9XCJncm91cFwiXS5teF9FdmVudFRpbGVfaW5mbyAubXhfRXZlbnRUaWxlX2F2YXRhcixcbiAgICAgICAgICAgIC5teF9FdmVudFRpbGVbZGF0YS1sYXlvdXQ9XCJncm91cFwiXS5teF9FdmVudFRpbGVfaW5mbyAubXhfRXZlbnRUaWxlX2UyZUljb24ge1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICAgICAgICAgIG1hcmdpbjogM3B4IDAgMnB4O1xuICAgICAgICAgICAgfVxuXG4ubXhfRXZlbnRUaWxlW2RhdGEtbGF5b3V0PVwiZ3JvdXBcIl0ubXhfRXZlbnRUaWxlX2luZm8gLm14X0V2ZW50VGlsZV9hdmF0YXIge1xuICAgICAgICAgICAgICAgIHRvcDogYXV0bztcbiAgICAgICAgICAgICAgICB0b3A6IGluaXRpYWw7XG4gICAgICAgICAgICAgICAgaW5zZXQtaW5saW5lLXN0YXJ0OiA2NHB4O1xuICAgICAgICAgICAgICAgIGhlaWdodDogMTRweDtcbiAgICAgICAgICAgIH1cblxuLm14X0V2ZW50VGlsZVtkYXRhLWxheW91dD1cImdyb3VwXCJdLm14X0V2ZW50VGlsZV9pbmZvIC5teF9FdmVudFRpbGVfbGluZSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1ibG9jazogM3B4IDJweDtcbiAgICAgICAgICAgICAgICAvKiAyMHB4OiBhdmF0YXIgYXJlYSAqL1xuICAgICAgICAgICAgICAgIC13ZWJraXQtcGFkZGluZy1zdGFydDogY2FsYyh2YXIoLS1FdmVudFRpbGVfZ3JvdXBfbGluZS1zcGFjaW5nLWlubGluZS1zdGFydCkgKyAyMHB4KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctaW5saW5lLXN0YXJ0OiBjYWxjKHZhcigtLUV2ZW50VGlsZV9ncm91cF9saW5lLXNwYWNpbmctaW5saW5lLXN0YXJ0KSArIDIwcHgpO1xuICAgICAgICAgICAgfVxuXG4ubXhfRXZlbnRUaWxlW2RhdGEtbGF5b3V0PVwiZ3JvdXBcIl0ubXhfRXZlbnRUaWxlX2luZm8gLm14X0V2ZW50VGlsZV9saW5lIC5teF9NZXNzYWdlVGltZXN0YW1wIHtcbiAgICAgICAgICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgICAgIH1cblxuLm14X0V2ZW50VGlsZVtkYXRhLWxheW91dD1cImdyb3VwXCJdLm14X0V2ZW50VGlsZV9pbmZvLm14X0V2ZW50VGlsZV9zZWxlY3RlZCAubXhfRXZlbnRUaWxlX2xpbmUge1xuICAgICAgICAgICAgICAgIC8qIFRPRE86IGNoZWNrIGlmIHRoaXMgd291bGQgYmUgbmVjZXNzYXJ5OyAqL1xuICAgICAgICAgICAgICAgIC13ZWJraXQtcGFkZGluZy1zdGFydDogY2FsYyh2YXIoLS1FdmVudFRpbGVfZ3JvdXBfbGluZS1zcGFjaW5nLWlubGluZS1zdGFydCkgKyAyMHB4KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctaW5saW5lLXN0YXJ0OiBjYWxjKHZhcigtLUV2ZW50VGlsZV9ncm91cF9saW5lLXNwYWNpbmctaW5saW5lLXN0YXJ0KSArIDIwcHgpO1xuICAgICAgICAgICAgfVxuXG4ubXhfRXZlbnRUaWxlW2RhdGEtbGF5b3V0PVwiYnViYmxlXCJdIHtcbiAgICAgICAgLyogT3RoZXIgaGFsZiBvZiB0aGUgZ3V0dGVyIGlzIHByb3ZpZGVkIGJ5IG1hcmdpbi1ib3R0b20gb24gdGhlIGxhc3QgdGlsZVxuICAgICAgICBvZiB0aGUgc2VjdGlvbiAqL1xuICAgICAgICBtYXJnaW4tdG9wOiBjYWxjKHZhcigtLWd1dHRlclNpemUpIC8gMik7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiB2YXIoLS1FdmVudFRpbGVfYnViYmxlLW1hcmdpbi1pbmxpbmUtc3RhcnQpO1xuXG4gICAgICAgIC8qIFJlc2V0IGRlZmF1bHQgdmFsdWVzLiBUT0RPOiByZW1vdmUgKi9cbiAgICAgICAgbWF4LXdpZHRoOiBub25lO1xuICAgICAgICBtYXgtd2lkdGg6IGluaXRpYWw7XG4gICAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgIH1cblxuLm14X0V2ZW50VGlsZVtkYXRhLWxheW91dD1cImJ1YmJsZVwiXSAubXhfRXZlbnRUaWxlX21zZ09wdGlvbiAubXhfUmVhZFJlY2VpcHRHcm91cCB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIGluc2V0LWJsb2NrLXN0YXJ0OiBhdXRvO1xuXG4gICAgICAgICAgICAgICAgLyogYXMgY2xvc2UgdG8gcmlnaHQgZ3V0dGVyIHdpdGhvdXQgY2xpcHBpbmcgYXMgcG9zc2libGUgKi9cbiAgICAgICAgICAgICAgICBpbnNldC1pbmxpbmUtZW5kOiBjYWxjKC0xICogdmFyKC0tUmVhZFJlY2VpcHRHcm91cF9FdmVudEJ1YmJsZVRpbGUtc3BhY2luZy1lbmQpKTtcblxuICAgICAgICAgICAgICAgIC8qIChFdmVudFRpbGVMaW5lLmxpbmUtaGVpZ2h0IC0gUmVhZFJlY2VpcHRHcm91cC5oZWlnaHQpIC8gMiAqL1xuICAgICAgICAgICAgICAgIC8qIHRoaXMgY2VudGVycyB0aGUgUmVhZFJlY2VpcHRHcm91cCBpZiB3ZeKAmXZlIGdvdCBhIHNpbmdsZSBsaW5lICovXG4gICAgICAgICAgICAgICAgaW5zZXQtYmxvY2stZW5kOiBjYWxjKCgxLjEyNXJlbSAtIDI0cHgpIC8gMik7XG4gICAgICAgICAgICB9XG5cbi5teF9FdmVudFRpbGVbZGF0YS1sYXlvdXQ9XCJidWJibGVcIl0gLm14X0V2ZW50VGlsZUJ1YmJsZSB7XG4gICAgICAgICAgICAvKiBUaW1lc3RhbXBzIGFyZSBpbnNpZGUgdGhlIHRpbGUsIHNvIHRoZSB3aWR0aCBjYW4gYmUgbGVzcyBjb25zdHJhaW5lZCAqL1xuICAgICAgICAgICAgbWF4LXdpZHRoOiA2MDBweDtcbiAgICAgICAgfVxuXG4ubXhfRXZlbnRUaWxlW2RhdGEtbGF5b3V0PVwiYnViYmxlXCJdLm14X0V2ZW50VGlsZV9jb250aW51YXRpb24ge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMnB4O1xuICAgICAgICB9XG5cbi5teF9FdmVudFRpbGVbZGF0YS1sYXlvdXQ9XCJidWJibGVcIl0ubXhfRXZlbnRUaWxlX2xhc3RJblNlY3Rpb24ge1xuICAgICAgICAgICAgLyogT3RoZXIgaGFsZiBvZiB0aGUgZ3V0dGVyIGlzIHByb3ZpZGVkIGJ5IG1hcmdpbi10b3Agb24gdGhlIGZpcnN0XG4gICAgICAgICAgICB0aWxlIG9mIHRoZSBzZWN0aW9uICovXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiBjYWxjKHZhcigtLWd1dHRlclNpemUpIC8gMik7XG4gICAgICAgIH1cblxuLm14X0dlbmVyaWNFdmVudExpc3RTdW1tYXJ5W2RhdGEtbGF5b3V0PVwiaXJjXCJdIC5teF9FdmVudFRpbGVfbGluZSAubXhfUmVkYWN0ZWRCb2R5LCAubXhfR2VuZXJpY0V2ZW50TGlzdFN1bW1hcnlbZGF0YS1sYXlvdXQ9XCJncm91cFwiXSAubXhfRXZlbnRUaWxlX2xpbmUgLm14X1JlZGFjdGVkQm9keSB7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMTsgLyogcmVtb3ZlIHNwYWNpbmcgYmV0d2VlbiBsaW5lcyAqL1xuICAgICAgICB9XG5cbi8qIEFwcGx5IG9ubHkgY29sbGFwc2VkIGV2ZW50cyBibG9jayAqL1xuXG4ubXhfR2VuZXJpY0V2ZW50TGlzdFN1bW1hcnlbZGF0YS1sYXlvdXQ9XCJpcmNcIl0gPiAubXhfRXZlbnRUaWxlX2xpbmUge1xuICAgICAgICAgICAgLyogYWRkIC0tcmlnaHQtcGFkZGluZyB2YWx1ZSBvZiBNZXNzYWdlVGltZXN0YW1wIGFuZCBhdmF0YXIgb25seSAqL1xuICAgICAgICAgICAgLyogc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIGRlY2xhcmF0aW9uLWNvbG9uLXNwYWNlLWFmdGVyICovXG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IGNhbGMoXG4gICAgICAgICAgICAgICAgdmFyKC0tbmFtZS13aWR0aCkgKyB2YXIoLS1pY29uLXdpZHRoKSArIDQ2cHggKyAyICogdmFyKC0tcmlnaHQtcGFkZGluZylcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IGNhbGMoXG4gICAgICAgICAgICAgICAgdmFyKC0tbmFtZS13aWR0aCkgKyB2YXIoLS1pY29uLXdpZHRoKSArIHZhcigtLU1lc3NhZ2VUaW1lc3RhbXAtd2lkdGgpICsgMiAqIHZhcigtLXJpZ2h0LXBhZGRpbmcpXG4gICAgICAgICAgICApO1xuICAgICAgICB9XG5cbi5teF9HZW5lcmljRXZlbnRMaXN0U3VtbWFyeVtkYXRhLWxheW91dD1cImdyb3VwXCJdIC5teF9FdmVudFRpbGVfbGluZSB7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDY0cHg7XG4gICAgICAgIH1cblxuLm14X0dlbmVyaWNFdmVudExpc3RTdW1tYXJ5W2RhdGEtbGF5b3V0PVwiZ3JvdXBcIl0gLm14X0dlbmVyaWNFdmVudExpc3RTdW1tYXJ5X3Vuc3R5bGVkTGlzdCA+IC5teF9FdmVudFRpbGVfaW5mbyAubXhfRXZlbnRUaWxlX2F2YXRhciB+IC5teF9FdmVudFRpbGVfbGluZSB7XG4gICAgICAgICAgICAvKiBvdmVycmlkZSBwYWRkaW5nLWxlZnQgJGxlZnQtZ3V0dGVyICovXG4gICAgICAgICAgICAtd2Via2l0LXBhZGRpbmctc3RhcnQ6IGNhbGModmFyKC0tRXZlbnRUaWxlX2dyb3VwX2xpbmUtc3BhY2luZy1pbmxpbmUtc3RhcnQpICsgMjBweCk7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctaW5saW5lLXN0YXJ0OiBjYWxjKHZhcigtLUV2ZW50VGlsZV9ncm91cF9saW5lLXNwYWNpbmctaW5saW5lLXN0YXJ0KSArIDIwcHgpO1xuICAgICAgICB9XG5cbi5teF9FdmVudFRpbGVfY29udGVudCB7XG4gICAgLypcbiAgICBhbGwgdGhlIG92ZXJmbG93LXk6IGhpZGRlbjsgYXJlIHRvIHRyYXAgWmFsZ29zIC1cbiAgICBidXQgdGhleSBpbnRyb2R1Y2UgYW4gaW1wbGljaXQgb3ZlcmZsb3cteDogYXV0by5cbiAgICBzbyBtYWtlIHRoYXQgZXhwbGljaXRseSBoaWRkZW4gdG9vIHRvIGF2b2lkIHJhbmRvbVxuICAgIGhvcml6b250YWwgc2Nyb2xsYmFycyBvY2Nhc2lvbmFsbHkgYXBwZWFyaW5nLCBsaWtlIGluXG4gICAgaHR0cHM6Ly9naXRodWIuY29tL3ZlY3Rvci1pbS92ZWN0b3Itd2ViL2lzc3Vlcy8xMTU0XG4gICAgKi9cbiAgICBvdmVyZmxvdy15OiBoaWRkZW47XG4gICAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICAgIG1hcmdpbi1yaWdodDogdmFyKC0tRXZlbnRUaWxlX2NvbnRlbnQtbWFyZ2luLWlubGluZS1lbmQpO1xufVxuXG4ubXhfRXZlbnRUaWxlX2NvbnRlbnQgLm14X0V2ZW50VGlsZV9lZGl0ZWQsXG4gICAgLm14X0V2ZW50VGlsZV9jb250ZW50IC5teF9FdmVudFRpbGVfcGVuZGluZ01vZGVyYXRpb24ge1xuICAgICAgICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xuICAgICAgICAgICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xuICAgICAgICAgICAgLW1zLXVzZXItc2VsZWN0OiBub25lO1xuICAgICAgICAgICAgICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgICAgICBmb250LXNpemU6IDAuNzVyZW07XG4gICAgICAgIGNvbG9yOiAjZWRmM2ZmO1xuICAgICAgICBjb2xvcjogdmFyKC0tc2Vjb25kYXJ5LWNvbnRlbnQsICNlZGYzZmYpO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIC13ZWJraXQtbWFyZ2luLXN0YXJ0OiA5cHg7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWlubGluZS1zdGFydDogOXB4O1xuICAgIH1cblxuLm14X0V2ZW50VGlsZV9jb250ZW50IC5teF9FdmVudFRpbGVfZWRpdGVkIHtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIH1cblxuLm14X0V2ZW50VGlsZV9jb250ZW50IC5tYXJrZG93bi1ib2R5IHtcbiAgICAgICAgZm9udDogdmFyKC0tY3BkLWZvbnQtYm9keS1tZC1yZWd1bGFyKSAhaW1wb3J0YW50O1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogdmFyKC0tY3BkLWZvbnQtbGV0dGVyLXNwYWNpbmctYm9keS1tZCk7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBpbmhlcml0ICFpbXBvcnRhbnQ7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3JtYWwgIWltcG9ydGFudDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IGluaGVyaXQgIWltcG9ydGFudDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogaW5oZXJpdDtcbiAgICAgICAgY29sb3I6IGluaGVyaXQ7XG5cbiAgICAgICAgLypcbiAgICAgICAgLy8gYWN0dWFsbHksIHJlbW92aW5nIHRoZSBJdGFsaWMgVFRGIHByb3ZpZGVzXG4gICAgICAgIC8vIGJldHRlciByZXN1bHRzIHNlZW1pbmdseVxuXG4gICAgICAgIC8vIGNvbXBlbnNhdGUgZm9yIE51bml0byBpdGFsaWNzIGJlaW5nIHRlcnJpYmxlXG4gICAgICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9nb29nbGUvZm9udHMvaXNzdWVzLzE3MjZcbiAgICAgICAgZW0ge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiBza2V3WCgtMTRkZWcpO1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB9XG4gICAgICAgICovXG4gICAgfVxuXG4vKiBpbmhlcml0IHRoZSBjb2xvdXIgZnJvbSB0aGUgZGFyayBvciBsaWdodCB0aGVtZSBieSBkZWZhdWx0IChidXQgbm90IGZvciBjb2RlIGJsb2NrcykgKi9cblxuLm14X0V2ZW50VGlsZV9jb250ZW50IC5tYXJrZG93bi1ib2R5IHByZSxcbiAgICAgICAgLm14X0V2ZW50VGlsZV9jb250ZW50IC5tYXJrZG93bi1ib2R5IGNvZGUge1xuICAgICAgICAgICAgZm9udC1mYW1pbHk6IFwiSW5jb25zb2xhdGFcIiwgXCJcIiwgXCJBcHBsZSBDb2xvciBFbW9qaVwiLCBcIlNlZ29lIFVJIEVtb2ppXCIsIFwiQ291cmllclwiLFxuICAgIG1vbm9zcGFjZSwgXCJOb3RvIENvbG9yIEVtb2ppXCIgIWltcG9ydGFudDtcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWZhbWlseS1tb25vc3BhY2UsIFwiSW5jb25zb2xhdGFcIiwgdmFyKC0tZW1vamktZm9udC1mYW1pbHkpLCBcIkFwcGxlIENvbG9yIEVtb2ppXCIsIFwiU2Vnb2UgVUkgRW1vamlcIiwgXCJDb3VyaWVyXCIsXG4gICAgbW9ub3NwYWNlLCBcIk5vdG8gQ29sb3IgRW1vamlcIikgIWltcG9ydGFudDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMyMTI2MmM7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1zeXN0ZW0sICMyMTI2MmMpO1xuICAgICAgICB9XG5cbi5teF9FdmVudFRpbGVfY29udGVudCAubWFya2Rvd24tYm9keSBjb2RlOm5vdChwcmUgKikge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzJhMzAzOTtcbiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICMyYTMwMzk7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgICAgICAgICAvKiBUaGUgaG9yaXpvbnRhbCBwYWRkaW5nIGlzIGFkZGVkIGJ5IGdpdGh1Yi1tYXJrZG93bi1jc3MgLm1hcmtkb3duLWJvZHkgKi9cbiAgICAgICAgICAgIHBhZGRpbmc6IDJweCAwO1xuICAgICAgICAgICAgLyogQXZvaWQgaW5saW5lIGNvZGUgYmxvY2tzIHRvIGJlIHN0aWNrZWQgd2hlbiBvbiBtdWx0aXBsZSBsaW5lcyAqL1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMzc1cmVtO1xuICAgICAgICAgICAgLyogQXZvaWQgdGhlIGJvcmRlciB0byBiZSBnbHVlZCB0byB0aGUgb3RoZXIgd29yZHMgKi9cbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMnB4O1xuICAgICAgICB9XG5cbi5teF9FdmVudFRpbGVfY29udGVudCAubWFya2Rvd24tYm9keSBjb2RlIHtcbiAgICAgICAgICAgIHdoaXRlLXNwYWNlOiBwcmUtd3JhcDsgLyogZG9uJ3QgY29sbGFwc2Ugc3BhY2VzIGluIGlubGluZSBjb2RlIGJsb2NrcyAqL1xuICAgICAgICB9XG5cbi5teF9FdmVudFRpbGVfY29udGVudCAubWFya2Rvd24tYm9keSBwcmUge1xuICAgICAgICAgICAgLyogaGF2ZSB0byB1c2Ugb3ZlcmxheSByYXRoZXIgdGhhbiBhdXRvIG90aGVyd2lzZSBMaW51eCBhbmQgV2luZG93cyAqL1xuICAgICAgICAgICAgLyogQ2hyb21lIGdldHMgdmVyeSBjb25mdXNlZCBhYm91dCB2ZXJ0aWNhbCBzcGFjaW5nOiAqL1xuICAgICAgICAgICAgLyogaHR0cHM6Ly9naXRodWIuY29tL3ZlY3Rvci1pbS92ZWN0b3Itd2ViL2lzc3Vlcy83NTQgKi9cbiAgICAgICAgICAgIG92ZXJmbG93LXg6IG92ZXJsYXk7XG4gICAgICAgICAgICBvdmVyZmxvdy15OiB2aXNpYmxlO1xuICAgICAgICB9XG5cbi5teF9FdmVudFRpbGVfY29udGVudCAubWFya2Rvd24tYm9keSBwcmU6Oi13ZWJraXQtc2Nyb2xsYmFyLWNvcm5lciB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICB9XG5cbi5teF9FdmVudFRpbGVfY29udGVudCAubWFya2Rvd24tYm9keSBwcmUge1xuXG4gICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjNmY3ODgyO1xuXG4gICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1xdWluYXJ5LWNvbnRlbnQsICM2Zjc4ODIpO1xufVxuXG4ubXhfRXZlbnRUaWxlX2NvbnRlbnQgLm1hcmtkb3duLWJvZHkgcHJlIGNvZGUge1xuICAgICAgICAgICAgICAgIHdoaXRlLXNwYWNlOiBwcmU7IC8qIHdlIHdhbnQgY29kZSBibG9ja3MgdG8gYmUgc2Nyb2xsYWJsZSBhbmQgbm90IHdyYXAgKi9cbiAgICAgICAgICAgIH1cblxuLm14X0V2ZW50VGlsZV9jb250ZW50IC5tYXJrZG93bi1ib2R5IHByZSBjb2RlID4gKiB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICAgICAgICAgICAgICB9XG5cbi5teF9FdmVudFRpbGVfY29udGVudCAubWFya2Rvd24tYm9keSBoMSxcbiAgICAgICAgLm14X0V2ZW50VGlsZV9jb250ZW50IC5tYXJrZG93bi1ib2R5IGgyLFxuICAgICAgICAubXhfRXZlbnRUaWxlX2NvbnRlbnQgLm1hcmtkb3duLWJvZHkgaDMsXG4gICAgICAgIC5teF9FdmVudFRpbGVfY29udGVudCAubWFya2Rvd24tYm9keSBoNCxcbiAgICAgICAgLm14X0V2ZW50VGlsZV9jb250ZW50IC5tYXJrZG93bi1ib2R5IGg1LFxuICAgICAgICAubXhfRXZlbnRUaWxlX2NvbnRlbnQgLm1hcmtkb3duLWJvZHkgaDYge1xuICAgICAgICAgICAgZm9udC1mYW1pbHk6IGluaGVyaXQgIWltcG9ydGFudDtcbiAgICAgICAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgICB9XG5cbi8qIE1ha2UgaDEgYW5kIGgyIHRoZSBzYW1lIHNpemUgYXMgaDMuICovXG5cbi5teF9FdmVudFRpbGVfY29udGVudCAubWFya2Rvd24tYm9keSBoMSxcbiAgICAgICAgLm14X0V2ZW50VGlsZV9jb250ZW50IC5tYXJrZG93bi1ib2R5IGgyIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS41ZW07XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiBub25lICFpbXBvcnRhbnQ7IC8qIG92ZXJyaWRlIEdGTSAqL1xuICAgICAgICB9XG5cbi5teF9FdmVudFRpbGVfY29udGVudCAubWFya2Rvd24tYm9keSBhIHtcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1wcmltYXJ5LWNvbG9yKTtcbiAgICAgICAgfVxuXG4ubXhfRXZlbnRUaWxlX2NvbnRlbnQgLm1hcmtkb3duLWJvZHkgYmxvY2txdW90ZSB7XG4gICAgICAgICAgICBib3JkZXItbGVmdDogMnB4IHNvbGlkIHZhcigtLWNwZC1jb2xvci1ib3JkZXItaW50ZXJhY3RpdmUtcHJpbWFyeSk7XG4gICAgICAgICAgICBjb2xvcjogI2VkZjNmZjtcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1zZWNvbmRhcnktY29udGVudCwgI2VkZjNmZik7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAycHg7XG4gICAgICAgICAgICBwYWRkaW5nOiAwIDEwcHg7XG4gICAgICAgIH1cblxuLyogT3ZlcnJpZGUgbmVzdGVkIGxpc3RzIGJlaW5nIGxvd2VyLXJvbWFuICovXG5cbi5teF9FdmVudFRpbGVfY29udGVudCAubWFya2Rvd24tYm9keSBvbCBvbCxcbiAgICAgICAgLm14X0V2ZW50VGlsZV9jb250ZW50IC5tYXJrZG93bi1ib2R5IHVsIG9sIHtcbiAgICAgICAgICAgIGxpc3Qtc3R5bGUtdHlwZTogcmV2ZXJ0O1xuICAgICAgICB9XG5cbi8qIE1ha2UgbGlzdCB0eXBlIGRpc2MgdG8gbWF0Y2ggcmljaCB0ZXh0IGVkaXRvciAqL1xuXG4ubXhfRXZlbnRUaWxlX2NvbnRlbnQgLm1hcmtkb3duLWJvZHkgdWwge1xuICAgICAgICAgICAgbGlzdC1zdHlsZS10eXBlOiBkaXNjO1xuICAgICAgICB9XG5cbi8qIG92ZXJyaWRlIHN0eWxlcyBmcm9tIHRoZSBiYXNlIG1hcmtkb3duIENTUyB0aGF0IHB1dCBtYXJrZG93biBjb250ZW50IG9uIGl0cyBvd24gbGluZSxcbiAgICAgICAgICAgYXMgdGhpcyBpc24ndCB3aGF0IHdlIHdhbnQgZm9yIHJpY2h0ZXh0IGVtb3RlIGNvbnRlbnQuXG4gICAgICAgICAqL1xuXG4ubXhfRXZlbnRUaWxlX2NvbnRlbnQgLm1hcmtkb3duLWJvZHk6OmJlZm9yZSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG5cbi5teF9FdmVudFRpbGVfY29udGVudCAubWFya2Rvd24tYm9keTo6YWZ0ZXIge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuXG4vKiBTcG9pbGVyIHN0dWZmICovXG5cbi5teF9FdmVudFRpbGVfc3BvaWxlciB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgLyogY2xlYXIgYnV0dG9uIHN0eWxlcyAqL1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICAgICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgICAgICAgICBhcHBlYXJhbmNlOiBub25lO1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luOiAwO1xuICAgIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgICB0ZXh0LWFsaWduOiBpbmhlcml0O1xufVxuXG4ubXhfRXZlbnRUaWxlX3Nwb2lsZXIgLm14X0V2ZW50VGlsZV9zcG9pbGVyX3JlYXNvbiB7XG4gICAgICAgIGNvbG9yOiAjYTFiMmQxO1xuICAgICAgICBmb250LXNpemU6IDAuNjg3NXJlbTtcbiAgICB9XG5cbi5teF9FdmVudFRpbGVfc3BvaWxlciAubXhfRXZlbnRUaWxlX3Nwb2lsZXJfY29udGVudCB7XG4gICAgICAgIC13ZWJraXQtZmlsdGVyOiBibHVyKDVweCkgc2F0dXJhdGUoMC4xKSBzZXBpYSgxKTtcbiAgICAgICAgICAgICAgICBmaWx0ZXI6IGJsdXIoNXB4KSBzYXR1cmF0ZSgwLjEpIHNlcGlhKDEpO1xuICAgICAgICAtd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246IDAuNXM7XG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC41cztcbiAgICB9XG5cbi5teF9FdmVudFRpbGVfc3BvaWxlci52aXNpYmxlID4gLm14X0V2ZW50VGlsZV9zcG9pbGVyX2NvbnRlbnQge1xuICAgICAgICAtd2Via2l0LWZpbHRlcjogbm9uZTtcbiAgICAgICAgICAgICAgICBmaWx0ZXI6IG5vbmU7XG4gICAgICAgIC13ZWJraXQtdXNlci1zZWxlY3Q6IGF1dG87XG4gICAgICAgICAgIC1tb3otdXNlci1zZWxlY3Q6IGF1dG87XG4gICAgICAgICAgICAtbXMtdXNlci1zZWxlY3Q6IGF1dG87XG4gICAgICAgICAgICAgICAgdXNlci1zZWxlY3Q6IGF1dG87XG4gICAgfVxuXG4ubXhfRXZlbnRUaWxlX2JpZ0Vtb2ppIHtcbiAgICBmb250LXNpemU6IDQ4cHg7XG4gICAgbGluZS1oZWlnaHQ6IDU3cHg7XG59XG5cbi5teF9FdmVudFRpbGVfYmlnRW1vamkgLm14X0Vtb2ppIHtcbiAgICAgICAgZm9udC1zaXplOiBpbmhlcml0ICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4ubXhfRXZlbnRUaWxlX2UyZUljb24ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aWR0aDogMTRweDtcbiAgICBoZWlnaHQ6IDE0cHg7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG59XG5cbi5teF9FdmVudFRpbGVfZTJlSWNvbjo6YmVmb3JlLFxuICAgIC5teF9FdmVudFRpbGVfZTJlSWNvbjo6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBpbnNldDogMDtcbiAgICAgICAgLXdlYmtpdC1tYXNrLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgICAgICAgIG1hc2stcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgIC13ZWJraXQtbWFzay1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgICAgICAgICAgIG1hc2stcG9zaXRpb246IGNlbnRlcjtcbiAgICAgICAgLXdlYmtpdC1tYXNrLXNpemU6IGNvbnRhaW47XG4gICAgICAgICAgICAgICAgbWFzay1zaXplOiBjb250YWluO1xuICAgIH1cblxuLm14X0V2ZW50VGlsZV9lMmVJY29uOjpiZWZvcmUge1xuICAgICAgICAtd2Via2l0LW1hc2stc2l6ZTogODAlO1xuICAgICAgICAgICAgICAgIG1hc2stc2l6ZTogODAlO1xuICAgIH1cblxuLm14X0V2ZW50VGlsZV9lMmVJY29uLm14X0V2ZW50VGlsZV9lMmVJY29uX3dhcm5pbmc6OmFmdGVyIHtcbiAgICAgICAgLXdlYmtpdC1tYXNrLWltYWdlOiB1cmwoXCIuLi8uLi8uLi9pbWcvZTJlL3dhcm5pbmcuc3ZnXCIpO1xuICAgICAgICAgICAgICAgIG1hc2staW1hZ2U6IHVybChcIi4uLy4uLy4uL2ltZy9lMmUvd2FybmluZy5zdmdcIik7IC8qICghKSBpbiBhIHNoaWVsZCAqL1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmY1YjU1OyAvKiByZWQgKi9cbiAgICB9XG5cbi5teF9FdmVudFRpbGVfZTJlSWNvbi5teF9FdmVudFRpbGVfZTJlSWNvbl9ub3JtYWw6OmFmdGVyIHtcbiAgICAgICAgLXdlYmtpdC1tYXNrLWltYWdlOiB1cmwoXCIuLi8uLi8uLi9pbWcvZTJlL25vcm1hbC5zdmdcIik7XG4gICAgICAgICAgICAgICAgbWFzay1pbWFnZTogdXJsKFwiLi4vLi4vLi4vaW1nL2UyZS9ub3JtYWwuc3ZnXCIpOyAvKiByZWd1bGFyIHNoaWVsZCAqL1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jcGQtY29sb3ItaWNvbi10ZXJ0aWFyeSk7IC8qIGdyZXkgKi9cbiAgICB9XG5cbi5teF9FdmVudFRpbGVfZTJlSWNvbi5teF9FdmVudFRpbGVfZTJlSWNvbl9kZWNyeXB0aW9uX2ZhaWx1cmU6OmFmdGVyIHtcbiAgICAgICAgLXdlYmtpdC1tYXNrLWltYWdlOiB1cmwoXCIuLi8uLi8uLi9pbWcvZTJlL2RlY3J5cHRpb24tZmFpbHVyZS5zdmdcIik7XG4gICAgICAgICAgICAgICAgbWFzay1pbWFnZTogdXJsKFwiLi4vLi4vLi4vaW1nL2UyZS9kZWNyeXB0aW9uLWZhaWx1cmUuc3ZnXCIpOyAvKiBrZXkgaW4gYSBjaXJjbGUgKi9cbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY3BkLWNvbG9yLWljb24tdGVydGlhcnkpO1xuICAgIH1cblxuLm14X0V2ZW50VGlsZV9ib2R5IGE6aG92ZXIge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICB9XG5cbi5teF9FdmVudFRpbGVfYm9keSBwcmUge1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICB9XG5cbi5teF9FdmVudFRpbGU6aG92ZXIgLm14X0V2ZW50VGlsZV9ib2R5IHByZSxcbiAgICAgICAgLm14X0V2ZW50VGlsZTpmb2N1cy12aXNpYmxlOmZvY3VzLXdpdGhpbiAubXhfRXZlbnRUaWxlX2JvZHkgcHJlIHtcbiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNlZGYzZmY7XG4gICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS10ZXJ0aWFyeS1jb250ZW50LCAjZWRmM2ZmKTtcbiAgICAgICAgfVxuXG4vKiBzZWxlY3RvciB3cm9uZ2x5IGFwcGxpZXMgdG8gcGlsbCBhdmF0YXJzIGJ1dCB0aG9zZSBoYXZlIGV4cGxpY2l0IHdpZHRoL2hlaWdodCBwYXNzZWQgYXQgYSBoaWdoZXIgc3BlY2lmaWNpdHkgKi9cblxuLm14X0V2ZW50VGlsZV9ib2R5Lm1hcmtkb3duLWJvZHkgaW1nIHtcbiAgICAgICAgLW8tb2JqZWN0LWZpdDogY29udGFpbjtcbiAgICAgICAgICAgb2JqZWN0LWZpdDogY29udGFpbjtcbiAgICAgICAgLW8tb2JqZWN0LXBvc2l0aW9uOiBsZWZ0IHRvcDtcbiAgICAgICAgICAgb2JqZWN0LXBvc2l0aW9uOiBsZWZ0IHRvcDtcblxuICAgICAgICAvKiBPdmVycmlkZSB0aGUgZGVmYXVsdCBjb2xvcnMgb2YgdGhlICdnaXRodWItbWFya2Rvd24tY3NzJyBsaWJyYXJ5XG4gICAgICAgICgjZmZmIGZvciBsaWdodCB0aGVtZSwgIzAwMCBmb3IgZGFyayB0aGVtZSkgdG8gbWF0Y2ggdGhlIGluaGVyaXRlZCB0aGVtZSAqL1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBpbmhlcml0ICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4ubXhfRXZlbnRUaWxlX2NsYW1wIC5teF9FdmVudFRpbGVfYm9keSB7XG4gICAgICAgIC13ZWJraXQtbGluZS1jbGFtcDogMjtcbiAgICAgICAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICAgIH1cblxuLm14X0V2ZW50VGlsZV9ib2R5IC5teF9FdmVudFRpbGVfcHJlX2NvbnRhaW5lciB7XG4gICAgICAgIC8qIEZvciBjb3JyZWN0IHBvc2l0aW9uaW5nIG9mIF9jb3B5QnV0dG9uIChTZWUgVGV4dHVhbEJvZHkpICovXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB9XG5cbi5teF9FdmVudFRpbGVfYm9keSAubXhfRXZlbnRUaWxlX3ByZV9jb250YWluZXI6Zm9jdXMtd2l0aGluIC5teF9FdmVudFRpbGVfYnV0dG9uLCAubXhfRXZlbnRUaWxlX2JvZHkgLm14X0V2ZW50VGlsZV9wcmVfY29udGFpbmVyOmhvdmVyIC5teF9FdmVudFRpbGVfYnV0dG9uIHtcbiAgICAgICAgICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgICAgICAgICAgfVxuXG4ubXhfRXZlbnRUaWxlX2JvZHkgLm14X0V2ZW50VGlsZV9wcmVfY29udGFpbmVyIC5teF9FdmVudFRpbGVfY29sbGFwc2VkQ29kZUJsb2NrIHtcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IDMwdmg7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogMTJweDtcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAxMnB4O1xuICAgICAgICB9XG5cbi8qIEluc2VydGVkIGFkamFjZW50IHRvIDxwcmU+IGJsb2NrcywgKFNlZSBUZXh0dWFsQm9keSkgKi9cblxuLm14X0V2ZW50VGlsZV9ib2R5IC5teF9FdmVudFRpbGVfcHJlX2NvbnRhaW5lciAubXhfRXZlbnRUaWxlX2J1dHRvbiB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IDhweDtcbiAgICAgICAgICAgIHJpZ2h0OiA4cHg7XG4gICAgICAgICAgICB3aWR0aDogMTlweDtcbiAgICAgICAgICAgIGhlaWdodDogMTlweDtcbiAgICAgICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXRpbWVsaW5lLXRleHQtY29sb3IpO1xuICAgICAgICB9XG5cbi5teF9FdmVudFRpbGVfYm9keSAubXhfRXZlbnRUaWxlX3ByZV9jb250YWluZXIgLm14X0V2ZW50VGlsZV9idXR0b24ubXhfRXZlbnRUaWxlX2J1dHRvbkJvdHRvbSB7XG4gICAgICAgICAgICAgICAgdG9wOiAzM3B4O1xuICAgICAgICAgICAgfVxuXG4ubXhfRXZlbnRUaWxlX2JvZHkgLm14X0V2ZW50VGlsZV9wcmVfY29udGFpbmVyIC5teF9FdmVudFRpbGVfYnV0dG9uLm14X0V2ZW50VGlsZV9jb2xsYXBzZUJ1dHRvbixcbiAgICAgICAgICAgIC5teF9FdmVudFRpbGVfYm9keSAubXhfRXZlbnRUaWxlX3ByZV9jb250YWluZXIgLm14X0V2ZW50VGlsZV9idXR0b24ubXhfRXZlbnRUaWxlX2V4cGFuZEJ1dHRvbiB7XG4gICAgICAgICAgICAgICAgLXdlYmtpdC1tYXNrLXNpemU6IDc1JTtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hc2stc2l6ZTogNzUlO1xuICAgICAgICAgICAgfVxuXG4ubXhfRXZlbnRUaWxlX2JvZHkgLm14X0V2ZW50VGlsZV9wcmVfY29udGFpbmVyIC5teF9FdmVudFRpbGVfY29weUJ1dHRvbiB7XG4gICAgICAgICAgICBoZWlnaHQ6IDE3cHg7XG4gICAgICAgICAgICAtd2Via2l0LW1hc2staW1hZ2U6IHVybChcIkB2ZWN0b3ItaW0vY29tcG91bmQtZGVzaWduLXRva2Vucy9pY29ucy9jb3B5LnN2Z1wiKTtcbiAgICAgICAgICAgICAgICAgICAgbWFzay1pbWFnZTogdXJsKFwiQHZlY3Rvci1pbS9jb21wb3VuZC1kZXNpZ24tdG9rZW5zL2ljb25zL2NvcHkuc3ZnXCIpO1xuICAgICAgICAgICAgLXdlYmtpdC1tYXNrLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICBtYXNrLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuICAgICAgICAgICAgLXdlYmtpdC1tYXNrLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgICAgICAgICAgICBtYXNrLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgICAgLXdlYmtpdC1tYXNrLXNpemU6IGNvbnRhaW47XG4gICAgICAgICAgICAgICAgICAgIG1hc2stc2l6ZTogY29udGFpbjtcbiAgICAgICAgICAgIHJpZ2h0OiA5cHg7XG4gICAgICAgICAgICB3aWR0aDogMTdweDtcbiAgICAgICAgfVxuXG4ubXhfRXZlbnRUaWxlX2xpbmVOdW1iZXJzIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBtYXJnaW46IDAgMC41ZW0gMCAtMS41ZW07XG4gICAgY29sb3I6IGdyYXk7XG59XG5cbi5teF9FdmVudFRpbGVfbGluZU51bWJlcnMgc3BhbiB7XG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAxZW07XG4gICAgfVxuXG4ubXhfRXZlbnRUaWxlX2J1dHRvbiB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLm14X0V2ZW50VGlsZV9jb2xsYXBzZUJ1dHRvbixcbi5teF9FdmVudFRpbGVfZXhwYW5kQnV0dG9uIHtcbiAgICAtd2Via2l0LW1hc2stcG9zaXRpb246IGNlbnRlcjtcbiAgICAgICAgICAgIG1hc2stcG9zaXRpb246IGNlbnRlcjtcbiAgICAtd2Via2l0LW1hc2stcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgICBtYXNrLXJlcGVhdDogbm8tcmVwZWF0O1xufVxuXG4ubXhfRXZlbnRUaWxlX2NvbGxhcHNlQnV0dG9uIHtcbiAgICAtd2Via2l0LW1hc2staW1hZ2U6IHVybChcIkB2ZWN0b3ItaW0vY29tcG91bmQtZGVzaWduLXRva2Vucy9pY29ucy9jb2xsYXBzZS5zdmdcIik7XG4gICAgICAgICAgICBtYXNrLWltYWdlOiB1cmwoXCJAdmVjdG9yLWltL2NvbXBvdW5kLWRlc2lnbi10b2tlbnMvaWNvbnMvY29sbGFwc2Uuc3ZnXCIpO1xufVxuXG4ubXhfRXZlbnRUaWxlX2V4cGFuZEJ1dHRvbiB7XG4gICAgLXdlYmtpdC1tYXNrLWltYWdlOiB1cmwoXCJAdmVjdG9yLWltL2NvbXBvdW5kLWRlc2lnbi10b2tlbnMvaWNvbnMvZXhwYW5kLnN2Z1wiKTtcbiAgICAgICAgICAgIG1hc2staW1hZ2U6IHVybChcIkB2ZWN0b3ItaW0vY29tcG91bmQtZGVzaWduLXRva2Vucy9pY29ucy9leHBhbmQuc3ZnXCIpO1xufVxuXG4ubXhfRXZlbnRUaWxlX3RpbGVFcnJvciB7XG4gICAgY29sb3I6IHJlZDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAvKiBSZW1vdmUgc29tZSBvZiB0aGUgZGVmYXVsdCB0aWxlIHBhZGRpbmcgc28gdGhhdCB0aGUgZXJyb3IgaXMgY2VudGVyZWQgKi9cbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG59XG5cbi5teF9FdmVudFRpbGVfdGlsZUVycm9yIC5teF9FdmVudFRpbGVfbGluZSB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIH1cblxuLm14X0V2ZW50VGlsZV90aWxlRXJyb3IgLm14X0V2ZW50VGlsZV9saW5lIHNwYW4ge1xuICAgICAgICAgICAgcGFkZGluZzogNHB4IDhweDtcbiAgICAgICAgfVxuXG4ubXhfRXZlbnRUaWxlX3RpbGVFcnJvciBhIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDFlbTtcbiAgICB9XG5cbi5teF9FdmVudFRpbGU6aG92ZXIgLm14X01lc3NhZ2VBY3Rpb25CYXIsXG4ubXhfRXZlbnRUaWxlLm14X0V2ZW50VGlsZV9hY3Rpb25CYXJGb2N1c2VkIC5teF9NZXNzYWdlQWN0aW9uQmFyLFxuW2RhdGEtd2hhdGlucHV0PVwia2V5Ym9hcmRcIl0gLm14X0V2ZW50VGlsZTpmb2N1cy13aXRoaW4gLm14X01lc3NhZ2VBY3Rpb25CYXIsXG4ubXhfRXZlbnRUaWxlOmZvY3VzLXZpc2libGU6Zm9jdXMtd2l0aGluIC5teF9NZXNzYWdlQWN0aW9uQmFyIHtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xufVxuXG4ubXhfRXZlbnRUaWxlW2RhdGEtc2hhcGU9XCJUaHJlYWRzTGlzdFwiXSxcbi5teF9FdmVudFRpbGVbZGF0YS1zaGFwZT1cIk5vdGlmaWNhdGlvblwiXSB7XG4gICAgLS10b3BPZmZzZXQ6IDEycHg7XG4gICAgLS1sZWZ0T2Zmc2V0OiA0OHB4OyAvKiBub3RpZmljYXRpb24gZG90IG5leHQgdG8gdGhlIHRpbWVzdGFtcCAqL1xuXG4gICAgbWFyZ2luOiBjYWxjKDEycHggKyAxcHgpIDAgMTJweDtcblxuICAgIG1hcmdpbjogY2FsYyh2YXIoLS10b3BPZmZzZXQpICsgMXB4KSAwIHZhcigtLXRvcE9mZnNldCk7IC8qIGluY2x1ZGUgdGhlIGhlaWdodCBvZiBob3Jpem9udGFsIGxpbmUgKi9cbiAgICBwYWRkaW5nOiA4cHg7XG4gICAgYm9yZGVyLXJhZGl1czogOHB4O1xuXG4gICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG5cbiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcblxuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgLW1zLWZsZXgtZmxvdzogd3JhcDtcbiAgICAgICAgZmxleC1mbG93OiB3cmFwO1xuICAgIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG4ubXhfRXZlbnRUaWxlW2RhdGEtc2hhcGU9XCJUaHJlYWRzTGlzdFwiXTo6YWZ0ZXIsXG4gICAgLm14X0V2ZW50VGlsZVtkYXRhLXNoYXBlPVwiVGhyZWFkc0xpc3RcIl06OmJlZm9yZSxcbiAgICAubXhfRXZlbnRUaWxlW2RhdGEtc2hhcGU9XCJOb3RpZmljYXRpb25cIl06OmFmdGVyLFxuICAgIC5teF9FdmVudFRpbGVbZGF0YS1zaGFwZT1cIk5vdGlmaWNhdGlvblwiXTo6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIH1cblxuLm14X0V2ZW50VGlsZVtkYXRhLXNoYXBlPVwiVGhyZWFkc0xpc3RcIl06OmFmdGVyLCAubXhfRXZlbnRUaWxlW2RhdGEtc2hhcGU9XCJOb3RpZmljYXRpb25cIl06OmFmdGVyIHsgLyogZXhjbHVkZSB0aGUgaGVpZ2h0IG9mIGhvcml6b250YWwgbGluZSAqL1xuICAgICAgICBpbnNldDogYXV0byBjYWxjKC0xICogdmFyKC0tY3BkLXNwYWNlLTJ4KSkgY2FsYygtMSAqIHZhcigtLXRvcE9mZnNldCkgLSAxcHgpIGNhbGModmFyKC0tbGVmdE9mZnNldCkgKyA4cHgpO1xuXG4gICAgICAgIGhlaWdodDogMXB4O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNmY3ODgyO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1xdWluYXJ5LWNvbnRlbnQsICM2Zjc4ODIpO1xuICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTsgLyogZGlzYWJsZSB0aGUgbWVzc2FnZSBhY3Rpb24gYmFyIG9uIGhvdmVyICovXG4gICAgfVxuXG4ubXhfRXZlbnRUaWxlW2RhdGEtc2hhcGU9XCJUaHJlYWRzTGlzdFwiXTo6YmVmb3JlLCAubXhfRXZlbnRUaWxlW2RhdGEtc2hhcGU9XCJOb3RpZmljYXRpb25cIl06OmJlZm9yZSB7XG4gICAgICAgIGluc2V0OiAwO1xuICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTsgLyogZW5zdXJlcyB0aGUgdGl0bGUgZm9yIHRoZSBzZW5kZXIgbmFtZSBjYW4gYmUgY29ycmVjdGx5IGRpc3BsYXllZCAqL1xuICAgIH1cblxuLm14X0V2ZW50VGlsZVtkYXRhLXNoYXBlPVwiVGhyZWFkc0xpc3RcIl1bZGF0YS1ub3RpZmljYXRpb249XCJ0b3RhbFwiXTo6YmVmb3JlLCAubXhfRXZlbnRUaWxlW2RhdGEtc2hhcGU9XCJOb3RpZmljYXRpb25cIl1bZGF0YS1ub3RpZmljYXRpb249XCJ0b3RhbFwiXTo6YmVmb3JlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY3BkLWNvbG9yLWljb24tdGVydGlhcnkpO1xuICAgIH1cblxuLm14X0V2ZW50VGlsZVtkYXRhLXNoYXBlPVwiVGhyZWFkc0xpc3RcIl1bZGF0YS1ub3RpZmljYXRpb249XCJoaWdobGlnaHRcIl06OmJlZm9yZSwgLm14X0V2ZW50VGlsZVtkYXRhLXNoYXBlPVwiTm90aWZpY2F0aW9uXCJdW2RhdGEtbm90aWZpY2F0aW9uPVwiaGlnaGxpZ2h0XCJdOjpiZWZvcmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmY1YjU1O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1hbGVydCwgI2ZmNWI1NSk7XG4gICAgfVxuXG4ubXhfRXZlbnRUaWxlW2RhdGEtc2hhcGU9XCJUaHJlYWRzTGlzdFwiXTpsYXN0LWNoaWxkOjphZnRlciwgLm14X0V2ZW50VGlsZVtkYXRhLXNoYXBlPVwiTm90aWZpY2F0aW9uXCJdOmxhc3QtY2hpbGQ6OmFmdGVyIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IG5vcm1hbDtcbiAgICAgICAgICAgIGNvbnRlbnQ6IGluaXRpYWw7XG4gICAgICAgIH1cblxuLm14X0V2ZW50VGlsZVtkYXRhLXNoYXBlPVwiVGhyZWFkc0xpc3RcIl06bGFzdC1jaGlsZCwgLm14X0V2ZW50VGlsZVtkYXRhLXNoYXBlPVwiTm90aWZpY2F0aW9uXCJdOmxhc3QtY2hpbGQge1xuXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi5teF9FdmVudFRpbGVbZGF0YS1zaGFwZT1cIlRocmVhZHNMaXN0XCJdOmZpcnN0LWNoaWxkLCAubXhfRXZlbnRUaWxlW2RhdGEtc2hhcGU9XCJOb3RpZmljYXRpb25cIl06Zmlyc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgIH1cblxuLm14X0V2ZW50VGlsZVtkYXRhLXNoYXBlPVwiVGhyZWFkc0xpc3RcIl0gLm14X0V2ZW50VGlsZV9hdmF0YXIsIC5teF9FdmVudFRpbGVbZGF0YS1zaGFwZT1cIk5vdGlmaWNhdGlvblwiXSAubXhfRXZlbnRUaWxlX2F2YXRhciB7XG4gICAgICAgIGluc2V0OiA4cHggYXV0byBhdXRvIDhweDtcbiAgICB9XG5cbi5teF9FdmVudFRpbGVbZGF0YS1zaGFwZT1cIlRocmVhZHNMaXN0XCJdIC5teF9FdmVudFRpbGVfZGV0YWlscywgLm14X0V2ZW50VGlsZVtkYXRhLXNoYXBlPVwiTm90aWZpY2F0aW9uXCJdIC5teF9FdmVudFRpbGVfZGV0YWlscyB7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgfVxuXG4ubXhfRXZlbnRUaWxlW2RhdGEtc2hhcGU9XCJUaHJlYWRzTGlzdFwiXSAubXhfRGlzYW1iaWd1YXRlZFByb2ZpbGUsIC5teF9FdmVudFRpbGVbZGF0YS1zaGFwZT1cIk5vdGlmaWNhdGlvblwiXSAubXhfRGlzYW1iaWd1YXRlZFByb2ZpbGUge1xuICAgICAgICBkaXNwbGF5OiAtd2Via2l0LWlubGluZS1ib3g7XG4gICAgICAgIGRpc3BsYXk6IC1tcy1pbmxpbmUtZmxleGJveDtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIC13ZWJraXQtYm94LWZsZXg6IDE7XG4gICAgICAgICAgICAtbXMtZmxleDogMTtcbiAgICAgICAgICAgICAgICBmbGV4OiAxO1xuICAgIH1cblxuLm14X0V2ZW50VGlsZVtkYXRhLXNoYXBlPVwiVGhyZWFkc0xpc3RcIl0gLm14X0Rpc2FtYmlndWF0ZWRQcm9maWxlIC5teF9EaXNhbWJpZ3VhdGVkUHJvZmlsZV9kaXNwbGF5TmFtZSxcbiAgICAgICAgLm14X0V2ZW50VGlsZVtkYXRhLXNoYXBlPVwiVGhyZWFkc0xpc3RcIl0gLm14X0Rpc2FtYmlndWF0ZWRQcm9maWxlIC5teF9EaXNhbWJpZ3VhdGVkUHJvZmlsZV9teGlkLFxuICAgICAgICAubXhfRXZlbnRUaWxlW2RhdGEtc2hhcGU9XCJOb3RpZmljYXRpb25cIl0gLm14X0Rpc2FtYmlndWF0ZWRQcm9maWxlIC5teF9EaXNhbWJpZ3VhdGVkUHJvZmlsZV9kaXNwbGF5TmFtZSxcbiAgICAgICAgLm14X0V2ZW50VGlsZVtkYXRhLXNoYXBlPVwiTm90aWZpY2F0aW9uXCJdIC5teF9EaXNhbWJpZ3VhdGVkUHJvZmlsZSAubXhfRGlzYW1iaWd1YXRlZFByb2ZpbGVfbXhpZCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICAgICAgfVxuXG4ubXhfRXZlbnRUaWxlW2RhdGEtc2hhcGU9XCJUaHJlYWRzTGlzdFwiXSAubXhfRGlzYW1iaWd1YXRlZFByb2ZpbGUgLm14X0Rpc2FtYmlndWF0ZWRQcm9maWxlX2Rpc3BsYXlOYW1lLCAubXhfRXZlbnRUaWxlW2RhdGEtc2hhcGU9XCJOb3RpZmljYXRpb25cIl0gLm14X0Rpc2FtYmlndWF0ZWRQcm9maWxlIC5teF9EaXNhbWJpZ3VhdGVkUHJvZmlsZV9kaXNwbGF5TmFtZSB7XG4gICAgICAgICAgICAtd2Via2l0LWJveC1mbGV4OiAwO1xuICAgICAgICAgICAgICAgIC1tcy1mbGV4OiBub25lO1xuICAgICAgICAgICAgICAgICAgICBmbGV4OiBub25lO1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICB9XG5cbi5teF9FdmVudFRpbGVbZGF0YS1zaGFwZT1cIlRocmVhZHNMaXN0XCJdIC5teF9EaXNhbWJpZ3VhdGVkUHJvZmlsZSAubXhfRGlzYW1iaWd1YXRlZFByb2ZpbGVfbXhpZCwgLm14X0V2ZW50VGlsZVtkYXRhLXNoYXBlPVwiTm90aWZpY2F0aW9uXCJdIC5teF9EaXNhbWJpZ3VhdGVkUHJvZmlsZSAubXhfRGlzYW1iaWd1YXRlZFByb2ZpbGVfbXhpZCB7XG4gICAgICAgICAgICAtd2Via2l0LWJveC1mbGV4OiAxO1xuICAgICAgICAgICAgICAgIC1tcy1mbGV4OiAxO1xuICAgICAgICAgICAgICAgICAgICBmbGV4OiAxO1xuICAgICAgICB9XG5cbi5teF9FdmVudFRpbGVbZGF0YS1zaGFwZT1cIlRocmVhZHNMaXN0XCJdIC5teF9FdmVudFRpbGVfbGluZSwgLm14X0V2ZW50VGlsZVtkYXRhLXNoYXBlPVwiTm90aWZpY2F0aW9uXCJdIC5teF9FdmVudFRpbGVfbGluZSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgICAgIC13ZWJraXQtcGFkZGluZy1zdGFydDogdmFyKC0tbGVmdE9mZnNldCk7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1pbmxpbmUtc3RhcnQ6IHZhcigtLWxlZnRPZmZzZXQpO1xuICAgIH1cblxuLm14X0V2ZW50VGlsZVtkYXRhLXNoYXBlPVwiVGhyZWFkc0xpc3RcIl0gLm14X01lc3NhZ2VUaW1lc3RhbXAsIC5teF9FdmVudFRpbGVbZGF0YS1zaGFwZT1cIk5vdGlmaWNhdGlvblwiXSAubXhfTWVzc2FnZVRpbWVzdGFtcCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIHdpZHRoOiBpbml0aWFsOyAvKiBDYW5jZWwgdGhlIGRlZmF1bHQgd2lkdGggKi9cbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsgLyogZW5zdXJlIGNvcnJlY3Qgb3ZlcmZsb3cgYmVoYXZpb3IgKi9cbiAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgICAgIHBvc2l0aW9uOiBpbml0aWFsO1xuICAgICAgICBtYXJnaW4tbGVmdDogYXV0bzsgLyogdG8gZW5zdXJlIGl0J3MgZW5kLWFsaWduZWQgZXZlbiBpZiBpdCdzIHRoZSBvbmx5IGVsZW1lbnQgb2YgaXRzIHBhcmVudCAqL1xuICAgIH1cblxuLm14X0V2ZW50VGlsZVtkYXRhLXNoYXBlPVwiVGhyZWFkc0xpc3RcIl06aG92ZXIsIC5teF9FdmVudFRpbGVbZGF0YS1zaGFwZT1cIk5vdGlmaWNhdGlvblwiXTpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXBhbmVscywgdmFyKC0tY3BkLWNvbG9yLWdyYXktNjAwKSk7XG4gICAgfVxuXG4vKiBUaHJlYWRzTGlzdCBoYXMgYWx3YXlzIGdyb3VwIGxheW91dCAqL1xuXG4ubXhfRXZlbnRUaWxlW2RhdGEtc2hhcGU9XCJUaHJlYWRzTGlzdFwiXVtkYXRhLWxheW91dD1cImdyb3VwXCJdOmhvdmVyIC5teF9FdmVudFRpbGVfbGluZSwgLm14X0V2ZW50VGlsZVtkYXRhLXNoYXBlPVwiTm90aWZpY2F0aW9uXCJdW2RhdGEtbGF5b3V0PVwiZ3JvdXBcIl06aG92ZXIgLm14X0V2ZW50VGlsZV9saW5lIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IGluaGVyaXQ7XG4gICAgICAgICAgICAtd2Via2l0LWJveC1zaGFkb3c6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7IC8qIGRvbid0IHNob3cgdGhlIHZlcmlmaWNhdGlvbiBsZWZ0IHN0cm9rZSBpbiB0aGUgdGhyZWFkIGxpc3QgKi9cbiAgICAgICAgfVxuXG4ubXhfRXZlbnRUaWxlW2RhdGEtc2hhcGU9XCJUaHJlYWRzTGlzdFwiXSAubXhfVGhyZWFkUGFuZWxfcmVwbGllcyB7XG4gICAgICAgIG1hcmdpbi10b3A6IDhweDtcbiAgICAgICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gICAgICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGZvbnQ6IHZhcigtLWNwZC1mb250LWJvZHktc20tcmVndWxhcik7XG4gICAgfVxuXG4ubXhfRXZlbnRUaWxlW2RhdGEtc2hhcGU9XCJUaHJlYWRzTGlzdFwiXSAubXhfVGhyZWFkUGFuZWxfcmVwbGllczo6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAtd2Via2l0LW1hc2staW1hZ2U6IHVybChcIkB2ZWN0b3ItaW0vY29tcG91bmQtZGVzaWduLXRva2Vucy9pY29ucy90aHJlYWRzLnN2Z1wiKTtcbiAgICAgICAgICAgICAgICAgICAgbWFzay1pbWFnZTogdXJsKFwiQHZlY3Rvci1pbS9jb21wb3VuZC1kZXNpZ24tdG9rZW5zL2ljb25zL3RocmVhZHMuc3ZnXCIpO1xuICAgICAgICAgICAgLXdlYmtpdC1tYXNrLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgIG1hc2stcG9zaXRpb246IGNlbnRlcjtcbiAgICAgICAgICAgIC13ZWJraXQtbWFzay1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgICAgICAgICAgICAgbWFzay1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgICAgIC13ZWJraXQtbWFzay1zaXplOiBjb250YWluO1xuICAgICAgICAgICAgICAgICAgICBtYXNrLXNpemU6IGNvbnRhaW47XG4gICAgICAgICAgICBoZWlnaHQ6IDE4cHg7XG4gICAgICAgICAgICBtaW4td2lkdGg6IDE4cHg7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pY29uLWJ1dHRvbi1jb2xvciwgdmFyKC0tY3BkLWNvbG9yLWljb24tdGVydGlhcnkpKSAhaW1wb3J0YW50O1xuICAgICAgICB9XG5cbi5teF9FdmVudFRpbGVbZGF0YS1zaGFwZT1cIlRocmVhZHNMaXN0XCJdIC5teF9UaHJlYWRQYW5lbF9yZXBsaWVzIC5teF9UaHJlYWRQYW5lbF9yZXBsaWVzX2Ftb3VudCB7XG4gICAgICAgICAgICBjb2xvcjogI2VkZjNmZjtcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1zZWNvbmRhcnktY29udGVudCwgI2VkZjNmZik7XG4gICAgICAgICAgICBmb250LXdlaWdodDogdmFyKC0tY3BkLWZvbnQtd2VpZ2h0LXNlbWlib2xkKTtcbiAgICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICBwYWRkaW5nOiAwIDEycHggMCA4cHg7XG4gICAgICAgIH1cblxuLm14X0V2ZW50VGlsZVtkYXRhLXNoYXBlPVwiVGhyZWFkc0xpc3RcIl0gLm14X1RocmVhZFBhbmVsX3JlcGxpZXMgLm14X1RocmVhZFN1bW1hcnlfY29udGVudCB7XG4gICAgICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICB9XG5cbi8qIEZvciBzdHlsZSBydWxlcyBvZiBUaHJlYWRWaWV3LCBzZWUgX1RocmVhZFBhbmVsLnBjc3MgKi9cblxuLm14X1RocmVhZFZpZXcge1xuICAgIC0tVGhyZWFkVmlld19ncm91cF9zcGFjaW5nLXN0YXJ0OiA1NnB4OyAvKiA1NnB4OiA2NHB4IC0gOHB4IChwYWRkaW5nKSAqL1xuICAgIC0tVGhyZWFkVmlld19ncm91cF9zcGFjaW5nLWVuZDogOHB4O1xufVxuXG4vKiBzYW1lIGFzIHBhZGRpbmcgKi9cblxuLm14X1RocmVhZFZpZXcgLm14X0V2ZW50VGlsZSB7XG4gICAgICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICAgICAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcbiAgICAgICAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiBub3JtYWw7XG4gICAgICAgICAgICAtbXMtZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIH1cblxuLm14X1RocmVhZFZpZXcgLm14X0V2ZW50VGlsZSAubXhfRXZlbnRUaWxlX3Jvb21OYW1lIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cblxuLyogaGFuZGxpbmcgZm9yIGhpZGRlbiBldmVudHMgKGUuZyByZWFjdGlvbnMpIGluIHRoZSB0aHJlYWQgdmlldyAqL1xuXG4ubXhfVGhyZWFkVmlldyAubXhfRXZlbnRUaWxlLm14X0V2ZW50VGlsZV9pbmZvIC5teF9FdmVudFRpbGVfYXZhdGFyIHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgdG9wOiAxLjVweDsgLyogQWxpZ24gd2l0aCBoaWRkZW4gZXZlbnQgY29udGVudCAqL1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTRweDsgLyogYXZhdGFyIGltZyBzaXplICovXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxNHB4OyAvKiBhdmF0YXIgaW1nIHNpemUgKi9cbiAgICAgICAgICAgIH1cblxuLm14X1RocmVhZFZpZXcgLm14X0V2ZW50VGlsZS5teF9FdmVudFRpbGVfaW5mby5teF9FdmVudFRpbGVfc2VsZWN0ZWQgLm14X0V2ZW50VGlsZV9saW5lLFxuICAgICAgICAgICAgLm14X1RocmVhZFZpZXcgLm14X0V2ZW50VGlsZS5teF9FdmVudFRpbGVfaW5mbyAubXhfRXZlbnRUaWxlX2xpbmUge1xuXG4gICAgICAgICAgICAgICAgLXdlYmtpdC1wYWRkaW5nLXN0YXJ0OiAwO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWlubGluZS1zdGFydDogMDtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMC43NXJlbTtcbiAgICAgICAgICAgIH1cblxuLm14X1RocmVhZFZpZXcgLm14X0V2ZW50VGlsZS5teF9FdmVudFRpbGVfaW5mby5teF9FdmVudFRpbGVfc2VsZWN0ZWQgLm14X0V2ZW50VGlsZV9saW5lIC5teF9FdmVudFRpbGVfY29udGVudCxcbiAgICAgICAgICAgICAgICAubXhfVGhyZWFkVmlldyAubXhfRXZlbnRUaWxlLm14X0V2ZW50VGlsZV9pbmZvLm14X0V2ZW50VGlsZV9zZWxlY3RlZCAubXhfRXZlbnRUaWxlX2xpbmUgLm14X1JlZGFjdGVkQm9keSxcbiAgICAgICAgICAgICAgICAubXhfVGhyZWFkVmlldyAubXhfRXZlbnRUaWxlLm14X0V2ZW50VGlsZV9pbmZvIC5teF9FdmVudFRpbGVfbGluZSAubXhfRXZlbnRUaWxlX2NvbnRlbnQsXG4gICAgICAgICAgICAgICAgLm14X1RocmVhZFZpZXcgLm14X0V2ZW50VGlsZS5teF9FdmVudFRpbGVfaW5mbyAubXhfRXZlbnRUaWxlX2xpbmUgLm14X1JlZGFjdGVkQm9keSB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDAuNzVyZW07XG4gICAgICAgICAgICAgICAgfVxuXG4ubXhfVGhyZWFkVmlldyAubXhfRXZlbnRUaWxlLm14X0V2ZW50VGlsZV9pbmZvW2RhdGEtbGF5b3V0PVwiaXJjXCJdLFxuICAgICAgICAgICAgLm14X1RocmVhZFZpZXcgLm14X0V2ZW50VGlsZS5teF9FdmVudFRpbGVfaW5mb1tkYXRhLWxheW91dD1cImdyb3VwXCJdIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICAgICAgICAgIH1cblxuLm14X1RocmVhZFZpZXcgLm14X0V2ZW50VGlsZS5teF9FdmVudFRpbGVfaW5mb1tkYXRhLWxheW91dD1cImlyY1wiXSAubXhfRXZlbnRUaWxlX2F2YXRhciwgLm14X1RocmVhZFZpZXcgLm14X0V2ZW50VGlsZS5teF9FdmVudFRpbGVfaW5mb1tkYXRhLWxheW91dD1cImdyb3VwXCJdIC5teF9FdmVudFRpbGVfYXZhdGFyIHtcbiAgICAgICAgICAgICAgICAgICAgLyogMTRweDogYXZhdGFyIHdpZHRoLCA0cHg6IGFsaWduIHdpdGggdGV4dCAqL1xuICAgICAgICAgICAgICAgICAgICBsZWZ0OiBjYWxjKDQ2cHggKyAxNHB4IC0gNHB4KTtcbiAgICAgICAgICAgICAgICAgICAgbGVmdDogY2FsYyh2YXIoLS1NZXNzYWdlVGltZXN0YW1wLXdpZHRoKSArIDE0cHggLSA0cHgpO1xuICAgICAgICAgICAgICAgICAgICB6LWluZGV4OiA5OyAvKiBwb3NpdGlvbiBhYm92ZSB0aGUgaG92ZXIgc3R5bGluZyAqL1xuICAgICAgICAgICAgICAgIH1cblxuLm14X1RocmVhZFZpZXcgLm14X0V2ZW50VGlsZS5teF9FdmVudFRpbGVfaW5mb1tkYXRhLWxheW91dD1cImlyY1wiXSAubXhfTWVzc2FnZVRpbWVzdGFtcCwgLm14X1RocmVhZFZpZXcgLm14X0V2ZW50VGlsZS5teF9FdmVudFRpbGVfaW5mb1tkYXRhLWxheW91dD1cImdyb3VwXCJdIC5teF9NZXNzYWdlVGltZXN0YW1wIHtcbiAgICAgICAgICAgICAgICAgICAgdG9wOiAycHg7IC8qIEFsaWduIHdpdGggYXZhdGFyICovXG4gICAgICAgICAgICAgICAgfVxuXG4ubXhfVGhyZWFkVmlldyAubXhfRXZlbnRUaWxlLm14X0V2ZW50VGlsZV9pbmZvW2RhdGEtbGF5b3V0PVwiaXJjXCJdLm14X0V2ZW50VGlsZV9zZWxlY3RlZCAubXhfRXZlbnRUaWxlX2xpbmUgLm14X0V2ZW50VGlsZV9jb250ZW50LFxuICAgICAgICAgICAgICAgICAgICAubXhfVGhyZWFkVmlldyAubXhfRXZlbnRUaWxlLm14X0V2ZW50VGlsZV9pbmZvW2RhdGEtbGF5b3V0PVwiaXJjXCJdLm14X0V2ZW50VGlsZV9zZWxlY3RlZCAubXhfRXZlbnRUaWxlX2xpbmUgLm14X1JlZGFjdGVkQm9keSxcbiAgICAgICAgICAgICAgICAgICAgLm14X1RocmVhZFZpZXcgLm14X0V2ZW50VGlsZS5teF9FdmVudFRpbGVfaW5mb1tkYXRhLWxheW91dD1cImlyY1wiXSAubXhfRXZlbnRUaWxlX2xpbmUgLm14X0V2ZW50VGlsZV9jb250ZW50LFxuICAgICAgICAgICAgICAgICAgICAubXhfVGhyZWFkVmlldyAubXhfRXZlbnRUaWxlLm14X0V2ZW50VGlsZV9pbmZvW2RhdGEtbGF5b3V0PVwiaXJjXCJdIC5teF9FdmVudFRpbGVfbGluZSAubXhfUmVkYWN0ZWRCb2R5LFxuICAgICAgICAgICAgICAgICAgICAubXhfVGhyZWFkVmlldyAubXhfRXZlbnRUaWxlLm14X0V2ZW50VGlsZV9pbmZvW2RhdGEtbGF5b3V0PVwiZ3JvdXBcIl0ubXhfRXZlbnRUaWxlX3NlbGVjdGVkIC5teF9FdmVudFRpbGVfbGluZSAubXhfRXZlbnRUaWxlX2NvbnRlbnQsXG4gICAgICAgICAgICAgICAgICAgIC5teF9UaHJlYWRWaWV3IC5teF9FdmVudFRpbGUubXhfRXZlbnRUaWxlX2luZm9bZGF0YS1sYXlvdXQ9XCJncm91cFwiXS5teF9FdmVudFRpbGVfc2VsZWN0ZWQgLm14X0V2ZW50VGlsZV9saW5lIC5teF9SZWRhY3RlZEJvZHksXG4gICAgICAgICAgICAgICAgICAgIC5teF9UaHJlYWRWaWV3IC5teF9FdmVudFRpbGUubXhfRXZlbnRUaWxlX2luZm9bZGF0YS1sYXlvdXQ9XCJncm91cFwiXSAubXhfRXZlbnRUaWxlX2xpbmUgLm14X0V2ZW50VGlsZV9jb250ZW50LFxuICAgICAgICAgICAgICAgICAgICAubXhfVGhyZWFkVmlldyAubXhfRXZlbnRUaWxlLm14X0V2ZW50VGlsZV9pbmZvW2RhdGEtbGF5b3V0PVwiZ3JvdXBcIl0gLm14X0V2ZW50VGlsZV9saW5lIC5teF9SZWRhY3RlZEJvZHkge1xuICAgICAgICAgICAgICAgICAgICAgICAgLyogMTRweDogYXZhdGFyIHdpZHRoLCA2cHg6IDIwcHggLSAxNHB4ICovXG4gICAgICAgICAgICAgICAgICAgICAgICAtd2Via2l0LW1hcmdpbi1zdGFydDogY2FsYygxNHB4ICsgNnB4KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWlubGluZS1zdGFydDogY2FsYygxNHB4ICsgNnB4KTtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4ubXhfVGhyZWFkVmlldyAubXhfRXZlbnRUaWxlLm14X0V2ZW50VGlsZV9pbmZvW2RhdGEtbGF5b3V0PVwiYnViYmxlXCJdIC5teF9FdmVudFRpbGVfYXZhdGFyIHtcbiAgICAgICAgICAgICAgICAgICAgaW5zZXQtaW5saW5lLXN0YXJ0OiAwO1xuICAgICAgICAgICAgICAgIH1cblxuLm14X1RocmVhZFZpZXcgLm14X0V2ZW50VGlsZS5teF9FdmVudFRpbGVfaW5mb1tkYXRhLWxheW91dD1cImJ1YmJsZVwiXS5teF9FdmVudFRpbGVfc2VsZWN0ZWQgLm14X0V2ZW50VGlsZV9saW5lIC5teF9FdmVudFRpbGVfY29udGVudCxcbiAgICAgICAgICAgICAgICAgICAgLm14X1RocmVhZFZpZXcgLm14X0V2ZW50VGlsZS5teF9FdmVudFRpbGVfaW5mb1tkYXRhLWxheW91dD1cImJ1YmJsZVwiXS5teF9FdmVudFRpbGVfc2VsZWN0ZWQgLm14X0V2ZW50VGlsZV9saW5lIC5teF9SZWRhY3RlZEJvZHksXG4gICAgICAgICAgICAgICAgICAgIC5teF9UaHJlYWRWaWV3IC5teF9FdmVudFRpbGUubXhfRXZlbnRUaWxlX2luZm9bZGF0YS1sYXlvdXQ9XCJidWJibGVcIl0gLm14X0V2ZW50VGlsZV9saW5lIC5teF9FdmVudFRpbGVfY29udGVudCxcbiAgICAgICAgICAgICAgICAgICAgLm14X1RocmVhZFZpZXcgLm14X0V2ZW50VGlsZS5teF9FdmVudFRpbGVfaW5mb1tkYXRhLWxheW91dD1cImJ1YmJsZVwiXSAubXhfRXZlbnRUaWxlX2xpbmUgLm14X1JlZGFjdGVkQm9keSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAtd2Via2l0LW1hcmdpbi1zdGFydDogY2FsYyh2YXIoLS1UaHJlYWRWaWV3X2dyb3VwX3NwYWNpbmctc3RhcnQpICsgMTRweCArIDZweCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1pbmxpbmUtc3RhcnQ6IGNhbGModmFyKC0tVGhyZWFkVmlld19ncm91cF9zcGFjaW5nLXN0YXJ0KSArIDE0cHggKyA2cHgpO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbi5teF9UaHJlYWRWaWV3IC5teF9FdmVudFRpbGVbZGF0YS1sYXlvdXQ9XCJpcmNcIl0sXG4gICAgICAgIC5teF9UaHJlYWRWaWV3IC5teF9FdmVudFRpbGVbZGF0YS1sYXlvdXQ9XCJncm91cFwiXSB7XG4gICAgICAgICAgICAtd2Via2l0LXBhZGRpbmctYmVmb3JlOiAxNnB4O1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWJsb2NrLXN0YXJ0OiAxNnB4O1xuICAgICAgICB9XG5cbi5teF9UaHJlYWRWaWV3IC5teF9FdmVudFRpbGVbZGF0YS1sYXlvdXQ9XCJpcmNcIl0gLm14X0V2ZW50VGlsZV9saW5lLFxuICAgICAgICAgICAgLm14X1RocmVhZFZpZXcgLm14X0V2ZW50VGlsZVtkYXRhLWxheW91dD1cImlyY1wiXSAubXhfRXZlbnRUaWxlX2Zvb3RlcixcbiAgICAgICAgICAgIC5teF9UaHJlYWRWaWV3IC5teF9FdmVudFRpbGVbZGF0YS1sYXlvdXQ9XCJncm91cFwiXSAubXhfRXZlbnRUaWxlX2xpbmUsXG4gICAgICAgICAgICAubXhfVGhyZWFkVmlldyAubXhfRXZlbnRUaWxlW2RhdGEtbGF5b3V0PVwiZ3JvdXBcIl0gLm14X0V2ZW50VGlsZV9mb290ZXIge1xuICAgICAgICAgICAgICAgIC13ZWJraXQtbWFyZ2luLWVuZDogdmFyKC0tVGhyZWFkVmlld19ncm91cF9zcGFjaW5nLWVuZCk7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4taW5saW5lLWVuZDogdmFyKC0tVGhyZWFkVmlld19ncm91cF9zcGFjaW5nLWVuZCk7XG4gICAgICAgICAgICB9XG5cbi5teF9UaHJlYWRWaWV3IC5teF9FdmVudFRpbGVbZGF0YS1sYXlvdXQ9XCJpcmNcIl0gLm14X0V2ZW50VGlsZV9saW5lLCAubXhfVGhyZWFkVmlldyAubXhfRXZlbnRUaWxlW2RhdGEtbGF5b3V0PVwiZ3JvdXBcIl0gLm14X0V2ZW50VGlsZV9saW5lIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWJsb2NrOiB2YXIoLS1CYXNlQ2FyZF9FdmVudFRpbGVfbGluZS1wYWRkaW5nLWJsb2NrKTtcblxuICAgICAgICAgICAgICAgIC8qIEFkZCBwYWRkaW5nIHRvIGFsaWduIG1lc3NhZ2UgdGV4dCB3aXRoIHN1bW1hcnkgdGV4dCAqL1xuICAgICAgICAgICAgICAgIC8qIFNlZTogLm14X0V2ZW50VGlsZVtkYXRhLWxheW91dD1cImdyb3VwXCJdIC5teF9FdmVudFRpbGVfbGluZSAqL1xuICAgICAgICAgICAgICAgIC13ZWJraXQtcGFkZGluZy1zdGFydDogdmFyKC0tVGhyZWFkVmlld19ncm91cF9zcGFjaW5nLXN0YXJ0KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctaW5saW5lLXN0YXJ0OiB2YXIoLS1UaHJlYWRWaWV3X2dyb3VwX3NwYWNpbmctc3RhcnQpO1xuICAgICAgICAgICAgfVxuXG4ubXhfVGhyZWFkVmlldyAubXhfRXZlbnRUaWxlW2RhdGEtbGF5b3V0PVwiaXJjXCJdIC5teF9FdmVudFRpbGVfbGluZSAubXhfRXZlbnRUaWxlX2NvbnRlbnQubXhfRWRpdE1lc3NhZ2VDb21wb3NlciwgLm14X1RocmVhZFZpZXcgLm14X0V2ZW50VGlsZVtkYXRhLWxheW91dD1cImdyb3VwXCJdIC5teF9FdmVudFRpbGVfbGluZSAubXhfRXZlbnRUaWxlX2NvbnRlbnQubXhfRWRpdE1lc3NhZ2VDb21wb3NlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICAtd2Via2l0LXBhZGRpbmctc3RhcnQ6IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctaW5saW5lLXN0YXJ0OiAwOyAvKiBhbGlnbiBzdGFydCBvZiBmaXJzdCBsZXR0ZXIgd2l0aCB0aGF0IG9mIHRoZSBldmVudCBib2R5ICovXG4gICAgICAgICAgICAgICAgICAgIH1cblxuLm14X1RocmVhZFZpZXcgLm14X0V2ZW50VGlsZVtkYXRhLWxheW91dD1cImlyY1wiXSAubXhfRXZlbnRUaWxlX2Zvb3RlciwgLm14X1RocmVhZFZpZXcgLm14X0V2ZW50VGlsZVtkYXRhLWxheW91dD1cImdyb3VwXCJdIC5teF9FdmVudFRpbGVfZm9vdGVyIHtcbiAgICAgICAgICAgICAgICAvKiBBbGlnbiB3aXRoIG1lc3NhZ2UgdGV4dCBhbmQgc3VtbWFyeSB0ZXh0ICovXG4gICAgICAgICAgICAgICAgLXdlYmtpdC1tYXJnaW4tc3RhcnQ6IHZhcigtLVRocmVhZFZpZXdfZ3JvdXBfc3BhY2luZy1zdGFydCk7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4taW5saW5lLXN0YXJ0OiB2YXIoLS1UaHJlYWRWaWV3X2dyb3VwX3NwYWNpbmctc3RhcnQpO1xuICAgICAgICAgICAgfVxuXG4ubXhfVGhyZWFkVmlldyAubXhfRXZlbnRUaWxlW2RhdGEtbGF5b3V0PVwiaXJjXCJdLm14X0V2ZW50VGlsZV9jb250aW51YXRpb24sIC5teF9UaHJlYWRWaWV3IC5teF9FdmVudFRpbGVbZGF0YS1sYXlvdXQ9XCJncm91cFwiXS5teF9FdmVudFRpbGVfY29udGludWF0aW9uIHtcbiAgICAgICAgICAgICAgICAtd2Via2l0LXBhZGRpbmctYmVmb3JlOiAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1ibG9jay1zdGFydDogMDsgLyogQ2FuY2VsIHBhZGRpbmctYmxvY2stc3RhcnQgKi9cbiAgICAgICAgICAgIH1cblxuLm14X1RocmVhZFZpZXcgLm14X0V2ZW50VGlsZVtkYXRhLWxheW91dD1cImdyb3VwXCJdIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG5cbi5teF9UaHJlYWRWaWV3IC5teF9FdmVudFRpbGVbZGF0YS1sYXlvdXQ9XCJncm91cFwiXSAubXhfRXZlbnRUaWxlX3NlbmRlckRldGFpbHMge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgZ2FwOiAxNnB4OyAvKiBnYXAgYmV0d2VlbiB0aGUgYXZhdGFyIGFuZCB0aGUgc2VuZGVyIElEICovXG4gICAgICAgICAgICAgICAgLXdlYmtpdC1wYWRkaW5nLXN0YXJ0OiA4cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWlubGluZS1zdGFydDogOHB4O1xuICAgICAgICAgICAgfVxuXG4ubXhfVGhyZWFkVmlldyAubXhfRXZlbnRUaWxlW2RhdGEtbGF5b3V0PVwiZ3JvdXBcIl0gLm14X0V2ZW50VGlsZV9zZW5kZXJEZXRhaWxzIGEge1xuICAgICAgICAgICAgICAgICAgICAtd2Via2l0LWJveC1mbGV4OiAxO1xuICAgICAgICAgICAgICAgICAgICAgICAgLW1zLWZsZXg6IDE7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZmxleDogMTtcbiAgICAgICAgICAgICAgICAgICAgbWluLXdpZHRoOiAwO1xuICAgICAgICAgICAgICAgICAgICBtaW4td2lkdGg6IGluaXRpYWw7XG4gICAgICAgICAgICAgICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgICAgICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICAgICAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgICAgIH1cblxuLm14X1RocmVhZFZpZXcgLm14X0V2ZW50VGlsZVtkYXRhLWxheW91dD1cImdyb3VwXCJdIC5teF9FdmVudFRpbGVfc2VuZGVyRGV0YWlscyBhIC5teF9EaXNhbWJpZ3VhdGVkUHJvZmlsZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogOHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgLXdlYmtpdC1ib3gtZmxleDogMTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAtbXMtZmxleDogMTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmxleDogMTtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4ubXhfVGhyZWFkVmlldyAubXhfRXZlbnRUaWxlW2RhdGEtbGF5b3V0PVwiZ3JvdXBcIl0gLm14X01lc3NhZ2VUaW1lc3RhbXAge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsgLyogZm9yIElSQyBsYXlvdXQgKi9cbiAgICAgICAgICAgICAgICB0b3A6IDJweDsgLyogQWxpZ24gd2l0aCBteF9FdmVudFRpbGVfY29udGVudCAqL1xuICAgICAgICAgICAgfVxuXG4ubXhfVGhyZWFkVmlldyAubXhfRXZlbnRUaWxlW2RhdGEtbGF5b3V0PVwiYnViYmxlXCJdIHtcbiAgICAgICAgICAgIG1hcmdpbi1pbmxpbmU6IHZhcigtLUJhc2VDYXJkX0V2ZW50VGlsZS1zcGFjaW5nLWlubGluZSk7XG4gICAgICAgIH1cblxuLm14X1RocmVhZFZpZXcgLm14X0V2ZW50VGlsZVtkYXRhLWxheW91dD1cImJ1YmJsZVwiXTo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBpbnNldC1pbmxpbmU6IGNhbGMoLTEgKiB2YXIoLS1CYXNlQ2FyZF9FdmVudFRpbGUtc3BhY2luZy1pbmxpbmUpKTtcbiAgICAgICAgICAgICAgICB6LWluZGV4OiBhdXRvOyAvKiBlbmFibGUgYmFja2dyb3VuZCBjb2xvciBvbiBob3ZlciAqL1xuICAgICAgICAgICAgfVxuXG4ubXhfVGhyZWFkVmlldyAubXhfRXZlbnRUaWxlW2RhdGEtbGF5b3V0PVwiYnViYmxlXCJdIC5teF9SZWFjdGlvbnNSb3cge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgLyogZGlzcGxheSBvbiBob3ZlciAqL1xuICAgICAgICAgICAgfVxuXG4ubXhfVGhyZWFkVmlldyAubXhfRXZlbnRUaWxlW2RhdGEtbGF5b3V0PVwiYnViYmxlXCJdIC5teF9FdmVudFRpbGVfbGluZS5teF9FdmVudFRpbGVfbWVkaWFMaW5lIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWJsb2NrOiAwO1xuICAgICAgICAgICAgICAgIC13ZWJraXQtcGFkZGluZy1zdGFydDogMDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctaW5saW5lLXN0YXJ0OiAwO1xuICAgICAgICAgICAgICAgIG1heC13aWR0aDogdmFyKC0tRXZlbnRCdWJibGVUaWxlX2xpbmUtbWF4LXdpZHRoKTtcbiAgICAgICAgICAgIH1cblxuLm14X1RocmVhZFZpZXcgLm14X0V2ZW50VGlsZVtkYXRhLWxheW91dD1cImJ1YmJsZVwiXVtkYXRhLXNlbGY9XCJ0cnVlXCJdIHtcbiAgICAgICAgICAgICAgICAtd2Via2l0LWJveC1hbGlnbjogZW5kO1xuICAgICAgICAgICAgICAgICAgICAtbXMtZmxleC1hbGlnbjogZW5kO1xuICAgICAgICAgICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuICAgICAgICAgICAgfVxuXG4ubXhfVGhyZWFkVmlldyAubXhfRXZlbnRUaWxlW2RhdGEtbGF5b3V0PVwiYnViYmxlXCJdW2RhdGEtc2VsZj1cInRydWVcIl0gLm14X0V2ZW50VGlsZV9saW5lLm14X0V2ZW50VGlsZV9tZWRpYUxpbmUge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDAgdmFyKC0tRXZlbnRUaWxlX2J1YmJsZV9saW5lLW1hcmdpbi1pbmxpbmUtZW5kKSAwIDA7IC8qIGFsaWduIHdpdGggbm9ybWFsIG1lc3NhZ2VzICovXG4gICAgICAgICAgICAgICAgfVxuXG4ubXhfVGhyZWFkVmlldyAubXhfR2VuZXJpY0V2ZW50TGlzdFN1bW1hcnlbZGF0YS1sYXlvdXQ9XCJpcmNcIl0gPiAubXhfRXZlbnRUaWxlX2xpbmUsIC5teF9UaHJlYWRWaWV3IC5teF9HZW5lcmljRXZlbnRMaXN0U3VtbWFyeVtkYXRhLWxheW91dD1cImdyb3VwXCJdID4gLm14X0V2ZW50VGlsZV9saW5lIHtcbiAgICAgICAgICAgICAgICAtd2Via2l0LXBhZGRpbmctc3RhcnQ6IHZhcigtLVRocmVhZFZpZXdfZ3JvdXBfc3BhY2luZy1zdGFydCk7XG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWlubGluZS1zdGFydDogdmFyKC0tVGhyZWFkVmlld19ncm91cF9zcGFjaW5nLXN0YXJ0KTsgLyogYWxpZ24gc3VtbWFyeSB0ZXh0IHdpdGggbWVzc2FnZSB0ZXh0ICovXG4gICAgICAgICAgICAgICAgLXdlYmtpdC1wYWRkaW5nLWVuZDogdmFyKC0tVGhyZWFkVmlld19ncm91cF9zcGFjaW5nLWVuZCk7XG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWlubGluZS1lbmQ6IHZhcigtLVRocmVhZFZpZXdfZ3JvdXBfc3BhY2luZy1lbmQpOyAvKiBhbGlnbiBzdW1tYXJ5IHRleHQgd2l0aCBtZXNzYWdlIHRleHQgKi9cbiAgICAgICAgICAgIH1cblxuLyogQ2FzY2FkaW5nIC0gY29tcGFjdCBtb2Rlcm4gbGF5b3V0IG9uIHRoZSBtYWluIHRpbWVsaW5lIGFuZCB0aGUgcmlnaHQgcGFuZWwgKi9cblxuLm14X01hdHJpeENoYXRfdXNlQ29tcGFjdExheW91dCAubXhfRXZlbnRUaWxlW2RhdGEtbGF5b3V0PVwiZ3JvdXBcIl0ge1xuICAgICAgICAtLU1hdHJpeENoYXRfdXNlQ29tcGFjdExheW91dF9ncm91cC1wYWRkaW5nLXRvcDogNHB4O1xuICAgICAgICAtLU1hdHJpeENoYXRfdXNlQ29tcGFjdExheW91dC10b3AtYXZhdGFyOiAycHg7XG4gICAgICAgIC0tTWF0cml4Q2hhdF91c2VDb21wYWN0TGF5b3V0X2xpbmUtc3BhY2luZy1ibG9jazogMHB4O1xuXG4gICAgICAgIHBhZGRpbmctdG9wOiA0cHg7XG5cbiAgICAgICAgcGFkZGluZy10b3A6IHZhcigtLU1hdHJpeENoYXRfdXNlQ29tcGFjdExheW91dF9ncm91cC1wYWRkaW5nLXRvcCk7XG4gICAgfVxuXG4ubXhfTWF0cml4Q2hhdF91c2VDb21wYWN0TGF5b3V0IC5teF9FdmVudFRpbGVbZGF0YS1sYXlvdXQ9XCJncm91cFwiXSAubXhfRXZlbnRUaWxlX2xpbmUsXG4gICAgICAgIC5teF9NYXRyaXhDaGF0X3VzZUNvbXBhY3RMYXlvdXQgLm14X0V2ZW50VGlsZVtkYXRhLWxheW91dD1cImdyb3VwXCJdIC5teF9FdmVudFRpbGVfcmVwbHkge1xuICAgICAgICAgICAgcGFkZGluZy1ibG9jazogdmFyKC0tTWF0cml4Q2hhdF91c2VDb21wYWN0TGF5b3V0X2xpbmUtc3BhY2luZy1ibG9jayk7XG4gICAgICAgIH1cblxuLm14X01hdHJpeENoYXRfdXNlQ29tcGFjdExheW91dCAubXhfRXZlbnRUaWxlW2RhdGEtbGF5b3V0PVwiZ3JvdXBcIl0gLm14X1JlcGx5Q2hhaW4ge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNHB4O1xuICAgICAgICB9XG5cbi5teF9NYXRyaXhDaGF0X3VzZUNvbXBhY3RMYXlvdXQgLm14X0V2ZW50VGlsZVtkYXRhLWxheW91dD1cImdyb3VwXCJdLm14X0V2ZW50VGlsZV9pbmZvIHtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAwOyAvKiBzYW1lIGFzIHRoZSBwYWRkaW5nIGZvciBub24tY29tcGFjdCAubXhfRXZlbnRUaWxlLm14X0V2ZW50VGlsZV9pbmZvICovXG4gICAgICAgICAgICBmb250LXNpemU6IDAuODEyNXJlbTtcbiAgICAgICAgfVxuXG4ubXhfTWF0cml4Q2hhdF91c2VDb21wYWN0TGF5b3V0IC5teF9FdmVudFRpbGVbZGF0YS1sYXlvdXQ9XCJncm91cFwiXS5teF9FdmVudFRpbGVfaW5mbyAubXhfRXZlbnRUaWxlX2UyZUljb24sXG4gICAgICAgICAgICAubXhfTWF0cml4Q2hhdF91c2VDb21wYWN0TGF5b3V0IC5teF9FdmVudFRpbGVbZGF0YS1sYXlvdXQ9XCJncm91cFwiXS5teF9FdmVudFRpbGVfaW5mbyAubXhfRXZlbnRUaWxlX2F2YXRhciB7XG4gICAgICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ibG9jazogdmFyKC0tTWF0cml4Q2hhdF91c2VDb21wYWN0TGF5b3V0X2xpbmUtc3BhY2luZy1ibG9jayk7XG4gICAgICAgICAgICB9XG5cbi5teF9NYXRyaXhDaGF0X3VzZUNvbXBhY3RMYXlvdXQgLm14X0V2ZW50VGlsZVtkYXRhLWxheW91dD1cImdyb3VwXCJdLm14X0V2ZW50VGlsZV9pbmZvIC5teF9FdmVudFRpbGVfbGluZSxcbiAgICAgICAgICAgIC5teF9NYXRyaXhDaGF0X3VzZUNvbXBhY3RMYXlvdXQgLm14X0V2ZW50VGlsZVtkYXRhLWxheW91dD1cImdyb3VwXCJdLm14X0V2ZW50VGlsZV9pbmZvIC5teF9FdmVudFRpbGVfcmVwbHkge1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI1cmVtO1xuICAgICAgICAgICAgfVxuXG4ubXhfTWF0cml4Q2hhdF91c2VDb21wYWN0TGF5b3V0IC5teF9FdmVudFRpbGVbZGF0YS1sYXlvdXQ9XCJncm91cFwiXS5teF9FdmVudFRpbGVfZW1vdGUge1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IDhweDsgLyogYWRkIGEgYml0IG1vcmUgc3BhY2UgZm9yIGVtb3RlcyBzbyB0aGF0IGF2YXRhcnMgZG9uJ3QgY29sbGlkZSAqL1xuICAgICAgICB9XG5cbi5teF9NYXRyaXhDaGF0X3VzZUNvbXBhY3RMYXlvdXQgLm14X0V2ZW50VGlsZVtkYXRhLWxheW91dD1cImdyb3VwXCJdLm14X0V2ZW50VGlsZV9lbW90ZSAubXhfRXZlbnRUaWxlX2F2YXRhciB7XG4gICAgICAgICAgICAgICAgdG9wOiB2YXIoLS1NYXRyaXhDaGF0X3VzZUNvbXBhY3RMYXlvdXQtdG9wLWF2YXRhcik7XG4gICAgICAgICAgICB9XG5cbi5teF9NYXRyaXhDaGF0X3VzZUNvbXBhY3RMYXlvdXQgLm14X0V2ZW50VGlsZVtkYXRhLWxheW91dD1cImdyb3VwXCJdLm14X0V2ZW50VGlsZV9lbW90ZSAubXhfRXZlbnRUaWxlX2xpbmUsXG4gICAgICAgICAgICAubXhfTWF0cml4Q2hhdF91c2VDb21wYWN0TGF5b3V0IC5teF9FdmVudFRpbGVbZGF0YS1sYXlvdXQ9XCJncm91cFwiXS5teF9FdmVudFRpbGVfZW1vdGUgLm14X0V2ZW50VGlsZV9yZXBseSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDFweDtcbiAgICAgICAgICAgIH1cblxuLm14X01hdHJpeENoYXRfdXNlQ29tcGFjdExheW91dCAubXhfRXZlbnRUaWxlW2RhdGEtbGF5b3V0PVwiZ3JvdXBcIl0ubXhfRXZlbnRUaWxlX2Vtb3RlLm14X0V2ZW50VGlsZV9jb250aW51YXRpb24gLm14X0V2ZW50VGlsZV9saW5lLFxuICAgICAgICAgICAgICAgIC5teF9NYXRyaXhDaGF0X3VzZUNvbXBhY3RMYXlvdXQgLm14X0V2ZW50VGlsZVtkYXRhLWxheW91dD1cImdyb3VwXCJdLm14X0V2ZW50VGlsZV9lbW90ZS5teF9FdmVudFRpbGVfY29udGludWF0aW9uIC5teF9FdmVudFRpbGVfcmVwbHkge1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogdmFyKC0tTWF0cml4Q2hhdF91c2VDb21wYWN0TGF5b3V0X2xpbmUtc3BhY2luZy1ibG9jayk7XG4gICAgICAgICAgICAgICAgfVxuXG4vKiBDYXNjYWRpbmcgLSBhcHBseSB6ZXJvIHBhZGRpbmcgdG8gZXZlcnkgZWxlbWVudCBpbmNsdWRpbmcgbXhfRXZlbnRUaWxlX2Vtb3RlICovXG5cbi5teF9NYXRyaXhDaGF0X3VzZUNvbXBhY3RMYXlvdXQgLm14X0V2ZW50VGlsZVtkYXRhLWxheW91dD1cImdyb3VwXCJdLm14X0V2ZW50VGlsZV9jb250aW51YXRpb24ge1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IHZhcigtLU1hdHJpeENoYXRfdXNlQ29tcGFjdExheW91dF9saW5lLXNwYWNpbmctYmxvY2spO1xuICAgICAgICB9XG5cbi5teF9NYXRyaXhDaGF0X3VzZUNvbXBhY3RMYXlvdXQgLm14X0V2ZW50VGlsZVtkYXRhLWxheW91dD1cImdyb3VwXCJdIC5teF9FdmVudFRpbGVfYXZhdGFyIHtcbiAgICAgICAgICAgIHRvcDogdmFyKC0tTWF0cml4Q2hhdF91c2VDb21wYWN0TGF5b3V0LXRvcC1hdmF0YXIpO1xuICAgICAgICB9XG5cbi5teF9NYXRyaXhDaGF0X3VzZUNvbXBhY3RMYXlvdXQgLm14X0V2ZW50VGlsZVtkYXRhLWxheW91dD1cImdyb3VwXCJdIC5teF9FdmVudFRpbGVfZTJlSWNvbiB7XG4gICAgICAgICAgICBtYXJnaW46IDBweDtcbiAgICAgICAgfVxuXG4ubXhfTWF0cml4Q2hhdF91c2VDb21wYWN0TGF5b3V0IC5teF9FdmVudFRpbGVbZGF0YS1sYXlvdXQ9XCJncm91cFwiXSAubXhfRGlzYW1iaWd1YXRlZFByb2ZpbGUge1xuICAgICAgICAgICAgZm9udC1zaXplOiAwLjgxMjVyZW07XG4gICAgICAgIH1cblxuLm14X01hdHJpeENoYXRfdXNlQ29tcGFjdExheW91dCAubXhfRXZlbnRUaWxlW2RhdGEtbGF5b3V0PVwiZ3JvdXBcIl0gLm14X0V2ZW50VGlsZV9tc2dPcHRpb24gLm14X1JlYWRSZWNlaXB0R3JvdXAge1xuICAgICAgICAgICAgICAgIC8qIFRoaXMgYWxpZ25zIHRoZSBhdmF0YXIgd2l0aCB0aGUgbGFzdCBsaW5lIG9mIHRoZSAqL1xuICAgICAgICAgICAgICAgIC8qIG1lc3NhZ2UuIFdlIHdhbnQgdG8gbW92ZSBpdCBvbmUgbGluZSB1cCAtIDJyZW0gKi9cbiAgICAgICAgICAgICAgICBpbnNldC1ibG9jay1zdGFydDogLTJyZW07XG4gICAgICAgICAgICB9XG5cbi5teF9NYXRyaXhDaGF0X3VzZUNvbXBhY3RMYXlvdXQgLm14X0V2ZW50VGlsZVtkYXRhLWxheW91dD1cImdyb3VwXCJdIC5teF9FdmVudFRpbGVfY29udGVudCAubWFya2Rvd24tYm9keSBwLFxuICAgICAgICAgICAgLm14X01hdHJpeENoYXRfdXNlQ29tcGFjdExheW91dCAubXhfRXZlbnRUaWxlW2RhdGEtbGF5b3V0PVwiZ3JvdXBcIl0gLm14X0V2ZW50VGlsZV9jb250ZW50IC5tYXJrZG93bi1ib2R5IHVsLFxuICAgICAgICAgICAgLm14X01hdHJpeENoYXRfdXNlQ29tcGFjdExheW91dCAubXhfRXZlbnRUaWxlW2RhdGEtbGF5b3V0PVwiZ3JvdXBcIl0gLm14X0V2ZW50VGlsZV9jb250ZW50IC5tYXJrZG93bi1ib2R5IG9sLFxuICAgICAgICAgICAgLm14X01hdHJpeENoYXRfdXNlQ29tcGFjdExheW91dCAubXhfRXZlbnRUaWxlW2RhdGEtbGF5b3V0PVwiZ3JvdXBcIl0gLm14X0V2ZW50VGlsZV9jb250ZW50IC5tYXJrZG93bi1ib2R5IGRsLFxuICAgICAgICAgICAgLm14X01hdHJpeENoYXRfdXNlQ29tcGFjdExheW91dCAubXhfRXZlbnRUaWxlW2RhdGEtbGF5b3V0PVwiZ3JvdXBcIl0gLm14X0V2ZW50VGlsZV9jb250ZW50IC5tYXJrZG93bi1ib2R5IGJsb2NrcXVvdGUsXG4gICAgICAgICAgICAubXhfTWF0cml4Q2hhdF91c2VDb21wYWN0TGF5b3V0IC5teF9FdmVudFRpbGVbZGF0YS1sYXlvdXQ9XCJncm91cFwiXSAubXhfRXZlbnRUaWxlX2NvbnRlbnQgLm1hcmtkb3duLWJvZHkgcHJlLFxuICAgICAgICAgICAgLm14X01hdHJpeENoYXRfdXNlQ29tcGFjdExheW91dCAubXhfRXZlbnRUaWxlW2RhdGEtbGF5b3V0PVwiZ3JvdXBcIl0gLm14X0V2ZW50VGlsZV9jb250ZW50IC5tYXJrZG93bi1ib2R5IHRhYmxlIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0cHg7IC8qIDEvNCBvZiB0aGUgbm9uLWNvbXBhY3QgbWFyZ2luLWJvdHRvbSAqL1xuICAgICAgICAgICAgfVxuXG4ubXhfRXZlbnRUaWxlX2RldGFpbHMge1xuICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgd2lkdGg6IC13ZWJraXQtZmlsbC1hdmFpbGFibGU7XG4gICAgd2lkdGg6IC1tb3otYXZhaWxhYmxlO1xuICAgIHdpZHRoOiBzdHJldGNoO1xuICAgIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIC13ZWJraXQtYm94LXBhY2s6IGp1c3RpZnk7XG4gICAgICAgIC1tcy1mbGV4LXBhY2s6IGp1c3RpZnk7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgZ2FwOiA4cHg7XG4gICAgbWFyZ2luLWxlZnQ6IHZhcigtLWxlZnRPZmZzZXQpO1xufVxuXG4ubXhfRXZlbnRUaWxlX2RldGFpbHMgLm14X0V2ZW50VGlsZV90cnVuY2F0ZWQge1xuICAgICAgICAtd2Via2l0LWJveC1mbGV4OiAxO1xuICAgICAgICAgICAgLW1zLWZsZXg6IDE7XG4gICAgICAgICAgICAgICAgZmxleDogMTtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgfVxuXG4ubXhfRXZlbnRUaWxlX2Fubm90YXRlZCB7XG4gICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gICAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gICAgZGlzcGxheTogZmxleDtcbn1cblxuLm14X0V2ZW50VGlsZV9mb290ZXIge1xuICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZ2FwOiB2YXIoLS1jcGQtc3BhY2UtMngpO1xuICAgIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG4vKiBNZWRpYSBxdWVyeSBmb3IgbW9iaWxlIFVJICovXG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDgwcHgpIHtcbiAgICAubXhfRXZlbnRUaWxlX2NvbnRlbnQge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgfVxufVxuXG4vKlxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXG5Db3B5cmlnaHQgMjAyMSBSb2JpbiBUb3duc2VuZCA8cm9iaW5Acm9iaW4udG93bj5cblxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuKi9cblxuLm14X0V2ZW50VGlsZUJ1YmJsZS5teF9IaXN0b3J5VGlsZSB7XG4gICAgbWFyZ2luOiB2YXIoLS1FdmVudFRpbGVCdWJibGVfbWFyZ2luLWJsb2NrKSBhdXRvO1xufVxuXG4ubXhfRXZlbnRUaWxlQnViYmxlLm14X0hpc3RvcnlUaWxlOjpiZWZvcmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYTFiMmQxO1xuICAgICAgICAtd2Via2l0LW1hc2staW1hZ2U6IHVybChcIi4uLy4uLy4uL2ltZy9lbGVtZW50LWljb25zL2hpZGUuc3ZnXCIpO1xuICAgICAgICAgICAgICAgIG1hc2staW1hZ2U6IHVybChcIi4uLy4uLy4uL2ltZy9lbGVtZW50LWljb25zL2hpZGUuc3ZnXCIpO1xuICAgIH1cblxuLypcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxuQ29weXJpZ2h0IDIwMjAgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cblxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuKi9cblxuOnJvb3Qge1xuICAgIC0taXJjLWxpbmUtaGVpZ2h0OiAxLjEyNXJlbTtcbn1cblxuLm14X0lSQ0xheW91dCB7XG4gICAgLS1uYW1lLXdpZHRoOiA4MHB4OyAvKiBjZi4gaXJjRGlzcGxheU5hbWVXaWR0aCBvbiBTZXR0aW5ncy50c3ggKi9cbiAgICAtLWljb24td2lkdGg6IDE0cHg7XG4gICAgLS1saW5lLWhlaWdodDogdmFyKC0taXJjLWxpbmUtaGVpZ2h0KTtcbiAgICAtLXJpZ2h0LXBhZGRpbmc6IDVweDtcblxuICAgIGxpbmUtaGVpZ2h0OiAxLjEyNXJlbSAhaW1wb3J0YW50O1xuXG4gICAgbGluZS1oZWlnaHQ6IHZhcigtLWxpbmUtaGVpZ2h0KSAhaW1wb3J0YW50O1xufVxuXG4ubXhfSVJDTGF5b3V0IGJsb2NrcXVvdGUge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgfVxuXG4ubXhfSVJDTGF5b3V0IC5teF9OZXdSb29tSW50cm8gPiBoMiB7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogbm9ybWFsO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IGluaXRpYWw7IC8qIENhbmNlbCB2YXIoLS1pcmMtbGluZS1oZWlnaHQpICovXG4gICAgICAgIH1cblxuLm14X0lSQ0xheW91dCAubXhfUmVwbHlDaGFpbiAubXhfRGlzYW1iaWd1YXRlZFByb2ZpbGUge1xuICAgICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgICB3aWR0aDogaW5pdGlhbDtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgLXdlYmtpdC1ib3gtb3JkaW5hbC1ncm91cDogaW5pdGlhbDtcbiAgICAgICAgICAgICAgICAtbXMtZmxleC1vcmRlcjogaW5pdGlhbDtcbiAgICAgICAgICAgICAgICAgICAgb3JkZXI6IGluaXRpYWw7XG4gICAgICAgICAgICAtbXMtZmxleC1uZWdhdGl2ZTogaW5pdGlhbDtcbiAgICAgICAgICAgICAgICBmbGV4LXNocmluazogaW5pdGlhbDsgLyogVW5zZXQgZmxleC1zaHJpbmsgdG8gcHJldmVudCBsb25nIGRpc3BsYXkgbmFtZSBibG93b3V0ICovXG4gICAgICAgIH1cblxuLm14X0lSQ0xheW91dCAubXhfUmVwbHlDaGFpbiAubXhfRXZlbnRUaWxlX2Vtb3RlID4gLm14X0V2ZW50VGlsZV9hdmF0YXIge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBpbml0aWFsO1xuICAgICAgICAgICAgfVxuXG4ubXhfSVJDTGF5b3V0IC5teF9SZXBseUNoYWluIC5teF9NZXNzYWdlVGltZXN0YW1wIHtcbiAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgICAgd2lkdGg6IGluaXRpYWw7XG4gICAgICAgIH1cblxuLyoqXG4gICAgICAgICAqIGFkZGluZyB0aGUgaWNvbiBiYWNrIGluIHRoZSBkb2N1bWVudCBmbG93XG4gICAgICAgICAqIGlmIGl0J3Mgbm90IHByZXNlbnQsIHRoZXJlJ3Mgbm8gdW53YW50ZWQgd2FzdGVkIHNwYWNlXG4gICAgICAgICAqL1xuXG4ubXhfSVJDTGF5b3V0IC5teF9SZXBseUNoYWluIC5teF9FdmVudFRpbGVfZTJlSWNvbiB7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAtd2Via2l0LWJveC1vcmRpbmFsLWdyb3VwOiAwO1xuICAgICAgICAgICAgICAgIC1tcy1mbGV4LW9yZGVyOiAtMTtcbiAgICAgICAgICAgICAgICAgICAgb3JkZXI6IC0xO1xuICAgICAgICB9XG5cbi5teF9JUkNMYXlvdXQgLm14X1Byb2ZpbGVSZXNpemVyIHtcbiAgICAgICAgLS1yZXNpemVyLXdpZHRoOiAxNXB4O1xuICAgICAgICAtLXJlc2l6ZXItYTExeTogM3B4OyAvKiBNYWdpYyBudW1iZXIsIHRvIGJlIHJlcGxhY2VkIHdpdGggc29tZXRoaW5nIG1vcmUgcHJvcGVyIGZyb20gdGhlIHBlcnNwZWN0aXZlIG9mIGExMXkgKi9cblxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgd2lkdGg6IDE1cHg7XG4gICAgICAgIHdpZHRoOiB2YXIoLS1yZXNpemVyLXdpZHRoKTtcbiAgICAgICAgY3Vyc29yOiBjb2wtcmVzaXplO1xuICAgICAgICB6LWluZGV4OiAxMDA7XG5cbiAgICAgICAgLyogQWRkIHdpZHRoIG9mIGV2ZXJ5IGVsZW1lbnQgcmVuZGVyZWQgYmVmb3JlIHRoZSByZXNpemVyIChpbmNsdWRpbmcgcGFkZGluZyBmb3IgdGhlIGF2YXRhciBhbmQgdGhlIGRpc3BsYXlcbiAgICAgICAgICAgbmFtZSksIHN1YnRyYWN0aW5nIHRoZSByZXNpemVyIHdpZHRoIGl0c2VsZiB0byBwcmV2ZW50IHRoZSByZXNpemVyIGZyb20gb3ZlcmxhcHBpbmcgdGhlIHRleHQgYW5kIG1vdmluZ1xuICAgICAgICAgICB0aGUgcmVzaXplciBhIGJpdCB0byB0aGUgbGVmdCB0byBtYWtlIGl0IGVhc2llciB0byBhdm9pZCBzZWxlY3RpbmcgdGhlIHJlc2l6ZXIgd2hlbiBoaWdobGlnaHRpbmcgdGV4dC5cbiAgICAgICAgICAgUGxlYXNlIG5vdGUgdGhhdCBNZXNzYWdlVGltZXN0YW1wIGRvZXMgbm90IGhhdmUgaW5saW5lIHBhZGRpbmcuICovXG4gICAgICAgIGluc2V0LWlubGluZS1zdGFydDogY2FsYyhcbiAgICAgICAgICAgIDE4cHggKyA0NnB4ICsgdmFyKC0taWNvbi13aWR0aCkgK1xuICAgICAgICAgICAgICAgIHZhcigtLXJpZ2h0LXBhZGRpbmcpICsgdmFyKC0tbmFtZS13aWR0aCkgKyB2YXIoLS1yaWdodC1wYWRkaW5nKSAtIDE1cHggLVxuICAgICAgICAgICAgICAgIDNweFxuICAgICAgICApO1xuICAgICAgICBpbnNldC1pbmxpbmUtc3RhcnQ6IGNhbGMoXG4gICAgICAgICAgICB2YXIoLS1Sb29tVmlld19NZXNzYWdlTGlzdC1wYWRkaW5nKSArIHZhcigtLU1lc3NhZ2VUaW1lc3RhbXAtd2lkdGgpICsgdmFyKC0taWNvbi13aWR0aCkgK1xuICAgICAgICAgICAgICAgIHZhcigtLXJpZ2h0LXBhZGRpbmcpICsgdmFyKC0tbmFtZS13aWR0aCkgKyB2YXIoLS1yaWdodC1wYWRkaW5nKSAtIHZhcigtLXJlc2l6ZXItd2lkdGgpIC1cbiAgICAgICAgICAgICAgICB2YXIoLS1yZXNpemVyLWExMXkpXG4gICAgICAgICk7XG4gICAgfVxuXG4vKlxuQ29weXJpZ2h0IDIwMTktMjAyNCBOZXcgVmVjdG9yIEx0ZC5cblxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuKi9cblxuLm14X0p1bXBUb0JvdHRvbUJ1dHRvbiB7XG4gICAgei1pbmRleDogMTAwMDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgLyogMTIgYmVjYXVzZSBoZWlnaHQgaXMgNTAgYnV0IGJ1dHRvbiBpcyBvbmx5IDM4ID0gMTIrKDUwLTM4KSA9IDI0ICovXG4gICAgYm90dG9tOiAxMnB4O1xuICAgIHJpZ2h0OiAyNHB4O1xuICAgIHdpZHRoOiAzOHB4O1xuICAgIC8qIGdpdmUgaXQgYSBmaXhlZCBoZWlnaHQgc28gdGhlIGJhZGdlIGRvZXNuJ3QgbWFrZSAqL1xuICAgIC8qIGl0IHRhbGxlciBhbmQgcG9wIHVwd2FyZHMgd2hlbiB2aXNpYmxlICovXG4gICAgaGVpZ2h0OiA1MHB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLm14X0p1bXBUb0JvdHRvbUJ1dHRvbl9iYWRnZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogLTEycHg7XG4gICAgYm9yZGVyLXJhZGl1czogMTZweDtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBmb250LXNpemU6IDAuNzVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDAuODc1cmVtO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAvKiB0byBiZSBhYmxlIHRvIGdldCBpdCBjZW50ZXJlZCAqL1xuICAgIC8qIHdpdGggdGV4dC1hbGlnbiBpbiBwYXJlbnQgKi9cbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgcGFkZGluZzogMCA0cHg7XG4gICAgY29sb3I6IHZhcigtLWNwZC1jb2xvci10ZXh0LW9uLXNvbGlkLXByaW1hcnkpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNwZC1jb2xvci1pY29uLXNlY29uZGFyeSk7XG59XG5cbi5teF9KdW1wVG9Cb3R0b21CdXR0b25faGlnaGxpZ2h0IC5teF9KdW1wVG9Cb3R0b21CdXR0b25fYmFkZ2Uge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNwZC1jb2xvci1pY29uLWNyaXRpY2FsLXByaW1hcnkpO1xufVxuXG4ubXhfSnVtcFRvQm90dG9tQnV0dG9uX3Njcm9sbERvd24ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBoZWlnaHQ6IDM4cHg7XG4gICAgYm9yZGVyLXJhZGl1czogMTlweDtcbiAgICAtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIGJhY2tncm91bmQ6IHZhcigtLXRpbWVsaW5lLWJhY2tncm91bmQtY29sb3IpO1xuICAgIGJvcmRlcjogMS4zcHggc29saWQgdmFyKC0tY3BkLWNvbG9yLWljb24tdGVydGlhcnkpO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLm14X0p1bXBUb0JvdHRvbUJ1dHRvbl9zY3JvbGxEb3duOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGluc2V0OiAwO1xuICAgIC13ZWJraXQtbWFzay1pbWFnZTogdXJsKFwiQHZlY3Rvci1pbS9jb21wb3VuZC1kZXNpZ24tdG9rZW5zL2ljb25zL2NoZXZyb24tdXAuc3ZnXCIpO1xuICAgICAgICAgICAgbWFzay1pbWFnZTogdXJsKFwiQHZlY3Rvci1pbS9jb21wb3VuZC1kZXNpZ24tdG9rZW5zL2ljb25zL2NoZXZyb24tdXAuc3ZnXCIpO1xuICAgIC13ZWJraXQtbWFzay1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgICAgIG1hc2stcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgLXdlYmtpdC1tYXNrLXNpemU6IDI0cHg7XG4gICAgICAgICAgICBtYXNrLXNpemU6IDI0cHg7XG4gICAgLXdlYmtpdC1tYXNrLXBvc2l0aW9uOiBjZW50ZXIgNnB4O1xuICAgICAgICAgICAgbWFzay1wb3NpdGlvbjogY2VudGVyIDZweDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNwZC1jb2xvci1pY29uLXRlcnRpYXJ5KTtcbn1cblxuLypcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxuQ29weXJpZ2h0IDIwMjEgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cblxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuKi9cblxuLm14X0xpbmtQcmV2aWV3R3JvdXAgLm14X0xpbmtQcmV2aWV3R3JvdXBfaGlkZSB7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgd2lkdGg6IDE4cHg7XG4gICAgICAgIGhlaWdodDogMThweDtcbiAgICB9XG5cbi5teF9MaW5rUHJldmlld0dyb3VwIC5teF9MaW5rUHJldmlld0dyb3VwX2hpZGUgc3ZnIHtcbiAgICAgICAgICAgIC13ZWJraXQtYm94LWZsZXg6IDA7XG4gICAgICAgICAgICAgICAgLW1zLWZsZXg6IDAgMCA0MHB4O1xuICAgICAgICAgICAgICAgICAgICBmbGV4OiAwIDAgNDBweDtcbiAgICAgICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgICAgfVxuXG4ubXhfTGlua1ByZXZpZXdHcm91cDpob3ZlciAubXhfTGlua1ByZXZpZXdHcm91cF9oaWRlIHN2ZyxcbiAgICAubXhfTGlua1ByZXZpZXdHcm91cCAubXhfTGlua1ByZXZpZXdHcm91cF9oaWRlOmZvY3VzLXZpc2libGU6Zm9jdXMgc3ZnIHtcbiAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICB9XG5cbi5teF9MaW5rUHJldmlld0dyb3VwID4gLm14X0FjY2Vzc2libGVCdXR0b24ge1xuICAgICAgICBjb2xvcjogIzBkYmQ4YjtcbiAgICAgICAgY29sb3I6IHZhcigtLWFjY2VudC1jb2xvciwgIzBkYmQ4Yik7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG5cbi8qXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cbkNvcHlyaWdodCAyMDE1LCAyMDE2IE9wZW5NYXJrZXQgTHRkXG5cblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cbiovXG5cbi5teF9MaW5rUHJldmlld1dpZGdldCB7XG4gICAgbWFyZ2luOiAxNnB4IDAgMTZweCBhdXRvO1xuICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgLXdlYmtpdC1jb2x1bW4tZ2FwOiA0cHg7XG4gICAgICAgLW1vei1jb2x1bW4tZ2FwOiA0cHg7XG4gICAgICAgICAgICBjb2x1bW4tZ2FwOiA0cHg7XG4gICAgLXdlYmtpdC1ib3JkZXItc3RhcnQ6IDJweCBzb2xpZCAjZGRkO1xuICAgICAgICAgICAgYm9yZGVyLWlubGluZS1zdGFydDogMnB4IHNvbGlkICNkZGQ7XG4gICAgYm9yZGVyLXJhZGl1czogMnB4O1xuICAgIGNvbG9yOiB2YXIoLS10aW1lbGluZS10ZXh0LXNlY29uZGFyeS1jb2xvcik7XG59XG5cbi5teF9NYXRyaXhDaGF0X3VzZUNvbXBhY3RMYXlvdXQgLm14X0xpbmtQcmV2aWV3V2lkZ2V0IHtcbiAgICAgICAgbWFyZ2luLXRvcDogNnB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA2cHg7XG4gICAgfVxuXG4vKiBFeGNsdWRlIG14X0xpbmtQcmV2aWV3R3JvdXBfaGlkZSBmcm9tIHdyYXBwaW5nICovXG5cbi5teF9MaW5rUHJldmlld1dpZGdldCAubXhfTGlua1ByZXZpZXdXaWRnZXRfd3JhcEltYWdlQ2FwdGlvbiB7XG4gICAgICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICAgICAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgLW1zLWZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgcm93LWdhcDogOHB4O1xuICAgICAgICAtd2Via2l0LWJveC1mbGV4OiAxO1xuICAgICAgICAgICAgLW1zLWZsZXg6IDE7XG4gICAgICAgICAgICAgICAgZmxleDogMTtcbiAgICB9XG5cbi5teF9MaW5rUHJldmlld1dpZGdldCAubXhfTGlua1ByZXZpZXdXaWRnZXRfd3JhcEltYWdlQ2FwdGlvbiAubXhfTGlua1ByZXZpZXdXaWRnZXRfaW1hZ2UsXG4gICAgICAgIC5teF9MaW5rUHJldmlld1dpZGdldCAubXhfTGlua1ByZXZpZXdXaWRnZXRfd3JhcEltYWdlQ2FwdGlvbiAubXhfTGlua1ByZXZpZXdXaWRnZXRfY2FwdGlvbiB7XG4gICAgICAgICAgICAtd2Via2l0LW1hcmdpbi1zdGFydDogMTZweDtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWlubGluZS1zdGFydDogMTZweDtcbiAgICAgICAgICAgIG1pbi13aWR0aDogMDsgLyogUHJldmVudCBibG93b3V0ICovXG4gICAgICAgIH1cblxuLm14X0xpbmtQcmV2aWV3V2lkZ2V0IC5teF9MaW5rUHJldmlld1dpZGdldF93cmFwSW1hZ2VDYXB0aW9uIC5teF9MaW5rUHJldmlld1dpZGdldF9pbWFnZSB7XG4gICAgICAgICAgICAtd2Via2l0LWJveC1mbGV4OiAwO1xuICAgICAgICAgICAgICAgIC1tcy1mbGV4OiAwIDAgMTAwcHg7XG4gICAgICAgICAgICAgICAgICAgIGZsZXg6IDAgMCAxMDBweDtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgfVxuXG4ubXhfTGlua1ByZXZpZXdXaWRnZXQgLm14X0xpbmtQcmV2aWV3V2lkZ2V0X3dyYXBJbWFnZUNhcHRpb24gLm14X0xpbmtQcmV2aWV3V2lkZ2V0X2NhcHRpb24ge1xuICAgICAgICAgICAgLXdlYmtpdC1ib3gtZmxleDogMTtcbiAgICAgICAgICAgICAgICAtbXMtZmxleDogMTtcbiAgICAgICAgICAgICAgICAgICAgZmxleDogMTtcbiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47IC8qIGNhdXNlIGl0IHRvIHdyYXAgcmF0aGVyIHRoYW4gY2xpcCAqL1xuICAgICAgICB9XG5cbi5teF9MaW5rUHJldmlld1dpZGdldCAubXhfTGlua1ByZXZpZXdXaWRnZXRfd3JhcEltYWdlQ2FwdGlvbiAubXhfTGlua1ByZXZpZXdXaWRnZXRfdGl0bGUsXG4gICAgICAgIC5teF9MaW5rUHJldmlld1dpZGdldCAubXhfTGlua1ByZXZpZXdXaWRnZXRfd3JhcEltYWdlQ2FwdGlvbiAubXhfTGlua1ByZXZpZXdXaWRnZXRfZGVzY3JpcHRpb24ge1xuICAgICAgICAgICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gICAgICAgICAgICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gICAgICAgIH1cblxuLm14X0xpbmtQcmV2aWV3V2lkZ2V0IC5teF9MaW5rUHJldmlld1dpZGdldF93cmFwSW1hZ2VDYXB0aW9uIC5teF9MaW5rUHJldmlld1dpZGdldF90aXRsZSB7XG4gICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgICAgIC13ZWJraXQtbGluZS1jbGFtcDogMjtcbiAgICAgICAgfVxuXG4ubXhfTGlua1ByZXZpZXdXaWRnZXQgLm14X0xpbmtQcmV2aWV3V2lkZ2V0X3dyYXBJbWFnZUNhcHRpb24gLm14X0xpbmtQcmV2aWV3V2lkZ2V0X3RpdGxlIC5teF9MaW5rUHJldmlld1dpZGdldF9zaXRlTmFtZSB7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgICAgIH1cblxuLm14X0xpbmtQcmV2aWV3V2lkZ2V0IC5teF9MaW5rUHJldmlld1dpZGdldF93cmFwSW1hZ2VDYXB0aW9uIC5teF9MaW5rUHJldmlld1dpZGdldF9kZXNjcmlwdGlvbiB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiA4cHg7XG4gICAgICAgICAgICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG4gICAgICAgICAgICAtd2Via2l0LWxpbmUtY2xhbXA6IDM7XG4gICAgICAgIH1cblxuLypcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxuQ29weXJpZ2h0IDIwMjIgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cblxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuKi9cblxuLm14X0xpdmVDb250ZW50U3VtbWFyeSB7XG4gICAgY29sb3I6ICNlZGYzZmY7XG4gICAgY29sb3I6IHZhcigtLXNlY29uZGFyeS1jb250ZW50LCAjZWRmM2ZmKTtcbn1cblxuLm14X0xpdmVDb250ZW50U3VtbWFyeSAubXhfTGl2ZUNvbnRlbnRTdW1tYXJ5X3RleHQ6OmJlZm9yZSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdGV4dC1ib3R0b207XG4gICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2VkZjNmZjtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXNlY29uZGFyeS1jb250ZW50LCAjZWRmM2ZmKTtcbiAgICAgICAgICAgIC13ZWJraXQtbWFzay1zaXplOiAxNnB4O1xuICAgICAgICAgICAgICAgICAgICBtYXNrLXNpemU6IDE2cHg7XG4gICAgICAgICAgICB3aWR0aDogMTZweDtcbiAgICAgICAgICAgIGhlaWdodDogMTZweDtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogNHB4O1xuICAgICAgICB9XG5cbi5teF9MaXZlQ29udGVudFN1bW1hcnkgLm14X0xpdmVDb250ZW50U3VtbWFyeV90ZXh0Lm14X0xpdmVDb250ZW50U3VtbWFyeV90ZXh0X3ZpZGVvOjpiZWZvcmUge1xuICAgICAgICAgICAgLXdlYmtpdC1tYXNrLWltYWdlOiB1cmwoXCIuLi8uLi8uLi9pbWcvZWxlbWVudC1pY29ucy9jYWxsL3ZpZGVvLWNhbGwuc3ZnXCIpO1xuICAgICAgICAgICAgICAgICAgICBtYXNrLWltYWdlOiB1cmwoXCIuLi8uLi8uLi9pbWcvZWxlbWVudC1pY29ucy9jYWxsL3ZpZGVvLWNhbGwuc3ZnXCIpO1xuICAgICAgICB9XG5cbi5teF9MaXZlQ29udGVudFN1bW1hcnkgLm14X0xpdmVDb250ZW50U3VtbWFyeV90ZXh0Lm14X0xpdmVDb250ZW50U3VtbWFyeV90ZXh0X2FjdGl2ZSB7XG4gICAgICAgICAgICBjb2xvcjogIzBkYmQ4YjtcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1hY2NlbnQtY29sb3IsICMwZGJkOGIpO1xuICAgICAgICB9XG5cbi5teF9MaXZlQ29udGVudFN1bW1hcnkgLm14X0xpdmVDb250ZW50U3VtbWFyeV90ZXh0Lm14X0xpdmVDb250ZW50U3VtbWFyeV90ZXh0X2FjdGl2ZTo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMGRiZDhiO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWFjY2VudC1jb2xvciwgIzBkYmQ4Yik7XG4gICAgICAgICAgICB9XG5cbi5teF9MaXZlQ29udGVudFN1bW1hcnkgLm14X0xpdmVDb250ZW50U3VtbWFyeV9wYXJ0aWNpcGFudHM6OmJlZm9yZSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgdmVydGljYWwtYWxpZ246IHRleHQtYm90dG9tO1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWRmM2ZmO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1zZWNvbmRhcnktY29udGVudCwgI2VkZjNmZik7XG4gICAgICAgIC13ZWJraXQtbWFzay1pbWFnZTogdXJsKFwiLi4vLi4vLi4vaW1nL2VsZW1lbnQtaWNvbnMvZ3JvdXAtbWVtYmVycy5zdmdcIik7XG4gICAgICAgICAgICAgICAgbWFzay1pbWFnZTogdXJsKFwiLi4vLi4vLi4vaW1nL2VsZW1lbnQtaWNvbnMvZ3JvdXAtbWVtYmVycy5zdmdcIik7XG4gICAgICAgIC13ZWJraXQtbWFzay1zaXplOiAxNnB4O1xuICAgICAgICAgICAgICAgIG1hc2stc2l6ZTogMTZweDtcbiAgICAgICAgd2lkdGg6IDE2cHg7XG4gICAgICAgIGhlaWdodDogMTZweDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAycHg7XG4gICAgfVxuXG4vKlxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXG5Db3B5cmlnaHQgMjAxNSwgMjAxNiBPcGVuTWFya2V0IEx0ZFxuXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXG4qL1xuXG4ubXhfTWVtYmVyTGlzdCB7XG4gICAgLXdlYmtpdC1ib3gtZmxleDogMTtcbiAgICAgICAgLW1zLWZsZXg6IDE7XG4gICAgICAgICAgICBmbGV4OiAxO1xuICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcbiAgICAtd2Via2l0LWJveC1kaXJlY3Rpb246IG5vcm1hbDtcbiAgICAgICAgLW1zLWZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIG1pbi1oZWlnaHQ6IDA7XG59XG5cbi5teF9NZW1iZXJMaXN0IC5teF9TcGlubmVyIHtcbiAgICAgICAgLXdlYmtpdC1ib3gtZmxleDogMTtcbiAgICAgICAgICAgIC1tcy1mbGV4OiAxIDAgYXV0bztcbiAgICAgICAgICAgICAgICBmbGV4OiAxIDAgYXV0bztcbiAgICB9XG5cbi5teF9NZW1iZXJMaXN0IC5teF9TZWFyY2hCb3gge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA1cHg7XG4gICAgfVxuXG4ubXhfTWVtYmVyTGlzdCBoMiB7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIGNvbG9yOiAjZWRmM2ZmO1xuICAgICAgICBmb250LXdlaWdodDogdmFyKC0tY3BkLWZvbnQtd2VpZ2h0LXNlbWlib2xkKTtcbiAgICAgICAgZm9udC1zaXplOiAwLjgxMjVyZW07XG4gICAgICAgIHBhZGRpbmctbGVmdDogM3B4O1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxMnB4O1xuICAgICAgICBtYXJnaW4tdG9wOiA4cHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDRweDtcbiAgICB9XG5cbi5teF9NZW1iZXJMaXN0IC5teF9BdXRvSGlkZVNjcm9sbGJhciB7XG4gICAgICAgIC13ZWJraXQtYm94LWZsZXg6IDE7XG4gICAgICAgICAgICAtbXMtZmxleDogMSAxIDBweDtcbiAgICAgICAgICAgICAgICBmbGV4OiAxIDEgMDtcbiAgICAgICAgbWFyZ2luLXRvcDogdmFyKC0tY3BkLXNwYWNlLTN4KTtcbiAgICB9XG5cbi5teF9NZW1iZXJMaXN0X2NoZXZyb24ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogMzVweDtcbiAgICBtYXJnaW4tdG9wOiAtMTVweDtcbn1cblxuLm14X01lbWJlckxpc3RfYm9yZGVyIHtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuXG4gICAgLXdlYmtpdC1ib3gtb3JkaW5hbC1ncm91cDogMjtcblxuICAgICAgICAtbXMtZmxleC1vcmRlcjogMTtcblxuICAgICAgICAgICAgb3JkZXI6IDE7XG4gICAgLXdlYmtpdC1ib3gtZmxleDogMTtcbiAgICAgICAgLW1zLWZsZXg6IDEgMSAwcHg7XG4gICAgICAgICAgICBmbGV4OiAxIDEgMHB4O1xufVxuXG4ubXhfTWVtYmVyTGlzdF9xdWVyeSB7XG4gICAgaGVpZ2h0OiAxNnB4O1xufVxuXG4vKiBzdHJpY3RlciBydWxlIHRvIG92ZXJyaWRlIHRoZSBvbmUgaW4gX2NvbW1vbi5wY3NzICovXG5cbi5teF9NZW1iZXJMaXN0X3F1ZXJ5W3R5cGU9XCJ0ZXh0XCJdIHtcbiAgICAgICAgZm9udC1zaXplOiAwLjc1cmVtO1xuICAgIH1cblxuLm14X01lbWJlckxpc3Rfd3JhcHBlciB7XG4gICAgcGFkZGluZzogMTBweDtcbn1cblxuLm14X01lbWJlckxpc3RfaW52aXRlIHtcbiAgICBtYXJnaW46IDAgdmFyKC0tY3BkLXNwYWNlLTJ4KTtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gdmFyKC0tY3BkLXNwYWNlLTR4KSk7XG59XG5cbi8qXG5Db3B5cmlnaHQgMjAxOC0yMDI0IE5ldyBWZWN0b3IgTHRkLlxuQ29weXJpZ2h0IDIwMTUsIDIwMTYgT3Blbk1hcmtldCBMdGRcblxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuKi9cblxuLm14X01lc3NhZ2VDb21wb3Nlcl93cmFwcGVyIHtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIG1hcmdpbjogYXV0bztcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tcm9vbWxpc3Qtc2VwYXJhdG9yLWNvbG9yKTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZy1sZWZ0OiA0MnB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDE2cHg7XG59XG5cbi5teF9NZXNzYWdlQ29tcG9zZXJfcmVwbGFjZWRfd3JhcHBlciB7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xufVxuXG4ubXhfTWVzc2FnZUNvbXBvc2VyX3JlcGxhY2VkX3ZhbGlnbiB7XG4gICAgaGVpZ2h0OiA2MHB4O1xuICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cblxuLm14X01lc3NhZ2VDb21wb3Nlcl9yb29tUmVwbGFjZWRfaWNvbiB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xuICAgIG1hcmdpbi10b3A6IDVweDtcbiAgICB3aWR0aDogMzFweDtcbiAgICBoZWlnaHQ6IDMxcHg7XG59XG5cbi5teF9NZXNzYWdlQ29tcG9zZXJfcm9vbVJlcGxhY2VkX2hlYWRlciB7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbi5teF9NZXNzYWdlQ29tcG9zZXJfYXV0b2NvbXBsZXRlX3dyYXBwZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBoZWlnaHQ6IDA7XG59XG5cbi5teF9NZXNzYWdlQ29tcG9zZXJfcm93IHtcbiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIC13ZWJraXQtYm94LW9yaWVudDogaG9yaXpvbnRhbDtcbiAgICAtd2Via2l0LWJveC1kaXJlY3Rpb246IG5vcm1hbDtcbiAgICAgICAgLW1zLWZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHdpZHRoOiAxMDAlO1xufVxuXG4ubXhfTWVzc2FnZUNvbXBvc2VyX2FjdGlvbnMge1xuICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiA2cHg7XG59XG5cbi5teF9NZXNzYWdlQ29tcG9zZXIgLm14X01lc3NhZ2VDb21wb3Nlcl9hdmF0YXIge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGxlZnQ6IDI2cHg7XG4gICAgfVxuXG4ubXhfTWVzc2FnZUNvbXBvc2VyIC5teF9NZXNzYWdlQ29tcG9zZXJfYXZhdGFyIC5teF9CYXNlQXZhdGFyIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB9XG5cbi5teF9NZXNzYWdlQ29tcG9zZXJfY29tcG9zZWNvbnRyb2xzIHtcbiAgICB3aWR0aDogMTAwJTtcbn1cblxuLm14X01lc3NhZ2VDb21wb3Nlcl9lMmVJY29uV3JhcHBlciB7XG4gICAgaGVpZ2h0OiAxMnB4OyAvKiBNYXRjaCB0aGUgaGVpZ2h0IG9mIHRoZSBFMkUgaWNvbiBmb3IgYWxpZ25tZW50ICovXG59XG5cbi5teF9NZXNzYWdlQ29tcG9zZXJfZTJlSWNvbi5teF9FMkVJY29uIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogMjBweDtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7IC8qIENvdW50ZXJhY3QgdGhlIEUyRUljb24gY2xhc3MgKi9cbiAgICBtYXJnaW4tbGVmdDogM3B4OyAvKiBDb3VudGVyYWN0IHRoZSBFMkVJY29uIGNsYXNzICovXG4gICAgd2lkdGg6IDEycHg7XG4gICAgaGVpZ2h0OiAxMnB4O1xufVxuXG4ubXhfTWVzc2FnZUNvbXBvc2VyX25vcGVybV9lcnJvciB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiA2MHB4O1xuICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICBjb2xvcjogdmFyKC0tdGltZWxpbmUtdGV4dC1zZWNvbmRhcnktY29sb3IpO1xuICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgLXdlYmtpdC1ib3gtcGFjazogY2VudGVyO1xuICAgICAgICAtbXMtZmxleC1wYWNrOiBjZW50ZXI7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cblxuLm14X01lc3NhZ2VDb21wb3Nlcl9pbnB1dF93cmFwcGVyIHtcbiAgICAtd2Via2l0LWJveC1mbGV4OiAxO1xuICAgICAgICAtbXMtZmxleDogMTtcbiAgICAgICAgICAgIGZsZXg6IDE7XG4gICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gICAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xuICAgIC13ZWJraXQtYm94LWRpcmVjdGlvbjogbm9ybWFsO1xuICAgICAgICAtbXMtZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgY3Vyc29yOiB0ZXh0O1xufVxuXG4ubXhfTWVzc2FnZUNvbXBvc2VyX2lucHV0IHtcbiAgICAtd2Via2l0LWJveC1mbGV4OiAxO1xuICAgICAgICAtbXMtZmxleDogMTtcbiAgICAgICAgICAgIGZsZXg6IDE7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWw7XG4gICAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiBub3JtYWw7XG4gICAgICAgIC1tcy1mbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBtaW4taGVpZ2h0OiA2MHB4O1xuICAgIC13ZWJraXQtYm94LXBhY2s6IHN0YXJ0O1xuICAgICAgICAtbXMtZmxleC1wYWNrOiBzdGFydDtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAtd2Via2l0LWJveC1hbGlnbjogc3RhcnQ7XG4gICAgICAgIC1tcy1mbGV4LWFsaWduOiBzdGFydDtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgIGZvbnQ6IHZhcigtLWNwZC1mb250LWJvZHktbWQtcmVndWxhcik7XG4gICAgbWFyZ2luLXJpZ2h0OiA2cHg7XG59XG5cbi5teF9NZXNzYWdlQ29tcG9zZXJfaW5wdXQgcHJlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjA0KTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogM3B4O1xuICAgICAgICBwYWRkaW5nOiAxMHB4O1xuICAgIH1cblxuLm14X01lc3NhZ2VDb21wb3Nlcl9pbnB1dCB0ZXh0YXJlYSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgcGFkZGluZzogMHB4O1xuICAgICAgICBtYXJnaW4tdG9wOiA2cHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDZweDtcbiAgICAgICAgYm9yZGVyOiAwcHg7XG4gICAgICAgIHJlc2l6ZTogbm9uZTtcbiAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgICAgLXdlYmtpdC1ib3gtc2hhZG93OiBub25lO1xuICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICAgIGNvbG9yOiB2YXIoLS10aW1lbGluZS10ZXh0LWNvbG9yKTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdGltZWxpbmUtYmFja2dyb3VuZC1jb2xvcik7XG4gICAgICAgIGZvbnQ6IHZhcigtLWNwZC1mb250LWJvZHktbWQtcmVndWxhcik7XG4gICAgICAgIG1heC1oZWlnaHQ6IDEyMHB4O1xuICAgICAgICBvdmVyZmxvdzogYXV0bztcbiAgICB9XG5cbi8qIGhhY2sgZm9yIEZGIGFzIHZlcnRpY2FsIGFsaWdubWVudCBvZiBjdXN0b20gcGxhY2Vob2xkZXIgdGV4dCBpcyBicm9rZW4gKi9cblxuLm14X01lc3NhZ2VDb21wb3Nlcl9pbnB1dCB0ZXh0YXJlYTo6LW1vei1wbGFjZWhvbGRlciB7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIGNvbG9yOiAjMGRiZDhiO1xuICAgICAgICAgICAgY29sb3I6IHZhcigtLWFjY2VudC1jb2xvciwgIzBkYmQ4Yik7XG4gICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB9XG5cbi5teF9NZXNzYWdlQ29tcG9zZXJfaW5wdXQgdGV4dGFyZWE6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIge1xuICAgICAgICAgICAgY29sb3I6ICMwZGJkOGI7XG4gICAgICAgICAgICBjb2xvcjogdmFyKC0tYWNjZW50LWNvbG9yLCAjMGRiZDhiKTtcbiAgICAgICAgfVxuXG4ubXhfTWVzc2FnZUNvbXBvc2VyX2VkaXRvciB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWF4LWhlaWdodDogMTIwcHg7XG4gICAgbWluLWhlaWdodDogMTlweDtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgICB3b3JkLWJyZWFrOiBicmVhay13b3JkO1xuXG4gICAgLyogRklYTUU6IHJhdGhlciB1bnBsZWFzYW50IGhhY2sgdG8gZ2V0IHJpZCBvZiA8cC8+IG1hcmdpbnMuICovXG59XG5cbi8qIHJlYWxseSB3ZSBzaG91bGQgYmUgbWl4aW5nIGluIG1hcmtkb3duLWJvZHkgZnJvbSBnaXRodWItbWFya2Rvd24tY3NzIGluc3RlYWQgKi9cblxuLm14X01lc3NhZ2VDb21wb3Nlcl9lZGl0b3IgPiA6Zmlyc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4ubXhfTWVzc2FnZUNvbXBvc2VyX2VkaXRvciA+IDpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xuICAgIH1cblxuQGtleWZyYW1lcyB2aXN1YWxiZWxsIHtcbiAgICBmcm9tIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzgwMDtcbiAgICB9XG4gICAgdG8ge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS10aW1lbGluZS1iYWNrZ3JvdW5kLWNvbG9yKTtcbiAgICB9XG59XG5cbi5teF9NZXNzYWdlQ29tcG9zZXJfaW5wdXRfZXJyb3Ige1xuICAgIC13ZWJraXQtYW5pbWF0aW9uOiAwLjJzIHZpc3VhbGJlbGw7XG4gICAgICAgICAgICBhbmltYXRpb246IDAuMnMgdmlzdWFsYmVsbDtcbn1cblxuLm14X01lc3NhZ2VDb21wb3Nlcl9idXR0b25faGlnaGxpZ2h0IHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jcGQtY29sb3ItYmctc3VidGxlLXByaW1hcnkpO1xufVxuXG4ubXhfTWVzc2FnZUNvbXBvc2VyX2J1dHRvbl9oaWdobGlnaHQ6OmJlZm9yZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNwZC1jb2xvci1pY29uLXByaW1hcnkpICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4ubXhfTWVzc2FnZUNvbXBvc2VyX2J1dHRvbiB7XG4gICAgLS1zaXplOiAyNnB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgaGVpZ2h0OiAyNnB4O1xuICAgIGhlaWdodDogdmFyKC0tc2l6ZSk7XG4gICAgbGluZS1oZWlnaHQ6IDI2cHg7XG4gICAgbGluZS1oZWlnaHQ6IHZhcigtLXNpemUpO1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIHBhZGRpbmctbGVmdDogMjZweDtcbiAgICBwYWRkaW5nLWxlZnQ6IHZhcigtLXNpemUpO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbn1cblxuLm14X01lc3NhZ2VDb21wb3Nlcl9idXR0b246OmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAzcHg7XG4gICAgICAgIGxlZnQ6IDNweDtcbiAgICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgICAgICB3aWR0aDogMjBweDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0taWNvbi1idXR0b24tY29sb3IsIHZhcigtLWNwZC1jb2xvci1pY29uLXRlcnRpYXJ5KSk7XG4gICAgICAgIC13ZWJraXQtbWFzay1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgICAgICAgICBtYXNrLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAtd2Via2l0LW1hc2stc2l6ZTogY29udGFpbjtcbiAgICAgICAgICAgICAgICBtYXNrLXNpemU6IGNvbnRhaW47XG4gICAgICAgIC13ZWJraXQtbWFzay1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgICAgICAgICAgIG1hc2stcG9zaXRpb246IGNlbnRlcjtcbiAgICAgICAgei1pbmRleDogMjtcbiAgICB9XG5cbi5teF9NZXNzYWdlQ29tcG9zZXJfYnV0dG9uOjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICB6LWluZGV4OiAwO1xuICAgICAgICB3aWR0aDogdmFyKC0tc2l6ZSk7XG4gICAgICAgIGhlaWdodDogdmFyKC0tc2l6ZSk7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICB9XG5cbi5teF9NZXNzYWdlQ29tcG9zZXJfYnV0dG9uOmhvdmVyOjphZnRlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jcGQtY29sb3ItYmctc3VidGxlLXByaW1hcnkpO1xuICAgICAgICB9XG5cbi5teF9NZXNzYWdlQ29tcG9zZXJfYnV0dG9uOmhvdmVyOjpiZWZvcmUge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY3BkLWNvbG9yLWljb24tcHJpbWFyeSk7XG4gICAgICAgIH1cblxuLm14X01lc3NhZ2VDb21wb3Nlcl9idXR0b246bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICB9XG5cbi5teF9NZXNzYWdlQ29tcG9zZXJfYnV0dG9uLm14X01lc3NhZ2VDb21wb3Nlcl9jbG9zZUJ1dHRvbk1lbnU6OmFmdGVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWNwZC1jb2xvci1iZy1zdWJ0bGUtcHJpbWFyeSk7XG4gICAgICAgIH1cblxuLm14X01lc3NhZ2VDb21wb3Nlcl9idXR0b24ubXhfTWVzc2FnZUNvbXBvc2VyX2Nsb3NlQnV0dG9uTWVudTo6YmVmb3JlIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNwZC1jb2xvci1pY29uLXByaW1hcnkpO1xuICAgICAgICAgICAgei1pbmRleDogMjtcbiAgICAgICAgfVxuXG4ubXhfTWVzc2FnZUNvbXBvc2VyX2J1dHRvbi5teF9NZXNzYWdlQ29tcG9zZXJfaGFuZ3VwOm5vdCgubXhfQWNjZXNzaWJsZUJ1dHRvbl9kaXNhYmxlZCk6OmJlZm9yZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZjViNTU7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWFsZXJ0LCAjZmY1YjU1KTtcbiAgICB9XG5cbi5teF9NZXNzYWdlQ29tcG9zZXJfd3lzaXd5ZyAubXhfTWVzc2FnZUNvbXBvc2VyX3dyYXBwZXIge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDE2cHg7XG4gICAgICAgIG1hcmdpbi10b3A6IDZweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTJweDtcbiAgICB9XG5cbi5teF9NZXNzYWdlQ29tcG9zZXJfd3lzaXd5ZyAubXhfTWVzc2FnZUNvbXBvc2VyX3JvdyB7XG4gICAgICAgIC13ZWJraXQtYm94LWFsaWduOiBlbmQ7XG4gICAgICAgICAgICAtbXMtZmxleC1hbGlnbjogZW5kO1xuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgICB9XG5cbi5teF9NZXNzYWdlQ29tcG9zZXJfd3lzaXd5ZyAubXhfTWVzc2FnZUNvbXBvc2VyX2FjdGlvbnMge1xuICAgICAgICAvKiBIZWlnaHQgb2YgdGhlIGNvbXBvc2VyIGVkaXRvciAqL1xuICAgICAgICBoZWlnaHQ6IDQwcHg7XG4gICAgfVxuXG4ubXhfTWVzc2FnZUNvbXBvc2VyX3d5c2l3eWcgLm14X01lZGlhQm9keSB7XG4gICAgICAgIHBhZGRpbmctdG9wOiA0cHg7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiA0cHg7XG4gICAgfVxuXG4ubXhfTWVzc2FnZUNvbXBvc2VyX3d5c2l3eWcgLm14X01lc3NhZ2VDb21wb3Nlcl9idXR0b24ge1xuICAgICAgICAtLXNpemU6IDI2cHg7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBoZWlnaHQ6IDI2cHg7XG4gICAgICAgIGhlaWdodDogdmFyKC0tc2l6ZSk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyNnB4O1xuICAgICAgICBsaW5lLWhlaWdodDogdmFyKC0tc2l6ZSk7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDI2cHg7XG4gICAgICAgIHBhZGRpbmctbGVmdDogdmFyKC0tc2l6ZSk7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgICB9XG5cbi5teF9NZXNzYWdlQ29tcG9zZXJfd3lzaXd5ZyAubXhfTWVzc2FnZUNvbXBvc2VyX2J1dHRvbjo6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDNweDtcbiAgICAgICAgbGVmdDogM3B4O1xuICAgICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pY29uLWJ1dHRvbi1jb2xvciwgdmFyKC0tY3BkLWNvbG9yLWljb24tdGVydGlhcnkpKTtcbiAgICAgICAgLXdlYmtpdC1tYXNrLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgICAgICAgIG1hc2stcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgIC13ZWJraXQtbWFzay1zaXplOiBjb250YWluO1xuICAgICAgICAgICAgICAgIG1hc2stc2l6ZTogY29udGFpbjtcbiAgICAgICAgLXdlYmtpdC1tYXNrLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgbWFzay1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgICB6LWluZGV4OiAyO1xuICAgIH1cblxuLm14X01lc3NhZ2VDb21wb3Nlcl93eXNpd3lnIC5teF9NZXNzYWdlQ29tcG9zZXJfYnV0dG9uOjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICB6LWluZGV4OiAwO1xuICAgICAgICB3aWR0aDogdmFyKC0tc2l6ZSk7XG4gICAgICAgIGhlaWdodDogdmFyKC0tc2l6ZSk7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgICB9XG5cbi5teF9NZXNzYWdlQ29tcG9zZXJfd3lzaXd5ZyAubXhfTWVzc2FnZUNvbXBvc2VyX2J1dHRvbjpob3Zlcjo6YWZ0ZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tcGFuZWxzLCB2YXIoLS1jcGQtY29sb3ItZ3JheS02MDApKTtcbiAgICAgICAgfVxuXG4ubXhfTWVzc2FnZUNvbXBvc2VyX3d5c2l3eWcgLm14X01lc3NhZ2VDb21wb3Nlcl9idXR0b246aG92ZXI6OmJlZm9yZSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWRmM2ZmO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdGVydGlhcnktY29udGVudCwgI2VkZjNmZik7XG4gICAgICAgIH1cblxuLm14X01lc3NhZ2VDb21wb3Nlcl93eXNpd3lnIC5teF9NZXNzYWdlQ29tcG9zZXJfYnV0dG9uLm14X01lc3NhZ2VDb21wb3Nlcl9jbG9zZUJ1dHRvbk1lbnU6OmFmdGVyIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1hY2NlbnQtY29sb3ItMzAwKTtcbiAgICAgICAgICAgIH1cblxuLm14X01lc3NhZ2VDb21wb3Nlcl93eXNpd3lnIC5teF9NZXNzYWdlQ29tcG9zZXJfYnV0dG9uLm14X01lc3NhZ2VDb21wb3Nlcl9jbG9zZUJ1dHRvbk1lbnU6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzBkYmQ4YjtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1hY2NlbnQtY29sb3IsICMwZGJkOGIpO1xuICAgICAgICAgICAgICAgIHotaW5kZXg6IDI7XG4gICAgICAgICAgICB9XG5cbi5teF9NZXNzYWdlQ29tcG9zZXJfd3lzaXd5ZyAubXhfTWVzc2FnZUNvbXBvc2VyX2J1dHRvbi5teF9NZXNzYWdlQ29tcG9zZXJfaGFuZ3VwOm5vdCgubXhfQWNjZXNzaWJsZUJ1dHRvbl9kaXNhYmxlZCk6OmJlZm9yZSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmY1YjU1O1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYWxlcnQsICNmZjViNTUpO1xuICAgICAgICB9XG5cbi5teF9NZXNzYWdlQ29tcG9zZXJfdXBsb2FkOjpiZWZvcmUge1xuICAgIC13ZWJraXQtbWFzay1pbWFnZTogdXJsKFwiLi4vLi4vLi4vaW1nL2VsZW1lbnQtaWNvbnMvcm9vbS9jb21wb3Nlci9hdHRhY2guc3ZnXCIpO1xuICAgICAgICAgICAgbWFzay1pbWFnZTogdXJsKFwiLi4vLi4vLi4vaW1nL2VsZW1lbnQtaWNvbnMvcm9vbS9jb21wb3Nlci9hdHRhY2guc3ZnXCIpO1xufVxuXG4ubXhfTWVzc2FnZUNvbXBvc2VyX3BvbGw6OmJlZm9yZSB7XG4gICAgLXdlYmtpdC1tYXNrLWltYWdlOiB1cmwoXCIuLi8uLi8uLi9pbWcvZWxlbWVudC1pY29ucy9yb29tL2NvbXBvc2VyL3BvbGwuc3ZnXCIpO1xuICAgICAgICAgICAgbWFzay1pbWFnZTogdXJsKFwiLi4vLi4vLi4vaW1nL2VsZW1lbnQtaWNvbnMvcm9vbS9jb21wb3Nlci9wb2xsLnN2Z1wiKTtcbn1cblxuLm14X01lc3NhZ2VDb21wb3Nlcl92b2ljZU1lc3NhZ2U6OmJlZm9yZSB7XG4gICAgLXdlYmtpdC1tYXNrLWltYWdlOiB1cmwoXCJAdmVjdG9yLWltL2NvbXBvdW5kLWRlc2lnbi10b2tlbnMvaWNvbnMvbWljLW9uLXNvbGlkLnN2Z1wiKTtcbiAgICAgICAgICAgIG1hc2staW1hZ2U6IHVybChcIkB2ZWN0b3ItaW0vY29tcG91bmQtZGVzaWduLXRva2Vucy9pY29ucy9taWMtb24tc29saWQuc3ZnXCIpO1xufVxuXG4ubXhfTWVzc2FnZUNvbXBvc2VyX3BsYWluX3RleHQ6OmJlZm9yZSB7XG4gICAgLXdlYmtpdC1tYXNrLWltYWdlOiB1cmwoXCIuLi8uLi8uLi9pbWcvZWxlbWVudC1pY29ucy9yb29tL2NvbXBvc2VyL3BsYWluX3RleHQuc3ZnXCIpO1xuICAgICAgICAgICAgbWFzay1pbWFnZTogdXJsKFwiLi4vLi4vLi4vaW1nL2VsZW1lbnQtaWNvbnMvcm9vbS9jb21wb3Nlci9wbGFpbl90ZXh0LnN2Z1wiKTtcbn1cblxuLm14X01lc3NhZ2VDb21wb3Nlcl9yaWNoX3RleHQ6OmJlZm9yZSB7XG4gICAgLXdlYmtpdC1tYXNrLWltYWdlOiB1cmwoXCJAdmVjdG9yLWltL2NvbXBvdW5kLWRlc2lnbi10b2tlbnMvaWNvbnMvdGV4dC1mb3JtYXR0aW5nLnN2Z1wiKTtcbiAgICAgICAgICAgIG1hc2staW1hZ2U6IHVybChcIkB2ZWN0b3ItaW0vY29tcG91bmQtZGVzaWduLXRva2Vucy9pY29ucy90ZXh0LWZvcm1hdHRpbmcuc3ZnXCIpO1xufVxuXG4ubXhfTWVzc2FnZUNvbXBvc2VyX2xvY2F0aW9uOjpiZWZvcmUge1xuICAgIC13ZWJraXQtbWFzay1pbWFnZTogdXJsKFwiQHZlY3Rvci1pbS9jb21wb3VuZC1kZXNpZ24tdG9rZW5zL2ljb25zL2xvY2F0aW9uLXBpbi1zb2xpZC5zdmdcIik7XG4gICAgICAgICAgICBtYXNrLWltYWdlOiB1cmwoXCJAdmVjdG9yLWltL2NvbXBvdW5kLWRlc2lnbi10b2tlbnMvaWNvbnMvbG9jYXRpb24tcGluLXNvbGlkLnN2Z1wiKTtcbn1cblxuLm14X01lc3NhZ2VDb21wb3Nlcl9zdGlja2Vyczo6YmVmb3JlIHtcbiAgICAtd2Via2l0LW1hc2staW1hZ2U6IHVybChcIi4uLy4uLy4uL2ltZy9lbGVtZW50LWljb25zL3Jvb20vY29tcG9zZXIvc3RpY2tlci5zdmdcIik7XG4gICAgICAgICAgICBtYXNrLWltYWdlOiB1cmwoXCIuLi8uLi8uLi9pbWcvZWxlbWVudC1pY29ucy9yb29tL2NvbXBvc2VyL3N0aWNrZXIuc3ZnXCIpO1xufVxuXG4ubXhfTWVzc2FnZUNvbXBvc2VyX2J1dHRvbk1lbnU6OmJlZm9yZSB7XG4gICAgLXdlYmtpdC1tYXNrLWltYWdlOiB1cmwoXCJAdmVjdG9yLWltL2NvbXBvdW5kLWRlc2lnbi10b2tlbnMvaWNvbnMvb3ZlcmZsb3ctaG9yaXpvbnRhbC5zdmdcIik7XG4gICAgICAgICAgICBtYXNrLWltYWdlOiB1cmwoXCJAdmVjdG9yLWltL2NvbXBvdW5kLWRlc2lnbi10b2tlbnMvaWNvbnMvb3ZlcmZsb3ctaG9yaXpvbnRhbC5zdmdcIik7XG4gICAgLXdlYmtpdC1tYXNrLXNpemU6IDI0cHg7XG4gICAgICAgICAgICBtYXNrLXNpemU6IDI0cHg7XG59XG5cbi5teF9NZXNzYWdlQ29tcG9zZXJfc2VuZE1lc3NhZ2Uge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgd2lkdGg6IDMycHg7XG4gICAgaGVpZ2h0OiAzMnB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDEwMCU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY3BkLWNvbG9yLWljb24tYWNjZW50LXRlcnRpYXJ5KTtcbn1cblxuLm14X01lc3NhZ2VDb21wb3Nlcl9zZW5kTWVzc2FnZTo6YmVmb3JlIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBoZWlnaHQ6IDE2cHg7XG4gICAgICAgIHdpZHRoOiAxNnB4O1xuICAgICAgICB0b3A6IDhweDtcbiAgICAgICAgbGVmdDogOXB4O1xuXG4gICAgICAgIC13ZWJraXQtbWFzay1pbWFnZTogdXJsKFwiQHZlY3Rvci1pbS9jb21wb3VuZC1kZXNpZ24tdG9rZW5zL2ljb25zL3NlbmQtc29saWQuc3ZnXCIpO1xuXG4gICAgICAgICAgICAgICAgbWFzay1pbWFnZTogdXJsKFwiQHZlY3Rvci1pbS9jb21wb3VuZC1kZXNpZ24tdG9rZW5zL2ljb25zL3NlbmQtc29saWQuc3ZnXCIpO1xuICAgICAgICAtd2Via2l0LW1hc2stcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgICAgICAgbWFzay1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgLXdlYmtpdC1tYXNrLXNpemU6IGNvbnRhaW47XG4gICAgICAgICAgICAgICAgbWFzay1zaXplOiBjb250YWluO1xuICAgICAgICAtd2Via2l0LW1hc2stcG9zaXRpb246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBtYXNrLXBvc2l0aW9uOiBjZW50ZXI7XG5cbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY3BkLWNvbG9yLWljb24tb24tc29saWQtcHJpbWFyeSk7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgfVxuXG4ubXhfTWF0cml4Q2hhdF91c2VDb21wYWN0TGF5b3V0IC5teF9NZXNzYWdlQ29tcG9zZXJfaW5wdXQge1xuICAgICAgICBtaW4taGVpZ2h0OiA1MHB4O1xuICAgIH1cblxuLm14X01hdHJpeENoYXRfdXNlQ29tcGFjdExheW91dCAubXhfTWVzc2FnZUNvbXBvc2VyX25vcGVybV9lcnJvciB7XG4gICAgICAgIGhlaWdodDogNTBweDtcbiAgICB9XG5cbi8qKlxuICogVW5zdGFibGUgY29tcGFjdCBtb2RlXG4gKi9cblxuLm14X01lc3NhZ2VDb21wb3Nlci5teF9NZXNzYWdlQ29tcG9zZXItLWNvbXBhY3Qge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbn1cblxuLm14X01lc3NhZ2VDb21wb3Nlci5teF9NZXNzYWdlQ29tcG9zZXItLWNvbXBhY3QgLm14X01lc3NhZ2VDb21wb3Nlcl93cmFwcGVyIHtcbiAgICAgICAgcGFkZGluZzogMCAwIDAgMjVweDtcbiAgICB9XG5cbi5teF9NZXNzYWdlQ29tcG9zZXIubXhfTWVzc2FnZUNvbXBvc2VyLS1jb21wYWN0Om5vdCgubXhfTWVzc2FnZUNvbXBvc2VyX2UyZVN0YXR1cykgLm14X01lc3NhZ2VDb21wb3Nlcl93cmFwcGVyIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIH1cblxuLm14X01lc3NhZ2VDb21wb3Nlci5teF9NZXNzYWdlQ29tcG9zZXItLWNvbXBhY3QgLm14X01lc3NhZ2VDb21wb3Nlcl9idXR0b246bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICB9XG5cbi5teF9NZXNzYWdlQ29tcG9zZXIubXhfTWVzc2FnZUNvbXBvc2VyLS1jb21wYWN0IC5teF9NZXNzYWdlQ29tcG9zZXJfZTJlSWNvbiB7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgfVxuXG4vKlxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXG5Db3B5cmlnaHQgMjAxOSBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxuXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXG4qL1xuXG4ubXhfTWVzc2FnZUNvbXBvc2VyRm9ybWF0QmFyIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIHdpZHRoOiBjYWxjKDMycHggKiA2KTtcbiAgICBoZWlnaHQ6IDMycHg7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdGltZWxpbmUtYmFja2dyb3VuZC1jb2xvcik7XG4gICAgYm9yZGVyOiB2YXIoLS1jcGQtYm9yZGVyLXdpZHRoLTEpIHNvbGlkIHZhcigtLWNwZC1jb2xvci1ib3JkZXItZGlzYWJsZWQpO1xuICAgIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgICAgLW1vei11c2VyLXNlbGVjdDogbm9uZTtcbiAgICAgICAgLW1zLXVzZXItc2VsZWN0OiBub25lO1xuICAgICAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgLyogZXF1YWwgdG8gei1pbmRleCBvZiBteF9SZXBseVByZXZpZXcgYW5kIG14X1Jvb21WaWV3X3N0YXR1c0FyZWEgKDEwMDApICovXG4gICAgLyogYnV0IGFzIGl0IGFwcGVhcnMgYWZ0ZXIgdGhlbSBpbiB0aGUgRE9NLCB3aWxsIGFwcGVhciBvbiB0b3AuICovXG4gICAgei1pbmRleDogMTAwMDtcbn1cblxuLm14X01lc3NhZ2VDb21wb3NlckZvcm1hdEJhci5teF9NZXNzYWdlQ29tcG9zZXJGb3JtYXRCYXJfc2hvd24ge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbi5teF9NZXNzYWdlQ29tcG9zZXJGb3JtYXRCYXIgPiAqIHtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIG1hcmdpbjogMnB4O1xuICAgIH1cblxuLm14X01lc3NhZ2VDb21wb3NlckZvcm1hdEJhciAubXhfTWVzc2FnZUNvbXBvc2VyRm9ybWF0QmFyX2J1dHRvbiB7XG4gICAgICAgIHdpZHRoOiAyOHB4O1xuICAgICAgICBoZWlnaHQ6IDI4cHg7XG4gICAgICAgIC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgfVxuXG4ubXhfTWVzc2FnZUNvbXBvc2VyRm9ybWF0QmFyIC5teF9NZXNzYWdlQ29tcG9zZXJGb3JtYXRCYXJfYnV0dG9uOmhvdmVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWNwZC1jb2xvci1iZy1zdWJ0bGUtc2Vjb25kYXJ5KTtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDZweDtcbiAgICAgICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgIH1cblxuLm14X01lc3NhZ2VDb21wb3NlckZvcm1hdEJhciAubXhfTWVzc2FnZUNvbXBvc2VyRm9ybWF0QmFyX2J1dHRvbjo6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgLXdlYmtpdC1tYXNrLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgICAgICAgIG1hc2stcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgIC13ZWJraXQtbWFzay1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgICAgICAgICAgIG1hc2stcG9zaXRpb246IGNlbnRlcjtcbiAgICAgICAgLXdlYmtpdC1tYXNrLXNpemU6IDIwcHg7XG4gICAgICAgICAgICAgICAgbWFzay1zaXplOiAyMHB4O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jcGQtY29sb3ItaWNvbi1zZWNvbmRhcnkpO1xuICAgIH1cblxuLm14X01lc3NhZ2VDb21wb3NlckZvcm1hdEJhciAubXhfTWVzc2FnZUNvbXBvc2VyRm9ybWF0QmFyX2J1dHRvbjpob3Zlcjo6YWZ0ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jcGQtY29sb3ItaWNvbi1wcmltYXJ5KTtcbiAgICB9XG5cbi5teF9NZXNzYWdlQ29tcG9zZXJGb3JtYXRCYXIgLm14X01lc3NhZ2VDb21wb3NlckZvcm1hdEJhcl9idXR0b25JY29uQm9sZDo6YWZ0ZXIge1xuICAgICAgICAtd2Via2l0LW1hc2staW1hZ2U6IHVybChcIkB2ZWN0b3ItaW0vY29tcG91bmQtZGVzaWduLXRva2Vucy9pY29ucy9ib2xkLnN2Z1wiKTtcbiAgICAgICAgICAgICAgICBtYXNrLWltYWdlOiB1cmwoXCJAdmVjdG9yLWltL2NvbXBvdW5kLWRlc2lnbi10b2tlbnMvaWNvbnMvYm9sZC5zdmdcIik7XG4gICAgfVxuXG4ubXhfTWVzc2FnZUNvbXBvc2VyRm9ybWF0QmFyIC5teF9NZXNzYWdlQ29tcG9zZXJGb3JtYXRCYXJfYnV0dG9uSWNvbkl0YWxpYzo6YWZ0ZXIge1xuICAgICAgICAtd2Via2l0LW1hc2staW1hZ2U6IHVybChcIkB2ZWN0b3ItaW0vY29tcG91bmQtZGVzaWduLXRva2Vucy9pY29ucy9pdGFsaWMuc3ZnXCIpO1xuICAgICAgICAgICAgICAgIG1hc2staW1hZ2U6IHVybChcIkB2ZWN0b3ItaW0vY29tcG91bmQtZGVzaWduLXRva2Vucy9pY29ucy9pdGFsaWMuc3ZnXCIpO1xuICAgIH1cblxuLm14X01lc3NhZ2VDb21wb3NlckZvcm1hdEJhciAubXhfTWVzc2FnZUNvbXBvc2VyRm9ybWF0QmFyX2J1dHRvbkljb25TdHJpa2V0aHJvdWdoOjphZnRlciB7XG4gICAgICAgIC13ZWJraXQtbWFzay1pbWFnZTogdXJsKFwiQHZlY3Rvci1pbS9jb21wb3VuZC1kZXNpZ24tdG9rZW5zL2ljb25zL3N0cmlrZXRocm91Z2guc3ZnXCIpO1xuICAgICAgICAgICAgICAgIG1hc2staW1hZ2U6IHVybChcIkB2ZWN0b3ItaW0vY29tcG91bmQtZGVzaWduLXRva2Vucy9pY29ucy9zdHJpa2V0aHJvdWdoLnN2Z1wiKTtcbiAgICB9XG5cbi5teF9NZXNzYWdlQ29tcG9zZXJGb3JtYXRCYXIgLm14X01lc3NhZ2VDb21wb3NlckZvcm1hdEJhcl9idXR0b25JY29uUXVvdGU6OmFmdGVyIHtcbiAgICAgICAgLXdlYmtpdC1tYXNrLWltYWdlOiB1cmwoXCJAdmVjdG9yLWltL2NvbXBvdW5kLWRlc2lnbi10b2tlbnMvaWNvbnMvcXVvdGUuc3ZnXCIpO1xuICAgICAgICAgICAgICAgIG1hc2staW1hZ2U6IHVybChcIkB2ZWN0b3ItaW0vY29tcG91bmQtZGVzaWduLXRva2Vucy9pY29ucy9xdW90ZS5zdmdcIik7XG4gICAgfVxuXG4ubXhfTWVzc2FnZUNvbXBvc2VyRm9ybWF0QmFyIC5teF9NZXNzYWdlQ29tcG9zZXJGb3JtYXRCYXJfYnV0dG9uSWNvbkNvZGU6OmFmdGVyIHtcbiAgICAgICAgLXdlYmtpdC1tYXNrLWltYWdlOiB1cmwoXCJAdmVjdG9yLWltL2NvbXBvdW5kLWRlc2lnbi10b2tlbnMvaWNvbnMvaW5saW5lLWNvZGUuc3ZnXCIpO1xuICAgICAgICAgICAgICAgIG1hc2staW1hZ2U6IHVybChcIkB2ZWN0b3ItaW0vY29tcG91bmQtZGVzaWduLXRva2Vucy9pY29ucy9pbmxpbmUtY29kZS5zdmdcIik7XG4gICAgfVxuXG4ubXhfTWVzc2FnZUNvbXBvc2VyRm9ybWF0QmFyIC5teF9NZXNzYWdlQ29tcG9zZXJGb3JtYXRCYXJfYnV0dG9uSWNvbkluc2VydExpbms6OmFmdGVyIHtcbiAgICAgICAgLXdlYmtpdC1tYXNrLWltYWdlOiB1cmwoXCJAdmVjdG9yLWltL2NvbXBvdW5kLWRlc2lnbi10b2tlbnMvaWNvbnMvbGluay5zdmdcIik7XG4gICAgICAgICAgICAgICAgbWFzay1pbWFnZTogdXJsKFwiQHZlY3Rvci1pbS9jb21wb3VuZC1kZXNpZ24tdG9rZW5zL2ljb25zL2xpbmsuc3ZnXCIpO1xuICAgIH1cblxuLm14X01lc3NhZ2VDb21wb3NlckZvcm1hdEJhcl9idXR0b25Ub29sdGlwIHtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1jcGQtZm9udC13ZWlnaHQtc2VtaWJvbGQpO1xuICAgIG1pbi13aWR0aDogNTRweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi8qXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cbkNvcHlyaWdodCAyMDIwIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXG5cblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cbiovXG5cbi5teF9OZXdSb29tSW50cm8ge1xuICAgIG1hcmdpbjogNDBweCAwIDQ4cHggNjRweDtcbn1cblxuLm14X05ld1Jvb21JbnRybyAubXhfTWluaUF2YXRhclVwbG9hZGVyX2hhc0F2YXRhcjpub3QoLm14X01pbmlBdmF0YXJVcGxvYWRlcl9idXN5KTpub3QoOmhvdmVyKSAubXhfTWluaUF2YXRhclVwbG9hZGVyX2luZGljYXRvciB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG5cbi5teF9OZXdSb29tSW50cm8gLm14X05ld1Jvb21JbnRyb19idXR0b25zIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMjhweDtcbiAgICAgICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gICAgICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAtbXMtZmxleC1mbG93OiB3cmFwO1xuICAgICAgICAgICAgZmxleC1mbG93OiB3cmFwO1xuICAgICAgICBnYXA6IDE0cHggMTJweDtcbiAgICB9XG5cbi5teF9OZXdSb29tSW50cm8gLm14X05ld1Jvb21JbnRyb19idXR0b25zIC5teF9BY2Nlc3NpYmxlQnV0dG9uIHtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjVyZW07XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIH1cblxuLm14X05ld1Jvb21JbnRybyAubXhfTmV3Um9vbUludHJvX2J1dHRvbnMgLm14X0FjY2Vzc2libGVCdXR0b246bm90KC5teF9BY2Nlc3NpYmxlQnV0dG9uX2tpbmRfcHJpbWFyeV9vdXRsaW5lKTo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgICAgICAgICAgICAgICAtd2Via2l0LW1hc2stcG9zaXRpb246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hc2stcG9zaXRpb246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAtd2Via2l0LW1hc2stcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXNrLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgICAgICAgIC13ZWJraXQtbWFzay1zaXplOiAyMHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFzay1zaXplOiAyMHB4O1xuICAgICAgICAgICAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgICAgICAgICAgIGhlaWdodDogMjBweDtcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDVweDtcbiAgICAgICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdGV4dC1ib3R0b207XG4gICAgICAgICAgICB9XG5cbi5teF9OZXdSb29tSW50cm8gLm14X05ld1Jvb21JbnRyb19idXR0b25zIC5teF9OZXdSb29tSW50cm9faW52aXRlQnV0dG9uOjpiZWZvcmUge1xuICAgICAgICAgICAgLXdlYmtpdC1tYXNrLWltYWdlOiB1cmwoXCIuLi8uLi8uLi9pbWcvZWxlbWVudC1pY29ucy9yb29tL2ludml0ZS5zdmdcIik7XG4gICAgICAgICAgICAgICAgICAgIG1hc2staW1hZ2U6IHVybChcIi4uLy4uLy4uL2ltZy9lbGVtZW50LWljb25zL3Jvb20vaW52aXRlLnN2Z1wiKTtcbiAgICAgICAgfVxuXG4ubXhfTmV3Um9vbUludHJvID4gaDIge1xuICAgICAgICBtYXJnaW4tdG9wOiAyNHB4O1xuICAgICAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLWNwZC1mb250LXdlaWdodC1zZW1pYm9sZCk7XG4gICAgfVxuXG4ubXhfTmV3Um9vbUludHJvID4gcCB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gICAgICAgIGNvbG9yOiAjZWRmM2ZmO1xuICAgICAgICBjb2xvcjogdmFyKC0tc2Vjb25kYXJ5LWNvbnRlbnQsICNlZGYzZmYpO1xuICAgIH1cblxuLypcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxuQ29weXJpZ2h0IDIwMjAgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cblxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuKi9cblxuLm14X05vdGlmaWNhdGlvbkJhZGdlIHtcblxuICAgIC8qIEJhZGdlcyBhcmUgc3RydWN0dXJlZCBhIGJpdCB3ZWlyZGx5IHRvIHdvcmsgYXJvdW5kIGlzc3VlcyB3aXRoIG5vbi1tb25vc3BhY2UgKi9cbiAgICAvKiBmb250IHN0eWxlcy4gVGhlIGJhZGdlIHBpbGwgaXMgYWN0dWFsbHkgYSBiYWNrZ3JvdW5kIGRpdiBhbmQgdGhlIGNvdW50IGZsb2F0cyAqL1xuICAgIC8qIHdpdGhpbiB0aGF0LiBGb3IgZXhhbXBsZTogKi9cbiAgICAvKiAgKCA5OSsgKSA8LS0gUm91bmRlZCBwaWxsIGlzIGEgX2JnIGNsYXNzLiAqL1xufVxuXG4ubXhfTm90aWZpY2F0aW9uQmFkZ2U6bm90KC5teF9Ob3RpZmljYXRpb25CYWRnZV92aXNpYmxlKSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4vKiAgICAgXi0gVGhlIGNvdW50IGlzIGFuIGVsZW1lbnQgZmxvYXRpbmcgd2l0aGluIHRoYXQuICovXG5cbi5teF9Ob3RpZmljYXRpb25CYWRnZS5teF9Ob3RpZmljYXRpb25CYWRnZV92aXNpYmxlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcm9vbWxpc3QtdGV4dC1zZWNvbmRhcnktY29sb3IpO1xuXG4gICAgICAgIC8qIENyZWF0ZSBhIGZsZXhib3ggdG8gb3JkZXIgdGhlIGNvdW50IGEgYml0IGVhc2llciAqL1xuICAgICAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgICAgICAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIC13ZWJraXQtYm94LXBhY2s6IGNlbnRlcjtcbiAgICAgICAgICAgIC1tcy1mbGV4LXBhY2s6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblxuICAgICAgICAvKiBUaGUgZm9sbG93aW5nIGlzIHRoZSBmbG9hdGluZyBiYWRnZSAqL1xuICAgIH1cblxuLyogVGhlc2UgYXJlIHRoZSAzIGJhY2tncm91bmQgdHlwZXMgKi9cblxuLm14X05vdGlmaWNhdGlvbkJhZGdlLm14X05vdGlmaWNhdGlvbkJhZGdlX3Zpc2libGUubXhfTm90aWZpY2F0aW9uQmFkZ2VfZG90IHtcbiAgICAgICAgICAgIHdpZHRoOiA4cHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDhweDtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNwZC1jb2xvci1pY29uLXByaW1hcnkpO1xuICAgICAgICB9XG5cbi5teF9Ob3RpZmljYXRpb25CYWRnZS5teF9Ob3RpZmljYXRpb25CYWRnZV92aXNpYmxlLm14X05vdGlmaWNhdGlvbkJhZGdlX2RvdCAubXhfTm90aWZpY2F0aW9uQmFkZ2VfY291bnQge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG5cbi8qIFJlZHVuZGFudCBzb3VuZGluZyBuYW1lLCBidXQgYSBub3RpZmljYXRpb24gYmFkZ2UgdGhhdCBpbmRpY2F0ZXMgdGhlcmUgaXMgYSByZWd1bGFyLFxuICAgICAgICAgICAgICogbm9uLWhpZ2hsaWdodCBub3RpZmljYXRpb25cbiAgICAgICAgICAgICAqIFRoZSBncmVlbiBjb2xvdXIgb25seSBhcHBsaWVzIGZvciBub3RpZmljYXRpb24gZG90OiBiYWRnZXMgaW5kaWNhdGluZyB0aGUgc2FtZSBub3RpZmljYXRpb25cbiAgICAgICAgICAgICAqIGxldmVsIGFyZSB0aGUgc3RhbmRhcmQgZ3JleS5cbiAgICAgICAgICAgICAqL1xuXG4ubXhfTm90aWZpY2F0aW9uQmFkZ2UubXhfTm90aWZpY2F0aW9uQmFkZ2VfdmlzaWJsZS5teF9Ob3RpZmljYXRpb25CYWRnZV9kb3QubXhfTm90aWZpY2F0aW9uQmFkZ2VfbGV2ZWxfbm90aWZpY2F0aW9uIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jcGQtY29sb3ItaWNvbi1zdWNjZXNzLXByaW1hcnkpO1xuICAgICAgICAgICAgfVxuXG4vKiBCYWRnZXMgZm9yIGhpZ2hsaWdodCBub3RpZmljYXRpb25zLiBTdHlsZSBmb3Igbm90aWZpY2F0aW9uIGxldmVsXG4gICAgICAgICAqIGJhZGdlcyBpcyBpbiBfRXZlbnRUaWxlLnNjc3MgYmVjYXVzZSBpdCBhcHBsaWVzIG9ubHkgdG8gbm90aWZpY2F0aW9uXG4gICAgICAgICAqIGRvdHMsIG5vdCBiYWRnZXMuXG4gICAgICAgICAqL1xuXG4ubXhfTm90aWZpY2F0aW9uQmFkZ2UubXhfTm90aWZpY2F0aW9uQmFkZ2VfdmlzaWJsZS5teF9Ob3RpZmljYXRpb25CYWRnZV9sZXZlbF9oaWdobGlnaHQge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY3BkLWNvbG9yLWljb24tY3JpdGljYWwtcHJpbWFyeSk7XG4gICAgICAgIH1cblxuLm14X05vdGlmaWNhdGlvbkJhZGdlLm14X05vdGlmaWNhdGlvbkJhZGdlX3Zpc2libGUubXhfTm90aWZpY2F0aW9uQmFkZ2Vfa25vY2tlZCB7XG4gICAgICAgICAgICAtd2Via2l0LW1hc2staW1hZ2U6IHVybChcIi4uLy4uLy4uL2ltZy9lbGVtZW50LWljb25zL2Fzay10by1qb2luLnN2Z1wiKTtcbiAgICAgICAgICAgICAgICAgICAgbWFzay1pbWFnZTogdXJsKFwiLi4vLi4vLi4vaW1nL2VsZW1lbnQtaWNvbnMvYXNrLXRvLWpvaW4uc3ZnXCIpO1xuICAgICAgICAgICAgd2lkdGg6IDEycHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDE2cHg7XG4gICAgICAgIH1cblxuLm14X05vdGlmaWNhdGlvbkJhZGdlLm14X05vdGlmaWNhdGlvbkJhZGdlX3Zpc2libGUubXhfTm90aWZpY2F0aW9uQmFkZ2VfMmNoYXIge1xuICAgICAgICAgICAgd2lkdGg6IDFyZW07XG4gICAgICAgICAgICBoZWlnaHQ6IDFyZW07XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAxcmVtO1xuICAgICAgICB9XG5cbi5teF9Ob3RpZmljYXRpb25CYWRnZS5teF9Ob3RpZmljYXRpb25CYWRnZV92aXNpYmxlLm14X05vdGlmaWNhdGlvbkJhZGdlXzNjaGFyIHtcbiAgICAgICAgICAgIHdpZHRoOiAxLjYyNXJlbTtcbiAgICAgICAgICAgIGhlaWdodDogMXJlbTtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDFyZW07XG4gICAgICAgIH1cblxuLm14X05vdGlmaWNhdGlvbkJhZGdlLm14X05vdGlmaWNhdGlvbkJhZGdlX3Zpc2libGUgLm14X05vdGlmaWNhdGlvbkJhZGdlX2NvdW50IHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMC42MjVyZW07XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMC44NzVyZW07XG4gICAgICAgICAgICBmb250LXdlaWdodDogdmFyKC0tY3BkLWZvbnQtd2VpZ2h0LXNlbWlib2xkKTtcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1jcGQtY29sb3ItdGV4dC1vbi1zb2xpZC1wcmltYXJ5KTtcbiAgICAgICAgfVxuXG4vKlxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXG5Db3B5cmlnaHQgMjAxNyBUcmF2aXMgUmFsc3RvblxuXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXG4qL1xuXG4ubXhfUGlubmVkRXZlbnRUaWxlIHtcbiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGdhcDogdmFyKC0tY3BkLXNwYWNlLTR4KTtcbiAgICAtd2Via2l0LWJveC1hbGlnbjogc3RhcnQ7XG4gICAgICAgIC1tcy1mbGV4LWFsaWduOiBzdGFydDtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xufVxuXG4ubXhfUGlubmVkRXZlbnRUaWxlIC5teF9QaW5uZWRFdmVudFRpbGVfd3JhcHBlciB7XG4gICAgICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICAgICAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcbiAgICAgICAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiBub3JtYWw7XG4gICAgICAgICAgICAtbXMtZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBnYXA6IHZhcigtLWNwZC1zcGFjZS0xeCk7XG4gICAgICAgIC8qIFJlbW92ZSBhdmF0YXIgd2lkdGggYW5kIHNwYWNlIGJldHdlZW4gdGhlIGF2YXRhciBhbmQgdGhlIHdyYXBwZXIgKi9cbiAgICAgICAgLyogV2UgbmVlZCBpdCB0byBtYWtlIHRoZSBsb2NhdGlvbiBmaXQgKi9cbiAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIHZhcigtLWNwZC1zcGFjZS00eCkgLSAzMnB4KTtcbiAgICAgICAgLyogUHJldmVudCBhIGxvbmcgc2VuZGVyIG5hbWUgdG8gb3ZlcmZsb3cgdGhlIHRpbGUgKi9cbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB9XG5cbi5teF9QaW5uZWRFdmVudFRpbGUgLm14X1Bpbm5lZEV2ZW50VGlsZV93cmFwcGVyIC5teF9QaW5uZWRFdmVudFRpbGVfdG9wIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICAgICAgICAgICAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZ2FwOiB2YXIoLS1jcGQtc3BhY2UtMXgpO1xuICAgICAgICAgICAgLXdlYmtpdC1ib3gtcGFjazoganVzdGlmeTtcbiAgICAgICAgICAgICAgICAtbXMtZmxleC1wYWNrOiBqdXN0aWZ5O1xuICAgICAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgICAgICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIH1cblxuLm14X1Bpbm5lZEV2ZW50VGlsZSAubXhfUGlubmVkRXZlbnRUaWxlX3dyYXBwZXIgLm14X1Bpbm5lZEV2ZW50VGlsZV90b3AgLm14X1Bpbm5lZEV2ZW50VGlsZV9zZW5kZXIge1xuICAgICAgICAgICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgICAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgICAgICAgICBmb250OiB2YXIoLS1jcGQtZm9udC1ib2R5LW1kLXNlbWlib2xkKTtcbiAgICAgICAgICAgIH1cblxuLm14X1Bpbm5lZEV2ZW50VGlsZSAubXhfUGlubmVkRXZlbnRUaWxlX3dyYXBwZXIgLm14X1Bpbm5lZEV2ZW50VGlsZV90aHJlYWQge1xuICAgICAgICAgICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gICAgICAgICAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBnYXA6IHZhcigtLWNwZC1zcGFjZS0yeCk7XG4gICAgICAgICAgICBmb250OiB2YXIoLS1jcGQtZm9udC1ib2R5LXNtLXJlZ3VsYXIpO1xuICAgICAgICB9XG5cbi5teF9QaW5uZWRFdmVudFRpbGUgLm14X1Bpbm5lZEV2ZW50VGlsZV93cmFwcGVyIC5teF9QaW5uZWRFdmVudFRpbGVfdGhyZWFkIHN2ZyB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDIwcHg7XG4gICAgICAgICAgICAgICAgZmlsbDogdmFyKC0tY3BkLWNvbG9yLWljb24tdGVydGlhcnkpO1xuICAgICAgICAgICAgfVxuXG4ubXhfUGlubmVkRXZlbnRUaWxlIC5teF9QaW5uZWRFdmVudFRpbGVfd3JhcHBlciAubXhfUGlubmVkRXZlbnRUaWxlX3RocmVhZCBzcGFuIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1jcGQtY29sb3ItdGV4dC1zZWNvbmRhcnkpO1xuICAgICAgICAgICAgfVxuXG4ubXhfUGlubmVkRXZlbnRUaWxlIC5teF9QaW5uZWRFdmVudFRpbGVfd3JhcHBlciAubXhfUGlubmVkRXZlbnRUaWxlX3RocmVhZCBidXR0b24ge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgICAgICB9XG5cbi8qXG4gKiBDb3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cbiAqIENvcHlyaWdodCAyMDI0IFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXG4gKlxuICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXG4gKiBQbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuICovXG5cbi5teF9QaW5uZWRNZXNzYWdlQmFubmVyIHtcbiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIC13ZWJraXQtYm94LXBhY2s6IGp1c3RpZnk7XG4gICAgICAgIC1tcy1mbGV4LXBhY2s6IGp1c3RpZnk7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgZ2FwOiB2YXIoLS1jcGQtc3BhY2UtNHgpO1xuICAgIC8qIDY0cHggPSA2M3B4ICsgMXB4IGZyb20gdGhlIGJvdHRvbSBib3JkZXIgKi9cbiAgICBoZWlnaHQ6IDYzcHg7XG4gICAgcGFkZGluZzogMCB2YXIoLS1jcGQtc3BhY2UtNHgpO1xuXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY3BkLWNvbG9yLWJnLWNhbnZhcy1kZWZhdWx0KTtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tY3BkLWNvbG9yLWdyYXktNDAwKTtcblxuICAgIC8qIEZyb20gZmlnbWEgKi9cbiAgICAtd2Via2l0LWJveC1zaGFkb3c6IDAgdmFyKC0tY3BkLXNwYWNlLTJ4KSB2YXIoLS1jcGQtc3BhY2UtNngpIGNhbGModmFyKC0tY3BkLXNwYWNlLTJ4KSAqIC0xKSByZ2JhKDI3LCAyOSwgMzQsIDAuMSk7XG4gICAgICAgICAgICBib3gtc2hhZG93OiAwIHZhcigtLWNwZC1zcGFjZS0yeCkgdmFyKC0tY3BkLXNwYWNlLTZ4KSBjYWxjKHZhcigtLWNwZC1zcGFjZS0yeCkgKiAtMSkgcmdiYSgyNywgMjksIDM0LCAwLjEpO1xufVxuXG4ubXhfUGlubmVkTWVzc2FnZUJhbm5lciAubXhfUGlubmVkTWVzc2FnZUJhbm5lcl9tYWluIHtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgdGV4dC1hbGlnbjogc3RhcnQ7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIC13ZWJraXQtYm94LWZsZXg6IDE7XG4gICAgICAgICAgICAtbXMtZmxleC1wb3NpdGl2ZTogMTtcbiAgICAgICAgICAgICAgICBmbGV4LWdyb3c6IDE7XG4gICAgICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICAgICAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB9XG5cbi5teF9QaW5uZWRNZXNzYWdlQmFubmVyIC5teF9QaW5uZWRNZXNzYWdlQmFubmVyX21haW4gLm14X1Bpbm5lZE1lc3NhZ2VCYW5uZXJfY29udGVudCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZTpcbiAgICAgICAgICAgICAgICBcImluZGljYXRvcnMgcGluSWNvbiB0aXRsZVwiIGF1dG9cbiAgICAgICAgICAgICAgICBcImluZGljYXRvcnMgcGluSWNvbiBtZXNzYWdlXCIgYXV0bztcbiAgICAgICAgICAgIGdyaWQtY29sdW1uLWdhcDogdmFyKC0tY3BkLXNwYWNlLTJ4KTtcbiAgICAgICAgICAgIC13ZWJraXQtY29sdW1uLWdhcDogdmFyKC0tY3BkLXNwYWNlLTJ4KTtcbiAgICAgICAgICAgICAgIC1tb3otY29sdW1uLWdhcDogdmFyKC0tY3BkLXNwYWNlLTJ4KTtcbiAgICAgICAgICAgICAgICAgICAgY29sdW1uLWdhcDogdmFyKC0tY3BkLXNwYWNlLTJ4KTtcbiAgICAgICAgfVxuXG4ubXhfUGlubmVkTWVzc2FnZUJhbm5lciAubXhfUGlubmVkTWVzc2FnZUJhbm5lcl9tYWluIC5teF9QaW5uZWRNZXNzYWdlQmFubmVyX0luZGljYXRvcnMge1xuICAgICAgICAgICAgZ3JpZC1hcmVhOiBpbmRpY2F0b3JzO1xuICAgICAgICAgICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gICAgICAgICAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xuICAgICAgICAgICAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiBub3JtYWw7XG4gICAgICAgICAgICAgICAgLW1zLWZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICBnYXA6IHZhcigtLWNwZC1zcGFjZS0wLTV4KTtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgfVxuXG4ubXhfUGlubmVkTWVzc2FnZUJhbm5lciAubXhfUGlubmVkTWVzc2FnZUJhbm5lcl9tYWluIC5teF9QaW5uZWRNZXNzYWdlQmFubmVyX0luZGljYXRvcnMgLm14X1Bpbm5lZE1lc3NhZ2VCYW5uZXJfSW5kaWNhdG9yIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogdmFyKC0tY3BkLXNwYWNlLTAtNXgpO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNwZC1jb2xvci1ncmF5LTYwMCk7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgfVxuXG4ubXhfUGlubmVkTWVzc2FnZUJhbm5lciAubXhfUGlubmVkTWVzc2FnZUJhbm5lcl9tYWluIC5teF9QaW5uZWRNZXNzYWdlQmFubmVyX0luZGljYXRvcnMgLm14X1Bpbm5lZE1lc3NhZ2VCYW5uZXJfSW5kaWNhdG9yLS1hY3RpdmUge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNwZC1jb2xvci1pY29uLWFjY2VudC1wcmltYXJ5KTtcbiAgICAgICAgICAgIH1cblxuLm14X1Bpbm5lZE1lc3NhZ2VCYW5uZXIgLm14X1Bpbm5lZE1lc3NhZ2VCYW5uZXJfbWFpbiAubXhfUGlubmVkTWVzc2FnZUJhbm5lcl9JbmRpY2F0b3JzIC5teF9QaW5uZWRNZXNzYWdlQmFubmVyX0luZGljYXRvci0taGlkZGVuIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIH1cblxuLm14X1Bpbm5lZE1lc3NhZ2VCYW5uZXIgLm14X1Bpbm5lZE1lc3NhZ2VCYW5uZXJfbWFpbiAubXhfUGlubmVkTWVzc2FnZUJhbm5lcl9QaW5JY29uIHtcbiAgICAgICAgICAgIGdyaWQtYXJlYTogcGluSWNvbjtcbiAgICAgICAgICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgICAgICAgICAgIGZpbGw6IHZhcigtLWNwZC1jb2xvci1pY29uLXNlY29uZGFyeS1hbHBoYSk7XG4gICAgICAgIH1cblxuLm14X1Bpbm5lZE1lc3NhZ2VCYW5uZXIgLm14X1Bpbm5lZE1lc3NhZ2VCYW5uZXJfbWFpbiAubXhfUGlubmVkTWVzc2FnZUJhbm5lcl90aXRsZSB7XG4gICAgICAgICAgICBncmlkLWFyZWE6IHRpdGxlO1xuICAgICAgICAgICAgZm9udDogdmFyKC0tY3BkLWZvbnQtYm9keS1zbS1yZWd1bGFyKTtcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1jcGQtY29sb3ItdGV4dC1hY3Rpb24tYWNjZW50KTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xuICAgICAgICB9XG5cbi5teF9QaW5uZWRNZXNzYWdlQmFubmVyIC5teF9QaW5uZWRNZXNzYWdlQmFubmVyX21haW4gLm14X1Bpbm5lZE1lc3NhZ2VCYW5uZXJfdGl0bGUgLm14X1Bpbm5lZE1lc3NhZ2VCYW5uZXJfdGl0bGVfY291bnRlciB7XG4gICAgICAgICAgICAgICAgZm9udDogdmFyKC0tY3BkLWZvbnQtYm9keS1zbS1zZW1pYm9sZCk7XG4gICAgICAgICAgICB9XG5cbi5teF9QaW5uZWRNZXNzYWdlQmFubmVyIC5teF9QaW5uZWRNZXNzYWdlQmFubmVyX21haW4gLm14X1Bpbm5lZE1lc3NhZ2VCYW5uZXJfbWVzc2FnZSB7XG4gICAgICAgICAgICBncmlkLWFyZWE6IG1lc3NhZ2U7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMjBweDtcbiAgICAgICAgfVxuXG4ubXhfUGlubmVkTWVzc2FnZUJhbm5lciAubXhfUGlubmVkTWVzc2FnZUJhbm5lcl9tYWluIC5teF9QaW5uZWRNZXNzYWdlQmFubmVyX3JlZGFjdGVkTWVzc2FnZSB7XG4gICAgICAgICAgICBncmlkLWFyZWE6IG1lc3NhZ2U7XG4gICAgICAgICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICAgICAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgICAgICAgICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgfVxuXG4ubXhfUGlubmVkTWVzc2FnZUJhbm5lciAubXhfUGlubmVkTWVzc2FnZUJhbm5lcl9hY3Rpb25zIHtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB9XG5cbi5teF9QaW5uZWRNZXNzYWdlQmFubmVyW2RhdGEtc2luZ2xlLW1lc3NhZ2U9XCJ0cnVlXCJdIC5teF9QaW5uZWRNZXNzYWdlQmFubmVyX2NvbnRlbnQge1xuICAgICAgICBncmlkLXRlbXBsYXRlOiBcImluZGljYXRvcnMgcGluSWNvbiBtZXNzYWdlXCIgYXV0bztcbiAgICB9XG5cbi5teF9QaW5uZWRNZXNzYWdlQmFubmVyW2RhdGEtc2luZ2xlLW1lc3NhZ2U9XCJ0cnVlXCJdIC5teF9QaW5uZWRNZXNzYWdlQmFubmVyX2NvbnRlbnQgLm14X1Bpbm5lZE1lc3NhZ2VCYW5uZXJfbWVzc2FnZSB7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogNDBweDtcbiAgICAgICAgfVxuXG4vKlxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXG5Db3B5cmlnaHQgMjAxNiBPcGVuTWFya2V0IEx0ZFxuXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXG4qL1xuXG4ubXhfUHJlc2VuY2VMYWJlbCB7XG4gICAgZm9udC1zaXplOiAwLjY4NzVyZW07XG4gICAgb3BhY2l0eTogMC41O1xufVxuXG4ubXhfUHJlc2VuY2VMYWJlbF9vbmxpbmUge1xuICAgIGNvbG9yOiB2YXIoLS1jcGQtY29sb3ItdGV4dC1zdWNjZXNzLXByaW1hcnkpO1xufVxuXG4vKlxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXG5Db3B5cmlnaHQgMjAyMiBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxuXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXG4qL1xuXG4ubXhfUmVhZFJlY2VpcHRHcm91cCB7XG4gICAgLS1SZWFkUmVjZWlwdEdyb3VwX0V2ZW50QnViYmxlVGlsZS1zcGFjaW5nLWVuZDogNzhweDtcblxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcbiAgICAgICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xuICAgICAgICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgICAgICAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICB6LWluZGV4OiAxO1xufVxuXG4ubXhfUmVhZFJlY2VpcHRHcm91cCAubXhfUmVhZFJlY2VpcHRHcm91cF9idXR0b24ge1xuICAgICAgICBkaXNwbGF5OiAtd2Via2l0LWlubGluZS1ib3g7XG4gICAgICAgIGRpc3BsYXk6IC1tcy1pbmxpbmUtZmxleGJveDtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgIC13ZWJraXQtYm94LW9yaWVudDogaG9yaXpvbnRhbDtcbiAgICAgICAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiBub3JtYWw7XG4gICAgICAgICAgICAtbXMtZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICBoZWlnaHQ6IDE2cHg7XG4gICAgICAgIHBhZGRpbmc6IDRweDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNnB4O1xuICAgIH1cblxuLm14X1JlYWRSZWNlaXB0R3JvdXAgLm14X1JlYWRSZWNlaXB0R3JvdXBfYnV0dG9uLm14X0FjY2Vzc2libGVCdXR0b246aG92ZXIge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHZhcigtLXRpbWVsaW5lLWhpZ2hsaWdodHMtY29sb3IpO1xuICAgICAgICAgICAgfVxuXG4ubXhfUmVhZFJlY2VpcHRHcm91cCAubXhfUmVhZFJlY2VpcHRHcm91cF9yZW1haW5kZXIge1xuICAgICAgICBjb2xvcjogI2VkZjNmZjtcbiAgICAgICAgY29sb3I6IHZhcigtLXNlY29uZGFyeS1jb250ZW50LCAjZWRmM2ZmKTtcbiAgICAgICAgZm9udC1zaXplOiAwLjY4NzVyZW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxcmVtO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDRweDtcbiAgICB9XG5cbi5teF9SZWFkUmVjZWlwdEdyb3VwIC5teF9SZWFkUmVjZWlwdEdyb3VwX2NvbnRhaW5lciB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICB9XG5cbi5teF9SZWFkUmVjZWlwdEdyb3VwIC5teF9SZWFkUmVjZWlwdEdyb3VwX2NvbnRhaW5lciAubXhfQmFzZUF2YXRhciB7XG4gICAgICAgICAgICAtd2Via2l0LWJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICAgICAgICAgICAgICAgICAgICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLXRpbWVsaW5lLWJhY2tncm91bmQtY29sb3IpO1xuICAgICAgICAgICAgd2lkdGg6IDE0cHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDE0cHg7XG4gICAgICAgICAgICB3aWxsLWNoYW5nZTogbGVmdCwgdG9wO1xuICAgICAgICAgICAgLXdlYmtpdC10cmFuc2l0aW9uOlxuICAgICAgICAgICAgICAgIGxlZnQgMC4xcyBlYXNlLW91dCxcbiAgICAgICAgICAgICAgICB0b3AgMC4zcyBlYXNlLW91dDtcbiAgICAgICAgICAgIHRyYW5zaXRpb246XG4gICAgICAgICAgICAgICAgbGVmdCAwLjFzIGVhc2Utb3V0LFxuICAgICAgICAgICAgICAgIHRvcCAwLjNzIGVhc2Utb3V0O1xuICAgICAgICAgICAgLXdlYmtpdC10cmFuc2l0aW9uOlxuICAgICAgICAgICAgICAgIGxlZnQgdmFyKC0tdHJhbnNpdGlvbi1zaG9ydCkgZWFzZS1vdXQsXG4gICAgICAgICAgICAgICAgdG9wIHZhcigtLXRyYW5zaXRpb24tc3RhbmRhcmQpIGVhc2Utb3V0O1xuICAgICAgICAgICAgdHJhbnNpdGlvbjpcbiAgICAgICAgICAgICAgICBsZWZ0IHZhcigtLXRyYW5zaXRpb24tc2hvcnQpIGVhc2Utb3V0LFxuICAgICAgICAgICAgICAgIHRvcCB2YXIoLS10cmFuc2l0aW9uLXN0YW5kYXJkKSBlYXNlLW91dDtcbiAgICAgICAgfVxuXG4ubXhfUmVhZFJlY2VpcHRHcm91cF9wb3B1cCB7XG4gICAgbWF4LWhlaWdodDogMzAwcHg7XG4gICAgd2lkdGg6IDIyMHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWw7XG4gICAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiBub3JtYWw7XG4gICAgICAgIC1tcy1mbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICBsaW5lLWhlaWdodDogMTVweDtcblxuICAgIHJpZ2h0OiAwO1xufVxuXG4ubXhfUmVhZFJlY2VpcHRHcm91cF9wb3B1cC5teF9Db250ZXh0dWFsTWVudV90b3Age1xuICAgICAgICB0b3A6IDhweDtcbiAgICB9XG5cbi5teF9SZWFkUmVjZWlwdEdyb3VwX3BvcHVwLm14X0NvbnRleHR1YWxNZW51X2JvdHRvbSB7XG4gICAgICAgIGJvdHRvbTogOHB4O1xuICAgIH1cblxuLm14X1JlYWRSZWNlaXB0R3JvdXBfcG9wdXAgLm14X1JlYWRSZWNlaXB0R3JvdXBfdGl0bGUge1xuICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxNXB4O1xuICAgICAgICBtYXJnaW46IDE2cHggMTZweCA4cHg7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1jcGQtZm9udC13ZWlnaHQtc2VtaWJvbGQpO1xuICAgICAgICAvKiBzaG91bGRu4oCZdCBiZSBhY3R1YWxseSBmb2N1c2FibGUgKi9cbiAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICB9XG5cbi5teF9SZWFkUmVjZWlwdEdyb3VwX3BvcHVwIC5teF9BdXRvSGlkZVNjcm9sbGJhciAubXhfUmVhZFJlY2VpcHRHcm91cF9wZXJzb24ge1xuICAgICAgICAgICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gICAgICAgICAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAtd2Via2l0LWJveC1vcmllbnQ6IGhvcml6b250YWw7XG4gICAgICAgICAgICAtd2Via2l0LWJveC1kaXJlY3Rpb246IG5vcm1hbDtcbiAgICAgICAgICAgICAgICAtbXMtZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgICAgIHBhZGRpbmc6IDRweDtcbiAgICAgICAgICAgIG1hcmdpbjogMCAxMnB4O1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4O1xuICAgICAgICB9XG5cbi5teF9SZWFkUmVjZWlwdEdyb3VwX3BvcHVwIC5teF9BdXRvSGlkZVNjcm9sbGJhciAubXhfUmVhZFJlY2VpcHRHcm91cF9wZXJzb246aG92ZXIge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICMzNDNhNDY7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tbWVudS1zZWxlY3RlZC1jb2xvciwgIzM0M2E0Nik7XG4gICAgICAgICAgICB9XG5cbi5teF9SZWFkUmVjZWlwdEdyb3VwX3BvcHVwIC5teF9BdXRvSGlkZVNjcm9sbGJhciAubXhfUmVhZFJlY2VpcHRHcm91cF9wZXJzb246bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogOHB4O1xuICAgICAgICAgICAgfVxuXG4ubXhfUmVhZFJlY2VpcHRHcm91cF9wb3B1cCAubXhfQXV0b0hpZGVTY3JvbGxiYXIgLm14X1JlYWRSZWNlaXB0R3JvdXBfcGVyc29uIC5teF9CYXNlQXZhdGFyIHtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDZweCA4cHg7XG4gICAgICAgICAgICAgICAgLW1zLWZsZXgtaXRlbS1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAganVzdGlmeS1zZWxmOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgLW1zLWZsZXgtbmVnYXRpdmU6IDA7XG4gICAgICAgICAgICAgICAgICAgIGZsZXgtc2hyaW5rOiAwOyAvKiBMb25nIG5hbWVzIHNob3VsZCBub3Qgc2hyaW5rIHRoZSBwaWN0dXJlICovXG4gICAgICAgICAgICB9XG5cbi5teF9SZWFkUmVjZWlwdEdyb3VwX3BvcHVwIC5teF9BdXRvSGlkZVNjcm9sbGJhciAubXhfUmVhZFJlY2VpcHRHcm91cF9wZXJzb24gLm14X1JlYWRSZWNlaXB0R3JvdXBfbmFtZSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xuICAgICAgICAgICAgICAgIC13ZWJraXQtYm94LWRpcmVjdGlvbjogbm9ybWFsO1xuICAgICAgICAgICAgICAgICAgICAtbXMtZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICAgICAgLXdlYmtpdC1ib3gtZmxleDogMTtcbiAgICAgICAgICAgICAgICAgICAgLW1zLWZsZXgtcG9zaXRpdmU6IDE7XG4gICAgICAgICAgICAgICAgICAgICAgICBmbGV4LWdyb3c6IDE7XG4gICAgICAgICAgICAgICAgLW1zLWZsZXgtbmVnYXRpdmU6IDE7XG4gICAgICAgICAgICAgICAgICAgIGZsZXgtc2hyaW5rOiAxO1xuICAgICAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgICB9XG5cbi5teF9SZWFkUmVjZWlwdEdyb3VwX3BvcHVwIC5teF9BdXRvSGlkZVNjcm9sbGJhciAubXhfUmVhZFJlY2VpcHRHcm91cF9wZXJzb24gLm14X1JlYWRSZWNlaXB0R3JvdXBfbmFtZSBwIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAycHggMDtcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgICAgICAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgICAgICAgICAgfVxuXG4ubXhfUmVhZFJlY2VpcHRHcm91cF9wb3B1cCAubXhfQXV0b0hpZGVTY3JvbGxiYXIgLm14X1JlYWRSZWNlaXB0R3JvdXBfcGVyc29uIC5teF9SZWFkUmVjZWlwdEdyb3VwX25hbWUgLm14X1JlYWRSZWNlaXB0R3JvdXBfc2Vjb25kYXJ5IHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICNlZGYzZmY7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1zZWNvbmRhcnktY29udGVudCwgI2VkZjNmZik7XG4gICAgICAgICAgICAgICAgfVxuXG4ubXhfUmVhZFJlY2VpcHRHcm91cF9wZXJzb24tLXRvb2x0aXAge1xuICAgIG92ZXJmbG93LXk6IGhpZGRlbjtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4vKlxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXG5Db3B5cmlnaHQgMjAxOCBWZWN0b3IgQ3JlYXRpb25zIEx0ZFxuXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXG4qL1xuXG4ubXhfUmVwbHlQcmV2aWV3IHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1yb29tbGlzdC1zZXBhcmF0b3ItY29sb3IpO1xuICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tdGltZWxpbmUtYmFja2dyb3VuZC1jb2xvcik7XG4gICAgbWF4LWhlaWdodDogNTB2aDtcbiAgICBvdmVyZmxvdzogYXV0bztcbn1cblxuLm14X1JlcGx5UHJldmlldyAubXhfUmVwbHlQcmV2aWV3X3NlY3Rpb24ge1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tcm9vbWxpc3Qtc2VwYXJhdG9yLWNvbG9yKTtcbiAgICAgICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gICAgICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xuICAgICAgICAtd2Via2l0LWJveC1kaXJlY3Rpb246IG5vcm1hbDtcbiAgICAgICAgICAgIC1tcy1mbGV4LWZsb3c6IGNvbHVtbjtcbiAgICAgICAgICAgICAgICBmbGV4LWZsb3c6IGNvbHVtbjtcbiAgICAgICAgcm93LWdhcDogOHB4O1xuICAgICAgICBwYWRkaW5nOiA4cHggOHB4IDAgMDtcbiAgICB9XG5cbi5teF9SZXBseVByZXZpZXcgLm14X1JlcGx5UHJldmlld19zZWN0aW9uIC5teF9SZXBseVByZXZpZXdfaGVhZGVyIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICAgICAgICAgICAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgLXdlYmtpdC1ib3gtcGFjazoganVzdGlmeTtcbiAgICAgICAgICAgICAgICAtbXMtZmxleC1wYWNrOiBqdXN0aWZ5O1xuICAgICAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgICAgICAtd2Via2l0LWNvbHVtbi1nYXA6IDhweDtcbiAgICAgICAgICAgICAgIC1tb3otY29sdW1uLWdhcDogOHB4O1xuICAgICAgICAgICAgICAgICAgICBjb2x1bW4tZ2FwOiA4cHg7XG5cbiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS10aW1lbGluZS10ZXh0LWNvbG9yKTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgICAgICBvcGFjaXR5OiAwLjQ7XG4gICAgICAgIH1cblxuLm14X1JlcGx5UHJldmlldyAubXhfUmVwbHlQcmV2aWV3X3NlY3Rpb24gLm14X1JlcGx5UHJldmlld19oZWFkZXIgLm14X1JlcGx5UHJldmlld19oZWFkZXJfY2FuY2VsIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS10aW1lbGluZS10ZXh0LWNvbG9yKTtcbiAgICAgICAgICAgICAgICAtd2Via2l0LW1hc2staW1hZ2U6IHVybChcIkB2ZWN0b3ItaW0vY29tcG91bmQtZGVzaWduLXRva2Vucy9pY29ucy9jbG9zZS5zdmdcIik7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXNrLWltYWdlOiB1cmwoXCJAdmVjdG9yLWltL2NvbXBvdW5kLWRlc2lnbi10b2tlbnMvaWNvbnMvY2xvc2Uuc3ZnXCIpO1xuICAgICAgICAgICAgICAgIC13ZWJraXQtbWFzay1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hc2stcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgICAgICAgLXdlYmtpdC1tYXNrLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXNrLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgLXdlYmtpdC1tYXNrLXNpemU6IGNvbnRhaW47XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXNrLXNpemU6IGNvbnRhaW47XG4gICAgICAgICAgICAgICAgd2lkdGg6IDIwcHg7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgICAgICAgICAgICAgIG1pbi13aWR0aDogMjBweDtcbiAgICAgICAgICAgICAgICBtaW4taGVpZ2h0OiAyMHB4O1xuICAgICAgICAgICAgfVxuXG4ubXhfUm9vbVZpZXdfYm9keSAubXhfUmVwbHlQcmV2aWV3IHtcbiAgICAgICAgLyogQWRkIGJveC1zaGFkb3cgdG8gdGhlIHJlcGx5IHByZXZpZXcgb24gdGhlIG1haW4gKGxlZnQpIHBhbmVsIG9ubHkuICovXG4gICAgICAgIC8qIEl0IGlzIG5vdCBhZGRlZCB0byB0aGUgcHJldmlldyBvbiB0aGUgKHJpZ2h0KSBwYW5lbCBmb3IgdGhyZWFkcyBhbmQgYSBjaGF0IHdpdGggYSBtYXhpbWl6ZWQgd2lkZ2V0LiAqL1xuICAgICAgICAtd2Via2l0LWJveC1zaGFkb3c6IDBweCAtMTZweCAzMnB4IHRyYW5wYXJlbnQ7XG4gICAgICAgICAgICAgICAgYm94LXNoYWRvdzogMHB4IC0xNnB4IDMycHggdHJhbnBhcmVudDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4IDhweCAwIDA7XG4gICAgfVxuXG4vKlxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXG5Db3B5cmlnaHQgMjAyMCBUdWxpciBBc29rYW4gPHR1bGlyQG1hdW5pdW0ubmV0PlxuXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXG4qL1xuXG4ubXhfUmVwbHlUaWxlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZzogMnB4IDA7XG4gICAgZm9udDogdmFyKC0tY3BkLWZvbnQtYm9keS1tZC1yZWd1bGFyKTtcbn1cblxuLm14X1JlcGx5VGlsZS5teF9SZXBseVRpbGVfYXVkaW8gLm14X01GaWxlQm9keV9pbmZvX2ljb246OmJlZm9yZSB7XG4gICAgICAgIC13ZWJraXQtbWFzay1pbWFnZTogdXJsKFwiQHZlY3Rvci1pbS9jb21wb3VuZC1kZXNpZ24tdG9rZW5zL2ljb25zL3ZvbHVtZS1vbi1zb2xpZC5zdmdcIik7XG4gICAgICAgICAgICAgICAgbWFzay1pbWFnZTogdXJsKFwiQHZlY3Rvci1pbS9jb21wb3VuZC1kZXNpZ24tdG9rZW5zL2ljb25zL3ZvbHVtZS1vbi1zb2xpZC5zdmdcIik7XG4gICAgfVxuXG4ubXhfUmVwbHlUaWxlLm14X1JlcGx5VGlsZV92aWRlbyAubXhfTUZpbGVCb2R5X2luZm9faWNvbjo6YmVmb3JlIHtcbiAgICAgICAgLXdlYmtpdC1tYXNrLWltYWdlOiB1cmwoXCIuLi8uLi8uLi9pbWcvZWxlbWVudC1pY29ucy9jYWxsL3ZpZGVvLWNhbGwuc3ZnXCIpO1xuICAgICAgICAgICAgICAgIG1hc2staW1hZ2U6IHVybChcIi4uLy4uLy4uL2ltZy9lbGVtZW50LWljb25zL2NhbGwvdmlkZW8tY2FsbC5zdmdcIik7XG4gICAgfVxuXG4ubXhfUmVwbHlUaWxlID4gYSB7XG4gICAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAgIGdyaWQtdGVtcGxhdGU6XG4gICAgICAgICAgICBcInNlbmRlclwiIGF1dG9cbiAgICAgICAgICAgIFwibWVzc2FnZVwiIGF1dG9cbiAgICAgICAgICAgIC8gMTAwJTtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICBjb2xvcjogI2VkZjNmZjtcbiAgICAgICAgY29sb3I6IHZhcigtLXNlY29uZGFyeS1jb250ZW50LCAjZWRmM2ZmKTtcbiAgICAgICAgLXdlYmtpdC10cmFuc2l0aW9uOiBjb2xvciBlYXNlIDAuMTVzO1xuICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciBlYXNlIDAuMTVzO1xuICAgICAgICBncmlkLWdhcDogMnB4O1xuICAgICAgICBnYXA6IDJweDtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuXG4gICAgICAgIC8qIGF2b2lkIG92ZXJmbG93IHdpdGggd2lkZSBjb250ZW50Ki9cbiAgICB9XG5cbi5teF9SZXBseVRpbGUgPiBhOmhvdmVyIHtcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS10aW1lbGluZS10ZXh0LWNvbG9yKTtcbiAgICAgICAgfVxuXG4ubXhfUmVwbHlUaWxlIC5teF9SZWRhY3RlZEJvZHkge1xuICAgICAgICBsaW5lLWhlaWdodDogMS4xMjVyZW07XG4gICAgfVxuXG4ubXhfUmVwbHlUaWxlIC5teF9SZWRhY3RlZEJvZHksXG4gICAgLm14X1JlcGx5VGlsZSAubXhfSGlkZGVuQm9keSB7XG4gICAgICAgIHBhZGRpbmc6IDRweCAwIDJweCAyMHB4O1xuICAgIH1cblxuLm14X1JlcGx5VGlsZSAubXhfUmVkYWN0ZWRCb2R5OjpiZWZvcmUsIC5teF9SZXBseVRpbGUgLm14X0hpZGRlbkJvZHk6OmJlZm9yZSB7XG4gICAgICAgICAgICBoZWlnaHQ6IDEzcHg7XG4gICAgICAgICAgICB3aWR0aDogMTNweDtcbiAgICAgICAgICAgIHRvcDogM3B4O1xuICAgICAgICB9XG5cbi8qIFdlIGRvIHJlcGx5IHNpemUgbGltaXRpbmcgd2l0aCBDU1MgdG8gYXZvaWQgZHVwbGljYXRpbmcgdGhlIFRleHR1YWxCb2R5IGNvbXBvbmVudC4gKi9cblxuLm14X1JlcGx5VGlsZSAubXhfRXZlbnRUaWxlX2NvbnRlbnQge1xuICAgICAgICBncmlkLWFyZWE6IG1lc3NhZ2U7XG5cbiAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICAgICAgICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xuICAgICAgICAtd2Via2l0LWxpbmUtY2xhbXA6IDI7XG4gICAgfVxuXG4ubXhfUmVwbHlUaWxlIC5teF9FdmVudFRpbGVfY29udGVudCAubXhfRXZlbnRUaWxlX2JvZHkubXhfRXZlbnRUaWxlX2JpZ0Vtb2ppIHtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjM3NXJlbSAhaW1wb3J0YW50OyAvKiBTYW1lIGFzIHZhcigtLUV2ZW50VGlsZV9ncm91cF9saW5lLWxpbmUtaGVpZ2h0KSAqL1xuICAgICAgICAgICAgZm9udC1zaXplOiAwLjg3NXJlbSAhaW1wb3J0YW50OyAvKiBPdmVycmlkZSB0aGUgYmlnIGVtb2ppIG92ZXJyaWRlICovXG4gICAgICAgIH1cblxuLyogaW4gb3JkZXIgdG8ga2VlcCB0aGUgbWVzc2FnZSBvbiB0d28gbGluZXMsIHdlIG5lZWQgdG8gbWFrZSB0aGUgYm9keSBpbmxpbmUqL1xuXG4ubXhfUmVwbHlUaWxlIC5teF9FdmVudFRpbGVfY29udGVudCAubXhfRXZlbnRUaWxlX2JvZHkge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lO1xuICAgICAgICB9XG5cbi8qIEhpZGUgbGluZSBudW1iZXJzIGFuZCBlZGl0ZWQgaW5kaWNhdG9yKi9cblxuLm14X1JlcGx5VGlsZSAubXhfRXZlbnRUaWxlX2NvbnRlbnQgLm14X0V2ZW50VGlsZV9saW5lTnVtYmVycyxcbiAgICAgICAgLm14X1JlcGx5VGlsZSAubXhfRXZlbnRUaWxlX2NvbnRlbnQgLm14X0V2ZW50VGlsZV9lZGl0ZWQge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuXG4vKiBIYWNrIHRvIGN1dCBjb250ZW50IGluIDxwcmU+IHRhZ3MgdG9vICovXG5cbi5teF9SZXBseVRpbGUgLm14X0V2ZW50VGlsZV9jb250ZW50IC5teF9FdmVudFRpbGVfcHJlX2NvbnRhaW5lciA+IHByZSB7XG4gICAgICAgICAgICBvdmVyZmxvdy14OiBzY3JvbGw7XG4gICAgICAgICAgICBvdmVyZmxvdy15OiBoaWRkZW47XG4gICAgICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICAgICAgICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICAgICAgICAgICAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcbiAgICAgICAgICAgIC13ZWJraXQtbGluZS1jbGFtcDogMjtcbiAgICAgICAgICAgIHBhZGRpbmc6IDRweDtcbiAgICAgICAgfVxuXG4ubXhfUmVwbHlUaWxlIC5teF9FdmVudFRpbGVfY29udGVudCAubWFya2Rvd24tYm9keSBibG9ja3F1b3RlLFxuICAgICAgICAubXhfUmVwbHlUaWxlIC5teF9FdmVudFRpbGVfY29udGVudCAubWFya2Rvd24tYm9keSBkbCxcbiAgICAgICAgLm14X1JlcGx5VGlsZSAubXhfRXZlbnRUaWxlX2NvbnRlbnQgLm1hcmtkb3duLWJvZHkgb2wsXG4gICAgICAgIC5teF9SZXBseVRpbGUgLm14X0V2ZW50VGlsZV9jb250ZW50IC5tYXJrZG93bi1ib2R5IHAsXG4gICAgICAgIC5teF9SZXBseVRpbGUgLm14X0V2ZW50VGlsZV9jb250ZW50IC5tYXJrZG93bi1ib2R5IHByZSxcbiAgICAgICAgLm14X1JlcGx5VGlsZSAubXhfRXZlbnRUaWxlX2NvbnRlbnQgLm1hcmtkb3duLWJvZHkgdGFibGUsXG4gICAgICAgIC5teF9SZXBseVRpbGUgLm14X0V2ZW50VGlsZV9jb250ZW50IC5tYXJrZG93bi1ib2R5IHVsIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDRweDtcbiAgICAgICAgfVxuXG4ubXhfUmVwbHlUaWxlLm14X1JlcGx5VGlsZV9pbmZvIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgfVxuXG4ubXhfUmVwbHlUaWxlLm14X1JlcGx5VGlsZV9pbmxpbmUgPiBhIHtcbiAgICAgICAgLyogUmVuZGVyIHJlcGxpZXMgdG8gZW1vdGVzIGlubGluZSB3aXRoIHRoZSBzZW5kZXIgYXZhdGFyICovXG4gICAgICAgIGdyaWQtdGVtcGxhdGU6XG4gICAgICAgICAgICBcInNlbmRlciAgICAgICAgbWVzc2FnZVwiIGF1dG9cbiAgICAgICAgICAgIC8gLXdlYmtpdC1tYXgtY29udGVudCBhdXRvO1xuICAgICAgICBncmlkLXRlbXBsYXRlOlxuICAgICAgICAgICAgXCJzZW5kZXIgICAgICAgIG1lc3NhZ2VcIiBhdXRvXG4gICAgICAgICAgICAvIG1heC1jb250ZW50IGF1dG87XG4gICAgICAgIGdhcDogNHB4OyAvKiBpbmNyZWFzZSBzcGFjaW5nICovXG4gICAgfVxuXG4ubXhfUmVwbHlUaWxlIC5teF9SZXBseVRpbGVfc2VuZGVyIHtcbiAgICAgICAgZ3JpZC1hcmVhOiBzZW5kZXI7XG4gICAgICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICAgICAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgZ2FwOiA0cHg7XG4gICAgfVxuXG4ubXhfUmVwbHlUaWxlIC5teF9SZXBseVRpbGVfc2VuZGVyIC5teF9EaXNhbWJpZ3VhdGVkUHJvZmlsZSB7XG4gICAgICAgICAgICBmb250OiB2YXIoLS1jcGQtZm9udC1ib2R5LW1kLXJlZ3VsYXIpO1xuXG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IC8qIGFudGktemFsZ28sIHdpdGggb3ZlcmZsb3cgaGlkZGVuICovXG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuXG4gICAgICAgICAgICAvKiB0cnVuY2F0ZSBsb25nIGRpc3BsYXkgbmFtZXMgKi9cbiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgICAgIH1cblxuLm14X1JlcGx5VGlsZSAubXhfUmVwbHlUaWxlX3NlbmRlciAubXhfQmFzZUF2YXRhciB7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMTRweDsgLyogVG8gbWF0Y2ggc2l6ZSAqL1xuICAgICAgICB9XG5cbi8qXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cbkNvcHlyaWdodCAyMDIwIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXG5cblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cbiovXG5cbi5teF9Sb29tQnJlYWRjcnVtYnMge1xuICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgLyogQ3JlYXRlIGEgZmxleGJveCBmb3IgdGhlIGNydW1icyAqL1xuICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgLXdlYmtpdC1ib3gtb3JpZW50OiBob3Jpem9udGFsO1xuICAgIC13ZWJraXQtYm94LWRpcmVjdGlvbjogbm9ybWFsO1xuICAgICAgICAtbXMtZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgLXdlYmtpdC1ib3gtYWxpZ246IHN0YXJ0O1xuICAgICAgICAtbXMtZmxleC1hbGlnbjogc3RhcnQ7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICBtYXJnaW4tYm90dG9tOiAxMnB4O1xuXG4gICAgLyogVGhlc2UgY2xhc3NlcyBjb21lIGZyb20gdGhlIENTU1RyYW5zaXRpb24gY29tcG9uZW50LiBUaGVyZSdzIG1hbnkgbW9yZSBjbGFzc2VzIHdlICovXG4gICAgLyogY291bGQgY2FyZSBhYm91dCwgYnV0IHRoaXMgaXMgYWxsIHdlIHdvcnJpZWQgYWJvdXQgZm9yIG5vdy4gVGhlIGFuaW1hdGlvbiB3b3JrcyBieSAqL1xufVxuXG4ubXhfUm9vbUJyZWFkY3J1bWJzIC5teF9Sb29tQnJlYWRjcnVtYnNfY3J1bWIge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDhweDtcbiAgICAgICAgd2lkdGg6IDMycHg7XG4gICAgfVxuXG4vKiBzbGlkaW5nIGl0IGludG8gdmlldy4gKi9cblxuLm14X1Jvb21CcmVhZGNydW1icy5teF9Sb29tQnJlYWRjcnVtYnMtZW50ZXIge1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNDBweCk7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC00MHB4KTsgLyogMzJweCBmb3IgdGhlIGF2YXRhciwgOHB4IGZvciB0aGUgbWFyZ2luICovXG4gICAgfVxuXG4vKiBmaXJzdCB0cmlnZ2VyaW5nIHRoZSBlbnRlciBzdGF0ZSB3aXRoIHRoZSBuZXdlc3QgYnJlYWRjcnVtYiBvZmYgc2NyZWVuICgtNDBweCkgdGhlbiAqL1xuXG4ubXhfUm9vbUJyZWFkY3J1bWJzLm14X1Jvb21CcmVhZGNydW1icy1lbnRlci1hY3RpdmUge1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG5cbiAgICAgICAgLyogVGltaW5nIGZ1bmN0aW9uIGlzIGFzLXJlcXVlc3RlZCBieSBkZXNpZ24uICovXG4gICAgICAgIC8qIE5PVEU6IFRoZSB0cmFuc2l0aW9uIHRpbWUgTVVTVCBtYXRjaCB0aGUgdmFsdWUgcGFzc2VkIHRvIENTU1RyYW5zaXRpb24hICovXG4gICAgICAgIC13ZWJraXQtdHJhbnNpdGlvbjogLXdlYmtpdC10cmFuc2Zvcm0gNjQwbXMgY3ViaWMtYmV6aWVyKDAuNjYsIDAuMDIsIDAuMzYsIDEpO1xuICAgICAgICB0cmFuc2l0aW9uOiAtd2Via2l0LXRyYW5zZm9ybSA2NDBtcyBjdWJpYy1iZXppZXIoMC42NiwgMC4wMiwgMC4zNiwgMSk7XG4gICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSA2NDBtcyBjdWJpYy1iZXppZXIoMC42NiwgMC4wMiwgMC4zNiwgMSk7XG4gICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSA2NDBtcyBjdWJpYy1iZXppZXIoMC42NiwgMC4wMiwgMC4zNiwgMSksIC13ZWJraXQtdHJhbnNmb3JtIDY0MG1zIGN1YmljLWJlemllcigwLjY2LCAwLjAyLCAwLjM2LCAxKTtcbiAgICB9XG5cbi5teF9Sb29tQnJlYWRjcnVtYnMgLm14X1Jvb21CcmVhZGNydW1ic19wbGFjZWhvbGRlciB7XG4gICAgICAgIGZvbnQ6IHZhcigtLWNwZC1mb250LWJvZHktbWQtc2VtaWJvbGQpO1xuICAgICAgICBsaW5lLWhlaWdodDogMzJweDsgLyogc3BlY2lmaWNhbGx5IHRvIG1hdGNoIHRoZSBoZWlnaHQgdGhpcyBpcyBub3Qgc2NhbGVkICovXG4gICAgICAgIGhlaWdodDogMzJweDtcbiAgICB9XG5cbi8qXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cbkNvcHlyaWdodCAyMDIyIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXG5cblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cbiovXG5cbi5teF9Sb29tQ2FsbEJhbm5lciB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gICAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICAtd2Via2l0LWJveC1vcmllbnQ6IGhvcml6b250YWw7XG4gICAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiBub3JtYWw7XG4gICAgICAgIC1tcy1mbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO1xuICAgICAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgIC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDtcblxuICAgICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBwYWRkaW5nOiAxMnB4IDE2cHg7XG5cbiAgICBjb2xvcjogdmFyKC0tdGltZWxpbmUtdGV4dC1jb2xvcik7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzIxMjYyYztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1zeXN0ZW0sICMyMTI2MmMpO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLm14X1Jvb21DYWxsQmFubmVyX3RleHQge1xuICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgLXdlYmtpdC1ib3gtZmxleDogMTtcbiAgICAgICAgLW1zLWZsZXg6IDE7XG4gICAgICAgICAgICBmbGV4OiAxO1xuICAgIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG4ubXhfUm9vbUNhbGxCYW5uZXJfbGFiZWwge1xuICAgIGNvbG9yOiB2YXIoLS10aW1lbGluZS10ZXh0LWNvbG9yKTtcbiAgICBmb250LXdlaWdodDogdmFyKC0tY3BkLWZvbnQtd2VpZ2h0LXNlbWlib2xkKTtcbiAgICBwYWRkaW5nLXJpZ2h0OiA4cHg7XG59XG5cbi5teF9Sb29tQ2FsbEJhbm5lcl9sYWJlbDo6YmVmb3JlIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWRmM2ZmO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1zZWNvbmRhcnktY29udGVudCwgI2VkZjNmZik7XG4gICAgICAgIC13ZWJraXQtbWFzay1zaXplOiAxNnB4O1xuICAgICAgICAgICAgICAgIG1hc2stc2l6ZTogMTZweDtcbiAgICAgICAgLXdlYmtpdC1tYXNrLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgbWFzay1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgICB3aWR0aDogMTZweDtcbiAgICAgICAgaGVpZ2h0OiAxLjJlbTsgLyogdG8gbWF0Y2ggbGluZSBoZWlnaHQgKi9cbiAgICAgICAgbWFyZ2luLXJpZ2h0OiA4cHg7XG4gICAgICAgIC13ZWJraXQtbWFzay1pbWFnZTogdXJsKFwiLi4vLi4vLi4vaW1nL2VsZW1lbnQtaWNvbnMvY2FsbC92aWRlby1jYWxsLnN2Z1wiKTtcbiAgICAgICAgICAgICAgICBtYXNrLWltYWdlOiB1cmwoXCIuLi8uLi8uLi9pbWcvZWxlbWVudC1pY29ucy9jYWxsL3ZpZGVvLWNhbGwuc3ZnXCIpO1xuICAgIH1cblxuLypcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxuQ29weXJpZ2h0IDIwMjMgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cblxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuKi9cblxuLm14X1Jvb21IZWFkZXIge1xuICAgIGhlaWdodDogNjRweDtcbiAgICAtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIHBhZGRpbmc6IDAgdmFyKC0tY3BkLXNwYWNlLTN4KSAwIGNhbGModmFyKC0tY3BkLXNwYWNlLTN4KSArIHZhcigtLWNwZC1zcGFjZS0xLTV4KSk7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWNwZC1jb2xvci1ncmF5LTQwMCk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdGltZWxpbmUtYmFja2dyb3VuZC1jb2xvcik7XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7XG59XG5cbi5teF9Sb29tSGVhZGVyOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jcGQtY29sb3ItZ3JheS0yMDApO1xufVxuXG4ubXhfUm9vbUhlYWRlcl9pbmZvV3JhcHBlciB7XG4gICAgLyogdW5zZXQgYnV0dG9uIHN0eWxlcyAqL1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50IG5vbmUgcmVwZWF0IDAgMCAvIGF1dG8gYXV0byBwYWRkaW5nLWJveCBib3JkZXItYm94IHNjcm9sbDtcbiAgICBiYWNrZ3JvdW5kOiBpbml0aWFsO1xuICAgIGJvcmRlcjogbWVkaXVtIG5vbmUgY3VycmVudGNvbG9yO1xuICAgIGJvcmRlcjogaW5pdGlhbDtcbiAgICAtd2Via2l0LWJveC1mbGV4OiAxO1xuICAgICAgICAtbXMtZmxleDogMTtcbiAgICAgICAgICAgIGZsZXg6IDE7XG4gICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gICAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICAtd2Via2l0LWJveC1vcmllbnQ6IGhvcml6b250YWw7XG4gICAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiBub3JtYWw7XG4gICAgICAgIC1tcy1mbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO1xuICAgICAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAtd2Via2l0LWJveC1wYWNrOiBzdGFydDtcbiAgICAgICAgLW1zLWZsZXgtcGFjazogc3RhcnQ7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGdhcDogdmFyKC0tY3BkLXNwYWNlLTN4KTtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBwYWRkaW5nOiAwO1xufVxuXG4ubXhfUm9vbUhlYWRlcl9pbmZvIHtcbiAgICAvKiBXZSB3YW50IHRoZSBzcGFjaW5nIHRvIGJlIDY0cHgsIDEzeCA9IDUycHggYnV0IHdlIGhhdmUgYSBmbGV4IGdhcCBvZlxuICAgICAgIDEycHggc2V0IG9uIHRoZSBmbGV4IGNvbnRhaW5lciwgd2hpY2ggc3VtcyB1cCB0byA2NCAqL1xuICAgIHBhZGRpbmctcmlnaHQ6IHZhcigtLWNwZC1zcGFjZS0xM3gpO1xufVxuXG4ubXhfUm9vbUhlYWRlcl90cnVuY2F0ZWQge1xuICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICAgIC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWw7XG4gICAgLXdlYmtpdC1saW5lLWNsYW1wOiAxO1xuXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB3b3JkLWJyZWFrOiBicmVhay1hbGw7XG4gICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG59XG5cbi5teF9Sb29tSGVhZGVyX2hlYWRpbmcge1xuICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZ2FwOiB2YXIoLS1jcGQtc3BhY2UtMXgpO1xuICAgIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG4ubXhfUm9vbUhlYWRlcl9pY29uIHtcbiAgICAtbXMtZmxleC1uZWdhdGl2ZTogMDtcbiAgICAgICAgZmxleC1zaHJpbms6IDA7XG59XG5cbi5teF9Sb29tSGVhZGVyIC5teF9GYWNlUGlsZSB7XG4gICAgY29sb3I6ICNlZGYzZmY7XG4gICAgY29sb3I6IHZhcigtLXNlY29uZGFyeS1jb250ZW50LCAjZWRmM2ZmKTtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS10aW1lbGluZS1iYWNrZ3JvdW5kLWNvbG9yKTtcbiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogdmFyKC0tY3BkLXNwYWNlLTJ4KTtcbiAgICBib3JkZXItcmFkaXVzOiA5OTk5cHg7XG4gICAgcGFkZGluZzogdmFyKC0tY3BkLXNwYWNlLTEtNXgpO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xuICAgICAgIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgICAgIC1tcy11c2VyLXNlbGVjdDogbm9uZTtcbiAgICAgICAgICAgIHVzZXItc2VsZWN0OiBub25lO1xufVxuXG4vKiBSb29tQXZhdGFyIGRvZXNuJ3QgcGFzcyBjbGFzc2VzIGRvd24gdG8gYXZhdGFyXG4gICAgU28gc2V0IHN0eWxlIGhlcmVcbiAgICB1c2luZyBkaXYgYmVjYXVzZSBjb21wb3VuZCBjbGFzc2VzIGFyZSBub3Qgc3RhYmxlICovXG5cbi5teF9Sb29tSGVhZGVyIC5teF9GYWNlUGlsZSA+IGRpdiB7XG4gICAgICAgIC1tcy1mbGV4LW5lZ2F0aXZlOiAwO1xuICAgICAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgfVxuXG4ubXhfUm9vbUhlYWRlciAubXhfRmFjZVBpbGU6aG92ZXIge1xuICAgICAgICBjb2xvcjogdmFyKC0tdGltZWxpbmUtdGV4dC1jb2xvcik7XG4gICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWNwZC1jb2xvci1iZy1zdWJ0bGUtcHJpbWFyeSk7XG4gICAgfVxuXG4ubXhfUm9vbUhlYWRlciAubXhfQmFzZUF2YXRhciB7XG4gICAgLW1zLWZsZXgtbmVnYXRpdmU6IDA7XG4gICAgICAgIGZsZXgtc2hyaW5rOiAwO1xufVxuXG4ubXhfUm9vbUhlYWRlcl92aWRlb0NhbGxPcHRpb24ge1xuICAgIC8qIFdvcmthcm91bmQgZm9yIGh0dHBzOi8vZ2l0aHViLmNvbS9lbGVtZW50LWhxL2NvbXBvdW5kL2lzc3Vlcy8zMzEgKi9cbiAgICBtaW4td2lkdGg6IDI0MHB4O1xufVxuXG4vKlxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXG5Db3B5cmlnaHQgMjAyMiBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxuXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXG4qL1xuXG4ubXhfUm9vbUluZm9MaW5lIHtcbiAgICBjb2xvcjogI2VkZjNmZjtcbiAgICBjb2xvcjogdmFyKC0tc2Vjb25kYXJ5LWNvbnRlbnQsICNlZGYzZmYpO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cblxuLm14X1Jvb21JbmZvTGluZTo6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBoZWlnaHQ6IDEuMmVtO1xuICAgICAgICAtd2Via2l0LW1hc2stcG9zaXRpb246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBtYXNrLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICAgIC13ZWJraXQtbWFzay1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgICAgICAgICBtYXNrLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWRmM2ZmO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS10ZXJ0aWFyeS1jb250ZW50LCAjZWRmM2ZmKTtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IHRleHQtYm90dG9tO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDZweDtcbiAgICB9XG5cbi5teF9Sb29tSW5mb0xpbmUubXhfUm9vbUluZm9MaW5lX3B1YmxpYzo6YmVmb3JlIHtcbiAgICAgICAgd2lkdGg6IDEycHg7XG4gICAgICAgIC13ZWJraXQtbWFzay1zaXplOiAxMnB4O1xuICAgICAgICAgICAgICAgIG1hc2stc2l6ZTogMTJweDtcbiAgICAgICAgLXdlYmtpdC1tYXNrLWltYWdlOiB1cmwoXCJAdmVjdG9yLWltL2NvbXBvdW5kLWRlc2lnbi10b2tlbnMvaWNvbnMvcHVibGljLnN2Z1wiKTtcbiAgICAgICAgICAgICAgICBtYXNrLWltYWdlOiB1cmwoXCJAdmVjdG9yLWltL2NvbXBvdW5kLWRlc2lnbi10b2tlbnMvaWNvbnMvcHVibGljLnN2Z1wiKTtcbiAgICB9XG5cbi5teF9Sb29tSW5mb0xpbmUubXhfUm9vbUluZm9MaW5lX3ByaXZhdGU6OmJlZm9yZSB7XG4gICAgICAgIHdpZHRoOiAxMHB4O1xuICAgICAgICAtd2Via2l0LW1hc2stc2l6ZTogMTBweDtcbiAgICAgICAgICAgICAgICBtYXNrLXNpemU6IDEwcHg7XG4gICAgICAgIC13ZWJraXQtbWFzay1pbWFnZTogdXJsKFwiQHZlY3Rvci1pbS9jb21wb3VuZC1kZXNpZ24tdG9rZW5zL2ljb25zL2xvY2stc29saWQuc3ZnXCIpO1xuICAgICAgICAgICAgICAgIG1hc2staW1hZ2U6IHVybChcIkB2ZWN0b3ItaW0vY29tcG91bmQtZGVzaWduLXRva2Vucy9pY29ucy9sb2NrLXNvbGlkLnN2Z1wiKTtcbiAgICB9XG5cbi5teF9Sb29tSW5mb0xpbmUubXhfUm9vbUluZm9MaW5lX3ZpZGVvOjpiZWZvcmUge1xuICAgICAgICB3aWR0aDogMTZweDtcbiAgICAgICAgLXdlYmtpdC1tYXNrLXNpemU6IDE2cHg7XG4gICAgICAgICAgICAgICAgbWFzay1zaXplOiAxNnB4O1xuICAgICAgICAtd2Via2l0LW1hc2staW1hZ2U6IHVybChcIi4uLy4uLy4uL2ltZy9lbGVtZW50LWljb25zL2NhbGwvdmlkZW8tY2FsbC5zdmdcIik7XG4gICAgICAgICAgICAgICAgbWFzay1pbWFnZTogdXJsKFwiLi4vLi4vLi4vaW1nL2VsZW1lbnQtaWNvbnMvY2FsbC92aWRlby1jYWxsLnN2Z1wiKTtcbiAgICB9XG5cbi5teF9Sb29tSW5mb0xpbmUgLm14X1Jvb21JbmZvTGluZV9tZW1iZXJzIHtcbiAgICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogaW5oZXJpdDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IGluaGVyaXQ7XG4gICAgfVxuXG4ubXhfUm9vbUluZm9MaW5lIC5teF9Sb29tSW5mb0xpbmVfbWVtYmVyczo6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiwrdcIjsgLyogdmlzdWFsIHNlcGFyYXRvciAqL1xuICAgICAgICAgICAgbWFyZ2luOiAwIDZweDtcbiAgICAgICAgfVxuXG4vKlxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXG5Db3B5cmlnaHQgMjAyMyBOb3JkZWNrIElUICsgQ29uc3VsdGluZyBHbWJIXG5cblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cbiovXG5cbi5teF9Sb29tS25vY2tzQmFyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jcGQtY29sb3ItYmctc3VidGxlLXNlY29uZGFyeSk7XG4gICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gICAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBwYWRkaW5nOiB2YXIoLS1jcGQtc3BhY2UtMngpIHZhcigtLWNwZC1zcGFjZS00eCk7XG59XG5cbi5teF9Sb29tS25vY2tzQmFyX2NvbnRlbnQge1xuICAgIC13ZWJraXQtYm94LWZsZXg6IDE7XG4gICAgICAgIC1tcy1mbGV4LXBvc2l0aXZlOiAxO1xuICAgICAgICAgICAgZmxleC1ncm93OiAxO1xuICAgIG1hcmdpbjogMCB2YXIoLS1jcGQtc3BhY2UtM3gpO1xufVxuXG4ubXhfUm9vbUtub2Nrc0Jhcl9wYXJhZ3JhcGgge1xuICAgIGNvbG9yOiAjZWRmM2ZmO1xuICAgIGNvbG9yOiB2YXIoLS1zZWNvbmRhcnktY29udGVudCwgI2VkZjNmZik7XG4gICAgZm9udC1zaXplOiB2YXIoLS1jcGQtZm9udC1zaXplLWJvZHktc20pO1xuICAgIG1hcmdpbjogMDtcbn1cblxuLm14X1Jvb21Lbm9ja3NCYXJfbGluayB7XG4gICAgbWFyZ2luLWxlZnQ6IHZhcigtLWNwZC1zcGFjZS0zeCk7XG59XG5cbi5teF9Sb29tS25vY2tzQmFyX2FjdGlvbixcbi5teF9Sb29tS25vY2tzQmFyX2F2YXRhciB7XG4gICAgLW1zLWZsZXgtaXRlbS1hbGlnbjogY2VudGVyO1xuICAgICAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gICAgLW1zLWZsZXgtbmVnYXRpdmU6IDA7XG4gICAgICAgIGZsZXgtc2hyaW5rOiAwO1xufVxuXG4ubXhfUm9vbUtub2Nrc0Jhcl9hY3Rpb24gKyAubXhfUm9vbUtub2Nrc0Jhcl9hY3Rpb24ge1xuICAgIG1hcmdpbi1sZWZ0OiB2YXIoLS1jcGQtc3BhY2UtM3gpO1xufVxuXG4ubXhfUm9vbUtub2Nrc0Jhcl9hdmF0YXIgKyAubXhfUm9vbUtub2Nrc0Jhcl9hdmF0YXIge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKHZhcigtLWNwZC1zcGFjZS00eCkgKiAtMSk7XG59XG5cbi8qXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cbkNvcHlyaWdodCAyMDIwIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXG5cblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cbiovXG5cbi5teF9Sb29tTGlzdCB7XG4gICAgcGFkZGluZy1yaWdodDogN3B4OyAvKiB3aWR0aCBvZiB0aGUgc2Nyb2xsYmFyLCB0byBsaW5lIHRoaW5ncyB1cCAqL1xufVxuXG4ubXhfUm9vbUxpc3RfaWNvblBsdXM6OmJlZm9yZSB7XG4gICAgLXdlYmtpdC1tYXNrLWltYWdlOiB1cmwoXCIuLi8uLi8uLi9pbWcvZWxlbWVudC1pY29ucy9yb29tbGlzdC9wbHVzLWNpcmNsZS5zdmdcIik7XG4gICAgICAgICAgICBtYXNrLWltYWdlOiB1cmwoXCIuLi8uLi8uLi9pbWcvZWxlbWVudC1pY29ucy9yb29tbGlzdC9wbHVzLWNpcmNsZS5zdmdcIik7XG59XG5cbi5teF9Sb29tTGlzdF9pY29uTmV3Um9vbTo6YmVmb3JlIHtcbiAgICAtd2Via2l0LW1hc2staW1hZ2U6IHVybChcIi4uLy4uLy4uL2ltZy9lbGVtZW50LWljb25zL3Jvb21saXN0L2hhc2gtcGx1cy5zdmdcIik7XG4gICAgICAgICAgICBtYXNrLWltYWdlOiB1cmwoXCIuLi8uLi8uLi9pbWcvZWxlbWVudC1pY29ucy9yb29tbGlzdC9oYXNoLXBsdXMuc3ZnXCIpO1xufVxuXG4ubXhfUm9vbUxpc3RfaWNvbk5ld1ZpZGVvUm9vbTo6YmVmb3JlIHtcbiAgICAtd2Via2l0LW1hc2staW1hZ2U6IHVybChcIi4uLy4uLy4uL2ltZy9lbGVtZW50LWljb25zL3Jvb21saXN0L2hhc2gtdmlkZW8uc3ZnXCIpO1xuICAgICAgICAgICAgbWFzay1pbWFnZTogdXJsKFwiLi4vLi4vLi4vaW1nL2VsZW1lbnQtaWNvbnMvcm9vbWxpc3QvaGFzaC12aWRlby5zdmdcIik7XG59XG5cbi5teF9Sb29tTGlzdF9pY29uQWRkRXhpc3RpbmdSb29tOjpiZWZvcmUge1xuICAgIC13ZWJraXQtbWFzay1pbWFnZTogdXJsKFwiLi4vLi4vLi4vaW1nL2VsZW1lbnQtaWNvbnMvcm9vbWxpc3QvaGFzaC5zdmdcIik7XG4gICAgICAgICAgICBtYXNrLWltYWdlOiB1cmwoXCIuLi8uLi8uLi9pbWcvZWxlbWVudC1pY29ucy9yb29tbGlzdC9oYXNoLnN2Z1wiKTtcbn1cblxuLm14X1Jvb21MaXN0X2ljb25FeHBsb3JlOjpiZWZvcmUge1xuICAgIC13ZWJraXQtbWFzay1pbWFnZTogdXJsKFwiLi4vLi4vLi4vaW1nL2VsZW1lbnQtaWNvbnMvcm9vbWxpc3QvaGFzaC1zZWFyY2guc3ZnXCIpO1xuICAgICAgICAgICAgbWFzay1pbWFnZTogdXJsKFwiLi4vLi4vLi4vaW1nL2VsZW1lbnQtaWNvbnMvcm9vbWxpc3QvaGFzaC1zZWFyY2guc3ZnXCIpO1xufVxuXG4ubXhfUm9vbUxpc3RfaWNvbkRpYWxwYWQ6OmJlZm9yZSB7XG4gICAgLXdlYmtpdC1tYXNrLWltYWdlOiB1cmwoXCIuLi8uLi8uLi9pbWcvZWxlbWVudC1pY29ucy9yb29tbGlzdC9kaWFscGFkLnN2Z1wiKTtcbiAgICAgICAgICAgIG1hc2staW1hZ2U6IHVybChcIi4uLy4uLy4uL2ltZy9lbGVtZW50LWljb25zL3Jvb21saXN0L2RpYWxwYWQuc3ZnXCIpO1xufVxuXG4ubXhfUm9vbUxpc3RfaWNvblN0YXJ0Q2hhdDo6YmVmb3JlIHtcbiAgICAtd2Via2l0LW1hc2staW1hZ2U6IHVybChcIkB2ZWN0b3ItaW0vY29tcG91bmQtZGVzaWduLXRva2Vucy9pY29ucy91c2VyLWFkZC1zb2xpZC5zdmdcIik7XG4gICAgICAgICAgICBtYXNrLWltYWdlOiB1cmwoXCJAdmVjdG9yLWltL2NvbXBvdW5kLWRlc2lnbi10b2tlbnMvaWNvbnMvdXNlci1hZGQtc29saWQuc3ZnXCIpO1xufVxuXG4ubXhfUm9vbUxpc3RfaWNvbkludml0ZTo6YmVmb3JlIHtcbiAgICAtd2Via2l0LW1hc2staW1hZ2U6IHVybChcIi4uLy4uLy4uL2ltZy9lbGVtZW50LWljb25zL3Jvb20vc2hhcmUuc3ZnXCIpO1xuICAgICAgICAgICAgbWFzay1pbWFnZTogdXJsKFwiLi4vLi4vLi4vaW1nL2VsZW1lbnQtaWNvbnMvcm9vbS9zaGFyZS5zdmdcIik7XG59XG5cbi8qXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cbkNvcHlyaWdodCAyMDIxIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXG5cblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cbiovXG5cbi5teF9Sb29tTGlzdEhlYWRlciB7XG4gICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gICAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO1xuICAgICAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cblxuLm14X1Jvb21MaXN0SGVhZGVyIC5teF9Sb29tTGlzdEhlYWRlcl9jb250ZXh0TGVzc1RpdGxlLFxuICAgIC5teF9Sb29tTGlzdEhlYWRlciAubXhfUm9vbUxpc3RIZWFkZXJfY29udGV4dE1lbnVCdXR0b24ge1xuICAgICAgICBmb250OiB2YXIoLS1jcGQtZm9udC1oZWFkaW5nLXNtLXNlbWlib2xkKTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLWNwZC1mb250LXdlaWdodC1zZW1pYm9sZCk7XG4gICAgICAgIHBhZGRpbmc6IDFweCAyNHB4IDFweCA0cHg7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiA4cHg7XG4gICAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICAgICAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcbiAgICAgICAgICAgLW1vei11c2VyLXNlbGVjdDogbm9uZTtcbiAgICAgICAgICAgIC1tcy11c2VyLXNlbGVjdDogbm9uZTtcbiAgICAgICAgICAgICAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICB9XG5cbi5teF9Sb29tTGlzdEhlYWRlciAubXhfUm9vbUxpc3RIZWFkZXJfY29udGV4dE1lbnVCdXR0b24ge1xuICAgICAgICBib3JkZXItcmFkaXVzOiA2cHg7XG4gICAgfVxuXG4ubXhfUm9vbUxpc3RIZWFkZXIgLm14X1Jvb21MaXN0SGVhZGVyX2NvbnRleHRNZW51QnV0dG9uOmhvdmVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICM2Zjc4ODI7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1xdWluYXJ5LWNvbnRlbnQsICM2Zjc4ODIpO1xuICAgICAgICB9XG5cbi5teF9Sb29tTGlzdEhlYWRlciAubXhfUm9vbUxpc3RIZWFkZXJfY29udGV4dE1lbnVCdXR0b246OmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgd2lkdGg6IDIwcHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICAgICAgICB0b3A6IDNweDtcbiAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgLXdlYmtpdC1tYXNrLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgIG1hc2stcG9zaXRpb246IGNlbnRlcjtcbiAgICAgICAgICAgIC13ZWJraXQtbWFzay1zaXplOiBjb250YWluO1xuICAgICAgICAgICAgICAgICAgICBtYXNrLXNpemU6IGNvbnRhaW47XG4gICAgICAgICAgICAtd2Via2l0LW1hc2stcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgICAgICAgICAgIG1hc2stcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWRmM2ZmO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdGVydGlhcnktY29udGVudCwgI2VkZjNmZik7XG4gICAgICAgICAgICAtd2Via2l0LW1hc2staW1hZ2U6IHVybChcIkB2ZWN0b3ItaW0vY29tcG91bmQtZGVzaWduLXRva2Vucy9pY29ucy9jaGV2cm9uLWRvd24uc3ZnXCIpO1xuICAgICAgICAgICAgICAgICAgICBtYXNrLWltYWdlOiB1cmwoXCJAdmVjdG9yLWltL2NvbXBvdW5kLWRlc2lnbi10b2tlbnMvaWNvbnMvY2hldnJvbi1kb3duLnN2Z1wiKTtcbiAgICAgICAgfVxuXG4ubXhfUm9vbUxpc3RIZWFkZXIgLm14X1Jvb21MaXN0SGVhZGVyX2NvbnRleHRNZW51QnV0dG9uW2FyaWEtZXhwYW5kZWQ9XCJ0cnVlXCJdIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICM2Zjc4ODI7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1xdWluYXJ5LWNvbnRlbnQsICM2Zjc4ODIpO1xuICAgICAgICB9XG5cbi5teF9Sb29tTGlzdEhlYWRlciAubXhfUm9vbUxpc3RIZWFkZXJfY29udGV4dE1lbnVCdXR0b25bYXJpYS1leHBhbmRlZD1cInRydWVcIl06OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbiAgICAgICAgICAgIH1cblxuLm14X1Jvb21MaXN0SGVhZGVyIC5teF9Sb29tTGlzdEhlYWRlcl9wbHVzQnV0dG9uIHtcbiAgICAgICAgd2lkdGg6IDMycHg7XG4gICAgICAgIGhlaWdodDogMzJweDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4O1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHBhZGRpbmc6IDhweDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDhweDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMnB4O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1yb29tbGlzdC1oaWdobGlnaHRzLWNvbG9yKTtcbiAgICAgICAgLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIC1tcy1mbGV4LW5lZ2F0aXZlOiAwO1xuICAgICAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgfVxuXG4ubXhfUm9vbUxpc3RIZWFkZXIgLm14X1Jvb21MaXN0SGVhZGVyX3BsdXNCdXR0b246OmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgd2lkdGg6IDE2cHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDE2cHg7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAtd2Via2l0LW1hc2stcG9zaXRpb246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgbWFzay1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgICAgICAgLXdlYmtpdC1tYXNrLXNpemU6IGNvbnRhaW47XG4gICAgICAgICAgICAgICAgICAgIG1hc2stc2l6ZTogY29udGFpbjtcbiAgICAgICAgICAgIC13ZWJraXQtbWFzay1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgICAgICAgICAgICAgbWFzay1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNlZGYzZmY7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1zZWNvbmRhcnktY29udGVudCwgI2VkZjNmZik7XG4gICAgICAgICAgICAtd2Via2l0LW1hc2staW1hZ2U6IHVybChcIkB2ZWN0b3ItaW0vY29tcG91bmQtZGVzaWduLXRva2Vucy9pY29ucy9wbHVzLnN2Z1wiKTtcbiAgICAgICAgICAgICAgICAgICAgbWFzay1pbWFnZTogdXJsKFwiQHZlY3Rvci1pbS9jb21wb3VuZC1kZXNpZ24tdG9rZW5zL2ljb25zL3BsdXMuc3ZnXCIpO1xuICAgICAgICB9XG5cbi5teF9Sb29tTGlzdEhlYWRlciAubXhfUm9vbUxpc3RIZWFkZXJfcGx1c0J1dHRvbjpob3ZlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWRmM2ZmO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdGVydGlhcnktY29udGVudCwgI2VkZjNmZik7XG4gICAgICAgIH1cblxuLm14X1Jvb21MaXN0SGVhZGVyIC5teF9Sb29tTGlzdEhlYWRlcl9wbHVzQnV0dG9uOmhvdmVyOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXRpbWVsaW5lLWJhY2tncm91bmQtY29sb3IpO1xuICAgICAgICAgICAgfVxuXG4ubXhfUm9vbUxpc3RIZWFkZXJfaWNvbkludml0ZTo6YmVmb3JlIHtcbiAgICAtd2Via2l0LW1hc2staW1hZ2U6IHVybChcIi4uLy4uLy4uL2ltZy9lbGVtZW50LWljb25zL3Jvb20vaW52aXRlLnN2Z1wiKTtcbiAgICAgICAgICAgIG1hc2staW1hZ2U6IHVybChcIi4uLy4uLy4uL2ltZy9lbGVtZW50LWljb25zL3Jvb20vaW52aXRlLnN2Z1wiKTtcbn1cblxuLm14X1Jvb21MaXN0SGVhZGVyX2ljb25TdGFydENoYXQ6OmJlZm9yZSB7XG4gICAgLXdlYmtpdC1tYXNrLWltYWdlOiB1cmwoXCJAdmVjdG9yLWltL2NvbXBvdW5kLWRlc2lnbi10b2tlbnMvaWNvbnMvdXNlci1hZGQtc29saWQuc3ZnXCIpO1xuICAgICAgICAgICAgbWFzay1pbWFnZTogdXJsKFwiQHZlY3Rvci1pbS9jb21wb3VuZC1kZXNpZ24tdG9rZW5zL2ljb25zL3VzZXItYWRkLXNvbGlkLnN2Z1wiKTtcbn1cblxuLm14X1Jvb21MaXN0SGVhZGVyX2ljb25OZXdSb29tOjpiZWZvcmUge1xuICAgIC13ZWJraXQtbWFzay1pbWFnZTogdXJsKFwiLi4vLi4vLi4vaW1nL2VsZW1lbnQtaWNvbnMvcm9vbWxpc3QvaGFzaC1wbHVzLnN2Z1wiKTtcbiAgICAgICAgICAgIG1hc2staW1hZ2U6IHVybChcIi4uLy4uLy4uL2ltZy9lbGVtZW50LWljb25zL3Jvb21saXN0L2hhc2gtcGx1cy5zdmdcIik7XG59XG5cbi5teF9Sb29tTGlzdEhlYWRlcl9pY29uTmV3VmlkZW9Sb29tOjpiZWZvcmUge1xuICAgIC13ZWJraXQtbWFzay1pbWFnZTogdXJsKFwiLi4vLi4vLi4vaW1nL2VsZW1lbnQtaWNvbnMvcm9vbWxpc3QvaGFzaC12aWRlby5zdmdcIik7XG4gICAgICAgICAgICBtYXNrLWltYWdlOiB1cmwoXCIuLi8uLi8uLi9pbWcvZWxlbWVudC1pY29ucy9yb29tbGlzdC9oYXNoLXZpZGVvLnN2Z1wiKTtcbn1cblxuLm14X1Jvb21MaXN0SGVhZGVyX2ljb25FeHBsb3JlOjpiZWZvcmUge1xuICAgIC13ZWJraXQtbWFzay1pbWFnZTogdXJsKFwiLi4vLi4vLi4vaW1nL2VsZW1lbnQtaWNvbnMvcm9vbWxpc3QvaGFzaC1zZWFyY2guc3ZnXCIpO1xuICAgICAgICAgICAgbWFzay1pbWFnZTogdXJsKFwiLi4vLi4vLi4vaW1nL2VsZW1lbnQtaWNvbnMvcm9vbWxpc3QvaGFzaC1zZWFyY2guc3ZnXCIpO1xufVxuXG4ubXhfUm9vbUxpc3RIZWFkZXJfaWNvblBsdXM6OmJlZm9yZSB7XG4gICAgLXdlYmtpdC1tYXNrLWltYWdlOiB1cmwoXCJAdmVjdG9yLWltL2NvbXBvdW5kLWRlc2lnbi10b2tlbnMvaWNvbnMvcGx1cy5zdmdcIik7XG4gICAgICAgICAgICBtYXNrLWltYWdlOiB1cmwoXCJAdmVjdG9yLWltL2NvbXBvdW5kLWRlc2lnbi10b2tlbnMvaWNvbnMvcGx1cy5zdmdcIik7XG59XG5cbi8qXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cbkNvcHlyaWdodCAyMDE1LTIwMjIgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cblxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuKi9cblxuLm14X1Jvb21QcmV2aWV3QmFyIHtcbiAgICAtd2Via2l0LWJveC1mbGV4OiAwO1xuICAgICAgICAtbXMtZmxleDogMCAwIGF1dG87XG4gICAgICAgICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO1xuICAgICAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xuICAgIC13ZWJraXQtYm94LWRpcmVjdGlvbjogbm9ybWFsO1xuICAgICAgICAtbXMtZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgLXdlYmtpdC1ib3gtcGFjazogY2VudGVyO1xuICAgICAgICAtbXMtZmxleC1wYWNrOiBjZW50ZXI7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIC13ZWJraXQtYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cblxuLm14X1Jvb21QcmV2aWV3QmFyIGgzIHtcbiAgICAgICAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLWNwZC1mb250LXdlaWdodC1zZW1pYm9sZCk7XG4gICAgfVxuXG4ubXhfUm9vbVByZXZpZXdCYXIgaDMubXhfUm9vbVByZXZpZXdCYXJfc3Bpbm5lclRpdGxlIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICAgICAgICAgICAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgLXdlYmtpdC1ib3gtb3JpZW50OiBob3Jpem9udGFsO1xuICAgICAgICAgICAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiBub3JtYWw7XG4gICAgICAgICAgICAgICAgLW1zLWZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgICAgICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIH1cblxuLm14X1Jvb21QcmV2aWV3QmFyIGgzLFxuICAgIC5teF9Sb29tUHJldmlld0JhciAubXhfUm9vbVByZXZpZXdCYXJfbWVzc2FnZSBwIHtcbiAgICAgICAgLyogYnJlYWstd29yZCwgd2l0aCBmYWxsYmFjayB0byBicmVhay1hbGwsIHdoaWNoIGlzIHdpZGVyIHN1cHBvcnRlZCAqL1xuICAgICAgICB3b3JkLWJyZWFrOiBicmVhay1hbGw7XG4gICAgICAgIHdvcmQtYnJlYWs6IGJyZWFrLXdvcmQ7XG4gICAgfVxuXG4ubXhfUm9vbVByZXZpZXdCYXIgLm14X1NwaW5uZXIge1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICBtYXJnaW46IDEwcHggMTBweCAxMHB4IDA7XG4gICAgICAgIC13ZWJraXQtYm94LWZsZXg6IDA7XG4gICAgICAgICAgICAtbXMtZmxleDogMCAwIGF1dG87XG4gICAgICAgICAgICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgfVxuXG4ubXhfUm9vbVByZXZpZXdCYXIgLm14X1Jvb21QcmV2aWV3QmFyX2Zvb3RlciB7XG4gICAgICAgIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjVyZW07XG4gICAgfVxuXG4ubXhfUm9vbVByZXZpZXdCYXIgLm14X1Jvb21QcmV2aWV3QmFyX2Zvb3RlciAubXhfU3Bpbm5lciB7XG4gICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB9XG5cbi5teF9Sb29tUHJldmlld0Jhcl9hY3Rpb25zIHtcbiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgICBkaXNwbGF5OiBmbGV4O1xufVxuXG4ubXhfUm9vbVByZXZpZXdCYXJfbWVzc2FnZSB7XG4gICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gICAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICAtd2Via2l0LWJveC1hbGlnbjogc3RyZXRjaDtcbiAgICAgICAgLW1zLWZsZXgtYWxpZ246IHN0cmV0Y2g7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbn1cblxuLm14X1Jvb21QcmV2aWV3QmFyX21lc3NhZ2UgcCB7XG4gICAgICAgIG92ZXJmbG93LXdyYXA6IGJyZWFrLXdvcmQ7XG4gICAgfVxuXG4ubXhfUm9vbVByZXZpZXdCYXJfcGFuZWwge1xuICAgIHBhZGRpbmc6IDhweCA4cHggOHB4IDIwcHg7XG5cbiAgICAtd2Via2l0LWJveC1vcmllbnQ6IGhvcml6b250YWw7XG5cbiAgICAtd2Via2l0LWJveC1kaXJlY3Rpb246IG5vcm1hbDtcblxuICAgICAgICAtbXMtZmxleC1kaXJlY3Rpb246IHJvdztcblxuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbn1cblxuLm14X1Jvb21QcmV2aWV3QmFyX3BhbmVsIC5teF9Sb29tUHJldmlld0Jhcl9hY3Rpb25zIHtcbiAgICAgICAgLXdlYmtpdC1ib3gtZmxleDogMDtcbiAgICAgICAgICAgIC1tcy1mbGV4OiAwIDAgYXV0bztcbiAgICAgICAgICAgICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICAgICAgLXdlYmtpdC1ib3gtb3JpZW50OiBob3Jpem9udGFsO1xuICAgICAgICAtd2Via2l0LWJveC1kaXJlY3Rpb246IG5vcm1hbDtcbiAgICAgICAgICAgIC1tcy1mbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgIHBhZGRpbmc6IDNweCA4cHg7XG4gICAgfVxuXG4ubXhfUm9vbVByZXZpZXdCYXJfcGFuZWwgLm14X1Jvb21QcmV2aWV3QmFyX2FjdGlvbnMgPiAqIHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAxMnB4O1xuICAgICAgICB9XG5cbi5teF9Sb29tUHJldmlld0Jhcl9wYW5lbCAubXhfUm9vbVByZXZpZXdCYXJfbWVzc2FnZSB7XG4gICAgICAgIC13ZWJraXQtYm94LWZsZXg6IDE7XG4gICAgICAgICAgICAtbXMtZmxleDogMSAwIDBweDtcbiAgICAgICAgICAgICAgICBmbGV4OiAxIDAgMDtcbiAgICAgICAgbWluLXdpZHRoOiAwO1xuICAgICAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgICAgICAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWw7XG4gICAgICAgIC13ZWJraXQtYm94LWRpcmVjdGlvbjogbm9ybWFsO1xuICAgICAgICAgICAgLW1zLWZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICB9XG5cbi5teF9Sb29tUHJldmlld0Jhcl9wYW5lbCAubXhfUm9vbVByZXZpZXdCYXJfbWVzc2FnZSA+ICoge1xuICAgICAgICAgICAgbWFyZ2luOiA0cHg7XG4gICAgICAgIH1cblxuLyogV2l0aCBtYXhpbWlzZWQgd2lkZ2V0cywgdGhlIHBhbmVsIGZpdHMgaW4gYmV0dGVyIHdoZW4gcm91bmRlZCAqL1xuXG4ubXhfTWFpblNwbGl0X21heGltaXNlZFdpZGdldCAubXhfUm9vbVByZXZpZXdCYXJfcGFuZWwge1xuICAgIG1hcmdpbjogOHB4O1xuICAgIG1hcmdpbjogdmFyKC0tY29udGFpbmVyLWdhcC13aWR0aCk7XG4gICAgbWFyZ2luLXJpZ2h0OiBjYWxjKDhweCAvIDIpO1xuICAgIG1hcmdpbi1yaWdodDogY2FsYyh2YXIoLS1jb250YWluZXItZ2FwLXdpZHRoKSAvIDIpOyAvKiBTaGFyZWQgd2l0aCByaWdodCBwYW5lbCAqL1xuICAgIG1hcmdpbi10b3A6IDA7IC8qIEFscmVhZHkgY292ZXJlZCBieSBhcHBzIGRyYXdlciAqL1xuICAgIGJvcmRlci1yYWRpdXM6IDhweDtcbn1cblxuLm14X1Jvb21QcmV2aWV3QmFyX2RpYWxvZyB7XG4gICAgbWFyZ2luOiBhdXRvO1xuICAgIC13ZWJraXQtYm94LXNpemluZzogY29udGVudDtcbiAgICAgICAgICAgIGJveC1zaXppbmc6IGNvbnRlbnQ7XG4gICAgd2lkdGg6IDQwMHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xuICAgIC13ZWJraXQtYm94LWRpcmVjdGlvbjogbm9ybWFsO1xuICAgICAgICAtbXMtZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgcGFkZGluZzogMjBweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5teF9Sb29tUHJldmlld0Jhcl9kaWFsb2cgLm14X1Jvb21QcmV2aWV3QmFyX21lc3NhZ2Uge1xuICAgICAgICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xuICAgICAgICAtd2Via2l0LWJveC1kaXJlY3Rpb246IG5vcm1hbDtcbiAgICAgICAgICAgIC1tcy1mbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgfVxuXG4ubXhfUm9vbVByZXZpZXdCYXJfZGlhbG9nIC5teF9Sb29tUHJldmlld0Jhcl9tZXNzYWdlID4gKiB7XG4gICAgICAgICAgICBtYXJnaW46IDVweCAwIDIwcHggMDtcbiAgICAgICAgfVxuXG4ubXhfUm9vbVByZXZpZXdCYXJfZGlhbG9nIC5teF9Sb29tUHJldmlld0Jhcl9hY3Rpb25zIHtcbiAgICAgICAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcbiAgICAgICAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiBub3JtYWw7XG4gICAgICAgICAgICAtbXMtZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIH1cblxuLm14X1Jvb21QcmV2aWV3QmFyX2RpYWxvZyAubXhfUm9vbVByZXZpZXdCYXJfYWN0aW9ucyAubXhfQWNjZXNzaWJsZUJ1dHRvbiB7XG4gICAgICAgICAgICBwYWRkaW5nOiA3cHggNTBweDsgLyogZXh0cmEgd2lkZSAqL1xuICAgICAgICB9XG5cbi5teF9Sb29tUHJldmlld0Jhcl9kaWFsb2cgLm14X1Jvb21QcmV2aWV3QmFyX2FjdGlvbnMgPiAqIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDEycHg7XG4gICAgICAgIH1cblxuLm14X1Jvb21QcmV2aWV3QmFyX2RpYWxvZyAubXhfUm9vbVByZXZpZXdCYXJfYWN0aW9ucyAubXhfQWNjZXNzaWJsZUJ1dHRvbi5teF9BY2Nlc3NpYmxlQnV0dG9uX2tpbmRfcHJpbWFyeSB7XG4gICAgICAgICAgICAvKiB0byBhY2NvdW50IGZvciB0aGUgcGFkZGluZyBvZiB0aGUgcHJpbWFyeSBidXR0b24gd2hpY2ggY2F1c2VzIGluY29uc2lzdGVudCBsb29rIGJldHdlZW4gKi9cbiAgICAgICAgICAgIC8qIHN1YnNlcXVlbnQgc2Vjb25kYXJ5ICh0ZXh0KSBidXR0b25zICovXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA3cHg7XG4gICAgICAgIH1cblxuLm14X1Jvb21QcmV2aWV3QmFyX0ludml0ZSB7XG4gICAgbWF4LWhlaWdodDogMTAwdmg7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICAtd2Via2l0LWJveC1wYWNrOiBzdGFydDtcbiAgICAgICAgLW1zLWZsZXgtcGFjazogc3RhcnQ7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG59XG5cbi5teF9Sb29tUHJldmlld0Jhcl9JbnZpdGUgaDMge1xuICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICAgIC13ZWJraXQtbGluZS1jbGFtcDogMjtcbiAgICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xuICAgIHdoaXRlLXNwYWNlOiBwcmUtd3JhcDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4ubXhfUm9vbVByZXZpZXdCYXJfaW52aXRlciB7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWNwZC1mb250LXdlaWdodC1zZW1pYm9sZCk7XG59XG5cbmEubXhfUm9vbVByZXZpZXdCYXJfaW52aXRlciB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4ubXhfUm9vbVByZXZpZXdCYXJfaW52aXRlcl9teGlkIHtcbiAgICBjb2xvcjogdmFyKC0tY3BkLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTtcbn1cblxuLm14X1Jvb21QcmV2aWV3QmFyX2ljb24ge1xuICAgIG1hcmdpbi1yaWdodDogOHB4O1xuICAgIHZlcnRpY2FsLWFsaWduOiB0ZXh0LXRvcDtcbn1cblxuLm14X1Jvb21QcmV2aWV3QmFyX2Z1bGxXaWR0aCB7XG4gICAgd2lkdGg6IDEwMCU7XG59XG5cbi8qXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cbkNvcHlyaWdodCAyMDIyIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXG5cblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cbiovXG5cbi5teF9Sb29tUHJldmlld0NhcmQge1xuICAgIHBhZGRpbmc6IDMycHggMjRweCAhaW1wb3J0YW50OyAvKiBPdmVycmlkZSBTcGFjZVJvb21WaWV3J3MgZGVmYXVsdCBwYWRkaW5nICovXG4gICAgbWFyZ2luOiBhdXRvO1xuICAgIC13ZWJraXQtYm94LWZsZXg6IDE7XG4gICAgICAgIC1tcy1mbGV4LXBvc2l0aXZlOiAxO1xuICAgICAgICAgICAgZmxleC1ncm93OiAxO1xuICAgIG1heC13aWR0aDogNDgwcHg7XG4gICAgLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjEyNjJjO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXN5c3RlbSwgIzIxMjYyYyk7XG4gICAgYm9yZGVyLXJhZGl1czogOHB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBmb250OiB2YXIoLS1jcGQtZm9udC1ib2R5LW1kLXJlZ3VsYXIpO1xufVxuXG4ubXhfUm9vbVByZXZpZXdDYXJkIC5teF9Sb29tUHJldmlld0NhcmRfbm90aWNlIHtcbiAgICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLWNwZC1mb250LXdlaWdodC1zZW1pYm9sZCk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjVyZW07XG4gICAgICAgIGNvbG9yOiB2YXIoLS10aW1lbGluZS10ZXh0LWNvbG9yKTtcbiAgICAgICAgbWFyZ2luLXRvcDogMjRweDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IGNhbGMoMjBweCArIDhweCk7XG4gICAgfVxuXG4ubXhfUm9vbVByZXZpZXdDYXJkIC5teF9Sb29tUHJldmlld0NhcmRfbm90aWNlOjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIGhlaWdodDogMS41cmVtO1xuICAgICAgICAgICAgd2lkdGg6IDIwcHg7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgLXdlYmtpdC1tYXNrLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgICAgICAgICAgICBtYXNrLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgICAgLXdlYmtpdC1tYXNrLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgIG1hc2stcG9zaXRpb246IGNlbnRlcjtcbiAgICAgICAgICAgIC13ZWJraXQtbWFzay1zaXplOiBjb250YWluO1xuICAgICAgICAgICAgICAgICAgICBtYXNrLXNpemU6IGNvbnRhaW47XG4gICAgICAgICAgICAtd2Via2l0LW1hc2staW1hZ2U6IHVybChcIkB2ZWN0b3ItaW0vY29tcG91bmQtZGVzaWduLXRva2Vucy9pY29ucy9pbmZvLXNvbGlkLnN2Z1wiKTtcbiAgICAgICAgICAgICAgICAgICAgbWFzay1pbWFnZTogdXJsKFwiQHZlY3Rvci1pbS9jb21wb3VuZC1kZXNpZ24tdG9rZW5zL2ljb25zL2luZm8tc29saWQuc3ZnXCIpO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2VkZjNmZjtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXNlY29uZGFyeS1jb250ZW50LCAjZWRmM2ZmKTtcbiAgICAgICAgfVxuXG4ubXhfUm9vbVByZXZpZXdDYXJkIC5teF9Sb29tUHJldmlld0NhcmRfaW52aXRlciB7XG4gICAgICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICAgICAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICAgICAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gICAgfVxuXG4ubXhfUm9vbVByZXZpZXdDYXJkIC5teF9Sb29tUHJldmlld0NhcmRfaW52aXRlciA+IGRpdiB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogOHB4O1xuICAgICAgICB9XG5cbi5teF9Sb29tUHJldmlld0NhcmQgLm14X1Jvb21QcmV2aWV3Q2FyZF9pbnZpdGVyID4gZGl2IC5teF9Sb29tUHJldmlld0NhcmRfaW52aXRlcl9uYW1lIHtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMS4xMjVyZW07XG4gICAgICAgICAgICB9XG5cbi5teF9Sb29tUHJldmlld0NhcmQgLm14X1Jvb21QcmV2aWV3Q2FyZF9pbnZpdGVyID4gZGl2IC5teF9Sb29tUHJldmlld0NhcmRfaW52aXRlcl9teGlkIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogI2VkZjNmZjtcbiAgICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tc2Vjb25kYXJ5LWNvbnRlbnQsICNlZGYzZmYpO1xuICAgICAgICAgICAgfVxuXG4ubXhfUm9vbVByZXZpZXdDYXJkIC5teF9Sb29tUHJldmlld0NhcmRfYXZhdGFyIHtcbiAgICAgICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gICAgICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIH1cblxuLm14X1Jvb21QcmV2aWV3Q2FyZCAubXhfUm9vbVByZXZpZXdDYXJkX2F2YXRhciAubXhfUm9vbVByZXZpZXdDYXJkX3ZpZGVvIHtcbiAgICAgICAgICAgIHdpZHRoOiA1MHB4O1xuICAgICAgICAgICAgaGVpZ2h0OiA1MHB4O1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogY2FsYygoNTBweCArIDIgKiAzcHgpIC8gMik7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMGRiZDhiO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYWNjZW50LWNvbG9yLCAjMGRiZDhiKTtcbiAgICAgICAgICAgIGJvcmRlcjogM3B4IHNvbGlkICMyMTI2MmM7XG4gICAgICAgICAgICBib3JkZXI6IDNweCBzb2xpZCB2YXIoLS1zeXN0ZW0sICMyMTI2MmMpO1xuXG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICBsZWZ0OiBjYWxjKC01MHB4IC8gNCAtIDNweCk7XG4gICAgICAgIH1cblxuLm14X1Jvb21QcmV2aWV3Q2FyZCAubXhfUm9vbVByZXZpZXdDYXJkX2F2YXRhciAubXhfUm9vbVByZXZpZXdDYXJkX3ZpZGVvOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDUwcHg7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiA1MHB4O1xuICAgICAgICAgICAgICAgIC13ZWJraXQtbWFzay1zaXplOiAyMnB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFzay1zaXplOiAyMnB4O1xuICAgICAgICAgICAgICAgIC13ZWJraXQtbWFzay1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFzay1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgICAgICAgICAgIC13ZWJraXQtbWFzay1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hc2stcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgICAgICAgLXdlYmtpdC1tYXNrLWltYWdlOiB1cmwoXCIuLi8uLi8uLi9pbWcvZWxlbWVudC1pY29ucy9jYWxsL3ZpZGVvLWNhbGwuc3ZnXCIpO1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFzay1pbWFnZTogdXJsKFwiLi4vLi4vLi4vaW1nL2VsZW1lbnQtaWNvbnMvY2FsbC92aWRlby1jYWxsLnN2Z1wiKTtcbiAgICAgICAgICAgIH1cblxuLyogWFhYIFJlbW92ZSB0aGlzIHdoZW4gdmlkZW8gcm9vbXMgbGVhdmUgYmV0YSAqL1xuXG4ubXhfUm9vbVByZXZpZXdDYXJkIC5teF9Sb29tUHJldmlld0NhcmRfYXZhdGFyIC5teF9CZXRhQ2FyZF9iZXRhUGlsbCB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBpbnNldC1ibG9jay1zdGFydDogMzJweDtcbiAgICAgICAgICAgIGluc2V0LWlubGluZS1lbmQ6IDI0cHg7XG4gICAgICAgIH1cblxuLm14X1Jvb21QcmV2aWV3Q2FyZCBoMS5teF9Sb29tUHJldmlld0NhcmRfbmFtZSB7XG4gICAgICAgIG1hcmdpbjogMTZweCAwICFpbXBvcnRhbnQ7IC8qIE92ZXJyaWRlIFNwYWNlUm9vbVZpZXcncyBkZWZhdWx0IG1hcmdpbnMgKi9cbiAgICB9XG5cbi5teF9Sb29tUHJldmlld0NhcmQgLm14X1Jvb21QcmV2aWV3Q2FyZF90b3BpYyB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjM3NXJlbTtcbiAgICAgICAgbWFyZ2luLXRvcDogMTZweDtcbiAgICAgICAgbWF4LWhlaWdodDogMTYwcHg7XG4gICAgICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgfVxuXG4ubXhfUm9vbVByZXZpZXdDYXJkIC5teF9GYWNlUGlsZSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gICAgfVxuXG4ubXhfUm9vbVByZXZpZXdDYXJkIC5teF9Sb29tUHJldmlld0NhcmRfam9pbkJ1dHRvbnMge1xuICAgICAgICBtYXJnaW4tdG9wOiAyMHB4O1xuICAgICAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgICAgICAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGdhcDogMjBweDtcbiAgICB9XG5cbi5teF9Sb29tUHJldmlld0NhcmQgLm14X1Jvb21QcmV2aWV3Q2FyZF9qb2luQnV0dG9ucyAubXhfQWNjZXNzaWJsZUJ1dHRvbiB7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDIwMHB4O1xuICAgICAgICAgICAgcGFkZGluZzogMTRweCAwO1xuICAgICAgICAgICAgLXdlYmtpdC1ib3gtZmxleDogMTtcbiAgICAgICAgICAgICAgICAtbXMtZmxleC1wb3NpdGl2ZTogMTtcbiAgICAgICAgICAgICAgICAgICAgZmxleC1ncm93OiAxO1xuICAgICAgICB9XG5cbi8qXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cbkNvcHlyaWdodCAyMDI0IFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXG5cblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cbiovXG5cbi5teF9Sb29tU2VhcmNoQXV4UGFuZWwge1xuICAgIC8qIHVzZSBgbWluLWhlaWdodGAgcmF0aGVyIHRoYW4gaGVpZ2h0LCB0byBhbGxvdyByb29tIGZvciB0aGUgdGV4dCB0byB3cmFwIGlmIHRoZSB3aW5kb3cgaXMgbmFycm93ICovXG4gICAgbWluLWhlaWdodDogODRweDtcbiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tY3BkLWNvbG9yLWJnLWNhbnZhcy1kZWZhdWx0KTtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci13aWR0aDogMXB4IDA7XG4gICAgcGFkZGluZzogdmFyKC0tY3BkLXNwYWNlLTN4KTtcbiAgICAtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIGdhcDogdmFyKC0tY3BkLXNwYWNlLTJ4KTtcbn1cblxuLm14X1Jvb21TZWFyY2hBdXhQYW5lbCAubXhfUm9vbVNlYXJjaEF1eFBhbmVsX3N1bW1hcnkge1xuICAgICAgICAtd2Via2l0LWJveC1mbGV4OiAxO1xuICAgICAgICAgICAgLW1zLWZsZXgtcG9zaXRpdmU6IDE7XG4gICAgICAgICAgICAgICAgZmxleC1ncm93OiAxO1xuICAgICAgICBkaXNwbGF5OiBpbmhlcml0OyAvKiBmbGV4ICovXG4gICAgICAgIGdhcDogdmFyKC0tY3BkLXNwYWNlLTJ4KTtcbiAgICAgICAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB9XG5cbi5teF9Sb29tU2VhcmNoQXV4UGFuZWwgLm14X1Jvb21TZWFyY2hBdXhQYW5lbF9zdW1tYXJ5ID4gc3ZnIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IHZhcigtLWNwZC1zcGFjZS0yeCk7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1jcGQtc3BhY2UtMngpO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY3BkLWNvbG9yLWJnLXN1YnRsZS1zZWNvbmRhcnkpO1xuICAgICAgICAgICAgY29sb3I6IHZhcigtLWNwZC1jb2xvci1pY29uLXNlY29uZGFyeSk7XG4gICAgICAgICAgICAtbXMtZmxleC1uZWdhdGl2ZTogMDtcbiAgICAgICAgICAgICAgICBmbGV4LXNocmluazogMDtcbiAgICAgICAgfVxuXG4ubXhfUm9vbVNlYXJjaEF1eFBhbmVsIC5teF9Sb29tU2VhcmNoQXV4UGFuZWxfc3VtbWFyeSAubXhfUm9vbVNlYXJjaEF1eFBhbmVsX3N1bW1hcnlfdGV4dCB7XG4gICAgICAgICAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgICAgICAgICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWw7XG4gICAgICAgICAgICAtd2Via2l0LWJveC1kaXJlY3Rpb246IG5vcm1hbDtcbiAgICAgICAgICAgICAgICAtbXMtZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMzc1cmVtO1xuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgfVxuXG4ubXhfUm9vbVNlYXJjaEF1eFBhbmVsIC5teF9Sb29tU2VhcmNoQXV4UGFuZWxfc3VtbWFyeSAubXhfUm9vbVNlYXJjaEF1eFBhbmVsX3N1bW1hcnlfdGV4dCBzcGFuIHtcbiAgICAgICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgICAgICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgICAgICB9XG5cbi5teF9Sb29tU2VhcmNoQXV4UGFuZWwgLm14X1Jvb21TZWFyY2hBdXhQYW5lbF9zdW1tYXJ5IC5teF9TZWFyY2hXYXJuaW5nIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGNvbnRlbnRzO1xuICAgICAgICAgICAgZm9udC1zaXplOiAwLjgxMjVyZW07XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS4yNXJlbTtcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1jcGQtY29sb3ItdGV4dC1zZWNvbmRhcnkpO1xuICAgICAgICB9XG5cbi5teF9Sb29tU2VhcmNoQXV4UGFuZWwgLm14X1Jvb21TZWFyY2hBdXhQYW5lbF9idXR0b25zIHtcbiAgICAgICAgZGlzcGxheTogaW5oZXJpdDsgLyogZmxleCAqL1xuICAgICAgICBnYXA6IHZhcigtLWNwZC1zcGFjZS02eCk7XG4gICAgICAgIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIC1tcy1mbGV4LW5lZ2F0aXZlOiAwO1xuICAgICAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgfVxuXG4vKlxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXG5Db3B5cmlnaHQgMjAyMCBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxuXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXG4qL1xuXG4ubXhfUm9vbVN1Ymxpc3Qge1xuICAgIG1hcmdpbi1sZWZ0OiA4cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogNHB4O1xuXG4gICAgLyogSW4gdGhlIGdlbmVyYWwgY2FzZSwgd2UgcmVzZXJ2ZSBzcGFjZSBmb3IgZWFjaCBzdWJsaXN0IGhlYWRlciB0byBwcmV2ZW50ICovXG4gICAgLyogc2Nyb2xsIGp1bXBzIHdoZW4gdGhleSBiZWNvbWUgc3RpY2t5LiBIb3dldmVyLCB0aGF0IGxlYXZlcyBhIGdhcCB3aGVuICovXG59XG5cbi5teF9Sb29tU3VibGlzdC5teF9Sb29tU3VibGlzdF9oaWRkZW4ge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuLm14X1Jvb21TdWJsaXN0Om5vdCgubXhfUm9vbVN1Ymxpc3RfbWluaW1pemVkKSAubXhfUm9vbVN1Ymxpc3RfaGVhZGVyQ29udGFpbmVyIHtcbiAgICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgfVxuXG4ubXhfUm9vbVN1Ymxpc3QgLm14X1Jvb21TdWJsaXN0X2hlYWRlckNvbnRhaW5lciB7XG4gICAgICAgIC8qIENyZWF0ZSBhIGZsZXhib3ggdG8gbWFrZSBhbGlnbm1lbnQgZWFzeSAqL1xuICAgICAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgICAgICAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgICAgICAgLyogKioqKioqKioqKioqKioqKioqKioqKioqKioqICovXG4gICAgICAgIC8qIFN0aWNreSBIZWFkZXJzIFN0YXJ0ICovXG5cbiAgICAgICAgLyogSWRlYWxseSB3ZSdkIGJlIGFibGUgdG8gdXNlIGBwb3NpdGlvbjogc3RpY2t5OyB0b3A6IDA7IGJvdHRvbTogMDtgIG9uIHRoZSAqL1xuICAgICAgICAvKiBoZWFkZXJDb250YWluZXIsIGhvd2V2ZXIgZHVlIHRvIG91ciBsYXlvdXQgY29uY2VybnMgd2UgYWN0dWFsbHkgaGF2ZSB0byAqL1xuICAgICAgICAvKiBjYWxjdWxhdGUgaXQgbWFudWFsbHkgc28gd2UgY2FuIHN0aWNreSB0aGluZ3MgaW4gdGhlIHJpZ2h0IHBsYWNlcy4gV2UgYWxzbyAqL1xuICAgICAgICAvKiB0YXJnZXQgdGhlIGhlYWRlclRleHQgaW5zdGVhZCBvZiB0aGUgY29udGFpbmVyIHRvIHJlZHVjZSBqdW1wcyB3aGVuIHNjcm9sbGluZywgKi9cbiAgICAgICAgLyogYW5kIHRvIGhlbHAgaGlkZSB0aGUgYmFkZ2VzL290aGVyIGJ1dHRvbnMgdGhhdCBjb3VsZCBhcHBlYXIgb24gaG92ZXIuIFRoaXMgKi9cbiAgICAgICAgLyogYWxsIHdvcmtzIGJ5IGVuc3VyaW5nIHRoZSBoZWFkZXIgdGV4dCBoYXMgYSBmaXhlZCBoZWlnaHQgd2hlbiBzdGlja3kgc28gdGhlICovXG4gICAgICAgIC8qIGZpeGVkIGhlaWdodCBvZiB0aGUgY29udGFpbmVyIGNhbiBtYWludGFpbiB0aGUgc2Nyb2xsIHBvc2l0aW9uLiAqL1xuXG4gICAgICAgIC8qIFRoZSBjb21iaW5lZCBoZWlnaHQgbXVzdCBiZSBzZXQgaW4gdGhlIExlZnRQYW5lbCBjb21wb25lbnQgZm9yIHN0aWNreSBoZWFkZXJzICovXG4gICAgICAgIC8qIHRvIHdvcmsgY29ycmVjdGx5LiAqL1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogOHB4O1xuICAgICAgICBoZWlnaHQ6IDI0cHg7XG4gICAgICAgIGNvbG9yOiAjZWRmM2ZmO1xuICAgICAgICBjb2xvcjogdmFyKC0tc2Vjb25kYXJ5LWNvbnRlbnQsICNlZGYzZmYpO1xuICAgIH1cblxuLm14X1Jvb21TdWJsaXN0IC5teF9Sb29tU3VibGlzdF9oZWFkZXJDb250YWluZXIgLm14X1Jvb21TdWJsaXN0X3N0aWNrYWJsZUNvbnRhaW5lciB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuXG4ubXhfUm9vbVN1Ymxpc3QgLm14X1Jvb21TdWJsaXN0X2hlYWRlckNvbnRhaW5lciAubXhfUm9vbVN1Ymxpc3Rfc3RpY2thYmxlIHtcbiAgICAgICAgICAgIC13ZWJraXQtYm94LWZsZXg6IDE7XG4gICAgICAgICAgICAgICAgLW1zLWZsZXg6IDE7XG4gICAgICAgICAgICAgICAgICAgIGZsZXg6IDE7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgICAgIC8qIENyZWF0ZSBhIGZsZXhib3ggdG8gbWFrZSBvcmRlcmluZyBlYXN5ICovXG4gICAgICAgICAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgICAgICAgICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgICAgICAgICAgLyogV2UgdXNlIGEgZ2VuZXJpYyBzdGlja3kgY2xhc3MgZm9yIDIgcmVhc29uczogdG8gcmVkdWNlIHN0eWxlIGR1cGxpY2F0aW9uIGFuZCAqL1xuICAgICAgICAgICAgLyogdG8gaWRlbnRpZnkgd2hlbiBhIGhlYWRlciBpcyBzdGlja3kuIElmIHdlIGRpZG4ndCBoYXZlIGEgY29uc2lzdGVudCBzdGlja3kgY2xhc3MsICovXG4gICAgICAgICAgICAvKiB3ZSdkIGhhdmUgdG8gZG8gdGhlIFwiaXMgc3RpY2t5XCIgY2hlY2tzIGFnYWluIG9uIGNsaWNrLCBhcyBjbGlja2luZyB0aGUgaGVhZGVyICovXG5cbiAgICAgICAgICAgIC8qIFdlIGRvbid0IGhhdmUgYSB0b3Agc3R5bGUgYmVjYXVzZSB0aGUgdG9wIGlzIGRlcGVuZGVudCBvbiB0aGUgcm9vbSBsaXN0IGhlYWRlcidzICovXG4gICAgICAgICAgICAvKiBoZWlnaHQsIGFuZCBpcyB0aGVyZWZvcmUgY2FsY3VsYXRlZCBpbiBKUy4gKi9cbiAgICAgICAgICAgIC8qIFRoZSBjbGFzcywgbXhfUm9vbVN1Ymxpc3RfaGVhZGVyQ29udGFpbmVyX3N0aWNreVRvcCwgaXMgYXBwbGllZCB0aG91Z2guICovXG4gICAgICAgIH1cblxuLyogd2hlbiBzdGlja3kgc2Nyb2xscyBpbnN0ZWFkIG9mIGNvbGxhcHNlcyB0aGUgbGlzdC4gKi9cblxuLm14X1Jvb21TdWJsaXN0IC5teF9Sb29tU3VibGlzdF9oZWFkZXJDb250YWluZXIgLm14X1Jvb21TdWJsaXN0X3N0aWNrYWJsZS5teF9Sb29tU3VibGlzdF9oZWFkZXJDb250YWluZXJfc3RpY2t5IHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAzMnB4OyAvKiB0byBtYXRjaCB0aGUgaGVhZGVyIGNvbnRhaW5lciAqL1xuICAgICAgICAgICAgICAgIC8qIHdpZHRoIHNldCBieSBKUyBiZWNhdXNlIG9mIGEgY29tcGF0IGlzc3VlIGJldHdlZW4gRmlyZWZveCBhbmQgQ2hyb21lICovXG4gICAgICAgICAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDE1cHgpO1xuICAgICAgICAgICAgfVxuXG4vKiAqKioqKioqKioqKioqKioqKioqKioqKioqKiogKi9cblxuLm14X1Jvb21TdWJsaXN0IC5teF9Sb29tU3VibGlzdF9oZWFkZXJDb250YWluZXIgLm14X1Jvb21TdWJsaXN0X2JhZGdlQ29udGFpbmVyIHtcbiAgICAgICAgICAgIC8qIENyZWF0ZSBhbm90aGVyIGZsZXhib3ggcm93IGJlY2F1c2UgaXQncyBzdXBlciBlYXN5IHRvIHBvc2l0aW9uIHRoZSBiYWRnZSB0aGlzIHdheS4gKi9cbiAgICAgICAgICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICAgICAgICAgICAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgLXdlYmtpdC1ib3gtcGFjazogY2VudGVyO1xuICAgICAgICAgICAgICAgIC1tcy1mbGV4LXBhY2s6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIH1cblxuLyogQXBwbHkgdGhlIHdpZHRoIGFuZCBtYXJnaW4gdG8gdGhlIGJhZGdlIHNvIHRoZSBjb250YWluZXIgZG9lc24ndCBvY2N1cHkgZGVhZCBzcGFjZSAqL1xuXG4ubXhfUm9vbVN1Ymxpc3QgLm14X1Jvb21TdWJsaXN0X2hlYWRlckNvbnRhaW5lciAubXhfUm9vbVN1Ymxpc3RfYmFkZ2VDb250YWluZXIgLm14X05vdGlmaWNhdGlvbkJhZGdlIHtcbiAgICAgICAgICAgICAgICAvKiBEbyBub3Qgc2V0IGEgd2lkdGggc28gdGhlIGJhZGdlcyBnZXQgcHJvcGVybHkgc2l6ZWQgKi9cbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogOHB4OyAvKiBzYW1lIGFzIG1lbnUrYXV4IGJ1dHRvbnMgKi9cbiAgICAgICAgICAgIH1cblxuLyogU3RpY2t5IEhlYWRlcnMgRW5kICovXG5cbi5teF9Sb29tU3VibGlzdCAubXhfUm9vbVN1Ymxpc3RfaGVhZGVyQ29udGFpbmVyOm5vdCgubXhfUm9vbVN1Ymxpc3RfaGVhZGVyQ29udGFpbmVyX3dpdGhBdXgpIC5teF9Ob3RpZmljYXRpb25CYWRnZSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiA0cHg7IC8qIGp1c3QgdG8gcHVzaCBpdCBvdmVyIGEgYml0LCBhbGlnbmluZyBpdCB3aXRoIHRoZSBvdGhlciBlbGVtZW50cyAqL1xuICAgICAgICAgICAgfVxuXG4ubXhfUm9vbVN1Ymxpc3QgLm14X1Jvb21TdWJsaXN0X2hlYWRlckNvbnRhaW5lciAubXhfUm9vbVN1Ymxpc3RfYXV4QnV0dG9uLFxuICAgICAgICAubXhfUm9vbVN1Ymxpc3QgLm14X1Jvb21TdWJsaXN0X2hlYWRlckNvbnRhaW5lciAubXhfUm9vbVN1Ymxpc3RfbWVudUJ1dHRvbiB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogOHB4OyAvKiBzaG91bGQgYmUgdGhlIHNhbWUgYXMgdGhlIG5vdGlmaWNhdGlvbiBiYWRnZSAqL1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgd2lkdGg6IDI0cHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDI0cHg7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgICAgIH1cblxuLm14X1Jvb21TdWJsaXN0IC5teF9Sb29tU3VibGlzdF9oZWFkZXJDb250YWluZXIgLm14X1Jvb21TdWJsaXN0X2F1eEJ1dHRvbjo6YmVmb3JlLCAubXhfUm9vbVN1Ymxpc3QgLm14X1Jvb21TdWJsaXN0X2hlYWRlckNvbnRhaW5lciAubXhfUm9vbVN1Ymxpc3RfbWVudUJ1dHRvbjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxNnB4O1xuICAgICAgICAgICAgICAgIGhlaWdodDogMTZweDtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgdG9wOiA0cHg7XG4gICAgICAgICAgICAgICAgbGVmdDogNHB4O1xuICAgICAgICAgICAgICAgIC13ZWJraXQtbWFzay1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFzay1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgICAgICAgICAgIC13ZWJraXQtbWFzay1zaXplOiBjb250YWluO1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFzay1zaXplOiBjb250YWluO1xuICAgICAgICAgICAgICAgIC13ZWJraXQtbWFzay1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hc2stcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tY3BkLWNvbG9yLWljb24tc2Vjb25kYXJ5KTtcbiAgICAgICAgICAgIH1cblxuLm14X1Jvb21TdWJsaXN0IC5teF9Sb29tU3VibGlzdF9oZWFkZXJDb250YWluZXIgLm14X1Jvb21TdWJsaXN0X2F1eEJ1dHRvbjpob3ZlcixcbiAgICAgICAgLm14X1Jvb21TdWJsaXN0IC5teF9Sb29tU3VibGlzdF9oZWFkZXJDb250YWluZXIgLm14X1Jvb21TdWJsaXN0X21lbnVCdXR0b246aG92ZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tcm9vbWxpc3QtaGlnaGxpZ2h0cy1jb2xvcik7XG4gICAgICAgIH1cblxuLyogSGlkZSB0aGUgbWVudSBidXR0b24gYnkgZGVmYXVsdCAqL1xuXG4ubXhfUm9vbVN1Ymxpc3QgLm14X1Jvb21TdWJsaXN0X2hlYWRlckNvbnRhaW5lciAubXhfUm9vbVN1Ymxpc3RfbWVudUJ1dHRvbiB7XG4gICAgICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgICAgICAgICB3aWR0aDogMDtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgfVxuXG4ubXhfUm9vbVN1Ymxpc3QgLm14X1Jvb21TdWJsaXN0X2hlYWRlckNvbnRhaW5lciAubXhfUm9vbVN1Ymxpc3RfYXV4QnV0dG9uOjpiZWZvcmUge1xuICAgICAgICAgICAgLXdlYmtpdC1tYXNrLWltYWdlOiB1cmwoXCJAdmVjdG9yLWltL2NvbXBvdW5kLWRlc2lnbi10b2tlbnMvaWNvbnMvcGx1cy5zdmdcIik7XG4gICAgICAgICAgICAgICAgICAgIG1hc2staW1hZ2U6IHVybChcIkB2ZWN0b3ItaW0vY29tcG91bmQtZGVzaWduLXRva2Vucy9pY29ucy9wbHVzLnN2Z1wiKTtcbiAgICAgICAgfVxuXG4ubXhfUm9vbVN1Ymxpc3QgLm14X1Jvb21TdWJsaXN0X2hlYWRlckNvbnRhaW5lciAubXhfUm9vbVN1Ymxpc3RfbWVudUJ1dHRvbjo6YmVmb3JlIHtcbiAgICAgICAgICAgIC13ZWJraXQtbWFzay1pbWFnZTogdXJsKFwiQHZlY3Rvci1pbS9jb21wb3VuZC1kZXNpZ24tdG9rZW5zL2ljb25zL292ZXJmbG93LWhvcml6b250YWwuc3ZnXCIpO1xuICAgICAgICAgICAgICAgICAgICBtYXNrLWltYWdlOiB1cmwoXCJAdmVjdG9yLWltL2NvbXBvdW5kLWRlc2lnbi10b2tlbnMvaWNvbnMvb3ZlcmZsb3ctaG9yaXpvbnRhbC5zdmdcIik7XG4gICAgICAgIH1cblxuLm14X1Jvb21TdWJsaXN0IC5teF9Sb29tU3VibGlzdF9oZWFkZXJDb250YWluZXIgLm14X1Jvb21TdWJsaXN0X2hlYWRlclRleHQge1xuICAgICAgICAgICAgLXdlYmtpdC1ib3gtZmxleDogMTtcbiAgICAgICAgICAgICAgICAtbXMtZmxleDogMTtcbiAgICAgICAgICAgICAgICAgICAgZmxleDogMTtcbiAgICAgICAgICAgIG1heC13aWR0aDogY2FsYygxMDAlIC0gMTZweCk7IC8qIDE2cHggaXMgdGhlIGJhZGdlIHdpZHRoICovXG4gICAgICAgICAgICBmb250OiB2YXIoLS1jcGQtZm9udC1ib2R5LXNtLXNlbWlib2xkKTtcblxuICAgICAgICAgICAgLyogRWxsaXBzaXplIGFueSB0ZXh0IG92ZXJmbG93ICovXG4gICAgICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICB9XG5cbi5teF9Sb29tU3VibGlzdCAubXhfUm9vbVN1Ymxpc3RfaGVhZGVyQ29udGFpbmVyIC5teF9Sb29tU3VibGlzdF9oZWFkZXJUZXh0IC5teF9Sb29tU3VibGlzdF9jb2xsYXBzZUJ0biB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTRweDtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDE0cHg7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiA2cHg7XG4gICAgICAgICAgICB9XG5cbi5teF9Sb29tU3VibGlzdCAubXhfUm9vbVN1Ymxpc3RfaGVhZGVyQ29udGFpbmVyIC5teF9Sb29tU3VibGlzdF9oZWFkZXJUZXh0IC5teF9Sb29tU3VibGlzdF9jb2xsYXBzZUJ0bjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDE4cHg7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogMThweDtcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgICAtd2Via2l0LW1hc2stcG9zaXRpb246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXNrLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgIC13ZWJraXQtbWFzay1zaXplOiBjb250YWluO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hc2stc2l6ZTogY29udGFpbjtcbiAgICAgICAgICAgICAgICAgICAgLXdlYmtpdC1tYXNrLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hc2stcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNwZC1jb2xvci1pY29uLXNlY29uZGFyeSk7XG4gICAgICAgICAgICAgICAgICAgIC13ZWJraXQtbWFzay1pbWFnZTogdXJsKFwiQHZlY3Rvci1pbS9jb21wb3VuZC1kZXNpZ24tdG9rZW5zL2ljb25zL2NoZXZyb24tZG93bi5zdmdcIik7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFzay1pbWFnZTogdXJsKFwiQHZlY3Rvci1pbS9jb21wb3VuZC1kZXNpZ24tdG9rZW5zL2ljb25zL2NoZXZyb24tZG93bi5zdmdcIik7XG4gICAgICAgICAgICAgICAgfVxuXG4ubXhfUm9vbVN1Ymxpc3QgLm14X1Jvb21TdWJsaXN0X2hlYWRlckNvbnRhaW5lciAubXhfUm9vbVN1Ymxpc3RfaGVhZGVyVGV4dCAubXhfUm9vbVN1Ymxpc3RfY29sbGFwc2VCdG4ubXhfUm9vbVN1Ymxpc3RfY29sbGFwc2VCdG5fY29sbGFwc2VkOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKC05MGRlZyk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKTtcbiAgICAgICAgICAgICAgICB9XG5cbi8qIHN0aWNrIHRvIHRvcCksIHNvIHdlIG1ha2Ugc3VyZSB0byBleGNsdWRlIHRoZSBmaXJzdCB2aXNpYmxlIHN1Ymxpc3QuICovXG5cbi5teF9Sb29tU3VibGlzdDpub3QoLm14X1Jvb21TdWJsaXN0X2hpZGRlbikgfiAubXhfUm9vbVN1Ymxpc3QgLm14X1Jvb21TdWJsaXN0X3N0aWNrYWJsZUNvbnRhaW5lciB7XG4gICAgICAgIGhlaWdodDogMjRweDtcbiAgICB9XG5cbi8qIHNjcm9sbGVkIHRvIHRoZSB0b3AgYWJvdmUgdGhlIGZpcnN0IHN1Ymxpc3QgKHdob3NlIGhlYWRlciBjYW4gb25seSBldmVyICovXG5cbi5teF9Sb29tU3VibGlzdCAubXhfUm9vbVN1Ymxpc3RfcmVzaXplQm94IHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgIC8qIENyZWF0ZSBhbm90aGVyIGZsZXhib3ggY29sdW1uIGZvciB0aGUgdGlsZXMgKi9cbiAgICAgICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gICAgICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xuICAgICAgICAtd2Via2l0LWJveC1kaXJlY3Rpb246IG5vcm1hbDtcbiAgICAgICAgICAgIC1tcy1mbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICAgICAgLyogQ2xhc3MgbmFtZSBjb21lcyBmcm9tIHRoZSBSZXNpemFibGVCb3ggY29tcG9uZW50ICovXG4gICAgICAgIC8qIFRoZSBob3ZlciBzdGF0ZSBuZWVkcyB0byB1c2UgdGhlIHdob2xlIHN1Ymxpc3QsIG5vdCBqdXN0IHRoZSByZXNpemFibGUgYm94LCAqL1xuICAgIH1cblxuLm14X1Jvb21TdWJsaXN0IC5teF9Sb29tU3VibGlzdF9yZXNpemVCb3ggLm14X1Jvb21TdWJsaXN0X3RpbGVzIHtcbiAgICAgICAgICAgIC13ZWJraXQtYm94LWZsZXg6IDE7XG4gICAgICAgICAgICAgICAgLW1zLWZsZXg6IDEgMCAwcHg7XG4gICAgICAgICAgICAgICAgICAgIGZsZXg6IDEgMCAwO1xuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICAgIG92ZXJmbG93OiBjbGlwO1xuICAgICAgICAgICAgLyogbmVlZCB0aGlzIHRvIGJlIGZsZXggb3RoZXJ3aXNlIHRoZSBvdmVyZmxvdyBoaWRkZW4gZnJvbSBhYm92ZSAqL1xuICAgICAgICAgICAgLyogc29tZXRpbWVzIHZlcnRpY2FsbHkgY2VudGVycyB0aGUgY2xpcHBlZCBsaXN0IC4uLiBubyBpZGVhIHdoeSBpdCB3b3VsZCBkbyB0aGlzICovXG4gICAgICAgICAgICAvKiBhcyB0aGUgYm94IG1vZGVsIHNob3VsZCBiZSB0b3AgYWxpZ25lZC4gSGFwcGVucyBpbiBib3RoIEZGIGFuZCBDaHJvbWl1bSAqL1xuICAgICAgICAgICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gICAgICAgICAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xuICAgICAgICAgICAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiBub3JtYWw7XG4gICAgICAgICAgICAgICAgLW1zLWZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICAtbXMtZmxleC1pdGVtLWFsaWduOiBzdHJldGNoO1xuICAgICAgICAgICAgICAgIGFsaWduLXNlbGY6IHN0cmV0Y2g7XG4gICAgICAgICAgICAvKiB3aXRob3V0IHRoaXMgRmlyZWZveCB3aWxsIHByZWZlciBwdXNoaW5nIHRoZSByZXNpemVyICYgc2hvdyBtb3JlL2xlc3MgYnV0dG9uIGludG8gdGhlIG92ZXJmbG93ICovXG4gICAgICAgICAgICBtaW4taGVpZ2h0OiAwO1xuXG4gICAgICAgICAgICAtd2Via2l0LW1hc2staW1hZ2U6IGxpbmVhci1ncmFkaWVudCgwZGVnLCB0cmFuc3BhcmVudCwgYmxhY2sgNHB4KTtcblxuICAgICAgICAgICAgICAgICAgICBtYXNrLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoMGRlZywgdHJhbnNwYXJlbnQsIGJsYWNrIDRweCk7XG4gICAgICAgIH1cblxuLm14X1Jvb21TdWJsaXN0IC5teF9Sb29tU3VibGlzdF9yZXNpemVCb3gubXhfUm9vbVN1Ymxpc3RfcmVzaXplQm94X2ZvcmNlRXhwYW5kZWQgLm14X1Jvb21TdWJsaXN0X3RpbGVzIHtcbiAgICAgICAgICAgIC8qIGluIHRoaXMgc3RhdGUgdGhlIGRpdiBjYW4gY29sbGFwc2UgaXRzIGhlaWdodCBlbnRpcmVseSBpbiBDaHJvbWl1bSwgKi9cbiAgICAgICAgICAgIC8qIHNvIHByZXZlbnQgdGhhdCBieSBhbGxvd2luZyBvdmVyZmxvdyAqL1xuICAgICAgICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgICAgICAgICAvKiBjbGVhciB0aGUgbWluLWhlaWdodCB0byBtYWtlIGl0IG5vdCBjb2xsYXBzZSBlbnRpcmVseSBpbiBhIHN0YXRlIHdpdGggbm8gYWN0aXZlIHJlc2l6ZXIgKi9cbiAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDA7XG4gICAgICAgICAgICBtaW4taGVpZ2h0OiBpbml0aWFsO1xuICAgICAgICB9XG5cbi5teF9Sb29tU3VibGlzdCAubXhfUm9vbVN1Ymxpc3RfcmVzaXplQm94IC5teF9Sb29tU3VibGlzdF9yZXNpemVySGFuZGxlc19zaG93TkJ1dHRvbiB7XG4gICAgICAgICAgICAtd2Via2l0LWJveC1mbGV4OiAwO1xuICAgICAgICAgICAgICAgIC1tcy1mbGV4OiAwIDAgMzJweDtcbiAgICAgICAgICAgICAgICAgICAgZmxleDogMCAwIDMycHg7XG4gICAgICAgIH1cblxuLm14X1Jvb21TdWJsaXN0IC5teF9Sb29tU3VibGlzdF9yZXNpemVCb3ggLm14X1Jvb21TdWJsaXN0X3Jlc2l6ZXJIYW5kbGVzIHtcbiAgICAgICAgICAgIC13ZWJraXQtYm94LWZsZXg6IDA7XG4gICAgICAgICAgICAgICAgLW1zLWZsZXg6IDAgMCA0cHg7XG4gICAgICAgICAgICAgICAgICAgIGZsZXg6IDAgMCA0cHg7XG4gICAgICAgICAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgICAgICAgICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIC13ZWJraXQtYm94LXBhY2s6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAtbXMtZmxleC1wYWNrOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cblxuLyogc28gdGhhdCBzZWxlY3RvciBpcyBiZWxvdyBhbmQgb25lIGxldmVsIGhpZ2hlci4gKi9cblxuLm14X1Jvb21TdWJsaXN0IC5teF9Sb29tU3VibGlzdF9yZXNpemVCb3ggLm14X1Jvb21TdWJsaXN0X3Jlc2l6ZXJIYW5kbGUge1xuICAgICAgICAgICAgY3Vyc29yOiBucy1yZXNpemU7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAzcHg7XG5cbiAgICAgICAgICAgIC8qIE92ZXJyaWRlIHN0eWxlcyBmcm9tIGxpYnJhcnkgKi9cbiAgICAgICAgICAgIG1heC13aWR0aDogNjRweDtcbiAgICAgICAgICAgIGhlaWdodDogNHB4ICFpbXBvcnRhbnQ7IC8qIFVwZGF0ZSBSRVNJWkVfSEFORExFX0hFSUdIVCBpZiB0aGlzIGNoYW5nZXMgKi9cblxuICAgICAgICAgICAgLyogVGhpcyBpcyBwb3NpdGlvbmVkIGRpcmVjdGx5IGJlbG93IHRoZSAnc2hvdyBtb3JlJyBidXR0b24uICovXG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgICAgICAgICAgIGJvdHRvbTogMCAhaW1wb3J0YW50OyAvKiBvdmVycmlkZSBmcm9tIGxpYnJhcnkgKi9cbiAgICAgICAgfVxuXG4ubXhfUm9vbVN1Ymxpc3QgLm14X1Jvb21TdWJsaXN0X3Jlc2l6ZUJveDpob3ZlciAubXhfUm9vbVN1Ymxpc3RfcmVzaXplckhhbmRsZSwgLm14X1Jvb21TdWJsaXN0IC5teF9Sb29tU3VibGlzdF9yZXNpemVCb3gubXhfUm9vbVN1Ymxpc3RfaGFzTWVudU9wZW4gLm14X1Jvb21TdWJsaXN0X3Jlc2l6ZXJIYW5kbGUge1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDAuODtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS10aW1lbGluZS10ZXh0LWNvbG9yKTtcbiAgICAgICAgICAgIH1cblxuLm14X1Jvb21TdWJsaXN0IC5teF9Sb29tU3VibGlzdF9zaG93TkJ1dHRvbiB7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgZm9udC1zaXplOiAwLjgxMjVyZW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjEyNXJlbTtcbiAgICAgICAgY29sb3I6ICNlZGYzZmY7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1zZWNvbmRhcnktY29udGVudCwgI2VkZjNmZik7XG5cbiAgICAgICAgLyogVXBkYXRlIHRoZSByZW5kZXIoKSBmdW5jdGlvbiBmb3IgUm9vbVN1Ymxpc3QgaWYgdGhlc2UgY2hhbmdlICovXG4gICAgICAgIC8qIFVwZGF0ZSB0aGUgTGlzdExheW91dCBjbGFzcyBmb3IgbWluVmlzaWJsZVRpbGVzIGlmIHRoZXNlIGNoYW5nZS4gKi9cbiAgICAgICAgaGVpZ2h0OiAyNHB4O1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogNHB4O1xuXG4gICAgICAgIC8qIFdlIGNyZWF0ZSBhIGZsZXhib3ggdG8gY2hlYXQgYXQgYWxpZ25tZW50ICovXG4gICAgICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICAgICAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB9XG5cbi5teF9Sb29tU3VibGlzdCAubXhfUm9vbVN1Ymxpc3Rfc2hvd05CdXR0b24gLm14X1Jvb21TdWJsaXN0X3Nob3dOQnV0dG9uQ2hldnJvbiB7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICB3aWR0aDogMThweDtcbiAgICAgICAgICAgIGhlaWdodDogMThweDtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAxMnB4O1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxNnB4O1xuICAgICAgICAgICAgLXdlYmtpdC1tYXNrLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgIG1hc2stcG9zaXRpb246IGNlbnRlcjtcbiAgICAgICAgICAgIC13ZWJraXQtbWFzay1zaXplOiBjb250YWluO1xuICAgICAgICAgICAgICAgICAgICBtYXNrLXNpemU6IGNvbnRhaW47XG4gICAgICAgICAgICAtd2Via2l0LW1hc2stcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgICAgICAgICAgIG1hc2stcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAjZWRmM2ZmO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tdGVydGlhcnktY29udGVudCwgI2VkZjNmZik7XG4gICAgICAgICAgICBsZWZ0OiAtMXB4OyAvKiBhZGp1c3QgZm9yIGltYWdlIHBvc2l0aW9uICovXG4gICAgICAgIH1cblxuLm14X1Jvb21TdWJsaXN0IC5teF9Sb29tU3VibGlzdF9zaG93TkJ1dHRvbiAubXhfUm9vbVN1Ymxpc3Rfc2hvd01vcmVCdXR0b25DaGV2cm9uLFxuICAgICAgICAubXhfUm9vbVN1Ymxpc3QgLm14X1Jvb21TdWJsaXN0X3Nob3dOQnV0dG9uIC5teF9Sb29tU3VibGlzdF9zaG93TGVzc0J1dHRvbkNoZXZyb24ge1xuICAgICAgICAgICAgLXdlYmtpdC1tYXNrLWltYWdlOiB1cmwoXCJAdmVjdG9yLWltL2NvbXBvdW5kLWRlc2lnbi10b2tlbnMvaWNvbnMvY2hldnJvbi1kb3duLnN2Z1wiKTtcbiAgICAgICAgICAgICAgICAgICAgbWFzay1pbWFnZTogdXJsKFwiQHZlY3Rvci1pbS9jb21wb3VuZC1kZXNpZ24tdG9rZW5zL2ljb25zL2NoZXZyb24tZG93bi5zdmdcIik7XG4gICAgICAgIH1cblxuLm14X1Jvb21TdWJsaXN0IC5teF9Sb29tU3VibGlzdF9zaG93TkJ1dHRvbiAubXhfUm9vbVN1Ymxpc3Rfc2hvd0xlc3NCdXR0b25DaGV2cm9uIHtcbiAgICAgICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbiAgICAgICAgfVxuXG4ubXhfUm9vbVN1Ymxpc3QubXhfUm9vbVN1Ymxpc3RfaGFzTWVudU9wZW4gLm14X1Jvb21TdWJsaXN0X21lbnVCdXR0b24sIC5teF9Sb29tU3VibGlzdDpub3QoLm14X1Jvb21TdWJsaXN0X21pbmltaXplZCkgPiAubXhfUm9vbVN1Ymxpc3RfaGVhZGVyQ29udGFpbmVyOmZvY3VzLXdpdGhpbiAubXhfUm9vbVN1Ymxpc3RfbWVudUJ1dHRvbiwgLm14X1Jvb21TdWJsaXN0Om5vdCgubXhfUm9vbVN1Ymxpc3RfbWluaW1pemVkKSA+IC5teF9Sb29tU3VibGlzdF9oZWFkZXJDb250YWluZXI6aG92ZXIgLm14X1Jvb21TdWJsaXN0X21lbnVCdXR0b24ge1xuICAgICAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICAgICAgICAgIHdpZHRoOiAyNHB4O1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDhweDtcbiAgICAgICAgfVxuXG4ubXhfUm9vbVN1Ymxpc3QubXhfUm9vbVN1Ymxpc3RfbWluaW1pemVkIC5teF9Sb29tU3VibGlzdF9oZWFkZXJDb250YWluZXIge1xuICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcbiAgICAgICAgICAgIC13ZWJraXQtYm94LWRpcmVjdGlvbjogbm9ybWFsO1xuICAgICAgICAgICAgICAgIC1tcy1mbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB9XG5cbi5teF9Sb29tU3VibGlzdC5teF9Sb29tU3VibGlzdF9taW5pbWl6ZWQgLm14X1Jvb21TdWJsaXN0X2hlYWRlckNvbnRhaW5lciAubXhfUm9vbVN1Ymxpc3RfYmFkZ2VDb250YWluZXIge1xuICAgICAgICAgICAgICAgIC13ZWJraXQtYm94LW9yZGluYWwtZ3JvdXA6IDE7XG4gICAgICAgICAgICAgICAgICAgIC1tcy1mbGV4LW9yZGVyOiAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgb3JkZXI6IDA7XG4gICAgICAgICAgICAgICAgLW1zLWZsZXgtaXRlbS1hbGlnbjogZW5kO1xuICAgICAgICAgICAgICAgICAgICBhbGlnbi1zZWxmOiBmbGV4LWVuZDtcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgICAgICB9XG5cbi5teF9Sb29tU3VibGlzdC5teF9Sb29tU3VibGlzdF9taW5pbWl6ZWQgLm14X1Jvb21TdWJsaXN0X2hlYWRlckNvbnRhaW5lciAubXhfUm9vbVN1Ymxpc3Rfc3RpY2thYmxlIHtcbiAgICAgICAgICAgICAgICAtd2Via2l0LWJveC1vcmRpbmFsLWdyb3VwOiAyO1xuICAgICAgICAgICAgICAgICAgICAtbXMtZmxleC1vcmRlcjogMTtcbiAgICAgICAgICAgICAgICAgICAgICAgIG9yZGVyOiAxO1xuICAgICAgICAgICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgICAgIH1cblxuLm14X1Jvb21TdWJsaXN0Lm14X1Jvb21TdWJsaXN0X21pbmltaXplZCAubXhfUm9vbVN1Ymxpc3RfaGVhZGVyQ29udGFpbmVyIC5teF9Sb29tU3VibGlzdF9hdXhCdXR0b24ge1xuICAgICAgICAgICAgICAgIC13ZWJraXQtYm94LW9yZGluYWwtZ3JvdXA6IDM7XG4gICAgICAgICAgICAgICAgICAgIC1tcy1mbGV4LW9yZGVyOiAyO1xuICAgICAgICAgICAgICAgICAgICAgICAgb3JkZXI6IDI7XG4gICAgICAgICAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICAgICAgICAgICAgICB3aWR0aDogMzJweCAhaW1wb3J0YW50OyAvKiAhaW1wb3J0YW50IHRvIG92ZXJyaWRlIGhvdmVyIHN0eWxlcyAqL1xuICAgICAgICAgICAgICAgIGhlaWdodDogMzJweCAhaW1wb3J0YW50OyAvKiAhaW1wb3J0YW50IHRvIG92ZXJyaWRlIGhvdmVyIHN0eWxlcyAqL1xuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwICFpbXBvcnRhbnQ7IC8qICFpbXBvcnRhbnQgdG8gb3ZlcnJpZGUgaG92ZXIgc3R5bGVzICovXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcm9vbWxpc3QtaGlnaGxpZ2h0cy1jb2xvcik7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogOHB4O1xuICAgICAgICAgICAgfVxuXG4ubXhfUm9vbVN1Ymxpc3QubXhfUm9vbVN1Ymxpc3RfbWluaW1pemVkIC5teF9Sb29tU3VibGlzdF9oZWFkZXJDb250YWluZXIgLm14X1Jvb21TdWJsaXN0X2F1eEJ1dHRvbjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgdG9wOiA4cHg7XG4gICAgICAgICAgICAgICAgICAgIGxlZnQ6IDhweDtcbiAgICAgICAgICAgICAgICB9XG5cbi5teF9Sb29tU3VibGlzdC5teF9Sb29tU3VibGlzdF9taW5pbWl6ZWQgLm14X1Jvb21TdWJsaXN0X3Jlc2l6ZUJveCB7XG4gICAgICAgICAgICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIH1cblxuLm14X1Jvb21TdWJsaXN0Lm14X1Jvb21TdWJsaXN0X21pbmltaXplZCAubXhfUm9vbVN1Ymxpc3Rfc2hvd05CdXR0b24ge1xuICAgICAgICAgICAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcbiAgICAgICAgICAgIC13ZWJraXQtYm94LWRpcmVjdGlvbjogbm9ybWFsO1xuICAgICAgICAgICAgICAgIC1tcy1mbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICB9XG5cbi5teF9Sb29tU3VibGlzdC5teF9Sb29tU3VibGlzdF9taW5pbWl6ZWQgLm14X1Jvb21TdWJsaXN0X3Nob3dOQnV0dG9uIC5teF9Sb29tU3VibGlzdF9zaG93TkJ1dHRvbkNoZXZyb24ge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMTJweDsgLyogdG8gY2VudGVyICovXG4gICAgICAgICAgICB9XG5cbi5teF9Sb29tU3VibGlzdC5teF9Sb29tU3VibGlzdF9taW5pbWl6ZWQgLm14X1Jvb21TdWJsaXN0X21lbnVCdXR0b24ge1xuICAgICAgICAgICAgaGVpZ2h0OiAxNnB4O1xuICAgICAgICB9XG5cbi5teF9Sb29tU3VibGlzdC5teF9Sb29tU3VibGlzdF9taW5pbWl6ZWQubXhfUm9vbVN1Ymxpc3RfaGFzTWVudU9wZW4gLm14X1Jvb21TdWJsaXN0X21lbnVCdXR0b24sIC5teF9Sb29tU3VibGlzdC5teF9Sb29tU3VibGlzdF9taW5pbWl6ZWQgPiAubXhfUm9vbVN1Ymxpc3RfaGVhZGVyQ29udGFpbmVyOmhvdmVyIC5teF9Sb29tU3VibGlzdF9tZW51QnV0dG9uIHtcbiAgICAgICAgICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICBib3R0b206IDQ4cHg7IC8qIGFsaWduIHRvIG1pZGRsZSBvZiBuYW1lLCA0MHB4IGZvciBhdXggYnV0dG9uICh3aXRoIHBhZGRpbmcpIGFuZCA4cHggZm9yIGFsaWdubWVudCAqL1xuICAgICAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxNnB4O1xuICAgICAgICAgICAgICAgIGhlaWdodDogMTZweDtcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgICAgICAgICAgICAgIHotaW5kZXg6IDE7IC8qIG9jY2x1ZGUgdGhlIGxpc3QgbmFtZSAqL1xuXG4gICAgICAgICAgICAgICAgLyogVGhpcyBpcyB0aGUgc2FtZSBjb2xvciBhcyB0aGUgbGVmdCBwYW5lbCBiYWNrZ3JvdW5kIGJlY2F1c2UgaXQgbmVlZHMgKi9cbiAgICAgICAgICAgICAgICAvKiB0byBvY2NsdWRlIHRoZSBzdWJsaXN0IHRpdGxlICovXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcm9vbWxpc3QtYmFja2dyb3VuZC1jb2xvcik7XG4gICAgICAgICAgICB9XG5cbi5teF9Sb29tU3VibGlzdC5teF9Sb29tU3VibGlzdF9taW5pbWl6ZWQubXhfUm9vbVN1Ymxpc3RfaGFzTWVudU9wZW4gLm14X1Jvb21TdWJsaXN0X21lbnVCdXR0b246OmJlZm9yZSwgLm14X1Jvb21TdWJsaXN0Lm14X1Jvb21TdWJsaXN0X21pbmltaXplZCA+IC5teF9Sb29tU3VibGlzdF9oZWFkZXJDb250YWluZXI6aG92ZXIgLm14X1Jvb21TdWJsaXN0X21lbnVCdXR0b246OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgICAgICB9XG5cbi5teF9Sb29tU3VibGlzdC5teF9Sb29tU3VibGlzdF9taW5pbWl6ZWQubXhfUm9vbVN1Ymxpc3RfaGFzTWVudU9wZW4ubXhfUm9vbVN1Ymxpc3RfaGVhZGVyQ29udGFpbmVyOm5vdCgubXhfUm9vbVN1Ymxpc3RfaGVhZGVyQ29udGFpbmVyX3dpdGhBdXgpIC5teF9Sb29tU3VibGlzdF9tZW51QnV0dG9uLCAubXhfUm9vbVN1Ymxpc3QubXhfUm9vbVN1Ymxpc3RfbWluaW1pemVkID4gLm14X1Jvb21TdWJsaXN0X2hlYWRlckNvbnRhaW5lcjpob3Zlci5teF9Sb29tU3VibGlzdF9oZWFkZXJDb250YWluZXI6bm90KC5teF9Sb29tU3VibGlzdF9oZWFkZXJDb250YWluZXJfd2l0aEF1eCkgLm14X1Jvb21TdWJsaXN0X21lbnVCdXR0b24ge1xuICAgICAgICAgICAgICAgICAgICBib3R0b206IDhweDsgLyogYWxpZ24gdG8gdGhlIG1pZGRsZSBvZiBuYW1lLCA0MHB4IGxlc3MgdGhhbiB0aGUgYGJvdHRvbWAgYWJvdmUuICovXG4gICAgICAgICAgICAgICAgfVxuXG4ubXhfUm9vbVN1Ymxpc3RfY29udGV4dE1lbnUge1xuICAgIHBhZGRpbmc6IDIwcHggMTZweDtcbiAgICB3aWR0aDogMjUwcHg7XG59XG5cbi5teF9Sb29tU3VibGlzdF9jb250ZXh0TWVudSBociB7XG4gICAgICAgIG1hcmdpbi10b3A6IDE2cHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDE2cHg7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMTZweDsgLyogYWRkaXRpb25hbCAxNnB4ICovXG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLXRpbWVsaW5lLXRleHQtY29sb3IpO1xuICAgICAgICBvcGFjaXR5OiAwLjE7XG4gICAgfVxuXG4ubXhfUm9vbVN1Ymxpc3RfY29udGV4dE1lbnUgLm14X1Jvb21TdWJsaXN0X2NvbnRleHRNZW51X3RpdGxlIHtcbiAgICAgICAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI1cmVtO1xuICAgICAgICBmb250LXdlaWdodDogdmFyKC0tY3BkLWZvbnQtd2VpZ2h0LXNlbWlib2xkKTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNHB4O1xuICAgIH1cblxuLm14X1Jvb21TdWJsaXN0X2NvbnRleHRNZW51IC5teF9TdHlsZWRSYWRpb0J1dHRvbixcbiAgICAubXhfUm9vbVN1Ymxpc3RfY29udGV4dE1lbnUgLm14X0NoZWNrYm94IHtcbiAgICAgICAgbWFyZ2luLXRvcDogOHB4O1xuICAgIH1cblxuLm14X1Jvb21TdWJsaXN0X3NrZWxldG9uVUkge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXJnaW4tbGVmdDogNHB4O1xuICAgIGhlaWdodDogMjQwcHg7XG59XG5cbi5teF9Sb29tU3VibGlzdF9za2VsZXRvblVJOjpiZWZvcmUge1xuICAgICAgICBiYWNrZ3JvdW5kOiAtd2Via2l0LWdyYWRpZW50KGxpbmVhciwgbGVmdCB0b3AsIGxlZnQgYm90dG9tLCBmcm9tKCMzZTQ0NGMpLCB0bygjM2U0NDRjMDApKTtcbiAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE4MGRlZywgIzNlNDQ0YyAwJSwgIzNlNDQ0YzAwIDEwMCUpO1xuXG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG5cbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAtd2Via2l0LW1hc2stcmVwZWF0OiByZXBlYXQteTtcbiAgICAgICAgICAgICAgICBtYXNrLXJlcGVhdDogcmVwZWF0LXk7XG4gICAgICAgIC13ZWJraXQtbWFzay1zaXplOiBhdXRvIDQ4cHg7XG4gICAgICAgICAgICAgICAgbWFzay1zaXplOiBhdXRvIDQ4cHg7XG4gICAgICAgIC13ZWJraXQtbWFzay1pbWFnZTogdXJsKFwiLi4vLi4vLi4vaW1nL2VsZW1lbnQtaWNvbnMvcm9vbWxpc3Qvc2tlbGV0b24tdWkuc3ZnXCIpO1xuICAgICAgICAgICAgICAgIG1hc2staW1hZ2U6IHVybChcIi4uLy4uLy4uL2ltZy9lbGVtZW50LWljb25zL3Jvb21saXN0L3NrZWxldG9uLXVpLnN2Z1wiKTtcbiAgICB9XG5cbi5teF9Sb29tU3VibGlzdF9taW5pbWl6ZWQgLm14X1Jvb21TdWJsaXN0X3NrZWxldG9uVUkge1xuICAgIHdpZHRoOiAzMnB4OyAvKiBjdXQgb2ZmIHRoZSBob3Jpem9udGFsIGxpbmVzIGluIHRoZSBzdmcgKi9cbiAgICBtYXJnaW4tbGVmdDogMTBweDsgLyogYWxpZ24gd2l0aCBzdWJsaXN0ICsgYnV0dG9ucyAqL1xufVxuXG4vKlxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXG5Db3B5cmlnaHQgMjAyMC0yMDIzIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXG5cblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cbiovXG5cbi8qIE5vdGU6IHRoZSByb29tIHRpbGUgZXhwZWN0cyB0byBiZSBpbiBhIGZsZXhib3ggY29sdW1uIGNvbnRhaW5lciAqL1xuXG4ubXhfUm9vbVRpbGUge1xuICAgIG1hcmdpbi1ib3R0b206IDRweDtcbiAgICBwYWRkaW5nOiA0cHg7XG5cbiAgICAvKiBUaGUgdGlsZSBpcyBhbHNvIGEgZmxleGJveCByb3cgaXRzZWxmICovXG4gICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gICAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBjb250YWluOiBjb250ZW50OyAvKiBOb3Qgc3RyaWN0IGFzIGl0IHdpbGwgYnJlYWsgd2hlbiByZXNpemluZyBhIHN1Ymxpc3QgdmVydGljYWxseSAqL1xuICAgIC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG5cbiAgICBmb250LXNpemU6IHZhcigtLWNwZC1mb250LXNpemUtYm9keS1zbSk7XG59XG5cbi5teF9Sb29tVGlsZS5teF9Sb29tVGlsZV9zZWxlY3RlZCxcbiAgICAubXhfUm9vbVRpbGU6aG92ZXIsXG4gICAgLm14X1Jvb21UaWxlOmZvY3VzLXdpdGhpbixcbiAgICAubXhfUm9vbVRpbGUubXhfUm9vbVRpbGVfaGFzTWVudU9wZW4ge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1yb29tbGlzdC1oaWdobGlnaHRzLWNvbG9yKTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4O1xuICAgIH1cblxuLm14X1Jvb21UaWxlIC5teF9EZWNvcmF0ZWRSb29tQXZhdGFyLFxuICAgIC5teF9Sb29tVGlsZSAubXhfUm9vbVRpbGVfYXZhdGFyQ29udGFpbmVyIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgIH1cblxuLm14X1Jvb21UaWxlIC5teF9Sb29tVGlsZV9kZXRhaWxzIHtcbiAgICAgICAgbWluLXdpZHRoOiAwO1xuICAgIH1cblxuLm14X1Jvb21UaWxlIC5teF9Sb29tVGlsZV90aXRsZUNvbnRhaW5lciB7XG4gICAgICAgIGhlaWdodDogMzJweDtcbiAgICAgICAgbWluLXdpZHRoOiAwO1xuICAgICAgICAtbXMtZmxleC1wcmVmZXJyZWQtc2l6ZTogMDtcbiAgICAgICAgICAgIGZsZXgtYmFzaXM6IDA7XG4gICAgICAgIC13ZWJraXQtYm94LWZsZXg6IDE7XG4gICAgICAgICAgICAtbXMtZmxleC1wb3NpdGl2ZTogMTtcbiAgICAgICAgICAgICAgICBmbGV4LWdyb3c6IDE7XG4gICAgICAgIG1hcmdpbi1yaWdodDogOHB4OyAvKiBzcGFjaW5nIHRvIGJ1dHRvbnMvYmFkZ2VzICovXG5cbiAgICAgICAgLyogQ3JlYXRlIGEgbmV3IGNvbHVtbiBsYXlvdXQgZmxleGJveCBmb3IgdGhlIHRpdGxlIHBhcnRzICovXG4gICAgICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICAgICAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcbiAgICAgICAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiBub3JtYWw7XG4gICAgICAgICAgICAtbXMtZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAtd2Via2l0LWJveC1wYWNrOiBjZW50ZXI7XG4gICAgICAgICAgICAtbXMtZmxleC1wYWNrOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgfVxuXG4ubXhfUm9vbVRpbGUgLm14X1Jvb21UaWxlX3RpdGxlQ29udGFpbmVyIC5teF9Sb29tVGlsZV9zdWJ0aXRsZSB7XG4gICAgICAgICAgICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICBjb2xvcjogI2VkZjNmZjtcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1zZWNvbmRhcnktY29udGVudCwgI2VkZjNmZik7XG4gICAgICAgICAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgICAgICAgICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGdhcDogNHB4O1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjU7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICB0b3A6IC0xcHg7XG4gICAgICAgIH1cblxuLm14X1Jvb21UaWxlIC5teF9Sb29tVGlsZV90aXRsZUNvbnRhaW5lciAubXhfUm9vbVRpbGVfdGl0bGUsXG4gICAgICAgIC5teF9Sb29tVGlsZSAubXhfUm9vbVRpbGVfdGl0bGVDb250YWluZXIgLm14X1Jvb21UaWxlX3N1YnRpdGxlX3RleHQge1xuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgfVxuXG4ubXhfUm9vbVRpbGUgLm14X1Jvb21UaWxlX3RpdGxlQ29udGFpbmVyIC5teF9Sb29tVGlsZV90aXRsZSB7XG4gICAgICAgICAgICBmb250OiB2YXIoLS1jcGQtZm9udC1ib2R5LW1kLXJlZ3VsYXIpO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjU7XG4gICAgICAgIH1cblxuLm14X1Jvb21UaWxlIC5teF9Sb29tVGlsZV90aXRsZUNvbnRhaW5lciAubXhfUm9vbVRpbGVfdGl0bGUubXhfUm9vbVRpbGVfdGl0bGVIYXNVbnJlYWRFdmVudHMge1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1jcGQtZm9udC13ZWlnaHQtc2VtaWJvbGQpO1xuICAgICAgICAgICAgfVxuXG4ubXhfUm9vbVRpbGUgLm14X1Jvb21UaWxlX3RpdGxlQ29udGFpbmVyIC5teF9Sb29tVGlsZV90aXRsZVdpdGhTdWJ0aXRsZSB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAtMnB4OyAvKiBzaGlmdCB0aGUgdGl0bGUgdXAgYSBiaXQgbW9yZSAqL1xuICAgICAgICB9XG5cbi5teF9Sb29tVGlsZSAubXhfUm9vbVRpbGVfbm90aWZpY2F0aW9uc0J1dHRvbiB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiA0cHg7IC8qIHNwYWNpbmcgYmV0d2VlbiBidXR0b25zICovXG4gICAgfVxuXG4ubXhfUm9vbVRpbGUgLm14X1Jvb21UaWxlX2JhZGdlQ29udGFpbmVyIHtcbiAgICAgICAgaGVpZ2h0OiAxNnB4O1xuICAgICAgICAvKiBkb24ndCBzZXQgd2lkdGggc28gdGhhdCBpdCB0YWtlcyBubyBzcGFjZSB3aGVuIHRoZXJlIGlzIG5vIGJhZGdlIHRvIHNob3cgKi9cbiAgICAgICAgbWFyZ2luOiBhdXRvIDA7IC8qIHZlcnRpY2FsbHkgYWxpZ24gKi9cblxuICAgICAgICAvKiBDcmVhdGUgYSBmbGV4Ym94IHRvIG1ha2UgYWxpZ25pbmcgZG90IGJhZGdlcyBlYXNpZXIgKi9cbiAgICAgICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gICAgICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIH1cblxuLm14X1Jvb21UaWxlIC5teF9Sb29tVGlsZV9iYWRnZUNvbnRhaW5lciAubXhfTm90aWZpY2F0aW9uQmFkZ2Uge1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAycHg7IC8qIGNlbnRlcmluZyAqL1xuICAgICAgICB9XG5cbi5teF9Sb29tVGlsZSAubXhfUm9vbVRpbGVfYmFkZ2VDb250YWluZXIgLm14X05vdGlmaWNhdGlvbkJhZGdlX2RvdCB7XG4gICAgICAgICAgICAvKiBtYWtlIHRoZSBzbWFsbGVyIGRvdCBvY2N1cHkgdGhlIHNhbWUgd2lkdGggZm9yIGNlbnRlcmluZyAqL1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDVweDtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogN3B4O1xuICAgICAgICB9XG5cbi8qIFRoZSBjb250ZXh0IG1lbnUgYnV0dG9ucyBhcmUgaGlkZGVuIGJ5IGRlZmF1bHQgKi9cblxuLm14X1Jvb21UaWxlIC5teF9Sb29tVGlsZV9tZW51QnV0dG9uLFxuICAgIC5teF9Sb29tVGlsZSAubXhfUm9vbVRpbGVfbm90aWZpY2F0aW9uc0J1dHRvbiB7XG4gICAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgICBtaW4td2lkdGg6IDIwcHg7IC8qIHlheSBmbGV4ICovXG4gICAgICAgIGhlaWdodDogMjBweDtcbiAgICAgICAgbWFyZ2luLXRvcDogYXV0bztcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogYXV0bztcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuLm14X1Jvb21UaWxlIC5teF9Sb29tVGlsZV9tZW51QnV0dG9uOjpiZWZvcmUsIC5teF9Sb29tVGlsZSAubXhfUm9vbVRpbGVfbm90aWZpY2F0aW9uc0J1dHRvbjo6YmVmb3JlIHtcbiAgICAgICAgICAgIHRvcDogMnB4O1xuICAgICAgICAgICAgbGVmdDogMnB4O1xuICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgIHdpZHRoOiAxNnB4O1xuICAgICAgICAgICAgaGVpZ2h0OiAxNnB4O1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgLXdlYmtpdC1tYXNrLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgIG1hc2stcG9zaXRpb246IGNlbnRlcjtcbiAgICAgICAgICAgIC13ZWJraXQtbWFzay1zaXplOiBjb250YWluO1xuICAgICAgICAgICAgICAgICAgICBtYXNrLXNpemU6IGNvbnRhaW47XG4gICAgICAgICAgICAtd2Via2l0LW1hc2stcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgICAgICAgICAgIG1hc2stcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jcGQtY29sb3ItaWNvbi1wcmltYXJ5KTtcbiAgICAgICAgfVxuXG4vKiBJZiB0aGUgcm9vbSBoYXMgYW4gb3ZlcnJpZGVuIG5vdGlmaWNhdGlvbiBzZXR0aW5nIHRoZW4gd2UgYWx3YXlzIHNob3cgdGhlIG5vdGlmaWNhdGlvbnMgbWVudSBidXR0b24gKi9cblxuLm14X1Jvb21UaWxlIC5teF9Sb29tVGlsZV9ub3RpZmljYXRpb25zQnV0dG9uLm14X1Jvb21UaWxlX25vdGlmaWNhdGlvbnNCdXR0b25fc2hvdyB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxuLm14X1Jvb21UaWxlIC5teF9Sb29tVGlsZV9tZW51QnV0dG9uOjpiZWZvcmUge1xuICAgICAgICAtd2Via2l0LW1hc2staW1hZ2U6IHVybChcIkB2ZWN0b3ItaW0vY29tcG91bmQtZGVzaWduLXRva2Vucy9pY29ucy9vdmVyZmxvdy1ob3Jpem9udGFsLnN2Z1wiKTtcbiAgICAgICAgICAgICAgICBtYXNrLWltYWdlOiB1cmwoXCJAdmVjdG9yLWltL2NvbXBvdW5kLWRlc2lnbi10b2tlbnMvaWNvbnMvb3ZlcmZsb3ctaG9yaXpvbnRhbC5zdmdcIik7XG4gICAgfVxuXG4vKiBIaWRlIHRoZSBiYWRnZSBjb250YWluZXIgb24gaG92ZXIgYmVjYXVzZSBpdCdsbCBiZSBhIG1lbnUgYnV0dG9uICovXG5cbi5teF9Sb29tVGlsZTpub3QoLm14X1Jvb21UaWxlX21pbmltaXplZCwgLm14X1Jvb21UaWxlX3N0aWNreSk6aG92ZXIgLm14X1Jvb21UaWxlX2JhZGdlQ29udGFpbmVyLCAubXhfUm9vbVRpbGU6bm90KC5teF9Sb29tVGlsZV9taW5pbWl6ZWQsIC5teF9Sb29tVGlsZV9zdGlja3kpOmZvY3VzLXdpdGhpbiAubXhfUm9vbVRpbGVfYmFkZ2VDb250YWluZXIsIC5teF9Sb29tVGlsZTpub3QoLm14X1Jvb21UaWxlX21pbmltaXplZCwgLm14X1Jvb21UaWxlX3N0aWNreSkubXhfUm9vbVRpbGVfaGFzTWVudU9wZW4gLm14X1Jvb21UaWxlX2JhZGdlQ29udGFpbmVyIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMDtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cblxuLm14X1Jvb21UaWxlOm5vdCgubXhfUm9vbVRpbGVfbWluaW1pemVkLCAubXhfUm9vbVRpbGVfc3RpY2t5KTpob3ZlciAubXhfUm9vbVRpbGVfbm90aWZpY2F0aW9uc0J1dHRvbixcbiAgICAgICAgICAgIC5teF9Sb29tVGlsZTpub3QoLm14X1Jvb21UaWxlX21pbmltaXplZCwgLm14X1Jvb21UaWxlX3N0aWNreSk6aG92ZXIgLm14X1Jvb21UaWxlX21lbnVCdXR0b24sXG4gICAgICAgICAgICAubXhfUm9vbVRpbGU6bm90KC5teF9Sb29tVGlsZV9taW5pbWl6ZWQsIC5teF9Sb29tVGlsZV9zdGlja3kpOmZvY3VzLXdpdGhpbiAubXhfUm9vbVRpbGVfbm90aWZpY2F0aW9uc0J1dHRvbixcbiAgICAgICAgICAgIC5teF9Sb29tVGlsZTpub3QoLm14X1Jvb21UaWxlX21pbmltaXplZCwgLm14X1Jvb21UaWxlX3N0aWNreSk6Zm9jdXMtd2l0aGluIC5teF9Sb29tVGlsZV9tZW51QnV0dG9uLFxuICAgICAgICAgICAgLm14X1Jvb21UaWxlOm5vdCgubXhfUm9vbVRpbGVfbWluaW1pemVkLCAubXhfUm9vbVRpbGVfc3RpY2t5KS5teF9Sb29tVGlsZV9oYXNNZW51T3BlbiAubXhfUm9vbVRpbGVfbm90aWZpY2F0aW9uc0J1dHRvbixcbiAgICAgICAgICAgIC5teF9Sb29tVGlsZTpub3QoLm14X1Jvb21UaWxlX21pbmltaXplZCwgLm14X1Jvb21UaWxlX3N0aWNreSkubXhfUm9vbVRpbGVfaGFzTWVudU9wZW4gLm14X1Jvb21UaWxlX21lbnVCdXR0b24ge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgfVxuXG4ubXhfUm9vbVRpbGUubXhfUm9vbVRpbGVfbWluaW1pemVkIHtcbiAgICAgICAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcbiAgICAgICAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiBub3JtYWw7XG4gICAgICAgICAgICAtbXMtZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgfVxuXG4ubXhfUm9vbVRpbGUubXhfUm9vbVRpbGVfbWluaW1pemVkIC5teF9EZWNvcmF0ZWRSb29tQXZhdGFyLFxuICAgICAgICAubXhfUm9vbVRpbGUubXhfUm9vbVRpbGVfbWluaW1pemVkIC5teF9Sb29tVGlsZV9hdmF0YXJDb250YWluZXIge1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICB9XG5cbi8qIFdlIHVzZSB0aGVzZSBib3RoIGluIGNvbnRleHQgbWVudXMgYW5kIHRoZSByb29tIHRpbGVzICovXG5cbi5teF9Sb29tVGlsZV9pY29uQmVsbDo6YmVmb3JlIHtcbiAgICAtd2Via2l0LW1hc2staW1hZ2U6IHVybChcIi4uLy4uLy4uL2ltZy9lbGVtZW50LWljb25zL25vdGlmaWNhdGlvbnMuc3ZnXCIpO1xuICAgICAgICAgICAgbWFzay1pbWFnZTogdXJsKFwiLi4vLi4vLi4vaW1nL2VsZW1lbnQtaWNvbnMvbm90aWZpY2F0aW9ucy5zdmdcIik7XG59XG5cbi5teF9Sb29tVGlsZV9pY29uQmVsbERvdDo6YmVmb3JlIHtcbiAgICAtd2Via2l0LW1hc2staW1hZ2U6IHVybChcIi4uLy4uLy4uL2ltZy9lbGVtZW50LWljb25zL3Jvb21saXN0L25vdGlmaWNhdGlvbnMtZGVmYXVsdC5zdmdcIik7XG4gICAgICAgICAgICBtYXNrLWltYWdlOiB1cmwoXCIuLi8uLi8uLi9pbWcvZWxlbWVudC1pY29ucy9yb29tbGlzdC9ub3RpZmljYXRpb25zLWRlZmF1bHQuc3ZnXCIpO1xufVxuXG4ubXhfUm9vbVRpbGVfaWNvbkJlbGxDcm9zc2VkOjpiZWZvcmUge1xuICAgIC13ZWJraXQtbWFzay1pbWFnZTogdXJsKFwiLi4vLi4vLi4vaW1nL2VsZW1lbnQtaWNvbnMvcm9vbWxpc3Qvbm90aWZpY2F0aW9ucy1vZmYuc3ZnXCIpO1xuICAgICAgICAgICAgbWFzay1pbWFnZTogdXJsKFwiLi4vLi4vLi4vaW1nL2VsZW1lbnQtaWNvbnMvcm9vbWxpc3Qvbm90aWZpY2F0aW9ucy1vZmYuc3ZnXCIpO1xufVxuXG4ubXhfUm9vbVRpbGVfaWNvbkJlbGxNZW50aW9uczo6YmVmb3JlIHtcbiAgICAtd2Via2l0LW1hc2staW1hZ2U6IHVybChcIi4uLy4uLy4uL2ltZy9lbGVtZW50LWljb25zL3Jvb21saXN0L25vdGlmaWNhdGlvbnMtZG0uc3ZnXCIpO1xuICAgICAgICAgICAgbWFzay1pbWFnZTogdXJsKFwiLi4vLi4vLi4vaW1nL2VsZW1lbnQtaWNvbnMvcm9vbWxpc3Qvbm90aWZpY2F0aW9ucy1kbS5zdmdcIik7XG59XG5cbi5teF9Sb29tVGlsZV9jb250ZXh0TWVudSAubXhfUm9vbVRpbGVfaWNvblN0YXI6OmJlZm9yZSB7XG4gICAgICAgIC13ZWJraXQtbWFzay1pbWFnZTogdXJsKFwiQHZlY3Rvci1pbS9jb21wb3VuZC1kZXNpZ24tdG9rZW5zL2ljb25zL2Zhdm91cml0ZS1zb2xpZC5zdmdcIik7XG4gICAgICAgICAgICAgICAgbWFzay1pbWFnZTogdXJsKFwiQHZlY3Rvci1pbS9jb21wb3VuZC1kZXNpZ24tdG9rZW5zL2ljb25zL2Zhdm91cml0ZS1zb2xpZC5zdmdcIik7XG4gICAgfVxuXG4ubXhfUm9vbVRpbGVfY29udGV4dE1lbnUgLm14X1Jvb21UaWxlX2ljb25BcnJvd0Rvd246OmJlZm9yZSB7XG4gICAgICAgIC13ZWJraXQtbWFzay1pbWFnZTogdXJsKFwiLi4vLi4vLi4vaW1nL2VsZW1lbnQtaWNvbnMvcm9vbWxpc3QvbG93LXByaW9yaXR5LnN2Z1wiKTtcbiAgICAgICAgICAgICAgICBtYXNrLWltYWdlOiB1cmwoXCIuLi8uLi8uLi9pbWcvZWxlbWVudC1pY29ucy9yb29tbGlzdC9sb3ctcHJpb3JpdHkuc3ZnXCIpO1xuICAgIH1cblxuLm14X1Jvb21UaWxlX2NvbnRleHRNZW51IC5teF9Sb29tVGlsZV9pY29uTm90aWZpY2F0aW9uc0RlZmF1bHQ6OmJlZm9yZSB7XG4gICAgICAgIC13ZWJraXQtbWFzay1pbWFnZTogdXJsKFwiLi4vLi4vLi4vaW1nL2VsZW1lbnQtaWNvbnMvbm90aWZpY2F0aW9ucy5zdmdcIik7XG4gICAgICAgICAgICAgICAgbWFzay1pbWFnZTogdXJsKFwiLi4vLi4vLi4vaW1nL2VsZW1lbnQtaWNvbnMvbm90aWZpY2F0aW9ucy5zdmdcIik7XG4gICAgfVxuXG4ubXhfUm9vbVRpbGVfY29udGV4dE1lbnUgLm14X1Jvb21UaWxlX2ljb25Ob3RpZmljYXRpb25zQWxsTWVzc2FnZXM6OmJlZm9yZSB7XG4gICAgICAgIC13ZWJraXQtbWFzay1pbWFnZTogdXJsKFwiLi4vLi4vLi4vaW1nL2VsZW1lbnQtaWNvbnMvcm9vbWxpc3Qvbm90aWZpY2F0aW9ucy1kZWZhdWx0LnN2Z1wiKTtcbiAgICAgICAgICAgICAgICBtYXNrLWltYWdlOiB1cmwoXCIuLi8uLi8uLi9pbWcvZWxlbWVudC1pY29ucy9yb29tbGlzdC9ub3RpZmljYXRpb25zLWRlZmF1bHQuc3ZnXCIpO1xuICAgIH1cblxuLm14X1Jvb21UaWxlX2NvbnRleHRNZW51IC5teF9Sb29tVGlsZV9pY29uTm90aWZpY2F0aW9uc01lbnRpb25zS2V5d29yZHM6OmJlZm9yZSB7XG4gICAgICAgIC13ZWJraXQtbWFzay1pbWFnZTogdXJsKFwiLi4vLi4vLi4vaW1nL2VsZW1lbnQtaWNvbnMvcm9vbWxpc3Qvbm90aWZpY2F0aW9ucy1kbS5zdmdcIik7XG4gICAgICAgICAgICAgICAgbWFzay1pbWFnZTogdXJsKFwiLi4vLi4vLi4vaW1nL2VsZW1lbnQtaWNvbnMvcm9vbWxpc3Qvbm90aWZpY2F0aW9ucy1kbS5zdmdcIik7XG4gICAgfVxuXG4ubXhfUm9vbVRpbGVfY29udGV4dE1lbnUgLm14X1Jvb21UaWxlX2ljb25Ob3RpZmljYXRpb25zTm9uZTo6YmVmb3JlIHtcbiAgICAgICAgLXdlYmtpdC1tYXNrLWltYWdlOiB1cmwoXCIuLi8uLi8uLi9pbWcvZWxlbWVudC1pY29ucy9yb29tbGlzdC9ub3RpZmljYXRpb25zLW9mZi5zdmdcIik7XG4gICAgICAgICAgICAgICAgbWFzay1pbWFnZTogdXJsKFwiLi4vLi4vLi4vaW1nL2VsZW1lbnQtaWNvbnMvcm9vbWxpc3Qvbm90aWZpY2F0aW9ucy1vZmYuc3ZnXCIpO1xuICAgIH1cblxuLm14X1Jvb21UaWxlX2NvbnRleHRNZW51IC5teF9Sb29tVGlsZV9pY29uUGVvcGxlOjpiZWZvcmUge1xuICAgICAgICAtd2Via2l0LW1hc2staW1hZ2U6IHVybChcIkB2ZWN0b3ItaW0vY29tcG91bmQtZGVzaWduLXRva2Vucy9pY29ucy91c2VyLXByb2ZpbGUtc29saWQuc3ZnXCIpO1xuICAgICAgICAgICAgICAgIG1hc2staW1hZ2U6IHVybChcIkB2ZWN0b3ItaW0vY29tcG91bmQtZGVzaWduLXRva2Vucy9pY29ucy91c2VyLXByb2ZpbGUtc29saWQuc3ZnXCIpO1xuICAgIH1cblxuLm14X1Jvb21UaWxlX2NvbnRleHRNZW51IC5teF9Sb29tVGlsZV9pY29uRmlsZXM6OmJlZm9yZSB7XG4gICAgICAgIC13ZWJraXQtbWFzay1pbWFnZTogdXJsKFwiQHZlY3Rvci1pbS9jb21wb3VuZC1kZXNpZ24tdG9rZW5zL2ljb25zL2ZpbGVzLnN2Z1wiKTtcbiAgICAgICAgICAgICAgICBtYXNrLWltYWdlOiB1cmwoXCJAdmVjdG9yLWltL2NvbXBvdW5kLWRlc2lnbi10b2tlbnMvaWNvbnMvZmlsZXMuc3ZnXCIpO1xuICAgIH1cblxuLm14X1Jvb21UaWxlX2NvbnRleHRNZW51IC5teF9Sb29tVGlsZV9pY29uUGluczo6YmVmb3JlIHtcbiAgICAgICAgLXdlYmtpdC1tYXNrLWltYWdlOiB1cmwoXCIuLi8uLi8uLi9pbWcvZWxlbWVudC1pY29ucy9yb29tL3Bpbi11cHJpZ2h0LnN2Z1wiKTtcbiAgICAgICAgICAgICAgICBtYXNrLWltYWdlOiB1cmwoXCIuLi8uLi8uLi9pbWcvZWxlbWVudC1pY29ucy9yb29tL3Bpbi11cHJpZ2h0LnN2Z1wiKTtcbiAgICB9XG5cbi5teF9Sb29tVGlsZV9jb250ZXh0TWVudSAubXhfUm9vbVRpbGVfaWNvbldpZGdldHM6OmJlZm9yZSB7XG4gICAgICAgIC13ZWJraXQtbWFzay1pbWFnZTogdXJsKFwiQHZlY3Rvci1pbS9jb21wb3VuZC1kZXNpZ24tdG9rZW5zL2ljb25zL2V4dGVuc2lvbnMtc29saWQuc3ZnXCIpO1xuICAgICAgICAgICAgICAgIG1hc2staW1hZ2U6IHVybChcIkB2ZWN0b3ItaW0vY29tcG91bmQtZGVzaWduLXRva2Vucy9pY29ucy9leHRlbnNpb25zLXNvbGlkLnN2Z1wiKTtcbiAgICB9XG5cbi5teF9Sb29tVGlsZV9jb250ZXh0TWVudSAubXhfUm9vbVRpbGVfaWNvblNldHRpbmdzOjpiZWZvcmUge1xuICAgICAgICAtd2Via2l0LW1hc2staW1hZ2U6IHVybChcIkB2ZWN0b3ItaW0vY29tcG91bmQtZGVzaWduLXRva2Vucy9pY29ucy9zZXR0aW5ncy1zb2xpZC5zdmdcIik7XG4gICAgICAgICAgICAgICAgbWFzay1pbWFnZTogdXJsKFwiQHZlY3Rvci1pbS9jb21wb3VuZC1kZXNpZ24tdG9rZW5zL2ljb25zL3NldHRpbmdzLXNvbGlkLnN2Z1wiKTtcbiAgICB9XG5cbi5teF9Sb29tVGlsZV9jb250ZXh0TWVudSAubXhfUm9vbVRpbGVfaWNvbkV4cG9ydDo6YmVmb3JlIHtcbiAgICAgICAgLXdlYmtpdC1tYXNrLWltYWdlOiB1cmwoXCJAdmVjdG9yLWltL2NvbXBvdW5kLWRlc2lnbi10b2tlbnMvaWNvbnMvZXhwb3J0LWFyY2hpdmUuc3ZnXCIpO1xuICAgICAgICAgICAgICAgIG1hc2staW1hZ2U6IHVybChcIkB2ZWN0b3ItaW0vY29tcG91bmQtZGVzaWduLXRva2Vucy9pY29ucy9leHBvcnQtYXJjaGl2ZS5zdmdcIik7XG4gICAgfVxuXG4ubXhfUm9vbVRpbGVfY29udGV4dE1lbnUgLm14X1Jvb21UaWxlX2ljb25Db3B5TGluazo6YmVmb3JlIHtcbiAgICAgICAgLXdlYmtpdC1tYXNrLWltYWdlOiB1cmwoXCJAdmVjdG9yLWltL2NvbXBvdW5kLWRlc2lnbi10b2tlbnMvaWNvbnMvbGluay5zdmdcIik7XG4gICAgICAgICAgICAgICAgbWFzay1pbWFnZTogdXJsKFwiQHZlY3Rvci1pbS9jb21wb3VuZC1kZXNpZ24tdG9rZW5zL2ljb25zL2xpbmsuc3ZnXCIpO1xuICAgIH1cblxuLm14X1Jvb21UaWxlX2NvbnRleHRNZW51IC5teF9Sb29tVGlsZV9pY29uSW52aXRlOjpiZWZvcmUge1xuICAgICAgICAtd2Via2l0LW1hc2staW1hZ2U6IHVybChcIi4uLy4uLy4uL2ltZy9lbGVtZW50LWljb25zL3Jvb20vaW52aXRlLnN2Z1wiKTtcbiAgICAgICAgICAgICAgICBtYXNrLWltYWdlOiB1cmwoXCIuLi8uLi8uLi9pbWcvZWxlbWVudC1pY29ucy9yb29tL2ludml0ZS5zdmdcIik7XG4gICAgfVxuXG4ubXhfUm9vbVRpbGVfY29udGV4dE1lbnUgLm14X1Jvb21UaWxlX2ljb25TaWduT3V0OjpiZWZvcmUge1xuICAgICAgICAtd2Via2l0LW1hc2staW1hZ2U6IHVybChcIkB2ZWN0b3ItaW0vY29tcG91bmQtZGVzaWduLXRva2Vucy9pY29ucy9sZWF2ZS5zdmdcIik7XG4gICAgICAgICAgICAgICAgbWFzay1pbWFnZTogdXJsKFwiQHZlY3Rvci1pbS9jb21wb3VuZC1kZXNpZ24tdG9rZW5zL2ljb25zL2xlYXZlLnN2Z1wiKTtcbiAgICB9XG5cbi8qXG5Db3B5cmlnaHQgMjAxOC0yMDI0IE5ldyBWZWN0b3IgTHRkLlxuXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXG4qL1xuXG4ubXhfUm9vbVVwZ3JhZGVXYXJuaW5nQmFyIHtcbiAgICBtYXgtaGVpZ2h0OiAyMzVweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjIyNjJlO1xuICAgIHBhZGRpbmctbGVmdDogMjBweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAyMHB4O1xuICAgIG92ZXJmbG93OiBzY3JvbGw7XG59XG5cbi5teF9Sb29tVXBncmFkZVdhcm5pbmdCYXJfd3JhcHBlZCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWw7XG4gICAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiBub3JtYWw7XG4gICAgICAgIC1tcy1mbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAtd2Via2l0LWJveC1wYWNrOiBjZW50ZXI7XG4gICAgICAgIC1tcy1mbGV4LXBhY2s6IGNlbnRlcjtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIC13ZWJraXQtYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cblxuLm14X1Jvb21VcGdyYWRlV2FybmluZ0Jhcl9oZWFkZXIge1xuICAgIGNvbG9yOiAjZmY1YjU1O1xuICAgIGNvbG9yOiB2YXIoLS1hbGVydCwgI2ZmNWI1NSk7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbi5teF9Sb29tVXBncmFkZVdhcm5pbmdCYXJfYm9keSB7XG4gICAgY29sb3I6ICNmZjViNTU7XG4gICAgY29sb3I6IHZhcigtLWFsZXJ0LCAjZmY1YjU1KTtcbn1cblxuLm14X1Jvb21VcGdyYWRlV2FybmluZ0Jhcl91cGdyYWRlbGluayB7XG4gICAgY29sb3I6ICNmZjViNTU7XG4gICAgY29sb3I6IHZhcigtLWFsZXJ0LCAjZmY1YjU1KTtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbn1cblxuLm14X1Jvb21VcGdyYWRlV2FybmluZ0Jhcl9zbWFsbCB7XG4gICAgY29sb3I6IHZhcigtLXRpbWVsaW5lLXRleHQtc2Vjb25kYXJ5LWNvbG9yKTtcbiAgICBmb250LXNpemU6IDcwJTtcbn1cblxuLypcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxuQ29weXJpZ2h0IDIwMTkgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cblxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuKi9cblxuLm14X1NlbmRNZXNzYWdlQ29tcG9zZXIge1xuICAgIC13ZWJraXQtYm94LWZsZXg6IDE7XG4gICAgICAgIC1tcy1mbGV4OiAxO1xuICAgICAgICAgICAgZmxleDogMTtcbiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWw7XG4gICAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiBub3JtYWw7XG4gICAgICAgIC1tcy1mbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBmb250OiB2YXIoLS1jcGQtZm9udC1ib2R5LW1kLXJlZ3VsYXIpO1xuICAgIC8qIGZpeGVkIGxpbmUgaGVpZ2h0IHRvIHByZXZlbnQgZW1vamkgZnJvbSBiZWluZyB0YWxsZXIgdGhhbiB0ZXh0ICovXG4gICAgbGluZS1oZWlnaHQ6IDEuMTI1cmVtO1xuICAgIC13ZWJraXQtYm94LXBhY2s6IGNlbnRlcjtcbiAgICAgICAgLW1zLWZsZXgtcGFjazogY2VudGVyO1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgbWFyZ2luLXJpZ2h0OiA2cHg7XG4gICAgLyogZG9uJ3QgZ3JvdyB3aWRlciB0aGFuIGF2YWlsYWJsZSBzcGFjZSAqL1xuICAgIG1pbi13aWR0aDogMDtcbn1cblxuLm14X1NlbmRNZXNzYWdlQ29tcG9zZXIgLm14X0Jhc2ljTWVzc2FnZUNvbXBvc2VyIHtcbiAgICAgICAgLXdlYmtpdC1ib3gtZmxleDogMTtcbiAgICAgICAgICAgIC1tcy1mbGV4OiAxO1xuICAgICAgICAgICAgICAgIGZsZXg6IDE7XG4gICAgICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICAgICAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcbiAgICAgICAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiBub3JtYWw7XG4gICAgICAgICAgICAtbXMtZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAvKiBtaW4taGVpZ2h0IGF0IHRoaXMgbGV2ZWwgc28gdGhlIG14X0Jhc2ljTWVzc2FnZUNvbXBvc2VyX2lucHV0ICovXG4gICAgICAgIC8qIHN0aWxsIHN0YXlzIHZlcnRpY2FsbHkgY2VudGVyZWQgd2hlbiBsZXNzIHRoYW4gNTVweC4gKi9cbiAgICAgICAgLyogV2UgYWxzbyBzZXQgdGhpcyB0byBlbnN1cmUgdGhlIHZvaWNlIG1lc3NhZ2UgcmVjb3JkaW5nIHdpZGdldCAqL1xuICAgICAgICAvKiBkb2Vzbid0IGNhdXNlIGEganVtcC4gKi9cbiAgICAgICAgbWluLWhlaWdodDogNTVweDtcbiAgICB9XG5cbi5teF9TZW5kTWVzc2FnZUNvbXBvc2VyIC5teF9CYXNpY01lc3NhZ2VDb21wb3NlciAubXhfQmFzaWNNZXNzYWdlQ29tcG9zZXJfaW5wdXQge1xuICAgICAgICAgICAgcGFkZGluZzogM3B4IDA7XG4gICAgICAgICAgICAvKiB0aGlzIHdpbGwgY2VudGVyIHRoZSBjb250ZW50ZWRpdGFibGUgKi9cbiAgICAgICAgICAgIC8qIGluIGl0J3MgcGFyZW50IHZlcnRpY2FsbHkgKi9cbiAgICAgICAgICAgIC8qIHdoaWxlIGtlZXBpbmcgdGhlIGF1dG9jb21wbGV0ZSBhdCB0aGUgdG9wICovXG4gICAgICAgICAgICAvKiBvZiB0aGUgY29tcG9zZXIuIFRoZSBwYXJlbnQgbmVlZHMgdG8gYmUgYSBmbGV4IGNvbnRhaW5lciBmb3IgdGhpcyB0byB3b3JrLiAqL1xuICAgICAgICAgICAgbWFyZ2luOiBhdXRvIDA7XG4gICAgICAgICAgICAvKiBtYXgtaGVpZ2h0IGF0IHRoaXMgbGV2ZWwgc28gYXV0b2NvbXBsZXRlIGRvZXNuJ3QgZ2V0IHNjcm9sbGVkIHRvbyAqL1xuICAgICAgICAgICAgbWF4LWhlaWdodDogMTQwcHg7XG4gICAgICAgICAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgICAgICB9XG5cbi5teF9TdGlja2Vyc19jb250ZW50IHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4ubXhfU3RpY2tlcnNfY29udGVudF9jb250YWluZXIge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgaGVpZ2h0OiAzMDBweDtcbn1cblxuI214X3BlcnNpc3RlZEVsZW1lbnRfc3RpY2tlclBpY2tlciAubXhfQXBwVGlsZUZ1bGxXaWR0aCB7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgaGVpZ2h0OiBpbml0aWFsO1xuICAgICAgICAtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgYm9yZGVyLWxlZnQ6IG5vbmU7XG4gICAgICAgIGJvcmRlci1yaWdodDogbm9uZTtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICB9XG5cbiNteF9wZXJzaXN0ZWRFbGVtZW50X3N0aWNrZXJQaWNrZXIgLm14X0FwcFRpbGVNZW51QmFyIHtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICB9XG5cbiNteF9wZXJzaXN0ZWRFbGVtZW50X3N0aWNrZXJQaWNrZXIgaWZyYW1lIHtcbiAgICAgICAgLyogU3RpY2tlciBwaWNrZXIgZGVwZW5kcyBvbiB0aGUgZml4ZWQgaGVpZ2h0IHByZXZpb3VzbHkgdXNlZCBmb3IgYWxsIHRpbGVzICovXG4gICAgICAgIGhlaWdodDogMjgzcHg7IC8qIGhlaWdodCBvZiB0aGUgcG9wb3V0IG1pbnVzIHRoZSBBcHBUaWxlIG1lbnUgYmFyICovXG4gICAgfVxuXG4ubXhfU3RpY2tlcnNfY29udGVudFBsYWNlaG9sZGVyIHtcbiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIC13ZWJraXQtYm94LWZsZXg6IDE7XG4gICAgICAgIC1tcy1mbGV4LXBvc2l0aXZlOiAxO1xuICAgICAgICAgICAgZmxleC1ncm93OiAxO1xuICAgIC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWw7XG4gICAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiBub3JtYWw7XG4gICAgICAgIC1tcy1mbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO1xuICAgICAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAtd2Via2l0LWJveC1wYWNrOiBjZW50ZXI7XG4gICAgICAgIC1tcy1mbGV4LXBhY2s6IGNlbnRlcjtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLm14X1N0aWNrZXJzX2NvbnRlbnRQbGFjZWhvbGRlciBwIHtcbiAgICBtYXgtd2lkdGg6IDIwMHB4O1xufVxuXG4ubXhfU3RpY2tlcnNfYWRkTGluayB7XG4gICAgZGlzcGxheTogaW5saW5lO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBjb2xvcjogIzBkYmQ4YjtcbiAgICBjb2xvcjogdmFyKC0tYWNjZW50LWNvbG9yLCAjMGRiZDhiKTtcbn1cblxuLypcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxuQ29weXJpZ2h0IDIwMjMgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cblxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuKi9cblxuLm14X1RoaXJkUGFydHlNZW1iZXJJbmZvIHtcbiAgICBwYWRkaW5nOiB2YXIoLS1jcGQtc3BhY2UtNHgpO1xufVxuXG4vKlxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXG5Db3B5cmlnaHQgMjAyMiBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxuXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXG4qL1xuXG4ubXhfVGhyZWFkU3VtbWFyeSxcbi5teF9UaHJlYWRTdW1tYXJ5X2NvbnRlbnQge1xuICAgIGNvbG9yOiAjZWRmM2ZmO1xuICAgIGNvbG9yOiB2YXIoLS1zZWNvbmRhcnktY29udGVudCwgI2VkZjNmZik7XG59XG5cbi5teF9UaHJlYWRTdW1tYXJ5LFxuLm14X1RocmVhZFN1bW1hcnlfaWNvbiB7XG4gICAgbWFyZ2luLXRvcDogOHB4O1xufVxuXG4ubXhfVGhyZWFkU3VtbWFyeSB7XG4gICAgbWluLXdpZHRoOiAyNjdweDtcbiAgICAvKiBsZWF2ZSBzcGFjZSBvbiBib3RoIGxlZnQgJiByaWdodCBndXR0ZXJzICovXG4gICAgbWF4LXdpZHRoOiBtaW4oY2FsYygxMDAlIC0gdmFyKC0tRXZlbnRUaWxlX2dyb3VwX2xpbmUtc3BhY2luZy1pbmxpbmUtc3RhcnQpKSwgNjAwcHgpO1xuICAgIHdpZHRoOiAtd2Via2l0LWZpdC1jb250ZW50O1xuICAgIHdpZHRoOiAtbW96LWZpdC1jb250ZW50O1xuICAgIHdpZHRoOiBmaXQtY29udGVudDtcbiAgICBoZWlnaHQ6IDQwcHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXBhbmVscywgdmFyKC0tY3BkLWNvbG9yLWdyYXktNjAwKSk7XG4gICAgcGFkZGluZy1pbmxpbmU6IDEycHggMTZweDtcbiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIC13ZWJraXQtYm94LXBhY2s6IHN0YXJ0O1xuICAgICAgICAtbXMtZmxleC1wYWNrOiBzdGFydDtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBjbGVhcjogYm90aDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLXBhbmVscywgdmFyKC0tY3BkLWNvbG9yLWdyYXktNjAwKSk7IC8qIGFsd2F5cyByZW5kZXIgYSBib3JkZXIgc28gdGhlIGhvdmVyIGVmZmVjdCBkb2Vzbid0IHJlcXVpcmUgYSByZS1sYXlvdXQgKi9cbiAgICBmb250OiB2YXIoLS1jcGQtZm9udC1ib2R5LXNtLXJlZ3VsYXIpO1xufVxuXG4ubXhfVGhyZWFkU3VtbWFyeSAubXhfVGhyZWFkU3VtbWFyeV9jaGV2cm9uIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIHdpZHRoOiA2MHB4O1xuICAgICAgICAtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgLyogWFhYOiBXZSB1c2UgYW4gSEVYQSBgdHJhbnNwYXJlbnRgIHRvIHdvcmsgYXJvdW5kIGEgU2FmYXJpIDwxNS40IGJ1ZyAqL1xuICAgICAgICBiYWNrZ3JvdW5kOiAtd2Via2l0LWdyYWRpZW50KGxpbmVhciwgcmlnaHQgdG9wLCBsZWZ0IHRvcCwgY29sb3Itc3RvcCg1MCUsICMyMTI2MmMpLCB0bygjZTFlNmVjMDApKTtcbiAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDI3MGRlZywgIzIxMjYyYyA1MCUsICNlMWU2ZWMwMCAxMDAlKTtcbiAgICAgICAgYmFja2dyb3VuZDogLXdlYmtpdC1ncmFkaWVudChsaW5lYXIsIHJpZ2h0IHRvcCwgbGVmdCB0b3AsIGNvbG9yLXN0b3AoNTAlLCB2YXIoLS1zeXN0ZW0sICMyMTI2MmMpKSwgdG8odmFyKC0tc3lzdGVtLXRyYW5zcGFyZW50LCAjZTFlNmVjMDApKSk7XG4gICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgyNzBkZWcsIHZhcigtLXN5c3RlbSwgIzIxMjYyYykgNTAlLCB2YXIoLS1zeXN0ZW0tdHJhbnNwYXJlbnQsICNlMWU2ZWMwMCkgMTAwJSk7XG5cbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNjBweCk7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDYwcHgpO1xuICAgICAgICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAwLjFzIGVhc2UtaW4tb3V0O1xuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4xcyBlYXNlLWluLW91dDtcbiAgICB9XG5cbi5teF9UaHJlYWRTdW1tYXJ5IC5teF9UaHJlYWRTdW1tYXJ5X2NoZXZyb246OmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgICByaWdodDogdmFyKC0tY3BkLXNwYWNlLTF4KTtcbiAgICAgICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgICAgICAgICB3aWR0aDogMjRweDtcbiAgICAgICAgICAgIGhlaWdodDogMjRweDtcbiAgICAgICAgICAgIC13ZWJraXQtbWFzay1pbWFnZTogdXJsKFwiQHZlY3Rvci1pbS9jb21wb3VuZC1kZXNpZ24tdG9rZW5zL2ljb25zL2NoZXZyb24tcmlnaHQuc3ZnXCIpO1xuICAgICAgICAgICAgICAgICAgICBtYXNrLWltYWdlOiB1cmwoXCJAdmVjdG9yLWltL2NvbXBvdW5kLWRlc2lnbi10b2tlbnMvaWNvbnMvY2hldnJvbi1yaWdodC5zdmdcIik7XG4gICAgICAgICAgICAtd2Via2l0LW1hc2stcG9zaXRpb246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgbWFzay1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgICAgICAgLXdlYmtpdC1tYXNrLXNpemU6IGNvbnRhaW47XG4gICAgICAgICAgICAgICAgICAgIG1hc2stc2l6ZTogY29udGFpbjtcbiAgICAgICAgICAgIC13ZWJraXQtbWFzay1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgICAgICAgICAgICAgbWFzay1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNlZGYzZmY7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1zZWNvbmRhcnktY29udGVudCwgI2VkZjNmZik7XG4gICAgICAgIH1cblxuLm14X1RocmVhZFN1bW1hcnk6aG92ZXIsXG4gICAgLm14X1RocmVhZFN1bW1hcnk6Zm9jdXMge1xuICAgICAgICBib3JkZXItY29sb3I6ICM2Zjc4ODI7XG4gICAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0tcXVpbmFyeS1jb250ZW50LCAjNmY3ODgyKTtcbiAgICB9XG5cbi5teF9UaHJlYWRTdW1tYXJ5OmhvdmVyIC5teF9UaHJlYWRTdW1tYXJ5X2NoZXZyb24sIC5teF9UaHJlYWRTdW1tYXJ5OmZvY3VzIC5teF9UaHJlYWRTdW1tYXJ5X2NoZXZyb24ge1xuICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gICAgICAgIH1cblxuLm14X1RocmVhZFN1bW1hcnkgLm14X1RocmVhZFN1bW1hcnlfc2VuZGVyLFxuICAgIC5teF9UaHJlYWRTdW1tYXJ5IC5teF9UaHJlYWRTdW1tYXJ5X2NvbnRlbnQsXG4gICAgLm14X1RocmVhZFN1bW1hcnkgLm14X1RocmVhZFN1bW1hcnlfcmVwbGllc19hbW91bnQge1xuICAgICAgICBsaW5lLWhlaWdodDogdmFyKC0tRXZlbnRUaWxlX1RocmVhZFN1bW1hcnktbGluZS1oZWlnaHQpO1xuICAgIH1cblxuLm14X1RocmVhZFN1bW1hcnkgLm14X1RocmVhZFN1bW1hcnlfc2VuZGVyLFxuICAgIC5teF9UaHJlYWRTdW1tYXJ5IC5teF9UaHJlYWRTdW1tYXJ5X2NvbnRlbnQge1xuICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB9XG5cbi5teF9UaHJlYWRTdW1tYXJ5IC5teF9UaHJlYWRTdW1tYXJ5X3NlbmRlciB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1jcGQtZm9udC13ZWlnaHQtc2VtaWJvbGQpO1xuICAgIH1cblxuLm14X1RocmVhZFN1bW1hcnkgLm14X1RocmVhZFN1bW1hcnlfY29udGVudCB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiA0cHg7XG4gICAgICAgIC13ZWJraXQtYm94LWZsZXg6IDE7XG4gICAgICAgICAgICAtbXMtZmxleDogMTtcbiAgICAgICAgICAgICAgICBmbGV4OiAxO1xuICAgIH1cblxuLm14X1RocmVhZFN1bW1hcnkgLm14X1RocmVhZFN1bW1hcnlfcmVwbGllc19hbW91bnQge1xuICAgICAgICBjb2xvcjogI2VkZjNmZjtcbiAgICAgICAgY29sb3I6IHZhcigtLXNlY29uZGFyeS1jb250ZW50LCAjZWRmM2ZmKTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLWNwZC1mb250LXdlaWdodC1zZW1pYm9sZCk7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgcGFkZGluZzogMCAxMnB4IDAgOHB4O1xuICAgIH1cblxuLm14X01lc3NhZ2VQYW5lbF9uYXJyb3cgLm14X1RocmVhZFN1bW1hcnkge1xuICAgICAgICBtaW4td2lkdGg6IDA7XG4gICAgICAgIG1pbi13aWR0aDogaW5pdGlhbDtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlOyAvKiBwcmV2ZW50IG92ZXJmbG93ICovXG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICB3aWR0aDogaW5pdGlhbDtcbiAgICB9XG5cbi5teF9UaHJlYWRTdW1tYXJ5X2F2YXRhciB7XG4gICAgLXdlYmtpdC1tYXJnaW4tZW5kOiA4cHg7XG4gICAgICAgICAgICBtYXJnaW4taW5saW5lLWVuZDogOHB4O1xuICAgIC1tcy1mbGV4LW5lZ2F0aXZlOiAwO1xuICAgICAgICBmbGV4LXNocmluazogMDtcbn1cblxuLm14X1RocmVhZFN1bW1hcnlfaWNvbiB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbi1ib3R0b206IDhweDtcbn1cblxuLm14X1RocmVhZFN1bW1hcnlfaWNvbjo6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAtd2Via2l0LW1hc2staW1hZ2U6IHVybChcIkB2ZWN0b3ItaW0vY29tcG91bmQtZGVzaWduLXRva2Vucy9pY29ucy90aHJlYWRzLnN2Z1wiKTtcbiAgICAgICAgICAgICAgICBtYXNrLWltYWdlOiB1cmwoXCJAdmVjdG9yLWltL2NvbXBvdW5kLWRlc2lnbi10b2tlbnMvaWNvbnMvdGhyZWFkcy5zdmdcIik7XG4gICAgICAgIC13ZWJraXQtbWFzay1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgICAgICAgICAgIG1hc2stcG9zaXRpb246IGNlbnRlcjtcbiAgICAgICAgLXdlYmtpdC1tYXNrLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgICAgICAgIG1hc2stcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgIC13ZWJraXQtbWFzay1zaXplOiBjb250YWluO1xuICAgICAgICAgICAgICAgIG1hc2stc2l6ZTogY29udGFpbjtcbiAgICAgICAgaGVpZ2h0OiAxOHB4O1xuICAgICAgICBtaW4td2lkdGg6IDE4cHg7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWljb24tYnV0dG9uLWNvbG9yLCB2YXIoLS1jcGQtY29sb3ItaWNvbi10ZXJ0aWFyeSkpICFpbXBvcnRhbnQ7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgIC13ZWJraXQtbWFyZ2luLWVuZDogOHB4O1xuICAgICAgICAgICAgICAgIG1hcmdpbi1pbmxpbmUtZW5kOiA4cHg7XG4gICAgICAgIG1hcmdpbi10b3A6IC0ycHg7XG4gICAgfVxuXG5hLm14X1RocmVhZFN1bW1hcnlfaWNvbiB7XG4gICAgICAgIGNvbG9yOiAjZWRmM2ZmO1xuICAgICAgICBjb2xvcjogdmFyKC0tc2Vjb25kYXJ5LWNvbnRlbnQsICNlZGYzZmYpO1xuICAgIH1cblxuLypcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxuQ29weXJpZ2h0IDIwMTYgT3Blbk1hcmtldCBMdGRcblxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuKi9cblxuLm14X1RvcFVucmVhZE1lc3NhZ2VzQmFyIHtcbiAgICB6LWluZGV4OiAxMDAwO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDI0cHg7XG4gICAgcmlnaHQ6IDI0cHg7XG4gICAgd2lkdGg6IDM4cHg7XG59XG5cbi5teF9Ub3BVbnJlYWRNZXNzYWdlc0Jhcjo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogLThweDtcbiAgICBsZWZ0OiAxMXB4O1xuICAgIHdpZHRoOiA0cHg7XG4gICAgaGVpZ2h0OiA0cHg7XG4gICAgYm9yZGVyLXJhZGl1czogMTZweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jcGQtY29sb3ItYmctY2FudmFzLWRlZmF1bHQpO1xuICAgIGJvcmRlcjogNnB4IHNvbGlkIHZhcigtLWNwZC1jb2xvci1pY29uLWFjY2VudC10ZXJ0aWFyeSk7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5cbi5teF9Ub3BVbnJlYWRNZXNzYWdlc0Jhcl9zY3JvbGxVcCB7XG4gICAgaGVpZ2h0OiAzOHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDE5cHg7XG4gICAgLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS10aW1lbGluZS1iYWNrZ3JvdW5kLWNvbG9yKTtcbiAgICBib3JkZXI6IDEuM3B4IHNvbGlkIHZhcigtLWNwZC1jb2xvci1pY29uLXRlcnRpYXJ5KTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi5teF9Ub3BVbnJlYWRNZXNzYWdlc0Jhcl9zY3JvbGxVcDo6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB3aWR0aDogMzZweDtcbiAgICBoZWlnaHQ6IDM2cHg7XG4gICAgLXdlYmtpdC1tYXNrLWltYWdlOiB1cmwoXCJAdmVjdG9yLWltL2NvbXBvdW5kLWRlc2lnbi10b2tlbnMvaWNvbnMvY2hldnJvbi11cC5zdmdcIik7XG4gICAgICAgICAgICBtYXNrLWltYWdlOiB1cmwoXCJAdmVjdG9yLWltL2NvbXBvdW5kLWRlc2lnbi10b2tlbnMvaWNvbnMvY2hldnJvbi11cC5zdmdcIik7XG4gICAgLXdlYmtpdC1tYXNrLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgICAgbWFzay1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAtd2Via2l0LW1hc2stc2l6ZTogMjRweDtcbiAgICAgICAgICAgIG1hc2stc2l6ZTogMjRweDtcbiAgICAtd2Via2l0LW1hc2stcG9zaXRpb246IGNlbnRlcjtcbiAgICAgICAgICAgIG1hc2stcG9zaXRpb246IGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jcGQtY29sb3ItaWNvbi10ZXJ0aWFyeSk7XG59XG5cbi5teF9Ub3BVbnJlYWRNZXNzYWdlc0Jhcl9tYXJrQXNSZWFkIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMThweDtcbiAgICBoZWlnaHQ6IDE4cHg7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tdGltZWxpbmUtYmFja2dyb3VuZC1jb2xvcik7XG4gICAgYm9yZGVyOiAxLjNweCBzb2xpZCB2YXIoLS1jcGQtY29sb3ItaWNvbi10ZXJ0aWFyeSk7XG4gICAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgICBtYXJnaW46IDVweCBhdXRvO1xufVxuXG4ubXhfVG9wVW5yZWFkTWVzc2FnZXNCYXJfbWFya0FzUmVhZDo6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB3aWR0aDogMThweDtcbiAgICBoZWlnaHQ6IDE4cHg7XG4gICAgLXdlYmtpdC1tYXNrLWltYWdlOiB1cmwoXCJAdmVjdG9yLWltL2NvbXBvdW5kLWRlc2lnbi10b2tlbnMvaWNvbnMvY2xvc2Uuc3ZnXCIpO1xuICAgICAgICAgICAgbWFzay1pbWFnZTogdXJsKFwiQHZlY3Rvci1pbS9jb21wb3VuZC1kZXNpZ24tdG9rZW5zL2ljb25zL2Nsb3NlLnN2Z1wiKTtcbiAgICAtd2Via2l0LW1hc2stcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgICBtYXNrLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIC13ZWJraXQtbWFzay1zaXplOiAxNnB4O1xuICAgICAgICAgICAgbWFzay1zaXplOiAxNnB4O1xuICAgIC13ZWJraXQtbWFzay1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgICAgICAgbWFzay1wb3NpdGlvbjogY2VudGVyO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNwZC1jb2xvci1pY29uLXRlcnRpYXJ5KTtcbn1cblxuLypcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxuXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXG4qL1xuXG4ubXhfVXNlcklkZW50aXR5V2FybmluZyB7XG4gICAgLyogNDJweCBpcyB0aGUgcGFkZGluZy1sZWZ0IG9mIC5teF9NZXNzYWdlQ29tcG9zZXJfd3JhcHBlciBpbiByZXMvY3NzL3ZpZXdzL3Jvb21zL19NZXNzYWdlQ29tcG9zZXIucGNzcyAqL1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKC00MnB4ICsgMThweCk7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoLTQycHggKyB2YXIoLS1Sb29tVmlld19NZXNzYWdlTGlzdC1wYWRkaW5nKSk7XG59XG5cbi5teF9Vc2VySWRlbnRpdHlXYXJuaW5nIC5teF9Vc2VySWRlbnRpdHlXYXJuaW5nX3JvdyB7XG4gICAgICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICAgICAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB9XG5cbi5teF9Vc2VySWRlbnRpdHlXYXJuaW5nIC5teF9Vc2VySWRlbnRpdHlXYXJuaW5nX3JvdyAubXhfQmFzZUF2YXRhciB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogdmFyKC0tY3BkLXNwYWNlLTJ4KTtcbiAgICAgICAgfVxuXG4ubXhfVXNlcklkZW50aXR5V2FybmluZyAubXhfVXNlcklkZW50aXR5V2FybmluZ19yb3cgLm14X1VzZXJJZGVudGl0eVdhcm5pbmdfbWFpbiB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogdmFyKC0tY3BkLXNwYWNlLTZ4KTtcbiAgICAgICAgICAgIC13ZWJraXQtYm94LWZsZXg6IDE7XG4gICAgICAgICAgICAgICAgLW1zLWZsZXgtcG9zaXRpdmU6IDE7XG4gICAgICAgICAgICAgICAgICAgIGZsZXgtZ3JvdzogMTtcbiAgICAgICAgfVxuXG4ubXhfTWVzc2FnZUNvbXBvc2VyLm14X01lc3NhZ2VDb21wb3Nlci0tY29tcGFjdCA+IC5teF9Vc2VySWRlbnRpdHlXYXJuaW5nIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYygtMjVweCArIDE4cHgpO1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKC0yNXB4ICsgdmFyKC0tUm9vbVZpZXdfTWVzc2FnZUxpc3QtcGFkZGluZykpO1xufVxuXG4vKlxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXG5Db3B5cmlnaHQgMjAyMSBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxuXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXG4qL1xuXG4ubXhfVm9pY2VSZWNvcmRDb21wb3NlclRpbGVfc3RvcCB7XG4gICAgLyogMjhweCBwbHVzIGEgMnB4IGJvcmRlciBtYWtlcyB0aGlzIGEgMzJweCBzcXVhcmUgKGFzIGludGVuZGVkKSAqL1xuICAgIHdpZHRoOiAyOHB4O1xuICAgIGhlaWdodDogMjhweDtcbiAgICBib3JkZXI6IDJweCBzb2xpZCAjNmY3ODgyO1xuICAgIGJvcmRlci1yYWRpdXM6IDMycHg7XG4gICAgbWFyZ2luLXJpZ2h0OiAycHg7IC8qIGJldHdlZW4gdXMgYW5kIHRoZSB3YXZlZm9ybSBjb21wb25lbnQgKi9cbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5teF9Wb2ljZVJlY29yZENvbXBvc2VyVGlsZV9zdG9wOjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIHdpZHRoOiAxNHB4O1xuICAgICAgICBoZWlnaHQ6IDE0cHg7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiA3cHg7XG4gICAgICAgIGxlZnQ6IDdweDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMnB4O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmY0YjU1O1xuICAgIH1cblxuLm14X1ZvaWNlUmVjb3JkQ29tcG9zZXJUaWxlX2RlbGV0ZSB7XG4gICAgd2lkdGg6IDI0cHg7XG4gICAgaGVpZ2h0OiAyNHB4O1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgbWFyZ2luLXJpZ2h0OiAycHg7IC8qIGRpc3RhbmNlIGZyb20gbGVmdCBlZGdlIG9mIHdhdmVmb3JtIGNvbnRhaW5lciAoY29udGFpbmVyIGhhcyBzb21lIG1hcmdpbiB0b28pICovXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzZmNzg4MjtcbiAgICAtd2Via2l0LW1hc2stcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgICBtYXNrLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIC13ZWJraXQtbWFzay1zaXplOiBjb250YWluO1xuICAgICAgICAgICAgbWFzay1zaXplOiBjb250YWluO1xuICAgIC13ZWJraXQtbWFzay1pbWFnZTogdXJsKFwiQHZlY3Rvci1pbS9jb21wb3VuZC1kZXNpZ24tdG9rZW5zL2ljb25zL2RlbGV0ZS5zdmdcIik7XG4gICAgICAgICAgICBtYXNrLWltYWdlOiB1cmwoXCJAdmVjdG9yLWltL2NvbXBvdW5kLWRlc2lnbi10b2tlbnMvaWNvbnMvZGVsZXRlLnN2Z1wiKTtcbn1cblxuLm14X1ZvaWNlUmVjb3JkQ29tcG9zZXJUaWxlX3VwbG9hZGluZ1N0YXRlIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gICAgY29sb3I6ICNlZGYzZmY7XG4gICAgY29sb3I6IHZhcigtLXNlY29uZGFyeS1jb250ZW50LCAjZWRmM2ZmKTtcbn1cblxuLm14X1ZvaWNlUmVjb3JkQ29tcG9zZXJUaWxlX2ZhaWxlZFN0YXRlIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDIxcHg7XG59XG5cbi5teF9Wb2ljZVJlY29yZENvbXBvc2VyVGlsZV9mYWlsZWRTdGF0ZSAubXhfVm9pY2VSZWNvcmRDb21wb3NlclRpbGVfdXBsb2FkU3RhdGVfYmFkZ2Uge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIG1hcmdpbi1yaWdodDogNHB4O1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIH1cblxuLm14X01lc3NhZ2VDb21wb3Nlcl9yb3cgLm14X1ZvaWNlTWVzc2FnZVByaW1hcnlDb250YWluZXIge1xuICAgIC8qIE5vdGU6IHJlbWFpbmluZyBjbGFzcyBwcm9wZXJ0aWVzIGFyZSBpbiB0aGUgUGxheWVyQ29udGFpbmVyIENTUy4gKi9cblxuICAgIC8qIGZpeGVkIGhlaWdodCB0byByZWR1Y2UgbGF5b3V0IGp1bXBzIHdpdGggdGhlIHBsYXkgYnV0dG9uIGFwcGVhcmluZyAqL1xuICAgIC8qIGh0dHBzOi8vZ2l0aHViLmNvbS92ZWN0b3ItaW0vZWxlbWVudC13ZWIvaXNzdWVzLzE4NDMxICovXG4gICAgaGVpZ2h0OiAzMnB4O1xuXG4gICAgbWFyZ2luOiA2cHg7IC8qIGZvcmNlIHRoZSBjb21wb3NlciBhcmVhIHRvIHB1dCBhIGd1dHRlciBhcm91bmQgdXMgKi9cbiAgICBtYXJnaW4tcmlnaHQ6IDZweDsgLyogaXNvbGF0ZSBmcm9tIHN0b3Avc2VuZCBidXR0b24gKi9cblxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgLyogaW1wb3J0YW50IGZvciB0aGUgbGl2ZSBjaXJjbGUgKi9cbn1cblxuLm14X01lc3NhZ2VDb21wb3Nlcl9yb3cgLm14X1ZvaWNlTWVzc2FnZVByaW1hcnlDb250YWluZXIubXhfVm9pY2VSZWNvcmRDb21wb3NlclRpbGVfcmVjb3JkaW5nIHtcbiAgICAgICAgLyogV2UgYXJlIHB1dHRpbmcgdGhlIGNpcmNsZSBpbiB0aGlzIHBhZGRpbmcsIHNvIHdlIG5lZWQgKzEwcHggZnJvbSB0aGUgcmVndWxhciAqL1xuICAgICAgICAvKiBwYWRkaW5nIG9uIHRoZSBsZWZ0IHNpZGUuICovXG4gICAgICAgIHBhZGRpbmctbGVmdDogMjJweDtcbiAgICB9XG5cbi5teF9NZXNzYWdlQ29tcG9zZXJfcm93IC5teF9Wb2ljZU1lc3NhZ2VQcmltYXJ5Q29udGFpbmVyLm14X1ZvaWNlUmVjb3JkQ29tcG9zZXJUaWxlX3JlY29yZGluZzo6YmVmb3JlIHtcbiAgICAgICAgICAgIC13ZWJraXQtYW5pbWF0aW9uOiByZWNvcmRpbmctcHVsc2UgMnMgaW5maW5pdGU7XG4gICAgICAgICAgICAgICAgICAgIGFuaW1hdGlvbjogcmVjb3JkaW5nLXB1bHNlIDJzIGluZmluaXRlO1xuXG4gICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmNGI1NTtcbiAgICAgICAgICAgIHdpZHRoOiAxMHB4O1xuICAgICAgICAgICAgaGVpZ2h0OiAxMHB4O1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgbGVmdDogMTJweDsgLyogMTJweCBmcm9tIHRoZSBsZWZ0IGVkZ2UgZm9yIGNvbnRhaW5lciBwYWRkaW5nICovXG4gICAgICAgICAgICB0b3A6IDE3cHg7IC8qIHZlcnRpY2FsbHkgY2VudGVyIChtaWRkbGUgYWxpZ24gd2l0aCBjbG9jaykgKi9cbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gICAgICAgIH1cblxuLm14X01lc3NhZ2VDb21wb3Nlcl93eXNpd3lnIC5teF9Wb2ljZU1lc3NhZ2VQcmltYXJ5Q29udGFpbmVyLm14X1ZvaWNlUmVjb3JkQ29tcG9zZXJUaWxlX3JlY29yZGluZzo6YmVmb3JlIHtcbiAgICAgICAgICAgIHRvcDogMTVweDsgLyogdmVydGljYWxseSBjZW50ZXIgKG1pZGRsZSBhbGlnbiB3aXRoIGNsb2NrKSAqL1xuICAgICAgICB9XG5cbi8qIFRoZSBrZXlmcmFtZXMgYXJlIHNsaWdodGx5IHdlaXJkIGhlcmUgdG8gaGVscCBtYWtlIGEgcmFtcGluZy9wdW5jaCBlZmZlY3QgKi9cblxuLyogZm9yIHRoZSByZWNvcmRpbmcgZG90LiBXZSBzdGFydCBhbmQgZW5kIGF0IDEwMCUgb3BhY2l0eSB0byBoZWxwIG1ha2UgdGhlICovXG5cbi8qIGRvdCBmZWVsIGEgYml0IGxpa2UgYSByZWFsIGxhbXAgdGhhdCBpcyBibGlua2luZzogdGhlIGFuaW1hdGlvbiBlbmRzIHVwICovXG5cbi8qIHNwZW5kaW5nIGEgbG90IG9mIGl0cyB0aW1lIHNob3dpbmcgYSBzdGVhZHkgc3RhdGUgd2l0aG91dCBhIGZhZGUgZWZmZWN0LiAqL1xuXG4vKiBUaGlzIGxhbXAgZWZmZWN0IGV4dGVuZHMgaW50byB3aHkgdGhlIDAlIG9wYWNpdHkga2V5ZnJhbWUgaXMgbm90IGluIHRoZSAqL1xuXG4vKiBtaWRwb2ludDogbGFtcHMgdGFrZSBsb25nZXIgdG8gdHVybiBvZmYgdGhhbiB0aGV5IGRvIHRvIHR1cm4gb24sIGFuZCB0aGUgKi9cblxuLyogZXh0cmEgZnJhbWVzIGdpdmUgaXQgYSBiaXQgb2YgYSByZWFsaXN0aWMgcHVuY2ggZm9yIHdoZW4gdGhlIGFuaW1hdGlvbiBpcyAqL1xuXG4vKiByYW1waW5nIGJhY2sgdXAgdG8gMTAwJSBvcGFjaXR5LiAqL1xuXG4vKiBUYXJnZXQgYW5pbWF0aW9uIHRpbWluZ3M6IHN0ZWFkeSBmb3IgMS41cywgZmFkZSBvdXQgZm9yIDAuM3MsIGZhZGUgaW4gZm9yIDAuMnMgKi9cblxuLyogKGludGVuZGVkIHRvIGJlIHVzZWQgaW4gYSBsb29wIGZvciAycyBhbmltYXRpb24gc3BlZWQpICovXG5cbkAtd2Via2l0LWtleWZyYW1lcyByZWNvcmRpbmctcHVsc2Uge1xuICAgIDAlIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG4gICAgMzUlIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICB9XG4gICAgNjUlIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG59XG5cbkBrZXlmcmFtZXMgcmVjb3JkaW5nLXB1bHNlIHtcbiAgICAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxuICAgIDM1JSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgfVxuICAgIDY1JSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxufVxuXG4vKlxuQ29weXJpZ2h0IDIwMTgtMjAyNCBOZXcgVmVjdG9yIEx0ZC5cblxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuKi9cblxuLm14X1dob0lzVHlwaW5nVGlsZSB7XG4gICAgbWFyZ2luLWxlZnQ6IC0xOHB4OyAvKiBvZmZzZXQgcGFkZGluZyBmcm9tIG14X1Jvb21WaWV3X01lc3NhZ2VMaXN0IHRvIGNlbnRlciBhdmF0YXJzICovXG4gICAgcGFkZGluZy10b3A6IDE4cHg7XG4gICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gICAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO1xuICAgICAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cblxuLyogcG9zaXRpb24gdGhlIGluZGljYXRvciBpbiB0aGUgc2FtZSBwbGFjZSBob3Jpem9udGFsbHkgYXMgLm14X0V2ZW50VGlsZV9hdmF0YXIuICovXG5cbi5teF9XaG9Jc1R5cGluZ1RpbGVfYXZhdGFycyB7XG4gICAgLXdlYmtpdC1ib3gtZmxleDogMDtcbiAgICAgICAgLW1zLWZsZXg6IDAgMCA4MnB4O1xuICAgICAgICAgICAgZmxleDogMCAwIDgycHg7IC8qIDE4IChwYWRkaW5nIG9uIG1lc3NhZ2UgbGlzdCkgKyA2NCAocGFkZGluZyBvbiBldmVudCBsaW5lcykgKi9cbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5teF9XaG9Jc1R5cGluZ1RpbGVfYXZhdGFycyA+IDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgbWFyZ2luLWxlZnQ6IC0xMnB4O1xufVxuXG4ubXhfV2hvSXNUeXBpbmdUaWxlX2F2YXRhcnMgLm14X0Jhc2VBdmF0YXIge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLXRpbWVsaW5lLWJhY2tncm91bmQtY29sb3IpO1xuICAgIGJvcmRlci1yYWRpdXM6IDQwcHg7XG59XG5cbi5teF9XaG9Jc1R5cGluZ1RpbGVfcmVtYWluaW5nQXZhdGFyUGxhY2Vob2xkZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgY29sb3I6IHZhcigtLXRpbWVsaW5lLXRleHQtY29sb3IpO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM2Zjc4ODI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcXVpbmFyeS1jb250ZW50LCAjNmY3ODgyKTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS10aW1lbGluZS1iYWNrZ3JvdW5kLWNvbG9yKTtcbiAgICBib3JkZXItcmFkaXVzOiA0MHB4O1xuICAgIHdpZHRoOiAyNHB4O1xuICAgIGhlaWdodDogMjRweDtcbiAgICBsaW5lLWhlaWdodDogMS41cmVtO1xuICAgIGZvbnQtc2l6ZTogMC44ZW07XG4gICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5teF9XaG9Jc1R5cGluZ1RpbGVfbGFiZWwge1xuICAgIC13ZWJraXQtYm94LWZsZXg6IDE7XG4gICAgICAgIC1tcy1mbGV4OiAxO1xuICAgICAgICAgICAgZmxleDogMTtcbiAgICBmb250OiB2YXIoLS1jcGQtZm9udC1ib2R5LW1kLXNlbWlib2xkKTtcbiAgICBjb2xvcjogdmFyKC0tdGltZWxpbmUtdGV4dC1jb2xvci01MHBjdCk7XG59XG5cbi5teF9XaG9Jc1R5cGluZ1RpbGVfbGFiZWwgPiBzcGFuIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi8uLi8uLi9pbWcvdHlwaW5nLWluZGljYXRvci0yeC5naWZcIik7XG4gICAgYmFja2dyb3VuZC1zaXplOiAyNXB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGxlZnQgYm90dG9tO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgcGFkZGluZy1ib3R0b206IDE1cHg7XG4gICAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5teF9NYXRyaXhDaGF0X3VzZUNvbXBhY3RMYXlvdXQgLm14X1dob0lzVHlwaW5nVGlsZSB7XG4gICAgICAgIHBhZGRpbmctdG9wOiA0cHg7XG4gICAgfVxuXG4vKlxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXG5Db3B5cmlnaHQgMjAyMiBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxuXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXG4qL1xuXG4ubXhfRWRpdFd5c2l3eWdDb21wb3NlciB7XG4gICAgLS1FZGl0V3lzaXd5Z0NvbXBvc2VyLXBhZGRpbmctaW5saW5lOiAzcHg7XG5cbiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcblxuICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuXG4gICAgZGlzcGxheTogZmxleDtcbiAgICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xuICAgIC13ZWJraXQtYm94LWRpcmVjdGlvbjogbm9ybWFsO1xuICAgICAgICAtbXMtZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgbWF4LXdpZHRoOiAxMDAlOyAvKiBkaXNhYmxlIG92ZXJmbG93ICovXG4gICAgd2lkdGg6IGF1dG87XG4gICAgZ2FwOiA4cHg7XG4gICAgcGFkZGluZzogOHB4IDNweDtcbiAgICBwYWRkaW5nOiA4cHggdmFyKC0tRWRpdFd5c2l3eWdDb21wb3Nlci1wYWRkaW5nLWlubGluZSk7XG59XG5cbi5teF9FZGl0V3lzaXd5Z0NvbXBvc2VyIC5teF9XeXNpd3lnQ29tcG9zZXJfRWRpdG9yX2NvbnRlbnQge1xuICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgICAgIGJvcmRlcjogc29saWQgMXB4IHZhcigtLXJvb21saXN0LXNlcGFyYXRvci1jb2xvcik7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXRpbWVsaW5lLWJhY2tncm91bmQtY29sb3IpO1xuICAgICAgICBtYXgtaGVpZ2h0OiAyMDBweDtcbiAgICAgICAgcGFkZGluZzogM3B4IDZweDtcbiAgICB9XG5cbi5teF9FZGl0V3lzaXd5Z0NvbXBvc2VyIC5teF9XeXNpd3lnQ29tcG9zZXJfRWRpdG9yX2NvbnRlbnQ6Zm9jdXMge1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1hY2NlbnQtY29sb3ItNDAwKTtcbiAgICAgICAgfVxuXG4ubXhfRWRpdFd5c2l3eWdDb21wb3NlciAubXhfRWRpdFd5c2l3eWdDb21wb3Nlcl9idXR0b25zIHtcbiAgICAgICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gICAgICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAtd2Via2l0LWJveC1vcmllbnQ6IGhvcml6b250YWw7XG4gICAgICAgIC13ZWJraXQtYm94LWRpcmVjdGlvbjogbm9ybWFsO1xuICAgICAgICAgICAgLW1zLWZsZXgtZmxvdzogcm93IHdyYXAtcmV2ZXJzZTtcbiAgICAgICAgICAgICAgICBmbGV4LWZsb3c6IHJvdyB3cmFwLXJldmVyc2U7IC8qIGRpc3BsYXkgXCJTYXZlXCIgb3ZlciBcIkNhbmNlbFwiICovXG4gICAgICAgIC13ZWJraXQtYm94LXBhY2s6IGVuZDtcbiAgICAgICAgICAgIC1tcy1mbGV4LXBhY2s6IGVuZDtcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgICAgICBnYXA6IDVweDtcbiAgICAgICAgLXdlYmtpdC1tYXJnaW4tc3RhcnQ6IGF1dG87XG4gICAgICAgICAgICAgICAgbWFyZ2luLWlubGluZS1zdGFydDogYXV0bztcbiAgICB9XG5cbi5teF9FZGl0V3lzaXd5Z0NvbXBvc2VyIC5teF9FZGl0V3lzaXd5Z0NvbXBvc2VyX2J1dHRvbnMgLm14X0FjY2Vzc2libGVCdXR0b24ge1xuICAgICAgICAgICAgLXdlYmtpdC1ib3gtZmxleDogMTtcbiAgICAgICAgICAgICAgICAtbXMtZmxleDogMTtcbiAgICAgICAgICAgICAgICAgICAgZmxleDogMTtcbiAgICAgICAgICAgIC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgICAgICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgICAgIG1pbi13aWR0aDogMTAwcHg7IC8qIG1hZ2ljIG51bWJlciB0byBhbGlnbiB0aGUgZWRnZSBvZiB0aGUgYnV0dG9uIHdpdGggdGhlIGlucHV0IGFyZWEgKi9cbiAgICAgICAgfVxuXG4ubXhfRWRpdFd5c2l3eWdDb21wb3NlciAubXhfRm9ybWF0dGluZ0J1dHRvbnNfQnV0dG9uOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwcHg7XG4gICAgICAgIH1cblxuLypcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxuQ29weXJpZ2h0IDIwMjIgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cblxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuKi9cblxuLm14X1NlbmRXeXNpd3lnQ29tcG9zZXIge1xuICAgIC13ZWJraXQtYm94LWZsZXg6IDE7XG4gICAgICAgIC1tcy1mbGV4OiAxO1xuICAgICAgICAgICAgZmxleDogMTtcbiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWw7XG4gICAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiBub3JtYWw7XG4gICAgICAgIC1tcy1mbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBmb250OiB2YXIoLS1jcGQtZm9udC1ib2R5LW1kLXJlZ3VsYXIpO1xuICAgIC8qIGZpeGVkIGxpbmUgaGVpZ2h0IHRvIHByZXZlbnQgZW1vamkgZnJvbSBiZWluZyB0YWxsZXIgdGhhbiB0ZXh0ICovXG4gICAgbGluZS1oZWlnaHQ6IDEuMTI1cmVtO1xuICAgIC13ZWJraXQtYm94LXBhY2s6IGNlbnRlcjtcbiAgICAgICAgLW1zLWZsZXgtcGFjazogY2VudGVyO1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgbWFyZ2luLXJpZ2h0OiAxM3B4O1xuICAgIGdhcDogOHB4O1xufVxuXG4ubXhfU2VuZFd5c2l3eWdDb21wb3NlciAubXhfRm9ybWF0dGluZ0J1dHRvbnMge1xuICAgICAgICBtYXJnaW4tbGVmdDogMTJweDtcbiAgICB9XG5cbi5teF9TZW5kV3lzaXd5Z0NvbXBvc2VyIC5teF9XeXNpd3lnQ29tcG9zZXJfRWRpdG9yIHtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQ7XG4gICAgICAgIGJvcmRlci1jb2xvcjogIzZmNzg4MjtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1xdWluYXJ5LWNvbnRlbnQsICM2Zjc4ODIpO1xuICAgICAgICBwYWRkaW5nOiA2cHggMTFweCA2cHggMTJweDtcbiAgICAgICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gICAgICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAtd2Via2l0LWJveC1hbGlnbjogZW5kO1xuICAgICAgICAgICAgLW1zLWZsZXgtYWxpZ246IGVuZDtcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG4gICAgICAgIGdhcDogMTBweDtcbiAgICB9XG5cbi5teF9TZW5kV3lzaXd5Z0NvbXBvc2VyIC5teF9XeXNpd3lnQ29tcG9zZXJfRWRpdG9yIC5teF9FMkVJY29uIHtcbiAgICAgICAgICAgIG1hcmdpbjogMCAwIDdweCAwO1xuICAgICAgICAgICAgd2lkdGg6IDEycHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDEycHg7XG4gICAgICAgIH1cblxuLm14X1NlbmRXeXNpd3lnQ29tcG9zZXIgLm14X1d5c2l3eWdDb21wb3Nlcl9FZGl0b3JbZGF0YS1pcy1leHBhbmRlZD1cInRydWVcIl0ge1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMTRweDtcbiAgICAgICAgfVxuXG4ubXhfU2VuZFd5c2l3eWdDb21wb3NlciAubXhfV3lzaXd5Z0NvbXBvc2VyX0VkaXRvcltkYXRhLWlzLWV4cGFuZGVkPVwidHJ1ZVwiXSAubXhfV3lzaXd5Z0NvbXBvc2VyX0VkaXRvcl9jb250YWluZXIge1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDNweDtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAzcHg7XG4gICAgICAgICAgICB9XG5cbi5teF9TZW5kV3lzaXd5Z0NvbXBvc2VyIC5teF9XeXNpd3lnQ29tcG9zZXJfRWRpdG9yW2RhdGEtaXMtZXhwYW5kZWQ9XCJmYWxzZVwiXSB7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiA0MHB4O1xuICAgICAgICB9XG5cbi5teF9TZW5kV3lzaXd5Z0NvbXBvc2VyIC5teF9XeXNpd3lnQ29tcG9zZXJfRWRpdG9yIC5teF9XeXNpd3lnQ29tcG9zZXJfRWRpdG9yX2NvbnRhaW5lciB7XG4gICAgICAgICAgICAtd2Via2l0LWJveC1mbGV4OiAxO1xuICAgICAgICAgICAgICAgIC1tcy1mbGV4OiAxO1xuICAgICAgICAgICAgICAgICAgICBmbGV4OiAxO1xuICAgICAgICAgICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gICAgICAgICAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xuICAgICAgICAgICAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiBub3JtYWw7XG4gICAgICAgICAgICAgICAgLW1zLWZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICBtaW4taGVpZ2h0OiAyMnB4O1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMnB4O1xuICAgICAgICAgICAgLyogZG9uJ3QgZ3JvdyB3aWRlciB0aGFuIGF2YWlsYWJsZSBzcGFjZSAqL1xuICAgICAgICAgICAgd2lkdGg6IDA7XG4gICAgICAgIH1cblxuLm14X1NlbmRXeXNpd3lnQ29tcG9zZXIgLm14X1d5c2l3eWdDb21wb3Nlcl9FZGl0b3IgLm14X1d5c2l3eWdDb21wb3Nlcl9FZGl0b3JfY29udGFpbmVyIC5teF9XeXNpd3lnQ29tcG9zZXJfRWRpdG9yX2NvbnRlbnQge1xuICAgICAgICAgICAgICAgIC8qIHRoaXMgd2lsbCBjZW50ZXIgdGhlIGNvbnRlbnRlZGl0YWJsZSAqL1xuICAgICAgICAgICAgICAgIC8qIGluIGl0J3MgcGFyZW50IHZlcnRpY2FsbHkgKi9cbiAgICAgICAgICAgICAgICAvKiB3aGlsZSBrZWVwaW5nIHRoZSBhdXRvY29tcGxldGUgYXQgdGhlIHRvcCAqL1xuICAgICAgICAgICAgICAgIC8qIG9mIHRoZSBjb21wb3Nlci4gVGhlIHBhcmVudCBuZWVkcyB0byBiZSBhIGZsZXggY29udGFpbmVyIGZvciB0aGlzIHRvIHdvcmsuICovXG4gICAgICAgICAgICAgICAgbWFyZ2luOiBhdXRvIDA7XG4gICAgICAgICAgICAgICAgLyogdGhlIGxpbmUgaGVpZ2h0IGlzICRmb250LTIycHggKHNldCBpbiBfRWRpdG9yLnBjc3MpIGFuZCB3ZSB3YW50IHRvIGRpc3BsYXkgMTYgbGluZXMgKi9cbiAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiBjYWxjKDE2ICogMS4zNzVyZW0pO1xuICAgICAgICAgICAgICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgICAgICAgICB9XG5cbi5teF9TZW5kV3lzaXd5Z0NvbXBvc2VyLWZvY3VzZWQgLm14X1d5c2l3eWdDb21wb3Nlcl9FZGl0b3Ige1xuICAgICAgICBib3JkZXItY29sb3I6ICM2Zjc4ODI7XG4gICAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0tcXVhdGVybmFyeS1jb250ZW50LCAjNmY3ODgyKTtcbiAgICB9XG5cbi8qXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cbkNvcHlyaWdodCAyMDIyIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXG5cblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cbiovXG5cbi5teF9XeXNpd3lnQ29tcG9zZXJfRWRpdG9yX2NvbnRhaW5lciB7XG4gICAgLyogVGhlc2UgYXJlIHNldCBpbiBKYXZhc2NyaXB0ICovXG4gICAgLS1hdmF0YXItbGV0dGVyOiBcIlwiO1xuICAgIC0tYXZhdGFyLWJhY2tncm91bmQ6IHVuc2V0O1xuICAgIC0tcGxhY2Vob2xkZXI6IFwiXCI7XG59XG5cbkBrZXlmcmFtZXMgdmlzdWFsYmVsbCB7XG4gICAgICAgIGZyb20ge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzgwMDtcbiAgICAgICAgfVxuICAgICAgICB0byB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS10aW1lbGluZS1iYWNrZ3JvdW5kLWNvbG9yKTtcbiAgICAgICAgfVxuICAgIH1cblxuLm14X1d5c2l3eWdDb21wb3Nlcl9FZGl0b3JfY29udGFpbmVyIC5teF9XeXNpd3lnQ29tcG9zZXJfRWRpdG9yX2NvbnRlbnQge1xuICAgICAgICBsaW5lLWhlaWdodDogMS4zNzVyZW07XG4gICAgICAgIHdoaXRlLXNwYWNlOiBwcmUtd3JhcDtcbiAgICAgICAgd29yZC13cmFwOiBicmVhay13b3JkO1xuICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgICBvdmVyZmxvdy14OiBoaWRkZW47XG4gICAgfVxuXG4vKiBuYXZpZ2F0ZWQgdGhyb3VnaCBpbiBhIHNpbmdsZSBrZXlwcmVzcyAqL1xuXG4ubXhfV3lzaXd5Z0NvbXBvc2VyX0VkaXRvcl9jb250YWluZXIgLm14X1d5c2l3eWdDb21wb3Nlcl9FZGl0b3JfY29udGVudCAuY2FyZXROb2RlIHtcbiAgICAgICAgICAgIC13ZWJraXQtdXNlci1zZWxlY3Q6IGFsbDtcbiAgICAgICAgICAgICAgIC1tb3otdXNlci1zZWxlY3Q6IGFsbDtcbiAgICAgICAgICAgICAgICAgICAgdXNlci1zZWxlY3Q6IGFsbDtcbiAgICAgICAgfVxuXG4vKiB3ZSBoYXZlIGFueSBvdGhlciBlbGVtZW50cyovXG5cbi5teF9XeXNpd3lnQ29tcG9zZXJfRWRpdG9yX2NvbnRhaW5lciAubXhfV3lzaXd5Z0NvbXBvc2VyX0VkaXRvcl9jb250ZW50IGJyOm5vdCg6b25seS1jaGlsZCkge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuXG4vKiB3ZSBhbHdheXMgaGF2ZSBhIDxici8+IHRhZyBhdCB0aGUgZW5kIG9mIHRoZSBodG1sLCB3ZSBuZWVkIGl0IHRvIGJlIHByZXNlbnQgYXQgZmlyc3QgdGhlbiBoaWRlIGl0IGFzIHNvb24gYXMqL1xuXG4ubXhfV3lzaXd5Z0NvbXBvc2VyX0VkaXRvcl9jb250YWluZXIgLm14X1d5c2l3eWdDb21wb3Nlcl9FZGl0b3JfY29udGVudCBwIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgICAgLyogdGhpcyBtYXkgc2VlbSByZWR1bmRhbnQsIGJ1dCB3ZSBuZWVkIHRvIGhhbmRsZSB6ZXJvIGNvbnRlbnQgZm9ybWF0dGluZyB0YWdzLCB3aGljaCBvY2N1ciB3aGVuIHdlIHNwbGl0IGFcbiAgICAgICAgICAgICAgIGZvcm1hdHRpbmcgdGFnIGludG8gcGFyYWdyYXBocyAqL1xuICAgICAgICAgICAgbWluLWhlaWdodDogMS4zNzVyZW07XG4gICAgICAgIH1cblxuLyogRm9yY2UgY2FyZXQgbm9kZXMgdG8gYmUgc2VsZWN0ZWQgaW4gZnVsbCBzbyB0aGF0IHRoZXkgY2FuIGJlICovXG5cbi5teF9XeXNpd3lnQ29tcG9zZXJfRWRpdG9yX2NvbnRhaW5lciAubXhfV3lzaXd5Z0NvbXBvc2VyX0VkaXRvcl9jb250ZW50IHVsLFxuICAgICAgICAubXhfV3lzaXd5Z0NvbXBvc2VyX0VkaXRvcl9jb250YWluZXIgLm14X1d5c2l3eWdDb21wb3Nlcl9FZGl0b3JfY29udGVudCBvbCB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICAgIC13ZWJraXQtcGFkZGluZy1zdGFydDogMjhweDtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1pbmxpbmUtc3RhcnQ6IDI4cHg7XG4gICAgICAgIH1cblxuLyogTWFrZSBsaXN0IHR5cGUgZGlzYyB0byBtYXRjaCByaWNoIHRleHQgZWRpdG9yICovXG5cbi5teF9XeXNpd3lnQ29tcG9zZXJfRWRpdG9yX2NvbnRhaW5lciAubXhfV3lzaXd5Z0NvbXBvc2VyX0VkaXRvcl9jb250ZW50IHVsIHtcbiAgICAgICAgICAgIGxpc3Qtc3R5bGUtdHlwZTogZGlzYztcbiAgICAgICAgfVxuXG4ubXhfV3lzaXd5Z0NvbXBvc2VyX0VkaXRvcl9jb250YWluZXIgLm14X1d5c2l3eWdDb21wb3Nlcl9FZGl0b3JfY29udGVudCBibG9ja3F1b3RlIHtcbiAgICAgICAgICAgIGNvbG9yOiAjNzc3O1xuICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IDJweCBzb2xpZCB2YXIoLS1jcGQtY29sb3ItYm9yZGVyLWludGVyYWN0aXZlLXByaW1hcnkpO1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMnB4O1xuICAgICAgICAgICAgcGFkZGluZzogMCAxMHB4O1xuXG4gICAgICAgICAgICAtd2Via2l0LW1hcmdpbi1iZWZvcmU6IDA7XG5cbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJsb2NrLXN0YXJ0OiAwO1xuICAgICAgICAgICAgLXdlYmtpdC1tYXJnaW4tYWZ0ZXI6IDA7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ibG9jay1lbmQ6IDA7XG4gICAgICAgICAgICAtd2Via2l0LW1hcmdpbi1zdGFydDogMDtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWlubGluZS1zdGFydDogMDtcbiAgICAgICAgICAgIC13ZWJraXQtbWFyZ2luLWVuZDogMDtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWlubGluZS1lbmQ6IDA7XG4gICAgICAgIH1cblxuLm14X1d5c2l3eWdDb21wb3Nlcl9FZGl0b3JfY29udGFpbmVyIC5teF9XeXNpd3lnQ29tcG9zZXJfRWRpdG9yX2NvbnRlbnQgPiBwcmUge1xuICAgICAgICAgICAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS41cmVtO1xuXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDhweCAxMnB4O1xuXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMmEzMDM5O1xuICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgIzJhMzAzOTtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDJweDtcbiAgICAgICAgfVxuXG4ubXhfV3lzaXd5Z0NvbXBvc2VyX0VkaXRvcl9jb250YWluZXIgLm14X1d5c2l3eWdDb21wb3Nlcl9FZGl0b3JfY29udGVudCBjb2RlOm5vdChwcmUgKikge1xuICAgICAgICAgICAgZm9udC1mYW1pbHk6IFwiSW5jb25zb2xhdGFcIiwgXCJcIiwgXCJBcHBsZSBDb2xvciBFbW9qaVwiLCBcIlNlZ29lIFVJIEVtb2ppXCIsIFwiQ291cmllclwiLFxuICAgIG1vbm9zcGFjZSwgXCJOb3RvIENvbG9yIEVtb2ppXCIgIWltcG9ydGFudDtcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWZhbWlseS1tb25vc3BhY2UsIFwiSW5jb25zb2xhdGFcIiwgdmFyKC0tZW1vamktZm9udC1mYW1pbHkpLCBcIkFwcGxlIENvbG9yIEVtb2ppXCIsIFwiU2Vnb2UgVUkgRW1vamlcIiwgXCJDb3VyaWVyXCIsXG4gICAgbW9ub3NwYWNlLCBcIk5vdG8gQ29sb3IgRW1vamlcIikgIWltcG9ydGFudDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMyYTMwMzk7XG4gICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjMmEzMDM5O1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAgICAgICAgICAgcGFkZGluZzogMnB4O1xuICAgICAgICB9XG5cbi5teF9XeXNpd3lnQ29tcG9zZXJfRWRpdG9yX2NvbnRhaW5lciAubXhfV3lzaXd5Z0NvbXBvc2VyX0VkaXRvcl9jb250ZW50IGNvZGU6bm90KHByZSAqKTplbXB0eSB7XG4gICAgICAgICAgICAgICAgYm9yZGVyOiBtZWRpdW0gbm9uZSBjdXJyZW50Y29sb3I7XG4gICAgICAgICAgICAgICAgYm9yZGVyOiBpbml0aWFsO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogaW5pdGlhbDtcbiAgICAgICAgICAgIH1cblxuLyogdGhpcyBzZWxlY3RvciByZXByZXNlbnRzIHdoYXQgd2lsbCBiZWNvbWUgYSBwaWxsXG4gICAgICAgIG5iIGRlc3BpdGUgdGhlcmUgYmVpbmcgbXhfVXNlclBpbGwgYW5kIG14X1Jvb21QaWxsIGNsYXNzZXMgYXBwZW5kZWQgdG8gdGhlc2UgcGlsbHNcbiAgICAgICAgaW4gdGhlIGN1cnJlbnQgY29tcG9zZXIsIHRoZXJlIGRvbid0IGFwcGVhciB0byBiZSBhbnkgc3R5bGVzIGFzc29jaWF0ZWQgd2l0aCB0aG9zZSBjbGFzc2VzXG4gICAgICAgIGluIHRoaXMgcmVwbyAqL1xuXG4ubXhfV3lzaXd5Z0NvbXBvc2VyX0VkaXRvcl9jb250YWluZXIgLm14X1d5c2l3eWdDb21wb3Nlcl9FZGl0b3JfY29udGVudCBhW2RhdGEtbWVudGlvbi10eXBlXSB7XG4gICAgICAgICAgICAvKiBjb21iaW5lIG14X1BpbGwgZnJvbSBfUGlsbC5wY3NzICovXG4gICAgICAgICAgICBwYWRkaW5nOiAwLjA2MjVyZW0gMC40ZW07XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS4wNjI1cmVtO1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMXJlbTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICAgICAgICAgIC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgICAgICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1jcGQtY29sb3ItdGV4dC1vbi1zb2xpZC1wcmltYXJ5KTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW90aGVyLXVzZXItcGlsbC1iZy1jb2xvciwgdmFyKC0tY3BkLWNvbG9yLWJnLWFjdGlvbi1wcmltYXJ5LXJlc3QpKTtcblxuICAgICAgICAgICAgLyogLi4ud2l0aCB0aGUgb3ZlcnJpZGVzIGZyb20gX0Jhc2ljTWVzc2FnZUNvbXBvc2VyLnBjc3MgKi9cbiAgICAgICAgICAgIC13ZWJraXQtdXNlci1zZWxlY3Q6IGFsbDtcbiAgICAgICAgICAgICAgIC1tb3otdXNlci1zZWxlY3Q6IGFsbDtcbiAgICAgICAgICAgICAgICAgICAgdXNlci1zZWxlY3Q6IGFsbDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIGN1cnNvcjogaW5oZXJpdDsgLyogV2UgZG9uJ3Qgd2FudCBpbmRpY2F0ZSBjbGlja2FiaWxpdHkgKi9cbiAgICAgICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgfVxuXG4vKiBhdmF0YXIgcHNldWRvIGVsZW1lbnQgKi9cblxuLm14X1d5c2l3eWdDb21wb3Nlcl9FZGl0b3JfY29udGFpbmVyIC5teF9XeXNpd3lnQ29tcG9zZXJfRWRpdG9yX2NvbnRlbnQgYVtkYXRhLW1lbnRpb24tdHlwZV06OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgLyogQWZ0ZXIgY29uc29saWRhdGlvbiwgYWxsIG9mIHRoZSBzdHlsaW5nIGZyb20gX1BpbGwuc2NzcyB3YXMgYmVpbmcgb3ZlcnJpZGRlbixcbiAgICAgICAgICAgICAgICBzbyB0YWtlIHdoYXQgaXMgaW4gX0Jhc2ljTWVzc2FnZUNvbXBvc2VyLnBjc3MgYXMgdGhlIHN0YXJ0aW5nIHBvaW50ICovXG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IHZhcigtLWF2YXRhci1sZXR0ZXIpO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWF2YXRhci1iYWNrZ3JvdW5kKSwgdmFyKC0tdGltZWxpbmUtYmFja2dyb3VuZC1jb2xvcik7XG5cbiAgICAgICAgICAgICAgICB3aWR0aDogMXJlbTtcbiAgICAgICAgICAgICAgICBtaW4td2lkdGg6IDFyZW07IC8qIGVuc3VyZSB0aGUgYXZhdGFyIGlzIG5vdCBjb21wcmVzc2VkICovXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxcmVtO1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxcmVtO1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICAgICAgICAgICAgIC8qIEdldCB0aGUgcG9zaXRpb25pbmcgb2YgdGhlIGF2YXRhciBqdXN0IHJpZ2h0IGZvciBjb25zaXN0ZW5jeSB3aXRoIHRpbWVsaW5lICovXG4gICAgICAgICAgICAgICAgLXdlYmtpdC1tYXJnaW4tc3RhcnQ6IC0wLjRyZW07XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4taW5saW5lLXN0YXJ0OiAtMC40cmVtO1xuICAgICAgICAgICAgICAgIC13ZWJraXQtbWFyZ2luLWVuZDogMC4yNHJlbTtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1pbmxpbmUtZW5kOiAwLjI0cmVtO1xuICAgICAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiAwLjEycmVtO1xuXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDFyZW07XG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMXJlbTtcblxuICAgICAgICAgICAgICAgIGNvbG9yOiAjZmZmZmZmO1xuXG4gICAgICAgICAgICAgICAgY29sb3I6IHZhcigtLWF2YXRhci1jb2xvciwgI2ZmZmZmZik7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAwLjYyNzVyZW07XG4gICAgICAgICAgICB9XG5cbi5teF9XeXNpd3lnQ29tcG9zZXJfRWRpdG9yX2NvbnRhaW5lciAubXhfV3lzaXd5Z0NvbXBvc2VyX0VkaXRvcl9jb250ZW50X3BsYWNlaG9sZGVyOjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiB2YXIoLS1wbGFjZWhvbGRlcik7XG4gICAgICAgIHdpZHRoOiAwO1xuICAgICAgICBoZWlnaHQ6IDA7XG4gICAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICBjb2xvcjogdmFyKC0tY3BkLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTtcbiAgICB9XG5cbi5teF9XeXNpd3lnQ29tcG9zZXJfQXV0b0NvbXBsZXRlV3JhcHBlciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4vKiBEdWUgdG8gdGhlIGZhY3QgdGhhdCBlZGl0aW5nIGEgbWVzc2FnZSBub3cgaGFzIGEgbGFyZ2VyIGFtb3VudCBvZiBncmV5XG4gICAgY29sb3VyIGFib3ZlIGl0IChkdWUgdG8gdGhlIHJpY2ggdGV4dCBidXR0b25zIGFib3ZlIHRoZSBjb21wb3NlciksIHdlIG5lZWRcbiAgICB0byBnaXZlIHRoZSBhdXRvY29tcGxldGUgYSBiaXQgbW9yZSB2aXN1YWwgc2VwYXJhdGlvbiBieSB1c2luZyBhIGJvcmRlci5cbiAgICAqL1xuXG4ubXhfV3lzaXd5Z0NvbXBvc2VyX0F1dG9Db21wbGV0ZVdyYXBwZXIgPiAubXhfQXV0b2NvbXBsZXRlIHtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgIzZmNzg4MjtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tcXVpbmFyeS1jb250ZW50LCAjNmY3ODgyKTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4O1xuICAgIH1cblxuLypcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxuQ29weXJpZ2h0IDIwMjIgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cblxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuKi9cblxuLm14X0Zvcm1hdHRpbmdCdXR0b25zIHtcbiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIC13ZWJraXQtYm94LXBhY2s6IHN0YXJ0O1xuICAgICAgICAtbXMtZmxleC1wYWNrOiBzdGFydDtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICBnYXA6IDhweDtcbn1cblxuLm14X0Zvcm1hdHRpbmdCdXR0b25zIC5teF9Gb3JtYXR0aW5nQnV0dG9uc19CdXR0b24ge1xuICAgICAgICAtLXNpemU6IDI4cHg7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgaGVpZ2h0OiAyOHB4O1xuICAgICAgICBoZWlnaHQ6IHZhcigtLXNpemUpO1xuICAgICAgICB3aWR0aDogMjhweDtcbiAgICAgICAgd2lkdGg6IHZhcigtLXNpemUpO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgICAgICAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIC13ZWJraXQtYm94LXBhY2s6IGNlbnRlcjtcbiAgICAgICAgICAgIC1tcy1mbGV4LXBhY2s6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNXB4O1xuICAgIH1cblxuLm14X0Zvcm1hdHRpbmdCdXR0b25zIC5teF9Gb3JtYXR0aW5nQnV0dG9uc19CdXR0b25faG92ZXI6aG92ZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tcGFuZWxzLCB2YXIoLS1jcGQtY29sb3ItZ3JheS02MDApKTtcbiAgICAgICAgfVxuXG4ubXhfRm9ybWF0dGluZ0J1dHRvbnMgLm14X0Zvcm1hdHRpbmdCdXR0b25zX0J1dHRvbl9ob3Zlcjpob3ZlciAubXhfRm9ybWF0dGluZ0J1dHRvbnNfSWNvbiB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICNlZGYzZmY7XG4gICAgICAgICAgICAgICAgY29sb3I6IHZhcigtLXNlY29uZGFyeS1jb250ZW50LCAjZWRmM2ZmKTtcbiAgICAgICAgICAgIH1cblxuLm14X0Zvcm1hdHRpbmdCdXR0b25zIC5teF9Gb3JtYXR0aW5nQnV0dG9uc19hY3RpdmUge1xuICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1hY2NlbnQtY29sb3ItMzAwKTtcbiAgICB9XG5cbi5teF9Gb3JtYXR0aW5nQnV0dG9ucyAubXhfRm9ybWF0dGluZ0J1dHRvbnNfYWN0aXZlIC5teF9Gb3JtYXR0aW5nQnV0dG9uc19JY29uIHtcbiAgICAgICAgICAgIGNvbG9yOiAjMGRiZDhiO1xuICAgICAgICAgICAgY29sb3I6IHZhcigtLWFjY2VudC1jb2xvciwgIzBkYmQ4Yik7XG4gICAgICAgIH1cblxuLm14X0Zvcm1hdHRpbmdCdXR0b25zIC5teF9Gb3JtYXR0aW5nQnV0dG9uc19kaXNhYmxlZCAubXhfRm9ybWF0dGluZ0J1dHRvbnNfSWNvbiB7XG4gICAgICAgICAgICBjb2xvcjogIzZmNzg4MjtcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1xdWluYXJ5LWNvbnRlbnQsICM2Zjc4ODIpO1xuICAgICAgICB9XG5cbi5teF9Gb3JtYXR0aW5nQnV0dG9ucyAubXhfRm9ybWF0dGluZ0J1dHRvbnNfSWNvbiB7XG4gICAgICAgIC0tc2l6ZTogMTZweDtcbiAgICAgICAgaGVpZ2h0OiAxNnB4O1xuICAgICAgICBoZWlnaHQ6IHZhcigtLXNpemUpO1xuICAgICAgICB3aWR0aDogMTZweDtcbiAgICAgICAgd2lkdGg6IHZhcigtLXNpemUpO1xuICAgICAgICBjb2xvcjogI2VkZjNmZjtcbiAgICAgICAgY29sb3I6IHZhcigtLXRlcnRpYXJ5LWNvbnRlbnQsICNlZGYzZmYpO1xuICAgIH1cblxuLm14X0Zvcm1hdHRpbmdCdXR0b25zX1Rvb2x0aXBfS2V5Ym9hcmRTaG9ydGN1dCBrYmQge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBJbnRlciwgc2Fucy1zZXJpZjtcbiAgICB9XG5cbi8qXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cbkNvcHlyaWdodCAyMDIyIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXG5cblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cbiovXG5cbi5teF9MaW5rTW9kYWwge1xuICAgIHBhZGRpbmc6IDMycHg7XG4gICAgbWF4LXdpZHRoOiA2MDBweDtcbiAgICBoZWlnaHQ6IDM0MXB4O1xuICAgIC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gICAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xuICAgIC13ZWJraXQtYm94LWRpcmVjdGlvbjogbm9ybWFsO1xuICAgICAgICAtbXMtZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG59XG5cbi5teF9MaW5rTW9kYWwgLm14X0xpbmtNb2RhbF9jb250ZW50IHtcbiAgICAgICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gICAgICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xuICAgICAgICAtd2Via2l0LWJveC1kaXJlY3Rpb246IG5vcm1hbDtcbiAgICAgICAgICAgIC1tcy1mbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIC13ZWJraXQtYm94LWZsZXg6IDE7XG4gICAgICAgICAgICAtbXMtZmxleDogMTtcbiAgICAgICAgICAgICAgICBmbGV4OiAxO1xuICAgICAgICBnYXA6IDhweDtcbiAgICAgICAgbWFyZ2luLXRvcDogN3B4O1xuICAgIH1cblxuLm14X0xpbmtNb2RhbCAubXhfTGlua01vZGFsX2NvbnRlbnQgLm14X0xpbmtNb2RhbF9GaWVsZCB7XG4gICAgICAgICAgICAtd2Via2l0LWJveC1mbGV4OiBpbml0aWFsO1xuICAgICAgICAgICAgICAgIC1tcy1mbGV4OiBpbml0aWFsO1xuICAgICAgICAgICAgICAgICAgICBmbGV4OiBpbml0aWFsO1xuICAgICAgICAgICAgaGVpZ2h0OiA0MHB4O1xuICAgICAgICB9XG5cbi5teF9MaW5rTW9kYWwgLm14X0xpbmtNb2RhbF9jb250ZW50IC5teF9MaW5rTW9kYWxfYnV0dG9ucyB7XG4gICAgICAgICAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgICAgICAgICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIC13ZWJraXQtYm94LWZsZXg6IDE7XG4gICAgICAgICAgICAgICAgLW1zLWZsZXg6IDE7XG4gICAgICAgICAgICAgICAgICAgIGZsZXg6IDE7XG4gICAgICAgICAgICAtd2Via2l0LWJveC1hbGlnbjogZW5kO1xuICAgICAgICAgICAgICAgIC1tcy1mbGV4LWFsaWduOiBlbmQ7XG4gICAgICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgICAgICAgfVxuXG4ubXhfTGlua01vZGFsIC5teF9MaW5rTW9kYWxfY29udGVudCAubXhfTGlua01vZGFsX2J1dHRvbnMgLm14X0RpYWxvZ19idXR0b25zIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICB9XG5cbi8qXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cbkNvcHlyaWdodCAyMDE5LCAyMDIwIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXG5cblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cbiovXG5cbi5teF9BdmF0YXJTZXR0aW5nX2F2YXRhciB7XG4gICAgd2lkdGg6IDkwcHg7XG4gICAgbWluLXdpZHRoOiA5MHB4OyAvKiBzbyBpdCBkb2Vzbid0IGdldCBjcnVzaGVkIGJ5IHRoZSBmbGV4Ym94IGluIGxhbmd1YWdlcyB3aXRoIGxvbmdlciB3b3JkcyAqL1xuICAgIGhlaWdodDogOTBweDtcbiAgICBtYXJnaW4tdG9wOiA4cHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4ubXhfQXZhdGFyU2V0dGluZ19hdmF0YXIubXhfQXZhdGFyU2V0dGluZ19hdmF0YXJEaXNwbGF5OmhvdmVyIC5teF9BdmF0YXJTZXR0aW5nX2hvdmVyIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG5cbi5teF9BdmF0YXJTZXR0aW5nX2F2YXRhciA+ICoge1xuICAgICAgICAtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICB9XG5cbi5teF9BdmF0YXJTZXR0aW5nX2F2YXRhciAubXhfQWNjZXNzaWJsZUJ1dHRvbi5teF9BY2Nlc3NpYmxlQnV0dG9uX2tpbmRfcHJpbWFyeSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDhweDtcbiAgICB9XG5cbi5teF9BdmF0YXJTZXR0aW5nX2F2YXRhciAubXhfQWNjZXNzaWJsZUJ1dHRvbi5teF9BY2Nlc3NpYmxlQnV0dG9uX2tpbmRfbGlua19zbSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuLm14X0F2YXRhclNldHRpbmdfYXZhdGFyID4gaW1nIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGhlaWdodDogOTBweDtcbiAgICAgICAgd2lkdGg6IGluaGVyaXQ7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDkwcHg7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgLW8tb2JqZWN0LWZpdDogY292ZXI7XG4gICAgICAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgIH1cblxuLm14X0F2YXRhclNldHRpbmdfYXZhdGFyIC5teF9BdmF0YXJTZXR0aW5nX3VwbG9hZEJ1dHRvbiB7XG4gICAgICAgIHdpZHRoOiAyOHB4O1xuICAgICAgICBoZWlnaHQ6IDI4cHg7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDMycHg7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNwZC1jb2xvci1iZy1jYW52YXMtZGVmYXVsdCk7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNwZC1jb2xvci1iZy1jYW52YXMtZGVmYXVsdCk7XG5cbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB9XG5cbi5teF9BdmF0YXJTZXR0aW5nX2F2YXRhciAubXhfQXZhdGFyU2V0dGluZ191cGxvYWRCdXR0b24gc3ZnIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIHRvcDogM3B4O1xuICAgICAgICB9XG5cbi5teF9BdmF0YXJTZXR0aW5nX2F2YXRhciAubXhfQXZhdGFyU2V0dGluZ191cGxvYWRCdXR0b246aG92ZXIsXG4gICAgLm14X0F2YXRhclNldHRpbmdfYXZhdGFyIC5teF9BdmF0YXJTZXR0aW5nX3VwbG9hZEJ1dHRvbl9hY3RpdmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jcGQtY29sb3ItYmctc3VidGxlLXByaW1hcnkpO1xuICAgIH1cblxuLm14X0F2YXRhclNldHRpbmdfcmVtb3ZlTWVudUl0ZW0gc3ZnLFxuLm14X0F2YXRhclNldHRpbmdfcmVtb3ZlTWVudUl0ZW0gc3BhbiB7XG4gICAgY29sb3I6IHZhcigtLWNwZC1jb2xvci10ZXh0LWNyaXRpY2FsLXByaW1hcnkpICFpbXBvcnRhbnQ7XG59XG5cbi8qXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cbkNvcHlyaWdodCAyMDE5IFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXG5cblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cbiovXG5cbi5teF9Dcm9zc1NpZ25pbmdQYW5lbF9zdGF0dXNMaXN0IHtcbiAgICBib3JkZXItc3BhY2luZzogMDtcbn1cblxuLm14X0Nyb3NzU2lnbmluZ1BhbmVsX3N0YXR1c0xpc3QgdGgge1xuICAgICAgICB0ZXh0LWFsaWduOiBzdGFydDtcbiAgICB9XG5cbi5teF9Dcm9zc1NpZ25pbmdQYW5lbF9zdGF0dXNMaXN0IHRkLFxuICAgIC5teF9Dcm9zc1NpZ25pbmdQYW5lbF9zdGF0dXNMaXN0IHRoIHtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICB9XG5cbi5teF9Dcm9zc1NpZ25pbmdQYW5lbF9zdGF0dXNMaXN0IHRkOmZpcnN0LW9mLXR5cGUsIC5teF9Dcm9zc1NpZ25pbmdQYW5lbF9zdGF0dXNMaXN0IHRoOmZpcnN0LW9mLXR5cGUge1xuICAgICAgICAgICAgLXdlYmtpdC1wYWRkaW5nLWVuZDogMWVtO1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWlubGluZS1lbmQ6IDFlbTtcbiAgICAgICAgfVxuXG4ubXhfQ3Jvc3NTaWduaW5nUGFuZWxfYnV0dG9uUm93IHtcbiAgICBtYXJnaW46IDFlbSAwO1xufVxuXG4ubXhfQ3Jvc3NTaWduaW5nUGFuZWxfYnV0dG9uUm93IDpudGgtY2hpbGQobiArIDEpIHtcbiAgICAgICAgLXdlYmtpdC1tYXJnaW4tZW5kOiAxMHB4O1xuICAgICAgICAgICAgICAgIG1hcmdpbi1pbmxpbmUtZW5kOiAxMHB4O1xuICAgIH1cblxuLm14X0Nyb3NzU2lnbmluZ1BhbmVsX2FkdmFuY2VkIHtcbiAgICB3aWR0aDogLXdlYmtpdC1maXQtY29udGVudDtcbiAgICB3aWR0aDogLW1vei1maXQtY29udGVudDtcbiAgICB3aWR0aDogZml0LWNvbnRlbnQ7XG59XG5cbi8qXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cbkNvcHlyaWdodCAyMDIzIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXG5cblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cbiovXG5cbi5teF9DcnlwdG9ncmFwaHlQYW5lbF9zZXNzaW9uSW5mbyB7XG4gICAgcGFkZGluZzogMGVtO1xuICAgIGJvcmRlci1zcGFjaW5nOiAwcHg7XG59XG5cbi5teF9DcnlwdG9ncmFwaHlQYW5lbF9zZXNzaW9uSW5mbyA+IHRyIHtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG4gICAgcGFkZGluZzogMGVtO1xufVxuXG4ubXhfQ3J5cHRvZ3JhcGh5UGFuZWxfc2Vzc2lvbkluZm8gPiB0ciB0aCB7XG4gICAgICAgIHRleHQtYWxpZ246IHN0YXJ0O1xuICAgIH1cblxuLm14X0NyeXB0b2dyYXBoeVBhbmVsX3Nlc3Npb25JbmZvID4gdHIgdGQsXG4gICAgLm14X0NyeXB0b2dyYXBoeVBhbmVsX3Nlc3Npb25JbmZvID4gdHIgdGgge1xuICAgICAgICBwYWRkaW5nOiAwIDFlbSAwIDA7XG4gICAgfVxuXG4ubXhfQ3J5cHRvZ3JhcGh5UGFuZWxfaW1wb3J0RXhwb3J0QnV0dG9ucyB7XG4gICAgZGlzcGxheTogLXdlYmtpdC1pbmxpbmUtYm94O1xuICAgIGRpc3BsYXk6IC1tcy1pbmxpbmUtZmxleGJveDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAtbXMtZmxleC1mbG93OiB3cmFwO1xuICAgICAgICBmbGV4LWZsb3c6IHdyYXA7XG4gICAgcm93LWdhcDogOHB4O1xuICAgIC13ZWJraXQtY29sdW1uLWdhcDogOHB4O1xuICAgICAgIC1tb3otY29sdW1uLWdhcDogOHB4O1xuICAgICAgICAgICAgY29sdW1uLWdhcDogOHB4O1xufVxuXG4vKlxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXG5Db3B5cmlnaHQgMjAyMSBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxuXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXG4qL1xuXG4ubXhfRm9udFNjYWxpbmdQYW5lbF9wcmV2aWV3IHtcbiAgICAtLUZvbnRTY2FsaW5nUGFuZWxfcHJldmlldy1wYWRkaW5nLWJsb2NrOiA5cHg7XG5cbiAgICBib3JkZXI6IDFweCBzb2xpZCAjNmY3ODgyO1xuXG4gICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tcXVpbmFyeS1jb250ZW50LCAjNmY3ODgyKTtcbiAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICAgIHBhZGRpbmc6IDAgMTZweCA5cHggMTZweDtcbiAgICBwYWRkaW5nOiAwIDE2cHggdmFyKC0tRm9udFNjYWxpbmdQYW5lbF9wcmV2aWV3LXBhZGRpbmctYmxvY2spIDE2cHg7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgZGlzcGxheTogZmxvdy1yb290O1xufVxuXG4ubXhfRm9udFNjYWxpbmdQYW5lbF9wcmV2aWV3Lm14X0lSQ0xheW91dCB7XG4gICAgICAgIHBhZGRpbmctdG9wOiA5cHg7XG4gICAgfVxuXG4ubXhfRm9udFNjYWxpbmdQYW5lbF9wcmV2aWV3IC5teF9FdmVudFRpbGVbZGF0YS1sYXlvdXQ9XCJidWJibGVcIl0ge1xuICAgICAgICBtYXJnaW4tdG9wOiAzMHB4O1xuICAgIH1cblxuLm14X0ZvbnRTY2FsaW5nUGFuZWxfcHJldmlldyAubXhfRXZlbnRUaWxlX21zZ09wdGlvbiB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4ubXhfRm9udFNjYWxpbmdQYW5lbF9Ecm9wZG93biB7XG4gICAgd2lkdGg6IDEyMHB4O1xuICAgIC8qIE92ZXJyaWRlIGRlZmF1bHQgbXhfRmllbGQgbWFyZ2luICovXG4gICAgbWFyZ2luLWJvdHRvbTogdmFyKC0tY3BkLXNwYWNlLTJ4KSAhaW1wb3J0YW50O1xufVxuXG4vKlxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXG5Db3B5cmlnaHQgMjAyMSBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxuXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXG4qL1xuXG4ubXhfSW1hZ2VTaXplUGFuZWxfcmFkaW9zIHtcbiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIC13ZWJraXQtYm94LW9yaWVudDogaG9yaXpvbnRhbDtcbiAgICAtd2Via2l0LWJveC1kaXJlY3Rpb246IG5vcm1hbDtcbiAgICAgICAgLW1zLWZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIGdhcDogMTZweDtcbn1cblxuLm14X0ltYWdlU2l6ZVBhbmVsX3JhZGlvcyA+IGxhYmVsIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiA2OHB4OyAvKiBrZWVwIHRoZSBib3hlcyBzZXBhcmF0ZSAqL1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgfVxuXG4ubXhfSW1hZ2VTaXplUGFuZWxfcmFkaW9zIC5teF9JbWFnZVNpemVQYW5lbF9zaXplIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzZmNzg4MjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcXVpbmFyeS1jb250ZW50LCAjNmY3ODgyKTtcbiAgICAgICAgLXdlYmtpdC1tYXNrLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgICAgICAgIG1hc2stcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgIC13ZWJraXQtbWFzay1zaXplOiAyMjFweDtcbiAgICAgICAgICAgICAgICBtYXNrLXNpemU6IDIyMXB4O1xuICAgICAgICAtd2Via2l0LW1hc2stcG9zaXRpb246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBtYXNrLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICAgIHdpZHRoOiAyMjFweDtcbiAgICAgICAgaGVpZ2h0OiAxNDhweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTRweDsgLyogbW92ZSByYWRpbyBidXR0b24gYXdheSBmcm9tIGJvdHRvbSBlZGdlIGEgYml0ICovXG4gICAgfVxuXG4ubXhfSW1hZ2VTaXplUGFuZWxfcmFkaW9zIC5teF9JbWFnZVNpemVQYW5lbF9zaXplLm14X0ltYWdlU2l6ZVBhbmVsX3NpemVEZWZhdWx0IHtcbiAgICAgICAgICAgIC13ZWJraXQtbWFzazogdXJsKFwiLi4vLi4vLi4vaW1nL2VsZW1lbnQtaWNvbnMvc2V0dGluZ3MvaW1nLXNpemUtbm9ybWFsLnN2Z1wiKTtcbiAgICAgICAgICAgICAgICAgICAgbWFzazogdXJsKFwiLi4vLi4vLi4vaW1nL2VsZW1lbnQtaWNvbnMvc2V0dGluZ3MvaW1nLXNpemUtbm9ybWFsLnN2Z1wiKTtcbiAgICAgICAgfVxuXG4ubXhfSW1hZ2VTaXplUGFuZWxfcmFkaW9zIC5teF9JbWFnZVNpemVQYW5lbF9zaXplLm14X0ltYWdlU2l6ZVBhbmVsX3NpemVMYXJnZSB7XG4gICAgICAgICAgICAtd2Via2l0LW1hc2s6IHVybChcIi4uLy4uLy4uL2ltZy9lbGVtZW50LWljb25zL3NldHRpbmdzL2ltZy1zaXplLWxhcmdlLnN2Z1wiKTtcbiAgICAgICAgICAgICAgICAgICAgbWFzazogdXJsKFwiLi4vLi4vLi4vaW1nL2VsZW1lbnQtaWNvbnMvc2V0dGluZ3MvaW1nLXNpemUtbGFyZ2Uuc3ZnXCIpO1xuICAgICAgICB9XG5cbi8qXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cbkNvcHlyaWdodCAyMDE1LCAyMDE2IE9wZW5NYXJrZXQgTHRkXG5cblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cbiovXG5cbi5teF9JbnRlZ3JhdGlvbk1hbmFnZXIgLm14X0RpYWxvZ19ib3JkZXIge1xuICAgICAgICAtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgd2lkdGg6IDYwJTtcbiAgICAgICAgaGVpZ2h0OiA3MCU7XG4gICAgICAgIG1heC13aWR0aDogbm9uZTtcbiAgICAgICAgbWF4LXdpZHRoOiBpbml0aWFsO1xuICAgICAgICBtYXgtaGVpZ2h0OiBub25lO1xuICAgICAgICBtYXgtaGVpZ2h0OiBpbml0aWFsO1xuICAgIH1cblxuLm14X0ludGVncmF0aW9uTWFuYWdlciAubXhfRGlhbG9nIHtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB9XG5cbi5teF9JbnRlZ3JhdGlvbk1hbmFnZXIgaWZyYW1lIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgIH1cblxuLm14X0ludGVncmF0aW9uTWFuYWdlciBoMyB7XG4gICAgICAgIG1hcmdpbi1ibG9jazogMjBweDtcbiAgICB9XG5cbi5teF9JbnRlZ3JhdGlvbk1hbmFnZXIgLm14X0ludGVncmF0aW9uTWFuYWdlcl9sb2FkaW5nLFxuICAgIC5teF9JbnRlZ3JhdGlvbk1hbmFnZXIgLm14X0ludGVncmF0aW9uTWFuYWdlcl9lcnJvciB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG5cbi5teF9JbnRlZ3JhdGlvbk1hbmFnZXIgLm14X0ludGVncmF0aW9uTWFuYWdlcl9lcnJvciBoMyB7XG4gICAgICAgIGNvbG9yOiAjZmY1YjU1O1xuICAgICAgICBjb2xvcjogdmFyKC0tYWxlcnQsICNmZjViNTUpO1xuICAgIH1cblxuLypcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxuQ29weXJpZ2h0IDIwMjEgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cblxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuKi9cblxuLm14X0pvaW5SdWxlU2V0dGluZ3NfdXBncmFkZVJlcXVpcmVkIHtcbiAgICBtYXJnaW4tbGVmdDogMTZweDtcbiAgICBwYWRkaW5nOiA0cHggMTZweDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjMGRiZDhiO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWFjY2VudC1jb2xvciwgIzBkYmQ4Yik7XG4gICAgYm9yZGVyLXJhZGl1czogOHB4O1xuICAgIGNvbG9yOiAjMGRiZDhiO1xuICAgIGNvbG9yOiB2YXIoLS1hY2NlbnQtY29sb3IsICMwZGJkOGIpO1xuICAgIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgICBsaW5lLWhlaWdodDogMC45Mzc1cmVtO1xufVxuXG4ubXhfSm9pblJ1bGVTZXR0aW5nc19zcGFjZXNXaXRoQWNjZXNzID4gaDQge1xuICAgICAgICBjb2xvcjogI2VkZjNmZjtcbiAgICAgICAgY29sb3I6IHZhcigtLXNlY29uZGFyeS1jb250ZW50LCAjZWRmM2ZmKTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLWNwZC1mb250LXdlaWdodC1zZW1pYm9sZCk7XG4gICAgICAgIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICB9XG5cbi5teF9Kb2luUnVsZVNldHRpbmdzX3NwYWNlc1dpdGhBY2Nlc3MgPiBzcGFuIHtcbiAgICAgICAgZm9udDogdmFyKC0tY3BkLWZvbnQtYm9keS1tZC1tZWRpdW0pO1xuICAgICAgICBsaW5lLWhlaWdodDogMzJweDsgLyogbWF0Y2hlcyBoZWlnaHQgb2YgYXZhdGFyIGZvciB2LWFsaWduICovXG4gICAgICAgIGNvbG9yOiAjZWRmM2ZmO1xuICAgICAgICBjb2xvcjogdmFyKC0tc2Vjb25kYXJ5LWNvbnRlbnQsICNlZGYzZmYpO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgfVxuXG4ubXhfSm9pblJ1bGVTZXR0aW5nc19zcGFjZXNXaXRoQWNjZXNzID4gc3BhbiAubXhfQmFzZUF2YXRhciB7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDhweDtcbiAgICAgICAgfVxuXG4ubXhfSm9pblJ1bGVTZXR0aW5nc19zcGFjZXNXaXRoQWNjZXNzID4gc3BhbiArIHNwYW4ge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDE2cHg7XG4gICAgICAgIH1cblxuLm14X0pvaW5SdWxlU2V0dGluZ3NfcmFkaW9CdXR0b24ge1xuICAgIHBhZGRpbmctdG9wOiAxNnB4O1xufVxuXG4ubXhfSm9pblJ1bGVTZXR0aW5nc19yYWRpb0J1dHRvbiAubXhfU3R5bGVkUmFkaW9CdXR0b25fY29udGVudCB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAxNHB4O1xuICAgICAgICBmb250LXdlaWdodDogdmFyKC0tY3BkLWZvbnQtd2VpZ2h0LXNlbWlib2xkKTtcbiAgICAgICAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjVyZW07XG4gICAgICAgIGNvbG9yOiB2YXIoLS10aW1lbGluZS10ZXh0LWNvbG9yKTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4ubXhfSm9pblJ1bGVTZXR0aW5nc19yYWRpb0J1dHRvbiArIHNwYW4ge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAzNHB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxNnB4O1xuICAgICAgICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNXJlbTtcbiAgICAgICAgY29sb3I6ICNlZGYzZmY7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1zZWNvbmRhcnktY29udGVudCwgI2VkZjNmZik7XG4gICAgfVxuXG4ubXhfSm9pblJ1bGVTZXR0aW5nc19yYWRpb0J1dHRvbiArIHNwYW4gKyAubXhfU3R5bGVkUmFkaW9CdXR0b24ge1xuICAgICAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICM2Zjc4ODI7XG4gICAgICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tcXVpbmFyeS1jb250ZW50LCAjNmY3ODgyKTtcbiAgICAgICAgfVxuXG4ubXhfSm9pblJ1bGVTZXR0aW5nc19sYWJlbGxlZENoZWNrYm94IHtcbiAgICBmb250OiB2YXIoLS1jcGQtZm9udC1ib2R5LW1kLXJlZ3VsYXIpO1xuICAgIG1hcmdpbi10b3A6IHZhcigtLWNwZC1zcGFjZS0yeCk7XG59XG5cbi8qXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cbkNvcHlyaWdodCAyMDIxIMWgaW1vbiBCcmFuZG5lciA8c2ltb24uYnJhLmFnQGdtYWlsLmNvbT5cbkNvcHlyaWdodCAyMDIwIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXG5cblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cbiovXG5cbi5teF9LZXlib2FyZFNob3J0Y3V0IGtiZCB7XG4gICAgICAgIHBhZGRpbmc6IDVweDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS10aW1lbGluZS1iYWNrZ3JvdW5kLWNvbG9yKTtcbiAgICAgICAgbWluLXdpZHRoOiAyMHB4O1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI2M3YzdjNztcbiAgICAgICAgLXdlYmtpdC1ib3gtc2hhZG93OiAwIDJweCAjYzdjN2M3O1xuICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgMnB4ICNjN2M3Yzc7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplO1xuICAgIH1cblxuLypcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxuQ29weXJpZ2h0IDIwMjEgxaBpbW9uIEJyYW5kbmVyIDxzaW1vbi5icmEuYWdAZ21haWwuY29tPlxuQ29weXJpZ2h0IDIwMjAsIDIwMjEgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cblxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuKi9cblxuLm14X0xheW91dFN3aXRjaGVyX0xheW91dFNlbGVjdG9yIHtcbiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWw7XG4gICAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiBub3JtYWw7XG4gICAgICAgIC1tcy1mbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAvKipcbiAgICAgKiBUaGUgc2V0dGluZ3MgZm9ybSBoYXMgYSBkZWZhdWx0IGdhcCBvZiAxMHB4XG4gICAgICogV2Ugd2FudCB0byBoYXZlIGEgYmlnZ2VyIGdhcCBiZXR3ZWVuIHRoZSBsYXlvdXQgb3B0aW9uc1xuICAgICAqL1xuICAgIGdhcDogdmFyKC0tY3BkLXNwYWNlLTR4KSAhaW1wb3J0YW50O1xufVxuXG4ubXhfTGF5b3V0U3dpdGNoZXJfTGF5b3V0U2VsZWN0b3IgLm14TGF5b3V0U3dpdGNoZXJfTGF5b3V0U2VsZWN0b3JfTGF5b3V0UmFkaW8ge1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jcGQtY29sb3ItYm9yZGVyLWludGVyYWN0aXZlLXByaW1hcnkpO1xuICAgICAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1jcGQtc3BhY2UtMngpO1xuICAgIH1cblxuLm14X0xheW91dFN3aXRjaGVyX0xheW91dFNlbGVjdG9yIC5teExheW91dFN3aXRjaGVyX0xheW91dFNlbGVjdG9yX0xheW91dFJhZGlvIC5teExheW91dFN3aXRjaGVyX0xheW91dFNlbGVjdG9yX0xheW91dFJhZGlvX2lubGluZSB7XG4gICAgICAgICAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgICAgICAgICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIC8qXG4gICAgICAgICAgICAgKiAxMHB4XG4gICAgICAgICAgICAgKi9cbiAgICAgICAgICAgIGdhcDogY2FsYyh2YXIoLS1jcGQtc3BhY2UtMngpICsgdmFyKC0tY3BkLXNwYWNlLTAtNXgpKTtcbiAgICAgICAgICAgIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgfVxuXG4ubXhfTGF5b3V0U3dpdGNoZXJfTGF5b3V0U2VsZWN0b3IgLm14TGF5b3V0U3dpdGNoZXJfTGF5b3V0U2VsZWN0b3JfTGF5b3V0UmFkaW8gLm14TGF5b3V0U3dpdGNoZXJfTGF5b3V0U2VsZWN0b3JfTGF5b3V0UmFkaW9faW5saW5lLFxuICAgICAgICAubXhfTGF5b3V0U3dpdGNoZXJfTGF5b3V0U2VsZWN0b3IgLm14TGF5b3V0U3dpdGNoZXJfTGF5b3V0U2VsZWN0b3JfTGF5b3V0UmFkaW8gLm14TGF5b3V0U3dpdGNoZXJfTGF5b3V0U2VsZWN0b3JfTGF5b3V0UmFkaW9fRXZlbnRUaWxlUHJldmlldyB7XG4gICAgICAgICAgICBtYXJnaW46IHZhcigtLWNwZC1zcGFjZS0zeCk7XG4gICAgICAgIH1cblxuLyoqXG4gICAgICAgICAqIE92ZXJyaWRlIHRoZSBldmVudCB0aWxlIHN0eWxlIHRvIG1ha2UgaXQgZml0IGluIHRoZSBzZWxlY3RvclxuICAgICAgICAgKiBUd2VhayBhbHNvIGhvdmVyIHN0eWxlIGFuZCByZW1vdmUgYWN0aW9uIGJhclxuICAgICAgICAgKi9cblxuLm14X0xheW91dFN3aXRjaGVyX0xheW91dFNlbGVjdG9yIC5teExheW91dFN3aXRjaGVyX0xheW91dFNlbGVjdG9yX0xheW91dFJhZGlvIC5teExheW91dFN3aXRjaGVyX0xheW91dFNlbGVjdG9yX0xheW91dFJhZGlvX0V2ZW50VGlsZVByZXZpZXcge1xuICAgICAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICAgIH1cblxuLm14X0xheW91dFN3aXRjaGVyX0xheW91dFNlbGVjdG9yIC5teExheW91dFN3aXRjaGVyX0xheW91dFNlbGVjdG9yX0xheW91dFJhZGlvIC5teExheW91dFN3aXRjaGVyX0xheW91dFNlbGVjdG9yX0xheW91dFJhZGlvX0V2ZW50VGlsZVByZXZpZXcgLm14X0V2ZW50VGlsZSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgfVxuXG4vKipcbiAgICAgICAgICAgICAgICAgKiBIaWRlIHRoZSBtZXNzYWdlIG9wdGlvbnMgYW5kIG1lc3NhZ2UgYWN0aW9uIGJhciBpbiB0aGUgcHJldmlld1xuICAgICAgICAgICAgICAgICAqL1xuXG4ubXhfTGF5b3V0U3dpdGNoZXJfTGF5b3V0U2VsZWN0b3IgLm14TGF5b3V0U3dpdGNoZXJfTGF5b3V0U2VsZWN0b3JfTGF5b3V0UmFkaW8gLm14TGF5b3V0U3dpdGNoZXJfTGF5b3V0U2VsZWN0b3JfTGF5b3V0UmFkaW9fRXZlbnRUaWxlUHJldmlldyAubXhfRXZlbnRUaWxlIC5teF9FdmVudFRpbGVfbXNnT3B0aW9uLFxuICAgICAgICAgICAgICAgIC5teF9MYXlvdXRTd2l0Y2hlcl9MYXlvdXRTZWxlY3RvciAubXhMYXlvdXRTd2l0Y2hlcl9MYXlvdXRTZWxlY3Rvcl9MYXlvdXRSYWRpbyAubXhMYXlvdXRTd2l0Y2hlcl9MYXlvdXRTZWxlY3Rvcl9MYXlvdXRSYWRpb19FdmVudFRpbGVQcmV2aWV3IC5teF9FdmVudFRpbGUgLm14X01lc3NhZ2VBY3Rpb25CYXIge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgIH1cblxuLm14X0xheW91dFN3aXRjaGVyX0xheW91dFNlbGVjdG9yIC5teExheW91dFN3aXRjaGVyX0xheW91dFNlbGVjdG9yX0xheW91dFJhZGlvIC5teExheW91dFN3aXRjaGVyX0xheW91dFNlbGVjdG9yX0xheW91dFJhZGlvX0V2ZW50VGlsZVByZXZpZXcgLm14X0V2ZW50VGlsZSAubXhfRXZlbnRUaWxlX2NvbnRlbnQge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgfVxuXG4ubXhfTGF5b3V0U3dpdGNoZXJfTGF5b3V0U2VsZWN0b3IgLm14TGF5b3V0U3dpdGNoZXJfTGF5b3V0U2VsZWN0b3JfTGF5b3V0UmFkaW8gLm14TGF5b3V0U3dpdGNoZXJfTGF5b3V0U2VsZWN0b3JfTGF5b3V0UmFkaW9fRXZlbnRUaWxlUHJldmlldyAubXhfRXZlbnRUaWxlW2RhdGEtbGF5b3V0PVwiZ3JvdXBcIl0ge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiBjYWxjKHZhcigtLWNwZC1zcGFjZS0zeCkgKiAtMSk7XG4gICAgICAgICAgICAgICAgfVxuXG4vKipcbiAgICAgICAgICAgICAgICAgKiBBZGQgbWFyZ2luIHRvIGNlbnRlciB0aGUgYnViYmxlXG4gICAgICAgICAgICAgICAgICovXG5cbi5teF9MYXlvdXRTd2l0Y2hlcl9MYXlvdXRTZWxlY3RvciAubXhMYXlvdXRTd2l0Y2hlcl9MYXlvdXRTZWxlY3Rvcl9MYXlvdXRSYWRpbyAubXhMYXlvdXRTd2l0Y2hlcl9MYXlvdXRTZWxlY3Rvcl9MYXlvdXRSYWRpb19FdmVudFRpbGVQcmV2aWV3IC5teF9FdmVudFRpbGVbZGF0YS1sYXlvdXQ9XCJidWJibGVcIl0ge1xuICAgICAgICAgICAgICAgICAgICAvKipcbiAgICAgICAgICAgICAgICAgICAgICogQWRkIHRoZSBsYXlvdXQgbWFyZ2luIGFuZCB0aGUgbWFyZ2luIHRvIHZlcnRpY2FsbHkgY2VudGVyIHRoZSBidWJibGVcbiAgICAgICAgICAgICAgICAgICAgICovXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IHZhcigtLWNwZC1zcGFjZS02eCk7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMzRweDtcbiAgICAgICAgICAgICAgICAgICAgLW1zLWZsZXgtbmVnYXRpdmU6IDE7XG4gICAgICAgICAgICAgICAgICAgICAgICBmbGV4LXNocmluazogMTtcbiAgICAgICAgICAgICAgICB9XG5cbi5teF9MYXlvdXRTd2l0Y2hlcl9MYXlvdXRTZWxlY3RvciAubXhMYXlvdXRTd2l0Y2hlcl9MYXlvdXRTZWxlY3Rvcl9MYXlvdXRSYWRpbyAubXhMYXlvdXRTd2l0Y2hlcl9MYXlvdXRTZWxlY3Rvcl9MYXlvdXRSYWRpb19FdmVudFRpbGVQcmV2aWV3IC5teF9FdmVudFRpbGUgLm14X0V2ZW50VGlsZV9saW5lIHtcbiAgICAgICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIH1cblxuLm14X0xheW91dFN3aXRjaGVyX0xheW91dFNlbGVjdG9yIC5teExheW91dFN3aXRjaGVyX0xheW91dFNlbGVjdG9yX0xheW91dFJhZGlvIC5teExheW91dFN3aXRjaGVyX0xheW91dFNlbGVjdG9yX0xheW91dFJhZGlvX3NlcGFyYXRvciB7XG4gICAgICAgICAgICBib3JkZXItdG9wOiAwO1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWNwZC1jb2xvci1ib3JkZXItaW50ZXJhY3RpdmUtc2Vjb25kYXJ5KTtcbiAgICAgICAgfVxuXG4vKlxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXG5Db3B5cmlnaHQgMjAyMyBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxuXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXG4qL1xuXG4ubXhfTm90aWZpY2F0aW9uUHVzaGVyU2V0dGluZ3MgLm14X05vdGlmaWNhdGlvblB1c2hlclNldHRpbmdzX2Rlc2NyaXB0aW9uIHtcbiAgICAgICAgY29sb3I6IHZhcigtLXRpbWVsaW5lLXRleHQtY29sb3IpO1xuICAgIH1cblxuLm14X05vdGlmaWNhdGlvblB1c2hlclNldHRpbmdzIC5teF9Ob3RpZmljYXRpb25QdXNoZXJTZXR0aW5nc19kZXRhaWwge1xuICAgICAgICBtYXJnaW4tdG9wOiAtNHB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxMnB4O1xuICAgIH1cblxuLypcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxuQ29weXJpZ2h0IDIwMjMgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cblxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuKi9cblxuLm14X05vdGlmaWNhdGlvblNldHRpbmdzMiAubXhfU2V0dGluZ3NTZWN0aW9uX3N1YlNlY3Rpb25zIHtcbiAgICAgICAgY29sb3I6IHZhcigtLXRpbWVsaW5lLXRleHQtY29sb3IpO1xuICAgICAgICBnYXA6IDMycHg7XG4gICAgICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICAgICAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcbiAgICAgICAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiBub3JtYWw7XG4gICAgICAgICAgICAtbXMtZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIH1cblxuLm14X05vdGlmaWNhdGlvblNldHRpbmdzMiAubXhfU2V0dGluZ3NTdWJzZWN0aW9uX2Rlc2NyaXB0aW9uIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICB9XG5cbi5teF9Ob3RpZmljYXRpb25TZXR0aW5nczIgLm14X1NldHRpbmdzU3Vic2VjdGlvbl9kZXNjcmlwdGlvbiAubXhfU2V0dGluZ3NTdWJzZWN0aW9uX3RleHQge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxLjJyZW07XG4gICAgICAgIH1cblxuLm14X05vdGlmaWNhdGlvblNldHRpbmdzMiAubXhfU2V0dGluZ3NTdWJzZWN0aW9uX2Rlc2NyaXB0aW9uIC5teF9TZXR0aW5nc1N1YnNlY3Rpb25fdGV4dCAubXhfTm90aWZpY2F0aW9uQmFkZ2Uge1xuICAgICAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiAtd2Via2l0LWlubGluZS1ib3g7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogLW1zLWlubGluZS1mbGV4Ym94O1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMCAycHg7XG4gICAgICAgICAgICB9XG5cbi5teF9Ob3RpZmljYXRpb25TZXR0aW5nczIgLm14X1NldHRpbmdzU3Vic2VjdGlvbl9jb250ZW50IHtcbiAgICAgICAgbWFyZ2luLXRvcDogMTJweDtcbiAgICAgICAgZ3JpZC1nYXA6IDEycHg7XG4gICAgICAgIGp1c3RpZnktaXRlbXM6IHN0cmV0Y2g7XG4gICAgICAgIC13ZWJraXQtYm94LXBhY2s6IHN0cmV0Y2g7XG4gICAgICAgICAgICAtbXMtZmxleC1wYWNrOiBzdHJldGNoO1xuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3RyZXRjaDtcbiAgICB9XG5cbi5teF9Ob3RpZmljYXRpb25TZXR0aW5nczIgLm14X1NldHRpbmdzQmFubmVyIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMzJweDtcbiAgICB9XG5cbi5teF9Ob3RpZmljYXRpb25TZXR0aW5nczIgLm14X05vdGlmaWNhdGlvblNldHRpbmdzMl9mbGFncyB7XG4gICAgICAgIGdyaWQtZ2FwOiA0cHg7XG4gICAgfVxuXG4ubXhfTm90aWZpY2F0aW9uU2V0dGluZ3MyIC5teF9TdHlsZWRSYWRpb0J1dHRvbl9jb250ZW50IHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDEwcHg7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMTBweDtcbiAgICB9XG5cbi5teF9Ob3RpZmljYXRpb25TZXR0aW5nczIgLm14X1RhZ0NvbXBvc2VyIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMTZweDtcbiAgICB9XG5cbi5teF9Ob3RpZmljYXRpb25TZXR0aW5nczIgLm14X1RhZ0NvbXBvc2VyLm14X1RhZ0NvbXBvc2VyX2Rpc2FibGVkIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDAuNztcbiAgICAgICAgfVxuXG4ubXhfTm90aWZpY2F0aW9uU2V0dGluZ3MyIC5teF9UYWdDb21wb3NlciAubXhfVGFnQ29tcG9zZXJfdGFncyB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAxNnB4O1xuICAgICAgICAgICAgZ2FwOiA4cHg7XG4gICAgICAgIH1cblxuLm14X05vdGlmaWNhdGlvblNldHRpbmdzMiAubXhfVGFnQ29tcG9zZXIgLm14X1RhZ0NvbXBvc2VyX3RhZ3MgLm14X1RhZyB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMThweDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiA2cHggMTJweDtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1yb29tbGlzdC1oaWdobGlnaHRzLWNvbG9yKTtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICB9XG5cbi5teF9Ob3RpZmljYXRpb25TZXR0aW5nczIgLm14X1RhZ0NvbXBvc2VyIC5teF9UYWdDb21wb3Nlcl90YWdzIC5teF9UYWcgLm14X1RhZ19kZWxldGUge1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAjZWRmM2ZmO1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS10ZXJ0aWFyeS1jb250ZW50LCAjZWRmM2ZmKTtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgICAgICAgICAgICAgIC1tcy1mbGV4LWl0ZW0tYWxpZ246IGluaXRpYWw7XG4gICAgICAgICAgICAgICAgICAgICAgICBhbGlnbi1zZWxmOiBpbml0aWFsO1xuICAgICAgICAgICAgICAgIH1cblxuLypcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxuQ29weXJpZ2h0IDIwMTUtMjAyMSBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxuXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXG4qL1xuXG4ubXhfVXNlck5vdGlmU2V0dGluZ3NfZ3JpZCB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSArIDEycHgpOyAvKiArMTJweCB0byBsaW5lIHVwIGNlbnRlciBvZiAnTm9pc3knIGNvbHVtbiB3aXRoIHRvZ2dsZSBzd2l0Y2hlcyAqL1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBhdXRvIHJlcGVhdCgzLCA2MnB4KTtcbiAgICBwbGFjZS1pdGVtczogY2VudGVyIGNlbnRlcjtcbiAgICBncmlkLWdhcDogOHB4O1xufVxuXG4vKiBPdmVycmlkZSBTdHlsZWRSYWRpb0J1dHRvbiBkZWZhdWx0IHN0eWxlcyAqL1xuXG4ubXhfVXNlck5vdGlmU2V0dGluZ3NfZ3JpZCAubXhfU3R5bGVkUmFkaW9CdXR0b24ge1xuICAgICAgICAtd2Via2l0LWJveC1wYWNrOiBjZW50ZXI7XG4gICAgICAgICAgICAtbXMtZmxleC1wYWNrOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgfVxuXG4ubXhfVXNlck5vdGlmU2V0dGluZ3NfZ3JpZCAubXhfU3R5bGVkUmFkaW9CdXR0b24gLm14X1N0eWxlZFJhZGlvQnV0dG9uX2NvbnRlbnQge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuXG4ubXhfVXNlck5vdGlmU2V0dGluZ3NfZ3JpZCAubXhfU3R5bGVkUmFkaW9CdXR0b24gLm14X1N0eWxlZFJhZGlvQnV0dG9uX3NwYWNlciB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG5cbi8qIGxlZnQgYWxpZ24gc2VjdGlvbiBoZWFkaW5nKi9cblxuLm14X1VzZXJOb3RpZlNldHRpbmdzX2dyaWQgLm14X1NldHRpbmdzU3Vic2VjdGlvbkhlYWRpbmcge1xuICAgICAgICBqdXN0aWZ5LXNlbGY6IHN0YXJ0O1xuICAgIH1cblxuLm14X1VzZXJOb3RpZlNldHRpbmdzX2dyaWRSb3dDb250YWluZXIge1xuICAgIGRpc3BsYXk6IGNvbnRlbnRzO1xufVxuXG4ubXhfVXNlck5vdGlmU2V0dGluZ3NfZ3JpZFJvdyB7XG4gICAgZGlzcGxheTogY29udGVudHM7XG59XG5cbi5teF9Vc2VyTm90aWZTZXR0aW5nc19ncmlkUm93TGFiZWwge1xuICAgIGp1c3RpZnktc2VsZjogc3RhcnQ7XG4gICAgLyogPGxlZ2VuZD4gZG9lcyBub3QgYWNjZXB0ICovXG4gICAgLyogZGlzcGxheTogaW5saW5lIHwgaW5saW5lLWJsb2NrICovXG4gICAgLyogZm9yY2UgaXQgaW5saW5lIHVzaW5nIGZsb2F0ICovXG4gICAgZmxvYXQ6IGxlZnQ7XG59XG5cbi5teF9Vc2VyTm90aWZTZXR0aW5nc19ncmlkQ29sdW1uTGFiZWwge1xuICAgIGNvbG9yOiAjZWRmM2ZmO1xuICAgIGNvbG9yOiB2YXIoLS1zZWNvbmRhcnktY29udGVudCwgI2VkZjNmZik7XG4gICAgZm9udDogdmFyKC0tY3BkLWZvbnQtYm9keS1zbS1zZW1pYm9sZCk7XG59XG5cbi5teF9Vc2VyTm90aWZTZXR0aW5nc19ncmlkUm93RXJyb3Ige1xuICAgIC8qIG9jY3VweSBmdWxsIHJvdyAqL1xuICAgIGdyaWQtY29sdW1uOiAxLy0xO1xuICAgIGp1c3RpZnktc2VsZjogc3RhcnQ7XG4gICAgcGFkZGluZy1yaWdodDogMzAlO1xuICAgIC8qIGNvbGxhcHNlIGhhbGYgb2YgdGhlIGdyaWQtZ2FwICovXG4gICAgbWFyZ2luLXRvcDogLTRweDtcbn1cblxuLm14X1VzZXJOb3RpZlNldHRpbmdzX2Zsb2F0aW5nU2VjdGlvbiB7XG4gICAgbWFyZ2luLXRvcDogNDBweDtcbn1cblxuLm14X1VzZXJOb3RpZlNldHRpbmdzX2Zsb2F0aW5nU2VjdGlvbiA+IGRpdjpmaXJzdC1jaGlsZCB7XG4gICAgICAgIC8qIHNlY3Rpb24gaGVhZGVyICovXG4gICAgICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1jcGQtZm9udC13ZWlnaHQtc2VtaWJvbGQpO1xuICAgIH1cblxuLm14X1VzZXJOb3RpZlNldHRpbmdzX2Zsb2F0aW5nU2VjdGlvbiA+IHRhYmxlIHtcbiAgICAgICAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbiAgICAgICAgYm9yZGVyLXNwYWNpbmc6IDA7XG4gICAgICAgIG1hcmdpbi10b3A6IDhweDtcbiAgICB9XG5cbi5teF9Vc2VyTm90aWZTZXR0aW5nc19mbG9hdGluZ1NlY3Rpb24gPiB0YWJsZSB0ciA+IHRkOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgIC8qIEp1c3QgZm9yIGEgYml0IG9mIHNwYWNpbmcgKi9cbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDhweDtcbiAgICAgICAgfVxuXG4ubXhfVXNlck5vdGlmU2V0dGluZ3NfY2xlYXJOb3RpZnNCdXR0b24ge1xuICAgIG1hcmdpbi10b3A6IDhweDtcbn1cblxuLm14X1RhZ0NvbXBvc2VyIHtcbiAgICBtYXJnaW4tdG9wOiAzNXB4OyAvKiBsb3RzIG9mIGRpc3RhbmNlIGZyb20gdGhlIGxhc3QgbGluZSBvZiB0aGUgdGFibGUgKi9cbn1cblxuLm14X0FjY2Vzc2libGVCdXR0b24ubXhfTm90aWZpY2F0aW9uU291bmRfYnJvd3NlIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG59XG5cbi8qXG5Db3B5cmlnaHQgMjAxOS0yMDI0IE5ldyBWZWN0b3IgTHRkLlxuQ29weXJpZ2h0IDIwMTkgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cblxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuKi9cblxuLm14X0dlbmVyYWxVc2VyU2V0dGluZ3NUYWJfc2VjdGlvbi0tZGlzY292ZXJ5X2V4aXN0aW5nX3ZlcmlmaWNhdGlvbiB7XG4gICAgZGlzcGxheTogLXdlYmtpdC1pbmxpbmUtYm94O1xuICAgIGRpc3BsYXk6IC1tcy1pbmxpbmUtZmxleGJveDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO1xuICAgICAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cblxuLm14X0dlbmVyYWxVc2VyU2V0dGluZ3NUYWJfc2VjdGlvbi0tZGlzY292ZXJ5X2V4aXN0aW5nX3ZlcmlmaWNhdGlvbiAubXhfRmllbGQge1xuICAgICAgICBtYXJnaW46IDAgMCAwIDFlbTtcbiAgICB9XG5cbi5teF9QaG9uZU51bWJlcnNfaW5wdXQge1xuICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbi5teF9QaG9uZU51bWJlcnNfaW5wdXQgPiAubXhfRmllbGQge1xuICAgIC13ZWJraXQtYm94LWZsZXg6IDE7XG4gICAgICAgIC1tcy1mbGV4LXBvc2l0aXZlOiAxO1xuICAgICAgICAgICAgZmxleC1ncm93OiAxO1xufVxuXG4ubXhfUGhvbmVOdW1iZXJzX2NvdW50cnkge1xuICAgIHdpZHRoOiA4MHB4O1xufVxuXG4vKlxuICogQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXG4gKiBDb3B5cmlnaHQgMjAyNCBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxuICpcbiAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxuICogUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cbiAqL1xuXG4ubXhfUG93ZXJMZXZlbFNlbGVjdG9yX0J1dHRvbiB7XG4gICAgLW1zLWZsZXgtaXRlbS1hbGlnbjogc3RhcnQ7XG4gICAgICAgIGFsaWduLXNlbGY6IGZsZXgtc3RhcnQ7XG59XG5cbi8qXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cbkNvcHlyaWdodCAyMDE5LCAyMDIwICwgMjAyNCBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxuXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXG4qL1xuXG4ubXhfUm9vbVByb2ZpbGVTZXR0aW5ncyB7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICM2Zjc4ODI7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLXF1aW5hcnktY29udGVudCwgIzZmNzg4Mik7XG59XG5cbi5teF9Sb29tUHJvZmlsZVNldHRpbmdzIC5teF9Sb29tUHJvZmlsZVNldHRpbmdzX3Byb2ZpbGUge1xuICAgICAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgICAgICAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgfVxuXG4ubXhfUm9vbVByb2ZpbGVTZXR0aW5ncyAubXhfUm9vbVByb2ZpbGVTZXR0aW5nc19wcm9maWxlIC5teF9Sb29tUHJvZmlsZVNldHRpbmdzX3Byb2ZpbGVfY29udHJvbHMge1xuICAgICAgICAgICAgLXdlYmtpdC1ib3gtZmxleDogMTtcbiAgICAgICAgICAgICAgICAtbXMtZmxleC1wb3NpdGl2ZTogMTtcbiAgICAgICAgICAgICAgICAgICAgZmxleC1ncm93OiAxO1xuICAgICAgICAgICAgLXdlYmtpdC1tYXJnaW4tZW5kOiA1NHB4O1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4taW5saW5lLWVuZDogNTRweDtcbiAgICAgICAgfVxuXG4ubXhfUm9vbVByb2ZpbGVTZXR0aW5ncyAubXhfUm9vbVByb2ZpbGVTZXR0aW5nc19wcm9maWxlIC5teF9Sb29tUHJvZmlsZVNldHRpbmdzX3Byb2ZpbGVfY29udHJvbHMgLm14X0ZpZWxkIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiA4cHg7XG4gICAgICAgICAgICB9XG5cbi5teF9Sb29tUHJvZmlsZVNldHRpbmdzIC5teF9Sb29tUHJvZmlsZVNldHRpbmdzX3Byb2ZpbGUgLm14X1Jvb21Qcm9maWxlU2V0dGluZ3NfcHJvZmlsZV9jb250cm9scyAubXhfUm9vbVByb2ZpbGVTZXR0aW5nc19wcm9maWxlX2NvbnRyb2xzX3RvcGljIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiA4cHg7XG4gICAgICAgICAgICB9XG5cbi5teF9Sb29tUHJvZmlsZVNldHRpbmdzIC5teF9Sb29tUHJvZmlsZVNldHRpbmdzX3Byb2ZpbGUgLm14X1Jvb21Qcm9maWxlU2V0dGluZ3NfcHJvZmlsZV9jb250cm9scyAubXhfUm9vbVByb2ZpbGVTZXR0aW5nc19wcm9maWxlX2NvbnRyb2xzX3RvcGljID4gdGV4dGFyZWEge1xuICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgICAgICAgICAgICAgICAgICAgcmVzaXplOiB2ZXJ0aWNhbDtcbiAgICAgICAgICAgICAgICB9XG5cbi5teF9Sb29tUHJvZmlsZVNldHRpbmdzIC5teF9Sb29tUHJvZmlsZVNldHRpbmdzX3Byb2ZpbGUgLm14X1Jvb21Qcm9maWxlU2V0dGluZ3NfcHJvZmlsZV9jb250cm9scyAubXhfUm9vbVByb2ZpbGVTZXR0aW5nc19wcm9maWxlX2NvbnRyb2xzX3RvcGljLm14X1Jvb21Qcm9maWxlU2V0dGluZ3NfcHJvZmlsZV9jb250cm9sc190b3BpYy0tcm9vbSB0ZXh0YXJlYSB7XG4gICAgICAgICAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDRlbTtcbiAgICAgICAgICAgICAgICB9XG5cbi5teF9Sb29tUHJvZmlsZVNldHRpbmdzIC5teF9Sb29tUHJvZmlsZVNldHRpbmdzX3Byb2ZpbGUgLm14X1Jvb21Qcm9maWxlU2V0dGluZ3NfcHJvZmlsZV9jb250cm9scyAubXhfUm9vbVByb2ZpbGVTZXR0aW5nc19wcm9maWxlX2NvbnRyb2xzX3VzZXJJZCB7XG4gICAgICAgICAgICAgICAgLXdlYmtpdC1tYXJnaW4tZW5kOiAyMHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWlubGluZS1lbmQ6IDIwcHg7XG4gICAgICAgICAgICB9XG5cbi5teF9Sb29tUHJvZmlsZVNldHRpbmdzIC5teF9Sb29tUHJvZmlsZVNldHRpbmdzX2J1dHRvbnMge1xuICAgICAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgICAgICAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGdhcDogdmFyKC0tY3BkLXNwYWNlLTR4KTtcbiAgICAgICAgbWFyZ2luLXRvcDogMTBweDsgLyogMThweCBpcyBhbHJlYWR5IGFjY291bnRlZCBmb3IgYnkgdGhlIDxwPiBhYm92ZSB0aGUgYnV0dG9ucyAqL1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAyOHB4O1xuICAgIH1cblxuLypcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxuQ29weXJpZ2h0IDIwMTksIDIwMjAgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cbkNvcHlyaWdodCAyMDE4IE5ldyBWZWN0b3IgTHRkXG5cblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cbiovXG5cbi5teF9TZWN1cmVCYWNrdXBQYW5lbF9kZXZpY2VOYW1lIHtcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XG59XG5cbi5teF9TZWN1cmVCYWNrdXBQYW5lbF9idXR0b25Sb3cge1xuICAgIG1hcmdpbjogMWVtIDA7XG4gICAgZGlzcGxheTogLXdlYmtpdC1pbmxpbmUtYm94O1xuICAgIGRpc3BsYXk6IC1tcy1pbmxpbmUtZmxleGJveDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAtbXMtZmxleC1mbG93OiB3cmFwO1xuICAgICAgICBmbGV4LWZsb3c6IHdyYXA7XG4gICAgcm93LWdhcDogMTBweDtcbn1cblxuLm14X1NlY3VyZUJhY2t1cFBhbmVsX2J1dHRvblJvdyA6bnRoLWNoaWxkKG4gKyAxKSB7XG4gICAgICAgIC13ZWJraXQtbWFyZ2luLWVuZDogMTBweDtcbiAgICAgICAgICAgICAgICBtYXJnaW4taW5saW5lLWVuZDogMTBweDtcbiAgICB9XG5cbi5teF9TZWN1cmVCYWNrdXBQYW5lbF9zdGF0dXNMaXN0IHtcbiAgICBib3JkZXItc3BhY2luZzogMDtcbn1cblxuLm14X1NlY3VyZUJhY2t1cFBhbmVsX3N0YXR1c0xpc3QgdGgge1xuICAgICAgICB0ZXh0LWFsaWduOiBzdGFydDtcbiAgICB9XG5cbi5teF9TZWN1cmVCYWNrdXBQYW5lbF9zdGF0dXNMaXN0IHRkLFxuICAgIC5teF9TZWN1cmVCYWNrdXBQYW5lbF9zdGF0dXNMaXN0IHRoIHtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICB9XG5cbi5teF9TZWN1cmVCYWNrdXBQYW5lbF9zdGF0dXNMaXN0IHRkOmZpcnN0LW9mLXR5cGUsIC5teF9TZWN1cmVCYWNrdXBQYW5lbF9zdGF0dXNMaXN0IHRoOmZpcnN0LW9mLXR5cGUge1xuICAgICAgICAgICAgLXdlYmtpdC1wYWRkaW5nLWVuZDogMWVtO1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWlubGluZS1lbmQ6IDFlbTtcbiAgICAgICAgfVxuXG4ubXhfU2VjdXJlQmFja3VwUGFuZWxfYWR2YW5jZWQge1xuICAgIHdpZHRoOiAtd2Via2l0LWZpdC1jb250ZW50O1xuICAgIHdpZHRoOiAtbW96LWZpdC1jb250ZW50O1xuICAgIHdpZHRoOiBmaXQtY29udGVudDtcbn1cblxuLypcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxuQ29weXJpZ2h0IDIwMTktMjAyMyBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxuXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXG4qL1xuXG4ubXhfU2V0SWRTZXJ2ZXIge1xuICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcbiAgICAtd2Via2l0LWJveC1kaXJlY3Rpb246IG5vcm1hbDtcbiAgICAgICAgLW1zLWZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIC13ZWJraXQtYm94LWFsaWduOiBzdGFydDtcbiAgICAgICAgLW1zLWZsZXgtYWxpZ246IHN0YXJ0O1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgZ2FwOiA4cHg7XG59XG5cbi5teF9TZXRJZFNlcnZlciAubXhfRmllbGQge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgIH1cblxuLm14X1NldElkU2VydmVyX3Rvb2x0aXAge1xuICAgIG1heC13aWR0aDogdmFyKC0tU2V0dGluZ3NUYWJfdG9vbHRpcC1tYXgtd2lkdGgpO1xufVxuXG4vKlxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXG5Db3B5cmlnaHQgMjAxOSBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxuXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXG4qL1xuXG4ubXhfU2V0SW50ZWdyYXRpb25NYW5hZ2VyIC5teF9TZXR0aW5nc0ZsYWcge1xuICAgICAgICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIH1cblxuLm14X1NldEludGVncmF0aW9uTWFuYWdlciAubXhfU2V0dGluZ3NGbGFnIC5teF9TZXRJbnRlZ3JhdGlvbk1hbmFnZXJfaGVhZGluZ19tYW5hZ2VyIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICAgICAgICAgICAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgLW1zLWZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgICAgICAtd2Via2l0LWNvbHVtbi1nYXA6IDRweDtcbiAgICAgICAgICAgICAgIC1tb3otY29sdW1uLWdhcDogNHB4O1xuICAgICAgICAgICAgICAgICAgICBjb2x1bW4tZ2FwOiA0cHg7XG4gICAgICAgIH1cblxuLm14X1NldEludGVncmF0aW9uTWFuYWdlciAubXhfU2V0dGluZ3NGbGFnIC5teF9Ub2dnbGVTd2l0Y2gge1xuICAgICAgICAgICAgLW1zLWZsZXgtaXRlbS1hbGlnbjogc3RhcnQ7XG4gICAgICAgICAgICAgICAgYWxpZ24tc2VsZjogZmxleC1zdGFydDtcbiAgICAgICAgICAgIG1pbi13aWR0aDogdmFyKC0tVG9nZ2xlU3dpdGNoLW1pbi13aWR0aCk7IC8qIGF2b2lkIGNvbXByZXNzaW9uICovXG4gICAgICAgIH1cblxuLypcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxuQ29weXJpZ2h0IDIwMjEgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cblxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuKi9cblxuLm14X1NldHRpbmdzRmllbGRzZXQge1xuICAgIC13ZWJraXQtYm94LXNpemluZzogY29udGVudC1ib3g7XG4gICAgICAgICAgICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbn1cblxuLm14X1NldHRpbmdzRmllbGRzZXRfbGVnZW5kIHtcbiAgICBmb250OiB2YXIoLS1jcGQtZm9udC1oZWFkaW5nLW1kLXNlbWlib2xkKTtcbiAgICBmb250LXdlaWdodDogdmFyKC0tY3BkLWZvbnQtd2VpZ2h0LXNlbWlib2xkKTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBjb2xvcjogdmFyKC0tdGltZWxpbmUtdGV4dC1jb2xvcik7XG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICBtYXJnaW4tdG9wOiAxMnB4O1xufVxuXG4ubXhfU2V0dGluZ3NGaWVsZHNldF9kZXNjcmlwdGlvbiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xufVxuXG4ubXhfU2V0dGluZ3NGaWVsZHNldF9kZXNjcmlwdGlvbiBwIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMTBweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG5cbi5teF9TZXR0aW5nc0ZpZWxkc2V0X2Rlc2NyaXB0aW9uIHA6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB9XG5cbi5teF9TZXR0aW5nc0ZpZWxkc2V0X2NvbnRlbnQge1xuICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcbiAgICAtd2Via2l0LWJveC1kaXJlY3Rpb246IG5vcm1hbDtcbiAgICAgICAgLW1zLWZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGdhcDogOHB4O1xufVxuXG4vKlxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXG5Db3B5cmlnaHQgMjAyMSDFoGltb24gQnJhbmRuZXIgPHNpbW9uLmJyYS5hZ0BnbWFpbC5jb20+XG5cblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cbiovXG5cbi5teF9FeGlzdGluZ1NwZWxsQ2hlY2tMYW5ndWFnZSB7XG4gICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gICAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO1xuICAgICAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cblxuLm14X0V4aXN0aW5nU3BlbGxDaGVja0xhbmd1YWdlX2xhbmd1YWdlIHtcbiAgICAtd2Via2l0LWJveC1mbGV4OiAxO1xuICAgICAgICAtbXMtZmxleDogMTtcbiAgICAgICAgICAgIGZsZXg6IDE7XG4gICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xufVxuXG4ubXhfR2VuZXJhbFVzZXJTZXR0aW5nc1RhYl9zcGVsbENoZWNrTGFuZ3VhZ2VJbnB1dCB7XG4gICAgbWFyZ2luLWJvdHRvbTogOHB4O1xufVxuXG4vKlxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXG5Db3B5cmlnaHQgMjAyMSBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxuXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXG4qL1xuXG4ubXhfVGhlbWVDaG9pY2VQYW5lbF9UaGVtZVNlbGVjdG9ycyB7XG4gICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gICAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICAtbXMtZmxleC13cmFwOiB3cmFwO1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgLyogT3ZlcnJpZGUgZm9ybSBkZWZhdWx0IHN0eWxlICovXG4gICAgLXdlYmtpdC1ib3gtb3JpZW50OiBob3Jpem9udGFsICFpbXBvcnRhbnQ7XG4gICAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiBub3JtYWwgIWltcG9ydGFudDtcbiAgICAgICAgLW1zLWZsZXgtZGlyZWN0aW9uOiByb3cgIWltcG9ydGFudDtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3cgIWltcG9ydGFudDtcbiAgICBnYXA6IHZhcigtLWNwZC1zcGFjZS00eCkgIWltcG9ydGFudDtcbn1cblxuLm14X1RoZW1lQ2hvaWNlUGFuZWxfVGhlbWVTZWxlY3RvcnMgLm14X1RoZW1lQ2hvaWNlUGFuZWxfdGhlbWVTZWxlY3RvciB7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNwZC1jb2xvci1ib3JkZXItaW50ZXJhY3RpdmUtc2Vjb25kYXJ5KTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogdmFyKC0tY3BkLXNwYWNlLTEtNXgpO1xuICAgICAgICBwYWRkaW5nOiB2YXIoLS1jcGQtc3BhY2UtM3gpIHZhcigtLWNwZC1zcGFjZS01eCkgdmFyKC0tY3BkLXNwYWNlLTN4KSB2YXIoLS1jcGQtc3BhY2UtM3gpO1xuICAgICAgICBnYXA6IHZhcigtLWNwZC1zcGFjZS0yeCk7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNwZC1jb2xvci1iZy1jYW52YXMtZGVmYXVsdCk7XG4gICAgfVxuXG4ubXhfVGhlbWVDaG9pY2VQYW5lbF9UaGVtZVNlbGVjdG9ycyAubXhfVGhlbWVDaG9pY2VQYW5lbF90aGVtZVNlbGVjdG9yLm14X1RoZW1lQ2hvaWNlUGFuZWxfdGhlbWVTZWxlY3Rvcl9lbmFibGVkIHtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0tY3BkLWNvbG9yLWJvcmRlci1pbnRlcmFjdGl2ZS1wcmltYXJ5KTtcbiAgICAgICAgfVxuXG4ubXhfVGhlbWVDaG9pY2VQYW5lbF9UaGVtZVNlbGVjdG9ycyAubXhfVGhlbWVDaG9pY2VQYW5lbF90aGVtZVNlbGVjdG9yLm14X1RoZW1lQ2hvaWNlUGFuZWxfdGhlbWVTZWxlY3Rvcl9kaXNhYmxlZCB7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6IHZhcigtLWNwZC1jb2xvci1ib3JkZXItZGlzYWJsZWQpO1xuICAgICAgICB9XG5cbi5teF9UaGVtZUNob2ljZVBhbmVsX1RoZW1lU2VsZWN0b3JzIC5teF9UaGVtZUNob2ljZVBhbmVsX3RoZW1lU2VsZWN0b3IgLm14X1RoZW1lQ2hvaWNlUGFuZWxfdGhlbWVTZWxlY3Rvcl9MYWJlbCB7XG4gICAgICAgICAgICBjb2xvcjogdmFyKC0tY3BkLWNvbG9yLXRleHQtcHJpbWFyeSk7XG4gICAgICAgICAgICBmb250OiB2YXIoLS1jcGQtZm9udC1ib2R5LW1kLXNlbWlib2xkKTtcbiAgICAgICAgfVxuXG4ubXhfVGhlbWVDaG9pY2VQYW5lbF9DdXN0b21UaGVtZSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gICAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xuICAgIC13ZWJraXQtYm94LWRpcmVjdGlvbjogbm9ybWFsO1xuICAgICAgICAtbXMtZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZ2FwOiB2YXIoLS1jcGQtc3BhY2UtNHgpO1xufVxuXG4ubXhfVGhlbWVDaG9pY2VQYW5lbF9DdXN0b21UaGVtZSAubXhfVGhlbWVDaG9pY2VQYW5lbF9DdXN0b21UaGVtZV9FZGl0SW5QbGFjZSBpbnB1dDpmb2N1cyB7XG4gICAgICAgIC8qXG4gICAgICAgICAqIFdoZW4gdGhlIGlucHV0IGlzIGZvY3VzZWQsIHRoZSBib3JkZXIgaXMgZ3Jvd2luZ1xuICAgICAgICAgKiBXZSBuZWVkIHRvIG1vdmUgaXQgYSBiaXQgdG8gYXZvaWQgdGhlIGxlZnQgYm9yZGVyIHRvIGJlIHVuZGVyIHRoZSBsZWZ0IHBhbmVsXG4gICAgICAgICAqL1xuICAgICAgICBtYXJnaW4tbGVmdDogdmFyKC0tY3BkLXNwYWNlLTAtNXgpO1xuICAgIH1cblxuLm14X1RoZW1lQ2hvaWNlUGFuZWxfQ3VzdG9tVGhlbWUgLm14X1RoZW1lQ2hvaWNlUGFuZWxfQ3VzdG9tVGhlbWVMaXN0IHtcbiAgICAgICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gICAgICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xuICAgICAgICAtd2Via2l0LWJveC1kaXJlY3Rpb246IG5vcm1hbDtcbiAgICAgICAgICAgIC1tcy1mbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGdhcDogdmFyKC0tY3BkLXNwYWNlLTR4KTtcbiAgICAgICAgLypcbiAgICAgICAgICogT3ZlcnJpZGUgdGhlIGRlZmF1bHQgcGFkZGluZy9tYXJnaW4gb2YgdGhlIGxpc3RcbiAgICAgICAgICovXG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICB9XG5cbi5teF9UaGVtZUNob2ljZVBhbmVsX0N1c3RvbVRoZW1lIC5teF9UaGVtZUNob2ljZVBhbmVsX0N1c3RvbVRoZW1lTGlzdCAubXhfVGhlbWVDaG9pY2VQYW5lbF9DdXN0b21UaGVtZUxpc3RfdGhlbWUge1xuICAgICAgICAgICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gICAgICAgICAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAtd2Via2l0LWJveC1wYWNrOiBqdXN0aWZ5O1xuICAgICAgICAgICAgICAgIC1tcy1mbGV4LXBhY2s6IGp1c3RpZnk7XG4gICAgICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgICAgIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNwZC1jb2xvci1ncmF5LTIwMCk7XG4gICAgICAgICAgICBwYWRkaW5nOiB2YXIoLS1jcGQtc3BhY2UtMngpIHZhcigtLWNwZC1zcGFjZS0yeCkgdmFyKC0tY3BkLXNwYWNlLTJ4KSB2YXIoLS1jcGQtc3BhY2UtNHgpO1xuICAgICAgICB9XG5cbi5teF9UaGVtZUNob2ljZVBhbmVsX0N1c3RvbVRoZW1lIC5teF9UaGVtZUNob2ljZVBhbmVsX0N1c3RvbVRoZW1lTGlzdCAubXhfVGhlbWVDaG9pY2VQYW5lbF9DdXN0b21UaGVtZUxpc3RfdGhlbWUgLm14X1RoZW1lQ2hvaWNlUGFuZWxfQ3VzdG9tVGhlbWVMaXN0X25hbWUge1xuICAgICAgICAgICAgICAgIGZvbnQ6IHZhcigtLWNwZC1mb250LWJvZHktc20tc2VtaWJvbGQpO1xuICAgICAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgICAgIH1cblxuLypcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxuQ29weXJpZ2h0IDIwMjAgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cblxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuKi9cblxuLm14X1VwZGF0ZUNoZWNrQnV0dG9uX3N1bW1hcnkge1xuICAgIG1hcmdpbi1sZWZ0OiAxNnB4O1xufVxuXG4vKlxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXG5Db3B5cmlnaHQgMjAxOSwgMjAyMCAsIDIwMjQgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cblxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuKi9cblxuLm14X1VzZXJQcm9maWxlU2V0dGluZ3Mge1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjNmY3ODgyO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1xdWluYXJ5LWNvbnRlbnQsICM2Zjc4ODIpO1xufVxuXG4ubXhfVXNlclByb2ZpbGVTZXR0aW5ncyAubXhfVXNlclByb2ZpbGVTZXR0aW5nc19wcm9maWxlIHtcbiAgICAgICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gICAgICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBtYXJnaW4tdG9wOiB2YXIoLS1jcGQtc3BhY2UtNngpO1xuICAgICAgICBnYXA6IDE2cHg7XG4gICAgfVxuXG4ubXhfVXNlclByb2ZpbGVTZXR0aW5ncyAubXhfVXNlclByb2ZpbGVTZXR0aW5nc19wcm9maWxlIC5teF9Vc2VyUHJvZmlsZVNldHRpbmdzX3Byb2ZpbGVfZGlzcGxheU5hbWUge1xuICAgICAgICAgICAgLXdlYmtpdC1ib3gtZmxleDogMTtcbiAgICAgICAgICAgICAgICAtbXMtZmxleC1wb3NpdGl2ZTogMTtcbiAgICAgICAgICAgICAgICAgICAgZmxleC1ncm93OiAxO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBnYXA6IDA7XG4gICAgICAgIH1cblxuLm14X1VzZXJQcm9maWxlU2V0dGluZ3MgLm14X1VzZXJQcm9maWxlU2V0dGluZ3NfcHJvZmlsZV9jb250cm9scyB7XG4gICAgICAgIC13ZWJraXQtYm94LWZsZXg6IDE7XG4gICAgICAgICAgICAtbXMtZmxleC1wb3NpdGl2ZTogMTtcbiAgICAgICAgICAgICAgICBmbGV4LWdyb3c6IDE7XG4gICAgfVxuXG4ubXhfVXNlclByb2ZpbGVTZXR0aW5ncyAubXhfVXNlclByb2ZpbGVTZXR0aW5nc19wcm9maWxlX2NvbnRyb2xzX3VzZXJJZCB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtYXJnaW4tdG9wOiB2YXIoLS1jcGQtc3BhY2UtNHgpO1xuICAgIH1cblxuLm14X1VzZXJQcm9maWxlU2V0dGluZ3MgLm14X1VzZXJQcm9maWxlU2V0dGluZ3NfcHJvZmlsZV9jb250cm9sc191c2VySWQgLm14X0NvcHlhYmxlVGV4dCB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiB2YXIoLS1jcGQtc3BhY2UtMXgpO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgICAgICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIH1cblxuLm14X1VzZXJQcm9maWxlU2V0dGluZ3MgLm14X1VzZXJQcm9maWxlU2V0dGluZ3NfcHJvZmlsZV9jb250cm9sc191c2VySWRfbGFiZWwge1xuICAgICAgICBmb250LXNpemU6IDE1cHg7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgfVxuXG4ubXhfVXNlclByb2ZpbGVTZXR0aW5ncyAubXhfVXNlclByb2ZpbGVTZXR0aW5nc19wcm9maWxlX2J1dHRvbnMge1xuICAgICAgICBtYXJnaW4tdG9wOiB2YXIoLS1jcGQtc3BhY2UtOHgpO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS1jcGQtc3BhY2UtOHgpO1xuICAgIH1cblxuLm14X1VzZXJQcm9maWxlU2V0dGluZ3MgLm14X1VzZXJQcm9maWxlU2V0dGluZ3NfYWNjb3VudG1hbmFnZUljb24ge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IHZhcigtLWNwZC1zcGFjZS0yeCk7XG4gICAgfVxuXG5AbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgICAubXhfVXNlclByb2ZpbGVTZXR0aW5nc19wcm9maWxlIHtcbiAgICAgICAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcbiAgICAgICAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiBub3JtYWw7XG4gICAgICAgICAgICAtbXMtZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBnYXA6IDMwcHg7XG4gICAgfVxufVxuXG4vKlxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXG5Db3B5cmlnaHQgMjAyMyBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxuXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXG4qL1xuXG4ubXhfU2V0dGluZ3NCYW5uZXIge1xuICAgIGJhY2tncm91bmQ6ICMyMTI2MmM7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tc3lzdGVtLCAjMjEyNjJjKTtcbiAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgcGFkZGluZzogMTJweCAxNnB4O1xuICAgIGdhcDogMTJweDtcbiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIC13ZWJraXQtYm94LW9yaWVudDogaG9yaXpvbnRhbDtcbiAgICAtd2Via2l0LWJveC1kaXJlY3Rpb246IG5vcm1hbDtcbiAgICAgICAgLW1zLWZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG4ubXhfU2V0dGluZ3NCYW5uZXIgLm14X1NldHRpbmdzQmFubmVyX2NvbnRlbnQge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgfVxuXG4ubXhfU2V0dGluZ3NCYW5uZXIgLm14X0FjY2Vzc2libGVCdXR0b24ge1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIH1cblxuLypcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxuQ29weXJpZ2h0IDIwMjMgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cblxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuKi9cblxuLm14X1NldHRpbmdzSW5kZW50IHtcbiAgICBwYWRkaW5nLWxlZnQ6IDE2cHg7XG4gICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gICAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xuICAgIC13ZWJraXQtYm94LWRpcmVjdGlvbjogbm9ybWFsO1xuICAgICAgICAtbXMtZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZ2FwOiAxMnB4O1xufVxuXG4vKlxuQ29weXJpZ2h0IDIwMjMsIDIwMjQgTmV3IFZlY3RvciBMdGQuXG5cblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cbiovXG5cbi5teF9TZXR0aW5nc1NlY3Rpb24ge1xuICAgIC0tU2V0dGluZ3NUYWJfc2VjdGlvbi1tYXJnaW4tYm90dG9tLXByZWZlcmVuY2VzLWxhYnM6IDMwcHg7XG4gICAgLS1TZXR0aW5nc1RhYl9oZWFkaW5nX250aF9jaGlsZC1tYXJnaW4tdG9wOiAzMHB4O1xuICAgIC0tU2V0dGluZ3NUYWJfdG9vbHRpcC1tYXgtd2lkdGg6IDIwcHg7IC8qIFNvIGl0IGZpdHMgaW4gdGhlIHNwYWNlIHByb3ZpZGVkIGJ5IHRoZSBwYWdlICovXG5cbiAgICBjb2xvcjogdmFyKC0tdGltZWxpbmUtdGV4dC1jb2xvcik7XG59XG5cbi5teF9TZXR0aW5nc1NlY3Rpb24gYSB7XG4gICAgICAgIGNvbG9yOiAjMDA4NmU2O1xuICAgICAgICBjb2xvcjogdmFyKC0tbGlua3MsICMwMDg2ZTYpO1xuICAgIH1cblxuLm14X1NldHRpbmdzU2VjdGlvbl9zdWJTZWN0aW9ucyB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IG1pbm1heCgwLCAxZnIpO1xuICAgIGdyaWQtZ2FwOiAzMnB4O1xuXG4gICAgcGFkZGluZzogMTZweCAwO1xufVxuXG4vKlxuQ29weXJpZ2h0IDIwMTktMjAyNCBOZXcgVmVjdG9yIEx0ZC5cblxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuKi9cblxuLm14X1NldHRpbmdzVGFiIHtcbiAgICAtLVNldHRpbmdzVGFiX3Rvb2x0aXAtbWF4LXdpZHRoOiAxMjBweDsgLyogU28gaXQgZml0cyBpbiB0aGUgc3BhY2UgcHJvdmlkZWQgYnkgdGhlIHBhZ2UgKi9cblxuICAgIGNvbG9yOiB2YXIoLS10aW1lbGluZS10ZXh0LWNvbG9yKTtcbiAgICAvKiBuZXZlciB3YW50IGZ1bGwgd2lkdGggYnV0dG9ucyovXG59XG5cbi5teF9TZXR0aW5nc1RhYiBhIHtcbiAgICAgICAgY29sb3I6ICMwMDg2ZTY7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1saW5rcywgIzAwODZlNik7XG4gICAgfVxuXG4ubXhfU2V0dGluZ3NUYWIgZm9ybSB7XG4gICAgICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICAgICAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcbiAgICAgICAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiBub3JtYWw7XG4gICAgICAgICAgICAtbXMtZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBnYXA6IDhweDtcbiAgICAgICAgLXdlYmtpdC1ib3gtZmxleDogMTtcbiAgICAgICAgICAgIC1tcy1mbGV4LXBvc2l0aXZlOiAxO1xuICAgICAgICAgICAgICAgIGZsZXgtZ3JvdzogMTtcbiAgICB9XG5cbi8qIGV2ZW50IHdoZW4gb3RoZXIgY29udGVudCBpcyAxMDAlIHdpZHRoKi9cblxuLm14X1NldHRpbmdzVGFiIC5teF9BY2Nlc3NpYmxlQnV0dG9uIHtcbiAgICAgICAgLW1zLWZsZXgtaXRlbS1hbGlnbjogc3RhcnQ7XG4gICAgICAgICAgICBhbGlnbi1zZWxmOiBmbGV4LXN0YXJ0O1xuICAgICAgICBqdXN0aWZ5LXNlbGY6IGZsZXgtc3RhcnQ7XG4gICAgfVxuXG4ubXhfU2V0dGluZ3NUYWIgLm14X0ZpZWxkIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAtd2Via2l0LWJveC1mbGV4OiAxO1xuICAgICAgICAgICAgLW1zLWZsZXg6IDE7XG4gICAgICAgICAgICAgICAgZmxleDogMTtcbiAgICB9XG5cbi5teF9TZXR0aW5nc1RhYl93YXJuaW5nVGV4dCB7XG4gICAgY29sb3I6ICNmZjViNTU7XG4gICAgY29sb3I6IHZhcigtLWFsZXJ0LCAjZmY1YjU1KTtcbn1cblxuLm14X1NldHRpbmdzVGFiX3N1YnNlY3Rpb25UZXh0IHtcbiAgICBjb2xvcjogI2VkZjNmZjtcbiAgICBjb2xvcjogdmFyKC0tc2Vjb25kYXJ5LWNvbnRlbnQsICNlZGYzZmYpO1xuICAgIGZvbnQ6IHZhcigtLWNwZC1mb250LWJvZHktbWQtcmVndWxhcik7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLXRvcDogMTBweDtcbiAgICAtd2Via2l0LW1hcmdpbi1lbmQ6IDgwcHg7XG4gICAgICAgICAgICBtYXJnaW4taW5saW5lLWVuZDogODBweDsgLyogQWxpZ24gd2l0aCB0aGUgcmVzdCBvZiB0aGUgdmlldyAqL1xuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgLXdlYmtpdC1tYXJnaW4tc3RhcnQ6IDA7XG4gICAgICAgICAgICBtYXJnaW4taW5saW5lLXN0YXJ0OiAwO1xufVxuXG4ubXhfU2V0dGluZ3NUYWJfc2VjdGlvbiB7XG5cbiAgICBtYXJnaW4tYm90dG9tOiAyNHB4O1xufVxuXG4ubXhfU2V0dGluZ3NUYWJfc2VjdGlvbiAubXhfU2V0dGluZ3NGbGFnIHtcbiAgICAgICAgLXdlYmtpdC1tYXJnaW4tZW5kOiA4MHB4O1xuICAgICAgICAgICAgICAgIG1hcmdpbi1pbmxpbmUtZW5kOiA4MHB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgIH1cblxuLm14X1NldHRpbmdzVGFiX3NlY3Rpb24gLm14X1NldHRpbmdzRmxhZyAubXhfU2V0dGluZ3NGbGFnX2xhYmVsIHtcbiAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IGNhbGMoMTAwJSAtIDNyZW0pOyAvKiBGb3JjZSB3b3JkIHdyYXAgaW5zdGVhZCBvZiBjb2xsaWRpbmcgd2l0aCB0aGUgc3dpdGNoICovXG4gICAgICAgICAgICAtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgICAgICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIH1cblxuLm14X1NldHRpbmdzVGFiX3NlY3Rpb24gLm14X1NldHRpbmdzRmxhZyAubXhfVG9nZ2xlU3dpdGNoIHtcbiAgICAgICAgICAgIGZsb2F0OiBpbmxpbmUtZW5kO1xuICAgICAgICB9XG5cbi5teF9TZXR0aW5nc1RhYl9zZWN0aW9uID4gcCB7XG4gICAgICAgIC13ZWJraXQtbWFyZ2luLWVuZDogODBweDtcbiAgICAgICAgICAgICAgICBtYXJnaW4taW5saW5lLWVuZDogODBweDtcbiAgICB9XG5cbi5teF9TZXR0aW5nc1RhYl9zZWN0aW9uLm14X1NldHRpbmdzVGFiX3N1YnNlY3Rpb25UZXh0IC5teF9TZXR0aW5nc0ZsYWcge1xuICAgICAgICAtd2Via2l0LW1hcmdpbi1lbmQ6IDAgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICBtYXJnaW4taW5saW5lLWVuZDogMCAhaW1wb3J0YW50O1xuICAgIH1cblxuLm14X1NldHRpbmdzVGFiX3RvZ2dsZVdpdGhEZXNjcmlwdGlvbiB7XG4gICAgbWFyZ2luLXRvcDogMjRweDtcbn1cblxuLm14X1NldHRpbmdzVGFiX3NlY3Rpb25zIHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xuICAgIGdyaWQtZ2FwOiAzMnB4O1xuXG4gICAgcGFkZGluZy1ib3R0b206IDE2cHg7XG59XG5cbi8qXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cbkNvcHlyaWdodCAyMDIxIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXG5cblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cbiovXG5cbi5teF9Ob3RpZmljYXRpb25TZXR0aW5nc1RhYl9ub3RpZmljYXRpb25zU2VjdGlvbiB7XG4gICAgd2lkdGg6IDM2MHB4O1xufVxuXG4ubXhfTm90aWZpY2F0aW9uU2V0dGluZ3NUYWJfbm90aWZpY2F0aW9uc1NlY3Rpb24gLm14X1N0eWxlZFJhZGlvQnV0dG9uIHtcbiAgICAgICAgLXdlYmtpdC1ib3gtb3JpZW50OiBob3Jpem9udGFsO1xuICAgICAgICAtd2Via2l0LWJveC1kaXJlY3Rpb246IHJldmVyc2U7XG4gICAgICAgICAgICAtbXMtZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlO1xuICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTtcbiAgICAgICAgY29sb3I6IHZhcigtLXRpbWVsaW5lLXRleHQtY29sb3IpO1xuICAgICAgICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMTI1cmVtO1xuICAgICAgICBmb250LXdlaWdodDogdmFyKC0tY3BkLWZvbnQtd2VpZ2h0LXNlbWlib2xkKTtcbiAgICAgICAgbWFyZ2luLXRvcDogMTZweDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDhweDtcbiAgICAgICAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB9XG5cbi5teF9Ob3RpZmljYXRpb25TZXR0aW5nc1RhYl9ub3RpZmljYXRpb25zU2VjdGlvbiAubXhfU3R5bGVkUmFkaW9CdXR0b246OmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgaGVpZ2h0OiAyNHB4O1xuICAgICAgICAgICAgd2lkdGg6IDI0cHg7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgLXdlYmtpdC1tYXNrLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgICAgICAgICAgICBtYXNrLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgICAgLXdlYmtpdC1tYXNrLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgIG1hc2stcG9zaXRpb246IGNlbnRlcjtcbiAgICAgICAgICAgIC13ZWJraXQtbWFzay1zaXplOiBjb250YWluO1xuICAgICAgICAgICAgICAgICAgICBtYXNrLXNpemU6IGNvbnRhaW47XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWRmM2ZmO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tc2Vjb25kYXJ5LWNvbnRlbnQsICNlZGYzZmYpO1xuICAgICAgICB9XG5cbi5teF9Ob3RpZmljYXRpb25TZXR0aW5nc1RhYl9ub3RpZmljYXRpb25zU2VjdGlvbiAubXhfU3R5bGVkUmFkaW9CdXR0b24gaW5wdXQgKyBkaXYge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogOHB4O1xuICAgICAgICB9XG5cbi5teF9Ob3RpZmljYXRpb25TZXR0aW5nc1RhYl9ub3RpZmljYXRpb25zU2VjdGlvbiAubXhfU3R5bGVkUmFkaW9CdXR0b24gLm14X05vdGlmaWNhdGlvblNldHRpbmdzVGFiX21pY3JvQ29weSB7XG4gICAgICAgICAgICBjb2xvcjogI2VkZjNmZjtcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1zZWNvbmRhcnktY29udGVudCwgI2VkZjNmZik7XG4gICAgICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICAgICAgZm9udC1zaXplOiAwLjc1cmVtO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMzJweDtcbiAgICAgICAgfVxuXG4ubXhfTm90aWZpY2F0aW9uU2V0dGluZ3NUYWJfbm90aWZpY2F0aW9uc1NlY3Rpb24gLm14X05vdGlmaWNhdGlvblNldHRpbmdzVGFiX2RlZmF1bHRFbnRyeTo6YmVmb3JlIHtcbiAgICAgICAgLXdlYmtpdC1tYXNrLWltYWdlOiB1cmwoXCIuLi8uLi8uLi9pbWcvZWxlbWVudC1pY29ucy9ub3RpZmljYXRpb25zLnN2Z1wiKTtcbiAgICAgICAgICAgICAgICBtYXNrLWltYWdlOiB1cmwoXCIuLi8uLi8uLi9pbWcvZWxlbWVudC1pY29ucy9ub3RpZmljYXRpb25zLnN2Z1wiKTtcbiAgICB9XG5cbi5teF9Ob3RpZmljYXRpb25TZXR0aW5nc1RhYl9ub3RpZmljYXRpb25zU2VjdGlvbiAubXhfTm90aWZpY2F0aW9uU2V0dGluZ3NUYWJfYWxsTWVzc2FnZXNFbnRyeTo6YmVmb3JlIHtcbiAgICAgICAgLXdlYmtpdC1tYXNrLWltYWdlOiB1cmwoXCIuLi8uLi8uLi9pbWcvZWxlbWVudC1pY29ucy9yb29tbGlzdC9ub3RpZmljYXRpb25zLWRlZmF1bHQuc3ZnXCIpO1xuICAgICAgICAgICAgICAgIG1hc2staW1hZ2U6IHVybChcIi4uLy4uLy4uL2ltZy9lbGVtZW50LWljb25zL3Jvb21saXN0L25vdGlmaWNhdGlvbnMtZGVmYXVsdC5zdmdcIik7XG4gICAgfVxuXG4ubXhfTm90aWZpY2F0aW9uU2V0dGluZ3NUYWJfbm90aWZpY2F0aW9uc1NlY3Rpb24gLm14X05vdGlmaWNhdGlvblNldHRpbmdzVGFiX21lbnRpb25zS2V5d29yZHNFbnRyeTo6YmVmb3JlIHtcbiAgICAgICAgLXdlYmtpdC1tYXNrLWltYWdlOiB1cmwoXCIuLi8uLi8uLi9pbWcvZWxlbWVudC1pY29ucy9yb29tbGlzdC9ub3RpZmljYXRpb25zLWRtLnN2Z1wiKTtcbiAgICAgICAgICAgICAgICBtYXNrLWltYWdlOiB1cmwoXCIuLi8uLi8uLi9pbWcvZWxlbWVudC1pY29ucy9yb29tbGlzdC9ub3RpZmljYXRpb25zLWRtLnN2Z1wiKTtcbiAgICB9XG5cbi5teF9Ob3RpZmljYXRpb25TZXR0aW5nc1RhYl9ub3RpZmljYXRpb25zU2VjdGlvbiAubXhfTm90aWZpY2F0aW9uU2V0dGluZ3NUYWJfbm9uZUVudHJ5OjpiZWZvcmUge1xuICAgICAgICAtd2Via2l0LW1hc2staW1hZ2U6IHVybChcIi4uLy4uLy4uL2ltZy9lbGVtZW50LWljb25zL3Jvb21saXN0L25vdGlmaWNhdGlvbnMtb2ZmLnN2Z1wiKTtcbiAgICAgICAgICAgICAgICBtYXNrLWltYWdlOiB1cmwoXCIuLi8uLi8uLi9pbWcvZWxlbWVudC1pY29ucy9yb29tbGlzdC9ub3RpZmljYXRpb25zLW9mZi5zdmdcIik7XG4gICAgfVxuXG5pbnB1dFt0eXBlPVwiZmlsZVwiXS5teF9Ob3RpZmljYXRpb25Tb3VuZF9zb3VuZFVwbG9hZCB7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cblxuLypcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxuQ29weXJpZ2h0IDIwMjMgTm9yZGVjayBJVCArIENvbnN1bHRpbmcgR21iSFxuXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXG4qL1xuXG4ubXhfUGVvcGxlUm9vbVNldHRpbmdzVGFiX2tub2NrIHtcbiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIG1hcmdpbi10b3A6IHZhcigtLWNwZC1zcGFjZS0yeCk7XG59XG5cbi5teF9QZW9wbGVSb29tU2V0dGluZ3NUYWJfY29udGVudCB7XG4gICAgLXdlYmtpdC1ib3gtZmxleDogMTtcbiAgICAgICAgLW1zLWZsZXgtcG9zaXRpdmU6IDE7XG4gICAgICAgICAgICBmbGV4LWdyb3c6IDE7XG4gICAgbWFyZ2luOiAwIHZhcigtLWNwZC1zcGFjZS00eCk7XG59XG5cbi5teF9QZW9wbGVSb29tU2V0dGluZ3NUYWJfYXZhdGFyIHtcbiAgICAtbXMtZmxleC1pdGVtLWFsaWduOiBzdGFydDtcbiAgICAgICAgYWxpZ24tc2VsZjogZmxleC1zdGFydDtcbiAgICAtbXMtZmxleC1uZWdhdGl2ZTogMDtcbiAgICAgICAgZmxleC1zaHJpbms6IDA7XG59XG5cbi5teF9QZW9wbGVSb29tU2V0dGluZ3NUYWJfbmFtZSB7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWNwZC1mb250LXdlaWdodC1zZW1pYm9sZCk7XG59XG5cbi5teF9QZW9wbGVSb29tU2V0dGluZ3NUYWJfdGltZXN0YW1wIHtcbiAgICBjb2xvcjogI2VkZjNmZjtcbiAgICBjb2xvcjogdmFyKC0tc2Vjb25kYXJ5LWNvbnRlbnQsICNlZGYzZmYpO1xuICAgIG1hcmdpbi1sZWZ0OiB2YXIoLS1jcGQtc3BhY2UtMXgpO1xufVxuXG4ubXhfUGVvcGxlUm9vbVNldHRpbmdzVGFiX3VzZXJJZCB7XG4gICAgY29sb3I6ICNlZGYzZmY7XG4gICAgY29sb3I6IHZhcigtLXNlY29uZGFyeS1jb250ZW50LCAjZWRmM2ZmKTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmb250LXNpemU6IHZhcigtLWNwZC1mb250LXNpemUtYm9keS1zbSk7XG59XG5cbi5teF9QZW9wbGVSb29tU2V0dGluZ3NUYWJfc2VlTW9yZU9yTGVzcyB7XG4gICAgbWFyZ2luOiB2YXIoLS1jcGQtc3BhY2UtM3gpIDAgMDtcbn1cblxuLm14X1Blb3BsZVJvb21TZXR0aW5nc1RhYl9hY3Rpb24ge1xuICAgIC1tcy1mbGV4LW5lZ2F0aXZlOiAwO1xuICAgICAgICBmbGV4LXNocmluazogMDtcbn1cblxuLm14X1Blb3BsZVJvb21TZXR0aW5nc1RhYl9hY3Rpb24gKyAubXhfUGVvcGxlUm9vbVNldHRpbmdzVGFiX2FjdGlvbiB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiB2YXIoLS1jcGQtc3BhY2UtM3gpO1xuICAgIH1cblxuLm14X1Blb3BsZVJvb21TZXR0aW5nc1RhYl9wYXJhZ3JhcGgge1xuICAgIG1hcmdpbjogMDtcbn1cblxuLypcbkNvcHlyaWdodCAyMDE5LTIwMjQgTmV3IFZlY3RvciBMdGQuXG5cblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cbiovXG5cbi5teF9Sb2xlc1Jvb21TZXR0aW5nc1RhYl9iYW5uZWRMaXN0IHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4ubXhfUm9sZXNSb29tU2V0dGluZ3NUYWJfdW5iYW5CdG4ge1xuICAgIG1hcmdpbi1yaWdodDogMTBweDtcbiAgICBtYXJnaW4tYm90dG9tOiA1cHg7XG59XG5cbi8qXG5Db3B5cmlnaHQgMjAxOS0yMDI0IE5ldyBWZWN0b3IgTHRkLlxuXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXG4qL1xuXG4ubXhfU2VjdXJpdHlSb29tU2V0dGluZ3NUYWJfYWR2YW5jZWRTZWN0aW9uIHtcbiAgICBtYXJnaW4tdG9wOiAxNnB4O1xufVxuXG4ubXhfU2VjdXJpdHlSb29tU2V0dGluZ3NUYWJfd2FybmluZyB7XG4gICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gICAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO1xuICAgICAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAtd2Via2l0LWNvbHVtbi1nYXA6IDRweDtcbiAgICAgICAtbW96LWNvbHVtbi1nYXA6IDRweDtcbiAgICAgICAgICAgIGNvbHVtbi1nYXA6IDRweDtcbn1cblxuLypcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxuQ29weXJpZ2h0IDIwMjAsIDIwMjEgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cblxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuKi9cblxuLm14X0ZpZWxkLm14X0FwcGVhcmFuY2VVc2VyU2V0dGluZ3NUYWJfY2hlY2tib3hDb250cm9sbGVkRmllbGQge1xuICAgIHdpZHRoOiAyNTZweDtcbiAgICAvKiBtYXRjaGVzIGNoZWNrYm94IGJveCArIHBhZGRpbmcgdG8gYWxpZ24gd2l0aCBjaGVja2JveCBsYWJlbCAqL1xuICAgIC13ZWJraXQtbWFyZ2luLXN0YXJ0OiBjYWxjKDFyZW0gKyAxMHB4KTtcbiAgICAgICAgICAgIG1hcmdpbi1pbmxpbmUtc3RhcnQ6IGNhbGMoMXJlbSArIDEwcHgpO1xufVxuXG4vKlxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXG5Db3B5cmlnaHQgMjAyMiDFoGltb24gQnJhbmRuZXIgPHNpbW9uLmJyYS5hZ0BnbWFpbC5jb20+XG5Db3B5cmlnaHQgMjAxOSBOZXcgVmVjdG9yIEx0ZFxuXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXG4qL1xuXG4ubXhfSGVscFVzZXJTZXR0aW5nc1RhYl9hY2Nlc3NUb2tlbkRldGFpbHMge1xuICAgIHdpZHRoOiAtd2Via2l0LWZpdC1jb250ZW50O1xuICAgIHdpZHRoOiAtbW96LWZpdC1jb250ZW50O1xuICAgIHdpZHRoOiBmaXQtY29udGVudDtcbn1cblxuLypcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxuQ29weXJpZ2h0IDIwMjEgxaBpbW9uIEJyYW5kbmVyIDxzaW1vbi5icmEuYWdAZ21haWwuY29tPlxuQ29weXJpZ2h0IDIwMjAgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cblxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuKi9cblxuLm14X0tleWJvYXJkU2hvcnRjdXRfc2hvcnRjdXRMaXN0IHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtZ2FwOiA0cHg7XG59XG5cbi5teF9LZXlib2FyZFNob3J0Y3V0X3Nob3J0Y3V0Um93LFxuLm14X0tleWJvYXJkU2hvcnRjdXQge1xuICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgLXdlYmtpdC1ib3gtcGFjazoganVzdGlmeTtcbiAgICAgICAgLW1zLWZsZXgtcGFjazoganVzdGlmeTtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO1xuICAgICAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cblxuLm14X0tleWJvYXJkU2hvcnRjdXRfc2hvcnRjdXRSb3cge1xuICAgIC13ZWJraXQtY29sdW1uLWdhcDogOHB4O1xuICAgICAgIC1tb3otY29sdW1uLWdhcDogOHB4O1xuICAgICAgICAgICAgY29sdW1uLWdhcDogOHB4O1xufVxuXG4ubXhfS2V5Ym9hcmRTaG9ydGN1dCB7XG4gICAgLW1zLWZsZXgtd3JhcDogbm93cmFwO1xuICAgICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICAtd2Via2l0LWNvbHVtbi1nYXA6IDRweDtcbiAgICAgICAtbW96LWNvbHVtbi1nYXA6IDRweDtcbiAgICAgICAgICAgIGNvbHVtbi1nYXA6IDRweDtcbn1cblxuLypcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxuQ29weXJpZ2h0IDIwMTkgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cblxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuKi9cblxuLm14X01qb2xuaXJVc2VyU2V0dGluZ3NUYWJfbGlzdEl0ZW0ge1xuICAgIG1hcmdpbi1ib3R0b206IDJweDtcbn1cblxuLypcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxuQ29weXJpZ2h0IDIwMjQgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cbkNvcHlyaWdodCAyMDE5IE5ldyBWZWN0b3IgTHRkXG5cblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cbiovXG5cbi5teF9QcmVmZXJlbmNlc1VzZXJTZXR0aW5nc1RhYl9zZWN0aW9uX2hpbnQge1xuICAgIGZvbnQ6IHZhcigtLWNwZC1mb250LWJvZHktc20tcmVndWxhcik7XG4gICAgY29sb3I6IHZhcigtLWNwZC1jb2xvci10ZXh0LXNlY29uZGFyeSk7XG59XG5cbi8qXG5Db3B5cmlnaHQgMjAxOS0yMDI0IE5ldyBWZWN0b3IgTHRkLlxuXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXG4qL1xuXG4ubXhfU2VjdXJpdHlVc2VyU2V0dGluZ3NUYWJfYnVsa09wdGlvbnMge1xuICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgLXdlYmtpdC1ib3gtb3JpZW50OiBob3Jpem9udGFsO1xuICAgIC13ZWJraXQtYm94LWRpcmVjdGlvbjogbm9ybWFsO1xuICAgICAgICAtbXMtZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgLXdlYmtpdC1jb2x1bW4tZ2FwOiA4cHg7XG4gICAgICAgLW1vei1jb2x1bW4tZ2FwOiA4cHg7XG4gICAgICAgICAgICBjb2x1bW4tZ2FwOiA4cHg7XG59XG5cbi5teF9TZWN1cml0eVVzZXJTZXR0aW5nc1RhYl9pZ25vcmVkVXNlciB7XG4gICAgbWFyZ2luLWJvdHRvbTogNHB4O1xufVxuXG4ubXhfU2VjdXJpdHlVc2VyU2V0dGluZ3NUYWJfaWdub3JlZFVzZXIgLm14X0FjY2Vzc2libGVCdXR0b24ge1xuICAgIG1hcmdpbi1yaWdodDogOHB4O1xufVxuXG4ubXhfU2VjdXJpdHlVc2VyU2V0dGluZ3NUYWJfd2FybmluZyB7XG4gICAgY29sb3I6ICNmZjViNTU7XG4gICAgY29sb3I6IHZhcigtLWFsZXJ0LCAjZmY1YjU1KTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZy1sZWZ0OiA0MHB4O1xufVxuXG4ubXhfU2VjdXJpdHlVc2VyU2V0dGluZ3NUYWJfd2FybmluZzo6YmVmb3JlIHtcbiAgICAgICAgLXdlYmtpdC1tYXNrLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgICAgICAgIG1hc2stcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgIC13ZWJraXQtbWFzay1wb3NpdGlvbjogMCBjZW50ZXI7XG4gICAgICAgICAgICAgICAgbWFzay1wb3NpdGlvbjogMCBjZW50ZXI7XG4gICAgICAgIC13ZWJraXQtbWFzay1zaXplOiAxLjVyZW07XG4gICAgICAgICAgICAgICAgbWFzay1zaXplOiAxLjVyZW07XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgd2lkdGg6IDEuNXJlbTtcbiAgICAgICAgaGVpZ2h0OiAxLjVyZW07XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmNWI1NTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYWxlcnQsICNmZjViNTUpO1xuICAgICAgICAtd2Via2l0LW1hc2staW1hZ2U6IHVybChcIkB2ZWN0b3ItaW0vY29tcG91bmQtZGVzaWduLXRva2Vucy9pY29ucy93YXJuaW5nLnN2Z1wiKTtcbiAgICAgICAgICAgICAgICBtYXNrLWltYWdlOiB1cmwoXCJAdmVjdG9yLWltL2NvbXBvdW5kLWRlc2lnbi10b2tlbnMvaWNvbnMvd2FybmluZy5zdmdcIik7XG4gICAgfVxuXG4vKlxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXG5Db3B5cmlnaHQgMjAyMSBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxuXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXG4qL1xuXG4ubXhfU2lkZWJhclVzZXJTZXR0aW5nc1RhYl9ob21lQWxsUm9vbXNDaGVja2JveCB7XG4gICAgbWFyZ2luLWxlZnQ6IDI0cHg7XG59XG5cbi5teF9TaWRlYmFyVXNlclNldHRpbmdzVGFiX2hvbWVBbGxSb29tc0NoZWNrYm94ICsgZGl2IHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDQ4cHg7XG4gICAgfVxuXG4ubXhfU2lkZWJhclVzZXJTZXR0aW5nc1RhYl9jaGVja2JveCB7XG4gICAgbWFyZ2luLWJvdHRvbTogOHB4O1xufVxuXG4vKiBvdmVycmlkZSBjaGVja2JveCBzdHlsZXMgKi9cblxuLm14X1NpZGViYXJVc2VyU2V0dGluZ3NUYWJfY2hlY2tib3ggbGFiZWwge1xuICAgICAgICAtd2Via2l0LWJveC1hbGlnbjogc3RhcnQgIWltcG9ydGFudDtcbiAgICAgICAgICAgIC1tcy1mbGV4LWFsaWduOiBzdGFydCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0ICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4ubXhfU2lkZWJhclVzZXJTZXR0aW5nc1RhYl9jaGVja2JveCBzdmcge1xuICAgICAgICBoZWlnaHQ6IDE2cHg7XG4gICAgICAgIHdpZHRoOiAxNnB4O1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDhweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogLTFweDtcbiAgICB9XG5cbi8qXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cbkNvcHlyaWdodCAyMDIxIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXG5cblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cbiovXG5cbi5teF9TcGFjZUJhc2ljU2V0dGluZ3MgLm14X0ZpZWxkIHtcbiAgICAgICAgbWFyZ2luOiAyNHB4IDA7XG4gICAgfVxuXG4ubXhfU3BhY2VCYXNpY1NldHRpbmdzIC5teF9TcGFjZUJhc2ljU2V0dGluZ3NfYXZhdGFyQ29udGFpbmVyIHtcbiAgICAgICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gICAgICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBtYXJnaW4tdG9wOiAyNHB4O1xuICAgIH1cblxuLm14X1NwYWNlQmFzaWNTZXR0aW5ncyAubXhfU3BhY2VCYXNpY1NldHRpbmdzX2F2YXRhckNvbnRhaW5lciAubXhfU3BhY2VCYXNpY1NldHRpbmdzX2F2YXRhciB7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICBoZWlnaHQ6IDgwcHg7XG4gICAgICAgICAgICB3aWR0aDogODBweDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNlZGYzZmY7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS10ZXJ0aWFyeS1jb250ZW50LCAjZWRmM2ZmKTtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDE2cHg7XG4gICAgICAgIH1cblxuLm14X1NwYWNlQmFzaWNTZXR0aW5ncyAubXhfU3BhY2VCYXNpY1NldHRpbmdzX2F2YXRhckNvbnRhaW5lciBpbWcubXhfU3BhY2VCYXNpY1NldHRpbmdzX2F2YXRhciB7XG4gICAgICAgICAgICB3aWR0aDogODBweDtcbiAgICAgICAgICAgIGhlaWdodDogODBweDtcbiAgICAgICAgICAgIC1vLW9iamVjdC1maXQ6IGNvdmVyO1xuICAgICAgICAgICAgICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAxNnB4O1xuICAgICAgICB9XG5cbi8qIG9ubHkgc2hvdyBpdCB3aGVuIHRoZSBidXR0b24gaXMgYSBkaXYgYW5kIG5vdCBhbiBpbWcgKGhhcyBhdmF0YXIpICovXG5cbi5teF9TcGFjZUJhc2ljU2V0dGluZ3MgLm14X1NwYWNlQmFzaWNTZXR0aW5nc19hdmF0YXJDb250YWluZXIgZGl2Lm14X1NwYWNlQmFzaWNTZXR0aW5nc19hdmF0YXIge1xuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICB9XG5cbi5teF9TcGFjZUJhc2ljU2V0dGluZ3MgLm14X1NwYWNlQmFzaWNTZXR0aW5nc19hdmF0YXJDb250YWluZXIgZGl2Lm14X1NwYWNlQmFzaWNTZXR0aW5nc19hdmF0YXI6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiA4MHB4O1xuICAgICAgICAgICAgICAgIHdpZHRoOiA4MHB4O1xuICAgICAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7IC8qIHdoaXRlIGljb24gZmlsbCAqL1xuICAgICAgICAgICAgICAgIC13ZWJraXQtbWFzay1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hc2stcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgICAgICAgLXdlYmtpdC1tYXNrLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXNrLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgLXdlYmtpdC1tYXNrLXNpemU6IDIwcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXNrLXNpemU6IDIwcHg7XG4gICAgICAgICAgICAgICAgLXdlYmtpdC1tYXNrLWltYWdlOiB1cmwoXCJAdmVjdG9yLWltL2NvbXBvdW5kLWRlc2lnbi10b2tlbnMvaWNvbnMvdGFrZS1waG90by1zb2xpZC5zdmdcIik7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXNrLWltYWdlOiB1cmwoXCJAdmVjdG9yLWltL2NvbXBvdW5kLWRlc2lnbi10b2tlbnMvaWNvbnMvdGFrZS1waG90by1zb2xpZC5zdmdcIik7XG4gICAgICAgICAgICB9XG5cbi5teF9TcGFjZUJhc2ljU2V0dGluZ3MgLm14X1NwYWNlQmFzaWNTZXR0aW5nc19hdmF0YXJDb250YWluZXIgPiBpbnB1dFt0eXBlPVwiZmlsZVwiXSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG5cbi5teF9TcGFjZUJhc2ljU2V0dGluZ3MgLm14X1NwYWNlQmFzaWNTZXR0aW5nc19hdmF0YXJDb250YWluZXIgPiAubXhfQWNjZXNzaWJsZUJ1dHRvbl9raW5kX2xpbmsge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgbWFyZ2luOiBhdXRvIDE4cHg7XG4gICAgICAgICAgICBjb2xvcjogIzAwODZlNjtcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1saW5rcywgIzAwODZlNik7XG4gICAgICAgICAgICBmb250OiB2YXIoLS1jcGQtZm9udC1ib2R5LW1kLXJlZ3VsYXIpO1xuICAgICAgICB9XG5cbi5teF9TcGFjZUJhc2ljU2V0dGluZ3MgLm14X1NwYWNlQmFzaWNTZXR0aW5nc19hdmF0YXJDb250YWluZXIgPiAubXhfU3BhY2VCYXNpY1NldHRpbmdzX2F2YXRhcl9yZW1vdmUge1xuICAgICAgICAgICAgY29sb3I6ICNmZjViNTU7XG4gICAgICAgICAgICBjb2xvcjogdmFyKC0tYWxlcnQsICNmZjViNTUpO1xuICAgICAgICB9XG5cbi5teF9TcGFjZUJhc2ljU2V0dGluZ3MgLm14X0FjY2Vzc2libGVCdXR0b25faGFzS2luZCB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2lkdGg6IC13ZWJraXQtbWluLWNvbnRlbnQ7XG4gICAgICAgIHdpZHRoOiAtbW96LW1pbi1jb250ZW50O1xuICAgICAgICB3aWR0aDogbWluLWNvbnRlbnQ7XG4gICAgfVxuXG4ubXhfU3BhY2VCYXNpY1NldHRpbmdzIC5teF9BY2Nlc3NpYmxlQnV0dG9uX2Rpc2FibGVkIHtcbiAgICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgICB9XG5cbi8qXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cbkNvcHlyaWdodCAyMDIxIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXG5cblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cbiovXG5cbi5teF9TcGFjZUNoaWxkcmVuUGlja2VyIHtcbiAgICBtYXJnaW46IDE2cHggMDtcbn1cblxuLm14X1NwYWNlQ2hpbGRyZW5QaWNrZXIgLm14X1N0eWxlZFJhZGlvQnV0dG9uICsgLm14X1N0eWxlZFJhZGlvQnV0dG9uIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMTZweDtcbiAgICB9XG5cbi5teF9TcGFjZUNoaWxkcmVuUGlja2VyIC5teF9TZWFyY2hCb3gge1xuICAgICAgICAvKiBUbyBtYXRjaCB0aGUgc3BhY2UgYXJvdW5kIHRoZSB0aXRsZSAqL1xuICAgICAgICBtYXJnaW46IDAgMCAxNXB4IDA7XG4gICAgICAgIC13ZWJraXQtYm94LWZsZXg6IDA7XG4gICAgICAgICAgICAtbXMtZmxleC1wb3NpdGl2ZTogMDtcbiAgICAgICAgICAgICAgICBmbGV4LWdyb3c6IDA7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgICB9XG5cbi5teF9TcGFjZUNoaWxkcmVuUGlja2VyIC5teF9TcGFjZUNoaWxkcmVuUGlja2VyX25vUmVzdWx0cyB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBtYXJnaW4tdG9wOiAyNHB4O1xuICAgIH1cblxuLypcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxuQ29weXJpZ2h0IDIwMjEgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cblxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuKi9cblxuLyogYmFja2dyb3VuZCBibHVyIGV2ZXJ5dGhpbmcgZXhjZXB0IFNwYWNlUGFuZWwgKi9cblxuLm14X1NwYWNlQ3JlYXRlTWVudV93cmFwcGVyIC5teF9Db250ZXh0dWFsTWVudV9iYWNrZ3JvdW5kIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tc2lkZWJhci1jb2xvci01MHBjdCk7XG4gICAgICAgIG9wYWNpdHk6IDAuNjtcbiAgICAgICAgbGVmdDogNjhweDtcbiAgICB9XG5cbi5teF9TcGFjZUNyZWF0ZU1lbnVfd3JhcHBlciAubXhfQ29udGV4dHVhbE1lbnUge1xuICAgICAgICBwYWRkaW5nOiAyNHB4O1xuICAgICAgICB3aWR0aDogNDgwcHg7XG4gICAgICAgIC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS10aW1lbGluZS1iYWNrZ3JvdW5kLWNvbG9yKTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIH1cblxuLm14X1NwYWNlQ3JlYXRlTWVudV93cmFwcGVyIC5teF9Db250ZXh0dWFsTWVudSA+IGRpdiA+IGgyIHtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogdmFyKC0tY3BkLWZvbnQtd2VpZ2h0LXNlbWlib2xkKTtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDEuMTI1cmVtO1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDRweDtcbiAgICAgICAgICAgIH1cblxuLm14X1NwYWNlQ3JlYXRlTWVudV93cmFwcGVyIC5teF9Db250ZXh0dWFsTWVudSA+IGRpdiA+IHAge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICAgICAgICAgICAgICAgIGNvbG9yOiAjZWRmM2ZmO1xuICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1zZWNvbmRhcnktY29udGVudCwgI2VkZjNmZik7XG4gICAgICAgICAgICB9XG5cbi5teF9TcGFjZUNyZWF0ZU1lbnVfd3JhcHBlciAubXhfQ29udGV4dHVhbE1lbnUgLm14X1NwYWNlQ3JlYXRlTWVudVR5cGUge1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgcGFkZGluZzogMTZweCAzMnB4IDE2cHggNzJweDtcbiAgICAgICAgICAgIHdpZHRoOiA0MzJweDtcbiAgICAgICAgICAgIC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgICAgICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNlN2U3ZTc7XG4gICAgICAgICAgICBmb250LXNpemU6IDEuMDYyNXJlbTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1jcGQtZm9udC13ZWlnaHQtc2VtaWJvbGQpO1xuICAgICAgICAgICAgbWFyZ2luOiAyMHB4IDA7XG4gICAgICAgIH1cblxuLm14X1NwYWNlQ3JlYXRlTWVudV93cmFwcGVyIC5teF9Db250ZXh0dWFsTWVudSAubXhfU3BhY2VDcmVhdGVNZW51VHlwZSA+IGRpdiB7XG4gICAgICAgIG1hcmdpbi10b3A6IDRweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gICAgICAgIGNvbG9yOiAjZWRmM2ZmO1xuICAgICAgICBjb2xvcjogdmFyKC0tc2Vjb25kYXJ5LWNvbnRlbnQsICNlZGYzZmYpO1xuICAgIH1cblxuLm14X1NwYWNlQ3JlYXRlTWVudV93cmFwcGVyIC5teF9Db250ZXh0dWFsTWVudSAubXhfU3BhY2VDcmVhdGVNZW51VHlwZTo6YmVmb3JlIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICB3aWR0aDogMjhweDtcbiAgICAgICAgaGVpZ2h0OiAyOHB4O1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgICAgICBsZWZ0OiAyMnB4O1xuICAgICAgICAtd2Via2l0LW1hc2stcG9zaXRpb246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBtYXNrLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICAgIC13ZWJraXQtbWFzay1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgICAgICAgICBtYXNrLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAtd2Via2l0LW1hc2stc2l6ZTogMjhweDtcbiAgICAgICAgICAgICAgICBtYXNrLXNpemU6IDI4cHg7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNlZGYzZmY7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXRlcnRpYXJ5LWNvbnRlbnQsICNlZGYzZmYpO1xuICAgIH1cblxuLm14X1NwYWNlQ3JlYXRlTWVudV93cmFwcGVyIC5teF9Db250ZXh0dWFsTWVudSAubXhfU3BhY2VDcmVhdGVNZW51VHlwZTpob3ZlciB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0tY3BkLWNvbG9yLWJnLWFjdGlvbi1wcmltYXJ5LXJlc3QpO1xuICAgIH1cblxuLm14X1NwYWNlQ3JlYXRlTWVudV93cmFwcGVyIC5teF9Db250ZXh0dWFsTWVudSAubXhfU3BhY2VDcmVhdGVNZW51VHlwZTpob3Zlcjo6YmVmb3JlIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNwZC1jb2xvci1pY29uLXByaW1hcnkpO1xuICAgICAgICB9XG5cbi5teF9TcGFjZUNyZWF0ZU1lbnVfd3JhcHBlciAubXhfQ29udGV4dHVhbE1lbnUgLm14X1NwYWNlQ3JlYXRlTWVudVR5cGU6aG92ZXIgPiBzcGFuIHtcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS10aW1lbGluZS10ZXh0LWNvbG9yKTtcbiAgICAgICAgfVxuXG4ubXhfU3BhY2VDcmVhdGVNZW51X3dyYXBwZXIgLm14X0NvbnRleHR1YWxNZW51IC5teF9TcGFjZUNyZWF0ZU1lbnVUeXBlX3B1YmxpYzo6YmVmb3JlIHtcbiAgICAgICAgICAgIC13ZWJraXQtbWFzay1pbWFnZTogdXJsKFwiQHZlY3Rvci1pbS9jb21wb3VuZC1kZXNpZ24tdG9rZW5zL2ljb25zL3B1YmxpYy5zdmdcIik7XG4gICAgICAgICAgICAgICAgICAgIG1hc2staW1hZ2U6IHVybChcIkB2ZWN0b3ItaW0vY29tcG91bmQtZGVzaWduLXRva2Vucy9pY29ucy9wdWJsaWMuc3ZnXCIpO1xuICAgICAgICB9XG5cbi5teF9TcGFjZUNyZWF0ZU1lbnVfd3JhcHBlciAubXhfQ29udGV4dHVhbE1lbnUgLm14X1NwYWNlQ3JlYXRlTWVudVR5cGVfcHJpdmF0ZTo6YmVmb3JlIHtcbiAgICAgICAgICAgIC13ZWJraXQtbWFzay1pbWFnZTogdXJsKFwiQHZlY3Rvci1pbS9jb21wb3VuZC1kZXNpZ24tdG9rZW5zL2ljb25zL2xvY2stc29saWQuc3ZnXCIpO1xuICAgICAgICAgICAgICAgICAgICBtYXNrLWltYWdlOiB1cmwoXCJAdmVjdG9yLWltL2NvbXBvdW5kLWRlc2lnbi10b2tlbnMvaWNvbnMvbG9jay1zb2xpZC5zdmdcIik7XG4gICAgICAgIH1cblxuLm14X1NwYWNlQ3JlYXRlTWVudV93cmFwcGVyIC5teF9Db250ZXh0dWFsTWVudSAubXhfU3BhY2VDcmVhdGVNZW51X2JhY2sge1xuICAgICAgICAgICAgd2lkdGg6IDI4cHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDI4cHg7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1yb29tbGlzdC1oaWdobGlnaHRzLWNvbG9yKTtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDE0cHg7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMnB4O1xuICAgICAgICB9XG5cbi5teF9TcGFjZUNyZWF0ZU1lbnVfd3JhcHBlciAubXhfQ29udGV4dHVhbE1lbnUgLm14X1NwYWNlQ3JlYXRlTWVudV9iYWNrOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIGhlaWdodDogMjhweDtcbiAgICAgICAgICAgICAgICB3aWR0aDogMjhweDtcbiAgICAgICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWRmM2ZmO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXRlcnRpYXJ5LWNvbnRlbnQsICNlZGYzZmYpO1xuICAgICAgICAgICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xuICAgICAgICAgICAgICAgIC13ZWJraXQtbWFzay1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hc2stcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgICAgICAgLXdlYmtpdC1tYXNrLXBvc2l0aW9uOiAycHggM3B4O1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFzay1wb3NpdGlvbjogMnB4IDNweDtcbiAgICAgICAgICAgICAgICAtd2Via2l0LW1hc2stc2l6ZTogMjRweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hc2stc2l6ZTogMjRweDtcbiAgICAgICAgICAgICAgICAtd2Via2l0LW1hc2staW1hZ2U6IHVybChcIkB2ZWN0b3ItaW0vY29tcG91bmQtZGVzaWduLXRva2Vucy9pY29ucy9jaGV2cm9uLWRvd24uc3ZnXCIpO1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFzay1pbWFnZTogdXJsKFwiQHZlY3Rvci1pbS9jb21wb3VuZC1kZXNpZ24tdG9rZW5zL2ljb25zL2NoZXZyb24tZG93bi5zdmdcIik7XG4gICAgICAgICAgICB9XG5cbi5teF9TcGFjZUNyZWF0ZU1lbnVfd3JhcHBlciAubXhfQ29udGV4dHVhbE1lbnUgLm14X0FjY2Vzc2libGVCdXR0b25fa2luZF9wcmltYXJ5IHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDhweCAyMnB4O1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIHdpZHRoOiAtd2Via2l0LW1pbi1jb250ZW50O1xuICAgICAgICAgICAgd2lkdGg6IC1tb3otbWluLWNvbnRlbnQ7XG4gICAgICAgICAgICB3aWR0aDogbWluLWNvbnRlbnQ7XG4gICAgICAgIH1cblxuLm14X1NwYWNlQ3JlYXRlTWVudV93cmFwcGVyIC5teF9Db250ZXh0dWFsTWVudSAubXhfQWNjZXNzaWJsZUJ1dHRvbl9kaXNhYmxlZCB7XG4gICAgICAgICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICAgICAgICB9XG5cbi8qXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cbkNvcHlyaWdodCAyMDIxIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXG5cblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cbiovXG5cbi5teF9TcGFjZVB1YmxpY1NoYXJlIC5teF9BY2Nlc3NpYmxlQnV0dG9uIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBwYWRkaW5nOiAxNnB4IDMycHggMTZweCA3MnB4O1xuICAgICAgICB3aWR0aDogNDMycHg7XG4gICAgICAgIC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNlN2U3ZTc7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4wNjI1cmVtO1xuICAgICAgICBmb250LXdlaWdodDogdmFyKC0tY3BkLWZvbnQtd2VpZ2h0LXNlbWlib2xkKTtcbiAgICAgICAgbWFyZ2luOiAyMHB4IDA7XG4gICAgfVxuXG4ubXhfU3BhY2VQdWJsaWNTaGFyZSAubXhfQWNjZXNzaWJsZUJ1dHRvbiA+IGRpdiB7XG4gICAgICAgIG1hcmdpbi10b3A6IDRweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gICAgICAgIGNvbG9yOiAjZWRmM2ZmO1xuICAgICAgICBjb2xvcjogdmFyKC0tc2Vjb25kYXJ5LWNvbnRlbnQsICNlZGYzZmYpO1xuICAgIH1cblxuLm14X1NwYWNlUHVibGljU2hhcmUgLm14X0FjY2Vzc2libGVCdXR0b246OmJlZm9yZSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgd2lkdGg6IDI4cHg7XG4gICAgICAgIGhlaWdodDogMjhweDtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICAgICAgbGVmdDogMjJweDtcbiAgICAgICAgLXdlYmtpdC1tYXNrLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgbWFzay1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgICAtd2Via2l0LW1hc2stcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgICAgICAgbWFzay1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgLXdlYmtpdC1tYXNrLXNpemU6IDI4cHg7XG4gICAgICAgICAgICAgICAgbWFzay1zaXplOiAyOHB4O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWRmM2ZmO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS10ZXJ0aWFyeS1jb250ZW50LCAjZWRmM2ZmKTtcbiAgICB9XG5cbi5teF9TcGFjZVB1YmxpY1NoYXJlIC5teF9BY2Nlc3NpYmxlQnV0dG9uOmhvdmVyIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jcGQtY29sb3ItYmctYWN0aW9uLXByaW1hcnktcmVzdCk7XG4gICAgfVxuXG4ubXhfU3BhY2VQdWJsaWNTaGFyZSAubXhfQWNjZXNzaWJsZUJ1dHRvbjpob3Zlcjo6YmVmb3JlIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNwZC1jb2xvci1pY29uLXByaW1hcnkpO1xuICAgICAgICB9XG5cbi5teF9TcGFjZVB1YmxpY1NoYXJlIC5teF9BY2Nlc3NpYmxlQnV0dG9uOmhvdmVyID4gc3BhbiB7XG4gICAgICAgICAgICBjb2xvcjogdmFyKC0tdGltZWxpbmUtdGV4dC1jb2xvcik7XG4gICAgICAgIH1cblxuLm14X1NwYWNlUHVibGljU2hhcmUgLm14X0FjY2Vzc2libGVCdXR0b24ubXhfU3BhY2VQdWJsaWNTaGFyZV9zaGFyZUJ1dHRvbjo6YmVmb3JlIHtcbiAgICAgICAgICAgIC13ZWJraXQtbWFzay1pbWFnZTogdXJsKFwiQHZlY3Rvci1pbS9jb21wb3VuZC1kZXNpZ24tdG9rZW5zL2ljb25zL2xpbmsuc3ZnXCIpO1xuICAgICAgICAgICAgICAgICAgICBtYXNrLWltYWdlOiB1cmwoXCJAdmVjdG9yLWltL2NvbXBvdW5kLWRlc2lnbi10b2tlbnMvaWNvbnMvbGluay5zdmdcIik7XG4gICAgICAgIH1cblxuLm14X1NwYWNlUHVibGljU2hhcmUgLm14X0FjY2Vzc2libGVCdXR0b24ubXhfU3BhY2VQdWJsaWNTaGFyZV9pbnZpdGVCdXR0b246OmJlZm9yZSB7XG4gICAgICAgICAgICAtd2Via2l0LW1hc2staW1hZ2U6IHVybChcIi4uLy4uLy4uL2ltZy9lbGVtZW50LWljb25zL3Jvb20vaW52aXRlLnN2Z1wiKTtcbiAgICAgICAgICAgICAgICAgICAgbWFzay1pbWFnZTogdXJsKFwiLi4vLi4vLi4vaW1nL2VsZW1lbnQtaWNvbnMvcm9vbS9pbnZpdGUuc3ZnXCIpO1xuICAgICAgICB9XG5cbi8qXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cbkNvcHlyaWdodCAyMDE5IFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXG5cblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cbiovXG5cbi5teF9JbmxpbmVUZXJtc0FncmVlbWVudF9jYkNvbnRhaW5lciB7XG4gICAgbWFyZ2luLXRvcDogdmFyKC0tY3BkLXNwYWNlLTR4KTtcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgIGZvbnQ6IHZhcigtLWNwZC1mb250LWJvZHktbWQtcmVndWxhcik7XG59XG5cbi5teF9JbmxpbmVUZXJtc0FncmVlbWVudF9jYkNvbnRhaW5lciBhIHtcbiAgICAgICAgY29sb3I6ICMwZGJkOGI7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1hY2NlbnQtY29sb3IsICMwZGJkOGIpO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgfVxuXG4ubXhfSW5saW5lVGVybXNBZ3JlZW1lbnRfY2JDb250YWluZXIgLm14X0lubGluZVRlcm1zQWdyZWVtZW50X2NoZWNrYm94IHtcbiAgICAgICAgbWFyZ2luLXRvcDogMTBweDtcbiAgICB9XG5cbi5teF9JbmxpbmVUZXJtc0FncmVlbWVudF9jYkNvbnRhaW5lciAubXhfSW5saW5lVGVybXNBZ3JlZW1lbnRfY2hlY2tib3ggaW5wdXQge1xuICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IHRleHQtYm90dG9tO1xuICAgICAgICB9XG5cbi5teF9JbmxpbmVUZXJtc0FncmVlbWVudF9saW5rIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgLXdlYmtpdC1tYXNrLWltYWdlOiB1cmwoXCIuLi8uLi8uLi9pbWcvZXh0ZXJuYWwtbGluay5zdmdcIik7XG4gICAgICAgICAgICBtYXNrLWltYWdlOiB1cmwoXCIuLi8uLi8uLi9pbWcvZXh0ZXJuYWwtbGluay5zdmdcIik7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzBkYmQ4YjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1hY2NlbnQtY29sb3IsICMwZGJkOGIpO1xuICAgIC13ZWJraXQtbWFzay1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgICAgIG1hc2stcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgLXdlYmtpdC1tYXNrLXNpemU6IGNvbnRhaW47XG4gICAgICAgICAgICBtYXNrLXNpemU6IGNvbnRhaW47XG4gICAgd2lkdGg6IDEycHg7XG4gICAgaGVpZ2h0OiAxMnB4O1xuICAgIG1hcmdpbi1sZWZ0OiAzcHg7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cblxuLypcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxuQ29weXJpZ2h0IDIwMjAgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cblxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuKi9cblxuLm14X0FuYWx5dGljc1RvYXN0IC5teF9BY2Nlc3NpYmxlQnV0dG9uX2tpbmRfZGFuZ2VyX291dGxpbmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMGRiZDhiO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1hY2NlbnQtY29sb3IsICMwZGJkOGIpO1xuICAgICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgIzBkYmQ4YjtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tYWNjZW50LWNvbG9yLCAjMGRiZDhiKTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLWNwZC1mb250LXdlaWdodC1zZW1pYm9sZCk7XG4gICAgfVxuXG4ubXhfQW5hbHl0aWNzVG9hc3QgLm14X0FjY2Vzc2libGVCdXR0b25fa2luZF9wcmltYXJ5IHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzBkYmQ4YjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYWNjZW50LWNvbG9yLCAjMGRiZDhiKTtcbiAgICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICMwZGJkOGI7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWFjY2VudC1jb2xvciwgIzBkYmQ4Yik7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1jcGQtZm9udC13ZWlnaHQtc2VtaWJvbGQpO1xuICAgIH1cblxuLypcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxuQ29weXJpZ2h0IDIwMjIgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cblxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuKi9cblxuLm14X0luY29taW5nQ2FsbFRvYXN0IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gICAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICAtd2Via2l0LWJveC1vcmllbnQ6IGhvcml6b250YWw7XG4gICAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiBub3JtYWw7XG4gICAgICAgIC1tcy1mbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBwb2ludGVyLWV2ZW50czogaW5pdGlhbDsgLyogcmVzdG9yZSBwb2ludGVyIGV2ZW50cyBzbyB0aGUgdXNlciBjYW4gYWNjZXB0L2RlY2xpbmUgKi9cbiAgICB3aWR0aDogMjUwcHg7XG59XG5cbi5teF9JbmNvbWluZ0NhbGxUb2FzdCAubXhfSW5jb21pbmdDYWxsVG9hc3RfY29udGVudCB7XG4gICAgICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICAgICAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcbiAgICAgICAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiBub3JtYWw7XG4gICAgICAgICAgICAtbXMtZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBtYXJnaW4tbGVmdDogOHB4O1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB9XG5cbi5teF9JbmNvbWluZ0NhbGxUb2FzdCAubXhfSW5jb21pbmdDYWxsVG9hc3RfY29udGVudCAubXhfSW5jb21pbmdDYWxsVG9hc3RfaW5mbyB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxNnB4O1xuICAgICAgICB9XG5cbi5teF9JbmNvbWluZ0NhbGxUb2FzdCAubXhfSW5jb21pbmdDYWxsVG9hc3RfY29udGVudCAubXhfSW5jb21pbmdDYWxsVG9hc3RfaW5mbyAubXhfSW5jb21pbmdDYWxsVG9hc3Rfcm9vbSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLWNwZC1mb250LXdlaWdodC1zZW1pYm9sZCk7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuNXJlbTtcblxuICAgICAgICAgICAgICAgIC8qIFByZXZlbnQgb3ZlcmxhcCB3aXRoIHRoZSBjbG9zZSBidXR0b24gKi9cbiAgICAgICAgICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gMTZweCAtIDIgKiA0cHgpO1xuICAgICAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcblxuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDRweDtcbiAgICAgICAgICAgIH1cblxuLm14X0luY29taW5nQ2FsbFRvYXN0IC5teF9JbmNvbWluZ0NhbGxUb2FzdF9jb250ZW50IC5teF9JbmNvbWluZ0NhbGxUb2FzdF9pbmZvIC5teF9JbmNvbWluZ0NhbGxUb2FzdF9tZXNzYWdlIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDAuNzVyZW07XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDAuOTM3NXJlbTtcblxuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDRweDtcbiAgICAgICAgICAgIH1cblxuLm14X0luY29taW5nQ2FsbFRvYXN0IC5teF9JbmNvbWluZ0NhbGxUb2FzdF9jb250ZW50IC5teF9JbmNvbWluZ0NhbGxUb2FzdF9pbmZvIC5teF9MaXZlQ29udGVudFN1bW1hcnkge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMC45Mzc1cmVtO1xuICAgICAgICAgICAgfVxuXG4ubXhfSW5jb21pbmdDYWxsVG9hc3QgLm14X0luY29taW5nQ2FsbFRvYXN0X2NvbnRlbnQgLm14X0luY29taW5nQ2FsbFRvYXN0X2luZm8gLm14X0xpdmVDb250ZW50U3VtbWFyeSAubXhfTGl2ZUNvbnRlbnRTdW1tYXJ5X3BhcnRpY2lwYW50czo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDE1cHg7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogMTVweDtcbiAgICAgICAgICAgICAgICB9XG5cbi5teF9JbmNvbWluZ0NhbGxUb2FzdCAubXhfSW5jb21pbmdDYWxsVG9hc3RfY29udGVudCAubXhfSW5jb21pbmdDYWxsVG9hc3Rfam9pbkJ1dHRvbiB7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgICAgIGJvdHRvbTogNHB4O1xuICAgICAgICAgICAgcmlnaHQ6IDRweDtcblxuICAgICAgICAgICAgLW1zLWZsZXgtaXRlbS1hbGlnbjogZW5kO1xuXG4gICAgICAgICAgICAgICAgYWxpZ24tc2VsZjogZmxleC1lbmQ7XG5cbiAgICAgICAgICAgIC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDtcblxuICAgICAgICAgICAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICAgICAgbWluLXdpZHRoOiAxMjBweDtcblxuICAgICAgICAgICAgcGFkZGluZzogNHB4IDA7XG5cbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjVyZW07XG4gICAgICAgIH1cblxuLm14X0luY29taW5nQ2FsbFRvYXN0IC5teF9JbmNvbWluZ0NhbGxUb2FzdF9jbG9zZUJ1dHRvbiB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcblxuICAgICAgICB0b3A6IDRweDtcbiAgICAgICAgcmlnaHQ6IDRweDtcblxuICAgICAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcblxuICAgICAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcblxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBoZWlnaHQ6IDE2cHg7XG4gICAgICAgIHdpZHRoOiAxNnB4O1xuICAgIH1cblxuLm14X0luY29taW5nQ2FsbFRvYXN0IC5teF9JbmNvbWluZ0NhbGxUb2FzdF9jbG9zZUJ1dHRvbjo6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG5cbiAgICAgICAgICAgIC13ZWJraXQtbWFzay1pbWFnZTogdXJsKFwiQHZlY3Rvci1pbS9jb21wb3VuZC1kZXNpZ24tdG9rZW5zL2ljb25zL2Nsb3NlLnN2Z1wiKTtcblxuICAgICAgICAgICAgICAgICAgICBtYXNrLWltYWdlOiB1cmwoXCJAdmVjdG9yLWltL2NvbXBvdW5kLWRlc2lnbi10b2tlbnMvaWNvbnMvY2xvc2Uuc3ZnXCIpO1xuXG4gICAgICAgICAgICBoZWlnaHQ6IGluaGVyaXQ7XG4gICAgICAgICAgICB3aWR0aDogaW5oZXJpdDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNlZGYzZmY7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1zZWNvbmRhcnktY29udGVudCwgI2VkZjNmZik7XG4gICAgICAgICAgICAtd2Via2l0LW1hc2stcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgICAgICAgICAgIG1hc2stcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgICAtd2Via2l0LW1hc2stc2l6ZTogY29udGFpbjtcbiAgICAgICAgICAgICAgICAgICAgbWFzay1zaXplOiBjb250YWluO1xuICAgICAgICAgICAgLXdlYmtpdC1tYXNrLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgIG1hc2stcG9zaXRpb246IGNlbnRlcjtcbiAgICAgICAgfVxuXG4vKlxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXG5Db3B5cmlnaHQgMjAyMSDFoGltb24gQnJhbmRuZXIgPHNpbW9uLmJyYS5hZ0BnbWFpbC5jb20+XG5Db3B5cmlnaHQgMjAyMCBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxuXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXG4qL1xuXG4ubXhfSW5jb21pbmdMZWdhY3lDYWxsVG9hc3Qge1xuICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgLXdlYmtpdC1ib3gtb3JpZW50OiBob3Jpem9udGFsO1xuICAgIC13ZWJraXQtYm94LWRpcmVjdGlvbjogbm9ybWFsO1xuICAgICAgICAtbXMtZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgLXdlYmtpdC1ib3gtYWxpZ246IHN0YXJ0O1xuICAgICAgICAtbXMtZmxleC1hbGlnbjogc3RhcnQ7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICBwb2ludGVyLWV2ZW50czogaW5pdGlhbDsgLyogcmVzdG9yZSBwb2ludGVyIGV2ZW50cyBzbyB0aGUgdXNlciBjYW4gYWNjZXB0L2RlY2xpbmUgKi9cbn1cblxuLm14X0luY29taW5nTGVnYWN5Q2FsbFRvYXN0IC5teF9JbmNvbWluZ0xlZ2FjeUNhbGxUb2FzdF9jb250ZW50IHtcbiAgICAgICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gICAgICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xuICAgICAgICAtd2Via2l0LWJveC1kaXJlY3Rpb246IG5vcm1hbDtcbiAgICAgICAgICAgIC1tcy1mbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIG1hcmdpbi1sZWZ0OiA4cHg7XG4gICAgfVxuXG4ubXhfSW5jb21pbmdMZWdhY3lDYWxsVG9hc3QgLm14X0luY29taW5nTGVnYWN5Q2FsbFRvYXN0X2NvbnRlbnQgLm14X0xlZ2FjeUNhbGxFdmVudF9jYWxsZXIge1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgICAgICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjEyNXJlbTtcblxuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcblxuICAgICAgICAgICAgbWFyZ2luLXRvcDogMnB4O1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiA2cHg7XG5cbiAgICAgICAgICAgIG1heC13aWR0aDogMjAwcHg7XG4gICAgICAgIH1cblxuLm14X0luY29taW5nTGVnYWN5Q2FsbFRvYXN0IC5teF9JbmNvbWluZ0xlZ2FjeUNhbGxUb2FzdF9jb250ZW50IC5teF9MZWdhY3lDYWxsRXZlbnRfdHlwZSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDAuNzVyZW07XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMC45Mzc1cmVtO1xuICAgICAgICAgICAgY29sb3I6ICNlZGYzZmY7XG4gICAgICAgICAgICBjb2xvcjogdmFyKC0tdGVydGlhcnktY29udGVudCwgI2VkZjNmZik7XG5cbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDRweDtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDZweDtcblxuICAgICAgICAgICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG5cbiAgICAgICAgICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgLXdlYmtpdC1ib3gtb3JpZW50OiBob3Jpem9udGFsO1xuICAgICAgICAgICAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiBub3JtYWw7XG4gICAgICAgICAgICAgICAgLW1zLWZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgICAgICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIH1cblxuLm14X0luY29taW5nTGVnYWN5Q2FsbFRvYXN0IC5teF9JbmNvbWluZ0xlZ2FjeUNhbGxUb2FzdF9jb250ZW50IC5teF9MZWdhY3lDYWxsRXZlbnRfdHlwZSAubXhfTGVnYWN5Q2FsbEV2ZW50X3R5cGVfaWNvbiB7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxNnB4O1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxNnB4O1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogNnB4O1xuICAgICAgICAgICAgfVxuXG4ubXhfSW5jb21pbmdMZWdhY3lDYWxsVG9hc3QgLm14X0luY29taW5nTGVnYWN5Q2FsbFRvYXN0X2NvbnRlbnQgLm14X0xlZ2FjeUNhbGxFdmVudF90eXBlIC5teF9MZWdhY3lDYWxsRXZlbnRfdHlwZV9pY29uOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogaW5oZXJpdDtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IGluaGVyaXQ7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNlZGYzZmY7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXRlcnRpYXJ5LWNvbnRlbnQsICNlZGYzZmYpO1xuICAgICAgICAgICAgICAgICAgICAtd2Via2l0LW1hc2stcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFzay1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgICAgICAgICAgICAgLXdlYmtpdC1tYXNrLXNpemU6IGNvbnRhaW47XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFzay1zaXplOiBjb250YWluO1xuICAgICAgICAgICAgICAgIH1cblxuLm14X0luY29taW5nTGVnYWN5Q2FsbFRvYXN0IC5teF9JbmNvbWluZ0xlZ2FjeUNhbGxUb2FzdF9jb250ZW50Lm14X0luY29taW5nTGVnYWN5Q2FsbFRvYXN0X2NvbnRlbnRfdm9pY2UgLm14X0xlZ2FjeUNhbGxFdmVudF90eXBlIC5teF9MZWdhY3lDYWxsRXZlbnRfdHlwZV9pY29uOjpiZWZvcmUsXG4gICAgICAgICAgICAubXhfSW5jb21pbmdMZWdhY3lDYWxsVG9hc3QgLm14X0luY29taW5nTGVnYWN5Q2FsbFRvYXN0X2NvbnRlbnQubXhfSW5jb21pbmdMZWdhY3lDYWxsVG9hc3RfY29udGVudF92b2ljZSAubXhfSW5jb21pbmdMZWdhY3lDYWxsVG9hc3RfYnV0dG9ucyAubXhfSW5jb21pbmdMZWdhY3lDYWxsVG9hc3RfYnV0dG9uX2FjY2VwdCBzcGFuOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIC13ZWJraXQtbWFzay1pbWFnZTogdXJsKFwiLi4vLi4vLi4vaW1nL2VsZW1lbnQtaWNvbnMvY2FsbC92b2ljZS1jYWxsLnN2Z1wiKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hc2staW1hZ2U6IHVybChcIi4uLy4uLy4uL2ltZy9lbGVtZW50LWljb25zL2NhbGwvdm9pY2UtY2FsbC5zdmdcIik7XG4gICAgICAgICAgICB9XG5cbi5teF9JbmNvbWluZ0xlZ2FjeUNhbGxUb2FzdCAubXhfSW5jb21pbmdMZWdhY3lDYWxsVG9hc3RfY29udGVudC5teF9JbmNvbWluZ0xlZ2FjeUNhbGxUb2FzdF9jb250ZW50X3ZpZGVvIC5teF9MZWdhY3lDYWxsRXZlbnRfdHlwZSAubXhfTGVnYWN5Q2FsbEV2ZW50X3R5cGVfaWNvbjo6YmVmb3JlLFxuICAgICAgICAgICAgLm14X0luY29taW5nTGVnYWN5Q2FsbFRvYXN0IC5teF9JbmNvbWluZ0xlZ2FjeUNhbGxUb2FzdF9jb250ZW50Lm14X0luY29taW5nTGVnYWN5Q2FsbFRvYXN0X2NvbnRlbnRfdmlkZW8gLm14X0luY29taW5nTGVnYWN5Q2FsbFRvYXN0X2J1dHRvbnMgLm14X0luY29taW5nTGVnYWN5Q2FsbFRvYXN0X2J1dHRvbl9hY2NlcHQgc3Bhbjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAtd2Via2l0LW1hc2staW1hZ2U6IHVybChcIi4uLy4uLy4uL2ltZy9lbGVtZW50LWljb25zL2NhbGwvdmlkZW8tY2FsbC5zdmdcIik7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXNrLWltYWdlOiB1cmwoXCIuLi8uLi8uLi9pbWcvZWxlbWVudC1pY29ucy9jYWxsL3ZpZGVvLWNhbGwuc3ZnXCIpO1xuICAgICAgICAgICAgfVxuXG4ubXhfSW5jb21pbmdMZWdhY3lDYWxsVG9hc3QgLm14X0luY29taW5nTGVnYWN5Q2FsbFRvYXN0X2NvbnRlbnQgLm14X0luY29taW5nTGVnYWN5Q2FsbFRvYXN0X2J1dHRvbnMge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogOHB4O1xuICAgICAgICAgICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gICAgICAgICAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAtd2Via2l0LWJveC1vcmllbnQ6IGhvcml6b250YWw7XG4gICAgICAgICAgICAtd2Via2l0LWJveC1kaXJlY3Rpb246IG5vcm1hbDtcbiAgICAgICAgICAgICAgICAtbXMtZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgICAgIGdhcDogMTJweDtcbiAgICAgICAgfVxuXG4ubXhfSW5jb21pbmdMZWdhY3lDYWxsVG9hc3QgLm14X0luY29taW5nTGVnYWN5Q2FsbFRvYXN0X2NvbnRlbnQgLm14X0luY29taW5nTGVnYWN5Q2FsbFRvYXN0X2J1dHRvbnMgLm14X0luY29taW5nTGVnYWN5Q2FsbFRvYXN0X2J1dHRvbiB7XG4gICAgICAgICAgICAgICAgLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICAgICAgICAgICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogdmFyKC0tY3BkLWZvbnQtd2VpZ2h0LXNlbWlib2xkKTtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDEuNXJlbTtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMS41cmVtO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgICAgIH1cblxuLm14X0luY29taW5nTGVnYWN5Q2FsbFRvYXN0IC5teF9JbmNvbWluZ0xlZ2FjeUNhbGxUb2FzdF9jb250ZW50IC5teF9JbmNvbWluZ0xlZ2FjeUNhbGxUb2FzdF9idXR0b25zIC5teF9JbmNvbWluZ0xlZ2FjeUNhbGxUb2FzdF9idXR0b24gc3BhbiB7XG4gICAgICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICAgICAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB9XG5cbi5teF9JbmNvbWluZ0xlZ2FjeUNhbGxUb2FzdCAubXhfSW5jb21pbmdMZWdhY3lDYWxsVG9hc3RfY29udGVudCAubXhfSW5jb21pbmdMZWdhY3lDYWxsVG9hc3RfYnV0dG9ucyAubXhfSW5jb21pbmdMZWdhY3lDYWxsVG9hc3RfYnV0dG9uIHNwYW46OmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gICAgICAgICAgICAtd2Via2l0LW1hc2stcG9zaXRpb246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgbWFzay1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgICAgICAgLXdlYmtpdC1tYXNrLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgICAgICAgICAgICBtYXNrLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiA4cHg7XG4gICAgICAgIH1cblxuLm14X0luY29taW5nTGVnYWN5Q2FsbFRvYXN0IC5teF9JbmNvbWluZ0xlZ2FjeUNhbGxUb2FzdF9jb250ZW50IC5teF9JbmNvbWluZ0xlZ2FjeUNhbGxUb2FzdF9idXR0b25zIC5teF9JbmNvbWluZ0xlZ2FjeUNhbGxUb2FzdF9idXR0b24ge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDBweCA4cHg7XG4gICAgICAgICAgICAgICAgLW1zLWZsZXgtbmVnYXRpdmU6IDA7XG4gICAgICAgICAgICAgICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgICAgICAgICAgICAgIC13ZWJraXQtYm94LWZsZXg6IDE7XG4gICAgICAgICAgICAgICAgICAgIC1tcy1mbGV4LXBvc2l0aXZlOiAxO1xuICAgICAgICAgICAgICAgICAgICAgICAgZmxleC1ncm93OiAxO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xufVxuXG4ubXhfSW5jb21pbmdMZWdhY3lDYWxsVG9hc3QgLm14X0luY29taW5nTGVnYWN5Q2FsbFRvYXN0X2NvbnRlbnQgLm14X0luY29taW5nTGVnYWN5Q2FsbFRvYXN0X2J1dHRvbnMgLm14X0luY29taW5nTGVnYWN5Q2FsbFRvYXN0X2J1dHRvbiBzcGFuIHtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogOHB4IDA7XG4gICAgICAgICAgICAgICAgfVxuXG4ubXhfSW5jb21pbmdMZWdhY3lDYWxsVG9hc3QgLm14X0luY29taW5nTGVnYWN5Q2FsbFRvYXN0X2NvbnRlbnQgLm14X0luY29taW5nTGVnYWN5Q2FsbFRvYXN0X2J1dHRvbnMgLm14X0luY29taW5nTGVnYWN5Q2FsbFRvYXN0X2J1dHRvbi5teF9JbmNvbWluZ0xlZ2FjeUNhbGxUb2FzdF9idXR0b25fYWNjZXB0IHNwYW46OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgIC13ZWJraXQtbWFzay1zaXplOiAxM3B4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hc2stc2l6ZTogMTNweDtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEzcHg7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogMTNweDtcbiAgICAgICAgICAgICAgICB9XG5cbi5teF9JbmNvbWluZ0xlZ2FjeUNhbGxUb2FzdCAubXhfSW5jb21pbmdMZWdhY3lDYWxsVG9hc3RfY29udGVudCAubXhfSW5jb21pbmdMZWdhY3lDYWxsVG9hc3RfYnV0dG9ucyAubXhfSW5jb21pbmdMZWdhY3lDYWxsVG9hc3RfYnV0dG9uLm14X0luY29taW5nTGVnYWN5Q2FsbFRvYXN0X2J1dHRvbl9kZWNsaW5lIHNwYW46OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgIC13ZWJraXQtbWFzay1pbWFnZTogdXJsKFwiLi4vLi4vLi4vaW1nL2VsZW1lbnQtaWNvbnMvY2FsbC9oYW5ndXAuc3ZnXCIpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hc2staW1hZ2U6IHVybChcIi4uLy4uLy4uL2ltZy9lbGVtZW50LWljb25zL2NhbGwvaGFuZ3VwLnN2Z1wiKTtcbiAgICAgICAgICAgICAgICAgICAgLXdlYmtpdC1tYXNrLXNpemU6IDE2cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFzay1zaXplOiAxNnB4O1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTZweDtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxNnB4O1xuICAgICAgICAgICAgICAgIH1cblxuLm14X0luY29taW5nTGVnYWN5Q2FsbFRvYXN0IC5teF9JbmNvbWluZ0xlZ2FjeUNhbGxUb2FzdF9pY29uQnV0dG9uIHtcbiAgICAgICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gICAgICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICAgIHdpZHRoOiAyMHB4O1xuICAgIH1cblxuLm14X0luY29taW5nTGVnYWN5Q2FsbFRvYXN0IC5teF9JbmNvbWluZ0xlZ2FjeUNhbGxUb2FzdF9pY29uQnV0dG9uOjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogXCJcIjtcblxuICAgICAgICAgICAgaGVpZ2h0OiBpbmhlcml0O1xuICAgICAgICAgICAgd2lkdGg6IGluaGVyaXQ7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWRmM2ZmO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdGVydGlhcnktY29udGVudCwgI2VkZjNmZik7XG4gICAgICAgICAgICAtd2Via2l0LW1hc2stcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgICAgICAgICAgIG1hc2stcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgICAtd2Via2l0LW1hc2stc2l6ZTogY29udGFpbjtcbiAgICAgICAgICAgICAgICAgICAgbWFzay1zaXplOiBjb250YWluO1xuICAgICAgICAgICAgLXdlYmtpdC1tYXNrLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgIG1hc2stcG9zaXRpb246IGNlbnRlcjtcbiAgICAgICAgfVxuXG4ubXhfSW5jb21pbmdMZWdhY3lDYWxsVG9hc3QgLm14X0luY29taW5nTGVnYWN5Q2FsbFRvYXN0X3NpbGVuY2U6OmJlZm9yZSB7XG4gICAgICAgIC13ZWJraXQtbWFzay1pbWFnZTogdXJsKFwiLi4vLi4vLi4vaW1nL3ZvaXAvc2lsZW5jZS5zdmdcIik7XG4gICAgICAgICAgICAgICAgbWFzay1pbWFnZTogdXJsKFwiLi4vLi4vLi4vaW1nL3ZvaXAvc2lsZW5jZS5zdmdcIik7XG4gICAgfVxuXG4ubXhfSW5jb21pbmdMZWdhY3lDYWxsVG9hc3QgLm14X0luY29taW5nTGVnYWN5Q2FsbFRvYXN0X3VuU2lsZW5jZTo6YmVmb3JlIHtcbiAgICAgICAgLXdlYmtpdC1tYXNrLWltYWdlOiB1cmwoXCIuLi8uLi8uLi9pbWcvdm9pcC91bi1zaWxlbmNlLnN2Z1wiKTtcbiAgICAgICAgICAgICAgICBtYXNrLWltYWdlOiB1cmwoXCIuLi8uLi8uLi9pbWcvdm9pcC91bi1zaWxlbmNlLnN2Z1wiKTtcbiAgICB9XG5cbi8qXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cbkNvcHlyaWdodCAyMDIwIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXG5cblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cbiovXG5cbi5teF9Ob25VcmdlbnRFY2hvRmFpbHVyZVRvYXN0IC5teF9Ob25VcmdlbnRFY2hvRmFpbHVyZVRvYXN0X2ljb24ge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHdpZHRoOiAxLjEyNXJlbTtcbiAgICAgICAgaGVpZ2h0OiAxLjEyNXJlbTtcbiAgICAgICAgLXdlYmtpdC1tYXNrLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgbWFzay1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgICAtd2Via2l0LW1hc2stc2l6ZTogY29udGFpbjtcbiAgICAgICAgICAgICAgICBtYXNrLXNpemU6IGNvbnRhaW47XG4gICAgICAgIC13ZWJraXQtbWFzay1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgICAgICAgICBtYXNrLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmOyAvKiB3ZSBrbm93IHRoYXQgbm9uLXVyZ2VudCB0b2FzdHMgYXJlIGFsd2F5cyBzdHlsZWQgdGhlIHNhbWUgKi9cbiAgICAgICAgLXdlYmtpdC1tYXNrLWltYWdlOiB1cmwoXCIuLi8uLi8uLi9pbWcvZWxlbWVudC1pY29ucy9jbG91ZC1vZmYuc3ZnXCIpO1xuICAgICAgICAgICAgICAgIG1hc2staW1hZ2U6IHVybChcIi4uLy4uLy4uL2ltZy9lbGVtZW50LWljb25zL2Nsb3VkLW9mZi5zdmdcIik7XG4gICAgICAgIG1hcmdpbi1yaWdodDogOHB4O1xuICAgIH1cblxuLm14X05vblVyZ2VudEVjaG9GYWlsdXJlVG9hc3Qgc3BhbiB7XG4gICAgICAgIC8qIGluY2x1ZGVzIHRoZSBpMThuIGJsb2NrICovXG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgfVxuXG4vKlxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXG5Db3B5cmlnaHQgMjAyMS0yMDIzIHggVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cblxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuKi9cblxuLm14X0hlYWRpbmdfaDEsXG4ubXhfSGVhZGluZ19oMixcbi5teF9IZWFkaW5nX2gzLFxuLm14X0hlYWRpbmdfaDQge1xuICAgIG1hcmdpbi1pbmxpbmU6IHVuc2V0O1xuICAgIG1hcmdpbi1ibG9jazogdW5zZXQ7XG59XG5cbi5teF9IZWFkaW5nX2gxIHtcbiAgICBmb250OiB2YXIoLS1jcGQtZm9udC1oZWFkaW5nLXhsLXNlbWlib2xkKTtcbn1cblxuLm14X0hlYWRpbmdfaDIge1xuICAgIGZvbnQ6IHZhcigtLWNwZC1mb250LWhlYWRpbmctbGctc2VtaWJvbGQpO1xufVxuXG4ubXhfSGVhZGluZ19oMyB7XG4gICAgZm9udDogdmFyKC0tY3BkLWZvbnQtaGVhZGluZy1tZC1zZW1pYm9sZCk7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWNwZC1mb250LXdlaWdodC1zZW1pYm9sZCk7XG59XG5cbi5teF9IZWFkaW5nX2g0IHtcbiAgICBmb250OiB2YXIoLS1jcGQtZm9udC1oZWFkaW5nLXNtLXNlbWlib2xkKTtcbiAgICBmb250LXdlaWdodDogdmFyKC0tY3BkLWZvbnQtd2VpZ2h0LXNlbWlib2xkKTtcbn1cblxuLypcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxuQ29weXJpZ2h0IDIwMjIgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cblxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuKi9cblxuLm14X1VzZXJPbmJvYXJkaW5nQnV0dG9uIHtcbiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWw7XG4gICAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiBub3JtYWw7XG4gICAgICAgIC1tcy1mbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAtbXMtZmxleC1saW5lLXBhY2s6IHN0cmV0Y2g7XG4gICAgICAgIGFsaWduLWNvbnRlbnQ6IHN0cmV0Y2g7XG4gICAgLXdlYmtpdC1ib3gtYWxpZ246IHN0cmV0Y2g7XG4gICAgICAgIC1tcy1mbGV4LWFsaWduOiBzdHJldGNoO1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgYm9yZGVyLXJhZGl1czogOHB4O1xuICAgIG1hcmdpbjogOHB4IDhweCAwO1xuICAgIHBhZGRpbmc6IDEycHg7XG59XG5cbi5teF9Vc2VyT25ib2FyZGluZ0J1dHRvbi5teF9Vc2VyT25ib2FyZGluZ0J1dHRvbl9zZWxlY3RlZCxcbiAgICAubXhfVXNlck9uYm9hcmRpbmdCdXR0b246aG92ZXIsXG4gICAgLm14X1VzZXJPbmJvYXJkaW5nQnV0dG9uOmZvY3VzLXdpdGhpbiB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXJvb21saXN0LWhpZ2hsaWdodHMtY29sb3IpO1xuICAgIH1cblxuLm14X1VzZXJPbmJvYXJkaW5nQnV0dG9uIC5teF9Vc2VyT25ib2FyZGluZ0J1dHRvbl9jb250ZW50IHtcbiAgICAgICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gICAgICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAtd2Via2l0LWJveC1vcmllbnQ6IGhvcml6b250YWw7XG4gICAgICAgIC13ZWJraXQtYm94LWRpcmVjdGlvbjogbm9ybWFsO1xuICAgICAgICAgICAgLW1zLWZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgZ2FwOiA1cHg7XG4gICAgICAgIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgfVxuXG4ubXhfVXNlck9uYm9hcmRpbmdCdXR0b24gLm14X1VzZXJPbmJvYXJkaW5nQnV0dG9uX2NvbnRlbnQgLm14X0hlYWRpbmdfaDQge1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgZm9udDogdmFyKC0tY3BkLWZvbnQtYm9keS1tZC1yZWd1bGFyKTtcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS10aW1lbGluZS10ZXh0LWNvbG9yKTtcbiAgICAgICAgfVxuXG4ubXhfVXNlck9uYm9hcmRpbmdCdXR0b24gLm14X1VzZXJPbmJvYXJkaW5nQnV0dG9uX2NvbnRlbnQgLm14X1VzZXJPbmJvYXJkaW5nQnV0dG9uX3BlcmNlbnRhZ2Uge1xuICAgICAgICAgICAgZm9udC1zaXplOiAwLjc1cmVtO1xuICAgICAgICAgICAgY29sb3I6ICNlZGYzZmY7XG4gICAgICAgICAgICBjb2xvcjogdmFyKC0tc2Vjb25kYXJ5LWNvbnRlbnQsICNlZGYzZmYpO1xuICAgICAgICB9XG5cbi5teF9Vc2VyT25ib2FyZGluZ0J1dHRvbiAubXhfVXNlck9uYm9hcmRpbmdCdXR0b25fY29udGVudCAubXhfVXNlck9uYm9hcmRpbmdCdXR0b25fY2xvc2Uge1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICAgICAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICAgICAgd2lkdGg6IDE0cHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDE0cHg7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiA3cHg7XG4gICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjZWRmM2ZmO1xuICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tc2Vjb25kYXJ5LWNvbnRlbnQsICNlZGYzZmYpO1xuICAgICAgICAgICAgLW1zLWZsZXgtbmVnYXRpdmU6IDA7XG4gICAgICAgICAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICAgIH1cblxuLm14X1VzZXJPbmJvYXJkaW5nQnV0dG9uIC5teF9Vc2VyT25ib2FyZGluZ0J1dHRvbl9jb250ZW50IC5teF9Vc2VyT25ib2FyZGluZ0J1dHRvbl9jbG9zZTo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWRmM2ZmO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXNlY29uZGFyeS1jb250ZW50LCAjZWRmM2ZmKTtcbiAgICAgICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgICAgIC13ZWJraXQtbWFzay1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hc2stcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgICAgICAgLXdlYmtpdC1tYXNrLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXNrLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgLXdlYmtpdC1tYXNrLXNpemU6IDEycHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXNrLXNpemU6IDEycHg7XG4gICAgICAgICAgICAgICAgd2lkdGg6IGluaGVyaXQ7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiBpbmhlcml0O1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICBsZWZ0OiAtMXB4O1xuICAgICAgICAgICAgICAgIHRvcDogLTFweDtcbiAgICAgICAgICAgICAgICAtd2Via2l0LW1hc2staW1hZ2U6IHVybChcIkB2ZWN0b3ItaW0vY29tcG91bmQtZGVzaWduLXRva2Vucy9pY29ucy9jbG9zZS5zdmdcIik7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXNrLWltYWdlOiB1cmwoXCJAdmVjdG9yLWltL2NvbXBvdW5kLWRlc2lnbi10b2tlbnMvaWNvbnMvY2xvc2Uuc3ZnXCIpO1xuICAgICAgICAgICAgfVxuXG4ubXhfVXNlck9uYm9hcmRpbmdCdXR0b24gLm14X1Byb2dyZXNzQmFyIHtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIG1hcmdpbi10b3A6IDhweDtcbiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tdGltZWxpbmUtYmFja2dyb3VuZC1jb2xvcik7XG4gICAgfVxuXG4ubXhfVXNlck9uYm9hcmRpbmdCdXR0b24ubXhfVXNlck9uYm9hcmRpbmdCdXR0b25fY29tcGxldGVkIC5teF9Qcm9ncmVzc0JhciB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4vKlxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXG5Db3B5cmlnaHQgMjAyMiBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxuXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXG4qL1xuXG4ubXhfVXNlck9uYm9hcmRpbmdIZWFkZXIge1xuICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgLXdlYmtpdC1ib3gtb3JpZW50OiBob3Jpem9udGFsO1xuICAgIC13ZWJraXQtYm94LWRpcmVjdGlvbjogbm9ybWFsO1xuICAgICAgICAtbXMtZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgcGFkZGluZzogMzJweDtcbiAgICBib3JkZXItcmFkaXVzOiAxNnB4O1xuICAgIGJhY2tncm91bmQ6ICMyMTI2MmM7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tc3lzdGVtLCAjMjEyNjJjKTtcbiAgICBnYXA6IDY0cHg7XG5cbiAgICAtd2Via2l0LWFuaW1hdGlvbi1kZWxheTogMTUwMG1zO1xuXG4gICAgICAgICAgICBhbmltYXRpb24tZGVsYXk6IDE1MDBtcztcbiAgICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogMzAwbXM7XG4gICAgICAgICAgICBhbmltYXRpb24tZHVyYXRpb246IDMwMG1zO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAsIDAsIDAuNTgsIDEpO1xuICAgICAgICAgICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAsIDAsIDAuNTgsIDEpO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IG14X1VzZXJPbmJvYXJkaW5nSGVhZGVyX3NsaWRlSW47XG4gICAgICAgICAgICBhbmltYXRpb24tbmFtZTogbXhfVXNlck9uYm9hcmRpbmdIZWFkZXJfc2xpZGVJbjtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi1maWxsLW1vZGU6IGJhY2t3YXJkcztcbiAgICAgICAgICAgIGFuaW1hdGlvbi1maWxsLW1vZGU6IGJhY2t3YXJkcztcbiAgICB3aWxsLWNoYW5nZTogb3BhY2l0eSwgdHJhbnNmb3JtO1xufVxuXG5AbWVkaWEgKG1heC13aWR0aDogMTI4MHB4KSB7XG5cbi5teF9Vc2VyT25ib2FyZGluZ0hlYWRlciB7XG4gICAgICAgIG1hcmdpbjogMzJweFxufVxuICAgIH1cblxuLm14X1VzZXJPbmJvYXJkaW5nSGVhZGVyIC5teF9Vc2VyT25ib2FyZGluZ0hlYWRlcl9kb3Qge1xuICAgICAgICBjb2xvcjogIzBkYmQ4YjtcbiAgICAgICAgY29sb3I6IHZhcigtLWFjY2VudC1jb2xvciwgIzBkYmQ4Yik7XG4gICAgfVxuXG4ubXhfVXNlck9uYm9hcmRpbmdIZWFkZXIgLm14X1VzZXJPbmJvYXJkaW5nSGVhZGVyX2NvbnRlbnQge1xuICAgICAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgICAgICAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWw7XG4gICAgICAgIC13ZWJraXQtYm94LWRpcmVjdGlvbjogbm9ybWFsO1xuICAgICAgICAgICAgLW1zLWZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgLW1zLWZsZXgtcHJlZmVycmVkLXNpemU6IDUwJTtcbiAgICAgICAgICAgIGZsZXgtYmFzaXM6IDUwJTtcbiAgICAgICAgLW1zLWZsZXgtbmVnYXRpdmU6IDE7XG4gICAgICAgICAgICBmbGV4LXNocmluazogMTtcbiAgICAgICAgLXdlYmtpdC1ib3gtZmxleDogMTtcbiAgICAgICAgICAgIC1tcy1mbGV4LXBvc2l0aXZlOiAxO1xuICAgICAgICAgICAgICAgIGZsZXgtZ3JvdzogMTtcbiAgICAgICAgbWluLXdpZHRoOiAwO1xuICAgICAgICBnYXA6IDI0cHg7XG4gICAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICB9XG5cbi5teF9Vc2VyT25ib2FyZGluZ0hlYWRlciAubXhfVXNlck9uYm9hcmRpbmdIZWFkZXJfY29udGVudCBwIHtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgfVxuXG4ubXhfVXNlck9uYm9hcmRpbmdIZWFkZXIgLm14X1VzZXJPbmJvYXJkaW5nSGVhZGVyX2NvbnRlbnQgLm14X0FjY2Vzc2libGVCdXR0b24ge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogYXV0bztcbiAgICAgICAgICAgIC1tcy1mbGV4LWl0ZW0tYWxpZ246IHN0YXJ0O1xuICAgICAgICAgICAgICAgIGFsaWduLXNlbGY6IGZsZXgtc3RhcnQ7XG4gICAgICAgICAgICBwYWRkaW5nOiAxMnB4IDI0cHg7XG4gICAgICAgIH1cblxuLm14X1VzZXJPbmJvYXJkaW5nSGVhZGVyIC5teF9Vc2VyT25ib2FyZGluZ0hlYWRlcl9pbWFnZSB7XG4gICAgICAgIC1tcy1mbGV4LXByZWZlcnJlZC1zaXplOiAzMCU7XG4gICAgICAgICAgICBmbGV4LWJhc2lzOiAzMCU7XG4gICAgICAgIC1tcy1mbGV4LW5lZ2F0aXZlOiAxO1xuICAgICAgICAgICAgZmxleC1zaHJpbms6IDE7XG4gICAgICAgIC13ZWJraXQtYm94LWZsZXg6IDE7XG4gICAgICAgICAgICAtbXMtZmxleC1wb3NpdGl2ZTogMTtcbiAgICAgICAgICAgICAgICBmbGV4LWdyb3c6IDE7XG4gICAgICAgIC1tcy1mbGV4LWl0ZW0tYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgICAgICAgaGVpZ2h0OiBjYWxjKDEwMCUgKyA2NHB4ICsgNjRweCk7XG4gICAgICAgIGFzcGVjdC1yYXRpbzogNCAvIDM7XG4gICAgICAgIC1vLW9iamVjdC1maXQ6IGNvbnRhaW47XG4gICAgICAgICAgIG9iamVjdC1maXQ6IGNvbnRhaW47XG4gICAgICAgIG1pbi13aWR0aDogMDtcbiAgICAgICAgbWluLWhlaWdodDogMDtcbiAgICAgICAgbWFyZ2luLXRvcDogLTY0cHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IC02NHB4O1xuXG4gICAgICAgIC13ZWJraXQtYW5pbWF0aW9uLWRlbGF5OiAxNTAwbXM7XG5cbiAgICAgICAgICAgICAgICBhbmltYXRpb24tZGVsYXk6IDE1MDBtcztcbiAgICAgICAgLXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246IDMwMG1zO1xuICAgICAgICAgICAgICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogMzAwbXM7XG4gICAgICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAsIDAsIDAuNTgsIDEpO1xuICAgICAgICAgICAgICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLCAwLCAwLjU4LCAxKTtcbiAgICAgICAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogbXhfVXNlck9uYm9hcmRpbmdIZWFkZXJfc2xpZGVJbkxvbmc7XG4gICAgICAgICAgICAgICAgYW5pbWF0aW9uLW5hbWU6IG14X1VzZXJPbmJvYXJkaW5nSGVhZGVyX3NsaWRlSW5Mb25nO1xuICAgICAgICAtd2Via2l0LWFuaW1hdGlvbi1maWxsLW1vZGU6IGJhY2t3YXJkcztcbiAgICAgICAgICAgICAgICBhbmltYXRpb24tZmlsbC1tb2RlOiBiYWNrd2FyZHM7XG4gICAgICAgIHdpbGwtY2hhbmdlOiBvcGFjaXR5LCB0cmFuc2Zvcm07XG4gICAgfVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgbXhfVXNlck9uYm9hcmRpbmdIZWFkZXJfc2xpZGVJbiB7XG4gICAgMCUge1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDhweCk7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgOHB4KTtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICB9XG4gICAgMTAwJSB7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxufVxuXG5Aa2V5ZnJhbWVzIG14X1VzZXJPbmJvYXJkaW5nSGVhZGVyX3NsaWRlSW4ge1xuICAgIDAlIHtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCA4cHgpO1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDhweCk7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgfVxuICAgIDEwMCUge1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApO1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApO1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgIH1cbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIG14X1VzZXJPbmJvYXJkaW5nSGVhZGVyX3NsaWRlSW5Mb25nIHtcbiAgICAwJSB7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMzJweCk7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMzJweCk7XG4gICAgfVxuICAgIDEwMCUge1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApO1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApO1xuICAgIH1cbn1cblxuQGtleWZyYW1lcyBteF9Vc2VyT25ib2FyZGluZ0hlYWRlcl9zbGlkZUluTG9uZyB7XG4gICAgMCUge1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDMycHgpO1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDMycHgpO1xuICAgIH1cbiAgICAxMDAlIHtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTtcbiAgICB9XG59XG5cbi8qXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cbkNvcHlyaWdodCAyMDIyIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXG5cblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cbiovXG5cbi5teF9Vc2VyT25ib2FyZGluZ0xpc3Qge1xuICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcbiAgICAtd2Via2l0LWJveC1kaXJlY3Rpb246IG5vcm1hbDtcbiAgICAgICAgLW1zLWZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIG1hcmdpbjogMCAzMnB4O1xuXG4gICAgLXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246IDMwMG1zO1xuXG4gICAgICAgICAgICBhbmltYXRpb24tZHVyYXRpb246IDMwMG1zO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAsIDAsIDAuNTgsIDEpO1xuICAgICAgICAgICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAsIDAsIDAuNTgsIDEpO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IG14X1VzZXJPbmJvYXJkaW5nTGlzdF9zbGlkZUluO1xuICAgICAgICAgICAgYW5pbWF0aW9uLW5hbWU6IG14X1VzZXJPbmJvYXJkaW5nTGlzdF9zbGlkZUluO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLWZpbGwtbW9kZTogYmFja3dhcmRzO1xuICAgICAgICAgICAgYW5pbWF0aW9uLWZpbGwtbW9kZTogYmFja3dhcmRzO1xuICAgIHdpbGwtY2hhbmdlOiBvcGFjaXR5O1xufVxuXG4ubXhfVXNlck9uYm9hcmRpbmdMaXN0IC5teF9Vc2VyT25ib2FyZGluZ0xpc3RfaGVhZGVyIHtcbiAgICAgICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gICAgICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAtd2Via2l0LWJveC1vcmllbnQ6IGhvcml6b250YWw7XG4gICAgICAgIC13ZWJraXQtYm94LWRpcmVjdGlvbjogbm9ybWFsO1xuICAgICAgICAgICAgLW1zLWZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgZ2FwOiAxMnB4O1xuICAgICAgICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIH1cblxuLm14X1VzZXJPbmJvYXJkaW5nTGlzdCAubXhfVXNlck9uYm9hcmRpbmdMaXN0X2hlYWRlciAubXhfVXNlck9uYm9hcmRpbmdMaXN0X2hpbnQge1xuICAgICAgICAgICAgY29sb3I6ICNlZGYzZmY7XG4gICAgICAgICAgICBjb2xvcjogdmFyKC0tc2Vjb25kYXJ5LWNvbnRlbnQsICNlZGYzZmYpO1xuICAgICAgICB9XG5cbi5teF9Vc2VyT25ib2FyZGluZ0xpc3QgLm14X1VzZXJPbmJvYXJkaW5nTGlzdF9wcm9ncmVzcyB7XG4gICAgICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICAgICAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcbiAgICAgICAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiBub3JtYWw7XG4gICAgICAgICAgICAtbXMtZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBjb3VudGVyLXJlc2V0OiB1c2VyLW9uYm9hcmRpbmc7XG4gICAgfVxuXG4ubXhfVXNlck9uYm9hcmRpbmdMaXN0IC5teF9Vc2VyT25ib2FyZGluZ0xpc3RfcHJvZ3Jlc3MgLm14X1Byb2dyZXNzQmFyIHtcbiAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMTZweDtcbiAgICAgICAgICAgIGhlaWdodDogMTZweDtcblxuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMTZweDtcbiAgICAgICAgfVxuXG4ubXhfVXNlck9uYm9hcmRpbmdMaXN0IC5teF9Vc2VyT25ib2FyZGluZ0xpc3RfcHJvZ3Jlc3MgLm14X1Byb2dyZXNzQmFyOjotbW96LXByb2dyZXNzLWJhciB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDE2cHg7XG4gICAgfVxuXG4ubXhfVXNlck9uYm9hcmRpbmdMaXN0IC5teF9Vc2VyT25ib2FyZGluZ0xpc3RfcHJvZ3Jlc3MgLm14X1Byb2dyZXNzQmFyOjotd2Via2l0LXByb2dyZXNzLWJhcixcbiAgICAubXhfVXNlck9uYm9hcmRpbmdMaXN0IC5teF9Vc2VyT25ib2FyZGluZ0xpc3RfcHJvZ3Jlc3MgLm14X1Byb2dyZXNzQmFyOjotd2Via2l0LXByb2dyZXNzLXZhbHVlIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMTZweDtcbiAgICB9XG5cbi5teF9Vc2VyT25ib2FyZGluZ0xpc3QgLm14X1VzZXJPbmJvYXJkaW5nTGlzdF9saXN0IHtcbiAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAtd2Via2l0LW1heC1jb250ZW50IDFmciAtd2Via2l0LW1heC1jb250ZW50O1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IG1heC1jb250ZW50IDFmciBtYXgtY29udGVudDtcblxuICAgICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG5cbiAgICAgICAgICAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xuXG4gICAgICAgICAgICAgICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgICAgbWFyZ2luOiAzMnB4IDAgMDtcbiAgICAgICAgcGFkZGluZzogMDtcblxuICAgICAgICBncmlkLWdhcDogMjRweDtcbiAgICB9XG5cbkAtd2Via2l0LWtleWZyYW1lcyBteF9Vc2VyT25ib2FyZGluZ0xpc3Rfc2xpZGVJbiB7XG4gICAgMCUge1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDhweCk7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgOHB4KTtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICB9XG4gICAgMTAwJSB7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxufVxuXG5Aa2V5ZnJhbWVzIG14X1VzZXJPbmJvYXJkaW5nTGlzdF9zbGlkZUluIHtcbiAgICAwJSB7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgOHB4KTtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCA4cHgpO1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgIH1cbiAgICAxMDAlIHtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG59XG5cbi8qXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cbkNvcHlyaWdodCAyMDIyIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXG5cblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cbiovXG5cbi5teF9Vc2VyT25ib2FyZGluZ1BhZ2Uge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcblxuICAgIC1tcy1mbGV4LWl0ZW0tYWxpZ246IHN0cmV0Y2g7XG5cbiAgICAgICAgYWxpZ24tc2VsZjogc3RyZXRjaDtcbiAgICBtYXgtd2lkdGg6IDEyMDBweDtcbiAgICBtYXJnaW46IDAgYXV0byBhdXRvO1xuXG4gICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG5cbiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcblxuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcbiAgICAtd2Via2l0LWJveC1kaXJlY3Rpb246IG5vcm1hbDtcbiAgICAgICAgLW1zLWZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG5cbiAgICBnYXA6IDY0cHg7XG4gICAgcGFkZGluZzogNjRweCAxMDBweDtcbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDEyODBweCkge1xuXG4ubXhfVXNlck9uYm9hcmRpbmdQYWdlIHtcbiAgICAgICAgcGFkZGluZzogNDhweCAzMnB4XG59XG4gICAgfVxuXG4vKlxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXG5Db3B5cmlnaHQgMjAyMiBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxuXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXG4qL1xuXG4ubXhfVXNlck9uYm9hcmRpbmdUYXNrIHtcbiAgICBkaXNwbGF5OiBjb250ZW50cztcbn1cblxuLm14X1VzZXJPbmJvYXJkaW5nVGFzayAubXhfVXNlck9uYm9hcmRpbmdUYXNrX251bWJlciB7XG4gICAgICAgIGNvdW50ZXItaW5jcmVtZW50OiB1c2VyLW9uYm9hcmRpbmc7XG4gICAgICAgIGdyaWQtY29sdW1uOiAxO1xuICAgICAgICBjb2xvcjogI2VkZjNmZjtcbiAgICAgICAgY29sb3I6IHZhcigtLXNlY29uZGFyeS1jb250ZW50LCAjZWRmM2ZmKTtcbiAgICAgICAgd2lkdGg6IDMycHg7XG4gICAgICAgIGhlaWdodDogMzJweDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBib3JkZXI6IDJweCBzb2xpZCAjNmY3ODgyO1xuICAgICAgICBib3JkZXI6IDJweCBzb2xpZCB2YXIoLS1xdWluYXJ5LWNvbnRlbnQsICM2Zjc4ODIpO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAzMnB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMzJweDtcbiAgICAgICAgYWxpZ24tc2VsZjogY2VudGVyO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgfVxuXG4ubXhfVXNlck9uYm9hcmRpbmdUYXNrIC5teF9Vc2VyT25ib2FyZGluZ1Rhc2tfbnVtYmVyOjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogY291bnRlcih1c2VyLW9uYm9hcmRpbmcpO1xuICAgICAgICB9XG5cbi5teF9Vc2VyT25ib2FyZGluZ1Rhc2sgLm14X1VzZXJPbmJvYXJkaW5nVGFza19jb250ZW50IHtcbiAgICAgICAgZ3JpZC1jb2x1bW46IDI7XG4gICAgICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICAgICAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcbiAgICAgICAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiBub3JtYWw7XG4gICAgICAgICAgICAtbXMtZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAtd2Via2l0LWJveC1mbGV4OiAxO1xuICAgICAgICAgICAgLW1zLWZsZXgtcG9zaXRpdmU6IDE7XG4gICAgICAgICAgICAgICAgZmxleC1ncm93OiAxO1xuICAgICAgICAtbXMtZmxleC1uZWdhdGl2ZTogMTtcbiAgICAgICAgICAgIGZsZXgtc2hyaW5rOiAxO1xuXG4gICAgICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDUwMG1zO1xuXG4gICAgICAgIHRyYW5zaXRpb246IGFsbCA1MDBtcztcbiAgICB9XG5cbi5teF9Vc2VyT25ib2FyZGluZ1Rhc2sgLm14X1VzZXJPbmJvYXJkaW5nVGFza19jb250ZW50IC5teF9Vc2VyT25ib2FyZGluZ1Rhc2tfdGl0bGUge1xuICAgICAgICAgICAgZm9udDogdmFyKC0tY3BkLWZvbnQtYm9keS1tZC1tZWRpdW0pO1xuICAgICAgICB9XG5cbi5teF9Vc2VyT25ib2FyZGluZ1Rhc2sgLm14X1VzZXJPbmJvYXJkaW5nVGFza19jb250ZW50IC5teF9Vc2VyT25ib2FyZGluZ1Rhc2tfZGVzY3JpcHRpb24ge1xuICAgICAgICAgICAgZm9udC1zaXplOiAwLjc1cmVtO1xuICAgICAgICB9XG5cbi5teF9Vc2VyT25ib2FyZGluZ1Rhc2sgLm14X1VzZXJPbmJvYXJkaW5nVGFza19hY3Rpb24ubXhfQWNjZXNzaWJsZUJ1dHRvbiB7XG4gICAgICAgIGdyaWQtY29sdW1uOiAzO1xuICAgICAgICBtaW4td2lkdGg6IDE4MHB4O1xuICAgIH1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDgwMHB4KSB7XG5cbi5teF9Vc2VyT25ib2FyZGluZ1Rhc2sgLm14X1VzZXJPbmJvYXJkaW5nVGFza19hY3Rpb24ubXhfQWNjZXNzaWJsZUJ1dHRvbiB7XG4gICAgICAgICAgICBncmlkLWNvbHVtbjogMjtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IC0xNnB4XG4gICAgfVxuICAgICAgICB9XG5cbi5teF9Vc2VyT25ib2FyZGluZ1Rhc2subXhfVXNlck9uYm9hcmRpbmdUYXNrX2NvbXBsZXRlZCAubXhfVXNlck9uYm9hcmRpbmdUYXNrX251bWJlcjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICBpbnNldDogLTJweDtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jcGQtY29sb3ItaWNvbi1hY2NlbnQtdGVydGlhcnkpO1xuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDMycHg7XG5cbiAgICAgICAgICAgICAgICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogMzAwbXM7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogMzAwbXM7XG4gICAgICAgICAgICAgICAgLXdlYmtpdC1hbmltYXRpb24tZmlsbC1tb2RlOiBib3RoO1xuICAgICAgICAgICAgICAgICAgICAgICAgYW5pbWF0aW9uLWZpbGwtbW9kZTogYm90aDtcbiAgICAgICAgICAgICAgICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBteF9Vc2VyT25ib2FyZGluZ1Rhc2tfc3ByaW5nO1xuICAgICAgICAgICAgICAgICAgICAgICAgYW5pbWF0aW9uLW5hbWU6IG14X1VzZXJPbmJvYXJkaW5nVGFza19zcHJpbmc7XG4gICAgICAgICAgICAgICAgd2lsbC1jaGFuZ2U6IG9wYWNpdHksIHRyYW5zZm9ybTtcbiAgICAgICAgICAgIH1cblxuLm14X1VzZXJPbmJvYXJkaW5nVGFzay5teF9Vc2VyT25ib2FyZGluZ1Rhc2tfY29tcGxldGVkIC5teF9Vc2VyT25ib2FyZGluZ1Rhc2tfbnVtYmVyOjphZnRlciB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY3BkLWNvbG9yLWljb24tb24tc29saWQtcHJpbWFyeSk7XG4gICAgICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgICAgICAtd2Via2l0LW1hc2stcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXNrLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgICAgICAgIC13ZWJraXQtbWFzay1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFzay1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgICAgICAgICAgIC13ZWJraXQtbWFzay1zaXplOiAyNHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFzay1zaXplOiAyNHB4O1xuICAgICAgICAgICAgICAgIHdpZHRoOiBpbmhlcml0O1xuICAgICAgICAgICAgICAgIGhlaWdodDogaW5oZXJpdDtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICAgICAgLXdlYmtpdC1tYXNrLWltYWdlOiB1cmwoXCJAdmVjdG9yLWltL2NvbXBvdW5kLWRlc2lnbi10b2tlbnMvaWNvbnMvY2hlY2suc3ZnXCIpO1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFzay1pbWFnZTogdXJsKFwiQHZlY3Rvci1pbS9jb21wb3VuZC1kZXNpZ24tdG9rZW5zL2ljb25zL2NoZWNrLnN2Z1wiKTtcblxuICAgICAgICAgICAgICAgIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiAzMDBtcztcblxuICAgICAgICAgICAgICAgICAgICAgICAgYW5pbWF0aW9uLWR1cmF0aW9uOiAzMDBtcztcbiAgICAgICAgICAgICAgICAtd2Via2l0LWFuaW1hdGlvbi1maWxsLW1vZGU6IGJvdGg7XG4gICAgICAgICAgICAgICAgICAgICAgICBhbmltYXRpb24tZmlsbC1tb2RlOiBib3RoO1xuICAgICAgICAgICAgICAgIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IG14X1VzZXJPbmJvYXJkaW5nVGFza19zcHJpbmc7XG4gICAgICAgICAgICAgICAgICAgICAgICBhbmltYXRpb24tbmFtZTogbXhfVXNlck9uYm9hcmRpbmdUYXNrX3NwcmluZztcbiAgICAgICAgICAgICAgICB3aWxsLWNoYW5nZTogb3BhY2l0eSwgdHJhbnNmb3JtO1xuICAgICAgICAgICAgfVxuXG4ubXhfVXNlck9uYm9hcmRpbmdUYXNrLm14X1VzZXJPbmJvYXJkaW5nVGFza19jb21wbGV0ZWQgLm14X1VzZXJPbmJvYXJkaW5nVGFza19jb250ZW50IHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDAuNjtcbiAgICAgICAgfVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgbXhfVXNlck9uYm9hcmRpbmdUYXNrX3NwcmluZyB7XG4gICAgMCUge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMC42KTtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDAuNik7XG4gICAgfVxuICAgIDUwJSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxLjIpO1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4yKTtcbiAgICB9XG4gICAgMTAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIH1cbn1cblxuQGtleWZyYW1lcyBteF9Vc2VyT25ib2FyZGluZ1Rhc2tfc3ByaW5nIHtcbiAgICAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwLjYpO1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMC42KTtcbiAgICB9XG4gICAgNTAlIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEuMik7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjIpO1xuICAgIH1cbiAgICAxMDAlIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgfVxufVxuXG4vKlxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXG5Db3B5cmlnaHQgMjAyMCBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxuQ29weXJpZ2h0IDIwMTkgTmV3IFZlY3RvciBMdGQuXG5cblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cbiovXG5cbi5teF9WZXJpZmljYXRpb25TaG93U2FzX2RlY2ltYWxTYXMge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBwYWRkaW5nLWxlZnQ6IDNweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAzcHg7XG59XG5cbi5teF9WZXJpZmljYXRpb25TaG93U2FzX2RlY2ltYWxTYXMgc3BhbiB7XG4gICAgbWFyZ2luLWxlZnQ6IDVweDtcbiAgICBtYXJnaW4tcmlnaHQ6IDVweDtcbn1cblxuLm14X1ZlcmlmaWNhdGlvblNob3dTYXNfZW1vamlTYXMge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIC1tcy1mbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAtd2Via2l0LWJveC1wYWNrOiBjZW50ZXI7XG4gICAgICAgIC1tcy1mbGV4LXBhY2s6IGNlbnRlcjtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIG1hcmdpbjogMjVweCAwO1xufVxuXG4ubXhfVmVyaWZpY2F0aW9uU2hvd1Nhc19lbW9qaVNhc19ibG9jayB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbi1ib3R0b206IDE2cHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdpZHRoOiA1MnB4O1xufVxuXG4ubXhfRGlhbG9nIC5teF9WZXJpZmljYXRpb25TaG93U2FzX2Vtb2ppU2FzX2Jsb2NrLFxuLm14X0F1dGhQYWdlX21vZGFsIC5teF9WZXJpZmljYXRpb25TaG93U2FzX2Vtb2ppU2FzX2Jsb2NrIHtcbiAgICB3aWR0aDogNjBweDtcbn1cblxuLm14X1ZlcmlmaWNhdGlvblNob3dTYXNfZW1vamlTYXNfZW1vamkge1xuICAgIGZvbnQtc2l6ZTogMnJlbTtcbiAgICAvKiBVc2UgdGhlIFR3ZW1vamkgZm9udCBmb3IgY29uc2lzdGVuY3kgd2l0aCBvdGhlciBjbGllbnRzICovXG4gICAgZm9udC1mYW1pbHk6IFR3ZW1vamksIHZhcigtLWNwZC1mb250LWZhbWlseS1zYW5zKTtcbn1cblxuLm14X1ZlcmlmaWNhdGlvblNob3dTYXNfZW1vamlTYXNfbGFiZWwge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICBmb250LXNpemU6IDAuNzVyZW07XG59XG5cbi5teF9WZXJpZmljYXRpb25TaG93U2FzX2Vtb2ppU2FzX2JyZWFrIHtcbiAgICAtbXMtZmxleC1wcmVmZXJyZWQtc2l6ZTogMTAwJTtcbiAgICAgICAgZmxleC1iYXNpczogMTAwJTtcbn1cblxuLm14X1ZlcmlmaWNhdGlvblNob3dTYXNfYnV0dG9uUm93IHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gICAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICAtbXMtZmxleC13cmFwOiB3cmFwO1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgLXdlYmtpdC1ib3gtcGFjazogY2VudGVyO1xuICAgICAgICAtbXMtZmxleC1wYWNrOiBjZW50ZXI7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBnYXA6IDlweDtcbn1cblxuLypcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxuQ29weXJpZ2h0IDIwMjEsIDIwMjIgxaBpbW9uIEJyYW5kbmVyIDxzaW1vbi5icmEuYWdAZ21haWwuY29tPlxuQ29weXJpZ2h0IDIwMjAsIDIwMjEgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cbkNvcHlyaWdodCAyMDE1LCAyMDE2IE9wZW5NYXJrZXQgTHRkXG5cblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cbiovXG5cbi8qIGRhdGEtd2hhdGludGVudCBtYWtlcyBtb3JlIHNlbnNlIGhlcmUgc2VtYW50aWNhbGx5IGJ1dCB0aGVuIHRoZSB0b29sdGlwIHdvdWxkIHN0YXkgdmlzaWJsZSB3aXRob3V0IHRoZSBidXR0b24gKi9cblxuLyogd2hpY2ggbG9va3MgYnJva2VuLCBzbyB3ZSBtYXRjaCB0aGUgYmVoYXZpb3VyIG9mIHRvb2x0aXBzIHdoaWNoIGlzIGZpbmUgdG9vLiAqL1xuXG5bZGF0YS13aGF0aW5wdXQ9XCJtb3VzZVwiXSAubXhfTGVnYWN5Q2FsbFZpZXdCdXR0b25zLm14X0xlZ2FjeUNhbGxWaWV3QnV0dG9uc19oaWRkZW4ge1xuICAgIG9wYWNpdHk6IDAuMDAxOyAvKiBvcGFjaXR5IDAgY2FuIGNhdXNlIGEgcmUtbGF5b3V0ICovXG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5cbi5teF9MZWdhY3lDYWxsVmlld0J1dHRvbnMge1xuICAgIC0tTGVnYWN5Q2FsbFZpZXdCdXR0b25zX2Ryb3Bkb3duQnV0dG9uLXNpemU6IDE2cHg7XG5cbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gICAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICAtd2Via2l0LWJveC1wYWNrOiBjZW50ZXI7XG4gICAgICAgIC1tcy1mbGV4LXBhY2s6IGNlbnRlcjtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGJvdHRvbTogMzJweDtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogb3BhY2l0eSAwLjVzO1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC41cztcbiAgICB6LWluZGV4OiAyMDA7IC8qIFRvIGJlIGFib3ZlIF9hbGxfIGZlZWRzICovXG4gICAgZ2FwOiAxOHB4O1xufVxuXG4ubXhfTGVnYWN5Q2FsbFZpZXdCdXR0b25zIC5teF9MZWdhY3lDYWxsVmlld0J1dHRvbnNfYnV0dG9uIHtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMyMTI2MmM7XG5cbiAgICAgICAgYm9yZGVyLXJhZGl1czogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiA0MHB4O1xuICAgICAgICB3aWR0aDogNDBweDtcblxuICAgICAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcblxuICAgICAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcblxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAtd2Via2l0LWJveC1wYWNrOiBjZW50ZXI7XG4gICAgICAgICAgICAtbXMtZmxleC1wYWNrOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgIC13ZWJraXQtYm94LXNoYWRvdzogMHB4IDRweCA0cHggMHB4ICMwMDAwMDAyNjtcblxuICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IDBweCA0cHggNHB4IDBweCAjMDAwMDAwMjY7XG4gICAgICAgIC8qIFN0YXRlbGVzcyBidXR0b25zICovXG4gICAgICAgIC8qIEludmlzaWJsZSBzdGF0ZSAqL1xuICAgIH1cblxuLyogU2FtZSBvbiBib3RoIHRoZW1lcyAqL1xuXG4ubXhfTGVnYWN5Q2FsbFZpZXdCdXR0b25zIC5teF9MZWdhY3lDYWxsVmlld0J1dHRvbnNfYnV0dG9uOjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcblxuICAgICAgICAgICAgLXdlYmtpdC1tYXNrLXJlcGVhdDogbm8tcmVwZWF0O1xuXG4gICAgICAgICAgICAgICAgICAgIG1hc2stcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgICAtd2Via2l0LW1hc2stc2l6ZTogY29udGFpbjtcbiAgICAgICAgICAgICAgICAgICAgbWFzay1zaXplOiBjb250YWluO1xuICAgICAgICAgICAgLXdlYmtpdC1tYXNrLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgIG1hc2stcG9zaXRpb246IGNlbnRlcjtcblxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2VkZjNmZjtcblxuICAgICAgICAgICAgaGVpZ2h0OiAyNHB4O1xuICAgICAgICAgICAgd2lkdGg6IDI0cHg7XG4gICAgICAgIH1cblxuLm14X0xlZ2FjeUNhbGxWaWV3QnV0dG9ucyAubXhfTGVnYWN5Q2FsbFZpZXdCdXR0b25zX2J1dHRvbi5teF9MZWdhY3lDYWxsVmlld0J1dHRvbnNfZHJvcGRvd25CdXR0b24ge1xuICAgICAgICAgICAgd2lkdGg6IHZhcigtLUxlZ2FjeUNhbGxWaWV3QnV0dG9uc19kcm9wZG93bkJ1dHRvbi1zaXplKTtcbiAgICAgICAgICAgIGhlaWdodDogdmFyKC0tTGVnYWN5Q2FsbFZpZXdCdXR0b25zX2Ryb3Bkb3duQnV0dG9uLXNpemUpO1xuXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgfVxuXG4ubXhfTGVnYWN5Q2FsbFZpZXdCdXR0b25zIC5teF9MZWdhY3lDYWxsVmlld0J1dHRvbnNfYnV0dG9uLm14X0xlZ2FjeUNhbGxWaWV3QnV0dG9uc19kcm9wZG93bkJ1dHRvbjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTZweDtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDE2cHg7XG4gICAgICAgICAgICAgICAgLXdlYmtpdC1tYXNrLWltYWdlOiB1cmwoXCJAdmVjdG9yLWltL2NvbXBvdW5kLWRlc2lnbi10b2tlbnMvaWNvbnMvY2hldnJvbi11cC5zdmdcIik7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXNrLWltYWdlOiB1cmwoXCJAdmVjdG9yLWltL2NvbXBvdW5kLWRlc2lnbi10b2tlbnMvaWNvbnMvY2hldnJvbi11cC5zdmdcIik7XG4gICAgICAgICAgICB9XG5cbi5teF9MZWdhY3lDYWxsVmlld0J1dHRvbnMgLm14X0xlZ2FjeUNhbGxWaWV3QnV0dG9uc19idXR0b24ubXhfTGVnYWN5Q2FsbFZpZXdCdXR0b25zX2Ryb3Bkb3duQnV0dG9uLm14X0xlZ2FjeUNhbGxWaWV3QnV0dG9uc19kcm9wZG93bkJ1dHRvbl9jb2xsYXBzZWQ6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbiAgICAgICAgICAgIH1cblxuLyogU3RhdGUgYnV0dG9ucyAqL1xuXG4ubXhfTGVnYWN5Q2FsbFZpZXdCdXR0b25zIC5teF9MZWdhY3lDYWxsVmlld0J1dHRvbnNfYnV0dG9uLm14X0xlZ2FjeUNhbGxWaWV3QnV0dG9uc19idXR0b25fb24ge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzIxMjYyYztcbiAgICAgICAgfVxuXG4ubXhfTGVnYWN5Q2FsbFZpZXdCdXR0b25zIC5teF9MZWdhY3lDYWxsVmlld0J1dHRvbnNfYnV0dG9uLm14X0xlZ2FjeUNhbGxWaWV3QnV0dG9uc19idXR0b25fb246OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2VkZjNmZjtcbiAgICAgICAgICAgIH1cblxuLm14X0xlZ2FjeUNhbGxWaWV3QnV0dG9ucyAubXhfTGVnYWN5Q2FsbFZpZXdCdXR0b25zX2J1dHRvbi5teF9MZWdhY3lDYWxsVmlld0J1dHRvbnNfYnV0dG9uX29uLm14X0xlZ2FjeUNhbGxWaWV3QnV0dG9uc19idXR0b25fbWljOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGhlaWdodDogMjBweDtcbiAgICAgICAgICAgICAgICAtd2Via2l0LW1hc2staW1hZ2U6IHVybChcIkB2ZWN0b3ItaW0vY29tcG91bmQtZGVzaWduLXRva2Vucy9pY29ucy9taWMtb24tc29saWQuc3ZnXCIpO1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFzay1pbWFnZTogdXJsKFwiQHZlY3Rvci1pbS9jb21wb3VuZC1kZXNpZ24tdG9rZW5zL2ljb25zL21pYy1vbi1zb2xpZC5zdmdcIik7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDIwcHg7XG4gICAgICAgICAgICB9XG5cbi5teF9MZWdhY3lDYWxsVmlld0J1dHRvbnMgLm14X0xlZ2FjeUNhbGxWaWV3QnV0dG9uc19idXR0b24ubXhfTGVnYWN5Q2FsbFZpZXdCdXR0b25zX2J1dHRvbl9vbi5teF9MZWdhY3lDYWxsVmlld0J1dHRvbnNfYnV0dG9uX3ZpZDo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAtd2Via2l0LW1hc2staW1hZ2U6IHVybChcIkB2ZWN0b3ItaW0vY29tcG91bmQtZGVzaWduLXRva2Vucy9pY29ucy92aWRlby1jYWxsLXNvbGlkLnN2Z1wiKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hc2staW1hZ2U6IHVybChcIkB2ZWN0b3ItaW0vY29tcG91bmQtZGVzaWduLXRva2Vucy9pY29ucy92aWRlby1jYWxsLXNvbGlkLnN2Z1wiKTtcbiAgICAgICAgICAgIH1cblxuLm14X0xlZ2FjeUNhbGxWaWV3QnV0dG9ucyAubXhfTGVnYWN5Q2FsbFZpZXdCdXR0b25zX2J1dHRvbi5teF9MZWdhY3lDYWxsVmlld0J1dHRvbnNfYnV0dG9uX29uLm14X0xlZ2FjeUNhbGxWaWV3QnV0dG9uc19idXR0b25fc2NyZWVuc2hhcmluZyB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzBkYmQ4YjtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1hY2NlbnQtY29sb3IsICMwZGJkOGIpO1xuICAgICAgICAgICAgfVxuXG4ubXhfTGVnYWN5Q2FsbFZpZXdCdXR0b25zIC5teF9MZWdhY3lDYWxsVmlld0J1dHRvbnNfYnV0dG9uLm14X0xlZ2FjeUNhbGxWaWV3QnV0dG9uc19idXR0b25fb24ubXhfTGVnYWN5Q2FsbFZpZXdCdXR0b25zX2J1dHRvbl9zY3JlZW5zaGFyaW5nOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICAtd2Via2l0LW1hc2staW1hZ2U6IHVybChcIkB2ZWN0b3ItaW0vY29tcG91bmQtZGVzaWduLXRva2Vucy9pY29ucy9zaGFyZS1zY3JlZW4tc29saWQuc3ZnXCIpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hc2staW1hZ2U6IHVybChcIkB2ZWN0b3ItaW0vY29tcG91bmQtZGVzaWduLXRva2Vucy9pY29ucy9zaGFyZS1zY3JlZW4tc29saWQuc3ZnXCIpO1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTsgLyogU2FtZSBvbiBib3RoIHRoZW1lcyAqL1xuICAgICAgICAgICAgICAgIH1cblxuLm14X0xlZ2FjeUNhbGxWaWV3QnV0dG9ucyAubXhfTGVnYWN5Q2FsbFZpZXdCdXR0b25zX2J1dHRvbi5teF9MZWdhY3lDYWxsVmlld0J1dHRvbnNfYnV0dG9uX29uLm14X0xlZ2FjeUNhbGxWaWV3QnV0dG9uc19idXR0b25fc2lkZWJhcjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAtd2Via2l0LW1hc2staW1hZ2U6IHVybChcIi4uLy4uLy4uL2ltZy92b2lwL2NhbGwtdmlldy9zaWRlYmFyLW9uLnN2Z1wiKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hc2staW1hZ2U6IHVybChcIi4uLy4uLy4uL2ltZy92b2lwL2NhbGwtdmlldy9zaWRlYmFyLW9uLnN2Z1wiKTtcbiAgICAgICAgICAgIH1cblxuLm14X0xlZ2FjeUNhbGxWaWV3QnV0dG9ucyAubXhfTGVnYWN5Q2FsbFZpZXdCdXR0b25zX2J1dHRvbi5teF9MZWdhY3lDYWxsVmlld0J1dHRvbnNfYnV0dG9uX29mZiB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWRmM2ZmO1xuICAgICAgICB9XG5cbi5teF9MZWdhY3lDYWxsVmlld0J1dHRvbnMgLm14X0xlZ2FjeUNhbGxWaWV3QnV0dG9uc19idXR0b24ubXhfTGVnYWN5Q2FsbFZpZXdCdXR0b25zX2J1dHRvbl9vZmY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzIxMjYyYztcbiAgICAgICAgICAgIH1cblxuLm14X0xlZ2FjeUNhbGxWaWV3QnV0dG9ucyAubXhfTGVnYWN5Q2FsbFZpZXdCdXR0b25zX2J1dHRvbi5teF9MZWdhY3lDYWxsVmlld0J1dHRvbnNfYnV0dG9uX29mZi5teF9MZWdhY3lDYWxsVmlld0J1dHRvbnNfYnV0dG9uX21pYzo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICAgICAgICAgICAgLXdlYmtpdC1tYXNrLWltYWdlOiB1cmwoXCJAdmVjdG9yLWltL2NvbXBvdW5kLWRlc2lnbi10b2tlbnMvaWNvbnMvbWljLW9mZi1zb2xpZC5zdmdcIik7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXNrLWltYWdlOiB1cmwoXCJAdmVjdG9yLWltL2NvbXBvdW5kLWRlc2lnbi10b2tlbnMvaWNvbnMvbWljLW9mZi1zb2xpZC5zdmdcIik7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDIwcHg7XG4gICAgICAgICAgICB9XG5cbi5teF9MZWdhY3lDYWxsVmlld0J1dHRvbnMgLm14X0xlZ2FjeUNhbGxWaWV3QnV0dG9uc19idXR0b24ubXhfTGVnYWN5Q2FsbFZpZXdCdXR0b25zX2J1dHRvbl9vZmYubXhfTGVnYWN5Q2FsbFZpZXdCdXR0b25zX2J1dHRvbl92aWQ6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgLXdlYmtpdC1tYXNrLWltYWdlOiB1cmwoXCJAdmVjdG9yLWltL2NvbXBvdW5kLWRlc2lnbi10b2tlbnMvaWNvbnMvdmlkZW8tY2FsbC1vZmYtc29saWQuc3ZnXCIpO1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFzay1pbWFnZTogdXJsKFwiQHZlY3Rvci1pbS9jb21wb3VuZC1kZXNpZ24tdG9rZW5zL2ljb25zL3ZpZGVvLWNhbGwtb2ZmLXNvbGlkLnN2Z1wiKTtcbiAgICAgICAgICAgIH1cblxuLm14X0xlZ2FjeUNhbGxWaWV3QnV0dG9ucyAubXhfTGVnYWN5Q2FsbFZpZXdCdXR0b25zX2J1dHRvbi5teF9MZWdhY3lDYWxsVmlld0J1dHRvbnNfYnV0dG9uX29mZi5teF9MZWdhY3lDYWxsVmlld0J1dHRvbnNfYnV0dG9uX3NjcmVlbnNoYXJpbmcge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMyMTI2MmM7XG4gICAgICAgICAgICB9XG5cbi5teF9MZWdhY3lDYWxsVmlld0J1dHRvbnMgLm14X0xlZ2FjeUNhbGxWaWV3QnV0dG9uc19idXR0b24ubXhfTGVnYWN5Q2FsbFZpZXdCdXR0b25zX2J1dHRvbl9vZmYubXhfTGVnYWN5Q2FsbFZpZXdCdXR0b25zX2J1dHRvbl9zY3JlZW5zaGFyaW5nOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICAtd2Via2l0LW1hc2staW1hZ2U6IHVybChcIkB2ZWN0b3ItaW0vY29tcG91bmQtZGVzaWduLXRva2Vucy9pY29ucy9zaGFyZS1zY3JlZW4tc29saWQuc3ZnXCIpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hc2staW1hZ2U6IHVybChcIkB2ZWN0b3ItaW0vY29tcG91bmQtZGVzaWduLXRva2Vucy9pY29ucy9zaGFyZS1zY3JlZW4tc29saWQuc3ZnXCIpO1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWRmM2ZmO1xuICAgICAgICAgICAgICAgIH1cblxuLm14X0xlZ2FjeUNhbGxWaWV3QnV0dG9ucyAubXhfTGVnYWN5Q2FsbFZpZXdCdXR0b25zX2J1dHRvbi5teF9MZWdhY3lDYWxsVmlld0J1dHRvbnNfYnV0dG9uX29mZi5teF9MZWdhY3lDYWxsVmlld0J1dHRvbnNfYnV0dG9uX3NpZGViYXIge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMyMTI2MmM7XG4gICAgICAgICAgICB9XG5cbi5teF9MZWdhY3lDYWxsVmlld0J1dHRvbnMgLm14X0xlZ2FjeUNhbGxWaWV3QnV0dG9uc19idXR0b24ubXhfTGVnYWN5Q2FsbFZpZXdCdXR0b25zX2J1dHRvbl9vZmYubXhfTGVnYWN5Q2FsbFZpZXdCdXR0b25zX2J1dHRvbl9zaWRlYmFyOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICAtd2Via2l0LW1hc2staW1hZ2U6IHVybChcIi4uLy4uLy4uL2ltZy92b2lwL2NhbGwtdmlldy9zaWRlYmFyLW9mZi5zdmdcIik7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFzay1pbWFnZTogdXJsKFwiLi4vLi4vLi4vaW1nL3ZvaXAvY2FsbC12aWV3L3NpZGViYXItb2ZmLnN2Z1wiKTtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2VkZjNmZjtcbiAgICAgICAgICAgICAgICB9XG5cbi8qIFN0YXRlbGVzcyBidXR0b25zICovXG5cbi5teF9MZWdhY3lDYWxsVmlld0J1dHRvbnMgLm14X0xlZ2FjeUNhbGxWaWV3QnV0dG9uc19idXR0b24ubXhfTGVnYWN5Q2FsbFZpZXdCdXR0b25zX2RpYWxwYWQ6OmJlZm9yZSB7XG4gICAgICAgICAgICAtd2Via2l0LW1hc2staW1hZ2U6IHVybChcIi4uLy4uLy4uL2ltZy92b2lwL2NhbGwtdmlldy9kaWFscGFkLnN2Z1wiKTtcbiAgICAgICAgICAgICAgICAgICAgbWFzay1pbWFnZTogdXJsKFwiLi4vLi4vLi4vaW1nL3ZvaXAvY2FsbC12aWV3L2RpYWxwYWQuc3ZnXCIpO1xuICAgICAgICB9XG5cbi8qIFN0YXRlIGJ1dHRvbnMgKi9cblxuLm14X0xlZ2FjeUNhbGxWaWV3QnV0dG9ucyAubXhfTGVnYWN5Q2FsbFZpZXdCdXR0b25zX2J1dHRvbi5teF9MZWdhY3lDYWxsVmlld0J1dHRvbnNfYnV0dG9uX2hhbmd1cCB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmY1YjU1O1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYWxlcnQsICNmZjViNTUpO1xuICAgICAgICB9XG5cbi5teF9MZWdhY3lDYWxsVmlld0J1dHRvbnMgLm14X0xlZ2FjeUNhbGxWaWV3QnV0dG9uc19idXR0b24ubXhfTGVnYWN5Q2FsbFZpZXdCdXR0b25zX2J1dHRvbl9oYW5ndXA6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgLXdlYmtpdC1tYXNrLWltYWdlOiB1cmwoXCIuLi8uLi8uLi9pbWcvZWxlbWVudC1pY29ucy9jYWxsL2hhbmd1cC5zdmdcIik7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXNrLWltYWdlOiB1cmwoXCIuLi8uLi8uLi9pbWcvZWxlbWVudC1pY29ucy9jYWxsL2hhbmd1cC5zdmdcIik7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7IC8qIFNhbWUgb24gYm90aCB0aGVtZXMgKi9cbiAgICAgICAgICAgIH1cblxuLm14X0xlZ2FjeUNhbGxWaWV3QnV0dG9ucyAubXhfTGVnYWN5Q2FsbFZpZXdCdXR0b25zX2J1dHRvbi5teF9MZWdhY3lDYWxsVmlld0J1dHRvbnNfYnV0dG9uX21vcmU6OmJlZm9yZSB7XG4gICAgICAgICAgICAtd2Via2l0LW1hc2staW1hZ2U6IHVybChcIkB2ZWN0b3ItaW0vY29tcG91bmQtZGVzaWduLXRva2Vucy9pY29ucy9vdmVyZmxvdy1ob3Jpem9udGFsLnN2Z1wiKTtcbiAgICAgICAgICAgICAgICAgICAgbWFzay1pbWFnZTogdXJsKFwiQHZlY3Rvci1pbS9jb21wb3VuZC1kZXNpZ24tdG9rZW5zL2ljb25zL292ZXJmbG93LWhvcml6b250YWwuc3ZnXCIpO1xuICAgICAgICB9XG5cbi8qIEludmlzaWJsZSBzdGF0ZSAqL1xuXG4ubXhfTGVnYWN5Q2FsbFZpZXdCdXR0b25zIC5teF9MZWdhY3lDYWxsVmlld0J1dHRvbnNfYnV0dG9uLm14X0xlZ2FjeUNhbGxWaWV3QnV0dG9uc19idXR0b25faW52aXNpYmxlIHtcbiAgICAgICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB9XG5cbi8qXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cbkNvcHlyaWdodCAyMDIyIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXG5cblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cbiovXG5cbi5teF9DYWxsRHVyYXRpb24ge1xuICAgIGNvbG9yOiAjZWRmM2ZmO1xuICAgIGNvbG9yOiB2YXIoLS1zZWNvbmRhcnktY29udGVudCwgI2VkZjNmZik7XG4gICAgZm9udC1zaXplOiAwLjc1cmVtO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi8qXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cbkNvcHlyaWdodCAyMDIyIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXG5cblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cbiovXG5cbi5teF9DYWxsVmlldyB7XG4gICAgLXdlYmtpdC1ib3gtZmxleDogMTtcbiAgICAgICAgLW1zLWZsZXgtcG9zaXRpdmU6IDE7XG4gICAgICAgICAgICBmbGV4LWdyb3c6IDE7XG4gICAgbWluLWhlaWdodDogMDtcblxuICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuXG4gICAgZGlzcGxheTogLW1zLWZsZXhib3g7XG5cbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWw7XG4gICAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiBub3JtYWw7XG4gICAgICAgIC1tcy1mbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblxuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXJvb21saXN0LWJhY2tncm91bmQtY29sb3IpO1xufVxuXG4ubXhfQ2FsbFZpZXcgLm14X0FwcFRpbGUge1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IGluaGVyaXQ7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMxODFiMjE7XG4gICAgfVxuXG4vKiBXaGlsZSB0aGUgbG9iYnkgaXMgc2hvd24sIHRoZSB3aWRnZXQgbmVlZHMgdG8gc3RheSBsb2FkZWQgYnV0IGhpZGRlbiBpbiB0aGUgYmFja2dyb3VuZCAqL1xuXG4ubXhfQ2FsbFZpZXcgLm14X0NhbGxWaWV3X2xvYmJ5IH4gLm14X0FwcFRpbGUge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuLm14X0NhbGxWaWV3IC5teF9DYWxsVmlld19sb2JieSB7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDA7XG4gICAgICAgIC13ZWJraXQtYm94LWZsZXg6IDE7XG4gICAgICAgICAgICAtbXMtZmxleC1wb3NpdGl2ZTogMTtcbiAgICAgICAgICAgICAgICBmbGV4LWdyb3c6IDE7XG4gICAgICAgIHBhZGRpbmc6IDEycHg7XG4gICAgICAgIGNvbG9yOiAjZWRmM2ZmO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTgxYjIxO1xuXG4gICAgICAgIC0tZmFjZXBpbGUtYmFja2dyb3VuZDogIzE4MWIyMTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4O1xuXG4gICAgICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuXG4gICAgICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWw7XG4gICAgICAgIC13ZWJraXQtYm94LWRpcmVjdGlvbjogbm9ybWFsO1xuICAgICAgICAgICAgLW1zLWZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgLXdlYmtpdC1ib3gtcGFjazogY2VudGVyO1xuICAgICAgICAgICAgLW1zLWZsZXgtcGFjazogY2VudGVyO1xuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBnYXA6IDMycHg7XG4gICAgfVxuXG4ubXhfQ2FsbFZpZXcgLm14X0NhbGxWaWV3X2xvYmJ5IC5teF9GYWNlUGlsZSB7XG4gICAgICAgICAgICB3aWR0aDogLXdlYmtpdC1maXQtY29udGVudDtcbiAgICAgICAgICAgIHdpZHRoOiAtbW96LWZpdC1jb250ZW50O1xuICAgICAgICAgICAgd2lkdGg6IGZpdC1jb250ZW50O1xuICAgICAgICAgICAgbWFyZ2luOiA4cHggYXV0byAwO1xuICAgICAgICB9XG5cbi5teF9DYWxsVmlldyAubXhfQ2FsbFZpZXdfbG9iYnkgLm14X0NhbGxWaWV3X3ByZXZpZXcge1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDgwMHB4O1xuICAgICAgICAgICAgYXNwZWN0LXJhdGlvOiAxLjU7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjEyNjJjO1xuXG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAyMHB4O1xuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgICAgICAgICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG5cbiAgICAgICAgICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcbiAgICAgICAgICAgIC13ZWJraXQtYm94LWRpcmVjdGlvbjogbm9ybWFsO1xuICAgICAgICAgICAgICAgIC1tcy1mbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgLXdlYmtpdC1ib3gtcGFjazogY2VudGVyO1xuICAgICAgICAgICAgICAgIC1tcy1mbGV4LXBhY2s6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIH1cblxuLm14X0NhbGxWaWV3IC5teF9DYWxsVmlld19sb2JieSAubXhfQ2FsbFZpZXdfcHJldmlldyAubXhfQmFzZUF2YXRhciB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAyMHB4O1xuXG4gICAgICAgICAgICAgICAgLyogT3ZlcnJpZGUgdGhlIGV4cGxpY2l0IGRpbWVuc2lvbnMgb24gdGhlIGVsZW1lbnQgc28gdGhhdCB0aGlzIGdldHMgc2l6ZWQgcmVzcG9uc2l2ZWx5ICovXG4gICAgICAgICAgICAgICAgd2lkdGg6IGF1dG8gIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICB3aWR0aDogaW5pdGlhbCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgIGhlaWdodDogYXV0byAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgIGhlaWdodDogaW5pdGlhbCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgIG1pbi13aWR0aDogMDtcbiAgICAgICAgICAgICAgICBtaW4taGVpZ2h0OiAwO1xuICAgICAgICAgICAgICAgIC13ZWJraXQtYm94LWZsZXg6IDA7XG4gICAgICAgICAgICAgICAgICAgIC1tcy1mbGV4OiAwIDEgMjAwcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBmbGV4OiAwIDEgMjAwcHg7XG4gICAgICAgICAgICB9XG5cbi5teF9DYWxsVmlldyAubXhfQ2FsbFZpZXdfbG9iYnkgLm14X0NhbGxWaWV3X3ByZXZpZXcgdmlkZW8ge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgICAgIC1vLW9iamVjdC1maXQ6IGNvdmVyO1xuICAgICAgICAgICAgICAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZVgoLTEpO1xuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZVgoLTEpOyAvKiBmbGlwIHRoZSBpbWFnZSAqL1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IGJsYWNrO1xuICAgICAgICAgICAgfVxuXG4ubXhfQ2FsbFZpZXcgLm14X0NhbGxWaWV3X2xvYmJ5IC5teF9DYWxsVmlld19wcmV2aWV3IC5teF9DYWxsVmlld19jb250cm9scyB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgICAgIHJpZ2h0OiAwO1xuXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdGltZWxpbmUtdGV4dC1zZWNvbmRhcnktY29sb3IpO1xuXG4gICAgICAgICAgICAgICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG5cbiAgICAgICAgICAgICAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcblxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgLXdlYmtpdC1ib3gtcGFjazogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICAtbXMtZmxleC1wYWNrOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBnYXA6IDI0cHg7XG4gICAgICAgICAgICB9XG5cbi5teF9DYWxsVmlldyAubXhfQ2FsbFZpZXdfbG9iYnkgLm14X0NhbGxWaWV3X3ByZXZpZXcgLm14X0NhbGxWaWV3X2NvbnRyb2xzIC5teF9DYWxsVmlld19kZXZpY2VCdXR0b25XcmFwcGVyIHtcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDZweCAwIDEwcHg7XG4gICAgICAgICAgICAgICAgfVxuXG4ubXhfQ2FsbFZpZXcgLm14X0NhbGxWaWV3X2xvYmJ5IC5teF9DYWxsVmlld19wcmV2aWV3IC5teF9DYWxsVmlld19jb250cm9scyAubXhfQ2FsbFZpZXdfZGV2aWNlQnV0dG9uV3JhcHBlciAubXhfQ2FsbFZpZXdfZGV2aWNlQnV0dG9uIHtcblxuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDUwcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDUwcHg7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMyMTI2MmM7XG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiBjYWxjKDUwcHggLyAyKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4ubXhfQ2FsbFZpZXcgLm14X0NhbGxWaWV3X2xvYmJ5IC5teF9DYWxsVmlld19wcmV2aWV3IC5teF9DYWxsVmlld19jb250cm9scyAubXhfQ2FsbFZpZXdfZGV2aWNlQnV0dG9uV3JhcHBlciAubXhfQ2FsbFZpZXdfZGV2aWNlQnV0dG9uOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC13ZWJraXQtbWFzay1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hc2stcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLXdlYmtpdC1tYXNrLXNpemU6IDIwcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXNrLXNpemU6IDIwcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLXdlYmtpdC1tYXNrLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXNrLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2VkZjNmZjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG5cbi5teF9DYWxsVmlldyAubXhfQ2FsbFZpZXdfbG9iYnkgLm14X0NhbGxWaWV3X3ByZXZpZXcgLm14X0NhbGxWaWV3X2NvbnRyb2xzIC5teF9DYWxsVmlld19kZXZpY2VCdXR0b25XcmFwcGVyIC5teF9DYWxsVmlld19kZXZpY2VCdXR0b24ubXhfQ2FsbFZpZXdfZGV2aWNlQnV0dG9uX2F1ZGlvOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC13ZWJraXQtbWFzay1pbWFnZTogdXJsKFwiQHZlY3Rvci1pbS9jb21wb3VuZC1kZXNpZ24tdG9rZW5zL2ljb25zL21pYy1vbi1zb2xpZC5zdmdcIik7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXNrLWltYWdlOiB1cmwoXCJAdmVjdG9yLWltL2NvbXBvdW5kLWRlc2lnbi10b2tlbnMvaWNvbnMvbWljLW9uLXNvbGlkLnN2Z1wiKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAtd2Via2l0LW1hc2stc2l6ZTogMTRweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hc2stc2l6ZTogMTRweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuLm14X0NhbGxWaWV3IC5teF9DYWxsVmlld19sb2JieSAubXhfQ2FsbFZpZXdfcHJldmlldyAubXhfQ2FsbFZpZXdfY29udHJvbHMgLm14X0NhbGxWaWV3X2RldmljZUJ1dHRvbldyYXBwZXIgLm14X0NhbGxWaWV3X2RldmljZUJ1dHRvbi5teF9DYWxsVmlld19kZXZpY2VCdXR0b25fdmlkZW86OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLXdlYmtpdC1tYXNrLWltYWdlOiB1cmwoXCJAdmVjdG9yLWltL2NvbXBvdW5kLWRlc2lnbi10b2tlbnMvaWNvbnMvdmlkZW8tY2FsbC1zb2xpZC5zdmdcIik7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXNrLWltYWdlOiB1cmwoXCJAdmVjdG9yLWltL2NvbXBvdW5kLWRlc2lnbi10b2tlbnMvaWNvbnMvdmlkZW8tY2FsbC1zb2xpZC5zdmdcIik7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG5cbi5teF9DYWxsVmlldyAubXhfQ2FsbFZpZXdfbG9iYnkgLm14X0NhbGxWaWV3X3ByZXZpZXcgLm14X0NhbGxWaWV3X2NvbnRyb2xzIC5teF9DYWxsVmlld19kZXZpY2VCdXR0b25XcmFwcGVyIC5teF9DYWxsVmlld19kZXZpY2VMaXN0QnV0dG9uIHtcblxuICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IC0yLjVweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxNXB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxNXB4O1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjEyNjJjO1xuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogY2FsYygxNXB4IC8gMik7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuLm14X0NhbGxWaWV3IC5teF9DYWxsVmlld19sb2JieSAubXhfQ2FsbFZpZXdfcHJldmlldyAubXhfQ2FsbFZpZXdfY29udHJvbHMgLm14X0NhbGxWaWV3X2RldmljZUJ1dHRvbldyYXBwZXIgLm14X0NhbGxWaWV3X2RldmljZUxpc3RCdXR0b246OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLXdlYmtpdC1tYXNrLWltYWdlOiB1cmwoXCJAdmVjdG9yLWltL2NvbXBvdW5kLWRlc2lnbi10b2tlbnMvaWNvbnMvY2hldnJvbi1kb3duLnN2Z1wiKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hc2staW1hZ2U6IHVybChcIkB2ZWN0b3ItaW0vY29tcG91bmQtZGVzaWduLXRva2Vucy9pY29ucy9jaGV2cm9uLWRvd24uc3ZnXCIpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC13ZWJraXQtbWFzay1zaXplOiAyMHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFzay1zaXplOiAyMHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC13ZWJraXQtbWFzay1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFzay1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNlZGYzZmY7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4ubXhfQ2FsbFZpZXcgLm14X0NhbGxWaWV3X2xvYmJ5IC5teF9DYWxsVmlld19wcmV2aWV3IC5teF9DYWxsVmlld19jb250cm9scyAubXhfQ2FsbFZpZXdfZGV2aWNlQnV0dG9uV3JhcHBlci5teF9DYWxsVmlld19kZXZpY2VCdXR0b25XcmFwcGVyX211dGVkIC5teF9DYWxsVmlld19kZXZpY2VCdXR0b24sXG4gICAgICAgICAgICAgICAgICAgICAgICAubXhfQ2FsbFZpZXcgLm14X0NhbGxWaWV3X2xvYmJ5IC5teF9DYWxsVmlld19wcmV2aWV3IC5teF9DYWxsVmlld19jb250cm9scyAubXhfQ2FsbFZpZXdfZGV2aWNlQnV0dG9uV3JhcHBlci5teF9DYWxsVmlld19kZXZpY2VCdXR0b25XcmFwcGVyX211dGVkIC5teF9DYWxsVmlld19kZXZpY2VMaXN0QnV0dG9uIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWRmM2ZmO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4ubXhfQ2FsbFZpZXcgLm14X0NhbGxWaWV3X2xvYmJ5IC5teF9DYWxsVmlld19wcmV2aWV3IC5teF9DYWxsVmlld19jb250cm9scyAubXhfQ2FsbFZpZXdfZGV2aWNlQnV0dG9uV3JhcHBlci5teF9DYWxsVmlld19kZXZpY2VCdXR0b25XcmFwcGVyX211dGVkIC5teF9DYWxsVmlld19kZXZpY2VCdXR0b246OmJlZm9yZSwgLm14X0NhbGxWaWV3IC5teF9DYWxsVmlld19sb2JieSAubXhfQ2FsbFZpZXdfcHJldmlldyAubXhfQ2FsbFZpZXdfY29udHJvbHMgLm14X0NhbGxWaWV3X2RldmljZUJ1dHRvbldyYXBwZXIubXhfQ2FsbFZpZXdfZGV2aWNlQnV0dG9uV3JhcHBlcl9tdXRlZCAubXhfQ2FsbFZpZXdfZGV2aWNlTGlzdEJ1dHRvbjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzIxMjYyYztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG5cbi5teF9DYWxsVmlldyAubXhfQ2FsbFZpZXdfbG9iYnkgLm14X0NhbGxWaWV3X3ByZXZpZXcgLm14X0NhbGxWaWV3X2NvbnRyb2xzIC5teF9DYWxsVmlld19kZXZpY2VCdXR0b25XcmFwcGVyLm14X0NhbGxWaWV3X2RldmljZUJ1dHRvbldyYXBwZXJfbXV0ZWQgLm14X0NhbGxWaWV3X2RldmljZUJ1dHRvbi5teF9DYWxsVmlld19kZXZpY2VCdXR0b25fYXVkaW86OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC13ZWJraXQtbWFzay1pbWFnZTogdXJsKFwiQHZlY3Rvci1pbS9jb21wb3VuZC1kZXNpZ24tdG9rZW5zL2ljb25zL21pYy1vZmYtc29saWQuc3ZnXCIpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hc2staW1hZ2U6IHVybChcIkB2ZWN0b3ItaW0vY29tcG91bmQtZGVzaWduLXRva2Vucy9pY29ucy9taWMtb2ZmLXNvbGlkLnN2Z1wiKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLXdlYmtpdC1tYXNrLXNpemU6IDE4cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFzay1zaXplOiAxOHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuLm14X0NhbGxWaWV3IC5teF9DYWxsVmlld19sb2JieSAubXhfQ2FsbFZpZXdfcHJldmlldyAubXhfQ2FsbFZpZXdfY29udHJvbHMgLm14X0NhbGxWaWV3X2RldmljZUJ1dHRvbldyYXBwZXIubXhfQ2FsbFZpZXdfZGV2aWNlQnV0dG9uV3JhcHBlcl9tdXRlZCAubXhfQ2FsbFZpZXdfZGV2aWNlQnV0dG9uLm14X0NhbGxWaWV3X2RldmljZUJ1dHRvbl92aWRlbzo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLXdlYmtpdC1tYXNrLWltYWdlOiB1cmwoXCJAdmVjdG9yLWltL2NvbXBvdW5kLWRlc2lnbi10b2tlbnMvaWNvbnMvdmlkZW8tY2FsbC1vZmYtc29saWQuc3ZnXCIpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hc2staW1hZ2U6IHVybChcIkB2ZWN0b3ItaW0vY29tcG91bmQtZGVzaWduLXRva2Vucy9pY29ucy92aWRlby1jYWxsLW9mZi1zb2xpZC5zdmdcIik7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4ubXhfQ2FsbFZpZXcgLm14X0NhbGxWaWV3X2xvYmJ5IC5teF9DYWxsVmlld19jb25uZWN0QnV0dG9uIHtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogNTBweDtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDUwcHg7XG4gICAgICAgIH1cblxuLypcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxuQ29weXJpZ2h0IDIwMjAgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cblxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuKi9cblxuLm14X0RpYWxQYWQge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC1yb3ctZ2FwOiAxNnB4O1xuICAgIHJvdy1nYXA6IDE2cHg7XG4gICAgZ3JpZC1jb2x1bW4tZ2FwOiAwcHg7XG4gICAgLXdlYmtpdC1jb2x1bW4tZ2FwOiAwcHg7XG4gICAgICAgLW1vei1jb2x1bW4tZ2FwOiAwcHg7XG4gICAgICAgICAgICBjb2x1bW4tZ2FwOiAwcHg7XG4gICAgbWFyZ2luLXRvcDogMjRweDtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG5cbiAgICAvKiBzcXVlZXplIHRoZSBkaWFsIHBhZCBidXR0b25zIHRvZ2V0aGVyIGhvcml6b250YWxseSAqL1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDMsIDFmcik7XG59XG5cbi5teF9EaWFsUGFkX2J1dHRvbiB7XG4gICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gICAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xuICAgIC13ZWJraXQtYm94LWRpcmVjdGlvbjogbm9ybWFsO1xuICAgICAgICAtbXMtZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgLXdlYmtpdC1ib3gtcGFjazogY2VudGVyO1xuICAgICAgICAtbXMtZmxleC1wYWNrOiBjZW50ZXI7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblxuICAgIHdpZHRoOiA0MHB4O1xuICAgIGhlaWdodDogNDBweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNmY3ODgyO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXF1aW5hcnktY29udGVudCwgIzZmNzg4Mik7XG4gICAgYm9yZGVyLXJhZGl1czogNDBweDtcbiAgICBmb250LXNpemU6IDE4cHg7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWNwZC1mb250LXdlaWdodC1zZW1pYm9sZCk7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xufVxuXG4ubXhfRGlhbFBhZF9idXR0b24gLm14X0RpYWxQYWRfYnV0dG9uU3ViVGV4dCB7XG4gICAgZm9udC1zaXplOiA4cHg7XG59XG5cbi5teF9EaWFsUGFkX2RpYWxCdXR0b24ge1xuICAgIC8qIEFsd2F5cyBzaG93IHRoZSBkaWFsIGJ1dHRvbiBpbiB0aGUgY2VudGVyIGdyaWQgY29sdW1uICovXG4gICAgZ3JpZC1jb2x1bW46IDI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzBkYmQ4YjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1hY2NlbnQtY29sb3IsICMwZGJkOGIpO1xufVxuXG4ubXhfRGlhbFBhZF9kaWFsQnV0dG9uOjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIGhlaWdodDogNDBweDtcbiAgICAgICAgd2lkdGg6IDQwcHg7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgIC13ZWJraXQtbWFzay1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgICAgICAgICBtYXNrLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAtd2Via2l0LW1hc2stc2l6ZTogMjBweDtcbiAgICAgICAgICAgICAgICBtYXNrLXNpemU6IDIwcHg7XG4gICAgICAgIC13ZWJraXQtbWFzay1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgICAgICAgICAgIG1hc2stcG9zaXRpb246IGNlbnRlcjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsgLyogb24gYWxsIHRoZW1lcyAqL1xuICAgICAgICAtd2Via2l0LW1hc2staW1hZ2U6IHVybChcIi4uLy4uLy4uL2ltZy9lbGVtZW50LWljb25zL2NhbGwvdm9pY2UtY2FsbC5zdmdcIik7XG4gICAgICAgICAgICAgICAgbWFzay1pbWFnZTogdXJsKFwiLi4vLi4vLi4vaW1nL2VsZW1lbnQtaWNvbnMvY2FsbC92b2ljZS1jYWxsLnN2Z1wiKTtcbiAgICB9XG5cbi8qXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cbkNvcHlyaWdodCAyMDIwIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXG5cblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cbiovXG5cbi5teF9EaWFsUGFkQ29udGV4dE1lbnVfZGlhbFBhZCAubXhfRGlhbFBhZCB7XG4gICAgcm93LWdhcDogMTZweDtcbiAgICAtd2Via2l0LWNvbHVtbi1nYXA6IDMycHg7XG4gICAgICAgLW1vei1jb2x1bW4tZ2FwOiAzMnB4O1xuICAgICAgICAgICAgY29sdW1uLWdhcDogMzJweDtcbn1cblxuLm14X0RpYWxQYWRDb250ZXh0TWVudVdyYXBwZXIge1xuICAgIHBhZGRpbmc6IDE1cHg7XG59XG5cbi5teF9EaWFsUGFkQ29udGV4dE1lbnVfaGVhZGVyIHtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgbWFyZ2luLXRvcDogMzJweDtcbiAgICBtYXJnaW4tbGVmdDogMjBweDtcbiAgICBtYXJnaW4tcmlnaHQ6IDIwcHg7XG5cbiAgICAvKiBhIHNlcGFyYXRvciBiZXR3ZWVuIHRoZSBpbnB1dCBsaW5lIGFuZCB0aGUgZGlhbCBidXR0b25zICovXG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICM2Zjc4ODI7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLXF1YXRlcm5hcnktY29udGVudCwgIzZmNzg4Mik7XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiBib3JkZXItYm90dG9tIDAuMjVzO1xuICAgIHRyYW5zaXRpb246IGJvcmRlci1ib3R0b20gMC4yNXM7XG59XG5cbi5teF9EaWFsUGFkQ29udGV4dE1lbnVfY2FuY2VsIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdpZHRoOiAyOHB4O1xuICAgIGhlaWdodDogMjhweDtcbiAgICBib3JkZXItcmFkaXVzOiAxNHB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNwZC1jb2xvci1iZy1zdWJ0bGUtc2Vjb25kYXJ5KTtcbn1cblxuLm14X0RpYWxQYWRDb250ZXh0TWVudV9jYW5jZWw6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jcGQtY29sb3ItYmctc3VidGxlLXByaW1hcnkpO1xuICAgIH1cblxuLm14X0RpYWxQYWRDb250ZXh0TWVudV9jYW5jZWw6OmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIHdpZHRoOiAyOHB4O1xuICAgICAgICBoZWlnaHQ6IDI4cHg7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAtd2Via2l0LW1hc2staW1hZ2U6IHVybChcIkB2ZWN0b3ItaW0vY29tcG91bmQtZGVzaWduLXRva2Vucy9pY29ucy9jbG9zZS5zdmdcIik7XG4gICAgICAgICAgICAgICAgbWFzay1pbWFnZTogdXJsKFwiQHZlY3Rvci1pbS9jb21wb3VuZC1kZXNpZ24tdG9rZW5zL2ljb25zL2Nsb3NlLnN2Z1wiKTtcbiAgICAgICAgLXdlYmtpdC1tYXNrLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgICAgICAgIG1hc2stcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgIC13ZWJraXQtbWFzay1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgICAgICAgICAgIG1hc2stcG9zaXRpb246IGNlbnRlcjtcbiAgICAgICAgLXdlYmtpdC1tYXNrLXNpemU6IDIwcHg7XG4gICAgICAgICAgICAgICAgbWFzay1zaXplOiAyMHB4O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jcGQtY29sb3ItaWNvbi1zZWNvbmRhcnkpO1xuICAgIH1cblxuLm14X0RpYWxQYWRDb250ZXh0TWVudV9jYW5jZWwge1xuICAgIGZsb2F0OiByaWdodDtcbn1cblxuLm14X0RpYWxQYWRDb250ZXh0TWVudV9oZWFkZXI6Zm9jdXMtd2l0aGluIHtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzBkYmQ4YjtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tYWNjZW50LWNvbG9yLCAjMGRiZDhiKTtcbn1cblxuLm14X0RpYWxQYWRDb250ZXh0TWVudV90aXRsZSB7XG4gICAgY29sb3I6ICNhMWIyZDE7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1jcGQtZm9udC13ZWlnaHQtc2VtaWJvbGQpO1xufVxuXG4ubXhfRGlhbFBhZENvbnRleHRNZW51X2RpYWxsZWQge1xuICAgIGhlaWdodDogMS41ZW07XG4gICAgZm9udC1zaXplOiAxOHB4O1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1jcGQtZm9udC13ZWlnaHQtc2VtaWJvbGQpO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBtYXJnaW46IDBweDtcbn1cblxuLm14X0RpYWxQYWRDb250ZXh0TWVudV9kaWFsbGVkIGlucHV0IHtcbiAgICBmb250LXNpemU6IDE4cHg7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWNwZC1mb250LXdlaWdodC1zZW1pYm9sZCk7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBtYXgtd2lkdGg6IDE4NXB4O1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgcGFkZGluZzogOHB4IDBweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMCwgMCwgMCwgMCk7XG59XG5cbi5teF9EaWFsUGFkQ29udGV4dE1lbnVfZGlhbFBhZCB7XG4gICAgbWFyZ2luOiAxNnB4O1xufVxuXG4vKlxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXG5Db3B5cmlnaHQgMjAyMCBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxuXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXG4qL1xuXG4ubXhfRGlhbG9nX2RpYWxQYWRXcmFwcGVyIC5teF9EaWFsb2cge1xuICAgIHBhZGRpbmc6IDBweDtcbn1cblxuLm14X0RpYWxQYWRNb2RhbCB7XG4gICAgd2lkdGg6IDI5MnB4O1xuICAgIGhlaWdodDogMzcwcHg7XG4gICAgcGFkZGluZzogMTZweCAwcHggMHB4IDBweDtcbn1cblxuLm14X0RpYWxQYWRNb2RhbF9oZWFkZXIge1xuICAgIG1hcmdpbi10b3A6IDMycHg7XG4gICAgbWFyZ2luLWxlZnQ6IDQwcHg7XG4gICAgbWFyZ2luLXJpZ2h0OiA0MHB4O1xuXG4gICAgLyogYSBzZXBhcmF0b3IgYmV0d2VlbiB0aGUgaW5wdXQgbGluZSBhbmQgdGhlIGRpYWwgYnV0dG9ucyAqL1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjNmY3ODgyO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1xdWF0ZXJuYXJ5LWNvbnRlbnQsICM2Zjc4ODIpO1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYm9yZGVyLWJvdHRvbSAwLjI1cztcbiAgICB0cmFuc2l0aW9uOiBib3JkZXItYm90dG9tIDAuMjVzO1xufVxuXG4ubXhfRGlhbFBhZE1vZGFsX2hlYWRlcjpmb2N1cy13aXRoaW4ge1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjMGRiZDhiO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1hY2NlbnQtY29sb3IsICMwZGJkOGIpO1xufVxuXG4ubXhfRGlhbFBhZE1vZGFsX3RpdGxlIHtcbiAgICBjb2xvcjogI2ExYjJkMTtcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWNwZC1mb250LXdlaWdodC1zZW1pYm9sZCk7XG59XG5cbi5teF9EaWFsUGFkTW9kYWxfY2FuY2VsIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdpZHRoOiAyOHB4O1xuICAgIGhlaWdodDogMjhweDtcbiAgICBib3JkZXItcmFkaXVzOiAxNHB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNwZC1jb2xvci1iZy1zdWJ0bGUtc2Vjb25kYXJ5KTtcbn1cblxuLm14X0RpYWxQYWRNb2RhbF9jYW5jZWw6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jcGQtY29sb3ItYmctc3VidGxlLXByaW1hcnkpO1xuICAgIH1cblxuLm14X0RpYWxQYWRNb2RhbF9jYW5jZWw6OmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIHdpZHRoOiAyOHB4O1xuICAgICAgICBoZWlnaHQ6IDI4cHg7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAtd2Via2l0LW1hc2staW1hZ2U6IHVybChcIkB2ZWN0b3ItaW0vY29tcG91bmQtZGVzaWduLXRva2Vucy9pY29ucy9jbG9zZS5zdmdcIik7XG4gICAgICAgICAgICAgICAgbWFzay1pbWFnZTogdXJsKFwiQHZlY3Rvci1pbS9jb21wb3VuZC1kZXNpZ24tdG9rZW5zL2ljb25zL2Nsb3NlLnN2Z1wiKTtcbiAgICAgICAgLXdlYmtpdC1tYXNrLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgICAgICAgIG1hc2stcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgIC13ZWJraXQtbWFzay1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgICAgICAgICAgIG1hc2stcG9zaXRpb246IGNlbnRlcjtcbiAgICAgICAgLXdlYmtpdC1tYXNrLXNpemU6IDIwcHg7XG4gICAgICAgICAgICAgICAgbWFzay1zaXplOiAyMHB4O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jcGQtY29sb3ItaWNvbi1zZWNvbmRhcnkpO1xuICAgIH1cblxuLm14X0RpYWxQYWRNb2RhbF9jYW5jZWwge1xuICAgIGZsb2F0OiByaWdodDtcbiAgICBtYXJnaW4tcmlnaHQ6IDE2cHg7XG59XG5cbi5teF9EaWFsUGFkTW9kYWxfZmllbGQge1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBtYXJnaW46IDBweDtcbiAgICBoZWlnaHQ6IDMwcHg7XG59XG5cbi5teF9EaWFsUGFkTW9kYWxfZmllbGQgLm14X0ZpZWxkX3Bvc3RmaXgge1xuICAgIC8qIFJlbW92ZSBib3JkZXIgc2VwYXJhdG9yIGJldHdlZW4gcG9zdGZpeCBhbmQgZmllbGQgY29udGVudCAqL1xuICAgIGJvcmRlci1sZWZ0OiBub25lO1xufVxuXG4ubXhfRGlhbFBhZE1vZGFsX2ZpZWxkIGlucHV0IHtcbiAgICBmb250LXNpemU6IDE4cHg7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWNwZC1mb250LXdlaWdodC1zZW1pYm9sZCk7XG59XG5cbi5teF9EaWFsUGFkTW9kYWxfZGlhbFBhZCB7XG4gICAgbWFyZ2luLWxlZnQ6IDE2cHg7XG4gICAgbWFyZ2luLXJpZ2h0OiAxNnB4O1xuICAgIG1hcmdpbi10b3A6IDE2cHg7XG59XG5cbi8qXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cbkNvcHlyaWdodCAyMDIxIMWgaW1vbiBCcmFuZG5lciA8c2ltb24uYnJhLmFnQGdtYWlsLmNvbT5cblxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuKi9cblxuLm14X0xlZ2FjeUNhbGxQcmV2aWV3IHtcbiAgICAtd2Via2l0LWJveC1hbGlnbjogZW5kO1xuICAgICAgICAtbXMtZmxleC1hbGlnbjogZW5kO1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcbiAgICAtd2Via2l0LWJveC1kaXJlY3Rpb246IG5vcm1hbDtcbiAgICAgICAgLW1zLWZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGdhcDogMTZweDtcbiAgICBsZWZ0OiAwO1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB0b3A6IDA7XG4gICAgLyogRGlzcGxheSBhYm92ZSBhbnkgd2lkZ2V0IGVsZW1lbnRzICovXG4gICAgei1pbmRleDogMTAyO1xufVxuXG4ubXhfTGVnYWN5Q2FsbFByZXZpZXcgLm14X1ZpZGVvRmVlZF9yZW1vdGUubXhfVmlkZW9GZWVkX3ZvaWNlIHtcbiAgICAgICAgbWluLWhlaWdodDogMTUwcHg7XG4gICAgfVxuXG4ubXhfTGVnYWN5Q2FsbFByZXZpZXcgLm14X1ZpZGVvRmVlZF9sb2NhbCB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB9XG5cbi8qXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cbkNvcHlyaWdodCAyMDIxLCAyMDIyIMWgaW1vbiBCcmFuZG5lciA8c2ltb24uYnJhLmFnQGdtYWlsLmNvbT5cbkNvcHlyaWdodCAyMDIwLCAyMDIxIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXG5Db3B5cmlnaHQgMjAxNSwgMjAxNiBPcGVuTWFya2V0IEx0ZFxuXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXG4qL1xuXG4ubXhfTGVnYWN5Q2FsbFZpZXcge1xuICAgIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1yb29tbGlzdC1iYWNrZ3JvdW5kLWNvbG9yKTtcbiAgICBwYWRkaW5nLWxlZnQ6IDhweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiA4cHg7XG4gICAgLyogWFhYOiBQaVBDb250YWluZXIgc2V0cyBwb2ludGVyLWV2ZW50czogbm9uZSAtIHNob3VsZCBwcm9iYWJseSBiZSBzZXQgYmFjayBpbiBhIGJldHRlciBwbGFjZSAqL1xuICAgIHBvaW50ZXItZXZlbnRzOiBpbml0aWFsO1xufVxuXG4ubXhfTGVnYWN5Q2FsbFZpZXcgLm14X0xlZ2FjeUNhbGxWaWV3X3RvYXN0IHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDc0cHg7XG5cbiAgICAgICAgcGFkZGluZzogNHB4IDhweDtcblxuICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgICAgIHotaW5kZXg6IDUwO1xuXG4gICAgICAgIC8qIFNhbWUgb24gYm90aCB0aGVtZXMgKi9cbiAgICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTcxOTFjO1xuICAgIH1cblxuLm14X0xlZ2FjeUNhbGxWaWV3IC5teF9MZWdhY3lDYWxsVmlld19jb250ZW50X3dyYXBwZXIge1xuICAgICAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgICAgICAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIC13ZWJraXQtYm94LXBhY2s6IGNlbnRlcjtcbiAgICAgICAgICAgIC1tcy1mbGV4LXBhY2s6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblxuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuXG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgfVxuXG4ubXhfTGVnYWN5Q2FsbFZpZXcgLm14X0xlZ2FjeUNhbGxWaWV3X2NvbnRlbnRfd3JhcHBlciAubXhfTGVnYWN5Q2FsbFZpZXdfY29udGVudCB7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuXG4gICAgICAgICAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcblxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWw7XG4gICAgICAgICAgICAtd2Via2l0LWJveC1kaXJlY3Rpb246IG5vcm1hbDtcbiAgICAgICAgICAgICAgICAtbXMtZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgIC13ZWJraXQtYm94LXBhY2s6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAtbXMtZmxleC1wYWNrOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gICAgICAgICAgICAtd2Via2l0LWJveC1mbGV4OiAxO1xuXG4gICAgICAgICAgICAgICAgLW1zLWZsZXg6IDE7XG5cbiAgICAgICAgICAgICAgICAgICAgZmxleDogMTtcbiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XG5cbiAgICAgICAgICAgIHBhZGRpbmc6IDEwcHg7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiBjYWxjKDIwJSArIDIwcHgpOyAvKiBTcGFjZSBmb3IgdGhlIHNpZGViYXIgKi9cblxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzZmNzg4MjtcbiAgICAgICAgfVxuXG4ubXhfTGVnYWN5Q2FsbFZpZXcgLm14X0xlZ2FjeUNhbGxWaWV3X2NvbnRlbnRfd3JhcHBlciAubXhfTGVnYWN5Q2FsbFZpZXdfY29udGVudCAubXhfTGVnYWN5Q2FsbFZpZXdfc3RhdHVzIHtcbiAgICAgICAgICAgICAgICB6LWluZGV4OiA1MDtcbiAgICAgICAgICAgICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgICAgIH1cblxuLm14X0xlZ2FjeUNhbGxWaWV3IC5teF9MZWdhY3lDYWxsVmlld19jb250ZW50X3dyYXBwZXIgLm14X0xlZ2FjeUNhbGxWaWV3X2NvbnRlbnQgLm14X0xlZ2FjeUNhbGxWaWV3X2F2YXRhcnNDb250YWluZXIge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgLXdlYmtpdC1ib3gtb3JpZW50OiBob3Jpem9udGFsO1xuICAgICAgICAgICAgICAgIC13ZWJraXQtYm94LWRpcmVjdGlvbjogbm9ybWFsO1xuICAgICAgICAgICAgICAgICAgICAtbXMtZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgICAgICAgICAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgLXdlYmtpdC1ib3gtcGFjazogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICAtbXMtZmxleC1wYWNrOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgIH1cblxuLm14X0xlZ2FjeUNhbGxWaWV3IC5teF9MZWdhY3lDYWxsVmlld19jb250ZW50X3dyYXBwZXIgLm14X0xlZ2FjeUNhbGxWaWV3X2NvbnRlbnQgLm14X0xlZ2FjeUNhbGxWaWV3X2F2YXRhcnNDb250YWluZXIgZGl2IHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDEycHg7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMTJweDtcbiAgICAgICAgICAgICAgICB9XG5cbi5teF9MZWdhY3lDYWxsVmlldyAubXhfTGVnYWN5Q2FsbFZpZXdfY29udGVudF93cmFwcGVyIC5teF9MZWdhY3lDYWxsVmlld19jb250ZW50IC5teF9MZWdhY3lDYWxsVmlld19ob2xkQmFja2dyb3VuZCB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgcmlnaHQ6IDA7XG5cbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG5cbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgICAgICAgICAgIC13ZWJraXQtZmlsdGVyOiBibHVyKDIwcHgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgZmlsdGVyOiBibHVyKDIwcHgpO1xuICAgICAgICAgICAgfVxuXG4ubXhfTGVnYWN5Q2FsbFZpZXcgLm14X0xlZ2FjeUNhbGxWaWV3X2NvbnRlbnRfd3JhcHBlciAubXhfTGVnYWN5Q2FsbFZpZXdfY29udGVudCAubXhfTGVnYWN5Q2FsbFZpZXdfaG9sZEJhY2tncm91bmQ6OmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC42KTtcbiAgICAgICAgICAgICAgICB9XG5cbi5teF9MZWdhY3lDYWxsVmlldyAubXhfTGVnYWN5Q2FsbFZpZXdfY29udGVudF93cmFwcGVyIC5teF9MZWdhY3lDYWxsVmlld19jb250ZW50Lm14X0xlZ2FjeUNhbGxWaWV3X2NvbnRlbnRfaG9sZCAubXhfTGVnYWN5Q2FsbFZpZXdfc3RhdHVzIHtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICB9XG5cbi5teF9MZWdhY3lDYWxsVmlldyAubXhfTGVnYWN5Q2FsbFZpZXdfY29udGVudF93cmFwcGVyIC5teF9MZWdhY3lDYWxsVmlld19jb250ZW50Lm14X0xlZ2FjeUNhbGxWaWV3X2NvbnRlbnRfaG9sZCAubXhfTGVnYWN5Q2FsbFZpZXdfc3RhdHVzOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICAgICAgICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDQwcHg7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogNDBweDtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vLi4vLi4vaW1nL3ZvaXAvcGF1c2VkLnN2Z1wiKTtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgICAgICAgICAgICAgIH1cblxuLm14X0xlZ2FjeUNhbGxWaWV3X3BpcCAubXhfTGVnYWN5Q2FsbFZpZXcgLm14X0xlZ2FjeUNhbGxWaWV3X2NvbnRlbnRfd3JhcHBlciAubXhfTGVnYWN5Q2FsbFZpZXdfY29udGVudC5teF9MZWdhY3lDYWxsVmlld19jb250ZW50X2hvbGQgLm14X0xlZ2FjeUNhbGxWaWV3X3N0YXR1czo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDMwcHg7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogMzBweDtcbiAgICAgICAgICAgICAgICB9XG5cbi5teF9MZWdhY3lDYWxsVmlldzpub3QoLm14X0xlZ2FjeUNhbGxWaWV3X3NpZGViYXIpIC5teF9MZWdhY3lDYWxsVmlld19jb250ZW50IHtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICB9XG5cbi5teF9MZWdhY3lDYWxsVmlldzpub3QoLm14X0xlZ2FjeUNhbGxWaWV3X3NpZGViYXIpIC5teF9MZWdhY3lDYWxsVmlld19jb250ZW50IC5teF9WaWRlb0ZlZWRfcHJpbWFyeSB7XG4gICAgICAgICAgICBhc3BlY3QtcmF0aW86IHVuc2V0O1xuICAgICAgICAgICAgYm9yZGVyOiAwO1xuXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgfVxuXG4ubXhfTGVnYWN5Q2FsbFZpZXcubXhfTGVnYWN5Q2FsbFZpZXdfcGlwIHtcbiAgICAgICAgd2lkdGg6IDMyMHB4O1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogOHB4O1xuXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDhweDtcblxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjEyNjJjO1xuXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXN5c3RlbSwgIzIxMjYyYyk7XG4gICAgICAgIC13ZWJraXQtYm94LXNoYWRvdzogMHB4IDRweCAyMHB4IHJnYmEoMCwgMCwgMCwgMC4yKTtcbiAgICAgICAgICAgICAgICBib3gtc2hhZG93OiAwcHggNHB4IDIwcHggcmdiYSgwLCAwLCAwLCAwLjIpO1xuICAgIH1cblxuLm14X0xlZ2FjeUNhbGxWaWV3Lm14X0xlZ2FjeUNhbGxWaWV3X3BpcCAubXhfTGVnYWN5Q2FsbFZpZXdCdXR0b25zIHtcbiAgICAgICAgICAgIGJvdHRvbTogMTNweDtcbiAgICAgICAgfVxuXG4ubXhfTGVnYWN5Q2FsbFZpZXcubXhfTGVnYWN5Q2FsbFZpZXdfcGlwIC5teF9MZWdhY3lDYWxsVmlld0J1dHRvbnMgLm14X0xlZ2FjeUNhbGxWaWV3QnV0dG9uc19idXR0b24ge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAzNHB4O1xuICAgICAgICAgICAgICAgIGhlaWdodDogMzRweDtcbiAgICAgICAgICAgIH1cblxuLm14X0xlZ2FjeUNhbGxWaWV3Lm14X0xlZ2FjeUNhbGxWaWV3X3BpcCAubXhfTGVnYWN5Q2FsbFZpZXdCdXR0b25zIC5teF9MZWdhY3lDYWxsVmlld0J1dHRvbnNfYnV0dG9uLm14X0xlZ2FjeUNhbGxWaWV3QnV0dG9uc19kcm9wZG93bkJ1dHRvbiB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiB2YXIoLS1MZWdhY3lDYWxsVmlld0J1dHRvbnNfZHJvcGRvd25CdXR0b24tc2l6ZSk7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogdmFyKC0tTGVnYWN5Q2FsbFZpZXdCdXR0b25zX2Ryb3Bkb3duQnV0dG9uLXNpemUpO1xuICAgICAgICAgICAgICAgIH1cblxuLm14X0xlZ2FjeUNhbGxWaWV3Lm14X0xlZ2FjeUNhbGxWaWV3X3BpcCAubXhfTGVnYWN5Q2FsbFZpZXdCdXR0b25zIC5teF9MZWdhY3lDYWxsVmlld0J1dHRvbnNfYnV0dG9uOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMjJweDtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAyMnB4O1xuICAgICAgICAgICAgICAgIH1cblxuLm14X0xlZ2FjeUNhbGxWaWV3Lm14X0xlZ2FjeUNhbGxWaWV3X3BpcCAubXhfTGVnYWN5Q2FsbFZpZXdfY29udGVudCB7XG4gICAgICAgICAgICBtaW4taGVpZ2h0OiAxODBweDtcbiAgICAgICAgfVxuXG4ubXhfTGVnYWN5Q2FsbFZpZXcubXhfTGVnYWN5Q2FsbFZpZXdfbGFyZ2Uge1xuICAgICAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgICAgICAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWw7XG4gICAgICAgIC13ZWJraXQtYm94LWRpcmVjdGlvbjogbm9ybWFsO1xuICAgICAgICAgICAgLW1zLWZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgICAgICAtd2Via2l0LWJveC1mbGV4OiAxO1xuXG4gICAgICAgICAgICAtbXMtZmxleDogMTtcblxuICAgICAgICAgICAgICAgIGZsZXg6IDE7XG5cbiAgICAgICAgcGFkZGluZy1ib3R0b206IDEwcHg7XG5cbiAgICAgICAgbWFyZ2luOiA4cHg7XG5cbiAgICAgICAgbWFyZ2luOiB2YXIoLS1jb250YWluZXItZ2FwLXdpZHRoKTtcbiAgICAgICAgLyogVGhlIGxlZnQgc2lkZSBnYXAgaXMgZnVsbHkgaGFuZGxlZCBieSB0aGlzIG1hcmdpbi4gVG8gcHJvaGliaXQgYmxlZWRpbmcgb24gd2Via2l0IGJyb3dzZXIuICovXG4gICAgICAgIG1hcmdpbi1yaWdodDogY2FsYyg4cHggLyAyKTtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiBjYWxjKHZhcigtLWNvbnRhaW5lci1nYXAtd2lkdGgpIC8gMik7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgfVxuXG4ubXhfTGVnYWN5Q2FsbFZpZXcubXhfTGVnYWN5Q2FsbFZpZXdfYmVsb3dXaWRnZXQge1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgIH1cblxuLypcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxuQ29weXJpZ2h0IDIwMjEgxaBpbW9uIEJyYW5kbmVyIDxzaW1vbi5icmEuYWdAZ21haWwuY29tPlxuXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXG4qL1xuXG4ubXhfTGVnYWN5Q2FsbFZpZXdGb3JSb29tIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4ubXhfTGVnYWN5Q2FsbFZpZXdGb3JSb29tIC5teF9MZWdhY3lDYWxsVmlld0ZvclJvb21fUmVzaXplV3JhcHBlciB7XG4gICAgICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICAgICAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICB9XG5cbi5teF9MZWdhY3lDYWxsVmlld0ZvclJvb20gLm14X0xlZ2FjeUNhbGxWaWV3Rm9yUm9vbV9SZXNpemVXcmFwcGVyOmhvdmVyIC5teF9MZWdhY3lDYWxsVmlld0ZvclJvb21fUmVzaXplSGFuZGxlIHtcbiAgICAgICAgICAgIC8qIE5lZWQgdG8gdXNlIGltcG9ydGFudCB0byBvdmVycmlkZSBlbGVtZW50IHN0eWxlIGF0dHJpYnV0ZXMgKi9cbiAgICAgICAgICAgIC8qIHNldCBieSByZS1yZXNpemFibGUgKi9cbiAgICAgICAgICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG5cbiAgICAgICAgICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuXG4gICAgICAgICAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcblxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIC13ZWJraXQtYm94LXBhY2s6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAtbXMtZmxleC1wYWNrOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICB9XG5cbi5teF9MZWdhY3lDYWxsVmlld0ZvclJvb20gLm14X0xlZ2FjeUNhbGxWaWV3Rm9yUm9vbV9SZXNpemVXcmFwcGVyOmhvdmVyIC5teF9MZWdhY3lDYWxsVmlld0ZvclJvb21fUmVzaXplSGFuZGxlOjphZnRlciB7XG4gICAgICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7XG5cbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDRweDtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDY0cHg7XG5cbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS10aW1lbGluZS10ZXh0LWNvbG9yKTtcbiAgICAgICAgICAgIH1cblxuLypcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxuQ29weXJpZ2h0IDIwMjEsIDIwMjIgxaBpbW9uIEJyYW5kbmVyIDxzaW1vbi5icmEuYWdAZ21haWwuY29tPlxuQ29weXJpZ2h0IDIwMjEgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cblxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuKi9cblxuLm14X0xlZ2FjeUNhbGxWaWV3SGVhZGVyIHtcbiAgICBoZWlnaHQ6IDQ0cHg7XG4gICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gICAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICAtd2Via2l0LWJveC1vcmllbnQ6IGhvcml6b250YWw7XG4gICAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiBub3JtYWw7XG4gICAgICAgIC1tcy1mbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO1xuICAgICAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAtd2Via2l0LWJveC1wYWNrOiBqdXN0aWZ5O1xuICAgICAgICAtbXMtZmxleC1wYWNrOiBqdXN0aWZ5O1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIC1tcy1mbGV4LW5lZ2F0aXZlOiAwO1xuICAgICAgICBmbGV4LXNocmluazogMDtcbiAgICB3aWR0aDogMTAwJTtcbn1cblxuLm14X0xlZ2FjeUNhbGxWaWV3SGVhZGVyLm14X0xlZ2FjeUNhbGxWaWV3SGVhZGVyX3BpcCB7XG4gICAgICAgIGN1cnNvcjogLXdlYmtpdC1ncmFiO1xuICAgICAgICBjdXJzb3I6IGdyYWI7XG4gICAgfVxuXG4ubXhfTGVnYWN5Q2FsbFZpZXdIZWFkZXJfdGV4dCB7XG4gICAgZm9udC1zaXplOiAxLjJyZW07XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cblxuLm14X0xlZ2FjeUNhbGxWaWV3SGVhZGVyX3NlY29uZGFyeUNhbGxJbmZvOjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBcIsK3XCI7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiA2cHg7XG4gICAgICAgIG1hcmdpbi1yaWdodDogNnB4O1xuICAgIH1cblxuLm14X0xlZ2FjeUNhbGxWaWV3SGVhZGVyX2NvbnRyb2xzIHtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGdhcDogNXB4O1xufVxuXG4ubXhfTGVnYWN5Q2FsbFZpZXdIZWFkZXJfYnV0dG9uIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi5teF9MZWdhY3lDYWxsVmlld0hlYWRlcl9idXR0b246OmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgICAgICB3aWR0aDogMjBweDtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2VkZjNmZjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tc2Vjb25kYXJ5LWNvbnRlbnQsICNlZGYzZmYpO1xuICAgICAgICAtd2Via2l0LW1hc2stcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgICAgICAgbWFzay1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgLXdlYmtpdC1tYXNrLXNpemU6IGNvbnRhaW47XG4gICAgICAgICAgICAgICAgbWFzay1zaXplOiBjb250YWluO1xuICAgICAgICAtd2Via2l0LW1hc2stcG9zaXRpb246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBtYXNrLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgfVxuXG4ubXhfTGVnYWN5Q2FsbFZpZXdIZWFkZXJfYnV0dG9uLm14X0xlZ2FjeUNhbGxWaWV3SGVhZGVyX2J1dHRvbl9mdWxsc2NyZWVuOjpiZWZvcmUge1xuICAgICAgICAgICAgLXdlYmtpdC1tYXNrLWltYWdlOiB1cmwoXCJAdmVjdG9yLWltL2NvbXBvdW5kLWRlc2lnbi10b2tlbnMvaWNvbnMvZXhwYW5kLnN2Z1wiKTtcbiAgICAgICAgICAgICAgICAgICAgbWFzay1pbWFnZTogdXJsKFwiQHZlY3Rvci1pbS9jb21wb3VuZC1kZXNpZ24tdG9rZW5zL2ljb25zL2V4cGFuZC5zdmdcIik7XG4gICAgICAgIH1cblxuLm14X0xlZ2FjeUNhbGxWaWV3SGVhZGVyX2J1dHRvbi5teF9MZWdhY3lDYWxsVmlld0hlYWRlcl9idXR0b25fcGluOjpiZWZvcmUge1xuICAgICAgICAgICAgLXdlYmtpdC1tYXNrLWltYWdlOiB1cmwoXCIuLi8uLi8uLi9pbWcvZWxlbWVudC1pY29ucy9yb29tL3Bpbi11cHJpZ2h0LnN2Z1wiKTtcbiAgICAgICAgICAgICAgICAgICAgbWFzay1pbWFnZTogdXJsKFwiLi4vLi4vLi4vaW1nL2VsZW1lbnQtaWNvbnMvcm9vbS9waW4tdXByaWdodC5zdmdcIik7XG4gICAgICAgIH1cblxuLm14X0xlZ2FjeUNhbGxWaWV3SGVhZGVyX2J1dHRvbi5teF9MZWdhY3lDYWxsVmlld0hlYWRlcl9idXR0b25fZXhwYW5kOjpiZWZvcmUge1xuICAgICAgICAgICAgLXdlYmtpdC1tYXNrLWltYWdlOiB1cmwoXCJAdmVjdG9yLWltL2NvbXBvdW5kLWRlc2lnbi10b2tlbnMvaWNvbnMvcG9wLW91dC5zdmdcIik7XG4gICAgICAgICAgICAgICAgICAgIG1hc2staW1hZ2U6IHVybChcIkB2ZWN0b3ItaW0vY29tcG91bmQtZGVzaWduLXRva2Vucy9pY29ucy9wb3Atb3V0LnN2Z1wiKTtcbiAgICAgICAgfVxuXG4ubXhfTGVnYWN5Q2FsbFZpZXdIZWFkZXJfY2FsbEluZm8ge1xuICAgIG1hcmdpbi1sZWZ0OiAxMnB4O1xuICAgIG1hcmdpbi1yaWdodDogMTZweDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4ubXhfTGVnYWN5Q2FsbFZpZXdIZWFkZXJfcm9vbU5hbWUge1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICBsaW5lLWhlaWdodDogbm9ybWFsO1xuICAgIGxpbmUtaGVpZ2h0OiBpbml0aWFsO1xuICAgIGhlaWdodDogMTVweDtcblxuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLm14X0xlZ2FjeUNhbGxWaWV3X3NlY29uZGFyeUNhbGxfcm9vbU5hbWUge1xuICAgIG1hcmdpbi1sZWZ0OiA0cHg7XG59XG5cbi5teF9MZWdhY3lDYWxsVmlld0hlYWRlcl9pY29uIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luLXJpZ2h0OiA2cHg7XG4gICAgaGVpZ2h0OiAxNnB4O1xuICAgIHdpZHRoOiAxNnB4O1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG5cbi5teF9MZWdhY3lDYWxsVmlld0hlYWRlcl9pY29uOjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG5cbiAgICAgICAgaGVpZ2h0OiAxNnB4O1xuICAgICAgICB3aWR0aDogMTZweDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2VkZjNmZjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tc2Vjb25kYXJ5LWNvbnRlbnQsICNlZGYzZmYpO1xuICAgICAgICAtd2Via2l0LW1hc2stcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgICAgICAgbWFzay1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgLXdlYmtpdC1tYXNrLXNpemU6IGNvbnRhaW47XG4gICAgICAgICAgICAgICAgbWFzay1zaXplOiBjb250YWluO1xuICAgICAgICAtd2Via2l0LW1hc2stcG9zaXRpb246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBtYXNrLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICAgIC13ZWJraXQtbWFzay1pbWFnZTogdXJsKFwiLi4vLi4vLi4vaW1nL2VsZW1lbnQtaWNvbnMvY2FsbC92b2ljZS1jYWxsLnN2Z1wiKTtcbiAgICAgICAgICAgICAgICBtYXNrLWltYWdlOiB1cmwoXCIuLi8uLi8uLi9pbWcvZWxlbWVudC1pY29ucy9jYWxsL3ZvaWNlLWNhbGwuc3ZnXCIpO1xuICAgIH1cblxuLypcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxuQ29weXJpZ2h0IDIwMjEsIDIwMjIgxaBpbW9uIEJyYW5kbmVyIDxzaW1vbi5icmEuYWdAZ21haWwuY29tPlxuXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXG4qL1xuXG4ubXhfTGVnYWN5Q2FsbFZpZXdTaWRlYmFyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDEwcHg7XG5cbiAgICB3aWR0aDogMjAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBvdmVyZmxvdzogYXV0bztcblxuICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuXG4gICAgZGlzcGxheTogLW1zLWZsZXhib3g7XG5cbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWw7XG4gICAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiBub3JtYWw7XG4gICAgICAgIC1tcy1mbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAtd2Via2l0LWJveC1wYWNrOiBjZW50ZXI7XG4gICAgICAgIC1tcy1mbGV4LXBhY2s6IGNlbnRlcjtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIC13ZWJraXQtYm94LWFsaWduOiBlbmQ7XG4gICAgICAgIC1tcy1mbGV4LWFsaWduOiBlbmQ7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG4gICAgZ2FwOiAxMnB4O1xufVxuXG4ubXhfTGVnYWN5Q2FsbFZpZXdTaWRlYmFyID4gLm14X1ZpZGVvRmVlZCB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgfVxuXG4ubXhfTGVnYWN5Q2FsbFZpZXdTaWRlYmFyID4gLm14X1ZpZGVvRmVlZC5teF9WaWRlb0ZlZWRfdm9pY2Uge1xuICAgICAgICAgICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gICAgICAgICAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICAtd2Via2l0LWJveC1wYWNrOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgLW1zLWZsZXgtcGFjazogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzIxMjYyYztcbiAgICAgICAgfVxuXG4ubXhfTGVnYWN5Q2FsbFZpZXdTaWRlYmFyLm14X0xlZ2FjeUNhbGxWaWV3U2lkZWJhcl9waXBNb2RlIHtcbiAgICAgICAgdG9wOiAxNnB4O1xuICAgICAgICBib3R0b206IGF1dG87XG4gICAgICAgIGJvdHRvbTogaW5pdGlhbDtcbiAgICAgICAgLXdlYmtpdC1ib3gtcGFjazogZW5kO1xuICAgICAgICAgICAgLW1zLWZsZXgtcGFjazogZW5kO1xuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICAgIGdhcDogNHB4O1xuICAgIH1cblxuLypcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxuQ29weXJpZ2h0IDIwMjEsIDIwMjIgxaBpbW9uIEJyYW5kbmVyIDxzaW1vbi5icmEuYWdAZ21haWwuY29tPlxuQ29weXJpZ2h0IDIwMTUsIDIwMTYgLCAyMDIwLCAyMDIxIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXG5cblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cbiovXG5cbi5teF9WaWRlb0ZlZWQge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgYm9yZGVyOiB0cmFuc3BhcmVudCAycHggc29saWQ7XG4gICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gICAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBib3JkZXItcmFkaXVzOiA0cHg7XG59XG5cbi5teF9WaWRlb0ZlZWQubXhfVmlkZW9GZWVkX3NlY29uZGFyeSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgcmlnaHQ6IDI0cHg7XG4gICAgICAgIGJvdHRvbTogNzJweDtcbiAgICAgICAgd2lkdGg6IDIwJTtcbiAgICB9XG5cbi5teF9WaWRlb0ZlZWQubXhfVmlkZW9GZWVkX3ZvaWNlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzE1MTcxYjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tc3Ryb25nLWlucHV0LWJvcmRlci1jb2xvciwgIzE1MTcxYik7XG5cbiAgICAgICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG5cbiAgICAgICAgZGlzcGxheTogLW1zLWZsZXhib3g7XG5cbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgLXdlYmtpdC1ib3gtcGFjazogY2VudGVyO1xuICAgICAgICAgICAgLW1zLWZsZXgtcGFjazogY2VudGVyO1xuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIH1cblxuLm14X1ZpZGVvRmVlZC5teF9WaWRlb0ZlZWRfdm9pY2U6bm90KC5teF9WaWRlb0ZlZWRfcHJpbWFyeSkge1xuICAgICAgICAgICAgYXNwZWN0LXJhdGlvOiAxNiAvIDk7XG4gICAgICAgIH1cblxuLm14X1ZpZGVvRmVlZCAubXhfVmlkZW9GZWVkX3ZpZGVvIHtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwMDAwO1xuICAgIH1cblxuLm14X1ZpZGVvRmVlZCAubXhfVmlkZW9GZWVkX3ZpZGVvLm14X1ZpZGVvRmVlZF92aWRlb19taXJyb3Ige1xuICAgICAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKC0xLCAxKTtcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgtMSwgMSk7XG4gICAgICAgIH1cblxuLm14X1ZpZGVvRmVlZCAubXhfVmlkZW9GZWVkX21pYyB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgbGVmdDogNnB4O1xuICAgICAgICBib3R0b206IDZweDtcbiAgICAgICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gICAgICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAtd2Via2l0LWJveC1wYWNrOiBjZW50ZXI7XG4gICAgICAgICAgICAtbXMtZmxleC1wYWNrOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cbiAgICAgICAgd2lkdGg6IDI0cHg7XG4gICAgICAgIGhlaWdodDogMjRweDtcblxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNSk7IC8qIFNhbWUgb24gYm90aCB0aGVtZXMgKi9cbiAgICAgICAgYm9yZGVyLXJhZGl1czogMTAwJTtcbiAgICB9XG5cbi5teF9WaWRlb0ZlZWQgLm14X1ZpZGVvRmVlZF9taWM6OmJlZm9yZSB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgd2lkdGg6IDE3cHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDE3cHg7XG4gICAgICAgICAgICAtd2Via2l0LW1hc2stcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgICAgICAgICAgIG1hc2stcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgICAtd2Via2l0LW1hc2stc2l6ZTogY29udGFpbjtcbiAgICAgICAgICAgICAgICAgICAgbWFzay1zaXplOiBjb250YWluO1xuICAgICAgICAgICAgLXdlYmtpdC1tYXNrLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgIG1hc2stcG9zaXRpb246IGNlbnRlcjtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlOyAvKiBTYW1lIG9uIGJvdGggdGhlbWVzICovXG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiA3cHg7XG4gICAgICAgIH1cblxuLm14X1ZpZGVvRmVlZCAubXhfVmlkZW9GZWVkX21pYy5teF9WaWRlb0ZlZWRfbWljX211dGVkOjpiZWZvcmUge1xuICAgICAgICAgICAgLXdlYmtpdC1tYXNrLWltYWdlOiB1cmwoXCJAdmVjdG9yLWltL2NvbXBvdW5kLWRlc2lnbi10b2tlbnMvaWNvbnMvbWljLW9mZi1zb2xpZC5zdmdcIik7XG4gICAgICAgICAgICAgICAgICAgIG1hc2staW1hZ2U6IHVybChcIkB2ZWN0b3ItaW0vY29tcG91bmQtZGVzaWduLXRva2Vucy9pY29ucy9taWMtb2ZmLXNvbGlkLnN2Z1wiKTtcbiAgICAgICAgfVxuXG4ubXhfVmlkZW9GZWVkIC5teF9WaWRlb0ZlZWRfbWljLm14X1ZpZGVvRmVlZF9taWNfdW5tdXRlZDo6YmVmb3JlIHtcbiAgICAgICAgICAgIC13ZWJraXQtbWFzay1pbWFnZTogdXJsKFwiQHZlY3Rvci1pbS9jb21wb3VuZC1kZXNpZ24tdG9rZW5zL2ljb25zL21pYy1vbi1zb2xpZC5zdmdcIik7XG4gICAgICAgICAgICAgICAgICAgIG1hc2staW1hZ2U6IHVybChcIkB2ZWN0b3ItaW0vY29tcG91bmQtZGVzaWduLXRva2Vucy9pY29ucy9taWMtb24tc29saWQuc3ZnXCIpO1xuICAgICAgICB9XG5cbi8qIGRhcmsgKi9cblxuLm1hcmtkb3duLWJvZHkge1xuICBjb2xvci1zY2hlbWU6IGRhcms7XG4gIC1tcy10ZXh0LXNpemUtYWRqdXN0OiAxMDAlO1xuICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7XG4gIG1hcmdpbjogMDtcbiAgY29sb3I6ICNmMGY2ZmM7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwZDExMTc7XG4gIGZvbnQtZmFtaWx5OiAtYXBwbGUtc3lzdGVtLEJsaW5rTWFjU3lzdGVtRm9udCxcIlNlZ29lIFVJXCIsXCJOb3RvIFNhbnNcIixIZWx2ZXRpY2EsQXJpYWwsc2Fucy1zZXJpZixcIkFwcGxlIENvbG9yIEVtb2ppXCIsXCJTZWdvZSBVSSBFbW9qaVwiO1xuICBmb250LXNpemU6IDE2cHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIHdvcmQtd3JhcDogYnJlYWstd29yZDtcbn1cblxuLm1hcmtkb3duLWJvZHkgLm9jdGljb24ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZpbGw6IGN1cnJlbnRDb2xvcjtcbiAgdmVydGljYWwtYWxpZ246IHRleHQtYm90dG9tO1xufVxuXG4ubWFya2Rvd24tYm9keSBoMTpob3ZlciAuYW5jaG9yIC5vY3RpY29uLWxpbms6YmVmb3JlLFxuLm1hcmtkb3duLWJvZHkgaDI6aG92ZXIgLmFuY2hvciAub2N0aWNvbi1saW5rOmJlZm9yZSxcbi5tYXJrZG93bi1ib2R5IGgzOmhvdmVyIC5hbmNob3IgLm9jdGljb24tbGluazpiZWZvcmUsXG4ubWFya2Rvd24tYm9keSBoNDpob3ZlciAuYW5jaG9yIC5vY3RpY29uLWxpbms6YmVmb3JlLFxuLm1hcmtkb3duLWJvZHkgaDU6aG92ZXIgLmFuY2hvciAub2N0aWNvbi1saW5rOmJlZm9yZSxcbi5tYXJrZG93bi1ib2R5IGg2OmhvdmVyIC5hbmNob3IgLm9jdGljb24tbGluazpiZWZvcmUge1xuICB3aWR0aDogMTZweDtcbiAgaGVpZ2h0OiAxNnB4O1xuICBjb250ZW50OiAnICc7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgYmFja2dyb3VuZC1jb2xvcjogY3VycmVudENvbG9yO1xuICAtd2Via2l0LW1hc2staW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDE2IDE2JyB2ZXJzaW9uPScxLjEnIGFyaWEtaGlkZGVuPSd0cnVlJz48cGF0aCBmaWxsLXJ1bGU9J2V2ZW5vZGQnIGQ9J003Ljc3NSAzLjI3NWEuNzUuNzUgMCAwMDEuMDYgMS4wNmwxLjI1LTEuMjVhMiAyIDAgMTEyLjgzIDIuODNsLTIuNSAyLjVhMiAyIDAgMDEtMi44MyAwIC43NS43NSAwIDAwLTEuMDYgMS4wNiAzLjUgMy41IDAgMDA0Ljk1IDBsMi41LTIuNWEzLjUgMy41IDAgMDAtNC45NS00Ljk1bC0xLjI1IDEuMjV6bS00LjY5IDkuNjRhMiAyIDAgMDEwLTIuODNsMi41LTIuNWEyIDIgMCAwMTIuODMgMCAuNzUuNzUgMCAwMDEuMDYtMS4wNiAzLjUgMy41IDAgMDAtNC45NSAwbC0yLjUgMi41YTMuNSAzLjUgMCAwMDQuOTUgNC45NWwxLjI1LTEuMjVhLjc1Ljc1IDAgMDAtMS4wNi0xLjA2bC0xLjI1IDEuMjVhMiAyIDAgMDEtMi44MyAweic+PC9wYXRoPjwvc3ZnPlwiKTtcbiAgbWFzay1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMTYgMTYnIHZlcnNpb249JzEuMScgYXJpYS1oaWRkZW49J3RydWUnPjxwYXRoIGZpbGwtcnVsZT0nZXZlbm9kZCcgZD0nTTcuNzc1IDMuMjc1YS43NS43NSAwIDAwMS4wNiAxLjA2bDEuMjUtMS4yNWEyIDIgMCAxMTIuODMgMi44M2wtMi41IDIuNWEyIDIgMCAwMS0yLjgzIDAgLjc1Ljc1IDAgMDAtMS4wNiAxLjA2IDMuNSAzLjUgMCAwMDQuOTUgMGwyLjUtMi41YTMuNSAzLjUgMCAwMC00Ljk1LTQuOTVsLTEuMjUgMS4yNXptLTQuNjkgOS42NGEyIDIgMCAwMTAtMi44M2wyLjUtMi41YTIgMiAwIDAxMi44MyAwIC43NS43NSAwIDAwMS4wNi0xLjA2IDMuNSAzLjUgMCAwMC00Ljk1IDBsLTIuNSAyLjVhMy41IDMuNSAwIDAwNC45NSA0Ljk1bDEuMjUtMS4yNWEuNzUuNzUgMCAwMC0xLjA2LTEuMDZsLTEuMjUgMS4yNWEyIDIgMCAwMS0yLjgzIDB6Jz48L3BhdGg+PC9zdmc+XCIpO1xufVxuXG4ubWFya2Rvd24tYm9keSBkZXRhaWxzLFxuLm1hcmtkb3duLWJvZHkgZmlnY2FwdGlvbixcbi5tYXJrZG93bi1ib2R5IGZpZ3VyZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4ubWFya2Rvd24tYm9keSBzdW1tYXJ5IHtcbiAgZGlzcGxheTogbGlzdC1pdGVtO1xufVxuXG4ubWFya2Rvd24tYm9keSBbaGlkZGVuXSB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuLm1hcmtkb3duLWJvZHkgYSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBjb2xvcjogIzQ0OTNmODtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG4ubWFya2Rvd24tYm9keSBhYmJyW3RpdGxlXSB7XG4gIGJvcmRlci1ib3R0b206IG5vbmU7XG4gIC13ZWJraXQtdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgZG90dGVkO1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSBkb3R0ZWQ7XG59XG5cbi5tYXJrZG93bi1ib2R5IGIsXG4ubWFya2Rvd24tYm9keSBzdHJvbmcge1xuICBmb250LXdlaWdodDogNjAwO1xufVxuXG4ubWFya2Rvd24tYm9keSBkZm4ge1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG59XG5cbi5tYXJrZG93bi1ib2R5IGgxIHtcbiAgbWFyZ2luOiAuNjdlbSAwO1xuICBmb250LXdlaWdodDogNjAwO1xuICBwYWRkaW5nLWJvdHRvbTogLjNlbTtcbiAgZm9udC1zaXplOiAyZW07XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjM2Q0NDRkYjM7XG59XG5cbi5tYXJrZG93bi1ib2R5IG1hcmsge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYmI4MDA5MjY7XG4gIGNvbG9yOiAjZjBmNmZjO1xufVxuXG4ubWFya2Rvd24tYm9keSBzbWFsbCB7XG4gIGZvbnQtc2l6ZTogOTAlO1xufVxuXG4ubWFya2Rvd24tYm9keSBzdWIsXG4ubWFya2Rvd24tYm9keSBzdXAge1xuICBmb250LXNpemU6IDc1JTtcbiAgbGluZS1oZWlnaHQ6IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xufVxuXG4ubWFya2Rvd24tYm9keSBzdWIge1xuICBib3R0b206IC0wLjI1ZW07XG59XG5cbi5tYXJrZG93bi1ib2R5IHN1cCB7XG4gIHRvcDogLTAuNWVtO1xufVxuXG4ubWFya2Rvd24tYm9keSBpbWcge1xuICBib3JkZXItc3R5bGU6IG5vbmU7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgLXdlYmtpdC1ib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgICAgICAgICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbn1cblxuLm1hcmtkb3duLWJvZHkgY29kZSxcbi5tYXJrZG93bi1ib2R5IGtiZCxcbi5tYXJrZG93bi1ib2R5IHByZSxcbi5tYXJrZG93bi1ib2R5IHNhbXAge1xuICBmb250LWZhbWlseTogbW9ub3NwYWNlO1xuICBmb250LXNpemU6IDFlbTtcbn1cblxuLm1hcmtkb3duLWJvZHkgZmlndXJlIHtcbiAgbWFyZ2luOiAxZW0gMi41cmVtO1xufVxuXG4ubWFya2Rvd24tYm9keSBociB7XG4gIC13ZWJraXQtYm94LXNpemluZzogY29udGVudC1ib3g7XG4gICAgICAgICAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzNkNDQ0ZGIzO1xuICBoZWlnaHQ6IC4yNWVtO1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDEuNXJlbSAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjM2Q0NDRkO1xuICBib3JkZXI6IDA7XG59XG5cbi5tYXJrZG93bi1ib2R5IGlucHV0IHtcbiAgZm9udDogaW5oZXJpdDtcbiAgbWFyZ2luOiAwO1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG59XG5cbi5tYXJrZG93bi1ib2R5IFt0eXBlPWJ1dHRvbl0sXG4ubWFya2Rvd24tYm9keSBbdHlwZT1yZXNldF0sXG4ubWFya2Rvd24tYm9keSBbdHlwZT1zdWJtaXRdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247XG4gIC1tb3otYXBwZWFyYW5jZTogYnV0dG9uO1xuICAgICAgIGFwcGVhcmFuY2U6IGJ1dHRvbjtcbn1cblxuLm1hcmtkb3duLWJvZHkgW3R5cGU9Y2hlY2tib3hdLFxuLm1hcmtkb3duLWJvZHkgW3R5cGU9cmFkaW9dIHtcbiAgLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHBhZGRpbmc6IDA7XG59XG5cbi5tYXJrZG93bi1ib2R5IFt0eXBlPW51bWJlcl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG4ubWFya2Rvd24tYm9keSBbdHlwZT1udW1iZXJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG4ubWFya2Rvd24tYm9keSBbdHlwZT1zZWFyY2hdOjotd2Via2l0LXNlYXJjaC1jYW5jZWwtYnV0dG9uLFxuLm1hcmtkb3duLWJvZHkgW3R5cGU9c2VhcmNoXTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgYXBwZWFyYW5jZTogbm9uZTtcbn1cblxuLm1hcmtkb3duLWJvZHkgOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIG9wYWNpdHk6IC41NDtcbn1cblxuLm1hcmtkb3duLWJvZHkgOjotd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uO1xuICBhcHBlYXJhbmNlOiBidXR0b247XG4gIGZvbnQ6IGluaGVyaXQ7XG59XG5cbi5tYXJrZG93bi1ib2R5IGE6aG92ZXIge1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbn1cblxuLm1hcmtkb3duLWJvZHkgOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHtcbiAgY29sb3I6ICM5MTk4YTE7XG4gIG9wYWNpdHk6IDE7XG59XG5cbi5tYXJrZG93bi1ib2R5IDo6LW1vei1wbGFjZWhvbGRlciB7XG4gIGNvbG9yOiAjOTE5OGExO1xuICBvcGFjaXR5OiAxO1xufVxuXG4ubWFya2Rvd24tYm9keSA6LW1zLWlucHV0LXBsYWNlaG9sZGVyIHtcbiAgY29sb3I6ICM5MTk4YTE7XG4gIG9wYWNpdHk6IDE7XG59XG5cbi5tYXJrZG93bi1ib2R5IDo6LW1zLWlucHV0LXBsYWNlaG9sZGVyIHtcbiAgY29sb3I6ICM5MTk4YTE7XG4gIG9wYWNpdHk6IDE7XG59XG5cbi5tYXJrZG93bi1ib2R5IDo6cGxhY2Vob2xkZXIge1xuICBjb2xvcjogIzkxOThhMTtcbiAgb3BhY2l0eTogMTtcbn1cblxuLm1hcmtkb3duLWJvZHkgaHI6OmJlZm9yZSB7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICBjb250ZW50OiBcIlwiO1xufVxuXG4ubWFya2Rvd24tYm9keSBocjo6YWZ0ZXIge1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgY2xlYXI6IGJvdGg7XG4gIGNvbnRlbnQ6IFwiXCI7XG59XG5cbi5tYXJrZG93bi1ib2R5IHRhYmxlIHtcbiAgYm9yZGVyLXNwYWNpbmc6IDA7XG4gIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogLXdlYmtpdC1tYXgtY29udGVudDtcbiAgd2lkdGg6IC1tb3otbWF4LWNvbnRlbnQ7XG4gIHdpZHRoOiBtYXgtY29udGVudDtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBvdmVyZmxvdzogYXV0bztcbiAgLXdlYmtpdC1mb250LWZlYXR1cmUtc2V0dGluZ3M6IFwidG51bVwiO1xuICAgICAgICAgIGZvbnQtZmVhdHVyZS1zZXR0aW5nczogXCJ0bnVtXCI7XG4gIGZvbnQtdmFyaWFudDogdGFidWxhci1udW1zO1xufVxuXG4ubWFya2Rvd24tYm9keSB0ZCxcbi5tYXJrZG93bi1ib2R5IHRoIHtcbiAgcGFkZGluZzogMDtcbn1cblxuLm1hcmtkb3duLWJvZHkgZGV0YWlscyBzdW1tYXJ5IHtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4ubWFya2Rvd24tYm9keSBhOmZvY3VzLFxuLm1hcmtkb3duLWJvZHkgW3JvbGU9YnV0dG9uXTpmb2N1cyxcbi5tYXJrZG93bi1ib2R5IGlucHV0W3R5cGU9cmFkaW9dOmZvY3VzLFxuLm1hcmtkb3duLWJvZHkgaW5wdXRbdHlwZT1jaGVja2JveF06Zm9jdXMge1xuICBvdXRsaW5lOiAycHggc29saWQgIzFmNmZlYjtcbiAgb3V0bGluZS1vZmZzZXQ6IC0ycHg7XG4gIC13ZWJraXQtYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xufVxuXG4ubWFya2Rvd24tYm9keSBhOmZvY3VzOm5vdCg6Zm9jdXMtdmlzaWJsZSksXG4ubWFya2Rvd24tYm9keSBbcm9sZT1idXR0b25dOmZvY3VzOm5vdCg6Zm9jdXMtdmlzaWJsZSksXG4ubWFya2Rvd24tYm9keSBpbnB1dFt0eXBlPXJhZGlvXTpmb2N1czpub3QoOmZvY3VzLXZpc2libGUpLFxuLm1hcmtkb3duLWJvZHkgaW5wdXRbdHlwZT1jaGVja2JveF06Zm9jdXM6bm90KDpmb2N1cy12aXNpYmxlKSB7XG4gIG91dGxpbmU6IHNvbGlkIDFweCB0cmFuc3BhcmVudDtcbn1cblxuLm1hcmtkb3duLWJvZHkgYTpmb2N1cy12aXNpYmxlLFxuLm1hcmtkb3duLWJvZHkgW3JvbGU9YnV0dG9uXTpmb2N1cy12aXNpYmxlLFxuLm1hcmtkb3duLWJvZHkgaW5wdXRbdHlwZT1yYWRpb106Zm9jdXMtdmlzaWJsZSxcbi5tYXJrZG93bi1ib2R5IGlucHV0W3R5cGU9Y2hlY2tib3hdOmZvY3VzLXZpc2libGUge1xuICBvdXRsaW5lOiAycHggc29saWQgIzFmNmZlYjtcbiAgb3V0bGluZS1vZmZzZXQ6IC0ycHg7XG4gIC13ZWJraXQtYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xufVxuXG4ubWFya2Rvd24tYm9keSBhOm5vdChbY2xhc3NdKTpmb2N1cyxcbi5tYXJrZG93bi1ib2R5IGE6bm90KFtjbGFzc10pOmZvY3VzLXZpc2libGUsXG4ubWFya2Rvd24tYm9keSBpbnB1dFt0eXBlPXJhZGlvXTpmb2N1cyxcbi5tYXJrZG93bi1ib2R5IGlucHV0W3R5cGU9cmFkaW9dOmZvY3VzLXZpc2libGUsXG4ubWFya2Rvd24tYm9keSBpbnB1dFt0eXBlPWNoZWNrYm94XTpmb2N1cyxcbi5tYXJrZG93bi1ib2R5IGlucHV0W3R5cGU9Y2hlY2tib3hdOmZvY3VzLXZpc2libGUge1xuICBvdXRsaW5lLW9mZnNldDogMDtcbn1cblxuLm1hcmtkb3duLWJvZHkga2JkIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwYWRkaW5nOiAwLjI1cmVtO1xuICBmb250OiAxMXB4IHVpLW1vbm9zcGFjZSwgU0ZNb25vLVJlZ3VsYXIsIFNGIE1vbm8sIE1lbmxvLCBDb25zb2xhcywgTGliZXJhdGlvbiBNb25vLCBtb25vc3BhY2U7XG4gIGxpbmUtaGVpZ2h0OiAxMHB4O1xuICBjb2xvcjogI2YwZjZmYztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzE1MWIyMztcbiAgYm9yZGVyOiBzb2xpZCAxcHggIzNkNDQ0ZGIzO1xuICBib3JkZXItYm90dG9tLWNvbG9yOiAjM2Q0NDRkYjM7XG4gIGJvcmRlci1yYWRpdXM6IDZweDtcbiAgLXdlYmtpdC1ib3gtc2hhZG93OiBpbnNldCAwIC0xcHggMCAjM2Q0NDRkYjM7XG4gICAgICAgICAgYm94LXNoYWRvdzogaW5zZXQgMCAtMXB4IDAgIzNkNDQ0ZGIzO1xufVxuXG4ubWFya2Rvd24tYm9keSBoMSxcbi5tYXJrZG93bi1ib2R5IGgyLFxuLm1hcmtkb3duLWJvZHkgaDMsXG4ubWFya2Rvd24tYm9keSBoNCxcbi5tYXJrZG93bi1ib2R5IGg1LFxuLm1hcmtkb3duLWJvZHkgaDYge1xuICBtYXJnaW4tdG9wOiAxLjVyZW07XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjI1O1xufVxuXG4ubWFya2Rvd24tYm9keSBoMiB7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIHBhZGRpbmctYm90dG9tOiAuM2VtO1xuICBmb250LXNpemU6IDEuNWVtO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzNkNDQ0ZGIzO1xufVxuXG4ubWFya2Rvd24tYm9keSBoMyB7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGZvbnQtc2l6ZTogMS4yNWVtO1xufVxuXG4ubWFya2Rvd24tYm9keSBoNCB7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGZvbnQtc2l6ZTogMWVtO1xufVxuXG4ubWFya2Rvd24tYm9keSBoNSB7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGZvbnQtc2l6ZTogLjg3NWVtO1xufVxuXG4ubWFya2Rvd24tYm9keSBoNiB7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGZvbnQtc2l6ZTogLjg1ZW07XG4gIGNvbG9yOiAjOTE5OGExO1xufVxuXG4ubWFya2Rvd24tYm9keSBwIHtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMTBweDtcbn1cblxuLm1hcmtkb3duLWJvZHkgYmxvY2txdW90ZSB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMCAxZW07XG4gIGNvbG9yOiAjOTE5OGExO1xuICBib3JkZXItbGVmdDogLjI1ZW0gc29saWQgIzNkNDQ0ZDtcbn1cblxuLm1hcmtkb3duLWJvZHkgdWwsXG4ubWFya2Rvd24tYm9keSBvbCB7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIHBhZGRpbmctbGVmdDogMmVtO1xufVxuXG4ubWFya2Rvd24tYm9keSBvbCBvbCxcbi5tYXJrZG93bi1ib2R5IHVsIG9sIHtcbiAgbGlzdC1zdHlsZS10eXBlOiBsb3dlci1yb21hbjtcbn1cblxuLm1hcmtkb3duLWJvZHkgdWwgdWwgb2wsXG4ubWFya2Rvd24tYm9keSB1bCBvbCBvbCxcbi5tYXJrZG93bi1ib2R5IG9sIHVsIG9sLFxuLm1hcmtkb3duLWJvZHkgb2wgb2wgb2wge1xuICBsaXN0LXN0eWxlLXR5cGU6IGxvd2VyLWFscGhhO1xufVxuXG4ubWFya2Rvd24tYm9keSBkZCB7XG4gIG1hcmdpbi1sZWZ0OiAwO1xufVxuXG4ubWFya2Rvd24tYm9keSB0dCxcbi5tYXJrZG93bi1ib2R5IGNvZGUsXG4ubWFya2Rvd24tYm9keSBzYW1wIHtcbiAgZm9udC1mYW1pbHk6IHVpLW1vbm9zcGFjZSwgU0ZNb25vLVJlZ3VsYXIsIFNGIE1vbm8sIE1lbmxvLCBDb25zb2xhcywgTGliZXJhdGlvbiBNb25vLCBtb25vc3BhY2U7XG4gIGZvbnQtc2l6ZTogMTJweDtcbn1cblxuLm1hcmtkb3duLWJvZHkgcHJlIHtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgZm9udC1mYW1pbHk6IHVpLW1vbm9zcGFjZSwgU0ZNb25vLVJlZ3VsYXIsIFNGIE1vbm8sIE1lbmxvLCBDb25zb2xhcywgTGliZXJhdGlvbiBNb25vLCBtb25vc3BhY2U7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgd29yZC13cmFwOiBub3JtYWw7XG59XG5cbi5tYXJrZG93bi1ib2R5IC5vY3RpY29uIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBvdmVyZmxvdzogdmlzaWJsZSAhaW1wb3J0YW50O1xuICB2ZXJ0aWNhbC1hbGlnbjogdGV4dC1ib3R0b207XG4gIGZpbGw6IGN1cnJlbnRDb2xvcjtcbn1cblxuLm1hcmtkb3duLWJvZHkgaW5wdXQ6Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24sXG4ubWFya2Rvd24tYm9keSBpbnB1dDo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbiB7XG4gIG1hcmdpbjogMDtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgICAgICAgIGFwcGVhcmFuY2U6IG5vbmU7XG59XG5cbi5tYXJrZG93bi1ib2R5IC5tci0yIHtcbiAgbWFyZ2luLXJpZ2h0OiAwLjVyZW0gIWltcG9ydGFudDtcbn1cblxuLm1hcmtkb3duLWJvZHk6OmJlZm9yZSB7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICBjb250ZW50OiBcIlwiO1xufVxuXG4ubWFya2Rvd24tYm9keTo6YWZ0ZXIge1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgY2xlYXI6IGJvdGg7XG4gIGNvbnRlbnQ6IFwiXCI7XG59XG5cbi5tYXJrZG93bi1ib2R5Pio6Zmlyc3QtY2hpbGQge1xuICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7XG59XG5cbi5tYXJrZG93bi1ib2R5Pio6bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcbn1cblxuLm1hcmtkb3duLWJvZHkgYTpub3QoW2hyZWZdKSB7XG4gIGNvbG9yOiBpbmhlcml0O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbi5tYXJrZG93bi1ib2R5IC5hYnNlbnQge1xuICBjb2xvcjogI2Y4NTE0OTtcbn1cblxuLm1hcmtkb3duLWJvZHkgLmFuY2hvciB7XG4gIGZsb2F0OiBsZWZ0O1xuICBwYWRkaW5nLXJpZ2h0OiAwLjI1cmVtO1xuICBtYXJnaW4tbGVmdDogLTIwcHg7XG4gIGxpbmUtaGVpZ2h0OiAxO1xufVxuXG4ubWFya2Rvd24tYm9keSAuYW5jaG9yOmZvY3VzIHtcbiAgb3V0bGluZTogbm9uZTtcbn1cblxuLm1hcmtkb3duLWJvZHkgcCxcbi5tYXJrZG93bi1ib2R5IGJsb2NrcXVvdGUsXG4ubWFya2Rvd24tYm9keSB1bCxcbi5tYXJrZG93bi1ib2R5IG9sLFxuLm1hcmtkb3duLWJvZHkgZGwsXG4ubWFya2Rvd24tYm9keSB0YWJsZSxcbi5tYXJrZG93bi1ib2R5IHByZSxcbi5tYXJrZG93bi1ib2R5IGRldGFpbHMge1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xufVxuXG4ubWFya2Rvd24tYm9keSBibG9ja3F1b3RlPjpmaXJzdC1jaGlsZCB7XG4gIG1hcmdpbi10b3A6IDA7XG59XG5cbi5tYXJrZG93bi1ib2R5IGJsb2NrcXVvdGU+Omxhc3QtY2hpbGQge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4ubWFya2Rvd24tYm9keSBoMSAub2N0aWNvbi1saW5rLFxuLm1hcmtkb3duLWJvZHkgaDIgLm9jdGljb24tbGluayxcbi5tYXJrZG93bi1ib2R5IGgzIC5vY3RpY29uLWxpbmssXG4ubWFya2Rvd24tYm9keSBoNCAub2N0aWNvbi1saW5rLFxuLm1hcmtkb3duLWJvZHkgaDUgLm9jdGljb24tbGluayxcbi5tYXJrZG93bi1ib2R5IGg2IC5vY3RpY29uLWxpbmsge1xuICBjb2xvcjogI2YwZjZmYztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuXG4ubWFya2Rvd24tYm9keSBoMTpob3ZlciAuYW5jaG9yLFxuLm1hcmtkb3duLWJvZHkgaDI6aG92ZXIgLmFuY2hvcixcbi5tYXJrZG93bi1ib2R5IGgzOmhvdmVyIC5hbmNob3IsXG4ubWFya2Rvd24tYm9keSBoNDpob3ZlciAuYW5jaG9yLFxuLm1hcmtkb3duLWJvZHkgaDU6aG92ZXIgLmFuY2hvcixcbi5tYXJrZG93bi1ib2R5IGg2OmhvdmVyIC5hbmNob3Ige1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbi5tYXJrZG93bi1ib2R5IGgxOmhvdmVyIC5hbmNob3IgLm9jdGljb24tbGluayxcbi5tYXJrZG93bi1ib2R5IGgyOmhvdmVyIC5hbmNob3IgLm9jdGljb24tbGluayxcbi5tYXJrZG93bi1ib2R5IGgzOmhvdmVyIC5hbmNob3IgLm9jdGljb24tbGluayxcbi5tYXJrZG93bi1ib2R5IGg0OmhvdmVyIC5hbmNob3IgLm9jdGljb24tbGluayxcbi5tYXJrZG93bi1ib2R5IGg1OmhvdmVyIC5hbmNob3IgLm9jdGljb24tbGluayxcbi5tYXJrZG93bi1ib2R5IGg2OmhvdmVyIC5hbmNob3IgLm9jdGljb24tbGluayB7XG4gIHZpc2liaWxpdHk6IHZpc2libGU7XG59XG5cbi5tYXJrZG93bi1ib2R5IGgxIHR0LFxuLm1hcmtkb3duLWJvZHkgaDEgY29kZSxcbi5tYXJrZG93bi1ib2R5IGgyIHR0LFxuLm1hcmtkb3duLWJvZHkgaDIgY29kZSxcbi5tYXJrZG93bi1ib2R5IGgzIHR0LFxuLm1hcmtkb3duLWJvZHkgaDMgY29kZSxcbi5tYXJrZG93bi1ib2R5IGg0IHR0LFxuLm1hcmtkb3duLWJvZHkgaDQgY29kZSxcbi5tYXJrZG93bi1ib2R5IGg1IHR0LFxuLm1hcmtkb3duLWJvZHkgaDUgY29kZSxcbi5tYXJrZG93bi1ib2R5IGg2IHR0LFxuLm1hcmtkb3duLWJvZHkgaDYgY29kZSB7XG4gIHBhZGRpbmc6IDAgLjJlbTtcbiAgZm9udC1zaXplOiBpbmhlcml0O1xufVxuXG4ubWFya2Rvd24tYm9keSBzdW1tYXJ5IGgxLFxuLm1hcmtkb3duLWJvZHkgc3VtbWFyeSBoMixcbi5tYXJrZG93bi1ib2R5IHN1bW1hcnkgaDMsXG4ubWFya2Rvd24tYm9keSBzdW1tYXJ5IGg0LFxuLm1hcmtkb3duLWJvZHkgc3VtbWFyeSBoNSxcbi5tYXJrZG93bi1ib2R5IHN1bW1hcnkgaDYge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG5cbi5tYXJrZG93bi1ib2R5IHN1bW1hcnkgaDEgLmFuY2hvcixcbi5tYXJrZG93bi1ib2R5IHN1bW1hcnkgaDIgLmFuY2hvcixcbi5tYXJrZG93bi1ib2R5IHN1bW1hcnkgaDMgLmFuY2hvcixcbi5tYXJrZG93bi1ib2R5IHN1bW1hcnkgaDQgLmFuY2hvcixcbi5tYXJrZG93bi1ib2R5IHN1bW1hcnkgaDUgLmFuY2hvcixcbi5tYXJrZG93bi1ib2R5IHN1bW1hcnkgaDYgLmFuY2hvciB7XG4gIG1hcmdpbi1sZWZ0OiAtNDBweDtcbn1cblxuLm1hcmtkb3duLWJvZHkgc3VtbWFyeSBoMSxcbi5tYXJrZG93bi1ib2R5IHN1bW1hcnkgaDIge1xuICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgYm9yZGVyLWJvdHRvbTogMDtcbn1cblxuLm1hcmtkb3duLWJvZHkgdWwubm8tbGlzdCxcbi5tYXJrZG93bi1ib2R5IG9sLm5vLWxpc3Qge1xuICBwYWRkaW5nOiAwO1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG59XG5cbi5tYXJrZG93bi1ib2R5IG9sW3R5cGU9XCJhIHNcIl0ge1xuICBsaXN0LXN0eWxlLXR5cGU6IGxvd2VyLWFscGhhO1xufVxuXG4ubWFya2Rvd24tYm9keSBvbFt0eXBlPVwiQSBzXCJdIHtcbiAgbGlzdC1zdHlsZS10eXBlOiB1cHBlci1hbHBoYTtcbn1cblxuLm1hcmtkb3duLWJvZHkgb2xbdHlwZT1cImkgc1wiXSB7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbG93ZXItcm9tYW47XG59XG5cbi5tYXJrZG93bi1ib2R5IG9sW3R5cGU9XCJJIHNcIl0ge1xuICBsaXN0LXN0eWxlLXR5cGU6IHVwcGVyLXJvbWFuO1xufVxuXG4ubWFya2Rvd24tYm9keSBvbFt0eXBlPVwiMVwiXSB7XG4gIGxpc3Qtc3R5bGUtdHlwZTogZGVjaW1hbDtcbn1cblxuLm1hcmtkb3duLWJvZHkgZGl2Pm9sOm5vdChbdHlwZV0pIHtcbiAgbGlzdC1zdHlsZS10eXBlOiBkZWNpbWFsO1xufVxuXG4ubWFya2Rvd24tYm9keSB1bCB1bCxcbi5tYXJrZG93bi1ib2R5IHVsIG9sLFxuLm1hcmtkb3duLWJvZHkgb2wgb2wsXG4ubWFya2Rvd24tYm9keSBvbCB1bCB7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi5tYXJrZG93bi1ib2R5IGxpPnAge1xuICBtYXJnaW4tdG9wOiAxcmVtO1xufVxuXG4ubWFya2Rvd24tYm9keSBsaStsaSB7XG4gIG1hcmdpbi10b3A6IC4yNWVtO1xufVxuXG4ubWFya2Rvd24tYm9keSBkbCB7XG4gIHBhZGRpbmc6IDA7XG59XG5cbi5tYXJrZG93bi1ib2R5IGRsIGR0IHtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luLXRvcDogMXJlbTtcbiAgZm9udC1zaXplOiAxZW07XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbn1cblxuLm1hcmtkb3duLWJvZHkgZGwgZGQge1xuICBwYWRkaW5nOiAwIDFyZW07XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG59XG5cbi5tYXJrZG93bi1ib2R5IHRhYmxlIHRoIHtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbn1cblxuLm1hcmtkb3duLWJvZHkgdGFibGUgdGgsXG4ubWFya2Rvd24tYm9keSB0YWJsZSB0ZCB7XG4gIHBhZGRpbmc6IDZweCAxM3B4O1xuICBib3JkZXI6IDFweCBzb2xpZCAjM2Q0NDRkO1xufVxuXG4ubWFya2Rvd24tYm9keSB0YWJsZSB0ZD46bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi5tYXJrZG93bi1ib2R5IHRhYmxlIHRyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzBkMTExNztcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICMzZDQ0NGRiMztcbn1cblxuLm1hcmtkb3duLWJvZHkgdGFibGUgdHI6bnRoLWNoaWxkKDJuKSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxNTFiMjM7XG59XG5cbi5tYXJrZG93bi1ib2R5IHRhYmxlIGltZyB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuXG4ubWFya2Rvd24tYm9keSBpbWdbYWxpZ249cmlnaHRdIHtcbiAgcGFkZGluZy1sZWZ0OiAyMHB4O1xufVxuXG4ubWFya2Rvd24tYm9keSBpbWdbYWxpZ249bGVmdF0ge1xuICBwYWRkaW5nLXJpZ2h0OiAyMHB4O1xufVxuXG4ubWFya2Rvd24tYm9keSAuZW1vamkge1xuICBtYXgtd2lkdGg6IG5vbmU7XG4gIHZlcnRpY2FsLWFsaWduOiB0ZXh0LXRvcDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG5cbi5tYXJrZG93bi1ib2R5IHNwYW4uZnJhbWUge1xuICBkaXNwbGF5OiBibG9jaztcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLm1hcmtkb3duLWJvZHkgc3Bhbi5mcmFtZT5zcGFuIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZsb2F0OiBsZWZ0O1xuICB3aWR0aDogYXV0bztcbiAgcGFkZGluZzogN3B4O1xuICBtYXJnaW46IDEzcHggMCAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBib3JkZXI6IDFweCBzb2xpZCAjM2Q0NDRkO1xufVxuXG4ubWFya2Rvd24tYm9keSBzcGFuLmZyYW1lIHNwYW4gaW1nIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZsb2F0OiBsZWZ0O1xufVxuXG4ubWFya2Rvd24tYm9keSBzcGFuLmZyYW1lIHNwYW4gc3BhbiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiA1cHggMCAwO1xuICBjbGVhcjogYm90aDtcbiAgY29sb3I6ICNmMGY2ZmM7XG59XG5cbi5tYXJrZG93bi1ib2R5IHNwYW4uYWxpZ24tY2VudGVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGNsZWFyOiBib3RoO1xufVxuXG4ubWFya2Rvd24tYm9keSBzcGFuLmFsaWduLWNlbnRlcj5zcGFuIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbjogMTNweCBhdXRvIDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLm1hcmtkb3duLWJvZHkgc3Bhbi5hbGlnbi1jZW50ZXIgc3BhbiBpbWcge1xuICBtYXJnaW46IDAgYXV0bztcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4ubWFya2Rvd24tYm9keSBzcGFuLmFsaWduLXJpZ2h0IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGNsZWFyOiBib3RoO1xufVxuXG4ubWFya2Rvd24tYm9keSBzcGFuLmFsaWduLXJpZ2h0PnNwYW4ge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luOiAxM3B4IDAgMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG59XG5cbi5tYXJrZG93bi1ib2R5IHNwYW4uYWxpZ24tcmlnaHQgc3BhbiBpbWcge1xuICBtYXJnaW46IDA7XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xufVxuXG4ubWFya2Rvd24tYm9keSBzcGFuLmZsb2F0LWxlZnQge1xuICBkaXNwbGF5OiBibG9jaztcbiAgZmxvYXQ6IGxlZnQ7XG4gIG1hcmdpbi1yaWdodDogMTNweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLm1hcmtkb3duLWJvZHkgc3Bhbi5mbG9hdC1sZWZ0IHNwYW4ge1xuICBtYXJnaW46IDEzcHggMCAwO1xufVxuXG4ubWFya2Rvd24tYm9keSBzcGFuLmZsb2F0LXJpZ2h0IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZsb2F0OiByaWdodDtcbiAgbWFyZ2luLWxlZnQ6IDEzcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5tYXJrZG93bi1ib2R5IHNwYW4uZmxvYXQtcmlnaHQ+c3BhbiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46IDEzcHggYXV0byAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0ZXh0LWFsaWduOiByaWdodDtcbn1cblxuLm1hcmtkb3duLWJvZHkgY29kZSxcbi5tYXJrZG93bi1ib2R5IHR0IHtcbiAgcGFkZGluZzogLjJlbSAuNGVtO1xuICBtYXJnaW46IDA7XG4gIGZvbnQtc2l6ZTogODUlO1xuICB3aGl0ZS1zcGFjZTogYnJlYWstc3BhY2VzO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNjU2Yzc2MzM7XG4gIGJvcmRlci1yYWRpdXM6IDZweDtcbn1cblxuLm1hcmtkb3duLWJvZHkgY29kZSBicixcbi5tYXJrZG93bi1ib2R5IHR0IGJyIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLm1hcmtkb3duLWJvZHkgZGVsIGNvZGUge1xuICB0ZXh0LWRlY29yYXRpb246IGluaGVyaXQ7XG59XG5cbi5tYXJrZG93bi1ib2R5IHNhbXAge1xuICBmb250LXNpemU6IDg1JTtcbn1cblxuLm1hcmtkb3duLWJvZHkgcHJlIGNvZGUge1xuICBmb250LXNpemU6IDEwMCU7XG59XG5cbi5tYXJrZG93bi1ib2R5IHByZT5jb2RlIHtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAwO1xuICB3b3JkLWJyZWFrOiBub3JtYWw7XG4gIHdoaXRlLXNwYWNlOiBwcmU7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBib3JkZXI6IDA7XG59XG5cbi5tYXJrZG93bi1ib2R5IC5oaWdobGlnaHQge1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xufVxuXG4ubWFya2Rvd24tYm9keSAuaGlnaGxpZ2h0IHByZSB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIHdvcmQtYnJlYWs6IG5vcm1hbDtcbn1cblxuLm1hcmtkb3duLWJvZHkgLmhpZ2hsaWdodCBwcmUsXG4ubWFya2Rvd24tYm9keSBwcmUge1xuICBwYWRkaW5nOiAxcmVtO1xuICBvdmVyZmxvdzogYXV0bztcbiAgZm9udC1zaXplOiA4NSU7XG4gIGxpbmUtaGVpZ2h0OiAxLjQ1O1xuICBjb2xvcjogI2YwZjZmYztcbiAgYmFja2dyb3VuZC1jb2xvcjogIzE1MWIyMztcbiAgYm9yZGVyLXJhZGl1czogNnB4O1xufVxuXG4ubWFya2Rvd24tYm9keSBwcmUgY29kZSxcbi5tYXJrZG93bi1ib2R5IHByZSB0dCB7XG4gIGRpc3BsYXk6IGlubGluZTtcbiAgbWF4LXdpZHRoOiBhdXRvO1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgd29yZC13cmFwOiBub3JtYWw7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXI6IDA7XG59XG5cbi5tYXJrZG93bi1ib2R5IC5jc3YtZGF0YSB0ZCxcbi5tYXJrZG93bi1ib2R5IC5jc3YtZGF0YSB0aCB7XG4gIHBhZGRpbmc6IDVweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgZm9udC1zaXplOiAxMnB4O1xuICBsaW5lLWhlaWdodDogMTtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLm1hcmtkb3duLWJvZHkgLmNzdi1kYXRhIC5ibG9iLW51bSB7XG4gIHBhZGRpbmc6IDEwcHggMC41cmVtIDlweDtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gIGJhY2tncm91bmQ6ICMwZDExMTc7XG4gIGJvcmRlcjogMDtcbn1cblxuLm1hcmtkb3duLWJvZHkgLmNzdi1kYXRhIHRyIHtcbiAgYm9yZGVyLXRvcDogMDtcbn1cblxuLm1hcmtkb3duLWJvZHkgLmNzdi1kYXRhIHRoIHtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgYmFja2dyb3VuZDogIzE1MWIyMztcbiAgYm9yZGVyLXRvcDogMDtcbn1cblxuLm1hcmtkb3duLWJvZHkgW2RhdGEtZm9vdG5vdGUtcmVmXTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJbXCI7XG59XG5cbi5tYXJrZG93bi1ib2R5IFtkYXRhLWZvb3Rub3RlLXJlZl06OmFmdGVyIHtcbiAgY29udGVudDogXCJdXCI7XG59XG5cbi5tYXJrZG93bi1ib2R5IC5mb290bm90ZXMge1xuICBmb250LXNpemU6IDEycHg7XG4gIGNvbG9yOiAjOTE5OGExO1xuICBib3JkZXItdG9wOiAxcHggc29saWQgIzNkNDQ0ZDtcbn1cblxuLm1hcmtkb3duLWJvZHkgLmZvb3Rub3RlcyBvbCB7XG4gIHBhZGRpbmctbGVmdDogMXJlbTtcbn1cblxuLm1hcmtkb3duLWJvZHkgLmZvb3Rub3RlcyBvbCB1bCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcGFkZGluZy1sZWZ0OiAxcmVtO1xuICBtYXJnaW4tdG9wOiAxcmVtO1xufVxuXG4ubWFya2Rvd24tYm9keSAuZm9vdG5vdGVzIGxpIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4ubWFya2Rvd24tYm9keSAuZm9vdG5vdGVzIGxpOnRhcmdldDo6YmVmb3JlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IGNhbGMoMC41cmVtKi0xKTtcbiAgcmlnaHQ6IGNhbGMoMC41cmVtKi0xKTtcbiAgYm90dG9tOiBjYWxjKDAuNXJlbSotMSk7XG4gIGxlZnQ6IGNhbGMoMS41cmVtKi0xKTtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGJvcmRlcjogMnB4IHNvbGlkICMxZjZmZWI7XG4gIGJvcmRlci1yYWRpdXM6IDZweDtcbn1cblxuLm1hcmtkb3duLWJvZHkgLmZvb3Rub3RlcyBsaTp0YXJnZXQge1xuICBjb2xvcjogI2YwZjZmYztcbn1cblxuLm1hcmtkb3duLWJvZHkgLmZvb3Rub3RlcyAuZGF0YS1mb290bm90ZS1iYWNrcmVmIGctZW1vamkge1xuICBmb250LWZhbWlseTogbW9ub3NwYWNlO1xufVxuXG4ubWFya2Rvd24tYm9keSBib2R5Omhhcyg6bW9kYWwpIHtcbiAgcGFkZGluZy1yaWdodDogdmFyKC0tZGlhbG9nLXNjcm9sbGd1dHRlcikgIWltcG9ydGFudDtcbn1cblxuLm1hcmtkb3duLWJvZHkgLnBsLWMge1xuICBjb2xvcjogIzkxOThhMTtcbn1cblxuLm1hcmtkb3duLWJvZHkgLnBsLWMxLFxuLm1hcmtkb3duLWJvZHkgLnBsLXMgLnBsLXYge1xuICBjb2xvcjogIzc5YzBmZjtcbn1cblxuLm1hcmtkb3duLWJvZHkgLnBsLWUsXG4ubWFya2Rvd24tYm9keSAucGwtZW4ge1xuICBjb2xvcjogI2QyYThmZjtcbn1cblxuLm1hcmtkb3duLWJvZHkgLnBsLXNtaSxcbi5tYXJrZG93bi1ib2R5IC5wbC1zIC5wbC1zMSB7XG4gIGNvbG9yOiAjZjBmNmZjO1xufVxuXG4ubWFya2Rvd24tYm9keSAucGwtZW50IHtcbiAgY29sb3I6ICM3ZWU3ODc7XG59XG5cbi5tYXJrZG93bi1ib2R5IC5wbC1rIHtcbiAgY29sb3I6ICNmZjdiNzI7XG59XG5cbi5tYXJrZG93bi1ib2R5IC5wbC1zLFxuLm1hcmtkb3duLWJvZHkgLnBsLXBkcyxcbi5tYXJrZG93bi1ib2R5IC5wbC1zIC5wbC1wc2UgLnBsLXMxLFxuLm1hcmtkb3duLWJvZHkgLnBsLXNyLFxuLm1hcmtkb3duLWJvZHkgLnBsLXNyIC5wbC1jY2UsXG4ubWFya2Rvd24tYm9keSAucGwtc3IgLnBsLXNyZSxcbi5tYXJrZG93bi1ib2R5IC5wbC1zciAucGwtc3JhIHtcbiAgY29sb3I6ICNhNWQ2ZmY7XG59XG5cbi5tYXJrZG93bi1ib2R5IC5wbC12LFxuLm1hcmtkb3duLWJvZHkgLnBsLXNtdyB7XG4gIGNvbG9yOiAjZmZhNjU3O1xufVxuXG4ubWFya2Rvd24tYm9keSAucGwtYnUge1xuICBjb2xvcjogI2Y4NTE0OTtcbn1cblxuLm1hcmtkb3duLWJvZHkgLnBsLWlpIHtcbiAgY29sb3I6ICNmMGY2ZmM7XG4gIGJhY2tncm91bmQtY29sb3I6ICM4ZTE1MTk7XG59XG5cbi5tYXJrZG93bi1ib2R5IC5wbC1jMiB7XG4gIGNvbG9yOiAjZjBmNmZjO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYjYyMzI0O1xufVxuXG4ubWFya2Rvd24tYm9keSAucGwtc3IgLnBsLWNjZSB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBjb2xvcjogIzdlZTc4Nztcbn1cblxuLm1hcmtkb3duLWJvZHkgLnBsLW1sIHtcbiAgY29sb3I6ICNmMmNjNjA7XG59XG5cbi5tYXJrZG93bi1ib2R5IC5wbC1taCxcbi5tYXJrZG93bi1ib2R5IC5wbC1taCAucGwtZW4sXG4ubWFya2Rvd24tYm9keSAucGwtbXMge1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgY29sb3I6ICMxZjZmZWI7XG59XG5cbi5tYXJrZG93bi1ib2R5IC5wbC1taSB7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgY29sb3I6ICNmMGY2ZmM7XG59XG5cbi5tYXJrZG93bi1ib2R5IC5wbC1tYiB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBjb2xvcjogI2YwZjZmYztcbn1cblxuLm1hcmtkb3duLWJvZHkgLnBsLW1kIHtcbiAgY29sb3I6ICNmZmRjZDc7XG4gIGJhY2tncm91bmQtY29sb3I6ICM2NzA2MGM7XG59XG5cbi5tYXJrZG93bi1ib2R5IC5wbC1taTEge1xuICBjb2xvcjogI2FmZjViNDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAzM2ExNjtcbn1cblxuLm1hcmtkb3duLWJvZHkgLnBsLW1jIHtcbiAgY29sb3I6ICNmZmRmYjY7XG4gIGJhY2tncm91bmQtY29sb3I6ICM1YTFlMDI7XG59XG5cbi5tYXJrZG93bi1ib2R5IC5wbC1taTIge1xuICBjb2xvcjogI2YwZjZmYztcbiAgYmFja2dyb3VuZC1jb2xvcjogIzExNThjNztcbn1cblxuLm1hcmtkb3duLWJvZHkgLnBsLW1kciB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBjb2xvcjogI2QyYThmZjtcbn1cblxuLm1hcmtkb3duLWJvZHkgLnBsLWJhIHtcbiAgY29sb3I6ICM5MTk4YTE7XG59XG5cbi5tYXJrZG93bi1ib2R5IC5wbC1zZyB7XG4gIGNvbG9yOiAjM2Q0NDRkO1xufVxuXG4ubWFya2Rvd24tYm9keSAucGwtY29ybCB7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICBjb2xvcjogI2E1ZDZmZjtcbn1cblxuLm1hcmtkb3duLWJvZHkgW3JvbGU9YnV0dG9uXTpmb2N1czpub3QoOmZvY3VzLXZpc2libGUpLFxuLm1hcmtkb3duLWJvZHkgW3JvbGU9dGFicGFuZWxdW3RhYmluZGV4PVwiMFwiXTpmb2N1czpub3QoOmZvY3VzLXZpc2libGUpLFxuLm1hcmtkb3duLWJvZHkgYnV0dG9uOmZvY3VzOm5vdCg6Zm9jdXMtdmlzaWJsZSksXG4ubWFya2Rvd24tYm9keSBzdW1tYXJ5OmZvY3VzOm5vdCg6Zm9jdXMtdmlzaWJsZSksXG4ubWFya2Rvd24tYm9keSBhOmZvY3VzOm5vdCg6Zm9jdXMtdmlzaWJsZSkge1xuICBvdXRsaW5lOiBub25lO1xuICAtd2Via2l0LWJveC1zaGFkb3c6IG5vbmU7XG4gICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbn1cblxuLm1hcmtkb3duLWJvZHkgW3RhYmluZGV4PVwiMFwiXTpmb2N1czpub3QoOmZvY3VzLXZpc2libGUpLFxuLm1hcmtkb3duLWJvZHkgZGV0YWlscy1kaWFsb2c6Zm9jdXM6bm90KDpmb2N1cy12aXNpYmxlKSB7XG4gIG91dGxpbmU6IG5vbmU7XG59XG5cbi5tYXJrZG93bi1ib2R5IGctZW1vamkge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1pbi13aWR0aDogMWNoO1xuICBmb250LWZhbWlseTogXCJBcHBsZSBDb2xvciBFbW9qaVwiLFwiU2Vnb2UgVUkgRW1vamlcIixcIlNlZ29lIFVJIFN5bWJvbFwiO1xuICBmb250LXNpemU6IDFlbTtcbiAgZm9udC1zdHlsZTogbm9ybWFsICFpbXBvcnRhbnQ7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICB2ZXJ0aWNhbC1hbGlnbjogLTAuMDc1ZW07XG59XG5cbi5tYXJrZG93bi1ib2R5IGctZW1vamkgaW1nIHtcbiAgd2lkdGg6IDFlbTtcbiAgaGVpZ2h0OiAxZW07XG59XG5cbi5tYXJrZG93bi1ib2R5IC50YXNrLWxpc3QtaXRlbSB7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbn1cblxuLm1hcmtkb3duLWJvZHkgLnRhc2stbGlzdC1pdGVtIGxhYmVsIHtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cblxuLm1hcmtkb3duLWJvZHkgLnRhc2stbGlzdC1pdGVtLmVuYWJsZWQgbGFiZWwge1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi5tYXJrZG93bi1ib2R5IC50YXNrLWxpc3QtaXRlbSsudGFzay1saXN0LWl0ZW0ge1xuICBtYXJnaW4tdG9wOiAwLjI1cmVtO1xufVxuXG4ubWFya2Rvd24tYm9keSAudGFzay1saXN0LWl0ZW0gLmhhbmRsZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5tYXJrZG93bi1ib2R5IC50YXNrLWxpc3QtaXRlbS1jaGVja2JveCB7XG4gIG1hcmdpbjogMCAuMmVtIC4yNWVtIC0xLjRlbTtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cblxuLm1hcmtkb3duLWJvZHkgdWw6ZGlyKHJ0bCkgLnRhc2stbGlzdC1pdGVtLWNoZWNrYm94IHtcbiAgbWFyZ2luOiAwIC0xLjZlbSAuMjVlbSAuMmVtO1xufVxuXG4ubWFya2Rvd24tYm9keSBvbDpkaXIocnRsKSAudGFzay1saXN0LWl0ZW0tY2hlY2tib3gge1xuICBtYXJnaW46IDAgLTEuNmVtIC4yNWVtIC4yZW07XG59XG5cbi5tYXJrZG93bi1ib2R5IC5jb250YWlucy10YXNrLWxpc3Q6aG92ZXIgLnRhc2stbGlzdC1pdGVtLWNvbnZlcnQtY29udGFpbmVyLFxuLm1hcmtkb3duLWJvZHkgLmNvbnRhaW5zLXRhc2stbGlzdDpmb2N1cy13aXRoaW4gLnRhc2stbGlzdC1pdGVtLWNvbnZlcnQtY29udGFpbmVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiBhdXRvO1xuICBoZWlnaHQ6IDI0cHg7XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xuICBjbGlwOiBhdXRvO1xufVxuXG4ubWFya2Rvd24tYm9keSA6Oi13ZWJraXQtY2FsZW5kYXItcGlja2VyLWluZGljYXRvciB7XG4gIC13ZWJraXQtZmlsdGVyOiBpbnZlcnQoNTAlKTtcbiAgICAgICAgICBmaWx0ZXI6IGludmVydCg1MCUpO1xufVxuXG4ubWFya2Rvd24tYm9keSAubWFya2Rvd24tYWxlcnQge1xuICBwYWRkaW5nOiAwLjVyZW0gMXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIGJvcmRlci1sZWZ0OiAuMjVlbSBzb2xpZCAjM2Q0NDRkO1xufVxuXG4ubWFya2Rvd24tYm9keSAubWFya2Rvd24tYWxlcnQ+OmZpcnN0LWNoaWxkIHtcbiAgbWFyZ2luLXRvcDogMDtcbn1cblxuLm1hcmtkb3duLWJvZHkgLm1hcmtkb3duLWFsZXJ0PjpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLm1hcmtkb3duLWJvZHkgLm1hcmtkb3duLWFsZXJ0IC5tYXJrZG93bi1hbGVydC10aXRsZSB7XG4gIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgZGlzcGxheTogZmxleDtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjtcbiAgICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgbGluZS1oZWlnaHQ6IDE7XG59XG5cbi5tYXJrZG93bi1ib2R5IC5tYXJrZG93bi1hbGVydC5tYXJrZG93bi1hbGVydC1ub3RlIHtcbiAgYm9yZGVyLWxlZnQtY29sb3I6ICMxZjZmZWI7XG59XG5cbi5tYXJrZG93bi1ib2R5IC5tYXJrZG93bi1hbGVydC5tYXJrZG93bi1hbGVydC1ub3RlIC5tYXJrZG93bi1hbGVydC10aXRsZSB7XG4gIGNvbG9yOiAjNDQ5M2Y4O1xufVxuXG4ubWFya2Rvd24tYm9keSAubWFya2Rvd24tYWxlcnQubWFya2Rvd24tYWxlcnQtaW1wb3J0YW50IHtcbiAgYm9yZGVyLWxlZnQtY29sb3I6ICM4OTU3ZTU7XG59XG5cbi5tYXJrZG93bi1ib2R5IC5tYXJrZG93bi1hbGVydC5tYXJrZG93bi1hbGVydC1pbXBvcnRhbnQgLm1hcmtkb3duLWFsZXJ0LXRpdGxlIHtcbiAgY29sb3I6ICNhYjdkZjg7XG59XG5cbi5tYXJrZG93bi1ib2R5IC5tYXJrZG93bi1hbGVydC5tYXJrZG93bi1hbGVydC13YXJuaW5nIHtcbiAgYm9yZGVyLWxlZnQtY29sb3I6ICM5ZTZhMDM7XG59XG5cbi5tYXJrZG93bi1ib2R5IC5tYXJrZG93bi1hbGVydC5tYXJrZG93bi1hbGVydC13YXJuaW5nIC5tYXJrZG93bi1hbGVydC10aXRsZSB7XG4gIGNvbG9yOiAjZDI5OTIyO1xufVxuXG4ubWFya2Rvd24tYm9keSAubWFya2Rvd24tYWxlcnQubWFya2Rvd24tYWxlcnQtdGlwIHtcbiAgYm9yZGVyLWxlZnQtY29sb3I6ICMyMzg2MzY7XG59XG5cbi5tYXJrZG93bi1ib2R5IC5tYXJrZG93bi1hbGVydC5tYXJrZG93bi1hbGVydC10aXAgLm1hcmtkb3duLWFsZXJ0LXRpdGxlIHtcbiAgY29sb3I6ICMzZmI5NTA7XG59XG5cbi5tYXJrZG93bi1ib2R5IC5tYXJrZG93bi1hbGVydC5tYXJrZG93bi1hbGVydC1jYXV0aW9uIHtcbiAgYm9yZGVyLWxlZnQtY29sb3I6ICNkYTM2MzM7XG59XG5cbi5tYXJrZG93bi1ib2R5IC5tYXJrZG93bi1hbGVydC5tYXJrZG93bi1hbGVydC1jYXV0aW9uIC5tYXJrZG93bi1hbGVydC10aXRsZSB7XG4gIGNvbG9yOiAjZjg1MTQ5O1xufVxuXG4ubWFya2Rvd24tYm9keT4qOmZpcnN0LWNoaWxkPi5oZWFkaW5nLWVsZW1lbnQ6Zmlyc3QtY2hpbGQge1xuICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7XG59XG5cbi5tYXJrZG93bi1ib2R5IC5oaWdobGlnaHQgcHJlOmhhcygrLnplcm9jbGlwYm9hcmQtY29udGFpbmVyKSB7XG4gIG1pbi1oZWlnaHQ6IDUycHg7XG59XG4iLCIvKlxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXG5Db3B5cmlnaHQgMjAyMiBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxuXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXG4qL1xuXG4ubXhfQmVhY29uTGlzdEl0ZW0ge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgIHBhZGRpbmc6ICRzcGFjaW5nLTEyIDA7XG5cbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJHN5c3RlbTtcblxuICAgIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLm14X0JlYWNvbkxpc3RJdGVtX2F2YXRhckljb24ge1xuICAgIGZsZXg6IDAgMDtcbiAgICBoZWlnaHQ6IDMycHg7XG4gICAgd2lkdGg6IDMycHg7XG59XG5cbi5teF9CZWFjb25MaXN0SXRlbV9hdmF0YXIge1xuICAgIGZsZXg6IDAgMDtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXG4gICAgbWFyZ2luLXJpZ2h0OiAkc3BhY2luZy04O1xuICAgIGJvcmRlcjogMnB4IHNvbGlkICRsb2NhdGlvbi1saXZlLWNvbG9yO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbn1cblxuLm14X0JlYWNvbkxpc3RJdGVtX2luZm8ge1xuICAgIGZsZXg6IDEgMSAwO1xuICAgIHdpZHRoOiAwO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbn1cblxuLm14X0JlYWNvbkxpc3RJdGVtX3N0YXR1cyB7XG4gICAgLyogb3ZlcnJpZGUgYmVhY29uIHN0YXR1cyBwYWRkaW5nICovXG4gICAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1ib3R0b206ICRzcGFjaW5nLTg7XG5cbiAgICAubXhfQmVhY29uU3RhdHVzX2xhYmVsIHtcbiAgICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLWNwZC1mb250LXdlaWdodC1zZW1pYm9sZCk7XG4gICAgfVxufVxuXG4ubXhfQmVhY29uTGlzdEl0ZW1fbGFzdFVwZGF0ZWQge1xuICAgIGNvbG9yOiAkdGVydGlhcnktY29udGVudDtcbiAgICBmb250LXNpemU6ICRmb250LTEwcHg7XG59XG5cbi5teF9CZWFjb25MaXN0SXRlbV9pbnRlcmFjdGlvbnMge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbn1cbiIsIi8qXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cbkNvcHlyaWdodCAyMDIyIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXG5cblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cbiovXG5cbi5teF9CZWFjb25TdGF0dXMge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcblxuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgcGFkZGluZzogJHNwYWNpbmctODtcblxuICAgIGNvbG9yOiB2YXIoLS1jb2xvcik7XG4gICAgZm9udC1zaXplOiAkZm9udC0xMnB4O1xufVxuXG4ubXhfQmVhY29uU3RhdHVzX0xvYWRpbmcsXG4ubXhfQmVhY29uU3RhdHVzX1N0b3BwZWQge1xuICAgIC0tY29sb3I6ICR0ZXJ0aWFyeS1jb250ZW50O1xufVxuXG4ubXhfQmVhY29uU3RhdHVzX0FjdGl2ZSxcbi5teF9CZWFjb25TdGF0dXNfRXJyb3Ige1xuICAgIC0tY29sb3I6ICRwcmltYXJ5LWNvbnRlbnQ7XG59XG5cbi5teF9CZWFjb25TdGF0dXNfaWNvbiB7XG4gICAgaGVpZ2h0OiAzMnB4O1xuICAgIHdpZHRoOiAzMnB4O1xuXG4gICAgZmxleDogMCAwIDMycHg7XG4gICAgbWFyZ2luLXJpZ2h0OiAkc3BhY2luZy04O1xufVxuXG4ubXhfQmVhY29uU3RhdHVzX2Rlc2NyaXB0aW9uIHtcbiAgICBmbGV4OiAxIDEgMDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgbGluZS1oZWlnaHQ6ICRmb250LTE0cHg7XG5cbiAgICBwYWRkaW5nLXJpZ2h0OiAkc3BhY2luZy04O1xuXG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgLm14X0JlYWNvblN0YXR1c19kZXNjcmlwdGlvbl9zdGF0dXMge1xuICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB9XG59XG5cbi5teF9CZWFjb25TdGF0dXNfZXhwaXJ5VGltZSB7XG4gICAgY29sb3I6ICRzZWNvbmRhcnktY29udGVudDtcbn1cblxuLm14X0JlYWNvblN0YXR1c19sYWJlbCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMnB4O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG59XG4iLCIvKlxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXG5Db3B5cmlnaHQgMjAyMiBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxuXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXG4qL1xuXG4ubXhfQmVhY29uU3RhdHVzVG9vbHRpcCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNDJweDtcbiAgICBtYXgtd2lkdGg6IDE1MHB4O1xuICAgIGhlaWdodDogMzhweDtcbiAgICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgICBwYWRkaW5nLXRvcDogJHNwYWNpbmctODtcbn1cblxuLm14X0JlYWNvblN0YXR1c1Rvb2x0aXBfaW5uZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAgIGJhY2tncm91bmQ6ICRtZW51LWJnLWNvbG9yO1xuICAgIGJveC1zaGFkb3c6IDRweCA0cHggMTJweCAwICRtZW51LWJveC1zaGFkb3ctY29sb3I7XG59XG4iLCIvKlxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXG5Db3B5cmlnaHQgMjAyMiBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxuXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXG4qL1xuXG4ubXhfQmVhY29uVmlld0RpYWxvZ193cmFwcGVyIC5teF9EaWFsb2cge1xuICAgIHBhZGRpbmc6IDBweDtcblxuICAgIC8qIFVuc2V0IGNvbnRhaW4gYW5kIHBvc2l0aW9uIHRvIGFsbG93IHRoZSBjbG9zZSBidXR0b25cbiAgICB0byBhcHBlYXIgb3V0c2lkZSB0aGUgZGlhbG9nICovXG4gICAgY29udGFpbjogdW5zZXQ7XG4gICAgcG9zaXRpb246IHVuc2V0O1xufVxuXG4ubXhfQmVhY29uVmlld0RpYWxvZyB7XG4gICAgLyogc3VidHJhY3QgMC41cHggdG8gcHJldmVudCBzaW5nbGUtcGl4ZWwgbWFyZ2luIGR1ZSB0byByb3VuZGluZyAqL1xuICAgIHdpZHRoOiBjYWxjKDgwdncgLSAwLjVweCk7XG4gICAgaGVpZ2h0OiBjYWxjKDgwdmggLSAwLjVweCk7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgIC8qIHNpZGViYXIgaXMgYWJzb2x1dGVseSBwb3NpdGlvbmVkIGluc2lkZSAqL1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgIC5teF9EaWFsb2dfaGVhZGVyIHtcbiAgICAgICAgbWFyZ2luOiAwcHg7XG4gICAgICAgIHBhZGRpbmc6IDBweDtcbiAgICAgICAgcG9zaXRpb246IHVuc2V0O1xuXG4gICAgICAgIC5teF9EaWFsb2dfdGl0bGUge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5teF9EaWFsb2dfY2FuY2VsQnV0dG9uIHtcbiAgICAgICAgICAgIHotaW5kZXg6IDQwMTA7XG4gICAgICAgICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICAgICAgICByaWdodDogNXZ3O1xuICAgICAgICAgICAgdG9wOiA1dmg7XG4gICAgICAgICAgICB3aWR0aDogMjBweDtcbiAgICAgICAgICAgIGhlaWdodDogMjBweDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRkaWFsb2ctY2xvc2UtZXh0ZXJuYWwtY29sb3I7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5teF9CZWFjb25WaWV3RGlhbG9nX21hcCB7XG4gICAgd2lkdGg6IDgwdnc7XG4gICAgaGVpZ2h0OiA4MHZoO1xuICAgIGJvcmRlci1yYWRpdXM6IDhweDtcbn1cblxuLm14X0JlYWNvblZpZXdEaWFsb2dfbWFwRmFsbGJhY2tNZXNzYWdlIHtcbiAgICBjb2xvcjogJHNlY29uZGFyeS1jb250ZW50O1xuICAgIG1hcmdpbi1ib3R0b206ICRzcGFjaW5nLTE2O1xufVxuXG4ubXhfQmVhY29uVmlld0RpYWxvZ192aWV3TGlzdEJ1dHRvbiB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogJHNwYWNpbmctMjQ7XG4gICAgbGVmdDogJHNwYWNpbmctMjQ7XG59XG4iLCIvKlxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXG5Db3B5cmlnaHQgMjAyMiBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxuXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXG4qL1xuXG4ubXhfRGlhbG9nT3duQmVhY29uU3RhdHVzIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiAkc3BhY2luZy0zMjtcbiAgICB3aWR0aDogMzAwcHg7XG4gICAgbWFyZ2luLWxlZnQ6IC0xNTBweDtcbiAgICBsZWZ0OiA1MCU7XG5cbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHN0cmV0Y2g7XG5cbiAgICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZDtcbiAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgYm94LXNoYWRvdzogNHB4IDRweCAxMnB4IDAgJG1lbnUtYm94LXNoYWRvdy1jb2xvcjtcblxuICAgIHBhZGRpbmc6IDAgJHNwYWNpbmctMTI7XG59XG5cbi5teF9EaWFsb2dPd25CZWFjb25TdGF0dXNfYXZhdGFySWNvbiB7XG4gICAgZmxleDogMCAwO1xuICAgIGhlaWdodDogMzJweDtcbiAgICB3aWR0aDogMzJweDtcbiAgICBtYXJnaW46ICRzcGFjaW5nLTggMCAkc3BhY2luZy04IDA7XG59XG5cbi5teF9EaWFsb2dPd25CZWFjb25TdGF0dXNfYXZhdGFyIHtcbiAgICBmbGV4OiAwIDA7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcblxuICAgIGJvcmRlcjogMnB4IHNvbGlkICRsb2NhdGlvbi1saXZlLWNvbG9yO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBtYXJnaW46ICRzcGFjaW5nLTggMCAkc3BhY2luZy04IDA7XG59XG5cbi5teF9EaWFsb2dPd25CZWFjb25TdGF0dXNfc3RhdHVzIHtcbiAgICBmbGV4OiAxIDE7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbn1cbiIsIi8qXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cbkNvcHlyaWdodCAyMDIyIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXG5cblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cbiovXG5cbi5teF9EaWFsb2dTaWRlYmFyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHdpZHRoOiAyNjVweDtcblxuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblxuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgcGFkZGluZzogJHNwYWNpbmctMTY7XG5cbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcbiAgICBib3gtc2hhZG93OiAwcHggNHB4IDRweCAkbWVudS1ib3gtc2hhZG93LWNvbG9yO1xuXG4gICAgLm14X0RpYWxvZ1NpZGViYXJfaGVhZGVyIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXG4gICAgICAgIGZsZXg6IDAgMDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogJHNwYWNpbmctMTY7XG5cbiAgICAgICAgY29sb3I6ICRwcmltYXJ5LWNvbnRlbnQ7XG5cbiAgICAgICAgLm14X0RpYWxvZ1NpZGViYXJfY2xvc2VCdXR0b25JY29uIHtcbiAgICAgICAgICAgIGNvbG9yOiAkdGVydGlhcnktY29udGVudDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5teF9EaWFsb2dTaWRlYmFyX2xpc3Qge1xuICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIGZsZXg6IDEgMSAwO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgb3ZlcmZsb3c6IGF1dG87XG4gICAgfVxufVxuXG4ubXhfRGlhbG9nU2lkZWJhcl9ub1Jlc3VsdHMge1xuICAgIGZvbnQ6IHZhcigtLWNwZC1mb250LWJvZHktbWQtcmVndWxhcik7XG4gICAgY29sb3I6ICRzZWNvbmRhcnktY29udGVudDtcbn1cbiIsIi8qXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cbkNvcHlyaWdodCAyMDIyIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXG5cblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cbiovXG5cbi5teF9MZWZ0UGFuZWxMaXZlU2hhcmVXYXJuaW5nIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXG4gICAgcGFkZGluZzogJHNwYWNpbmctNDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYWNjZW50O1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGZvbnQtc2l6ZTogJGZvbnQtMTBweDtcblxuICAgIC8qIHBhbmVsIGJhY2tkcm9wcyBvdmVybGF5IHRoZSB3aG9sZSBzaWRlcGFuZWwgKi9cbiAgICAvKiBnbyBhYm92ZSB0byBnZXQgaG92ZXIgZm9yIHRpdGxlICovXG4gICAgei1pbmRleDogMTtcbn1cblxuLm14X0xlZnRQYW5lbExpdmVTaGFyZVdhcm5pbmdfX2Vycm9yIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYWxlcnQ7XG59XG4iLCIvKlxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXG5Db3B5cmlnaHQgMjAyMiBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxuXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXG4qL1xuXG4ubXhfTGl2ZVRpbWVSZW1haW5pbmcge1xuICAgIGNvbG9yOiAkc2Vjb25kYXJ5LWNvbnRlbnQ7XG4gICAgZm9udC1zaXplOiAkZm9udC0xMnB4O1xufVxuIiwiLypcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxuQ29weXJpZ2h0IDIwMjIgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cblxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuKi9cblxuLm14X093bkJlYWNvblN0YXR1c19idXR0b24ge1xuICAgIG1hcmdpbi1sZWZ0OiAkc3BhY2luZy04O1xufVxuXG4ubXhfRXZlbnRUaWxlW2RhdGEtbGF5b3V0PVwiYnViYmxlXCJdIC5teF9Pd25CZWFjb25TdGF0dXNfYnV0dG9uIHtcbiAgICAvKiBhbGlnbiB0byB0b3AgdG8gbWFrZSByb29tIGZvciB0aW1lc3RhbXAgKi9cbiAgICAvKiBpbiBidWJibGUgdmlldyAqL1xuICAgIGFsaWduLXNlbGY6IHN0YXJ0O1xufVxuXG4ubXhfT3duQmVhY29uU3RhdHVzX2Rlc3RydWN0aXZlQnV0dG9uIHtcbiAgICAvKiBvdmVycmlkZSBidXR0b24gbGlua19pbmxpbmUgc3R5bGVzICovXG4gICAgY29sb3I6ICRhbGVydCAhaW1wb3J0YW50O1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1jcGQtZm9udC13ZWlnaHQtc2VtaWJvbGQpICFpbXBvcnRhbnQ7XG59XG4iLCIvKlxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXG5Db3B5cmlnaHQgMjAyMiBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxuXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXG4qL1xuXG4ubXhfU2hhcmVMYXRlc3RMb2NhdGlvbl9pY29uIHtcbiAgICBoZWlnaHQ6IDEzcHg7XG4gICAgd2lkdGg6IDEzcHg7XG4gICAgY29sb3I6ICRzZWNvbmRhcnktY29udGVudDtcbn1cblxuLyogZG91YmxlIGNsYXNzIHRvIGJlIG1vcmUgc3BlY2lmaWMgdGhhbiB0aGUgZ2VuZXJhbCBteF9Db3B5YWJsZVRleHQgQ1NTIHJ1bGUgKi9cbi5teF9Db3B5YWJsZVRleHQubXhfU2hhcmVMYXRlc3RMb2NhdGlvbl9jb3B5IHtcbiAgICAvKiBvdmVycmlkZSBjb3B5YWJsZSB0ZXh0IHN0eWxlIHRvIG1ha2UgY29tcGFjdCAqL1xuICAgIC5teF9Db3B5YWJsZVRleHRfY29weUJ1dHRvbiB7XG4gICAgICAgIGhlaWdodDogMTNweDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6ICRzcGFjaW5nLTggIWltcG9ydGFudDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB0b3A6IC0xcHg7XG4gICAgICAgIHdpZHRoOiAxM3B4O1xuXG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2Vjb25kYXJ5LWNvbnRlbnQ7XG4gICAgICAgICAgICBoZWlnaHQ6IDEzcHg7XG4gICAgICAgICAgICB3aWR0aDogMTNweDtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi8qXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cbkNvcHlyaWdodCAyMDIyIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXG5cblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cbiovXG5cbi5teF9TdHlsZWRMaXZlQmVhY29uSWNvbiB7XG4gICAgZmxleC1ncm93OiAwO1xuICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgYm9yZGVyLXdpZHRoOiAycHg7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG5cbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbG9jYXRpb24tbGl2ZS1jb2xvcjtcbiAgICBib3JkZXItY29sb3I6ICRsb2NhdGlvbi1saXZlLWNvbG9yO1xuICAgIHBhZGRpbmc6IDJweDtcbiAgICAvKiBjb2xvcnMgaWNvbiAqL1xuICAgIGNvbG9yOiB3aGl0ZTtcbn1cblxuLm14X1N0eWxlZExpdmVCZWFjb25JY29uLm14X1N0eWxlZExpdmVCZWFjb25JY29uX2Vycm9yIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYWxlcnQ7XG4gICAgYm9yZGVyLWNvbG9yOiAkYWxlcnQ7XG59XG5cbi5teF9TdHlsZWRMaXZlQmVhY29uSWNvbi5teF9TdHlsZWRMaXZlQmVhY29uSWNvbl9pZGxlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcXVhdGVybmFyeS1jb250ZW50O1xuICAgIGJvcmRlci1jb2xvcjogJHF1YXRlcm5hcnktY29udGVudDtcbn1cbiIsIi8qXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cbkNvcHlyaWdodCAyMDIyIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXG5cblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cbiovXG5cbi5teF9LZWJhYkNvbnRleHRNZW51X2ljb24ge1xuICAgIHdpZHRoOiAyNHB4O1xuICAgIGhlaWdodDogMjRweDtcbiAgICBjb2xvcjogJGljb24tYnV0dG9uLWNvbG9yO1xufVxuIiwiLypcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxuQ29weXJpZ2h0IDIwMjMgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cblxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuKi9cblxuLm14X1BvbGxEZXRhaWxIZWFkZXIge1xuICAgIC8qIG92ZXJyaWRlIGFjY2Vzc2libGVidXR0b24gc3R5bGUgKi9cbiAgICBmb250LXNpemU6ICRmb250LTE1cHggIWltcG9ydGFudDtcbn1cblxuLm14X1BvbGxEZXRhaWxIZWFkZXJfaWNvbiB7XG4gICAgaGVpZ2h0OiAxNnB4O1xuICAgIHdpZHRoOiAxNnB4O1xuICAgIG1hcmdpbi1yaWdodDogJHNwYWNpbmctODtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuIiwiLypcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxuQ29weXJpZ2h0IDIwMjMgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cblxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuKi9cblxuLm14X1BvbGxMaXN0SXRlbSB7XG4gICAgd2lkdGg6IDEwMCU7XG59XG5cbi5teF9Qb2xsTGlzdEl0ZW1fY29udGVudCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGxlZnQ7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBncmlkLWdhcDogJHNwYWNpbmctODtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IGF1dG8gYXV0byBhdXRvO1xuICAgIGdyaWQtdGVtcGxhdGUtcm93czogYXV0bztcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICBjb2xvcjogJHByaW1hcnktY29udGVudDtcbn1cblxuLm14X1BvbGxMaXN0SXRlbV9pY29uIHtcbiAgICBoZWlnaHQ6IDE0cHg7XG4gICAgd2lkdGg6IDE0cHg7XG4gICAgY29sb3I6ICRxdWF0ZXJuYXJ5LWNvbnRlbnQ7XG4gICAgcGFkZGluZy1sZWZ0OiAkc3BhY2luZy04O1xufVxuXG4ubXhfUG9sbExpc3RJdGVtX3F1ZXN0aW9uIHtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG59XG4iLCIvKlxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXG5Db3B5cmlnaHQgMjAyMyBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxuXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXG4qL1xuXG4ubXhfUG9sbExpc3RJdGVtRW5kZWQge1xuICAgIHdpZHRoOiAxMDAlO1xufVxuXG4ubXhfUG9sbExpc3RJdGVtRW5kZWRfY29udGVudCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGNvbG9yOiAkcHJpbWFyeS1jb250ZW50O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLm14X1BvbGxMaXN0SXRlbUVuZGVkX3RpdGxlIHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGp1c3RpZnktY29udGVudDogbGVmdDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdyaWQtZ2FwOiAkc3BhY2luZy04O1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogbWluLWNvbnRlbnQgMWZyIG1pbi1jb250ZW50O1xuICAgIGdyaWQtdGVtcGxhdGUtcm93czogYXV0bztcbn1cblxuLm14X1BvbGxMaXN0SXRlbUVuZGVkX2ljb24ge1xuICAgIGhlaWdodDogMTRweDtcbiAgICB3aWR0aDogMTRweDtcbiAgICBjb2xvcjogJHF1YXRlcm5hcnktY29udGVudDtcbiAgICBwYWRkaW5nLWxlZnQ6ICRzcGFjaW5nLTg7XG59XG5cbi5teF9Qb2xsTGlzdEl0ZW1FbmRlZF9kYXRlIHtcbiAgICBmb250LXNpemU6ICRmb250LTEycHg7XG4gICAgY29sb3I6ICRzZWNvbmRhcnktY29udGVudDtcbn1cblxuLm14X1BvbGxMaXN0SXRlbUVuZGVkX3F1ZXN0aW9uIHtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG59XG5cbi5teF9Qb2xsTGlzdEl0ZW1FbmRlZF9hbnN3ZXJzIHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtZ2FwOiAkc3BhY2luZy04O1xuICAgIG1hcmdpbi10b3A6ICRzcGFjaW5nLTEyO1xufVxuXG4ubXhfUG9sbExpc3RJdGVtRW5kZWRfdm90ZUNvdW50IHtcbiAgICAvKiA2cHggdG8gbWF0Y2ggUG9sbE9wdGlvbiBwYWRkaW5nICovXG4gICAgbWFyZ2luOiAkc3BhY2luZy04IDAgMCA2cHg7XG59XG4iLCIvKlxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXG5Db3B5cmlnaHQgMjAxOS0yMDIzIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXG5Db3B5cmlnaHQgMjAxNSwgMjAxNiBPcGVuTWFya2V0IEx0ZFxuXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXG4qL1xuXG4ubXhfQXBwUGVybWlzc2lvbiB7XG4gICAgZm9udC1zaXplOiAkZm9udC0xMnB4O1xuICAgIHdpZHRoOiAxMDAlOyAvKiBtYWtlIG14X0FwcFBlcm1pc3Npb24gZmlsbCB3aWR0aCBvZiBteF9BcHBUaWxlQm9keSBzbyB0aGF0IHNjcm9sbCBiYXIgYXBwZWFycyBvbiB0aGUgZWRnZSAqL1xuICAgIG92ZXJmbG93LXk6IHNjcm9sbDtcbiAgICAubXhfQXBwUGVybWlzc2lvbl9ib2xkZXIsXG4gICAgLm14X0FwcFBlcm1pc3Npb25fY29udGVudF9ib2xkZXIge1xuICAgICAgICBmb250LXdlaWdodDogdmFyKC0tY3BkLWZvbnQtd2VpZ2h0LXNlbWlib2xkKTtcbiAgICB9XG4gICAgLm14X0FwcFBlcm1pc3Npb25fY29udGVudCB7XG4gICAgICAgIG1hcmdpbi1ibG9jazogYXV0bzsgLyogcGxhY2UgYXQgdGhlIGNlbnRlciAqL1xuXG4gICAgICAgID4gZGl2IHtcbiAgICAgICAgICAgIG1hcmdpbi1ibG9jazogMTJweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5teF9UZXh0V2l0aFRvb2x0aXBfdGFyZ2V0LS1oZWxwSWNvbiB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICBoZWlnaHQ6ICRmb250LTE0cHg7IC8qIGFsaWduIHdpdGggY2hhcmFjdGVycyBvbiB0aGUgc2FtZSBsaW5lICovXG4gICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuXG4gICAgICAgICAgICAubXhfSWNvbiB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRhY2NlbnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIvKlxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXG5Db3B5cmlnaHQgMjAyMyBTdWd1cnUgSGlyYWhhcmFcblxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuKi9cblxuLm14X0FwcFdhcm5pbmcge1xuICAgIGZvbnQtc2l6ZTogJGZvbnQtMTZweDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblxuICAgIGg0IHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgIH1cbn1cbiIsIi8qXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cbkNvcHlyaWdodCAyMDIyIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXG5cblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cbiovXG5cbi5teF9GaWx0ZXJEcm9wZG93biB7XG4gICAgLm14X0Ryb3Bkb3duX21lbnUge1xuICAgICAgICBtYXJnaW4tdG9wOiAkc3BhY2luZy00O1xuICAgICAgICBsZWZ0OiB1bnNldDtcbiAgICAgICAgcmlnaHQ6IC0kc3BhY2luZy0xMjtcbiAgICAgICAgd2lkdGg6IDIzMnB4O1xuICAgICAgICBwYWRkaW5nOiAkc3BhY2luZy0xMjtcblxuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkcXVpbmFyeS1jb250ZW50O1xuICAgICAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgICAgIGJveC1zaGFkb3c6IDBweCAxcHggM3B4IHJnYmEoMjMsIDI1LCAyOCwgMC4wNSk7XG5cbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHN5c3RlbTtcblxuICAgICAgICAubXhfRHJvcGRvd25fb3B0aW9uX2hpZ2hsaWdodCB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5teF9Ecm9wZG93bl9pbnB1dCB7XG4gICAgICAgIGhlaWdodDogMjRweDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGNvbG9yOiAkc2Vjb25kYXJ5LWNvbnRlbnQ7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDtcblxuICAgICAgICAmOmZvY3VzLFxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRxdWluYXJ5LWNvbnRlbnQ7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6ICRxdWluYXJ5LWNvbnRlbnQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubXhfRHJvcGRvd25fYXJyb3cge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkc2Vjb25kYXJ5LWNvbnRlbnQ7XG4gICAgfVxufVxuXG4ubXhfRmlsdGVyRHJvcGRvd25fb3B0aW9uIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBwYWRkaW5nOiAkc3BhY2luZy04IDAgJHNwYWNpbmctOCAkc3BhY2luZy0yMDtcblxuICAgIGZvbnQtc2l6ZTogJGZvbnQtMTJweDtcbiAgICBsaW5lLWhlaWdodDogJGZvbnQtMTVweDtcbiAgICBjb2xvcjogJHByaW1hcnktY29udGVudDtcbn1cblxuLm14X0ZpbHRlckRyb3Bkb3duX29wdGlvblNlbGVjdGVkSWNvbiB7XG4gICAgaGVpZ2h0OiAxNHB4O1xuICAgIHdpZHRoOiAxNHB4O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6ICRzcGFjaW5nLTg7XG4gICAgbGVmdDogMDtcbn1cblxuLm14X0ZpbHRlckRyb3Bkb3duX29wdGlvbkxhYmVsIHtcbiAgICBmb250LXdlaWdodDogdmFyKC0tY3BkLWZvbnQtd2VpZ2h0LXNlbWlib2xkKTtcbiAgICBkaXNwbGF5OiBibG9jaztcbn1cblxuLm14X0ZpbHRlckRyb3Bkb3duX29wdGlvbkRlc2NyaXB0aW9uIHtcbiAgICBjb2xvcjogJHNlY29uZGFyeS1jb250ZW50O1xuICAgIG1hcmdpbi10b3A6ICRzcGFjaW5nLTQ7XG59XG4iLCIvKlxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXG5Db3B5cmlnaHQgMjAyMyBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxuXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXG4qL1xuXG4ubXhfRmlsdGVyVGFiR3JvdXAge1xuICAgIGNvbG9yOiAkcHJpbWFyeS1jb250ZW50O1xuICAgIGxhYmVsIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAkc3BhY2luZy0xMjtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAkZm9udC0yNHB4O1xuICAgICAgICB9XG4gICAgfVxuICAgIGlucHV0W3R5cGU9XCJyYWRpb1wiXSB7XG4gICAgICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZzogMDtcblxuICAgICAgICAmOmZvY3VzLFxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICYgKyBzcGFuIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJHNlY29uZGFyeS1jb250ZW50O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJjpjaGVja2VkICsgc3BhbiB7XG4gICAgICAgICAgICBjb2xvcjogJGFjY2VudDtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1jcGQtZm9udC13ZWlnaHQtc2VtaWJvbGQpO1xuICAgICAgICAgICAgLyogdW5kZXJsaW5lICovXG4gICAgICAgICAgICBib3gtc2hhZG93OiAwIDEuNXB4IDAgMCBjdXJyZW50Q29sb3I7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIvKlxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXG5Db3B5cmlnaHQgMjAyMiBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxuXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXG4qL1xuXG4ubXhfTGVhcm5Nb3JlX2J1dHRvbiB7XG4gICAgbWFyZ2luLWxlZnQ6ICRzcGFjaW5nLTQ7XG59XG4iLCIvKlxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXG5Db3B5cmlnaHQgMjAyMiBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxuXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXG4qL1xuXG4ubXhfRW5hYmxlTGl2ZVNoYXJlIHtcbiAgICBmbGV4OiAxIDEgMDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gICAgcGFkZGluZzogJHNwYWNpbmctMzIgJHNwYWNpbmctMTY7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG5cbi5teF9FbmFibGVMaXZlU2hhcmVfaGVhZGluZyB7XG4gICAgcGFkZGluZy10b3A6ICRzcGFjaW5nLTI0O1xufVxuXG4ubXhfRW5hYmxlTGl2ZVNoYXJlX2ljb24ge1xuICAgIGhlaWdodDogNThweDtcbiAgICB3aWR0aDogNThweDtcbn1cblxuLm14X0VuYWJsZUxpdmVTaGFyZV9kZXNjcmlwdGlvbiB7XG4gICAgcGFkZGluZzogMCAkc3BhY2luZy0yNDtcbiAgICBtYXJnaW4tYm90dG9tOiAkc3BhY2luZy0zMjtcbiAgICBsaW5lLWhlaWdodDogJGZvbnQtMjBweDtcbn1cblxuLm14X0VuYWJsZUxpdmVTaGFyZV9idXR0b24ge1xuICAgIG1hcmdpbi10b3A6ICRzcGFjaW5nLTMyO1xuICAgIGhlaWdodDogNDhweDtcbiAgICB3aWR0aDogMTAwJTtcbn1cbiIsIi8qXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cbkNvcHlyaWdodCAyMDIyIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXG5cblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cbiovXG5cbi5teF9MaXZlRHVyYXRpb25Ecm9wZG93biB7XG4gICAgbWFyZ2luLWJvdHRvbTogJHNwYWNpbmctMTY7XG59XG4iLCIvKlxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXG5Db3B5cmlnaHQgMjAyMiBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxuXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXG4qL1xuXG4ubXhfTG9jYXRpb25TaGFyZU1lbnUge1xuICAgIHdpZHRoOiAzNzVweDtcbiAgICBoZWlnaHQ6IDQ2MHB4O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbn1cbiIsIi8qXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cbkNvcHlyaWdodCAyMDIyIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXG5cblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cbiovXG5cbi5teF9NYXBFcnJvciB7XG4gICAgcGFkZGluZzogMTAwcHggJHNwYWNpbmctMzIgMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAtLW14LW1hcC1lcnJvci1pY29uLWNvbG9yOiAkc2Vjb25kYXJ5LWNvbnRlbnQ7XG4gICAgLS1teC1tYXAtZXJyb3ItaWNvbi1zaXplOiA1OHB4O1xufVxuXG4ubXhfTWFwRXJyb3IubXhfTWFwRXJyb3JfaXNNaW5pbWlzZWQge1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gICAgcGFkZGluZzogJHNwYWNpbmctMjQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHBhbmVscztcbiAgICBmb250LXNpemU6ICRmb250LTEycHg7XG4gICAgbGluZS1oZWlnaHQ6ICRmb250LTE2cHg7XG5cbiAgICAtLW14LW1hcC1lcnJvci1pY29uLWNvbG9yOiAkYWxlcnQ7XG4gICAgLS1teC1tYXAtZXJyb3ItaWNvbi1zaXplOiAyNnB4O1xuXG4gICAgLm14X01hcEVycm9yX21lc3NhZ2Uge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIG1heC13aWR0aDogMjc1cHg7XG4gICAgfVxuXG4gICAgLm14X01hcEVycm9yX2hlYWRpbmcge1xuICAgICAgICBwYWRkaW5nLXRvcDogJHNwYWNpbmctODtcbiAgICAgICAgLyogb3ZlcnJpZGUgaDMgaGVhZGluZyBzaXplICovXG4gICAgICAgIGZvbnQtc2l6ZTogaW5oZXJpdCAhaW1wb3J0YW50O1xuICAgICAgICBmb250LXdlaWdodDogbm9ybWFsICFpbXBvcnRhbnQ7XG4gICAgfVxufVxuXG4ubXhfTWFwRXJyb3JfbWVzc2FnZSB7XG4gICAgbWFyZ2luOiAkc3BhY2luZy0xNiAwICRzcGFjaW5nLTMyO1xufVxuXG4ubXhfTWFwRXJyb3JfaGVhZGluZyB7XG4gICAgcGFkZGluZy10b3A6ICRzcGFjaW5nLTI0O1xufVxuXG4ubXhfTWFwRXJyb3JfaWNvbiB7XG4gICAgaGVpZ2h0OiB2YXIoLS1teC1tYXAtZXJyb3ItaWNvbi1zaXplKTtcbiAgICB3aWR0aDogdmFyKC0tbXgtbWFwLWVycm9yLWljb24tc2l6ZSk7XG4gICAgY29sb3I6IHZhcigtLW14LW1hcC1lcnJvci1pY29uLWNvbG9yKTtcbn1cbiIsIi8qXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cbkNvcHlyaWdodCAyMDIyIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXG5cblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cbiovXG5cbi5teF9NYXBGYWxsYmFjayB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMDtcblxuICAgIGJhY2tncm91bmQtY29sb3I6ICRzeXN0ZW07XG59XG5cbi5teF9NYXBGYWxsYmFja19iZyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIG1pbi1oZWlnaHQ6IDEwMCU7XG4gICAgbWluLXdpZHRoOiAxMDAlO1xuICAgIGNvbG9yOiAkcXVpbmFyeS1jb250ZW50O1xuICAgIHotaW5kZXg6IC0xO1xuXG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5cbi5teF9NYXBGYWxsYmFja19pY29uIHtcbiAgICB3aWR0aDogNjVweDtcbiAgICBtYXJnaW4tYm90dG9tOiAkc3BhY2luZy0xNjtcbiAgICBjb2xvcjogJHF1YXRlcm5hcnktY29udGVudDtcbn1cbiIsIi8qXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cbkNvcHlyaWdodCAyMDIyIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXG5cblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cbiovXG5cbi5teF9NYXJrZXJfZGVmYXVsdENvbG9yIHtcbiAgICBjb2xvcjogJGFjY2VudDtcbn1cblxuLm14X01hcmtlcl9ib3JkZXIge1xuICAgIHdpZHRoOiA0MnB4O1xuICAgIGhlaWdodDogNDJweDtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgZmlsdGVyOiBkcm9wLXNoYWRvdygwcHggM3B4IDVweCByZ2JhKDAsIDAsIDAsIDAuMikpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IGN1cnJlbnRDb2xvcjtcblxuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgIC8qIGNhcmV0IGRvd24gKi9cbiAgICAmOjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBib3JkZXItbGVmdDogNXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICBib3JkZXItcmlnaHQ6IDVweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgYm9yZGVyLXRvcDogNXB4IHNvbGlkIGN1cnJlbnRDb2xvcjtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBib3R0b206IC00cHg7XG4gICAgfVxufVxuXG4ubXhfTWFya2VyX2ljb24ge1xuICAgIGNvbG9yOiB3aGl0ZTtcbiAgICBoZWlnaHQ6IDIwcHg7XG59XG4iLCIvKlxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXG5Db3B5cmlnaHQgMjAyMiBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DXG5cblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cbiovXG5cbi5teF9TaGFyZURpYWxvZ0J1dHRvbnMge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDA7XG4gICAgdG9wOiAwO1xufVxuXG4ubXhfU2hhcmVEaWFsb2dCdXR0b25zX2J1dHRvbiB7XG4gICAgQG1peGluIEJ1dHRvblJlc2V0RGVmYXVsdDtcbiAgICBoZWlnaHQ6IDI0cHg7XG4gICAgd2lkdGg6IDI0cHg7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRxdWluYXJ5LWNvbnRlbnQ7XG4gICAgb3BhY2l0eTogMC44O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBjb2xvcjogJHNlY29uZGFyeS1jb250ZW50O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6ICRzcGFjaW5nLTE2O1xuXG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG5cbiAgICAmLmxlZnQge1xuICAgICAgICBsZWZ0OiAkc3BhY2luZy0xNjtcbiAgICB9XG5cbiAgICAmLnJpZ2h0IHtcbiAgICAgICAgcmlnaHQ6ICRzcGFjaW5nLTE2O1xuICAgIH1cbn1cblxuLm14X1NoYXJlRGlhbG9nQnV0dG9uc19idXR0b24taWNvbiB7XG4gICAgd2lkdGg6IDIwcHg7XG4gICAgaGVpZ2h0OiAyMHB4O1xuICAgIG1hcmdpbjogMnB4O1xufVxuIiwiLypcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxuQ29weXJpZ2h0IDIwMjIgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cblxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuKi9cblxuLm14X1NoYXJlVHlwZSB7XG4gICAgZmxleDogMTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgICBwYWRkaW5nOiA2MHB4ICRzcGFjaW5nLTEyICRzcGFjaW5nLTMyO1xuXG4gICAgY29sb3I6ICRwcmltYXJ5LWNvbnRlbnQ7XG5cbiAgICAubXhfU2hhcmVUeXBlX3dyYXBwZXJfb3B0aW9ucyB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIHJvdy1nYXA6ICRzcGFjaW5nLTEyO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWFyZ2luLXRvcDogJHNwYWNpbmctMTI7XG5cbiAgICAgICAgLm14X1NoYXJlVHlwZV9vcHRpb24ge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICAgICAgICBwYWRkaW5nOiAkc3BhY2luZy04ICRzcGFjaW5nLTIwO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcblxuICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHF1aW5hcnktY29udGVudDtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDhweDtcblxuICAgICAgICAgICAgZm9udC1zaXplOiAkZm9udC0xNXB4O1xuICAgICAgICAgICAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgICAgICAgICAgIGNvbG9yOiAkcHJpbWFyeS1jb250ZW50O1xuXG4gICAgICAgICAgICAmOmhvdmVyLFxuICAgICAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkYWNjZW50O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4ubXhfU2hhcmVUeXBlX2JhZGdlIHtcbiAgICBoZWlnaHQ6IDYwcHg7XG4gICAgd2lkdGg6IDYwcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogJHNwYWNpbmctMjA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGFjY2VudDtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgYm9yZGVyOiAxNHB4IHNvbGlkICRhY2NlbnQ7XG4gICAgLyogY29sb3JzIGljb24gKi9cbiAgICBjb2xvcjogd2hpdGU7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbn1cblxuLm14X1NoYXJlVHlwZV9oZWFkaW5nIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogJHNwYWNpbmctMzI7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4ubXhfU2hhcmVUeXBlX29wdGlvbi1pY29uIHtcbiAgICBoZWlnaHQ6IDQwcHg7XG4gICAgd2lkdGg6IDQwcHg7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBtYXJnaW4tcmlnaHQ6ICRzcGFjaW5nLTEyO1xuICAgIGZsZXg6IDAgMCA0MHB4O1xuICAgIGJvcmRlci13aWR0aDogMnB4O1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuXG4gICAgLyogTGl2ZSBpcyBzdHlsZWQgYnkgU3R5bGVkTGl2ZUJlYWNvbkljb24gKi9cblxuICAgICYuT3duIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkYWNjZW50O1xuICAgIH1cblxuICAgICYuUGluIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkYWNjZW50O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYWNjZW50O1xuICAgICAgICBwYWRkaW5nOiA3cHg7XG4gICAgICAgIC8qIGNvbG9ycyBpY29uICovXG4gICAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICB9XG59XG4iLCIvKlxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXG5Db3B5cmlnaHQgMjAyMiBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxuXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXG4qL1xuXG4ubXhfWm9vbUJ1dHRvbnMge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206ICRzcGFjaW5nLTMyO1xuICAgIHJpZ2h0OiAkc3BhY2luZy0yNDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgcm93LWdhcDogJHNwYWNpbmctODtcblxuICAgIC5teF9ab29tQnV0dG9uc19idXR0b24ge1xuICAgICAgICAkWm9vbUJ1dHRvbnNfYnV0dG9uLXNpemU6IDI0cHg7XG5cbiAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgaGVpZ2h0OiAkWm9vbUJ1dHRvbnNfYnV0dG9uLXNpemU7XG4gICAgICAgIHdpZHRoOiAkWm9vbUJ1dHRvbnNfYnV0dG9uLXNpemU7XG4gICAgICAgIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kO1xuICAgICAgICBib3gtc2hhZG93OiAwcHggNHB4IDEycHggcmdiYSgwLCAwLCAwLCAwLjI1KTtcblxuICAgICAgICAubXhfWm9vbUJ1dHRvbnNfaWNvbiB7XG4gICAgICAgICAgICAkWm9vbUJ1dHRvbnNfaWNvbi1zaXplOiAxMnB4O1xuXG4gICAgICAgICAgICBoZWlnaHQ6ICRab29tQnV0dG9uc19pY29uLXNpemU7XG4gICAgICAgICAgICB3aWR0aDogJFpvb21CdXR0b25zX2ljb24tc2l6ZTtcbiAgICAgICAgICAgIGNvbG9yOiAkcHJpbWFyeS1jb250ZW50O1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiLypcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxuQ29weXJpZ2h0IDIwMjIgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cblxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuKi9cblxuLm14X01CZWFjb25Cb2R5IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgaGVpZ2h0OiAyMjBweDtcbiAgICBtYXgtd2lkdGg6IDMyNXB4O1xuICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tTUJvZHktYm9yZGVyLXJhZGl1cyk7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLm14X01CZWFjb25Cb2R5Lm14X01CZWFjb25Cb2R5X3dpdGhvdXRNYXAge1xuICAgIGhlaWdodDogYXV0bztcblxuICAgIC5teF9NQmVhY29uQm9keV9jaGluIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICB9XG59XG5cbi5teF9NQmVhY29uQm9keV93aXRob3V0TWFwQ29udGVudCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHBhbmVscztcbiAgICBib3JkZXItcmFkaXVzOiA0cHg7XG59XG5cbi5teF9NQmVhY29uQm9keV93aXRob3V0TWFwSW5mb0xhc3RVcGRhdGVkIHtcbiAgICAvKiA0OHB4IGxpbmVzIHVwIHdpdGggaWNvbiBpbiBCZWFjb25TdGF0dXMgKi9cbiAgICBtYXJnaW4tdG9wOiAtJHNwYWNpbmctODtcbiAgICBwYWRkaW5nOiAwICRzcGFjaW5nLTggJHNwYWNpbmctOCA0OHB4O1xuXG4gICAgY29sb3I6ICR0ZXJ0aWFyeS1jb250ZW50O1xuICAgIGZvbnQtc2l6ZTogJGZvbnQtMTBweDtcbn1cblxuLm14X01CZWFjb25Cb2R5X21hcCB7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHotaW5kZXg6IDA7IC8qIGtlZXBzIHRoZSBlbnRpcmUgbWFwIHVuZGVyIHRoZSBtZXNzYWdlIGFjdGlvbiBiYXJzICovXG5cbiAgICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi5teF9NQmVhY29uQm9keV9tYXBGYWxsYmFjayxcbi5teF9NQmVhY29uQm9keV9tYXBFcnJvciB7XG4gICAgLyogcHVzaGVzIHNwaW5uZXIvaWNvbiB1cCAqL1xuICAgIC8qIHRvIGFwcGVhciBtb3JlIGNlbnRlcmVkIHdpdGggdGhlIGZvb3RlciAqL1xuICAgIHBhZGRpbmctYm90dG9tOiA1MHB4ICFpbXBvcnRhbnQ7XG59XG5cbi5teF9NQmVhY29uQm9keV9tYXBFcnJvckludGVyYWN0aXZlIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi5teF9NQmVhY29uQm9keV9tYXBGYWxsYmFjayB7XG4gICAgY3Vyc29yOiBkZWZhdWx0O1xufVxuXG4ubXhfTUJlYWNvbkJvZHlfY2hpbiB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jcGQtY29sb3ItYmctY2FudmFzLWRlZmF1bHQpO1xuICAgIG9wYWNpdHk6IDAuODU7XG59XG5cbi5teF9FdmVudFRpbGVbZGF0YS1sYXlvdXQ9XCJidWJibGVcIl0gLm14X0V2ZW50VGlsZV9saW5lIC5teF9NQmVhY29uQm9keSB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIHdpZHRoOiA0NTBweDtcbn1cblxuLm14X1JlcGx5VGlsZSAubXhfTUJlYWNvbkJvZHkge1xuICAgIC8qIFByZXZlbnQgY2xpY2tpbmcgYSBiZWFjb24gd2l0aGluIGEgcmVwbHkgKi9cbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cbiIsIi8qXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cbkNvcHlyaWdodCAyMDIyIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXG5cblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cbiovXG5cbi5teF9NZWRpYVByb2Nlc3NpbmdFcnJvcl9JY29uIHtcbiAgICBtYXJnaW4tcmlnaHQ6ICRzcGFjaW5nLTQ7XG4gICAgdmVydGljYWwtYWxpZ246IHRleHQtdG9wO1xufVxuIiwiLypcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxuQ29weXJpZ2h0IDIwMjIgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cblxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuKi9cblxuJHdpZHRoOiAzMjBweDtcbiRoZWlnaHQ6IDIyMHB4O1xuXG4ubXhfV2lkZ2V0UGlwIHtcbiAgICB3aWR0aDogJHdpZHRoO1xuICAgIGhlaWdodDogJGhlaWdodDtcbn1cblxuLm14X1dpZGdldFBpcF9vdmVybGF5IHtcbiAgICB3aWR0aDogJHdpZHRoO1xuICAgIGhlaWdodDogJGhlaWdodDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGNvbG9yOiAkY2FsbC1wcmltYXJ5LWNvbnRlbnQ7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4ubXhfV2lkZ2V0UGlwX2hlYWRlcixcbi5teF9XaWRnZXRQaXBfZm9vdGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogMDtcbiAgICBoZWlnaHQ6IDYwcHg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IGVhc2UgMC4xNXM7XG59XG5cbi5teF9XaWRnZXRQaXBfb3ZlcmxheTpub3QoOmhvdmVyKSB7XG4gICAgLm14X1dpZGdldFBpcF9oZWFkZXIsXG4gICAgLm14X1dpZGdldFBpcF9mb290ZXIge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgIH1cbn1cblxuLm14X1dpZGdldFBpcF9oZWFkZXIge1xuICAgIHRvcDogMDtcbiAgICBwYWRkaW5nOiAkc3BhY2luZy0xMjtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZvbnQtc2l6ZTogJGZvbnQtMTJweDtcbiAgICBmb250LXdlaWdodDogdmFyKC0tY3BkLWZvbnQtd2VpZ2h0LXNlbWlib2xkKTtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQocmdiYSgwLCAwLCAwLCAwLjkpLCByZ2JhKDAsIDAsIDAsIDApKTtcbn1cblxuLm14X1dpZGdldFBpcF9iYWNrQnV0dG9uIHtcbiAgICBoZWlnaHQ6ICRzcGFjaW5nLTI0O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6ICRzcGFjaW5nLTEyO1xuXG4gICAgPiAubXhfSWNvbiB7XG4gICAgICAgIGNvbG9yOiAkY2FsbC1saWdodC1xdWF0ZXJuYXJ5LWNvbnRlbnQ7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxufVxuXG4ubXhfV2lkZ2V0UGlwX2Zvb3RlciB7XG4gICAgYm90dG9tOiAwO1xuICAgIHBhZGRpbmc6ICRzcGFjaW5nLTEyICRzcGFjaW5nLTg7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQocmdiYSgwLCAwLCAwLCAwKSwgcmdiYSgwLCAwLCAwLCAwLjkpKTtcbn1cbiIsIi8qXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cbkNvcHlyaWdodCAyMDIzIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXG5cblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cbiovXG5cbi5teF9Qb2xsT3B0aW9uIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkcXVpbmFyeS1jb250ZW50O1xuICAgIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgICBwYWRkaW5nOiA2cHggMTJweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcblxuICAgIC5teF9TdHlsZWRSYWRpb0J1dHRvbl9jb250ZW50LFxuICAgIC5teF9Qb2xsT3B0aW9uX2VuZGVkT3B0aW9uIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDJweDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwcHg7XG4gICAgfVxuXG4gICAgLm14X1N0eWxlZFJhZGlvQnV0dG9uX3NwYWNlciB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxufVxuXG4ubXhfUG9sbE9wdGlvbixcbi8qIGxhYmVsIGhhcyBjdXJzb3I6IGRlZmF1bHQgaW4gdXNlci1hZ2VudCBzdHlsZXNoZWV0ICovXG4vKiBvdmVycmlkZSAqL1xuLm14X1BvbGxPcHRpb25fbGl2ZS1vcHRpb24ge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLm14X1BvbGxPcHRpb25fY29udGVudCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG59XG5cbi5teF9Qb2xsT3B0aW9uX29wdGlvblZvdGVDb3VudCB7XG4gICAgY29sb3I6ICRzZWNvbmRhcnktY29udGVudDtcbiAgICBmb250LXNpemU6ICRmb250LTEycHg7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLm14X1BvbGxPcHRpb25fd2lubmVySWNvbiB7XG4gICAgaGVpZ2h0OiAxMnB4O1xuICAgIHdpZHRoOiAxMnB4O1xuICAgIGNvbG9yOiB2YXIoLS1jcGQtY29sb3ItaWNvbi1hY2NlbnQtdGVydGlhcnkpO1xuICAgIG1hcmdpbi1yaWdodDogJHNwYWNpbmctNDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuXG4ubXhfUG9sbE9wdGlvbl9jaGVja2VkIHtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLWNwZC1jb2xvci1ib3JkZXItaW50ZXJhY3RpdmUtaG92ZXJlZCk7XG5cbiAgICAubXhfUG9sbE9wdGlvbl9wb3B1bGFyaXR5QmFja2dyb3VuZCB7XG4gICAgICAgIC5teF9Qb2xsT3B0aW9uX3BvcHVsYXJpdHlBbW91bnQge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY3BkLWNvbG9yLWljb24tYWNjZW50LXRlcnRpYXJ5KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qIG92ZXJyaWRlIGNoZWNrZWQgcmFkaW8gYnV0dG9uIHN0eWxpbmcgdG8gc2hvdyBjaGVja21hcmsgaW5zdGVhZCAqL1xuICAgIC5teF9TdHlsZWRSYWRpb0J1dHRvbl9jaGVja2VkIHtcbiAgICAgICAgaW5wdXRbdHlwZT1cInJhZGlvXCJdOmNoZWNrZWQgKyBkaXYge1xuICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiAycHg7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6IHZhcigtLWNwZC1jb2xvci1pY29uLWFjY2VudC10ZXJ0aWFyeSk7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jcGQtY29sb3ItaWNvbi1hY2NlbnQtdGVydGlhcnkpO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiQHZlY3Rvci1pbS9jb21wb3VuZC1kZXNpZ24tdG9rZW5zL2ljb25zL2NoZWNrLnN2Z1wiKTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogMTJweDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG5cbiAgICAgICAgICAgIGRpdiB7XG4gICAgICAgICAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4vKiBvcHRpb25zIG5vdCBhY3Rpb25hYmxlIGluIHRoZXNlIHN0YXRlcyAqL1xuLm14X1BvbGxPcHRpb25fY2hlY2tlZCxcbi5teF9Qb2xsT3B0aW9uX2VuZGVkIHtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cblxuLm14X1BvbGxPcHRpb25fcG9wdWxhcml0eUJhY2tncm91bmQge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogOHB4O1xuICAgIG1hcmdpbi1yaWdodDogMTJweDtcbiAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHN5c3RlbTtcbiAgICBtYXJnaW4tdG9wOiAkc3BhY2luZy04O1xuXG4gICAgLm14X1BvbGxPcHRpb25fcG9wdWxhcml0eUFtb3VudCB7XG4gICAgICAgIHdpZHRoOiAwJTtcbiAgICAgICAgaGVpZ2h0OiA4cHg7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHF1YXRlcm5hcnktY29udGVudDtcbiAgICB9XG59XG4iLCIvKlxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXG5Db3B5cmlnaHQgMjAyNCBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxuQ29weXJpZ2h0IDIwMTkgTmV3IFZlY3RvciBMdGRcblxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuKi9cblxuLypcbiAqIFRoZXNlIHVzZWQgdG8gbGl2ZSBpbiBHZW5lcmFsIFVzZXIgU2V0dGluZ3MuIFRoZXNlIGNvbXBvbmVudHMgYXJlIGhvcnJpYmx5IGR1cGxpY2F0aXZlXG4gKiBidXQgc2hhcmUgdGhlIHNhbWUgc3R5bGVzLiBGb3Igbm93IEknbSBwdXR0aW5nIHRoZW0gaGVyZSBzbyBJIGNhbiByZW5hbWVkIHRoZSBnZW5lcmFsXG4gKiB0YWIgc2Vuc2libHkgYW5kIGJlZm9yZSBJIGNhbiByZWZhY3RvciB0aGVzZSBjb21wb25lbnRzLlxuICovXG5cbi5teF9BZGRSZW1vdmVUaHJlZXBpZHNfZXhpc3Rpbmcge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cblxuLm14X0FkZFJlbW92ZVRocmVlcGlkc19leGlzdGluZ19hZGRyZXNzLFxuLm14X0FkZFJlbW92ZVRocmVlcGlkc19leGlzdGluZ19wcm9tcHRUZXh0IHtcbiAgICBmbGV4OiAxO1xuICAgIG1hcmdpbi1yaWdodDogMTBweDtcbn1cblxuLm14X0FkZFJlbW92ZVRocmVlcGlkc19leGlzdGluZ19idXR0b24ge1xuICAgIG1hcmdpbi1sZWZ0OiA1cHg7XG59XG5cbi5teF9FbWFpbEFkZHJlc3Nlc1Bob25lTnVtYmVyc192ZXJpZnkge1xuICAgIGRpc3BsYXk6IGZsZXg7XG59XG5cbi5teF9FbWFpbEFkZHJlc3Nlc1Bob25lTnVtYmVyc19leGlzdGluZ19idXR0b24ge1xuICAgIGp1c3RpZnktY29udGVudDogcmlnaHQ7XG59XG5cbi5teF9FbWFpbEFkZHJlc3Nlc1Bob25lTnVtYmVyc192ZXJpZnlfaW5zdHJ1Y3Rpb25zIHtcbiAgICBmbGV4OiAxO1xufVxuIiwiLypcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxuQ29weXJpZ2h0IDIwMjIgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cblxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuKi9cblxuLm14X0N1cnJlbnREZXZpY2VTZWN0aW9uX2RldmljZURldGFpbHMge1xuICAgIC8qIGFsaWduIHdpdGggdGV4dCBvZiBzZXNzaW9uIHRpbGUgKi9cbiAgICBtYXJnaW4tbGVmdDogNTZweDtcbn1cbiIsIi8qXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cbkNvcHlyaWdodCAyMDIyIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXG5cblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cbiovXG5cbi5teF9EZXZpY2VEZXRhaWxIZWFkaW5nIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbi5teF9EZXZpY2VEZXRhaWxIZWFkaW5nX3JlbmFtZUN0YSB7XG4gICAgZmxleC1zaHJpbms6IDA7XG59XG5cbi5teF9EZXZpY2VEZXRhaWxIZWFkaW5nX3JlbmFtZUZvcm0ge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC1nYXA6ICRzcGFjaW5nLTE2O1xuICAgIGp1c3RpZnktY29udGVudDogbGVmdDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDEwMCU7XG59XG5cbi5teF9EZXZpY2VEZXRhaWxIZWFkaW5nX3JlbmFtZUZvcm1CdXR0b25zIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgZ2FwOiAkc3BhY2luZy04O1xuXG4gICAgLm14X1NwaW5uZXIge1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgZmxleC1ncm93OiAwO1xuICAgIH1cbn1cblxuLm14X0RldmljZURldGFpbEhlYWRpbmdfcmVuYW1lRm9ybUlucHV0IHtcbiAgICAvKiBvdmVycmlkZSBmaWVsZCBzdHlsZXMgKi9cbiAgICBtYXJnaW46IDAgMCAkc3BhY2luZy00IDAgIWltcG9ydGFudDtcbn1cblxuLm14X0RldmljZURldGFpbEhlYWRpbmdfcmVuYW1lRm9ybUhlYWRpbmcge1xuICAgIG1hcmdpbjogMDtcbn1cblxuLm14X0RldmljZURldGFpbEhlYWRpbmdfcmVuYW1lRm9ybUVycm9yIHtcbiAgICBjb2xvcjogJGFsZXJ0O1xuICAgIHBhZGRpbmctcmlnaHQ6ICRzcGFjaW5nLTQ7XG4gICAgZGlzcGxheTogYmxvY2s7XG59XG4iLCIvKlxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXG5Db3B5cmlnaHQgMjAyMiBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxuXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXG4qL1xuXG4ubXhfRGV2aWNlRGV0YWlscyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG5cbiAgICBtYXJnaW4tdG9wOiAkc3BhY2luZy0xNjtcbiAgICBwYWRkaW5nOiAkc3BhY2luZy0yNDtcbiAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJHF1aW5hcnktY29udGVudDtcbn1cblxuLm14X0RldmljZURldGFpbHNfc2VjdGlvbiB7XG4gICAgcGFkZGluZy1ib3R0b206ICRzcGFjaW5nLTIwO1xuICAgIG1hcmdpbi1ib3R0b206ICRzcGFjaW5nLTIwO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkcXVpbmFyeS1jb250ZW50O1xuXG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLWdhcDogJHNwYWNpbmctMjQ7XG4gICAganVzdGlmeS1jb250ZW50OiBsZWZ0O1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMTAwJTtcblxuICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgICAgICBib3JkZXItYm90dG9tOiAwO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cbn1cblxuLm14X0RldmljZURldGFpbHNfc2VjdGlvbkhlYWRpbmcge1xuICAgIG1hcmdpbjogMDtcblxuICAgIC5teF9EZXZpY2VEZXRhaWxzX3NlY3Rpb25TdWJoZWFkaW5nIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtMTJweDtcbiAgICAgICAgY29sb3I6ICRzZWNvbmRhcnktY29udGVudDtcbiAgICAgICAgbGluZS1oZWlnaHQ6ICRmb250LTE0cHg7XG4gICAgICAgIG1hcmdpbi10b3A6ICRzcGFjaW5nLTQ7XG4gICAgfVxufVxuXG4ubXhfRGV2aWNlRGV0YWlsc19tZXRhZGF0YVRhYmxlIHtcbiAgICBmb250OiB2YXIoLS1jcGQtZm9udC1ib2R5LXNtLXJlZ3VsYXIpO1xuICAgIGNvbG9yOiAkc2Vjb25kYXJ5LWNvbnRlbnQ7XG5cbiAgICB3aWR0aDogMTAwJTtcblxuICAgIGJvcmRlci1zcGFjaW5nOiAwO1xuXG4gICAgdGgge1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIH1cblxuICAgIHRkIHtcbiAgICAgICAgcGFkZGluZy10b3A6ICRzcGFjaW5nLTg7XG4gICAgfVxuXG4gICAgLm14RGV2aWNlRGV0YWlsc19tZXRhZGF0YUxhYmVsIHtcbiAgICAgICAgd2lkdGg6IDE2MHB4O1xuICAgIH1cblxuICAgIC5teERldmljZURldGFpbHNfbWV0YWRhdGFWYWx1ZSB7XG4gICAgICAgIGNvbG9yOiAkcHJpbWFyeS1jb250ZW50O1xuICAgIH1cbn1cblxuLm14X0RldmljZURldGFpbHNfc2lnbk91dEJ1dHRvbkNvbnRlbnQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogJHNwYWNpbmctNDtcbn1cblxuLm14X0RldmljZURldGFpbHNfcHVzaE5vdGlmaWNhdGlvbnMge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIC5teF9Ub2dnbGVTd2l0Y2gge1xuICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgfVxufVxuIiwiLypcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxuQ29weXJpZ2h0IDIwMjIgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cblxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuKi9cblxuLm14X0RldmljZUV4cGFuZERldGFpbHNCdXR0b24ge1xuICAgIGhlaWdodDogMzJweDtcbiAgICB3aWR0aDogMzJweDtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcblxuICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgICBjb2xvcjogJGljb24tYnV0dG9uLWNvbG9yO1xuXG4gICAgLS1pY29uLXRyYW5zZm9ybTogcm90YXRlKC05MGRlZyk7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogJHF1aW5hcnktY29udGVudDtcbiAgICB9XG59XG5cbi5teF9EZXZpY2VFeHBhbmREZXRhaWxzQnV0dG9uLm14X0RldmljZUV4cGFuZERldGFpbHNCdXR0b25fZXhwYW5kZWQge1xuICAgIC0taWNvbi10cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcblxuICAgIGJhY2tncm91bmQ6ICRzeXN0ZW07XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogJHF1aW5hcnktY29udGVudDtcbiAgICB9XG59XG5cbi5teF9EZXZpY2VFeHBhbmREZXRhaWxzQnV0dG9uX2ljb24ge1xuICAgIGhlaWdodDogMjRweDtcbiAgICB3aWR0aDogMjRweDtcblxuICAgIHRyYW5zaXRpb246IGFsbCAwLjNzO1xuICAgIHRyYW5zZm9ybTogdmFyKC0taWNvbi10cmFuc2Zvcm0pO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbn1cbiIsIi8qXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cbkNvcHlyaWdodCAyMDIyIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXG5cblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cbiovXG5cbi5teF9EZXZpY2VTZWN1cml0eUNhcmQge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXG4gICAgcGFkZGluZzogJHNwYWNpbmctMTY7XG5cbiAgICBib3JkZXI6IDFweCBzb2xpZCAkcXVpbmFyeS1jb250ZW50O1xuICAgIGJvcmRlci1yYWRpdXM6IDhweDtcbn1cblxuLm14X0RldmljZVNlY3VyaXR5Q2FyZF9pY29uIHtcbiAgICBmbGV4OiAwIDAgNDBweDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgbWFyZ2luLXJpZ2h0OiAkc3BhY2luZy0xNjtcbiAgICBib3JkZXItcmFkaXVzOiA4cHg7XG5cbiAgICBoZWlnaHQ6IDQwcHg7XG4gICAgd2lkdGg6IDQwcHg7XG5cbiAgICBjb2xvcjogdmFyKC0taWNvbi1jb2xvcik7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1jb2xvcik7XG5cbiAgICAmLlZlcmlmaWVkIHtcbiAgICAgICAgLS1pY29uLWNvbG9yOiAkZTJlLXZlcmlmaWVkLWNvbG9yO1xuICAgICAgICAtLWJhY2tncm91bmQtY29sb3I6ICRlMmUtdmVyaWZpZWQtY29sb3ItbGlnaHQ7XG4gICAgfVxuXG4gICAgJi5VbnZlcmlmaWVkIHtcbiAgICAgICAgLS1pY29uLWNvbG9yOiAkZTJlLXdhcm5pbmctY29sb3I7XG4gICAgICAgIC0tYmFja2dyb3VuZC1jb2xvcjogJGUyZS13YXJuaW5nLWNvbG9yLWxpZ2h0O1xuICAgIH1cblxuICAgICYuSW5hY3RpdmUge1xuICAgICAgICAtLWljb24tY29sb3I6ICRzZWNvbmRhcnktY29udGVudDtcbiAgICAgICAgLS1iYWNrZ3JvdW5kLWNvbG9yOiAkcGFuZWxzO1xuICAgIH1cbn1cblxuLm14X0RldmljZVNlY3VyaXR5Q2FyZF9jb250ZW50IHtcbiAgICBmbGV4OiAxIDE7XG59XG4ubXhfRGV2aWNlU2VjdXJpdHlDYXJkX2hlYWRpbmcge1xuICAgIG1hcmdpbjogMCAwICRzcGFjaW5nLTQgMDtcbn1cbi5teF9EZXZpY2VTZWN1cml0eUNhcmRfZGVzY3JpcHRpb24ge1xuICAgIG1hcmdpbjogMDtcbiAgICBmb250OiB2YXIoLS1jcGQtZm9udC1ib2R5LXNtLXJlZ3VsYXIpO1xuICAgIGNvbG9yOiAkc2Vjb25kYXJ5LWNvbnRlbnQ7XG59XG5cbi5teF9EZXZpY2VTZWN1cml0eUNhcmRfYWN0aW9ucyB7XG4gICAgbWFyZ2luLXRvcDogJHNwYWNpbmctMTY7XG59XG4iLCIvKlxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXG5Db3B5cmlnaHQgMjAyMiBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxuXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXG4qL1xuXG4ubXhfRGV2aWNlVGlsZSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgd2lkdGg6IDEwMCU7XG59XG5cbi5teF9EZXZpY2VUaWxlX2ludGVyYWN0aXZlIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi5teF9EZXZpY2VUaWxlX2luZm8ge1xuICAgIGZsZXg6IDEgMSAwO1xufVxuXG4ubXhfRGV2aWNlVGlsZV9tZXRhZGF0YSB7XG4gICAgbWFyZ2luLXRvcDogJHNwYWNpbmctNDtcbiAgICBmb250OiB2YXIoLS1jcGQtZm9udC1ib2R5LXNtLXJlZ3VsYXIpO1xuICAgIGNvbG9yOiAkc2Vjb25kYXJ5LWNvbnRlbnQ7XG59XG5cbi5teF9EZXZpY2VUaWxlX2luYWN0aXZlSWNvbiB7XG4gICAgaGVpZ2h0OiAxNHB4O1xuICAgIG1hcmdpbi1yaWdodDogJHNwYWNpbmctODtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuXG4ubXhfRGV2aWNlVGlsZV9hY3Rpb25zIHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtZ2FwOiAkc3BhY2luZy04O1xuICAgIGdyaWQtYXV0by1mbG93OiBjb2x1bW47XG4gICAgbWFyZ2luLWxlZnQ6ICRzcGFjaW5nLTg7XG59XG4iLCIvKlxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXG5Db3B5cmlnaHQgMjAyMiBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxuXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXG4qL1xuXG4ubXhfRGV2aWNlVHlwZUljb24ge1xuICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXJnaW4tcmlnaHQ6ICRzcGFjaW5nLTg7XG4gICAgLyogY3JlYXRlcyBzcGFjZSBmb3IgdmVyaWZpY2F0aW9uIGljb24gdG8gb3ZlcmxhcCAqL1xuICAgIHBhZGRpbmc6IDAgJHNwYWNpbmctOCAkc3BhY2luZy04IDA7XG59XG5cbi5teF9EZXZpY2VUeXBlSWNvbl9kZXZpY2VJY29uV3JhcHBlciB7XG4gICAgLS1iYWNrZ3JvdW5kLWNvbG9yOiAkcGFuZWxzO1xuICAgIC0taWNvbi1jb2xvcjogJHNlY29uZGFyeS1jb250ZW50O1xuXG4gICAgaGVpZ2h0OiA0MHB4O1xuICAgIHdpZHRoOiA0MHB4O1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG5cbiAgICBib3JkZXI6ICRzcGFjaW5nLTggc29saWQgdmFyKC0tYmFja2dyb3VuZC1jb2xvcik7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIGNvbG9yOiB2YXIoLS1pY29uLWNvbG9yKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLWNvbG9yKTtcbn1cblxuLm14X0RldmljZVR5cGVJY29uX3NlbGVjdGVkIC5teF9EZXZpY2VUeXBlSWNvbl9kZXZpY2VJY29uV3JhcHBlciB7XG4gICAgLS1iYWNrZ3JvdW5kLWNvbG9yOiAkcHJpbWFyeS1jb250ZW50O1xuICAgIC0taWNvbi1jb2xvcjogJGJhY2tncm91bmQ7XG59XG5cbi5teF9EZXZpY2VUeXBlSWNvbl9kZXZpY2VJY29uIHtcbiAgICBoZWlnaHQ6IDI0cHg7XG4gICAgd2lkdGg6IDI0cHg7XG59XG5cbi5teF9EZXZpY2VUeXBlSWNvbl92ZXJpZmljYXRpb25JY29uIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGhlaWdodDogMjRweDtcbiAgICB3aWR0aDogMjRweDtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIHBhZGRpbmc6ICRzcGFjaW5nLTQ7XG5cbiAgICBib3JkZXI6IDFweCBzb2xpZCAkcXVpbmFyeS1jb250ZW50O1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcblxuICAgIGNvbG9yOiB2YXIoLS12LWljb24tY29sb3IpO1xuXG4gICAgJi52ZXJpZmllZCB7XG4gICAgICAgIC0tdi1pY29uLWNvbG9yOiAkZTJlLXZlcmlmaWVkLWNvbG9yO1xuICAgIH1cblxuICAgICYudW52ZXJpZmllZCB7XG4gICAgICAgIC0tdi1pY29uLWNvbG9yOiAkZTJlLXdhcm5pbmctY29sb3I7XG4gICAgfVxufVxuIiwiLypcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxuQ29weXJpZ2h0IDIwMjIgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cblxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuKi9cblxuLm14X0ZpbHRlcmVkRGV2aWNlTGlzdCB7XG4gICAgLm14X0Ryb3Bkb3duIHtcbiAgICAgICAgZmxleDogMSAwIDgwcHg7XG4gICAgfVxufVxuXG4ubXhfRmlsdGVyZWREZXZpY2VMaXN0X2xpc3Qge1xuICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtZ2FwOiAkc3BhY2luZy0xNjtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMCAkc3BhY2luZy0xNjtcbn1cblxuLm14X0ZpbHRlcmVkRGV2aWNlTGlzdF9saXN0SXRlbSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xufVxuXG4ubXhfRmlsdGVyZWREZXZpY2VMaXN0X3NlY3VyaXR5Q2FyZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogJHNwYWNpbmctMzI7XG59XG5cbi5teF9GaWx0ZXJlZERldmljZUxpc3Rfbm9SZXN1bHRzIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgbWFyZ2luLWJvdHRvbTogJHNwYWNpbmctMzI7XG59XG5cbi5teF9GaWx0ZXJlZERldmljZUxpc3RfaGVhZGVyQnV0dG9uIHtcbiAgICBmbGV4LXNocmluazogMDtcbiAgICAvKiBvdmVycmlkZSBpbmxpbmUgYnV0dG9uIHN0eWxpbmcgKi9cbiAgICBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBnYXA6ICRzcGFjaW5nLTg7XG59XG5cbi5teF9GaWx0ZXJlZERldmljZUxpc3RfZGV2aWNlRGV0YWlscyB7XG4gICAgLyogYWxpZ24gd2l0aCB0ZXh0IG9mIHNlc3Npb24gdGlsZSAqL1xuICAgIG1hcmdpbi1sZWZ0OiA4OHB4O1xufVxuIiwiLypcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxuQ29weXJpZ2h0IDIwMjIgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cblxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuKi9cblxuLm14X0ZpbHRlcmVkRGV2aWNlTGlzdEhlYWRlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBnYXA6ICRzcGFjaW5nLTE2O1xuXG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiA0OHB4O1xuICAgIHBhZGRpbmc6IDAgJHNwYWNpbmctMTY7XG4gICAgbWFyZ2luLWJvdHRvbTogJHNwYWNpbmctMzI7XG5cbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcGFuZWxzO1xuICAgIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgICBjb2xvcjogJHNlY29uZGFyeS1jb250ZW50O1xuXG4gICAgLyogSGlnaGVyIHNwZWNpZmljaXR5IHNlbGVjdG9yIHRvIG92ZXJyaWRlIHRoZSBmbGV4LXN0YXJ0IHZhbHVlICovXG4gICAgLm14X0FjY2Vzc2libGVCdXR0b24ubXhfQWNjZXNzaWJsZUJ1dHRvbl9oYXNLaW5kIHtcbiAgICAgICAgYWxpZ24tc2VsZjogY2VudGVyO1xuICAgIH1cbn1cblxuLm14X0ZpbHRlcmVkRGV2aWNlTGlzdEhlYWRlcl9sYWJlbCB7XG4gICAgZmxleDogMSAxIDEwMCU7XG59XG4iLCIvKlxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXG5Db3B5cmlnaHQgMjAyMiBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxuXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXG4qL1xuXG4ubXhfU2VjdXJpdHlSZWNvbW1lbmRhdGlvbnNfc3BhY2luZyB7XG4gICAgaGVpZ2h0OiAkc3BhY2luZy0xNjtcbn1cbiIsIi8qXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cbkNvcHlyaWdodCAyMDIyIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXG5cblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cbiovXG5cbi5teF9TZWxlY3RhYmxlRGV2aWNlVGlsZSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgd2lkdGg6IDEwMCU7XG59XG5cbi5teF9TZWxlY3RhYmxlRGV2aWNlVGlsZV9jaGVja2JveCB7XG4gICAgZmxleDogMSAwO1xuXG4gICAgLm14X0NoZWNrYm94X2JhY2tncm91bmQgKyBkaXYge1xuICAgICAgICBmbGV4OiAxIDA7XG4gICAgICAgIC8qIG92ZXJyaWRlIG1vcmUgc3BlY2lmaWMgc2VsZWN0b3IgKi9cbiAgICAgICAgbWFyZ2luLWxlZnQ6ICRzcGFjaW5nLTE2ICFpbXBvcnRhbnQ7XG4gICAgfVxufVxuIiwiLypcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxuQ29weXJpZ2h0IDIwMjIgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cblxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuKi9cblxuLm14X1NldHRpbmdzU3Vic2VjdGlvbiB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcblxuICAgICYubXhfU2V0dGluZ3NTdWJzZWN0aW9uX25ld1VpIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgZ2FwOiB2YXIoLS1jcGQtc3BhY2UtNngpO1xuICAgIH1cblxuICAgICpbcm9sZT1cInNlcGFyYXRvclwiXSB7XG4gICAgICAgIC8qKlxuICAgICAgICAgKiBUaGUgZ2FwIGJldHdlZW4gc3Vic2VjdGlvbnMgaXMgMzJweCBhbmQgaW5zaWRlIHRoZSBzdWJzZWN0aW9uIGlzIDI0cHguXG4gICAgICAgICAqIFRoZSBzZXBhcmF0b3Igc2VwYXJhdGVzIHRoZSBzdWJzZWN0aW9ucywgc28gaXQgc2hvdWxkIGhhdmUgdGhlIHNhbWUgZ2FwIGFzIHRoZSBzdWJzZWN0aW9ucy5cbiAgICAgICAgICogV2UgYWRkIDEycHggYW5kIHRoZSBzZXBhcmF0b3Igc3BhY2luZyB0byB0aGUgdG9wIG1hcmdpbiB0byBtYWtlIHRoZSBzZXBhcmF0b3IgdmlzdWFsbHkgY2VudGVyZWQgYmV0d2VlbiB0aGUgc3Vic2VjdGlvbnMuXG4gICAgICAgICAqL1xuICAgICAgICBtYXJnaW4tdG9wOiBjYWxjKHZhcigtLWNwZC1zcGFjZS0zeCkgKyB2YXIoLS1jcGQtc2VwYXJhdG9yLXNwYWNpbmcpKTtcbiAgICB9XG59XG5cbi5teF9TZXR0aW5nc1N1YnNlY3Rpb25fZGVzY3JpcHRpb24ge1xuICAgIG1hcmdpbi10b3A6ICRzcGFjaW5nLTg7XG59XG5cbi5teF9TZXR0aW5nc1N1YnNlY3Rpb25fdGV4dCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYm94LXNpemluZzogaW5oZXJpdDtcbiAgICBjb2xvcjogJHNlY29uZGFyeS1jb250ZW50O1xufVxuXG4ubXhfU2V0dGluZ3NTdWJzZWN0aW9uX2NvbnRlbnQge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC1nYXA6ICRzcGFjaW5nLTg7XG4gICAgLyogc2V0dGluZyBtaW53aWR0aCAwIG1ha2VzIGNvbHVtbnMgZGVmaW5pdGVseSBzaXplZCBmaXhpbmcgaG9yaXpvbnRhbCBvdmVyZmxvdyAqL1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogbWlubWF4KDAsIDFmcik7XG4gICAganVzdGlmeS1pdGVtczogZmxleC1zdGFydDtcbiAgICBtYXJnaW4tdG9wOiAkc3BhY2luZy0yNDtcblxuICAgIHN1bW1hcnkge1xuICAgICAgICBjb2xvcjogJGFjY2VudDtcbiAgICB9XG4gICAgZGV0YWlsc1tvcGVuXSB7XG4gICAgICAgIHN1bW1hcnkge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogJHNwYWNpbmctODtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYubXhfU2V0dGluZ3NTdWJzZWN0aW9uX2NvbnRlbnRTdHJldGNoIHtcbiAgICAgICAganVzdGlmeS1pdGVtczogc3RyZXRjaDtcbiAgICB9XG5cbiAgICAmLm14X1NldHRpbmdzU3Vic2VjdGlvbl9ub0hlYWRpbmcge1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgIH1cbiAgICAmLm14X1NldHRpbmdzU3Vic2VjdGlvbl9jb250ZW50X25ld1VpIHtcbiAgICAgICAgZ2FwOiB2YXIoLS1jcGQtc3BhY2UtNngpO1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgIH1cblxuICAgIC5teF9TZXR0aW5nc1N1YnNlY3Rpb25fZHJvcGRvd24ge1xuICAgICAgICBtaW4td2lkdGg6IDM2MHB4O1xuICAgIH1cbn1cbiIsIi8qXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cbkNvcHlyaWdodCAyMDIyIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXG5cblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cbiovXG5cbi5teF9TZXR0aW5nc1N1YnNlY3Rpb25IZWFkaW5nIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG5cbiAgICBnYXA6ICRzcGFjaW5nLTg7XG59XG5cbi5teF9TZXR0aW5nc1N1YnNlY3Rpb25IZWFkaW5nX2hlYWRpbmcge1xuICAgIGZsZXg6IDEgMSAxMDAlO1xufVxuIiwiLypcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxuQ29weXJpZ2h0IDIwMjIgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cblxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuKi9cblxuLm14X1F1aWNrVGhlbWVTd2l0Y2hlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gICAgLm14X0Ryb3Bkb3duIHtcbiAgICAgICAgbWluLXdpZHRoOiAxMDBweDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICAgIGhlaWdodDogbWluLWNvbnRlbnQ7XG4gICAgfVxuXG4gICAgLm14X0Ryb3Bkb3duX21lbnUge1xuICAgICAgICBtYXgtaGVpZ2h0OiA3MHB4O1xuICAgIH1cbn1cblxuLm14X1F1aWNrVGhlbWVTd2l0Y2hlcl9oZWFkaW5nIHtcbiAgICBmb250LXdlaWdodDogdmFyKC0tY3BkLWZvbnQtd2VpZ2h0LXNlbWlib2xkKTtcbiAgICBmb250LXNpemU6ICRmb250LTEycHg7XG4gICAgbGluZS1oZWlnaHQ6ICRmb250LTE1cHg7XG4gICAgY29sb3I6ICRzZWNvbmRhcnktY29udGVudDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW46IDA7XG59XG4iLCIvKlxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXG5Db3B5cmlnaHQgMjAyMiBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxuXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXG4qL1xuXG4ubXhfQ2FwdGlvbiB7XG4gICAgZm9udDogdmFyKC0tY3BkLWZvbnQtYm9keS1zbS1yZWd1bGFyKTtcbiAgICBjb2xvcjogJHNlY29uZGFyeS1jb250ZW50O1xuXG4gICAgJi5teF9DYXB0aW9uX2Vycm9yIHtcbiAgICAgICAgY29sb3I6ICRhbGVydDtcbiAgICB9XG59XG4iLCIvKlxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXG5Db3B5cmlnaHQgMjAyMyBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxuXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXG4qL1xuXG4ubXhfQm94LS1mbGV4IHtcbiAgICBmbGV4OiB2YXIoLS1teC1ib3gtZmxleCwgdW5zZXQpO1xufVxuXG4ubXhfQm94LS1zaHJpbmsge1xuICAgIGZsZXgtc2hyaW5rOiB2YXIoLS1teC1ib3gtc2hyaW5rLCB1bnNldCk7XG59XG5cbi5teF9Cb3gtLWdyb3cge1xuICAgIGZsZXgtZ3JvdzogdmFyKC0tbXgtYm94LWdyb3csIHVuc2V0KTtcbn1cbiIsIi8qXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cbkNvcHlyaWdodCAyMDIzIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXG5cblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cbiovXG5cbi5teF9GbGV4IHtcbiAgICBkaXNwbGF5OiB2YXIoLS1teC1mbGV4LWRpc3BsYXksIHVuc2V0KTtcbiAgICBmbGV4LWRpcmVjdGlvbjogdmFyKC0tbXgtZmxleC1kaXJlY3Rpb24sIHVuc2V0KTtcbiAgICBhbGlnbi1pdGVtczogdmFyKC0tbXgtZmxleC1hbGlnbiwgdW5zZXQpO1xuICAgIGp1c3RpZnktY29udGVudDogdmFyKC0tbXgtZmxleC1qdXN0aWZ5LCB1bnNldCk7XG4gICAgZ2FwOiB2YXIoLS1teC1mbGV4LWdhcCwgdW5zZXQpO1xufVxuIiwiLypcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxuQ29weXJpZ2h0IDIwMjIgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cblxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuKi9cblxuLypcbiAqIENvbXBvdW5kIGljb25cblxuICoge0BsaW5rIGh0dHBzOi8vd3d3LmZpZ21hLmNvbS9maWxlL1g0WFRIOWlTMktHSjJ3RktEcWt5ZWR9XG4gKi9cblxuLm14X0ljb24ge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG5cbi5teF9JY29uX2FjY2VudCB7XG4gICAgY29sb3I6ICRhY2NlbnQ7XG59XG5cbi5teF9JY29uX2JnLWFjY2VudC1saWdodCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGFjY2VudC0zMDA7XG59XG5cbi5teF9JY29uX2FsZXJ0IHtcbiAgICBjb2xvcjogJGFsZXJ0O1xufVxuXG4ubXhfSWNvbl9jaXJjbGUtNDAge1xuICAgIGJvcmRlci1yYWRpdXM6IDIwcHg7XG4gICAgZmxleDogMCAwIDQwcHg7XG4gICAgaGVpZ2h0OiA0MHB4O1xuICAgIHBhZGRpbmc6IDAgMTJweDtcbiAgICB3aWR0aDogNDBweDtcbn1cblxuLm14X0ljb25fOCB7XG4gICAgZmxleDogMCAwIDhweDtcbiAgICBoZWlnaHQ6IDhweDtcbiAgICB3aWR0aDogOHB4O1xufVxuXG4ubXhfSWNvbl8xMCB7XG4gICAgZmxleDogMCAwIDEwcHg7XG4gICAgaGVpZ2h0OiAxMHB4O1xuICAgIHdpZHRoOiAxMHB4O1xufVxuXG4ubXhfSWNvbl8xMiB7XG4gICAgZmxleDogMCAwIDEycHg7XG4gICAgaGVpZ2h0OiAxMnB4O1xuICAgIHdpZHRoOiAxMnB4O1xufVxuXG4ubXhfSWNvbl8xNiB7XG4gICAgZmxleDogMCAwIDE2cHg7XG4gICAgaGVpZ2h0OiAxNnB4O1xuICAgIHdpZHRoOiAxNnB4O1xufVxuXG4ubXhfSWNvbl8yNCB7XG4gICAgZmxleDogMCAwIDI0cHg7XG4gICAgaGVpZ2h0OiAyNHB4O1xuICAgIHdpZHRoOiAyNHB4O1xufVxuXG4ubXhfSWNvbl8zMiB7XG4gICAgZmxleDogMCAwIDMycHg7XG4gICAgaGVpZ2h0OiAzMnB4O1xuICAgIHdpZHRoOiAzMnB4O1xufVxuIiwiLypcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxuQ29weXJpZ2h0IDIwMjMgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cblxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuKi9cblxuLm14X1N1Y2Nlc3NEaWFsb2cge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgIC5teF9JY29uIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogJHNwYWNpbmctMTY7XG4gICAgfVxuXG4gICAgLm14X0RpYWxvZ19oZWFkZXIge1xuICAgICAgICBtYXJnaW46IDAgMCAkc3BhY2luZy0xNjtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICB9XG5cbiAgICAubXhfRGlhbG9nX3RpdGxlIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgIH1cblxuICAgIC5teF9EaWFsb2dfY29udGVudCB7XG4gICAgICAgIGNvbG9yOiAkc2Vjb25kYXJ5LWNvbnRlbnQ7XG4gICAgICAgIG1hcmdpbjogMCAwICRzcGFjaW5nLTQwO1xuICAgIH1cblxuICAgIC5teF9EaWFsb2dfYnV0dG9ucyB7XG4gICAgICAgIC5teF9EaWFsb2dfYnV0dG9uc19yb3cge1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cbiAgICAgICAgICAgIGJ1dHRvbi5teF9EaWFsb2dfcHJpbWFyeSB7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiA0OHB4O1xuICAgICAgICAgICAgICAgIG1pbi13aWR0aDogMzI4cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIvKlxuQ29weXJpZ2h0IDIwMTgtMjAyNCBOZXcgVmVjdG9yIEx0ZC5cblxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuKi9cblxuLyogbWFrZSBhbnkgc2Nyb2xsYmFyIGdyZXkgYW5kIHRoaW4gKi9cbmh0bWwge1xuICAgIHNjcm9sbGJhci1jb2xvcjogJHNjcm9sbGJhci10aHVtYi1jb2xvciB0cmFuc3BhcmVudDtcbn1cbi8qIHNjcm9sbGJhci13aWR0aCBpcyBub3QgaW5oZXJpdGVkIChidXQgLWNvbG9yIGlzLCB3aHk/ISksICovXG4vKiBzbyBkZWNsYXJlIGl0IG9uIGV2ZXJ5IGVsZW1lbnQgKi9cbioge1xuICAgIHNjcm9sbGJhci13aWR0aDogdGhpbjtcbn1cblxuOjotd2Via2l0LXNjcm9sbGJhciB7XG4gICAgd2lkdGg6IDZweDtcbiAgICBoZWlnaHQ6IDZweDtcbn1cblxuOjotd2Via2l0LXNjcm9sbGJhci10aHVtYiB7XG4gICAgYm9yZGVyLXJhZGl1czogM3B4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRzY3JvbGxiYXItdGh1bWItY29sb3I7XG59XG5cbi8qIG1ha2UgYXV0by1oaWRlIHNjcm9sbGJhcnMgbm90IHRyYW5zcGFyZW50IGFnYWluIG9uIGhvdmVyICovXG4ubXhfQXV0b0hpZGVTY3JvbGxiYXI6aG92ZXIge1xuICAgIHNjcm9sbGJhci1jb2xvcjogJHNjcm9sbGJhci10aHVtYi1jb2xvciB0cmFuc3BhcmVudDtcblxuICAgICY6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHNjcm9sbGJhci10aHVtYi1jb2xvcjtcbiAgICB9XG59XG5cbi8qIG1ha2Ugc2Nyb2xsYmFycyB0cmFuc3BhcmVudCBmb3IgYXV0b2hpZGUgc2Nyb2xsYmFycyAqL1xuLm14X0F1dG9IaWRlU2Nyb2xsYmFyIHtcbiAgICBvdmVyZmxvdy14OiBoaWRkZW47XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICBvdmVyZmxvdy15OiBvdmVybGF5OyAvKiB3aGVyZSBzdXBwb3J0ZWQgKi9cbiAgICAtbXMtb3ZlcmZsb3ctc3R5bGU6IC1tcy1hdXRvaGlkaW5nLXNjcm9sbGJhcjtcblxuICAgICY6Oi13ZWJraXQtc2Nyb2xsYmFyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgfVxuXG4gICAgJjo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICB9XG5cbiAgICBzY3JvbGxiYXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xufVxuIiwiLypcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxuQ29weXJpZ2h0IDIwMjIgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cblxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuKi9cblxuLm14X0F1dG9jb21wbGV0ZUlucHV0IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5teF9BdXRvY29tcGxldGVJbnB1dF9zZWFyY2hfaWNvbiB7XG4gICAgbWFyZ2luLWxlZnQ6ICRzcGFjaW5nLTg7XG4gICAgZmlsbDogJHNlY29uZGFyeS1jb250ZW50O1xufVxuXG4ubXhfQXV0b2NvbXBsZXRlSW5wdXRfZWRpdG9yIHtcbiAgICBmbGV4OiAxO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgYm9yZGVyOiAxcHggc29saWQgJGlucHV0LWJvcmRlci1jb2xvcjtcbiAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDAuMjVzO1xuXG4gICAgPiBpbnB1dCB7XG4gICAgICAgIGZsZXg6IDE7XG4gICAgICAgIG1pbi13aWR0aDogNDAlO1xuICAgICAgICByZXNpemU6IG5vbmU7XG4gICAgICAgIC8qIGAhaW1wb3J0YW50YCBpcyByZXF1aXJlZCB0byBieXBhc3MgZ2xvYmFsIGlucHV0IHN0eWxlcy4gKi9cbiAgICAgICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIHBhZGRpbmc6ICRzcGFjaW5nLTggOXB4O1xuICAgICAgICBib3JkZXI6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgY29sb3I6ICRwcmltYXJ5LWNvbnRlbnQgIWltcG9ydGFudDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbCAhaW1wb3J0YW50O1xuXG4gICAgICAgICY6OnBsYWNlaG9sZGVyIHtcbiAgICAgICAgICAgIGNvbG9yOiAkcHJpbWFyeS1jb250ZW50ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBmb250LXdlaWdodDogbm9ybWFsICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5teF9BdXRvY29tcGxldGVJbnB1dF9lZGl0b3ItLWZvY3VzZWQge1xuICAgIGJvcmRlci1jb2xvcjogJGxpbmtzO1xufVxuXG4ubXhfQXV0b2NvbXBsZXRlSW5wdXRfZWRpdG9yLS1oYXMtc3VnZ2VzdGlvbnMge1xuICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7XG4gICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7XG59XG5cbi5teF9BdXRvY29tcGxldGVJbnB1dF9lZGl0b3Jfc2VsZWN0aW9uIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIG1hcmdpbi1sZWZ0OiAkc3BhY2luZy04O1xufVxuXG4ubXhfQXV0b2NvbXBsZXRlSW5wdXRfZWRpdG9yX3NlbGVjdGlvbl9waWxsIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgYm9yZGVyLXJhZGl1czogMTJweDtcbiAgICBwYWRkaW5nLWxlZnQ6ICRzcGFjaW5nLTg7XG4gICAgcGFkZGluZy1yaWdodDogJHNwYWNpbmctODtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdXNlcm5hbWUtdmFyaWFudDEtY29sb3I7XG4gICAgY29sb3I6ICNmZmZmZmY7XG4gICAgZm9udC1zaXplOiAkZm9udC0xMnB4O1xufVxuXG4ubXhfQXV0b2NvbXBsZXRlSW5wdXRfZWRpdG9yX3NlbGVjdGlvbl9yZW1vdmVfYnV0dG9uIHN2ZyB7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cblxuLm14X0F1dG9jb21wbGV0ZUlucHV0X21hdGNoZXMge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICRsaW5rcztcbiAgICBib3JkZXItdG9wLWNvbG9yOiAkaW5wdXQtYm9yZGVyLWNvbG9yO1xuICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDRweDtcbiAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogNHB4O1xuICAgIHotaW5kZXg6IDEwMDA7XG59XG5cbi5teF9BdXRvY29tcGxldGVJbnB1dF9zdWdnZXN0aW9uIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgcGFkZGluZzogJHNwYWNpbmctODtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICA+ICoge1xuICAgICAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICB9XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHF1aW5hcnktY29udGVudDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogNHB4O1xuICAgICAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogNHB4O1xuICAgIH1cbn1cblxuLm14X0F1dG9jb21wbGV0ZUlucHV0X3N1Z2dlc3Rpb24tLXNlbGVjdGVkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcXVpbmFyeS1jb250ZW50O1xuXG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogNHB4O1xuICAgICAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogNHB4O1xuICAgIH1cbn1cblxuLm14X0F1dG9jb21wbGV0ZUlucHV0X3N1Z2dlc3Rpb25fdGl0bGUge1xuICAgIG1hcmdpbi1yaWdodDogJHNwYWNpbmctODtcbn1cblxuLm14X0F1dG9jb21wbGV0ZUlucHV0X3N1Z2dlc3Rpb25fZGVzY3JpcHRpb24ge1xuICAgIGNvbG9yOiAkc2Vjb25kYXJ5LWNvbnRlbnQ7XG4gICAgZm9udC1zaXplOiAkZm9udC0xMnB4O1xufVxuIiwiLypcbkNvcHlyaWdodCAyMDIxLTIwMjQgTmV3IFZlY3RvciBMdGQuXG5cblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cbiovXG5cbi5teF9CYWNrZHJvcFBhbmVsIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogMDtcbiAgICB0b3A6IDA7XG4gICAgaGVpZ2h0OiAxMDB2aDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGZpbHRlcjogYmx1cih2YXIoLS1scC1iYWNrZ3JvdW5kLWJsdXIpKTtcbiAgICAvKiBGb3JjZSBhIG5ldyBsYXllciBmb3IgdGhlIGJhY2tkcm9wUGFuZWwgc28gaXQncyBiZXR0ZXIgaGFyZHdhcmUgc3VwcG9ydGVkICovXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApO1xufVxuXG4ubXhfQmFja2Ryb3BQYW5lbC0taW1hZ2Uge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICBtaW4taGVpZ2h0OiAxMDAlO1xuICAgIHotaW5kZXg6IDA7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB1c2VyLXNlbGVjdDogbm9uZTtcbn1cbiIsIi5teF9Db21wYXRpYmlsaXR5UGFnZSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlNTU7XG59XG5cbi5teF9Db21wYXRpYmlsaXR5UGFnZV9ib3gge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBpbnNldDogMDtcbiAgICBtYXJnaW46IGF1dG87XG4gICAgd2lkdGg6IDUwMHB4O1xuICAgIGhlaWdodDogMzAwcHg7XG4gICAgYm9yZGVyOiAxcHggc29saWQ7XG4gICAgcGFkZGluZzogMTBweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmNjO1xufVxuIiwiLypcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxuQ29weXJpZ2h0IDIwMTkgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cbkNvcHlyaWdodCAyMDE1LCAyMDE2IE9wZW5NYXJrZXQgTHRkXG5cblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cbiovXG5cbi5teF9Db250ZXh0dWFsTWVudV93cmFwcGVyIHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgei1pbmRleDogNTAwMDtcbn1cblxuLm14X0NvbnRleHR1YWxNZW51X2JhY2tncm91bmQge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgb3BhY2l0eTogMTtcbn1cblxuLm14X0NvbnRleHR1YWxNZW51IHtcbiAgICBib3JkZXItcmFkaXVzOiAxMnB4O1xuICAgIGJveC1zaGFkb3c6IDBweCA0cHggMjRweCByZ2JhKDAsIDAsIDAsIDAuMSk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY3BkLWNvbG9yLWJnLWNhbnZhcy1kZWZhdWx0KTtcbiAgICBib3JkZXI6IHZhcigtLWNwZC1ib3JkZXItd2lkdGgtMSkgc29saWQgdmFyKC0tY3BkLWNvbG9yLWJvcmRlci1pbnRlcmFjdGl2ZS1zZWNvbmRhcnkpO1xuICAgIGNvbG9yOiAkcHJpbWFyeS1jb250ZW50O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB6LWluZGV4OiA1MDAxO1xuICAgIHdpZHRoOiBtYXgtY29udGVudDtcbn1cblxuLm14X0NvbnRleHR1YWxNZW51X3JpZ2h0IHtcbiAgICByaWdodDogMTZweDtcbn1cblxuLm14X0NvbnRleHR1YWxNZW51Lm14X0NvbnRleHR1YWxNZW51X3dpdGhDaGV2cm9uX3JpZ2h0IHtcbiAgICByaWdodDogOHB4O1xufVxuXG4ubXhfQ29udGV4dHVhbE1lbnVfY2hldnJvbl9yaWdodCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAtOHB4O1xuICAgIHRvcDogMHB4O1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXItdG9wOiA4cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLWxlZnQ6IDhweCBzb2xpZCAkbWVudS1iZy1jb2xvcjtcbiAgICBib3JkZXItYm90dG9tOiA4cHggc29saWQgdHJhbnNwYXJlbnQ7XG59XG5cbi5teF9Db250ZXh0dWFsTWVudV9sZWZ0IHtcbiAgICBsZWZ0OiAwO1xufVxuXG4ubXhfQ29udGV4dHVhbE1lbnUubXhfQ29udGV4dHVhbE1lbnVfd2l0aENoZXZyb25fbGVmdCB7XG4gICAgbGVmdDogOHB4O1xufVxuXG4ubXhfQ29udGV4dHVhbE1lbnVfY2hldnJvbl9sZWZ0IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogLThweDtcbiAgICB0b3A6IDBweDtcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyLXRvcDogOHB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1yaWdodDogOHB4IHNvbGlkICRtZW51LWJnLWNvbG9yO1xuICAgIGJvcmRlci1ib3R0b206IDhweCBzb2xpZCB0cmFuc3BhcmVudDtcbn1cblxuLm14X0NvbnRleHR1YWxNZW51X3RvcCB7XG4gICAgdG9wOiAwO1xufVxuXG4ubXhfQ29udGV4dHVhbE1lbnUubXhfQ29udGV4dHVhbE1lbnVfd2l0aENoZXZyb25fdG9wIHtcbiAgICB0b3A6IDhweDtcbn1cblxuLm14X0NvbnRleHR1YWxNZW51X2NoZXZyb25fdG9wIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogMHB4O1xuICAgIHRvcDogLThweDtcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyLWxlZnQ6IDhweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItYm90dG9tOiA4cHggc29saWQgJG1lbnUtYmctY29sb3I7XG4gICAgYm9yZGVyLXJpZ2h0OiA4cHggc29saWQgdHJhbnNwYXJlbnQ7XG59XG5cbi5teF9Db250ZXh0dWFsTWVudV9ib3R0b20ge1xuICAgIGJvdHRvbTogMDtcbn1cblxuLm14X0NvbnRleHR1YWxNZW51Lm14X0NvbnRleHR1YWxNZW51X3dpdGhDaGV2cm9uX2JvdHRvbSB7XG4gICAgYm90dG9tOiA4cHg7XG59XG5cbi5teF9Db250ZXh0dWFsTWVudV9jaGV2cm9uX2JvdHRvbSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDBweDtcbiAgICBib3R0b206IC04cHg7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlci1sZWZ0OiA4cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXRvcDogOHB4IHNvbGlkICRtZW51LWJnLWNvbG9yO1xuICAgIGJvcmRlci1yaWdodDogOHB4IHNvbGlkIHRyYW5zcGFyZW50O1xufVxuXG4ubXhfQ29udGV4dHVhbE1lbnVfcmlnaHRBbGlnbmVkIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpO1xufVxuXG4ubXhfQ29udGV4dHVhbE1lbnVfYm90dG9tQWxpZ25lZCB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMDAlKTtcbn1cbiIsIi8qXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cbkNvcHlyaWdodCAyMDIyIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXG5cblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cbiovXG5cbi5teF9FcnJvck1lc3NhZ2Uge1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgY29sb3I6ICRhbGVydDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZvbnQtc2l6ZTogJGZvbnQtMTJweDtcbiAgICBnYXA6ICRzcGFjaW5nLTg7XG4gICAgbGluZS1oZWlnaHQ6IDEuMmVtO1xuICAgIG1pbi1oZWlnaHQ6IDIuNGVtO1xufVxuIiwiLypcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxuQ29weXJpZ2h0IDIwMTUsIDIwMTYgT3Blbk1hcmtldCBMdGRcblxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuKi9cblxuQGtleWZyYW1lcyBteF9GaWxlRHJvcFRhcmdldF9hbmltYXRpb24ge1xuICAgIGZyb20ge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgIH1cbiAgICB0byB7XG4gICAgICAgIG9wYWNpdHk6IDAuOTU7XG4gICAgfVxufVxuXG4ubXhfRmlsZURyb3BUYXJnZXQge1xuICAgIG1pbi13aWR0aDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG5cbiAgICBmb250LXNpemU6ICRmb250LTE4cHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG5cbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcbiAgICBvcGFjaXR5OiAwLjk1O1xuXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHotaW5kZXg6IDMwMDA7XG5cbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgIGFuaW1hdGlvbjogbXhfRmlsZURyb3BUYXJnZXRfYW5pbWF0aW9uO1xuICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogMC41cztcbn1cblxuQGtleWZyYW1lcyBteF9GaWxlRHJvcFRhcmdldF9pbWFnZV9hbmltYXRpb24ge1xuICAgIGZyb20ge1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlWCgwKTtcbiAgICB9XG4gICAgdG8ge1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlWCgxKTtcbiAgICB9XG59XG5cbi5teF9GaWxlRHJvcFRhcmdldF9pbWFnZSB7XG4gICAgd2lkdGg6IDMycHg7XG4gICAgYW5pbWF0aW9uOiBteF9GaWxlRHJvcFRhcmdldF9pbWFnZV9hbmltYXRpb247XG4gICAgYW5pbWF0aW9uLWR1cmF0aW9uOiAwLjVzO1xuICAgIG1hcmdpbi1ib3R0b206IDE2cHg7XG59XG4iLCIvKlxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXG5Db3B5cmlnaHQgMjAxNiBPcGVuTWFya2V0IEx0ZFxuXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXG4qL1xuXG4ubXhfRmlsZVBhbmVsIHtcbiAgICBvcmRlcjogMjtcbiAgICBmbGV4OiAxIDEgMDtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgIGRpc3BsYXk6IGZsZXg7XG5cbiAgICAubXhfUm9vbVZpZXdfbWVzc2FnZUxpc3RXcmFwcGVyIHtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgfVxuXG4gICAgLm14X1Jvb21WaWV3X01lc3NhZ2VMaXN0IHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGdhcDogdmFyKC0tY3BkLXNwYWNlLTZ4KTtcbiAgICB9XG5cbiAgICAvKiBGSVhNRTogcmF0aGVyIHRoYW4gaGF2aW5nIEV2ZW50VGlsZSdzIGRlZmF1bHQgQ1NTIGJlIGZvciBNZXNzYWdlUGFuZWwsXG4gICB3ZSBzaG91bGQgbWFrZSBFdmVudFRpbGUgYSBiYXNlIENTUyBjbGFzcyBhbmQgY3VzdG9taXNlIGl0IHNwZWNpZmljYWxseVxuICAgZm9yIHVzYWdlIGluIHtNZXNzYWdlLEZpbGUsTm90aWZpY2F0aW9ufVBhbmVsLiAqL1xuXG4gICAgLyogT3ZlcnJpZGVzIGZvciB0aGUgYXR0YWNobWVudCBib2R5IHRpbGVzICovXG4gICAgLm14X0V2ZW50VGlsZSB7XG4gICAgICAgIHdvcmQtYnJlYWs6IGJyZWFrLXdvcmQ7XG4gICAgICAgIHBhZGRpbmctdG9wOiAwO1xuXG4gICAgICAgICYgKyAubXhfRXZlbnRUaWxlIHtcbiAgICAgICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1jcGQtY29sb3ItZ3JheS00MDApO1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IHZhcigtLWNwZC1zcGFjZS02eCk7XG4gICAgICAgIH1cblxuICAgICAgICAubXhfRXZlbnRUaWxlX2xpbmUge1xuICAgICAgICAgICAgcGFkZGluZy1pbmxpbmUtc3RhcnQ6IDA7XG4gICAgICAgIH1cblxuICAgICAgICAubXhfTUZpbGVCb2R5X2Rvd25sb2FkIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IHZhcigtLWNwZC1zcGFjZS00eCk7XG4gICAgICAgIH1cblxuICAgICAgICAvKiBhbmNob3IgbGluayBhcyB3cmFwcGVyICovXG4gICAgICAgIC5teF9FdmVudFRpbGVfc2VuZGVyRGV0YWlsc0xpbmsge1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogdmFyKC0tY3BkLXNwYWNlLTF4KTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgICAgICAgICAubXhfRXZlbnRUaWxlX3NlbmRlckRldGFpbHMge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogLTJweDtcbiAgICAgICAgICAgICAgICBnYXA6IHZhcigtLWNwZC1zcGFjZS0yeCk7XG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgICAgICAgICAgICAgIC5teF9EaXNhbWJpZ3VhdGVkUHJvZmlsZSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkZXZlbnQtdGltZXN0YW1wLWNvbG9yOyAvKiBmb3IgZWxsaXBzaXMuIENvbG9yIG9mIGRpc3BsYXlOYW1lIGFuZCBteGlkIGlzIGluaGVyaXRlZCAqL1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC5teF9NZXNzYWdlVGltZXN0YW1wIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICAgICAgICAgICAgICAgIGZvbnQ6IHZhcigtLWNwZC1mb250LWJvZHkteHMtcmVndWxhcik7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1jcGQtY29sb3ItdGV4dC1zZWNvbmRhcnkpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5teF9FdmVudFRpbGVfbGluZSB7XG4gICAgICAgIG1hcmdpbi1pbmxpbmUtZW5kOiAwO1xuICAgICAgICBwYWRkaW5nLWlubGluZS1zdGFydDogMDtcbiAgICB9XG59XG4iLCIvKlxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXG5Db3B5cmlnaHQgMjAyMiBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxuXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXG4qL1xuXG4ubXhfR2VuZXJpY0Ryb3Bkb3duTWVudV9idXR0b24ge1xuICAgIHBhZGRpbmc6IDNweCA0cHggM3B4IDhweDtcbiAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICBmb250LXNpemU6ICRmb250LTEycHg7XG4gICAgY29sb3I6ICRzZWNvbmRhcnktY29udGVudDtcbn1cblxuLm14X0dlbmVyaWNEcm9wZG93bk1lbnVfYnV0dG9uOmhvdmVyLFxuLm14X0dlbmVyaWNEcm9wZG93bk1lbnVfYnV0dG9uW2FyaWEtZXhwYW5kZWQ9XCJ0cnVlXCJdIHtcbiAgICBiYWNrZ3JvdW5kOiAkcXVpbmFyeS1jb250ZW50O1xufVxuXG4ubXhfR2VuZXJpY0Ryb3Bkb3duTWVudV9idXR0b246OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICB3aWR0aDogMThweDtcbiAgICBoZWlnaHQ6IDE4cHg7XG4gICAgYmFja2dyb3VuZDogY3VycmVudENvbG9yO1xuICAgIG1hc2staW1hZ2U6IHVybChcIkB2ZWN0b3ItaW0vY29tcG91bmQtZGVzaWduLXRva2Vucy9pY29ucy9jaGV2cm9uLWRvd24uc3ZnXCIpO1xuICAgIG1hc2stc2l6ZTogMTAwJTtcbiAgICBtYXNrLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGZsb2F0OiByaWdodDtcbn1cblxuLm14X0NvbnRleHR1YWxNZW51X3dyYXBwZXIubXhfR2VuZXJpY0Ryb3Bkb3duTWVudV93cmFwcGVyIHtcbiAgICAubXhfQ29udGV4dHVhbE1lbnUge1xuICAgICAgICBwb3NpdGlvbjogaW5pdGlhbDtcblxuICAgICAgICBmb250LXNpemU6ICRmb250LTEycHg7XG4gICAgICAgIGNvbG9yOiAkc2Vjb25kYXJ5LWNvbnRlbnQ7XG4gICAgICAgIHBhZGRpbmctdG9wOiAxMHB4O1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTBweDtcblxuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkcXVpbmFyeS1jb250ZW50O1xuICAgICAgICBib3gtc2hhZG93OiAwIDFweCAzcHggcmdiYSgyMywgMjUsIDI4LCAwLjA1KTtcbiAgICB9XG5cbiAgICAubXhfQ29udGV4dHVhbE1lbnVfY2hldnJvbl90b3Age1xuICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICByaWdodDogMjJweDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogJHF1aW5hcnktY29udGVudDtcblxuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgYm9yZGVyOiBpbmhlcml0O1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogJG1lbnUtYmctY29sb3I7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IDFweDtcbiAgICAgICAgICAgIGxlZnQ6IC04cHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubXhfR2VuZXJpY0Ryb3Bkb3duTWVudV9kaXZpZGVyIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGhlaWdodDogMDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDRweDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxOXB4O1xuICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgJHF1aW5hcnktY29udGVudDtcbiAgICB9XG5cbiAgICAubXhfR2VuZXJpY0Ryb3Bkb3duTWVudV9PcHRpb24ge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWdyb3c6IDE7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIHBhZGRpbmc6IDEwcHggMjBweCAxMHB4IDMwcHg7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICA+IC5teF9HZW5lcmljRHJvcGRvd25NZW51X09wdGlvbi0tbGFiZWwge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICBmbGV4LWdyb3c6IDE7XG5cbiAgICAgICAgICAgIG1hcmdpbjogMDtcblxuICAgICAgICAgICAgc3BhbjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRwcmltYXJ5LWNvbnRlbnQ7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLWNwZC1mb250LXdlaWdodC1zZW1pYm9sZCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLm14X0dlbmVyaWNEcm9wZG93bk1lbnVfT3B0aW9uLS1oZWFkZXIgPiAubXhfR2VuZXJpY0Ryb3Bkb3duTWVudV9PcHRpb24tLWxhYmVsIHNwYW46Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgZm9udC1zaXplOiAkZm9udC0xNXB4O1xuICAgICAgICB9XG5cbiAgICAgICAgJi5teF9HZW5lcmljRHJvcGRvd25NZW51X09wdGlvbi0taXRlbSB7XG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbWVudS1zZWxlY3RlZC1jb2xvcjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJlthcmlhLWNoZWNrZWQ9XCJ0cnVlXCJdOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDE2cHg7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxNnB4O1xuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAtMjJweDtcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDZweDtcbiAgICAgICAgICAgICAgICBtYXNrLWltYWdlOiB1cmwoXCJAdmVjdG9yLWltL2NvbXBvdW5kLWRlc2lnbi10b2tlbnMvaWNvbnMvY2hlY2suc3ZnXCIpO1xuICAgICAgICAgICAgICAgIG1hc2stc2l6ZTogMTAwJTtcbiAgICAgICAgICAgICAgICBtYXNrLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRwcmltYXJ5LWNvbnRlbnQ7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIvKlxuQ29weXJpZ2h0IDIwMTktMjAyNCBOZXcgVmVjdG9yIEx0ZC5cbkNvcHlyaWdodCAyMDE3IFZlY3RvciBDcmVhdGlvbnMgTHRkXG5Db3B5cmlnaHQgMjAxNiBPcGVuTWFya2V0IEx0ZFxuXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXG4qL1xuXG4ubXhfSG9tZVBhZ2Uge1xuICAgIG1heC13aWR0aDogOTYwcHg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbn1cblxuLm14X0hvbWVQYWdlX2RlZmF1bHQge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBkaXNwbGF5OiBmbGV4O1xuXG4gICAgLm14X0hvbWVQYWdlX2RlZmF1bHRfd3JhcHBlciB7XG4gICAgICAgIG1hcmdpbjogYXV0bztcbiAgICB9XG5cbiAgICBpbWcge1xuICAgICAgICBoZWlnaHQ6IDQ4cHg7XG4gICAgfVxuXG4gICAgaDEge1xuICAgICAgICBmb250LXdlaWdodDogdmFyKC0tY3BkLWZvbnQtd2VpZ2h0LXNlbWlib2xkKTtcbiAgICAgICAgZm9udC1zaXplOiAkZm9udC0zMnB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMS4zNzU7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDRweDtcbiAgICB9XG5cbiAgICBoMiB7XG4gICAgICAgIG1hcmdpbi10b3A6IDRweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLWNwZC1mb250LXdlaWdodC1zZW1pYm9sZCk7XG4gICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtMThweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6ICRmb250LTI1cHg7XG4gICAgICAgIGNvbG9yOiAkbXV0ZWQtZmctY29sb3I7XG4gICAgfVxuXG4gICAgLm14X01pbmlBdmF0YXJVcGxvYWRlciB7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIH1cblxuICAgIC5teF9Ib21lUGFnZV9kZWZhdWx0X2J1dHRvbnMge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBtYXJnaW46IDYwcHggYXV0byAwO1xuICAgICAgICB3aWR0aDogZml0LWNvbnRlbnQ7XG5cbiAgICAgICAgLm14X0FjY2Vzc2libGVCdXR0b24ge1xuICAgICAgICAgICAgcGFkZGluZzogNzNweCA4cHggMTVweDsgLyogdG9wOiAyMHB4IHRvcCBwYWRkaW5nICsgNDBweCBpY29uICsgMTNweCBtYXJnaW4gKi9cblxuICAgICAgICAgICAgd2lkdGg6IDE2MHB4O1xuICAgICAgICAgICAgbWluLWhlaWdodDogMTMycHg7XG4gICAgICAgICAgICBtYXJnaW46IDIwcHg7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgICAgICAgICAgd29yZC1icmVhazogYnJlYWstd29yZDtcbiAgICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG5cbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1jcGQtZm9udC13ZWlnaHQtc2VtaWJvbGQpO1xuICAgICAgICAgICAgZm9udC1zaXplOiAkZm9udC0xNXB4O1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6ICRmb250LTIwcHg7XG4gICAgICAgICAgICBjb2xvcjogI2ZmZjsgLyogb24gYWxsIHRoZW1lcyAqL1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGFjY2VudDtcblxuICAgICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICB0b3A6IDIwcHg7XG4gICAgICAgICAgICAgICAgbGVmdDogNjBweDsgLyogKDE2MHB4LTQwcHgpLzIgKi9cbiAgICAgICAgICAgICAgICB3aWR0aDogNDBweDtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDQwcHg7XG5cbiAgICAgICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmOyAvKiBvbiBhbGwgdGhlbWVzICovXG4gICAgICAgICAgICAgICAgbWFzay1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgICAgICAgICBtYXNrLXNpemU6IGNvbnRhaW47XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYubXhfSG9tZVBhZ2VfYnV0dG9uX3NlbmREbTo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBtYXNrLWltYWdlOiB1cmwoXCIkKHJlcykvaW1nL2VsZW1lbnQtaWNvbnMvZmVlZGJhY2suc3ZnXCIpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLm14X0hvbWVQYWdlX2J1dHRvbl9leHBsb3JlOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIG1hc2staW1hZ2U6IHVybChcIiQocmVzKS9pbWcvZWxlbWVudC1pY29ucy9yb29tbGlzdC9leHBsb3JlLnN2Z1wiKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi5teF9Ib21lUGFnZV9idXR0b25fY3JlYXRlR3JvdXA6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgbWFzay1pbWFnZTogdXJsKFwiJChyZXMpL2ltZy9lbGVtZW50LWljb25zL2dyb3VwLW1lbWJlcnMuc3ZnXCIpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuIiwiLypcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxuQ29weXJpZ2h0IDIwMjIgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cblxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuKi9cblxuLm14X0xhcmdlTG9hZGVyIHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBoZWlnaHQ6IDEwMCU7XG5cbiAgICAubXhfU3Bpbm5lciB7XG4gICAgICAgIGZsZXg6IHVuc2V0O1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDMycHg7XG4gICAgICAgIG1hcmdpbi10b3A6IDMzdmg7XG4gICAgfVxuXG4gICAgLm14X0xhcmdlTG9hZGVyX3RleHQge1xuICAgICAgICBmb250LXNpemU6IDI0cHg7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1jcGQtZm9udC13ZWlnaHQtc2VtaWJvbGQpO1xuICAgICAgICBwYWRkaW5nOiAwIDE2cHg7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cbn1cbiIsIi8qXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cbkNvcHlyaWdodCAyMDIwIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXG5cblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cbiovXG5cbi5teF9NYXRyaXhDaGF0LS13aXRoLWF2YXRhciB7XG4gICAgLm14X0xlZnRQYW5lbCxcbiAgICAubXhfTGVmdFBhbmVsIC5teF9MZWZ0UGFuZWxfcm9vbUxpc3RDb250YWluZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICB9XG59XG5cbi5teF9MZWZ0UGFuZWxfb3V0ZXJXcmFwcGVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgbWF4LXdpZHRoOiA1MCU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgLyogQ29udGFpbiB0aGUgYW1vdW50IG9mIGxheWVycyByZW5kZXJlZCBieSBjb25zdHJhaW5pbmcgd2hhdCBhY3R1YWxseSBuZWVkcyByZS1sYXllcmluZyB2aWEgY3NzICovXG4gICAgY29udGFpbjogbGF5b3V0IHBhaW50O1xufVxuXG4ubXhfTGVmdFBhbmVsX3dyYXBwZXIsXG4ubXhfTGVmdFBhbmVsIHtcbiAgICAtLWNvbGxhcHNlZFdpZHRoOiA2OHB4O1xufVxuXG4ubXhfTGVmdFBhbmVsX3dyYXBwZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBmbGV4OiAxO1xuICAgIGhlaWdodDogMTAwJTsgLyogZW5zdXJlIHNwYWNlIHBhbmVsIGlzIHN0aWxsIHNjcm9sbGFibGUgd2l0aCBhbiBvdXRlciB3cmFwcGVyICovXG5cbiAgICAubXhfTGVmdFBhbmVsX3dyYXBwZXItLXVzZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcm9vbWxpc3QtYmctY29sb3I7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAmW2RhdGEtY29sbGFwc2VkXSB7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IHZhcigtLWNvbGxhcHNlZFdpZHRoKTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLm14X0xlZnRQYW5lbCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHJvb21saXN0LWJnLWNvbG9yO1xuXG4gICAgLyogQ3JlYXRlIGEgcm93LWJhc2VkIGZsZXhib3ggZm9yIHRoZSBzcGFjZSBwYW5lbCBhbmQgdGhlIHJvb20gbGlzdCAqL1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgY29udGFpbjogY29udGVudDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZmxleC1ncm93OiAxO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICAvKiBOb3RlOiBUaGUgJ3Jvb20gbGlzdCcgaW4gdGhpcyBjb250ZXh0IGlzIGFjdHVhbGx5IGV2ZXJ5dGhpbmcgdGhhdCBpc24ndCB0aGUgdGFnICovXG4gICAgLyogcGFuZWwsIHN1Y2ggYXMgdGhlIG1lbnUgb3B0aW9ucywgYnJlYWRjcnVtYnMsIGZpbHRlcmluZywgZXRjICovXG4gICAgLm14X0xlZnRQYW5lbF9yb29tTGlzdENvbnRhaW5lciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRyb29tbGlzdC1iZy1jb2xvcjtcbiAgICAgICAgZmxleDogMSAwIDA7XG4gICAgICAgIG1pbi13aWR0aDogMDtcbiAgICAgICAgLyogQ3JlYXRlIGFub3RoZXIgZmxleGJveCAodGhpcyB0aW1lIGEgY29sdW1uKSBmb3IgdGhlIHJvb20gbGlzdCBjb21wb25lbnRzICovXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cbiAgICAgICAgLm14X0xlZnRQYW5lbF91c2VySGVhZGVyIHtcbiAgICAgICAgICAgIC8qIDEycHggdG9wLCAxMnB4IHNpZGVzLCAyMHB4IGJvdHRvbSAodXNpbmcgMTNweCBib3R0b20gdG8gYWNjb3VudFxuICAgICAgICAgICAgICogZm9yIGludGVybmFsIHdoaXRlc3BhY2UgaW4gdGhlIGJyZWFkY3J1bWJzKVxuICAgICAgICAgICAgICovXG4gICAgICAgICAgICBwYWRkaW5nOiAxMnB4O1xuICAgICAgICAgICAgZmxleC1zaHJpbms6IDA7IC8qIHRvIGNvbnZpbmNlIHNhZmFyaSdzIGxheW91dCBlbmdpbmUgdGhlIGZsZXhib3ggaXMgZmluZSAqL1xuXG4gICAgICAgICAgICAvKiBDcmVhdGUgYW5vdGhlciBmbGV4Ym94IGNvbHVtbiBmb3IgdGhlIHJvd3MgdG8gc3RhY2sgd2l0aGluICovXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgfVxuXG4gICAgICAgIC5teF9MZWZ0UGFuZWxfYnJlYWRjcnVtYnNDb250YWluZXIge1xuICAgICAgICAgICAgb3ZlcmZsb3cteTogaGlkZGVuO1xuICAgICAgICAgICAgb3ZlcmZsb3cteDogc2Nyb2xsO1xuICAgICAgICAgICAgbWFyZ2luOiAxMnB4IDEycHggMCAxMnB4O1xuICAgICAgICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgICAgICAgICAvKiBDcmVhdGUgeWV0IGFub3RoZXIgZmxleGJveCwgdGhpcyB0aW1lIHdpdGhpbiB0aGUgcm93LCB0byBlbnN1cmUgaXRlbXMgc3RheSAqL1xuICAgICAgICAgICAgLyogYWxpZ25lZCBjb3JyZWN0bHkuIFRoaXMgaXMgYWxzbyBhIHJvdy1iYXNlZCBmbGV4Ym94LiAqL1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICBjb250YWluOiBjb250ZW50O1xuXG4gICAgICAgICAgICAmLm14X0luZGljYXRvclNjcm9sbGJhcl9sZWZ0T3ZlcmZsb3cge1xuICAgICAgICAgICAgICAgIG1hc2staW1hZ2U6IGxpbmVhci1ncmFkaWVudCg5MGRlZywgdHJhbnNwYXJlbnQsIGJsYWNrIDUlKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi5teF9JbmRpY2F0b3JTY3JvbGxiYXJfcmlnaHRPdmVyZmxvdyB7XG4gICAgICAgICAgICAgICAgbWFzay1pbWFnZTogbGluZWFyLWdyYWRpZW50KDkwZGVnLCBibGFjaywgYmxhY2sgOTUlLCB0cmFuc3BhcmVudCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYubXhfSW5kaWNhdG9yU2Nyb2xsYmFyX3JpZ2h0T3ZlcmZsb3cubXhfSW5kaWNhdG9yU2Nyb2xsYmFyX2xlZnRPdmVyZmxvdyB7XG4gICAgICAgICAgICAgICAgbWFzay1pbWFnZTogbGluZWFyLWdyYWRpZW50KDkwZGVnLCB0cmFuc3BhcmVudCwgYmxhY2sgNSUsIGJsYWNrIDk1JSwgdHJhbnNwYXJlbnQpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLm14X0xlZnRQYW5lbF9maWx0ZXJDb250YWluZXIge1xuICAgICAgICAgICAgbWFyZ2luOiAwIDEycHg7XG4gICAgICAgICAgICBwYWRkaW5nOiAxMnB4IDAgOHB4O1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRxdWluYXJ5LWNvbnRlbnQ7XG5cbiAgICAgICAgICAgIGZsZXgtc2hyaW5rOiAwOyAvKiB0byBjb252aW5jZSBzYWZhcmkncyBsYXlvdXQgZW5naW5lIHRoZSBmbGV4Ym94IGlzIGZpbmUgKi9cblxuICAgICAgICAgICAgLyogQ3JlYXRlIGEgZmxleGJveCB0byBvcmdhbml6ZSB0aGUgaW5wdXRzICovXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgICAgICAgICAgJiArIC5teF9Sb29tTGlzdEhlYWRlciB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMTJweDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLm14X0xlZnRQYW5lbF9kaWFsUGFkQnV0dG9uIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMzJweDtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDMycHg7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4O1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRwYW5lbC1hY3Rpb25zO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogOHB4O1xuXG4gICAgICAgICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgICB0b3A6IDhweDtcbiAgICAgICAgICAgICAgICAgICAgbGVmdDogOHB4O1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTZweDtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxNnB4O1xuICAgICAgICAgICAgICAgICAgICBtYXNrLWltYWdlOiB1cmwoXCIkKHJlcykvaW1nL2VsZW1lbnQtaWNvbnMvY2FsbC9kaWFscGFkLnN2Z1wiKTtcbiAgICAgICAgICAgICAgICAgICAgbWFzay1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICBtYXNrLXNpemU6IGNvbnRhaW47XG4gICAgICAgICAgICAgICAgICAgIG1hc2stcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRzZWNvbmRhcnktY29udGVudDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5teF9MZWZ0UGFuZWxfZXhwbG9yZUJ1dHRvbixcbiAgICAgICAgICAgIC5teF9MZWZ0UGFuZWxfcmVjZW50c0J1dHRvbiB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDMycHg7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAzMnB4O1xuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcGFuZWwtYWN0aW9ucztcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDhweDtcblxuICAgICAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgICAgdG9wOiA4cHg7XG4gICAgICAgICAgICAgICAgICAgIGxlZnQ6IDhweDtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDE2cHg7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogMTZweDtcbiAgICAgICAgICAgICAgICAgICAgbWFzay1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICBtYXNrLXNpemU6IGNvbnRhaW47XG4gICAgICAgICAgICAgICAgICAgIG1hc2stcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRzZWNvbmRhcnktY29udGVudDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRlcnRpYXJ5LWNvbnRlbnQ7XG5cbiAgICAgICAgICAgICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAubXhfTGVmdFBhbmVsX2V4cGxvcmVCdXR0b246OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgbWFzay1pbWFnZTogdXJsKFwiJChyZXMpL2ltZy9lbGVtZW50LWljb25zL3Jvb21saXN0L2V4cGxvcmUuc3ZnXCIpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAubXhfTGVmdFBhbmVsX3JlY2VudHNCdXR0b246OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgbWFzay1pbWFnZTogdXJsKFwiQHZlY3Rvci1pbS9jb21wb3VuZC1kZXNpZ24tdG9rZW5zL2ljb25zL3RpbWUuc3ZnXCIpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLm14X1Jvb21MaXN0SGVhZGVyOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDEycHg7XG4gICAgICAgIH1cblxuICAgICAgICAubXhfTGVmdFBhbmVsX3Jvb21MaXN0V3JhcHBlciB7XG4gICAgICAgICAgICAvKiBNYWtlIHRoZSB5LXNjcm9sbGJhciBtb3JlIHJlc3BvbnNpdmUgKi9cbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDJweDtcbiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAxMHB4OyAvKiBzbyB3ZSdyZSBub3QgdXAgYWdhaW5zdCB0aGUgc2VhcmNoL2ZpbHRlciAqL1xuICAgICAgICAgICAgZmxleDogMSAwIDA7IC8qIG5lZWRlZCBpbiBTYWZhcmkgdG8gcHJvcGVybHkgc2V0IGZsZXgtYmFzaXMgKi9cblxuICAgICAgICAgICAgJi5teF9MZWZ0UGFuZWxfcm9vbUxpc3RXcmFwcGVyX3N0aWNreUJvdHRvbSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDMycHg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYubXhfTGVmdFBhbmVsX3Jvb21MaXN0V3JhcHBlcl9zdGlja3lUb3Age1xuICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiAzMnB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLm14X0xlZnRQYW5lbF9hY3R1YWxSb29tTGlzdENvbnRhaW5lciB7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IC8qIGZvciBzdGlja3kgaGVhZGVycyAqL1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlOyAvKiBlbnN1cmUgc2Nyb2xsaW5nIHN0aWxsIHdvcmtzICovXG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiBUaGVzZSBzdHlsZXMgb3ZlcnJpZGUgdGhlIGRlZmF1bHRzIGZvciB0aGUgbWluaW1pemVkICg2NnB4KSBsYXlvdXQgKi9cbiAgICAmLm14X0xlZnRQYW5lbF9taW5pbWl6ZWQge1xuICAgICAgICBmbGV4LWdyb3c6IDA7XG4gICAgICAgIG1pbi13aWR0aDogdW5zZXQ7XG4gICAgICAgIHdpZHRoOiB1bnNldCAhaW1wb3J0YW50O1xuXG4gICAgICAgIC5teF9MZWZ0UGFuZWxfcm9vbUxpc3RDb250YWluZXIge1xuICAgICAgICAgICAgd2lkdGg6IHZhcigtLWNvbGxhcHNlZFdpZHRoKTtcblxuICAgICAgICAgICAgLm14X0xlZnRQYW5lbF91c2VySGVhZGVyIHtcbiAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAubXhfTGVmdFBhbmVsX2ZpbHRlckNvbnRhaW5lciB7XG4gICAgICAgICAgICAgICAgLyogT3JnYW5pemUgdGhlIGZsZXhib3ggaW50byBhIGNlbnRlcmVkIGNvbHVtbiBsYXlvdXQgKi9cbiAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG4gICAgICAgICAgICAgICAgLm14X0xlZnRQYW5lbF9kaWFsUGFkQnV0dG9uIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDhweDtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLm14X0xlZnRQYW5lbF9leHBsb3JlQnV0dG9uLFxuICAgICAgICAgICAgICAgIC5teF9MZWZ0UGFuZWxfcmVjZW50c0J1dHRvbiB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiA4cHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuIiwiLypcbkNvcHlyaWdodCAyMDE5LTIwMjQgTmV3IFZlY3RvciBMdGQuXG5cblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cbiovXG5cbi5teF9NYWluU3BsaXQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBtaW4td2lkdGg6IDA7XG4gICAgbWluLWhlaWdodDogMDtcbiAgICBoZWlnaHQ6IDEwMCU7XG59XG5cbi5teF9NYWluU3BsaXQgPiAubXhfUmlnaHRQYW5lbF9SZXNpemVXcmFwcGVyIHtcbiAgICAmOmhvdmVyIC5teF9SZXNpemVIYW5kbGUtLWhvcml6b250YWw6OmJlZm9yZSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTE1MCUsIC01MCUpO1xuXG4gICAgICAgIGhlaWdodDogNjRweDsgLyogdG8gbWF0Y2ggd2lkdGggb2YgdGhlIG9uZXMgb24gcm9vbWxpc3QgKi9cbiAgICAgICAgd2lkdGg6IDRweDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4O1xuXG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG5cbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHByaW1hcnktY29udGVudDtcbiAgICAgICAgb3BhY2l0eTogMC44O1xuICAgIH1cbn1cbiIsIi8qXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cbkNvcHlyaWdodCAyMDE1LCAyMDE2IE9wZW5NYXJrZXQgTHRkXG5cblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cbiovXG5cbi5teF9NYXRyaXhDaGF0X3NwbGFzaCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGhlaWdodDogMTAwJTtcbn1cblxuLm14X01hdHJpeENoYXRfd3JhcHBlciB7XG4gICAgZGlzcGxheTogZmxleDtcblxuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbn1cblxuLm14X01hdHJpeFRvb2xiYXIge1xuICAgIG9yZGVyOiAxO1xuXG4gICAgaGVpZ2h0OiA0MHB4O1xufVxuXG4ubXhfTWF0cml4Q2hhdCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcblxuICAgIGRpc3BsYXk6IGZsZXg7XG5cbiAgICBmbGV4OiAxO1xuICAgIG1pbi1oZWlnaHQ6IDA7XG59XG5cbi8qIG5vdCB0aGUgbGVmdCBwYW5lbCwgYW5kIG5vdCB0aGUgcmVzaXplIGhhbmRsZSwgc28gdGhlIHJvb212aWV3IGFuZCBmcmllbmRzICovXG4ubXhfTWF0cml4Q2hhdCA+IDpub3QoLm14X0xlZnRQYW5lbCk6bm90KC5teF9TcGFjZVBhbmVsKTpub3QoLm14X1Jlc2l6ZUhhbmRsZSk6bm90KC5teF9MZWZ0UGFuZWxfb3V0ZXJXcmFwcGVyKSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG5cbiAgICBmbGV4OiAxIDEgMDtcbiAgICBtaW4td2lkdGg6IDA7XG5cbiAgICAvKiBUbyBmaXggaHR0cHM6Ly9naXRodWIuY29tL3ZlY3Rvci1pbS9lbGVtZW50LXdlYi9pc3N1ZXMvMzI5OCB3aGVyZSBTYWZhcmlcbiAgICAgICBuZWVkZWQgaGVpZ2h0IDEwMCUgYWxsIHRoZSB3YXkgZG93biB0byB0aGUgSG9tZVBhZ2UuIEhlaWdodCBkb2VzIG5vdFxuICAgICAgIGhhdmUgdG8gYmUgYXV0bywgZW1waXJpY2FsbHkuXG4gICAgKi9cbiAgICBoZWlnaHQ6IDEwMCU7XG59XG5cbi5teF9NYXRyaXhDaGF0ID4gLm14X1Jlc2l6ZUhhbmRsZS0taG9yaXpvbnRhbDpob3ZlciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcblxuICAgICAgICBoZWlnaHQ6IDY0cHg7IC8qIHRvIG1hdGNoIHdpZHRoIG9mIHRoZSBvbmVzIG9uIHJvb21saXN0ICovXG4gICAgICAgIHdpZHRoOiA0cHg7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDtcblxuICAgICAgICBjb250ZW50OiBcIiBcIjtcblxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJpbWFyeS1jb250ZW50O1xuICAgICAgICBvcGFjaXR5OiAwLjg7XG4gICAgfVxufVxuIiwiLypcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxuQ29weXJpZ2h0IDIwMjMgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cblxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuKi9cblxuLm14X01lc3NhZ2VQYW5lbF9teVJlYWRNYXJrZXIge1xuICAgIGhlaWdodDogMDtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBib3JkZXI6IDA7XG5cbiAgICBociB7XG4gICAgICAgIGJvcmRlci10b3A6IHNvbGlkIDFweCAkYWNjZW50O1xuICAgICAgICBib3JkZXItYm90dG9tOiBzb2xpZCAxcHggJGFjY2VudDtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB0b3A6IC0xcHg7XG4gICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgIHdpbGwtY2hhbmdlOiB3aWR0aDtcbiAgICAgICAgdHJhbnNpdGlvbjpcbiAgICAgICAgICAgIHdpZHRoIDQwMG1zIGVhc2VpbnNpbmUgMXMsXG4gICAgICAgICAgICBvcGFjaXR5IDQwMG1zIGVhc2VpbnNpbmUgMXM7XG4gICAgICAgIHdpZHRoOiA5OSU7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxufVxuIiwiLypcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxuQ29weXJpZ2h0IDIwMjAgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cblxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuKi9cblxuLm14X05vblVyZ2VudFRvYXN0Q29udGFpbmVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiAzMHB4O1xuICAgIGxlZnQ6IDI4cHg7XG4gICAgei1pbmRleDogMTAxOyAvKiBzYW1lIGxldmVsIGFzIG90aGVyIHRvYXN0cyAqL1xuXG4gICAgLm14X05vblVyZ2VudFRvYXN0Q29udGFpbmVyX3RvYXN0IHtcbiAgICAgICAgcGFkZGluZzogMTBweCAxMnB4O1xuICAgICAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgICAgIHdpZHRoOiAzMjBweDtcbiAgICAgICAgZm9udC1zaXplOiAkZm9udC0xM3B4O1xuICAgICAgICBtYXJnaW4tdG9wOiA4cHg7XG5cbiAgICAgICAgLyogV2UgZG9uJ3QgdXNlIHZhcmlhYmxlcyBvbiB0aGUgY29sb3VycyBiZWNhdXNlIHdlIHdhbnQgaXQgdG8gYmUgdGhlIHNhbWUgKi9cbiAgICAgICAgLyogaW4gYWxsIHRoZW1lcy4gKi9cbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzE3MTkxYztcbiAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgfVxufVxuIiwiLypcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxuQ29weXJpZ2h0IDIwMjEgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cblxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuKi9cblxuLm14X1F1aWNrU2V0dGluZ3NCdXR0b24ge1xuICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luOiAxMnB4IGF1dG87XG4gICAgY29sb3I6ICRzZWNvbmRhcnktY29udGVudDtcbiAgICBtaW4td2lkdGg6IDMycHg7XG4gICAgbWluLWhlaWdodDogMzJweDtcbiAgICBsaW5lLWhlaWdodDogMzJweDtcblxuICAgICYuZXhwYW5kZWQge1xuICAgICAgICBtYXJnaW4tbGVmdDogMjBweDtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiA0NHB4OyAvKiBhbGlnbiB3aXRoIHRvZ2dsZSBjb2xsYXBzZSBidXR0b24gdGV4dCAqL1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiA4cHg7XG4gICAgfVxuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB3aWR0aDogMzJweDtcbiAgICAgICAgaGVpZ2h0OiAzMnB4O1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBtYXNrLWltYWdlOiB1cmwoXCJAdmVjdG9yLWltL2NvbXBvdW5kLWRlc2lnbi10b2tlbnMvaWNvbnMvc2V0dGluZ3Mtc29saWQuc3ZnXCIpO1xuICAgICAgICBtYXNrLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICBtYXNrLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICAgIG1hc2stc2l6ZTogMjRweDtcbiAgICAgICAgYmFja2dyb3VuZDogJHNlY29uZGFyeS1jb250ZW50O1xuICAgIH1cblxuICAgICY6bm90KC5leHBhbmRlZCk6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcXVhdGVybmFyeS1jb250ZW50O1xuXG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJpbWFyeS1jb250ZW50O1xuICAgICAgICB9XG4gICAgfVxufVxuXG4ubXhfUXVpY2tTZXR0aW5nc0J1dHRvbl9Db250ZXh0TWVudVdyYXBwZXIgLm14X0NvbnRleHR1YWxNZW51IHtcbiAgICBwYWRkaW5nOiAxNnB4O1xuICAgIHdpZHRoOiBtYXgtY29udGVudDtcbiAgICBtaW4td2lkdGg6IDIwMHB4O1xuICAgIGNvbnRhaW46IHVuc2V0OyAvKiBsZXQgdGhlIGRyb3Bkb3duIHBhaW50IGJleW9uZCB0aGUgY29udGV4dCBtZW51ICovXG5cbiAgICA+IGRpdiA+IGgyIHtcbiAgICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLWNwZC1mb250LXdlaWdodC1zZW1pYm9sZCk7XG4gICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtMTVweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6ICRmb250LTI0cHg7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jcGQtY29sb3ItdGV4dC1zZWNvbmRhcnkpO1xuICAgICAgICBtYXJnaW46IDAgMCAxNnB4O1xuICAgIH1cblxuICAgIC5teF9BY2Nlc3NpYmxlQnV0dG9uX2hhc0tpbmQge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbWFyZ2luLXRvcDogNHB4O1xuICAgIH1cblxuICAgID4gZGl2ID4gaDQge1xuICAgICAgICBmb250LXdlaWdodDogdmFyKC0tY3BkLWZvbnQtd2VpZ2h0LXNlbWlib2xkKTtcbiAgICAgICAgZm9udC1zaXplOiAkZm9udC0xMnB4O1xuICAgICAgICBsaW5lLWhlaWdodDogJGZvbnQtMTVweDtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgY29sb3I6IHZhcigtLWNwZC1jb2xvci10ZXh0LXNlY29uZGFyeSk7XG4gICAgICAgIG1hcmdpbjogMjBweCAwIDEycHg7XG4gICAgfVxuXG4gICAgLm14X1F1aWNrU2V0dGluZ3NCdXR0b25fcGluVG9TaWRlYmFySGVhZGluZyB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMjRweDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIH1cblxuICAgIC5teF9DaGVja2JveCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDhweDtcbiAgICB9XG5cbiAgICAubXhfUXVpY2tTZXR0aW5nc0J1dHRvbl9mYXZvdXJpdGVzQ2hlY2tib3gsXG4gICAgLm14X1F1aWNrU2V0dGluZ3NCdXR0b25fcGVvcGxlQ2hlY2tib3gge1xuICAgICAgICAubXhfQ2hlY2tib3hfYmFja2dyb3VuZCArIGRpdiB7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDIycHg7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogNnB4O1xuICAgICAgICAgICAgZm9udC1zaXplOiAkZm9udC0xNXB4O1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6ICRmb250LTI0cHg7XG4gICAgICAgICAgICBjb2xvcjogdmFyKC0tY3BkLWNvbG9yLXRleHQtcHJpbWFyeSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubXhfUXVpY2tTZXR0aW5nc0J1dHRvbl9tb3JlT3B0aW9uc0J1dHRvbiB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMjJweDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDIycHg7XG4gICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtMTVweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6ICRmb250LTI0cHg7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jcGQtY29sb3ItdGV4dC1wcmltYXJ5KTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxNnB4O1xuICAgIH1cbn1cblxuLm14X1F1aWNrU2V0dGluZ3NCdXR0b25faWNvbiB7XG4gICAgLy8gVE9ETyByZW1vdmUgd2hlbiBhbGwgaWNvbnMgaGF2ZSBmaWxsPWN1cnJlbnRDb2xvclxuICAgICoge1xuICAgICAgICBmaWxsOiAkc2Vjb25kYXJ5LWNvbnRlbnQ7XG4gICAgfVxuICAgIGNvbG9yOiAkc2Vjb25kYXJ5LWNvbnRlbnQ7XG4gICAgd2lkdGg6IDE2cHg7XG4gICAgaGVpZ2h0OiAxNnB4O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiAwO1xuICAgIHRvcDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbn1cbiIsIi8qXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cbkNvcHlyaWdodCAyMDIwIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXG5Db3B5cmlnaHQgMjAxNSwgMjAxNiBPcGVuTWFya2V0IEx0ZFxuXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXG4qL1xuXG4ubXhfUmlnaHRQYW5lbCB7XG4gICAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAkc2VwYXJhdG9yO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGNvbnRhaW46IHN0cmljdDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jcGQtY29sb3ItYmctY2FudmFzLWRlZmF1bHQpO1xuXG4gICAgLm14X1Jvb21WaWV3X01lc3NhZ2VMaXN0IHtcbiAgICAgICAgcGFkZGluZzogMTRweCAxOHB4OyAvKiB0b3AgYW5kIGJvdHRvbSBpcyA0cHggc21hbGxlciB0byBiYWxhbmNlIHdpdGggdGhlIHBhZGRpbmcgc2V0IGFib3ZlICovXG4gICAgfVxufVxuXG4vKiogRml4bWUgLSBmYWN0b3IgdGhpcyBvdXQgd2l0aCB0aGUgbWFpbiBoZWFkZXIgKiovXG5cbi5teF9SaWdodFBhbmVsX3RocmVhZHNCdXR0b246OmJlZm9yZSB7XG4gICAgbWFzay1pbWFnZTogdXJsKFwiQHZlY3Rvci1pbS9jb21wb3VuZC1kZXNpZ24tdG9rZW5zL2ljb25zL3RocmVhZHMtc29saWQuc3ZnXCIpO1xufVxuXG4ubXhfUmlnaHRQYW5lbF9ub3RpZnNCdXR0b246OmJlZm9yZSB7XG4gICAgbWFzay1pbWFnZTogdXJsKFwiJChyZXMpL2ltZy9lbGVtZW50LWljb25zL25vdGlmaWNhdGlvbnMuc3ZnXCIpO1xuICAgIG1hc2stcG9zaXRpb246IGNlbnRlcjtcbn1cblxuLm14X1JpZ2h0UGFuZWxfcm9vbVN1bW1hcnlCdXR0b246OmJlZm9yZSB7XG4gICAgbWFzay1pbWFnZTogdXJsKFwiQHZlY3Rvci1pbS9jb21wb3VuZC1kZXNpZ24tdG9rZW5zL2ljb25zL2luZm8tc29saWQuc3ZnXCIpO1xuICAgIG1hc2stcG9zaXRpb246IGNlbnRlcjtcbn1cblxuLm14X1JpZ2h0UGFuZWxfcGlubmVkTWVzc2FnZXNCdXR0b24ge1xuICAgICY6OmJlZm9yZSB7XG4gICAgICAgIG1hc2staW1hZ2U6IHVybChcIiQocmVzKS9pbWcvZWxlbWVudC1pY29ucy9yb29tL3Bpbi5zdmdcIik7XG4gICAgICAgIG1hc2stcG9zaXRpb246IGNlbnRlcjtcbiAgICB9XG59XG5cbi5teF9SaWdodFBhbmVsX3RpbWVsaW5lQ2FyZEJ1dHRvbiB7XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgICAgbWFzay1pbWFnZTogdXJsKFwiJChyZXMpL2ltZy9lbGVtZW50LWljb25zL2ZlZWRiYWNrLnN2Z1wiKTtcbiAgICAgICAgbWFzay1wb3NpdGlvbjogY2VudGVyO1xuICAgIH1cbn1cblxuLm14X1JpZ2h0UGFuZWwgLm14X01lbWJlckxpc3QsXG4ubXhfUmlnaHRQYW5lbCAubXhfTWVtYmVySW5mbyB7XG4gICAgb3JkZXI6IDI7XG4gICAgZmxleDogMSAxIDA7XG59XG5cbi5teF9SaWdodFBhbmVsIC5teF9Sb29tVmlld19tZXNzYWdlUGFuZWxTcGlubmVyIHtcbiAgICBvcmRlcjogMjtcbiAgICBtYXJnaW46IGF1dG87XG59XG4iLCIvKlxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXG5Db3B5cmlnaHQgMjAyMCBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxuXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXG4qL1xuXG4vKiBOb3RlOiB0aGlzIGNvbXBvbmVudCBleHBlY3RzIHRvIGJlIGNvbnRhaW5lZCB3aXRoaW4gYSBmbGV4Ym94ICovXG4ubXhfUm9vbVNlYXJjaCB7XG4gICAgZmxleDogMTtcbiAgICBtaW4td2lkdGg6IDA7XG4gICAgYm9yZGVyLXJhZGl1czogOHB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRwYW5lbC1hY3Rpb25zO1xuICAgIC8qIGtlZXAgYm9yZGVyIHRoaWNrbmVzcyBjb25zaXN0ZW50IHRvIHByZXZlbnQgbW92ZW1lbnQgKi9cbiAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBoZWlnaHQ6IDI4cHg7XG4gICAgcGFkZGluZzogMXB4O1xuXG4gICAgLyogQ3JlYXRlIGEgZmxleGJveCBmb3IgdGhlIGljb25zIChlYXNpZXIgdG8gbWFuYWdlKSAqL1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgIC5teF9Sb29tU2VhcmNoX2ljb24ge1xuICAgICAgICB3aWR0aDogMjBweDtcbiAgICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgICAgICBtYXNrLWltYWdlOiB1cmwoXCJAdmVjdG9yLWltL2NvbXBvdW5kLWRlc2lnbi10b2tlbnMvaWNvbnMvc2VhcmNoLnN2Z1wiKTtcbiAgICAgICAgbWFzay1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgbWFzay1zaXplOiBjb250YWluO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2Vjb25kYXJ5LWNvbnRlbnQ7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiB2YXIoLS1jcGQtc3BhY2UtMngpO1xuICAgICAgICBmbGV4LXNocmluazogMDtcbiAgICB9XG5cbiAgICAubXhfUm9vbVNlYXJjaF9zcG90bGlnaHRUcmlnZ2VyVGV4dCB7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jcGQtY29sb3ItdGV4dC1zZWNvbmRhcnkpO1xuICAgICAgICBmbGV4OiAxO1xuICAgICAgICBtaW4td2lkdGg6IDA7XG4gICAgICAgIC8qIHRoZSBmb2xsb3dpbmcgcnVsZXMgYXJlIHRvIG1hdGNoIHRoYXQgb2YgYSByZWFsIGlucHV0IGZpZWxkICovXG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIG1hcmdpbjogOXB4O1xuICAgICAgICBmb250OiB2YXIoLS1jcGQtZm9udC1ib2R5LXNtLXNlbWlib2xkKTtcbiAgICB9XG5cbiAgICAubXhfUm9vbVNlYXJjaF9zaG9ydGN1dFByb21wdCB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDZweDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHBhbmVsLWFjdGlvbnM7XG4gICAgICAgIHBhZGRpbmc6IDJweCA0cHg7XG4gICAgICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgICAgICBmb250LXNpemU6ICRmb250LTEycHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAkZm9udC0xNXB4O1xuICAgICAgICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLWNwZC1mb250LXdlaWdodC1zZW1pYm9sZCk7XG4gICAgICAgIGNvbG9yOiAkbGlnaHQtZmctY29sb3I7XG4gICAgICAgIG1hcmdpbi1yaWdodDogNnB4O1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICB9XG5cbiAgICAmLm14X1Jvb21TZWFyY2hfbWluaW1pemVkIHtcbiAgICAgICAgaGVpZ2h0OiAzMnB4O1xuICAgICAgICBtaW4taGVpZ2h0OiAzMnB4O1xuICAgICAgICB3aWR0aDogMzJweDtcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcblxuICAgICAgICAubXhfUm9vbVNlYXJjaF9pY29uIHtcbiAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICAgICAgcGFkZGluZzogMXB4O1xuICAgICAgICAgICAgYWxpZ24tc2VsZjogY2VudGVyO1xuICAgICAgICB9XG5cbiAgICAgICAgLm14X1Jvb21TZWFyY2hfc2hvcnRjdXRQcm9tcHQge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICY6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGVydGlhcnktY29udGVudDtcblxuICAgICAgICAubXhfUm9vbVNlYXJjaF9zcG90bGlnaHRUcmlnZ2VyVGV4dCB7XG4gICAgICAgICAgICBjb2xvcjogJGJhY2tncm91bmQ7XG4gICAgICAgIH1cblxuICAgICAgICAubXhfUm9vbVNlYXJjaF9zaG9ydGN1dFByb21wdCB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcbiAgICAgICAgICAgIGNvbG9yOiAkc2Vjb25kYXJ5LWNvbnRlbnQ7XG4gICAgICAgIH1cblxuICAgICAgICAubXhfUm9vbVNlYXJjaF9pY29uIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiLypcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxuQ29weXJpZ2h0IDIwMTUsIDIwMTYgT3Blbk1hcmtldCBMdGRcblxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuKi9cblxuLm14X1Jvb21TdGF0dXNCYXI6bm90KC5teF9Sb29tU3RhdHVzQmFyX3Vuc2VudE1lc3NhZ2VzKSB7XG4gICAgbWFyZ2luLWxlZnQ6IDY1cHg7XG4gICAgbWluLWhlaWdodDogNTBweDtcbn1cblxuLm14X1Jvb21TdGF0dXNCYXJfdHlwaW5nSW5kaWNhdG9yQXZhdGFycyB7XG4gICAgd2lkdGg6IDUycHg7XG4gICAgbWFyZ2luLXRvcDogLTFweDtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xufVxuXG4ubXhfUm9vbVN0YXR1c0Jhcl90eXBpbmdJbmRpY2F0b3JSZW1haW5pbmcge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBjb2xvcjogI2FjYWNhYztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGRkO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICRiYWNrZ3JvdW5kO1xuICAgIGJvcmRlci1yYWRpdXM6IDQwcHg7XG4gICAgd2lkdGg6IDI0cHg7XG4gICAgaGVpZ2h0OiAyNHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAkZm9udC0yNHB4O1xuICAgIGZvbnQtc2l6ZTogMC44ZW07XG4gICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xufVxuXG4ubXhfUm9vbVN0YXR1c0Jhcl9zY3JvbGxEb3duSW5kaWNhdG9yIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgcGFkZGluZy1sZWZ0OiAxcHg7XG59XG5cbi5teF9Sb29tU3RhdHVzQmFyX3VucmVhZE1lc3NhZ2VzQmFyIHtcbiAgICBwYWRkaW5nLXRvcDogMTBweDtcbiAgICBjb2xvcjogJGFsZXJ0O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLm14X1Jvb21TdGF0dXNCYXJfY29ubmVjdGlvbkxvc3RCYXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG5cbiAgICBtYXJnaW4tdG9wOiAxOXB4O1xuICAgIG1pbi1oZWlnaHQ6IDU4cHg7XG59XG5cbi5teF9Sb29tU3RhdHVzQmFyX3Vuc2VudE1lc3NhZ2VzIHtcbiAgICA+IGRpdltyb2xlPVwiYWxlcnRcIl0ge1xuICAgICAgICAvKiBjaGVhdCBzb21lIGJhc2ljIGFsaWdubWVudCAqL1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBtaW4taGVpZ2h0OiA3MHB4O1xuICAgICAgICBtYXJnaW46IDEycHg7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMTZweDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGhlYWRlci1wYW5lbC1iZy1jb2xvcjtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAgIH1cblxuICAgIC5teF9Sb29tU3RhdHVzQmFyX3Vuc2VudEJhZGdlIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMnB4O1xuXG4gICAgICAgIC5teF9Ob3RpZmljYXRpb25CYWRnZSB7XG4gICAgICAgICAgICAvKiBPdmVycmlkZSBzaXppbmcgZnJvbSB0aGUgZGVmYXVsdCBiYWRnZSAqL1xuICAgICAgICAgICAgd2lkdGg6IDI0cHggIWltcG9ydGFudDtcbiAgICAgICAgICAgIGhlaWdodDogMjRweCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMjRweCAhaW1wb3J0YW50O1xuXG4gICAgICAgICAgICAubXhfTm90aWZpY2F0aW9uQmFkZ2VfY291bnQge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtMTZweCAhaW1wb3J0YW50OyAvKiBvdmVycmlkZSBkZWZhdWx0ICovXG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubXhfUm9vbVN0YXR1c0Jhcl91bnNlbnRUaXRsZSB7XG4gICAgICAgIGNvbG9yOiAkYWxlcnQ7XG4gICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtMTVweDtcbiAgICB9XG5cbiAgICAubXhfUm9vbVN0YXR1c0Jhcl91bnNlbnREZXNjcmlwdGlvbiB7XG4gICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtMTJweDtcbiAgICB9XG5cbiAgICAubXhfUm9vbVN0YXR1c0Jhcl91bnNlbnRCdXR0b25CYXIge1xuICAgICAgICBmbGV4LWdyb3c6IDE7XG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDIycHg7XG4gICAgICAgIGNvbG9yOiAkbXV0ZWQtZmctY29sb3I7XG5cbiAgICAgICAgLm14X0FjY2Vzc2libGVCdXR0b24ge1xuICAgICAgICAgICAgcGFkZGluZzogNXB4IDEwcHg7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDMwcHg7IC8qIDE4cHggZm9yIHRoZSBpY29uLCAycHggbWFyZ2luIHRvIHRleHQsIDEwcHggcmVndWxhciBwYWRkaW5nICovXG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICB1c2VyLXNlbGVjdDogbm9uZTtcblxuICAgICAgICAgICAgJjpudGgtY2hpbGQoMikge1xuICAgICAgICAgICAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgJHJlc2VuZC1idXR0b24tZGl2aWRlci1jb2xvcjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICBsZWZ0OiAxMHB4OyAvKiBpbnNldCBmb3IgcmVndWxhciBidXR0b24gcGFkZGluZyAqL1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRtdXRlZC1mZy1jb2xvcjtcbiAgICAgICAgICAgICAgICBtYXNrLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgICAgICAgIG1hc2stcG9zaXRpb246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBtYXNrLXNpemU6IGNvbnRhaW47XG4gICAgICAgICAgICAgICAgd2lkdGg6IDE4cHg7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxOHB4O1xuICAgICAgICAgICAgICAgIHRvcDogNTAlOyAvKiB0ZXh0IHNpemVzIGFyZSBkeW5hbWljICovXG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLm14X1Jvb21TdGF0dXNCYXJfdW5zZW50Q2FuY2VsQWxsQnRuOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIG1hc2staW1hZ2U6IHVybChcIkB2ZWN0b3ItaW0vY29tcG91bmQtZGVzaWduLXRva2Vucy9pY29ucy9kZWxldGUuc3ZnXCIpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLm14X1Jvb21TdGF0dXNCYXJfdW5zZW50UmV0cnkge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMzRweDsgLyogMjhweCBmcm9tIGFib3ZlLCBidXQgKzZweCB0byBhY2NvdW50IGZvciB0aGUgd2lkZXIgaWNvbiAqL1xuXG4gICAgICAgICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgbWFzay1pbWFnZTogdXJsKFwiQHZlY3Rvci1pbS9jb21wb3VuZC1kZXNpZ24tdG9rZW5zL2ljb25zL3Jlc3RhcnQuc3ZnXCIpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5teF9JbmxpbmVTcGlubmVyIHtcbiAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDVweDtcbiAgICAgICAgICAgIHRvcDogMXB4OyAvKiBqdXN0IHRvIGhlbHAgdGhlIHZlcnRpY2FsIGFsaWdubWVudCBiZSBzbGlnaHRseSBiZXR0ZXIgKi9cblxuICAgICAgICAgICAgJiArIHNwYW4ge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMTBweDsgLyogc2FtZSBtYXJnaW4vcGFkZGluZyBhcyB0aGUgcmlnaHRtb3N0IGJ1dHRvbiAqL1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4ubXhfUm9vbVN0YXR1c0Jhcl9jb25uZWN0aW9uTG9zdEJhciBzdmcge1xuICAgIHBhZGRpbmctbGVmdDogMTBweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMHB4O1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgZmxvYXQ6IGxlZnQ7XG59XG5cbi5teF9Sb29tU3RhdHVzQmFyX2Nvbm5lY3Rpb25Mb3N0QmFyX3RpdGxlIHtcbiAgICBjb2xvcjogJGFsZXJ0O1xufVxuXG4ubXhfUm9vbVN0YXR1c0Jhcl9jb25uZWN0aW9uTG9zdEJhcl9kZXNjIHtcbiAgICBjb2xvcjogJHByaW1hcnktY29udGVudDtcbiAgICBmb250LXNpemU6ICRmb250LTEzcHg7XG4gICAgb3BhY2l0eTogMC41O1xuICAgIHBhZGRpbmctYm90dG9tOiAyMHB4O1xufVxuXG4ubXhfUm9vbVN0YXR1c0Jhcl9yZXNlbmRfbGluayB7XG4gICAgY29sb3I6ICRwcmltYXJ5LWNvbnRlbnQgIWltcG9ydGFudDtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSAhaW1wb3J0YW50O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLm14X1Jvb21TdGF0dXNCYXJfdHlwaW5nQmFyIHtcbiAgICBoZWlnaHQ6IDUwcHg7XG4gICAgbGluZS1oZWlnaHQ6IDUwcHg7XG5cbiAgICBjb2xvcjogJHByaW1hcnktY29udGVudDtcbiAgICBvcGFjaXR5OiAwLjU7XG4gICAgb3ZlcmZsb3cteTogaGlkZGVuO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4ubXhfTWF0cml4Q2hhdF91c2VDb21wYWN0TGF5b3V0IHtcbiAgICAubXhfUm9vbVN0YXR1c0Jhcjpub3QoLm14X1Jvb21TdGF0dXNCYXJfdW5zZW50TWVzc2FnZXMpIHtcbiAgICAgICAgbWluLWhlaWdodDogNDBweDtcbiAgICB9XG5cbiAgICAubXhfUm9vbVN0YXR1c0Jhcl9pbmRpY2F0b3Ige1xuICAgICAgICBtYXJnaW4tdG9wOiAxMHB4O1xuICAgIH1cblxuICAgIC5teF9Sb29tU3RhdHVzQmFyX3R5cGluZ0JhciB7XG4gICAgICAgIGhlaWdodDogNDBweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDQwcHg7XG4gICAgfVxufVxuIiwiLypcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxuQ29weXJpZ2h0IDIwMTUsIDIwMTYgT3Blbk1hcmtldCBMdGRcblxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuKi9cblxuOnJvb3Qge1xuICAgIC0tUm9vbVZpZXdfTWVzc2FnZUxpc3QtcGFkZGluZzogMThweDtcbn1cblxuLm14X1Jvb21WaWV3X3dyYXBwZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBmbGV4OiAxO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAvKiBDb250YWluIHRoZSBhbW91bnQgb2YgbGF5ZXJzIHJlbmRlcmVkIGJ5IGNvbnN0cmFpbmluZyB3aGF0IGFjdHVhbGx5IG5lZWRzIHJlLWxheWVyaW5nIHZpYSBjc3MgKi9cbiAgICBjb250YWluOiBzdHJpY3Q7XG59XG5cbi5teF9Sb29tVmlldyB7XG4gICAgd29yZC13cmFwOiBicmVhay13b3JkO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBmbGV4OiAxO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgIC5teF9NYWluU3BsaXQge1xuICAgICAgICBmbGV4OiAxIDEgMDtcbiAgICB9XG5cbiAgICAubXhfTWVzc2FnZUNvbXBvc2VyIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDJweDtcbiAgICB9XG59XG5cbi5teF9Sb29tVmlld19hdXhQYW5lbF9oaWRkZW5IaWdobGlnaHRzIHtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJHByaW1hcnktaGFpcmxpbmUtY29sb3I7XG4gICAgcGFkZGluZzogMTBweCAyNnB4O1xuICAgIGNvbG9yOiAkYWxlcnQ7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4ubXhfUm9vbVZpZXdfbWVzc2FnZVBhbmVsIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgIGZsZXg6IDEgMSAwO1xuICAgIG92ZXJmbG93LWFuY2hvcjogbm9uZTtcbn1cblxuLm14X1Jvb21WaWV3X21lc3NhZ2VQYW5lbFNlYXJjaFNwaW5uZXIge1xuICAgIGZsZXg6IDE7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiJChyZXMpL2ltZy90eXBpbmctaW5kaWNhdG9yLTJ4LmdpZlwiKTtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgMzY3cHg7XG4gICAgYmFja2dyb3VuZC1zaXplOiAyNXB4O1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGluZm8tcGxpbnRoLWZnLWNvbG9yO1xuICAgICAgICBtYXNrOiB1cmwoXCJAdmVjdG9yLWltL2NvbXBvdW5kLWRlc2lnbi10b2tlbnMvaWNvbnMvc2VhcmNoLnN2Z1wiKTtcbiAgICAgICAgbWFzay1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgbWFzay1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgICBtYXNrLXNpemU6IDUwcHg7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAyODZweDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIGhlaWdodDogNTBweDtcbiAgICB9XG59XG5cbi5teF9Sb29tVmlld19ib2R5IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZmxleDogMTtcbiAgICBtaW4td2lkdGg6IDA7XG5cbiAgICAubXhfUm9vbVZpZXdfbWVzc2FnZVBhbmVsLFxuICAgIC5teF9Sb29tVmlld19tZXNzYWdlUGFuZWxTcGlubmVyLFxuICAgIC5teF9Sb29tVmlld19tZXNzYWdlUGFuZWxTZWFyY2hTcGlubmVyIHtcbiAgICAgICAgb3JkZXI6IDI7XG4gICAgfVxuXG4gICAgLm14X1Jvb21WaWV3X3RpbWVsaW5lIHtcbiAgICAgICAgLyogb2Zmc2V0IHBhcmVudCBmb3IgbXhfUm9vbVZpZXdfdG9wVW5yZWFkTWVzc2FnZXNCYXIgICovXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgZmxleDogMTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiBjYWxjKHZhcigtLWNvbnRhaW5lci1nYXAtd2lkdGgpIC8gMik7XG4gICAgfVxufVxuXG4ubXhfUm9vbVZpZXdfc3RhdHVzQXJlYSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZmxleDogMCAwIGF1dG87XG5cbiAgICBtYXgtaGVpZ2h0OiAwcHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG4gICAgei1pbmRleDogMTAwMDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1vdXQ7XG59XG5cbi5teF9Sb29tVmlld19zdGF0dXNBcmVhX2V4cGFuZGVkIHtcbiAgICBtYXgtaGVpZ2h0OiAxMDBweDtcbn1cblxuLm14X1Jvb21WaWV3X3N0YXR1c0FyZWFCb3gge1xuICAgIG1hcmdpbjogYXV0bztcbiAgICBtaW4taGVpZ2h0OiA1MHB4O1xufVxuXG4ubXhfUm9vbVZpZXdfc3RhdHVzQXJlYUJveF9saW5lIHtcbiAgICBtYXJnaW4tbGVmdDogNjVweDtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgJHByaW1hcnktaGFpcmxpbmUtY29sb3I7XG4gICAgaGVpZ2h0OiAxcHg7XG59XG5cbi5teF9Sb29tVmlld19tZXNzYWdlTGlzdFdyYXBwZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLm14X1Jvb21WaWV3X3NlYXJjaFJlc3VsdHNQYW5lbCB7XG4gICAgLm14X1Jvb21WaWV3X21lc3NhZ2VMaXN0V3JhcHBlciB7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcblxuICAgICAgICA+IC5teF9Sb29tVmlld19NZXNzYWdlTGlzdCA+IGxpID4gb2wge1xuICAgICAgICAgICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgYSB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgfVxufVxuXG4ubXhfUm9vbVZpZXdfZW1wdHkge1xuICAgIGZvbnQtc2l6ZTogJGZvbnQtMTNweDtcbiAgICBwYWRkaW5nOiAwIDI0cHg7XG4gICAgbWFyZ2luLXJpZ2h0OiAzMHB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBtYXJnaW4tYm90dG9tOiA4MHB4OyAvKiB2aXN1YWxseSBjZW50ZXIgdGhlIGNvbnRlbnQgKGludGVudGlvbmFsIG9mZnNldCkgKi9cbn1cblxuLm14X1Jvb21WaWV3X01lc3NhZ2VMaXN0IHtcbiAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gICAgcGFkZGluZzogdmFyKC0tUm9vbVZpZXdfTWVzc2FnZUxpc3QtcGFkZGluZyk7IC8qIG14X1Byb2ZpbGVSZXNpemVyIGRlcGVuZHMgb24gdGhpcyB2YWx1ZSAqL1xuICAgIG1hcmdpbjogMDtcbiAgICAvKiBuZWVkZWQgYXMgbWluLWhlaWdodCBpcyBzZXQgdG8gY2xpZW50SGVpZ2h0IGluIFNjcm9sbFBhbmVsXG4gICAgdG8gcHJldmVudCBzaHJpbmtpbmcgd2hlbiBXaG9Jc1R5cGluZ1RpbGUgaXMgaGlkZGVuICovXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcblxuICAgIGxpIHtcbiAgICAgICAgY2xlYXI6IGJvdGg7XG4gICAgfVxuXG4gICAgLm14X1Njcm9sbFBhbmVsICYge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG5cbiAgICAgICAgY29udGVudC12aXNpYmlsaXR5OiBhdXRvO1xuICAgICAgICBjb250YWluLWludHJpbnNpYy1zaXplOiA1MHB4O1xuICAgIH1cblxuICAgIC5teF9Sb29tVmlldy0tbG9jYWwgLm14X1Njcm9sbFBhbmVsICYge1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICB9XG59XG5cbi5teF9Sb29tVmlld19pbkNhbGwge1xuICAgIC5teF9Sb29tVmlld19zdGF0dXNBcmVhQm94X2xpbmUge1xuICAgICAgICBtYXJnaW4tdG9wOiAycHg7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgaGVpZ2h0OiAwcHg7XG4gICAgfVxuXG4gICAgLm14X01lc3NhZ2VDb21wb3Nlcl93cmFwcGVyIHtcbiAgICAgICAgYm9yZGVyLXRvcDogMnB4IGhpZGRlbjtcbiAgICAgICAgcGFkZGluZy10b3A6IDFweDtcbiAgICB9XG59XG5cbi5teF9NYXRyaXhDaGF0X3VzZUNvbXBhY3RMYXlvdXQge1xuICAgIC5teF9Sb29tVmlld19NZXNzYWdlTGlzdCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDRweDtcblxuICAgICAgICBoMiB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiA2cHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubXhfUm9vbVZpZXdfc3RhdHVzQXJlYUJveCB7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDQycHg7XG4gICAgfVxufVxuIiwiLypcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxuQ29weXJpZ2h0IDIwMTUsIDIwMTYgT3Blbk1hcmtldCBMdGRcblxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuKi9cblxuLm14X1NlYXJjaEJveCB7XG4gICAgZmxleDogMSAxIDA7XG4gICAgbWluLXdpZHRoOiAwO1xuXG4gICAgJi5teF9TZWFyY2hCb3hfYmx1cnJlZDpub3QoOmhvdmVyKSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIH1cblxuICAgIC5teF9TZWFyY2hCb3hfY2xvc2VCdXR0b24ge1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIG1hc2staW1hZ2U6IHVybChcIkB2ZWN0b3ItaW0vY29tcG91bmQtZGVzaWduLXRva2Vucy9pY29ucy9jbG9zZS5zdmdcIik7XG4gICAgICAgIG1hc2stcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgIG1hc2stcG9zaXRpb246IGNlbnRlcjtcbiAgICAgICAgbWFzay1zaXplOiAxNnB4O1xuICAgICAgICB3aWR0aDogMTZweDtcbiAgICAgICAgaGVpZ2h0OiAxNnB4O1xuICAgICAgICBwYWRkaW5nOiA5cHg7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNwZC1jb2xvci1pY29uLXNlY29uZGFyeSk7XG4gICAgfVxufVxuIiwiLypcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxuQ29weXJpZ2h0IDIwMjEgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cblxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuKi9cblxuLm14X1NwYWNlUm9vbVZpZXdfbGFuZGluZyB7XG4gICAgLm14X0FjY2Vzc2libGVCdXR0b25fa2luZF9saW5rIHtcbiAgICAgICAgZm9udC1zaXplOiBpbmhlcml0O1xuICAgIH1cblxuICAgIC5teF9TZWFyY2hCb3gge1xuICAgICAgICBtYXJnaW46IDI0cHggMCAxNnB4O1xuICAgIH1cblxuICAgIC5teF9TcGFjZUhpZXJhcmNoeV9ub1Jlc3VsdHMge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAgICAgPiBkaXYge1xuICAgICAgICAgICAgZm9udC1zaXplOiAkZm9udC0xNXB4O1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6ICRmb250LTI0cHg7XG4gICAgICAgICAgICBjb2xvcjogJHNlY29uZGFyeS1jb250ZW50O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm14X1NwYWNlSGllcmFyY2h5X2xpc3RIZWFkZXIge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWZsb3c6IHdyYXA7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgZ2FwOiAxMnB4O1xuICAgICAgICBmb250LXNpemU6ICRmb250LTE1cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAkZm9udC0yNHB4O1xuICAgICAgICBjb2xvcjogJHByaW1hcnktY29udGVudDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTJweDtcblxuICAgICAgICAubXhfU3BhY2VIaWVyYXJjaHlfbGlzdEhlYWRlcl9oZWFkZXIge1xuICAgICAgICAgICAgZ3JpZC1jb2x1bW4tc3RhcnQ6IDE7XG4gICAgICAgICAgICBmb250LXdlaWdodDogdmFyKC0tY3BkLWZvbnQtd2VpZ2h0LXNlbWlib2xkKTtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5teF9TcGFjZUhpZXJhcmNoeV9saXN0SGVhZGVyX2J1dHRvbnMge1xuICAgICAgICAgICAgZ3JpZC1jb2x1bW4tc3RhcnQ6IDI7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleC1mbG93OiB3cmFwO1xuICAgICAgICAgICAgZ2FwOiAxMnB4O1xuICAgICAgICAgICAgbWluLWhlaWdodDogMzJweDtcblxuICAgICAgICAgICAgLm14X0FjY2Vzc2libGVCdXR0b24ge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDRweCAxMnB4O1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAubXhfQWNjZXNzaWJsZUJ1dHRvbl9raW5kX2Rhbmdlcl9vdXRsaW5lLFxuICAgICAgICAubXhfQWNjZXNzaWJsZUJ1dHRvbl9raW5kX3ByaW1hcnlfb3V0bGluZSB7XG4gICAgICAgICAgICBwYWRkaW5nOiAzcHggMTJweDsgLyogdG8gYWNjb3VudCBmb3IgdGhlIDFweCBib3JkZXIgKi9cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5teF9TcGFjZUhpZXJhcmNoeV9lcnJvciB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLWNwZC1mb250LXdlaWdodC1zZW1pYm9sZCk7XG4gICAgICAgIGNvbG9yOiAkYWxlcnQ7XG4gICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtMTVweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6ICRmb250LTE4cHg7XG4gICAgICAgIG1hcmdpbjogMjBweCBhdXRvIDEycHg7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMjRweDtcbiAgICAgICAgd2lkdGg6IG1heC1jb250ZW50O1xuXG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgaGVpZ2h0OiAxNnB4O1xuICAgICAgICAgICAgd2lkdGg6IDE2cHg7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiQHZlY3Rvci1pbS9jb21wb3VuZC1kZXNpZ24tdG9rZW5zL2ljb25zL2Vycm9yLnN2Z1wiKTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm14X1NwYWNlSGllcmFyY2h5X3Jvb21Db3VudCB7XG4gICAgICAgID4gaDMge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLWNwZC1mb250LXdlaWdodC1zZW1pYm9sZCk7XG4gICAgICAgICAgICBmb250LXNpemU6ICRmb250LTE4cHg7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogJGZvbnQtMjJweDtcbiAgICAgICAgICAgIGNvbG9yOiAkcHJpbWFyeS1jb250ZW50O1xuICAgICAgICB9XG5cbiAgICAgICAgPiBzcGFuIHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiA4cHg7XG4gICAgICAgICAgICBmb250LXNpemU6ICRmb250LTE1cHg7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogJGZvbnQtMjRweDtcbiAgICAgICAgICAgIGNvbG9yOiAkc2Vjb25kYXJ5LWNvbnRlbnQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubXhfU3BhY2VIaWVyYXJjaHlfc3Vic3BhY2VfdG9nZ2xlIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBsZWZ0OiAtMXB4O1xuICAgICAgICB0b3A6IDEwcHg7XG4gICAgICAgIGhlaWdodDogMTZweDtcbiAgICAgICAgd2lkdGg6IDE2cHg7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG5cbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgaGVpZ2h0OiAxNnB4O1xuICAgICAgICAgICAgd2lkdGg6IDE2cHg7XG4gICAgICAgICAgICBtYXNrLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgICAgbWFzay1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRlcnRpYXJ5LWNvbnRlbnQ7XG4gICAgICAgICAgICBtYXNrLXNpemU6IDE2cHg7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgyNzBkZWcpO1xuICAgICAgICAgICAgbWFzay1pbWFnZTogdXJsKFwiQHZlY3Rvci1pbS9jb21wb3VuZC1kZXNpZ24tdG9rZW5zL2ljb25zL2NoZXZyb24tZG93bi5zdmdcIik7XG4gICAgICAgIH1cblxuICAgICAgICAmLm14X1NwYWNlSGllcmFyY2h5X3N1YnNwYWNlX3RvZ2dsZV9zaG93bjo6YmVmb3JlIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm14X1NwYWNlSGllcmFyY2h5X3N1YnNwYWNlX2NoaWxkcmVuIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDEycHg7XG4gICAgfVxuXG4gICAgLm14X1NwYWNlSGllcmFyY2h5X2xpc3Qge1xuICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBtYXJnaW46IDA7XG5cbiAgICAgICAgbGkubXhfU3BhY2VIaWVyYXJjaHlfcm9vbVRpbGVXcmFwcGVyIHtcbiAgICAgICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG5cbiAgICAgICAgICAgIC5teF9TcGFjZUhpZXJhcmNoeV9yb29tVGlsZSB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDhweCAxNnB4O1xuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgICAgICAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgICAgICAgICAgZ2FwOiA2cHggMTJweDtcblxuICAgICAgICAgICAgICAgIC5teF9TcGFjZUhpZXJhcmNoeV9yb29tVGlsZV9pdGVtIHtcbiAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLWNwZC1mb250LXdlaWdodC1zZW1pYm9sZCk7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtMTVweDtcbiAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6ICRmb250LTE4cHg7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAgICAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMjBweCBhdXRvO1xuICAgICAgICAgICAgICAgICAgICBnYXA6IDZweCA4cHg7XG4gICAgICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgIGZsZXg6IDE7IC8qIHdyYXAgYWN0aW9uIGJ1dHRvbnMgKi9cblxuICAgICAgICAgICAgICAgICAgICAubXhfU3BhY2VIaWVyYXJjaHlfcm9vbVRpbGVfYXZhdGFyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGdyaWQtcm93OiAxO1xuICAgICAgICAgICAgICAgICAgICAgICAgZ3JpZC1jb2x1bW46IDE7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAubXhfU3BhY2VIaWVyYXJjaHlfcm9vbVRpbGVfbmFtZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBncmlkLXJvdzogMTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGdyaWQtY29sdW1uOiAyO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAubXhfSW5mb1Rvb2x0aXAsXG4gICAgICAgICAgICAgICAgICAgICAgICAubXhfU3BhY2VIaWVyYXJjaHlfcm9vbVRpbGVfam9pbmVkIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMTJweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHRlcnRpYXJ5LWNvbnRlbnQ7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAkZm9udC0xMnB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAkZm9udC0xNXB4O1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLm14X0luZm9Ub29sdGlwX2ljb24ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDRweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdGV4dC10b3A7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIC5teF9JbmZvVG9vbHRpcCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAubXhfU3BhY2VIaWVyYXJjaHlfcm9vbVRpbGVfam9pbmVkIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMTZweDtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogLTJweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGVmdDogLTRweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXNrLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hc2stc2l6ZTogY29udGFpbjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFzay1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGFjY2VudDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFzay1pbWFnZTogdXJsKFwiQHZlY3Rvci1pbS9jb21wb3VuZC1kZXNpZ24tdG9rZW5zL2ljb25zL2NoZWNrLnN2Z1wiKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAubXhfU3BhY2VIaWVyYXJjaHlfcm9vbVRpbGVfaW5mbyB7XG4gICAgICAgICAgICAgICAgICAgICAgICBncmlkLXJvdzogMjtcbiAgICAgICAgICAgICAgICAgICAgICAgIGdyaWQtY29sdW1uOiAyO1xuICAgICAgICAgICAgICAgICAgICAgICAgZm9udDogdmFyKC0tY3BkLWZvbnQtYm9keS1tZC1yZWd1bGFyKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBpbml0aWFsO1xuICAgICAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6ICRmb250LTE4cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHNlY29uZGFyeS1jb250ZW50O1xuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gICAgICAgICAgICAgICAgICAgICAgICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xuICAgICAgICAgICAgICAgICAgICAgICAgLXdlYmtpdC1saW5lLWNsYW1wOiAyO1xuICAgICAgICAgICAgICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC5teF9TcGFjZUhpZXJhcmNoeV9hY3Rpb25zIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgY29sdW1uLWdhcDogMTJweDtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG5cbiAgICAgICAgICAgICAgICAgICAgLm14X0FjY2Vzc2libGVCdXR0b24ge1xuICAgICAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6ICRmb250LTI0cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiA0cHggMTZweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICAgICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIC5teF9BY2Nlc3NpYmxlQnV0dG9uX2tpbmRfZGFuZ2VyX291dGxpbmUsXG4gICAgICAgICAgICAgICAgICAgIC5teF9BY2Nlc3NpYmxlQnV0dG9uX2tpbmRfcHJpbWFyeV9vdXRsaW5lIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDNweCAxNnB4OyAvKiB0byBhY2NvdW50IGZvciB0aGUgMXB4IGJvcmRlciAqL1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgLm14X0NoZWNrYm94IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBsYWJlbCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDE2cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxNnB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJjpob3ZlcixcbiAgICAgICAgICAgICAgICAmOmZvY3VzLXdpdGhpbiB7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRzcGFjZVBhbmVsLWJnLWNvbG9yO1xuXG4gICAgICAgICAgICAgICAgICAgIC5teF9BY2Nlc3NpYmxlQnV0dG9uIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmLm14X1NwYWNlSGllcmFyY2h5X2pvaW5pbmcge1xuICAgICAgICAgICAgICAgICAgICAubXhfQWNjZXNzaWJsZUJ1dHRvbiB7XG4gICAgICAgICAgICAgICAgICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogNHB4IDE4cHg7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubXhfU3BhY2VIaWVyYXJjaHlfcm9vbVRpbGUsXG4gICAgLm14X1NwYWNlSGllcmFyY2h5X3N1YnNwYWNlX2NoaWxkcmVuIHtcbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc3BhY2VQYW5lbC1iZy1jb2xvcjtcbiAgICAgICAgICAgIHdpZHRoOiAxcHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICBsZWZ0OiA2cHg7XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubXhfU3BhY2VIaWVyYXJjaHlfYWN0aW9ucyB7XG4gICAgICAgIC5teF9TcGFjZUhpZXJhcmNoeV9hY3Rpb25zVGV4dCB7XG4gICAgICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICAgICAgZm9udC1zaXplOiAkZm9udC0xMnB4O1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6ICRmb250LTE1cHg7XG4gICAgICAgICAgICBjb2xvcjogJHNlY29uZGFyeS1jb250ZW50O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgPiBociB7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgaGVpZ2h0OiAxcHg7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTQxLCAxNTEsIDE2NSwgMC4yKTtcbiAgICAgICAgbWFyZ2luOiAyMHB4IDA7XG4gICAgfVxuXG4gICAgLm14X1NwYWNlSGllcmFyY2h5X2NyZWF0ZVJvb20ge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbWFyZ2luOiAxNnB4IGF1dG8gMDtcbiAgICAgICAgd2lkdGg6IG1heC1jb250ZW50O1xuICAgIH1cbn1cbiIsIi8qXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cbkNvcHlyaWdodCAyMDIxIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXG5cblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cbiovXG5cbi5teF9TcGFjZVBhbmVsIHtcbiAgICAtLWFjdGl2ZUJhY2tncm91bmQtY29sb3I6ICRwYW5lbC1hY3Rpb25zO1xuICAgIC0tYWN0aXZlQm9yZGVyLWNvbG9yOiAkcHJpbWFyeS1jb250ZW50O1xuICAgIC0tYWN0aXZlQm9yZGVyLXRyYW5zcGFyZW50LWdhcDogMXB4O1xuICAgIC0tZ3V0dGVyU2l6ZTogMTRweDtcbiAgICAtLWhlaWdodC1uZXN0ZWQ6IDI0cHg7XG4gICAgLS1oZWlnaHQtdG9wTGV2ZWw6IDMycHg7XG5cbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc3BhY2VQYW5lbC1iZy1jb2xvcjtcbiAgICBmbGV4OiAwIDAgYXV0bztcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbjogMDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgLyogRml4IGZvciB0aGUgYmx1cnJlZCBhdmF0YXItYmFja2dyb3VuZCAqL1xuICAgIHotaW5kZXg6IDE7XG5cbiAgICAvKiBDcmVhdGUgYW5vdGhlciBmbGV4Ym94IHNvIHRoZSBQYW5lbCBmaWxscyB0aGUgY29udGFpbmVyICovXG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXG4gICAgJi5jb2xsYXBzZWQge1xuICAgICAgICB3aWR0aDogNjhweDtcbiAgICB9XG5cbiAgICAubXhfU3BhY2VQYW5lbF90b2dnbGVDb2xsYXBzZSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgd2lkdGg6IDE4cHg7XG4gICAgICAgIGhlaWdodDogMThweDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGVydGlhcnktY29udGVudDtcbiAgICAgICAgdG9wOiAxOXB4OyAvKiB2LWFsaWduIHdpdGggYXZhdGFyICovXG4gICAgICAgIHJpZ2h0OiAtOHB4O1xuXG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgd2lkdGg6IGluaGVyaXQ7XG4gICAgICAgICAgICBoZWlnaHQ6IGluaGVyaXQ7XG4gICAgICAgICAgICBtYXNrLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICAgICAgICBtYXNrLXNpemU6IGNvbnRhaW47XG4gICAgICAgICAgICBtYXNrLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG4gICAgICAgICAgICBtYXNrLWltYWdlOiB1cmwoXCJAdmVjdG9yLWltL2NvbXBvdW5kLWRlc2lnbi10b2tlbnMvaWNvbnMvY2hldnJvbi1kb3duLnN2Z1wiKTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDI3MGRlZyk7XG4gICAgICAgIH1cblxuICAgICAgICAmOm5vdCguZXhwYW5kZWQpIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDA7XG5cbiAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgbWFzay1wb3NpdGlvbjogY2VudGVyIDFweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYuZXhwYW5kZWQ6OmJlZm9yZSB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmOmhvdmVyIC5teF9TcGFjZVBhbmVsX3RvZ2dsZUNvbGxhcHNlIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG5cbiAgICB1bCB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICB9XG5cbiAgICAubXhfU3BhY2VCdXR0b25fdG9nZ2xlQ29sbGFwc2Uge1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgfVxuXG4gICAgLm14X1NwYWNlSXRlbV9kcmFnZ2luZyB7XG4gICAgICAgIC5teF9TcGFjZUJ1dHRvbl90b2dnbGVDb2xsYXBzZSB7XG4gICAgICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubXhfU3BhY2VJdGVtIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgIGZsZXgtZmxvdzogd3JhcDtcblxuICAgICAgICAmLm14X1NwYWNlSXRlbV9uYXJyb3cge1xuICAgICAgICAgICAgYWxpZ24tc2VsZjogYmFzZWxpbmU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubXhfU3BhY2VJdGVtLmNvbGxhcHNlZCB7XG4gICAgICAgICYgPiAubXhfU3BhY2VCdXR0b24gPiAubXhfU3BhY2VCdXR0b25fdG9nZ2xlQ29sbGFwc2Uge1xuICAgICAgICAgICAgcGFkZGluZzogMCAxMHB4O1xuICAgICAgICAgICAgbWFyZ2luOiAwIC0xMHB4O1xuICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKTtcbiAgICAgICAgfVxuXG4gICAgICAgICYgPiAubXhfU3BhY2VUcmVlTGV2ZWwge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5teF9TcGFjZUl0ZW1fbmV3IHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIH1cblxuICAgIC5teF9TcGFjZUl0ZW06bm90KC5oYXNTdWJTcGFjZXMpID4gLm14X1NwYWNlQnV0dG9uIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IHZhcigtLWd1dHRlclNpemUpO1xuICAgICAgICBtaW4td2lkdGg6IDQwcHg7XG4gICAgfVxuXG4gICAgLm14X1NwYWNlQnV0dG9uIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4O1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBwYWRkaW5nOiA0cHggNHB4IDRweCAwO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgICAgICYubXhfU3BhY2VCdXR0b25fYWN0aXZlIHtcbiAgICAgICAgICAgICY6bm90KC5teF9TcGFjZUJ1dHRvbl9uYXJyb3cpIC5teF9TcGFjZUJ1dHRvbl9zZWxlY3Rpb25XcmFwcGVyIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1hY3RpdmVCYWNrZ3JvdW5kLWNvbG9yKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi5teF9TcGFjZUJ1dHRvbl9uYXJyb3cgLm14X1NwYWNlQnV0dG9uX3NlbGVjdGlvbldyYXBwZXIge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IHZhcigtLWFjdGl2ZUJvcmRlci10cmFuc3BhcmVudC1nYXApO1xuICAgICAgICAgICAgICAgIGJvcmRlcjogM3B4IHZhcigtLWFjdGl2ZUJvcmRlci1jb2xvcikgc29saWQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAubXhfU3BhY2VCdXR0b25fc2VsZWN0aW9uV3JhcHBlciB7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleDogMTtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAxMnB4O1xuICAgICAgICAgICAgcGFkZGluZzogNHB4O1xuICAgICAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDMycHgpO1xuICAgICAgICAgICAgbWluLXdpZHRoOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5teF9TcGFjZUJ1dHRvbl9uYXJyb3cgLm14X1NwYWNlQnV0dG9uX3NlbGVjdGlvbldyYXBwZXIge1xuICAgICAgICAgICAgZmxleDogaW5pdGlhbDtcbiAgICAgICAgICAgIHdpZHRoOiAzMnB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLm14X1NwYWNlQnV0dG9uX25hbWUge1xuICAgICAgICAgICAgZmxleDogMTtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiA4cHg7XG4gICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgICBmb250OiB2YXIoLS1jcGQtZm9udC1ib2R5LW1kLXJlZ3VsYXIpO1xuICAgICAgICB9XG5cbiAgICAgICAgLm14X1NwYWNlQnV0dG9uX3RvZ2dsZUNvbGxhcHNlIHtcbiAgICAgICAgICAgIHdpZHRoOiB2YXIoLS1ndXR0ZXJTaXplKTtcbiAgICAgICAgICAgIHBhZGRpbmc6IDEwcHggMDtcbiAgICAgICAgICAgIG1pbi13aWR0aDogdmFyKC0tZ3V0dGVyU2l6ZSk7XG4gICAgICAgICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICAgICAgICBtYXNrLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICAgICAgICBtYXNrLXNpemU6IDIwcHg7XG4gICAgICAgICAgICBtYXNrLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRlcnRpYXJ5LWNvbnRlbnQ7XG4gICAgICAgICAgICBtYXNrLWltYWdlOiB1cmwoXCJAdmVjdG9yLWltL2NvbXBvdW5kLWRlc2lnbi10b2tlbnMvaWNvbnMvY2hldnJvbi1kb3duLnN2Z1wiKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5teF9TcGFjZUJ1dHRvbl9pY29uIHtcbiAgICAgICAgICAgIHdpZHRoOiB2YXIoLS1oZWlnaHQtdG9wTGV2ZWwpO1xuICAgICAgICAgICAgbWluLXdpZHRoOiB2YXIoLS1oZWlnaHQtdG9wTGV2ZWwpO1xuICAgICAgICAgICAgaGVpZ2h0OiB2YXIoLS1oZWlnaHQtdG9wTGV2ZWwpO1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4O1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgICAgIHdpZHRoOiB2YXIoLS1oZWlnaHQtdG9wTGV2ZWwpO1xuICAgICAgICAgICAgICAgIGhlaWdodDogdmFyKC0taGVpZ2h0LXRvcExldmVsKTtcbiAgICAgICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgICAgICBtYXNrLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgbWFzay1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgICAgICAgICBtYXNrLXNpemU6IDE4cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLm14X1NwYWNlQnV0dG9uX2hvbWUsXG4gICAgICAgICYubXhfU3BhY2VCdXR0b25fZmF2b3VyaXRlcyxcbiAgICAgICAgJi5teF9TcGFjZUJ1dHRvbl9wZW9wbGUsXG4gICAgICAgICYubXhfU3BhY2VCdXR0b25fb3JwaGFucyxcbiAgICAgICAgJi5teF9TcGFjZUJ1dHRvbl92aWRlb1Jvb21zIHtcbiAgICAgICAgICAgIC5teF9TcGFjZUJ1dHRvbl9pY29uIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcGFuZWwtYWN0aW9ucztcblxuICAgICAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRzZWNvbmRhcnktY29udGVudDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLm14X1NwYWNlQnV0dG9uX2hvbWUgLm14X1NwYWNlQnV0dG9uX2ljb246OmJlZm9yZSB7XG4gICAgICAgICAgICBtYXNrLWltYWdlOiB1cmwoXCJAdmVjdG9yLWltL2NvbXBvdW5kLWRlc2lnbi10b2tlbnMvaWNvbnMvaG9tZS1zb2xpZC5zdmdcIik7XG4gICAgICAgIH1cblxuICAgICAgICAmLm14X1NwYWNlQnV0dG9uX2Zhdm91cml0ZXMgLm14X1NwYWNlQnV0dG9uX2ljb246OmJlZm9yZSB7XG4gICAgICAgICAgICBtYXNrLWltYWdlOiB1cmwoXCJAdmVjdG9yLWltL2NvbXBvdW5kLWRlc2lnbi10b2tlbnMvaWNvbnMvZmF2b3VyaXRlLXNvbGlkLnN2Z1wiKTtcbiAgICAgICAgfVxuXG4gICAgICAgICYubXhfU3BhY2VCdXR0b25fcGVvcGxlIC5teF9TcGFjZUJ1dHRvbl9pY29uOjpiZWZvcmUge1xuICAgICAgICAgICAgbWFzay1pbWFnZTogdXJsKFwiQHZlY3Rvci1pbS9jb21wb3VuZC1kZXNpZ24tdG9rZW5zL2ljb25zL3VzZXItcHJvZmlsZS1zb2xpZC5zdmdcIik7XG4gICAgICAgIH1cblxuICAgICAgICAmLm14X1NwYWNlQnV0dG9uX29ycGhhbnMgLm14X1NwYWNlQnV0dG9uX2ljb246OmJlZm9yZSB7XG4gICAgICAgICAgICBtYXNrLWltYWdlOiB1cmwoXCIkKHJlcykvaW1nL2VsZW1lbnQtaWNvbnMvcm9vbWxpc3QvaGFzaC1jaXJjbGUuc3ZnXCIpO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5teF9TcGFjZUJ1dHRvbl92aWRlb1Jvb21zIC5teF9TcGFjZUJ1dHRvbl9pY29uOjpiZWZvcmUge1xuICAgICAgICAgICAgbWFzay1pbWFnZTogdXJsKFwiQHZlY3Rvci1pbS9jb21wb3VuZC1kZXNpZ24tdG9rZW5zL2ljb25zL3ZpZGVvLWNhbGwtc29saWQuc3ZnXCIpO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5teF9TcGFjZUJ1dHRvbl9uZXcgLm14X1NwYWNlQnV0dG9uX2ljb24ge1xuICAgICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJpbWFyeS1jb250ZW50O1xuICAgICAgICAgICAgICAgIG1hc2staW1hZ2U6IHVybChcIkB2ZWN0b3ItaW0vY29tcG91bmQtZGVzaWduLXRva2Vucy9pY29ucy9wbHVzLnN2Z1wiKTtcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLWluLW91dDsgLyogVE9ETyB0cmFuc2l0aW9uICovXG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLm14X1NwYWNlQnV0dG9uX25ld0NhbmNlbCAubXhfU3BhY2VCdXR0b25faWNvbjo6YmVmb3JlIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5teF9TcGFjZUJ1dHRvbl9tZW51QnV0dG9uIHtcbiAgICAgICAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgICAgICAgbWluLXdpZHRoOiAyMHB4OyAvKiB5YXkgZmxleCAqL1xuICAgICAgICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogYXV0bztcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IGF1dG87XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgcmlnaHQ6IDRweDtcblxuICAgICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICB0b3A6IDNweDtcbiAgICAgICAgICAgICAgICBsZWZ0OiAycHg7XG4gICAgICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTZweDtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDE2cHg7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIG1hc2stcG9zaXRpb246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBtYXNrLXNpemU6IGNvbnRhaW47XG4gICAgICAgICAgICAgICAgbWFzay1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgICAgICAgICBtYXNrLWltYWdlOiB1cmwoXCJAdmVjdG9yLWltL2NvbXBvdW5kLWRlc2lnbi10b2tlbnMvaWNvbnMvb3ZlcmZsb3ctaG9yaXpvbnRhbC5zdmdcIik7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJHByaW1hcnktY29udGVudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5teF9TcGFjZVRyZWVMZXZlbCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIG1heC13aWR0aDogMjUwcHg7XG4gICAgICAgIG1pbi13aWR0aDogMDtcbiAgICAgICAgZmxleC1ncm93OiAxO1xuXG4gICAgICAgIC5teF9TcGFjZVRyZWVMZXZlbCB7XG4gICAgICAgICAgICAvKiBJbmRlbnQgc3Vic3BhY2VzICovXG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDE2cHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubXhfU3BhY2VCdXR0b25fYXZhdGFyV3JhcHBlciB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDA7XG4gICAgfVxuXG4gICAgLm14X1NwYWNlUGFuZWxfYmFkZ2VDb250YWluZXIge1xuICAgICAgICAvKiBDcmVhdGUgYSBmbGV4Ym94IHRvIG1ha2UgYWxpZ25pbmcgZG90IGJhZGdlcyBlYXNpZXIgKi9cbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICByaWdodDogLTNweDtcbiAgICAgICAgdG9wOiAtM3B4O1xuXG4gICAgICAgIC5teF9Ob3RpZmljYXRpb25CYWRnZSB7XG4gICAgICAgICAgICBtYXJnaW46IDAgMnB4OyAvKiBjZW50ZXJpbmcgKi9cbiAgICAgICAgICAgIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG4gICAgICAgIH1cblxuICAgICAgICAubXhfTm90aWZpY2F0aW9uQmFkZ2VfZG90IHtcbiAgICAgICAgICAgIC8qIG1ha2UgdGhlIHNtYWxsZXIgZG90IG9jY3VweSB0aGUgc2FtZSB3aWR0aCBmb3IgY2VudGVyaW5nICovXG4gICAgICAgICAgICBtYXJnaW46IDAgLTFweCAwIDA7XG4gICAgICAgICAgICBib3JkZXI6IDNweCBzb2xpZCAkc3BhY2VQYW5lbC1iZy1jb2xvcjtcbiAgICAgICAgfVxuXG4gICAgICAgIC5teF9Ob3RpZmljYXRpb25CYWRnZV8yY2hhcixcbiAgICAgICAgLm14X05vdGlmaWNhdGlvbkJhZGdlXzNjaGFyIHtcbiAgICAgICAgICAgIG1hcmdpbjogLTVweCAtNXB4IDAgMDtcbiAgICAgICAgICAgIGJvcmRlcjogMnB4IHNvbGlkICRzcGFjZVBhbmVsLWJnLWNvbG9yO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm14X1NwYWNlQnV0dG9uOmhvdmVyLFxuICAgIC5teF9TcGFjZUJ1dHRvbjpmb2N1cy13aXRoaW4sXG4gICAgLm14X1NwYWNlQnV0dG9uX2hhc01lbnVPcGVuIHtcbiAgICAgICAgJjpub3QoLm14X1NwYWNlQnV0dG9uX25hcnJvdyk6bm90KC5teF9TcGFjZUJ1dHRvbl9pbnZpdGUpIC5teF9TcGFjZUJ1dHRvbl9tZW51QnV0dG9uIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm14X1NwYWNlSXRlbTpub3QoLm14X1NwYWNlSXRlbV9uZXcpIHtcbiAgICAgICAgLm14X1NwYWNlQnV0dG9uOmhvdmVyLFxuICAgICAgICAubXhfU3BhY2VCdXR0b246Zm9jdXMtd2l0aGluLFxuICAgICAgICAubXhfU3BhY2VCdXR0b25faGFzTWVudU9wZW4ge1xuICAgICAgICAgICAgJjpub3QoLm14X1NwYWNlQnV0dG9uX25hcnJvdyk6bm90KC5teF9TcGFjZUJ1dHRvbl9pbnZpdGUpIC5teF9TcGFjZUJ1dHRvbl9uYW1lIHtcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IGNhbGMoMTAwJSAtIDU2cHgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyogcm9vdCBzcGFjZSBidXR0b25zIGFyZSBiaWdnZXIgYW5kIG5vdCBpbmRlbnRlZCAqL1xuICAgICYgPiAubXhfQXV0b0hpZGVTY3JvbGxiYXIge1xuICAgICAgICBmbGV4OiAxO1xuICAgICAgICBwYWRkaW5nOiAwIDAgMTZweCAwO1xuICAgICAgICBzY3JvbGxiYXItZ3V0dGVyOiBzdGFibGU7XG5cbiAgICAgICAgJiA+IC5teF9TcGFjZUJ1dHRvbiB7XG4gICAgICAgICAgICBoZWlnaHQ6IHZhcigtLWhlaWdodC10b3BMZXZlbCk7XG5cbiAgICAgICAgICAgICYubXhfU3BhY2VCdXR0b25fYWN0aXZlOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGhlaWdodDogdmFyKC0taGVpZ2h0LXRvcExldmVsKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYgPiB1bCB7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgIH1cblxuICAgICAgICAmLm14X0luZGljYXRvclNjcm9sbGJhcl90b3BPdmVyZmxvdyB7XG4gICAgICAgICAgICBtYXNrLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCB0cmFuc3BhcmVudCwgYmxhY2sgMTZweCk7XG4gICAgICAgIH1cblxuICAgICAgICAmLm14X0luZGljYXRvclNjcm9sbGJhcl9ib3R0b21PdmVyZmxvdyB7XG4gICAgICAgICAgICBtYXNrLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoXG4gICAgICAgICAgICAgICAgdG8gdG9wLFxuICAgICAgICAgICAgICAgIHRyYW5zcGFyZW50LFxuICAgICAgICAgICAgICAgIHJnYmEoMjU1LCAyNTUsIDI1NSwgMzAlKSA0cHgsXG4gICAgICAgICAgICAgICAgcmdiYSgyNTUsIDI1NSwgMjU1LCA1NSUpIDhweCxcbiAgICAgICAgICAgICAgICByZ2JhKDI1NSwgMjU1LCAyNTUsIDc1JSkgMTJweCxcbiAgICAgICAgICAgICAgICBibGFjayAxNnB4XG4gICAgICAgICAgICApO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5teF9JbmRpY2F0b3JTY3JvbGxiYXJfdG9wT3ZlcmZsb3cubXhfSW5kaWNhdG9yU2Nyb2xsYmFyX2JvdHRvbU92ZXJmbG93IHtcbiAgICAgICAgICAgIC8qIFRoaXMgc3RhY2tzIHR3byBncmFkaWVudHMgb24gdG9wIG9mIG9uZSBhbm90aGVyLCB3aGljaCBsZXRzIHVzXG4gICAgICAgICAgICAgICBoYXZlIGEgZml4ZWQgcGl4ZWwgb2Zmc2V0IGZyb20gYm90aCB0b3AgYW5kIGJvdHRvbSBmb3IgdGhlIGNvbG91ciBzdG9wcy5cbiAgICAgICAgICAgICAgIE5vdGUgdGhlIHRvcCBmYWRlIGlzIG11Y2ggc21hbGxlciBiZWNhdXNlIHRoZSBzcGFjZXMgc3RhcnQgY2xvc2UgdG8gdGhlIHRvcCxcbiAgICAgICAgICAgICAgIHNvIG90aGVyd2lzZSBhIGxhcmdlIGdyYWRpZW50IHN1ZGRlbmx5IGFwcGVhcnMgd2hlbiB5b3Ugc2Nyb2xsIGRvd24uXG4gICAgICAgICAgICAgKi9cbiAgICAgICAgICAgIG1hc2staW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sIHRyYW5zcGFyZW50LCBibGFjayAxNnB4KSxcbiAgICAgICAgICAgICAgICBsaW5lYXItZ3JhZGllbnQoXG4gICAgICAgICAgICAgICAgICAgIHRvIHRvcCxcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNwYXJlbnQsXG4gICAgICAgICAgICAgICAgICAgIHJnYmEoMjU1LCAyNTUsIDI1NSwgMzAlKSA0cHgsXG4gICAgICAgICAgICAgICAgICAgIHJnYmEoMjU1LCAyNTUsIDI1NSwgNTUlKSA4cHgsXG4gICAgICAgICAgICAgICAgICAgIHJnYmEoMjU1LCAyNTUsIDI1NSwgNzUlKSAxMnB4LFxuICAgICAgICAgICAgICAgICAgICBibGFjayAxNnB4XG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIG1hc2stcG9zaXRpb246XG4gICAgICAgICAgICAgICAgMCUgMCUsXG4gICAgICAgICAgICAgICAgMCUgMTAwJTtcbiAgICAgICAgICAgIG1hc2stc2l6ZTpcbiAgICAgICAgICAgICAgICBjYWxjKDEwMCUgLSAxMHB4KSA1MCUsXG4gICAgICAgICAgICAgICAgY2FsYygxMDAlIC0gMTBweCkgNTAlO1xuICAgICAgICAgICAgbWFzay1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5teF9Vc2VyTWVudSB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAxMnB4O1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJHNlcGFyYXRvcjtcbiAgICAgICAgbWFyZ2luOiAxMnB4IDE0cHggNHB4IDE4cHg7XG4gICAgICAgIHdpZHRoOiBtaW4tY29udGVudDtcbiAgICAgICAgbWF4LXdpZHRoOiAyMjZweDtcblxuICAgICAgICAvKiBEaXNwbGF5IHRoZSBjb250YWluZXIgYW5kIGltZyBoZXJlIGFzIGJsb2NrIGVsZW1lbnRzIHNvIHRoZXkgZG9uJ3QgdGFrZVxuICAgICAgICAgKiB1cCBleHRyYSB2ZXJ0aWNhbCBzcGFjZS5cbiAgICAgICAgICovXG4gICAgICAgIC5teF9Vc2VyTWVudV91c2VyQXZhdGFyX0Jhc2VBdmF0YXIge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5teF9TcGFjZVBhbmVsX2NvbnRleHRNZW51IHtcbiAgICBtYXgtd2lkdGg6IDM2MHB4O1xuXG4gICAgLm14X1NwYWNlUGFuZWxfY29udGV4dE1lbnVfaGVhZGVyIHtcbiAgICAgICAgbWFyZ2luOiAxMnB4IDE2cHggMTJweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLWNwZC1mb250LXdlaWdodC1zZW1pYm9sZCk7XG4gICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtMTVweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6ICRmb250LTE4cHg7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIH1cblxuICAgIC5teF9TcGFjZVBhbmVsX2ljb25Ib21lOjpiZWZvcmUge1xuICAgICAgICBtYXNrLWltYWdlOiB1cmwoXCJAdmVjdG9yLWltL2NvbXBvdW5kLWRlc2lnbi10b2tlbnMvaWNvbnMvaG9tZS1zb2xpZC5zdmdcIik7XG4gICAgfVxuXG4gICAgLm14X1NwYWNlUGFuZWxfaWNvbkludml0ZTo6YmVmb3JlIHtcbiAgICAgICAgbWFzay1pbWFnZTogdXJsKFwiJChyZXMpL2ltZy9lbGVtZW50LWljb25zL3Jvb20vaW52aXRlLnN2Z1wiKTtcbiAgICB9XG5cbiAgICAubXhfU3BhY2VQYW5lbF9pY29uU2V0dGluZ3M6OmJlZm9yZSB7XG4gICAgICAgIG1hc2staW1hZ2U6IHVybChcIkB2ZWN0b3ItaW0vY29tcG91bmQtZGVzaWduLXRva2Vucy9pY29ucy9zZXR0aW5ncy1zb2xpZC5zdmdcIik7XG4gICAgfVxuXG4gICAgLm14X1NwYWNlUGFuZWxfaWNvbkxlYXZlOjpiZWZvcmUge1xuICAgICAgICBtYXNrLWltYWdlOiB1cmwoXCJAdmVjdG9yLWltL2NvbXBvdW5kLWRlc2lnbi10b2tlbnMvaWNvbnMvbGVhdmUuc3ZnXCIpO1xuICAgIH1cblxuICAgIC5teF9TcGFjZVBhbmVsX2ljb25NZW1iZXJzOjpiZWZvcmUge1xuICAgICAgICBtYXNrLWltYWdlOiB1cmwoXCJAdmVjdG9yLWltL2NvbXBvdW5kLWRlc2lnbi10b2tlbnMvaWNvbnMvdXNlci1wcm9maWxlLXNvbGlkLnN2Z1wiKTtcbiAgICB9XG5cbiAgICAubXhfU3BhY2VQYW5lbF9pY29uUGx1czo6YmVmb3JlIHtcbiAgICAgICAgbWFzay1pbWFnZTogdXJsKFwiQHZlY3Rvci1pbS9jb21wb3VuZC1kZXNpZ24tdG9rZW5zL2ljb25zL3BsdXMuc3ZnXCIpO1xuICAgIH1cblxuICAgIC5teF9TcGFjZVBhbmVsX2ljb25FeHBsb3JlOjpiZWZvcmUge1xuICAgICAgICBtYXNrLWltYWdlOiB1cmwoXCIkKHJlcykvaW1nL2VsZW1lbnQtaWNvbnMvcm9vbWxpc3QvaGFzaC1zZWFyY2guc3ZnXCIpO1xuICAgIH1cblxuICAgIC5teF9TcGFjZVBhbmVsX2ljb25QcmVmZXJlbmNlczo6YmVmb3JlIHtcbiAgICAgICAgbWFzay1pbWFnZTogdXJsKFwiJChyZXMpL2ltZy9lbGVtZW50LWljb25zL3NldHRpbmdzL3ByZWZlcmVuY2Uuc3ZnXCIpO1xuICAgIH1cblxuICAgIC5teF9TcGFjZVBhbmVsX25vSWNvbiB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICAgICAgJiArIC5teF9JY29uaXplZENvbnRleHRNZW51X2xhYmVsIHtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogNXB4ICFpbXBvcnRhbnQ7IC8qIG92ZXJyaWRlIGRlZmF1bHQgaWNvbml6ZWQgbGFiZWwgc3R5bGUgdG8gYWxpZ24gd2l0aCBoZWFkZXIgKi9cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5teF9TcGFjZVBhbmVsX2NvbnRleHRNZW51X3NlcGFyYXRvckxhYmVsIHtcbiAgICAgICAgY29sb3I6ICR0ZXJ0aWFyeS1jb250ZW50O1xuICAgICAgICBmb250LXNpemU6ICRmb250LTEwcHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAkZm9udC0xMnB4O1xuICAgICAgICBmb250LXdlaWdodDogdmFyKC0tY3BkLWZvbnQtd2VpZ2h0LXNlbWlib2xkKTtcbiAgICB9XG59XG5cbi5teF9TcGFjZVBhbmVsX3NoYXJlUHVibGljU3BhY2Uge1xuICAgIG1hcmdpbjogMDtcbn1cblxuLm14X1NwYWNlUGFuZWxfVG9vbHRpcF9LZXlib2FyZFNob3J0Y3V0IHtcbiAgICBrYmQge1xuICAgICAgICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XG4gICAgfVxufVxuIiwiLypcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxuQ29weXJpZ2h0IDIwMjEgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cblxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuKi9cblxuQGRlZmluZS1taXhpbiBTcGFjZVBpbGxCdXR0b24ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nOiAxNnB4IDMycHggMTZweCA3MnB4O1xuICAgIHdpZHRoOiA0MzJweDtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkaW5wdXQtYm9yZGVyLWNvbG9yO1xuICAgIGZvbnQtc2l6ZTogJGZvbnQtMTdweDtcbiAgICBmb250LXdlaWdodDogdmFyKC0tY3BkLWZvbnQtd2VpZ2h0LXNlbWlib2xkKTtcbiAgICBtYXJnaW46IDIwcHggMDtcblxuICAgID4gZGl2IHtcbiAgICAgICAgbWFyZ2luLXRvcDogNHB4O1xuICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICBmb250LXNpemU6ICRmb250LTE1cHg7XG4gICAgICAgIGNvbG9yOiAkc2Vjb25kYXJ5LWNvbnRlbnQ7XG4gICAgfVxuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICB3aWR0aDogMjhweDtcbiAgICAgICAgaGVpZ2h0OiAyOHB4O1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgICAgICBsZWZ0OiAyMnB4O1xuICAgICAgICBtYXNrLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICAgIG1hc2stcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgIG1hc2stc2l6ZTogMjhweDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRlcnRpYXJ5LWNvbnRlbnQ7XG4gICAgfVxuXG4gICAgJjpob3ZlciB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0tY3BkLWNvbG9yLWJnLWFjdGlvbi1wcmltYXJ5LXJlc3QpO1xuXG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jcGQtY29sb3ItaWNvbi1wcmltYXJ5KTtcbiAgICAgICAgfVxuXG4gICAgICAgID4gc3BhbiB7XG4gICAgICAgICAgICBjb2xvcjogJHByaW1hcnktY29udGVudDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLm14X1NwYWNlUm9vbVZpZXcge1xuICAgIC0taW5uZXJXaWR0aDogNDI4cHg7XG5cbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgIGZsZXg6IDE7XG5cbiAgICAubXhfTWFpblNwbGl0ID4gZGl2OmZpcnN0LWNoaWxkIHtcbiAgICAgICAgcGFkZGluZzogODBweCA2MHB4O1xuICAgICAgICBmbGV4LWdyb3c6IDE7XG4gICAgICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgICAgIG92ZXJmbG93LXk6IGF1dG87XG5cbiAgICAgICAgaDEge1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgZm9udC1zaXplOiAkZm9udC0yNHB4O1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLWNwZC1mb250LXdlaWdodC1zZW1pYm9sZCk7XG4gICAgICAgICAgICBjb2xvcjogJHByaW1hcnktY29udGVudDtcbiAgICAgICAgICAgIHdpZHRoOiBtYXgtY29udGVudDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5teF9TcGFjZVJvb21WaWV3X2Rlc2NyaXB0aW9uIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtMTVweDtcbiAgICAgICAgICAgIGNvbG9yOiAkc2Vjb25kYXJ5LWNvbnRlbnQ7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAxMnB4O1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjRweDtcbiAgICAgICAgICAgIG1heC13aWR0aDogdmFyKC0taW5uZXJXaWR0aCk7XG4gICAgICAgIH1cblxuICAgICAgICAubXhfQWRkRXhpc3RpbmdUb1NwYWNlIHtcbiAgICAgICAgICAgIG1heC13aWR0aDogdmFyKC0taW5uZXJXaWR0aCk7XG5cbiAgICAgICAgICAgIC5teF9BZGRFeGlzdGluZ1RvU3BhY2VfY29udGVudCB7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiBjYWxjKDEwMHZoIC0gMzYwcHgpO1xuICAgICAgICAgICAgICAgIG1heC1oZWlnaHQ6IDQwMHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLm14X1NwYWNlUm9vbVZpZXdfYnV0dG9ucyB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDQ0cHg7XG4gICAgICAgICAgICB3aWR0aDogdmFyKC0taW5uZXJXaWR0aCk7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiByaWdodDsgLyogYnV0dG9uIGFsaWdubWVudCByaWdodCAqL1xuXG4gICAgICAgICAgICAubXhfQWNjZXNzaWJsZUJ1dHRvbl9oYXNLaW5kIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiA4cHggMjJweDtcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMTZweDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaW5wdXQubXhfQWNjZXNzaWJsZUJ1dHRvbiB7XG4gICAgICAgICAgICAgICAgYm9yZGVyOiBub25lOyAvKiBvdmVycmlkZSBkZWZhdWx0IHN0eWxlcyAqL1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLm14X0ZpZWxkIHtcbiAgICAgICAgICAgIG1heC13aWR0aDogdmFyKC0taW5uZXJXaWR0aCk7XG5cbiAgICAgICAgICAgICYgKyAubXhfRmllbGQge1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDI4cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAubXhfU3BhY2VSb29tVmlld19lcnJvclRleHQge1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLWNwZC1mb250LXdlaWdodC1zZW1pYm9sZCk7XG4gICAgICAgICAgICBmb250LXNpemU6ICRmb250LTEycHg7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogJGZvbnQtMTVweDtcbiAgICAgICAgICAgIGNvbG9yOiAkYWxlcnQ7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyOHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLm14X0FjY2Vzc2libGVCdXR0b25fZGlzYWJsZWQge1xuICAgICAgICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5teF9TcGFjZVJvb21WaWV3X2xhbmRpbmcge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBtaW4td2lkdGg6IDA7XG5cbiAgICAgICAgLm14X1NwYWNlUm9vbVZpZXdfbGFuZGluZ19oZWFkZXIge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcblxuICAgICAgICAgICAgLm14X0Jhc2VBdmF0YXIge1xuICAgICAgICAgICAgICAgIHdpZHRoOiA4MHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLm14X1NwYWNlUm9vbVZpZXdfbGFuZGluZ19uYW1lIHtcbiAgICAgICAgICAgIG1hcmdpbjogMjRweCAwIDE2cHg7XG4gICAgICAgICAgICBmb250LXNpemU6ICRmb250LTE1cHg7XG4gICAgICAgICAgICBjb2xvcjogJHNlY29uZGFyeS1jb250ZW50O1xuXG4gICAgICAgICAgICA+IHNwYW4ge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgZmxleC1mbG93OiBjb2x1bW47XG4gICAgICAgICAgICAgICAgZ2FwOiAxMnB4IDA7XG5cbiAgICAgICAgICAgICAgICBoMSB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgICAgICAgICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLm14X1NwYWNlUm9vbVZpZXdfbGFuZGluZ19pbnZpdGVyIHtcbiAgICAgICAgICAgICAgICAubXhfQmFzZUF2YXRhciB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogNHB4O1xuICAgICAgICAgICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5teF9TcGFjZVJvb21WaWV3X2xhbmRpbmdfaW5mb0JhciB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgICAgIGdhcDogMTJweDtcbiAgICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAkZm9udC0yNHB4O1xuXG4gICAgICAgICAgICAubXhfU3BhY2VSb29tVmlld19sYW5kaW5nX2luZm9CYXJfaW50ZXJhY3RpdmUge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgZ2FwOiAxMnB4IDEycHg7XG5cbiAgICAgICAgICAgICAgICAubXhfRmFjZVBpbGUge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAubXhfU3BhY2VSb29tVmlld19sYW5kaW5nX2ludml0ZUJ1dHRvbixcbiAgICAgICAgICAgICAgICAubXhfU3BhY2VSb29tVmlld19sYW5kaW5nX3NldHRpbmdzQnV0dG9uIHtcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFzay1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFzay1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC5teF9TcGFjZVJvb21WaWV3X2xhbmRpbmdfaW52aXRlQnV0dG9uIHtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogNHB4IDE4cHggNHB4IDQwcHg7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogbWluLWNvbnRlbnQ7XG5cbiAgICAgICAgICAgICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxlZnQ6IDhweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogMTZweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxNnB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tY3BkLWNvbG9yLWljb24tb24tc29saWQtcHJpbWFyeSk7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXNrLXNpemU6IDE2cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXNrLWltYWdlOiB1cmwoXCIkKHJlcykvaW1nL2VsZW1lbnQtaWNvbnMvcm9vbS9pbnZpdGUuc3ZnXCIpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLm14X1NwYWNlUm9vbVZpZXdfbGFuZGluZ19zZXR0aW5nc0J1dHRvbiB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAyNHB4O1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDI0cHg7XG5cbiAgICAgICAgICAgICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDI0cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMjRweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICR0ZXJ0aWFyeS1jb250ZW50O1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFzay1zaXplOiBjb250YWluO1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFzay1pbWFnZTogdXJsKFwiQHZlY3Rvci1pbS9jb21wb3VuZC1kZXNpZ24tdG9rZW5zL2ljb25zL3NldHRpbmdzLXNvbGlkLnN2Z1wiKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5teF9TcGFjZVJvb21WaWV3X2xhbmRpbmdfdG9waWMge1xuICAgICAgICAgICAgZm9udC1zaXplOiAkZm9udC0xNXB4O1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMTJweDtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDE2cHg7XG4gICAgICAgICAgICB3aGl0ZS1zcGFjZTogcHJlLXdyYXA7XG4gICAgICAgICAgICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG4gICAgICAgIH1cblxuICAgICAgICAubXhfU2VhcmNoQm94IHtcbiAgICAgICAgICAgIG1hcmdpbjogMCAwIDIwcHg7XG4gICAgICAgICAgICBmbGV4OiAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm14X1NwYWNlUm9vbVZpZXdfcHJpdmF0ZVNjb3BlIHtcbiAgICAgICAgPiAubXhfQWNjZXNzaWJsZUJ1dHRvbiB7XG4gICAgICAgICAgICBAbWl4aW4gU3BhY2VQaWxsQnV0dG9uO1xuICAgICAgICB9XG5cbiAgICAgICAgLm14X1NwYWNlUm9vbVZpZXdfcHJpdmF0ZVNjb3BlX2p1c3RNZUJ1dHRvbjo6YmVmb3JlIHtcbiAgICAgICAgICAgIG1hc2staW1hZ2U6IHVybChcIkB2ZWN0b3ItaW0vY29tcG91bmQtZGVzaWduLXRva2Vucy9pY29ucy91c2VyLXByb2ZpbGUtc29saWQuc3ZnXCIpO1xuICAgICAgICB9XG5cbiAgICAgICAgLm14X1NwYWNlUm9vbVZpZXdfcHJpdmF0ZVNjb3BlX21lQW5kTXlUZWFtbWF0ZXNCdXR0b246OmJlZm9yZSB7XG4gICAgICAgICAgICBtYXNrLWltYWdlOiB1cmwoXCIkKHJlcykvaW1nL2VsZW1lbnQtaWNvbnMvZ3JvdXAtbWVtYmVycy5zdmdcIik7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubXhfU3BhY2VSb29tVmlld19pbnZpdGVUZWFtbWF0ZXMge1xuICAgICAgICAubXhfU3BhY2VSb29tVmlld19pbnZpdGVUZWFtbWF0ZXNfYnV0dG9ucyB7XG4gICAgICAgICAgICBjb2xvcjogJHNlY29uZGFyeS1jb250ZW50O1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMjhweDtcblxuICAgICAgICAgICAgLm14X0FjY2Vzc2libGVCdXR0b24ge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAzMnB4O1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyNHB4OyAvKiB0byBjZW50ZXIgaWNvbnMgKi9cblxuICAgICAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAyNHB4O1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMjRweDtcbiAgICAgICAgICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2Vjb25kYXJ5LWNvbnRlbnQ7XG4gICAgICAgICAgICAgICAgICAgIG1hc2stcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgICAgICAgICAgIG1hc2stcG9zaXRpb246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgbWFzay1zaXplOiBjb250YWluO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICYgKyAubXhfQWNjZXNzaWJsZUJ1dHRvbiB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAzMnB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLm14X1NwYWNlUm9vbVZpZXdfaW52aXRlVGVhbW1hdGVzX2ludml0ZURpYWxvZ0J1dHRvbiB7XG4gICAgICAgICAgICAgICAgY29sb3I6IHZhcigtLWNwZC1jb2xvci10ZXh0LXByaW1hcnkpO1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1jcGQtZm9udC13ZWlnaHQtc2VtaWJvbGQpO1xuICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuXG4gICAgICAgICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgbWFzay1pbWFnZTogdXJsKFwiJChyZXMpL2ltZy9lbGVtZW50LWljb25zL3Jvb20vaW52aXRlLnN2Z1wiKTtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY3BkLWNvbG9yLWljb24tcHJpbWFyeSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuIiwiLypcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxuQ29weXJpZ2h0IDIwMjIgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cblxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuKi9cblxuLm14X1NwbGFzaFBhZ2Uge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBoZWlnaHQ6IDEwMCU7XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB6LWluZGV4OiAtMTtcbiAgICAgICAgb3BhY2l0eTogMC42O1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiByYWRpYWwtZ3JhZGllbnQoXG4gICAgICAgICAgICAgICAgNTMuODUlIDY2Ljc1JSBhdCA4Ny41NSUgMCUsXG4gICAgICAgICAgICAgICAgaHNsYSgyNTBkZWcsIDc2JSwgNzElLCAwLjI2MSkgMCUsXG4gICAgICAgICAgICAgICAgaHNsYSgyNTBkZWcsIDEwMCUsIDg4JSwgMCkgMTAwJVxuICAgICAgICAgICAgKSxcbiAgICAgICAgICAgIHJhZGlhbC1ncmFkaWVudCg0MS45MyUgNDEuOTMlIGF0IDAlIDAlLCBoc2xhKDIyMmRlZywgMjklLCAyMCUsIDAuMjgpIDAlLCBoc2xhKDI1MGRlZywgMTAwJSwgODglLCAwKSAxMDAlKSxcbiAgICAgICAgICAgIHJhZGlhbC1ncmFkaWVudCgxMDAlIDEwMCUgYXQgMCUgMCUsIGhzbGEoMjUwZGVnLCAxMDAlLCA4OCUsIDAuMTc0KSAwJSwgaHNsYSgwZGVnLCAxMDAlLCA4NiUsIDApIDEwMCUpLFxuICAgICAgICAgICAgcmFkaWFsLWdyYWRpZW50KDEwNi4zNSUgOTYuMjYlIGF0IDEwMCUgMCUsIGhzbGEoMjUwZGVnLCAxMDAlLCA4OCUsIDAuNCkgMCUsIGhzbGEoMTY3ZGVnLCA3NiUsIDgyJSwgMCkgMTAwJSk7XG4gICAgICAgIC8qIGJsdXIgdG8gcmVkdWNlIGNvbG9yIGJhbmRpbmcgaXNzdWVzIGR1ZSB0byBhbHBoYS1ibGVuZGluZyBtdWx0aXBsZSBncmFkaWVudHMgKi9cbiAgICAgICAgZmlsdGVyOiBibHVyKDhweCk7XG4gICAgICAgIGluc2V0OiAtOXB4O1xuICAgICAgICBtYXNrOlxuICAgICAgICAgICAgLyogbWFzayB0byBkaXRoZXIgcmVzdWx0aW5nIGNvbWJpbmVkIGdyYWRpZW50ICovXG4gICAgICAgICAgICB1cmwoXCIkKHJlcykvaW1nL25vaXNlLnBuZ1wiKSxcbiAgICAgICAgICAgIC8qIGdyYWRpZW50IHRvIGFwcGx5IGRpZmZlcmVudCBhbW91bnRzIG9mIGRpdGhlcmluZyB0byBkaWZmZXJlbnQgcGFydHMgb2YgdGhlIGdyYWRpZW50ICovXG4gICAgICAgICAgICAgICAgbGluZWFyLWdyYWRpZW50KFxuICAgICAgICAgICAgICAgICAgICB0byBib3R0b20sXG4gICAgICAgICAgICAgICAgICAgIC8qIDEwJSBkaXRoZXJpbmcgYXQgdGhlIHRvcCAqLyByZ2JhKDAsIDAsIDAsIDAuOSkgMjAlLFxuICAgICAgICAgICAgICAgICAgICAvKiA4MCUgZGl0aGVyaW5nIGF0IHRoZSBib3R0b20gKi8gcmdiYSgwLCAwLCAwLCAwLjIpIDEwMCVcbiAgICAgICAgICAgICAgICApO1xuICAgIH1cbn1cbiIsIi8qXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cbkNvcHlyaWdodCAyMDIxIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXG5Db3B5cmlnaHQgMjAxOSBOZXcgVmVjdG9yIEx0ZFxuQ29weXJpZ2h0IDIwMTcgVHJhdmlzIFJhbHN0b25cblxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuKi9cblxuLm14X1RhYmJlZFZpZXcge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwIDAgMCB2YXIoLS1jcGQtc3BhY2UtOHgpO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBpbnNldDogMDtcbiAgICBtYXJnaW4tdG9wOiA4cHg7XG59XG5cbi5teF9UYWJiZWRWaWV3X3RhYnNPbkxlZnQge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuXG4gICAgLm14X1RhYmJlZFZpZXdfdGFiTGFiZWxzIHtcbiAgICAgICAgd2lkdGg6IDIyMHB4O1xuICAgICAgICBtYXgtd2lkdGg6IDIyMHB4O1xuICAgICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICAgIG1hcmdpbjogMDsgLyogUmVtb3ZlIHRoZSBkZWZhdWx0IHZhbHVlICovXG4gICAgICAgIHBhZGRpbmc6IDA7IC8qIFJlbW92ZSB0aGUgZGVmYXVsdCB2YWx1ZSAqL1xuICAgIH1cblxuICAgIC5teF9UYWJiZWRWaWV3X3RhYlBhbmVsIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDI4MHB4OyAvKiAyMjBweCBzaWRlYmFyICsgNjBweCBwYWRkaW5nICovXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgfVxuXG4gICAgLm14X1RhYmJlZFZpZXdfdGFiTGFiZWw6aG92ZXIsXG4gICAgLm14X1RhYmJlZFZpZXdfdGFiTGFiZWxfYWN0aXZlIHtcbiAgICAgICAgY29sb3I6ICR0YWItbGFiZWwtYWN0aXZlLWZnLWNvbG9yO1xuXG4gICAgICAgIC5teF9UYWJiZWRWaWV3X21hc2tlZEljb246OmJlZm9yZSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jcGQtY29sb3ItaWNvbi1wcmltYXJ5KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5teF9UYWJiZWRWaWV3X3RhYkxhYmVsX2FjdGl2ZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNwZC1jb2xvci1iZy1zdWJ0bGUtc2Vjb25kYXJ5KTtcbiAgICB9XG5cbiAgICAubXhfVGFiYmVkVmlld19tYXNrZWRJY29uIHtcbiAgICAgICAgd2lkdGg6IDIwcHg7XG4gICAgICAgIGhlaWdodDogMjBweDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiB2YXIoLS1jcGQtc3BhY2UtM3gpO1xuICAgIH1cblxuICAgIC5teF9UYWJiZWRWaWV3X21hc2tlZEljb246OmJlZm9yZSB7XG4gICAgICAgIG1hc2stc2l6ZTogMjBweDtcbiAgICAgICAgd2lkdGg6IDIwcHg7XG4gICAgICAgIGhlaWdodDogMjBweDtcbiAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjFzO1xuICAgIH1cbn1cblxuLm14X1RhYmJlZFZpZXdfdGFic09uVG9wIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXG4gICAgLm14X1RhYmJlZFZpZXdfdGFiTGFiZWxzIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogOHB4O1xuICAgIH1cblxuICAgIC5teF9UYWJiZWRWaWV3X3RhYkxhYmVsIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwcHg7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDUycHg7XG5cbiAgICAgICAgLm14X1RhYmJlZFZpZXdfdGFiTGFiZWxfdGV4dCB7XG4gICAgICAgICAgICBmb250LXNpemU6IDE1cHg7XG4gICAgICAgICAgICBjb2xvcjogJHRlcnRpYXJ5LWNvbnRlbnQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubXhfVGFiYmVkVmlld190YWJQYW5lbCB7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgfVxuXG4gICAgLm14X1RhYmJlZFZpZXdfdGFiTGFiZWxfYWN0aXZlIHtcbiAgICAgICAgY29sb3I6ICRhY2NlbnQ7XG4gICAgICAgIC5teF9UYWJiZWRWaWV3X3RhYkxhYmVsX3RleHQge1xuICAgICAgICAgICAgY29sb3I6ICRhY2NlbnQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubXhfVGFiYmVkVmlld190YWJMYWJlbF9hY3RpdmUgLm14X1RhYmJlZFZpZXdfbWFza2VkSWNvbjo6YmVmb3JlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGFjY2VudDtcbiAgICB9XG5cbiAgICAubXhfVGFiYmVkVmlld19tYXNrZWRJY29uIHtcbiAgICAgICAgd2lkdGg6IDIycHg7XG4gICAgICAgIGhlaWdodDogMjJweDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDBweDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiA4cHg7XG4gICAgfVxuXG4gICAgLm14X1RhYmJlZFZpZXdfbWFza2VkSWNvbjo6YmVmb3JlIHtcbiAgICAgICAgbWFzay1zaXplOiAyMnB4O1xuICAgICAgICB3aWR0aDogaW5oZXJpdDtcbiAgICAgICAgaGVpZ2h0OiBpbmhlcml0O1xuICAgIH1cbn1cblxuLm14X1RhYmJlZFZpZXdfdGFiTGFiZWxzIHtcbiAgICBjb2xvcjogJHRhYi1sYWJlbC1mZy1jb2xvcjtcbn1cblxuLm14X1RhYmJlZFZpZXdfdGFiTGFiZWwge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdGV4dC10b3A7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHBhZGRpbmctYmxvY2s6IHZhcigtLWNwZC1zcGFjZS0yeCk7XG4gICAgcGFkZGluZy1pbmxpbmU6IHZhcigtLWNwZC1zcGFjZS0zeCkgdmFyKC0tY3BkLXNwYWNlLTR4KTtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIG1pbi1ibG9jay1zaXplOiA0MHB4O1xuICAgIG1pbi1pbmxpbmUtc2l6ZTogNDBweDtcbiAgICBib3JkZXItcmFkaXVzOiAyNHB4O1xuICAgIGZvbnQ6IHZhcigtLWNwZC1mb250LWJvZHktbWQtbWVkaXVtKTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdHJhbnNpdGlvbjpcbiAgICAgICAgY29sb3IgMC4xcyxcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvciAwLjFzO1xuXG4gICAgc3ZnIHtcbiAgICAgICAgd2lkdGg6IDIwcHg7XG4gICAgICAgIGhlaWdodDogMjBweDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiB2YXIoLS1jcGQtc3BhY2UtM3gpO1xuICAgIH1cbn1cblxuLm14X1RhYmJlZFZpZXdfbWFza2VkSWNvbiB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuXG4ubXhfVGFiYmVkVmlld19tYXNrZWRJY29uOjpiZWZvcmUge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jcGQtY29sb3ItaWNvbi1zZWNvbmRhcnkpO1xuICAgIG1hc2stcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgbWFzay1wb3NpdGlvbjogY2VudGVyO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG59XG5cbi5teF9UYWJiZWRWaWV3X3RhYkxhYmVsX3RleHQge1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG5cbi5teF9UYWJiZWRWaWV3X3RhYlBhbmVsIHtcbiAgICBmbGV4LWdyb3c6IDE7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBtaW4taGVpZ2h0OiAwOyAvKiBmaXJlZm94ICovXG59XG5cbi5teF9UYWJiZWRWaWV3X3RhYlBhbmVsQ29udGVudCB7XG4gICAgZmxleC1ncm93OiAxO1xuICAgIG92ZXJmbG93OiBhdXRvO1xuICAgIG1pbi1oZWlnaHQ6IDA7IC8qIGZpcmVmb3ggKi9cbn1cblxuLyogSGlkZSB0aGUgbGFiZWxzIG9uIHRhYnMsIHNob3dpbmcgb25seSB0aGUgaWNvbnMsIG9uIG5hcnJvdyB2aWV3cG9ydHMuICovXG5AbWVkaWEgKG1heC13aWR0aDogMTAyNHB4KSB7XG4gICAgLm14X1RhYmJlZFZpZXdfdGFic09uTGVmdC5teF9UYWJiZWRWaWV3X3Jlc3BvbnNpdmUge1xuICAgICAgICAubXhfVGFiYmVkVmlld190YWJMYWJlbF90ZXh0IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICAgICAgLm14X1RhYmJlZFZpZXdfdGFiUGFuZWwge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDcycHg7IC8qIDQwcHggc2lkZWJhciArIDMycHggcGFkZGluZyAqL1xuICAgICAgICB9XG4gICAgICAgIC5teF9UYWJiZWRWaWV3X21hc2tlZEljb24ge1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICAgIH1cbiAgICAgICAgLm14X1RhYmJlZFZpZXdfdGFiTGFiZWxzIHtcbiAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICB9XG4gICAgICAgIC5teF9UYWJiZWRWaWV3X3RhYkxhYmVsIHtcbiAgICAgICAgICAgIHBhZGRpbmctaW5saW5lOiAwIDA7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgIHN2ZyB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuIiwiLypcbiAqIENvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxuICogQ29weXJpZ2h0IDIwMjQgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cbiAqXG4gKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcbiAqIFBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXG4gKi9cblxuLm14X1RocmVhZHNBY3Rpdml0eUNlbnRyZV9jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG59XG5cbi5teF9UaHJlYWRzQWN0aXZpdHlDZW50cmVCdXR0b24ge1xuICAgIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgICBtYXJnaW46IDE4cHggYXV0byBhdXRvIGF1dG87XG5cbiAgICAmLmV4cGFuZGVkIHtcbiAgICAgICAgLyoqXG4gICAgICAgICAqIG92ZXJyaWRlIGNvbXBvdW5kIGRlZmF1bHQgYmFja2dyb3VuZCBjb2xvciB3aGVuIGhvdmVyZWRcbiAgICAgICAgICogc2hvdWxkIGRpc2FwcGVhciB3aGVuIHRoZSBzcGFjZSBwYW5lbCB3aWxsIGJlIG1pZ3JhdGVkIHRvIGNvbXBvdW5kXG4gICAgICAgICAqL1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuXG4gICAgICAgIC8qIGFsaWduIHdpdGggc2V0dGluZ3MgaWNvbiAqL1xuICAgICAgICBtYXJnaW4tbGVmdDogMjFweDtcblxuICAgICAgICAvKipcbiAgICAgICAgICogbW9kaWZ5IGludGVybmFsIGNzcyBvZiB0aGUgY29tcG91bmQgY29tcG9uZW50XG4gICAgICAgICAqIGRpcnR5IGJ1dCB3ZSBuZWVkIHRvIGFkZCB0aGUgYFRocmVhZHNgIGxhYmVsIGludG8gdGhlIGluZGljYXRvciBpY29uIGJ1dHRvblxuICAgICAgICAgKiovXG4gICAgICAgICYgPiBkaXYge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIH1cblxuICAgICAgICAmIC5teF9UaHJlYWRzQWN0aXZpdHlDZW50cmVCdXR0b25fSWNvbiB7XG4gICAgICAgICAgICAvKiBhbGlnbiB3aXRoIHNldHRpbmdzIGxhYmVsICovXG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDE0cHg7XG4gICAgICAgICAgICAvKiByZXF1aXJlZCB0byBzZXQgdGhlIGljb24gd2lkdGggd2hlbiBpbnRvIGEgZmxleCBjb250YWluZXIgKi9cbiAgICAgICAgICAgIG1pbi13aWR0aDogMjRweDtcbiAgICAgICAgfVxuXG4gICAgICAgICYgLm14X1RocmVhZHNBY3Rpdml0eUNlbnRyZUJ1dHRvbl9UZXh0IHtcbiAgICAgICAgICAgIGNvbG9yOiAkc2Vjb25kYXJ5LWNvbnRlbnQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmOm5vdCguZXhwYW5kZWQpIHtcbiAgICAgICAgJjpob3ZlcixcbiAgICAgICAgJjpob3ZlciAubXhfVGhyZWFkc0FjdGl2aXR5Q2VudHJlQnV0dG9uX0ljb24ge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHF1YXRlcm5hcnktY29udGVudDtcbiAgICAgICAgICAgIGNvbG9yOiAkcHJpbWFyeS1jb250ZW50O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJiAubXhfVGhyZWFkc0FjdGl2aXR5Q2VudHJlQnV0dG9uX0ljb24ge1xuICAgICAgICBjb2xvcjogJHNlY29uZGFyeS1jb250ZW50O1xuICAgIH1cbn1cblxuLm14X1RocmVhZHNBY3Rpdml0eUNlbnRyZV9yb3dzIHtcbiAgICBvdmVyZmxvdy15OiBzY3JvbGw7XG4gICAgLyogTGV0IHNvbWUgc3BhY2UgYXQgdGhlIHRvcCBhbmQgdGhlIGJvdHRvbSBvZiB0aGUgcG9wLXVwICovXG4gICAgbWF4LWhlaWdodDogY2FsYygxMDB2aCAtIDIwMHB4KTtcblxuICAgIC5teF9UaHJlYWRzQWN0aXZpdHlDZW50cmVSb3cge1xuICAgICAgICBoZWlnaHQ6IDQ4cHg7XG5cbiAgICAgICAgLyogTWFrZSB0aGUgbGFiZWwgb2YgdGhlIE1lbnVJdGVtIHN0YXkgb24gb25lIGxpbmUgYW5kIHRydW5jYXRlIHdpdGggZWxsaXBzaXMgaWYgbmVlZGVkICovXG4gICAgICAgICYgPiBzcGFuIHtcbiAgICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgICAgICAgICAvKiBBcmJpdHJhcnkgc2l6ZSwga2VlcCB0aGUgVEFDIGFzIHRoZSB3YW50ZWQgd2lkdGggKi9cbiAgICAgICAgICAgIHdpZHRoOiAyMDJweDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLm14X1RocmVhZHNBY3Rpdml0eUNlbnRyZV9lbXB0eUNhcHRpb24ge1xuICAgIHBhZGRpbmctbGVmdDogMTZweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxNnB4O1xuICAgIGZvbnQtc2l6ZTogMTNweDtcbn1cbiIsIi8qXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cbkNvcHlyaWdodCAyMDE5LTIwMjEgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cblxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuKi9cblxuLm14X1RvYXN0Q29udGFpbmVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDcwcHg7XG4gICAgei1pbmRleDogMTAxO1xuICAgIHBhZGRpbmc6IDRweDtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtcm93czogMWZyIDE0cHggNnB4O1xuXG4gICAgJi5teF9Ub2FzdENvbnRhaW5lcl9zdGFja2VkOjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBtYXJnaW46IDAgNHB4O1xuICAgICAgICBncmlkLXJvdzogMiAvIDQ7XG4gICAgICAgIGdyaWQtY29sdW1uOiAxO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc3lzdGVtO1xuICAgICAgICBib3gtc2hhZG93OiAwcHggNHB4IDIwcHggcmdiYSgwLCAwLCAwLCAwLjUpO1xuICAgICAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgfVxuXG4gICAgLm14X1RvYXN0X3RvYXN0IHtcbiAgICAgICAgZ3JpZC1yb3c6IDEgLyAzO1xuICAgICAgICBncmlkLWNvbHVtbjogMTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY3BkLWNvbG9yLWJnLWNhbnZhcy1kZWZhdWx0KTtcbiAgICAgICAgY29sb3I6ICRwcmltYXJ5LWNvbnRlbnQ7XG4gICAgICAgIGJveC1zaGFkb3c6IDBweCA0cHggMjRweCByZ2JhKDAsIDAsIDAsIDAuMSk7XG4gICAgICAgIGJvcmRlcjogdmFyKC0tY3BkLWJvcmRlci13aWR0aC0xKSBzb2xpZCB2YXIoLS1jcGQtY29sb3ItYm9yZGVyLWludGVyYWN0aXZlLXNlY29uZGFyeSk7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDEycHg7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMjJweCAxZnI7XG4gICAgICAgIGNvbHVtbi1nYXA6IDhweDtcbiAgICAgICAgcm93LWdhcDogNHB4O1xuICAgICAgICBwYWRkaW5nOiB2YXIoLS1jcGQtc3BhY2UtM3gpO1xuXG4gICAgICAgICYubXhfVG9hc3RfaGFzSWNvbiB7XG4gICAgICAgICAgICAmOjpiZWZvcmUsXG4gICAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgICAgICB3aWR0aDogMjJweDtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDIycHg7XG4gICAgICAgICAgICAgICAgZ3JpZC1jb2x1bW46IDE7XG4gICAgICAgICAgICAgICAgZ3JpZC1yb3c6IDE7XG4gICAgICAgICAgICAgICAgbWFzay1zaXplOiAxMDAlO1xuICAgICAgICAgICAgICAgIG1hc2stcG9zaXRpb246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBtYXNrLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJTtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLm14X1RvYXN0X2ljb25fdmVyaWZpY2F0aW9uOjphZnRlciB7XG4gICAgICAgICAgICAgICAgbWFzay1pbWFnZTogdXJsKFwiJChyZXMpL2ltZy9lMmUvbm9ybWFsLnN2Z1wiKTtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJpbWFyeS1jb250ZW50O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLm14X1RvYXN0X2ljb25fdmVyaWZpY2F0aW9uX3dhcm5pbmcge1xuICAgICAgICAgICAgICAgIC8qIHdoaXRlIGluZmlsbCBmb3IgdGhlIGhvbGxvdyBzdmcgbWFzayAqL1xuICAgICAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgICAgICAgICAgICAgICAgIG1hc2staW1hZ2U6IHVybChcIiQocmVzKS9pbWcvZTJlL25vcm1hbC5zdmdcIik7XG4gICAgICAgICAgICAgICAgICAgIG1hc2stc2l6ZTogODAlO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgbWFzay1pbWFnZTogdXJsKFwiJChyZXMpL2ltZy9lMmUvd2FybmluZy5zdmdcIik7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRlMmUtd2FybmluZy1jb2xvcjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYubXhfVG9hc3RfaWNvbl9zZWN1cmVfYmFja3VwOjphZnRlciB7XG4gICAgICAgICAgICAgICAgbWFzay1pbWFnZTogdXJsKFwiJChyZXMpL2ltZy9mZWF0aGVyLWN1c3RvbWlzZWQvc2VjdXJlLWJhY2t1cC5zdmdcIik7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHByaW1hcnktY29udGVudDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi5teF9Ub2FzdF9pY29uX2xhYnM6OmFmdGVyIHtcbiAgICAgICAgICAgICAgICBtYXNrLWltYWdlOiB1cmwoXCIkKHJlcykvaW1nL2VsZW1lbnQtaWNvbnMvZmxhc2suc3ZnXCIpO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRzZWNvbmRhcnktY29udGVudDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLm14X1RvYXN0X3RpdGxlLFxuICAgICAgICAgICAgLm14X1RvYXN0X2JvZHkge1xuICAgICAgICAgICAgICAgIGdyaWQtY29sdW1uOiAyO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICY6bm90KC5teF9Ub2FzdF9oYXNJY29uKSB7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDEycHg7XG5cbiAgICAgICAgICAgIC5teF9Ub2FzdF90aXRsZSB7XG4gICAgICAgICAgICAgICAgZ3JpZC1jb2x1bW46IDEgLyAtMTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5teF9Ub2FzdF90aXRsZSxcbiAgICAgICAgLm14X1RvYXN0X2Rlc2NyaXB0aW9uIHtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDhweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5teF9Ub2FzdF90aXRsZSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIGNvbHVtbi1nYXA6IDhweDtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcblxuICAgICAgICAgICAgaDIge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgICAgICBmb250OiB2YXIoLS1jcGQtZm9udC1ib2R5LWxnLXNlbWlib2xkKTtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgICAgICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5teF9Ub2FzdF90aXRsZV9jb3VudEluZGljYXRvciB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAkZm9udC0xMnB4O1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAkZm9udC0yMnB4O1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkc2Vjb25kYXJ5LWNvbnRlbnQ7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWlubGluZS1zdGFydDogYXV0bzsgLyogb24gdGhlIGVuZCBzaWRlIG9mIHRoZSBkaXYgKi9cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5teF9Ub2FzdF9ib2R5IHtcbiAgICAgICAgICAgIGdyaWQtY29sdW1uOiAxIC8gMztcbiAgICAgICAgICAgIGdyaWQtcm93OiAyO1xuICAgICAgICB9XG5cbiAgICAgICAgLm14X1RvYXN0X2J1dHRvbnMge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICAgICAgICBjb2x1bW4tZ2FwOiA1cHg7XG5cbiAgICAgICAgICAgIC5teF9BY2Nlc3NpYmxlQnV0dG9uIHtcbiAgICAgICAgICAgICAgICBtaW4td2lkdGg6IDk2cHg7XG4gICAgICAgICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5teF9Ub2FzdF9kZXNjcmlwdGlvbiB7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDI3MnB4O1xuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgICAgICAgICAgbWFyZ2luOiA0cHggMCAxMXB4IDA7XG4gICAgICAgICAgICBjb2xvcjogJHNlY29uZGFyeS1jb250ZW50O1xuICAgICAgICAgICAgZm9udDogdmFyKC0tY3BkLWZvbnQtYm9keS1zbS1yZWd1bGFyKTtcblxuICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLm14X1RvYXN0X2RldmljZUlEIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtMTBweDtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi8qXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cbkNvcHlyaWdodCAyMDE1LCAyMDE2ICwgMjAyMSBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxuXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXG4qL1xuXG4ubXhfVXBsb2FkQmFyIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDY1cHg7IC8qIGxpbmUgdXAgd2l0aCB0aGUgc2hpZWxkIGFyZWEgaW4gdGhlIGNvbXBvc2VyICovXG4gICAgcGFkZGluZy10b3A6IDVweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAubXhfUHJvZ3Jlc3NCYXIge1xuICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gNDBweCk7IC8qIGNoZWF0aW5nIGF0IGEgcmlnaHQgbWFyZ2luICovXG4gICAgfVxufVxuXG4ubXhfVGhyZWFkVmlldyB7XG4gICAgLm14X1VwbG9hZEJhciB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICB9XG59XG5cbi5teF9VcGxvYWRCYXJfZmlsZW5hbWUge1xuICAgIGNvbG9yOiAkbXV0ZWQtZmctY29sb3I7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmctcmlnaHQ6IDM4cHg7IC8qIDMycHggZm9yIGNhbmNlbCBpY29uLCA2cHggZm9yIHBhZGRpbmcgKi9cbiAgICBwYWRkaW5nLWxlZnQ6IDIycHg7IC8qIDE4cHggZm9yIGljb24sIDRweCBmb3IgcGFkZGluZyAqL1xuICAgIGZvbnQtc2l6ZTogJGZvbnQtMTVweDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgaGVpZ2h0OiAxOHB4O1xuICAgICAgICB3aWR0aDogMThweDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIG1hc2stcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgIG1hc2stcG9zaXRpb246IGNlbnRlcjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG11dGVkLWZnLWNvbG9yO1xuICAgICAgICBtYXNrLWltYWdlOiB1cmwoXCIkKHJlcykvaW1nL2VsZW1lbnQtaWNvbnMvdXBsb2FkLnN2Z1wiKTtcbiAgICB9XG59XG5cbi5teF9VcGxvYWRCYXJfY2FuY2VsIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGhlaWdodDogMTZweDtcbiAgICB3aWR0aDogMTZweDtcbiAgICBtYXJnaW4tcmlnaHQ6IDE2cHg7IC8qIGFsaWduIG92ZXIgcmlnaHRtb3N0IGJ1dHRvbiBpbiBjb21wb3NlciAqL1xuICAgIG1hcmdpbi10b3A6IDVweDtcbiAgICBtYXNrLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIG1hc2stcG9zaXRpb246IGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbXV0ZWQtZmctY29sb3I7XG4gICAgbWFzay1pbWFnZTogdXJsKFwiQHZlY3Rvci1pbS9jb21wb3VuZC1kZXNpZ24tdG9rZW5zL2ljb25zL2Nsb3NlLnN2Z1wiKTtcbn1cbiIsIi8qXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cbkNvcHlyaWdodCAyMDIwIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXG5cblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cbiovXG5cbi5teF9Vc2VyTWVudSB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgICAubXhfQWNjZXNzaWJsZUJ1dHRvbiB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgICAgICAgLm14X1VzZXJNZW51X3VzZXJBdmF0YXIge1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICAgICAubXhfQmFzZUF2YXRhciB7XG4gICAgICAgICAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7IC8qIG1ha2VzIHRoZSBhdmF0YXIgbm9uLWRyYWdnYWJsZSAqL1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm14X1VzZXJNZW51X2NvbnRleHRNZW51QnV0dG9uIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgLm14X1VzZXJNZW51X25hbWUge1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLWNwZC1mb250LXdlaWdodC1zZW1pYm9sZCk7XG4gICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtMTVweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6ICRmb250LTI0cHg7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xuICAgIH1cblxuICAgIC5teF9Vc2VyTWVudV9kbmRCYWRnZSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgYm90dG9tOiAtMnB4O1xuICAgICAgICByaWdodDogLTdweDtcbiAgICAgICAgd2lkdGg6IDE2cHg7XG4gICAgICAgIGhlaWdodDogMTZweDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuXG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgd2lkdGg6IDE2cHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDE2cHg7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBtYXNrLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICAgICAgICBtYXNrLXNpemU6IGNvbnRhaW47XG4gICAgICAgICAgICBtYXNrLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGFsZXJ0O1xuICAgICAgICAgICAgbWFzay1pbWFnZTogdXJsKFwiJChyZXMpL2ltZy9lbGVtZW50LWljb25zL3Jvb21saXN0L2RuZC5zdmdcIik7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5teF9JY29uaXplZENvbnRleHRNZW51IHtcbiAgICAmLm14X1VzZXJNZW51X2NvbnRleHRNZW51IHtcbiAgICAgICAgd2lkdGg6IDI1OHB4O1xuICAgIH1cbn1cblxuLm14X1VzZXJNZW51X2NvbnRleHRNZW51IHtcbiAgICAmLm14X0ljb25pemVkQ29udGV4dE1lbnUgLm14X0ljb25pemVkQ29udGV4dE1lbnVfb3B0aW9uTGlzdF9yZWQge1xuICAgICAgICAubXhfQWNjZXNzaWJsZUJ1dHRvbiB7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogMTZweDtcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAxNnB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm14X1VzZXJNZW51X2NvbnRleHRNZW51X2hlYWRlciB7XG4gICAgICAgIHBhZGRpbmc6IDIwcHg7XG5cbiAgICAgICAgLyogQ3JlYXRlIGEgZmxleGJveCB0byBvcmdhbml6ZSB0aGUgaGVhZGVyIGEgYml0IGVhc2llciAqL1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gICAgICAgIC5teF9Vc2VyTWVudV9jb250ZXh0TWVudV9uYW1lIHtcbiAgICAgICAgICAgIC8qIENyZWF0ZSBhbm90aGVyIGZsZXhib3ggb2YgY29sdW1ucyB0byBoYW5kbGUgbGFyZ2UgdXNlciBJRHMgKi9cbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDQwcHgpOyAvKiA0MHB4ID0gMzJweCB0aGVtZSBidXR0b24gKyA4cHggbWFyZ2luIHRvIHRoZW1lIGJ1dHRvbiAqL1xuXG4gICAgICAgICAgICAubXhfVXNlck1lbnVfY29udGV4dE1lbnVfZGlzcGxheU5hbWUsXG4gICAgICAgICAgICAubXhfVXNlck1lbnVfY29udGV4dE1lbnVfdXNlcklkIHtcbiAgICAgICAgICAgICAgICBmb250OiB2YXIoLS1jcGQtZm9udC1ib2R5LWxnLXJlZ3VsYXIpO1xuXG4gICAgICAgICAgICAgICAgLyogQXV0b21hdGljYWxseSBncm93IHN1YmVsZW1lbnRzIHRvIGZpdCB0aGUgY29udGFpbmVyICovXG4gICAgICAgICAgICAgICAgZmxleDogMTtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICAgICAgICAgIC8qIEVsbGlwc2l6ZSB0ZXh0IG92ZXJmbG93ICovXG4gICAgICAgICAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAubXhfVXNlck1lbnVfY29udGV4dE1lbnVfZGlzcGxheU5hbWUge1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1jcGQtZm9udC13ZWlnaHQtc2VtaWJvbGQpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLm14X1VzZXJNZW51X2NvbnRleHRNZW51X3RoZW1lQnV0dG9uIHtcbiAgICAgICAgICAgIG1pbi13aWR0aDogMzJweDtcbiAgICAgICAgICAgIG1heC13aWR0aDogMzJweDtcbiAgICAgICAgICAgIHdpZHRoOiAzMnB4O1xuICAgICAgICAgICAgaGVpZ2h0OiAzMnB4O1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDhweDtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDMycHg7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGhlbWUtYnV0dG9uLWJnLWNvbG9yO1xuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgICAgICAgICAvKiB0byBtYWtlIGFsaWdubWVudCBlYXNpZXIsIGNyZWF0ZSBmbGV4Ym94IGZvciB0aGUgaW1hZ2UgKi9cbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIH1cblxuICAgICAgICAmLm14X1VzZXJNZW51X2NvbnRleHRNZW51X2d1ZXN0UHJvbXB0cyB7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcblxuICAgICAgICAgICAgPiBzcGFuIHtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogdmFyKC0tY3BkLWZvbnQtd2VpZ2h0LXNlbWlib2xkKTtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICAgICAgICAgICAgICYgKyBzcGFuIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogOHB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5teF9JY29uaXplZENvbnRleHRNZW51X2ljb24ge1xuICAgICAgICB3aWR0aDogMTZweDtcbiAgICAgICAgaGVpZ2h0OiAxNnB4O1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgIHdpZHRoOiAxNnB4O1xuICAgICAgICAgICAgaGVpZ2h0OiAxNnB4O1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBtYXNrLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICAgICAgICBtYXNrLXNpemU6IGNvbnRhaW47XG4gICAgICAgICAgICBtYXNrLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgICAgYmFja2dyb3VuZDogJGljb24tYnV0dG9uLWNvbG9yO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm14X1VzZXJNZW51X2ljb25Ib21lOjpiZWZvcmUge1xuICAgICAgICBtYXNrLWltYWdlOiB1cmwoXCJAdmVjdG9yLWltL2NvbXBvdW5kLWRlc2lnbi10b2tlbnMvaWNvbnMvaG9tZS1zb2xpZC5zdmdcIik7XG4gICAgfVxuXG4gICAgLm14X1VzZXJNZW51X2ljb25EbmQ6OmJlZm9yZSB7XG4gICAgICAgIG1hc2staW1hZ2U6IHVybChcIiQocmVzKS9pbWcvZWxlbWVudC1pY29ucy9yb29tbGlzdC9kbmQuc3ZnXCIpO1xuICAgIH1cblxuICAgIC5teF9Vc2VyTWVudV9pY29uRG5kT2ZmOjpiZWZvcmUge1xuICAgICAgICBtYXNrLWltYWdlOiB1cmwoXCIkKHJlcykvaW1nL2VsZW1lbnQtaWNvbnMvcm9vbWxpc3QvZG5kLWNyb3NzLnN2Z1wiKTtcbiAgICB9XG5cbiAgICAubXhfVXNlck1lbnVfaWNvbkJlbGw6OmJlZm9yZSB7XG4gICAgICAgIG1hc2staW1hZ2U6IHVybChcIiQocmVzKS9pbWcvZWxlbWVudC1pY29ucy9ub3RpZmljYXRpb25zLnN2Z1wiKTtcbiAgICB9XG5cbiAgICAubXhfVXNlck1lbnVfaWNvbkxvY2s6OmJlZm9yZSB7XG4gICAgICAgIG1hc2staW1hZ2U6IHVybChcIkB2ZWN0b3ItaW0vY29tcG91bmQtZGVzaWduLXRva2Vucy9pY29ucy9sb2NrLXNvbGlkLnN2Z1wiKTtcbiAgICB9XG5cbiAgICAubXhfVXNlck1lbnVfaWNvblNldHRpbmdzOjpiZWZvcmUge1xuICAgICAgICBtYXNrLWltYWdlOiB1cmwoXCJAdmVjdG9yLWltL2NvbXBvdW5kLWRlc2lnbi10b2tlbnMvaWNvbnMvc2V0dGluZ3Mtc29saWQuc3ZnXCIpO1xuICAgIH1cblxuICAgIC5teF9Vc2VyTWVudV9pY29uTWVzc2FnZTo6YmVmb3JlIHtcbiAgICAgICAgbWFzay1pbWFnZTogdXJsKFwiJChyZXMpL2ltZy9lbGVtZW50LWljb25zL2ZlZWRiYWNrLnN2Z1wiKTtcbiAgICB9XG5cbiAgICAubXhfVXNlck1lbnVfaWNvblNpZ25PdXQ6OmJlZm9yZSB7XG4gICAgICAgIG1hc2staW1hZ2U6IHVybChcIkB2ZWN0b3ItaW0vY29tcG91bmQtZGVzaWduLXRva2Vucy9pY29ucy9sZWF2ZS5zdmdcIik7XG4gICAgfVxuXG4gICAgLm14X1VzZXJNZW51X2ljb25Rcjo6YmVmb3JlIHtcbiAgICAgICAgbWFzay1pbWFnZTogdXJsKFwiQHZlY3Rvci1pbS9jb21wb3VuZC1kZXNpZ24tdG9rZW5zL2ljb25zL3FyLWNvZGUuc3ZnXCIpO1xuICAgIH1cbn1cbiIsIi8qXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cbkNvcHlyaWdodCAyMDE1LCAyMDE2IE9wZW5NYXJrZXQgTHRkXG5cblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cbiovXG5cbi5teF9WaWV3U291cmNlIHtcbiAgICBwcmUge1xuICAgICAgICBmb250LXNpemU6ICRmb250LTEycHg7XG4gICAgICAgIHBhZGRpbmc6IDAuNWVtIDFlbTtcbiAgICAgICAgd29yZC13cmFwOiBicmVhay13b3JkO1xuICAgICAgICB3aGl0ZS1zcGFjZTogcHJlLXdyYXA7XG4gICAgICAgIG92ZXJmbG93LXdyYXA6IGFueXdoZXJlO1xuICAgIH1cblxuICAgIC5teF9WaWV3U291cmNlX2hlYWRlciB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkcXVpbmFyeS1jb250ZW50O1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogJHNwYWNpbmctMTI7XG4gICAgICAgIG1hcmdpbi1ib3R0b206ICRzcGFjaW5nLTEyO1xuICAgICAgICBmb250LWZhbWlseTogbW9ub3NwYWNlO1xuXG4gICAgICAgIC5teF9Db3B5YWJsZVRleHQge1xuICAgICAgICAgICAgd29yZC1icmVhazogYnJlYWstYWxsO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm14X1ZpZXdTb3VyY2VfaGVhZGluZyB7XG4gICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtMTdweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgY29sb3I6ICRwcmltYXJ5LWNvbnRlbnQ7XG4gICAgICAgIG1hcmdpbi10b3A6ICRzcGFjaW5nLTEyO1xuICAgIH1cblxuICAgIC5teF9WaWV3U291cmNlX2RldGFpbHMge1xuICAgICAgICBtYXJnaW4tdG9wOiAkc3BhY2luZy0xMjtcbiAgICB9XG5cbiAgICAubXhfQ29weWFibGVUZXh0X2JvcmRlciB7XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbn1cbiIsIi8qXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cbkNvcHlyaWdodCAyMDIwIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXG5cblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cbiovXG5cbi5teF9Db21wbGV0ZVNlY3VyaXR5X2hlYWRlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG4ubXhfQ29tcGxldGVTZWN1cml0eV9oZWFkZXJJY29uIHtcbiAgICB3aWR0aDogMjRweDtcbiAgICBoZWlnaHQ6IDI0cHg7XG4gICAgbWFyZ2luLXJpZ2h0OiA0cHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4ubXhfQ29tcGxldGVTZWN1cml0eV9oZXJvSWNvbiB7XG4gICAgd2lkdGg6IDEyOHB4O1xuICAgIGhlaWdodDogMTI4cHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1hcmdpbjogMCBhdXRvO1xufVxuXG4ubXhfQ29tcGxldGVTZWN1cml0eV9za2lwIHtcbiAgICBAbWl4aW4gY3VzdG9taXNlZENhbmNlbEJ1dHRvbjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDI0cHg7XG59XG5cbi5teF9Db21wbGV0ZVNlY3VyaXR5X2JvZHkge1xuICAgIGZvbnQtc2l6ZTogJGZvbnQtMTVweDtcbn1cblxuLm14X0NvbXBsZXRlU2VjdXJpdHlfd2FpdGluZyB7XG4gICAgY29sb3I6ICR0ZXJ0aWFyeS1jb250ZW50O1xufVxuXG4ubXhfQ29tcGxldGVTZWN1cml0eV9hY3Rpb25Sb3cge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICBtYXJnaW4tdG9wOiAkZm9udC0yOHB4O1xuXG4gICAgLm14X0FjY2Vzc2libGVCdXR0b24ge1xuICAgICAgICBtYXJnaW4taW5saW5lLXN0YXJ0OiAxOHB4O1xuXG4gICAgICAgICYud2FybmluZyB7XG4gICAgICAgICAgICBjb2xvcjogJGFsZXJ0O1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiLypcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxuQ29weXJpZ2h0IDIwMTktMjAyMyBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxuXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXG4qL1xuXG4ubXhfQ29uZmlybVNlc3Npb25Mb2NrVGhlZnRWaWV3IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuXG4ubXhfQ29uZmlybVNlc3Npb25Mb2NrVGhlZnRWaWV3X2JvZHkge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBtYXgtd2lkdGg6IDQwMHB4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG4iLCIvKlxuQ29weXJpZ2h0IDIwMTktMjAyNCBOZXcgVmVjdG9yIEx0ZC5cbkNvcHlyaWdodCAyMDE1LCAyMDE2IE9wZW5NYXJrZXQgTHRkXG5cblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cbiovXG5cbi5teF9Mb2dpbl9zdWJtaXQge1xuICAgIEBtaXhpbiBteF9EaWFsb2dCdXR0b247XG4gICAgZm9udC1zaXplOiAxNXB4O1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1jcGQtZm9udC13ZWlnaHQtc2VtaWJvbGQpO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi10b3A6IDI0cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMjRweDtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLm14X0xvZ2luX3N1Ym1pdDpkaXNhYmxlZCB7XG4gICAgb3BhY2l0eTogMC4zO1xuICAgIGN1cnNvcjogZGVmYXVsdDtcbn1cblxuLm14X0xvZ2luX2xvYWRlciB7XG4gICAgZGlzcGxheTogaW5saW5lO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IDJweDtcbiAgICBsZWZ0OiA4cHg7XG59XG5cbi5teF9Mb2dpbl9sb2FkZXIgLm14X1NwaW5uZXIge1xuICAgIGRpc3BsYXk6IGlubGluZTtcbn1cblxuLm14X0xvZ2luX2xvYWRlciAubXhfU3Bpbm5lciBpbWcge1xuICAgIHdpZHRoOiAxNnB4O1xuICAgIGhlaWdodDogMTZweDtcbn1cblxuLm14X0xvZ2luX2Vycm9yIHtcbiAgICBjb2xvcjogJGFsZXJ0O1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBtYXJnaW4tdG9wOiAxMnB4O1xuICAgIG1hcmdpbi1ib3R0b206IDEycHg7XG59XG5cbi5teF9Mb2dpbl9lcnJvci5teF9Mb2dpbl9zZXJ2ZXJFcnJvciB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xufVxuXG4ubXhfTG9naW5fZXJyb3IubXhfTG9naW5fc2VydmVyRXJyb3IubXhfTG9naW5fc2VydmVyRXJyb3JOb25GYXRhbCB7XG4gICAgY29sb3I6ICNmZjhkMTM7IC8qIE9ubHkgdXNlZCBoZXJlICovXG59XG5cbi5teF9Mb2dpbl90eXBlX2NvbnRhaW5lciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGNvbG9yOiAkYXV0aHBhZ2UtcHJpbWFyeS1jb2xvcjtcblxuICAgIC5teF9GaWVsZCB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICB9XG59XG5cbi5teF9Mb2dpbl90eXBlX2xhYmVsIHtcbiAgICBmbGV4OiAxO1xufVxuXG4ubXhfTG9naW5fdW5kZXJsaW5lZFNlcnZlck5hbWUge1xuICAgIHdpZHRoOiBtYXgtY29udGVudDtcbiAgICBib3JkZXItYm90dG9tOiAxcHggZGFzaGVkICRhY2NlbnQ7XG59XG5cbmRpdi5teF9BY2Nlc3NpYmxlQnV0dG9uX2tpbmRfbGluay5teF9Mb2dpbl9mb3Jnb3Qge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbi10b3A6IDI0cHg7XG5cbiAgICAmLm14X0FjY2Vzc2libGVCdXR0b25fZGlzYWJsZWQge1xuICAgICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICAgIH1cbn1cblxuLm14X0xvZ2luX3NwaW5uZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBhbGlnbi1jb250ZW50OiBjZW50ZXI7XG4gICAgcGFkZGluZzogMTRweDtcbn1cblxuLm14X0xvZ2luX2Z1bGxXaWR0aEJ1dHRvbiB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLWJvdHRvbTogMTZweDtcbn1cbiIsIi8qXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cbkNvcHlyaWdodCAyMDE1LTIwMjQgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cblxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuKi9cblxuLm14X0xvZ2luU3BsYXNoVmlld19taWdyYXRpb25Qcm9ncmVzcyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG5cbiAgICAubXhfUHJvZ3Jlc3NCYXIge1xuICAgICAgICBoZWlnaHQ6IDhweDtcbiAgICAgICAgd2lkdGg6IDYwMHB4O1xuXG4gICAgICAgIEBtaXhpbiBQcm9ncmVzc0JhckJvcmRlclJhZGl1cyA4cHg7XG4gICAgfVxufVxuXG4ubXhfTG9naW5TcGxhc2hWaWV3X3NwbGFzaEJ1dHRvbnMge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiAzMHB4O1xufVxuXG4ubXhfTG9naW5TcGxhc2hWaWV3X3N5bmNFcnJvciB7XG4gICAgY29sb3I6ICRhY2NlbnQtZmctY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2RmMmE4YjsgLyogT25seSB1c2VkIGhlcmUgKi9cbiAgICBib3JkZXItcmFkaXVzOiA1cHg7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgcGFkZGluZzogMzBweDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAxMDBweDtcbiAgICBsZWZ0OiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xufVxuIiwiLypcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxuXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXG4qL1xuXG4ubXhfTW9iaWxlUmVnaXN0ZXJfYm9keSB7XG4gICAgcGFkZGluZzogMzJweDtcbiAgICBoZWlnaHQ6IDEwMHZoO1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbn1cbiIsIi8qXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cbkNvcHlyaWdodCAyMDIyIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXG5cblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cbiovXG5cbi5teF9SZWdpc3Rlcl9tYWluQ29udGVudCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGZsZXgtZ3JvdzogMTtcbiAgICBtaW4taGVpZ2h0OiAyNzBweDtcblxuICAgIHAge1xuICAgICAgICBmb250OiB2YXIoLS1jcGQtZm9udC1ib2R5LW1kLXJlZ3VsYXIpO1xuICAgICAgICBjb2xvcjogJGF1dGhwYWdlLXByaW1hcnktY29sb3I7XG5cbiAgICAgICAgJi5zZWNvbmRhcnkge1xuICAgICAgICAgICAgY29sb3I6ICRhdXRocGFnZS1zZWNvbmRhcnktY29sb3I7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICA+IGltZzpmaXJzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDE2cHg7XG4gICAgICAgIHdpZHRoOiBtYXgtY29udGVudDtcbiAgICB9XG5cbiAgICAubXhfTG9naW5fc3VibWl0IHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG59XG5cbi5teF9SZWdpc3Rlcl9mb290ZXJBY3Rpb25zIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIHBhZGRpbmctdG9wOiAxNnB4O1xuICAgIG1hcmdpbi10b3A6IDE2cHg7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHJnYmEoMTQxLCAxNTEsIDE2NSwgMC4yKTtcblxuICAgID4gKiB7XG4gICAgICAgIGZsZXgtYmFzaXM6IGNvbnRlbnQ7XG4gICAgfVxufVxuIiwiLypcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxuQ29weXJpZ2h0IDIwMjMgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cblxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuKi9cblxuLm14X1Nlc3Npb25Mb2NrU3RvbGVuVmlldyB7XG4gICAgaDEge1xuICAgICAgICBmb250LXdlaWdodDogdmFyKC0tY3BkLWZvbnQtd2VpZ2h0LXNlbWlib2xkKTtcbiAgICAgICAgZm9udC1zaXplOiAkZm9udC0zMnB4O1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgfVxuXG4gICAgaDIge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtMjRweDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cbn1cbiIsIi8qXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cbkNvcHlyaWdodCAyMDIxIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXG5cblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cbiovXG5cbi5teF9TZXR1cEVuY3J5cHRpb25Cb2R5X3Jlc2V0IHtcbiAgICBjb2xvcjogJGxpZ2h0LWZnLWNvbG9yO1xuICAgIG1hcmdpbi10b3A6ICRmb250LTE0cHg7XG5cbiAgICAubXhfU2V0dXBFbmNyeXB0aW9uQm9keV9yZXNldF9saW5rIHtcbiAgICAgICAgJi5teF9BY2Nlc3NpYmxlQnV0dG9uX2tpbmRfbGlua19pbmxpbmUge1xuICAgICAgICAgICAgY29sb3I6ICRhbGVydDtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi8qXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cbkNvcHlyaWdodCAyMDIxIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXG5cblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cbiovXG5cbi5teF9NZWRpYUJvZHkubXhfQXVkaW9QbGF5ZXJfY29udGFpbmVyIHtcbiAgICBwYWRkaW5nOiAxNnB4IDEycHggMTJweCAxMnB4O1xuXG4gICAgLm14X0F1ZGlvUGxheWVyX3ByaW1hcnlDb250YWluZXIge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuXG4gICAgICAgIC5teF9QbGF5UGF1c2VCdXR0b24ge1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiA4cHg7XG4gICAgICAgIH1cblxuICAgICAgICAubXhfQXVkaW9QbGF5ZXJfbWVkaWFJbmZvIHtcbiAgICAgICAgICAgIGZsZXg6IDE7XG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuOyAvKiBtYWtlcyB0aGUgZWxsaXBzaXMgb24gdGhlIGZpbGUgbmFtZSB3b3JrICovXG5cbiAgICAgICAgICAgICYgPiAqIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLm14X0F1ZGlvUGxheWVyX21lZGlhTmFtZSB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRwcmltYXJ5LWNvbnRlbnQ7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAkZm9udC0xNXB4O1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAkZm9udC0xNXB4O1xuICAgICAgICAgICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgICAgICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogNHB4OyAvKiBtaW1pY3MgdGhlIGxpbmUtaGVpZ2h0IGRpZmZlcmVuY2VzIGluIHRoZSBGaWdtYSAqL1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAubXhfQXVkaW9QbGF5ZXJfYnlsaW5lIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6ICRmb250LTEycHg7XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6ICRmb250LTEycHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubXhfQXVkaW9QbGF5ZXJfc2VlayB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgICAgICAgLm14X1NlZWtCYXIge1xuICAgICAgICAgICAgZmxleDogMTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5teF9DbG9jayB7XG4gICAgICAgICAgICBtaW4td2lkdGg6ICRmb250LTQycHg7IC8qIGZvciBmbGV4Ym94ICovXG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6ICRzcGFjaW5nLTQ7IC8qIGlzb2xhdGUgZnJvbSBzZWVrIGJhciAqL1xuICAgICAgICAgICAgdGV4dC1hbGlnbjoganVzdGlmeTtcbiAgICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIvKlxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXG5Db3B5cmlnaHQgMjAyMSBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxuXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXG4qL1xuXG4ubXhfUGxheVBhdXNlQnV0dG9uIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgd2lkdGg6IDMycHg7XG4gICAgaGVpZ2h0OiAzMnB4O1xuICAgIG1pbi13aWR0aDogMzJweDsgLyogZm9yIHdoZW4gdGhlIGJ1dHRvbiBpcyB1c2VkIGluIGEgZmxleGJveCAqL1xuICAgIG1pbi1oZWlnaHQ6IDMycHg7IC8qIGZvciB3aGVuIHRoZSBidXR0b24gaXMgdXNlZCBpbiBhIGZsZXhib3ggKi9cbiAgICBib3JkZXItcmFkaXVzOiAzMnB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRzeXN0ZW07XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7IC8qIHNpemluZyB2YXJpZXMgYnkgaWNvbiAqL1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2Vjb25kYXJ5LWNvbnRlbnQ7XG4gICAgICAgIG1hc2stcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgIG1hc2stc2l6ZTogY29udGFpbjtcbiAgICAgICAgdG9wOiA2cHg7IC8qIGNlbnRlciAqL1xuICAgICAgICBsZWZ0OiA2cHg7IC8qIGNlbnRlciAqL1xuICAgICAgICB3aWR0aDogMjBweDtcbiAgICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgIH1cblxuICAgICYubXhfUGxheVBhdXNlQnV0dG9uX2Rpc2FibGVkOjpiZWZvcmUge1xuICAgICAgICBvcGFjaXR5OiAwLjU7XG4gICAgfVxuXG4gICAgJi5teF9QbGF5UGF1c2VCdXR0b25fcGxheTo6YmVmb3JlIHtcbiAgICAgICAgbWFzay1pbWFnZTogdXJsKFwiQHZlY3Rvci1pbS9jb21wb3VuZC1kZXNpZ24tdG9rZW5zL2ljb25zL3BsYXktc29saWQuc3ZnXCIpO1xuICAgIH1cblxuICAgICYubXhfUGxheVBhdXNlQnV0dG9uX3BhdXNlOjpiZWZvcmUge1xuICAgICAgICBtYXNrLWltYWdlOiB1cmwoXCJAdmVjdG9yLWltL2NvbXBvdW5kLWRlc2lnbi10b2tlbnMvaWNvbnMvcGF1c2Utc29saWQuc3ZnXCIpO1xuICAgIH1cbn1cbiIsIi8qXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cbkNvcHlyaWdodCAyMDIxLCAyMDIyIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXG5cblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cbiovXG5cbi8qIERldiBub3RlOiB0aGVyZSdzIG5vIGFjdHVhbCBjb21wb25lbnQgY2FsbGVkIDxQbGF5YmFja0NvbnRhaW5lciAvPi4gVGhlc2UgY2xhc3NlcyAqL1xuLyogYXJlIHNoYXJlZCBhbW9uZ3N0IG11bHRpcGxlIHZvaWNlIG1lc3NhZ2UgY29tcG9uZW50cy4gKi9cblxuLyogQ29udGFpbmVyIGZvciBsaXZlIHJlY29yZGluZyBhbmQgcGxheWJhY2sgY29udHJvbHMgKi9cbi5teF9NZWRpYUJvZHkubXhfVm9pY2VNZXNzYWdlUHJpbWFyeUNvbnRhaW5lciB7XG4gICAgLyogVGhlIHdhdmVmb3JtIChyaWdodCkgaGFzIGEgMXB4IHBhZGRpbmcgb24gaXQgdGhhdCB3ZSB3YW50IHRvIGFjY291bnQgZm9yLCBvdGhlcndpc2UgKi9cbiAgICAvKiBpbmhlcml0IGZyb20gbXhfTWVkaWFCb2R5ICovXG4gICAgcGFkZGluZy1yaWdodDogMTFweDtcblxuICAgIC8qIENoZWF0IGF0IGFsaWdubWVudCBhIGJpdCAqL1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgIGNvbnRhaW46IGNvbnRlbnQ7XG5cbiAgICAubXhfV2F2ZWZvcm0sXG4gICAgLm14X1JlY29yZGluZ1BsYXliYWNrX3RpbWVsaW5lTGF5b3V0TWlkZGxlIHtcbiAgICAgICAgbWluLXdpZHRoOiAwOyAvKiBQcmV2ZW50IGEgYmxvd291dCAqL1xuICAgIH1cblxuICAgIC8qIFdhdmVmb3JtcyBhcmUgcHJlc2VudCBpbiBsaXZlIHJlY29yZGluZyBvbmx5ICovXG4gICAgLm14X1dhdmVmb3JtIHtcbiAgICAgICAgLyogZGVmYXVsdCwgb3ZlcnJpZGRlbiBpbiBKUyAqL1xuICAgICAgICAtLWJhckhlaWdodDogMTtcbiAgICAgICAgLm14X1dhdmVmb3JtX2JhciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcXVhdGVybmFyeS1jb250ZW50O1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZVkobWF4KDAuMDUsIHZhcigtLWJhckhlaWdodCkpKTtcblxuICAgICAgICAgICAgJi5teF9XYXZlZm9ybV9iYXJfMTAwcGN0IHtcbiAgICAgICAgICAgICAgICAvKiBTbWFsbCBhbmltYXRpb24gdG8gcmVtb3ZlIHRoZSBtZWNoYW5pY2FsIGZlZWwgb2YgcHJvZ3Jlc3MgKi9cbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDI1MG1zIGVhc2U7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHNlY29uZGFyeS1jb250ZW50O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm14X0Nsb2NrIHtcbiAgICAgICAgd2lkdGg6ICRmb250LTQycHg7IC8qIHdlJ3JlIG5vdCB1c2luZyBhIG1vbm9zcGFjZSBmb250LCBzbyBmYWtlIGl0ICovXG4gICAgICAgIG1pbi13aWR0aDogJGZvbnQtNDJweDsgLyogZm9yY2Ugc2Vuc2libGUgbGF5b3V0cyBpbiBhd2t3YXJkIGZsZXhib3hlcyAoZmlsZSBwYW5lbCwgZm9yIGV4YW1wbGUpICovXG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDZweDsgLyogd2l0aCB0aGUgZml4ZWQgd2lkdGggdGhpcyBlbmRzIHVwIGFzIGEgdmlzdWFsIDhweCBtb3N0IG9mIHRoZSB0aW1lLCBhcyBpbnRlbmRlZC4gKi9cbiAgICAgICAgcGFkZGluZy1sZWZ0OiA4cHg7IC8qIGlzb2xhdGUgZnJvbSByZWNvcmRpbmcgY2lyY2xlIC8gcGxheSBjb250cm9sICovXG4gICAgfVxuXG4gICAgLm14X1JlY29yZGluZ1BsYXliYWNrX3RpbWVsaW5lTGF5b3V0TWlkZGxlIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDhweDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiA2cHg7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBmbGV4OiAxO1xuICAgICAgICBoZWlnaHQ6IDMwcHg7IC8qIHNhbWUgaGVpZ2h0IGFzIG14X1dhdmVmb3JtLCBuZWVkZWQgZm9yIGF1dG9tYXRpYyB2ZXJ0aWNhbCBjZW50ZXJpbmcgKi9cblxuICAgICAgICAubXhfV2F2ZWZvcm0ge1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5teF9TZWVrQmFyIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICBoZWlnaHQ6IDMwcHg7XG4gICAgICAgICAgICB0b3A6IC0ycHg7IC8qIHZpc3VhbGx5IHZlcnRpY2FsbHkgY2VudGVyZWQgKi9cblxuICAgICAgICAgICAgLyogSGlkZSB0aGUgaGFpcmxpbmUgcHJvZ3Jlc3MgYmFyIHNpbmNlIHdlJ3JlIGF0IDEwMCUgaGVpZ2h0LiBOZWVkIHRvIGhhdmUgZGlzdGluY3QgcnVsZXMgKi9cbiAgICAgICAgICAgIC8qIGJlY2F1c2UgQ1NTIGlzIHdlaXJkLiAqL1xuICAgICAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICY6Oi1tb3otcmFuZ2UtcHJvZ3Jlc3Mge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8qIE1ha2UgdGhlIHRodW1iIGVhc2llciB0byBzZWUuIExpa2UgdGhlIFNlZWtCYXIgb3JpZ2luYWwgc3R5bGVzLCB0aGVzZSBuZWVkIHRvIGJlICovXG4gICAgICAgICAgICAvKiBkaXN0aW5jdC4gV2UgbWFrZSBpdCB0cmFuc3BhcmVudCBzbyBpdCBkb2Vzbid0IHNob3cgdXAgb24gdGhlIFVJLCBidXQgYWxzbyBsYXJnZXIgKi9cbiAgICAgICAgICAgIC8qIHNvIGl0J3MgZWFzaWVyIHRvIGdyYWIgYnkgbW91c2UgdXNlcnMgaW4gc29tZSBicm93c2Vycy4gTW9zdCBicm93c2VycyBsZXQgdGhlIHVzZXIgKi9cbiAgICAgICAgICAgIC8qIG1vdmUgYW5kIGRyYWcgdGhlIHRodW1iIHJlZ2FyZGxlc3Mgb2YgaGl0dGluZyB0aGUgdGh1bWIsIGhvd2V2ZXIuICovXG4gICAgICAgICAgICAmOjotd2Via2l0LXNsaWRlci10aHVtYiB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwcHg7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxMHB4O1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJjo6LW1vei1yYW5nZS10aHVtYiB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwcHg7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxMHB4O1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLyogRm9yIHRpbWVsaW5lLXJlbmRlcmVkIHBsYXliYWNrLCB0aGUgY2xvY2sgaXMgb24gdGhlIG90aGVyIHNpZGUgb2YgdGhlIHdhdmVmb3JtLiAqL1xuICAgICAgICAmICsgLm14X0Nsb2NrIHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuXG4gICAgICAgICAgICAvKiBUYWtlIHRoZSBwYWRkaW5nIG9mZiB0aGUgY2xvY2sgYmVjYXVzZSBpdCdzIGFjY291bnRlZCBmb3IgYnkgdGhlIGB0aW1lbGluZUxheW91dE1pZGRsZWAgKi9cbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIvKlxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXG5Db3B5cmlnaHQgMjAyMSBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxuXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXG4qL1xuXG4vKiBDU1MgaW5zcGlyYXRpb24gZnJvbTogKi9cbi8qICogaHR0cHM6Ly93d3cudzNzY2hvb2xzLmNvbS9ob3d0by9ob3d0b19qc19yYW5nZXNsaWRlci5hc3AgKi9cbi8qICogaHR0cHM6Ly9zdGFja292ZXJmbG93LmNvbS9hLzI4MjgzODA2ICovXG4vKiAqIGh0dHBzOi8vY3NzLXRyaWNrcy5jb20vc3R5bGluZy1jcm9zcy1icm93c2VyLWNvbXBhdGlibGUtcmFuZ2UtaW5wdXRzLWNzcy8gKi9cblxuLm14X1NlZWtCYXIge1xuICAgIC8qIGRlZmF1bHQsIG92ZXJyaWRkZW4gaW4gSlMgKi9cbiAgICAtLWZpbGxUbzogMTtcblxuICAgIC8qIERldiBub3RlOiB3ZSBkZWxpYmVyYXRlbHkgZG8gbm90IGhhdmUgdGhlIC1tcy10cmFjayAoYW5kIGZyaWVuZHMpIHNlbGVjdG9ycyBiZWNhdXNlIHdlIGRvbid0ICovXG4gICAgLyogbmVlZCB0byBzdXBwb3J0IElFLiAqL1xuXG4gICAgYXBwZWFyYW5jZTogbm9uZTsgLyogZGVmYXVsdCBzdHlsZSBvdmVycmlkZSAqL1xuXG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxcHg7XG4gICAgYmFja2dyb3VuZDogJHF1YXRlcm5hcnktY29udGVudDtcbiAgICBvdXRsaW5lOiBub25lOyAvKiByZW1vdmUgYmx1ZSBzZWxlY3Rpb24gYm9yZGVyICovXG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyAvKiBmb3IgYmVmb3JlK2FmdGVyIHBzZXVkbyBlbGVtZW50cyBsYXRlciBvbiAqL1xuXG4gICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgJjo6LXdlYmtpdC1zbGlkZXItdGh1bWIge1xuICAgICAgICBhcHBlYXJhbmNlOiBub25lOyAvKiBkZWZhdWx0IHN0eWxlIG92ZXJyaWRlICovXG5cbiAgICAgICAgLyogRGV2IG5vdGU6IFRoaXMgbmVlZHMgdG8gYmUgZHVwbGljYXRlZCB3aXRoIHRoZSAtbW96LXJhbmdlLXRodW1iIHNlbGVjdG9yICovXG4gICAgICAgIC8qIGJlY2F1c2Ugb3RoZXJ3aXNlIEVkZ2UgKHdlYmtpdCkgd2lsbCBmYWlsIHRvIHNlZSB0aGUgc3R5bGVzIGFuZCBqdXN0IHJlZnVzZSAqL1xuICAgICAgICAvKiB0byBhcHBseSB0aGVtLiAqL1xuICAgICAgICB3aWR0aDogOHB4O1xuICAgICAgICBoZWlnaHQ6IDhweDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGVydGlhcnktY29udGVudDtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIH1cblxuICAgICY6Oi1tb3otcmFuZ2UtdGh1bWIge1xuICAgICAgICB3aWR0aDogOHB4O1xuICAgICAgICBoZWlnaHQ6IDhweDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGVydGlhcnktY29udGVudDtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgICAgIC8qIEZpcmVmb3ggYWRkcyBhIGJvcmRlciBvbiB0aGUgdGh1bWIgKi9cbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgIH1cblxuICAgIC8qIFRoaXMgaXMgZm9yIHdlYmtpdCBzdXBwb3J0LCBidXQgd2UgY2FuJ3QgbGltaXQgdGhlIGZ1bmN0aW9uYWxpdHkgb2YgaXQgdG8ganVzdCB3ZWJraXQgKi9cbiAgICAvKiBicm93c2Vycy4gRmlyZWZveCByZXNwb25kcyB0byB3ZWJraXQtcHJlZml4ZWQgdmFsdWVzIG5vdywgd2hpY2ggbWVhbnMgd2UgY2FuJ3QgdXNlIG1lZGlhICovXG4gICAgLyogb3Igc3VwcG9ydCBxdWVyaWVzIHRvIHNlbGVjdGl2ZWx5IGFwcGx5IHRoZSBydWxlLiBBbiB1cHNpZGUgaXMgdGhhdCB0aGlzIENTUyBkb2Vzbid0IHdvcmsgKi9cbiAgICAvKiBpbiBmaXJlZm94LCBzbyBpdCdzIGp1c3Qgd2FzdGVkIENQVS9HUFUgdGltZS4gKi9cbiAgICAmOjpiZWZvcmUge1xuICAgICAgICAvKiA6OmJlZm9yZSB0byBlbnN1cmUgaXQgZW5kcyB1cCB1bmRlciB0aGUgdGh1bWIgKi9cbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRlcnRpYXJ5LWNvbnRlbnQ7XG5cbiAgICAgICAgLyogQWJzb2x1dGUgcG9zaXRpb25pbmcgdG8gZW5zdXJlIGl0IG92ZXJsYXBzIHdpdGggdGhlIGV4aXN0aW5nIGJhciAqL1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogMDtcblxuICAgICAgICAvKiBTaXppbmcgdG8gbWF0Y2ggdGhlIGJhciAqL1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxcHg7XG5cbiAgICAgICAgLyogQW5kIGZpbmFsbHkgZHluYW1pYyB3aWR0aCB3aXRob3V0IG92ZXJseSBodXJ0aW5nIHRoZSByZW5kZXJpbmcgZW5naW5lLiAqL1xuICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiAwIDEwMCU7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGVYKHZhcigtLWZpbGxUbykpO1xuICAgIH1cblxuICAgIC8qIFRoaXMgaXMgZmlyZWZveCdzIGJ1aWx0LWluIHN1cHBvcnQgZm9yIHRoZSBhYm92ZSwgd2l0aCAxMDAlIGxlc3MgaGFja3MuICovXG4gICAgJjo6LW1vei1yYW5nZS1wcm9ncmVzcyB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0ZXJ0aWFyeS1jb250ZW50O1xuICAgICAgICBoZWlnaHQ6IDFweDtcbiAgICB9XG5cbiAgICAmOmRpc2FibGVkIHtcbiAgICAgICAgb3BhY2l0eTogMC41O1xuICAgIH1cblxuICAgIC8qIEluY3JlYXNlIGNsaWNrYWJsZSBhcmVhIGZvciB0aGUgc2xpZGVyIChhcHByb3hpbWF0ZWx5IHNhbWUgc2l6ZSBhcyBicm93c2VyIGRlZmF1bHQpICovXG4gICAgLyogV2UgZG8gaXQgdGhpcyB3YXkgdG8ga2VlcCB0aGUgc2FtZSBwYWRkaW5nIGFuZCBtYXJnaW5zIG9mIHRoZSBlbGVtZW50LCBhdm9pZGluZyBtYXJnaW4gbWF0aC4gKi9cbiAgICAvKiBTb3VyY2U6IGh0dHBzOi8vZnJvbnQtYmFjay5jb20vZXhwYW5kLWNsaWNrYWJsZS1hcmVhcy1mb3ItYS1iZXR0ZXItdG91Y2gtZXhwZXJpZW5jZS8gKi9cbiAgICAmOjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAtNnB4O1xuICAgICAgICBib3R0b206IC02cHg7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgIH1cbn1cbiIsIi8qXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cbkNvcHlyaWdodCAyMDIxIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXG5cblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cbiovXG5cbi5teF9XYXZlZm9ybSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGhlaWdodDogMzBweDsgLyogdGFsbGVzdCBiYXIgY2FuIG9ubHkgYmUgMzBweCAqL1xuICAgIHRvcDogMXB4OyAvKiBiZWNhdXNlIG9mIG91ciBib3JkZXIgdHJpY2sgKHNlZSBiZWxvdyksIHdlJ3JlIG9mZiBieSAxcHggb2YgYWxpZ250bWVudCAqL1xuXG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyOyAvKiBzbyB0aGUgYmFycyBncm93IGZyb20gdGhlIG1pZGRsZSAqL1xuXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjsgLyogdGhpcyBpcyBjaGVhcGVyIHRoYW4gYSBgbWF4LWhlaWdodDogY2FsYygxMDAlIC0gNHB4KWAgaW4gdGhlIGJhcidzIENTUy4gKi9cblxuICAgIC8qIEEgYmFyIGlzIG1lYW50IHRvIGJlIGEgMngyIGNpcmNsZSB3aGVuIGF0IHplcm8gaGVpZ2h0LCBhbmQgb3RoZXJ3aXNlIGEgMnB4IHdpZGUgbGluZSAqL1xuICAgIC8qIHdpdGggcm91bmRlZCBjYXBzLiAqL1xuICAgIC5teF9XYXZlZm9ybV9iYXIge1xuICAgICAgICB3aWR0aDogMDsgLyogMHB4IHdpZHRoIG1lYW5zIHdlJ2xsIGVuZCB1cCB1c2luZyB0aGUgYm9yZGVyIGFzIG91ciB3aWR0aCAqL1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDsgLyogdHJhbnNwYXJlbnQgbWVhbnMgd2UnbGwgdXNlIHRoZSBiYWNrZ3JvdW5kIGNvbG91ciAqL1xuICAgICAgICBib3JkZXItcmFkaXVzOiAycHg7IC8qIHJvdW5kZWQgZW5kIGNhcHMsIGJhc2VkIG9uIHRoZSBib3JkZXIgKi9cbiAgICAgICAgbWluLWhlaWdodDogMDsgLyogbGlrZSB0aGUgd2lkdGgsIHdlJ2xsIHJlbHkgb24gdGhlIGJvcmRlciB0byBnaXZlIHVzIGhlaWdodCAqL1xuICAgICAgICBtYXgtaGVpZ2h0OiAxMDAlOyAvKiB0aGlzIG1ha2VzIHRoZSBgaGVpZ2h0OiA0MiVgIHdvcmsgb24gdGhlIGVsZW1lbnQgKi9cbiAgICAgICAgbWFyZ2luLWxlZnQ6IDFweDsgLyogd2Ugd2FudCAycHggYmV0d2VlbiBlYWNoIGJhciwgc28gMXB4IG9uIGVpdGhlciBzaWRlIGZvciBiYWxhbmNlICovXG4gICAgICAgIG1hcmdpbi1yaWdodDogMXB4O1xuXG4gICAgICAgIC8qIGJhY2tncm91bmQgY29sb3IgaXMgaGFuZGxlZCBieSB0aGUgcGFyZW50IGNvbXBvbmVudHMgKi9cbiAgICB9XG59XG4iLCIvKlxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXG5Db3B5cmlnaHQgMjAyMCBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxuQ29weXJpZ2h0IDIwMTkgTmV3IFZlY3RvciBMdGRcblxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuKi9cblxuLm14X0F1dGhCb2R5IHtcbiAgICB3aWR0aDogNTAwcHg7XG4gICAgZm9udC1zaXplOiAkZm9udC0xMnB4O1xuICAgIGNvbG9yOiAkYXV0aHBhZ2Utc2Vjb25kYXJ5LWNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuICAgIGJvcmRlci1yYWRpdXM6IDAgNHB4IDRweCAwO1xuICAgIHBhZGRpbmc6IDI1cHggNjBweDtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXG4gICAgc3Ryb25nIHtcbiAgICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLWNwZC1mb250LXdlaWdodC1zZW1pYm9sZCk7XG4gICAgfVxuXG4gICAgJi5teF9BdXRoQm9keV9mbGV4IHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICB9XG5cbiAgICBoMSB7XG4gICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtMjRweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLWNwZC1mb250LXdlaWdodC1zZW1pYm9sZCk7XG4gICAgICAgIG1hcmdpbi10b3A6ICRzcGFjaW5nLTg7XG4gICAgICAgIGNvbG9yOiAkYXV0aHBhZ2UtcHJpbWFyeS1jb2xvcjtcbiAgICB9XG5cbiAgICBoMiB7XG4gICAgICAgIGZvbnQ6IHZhcigtLWNwZC1mb250LWJvZHktbWQtc2VtaWJvbGQpO1xuICAgICAgICBjb2xvcjogJGF1dGhwYWdlLXNlY29uZGFyeS1jb2xvcjtcbiAgICB9XG5cbiAgICBoMi5teF9BdXRoQm9keV9jZW50ZXJlZCB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG5cbiAgICBhOmxpbmssXG4gICAgYTpob3ZlcixcbiAgICBhOnZpc2l0ZWQge1xuICAgICAgICBjb2xvcjogJGFjY2VudDtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIH1cblxuICAgIGZpZWxkc2V0IHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgLm14X0F1dGhCb2R5X2ljb24ge1xuICAgICAgICB3aWR0aDogNDRweDtcbiAgICAgICAgaGVpZ2h0OiA0NHB4O1xuICAgIH1cblxuICAgIC5teF9BdXRoQm9keV9sb2NrSWNvbiB7XG4gICAgICAgIGNvbG9yOiAkc2Vjb25kYXJ5LWNvbnRlbnQ7XG4gICAgICAgIGhlaWdodDogMzJweDtcbiAgICAgICAgd2lkdGg6IDMycHg7XG4gICAgfVxuXG4gICAgLm14X0F1dGhCb2R5X3RleHQge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAkc3BhY2luZy00ODtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICB9XG5cbiAgICBpbnB1dFt0eXBlPVwidGV4dFwiXSxcbiAgICBpbnB1dFt0eXBlPVwicGFzc3dvcmRcIl0ge1xuICAgICAgICBjb2xvcjogJGF1dGhwYWdlLXByaW1hcnktY29sb3I7XG4gICAgfVxuXG4gICAgLm14X0ZpZWxkIGxhYmVsIHtcbiAgICAgICAgY29sb3I6ICRhdXRocGFnZS1zZWNvbmRhcnktY29sb3I7XG4gICAgfVxuXG4gICAgLm14X0ZpZWxkIGlucHV0LFxuICAgIC5teF9GaWVsZCBzZWxlY3Qge1xuICAgICAgICBjb2xvcjogJGF1dGhwYWdlLXByaW1hcnktY29sb3I7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuICAgIH1cblxuICAgIC5teF9GaWVsZF9sYWJlbEFsd2F5c1RvcExlZnQgbGFiZWwsXG4gICAgLm14X0ZpZWxkIHNlbGVjdCArIGxhYmVsIC8qIEFsd2F5cyBzaG93IGEgc2VsZWN0J3MgbGFiZWwgb24gdG9wIHRvIG5vdCBjb2xsaWRlIHdpdGggdGhlIHZhbHVlICovLFxuICAgIC5teF9GaWVsZCBpbnB1dDpmb2N1cyArIGxhYmVsLFxuICAgIC5teF9GaWVsZCBpbnB1dDpub3QoOnBsYWNlaG9sZGVyLXNob3duKSArIGxhYmVsLFxuICAgIC5teF9GaWVsZCB0ZXh0YXJlYTpmb2N1cyArIGxhYmVsLFxuICAgIC5teF9GaWVsZCB0ZXh0YXJlYTpub3QoOnBsYWNlaG9sZGVyLXNob3duKSArIGxhYmVsIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG4gICAgfVxuXG4gICAgaW5wdXQuZXJyb3Ige1xuICAgICAgICBjb2xvcjogJGFsZXJ0O1xuICAgIH1cblxuICAgIC5teF9Mb2dpbl9zdWJtaXQge1xuICAgICAgICBoZWlnaHQ6IDMycHg7XG4gICAgICAgIG1hcmdpbi10b3A6ICRzcGFjaW5nLTE2O1xuICAgIH1cblxuICAgIC5teF9FcnJvck1lc3NhZ2Uge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxMnB4O1xuICAgICAgICBtYXJnaW4tdG9wOiAycHg7XG4gICAgfVxuXG4gICAgLm14X0ZpZWxkIGlucHV0IHtcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICB9XG5cbiAgICAubXhfRmllbGRfc2VsZWN0OjpiZWZvcmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYXV0aHBhZ2UtcHJpbWFyeS1jb2xvcjtcbiAgICB9XG5cbiAgICAubXhfRHJvcGRvd24ge1xuICAgICAgICBjb2xvcjogJGF1dGhwYWdlLXByaW1hcnktY29sb3I7XG4gICAgfVxuXG4gICAgLm14X0Ryb3Bkb3duX2Fycm93IHtcbiAgICAgICAgYmFja2dyb3VuZDogJGF1dGhwYWdlLXByaW1hcnktY29sb3I7XG4gICAgfVxuXG4gICAgLm14X0Ryb3Bkb3duX21lbnUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcblxuICAgICAgICAubXhfRHJvcGRvd25fb3B0aW9uX2hpZ2hsaWdodCB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYXV0aHBhZ2UtZm9jdXMtYmctY29sb3I7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8qIHNwZWNpYWxpc2F0aW9uIGZvciBwYXNzd29yZCByZXNldCB2aWV3cyAqL1xuLm14X0F1dGhCb2R5Lm14X0F1dGhCb2R5X2ZvcmdvdC1wYXNzd29yZCB7XG4gICAgZm9udDogdmFyKC0tY3BkLWZvbnQtYm9keS1tZC1yZWd1bGFyKTtcbiAgICBjb2xvcjogJHByaW1hcnktY29udGVudDtcbiAgICBwYWRkaW5nOiA1MHB4IDMycHg7XG4gICAgbWluLWhlaWdodDogNjAwcHg7XG5cbiAgICBoMSB7XG4gICAgICAgIG1hcmdpbjogJHNwYWNpbmctMjQgMDtcbiAgICB9XG5cbiAgICAubXhfQXV0aEJvZHlfYnV0dG9uLWNvbnRhaW5lciB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIH1cblxuICAgIC5teF9Mb2dpbl9zdWJtaXQge1xuICAgICAgICBmb250LXdlaWdodDogdmFyKC0tY3BkLWZvbnQtd2VpZ2h0LXNlbWlib2xkKTtcbiAgICAgICAgbWFyZ2luOiAwIDAgJHNwYWNpbmctMTY7XG4gICAgfVxuXG4gICAgLm14X0F1dGhCb2R5X3RleHQge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAkc3BhY2luZy0zMjtcblxuICAgICAgICBwIHtcbiAgICAgICAgICAgIG1hcmdpbjogMCAwICRzcGFjaW5nLTg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubXhfQXV0aEJvZHlfc2lnbi1pbi1pbnN0ZWFkLWJ1dHRvbiB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1jcGQtZm9udC13ZWlnaHQtc2VtaWJvbGQpO1xuICAgICAgICBwYWRkaW5nOiAkc3BhY2luZy00O1xuICAgIH1cblxuICAgIC5teF9BdXRoQm9keV9maWVsZFJvdyB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206ICRzcGFjaW5nLTI0O1xuICAgIH1cblxuICAgIC5teF9BY2Nlc3NpYmxlQnV0dG9uLm14X0FjY2Vzc2libGVCdXR0b25faGFzS2luZCB7XG4gICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG5cbiAgICAgICAgJjpkaXNhYmxlZCB7XG4gICAgICAgICAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgICAgICAgICBvcGFjaXR5OiAwLjQ7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5teF9BdXRoQm9keV9kaWQtbm90LXJlY2VpdmUge1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgY29sb3I6ICRzZWNvbmRhcnktY29udGVudDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGdhcDogJHNwYWNpbmctODtcbn1cblxuLm14X0F1dGhCb2R5X3Jlc2VuZC1idXR0b24ge1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgYm9yZGVyLXJhZGl1czogOHB4O1xuICAgIGNvbG9yOiAkYWNjZW50O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZ2FwOiAkc3BhY2luZy00O1xuICAgIHBhZGRpbmc6ICRzcGFjaW5nLTQ7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHN5c3RlbTtcbiAgICB9XG59XG5cbi5teF9BdXRoQm9keV9lbWFpbFByb21wdEljb24ge1xuICAgIHdpZHRoOiA1N3B4O1xufVxuXG4ubXhfQXV0aEJvZHlfZW1haWxQcm9tcHRJY29uLS1zaGlmdGVkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAtMTdweDsgLyogUHJldmVudCBsYXlvdXQganVtcCBieSByZWxhdGl2ZSBwb3NpdGlvbmluZy4gKi9cbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAtMTdweDsgLyogVGhpcyBpY29uIGlzIGhpZ2hlciB0aGFuIHRoZSBvdGhlciBpY29ucy4gU2hpZnQgdXAgdG8gcHJldmVudCBpY29uIGp1bXBpbmcuICovXG4gICAgd2lkdGg6IDU3cHg7XG59XG5cbi5teF9BdXRoQm9keV9maWVsZFJvdyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xufVxuXG4ubXhfQXV0aEJvZHlfZmllbGRSb3cgPiAubXhfRmllbGQge1xuICAgIG1hcmdpbjogMCA1cHg7XG59XG5cbi5teF9BdXRoQm9keV9maWVsZFJvdyA+IC5teF9GaWVsZDpmaXJzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG59XG5cbi5teF9BdXRoQm9keV9maWVsZFJvdyA+IC5teF9GaWVsZDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG59XG5cbi5teF9BdXRoQm9keV9wYWRkZWRGb290ZXIge1xuICAgIGhlaWdodDogODBweDsgLyogaGVpZ2h0IG9mIHRoZSBzdWJtaXQgYnV0dG9uICsgcmVnaXN0ZXIgbGluayAqL1xuICAgIHBhZGRpbmctdG9wOiAyOHB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgIC5teF9BdXRoQm9keV9wYWRkZWRGb290ZXJfdGl0bGUge1xuICAgICAgICBtYXJnaW4tdG9wOiAkc3BhY2luZy0xNjtcbiAgICAgICAgZm9udC1zaXplOiAkZm9udC0xNXB4O1xuICAgICAgICBsaW5lLWhlaWdodDogJGZvbnQtMjRweDtcblxuICAgICAgICAubXhfSW5saW5lU3Bpbm5lciBpbWcge1xuICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IHN1YjtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogNXB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm14X0F1dGhCb2R5X3BhZGRlZEZvb3Rlcl9zdWJ0aXRsZSB7XG4gICAgICAgIG1hcmdpbi10b3A6ICRzcGFjaW5nLTg7XG4gICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtMTBweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6ICRmb250LTE0cHg7XG4gICAgfVxufVxuXG4ubXhfQXV0aEJvZHlfY2hhbmdlRmxvdyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgPiBhIHtcbiAgICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLWNwZC1mb250LXdlaWdodC1zZW1pYm9sZCk7XG4gICAgfVxufVxuXG4ubXhfU1NPQnV0dG9ucyArIC5teF9BdXRoQm9keV9jaGFuZ2VGbG93IHtcbiAgICBtYXJnaW4tdG9wOiAkc3BhY2luZy0yNDtcbn1cblxuLm14X0F1dGhCb2R5X3NwaW5uZXIge1xuICAgIG1hcmdpbjogMWVtIDA7XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDgwcHgpIHtcbiAgICAubXhfQXV0aEJvZHkge1xuICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICBtYXgtd2lkdGg6IDUwMHB4O1xuICAgICAgICBwYWRkaW5nOiAxMHB4O1xuICAgIH1cbn1cbiIsIi8qXG5Db3B5cmlnaHQgMjAxOS0yMDI0IE5ldyBWZWN0b3IgTHRkLlxuXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXG4qL1xuXG4ubXhfQXV0aEZvb3RlciB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGZvbnQ6IHZhcigtLWNwZC1mb250LWJvZHktbWQtcmVndWxhcik7XG4gICAgb3BhY2l0eTogMC43MjtcbiAgICBwYWRkaW5nOiAyMHB4IDA7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHJnYmEoMCwgMCwgMCwgMCksIHJnYmEoMCwgMCwgMCwgMC44KSk7XG59XG5cbi5teF9BdXRoRm9vdGVyIGE6bGluayxcbi5teF9BdXRoRm9vdGVyIGE6aG92ZXIsXG4ubXhfQXV0aEZvb3RlciBhOnZpc2l0ZWQge1xuICAgIGNvbG9yOiAkYWNjZW50LWZnLWNvbG9yO1xuICAgIG1hcmdpbjogMCAyMnB4O1xufVxuIiwiLypcbkNvcHlyaWdodCAyMDE5LTIwMjQgTmV3IFZlY3RvciBMdGQuXG5cblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cbiovXG5cbi5teF9BdXRoSGVhZGVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgd2lkdGg6IDIwNnB4O1xuICAgIHBhZGRpbmc6IDI1cHggMjVweDtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ4MHB4KSB7XG4gICAgLm14X0F1dGhIZWFkZXIge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbn1cbiIsIi8qXG5Db3B5cmlnaHQgMjAxOS0yMDI0IE5ldyBWZWN0b3IgTHRkLlxuXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXG4qL1xuXG4ubXhfQXV0aEhlYWRlckxvZ28ge1xuICAgIG1hcmdpbi10b3A6IDE1cHg7XG4gICAgZmxleDogMTtcbiAgICBwYWRkaW5nOiAwIDI1cHg7XG59XG5cbi5teF9BdXRoSGVhZGVyTG9nbyBpbWcge1xuICAgIHdpZHRoOiAxMDAlO1xufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ4MHB4KSB7XG4gICAgLm14X0F1dGhIZWFkZXJMb2dvIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG59XG4iLCIvKlxuQ29weXJpZ2h0IDIwMTktMjAyNCBOZXcgVmVjdG9yIEx0ZC5cblxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuKi9cblxuLm14X0F1dGhQYWdlIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtaW4taGVpZ2h0OiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYXV0aHBhZ2UtYmctY29sb3I7XG4gICAgaGVpZ2h0OiAxMDB2aDtcbiAgICBvdmVyZmxvdzogYXV0bztcbn1cblxuLm14X0F1dGhQYWdlX21vZGFsIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIG1hcmdpbjogMTAwcHggYXV0byBhdXRvO1xuICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgICBib3gtc2hhZG93OiAwIDJweCA0cHggMCByZ2JhKDAsIDAsIDAsIDAuMzMpO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRhdXRocGFnZS1tb2RhbC1iZy1jb2xvcjtcblxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC1oZWlnaHQ6IDc2OHB4KSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDUwcHg7XG4gICAgfVxuXG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0ODBweCkge1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgIH1cbn1cbiIsIi8qXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cbkNvcHlyaWdodCAyMDIwIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXG5Db3B5cmlnaHQgMjAxOSBOZXcgVmVjdG9yIEx0ZFxuXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXG4qL1xuXG4ubXhfQ29tcGxldGVTZWN1cml0eUJvZHkge1xuICAgIHdpZHRoOiA2MDBweDtcbiAgICBjb2xvcjogJGF1dGhwYWdlLXByaW1hcnktY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG4gICAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAgIHBhZGRpbmc6IDIwcHg7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcblxuICAgIGgyIHtcbiAgICAgICAgZm9udC1zaXplOiAkZm9udC0yNHB4O1xuICAgICAgICBmb250LXdlaWdodDogdmFyKC0tY3BkLWZvbnQtd2VpZ2h0LXNlbWlib2xkKTtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICB9XG5cbiAgICBoMyB7XG4gICAgICAgIGZvbnQ6IHZhcigtLWNwZC1mb250LWJvZHktbWQtc2VtaWJvbGQpO1xuICAgIH1cblxuICAgIGE6bGluayxcbiAgICBhOmhvdmVyLFxuICAgIGE6dmlzaXRlZCB7XG4gICAgICAgIGNvbG9yOiAkYWNjZW50O1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgfVxufVxuIiwiLypcbkNvcHlyaWdodCAyMDE5LTIwMjQgTmV3IFZlY3RvciBMdGQuXG5cblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cbiovXG5cbi5teF9Db3VudHJ5RHJvcGRvd24gLm14X0Ryb3Bkb3duX2lucHV0IC5teF9Ecm9wZG93bl9vcHRpb24ge1xuICAgIHBhZGRpbmc6IDAgM3B4O1xufVxuXG4ubXhfQ291bnRyeURyb3Bkb3duIC5teF9Ecm9wZG93bl9hcnJvdyB7XG4gICAgcGFkZGluZy1yaWdodDogM3B4O1xufVxuXG4ubXhfQ291bnRyeURyb3Bkb3duX3Nob3J0T3B0aW9uIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGhlaWdodDogMTAwJTtcbn1cblxuLm14X0NvdW50cnlEcm9wZG93bl9vcHRpb24ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cbiIsIi8qXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cbkNvcHlyaWdodCAyMDIzIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXG5Db3B5cmlnaHQgMjAxNyBWZWN0b3IgQ3JlYXRpb25zIEx0ZFxuXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXG4qL1xuXG4ubXhfSW50ZXJhY3RpdmVBdXRoRW50cnlDb21wb25lbnRzIHtcbiAgICAubXhfSW50ZXJhY3RpdmVBdXRoRW50cnlDb21wb25lbnRzX3Rlcm1zU3VibWl0IHtcbiAgICAgICAgbWFyZ2luLXRvcDogMjBweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNXB4O1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLyogcHJldmVudCBvdmVyZmxvd2luZyAqL1xuICAgIH1cbn1cblxuLm14X0ludGVyYWN0aXZlQXV0aEVudHJ5Q29tcG9uZW50c19tc2lzZG5XcmFwcGVyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5teF9JbnRlcmFjdGl2ZUF1dGhFbnRyeUNvbXBvbmVudHNfbXNpc2RuRW50cnkge1xuICAgIGZvbnQtc2l6ZTogMjAwJTtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkc3Ryb25nLWlucHV0LWJvcmRlci1jb2xvcjtcbiAgICBib3JkZXItcmFkaXVzOiAzcHg7XG4gICAgd2lkdGg6IDZlbTtcbn1cblxuLm14X0ludGVyYWN0aXZlQXV0aEVudHJ5Q29tcG9uZW50c19tc2lzZG5FbnRyeTpmb2N1cyB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJGFjY2VudDtcbn1cblxuLm14X0ludGVyYWN0aXZlQXV0aEVudHJ5Q29tcG9uZW50c19tc2lzZG5TdWJtaXQge1xuICAgIG1hcmdpbi10b3A6IDRweDtcbiAgICBtYXJnaW4tYm90dG9tOiA1cHg7XG59XG5cbi8qIFhYWDogVGhpcyBzaG91bGQgYmUgYSBjb21tb24gYnV0dG9uIGNsYXNzICovXG4ubXhfSW50ZXJhY3RpdmVBdXRoRW50cnlDb21wb25lbnRzX21zaXNkblN1Ym1pdDpkaXNhYmxlZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGxpZ2h0LWZnLWNvbG9yO1xuICAgIGN1cnNvcjogZGVmYXVsdDtcbn1cblxuLm14X0ludGVyYWN0aXZlQXV0aEVudHJ5Q29tcG9uZW50c190ZXJtc1BvbGljeSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG4ubXhfSW50ZXJhY3RpdmVBdXRoRW50cnlDb21wb25lbnRzX3Bhc3N3b3JkU2VjdGlvbiB7XG4gICAgd2lkdGg6IDMwMHB4O1xufVxuXG4ubXhfSW50ZXJhY3RpdmVBdXRoRW50cnlDb21wb25lbnRzX3Nzb19idXR0b25zIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICBtYXJnaW4tdG9wOiAyMHB4O1xuXG4gICAgLm14X0FjY2Vzc2libGVCdXR0b24ge1xuICAgICAgICBtYXJnaW4tbGVmdDogNXB4O1xuICAgIH1cbn1cblxuLm14X0ludGVyYWN0aXZlQXV0aEVudHJ5Q29tcG9uZW50c19lbWFpbFdyYXBwZXIge1xuICAgIC8qIFwiUmVzZW5kXCIgYnV0dG9uL2xpbmsgKi9cbiAgICAubXhfQWNjZXNzaWJsZUJ1dHRvbl9raW5kX2xpbmtfaW5saW5lIHtcbiAgICAgICAgLyogV2UgbmVlZCB0aGlzIHRvIGJlIGFuIGlubGluZS1ibG9jayBzbyBwb3NpdGlvbmluZyB3b3JrcyBjb3JyZWN0bHkgKi9cbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrICFpbXBvcnRhbnQ7XG5cbiAgICAgICAgLyogU3Bpbm5lciBhcyBlbmQgYWRvcm5tZW50IG9mIHRoZSBcInJlc2VuZFwiIGJ1dHRvbi9saW5rICovXG4gICAgICAgIC5teF9TcGlubmVyIHtcbiAgICAgICAgICAgIC8qIFNwaW5uZXJzIGFyZSB1c3VhbGx5IGJsb2NrIGVsZW1lbnRzLCBidXQgd2UgbmVlZCBpdCBhcyBpbmxpbmUgZWxlbWVudCAqL1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXggIWltcG9ydGFudDtcbiAgICAgICAgICAgIC8qIFNwaW5uZXJzIGJ5IGRlZmF1bHQgZmlsbCBhbGwgYXZhaWxhYmxlIHdpZHRoLCBidXQgd2UgZG9uJ3Qgd2FudCB0aGF0ICovXG4gICAgICAgICAgICB3aWR0aDogYXV0byAhaW1wb3J0YW50O1xuICAgICAgICAgICAgLyogV2UgbmVlZCB0byBjZW50ZXIgdGhlIHNwaW5uZXIgcmVsYXRpdmUgdG8gdGhlIGJ1dHRvbi9saW5rICovXG4gICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIvKlxuQ29weXJpZ2h0IDIwMTktMjAyNCBOZXcgVmVjdG9yIEx0ZC5cblxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuKi9cblxuLm14X0F1dGhCb2R5X2xhbmd1YWdlIHtcbiAgICB3aWR0aDogMTAwJTtcbn1cblxuLm14X0F1dGhCb2R5X2xhbmd1YWdlIC5teF9Ecm9wZG93bl9pbnB1dCB7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGZvbnQ6IHZhcigtLWNwZC1mb250LWJvZHktbWQtc2VtaWJvbGQpO1xuICAgIGNvbG9yOiAkYXV0aHBhZ2UtbGFuZy1jb2xvcjtcbiAgICB3aWR0aDogYXV0bztcbn1cblxuLm14X0F1dGhCb2R5X2xhbmd1YWdlIC5teF9Ecm9wZG93bl9hcnJvdyB7XG4gICAgYmFja2dyb3VuZDogJGF1dGhwYWdlLWxhbmctY29sb3I7XG59XG4iLCIvKlxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXG5Db3B5cmlnaHQgMjAyMiBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxuXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXG4qL1xuXG4ubXhfTG9naW5XaXRoUVJTZWN0aW9uIHAge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogJHNwYWNpbmctMTY7XG59XG5cbi5teF9Mb2dpbldpdGhRUlNlY3Rpb24ge1xuICAgIC5teF9BY2Nlc3NpYmxlQnV0dG9uX2tpbmRfcHJpbWFyeSArIHAge1xuICAgICAgICBjb2xvcjogdmFyKC0tY3BkLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTtcbiAgICAgICAgbWFyZ2luLXRvcDogdmFyKC0tY3BkLXNwYWNlLTJ4KTtcbiAgICB9XG59XG5cbi5teF9Mb2dpbldpdGhRUlNlY3Rpb24gLm14X0FjY2Vzc2libGVCdXR0b24gc3ZnIHtcbiAgICBtYXJnaW4tcmlnaHQ6ICRzcGFjaW5nLTEyO1xufVxuXG4ubXhfQXV0aFBhZ2UgLm14X0xvZ2luV2l0aFFSIHtcbiAgICAubXhfQWNjZXNzaWJsZUJ1dHRvbiB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLm14X0FjY2Vzc2libGVCdXR0b24gKyAubXhfQWNjZXNzaWJsZUJ1dHRvbiB7XG4gICAgICAgIG1hcmdpbi10b3A6ICRzcGFjaW5nLTg7XG4gICAgfVxuXG4gICAgZm9udC1zaXplOiAkZm9udC0xNXB4O1xufVxuXG4ubXhfVXNlclNldHRpbmdzRGlhbG9nIC5teF9Mb2dpbldpdGhRUiB7XG4gICAgZm9udDogdmFyKC0tY3BkLWZvbnQtYm9keS1tZC1yZWd1bGFyKTtcblxuICAgIGgxIHtcbiAgICAgICAgZm9udC1zaXplOiAkZm9udC0yNHB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cblxuICAgIGgyIHtcbiAgICAgICAgbWFyZ2luLXRvcDogJHNwYWNpbmctMjQ7XG4gICAgfVxuXG4gICAgLm14X1FSQ29kZSB7XG4gICAgICAgIG1hcmdpbjogJHNwYWNpbmctMjggMDtcbiAgICB9XG5cbiAgICAubXhfTG9naW5XaXRoUVJfcXJXcmFwcGVyIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICB9XG59XG5cbi5teF9Mb2dpbldpdGhRUiB7XG4gICAgbWluLWhlaWdodDogMzUwcHg7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXG4gICAgaDEgPiBzdmcge1xuICAgICAgICAmLm5vcm1hbCB7XG4gICAgICAgICAgICBjb2xvcjogJHNlY29uZGFyeS1jb250ZW50O1xuICAgICAgICB9XG4gICAgICAgICYuZXJyb3Ige1xuICAgICAgICAgICAgY29sb3I6ICRhbGVydDtcbiAgICAgICAgfVxuICAgICAgICAmLnN1Y2Nlc3Mge1xuICAgICAgICAgICAgY29sb3I6ICRhY2NlbnQ7XG4gICAgICAgIH1cbiAgICAgICAgaGVpZ2h0OiAxLjNlbTtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAkc3BhY2luZy04O1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIH1cblxuICAgIC5teF9Mb2dpbldpdGhRUl9jb25maXJtYXRpb25EaWdpdHMge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIG1hcmdpbjogJHNwYWNpbmctNDggYXV0bztcbiAgICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLWNwZC1mb250LXdlaWdodC1zZW1pYm9sZCk7XG4gICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtMjRweDtcbiAgICAgICAgY29sb3I6ICRwcmltYXJ5LWNvbnRlbnQ7XG4gICAgfVxuXG4gICAgLm14X0xvZ2luV2l0aFFSX2NvbmZpcm1hdGlvbkFsZXJ0IHtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHF1YXRlcm5hcnktY29udGVudDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogJHNwYWNpbmctODtcbiAgICAgICAgcGFkZGluZzogJHNwYWNpbmctODtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNWVtO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuXG4gICAgICAgIHN2ZyB7XG4gICAgICAgICAgICBoZWlnaHQ6IDMwcHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubXhfTG9naW5XaXRoUVJfc2VwYXJhdG9yIHtcbiAgICAgICAgbWFyZ2luOiAxZW0gMDtcbiAgICB9XG5cbiAgICBvbCB7XG4gICAgICAgIHBhZGRpbmctaW5saW5lLXN0YXJ0OiAwO1xuICAgICAgICBsaXN0LXN0eWxlOiBub25lOyAvKiBsaXN0IG1hcmtlcnMgZG8gbm90IHN1cHBvcnQgdGhlIG91dGxpbmVkIG51bWJlciBzdHlsaW5nIHdlIG5lZWQgKi9cblxuICAgICAgICBsaSB7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IHZhcigtLWNwZC1zcGFjZS03eCk7XG4gICAgICAgICAgICBjb2xvcjogMXB4IHNvbGlkICRpbnB1dC1wbGFjZWhvbGRlcjtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHZhcigtLWNwZC1zcGFjZS00eCk7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMjBweDtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGluaXRpYWw7XG4gICAgICAgIH1cblxuICAgICAgICAvKiBDaXJjbGVkIG51bWJlciBsaXN0IGl0ZW0gbWFya2VyICovXG4gICAgICAgIGxpOjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogY291bnRlcihsaXN0LWl0ZW0pO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDIwcHg7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkaW5wdXQtcGxhY2Vob2xkZXI7XG4gICAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgbGFiZWxbZm9yPVwibXhfTG9naW5XaXRoUVJfY2hlY2tDb2RlXCJdIHtcbiAgICAgICAgbWFyZ2luLXRvcDogdmFyKC0tY3BkLXNwYWNlLTZ4KTtcbiAgICAgICAgY29sb3I6IHZhcigtLWNwZC1jb2xvci10ZXh0LXByaW1hcnkpO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS1jcGQtc3BhY2UtMXgpO1xuICAgIH1cblxuICAgIC5teF9Mb2dpbldpdGhRUl9pY29uIHtcbiAgICAgICAgd2lkdGg6IDU2cHg7XG4gICAgICAgIGhlaWdodDogNTZweDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4O1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICBwYWRkaW5nOiB2YXIoLS1jcGQtc3BhY2UtM3gpO1xuICAgICAgICBnYXA6IDEwcHg7XG5cbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY3BkLWNvbG9yLWJnLXN1YnRsZS1zZWNvbmRhcnkpO1xuICAgICAgICBzdmcge1xuICAgICAgICAgICAgY29sb3I6IHZhcigtLWNwZC1jb2xvci1pY29uLXNlY29uZGFyeSk7XG4gICAgICAgIH1cblxuICAgICAgICAmLm14X0xvZ2luV2l0aFFSX2ljb24tLXN1Y2Nlc3Mge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY3BkLWNvbG9yLWJnLXN1Y2Nlc3Mtc3VidGxlKTtcbiAgICAgICAgICAgIHN2ZyB7XG4gICAgICAgICAgICAgICAgY29sb3I6IHZhcigtLWNwZC1jb2xvci1pY29uLXN1Y2Nlc3MtcHJpbWFyeSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLm14X0xvZ2luV2l0aFFSX2ljb24tLWNyaXRpY2FsIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNwZC1jb2xvci1iZy1jcml0aWNhbC1zdWJ0bGUpO1xuICAgICAgICAgICAgc3ZnIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tY3BkLWNvbG9yLWljb24tY3JpdGljYWwtcHJpbWFyeSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubXhfTG9naW5XaXRoUVJfY2hlY2tDb2RlX2lucHV0IHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogdmFyKC0tY3BkLXNwYWNlLTF4KTtcbiAgICAgICAgdGV4dC1hbGlnbjogaW5pdGlhbDtcblxuICAgICAgICBpbnB1dCB7XG4gICAgICAgICAgICAvKiBXb3JrYXJvdW5kIGZvciBvbmUgb2YgdGhlIGlucHV0IHJ1bGVzIGluIF9jb21tb24ucGNzcyBiZWluZyBub3Qgc3BlY2lmaWMgZW5vdWdoICovXG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgcGFkZGluZy1pbmxpbmUtc3RhcnQ6IGNhbGMoNDBweCAvIDIgLSAoMWNoIC8gMikpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm14X0xvZ2luV2l0aFFSX2hlYWRpbmcge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBnYXA6ICRzcGFjaW5nLTEyO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIH1cblxuICAgIC5teF9Mb2dpbldpdGhRUl9CYWNrQnV0dG9uIHtcbiAgICAgICAgaGVpZ2h0OiAkc3BhY2luZy0yODtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogJHNwYWNpbmctMjg7XG4gICAgICAgIHBhZGRpbmc6ICRzcGFjaW5nLTQ7XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNwZC1jb2xvci1iZy1zdWJ0bGUtc2Vjb25kYXJ5KTtcbiAgICAgICAgc3ZnIHtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5teF9Mb2dpbldpdGhRUl9icmVhZGNydW1icyB7XG4gICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtMTNweDtcbiAgICAgICAgY29sb3I6ICRzZWNvbmRhcnktY29udGVudDtcbiAgICB9XG5cbiAgICAubXhfTG9naW5XaXRoUVJfbWFpbiB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGZsZXgtZ3JvdzogMTtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgY29sb3I6ICRwcmltYXJ5LWNvbnRlbnQ7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICAgICBwIHtcbiAgICAgICAgICAgIGNvbG9yOiAkc2Vjb25kYXJ5LWNvbnRlbnQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLm14X0xvZ2luV2l0aFFSX2Vycm9yIC5teF9Mb2dpbldpdGhRUl9tYWluIHtcbiAgICAgICAgbWF4LXdpZHRoOiA0MDBweDtcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgfVxuXG4gICAgLm14X0xvZ2luV2l0aFFSX2J1dHRvbnMge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBnYXA6ICRzcGFjaW5nLTE2O1xuICAgICAgICBtYXJnaW4tdG9wOiB2YXIoLS1jcGQtc3BhY2UtNngpO1xuXG4gICAgICAgIC5teF9BY2Nlc3NpYmxlQnV0dG9uIHtcbiAgICAgICAgICAgIHdpZHRoOiAzMDBweDtcbiAgICAgICAgICAgIGhlaWdodDogNDhweDtcbiAgICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubXhfUVJDb2RlIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogJHNwYWNpbmctODtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgfVxuXG4gICAgLm14X0xvZ2luV2l0aFFSX3NwaW5uZXIge1xuICAgICAgICBmbGV4LWdyb3c6IDE7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgfVxufVxuIiwiLypcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxuQ29weXJpZ2h0IDIwMjAgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cblxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuKi9cblxuJFBhc3NwaHJhc2VTdHJlbmd0aEhpZ2g6ICRhY2NlbnQ7XG4kUGFzc3BocmFzZVN0cmVuZ3RoTWVkaXVtOiAkdXNlcm5hbWUtdmFyaWFudDUtY29sb3I7XG4kUGFzc3BocmFzZVN0cmVuZ3RoTG93OiAkYWxlcnQ7XG5cbnByb2dyZXNzLm14X1Bhc3NwaHJhc2VGaWVsZF9wcm9ncmVzcyB7XG4gICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBib3JkZXI6IDA7XG4gICAgaGVpZ2h0OiA0cHg7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogLTEwcHg7XG4gICAgbGVmdDogMDtcblxuICAgIEBtaXhpbiBQcm9ncmVzc0JhckJvcmRlclJhZGl1cyBcIjJweFwiO1xuICAgIEBtaXhpbiBQcm9ncmVzc0JhckNvbG91ciAkUGFzc3BocmFzZVN0cmVuZ3RoTG93O1xuICAgICZbdmFsdWU9XCIyXCJdLFxuICAgICZbdmFsdWU9XCIzXCJdIHtcbiAgICAgICAgQG1peGluIFByb2dyZXNzQmFyQ29sb3VyICRQYXNzcGhyYXNlU3RyZW5ndGhNZWRpdW07XG4gICAgfVxuICAgICZbdmFsdWU9XCI0XCJdIHtcbiAgICAgICAgQG1peGluIFByb2dyZXNzQmFyQ29sb3VyICRQYXNzcGhyYXNlU3RyZW5ndGhIaWdoO1xuICAgIH1cbn1cbiIsIi8qXG5Db3B5cmlnaHQgMjAxOS0yMDI0IE5ldyBWZWN0b3IgTHRkLlxuXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXG4qL1xuXG4ubXhfV2VsY29tZSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgJi5teF9XZWxjb21lUGFnZV9yZWdpc3RyYXRpb25EaXNhYmxlZCB7XG4gICAgICAgIC5teF9CdXR0b25DcmVhdGVBY2NvdW50IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5teF9XZWxjb21lIC5teF9BdXRoQm9keV9sYW5ndWFnZSB7XG4gICAgd2lkdGg6IDE2MHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG59XG4iLCIvKlxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXG5Db3B5cmlnaHQgMjAxNSwgMjAxNiBPcGVuTWFya2V0IEx0ZFxuXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXG4qL1xuXG5idXR0b24ubXhfQmFzZUF2YXRhciB7XG4gICAgLyogPGJ1dHRvbj4gaXMgYSBmb3JtIGVsZW1lbnQgYW5kIGJ5IGRlZmF1bHQgaXQgdXNlcyB0aGUgdXNlciBhZ2VudCAoYnJvd3Nlcikgc3R5bGluZy5cbiAgICAgICBXZSB3YW50IGl0IHRvIGluaGVyaXQgdGhlIGZvbnQtZmFtaWx5IGFuZCBsaW5lLWhlaWdodCBmcm9tIGl0cyBwYXJlbnQuXG4gICAgICovXG4gICAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG59XG4iLCIvKlxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXG5Db3B5cmlnaHQgMjAyMCBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxuXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXG4qL1xuXG4ubXhfRGVjb3JhdGVkUm9vbUF2YXRhcixcbi5teF9FeHRyYVRpbGUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBjb250YWluOiBjb250ZW50O1xuICAgIGxpbmUtaGVpZ2h0OiAwO1xuXG4gICAgJi5teF9EZWNvcmF0ZWRSb29tQXZhdGFyX2N1dG91dCAubXhfQmFzZUF2YXRhciB7XG4gICAgICAgIG1hc2staW1hZ2U6IHVybChcIiQocmVzKS9pbWcvZWxlbWVudC1pY29ucy9yb29tbGlzdC9kZWNvcmF0ZWQtYXZhdGFyLW1hc2suc3ZnXCIpO1xuICAgICAgICBtYXNrLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICAgIG1hc2stc2l6ZTogY29udGFpbjtcbiAgICAgICAgbWFzay1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICB9XG5cbiAgICAubXhfRGVjb3JhdGVkUm9vbUF2YXRhcl9pY29uIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAvKiB0aGUgZm9sbG93aW5nIHBlcmNlbnRhZ2UgYmFzZWQgc2l6aW5ncyBhcmUgdG8gbWF0Y2ggdGhlIHNjYWxhYmxlIHN2ZyBtYXNrIGZvciB0aGUgY3V0b3V0ICovXG4gICAgICAgIGJvdHRvbTogNi4yNSU7IC8qIDJweCBmb3IgYSAzMngzMiBhdmF0YXIgKi9cbiAgICAgICAgcmlnaHQ6IDYuMjUlO1xuICAgICAgICB3aWR0aDogMjUlOyAvKiA4cHggZm9yIGEgMzJ4MzIgYXZhdGFyICovXG4gICAgICAgIGhlaWdodDogMjUlO1xuICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgfVxuXG4gICAgLm14X0RlY29yYXRlZFJvb21BdmF0YXJfaWNvbjo6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4O1xuICAgIH1cblxuICAgIC5teF9EZWNvcmF0ZWRSb29tQXZhdGFyX2ljb25fZ2xvYmU6OmJlZm9yZSB7XG4gICAgICAgIG1hc2stcG9zaXRpb246IGNlbnRlcjtcbiAgICAgICAgbWFzay1zaXplOiBjb250YWluO1xuICAgICAgICBtYXNrLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICBiYWNrZ3JvdW5kOiAkc2Vjb25kYXJ5LWNvbnRlbnQ7XG4gICAgICAgIG1hc2staW1hZ2U6IHVybChcIkB2ZWN0b3ItaW0vY29tcG91bmQtZGVzaWduLXRva2Vucy9pY29ucy9wdWJsaWMuc3ZnXCIpO1xuICAgIH1cblxuICAgIC5teF9EZWNvcmF0ZWRSb29tQXZhdGFyX2ljb25fb2ZmbGluZTo6YmVmb3JlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHByZXNlbmNlLW9mZmxpbmU7XG4gICAgfVxuXG4gICAgLm14X0RlY29yYXRlZFJvb21BdmF0YXJfaWNvbl9vbmxpbmU6OmJlZm9yZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRhY2NlbnQ7XG4gICAgfVxuXG4gICAgLm14X0RlY29yYXRlZFJvb21BdmF0YXJfaWNvbl9hd2F5OjpiZWZvcmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJlc2VuY2UtYXdheTtcbiAgICB9XG5cbiAgICAubXhfRGVjb3JhdGVkUm9vbUF2YXRhcl9pY29uX2J1c3k6OmJlZm9yZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRwcmVzZW5jZS1idXN5O1xuICAgIH1cblxuICAgIC5teF9Ob3RpZmljYXRpb25CYWRnZSxcbiAgICAubXhfUm9vbVRpbGVfYmFkZ2VDb250YWluZXIge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIGhlaWdodDogMThweDtcbiAgICAgICAgd2lkdGg6IDE4cHg7XG4gICAgfVxufVxuIiwiLypcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxuQ29weXJpZ2h0IDIwMjAgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cblxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuKi9cblxuLm14X1dpZGdldEF2YXRhciB7XG4gICAgYm9yZGVyLXJhZGl1czogNHB4O1xufVxuIiwiLypcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxuQ29weXJpZ2h0IDIwMjQgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cblxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuKi9cblxuLm14X1dpdGhQcmVzZW5jZUluZGljYXRvciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGNvbnRhaW46IGNvbnRlbnQ7XG4gICAgbGluZS1oZWlnaHQ6IDA7XG5cbiAgICAubXhfV2l0aFByZXNlbmNlSW5kaWNhdG9yX2ljb24ge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHJpZ2h0OiAtMnB4O1xuICAgICAgICBib3R0b206IC0ycHg7XG4gICAgfVxuXG4gICAgLm14X1dpdGhQcmVzZW5jZUluZGljYXRvcl9pY29uOjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGJvcmRlcjogMnB4IHNvbGlkIHZhcigtLWNwZC1jb2xvci1iZy1jYW52YXMtZGVmYXVsdCk7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICB9XG5cbiAgICAubXhfV2l0aFByZXNlbmNlSW5kaWNhdG9yX2ljb25fb2ZmbGluZTo6YmVmb3JlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHByZXNlbmNlLW9mZmxpbmU7XG4gICAgfVxuXG4gICAgLm14X1dpdGhQcmVzZW5jZUluZGljYXRvcl9pY29uX29ubGluZTo6YmVmb3JlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGFjY2VudDtcbiAgICB9XG5cbiAgICAubXhfV2l0aFByZXNlbmNlSW5kaWNhdG9yX2ljb25fYXdheTo6YmVmb3JlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHByZXNlbmNlLWF3YXk7XG4gICAgfVxuXG4gICAgLm14X1dpdGhQcmVzZW5jZUluZGljYXRvcl9pY29uX2J1c3k6OmJlZm9yZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRwcmVzZW5jZS1idXN5O1xuICAgIH1cbn1cbiIsIi8qXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cbkNvcHlyaWdodCAyMDIxIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXG5cblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cbiovXG5cbi5teF9CZXRhQ2FyZCB7XG4gICAgcGFkZGluZzogJHNwYWNpbmctMjQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHBhbmVscztcbiAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBjb2xvcjogJHNlY29uZGFyeS1jb250ZW50O1xuXG4gICAgLm14X0JldGFDYXJkX2NvbHVtbnMge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWZsb3c6IHdyYXA7XG4gICAgICAgIGdhcDogJHNwYWNpbmctMjA7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG4gICAgICAgIC5teF9CZXRhQ2FyZF9jb2x1bW5zX2Rlc2NyaXB0aW9uIHtcbiAgICAgICAgICAgIGZsZXg6IDE7XG5cbiAgICAgICAgICAgIC5teF9CZXRhQ2FyZF90aXRsZSB7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLWNwZC1mb250LXdlaWdodC1zZW1pYm9sZCk7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAkZm9udC0xOHB4O1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAkZm9udC0yMnB4O1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkcHJpbWFyeS1jb250ZW50O1xuICAgICAgICAgICAgICAgIG1hcmdpbjogJHNwYWNpbmctNCAwIDE0cHg7XG5cbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgY29sdW1uLWdhcDogJHNwYWNpbmctMTI7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5teF9CZXRhQ2FyZF9jYXB0aW9uIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6ICRmb250LTE1cHg7XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6ICRmb250LTIwcHg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5teF9CZXRhQ2FyZF9idXR0b25zIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgIGZsZXgtd3JhcDogd3JhcC1yZXZlcnNlO1xuICAgICAgICAgICAgICAgIGdhcDogJHNwYWNpbmctMTI7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAkc3BhY2luZy0yMCBhdXRvIDA7XG5cbiAgICAgICAgICAgICAgICAubXhfQWNjZXNzaWJsZUJ1dHRvbiB7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDdweCA0MHB4O1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICAgICAgICAgICAgZmxleDogMTtcbiAgICAgICAgICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsgLyogdGV4dCBtaWdodCBvdmVyZmxvdyAqL1xuXG4gICAgICAgICAgICAgICAgICAgICY6bnRoLWNoaWxkKDEpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG9yZGVyOiAyOyAvKiBQbGFjZSBmZWVkYmFjayBidXR0b24gdG9wIGFuZCByaWdodCAqL1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAubXhfQmV0YUNhcmRfcmVmcmVzaFdhcm5pbmcge1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6ICRzcGFjaW5nLTg7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAkZm9udC0xMHB4O1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLm14X0JldGFDYXJkX2ZhcSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogJHNwYWNpbmctMjA7XG4gICAgICAgICAgICAgICAgZm9udDogdmFyKC0tY3BkLWZvbnQtYm9keS14cy1yZWd1bGFyKTtcblxuICAgICAgICAgICAgICAgID4gaDQge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW46ICRzcGFjaW5nLTEyIDAgMDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICA+IHAge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLm14X0JldGFDYXJkX2NvbHVtbnNfaW1hZ2Vfd3JhcHBlciB7XG4gICAgICAgICAgICBtYXJnaW46IGF1dG8gMDtcblxuICAgICAgICAgICAgLm14X0JldGFDYXJkX2NvbHVtbnNfaW1hZ2Uge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIG1heC13aWR0aDogMzAwcHg7XG4gICAgICAgICAgICAgICAgb2JqZWN0LWZpdDogY29udGFpbjtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm14X0JldGFDYXJkX3JlbGF0ZWRTZXR0aW5ncyB7XG4gICAgICAgIC5teF9TZXR0aW5nc0ZsYWcge1xuICAgICAgICAgICAgbWFyZ2luOiAkc3BhY2luZy0xNiAwIDA7XG4gICAgICAgICAgICBmb250LXNpemU6ICRmb250LTE1cHg7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogJGZvbnQtMjRweDtcbiAgICAgICAgICAgIGNvbG9yOiAkcHJpbWFyeS1jb250ZW50O1xuXG4gICAgICAgICAgICAubXhfU2V0dGluZ3NGbGFnX21pY3JvY29weSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogJHNwYWNpbmctNDtcbiAgICAgICAgICAgICAgICBmb250OiB2YXIoLS1jcGQtZm9udC1ib2R5LXNtLXJlZ3VsYXIpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4ubXhfQmV0YUNhcmRfYmV0YVBpbGwge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRhY2NlbnQtYWx0O1xuICAgIHBhZGRpbmc6ICRzcGFjaW5nLTQgMTBweDtcbiAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBmb250LXNpemU6ICRmb250LTEycHg7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWNwZC1mb250LXdlaWdodC1zZW1pYm9sZCk7XG4gICAgbGluZS1oZWlnaHQ6IDE1cHg7XG4gICAgY29sb3I6ICRidXR0b24tcHJpbWFyeS1mZy1jb2xvcjtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdmVydGljYWwtYWxpZ246IHRleHQtYm90dG9tO1xuICAgIHdvcmQtYnJlYWs6IGtlZXAtYWxsOyAvKiBhdm9pZCBtdWx0aXBsZSBsaW5lcyBvbiBDSksgbGFuZ3VhZ2UgKi9cblxuICAgICYubXhfQWNjZXNzaWJsZUJ1dHRvbiB7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB9XG59XG4iLCIvKlxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXG5Db3B5cmlnaHQgMjAyMSDFoGltb24gQnJhbmRuZXIgPHNpbW9uLmJyYS5hZ0BnbWFpbC5jb20+XG5cblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cbiovXG5cbi5teF9EZXZpY2VDb250ZXh0TWVudSB7XG4gICAgbWF4LXdpZHRoOiAyNTJweDtcblxuICAgIC5teF9EZXZpY2VDb250ZXh0TWVudV9kZXZpY2VfaWNvbiB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLm14X0ljb25pemVkQ29udGV4dE1lbnVfbGFiZWwge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDAgIWltcG9ydGFudDtcbiAgICB9XG59XG4iLCIvKlxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXG5Db3B5cmlnaHQgMjAyMC0yMDIzIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXG5cblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cbiovXG5cbi8qIEEgY29udGV4dCBtZW51IHRoYXQgbGFyZ2VseSBmaXRzIHRoZSB8IFtpY29uXSAgICBbbGFiZWxdIHwgZm9ybWF0LiAqL1xuLm14X0ljb25pemVkQ29udGV4dE1lbnUge1xuICAgIG1pbi13aWR0aDogMTQ2cHg7XG4gICAgd2lkdGg6IG1heC1jb250ZW50O1xuICAgIC8qIG92ZXJyaWRlIGRlZmF1bHQgdWwgc3R5bGVzICovXG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG5cbiAgICAubXhfSWNvbml6ZWRDb250ZXh0TWVudV9vcHRpb25MaXN0IHtcbiAgICAgICAgJiA+ICoge1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMjBweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5teF9JY29uaXplZENvbnRleHRNZW51X29wdGlvbkxpc3RfbGFiZWwge1xuICAgICAgICAgICAgZm9udC1zaXplOiAkZm9udC0xNXB4O1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLWNwZC1mb250LXdlaWdodC1zZW1pYm9sZCk7XG4gICAgICAgIH1cblxuICAgICAgICAvKiB0aGUgbm90Rmlyc3QgY2xhc3MgaXMgZm9yIGNhc2VzIHdoZXJlIHRoZSBvcHRpb25MaXN0IG1pZ2h0IGJlIHVuZGVyIGEgaGVhZGVyIG9mIHNvcnRzLiAqL1xuICAgICAgICAmOm50aC1jaGlsZChuICsgMiksXG4gICAgICAgIC5teF9JY29uaXplZENvbnRleHRNZW51X29wdGlvbkxpc3Rfbm90Rmlyc3Qge1xuICAgICAgICAgICAgYm9yZGVyLXRvcDogdmFyKC0tY3BkLWJvcmRlci13aWR0aC0xKSBzb2xpZCB2YXIoLS1jcGQtY29sb3ItZ3JheS00MDApO1xuICAgICAgICB9XG5cbiAgICAgICAgLyogcm91bmQgdGhlIHRvcCBjb3JuZXJzIG9mIHRoZSB0b3AgYnV0dG9uIGZvciB0aGUgaG92ZXIgZWZmZWN0IHRvIGJlIGJvdW5kZWQgKi9cbiAgICAgICAgJjpmaXJzdC1jaGlsZCAubXhfSWNvbml6ZWRDb250ZXh0TWVudV9pdGVtOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDhweCA4cHggMCAwOyAvKiByYWRpdXMgbWF0Y2hlcyAubXhfQ29udGV4dHVhbE1lbnUgKi9cbiAgICAgICAgfVxuXG4gICAgICAgIC8qIHJvdW5kIHRoZSBib3R0b20gY29ybmVycyBvZiB0aGUgYm90dG9tIGJ1dHRvbiBmb3IgdGhlIGhvdmVyIGVmZmVjdCB0byBiZSBib3VuZGVkICovXG4gICAgICAgICY6bGFzdC1jaGlsZCAubXhfSWNvbml6ZWRDb250ZXh0TWVudV9pdGVtOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMCAwIDhweCA4cHg7IC8qIHJhZGl1cyBtYXRjaGVzIC5teF9Db250ZXh0dWFsTWVudSAqL1xuICAgICAgICB9XG5cbiAgICAgICAgLyogcm91bmQgYWxsIGNvcm5lcnMgb2YgdGhlIG9ubHkgYnV0dG9uIGZvciB0aGUgaG92ZXIgZWZmZWN0IHRvIGJlIGJvdW5kZWQgKi9cbiAgICAgICAgJjpmaXJzdC1jaGlsZDpsYXN0LWNoaWxkIC5teF9JY29uaXplZENvbnRleHRNZW51X2l0ZW06Zmlyc3QtY2hpbGQ6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiA4cHg7IC8qIHJhZGl1cyBtYXRjaGVzIC5teF9Db250ZXh0dWFsTWVudSAqL1xuICAgICAgICB9XG5cbiAgICAgICAgLm14X0ljb25pemVkQ29udGV4dE1lbnVfaXRlbSB7XG4gICAgICAgICAgICAvKiBwYWQgdGhlIGluc2lkZSBvZiB0aGUgYnV0dG9uIHNvIHRoYXQgdGhlIGhvdmVyIGJhY2tncm91bmQgaXMgcGFkZGVkIHRvbyAqL1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IDEycHg7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTJweDtcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICAgIGNvbG9yOiAkcHJpbWFyeS1jb250ZW50O1xuICAgICAgICAgICAgZm9udDogdmFyKC0tY3BkLWZvbnQtYm9keS1tZC1yZWd1bGFyKTtcblxuICAgICAgICAgICAgLyogQ3JlYXRlIGEgZmxleGJveCB0byBtb3JlIGVhc2lseSBkZWZpbmUgdGhlIGxpc3QgaXRlbXMgKi9cbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gICAgICAgICAgICAmOmhvdmVyLFxuICAgICAgICAgICAgJjpmb2N1cy12aXNpYmxlIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jcGQtY29sb3ItYmctYWN0aW9uLXNlY29uZGFyeS1ob3ZlcmVkKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi5teF9BY2Nlc3NpYmxlQnV0dG9uX2Rpc2FibGVkIHtcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAwLjU7XG4gICAgICAgICAgICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaW1nLFxuICAgICAgICAgICAgLm14X0ljb25pemVkQ29udGV4dE1lbnVfaWNvbiB7XG4gICAgICAgICAgICAgICAgLyogaWNvbnMgKi9cbiAgICAgICAgICAgICAgICB3aWR0aDogMTZweDtcbiAgICAgICAgICAgICAgICBtaW4td2lkdGg6IDE2cHg7XG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAxNnB4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBzcGFuLm14X0ljb25pemVkQ29udGV4dE1lbnVfbGFiZWwge1xuICAgICAgICAgICAgICAgIC8qIGxhYmVscyAqL1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIGZsZXg6IDE7XG5cbiAgICAgICAgICAgICAgICAvKiBFbGxpcHNpemUgYW55IHRleHQgb3ZlcmZsb3cgKi9cbiAgICAgICAgICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICAgICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5teF9JY29uaXplZENvbnRleHRNZW51X2ljb24gKyAubXhfSWNvbml6ZWRDb250ZXh0TWVudV9sYWJlbCB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAxNHB4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAubXhfQmV0YUNhcmRfYmV0YVBpbGwge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAxNnB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm14X0ljb25pemVkQ29udGV4dE1lbnVfaWNvbiB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgd2lkdGg6IDE2cHg7XG4gICAgICAgIGhlaWdodDogMTZweDtcblxuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgIHdpZHRoOiBpbmhlcml0O1xuICAgICAgICAgICAgaGVpZ2h0OiBpbmhlcml0O1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgbWFzay1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgICAgICAgbWFzay1zaXplOiBjb250YWluO1xuICAgICAgICAgICAgbWFzay1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNwZC1jb2xvci1pY29uLXByaW1hcnkpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm14X0ljb25pemVkQ29udGV4dE1lbnVfb3B0aW9uTGlzdF9yZWQge1xuICAgICAgICAubXhfSWNvbml6ZWRDb250ZXh0TWVudV9pdGVtIHtcbiAgICAgICAgICAgIGNvbG9yOiAkYWxlcnQgIWltcG9ydGFudDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5teF9JY29uaXplZENvbnRleHRNZW51X2ljb246OmJlZm9yZSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jcGQtY29sb3ItaWNvbi1jcml0aWNhbC1wcmltYXJ5KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5teF9JY29uaXplZENvbnRleHRNZW51X29wdGlvbl9yZWQge1xuICAgICAgICBjb2xvcjogJGFsZXJ0ICFpbXBvcnRhbnQ7XG5cbiAgICAgICAgLm14X0ljb25pemVkQ29udGV4dE1lbnVfaWNvbjo6YmVmb3JlIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRhbGVydDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5teF9JY29uaXplZENvbnRleHRNZW51X2FjdGl2ZSB7XG4gICAgICAgICYubXhfSWNvbml6ZWRDb250ZXh0TWVudV9pdGVtLFxuICAgICAgICAubXhfSWNvbml6ZWRDb250ZXh0TWVudV9pdGVtIHtcbiAgICAgICAgICAgIGNvbG9yOiAkYWNjZW50ICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cblxuICAgICAgICAubXhfSWNvbml6ZWRDb250ZXh0TWVudV9pY29uOjpiZWZvcmUge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGFjY2VudDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYubXhfSWNvbml6ZWRDb250ZXh0TWVudV9jb21wYWN0IHtcbiAgICAgICAgLm14X0ljb25pemVkQ29udGV4dE1lbnVfb3B0aW9uTGlzdCA+ICoge1xuICAgICAgICAgICAgcGFkZGluZzogOHB4IDE2cHggOHB4IDEycHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubXhfSWNvbml6ZWRDb250ZXh0TWVudV9jaGVja2VkLFxuICAgIC5teF9JY29uaXplZENvbnRleHRNZW51X3VuY2hlY2tlZCB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAxNnB4O1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IC01cHg7XG4gICAgfVxuXG4gICAgLm14X0ljb25pemVkQ29udGV4dE1lbnVfZGV2ZWxvcGVyVG9vbHM6OmJlZm9yZSB7XG4gICAgICAgIG1hc2staW1hZ2U6IHVybChcIiQocmVzKS9pbWcvZWxlbWVudC1pY29ucy9zZXR0aW5ncy9mbGFzay5zdmdcIik7XG4gICAgfVxuXG4gICAgLm14X0ljb25pemVkQ29udGV4dE1lbnVfY2hlY2tlZDo6YmVmb3JlIHtcbiAgICAgICAgbWFzay1pbWFnZTogdXJsKFwiQHZlY3Rvci1pbS9jb21wb3VuZC1kZXNpZ24tdG9rZW5zL2ljb25zL2NoZWNrLnN2Z1wiKTtcbiAgICB9XG5cbiAgICAubXhfSWNvbml6ZWRDb250ZXh0TWVudV91bmNoZWNrZWQ6OmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IHVuc2V0O1xuICAgIH1cblxuICAgIC5teF9JY29uaXplZENvbnRleHRNZW51X3N1YmxhYmVsIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDIwcHg7XG4gICAgICAgIGNvbG9yOiAkdGVydGlhcnktY29udGVudDtcbiAgICB9XG59XG5cbi5teF9JY29uaXplZENvbnRleHRNZW51X2l0ZW0ubXhfSWNvbml6ZWRDb250ZXh0TWVudV9pdGVtRGVzdHJ1Y3RpdmUge1xuICAgIGNvbG9yOiAkYWxlcnQgIWltcG9ydGFudDtcbn1cbiIsIi8qXG5Db3B5cmlnaHQgMjAyMC0yMDI0IE5ldyBWZWN0b3IgTHRkLlxuXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXG4qL1xuXG4ubXhfTGVnYWN5Q2FsbENvbnRleHRNZW51X2l0ZW0ge1xuICAgIHdpZHRoOiAyMDVweDtcbiAgICBoZWlnaHQ6IDQwcHg7XG4gICAgcGFkZGluZy1sZWZ0OiAxNnB4O1xuICAgIGxpbmUtaGVpZ2h0OiA0MHB4O1xuICAgIHZlcnRpY2FsLWFsaWduOiBjZW50ZXI7XG59XG4iLCIvKlxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXG5Db3B5cmlnaHQgMjAyMSBNaWNoYWVsIFdlaW1hbm4gPG1haWxAbWljaGFlbC13ZWltYW5uLmV1PlxuQ29weXJpZ2h0IDIwMTUsIDIwMTYgT3Blbk1hcmtldCBMdGRcblxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuKi9cblxuLm14X01lc3NhZ2VDb250ZXh0TWVudSB7XG4gICAgLm14X0ljb25pemVkQ29udGV4dE1lbnVfaWNvbiB7XG4gICAgICAgIHdpZHRoOiAxNnB4O1xuICAgICAgICBoZWlnaHQ6IDE2cHg7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgd2lkdGg6IDE2cHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDE2cHg7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIG1hc2stcG9zaXRpb246IGNlbnRlcjtcbiAgICAgICAgICAgIG1hc2stc2l6ZTogY29udGFpbjtcbiAgICAgICAgICAgIG1hc2stcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubXhfTWVzc2FnZUNvbnRleHRNZW51X2ljb25Db2xsYXBzZTo6YmVmb3JlIHtcbiAgICAgICAgbWFzay1pbWFnZTogdXJsKFwiQHZlY3Rvci1pbS9jb21wb3VuZC1kZXNpZ24tdG9rZW5zL2ljb25zL2NoZXZyb24tdXAuc3ZnXCIpO1xuICAgIH1cblxuICAgIC5teF9NZXNzYWdlQ29udGV4dE1lbnVfaWNvblJlcG9ydDo6YmVmb3JlIHtcbiAgICAgICAgbWFzay1pbWFnZTogdXJsKFwiQHZlY3Rvci1pbS9jb21wb3VuZC1kZXNpZ24tdG9rZW5zL2ljb25zL2Vycm9yLnN2Z1wiKTtcbiAgICB9XG5cbiAgICAubXhfTWVzc2FnZUNvbnRleHRNZW51X2ljb25MaW5rOjpiZWZvcmUge1xuICAgICAgICBtYXNrLWltYWdlOiB1cmwoXCJAdmVjdG9yLWltL2NvbXBvdW5kLWRlc2lnbi10b2tlbnMvaWNvbnMvbGluay5zdmdcIik7XG4gICAgfVxuXG4gICAgLm14X01lc3NhZ2VDb250ZXh0TWVudV9pY29uUGVybWFsaW5rOjpiZWZvcmUge1xuICAgICAgICBtYXNrLWltYWdlOiB1cmwoXCIkKHJlcykvaW1nL2VsZW1lbnQtaWNvbnMvcm9vbS9zaGFyZS5zdmdcIik7XG4gICAgfVxuXG4gICAgLm14X01lc3NhZ2VDb250ZXh0TWVudV9pY29uVW5oaWRlUHJldmlldzo6YmVmb3JlIHtcbiAgICAgICAgbWFzay1pbWFnZTogdXJsKFwiJChyZXMpL2ltZy9lbGVtZW50LWljb25zL3NldHRpbmdzL2FwcGVhcmFuY2Uuc3ZnXCIpO1xuICAgIH1cblxuICAgIC5teF9NZXNzYWdlQ29udGV4dE1lbnVfaWNvbk9wZW5Jbk1hcFNpdGU6OmJlZm9yZSB7XG4gICAgICAgIG1hc2staW1hZ2U6IHVybChcIiQocmVzKS9pbWcvZXh0ZXJuYWwtbGluay5zdmdcIik7XG4gICAgfVxuXG4gICAgLm14X01lc3NhZ2VDb250ZXh0TWVudV9pY29uRW5kUG9sbDo6YmVmb3JlIHtcbiAgICAgICAgbWFzay1pbWFnZTogdXJsKFwiQHZlY3Rvci1pbS9jb21wb3VuZC1kZXNpZ24tdG9rZW5zL2ljb25zL2NoZWNrLnN2Z1wiKTtcbiAgICB9XG5cbiAgICAubXhfTWVzc2FnZUNvbnRleHRNZW51X2ljb25Gb3J3YXJkOjpiZWZvcmUge1xuICAgICAgICBtYXNrLWltYWdlOiB1cmwoXCJAdmVjdG9yLWltL2NvbXBvdW5kLWRlc2lnbi10b2tlbnMvaWNvbnMvZm9yd2FyZC5zdmdcIik7XG4gICAgfVxuXG4gICAgLm14X01lc3NhZ2VDb250ZXh0TWVudV9pY29uUmVkYWN0OjpiZWZvcmUge1xuICAgICAgICBtYXNrLWltYWdlOiB1cmwoXCJAdmVjdG9yLWltL2NvbXBvdW5kLWRlc2lnbi10b2tlbnMvaWNvbnMvZGVsZXRlLnN2Z1wiKTtcbiAgICB9XG5cbiAgICAubXhfTWVzc2FnZUNvbnRleHRNZW51X2ljb25SZXNlbmQ6OmJlZm9yZSB7XG4gICAgICAgIG1hc2staW1hZ2U6IHVybChcIkB2ZWN0b3ItaW0vY29tcG91bmQtZGVzaWduLXRva2Vucy9pY29ucy9yZXN0YXJ0LnN2Z1wiKTtcbiAgICB9XG5cbiAgICAubXhfTWVzc2FnZUNvbnRleHRNZW51X2ljb25Tb3VyY2U6OmJlZm9yZSB7XG4gICAgICAgIG1hc2staW1hZ2U6IHVybChcIkB2ZWN0b3ItaW0vY29tcG91bmQtZGVzaWduLXRva2Vucy9pY29ucy9pbmxpbmUtY29kZS5zdmdcIik7XG4gICAgfVxuXG4gICAgLm14X01lc3NhZ2VDb250ZXh0TWVudV9pY29uUXVvdGU6OmJlZm9yZSB7XG4gICAgICAgIG1hc2staW1hZ2U6IHVybChcIkB2ZWN0b3ItaW0vY29tcG91bmQtZGVzaWduLXRva2Vucy9pY29ucy9xdW90ZS5zdmdcIik7XG4gICAgfVxuXG4gICAgLm14X01lc3NhZ2VDb250ZXh0TWVudV9pY29uUGluOjpiZWZvcmUge1xuICAgICAgICBtYXNrLWltYWdlOiB1cmwoXCJAdmVjdG9yLWltL2NvbXBvdW5kLWRlc2lnbi10b2tlbnMvaWNvbnMvcGluLnN2Z1wiKTtcbiAgICB9XG5cbiAgICAubXhfTWVzc2FnZUNvbnRleHRNZW51X2ljb25VbnBpbjo6YmVmb3JlIHtcbiAgICAgICAgbWFzay1pbWFnZTogdXJsKFwiQHZlY3Rvci1pbS9jb21wb3VuZC1kZXNpZ24tdG9rZW5zL2ljb25zL3VucGluLnN2Z1wiKTtcbiAgICB9XG5cbiAgICAubXhfTWVzc2FnZUNvbnRleHRNZW51X2ljb25Db3B5OjpiZWZvcmUge1xuICAgICAgICBoZWlnaHQ6IDE2cHg7XG4gICAgICAgIG1hc2staW1hZ2U6IHVybCgkY29weS1idXR0b24tdXJsKTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB3aWR0aDogMTZweDtcbiAgICB9XG5cbiAgICAubXhfTWVzc2FnZUNvbnRleHRNZW51X2ljb25FZGl0OjpiZWZvcmUge1xuICAgICAgICBtYXNrLWltYWdlOiB1cmwoXCIkKHJlcykvaW1nL2VsZW1lbnQtaWNvbnMvcm9vbS9tZXNzYWdlLWJhci9lZGl0LnN2Z1wiKTtcbiAgICB9XG5cbiAgICAubXhfTWVzc2FnZUNvbnRleHRNZW51X2ljb25SZXBseTo6YmVmb3JlIHtcbiAgICAgICAgbWFzay1pbWFnZTogdXJsKFwiQHZlY3Rvci1pbS9jb21wb3VuZC1kZXNpZ24tdG9rZW5zL2ljb25zL3JlcGx5LnN2Z1wiKTtcbiAgICB9XG5cbiAgICAubXhfTWVzc2FnZUNvbnRleHRNZW51X2ljb25SZXBseUluVGhyZWFkOjpiZWZvcmUge1xuICAgICAgICBtYXNrLWltYWdlOiB1cmwoXCJAdmVjdG9yLWltL2NvbXBvdW5kLWRlc2lnbi10b2tlbnMvaWNvbnMvdGhyZWFkcy5zdmdcIik7XG4gICAgfVxuXG4gICAgLm14X01lc3NhZ2VDb250ZXh0TWVudV9pY29uUmVhY3Q6OmJlZm9yZSB7XG4gICAgICAgIG1hc2staW1hZ2U6IHVybChcIiQocmVzKS9pbWcvZWxlbWVudC1pY29ucy9yb29tL21lc3NhZ2UtYmFyL2Vtb2ppLnN2Z1wiKTtcbiAgICB9XG5cbiAgICAubXhfTWVzc2FnZUNvbnRleHRNZW51X2ljb25WaWV3SW5Sb29tOjpiZWZvcmUge1xuICAgICAgICBtYXNrLWltYWdlOiB1cmwoXCIkKHJlcykvaW1nL2VsZW1lbnQtaWNvbnMvdmlldy1pbi1yb29tLnN2Z1wiKTtcbiAgICB9XG5cbiAgICAubXhfTWVzc2FnZUNvbnRleHRNZW51X2p1bXBUb0V2ZW50OjpiZWZvcmUge1xuICAgICAgICBtYXNrLWltYWdlOiB1cmwoXCIkKHJlcykvaW1nL2VsZW1lbnQtaWNvbnMvY2hpbGQtcmVsYXRpb25zaGlwLnN2Z1wiKTtcbiAgICB9XG59XG4iLCIubXhfUm9vbUdlbmVyYWxDb250ZXh0TWVudV9pY29uU3Rhcjo6YmVmb3JlIHtcbiAgICBtYXNrLWltYWdlOiB1cmwoXCJAdmVjdG9yLWltL2NvbXBvdW5kLWRlc2lnbi10b2tlbnMvaWNvbnMvZmF2b3VyaXRlLXNvbGlkLnN2Z1wiKTtcbn1cblxuLm14X1Jvb21HZW5lcmFsQ29udGV4dE1lbnVfaWNvbkFycm93RG93bjo6YmVmb3JlIHtcbiAgICBtYXNrLWltYWdlOiB1cmwoXCIkKHJlcykvaW1nL2VsZW1lbnQtaWNvbnMvcm9vbWxpc3QvbG93LXByaW9yaXR5LnN2Z1wiKTtcbn1cblxuLm14X1Jvb21HZW5lcmFsQ29udGV4dE1lbnVfaWNvbk1hcmtBc1JlYWQ6OmJlZm9yZSB7XG4gICAgbWFzay1pbWFnZTogdXJsKFwiJChyZXMpL2ltZy9lbGVtZW50LWljb25zL3Jvb21saXN0L21hcmstYXMtcmVhZC5zdmdcIik7XG59XG5cbi5teF9Sb29tR2VuZXJhbENvbnRleHRNZW51X2ljb25NYXJrQXNVbnJlYWQ6OmJlZm9yZSB7XG4gICAgbWFzay1pbWFnZTogdXJsKFwiJChyZXMpL2ltZy9lbGVtZW50LWljb25zL3Jvb21saXN0L21hcmstYXMtdW5yZWFkLnN2Z1wiKTtcbn1cblxuLm14X1Jvb21HZW5lcmFsQ29udGV4dE1lbnVfaWNvbk5vdGlmaWNhdGlvbnNEZWZhdWx0OjpiZWZvcmUge1xuICAgIG1hc2staW1hZ2U6IHVybChcIiQocmVzKS9pbWcvZWxlbWVudC1pY29ucy9ub3RpZmljYXRpb25zLnN2Z1wiKTtcbn1cblxuLm14X1Jvb21HZW5lcmFsQ29udGV4dE1lbnVfaWNvbk5vdGlmaWNhdGlvbnNBbGxNZXNzYWdlczo6YmVmb3JlIHtcbiAgICBtYXNrLWltYWdlOiB1cmwoXCIkKHJlcykvaW1nL2VsZW1lbnQtaWNvbnMvcm9vbWxpc3Qvbm90aWZpY2F0aW9ucy1kZWZhdWx0LnN2Z1wiKTtcbn1cblxuLm14X1Jvb21HZW5lcmFsQ29udGV4dE1lbnVfaWNvbk5vdGlmaWNhdGlvbnNNZW50aW9uc0tleXdvcmRzOjpiZWZvcmUge1xuICAgIG1hc2staW1hZ2U6IHVybChcIiQocmVzKS9pbWcvZWxlbWVudC1pY29ucy9yb29tbGlzdC9ub3RpZmljYXRpb25zLWRtLnN2Z1wiKTtcbn1cblxuLm14X1Jvb21HZW5lcmFsQ29udGV4dE1lbnVfaWNvbk5vdGlmaWNhdGlvbnNOb25lOjpiZWZvcmUge1xuICAgIG1hc2staW1hZ2U6IHVybChcIiQocmVzKS9pbWcvZWxlbWVudC1pY29ucy9yb29tbGlzdC9ub3RpZmljYXRpb25zLW9mZi5zdmdcIik7XG59XG5cbi5teF9Sb29tR2VuZXJhbENvbnRleHRNZW51X2ljb25QZW9wbGU6OmJlZm9yZSB7XG4gICAgbWFzay1pbWFnZTogdXJsKFwiQHZlY3Rvci1pbS9jb21wb3VuZC1kZXNpZ24tdG9rZW5zL2ljb25zL3VzZXItcHJvZmlsZS1zb2xpZC5zdmdcIik7XG59XG5cbi5teF9Sb29tR2VuZXJhbENvbnRleHRNZW51X2ljb25GaWxlczo6YmVmb3JlIHtcbiAgICBtYXNrLWltYWdlOiB1cmwoXCJAdmVjdG9yLWltL2NvbXBvdW5kLWRlc2lnbi10b2tlbnMvaWNvbnMvZmlsZXMuc3ZnXCIpO1xufVxuXG4ubXhfUm9vbUdlbmVyYWxDb250ZXh0TWVudV9pY29uUGluczo6YmVmb3JlIHtcbiAgICBtYXNrLWltYWdlOiB1cmwoXCIkKHJlcykvaW1nL2VsZW1lbnQtaWNvbnMvcm9vbS9waW4tdXByaWdodC5zdmdcIik7XG59XG5cbi5teF9Sb29tR2VuZXJhbENvbnRleHRNZW51X2ljb25XaWRnZXRzOjpiZWZvcmUge1xuICAgIG1hc2staW1hZ2U6IHVybChcIkB2ZWN0b3ItaW0vY29tcG91bmQtZGVzaWduLXRva2Vucy9pY29ucy9leHRlbnNpb25zLXNvbGlkLnN2Z1wiKTtcbn1cblxuLm14X1Jvb21HZW5lcmFsQ29udGV4dE1lbnVfaWNvblNldHRpbmdzOjpiZWZvcmUge1xuICAgIG1hc2staW1hZ2U6IHVybChcIkB2ZWN0b3ItaW0vY29tcG91bmQtZGVzaWduLXRva2Vucy9pY29ucy9zZXR0aW5ncy1zb2xpZC5zdmdcIik7XG59XG5cbi5teF9Sb29tR2VuZXJhbENvbnRleHRNZW51X2ljb25FeHBvcnQ6OmJlZm9yZSB7XG4gICAgbWFzay1pbWFnZTogdXJsKFwiQHZlY3Rvci1pbS9jb21wb3VuZC1kZXNpZ24tdG9rZW5zL2ljb25zL2V4cG9ydC1hcmNoaXZlLnN2Z1wiKTtcbn1cblxuLm14X1Jvb21HZW5lcmFsQ29udGV4dE1lbnVfaWNvbkRldmVsb3BlclRvb2xzOjpiZWZvcmUge1xuICAgIG1hc2staW1hZ2U6IHVybChcIiQocmVzKS9pbWcvZWxlbWVudC1pY29ucy9zZXR0aW5ncy9mbGFzay5zdmdcIik7XG59XG5cbi5teF9Sb29tR2VuZXJhbENvbnRleHRNZW51X2ljb25Db3B5TGluazo6YmVmb3JlIHtcbiAgICBtYXNrLWltYWdlOiB1cmwoXCJAdmVjdG9yLWltL2NvbXBvdW5kLWRlc2lnbi10b2tlbnMvaWNvbnMvbGluay5zdmdcIik7XG59XG5cbi5teF9Sb29tR2VuZXJhbENvbnRleHRNZW51X2ljb25JbnZpdGU6OmJlZm9yZSB7XG4gICAgbWFzay1pbWFnZTogdXJsKFwiJChyZXMpL2ltZy9lbGVtZW50LWljb25zL3Jvb20vaW52aXRlLnN2Z1wiKTtcbn1cblxuLm14X1Jvb21HZW5lcmFsQ29udGV4dE1lbnVfaWNvblNpZ25PdXQ6OmJlZm9yZSB7XG4gICAgbWFzay1pbWFnZTogdXJsKFwiQHZlY3Rvci1pbS9jb21wb3VuZC1kZXNpZ24tdG9rZW5zL2ljb25zL2xlYXZlLnN2Z1wiKTtcbn1cbiIsIi5teF9Sb29tTm90aWZpY2F0aW9uQ29udGV4dE1lbnVfaWNvbkJlbGw6OmJlZm9yZSB7XG4gICAgbWFzay1pbWFnZTogdXJsKFwiJChyZXMpL2ltZy9lbGVtZW50LWljb25zL25vdGlmaWNhdGlvbnMuc3ZnXCIpO1xufVxuLm14X1Jvb21Ob3RpZmljYXRpb25Db250ZXh0TWVudV9pY29uQmVsbERvdDo6YmVmb3JlIHtcbiAgICBtYXNrLWltYWdlOiB1cmwoXCIkKHJlcykvaW1nL2VsZW1lbnQtaWNvbnMvcm9vbWxpc3Qvbm90aWZpY2F0aW9ucy1kZWZhdWx0LnN2Z1wiKTtcbn1cbi5teF9Sb29tTm90aWZpY2F0aW9uQ29udGV4dE1lbnVfaWNvbkJlbGxNZW50aW9uczo6YmVmb3JlIHtcbiAgICBtYXNrLWltYWdlOiB1cmwoXCIkKHJlcykvaW1nL2VsZW1lbnQtaWNvbnMvcm9vbWxpc3Qvbm90aWZpY2F0aW9ucy1kbS5zdmdcIik7XG59XG4ubXhfUm9vbU5vdGlmaWNhdGlvbkNvbnRleHRNZW51X2ljb25CZWxsQ3Jvc3NlZDo6YmVmb3JlIHtcbiAgICBtYXNrLWltYWdlOiB1cmwoXCIkKHJlcykvaW1nL2VsZW1lbnQtaWNvbnMvcm9vbWxpc3Qvbm90aWZpY2F0aW9ucy1vZmYuc3ZnXCIpO1xufVxuIiwiLypcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxuQ29weXJpZ2h0IDIwMjEgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cblxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuKi9cblxuLm14X0FkZEV4aXN0aW5nVG9TcGFjZURpYWxvZ193cmFwcGVyIHtcbiAgICAubXhfRGlhbG9nIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICB9XG59XG5cbi5teF9BZGRFeGlzdGluZ1RvU3BhY2Uge1xuICAgIC5teF9TZWFyY2hCb3gge1xuICAgICAgICAvKiBUbyBtYXRjaCB0aGUgc3BhY2UgYXJvdW5kIHRoZSB0aXRsZSAqL1xuICAgICAgICBtYXJnaW46IDAgMCAxNXB4IDA7XG4gICAgICAgIGZsZXgtZ3JvdzogMDtcbiAgICB9XG5cbiAgICAubXhfQWRkRXhpc3RpbmdUb1NwYWNlX2NvbnRlbnQge1xuICAgICAgICBmbGV4LWdyb3c6IDE7XG4gICAgfVxuXG4gICAgLm14X0FkZEV4aXN0aW5nVG9TcGFjZV9ub1Jlc3VsdHMge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbWFyZ2luLXRvcDogMjRweDtcbiAgICB9XG5cbiAgICAubXhfQWRkRXhpc3RpbmdUb1NwYWNlX3NlY3Rpb24ge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDEycHg7XG5cbiAgICAgICAgLy8gcHJvdmlkZXMgc3BhY2UgZm9yIHNjcm9sbGJhciBzbyB0aGF0IGNoZWNrYm94IGFuZCBzY3JvbGxiYXIgZG8gbm90IGNvbGxpZGVcblxuICAgICAgICAmOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDI0cHg7XG4gICAgICAgIH1cblxuICAgICAgICA+IGgzIHtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIGNvbG9yOiAkc2Vjb25kYXJ5LWNvbnRlbnQ7XG4gICAgICAgICAgICBmb250LXNpemU6ICRmb250LTEycHg7XG4gICAgICAgICAgICBmb250LXdlaWdodDogdmFyKC0tY3BkLWZvbnQtd2VpZ2h0LXNlbWlib2xkKTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAkZm9udC0xNXB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLm14X0FjY2Vzc2libGVCdXR0b25fa2luZF9saW5rIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtMTJweDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAkZm9udC0xNXB4O1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogOHB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm14X0FkZEV4aXN0aW5nVG9TcGFjZV9mb290ZXIge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBtYXJnaW4tdG9wOiAyMHB4O1xuXG4gICAgICAgID4gc3BhbiB7XG4gICAgICAgICAgICBmbGV4LWdyb3c6IDE7XG4gICAgICAgICAgICBmb250LXNpemU6ICRmb250LTEycHg7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogJGZvbnQtMTVweDtcbiAgICAgICAgICAgIGNvbG9yOiAkc2Vjb25kYXJ5LWNvbnRlbnQ7XG5cbiAgICAgICAgICAgIC5teF9Qcm9ncmVzc0JhciB7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiA4cHg7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgICAgICAgICBAbWl4aW4gUHJvZ3Jlc3NCYXJCb3JkZXJSYWRpdXMgOHB4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAubXhfQWRkRXhpc3RpbmdUb1NwYWNlRGlhbG9nX3Byb2dyZXNzVGV4dCB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogOHB4O1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtMTVweDtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogJGZvbnQtMjRweDtcbiAgICAgICAgICAgICAgICBjb2xvcjogJHByaW1hcnktY29udGVudDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgPiAqIHtcbiAgICAgICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLm14X0FkZEV4aXN0aW5nVG9TcGFjZV9lcnJvciB7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDEycHg7XG5cbiAgICAgICAgICAgID4gaW1nIHtcbiAgICAgICAgICAgICAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5teF9BZGRFeGlzdGluZ1RvU3BhY2VfZXJyb3JIZWFkaW5nIHtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogdmFyKC0tY3BkLWZvbnQtd2VpZ2h0LXNlbWlib2xkKTtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6ICRmb250LTE1cHg7XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6ICRmb250LTE4cHg7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRhbGVydDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLm14X0FkZEV4aXN0aW5nVG9TcGFjZV9lcnJvckNhcHRpb24ge1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDRweDtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6ICRmb250LTEycHg7XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6ICRmb250LTE1cHg7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRwcmltYXJ5LWNvbnRlbnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAubXhfQWNjZXNzaWJsZUJ1dHRvbiB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gICAgICAgIH1cblxuICAgICAgICAubXhfQWNjZXNzaWJsZUJ1dHRvbl9raW5kX3ByaW1hcnkge1xuICAgICAgICAgICAgcGFkZGluZzogOHB4IDM2cHg7XG4gICAgICAgIH1cblxuICAgICAgICAubXhfQWRkRXhpc3RpbmdUb1NwYWNlX3JldHJ5QnV0dG9uIHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAxMnB4O1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAyNHB4O1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRwcmltYXJ5LWNvbnRlbnQ7XG4gICAgICAgICAgICAgICAgbWFzay1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgICAgICAgICBtYXNrLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgbWFzay1zaXplOiBjb250YWluO1xuICAgICAgICAgICAgICAgIG1hc2staW1hZ2U6IHVybChcIkB2ZWN0b3ItaW0vY29tcG91bmQtZGVzaWduLXRva2Vucy9pY29ucy9yZXN0YXJ0LnN2Z1wiKTtcbiAgICAgICAgICAgICAgICB3aWR0aDogMThweDtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDE4cHg7XG4gICAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLm14X0FkZEV4aXN0aW5nVG9TcGFjZURpYWxvZyB7XG4gICAgd2lkdGg6IDQ4MHB4O1xuICAgIGNvbG9yOiAkcHJpbWFyeS1jb250ZW50O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICBtaW4taGVpZ2h0OiAwO1xuICAgIGhlaWdodDogODB2aDtcblxuICAgIC5teF9BZGRFeGlzdGluZ1RvU3BhY2Uge1xuICAgICAgICBkaXNwbGF5OiBjb250ZW50cztcbiAgICB9XG59XG5cbi5teF9TdWJzcGFjZVNlbGVjdG9yIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuXG4gICAgLm14X0Jhc2VBdmF0YXIge1xuICAgICAgICBtYXJnaW46IGF1dG8gMTZweCBhdXRvIDVweDtcbiAgICB9XG5cbiAgICA+IGRpdiB7XG4gICAgICAgID4gaDEge1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLWNwZC1mb250LXdlaWdodC1zZW1pYm9sZCk7XG4gICAgICAgICAgICBmb250LXNpemU6ICRmb250LTE4cHg7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogJGZvbnQtMjJweDtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5teF9Ecm9wZG93bl9pbnB1dCB7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcblxuICAgICAgICA+IC5teF9Ecm9wZG93bl9vcHRpb24ge1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICAgICAgZmxleDogdW5zZXQ7XG4gICAgICAgICAgICBoZWlnaHQ6IHVuc2V0O1xuICAgICAgICAgICAgY29sb3I6ICRzZWNvbmRhcnktY29udGVudDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtMTVweDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAkZm9udC0yNHB4O1xuXG4gICAgICAgICAgICAubXhfQmFzZUF2YXRhciB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5teF9Ecm9wZG93bl9tZW51IHtcbiAgICAgICAgICAgIC5teF9TdWJzcGFjZVNlbGVjdG9yX2Ryb3Bkb3duT3B0aW9uQWN0aXZlIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJGFjY2VudDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAzMnB4O1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICAgICAgICAgICAgICAgIHRvcDogOHB4O1xuICAgICAgICAgICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgICBtYXNrLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgIG1hc2stc2l6ZTogY29udGFpbjtcbiAgICAgICAgICAgICAgICAgICAgbWFzay1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGFjY2VudDtcbiAgICAgICAgICAgICAgICAgICAgbWFzay1pbWFnZTogdXJsKFwiQHZlY3Rvci1pbS9jb21wb3VuZC1kZXNpZ24tdG9rZW5zL2ljb25zL2NoZWNrLnN2Z1wiKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubXhfU3Vic3BhY2VTZWxlY3Rvcl9vbmx5U3BhY2Uge1xuICAgICAgICBjb2xvcjogJHNlY29uZGFyeS1jb250ZW50O1xuICAgICAgICBmb250LXNpemU6ICRmb250LTE1cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAkZm9udC0yNHB4O1xuICAgIH1cbn1cblxuLm14X0FkZEV4aXN0aW5nVG9TcGFjZV9lbnRyeSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBtYXJnaW4tdG9wOiAxMnB4O1xuXG4gICAgLm14X0RlY29yYXRlZFJvb21BdmF0YXIsIC8qIHdlIGNhbid0IHRhcmdldCAubXhfQmFzZUF2YXRhciBoZXJlIGFzIGl0J2xsIGJyZWFrIHRoZSBkZWNvcmF0ZWQgYXZhdGFyIHN0eWxpbmcgKi8ge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDEycHg7XG4gICAgfVxuXG4gICAgLm14X0FkZEV4aXN0aW5nVG9TcGFjZV9lbnRyeV9uYW1lIHtcbiAgICAgICAgZm9udC1zaXplOiAkZm9udC0xNXB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMzBweDtcbiAgICAgICAgZmxleC1ncm93OiAxO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMnB4O1xuICAgIH1cblxuICAgIC5teF9DaGVja2JveCB7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgfVxufVxuIiwiLypcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxuQ29weXJpZ2h0IDIwMjEgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cblxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuKi9cblxuLm14X0FuYWx5dGljc0xlYXJuTW9yZURpYWxvZyB7XG4gICAgbWF4LXdpZHRoOiA1MDBweDtcbiAgICAubXhfQW5hbHl0aWNzTGVhcm5Nb3JlX2ltYWdlX2hvbGRlciB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIiQocmVzKS9pbWcvZWxlbWVudC1zaGlueS5zdmdcIik7XG4gICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciB0b3A7XG4gICAgICAgIGhlaWdodDogMTEycHg7XG4gICAgICAgIHBhZGRpbmc6IDIwcHggMHB4O1xuICAgIH1cblxuICAgIC5teF9EaWFsb2dfY29udGVudCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDBweDtcbiAgICB9XG5cbiAgICAubXhfQW5hbHl0aWNzTGVhcm5Nb3JlX2NvcHkge1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJG1lbnUtYm9yZGVyLWNvbG9yO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMjBweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICB9XG5cbiAgICBhIHtcbiAgICAgICAgY29sb3I6ICRhY2NlbnQ7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB9XG5cbiAgICAubXhfQW5hbHl0aWNzTGVhcm5Nb3JlX2J1bGxldHMge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDBweDtcbiAgICB9XG5cbiAgICAubXhfQW5hbHl0aWNzTGVhcm5Nb3JlX2J1bGxldHMgbGkge1xuICAgICAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gICAgICAgIHBhZGRpbmc6IDJweCAwIDAgMzJweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgd2lkdGg6IDI2cHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDI2cHg7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzBkYmQ4YjtcbiAgICAgICAgICAgIG1hc2staW1hZ2U6IHVybChcIkB2ZWN0b3ItaW0vY29tcG91bmQtZGVzaWduLXRva2Vucy9pY29ucy9jaGVjay1jaXJjbGUuc3ZnXCIpO1xuICAgICAgICAgICAgbWFzay1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgICAgIG1hc2stcG9zaXRpb246IGNlbnRlcjtcbiAgICAgICAgICAgIG1hc2stc2l6ZTogY29udGFpbjtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi5teF9BcHBEb3dubG9hZERpYWxvZyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGdhcDogJHNwYWNpbmctMzI7XG4gICAgY29sb3I6ICRwcmltYXJ5LWNvbnRlbnQ7XG5cbiAgICAmLm14X0RpYWxvZ19maXhlZFdpZHRoIHtcbiAgICAgICAgd2lkdGg6IDY0MHB4O1xuICAgIH1cblxuICAgIC5teF9BcHBEb3dubG9hZERpYWxvZ19kZXNrdG9wIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgZ2FwOiAkc3BhY2luZy0xNjtcbiAgICB9XG5cbiAgICAubXhfQXBwRG93bmxvYWREaWFsb2dfbW9iaWxlIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgZ2FwOiAkc3BhY2luZy0yNDtcblxuICAgICAgICAubXhfQXBwRG93bmxvYWREaWFsb2dfYXBwIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgZmxleC1ncm93OiAxO1xuICAgICAgICAgICAgZmxleC1iYXNpczogNTAlO1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIGdhcDogJHNwYWNpbmctMTY7XG5cbiAgICAgICAgICAgIC5teF9RUkNvZGUge1xuICAgICAgICAgICAgICAgIC8qIGludGVudGlvbmFsbHkgaGFyZGNvZGVkIGNvbG9yIHRvIGVuc3VyZSB0aGUgUVIgY29kZSBpcyByZWFkYWJsZSBpbiBhbnkgc2l0dWF0aW9uICovXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogI2ZmZmZmZjtcblxuICAgICAgICAgICAgICAgIHBhZGRpbmc6ICRzcGFjaW5nLTI0O1xuICAgICAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRxdWluYXJ5LWNvbnRlbnQ7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAgICAgICAgICAgICAgIGFsaWduLXNlbGY6IHN0cmV0Y2g7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cbiAgICAgICAgICAgICAgICAubXhfVmVyaWZpY2F0aW9uUVJDb2RlIHtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxNDRweDtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDE0NHB4O1xuICAgICAgICAgICAgICAgICAgICBpbWFnZS1yZW5kZXJpbmc6IHBpeGVsYXRlZDtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5teF9BcHBEb3dubG9hZERpYWxvZ19pbmZvIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6ICRmb250LTEycHg7XG4gICAgICAgICAgICAgICAgY29sb3I6ICR0ZXJ0aWFyeS1jb250ZW50O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAubXhfQXBwRG93bmxvYWREaWFsb2dfbGlua3Mge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgICAgICAgICBnYXA6ICRzcGFjaW5nLTg7XG5cbiAgICAgICAgICAgICAgICAubXhfQWNjZXNzaWJsZUJ1dHRvbiB7XG4gICAgICAgICAgICAgICAgICAgIHN2ZyB7XG4gICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDQwcHg7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubXhfQXBwRG93bmxvYWREaWFsb2dfbGVnYWwge1xuICAgICAgICBwIHtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtMTJweDtcbiAgICAgICAgICAgIGNvbG9yOiAkdGVydGlhcnktY29udGVudDtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi8qXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cbkNvcHlyaWdodCAyMDIwIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXG5cblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cbiovXG5cbi5teF9CdWdSZXBvcnREaWFsb2cge1xuICAgIC5teF9CdWdSZXBvcnREaWFsb2dfZG93bmxvYWQge1xuICAgICAgICAubXhfQWNjZXNzaWJsZUJ1dHRvbl9raW5kX2xpbmsge1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxOHB4OyAvKiBTcGFjZSBiZXR3ZWVuIFwiRG93bmxvYWRpbmcgbG9ncy4uLlwiICovXG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIvKlxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXG5Db3B5cmlnaHQgMjAyMSBSb2JpbiBUb3duc2VuZCA8cm9iaW5Acm9iaW4udG93bj5cblxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuKi9cblxuLm14X0J1bGtSZWRhY3REaWFsb2cge1xuICAgIC5teF9DaGVja2JveCxcbiAgICAubXhfQnVsa1JlZGFjdERpYWxvZ19jaGVja2JveE1pY3JvY29weSB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAkZm9udC0yMHB4O1xuICAgIH1cblxuICAgIC5teF9CdWxrUmVkYWN0RGlhbG9nX2NoZWNrYm94TWljcm9jb3B5IHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDI2cHg7XG4gICAgICAgIGNvbG9yOiAkc2Vjb25kYXJ5LWNvbnRlbnQ7XG4gICAgfVxufVxuIiwiLypcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxuQ29weXJpZ2h0IDIwMTYgQXZpcmFsIERhc2d1cHRhXG5cblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cbiovXG5cbi5teF9DaGFuZ2Vsb2dEaWFsb2dfY29udGVudCB7XG4gICAgbWF4LWhlaWdodDogMzAwcHg7XG4gICAgb3ZlcmZsb3c6IGF1dG87XG59XG5cbi5teF9DaGFuZ2Vsb2dEaWFsb2dfbGkge1xuICAgIHBhZGRpbmc6IDAuMmVtO1xufVxuIiwiLypcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxuQ29weXJpZ2h0IDIwMjEgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cblxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuKi9cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIERFViBOT1RFOiBUaGlzIHN0eWxlc2hlZXQgY292ZXJzIGRpYWxvZ3MgbGlzdGVkIGJ5IHRoZSBjb21wb3VuZCwgaW5jbHVkaW5nICovXG4vKiBvdmVyIG11bHRpcGxlIFJlYWN0IGNvbXBvbmVudHMuIFRoZSBhY3R1YWwgaW5uZXIgY29udGVudHMgb2YgdGhlIGRpYWxvZyBzaG91bGQgKi9cbi8qIGJlIGluIHRoZWlyIHJlc3BlY3RpdmUgc3R5bGVzaGVldHMuICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4vKiBPdmVycmlkZSBsZWdhY3kvZGVmYXVsdCBzdHlsZXMgZm9yIGRpYWxvZ3MgKi9cbi5teF9EaWFsb2dfd3JhcHBlci5teF9Db21wb3VuZERpYWxvZyAubXhfRGlhbG9nIHtcbiAgICBwYWRkaW5nOiAwOyAvKiB3ZSdsbCBtYW5hZ2UgaXQgb3Vyc2VsdmVzICovXG4gICAgY29sb3I6ICRwcmltYXJ5LWNvbnRlbnQ7XG59XG5cbi5teF9Db21wb3VuZERpYWxvZyB7XG4gICAgLm14X0RpYWxvZyB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgfVxuXG4gICAgLm14X0NvbXBvdW5kRGlhbG9nX2hlYWRlciB7XG4gICAgICAgIHBhZGRpbmc6IDMycHggMzJweCAxNnB4IDMycHg7XG5cbiAgICAgICAgaDEge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLWNwZC1mb250LXdlaWdodC1zZW1pYm9sZCk7XG4gICAgICAgICAgICBmb250LXNpemU6ICRmb250LTI0cHg7XG4gICAgICAgICAgICBtYXJnaW46IDA7IC8qIG1hbmFnZWQgYnkgaGVhZGVyIGNsYXNzICovXG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubXhfQ29tcG91bmREaWFsb2dfY2FuY2VsQnV0dG9uIHtcbiAgICAgICAgQG1peGluIGN1c3RvbWlzZWRDYW5jZWxCdXR0b247XG4gICAgICAgIC8qIEFsaWduIHdpdGggY29ybmVyIHJhZGl1cyBvZiBkaWFsb2cgKi9cbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IHZhcigtLWNwZC1zcGFjZS00eCk7XG4gICAgICAgIHJpZ2h0OiB2YXIoLS1jcGQtc3BhY2UtNHgpO1xuICAgIH1cblxuICAgIC5teF9Db21wb3VuZERpYWxvZ19mb3JtIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgbWluLWhlaWdodDogMDtcbiAgICAgICAgZmxleDogMTtcbiAgICB9XG5cbiAgICAubXhfQ29tcG91bmREaWFsb2dfY29udGVudCB7XG4gICAgICAgIG92ZXJmbG93OiBhdXRvO1xuICAgICAgICBwYWRkaW5nOiA4cHggMzJweDtcbiAgICAgICAgZmxleDogMTtcbiAgICB9XG5cbiAgICAubXhfQ29tcG91bmREaWFsb2dfZm9vdGVyIHtcbiAgICAgICAgcGFkZGluZzogMjBweCAzMnB4O1xuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcblxuICAgICAgICAubXhfQWNjZXNzaWJsZUJ1dHRvbiB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMjRweDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLm14X1Njcm9sbGFibGVCYXNlRGlhbG9nIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cbiAgICB3aWR0aDogNTQ0cHg7IC8qIGZpeGVkICovXG4gICAgaGVpZ2h0OiA1MTZweDsgLyogZml4ZWQgKi9cbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgbWluLWhlaWdodDogMDtcbiAgICBtYXgtaGVpZ2h0OiA4MCU7XG5cbiAgICAubXhfQ29tcG91bmREaWFsb2dfZm9vdGVyIHtcbiAgICAgICAgYm94LXNoYWRvdzogMHB4IC00cHggNHB4IHJnYmEoMCwgMCwgMCwgMC4wNSk7IC8qIGhhcmRjb2RlZCBjb2xvdXIgZm9yIGJvdGggdGhlbWVzICovXG4gICAgICAgIHotaW5kZXg6IDE7IC8qIG5lZWRlZCB0byBtYWtlIGZvb3RlciAmIHNoYWRvdyBhcHBlYXIgYWJvdmUgZGlhbG9nIGNvbnRlbnQgKi9cbiAgICB9XG59XG4iLCIvKlxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXG5Db3B5cmlnaHQgMjAyMSBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxuXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXG4qL1xuXG4ubXhfQ29uZmlybVNwYWNlVXNlckFjdGlvbkRpYWxvZ193cmFwcGVyIHtcbiAgICAubXhfRGlhbG9nIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgcGFkZGluZzogMjRweCAzMnB4O1xuICAgIH1cbn1cblxuLm14X0NvbmZpcm1TcGFjZVVzZXJBY3Rpb25EaWFsb2cge1xuICAgIHdpZHRoOiA0NDBweDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgaGVpZ2h0OiA1MjBweDtcblxuICAgIC5teF9EaWFsb2dfY29udGVudCB7XG4gICAgICAgIG1hcmdpbjogMTJweCAwO1xuICAgICAgICBmbGV4LWdyb3c6IDE7XG4gICAgICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgfVxuXG4gICAgLm14X0NvbmZpcm1Vc2VyQWN0aW9uRGlhbG9nX3JlYXNvbkZpZWxkIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTJweDtcbiAgICB9XG5cbiAgICAubXhfQ29uZmlybVNwYWNlVXNlckFjdGlvbkRpYWxvZ193YXJuaW5nIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgICAgIHBhZGRpbmc6IDEycHggOHB4IDEycHggNDJweDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGhlYWRlci1wYW5lbC1iZy1jb2xvcjtcblxuICAgICAgICBmb250LXNpemU6ICRmb250LTEycHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAkZm9udC0xNXB4O1xuICAgICAgICBjb2xvcjogJHNlY29uZGFyeS1jb250ZW50O1xuXG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgbGVmdDogMTBweDtcbiAgICAgICAgICAgIHRvcDogY2FsYyg1MCUgLSA4cHgpOyAvKiB2ZXJ0aWNhbCBjZW50ZXJpbmcgKi9cbiAgICAgICAgICAgIGhlaWdodDogMTZweDtcbiAgICAgICAgICAgIHdpZHRoOiAxNnB4O1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHNlY29uZGFyeS1jb250ZW50O1xuICAgICAgICAgICAgbWFzay1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgICAgIG1hc2stc2l6ZTogY29udGFpbjtcbiAgICAgICAgICAgIG1hc2staW1hZ2U6IHVybChcIkB2ZWN0b3ItaW0vY29tcG91bmQtZGVzaWduLXRva2Vucy9pY29ucy9pbmZvLXNvbGlkLnN2Z1wiKTtcbiAgICAgICAgICAgIG1hc2stcG9zaXRpb246IGNlbnRlcjtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi8qXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cbkNvcHlyaWdodCAyMDE3IFZlY3RvciBDcmVhdGlvbnMgTHRkLlxuXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXG4qL1xuXG4ubXhfQ29uZmlybVVzZXJBY3Rpb25EaWFsb2cgLm14X0RpYWxvZ19jb250ZW50IC5teF9Db25maXJtVXNlckFjdGlvbkRpYWxvZ191c2VyIHtcbiAgICBtaW4taGVpZ2h0OiA0OHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDI0cHg7XG59XG5cbi5teF9Db25maXJtVXNlckFjdGlvbkRpYWxvZ19hdmF0YXIge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIG1hcmdpbi1yaWdodDogMjBweDtcbn1cblxuLm14X0NvbmZpcm1Vc2VyQWN0aW9uRGlhbG9nX25hbWUge1xuICAgIHBhZGRpbmctdG9wOiAycHg7XG4gICAgZm9udC1zaXplOiAkZm9udC0xOHB4O1xufVxuXG4ubXhfQ29uZmlybVVzZXJBY3Rpb25EaWFsb2dfdXNlcklkIHtcbiAgICBmb250LXNpemU6ICRmb250LTEzcHg7XG59XG5cbi5teF9Db25maXJtVXNlckFjdGlvbkRpYWxvZ19yZWFzb25GaWVsZCB7XG4gICAgZm9udDogdmFyKC0tY3BkLWZvbnQtYm9keS1tZC1yZWd1bGFyKTtcbiAgICBjb2xvcjogJHByaW1hcnktY29udGVudDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcbn1cbiIsIi8qXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cbkNvcHlyaWdodCAyMDE3IE1pY2hhZWwgVGVsYXR5bnNraSA8N3QzY2hndXlAZ21haWwuY29tPlxuXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXG4qL1xuXG4ubXhfQ3JlYXRlUm9vbURpYWxvZ19kZXRhaWxzIHtcbiAgICBtYXJnaW4tdG9wOiAxNXB4O1xuXG4gICAgLm14X0NyZWF0ZVJvb21EaWFsb2dfZGV0YWlsc19zdW1tYXJ5IHtcbiAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLWNwZC1mb250LXdlaWdodC1zZW1pYm9sZCk7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgY29sb3I6IHZhcigtLWNwZC1jb2xvci10ZXh0LXByaW1hcnkpO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICAgd2lkdGg6IGZpdC1jb250ZW50O1xuXG4gICAgICAgIC8qIGxpc3Qtc3R5bGUgZG9lc24ndCBkbyBpdCBmb3Igd2Via2l0ICovXG4gICAgICAgICY6Oi13ZWJraXQtZGV0YWlscy1tYXJrZXIge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6bm90KDpmb2N1cy12aXNpYmxlKSB7XG4gICAgICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgPiBkaXYge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICAgICAgbWFyZ2luOiA1cHggMDtcblxuICAgICAgICBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0ge1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgICAgICB9XG4gICAgfVxufVxuXG4ubXhfQ3JlYXRlUm9vbURpYWxvZ19sYWJlbCB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMTJweDtcbn1cblxuLm14X0NyZWF0ZVJvb21EaWFsb2dfaW5wdXRfY29udGFpbmVyIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAyMHB4O1xufVxuXG4ubXhfQ3JlYXRlUm9vbURpYWxvZ19pbnB1dCB7XG4gICAgZm9udC1zaXplOiAkZm9udC0xNXB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkaW5wdXQtYm9yZGVyLWNvbG9yO1xuICAgIHBhZGRpbmc6IDlweDtcbiAgICBjb2xvcjogJHByaW1hcnktY29udGVudDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcbiAgICB3aWR0aDogMTAwJTtcbn1cblxuLyogbmVlZGVkIHRvIG1ha2UgdGhlIGFsaWFzIGZpZWxkIG9ubHkgZ3JvdyBhcyB3aWRlIGFzIG5lZWRlZCAqL1xuLyogYXMgb3Bwb3NlZCB0byBmdWxsIHdpZHRoICovXG4ubXhfQ3JlYXRlUm9vbURpYWxvZ19hbGlhc0NvbnRhaW5lciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICAvKiBwdXQgbWFyZ2luIG9uIGNvbnRhaW5lciBzbyBpdCBjYW4gY29sbGFwc2Ugd2l0aCBzaWJsaW5ncyAqL1xuICAgIG1hcmdpbjogMjRweCAwIDEwcHg7XG5cbiAgICAubXhfUm9vbUFsaWFzRmllbGQge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgfVxufVxuXG4ubXhfQ3JlYXRlUm9vbURpYWxvZyB7XG4gICAgJi5teF9EaWFsb2dfZml4ZWRXaWR0aCB7XG4gICAgICAgIHdpZHRoOiA0NTBweDtcbiAgICB9XG5cbiAgICAubXhfRGlhbG9nX2NvbnRlbnQge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA0MHB4O1xuICAgIH1cblxuICAgIHAsXG4gICAgLm14X0ZpZWxkX2lucHV0IGxhYmVsIHtcbiAgICAgICAgY29sb3I6ICRtdXRlZC1mZy1jb2xvcjtcbiAgICB9XG5cbiAgICAubXhfU2V0dGluZ3NGbGFnIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICB9XG5cbiAgICAubXhfU2V0dGluZ3NGbGFnX2xhYmVsIHtcbiAgICAgICAgZmxleDogMSAxIDA7XG4gICAgICAgIG1pbi13aWR0aDogMDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLWNwZC1mb250LXdlaWdodC1zZW1pYm9sZCk7XG4gICAgfVxuXG4gICAgLm14X1RvZ2dsZVN3aXRjaCB7XG4gICAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgICAgICBtYXJnaW4tbGVmdDogMzBweDtcbiAgICB9XG5cbiAgICAubXhfRGlhbG9nX2NvbnRlbnQgPiAubXhfU2V0dGluZ3NGbGFnIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMjRweDtcbiAgICB9XG5cbiAgICBwIHtcbiAgICAgICAgbWFyZ2luOiAwIDg1cHggMCAwO1xuICAgICAgICBmb250LXNpemU6ICRmb250LTEycHg7XG4gICAgfVxufVxuXG4ubXhfQ3JlYXRlUm9vbURpYWxvZ19sYWJlbGxlZENoZWNrYm94IHtcbiAgICBjb2xvcjogJG11dGVkLWZnLWNvbG9yO1xuICAgIG1hcmdpbi10b3A6IHZhcigtLWNwZC1zcGFjZS02eCk7XG59XG4iLCIvKlxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXG5Db3B5cmlnaHQgMjAyMSBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxuXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXG4qL1xuXG4ubXhfQ3JlYXRlU3Vic3BhY2VEaWFsb2dfd3JhcHBlciB7XG4gICAgLm14X0RpYWxvZyB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgfVxufVxuXG4ubXhfQ3JlYXRlU3Vic3BhY2VEaWFsb2cge1xuICAgIHdpZHRoOiA0ODBweDtcbiAgICBjb2xvcjogJHByaW1hcnktY29udGVudDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgbWluLWhlaWdodDogMDtcblxuICAgIC5teF9DcmVhdGVTdWJzcGFjZURpYWxvZ19jb250ZW50IHtcbiAgICAgICAgZmxleC1ncm93OiAxO1xuXG4gICAgICAgIC5teF9DcmVhdGVTdWJzcGFjZURpYWxvZ19iZXRhTm90aWNlIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDEycHggMTZweDtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRoZWFkZXItcGFuZWwtYmctY29sb3I7XG5cbiAgICAgICAgICAgIC5teF9CZXRhQ2FyZF9iZXRhUGlsbCB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiA4cHg7XG4gICAgICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5teF9Kb2luUnVsZURyb3Bkb3duICsgcCB7XG4gICAgICAgICAgICBjb2xvcjogJG11dGVkLWZnLWNvbG9yO1xuICAgICAgICAgICAgZm9udC1zaXplOiAkZm9udC0xMnB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm14X0NyZWF0ZVN1YnNwYWNlRGlhbG9nX2Zvb3RlciB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIG1hcmdpbi10b3A6IDIwcHg7XG5cbiAgICAgICAgLm14X0NyZWF0ZVN1YnNwYWNlRGlhbG9nX2Zvb3Rlcl9wcm9tcHQge1xuICAgICAgICAgICAgZmxleC1ncm93OiAxO1xuICAgICAgICAgICAgZm9udC1zaXplOiAkZm9udC0xMnB4O1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6ICRmb250LTE1cHg7XG4gICAgICAgICAgICBjb2xvcjogJHNlY29uZGFyeS1jb250ZW50O1xuXG4gICAgICAgICAgICA+ICoge1xuICAgICAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAubXhfQWNjZXNzaWJsZUJ1dHRvbiB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gICAgICAgIH1cblxuICAgICAgICAubXhfQWNjZXNzaWJsZUJ1dHRvbl9raW5kX3ByaW1hcnkge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDE2cHg7XG4gICAgICAgICAgICBwYWRkaW5nOiA4cHggMzZweDtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi8qXG5Db3B5cmlnaHQgMjAxOC0yMDI0IE5ldyBWZWN0b3IgTHRkLlxuXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXG4qL1xuXG4ubXhfRGVhY3RpdmF0ZUFjY291bnREaWFsb2cgLm14X0RpYWxvZ19jb250ZW50IHtcbiAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xufVxuXG4ubXhfRGVhY3RpdmF0ZUFjY291bnREaWFsb2cgLm14X0RlYWN0aXZhdGVBY2NvdW50RGlhbG9nX2lucHV0X3NlY3Rpb24gLm14X0ZpZWxkIHtcbiAgICB3aWR0aDogMzAwcHg7XG59XG4iLCIvKlxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXG5Db3B5cmlnaHQgMjAxNyBNaWNoYWVsIFRlbGF0eW5za2kgPDd0M2NoZ3V5QGdtYWlsLmNvbT5cblxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuKi9cblxuLm14X0RldnRvb2xzRGlhbG9nX3dyYXBwZXIge1xuICAgIC5teF9EaWFsb2cge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIH1cblxuICAgIC5teF9EaWFsb2dfZml4ZWRXaWR0aCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIG1pbi1oZWlnaHQ6IDA7XG4gICAgICAgIG1heC1oZWlnaHQ6IDEwMCU7XG5cbiAgICAgICAgLm14X0RpYWxvZ19idXR0b25zIGJ1dHRvbiB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4ubXhfRGV2VG9vbHNfY29udGVudCB7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbn1cblxuLm14X0RldlRvb2xzX1Jvb21TdGF0ZUV4cGxvcmVyX3F1ZXJ5IHtcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xufVxuXG4ubXhfRGV2VG9vbHNfYnV0dG9uIHtcbiAgICBmb250LWZhbWlseTogbW9ub3NwYWNlICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLWJvdHRvbTogOHB4ICFpbXBvcnRhbnQ7XG59XG5cbi5teF9EZXZUb29sc19Sb29tU3RhdGVFeHBsb3Jlcl9idXR0b25faGFzU3BhY2VzIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbn1cblxuLm14X0RldlRvb2xzX2J1dHRvbi5teF9EZXZUb29sc19Sb29tU3RhdGVFeHBsb3Jlcl9idXR0b25fZW1wdHlTdHJpbmcge1xuICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbn1cblxuLm14X0RldlRvb2xzX2xhYmVsX2xlZnQge1xuICAgIGZsb2F0OiBsZWZ0O1xufVxuXG4ubXhfRGV2VG9vbHNfbGFiZWxfcmlnaHQge1xuICAgIGZsb2F0OiByaWdodDtcbn1cblxuLm14X0RldlRvb2xzX2xhYmVsX2JvdHRvbSB7XG4gICAgY2xlYXI6IGJvdGg7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlNWU1ZTU7XG59XG5cbi5teF9EZXZUb29sc19pbnB1dFJvdyB7XG4gICAgZGlzcGxheTogdGFibGUtcm93O1xufVxuXG4ubXhfRGV2VG9vbHNfaW5wdXRMYWJlbENlbGwge1xuICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgcGFkZGluZy1yaWdodDogMjRweDtcbn1cblxuLm14X0RldlRvb2xzX3RleHRhcmVhIHtcbiAgICBmb250LXNpemU6ICRmb250LTEycHg7XG4gICAgbWF4LXdpZHRoOiA2ODRweDtcbiAgICBtaW4taGVpZ2h0OiAyNTBweDtcbiAgICBwYWRkaW5nOiAxMHB4O1xufVxuXG4ubXhfRGV2VG9vbHNfZXZlbnRUeXBlU3RhdGVLZXlHcm91cCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG59XG5cbi5teF9EZXZUb29sc19jb250ZW50IC5teF9GaWVsZF9pbnB1dDpmaXJzdC1vZi10eXBlIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDQycHg7XG59XG5cbi5teF9EZXZUb29sc19WZXJpZmljYXRpb25SZXF1ZXN0IHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjY2NjY2NjO1xuICAgIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgICBwYWRkaW5nOiAxcHggNXB4O1xuICAgIG1hcmdpbi1ib3R0b206IDZweDtcbiAgICBmb250LWZhbWlseTogJG1vbm9zcGFjZS1mb250LWZhbWlseTtcblxuICAgIGRsIHtcbiAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBtYXgtY29udGVudCBhdXRvO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgfVxuXG4gICAgZGQge1xuICAgICAgICBncmlkLWNvbHVtbi1zdGFydDogMjtcbiAgICB9XG5cbiAgICBkZDplbXB0eSB7XG4gICAgICAgIGNvbG9yOiAjNjY2NjY2O1xuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICBjb250ZW50OiBcIihlbXB0eSlcIjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGR0IHtcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgIGdyaWQtY29sdW1uLXN0YXJ0OiAxO1xuICAgIH1cblxuICAgIGR0OjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6IFwiOlwiO1xuICAgIH1cbn1cblxuLm14X0RldlRvb2xzX1NldHRpbmdzRXhwbG9yZXIge1xuICAgIHRhYmxlIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHRhYmxlLWxheW91dDogZml4ZWQ7XG4gICAgICAgIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG5cbiAgICAgICAgdGgge1xuICAgICAgICAgICAgLyogQ29sb3VyIGNob2ljZTogZmlyc3Qgb25lIGF1dG9jb21wbGV0ZSBnYXZlIG1lLiAqL1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRhY2NlbnQ7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICB9XG5cbiAgICAgICAgdGQsXG4gICAgICAgIHRoIHtcbiAgICAgICAgICAgIHdpZHRoOiAzNjBweDsgLyogXCJmZWVscyByaWdodFwiIG51bWJlciAqL1xuXG4gICAgICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICB9XG5cbiAgICAgICAgdGQgKyB0ZCxcbiAgICAgICAgdGggKyB0aCB7XG4gICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgfVxuXG4gICAgICAgIHRyOmhvdmVyIHtcbiAgICAgICAgICAgIC8qIENvbG91ciBjaG9pY2U6IGZpcnN0IG9uZSBhdXRvY29tcGxldGUgZ2F2ZSBtZS4gKi9cbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRhY2NlbnQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubXhfRGV2VG9vbHNfU2V0dGluZ3NFeHBsb3Jlcl9tdXRhYmxlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGFjY2VudDtcbiAgICB9XG5cbiAgICAubXhfRGV2VG9vbHNfU2V0dGluZ3NFeHBsb3Jlcl9pbW11dGFibGUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYWxlcnQ7XG4gICAgfVxuXG4gICAgLm14X0RldlRvb2xzX1NldHRpbmdzRXhwbG9yZXJfZWRpdCB7XG4gICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxNnB4O1xuICAgIH1cblxuICAgIC5teF9EZXZUb29sc19TZXR0aW5nc0V4cGxvcmVyX3dhcm5pbmcge1xuICAgICAgICBib3JkZXI6IDJweCBzb2xpZCAkYWxlcnQ7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgICAgICAgcGFkZGluZzogNHB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA4cHg7XG4gICAgfVxufVxuXG4ubXhfRGV2VG9vbHNfU2V0dGluZ3NFeHBsb3Jlcl9zZXR0aW5nIHtcbiAgICAvKiBvdmVycmlkZSBkZWZhdWx0IGxpbmsgYnV0dG9uIGNvbG9yICovXG4gICAgLyogYXMgaXQgaXMgdGhlIHNhbWUgYXMgdGhlIGJhY2tncm91bmQgaGlnaGxpZ2h0ICovXG4gICAgLyogdXNlZCBvbiBmb2N1cyAqL1xuICAgIGNvbG9yOiAkbGlua3MgIWltcG9ydGFudDtcbn1cbiIsIi8qXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cbkNvcHlyaWdodCAyMDIxIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXG5cblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cbiovXG5cbi5teF9FeHBvcnREaWFsb2cge1xuICAgIC5teF9FeHBvcnREaWFsb2dfc3ViaGVhZGluZyB7XG4gICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtMTZweDtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHk7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1jcGQtZm9udC13ZWlnaHQtc2VtaWJvbGQpO1xuICAgICAgICBjb2xvcjogJHByaW1hcnktY29udGVudDtcbiAgICAgICAgbWFyZ2luLXRvcDogMThweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTJweDtcbiAgICB9XG5cbiAgICAmLm14X0V4cG9ydERpYWxvZ19FeHBvcnRpbmcge1xuICAgICAgICAubXhfRXhwb3J0RGlhbG9nX29wdGlvbnMge1xuICAgICAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICAubXhfRmllbGRfc2VsZWN0OjpiZWZvcmUge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5teF9TdHlsZWRSYWRpb0J1dHRvbiBpbnB1dFt0eXBlPVwicmFkaW9cIl06Y2hlY2tlZCArIGRpdiA+IGRpdiB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkaW5mby1wbGludGgtZmctY29sb3I7XG4gICAgICAgIH1cblxuICAgICAgICAubXhfU3R5bGVkUmFkaW9CdXR0b24gaW5wdXRbdHlwZT1cInJhZGlvXCJdOmNoZWNrZWQgKyBkaXYge1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiB1bnNldDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5teF9GaWVsZF92YWxpZC5teF9GaWVsZCBsYWJlbCxcbiAgICAgICAgLm14X0ZpZWxkX3ZhbGlkLm14X0ZpZWxkOmZvY3VzLXdpdGhpbiBsYWJlbCB7XG4gICAgICAgICAgICBjb2xvcjogdW5zZXQ7XG4gICAgICAgIH1cblxuICAgICAgICAubXhfRmllbGRfdmFsaWQubXhfRmllbGQsXG4gICAgICAgIC5teF9GaWVsZF92YWxpZC5teF9GaWVsZDpmb2N1cy13aXRoaW4ge1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkaW5wdXQtYm9yZGVyLWNvbG9yO1xuICAgICAgICB9XG5cbiAgICAgICAgLm14X0NoZWNrYm94IGlucHV0W3R5cGU9XCJjaGVja2JveFwiXTpjaGVja2VkICsgbGFiZWwgPiAubXhfQ2hlY2tib3hfYmFja2dyb3VuZCB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkaW5mby1wbGludGgtZmctY29sb3I7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6ICRpbmZvLXBsaW50aC1mZy1jb2xvcjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5teF9FeHBvcnREaWFsb2dfcHJvZ3Jlc3Mge1xuICAgICAgICAubXhfRGlhbG9nX2J1dHRvbnMge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogdW5zZXQ7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMThweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5teF9TcGlubmVyIHtcbiAgICAgICAgICAgIHdpZHRoOiB1bnNldDtcbiAgICAgICAgICAgIGhlaWdodDogdW5zZXQ7XG4gICAgICAgICAgICBmbGV4OiB1bnNldDtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMTBweDtcbiAgICAgICAgfVxuXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgfVxuXG4gICAgLm14X1N0eWxlZFJhZGlvQnV0dG9uID4gLm14X1N0eWxlZFJhZGlvQnV0dG9uX2NvbnRlbnQge1xuICAgICAgICBtYXJnaW4tdG9wOiA1cHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDVweDtcbiAgICB9XG5cbiAgICAubXhfRmllbGQge1xuICAgICAgICB3aWR0aDogMjU2cHg7XG4gICAgfVxuXG4gICAgLm14X0ZpZWxkX3Bvc3RmaXgge1xuICAgICAgICBwYWRkaW5nOiA5cHggMTBweDtcbiAgICB9XG59XG5cbi5teF9FeHBvcnREaWFsb2dfYXR0YWNobWVudHMtY2hlY2tib3gge1xuICAgIG1hcmdpbi10b3A6ICRzcGFjaW5nLTE2O1xufVxuIiwiLypcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxuQ29weXJpZ2h0IDIwMjAgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cblxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuKi9cblxuLm14X0ZlZWRiYWNrRGlhbG9nIHtcbiAgICBociB7XG4gICAgICAgIG1hcmdpbjogMjRweCAwO1xuICAgICAgICBib3JkZXItY29sb3I6ICRpbnB1dC1ib3JkZXItY29sb3I7XG4gICAgfVxuXG4gICAgLm14X0RpYWxvZ19jb250ZW50IHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjRweDtcblxuICAgICAgICA+IGgyIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDMycHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubXhfRmVlZGJhY2tEaWFsb2dfc2VjdGlvbiB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgcGFkZGluZzogMTJweCA1MnB4IDEycHggNjhweDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4O1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkcXVpbmFyeS1jb250ZW50O1xuXG4gICAgICAgICYgKyAubXhfRmVlZGJhY2tEaWFsb2dfc2VjdGlvbiB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAxNnB4O1xuICAgICAgICB9XG5cbiAgICAgICAgPiBoMyB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogOHB4O1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLWNwZC1mb250LXdlaWdodC1zZW1pYm9sZCk7XG4gICAgICAgICAgICBmb250LXNpemU6ICRmb250LTE4cHg7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogJGZvbnQtMjJweDtcbiAgICAgICAgfVxuXG4gICAgICAgID4gcCB7XG4gICAgICAgICAgICBjb2xvcjogJHNlY29uZGFyeS1jb250ZW50O1xuICAgICAgICAgICAgZm9udC1zaXplOiAkZm9udC0xNXB4O1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6ICRmb250LTI0cHg7XG4gICAgICAgICAgICBtYXJnaW46IDhweCAwIDA7XG4gICAgICAgIH1cblxuICAgICAgICAubXhfRmVlZGJhY2tEaWFsb2dfc2VjdGlvbl9taWNyb2NvcHkge1xuICAgICAgICAgICAgZm9udC1zaXplOiAkZm9udC0xMnB4O1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6ICRmb250LTE1cHg7XG4gICAgICAgIH1cblxuICAgICAgICBhLFxuICAgICAgICAubXhfQWNjZXNzaWJsZUJ1dHRvbl9raW5kX2xpbmsge1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgIH1cblxuICAgICAgICAmOjpiZWZvcmUsXG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB3aWR0aDogNDBweDtcbiAgICAgICAgICAgIGhlaWdodDogNDBweDtcbiAgICAgICAgICAgIGxlZnQ6IDE2cHg7XG4gICAgICAgICAgICB0b3A6IDEycHg7XG4gICAgICAgIH1cblxuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGljb24tYnV0dG9uLWNvbG9yO1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogJGF2YXRhci1pbml0aWFsLWNvbG9yOyAvKiBUT0RPICovXG4gICAgICAgICAgICBtYXNrLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICAgICAgICBtYXNrLXNpemU6IDI0cHg7XG4gICAgICAgICAgICBtYXNrLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm14X0ZlZWRiYWNrRGlhbG9nX3JlcG9ydEJ1ZyB7XG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgIG1hc2staW1hZ2U6IHVybChcIiQocmVzKS9pbWcvZmVhdGhlci1jdXN0b21pc2VkL2J1Zy5zdmdcIik7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubXhfRmVlZGJhY2tEaWFsb2dfcmF0ZUFwcCB7XG4gICAgICAgIC5teF9TdHlsZWRSYWRpb0J1dHRvbiB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICAgICAgICAgIHRyYW5zaXRpb246XG4gICAgICAgICAgICAgICAgZm9udC1zaXplIDFzLFxuICAgICAgICAgICAgICAgIGJvcmRlciAwLjVzO1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICAgICAgYm9yZGVyOiAycHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAxMnB4O1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjRweDtcbiAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAgICAgICAgIGlucHV0W3R5cGU9XCJyYWRpb1wiXSArIGRpdiB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLm14X1N0eWxlZFJhZGlvQnV0dG9uX2NvbnRlbnQge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRpY29uLWJ1dHRvbi1jb2xvcjtcbiAgICAgICAgICAgICAgICB3aWR0aDogNDBweDtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDQwcHg7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiA0MHB4O1xuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDIwcHg7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiA1cHg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5teF9TdHlsZWRSYWRpb0J1dHRvbl9zcGFjZXIge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYgKyAubXhfU3R5bGVkUmFkaW9CdXR0b24ge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAxNnB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLm14X1N0eWxlZFJhZGlvQnV0dG9uX2NoZWNrZWQge1xuICAgICAgICAgICAgZm9udC1zaXplOiAyNHB4O1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jcGQtY29sb3ItYmctYWN0aW9uLXByaW1hcnktcmVzdCk7XG4gICAgICAgIH1cblxuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICBtYXNrLWltYWdlOiB1cmwoXCIkKHJlcykvaW1nL2VsZW1lbnQtaWNvbnMvZmVlZGJhY2suc3ZnXCIpO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiLypcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxuQ29weXJpZ2h0IDIwMjEgUm9iaW4gVG93bnNlbmQgPHJvYmluQHJvYmluLnRvd24+XG5cblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cbiovXG5cbi5teF9Gb3J3YXJkRGlhbG9nIHtcbiAgICB3aWR0aDogNTIwcHg7XG4gICAgY29sb3I6ICRwcmltYXJ5LWNvbnRlbnQ7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIG1pbi1oZWlnaHQ6IDA7XG4gICAgaGVpZ2h0OiA4MHZoO1xuXG4gICAgPiBoMyB7XG4gICAgICAgIG1hcmdpbjogMCAwIDZweDtcbiAgICAgICAgY29sb3I6ICRzZWNvbmRhcnktY29udGVudDtcbiAgICAgICAgZm9udC1zaXplOiAkZm9udC0xMnB4O1xuICAgICAgICBmb250LXdlaWdodDogdmFyKC0tY3BkLWZvbnQtd2VpZ2h0LXNlbWlib2xkKTtcbiAgICAgICAgbGluZS1oZWlnaHQ6ICRmb250LTE1cHg7XG4gICAgfVxuXG4gICAgPiAubXhfRm9yd2FyZERpYWxvZ19wcmV2aWV3IHtcbiAgICAgICAgbWF4LWhlaWdodDogMzAlO1xuICAgICAgICBmbGV4LXNocmluazogMDtcbiAgICAgICAgb3ZlcmZsb3cteTogYXV0bztcblxuICAgICAgICAubXhfRXZlbnRUaWxlW2RhdGEtbGF5b3V0PVwiYnViYmxlXCJdIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gICAgICAgIH1cblxuICAgICAgICBkaXYge1xuICAgICAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICAvKiBXaGVuIGZvcndhcmRpbmcgbWVzc2FnZXMgZnJvbSBlbmNyeXB0ZWQgcm9vbXMsIEV2ZW50VGlsZSB3aWxsIGNvbXBsYWluICovXG4gICAgICAgIC8qIHRoYXQgb3VyIHByZXZpZXcgaXMgdW5lbmNyeXB0ZWQsIHdoaWNoIGRvZXNuJ3QgYWN0dWFsbHkgbWF0dGVyICovXG4gICAgICAgIC8qIFdlIGFsc28gaGlkZSBkb3dubG9hZCBsaW5rcyB0byBub3QgZW5jb3VyYWdlIHVzZXJzIHRvIHRyeSBpbnRlcmFjdGluZyAqL1xuICAgICAgICAubXhfRXZlbnRUaWxlX21zZ09wdGlvbixcbiAgICAgICAgLm14X0V2ZW50VGlsZV9lMmVJY29uX3VuZW5jcnlwdGVkLFxuICAgICAgICAubXhfRXZlbnRUaWxlX2UyZUljb25fd2FybmluZyxcbiAgICAgICAgLm14X01GaWxlQm9keV9kb3dubG9hZCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgPiBociB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAkaW5wdXQtYm9yZGVyLWNvbG9yO1xuICAgICAgICBtYXJnaW46IDEycHggMDtcbiAgICB9XG5cbiAgICA+IC5teF9Gb3J3YXJkTGlzdCB7XG4gICAgICAgIGRpc3BsYXk6IGNvbnRlbnRzO1xuXG4gICAgICAgIC5teF9TZWFyY2hCb3gge1xuICAgICAgICAgICAgLyogVG8gbWF0Y2ggdGhlIHNwYWNlIGFyb3VuZCB0aGUgdGl0bGUgKi9cbiAgICAgICAgICAgIG1hcmdpbjogMCAwIDE1cHggMDtcbiAgICAgICAgICAgIGZsZXgtZ3JvdzogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5teF9Gb3J3YXJkTGlzdF9jb250ZW50IHtcbiAgICAgICAgICAgIGZsZXgtZ3JvdzogMTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5teF9Gb3J3YXJkTGlzdF9ub1Jlc3VsdHMge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAyNHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLm14X0ZvcndhcmRMaXN0X3Jlc3VsdHMge1xuICAgICAgICAgICAgJjpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMjRweDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLm14X0ZvcndhcmRMaXN0X3Jlc3VsdHNMaXN0IHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiA4cHg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5teF9Gb3J3YXJkTGlzdF9lbnRyeSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAzMnB4O1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDZweDtcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiA4cHg7XG5cbiAgICAgICAgICAgICAgICAmOmhvdmVyLFxuICAgICAgICAgICAgICAgICYubXhfRm9yd2FyZExpc3RfZW50cnlfYWN0aXZlIHtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHNwYWNlUGFuZWwtYmctY29sb3I7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLm14X0ZvcndhcmRMaXN0X3Jvb21CdXR0b24ge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDEycHg7XG4gICAgICAgICAgICAgICAgICAgIG1pbi13aWR0aDogMDtcblxuICAgICAgICAgICAgICAgICAgICAubXhfRGVjb3JhdGVkUm9vbUF2YXRhciB7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDEycHg7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAubXhfRm9yd2FyZExpc3RfZW50cnlfbmFtZSxcbiAgICAgICAgICAgICAgICAgICAgLm14X0ZvcndhcmRMaXN0X2VudHJ5X2RldGFpbCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMzBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgICAgICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICAgICAgICAgICAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAubXhfRm9yd2FyZExpc3RfZW50cnlfbmFtZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6ICRmb250LTE1cHg7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAubXhfRm9yd2FyZExpc3RfZW50cnlfZGV0YWlsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtMTJweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiA4cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHRlcnRpYXJ5LWNvbnRlbnQ7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAubXhfRm9yd2FyZExpc3Rfc2VuZEJ1dHRvbiB7XG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDEycHg7XG5cbiAgICAgICAgICAgICAgICAgICAgJjpub3QoLm14X0ZvcndhcmRMaXN0X2NhblNlbmQpIC5teF9Gb3J3YXJkTGlzdF9zZW5kTGFiZWwge1xuICAgICAgICAgICAgICAgICAgICAgICAgLyogSGlkZSB0aGUgXCJTZW5kXCIgbGFiZWwgd2hpbGUgcHJlc2VydmluZyBidXR0b24gc2l6ZSAqL1xuICAgICAgICAgICAgICAgICAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgLm14X0ZvcndhcmRMaXN0X3NlbmRJY29uLFxuICAgICAgICAgICAgICAgICAgICAubXhfTm90aWZpY2F0aW9uQmFkZ2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgLm14X05vdGlmaWNhdGlvbkJhZGdlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8qIE1hdGNoIHRoZSBmYWlsZWQgdG8gc2VuZCBpbmRpY2F0b3IncyBjb2xvciB3aXRoIHRoZSBkaXNhYmxlZCBidXR0b24gKi9cbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRidXR0b24tZGFuZ2VyLWRpc2FibGVkLWZnLWNvbG9yO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgJi5teF9Gb3J3YXJkTGlzdF9zZW5kaW5nIC5teF9Gb3J3YXJkTGlzdF9zZW5kSWNvbiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYWNjZW50O1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFzay1pbWFnZTogdXJsKFwiJChyZXMpL2ltZy9lbGVtZW50LWljb25zL2NpcmNsZS1zZW5kaW5nLnN2Z1wiKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hc2stcG9zaXRpb246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hc2stcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXNrLXNpemU6IDE0cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTRweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogMTRweDtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICYubXhfRm9yd2FyZExpc3Rfc2VudCAubXhfRm9yd2FyZExpc3Rfc2VuZEljb24ge1xuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGFjY2VudDtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hc2staW1hZ2U6IHVybChcIiQocmVzKS9pbWcvZWxlbWVudC1pY29ucy9jaXJjbGUtc2VudC5zdmdcIik7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXNrLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXNrLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFzay1zaXplOiAxNHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDE0cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDE0cHg7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIvKlxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXG5Db3B5cmlnaHQgMjAyMSBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxuXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXG4qL1xuXG4ubXhfR2VuZXJpY0ZlYXR1cmVGZWVkYmFja0RpYWxvZyB7XG4gICAgLm14X0dlbmVyaWNGZWF0dXJlRmVlZGJhY2tEaWFsb2dfc3ViaGVhZGluZyB7XG4gICAgICAgIGNvbG9yOiAkcHJpbWFyeS1jb250ZW50O1xuICAgICAgICBmb250OiB2YXIoLS1jcGQtZm9udC1ib2R5LW1kLXJlZ3VsYXIpO1xuICAgICAgICBsaW5lLWhlaWdodDogJGZvbnQtMjBweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjRweDtcbiAgICB9XG59XG4iLCIvKlxuQ29weXJpZ2h0IDIwMTktMjAyNCBOZXcgVmVjdG9yIEx0ZC5cblxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuKi9cblxuLm14X0luY29taW5nU2FzRGlhbG9nX29wcG9uZW50UHJvZmlsZV9pbWFnZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4ubXhfSW5jb21pbmdTYXNEaWFsb2dfb3Bwb25lbnRQcm9maWxlIGgyIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luLWxlZnQ6IDEwcHg7XG59XG4iLCIvKlxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXG5Db3B5cmlnaHQgMjAxOSwgMjAyMCBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxuXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXG4qL1xuXG4ubXhfSW52aXRlRGlhbG9nX2ZsZXhXcmFwcGVyIC5teF9EaWFsb2cge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbn1cblxuLm14X0ludml0ZURpYWxvZ190cmFuc2ZlcldyYXBwZXIgLm14X0RpYWxvZyB7XG4gICAgcGFkZGluZy1ib3R0b206ICRzcGFjaW5nLTE2O1xufVxuXG4ubXhfSW52aXRlRGlhbG9nX2FkZHJlc3NCYXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAvKiBSaWdodCBtYXJnaW4gZm9yIHRoZSBkZXNpZ24uIFdlIGNvdWxkIGFwcGx5IHRoaXMgdG8gdGhlIHdob2xlIGRpYWxvZywgYnV0IHRoZW4gdGhlIHNjcm9sbGJhciAqL1xuICAgIC8qIGZvciB0aGUgdXNlciBzZWN0aW9uIGdldHMgd2VpcmQuICovXG4gICAgbWFyZ2luOiAkc3BhY2luZy04IDQ1cHggMCAwO1xuXG4gICAgLm14X0ludml0ZURpYWxvZ19lZGl0b3Ige1xuICAgICAgICBmbGV4OiAxO1xuICAgICAgICB3aWR0aDogMTAwJTsgLyogTmVlZGVkIHRvIG1ha2UgdGhlIEZpZWxkIGluc2lkZSBncm93ICovXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRoZWFkZXItcGFuZWwtYmctY29sb3I7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgICAgICAgbWluLWhlaWdodDogMjVweDtcbiAgICAgICAgcGFkZGluZy1pbmxpbmUtc3RhcnQ6ICRzcGFjaW5nLTg7XG4gICAgICAgIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgICAgICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuXG4gICAgICAgIC5teF9JbnZpdGVEaWFsb2dfdXNlclRpbGUge1xuICAgICAgICAgICAgbWFyZ2luOiA2cHggNnB4IDAgMDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIG1pbi13aWR0aDogbWF4LWNvbnRlbnQ7IC8qIHByZXZlbnQgbWFuaXB1bGF0aW9uIGJ5IGZsZXhib3ggKi9cbiAgICAgICAgfVxuXG4gICAgICAgIC8qIG92ZXJyaWRlcyBidW5jaCBvZiBvdXIgZGVmYXVsdCB0ZXh0IGlucHV0IHN0eWxlcyAqL1xuICAgICAgICA+IGlucHV0W3R5cGU9XCJ0ZXh0XCJdIHtcbiAgICAgICAgICAgIG1hcmdpbjogNnB4IDAgIWltcG9ydGFudDtcbiAgICAgICAgICAgIGhlaWdodDogMjRweDtcbiAgICAgICAgICAgIGZvbnQ6IHZhcigtLWNwZC1mb250LWJvZHktbWQtcmVndWxhcik7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogJGZvbnQtMjRweDtcbiAgICAgICAgICAgIHBhZGRpbmctaW5saW5lLXN0YXJ0OiAkc3BhY2luZy0xMjtcbiAgICAgICAgICAgIGJvcmRlcjogMCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgb3V0bGluZTogMCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgcmVzaXplOiBub25lO1xuICAgICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgICAgIG1pbi13aWR0aDogNDAlO1xuICAgICAgICAgICAgZmxleDogMSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgY29sb3I6ICRwcmltYXJ5LWNvbnRlbnQgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5teF9JbnZpdGVEaWFsb2dfZ29CdXR0b24ge1xuICAgICAgICBtaW4td2lkdGg6IDQ4cHg7XG4gICAgICAgIG1hcmdpbi1pbmxpbmUtc3RhcnQ6IDEwcHg7XG4gICAgICAgIGhlaWdodDogMjVweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6ICRmb250LTI1cHg7XG4gICAgfVxuXG4gICAgLm14X0ludml0ZURpYWxvZ19idXR0b25BbmRTcGlubmVyIHtcbiAgICAgICAgLm14X1NwaW5uZXIge1xuICAgICAgICAgICAgLyogV2lkdGggYW5kIGhlaWdodCBhcmUgcmVxdWlyZWQgdG8gdHJpY2sgdGhlIGxheW91dCBlbmdpbmUuICovXG4gICAgICAgICAgICB3aWR0aDogMjBweDtcbiAgICAgICAgICAgIGhlaWdodDogMjBweDtcbiAgICAgICAgICAgIG1hcmdpbi1pbmxpbmUtc3RhcnQ6IDVweDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5teF9JbnZpdGVEaWFsb2dfc2VjdGlvbiB7XG4gICAgcGFkZGluZy1ib3R0b206ICRzcGFjaW5nLTQ7XG5cbiAgICBoMyB7XG4gICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtMTJweDtcbiAgICAgICAgY29sb3I6ICRtdXRlZC1mZy1jb2xvcjtcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgfVxuXG4gICAgPiBwIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgIH1cblxuICAgID4gc3BhbiB7XG4gICAgICAgIGNvbG9yOiAkcHJpbWFyeS1jb250ZW50O1xuICAgIH1cblxuICAgIC5teF9JbnZpdGVEaWFsb2dfc2VjdGlvbl9zaG93TW9yZSB7XG4gICAgICAgIG1hcmdpbjogN3B4IDE4cHg7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbn1cblxuLm14X0ludml0ZURpYWxvZ19zZWN0aW9uX2hpZGRlbl9zdWdnZXN0aW9uc19kaXNjbGFpbWVyIHtcbiAgICBwYWRkaW5nOiAkc3BhY2luZy04IDAgJHNwYWNpbmctMTYgMDtcbiAgICBmb250OiB2YXIoLS1jcGQtZm9udC1ib2R5LW1kLXJlZ3VsYXIpO1xuXG4gICAgPiBzcGFuIHtcbiAgICAgICAgY29sb3I6ICRwcmltYXJ5LWNvbnRlbnQ7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1jcGQtZm9udC13ZWlnaHQtc2VtaWJvbGQpO1xuICAgIH1cblxuICAgID4gcCB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICB9XG59XG5cbi5teF9JbnZpdGVEaWFsb2dfZm9vdGVyIHtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgJGlucHV0LWJvcmRlci1jb2xvcjtcblxuICAgID4gaDMge1xuICAgICAgICBtYXJnaW46ICRzcGFjaW5nLTEyIDA7XG4gICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtMTJweDtcbiAgICAgICAgY29sb3I6ICRtdXRlZC1mZy1jb2xvcjtcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgfVxuXG4gICAgLm14X0NvcHlhYmxlVGV4dC5teF9Db3B5YWJsZVRleHRfYm9yZGVyIHtcbiAgICAgICAgd2lkdGg6IHVuc2V0OyAvKiBmdWxsIHdpZHRoICovXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG5cbiAgICAgICAgPiBhIHtcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICAgIGZsZXgtc2hyaW5rOiAxO1xuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vKiBNYW55IG9mIHRoZXNlIHN0eWxlcyBhcmUgc3RvbGVuIGZyb20gbXhfVXNlclBpbGwsIGJ1dCBhZGp1c3RlZCBmb3IgdGhlIGludml0ZSBkaWFsb2cuICovXG4ubXhfSW52aXRlRGlhbG9nX3VzZXJUaWxlIHtcbiAgICBtYXJnaW4taW5saW5lLWVuZDogJHNwYWNpbmctODtcblxuICAgIC5teF9JbnZpdGVEaWFsb2dfdXNlclRpbGVfcGlsbCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNwZC1jb2xvci1iZy1jYW52YXMtZGVmYXVsdCk7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNwZC1jb2xvci1ncmF5LTQwMCk7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDk5cHg7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgaGVpZ2h0OiAyNHB4O1xuICAgICAgICBsaW5lLWhlaWdodDogJGZvbnQtMjRweDtcbiAgICAgICAgcGFkZGluZy1pbmxpbmU6ICRzcGFjaW5nLTg7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jcGQtY29sb3ItZ3JheS0xMTAwKTtcblxuICAgICAgICAubXhfU2VhcmNoUmVzdWx0QXZhdGFyIHtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDIwcHg7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICBsZWZ0OiAtNXB4O1xuICAgICAgICAgICAgdG9wOiAycHg7XG4gICAgICAgIH1cblxuICAgICAgICBpbWcubXhfU2VhcmNoUmVzdWx0QXZhdGFyIHtcbiAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgICAgIH1cblxuICAgICAgICAubXhfSW52aXRlRGlhbG9nX3VzZXJUaWxlX25hbWUge1xuICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5teF9TZWFyY2hSZXN1bHRBdmF0YXJfdGhyZWVwaWRBdmF0YXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjsgLyogdGhpcyBpcyBmaW5lIHdpdGhvdXQgYSB2YXIgYmVjYXVzZSBpdCdzIGZvciBib3RoIHRoZW1lcyAqL1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm14X0ludml0ZURpYWxvZ191c2VyVGlsZV9yZW1vdmUge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5cbiAgICAgICAgc3ZnIHtcbiAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5teF9JbnZpdGVEaWFsb2dfb3RoZXIge1xuICAgIC8qIFByZXZlbnQgdGhlIGRpYWxvZyBmcm9tIGp1bXBpbmcgYXJvdW5kIHJhbmRvbWx5IHdoZW4gZWxlbWVudHMgY2hhbmdlLiAqL1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBoZWlnaHQ6IDYwMHB4O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICBoMiB7XG4gICAgICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICAgICAgICAtd2Via2l0LWxpbmUtY2xhbXA6IDI7XG4gICAgICAgIC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWw7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBwcmUtd3JhcDtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB9XG5cbiAgICAubXhfSW52aXRlRGlhbG9nX2FkZHJlc3NCYXIge1xuICAgICAgICBtYXJnaW4taW5saW5lLWVuZDogMDtcbiAgICB9XG5cbiAgICAubXhfSW52aXRlRGlhbG9nX3VzZXJTZWN0aW9ucyB7XG4gICAgICAgIGZsZXgtZ3JvdzogMTtcbiAgICAgICAgcGFkZGluZy1pbmxpbmUtZW5kOiAwO1xuXG4gICAgICAgIC5teF9JbnZpdGVEaWFsb2dfc2VjdGlvbiB7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6ICRzcGFjaW5nLTEyO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4ubXhfSW52aXRlRGlhbG9nX2NvbnRlbnQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBmbGV4LWdyb3c6IDE7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLm14X0ludml0ZURpYWxvZ190cmFuc2ZlciB7XG4gICAgd2lkdGg6IGF1dG87XG5cbiAgICAubXhfSW52aXRlRGlhbG9nX2NvbnRlbnQge1xuICAgICAgICB3aWR0aDogNDk2cHg7XG4gICAgICAgIGhlaWdodDogNDMwcHg7XG4gICAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuXG4gICAgICAgIC5teF9UYWJiZWRWaWV3IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgZmxleC1zaHJpbms6IDE7XG4gICAgICAgICAgICBmbGV4LWdyb3c6IDE7XG4gICAgICAgICAgICBtaW4taGVpZ2h0OiAwO1xuXG4gICAgICAgICAgICAubXhfVGFiYmVkVmlld190YWJQYW5lbCB7XG4gICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblxuICAgICAgICAgICAgICAgIC5teF9UYWJiZWRWaWV3X3RhYlBhbmVsQ29udGVudCB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm14X0ludml0ZURpYWxvZ19hZGRyZXNzQmFyIHtcbiAgICAgICAgbWFyZ2luLXRvcDogJHNwYWNpbmctODtcbiAgICB9XG5cbiAgICBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0ge1xuICAgICAgICBtYXJnaW4taW5saW5lLWVuZDogJHNwYWNpbmctODtcbiAgICB9XG59XG5cbi5teF9JbnZpdGVEaWFsb2dfdXNlclNlY3Rpb25zIHtcbiAgICBtYXJnaW4tdG9wOiAkc3BhY2luZy00O1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgcGFkZGluZzogMCA0NXB4ICRzcGFjaW5nLTQgMDtcbn1cblxuLm14X0ludml0ZURpYWxvZ19oZWxwVGV4dCB7XG4gICAgbWFyZ2luOiAwO1xufVxuXG4ubXhfSW52aXRlRGlhbG9nX2RpYWxQYWQge1xuICAgIHdpZHRoOiAyMjRweDtcbiAgICBtYXJnaW4tdG9wOiAkc3BhY2luZy0xNjtcbiAgICBtYXJnaW4taW5saW5lOiBhdXRvO1xuXG4gICAgLm14X0ludml0ZURpYWxvZ19kaWFsUGFkRmllbGQge1xuICAgICAgICBib3JkZXItdG9wOiAwO1xuICAgICAgICBib3JkZXItaW5saW5lOiAwO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICBib3JkZXItY29sb3I6ICRxdWF0ZXJuYXJ5LWNvbnRlbnQ7XG5cbiAgICAgICAgJjpmb2N1cy13aXRoaW4ge1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkYWNjZW50O1xuICAgICAgICB9XG5cbiAgICAgICAgaW5wdXQge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLWNwZC1mb250LXdlaWdodC1zZW1pYm9sZCk7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5teF9GaWVsZF9wb3N0Zml4IHtcbiAgICAgICAgICAgIC8qIFJlbW92ZSBib3JkZXIgc2VwYXJhdG9yIGJldHdlZW4gcG9zdGZpeCBhbmQgZmllbGQgY29udGVudCAqL1xuICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubXhfRGlhbFBhZCB7XG4gICAgICAgIHJvdy1nYXA6ICRzcGFjaW5nLTE2O1xuICAgICAgICBjb2x1bW4tZ2FwOiA0OHB4O1xuICAgICAgICBtYXJnaW4taW5saW5lOiBhdXRvO1xuICAgIH1cbn1cblxuLm14X0ludml0ZURpYWxvZ190cmFuc2ZlckNvbnN1bHRDb25uZWN0IHtcbiAgICBwYWRkaW5nLXRvcDogJHNwYWNpbmctMTY7XG4gICAgLyogVGhpcyB3YW50cyBhIGRyb3Agc2hhZG93IHRoZSBmdWxsIHdpZHRoIG9mIHRoZSBkaWFsb2csIHNvIHVzZSBuZWdhdGl2ZSBtYXJnaW4gdG8gbWFrZSBpdCBmdWxsIHdpZHRoLFxuICAgICAqIHRoZW4gY29tcGVuc2F0ZSB3aXRoIHBhZGRpbmdcbiAgICAgKi9cbiAgICBwYWRkaW5nLWlubGluZTogJHNwYWNpbmctMjQ7XG4gICAgbWFyZ2luLWlubGluZTogY2FsYygtMSAqICRzcGFjaW5nLTI0KTtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgJHF1aW5hcnktY29udGVudDtcblxuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG4ubXhfSW52aXRlRGlhbG9nX3RyYW5zZmVyQ29uc3VsdENvbm5lY3RfcHVzaFJpZ2h0IHtcbiAgICBtYXJnaW4taW5saW5lLXN0YXJ0OiBhdXRvO1xufVxuXG4ubXhfSW52aXRlRGlhbG9nX3VzZXJEaXJlY3RvcnlJY29uOjpiZWZvcmUge1xuICAgIG1hc2staW1hZ2U6IHVybChcIiQocmVzKS9pbWcvdm9pcC90YWItdXNlcmRpcmVjdG9yeS5zdmdcIik7XG59XG5cbi5teF9JbnZpdGVEaWFsb2dfZGlhbFBhZEljb246OmJlZm9yZSB7XG4gICAgbWFzay1pbWFnZTogdXJsKFwiJChyZXMpL2ltZy92b2lwL3RhYi1kaWFscGFkLnN2Z1wiKTtcbn1cblxuLm14X0ludml0ZURpYWxvZ190aWxlIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBnYXA6ICRzcGFjaW5nLTggJHNwYWNpbmctMTI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgICYubXhfSW52aXRlRGlhbG9nX3RpbGUtLXJvb20ge1xuICAgICAgICAvKiBteF9JbnZpdGVEaWFsb2dfdGlsZV9hdmF0YXJTdGFjaywgbXhfSW52aXRlRGlhbG9nX3RpbGVfbmFtZVN0YWNrLCB0aW1lICovXG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogbWluLWNvbnRlbnQgYXV0byBhdXRvO1xuICAgICAgICBwYWRkaW5nOiAkc3BhY2luZy00ICRzcGFjaW5nLTg7XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaGVhZGVyLXBhbmVsLWJnLWNvbG9yO1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLm14X0ludml0ZURpYWxvZ190aWxlLS1yb29tX3NlbGVjdGVkIHtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDM2cHg7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jcGQtY29sb3ItYmctc3VjY2Vzcy1zdWJ0bGUpO1xuXG4gICAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDI0cHg7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAyNHB4O1xuICAgICAgICAgICAgICAgIGdyaWQtY29sdW1uOiAxO1xuICAgICAgICAgICAgICAgIGdyaWQtcm93OiAxO1xuICAgICAgICAgICAgICAgIG1hc2staW1hZ2U6IHVybChcIkB2ZWN0b3ItaW0vY29tcG91bmQtZGVzaWduLXRva2Vucy9pY29ucy9jaGVjay5zdmdcIik7XG4gICAgICAgICAgICAgICAgbWFzay1zaXplOiAxMDAlO1xuICAgICAgICAgICAgICAgIG1hc2stcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIHRvcDogNnB4OyAvKiA1MCUgKi9cbiAgICAgICAgICAgICAgICBsZWZ0OiA2cHg7IC8qIDUwJSAqL1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRwcmltYXJ5LWNvbnRlbnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAubXhfSW52aXRlRGlhbG9nX3RpbGUtLXJvb21fdGltZSB7XG4gICAgICAgICAgICBtYXJnaW4taW5saW5lLXN0YXJ0OiBhdXRvO1xuICAgICAgICAgICAgd2lkdGg6IG1heC1jb250ZW50O1xuICAgICAgICAgICAgZm9udC1zaXplOiAkZm9udC0xMnB4O1xuICAgICAgICAgICAgY29sb3I6ICRtdXRlZC1mZy1jb2xvcjtcbiAgICAgICAgfVxuXG4gICAgICAgIC5teF9JbnZpdGVEaWFsb2dfdGlsZS0tcm9vbV9oaWdobGlnaHQge1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDkwMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYubXhfSW52aXRlRGlhbG9nX3RpbGUtLWludml0ZXJFcnJvciB7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogbWF4LWNvbnRlbnQgYXV0bzsgLyogbWF4LWNvbnRlbnQgPSBhdmF0YXIgd2lkdGggKi9cbiAgICAgICAgbWFyZ2luLWJvdHRvbTogJHNwYWNpbmctMjQ7XG5cbiAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIH1cblxuICAgICAgICAubXhfSW52aXRlRGlhbG9nX3RpbGUtLWludml0ZXJFcnJvcl9lcnJvclRleHQge1xuICAgICAgICAgICAgZ3JpZC1yb3ctc3RhcnQ6IDI7XG4gICAgICAgICAgICBncmlkLWNvbHVtbi1zdGFydDogMjtcblxuICAgICAgICAgICAgZm9udC1zaXplOiAkZm9udC0xNXB4O1xuICAgICAgICAgICAgY29sb3I6ICRhbGVydDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICoge1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIH1cblxuICAgIC5teF9JbnZpdGVEaWFsb2dfdGlsZV9hdmF0YXJTdGFjayxcbiAgICAubXhfSW52aXRlRGlhbG9nX3RpbGUtLXJvb21fc2VsZWN0ZWQge1xuICAgICAgICB3aWR0aDogMzZweDtcbiAgICAgICAgaGVpZ2h0OiAzNnB4O1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB9XG5cbiAgICAubXhfSW52aXRlRGlhbG9nX3RpbGVfYXZhdGFyU3RhY2sge1xuICAgICAgICBncmlkLXJvdy1zdGFydDogMTtcbiAgICAgICAgZ3JpZC1jb2x1bW4tc3RhcnQ6IDE7XG5cbiAgICAgICAgJiA+ICoge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5teF9JbnZpdGVEaWFsb2dfdGlsZV9uYW1lU3RhY2sge1xuICAgICAgICBncmlkLXJvdy1zdGFydDogMTtcbiAgICAgICAgZ3JpZC1jb2x1bW4tc3RhcnQ6IDI7XG5cbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1mbG93OiBjb2x1bW47XG4gICAgICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGJhc2VsaW5lO1xuICAgICAgICBnYXA6IDJweCAwO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgICAgIC5teF9JbnZpdGVEaWFsb2dfdGlsZV9uYW1lU3RhY2tfbmFtZSxcbiAgICAgICAgLm14X0ludml0ZURpYWxvZ190aWxlX25hbWVTdGFja191c2VySWQge1xuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5teF9JbnZpdGVEaWFsb2dfdGlsZV9uYW1lU3RhY2tfbmFtZSB7XG4gICAgICAgICAgICBmb250LXNpemU6ICRmb250LTE1cHg7XG4gICAgICAgICAgICBmb250LXdlaWdodDogdmFyKC0tY3BkLWZvbnQtd2VpZ2h0LXNlbWlib2xkKTtcbiAgICAgICAgICAgIGNvbG9yOiAkcHJpbWFyeS1jb250ZW50O1xuICAgICAgICB9XG5cbiAgICAgICAgLm14X0ludml0ZURpYWxvZ190aWxlX25hbWVTdGFja191c2VySWQge1xuICAgICAgICAgICAgZm9udC1zaXplOiAkZm9udC0xMnB4O1xuICAgICAgICAgICAgY29sb3I6ICRtdXRlZC1mZy1jb2xvcjtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLm14X0ludml0ZURpYWxvZ19tdWx0aUludml0ZXJFcnJvciB7XG4gICAgPiBoNCB7XG4gICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtMTVweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6ICRmb250LTI0cHg7XG4gICAgICAgIGNvbG9yOiAkc2Vjb25kYXJ5LWNvbnRlbnQ7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgfVxufVxuXG4ubXhfSW52aXRlRGlhbG9nX2lkZW50aXR5U2VydmVyIHtcbiAgICBtYXJnaW4tdG9wOiAxZW07XG59XG5cbi5teF9JbnZpdGVEaWFsb2dfb25lVGhyZWVwaWQge1xuICAgIGZvbnQtc2l6ZTogJGZvbnQtMTJweDtcbiAgICBtYXJnaW46ICRzcGFjaW5nLTggMDtcbn1cbiIsIi8qXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cbkNvcHlyaWdodCAyMDIxIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXG5cblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cbiovXG5cbi5teF9Kb2luUnVsZURyb3Bkb3duIHtcbiAgICBtYXJnaW4tYm90dG9tOiA4cHg7XG4gICAgZm9udDogdmFyKC0tY3BkLWZvbnQtYm9keS1tZC1yZWd1bGFyKTtcbiAgICBjb2xvcjogJHByaW1hcnktY29udGVudDtcblxuICAgIC5teF9Ecm9wZG93bl9vcHRpb24ge1xuICAgICAgICBmb250OiB2YXIoLS1jcGQtZm9udC1ib2R5LW1kLXJlZ3VsYXIpO1xuICAgICAgICBsaW5lLWhlaWdodDogJGZvbnQtMzJweDtcbiAgICAgICAgaGVpZ2h0OiAzMnB4O1xuICAgICAgICBtaW4taGVpZ2h0OiAzMnB4O1xuXG4gICAgICAgID4gZGl2IHtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMzBweDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDE2cHg7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDE2cHg7XG4gICAgICAgICAgICAgICAgbGVmdDogNnB4O1xuICAgICAgICAgICAgICAgIHRvcDogOHB4O1xuICAgICAgICAgICAgICAgIG1hc2stcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgICAgICAgbWFzay1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRzZWNvbmRhcnktY29udGVudDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi5teF9Kb2luUnVsZURyb3Bkb3duX2tub2NrOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IG5vcm1hbDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5teF9Kb2luUnVsZURyb3Bkb3duX2ludml0ZTo6YmVmb3JlIHtcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgbWFzay1pbWFnZTogdXJsKFwiQHZlY3Rvci1pbS9jb21wb3VuZC1kZXNpZ24tdG9rZW5zL2ljb25zL2xvY2stc29saWQuc3ZnXCIpO1xuICAgICAgICBtYXNrLXNpemU6IGNvbnRhaW47XG4gICAgICAgIHBhZGRpbmc6IDFweDtcbiAgICB9XG5cbiAgICAubXhfSm9pblJ1bGVEcm9wZG93bl9wdWJsaWM6OmJlZm9yZSB7XG4gICAgICAgIG1hc2staW1hZ2U6IHVybChcIkB2ZWN0b3ItaW0vY29tcG91bmQtZGVzaWduLXRva2Vucy9pY29ucy9wdWJsaWMuc3ZnXCIpO1xuICAgIH1cblxuICAgIC5teF9Kb2luUnVsZURyb3Bkb3duX3Jlc3RyaWN0ZWQ6OmJlZm9yZSB7XG4gICAgICAgIG1hc2staW1hZ2U6IHVybChcIiQocmVzKS9pbWcvZWxlbWVudC1pY29ucy9ncm91cC1tZW1iZXJzLnN2Z1wiKTtcbiAgICAgICAgbWFzay1zaXplOiBjb250YWluO1xuICAgIH1cblxuICAgIC5teF9Kb2luUnVsZURyb3Bkb3duX2ljb24ge1xuICAgICAgICBjb2xvcjogJHNlY29uZGFyeS1jb250ZW50O1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGxlZnQ6IDZweDtcbiAgICAgICAgdG9wOiA4cHg7XG4gICAgfVxufVxuIiwiLypcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxuQ29weXJpZ2h0IDIwMjEgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cblxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuKi9cblxuLm14X0xlYXZlU3BhY2VEaWFsb2dfd3JhcHBlciB7XG4gICAgLm14X0RpYWxvZyB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIHBhZGRpbmc6IDI0cHggMzJweDtcblxuICAgICAgICAubXhfTGVhdmVTcGFjZURpYWxvZyB7XG4gICAgICAgICAgICB3aWR0aDogNDQwcHg7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgICAgICAgICAgaGVpZ2h0OiA1MjBweDtcblxuICAgICAgICAgICAgLm14X0RpYWxvZ19jb250ZW50IHtcbiAgICAgICAgICAgICAgICBmbGV4LWdyb3c6IDE7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgICAgIG92ZXJmbG93LXk6IGF1dG87XG5cbiAgICAgICAgICAgICAgICAubXhfTGVhdmVTcGFjZURpYWxvZ19zZWN0aW9uX3dhcm5pbmcge1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAxMnB4IDAgMDtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMTJweCA4cHggMTJweCA0MnB4O1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaGVhZGVyLXBhbmVsLWJnLWNvbG9yO1xuXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtMTJweDtcbiAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6ICRmb250LTE1cHg7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkc2Vjb25kYXJ5LWNvbnRlbnQ7XG5cbiAgICAgICAgICAgICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgICAgICBsZWZ0OiAxMHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgdG9wOiBjYWxjKDUwJSAtIDhweCk7IC8qIHZlcnRpY2FsIGNlbnRlcmluZyAqL1xuICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxNnB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDE2cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2Vjb25kYXJ5LWNvbnRlbnQ7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXNrLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFzay1zaXplOiBjb250YWluO1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFzay1pbWFnZTogdXJsKFwiQHZlY3Rvci1pbS9jb21wb3VuZC1kZXNpZ24tdG9rZW5zL2ljb25zL2luZm8tc29saWQuc3ZnXCIpO1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFzay1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgPiBwIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRwcmltYXJ5LWNvbnRlbnQ7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuIiwiLypcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxuQ29weXJpZ2h0IDIwMjIgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cblxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuKi9cblxuLm14X0xvY2F0aW9uVmlld0RpYWxvZ193cmFwcGVyIC5teF9EaWFsb2cge1xuICAgIHBhZGRpbmc6IDBweDtcbn1cblxuLm14X0xvY2F0aW9uVmlld0RpYWxvZyB7XG4gICAgLyogc3VidHJhY3QgMC41cHggdG8gcHJldmVudCBzaW5nbGUtcGl4ZWwgbWFyZ2luIGR1ZSB0byByb3VuZGluZyAqL1xuICAgIHdpZHRoOiBjYWxjKDgwdncgLSAwLjVweCk7XG4gICAgaGVpZ2h0OiBjYWxjKDgwdmggLSAwLjVweCk7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgIC5teF9EaWFsb2dfaGVhZGVyIHtcbiAgICAgICAgbWFyZ2luOiAwcHg7XG4gICAgICAgIHBhZGRpbmc6IDBweDtcbiAgICAgICAgcG9zaXRpb246IHVuc2V0O1xuXG4gICAgICAgIC5teF9EaWFsb2dfdGl0bGUge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5teF9EaWFsb2dfY2FuY2VsQnV0dG9uIHtcbiAgICAgICAgei1pbmRleDogNDAxMDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBsZWZ0OiB2YXIoLS1jcGQtc3BhY2UtNHgpO1xuICAgICAgICB0b3A6IHZhcigtLWNwZC1zcGFjZS00eCk7XG4gICAgfVxufVxuXG4ubXhfTG9jYXRpb25WaWV3RGlhbG9nX21hcCB7XG4gICAgd2lkdGg6IDgwdnc7XG4gICAgaGVpZ2h0OiA4MHZoO1xuICAgIGJvcmRlci1yYWRpdXM6IDhweDtcbn1cbiIsIi8qXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cbkNvcHlyaWdodCAyMDIzIE1hbmFuIFNhZGFuYSA8bWFuYW5jb2Rlcy5kZXZAZ21haWwuY29tPlxuXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXG4qL1xuXG4ubXhfTG9nb3V0RGlhbG9nX0V4cG9ydEtleUFkdmFuY2VkIHtcbiAgICB3aWR0aDogZml0LWNvbnRlbnQ7XG59XG4iLCIvKlxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXG5Db3B5cmlnaHQgMjAyMSBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxuXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXG4qL1xuXG4ubXhfTWFuYWdlUmVzdHJpY3RlZEpvaW5SdWxlRGlhbG9nX3dyYXBwZXIge1xuICAgIC5teF9EaWFsb2cge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIH1cbn1cblxuLm14X01hbmFnZVJlc3RyaWN0ZWRKb2luUnVsZURpYWxvZyB7XG4gICAgd2lkdGg6IDQ4MHB4O1xuICAgIGNvbG9yOiAkcHJpbWFyeS1jb250ZW50O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICBtaW4taGVpZ2h0OiAwO1xuICAgIGhlaWdodDogNjB2aDtcblxuICAgIC5teF9TZWFyY2hCb3gge1xuICAgICAgICAvKiBUbyBtYXRjaCB0aGUgc3BhY2UgYXJvdW5kIHRoZSB0aXRsZSAqL1xuICAgICAgICBtYXJnaW46IDAgMCAxNXB4IDA7XG4gICAgICAgIGZsZXgtZ3JvdzogMDtcbiAgICB9XG5cbiAgICAubXhfTWFuYWdlUmVzdHJpY3RlZEpvaW5SdWxlRGlhbG9nX2NvbnRlbnQge1xuICAgICAgICBmbGV4LWdyb3c6IDE7XG4gICAgfVxuXG4gICAgLm14X01hbmFnZVJlc3RyaWN0ZWRKb2luUnVsZURpYWxvZ19ub1Jlc3VsdHMge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbWFyZ2luLXRvcDogMjRweDtcbiAgICB9XG5cbiAgICAubXhfTWFuYWdlUmVzdHJpY3RlZEpvaW5SdWxlRGlhbG9nX3NlY3Rpb24ge1xuICAgICAgICAmOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDI0cHg7XG4gICAgICAgIH1cblxuICAgICAgICA+IGgzIHtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIGNvbG9yOiAkc2Vjb25kYXJ5LWNvbnRlbnQ7XG4gICAgICAgICAgICBmb250LXNpemU6ICRmb250LTEycHg7XG4gICAgICAgICAgICBmb250LXdlaWdodDogdmFyKC0tY3BkLWZvbnQtd2VpZ2h0LXNlbWlib2xkKTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAkZm9udC0xNXB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLm14X01hbmFnZVJlc3RyaWN0ZWRKb2luUnVsZURpYWxvZ19lbnRyeSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMTJweDtcblxuICAgICAgICAgICAgPiBkaXYge1xuICAgICAgICAgICAgICAgIGZsZXgtZ3JvdzogMTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLm14X01hbmFnZVJlc3RyaWN0ZWRKb2luUnVsZURpYWxvZ19lbnRyeV9uYW1lIHtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgOHB4O1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtMTVweDtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMzBweDtcbiAgICAgICAgICAgICAgICBmbGV4LWdyb3c6IDE7XG4gICAgICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICAgICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAubXhfTWFuYWdlUmVzdHJpY3RlZEpvaW5SdWxlRGlhbG9nX2VudHJ5X2Rlc2NyaXB0aW9uIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiA4cHg7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAkZm9udC0xMnB4O1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAkZm9udC0xNXB4O1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkdGVydGlhcnktY29udGVudDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLm14X0NoZWNrYm94IHtcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm14X01hbmFnZVJlc3RyaWN0ZWRKb2luUnVsZURpYWxvZ19zZWN0aW9uX3NwYWNlcyB7XG4gICAgICAgIC5teF9CYXNlQXZhdGFyIHtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMTJweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5teF9NYW5hZ2VSZXN0cmljdGVkSm9pblJ1bGVEaWFsb2dfc2VjdGlvbl9pbmZvIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgICAgIG1hcmdpbjogMTJweCAwO1xuICAgICAgICBwYWRkaW5nOiA4cHggOHB4IDhweCA0MnB4O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaGVhZGVyLXBhbmVsLWJnLWNvbG9yO1xuXG4gICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtMTJweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6ICRmb250LTE1cHg7XG4gICAgICAgIGNvbG9yOiAkc2Vjb25kYXJ5LWNvbnRlbnQ7XG5cbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBsZWZ0OiAxMHB4O1xuICAgICAgICAgICAgdG9wOiBjYWxjKDUwJSAtIDhweCk7IC8qIHZlcnRpY2FsIGNlbnRlcmluZyAqL1xuICAgICAgICAgICAgaGVpZ2h0OiAxNnB4O1xuICAgICAgICAgICAgd2lkdGg6IDE2cHg7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2Vjb25kYXJ5LWNvbnRlbnQ7XG4gICAgICAgICAgICBtYXNrLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgICAgbWFzay1zaXplOiBjb250YWluO1xuICAgICAgICAgICAgbWFzay1pbWFnZTogdXJsKFwiQHZlY3Rvci1pbS9jb21wb3VuZC1kZXNpZ24tdG9rZW5zL2ljb25zL2luZm8tc29saWQuc3ZnXCIpO1xuICAgICAgICAgICAgbWFzay1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm14X01hbmFnZVJlc3RyaWN0ZWRKb2luUnVsZURpYWxvZ19mb290ZXIge1xuICAgICAgICBtYXJnaW4tdG9wOiAyMHB4O1xuXG4gICAgICAgIC5teF9NYW5hZ2VSZXN0cmljdGVkSm9pblJ1bGVEaWFsb2dfZm9vdGVyX2J1dHRvbnMge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIHdpZHRoOiBtYXgtY29udGVudDtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuXG4gICAgICAgICAgICAubXhfQWNjZXNzaWJsZUJ1dHRvbiB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXG4gICAgICAgICAgICAgICAgJiArIC5teF9BY2Nlc3NpYmxlQnV0dG9uIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDI0cHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuIiwiLypcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxuQ29weXJpZ2h0IDIwMTkgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cblxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuKi9cblxuLm14X01lc3NhZ2VFZGl0SGlzdG9yeURpYWxvZyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIG1heC1oZWlnaHQ6IDYwdmg7XG59XG5cbi5teF9NZXNzYWdlRWRpdEhpc3RvcnlEaWFsb2dfc2Nyb2xsUGFuZWwge1xuICAgIGZsZXg6IDEgMSBhdXRvO1xufVxuXG4ubXhfTWVzc2FnZUVkaXRIaXN0b3J5RGlhbG9nX2Vycm9yIHtcbiAgICBjb2xvcjogJGFsZXJ0O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLm14X01lc3NhZ2VFZGl0SGlzdG9yeURpYWxvZ19lZGl0cyB7XG4gICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICAgIGZvbnQ6IHZhcigtLWNwZC1mb250LWJvZHktbWQtcmVndWxhcik7XG4gICAgcGFkZGluZzogMDtcbiAgICBjb2xvcjogJHByaW1hcnktY29udGVudDtcblxuICAgIHNwYW4ubXhfRWRpdEhpc3RvcnlNZXNzYWdlX2RlbGV0aW9uLFxuICAgIHNwYW4ubXhfRWRpdEhpc3RvcnlNZXNzYWdlX2luc2VydGlvbiB7XG4gICAgICAgIHBhZGRpbmc6IDBweCAycHg7XG4gICAgfVxuXG4gICAgLm14X0VkaXRIaXN0b3J5TWVzc2FnZV9kZWxldGlvbiB7XG4gICAgICAgIGNvbG9yOiByZ2IoMjU1LCA3NiwgODUpO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgNzYsIDg1LCAwLjEpO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IGxpbmUtdGhyb3VnaDtcbiAgICB9XG5cbiAgICAubXhfRWRpdEhpc3RvcnlNZXNzYWdlX2luc2VydGlvbiB7XG4gICAgICAgIGNvbG9yOiByZ2IoMjYsIDE2OSwgMTIzKTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNiwgMTY5LCAxMjMsIDAuMSk7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgIH1cblxuICAgIC8qIEVtdWxhdGUgbXhfRXZlbnRUaWxlW2RhdGEtbGF5b3V0PVwiZ3JvdXBcIl0gKi9cbiAgICAubXhfRXZlbnRUaWxlIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDA7XG5cbiAgICAgICAgLm14X01lc3NhZ2VUaW1lc3RhbXAge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgfVxuXG4gICAgICAgIC5teF9FdmVudFRpbGVfbGluZSB7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogdmFyKC0tRXZlbnRUaWxlX2dyb3VwX2xpbmUtc3BhY2luZy1ibG9jay1zdGFydCk7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogdmFyKC0tRXZlbnRUaWxlX2dyb3VwX2xpbmUtc3BhY2luZy1ibG9jay1lbmQpO1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiB2YXIoLS1FdmVudFRpbGVfZ3JvdXBfbGluZS1zcGFjaW5nLWlubGluZS1zdGFydCk7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogdmFyKC0tRXZlbnRUaWxlX2dyb3VwX2xpbmUtbGluZS1oZWlnaHQpO1xuXG4gICAgICAgICAgICAubXhfRXZlbnRUaWxlX2NvbnRlbnQge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiAtMXB4O1xuICAgICAgICAgICAgYm90dG9tOiAtMXB4O1xuICAgICAgICAgICAgbGVmdDogLTEwcHg7XG4gICAgICAgICAgICByaWdodDogLTEwcHg7XG4gICAgICAgICAgICB6LWluZGV4OiAtMTtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgICAgICAgfVxuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkZXZlbnRidWJibGUtYmctaG92ZXI7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubXhfTWVzc2FnZUFjdGlvbkJhciAubXhfQWNjZXNzaWJsZUJ1dHRvbiB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgICAgICAgcGFkZGluZy1pbmxpbmUtc3RhcnQ6ICRzcGFjaW5nLTg7XG4gICAgICAgIHBhZGRpbmctaW5saW5lLWVuZDogJHNwYWNpbmctODtcblxuICAgICAgICBmb250LXNpemU6ICRmb250LTE1cHg7XG4gICAgfVxufVxuIiwiLypcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxuQ29weXJpZ2h0IDIwMjAgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cblxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuKi9cblxuLm14X01vZGFsV2lkZ2V0RGlhbG9nIHtcbiAgICAubXhfTW9kYWxXaWRnZXREaWFsb2dfd2FybmluZyB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDI0cHg7XG5cbiAgICAgICAgPiBpbWcge1xuICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogOHB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm14X01vZGFsV2lkZ2V0RGlhbG9nX2J1dHRvbnMge1xuICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgIG1hcmdpbi10b3A6IDI0cHg7XG5cbiAgICAgICAgLm14X0FjY2Vzc2libGVCdXR0b24gKyAubXhfQWNjZXNzaWJsZUJ1dHRvbiB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogOHB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgaWZyYW1lIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogNDUwcHg7XG4gICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4O1xuICAgIH1cbn1cbiIsIi8qXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cbkNvcHlyaWdodCAyMDIxIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXG5cblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cbiovXG5cbi5teF9Qb2xsQ3JlYXRlRGlhbG9nIHtcbiAgICAubXhfUG9sbENyZWF0ZURpYWxvZ19idXN5IHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBpbnNldDogMDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG92ZXJsYXktYmFja2dyb3VuZDtcbiAgICAgICAgei1pbmRleDogMTtcbiAgICB9XG5cbiAgICBoMiB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1jcGQtZm9udC13ZWlnaHQtc2VtaWJvbGQpO1xuICAgICAgICBmb250LXNpemU6ICRmb250LTE1cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAkZm9udC0yNHB4O1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA4cHg7XG5cbiAgICAgICAgJjpudGgtY2hpbGQobiArIDIpIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwIHtcbiAgICAgICAgY29sb3I6ICRzZWNvbmRhcnktY29udGVudDtcbiAgICB9XG5cbiAgICAubXhfUG9sbENyZWF0ZURpYWxvZ19vcHRpb24ge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBtYXJnaW4tdG9wOiAxMXB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxNnB4OyAvKiAxMXB4IGZyb20gdGhlIHRvcCB3aWxsIGNvbGxhcHNlLCBzbyB0aGlzIGNyZWF0ZXMgYSAxNnB4IGdhcCBiZXR3ZWVuIG9wdGlvbnMgKi9cblxuICAgICAgICAubXhfRmllbGQge1xuICAgICAgICAgICAgZmxleDogMTtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5teF9Qb2xsQ3JlYXRlRGlhbG9nX3JlbW92ZU9wdGlvbiB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMTJweDtcbiAgICAgICAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHF1aW5hcnktY29udGVudDtcbiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgICAgIG1hc2s6IHVybChcIkB2ZWN0b3ItaW0vY29tcG91bmQtZGVzaWduLXRva2Vucy9pY29ucy9jbG9zZS5zdmdcIik7XG4gICAgICAgICAgICAgICAgbWFzay1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgICAgICAgICBtYXNrLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgbWFzay1zaXplOiAxNnB4O1xuICAgICAgICAgICAgICAgIHdpZHRoOiBpbmhlcml0O1xuICAgICAgICAgICAgICAgIGhlaWdodDogaW5oZXJpdDtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHNlY29uZGFyeS1jb250ZW50O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm14X1BvbGxDcmVhdGVEaWFsb2dfYWRkT3B0aW9uIHtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNDBweDsgLyogYXJiaXRyYXJ5IHRvIGNyZWF0ZSBzY3JvbGxhYmxlIGFyZWEgdW5kZXIgdGhlIHBvbGwgKi9cbiAgICB9XG5cbiAgICAubXhfQWNjZXNzaWJsZUJ1dHRvbl9kaXNhYmxlZCB7XG4gICAgICAgIG9wYWNpdHk6IDAuNDtcbiAgICB9XG59XG4iLCIvKlxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXG5Db3B5cmlnaHQgMjAyMCBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxuXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXG4qL1xuXG4ubXhfUmVnaXN0cmF0aW9uRW1haWxQcm9tcHREaWFsb2cge1xuICAgIHdpZHRoOiA0MTdweDtcblxuICAgIC5teF9EaWFsb2dfY29udGVudCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDI0cHg7XG4gICAgICAgIGNvbG9yOiAkdGVydGlhcnktY29udGVudDtcbiAgICB9XG5cbiAgICAubXhfRGlhbG9nX3ByaW1hcnkge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG59XG4iLCIvKlxuQ29weXJpZ2h0IDIwMTktMjAyNCBOZXcgVmVjdG9yIEx0ZC5cblxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuKi9cblxuLyogSUNPTlMgKi9cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLm14X1Jvb21TZXR0aW5nc0RpYWxvZ19zZXR0aW5nc0ljb246OmJlZm9yZSB7XG4gICAgbWFzay1pbWFnZTogdXJsKFwiQHZlY3Rvci1pbS9jb21wb3VuZC1kZXNpZ24tdG9rZW5zL2ljb25zL3NldHRpbmdzLXNvbGlkLnN2Z1wiKTtcbn1cblxuLm14X1Jvb21TZXR0aW5nc0RpYWxvZ192b2ljZUljb246OmJlZm9yZSB7XG4gICAgbWFzay1pbWFnZTogdXJsKFwiJChyZXMpL2ltZy9lbGVtZW50LWljb25zL2NhbGwvdm9pY2UtY2FsbC5zdmdcIik7XG59XG5cbi5teF9Sb29tU2V0dGluZ3NEaWFsb2dfc2VjdXJpdHlJY29uOjpiZWZvcmUge1xuICAgIG1hc2staW1hZ2U6IHVybChcIkB2ZWN0b3ItaW0vY29tcG91bmQtZGVzaWduLXRva2Vucy9pY29ucy9sb2NrLXNvbGlkLnN2Z1wiKTtcbn1cblxuLm14X1Jvb21TZXR0aW5nc0RpYWxvZ19yb2xlc0ljb246OmJlZm9yZSB7XG4gICAgbWFzay1pbWFnZTogdXJsKFwiJChyZXMpL2ltZy9lbGVtZW50LWljb25zL3Jvb20vc2V0dGluZ3Mvcm9sZXMuc3ZnXCIpO1xufVxuXG4ubXhfUm9vbVNldHRpbmdzRGlhbG9nX25vdGlmaWNhdGlvbnNJY29uOjpiZWZvcmUge1xuICAgIG1hc2staW1hZ2U6IHVybChcIiQocmVzKS9pbWcvZWxlbWVudC1pY29ucy9ub3RpZmljYXRpb25zLnN2Z1wiKTtcbn1cblxuLm14X1Jvb21TZXR0aW5nc0RpYWxvZ19icmlkZ2VzSWNvbjo6YmVmb3JlIHtcbiAgICAvKiBUaGlzIGljb24gaXMgcGFudHMsIHBsZWFzZSBpbXByb3ZlIDopICovXG4gICAgbWFzay1pbWFnZTogdXJsKFwiJChyZXMpL2ltZy9mZWF0aGVyLWN1c3RvbWlzZWQvYnJpZGdlLnN2Z1wiKTtcbn1cblxuLm14X1Jvb21TZXR0aW5nc0RpYWxvZ19wb2xsc0ljb246OmJlZm9yZSB7XG4gICAgbWFzay1pbWFnZTogdXJsKFwiJChyZXMpL2ltZy9lbGVtZW50LWljb25zL3Jvb20vY29tcG9zZXIvcG9sbC5zdmdcIik7XG59XG5cbi5teF9Sb29tU2V0dGluZ3NEaWFsb2dfd2FybmluZ0ljb246OmJlZm9yZSB7XG4gICAgbWFzay1pbWFnZTogdXJsKFwiJChyZXMpL2ltZy9lbGVtZW50LWljb25zL3Jvb20vc2V0dGluZ3MvYWR2YW5jZWQuc3ZnXCIpO1xufVxuXG4ubXhfUm9vbVNldHRpbmdzRGlhbG9nX3Blb3BsZUljb246OmJlZm9yZSB7XG4gICAgbWFzay1pbWFnZTogdXJsKFwiJChyZXMpL2ltZy9lbGVtZW50LWljb25zL2dyb3VwLW1lbWJlcnMuc3ZnXCIpO1xufVxuXG4ubXhfUm9vbVNldHRpbmdzRGlhbG9nIC5teF9EaWFsb2dfdGl0bGUge1xuICAgIC1tcy10ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgcGFkZGluZy1yaWdodDogODBweDtcbn1cblxuLyogc2hvdyBhIGRpZmZlcmVudCBBdmF0YXJTZXR0aW5nIHBsYWNlaG9sZGVyIGZvciBSb29tUHJvZmlsZVNldHRpbmdzIHdoaWNoIGlzIGJhc2ljYWxseSBhIGNsb25lIG9mIFByb2ZpbGVTZXR0aW5ncyAqL1xuLm14X1Jvb21TZXR0aW5nc0RpYWxvZyAubXhfQXZhdGFyU2V0dGluZ19hdmF0YXIgLm14X0F2YXRhclNldHRpbmdfYXZhdGFyUGxhY2Vob2xkZXI6OmJlZm9yZSB7XG4gICAgbWFzazogdXJsKFwiQHZlY3Rvci1pbS9jb21wb3VuZC1kZXNpZ24tdG9rZW5zL2ljb25zL2ltYWdlLnN2Z1wiKTtcbiAgICBtYXNrLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIG1hc2stc2l6ZTogMzZweDtcbiAgICBtYXNrLXBvc2l0aW9uOiBjZW50ZXI7XG59XG4iLCIvKlxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXG5Db3B5cmlnaHQgMjAyMCBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxuXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXG4qL1xuXG4ubXhfUm9vbVNldHRpbmdzRGlhbG9nX0JyaWRnZUxpc3Qge1xuICAgIHBhZGRpbmc6IDA7XG5cbiAgICBsaSB7XG4gICAgICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcblxuICAgICAgICAmLm14X1Jvb21TZXR0aW5nc0RpYWxvZ19CcmlkZ2VMaXN0X2xpc3RJdGVtIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgICAgICBnYXA6ICRzcGFjaW5nLTg7XG4gICAgICAgICAgICBwYWRkaW5nOiA1cHg7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAkc3BhY2luZy04O1xuXG4gICAgICAgICAgICAvKiBib3JkZXItc3R5bGUgYXJvdW5kIGVhY2ggYnJpZGdlIGxpc3QgaXRlbSAqL1xuICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiAxcHggMXB4O1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkcHJpbWFyeS1oYWlybGluZS1jb2xvcjtcbiAgICAgICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1cHg7XG5cbiAgICAgICAgICAgIC5teF9Sb29tU2V0dGluZ3NEaWFsb2dfY29sdW1uX2ljb24ge1xuICAgICAgICAgICAgICAgIC5teF9Sb29tU2V0dGluZ3NEaWFsb2dfcHJvdG9jb2xJY29uLFxuICAgICAgICAgICAgICAgIC5teF9Sb29tU2V0dGluZ3NEaWFsb2dfcHJvdG9jb2xJY29uIHNwYW4sXG4gICAgICAgICAgICAgICAgLm14X1Jvb21TZXR0aW5nc0RpYWxvZ19ub1Byb3RvY29sSWNvbiB7XG4gICAgICAgICAgICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJGlucHV0LWRhcmtlci1iZy1jb2xvcjtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAubXhfUm9vbVNldHRpbmdzRGlhbG9nX25vUHJvdG9jb2xJY29uLFxuICAgICAgICAgICAgICAgIC5teF9Sb29tU2V0dGluZ3NEaWFsb2dfcHJvdG9jb2xJY29uIGltZyB7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAubXhfUm9vbVNldHRpbmdzRGlhbG9nX25vUHJvdG9jb2xJY29uIHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDQ4cHg7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogNDhweDtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJGlucHV0LWRhcmtlci1iZy1jb2xvcjtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAubXhfUm9vbVNldHRpbmdzRGlhbG9nX3Byb3RvY29sSWNvbiB7XG4gICAgICAgICAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItd2lkdGg6IDFweCAxcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6ICRwcmltYXJ5LWhhaXJsaW5lLWNvbG9yO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAvKiBDb3JyZWN0IGxldHRlciBwbGFjZW1lbnQgKi9cbiAgICAgICAgICAgICAgICAgICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5teF9Sb29tU2V0dGluZ3NEaWFsb2dfY29sdW1uX2RhdGEge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICB3aWR0aDogODUlO1xuXG4gICAgICAgICAgICAgICAgLm14X1Jvb21TZXR0aW5nc0RpYWxvZ19jb2x1bW5fZGF0YV9kZXRhaWxzLFxuICAgICAgICAgICAgICAgIC5teF9Sb29tU2V0dGluZ3NEaWFsb2dfY29sdW1uX2RhdGFfbWV0YWRhdGEsXG4gICAgICAgICAgICAgICAgLm14X1Jvb21TZXR0aW5nc0RpYWxvZ19jb2x1bW5fZGF0YV9tZXRhZGF0YSBsaSxcbiAgICAgICAgICAgICAgICAubXhfUm9vbVNldHRpbmdzRGlhbG9nX2NvbHVtbl9kYXRhX3Byb3RvY29sTmFtZSB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLm14X1Jvb21TZXR0aW5nc0RpYWxvZ19jb2x1bW5fZGF0YV9kZXRhaWxzLFxuICAgICAgICAgICAgICAgIC5teF9Sb29tU2V0dGluZ3NEaWFsb2dfY29sdW1uX2RhdGFfbWV0YWRhdGEge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAkc3BhY2luZy00O1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC5teF9Sb29tU2V0dGluZ3NEaWFsb2dfY29sdW1uX2RhdGFfbWV0YWRhdGEgbGkge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAkc3BhY2luZy04O1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC5teF9Sb29tU2V0dGluZ3NEaWFsb2dfY29sdW1uX2RhdGFfcHJvdG9jb2xOYW1lIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxNnB0O1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHByaW1hcnktY29udGVudDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAubXhfUm9vbVNldHRpbmdzRGlhbG9nX3dvcmtzcGFjZV9jaGFubmVsX2RldGFpbHMge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHByaW1hcnktY29udGVudDtcbiAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLWNwZC1mb250LXdlaWdodC1zZW1pYm9sZCk7XG5cbiAgICAgICAgICAgICAgICAgICAgLm14X1Jvb21TZXR0aW5nc0RpYWxvZ19jaGFubmVsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1pbmxpbmUtc3RhcnQ6IDVweDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC5teF9Sb29tU2V0dGluZ3NEaWFsb2dfbWV0YWRhdGEge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJG11dGVkLWZnLWNvbG9yO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgICAgICAgICAgICBvdmVyZmxvdy15OiB2aXNpYmxlO1xuICAgICAgICAgICAgICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICAgICAgICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIvKlxuQ29weXJpZ2h0IDIwMTgtMjAyNCBOZXcgVmVjdG9yIEx0ZC5cblxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuKi9cblxuLm14X1Jvb21VcGdyYWRlRGlhbG9nIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiA3MHB4O1xufVxuIiwiLypcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxuQ29weXJpZ2h0IDIwMTktMjAyMSBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxuXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXG4qL1xuXG4ubXhfUm9vbVVwZ3JhZGVXYXJuaW5nRGlhbG9nIHtcbiAgICBtYXgtd2lkdGg6IDM4dnc7XG4gICAgd2lkdGg6IDM4dnc7XG5cbiAgICAubXhfUm9vbVVwZ3JhZGVXYXJuaW5nRGlhbG9nX3Byb2dyZXNzIHtcbiAgICAgICAgLm14X1Byb2dyZXNzQmFyIHtcbiAgICAgICAgICAgIGhlaWdodDogOHB4O1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgICAgIEBtaXhpbiBQcm9ncmVzc0JhckJvcmRlclJhZGl1cyA4cHg7XG4gICAgICAgIH1cblxuICAgICAgICAubXhfUm9vbVVwZ3JhZGVXYXJuaW5nRGlhbG9nX3Byb2dyZXNzVGV4dCB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiA4cHg7XG4gICAgICAgICAgICBmb250LXNpemU6ICRmb250LTE1cHg7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogJGZvbnQtMjRweDtcbiAgICAgICAgICAgIGNvbG9yOiAkcHJpbWFyeS1jb250ZW50O1xuICAgICAgICB9XG4gICAgfVxufVxuXG4ubXhfUm9vbVVwZ3JhZGVXYXJuaW5nRGlhbG9nIC5teF9TZXR0aW5nc0ZsYWcge1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG5cbiAgICAubXhfVG9nZ2xlU3dpdGNoIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICBtYXJnaW4tbGVmdDogOHB4O1xuICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgfVxuXG4gICAgLm14X1NldHRpbmdzRmxhZ19sYWJlbCB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICB9XG59XG4iLCIvKlxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXG5Db3B5cmlnaHQgMjAyMCBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxuXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXG4qL1xuXG4ubXhfU2VydmVyT2ZmbGluZURpYWxvZyB7XG4gICAgLm14X1NlcnZlck9mZmxpbmVEaWFsb2dfY29udGVudCB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDg1cHg7XG4gICAgICAgIGNvbG9yOiAkcHJpbWFyeS1jb250ZW50O1xuXG4gICAgICAgIGhyIHtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJHByaW1hcnktY29udGVudDtcbiAgICAgICAgICAgIG9wYWNpdHk6IDAuMTtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICB1bCB7XG4gICAgICAgICAgICBwYWRkaW5nOiAxNnB4O1xuXG4gICAgICAgICAgICBsaTpudGgtY2hpbGQobiArIDIpIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAxNnB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLm14X1NlcnZlck9mZmxpbmVEaWFsb2dfY29udGVudF9jb250ZXh0IHtcbiAgICAgICAgICAgIC5teF9TZXJ2ZXJPZmZsaW5lRGlhbG9nX2NvbnRlbnRfY29udGV4dF90aW1lc3RhbXAge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICB3aWR0aDogMTE1cHg7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRtdXRlZC1mZy1jb2xvcjtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMjRweDsgLyogc2FtZSBhcyBhdmF0YXIgKi9cbiAgICAgICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAubXhfU2VydmVyT2ZmbGluZURpYWxvZ19jb250ZW50X2NvbnRleHRfdGltZWxpbmUge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gMTU1cHgpOyAvKiAxMTVweCB0aW1lc3RhbXAgd2lkdGggKyA0MHB4IHJpZ2h0IG1hcmdpbiAqL1xuXG4gICAgICAgICAgICAgICAgLm14X1NlcnZlck9mZmxpbmVEaWFsb2dfY29udGVudF9jb250ZXh0X3RpbWVsaW5lX2hlYWRlciB7XG4gICAgICAgICAgICAgICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDhweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAubXhfU2VydmVyT2ZmbGluZURpYWxvZ19jb250ZW50X2NvbnRleHRfdHhuIHtcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiA4cHg7XG5cbiAgICAgICAgICAgICAgICAgICAgLm14X1NlcnZlck9mZmxpbmVEaWFsb2dfY29udGVudF9jb250ZXh0X3R4bl9kZXNjIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxMDBweCk7IC8qIDEwMHB4IGlzIGFuIGFyYml0cmFyeSBtYXJnaW4gZm9yIHRoZSBidXR0b24gKi9cbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIC5teF9BY2Nlc3NpYmxlQnV0dG9uIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi8qXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cbkNvcHlyaWdodCAyMDIwIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXG5cblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cbiovXG5cbi5teF9TZXJ2ZXJQaWNrZXJEaWFsb2cge1xuICAgIHdpZHRoOiA0NjhweDtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXG4gICAgLm14X0RpYWxvZ19jb250ZW50IHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcblxuICAgICAgICA+IHAge1xuICAgICAgICAgICAgY29sb3I6ICRzZWNvbmRhcnktY29udGVudDtcbiAgICAgICAgICAgIGZvbnQ6IHZhcigtLWNwZC1mb250LWJvZHktbWQtcmVndWxhcik7XG5cbiAgICAgICAgICAgIG1hcmdpbjogMTZweCAwO1xuXG4gICAgICAgICAgICAmOmZpcnN0LW9mLXR5cGUge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDQwcHg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6bGFzdC1vZi10eXBlIHtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgMjRweCAyNHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgPiBoMiB7XG4gICAgICAgICAgICBmb250LXNpemU6ICRmb250LTE1cHg7XG4gICAgICAgICAgICBmb250LXdlaWdodDogdmFyKC0tY3BkLWZvbnQtd2VpZ2h0LXNlbWlib2xkKTtcbiAgICAgICAgICAgIGNvbG9yOiAkc2Vjb25kYXJ5LWNvbnRlbnQ7XG4gICAgICAgICAgICBtYXJnaW46IDE2cHggMCAxNnB4IDhweDtcbiAgICAgICAgfVxuXG4gICAgICAgID4gYSB7XG4gICAgICAgICAgICBjb2xvcjogJGFjY2VudDtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiA4cHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubXhfU2VydmVyUGlja2VyRGlhbG9nX290aGVySG9tZXNlcnZlclJhZGlvIHtcbiAgICAgICAgaW5wdXRbdHlwZT1cInJhZGlvXCJdICsgZGl2IHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IGF1dG87XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiBhdXRvO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm14X1NlcnZlclBpY2tlckRpYWxvZ19vdGhlckhvbWVzZXJ2ZXIge1xuICAgICAgICBib3JkZXItdG9wOiBub25lO1xuICAgICAgICBib3JkZXItbGVmdDogbm9uZTtcbiAgICAgICAgYm9yZGVyLXJpZ2h0OiBub25lO1xuICAgICAgICBib3JkZXItcmFkaXVzOiB1bnNldDtcblxuICAgICAgICA+IGlucHV0IHtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgfVxuXG4gICAgICAgID4gbGFiZWwge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubXhfQWNjZXNzaWJsZUJ1dHRvbl9raW5kX3ByaW1hcnkge1xuICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gNjRweCk7XG4gICAgICAgIG1hcmdpbjogMCA4cHg7XG4gICAgICAgIHBhZGRpbmc6IDE1cHggMThweDtcbiAgICB9XG59XG4iLCIvKlxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXG5Db3B5cmlnaHQgMjAxNyBWZWN0b3IgQ3JlYXRpb25zIEx0ZFxuXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXG4qL1xuXG4ubXhfU2V0RW1haWxEaWFsb2dfZW1haWxfaW5wdXQge1xuICAgIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkaW5wdXQtYm9yZGVyLWNvbG9yO1xuICAgIHBhZGRpbmc6IDlweDtcbiAgICBjb2xvcjogJGlucHV0LWZnLWNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuICAgIGZvbnQtc2l6ZTogJGZvbnQtMTVweDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXgtd2lkdGg6IDI4MHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG59XG5cbi5teF9TZXRFbWFpbERpYWxvZ19lbWFpbF9pbnB1dDpmb2N1cyB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICRhY2NlbnQ7XG59XG4iLCIvKlxuQ29weXJpZ2h0IDIwMTktMjAyNCBOZXcgVmVjdG9yIEx0ZC5cblxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuKi9cblxuLyogTm90IGFjdHVhbGx5IGEgY29tcG9uZW50IGJ1dCB0aGluZ3Mgc2hhcmVkIGJ5IHNldHRpbmdzIGNvbXBvbmVudHMgKi9cbi5teF9Vc2VyU2V0dGluZ3NEaWFsb2csXG4ubXhfUm9vbVNldHRpbmdzRGlhbG9nLFxuLm14X1NwYWNlU2V0dGluZ3NEaWFsb2csXG4ubXhfU3BhY2VQcmVmZXJlbmNlc0RpYWxvZyB7XG4gICAgd2lkdGg6IDkwdnc7XG4gICAgbWF4LXdpZHRoOiA5ODBweDtcbiAgICAvKiBzZXQgdGhlIGhlaWdodCB0b28gc2luY2UgdGFiYmVkIHZpZXcgc2Nyb2xscyBpdHNlbGYuICovXG4gICAgaGVpZ2h0OiA4MHZoO1xuXG4gICAgLm14X1RhYmJlZFZpZXcge1xuICAgICAgICB0b3A6IDkwcHg7XG4gICAgfVxuXG4gICAgLm14X1RhYmJlZFZpZXcgLm14X1NldHRpbmdzVGFiIHtcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgbWluLXdpZHRoOiA1ODBweDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMTAwcHg7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cbiAgICAgICAgLyogUHV0IHNvbWUgcGFkZGluZyBvbiB0aGUgYm90dG9tIHRvIGF2b2lkIHRoZSBzZXR0aW5ncyB0YWIgZnJvbSAqL1xuICAgICAgICAvKiBjb2xsaWRpbmcgaGFyc2hseSB3aXRoIHRoZSBkaWFsb2cgd2hlbiBzY3JvbGxlZCBkb3duLiAqL1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTAwcHg7XG4gICAgfVxufVxuIiwiLypcbkNvcHlyaWdodCAyMDE4LTIwMjQgTmV3IFZlY3RvciBMdGQuXG5cblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cbiovXG5cbi5teF9TaGFyZURpYWxvZyB7XG4gICAgLyogVmFsdWUgZnJvbSBmaWdtYSBkZXNpZ24gKi9cbiAgICB3aWR0aDogNDE2cHg7XG5cbiAgICAubXhfRGlhbG9nX2hlYWRlciB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogdmFyKC0tY3BkLXNwYWNlLTZ4KTtcbiAgICAgICAgLyogT3ZlcnJpZGUgZGlhbG9nIGhlYWRlciBwYWRkaW5nIHRvIGFibGUgdG8gY2VudGVyIGl0ICovXG4gICAgICAgIHBhZGRpbmctaW5saW5lLWVuZDogMDtcbiAgICB9XG5cbiAgICAubXhfU2hhcmVEaWFsb2dfY29udGVudCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGdhcDogdmFyKC0tY3BkLXNwYWNlLTZ4KTtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgICAgICAubXhfU2hhcmVEaWFsb2dfdG9wIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgZ2FwOiB2YXIoLS1jcGQtc3BhY2UtNHgpO1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgZm9udDogdmFyKC0tY3BkLWZvbnQtYm9keS1zbS1zZW1pYm9sZCk7XG4gICAgICAgICAgICAgICAgY29sb3I6IHZhcigtLWNwZC1jb2xvci10ZXh0LXNlY29uZGFyeSk7XG4gICAgICAgICAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgbGFiZWwge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgICAgICBnYXA6IHZhcigtLWNwZC1zcGFjZS0zeCk7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICBmb250OiB2YXIoLS1jcGQtZm9udC1ib2R5LW1kLW1lZGl1bSk7XG4gICAgICAgIH1cblxuICAgICAgICBidXR0b24ge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cblxuICAgICAgICAubXhfU2hhcmVEaWFsb2dfc29jaWFsIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBnYXA6IHZhcigtLWNwZC1zcGFjZS0zeCk7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblxuICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDQ4cHg7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiA0OHB4O1xuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDk5cHg7XG4gICAgICAgICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jcGQtY29sb3ItYm9yZGVyLWludGVyYWN0aXZlLXNlY29uZGFyeSk7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gICAgICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDI0cHg7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogMjRweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIvKlxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXG5cblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cbiovXG5cbi5teF9TbGFzaENvbW1hbmRIZWxwRGlhbG9nIC5teF9TbGFzaENvbW1hbmRIZWxwRGlhbG9nX2hlYWRlclJvdyBoMiB7XG4gICAgbWFyZ2luLWJvdHRvbTogMnB4O1xufVxuXG4ubXhfU2xhc2hDb21tYW5kSGVscERpYWxvZyAubXhfRGlhbG9nX2NvbnRlbnQge1xuICAgIG1hcmdpbi10b3A6IDEycHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMzRweDtcbn1cbiIsIi8qXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cbkNvcHlyaWdodCAyMDIxIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXG5cblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cbiovXG5cbi5teF9TcGFjZVByZWZlcmVuY2VzRGlhbG9nIHtcbiAgICB3aWR0aDogNzAwcHg7XG4gICAgaGVpZ2h0OiA0MDBweDtcblxuICAgID4gaDQge1xuICAgICAgICBtYXJnaW46IC0xMnB4IDAgMDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgZm9udC1zaXplOiAkZm9udC0xNXB4O1xuICAgICAgICBsaW5lLWhlaWdodDogJGZvbnQtMjRweDtcbiAgICAgICAgY29sb3I6ICRzZWNvbmRhcnktY29udGVudDtcbiAgICB9XG5cbiAgICAubXhfVGFiYmVkVmlldyB7XG4gICAgICAgIHRvcDogODBweDtcblxuICAgICAgICAubXhfU2V0dGluZ3NUYWIge1xuICAgICAgICAgICAgbWluLXdpZHRoOiB1bnNldDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLm14X1NwYWNlUHJlZmVyZW5jZXNEaWFsb2dfYXBwZWFyYW5jZUljb246OmJlZm9yZSB7XG4gICAgbWFzay1pbWFnZTogdXJsKFwiJChyZXMpL2ltZy9lbGVtZW50LWljb25zL3NldHRpbmdzL2FwcGVhcmFuY2Uuc3ZnXCIpO1xufVxuIiwiLypcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxuQ29weXJpZ2h0IDIwMjEgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cblxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuKi9cblxuLm14X1NwYWNlU2V0dGluZ3NEaWFsb2cge1xuICAgIGNvbG9yOiAkcHJpbWFyeS1jb250ZW50O1xuXG4gICAgLm14X1NwYWNlU2V0dGluZ3NfZXJyb3JUZXh0IHtcbiAgICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLWNwZC1mb250LXdlaWdodC1zZW1pYm9sZCk7XG4gICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtMTJweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6ICRmb250LTE1cHg7XG4gICAgICAgIGNvbG9yOiAkYWxlcnQ7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDI4cHg7XG4gICAgfVxuXG4gICAgLm14X1RvZ2dsZVN3aXRjaCB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDE2cHg7XG4gICAgfVxuXG4gICAgLm14X1NldHRpbmdzVGFiX3NlY3Rpb24ge1xuICAgICAgICAubXhfU2V0dGluZ3NUYWJfc2VjdGlvbl9jYXB0aW9uIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDEycHg7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLm14X1N0eWxlZFJhZGlvQnV0dG9uIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDhweDtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDRweDtcblxuICAgICAgICAgICAgLm14X1N0eWxlZFJhZGlvQnV0dG9uX2NvbnRlbnQge1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1jcGQtZm9udC13ZWlnaHQtc2VtaWJvbGQpO1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAkZm9udC0xOHB4O1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkcHJpbWFyeS1jb250ZW50O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmICsgc3BhbiB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAkZm9udC0xNXB4O1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAkZm9udC0xOHB4O1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkc2Vjb25kYXJ5LWNvbnRlbnQ7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDI2cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubXhfU3BhY2VTZXR0aW5nc0RpYWxvZ19idXR0b25zIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgbWFyZ2luLXRvcDogNjRweDtcblxuICAgICAgICAubXhfQWNjZXNzaWJsZUJ1dHRvbiB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIH1cblxuICAgICAgICAubXhfQWNjZXNzaWJsZUJ1dHRvbl9raW5kX2xpbmsge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubXhfQWNjZXNzaWJsZUJ1dHRvbl9oYXNLaW5kIHtcbiAgICAgICAgJi5teF9BY2Nlc3NpYmxlQnV0dG9uX2tpbmRfbGluayB7XG4gICAgICAgICAgICBmb250OiB2YXIoLS1jcGQtZm9udC1ib2R5LW1kLXNlbWlib2xkKTtcbiAgICAgICAgICAgIG1hcmdpbjogN3B4IDE4cHg7XG5cbiAgICAgICAgICAgICYubXhfU2V0dGluZ3NUYWJfc2hvd0FkdmFuY2VkIHtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDE4cHggMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5teF9UYWJiZWRWaWV3X3RhYkxhYmVsIHtcbiAgICAgICAgLm14X1NwYWNlU2V0dGluZ3NEaWFsb2dfZ2VuZXJhbEljb246OmJlZm9yZSB7XG4gICAgICAgICAgICBtYXNrLWltYWdlOiB1cmwoXCJAdmVjdG9yLWltL2NvbXBvdW5kLWRlc2lnbi10b2tlbnMvaWNvbnMvc2V0dGluZ3Mtc29saWQuc3ZnXCIpO1xuICAgICAgICB9XG5cbiAgICAgICAgLm14X1NwYWNlU2V0dGluZ3NEaWFsb2dfdmlzaWJpbGl0eUljb246OmJlZm9yZSB7XG4gICAgICAgICAgICBtYXNrLWltYWdlOiB1cmwoXCIkKHJlcykvaW1nL2VsZW1lbnQtaWNvbnMvZXllLnN2Z1wiKTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi8qXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cbkNvcHlyaWdodCAyMDIxIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXG5cblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cbiovXG5cbi5teF9TcG90bGlnaHREaWFsb2dfd3JhcHBlciB7XG4gICAgLm14X0RpYWxvZ19ib3JkZXIge1xuICAgICAgICAvKiBEaXNhYmxlIHRoZSBnbGFzcyBib3JkZXIgYXMgdGhpcyBkaWFsb2cgd2Fzbid0IGRlc2lnbmVkIHdpdGggaXQgaW4gbWluZCAqL1xuICAgICAgICBkaXNwbGF5OiBjb250ZW50cztcbiAgICB9XG5cbiAgICAubXhfRGlhbG9nIHtcbiAgICAgICAgd2lkdGg6IGZpdC1jb250ZW50O1xuICAgICAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgICAgIG92ZXJmbG93LXk6IGluaXRpYWw7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgaGVpZ2h0OiA2MCU7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIGNvbnRhaW46IHVuc2V0OyAvKiBuZWVkZWQgZm9yICNteF9TcG90bGlnaHREaWFsb2dfa2V5Ym9hcmRQcm9tcHQgdG8gbm90IGJlIGN1bGxlZCAqL1xuXG4gICAgICAgICNteF9TcG90bGlnaHREaWFsb2dfa2V5Ym9hcmRQcm9tcHQge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgcGFkZGluZzogJHNwYWNpbmctODtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuICAgICAgICAgICAgdG9wOiAtNjBweDsgLyogcmVsYXRpdmUgdG8gdGhlIHRvcCBvZiB0aGUgbW9kYWwgKi9cbiAgICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtMTJweDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAkZm9udC0xNXB4O1xuICAgICAgICAgICAgY29sb3I6ICRzZWNvbmRhcnktY29udGVudDtcblxuICAgICAgICAgICAga2JkIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMnB4ICRzcGFjaW5nLTQ7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwICRzcGFjaW5nLTQ7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNnB4O1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRxdWluYXJ5LWNvbnRlbnQ7XG4gICAgICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgICAgICAgICBjb2xvcjogJHRlcnRpYXJ5LWNvbnRlbnQ7XG4gICAgICAgICAgICAgICAgLyogVG8gYXZvaWQgYW55IHN0eWxpbmcgaW5oZXJlbnQgd2l0aCA8a2JkPiBlbGVtZW50cyAqL1xuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBpbmhlcml0O1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLm14X1Nwb3RsaWdodERpYWxvZyB7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblxuICAgIC5teF9EaWFsb2dfaGVhZGVyIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAubXhfU3BvdGxpZ2h0RGlhbG9nX3NlYXJjaEJveCB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICBib3JkZXItcmFkaXVzOiA4cHggOHB4IDAgMDtcbiAgICAgICAgcGFkZGluZzogJHNwYWNpbmctMTIgJHNwYWNpbmctMTY7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkc3lzdGVtO1xuXG4gICAgICAgID4gLm14X1Nwb3RsaWdodERpYWxvZ19maWx0ZXIge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGFsaWduLWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6ICRzcGFjaW5nLTg7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcXVpbmFyeS1jb250ZW50O1xuICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgICAgIGNvbG9yOiAkcHJpbWFyeS1jb250ZW50O1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgcGFkZGluZzogJHNwYWNpbmctNCAkc3BhY2luZy04ICRzcGFjaW5nLTQgMzdweDtcblxuICAgICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2Vjb25kYXJ5LWNvbnRlbnQ7XG4gICAgICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgICAgICBtYXNrLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgICAgICAgIG1hc2stcG9zaXRpb246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBtYXNrLXNpemU6IGNvbnRhaW47XG4gICAgICAgICAgICAgICAgd2lkdGg6IDE4cHg7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxOHB4O1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICBsZWZ0OiAkc3BhY2luZy04O1xuICAgICAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi5teF9TcG90bGlnaHREaWFsb2dfZmlsdGVyUGVvcGxlOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIG1hc2staW1hZ2U6IHVybChcIkB2ZWN0b3ItaW0vY29tcG91bmQtZGVzaWduLXRva2Vucy9pY29ucy91c2VyLXByb2ZpbGUtc29saWQuc3ZnXCIpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLm14X1Nwb3RsaWdodERpYWxvZ19maWx0ZXJQdWJsaWNSb29tczo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBtYXNrLWltYWdlOiB1cmwoXCIkKHJlcykvaW1nL2VsZW1lbnQtaWNvbnMvcm9vbWxpc3QvaGFzaC1jaXJjbGUuc3ZnXCIpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLm14X1Nwb3RsaWdodERpYWxvZ19maWx0ZXJQdWJsaWNTcGFjZXM6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgbWFzay1pbWFnZTogdXJsKFwiJChyZXMpL2ltZy9lbGVtZW50LWljb25zL3NwYWNlcy5zdmdcIik7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5teF9TcG90bGlnaHREaWFsb2dfZmlsdGVyLS1jbG9zZSB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICB3aWR0aDogMTZweDtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDE2cHg7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJHN5c3RlbTtcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6ICRzcGFjaW5nLTg7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxNnB4O1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkc2Vjb25kYXJ5LWNvbnRlbnQ7XG5cbiAgICAgICAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2Vjb25kYXJ5LWNvbnRlbnQ7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICAgICAgICAgIG1hc2stcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgICAgICAgICAgIG1hc2stcG9zaXRpb246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgbWFzay1zaXplOiAxNHB4O1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogaW5oZXJpdDtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiBpbmhlcml0O1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgICAgIG1hc2staW1hZ2U6IHVybChcIkB2ZWN0b3ItaW0vY29tcG91bmQtZGVzaWduLXRva2Vucy9pY29ucy9jbG9zZS5zdmdcIik7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgPiBpbnB1dCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgaGVpZ2h0OiAzMnB4O1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgIGNvbG9yOiAkdGVydGlhcnktY29udGVudDtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgICAgICBmb250LXNpemU6ICRmb250LTE1cHg7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogJGZvbnQtMjRweDtcbiAgICAgICAgfVxuXG4gICAgICAgID4gLm14X1NwaW5uZXIge1xuICAgICAgICAgICAgZmxleC1ncm93OiAwO1xuICAgICAgICAgICAgd2lkdGg6IHVuc2V0O1xuICAgICAgICAgICAgaGVpZ2h0OiB1bnNldDtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAkc3BhY2luZy0xNjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICNteF9TcG90bGlnaHREaWFsb2dfY29udGVudCB7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICAgICAgcGFkZGluZzogJHNwYWNpbmctMTY7XG5cbiAgICAgICAgdWwge1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5teF9TcG90bGlnaHREaWFsb2dfc2VjdGlvbiB7XG4gICAgICAgICAgICA+IGg0LFxuICAgICAgICAgICAgPiAubXhfU3BvdGxpZ2h0RGlhbG9nX3NlY3Rpb25IZWFkZXIgPiBoNCB7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLWNwZC1mb250LXdlaWdodC1zZW1pYm9sZCk7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAkZm9udC0xMnB4O1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAkZm9udC0xNXB4O1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkc2Vjb25kYXJ5LWNvbnRlbnQ7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICA+IGg0IHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAkc3BhY2luZy04O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAubXhfU3BvdGxpZ2h0RGlhbG9nX3NlY3Rpb25IZWFkZXIge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogJHNwYWNpbmctODtcblxuICAgICAgICAgICAgICAgIC5teF9TcG90bGlnaHREaWFsb2dfb3B0aW9ucyB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgICAgIGdhcDogJHNwYWNpbmctNDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYgKyAubXhfU3BvdGxpZ2h0RGlhbG9nX3NlY3Rpb24ge1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6ICRzcGFjaW5nLTI0O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLm14X1Nwb3RsaWdodERpYWxvZ19yZWNlbnRseVZpZXdlZCB7XG4gICAgICAgICAgICA+IGRpdiB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICAgICAgICAgIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDFweDsgLyogb2NjbHVkZSB0aGUgMXB4IHZpc2libGUgb2YgdGhlIHZlcnkgbmV4dCB0aWxlIHRvIHByZXZlbnQgaXQgbG9va2luZyBicm9rZW4gKi9cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLm14X1Nwb3RsaWdodERpYWxvZ19vcHRpb24ge1xuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAkc3BhY2luZy00O1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkcHJpbWFyeS1jb250ZW50O1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtMTJweDtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogJGZvbnQtMTVweDtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDU4cHg7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiA1OHB4O1xuICAgICAgICAgICAgICAgIG1pbi13aWR0aDogNThweDtcbiAgICAgICAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuXG4gICAgICAgICAgICAgICAgLm14X0RlY29yYXRlZFJvb21BdmF0YXIge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDAgOXB4ICRzcGFjaW5nLTQ7IC8qIG1haW50YWluIGNlbnRlcmluZyAqL1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICYgKyAubXhfU3BvdGxpZ2h0RGlhbG9nX29wdGlvbiB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAkc3BhY2luZy0xNjtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmOmhvdmVyLFxuICAgICAgICAgICAgICAgICZbYXJpYS1zZWxlY3RlZD1cInRydWVcIl0ge1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcXVpbmFyeS1jb250ZW50O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5teF9TcG90bGlnaHREaWFsb2dfcmVzdWx0cyxcbiAgICAgICAgLm14X1Nwb3RsaWdodERpYWxvZ19yZWNlbnRTZWFyY2hlcyxcbiAgICAgICAgLm14X1Nwb3RsaWdodERpYWxvZ19vdGhlclNlYXJjaGVzLFxuICAgICAgICAubXhfU3BvdGxpZ2h0RGlhbG9nX2hpZGRlblJlc3VsdHMge1xuICAgICAgICAgICAgLm14X1Nwb3RsaWdodERpYWxvZ19vcHRpb24ge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDZweCAkc3BhY2luZy00O1xuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6ICRmb250LTE1cHg7XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6ICRmb250LTI0cHg7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRwcmltYXJ5LWNvbnRlbnQ7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICAgICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgICAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICAgICAgICAgICAgICAubXhfU3BvdGxpZ2h0RGlhbG9nX29wdGlvbi0tZW5kQWRvcm5tZW50IHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmLm14X1Nwb3RsaWdodERpYWxvZ19yZXN1bHRfbXVsdGlsaW5lIHtcbiAgICAgICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG5cbiAgICAgICAgICAgICAgICAgICAgLm14X0FjY2Vzc2libGVCdXR0b24ge1xuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogJHNwYWNpbmctNCAkc3BhY2luZy0yMDtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMnB4ICRzcGFjaW5nLTQ7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAubXhfU3BvdGxpZ2h0RGlhbG9nX2VudGVyUHJvbXB0IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDlweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogJHNwYWNpbmctODtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgID4gLm14X1Nwb3RsaWdodERpYWxvZ19tZXRhc3BhY2VSZXN1bHQsXG4gICAgICAgICAgICAgICAgPiAubXhfRGVjb3JhdGVkUm9vbUF2YXRhcixcbiAgICAgICAgICAgICAgICA+IC5teF9CYXNlQXZhdGFyIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAkc3BhY2luZy04O1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMjRweDtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAyNHB4O1xuICAgICAgICAgICAgICAgICAgICBmbGV4LXNocmluazogMDtcblxuICAgICAgICAgICAgICAgICAgICAubXhfQmFzZUF2YXRhciB7XG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogaW5oZXJpdDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogaW5oZXJpdDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC5teF9TcG90bGlnaHREaWFsb2dfcmVzdWx0X3B1YmxpY1Jvb21EZXRhaWxzIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgICAgICAgICAgZmxleC1ncm93OiAxO1xuICAgICAgICAgICAgICAgICAgICBtaW4td2lkdGg6IDA7XG5cbiAgICAgICAgICAgICAgICAgICAgLm14X1Nwb3RsaWdodERpYWxvZ19yZXN1bHRfcHVibGljUm9vbUhlYWRlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAkZm9udC0yNHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAkc3BhY2luZy04O1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAubXhfU3BvdGxpZ2h0RGlhbG9nX3Jlc3VsdF9wdWJsaWNSb29tTmFtZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRwcmltYXJ5LWNvbnRlbnQ7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAkZm9udC0xNXB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAubXhfU3BvdGxpZ2h0RGlhbG9nX3Jlc3VsdF9wdWJsaWNSb29tQWxpYXMge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkdGVydGlhcnktY29udGVudDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6ICRmb250LTEycHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6ICRzcGFjaW5nLTg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAubXhfU3BvdGxpZ2h0RGlhbG9nX3Jlc3VsdF9wdWJsaWNSb29tRGVzY3JpcHRpb24ge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRzZWNvbmRhcnktY29udGVudDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtMTJweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gICAgICAgICAgICAgICAgICAgICAgICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG4gICAgICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogJGZvbnQtMjBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICAgICAgICAgICAgICAgICAgICAgICAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcbiAgICAgICAgICAgICAgICAgICAgICAgIC13ZWJraXQtbGluZS1jbGFtcDogMztcbiAgICAgICAgICAgICAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAubXhfTm90aWZpY2F0aW9uQmFkZ2Uge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogJHNwYWNpbmctODtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAubXhfU3BvdGxpZ2h0RGlhbG9nX29wdGlvbi0tbWVudSxcbiAgICAgICAgICAgICAgICAubXhfU3BvdGxpZ2h0RGlhbG9nX29wdGlvbi0tbm90aWZpY2F0aW9ucyB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgICAgICAgICAgICAgICBtaW4td2lkdGg6IDIwcHg7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogMjBweDtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogYXV0bztcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogYXV0bztcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgICAgICAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0b3A6IDJweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxlZnQ6IDJweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTZweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogMTZweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hc2stcG9zaXRpb246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hc2stc2l6ZTogY29udGFpbjtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hc2stcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkdGVydGlhcnktY29udGVudDtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICY6aG92ZXI6OmJlZm9yZSxcbiAgICAgICAgICAgICAgICAgICAgJlthcmlhLXNlbGVjdGVkPVwidHJ1ZVwiXTo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRzZWNvbmRhcnktY29udGVudDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC5teF9TcG90bGlnaHREaWFsb2dfb3B0aW9uLS1tZW51OjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICBtYXNrLWltYWdlOiB1cmwoXCJAdmVjdG9yLWltL2NvbXBvdW5kLWRlc2lnbi10b2tlbnMvaWNvbnMvb3ZlcmZsb3ctaG9yaXpvbnRhbC5zdmdcIik7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJjpob3ZlcixcbiAgICAgICAgICAgICAgICAmW2FyaWEtc2VsZWN0ZWQ9XCJ0cnVlXCJdIHtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHN5c3RlbTtcblxuICAgICAgICAgICAgICAgICAgICAubXhfU3BvdGxpZ2h0RGlhbG9nX29wdGlvbi0tbWVudSxcbiAgICAgICAgICAgICAgICAgICAgLm14X1Nwb3RsaWdodERpYWxvZ19vcHRpb24tLW5vdGlmaWNhdGlvbnMge1xuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmW2FyaWEtc2VsZWN0ZWQ9XCJ0cnVlXCJdIC5teF9TcG90bGlnaHREaWFsb2dfZW50ZXJQcm9tcHQge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLm14X1Nwb3RsaWdodERpYWxvZ19pbnZpdGVMaW5rLFxuICAgICAgICAubXhfU3BvdGxpZ2h0RGlhbG9nX2NyZWF0ZVJvb20ge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogJHNwYWNpbmctODtcblxuICAgICAgICAgICAgLm14X0FjY2Vzc2libGVCdXR0b24ge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogM3B4ICRzcGFjaW5nLTggM3B4ICRzcGFjaW5nLTI4O1xuXG4gICAgICAgICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgICAgbWFzay1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgICAgICAgICAgICAgbWFzay1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICBtYXNrLXNpemU6IGNvbnRhaW47XG4gICAgICAgICAgICAgICAgICAgIGxlZnQ6ICRzcGFjaW5nLTg7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxNnB4O1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDE2cHg7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWNwZC1jb2xvci1pY29uLXByaW1hcnkpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5teF9TcG90bGlnaHREaWFsb2dfaW52aXRlTGluayAubXhfQWNjZXNzaWJsZUJ1dHRvbjo6YmVmb3JlIHtcbiAgICAgICAgICAgIG1hc2staW1hZ2U6IHVybChcIkB2ZWN0b3ItaW0vY29tcG91bmQtZGVzaWduLXRva2Vucy9pY29ucy9saW5rLnN2Z1wiKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5teF9TcG90bGlnaHREaWFsb2dfY3JlYXRlUm9vbSAubXhfQWNjZXNzaWJsZUJ1dHRvbjo6YmVmb3JlIHtcbiAgICAgICAgICAgIG1hc2staW1hZ2U6IHVybChcIiQocmVzKS9pbWcvZWxlbWVudC1pY29ucy9yb29tbGlzdC9oYXNoLnN2Z1wiKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5teF9TcG90bGlnaHREaWFsb2dfb3RoZXJTZWFyY2hlcyB7XG4gICAgICAgICAgICAubXhfU3BvdGxpZ2h0RGlhbG9nX3N0YXJ0Q2hhdCxcbiAgICAgICAgICAgIC5teF9TcG90bGlnaHREaWFsb2dfam9pblJvb21BbGlhcyxcbiAgICAgICAgICAgIC5teF9TcG90bGlnaHREaWFsb2dfZXhwbG9yZVB1YmxpY1Jvb21zLFxuICAgICAgICAgICAgLm14X1Nwb3RsaWdodERpYWxvZ19leHBsb3JlUHVibGljU3BhY2VzLFxuICAgICAgICAgICAgLm14X1Nwb3RsaWdodERpYWxvZ19zdGFydEdyb3VwQ2hhdCB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAkc3BhY2luZy0zMjtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2Vjb25kYXJ5LWNvbnRlbnQ7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICAgICAgICAgIG1hc2stcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgICAgICAgICAgIG1hc2stcG9zaXRpb246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgbWFzay1zaXplOiBjb250YWluO1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMjRweDtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAyNHB4O1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgIGxlZnQ6ICRzcGFjaW5nLTQ7XG4gICAgICAgICAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAubXhfU3BvdGxpZ2h0RGlhbG9nX3N0YXJ0Q2hhdDo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBtYXNrLWltYWdlOiB1cmwoXCJAdmVjdG9yLWltL2NvbXBvdW5kLWRlc2lnbi10b2tlbnMvaWNvbnMvdXNlci1wcm9maWxlLXNvbGlkLnN2Z1wiKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLm14X1Nwb3RsaWdodERpYWxvZ19qb2luUm9vbUFsaWFzOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIG1hc2staW1hZ2U6IHVybChcIiQocmVzKS9pbWcvZWxlbWVudC1pY29ucy9yb29tbGlzdC9oYXNoLWNpcmNsZS5zdmdcIik7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5teF9TcG90bGlnaHREaWFsb2dfZXhwbG9yZVB1YmxpY1Jvb21zOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIG1hc2staW1hZ2U6IHVybChcIiQocmVzKS9pbWcvZWxlbWVudC1pY29ucy9yb29tbGlzdC9oYXNoLWNpcmNsZS5zdmdcIik7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5teF9TcG90bGlnaHREaWFsb2dfZXhwbG9yZVB1YmxpY1NwYWNlczo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBtYXNrLWltYWdlOiB1cmwoXCIkKHJlcykvaW1nL2VsZW1lbnQtaWNvbnMvc3BhY2VzLnN2Z1wiKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLm14X1Nwb3RsaWdodERpYWxvZ19zdGFydEdyb3VwQ2hhdDo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBtYXNrLWltYWdlOiB1cmwoXCIkKHJlcykvaW1nL2VsZW1lbnQtaWNvbnMvZ3JvdXAtbWVtYmVycy5zdmdcIik7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5teF9TcG90bGlnaHREaWFsb2dfb3RoZXJTZWFyY2hlc19tZXNzYWdlU2VhcmNoVGV4dCB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAkZm9udC0xNXB4O1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAkZm9udC0yNHB4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAubXhfU3BvdGxpZ2h0RGlhbG9nX290aGVyU2VhcmNoZXNfbWVzc2FnZVNlYXJjaEljb24ge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICB3aWR0aDogMjRweDtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDI0cHg7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHNlY29uZGFyeS1jb250ZW50O1xuICAgICAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiB0ZXh0LWJvdHRvbTtcbiAgICAgICAgICAgICAgICBtYXNrLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgICAgICAgIG1hc2stcG9zaXRpb246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBtYXNrLXNpemU6IGNvbnRhaW47XG4gICAgICAgICAgICAgICAgbWFzay1pbWFnZTogdXJsKFwiJChyZXMpL2ltZy9lbGVtZW50LWljb25zL3Jvb20vc2VhcmNoLWluc2V0LnN2Z1wiKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5teF9TcG90bGlnaHREaWFsb2dfcmVzdWx0X2RldGFpbHMge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6ICRzcGFjaW5nLTg7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6ICRzcGFjaW5nLTg7XG4gICAgICAgICAgICBjb2xvcjogJHRlcnRpYXJ5LWNvbnRlbnQ7XG4gICAgICAgICAgICBmb250LXNpemU6ICRmb250LTEycHg7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogJGZvbnQtMTVweDtcbiAgICAgICAgICAgIG1pbi13aWR0aDogMDtcbiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICAgICAgfVxuXG4gICAgICAgIC5teF9TcG90bGlnaHREaWFsb2dfcmVjZW50U2VhcmNoZXMgPiBoNCA+IC5teF9BY2Nlc3NpYmxlQnV0dG9uX2tpbmRfbGluayB7XG4gICAgICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgICAgICBmb250LXNpemU6ICRmb250LTEycHg7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogJGZvbnQtMTVweDtcbiAgICAgICAgICAgIGNvbG9yOiAkc2Vjb25kYXJ5LWNvbnRlbnQ7XG4gICAgICAgIH1cblxuICAgICAgICAubXhfU3BvdGxpZ2h0RGlhbG9nX2VudGVyUHJvbXB0IHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDJweCAkc3BhY2luZy00O1xuICAgICAgICAgICAgLyogVG8gYXZvaWQgYW55IHN0eWxpbmcgaW5oZXJlbnQgd2l0aCA8a2JkPiBlbGVtZW50cyAqL1xuICAgICAgICAgICAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gICAgICAgICAgICBmb250LXdlaWdodDogaW5oZXJpdDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtMTJweDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAkZm9udC0xNXB4O1xuICAgICAgICAgICAgY29sb3I6ICR0ZXJ0aWFyeS1jb250ZW50O1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNnB4O1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHF1aW5hcnktY29udGVudDtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogJHNwYWNpbmctNDtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICAubXhfU3BvdGxpZ2h0RGlhbG9nX21ldGFzcGFjZVJlc3VsdCB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2Vjb25kYXJ5LWNvbnRlbnQ7XG4gICAgICAgICAgICBtYXNrLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICAgICAgICBtYXNrLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgICAgbWFzay1zaXplOiBjb250YWluO1xuXG4gICAgICAgICAgICAmLm14X1Nwb3RsaWdodERpYWxvZ19tZXRhc3BhY2VSZXN1bHRfaG9tZS1zcGFjZSB7XG4gICAgICAgICAgICAgICAgbWFzay1pbWFnZTogdXJsKFwiQHZlY3Rvci1pbS9jb21wb3VuZC1kZXNpZ24tdG9rZW5zL2ljb25zL2hvbWUtc29saWQuc3ZnXCIpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLm14X1Nwb3RsaWdodERpYWxvZ19tZXRhc3BhY2VSZXN1bHRfZmF2b3VyaXRlcy1zcGFjZSB7XG4gICAgICAgICAgICAgICAgbWFzay1pbWFnZTogdXJsKFwiQHZlY3Rvci1pbS9jb21wb3VuZC1kZXNpZ24tdG9rZW5zL2ljb25zL2Zhdm91cml0ZS1zb2xpZC5zdmdcIik7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYubXhfU3BvdGxpZ2h0RGlhbG9nX21ldGFzcGFjZVJlc3VsdF9wZW9wbGUtc3BhY2Uge1xuICAgICAgICAgICAgICAgIG1hc2staW1hZ2U6IHVybChcIkB2ZWN0b3ItaW0vY29tcG91bmQtZGVzaWduLXRva2Vucy9pY29ucy91c2VyLXByb2ZpbGUtc29saWQuc3ZnXCIpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLm14X1Nwb3RsaWdodERpYWxvZ19tZXRhc3BhY2VSZXN1bHRfb3JwaGFucy1zcGFjZSB7XG4gICAgICAgICAgICAgICAgbWFzay1pbWFnZTogdXJsKFwiJChyZXMpL2ltZy9lbGVtZW50LWljb25zL3Jvb21saXN0L2hhc2gtY2lyY2xlLnN2Z1wiKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi8qXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cbkNvcHlyaWdodCAyMDE5IFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXG5cblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cbiovXG5cbi8qXG4gKiBUbyBhdm9pZCB2aXN1YWwgZ2xpdGNoaW5nIG9mIHR3byBtb2RhbHMgc3RhY2tpbmcgYnJpZWZseSwgd2UgY3VzdG9taXNlIHRoZVxuICogdGVybXMgZGlhbG9nIHNpemluZyB3aGVuIGl0IHdpbGwgYXBwZWFyIGZvciB0aGUgaW50ZWdyYXRpb24gbWFuYWdlciBzbyB0aGF0XG4gKiBpdCBnZXRzIHRoZSBzYW1lIGJhc2ljIHNpemUgYXMgdGhlIElNJ3Mgb3duIG1vZGFsLlxuICovXG4ubXhfVGVybXNEaWFsb2dfZm9ySW50ZWdyYXRpb25NYW5hZ2VyIC5teF9EaWFsb2dfYm9yZGVyIHtcbiAgICB3aWR0aDogNjAlO1xuICAgIGhlaWdodDogNzAlO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG5cbi5teF9UZXJtc0RpYWxvZ190ZXJtc1RhYmxlSGVhZGVyIHtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xufVxuXG4ubXhfVGVybXNEaWFsb2dfdGVybXNUYWJsZSB7XG4gICAgZm9udC1zaXplOiAkZm9udC0xMnB4O1xuICAgIHdpZHRoOiAxMDAlO1xufVxuXG4ubXhfVGVybXNEaWFsb2dfc2VydmljZSxcbi5teF9UZXJtc0RpYWxvZ19zdW1tYXJ5IHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMHB4O1xufVxuIiwiLypcbiAqIENvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxuICogQ29weXJpZ2h0IDIwMjQgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cbiAqXG4gKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcbiAqIFBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXG4gKi9cblxuLm14X1VucGluQWxsRGlhbG9nIHtcbiAgICAvKiAzOTYgaXMgY29taW5nIGZyb20gZmlnbWEgYW5kIHdlIHJlbW92ZSB0aGUgbGVmdCBhbmQgcmlnaHQgcGFkZGluZ3Mgb2YgdGhlIGRpYWxvZyAqL1xuICAgIHdpZHRoOiBjYWxjKDM5NnB4IC0gKHZhcigtLWNwZC1zcGFjZS0xMHgpICogMikpO1xuICAgIHBhZGRpbmctYm90dG9tOiB2YXIoLS1jcGQtc3BhY2UtMngpO1xuXG4gICAgLm14X1VucGluQWxsRGlhbG9nX3RpdGxlIHtcbiAgICAgICAgLyogT3ZlcnJpZGUgdGhlIGRlZmF1bHQgaGVhZGluZyBzdHlsZSAqL1xuICAgICAgICBmb250OiB2YXIoLS1jcGQtZm9udC1oZWFkaW5nLXNtLXNlbWlib2xkKSAhaW1wb3J0YW50O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS1jcGQtc3BhY2UtM3gpO1xuICAgIH1cblxuICAgIC5teF9VbnBpbkFsbERpYWxvZ19idXR0b25zIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgZ2FwOiB2YXIoLS1jcGQtc3BhY2UtNHgpO1xuICAgICAgICBtYXJnaW46IHZhcigtLWNwZC1zcGFjZS04eCkgdmFyKC0tY3BkLXNwYWNlLTJ4KSAwIHZhcigtLWNwZC1zcGFjZS0yeCk7XG5cbiAgICAgICAgYnV0dG9uIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiLypcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxuQ29weXJpZ2h0IDIwMjEgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cblxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuKi9cblxuLm14X1VudHJ1c3RlZERldmljZURpYWxvZyB7XG4gICAgLm14X0RpYWxvZ190aXRsZSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgICAgICAgLm14X0UyRUljb24ge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubXhfRGlhbG9nX2J1dHRvbnMge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgICAgICBnYXA6IDhweDtcbiAgICB9XG59XG4iLCIvKlxuQ29weXJpZ2h0IDIwMTktMjAyNCBOZXcgVmVjdG9yIEx0ZC5cblxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuKi9cblxuLm14X1VwbG9hZENvbmZpcm1EaWFsb2dfZmlsZUljb24ge1xuICAgIG1hcmdpbi1yaWdodDogNXB4O1xufVxuXG4ubXhfVXBsb2FkQ29uZmlybURpYWxvZ19wcmV2aWV3T3V0ZXIge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLm14X1VwbG9hZENvbmZpcm1EaWFsb2dfcHJldmlld0lubmVyIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbn1cblxuLm14X1VwbG9hZENvbmZpcm1EaWFsb2dfaW1hZ2VQcmV2aWV3IHtcbiAgICBtYXgtaGVpZ2h0OiAzMDBweDtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICRkaWFsb2ctY2xvc2UtZmctY29sb3I7XG59XG4iLCIvKlxuQ29weXJpZ2h0IDIwMTktMjAyNCBOZXcgVmVjdG9yIEx0ZC5cblxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuKi9cblxuLm14X1NldHRpbmdzRGlhbG9nX3RvYXN0Q29udGFpbmVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiB2YXIoLS1jcGQtc3BhY2UtMTB4KTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuXG4ubXhfVXNlclNldHRpbmdzRGlhbG9nX3RpdGxlIHtcbiAgICAvKiBPdmVycmlkZSBkZWZhdWx0IGRpYWxvZyBmb250IHN0eWxlICovXG4gICAgZm9udDogdmFyKC0tY3BkLWZvbnQtaGVhZGluZy1tZC1yZWd1bGFyKSAhaW1wb3J0YW50O1xuXG4gICAgLm14X1VzZXJTZXR0aW5nc0RpYWxvZ190aXRsZV9zdHJvbmcge1xuICAgICAgICBmb250OiB2YXIoLS1jcGQtZm9udC1oZWFkaW5nLW1kLXNlbWlib2xkKTtcbiAgICB9XG59XG4iLCIvKlxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXG5Db3B5cmlnaHQgMjAyMiBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxuXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXG4qL1xuXG4ubXhfVmVyaWZ5RU1haWxEaWFsb2cge1xuICAgIGhlaWdodDogYXV0bztcbiAgICB0b3A6IDMwMHB4O1xuXG4gICAgLm14X0RpYWxvZyB7XG4gICAgICAgIGNvbG9yOiAkcHJpbWFyeS1jb250ZW50O1xuICAgICAgICBmb250OiB2YXIoLS1jcGQtZm9udC1ib2R5LW1kLXJlZ3VsYXIpO1xuICAgICAgICBwYWRkaW5nOiAkc3BhY2luZy0yNCAkc3BhY2luZy0yNCAkc3BhY2luZy0xNjtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB3aWR0aDogNDg1cHg7XG5cbiAgICAgICAgaDEge1xuICAgICAgICAgICAgZm9udC1zaXplOiAkZm9udC0yNHB4O1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLWNwZC1mb250LXdlaWdodC1zZW1pYm9sZCk7XG4gICAgICAgIH1cblxuICAgICAgICAubXhfVmVyaWZ5RU1haWxEaWFsb2dfdGV4dC1saWdodCB7XG4gICAgICAgICAgICBjb2xvcjogJHNlY29uZGFyeS1jb250ZW50O1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDIwcHg7XG4gICAgICAgIH1cblxuICAgICAgICAubXhfQXV0aEJvZHlfZGlkLW5vdC1yZWNlaXZlIHtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogJHNwYWNpbmctODtcbiAgICAgICAgfVxuXG4gICAgICAgIC5teF9EaWFsb2dfY2FuY2VsQnV0dG9uIHtcbiAgICAgICAgICAgIHJpZ2h0OiAxMHB4O1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiLypcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxuQ29weXJpZ2h0IDIwMjAgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cblxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuKi9cblxuLm14X1dpZGdldENhcGFiaWxpdGllc1Byb21wdERpYWxvZyB7XG4gICAgLnRleHQtbXV0ZWQge1xuICAgICAgICBmb250LXNpemU6ICRmb250LTEycHg7XG4gICAgfVxuXG4gICAgLm14X0RpYWxvZ19jb250ZW50IHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTZweDtcbiAgICB9XG5cbiAgICAubXhfV2lkZ2V0Q2FwYWJpbGl0aWVzUHJvbXB0RGlhbG9nX2NhcCB7XG4gICAgICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtMTVweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6ICRmb250LTE1cHg7XG5cbiAgICAgICAgLm14X1dpZGdldENhcGFiaWxpdGllc1Byb21wdERpYWxvZ19ieWxpbmUge1xuICAgICAgICAgICAgY29sb3I6ICRtdXRlZC1mZy1jb2xvcjtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAyNnB4O1xuICAgICAgICAgICAgZm9udC1zaXplOiAkZm9udC0xMnB4O1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6ICRmb250LTEycHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubXhfRGlhbG9nX2J1dHRvbnMge1xuICAgICAgICBtYXJnaW4tdG9wOiA0MHB4OyAvKiBkb3VibGUgbm9ybWFsICovXG4gICAgfVxuXG4gICAgLm14X1NldHRpbmdzRmxhZyB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiBjYWxjKCRmb250LTE0cHggKyA3cHggKyA3cHgpOyAvKiA3cHggdG9wICYgYm90dG9tIHBhZGRpbmcgKi9cbiAgICAgICAgY29sb3I6ICRtdXRlZC1mZy1jb2xvcjtcbiAgICAgICAgZm9udC1zaXplOiAkZm9udC0xMnB4O1xuXG4gICAgICAgIC5teF9Ub2dnbGVTd2l0Y2gge1xuICAgICAgICAgICAgLyogZG93bnNpemUgdGhlIHN3aXRjaCArIGJhbGwgKi9cbiAgICAgICAgICAgIHdpZHRoOiAkZm9udC0zMnB4O1xuICAgICAgICAgICAgaGVpZ2h0OiAkZm9udC0xNXB4O1xuXG4gICAgICAgICAgICAmLm14X1RvZ2dsZVN3aXRjaF9vbiA+IC5teF9Ub2dnbGVTd2l0Y2hfYmFsbCB7XG4gICAgICAgICAgICAgICAgbGVmdDogY2FsYygxMDAlIC0gJGZvbnQtMTVweCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5teF9Ub2dnbGVTd2l0Y2hfYmFsbCB7XG4gICAgICAgICAgICAgICAgd2lkdGg6ICRmb250LTE1cHg7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAkZm9udC0xNXB4O1xuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6ICRmb250LTE1cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIvKlxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXG5Db3B5cmlnaHQgMjAxOCwgMjAxOSAsIDIwMjEgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cblxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuKi9cblxuLm14X0FjY2Vzc1NlY3JldFN0b3JhZ2VEaWFsb2cge1xuICAgIC5teF9BY2Nlc3NTZWNyZXRTdG9yYWdlRGlhbG9nX3RpdGxlV2l0aEljb24ge1xuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIHdpZHRoOiAyNHB4O1xuICAgICAgICAgICAgaGVpZ2h0OiAyNHB4O1xuICAgICAgICAgICAgbWFyZ2luLWlubGluZS1lbmQ6ICRzcGFjaW5nLTg7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICB0b3A6IDVweDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRwcmltYXJ5LWNvbnRlbnQ7XG4gICAgICAgIH1cblxuICAgICAgICAmLm14X0FjY2Vzc1NlY3JldFN0b3JhZ2VEaWFsb2dfcmVzZXRCYWRnZTo6YmVmb3JlIHtcbiAgICAgICAgICAgIC8qIFRoZSBpbWFnZSBpc24ndCBjYXBhYmxlIG9mIG1hc2tpbmcsIHNvIHdlIHVzZSBhIGJhY2tncm91bmQgaW5zdGVhZC4gKi9cbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIkB2ZWN0b3ItaW0vY29tcG91bmQtZGVzaWduLXRva2Vucy9pY29ucy9lcnJvci5zdmdcIik7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDI0cHg7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgfVxuXG4gICAgICAgICYubXhfQWNjZXNzU2VjcmV0U3RvcmFnZURpYWxvZ19zZWN1cmVCYWNrdXBUaXRsZTo6YmVmb3JlIHtcbiAgICAgICAgICAgIG1hc2staW1hZ2U6IHVybChcIiQocmVzKS9pbWcvZmVhdGhlci1jdXN0b21pc2VkL3NlY3VyZS1iYWNrdXAuc3ZnXCIpO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5teF9BY2Nlc3NTZWNyZXRTdG9yYWdlRGlhbG9nX3NlY3VyZVBocmFzZVRpdGxlOjpiZWZvcmUge1xuICAgICAgICAgICAgbWFzay1pbWFnZTogdXJsKFwiJChyZXMpL2ltZy9mZWF0aGVyLWN1c3RvbWlzZWQvc2VjdXJlLXBocmFzZS5zdmdcIik7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubXhfQWNjZXNzU2VjcmV0U3RvcmFnZURpYWxvZ19wcmltYXJ5Q29udGFpbmVyIHtcbiAgICAgICAgLm14X0FjY2Vzc1NlY3JldFN0b3JhZ2VEaWFsb2dfcGFzc1BocmFzZUlucHV0IHtcbiAgICAgICAgICAgIHdpZHRoOiAzMDBweDtcbiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRhY2NlbnQ7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1cHg7XG4gICAgICAgIH1cblxuICAgICAgICAubXhfQWNjZXNzU2VjcmV0U3RvcmFnZURpYWxvZ19rZXlTdGF0dXMge1xuICAgICAgICAgICAgaGVpZ2h0OiAzMHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLm14X0FjY2Vzc1NlY3JldFN0b3JhZ2VEaWFsb2dfcmVjb3ZlcnlLZXlFbnRyeSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgICAgICAgICAgLm14X0FjY2Vzc1NlY3JldFN0b3JhZ2VEaWFsb2dfcmVjb3ZlcnlLZXlFbnRyeV90ZXh0SW5wdXQge1xuICAgICAgICAgICAgICAgIGZsZXgtZ3JvdzogMTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLm14X0FjY2Vzc1NlY3JldFN0b3JhZ2VEaWFsb2dfcmVjb3ZlcnlLZXlFbnRyeV9lbnRyeUNvbnRyb2xTZXBhcmF0b3JUZXh0IHtcbiAgICAgICAgICAgICAgICBtYXJnaW46ICRzcGFjaW5nLTE2O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAubXhfQWNjZXNzU2VjcmV0U3RvcmFnZURpYWxvZ19yZWNvdmVyeUtleUVudHJ5X2ZpbGVJbnB1dCB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5teF9BY2Nlc3NTZWNyZXRTdG9yYWdlRGlhbG9nX3JlY292ZXJ5S2V5RmVlZGJhY2sge1xuICAgICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogYm90dG9tO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgICAgICAgICAgIGhlaWdodDogMjBweDtcbiAgICAgICAgICAgICAgICBtYXNrLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgICAgICAgIG1hc2stcG9zaXRpb246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBtYXNrLXNpemU6IDIwcHg7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWlubGluZS1lbmQ6IDVweDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi5teF9BY2Nlc3NTZWNyZXRTdG9yYWdlRGlhbG9nX3JlY292ZXJ5S2V5RmVlZGJhY2stLXZhbGlkIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJGFjY2VudDtcblxuICAgICAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgIG1hc2staW1hZ2U6IHVybChcIkB2ZWN0b3ItaW0vY29tcG91bmQtZGVzaWduLXRva2Vucy9pY29ucy9jaGVjay5zdmdcIik7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRhY2NlbnQ7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLm14X0FjY2Vzc1NlY3JldFN0b3JhZ2VEaWFsb2dfcmVjb3ZlcnlLZXlGZWVkYmFjay0taW52YWxpZCB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRhbGVydDtcblxuICAgICAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgIG1hc2staW1hZ2U6IHVybChcIkB2ZWN0b3ItaW0vY29tcG91bmQtZGVzaWduLXRva2Vucy9pY29ucy9jbG9zZS5zdmdcIik7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRhbGVydDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAubXhfRGlhbG9nX2J1dHRvbnMge1xuICAgICAgICAgICAgJHNwYWNpbmdTdGFydDogJHNwYWNpbmctMjQ7IC8qIDE2cHggaWNvbiArIDhweCBwYWRkaW5nICovXG5cbiAgICAgICAgICAgIHRleHQtYWxpZ246IGluaXRpYWw7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleC1mbG93OiBjb2x1bW47XG4gICAgICAgICAgICBnYXA6IDE0cHg7XG5cbiAgICAgICAgICAgIC5teF9EaWFsb2dfYnV0dG9uc19hZGRpdGl2ZSB7XG4gICAgICAgICAgICAgICAgZmxvYXQ6IG5vbmU7XG5cbiAgICAgICAgICAgICAgICAubXhfQWNjZXNzU2VjcmV0U3RvcmFnZURpYWxvZ19yZXNldCB7XG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1pbmxpbmUtc3RhcnQ6ICRzcGFjaW5nU3RhcnQ7XG4gICAgICAgICAgICAgICAgICAgIC8qIFRvIGF2b2lkIGJvbGQgc3R5bGluZyBpbmhlcmVudCB3aXRoIDxzdHJvbmc+IGVsZW1lbnRzICovXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBpbmhlcml0O1xuXG4gICAgICAgICAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxNnB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDE2cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgdG9wOiAycHg7IC8qIGFsaWdubWVudCAqL1xuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiQHZlY3Rvci1pbS9jb21wb3VuZC1kZXNpZ24tdG9rZW5zL2ljb25zL2Vycm9yLnN2Z1wiKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIC5teF9BY2Nlc3NTZWNyZXRTdG9yYWdlRGlhbG9nX3Jlc2V0X2xpbmsge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRhbGVydDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLm14X0RpYWxvZ19idXR0b25zX3JvdyB7XG4gICAgICAgICAgICAgICAgZ2FwOiAkc3BhY2luZy0xNjsgLyogVE9ETzogbmVlZHMgbm9ybWFsaXphdGlvbiAqL1xuICAgICAgICAgICAgICAgIHBhZGRpbmctaW5saW5lLXN0YXJ0OiAkc3BhY2luZ1N0YXJ0O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuIiwiLypcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxuQ29weXJpZ2h0IDIwMjAgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cblxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuKi9cblxuLm14X0NyZWF0ZUNyb3NzU2lnbmluZ0RpYWxvZyB7XG4gICAgLyogV2h5IHlvdSBhc2s/IEJlY2F1c2UgQ29tcGxldGVTZWN1cml0eUJvZHkgaXMgNjAwcHggc28gdGhpcyBpcyB0aGUgd2lkdGggKi9cbiAgICAvKiB3ZSBlbmQgdXAgd2hlbiBpbiB0aGVyZSwgYnV0IHdoZW4gaW4gb3VyIG93biBkaWFsb2cgd2Ugc2V0IG91ciBvd24gd2lkdGggKi9cbiAgICAvKiBzbyBuZWVkIHRvIGZpeCBpdCB0byBzb21ldGhpbmcgc2Vuc2libGUgYXMgb3RoZXJ3aXNlIHdlJ2QgZW5kIHVwIGVpdGhlciAqL1xuICAgIC8qIHJlYWxseSB3aWRlIG9yIHJlYWxseSBuYXJyb3cgZGVwZW5kaW5nIG9uIHRoZSBwaGFzZS4gSSBiZXQgeW91IHdpc2ggeW91ICovXG4gICAgLyogbmV2ZXIgYXNrZWQuICovXG4gICAgd2lkdGg6IDU2MHB4O1xuXG4gICAgZGV0YWlscyAubXhfQWNjZXNzaWJsZUJ1dHRvbiB7XG4gICAgICAgIG1hcmdpbjogMWVtIDA7IC8qIGVtdWxhdGUgcGFyYWdyYXBoIHNwYWNpbmcgYmVjYXVzZSB3ZSBjYW4ndCBwdXQgdGhpcyBidXR0b24gaW4gYSBwYXJhZ3JhcGggZHVlIHRvIEhUTUwgcnVsZXMgKi9cbiAgICB9XG59XG5cbi5teF9DcmVhdGVDcm9zc1NpZ25pbmdEaWFsb2cgLm14X0RpYWxvZ190aXRsZSB7XG4gICAgLyogVE9ETzogQ29uc2lkZXIgc2V0dGluZyB0aGlzIGZvciBhbGwgZGlhbG9nIHRpdGxlcy4gKi9cbiAgICBtYXJnaW4tYm90dG9tOiAxZW07XG59XG4iLCIvKlxuQ29weXJpZ2h0IDIwMTgtMjAyNCBOZXcgVmVjdG9yIEx0ZC5cblxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuKi9cblxuLm14X0NyZWF0ZUtleUJhY2t1cERpYWxvZyAubXhfRGlhbG9nX3RpdGxlIHtcbiAgICAvKiBUT0RPOiBDb25zaWRlciBzZXR0aW5nIHRoaXMgZm9yIGFsbCBkaWFsb2cgdGl0bGVzLiAqL1xuICAgIG1hcmdpbi1ib3R0b206IDFlbTtcbn1cblxuLm14X0NyZWF0ZUtleUJhY2t1cERpYWxvZ19wcmltYXJ5Q29udGFpbmVyIHtcbiAgICAvKiBGSVhNRTogcGxpbnRoIGNvbG91ciBpbiBuZXcgdGhlbWUocykuIGJhY2tncm91bmQtY29sb3I6ICRhY2NlbnQ7ICovXG4gICAgcGFkZGluZzogMjBweDtcbn1cblxuLm14X0NyZWF0ZUtleUJhY2t1cERpYWxvZ19wcmltYXJ5Q29udGFpbmVyOjphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBjbGVhcjogYm90aDtcbiAgICBkaXNwbGF5OiBibG9jaztcbn1cblxuLm14X0NyZWF0ZUtleUJhY2t1cERpYWxvZ19wYXNzUGhyYXNlQ29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xufVxuXG4ubXhfQ3JlYXRlS2V5QmFja3VwRGlhbG9nX3Bhc3NQaHJhc2VJbnB1dCB7XG4gICAgZmxleDogbm9uZTtcbiAgICB3aWR0aDogMjUwcHg7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJGFjY2VudDtcbiAgICBib3JkZXItcmFkaXVzOiA1cHg7XG4gICAgcGFkZGluZzogMTBweDtcbiAgICBtYXJnaW4tYm90dG9tOiAxZW07XG59XG5cbi5teF9DcmVhdGVLZXlCYWNrdXBEaWFsb2dfcGFzc1BocmFzZU1hdGNoIHtcbiAgICBtYXJnaW4tbGVmdDogMjBweDtcbn1cblxuLm14X0NyZWF0ZUtleUJhY2t1cERpYWxvZ19yZWNvdmVyeUtleUhlYWRlciB7XG4gICAgbWFyZ2luLWJvdHRvbTogMWVtO1xufVxuXG4ubXhfQ3JlYXRlS2V5QmFja3VwRGlhbG9nX3JlY292ZXJ5S2V5Q29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xufVxuXG4ubXhfQ3JlYXRlS2V5QmFja3VwRGlhbG9nX3JlY292ZXJ5S2V5IHtcbiAgICB3aWR0aDogMjYycHg7XG4gICAgcGFkZGluZzogMjBweDtcbiAgICBjb2xvcjogJGluZm8tcGxpbnRoLWZnLWNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRpbmZvLXBsaW50aC1iZy1jb2xvcjtcbiAgICBtYXJnaW4tcmlnaHQ6IDEycHg7XG59XG5cbi5teF9DcmVhdGVLZXlCYWNrdXBEaWFsb2dfcmVjb3ZlcnlLZXlCdXR0b25zIHtcbiAgICBmbGV4OiAxO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cblxuLm14X0NyZWF0ZUtleUJhY2t1cERpYWxvZ19yZWNvdmVyeUtleUJ1dHRvbnMgYnV0dG9uIHtcbiAgICBmbGV4OiAxO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi5teF9DcmVhdGVLZXlCYWNrdXBEaWFsb2cge1xuICAgIGRldGFpbHMgLm14X0FjY2Vzc2libGVCdXR0b24ge1xuICAgICAgICBtYXJnaW46IDFlbSAwOyAvKiBlbXVsYXRlIHBhcmFncmFwaCBzcGFjaW5nIGJlY2F1c2Ugd2UgY2FuJ3QgcHV0IHRoaXMgYnV0dG9uIGluIGEgcGFyYWdyYXBoIGR1ZSB0byBIVE1MIHJ1bGVzICovXG4gICAgfVxufVxuIiwiLypcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxuQ29weXJpZ2h0IDIwMTksIDIwMjAgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cbkNvcHlyaWdodCAyMDE4IE5ldyBWZWN0b3IgTHRkXG5cblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cbiovXG5cbi5teF9DcmVhdGVTZWNyZXRTdG9yYWdlRGlhbG9nIHtcbiAgICAvKiBXaHkgeW91IGFzaz8gQmVjYXVzZSBDb21wbGV0ZVNlY3VyaXR5Qm9keSBpcyA2MDBweCBzbyB0aGlzIGlzIHRoZSB3aWR0aCAqL1xuICAgIC8qIHdlIGVuZCB1cCB3aGVuIGluIHRoZXJlLCBidXQgd2hlbiBpbiBvdXIgb3duIGRpYWxvZyB3ZSBzZXQgb3VyIG93biB3aWR0aCAqL1xuICAgIC8qIHNvIG5lZWQgdG8gZml4IGl0IHRvIHNvbWV0aGluZyBzZW5zaWJsZSBhcyBvdGhlcndpc2Ugd2UnZCBlbmQgdXAgZWl0aGVyICovXG4gICAgLyogcmVhbGx5IHdpZGUgb3IgcmVhbGx5IG5hcnJvdyBkZXBlbmRpbmcgb24gdGhlIHBoYXNlLiBJIGJldCB5b3Ugd2lzaCB5b3UgKi9cbiAgICAvKiBuZXZlciBhc2tlZC4gKi9cbiAgICB3aWR0aDogNTYwcHg7XG5cbiAgICAmLm14X1N1Y2Nlc3NEaWFsb2cge1xuICAgICAgICBwYWRkaW5nOiA1NnB4OyAvKiA4MHB4IGZyb20gZGVzaWduIC0gMjRweCB3cmFwcGVyIHBhZGRpbmcgKi9cblxuICAgICAgICAubXhfRGlhbG9nX3RpdGxlIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206ICRzcGFjaW5nLTE2O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm14X1NldHRpbmdzRmxhZyB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgfVxuXG4gICAgLm14X1NldHRpbmdzRmxhZ19sYWJlbCB7XG4gICAgICAgIGZsZXg6IDEgMSAwO1xuICAgICAgICBtaW4td2lkdGg6IDA7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1jcGQtZm9udC13ZWlnaHQtc2VtaWJvbGQpO1xuICAgIH1cblxuICAgIC5teF9Ub2dnbGVTd2l0Y2gge1xuICAgICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDMwcHg7XG4gICAgfVxuXG4gICAgZGV0YWlscyAubXhfQWNjZXNzaWJsZUJ1dHRvbiB7XG4gICAgICAgIG1hcmdpbjogMWVtIDA7IC8qIGVtdWxhdGUgcGFyYWdyYXBoIHNwYWNpbmcgYmVjYXVzZSB3ZSBjYW4ndCBwdXQgdGhpcyBidXR0b24gaW4gYSBwYXJhZ3JhcGggZHVlIHRvIEhUTUwgcnVsZXMgKi9cbiAgICB9XG59XG5cbi5teF9DcmVhdGVTZWNyZXRTdG9yYWdlRGlhbG9nIC5teF9EaWFsb2dfdGl0bGUge1xuICAgIC8qIFRPRE86IENvbnNpZGVyIHNldHRpbmcgdGhpcyBmb3IgYWxsIGRpYWxvZyB0aXRsZXMuICovXG4gICAgbWFyZ2luLWJvdHRvbTogMWVtO1xufVxuXG4ubXhfQ3JlYXRlU2VjcmV0U3RvcmFnZURpYWxvZ190aXRsZVdpdGhJY29uOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHdpZHRoOiAyNHB4O1xuICAgIGhlaWdodDogMjRweDtcbiAgICBtYXJnaW4tcmlnaHQ6IDhweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiA1cHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHByaW1hcnktY29udGVudDtcbn1cblxuLm14X0NyZWF0ZVNlY3JldFN0b3JhZ2VEaWFsb2dfc2VjdXJlQmFja3VwVGl0bGU6OmJlZm9yZSB7XG4gICAgbWFzay1pbWFnZTogdXJsKFwiJChyZXMpL2ltZy9mZWF0aGVyLWN1c3RvbWlzZWQvc2VjdXJlLWJhY2t1cC5zdmdcIik7XG59XG5cbi5teF9DcmVhdGVTZWNyZXRTdG9yYWdlRGlhbG9nX3NlY3VyZVBocmFzZVRpdGxlOjpiZWZvcmUge1xuICAgIG1hc2staW1hZ2U6IHVybChcIiQocmVzKS9pbWcvZmVhdGhlci1jdXN0b21pc2VkL3NlY3VyZS1waHJhc2Uuc3ZnXCIpO1xufVxuXG4ubXhfQ3JlYXRlU2VjcmV0U3RvcmFnZURpYWxvZ19jZW50ZXJlZFRpdGxlLFxuLm14X0NyZWF0ZVNlY3JldFN0b3JhZ2VEaWFsb2dfY2VudGVyZWRCb2R5IHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5teF9DcmVhdGVTZWNyZXRTdG9yYWdlRGlhbG9nX3ByaW1hcnlDb250YWluZXIge1xuICAgIC8qIEZJWE1FOiBwbGludGggY29sb3VyIGluIG5ldyB0aGVtZShzKS4gYmFja2dyb3VuZC1jb2xvcjogJGFjY2VudDsgKi9cbiAgICBwYWRkaW5nLXRvcDogMjBweDtcblxuICAgICYubXhfQ3JlYXRlU2VjcmV0U3RvcmFnZURpYWxvZ19yZWNvdmVyeUtleVByaW1hcnljb250YWluZXIge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICB9XG59XG5cbi5teF9DcmVhdGVTZWNyZXRTdG9yYWdlRGlhbG9nX3ByaW1hcnlDb250YWluZXI6OmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGNsZWFyOiBib3RoO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4ubXhfQ3JlYXRlU2VjcmV0U3RvcmFnZURpYWxvZ19wcmltYXJ5Q29udGFpbmVyIC5teF9TdHlsZWRSYWRpb0J1dHRvbiB7XG4gICAgbWFyZ2luLWJvdHRvbTogMTZweDtcbiAgICBwYWRkaW5nOiAxMXB4O1xufVxuXG4ubXhfQ3JlYXRlU2VjcmV0U3RvcmFnZURpYWxvZ19vcHRpb25UaXRsZSB7XG4gICAgY29sb3I6ICRkaWFsb2ctdGl0bGUtZmctY29sb3I7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWNwZC1mb250LXdlaWdodC1zZW1pYm9sZCk7XG4gICAgZm9udC1zaXplOiAkZm9udC0xOHB4O1xuICAgIHBhZGRpbmctYm90dG9tOiAxMHB4O1xufVxuXG4ubXhfQ3JlYXRlU2VjcmV0U3RvcmFnZURpYWxvZ19vcHRpb25JY29uIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgd2lkdGg6IDI0cHg7XG4gICAgaGVpZ2h0OiAyNHB4O1xuICAgIG1hcmdpbi1yaWdodDogOHB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IDVweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJpbWFyeS1jb250ZW50O1xufVxuXG4ubXhfQ3JlYXRlU2VjcmV0U3RvcmFnZURpYWxvZ19vcHRpb25JY29uX3NlY3VyZVBocmFzZSB7XG4gICAgbWFzay1pbWFnZTogdXJsKFwiJChyZXMpL2ltZy9mZWF0aGVyLWN1c3RvbWlzZWQvc2VjdXJlLXBocmFzZS5zdmdcIik7XG59XG5cbi5teF9DcmVhdGVTZWNyZXRTdG9yYWdlRGlhbG9nX29wdGlvbkljb25fc2VjdXJlQmFja3VwIHtcbiAgICBtYXNrLWltYWdlOiB1cmwoXCIkKHJlcykvaW1nL2ZlYXRoZXItY3VzdG9taXNlZC9zZWN1cmUtYmFja3VwLnN2Z1wiKTtcbn1cblxuLm14X0NyZWF0ZVNlY3JldFN0b3JhZ2VEaWFsb2dfcGFzc1BocmFzZUNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbn1cblxuLm14X0ZpZWxkLm14X0NyZWF0ZVNlY3JldFN0b3JhZ2VEaWFsb2dfcGFzc1BocmFzZUZpZWxkIHtcbiAgICBtYXJnaW4tdG9wOiAwcHg7XG59XG5cbi5teF9DcmVhdGVTZWNyZXRTdG9yYWdlRGlhbG9nX3Bhc3NQaHJhc2VNYXRjaCB7XG4gICAgd2lkdGg6IDIwMHB4O1xuICAgIG1hcmdpbi1sZWZ0OiAyMHB4O1xufVxuXG4ubXhfQ3JlYXRlU2VjcmV0U3RvcmFnZURpYWxvZ19yZWNvdmVyeUtleUNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuXG4ubXhfQ3JlYXRlU2VjcmV0U3RvcmFnZURpYWxvZ19yZWNvdmVyeUtleSB7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHBhZGRpbmc6IDIwcHg7XG4gICAgY29sb3I6ICRpbmZvLXBsaW50aC1mZy1jb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5mby1wbGludGgtYmctY29sb3I7XG4gICAgYm9yZGVyLXJhZGl1czogNnB4O1xuICAgIHdvcmQtc3BhY2luZzogMWVtO1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG5cbiAgICBjb2RlIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB3aWR0aDogMzByZW07XG4gICAgfVxufVxuXG4ubXhfQ3JlYXRlU2VjcmV0U3RvcmFnZURpYWxvZ19yZWNvdmVyeUtleUJ1dHRvbnMge1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBnYXA6IDE2cHg7XG59XG5cbi5teF9DcmVhdGVTZWNyZXRTdG9yYWdlRGlhbG9nX3JlY292ZXJ5S2V5QnV0dG9uc19jb3B5QnRuIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xufVxuXG4ubXhfQ3JlYXRlU2VjcmV0U3RvcmFnZURpYWxvZ19yZWNvdmVyeUtleUJ1dHRvbnMgLm14X0FjY2Vzc2libGVCdXR0b24ge1xuICAgIGZsZXgtZ3JvdzogMTtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4ubXhfQ3JlYXRlU2VjcmV0U3RvcmFnZURpYWxvZ19jb250aW51ZVNwaW5uZXIge1xuICAgIG1hcmdpbi10b3A6IDMzcHg7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG59XG5cbi5teF9DcmVhdGVTZWNyZXRTdG9yYWdlRGlhbG9nX2NvbnRpbnVlU3Bpbm5lciBpbWcge1xuICAgIHdpZHRoOiAyMHB4O1xuICAgIGhlaWdodDogMjBweDtcbn1cbiIsIi8qXG5Db3B5cmlnaHQgMjAxOC0yMDI0IE5ldyBWZWN0b3IgTHRkLlxuXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXG4qL1xuXG4ubXhfS2V5QmFja3VwRmFpbGVkRGlhbG9nIC5teF9EaWFsb2dfdGl0bGUge1xuICAgIG1hcmdpbi1ib3R0b206IDMycHg7XG59XG5cbi5teF9LZXlCYWNrdXBGYWlsZWREaWFsb2dfdGl0bGUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nLWxlZnQ6IDQ1cHg7XG4gICAgcGFkZGluZy1ib3R0b206IDEwcHg7XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgICBtYXNrOiB1cmwoXCIkKHJlcykvaW1nL2UyZS9sb2NrLXdhcm5pbmctZmlsbGVkLnN2Z1wiKTtcbiAgICAgICAgbWFzay1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHByaW1hcnktY29udGVudDtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IC02cHg7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgfVxufVxuXG4ubXhfS2V5QmFja3VwRmFpbGVkRGlhbG9nIC5teF9EaWFsb2dfYnV0dG9ucyB7XG4gICAgbWFyZ2luLXRvcDogMzZweDtcbn1cbiIsIi8qXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cbkNvcHlyaWdodCAyMDE5IFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXG5Db3B5cmlnaHQgMjAxOCBOZXcgVmVjdG9yIEx0ZFxuXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXG4qL1xuXG4ubXhfUmVzdG9yZUtleUJhY2t1cERpYWxvZ19rZXlTdGF0dXMge1xuICAgIGhlaWdodDogMzBweDtcbn1cblxuLm14X1Jlc3RvcmVLZXlCYWNrdXBEaWFsb2dfcHJpbWFyeUNvbnRhaW5lciB7XG4gICAgLyogRklYTUU6IHBsaW50aCBjb2xvdXIgaW4gbmV3IHRoZW1lKHMpLiBiYWNrZ3JvdW5kLWNvbG9yOiAkYWNjZW50OyAqL1xuICAgIHBhZGRpbmc6IDIwcHg7XG59XG5cbi5teF9SZXN0b3JlS2V5QmFja3VwRGlhbG9nX3Bhc3NQaHJhc2VJbnB1dCxcbi5teF9SZXN0b3JlS2V5QmFja3VwRGlhbG9nX3JlY292ZXJ5S2V5SW5wdXQge1xuICAgIHdpZHRoOiAzMDBweDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkYWNjZW50O1xuICAgIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgICBwYWRkaW5nOiAxMHB4O1xufVxuXG4ubXhfUmVzdG9yZUtleUJhY2t1cERpYWxvZ19jb250ZW50ID4gZGl2IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIG1pbi1oZWlnaHQ6IDExMHB4OyAvKiBFbXBpcmljYWxseSBtZWFzdXJlZCAqL1xufVxuIiwiLypcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxuQ29weXJpZ2h0IDIwMjIgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cblxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuKi9cblxuLm14X05ldHdvcmtEcm9wZG93bl93cmFwcGVyIC5teF9Db250ZXh0dWFsTWVudSB7XG4gICAgLm14X0dlbmVyaWNEcm9wZG93bk1lbnVfT3B0aW9uIHtcbiAgICAgICAgJi5teF9HZW5lcmljRHJvcGRvd25NZW51X09wdGlvbi0taGVhZGVyIHtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAkc3BhY2luZy0xMjtcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAkc3BhY2luZy00O1xuICAgICAgICAgICAgbWluLXdpZHRoOiAxNjBweDtcbiAgICAgICAgfVxuXG4gICAgICAgICYubXhfR2VuZXJpY0Ryb3Bkb3duTWVudV9PcHRpb24tLWl0ZW0ge1xuICAgICAgICAgICAgcGFkZGluZy10b3A6ICRzcGFjaW5nLTQ7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogJHNwYWNpbmctNDtcblxuICAgICAgICAgICAgPiAubXhfR2VuZXJpY0Ryb3Bkb3duTWVudV9PcHRpb24tLWxhYmVsIHNwYW46Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICA+IC5teF9HZW5lcmljRHJvcGRvd25NZW51X09wdGlvbi0tbGFiZWwge1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBiYXNlbGluZTtcbiAgICAgICAgICAgIGFsaWduLWNvbnRlbnQ6IGJhc2VsaW5lO1xuICAgICAgICAgICAgY29sb3I6ICRwcmltYXJ5LWNvbnRlbnQ7XG5cbiAgICAgICAgICAgIHNwYW46bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAkc3BhY2luZy00O1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkc2Vjb25kYXJ5LWNvbnRlbnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubXhfR2VuZXJpY0Ryb3Bkb3duTWVudV9kaXZpZGVyIHtcbiAgICAgICAgbWFyZ2luLXRvcDogJHNwYWNpbmctNDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogJHNwYWNpbmctNDtcbiAgICB9XG59XG5cbi5teF9OZXR3b3JrRHJvcGRvd25fYWRkU2VydmVyIHtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIGZvbnQtc2l6ZTogJGZvbnQtMTVweDtcbn1cblxuLm14X05ldHdvcmtEcm9wZG93bl9yZW1vdmVTZXJ2ZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgd2lkdGg6IDE2cHg7XG4gICAgaGVpZ2h0OiAxNnB4O1xuICAgIGJhY2tncm91bmQ6ICRxdWluYXJ5LWNvbnRlbnQ7XG4gICAgYm9yZGVyLXJhZGl1czogOHB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBsaW5lLWhlaWdodDogMTZweDtcbiAgICBjb2xvcjogJHNlY29uZGFyeS1jb250ZW50O1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHNlY29uZGFyeS1jb250ZW50O1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBtYXNrLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICBtYXNrLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICAgIG1hc2stc2l6ZTogMTRweDtcbiAgICAgICAgd2lkdGg6IGluaGVyaXQ7XG4gICAgICAgIGhlaWdodDogaW5oZXJpdDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgICAgICAgbWFzay1pbWFnZTogdXJsKFwiQHZlY3Rvci1pbS9jb21wb3VuZC1kZXNpZ24tdG9rZW5zL2ljb25zL2Nsb3NlLnN2Z1wiKTtcbiAgICB9XG59XG5cbi5teF9OZXR3b3JrRHJvcGRvd25fZGlhbG9nIC5teF9EaWFsb2cge1xuICAgIHdpZHRoOiA0NXZ3O1xufVxuIiwiLypcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxuQ29weXJpZ2h0IDIwMTcgVmVjdG9yIENyZWF0aW9ucyBMdGRcblxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuKi9cblxuLm14X0FjY2Vzc2libGVCdXR0b24ge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgICYubXhfQWNjZXNzaWJsZUJ1dHRvbl9kaXNhYmxlZCB7XG4gICAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG5cbiAgICAgICAgJi5teF9BY2Nlc3NpYmxlQnV0dG9uX2tpbmRfaWNvbl9wcmltYXJ5LFxuICAgICAgICAmLm14X0FjY2Vzc2libGVCdXR0b25fa2luZF9pY29uX3ByaW1hcnlfb3V0bGluZSxcbiAgICAgICAgJi5teF9BY2Nlc3NpYmxlQnV0dG9uX2tpbmRfcHJpbWFyeSxcbiAgICAgICAgJi5teF9BY2Nlc3NpYmxlQnV0dG9uX2tpbmRfcHJpbWFyeV9vdXRsaW5lLFxuICAgICAgICAmLm14X0FjY2Vzc2libGVCdXR0b25fa2luZF9wcmltYXJ5X3NtLFxuICAgICAgICAmLm14X0FjY2Vzc2libGVCdXR0b25fa2luZF9saW5rLFxuICAgICAgICAmLm14X0FjY2Vzc2libGVCdXR0b25fa2luZF9saW5rX2FjY2VudCxcbiAgICAgICAgJi5teF9BY2Nlc3NpYmxlQnV0dG9uX2tpbmRfbGlua19pbmxpbmUsXG4gICAgICAgICYubXhfQWNjZXNzaWJsZUJ1dHRvbl9raW5kX2Rhbmdlcl9pbmxpbmUsXG4gICAgICAgICYubXhfQWNjZXNzaWJsZUJ1dHRvbl9raW5kX2NvbnRlbnRfaW5saW5lLFxuICAgICAgICAmLm14X0FjY2Vzc2libGVCdXR0b25fa2luZF9saW5rX3NtIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDAuNDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYubXhfQWNjZXNzaWJsZUJ1dHRvbl9oYXNLaW5kIHtcbiAgICAgICAgcGFkZGluZzogN3B4IDE4cHg7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMjRweDtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBmb250OiB2YXIoLS1jcGQtZm9udC1ib2R5LW1kLXNlbWlib2xkKTtcbiAgICAgICAgYm9yZGVyOiBub25lOyAvKiBvdmVycmlkZSBkZWZhdWx0IDxidXR0b24gLz4gc3R5bGVzICovXG4gICAgICAgIHdvcmQtYnJlYWs6IGtlZXAtYWxsOyAvKiBwcmV2ZW50IGJ1dHRvbiB0ZXh0IGluIENoaW5lc2UvSmFwYW5lc2UvS29yZWFuIChDSkspIGZyb20gYmVpbmcgY29sbGFwc2VkICovXG5cbiAgICAgICAgJi5teF9BY2Nlc3NpYmxlQnV0dG9uX2tpbmRfcHJpbWFyeV9zbSxcbiAgICAgICAgJi5teF9BY2Nlc3NpYmxlQnV0dG9uX2tpbmRfZGFuZ2VyX3NtLFxuICAgICAgICAmLm14X0FjY2Vzc2libGVCdXR0b25fa2luZF9saW5rX3NtIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDVweCAxMnB4O1xuICAgICAgICB9XG5cbiAgICAgICAgJi5teF9BY2Nlc3NpYmxlQnV0dG9uX2tpbmRfcHJpbWFyeV9zbSB7XG4gICAgICAgICAgICBjb2xvcjogdmFyKC0tY3BkLWNvbG9yLXRleHQtb24tc29saWQtcHJpbWFyeSk7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jcGQtY29sb3ItYmctYWN0aW9uLXByaW1hcnktcmVzdCk7XG4gICAgICAgIH1cblxuICAgICAgICAmLm14X0FjY2Vzc2libGVCdXR0b25fa2luZF9kYW5nZXJfc20ge1xuICAgICAgICAgICAgY29sb3I6IHZhcigtLWNwZC1jb2xvci10ZXh0LW9uLXNvbGlkLXByaW1hcnkpO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY3BkLWNvbG9yLWJnLWNyaXRpY2FsLXByaW1hcnkpO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5teF9BY2Nlc3NpYmxlQnV0dG9uX2tpbmRfbGlua19zbSB7XG4gICAgICAgICAgICBjb2xvcjogdmFyKC0tY3BkLWNvbG9yLXRleHQtcHJpbWFyeSk7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1jcGQtZm9udC13ZWlnaHQtc2VtaWJvbGQpO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5teF9BY2Nlc3NpYmxlQnV0dG9uX2tpbmRfY29uZmlybV9zbSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jcGQtY29sb3ItYmctYWN0aW9uLXByaW1hcnktcmVzdCk7XG5cbiAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgbWFzay1pbWFnZTogdXJsKFwiQHZlY3Rvci1pbS9jb21wb3VuZC1kZXNpZ24tdG9rZW5zL2ljb25zL2NoZWNrLnN2Z1wiKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYubXhfQWNjZXNzaWJsZUJ1dHRvbl9raW5kX2NhbmNlbF9zbSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jcGQtY29sb3ItYmctY3JpdGljYWwtcHJpbWFyeSk7XG5cbiAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgbWFzay1pbWFnZTogdXJsKFwiQHZlY3Rvci1pbS9jb21wb3VuZC1kZXNpZ24tdG9rZW5zL2ljb25zL2Nsb3NlLnN2Z1wiKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYubXhfQWNjZXNzaWJsZUJ1dHRvbl9raW5kX2ljb24sXG4gICAgICAgICYubXhfQWNjZXNzaWJsZUJ1dHRvbl9raW5kX2ljb25fcHJpbWFyeSxcbiAgICAgICAgJi5teF9BY2Nlc3NpYmxlQnV0dG9uX2tpbmRfaWNvbl9wcmltYXJ5X291dGxpbmUge1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgIGhlaWdodDogMzJweDtcbiAgICAgICAgICAgIHdpZHRoOiAzMnB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi5teF9BY2Nlc3NpYmxlQnV0dG9uX2tpbmRfaWNvbl9wcmltYXJ5LFxuICAgICYubXhfQWNjZXNzaWJsZUJ1dHRvbl9raW5kX2ljb25fcHJpbWFyeV9vdXRsaW5lLFxuICAgICYubXhfQWNjZXNzaWJsZUJ1dHRvbl9raW5kX3ByaW1hcnksXG4gICAgJi5teF9BY2Nlc3NpYmxlQnV0dG9uX2tpbmRfcHJpbWFyeV9vdXRsaW5lLFxuICAgICYubXhfQWNjZXNzaWJsZUJ1dHRvbl9raW5kX3NlY29uZGFyeSB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1jcGQtZm9udC13ZWlnaHQtc2VtaWJvbGQpO1xuICAgIH1cblxuICAgICYubXhfQWNjZXNzaWJsZUJ1dHRvbl9raW5kX2ljb25fcHJpbWFyeSxcbiAgICAmLm14X0FjY2Vzc2libGVCdXR0b25fa2luZF9wcmltYXJ5IHtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tY3BkLWNvbG9yLWJnLWFjdGlvbi1wcmltYXJ5LXJlc3QpO1xuICAgICAgICBjb2xvcjogdmFyKC0tY3BkLWNvbG9yLXRleHQtb24tc29saWQtcHJpbWFyeSk7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNwZC1jb2xvci1iZy1hY3Rpb24tcHJpbWFyeS1yZXN0KTtcbiAgICB9XG5cbiAgICAmLm14X0FjY2Vzc2libGVCdXR0b25fa2luZF9pY29uX3ByaW1hcnlfb3V0bGluZSxcbiAgICAmLm14X0FjY2Vzc2libGVCdXR0b25fa2luZF9wcmltYXJ5X291dGxpbmUge1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jcGQtY29sb3ItYm9yZGVyLWludGVyYWN0aXZlLXNlY29uZGFyeSk7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jcGQtY29sb3ItdGV4dC1wcmltYXJ5KTtcbiAgICB9XG5cbiAgICAmLm14X0FjY2Vzc2libGVCdXR0b25fa2luZF9zZWNvbmRhcnkge1xuICAgICAgICBjb2xvcjogdmFyKC0tY3BkLWNvbG9yLXRleHQtcHJpbWFyeSk7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgIH1cblxuICAgICYubXhfQWNjZXNzaWJsZUJ1dHRvbl9raW5kX3NlY29uZGFyeV9jb250ZW50IHtcbiAgICAgICAgY29sb3I6ICRzZWNvbmRhcnktY29udGVudDtcbiAgICB9XG5cbiAgICAmLm14X0FjY2Vzc2libGVCdXR0b25fa2luZF9kYW5nZXIge1xuICAgICAgICBjb2xvcjogdmFyKC0tY3BkLWNvbG9yLXRleHQtb24tc29saWQtcHJpbWFyeSk7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNwZC1jb2xvci1iZy1jcml0aWNhbC1wcmltYXJ5KTtcblxuICAgICAgICAmLm14X0FjY2Vzc2libGVCdXR0b25fZGlzYWJsZWQge1xuICAgICAgICAgICAgY29sb3I6IHZhcigtLWNwZC1jb2xvci10ZXh0LW9uLXNvbGlkLXByaW1hcnkpO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY3BkLWNvbG9yLWJnLWNyaXRpY2FsLXByaW1hcnkpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi5teF9BY2Nlc3NpYmxlQnV0dG9uX2tpbmRfZGFuZ2VyX291dGxpbmUge1xuICAgICAgICBjb2xvcjogdmFyKC0tY3BkLWNvbG9yLXRleHQtY3JpdGljYWwtcHJpbWFyeSk7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jcGQtY29sb3ItYm9yZGVyLWNyaXRpY2FsLXN1YnRsZSk7XG5cbiAgICAgICAgJi5teF9BY2Nlc3NpYmxlQnV0dG9uX2Rpc2FibGVkIHtcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1jcGQtY29sb3ItdGV4dC1kaXNhYmxlZCk7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6IHZhcigtLWNwZC1jb2xvci1ib3JkZXItZGlzYWJsZWQpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi5teF9BY2Nlc3NpYmxlQnV0dG9uX2tpbmRfZGFuZ2VyX3NtIHtcbiAgICAgICAgJi5teF9BY2Nlc3NpYmxlQnV0dG9uX2Rpc2FibGVkIHtcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1jcGQtY29sb3ItdGV4dC1kaXNhYmxlZCk7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jcGQtY29sb3ItYmctc3VidGxlLXByaW1hcnkpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi5teF9BY2Nlc3NpYmxlQnV0dG9uX2tpbmRfbGluayxcbiAgICAmLm14X0FjY2Vzc2libGVCdXR0b25fa2luZF9saW5rX2lubGluZSxcbiAgICAmLm14X0FjY2Vzc2libGVCdXR0b25fa2luZF9kYW5nZXJfaW5saW5lLFxuICAgICYubXhfQWNjZXNzaWJsZUJ1dHRvbl9raW5kX2NvbnRlbnRfaW5saW5lIHtcbiAgICAgICAgZm9udC1zaXplOiBpbmhlcml0O1xuICAgICAgICBmb250LXdlaWdodDogdmFyKC0tY3BkLWZvbnQtd2VpZ2h0LXNlbWlib2xkKTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgIH1cblxuICAgICYubXhfQWNjZXNzaWJsZUJ1dHRvbl9raW5kX2xpbmssXG4gICAgJi5teF9BY2Nlc3NpYmxlQnV0dG9uX2tpbmRfbGlua19pbmxpbmUge1xuICAgICAgICBjb2xvcjogdmFyKC0tY3BkLWNvbG9yLXRleHQtcHJpbWFyeSk7XG4gICAgfVxuXG4gICAgJi5teF9BY2Nlc3NpYmxlQnV0dG9uX2tpbmRfZGFuZ2VyX2lubGluZSB7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jcGQtY29sb3ItdGV4dC1jcml0aWNhbC1wcmltYXJ5KTtcbiAgICB9XG5cbiAgICAmLm14X0FjY2Vzc2libGVCdXR0b25fa2luZF9jb250ZW50X2lubGluZSB7XG4gICAgICAgIGNvbG9yOiAkcHJpbWFyeS1jb250ZW50O1xuICAgIH1cblxuICAgICYubXhfQWNjZXNzaWJsZUJ1dHRvbl9raW5kX2xpbmtfaW5saW5lLFxuICAgICYubXhfQWNjZXNzaWJsZUJ1dHRvbl9raW5kX2Rhbmdlcl9pbmxpbmUsXG4gICAgJi5teF9BY2Nlc3NpYmxlQnV0dG9uX2tpbmRfY29udGVudF9pbmxpbmUge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgfVxuXG4gICAgJi5teF9BY2Nlc3NpYmxlQnV0dG9uX2tpbmRfY29uZmlybV9zbSxcbiAgICAmLm14X0FjY2Vzc2libGVCdXR0b25fa2luZF9jYW5jZWxfc20ge1xuICAgICAgICBwYWRkaW5nOiAwcHg7XG4gICAgICAgIHdpZHRoOiAxNnB4O1xuICAgICAgICBoZWlnaHQ6IDE2cHg7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDEwMCU7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIGluc2V0OiAwO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgICAgIG1hc2stcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgICBtYXNrLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICAgICAgICBtYXNrLXNpemU6IDgwJTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi8qXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cbkNvcHlyaWdodCAyMDIyIMWgaW1vbiBCcmFuZG5lciA8c2ltb24uYnJhLmFnQGdtYWlsLmNvbT5cbkNvcHlyaWdodCAyMDE5IE5ldyBWZWN0b3IgTHRkXG5cblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cbiovXG5cbi5teF9Db3B5YWJsZVRleHQge1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIHdpZHRoOiBtYXgtY29udGVudDtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG5cbiAgICAmLm14X0NvcHlhYmxlVGV4dF9ib3JkZXIge1xuICAgICAgICBvdmVyZmxvdzogYXV0bztcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNXB4O1xuICAgICAgICBib3JkZXI6IHNvbGlkIDFweCAkbGlnaHQtZmctY29sb3I7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgICAgIG1hcmdpbi10b3A6IDEwcHg7XG4gICAgICAgIHBhZGRpbmc6IDEwcHggMCAxMHB4IDEwcHg7XG4gICAgfVxuXG4gICAgLm14X0NvcHlhYmxlVGV4dF9jb3B5QnV0dG9uIHtcbiAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICAgIC8qIHVzaW5nIGVtIGhlcmUgdG8gYWRhcHQgdG8gdGhlIGxvY2FsIGZvbnQgc2l6ZSAqL1xuICAgICAgICB3aWR0aDogMWVtO1xuICAgICAgICBoZWlnaHQ6IDFlbTtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDEycHg7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDEwcHg7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAvKiBJZiB0aGUgY29weSBidXR0b24gaXMgdXNlZCB3aXRoaW4gYSBzY3JvbGxhYmxlIGRpdiwgbWFrZSBpdCBzdGljayB0byB0aGUgcmlnaHQgd2hpbGUgc2Nyb2xsaW5nICovXG4gICAgICAgIHBvc2l0aW9uOiBzdGlja3k7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAvKiBjZW50ZXIgdG8gZmlyc3QgbGluZSAqL1xuICAgICAgICB0b3A6IDAuMTVlbTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG5cbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICBtYXNrLWltYWdlOiB1cmwoJGNvcHktYnV0dG9uLXVybCk7XG4gICAgICAgICAgICBtYXNrLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuICAgICAgICAgICAgbWFzay1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgICAgIG1hc2stc2l6ZTogY29udGFpbjtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRtZXNzYWdlLWFjdGlvbi1iYXItZmctY29sb3I7XG4gICAgICAgICAgICB3aWR0aDogMWVtO1xuICAgICAgICAgICAgaGVpZ2h0OiAxZW07XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIvKlxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXG5Db3B5cmlnaHQgMjAyMSDFoGltb24gQnJhbmRuZXIgPHNpbW9uLmJyYS5hZ0BnbWFpbC5jb20+XG5cblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cbiovXG5cbi5teF9kZXNrdG9wQ2FwdHVyZXJTb3VyY2VQaWNrZXIge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICAubXhfZGVza3RvcENhcHR1cmVyU291cmNlUGlja2VyX3RhYiB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgICAgICBoZWlnaHQ6IDUwMHB4O1xuICAgICAgICBvdmVyZmxvdzogb3ZlcmxheTtcblxuICAgICAgICAubXhfZGVza3RvcENhcHR1cmVyU291cmNlUGlja2VyX3NvdXJjZSB7XG4gICAgICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cbiAgICAgICAgICAgIC5teF9kZXNrdG9wQ2FwdHVyZXJTb3VyY2VQaWNrZXJfc291cmNlX3RodW1ibmFpbCB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiA0cHg7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogNHB4O1xuICAgICAgICAgICAgICAgIGJvcmRlci13aWR0aDogMnB4O1xuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgICAgICAgICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cbiAgICAgICAgICAgICAgICAmLm14X2Rlc2t0b3BDYXB0dXJlclNvdXJjZVBpY2tlcl9zb3VyY2VfdGh1bWJuYWlsX3NlbGVjdGVkLFxuICAgICAgICAgICAgICAgICY6aG92ZXIsXG4gICAgICAgICAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJGFjY2VudDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5teF9kZXNrdG9wQ2FwdHVyZXJTb3VyY2VQaWNrZXJfc291cmNlX25hbWUge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMCA0cHg7XG4gICAgICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICAgICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuIiwiLypcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxuQ29weXJpZ2h0IDIwMjEgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cblxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuKi9cblxuLm14X0RpYWxQYWRCYWNrc3BhY2VCdXR0b24ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBoZWlnaHQ6IDI4cHg7XG4gICAgd2lkdGg6IDI4cHg7XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgICAvKiBmb3JjZSB0aGlzIGVsZW1lbnQgdG8gYXBwZWFyIG9uIHRoZSBET00gKi9cbiAgICAgICAgY29udGVudDogXCJcIjtcblxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjOGQ5N2E1O1xuICAgICAgICB3aWR0aDogaW5oZXJpdDtcbiAgICAgICAgaGVpZ2h0OiBpbmhlcml0O1xuICAgICAgICB0b3A6IDBweDtcbiAgICAgICAgbGVmdDogMHB4O1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcblxuICAgICAgICBtYXNrLWltYWdlOiB1cmwoXCIkKHJlcykvaW1nL2VsZW1lbnQtaWNvbnMvY2FsbC9kZWxldGUuc3ZnXCIpO1xuICAgICAgICBtYXNrLXBvc2l0aW9uOiA4cHg7XG4gICAgICAgIG1hc2stc2l6ZTogMjBweDtcbiAgICAgICAgbWFzay1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICB9XG59XG4iLCIvKlxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXG5Db3B5cmlnaHQgMjAxNyBPcGVuTWFya2V0IEx0ZFxuXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXG4qL1xuXG4ubXhfRHJvcGRvd24ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBjb2xvcjogJHByaW1hcnktY29udGVudDtcbn1cblxuLm14X0Ryb3Bkb3duX2Rpc2FibGVkIHtcbiAgICBvcGFjaXR5OiAwLjM7XG59XG5cbi5teF9Ecm9wZG93bl9pbnB1dCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tY3BkLWNvbG9yLWJvcmRlci1pbnRlcmFjdGl2ZS1zZWNvbmRhcnkpO1xuICAgIGZvbnQ6IHZhcigtLWNwZC1mb250LWJvZHktc20tcmVndWxhcik7XG4gICAgdXNlci1zZWxlY3Q6IG5vbmU7XG59XG5cbi5teF9Ecm9wZG93bl9pbnB1dC5teF9BY2Nlc3NpYmxlQnV0dG9uX2Rpc2FibGVkIHtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xufVxuXG4ubXhfRHJvcGRvd25faW5wdXQ6Zm9jdXMge1xuICAgIGJvcmRlci1jb2xvcjogJGFjY2VudC1hbHQ7XG59XG5cbi8qIERpc2FibGUgZHJvcGRvd24gaGlnaGxpZ2h0IG9uIGZvY3VzICovXG4ubXhfRHJvcGRvd25faW5wdXQubXhfQWNjZXNzaWJsZUJ1dHRvbjpmb2N1cyB7XG4gICAgZmlsdGVyOiBub25lO1xufVxuXG4ubXhfRHJvcGRvd25fYXJyb3cge1xuICAgIHdpZHRoOiAxNnB4O1xuICAgIGhlaWdodDogMTZweDtcbiAgICBtYXJnaW4tcmlnaHQ6IDRweDtcbiAgICBtYXNrOiB1cmwoXCJAdmVjdG9yLWltL2NvbXBvdW5kLWRlc2lnbi10b2tlbnMvaWNvbnMvY2hldnJvbi1kb3duLnN2Z1wiKTtcbiAgICBtYXNrLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIG1hc2stcG9zaXRpb246IGNlbnRlcjtcbiAgICBtYXNrLXNpemU6IDE4cHg7XG4gICAgYmFja2dyb3VuZDogJHByaW1hcnktY29udGVudDtcbn1cblxuLm14X0Ryb3Bkb3duX29wdGlvbiB7XG4gICAgaGVpZ2h0OiAzNXB4O1xuICAgIGxpbmUtaGVpZ2h0OiAkZm9udC0zNXB4O1xuICAgIC8qIE92ZXJ3cml0ZXMgdGhlIGRlZmF1bHQgcGFkZGluZyBmb3IgYW55IGxpIGVsZW1lbnRzICovXG4gICAgcGFkZGluZzogMCA4cHg7XG59XG5cbi5teF9Ecm9wZG93bl9pbnB1dCA+IC5teF9Ecm9wZG93bl9vcHRpb24ge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBmbGV4OiAxO1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbi5teF9Ecm9wZG93bl9vcHRpb24gZGl2IHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi5teF9Ecm9wZG93bl9vcHRpb24gaW1nLFxuLm14X0Ryb3Bkb3duX29wdGlvbiAubXhfRHJvcGRvd25fb3B0aW9uX2Vtb2ppIHtcbiAgICBtYXJnaW46IDVweDtcbiAgICB3aWR0aDogMTZweDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuXG4ubXhfRHJvcGRvd25fb3B0aW9uX2Vtb2ppIHtcbiAgICBmb250LXNpemU6ICRmb250LTE2cHg7XG4gICAgbGluZS1oZWlnaHQ6ICRmb250LTE2cHg7XG59XG5cbmlucHV0Lm14X0Ryb3Bkb3duX29wdGlvbixcbmlucHV0Lm14X0Ryb3Bkb3duX29wdGlvbjpmb2N1cyB7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBib3JkZXI6IDA7XG4gICAgcGFkZGluZy10b3A6IDA7XG4gICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgLyogWFhYOiBoYWNrIHRvIHByZXZlbnQgdGV4dCBib3ggYmVpbmcgdG9vIGJpZyBhbmQgcHVzaGluZyAqL1xuICAgIC8qIGl0cyBwYXJlbnQgb3V0IC8gb3ZlcmxhcHBpbmcgdGhlIGRyb3Bkb3duIGFycm93LiBPbmx5IHJlYWxseSAqL1xuICAgIC8qIHdvcmtzIGluIHRoZSBDb3VudHJ5IGRyb3Bkb3duLiAqL1xuICAgIHdpZHRoOiA2MCU7XG59XG5cbi5teF9Ecm9wZG93bl9tZW51IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogLTFweDtcbiAgICByaWdodDogLTFweDtcbiAgICB0b3A6IDEwMCU7XG4gICAgei1pbmRleDogMjtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkYWNjZW50LWFsdDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcbiAgICBtYXgtaGVpZ2h0OiAyMDBweDtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xufVxuXG4ubXhfRHJvcGRvd25fbWVudSAubXhfRHJvcGRvd25fb3B0aW9uIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgbWluLWhlaWdodDogMzVweDtcbn1cblxudWwubXhfRHJvcGRvd25fbWVudSBsaS5teF9Ecm9wZG93bl9vcHRpb24ge1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG59XG5cbi5teF9Ecm9wZG93bl9tZW51IC5teF9Ecm9wZG93bl9vcHRpb25faGlnaGxpZ2h0IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZm9jdXMtYmctY29sb3I7XG59XG5cbi5teF9Ecm9wZG93bl9zZWFyY2hQcm9tcHQge1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgbWFyZ2luLWxlZnQ6IDVweDtcbiAgICBtYXJnaW4tYm90dG9tOiA1cHg7XG59XG4iLCIvKlxuQ29weXJpZ2h0IDIwMTctMjAyNCBOZXcgVmVjdG9yIEx0ZC5cblxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuKi9cblxuLm14X0VkaXRhYmxlSXRlbUxpc3Qge1xuICAgIG1hcmdpbi10b3A6IDEycHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbn1cblxuLm14X0VkaXRhYmxlSXRlbSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBtYXJnaW4tYm90dG9tOiA1cHg7XG59XG5cbi5teF9FZGl0YWJsZUl0ZW1fZGVsZXRlIHtcbiAgICBAbWl4aW4gY3VzdG9taXNlZENhbmNlbEJ1dHRvbjtcbiAgICBvcmRlcjogMztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIHdpZHRoOiAyOHB4O1xuICAgIGhlaWdodDogMjhweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYWxlcnQ7XG4gICAgbWFzay1zaXplOiAxMDAlO1xufVxuXG4ubXhfRWRpdGFibGVJdGVtX2VtYWlsIHtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuXG4ubXhfRWRpdGFibGVJdGVtX3Byb21wdFRleHQge1xuICAgIG1hcmdpbi1yaWdodDogMTBweDtcbiAgICBvcmRlcjogMjtcbn1cblxuLm14X0VkaXRhYmxlSXRlbV9jb25maXJtQnRuIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDVweDtcbn1cblxuLm14X0VkaXRhYmxlSXRlbV9pdGVtIHtcbiAgICBmbGV4OiBhdXRvIDEgMDtcbiAgICBvcmRlcjogMTtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gMjhweCk7IC8qIGxlYXZlIHNwYWNlIGZvciB0aGUgcmVtb3ZlIGJ1dHRvbiAqL1xuICAgIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbn1cblxuLm14X0VkaXRhYmxlSXRlbUxpc3RfbGFiZWwge1xuICAgIG1hcmdpbi1ib3R0b206IDVweDtcbn1cbiIsIi8qXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cbkNvcHlyaWdodCAyMDE5IFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXG5cblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cbiovXG5cbi5teF9FcnJvckJvdW5kYXJ5IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuXG4ubXhfRXJyb3JCb3VuZGFyeV9ib2R5IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgbWF4LXdpZHRoOiA0MDBweDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gICAgLm14X0FjY2Vzc2libGVCdXR0b24ge1xuICAgICAgICBtYXJnaW4tdG9wOiA1cHg7XG4gICAgfVxufVxuIiwiLypcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxuQ29weXJpZ2h0IDIwMjEgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cblxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuKi9cblxuLm14X0V4dGVybmFsTGluayB7XG4gICAgY29sb3I6ICRsaW5rcztcbn1cblxuLm14X0V4dGVybmFsTGlua19pY29uIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFzay1pbWFnZTogdXJsKFwiJChyZXMpL2ltZy9leHRlcm5hbC1saW5rLnN2Z1wiKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjdXJyZW50Q29sb3I7XG4gICAgbWFzay1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBtYXNrLXNpemU6IGNvbnRhaW47XG4gICAgd2lkdGg6ICRmb250LTExcHg7XG4gICAgaGVpZ2h0OiAkZm9udC0xMXB4O1xuICAgIG1hcmdpbi1sZWZ0OiAwLjNyZW07XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cbiIsIi8qXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cbkNvcHlyaWdodCAyMDIxIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXG5cblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cbiovXG5cbi5teF9GYWNlUGlsZV9tb3JlIHtcbiAgICAvKiBOZWVkZWQgdG8gY2FsY3VsYXRlIHRoZSBvZmZzZXQgb24gdGhlIGZhY2UgcGlsZSAqL1xuICAgIC0tY3BkLWF2YXRhci1zaXplOiAyOHB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBib3JkZXItcmFkaXVzOiAxMDAlO1xuICAgIHdpZHRoOiAyOHB4O1xuICAgIGhlaWdodDogMjhweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcGFuZWxzO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcblxuICAgICY6OmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBoZWlnaHQ6IGluaGVyaXQ7XG4gICAgICAgIHdpZHRoOiBpbmhlcml0O1xuICAgICAgICBiYWNrZ3JvdW5kOiAkdGVydGlhcnktY29udGVudDtcbiAgICAgICAgbWFzay1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgICBtYXNrLXNpemU6IDIwcHg7XG4gICAgICAgIG1hc2stcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgIG1hc2staW1hZ2U6IHVybChcIkB2ZWN0b3ItaW0vY29tcG91bmQtZGVzaWduLXRva2Vucy9pY29ucy9vdmVyZmxvdy1ob3Jpem9udGFsLnN2Z1wiKTtcbiAgICB9XG59XG5cbi5teF9GYWNlUGlsZV9zdW1tYXJ5IHtcbiAgICBtYXJnaW4tbGVmdDogMTJweDtcbiAgICBmb250OiB2YXIoLS1jcGQtZm9udC1ib2R5LW1kLXJlZ3VsYXIpO1xuICAgIGxpbmUtaGVpZ2h0OiAkZm9udC0yNHB4O1xuICAgIGNvbG9yOiAkdGVydGlhcnktY29udGVudDtcbn1cbiIsIi8qXG5Db3B5cmlnaHQgMjAxOS0yMDI0IE5ldyBWZWN0b3IgTHRkLlxuXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXG4qL1xuXG4vKiBUT0RPOiBDb25zaWRlciB1bmlmeWluZyB3aXRoIGdlbmVyYWwgaW5wdXQgc3R5bGVzIGluIF9saWdodC5wY3NzICovXG5cbi5teF9GaWVsZCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4OiAxO1xuICAgIG1pbi13aWR0aDogMDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luOiAxZW0gMDtcbiAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDAuMjVzO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNwZC1jb2xvci1ib3JkZXItaW50ZXJhY3RpdmUtc2Vjb25kYXJ5KTtcbn1cblxuLm14X0ZpZWxkX3ByZWZpeCB7XG4gICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgdmFyKC0tY3BkLWNvbG9yLWJvcmRlci1pbnRlcmFjdGl2ZS1zZWNvbmRhcnkpO1xufVxuXG4ubXhfRmllbGRfcG9zdGZpeCB7XG4gICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCB2YXIoLS1jcGQtY29sb3ItYm9yZGVyLWludGVyYWN0aXZlLXNlY29uZGFyeSk7XG59XG5cbi5teF9GaWVsZCBpbnB1dCxcbi5teF9GaWVsZCBzZWxlY3QsXG4ubXhfRmllbGQgdGV4dGFyZWEge1xuICAgIGZvbnQ6IHZhcigtLWNwZC1mb250LWJvZHktbWQtcmVndWxhcik7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIC8qIEV2ZW4gd2l0aG91dCBhIGJvcmRlciBoZXJlLCB3ZSBzdGlsbCBuZWVkIHRoaXMgYXZvaWQgb3ZlcmxhcHBpbmcgdGhlIHJvdW5kZWQgKi9cbiAgICAvKiBjb3JuZXJzIG9uIHRoZSBmaWVsZCBhYm92ZS4gKi9cbiAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgcGFkZGluZzogOHB4IDlweDtcbiAgICBjb2xvcjogJHByaW1hcnktY29udGVudDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcbiAgICBmbGV4OiAxO1xuICAgIG1pbi13aWR0aDogMDtcbn1cblxuLm14X0ZpZWxkIHNlbGVjdCB7XG4gICAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbn1cblxuLyogQ2FuJ3QgYWRkIHBzZXVkby1lbGVtZW50cyB0byBhIHNlbGVjdCBkaXJlY3RseSwgc28gd2UgdXNlIGl0cyBwYXJlbnQuICovXG4ubXhfRmllbGRfc2VsZWN0OjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICByaWdodDogNHB4O1xuICAgIHdpZHRoOiAxOHB4O1xuICAgIGhlaWdodDogMThweDtcbiAgICBtYXNrOiB1cmwoXCJAdmVjdG9yLWltL2NvbXBvdW5kLWRlc2lnbi10b2tlbnMvaWNvbnMvY2hldnJvbi1kb3duLnN2Z1wiKTtcbiAgICBtYXNrLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIG1hc2stcG9zaXRpb246IGNlbnRlcjtcbiAgICBtYXNrLXNpemU6IGNvbnRhaW47XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHByaW1hcnktY29udGVudDtcbiAgICB6LWluZGV4OiAxO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuXG4ubXhfRmllbGQ6Zm9jdXMtd2l0aGluIHtcbiAgICBib3JkZXItY29sb3I6ICRhY2NlbnQtYWx0O1xufVxuXG4ubXhfRmllbGQgaW5wdXQ6Zm9jdXMsXG4ubXhfRmllbGQgc2VsZWN0OmZvY3VzLFxuLm14X0ZpZWxkIHRleHRhcmVhOmZvY3VzIHtcbiAgICBvdXRsaW5lOiAwO1xufVxuXG4ubXhfRmllbGQgaW5wdXQ6OnBsYWNlaG9sZGVyLFxuLm14X0ZpZWxkIHRleHRhcmVhOjpwbGFjZWhvbGRlciB7XG4gICAgdHJhbnNpdGlvbjogY29sb3IgMC4yNXMgZWFzZS1pbiAwcztcbiAgICBjb2xvcjogdHJhbnNwYXJlbnQ7XG59XG5cbi5teF9GaWVsZCBpbnB1dDpwbGFjZWhvbGRlci1zaG93bjpmb2N1czo6cGxhY2Vob2xkZXIsXG4ubXhfRmllbGQgdGV4dGFyZWE6cGxhY2Vob2xkZXItc2hvd246Zm9jdXM6OnBsYWNlaG9sZGVyLFxuLm14X0ZpZWxkLm14X0ZpZWxkX3BsYWNlaG9sZGVySXNIaW50IGlucHV0OjpwbGFjZWhvbGRlciB7XG4gICAgdHJhbnNpdGlvbjogY29sb3IgMC4yNXMgZWFzZS1pbiAwLjFzO1xuICAgIGNvbG9yOiAkaW5mby1wbGludGgtZmctY29sb3I7XG59XG5cbi5teF9GaWVsZCBsYWJlbCB7XG4gICAgdHJhbnNpdGlvbjpcbiAgICAgICAgZm9udC1zaXplIDAuMjVzIGVhc2Utb3V0IDAuMXMsXG4gICAgICAgIGNvbG9yIDAuMjVzIGVhc2Utb3V0IDAuMXMsXG4gICAgICAgIHRyYW5zZm9ybSAwLjI1cyBlYXNlLW91dCAwLjFzLFxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yIDAuMjVzIGVhc2Utb3V0IDAuMXM7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgZm9udDogdmFyKC0tY3BkLWZvbnQtYm9keS1tZC1yZWd1bGFyKTtcbiAgICBjb2xvcjogdmFyKC0tY3BkLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDBweDtcbiAgICBtYXJnaW46IDdweCA4cHg7XG4gICAgcGFkZGluZzogMnB4O1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lOyAvKiBBbGxvdyBjbGlja3MgdG8gZmFsbCB0aHJvdWdoIHRvIHRoZSBpbnB1dCAqL1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICBtYXgtd2lkdGg6IGNhbGMoMTAwJSAtIDIwcHgpOyAvKiAxMDAlIG9mIHBhcmVudCBtaW51cyBtYXJnaW4gYW5kIHBhZGRpbmcgKi9cbn1cblxuLm14X0ZpZWxkX2xhYmVsQWx3YXlzVG9wTGVmdCBsYWJlbCxcbi5teF9GaWVsZCBzZWxlY3QgKyBsYWJlbCAvKiBBbHdheXMgc2hvdyBhIHNlbGVjdCdzIGxhYmVsIG9uIHRvcCB0byBub3QgY29sbGlkZSB3aXRoIHRoZSB2YWx1ZSAqLyxcbi5teF9GaWVsZCBpbnB1dDpmb2N1cyArIGxhYmVsLFxuLm14X0ZpZWxkIGlucHV0Om5vdCg6cGxhY2Vob2xkZXItc2hvd24pICsgbGFiZWwsXG4ubXhfRmllbGQgdGV4dGFyZWE6Zm9jdXMgKyBsYWJlbCxcbi5teF9GaWVsZCB0ZXh0YXJlYTpub3QoOnBsYWNlaG9sZGVyLXNob3duKSArIGxhYmVsIHtcbiAgICB0cmFuc2l0aW9uOlxuICAgICAgICBmb250LXNpemUgMC4yNXMgZWFzZS1vdXQgMHMsXG4gICAgICAgIGNvbG9yIDAuMjVzIGVhc2Utb3V0IDBzLFxuICAgICAgICB0cmFuc2Zvcm0gMC4yNXMgZWFzZS1vdXQgMHMsXG4gICAgICAgIGJhY2tncm91bmQtY29sb3IgMC4yNXMgZWFzZS1vdXQgMHM7XG4gICAgZm9udC1zaXplOiAkZm9udC0xMHB4O1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTNweCk7XG4gICAgcGFkZGluZzogMCAycHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG4gICAgcG9pbnRlci1ldmVudHM6IGluaXRpYWw7XG59XG5cbi5teF9GaWVsZCBpbnB1dDpmb2N1cyArIGxhYmVsLFxuLm14X0ZpZWxkIHNlbGVjdDpmb2N1cyArIGxhYmVsLFxuLm14X0ZpZWxkIHRleHRhcmVhOmZvY3VzICsgbGFiZWwge1xuICAgIGNvbG9yOiAkYWNjZW50LWFsdDtcbn1cblxuLm14X0ZpZWxkIHNlbGVjdDpkaXNhYmxlZCxcbi5teF9GaWVsZCBzZWxlY3Q6ZGlzYWJsZWQgKyBsYWJlbCxcbi5teF9GaWVsZCBpbnB1dDpkaXNhYmxlZCxcbi5teF9GaWVsZCBpbnB1dDpkaXNhYmxlZCArIGxhYmVsLFxuLm14X0ZpZWxkIHRleHRhcmVhOmRpc2FibGVkLFxuLm14X0ZpZWxkIHRleHRhcmVhOmRpc2FibGVkICsgbGFiZWwge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkaW5mby1wbGludGgtZmctY29sb3I7XG59XG5cbi5teF9GaWVsZF92YWxpZCB7XG4gICAgJi5teF9GaWVsZCxcbiAgICAmLm14X0ZpZWxkOmZvY3VzLXdpdGhpbiB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJGFjY2VudDtcbiAgICB9XG5cbiAgICAmLm14X0ZpZWxkIGxhYmVsLFxuICAgICYubXhfRmllbGQ6Zm9jdXMtd2l0aGluIGxhYmVsIHtcbiAgICAgICAgY29sb3I6ICRhY2NlbnQ7XG4gICAgfVxufVxuXG4ubXhfRmllbGRfaW52YWxpZCB7XG4gICAgJi5teF9GaWVsZCxcbiAgICAmLm14X0ZpZWxkOmZvY3VzLXdpdGhpbiB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJGFsZXJ0O1xuICAgIH1cblxuICAgICYubXhfRmllbGQgbGFiZWwsXG4gICAgJi5teF9GaWVsZDpmb2N1cy13aXRoaW4gbGFiZWwge1xuICAgICAgICBjb2xvcjogJGFsZXJ0O1xuICAgIH1cbn1cblxuLyogQ3VzdG9taXNlIG90aGVyIGNvbXBvbmVudHMgd2hlbiBwbGFjZWQgaW5zaWRlIGEgRmllbGQgKi9cblxuLm14X0ZpZWxkIC5teF9Ecm9wZG93bl9pbnB1dCB7XG4gICAgYm9yZGVyOiBpbml0aWFsO1xuICAgIGJvcmRlci1yYWRpdXM6IGluaXRpYWw7XG59XG5cbi5teF9GaWVsZCAubXhfQ291bnRyeURyb3Bkb3duIHtcbiAgICB3aWR0aDogZml0LWNvbnRlbnQ7XG59XG4iLCIvKlxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXG5Db3B5cmlnaHQgMjAxNiBPcGVuTWFya2V0IEx0ZFxuXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXG4qL1xuXG4ubXhfR2VuZXJpY0V2ZW50TGlzdFN1bW1hcnkge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgIC5teF9HZW5lcmljRXZlbnRMaXN0U3VtbWFyeV9hdmF0YXJzIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAkc3BhY2luZy04O1xuICAgIH1cblxuICAgIC5teF9HZW5lcmljRXZlbnRMaXN0U3VtbWFyeV9zcGFjZXIge1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJHByaW1hcnktaGFpcmxpbmUtY29sb3I7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiA2M3B4O1xuICAgICAgICBsaW5lLWhlaWdodDogJGZvbnQtMzBweDsgLyogVE9ETzogVXNlIGEgdmFyaWFibGUgKi9cblxuICAgICAgICAubXhfSVJDTGF5b3V0ICYge1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IHZhcigtLWxpbmUtaGVpZ2h0KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5teF9HZW5lcmljRXZlbnRMaXN0U3VtbWFyeV90b2dnbGUge1xuICAgICAgICAvKiBXZSByZXVzZSBhIHRpdGxlIGNhc2VkIHRyYW5zbGF0aW9uICovXG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiBsb3dlcmNhc2U7XG4gICAgfVxuXG4gICAgJltkYXRhLWxheW91dD1cImlyY1wiXSxcbiAgICAmW2RhdGEtbGF5b3V0PVwiZ3JvdXBcIl0ge1xuICAgICAgICAubXhfR2VuZXJpY0V2ZW50TGlzdFN1bW1hcnlfdG9nZ2xlIHtcbiAgICAgICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgICAgIG1hcmdpbi1pbmxpbmU6IDAgMTBweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZbZGF0YS1sYXlvdXQ9XCJncm91cFwiXSB7XG4gICAgICAgIG1hcmdpbi10b3A6ICRzcGFjaW5nLTg7XG4gICAgfVxuXG4gICAgJltkYXRhLWxheW91dD1cImJ1YmJsZVwiXSB7XG4gICAgICAgIC0tbWF4V2lkdGg6IDcwJTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGNhbGModmFyKC0tYXZhdGFyU2l6ZSkgKyB2YXIoLS1ndXR0ZXJTaXplKSk7XG5cbiAgICAgICAgLm14X0dlbmVyaWNFdmVudExpc3RTdW1tYXJ5X3RvZ2dsZSB7XG4gICAgICAgICAgICBtYXJnaW4tYmxvY2s6IDA7XG5cbiAgICAgICAgICAgICZbYXJpYS1leHBhbmRlZD1cImZhbHNlXCJdIHtcbiAgICAgICAgICAgICAgICBvcmRlcjogOTsgLyogVE9ETzogUmVtb3ZlICovXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICZbYXJpYS1leHBhbmRlZD1cInRydWVcIl0ge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1pbmxpbmUtc3RhcnQ6IGF1dG87IC8qIHJlZHVjZSBjbGlja2FibGUgYXJlYSAqL1xuICAgICAgICAgICAgICAgIG1hcmdpbi1pbmxpbmUtZW5kOiB2YXIoLS1FdmVudFRpbGVfYnViYmxlLW1hcmdpbi1pbmxpbmUtZW5kKTsgLyogYXMgdGhlIHBhcmVudCBoYXMgemVybyBtYXJnaW4gKi9cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5teF9HZW5lcmljRXZlbnRMaXN0U3VtbWFyeV9zcGFjZXIge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgICZbZGF0YS1leHBhbmRlZD1cImZhbHNlXCJdIHtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgICAgICBjb2x1bW4tZ2FwOiA1cHg7XG4gICAgICAgIH1cblxuICAgICAgICAvKiBpZGVhbGx5IHdlJ2QgdXNlIGRpc3BsYXk9Y29udGVudHMgaGVyZSBmb3IgdGhlIGxheW91dCB0byBhbGwgd29yayByZWdhcmRsZXNzIG9mIHRoZSAqRUxTIGJ1dCAqL1xuICAgICAgICAvKiB0aGF0IGJyZWFrcyBTY3JvbGxQYW5lbCdzIHJlbGlhbmNlIHVwb24gb2Zmc2V0VG9wIHNvIHdlIGhhdmUgdG8gaGF2ZSBhIGJpdCBtb3JlIGZpbmVzc2UuICovXG4gICAgICAgICZbZGF0YS1leHBhbmRlZD1cInRydWVcIl0ge1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgfVxuXG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICBjbGVhcjogYm90aDtcbiAgICAgICAgfVxuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5teF9NYXRyaXhDaGF0X3VzZUNvbXBhY3RMYXlvdXQgJiB7XG4gICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtMTNweDtcbiAgICAgICAgbWFyZ2luLXRvcDogJHNwYWNpbmctNDtcblxuICAgICAgICAubXhfRXZlbnRUaWxlX2xpbmUge1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjU7XG4gICAgICAgIH1cblxuICAgICAgICAubXhfR2VuZXJpY0V2ZW50TGlzdFN1bW1hcnlfc3BhY2VyIHtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjM3NTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5teF9UZXh0dWFsRXZlbnQubXhfR2VuZXJpY0V2ZW50TGlzdFN1bW1hcnlfc3VtbWFyeSB7XG4gICAgICAgICAgICBmb250OiB2YXIoLS1jcGQtZm9udC1ib2R5LXNtLXJlZ3VsYXIpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyogTWFrZSBhbGwgc3RhdGUgZXZlbnRzIG9uZSBvcmRlciBzbWFsbGVyIHRoYW4gdGhlIG90aGVyIGV2ZW50cyAqL1xuICAgIC5teF9FdmVudFRpbGUge1xuICAgICAgICBmb250OiB2YXIoLS1jcGQtZm9udC1ib2R5LXNtLXJlZ3VsYXIpO1xuICAgICAgICBjb2xvcjogJHNlY29uZGFyeS1jb250ZW50O1xuICAgIH1cbn1cblxuLm14X0dlbmVyaWNFdmVudExpc3RTdW1tYXJ5X3Vuc3R5bGVkTGlzdCB7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBwYWRkaW5nOiAwO1xufVxuXG4ubXhfVGV4dHVhbEV2ZW50Lm14X0dlbmVyaWNFdmVudExpc3RTdW1tYXJ5X3N1bW1hcnkge1xuICAgIGZvbnQ6IHZhcigtLWNwZC1mb250LWJvZHktc20tcmVndWxhcik7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgY29sb3I6ICRzZWNvbmRhcnktY29udGVudDtcbn1cblxuLm14X0dlbmVyaWNFdmVudExpc3RTdW1tYXJ5X2F2YXRhcnMge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBsaW5lLWhlaWdodDogJGZvbnQtMTJweDtcblxuICAgIC5teF9CYXNlQXZhdGFyIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAtNHB4O1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgfVxufVxuIiwiLypcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxuQ29weXJpZ2h0IDIwMTUsIDIwMTYgT3Blbk1hcmtldCBMdGRcblxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuKi9cblxuJGJ1dHRvbi1zaXplOiAzMnB4O1xuJGljb24tc2l6ZTogMjJweDtcbiRidXR0b24tZ2FwOiAyNHB4O1xuXG46cm9vdCB7XG4gICAgLS1pbWFnZS12aWV3LXBhbmVsLWhlaWdodDogNjhweDtcbn1cblxuLm14X0ltYWdlVmlldyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbn1cblxuLm14X0ltYWdlVmlld19pbWFnZV93cmFwcGVyIHtcbiAgICBwb2ludGVyLWV2ZW50czogaW5pdGlhbDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5teF9JbWFnZVZpZXdfaW1hZ2Uge1xuICAgIGZsZXgtc2hyaW5rOiAwO1xuXG4gICAgJi5teF9JbWFnZVZpZXdfaW1hZ2VfYW5pbWF0aW5nIHtcbiAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDIwMG1zIGVhc2UgMHM7XG4gICAgfVxuXG4gICAgJi5teF9JbWFnZVZpZXdfaW1hZ2VfYW5pbWF0aW5nTG9hZGluZyB7XG4gICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAzMDBtcyBlYXNlIDBzO1xuICAgIH1cbn1cblxuLm14X0ltYWdlVmlld19wYW5lbCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiB2YXIoLS1pbWFnZS12aWV3LXBhbmVsLWhlaWdodCk7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBhbmltYXRpb24tbmFtZTogbXhfSW1hZ2VWaWV3X3BhbmVsX2tleWZyYW1lcztcbiAgICBhbmltYXRpb24tZHVyYXRpb246IDMwMG1zO1xufVxuXG4ubXhfSW1hZ2VWaWV3X2luZm9fd3JhcHBlciB7XG4gICAgcG9pbnRlci1ldmVudHM6IGluaXRpYWw7XG4gICAgcGFkZGluZy1sZWZ0OiAzMnB4O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGNvbG9yOiAkbGlnaHRib3gtZmctY29sb3I7XG4gICAgZmxleC1ncm93OiAxO1xuICAgIGZsZXgtYmFzaXM6IDA7XG59XG5cbi5teF9JbWFnZVZpZXdfaW5mbyB7XG4gICAgcGFkZGluZy1sZWZ0OiAxMnB4O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbn1cblxuLm14X0ltYWdlVmlld19pbmZvX3NlbmRlciB7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbi5teF9JbWFnZVZpZXdfdGl0bGUge1xuICAgIGNvbG9yOiAkbGlnaHRib3gtZmctY29sb3I7XG4gICAgZm9udC1zaXplOiAkZm9udC0xMnB4O1xuICAgIGZsZXgtZ3JvdzogMTtcbiAgICBmbGV4LWJhc2lzOiAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLm14X0ltYWdlVmlld190b29sYmFyIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxNnB4O1xuICAgIHBvaW50ZXItZXZlbnRzOiBpbml0aWFsO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBmbGV4LWdyb3c6IDE7XG4gICAgZmxleC1iYXNpczogMDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgIGdhcDogY2FsYygkYnV0dG9uLWdhcCAtICgkYnV0dG9uLXNpemUgLSAkaWNvbi1zaXplKSk7XG59XG5cbi5teF9JbWFnZVZpZXdfYnV0dG9uIHtcbiAgICBwYWRkaW5nOiBjYWxjKCgkYnV0dG9uLXNpemUgLSAkaWNvbi1zaXplKSAvIDIpO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgaGVpZ2h0OiAkaWNvbi1zaXplO1xuICAgICAgICB3aWR0aDogJGljb24tc2l6ZTtcbiAgICAgICAgbWFzay1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgbWFzay1zaXplOiBjb250YWluO1xuICAgICAgICBtYXNrLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaWNvbi1idXR0b24tY29sb3I7XG4gICAgfVxufVxuXG4ubXhfSW1hZ2VWaWV3X2J1dHRvbl9yb3RhdGVDVzo6YmVmb3JlIHtcbiAgICBtYXNrLWltYWdlOiB1cmwoXCIkKHJlcykvaW1nL2ltYWdlLXZpZXcvcm90YXRlLWN3LnN2Z1wiKTtcbn1cblxuLm14X0ltYWdlVmlld19idXR0b25fcm90YXRlQ0NXOjpiZWZvcmUge1xuICAgIG1hc2staW1hZ2U6IHVybChcIiQocmVzKS9pbWcvaW1hZ2Utdmlldy9yb3RhdGUtY2N3LnN2Z1wiKTtcbn1cblxuLm14X0ltYWdlVmlld19idXR0b25fem9vbU91dDo6YmVmb3JlIHtcbiAgICBtYXNrLWltYWdlOiB1cmwoXCIkKHJlcykvaW1nL2ltYWdlLXZpZXcvem9vbS1vdXQuc3ZnXCIpO1xufVxuXG4ubXhfSW1hZ2VWaWV3X2J1dHRvbl96b29tSW46OmJlZm9yZSB7XG4gICAgbWFzay1pbWFnZTogdXJsKFwiJChyZXMpL2ltZy9pbWFnZS12aWV3L3pvb20taW4uc3ZnXCIpO1xufVxuXG4ubXhfSW1hZ2VWaWV3X2J1dHRvbl9kb3dubG9hZDo6YmVmb3JlIHtcbiAgICBtYXNrLWltYWdlOiB1cmwoXCJAdmVjdG9yLWltL2NvbXBvdW5kLWRlc2lnbi10b2tlbnMvaWNvbnMvZG93bmxvYWQuc3ZnXCIpO1xufVxuXG4ubXhfSW1hZ2VWaWV3X2J1dHRvbl9tb3JlOjpiZWZvcmUge1xuICAgIG1hc2staW1hZ2U6IHVybChcIkB2ZWN0b3ItaW0vY29tcG91bmQtZGVzaWduLXRva2Vucy9pY29ucy9vdmVyZmxvdy1ob3Jpem9udGFsLnN2Z1wiKTtcbiAgICBtYXNrLXNpemU6IDI4cHg7XG59XG5cbi5teF9JbWFnZVZpZXdfYnV0dG9uX2Nsb3NlIHtcbiAgICBwYWRkaW5nOiBjYWxjKCRidXR0b24tc2l6ZSAtICRidXR0b24tc2l6ZSk7XG4gICAgYm9yZGVyLXJhZGl1czogMTAwJTtcbiAgICBiYWNrZ3JvdW5kOiAjMjEyNjJjOyAvKiBzYW1lIG9uIGFsbCB0aGVtZXMgKi9cbiAgICAmOjpiZWZvcmUge1xuICAgICAgICB3aWR0aDogJGJ1dHRvbi1zaXplO1xuICAgICAgICBoZWlnaHQ6ICRidXR0b24tc2l6ZTtcbiAgICAgICAgbWFzay1pbWFnZTogdXJsKFwiQHZlY3Rvci1pbS9jb21wb3VuZC1kZXNpZ24tdG9rZW5zL2ljb25zL2Nsb3NlLnN2Z1wiKTtcbiAgICAgICAgbWFzay1zaXplOiAyNHB4O1xuICAgIH1cbn1cblxuQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uKSB7XG4gICAgLm14X0ltYWdlVmlld19pbWFnZV9hbmltYXRpbmcge1xuICAgICAgICB0cmFuc2l0aW9uOiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLm14X0ltYWdlVmlld19pbWFnZV9hbmltYXRpbmdMb2FkaW5nIHtcbiAgICAgICAgdHJhbnNpdGlvbjogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbn1cbiIsIi8qXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cbkNvcHlyaWdodCAyMDIwIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXG5cblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cbiovXG5cbi5teF9JbmZvVG9vbHRpcF9pY29uIHtcbiAgICB3aWR0aDogMTZweDtcbiAgICBoZWlnaHQ6IDE2cHg7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuXG4ubXhfSW5mb1Rvb2x0aXBfaWNvbjo6YmVmb3JlIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJG11dGVkLWZnLWNvbG9yO1xuICAgIG1hc2stcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgbWFzay1zaXplOiAxNnB4O1xuICAgIHdpZHRoOiAxNnB4O1xuICAgIGhlaWdodDogMTZweDtcbiAgICBtYXNrLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgY29udGVudDogXCJcIjtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuXG4ubXhfSW5mb1Rvb2x0aXBfaWNvbl9pbmZvOjpiZWZvcmUge1xuICAgIG1hc2staW1hZ2U6IHVybChcIkB2ZWN0b3ItaW0vY29tcG91bmQtZGVzaWduLXRva2Vucy9pY29ucy9pbmZvLnN2Z1wiKTtcbn1cblxuLm14X0luZm9Ub29sdGlwX2ljb25fd2FybmluZzo6YmVmb3JlIHtcbiAgICBtYXNrLWltYWdlOiB1cmwoXCJAdmVjdG9yLWltL2NvbXBvdW5kLWRlc2lnbi10b2tlbnMvaWNvbnMvZXJyb3Iuc3ZnXCIpO1xufVxuIiwiLypcbkNvcHlyaWdodCAyMDE3LTIwMjQgTmV3IFZlY3RvciBMdGQuXG5cblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cbiovXG5cbi5teF9JbmxpbmVTcGlubmVyIHtcbiAgICBkaXNwbGF5OiBpbmxpbmU7XG59XG5cbi5teF9JbmxpbmVTcGlubmVyIGltZyxcbi5teF9JbmxpbmVTcGlubmVyX2ljb24ge1xuICAgIG1hcmdpbjogMHB4IDZweDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogLTNweDtcbn1cblxuLm14X0lubGluZVNwaW5uZXJfaWNvbiB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrICFpbXBvcnRhbnQ7IC8qIE92ZXJyaWRlIHJlZ3VsYXIgbXhfU3Bpbm5lcl9pY29uICovXG59XG4iLCIvKlxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXG5Db3B5cmlnaHQgMjAxOS0yMDIxIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXG5cblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cbiovXG5cbi5teF9JbnRlcmFjdGl2ZVRvb2x0aXBfd3JhcHBlciB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHotaW5kZXg6IDM5OTk7XG59XG5cbi5teF9JbnRlcmFjdGl2ZVRvb2x0aXAge1xuICAgIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJHByaW1hcnktY29udGVudDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgei1pbmRleDogNTAwMTtcbiAgICBib3gtc2hhZG93OlxuICAgICAgICAwIDI0cHggOHB4IHJnYigxNyAxNyAyNiAvIDQlKSxcbiAgICAgICAgMCA4cHggMzJweCByZ2IoMTcgMTcgMjYgLyA0JSk7XG59XG5cbi5teF9JbnRlcmFjdGl2ZVRvb2x0aXAubXhfSW50ZXJhY3RpdmVUb29sdGlwX3dpdGhDaGV2cm9uX3RvcCB7XG4gICAgdG9wOiAxMHB4OyAvKiA4cHggY2hldnJvbiArIDJweCBzcGFjaW5nICovXG59XG5cbi5teF9JbnRlcmFjdGl2ZVRvb2x0aXAubXhfSW50ZXJhY3RpdmVUb29sdGlwX3dpdGhDaGV2cm9uX2xlZnQge1xuICAgIGxlZnQ6IDEwcHg7IC8qIDhweCBjaGV2cm9uICsgMnB4IHNwYWNpbmcgKi9cbn1cblxuLm14X0ludGVyYWN0aXZlVG9vbHRpcC5teF9JbnRlcmFjdGl2ZVRvb2x0aXBfd2l0aENoZXZyb25fcmlnaHQge1xuICAgIHJpZ2h0OiAxMHB4OyAvKiA4cHggY2hldnJvbiArIDJweCBzcGFjaW5nICovXG59XG5cbi5teF9JbnRlcmFjdGl2ZVRvb2x0aXAubXhfSW50ZXJhY3RpdmVUb29sdGlwX3dpdGhDaGV2cm9uX2JvdHRvbSB7XG4gICAgYm90dG9tOiAxMHB4OyAvKiA4cHggY2hldnJvbiArIDJweCBzcGFjaW5nICovXG59XG5cbi5teF9JbnRlcmFjdGl2ZVRvb2x0aXBfY2hldnJvbl90b3Age1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiBjYWxjKDUwJSAtIDhweCk7XG4gICAgdG9wOiAtOHB4O1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXItbGVmdDogOHB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1ib3R0b206IDhweCBzb2xpZCAkYmFja2dyb3VuZDtcbiAgICBib3JkZXItcmlnaHQ6IDhweCBzb2xpZCB0cmFuc3BhcmVudDtcbn1cblxuLyogQWRhcHRlZCBmcm9tIGh0dHBzOi8vY29keWhvdXNlLmNvL2Jsb2cvcG9zdC9jc3Mtcm91bmRlZC10cmlhbmdsZXMtd2l0aC1jbGlwLXBhdGggKi9cbi8qIGJ5IFNlYmFzdGlhbm8gR3VlcnJpZXJvIChAZ3VlcnJpZXJvX3NlKSAqL1xuQHN1cHBvcnRzIChjbGlwLXBhdGg6IHBvbHlnb24oMCUgMCUsIDEwMCUgMTAwJSwgMCUgMTAwJSkpIHtcbiAgICAubXhfSW50ZXJhY3RpdmVUb29sdGlwX2NoZXZyb25fdG9wIHtcbiAgICAgICAgaGVpZ2h0OiAxNnB4O1xuICAgICAgICB3aWR0aDogMTZweDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogaW5oZXJpdDtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICBjbGlwLXBhdGg6IHBvbHlnb24oMCUgMCUsIDEwMCUgMTAwJSwgMCUgMTAwJSk7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDEzNWRlZyk7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDAgMCAwIDNweDtcbiAgICAgICAgdG9wOiBjYWxjKC04cHggLyAxLjQxNCk7IC8qIHNxcnQoMikgYmVjYXVzZSBvZiByb3RhdGlvbiAqL1xuICAgIH1cbn1cblxuLm14X0ludGVyYWN0aXZlVG9vbHRpcF9jaGV2cm9uX2JvdHRvbSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IGNhbGMoNTAlIC0gOHB4KTtcbiAgICBib3R0b206IC04cHg7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlci1sZWZ0OiA4cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXRvcDogOHB4IHNvbGlkICRiYWNrZ3JvdW5kO1xuICAgIGJvcmRlci1yaWdodDogOHB4IHNvbGlkIHRyYW5zcGFyZW50O1xufVxuXG4vKiBBZGFwdGVkIGZyb20gaHR0cHM6Ly9jb2R5aG91c2UuY28vYmxvZy9wb3N0L2Nzcy1yb3VuZGVkLXRyaWFuZ2xlcy13aXRoLWNsaXAtcGF0aCAqL1xuLyogYnkgU2ViYXN0aWFubyBHdWVycmllcm8gKEBndWVycmllcm9fc2UpICovXG5Ac3VwcG9ydHMgKGNsaXAtcGF0aDogcG9seWdvbigwJSAwJSwgMTAwJSAxMDAlLCAwJSAxMDAlKSkge1xuICAgIC5teF9JbnRlcmFjdGl2ZVRvb2x0aXBfY2hldnJvbl9ib3R0b20ge1xuICAgICAgICBoZWlnaHQ6IDE2cHg7XG4gICAgICAgIHdpZHRoOiAxNnB4O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBpbmhlcml0O1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIGNsaXAtcGF0aDogcG9seWdvbigwJSAwJSwgMTAwJSAxMDAlLCAwJSAxMDAlKTtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMCAwIDAgM3B4O1xuICAgICAgICBib3R0b206IGNhbGMoLThweCAvIDEuNDE0KTsgLyogc3FydCgyKSBiZWNhdXNlIG9mIHJvdGF0aW9uICovXG4gICAgfVxufVxuIiwiLypcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxuQ29weXJpZ2h0IDIwMjEgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cblxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuKi9cblxuLm14X0ludml0ZVJlYXNvbiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1hcmdpbi1ib3R0b206IDFlbTtcblxuICAgIC5teF9JbnZpdGVSZWFzb25fcmVhc29uIHtcbiAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICB9XG5cbiAgICAubXhfSW52aXRlUmVhc29uX3ZpZXcge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGluc2V0OiAwO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBjb2xvcjogJHNlY29uZGFyeS1jb250ZW50O1xuXG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiA4cHg7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2Vjb25kYXJ5LWNvbnRlbnQ7XG4gICAgICAgICAgICBtYXNrLWltYWdlOiB1cmwoXCIkKHJlcykvaW1nL2VsZW1lbnQtaWNvbnMvZXllLnN2Z1wiKTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIHdpZHRoOiAxOHB4O1xuICAgICAgICAgICAgaGVpZ2h0OiAxNHB4O1xuICAgICAgICB9XG4gICAgfVxufVxuXG4ubXhfSW52aXRlUmVhc29uX2hpZGRlbiB7XG4gICAgLm14X0ludml0ZVJlYXNvbl9yZWFzb24ge1xuICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgfVxuXG4gICAgLm14X0ludml0ZVJlYXNvbl92aWV3IHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICB9XG59XG4iLCIvKlxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXG5Db3B5cmlnaHQgMjAyMiBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxuXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXG4qL1xuXG4ubXhfTGFiZWxsZWRDaGVja2JveCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBnYXA6IDhweDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuXG4gICAgLm14X0NoZWNrYm94IHtcbiAgICAgICAgbWFyZ2luLXRvcDogM3B4OyAvKiB2aXN1YWxseSBhbGlnbiB3aXRoIGxhYmVsIHRleHQgKi9cbiAgICB9XG5cbiAgICAubXhfTGFiZWxsZWRDaGVja2JveF9sYWJlbHMge1xuICAgICAgICBmbGV4OiAxO1xuXG4gICAgICAgIC5teF9MYWJlbGxlZENoZWNrYm94X2xhYmVsIHtcbiAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgIH1cblxuICAgICAgICAubXhfTGFiZWxsZWRDaGVja2JveF9ieWxpbmUge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogJHNwYWNpbmctNDtcbiAgICAgICAgICAgIGNvbG9yOiAkbXV0ZWQtZmctY29sb3I7XG4gICAgICAgICAgICBmb250LXNpemU6ICRmb250LTExcHg7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIvKlxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXG5Db3B5cmlnaHQgMjAyMyBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxuXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXG4qL1xuXG4ubXhfTGFuZ3VhZ2VEcm9wZG93biB7XG4gICAgLm14X0Ryb3Bkb3duX29wdGlvbiA+IGRpdiB7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplO1xuICAgIH1cbn1cbiIsIi8qXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cbkNvcHlyaWdodCAyMDIwIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXG5cblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cbiovXG5cbi5teF9NaW5pQXZhdGFyVXBsb2FkZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aWR0aDogbWluLWNvbnRlbnQ7XG5cbiAgICAubXhfTWluaUF2YXRhclVwbG9hZGVyX2luZGljYXRvciB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcblxuICAgICAgICBoZWlnaHQ6IDI2cHg7XG4gICAgICAgIHdpZHRoOiAyNnB4O1xuXG4gICAgICAgIHJpZ2h0OiAtNnB4O1xuICAgICAgICBib3R0b206IC02cHg7XG5cbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgei1pbmRleDogMTtcblxuICAgICAgICBsaW5lLWhlaWdodDogMDtcblxuICAgICAgICAubXhfTWluaUF2YXRhclVwbG9hZGVyX2NhbWVyYUljb24ge1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRzZWNvbmRhcnktY29udGVudDtcbiAgICAgICAgICAgIG1hc2stcG9zaXRpb246IGNlbnRlcjtcbiAgICAgICAgICAgIG1hc2stcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgICBtYXNrLWltYWdlOiB1cmwoXCJAdmVjdG9yLWltL2NvbXBvdW5kLWRlc2lnbi10b2tlbnMvaWNvbnMvdGFrZS1waG90by1zb2xpZC5zdmdcIik7XG4gICAgICAgICAgICBtYXNrLXNpemU6IDE2cHg7XG4gICAgICAgICAgICB6LWluZGV4OiAyO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4ubXhfTWluaUF2YXRhclVwbG9hZGVyX2lucHV0IHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuIiwiLypcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxuQ29weXJpZ2h0IDIwMjEgxaBpbW9uIEJyYW5kbmVyIDxzaW1vbi5icmEuYWdAZ21haWwuY29tPlxuXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXG4qL1xuXG4ubXhfUGlsbCB7XG4gICAgcGFkZGluZzogJGZvbnQtMXB4IDAuNGVtICRmb250LTFweCAwLjRlbTtcbiAgICBsaW5lLWhlaWdodDogJGZvbnQtMTdweDtcbiAgICBib3JkZXItcmFkaXVzOiAkZm9udC0xNnB4O1xuICAgIHZlcnRpY2FsLWFsaWduOiB0ZXh0LXRvcDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgY29sb3I6IHZhcigtLWNwZC1jb2xvci10ZXh0LW9uLXNvbGlkLXByaW1hcnkpICFpbXBvcnRhbnQ7IC8qIFRvIG92ZXJyaWRlIC5tYXJrZG93bi1ib2R5ICovXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHBpbGwtYmctY29sb3IgIWltcG9ydGFudDsgLyogVG8gb3ZlcnJpZGUgLm1hcmtkb3duLWJvZHkgKi9cblxuICAgID4gKiB7XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIH1cblxuICAgICYubXhfVXNlclBpbGxfbWUsXG4gICAgJi5teF9BdFJvb21QaWxsIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY3BkLWNvbG9yLWJnLWNyaXRpY2FsLXByaW1hcnkpICFpbXBvcnRhbnQ7IC8qIFRvIG92ZXJyaWRlIC5tYXJrZG93bi1ib2R5ICovXG4gICAgfVxuXG4gICAgJjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRwaWxsLWhvdmVyLWJnLWNvbG9yICFpbXBvcnRhbnQ7IC8qIFRvIG92ZXJyaWRlIC5tYXJrZG93bi1ib2R5ICovXG4gICAgfVxuXG4gICAgJjphY3RpdmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcGlsbC1wcmVzcy1iZy1jb2xvciAhaW1wb3J0YW50OyAvKiBUbyBvdmVycmlkZSAubWFya2Rvd24tYm9keSAqL1xuICAgIH1cblxuICAgICYubXhfVXNlclBpbGxfbWU6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoXG4gICAgICAgICAgICAtLWNwZC1jb2xvci1iZy1jcml0aWNhbC1ob3ZlcmVkXG4gICAgICAgICkgIWltcG9ydGFudDsgLyogVG8gb3ZlcnJpZGUgLm1hcmtkb3duLWJvZHkgfCBzYW1lIG9uIGJvdGggdGhlbWVzICovXG4gICAgfVxuXG4gICAgLyogV2UgZG9uJ3Qgd2FudCB0byBpbmRpY2F0ZSBjbGlja2FiaWxpdHkgKi9cbiAgICAmLm14X0F0Um9vbVBpbGw6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jcGQtY29sb3ItYmctY3JpdGljYWwtcHJpbWFyeSkgIWltcG9ydGFudDsgLyogVG8gb3ZlcnJpZGUgLm1hcmtkb3duLWJvZHkgKi9cbiAgICAgICAgY3Vyc29yOiB1bnNldDtcbiAgICB9XG5cbiAgICAmOjpiZWZvcmUsXG4gICAgLm14X0Jhc2VBdmF0YXIge1xuICAgICAgICBtYXJnaW4taW5saW5lLXN0YXJ0OiAtMC4zZW07IC8qIE90aGVyd2lzZSB0aGUgZ2FwIGlzIHRvbyBsYXJnZSAqL1xuICAgICAgICBtYXJnaW4taW5saW5lLWVuZDogMC4yZW07XG4gICAgICAgIG1pbi13aWR0aDogJGZvbnQtMTZweDsgLyogZW5zdXJlIHRoZSBhdmF0YXIgaXMgbm90IGNvbXByZXNzZWQgKi9cbiAgICB9XG5cbiAgICAubXhfUGlsbF90ZXh0IHtcbiAgICAgICAgbWluLXdpZHRoOiAwO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB9XG5cbiAgICBhJiB7XG4gICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmUgIWltcG9ydGFudDsgLyogVG8gb3ZlcnJpZGUgLm1hcmtkb3duLWJvZHkgKi9cbiAgICB9XG5cbiAgICAubXhfUGlsbF9MaW5rSWNvbiB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRsaW5rLWV4dGVybmFsO1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICBjb2xvcjogJGJhY2tncm91bmQ7XG4gICAgICAgIGhlaWdodDogMTZweDtcbiAgICAgICAgcGFkZGluZzogMXB4O1xuICAgICAgICB3aWR0aDogMTZweDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIH1cblxuICAgIC5teF9QaWxsX1VzZXJJY29uIHtcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgY29sb3I6ICRzZWNvbmRhcnktY29udGVudDtcbiAgICAgICAgaGVpZ2h0OiAxNnB4O1xuICAgICAgICB3aWR0aDogMTZweDtcbiAgICB9XG5cbiAgICAmLm14X1NwYWNlUGlsbCB7XG4gICAgICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDhweDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogOHB4O1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDRweDtcbiAgICB9XG59XG4iLCIvKlxuQ29weXJpZ2h0IDIwMTktMjAyNCBOZXcgVmVjdG9yIEx0ZC5cblxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuKi9cblxuLm14X1Bvd2VyU2VsZWN0b3Ige1xuICAgIHdpZHRoOiAxMDAlO1xufVxuXG4ubXhfUG93ZXJTZWxlY3RvciAubXhfRmllbGQgc2VsZWN0LFxuLm14X1Bvd2VyU2VsZWN0b3IgLm14X0ZpZWxkIGlucHV0IHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xufVxuIiwiLypcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxuQ29weXJpZ2h0IDIwMjAsIDIwMjEgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cblxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuKi9cblxucHJvZ3Jlc3MubXhfUHJvZ3Jlc3NCYXIge1xuICAgIGhlaWdodDogNnB4O1xuICAgIHdpZHRoOiA2MHB4O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICBib3JkZXI6IHZhcigtLWNwZC1ib3JkZXItd2lkdGgtMSkgc29saWQgdmFyKC0tY3BkLWNvbG9yLWdyYXktNDAwKTtcblxuICAgIEBtaXhpbiBQcm9ncmVzc0JhckJvcmRlclJhZGl1cyA2cHg7XG4gICAgQG1peGluIFByb2dyZXNzQmFyQ29sb3VyIHZhcigtLWNwZC1jb2xvci1pY29uLWFjY2VudC10ZXJ0aWFyeSk7XG4gICAgQG1peGluIFByb2dyZXNzQmFyQmdDb2xvdXIgJHByb2dyZXNzYmFyLWJnLWNvbG9yO1xuICAgICY6Oi13ZWJraXQtcHJvZ3Jlc3MtdmFsdWUge1xuICAgICAgICB0cmFuc2l0aW9uOiB3aWR0aCAxcztcbiAgICB9XG59XG4iLCIvKlxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXG5Db3B5cmlnaHQgMjAyMCBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxuXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXG4qL1xuXG4ubXhfUVJDb2RlIHtcbiAgICBpbWcge1xuICAgICAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgfVxufVxuIiwiLypcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxuQ29weXJpZ2h0IDIwMTggVmVjdG9yIENyZWF0aW9ucyBMdGRcblxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuKi9cblxuLm14X1JlcGx5Q2hhaW4ge1xuICAgIG1hcmdpbjogMDsgLyogUmVzZXQgZGVmYXVsdCBibG9ja3F1b3RlIG1hcmdpbiAqL1xuICAgIHBhZGRpbmctbGVmdDogMTBweDtcbiAgICBib3JkZXItbGVmdDogMnB4IHNvbGlkIHZhcigtLXVzZXJuYW1lLWNvbG9yKTtcbiAgICBib3JkZXItcmFkaXVzOiAycHg7XG5cbiAgICAubXhfUmVwbHlDaGFpbl9zaG93IHtcbiAgICAgICAgJi5teF9BY2Nlc3NpYmxlQnV0dG9uX2tpbmRfbGlua19pbmxpbmUge1xuICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsgLyogRW5mb3JjZSAnSW4gcmVwbHkgdG8nIHRvIGJlIGEgc2luZ2xlIGxpbmUgKi9cbiAgICAgICAgICAgIGNvbG9yOiAkc2Vjb25kYXJ5LWNvbnRlbnQ7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciBlYXNlIDAuMTVzO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLWNwZC1mb250LXdlaWdodC1yZWd1bGFyKTtcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogaW5oZXJpdDtcblxuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRwcmltYXJ5LWNvbnRlbnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLm14X1JlcGx5Q2hhaW5fY29sb3IxIHtcbiAgICAgICAgLS11c2VybmFtZS1jb2xvcjogJHVzZXJuYW1lLXZhcmlhbnQxLWNvbG9yO1xuICAgIH1cblxuICAgICYubXhfUmVwbHlDaGFpbl9jb2xvcjIge1xuICAgICAgICAtLXVzZXJuYW1lLWNvbG9yOiAkdXNlcm5hbWUtdmFyaWFudDItY29sb3I7XG4gICAgfVxuXG4gICAgJi5teF9SZXBseUNoYWluX2NvbG9yMyB7XG4gICAgICAgIC0tdXNlcm5hbWUtY29sb3I6ICR1c2VybmFtZS12YXJpYW50My1jb2xvcjtcbiAgICB9XG5cbiAgICAmLm14X1JlcGx5Q2hhaW5fY29sb3I0IHtcbiAgICAgICAgLS11c2VybmFtZS1jb2xvcjogJHVzZXJuYW1lLXZhcmlhbnQ0LWNvbG9yO1xuICAgIH1cblxuICAgICYubXhfUmVwbHlDaGFpbl9jb2xvcjUge1xuICAgICAgICAtLXVzZXJuYW1lLWNvbG9yOiAkdXNlcm5hbWUtdmFyaWFudDUtY29sb3I7XG4gICAgfVxuXG4gICAgJi5teF9SZXBseUNoYWluX2NvbG9yNiB7XG4gICAgICAgIC0tdXNlcm5hbWUtY29sb3I6ICR1c2VybmFtZS12YXJpYW50Ni1jb2xvcjtcbiAgICB9XG59XG4iLCIvKlxuQ29weXJpZ2h0IDIwMTgtMjAyNCBOZXcgVmVjdG9yIEx0ZC5cblxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuKi9cblxuLm14X1Jlc2l6ZUhhbmRsZSB7XG4gICAgY3Vyc29yOiByb3ctcmVzaXplO1xuICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIHotaW5kZXg6IDEwMDtcblxuICAgICYubXhfUmVzaXplSGFuZGxlLS1ob3Jpem9udGFsIHtcbiAgICAgICAgbWFyZ2luOiAwIC01cHg7XG4gICAgICAgIHBhZGRpbmc6IDAgNXB4O1xuICAgICAgICBjdXJzb3I6IGNvbC1yZXNpemU7XG5cbiAgICAgICAgPiBkaXYge1xuICAgICAgICAgICAgd2lkdGg6IDFweDtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYubXhfUmVzaXplSGFuZGxlLS12ZXJ0aWNhbCB7XG4gICAgICAgIG1hcmdpbjogLTVweCAwO1xuICAgICAgICBwYWRkaW5nOiA1cHggMDtcblxuICAgICAgICA+IGRpdiB7XG4gICAgICAgICAgICBoZWlnaHQ6IDFweDtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi8qIFhYWDogYmxldXJnaCwgd2hhdCBpcyB0aGlzPyBUaGVzZSBjbGFzc2VzIHRvdGFsbHkgYnJlYWsgdGhlIGNvbXBvbmVudCAqL1xuLyogbmFtaW5nIHNjaGVtZTsgaXQncyBjb21wbGV0ZWx5IHVuY2xlYXIgd2hlcmUgb3IgaG93IHRoZXkncmUgYmVpbmcgdXNlZCAqL1xuLyogLS1NYXR0aGV3ICovXG5cbi5teF9NYXJrZG93bl9CT0xEIHtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbn1cblxuLm14X01hcmtkb3duX0lUQUxJQyB7XG4gICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgIC8qXG4gICAgLy8gaW50ZXJlc3RpbmdseSwgKm5vdCogdXNpbmcgdGhlIGV4cGxpY2l0IGl0YWxpYyBmb250XG4gICAgLy8gdmFyaWFudCBzZWVtcyB5aWVsZCBiZXR0ZXIgcmVzdWx0cy5cblxuICAgIC8vIGNvbXBlbnNhdGUgZm9yIE51bml0byBpdGFsaWNzIGJlaW5nIHRlcnJpYmxlXG4gICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL2dvb2dsZS9mb250cy9pc3N1ZXMvMTcyXG4gICAgdHJhbnNmb3JtOiBza2V3WCgtMTRkZWcpO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAqL1xufVxuXG4ubXhfTWFya2Rvd25fQ09ERSB7XG4gICAgcGFkZGluZzogMC4yZW0gMDtcbiAgICBtYXJnaW46IDA7XG4gICAgZm9udC1zaXplOiA4NSU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHJ0ZS1jb2RlLWJnLWNvbG9yO1xuICAgIGJvcmRlci1yYWRpdXM6IDNweDtcbn1cblxuLm14X01hcmtkb3duX0hSIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBiYWNrZ3JvdW5kOiAkcnRlLWJnLWNvbG9yO1xufVxuXG4ubXhfTWFya2Rvd25fU1RSSUtFVEhST1VHSCB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBsaW5lLXRocm91Z2g7XG59XG5cbi5teF9FbW9qaSB7XG4gICAgLyogU2hvdWxkIGJlIDEuOHJlbSBmb3Igb3VyIGRlZmF1bHQgbWVzc2FnZSBib2RpZXMsIGFuZCBzY2FsZSB3aXRoIHRoZSAqL1xuICAgIC8qIHN1cnJvdW5kaW5nIHRleHQgKi9cbiAgICBmb250LXNpemU6IG1heCgkZm9udC0xOHB4LCAxZW0pO1xuICAgIHZlcnRpY2FsLWFsaWduOiBib3R0b207XG59XG4iLCIvKlxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXG5Db3B5cmlnaHQgMjAxOSBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxuXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXG4qL1xuXG4ubXhfUm9vbUFsaWFzRmllbGQge1xuICAgIC8qIGlmIHBhcmVudCBpcyBhIGZsZXggY29udGFpbmVyLCB0aGlzIGFsbG93cyB0aGUgKi9cbiAgICAvKiB3aWR0aCB0byBiZSBhcyB3aWRlIGFzIG5lZWRlZCwgYW5kIG5vdCAxMDAlICovXG4gICAgZmxleDogMCAxIGF1dG87XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICBtaW4td2lkdGg6IDA7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuXG4gICAgaW5wdXQge1xuICAgICAgICB3aWR0aDogMTUwcHg7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICB9XG5cbiAgICBpbnB1dDo6cGxhY2Vob2xkZXIge1xuICAgICAgICBjb2xvcjogJGluZm8tcGxpbnRoLWZnLWNvbG9yO1xuICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIH1cblxuICAgIC5teF9GaWVsZF9wcmVmaXgsXG4gICAgLm14X0ZpZWxkX3Bvc3RmaXgge1xuICAgICAgICBjb2xvcjogJGluZm8tcGxpbnRoLWZnLWNvbG9yO1xuICAgICAgICBib3JkZXItbGVmdDogbm9uZTtcbiAgICAgICAgYm9yZGVyLXJpZ2h0OiBub25lO1xuICAgICAgICBmb250LXdlaWdodDogdmFyKC0tY3BkLWZvbnQtd2VpZ2h0LXNlbWlib2xkKTtcbiAgICAgICAgcGFkZGluZzogOXB4IDEwcHg7XG4gICAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIH1cblxuICAgIC5teF9GaWVsZF9wb3N0Zml4IHtcbiAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIC8qIHRoaXMgYWxsb3dzIHRoZSBkb21haW4gbmFtZSB0byBzaG93ICovXG4gICAgICAgIC8qIGFzIGxvbmcgYXMgaXQgZG9lc24ndCBtYWtlIHRoZSBpbnB1dCBzaHJpbmsgKi9cbiAgICAgICAgLyogaWYgaXQncyB0b28gYmlnLCBpdCBzaG93cyBhbiBlbGxpcHNpcyAqL1xuICAgICAgICAvKiAxODA6IDI4IGZvciBwcmVmaXgsIDE1MiBmb3IgaW5wdXQgKi9cbiAgICAgICAgbWF4LXdpZHRoOiBjYWxjKDEwMCUgLSAxODBweCk7XG4gICAgfVxufVxuIiwiLypcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxuQ29weXJpZ2h0IDIwMjAgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cblxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuKi9cblxuLm14X1NTT0J1dHRvbnMge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG4gICAgLm14X1NTT0J1dHRvbnNfcm93IHtcbiAgICAgICAgJiArIC5teF9TU09CdXR0b25zX3JvdyB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAxNnB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm14X1NTT0J1dHRvbiB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHBhZGRpbmc6IDdweCAzMnB4O1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBmb250OiB2YXIoLS1jcGQtZm9udC1ib2R5LW1kLXNlbWlib2xkKTtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJGlucHV0LWJvcmRlci1jb2xvcjtcbiAgICAgICAgY29sb3I6ICRwcmltYXJ5LWNvbnRlbnQ7XG5cbiAgICAgICAgPiBpbWcge1xuICAgICAgICAgICAgb2JqZWN0LWZpdDogY29udGFpbjtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIGxlZnQ6IDhweDtcbiAgICAgICAgICAgIHRvcDogNHB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm14X1NTT0J1dHRvbjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRwYW5lbC1hY3Rpb25zO1xuICAgIH1cblxuICAgIC5teF9TU09CdXR0b25fZGVmYXVsdCB7XG4gICAgICAgIGNvbG9yOiAkYWNjZW50O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYnV0dG9uLXNlY29uZGFyeS1iZy1jb2xvcjtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkYWNjZW50O1xuICAgIH1cbiAgICAubXhfU1NPQnV0dG9uX2RlZmF1bHQubXhfU1NPQnV0dG9uX3ByaW1hcnkge1xuICAgICAgICBjb2xvcjogJGJ1dHRvbi1wcmltYXJ5LWZnLWNvbG9yO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYWNjZW50O1xuICAgIH1cblxuICAgIC5teF9TU09CdXR0b25fbWluaSB7XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIHdpZHRoOiA1MHB4OyAvKiA0OHB4ICsgMXB4IGJvcmRlciBvbiBhbGwgc2lkZXMgKi9cbiAgICAgICAgaGVpZ2h0OiA1MHB4OyAvKiA0OHB4ICsgMXB4IGJvcmRlciBvbiBhbGwgc2lkZXMgKi9cbiAgICAgICAgbWluLXdpZHRoOiA1MHB4OyAvKiBwcmV2ZW50IGNydXNoaW5nIGJ5IHRoZSBmbGV4Ym94ICovXG4gICAgICAgIHBhZGRpbmc6IDEycHg7XG5cbiAgICAgICAgPiBpbWcge1xuICAgICAgICAgICAgbGVmdDogMTJweDtcbiAgICAgICAgICAgIHRvcDogMTJweDtcbiAgICAgICAgfVxuXG4gICAgICAgICYgKyAubXhfU1NPQnV0dG9uX21pbmkge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDE2cHg7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIvKlxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXG5Db3B5cmlnaHQgMjAyMCBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxuXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXG4qL1xuXG4ubXhfU2VhcmNoV2FybmluZyB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHBhZGRpbmc6IDAgMTZweDtcblxuICAgID4gKiB7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgfVxuXG4gICAgPiBpbWcge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDhweDtcbiAgICB9XG59XG4iLCIvKlxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXG5Db3B5cmlnaHQgMjAyMCBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxuXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXG4qL1xuXG4ubXhfU2VydmVyUGlja2VyIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxNHB4O1xuICAgIHBhZGRpbmctYm90dG9tOiAkc3BhY2luZy0xNjtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiYSgxNDEsIDE1MSwgMTY1LCAwLjIpO1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBhdXRvIG1pbi1jb250ZW50O1xuICAgIGdyaWQtdGVtcGxhdGUtcm93czogYXV0byBhdXRvIGF1dG87XG4gICAgZm9udDogdmFyKC0tY3BkLWZvbnQtYm9keS1tZC1yZWd1bGFyKTtcblxuICAgID4gaDIge1xuICAgICAgICBmb250LXdlaWdodDogdmFyKC0tY3BkLWZvbnQtd2VpZ2h0LXNlbWlib2xkKTtcbiAgICAgICAgbWFyZ2luOiAwIDAgMjBweDtcbiAgICAgICAgZ3JpZC1jb2x1bW46IDE7XG4gICAgICAgIGdyaWQtcm93OiAxO1xuICAgIH1cblxuICAgIC5teF9TZXJ2ZXJQaWNrZXJfaGVscCB7XG4gICAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRpY29uLWJ1dHRvbi1jb2xvcjtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgICAgICAgZ3JpZC1jb2x1bW46IDI7XG4gICAgICAgIGdyaWQtcm93OiAxO1xuICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICB3aWR0aDogMjRweDtcbiAgICAgICAgICAgIGhlaWdodDogMjRweDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogLTJweDtcbiAgICAgICAgICAgIGxlZnQ6IC0ycHg7XG4gICAgICAgICAgICBtYXNrLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICAgICAgICBtYXNrLXNpemU6IGNvbnRhaW47XG4gICAgICAgICAgICBtYXNrLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgICAgbWFzay1pbWFnZTogdXJsKFwiJChyZXMpL2ltZy9lbGVtZW50LWljb25zL2kuc3ZnXCIpO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogI2ZmZmZmZjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5teF9TZXJ2ZXJQaWNrZXJfc2VydmVyIHtcbiAgICAgICAgY29sb3I6ICRhdXRocGFnZS1wcmltYXJ5LWNvbG9yO1xuICAgICAgICBncmlkLWNvbHVtbjogMTtcbiAgICAgICAgZ3JpZC1yb3c6IDI7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDhweDtcbiAgICB9XG5cbiAgICAubXhfU2VydmVyUGlja2VyX2NoYW5nZSB7XG4gICAgICAgIGdyaWQtY29sdW1uOiAyO1xuICAgICAgICBncmlkLXJvdzogMjtcbiAgICB9XG5cbiAgICAubXhfU2VydmVyUGlja2VyX2Rlc2Mge1xuICAgICAgICBtYXJnaW4tdG9wOiA0cHg7XG4gICAgICAgIGNvbG9yOiAkdGVydGlhcnktY29udGVudDtcbiAgICAgICAgZ3JpZC1jb2x1bW46IDEgLyAyO1xuICAgICAgICBncmlkLXJvdzogMztcbiAgICB9XG59XG5cbi5teF9TZXJ2ZXJQaWNrZXJfaGVscERpYWxvZyB7XG4gICAgLm14X0RpYWxvZ19jb250ZW50IHtcbiAgICAgICAgd2lkdGg6IDQ1NnB4O1xuICAgIH1cbn1cbiIsIi8qXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cbkNvcHlyaWdodCAyMDIxIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXG5cblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cbiovXG5cbi5teF9TZXR0aW5nc0ZsYWcge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgbWFyZ2luLWJvdHRvbTogNHB4O1xuICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgLm14X1RvZ2dsZVN3aXRjaCB7XG4gICAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIH1cblxuICAgICYubXhfU2V0dGluZ3NGbGFnX3RvZ2dsZUluRnJvbnQge1xuICAgICAgICAubXhfVG9nZ2xlU3dpdGNoIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDhweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5teF9TZXR0aW5nc0ZsYWdfbGFiZWwge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLm14X1NldHRpbmdzRmxhZ19sYWJlbCB7XG4gICAgZmxleDogMTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgY29sb3I6ICRwcmltYXJ5LWNvbnRlbnQ7XG4gICAgcGFkZGluZy1yaWdodDogMTBweDtcbiAgICBwYWRkaW5nLXRvcDogNHB4O1xufVxuXG4ubXhfU2V0dGluZ3NGbGFnX21pY3JvY29weSB7XG4gICAgbWFyZ2luLXRvcDogNHB4O1xuICAgIGZvbnQ6IHZhcigtLWNwZC1mb250LWJvZHktc20tcmVndWxhcik7XG4gICAgY29sb3I6ICRzZWNvbmRhcnktY29udGVudDtcblxuICAgIC8qIFN1cHBvcnQgY29kZS9wcmUgZWxlbWVudHMgaW4gc2V0dGluZ3MgZmxhZyBkZXNjcmlwdGlvbnMgKi9cbiAgICBwcmUsXG4gICAgY29kZSB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAkbW9ub3NwYWNlLWZvbnQtZmFtaWx5ICFpbXBvcnRhbnQ7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRydGUtY29kZS1iZy1jb2xvcjtcbiAgICB9XG5cbiAgICAubXhfU2V0dGluZ3NUYWJfbWljcm9jb3B5X3dhcm5pbmc6OmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IFwi4pqg77iPIFwiO1xuICAgIH1cbn1cbiIsIi8qXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cbkNvcHlyaWdodCAyMDIxIMWgaW1vbiBCcmFuZG5lciA8c2ltb24uYnJhLmFnQGdtYWlsLmNvbT5cbkNvcHlyaWdodCAyMDE1LCAyMDE2IE9wZW5NYXJrZXQgTHRkXG5cblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cbiovXG5cbi5teF9TcGlubmVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGZsZXg6IDE7XG59XG5cbi5teF9NYXRyaXhDaGF0X21pZGRsZVBhbmVsIC5teF9TcGlubmVyIHtcbiAgICBoZWlnaHQ6IGF1dG87XG59XG5cbkBrZXlmcmFtZXMgc3BpbiB7XG4gICAgZnJvbSB7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlWigwZGVnKTtcbiAgICB9XG4gICAgdG8ge1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZVooMzYwZGVnKTtcbiAgICB9XG59XG5cbi5teF9TcGlubmVyX2ljb24ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRxdWluYXJ5LWNvbnRlbnQ7XG4gICAgbWFzazogdXJsKFwiJChyZXMpL2ltZy9zcGlubmVyL3NwaW5uZXItYmFja2dyb3VuZC5zdmdcIik7XG4gICAgbWFzay1zaXplOiAxMDAlO1xuXG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHNlY29uZGFyeS1jb250ZW50O1xuICAgICAgICBtYXNrOiB1cmwoXCIkKHJlcykvaW1nL3NwaW5uZXIvc3Bpbm5lci1mb3JlZ3JvdW5kLnN2Z1wiKTtcbiAgICAgICAgbWFzay1zaXplOiAxMDAlO1xuXG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG5cbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgZGlzcGxheTogZmxleDtcblxuICAgICAgICBhbmltYXRpb246IDFzIGxpbmVhciBzcGluIGluZmluaXRlO1xuICAgIH1cbn1cbiIsIi8qXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cbkNvcHlyaWdodCAyMDIwIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXG5cblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cbiovXG5cbi5teF9DaGVja2JveCB7XG4gICAgJHNpemU6ICRmb250LTE2cHg7XG4gICAgJGJvcmRlci1yYWRpdXM6IDAuMjdyZW07XG5cbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuXG4gICAgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdIHtcbiAgICAgICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwYWRkaW5nOiAwO1xuXG4gICAgICAgICYgKyBsYWJlbCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgICAgICAgICAgZmxleC1ncm93OiAxO1xuICAgICAgICB9XG5cbiAgICAgICAgJiArIGxhYmVsID4gLm14X0NoZWNrYm94X2JhY2tncm91bmQge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuXG4gICAgICAgICAgICBoZWlnaHQ6ICRzaXplO1xuICAgICAgICAgICAgd2lkdGg6ICRzaXplO1xuICAgICAgICAgICAgc2l6ZTogMC41cmVtO1xuICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tY3BkLWNvbG9yLWJvcmRlci1pbnRlcmFjdGl2ZS1wcmltYXJ5KTtcbiAgICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcblxuICAgICAgICAgICAgLm14X0NoZWNrYm94X2NoZWNrbWFyayB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcblxuICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICBtYXNrLWltYWdlOiB1cmwoXCJAdmVjdG9yLWltL2NvbXBvdW5kLWRlc2lnbi10b2tlbnMvaWNvbnMvY2hlY2suc3ZnXCIpO1xuICAgICAgICAgICAgICAgIG1hc2stcG9zaXRpb246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBtYXNrLXNpemU6IDEwMCU7XG4gICAgICAgICAgICAgICAgbWFzay1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICY6Y2hlY2tlZCArIGxhYmVsID4gLm14X0NoZWNrYm94X2JhY2tncm91bmQgLm14X0NoZWNrYm94X2NoZWNrbWFyayB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuXG4gICAgICAgICYgKyBsYWJlbCA+ICo6bm90KC5teF9DaGVja2JveF9iYWNrZ3JvdW5kKSB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMTBweDtcbiAgICAgICAgfVxuXG4gICAgICAgICY6ZGlzYWJsZWQgKyBsYWJlbCB7XG4gICAgICAgICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpmb2N1cy12aXNpYmxlIHtcbiAgICAgICAgICAgICYgKyBsYWJlbCAubXhfQ2hlY2tib3hfYmFja2dyb3VuZCB7XG4gICAgICAgICAgICAgICAgQG1peGluIHVucmVhbC1mb2N1cztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLm14X0NoZWNrYm94Lm14X0NoZWNrYm94X2tpbmRfc29saWQgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdIHtcbiAgICAmICsgbGFiZWwgPiAubXhfQ2hlY2tib3hfYmFja2dyb3VuZCAubXhfQ2hlY2tib3hfY2hlY2ttYXJrIHtcbiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tY3BkLWNvbG9yLWljb24tb24tc29saWQtcHJpbWFyeSk7XG4gICAgfVxuXG4gICAgJjpjaGVja2VkICsgbGFiZWwgPiAubXhfQ2hlY2tib3hfYmFja2dyb3VuZCB7XG4gICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWNwZC1jb2xvci1iZy1hY2NlbnQtcmVzdCk7XG4gICAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0tY3BkLWNvbG9yLWJnLWFjY2VudC1yZXN0KTtcbiAgICB9XG5cbiAgICAmOmNoZWNrZWQ6ZGlzYWJsZWQgKyBsYWJlbCA+IC5teF9DaGVja2JveF9iYWNrZ3JvdW5kIHtcbiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tY3BkLWNvbG9yLWJnLWFjdGlvbi1wcmltYXJ5LWRpc2FibGVkKTtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jcGQtY29sb3ItYmctYWN0aW9uLXByaW1hcnktZGlzYWJsZWQpO1xuICAgIH1cbn1cblxuLm14X0NoZWNrYm94Lm14X0NoZWNrYm94X2tpbmRfb3V0bGluZSBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0ge1xuICAgICYgKyBsYWJlbCA+IC5teF9DaGVja2JveF9iYWNrZ3JvdW5kIC5teF9DaGVja2JveF9jaGVja21hcmsge1xuICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jcGQtY29sb3ItYmctYWNjZW50LXJlc3QpO1xuICAgIH1cblxuICAgICY6Y2hlY2tlZCArIGxhYmVsID4gLm14X0NoZWNrYm94X2JhY2tncm91bmQge1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jcGQtY29sb3ItYmctYWNjZW50LXJlc3QpO1xuICAgIH1cbn1cbiIsIi8qXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cbkNvcHlyaWdodCAyMDIwIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXG5cblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cbiovXG5cbi8qKlxuKiBUaGlzIGNvbXBvbmVudCBleHBlY3RzIHRoZSBwYXJlbnQgdG8gc3BlY2lmeSBhIHBvc2l0aXZlIHBhZGRpbmcgYW5kXG4qIHdpZHRoXG4qL1xuXG4ubXhfU3R5bGVkUmFkaW9CdXR0b24ge1xuICAgICRyYWRpby1jaXJjbGUtY29sb3I6IHZhcigtLWNwZC1jb2xvci1ib3JkZXItaW50ZXJhY3RpdmUtcHJpbWFyeSk7XG4gICAgJGFjdGl2ZS1yYWRpby1jaXJjbGUtY29sb3I6IHZhcigtLWNwZC1jb2xvci1iZy1hY2NlbnQtcmVzdCk7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogYmFzZWxpbmU7XG4gICAgZmxleC1ncm93OiAxO1xuXG4gICAgPiAubXhfU3R5bGVkUmFkaW9CdXR0b25fY29udGVudCB7XG4gICAgICAgIGZsZXgtZ3JvdzogMTtcblxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXG4gICAgICAgIG1hcmdpbi1sZWZ0OiA4cHg7XG4gICAgICAgIG1hcmdpbi1yaWdodDogOHB4O1xuICAgIH1cblxuICAgIC5teF9TdHlsZWRSYWRpb0J1dHRvbl9zcGFjZXIge1xuICAgICAgICBmbGV4LXNocmluazogMDtcbiAgICAgICAgZmxleC1ncm93OiAwO1xuXG4gICAgICAgIGhlaWdodDogJGZvbnQtMTZweDtcbiAgICAgICAgd2lkdGg6ICRmb250LTE2cHg7XG4gICAgfVxuXG4gICAgaW5wdXRbdHlwZT1cInJhZGlvXCJdIHtcbiAgICAgICAgLyogUmVtb3ZlIHRoZSBPUydzIHJlcHJlc2VudGF0aW9uICovXG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgYXBwZWFyYW5jZTogbm9uZTtcblxuICAgICAgICArIGRpdiB7XG4gICAgICAgICAgICBmbGV4LXNocmluazogMDtcbiAgICAgICAgICAgIGZsZXgtZ3JvdzogMDtcblxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblxuICAgICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgICAgIGhlaWdodDogJGZvbnQtMTZweDtcbiAgICAgICAgICAgIHdpZHRoOiAkZm9udC0xNnB4O1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDJweDsgLyogRm9yIHRoZSBoaWdobGlnaHQgb24gZm9jdXMgKi9cblxuICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHJhZGlvLWNpcmNsZS1jb2xvcjtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6ICRmb250LTE2cHg7XG5cbiAgICAgICAgICAgID4gZGl2IHtcbiAgICAgICAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAkZm9udC04cHg7XG4gICAgICAgICAgICAgICAgd2lkdGg6ICRmb250LThweDtcblxuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6ICRmb250LThweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICY6Zm9jdXMtdmlzaWJsZSB7XG4gICAgICAgICAgICAmICsgZGl2IHtcbiAgICAgICAgICAgICAgICBAbWl4aW4gdW5yZWFsLWZvY3VzO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJjpjaGVja2VkIHtcbiAgICAgICAgICAgICYgKyBkaXYge1xuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJGFjdGl2ZS1yYWRpby1jaXJjbGUtY29sb3I7XG5cbiAgICAgICAgICAgICAgICAmID4gZGl2IHtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJGFjdGl2ZS1yYWRpby1jaXJjbGUtY29sb3I7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJjpkaXNhYmxlZCB7XG4gICAgICAgICAgICAmICsgZGl2LFxuICAgICAgICAgICAgJiArIGRpdiArIHNwYW4ge1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDAuNTtcbiAgICAgICAgICAgICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmICsgZGl2IHtcbiAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6ICRyYWRpby1jaXJjbGUtY29sb3I7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmOmNoZWNrZWQ6ZGlzYWJsZWQge1xuICAgICAgICAgICAgJiArIGRpdiA+IGRpdiB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHJhZGlvLWNpcmNsZS1jb2xvcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5teF9TdHlsZWRSYWRpb0J1dHRvbl9pbm5lckxhYmVsIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB0b3A6IDRweDtcbiAgICB9XG59XG5cbi5teF9TdHlsZWRSYWRpb0J1dHRvbl9vdXRsaW5lZCB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJGlucHV0LWRhcmtlci1iZy1jb2xvcjtcbiAgICBib3JkZXItcmFkaXVzOiA4cHg7XG59XG5cbi5teF9TdHlsZWRSYWRpb0J1dHRvbl9jaGVja2VkIHtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLWNwZC1jb2xvci1iZy1hY2NlbnQtcmVzdCk7XG59XG4iLCIvKlxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXG5Db3B5cmlnaHQgMjAxNyBNaWNoYWVsIFRlbGF0eW5za2kgPDd0M2NoZ3V5QGdtYWlsLmNvbT5cblxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuKi9cblxuLm14X1N5bnRheEhpZ2hsaWdodCB7XG4gICAgLyogaW5oaWJpdCBobGpzIHN0eWxpbmcgKi9cbiAgICBiYWNrZ3JvdW5kOiBub25lICFpbXBvcnRhbnQ7XG4gICAgY29sb3I6ICRsaWdodC1mZy1jb2xvciAhaW1wb3J0YW50O1xufVxuIiwiLypcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxuQ29weXJpZ2h0IDIwMjEgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cblxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuKi9cblxuLm14X1RhZ0NvbXBvc2VyIHtcbiAgICAubXhfVGFnQ29tcG9zZXJfaW5wdXQge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuXG4gICAgICAgIC5teF9BY2Nlc3NpYmxlQnV0dG9uIHtcbiAgICAgICAgICAgIG1pbi13aWR0aDogNzBweDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgOHB4OyAvKiBvdmVycmlkZSBmcm9tIGJ1dHRvbiBzdHlsZXMgKi9cbiAgICAgICAgICAgIGFsaWduLXNlbGY6IHN0cmV0Y2g7IC8qIG92ZXJyaWRlIGRlZmF1bHQgc2V0dGluZ3N0YWIgc3R5bGUgKi9cbiAgICAgICAgfVxuXG4gICAgICAgIC5teF9GaWVsZCxcbiAgICAgICAgLm14X0ZpZWxkIGlucHV0LFxuICAgICAgICAubXhfQWNjZXNzaWJsZUJ1dHRvbiB7XG4gICAgICAgICAgICAvKiBTbyB0aGV5IGxvb2sgcmVsYXRlZCB0byBlYWNoIG90aGVyIGJ5IGZlZWxpbmcgdGhlIHNhbWUgKi9cbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5teF9UYWdDb21wb3Nlcl90YWdzIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICBtYXJnaW4tdG9wOiAxMnB4OyAvKiB0aGlzIHBsdXMgMTJweCBmcm9tIHRoZSB0YWdzIG1ha2VzIDI0cHggZnJvbSB0aGUgaW5wdXQgKi9cbiAgICB9XG5cbiAgICAubXhfVGFnIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMnB4O1xuICAgICAgICBtYXJnaW4tdG9wOiAxMnB4O1xuICAgIH1cbn1cblxuLm14X1RhZyB7XG4gICAgZm9udC1zaXplOiAkZm9udC0xNXB4O1xuXG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgIGdhcDogOHB4O1xuICAgIHBhZGRpbmc6IDhweDtcbiAgICBib3JkZXItcmFkaXVzOiA4cHg7XG5cbiAgICBjb2xvcjogJHByaW1hcnktY29udGVudDtcbiAgICBiYWNrZ3JvdW5kOiAkcXVpbmFyeS1jb250ZW50O1xuXG4gICAgPiBzdmc6Zmlyc3QtY2hpbGQge1xuICAgICAgICB3aWR0aDogMWVtO1xuICAgICAgICBjb2xvcjogJHNlY29uZGFyeS1jb250ZW50O1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMjUpO1xuICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG4gICAgfVxuXG4gICAgLm14X1RhZ19kZWxldGUge1xuICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgd2lkdGg6IDEuMDY2NjY2ZW07IC8qIDE2cHg7ICovXG4gICAgICAgIGhlaWdodDogMS4wNjY2NjZlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDFlbTtcbiAgICAgICAgY29sb3I6ICRzZWNvbmRhcnktY29udGVudDtcbiAgICAgICAgYmFja2dyb3VuZDogJHN5c3RlbTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgIHN2ZyB7XG4gICAgICAgICAgICB3aWR0aDogMTZweDtcbiAgICAgICAgICAgIGhlaWdodDogMTZweDtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi8qXG5Db3B5cmlnaHQgMjAxOS0yMDI0IE5ldyBWZWN0b3IgTHRkLlxuXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXG4qL1xuLm14X1RleHRXaXRoVG9vbHRpcF90YXJnZXQge1xuICAgIGRpc3BsYXk6IGlubGluZTtcbn1cblxuLm14X1RleHRXaXRoVG9vbHRpcF90b29sdGlwIHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuIiwiLypcbkNvcHlyaWdodCAyMDE5LTIwMjQgTmV3IFZlY3RvciBMdGQuXG5cblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cbiovXG5cbi5teF9Ub2dnbGVTd2l0Y2gge1xuICAgIC0tVG9nZ2xlU3dpdGNoLW1pbi13aWR0aDogJGZvbnQtNDRweDtcblxuICAgIHRyYW5zaXRpb246XG4gICAgICAgIGJhY2tncm91bmQtY29sb3IgMC4ycyBlYXNlLW91dCAwLjFzLFxuICAgICAgICBib3JkZXItY29sb3IgMC4ycyBlYXNlLW91dCAwLjFzO1xuXG4gICAgd2lkdGg6ICRmb250LTQ0cHg7XG4gICAgaGVpZ2h0OiAkZm9udC0yMHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDEuNXJlbTtcbiAgICBwYWRkaW5nOiAycHg7XG5cbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jcGQtY29sb3ItYmctY2FudmFzLWRpc2FibGVkKTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jcGQtY29sb3ItYm9yZGVyLWRpc2FibGVkKTtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuXG4gICAgJi5teF9Ub2dnbGVTd2l0Y2hfZW5hYmxlZCB7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY3BkLWNvbG9yLWJnLWNhbnZhcy1kZWZhdWx0KTtcbiAgICAgICAgYm9yZGVyOiB2YXIoLS1jcGQtYm9yZGVyLXdpZHRoLTEpIHNvbGlkIHZhcigtLWNwZC1jb2xvci1ib3JkZXItaW50ZXJhY3RpdmUtcHJpbWFyeSk7XG5cbiAgICAgICAgJi5teF9Ub2dnbGVTd2l0Y2hfb24ge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY3BkLWNvbG9yLWJnLWFjY2VudC1yZXN0KTtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0tY3BkLWNvbG9yLWJnLWFjY2VudC1yZXN0KTtcbiAgICAgICAgfVxuXG4gICAgICAgID4gLm14X1RvZ2dsZVN3aXRjaF9iYWxsIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNwZC1jb2xvci1pY29uLXNlY29uZGFyeSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLm14X1RvZ2dsZVN3aXRjaF9vbiB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNwZC1jb2xvci1iZy1hY3Rpb24tcHJpbWFyeS1kaXNhYmxlZCk7XG4gICAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0tY3BkLWNvbG9yLWJnLWFjdGlvbi1wcmltYXJ5LWRpc2FibGVkKTtcblxuICAgICAgICA+IC5teF9Ub2dnbGVTd2l0Y2hfYmFsbCB7XG4gICAgICAgICAgICBsZWZ0OiBjYWxjKDEwMCUgLSAkZm9udC0yMHB4KTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNwZC1jb2xvci1pY29uLW9uLXNvbGlkLXByaW1hcnkpO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4ubXhfVG9nZ2xlU3dpdGNoX2JhbGwge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aWR0aDogJGZvbnQtMjBweDtcbiAgICBoZWlnaHQ6ICRmb250LTIwcHg7XG4gICAgYm9yZGVyLXJhZGl1czogJGZvbnQtMjBweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jcGQtY29sb3ItYmctYWN0aW9uLXByaW1hcnktZGlzYWJsZWQpO1xuICAgIHRyYW5zaXRpb246XG4gICAgICAgIGxlZnQgMC4xNXMgZWFzZS1vdXQgMC4xcyxcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvciAwLjE1cyBlYXNlLW91dCAwLjFzO1xuICAgIGxlZnQ6IDA7XG59XG4iLCIvKlxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXG5Db3B5cmlnaHQgMjAyMiBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxuXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXG4qL1xuXG4ubXhfVXNlQ2FzZVNlbGVjdGlvbiB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLXJvd3M6IDFmciAxZnIgbWF4LWNvbnRlbnQgMmZyO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBncmlkLWdhcDogJHNwYWNpbmctNDA7XG5cbiAgICAubXhfVXNlQ2FzZVNlbGVjdGlvbl90aXRsZSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG5cbiAgICAgICAgaDEge1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLWNwZC1mb250LXdlaWdodC1zZW1pYm9sZCk7XG4gICAgICAgICAgICBmb250LXNpemU6ICRmb250LTMycHg7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubXhfVXNlQ2FzZVNlbGVjdGlvbl9pbmZvIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgZ2FwOiAkc3BhY2luZy04O1xuICAgICAgICBhbGlnbi1zZWxmOiBmbGV4LWVuZDtcblxuICAgICAgICBoMiB7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgICAgICAgZm9udC1zaXplOiAkZm9udC0yNHB4O1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB9XG5cbiAgICAgICAgaDMge1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtMTZweDtcbiAgICAgICAgICAgIGNvbG9yOiAkc2Vjb25kYXJ5LWNvbnRlbnQ7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubXhfVXNlQ2FzZVNlbGVjdGlvbl9vcHRpb25zIHtcbiAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maXQsIDIzMnB4KTtcbiAgICAgICAgZ2FwOiAkc3BhY2luZy0zMjtcbiAgICAgICAgYWxpZ24tc2VsZjogc3RyZXRjaDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgfVxuXG4gICAgLm14X1VzZUNhc2VTZWxlY3Rpb25fc2tpcCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGFsaWduLXNlbGY6IGZsZXgtc3RhcnQ7XG4gICAgfVxufVxuXG4ubXhfVXNlQ2FzZVNlbGVjdGlvbl9zbGlkZUluIHtcbiAgICBhbmltYXRpb24tZGVsYXk6IDgwMG1zO1xuICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogMzAwbXM7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAsIDAsIDAuNTgsIDEpO1xuICAgIGFuaW1hdGlvbi1uYW1lOiBteF9Vc2VDYXNlU2VsZWN0aW9uX3NsaWRlSW5Mb25nO1xuICAgIGFuaW1hdGlvbi1maWxsLW1vZGU6IGJhY2t3YXJkcztcbiAgICB3aWxsLWNoYW5nZTogb3BhY2l0eTtcbn1cblxuLm14X1VzZUNhc2VTZWxlY3Rpb25fc2xpZGVJbkRlbGF5ZWQge1xuICAgIGFuaW1hdGlvbi1kZWxheTogMTUwMG1zO1xuICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogMzAwbXM7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAsIDAsIDAuNTgsIDEpO1xuICAgIGFuaW1hdGlvbi1uYW1lOiBteF9Vc2VDYXNlU2VsZWN0aW9uX3NsaWRlSW5TaG9ydDtcbiAgICBhbmltYXRpb24tZmlsbC1tb2RlOiBiYWNrd2FyZHM7XG4gICAgd2lsbC1jaGFuZ2U6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbn1cblxuLm14X1VzZUNhc2VTZWxlY3Rpb25fc2VsZWN0ZWQge1xuICAgIC5teF9Vc2VDYXNlU2VsZWN0aW9uX3NsaWRlSW4sXG4gICAgLm14X1VzZUNhc2VTZWxlY3Rpb25fc2xpZGVJbkRlbGF5ZWQge1xuICAgICAgICBhbmltYXRpb24tZGVsYXk6IDgwMG1zO1xuICAgICAgICBhbmltYXRpb24tZHVyYXRpb246IDMwMG1zO1xuICAgICAgICBhbmltYXRpb24tZmlsbC1tb2RlOiBmb3J3YXJkcztcbiAgICAgICAgYW5pbWF0aW9uLW5hbWU6IG14X1VzZUNhc2VTZWxlY3Rpb25fZmFkZU91dDtcbiAgICAgICAgd2lsbC1jaGFuZ2U6IG9wYWNpdHk7XG4gICAgfVxufVxuXG5Aa2V5ZnJhbWVzIG14X1VzZUNhc2VTZWxlY3Rpb25fc2xpZGVJbkxvbmcge1xuICAgIDAlIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMjBweCk7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgfVxuICAgIDEwMCUge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG59XG5cbkBrZXlmcmFtZXMgbXhfVXNlQ2FzZVNlbGVjdGlvbl9zbGlkZUluU2hvcnQge1xuICAgIDAlIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgOHB4KTtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICB9XG4gICAgMTAwJSB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApO1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgIH1cbn1cblxuQGtleWZyYW1lcyBteF9Vc2VDYXNlU2VsZWN0aW9uX2ZhZGVPdXQge1xuICAgIDAlIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG4gICAgMTAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgfVxufVxuIiwiLypcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxuQ29weXJpZ2h0IDIwMjIgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cblxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuKi9cblxuLm14X1VzZUNhc2VTZWxlY3Rpb25CdXR0b24ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHBhZGRpbmc6ICRzcGFjaW5nLTI0ICRzcGFjaW5nLTE2O1xuICAgIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICRxdWluYXJ5LWNvbnRlbnQ7XG4gICAgYm9yZGVyLXJhZGl1czogOHB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogYm94LXNoYWRvdywgdHJhbnNmb3JtO1xuICAgIHRyYW5zaXRpb24tZHVyYXRpb246IDMwMG1zO1xuXG4gICAgLm14X1VzZUNhc2VTZWxlY3Rpb25CdXR0b25faWNvbiB7XG4gICAgICAgIC8qIHdvcmthcm91bmQ6IGRlc2lnbiBleHBlY3RzIGEgbGF5ZXJpbmcgb2YgdHdvIGNvbG9ycyAqL1xuICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMGRlZywgcmdiYSgxNzIsIDU5LCAxNjgsIDAuMTUpLCByZ2JhKDE3MiwgNTksIDE2OCwgMC4xNSkpLCAjZmZmZmZmO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAxNHB4O1xuICAgICAgICBwYWRkaW5nOiAkc3BhY2luZy04O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAkc3BhY2luZy0xNjtcblxuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgLyogdGhpcyBoYXMgdG8gcmVtYWluIHRoZSBzYW1lIGNvbG9yIGFjcm9zcyBhbGwgdGhlbWVzLFxuICAgICAgICAgICAgICAgYXMgaXRzIGJhY2tncm91bmQgaGFzIGEgZml4ZWQgY29sb3IgYXMgd2VsbCAqL1xuICAgICAgICAgICAgYmFja2dyb3VuZDogIzFlMWUxZTtcbiAgICAgICAgICAgIG1hc2stcG9zaXRpb246IGNlbnRlcjtcbiAgICAgICAgICAgIG1hc2stcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgICBtYXNrLXNpemU6IGNvbnRhaW47XG4gICAgICAgICAgICB3aWR0aDogMjJweDtcbiAgICAgICAgICAgIGhlaWdodDogMjJweDtcbiAgICAgICAgfVxuXG4gICAgICAgICYubXhfVXNlQ2FzZVNlbGVjdGlvbkJ1dHRvbl9tZXNzYWdpbmc6OmJlZm9yZSB7XG4gICAgICAgICAgICBtYXNrLWltYWdlOiB1cmwoXCIkKHJlcykvaW1nL2VsZW1lbnQtaWNvbnMvY2hhdC1idWJibGUuc3ZnXCIpO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5teF9Vc2VDYXNlU2VsZWN0aW9uQnV0dG9uX3dvcms6OmJlZm9yZSB7XG4gICAgICAgICAgICBtYXNrLWltYWdlOiB1cmwoXCIkKHJlcykvaW1nL2VsZW1lbnQtaWNvbnMvdmlldy1jb21tdW5pdHkuc3ZnXCIpO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5teF9Vc2VDYXNlU2VsZWN0aW9uQnV0dG9uX2NvbW11bml0eTo6YmVmb3JlIHtcbiAgICAgICAgICAgIG1hc2staW1hZ2U6IHVybChcIkB2ZWN0b3ItaW0vY29tcG91bmQtZGVzaWduLXRva2Vucy9pY29ucy9wdWJsaWMuc3ZnXCIpO1xuICAgICAgICAgICAgbWFzay1zaXplOiAyNHB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgICAgYm94LXNoYWRvdzogMCAkc3BhY2luZy00ICRzcGFjaW5nLTggcmdiYSgwLCAwLCAwLCAwLjA4KTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLSRzcGFjaW5nLTgpO1xuICAgIH1cblxuICAgIC5teF9Vc2VDYXNlU2VsZWN0aW9uQnV0dG9uX3NlbGVjdGVkSWNvbiB7XG4gICAgICAgIHJpZ2h0OiAtMTJweDtcbiAgICAgICAgdG9wOiAtMTJweDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAyNHB4O1xuICAgICAgICBiYWNrZ3JvdW5kOiAkYWNjZW50O1xuICAgICAgICBwYWRkaW5nOiA2cHg7XG4gICAgICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IG9wYWNpdHksIHRyYW5zZm9ybTtcbiAgICAgICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMTUwbXM7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMC42KTtcblxuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogJGJhY2tncm91bmQ7XG4gICAgICAgICAgICBtYXNrLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICAgICAgICBtYXNrLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgICAgbWFzay1zaXplOiBjb250YWluO1xuICAgICAgICAgICAgd2lkdGg6IDEycHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDEycHg7XG5cbiAgICAgICAgICAgIG1hc2staW1hZ2U6IHVybChcIkB2ZWN0b3ItaW0vY29tcG91bmQtZGVzaWduLXRva2Vucy9pY29ucy9jaGVjay5zdmdcIik7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLm14X1VzZUNhc2VTZWxlY3Rpb25CdXR0b25fc2VsZWN0ZWQge1xuICAgICAgICBib3JkZXI6IDJweCBzb2xpZCAkYWNjZW50O1xuICAgICAgICBwYWRkaW5nOiBjYWxjKCRzcGFjaW5nLTI0IC0gMXB4KSBjYWxjKCRzcGFjaW5nLTE2IC0gMXB4KTtcbiAgICAgICAgYm94LXNoYWRvdzogMCAkc3BhY2luZy00ICRzcGFjaW5nLTggcmdiYSgwLCAwLCAwLCAwLjA4KTtcblxuICAgICAgICAubXhfVXNlQ2FzZVNlbGVjdGlvbkJ1dHRvbl9zZWxlY3RlZEljb24ge1xuICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIvKlxuQ29weXJpZ2h0IDIwMTktMjAyNCBOZXcgVmVjdG9yIEx0ZC5cblxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuKi9cblxuLm14X1ZhbGlkYXRpb24ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXgtd2lkdGg6IDIwMHB4O1xufVxuXG4ubXhfVmFsaWRhdGlvbl9kZXRhaWxzIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG4gICAgbWFyZ2luOiAwO1xufVxuXG4ubXhfVmFsaWRhdGlvbl9kZXNjcmlwdGlvbiArIC5teF9WYWxpZGF0aW9uX2RldGFpbHMge1xuICAgIG1hcmdpbjogMWVtIDAgMDtcbn1cblxuLm14X1ZhbGlkYXRpb25fZGV0YWlsIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIG1hcmdpbi1ib3R0b206IDAuNWVtO1xuXG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHdpZHRoOiAxNHB4O1xuICAgICAgICBoZWlnaHQ6IDE0cHg7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogLTE4cHg7XG4gICAgICAgIG1hc2stcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgIG1hc2stcG9zaXRpb246IGNlbnRlcjtcbiAgICAgICAgbWFzay1zaXplOiBjb250YWluO1xuICAgIH1cblxuICAgICYubXhfVmFsaWRhdGlvbl92YWxpZCB7XG4gICAgICAgIGNvbG9yOiAkYWNjZW50O1xuXG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICBtYXNrLWltYWdlOiB1cmwoXCJAdmVjdG9yLWltL2NvbXBvdW5kLWRlc2lnbi10b2tlbnMvaWNvbnMvY2hlY2suc3ZnXCIpO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGFjY2VudDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYubXhfVmFsaWRhdGlvbl9pbnZhbGlkIHtcbiAgICAgICAgY29sb3I6ICRhbGVydDtcblxuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgbWFzay1pbWFnZTogdXJsKFwiQHZlY3Rvci1pbS9jb21wb3VuZC1kZXNpZ24tdG9rZW5zL2ljb25zL2Nsb3NlLnN2Z1wiKTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRhbGVydDtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi8qXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cbkNvcHlyaWdodCAyMDE5IFR1bGlyIEFzb2thbiA8dHVsaXJAbWF1bml1bS5uZXQ+XG5cblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cbiovXG5cbi5teF9FbW9qaVBpY2tlciB7XG4gICAgd2lkdGg6IDM0MHB4O1xuICAgIGhlaWdodDogNDUwcHg7XG5cbiAgICBib3JkZXItcmFkaXVzOiA0cHg7XG5cbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG59XG5cbi5teF9FbW9qaVBpY2tlcl9ib2R5IHtcbiAgICBmbGV4OiAxO1xuICAgIG92ZXJmbG93LXk6IHNjcm9sbDtcbiAgICBzY3JvbGxiYXItd2lkdGg6IHRoaW47XG4gICAgc2Nyb2xsYmFyLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMikgdHJhbnNwYXJlbnQ7XG59XG5cbi5teF9FbW9qaVBpY2tlcl9oZWFkZXIge1xuICAgIHBhZGRpbmc6IDRweCA4cHggMDtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJG1lc3NhZ2UtYWN0aW9uLWJhci1ib3JkZXItY29sb3I7XG59XG5cbi5teF9FbW9qaVBpY2tlcl9hbmNob3Ige1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBwYWRkaW5nOiA4cHggOHB4IDZweDtcbiAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXJhZGl1czogNHB4IDRweCAwIDA7XG5cbiAgICB3aWR0aDogMzZweDtcbiAgICBoZWlnaHQ6IDM4cHg7XG5cbiAgICAmOm5vdCg6ZGlzYWJsZWQpIHtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIH1cblxuICAgICY6bm90KDpkaXNhYmxlZCk6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZm9jdXMtYmctY29sb3I7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAkYWNjZW50O1xuICAgIH1cbn1cblxuLm14X0Vtb2ppUGlja2VyX2FuY2hvcjo6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJpbWFyeS1jb250ZW50O1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hc2stc2l6ZTogMTAwJTtcbiAgICBtYXNrLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbn1cblxuLm14X0Vtb2ppUGlja2VyX2FuY2hvcjpkaXNhYmxlZDo6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZm9jdXMtYmctY29sb3I7XG59XG5cbi5teF9FbW9qaVBpY2tlcl9hbmNob3JfYWN0aXZpdHk6OmJlZm9yZSB7XG4gICAgbWFzay1pbWFnZTogdXJsKFwiJChyZXMpL2ltZy9lbW9qaXBpY2tlci9hY3Rpdml0eS5zdmdcIik7XG59XG4ubXhfRW1vamlQaWNrZXJfYW5jaG9yX2N1c3RvbTo6YmVmb3JlIHtcbiAgICBtYXNrLWltYWdlOiB1cmwoXCIkKHJlcykvaW1nL2Vtb2ppcGlja2VyL2N1c3RvbS5zdmdcIik7XG59XG4ubXhfRW1vamlQaWNrZXJfYW5jaG9yX2ZsYWdzOjpiZWZvcmUge1xuICAgIG1hc2staW1hZ2U6IHVybChcIiQocmVzKS9pbWcvZW1vamlwaWNrZXIvZmxhZ3Muc3ZnXCIpO1xufVxuLm14X0Vtb2ppUGlja2VyX2FuY2hvcl9mb29kczo6YmVmb3JlIHtcbiAgICBtYXNrLWltYWdlOiB1cmwoXCIkKHJlcykvaW1nL2Vtb2ppcGlja2VyL2Zvb2RzLnN2Z1wiKTtcbn1cbi5teF9FbW9qaVBpY2tlcl9hbmNob3JfbmF0dXJlOjpiZWZvcmUge1xuICAgIG1hc2staW1hZ2U6IHVybChcIiQocmVzKS9pbWcvZW1vamlwaWNrZXIvbmF0dXJlLnN2Z1wiKTtcbn1cbi5teF9FbW9qaVBpY2tlcl9hbmNob3Jfb2JqZWN0czo6YmVmb3JlIHtcbiAgICBtYXNrLWltYWdlOiB1cmwoXCIkKHJlcykvaW1nL2Vtb2ppcGlja2VyL29iamVjdHMuc3ZnXCIpO1xufVxuLm14X0Vtb2ppUGlja2VyX2FuY2hvcl9wZW9wbGU6OmJlZm9yZSB7XG4gICAgbWFzay1pbWFnZTogdXJsKFwiJChyZXMpL2ltZy9lbW9qaXBpY2tlci9wZW9wbGUuc3ZnXCIpO1xufVxuLm14X0Vtb2ppUGlja2VyX2FuY2hvcl9wbGFjZXM6OmJlZm9yZSB7XG4gICAgbWFzay1pbWFnZTogdXJsKFwiJChyZXMpL2ltZy9lbW9qaXBpY2tlci9wbGFjZXMuc3ZnXCIpO1xufVxuLm14X0Vtb2ppUGlja2VyX2FuY2hvcl9yZWNlbnQ6OmJlZm9yZSB7XG4gICAgbWFzay1pbWFnZTogdXJsKFwiJChyZXMpL2ltZy9lbW9qaXBpY2tlci9yZWNlbnQuc3ZnXCIpO1xufVxuLm14X0Vtb2ppUGlja2VyX2FuY2hvcl9zeW1ib2xzOjpiZWZvcmUge1xuICAgIG1hc2staW1hZ2U6IHVybChcIiQocmVzKS9pbWcvZW1vamlwaWNrZXIvc3ltYm9scy5zdmdcIik7XG59XG5cbi5teF9FbW9qaVBpY2tlcl9hbmNob3JfdmlzaWJsZSB7XG4gICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICRhY2NlbnQ7XG59XG5cbi5teF9FbW9qaVBpY2tlcl9zZWFyY2gge1xuICAgIG1hcmdpbjogOHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkaW5wdXQtYm9yZGVyLWNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuICAgIGRpc3BsYXk6IGZsZXg7XG5cbiAgICBpbnB1dCB7XG4gICAgICAgIGZsZXg6IDE7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgcGFkZGluZzogOHB4IDEycHg7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDRweCAwO1xuXG4gICAgICAgICY6OnBsYWNlaG9sZGVyIHtcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1jcGQtY29sb3ItdGV4dC1zZWNvbmRhcnkpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgYnV0dG9uIHtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBpbmhlcml0O1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmc6IDhweDtcbiAgICAgICAgYWxpZ24tc2VsZjogY2VudGVyO1xuICAgICAgICB3aWR0aDogMzJweDtcbiAgICAgICAgaGVpZ2h0OiAzMnB4O1xuICAgIH1cbn1cblxuLm14X0Vtb2ppUGlja2VyX3NlYXJjaF9jbGVhciB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4ubXhfRW1vamlQaWNrZXJfc2VhcmNoX2ljb24ge1xuICAgIHdpZHRoOiAxNnB4O1xuICAgIG1hcmdpbjogOHB4O1xufVxuXG4ubXhfRW1vamlQaWNrZXJfc2VhcmNoX2ljb246bm90KC5teF9FbW9qaVBpY2tlcl9zZWFyY2hfY2xlYXIpIHtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cblxuLm14X0Vtb2ppUGlja2VyX3NlYXJjaF9pY29uOjphZnRlciB7XG4gICAgbWFzazogdXJsKFwiJChyZXMpL2ltZy9lbW9qaXBpY2tlci9zZWFyY2guc3ZnXCIpIG5vLXJlcGVhdDtcbiAgICBtYXNrLXNpemU6IDEwMCU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHByaW1hcnktY29udGVudDtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG59XG5cbi5teF9FbW9qaVBpY2tlcl9zZWFyY2hfY2xlYXI6OmFmdGVyIHtcbiAgICBtYXNrLWltYWdlOiB1cmwoXCIkKHJlcykvaW1nL2Vtb2ppcGlja2VyL2RlbGV0ZS5zdmdcIik7XG59XG5cbi5teF9FbW9qaVBpY2tlcl9jYXRlZ29yeSB7XG4gICAgcGFkZGluZzogMCAxMnB4O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG4ubXhfRW1vamlQaWNrZXJfY2F0ZWdvcnlfbGFiZWwge1xuICAgIHdpZHRoOiAzMDRweDtcbn1cblxuLm14X0Vtb2ppUGlja2VyX2xpc3Qge1xuICAgIHdpZHRoOiAzMDRweDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbjogMDtcbn1cblxuLm14X0Vtb2ppUGlja2VyX2l0ZW1fd3JhcHBlciB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgd2lkdGg6IDM4cHg7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgJjpmb2N1cy13aXRoaW4ge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZm9jdXMtYmctY29sb3I7XG4gICAgfVxufVxuXG4ubXhfRW1vamlQaWNrZXJfYm9keSAubXhfRW1vamlQaWNrZXJfaXRlbV93cmFwcGVyW3RhYmluZGV4PVwiMFwiXSAubXhfRW1vamlQaWNrZXJfaXRlbSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGZvY3VzLWJnLWNvbG9yO1xufVxuXG4ubXhfRW1vamlQaWNrZXJfaXRlbSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGZvbnQtc2l6ZTogJGZvbnQtMjBweDtcbiAgICBwYWRkaW5nOiA1cHg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGJvcmRlci1yYWRpdXM6IDRweDtcblxuICAgICY6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZm9jdXMtYmctY29sb3I7XG4gICAgfVxufVxuXG4ubXhfRW1vamlQaWNrZXJfaXRlbV9zZWxlY3RlZCB7XG4gICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC41KTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkYWNjZW50O1xuICAgIHBhZGRpbmc6IDRweDtcbn1cblxuLm14X0Vtb2ppUGlja2VyX2NhdGVnb3J5X2xhYmVsLFxuLm14X0Vtb2ppUGlja2VyX3ByZXZpZXdfbmFtZSB7XG4gICAgZm9udC1zaXplOiAkZm9udC0xNnB4O1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1jcGQtZm9udC13ZWlnaHQtc2VtaWJvbGQpO1xuICAgIG1hcmdpbjogMDtcbn1cblxuLm14X0Vtb2ppUGlja2VyX2Zvb3RlciB7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRtZXNzYWdlLWFjdGlvbi1iYXItYm9yZGVyLWNvbG9yO1xuICAgIG1pbi1oZWlnaHQ6IDcycHg7XG5cbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbi5teF9FbW9qaVBpY2tlcl9wcmV2aWV3X2Vtb2ppIHtcbiAgICBmb250LXNpemU6ICRmb250LTMycHg7XG4gICAgcGFkZGluZzogOHB4IDE2cHg7XG59XG5cbi5teF9FbW9qaVBpY2tlcl9wcmV2aWV3X3RleHQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleDogMTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBhZGRpbmctdG9wOiAxcmVtO1xuICAgIHBhZGRpbmctYm90dG9tOiAxcmVtO1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG59XG5cbi5teF9FbW9qaVBpY2tlcl9uYW1lIHtcbiAgICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTtcbn1cblxuLm14X0Vtb2ppUGlja2VyX3Nob3J0Y29kZSB7XG4gICAgY29sb3I6ICRsaWdodC1mZy1jb2xvcjtcbiAgICBvdmVyZmxvdy13cmFwOiBicmVhay13b3JkO1xuICAgIGZvbnQ6IHZhcigtLWNwZC1mb250LWJvZHktbWQtcmVndWxhcik7XG5cbiAgICAmOjpiZWZvcmUsXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiBcIjpcIjtcbiAgICB9XG59XG5cbi5teF9FbW9qaVBpY2tlcl9xdWljayB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDtcbn1cblxuLm14X0Vtb2ppUGlja2VyX3F1aWNrX2hlYWRlciAubXhfRW1vamlQaWNrZXJfbmFtZSB7XG4gICAgbWFyZ2luLXJpZ2h0OiA0cHg7XG59XG4iLCIvKlxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXG5Db3B5cmlnaHQgMjAyMSBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DXG5cblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cbiovXG5cbi5teF9Mb2NhdGlvblBpY2tlciB7XG4gICAgYm9yZGVyLXJhZGl1czogOHB4O1xuXG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cbiAgICAvKiB3aGVuIHRoZXJlIGFyZSBlcnJvcnMgbG9hZGluZyB0aGUgbWFwICovXG4gICAgLyogdGhlIGNhbnZhcyBpcyBzdGlsbCBpbnNlcnRlZCAqL1xuICAgIC8qIGFuZCBjYW4gb3ZlcmxhcCBlcnJvciBtZXNzYWdlL2Nsb3NlIGJ1dHRvbnMgKi9cbiAgICAvKiBoaWRlIGl0ICovXG4gICAgJi5teF9Mb2NhdGlvblBpY2tlcl9oYXNFcnJvciB7XG4gICAgICAgIC5tYXBsaWJyZWdsLWNhbnZhcy1jb250YWluZXIsXG4gICAgICAgIC5tYXBsaWJyZWdsLWNvbnRyb2wtY29udGFpbmVyIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAjbXhfTG9jYXRpb25QaWNrZXJfbWFwIHtcbiAgICAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogaW5oZXJpdDtcbiAgICAgICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IGluaGVyaXQ7XG4gICAgICAgIGZsZXg6IDE7XG5cbiAgICAgICAgLm1hcGxpYnJlZ2wtY3RybC5tYXBsaWJyZWdsLWN0cmwtZ3JvdXAsXG4gICAgICAgIC5tYXBsaWJyZWdsLWN0cmwubWFwbGlicmVnbC1jdHJsLWF0dHJpYiB7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6ICRzcGFjaW5nLTE2O1xuICAgICAgICB9XG5cbiAgICAgICAgLm1hcGxpYnJlZ2wtY3RybC5tYXBsaWJyZWdsLWN0cmwtZ3JvdXAge1xuICAgICAgICAgICAgLyogcGxhY2UgYmVsb3cgdGhlIGNsb3NlIGJ1dHRvbiAqL1xuICAgICAgICAgICAgLyogcGFkZGluZy0xNiArIDI0cHggY2xvc2UgYnV0dG9uICsgcGFkZGluZy0xMCAqL1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogNTBweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5tYXBsaWJyZWdsLXVzZXItbG9jYXRpb24tYWNjdXJhY3ktY2lyY2xlIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICAubWFwbGlicmVnbC11c2VyLWxvY2F0aW9uLWRvdCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm14X0xvY2F0aW9uUGlja2VyX2Zvb3RlciB7XG4gICAgICAgIGZsZXg6IDA7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICBwYWRkaW5nOiAkc3BhY2luZy0xNjtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzdHJldGNoO1xuXG4gICAgICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IGluaGVyaXQ7XG4gICAgICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiBpbmhlcml0O1xuXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRoZWFkZXItcGFuZWwtYmctY29sb3I7XG4gICAgfVxufVxuXG4ubXhfTG9jYXRpb25QaWNrZXJfcGluVGV4dCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogJHNwYWNpbmctMTY7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgaGVpZ2h0OiAwO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuXG4gICAgc3BhbiB7XG4gICAgICAgIGJveC1zaGFkb3c6IDBweCA0cHggMTVweCByZ2JhKDAsIDAsIDAsIDAuMTUpO1xuICAgICAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgICAgIHBhZGRpbmc6ICRzcGFjaW5nLTg7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuICAgICAgICBjb2xvcjogJHByaW1hcnktY29udGVudDtcblxuICAgICAgICBmb250LXNpemU6ICRmb250LTEycHg7XG4gICAgfVxufVxuXG4ubXhfTG9jYXRpb25QaWNrZXJfc3VibWl0QnV0dG9uIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDQ4cHg7XG59XG4iLCIvKlxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXG5Db3B5cmlnaHQgMjAyMiBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxuXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXG4qL1xuXG4ubXhfQ2FsbEV2ZW50X3dyYXBwZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgd2lkdGg6IDEwMCU7XG59XG5cbi5teF9DYWxsRXZlbnQge1xuICAgIHBhZGRpbmc6IDEycHg7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBtaW4taGVpZ2h0OiA2MHB4O1xuICAgIG1heC13aWR0aDogNjAwcHg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHN5c3RlbTtcbiAgICBib3JkZXItcmFkaXVzOiA4cHg7XG5cbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGdhcDogJHNwYWNpbmctODtcblxuICAgID4gLm14X0Jhc2VBdmF0YXIsXG4gICAgPiAubXhfSWNvbiB7XG4gICAgICAgIGFsaWduLXNlbGY6IGZsZXgtc3RhcnQ7XG4gICAgfVxuXG4gICAgPiAubXhfSWNvbiB7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIG1hcmdpbjogJHNwYWNpbmctNCAwO1xuICAgICAgICBjb2xvcjogJHNlY29uZGFyeS1jb250ZW50O1xuICAgIH1cblxuICAgIC5teF9MaXZlQ29udGVudFN1bW1hcnkge1xuICAgICAgICBmb250LXNpemU6ICRmb250LTEycHg7XG4gICAgfVxuXG4gICAgLS1mYWNlcGlsZS1iYWNrZ3JvdW5kOiAkc3lzdGVtO1xufVxuXG4ubXhfQ2FsbEV2ZW50X3RpdGxlIHtcbiAgICBmb250LXNpemU6ICRmb250LTE1cHg7XG4gICAgbGluZS1oZWlnaHQ6IDI0cHg7IC8qIGluIHB4IHRvIG1hdGNoIHRoZSBhdmF0YXIgKi9cbn1cblxuLm14X0NhbGxFdmVudF9pbmFjdGl2ZSAubXhfQ2FsbEV2ZW50X3RpdGxlOjpiZWZvcmUge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHNlY29uZGFyeS1jb250ZW50O1xuICAgIG1hc2staW1hZ2U6IHVybChcIiQocmVzKS9pbWcvZWxlbWVudC1pY29ucy9jYWxsL3ZpZGVvLWNhbGwuc3ZnXCIpO1xuICAgIG1hc2stc2l6ZTogMTZweDtcbiAgICB3aWR0aDogMTZweDtcbiAgICBoZWlnaHQ6IDE2cHg7XG4gICAgbWFyZ2luLXJpZ2h0OiAkc3BhY2luZy04O1xufVxuXG4ubXhfQ2FsbEV2ZW50X2FjdGl2ZSAubXhfQ2FsbEV2ZW50X3RpdGxlIHtcbiAgICBmb250LXdlaWdodDogdmFyKC0tY3BkLWZvbnQtd2VpZ2h0LXNlbWlib2xkKTtcbn1cblxuLm14X0NhbGxFdmVudF9jb2x1bW5zIHtcbiAgICBmbGV4LWdyb3c6IDE7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBnYXA6ICRzcGFjaW5nLTEyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xufVxuXG4ubXhfVGltZWxpbmVDYXJkIC5teF9DYWxsRXZlbnRfY29sdW1ucyB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICBnYXA6ICRzcGFjaW5nLTg7XG59XG5cbi5teF9DYWxsRXZlbnRfZGV0YWlscyB7XG4gICAgZmxleC1ncm93OiAxO1xuXG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGdhcDogNnB4O1xufVxuXG4ubXhfQ2FsbEV2ZW50X2J1dHRvbiB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBtaW4td2lkdGg6IDEyMHB4O1xufVxuIiwiLypcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxuQ29weXJpZ2h0IDIwMTgtMjAyMCBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxuXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXG4qL1xuXG4ubXhfRXZlbnRUaWxlQnViYmxlLm14X0NyZWF0ZUV2ZW50IHtcbiAgICBtYXJnaW46IHZhcigtLUV2ZW50VGlsZUJ1YmJsZV9tYXJnaW4tYmxvY2spIGF1dG87XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaGVhZGVyLXBhbmVsLXRleHQtcHJpbWFyeS1jb2xvcjtcbiAgICAgICAgbWFzay1pbWFnZTogdXJsKFwiJChyZXMpL2ltZy9lbGVtZW50LWljb25zL2NoYXQtYnViYmxlcy5zdmdcIik7XG4gICAgfVxufVxuIiwiLypcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxuQ29weXJpZ2h0IDIwMTcgVmVjdG9yIENyZWF0aW9ucyBMdGRcblxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuKi9cblxuLm14X0RhdGVTZXBhcmF0b3JfZGF0ZUNvbnRlbnQge1xuICAgIHBhZGRpbmc6IDAgMjVweDtcbn1cblxuLm14X0RhdGVTZXBhcmF0b3JfZGF0ZUhlYWRpbmcge1xuICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIG1hcmdpbjogMDtcbiAgICBmb250LXNpemU6IGluaGVyaXQ7XG4gICAgZm9udC13ZWlnaHQ6IGluaGVyaXQ7XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gICAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XG59XG5cbi5teF9EYXRlU2VwYXJhdG9yX2p1bXBUb0RhdGVNZW51IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xufVxuXG4ubXhfRGF0ZVNlcGFyYXRvcl9jaGV2cm9uIHtcbiAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gICAgd2lkdGg6IDE2cHg7XG4gICAgaGVpZ2h0OiAxNnB4O1xuICAgIG1hc2stcG9zaXRpb246IGNlbnRlcjtcbiAgICBtYXNrLXNpemU6IGNvbnRhaW47XG4gICAgbWFzay1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBtYXNrLWltYWdlOiB1cmwoXCJAdmVjdG9yLWltL2NvbXBvdW5kLWRlc2lnbi10b2tlbnMvaWNvbnMvY2hldnJvbi1kb3duLnN2Z1wiKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jcGQtY29sb3ItaWNvbi1zZWNvbmRhcnkpO1xufVxuIiwiLypcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxuQ29weXJpZ2h0IDIwMjIgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cblxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuKi9cblxuLm14X0RlY3J5cHRpb25GYWlsdXJlQm9keSB7XG4gICAgY29sb3I6ICRzZWNvbmRhcnktY29udGVudDtcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XG59XG5cbi8qIEZvcm1hdHRpbmcgZm9yIGVycm9ycyBkdWUgdG8gc2VuZGVyIHRydXN0IHJlcXVpcmVtZW50IGZhaWx1cmVzICovXG4ubXhfRGVjcnlwdGlvbkZhaWx1cmVTZW5kZXJUcnVzdFJlcXVpcmVtZW50ID4gc3BhbiB7XG4gICAgLyogc29tZSBzcGFjZSBiZXR3ZWVuIHRoZSAoLykgaWNvbiBhbmQgdGV4dCAqL1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGdhcDogdmFyKC0tY3BkLXNwYWNlLTF4KTtcblxuICAgIC8qIENlbnRlciB2ZXJ0aWNhbGx5ICovXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cbiIsIi8qXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cbkNvcHlyaWdodCAyMDIxIMWgaW1vbiBCcmFuZG5lciA8c2ltb24uYnJhLmFnQGdtYWlsLmNvbT5cbkNvcHlyaWdodCAyMDE1LCAyMDE2IE9wZW5NYXJrZXQgTHRkXG5cblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cbiovXG5cbi5teF9EaXNhbWJpZ3VhdGVkUHJvZmlsZSB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgIC5teF9EaXNhbWJpZ3VhdGVkUHJvZmlsZV9kaXNwbGF5TmFtZSB7XG4gICAgICAgIGZvbnQ6IHZhcigtLWNwZC1mb250LWJvZHktbWQtc2VtaWJvbGQpO1xuICAgICAgICBtYXJnaW4taW5saW5lLWVuZDogMDtcbiAgICAgICAgLyoga2VlcHMgdGhlIGhlaWdodCBpbiBjaGVjaywgaW1wb3J0YW50IGZvciB0aGUgYnViYmxlIGFwcGVyYW5jZSAqL1xuICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICB9XG5cbiAgICAubXhfRGlzYW1iaWd1YXRlZFByb2ZpbGVfbXhpZCB7XG4gICAgICAgIG1hcmdpbi1pbmxpbmUtc3RhcnQ6IDVweDtcbiAgICAgICAgY29sb3I6ICRzZWNvbmRhcnktY29udGVudDtcbiAgICAgICAgZm9udC1zaXplOiB2YXIoLS1jcGQtZm9udC1zaXplLWJvZHktc20pO1xuICAgIH1cbn1cbiIsIi8qXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cbkNvcHlyaWdodCAyMDE5LCAyMDIwIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXG5cblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cbiovXG5cbi5teF9FdmVudFRpbGVCdWJibGUge1xuICAgIC0tRXZlbnRUaWxlQnViYmxlX21hcmdpbi1ibG9jazogMTBweDtcblxuICAgIGJhY2tncm91bmQtY29sb3I6ICRkYXJrLXBhbmVsLWJnLWNvbG9yO1xuICAgIHBhZGRpbmc6IDEwcHg7XG4gICAgYm9yZGVyLXJhZGl1czogOHB4O1xuICAgIC8qIFJlc2VydmUgc3BhY2UgZm9yIGV4dGVybmFsIHRpbWVzdGFtcHMsIGJ1dCBhbHNvIGNhcCB0aGUgd2lkdGggKi9cbiAgICBtYXgtd2lkdGg6IG1pbihjYWxjKDEwMCUgLSAyICogdmFyKC0tTWVzc2FnZVRpbWVzdGFtcC13aWR0aCkpLCA2MDBweCk7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMjRweCBtaW5tYXgoMCwgMWZyKSBtaW4tY29udGVudCBtaW4tY29udGVudDtcblxuICAgICY6OmJlZm9yZSxcbiAgICAmOjphZnRlciB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgZ3JpZC1jb2x1bW46IDE7XG4gICAgICAgIGdyaWQtcm93OiAxIC8gMztcbiAgICAgICAgd2lkdGg6IDE2cHg7XG4gICAgICAgIGhlaWdodDogMTZweDtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgaW5zZXQ6IDA7XG4gICAgICAgIG1hc2stcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgIG1hc2stcG9zaXRpb246IGNlbnRlcjtcbiAgICAgICAgbWFzay1zaXplOiBjb250YWluO1xuICAgICAgICBtYXJnaW4tdG9wOiAkc3BhY2luZy00O1xuICAgIH1cblxuICAgIC5teF9FdmVudFRpbGVCdWJibGVfdGl0bGUsXG4gICAgLm14X0V2ZW50VGlsZUJ1YmJsZV9zdWJ0aXRsZSB7XG4gICAgICAgIGdyaWQtY29sdW1uOiAyO1xuICAgICAgICBvdmVyZmxvdy13cmFwOiBicmVhay13b3JkO1xuICAgICAgICBtaW4taW5saW5lLXNpemU6IDUwcHg7XG4gICAgfVxuXG4gICAgLm14X0V2ZW50VGlsZUJ1YmJsZV90aXRsZSB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1jcGQtZm9udC13ZWlnaHQtc2VtaWJvbGQpO1xuICAgICAgICBmb250LXNpemU6ICRmb250LTE1cHg7XG4gICAgICAgIGdyaWQtcm93OiAxO1xuICAgIH1cblxuICAgIC5teF9FdmVudFRpbGVCdWJibGVfc3VidGl0bGUge1xuICAgICAgICBmb250LXNpemU6ICRmb250LTEycHg7XG4gICAgICAgIGdyaWQtcm93OiAyO1xuICAgIH1cblxuICAgIC5teF9NZXNzYWdlVGltZXN0YW1wIHtcbiAgICAgICAgZ3JpZC1jb2x1bW46IDQ7XG4gICAgICAgIGdyaWQtcm93OiAxIC8gMztcbiAgICAgICAgYWxpZ24tc2VsZjogY2VudGVyO1xuICAgICAgICBtYXJnaW4tbGVmdDogJHNwYWNpbmctMTY7XG4gICAgfVxufVxuIiwiLypcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxuQ29weXJpZ2h0IDIwMjIgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cblxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuKi9cblxuLm14X0hpZGRlbkJvZHkge1xuICAgIHdoaXRlLXNwYWNlOiBwcmUtd3JhcDtcbiAgICBjb2xvcjogJG11dGVkLWZnLWNvbG9yO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5cbiAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgICAgaGVpZ2h0OiAxNHB4O1xuICAgICAgICB3aWR0aDogMTRweDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG11dGVkLWZnLWNvbG9yO1xuICAgICAgICBtYXNrLWltYWdlOiB1cmwoXCIkKHJlcykvaW1nL2VsZW1lbnQtaWNvbnMvaGlkZS5zdmdcIik7XG5cbiAgICAgICAgbWFzay1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgbWFzay1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgICBtYXNrLXNpemU6IGNvbnRhaW47XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAxcHg7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgfVxufVxuIiwiLypcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxuQ29weXJpZ2h0IDIwMjIgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cblxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuKi9cblxuLm14X0p1bXBUb0RhdGVQaWNrZXJfZm9ybSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICAvKiBUaGlzIG1hdGNoZXMgdGhlIGRlZmF1bHQgcGFkZGluZyBvZiBJY29uaXplZENvbnRleHRNZW51T3B0aW9uICovXG4gICAgLyogKHNlZSBjb250ZXh0X21lbnVzL19JY29uaXplZENvbnRleHRNZW51LnBjc3MpICovXG4gICAgcGFkZGluZy10b3A6IDEycHg7XG4gICAgcGFkZGluZy1ib3R0b206IDEycHg7XG59XG5cbi5teF9KdW1wVG9EYXRlUGlja2VyX2xhYmVsIHtcbiAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gICAgZm9udC1zaXplOiAkZm9udC0xNXB4O1xufVxuXG4ubXhfSnVtcFRvRGF0ZVBpY2tlcl9kYXRlUGlja2VyIHtcbiAgICBtYXJnaW46IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDhweDtcblxuICAgICYsXG4gICAgJiA+IGlucHV0IHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4O1xuICAgIH1cbn1cblxuLm14X0p1bXBUb0RhdGVQaWNrZXJfc3VibWl0QnV0dG9uIHtcbiAgICBtYXJnaW4tbGVmdDogOHB4O1xufVxuIiwiLypcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxuQ29weXJpZ2h0IDIwMjEgxaBpbW9uIEJyYW5kbmVyIDxzaW1vbi5icmEuYWdAZ21haWwuY29tPlxuXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXG4qL1xuXG4ubXhfTGVnYWN5Q2FsbEV2ZW50X3dyYXBwZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgd2lkdGg6IDEwMCU7XG5cbiAgICAubXhfTGVnYWN5Q2FsbEV2ZW50IHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgIGdhcDogJHNwYWNpbmctNCAwO1xuXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgbWFyZ2luOiAkc3BhY2luZy00IDA7XG4gICAgICAgIHBhZGRpbmc6ICRzcGFjaW5nLTEyICRzcGFjaW5nLTI0O1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZGFyay1wYW5lbC1iZy1jb2xvcjtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4O1xuICAgICAgICB3aWR0aDogNjUlO1xuICAgICAgICBoZWlnaHQ6IGZpdC1jb250ZW50O1xuXG4gICAgICAgIC5teF9MZWdhY3lDYWxsRXZlbnRfaWNvbkJ1dHRvbiB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcblxuICAgICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxNnB4O1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxNnB4O1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRzZWNvbmRhcnktY29udGVudDtcbiAgICAgICAgICAgICAgICBtYXNrLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgICAgICAgIG1hc2stc2l6ZTogY29udGFpbjtcbiAgICAgICAgICAgICAgICBtYXNrLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAubXhfTGVnYWN5Q2FsbEV2ZW50X3NpbGVuY2U6OmJlZm9yZSB7XG4gICAgICAgICAgICBtYXNrLWltYWdlOiB1cmwoXCIkKHJlcykvaW1nL3ZvaXAvc2lsZW5jZS5zdmdcIik7XG4gICAgICAgIH1cblxuICAgICAgICAubXhfTGVnYWN5Q2FsbEV2ZW50X3VuU2lsZW5jZTo6YmVmb3JlIHtcbiAgICAgICAgICAgIG1hc2staW1hZ2U6IHVybChcIiQocmVzKS9pbWcvdm9pcC91bi1zaWxlbmNlLnN2Z1wiKTtcbiAgICAgICAgfVxuXG4gICAgICAgICYubXhfTGVnYWN5Q2FsbEV2ZW50X3ZvaWNlIHtcbiAgICAgICAgICAgIC5teF9MZWdhY3lDYWxsRXZlbnRfdHlwZV9pY29uOjpiZWZvcmUsXG4gICAgICAgICAgICAubXhfTGVnYWN5Q2FsbEV2ZW50X2NvbnRlbnRfYnV0dG9uX2NhbGxCYWNrIHNwYW46OmJlZm9yZSxcbiAgICAgICAgICAgIC5teF9MZWdhY3lDYWxsRXZlbnRfY29udGVudF9idXR0b25fYW5zd2VyIHNwYW46OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgbWFzay1pbWFnZTogdXJsKFwiJChyZXMpL2ltZy9lbGVtZW50LWljb25zL2NhbGwvdm9pY2UtY2FsbC5zdmdcIik7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYubXhfTGVnYWN5Q2FsbEV2ZW50X3JlamVjdGVkLFxuICAgICAgICAgICAgJi5teF9MZWdhY3lDYWxsRXZlbnRfbm9BbnN3ZXIge1xuICAgICAgICAgICAgICAgIC5teF9MZWdhY3lDYWxsRXZlbnRfdHlwZV9pY29uOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICBtYXNrLWltYWdlOiB1cmwoXCIkKHJlcykvaW1nL2VsZW1lbnQtaWNvbnMvY2FsbC9oYW5ndXAuc3ZnXCIpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYubXhfTGVnYWN5Q2FsbEV2ZW50X3ZpZGVvIHtcbiAgICAgICAgICAgIC5teF9MZWdhY3lDYWxsRXZlbnRfdHlwZV9pY29uOjpiZWZvcmUsXG4gICAgICAgICAgICAubXhfTGVnYWN5Q2FsbEV2ZW50X2NvbnRlbnRfYnV0dG9uX2NhbGxCYWNrIHNwYW46OmJlZm9yZSxcbiAgICAgICAgICAgIC5teF9MZWdhY3lDYWxsRXZlbnRfY29udGVudF9idXR0b25fYW5zd2VyIHNwYW46OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgbWFzay1pbWFnZTogdXJsKFwiJChyZXMpL2ltZy9lbGVtZW50LWljb25zL2NhbGwvdmlkZW8tY2FsbC5zdmdcIik7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYubXhfTGVnYWN5Q2FsbEV2ZW50X3JlamVjdGVkLFxuICAgICAgICAgICAgJi5teF9MZWdhY3lDYWxsRXZlbnRfbm9BbnN3ZXIge1xuICAgICAgICAgICAgICAgIC5teF9MZWdhY3lDYWxsRXZlbnRfdHlwZV9pY29uOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICBtYXNrLWltYWdlOiB1cmwoXCJAdmVjdG9yLWltL2NvbXBvdW5kLWRlc2lnbi10b2tlbnMvaWNvbnMvdmlkZW8tY2FsbC1kZWNsaW5lZC1zb2xpZC5zdmdcIik7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi5teF9MZWdhY3lDYWxsRXZlbnRfbWlzc2VkIHtcbiAgICAgICAgICAgICYubXhfTGVnYWN5Q2FsbEV2ZW50X3ZvaWNlIHtcbiAgICAgICAgICAgICAgICAubXhfTGVnYWN5Q2FsbEV2ZW50X3R5cGVfaWNvbjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgbWFzay1pbWFnZTogdXJsKFwiJChyZXMpL2ltZy92b2lwL21pc3NlZC12b2ljZS5zdmdcIik7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLm14X0xlZ2FjeUNhbGxFdmVudF92aWRlbyB7XG4gICAgICAgICAgICAgICAgLm14X0xlZ2FjeUNhbGxFdmVudF90eXBlX2ljb246OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgIG1hc2staW1hZ2U6IHVybChcIkB2ZWN0b3ItaW0vY29tcG91bmQtZGVzaWduLXRva2Vucy9pY29ucy92aWRlby1jYWxsLW1pc3NlZC1zb2xpZC5zdmdcIik7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLm14X0xlZ2FjeUNhbGxFdmVudF9pbmZvIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIHdpZHRoOiBmaXQtY29udGVudDtcbiAgICAgICAgICAgIG1heC13aWR0aDogMTAwJTtcblxuICAgICAgICAgICAgLm14X0xlZ2FjeUNhbGxFdmVudF9pbmZvX2Jhc2ljIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICAgICAgZ2FwOiAkc3BhY2luZy00O1xuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAxMHB4OyAvKiBUbyBtYXRjaCBteF9MZWdhY3lDYWxsRXZlbnQgKi9cbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gICAgICAgICAgICAgICAgbWluLXdpZHRoOiAwO1xuXG4gICAgICAgICAgICAgICAgLm14X0xlZ2FjeUNhbGxFdmVudF9zZW5kZXIge1xuICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogdmFyKC0tY3BkLWZvbnQtd2VpZ2h0LXNlbWlib2xkKTtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogJHNwYWNpbmctNDtcblxuICAgICAgICAgICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICAgICAgICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAubXhfTGVnYWN5Q2FsbEV2ZW50X3R5cGUge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHNlY29uZGFyeS1jb250ZW50O1xuXG4gICAgICAgICAgICAgICAgICAgIC5teF9MZWdhY3lDYWxsRXZlbnRfdHlwZV9pY29uIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogMTNweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxM3B4O1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiA1cHg7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxM3B4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxM3B4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRzZWNvbmRhcnktY29udGVudDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXNrLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hc2stc2l6ZTogY29udGFpbjtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5teF9MZWdhY3lDYWxsRXZlbnRfY29udGVudCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIGNvbG9yOiAkc2Vjb25kYXJ5LWNvbnRlbnQ7XG4gICAgICAgICAgICBmb250LXNpemU6ICRmb250LTEycHg7XG4gICAgICAgICAgICBnYXA6ICRzcGFjaW5nLTEyOyAvKiBTZWUgbXhfSW5jb21pbmdMZWdhY3lDYWxsVG9hc3RfYnV0dG9ucyAqL1xuICAgICAgICAgICAgbWFyZ2luLWlubGluZS1zdGFydDogNDJweDsgLyogYXZhdGFyICgzMnB4KSArIG14X0xlZ2FjeUNhbGxFdmVudF9pbmZvX2Jhc2ljIG1hcmdpbiAoMTBweCkgKi9cbiAgICAgICAgICAgIHdvcmQtYnJlYWs6IGJyZWFrLXdvcmQ7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IGZpdC1jb250ZW50O1xuXG4gICAgICAgICAgICAubXhfTGVnYWN5Q2FsbEV2ZW50X2NvbnRlbnRfYnV0dG9uIHtcbiAgICAgICAgICAgICAgICBAbWl4aW4gTGVnYWN5Q2FsbEJ1dHRvbjtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwICRzcGFjaW5nLTEyO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogaW5oZXJpdDtcblxuICAgICAgICAgICAgICAgIHNwYW46OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgIG1hc2stc2l6ZTogMTZweDtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDE2cHg7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogMTZweDtcbiAgICAgICAgICAgICAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAubXhfTGVnYWN5Q2FsbEV2ZW50X2NvbnRlbnRfYnV0dG9uX3JlamVjdCB7XG4gICAgICAgICAgICAgICAgc3Bhbjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgbWFzay1pbWFnZTogdXJsKFwiJChyZXMpL2ltZy9lbGVtZW50LWljb25zL2NhbGwvaGFuZ3VwLnN2Z1wiKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5teF9MZWdhY3lDYWxsRXZlbnRfY29udGVudF90b29sdGlwIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDVweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYubXhfTGVnYWN5Q2FsbEV2ZW50X25hcnJvdyB7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IHVuc2V0O1xuICAgICAgICAgICAgZ2FwOiAkc3BhY2luZy00ICRzcGFjaW5nLTE2O1xuICAgICAgICAgICAgaGVpZ2h0OiB1bnNldDtcbiAgICAgICAgICAgIG1pbi13aWR0aDogMjkwcHg7XG5cbiAgICAgICAgICAgIC5teF9MZWdhY3lDYWxsRXZlbnRfaWNvbkJ1dHRvbiB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgICAgICAgICB0b3A6IDEycHg7XG4gICAgICAgICAgICAgICAgcmlnaHQ6IDEycHg7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxNnB4O1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxNnB4O1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5teF9MZWdhY3lDYWxsRXZlbnRfaW5mbyB7XG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLm14X0V2ZW50VGlsZVtkYXRhLWxheW91dD1cImJ1YmJsZVwiXSB7XG4gICAgLm14X0V2ZW50VGlsZV9lMmVJY29uICsgLm14X0xlZ2FjeUNhbGxFdmVudF93cmFwcGVyIHtcbiAgICAgICAgLm14X0xlZ2FjeUNhbGxFdmVudCB7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgICAgIC8qIDVweCAoZ2FwKSArIDE0cHggKGUyZSBpY29uIHNpemUgKiBtYXNrLXNpemUpICsgOXB4IChtYXJnaW4tbGVmdCBvZiBlMmUgaWNvbikgKi9cbiAgICAgICAgICAgIHJpZ2h0OiBjYWxjKDVweCArIDE0cHggKyA5cHgpO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4ubXhfRXZlbnRUaWxlX2xlZnRBbGlnbmVkQnViYmxlIHtcbiAgICAubXhfTGVnYWN5Q2FsbEV2ZW50X3dyYXBwZXIge1xuICAgICAgICAubXhfTGVnYWN5Q2FsbEV2ZW50IHtcbiAgICAgICAgICAgICYubXhfTGVnYWN5Q2FsbEV2ZW50X25hcnJvdyB7XG4gICAgICAgICAgICAgICAgZ2FwOiAkc3BhY2luZy04ICRzcGFjaW5nLTQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5teF9JUkNMYXlvdXQge1xuICAgIC5teF9MZWdhY3lDYWxsRXZlbnRfd3JhcHBlciB7XG4gICAgICAgIC5teF9MZWdhY3lDYWxsRXZlbnQge1xuICAgICAgICAgICAgbWFyZ2luLWlubGluZS1zdGFydDogJHNwYWNpbmctNDsgLyogZGlzcGxheSBncmVlbiBsaW5lICovXG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIvKlxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXG5Db3B5cmlnaHQgMjAxNyBWZWN0b3IgQ3JlYXRpb25zIEx0ZC5cblxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuKi9cblxuLm14X01FbW90ZUJvZHkge1xuICAgIHdoaXRlLXNwYWNlOiBwcmUtd3JhcDtcbiAgICB0ZXh0LWFsaWduOiBzdGFydDtcbn1cblxuLm14X01FbW90ZUJvZHlfc2VuZGVyIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG59XG4iLCIvKlxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXG5Db3B5cmlnaHQgMjAxNS0yMDIxIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXG5cblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cbiovXG5cbi5teF9NRmlsZUJvZHlfZG93bmxvYWQge1xuICAgIGNvbG9yOiAkYWNjZW50O1xuICAgIGhlaWdodDogdmFyKC0tY3BkLXNwYWNlLTl4KTtcbn1cblxuLm14X01GaWxlQm9keV9kb3dubG9hZCBvYmplY3Qge1xuICAgIG1hcmdpbi1sZWZ0OiAtMTZweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiA0cHg7XG4gICAgbWFyZ2luLXRvcDogLTRweDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuXG4vKiBSZW1vdmUgdGhlIGJvcmRlciBhbmQgcGFkZGluZyBmb3IgaWZyYW1lcyBmb3IgZG93bmxvYWQgbGlua3MuICovXG4ubXhfTUZpbGVCb2R5X2Rvd25sb2FkIGlmcmFtZSB7XG4gICAgbWFyZ2luOiAwcHg7XG4gICAgcGFkZGluZzogMHB4O1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICB3aWR0aDogMTAwJTtcbn1cblxuLm14X01GaWxlQm9keV9pbmZvIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAubXhfTUZpbGVCb2R5X2luZm9faWNvbiB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRzeXN0ZW07XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDIwcHg7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgd2lkdGg6IDMycHg7XG4gICAgICAgIGhlaWdodDogMzJweDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDEycHg7XG5cbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICBtYXNrLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgICAgbWFzay1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgICAgICAgbWFzay1zaXplOiBjb3ZlcjtcbiAgICAgICAgICAgIG1hc2staW1hZ2U6IHVybChcIiQocmVzKS9pbWcvZWxlbWVudC1pY29ucy9yb29tL2NvbXBvc2VyL2F0dGFjaC5zdmdcIik7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2Vjb25kYXJ5LWNvbnRlbnQ7XG4gICAgICAgICAgICB3aWR0aDogMTVweDtcbiAgICAgICAgICAgIGhlaWdodDogMTVweDtcblxuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiA4cHg7XG4gICAgICAgICAgICBsZWZ0OiA4cHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubXhfTUZpbGVCb2R5X2luZm9fZmlsZW5hbWUge1xuICAgICAgICBmb250OiB2YXIoLS1jcGQtZm9udC1ib2R5LW1kLXJlZ3VsYXIpO1xuICAgICAgICBjb2xvcjogdmFyKC0tY3BkLWNvbG9yLXRleHQtcHJpbWFyeSk7XG4gICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAzMnB4IC0gMTJweCk7IC8qIDMycHggaWNvbiwgMTJweCBtYXJnaW4gb24gdGhlIGljb24gKi9cbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICB9XG59XG4iLCIvKlxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXG5Db3B5cmlnaHQgMjAyMSBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxuQ29weXJpZ2h0IDIwMTUsIDIwMTYgT3Blbk1hcmtldCBMdGRcblxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuKi9cblxuLm14X01JbWFnZUJvZHlfYmFubmVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiAkc3BhY2luZy00O1xuICAgIGxlZnQ6ICRzcGFjaW5nLTQ7XG4gICAgcGFkZGluZzogJHNwYWNpbmctNDtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1NQm9keS1ib3JkZXItcmFkaXVzKTtcbiAgICBmb250LXNpemU6ICRmb250LTE1cHg7XG4gICAgdXNlci1zZWxlY3Q6IG5vbmU7IC8qIHByZXZlbnQgYmFubmVyIHRleHQgZnJvbSBiZWluZyBzZWxlY3RlZCAqL1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lOyAvKiBsZXQgdGhlIGN1cnNvciBnbyB0aHJvdWdoIHRvIHRoZSBtZWRpYSB1bmRlcm5lYXRoICovXG5cbiAgICAvKiBUcnlpbmcgdG8gbWF0Y2ggdGhlIHdpZHRoIG9mIHRoZSBpbWFnZSBpcyBzdXJwcmlzaW5nbHkgZGlmZmljdWx0LCBzbyBhcmJpdHJhcmlseSBicmVhayBpdCBvZmYgZWFybHkuICovXG4gICAgbWF4LXdpZHRoOiBtaW4oMTAwJSwgMzUwcHgpO1xuXG4gICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgLyogSGFyZGNvZGVkIGNvbG91cnMgYmVjYXVzZSBpdCdzIHRoZSBzYW1lIG9uIGFsbCB0aGVtZXMgKi9cbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNik7XG4gICAgY29sb3I6ICNmZmZmZmY7XG59XG5cbi5teF9NSW1hZ2VCb2R5X3BsYWNlaG9sZGVyIHtcbiAgICAvKiBQb3NpdGlvbiB0aGUgcGxhY2Vob2xkZXIgb24gdG9wIG9mIHRoZSB0aHVtYm5haWwsIHNvIHRoYXQgdGhlIHJldmVhbCBhbmltYXRpb24gY2FuIHdvcmsgKi9cbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogMDtcbiAgICB0b3A6IDA7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG5cbiAgICAubXhfQmx1cmhhc2ggPiBjYW52YXMge1xuICAgICAgICBhbmltYXRpb246IG14LS1hbmltLXB1bHNlIDEuNzVzIGluZmluaXRlIGN1YmljLWJlemllcigwLjQsIDAsIDAuNiwgMSk7XG4gICAgfVxufVxuXG4ubXhfTUltYWdlQm9keV90aHVtYm5haWxfY29udGFpbmVyIHtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1NQm9keS1ib3JkZXItcmFkaXVzKTtcblxuICAgIC8qIE5lY2Vzc2FyeSBmb3IgdGhlIGJvcmRlciByYWRpdXMgdG8gYXBwbHkgY29ycmVjdGx5IHRvIHRoZSBwbGFjZWhvbGRlciAqL1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgY29udGFpbjogcGFpbnQ7XG59XG5cbi5teF9NSW1hZ2VCb2R5X3RodW1ibmFpbCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAvKiBGb3JjZSB0aGUgaW1hZ2UgdG8gYmUgdGhlIGZ1bGwgc2l6ZSBvZiB0aGUgY29udGFpbmVyLCBldmVuIGlmIHRoZSAqL1xuICAgIC8qIHBpeGVsIHNpemUgaXMgc21hbGxlci4gVGhlIHByb2JsZW0gaGVyZSBpcyB0aGF0IHdlIGRvbid0IGtub3cgd2hhdCAqL1xuICAgIC8qIHRodW1ibmFpbCBzaXplIHRoZSBIUyBpcyBnb2luZyB0byBnaXZlIHVzLCBidXQgd2UgaGF2ZSB0byBjb21taXQgdG8gKi9cbiAgICAvKiBhIGNvbnRhaW5lciBzaXplIGltbWVkaWF0ZWx5IGFuZCBub3QgY2hhbmdlIGl0IHdoZW4gdGhlIGltYWdlIGxvYWRzICovXG4gICAgLyogb3Igd2UnbGwgZ2V0IGEgc2Nyb2xsIGp1bXAgKG9yIGhhdmUgdG8gbGVhdmUgYmxhbmsgc3BhY2UpLiAqL1xuICAgIC8qIFRoaXMgd2lsbCBvYnZpb3VzbHkgcmVzdWx0IGluIGFuIHVwc2NhbGVkIGltYWdlIHdoaWNoIHdpbGwgYmUgYSBiaXQgKi9cbiAgICAvKiBibHVycnkuIFRoZSBiZXN0IGZpeCB3b3VsZCBiZSBmb3IgdGhlIEhTIHRvIGFkdmVydGlzZSB3aGF0IHNpemUgdGh1bWJuYWlscyAqL1xuICAgIC8qIGl0IGd1YXJhbnRlZXMgdG8gcHJvZHVjZS4gKi9cbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgd2lkdGg6IDEwMCU7XG59XG5cbi5teF9NSW1hZ2VCb2R5X2dpZkxhYmVsIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgdG9wOiAwcHg7XG4gICAgbGVmdDogMTRweDtcbiAgICBwYWRkaW5nOiA1cHg7XG4gICAgYm9yZGVyLXJhZGl1czogNXB4O1xuICAgIGJhY2tncm91bmQ6ICRpbWFnZWJvZHktZ2lmbGFiZWw7XG4gICAgYm9yZGVyOiAycHggc29saWQgJGltYWdlYm9keS1naWZsYWJlbC1ib3JkZXI7XG4gICAgY29sb3I6ICRpbWFnZWJvZHktZ2lmbGFiZWwtY29sb3I7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5cbi5teF9IaWRkZW5JbWFnZVBsYWNlaG9sZGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgaW5zZXQ6IDA7XG5cbiAgICAvKiBUbyBjZW50ZXIgdGhlIHRleHQgaW4gdGhlIG1pZGRsZSBvZiB0aGUgZnJhbWUgKi9cbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRoZWFkZXItcGFuZWwtYmctY29sb3I7XG5cbiAgICAubXhfSGlkZGVuSW1hZ2VQbGFjZWhvbGRlcl9idXR0b24ge1xuICAgICAgICBjb2xvcjogJGFjY2VudDtcblxuICAgICAgICBzcGFuLm14X0hpZGRlbkltYWdlUGxhY2Vob2xkZXJfZXllIHtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogOHB4O1xuXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYWNjZW50O1xuICAgICAgICAgICAgbWFzay1pbWFnZTogdXJsKFwiJChyZXMpL2ltZy9lbGVtZW50LWljb25zL2V5ZS5zdmdcIik7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICB3aWR0aDogMThweDtcbiAgICAgICAgICAgIGhlaWdodDogMTRweDtcbiAgICAgICAgfVxuXG4gICAgICAgIHNwYW46bm90KC5teF9IaWRkZW5JbWFnZVBsYWNlaG9sZGVyX2V5ZSkge1xuICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IHRleHQtYm90dG9tO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4ubXhfRXZlbnRUaWxlOmhvdmVyIC5teF9IaWRkZW5JbWFnZVBsYWNlaG9sZGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcbn1cbiIsIi8qXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cbkNvcHlyaWdodCAyMDIwIFR1bGlyIEFzb2thbiA8dHVsaXJAbWF1bml1bS5uZXQ+XG5cblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cbiovXG5cbi5teF9NSW1hZ2VSZXBseUJvZHkge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgY29sdW1uLWdhcDogJHNwYWNpbmctNDtcblxuICAgIC5teF9NSW1hZ2VCb2R5X3RodW1ibmFpbF9jb250YWluZXIge1xuICAgICAgICBmbGV4OiAxO1xuICAgICAgICBtaW4td2lkdGg6IDA7IC8qIFByZXZlbnQgYSBibG93b3V0ICovXG4gICAgfVxufVxuIiwiLypcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxuQ29weXJpZ2h0IDIwMjAgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cblxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuKi9cblxuLm14X0V2ZW50VGlsZUJ1YmJsZS5teF9NSml0c2lXaWRnZXRFdmVudCB7XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGhlYWRlci1wYW5lbC10ZXh0LXByaW1hcnktY29sb3I7IC8qIFhYWDogVmFyaWFibGUgYWJ1c2UgKi9cbiAgICAgICAgbWFzay1pbWFnZTogdXJsKFwiJChyZXMpL2ltZy9lbGVtZW50LWljb25zL2NhbGwvdmlkZW8tY2FsbC5zdmdcIik7XG4gICAgfVxufVxuIiwiLypcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxuQ29weXJpZ2h0IDIwMjEgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cblxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuKi9cblxuLm14X01Mb2NhdGlvbkJvZHkge1xuICAgIG1heC13aWR0aDogMTAwJTtcblxuICAgIC5teF9NTG9jYXRpb25Cb2R5X21hcCB7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgd2lkdGg6IDQ1MHB4O1xuICAgICAgICBoZWlnaHQ6IDMwMHB4O1xuICAgICAgICB6LWluZGV4OiAwOyAvKiBrZWVwcyB0aGUgZW50aXJlIG1hcCB1bmRlciB0aGUgbWVzc2FnZSBhY3Rpb24gYmFyICovXG5cbiAgICAgICAgYm9yZGVyLXJhZGl1czogdmFyKC0tTUJvZHktYm9yZGVyLXJhZGl1cyk7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB9XG59XG5cbi8qIEluIHRoZSB0aW1lbGluZSwgd2UgZml0IHRoZSB3aWR0aCBvZiB0aGUgY29udGFpbmVyICovXG4ubXhfRXZlbnRUaWxlX2xpbmUgLm14X01Mb2NhdGlvbkJvZHkgLm14X01Mb2NhdGlvbkJvZHlfbWFwIHtcbiAgICBtYXgtd2lkdGg6IDQ1MHB4O1xuICAgIHdpZHRoOiAxMDAlO1xufVxuXG4ubXhfRXZlbnRUaWxlW2RhdGEtbGF5b3V0PVwiYnViYmxlXCJdIC5teF9FdmVudFRpbGVfbGluZSAubXhfTUxvY2F0aW9uQm9keSAubXhfTUxvY2F0aW9uQm9keV9tYXAge1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICB3aWR0aDogNDUwcHg7XG59XG5cbi5teF9EaXNhbWJpZ3VhdGVkUHJvZmlsZSB+IC5teF9NTG9jYXRpb25Cb2R5IHtcbiAgICBtYXJnaW4tdG9wOiA2cHg7IC8qIFNlZTogaHR0cHM6Ly9naXRodWIuY29tL21hdHJpeC1vcmcvbWF0cml4LXJlYWN0LXNkay9wdWxsLzg0NDIgKi9cbn1cblxuLm14X1JlcGx5VGlsZSAubXhfTUxvY2F0aW9uQm9keSB7XG4gICAgLyogUHJldmVudCBjbGlja2luZyBhIGxvY2F0aW9uIHdpdGhpbiBhIHJlcGx5ICovXG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG4iLCIvKlxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXG5Db3B5cmlnaHQgMjAxNSwgMjAxNiBPcGVuTWFya2V0IEx0ZFxuXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXG4qL1xuXG4ubXhfTU5vdGljZUJvZHkge1xuICAgIHdoaXRlLXNwYWNlOiBwcmUtd3JhcDtcbiAgICBjb2xvcjogJHNlY29uZGFyeS1jb250ZW50O1xufVxuIiwiLypcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxuQ29weXJpZ2h0IDIwMjEgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cblxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuKi9cblxuLm14X01Qb2xsQm9keSB7XG4gICAgbWFyZ2luLXRvcDogOHB4O1xuXG4gICAgaDIge1xuICAgICAgICBmb250LXdlaWdodDogdmFyKC0tY3BkLWZvbnQtd2VpZ2h0LXNlbWlib2xkKTtcbiAgICAgICAgZm9udC1zaXplOiAkZm9udC0xNXB4O1xuICAgICAgICBsaW5lLWhlaWdodDogJGZvbnQtMjRweDtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogOHB4O1xuXG4gICAgICAgIC5teF9NUG9sbEJvZHlfZWRpdGVkIHtcbiAgICAgICAgICAgIGNvbG9yOiAkcm9vbXRvcGljLWNvbG9yO1xuICAgICAgICAgICAgZm9udC1zaXplOiAkZm9udC0xMnB4O1xuICAgICAgICAgICAgb3BhY2l0eTogMC42O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgaDI6OmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDEycHg7XG4gICAgICAgIHRvcDogM3B4O1xuICAgICAgICBsZWZ0OiAzcHg7XG4gICAgICAgIGhlaWdodDogMjBweDtcbiAgICAgICAgd2lkdGg6IDIwcHg7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRzZWNvbmRhcnktY29udGVudDtcbiAgICAgICAgbWFzay1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgbWFzay1zaXplOiBjb250YWluO1xuICAgICAgICBtYXNrLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICAgIG1hc2staW1hZ2U6IHVybChcIiQocmVzKS9pbWcvZWxlbWVudC1pY29ucy9yb29tL2NvbXBvc2VyL3BvbGwuc3ZnXCIpO1xuICAgIH1cblxuICAgIC5teF9NUG9sbEJvZHlfdG90YWxWb3RlcyB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBpbmxpbmU7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3RhcnQ7XG4gICAgICAgIGNvbG9yOiAkc2Vjb25kYXJ5LWNvbnRlbnQ7XG4gICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtMTJweDtcblxuICAgICAgICAubXhfU3Bpbm5lciB7XG4gICAgICAgICAgICBmbGV4OiAwO1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6ICRzcGFjaW5nLTg7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8qIFByZXZlbnQgY2xpY2tpbmcgYSBwb2xsIHdpdGhpbiBhIHJlcGx5ICovXG4ubXhfUmVwbHlUaWxlIC5teF9NUG9sbEJvZHkge1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuXG4ubXhfTVBvbGxCb2R5X2FsbE9wdGlvbnMge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC1nYXA6ICRzcGFjaW5nLTE2O1xuICAgIG1hcmdpbi1ib3R0b206ICRzcGFjaW5nLTg7XG4gICAgbWF4LXdpZHRoOiA1NTBweDtcbn1cbiIsIi8qXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cbkNvcHlyaWdodCAyMDIzIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXG5cblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cbiovXG5cbi5teF9NUG9sbEVuZEJvZHlfaWNvbiB7XG4gICAgaGVpZ2h0OiAxNHB4O1xuICAgIG1hcmdpbi1yaWdodDogJHNwYWNpbmctODtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIGNvbG9yOiAkc2Vjb25kYXJ5LWNvbnRlbnQ7XG59XG4iLCIvKlxuQ29weXJpZ2h0IDIwMTgtMjAyNCBOZXcgVmVjdG9yIEx0ZC5cblxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuKi9cblxuLm14X01TdGlja2VyQm9keV93cmFwcGVyIHtcbiAgICBwYWRkaW5nOiAxMnB4IDBweDtcbn1cblxuLm14X01TdGlja2VyQm9keV9oaWRkZW4ge1xuICAgIG1heC13aWR0aDogMjIwcHg7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgIC8qIFRvIGNlbnRlciB0aGUgdGV4dCBpbiB0aGUgbWlkZGxlIG9mIHRoZSBmcmFtZSAqL1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cblxuLm14X01TdGlja2VyQm9keV9wbGFjZWhvbGRlciB7XG4gICAgLyogY2VudGVyaW5nICovXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IGNhbGMoNTAlIC0gNDBweCk7XG4gICAgdG9wOiBjYWxjKDUwJSAtIDQwcHgpO1xufVxuIiwiLypcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxuQ29weXJpZ2h0IDIwMTUsIDIwMTYgT3Blbk1hcmtldCBMdGRcblxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuKi9cblxuLm14X01UZXh0Qm9keSB7XG4gICAgd2hpdGUtc3BhY2U6IHByZS13cmFwO1xufVxuIiwiLypcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxuQ29weXJpZ2h0IDIwMjAsIDIwMjEgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cblxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuKi9cblxuc3Bhbi5teF9NVmlkZW9Cb2R5IHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgLm14X01WaWRlb0JvZHlfY29udGFpbmVyIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogdmFyKC0tTUJvZHktYm9yZGVyLXJhZGl1cyk7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICAgICAgdmlkZW8ge1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIvKlxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXG5Db3B5cmlnaHQgMjAyMSBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxuXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXG4qL1xuXG4vKiBBIFwibWVkaWEgYm9keVwiIGlzIGFueSBmaWxlIHVwbG9hZCBsb29raW5nIHRoaW5nLCBhcGFydCBmcm9tIGltYWdlcyBhbmQgdmlkZW9zICh0aGV5ICovXG4vKiBoYXZlIHVuaXF1ZSBzdHlsZXMpLiAqL1xuXG4ubXhfTWVkaWFCb2R5IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcGFuZWxzO1xuICAgIGJvcmRlci1yYWRpdXM6IDEycHg7XG4gICAgbWF4LXdpZHRoOiAyNDNweDsgLyogdXNlIG1heC13aWR0aCBpbnN0ZWFkIG9mIHdpZHRoIHNvIGl0IGZpdHMgd2l0aGluIHJpZ2h0IHBhbmVscyAqL1xuXG4gICAgY29sb3I6ICRzZWNvbmRhcnktY29udGVudDtcbiAgICBmb250OiB2YXIoLS1jcGQtZm9udC1ib2R5LW1kLXJlZ3VsYXIpO1xuICAgIGxpbmUtaGVpZ2h0OiAkZm9udC0yNHB4O1xuXG4gICAgcGFkZGluZzogNnB4IDEycHg7XG59XG4iLCIvKlxuQ29weXJpZ2h0IDIwMTktMjAyNCBOZXcgVmVjdG9yIEx0ZC5cbkNvcHlyaWdodCAyMDE5IFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXG5cblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cbiovXG5cbi5teF9NZXNzYWdlQWN0aW9uQmFyIHtcbiAgICAtLU1lc3NhZ2VBY3Rpb25CYXItc2l6ZS1idXR0b246IDI4cHg7XG4gICAgLS1NZXNzYWdlQWN0aW9uQmFyLXNpemUtYm94OiAzMnB4OyAvKiAyOHB4ICsgMnB4IChtYXJnaW4pICogMiAqL1xuICAgIC0tTWVzc2FnZUFjdGlvbkJhci1pdGVtLWhvdmVyLWJhY2tncm91bmQ6IHZhcigtLWNwZC1jb2xvci1iZy1zdWJ0bGUtc2Vjb25kYXJ5KTtcbiAgICAtLU1lc3NhZ2VBY3Rpb25CYXItaXRlbS1ob3Zlci1ib3JkZXJSYWRpdXM6IDZweDtcbiAgICAtLU1lc3NhZ2VBY3Rpb25CYXItaXRlbS1ob3Zlci16SW5kZXg6IDE7XG5cbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGhlaWdodDogdmFyKC0tTWVzc2FnZUFjdGlvbkJhci1zaXplLWJveCk7XG4gICAgbGluZS1oZWlnaHQ6ICRmb250LTI0cHg7XG4gICAgYm9yZGVyLXJhZGl1czogOHB4O1xuICAgIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kO1xuICAgIGJvcmRlcjogdmFyKC0tY3BkLWJvcmRlci13aWR0aC0xKSBzb2xpZCB2YXIoLS1jcGQtY29sb3ItYm9yZGVyLWRpc2FibGVkKTtcbiAgICB0b3A6IC0zMnB4O1xuICAgIHJpZ2h0OiA4cHg7XG4gICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgLyogRW5zdXJlIHRoZSBhY3Rpb24gYmFyIGFwcGVhcnMgYWJvdmUgb3RoZXIgdGhpbmdzIGxpa2UgdGhlIHJlYWQgbWFya2VyICovXG4gICAgLyogYW5kIHNlbmRlciBhdmF0YXIgKGZvciBzbWFsbCBzY3JlZW5zKSAqL1xuICAgIHotaW5kZXg6IDEwO1xuXG4gICAgLyogQWRkcyBhIHByZXZpb3VzIGV2ZW50IHNhZmUgYXJlYSBzbyB0aGF0IHlvdSBjYW4ndCBhY2NpZGVudGFsbHkgaG92ZXIgdGhlICovXG4gICAgLyogcHJldmlvdXMgZXZlbnQgd2hpbGUgdHJ5aW5nIHRvIG1vdXNlIGludG8gdGhlIGFjdGlvbiBiYXIgb3IgZnJvbSB0aGUgKi9cbiAgICAvKiByZWFjdCBidXR0b24gdG8gaXRzIHRvb2x0aXAuICovXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAvKiB0b29sdGlwIHNhZmUgbW91c2luZyBhcmVhICsgdG9vbHRpcCBvdmVyaGFuZyArICovXG4gICAgICAgIC8qIGFjdGlvbiBiYXIgKyBhY3Rpb24gYmFyIG9mZnNldCBmcm9tIGV2ZW50ICovXG4gICAgICAgIHdpZHRoOiBjYWxjKDEwcHggKyA0OHB4ICsgMTAwJSArIDhweCk7XG4gICAgICAgIC8qIHNhZmUgYXJlYSArIGFjdGlvbiBiYXIgKi9cbiAgICAgICAgaGVpZ2h0OiBjYWxjKDIwcHggKyAxMDAlKTtcbiAgICAgICAgdG9wOiAtMTJweDtcbiAgICAgICAgbGVmdDogLTU4cHg7XG4gICAgICAgIHotaW5kZXg6IC0xO1xuICAgICAgICBjdXJzb3I6IGluaXRpYWw7XG5cbiAgICAgICAgLyogc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIG1heC1saW5lLWxlbmd0aCAqL1xuICAgICAgICAubXhfR2VuZXJpY0V2ZW50TGlzdFN1bW1hcnlbZGF0YS1sYXlvdXQ9XCJidWJibGVcIl1cbiAgICAgICAgICAgIC5teF9HZW5lcmljRXZlbnRMaXN0U3VtbWFyeV90b2dnbGVcbiAgICAgICAgICAgIH4gLm14X0dlbmVyaWNFdmVudExpc3RTdW1tYXJ5X3Vuc3R5bGVkTGlzdFxuICAgICAgICAgICAgLm14X0V2ZW50VGlsZV9pbmZvOmZpcnN0LW9mLXR5cGVcbiAgICAgICAgICAgICYge1xuICAgICAgICAgICAgLyogaW1wcm92ZSBjbGlja2FiaWxpdHkgb2YgXCJjb2xsYXBzZVwiIGxpbmsgYnV0dG9uIG9uIGJ1YmJsZSBsYXlvdXQgYnkgcmVkdWNpbmcgd2lkdGggYW5kIGhlaWdodCB2YWx1ZXMgKi9cbiAgICAgICAgICAgIC8qIG14X0dlbmVyaWNFdmVudExpc3RTdW1tYXJ5X3RvZ2dsZSB+OiB0byBhcHBseSBydWxlcyB0byBhY3Rpb24gYmFyIHdoZW4gXCJjb2xsYXBzZVwiIGJ1dHRvbiBpcyBhdmFpbGFibGUgKi9cbiAgICAgICAgICAgIC8qIG14X0V2ZW50VGlsZV9pbmZvOmZpcnN0LW9mLXR5cGU6IHRvIGFwcGx5IHJ1bGVzIHRvIHRoZSBpbmZvIGV2ZW50IHRpbGUganVzdCB1bmRlciBcImNvbGxhcHNlXCIgYnV0dG9uICovXG4gICAgICAgICAgICAvKiBUT0RPOiB1c2UgYSBuZXcgY2xhc3MgbmFtZSBpbnN0ZWFkICovXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIH1cblxuICAgICAgICAubXhfRXZlbnRUaWxlX2luZm8gLm14X1ZpZXdTb3VyY2VFdmVudCB+ICYge1xuICAgICAgICAgICAgLyogaW1wcm92ZSBjbGlja2FiaWxpdHkgb2YgdmlldyBzb3VyY2UgZXZlbnQgdG9nZ2xlIGJ1dHRvbiBieSByZW1vdmluZyB2ZXJ0aWNhbCBzYWZlIGFyZWEgKi9cbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgID4gKiB7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBtYXJnaW46IDJweDtcblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHZhcigtLU1lc3NhZ2VBY3Rpb25CYXItaXRlbS1ob3Zlci1iYWNrZ3JvdW5kKTtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLU1lc3NhZ2VBY3Rpb25CYXItaXRlbS1ob3Zlci1ib3JkZXJSYWRpdXMpO1xuICAgICAgICAgICAgei1pbmRleDogdmFyKC0tTWVzc2FnZUFjdGlvbkJhci1pdGVtLWhvdmVyLXpJbmRleCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubXhfTWVzc2FnZUFjdGlvbkJhcl9pY29uQnV0dG9uIHtcbiAgICAgICAgLS1NZXNzYWdlQWN0aW9uQmFyLWljb24tc2l6ZTogMThweDtcbiAgICAgICAgd2lkdGg6IHZhcigtLU1lc3NhZ2VBY3Rpb25CYXItc2l6ZS1idXR0b24pO1xuICAgICAgICBoZWlnaHQ6IHZhcigtLU1lc3NhZ2VBY3Rpb25CYXItc2l6ZS1idXR0b24pO1xuICAgICAgICBjb2xvcjogdmFyKC0tY3BkLWNvbG9yLWljb24tc2Vjb25kYXJ5KTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cbiAgICAgICAgc3ZnIHtcbiAgICAgICAgICAgIGhlaWdodDogdmFyKC0tTWVzc2FnZUFjdGlvbkJhci1pY29uLXNpemUpO1xuICAgICAgICAgICAgd2lkdGg6IHZhcigtLU1lc3NhZ2VBY3Rpb25CYXItaWNvbi1zaXplKTtcbiAgICAgICAgICAgIGZsZXg6IDAgMCB2YXIoLS1NZXNzYWdlQWN0aW9uQmFyLWljb24tc2l6ZSk7XG4gICAgICAgIH1cblxuICAgICAgICAmOmRpc2FibGVkLFxuICAgICAgICAmW2Rpc2FibGVkXSB7XG4gICAgICAgICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICAgICAgICAgICAgb3BhY2l0eTogMC43NTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgY29sb3I6IHZhcigtLWNwZC1jb2xvci1pY29uLXByaW1hcnkpO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5teF9NZXNzYWdlQWN0aW9uQmFyX3RocmVhZEJ1dHRvbiB7XG4gICAgICAgICAgICAtLU1lc3NhZ2VBY3Rpb25CYXItaWNvbi1zaXplOiAyMHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgJi5teF9NZXNzYWdlQWN0aW9uQmFyX3JldHJ5QnV0dG9uIHtcbiAgICAgICAgICAgIC0tTWVzc2FnZUFjdGlvbkJhci1pY29uLXNpemU6IDE2cHg7XG4gICAgICAgIH1cblxuICAgICAgICAmLm14X01lc3NhZ2VBY3Rpb25CYXJfZG93bmxvYWRCdXR0b24ge1xuICAgICAgICAgICAgLS1NZXNzYWdlQWN0aW9uQmFyLWljb24tc2l6ZTogMjBweDtcblxuICAgICAgICAgICAgJi5teF9NZXNzYWdlQWN0aW9uQmFyX2Rvd25sb2FkU3Bpbm5lckJ1dHRvbiB7XG4gICAgICAgICAgICAgICAgc3ZnIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTsgLyogaGlkZSB0aGUgZG93bmxvYWQgaWNvbiAqL1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYubXhfTWVzc2FnZUFjdGlvbkJhcl9leHBhbmRDb2xsYXBzZU1lc3NhZ2VCdXR0b24ge1xuICAgICAgICAgICAgLS1NZXNzYWdlQWN0aW9uQmFyLWljb24tc2l6ZTogMTJweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5teF9NZXNzYWdlQWN0aW9uQmFyX29wdGlvbnNCdXR0b24ge1xuICAgICAgICAtLU1lc3NhZ2VBY3Rpb25CYXItaWNvbi1zaXplOiAyMnB4O1xuICAgIH1cbn1cbiIsIi8qXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cbkNvcHlyaWdodCAyMDE1LCAyMDE2IE9wZW5NYXJrZXQgTHRkXG5cblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cbiovXG5cbjpyb290IHtcbiAgICAtLU1lc3NhZ2VUaW1lc3RhbXAtd2lkdGg6IDQ2cHg7IC8qIDggKyAzMCAoYXZhdGFyKSArIDggKi9cbiAgICAtLU1lc3NhZ2VUaW1lc3RhbXAtbWF4LXdpZHRoOiA4MHB4O1xuICAgIC0tTWVzc2FnZVRpbWVzdGFtcC1jb2xvcjogJGV2ZW50LXRpbWVzdGFtcC1jb2xvcjtcbn1cblxuLm14X01lc3NhZ2VUaW1lc3RhbXAge1xuICAgIGNvbG9yOiB2YXIoLS1NZXNzYWdlVGltZXN0YW1wLWNvbG9yKTtcbiAgICBmb250LXNpemU6ICRmb250LTEwcHg7XG4gICAgZm9udC12YXJpYW50LW51bWVyaWM6IHRhYnVsYXItbnVtcztcbiAgICBkaXNwbGF5OiBibG9jazsgLyogZW5hYmxlIHRoZSB3aWR0aCBzZXR0aW5nIGJlbG93ICovXG4gICAgd2lkdGg6IHZhcigtLU1lc3NhZ2VUaW1lc3RhbXAtd2lkdGgpO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgdXNlci1zZWxlY3Q6IG5vbmU7XG59XG5cbi5teF9NZXNzYWdlVGltZXN0YW1wX2xhdGVJY29uIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDEwMCU7XG4gICAgdG9wOiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgIGNvbG9yOiBpbmhlcml0O1xufVxuIiwiLypcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxuQ29weXJpZ2h0IDIwMTkgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cblxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuKi9cblxuLm14X01qb2xuaXJCb2R5IHtcbiAgICBvcGFjaXR5OiAwLjQ7XG59XG4iLCIvKlxuICogQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXG4gKlxuICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXG4gKiBQbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuICovXG5cbi5teF9QaW5uZWRNZXNzYWdlQmFkZ2Uge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiB2YXIoLS1jcGQtc3BhY2UtMXgpO1xuXG4gICAgcGFkZGluZzogdmFyKC0tY3BkLXNwYWNlLTF4KSB2YXIoLS1jcGQtc3BhY2UtM3gpIHZhcigtLWNwZC1zcGFjZS0xeCkgdmFyKC0tY3BkLXNwYWNlLTF4KTtcbiAgICBmb250OiB2YXIoLS1jcGQtZm9udC1ib2R5LXhzLW1lZGl1bSk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY3BkLWNvbG9yLWFscGhhLWdyYXktMjAwKTtcbiAgICBjb2xvcjogdmFyKC0tY3BkLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTtcblxuICAgIGJvcmRlci1yYWRpdXM6IDk5cHg7XG4gICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tY3BkLWNvbG9yLWFscGhhLWdyYXktNDAwKTtcblxuICAgIHN2ZyB7XG4gICAgICAgIGZpbGw6IHZhcigtLWNwZC1jb2xvci1pY29uLXNlY29uZGFyeSk7XG4gICAgfVxufVxuIiwiLypcbkNvcHlyaWdodCAyMDE5LTIwMjQgTmV3IFZlY3RvciBMdGQuXG5cblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cbiovXG5cbi5teF9SZWFjdGlvbnNSb3cge1xuICAgIGNvbG9yOiB2YXIoLS1jcGQtY29sb3ItdGV4dC1wcmltYXJ5KTtcblxuICAgIC5teF9SZWFjdGlvbnNSb3dfYWRkUmVhY3Rpb25CdXR0b24ge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuOyAvKiBzaG93IG9uIGhvdmVyIG9mIHRoZSAubXhfRXZlbnRUaWxlICovXG4gICAgICAgIHdpZHRoOiAyNHB4O1xuICAgICAgICBoZWlnaHQ6IDI0cHg7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiA0cHg7XG4gICAgICAgIG1hcmdpbi1yaWdodDogNHB4O1xuXG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBtYXNrLXNpemU6IDE2cHg7XG4gICAgICAgICAgICBtYXNrLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgICAgbWFzay1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRlcnRpYXJ5LWNvbnRlbnQ7XG4gICAgICAgICAgICBtYXNrLWltYWdlOiB1cmwoXCIkKHJlcykvaW1nL2VsZW1lbnQtaWNvbnMvcm9vbS9tZXNzYWdlLWJhci9lbW9qaS5zdmdcIik7XG4gICAgICAgIH1cblxuICAgICAgICAmLm14X1JlYWN0aW9uc1Jvd19hZGRSZWFjdGlvbkJ1dHRvbl9hY3RpdmUge1xuICAgICAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTsgLyoga2VlcCBzaG93aW5nIHdoaWxzdCB0aGUgY29udGV4dCBtZW51IGlzIHNob3duICovXG4gICAgICAgIH1cblxuICAgICAgICAmOmhvdmVyLFxuICAgICAgICAmLm14X1JlYWN0aW9uc1Jvd19hZGRSZWFjdGlvbkJ1dHRvbl9hY3RpdmUge1xuICAgICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJpbWFyeS1jb250ZW50O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4ubXhfRXZlbnRUaWxlOmhvdmVyIC5teF9SZWFjdGlvbnNSb3dfYWRkUmVhY3Rpb25CdXR0b24ge1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG59XG5cbi5teF9SZWFjdGlvbnNSb3dfc2hvd0FsbCB7XG4gICAgY29sb3I6ICR0ZXJ0aWFyeS1jb250ZW50O1xuXG4gICAgJi5teF9BY2Nlc3NpYmxlQnV0dG9uX2tpbmRfbGlua19pbmxpbmUge1xuICAgICAgICBmb250LXNpemU6ICRmb250LTEycHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAkZm9udC0yMHB4O1xuICAgICAgICBtYXJnaW4taW5saW5lLXN0YXJ0OiAkc3BhY2luZy00O1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgY29sb3I6ICRwcmltYXJ5LWNvbnRlbnQ7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIvKlxuQ29weXJpZ2h0IDIwMTktMjAyNCBOZXcgVmVjdG9yIEx0ZC5cblxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuKi9cblxuLm14X1JlYWN0aW9uc1Jvd0J1dHRvbiB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgbGluZS1oZWlnaHQ6ICRmb250LTIwcHg7XG4gICAgcGFkZGluZzogMXB4IDZweDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jcGQtY29sb3ItZ3JheS00MDApO1xuICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY3BkLWNvbG9yLWdyYXktMjAwKTtcbiAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gICAgJi5teF9SZWFjdGlvbnNSb3dCdXR0b25fc2VsZWN0ZWQge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYWNjZW50LTMwMDtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkYWNjZW50LTgwMDtcbiAgICB9XG5cbiAgICAmLm14X0FjY2Vzc2libGVCdXR0b25fZGlzYWJsZWQge1xuICAgICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICAgIH1cblxuICAgIC5teF9SZWFjdGlvbnNSb3dCdXR0b25fY29udGVudCB7XG4gICAgICAgIG1heC13aWR0aDogMTAwcHg7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiA0cHg7XG4gICAgfVxufVxuIiwiLypcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxuQ29weXJpZ2h0IDIwMjAgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cblxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuKi9cblxuLm14X1JlZGFjdGVkQm9keSB7XG4gICAgd2hpdGUtc3BhY2U6IHByZS13cmFwO1xuICAgIGNvbG9yOiAkc2Vjb25kYXJ5LWNvbnRlbnQ7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcblxuICAgIHBhZGRpbmctbGVmdDogMjBweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgICBoZWlnaHQ6IDE0cHg7XG4gICAgICAgIHdpZHRoOiAxNHB4O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaWNvbi1idXR0b24tY29sb3I7XG4gICAgICAgIG1hc2staW1hZ2U6IHVybChcIkB2ZWN0b3ItaW0vY29tcG91bmQtZGVzaWduLXRva2Vucy9pY29ucy9kZWxldGUuc3ZnXCIpO1xuICAgICAgICBtYXNrLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICBtYXNrLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICAgIG1hc2stc2l6ZTogY29udGFpbjtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDFweDtcbiAgICAgICAgbGVmdDogMDtcbiAgICB9XG59XG4iLCIvKlxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXG5Db3B5cmlnaHQgMjAxNyBWZWN0b3IgQ3JlYXRpb25zIEx0ZFxuXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXG4qL1xuXG4ubXhfUm9vbUF2YXRhckV2ZW50X2F2YXRhciB7XG4gICAgZGlzcGxheTogaW5saW5lO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IDNweDtcbn1cbiIsIi8qXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cbkNvcHlyaWdodCAyMDE1LCAyMDE2IE9wZW5NYXJrZXQgTHRkXG5cblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cbiovXG5cbi5teF9UZXh0dWFsRXZlbnQge1xuICAgIG92ZXJmbG93LXk6IGhpZGRlbjtcbiAgICBsaW5lLWhlaWdodDogbm9ybWFsO1xuXG4gICAgYSB7XG4gICAgICAgIGNvbG9yOiAkYWNjZW50O1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgfVxuXG4gICAgLm14X1Jvb21WaWV3X3NlYXJjaFJlc3VsdHNQYW5lbCAmIHtcbiAgICAgICAgb3BhY2l0eTogdW5zZXQ7IC8qIFVuc2V0IHRoZSBvcGFjaXR5IHZhbHVlIHNwZWNpZmllZCBhYm92ZSBvbiB0aGUgc2VhcmNoIHJlc3VsdHMgcGFuZWwgKi9cbiAgICB9XG59XG4iLCIvKlxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXG5Db3B5cmlnaHQgMjAxNyBWZWN0b3IgQ3JlYXRpb25zIEx0ZFxuXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXG4qL1xuXG4ubXhfVGltZWxpbmVTZXBhcmF0b3Ige1xuICAgIGNsZWFyOiBib3RoO1xuICAgIG1hcmdpbjogNHB4IDA7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGZvbnQ6IHZhcigtLWNwZC1mb250LWJvZHktbWQtcmVndWxhcik7XG4gICAgY29sb3I6IHZhcigtLWNwZC1jb2xvci10ZXh0LXByaW1hcnkpO1xufVxuXG4ubXhfVGltZWxpbmVTZXBhcmF0b3IgPiBociB7XG4gICAgZmxleDogMSAxIDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tY3BkLWNvbG9yLWdyYXktNDAwKTtcbn1cbiIsIi8qXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cbkNvcHlyaWdodCAyMDE1LCAyMDE2IE9wZW5NYXJrZXQgTHRkXG5cblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cbiovXG5cbi5teF9Vbmtub3duQm9keSB7XG4gICAgd2hpdGUtc3BhY2U6IHByZS13cmFwO1xufVxuIiwiLypcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxuQ29weXJpZ2h0IDIwMTkgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cblxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuKi9cblxuLm14X0V2ZW50VGlsZV9jb250ZW50Lm14X1ZpZXdTb3VyY2VFdmVudCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBvcGFjaXR5OiAwLjY7XG4gICAgZm9udC1zaXplOiAkZm9udC0xMnB4O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG92ZXJmbG93LXg6IGF1dG87IC8qIENhbmNlbCBvdmVyZmxvdyBzZXR0aW5nIG9mIC5teF9FdmVudFRpbGVfY29udGVudCAqL1xuICAgIGxpbmUtaGVpZ2h0OiBub3JtYWw7IC8qIEFsaWduIHdpdGggYXZhdGFyIGFuZCBFMkUgaWNvbiAqL1xuXG4gICAgcHJlLFxuICAgIGNvZGUge1xuICAgICAgICBmbGV4OiAxO1xuICAgIH1cblxuICAgIHByZSB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgICAgIG1hcmdpbjogMy41cHggMDtcbiAgICB9XG5cbiAgICAubXhfVmlld1NvdXJjZUV2ZW50X3RvZ2dsZSB7XG4gICAgICAgIC0tVmlld1NvdXJjZUV2ZW50X3RvZ2dsZS1zaXplOiAxNnB4O1xuXG4gICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgICAgLyogaWNvbiAqL1xuICAgICAgICB3aWR0aDogdmFyKC0tVmlld1NvdXJjZUV2ZW50X3RvZ2dsZS1zaXplKTtcbiAgICAgICAgbWluLXdpZHRoOiB2YXIoLS1WaWV3U291cmNlRXZlbnRfdG9nZ2xlLXNpemUpO1xuXG4gICAgICAgIHN2ZyB7XG4gICAgICAgICAgICBjb2xvcjogJGFjY2VudDtcbiAgICAgICAgICAgIHdpZHRoOiB2YXIoLS1WaWV3U291cmNlRXZlbnRfdG9nZ2xlLXNpemUpO1xuICAgICAgICAgICAgaGVpZ2h0OiB2YXIoLS1WaWV3U291cmNlRXZlbnRfdG9nZ2xlLXNpemUpO1xuICAgICAgICB9XG5cbiAgICAgICAgLm14X0V2ZW50VGlsZTpob3ZlciAmIHtcbiAgICAgICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLm14X1ZpZXdTb3VyY2VFdmVudF9leHBhbmRlZCAubXhfVmlld1NvdXJjZUV2ZW50X3RvZ2dsZSB7XG4gICAgICAgIGFsaWduLXNlbGY6IGZsZXgtZW5kO1xuICAgICAgICBoZWlnaHQ6IHZhcigtLVZpZXdTb3VyY2VFdmVudF90b2dnbGUtc2l6ZSk7XG4gICAgfVxufVxuIiwiLypcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxuQ29weXJpZ2h0IDIwMTksIDIwMjAgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cblxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuKi9cblxuLm14X0V2ZW50VGlsZUJ1YmJsZS5teF9jcnlwdG9FdmVudCB7XG4gICAgbWFyZ2luOiB2YXIoLS1FdmVudFRpbGVCdWJibGVfbWFyZ2luLWJsb2NrKSBhdXRvO1xuXG4gICAgLyogd2hpdGUgaW5maWxsIGZvciB0aGUgdHJhbnNwYXJlbmN5ICovXG4gICAgJi5teF9jcnlwdG9FdmVudF9pY29uOjpiZWZvcmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgICAgICBtYXNrLWltYWdlOiB1cmwoXCIkKHJlcykvaW1nL2UyZS9ub3JtYWwuc3ZnXCIpO1xuICAgICAgICBtYXNrLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICBtYXNrLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICAgIG1hc2stc2l6ZTogODAlO1xuICAgIH1cblxuICAgICYubXhfY3J5cHRvRXZlbnRfaWNvbjo6YWZ0ZXIge1xuICAgICAgICBtYXNrLWltYWdlOiB1cmwoXCIkKHJlcykvaW1nL2UyZS9ub3JtYWwuc3ZnXCIpO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaGVhZGVyLXBhbmVsLXRleHQtcHJpbWFyeS1jb2xvcjtcbiAgICB9XG5cbiAgICAmLm14X2NyeXB0b0V2ZW50X2ljb25fdmVyaWZpZWQ6OmFmdGVyIHtcbiAgICAgICAgbWFzay1pbWFnZTogdXJsKFwiJChyZXMpL2ltZy9lMmUvdmVyaWZpZWQuc3ZnXCIpO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYWNjZW50O1xuICAgIH1cblxuICAgICYubXhfY3J5cHRvRXZlbnRfaWNvbl93YXJuaW5nOjphZnRlciB7XG4gICAgICAgIG1hc2staW1hZ2U6IHVybChcIiQocmVzKS9pbWcvZTJlL3dhcm5pbmcuc3ZnXCIpO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZTJlLXdhcm5pbmctY29sb3I7XG4gICAgfVxuXG4gICAgLm14X2NyeXB0b0V2ZW50X3N0YXRlLFxuICAgIC5teF9jcnlwdG9FdmVudF9idXR0b25zIHtcbiAgICAgICAgZ3JpZC1jb2x1bW46IDM7XG4gICAgICAgIGdyaWQtcm93OiAxIC8gMztcbiAgICB9XG5cbiAgICAubXhfY3J5cHRvRXZlbnRfYnV0dG9ucyB7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGdhcDogNXB4O1xuICAgIH1cblxuICAgIC5teF9jcnlwdG9FdmVudF9zdGF0ZSB7XG4gICAgICAgIHdpZHRoOiAxMzBweDtcbiAgICAgICAgcGFkZGluZzogMTBweCAyMHB4O1xuICAgICAgICBtYXJnaW46IGF1dG8gMDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBjb2xvcjogJHRlcnRpYXJ5LWNvbnRlbnQ7XG4gICAgICAgIG92ZXJmbG93LXdyYXA6IGJyZWFrLXdvcmQ7XG4gICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtMTJweDtcbiAgICB9XG59XG4iLCIvKlxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXG5Db3B5cmlnaHQgMjAyMyBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxuXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXG4qL1xuXG4ubXhfUG9sbEhpc3RvcnlfY29udGVudCB7XG4gICAgaGVpZ2h0OiA2MDBweDtcbiAgICB3aWR0aDogMTAwJTtcblxuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbn1cblxuLm14X1BvbGxIaXN0b3J5X2hlYWRlci5teF9IZWFkaW5nX2gyIHtcbiAgICBtYXJnaW4tYm90dG9tOiAkc3BhY2luZy0xNjtcbn1cbiIsIi8qXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cbkNvcHlyaWdodCAyMDIzIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXG5cblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cbiovXG5cbi5teF9Qb2xsSGlzdG9yeUxpc3Qge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBmbGV4OiAxIDEgYXV0bztcbiAgICBtYXgtaGVpZ2h0OiAxMDAlO1xufVxuXG4ubXhfUG9sbEhpc3RvcnlMaXN0X2xpc3Qge1xuICAgIG92ZXJmbG93OiBhdXRvO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgbWFyZ2luLWJsb2NrOiAwO1xuICAgIHBhZGRpbmctaW5saW5lOiAwO1xuICAgIGZsZXg6IDEgMSAwO1xuICAgIGFsaWduLWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLWdhcDogJHNwYWNpbmctMjA7XG4gICAgcGFkZGluZy1yaWdodDogJHNwYWNpbmctNjQ7XG4gICAgbWFyZ2luOiAkc3BhY2luZy0zMiAwO1xuXG4gICAgJi5teF9Qb2xsSGlzdG9yeUxpc3RfbGlzdF9FTkRFRCB7XG4gICAgICAgIGdyaWQtZ2FwOiAkc3BhY2luZy0zMjtcbiAgICB9XG59XG5cbi5teF9Qb2xsSGlzdG9yeUxpc3Rfbm9SZXN1bHRzIHtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBwYWRkaW5nOiAwICRzcGFjaW5nLTY0O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgIGxpbmUtaGVpZ2h0OiAkZm9udC0yNHB4O1xuICAgIGNvbG9yOiAkc2Vjb25kYXJ5LWNvbnRlbnQ7XG5cbiAgICAubXhfUG9sbEhpc3RvcnlMaXN0X2xvYWRNb3JlUG9sbHMge1xuICAgICAgICBtYXJnaW4tdG9wOiAkc3BhY2luZy0xNjtcbiAgICB9XG59XG5cbi5teF9Qb2xsSGlzdG9yeUxpc3RfbG9hZGluZyB7XG4gICAgY29sb3I6ICRzZWNvbmRhcnktY29udGVudDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAvLyBjZW50ZXIgaW4gYWxsIGZyZWUgc3BhY2VcbiAgICAvLyB3aGVuIHRoZXJlIGFyZSBubyByZXN1bHRzXG4gICAgJi5teF9Qb2xsSGlzdG9yeUxpc3Rfbm9SZXN1bHRzWWV0IHtcbiAgICAgICAgbWFyZ2luOiBhdXRvIGF1dG87XG4gICAgfVxufVxuXG4ubXhfUG9sbEhpc3RvcnlMaXN0X2xvYWRNb3JlUG9sbHMge1xuICAgIHdpZHRoOiBtYXgtY29udGVudDtcbn1cbiIsIi8qXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cbkNvcHlyaWdodCAyMDIwIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXG5cblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cbiovXG5cbi5teF9CYXNlQ2FyZCB7XG4gICAgLS1CYXNlQ2FyZF9FdmVudFRpbGVfbGluZS1wYWRkaW5nLWJsb2NrOiAycHg7XG4gICAgLS1CYXNlQ2FyZF9FdmVudFRpbGUtc3BhY2luZy1pbmxpbmU6IDM2cHg7XG4gICAgLS1CYXNlQ2FyZF9oZWFkZXItYnV0dG9uLXNpemU6IDI4cHg7XG5cbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBmbGV4OiAxO1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tY3BkLWZvbnQtc2l6ZS1ib2R5LW1kKTtcblxuICAgIC5teF9CYXNlQ2FyZF9oZWFkZXIge1xuICAgICAgICBoZWlnaHQ6IDY0cHg7XG4gICAgICAgIHBhZGRpbmc6IHZhcigtLWNwZC1zcGFjZS00eCk7XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIC8qIGNoYW5naW5nIHRoZSBjb2xvciBmcm9tICRzZXBhcmF0b3IgdG8gdHJhbnNwYXJlbnQgYXMgaXQgaXNcbiAgICAgICAgICAgdGhlIGJlc3QgdmlzdWFsIG91dHB1dCBkdXJpbmcgdGhlIHRyYW5zaXRpb24gcGVyaW9kLiBUaGlzIHdpbGwgYmVcbiAgICAgICAgICAgcmVpbnRyb2R1Y2VkIGF0IGEgbGF0ZXIgc3RhZ2UuICovXG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICBnYXA6IHZhcigtLWNwZC1zcGFjZS0zeCk7XG4gICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgICAgICBib3JkZXItYmxvY2stZW5kOiB2YXIoLS1jcGQtYm9yZGVyLXdpZHRoLTEpIHNvbGlkICRzZXBhcmF0b3I7XG5cbiAgICAgICAgLm14X0Jhc2VDYXJkX2hlYWRlcl9zcGFjZXIge1xuICAgICAgICAgICAgZmxleDogMTtcbiAgICAgICAgfVxuXG4gICAgICAgID4gaDIge1xuICAgICAgICAgICAgbWFyZ2luOiAwIDQ0cHg7XG4gICAgICAgICAgICBmb250OiB2YXIoLS1jcGQtZm9udC1ib2R5LXNtLXNlbWlib2xkKTtcbiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgIH1cblxuICAgICAgICAubXhfQmFzZUNhcmRfaGVhZGVyX3RpdGxlIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICAgICAgaGVpZ2h0OiAyNHB4O1xuICAgICAgICAgICAgZmxleDogMTtcblxuICAgICAgICAgICAgLm14X0Jhc2VDYXJkX2hlYWRlcl90aXRsZV9oZWFkaW5nIHtcbiAgICAgICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgICAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgICAgICAgICAgICAgZm9udDogdmFyKC0tY3BkLWZvbnQtYm9keS1tZC1tZWRpdW0pO1xuICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1jcGQtY29sb3ItdGV4dC1zZWNvbmRhcnkpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAubXhfQmFzZUNhcmRfaGVhZGVyX3RpdGxlX2J1dHRvbi0tb3B0aW9uIHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgd2lkdGg6IHZhcigtLUJhc2VDYXJkX2hlYWRlci1idXR0b24tc2l6ZSk7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiB2YXIoLS1CYXNlQ2FyZF9oZWFkZXItYnV0dG9uLXNpemUpO1xuXG4gICAgICAgICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgIGluc2V0LWJsb2NrLXN0YXJ0OiAwO1xuICAgICAgICAgICAgICAgICAgICBpbnNldC1pbmxpbmUtc3RhcnQ6IDA7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgIG1hc2stcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgICAgICAgICAgIG1hc2stcG9zaXRpb246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgbWFzay1pbWFnZTogdXJsKFwiQHZlY3Rvci1pbS9jb21wb3VuZC1kZXNpZ24tdG9rZW5zL2ljb25zL292ZXJmbG93LWhvcml6b250YWwuc3ZnXCIpO1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2Vjb25kYXJ5LWNvbnRlbnQ7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJjpob3Zlcjo6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJpbWFyeS1jb250ZW50O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5teF9BdXRvSGlkZVNjcm9sbGJhciB7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDA7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIHNjcm9sbGJhci1ndXR0ZXI6IHN0YWJsZTtcbiAgICB9XG5cbiAgICAubXhfQmFzZUNhcmRfZm9vdGVyIHtcbiAgICAgICAgcGFkZGluZy10b3A6ICRzcGFjaW5nLTQ7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7XG5cbiAgICAgICAgLm14X0FjY2Vzc2libGVCdXR0b25fa2luZF9zZWNvbmRhcnkge1xuICAgICAgICAgICAgY29sb3I6ICRzZWNvbmRhcnktY29udGVudDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTQxLCAxNTEsIDE2NSwgMC4yKTtcbiAgICAgICAgICAgIGZvbnQ6IHZhcigtLWNwZC1mb250LWJvZHktbWQtc2VtaWJvbGQpO1xuICAgICAgICB9XG5cbiAgICAgICAgLm14X0FjY2Vzc2libGVCdXR0b25fZGlzYWJsZWQge1xuICAgICAgICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLm14X0NvbnRleHR1YWxNZW51X3dyYXBwZXIubXhfQmFzZUNhcmRfaGVhZGVyX3RpdGxlIHtcbiAgICAubXhfQ29udGV4dHVhbE1lbnUge1xuICAgICAgICBwb3NpdGlvbjogaW5pdGlhbDtcblxuICAgICAgICBzcGFuOmZpcnN0LW9mLXR5cGUge1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLWNwZC1mb250LXdlaWdodC1zZW1pYm9sZCk7XG4gICAgICAgICAgICBmb250LXNpemU6IGluaGVyaXQ7XG4gICAgICAgICAgICBjb2xvcjogJHByaW1hcnktY29udGVudDtcbiAgICAgICAgfVxuXG4gICAgICAgIGZvbnQ6IHZhcigtLWNwZC1mb250LWJvZHktc20tcmVndWxhcik7XG4gICAgICAgIGNvbG9yOiAkcHJpbWFyeS1jb250ZW50O1xuICAgICAgICBwYWRkaW5nLXRvcDogMTBweDtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDEwcHg7XG5cbiAgICAgICAgYm9yZGVyOiB2YXIoLS1jcGQtYm9yZGVyLXdpZHRoLTEpIHNvbGlkIHZhcigtLWNwZC1jb2xvci1ib3JkZXItaW50ZXJhY3RpdmUtc2Vjb25kYXJ5KTtcbiAgICAgICAgYm94LXNoYWRvdzogMHB4IDRweCAyNHB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgICB9XG5cbiAgICAubXhfQ29udGV4dHVhbE1lbnVfY2hldnJvbl90b3Age1xuICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICByaWdodDogMjJweDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogdmFyKC0tY3BkLWNvbG9yLWJvcmRlci1pbnRlcmFjdGl2ZS1zZWNvbmRhcnkpO1xuXG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICBib3JkZXI6IGluaGVyaXQ7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tLWNvbG9yOiB2YXIoLS1jcGQtY29sb3ItYmctY2FudmFzLWRlZmF1bHQpO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiAxcHg7XG4gICAgICAgICAgICBsZWZ0OiAtOHB4O1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiLypcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxuQ29weXJpZ2h0IDIwMjQgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cblxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuKi9cblxuLm14X0VtcHR5U3RhdGUge1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIHBhZGRpbmc6IHZhcigtLWNwZC1zcGFjZS00eCk7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgc3ZnIHtcbiAgICAgICAgd2lkdGg6IDU2cHg7XG4gICAgICAgIGhlaWdodDogNTZweDtcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4O1xuICAgICAgICBwYWRkaW5nOiB2YXIoLS1jcGQtc3BhY2UtM3gpO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcGFuZWwtYWN0aW9ucztcbiAgICB9XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgICAvKiBCbG9vbSB1c2luZyBtYWdpYyBudW1iZXJzIGRpcmVjdGx5IG91dCBvZiBGaWdtYSAqL1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHotaW5kZXg6IC0xO1xuICAgICAgICB3aWR0aDogNjQycHg7XG4gICAgICAgIGhlaWdodDogNzc1cHg7XG4gICAgICAgIHJpZ2h0OiAtMjUzLjc3cHg7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgYmFja2dyb3VuZDogcmFkaWFsLWdyYWRpZW50KDQ5Ljk1JSA0OS45NSUgYXQgNTAlIDUwJSwgcmdiYSgxMywgMTg5LCAxMzksIDAuMTIpIDAlLCByZ2JhKDE4LCAxMTUsIDIzNSwgMCkgMTAwJSk7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC04OS42OWRlZyk7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgfVxufVxuIiwiLypcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxuQ29weXJpZ2h0IDIwMjAgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cblxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuKi9cblxuLm14X0VuY3J5cHRpb25JbmZvX3NwaW5uZXIge1xuICAgIC5teF9TcGlubmVyIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMjVweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgICB9XG5cbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG4iLCIvKlxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXG5Db3B5cmlnaHQgMjAyNCBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxuXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXG4qL1xuXG4ubXhfRXh0ZW5zaW9uc0NhcmQge1xuICAgIC0tY3BkLXNlcGFyYXRvci1pbnNldDogdmFyKC0tY3BkLXNwYWNlLTR4KTtcbiAgICAtLWNwZC1zZXBhcmF0b3Itc3BhY2luZzogdmFyKC0tY3BkLXNwYWNlLTR4KTtcblxuICAgIC5teF9BdXRvSGlkZVNjcm9sbGJhciB7XG4gICAgICAgIHBhZGRpbmc6IDAgdmFyKC0tY3BkLXNwYWNlLTR4KTtcbiAgICAgICAgbWFyZ2luLXRvcDogdmFyKC0tY3BkLXNwYWNlLTN4KTtcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcblxuICAgICAgICAvKiBTdHlsaW5nIGZvciB0aGUgXCJBZGQgZXh0ZW5zaW9uc1wiIGJ1dHRvbiAqL1xuICAgICAgICAmID4gYnV0dG9uIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm14X0V4dGVuc2lvbnNDYXJkX2NvbnRhaW5lciB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgbWFyZ2luOiAkc3BhY2luZy0yMCB2YXIoLS1jcGQtc3BhY2UtNHgpIDA7XG4gICAgfVxuXG4gICAgLm14X0V4dGVuc2lvbnNDYXJkX0J1dHRvbiB7XG4gICAgICAgIC8qIHRoaXMgYnV0dG9uIGlzIHNwZWNpYWwgc28gd2UgaGF2ZSB0byBvdmVycmlkZSBzb21lIG9mIHRoZSBvcmlnaW5hbCBzdHlsaW5nICovXG4gICAgICAgIC8qIGFzIHdlIHdpbGwgYmUgYXBwbHlpbmcgaXQgaW4gaXRzIGNoaWxkcmVuICovXG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgY29sb3I6ICR0ZXJ0aWFyeS1jb250ZW50O1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgLm14X1dpZGdldEF2YXRhciB7XG4gICAgICAgICAgICBmbGV4LXNocmluazogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5teF9FeHRlbnNpb25zQ2FyZF9pY29uX2FwcCB7XG4gICAgICAgICAgICBwYWRkaW5nOiB2YXIoLS1jcGQtc3BhY2UtMngpIHZhcigtLWNwZC1zcGFjZS0xMngpIHZhcigtLWNwZC1zcGFjZS0yeCkgdmFyKC0tY3BkLXNwYWNlLTN4KTtcbiAgICAgICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gICAgICAgICAgICBwIHtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgdmFyKC0tY3BkLXNwYWNlLTN4KTtcbiAgICAgICAgICAgICAgICBjb2xvcjogJHByaW1hcnktY29udGVudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5teF9FeHRlbnNpb25zQ2FyZF9hcHBfcGluVG9nZ2xlLFxuICAgICAgICAubXhfRXh0ZW5zaW9uc0NhcmRfYXBwX29wdGlvbnMge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlOyAvKiB0byBnaXZlIGJpZ2dlciBpbnRlcmFjdGl2ZSB6b25lICovXG4gICAgICAgICAgICB3aWR0aDogMjRweDtcbiAgICAgICAgICAgIHBhZGRpbmc6IHZhcigtLWNwZC1zcGFjZS0zeCkgdmFyKC0tY3BkLXNwYWNlLTF4KTtcbiAgICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgICAgICBtaW4td2lkdGg6IDI0cHg7IC8qIHByZXZlbnQgZmxleGJveCBjcnVzaGluZyAqL1xuXG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAyNHB4O1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMjRweDtcbiAgICAgICAgICAgICAgICAgICAgdG9wOiB2YXIoLS1jcGQtc3BhY2UtMngpOyAvKiBlcXVhbCB0byBwYWRkaW5nLXRvcCBvZiBwYXJlbnQgKi9cbiAgICAgICAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMTJweDtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxNDEsIDE1MSwgMTY1LCAwLjEpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDE2cHg7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDE2cHg7XG4gICAgICAgICAgICAgICAgbWFzay1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgICAgICAgICBtYXNrLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgbWFzay1zaXplOiAxNnB4O1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRpY29uLWJ1dHRvbi1jb2xvcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5teF9FeHRlbnNpb25zQ2FyZF9hcHBfcGluVG9nZ2xlIHtcbiAgICAgICAgICAgIHJpZ2h0OiA4cHg7XG5cbiAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgbWFzay1pbWFnZTogdXJsKFwiJChyZXMpL2ltZy9lbGVtZW50LWljb25zL3Jvb20vcGluLXVwcmlnaHQuc3ZnXCIpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLm14X0V4dGVuc2lvbnNDYXJkX2FwcF9vcHRpb25zIHtcbiAgICAgICAgICAgIHJpZ2h0OiAzMnB4OyAvKiAyNCArIDggKi9cbiAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgbWFzay1pbWFnZTogdXJsKFwiQHZlY3Rvci1pbS9jb21wb3VuZC1kZXNpZ24tdG9rZW5zL2ljb25zL292ZXJmbG93LWhvcml6b250YWwuc3ZnXCIpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi5teF9FeHRlbnNpb25zQ2FyZF9CdXR0b25fcGlubmVkIHtcbiAgICAgICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAwLjI7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5teF9FeHRlbnNpb25zQ2FyZF9hcHBfcGluVG9nZ2xlOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRhY2NlbnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogdW5zZXQ7XG4gICAgICAgIH1cblxuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICB0b3A6IHZhcigtLWNwZC1zcGFjZS0yeCk7IC8qIHJlLWFsaWduIGJhc2VkIG9uIHRoZSBoZWlnaHQgY2hhbmdlICovXG4gICAgICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTsgLyogcGFzcyB0aHJvdWdoIHRvIHRoZSByZWFsIGJ1dHRvbiAqL1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyogU2V0IGxheW91dCBmb3IgZXZlcnlvbmUgYnV0dG9uICovXG4gICAgYVtkYXRhLWtpbmQ9XCJwcmltYXJ5XCJdIHtcbiAgICAgICAgbWFyZ2luLXRvcDogdmFyKC0tY3BkLXNwYWNlLTEweCk7XG4gICAgfVxuXG4gICAgLm14X0VtcHR5U3RhdGU6OmJlZm9yZSB7XG4gICAgICAgIC8qIE92ZXJsYXAgdGhlIEFkZCBleHRlbnNpb25zIGJ1dHRvbiAqL1xuICAgICAgICB0b3A6IC03NnB4O1xuICAgIH1cbn1cbiIsIi8qXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cbkNvcHlyaWdodCAyMDIxIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXG5cblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cbiovXG5cbi5teF9QaW5uZWRNZXNzYWdlc0NhcmQge1xuICAgIC0tdW5waW4taGVpZ2h0OiA3NnB4O1xuXG4gICAgLm14X1Bpbm5lZE1lc3NhZ2VzQ2FyZF93cmFwcGVyIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgcGFkZGluZzogdmFyKC0tY3BkLXNwYWNlLTR4KTtcbiAgICAgICAgZ2FwOiB2YXIoLS1jcGQtc3BhY2UtNngpO1xuICAgICAgICBvdmVyZmxvdy15OiBhdXRvO1xuXG4gICAgICAgIC5teF9QaW5uZWRNZXNzYWdlc0NhcmRfU2VwYXJhdG9yIHtcbiAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDFweDtcbiAgICAgICAgICAgIC8qIE92ZXJyaWRlIGRlZmF1bHQgY29tcG91bmQgdmFsdWUgKi9cbiAgICAgICAgICAgIG1hcmdpbi1ibG9jazogMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5teF9QaW5uZWRNZXNzYWdlc0NhcmRfd3JhcHBlcl91bnBpbl9hbGwge1xuICAgICAgICAvKiBSZW1vdmUgdGhlIHVucGluIGFsbCBidXR0b24gaGVpZ2h0IGFuZCB0aGUgdG9wIGFuZCBib3R0b20gcGFkZGluZyAgKi9cbiAgICAgICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSB2YXIoLS11bnBpbi1oZWlnaHQpIC0gY2FsYyh2YXIoLS1jcGQtc3BhY2UtNHgpICogMikpO1xuICAgIH1cblxuICAgIC5teF9QaW5uZWRNZXNzYWdlc0NhcmRfdW5waW4ge1xuICAgICAgICAvKiBNYWtlIGl0IGZsb2F0IGF0IHRoZSBib3R0b20gb2YgdGhlIHVucGluIHBhbmVsICovXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiB2YXIoLS11bnBpbi1oZWlnaHQpO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgYm94LXNoYWRvdzogMCA0cHggMjRweCAwIHJnYmEoMjcsIDI5LCAzNCwgMC4xKTtcbiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tY3BkLWNvbG9yLWJnLWNhbnZhcy1kZWZhdWx0KTtcbiAgICB9XG5cbiAgICAubXhfRXZlbnRUaWxlX2JvZHkge1xuICAgICAgICB3b3JkLWJyZWFrOiBicmVhay13b3JkO1xuICAgIH1cbn1cbiIsIi8qXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cbkNvcHlyaWdodCAyMDIwIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXG5cblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cbiovXG5cbi5teF9Sb29tU3VtbWFyeUNhcmQge1xuICAgIC0tY3BkLXNlcGFyYXRvci1pbnNldDogdmFyKC0tY3BkLXNwYWNlLTR4KTtcbiAgICAtLWNwZC1zZXBhcmF0b3Itc3BhY2luZzogdmFyKC0tY3BkLXNwYWNlLTR4KTtcblxuICAgIC5teF9Sb29tU3VtbWFyeUNhcmRfY29udGFpbmVyIHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBtYXJnaW46ICRzcGFjaW5nLTIwIHZhcigtLWNwZC1zcGFjZS00eCkgMDtcbiAgICB9XG5cbiAgICAubXhfUm9vbVN1bW1hcnlDYXJkX3Jvb21OYW1lLFxuICAgIC5teF9Sb29tU3VtbWFyeUNhcmRfYWxpYXMge1xuICAgICAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgICAgICAgLXdlYmtpdC1saW5lLWNsYW1wOiAyO1xuICAgICAgICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xuICAgICAgICB3aGl0ZS1zcGFjZTogcHJlLXdyYXA7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgfVxuXG4gICAgLm14X1Jvb21TdW1tYXJ5Q2FyZF9hbGlhcyB7XG4gICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgIH1cblxuICAgIC5teF9Sb29tU3VtbWFyeUNhcmRfdG9waWMge1xuICAgICAgICBwYWRkaW5nOiAwIDEycHg7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jcGQtY29sb3ItdGV4dC1zZWNvbmRhcnkpO1xuXG4gICAgICAgIC5teF9Cb3gge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cblxuICAgICAgICAubXhfUm9vbVN1bW1hcnlDYXJkX3RvcGljX2NvbnRhaW5lciB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBzdGFydDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIH1cblxuICAgICAgICAubXhfUm9vbVN1bW1hcnlDYXJkX3RvcGljX2VkaXQge1xuICAgICAgICAgICAgd2lkdGg6IG1heC1jb250ZW50O1xuICAgICAgICB9XG5cbiAgICAgICAgcCB7XG4gICAgICAgICAgICB3aGl0ZS1zcGFjZTogcHJlLXdyYXA7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIG1pbi13aWR0aDogMDtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIGEge1xuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICB9XG5cbiAgICAgICAgLm14X1Jvb21TdW1tYXJ5Q2FyZF90b3BpY19jaGV2cm9uIHtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjNzO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5teF9Sb29tU3VtbWFyeUNhcmRfdG9waWNfY29sbGFwc2VkIHtcbiAgICAgICAgICAgIHAge1xuICAgICAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgICAgICAgICAgICAgICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xuICAgICAgICAgICAgICAgIC13ZWJraXQtbGluZS1jbGFtcDogMjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLm14X1Jvb21TdW1tYXJ5Q2FyZF90b3BpY19jaGV2cm9uIHtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtOTBkZWcpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm14X0FjY2Vzc2libGVCdXR0b25fa2luZF9saW5rIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMTJweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTJweDtcbiAgICAgICAgZm9udC1zaXplOiAkZm9udC0xM3B4O1xuICAgICAgICBmb250LXdlaWdodDogdmFyKC0tY3BkLWZvbnQtd2VpZ2h0LXNlbWlib2xkKTtcbiAgICB9XG59XG5cbi5teF9Sb29tU3VtbWFyeUNhcmRfYmFkZ2VzIHtcbiAgICBtYXJnaW46IHZhcigtLWNwZC1zcGFjZS00eCkgMDtcbn1cblxuLm14X1Jvb21TdW1tYXJ5Q2FyZF9zZWFyY2gge1xuICAgIGZsZXgtZ3JvdzogMTtcbiAgICBtaW4td2lkdGg6IDA7XG5cbiAgICBpbnB1dFt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1jYW5jZWwtYnV0dG9uIHtcbiAgICAgICAgZGlzcGxheTogdW5zZXQ7IC8qIG92ZXJyaWRlIF9jb21tb24ucGNzcyB3aGljaCBpbmhpYml0cyB0aGlzICovXG4gICAgfVxufVxuXG4ubXhfUm9vbVN1bW1hcnlDYXJkX3Jvb21OYW1lIHtcbiAgICBtYXJnaW46ICRzcGFjaW5nLTEyIDAgJHNwYWNpbmctNDtcbn1cbiIsIi8qXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cbkNvcHlyaWdodCAyMDIxLTIwMjQgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cblxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuKi9cblxuLm14X1RocmVhZFBhbmVsIHtcbiAgICBoZWlnaHQ6IDEwMHB4O1xuICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuXG4gICAgLyogVW5zZXQgZmxleCBvbiB0aGUgdGhyZWFkIGxpc3QsIGJ1dCBub3QgdGhlIHRocmVhZCB2aWV3ICovXG4gICAgJjpub3QoLm14X1RocmVhZFZpZXcpIC5teF9CYXNlQ2FyZF9oZWFkZXIgLm14X0Jhc2VDYXJkX2hlYWRlcl90aXRsZSB7XG4gICAgICAgIGZsZXg6IHVuc2V0O1xuICAgIH1cblxuICAgIC5teF9CYXNlQ2FyZF9oZWFkZXIge1xuICAgICAgICAubXhfQmFzZUNhcmRfaGVhZGVyX3RpdGxlIHtcbiAgICAgICAgICAgIC5teF9BY2Nlc3NpYmxlQnV0dG9uIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRzZWNvbmRhcnktY29udGVudDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLm14X1RocmVhZFBhbmVsX3ZlcnRpY2FsX3NlcGFyYXRvciB7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxNnB4O1xuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiB2YXIoLS1jcGQtc3BhY2UtM3gpO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogdmFyKC0tY3BkLXNwYWNlLTF4KTtcbiAgICAgICAgICAgICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkIHZhcigtLWNwZC1jb2xvci1ncmF5LTQwMCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5teF9UaHJlYWRQYW5lbF9kcm9wZG93biB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogM3B4ICRzcGFjaW5nLTQgM3B4ICRzcGFjaW5nLTg7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gICAgICAgICAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7XG5cbiAgICAgICAgICAgICAgICAmOmhvdmVyLFxuICAgICAgICAgICAgICAgICZbYXJpYS1leHBhbmRlZD1cInRydWVcIl0ge1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkcXVpbmFyeS1jb250ZW50O1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxOHB4O1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDE4cHg7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IGN1cnJlbnRDb2xvcjtcbiAgICAgICAgICAgICAgICAgICAgbWFzay1pbWFnZTogdXJsKFwiQHZlY3Rvci1pbS9jb21wb3VuZC1kZXNpZ24tdG9rZW5zL2ljb25zL2NoZXZyb24tZG93bi5zdmdcIik7XG4gICAgICAgICAgICAgICAgICAgIG1hc2stc2l6ZTogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgbWFzay1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgICAgICAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5teF9BdXRvSGlkZVNjcm9sbGJhcixcbiAgICAubXhfUm9vbVZpZXdfbWVzc2FnZVBhbmVsU3Bpbm5lciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuICAgICAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgICAgIHBhZGRpbmctaW5saW5lLWVuZDogMDtcbiAgICAgICAgb3ZlcmZsb3cteTogc2Nyb2xsOyAvKiBzZXQgZ2FwIGJldHdlZW4gdGhlIHRocmVhZCB0aWxlIGFuZCB0aGUgcmlnaHQgYm9yZGVyICovXG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICB9XG5cbiAgICAubXhfRXZlbnRUaWxlW2RhdGEtbGF5b3V0PVwiZ3JvdXBcIl0ge1xuICAgICAgICAubXhfTWVzc2FnZUFjdGlvbkJhciB7XG4gICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgIHRvcDogLTM2cHg7IC8qIDJweCBhYm92ZSBFdmVudFRpbGUgKi9cbiAgICAgICAgICAgIHotaW5kZXg6IDEwOyAvKiBTZWUgX0V2ZW50VGlsZS5wY3NzICovXG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiBGb3Igc3R5bGUgcnVsZXMgb2YgRXZlbnRUaWxlIGluIGEgdGhyZWFkLCBzZWUgX0V2ZW50VGlsZS5wY3NzICovXG4gICAgJi5teF9UaHJlYWRWaWV3IHtcbiAgICAgICAgbWF4LWhlaWdodDogMTAwJTtcblxuICAgICAgICAubXhfVGhyZWFkVmlld190aW1lbGluZVBhbmVsV3JhcHBlciB7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICBtaW4taGVpZ2h0OiAwOyAvKiBkb24ndCBkaXNwbGFjZSB0aGUgY29tcG9zZXIgKi9cbiAgICAgICAgICAgIGZsZXgtZ3JvdzogMTtcblxuICAgICAgICAgICAgLm14X0ZpbGVEcm9wVGFyZ2V0IHtcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAubXhfTWVzc2FnZUNvbXBvc2VyX3NlbmRNZXNzYWdlIHtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIE1ha2UgdXNlIG9mIHRoZSBzcGFjZSBhYm92ZSB0aGUgY29tcG9zZXIgYnV0dG9ucyB0b29cbiAgICAgICAgLm14X0F1dG9jb21wbGV0ZSB7XG4gICAgICAgICAgICB3aWR0aDogY2FsYygxMDAlICsgMTQwcHgpO1xuICAgICAgICB9XG4gICAgICAgICYubXhfVGhyZWFkVmlld19uYXJyb3cgLm14X0F1dG9jb21wbGV0ZSB7XG4gICAgICAgICAgICB3aWR0aDogY2FsYygxMDAlICsgMTA4cHgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm14X1Jvb21WaWV3X21lc3NhZ2VQYW5lbCB7XG4gICAgICAgICYubXhfUm9vbVZpZXdfbWVzc2FnZUxpc3RXcmFwcGVyIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBpbml0aWFsO1xuICAgICAgICB9XG5cbiAgICAgICAgLm14X1Jvb21WaWV3X21lc3NhZ2VMaXN0V3JhcHBlciB7XG4gICAgICAgICAgICB3aWR0aDogY2FsYygxMDAlICsgNnB4KTsgLyogOHB4IC0gMnB4ICovXG4gICAgICAgIH1cblxuICAgICAgICAubXhfUm9vbVZpZXdfZW1wdHkge1xuICAgICAgICAgICAgZGlzcGxheTogY29udGVudHM7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubXhfUm9vbVZpZXdfTWVzc2FnZUxpc3Qge1xuICAgICAgICBwYWRkaW5nLWlubGluZS1zdGFydDogJHNwYWNpbmctODtcbiAgICAgICAgcGFkZGluZy1pbmxpbmUtZW5kOiAkc3BhY2luZy04O1xuICAgICAgICBjb250ZW50LXZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgfVxuXG4gICAgLm14X0V2ZW50VGlsZSxcbiAgICAubXhfR2VuZXJpY0V2ZW50TGlzdFN1bW1hcnkge1xuICAgICAgICAvKiBBY2NvdW50IGZvciBzY3JvbGxiYXIgd2hlbiBob3ZlcmluZyAqL1xuICAgICAgICBwYWRkaW5nLXRvcDogMDtcblxuICAgICAgICAubXhfVGltZWxpbmVTZXBhcmF0b3Ige1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgICYubXhfRXZlbnRUaWxlX2NsYW1wOmhvdmVyIHtcbiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5teF9NZXNzYWdlQ29tcG9zZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4O1xuICAgICAgICBtYXJnaW4tdG9wOiA4cHg7XG4gICAgICAgIHBhZGRpbmc6IDAgOHB4O1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIH1cblxuICAgIC5teF9NZXNzYWdlVGltZXN0YW1wIHtcbiAgICAgICAgY29sb3I6ICRzZWNvbmRhcnktY29udGVudDtcbiAgICB9XG5cbiAgICAubXhfQmFzZUNhcmRfZm9vdGVyIHtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgZm9udC1zaXplOiAkZm9udC0xMnB4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgICAgICBnYXA6IDRweDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB0b3A6IDJweDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogOHB4O1xuXG4gICAgICAgIC5teF9BY2Nlc3NpYmxlQnV0dG9uX2tpbmRfbGlua19pbmxpbmUge1xuICAgICAgICAgICAgY29sb3I6ICRzZWNvbmRhcnktY29udGVudDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLm14X1RocmVhZFBhbmVsX3ZpZXdJblJvb206OmJlZm9yZSB7XG4gICAgbWFzay1pbWFnZTogdXJsKFwiJChyZXMpL2ltZy9lbGVtZW50LWljb25zL3ZpZXctaW4tcm9vbS5zdmdcIik7XG59XG5cbi5teF9UaHJlYWRQYW5lbF9jb3B5TGlua1RvVGhyZWFkOjpiZWZvcmUge1xuICAgIG1hc2staW1hZ2U6IHVybChcIkB2ZWN0b3ItaW0vY29tcG91bmQtZGVzaWduLXRva2Vucy9pY29ucy9saW5rLnN2Z1wiKTtcbn1cblxuLm14X0NvbnRleHR1YWxNZW51X3dyYXBwZXIge1xuICAgIC5teF9UaHJlYWRQYW5lbF9IZWFkZXJfRmlsdGVyT3B0aW9uSXRlbSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZ3JvdzogMTtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBwYWRkaW5nOiAxMHB4IDIwcHggMTBweCAzMHB4O1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZXZlbnQtc2VsZWN0ZWQtY29sb3I7XG4gICAgICAgIH1cblxuICAgICAgICAmW2FyaWEtY2hlY2tlZD1cInRydWVcIl0ge1xuICAgICAgICAgICAgOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogLTIwcHg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIDpmaXJzdC1jaGlsZDo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMnB4O1xuICAgICAgICAgICAgICAgIGhlaWdodDogMTJweDtcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDhweDtcbiAgICAgICAgICAgICAgICBtYXNrLWltYWdlOiB1cmwoXCJAdmVjdG9yLWltL2NvbXBvdW5kLWRlc2lnbi10b2tlbnMvaWNvbnMvY2hlY2suc3ZnXCIpO1xuICAgICAgICAgICAgICAgIG1hc2stc2l6ZTogMTAwJTtcbiAgICAgICAgICAgICAgICBtYXNrLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRwcmltYXJ5LWNvbnRlbnQ7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICA6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICBjb2xvcjogJHNlY29uZGFyeS1jb250ZW50O1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiLypcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxuQ29weXJpZ2h0IDIwMjEsIDIwMjIgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cblxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuKi9cblxuLm14X1RpbWVsaW5lQ2FyZCB7XG4gICAgLm14X1RpbWVsaW5lQ2FyZF90aW1lbGluZSB7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgLyogb2Zmc2V0IHBhcmVudCBmb3IganVtcCB0byBib3R0b20gYnV0dG9uICovXG4gICAgICAgIGZsZXg6IDE7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgICB9XG5cbiAgICAubXhfTmV3Um9vbUludHJvIHtcbiAgICAgICAgbWFyZ2luLWlubGluZS1zdGFydDogdmFyKC0tQmFzZUNhcmRfRXZlbnRUaWxlLXNwYWNpbmctaW5saW5lKTtcbiAgICAgICAgbWFyZ2luLWlubGluZS1lbmQ6IHZhcigtLUJhc2VDYXJkX0V2ZW50VGlsZS1zcGFjaW5nLWlubGluZSk7XG4gICAgfVxuXG4gICAgLm14X0V2ZW50VGlsZV9jb250ZW50IHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIH1cblxuICAgIC5teF9FdmVudFRpbGUge1xuICAgICAgICAubXhfVGhyZWFkU3VtbWFyeSB7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxMXB4O1xuXG4gICAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgICAgICBib3R0b206IC0xNnB4O1xuICAgICAgICAgICAgICAgIGhlaWdodDogMXB4O1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkbWVzc2FnZS1hY3Rpb24tYmFyLWJvcmRlci1jb2xvcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICZbZGF0YS1sYXlvdXQ9XCJpcmNcIl0sXG4gICAgICAgICZbZGF0YS1sYXlvdXQ9XCJncm91cFwiXSB7XG4gICAgICAgICAgICAtLVRpbWVsaW5lQ2FyZF9SZWFkUmVjZWlwdEdyb3VwLWluc2V0LWJsb2NrLXN0YXJ0OiAtNnB4O1xuXG4gICAgICAgICAgICAmLm14X0V2ZW50VGlsZV9pbmZvIC5teF9FdmVudFRpbGVfbGluZSxcbiAgICAgICAgICAgIC5teF9FdmVudFRpbGVfbGluZSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogdmFyKC0tQmFzZUNhcmRfRXZlbnRUaWxlX2xpbmUtcGFkZGluZy1ibG9jaykgdmFyKC0tQmFzZUNhcmRfRXZlbnRUaWxlLXNwYWNpbmctaW5saW5lKTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWlubGluZS1lbmQ6IHZhcigtLU1lc3NhZ2VUaW1lc3RhbXAtd2lkdGgpOyAvKiBlbnN1cmUgdGltZXN0YW1wIGlzIG5vdCBoaWRkZW4gKi9cblxuICAgICAgICAgICAgICAgIC5teF9FdmVudFRpbGVfZTJlSWNvbiB7XG4gICAgICAgICAgICAgICAgICAgIGluc2V0LWlubGluZS1zdGFydDogJHNwYWNpbmctODtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYubXhfRXZlbnRUaWxlX2luZm8ge1xuICAgICAgICAgICAgICAgIC5teF9FdmVudFRpbGVfYXZhdGFyIHtcbiAgICAgICAgICAgICAgICAgICAgaW5zZXQtaW5saW5lLXN0YXJ0OiAxOHB4O1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC8qIEluZm8gZXZlbnRzIHNob3VsZCBoYXZlIHRoZSBzYW1lIHNpemUgYXMgc3RhdGUgZXZlbnRzLCB0aG9zZVxuICAgICAgICAgICAgICAgICAqIGFyZSB1c3VhbGx5IHdyYXBwZWQgaW4gYSBnZW5lcmljIGV2ZW50IGxpc3Qgc3VtbWFyeSAqL1xuICAgICAgICAgICAgICAgIGZvbnQ6IHZhcigtLWNwZC1mb250LWJvZHktc20tcmVndWxhcik7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5teF9FdmVudFRpbGVfYXZhdGFyIHtcbiAgICAgICAgICAgICAgICBpbnNldC1pbmxpbmUtc3RhcnQ6IC0zcHg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5teF9FdmVudFRpbGVfbXNnT3B0aW9uIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4taW5saW5lLWVuZDogMDtcblxuICAgICAgICAgICAgICAgIC5teF9SZWFkUmVjZWlwdEdyb3VwIHtcbiAgICAgICAgICAgICAgICAgICAgdG9wOiB2YXIoLS1UaW1lbGluZUNhcmRfUmVhZFJlY2VpcHRHcm91cC1pbnNldC1ibG9jay1zdGFydCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAubXhfRGlzYW1iaWd1YXRlZFByb2ZpbGUsXG4gICAgICAgICAgICAubXhfUmVhY3Rpb25zUm93LFxuICAgICAgICAgICAgLm14X1RocmVhZFN1bW1hcnkge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1pbmxpbmUtc3RhcnQ6IHZhcigtLUJhc2VDYXJkX0V2ZW50VGlsZS1zcGFjaW5nLWlubGluZSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5teF9EaXNhbWJpZ3VhdGVkUHJvZmlsZSB7XG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiBjYWxjKDEwMCUgLSB2YXIoLS1CYXNlQ2FyZF9FdmVudFRpbGUtc3BhY2luZy1pbmxpbmUpKTsgLyogaW5zdGVhZCBvZiAkbGVmdC1ndXR0ZXIgKi9cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLm14X1JlcGx5VGlsZSAubXhfRGlzYW1iaWd1YXRlZFByb2ZpbGUge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1pbmxpbmUtc3RhcnQ6IDA7XG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiB1bnNldDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLm14X01lc3NhZ2VUaW1lc3RhbXAge1xuICAgICAgICAgICAgICAgIGluc2V0LWlubGluZTogYXV0byAwO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtMTJweDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLm14X1JlYWN0aW9uc1JvdyB7XG4gICAgICAgICAgICAgICAgLyogU2VlOiB2YXIoLS1UaHJlYWRWaWV3X2dyb3VwX3NwYWNpbmctZW5kKSBmb3IgUmVhY3Rpb25zUm93IG9uIF9FdmVudFRpbGUucGNzcyAqL1xuICAgICAgICAgICAgICAgIG1hcmdpbi1pbmxpbmUtZW5kOiAkc3BhY2luZy04O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAubXhfVGhyZWFkU3VtbWFyeSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWlubGluZS1lbmQ6IDA7XG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiBtaW4oY2FsYygxMDAlIC0gMzZweCksIDYwMHB4KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICZbZGF0YS1sYXlvdXQ9XCJpcmNcIl0ge1xuICAgICAgICAgICAgLm14X0V2ZW50VGlsZV9hdmF0YXIsXG4gICAgICAgICAgICAubXhfTWVzc2FnZVRpbWVzdGFtcCB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJltkYXRhLWxheW91dD1cImdyb3VwXCJdIHtcbiAgICAgICAgICAgIC8qIFJlYWQgcmVjZWlwdCBncm91cCBvbiBjb21wYWN0IG1vZGVybiBsYXlvdXQgKi9cbiAgICAgICAgICAgIC8qIFRoaXMgaXMgcmVxdWlyZWQgYmVjYXVzZSBteF9UaW1lbGluZUNhcmQgaXMgYSBjaGlsZCBlbGVtZW50IHdyYXBwZWQgYnkgbXhfTWF0cml4Q2hhdF91c2VDb21wYWN0TGF5b3V0LCAqL1xuICAgICAgICAgICAgLyogd2hpY2ggc3BlY2lmaWVzIHRoZSBkZWZhdWx0IHBvc2l0aW9uIG9mIG14X1JlYWRSZWNlaXB0R3JvdXAgb24gY29tcGFjdCBtb2Rlcm4gbGF5b3V0LiAqL1xuICAgICAgICAgICAgLm14X01hdHJpeENoYXRfdXNlQ29tcGFjdExheW91dCAmIC5teF9SZWFkUmVjZWlwdEdyb3VwIHtcbiAgICAgICAgICAgICAgICB0b3A6IHZhcigtLVRpbWVsaW5lQ2FyZF9SZWFkUmVjZWlwdEdyb3VwLWluc2V0LWJsb2NrLXN0YXJ0KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICZbZGF0YS1sYXlvdXQ9XCJidWJibGVcIl0ge1xuICAgICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICB6LWluZGV4OiBhdXRvOyAvKiBlbmFibGUgYmFja2dyb3VuZCBjb2xvciBvbiBob3ZlciAqL1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLm14X0V2ZW50VGlsZV9pbmZvIC5teF9NZXNzYWdlQWN0aW9uQmFyIHtcbiAgICAgICAgICAgICAgICAvKiAxcHg6IGJvcmRlciB3aWR0aCAqL1xuICAgICAgICAgICAgICAgIGluc2V0LWlubGluZS1lbmQ6IGNhbGModmFyKC0tY29udGFpbmVyLWdhcC13aWR0aCkgKyAxcHgpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAubXhfUmVhY3Rpb25zUm93IHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IC8qIGRpc3BsYXkgb24gaG92ZXIgKi9cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5teF9MZWdhY3lDYWxsRXZlbnRfd3JhcHBlciB7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBtYXJnaW46IGF1dG8gNXB4O1xuICAgICAgICAubXhfTGVnYWN5Q2FsbEV2ZW50IHtcbiAgICAgICAgICAgIG1hcmdpbjogNHB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm14X0dlbmVyaWNFdmVudExpc3RTdW1tYXJ5IHtcbiAgICAgICAgJltkYXRhLWxheW91dD1cImlyY1wiXSxcbiAgICAgICAgJltkYXRhLWxheW91dD1cImdyb3VwXCJdIHtcbiAgICAgICAgICAgIC5teF9FdmVudFRpbGVfbGluZSxcbiAgICAgICAgICAgIC5teF9HZW5lcmljRXZlbnRMaXN0U3VtbWFyeV91bnN0eWxlZExpc3QgPiAubXhfRXZlbnRUaWxlX2luZm8gLm14X0V2ZW50VGlsZV9hdmF0YXIgfiAubXhfRXZlbnRUaWxlX2xpbmUge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctaW5saW5lLXN0YXJ0OiB2YXIoLS1CYXNlQ2FyZF9FdmVudFRpbGUtc3BhY2luZy1pbmxpbmUpO1xuICAgICAgICAgICAgICAgIHBhZGRpbmctaW5saW5lLWVuZDogdmFyKC0tTWVzc2FnZVRpbWVzdGFtcC13aWR0aCk7IC8qIGVuc3VyZSB0aW1lc3RhbXAgaXMgbm90IGhpZGRlbiAqL1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm14X1dob0lzVHlwaW5nVGlsZSB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtMTJweDsgLyogdW5kbyBwYWRkaW5nIG9uIHRoZSBtZXNzYWdlIGxpc3QgKi9cbiAgICB9XG5cbiAgICAubXhfV2hvSXNUeXBpbmdUaWxlX2F2YXRhcnMge1xuICAgICAgICBmbGV4LWJhc2lzOiA0OHB4OyAvKiAxMiAocGFkZGluZyBvbiBtZXNzYWdlIGxpc3QpICsgMzYgKHBhZGRpbmcgb24gZXZlbnQgbGluZXMpICovXG4gICAgfVxuXG4gICAgLm14X0dlbmVyaWNFdmVudExpc3RTdW1tYXJ5X3Vuc3R5bGVkTGlzdCwgLyogUlIgbmV4dCB0byBhIG1lc3NhZ2Ugb24gdGhlIGV2ZW50IGxpc3Qgc3VtbWFyeSAqL1xuICAgIC5teF9Sb29tVmlld19NZXNzYWdlTGlzdCB7XG4gICAgICAgIC8qIFJSIG5leHQgdG8gYSBtZXNzYWdlIG9uIHRoZSBtZXNzc2dlIGxpc3QgKi9cbiAgICAgICAgLm14X0V2ZW50VGlsZVtkYXRhLWxheW91dD1cImJ1YmJsZVwiXSB7XG4gICAgICAgICAgICAubXhfUmVhZFJlY2VpcHRHcm91cCB7XG4gICAgICAgICAgICAgICAgLyogNnB4OiBzY3JvbGwgYmFyIHdpZHRoIChtYWdpYyBudW1iZXIpICovXG4gICAgICAgICAgICAgICAgLyogc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIGRlY2xhcmF0aW9uLWNvbG9uLXNwYWNlLWFmdGVyICovXG4gICAgICAgICAgICAgICAgaW5zZXQtaW5saW5lLWVuZDogY2FsYyhcbiAgICAgICAgICAgICAgICAgICAgLTEgKiB2YXIoLS1SZWFkUmVjZWlwdEdyb3VwX0V2ZW50QnViYmxlVGlsZS1zcGFjaW5nLWVuZCkgKyB2YXIoLS1jb250YWluZXItZ2FwLXdpZHRoKSArIDZweFxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYubXhfRXZlbnRUaWxlX2luZm8ge1xuICAgICAgICAgICAgICAgIC5teF9SZWFkUmVjZWlwdEdyb3VwIHtcbiAgICAgICAgICAgICAgICAgICAgaW5zZXQtaW5saW5lLWVuZDogLTRweDsgLyogYWxpZ24gd2l0aCBSUiBvdXRzaWRlIG9mIGluZm8gdGlsZSAqL1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi8qXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cbkNvcHlyaWdodCAyMDE5IFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXG5Db3B5cmlnaHQgMjAxNSwgMjAxNiBPcGVuTWFya2V0IEx0ZFxuXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXG4qL1xuXG4ubXhfVXNlckluZm8ubXhfQmFzZUNhcmQge1xuICAgIC8qIFVzZXJJbmZvIGhhcyBhIGNpcmN1bGFyIGltYWdlIGF0IHRoZSB0b3Agc28gaXQgZml0cyBiZXR3ZWVuIHRoZSBiYWNrICYgY2xvc2UgYnV0dG9ucyAqL1xuICAgIHBhZGRpbmctdG9wOiAwO1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgZm9udC1zaXplOiB2YXIoLS1jcGQtZm9udC1zaXplLWJvZHktc20pO1xuXG4gICAgLm14X1VzZXJJbmZvX2NhbmNlbCB7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGRhcmstcGFuZWwtYmctY29sb3I7XG4gICAgICAgIG1hcmdpbjogOXB4O1xuICAgICAgICB6LWluZGV4OiAxOyAvKiByZW5kZXIgb24gdG9wIG9mIHRoZSByaWdodCBwYW5lbCAqL1xuXG4gICAgICAgIGRpdiB7XG4gICAgICAgICAgICBoZWlnaHQ6IDE2cHg7XG4gICAgICAgICAgICB3aWR0aDogMTZweDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDRweDtcbiAgICAgICAgICAgIG1hc2staW1hZ2U6IHVybChcIkB2ZWN0b3ItaW0vY29tcG91bmQtZGVzaWduLXRva2Vucy9pY29ucy9jaGV2cm9uLWxlZnQuc3ZnXCIpO1xuICAgICAgICAgICAgbWFzay1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgICAgIG1hc2stcG9zaXRpb246IGNlbnRlcjtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRoZWFkZXItcGFuZWwtdGV4dC1wcmltYXJ5LWNvbG9yO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm14X1VzZXJJbmZvX2NvbnRhaW5lciB7XG4gICAgICAgIHBhZGRpbmc6IHZhcigtLWNwZC1zcGFjZS00eCkgMDtcbiAgICAgICAgbWFyZ2luOiAwIHZhcigtLWNwZC1zcGFjZS00eCk7XG5cbiAgICAgICAgLm14X1VzZXJJbmZvX2NvbnRhaW5lcl92ZXJpZnlCdXR0b24ge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogJHNwYWNpbmctODtcbiAgICAgICAgfVxuXG4gICAgICAgICYgKyAubXhfVXNlckluZm9fY29udGFpbmVyIHtcbiAgICAgICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAkc2VwYXJhdG9yO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm14X1VzZXJJbmZvX21lbWJlckRldGFpbHNDb250YWluZXIge1xuICAgICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgICAgIG1hcmdpbi1ib3R0b206ICRzcGFjaW5nLTg7XG4gICAgfVxuXG4gICAgLm14X1Jvb21UaWxlX3RpdGxlQ29udGFpbmVyIHtcbiAgICAgICAgd2lkdGg6IDE1NHB4O1xuICAgIH1cblxuICAgIC5teF9Sb29tVGlsZV9iYWRnZSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLm14X1Jvb21UaWxlX3RpdGxlIHtcbiAgICAgICAgd2lkdGg6IDE2MHB4O1xuICAgIH1cblxuICAgIC5teF9Vc2VySW5mb19hdmF0YXIge1xuICAgICAgICBtYXJnaW46ICRzcGFjaW5nLTI0ICRzcGFjaW5nLTMyIDAgJHNwYWNpbmctMzI7XG5cbiAgICAgICAgLm14X1VzZXJJbmZvX2F2YXRhcl90cmFuc2l0aW9uIHtcbiAgICAgICAgICAgIG1heC13aWR0aDogMTIwcHg7XG4gICAgICAgICAgICBhc3BlY3QtcmF0aW86IDEgLyAxO1xuICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiAwLjVzO1xuXG4gICAgICAgICAgICAubXhfQmFzZUF2YXRhciB7XG4gICAgICAgICAgICAgICAgLyogT3ZlcnJpZGUgdGhlIGNhbGN1bGF0ZWQgZm9udC1zaXplIHNvIHRoYXQgdGhlIGxldHRlciBpc24ndCB0aW55ICovXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiA0cmVtO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAubXhfQmFzZUF2YXRhcixcbiAgICAgICAgICAgIC5teF9CYXNlQXZhdGFyIGltZyB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgaDIge1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICBjb2xvcjogJHRlcnRpYXJ5LWNvbnRlbnQ7XG4gICAgICAgIGZvbnQ6IHZhcigtLWNwZC1mb250LWJvZHktbWQtc2VtaWJvbGQpO1xuICAgICAgICBmb250LXdlaWdodDogdmFyKC0tY3BkLWZvbnQtd2VpZ2h0LXNlbWlib2xkKTtcbiAgICAgICAgbWFyZ2luOiAkc3BhY2luZy00IDA7XG4gICAgfVxuXG4gICAgcCB7XG4gICAgICAgIG1hcmdpbjogNXB4IDA7XG4gICAgfVxuXG4gICAgLm14X1VzZXJJbmZvX3Byb2ZpbGUge1xuICAgICAgICBoMSB7XG4gICAgICAgICAgICBmb250LXNpemU6ICRmb250LTIwcHg7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogJGZvbnQtMjVweDtcblxuICAgICAgICAgICAgLyogbGltaXQgdG8gMiBsaW5lcywgc2hvdyBhbiBlbGxpcHNpcyBpZiBpdCBvdmVyZmxvd3MgKi9cbiAgICAgICAgICAgIC8qIHRoaXMgbG9va3Mgd2Via2l0IHNwZWNpZmljIGJ1dCBpcyBzdXBwb3J0ZWQgYnkgRmlyZWZveCA2OCsgKi9cbiAgICAgICAgICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICAgICAgICAgICAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcbiAgICAgICAgICAgIC13ZWJraXQtbGluZS1jbGFtcDogMjtcblxuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICAgIHdvcmQtYnJlYWs6IGJyZWFrLWFsbDtcbiAgICAgICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuXG4gICAgICAgICAgICAvKiBFMkUgaWNvbiB3cmFwcGVyICovXG4gICAgICAgICAgICAubXhfRmxleCA+IHNwYW4ge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5teF9Vc2VySW5mb19wcm9maWxlU3RhdHVzIHtcbiAgICAgICAgICAgIG1hcmdpbjogdmFyKC0tY3BkLXNwYWNlLTF4KSAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm14X1VzZXJJbmZvX3RpbWV6b25lIHtcbiAgICAgICAgbWFyZ2luOiB2YXIoLS1jcGQtc3BhY2UtMXgpIDA7XG4gICAgfVxuXG4gICAgLm14X1ByZXNlbmNlTGFiZWwge1xuICAgICAgICBmb250OiB2YXIoLS1jcGQtZm9udC1ib2R5LXNtLXJlZ3VsYXIpO1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgIH1cblxuICAgIC5teF9Vc2VySW5mb19tZW1iZXJEZXRhaWxzIHtcbiAgICAgICAgLm14X1VzZXJJbmZvX3Byb2ZpbGVGaWVsZCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gICAgICAgICAgICBtYXJnaW46IDZweCAwO1xuXG4gICAgICAgICAgICAubXhfVXNlckluZm9fcm9sZURlc2NyaXB0aW9uIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgLyogdHJ5IHRvIG1ha2UgaXQgdGhlIHNhbWUgaGVpZ2h0IGFzIHRoZSBkcm9wZG93biAqL1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMTFweCAwIDEycHggMDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLm14X0ZpZWxkIHtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubXhfVXNlckluZm9fZmllbGQge1xuICAgICAgICBsaW5lLWhlaWdodDogJGZvbnQtMTZweDtcbiAgICB9XG5cbiAgICAubXhfVXNlckluZm9fc3RhdHVzTWVzc2FnZSB7XG4gICAgICAgICRzdGF0dXNOdW1iZXJPZkxpbmVzOiAzO1xuXG4gICAgICAgIGZvbnQ6IHZhcigtLWNwZC1mb250LWJvZHktc20tcmVndWxhcik7XG4gICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtMTFweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDFyZW07XG4gICAgICAgIG9wYWNpdHk6IDAuNTtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgd29yZC1icmVhazogYnJlYWstd29yZDtcbiAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICAgICAgICBtYXgtaGVpZ2h0OiBjYWxjKDFyZW0gKiAkc3RhdHVzTnVtYmVyT2ZMaW5lcyk7XG4gICAgICAgIC13ZWJraXQtbGluZS1jbGFtcDogJHN0YXR1c051bWJlck9mTGluZXM7XG4gICAgICAgIC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWw7XG4gICAgfVxuXG4gICAgLm14X0F1dG9IaWRlU2Nyb2xsYmFyIHtcbiAgICAgICAgZmxleDogMSAxIDA7XG4gICAgfVxuXG4gICAgLm14X1VzZXJJbmZvX2RldmljZXMge1xuICAgICAgICAubXhfVXNlckluZm9fZGV2aWNlIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBtYXJnaW46ICRzcGFjaW5nLTggMDtcblxuICAgICAgICAgICAgJi5teF9Vc2VySW5mb19kZXZpY2VfdmVyaWZpZWQge1xuICAgICAgICAgICAgICAgIC5teF9Vc2VySW5mb19kZXZpY2VfdHJ1c3RlZCB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkYWNjZW50O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICYubXhfVXNlckluZm9fZGV2aWNlX3VudmVyaWZpZWQge1xuICAgICAgICAgICAgICAgIC5teF9Vc2VySW5mb19kZXZpY2VfdHJ1c3RlZCB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkYWxlcnQ7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAubXhfVXNlckluZm9fZGV2aWNlX25hbWUge1xuICAgICAgICAgICAgICAgIGZsZXg6IDE7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIDVweDtcbiAgICAgICAgICAgICAgICB3b3JkLWJyZWFrOiBicmVhay13b3JkO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLyogYm90aCBmb3IgaWNvbiBpbiBleHBhbmQgYnV0dG9uIGFuZCBkZXZpY2UgaXRlbSAqL1xuICAgICAgICAubXhfRTJFSWNvbiB7XG4gICAgICAgICAgICAvKiBkb24ndCBzcXVlZXplICovXG4gICAgICAgICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIHdpZHRoOiAxMnB4O1xuICAgICAgICAgICAgaGVpZ2h0OiAxMnB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLm14X1VzZXJJbmZvX2V4cGFuZCB7XG4gICAgICAgICAgICBjb2x1bW4tZ2FwOiA1cHg7IC8qIGNmOiBteF9Vc2VySW5mb19kZXZpY2VfbmFtZSAqL1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTFweDtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBpbml0aWFsOyAvKiBDYW5jZWwgdGhlIGRlZmF1bHQgcHJvcGVydHkgKi9cbiAgICAgICAgfVxuICAgIH1cblxuICAgICYubXhfVXNlckluZm9fc21hbGxBdmF0YXIge1xuICAgICAgICAubXhfVXNlckluZm9fYXZhdGFyIHtcbiAgICAgICAgICAgIC5teF9Vc2VySW5mb19hdmF0YXJfdHJhbnNpdGlvbiB7XG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiA3MnB4O1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAubXhfQmFzZUF2YXRhciB7XG4gICAgICAgICAgICAgICAgLyogT3ZlcnJpZGUgdGhlIGNhbGN1bGF0ZWQgZm9udC1zaXplIHNvIHRoYXQgdGhlIGxldHRlciBpc24ndCB0aW55ICovXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAycmVtO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuIiwiLypcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxuQ29weXJpZ2h0IDIwMjAgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cblxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuKi9cblxuLm14X1ZlcmlmaWNhdGlvblBhbmVsX3ZlcmlmaWVkX3NlY3Rpb24sXG4ubXhfVmVyaWZpY2F0aW9uUGFuZWxfcmVjaXByb2NhdGVfc2VjdGlvbiB7XG4gICAgLyogY2VudGVyIHRoZSBiaWcgc2hpZWxkIGljb24gKi9cbiAgICAubXhfRTJFSWNvbiB7XG4gICAgICAgIC8qIE92ZXJyaWRlIGdlbmVyYWwgdXNlciBpbmZvIG1hcmdpbiAqL1xuICAgICAgICBtYXJnaW46IDIwcHggYXV0byAhaW1wb3J0YW50O1xuICAgIH1cbn1cblxuLm14X1VzZXJJbmZvLm14X0Jhc2VDYXJkIHtcbiAgICAubXhfVXNlckluZm9fY29udGFpbmVyOm5vdCgubXhfVXNlckluZm9fc2VwYXJhdG9yKSB7XG4gICAgICAgID4gZGl2ID4gcCB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5teF9WZXJpZmljYXRpb25QYW5lbF92ZXJpZnlCeUVtb2ppQnV0dG9uLFxuICAgICAgICAubXhfVXNlckluZm9fd2lkZUJ1dHRvbiB7XG4gICAgICAgICAgICB3aWR0aDogZml0LWNvbnRlbnQ7XG4gICAgICAgIH1cblxuICAgICAgICAubXhfRW5jcnlwdGlvbkluZm9fc3Bpbm5lcixcbiAgICAgICAgLm14X1ZlcmlmaWNhdGlvblNob3dTYXMge1xuICAgICAgICAgICAgbWFyZ2luLWlubGluZS1zdGFydDogYXV0bztcbiAgICAgICAgICAgIG1hcmdpbi1pbmxpbmUtZW5kOiBhdXRvO1xuICAgICAgICB9XG5cbiAgICAgICAgLm14X1NwaW5uZXIsXG4gICAgICAgIC5teF9WZXJpZmljYXRpb25TaG93U2FzIHtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubXhfRW5jcnlwdGlvblBhbmVsX2NhbmNlbCB7XG4gICAgICAgIEBtaXhpbiBjdXN0b21pc2VkQ2FuY2VsQnV0dG9uO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHotaW5kZXg6IDEwMDtcbiAgICAgICAgdG9wOiAxNHB4O1xuICAgICAgICByaWdodDogMTRweDtcbiAgICB9XG5cbiAgICAubXhfVmVyaWZpY2F0aW9uUGFuZWxfcXJDb2RlIHtcbiAgICAgICAgcGFkZGluZzogNHB4IDRweCAwIDRweDtcbiAgICAgICAgYmFja2dyb3VuZDogd2hpdGU7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgICAgICAgd2lkdGg6IG1heC1jb250ZW50O1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgIC8qIE92ZXJyaWRlIGdlbmVyYWwgdXNlciBpbmZvIG1hcmdpbiAqL1xuICAgICAgICBtYXJnaW46IDAgYXV0byAhaW1wb3J0YW50O1xuXG4gICAgICAgIGNhbnZhcyB7XG4gICAgICAgICAgICAvKiBvdmVycmlkZSBoZWlnaHQgYW5kIHdpZHRoIHdoaWNoIGFyZSBzZXQgb24gdGhlIGVsZW1lbnQgZGlyZWN0bHkgKi9cbiAgICAgICAgICAgIGhlaWdodDogYXV0byAhaW1wb3J0YW50O1xuICAgICAgICAgICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICAgICAgICAgIG1heC13aWR0aDogMjQwcHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubXhfVmVyaWZpY2F0aW9uUGFuZWxfcmVjaXByb2NhdGVfc2VjdGlvbiB7XG4gICAgICAgIC5teF9BY2Nlc3NpYmxlQnV0dG9uIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDEwcHg7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIG1hcmdpbjogMTBweCAwO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vKiBTcGVjaWFsIGNhc2Ugc3R5bGluZyBmb3IgRW5jcnlwdGlvblBhbmVsIGluIGEgTW9kYWwgZGlhbG9nICovXG4ubXhfRGlhbG9nLFxuLm14X0NvbXBsZXRlU2VjdXJpdHlfYm9keSB7XG4gICAgLm14X1ZlcmlmaWNhdGlvblBhbmVsX1FSUGhhc2Vfc3RhcnRPcHRpb25zIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgbWFyZ2luLXRvcDogMTBweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICAgICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG4gICAgICAgID4gLm14X1ZlcmlmaWNhdGlvblBhbmVsX1FSUGhhc2VfYmV0d2VlblRleHQge1xuICAgICAgICAgICAgd2lkdGg6IDUwcHg7XG4gICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgfVxuXG4gICAgICAgIC5teF9WZXJpZmljYXRpb25QYW5lbF9RUlBoYXNlX3N0YXJ0T3B0aW9uIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRoZWFkZXItcGFuZWwtYmctY29sb3I7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICAgICAgICAgICAgZmxleDogMTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBwYWRkaW5nOiAyMHB4O1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDMxMHB4O1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXG4gICAgICAgICAgICBjYW52YXMsXG4gICAgICAgICAgICAubXhfVmVyaWZpY2F0aW9uUGFuZWxfUVJQaGFzZV9ub1FSIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMjIwcHggIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDIyMHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMTBweDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgPiBwIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5teF9WZXJpZmljYXRpb25QYW5lbF9RUlBoYXNlX2hlbHBUZXh0IHtcbiAgICAgICAgICAgICAgICBmb250OiB2YXIoLS1jcGQtZm9udC1ib2R5LW1kLXJlZ3VsYXIpO1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMzBweCAwO1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qIEVuY3J5cHRpb25QYW5lbCB3aGVuIHZlcmlmaWNhdGlvbiBpcyBkb25lICovXG4gICAgLm14X1ZlcmlmaWNhdGlvblBhbmVsX3ZlcmlmaWVkX3NlY3Rpb24ge1xuICAgICAgICAvKiByaWdodCBhbGlnbiB0aGUgXCJHb3QgaXRcIiBidXR0b24gKi9cbiAgICAgICAgLm14X0FjY2Vzc2libGVCdXR0b24ge1xuICAgICAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm14X1ZlcmlmaWNhdGlvblBhbmVsX3JlY2lwcm9jYXRlX3NlY3Rpb24ge1xuICAgICAgICAubXhfQWNjZXNzaWJsZUJ1dHRvbiB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMTBweDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDdweCA0MHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLm14X1ZlcmlmaWNhdGlvblBhbmVsX3JlY2lwcm9jYXRlQnV0dG9ucyB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIvKlxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXG5Db3B5cmlnaHQgMjAyMCBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxuXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXG4qL1xuXG4ubXhfV2lkZ2V0Q2FyZCB7XG4gICAgLm14X0FwcFRpbGVGdWxsV2lkdGgge1xuICAgICAgICBtYXgtd2lkdGg6IHVuc2V0O1xuICAgICAgICB3aWR0aDogYXV0byAhaW1wb3J0YW50O1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIGJvcmRlcjogMDtcbiAgICB9XG59XG4iLCIvKlxuQ29weXJpZ2h0IDIwMTktMjAyNCBOZXcgVmVjdG9yIEx0ZC5cblxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuKi9cblxuLm14X0FsaWFzU2V0dGluZ3NfbG9jYWxBZGRyZXNzZXMge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBjb2xvcjogdmFyKC0tY3BkLWNvbG9yLXRleHQtcHJpbWFyeSk7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWNwZC1mb250LXdlaWdodC1zZW1pYm9sZCk7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICB3aWR0aDogZml0LWNvbnRlbnQ7XG5cbiAgICAvKiBsaXN0LXN0eWxlIGRvZXNuJ3QgZG8gaXQgZm9yIHdlYmtpdCAqL1xuICAgICY6Oi13ZWJraXQtZGV0YWlscy1tYXJrZXIge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbn1cbiIsIi8qXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cbkNvcHlyaWdodCAyMDE5IFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXG5Db3B5cmlnaHQgMjAxNSwgMjAxNiBPcGVuTWFya2V0IEx0ZFxuXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXG4qL1xuXG46cm9vdCB7XG4gICAgLS1BcHBUaWxlX21pbmktaGVpZ2h0OiAyMjBweDtcbn1cblxuLm14X0FwcHNEcmF3ZXIge1xuICAgIC0tbWluV2lkdGg6IDI0MHB4OyAvKiBUT0RPIHRoaXMgc2hvdWxkIGJlIDMwMHB4IGJ1dCB0aGF0J3MgdG9vIGxhcmdlICovXG5cbiAgICBtYXJnaW46IHZhcigtLWNvbnRhaW5lci1nYXAtd2lkdGgpO1xuICAgIC8qIFRoZSBsZWZ0IHNpZGUgZ2FwIGlzIGZ1bGx5IGhhbmRsZWQgYnkgdGhpcyBtYXJnaW4uIFRvIHByb2hpYml0IGJsZWVkaW5nIG9uIHdlYmtpdCBicm93c2VyLiAqL1xuICAgIG1hcmdpbi1yaWdodDogY2FsYyh2YXIoLS1jb250YWluZXItZ2FwLXdpZHRoKSAvIDIpO1xuICAgIG1hcmdpbi1ib3R0b206IDA7IC8qIE5vIGJvdHRvbSBtYXJnaW4gZm9yIHRoZSBjb3JyZWN0IGdhcCB0byB0aGUgQ2FsbFZpZXcgYmVsb3cuICovXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGZsZXgtZ3JvdzogMTtcblxuICAgIC5teF9BcHBzRHJhd2VyX3Jlc2l6ZXIge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS1jb250YWluZXItZ2FwLXdpZHRoKTtcbiAgICB9XG5cbiAgICAubXhfQXBwc0RyYXdlcl9yZXNpemVyX2NvbnRhaW5lciB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwcHg7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgLm14X0FwcHNEcmF3ZXJfcmVzaXplcl9jb250YWluZXJfaGFuZGxlIHtcbiAgICAgICAgICAgIGN1cnNvcjogbnMtcmVzaXplO1xuXG4gICAgICAgICAgICAvKiBPdmVycmlkZSBzdHlsZXMgZnJvbSBsaWJyYXJ5LCBtYWtpbmcgdGhlIHdob2xlIGFyZWEgdGhlIHRhcmdldCBhcmVhICovXG4gICAgICAgICAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlICFpbXBvcnRhbnQ7XG5cbiAgICAgICAgICAgIC8qIFRoaXMgaXMgcG9zaXRpb25lZCBkaXJlY3RseSBiZWxvdyBmcmFtZSAqL1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgYm90dG9tOiA1MCUgIWltcG9ydGFudDsgLyogb3ZlcnJpZGUgZnJvbSBsaWJyYXJ5ICovXG5cbiAgICAgICAgICAgIC8qIFdlIHRoZW4gcmVuZGVyIHRoZSBwaWxsIGhhbmRsZSBpbiBhbiA6OmFmdGVyIHRvIGtlZXAgaXQgaW4gdGhlIGhhbmRsZSdzICovXG4gICAgICAgICAgICAvKiBhcmVhIHdpdGhvdXQgYmVpbmcgYSBtYXNzaXZlIGxpbmUgYWNyb3NzIHRoZSBzY3JlZW4gKi9cbiAgICAgICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAzcHg7XG5cbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDRweDtcbiAgICAgICAgICAgICAgICBib3R0b206IDA7XG5cbiAgICAgICAgICAgICAgICAvKiBUb2dldGhlciwgdGhlc2UgbWFrZSB0aGUgYmFyIDY0cHggd2lkZSAqL1xuICAgICAgICAgICAgICAgIC8qIFRoZXNlIGFyZSBhbHNvIG92ZXJyaWRkZW4gZnJvbSB0aGUgbGlicmFyeSAqL1xuICAgICAgICAgICAgICAgIGxlZnQ6IGNhbGMoNTAlIC0gMzJweCk7XG4gICAgICAgICAgICAgICAgcmlnaHQ6IGNhbGMoNTAlIC0gMzJweCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgICAgLm14X0FwcHNEcmF3ZXJfcmVzaXplcl9jb250YWluZXJfaGFuZGxlOjphZnRlciB7XG4gICAgICAgICAgICBvcGFjaXR5OiAwLjg7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb250ZW50O1xuICAgICAgICB9XG5cbiAgICAgICAgLm14X1Jlc2l6ZUhhbmRsZS0taG9yaXpvbnRhbDo6YmVmb3JlIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIGxlZnQ6IDNweDtcbiAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTUwJSk7XG5cbiAgICAgICAgICAgIGhlaWdodDogNjRweDsgLyogdG8gbWF0Y2ggd2lkdGggb2YgdGhlIG9uZXMgb24gcm9vbWxpc3QgKi9cbiAgICAgICAgICAgIHdpZHRoOiA0cHg7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7XG5cbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG5cbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRwcmltYXJ5LWNvbnRlbnQ7XG4gICAgICAgICAgICBvcGFjaXR5OiAwLjg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubXhfQXBwVGlsZSB7XG4gICAgICAgIHdpZHRoOiA1MCU7XG4gICAgICAgIG1pbi13aWR0aDogdmFyKC0tbWluV2lkdGgpO1xuICAgIH1cblxuICAgICYubXhfQXBwc0RyYXdlci0tbWF4aW1pc2VkIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogdmFyKC0tY29udGFpbmVyLWdhcC13aWR0aCk7XG4gICAgfVxuXG4gICAgJi5teF9BcHBzRHJhd2VyLS1yZXNpemluZyAubXhfQXBwVGlsZV9wZXJzaXN0ZWRXcmFwcGVyIHtcbiAgICAgICAgei1pbmRleDogMTtcbiAgICB9XG5cbiAgICAmLm14X0FwcHNEcmF3ZXItLTJhcHBzIC5teF9BcHBUaWxlIHtcbiAgICAgICAgd2lkdGg6IDUwJTtcblxuICAgICAgICAmOm50aC1jaGlsZCgzKSB7XG4gICAgICAgICAgICBmbGV4LWdyb3c6IDE7XG4gICAgICAgICAgICB3aWR0aDogMCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgbWluLXdpZHRoOiB2YXIoLS1taW5XaWR0aCkgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgIH1cbiAgICAmLm14X0FwcHNEcmF3ZXItLTNhcHBzIC5teF9BcHBUaWxlIHtcbiAgICAgICAgd2lkdGg6IDMzJTtcblxuICAgICAgICAmOm50aC1jaGlsZCgzKSB7XG4gICAgICAgICAgICBmbGV4LWdyb3c6IDE7XG4gICAgICAgICAgICB3aWR0aDogMCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgbWluLXdpZHRoOiB2YXIoLS1taW5XaWR0aCkgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLm14X0FwcHNDb250YWluZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZmxleDogMTtcbiAgICBtaW4taGVpZ2h0OiAwO1xuXG4gICAgLm14X0FwcFRpbGU6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgICAgIGJvcmRlci1sZWZ0LXdpZHRoOiB2YXIoLS1jb250YWluZXItYm9yZGVyLXdpZHRoKTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMTBweCAwIDAgMTBweDtcbiAgICB9XG4gICAgLm14X0FwcFRpbGU6bGFzdC1vZi10eXBlIHtcbiAgICAgICAgYm9yZGVyLXJpZ2h0LXdpZHRoOiB2YXIoLS1jb250YWluZXItYm9yZGVyLXdpZHRoKTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMCAxMHB4IDEwcHggMDtcbiAgICB9XG5cbiAgICAubXhfUmVzaXplSGFuZGxlLS1ob3Jpem9udGFsIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgID4gZGl2IHtcbiAgICAgICAgICAgIHdpZHRoOiAwO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4ubXhfQXBwVGlsZSB7XG4gICAgYm9yZGVyOiB2YXIoLS1jb250YWluZXItYm9yZGVyLXdpZHRoKSBzb2xpZCAkd2lkZ2V0LW1lbnUtYmFyLWJnLWNvbG9yO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR3aWRnZXQtbWVudS1iYXItYmctY29sb3I7XG59XG5cbi5teF9BcHBUaWxlRnVsbFdpZHRoIHtcbiAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50OyAvKiB0byBvdmVycmlkZSB0aGUgaW5saW5lIHN0eWxlIHNldCBieSB0aGUgcmVzaXplciAqL1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGJvcmRlcjogdmFyKC0tY29udGFpbmVyLWJvcmRlci13aWR0aCkgc29saWQgJHdpZGdldC1tZW51LWJhci1iZy1jb2xvcjtcbiAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR3aWRnZXQtbWVudS1iYXItYmctY29sb3I7XG59XG5cbi5teF9BcHBUaWxlX21pbmkge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBoZWlnaHQ6IHZhcigtLUFwcFRpbGVfbWluaS1oZWlnaHQpO1xufVxuXG4ubXhfQXBwVGlsZSAubXhfQXBwVGlsZV9wZXJzaXN0ZWRXcmFwcGVyLFxuLm14X0FwcFRpbGVGdWxsV2lkdGggLm14X0FwcFRpbGVfcGVyc2lzdGVkV3JhcHBlcixcbi5teF9BcHBUaWxlX21pbmkgLm14X0FwcFRpbGVfcGVyc2lzdGVkV3JhcHBlciB7XG4gICAgZmxleDogMTtcbn1cblxuLm14X0FwcFRpbGVfcGVyc2lzdGVkV3JhcHBlciBkaXYge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbn1cblxuLm14X0FwcFRpbGVNZW51QmFyIHtcbiAgICBtYXJnaW46IDA7XG4gICAgZm9udC1zaXplOiAkZm9udC0xMnB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR3aWRnZXQtbWVudS1iYXItYmctY29sb3I7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmctdG9wOiAzcHg7XG4gICAgcGFkZGluZy1ib3R0b206IDZweDtcblxuICAgIC5teF9BcHBUaWxlTWVudUJhcl90aXRsZSB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcblxuICAgICAgICAubXhfV2lkZ2V0QXZhdGFyIHtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMTJweDtcbiAgICAgICAgfVxuXG4gICAgICAgIGgzIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgfVxuXG4gICAgICAgID4gOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDlweDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubXhfQXBwVGlsZU1lbnVCYXJfd2lkZ2V0cyB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgICAgICAgLm14X0FwcFRpbGVNZW51QmFyX3dpZGdldHNfYnV0dG9uIHtcbiAgICAgICAgICAgIC0tc2l6ZTogMjRweDsgLyogU2l6ZSBvZiB0aGUgYnV0dG9uLiBJdHMgaGVpZ2h0IGFuZCB3aWR0aCB2YWx1ZXMgc2hvdWxkIGJlIHNhbWUgKi9cblxuICAgICAgICAgICAgbWFyZ2luOiAwIDRweDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIGhlaWdodDogdmFyKC0tc2l6ZSk7XG4gICAgICAgICAgICB3aWR0aDogdmFyKC0tc2l6ZSk7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG4gICAgICAgICAgICAmOmhvdmVyOjphZnRlciB7XG4gICAgICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiB2YXIoLS1zaXplKTtcbiAgICAgICAgICAgICAgICB3aWR0aDogdmFyKC0tc2l6ZSk7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHBhbmVsLWFjdGlvbnM7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAubXhfSWNvbiB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRtdXRlZC1mZy1jb2xvcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLyogUnVsZXMgYWRkZWQgdG8gdGhpcyBzZWxlY3RvciBzdHlsZSBhcHBUaWxlQm9keSBnZW5lcmFsbHkgKi9cbi5teF9BcHBUaWxlQm9keSB7XG4gICAgLyogQXBwbHkgdG8gZXZlcnkgdmFyaWFudCBvZiBhcHBUaWxlQm9keSAqL1xuICAgIGJvcmRlci1yYWRpdXM6IDhweDtcblxuICAgIC8qIGNvbnN0IGxvYWRpbmdFbGVtZW50ICovXG4gICAgLyogTm90ZSB0aGUgbG9hZGluZyBzcGlubmVyIGFuZCB0aGUgbWVzc2FnZSBuZXh0IHRvIGl0IGFyZSBub3QgYWx3YXlzIGluY2x1ZGVkIGluIG14X0FwcFRpbGVCb2R5LS1sb2FkaW5nICovXG4gICAgLm14X0FwcFRpbGVCb2R5X2ZhZGVJblNwaW5uZXIge1xuICAgICAgICAvKiBwbGFjZSBzcGlubmVyIGFuZCB0aGUgbWVzc2FnZSBhdCB0aGUgY2VudGVyIG9mIG14X0FwcFRpbGVCb2R5ICovXG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7IC8qIG1lc3NhZ2UgbmV4dCB0byB0aGUgc3Bpbm5lciAqL1xuICAgICAgICBhbmltYXRpb24tZmlsbC1tb2RlOiBiYWNrd2FyZHM7XG4gICAgICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogMjAwbXM7XG4gICAgICAgIGFuaW1hdGlvbi1kZWxheTogNTAwbXM7XG4gICAgICAgIGFuaW1hdGlvbi1uYW1lOiBteF9BcHBUaWxlQm9keV9mYWRlSW5TcGlubmVyQW5pbWF0aW9uO1xuICAgIH1cblxuICAgICYubXhfQXBwVGlsZUJvZHktLWxhcmdlLFxuICAgICYubXhfQXBwVGlsZUJvZHktLW1pbmkge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgaGVpZ2h0OiB2YXIoLS1BcHBUaWxlQm9keS1oZWlnaHQpO1xuXG4gICAgICAgIGlmcmFtZSB7XG4gICAgICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYubXhfQXBwVGlsZUJvZHktLWxhcmdlIHtcbiAgICAgICAgLS1BcHBUaWxlQm9keS1oZWlnaHQ6IDEwMCU7XG5cbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdpZGdldC1ib2R5LWJnLWNvbG9yO1xuXG4gICAgICAgIGlmcmFtZSB7XG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi5teF9BcHBUaWxlQm9keS0tbWluaSB7XG4gICAgICAgIC0tQXBwVGlsZUJvZHktaGVpZ2h0OiB2YXIoLS1BcHBUaWxlX21pbmktaGVpZ2h0KTtcbiAgICB9XG5cbiAgICAmLm14X0FwcFRpbGVCb2R5LS1sb2FkaW5nIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuXG4gICAgICAgIC8qIG1hdGNoIGJnIG9mIGJvcmRlciBzbyB0aGF0IHRoZSBjdXQgY29ybmVycyBoYXZlIHRoZSByaWdodCBmaWxsICovXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aWRnZXQtYm9keS1iZy1jb2xvciAhaW1wb3J0YW50O1xuXG4gICAgICAgIGlmcmFtZSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi5teF9BcHBUaWxlQm9keS0tY2FsbCB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDBweDtcbiAgICB9XG4gICAgJi5teF9BcHBUaWxlQm9keS0tY2FsbC5teF9BcHBUaWxlQm9keS0tbWluaSB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgICB9XG59XG5cbi8qIGFwcFRpbGVCb2R5IGlzIGVtYmVkZGVkIHRvIFBlcnNpc3RlZEVsZW1lbnQgb3V0c2lkZSBvZiBteF9BcHBUaWxlLFxuICAgc28gcnVsZXMgdG8gc3R5bGUgYXBwVGlsZUJvZHkgZ2VuZXJhbGx5IHNob3VsZCBub3QgYmUgaW5jbHVkZWQgaGVyZS4gKi9cbi5teF9BcHBUaWxlIC5teF9BcHBUaWxlQm9keS0tbGFyZ2UsXG4ubXhfQXBwVGlsZUZ1bGxXaWR0aCAubXhfQXBwVGlsZUJvZHktLWxhcmdlLFxuLm14X0FwcFRpbGVfbWluaSAubXhfQXBwVGlsZUJvZHktLW1pbmkge1xuICAgIGhlaWdodDogaW5oZXJpdDtcbiAgICBmbGV4OiAxO1xufVxuXG5Aa2V5ZnJhbWVzIG14X0FwcFRpbGVCb2R5X2ZhZGVJblNwaW5uZXJBbmltYXRpb24ge1xuICAgIGZyb20ge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgIH1cbiAgICB0byB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxufVxuIiwiLm14X0F1dG9jb21wbGV0ZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogMDtcbiAgICB6LWluZGV4OiAxMDAxO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICRwcmltYXJ5LWhhaXJsaW5lLWNvbG9yO1xuICAgIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kO1xuICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gICAgYm9yZGVyLXJhZGl1czogOHB4IDhweCAwIDA7XG4gICAgb3ZlcmZsb3c6IGNsaXA7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGJveC1zaGFkb3c6IDBweCAtMTZweCAzMnB4ICRjb21wb3Nlci1zaGFkb3ctY29sb3I7XG59XG5cbi5teF9BdXRvY29tcGxldGVfUHJvdmlkZXJTZWN0aW9uIHtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJHByaW1hcnktaGFpcmxpbmUtY29sb3I7XG4gICAgd2lkdGg6IDEwMCU7XG59XG5cbi8qIGEgXCJibG9ja1wiIGNvbXBsZXRpb24gdGFrZXMgdXAgYSB3aG9sZSBsaW5lICovXG4ubXhfQXV0b2NvbXBsZXRlX0NvbXBsZXRpb25fYmxvY2sge1xuICAgIG1pbi1oZWlnaHQ6IDM0cHg7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgcGFkZGluZzogMCAxMnB4O1xuICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGNvbG9yOiAkcHJpbWFyeS1jb250ZW50O1xufVxuXG4ubXhfQXV0b2NvbXBsZXRlX0NvbXBsZXRpb25fYmxvY2sgKiB7XG4gICAgbWFyZ2luOiAwIDNweDtcbn1cblxuLm14X0F1dG9jb21wbGV0ZV9Db21wbGV0aW9uX3BpbGwge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgYm9yZGVyLXJhZGl1czogMnJlbTtcbiAgICBoZWlnaHQ6ICRmb250LTM0cHg7XG4gICAgcGFkZGluZzogMC40cmVtO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgY29sb3I6ICRwcmltYXJ5LWNvbnRlbnQ7XG59XG5cbi5teF9BdXRvY29tcGxldGVfQ29tcGxldGlvbl9waWxsID4gKiB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjNyZW07XG59XG5cbi8qIHN0eWxpbmcgZm9yIGNvbW1vbiBjb21wbGV0aW9uIGVsZW1lbnRzICovXG4ubXhfQXV0b2NvbXBsZXRlX0NvbXBsZXRpb25fc3VidGl0bGUge1xuICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICBmbGV4OiAxO1xufVxuXG4ubXhfQXV0b2NvbXBsZXRlX0NvbXBsZXRpb25fZGVzY3JpcHRpb24ge1xuICAgIGNvbG9yOiBncmF5O1xuICAgIG1pbi13aWR0aDogMTUwcHg7XG59XG5cbi5teF9BdXRvY29tcGxldGVfQ29tcGxldGlvbl9jb250YWluZXJfcGlsbCB7XG4gICAgbWFyZ2luOiAxMnB4O1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBvdmVyZmxvdy15OiBzY3JvbGw7XG4gICAgbWF4LWhlaWdodDogMzV2aDtcbn1cblxuLm14X0F1dG9jb21wbGV0ZV9Db21wbGV0aW9uX2NvbnRhaW5lcl90cnVuY2F0ZSB7XG4gICAgLm14X0F1dG9jb21wbGV0ZV9Db21wbGV0aW9uX3RpdGxlLFxuICAgIC5teF9BdXRvY29tcGxldGVfQ29tcGxldGlvbl9zdWJ0aXRsZSxcbiAgICAubXhfQXV0b2NvbXBsZXRlX0NvbXBsZXRpb25fZGVzY3JpcHRpb24ge1xuICAgICAgICAvKiBFbGxpcHNpcyBmb3IgbG9uZyBuYW1lcy9zdWJ0aXRsZXMvZGVzY3JpcHRpb25zICovXG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgIH1cbn1cblxuLm14X0F1dG9jb21wbGV0ZV9Db21wbGV0aW9uLnNlbGVjdGVkLFxuLm14X0F1dG9jb21wbGV0ZV9Db21wbGV0aW9uOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiAkc2VsZWN0ZWQtY29sb3I7XG4gICAgb3V0bGluZTogbm9uZTtcbn1cblxuLm14X0F1dG9jb21wbGV0ZV9wcm92aWRlcl9uYW1lIHtcbiAgICBtYXJnaW46IDEycHg7XG4gICAgY29sb3I6ICRwcmltYXJ5LWNvbnRlbnQ7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBvcGFjaXR5OiAwLjQ7XG59XG4iLCIvKlxuQ29weXJpZ2h0IDIwMTgtMjAyNCBOZXcgVmVjdG9yIEx0ZC5cblxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuKi9cblxuLm14X0F1eFBhbmVsIHtcbiAgICBtaW4td2lkdGg6IDBweDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW46IDBweCBhdXRvO1xuXG4gICAgb3ZlcmZsb3c6IGF1dG87XG59XG4iLCIvKlxuQ29weXJpZ2h0IDIwMTktMjAyNCBOZXcgVmVjdG9yIEx0ZC5cbkNvcHlyaWdodCAyMDE5IFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXG5cblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cbiovXG5cbi5teF9CYXNpY01lc3NhZ2VDb21wb3NlciB7XG4gICAgLyogVGhlc2UgYXJlIHNldCBpbiBKYXZhc2NyaXB0ICovXG4gICAgLS1hdmF0YXItbGV0dGVyOiBcIlwiO1xuICAgIC0tYXZhdGFyLWJhY2tncm91bmQ6IHVuc2V0O1xuICAgIC0tcGxhY2Vob2xkZXI6IFwiXCI7XG5cbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAubXhfQmFzaWNNZXNzYWdlQ29tcG9zZXJfaW5wdXRFbXB0eSA+IDpmaXJzdC1jaGlsZDo6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogdmFyKC0tcGxhY2Vob2xkZXIpO1xuICAgICAgICBjb2xvcjogdmFyKC0tY3BkLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTtcbiAgICAgICAgd2lkdGg6IDA7XG4gICAgICAgIGhlaWdodDogMDtcbiAgICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgfVxuXG4gICAgQGtleWZyYW1lcyB2aXN1YWxiZWxsIHtcbiAgICAgICAgZnJvbSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdmlzdWFsLWJlbGwtYmctY29sb3I7XG4gICAgICAgIH1cbiAgICAgICAgdG8ge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLm14X0Jhc2ljTWVzc2FnZUNvbXBvc2VyX2lucHV0X2Vycm9yIHtcbiAgICAgICAgYW5pbWF0aW9uOiAwLjJzIHZpc3VhbGJlbGw7XG4gICAgfVxuXG4gICAgLm14X0Jhc2ljTWVzc2FnZUNvbXBvc2VyX2lucHV0IHtcbiAgICAgICAgd2hpdGUtc3BhY2U6IHByZS13cmFwO1xuICAgICAgICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG4gICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICAgIG92ZXJmbG93LXg6IGhpZGRlbjtcblxuICAgICAgICAvKiBGb3JjZSBjYXJldCBub2RlcyB0byBiZSBzZWxlY3RlZCBpbiBmdWxsIHNvIHRoYXQgdGhleSBjYW4gYmUgKi9cbiAgICAgICAgLyogbmF2aWdhdGVkIHRocm91Z2ggaW4gYSBzaW5nbGUga2V5cHJlc3MgKi9cbiAgICAgICAgLmNhcmV0Tm9kZSB7XG4gICAgICAgICAgICB1c2VyLXNlbGVjdDogYWxsO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5teF9CYXNpY01lc3NhZ2VDb21wb3Nlcl9pbnB1dF9zaG91bGRTaG93UGlsbEF2YXRhciB7XG4gICAgICAgICAgICBzcGFuLm14X1VzZXJQaWxsLFxuICAgICAgICAgICAgc3Bhbi5teF9Sb29tUGlsbCxcbiAgICAgICAgICAgIHNwYW4ubXhfU3BhY2VQaWxsIHtcbiAgICAgICAgICAgICAgICB1c2VyLXNlbGVjdDogYWxsO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgICBjdXJzb3I6IHVuc2V0OyAvKiBXZSBkb24ndCB3YW50IGluZGljYXRlIGNsaWNrYWJpbGl0eSAqL1xuICAgICAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcblxuICAgICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICAvKiBXZSBkb24ndCB3YW50IGluZGljYXRlIGNsaWNrYWJpbGl0eSB8IFRvIG92ZXJyaWRlIHRoZSBvdmVycmlkaW5nIG9mIC5tYXJrZG93bi1ib2R5ICovXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRwaWxsLWJnLWNvbG9yICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLyogYXZhdGFyIHBzdWVkbyBlbGVtZW50ICovXG4gICAgICAgICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgICAgICBjb250ZW50OiB2YXIoLS1hdmF0YXItbGV0dGVyKTtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6ICRmb250LTE2cHg7XG4gICAgICAgICAgICAgICAgICAgIG1pbi13aWR0aDogJGZvbnQtMTZweDsgLyogZW5zdXJlIHRoZSBhdmF0YXIgaXMgbm90IGNvbXByZXNzZWQgKi9cbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAkZm9udC0xNnB4O1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4taW5saW5lLWVuZDogMC4yNHJlbTtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tYXZhdGFyLWJhY2tncm91bmQpLCAkYmFja2dyb3VuZDtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IHZhcigtLWF2YXRhci1jb2xvciwgJGF2YXRhci1pbml0aWFsLWNvbG9yKTtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiAkZm9udC0xNnB4O1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAkZm9udC0xNnB4O1xuICAgICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAkZm9udC0xNnB4O1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6ICRmb250LTEwLTRweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLm14X0Jhc2ljTWVzc2FnZUNvbXBvc2VyX2lucHV0X2Rpc2FibGVkIHtcbiAgICAgICAgICAgIC8qIElnbm9yZSBhbGwgdXNlciBpbnB1dCB0byBhdm9pZCBhY2NpZGVudGFsbHkgdHJpZ2dlcmluZyB0aGUgY29tcG9zZXIgKi9cbiAgICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm14X0Jhc2ljTWVzc2FnZUNvbXBvc2VyX0F1dG9Db21wbGV0ZVdyYXBwZXIge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGhlaWdodDogMDtcbiAgICB9XG59XG4iLCIubXhfSm9pblJ1bGVEaWFsb2cge1xuICAgIC5teF9Kb2luUnVsZURpYWxvZ0J1dHRvbnMge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBjb2x1bW4tZ2FwOiA1cHg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIH1cbn1cbiIsIi8qXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cbkNvcHlyaWdodCAyMDIyIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXG5cblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cbiovXG5cbi5teF9EZWNyeXB0aW9uRmFpbHVyZUJhciB7XG4gICAgLS1nYXAtcm93OiAkc3BhY2luZy04O1xuICAgIC0tZ2FwLWNvbHVtbjogJHNwYWNpbmctMTI7XG4gICAgLS1nYXA6IHZhcigtLWdhcC1yb3cpIHZhcigtLWdhcC1jb2x1bW4pO1xuICAgIC0tc2l6ZS1pY29uOiAyNHB4O1xuXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHN5c3RlbTtcbiAgICBwYWRkaW5nOiAkc3BhY2luZy0xMjtcbiAgICBtYXJnaW4taW5saW5lOiAkc3BhY2luZy0xNjtcbiAgICBib3JkZXItcmFkaXVzOiA0cHg7XG5cbiAgICAmLm14X0RlY3J5cHRpb25GYWlsdXJlQmFyLS13aXRoRW5kIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1mbG93OiB3cmFwO1xuICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICByb3ctZ2FwOiBjYWxjKHZhcigtLWdhcC1yb3cpICsgJHNwYWNpbmctNCk7IC8qIEluY3JlYXNlIHNwYWNpbmcgYmV0d2VlbiB0aGUgbWVzc2FnZSBhbmQgdGhlIGJ1dHRvbnMgKi9cblxuICAgICAgICAubXhfRGVjcnlwdGlvbkZhaWx1cmVCYXJfZW5kIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7IC8qIExldCB0aGUgYnV0dG9ucyB3cmFwcGVkIG9uIGEgbmFycm93IGNvbHVtbiAqL1xuICAgICAgICAgICAgZ2FwOiB2YXIoLS1idXR0b25zLWRpYWxvZy1nYXAtcm93KSB2YXIoLS1idXR0b25zLWRpYWxvZy1nYXAtY29sdW1uKTtcbiAgICAgICAgICAgIG1hcmdpbi1pbmxpbmUtc3RhcnQ6IGNhbGModmFyKC0tc2l6ZS1pY29uKSArIHZhcigtLWdhcC1jb2x1bW4pKTsgLyogQWxpZ24gdGhlIGJ1dHRvbihzKSBhbmQgdGhlIG1lc3NhZ2UgKi9cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5teF9EZWNyeXB0aW9uRmFpbHVyZUJhcl9zdGFydCB7XG4gICAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAgIGdhcDogdmFyKC0tZ2FwKTtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1hcmVhczpcbiAgICAgICAgICAgIFwic3RhdHVzIGhlYWRsaW5lXCJcbiAgICAgICAgICAgIFwiLiAgICAgIG1lc3NhZ2VcIjtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiB2YXIoLS1zaXplLWljb24pIGF1dG87XG5cbiAgICAgICAgLm14X0RlY3J5cHRpb25GYWlsdXJlQmFyX3N0YXJ0X3N0YXR1cyB7XG4gICAgICAgICAgICBncmlkLWFyZWE6IHN0YXR1cztcblxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICBnYXA6IHZhcigtLWdhcCk7XG5cbiAgICAgICAgICAgIC5teF9TcGlubmVyIHtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IHVuc2V0OyAvKiBVbnNldCBoZWlnaHQ6IDEwMCUgKi9cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLm14X0RlY3J5cHRpb25GYWlsdXJlQmFyX3N0YXJ0X3N0YXR1c19pY29uIHtcbiAgICAgICAgICAgICAgICBtaW4td2lkdGg6IHZhcigtLXNpemUtaWNvbik7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiB2YXIoLS1zaXplLWljb24pO1xuICAgICAgICAgICAgICAgIG1hc2staW1hZ2U6IHVybChcIiQocmVzKS9pbWcvZTJlL2RlY3J5cHRpb24tZmFpbHVyZS5zdmdcIik7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGUyZS13YXJuaW5nLWNvbG9yO1xuICAgICAgICAgICAgICAgIG1hc2stcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgICAgICAgbWFzay1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgICAgICAgICAgIG1hc2stc2l6ZTogY29udGFpbjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5teF9EZWNyeXB0aW9uRmFpbHVyZUJhcl9zdGFydF9oZWFkbGluZSB7XG4gICAgICAgICAgICBncmlkLWFyZWE6IGhlYWRsaW5lO1xuXG4gICAgICAgICAgICBmb250LXdlaWdodDogdmFyKC0tY3BkLWZvbnQtd2VpZ2h0LXNlbWlib2xkKTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtMTZweDtcbiAgICAgICAgICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgICAgICAgfVxuXG4gICAgICAgIC5teF9EZWNyeXB0aW9uRmFpbHVyZUJhcl9zdGFydF9tZXNzYWdlIHtcbiAgICAgICAgICAgIGdyaWQtYXJlYTogbWVzc2FnZTtcblxuICAgICAgICAgICAgY29sb3I6ICRzZWNvbmRhcnktY29udGVudDtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi8qXG5Db3B5cmlnaHQgMjAxOS0yMDI0IE5ldyBWZWN0b3IgTHRkLlxuXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXG4qL1xuXG4ubXhfRTJFSWNvbiB7XG4gICAgd2lkdGg6IDE2cHg7XG4gICAgaGVpZ2h0OiAxNnB4O1xuICAgIG1hcmdpbjogMCA5cHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4ubXhfRTJFSWNvbl93YXJuaW5nLFxuLm14X0UyRUljb25fbm9ybWFsLFxuLm14X0UyRUljb25fdmVyaWZpZWQge1xuICAgICY6OmJlZm9yZSxcbiAgICAmOjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGluc2V0OiAwO1xuICAgICAgICBtYXNrLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICBtYXNrLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICAgIG1hc2stc2l6ZTogY29udGFpbjtcbiAgICB9XG59XG5cbi8qIHRyYW5zcGFyZW50LWxvb2tpbmcgYm9yZGVyIHN1cnJvdW5kaW5nIHRoZSBzaGllbGQgZm9yIHdoZW4gb3ZlcmxhaW4gb3ZlciBhdmF0YXJzICovXG4ubXhfRTJFSWNvbl9ib3JkZXJlZCB7XG4gICAgbWFzay1pbWFnZTogdXJsKFwiJChyZXMpL2ltZy9lMmUvbm9ybWFsLnN2Z1wiKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaGVhZGVyLXBhbmVsLWJnLWNvbG9yO1xuICAgIG1hc2stc2l6ZTogMTAwJTtcblxuICAgIC8qIHNocmluayB0aGUgYWN0dWFsIGJhZGdlICovXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgICBtYXNrLXNpemU6IDc1JTtcbiAgICB9XG4gICAgLyogc2hyaW5rIHRoZSBpbmZpbGwgb2YgdGhlIGJhZGdlICovXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgICAgbWFzay1zaXplOiA2MCU7XG4gICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWNwZC1jb2xvci1iZy1jYW52YXMtZGVmYXVsdCk7XG4gICAgfVxufVxuXG4ubXhfRTJFSWNvbl93YXJuaW5nOjphZnRlciB7XG4gICAgbWFzay1pbWFnZTogdXJsKFwiJChyZXMpL2ltZy9lMmUvd2FybmluZy5zdmdcIik7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGUyZS13YXJuaW5nLWNvbG9yO1xufVxuXG4ubXhfRTJFSWNvbl9ub3JtYWw6OmFmdGVyIHtcbiAgICBtYXNrLWltYWdlOiB1cmwoXCIkKHJlcykvaW1nL2UyZS9ub3JtYWwuc3ZnXCIpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNwZC1jb2xvci1pY29uLXRlcnRpYXJ5KTtcbn1cblxuLm14X0UyRUljb25fdmVyaWZpZWQ6OmFmdGVyIHtcbiAgICBtYXNrLWltYWdlOiB1cmwoXCIkKHJlcykvaW1nL2UyZS92ZXJpZmllZC5zdmdcIik7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGUyZS12ZXJpZmllZC1jb2xvcjtcbn1cbiIsIi8qXG5Db3B5cmlnaHQgMjAxOS0yMDI0IE5ldyBWZWN0b3IgTHRkLlxuQ29weXJpZ2h0IDIwMTkgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cblxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuKi9cblxuLm14X0VkaXRNZXNzYWdlQ29tcG9zZXIge1xuICAgIC0tRWRpdE1lc3NhZ2VDb21wb3Nlci1wYWRkaW5nLWlubGluZTogM3B4O1xuXG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIG1heC13aWR0aDogMTAwJTsgLyogZGlzYWJsZSBvdmVyZmxvdyAqL1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIGdhcDogNXB4O1xuICAgIHBhZGRpbmc6IDNweCB2YXIoLS1FZGl0TWVzc2FnZUNvbXBvc2VyLXBhZGRpbmctaW5saW5lKTtcblxuICAgIC5teF9CYXNpY01lc3NhZ2VDb21wb3Nlcl9pbnB1dCB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgICAgICAgYm9yZGVyOiBzb2xpZCAxcHggJHByaW1hcnktaGFpcmxpbmUtY29sb3I7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuICAgICAgICBtYXgtaGVpZ2h0OiAyMDBweDtcbiAgICAgICAgcGFkZGluZzogM3B4IDZweDtcblxuICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0tY3BkLWNvbG9yLWJvcmRlci1pbnRlcmFjdGl2ZS1wcmltYXJ5KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5teF9FZGl0TWVzc2FnZUNvbXBvc2VyX2J1dHRvbnMge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWZsb3c6IHJvdyB3cmFwLXJldmVyc2U7IC8qIGRpc3BsYXkgXCJTYXZlXCIgb3ZlciBcIkNhbmNlbFwiICovXG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICAgIGdhcDogNXB4O1xuICAgICAgICBtYXJnaW4taW5saW5lLXN0YXJ0OiBhdXRvO1xuXG4gICAgICAgIC5teF9BY2Nlc3NpYmxlQnV0dG9uIHtcbiAgICAgICAgICAgIGZsZXg6IDE7XG4gICAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICAgICAgbWluLXdpZHRoOiAxMDBweDsgLyogbWFnaWMgbnVtYmVyIHRvIGFsaWduIHRoZSBlZGdlIG9mIHRoZSBidXR0b24gd2l0aCB0aGUgaW5wdXQgYXJlYSAqL1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiLypcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxuQ29weXJpZ2h0IDIwMjIgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cblxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuKi9cblxuLm14X0Vtb2ppQnV0dG9uIHtcbiAgICBAbWl4aW4gY29tcG9zZXJCdXR0b24gNTAlLCB2YXIoLS1jcGQtY29sb3ItaWNvbi1zZWNvbmRhcnkpLCB2YXIoLS1jcGQtY29sb3ItYmctc3VidGxlLXNlY29uZGFyeSk7XG59XG5cbi5teF9FbW9qaUJ1dHRvbl9oaWdobGlnaHQge1xuICAgIEBtaXhpbiBjb21wb3NlckJ1dHRvbkhpZ2hMaWdodDtcbn1cblxuLm14X0Vtb2ppQnV0dG9uX2ljb246OmJlZm9yZSB7XG4gICAgbWFzay1pbWFnZTogdXJsKFwiJChyZXMpL2ltZy9lbGVtZW50LWljb25zL3Jvb20vY29tcG9zZXIvZW1vamkuc3ZnXCIpO1xufVxuXG4ubXhfTWVzc2FnZUNvbXBvc2VyX3d5c2l3eWcge1xuICAgIC5teF9FbW9qaUJ1dHRvbiB7XG4gICAgICAgIEBtaXhpbiBjb21wb3NlckJ1dHRvbiA1cHgsICR0ZXJ0aWFyeS1jb250ZW50LCAkcGFuZWxzO1xuICAgIH1cbn1cbiIsIi8qXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cbkNvcHlyaWdodCAyMDIwIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXG5Db3B5cmlnaHQgMjAxNSwgMjAxNiBPcGVuTWFya2V0IEx0ZFxuXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXG4qL1xuXG4ubXhfRW50aXR5VGlsZSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGNvbG9yOiAkcHJpbWFyeS1jb250ZW50O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgIC5teF9FMkVJY29uIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGJvdHRvbTogMnB4O1xuICAgICAgICByaWdodDogN3B4O1xuICAgIH1cbn1cblxuLm14X0VudGl0eVRpbGU6aG92ZXIge1xuICAgIHBhZGRpbmctcmlnaHQ6IDMwcHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyAvKiB0byBrZWVwIHRoZSBjaGV2cm9uIGFsaWduZWQgKi9cbn1cblxuLm14X0VudGl0eVRpbGU6aG92ZXI6OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiBjYWxjKDUwJSAtIDhweCk7IC8qIGNlbnRlciAqL1xuICAgIHJpZ2h0OiAtOHB4O1xuICAgIG1hc2s6IHVybChcIkB2ZWN0b3ItaW0vY29tcG91bmQtZGVzaWduLXRva2Vucy9pY29ucy9jaGV2cm9uLXJpZ2h0LnN2Z1wiKTtcbiAgICBtYXNrLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIG1hc2stcG9zaXRpb246IGNlbnRlcjtcbiAgICB3aWR0aDogMTZweDtcbiAgICBoZWlnaHQ6IDE2cHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGhlYWRlci1wYW5lbC10ZXh0LXByaW1hcnktY29sb3I7XG59XG5cbi5teF9FbnRpdHlUaWxlOm5vdCgubXhfRW50aXR5VGlsZV91bnJlYWNoYWJsZSkgLm14X1ByZXNlbmNlTGFiZWwge1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5teF9FbnRpdHlUaWxlOmhvdmVyIC5teF9QcmVzZW5jZUxhYmVsIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbn1cblxuLm14X0VudGl0eVRpbGVfaW52aXRlIHtcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgbWFyZ2luLWxlZnQ6IDEwcHg7XG4gICAgd2lkdGg6IDI2cHg7XG59XG5cbi5teF9FbnRpdHlUaWxlX2F2YXRhciB7XG4gICAgcGFkZGluZy1sZWZ0OiAzcHg7XG4gICAgcGFkZGluZy1yaWdodDogMTJweDtcbiAgICBwYWRkaW5nLXRvcDogNHB4O1xuICAgIHBhZGRpbmctYm90dG9tOiA0cHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxpbmUtaGVpZ2h0OiAwO1xufVxuXG4ubXhfRW50aXR5VGlsZV9uYW1lIHtcbiAgICBmbGV4OiAxIDEgMDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGZvbnQ6IHZhcigtLWNwZC1mb250LWJvZHktbWQtcmVndWxhcik7XG4gICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLm14X0VudGl0eVRpbGVfZGV0YWlscyB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBmbGV4OiAxO1xufVxuXG4ubXhfRW50aXR5VGlsZV9lbGxpcHNpcyAubXhfRW50aXR5VGlsZV9uYW1lIHtcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgY29sb3I6ICRwcmltYXJ5LWNvbnRlbnQ7XG59XG5cbi5teF9FbnRpdHlUaWxlX2ludml0ZVBsYWNlaG9sZGVyIC5teF9FbnRpdHlUaWxlX25hbWUge1xuICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICBjb2xvcjogJHByaW1hcnktY29udGVudDtcbn1cblxuLm14X0VudGl0eVRpbGVfdW5hdmFpbGFibGUgLm14X0VudGl0eVRpbGVfYXZhdGFyLFxuLm14X0VudGl0eVRpbGVfdW5hdmFpbGFibGUgLm14X0VudGl0eVRpbGVfbmFtZSxcbi5teF9FbnRpdHlUaWxlX29mZmxpbmVfYmVlbmFjdGl2ZSAubXhfRW50aXR5VGlsZV9hdmF0YXIsXG4ubXhfRW50aXR5VGlsZV9vZmZsaW5lX2JlZW5hY3RpdmUgLm14X0VudGl0eVRpbGVfbmFtZSB7XG4gICAgb3BhY2l0eTogMC41O1xufVxuXG4ubXhfRW50aXR5VGlsZV9vZmZsaW5lX25ldmVyYWN0aXZlIC5teF9FbnRpdHlUaWxlX2F2YXRhcixcbi5teF9FbnRpdHlUaWxlX29mZmxpbmVfbmV2ZXJhY3RpdmUgLm14X0VudGl0eVRpbGVfbmFtZSB7XG4gICAgb3BhY2l0eTogMC4yNTtcbn1cblxuLm14X0VudGl0eVRpbGVfdW5rbm93biAubXhfRW50aXR5VGlsZV9hdmF0YXIsXG4ubXhfRW50aXR5VGlsZV91bmtub3duIC5teF9FbnRpdHlUaWxlX25hbWUsXG4ubXhfRW50aXR5VGlsZV91bnJlYWNoYWJsZSAubXhfRW50aXR5VGlsZV9hdmF0YXIsXG4ubXhfRW50aXR5VGlsZV91bnJlYWNoYWJsZSAubXhfRW50aXR5VGlsZV9uYW1lIHtcbiAgICBvcGFjaXR5OiAwLjI1O1xufVxuXG4ubXhfRW50aXR5VGlsZV9zdWJ0ZXh0IHtcbiAgICBmb250LXNpemU6ICRmb250LTExcHg7XG4gICAgb3BhY2l0eTogMC41O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB0ZXh0LW92ZXJmbG93OiBjbGlwO1xufVxuXG4ubXhfRW50aXR5VGlsZV9wb3dlciB7XG4gICAgcGFkZGluZy1pbmxpbmUtc3RhcnQ6IDZweDtcbiAgICBmb250LXNpemU6ICRmb250LTEwcHg7XG4gICAgY29sb3I6ICRzZWNvbmRhcnktY29udGVudDtcbiAgICBtYXgtd2lkdGg6IDZlbTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi5teF9FbnRpdHlUaWxlOmhvdmVyIC5teF9FbnRpdHlUaWxlX3Bvd2VyIHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuIiwiLypcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxuQ29weXJpZ2h0IDIwMjEgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cblxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuKi9cblxuLm14X1Jvb21WaWV3X2JvZHlbZGF0YS1sYXlvdXQ9XCJidWJibGVcIl0ge1xuICAgIC5teF9Sb29tVmlld190aW1lbGluZSxcbiAgICAubXhfUm9vbVZpZXdfc3RhdHVzQXJlYSxcbiAgICAubXhfTWVzc2FnZUNvbXBvc2VyIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1heC13aWR0aDogMTIwMHB4O1xuICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICB9XG59XG5cbi5teF9FdmVudFRpbGVbZGF0YS1sYXlvdXQ9XCJidWJibGVcIl0sXG4ubXhfR2VuZXJpY0V2ZW50TGlzdFN1bW1hcnlbZGF0YS1sYXlvdXQ9XCJidWJibGVcIl0ge1xuICAgIC0tYXZhdGFyU2l6ZTogMzJweDtcbiAgICAtLWd1dHRlclNpemU6IDExcHg7XG4gICAgLS1jb3JuZXJSYWRpdXM6IDEycHg7XG4gICAgLS1tYXhXaWR0aDogNzAlO1xuXG4gICAgLyogRm9yIGJvdGggZXZlbnQgdGlsZSBhbmQgZXZlbnQgbGlzdCBzdW1tYXJ5ICovXG4gICAgLS1FdmVudFRpbGVfYnViYmxlLW1hcmdpbi1pbmxpbmUtc3RhcnQ6IDQ5cHg7XG4gICAgLS1FdmVudFRpbGVfYnViYmxlLW1hcmdpbi1pbmxpbmUtZW5kOiA2MHB4O1xuXG4gICAgbWFyZ2luLWlubGluZS1zdGFydDogdmFyKC0tRXZlbnRUaWxlX2J1YmJsZS1tYXJnaW4taW5saW5lLXN0YXJ0KTtcbiAgICBtYXJnaW4taW5saW5lLWVuZDogdmFyKC0tRXZlbnRUaWxlX2J1YmJsZS1tYXJnaW4taW5saW5lLWVuZCk7XG59XG5cbi5teF9FdmVudFRpbGVbZGF0YS1sYXlvdXQ9XCJidWJibGVcIl0ge1xuICAgIC0tRXZlbnRUaWxlX2J1YmJsZV9saW5lLW1hcmdpbi1pbmxpbmUtc3RhcnQ6IC05cHg7XG4gICAgLS1FdmVudFRpbGVfYnViYmxlX2xpbmUtbWFyZ2luLWlubGluZS1lbmQ6IC0xMnB4O1xuICAgIC0tRXZlbnRUaWxlX2J1YmJsZV9nYXAtaW5saW5lOiA1cHg7XG5cbiAgICAubXhfTWVzc2FnZVRpbWVzdGFtcCB7XG4gICAgICAgIHdpZHRoOiB1bnNldDsgLyogQ2FuY2VsIHRoZSBkZWZhdWx0IHdpZHRoICovXG4gICAgICAgIG1heC13aWR0aDogdmFyKC0tTWVzc2FnZVRpbWVzdGFtcC1tYXgtd2lkdGgpO1xuICAgIH1cblxuICAgIC5teF9UaHJlYWRTdW1tYXJ5IHtcbiAgICAgICAgY2xlYXI6IGJvdGg7XG4gICAgICAgIHdpZHRoOiBmaXQtY29udGVudDtcbiAgICB9XG5cbiAgICAubXhfRXZlbnRUaWxlX2NvbnRlbnQge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgfVxuXG4gICAgLm14X0V2ZW50VGlsZV9hdmF0YXIge1xuICAgICAgICBsaW5lLWhlaWdodDogMDtcbiAgICAgICAgYm9yZGVyOiA0cHggc29saWQgJGJhY2tncm91bmQ7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDZweDtcbiAgICAgICAgei1pbmRleDogOTtcbiAgICAgICAgaW1nIHtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDNweCAkYmFja2dyb3VuZDtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYubXhfRXZlbnRUaWxlX2hpZ2hsaWdodCB7XG4gICAgICAgIC5teF9FdmVudFRpbGVfYXZhdGFyIHtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJGV2ZW50LWhpZ2hsaWdodC1iZy1jb2xvcjtcbiAgICAgICAgfVxuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGV2ZW50LWhpZ2hsaWdodC1iZy1jb2xvcjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICY6aG92ZXIge1xuICAgICAgICAubXhfRXZlbnRUaWxlX2F2YXRhciB7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6ICRldmVudGJ1YmJsZS1iZy1ob3ZlcjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qIEZvciByZXBsaWVzICovXG4gICAgLm14X0V2ZW50VGlsZSB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgIH1cblxuICAgICY6OmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAtMXB4O1xuICAgICAgICBib3R0b206IC0xcHg7XG4gICAgICAgIGxlZnQ6IGNhbGMoLTEgKiB2YXIoLS1FdmVudFRpbGVfYnViYmxlLW1hcmdpbi1pbmxpbmUtc3RhcnQpKTtcbiAgICAgICAgcmlnaHQ6IGNhbGMoLTEgKiB2YXIoLS1FdmVudFRpbGVfYnViYmxlLW1hcmdpbi1pbmxpbmUtZW5kKSk7XG4gICAgICAgIHotaW5kZXg6IC0xO1xuICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgfVxuXG4gICAgJjpob3ZlcixcbiAgICAmLm14X0V2ZW50VGlsZV9zZWxlY3RlZCB7XG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkZXZlbnRidWJibGUtYmctaG92ZXI7XG4gICAgICAgIH1cblxuICAgICAgICAubXhfRXZlbnRUaWxlX2F2YXRhciB7XG4gICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDNweCAkZXZlbnRidWJibGUtYmctaG92ZXI7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubXhfRGlzYW1iaWd1YXRlZFByb2ZpbGUsXG4gICAgLm14X0V2ZW50VGlsZV9saW5lIHtcbiAgICAgICAgLS1FdmVudEJ1YmJsZVRpbGVfbGluZS1tYXgtd2lkdGg6IDcwJTtcblxuICAgICAgICB3aWR0aDogZml0LWNvbnRlbnQ7XG4gICAgICAgIG1heC13aWR0aDogdmFyKC0tRXZlbnRCdWJibGVUaWxlX2xpbmUtbWF4LXdpZHRoKTsgLyogQWxpZ24gbWVzc2FnZSBidWJibGUgYW5kIGRpc3BsYXlOYW1lICovXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAkZm9udC0xOHB4OyAvKiBmaXhlZCBsaW5lIGhlaWdodCB0byBwcmV2ZW50IGVtb2ppIGZyb20gYmVpbmcgdGFsbGVyIHRoYW4gdGV4dCAqL1xuICAgIH1cblxuICAgIC8qIG90aGVyIHVzZXJzIHByb2ZpbGUgb24gYnViYmxlIGxheW91dCAqL1xuICAgID4gLm14X0Rpc2FtYmlndWF0ZWRQcm9maWxlIHtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vcm1hbDsgLyogZGlzcGxheSBteGlkICovXG5cbiAgICAgICAgLm14X0Rpc2FtYmlndWF0ZWRQcm9maWxlX2Rpc3BsYXlOYW1lIHtcbiAgICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7IC8qIHRydW5jYXRlIGxvbmcgZGlzcGxheSBuYW1lcyAqL1xuICAgICAgICAgICAgbWFyZ2luLWlubGluZS1lbmQ6IDVweDtcblxuICAgICAgICAgICAgLyogRm9yIFJUTCBkaXNwbGF5TmFtZSAqL1xuICAgICAgICAgICAgdW5pY29kZS1iaWRpOiBlbWJlZDtcbiAgICAgICAgICAgIGRpcmVjdGlvbjogbHRyO1xuICAgICAgICB9XG5cbiAgICAgICAgLm14X0Rpc2FtYmlndWF0ZWRQcm9maWxlX214aWQge1xuICAgICAgICAgICAgbWFyZ2luLWlubGluZS1zdGFydDogMDsgLyogQWxpZ24gbXhpZCB3aXRoIHRydW5jYXRlZCBkaXNwbGF5TmFtZVxuICAgICAgICAgICAgICAgIGluc2lkZSBteF9FdmVudFRpbGVbZGF0YS1sYXlvdXQ9XCJidWJibGVcIl0gKi9cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qIGluc2lkZSBteF9Sb29tVmlld19NZXNzYWdlTGlzdCwgb3V0c2lkZSBvZiBteF9SZXBseVRpbGUgKi9cbiAgICAvKiAob24gdGhlIG1haW4gcGFuZWwgYW5kIHRoZSBjaGF0IHBhbmVsIHdpdGggYSBtYXhpbWl6ZWQgd2lkZ2V0KSAqL1xuICAgID4gLm14X0Rpc2FtYmlndWF0ZWRQcm9maWxlLFxuICAgIC8qIGluc2lkZSBhIHRocmVhZCwgb3V0c2lkZSBvZiBteF9SZXBseVRpbGUgKi9cbiAgICAubXhfRXZlbnRUaWxlX3NlbmRlckRldGFpbHMgPiAubXhfRGlzYW1iaWd1YXRlZFByb2ZpbGUge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHRvcDogLTJweDtcbiAgICAgICAgbGVmdDogMnB4O1xuICAgICAgICBmb250LXNpemU6ICRmb250LTE1cHg7XG4gICAgfVxuXG4gICAgLm14X01lc3NhZ2VBY3Rpb25CYXIge1xuICAgICAgICB0b3A6IC0yOHB4O1xuICAgICAgICB6LWluZGV4OiA5OyAvKiBhYm92ZSB0aGUgYXZhdGFyICovXG4gICAgfVxuXG4gICAgLm14X01lZGlhQm9keSB7XG4gICAgICAgIC8qIGxlYXZlIHNwYWNlIGZvciB0aGUgdGltZXN0YW1wICovXG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDQ4cHg7XG4gICAgfVxuXG4gICAgLm14X01JbWFnZUJvZHkge1xuICAgICAgICAubXhfTUltYWdlQm9keV90aHVtYm5haWxfY29udGFpbmVyIHtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgbWluLWhlaWdodDogY2FsYygxLjhyZW0gKyB2YXIoLS1ndXR0ZXJTaXplKSArIHZhcigtLWd1dHRlclNpemUpKTtcbiAgICAgICAgICAgIG1pbi13aWR0aDogY2FsYygxLjhyZW0gKyB2YXIoLS1ndXR0ZXJTaXplKSArIHZhcigtLWd1dHRlclNpemUpKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5teF9MZWdhY3lDYWxsRXZlbnQge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB1bnNldDtcblxuICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgICBib3JkZXItd2lkdGg6IDFweDtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkcXVpbmFyeS1jb250ZW50O1xuICAgIH1cblxuICAgIC5teF9FdmVudFRpbGVfZm9vdGVyIHtcbiAgICAgICAgbWFyZ2luOiB2YXIoLS1jcGQtc3BhY2UtMS01eCkgMDtcbiAgICAgICAgbWFyZ2luLWlubGluZTogdmFyKC0tRXZlbnRUaWxlX2J1YmJsZV9saW5lLW1hcmdpbi1pbmxpbmUtc3RhcnQpIHZhcigtLUV2ZW50VGlsZV9idWJibGVfbGluZS1tYXJnaW4taW5saW5lLWVuZCk7XG4gICAgfVxuXG4gICAgJltkYXRhLXNlbGY9XCJmYWxzZVwiXSB7XG4gICAgICAgIC5teF9FdmVudFRpbGVfbGluZSB7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogdmFyKC0tY29ybmVyUmFkaXVzKTtcblxuICAgICAgICAgICAgLm14X01JbWFnZUJvZHkgLm14X01JbWFnZUJvZHlfdGh1bWJuYWlsX2NvbnRhaW5lcixcbiAgICAgICAgICAgIC5teF9NSW1hZ2VCb2R5OjpiZWZvcmUsXG4gICAgICAgICAgICAubXhfTVZpZGVvQm9keSAubXhfTVZpZGVvQm9keV9jb250YWluZXIsXG4gICAgICAgICAgICAubXhfTWVkaWFCb2R5LFxuICAgICAgICAgICAgLm14X01Mb2NhdGlvbkJvZHlfbWFwLFxuICAgICAgICAgICAgLm14X01CZWFjb25Cb2R5IHtcbiAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogdmFyKC0tY29ybmVyUmFkaXVzKSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLm14X0V2ZW50VGlsZV9hdmF0YXIge1xuICAgICAgICAgICAgbGVmdDogLTM2cHg7XG4gICAgICAgIH1cblxuICAgICAgICAubXhfTWVzc2FnZUFjdGlvbkJhciB7XG4gICAgICAgICAgICBpbnNldC1pbmxpbmUtc3RhcnQ6IGNhbGMoMTAwJSAtIHZhcigtLU1lc3NhZ2VBY3Rpb25CYXItc2l6ZS1ib3gpKTtcbiAgICAgICAgICAgIHJpZ2h0OiBpbml0aWFsOyAvKiBSZXNldCB0aGUgZGVmYXVsdCB2YWx1ZSAqL1xuICAgICAgICB9XG5cbiAgICAgICAgLm14X1RocmVhZFN1bW1hcnkge1xuICAgICAgICAgICAgbWFyZ2luLWlubGluZS1zdGFydDogY2FsYygtMSAqIHZhcigtLWd1dHRlclNpemUpKTtcbiAgICAgICAgICAgIG1hcmdpbi1pbmxpbmUtZW5kOiBhdXRvO1xuICAgICAgICB9XG5cbiAgICAgICAgLm14X1JlYWN0aW9uc1JvdyxcbiAgICAgICAgLm14X0V2ZW50VGlsZV9mb290ZXIge1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgICB9XG5cbiAgICAgICAgLS1iYWNrZ3JvdW5kQ29sb3I6ICRldmVudGJ1YmJsZS1vdGhlcnMtYmc7XG4gICAgfVxuXG4gICAgJltkYXRhLXNlbGY9XCJ0cnVlXCJdIHtcbiAgICAgICAgLm14X0V2ZW50VGlsZV9saW5lIHtcbiAgICAgICAgICAgIG1hcmdpbi1pbmxpbmUtc3RhcnQ6IGF1dG87XG4gICAgICAgICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiB2YXIoLS1jb3JuZXJSYWRpdXMpO1xuXG4gICAgICAgICAgICAubXhfTUltYWdlQm9keSAubXhfTUltYWdlQm9keV90aHVtYm5haWxfY29udGFpbmVyLFxuICAgICAgICAgICAgLm14X01JbWFnZUJvZHk6OmJlZm9yZSxcbiAgICAgICAgICAgIC5teF9NVmlkZW9Cb2R5IC5teF9NVmlkZW9Cb2R5X2NvbnRhaW5lcixcbiAgICAgICAgICAgIC5teF9NZWRpYUJvZHksXG4gICAgICAgICAgICAubXhfTUxvY2F0aW9uQm9keV9tYXAsXG4gICAgICAgICAgICAubXhfTUJlYWNvbkJvZHkge1xuICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IHZhcigtLWNvcm5lclJhZGl1cykgIWltcG9ydGFudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5teF9FdmVudFRpbGVfc3RpY2tlciB7XG4gICAgICAgICAgICAvKiBhbGlnbiB0aW1lc3RhbXAgd2l0aCB0aG9zZSBpbnNpZGUgYnViYmxlcyAqL1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAzMnB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLm14X1RocmVhZFN1bW1hcnkge1xuICAgICAgICAgICAgbWFyZ2luLWlubGluZS1zdGFydDogYXV0bztcbiAgICAgICAgICAgIG1hcmdpbi1pbmxpbmUtZW5kOiBjYWxjKC0xICogdmFyKC0tZ3V0dGVyU2l6ZSkpO1xuICAgICAgICB9XG5cbiAgICAgICAgLm14X0Rpc2FtYmlndWF0ZWRQcm9maWxlIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICAubXhfUmVwbHlUaWxlIC5teF9EaXNhbWJpZ3VhdGVkUHJvZmlsZSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5teF9FdmVudFRpbGVfZm9vdGVyIHtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICAgIH1cblxuICAgICAgICAubXhfUmVhY3Rpb25zUm93IHtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG5cbiAgICAgICAgICAgID4gOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgIG9yZGVyOiAtMTsgLyogTW92aW5nIHRoZSBcImFkZCByZWFjdGlvbiBidXR0b25cIiBiZWZvcmUgdGhlIHJlYWN0aW9ucyAqL1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLm14X0V2ZW50VGlsZV9hdmF0YXIge1xuICAgICAgICAgICAgdG9wOiAtMTlweDsgLyogaGVpZ2h0IG9mIHRoZSBzZW5kZXIgYmxvY2sgKi9cbiAgICAgICAgICAgIHJpZ2h0OiAtMzhweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5teF9NZWRpYUJvZHkge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogJGV2ZW50YnViYmxlLXNlbGYtYmc7XG4gICAgICAgIH1cblxuICAgICAgICAubXhfTWVzc2FnZUFjdGlvbkJhciB7XG4gICAgICAgICAgICBpbnNldC1pbmxpbmUtZW5kOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgLS1iYWNrZ3JvdW5kQ29sb3I6ICRldmVudGJ1YmJsZS1zZWxmLWJnO1xuICAgIH1cblxuICAgIC5teF9FdmVudFRpbGVfbGluZSB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZ2FwOiA1cHggdmFyKC0tRXZlbnRUaWxlX2J1YmJsZV9nYXAtaW5saW5lKTtcbiAgICAgICAgbWFyZ2luLWJsb2NrOiAwO1xuICAgICAgICBtYXJnaW4taW5saW5lOiB2YXIoLS1FdmVudFRpbGVfYnViYmxlX2xpbmUtbWFyZ2luLWlubGluZS1zdGFydCkgdmFyKC0tRXZlbnRUaWxlX2J1YmJsZV9saW5lLW1hcmdpbi1pbmxpbmUtZW5kKTtcbiAgICAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogdmFyKC0tY29ybmVyUmFkaXVzKTtcbiAgICAgICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IHZhcigtLWNvcm5lclJhZGl1cyk7XG5cbiAgICAgICAgLyogdGhlIHNlbGVjdG9yIGhlcmUgaXMgcXVpdGUgd2VpcmQgYmVjYXVzZSB0aW1lc3RhbXBzIGNhbiBhcHBlYXIgbGlua2VkICYgdW5saW5rZWQgYW5kIGluIGRpZmZlcmVudCBwbGFjZXMgKi9cbiAgICAgICAgLyogaW4gdGhlIERPTSBkZXBlbmRpbmcgb24gdGhlIHNwZWNpZmljIHJlbmRlcmluZyBjb250ZXh0ICovXG4gICAgICAgID4gYSwgLyogdGltZXN0YW1wIHdyYXBwZXIgYW5jaG9yICovXG4gICAgICAgIC5teF9NZXNzYWdlQWN0aW9uQmFyICsgLm14X01lc3NhZ2VUaW1lc3RhbXAge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgcGFkZGluZzogNHB4IDhweDtcbiAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgei1pbmRleDogMzsgLyogYWJvdmUgbWVkaWEgYW5kIGxvY2F0aW9uIHNoYXJlIG1hcHMgKi9cbiAgICAgICAgfVxuXG4gICAgICAgICYubXhfRXZlbnRUaWxlX21lZGlhTGluZSB7XG4gICAgICAgICAgICAvKiBUT0RPOiBVc2UgYSBjb21tb24gY2xhc3MgbmFtZSBpbnN0ZWFkICovXG4gICAgICAgICAgICAubXhfTUZpbGVCb2R5LFxuICAgICAgICAgICAgLm14X01BdWRpb0JvZHkge1xuICAgICAgICAgICAgICAgIG1heC13aWR0aDogMTAwJTsgLyogYXZvaWQgb3ZlcmZsb3cgKi9cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLm14X01Wb2ljZU1lc3NhZ2VCb2R5IHtcbiAgICAgICAgICAgICAgICAvKiBhbGxvdyB0aGUgZXZlbnQgdG8gYmUgY29sbGFwc2VkLCB0aGlzIGNhdXNlcyB0aGUgd2F2ZWZvcm0gdG8gZ2V0IGNyb3BwZWQgKi9cbiAgICAgICAgICAgICAgICBtaW4td2lkdGg6IDA7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8qIHdlIHB1dCB0aGUgdGltZXN0YW1wcyBmb3IgbWVkaWEgKG90aGVyIHRoYW4gc3RpY2tlcnMpIGF0b3AgdGhlIG1lZGlhICovXG4gICAgICAgICAgICAmLm14X0V2ZW50VGlsZV9pbWFnZSB7XG4gICAgICAgICAgICAgICAgLm14X01lc3NhZ2VUaW1lc3RhbXAge1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1NQm9keS1ib3JkZXItcmFkaXVzKTtcbiAgICAgICAgICAgICAgICAgICAgLyogSGFyZGNvZGVkIGNvbG91cnMgYmVjYXVzZSBpdCdzIHRoZSBzYW1lIG9uIGFsbCB0aGVtZXMgKi9cbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjYpO1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMHB4IDRweCAwcHggNHB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYubXhfRXZlbnRUaWxlX3N0aWNrZXIge1xuICAgICAgICAgICAgPiBhLCAvKiB0aW1lc3RhbXAgd3JhcHBlciBhbmNob3IgKi9cbiAgICAgICAgICAgIC5teF9NZXNzYWdlQWN0aW9uQmFyICsgLm14X01lc3NhZ2VUaW1lc3RhbXAge1xuICAgICAgICAgICAgICAgIC8qIHBvc2l0aW9uIHRpbWVzdGFtcHMgZm9yIHN0aWNrZXJzIHRvIHRoZSByaWdodCBvZiB0aGUgdW4tYnViYmxlZCBzdGlja2VyICovXG4gICAgICAgICAgICAgICAgcmlnaHQ6IHVuc2V0O1xuICAgICAgICAgICAgICAgIGxlZnQ6IDEwMCU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5teF9NU3RpY2tlckJvZHlfd3JhcHBlciB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5teF9NSW1hZ2VCb2R5IHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgICAgICAubXhfTUltYWdlQm9keV90aHVtYm5haWwubXhfTUltYWdlQm9keV90aHVtYm5haWwtLWJsdXJoYXNoIHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogdW5zZXQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvKiBub2luc3BlY3Rpb24gQ3NzUmVwbGFjZVdpdGhTaG9ydGhhbmRTYWZlbHkgKi9cbiAgICAgICAgLm14X01JbWFnZUJvZHkgLm14X01JbWFnZUJvZHlfdGh1bWJuYWlsX2NvbnRhaW5lcixcbiAgICAgICAgLm14X01WaWRlb0JvZHkgLm14X01WaWRlb0JvZHlfY29udGFpbmVyLFxuICAgICAgICAubXhfTWVkaWFCb2R5IHtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IHVuc2V0O1xuICAgICAgICAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogdmFyKC0tY29ybmVyUmFkaXVzKTtcbiAgICAgICAgICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiB2YXIoLS1jb3JuZXJSYWRpdXMpO1xuICAgICAgICB9XG5cbiAgICAgICAgLm14X0V2ZW50VGlsZV9lMmVJY29uIHtcbiAgICAgICAgICAgIGZsZXgtc2hyaW5rOiAwOyAvKiBrZWVwIGl0IGF0IGZ1bGwgc2l6ZSAqL1xuXG4gICAgICAgICAgICAvKiBLZWVwIGhlaWdodCBlcXVhbCB0byB0ZXh0IGZvciBzaGllbGQgYWxpZ25tZW50LCBhZGRpdGlvbmFsIDJweCBiZWNhdXNlIG9mIDFweCBwYWRkaW5nIG9uIHRleHQgKi9cbiAgICAgICAgICAgIGhlaWdodDogY2FsYygkZm9udC0xOHB4ICsgMnB4KTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5teF9NUG9sbEVuZEJvZHkge1xuICAgICAgICAgICAgLyogUHJldmVudCB0aGUgcG9sbCBlbmQgYm9keSBmcm9tIGV4Y2VlZGluZyB0aGUgdGlsZSB3aWR0aCAqL1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmOm5vdCgubXhfRXZlbnRUaWxlX25vQnViYmxlKSAubXhfRXZlbnRUaWxlX2xpbmU6bm90KC5teF9FdmVudFRpbGVfbWVkaWFMaW5lKSB7XG4gICAgICAgIC8qIG1ha2UgdGhlIHRvcCBhbmQgYm90dG9tIHBhZGRpbmcgMXB4IHNtYWxsZXIgc28gdGhhdCB3ZSBjYW4gcGFkXG4gICAgICAgICAgICAubXhfRXZlbnRUaWxlX2NvbnRlbnQgYnkgMXB4ICovXG4gICAgICAgIC8qIHRvIGF2b2lkIGFudGktemFsZ28gY3V0dGluZyBvZmYgb3VyIGxhcmdlciB0aGFuIHRleHQgZW1vamlzLiAqL1xuICAgICAgICBwYWRkaW5nOiBjYWxjKHZhcigtLWd1dHRlclNpemUpIC0gMXB4KTtcbiAgICAgICAgcGFkZGluZy1yaWdodDogNjBweDsgLyogc3BhY2UgZm9yIHRoZSB0aW1lc3RhbXAgKi9cbiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZENvbG9yKTtcblxuICAgICAgICAubXhfRXZlbnRUaWxlX2NvbnRlbnQge1xuICAgICAgICAgICAgcGFkZGluZzogMXB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi5teF9FdmVudFRpbGVfY29udGludWF0aW9uW2RhdGEtc2VsZj1cImZhbHNlXCJdIC5teF9FdmVudFRpbGVfbGluZSB7XG4gICAgICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7XG5cbiAgICAgICAgLm14X01JbWFnZUJvZHkgLm14X01JbWFnZUJvZHlfdGh1bWJuYWlsX2NvbnRhaW5lcixcbiAgICAgICAgLm14X01WaWRlb0JvZHkgLm14X01WaWRlb0JvZHlfY29udGFpbmVyLFxuICAgICAgICAubXhfTUltYWdlQm9keTo6YmVmb3JlLFxuICAgICAgICAubXhfTWVkaWFCb2R5LFxuICAgICAgICAubXhfTUxvY2F0aW9uQm9keV9tYXAsXG4gICAgICAgIC5teF9NQmVhY29uQm9keSB7XG4gICAgICAgICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwO1xuICAgICAgICB9XG4gICAgfVxuICAgICYubXhfRXZlbnRUaWxlX2xhc3RJblNlY3Rpb25bZGF0YS1zZWxmPVwiZmFsc2VcIl0gLm14X0V2ZW50VGlsZV9saW5lIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogdmFyKC0tY29ybmVyUmFkaXVzKTtcblxuICAgICAgICAubXhfTUltYWdlQm9keSAubXhfTUltYWdlQm9keV90aHVtYm5haWxfY29udGFpbmVyLFxuICAgICAgICAubXhfTVZpZGVvQm9keSAubXhfTVZpZGVvQm9keV9jb250YWluZXIsXG4gICAgICAgIC5teF9NSW1hZ2VCb2R5OjpiZWZvcmUsXG4gICAgICAgIC5teF9NZWRpYUJvZHksXG4gICAgICAgIC5teF9NTG9jYXRpb25Cb2R5X21hcCxcbiAgICAgICAgLm14X01CZWFjb25Cb2R5IHtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IHZhcigtLWNvcm5lclJhZGl1cyk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLm14X0V2ZW50VGlsZV9jb250aW51YXRpb25bZGF0YS1zZWxmPVwidHJ1ZVwiXSAubXhfRXZlbnRUaWxlX2xpbmUge1xuICAgICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMDtcblxuICAgICAgICAubXhfTUltYWdlQm9keSAubXhfTUltYWdlQm9keV90aHVtYm5haWxfY29udGFpbmVyLFxuICAgICAgICAubXhfTVZpZGVvQm9keSAubXhfTVZpZGVvQm9keV9jb250YWluZXIsXG4gICAgICAgIC5teF9NSW1hZ2VCb2R5OjpiZWZvcmUsXG4gICAgICAgIC5teF9NZWRpYUJvZHksXG4gICAgICAgIC5teF9NTG9jYXRpb25Cb2R5X21hcCxcbiAgICAgICAgLm14X01CZWFjb25Cb2R5IHtcbiAgICAgICAgICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwO1xuICAgICAgICB9XG4gICAgfVxuICAgICYubXhfRXZlbnRUaWxlX2xhc3RJblNlY3Rpb25bZGF0YS1zZWxmPVwidHJ1ZVwiXSAubXhfRXZlbnRUaWxlX2xpbmUge1xuICAgICAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogdmFyKC0tY29ybmVyUmFkaXVzKTtcblxuICAgICAgICAubXhfTUltYWdlQm9keSAubXhfTUltYWdlQm9keV90aHVtYm5haWxfY29udGFpbmVyLFxuICAgICAgICAubXhfTVZpZGVvQm9keSAubXhfTVZpZGVvQm9keV9jb250YWluZXIsXG4gICAgICAgIC5teF9NSW1hZ2VCb2R5OjpiZWZvcmUsXG4gICAgICAgIC5teF9NZWRpYUJvZHksXG4gICAgICAgIC5teF9NTG9jYXRpb25Cb2R5X21hcCxcbiAgICAgICAgLm14X01CZWFjb25Cb2R5IHtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiB2YXIoLS1jb3JuZXJSYWRpdXMpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi5teF9FdmVudFRpbGVfbm9TZW5kZXIge1xuICAgICAgICAubXhfRXZlbnRUaWxlX2F2YXRhciB7XG4gICAgICAgICAgICB0b3A6IC0xOXB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJltkYXRhLWhhcy1yZXBseT1cInRydWVcIl0ge1xuICAgICAgICA+IC5teF9FdmVudFRpbGVfbGluZSB7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICB9XG5cbiAgICAgICAgLm14X1JlcGx5Q2hhaW4ge1xuICAgICAgICAgICAgLm14X0V2ZW50VGlsZV9yZXBseSB7XG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiA5MCU7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgICAgICA+IGEsIC8qIHRpbWVzdGFtcCB3cmFwcGVyIGFuY2hvciAqL1xuICAgICAgICAgICAgICAgIC5teF9NZXNzYWdlQWN0aW9uQmFyICsgLm14X01lc3NhZ2VUaW1lc3RhbXAge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAubXhfRXZlbnRUaWxlIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgIGdhcDogdmFyKC0tZ3V0dGVyU2l6ZSk7XG4gICAgICAgICAgICAgICAgLm14X0V2ZW50VGlsZV9hdmF0YXIge1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAubXhfRGlzYW1iaWd1YXRlZFByb2ZpbGUge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5teF9NUG9sbEJvZHkge1xuICAgICAgICB3aWR0aDogNTUwcHg7IC8qIHRvIHByZXZlbnQgdGltZXN0YW1wIG92ZXJsYXBwaW5nIHN1bW1hcnkgdGV4dCAqL1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7IC8qIHByZXZlbnQgb3ZlcmZsb3dpbmcgYSByZXBseSB0aWxlICovXG5cbiAgICAgICAgLm14X01Qb2xsQm9keV90b3RhbFZvdGVzIHtcbiAgICAgICAgICAgIC8qIGFsaWduIHN1bW1hcnkgdGV4dCB3aXRoIGNvcm5lciB0aW1lc3RhbXAgKi9cbiAgICAgICAgICAgIHBhZGRpbmc6IDRweCAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi5teF9FdmVudFRpbGVfYmFkIHtcbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLyogU3BlY2lhbCBsYXlvdXQgc2NlbmFyaW8gZm9yIFwiVW5hYmxlIFRvIERlY3J5cHQgKFVURClcIiBldmVudHMgKi9cbiAgICAgICAgLm14X0V2ZW50VGlsZV9saW5lIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAgICAgICBncmlkLXRlbXBsYXRlOlxuICAgICAgICAgICAgICAgIFwicmVwbHkgcmVwbHlcIiBhdXRvXG4gICAgICAgICAgICAgICAgXCJzaGllbGQgYm9keVwiIGF1dG9cbiAgICAgICAgICAgICAgICAvIGF1dG8gMWZyO1xuXG4gICAgICAgICAgICAubXhfVW5rbm93bkJvZHksXG4gICAgICAgICAgICAubXhfUmVwbHlDaGFpbl93cmFwcGVyLFxuICAgICAgICAgICAgLm14X1ZpZXdTb3VyY2VFdmVudCB7XG4gICAgICAgICAgICAgICAgbWluLXdpZHRoOiAwOyAvKiBQcmV2ZW50IGEgZ3JpZCBibG93b3V0ICovXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5teF9FdmVudFRpbGVfZTJlSWNvbiB7XG4gICAgICAgICAgICAgICAgZ3JpZC1hcmVhOiBzaGllbGQ7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogYXV0bztcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiBhdXRvO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAubXhfVW5rbm93bkJvZHksXG4gICAgICAgICAgICAubXhfRGVjcnlwdGlvbkZhaWx1cmVCb2R5IHtcbiAgICAgICAgICAgICAgICBncmlkLWFyZWE6IGJvZHk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5teF9SZXBseUNoYWluX3dyYXBwZXIge1xuICAgICAgICAgICAgICAgIGdyaWQtYXJlYTogcmVwbHk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLm14X0V2ZW50VGlsZV9pbmZvIHtcbiAgICAgICAgICAgIC8qIFwiVW5hYmxlIFRvIERlY3J5cHRcIiBsYXlvdXQgZm9yIGhpZGRlbiBldmVudHMgKi9cbiAgICAgICAgICAgIC5teF9FdmVudFRpbGVfbGluZSB7XG4gICAgICAgICAgICAgICAgZ2FwOiAwIDlweDsgLyogOXB4OiBtYXJnaW4gdmFsdWUgb2YgRTJFIGljb24gKi9cbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgICAgIGdyaWQtdGVtcGxhdGU6XG4gICAgICAgICAgICAgICAgICAgIFwic2hpZWxkIHNvdXJjZVwiIGF1dG9cbiAgICAgICAgICAgICAgICAgICAgLyBhdXRvIDFmcjtcblxuICAgICAgICAgICAgICAgIC5teF9WaWV3U291cmNlRXZlbnQge1xuICAgICAgICAgICAgICAgICAgICBncmlkLWFyZWE6IHNvdXJjZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubXhfTVRleHRCb2R5IHtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIC5teF9MZWdhY3lDYWxsRXZlbnRfd3JhcHBlcixcbiAgICAubXhfQ2FsbEV2ZW50X3dyYXBwZXIge1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICB9XG59XG5cbi5teF9FdmVudFRpbGUubXhfRXZlbnRUaWxlX25vQnViYmxlW2RhdGEtbGF5b3V0PVwiYnViYmxlXCJdIHtcbiAgICAtLWJhY2tncm91bmRDb2xvcjogdHJhbnNwYXJlbnQ7XG5cbiAgICAubXhfRXZlbnRUaWxlX2xpbmUubXhfRXZlbnRUaWxlX2Vtb3RlIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogNjBweDsgLyogYWxpZ24gd2l0aCBidWJibGVzIHRleHQgKi9cbiAgICAgICAgZm9udC1zdHlsZTogaXRhbGljO1xuXG4gICAgICAgID4gYSB7XG4gICAgICAgICAgICAvKiB0aW1lc3RhbXAgYW5jaG9yIHdyYXBwZXIgKi9cbiAgICAgICAgICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgICAgICAgICAgIGJvdHRvbTogdW5zZXQ7XG4gICAgICAgICAgICB0b3A6IHVuc2V0O1xuICAgICAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsOyAvKiB1bmRvIGl0YWxpYyBhYm92ZSAqL1xuICAgICAgICB9XG5cbiAgICAgICAgLm14X01FbW90ZUJvZHkge1xuICAgICAgICAgICAgcGFkZGluZzogNHB4IDA7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5teF9FdmVudFRpbGUubXhfRXZlbnRUaWxlX2J1YmJsZUNvbnRhaW5lcltkYXRhLWxheW91dD1cImJ1YmJsZVwiXSxcbi5teF9FdmVudFRpbGUubXhfRXZlbnRUaWxlX2xlZnRBbGlnbmVkQnViYmxlW2RhdGEtbGF5b3V0PVwiYnViYmxlXCJdIHtcbiAgICAubXhfRXZlbnRUaWxlX2xpbmUgPiBhIHtcbiAgICAgICAgLyogaGlkZSB0aGlzIHRpbWVzdGFtcCBhcyB0aGUgdGlsZSB3aWxsIHJlbmRlciBpdHMgb3duICovXG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxufVxuXG4ubXhfRXZlbnRUaWxlLm14X0V2ZW50VGlsZV9idWJibGVDb250YWluZXJbZGF0YS1sYXlvdXQ9XCJidWJibGVcIl0sXG4ubXhfRXZlbnRUaWxlLm14X0V2ZW50VGlsZV9sZWZ0QWxpZ25lZEJ1YmJsZVtkYXRhLWxheW91dD1cImJ1YmJsZVwiXSxcbi5teF9FdmVudFRpbGUubXhfRXZlbnRUaWxlX2luZm9bZGF0YS1sYXlvdXQ9XCJidWJibGVcIl0ge1xuICAgIHBhZGRpbmc6IDVweCAwO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG5cbiAgICAubXhfRXZlbnRUaWxlX2xpbmUsXG4gICAgLm14X0V2ZW50VGlsZV9pbmZvIHtcbiAgICAgICAgbWluLXdpZHRoOiAxMDAlO1xuICAgICAgICAvKiBQcmVzZXJ2ZSBhbGlnbm1lbnQgd2l0aCBsZWZ0IGVkZ2Ugb2YgdGV4dCBpbiBidWJibGVzICovXG4gICAgICAgIG1hcmdpbjogMDtcbiAgICB9XG59XG5cbi5teF9FdmVudFRpbGUubXhfRXZlbnRUaWxlX2J1YmJsZUNvbnRhaW5lcltkYXRhLWxheW91dD1cImJ1YmJsZVwiXSxcbi5teF9FdmVudFRpbGUubXhfRXZlbnRUaWxlX2xlZnRBbGlnbmVkQnViYmxlW2RhdGEtbGF5b3V0PVwiYnViYmxlXCJdLFxuLm14X0V2ZW50VGlsZS5teF9FdmVudFRpbGVfaW5mb1tkYXRhLWxheW91dD1cImJ1YmJsZVwiXSxcbi5teF9HZW5lcmljRXZlbnRMaXN0U3VtbWFyeVtkYXRhLWxheW91dD1cImJ1YmJsZVwiXVtkYXRhLWV4cGFuZGVkPVwiZmFsc2VcIl0ge1xuICAgIC0tYmFja2dyb3VuZENvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAtLWd1dHRlclNpemU6IDA7XG5cbiAgICAubXhfRXZlbnRUaWxlX2F2YXRhciB7XG4gICAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgICAgIG9yZGVyOiAtMTtcbiAgICAgICAgbWFyZ2luLWlubGluZS1lbmQ6IHZhcigtLUV2ZW50VGlsZV9idWJibGVfZ2FwLWlubGluZSk7IC8qIFNhbWUgc3BhY2luZyBiZXR3ZWVuIEUyRSBpY29uIGFuZCBhIGhpZGRlbiBldmVudCAqL1xuICAgIH1cblxuICAgIC5teF9FdmVudFRpbGVfZTJlSWNvbiB7XG4gICAgICAgIG1hcmdpbi1pbmxpbmUtc3RhcnQ6IDA7IC8qIG14X0V2ZW50VGlsZV9hdmF0YXIgaGFzIG1hcmdpbi1pbmxpbmUtZW5kLCBzbyBtYXJnaW4gaXMgbm90IG5lZWRlZCBoZXJlICovXG4gICAgICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgICB9XG5cbiAgICAubXhfRXZlbnRUaWxlX2xpbmUge1xuICAgICAgICA+IGEsIC8qIHRpbWVzdGFtcCB3cmFwcGVyIGFuY2hvciAqL1xuICAgICAgICAubXhfTWVzc2FnZUFjdGlvbkJhciArIC5teF9NZXNzYWdlVGltZXN0YW1wIHtcbiAgICAgICAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgbGVmdDogLTc3cHg7XG4gICAgICAgICAgICBib3R0b206IHVuc2V0O1xuICAgICAgICAgICAgYWxpZ24tc2VsZjogY2VudGVyO1xuXG4gICAgICAgICAgICAubXhfTWVzc2FnZVRpbWVzdGFtcCxcbiAgICAgICAgICAgICYubXhfTWVzc2FnZVRpbWVzdGFtcCB7XG4gICAgICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLm14X0dlbmVyaWNFdmVudExpc3RTdW1tYXJ5W2RhdGEtbGF5b3V0PVwiYnViYmxlXCJdIHtcbiAgICAubXhfRXZlbnRUaWxlLm14X0V2ZW50VGlsZV9pbmZvIC5teF9FdmVudFRpbGVfbGluZSB7XG4gICAgICAgIC8qIEF2b2lkIG92ZXJmbG93IG9mIGV2ZW50IGluZm8gYnkgY2FuY2VsbGluZyB3aWR0aCBzZXR0aW5ncyAqL1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWluLXdpZHRoOiAwO1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgLyogaW5jcmVhc2UgbWFyZ2luIGJldHdlZW4gRUxTIGFuZCB0aGUgbmV4dCBFdmVudCB0byBub3QgaGF2ZSBvdXIgdXNlciBhdmF0YXIgb3ZlcmxhcCB0aGUgZXhwYW5kL2NvbGxhcHNlIGJ1dHRvbiAqL1xuICAgICZbZGF0YS1leHBhbmRlZD1cImZhbHNlXCJdICsgLm14X0V2ZW50VGlsZVtkYXRhLWxheW91dD1cImJ1YmJsZVwiXVtkYXRhLXNlbGY9XCJ0cnVlXCJdIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMjBweDtcbiAgICB9XG5cbiAgICAmW2RhdGEtZXhwYW5kZWQ9XCJ0cnVlXCJdIC5teF9FdmVudFRpbGVfaW5mbyB7XG4gICAgICAgIHBhZGRpbmc6IDJweCAwO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG5cbiAgICAgICAgLm14X01lc3NhZ2VBY3Rpb25CYXIge1xuICAgICAgICAgICAgLyogUmVzZXQgLm14X0V2ZW50VGlsZVtkYXRhLWxheW91dD1cImJ1YmJsZVwiXVtkYXRhLXNlbGY9XCJmYWxzZVwiXSAubXhfTWVzc2FnZUFjdGlvbkJhciAqL1xuICAgICAgICAgICAgaW5zZXQtaW5saW5lLXN0YXJ0OiBpbml0aWFsO1xuICAgICAgICAgICAgaW5zZXQtaW5saW5lLWVuZDogNDhweDsgLyogYWxpZ24gd2l0aCB0aGF0IG9mIHJpZ2h0LWNvbHVtbiBidWJibGVzICovXG4gICAgICAgIH1cblxuICAgICAgICAubXhfUmVhZFJlY2VpcHRHcm91cCB7XG4gICAgICAgICAgICAvKiBtYXRjaCBhbGlnbm1lbnQgdG8gUlJzIG9mIGNoYXQgYnViYmxlcyAqL1xuICAgICAgICAgICAgaW5zZXQtaW5saW5lLWVuZDogY2FsYygtMSAqIHZhcigtLVJlYWRSZWNlaXB0R3JvdXBfRXZlbnRCdWJibGVUaWxlLXNwYWNpbmctZW5kKSArIDYwcHgpO1xuICAgICAgICB9XG5cbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgIGluc2V0LWlubGluZS1lbmQ6IDA7IC8qIG1hdGNoIGFsaWdubWVudCBvZiB0aGUgaG92ZXIgYmFja2dyb3VuZCB0byB0aGF0IG9mIGNoYXQgYnViYmxlcyAqL1xuICAgICAgICB9XG4gICAgfVxufVxuXG4ubXhfRXZlbnRUaWxlX3RpbGVFcnJvcltkYXRhLWxheW91dD1cImJ1YmJsZVwiXSAubXhfRXZlbnRUaWxlX2xpbmUge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IC8qIHJlc3RvcmUgdGhlIGNlbnRlcmluZyAqL1xufVxuIiwiLypcbiAqIENvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxuICogQ29weXJpZ2h0IDIwMjQgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cbiAqXG4gKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcbiAqIFBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXG4gKi9cblxuLm14X0V2ZW50UHJldmlldyB7XG4gICAgZm9udDogdmFyKC0tY3BkLWZvbnQtYm9keS1zbS1yZWd1bGFyKTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cbiAgICAubXhfRXZlbnRQcmV2aWV3X3ByZWZpeCB7XG4gICAgICAgIGZvbnQ6IHZhcigtLWNwZC1mb250LWJvZHktc20tc2VtaWJvbGQpO1xuICAgIH1cbn1cbiIsIi8qXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cbkNvcHlyaWdodCAyMDIwLCAyMDIxIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXG5Db3B5cmlnaHQgMjAxNSwgMjAxNiBPcGVuTWFya2V0IEx0ZFxuXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXG4qL1xuXG4kbGVmdC1ndXR0ZXI6IDY0cHg7XG5cbi5teF9FdmVudFRpbGUge1xuICAgIC0tRXZlbnRUaWxlX2NvbnRlbnQtbWFyZ2luLWlubGluZS1lbmQ6IDM0cHg7XG4gICAgLS1FdmVudFRpbGVfZ3JvdXBfbGluZS1zcGFjaW5nLWJsb2NrLXN0YXJ0OiAxcHg7XG4gICAgLS1FdmVudFRpbGVfZ3JvdXBfbGluZS1zcGFjaW5nLWJsb2NrLWVuZDogM3B4O1xuICAgIC0tRXZlbnRUaWxlX2dyb3VwX2xpbmUtc3BhY2luZy1pbmxpbmUtc3RhcnQ6ICRsZWZ0LWd1dHRlcjtcbiAgICAtLUV2ZW50VGlsZV9ncm91cF9saW5lLWxpbmUtaGVpZ2h0OiAkZm9udC0yMnB4O1xuICAgIC0tRXZlbnRUaWxlX1RocmVhZFN1bW1hcnktbGluZS1oZWlnaHQ6IGNhbGMoMiAqICRmb250LTEycHgpO1xuXG4gICAgZmxleC1zaHJpbms6IDA7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIGNsZWFyOiBib3RoOyAvKiBUT0RPOiBjaGVjayBpZiB0aGlzIGlzIG5lY2Vzc2FyeSAqL1xuICAgIHBhZGRpbmctdG9wOiAxOHB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICYubXhfRXZlbnRUaWxlX2luZm8ge1xuICAgICAgICBmb250LXNpemU6IHZhcigtLWNwZC1mb250LXNpemUtYm9keS1zbSk7XG4gICAgICAgIGNvbG9yOiAkc2Vjb25kYXJ5LWNvbnRlbnQ7XG4gICAgfVxuXG4gICAgLm14X0V2ZW50VGlsZV9hdmF0YXIge1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgIH1cblxuICAgIC5teF9FdmVudFRpbGVfYm9keSB7XG4gICAgICAgIG92ZXJmbG93LXk6IGhpZGRlbjtcbiAgICAgICAgdGV4dC1hbGlnbjogc3RhcnQ7XG4gICAgfVxuXG4gICAgLm14X0V2ZW50VGlsZV9yZWNlaXB0U2VudCxcbiAgICAubXhfRXZlbnRUaWxlX3JlY2VpcHRTZW5kaW5nIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHdpZHRoOiAxNnB4O1xuICAgICAgICBoZWlnaHQ6IDE2cHg7XG5cbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNwZC1jb2xvci1pY29uLXRlcnRpYXJ5KTtcbiAgICAgICAgICAgIG1hc2stcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgICBtYXNrLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICAgICAgICBtYXNrLXNpemU6IDE2cHg7XG4gICAgICAgICAgICB3aWR0aDogMTZweDtcbiAgICAgICAgICAgIGhlaWdodDogMTZweDtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubXhfRXZlbnRUaWxlX3JlY2VpcHRTZW50OjpiZWZvcmUge1xuICAgICAgICBtYXNrLWltYWdlOiB1cmwoXCIkKHJlcykvaW1nL2VsZW1lbnQtaWNvbnMvY2lyY2xlLXNlbnQuc3ZnXCIpO1xuICAgIH1cblxuICAgIC5teF9FdmVudFRpbGVfcmVjZWlwdFNlbmRpbmc6OmJlZm9yZSB7XG4gICAgICAgIG1hc2staW1hZ2U6IHVybChcIiQocmVzKS9pbWcvZWxlbWVudC1pY29ucy9jaXJjbGUtc2VuZGluZy5zdmdcIik7XG4gICAgfVxuXG4gICAgLm14X0V2ZW50VGlsZV9jb250ZW50IHtcbiAgICAgICAgJi5teF9FZGl0TWVzc2FnZUNvbXBvc2VyLFxuICAgICAgICAmLm14X0VkaXRXeXNpd3lnQ29tcG9zZXIge1xuICAgICAgICAgICAgLyogTWFrZSBzdXJlIHRoZSBmb3JtYXR0aW5nIGJhciBpcyB2aXNpYmxlICovXG4gICAgICAgICAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5teF9FdmVudFRpbGVfc2VhcmNoSGlnaGxpZ2h0IHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGFjY2VudDtcbiAgICAgICAgY29sb3I6ICRhY2NlbnQtZmctY29sb3I7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgICAgICAgcGFkZGluZy1pbmxpbmU6IDJweDtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgICAgIGEge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGFjY2VudDtcbiAgICAgICAgICAgIGNvbG9yOiAkYWNjZW50LWZnLWNvbG9yO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm14X0V2ZW50VGlsZUJ1YmJsZSB7XG4gICAgICAgIG1hcmdpbi1ibG9jazogdmFyKC0tRXZlbnRUaWxlQnViYmxlX21hcmdpbi1ibG9jayk7XG4gICAgICAgIG1pbi13aWR0aDogMTAwcHg7XG4gICAgfVxuXG4gICAgLm14X01JbWFnZUJvZHkge1xuICAgICAgICAubXhfTUltYWdlQm9keV90aHVtYm5haWxfY29udGFpbmVyIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOyAvKiBvbiBldmVyeSBsYXlvdXQgKi9cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5teF9EaXNhbWJpZ3VhdGVkUHJvZmlsZSB7XG4gICAgICAgIGNvbG9yOiAkcHJpbWFyeS1jb250ZW50O1xuICAgICAgICBmb250OiB2YXIoLS1jcGQtZm9udC1ib2R5LW1kLXJlZ3VsYXIpO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAwcHg7XG4gICAgICAgIHBhZGRpbmctdG9wOiAwcHg7XG4gICAgfVxuXG4gICAgLm14X1JlYWN0aW9uc1JvdyB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZmxvdzogd3JhcDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgZ2FwOiAkc3BhY2luZy00O1xuICAgIH1cblxuICAgIC5teF9SZXBseUNoYWluLS1leHBhbmRlZCB7XG4gICAgICAgIC5teF9FdmVudFRpbGVfYm9keSB7XG4gICAgICAgICAgICAvKiAhaW1wb3J0YW50IG5lZWRlZCB0byBvdmVycmlkZSAubXhfUmVwbHlUaWxlIC5teF9FdmVudFRpbGVfY29udGVudCAubXhfRXZlbnRUaWxlX2JvZHkgKi9cbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBvdmVyZmxvdy15OiBzY3JvbGw7XG4gICAgICAgIH1cblxuICAgICAgICAubXhfRXZlbnRUaWxlX2NvbGxhcHNlZENvZGVCbG9jayB7XG4gICAgICAgICAgICAvKiAhaW1wb3J0YW50IG5lZWRlZCBkdWUgdG8gLm14X1JlcGx5VGlsZSAubXhfRXZlbnRUaWxlX2NvbnRlbnQgLm14X0V2ZW50VGlsZV9wcmVfY29udGFpbmVyID4gcHJlICovXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm14X1Jvb21WaWV3X3NlYXJjaFJlc3VsdHNQYW5lbCAmIHtcbiAgICAgICAgJi5teF9FdmVudFRpbGVfY29udGV4dHVhbCB7XG4gICAgICAgICAgICBvcGFjaXR5OiAwLjQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLm14X0V2ZW50VGlsZV9oaWdobGlnaHQsXG4gICAgJi5teF9FdmVudFRpbGVfaGlnaGxpZ2h0IC5tYXJrZG93bi1ib2R5LFxuICAgICYubXhfRXZlbnRUaWxlX2hpZ2hsaWdodCAubXhfRXZlbnRUaWxlX2VkaXRlZCB7XG4gICAgICAgIGNvbG9yOiAkYWxlcnQ7XG4gICAgfVxuXG4gICAgJi5teF9FdmVudFRpbGVfYnViYmxlQ29udGFpbmVyIHtcbiAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMTAwcHg7XG5cbiAgICAgICAgLm14X0V2ZW50VGlsZV9saW5lIHtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgICAgIGdyaWQtY29sdW1uOiAxIC8gMztcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDsgLyogb3ZlcnJpZGUgZGVmYXVsdCBwYWRkaW5nIG9mIG14X0V2ZW50VGlsZV9saW5lIHNvIHRoYXQgd2UgY2FuIGJlIGNlbnRlcmVkICovXG4gICAgICAgIH1cblxuICAgICAgICAubXhfRXZlbnRUaWxlX21zZ09wdGlvbiB7XG4gICAgICAgICAgICBncmlkLWNvbHVtbjogMjtcbiAgICAgICAgfVxuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgLm14X0V2ZW50VGlsZV9saW5lIHtcbiAgICAgICAgICAgICAgICAvKiBUbyBhdm9pZCBidWJibGUgZXZlbnRzIGJlaW5nIGhpZ2hsaWdodGVkICovXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogaW5oZXJpdCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi5teF9FdmVudFRpbGVfaXNFZGl0aW5nIC5teF9NZXNzYWdlVGltZXN0YW1wIHtcbiAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIH1cblxuICAgICZbZGF0YS1sYXlvdXQ9XCJpcmNcIl0sXG4gICAgJltkYXRhLWxheW91dD1cImdyb3VwXCJdIHtcbiAgICAgICAgLS1zZWxlY3RlZC1tZXNzYWdlLWJvcmRlci13aWR0aDogNHB4O1xuXG4gICAgICAgIC8qIFRPRE86IGFkanVzdCB0aGUgdmFsdWVzIGZvciBJUkMgbGF5b3V0ICovXG4gICAgICAgIC0tRXZlbnRUaWxlLWJveC1zaGFkb3ctb2Zmc2V0LXg6IGNhbGMoNTBweCArIHZhcigtLXNlbGVjdGVkLW1lc3NhZ2UtYm9yZGVyLXdpZHRoKSk7XG4gICAgICAgIC0tRXZlbnRUaWxlLWJveC1zaGFkb3ctc3ByZWFkLXJhZGl1czogLTUwcHg7XG4gICAgICAgIC5teF9FdmVudFRpbGVfZTJlSWNvbiB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIH1cblxuICAgICAgICAubXhfTUltYWdlQm9keSB7XG4gICAgICAgICAgICAubXhfTUltYWdlQm9keV90aHVtYm5haWxfY29udGFpbmVyIHtcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICAgICAgICAgICAgbWluLWhlaWdodDogJGZvbnQtNDRweDtcbiAgICAgICAgICAgICAgICBtaW4td2lkdGg6ICRmb250LTQ0cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAubXhfRXZlbnRUaWxlX2xpbmUsXG4gICAgICAgIC5teF9FdmVudFRpbGVfcmVwbHkge1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLm14X0V2ZW50VGlsZV9yZXBseSB7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gICAgICAgIH1cblxuICAgICAgICAubXhfRXZlbnRUaWxlX21zZ09wdGlvbiB7XG4gICAgICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIHdpZHRoOiA5MHB4O1xuXG4gICAgICAgICAgICAvKiBIYWNrIHRvIHN0b3AgdGhlIGhlaWdodCBvZiB0aGlzIHB1c2hpbmcgdGhlIG1lc3NhZ2VzIGFwYXJ0LlxuICAgICAgICAgICAgICAgUmVwbGFjZXMgbWFyZ2luLXRvcDogLTZweC4gVGhpcyBpbnRlcmFjdHMgYmV0dGVyIHdpdGggYSByZWFkXG4gICAgICAgICAgICAgICBtYXJrZXIgYmVpbmcgaW4gYmV0d2Vlbi4gQ29udGVudCBvdmVyZmxvd3MuICovXG4gICAgICAgICAgICBoZWlnaHQ6IDFweDtcblxuICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi5teF9FdmVudFRpbGVfaGlnaGxpZ2h0LFxuICAgICAgICAmLm14X0V2ZW50VGlsZV9oaWdobGlnaHQgLm1hcmtkb3duLWJvZHkge1xuICAgICAgICAgICAgLm14X0V2ZW50VGlsZV9saW5lIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZXZlbnQtaGlnaGxpZ2h0LWJnLWNvbG9yO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJjpmb2N1cy12aXNpYmxlOmZvY3VzLXdpdGhpbixcbiAgICAgICAgJi5teF9FdmVudFRpbGVfYWN0aW9uQmFyRm9jdXNlZCxcbiAgICAgICAgJi5teF9FdmVudFRpbGVfaXNFZGl0aW5nLFxuICAgICAgICAmLm14X0V2ZW50VGlsZV9zZWxlY3RlZCB7XG4gICAgICAgICAgICAubXhfRXZlbnRUaWxlX2xpbmUge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRldmVudC1zZWxlY3RlZC1jb2xvcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC8qIHRoaXMgaXMgdXNlZCBmb3IgdGhlIHRpbGUgZm9yIHRoZSBldmVudCB3aGljaCBpcyBzZWxlY3RlZCB2aWEgdGhlIFVSTC4gKi9cbiAgICAgICAgJi5teF9FdmVudFRpbGVfaXNFZGl0aW5nLFxuICAgICAgICAmLm14X0V2ZW50VGlsZV9zZWxlY3RlZCB7XG4gICAgICAgICAgICA+IC5teF9FdmVudFRpbGVfbGluZSB7XG4gICAgICAgICAgICAgICAgLyogVE9ETzogdWx0aW1hdGVseSB3ZSBwcm9iYWJseSB3YW50IHNvbWUgdHJhbnNpdGlvbiBvbiBoZXJlLiAqL1xuICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IGluc2V0IHZhcigtLUV2ZW50VGlsZS1ib3gtc2hhZG93LW9mZnNldC14KSAwIDAgdmFyKC0tRXZlbnRUaWxlLWJveC1zaGFkb3ctc3ByZWFkLXJhZGl1cylcbiAgICAgICAgICAgICAgICAgICAgdmFyKC0tY3BkLWNvbG9yLWJnLWFjdGlvbi1wcmltYXJ5LXJlc3QpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi5teF9FdmVudFRpbGVfaW5mbyB7XG4gICAgICAgICAgICAubXhfRXZlbnRUaWxlX2UyZUljb24ge1xuICAgICAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYubXhfRXZlbnRUaWxlX2NvbnRpbnVhdGlvbiAubXhfRXZlbnRUaWxlX2xpbmUge1xuICAgICAgICAgICAgY2xlYXI6IGJvdGg7XG4gICAgICAgIH1cblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIC5teF9FdmVudFRpbGVfbGluZSB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGV2ZW50LXNlbGVjdGVkLWNvbG9yO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJltkYXRhLWxheW91dD1cImJ1YmJsZVwiXSxcbiAgICAmW2RhdGEtbGF5b3V0PVwiZ3JvdXBcIl0ge1xuICAgICAgICAubXhfRXZlbnRUaWxlQnViYmxlIHtcbiAgICAgICAgICAgIG1hcmdpbi1pbmxpbmU6IGF1dG87XG4gICAgICAgIH1cblxuICAgICAgICAubXhfUmVwbHlDaGFpbiB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAkc3BhY2luZy04O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJltkYXRhLWxheW91dD1cImlyY1wiXSB7XG4gICAgICAgIC0tRXZlbnRUaWxlX2lyY19saW5lLXBhZGRpbmctYmxvY2s6IDFweDtcblxuICAgICAgICAvKiBhZGQgLS1yaWdodC1wYWRkaW5nIHZhbHVlIG9mIE1lc3NhZ2VUaW1lc3RhbXAgb25seSAqL1xuICAgICAgICAvKiBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgZGVjbGFyYXRpb24tY29sb24tc3BhY2UtYWZ0ZXIgKi9cbiAgICAgICAgLS1FdmVudFRpbGVfaXJjX2xpbmVfaW5mby1tYXJnaW4taW5saW5lLXN0YXJ0OiBjYWxjKFxuICAgICAgICAgICAgdmFyKC0tbmFtZS13aWR0aCkgKyB2YXIoLS1pY29uLXdpZHRoKSArIDEgKiB2YXIoLS1yaWdodC1wYWRkaW5nKVxuICAgICAgICApO1xuXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgICAgICBwYWRkaW5nLXRvcDogMDtcblxuICAgICAgICA+IGEge1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyAvKiB0aW1lc3RhbXBzIGFyZSBsaW5rcyB3aGljaCBzaG91bGRuJ3QgYmUgdW5kZXJsaW5lZCAqL1xuICAgICAgICAgICAgbWluLXdpZHRoOiB2YXIoLS1NZXNzYWdlVGltZXN0YW1wLXdpZHRoKTsgLyogZW5zdXJlIHNwYWNlIGZvciBFdmVudFRpbGUgd2l0aG91dCB0aW1lc3RhbXAgKi9cbiAgICAgICAgfVxuXG4gICAgICAgID4gKiB7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IHZhcigtLXJpZ2h0LXBhZGRpbmcpO1xuICAgICAgICB9XG5cbiAgICAgICAgLm14X0V2ZW50VGlsZV9hdmF0YXIsXG4gICAgICAgIC5teF9FdmVudFRpbGVfZTJlSWNvbiB7XG4gICAgICAgICAgICBoZWlnaHQ6IHZhcigtLWlyYy1saW5lLWhlaWdodCk7XG4gICAgICAgIH1cblxuICAgICAgICAubXhfRXZlbnRUaWxlX2F2YXRhcixcbiAgICAgICAgLm14X0Rpc2FtYmlndWF0ZWRQcm9maWxlLFxuICAgICAgICAubXhfRXZlbnRUaWxlX2UyZUljb24sXG4gICAgICAgIC5teF9FdmVudFRpbGVfbXNnT3B0aW9uIHtcbiAgICAgICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgLm14X0V2ZW50VGlsZV9hdmF0YXIge1xuICAgICAgICAgICAgb3JkZXI6IDE7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgICAgICAgICAgLyogTmVlZCB0byB1c2UgaW1wb3J0YW50IHRvIG92ZXJyaWRlIHRoZSBqcyBwcm92aWRlZCBoZWlnaHQgYW5kIHdpZHRoIHZhbHVlcy4gKi9cbiAgICAgICAgICAgID4gLm14X0Jhc2VBdmF0YXIsXG4gICAgICAgICAgICA+IC5teF9CYXNlQXZhdGFyID4gKiB7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAkZm9udC0xNHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgd2lkdGg6ICRmb250LTE0cHggIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6ICRmb250LTEwcHggIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogJGZvbnQtMTVweCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLm14X0Rpc2FtYmlndWF0ZWRQcm9maWxlIHtcbiAgICAgICAgICAgIG9yZGVyOiAyO1xuICAgICAgICAgICAgd2lkdGg6IHZhcigtLW5hbWUtd2lkdGgpO1xuICAgICAgICAgICAgbWFyZ2luLWlubGluZS1lbmQ6IDA7IC8qIG92ZXJyaWRlIG14X0V2ZW50VGlsZSA+ICogKi9cblxuICAgICAgICAgICAgPiAubXhfRGlzYW1iaWd1YXRlZFByb2ZpbGVfZGlzcGxheU5hbWUge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGVuZDtcbiAgICAgICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICA+IC5teF9EaXNhbWJpZ3VhdGVkUHJvZmlsZV9teGlkIHtcbiAgICAgICAgICAgICAgICB2aXNpYmlsaXR5OiBjb2xsYXBzZTtcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMDsgLyogT3ZlcnJpZGUgdGhlIGluaGVyaXRlZCBtYXJnaW4uICovXG4gICAgICAgICAgICAgICAgcGFkZGluZzogMCA1cHg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgICAgICAgICAgICAgIHotaW5kZXg6IDEwO1xuXG4gICAgICAgICAgICAgICAgPiAubXhfRGlzYW1iaWd1YXRlZFByb2ZpbGVfZGlzcGxheU5hbWUge1xuICAgICAgICAgICAgICAgICAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lO1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZXZlbnQtc2VsZWN0ZWQtY29sb3I7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDhweCAwIDAgOHB4O1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkc3BhY2luZy04O1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgID4gLm14X0Rpc2FtYmlndWF0ZWRQcm9maWxlX214aWQge1xuICAgICAgICAgICAgICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZXZlbnQtc2VsZWN0ZWQtY29sb3I7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLm14X0V2ZW50VGlsZV9lMmVJY29uIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICBmbGV4LWdyb3c6IDA7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICAgIH1cblxuICAgICAgICAubXhfRXZlbnRUaWxlX2xpbmUge1xuICAgICAgICAgICAgLm14X0V2ZW50VGlsZV9lMmVJY29uLFxuICAgICAgICAgICAgLm14X1RleHR1YWxFdmVudCxcbiAgICAgICAgICAgIC5teF9WaWV3U291cmNlRXZlbnQsXG4gICAgICAgICAgICAubXhfTVRleHRCb2R5IHtcbiAgICAgICAgICAgICAgICAvKiBhZGQgYSAxcHggcGFkZGluZyB0b3AgYW5kIGJvdHRvbSBiZWNhdXNlIG91ciBsYXJnZXJcbiAgICAgICAgICAgICAgICBlbW9qaSBmb250IG90aGVyd2lzZSBnZXRzIGNyb3BwZWQgYnkgYW50aS16YWxnbyAqL1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IHZhcigtLUV2ZW50VGlsZV9pcmNfbGluZS1wYWRkaW5nLWJsb2NrKSAwO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAubXhfRXZlbnRUaWxlX2UyZUljb24sXG4gICAgICAgICAgICAubXhfVGV4dHVhbEV2ZW50LFxuICAgICAgICAgICAgLm14X01UZXh0Qm9keSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAubXhfUmVwbHlUaWxlIHtcbiAgICAgICAgICAgICAgICAubXhfTVRleHRCb2R5IHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogLXdlYmtpdC1ib3g7IC8qIEVuYWJsZSAtd2Via2l0LWxpbmUtY2xhbXAgKi9cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAubXhfRXZlbnRUaWxlX2xpbmUsXG4gICAgICAgIC5teF9FdmVudFRpbGVfcmVwbHkge1xuICAgICAgICAgICAgb3JkZXI6IDM7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgIGZsZXgtZ3JvdzogMTtcbiAgICAgICAgICAgIGZsZXgtc2hyaW5rOiAxO1xuICAgICAgICAgICAgbWluLXdpZHRoOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgLm14X0V2ZW50VGlsZV9yZXBseSB7XG4gICAgICAgICAgICBvcmRlcjogNDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5teF9FdmVudFRpbGVfbXNnT3B0aW9uIHtcbiAgICAgICAgICAgIG9yZGVyOiA1O1xuXG4gICAgICAgICAgICAubXhfUmVhZFJlY2VpcHRHcm91cCB7XG4gICAgICAgICAgICAgICAgaW5zZXQtYmxvY2stc3RhcnQ6IC0wLjNyZW07IC8qICh2YXIoLS1pcmMtbGluZS1oZWlnaHQpIC0gYXZhdGFyIGhlaWdodCkgLyAyICovXG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAubXhfUmVwbHlDaGFpbiB7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIH1cblxuICAgICAgICAubXhfTWVzc2FnZVRpbWVzdGFtcCB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5teF9FZGl0TWVzc2FnZUNvbXBvc2VyX2J1dHRvbnMge1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB9XG5cbiAgICAgICAgLm14X0V2ZW50VGlsZUJ1YmJsZSB7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICBsZWZ0OiB2YXIoLS1FdmVudFRpbGVfaXJjX2xpbmVfaW5mby1tYXJnaW4taW5saW5lLXN0YXJ0KTtcblxuICAgICAgICAgICAgJi5teF9jcnlwdG9FdmVudCB7XG4gICAgICAgICAgICAgICAgbGVmdDogdW5zZXQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAubXhfUmVwbHlUaWxlIC5teF9FdmVudFRpbGVCdWJibGUge1xuICAgICAgICAgICAgbGVmdDogdW5zZXQ7IC8qIENhbmNlbCB0aGUgdmFsdWUgc3BlY2lmaWVkIGFib3ZlIGZvciB0aGUgdGlsZSBpbnNpZGUgUmVwbHlUaWxlICovXG4gICAgICAgIH1cblxuICAgICAgICAmLm14X0V2ZW50VGlsZV9pc0VkaXRpbmcgPiAubXhfRXZlbnRUaWxlX2xpbmUge1xuICAgICAgICAgICAgLm14X0VkaXRNZXNzYWdlQ29tcG9zZXIge1xuICAgICAgICAgICAgICAgIC8qIGFkZCBzcGFjZSBmb3IgdGhlIHN0cm9rZSBvbiBib3gtc2hhZG93ICovXG4gICAgICAgICAgICAgICAgcGFkZGluZy1pbmxpbmUtc3RhcnQ6IGNhbGMoXG4gICAgICAgICAgICAgICAgICAgIHZhcigtLXNlbGVjdGVkLW1lc3NhZ2UtYm9yZGVyLXdpZHRoKSArIHZhcigtLUVkaXRNZXNzYWdlQ29tcG9zZXItcGFkZGluZy1pbmxpbmUpXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYubXhfRXZlbnRUaWxlX2luZm8ge1xuICAgICAgICAgICAgLm14X0V2ZW50VGlsZV9hdmF0YXIge1xuICAgICAgICAgICAgICAgIGxlZnQ6IHZhcigtLUV2ZW50VGlsZV9pcmNfbGluZV9pbmZvLW1hcmdpbi1pbmxpbmUtc3RhcnQpO1xuICAgICAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IHZhcigtLXJpZ2h0LXBhZGRpbmcpO1xuICAgICAgICAgICAgICAgIHBhZGRpbmctYmxvY2s6IHZhcigtLUV2ZW50VGlsZV9pcmNfbGluZS1wYWRkaW5nLWJsb2NrKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLm14X0V2ZW50VGlsZV9saW5lIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4taW5saW5lLXN0YXJ0OiB2YXIoLS1FdmVudFRpbGVfaXJjX2xpbmVfaW5mby1tYXJnaW4taW5saW5lLXN0YXJ0KTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLm14X1ZpZXdTb3VyY2VFdmVudCwgLyogRm9yIGhpZGRlbiBldmVudHMgKi9cbiAgICAgICAgICAgIC5teF9UZXh0dWFsRXZlbnQge1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiB2YXIoLS1pcmMtbGluZS1oZWlnaHQpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi5teF9FdmVudFRpbGVfZW1vdGUge1xuICAgICAgICAgICAgLm14X0V2ZW50VGlsZV9hdmF0YXIge1xuICAgICAgICAgICAgICAgIC8qIGFkZCAtLXJpZ2h0LXBhZGRpbmcgdmFsdWUgb2YgTWVzc2FnZVRpbWVzdGFtcCBvbmx5ICovXG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IGNhbGModmFyKC0tbmFtZS13aWR0aCkgKyB2YXIoLS1pY29uLXdpZHRoKSArIDEgKiB2YXIoLS1yaWdodC1wYWRkaW5nKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAubXhfRXZlbnRUaWxlX2Zvb3RlciB7XG4gICAgICAgICAgICBtYXJnaW46IHZhcigtLWNwZC1zcGFjZS0xLTV4KSAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJltkYXRhLWxheW91dD1cImdyb3VwXCJdIHtcbiAgICAgICAgLm14X0V2ZW50VGlsZV9hdmF0YXIge1xuICAgICAgICAgICAgdG9wOiAxNHB4O1xuICAgICAgICAgICAgbGVmdDogJHNwYWNpbmctODtcbiAgICAgICAgfVxuXG4gICAgICAgIC5teF9FdmVudFRpbGVfbGluZSxcbiAgICAgICAgLm14X0V2ZW50VGlsZV9yZXBseSB7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogdmFyKC0tRXZlbnRUaWxlX2dyb3VwX2xpbmUtc3BhY2luZy1ibG9jay1zdGFydCk7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogdmFyKC0tRXZlbnRUaWxlX2dyb3VwX2xpbmUtc3BhY2luZy1ibG9jay1lbmQpO1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiB2YXIoLS1FdmVudFRpbGVfZ3JvdXBfbGluZS1zcGFjaW5nLWlubGluZS1zdGFydCk7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogdmFyKC0tRXZlbnRUaWxlX2dyb3VwX2xpbmUtbGluZS1oZWlnaHQpO1xuICAgICAgICB9XG5cbiAgICAgICAgLm14X0V2ZW50VGlsZV9lMmVJY29uIHtcbiAgICAgICAgICAgIGluc2V0OiAwIDAgMCA0NHB4O1xuXG4gICAgICAgICAgICAvKiBLZWVwIGhlaWdodCBlcXVhbCB0byB0ZXh0IGZvciBhbGlnbm1lbnQgKi9cbiAgICAgICAgICAgIGhlaWdodDogdmFyKC0tRXZlbnRUaWxlX2dyb3VwX2xpbmUtbGluZS1oZWlnaHQpO1xuICAgICAgICAgICAgbWFyZ2luOiAxcHg7XG4gICAgICAgIH1cblxuICAgICAgICAubXhfRXZlbnRUaWxlX21zZ09wdGlvbiB7XG4gICAgICAgICAgICBtYXJnaW4taW5saW5lLWVuZDogMTBweDtcblxuICAgICAgICAgICAgLm14X1JlYWRSZWNlaXB0R3JvdXAge1xuICAgICAgICAgICAgICAgIC8qIFRoaXMgYWxpZ25zIHRoZSBhdmF0YXIgd2l0aCB0aGUgbGFzdCBsaW5lIG9mIHRoZSAqL1xuICAgICAgICAgICAgICAgIC8qIG1lc3NhZ2UuIFdlIHdhbnQgdG8gbW92ZSBpdCBvbmUgbGluZSB1cCAqL1xuICAgICAgICAgICAgICAgIC8qIFNlZSAubXhfRXZlbnRUaWxlW2RhdGEtbGF5b3V0PWdyb3VwXSAubXhfRXZlbnRUaWxlX2xpbmUgaW4gX0V2ZW50VGlsZS5zY3NzICovXG4gICAgICAgICAgICAgICAgaW5zZXQtYmxvY2stc3RhcnQ6IGNhbGMoLSRmb250LTIycHggLSAzcHgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLm14X01lc3NhZ2VUaW1lc3RhbXAge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgfVxuXG4gICAgICAgIC5teF9UaHJlYWRTdW1tYXJ5LFxuICAgICAgICAubXhfVGhyZWFkU3VtbWFyeV9pY29uIHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAkbGVmdC1ndXR0ZXI7XG4gICAgICAgIH1cblxuICAgICAgICAubXhfRXZlbnRUaWxlX2Zvb3RlciB7XG4gICAgICAgICAgICBtYXJnaW46IHZhcigtLWNwZC1zcGFjZS0xeCkgdmFyKC0tY3BkLXNwYWNlLTE2eCk7XG4gICAgICAgIH1cblxuICAgICAgICA+IC5teF9EaXNhbWJpZ3VhdGVkUHJvZmlsZSB7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogJGZvbnQtMjBweDtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAkbGVmdC1ndXR0ZXI7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IGNhbGMoMTAwJSAtICRsZWZ0LWd1dHRlcik7XG4gICAgICAgIH1cblxuICAgICAgICA+IC5teF9FdmVudFRpbGVfYXZhdGFyIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHotaW5kZXg6IDk7XG4gICAgICAgIH1cblxuICAgICAgICAubXhfUm9vbVZpZXdfdGltZWxpbmVfcnJfZW5hYmxlZCAmIHtcbiAgICAgICAgICAgICRpbmxpbmUtZW5kLW1hcmdpbjogODBweDtcblxuICAgICAgICAgICAgLm14X1RocmVhZFN1bW1hcnksXG4gICAgICAgICAgICAubXhfVGhyZWFkU3VtbWFyeV9pY29uLFxuICAgICAgICAgICAgLm14X0V2ZW50VGlsZV9saW5lIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6ICRpbmxpbmUtZW5kLW1hcmdpbjtcbiAgICAgICAgICAgICAgICBtaW4taGVpZ2h0OiAkZm9udC0xNHB4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAubXhfVGhyZWFkU3VtbWFyeSB7XG4gICAgICAgICAgICAgICAgLyogbGVhdmUgc3BhY2Ugb24gYm90aCBsZWZ0ICYgcmlnaHQgZ3V0dGVycyAqL1xuICAgICAgICAgICAgICAgIG1heC13aWR0aDogbWluKGNhbGMoMTAwJSAtICRsZWZ0LWd1dHRlciAtICRpbmxpbmUtZW5kLW1hcmdpbiksIDYwMHB4KTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLyogb24gRUxTIHdlIG5lZWQgdGhlIG1hcmdpbiB0byBhbGxvdyBpbnRlcmFjdGlvbiB3aXRoIHRoZSBleHBhbmQvY29sbGFwc2UgYnV0dG9uICovXG4gICAgICAgICAgICAvKiB3aGljaCBpcyBub3JtYWxseSBpbiB0aGUgUlIgZ3V0dGVyICovXG4gICAgICAgIH1cblxuICAgICAgICAmLm14X0V2ZW50VGlsZV9jb250aW51YXRpb24ge1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICAgIH1cblxuICAgICAgICAmLm14X0V2ZW50VGlsZV9pbmZvIHtcbiAgICAgICAgICAgICRzcGFjaW5nLWJsb2NrLXN0YXJ0OiAzcHg7XG4gICAgICAgICAgICAkc3BhY2luZy1ibG9jay1lbmQ6IDJweDtcblxuICAgICAgICAgICAgcGFkZGluZy10b3A6IDA7XG5cbiAgICAgICAgICAgIC5teF9FdmVudFRpbGVfYXZhdGFyLFxuICAgICAgICAgICAgLm14X0V2ZW50VGlsZV9lMmVJY29uIHtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgICAgICAgICBtYXJnaW46ICRzcGFjaW5nLWJsb2NrLXN0YXJ0IDAgJHNwYWNpbmctYmxvY2stZW5kO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAubXhfRXZlbnRUaWxlX2F2YXRhciB7XG4gICAgICAgICAgICAgICAgdG9wOiBpbml0aWFsO1xuICAgICAgICAgICAgICAgIGluc2V0LWlubGluZS1zdGFydDogJGxlZnQtZ3V0dGVyO1xuICAgICAgICAgICAgICAgIGhlaWdodDogMTRweDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLm14X0V2ZW50VGlsZV9saW5lIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWJsb2NrOiAkc3BhY2luZy1ibG9jay1zdGFydCAkc3BhY2luZy1ibG9jay1lbmQ7XG4gICAgICAgICAgICAgICAgLyogMjBweDogYXZhdGFyIGFyZWEgKi9cbiAgICAgICAgICAgICAgICBwYWRkaW5nLWlubGluZS1zdGFydDogY2FsYyh2YXIoLS1FdmVudFRpbGVfZ3JvdXBfbGluZS1zcGFjaW5nLWlubGluZS1zdGFydCkgKyAyMHB4KTtcblxuICAgICAgICAgICAgICAgIC5teF9NZXNzYWdlVGltZXN0YW1wIHtcbiAgICAgICAgICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi5teF9FdmVudFRpbGVfc2VsZWN0ZWQgLm14X0V2ZW50VGlsZV9saW5lIHtcbiAgICAgICAgICAgICAgICAvKiBUT0RPOiBjaGVjayBpZiB0aGlzIHdvdWxkIGJlIG5lY2Vzc2FyeTsgKi9cbiAgICAgICAgICAgICAgICBwYWRkaW5nLWlubGluZS1zdGFydDogY2FsYyh2YXIoLS1FdmVudFRpbGVfZ3JvdXBfbGluZS1zcGFjaW5nLWlubGluZS1zdGFydCkgKyAyMHB4KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZbZGF0YS1sYXlvdXQ9XCJidWJibGVcIl0ge1xuICAgICAgICAvKiBPdGhlciBoYWxmIG9mIHRoZSBndXR0ZXIgaXMgcHJvdmlkZWQgYnkgbWFyZ2luLWJvdHRvbSBvbiB0aGUgbGFzdCB0aWxlXG4gICAgICAgIG9mIHRoZSBzZWN0aW9uICovXG4gICAgICAgIG1hcmdpbi10b3A6IGNhbGModmFyKC0tZ3V0dGVyU2l6ZSkgLyAyKTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IHZhcigtLUV2ZW50VGlsZV9idWJibGUtbWFyZ2luLWlubGluZS1zdGFydCk7XG5cbiAgICAgICAgLyogUmVzZXQgZGVmYXVsdCB2YWx1ZXMuIFRPRE86IHJlbW92ZSAqL1xuICAgICAgICBtYXgtd2lkdGg6IHVuc2V0O1xuICAgICAgICBwYWRkaW5nLXRvcDogMDtcblxuICAgICAgICAubXhfRXZlbnRUaWxlX21zZ09wdGlvbiB7XG4gICAgICAgICAgICAubXhfUmVhZFJlY2VpcHRHcm91cCB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIGluc2V0LWJsb2NrLXN0YXJ0OiBhdXRvO1xuXG4gICAgICAgICAgICAgICAgLyogYXMgY2xvc2UgdG8gcmlnaHQgZ3V0dGVyIHdpdGhvdXQgY2xpcHBpbmcgYXMgcG9zc2libGUgKi9cbiAgICAgICAgICAgICAgICBpbnNldC1pbmxpbmUtZW5kOiBjYWxjKC0xICogdmFyKC0tUmVhZFJlY2VpcHRHcm91cF9FdmVudEJ1YmJsZVRpbGUtc3BhY2luZy1lbmQpKTtcblxuICAgICAgICAgICAgICAgIC8qIChFdmVudFRpbGVMaW5lLmxpbmUtaGVpZ2h0IC0gUmVhZFJlY2VpcHRHcm91cC5oZWlnaHQpIC8gMiAqL1xuICAgICAgICAgICAgICAgIC8qIHRoaXMgY2VudGVycyB0aGUgUmVhZFJlY2VpcHRHcm91cCBpZiB3ZeKAmXZlIGdvdCBhIHNpbmdsZSBsaW5lICovXG4gICAgICAgICAgICAgICAgaW5zZXQtYmxvY2stZW5kOiBjYWxjKCgkZm9udC0xOHB4IC0gMjRweCkgLyAyKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAubXhfRXZlbnRUaWxlQnViYmxlIHtcbiAgICAgICAgICAgIC8qIFRpbWVzdGFtcHMgYXJlIGluc2lkZSB0aGUgdGlsZSwgc28gdGhlIHdpZHRoIGNhbiBiZSBsZXNzIGNvbnN0cmFpbmVkICovXG4gICAgICAgICAgICBtYXgtd2lkdGg6IDYwMHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgJi5teF9FdmVudFRpbGVfY29udGludWF0aW9uIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDJweDtcbiAgICAgICAgfVxuICAgICAgICAmLm14X0V2ZW50VGlsZV9sYXN0SW5TZWN0aW9uIHtcbiAgICAgICAgICAgIC8qIE90aGVyIGhhbGYgb2YgdGhlIGd1dHRlciBpcyBwcm92aWRlZCBieSBtYXJnaW4tdG9wIG9uIHRoZSBmaXJzdFxuICAgICAgICAgICAgdGlsZSBvZiB0aGUgc2VjdGlvbiAqL1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogY2FsYyh2YXIoLS1ndXR0ZXJTaXplKSAvIDIpO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4ubXhfR2VuZXJpY0V2ZW50TGlzdFN1bW1hcnkge1xuICAgICZbZGF0YS1sYXlvdXQ9XCJpcmNcIl0sXG4gICAgJltkYXRhLWxheW91dD1cImdyb3VwXCJdIHtcbiAgICAgICAgLm14X0V2ZW50VGlsZV9saW5lIC5teF9SZWRhY3RlZEJvZHkge1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE7IC8qIHJlbW92ZSBzcGFjaW5nIGJldHdlZW4gbGluZXMgKi9cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZbZGF0YS1sYXlvdXQ9XCJpcmNcIl0ge1xuICAgICAgICAvKiBBcHBseSBvbmx5IGNvbGxhcHNlZCBldmVudHMgYmxvY2sgKi9cbiAgICAgICAgPiAubXhfRXZlbnRUaWxlX2xpbmUge1xuICAgICAgICAgICAgLyogYWRkIC0tcmlnaHQtcGFkZGluZyB2YWx1ZSBvZiBNZXNzYWdlVGltZXN0YW1wIGFuZCBhdmF0YXIgb25seSAqL1xuICAgICAgICAgICAgLyogc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIGRlY2xhcmF0aW9uLWNvbG9uLXNwYWNlLWFmdGVyICovXG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IGNhbGMoXG4gICAgICAgICAgICAgICAgdmFyKC0tbmFtZS13aWR0aCkgKyB2YXIoLS1pY29uLXdpZHRoKSArIHZhcigtLU1lc3NhZ2VUaW1lc3RhbXAtd2lkdGgpICsgMiAqIHZhcigtLXJpZ2h0LXBhZGRpbmcpXG4gICAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJltkYXRhLWxheW91dD1cImdyb3VwXCJdIHtcbiAgICAgICAgLm14X0V2ZW50VGlsZV9saW5lIHtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogJGxlZnQtZ3V0dGVyO1xuICAgICAgICB9XG5cbiAgICAgICAgLm14X0dlbmVyaWNFdmVudExpc3RTdW1tYXJ5X3Vuc3R5bGVkTGlzdCA+IC5teF9FdmVudFRpbGVfaW5mbyAubXhfRXZlbnRUaWxlX2F2YXRhciB+IC5teF9FdmVudFRpbGVfbGluZSB7XG4gICAgICAgICAgICAvKiBvdmVycmlkZSBwYWRkaW5nLWxlZnQgJGxlZnQtZ3V0dGVyICovXG4gICAgICAgICAgICBwYWRkaW5nLWlubGluZS1zdGFydDogY2FsYyh2YXIoLS1FdmVudFRpbGVfZ3JvdXBfbGluZS1zcGFjaW5nLWlubGluZS1zdGFydCkgKyAyMHB4KTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLm14X0V2ZW50VGlsZV9jb250ZW50IHtcbiAgICAvKlxuICAgIGFsbCB0aGUgb3ZlcmZsb3cteTogaGlkZGVuOyBhcmUgdG8gdHJhcCBaYWxnb3MgLVxuICAgIGJ1dCB0aGV5IGludHJvZHVjZSBhbiBpbXBsaWNpdCBvdmVyZmxvdy14OiBhdXRvLlxuICAgIHNvIG1ha2UgdGhhdCBleHBsaWNpdGx5IGhpZGRlbiB0b28gdG8gYXZvaWQgcmFuZG9tXG4gICAgaG9yaXpvbnRhbCBzY3JvbGxiYXJzIG9jY2FzaW9uYWxseSBhcHBlYXJpbmcsIGxpa2UgaW5cbiAgICBodHRwczovL2dpdGh1Yi5jb20vdmVjdG9yLWltL3ZlY3Rvci13ZWIvaXNzdWVzLzExNTRcbiAgICAqL1xuICAgIG92ZXJmbG93LXk6IGhpZGRlbjtcbiAgICBvdmVyZmxvdy14OiBoaWRkZW47XG4gICAgbWFyZ2luLXJpZ2h0OiB2YXIoLS1FdmVudFRpbGVfY29udGVudC1tYXJnaW4taW5saW5lLWVuZCk7XG5cbiAgICAubXhfRXZlbnRUaWxlX2VkaXRlZCxcbiAgICAubXhfRXZlbnRUaWxlX3BlbmRpbmdNb2RlcmF0aW9uIHtcbiAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtMTJweDtcbiAgICAgICAgY29sb3I6ICRzZWNvbmRhcnktY29udGVudDtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBtYXJnaW4taW5saW5lLXN0YXJ0OiA5cHg7XG4gICAgfVxuXG4gICAgLm14X0V2ZW50VGlsZV9lZGl0ZWQge1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgfVxuXG4gICAgLm1hcmtkb3duLWJvZHkge1xuICAgICAgICBmb250OiB2YXIoLS1jcGQtZm9udC1ib2R5LW1kLXJlZ3VsYXIpICFpbXBvcnRhbnQ7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiB2YXIoLS1jcGQtZm9udC1sZXR0ZXItc3BhY2luZy1ib2R5LW1kKTtcbiAgICAgICAgZm9udC1mYW1pbHk6IGluaGVyaXQgIWltcG9ydGFudDtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vcm1hbCAhaW1wb3J0YW50O1xuICAgICAgICBsaW5lLWhlaWdodDogaW5oZXJpdCAhaW1wb3J0YW50O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBpbmhlcml0O1xuICAgICAgICBjb2xvcjogaW5oZXJpdDsgLyogaW5oZXJpdCB0aGUgY29sb3VyIGZyb20gdGhlIGRhcmsgb3IgbGlnaHQgdGhlbWUgYnkgZGVmYXVsdCAoYnV0IG5vdCBmb3IgY29kZSBibG9ja3MpICovXG5cbiAgICAgICAgcHJlLFxuICAgICAgICBjb2RlIHtcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkbW9ub3NwYWNlLWZvbnQtZmFtaWx5ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc3lzdGVtO1xuICAgICAgICB9XG5cbiAgICAgICAgY29kZTpub3QocHJlICopIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRpbmxpbmVjb2RlLWJhY2tncm91bmQtY29sb3I7XG4gICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkaW5saW5lY29kZS1ib3JkZXItY29sb3I7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgICAgICAgICAvKiBUaGUgaG9yaXpvbnRhbCBwYWRkaW5nIGlzIGFkZGVkIGJ5IGdpdGh1Yi1tYXJrZG93bi1jc3MgLm1hcmtkb3duLWJvZHkgKi9cbiAgICAgICAgICAgIHBhZGRpbmc6ICRzcGFjaW5nLTIgMDtcbiAgICAgICAgICAgIC8qIEF2b2lkIGlubGluZSBjb2RlIGJsb2NrcyB0byBiZSBzdGlja2VkIHdoZW4gb24gbXVsdGlwbGUgbGluZXMgKi9cbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAkZm9udC0yMnB4O1xuICAgICAgICAgICAgLyogQXZvaWQgdGhlIGJvcmRlciB0byBiZSBnbHVlZCB0byB0aGUgb3RoZXIgd29yZHMgKi9cbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogJHNwYWNpbmctMjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvZGUge1xuICAgICAgICAgICAgd2hpdGUtc3BhY2U6IHByZS13cmFwOyAvKiBkb24ndCBjb2xsYXBzZSBzcGFjZXMgaW4gaW5saW5lIGNvZGUgYmxvY2tzICovXG4gICAgICAgIH1cblxuICAgICAgICBwcmUge1xuICAgICAgICAgICAgLyogaGF2ZSB0byB1c2Ugb3ZlcmxheSByYXRoZXIgdGhhbiBhdXRvIG90aGVyd2lzZSBMaW51eCBhbmQgV2luZG93cyAqL1xuICAgICAgICAgICAgLyogQ2hyb21lIGdldHMgdmVyeSBjb25mdXNlZCBhYm91dCB2ZXJ0aWNhbCBzcGFjaW5nOiAqL1xuICAgICAgICAgICAgLyogaHR0cHM6Ly9naXRodWIuY29tL3ZlY3Rvci1pbS92ZWN0b3Itd2ViL2lzc3Vlcy83NTQgKi9cbiAgICAgICAgICAgIG92ZXJmbG93LXg6IG92ZXJsYXk7XG4gICAgICAgICAgICBvdmVyZmxvdy15OiB2aXNpYmxlO1xuXG4gICAgICAgICAgICAmOjotd2Via2l0LXNjcm9sbGJhci1jb3JuZXIge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkcXVpbmFyeS1jb250ZW50O1xuXG4gICAgICAgICAgICBjb2RlIHtcbiAgICAgICAgICAgICAgICB3aGl0ZS1zcGFjZTogcHJlOyAvKiB3ZSB3YW50IGNvZGUgYmxvY2tzIHRvIGJlIHNjcm9sbGFibGUgYW5kIG5vdCB3cmFwICovXG5cbiAgICAgICAgICAgICAgICA+ICoge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgaDEsXG4gICAgICAgIGgyLFxuICAgICAgICBoMyxcbiAgICAgICAgaDQsXG4gICAgICAgIGg1LFxuICAgICAgICBoNiB7XG4gICAgICAgICAgICBmb250LWZhbWlseTogaW5oZXJpdCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICAgIH1cblxuICAgICAgICAvKiBNYWtlIGgxIGFuZCBoMiB0aGUgc2FtZSBzaXplIGFzIGgzLiAqL1xuICAgICAgICBoMSxcbiAgICAgICAgaDIge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxLjVlbTtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IG5vbmUgIWltcG9ydGFudDsgLyogb3ZlcnJpZGUgR0ZNICovXG4gICAgICAgIH1cblxuICAgICAgICBhIHtcbiAgICAgICAgICAgIGNvbG9yOiAkYWNjZW50LWFsdDtcbiAgICAgICAgfVxuXG4gICAgICAgIGJsb2NrcXVvdGUge1xuICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IDJweCBzb2xpZCAkYmxvY2txdW90ZS1iYXItY29sb3I7XG4gICAgICAgICAgICBjb2xvcjogJHNlY29uZGFyeS1jb250ZW50O1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMnB4O1xuICAgICAgICAgICAgcGFkZGluZzogMCAxMHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLypcbiAgICAgICAgLy8gYWN0dWFsbHksIHJlbW92aW5nIHRoZSBJdGFsaWMgVFRGIHByb3ZpZGVzXG4gICAgICAgIC8vIGJldHRlciByZXN1bHRzIHNlZW1pbmdseVxuXG4gICAgICAgIC8vIGNvbXBlbnNhdGUgZm9yIE51bml0byBpdGFsaWNzIGJlaW5nIHRlcnJpYmxlXG4gICAgICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9nb29nbGUvZm9udHMvaXNzdWVzLzE3MjZcbiAgICAgICAgZW0ge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiBza2V3WCgtMTRkZWcpO1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB9XG4gICAgICAgICovXG5cbiAgICAgICAgLyogT3ZlcnJpZGUgbmVzdGVkIGxpc3RzIGJlaW5nIGxvd2VyLXJvbWFuICovXG4gICAgICAgIG9sIG9sLFxuICAgICAgICB1bCBvbCB7XG4gICAgICAgICAgICBsaXN0LXN0eWxlLXR5cGU6IHJldmVydDtcbiAgICAgICAgfVxuXG4gICAgICAgIC8qIE1ha2UgbGlzdCB0eXBlIGRpc2MgdG8gbWF0Y2ggcmljaCB0ZXh0IGVkaXRvciAqL1xuICAgICAgICB1bCB7XG4gICAgICAgICAgICBsaXN0LXN0eWxlLXR5cGU6IGRpc2M7XG4gICAgICAgIH1cblxuICAgICAgICAvKiBvdmVycmlkZSBzdHlsZXMgZnJvbSB0aGUgYmFzZSBtYXJrZG93biBDU1MgdGhhdCBwdXQgbWFya2Rvd24gY29udGVudCBvbiBpdHMgb3duIGxpbmUsXG4gICAgICAgICAgIGFzIHRoaXMgaXNuJ3Qgd2hhdCB3ZSB3YW50IGZvciByaWNodGV4dCBlbW90ZSBjb250ZW50LlxuICAgICAgICAgKi9cbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vKiBTcG9pbGVyIHN0dWZmICovXG4ubXhfRXZlbnRUaWxlX3Nwb2lsZXIge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgIC8qIGNsZWFyIGJ1dHRvbiBzdHlsZXMgKi9cbiAgICBhcHBlYXJhbmNlOiBub25lO1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luOiAwO1xuICAgIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgICB0ZXh0LWFsaWduOiBpbmhlcml0O1xuXG4gICAgLm14X0V2ZW50VGlsZV9zcG9pbGVyX3JlYXNvbiB7XG4gICAgICAgIGNvbG9yOiAkZXZlbnQtdGltZXN0YW1wLWNvbG9yO1xuICAgICAgICBmb250LXNpemU6ICRmb250LTExcHg7XG4gICAgfVxuXG4gICAgLm14X0V2ZW50VGlsZV9zcG9pbGVyX2NvbnRlbnQge1xuICAgICAgICBmaWx0ZXI6IGJsdXIoNXB4KSBzYXR1cmF0ZSgwLjEpIHNlcGlhKDEpO1xuICAgICAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjVzO1xuICAgIH1cblxuICAgICYudmlzaWJsZSA+IC5teF9FdmVudFRpbGVfc3BvaWxlcl9jb250ZW50IHtcbiAgICAgICAgZmlsdGVyOiBub25lO1xuICAgICAgICB1c2VyLXNlbGVjdDogYXV0bztcbiAgICB9XG59XG5cbi5teF9FdmVudFRpbGVfYmlnRW1vamkge1xuICAgIGZvbnQtc2l6ZTogNDhweDtcbiAgICBsaW5lLWhlaWdodDogNTdweDtcblxuICAgIC5teF9FbW9qaSB7XG4gICAgICAgIGZvbnQtc2l6ZTogaW5oZXJpdCAhaW1wb3J0YW50O1xuICAgIH1cbn1cblxuLm14X0V2ZW50VGlsZV9lMmVJY29uIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgd2lkdGg6IDE0cHg7XG4gICAgaGVpZ2h0OiAxNHB4O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuXG4gICAgJjo6YmVmb3JlLFxuICAgICY6OmFmdGVyIHtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgaW5zZXQ6IDA7XG4gICAgICAgIG1hc2stcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgIG1hc2stcG9zaXRpb246IGNlbnRlcjtcbiAgICAgICAgbWFzay1zaXplOiBjb250YWluO1xuICAgIH1cblxuICAgICY6OmJlZm9yZSB7XG4gICAgICAgIG1hc2stc2l6ZTogODAlO1xuICAgIH1cblxuICAgICYubXhfRXZlbnRUaWxlX2UyZUljb25fd2FybmluZzo6YWZ0ZXIge1xuICAgICAgICBtYXNrLWltYWdlOiB1cmwoXCIkKHJlcykvaW1nL2UyZS93YXJuaW5nLnN2Z1wiKTsgLyogKCEpIGluIGEgc2hpZWxkICovXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRlMmUtd2FybmluZy1jb2xvcjsgLyogcmVkICovXG4gICAgfVxuXG4gICAgJi5teF9FdmVudFRpbGVfZTJlSWNvbl9ub3JtYWw6OmFmdGVyIHtcbiAgICAgICAgbWFzay1pbWFnZTogdXJsKFwiJChyZXMpL2ltZy9lMmUvbm9ybWFsLnN2Z1wiKTsgLyogcmVndWxhciBzaGllbGQgKi9cbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY3BkLWNvbG9yLWljb24tdGVydGlhcnkpOyAvKiBncmV5ICovXG4gICAgfVxuXG4gICAgJi5teF9FdmVudFRpbGVfZTJlSWNvbl9kZWNyeXB0aW9uX2ZhaWx1cmU6OmFmdGVyIHtcbiAgICAgICAgbWFzay1pbWFnZTogdXJsKFwiJChyZXMpL2ltZy9lMmUvZGVjcnlwdGlvbi1mYWlsdXJlLnN2Z1wiKTsgLyoga2V5IGluIGEgY2lyY2xlICovXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNwZC1jb2xvci1pY29uLXRlcnRpYXJ5KTtcbiAgICB9XG59XG5cbi5teF9FdmVudFRpbGVfYm9keSB7XG4gICAgYTpob3ZlciB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgIH1cblxuICAgIHByZSB7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuXG4gICAgICAgIC5teF9FdmVudFRpbGU6aG92ZXIgJixcbiAgICAgICAgLm14X0V2ZW50VGlsZTpmb2N1cy12aXNpYmxlOmZvY3VzLXdpdGhpbiAmIHtcbiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICR0ZXJ0aWFyeS1jb250ZW50O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyogc2VsZWN0b3Igd3JvbmdseSBhcHBsaWVzIHRvIHBpbGwgYXZhdGFycyBidXQgdGhvc2UgaGF2ZSBleHBsaWNpdCB3aWR0aC9oZWlnaHQgcGFzc2VkIGF0IGEgaGlnaGVyIHNwZWNpZmljaXR5ICovXG4gICAgJi5tYXJrZG93bi1ib2R5IGltZyB7XG4gICAgICAgIG9iamVjdC1maXQ6IGNvbnRhaW47XG4gICAgICAgIG9iamVjdC1wb3NpdGlvbjogbGVmdCB0b3A7XG5cbiAgICAgICAgLyogT3ZlcnJpZGUgdGhlIGRlZmF1bHQgY29sb3JzIG9mIHRoZSAnZ2l0aHViLW1hcmtkb3duLWNzcycgbGlicmFyeVxuICAgICAgICAoI2ZmZiBmb3IgbGlnaHQgdGhlbWUsICMwMDAgZm9yIGRhcmsgdGhlbWUpIHRvIG1hdGNoIHRoZSBpbmhlcml0ZWQgdGhlbWUgKi9cbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogaW5oZXJpdCAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC5teF9FdmVudFRpbGVfY2xhbXAgJiB7XG4gICAgICAgIC13ZWJraXQtbGluZS1jbGFtcDogMjtcbiAgICAgICAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICAgIH1cblxuICAgIC5teF9FdmVudFRpbGVfcHJlX2NvbnRhaW5lciB7XG4gICAgICAgIC8qIEZvciBjb3JyZWN0IHBvc2l0aW9uaW5nIG9mIF9jb3B5QnV0dG9uIChTZWUgVGV4dHVhbEJvZHkpICovXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAmOmZvY3VzLXdpdGhpbixcbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAubXhfRXZlbnRUaWxlX2J1dHRvbiB7XG4gICAgICAgICAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5teF9FdmVudFRpbGVfY29sbGFwc2VkQ29kZUJsb2NrIHtcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IDMwdmg7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogJHNwYWNpbmctMTI7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogJHNwYWNpbmctMTI7XG4gICAgICAgIH1cblxuICAgICAgICAvKiBJbnNlcnRlZCBhZGphY2VudCB0byA8cHJlPiBibG9ja3MsIChTZWUgVGV4dHVhbEJvZHkpICovXG4gICAgICAgIC5teF9FdmVudFRpbGVfYnV0dG9uIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogJHNwYWNpbmctODtcbiAgICAgICAgICAgIHJpZ2h0OiAkc3BhY2luZy04O1xuICAgICAgICAgICAgd2lkdGg6IDE5cHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDE5cHg7XG4gICAgICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbWVzc2FnZS1hY3Rpb24tYmFyLWZnLWNvbG9yO1xuXG4gICAgICAgICAgICAmLm14X0V2ZW50VGlsZV9idXR0b25Cb3R0b20ge1xuICAgICAgICAgICAgICAgIHRvcDogMzNweDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi5teF9FdmVudFRpbGVfY29sbGFwc2VCdXR0b24sXG4gICAgICAgICAgICAmLm14X0V2ZW50VGlsZV9leHBhbmRCdXR0b24ge1xuICAgICAgICAgICAgICAgIG1hc2stc2l6ZTogNzUlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLm14X0V2ZW50VGlsZV9jb3B5QnV0dG9uIHtcbiAgICAgICAgICAgIGhlaWdodDogMTdweDtcbiAgICAgICAgICAgIG1hc2staW1hZ2U6IHVybCgkY29weS1idXR0b24tdXJsKTtcbiAgICAgICAgICAgIG1hc2stcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG4gICAgICAgICAgICBtYXNrLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgICAgbWFzay1zaXplOiBjb250YWluO1xuICAgICAgICAgICAgcmlnaHQ6IDlweDtcbiAgICAgICAgICAgIHdpZHRoOiAxN3B4O1xuICAgICAgICB9XG4gICAgfVxufVxuXG4ubXhfRXZlbnRUaWxlX2xpbmVOdW1iZXJzIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBtYXJnaW46IDAgMC41ZW0gMCAtMS41ZW07XG4gICAgY29sb3I6IGdyYXk7XG5cbiAgICAmIHNwYW4ge1xuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMWVtO1xuICAgIH1cbn1cblxuLm14X0V2ZW50VGlsZV9idXR0b24ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi5teF9FdmVudFRpbGVfY29sbGFwc2VCdXR0b24sXG4ubXhfRXZlbnRUaWxlX2V4cGFuZEJ1dHRvbiB7XG4gICAgbWFzay1wb3NpdGlvbjogY2VudGVyO1xuICAgIG1hc2stcmVwZWF0OiBuby1yZXBlYXQ7XG59XG5cbi5teF9FdmVudFRpbGVfY29sbGFwc2VCdXR0b24ge1xuICAgIG1hc2staW1hZ2U6IHVybChcIkB2ZWN0b3ItaW0vY29tcG91bmQtZGVzaWduLXRva2Vucy9pY29ucy9jb2xsYXBzZS5zdmdcIik7XG59XG5cbi5teF9FdmVudFRpbGVfZXhwYW5kQnV0dG9uIHtcbiAgICBtYXNrLWltYWdlOiB1cmwoXCJAdmVjdG9yLWltL2NvbXBvdW5kLWRlc2lnbi10b2tlbnMvaWNvbnMvZXhwYW5kLnN2Z1wiKTtcbn1cblxuLm14X0V2ZW50VGlsZV90aWxlRXJyb3Ige1xuICAgIGNvbG9yOiByZWQ7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgLyogUmVtb3ZlIHNvbWUgb2YgdGhlIGRlZmF1bHQgdGlsZSBwYWRkaW5nIHNvIHRoYXQgdGhlIGVycm9yIGlzIGNlbnRlcmVkICovXG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuXG4gICAgLm14X0V2ZW50VGlsZV9saW5lIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG5cbiAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICBwYWRkaW5nOiAkc3BhY2luZy00ICRzcGFjaW5nLTg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBhIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDFlbTtcbiAgICB9XG59XG5cbi5teF9FdmVudFRpbGU6aG92ZXIgLm14X01lc3NhZ2VBY3Rpb25CYXIsXG4ubXhfRXZlbnRUaWxlLm14X0V2ZW50VGlsZV9hY3Rpb25CYXJGb2N1c2VkIC5teF9NZXNzYWdlQWN0aW9uQmFyLFxuW2RhdGEtd2hhdGlucHV0PVwia2V5Ym9hcmRcIl0gLm14X0V2ZW50VGlsZTpmb2N1cy13aXRoaW4gLm14X01lc3NhZ2VBY3Rpb25CYXIsXG4ubXhfRXZlbnRUaWxlOmZvY3VzLXZpc2libGU6Zm9jdXMtd2l0aGluIC5teF9NZXNzYWdlQWN0aW9uQmFyIHtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xufVxuXG4ubXhfRXZlbnRUaWxlW2RhdGEtc2hhcGU9XCJUaHJlYWRzTGlzdFwiXSxcbi5teF9FdmVudFRpbGVbZGF0YS1zaGFwZT1cIk5vdGlmaWNhdGlvblwiXSB7XG4gICAgLS10b3BPZmZzZXQ6ICRzcGFjaW5nLTEyO1xuICAgIC0tbGVmdE9mZnNldDogNDhweDtcbiAgICAkYm9yZGVyUmFkaXVzOiA4cHg7XG4gICAgJHBhZGRpbmc6ICRzcGFjaW5nLTg7XG4gICAgJGhySGVpZ2h0OiAxcHg7XG4gICAgJG5vdGlmaWNhdGlvbi1kb3Qtc2l6ZTogOHB4OyAvKiBub3RpZmljYXRpb24gZG90IG5leHQgdG8gdGhlIHRpbWVzdGFtcCAqL1xuXG4gICAgbWFyZ2luOiBjYWxjKHZhcigtLXRvcE9mZnNldCkgKyAkaHJIZWlnaHQpIDAgdmFyKC0tdG9wT2Zmc2V0KTsgLyogaW5jbHVkZSB0aGUgaGVpZ2h0IG9mIGhvcml6b250YWwgbGluZSAqL1xuICAgIHBhZGRpbmc6ICRwYWRkaW5nO1xuICAgIGJvcmRlci1yYWRpdXM6ICRib3JkZXJSYWRpdXM7XG5cbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZmxvdzogd3JhcDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gICAgJjo6YWZ0ZXIsXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIH1cblxuICAgICY6OmFmdGVyIHtcbiAgICAgICAgJGluc2V0LWJsb2NrLXN0YXJ0OiBhdXRvO1xuICAgICAgICAkaW5zZXQtaW5saW5lLWVuZDogY2FsYygtMSAqIHZhcigtLWNwZC1zcGFjZS0yeCkpO1xuICAgICAgICAkaW5zZXQtYmxvY2stZW5kOiBjYWxjKC0xICogdmFyKC0tdG9wT2Zmc2V0KSAtICRockhlaWdodCk7IC8qIGV4Y2x1ZGUgdGhlIGhlaWdodCBvZiBob3Jpem9udGFsIGxpbmUgKi9cbiAgICAgICAgJGluc2V0LWlubGluZS1zdGFydDogY2FsYyh2YXIoLS1sZWZ0T2Zmc2V0KSArICRwYWRkaW5nKTtcbiAgICAgICAgaW5zZXQ6ICRpbnNldC1ibG9jay1zdGFydCAkaW5zZXQtaW5saW5lLWVuZCAkaW5zZXQtYmxvY2stZW5kICRpbnNldC1pbmxpbmUtc3RhcnQ7XG5cbiAgICAgICAgaGVpZ2h0OiAkaHJIZWlnaHQ7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRxdWluYXJ5LWNvbnRlbnQ7XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lOyAvKiBkaXNhYmxlIHRoZSBtZXNzYWdlIGFjdGlvbiBiYXIgb24gaG92ZXIgKi9cbiAgICB9XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgICBpbnNldDogMDtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7IC8qIGVuc3VyZXMgdGhlIHRpdGxlIGZvciB0aGUgc2VuZGVyIG5hbWUgY2FuIGJlIGNvcnJlY3RseSBkaXNwbGF5ZWQgKi9cbiAgICB9XG5cbiAgICAmW2RhdGEtbm90aWZpY2F0aW9uPVwidG90YWxcIl06OmJlZm9yZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRyb29tLWljb24tdW5yZWFkLWNvbG9yO1xuICAgIH1cblxuICAgICZbZGF0YS1ub3RpZmljYXRpb249XCJoaWdobGlnaHRcIl06OmJlZm9yZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRhbGVydDtcbiAgICB9XG5cbiAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICBjb250ZW50OiB1bnNldDtcbiAgICAgICAgfVxuXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuXG4gICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgfVxuXG4gICAgLm14X0V2ZW50VGlsZV9hdmF0YXIge1xuICAgICAgICBpbnNldDogJHBhZGRpbmcgYXV0byBhdXRvICRwYWRkaW5nO1xuICAgIH1cblxuICAgIC5teF9FdmVudFRpbGVfZGV0YWlscyB7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgfVxuXG4gICAgLm14X0Rpc2FtYmlndWF0ZWRQcm9maWxlIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGZsZXg6IDE7XG5cbiAgICAgICAgLm14X0Rpc2FtYmlndWF0ZWRQcm9maWxlX2Rpc3BsYXlOYW1lLFxuICAgICAgICAubXhfRGlzYW1iaWd1YXRlZFByb2ZpbGVfbXhpZCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICAgICAgfVxuXG4gICAgICAgIC5teF9EaXNhbWJpZ3VhdGVkUHJvZmlsZV9kaXNwbGF5TmFtZSB7XG4gICAgICAgICAgICBmbGV4OiBub25lO1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICB9XG5cbiAgICAgICAgLm14X0Rpc2FtYmlndWF0ZWRQcm9maWxlX214aWQge1xuICAgICAgICAgICAgZmxleDogMTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5teF9FdmVudFRpbGVfbGluZSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICAgICAgcGFkZGluZy1pbmxpbmUtc3RhcnQ6IHZhcigtLWxlZnRPZmZzZXQpO1xuICAgIH1cblxuICAgIC5teF9NZXNzYWdlVGltZXN0YW1wIHtcbiAgICAgICAgZm9udC1zaXplOiAkZm9udC0xMnB4O1xuICAgICAgICB3aWR0aDogdW5zZXQ7IC8qIENhbmNlbCB0aGUgZGVmYXVsdCB3aWR0aCAqL1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuOyAvKiBlbnN1cmUgY29ycmVjdCBvdmVyZmxvdyBiZWhhdmlvciAqL1xuICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICAgICAgcG9zaXRpb246IGluaXRpYWw7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvOyAvKiB0byBlbnN1cmUgaXQncyBlbmQtYWxpZ25lZCBldmVuIGlmIGl0J3MgdGhlIG9ubHkgZWxlbWVudCBvZiBpdHMgcGFyZW50ICovXG4gICAgfVxuXG4gICAgJjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRwYW5lbHM7XG4gICAgfVxuXG4gICAgLyogVGhyZWFkc0xpc3QgaGFzIGFsd2F5cyBncm91cCBsYXlvdXQgKi9cbiAgICAmW2RhdGEtbGF5b3V0PVwiZ3JvdXBcIl06aG92ZXIge1xuICAgICAgICAubXhfRXZlbnRUaWxlX2xpbmUge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogaW5oZXJpdDtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7IC8qIGRvbid0IHNob3cgdGhlIHZlcmlmaWNhdGlvbiBsZWZ0IHN0cm9rZSBpbiB0aGUgdGhyZWFkIGxpc3QgKi9cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLm14X0V2ZW50VGlsZVtkYXRhLXNoYXBlPVwiVGhyZWFkc0xpc3RcIl0ge1xuICAgIC5teF9UaHJlYWRQYW5lbF9yZXBsaWVzIHtcbiAgICAgICAgbWFyZ2luLXRvcDogJHNwYWNpbmctODtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBmb250OiB2YXIoLS1jcGQtZm9udC1ib2R5LXNtLXJlZ3VsYXIpO1xuXG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICBAbWl4aW4gVGhyZWFkU3VtbWFyeUljb247XG4gICAgICAgIH1cblxuICAgICAgICAubXhfVGhyZWFkUGFuZWxfcmVwbGllc19hbW91bnQge1xuICAgICAgICAgICAgQG1peGluIFRocmVhZFJlcGxpZXNBbW91bnQ7XG4gICAgICAgIH1cblxuICAgICAgICAubXhfVGhyZWFkU3VtbWFyeV9jb250ZW50IHtcbiAgICAgICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8qIEZvciBzdHlsZSBydWxlcyBvZiBUaHJlYWRWaWV3LCBzZWUgX1RocmVhZFBhbmVsLnBjc3MgKi9cbi5teF9UaHJlYWRWaWV3IHtcbiAgICAtLVRocmVhZFZpZXdfZ3JvdXBfc3BhY2luZy1zdGFydDogNTZweDsgLyogNTZweDogNjRweCAtIDhweCAocGFkZGluZykgKi9cbiAgICAtLVRocmVhZFZpZXdfZ3JvdXBfc3BhY2luZy1lbmQ6IDhweDsgLyogc2FtZSBhcyBwYWRkaW5nICovXG5cbiAgICAubXhfRXZlbnRUaWxlIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblxuICAgICAgICAubXhfRXZlbnRUaWxlX3Jvb21OYW1lIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICAvKiBoYW5kbGluZyBmb3IgaGlkZGVuIGV2ZW50cyAoZS5nIHJlYWN0aW9ucykgaW4gdGhlIHRocmVhZCB2aWV3ICovXG4gICAgICAgICYubXhfRXZlbnRUaWxlX2luZm8ge1xuICAgICAgICAgICAgLm14X0V2ZW50VGlsZV9hdmF0YXIge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICB0b3A6IDEuNXB4OyAvKiBBbGlnbiB3aXRoIGhpZGRlbiBldmVudCBjb250ZW50ICovXG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxNHB4OyAvKiBhdmF0YXIgaW1nIHNpemUgKi9cbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDE0cHg7IC8qIGF2YXRhciBpbWcgc2l6ZSAqL1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLm14X0V2ZW50VGlsZV9zZWxlY3RlZCAubXhfRXZlbnRUaWxlX2xpbmUsXG4gICAgICAgICAgICAubXhfRXZlbnRUaWxlX2xpbmUge1xuICAgICAgICAgICAgICAgICRsaW5lLWhlaWdodDogJGZvbnQtMTJweDtcblxuICAgICAgICAgICAgICAgIHBhZGRpbmctaW5saW5lLXN0YXJ0OiAwO1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQ7XG5cbiAgICAgICAgICAgICAgICAubXhfRXZlbnRUaWxlX2NvbnRlbnQsXG4gICAgICAgICAgICAgICAgLm14X1JlZGFjdGVkQm9keSB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6ICRsaW5lLWhlaWdodDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICZbZGF0YS1sYXlvdXQ9XCJpcmNcIl0sXG4gICAgICAgICAgICAmW2RhdGEtbGF5b3V0PVwiZ3JvdXBcIl0ge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiAwO1xuXG4gICAgICAgICAgICAgICAgLm14X0V2ZW50VGlsZV9hdmF0YXIge1xuICAgICAgICAgICAgICAgICAgICAvKiAxNHB4OiBhdmF0YXIgd2lkdGgsIDRweDogYWxpZ24gd2l0aCB0ZXh0ICovXG4gICAgICAgICAgICAgICAgICAgIGxlZnQ6IGNhbGModmFyKC0tTWVzc2FnZVRpbWVzdGFtcC13aWR0aCkgKyAxNHB4IC0gNHB4KTtcbiAgICAgICAgICAgICAgICAgICAgei1pbmRleDogOTsgLyogcG9zaXRpb24gYWJvdmUgdGhlIGhvdmVyIHN0eWxpbmcgKi9cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAubXhfTWVzc2FnZVRpbWVzdGFtcCB7XG4gICAgICAgICAgICAgICAgICAgIHRvcDogMnB4OyAvKiBBbGlnbiB3aXRoIGF2YXRhciAqL1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICYubXhfRXZlbnRUaWxlX3NlbGVjdGVkIC5teF9FdmVudFRpbGVfbGluZSxcbiAgICAgICAgICAgICAgICAubXhfRXZlbnRUaWxlX2xpbmUge1xuICAgICAgICAgICAgICAgICAgICAubXhfRXZlbnRUaWxlX2NvbnRlbnQsXG4gICAgICAgICAgICAgICAgICAgIC5teF9SZWRhY3RlZEJvZHkge1xuICAgICAgICAgICAgICAgICAgICAgICAgLyogMTRweDogYXZhdGFyIHdpZHRoLCA2cHg6IDIwcHggLSAxNHB4ICovXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4taW5saW5lLXN0YXJ0OiBjYWxjKDE0cHggKyA2cHgpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmW2RhdGEtbGF5b3V0PVwiYnViYmxlXCJdIHtcbiAgICAgICAgICAgICAgICAubXhfRXZlbnRUaWxlX2F2YXRhciB7XG4gICAgICAgICAgICAgICAgICAgIGluc2V0LWlubGluZS1zdGFydDogMDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmLm14X0V2ZW50VGlsZV9zZWxlY3RlZCAubXhfRXZlbnRUaWxlX2xpbmUsXG4gICAgICAgICAgICAgICAgLm14X0V2ZW50VGlsZV9saW5lIHtcbiAgICAgICAgICAgICAgICAgICAgLm14X0V2ZW50VGlsZV9jb250ZW50LFxuICAgICAgICAgICAgICAgICAgICAubXhfUmVkYWN0ZWRCb2R5IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1pbmxpbmUtc3RhcnQ6IGNhbGModmFyKC0tVGhyZWFkVmlld19ncm91cF9zcGFjaW5nLXN0YXJ0KSArIDE0cHggKyA2cHgpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJltkYXRhLWxheW91dD1cImlyY1wiXSxcbiAgICAgICAgJltkYXRhLWxheW91dD1cImdyb3VwXCJdIHtcbiAgICAgICAgICAgIHBhZGRpbmctYmxvY2stc3RhcnQ6ICRzcGFjaW5nLTE2O1xuXG4gICAgICAgICAgICAubXhfRXZlbnRUaWxlX2xpbmUsXG4gICAgICAgICAgICAubXhfRXZlbnRUaWxlX2Zvb3RlciB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWlubGluZS1lbmQ6IHZhcigtLVRocmVhZFZpZXdfZ3JvdXBfc3BhY2luZy1lbmQpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAubXhfRXZlbnRUaWxlX2xpbmUge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctYmxvY2s6IHZhcigtLUJhc2VDYXJkX0V2ZW50VGlsZV9saW5lLXBhZGRpbmctYmxvY2spO1xuXG4gICAgICAgICAgICAgICAgLyogQWRkIHBhZGRpbmcgdG8gYWxpZ24gbWVzc2FnZSB0ZXh0IHdpdGggc3VtbWFyeSB0ZXh0ICovXG4gICAgICAgICAgICAgICAgLyogU2VlOiAubXhfRXZlbnRUaWxlW2RhdGEtbGF5b3V0PVwiZ3JvdXBcIl0gLm14X0V2ZW50VGlsZV9saW5lICovXG4gICAgICAgICAgICAgICAgcGFkZGluZy1pbmxpbmUtc3RhcnQ6IHZhcigtLVRocmVhZFZpZXdfZ3JvdXBfc3BhY2luZy1zdGFydCk7XG5cbiAgICAgICAgICAgICAgICAubXhfRXZlbnRUaWxlX2NvbnRlbnQge1xuICAgICAgICAgICAgICAgICAgICAmLm14X0VkaXRNZXNzYWdlQ29tcG9zZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1pbmxpbmUtc3RhcnQ6IDA7IC8qIGFsaWduIHN0YXJ0IG9mIGZpcnN0IGxldHRlciB3aXRoIHRoYXQgb2YgdGhlIGV2ZW50IGJvZHkgKi9cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLm14X0V2ZW50VGlsZV9mb290ZXIge1xuICAgICAgICAgICAgICAgIC8qIEFsaWduIHdpdGggbWVzc2FnZSB0ZXh0IGFuZCBzdW1tYXJ5IHRleHQgKi9cbiAgICAgICAgICAgICAgICBtYXJnaW4taW5saW5lLXN0YXJ0OiB2YXIoLS1UaHJlYWRWaWV3X2dyb3VwX3NwYWNpbmctc3RhcnQpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLm14X0V2ZW50VGlsZV9jb250aW51YXRpb24ge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctYmxvY2stc3RhcnQ6IDA7IC8qIENhbmNlbCBwYWRkaW5nLWJsb2NrLXN0YXJ0ICovXG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmW2RhdGEtbGF5b3V0PVwiZ3JvdXBcIl0ge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgICAgIC5teF9FdmVudFRpbGVfc2VuZGVyRGV0YWlscyB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgICAgIGdhcDogJHNwYWNpbmctMTY7IC8qIGdhcCBiZXR3ZWVuIHRoZSBhdmF0YXIgYW5kIHRoZSBzZW5kZXIgSUQgKi9cbiAgICAgICAgICAgICAgICBwYWRkaW5nLWlubGluZS1zdGFydDogJHNwYWNpbmctODtcblxuICAgICAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgICAgICBmbGV4OiAxO1xuICAgICAgICAgICAgICAgICAgICBtaW4td2lkdGg6IHVuc2V0O1xuICAgICAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgICAgICAgICAgICAgICAgICAgLm14X0Rpc2FtYmlndWF0ZWRQcm9maWxlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiA4cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBmbGV4OiAxO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAubXhfTWVzc2FnZVRpbWVzdGFtcCB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlOyAvKiBmb3IgSVJDIGxheW91dCAqL1xuICAgICAgICAgICAgICAgIHRvcDogMnB4OyAvKiBBbGlnbiB3aXRoIG14X0V2ZW50VGlsZV9jb250ZW50ICovXG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmW2RhdGEtbGF5b3V0PVwiYnViYmxlXCJdIHtcbiAgICAgICAgICAgIG1hcmdpbi1pbmxpbmU6IHZhcigtLUJhc2VDYXJkX0V2ZW50VGlsZS1zcGFjaW5nLWlubGluZSk7XG5cbiAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgaW5zZXQtaW5saW5lOiBjYWxjKC0xICogdmFyKC0tQmFzZUNhcmRfRXZlbnRUaWxlLXNwYWNpbmctaW5saW5lKSk7XG4gICAgICAgICAgICAgICAgei1pbmRleDogYXV0bzsgLyogZW5hYmxlIGJhY2tncm91bmQgY29sb3Igb24gaG92ZXIgKi9cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLm14X1JlYWN0aW9uc1JvdyB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyAvKiBkaXNwbGF5IG9uIGhvdmVyICovXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5teF9FdmVudFRpbGVfbGluZS5teF9FdmVudFRpbGVfbWVkaWFMaW5lIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWJsb2NrOiAwO1xuICAgICAgICAgICAgICAgIHBhZGRpbmctaW5saW5lLXN0YXJ0OiAwO1xuICAgICAgICAgICAgICAgIG1heC13aWR0aDogdmFyKC0tRXZlbnRCdWJibGVUaWxlX2xpbmUtbWF4LXdpZHRoKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJltkYXRhLXNlbGY9XCJ0cnVlXCJdIHtcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG5cbiAgICAgICAgICAgICAgICAubXhfRXZlbnRUaWxlX2xpbmUubXhfRXZlbnRUaWxlX21lZGlhTGluZSB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMCB2YXIoLS1FdmVudFRpbGVfYnViYmxlX2xpbmUtbWFyZ2luLWlubGluZS1lbmQpIDAgMDsgLyogYWxpZ24gd2l0aCBub3JtYWwgbWVzc2FnZXMgKi9cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubXhfR2VuZXJpY0V2ZW50TGlzdFN1bW1hcnkge1xuICAgICAgICAmW2RhdGEtbGF5b3V0PVwiaXJjXCJdLFxuICAgICAgICAmW2RhdGEtbGF5b3V0PVwiZ3JvdXBcIl0ge1xuICAgICAgICAgICAgPiAubXhfRXZlbnRUaWxlX2xpbmUge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctaW5saW5lLXN0YXJ0OiB2YXIoLS1UaHJlYWRWaWV3X2dyb3VwX3NwYWNpbmctc3RhcnQpOyAvKiBhbGlnbiBzdW1tYXJ5IHRleHQgd2l0aCBtZXNzYWdlIHRleHQgKi9cbiAgICAgICAgICAgICAgICBwYWRkaW5nLWlubGluZS1lbmQ6IHZhcigtLVRocmVhZFZpZXdfZ3JvdXBfc3BhY2luZy1lbmQpOyAvKiBhbGlnbiBzdW1tYXJ5IHRleHQgd2l0aCBtZXNzYWdlIHRleHQgKi9cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLyogQ2FzY2FkaW5nIC0gY29tcGFjdCBtb2Rlcm4gbGF5b3V0IG9uIHRoZSBtYWluIHRpbWVsaW5lIGFuZCB0aGUgcmlnaHQgcGFuZWwgKi9cbi5teF9NYXRyaXhDaGF0X3VzZUNvbXBhY3RMYXlvdXQge1xuICAgIC5teF9FdmVudFRpbGVbZGF0YS1sYXlvdXQ9XCJncm91cFwiXSB7XG4gICAgICAgIC0tTWF0cml4Q2hhdF91c2VDb21wYWN0TGF5b3V0X2dyb3VwLXBhZGRpbmctdG9wOiAkc3BhY2luZy00O1xuICAgICAgICAtLU1hdHJpeENoYXRfdXNlQ29tcGFjdExheW91dC10b3AtYXZhdGFyOiAycHg7XG4gICAgICAgIC0tTWF0cml4Q2hhdF91c2VDb21wYWN0TGF5b3V0X2xpbmUtc3BhY2luZy1ibG9jazogMHB4O1xuXG4gICAgICAgIHBhZGRpbmctdG9wOiB2YXIoLS1NYXRyaXhDaGF0X3VzZUNvbXBhY3RMYXlvdXRfZ3JvdXAtcGFkZGluZy10b3ApO1xuXG4gICAgICAgIC5teF9FdmVudFRpbGVfbGluZSxcbiAgICAgICAgLm14X0V2ZW50VGlsZV9yZXBseSB7XG4gICAgICAgICAgICBwYWRkaW5nLWJsb2NrOiB2YXIoLS1NYXRyaXhDaGF0X3VzZUNvbXBhY3RMYXlvdXRfbGluZS1zcGFjaW5nLWJsb2NrKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5teF9SZXBseUNoYWluIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206ICRzcGFjaW5nLTQ7XG4gICAgICAgIH1cblxuICAgICAgICAmLm14X0V2ZW50VGlsZV9pbmZvIHtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAwOyAvKiBzYW1lIGFzIHRoZSBwYWRkaW5nIGZvciBub24tY29tcGFjdCAubXhfRXZlbnRUaWxlLm14X0V2ZW50VGlsZV9pbmZvICovXG4gICAgICAgICAgICBmb250LXNpemU6ICRmb250LTEzcHg7XG5cbiAgICAgICAgICAgIC5teF9FdmVudFRpbGVfZTJlSWNvbixcbiAgICAgICAgICAgIC5teF9FdmVudFRpbGVfYXZhdGFyIHtcbiAgICAgICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJsb2NrOiB2YXIoLS1NYXRyaXhDaGF0X3VzZUNvbXBhY3RMYXlvdXRfbGluZS1zcGFjaW5nLWJsb2NrKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLm14X0V2ZW50VGlsZV9saW5lLFxuICAgICAgICAgICAgLm14X0V2ZW50VGlsZV9yZXBseSB7XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6ICRmb250LTIwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLm14X0V2ZW50VGlsZV9lbW90ZSB7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogJHNwYWNpbmctODsgLyogYWRkIGEgYml0IG1vcmUgc3BhY2UgZm9yIGVtb3RlcyBzbyB0aGF0IGF2YXRhcnMgZG9uJ3QgY29sbGlkZSAqL1xuXG4gICAgICAgICAgICAubXhfRXZlbnRUaWxlX2F2YXRhciB7XG4gICAgICAgICAgICAgICAgdG9wOiB2YXIoLS1NYXRyaXhDaGF0X3VzZUNvbXBhY3RMYXlvdXQtdG9wLWF2YXRhcik7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5teF9FdmVudFRpbGVfbGluZSxcbiAgICAgICAgICAgIC5teF9FdmVudFRpbGVfcmVwbHkge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAxcHg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYubXhfRXZlbnRUaWxlX2NvbnRpbnVhdGlvbiB7XG4gICAgICAgICAgICAgICAgLm14X0V2ZW50VGlsZV9saW5lLFxuICAgICAgICAgICAgICAgIC5teF9FdmVudFRpbGVfcmVwbHkge1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogdmFyKC0tTWF0cml4Q2hhdF91c2VDb21wYWN0TGF5b3V0X2xpbmUtc3BhY2luZy1ibG9jayk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLyogQ2FzY2FkaW5nIC0gYXBwbHkgemVybyBwYWRkaW5nIHRvIGV2ZXJ5IGVsZW1lbnQgaW5jbHVkaW5nIG14X0V2ZW50VGlsZV9lbW90ZSAqL1xuICAgICAgICAmLm14X0V2ZW50VGlsZV9jb250aW51YXRpb24ge1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IHZhcigtLU1hdHJpeENoYXRfdXNlQ29tcGFjdExheW91dF9saW5lLXNwYWNpbmctYmxvY2spO1xuICAgICAgICB9XG5cbiAgICAgICAgLm14X0V2ZW50VGlsZV9hdmF0YXIge1xuICAgICAgICAgICAgdG9wOiB2YXIoLS1NYXRyaXhDaGF0X3VzZUNvbXBhY3RMYXlvdXQtdG9wLWF2YXRhcik7XG4gICAgICAgIH1cblxuICAgICAgICAubXhfRXZlbnRUaWxlX2UyZUljb24ge1xuICAgICAgICAgICAgbWFyZ2luOiAwcHg7XG4gICAgICAgIH1cblxuICAgICAgICAubXhfRGlzYW1iaWd1YXRlZFByb2ZpbGUge1xuICAgICAgICAgICAgZm9udC1zaXplOiAkZm9udC0xM3B4O1xuICAgICAgICB9XG5cbiAgICAgICAgLm14X0V2ZW50VGlsZV9tc2dPcHRpb24ge1xuICAgICAgICAgICAgLm14X1JlYWRSZWNlaXB0R3JvdXAge1xuICAgICAgICAgICAgICAgIC8qIFRoaXMgYWxpZ25zIHRoZSBhdmF0YXIgd2l0aCB0aGUgbGFzdCBsaW5lIG9mIHRoZSAqL1xuICAgICAgICAgICAgICAgIC8qIG1lc3NhZ2UuIFdlIHdhbnQgdG8gbW92ZSBpdCBvbmUgbGluZSB1cCAtIDJyZW0gKi9cbiAgICAgICAgICAgICAgICBpbnNldC1ibG9jay1zdGFydDogLTJyZW07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAubXhfRXZlbnRUaWxlX2NvbnRlbnQgLm1hcmtkb3duLWJvZHkge1xuICAgICAgICAgICAgcCxcbiAgICAgICAgICAgIHVsLFxuICAgICAgICAgICAgb2wsXG4gICAgICAgICAgICBkbCxcbiAgICAgICAgICAgIGJsb2NrcXVvdGUsXG4gICAgICAgICAgICBwcmUsXG4gICAgICAgICAgICB0YWJsZSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogJHNwYWNpbmctNDsgLyogMS80IG9mIHRoZSBub24tY29tcGFjdCBtYXJnaW4tYm90dG9tICovXG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5teF9FdmVudFRpbGVfZGV0YWlscyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICB3aWR0aDogc3RyZXRjaDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBnYXA6ICRzcGFjaW5nLTg7XG4gICAgbWFyZ2luLWxlZnQ6IHZhcigtLWxlZnRPZmZzZXQpO1xuICAgIC5teF9FdmVudFRpbGVfdHJ1bmNhdGVkIHtcbiAgICAgICAgZmxleDogMTtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgfVxufVxuXG4ubXhfRXZlbnRUaWxlX2Fubm90YXRlZCB7XG4gICAgZGlzcGxheTogZmxleDtcbn1cblxuLm14X0V2ZW50VGlsZV9mb290ZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZ2FwOiB2YXIoLS1jcGQtc3BhY2UtMngpO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbi8qIE1lZGlhIHF1ZXJ5IGZvciBtb2JpbGUgVUkgKi9cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDgwcHgpIHtcbiAgICAubXhfRXZlbnRUaWxlX2NvbnRlbnQge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgfVxufVxuIiwiLypcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxuQ29weXJpZ2h0IDIwMjEgUm9iaW4gVG93bnNlbmQgPHJvYmluQHJvYmluLnRvd24+XG5cblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cbiovXG5cbi5teF9FdmVudFRpbGVCdWJibGUubXhfSGlzdG9yeVRpbGUge1xuICAgIG1hcmdpbjogdmFyKC0tRXZlbnRUaWxlQnViYmxlX21hcmdpbi1ibG9jaykgYXV0bztcblxuICAgICY6OmJlZm9yZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRoZWFkZXItcGFuZWwtdGV4dC1wcmltYXJ5LWNvbG9yO1xuICAgICAgICBtYXNrLWltYWdlOiB1cmwoXCIkKHJlcykvaW1nL2VsZW1lbnQtaWNvbnMvaGlkZS5zdmdcIik7XG4gICAgfVxufVxuIiwiLypcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxuQ29weXJpZ2h0IDIwMjAgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cblxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuKi9cblxuOnJvb3Qge1xuICAgIC0taXJjLWxpbmUtaGVpZ2h0OiAkZm9udC0xOHB4O1xufVxuXG4ubXhfSVJDTGF5b3V0IHtcbiAgICAtLW5hbWUtd2lkdGg6IDgwcHg7IC8qIGNmLiBpcmNEaXNwbGF5TmFtZVdpZHRoIG9uIFNldHRpbmdzLnRzeCAqL1xuICAgIC0taWNvbi13aWR0aDogMTRweDtcbiAgICAtLWxpbmUtaGVpZ2h0OiB2YXIoLS1pcmMtbGluZS1oZWlnaHQpO1xuICAgIC0tcmlnaHQtcGFkZGluZzogNXB4O1xuXG4gICAgbGluZS1oZWlnaHQ6IHZhcigtLWxpbmUtaGVpZ2h0KSAhaW1wb3J0YW50O1xuXG4gICAgYmxvY2txdW90ZSB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICB9XG5cbiAgICAubXhfTmV3Um9vbUludHJvIHtcbiAgICAgICAgPiBoMiB7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogaW5pdGlhbDsgLyogQ2FuY2VsIHZhcigtLWlyYy1saW5lLWhlaWdodCkgKi9cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5teF9SZXBseUNoYWluIHtcbiAgICAgICAgLm14X0Rpc2FtYmlndWF0ZWRQcm9maWxlIHtcbiAgICAgICAgICAgIHdpZHRoOiB1bnNldDtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgb3JkZXI6IHVuc2V0O1xuICAgICAgICAgICAgZmxleC1zaHJpbms6IHVuc2V0OyAvKiBVbnNldCBmbGV4LXNocmluayB0byBwcmV2ZW50IGxvbmcgZGlzcGxheSBuYW1lIGJsb3dvdXQgKi9cbiAgICAgICAgfVxuXG4gICAgICAgIC5teF9FdmVudFRpbGVfZW1vdGUge1xuICAgICAgICAgICAgPiAubXhfRXZlbnRUaWxlX2F2YXRhciB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IGluaXRpYWw7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAubXhfTWVzc2FnZVRpbWVzdGFtcCB7XG4gICAgICAgICAgICB3aWR0aDogaW5pdGlhbDtcbiAgICAgICAgfVxuXG4gICAgICAgIC8qKlxuICAgICAgICAgKiBhZGRpbmcgdGhlIGljb24gYmFjayBpbiB0aGUgZG9jdW1lbnQgZmxvd1xuICAgICAgICAgKiBpZiBpdCdzIG5vdCBwcmVzZW50LCB0aGVyZSdzIG5vIHVud2FudGVkIHdhc3RlZCBzcGFjZVxuICAgICAgICAgKi9cbiAgICAgICAgLm14X0V2ZW50VGlsZV9lMmVJY29uIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIG9yZGVyOiAtMTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5teF9Qcm9maWxlUmVzaXplciB7XG4gICAgICAgIC0tcmVzaXplci13aWR0aDogMTVweDtcbiAgICAgICAgLS1yZXNpemVyLWExMXk6IDNweDsgLyogTWFnaWMgbnVtYmVyLCB0byBiZSByZXBsYWNlZCB3aXRoIHNvbWV0aGluZyBtb3JlIHByb3BlciBmcm9tIHRoZSBwZXJzcGVjdGl2ZSBvZiBhMTF5ICovXG5cbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIHdpZHRoOiB2YXIoLS1yZXNpemVyLXdpZHRoKTtcbiAgICAgICAgY3Vyc29yOiBjb2wtcmVzaXplO1xuICAgICAgICB6LWluZGV4OiAxMDA7XG5cbiAgICAgICAgLyogQWRkIHdpZHRoIG9mIGV2ZXJ5IGVsZW1lbnQgcmVuZGVyZWQgYmVmb3JlIHRoZSByZXNpemVyIChpbmNsdWRpbmcgcGFkZGluZyBmb3IgdGhlIGF2YXRhciBhbmQgdGhlIGRpc3BsYXlcbiAgICAgICAgICAgbmFtZSksIHN1YnRyYWN0aW5nIHRoZSByZXNpemVyIHdpZHRoIGl0c2VsZiB0byBwcmV2ZW50IHRoZSByZXNpemVyIGZyb20gb3ZlcmxhcHBpbmcgdGhlIHRleHQgYW5kIG1vdmluZ1xuICAgICAgICAgICB0aGUgcmVzaXplciBhIGJpdCB0byB0aGUgbGVmdCB0byBtYWtlIGl0IGVhc2llciB0byBhdm9pZCBzZWxlY3RpbmcgdGhlIHJlc2l6ZXIgd2hlbiBoaWdobGlnaHRpbmcgdGV4dC5cbiAgICAgICAgICAgUGxlYXNlIG5vdGUgdGhhdCBNZXNzYWdlVGltZXN0YW1wIGRvZXMgbm90IGhhdmUgaW5saW5lIHBhZGRpbmcuICovXG4gICAgICAgIGluc2V0LWlubGluZS1zdGFydDogY2FsYyhcbiAgICAgICAgICAgIHZhcigtLVJvb21WaWV3X01lc3NhZ2VMaXN0LXBhZGRpbmcpICsgdmFyKC0tTWVzc2FnZVRpbWVzdGFtcC13aWR0aCkgKyB2YXIoLS1pY29uLXdpZHRoKSArXG4gICAgICAgICAgICAgICAgdmFyKC0tcmlnaHQtcGFkZGluZykgKyB2YXIoLS1uYW1lLXdpZHRoKSArIHZhcigtLXJpZ2h0LXBhZGRpbmcpIC0gdmFyKC0tcmVzaXplci13aWR0aCkgLVxuICAgICAgICAgICAgICAgIHZhcigtLXJlc2l6ZXItYTExeSlcbiAgICAgICAgKTtcbiAgICB9XG59XG4iLCIvKlxuQ29weXJpZ2h0IDIwMTktMjAyNCBOZXcgVmVjdG9yIEx0ZC5cblxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuKi9cblxuLm14X0p1bXBUb0JvdHRvbUJ1dHRvbiB7XG4gICAgei1pbmRleDogMTAwMDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgLyogMTIgYmVjYXVzZSBoZWlnaHQgaXMgNTAgYnV0IGJ1dHRvbiBpcyBvbmx5IDM4ID0gMTIrKDUwLTM4KSA9IDI0ICovXG4gICAgYm90dG9tOiAxMnB4O1xuICAgIHJpZ2h0OiAyNHB4O1xuICAgIHdpZHRoOiAzOHB4O1xuICAgIC8qIGdpdmUgaXQgYSBmaXhlZCBoZWlnaHQgc28gdGhlIGJhZGdlIGRvZXNuJ3QgbWFrZSAqL1xuICAgIC8qIGl0IHRhbGxlciBhbmQgcG9wIHVwd2FyZHMgd2hlbiB2aXNpYmxlICovXG4gICAgaGVpZ2h0OiA1MHB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLm14X0p1bXBUb0JvdHRvbUJ1dHRvbl9iYWRnZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogLTEycHg7XG4gICAgYm9yZGVyLXJhZGl1czogMTZweDtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBmb250LXNpemU6ICRmb250LTEycHg7XG4gICAgbGluZS1oZWlnaHQ6ICRmb250LTE0cHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIC8qIHRvIGJlIGFibGUgdG8gZ2V0IGl0IGNlbnRlcmVkICovXG4gICAgLyogd2l0aCB0ZXh0LWFsaWduIGluIHBhcmVudCAqL1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBwYWRkaW5nOiAwIDRweDtcbiAgICBjb2xvcjogdmFyKC0tY3BkLWNvbG9yLXRleHQtb24tc29saWQtcHJpbWFyeSk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY3BkLWNvbG9yLWljb24tc2Vjb25kYXJ5KTtcbn1cblxuLm14X0p1bXBUb0JvdHRvbUJ1dHRvbl9oaWdobGlnaHQgLm14X0p1bXBUb0JvdHRvbUJ1dHRvbl9iYWRnZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY3BkLWNvbG9yLWljb24tY3JpdGljYWwtcHJpbWFyeSk7XG59XG5cbi5teF9KdW1wVG9Cb3R0b21CdXR0b25fc2Nyb2xsRG93biB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGhlaWdodDogMzhweDtcbiAgICBib3JkZXItcmFkaXVzOiAxOXB4O1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgYmFja2dyb3VuZDogJGJhY2tncm91bmQ7XG4gICAgYm9yZGVyOiAxLjNweCBzb2xpZCB2YXIoLS1jcGQtY29sb3ItaWNvbi10ZXJ0aWFyeSk7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4ubXhfSnVtcFRvQm90dG9tQnV0dG9uX3Njcm9sbERvd246OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgaW5zZXQ6IDA7XG4gICAgbWFzay1pbWFnZTogdXJsKFwiQHZlY3Rvci1pbS9jb21wb3VuZC1kZXNpZ24tdG9rZW5zL2ljb25zL2NoZXZyb24tdXAuc3ZnXCIpO1xuICAgIG1hc2stcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgbWFzay1zaXplOiAyNHB4O1xuICAgIG1hc2stcG9zaXRpb246IGNlbnRlciA2cHg7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jcGQtY29sb3ItaWNvbi10ZXJ0aWFyeSk7XG59XG4iLCIvKlxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXG5Db3B5cmlnaHQgMjAyMSBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxuXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXG4qL1xuXG4ubXhfTGlua1ByZXZpZXdHcm91cCB7XG4gICAgLm14X0xpbmtQcmV2aWV3R3JvdXBfaGlkZSB7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgd2lkdGg6IDE4cHg7XG4gICAgICAgIGhlaWdodDogMThweDtcblxuICAgICAgICBzdmcge1xuICAgICAgICAgICAgZmxleDogMCAwIDQwcHg7XG4gICAgICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmOmhvdmVyIC5teF9MaW5rUHJldmlld0dyb3VwX2hpZGUgc3ZnLFxuICAgIC5teF9MaW5rUHJldmlld0dyb3VwX2hpZGU6Zm9jdXMtdmlzaWJsZTpmb2N1cyBzdmcge1xuICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIH1cblxuICAgID4gLm14X0FjY2Vzc2libGVCdXR0b24ge1xuICAgICAgICBjb2xvcjogJGFjY2VudDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cbn1cbiIsIi8qXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cbkNvcHlyaWdodCAyMDE1LCAyMDE2IE9wZW5NYXJrZXQgTHRkXG5cblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cbiovXG5cbi5teF9MaW5rUHJldmlld1dpZGdldCB7XG4gICAgbWFyZ2luOiAkc3BhY2luZy0xNiAwICRzcGFjaW5nLTE2IGF1dG87XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBjb2x1bW4tZ2FwOiAkc3BhY2luZy00O1xuICAgIGJvcmRlci1pbmxpbmUtc3RhcnQ6IDJweCBzb2xpZCAkcHJldmlldy13aWRnZXQtYmFyLWNvbG9yO1xuICAgIGJvcmRlci1yYWRpdXM6IDJweDtcbiAgICBjb2xvcjogJGluZm8tcGxpbnRoLWZnLWNvbG9yO1xuXG4gICAgLm14X01hdHJpeENoYXRfdXNlQ29tcGFjdExheW91dCAmIHtcbiAgICAgICAgbWFyZ2luLXRvcDogNnB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA2cHg7XG4gICAgfVxuXG4gICAgLyogRXhjbHVkZSBteF9MaW5rUHJldmlld0dyb3VwX2hpZGUgZnJvbSB3cmFwcGluZyAqL1xuICAgIC5teF9MaW5rUHJldmlld1dpZGdldF93cmFwSW1hZ2VDYXB0aW9uIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICByb3ctZ2FwOiAkc3BhY2luZy04O1xuICAgICAgICBmbGV4OiAxO1xuXG4gICAgICAgIC5teF9MaW5rUHJldmlld1dpZGdldF9pbWFnZSxcbiAgICAgICAgLm14X0xpbmtQcmV2aWV3V2lkZ2V0X2NhcHRpb24ge1xuICAgICAgICAgICAgbWFyZ2luLWlubGluZS1zdGFydDogJHNwYWNpbmctMTY7XG4gICAgICAgICAgICBtaW4td2lkdGg6IDA7IC8qIFByZXZlbnQgYmxvd291dCAqL1xuICAgICAgICB9XG5cbiAgICAgICAgLm14X0xpbmtQcmV2aWV3V2lkZ2V0X2ltYWdlIHtcbiAgICAgICAgICAgIGZsZXg6IDAgMCAxMDBweDtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgfVxuXG4gICAgICAgIC5teF9MaW5rUHJldmlld1dpZGdldF9jYXB0aW9uIHtcbiAgICAgICAgICAgIGZsZXg6IDE7XG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuOyAvKiBjYXVzZSBpdCB0byB3cmFwIHJhdGhlciB0aGFuIGNsaXAgKi9cbiAgICAgICAgfVxuXG4gICAgICAgIC5teF9MaW5rUHJldmlld1dpZGdldF90aXRsZSxcbiAgICAgICAgLm14X0xpbmtQcmV2aWV3V2lkZ2V0X2Rlc2NyaXB0aW9uIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICAgICAgICAgICAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcbiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICAgICAgICB9XG5cbiAgICAgICAgLm14X0xpbmtQcmV2aWV3V2lkZ2V0X3RpdGxlIHtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICAgICAgLXdlYmtpdC1saW5lLWNsYW1wOiAyO1xuXG4gICAgICAgICAgICAubXhfTGlua1ByZXZpZXdXaWRnZXRfc2l0ZU5hbWUge1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAubXhfTGlua1ByZXZpZXdXaWRnZXRfZGVzY3JpcHRpb24ge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogJHNwYWNpbmctODtcbiAgICAgICAgICAgIHdvcmQtd3JhcDogYnJlYWstd29yZDtcbiAgICAgICAgICAgIC13ZWJraXQtbGluZS1jbGFtcDogMztcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi8qXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cbkNvcHlyaWdodCAyMDIyIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXG5cblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cbiovXG5cbi5teF9MaXZlQ29udGVudFN1bW1hcnkge1xuICAgIGNvbG9yOiAkc2Vjb25kYXJ5LWNvbnRlbnQ7XG5cbiAgICAubXhfTGl2ZUNvbnRlbnRTdW1tYXJ5X3RleHQge1xuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IHRleHQtYm90dG9tO1xuICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRzZWNvbmRhcnktY29udGVudDtcbiAgICAgICAgICAgIG1hc2stc2l6ZTogMTZweDtcbiAgICAgICAgICAgIHdpZHRoOiAxNnB4O1xuICAgICAgICAgICAgaGVpZ2h0OiAxNnB4O1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiA0cHg7XG4gICAgICAgIH1cblxuICAgICAgICAmLm14X0xpdmVDb250ZW50U3VtbWFyeV90ZXh0X3ZpZGVvOjpiZWZvcmUge1xuICAgICAgICAgICAgbWFzay1pbWFnZTogdXJsKFwiJChyZXMpL2ltZy9lbGVtZW50LWljb25zL2NhbGwvdmlkZW8tY2FsbC5zdmdcIik7XG4gICAgICAgIH1cblxuICAgICAgICAmLm14X0xpdmVDb250ZW50U3VtbWFyeV90ZXh0X2FjdGl2ZSB7XG4gICAgICAgICAgICBjb2xvcjogJGFjY2VudDtcblxuICAgICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYWNjZW50O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm14X0xpdmVDb250ZW50U3VtbWFyeV9wYXJ0aWNpcGFudHM6OmJlZm9yZSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgdmVydGljYWwtYWxpZ246IHRleHQtYm90dG9tO1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2Vjb25kYXJ5LWNvbnRlbnQ7XG4gICAgICAgIG1hc2staW1hZ2U6IHVybChcIiQocmVzKS9pbWcvZWxlbWVudC1pY29ucy9ncm91cC1tZW1iZXJzLnN2Z1wiKTtcbiAgICAgICAgbWFzay1zaXplOiAxNnB4O1xuICAgICAgICB3aWR0aDogMTZweDtcbiAgICAgICAgaGVpZ2h0OiAxNnB4O1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDJweDtcbiAgICB9XG59XG4iLCIvKlxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXG5Db3B5cmlnaHQgMjAxNSwgMjAxNiBPcGVuTWFya2V0IEx0ZFxuXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXG4qL1xuXG4ubXhfTWVtYmVyTGlzdCB7XG4gICAgZmxleDogMTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgbWluLWhlaWdodDogMDtcblxuICAgIC5teF9TcGlubmVyIHtcbiAgICAgICAgZmxleDogMSAwIGF1dG87XG4gICAgfVxuXG4gICAgLm14X1NlYXJjaEJveCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDVweDtcbiAgICB9XG5cbiAgICBoMiB7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIGNvbG9yOiAkaDMtY29sb3I7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1jcGQtZm9udC13ZWlnaHQtc2VtaWJvbGQpO1xuICAgICAgICBmb250LXNpemU6ICRmb250LTEzcHg7XG4gICAgICAgIHBhZGRpbmctbGVmdDogM3B4O1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxMnB4O1xuICAgICAgICBtYXJnaW4tdG9wOiA4cHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDRweDtcbiAgICB9XG5cbiAgICAubXhfQXV0b0hpZGVTY3JvbGxiYXIge1xuICAgICAgICBmbGV4OiAxIDEgMDtcbiAgICAgICAgbWFyZ2luLXRvcDogdmFyKC0tY3BkLXNwYWNlLTN4KTtcbiAgICB9XG59XG5cbi5teF9NZW1iZXJMaXN0X2NoZXZyb24ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogMzVweDtcbiAgICBtYXJnaW4tdG9wOiAtMTVweDtcbn1cblxuLm14X01lbWJlckxpc3RfYm9yZGVyIHtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuXG4gICAgb3JkZXI6IDE7XG4gICAgZmxleDogMSAxIDBweDtcbn1cblxuLm14X01lbWJlckxpc3RfcXVlcnkge1xuICAgIGhlaWdodDogMTZweDtcblxuICAgIC8qIHN0cmljdGVyIHJ1bGUgdG8gb3ZlcnJpZGUgdGhlIG9uZSBpbiBfY29tbW9uLnBjc3MgKi9cbiAgICAmW3R5cGU9XCJ0ZXh0XCJdIHtcbiAgICAgICAgZm9udC1zaXplOiAkZm9udC0xMnB4O1xuICAgIH1cbn1cblxuLm14X01lbWJlckxpc3Rfd3JhcHBlciB7XG4gICAgcGFkZGluZzogMTBweDtcbn1cblxuLm14X01lbWJlckxpc3RfaW52aXRlIHtcbiAgICBtYXJnaW46IDAgdmFyKC0tY3BkLXNwYWNlLTJ4KTtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gdmFyKC0tY3BkLXNwYWNlLTR4KSk7XG59XG4iLCIvKlxuQ29weXJpZ2h0IDIwMTgtMjAyNCBOZXcgVmVjdG9yIEx0ZC5cbkNvcHlyaWdodCAyMDE1LCAyMDE2IE9wZW5NYXJrZXQgTHRkXG5cblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cbiovXG5cbi5teF9NZXNzYWdlQ29tcG9zZXJfd3JhcHBlciB7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICBtYXJnaW46IGF1dG87XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRwcmltYXJ5LWhhaXJsaW5lLWNvbG9yO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nLWxlZnQ6IDQycHg7XG4gICAgcGFkZGluZy1yaWdodDogMTZweDtcbn1cblxuLm14X01lc3NhZ2VDb21wb3Nlcl9yZXBsYWNlZF93cmFwcGVyIHtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG59XG5cbi5teF9NZXNzYWdlQ29tcG9zZXJfcmVwbGFjZWRfdmFsaWduIHtcbiAgICBoZWlnaHQ6IDYwcHg7XG4gICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuXG4ubXhfTWVzc2FnZUNvbXBvc2VyX3Jvb21SZXBsYWNlZF9pY29uIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBtYXJnaW4tcmlnaHQ6IDIwcHg7XG4gICAgbWFyZ2luLXRvcDogNXB4O1xuICAgIHdpZHRoOiAzMXB4O1xuICAgIGhlaWdodDogMzFweDtcbn1cblxuLm14X01lc3NhZ2VDb21wb3Nlcl9yb29tUmVwbGFjZWRfaGVhZGVyIHtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbn1cblxuLm14X01lc3NhZ2VDb21wb3Nlcl9hdXRvY29tcGxldGVfd3JhcHBlciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGhlaWdodDogMDtcbn1cblxuLm14X01lc3NhZ2VDb21wb3Nlcl9yb3cge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHdpZHRoOiAxMDAlO1xufVxuXG4ubXhfTWVzc2FnZUNvbXBvc2VyX2FjdGlvbnMge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IDZweDtcbn1cblxuLm14X01lc3NhZ2VDb21wb3NlciB7XG4gICAgLm14X01lc3NhZ2VDb21wb3Nlcl9hdmF0YXIge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGxlZnQ6IDI2cHg7XG5cbiAgICAgICAgLm14X0Jhc2VBdmF0YXIge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5teF9NZXNzYWdlQ29tcG9zZXJfY29tcG9zZWNvbnRyb2xzIHtcbiAgICB3aWR0aDogMTAwJTtcbn1cbi5teF9NZXNzYWdlQ29tcG9zZXJfZTJlSWNvbldyYXBwZXIge1xuICAgIGhlaWdodDogMTJweDsgLyogTWF0Y2ggdGhlIGhlaWdodCBvZiB0aGUgRTJFIGljb24gZm9yIGFsaWdubWVudCAqL1xufVxuLm14X01lc3NhZ2VDb21wb3Nlcl9lMmVJY29uLm14X0UyRUljb24ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiAyMHB4O1xuICAgIG1hcmdpbi1yaWdodDogMDsgLyogQ291bnRlcmFjdCB0aGUgRTJFSWNvbiBjbGFzcyAqL1xuICAgIG1hcmdpbi1sZWZ0OiAzcHg7IC8qIENvdW50ZXJhY3QgdGhlIEUyRUljb24gY2xhc3MgKi9cbiAgICB3aWR0aDogMTJweDtcbiAgICBoZWlnaHQ6IDEycHg7XG59XG5cbi5teF9NZXNzYWdlQ29tcG9zZXJfbm9wZXJtX2Vycm9yIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDYwcHg7XG4gICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgIGNvbG9yOiAkaW5mby1wbGludGgtZmctY29sb3I7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuXG4ubXhfTWVzc2FnZUNvbXBvc2VyX2lucHV0X3dyYXBwZXIge1xuICAgIGZsZXg6IDE7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGN1cnNvcjogdGV4dDtcbn1cblxuLm14X01lc3NhZ2VDb21wb3Nlcl9pbnB1dCB7XG4gICAgZmxleDogMTtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBtaW4taGVpZ2h0OiA2MHB4O1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICBmb250OiB2YXIoLS1jcGQtZm9udC1ib2R5LW1kLXJlZ3VsYXIpO1xuICAgIG1hcmdpbi1yaWdodDogNnB4O1xuXG4gICAgcHJlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHJ0ZS1jb2RlLWJnLWNvbG9yO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAzcHg7XG4gICAgICAgIHBhZGRpbmc6IDEwcHg7XG4gICAgfVxuXG4gICAgdGV4dGFyZWEge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHBhZGRpbmc6IDBweDtcbiAgICAgICAgbWFyZ2luLXRvcDogNnB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA2cHg7XG4gICAgICAgIGJvcmRlcjogMHB4O1xuICAgICAgICByZXNpemU6IG5vbmU7XG4gICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICAgIGNvbG9yOiAkcHJpbWFyeS1jb250ZW50O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcbiAgICAgICAgZm9udDogdmFyKC0tY3BkLWZvbnQtYm9keS1tZC1yZWd1bGFyKTtcbiAgICAgICAgbWF4LWhlaWdodDogMTIwcHg7XG4gICAgICAgIG92ZXJmbG93OiBhdXRvO1xuXG4gICAgICAgIC8qIGhhY2sgZm9yIEZGIGFzIHZlcnRpY2FsIGFsaWdubWVudCBvZiBjdXN0b20gcGxhY2Vob2xkZXIgdGV4dCBpcyBicm9rZW4gKi9cbiAgICAgICAgJjo6LW1vei1wbGFjZWhvbGRlciB7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIGNvbG9yOiAkYWNjZW50O1xuICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIge1xuICAgICAgICAgICAgY29sb3I6ICRhY2NlbnQ7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5teF9NZXNzYWdlQ29tcG9zZXJfZWRpdG9yIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXgtaGVpZ2h0OiAxMjBweDtcbiAgICBtaW4taGVpZ2h0OiAxOXB4O1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICAgIHdvcmQtYnJlYWs6IGJyZWFrLXdvcmQ7XG5cbiAgICAvKiBGSVhNRTogcmF0aGVyIHVucGxlYXNhbnQgaGFjayB0byBnZXQgcmlkIG9mIDxwLz4gbWFyZ2lucy4gKi9cbiAgICAvKiByZWFsbHkgd2Ugc2hvdWxkIGJlIG1peGluZyBpbiBtYXJrZG93bi1ib2R5IGZyb20gZ2l0aHViLW1hcmtkb3duLWNzcyBpbnN0ZWFkICovXG4gICAgPiA6Zmlyc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgPiA6bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcbiAgICB9XG59XG5cbkBrZXlmcmFtZXMgdmlzdWFsYmVsbCB7XG4gICAgZnJvbSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR2aXN1YWwtYmVsbC1iZy1jb2xvcjtcbiAgICB9XG4gICAgdG8ge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcbiAgICB9XG59XG5cbi5teF9NZXNzYWdlQ29tcG9zZXJfaW5wdXRfZXJyb3Ige1xuICAgIGFuaW1hdGlvbjogMC4ycyB2aXN1YWxiZWxsO1xufVxuXG4ubXhfTWVzc2FnZUNvbXBvc2VyX2J1dHRvbl9oaWdobGlnaHQge1xuICAgIEBtaXhpbiBjb21wb3NlckJ1dHRvbkhpZ2hMaWdodDtcbn1cblxuLm14X01lc3NhZ2VDb21wb3Nlcl9idXR0b24ge1xuICAgIEBtaXhpbiBjb21wb3NlckJ1dHRvbiA1MCUsIHZhcigtLWNwZC1jb2xvci1pY29uLXByaW1hcnkpLCB2YXIoLS1jcGQtY29sb3ItYmctc3VidGxlLXByaW1hcnkpO1xuXG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIH1cblxuICAgICYubXhfTWVzc2FnZUNvbXBvc2VyX2Nsb3NlQnV0dG9uTWVudSB7XG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWNwZC1jb2xvci1iZy1zdWJ0bGUtcHJpbWFyeSk7XG4gICAgICAgIH1cblxuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY3BkLWNvbG9yLWljb24tcHJpbWFyeSk7XG4gICAgICAgICAgICB6LWluZGV4OiAyO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi5teF9NZXNzYWdlQ29tcG9zZXJfaGFuZ3VwOm5vdCgubXhfQWNjZXNzaWJsZUJ1dHRvbl9kaXNhYmxlZCk6OmJlZm9yZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRhbGVydDtcbiAgICB9XG59XG4ubXhfTWVzc2FnZUNvbXBvc2VyX3d5c2l3eWcge1xuICAgIC5teF9NZXNzYWdlQ29tcG9zZXJfd3JhcHBlciB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMTZweDtcbiAgICAgICAgbWFyZ2luLXRvcDogNnB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxMnB4O1xuICAgIH1cblxuICAgIC5teF9NZXNzYWdlQ29tcG9zZXJfcm93IHtcbiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuICAgIH1cblxuICAgIC5teF9NZXNzYWdlQ29tcG9zZXJfYWN0aW9ucyB7XG4gICAgICAgIC8qIEhlaWdodCBvZiB0aGUgY29tcG9zZXIgZWRpdG9yICovXG4gICAgICAgIGhlaWdodDogNDBweDtcbiAgICB9XG5cbiAgICAubXhfTWVkaWFCb2R5IHtcbiAgICAgICAgcGFkZGluZy10b3A6IDRweDtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDRweDtcbiAgICB9XG5cbiAgICAubXhfTWVzc2FnZUNvbXBvc2VyX2J1dHRvbiB7XG4gICAgICAgIEBtaXhpbiBjb21wb3NlckJ1dHRvbiA1cHgsICR0ZXJ0aWFyeS1jb250ZW50LCAkcGFuZWxzO1xuXG4gICAgICAgICYubXhfTWVzc2FnZUNvbXBvc2VyX2Nsb3NlQnV0dG9uTWVudSB7XG4gICAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJGFjY2VudC0zMDA7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGFjY2VudDtcbiAgICAgICAgICAgICAgICB6LWluZGV4OiAyO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi5teF9NZXNzYWdlQ29tcG9zZXJfaGFuZ3VwOm5vdCgubXhfQWNjZXNzaWJsZUJ1dHRvbl9kaXNhYmxlZCk6OmJlZm9yZSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYWxlcnQ7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5teF9NZXNzYWdlQ29tcG9zZXJfdXBsb2FkOjpiZWZvcmUge1xuICAgIG1hc2staW1hZ2U6IHVybChcIiQocmVzKS9pbWcvZWxlbWVudC1pY29ucy9yb29tL2NvbXBvc2VyL2F0dGFjaC5zdmdcIik7XG59XG5cbi5teF9NZXNzYWdlQ29tcG9zZXJfcG9sbDo6YmVmb3JlIHtcbiAgICBtYXNrLWltYWdlOiB1cmwoXCIkKHJlcykvaW1nL2VsZW1lbnQtaWNvbnMvcm9vbS9jb21wb3Nlci9wb2xsLnN2Z1wiKTtcbn1cblxuLm14X01lc3NhZ2VDb21wb3Nlcl92b2ljZU1lc3NhZ2U6OmJlZm9yZSB7XG4gICAgbWFzay1pbWFnZTogdXJsKFwiQHZlY3Rvci1pbS9jb21wb3VuZC1kZXNpZ24tdG9rZW5zL2ljb25zL21pYy1vbi1zb2xpZC5zdmdcIik7XG59XG5cbi5teF9NZXNzYWdlQ29tcG9zZXJfcGxhaW5fdGV4dDo6YmVmb3JlIHtcbiAgICBtYXNrLWltYWdlOiB1cmwoXCIkKHJlcykvaW1nL2VsZW1lbnQtaWNvbnMvcm9vbS9jb21wb3Nlci9wbGFpbl90ZXh0LnN2Z1wiKTtcbn1cblxuLm14X01lc3NhZ2VDb21wb3Nlcl9yaWNoX3RleHQ6OmJlZm9yZSB7XG4gICAgbWFzay1pbWFnZTogdXJsKFwiQHZlY3Rvci1pbS9jb21wb3VuZC1kZXNpZ24tdG9rZW5zL2ljb25zL3RleHQtZm9ybWF0dGluZy5zdmdcIik7XG59XG5cbi5teF9NZXNzYWdlQ29tcG9zZXJfbG9jYXRpb246OmJlZm9yZSB7XG4gICAgbWFzay1pbWFnZTogdXJsKFwiQHZlY3Rvci1pbS9jb21wb3VuZC1kZXNpZ24tdG9rZW5zL2ljb25zL2xvY2F0aW9uLXBpbi1zb2xpZC5zdmdcIik7XG59XG5cbi5teF9NZXNzYWdlQ29tcG9zZXJfc3RpY2tlcnM6OmJlZm9yZSB7XG4gICAgbWFzay1pbWFnZTogdXJsKFwiJChyZXMpL2ltZy9lbGVtZW50LWljb25zL3Jvb20vY29tcG9zZXIvc3RpY2tlci5zdmdcIik7XG59XG5cbi5teF9NZXNzYWdlQ29tcG9zZXJfYnV0dG9uTWVudTo6YmVmb3JlIHtcbiAgICBtYXNrLWltYWdlOiB1cmwoXCJAdmVjdG9yLWltL2NvbXBvdW5kLWRlc2lnbi10b2tlbnMvaWNvbnMvb3ZlcmZsb3ctaG9yaXpvbnRhbC5zdmdcIik7XG4gICAgbWFzay1zaXplOiAyNHB4O1xufVxuXG4ubXhfTWVzc2FnZUNvbXBvc2VyX3NlbmRNZXNzYWdlIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdpZHRoOiAzMnB4O1xuICAgIGhlaWdodDogMzJweDtcbiAgICBib3JkZXItcmFkaXVzOiAxMDAlO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNwZC1jb2xvci1pY29uLWFjY2VudC10ZXJ0aWFyeSk7XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGhlaWdodDogMTZweDtcbiAgICAgICAgd2lkdGg6IDE2cHg7XG4gICAgICAgIHRvcDogOHB4O1xuICAgICAgICBsZWZ0OiA5cHg7XG5cbiAgICAgICAgbWFzay1pbWFnZTogdXJsKFwiQHZlY3Rvci1pbS9jb21wb3VuZC1kZXNpZ24tdG9rZW5zL2ljb25zL3NlbmQtc29saWQuc3ZnXCIpO1xuICAgICAgICBtYXNrLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICBtYXNrLXNpemU6IGNvbnRhaW47XG4gICAgICAgIG1hc2stcG9zaXRpb246IGNlbnRlcjtcblxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jcGQtY29sb3ItaWNvbi1vbi1zb2xpZC1wcmltYXJ5KTtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICB9XG59XG5cbi5teF9NYXRyaXhDaGF0X3VzZUNvbXBhY3RMYXlvdXQge1xuICAgIC5teF9NZXNzYWdlQ29tcG9zZXJfaW5wdXQge1xuICAgICAgICBtaW4taGVpZ2h0OiA1MHB4O1xuICAgIH1cblxuICAgIC5teF9NZXNzYWdlQ29tcG9zZXJfbm9wZXJtX2Vycm9yIHtcbiAgICAgICAgaGVpZ2h0OiA1MHB4O1xuICAgIH1cbn1cblxuLyoqXG4gKiBVbnN0YWJsZSBjb21wYWN0IG1vZGVcbiAqL1xuXG4ubXhfTWVzc2FnZUNvbXBvc2VyLm14X01lc3NhZ2VDb21wb3Nlci0tY29tcGFjdCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuXG4gICAgLm14X01lc3NhZ2VDb21wb3Nlcl93cmFwcGVyIHtcbiAgICAgICAgcGFkZGluZzogMCAwIDAgMjVweDtcbiAgICB9XG5cbiAgICAmOm5vdCgubXhfTWVzc2FnZUNvbXBvc2VyX2UyZVN0YXR1cykge1xuICAgICAgICAubXhfTWVzc2FnZUNvbXBvc2VyX3dyYXBwZXIge1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5teF9NZXNzYWdlQ29tcG9zZXJfYnV0dG9uOmxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgfVxuXG4gICAgLm14X01lc3NhZ2VDb21wb3Nlcl9lMmVJY29uIHtcbiAgICAgICAgbGVmdDogMDtcbiAgICB9XG59XG4iLCIvKlxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXG5Db3B5cmlnaHQgMjAxOSBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxuXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXG4qL1xuXG4ubXhfTWVzc2FnZUNvbXBvc2VyRm9ybWF0QmFyIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIHdpZHRoOiBjYWxjKDMycHggKiA2KTtcbiAgICBoZWlnaHQ6IDMycHg7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG4gICAgYm9yZGVyOiB2YXIoLS1jcGQtYm9yZGVyLXdpZHRoLTEpIHNvbGlkIHZhcigtLWNwZC1jb2xvci1ib3JkZXItZGlzYWJsZWQpO1xuICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgIC8qIGVxdWFsIHRvIHotaW5kZXggb2YgbXhfUmVwbHlQcmV2aWV3IGFuZCBteF9Sb29tVmlld19zdGF0dXNBcmVhICgxMDAwKSAqL1xuICAgIC8qIGJ1dCBhcyBpdCBhcHBlYXJzIGFmdGVyIHRoZW0gaW4gdGhlIERPTSwgd2lsbCBhcHBlYXIgb24gdG9wLiAqL1xuICAgIHotaW5kZXg6IDEwMDA7XG5cbiAgICAmLm14X01lc3NhZ2VDb21wb3NlckZvcm1hdEJhcl9zaG93biB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxuICAgID4gKiB7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBtYXJnaW46IDJweDtcbiAgICB9XG5cbiAgICAubXhfTWVzc2FnZUNvbXBvc2VyRm9ybWF0QmFyX2J1dHRvbiB7XG4gICAgICAgIHdpZHRoOiAyOHB4O1xuICAgICAgICBoZWlnaHQ6IDI4cHg7XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWNwZC1jb2xvci1iZy1zdWJ0bGUtc2Vjb25kYXJ5KTtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDZweDtcbiAgICAgICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubXhfTWVzc2FnZUNvbXBvc2VyRm9ybWF0QmFyX2J1dHRvbjo6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWFzay1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgbWFzay1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgICBtYXNrLXNpemU6IDIwcHg7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNwZC1jb2xvci1pY29uLXNlY29uZGFyeSk7XG4gICAgfVxuXG4gICAgLm14X01lc3NhZ2VDb21wb3NlckZvcm1hdEJhcl9idXR0b246aG92ZXI6OmFmdGVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY3BkLWNvbG9yLWljb24tcHJpbWFyeSk7XG4gICAgfVxuXG4gICAgLm14X01lc3NhZ2VDb21wb3NlckZvcm1hdEJhcl9idXR0b25JY29uQm9sZDo6YWZ0ZXIge1xuICAgICAgICBtYXNrLWltYWdlOiB1cmwoXCJAdmVjdG9yLWltL2NvbXBvdW5kLWRlc2lnbi10b2tlbnMvaWNvbnMvYm9sZC5zdmdcIik7XG4gICAgfVxuXG4gICAgLm14X01lc3NhZ2VDb21wb3NlckZvcm1hdEJhcl9idXR0b25JY29uSXRhbGljOjphZnRlciB7XG4gICAgICAgIG1hc2staW1hZ2U6IHVybChcIkB2ZWN0b3ItaW0vY29tcG91bmQtZGVzaWduLXRva2Vucy9pY29ucy9pdGFsaWMuc3ZnXCIpO1xuICAgIH1cblxuICAgIC5teF9NZXNzYWdlQ29tcG9zZXJGb3JtYXRCYXJfYnV0dG9uSWNvblN0cmlrZXRocm91Z2g6OmFmdGVyIHtcbiAgICAgICAgbWFzay1pbWFnZTogdXJsKFwiQHZlY3Rvci1pbS9jb21wb3VuZC1kZXNpZ24tdG9rZW5zL2ljb25zL3N0cmlrZXRocm91Z2guc3ZnXCIpO1xuICAgIH1cblxuICAgIC5teF9NZXNzYWdlQ29tcG9zZXJGb3JtYXRCYXJfYnV0dG9uSWNvblF1b3RlOjphZnRlciB7XG4gICAgICAgIG1hc2staW1hZ2U6IHVybChcIkB2ZWN0b3ItaW0vY29tcG91bmQtZGVzaWduLXRva2Vucy9pY29ucy9xdW90ZS5zdmdcIik7XG4gICAgfVxuXG4gICAgLm14X01lc3NhZ2VDb21wb3NlckZvcm1hdEJhcl9idXR0b25JY29uQ29kZTo6YWZ0ZXIge1xuICAgICAgICBtYXNrLWltYWdlOiB1cmwoXCJAdmVjdG9yLWltL2NvbXBvdW5kLWRlc2lnbi10b2tlbnMvaWNvbnMvaW5saW5lLWNvZGUuc3ZnXCIpO1xuICAgIH1cblxuICAgIC5teF9NZXNzYWdlQ29tcG9zZXJGb3JtYXRCYXJfYnV0dG9uSWNvbkluc2VydExpbms6OmFmdGVyIHtcbiAgICAgICAgbWFzay1pbWFnZTogdXJsKFwiQHZlY3Rvci1pbS9jb21wb3VuZC1kZXNpZ24tdG9rZW5zL2ljb25zL2xpbmsuc3ZnXCIpO1xuICAgIH1cbn1cblxuLm14X01lc3NhZ2VDb21wb3NlckZvcm1hdEJhcl9idXR0b25Ub29sdGlwIHtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIGZvbnQtc2l6ZTogJGZvbnQtMTNweDtcbiAgICBmb250LXdlaWdodDogdmFyKC0tY3BkLWZvbnQtd2VpZ2h0LXNlbWlib2xkKTtcbiAgICBtaW4td2lkdGg6IDU0cHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuIiwiLypcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxuQ29weXJpZ2h0IDIwMjAgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cblxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuKi9cblxuLm14X05ld1Jvb21JbnRybyB7XG4gICAgbWFyZ2luOiA0MHB4IDAgNDhweCA2NHB4O1xuXG4gICAgLm14X01pbmlBdmF0YXJVcGxvYWRlcl9oYXNBdmF0YXI6bm90KC5teF9NaW5pQXZhdGFyVXBsb2FkZXJfYnVzeSk6bm90KDpob3Zlcikge1xuICAgICAgICAubXhfTWluaUF2YXRhclVwbG9hZGVyX2luZGljYXRvciB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm14X05ld1Jvb21JbnRyb19idXR0b25zIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMjhweDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1mbG93OiB3cmFwO1xuICAgICAgICBnYXA6IDE0cHggMTJweDtcblxuICAgICAgICAubXhfQWNjZXNzaWJsZUJ1dHRvbiB7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogJGZvbnQtMjRweDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcblxuICAgICAgICAgICAgJjpub3QoLm14X0FjY2Vzc2libGVCdXR0b25fa2luZF9wcmltYXJ5X291dGxpbmUpOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRidXR0b24tZmctY29sb3I7XG4gICAgICAgICAgICAgICAgbWFzay1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgICAgICAgICAgIG1hc2stcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgICAgICAgbWFzay1zaXplOiAyMHB4O1xuICAgICAgICAgICAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgICAgICAgICAgIGhlaWdodDogMjBweDtcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDVweDtcbiAgICAgICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdGV4dC1ib3R0b207XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAubXhfTmV3Um9vbUludHJvX2ludml0ZUJ1dHRvbjo6YmVmb3JlIHtcbiAgICAgICAgICAgIG1hc2staW1hZ2U6IHVybChcIiQocmVzKS9pbWcvZWxlbWVudC1pY29ucy9yb29tL2ludml0ZS5zdmdcIik7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICA+IGgyIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMjRweDtcbiAgICAgICAgZm9udC1zaXplOiAkZm9udC0yNHB4O1xuICAgICAgICBmb250LXdlaWdodDogdmFyKC0tY3BkLWZvbnQtd2VpZ2h0LXNlbWlib2xkKTtcbiAgICB9XG5cbiAgICA+IHAge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtMTVweDtcbiAgICAgICAgY29sb3I6ICRzZWNvbmRhcnktY29udGVudDtcbiAgICB9XG59XG4iLCIvKlxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXG5Db3B5cmlnaHQgMjAyMCBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxuXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXG4qL1xuXG4ubXhfTm90aWZpY2F0aW9uQmFkZ2Uge1xuICAgICY6bm90KC5teF9Ob3RpZmljYXRpb25CYWRnZV92aXNpYmxlKSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLyogQmFkZ2VzIGFyZSBzdHJ1Y3R1cmVkIGEgYml0IHdlaXJkbHkgdG8gd29yayBhcm91bmQgaXNzdWVzIHdpdGggbm9uLW1vbm9zcGFjZSAqL1xuICAgIC8qIGZvbnQgc3R5bGVzLiBUaGUgYmFkZ2UgcGlsbCBpcyBhY3R1YWxseSBhIGJhY2tncm91bmQgZGl2IGFuZCB0aGUgY291bnQgZmxvYXRzICovXG4gICAgLyogd2l0aGluIHRoYXQuIEZvciBleGFtcGxlOiAqL1xuICAgIC8qICAoIDk5KyApIDwtLSBSb3VuZGVkIHBpbGwgaXMgYSBfYmcgY2xhc3MuICovXG4gICAgLyogICAgIF4tIFRoZSBjb3VudCBpcyBhbiBlbGVtZW50IGZsb2F0aW5nIHdpdGhpbiB0aGF0LiAqL1xuXG4gICAgJi5teF9Ob3RpZmljYXRpb25CYWRnZV92aXNpYmxlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHJvb210aWxlLWRlZmF1bHQtYmFkZ2UtYmctY29sb3I7XG5cbiAgICAgICAgLyogQ3JlYXRlIGEgZmxleGJveCB0byBvcmRlciB0aGUgY291bnQgYSBiaXQgZWFzaWVyICovXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG4gICAgICAgIC8qIFRoZXNlIGFyZSB0aGUgMyBiYWNrZ3JvdW5kIHR5cGVzICovXG5cbiAgICAgICAgJi5teF9Ob3RpZmljYXRpb25CYWRnZV9kb3Qge1xuICAgICAgICAgICAgd2lkdGg6IDhweDtcbiAgICAgICAgICAgIGhlaWdodDogOHB4O1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4O1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY3BkLWNvbG9yLWljb24tcHJpbWFyeSk7XG5cbiAgICAgICAgICAgIC5teF9Ob3RpZmljYXRpb25CYWRnZV9jb3VudCB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLyogUmVkdW5kYW50IHNvdW5kaW5nIG5hbWUsIGJ1dCBhIG5vdGlmaWNhdGlvbiBiYWRnZSB0aGF0IGluZGljYXRlcyB0aGVyZSBpcyBhIHJlZ3VsYXIsXG4gICAgICAgICAgICAgKiBub24taGlnaGxpZ2h0IG5vdGlmaWNhdGlvblxuICAgICAgICAgICAgICogVGhlIGdyZWVuIGNvbG91ciBvbmx5IGFwcGxpZXMgZm9yIG5vdGlmaWNhdGlvbiBkb3Q6IGJhZGdlcyBpbmRpY2F0aW5nIHRoZSBzYW1lIG5vdGlmaWNhdGlvblxuICAgICAgICAgICAgICogbGV2ZWwgYXJlIHRoZSBzdGFuZGFyZCBncmV5LlxuICAgICAgICAgICAgICovXG4gICAgICAgICAgICAmLm14X05vdGlmaWNhdGlvbkJhZGdlX2xldmVsX25vdGlmaWNhdGlvbiB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY3BkLWNvbG9yLWljb24tc3VjY2Vzcy1wcmltYXJ5KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC8qIEJhZGdlcyBmb3IgaGlnaGxpZ2h0IG5vdGlmaWNhdGlvbnMuIFN0eWxlIGZvciBub3RpZmljYXRpb24gbGV2ZWxcbiAgICAgICAgICogYmFkZ2VzIGlzIGluIF9FdmVudFRpbGUuc2NzcyBiZWNhdXNlIGl0IGFwcGxpZXMgb25seSB0byBub3RpZmljYXRpb25cbiAgICAgICAgICogZG90cywgbm90IGJhZGdlcy5cbiAgICAgICAgICovXG4gICAgICAgICYubXhfTm90aWZpY2F0aW9uQmFkZ2VfbGV2ZWxfaGlnaGxpZ2h0IHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNwZC1jb2xvci1pY29uLWNyaXRpY2FsLXByaW1hcnkpO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5teF9Ob3RpZmljYXRpb25CYWRnZV9rbm9ja2VkIHtcbiAgICAgICAgICAgIG1hc2staW1hZ2U6IHVybChcIiQocmVzKS9pbWcvZWxlbWVudC1pY29ucy9hc2stdG8tam9pbi5zdmdcIik7XG4gICAgICAgICAgICB3aWR0aDogMTJweDtcbiAgICAgICAgICAgIGhlaWdodDogMTZweDtcbiAgICAgICAgfVxuXG4gICAgICAgICYubXhfTm90aWZpY2F0aW9uQmFkZ2VfMmNoYXIge1xuICAgICAgICAgICAgd2lkdGg6ICRmb250LTE2cHg7XG4gICAgICAgICAgICBoZWlnaHQ6ICRmb250LTE2cHg7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAkZm9udC0xNnB4O1xuICAgICAgICB9XG5cbiAgICAgICAgJi5teF9Ob3RpZmljYXRpb25CYWRnZV8zY2hhciB7XG4gICAgICAgICAgICB3aWR0aDogJGZvbnQtMjZweDtcbiAgICAgICAgICAgIGhlaWdodDogJGZvbnQtMTZweDtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6ICRmb250LTE2cHg7XG4gICAgICAgIH1cblxuICAgICAgICAvKiBUaGUgZm9sbG93aW5nIGlzIHRoZSBmbG9hdGluZyBiYWRnZSAqL1xuXG4gICAgICAgIC5teF9Ob3RpZmljYXRpb25CYWRnZV9jb3VudCB7XG4gICAgICAgICAgICBmb250LXNpemU6ICRmb250LTEwcHg7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogJGZvbnQtMTRweDtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1jcGQtZm9udC13ZWlnaHQtc2VtaWJvbGQpO1xuICAgICAgICAgICAgY29sb3I6IHZhcigtLWNwZC1jb2xvci10ZXh0LW9uLXNvbGlkLXByaW1hcnkpO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiLypcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxuQ29weXJpZ2h0IDIwMTcgVHJhdmlzIFJhbHN0b25cblxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuKi9cblxuLm14X1Bpbm5lZEV2ZW50VGlsZSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBnYXA6IHZhcigtLWNwZC1zcGFjZS00eCk7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG5cbiAgICAubXhfUGlubmVkRXZlbnRUaWxlX3dyYXBwZXIge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBnYXA6IHZhcigtLWNwZC1zcGFjZS0xeCk7XG4gICAgICAgIC8qIFJlbW92ZSBhdmF0YXIgd2lkdGggYW5kIHNwYWNlIGJldHdlZW4gdGhlIGF2YXRhciBhbmQgdGhlIHdyYXBwZXIgKi9cbiAgICAgICAgLyogV2UgbmVlZCBpdCB0byBtYWtlIHRoZSBsb2NhdGlvbiBmaXQgKi9cbiAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIHZhcigtLWNwZC1zcGFjZS00eCkgLSAzMnB4KTtcbiAgICAgICAgLyogUHJldmVudCBhIGxvbmcgc2VuZGVyIG5hbWUgdG8gb3ZlcmZsb3cgdGhlIHRpbGUgKi9cbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgICAgICAubXhfUGlubmVkRXZlbnRUaWxlX3RvcCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZ2FwOiB2YXIoLS1jcGQtc3BhY2UtMXgpO1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgICAgICAgICAgLm14X1Bpbm5lZEV2ZW50VGlsZV9zZW5kZXIge1xuICAgICAgICAgICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgICAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgICAgICAgICBmb250OiB2YXIoLS1jcGQtZm9udC1ib2R5LW1kLXNlbWlib2xkKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5teF9QaW5uZWRFdmVudFRpbGVfdGhyZWFkIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBnYXA6IHZhcigtLWNwZC1zcGFjZS0yeCk7XG4gICAgICAgICAgICBmb250OiB2YXIoLS1jcGQtZm9udC1ib2R5LXNtLXJlZ3VsYXIpO1xuXG4gICAgICAgICAgICBzdmcge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgICAgICAgICAgIGZpbGw6IHZhcigtLWNwZC1jb2xvci1pY29uLXRlcnRpYXJ5KTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tY3BkLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgYnV0dG9uIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuIiwiLypcbiAqIENvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxuICogQ29weXJpZ2h0IDIwMjQgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cbiAqXG4gKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcbiAqIFBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXG4gKi9cblxuLm14X1Bpbm5lZE1lc3NhZ2VCYW5uZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgZ2FwOiB2YXIoLS1jcGQtc3BhY2UtNHgpO1xuICAgIC8qIDY0cHggPSA2M3B4ICsgMXB4IGZyb20gdGhlIGJvdHRvbSBib3JkZXIgKi9cbiAgICBoZWlnaHQ6IDYzcHg7XG4gICAgcGFkZGluZzogMCB2YXIoLS1jcGQtc3BhY2UtNHgpO1xuXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY3BkLWNvbG9yLWJnLWNhbnZhcy1kZWZhdWx0KTtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tY3BkLWNvbG9yLWdyYXktNDAwKTtcblxuICAgIC8qIEZyb20gZmlnbWEgKi9cbiAgICBib3gtc2hhZG93OiAwIHZhcigtLWNwZC1zcGFjZS0yeCkgdmFyKC0tY3BkLXNwYWNlLTZ4KSBjYWxjKHZhcigtLWNwZC1zcGFjZS0yeCkgKiAtMSkgcmdiYSgyNywgMjksIDM0LCAwLjEpO1xuXG4gICAgLm14X1Bpbm5lZE1lc3NhZ2VCYW5uZXJfbWFpbiB7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIHRleHQtYWxpZ246IHN0YXJ0O1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBmbGV4LWdyb3c6IDE7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgICAgICAgLm14X1Bpbm5lZE1lc3NhZ2VCYW5uZXJfY29udGVudCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZTpcbiAgICAgICAgICAgICAgICBcImluZGljYXRvcnMgcGluSWNvbiB0aXRsZVwiIGF1dG9cbiAgICAgICAgICAgICAgICBcImluZGljYXRvcnMgcGluSWNvbiBtZXNzYWdlXCIgYXV0bztcbiAgICAgICAgICAgIGNvbHVtbi1nYXA6IHZhcigtLWNwZC1zcGFjZS0yeCk7XG4gICAgICAgIH1cblxuICAgICAgICAubXhfUGlubmVkTWVzc2FnZUJhbm5lcl9JbmRpY2F0b3JzIHtcbiAgICAgICAgICAgIGdyaWQtYXJlYTogaW5kaWNhdG9ycztcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgZ2FwOiB2YXIoLS1jcGQtc3BhY2UtMC01eCk7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG5cbiAgICAgICAgICAgIC5teF9QaW5uZWRNZXNzYWdlQmFubmVyX0luZGljYXRvciB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IHZhcigtLWNwZC1zcGFjZS0wLTV4KTtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jcGQtY29sb3ItZ3JheS02MDApO1xuICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLm14X1Bpbm5lZE1lc3NhZ2VCYW5uZXJfSW5kaWNhdG9yLS1hY3RpdmUge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNwZC1jb2xvci1pY29uLWFjY2VudC1wcmltYXJ5KTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLm14X1Bpbm5lZE1lc3NhZ2VCYW5uZXJfSW5kaWNhdG9yLS1oaWRkZW4ge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLm14X1Bpbm5lZE1lc3NhZ2VCYW5uZXJfUGluSWNvbiB7XG4gICAgICAgICAgICBncmlkLWFyZWE6IHBpbkljb247XG4gICAgICAgICAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gICAgICAgICAgICBmaWxsOiB2YXIoLS1jcGQtY29sb3ItaWNvbi1zZWNvbmRhcnktYWxwaGEpO1xuICAgICAgICB9XG5cbiAgICAgICAgLm14X1Bpbm5lZE1lc3NhZ2VCYW5uZXJfdGl0bGUge1xuICAgICAgICAgICAgZ3JpZC1hcmVhOiB0aXRsZTtcbiAgICAgICAgICAgIGZvbnQ6IHZhcigtLWNwZC1mb250LWJvZHktc20tcmVndWxhcik7XG4gICAgICAgICAgICBjb2xvcjogdmFyKC0tY3BkLWNvbG9yLXRleHQtYWN0aW9uLWFjY2VudCk7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMjBweDtcblxuICAgICAgICAgICAgLm14X1Bpbm5lZE1lc3NhZ2VCYW5uZXJfdGl0bGVfY291bnRlciB7XG4gICAgICAgICAgICAgICAgZm9udDogdmFyKC0tY3BkLWZvbnQtYm9keS1zbS1zZW1pYm9sZCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAubXhfUGlubmVkTWVzc2FnZUJhbm5lcl9tZXNzYWdlIHtcbiAgICAgICAgICAgIGdyaWQtYXJlYTogbWVzc2FnZTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLm14X1Bpbm5lZE1lc3NhZ2VCYW5uZXJfcmVkYWN0ZWRNZXNzYWdlIHtcbiAgICAgICAgICAgIGdyaWQtYXJlYTogbWVzc2FnZTtcbiAgICAgICAgICAgIGhlaWdodDogMjBweDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm14X1Bpbm5lZE1lc3NhZ2VCYW5uZXJfYWN0aW9ucyB7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgfVxufVxuXG4ubXhfUGlubmVkTWVzc2FnZUJhbm5lcltkYXRhLXNpbmdsZS1tZXNzYWdlPVwidHJ1ZVwiXSB7XG4gICAgLm14X1Bpbm5lZE1lc3NhZ2VCYW5uZXJfY29udGVudCB7XG4gICAgICAgIGdyaWQtdGVtcGxhdGU6IFwiaW5kaWNhdG9ycyBwaW5JY29uIG1lc3NhZ2VcIiBhdXRvO1xuXG4gICAgICAgIC5teF9QaW5uZWRNZXNzYWdlQmFubmVyX21lc3NhZ2Uge1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDQwcHg7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIvKlxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXG5Db3B5cmlnaHQgMjAxNiBPcGVuTWFya2V0IEx0ZFxuXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXG4qL1xuXG4ubXhfUHJlc2VuY2VMYWJlbCB7XG4gICAgZm9udC1zaXplOiAkZm9udC0xMXB4O1xuICAgIG9wYWNpdHk6IDAuNTtcbn1cblxuLm14X1ByZXNlbmNlTGFiZWxfb25saW5lIHtcbiAgICBjb2xvcjogdmFyKC0tY3BkLWNvbG9yLXRleHQtc3VjY2Vzcy1wcmltYXJ5KTtcbn1cbiIsIi8qXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cbkNvcHlyaWdodCAyMDIyIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXG5cblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cbiovXG5cbi5teF9SZWFkUmVjZWlwdEdyb3VwIHtcbiAgICAtLVJlYWRSZWNlaXB0R3JvdXBfRXZlbnRCdWJibGVUaWxlLXNwYWNpbmctZW5kOiA3OHB4O1xuXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICB6LWluZGV4OiAxO1xuXG4gICAgLm14X1JlYWRSZWNlaXB0R3JvdXBfYnV0dG9uIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgIGhlaWdodDogMTZweDtcbiAgICAgICAgcGFkZGluZzogNHB4O1xuICAgICAgICBib3JkZXItcmFkaXVzOiA2cHg7XG5cbiAgICAgICAgJi5teF9BY2Nlc3NpYmxlQnV0dG9uIHtcbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRldmVudC1zZWxlY3RlZC1jb2xvcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5teF9SZWFkUmVjZWlwdEdyb3VwX3JlbWFpbmRlciB7XG4gICAgICAgIGNvbG9yOiAkc2Vjb25kYXJ5LWNvbnRlbnQ7XG4gICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtMTFweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6ICRmb250LTE2cHg7XG4gICAgICAgIG1hcmdpbi1yaWdodDogNHB4O1xuICAgIH1cblxuICAgIC5teF9SZWFkUmVjZWlwdEdyb3VwX2NvbnRhaW5lciB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGhlaWdodDogMTAwJTtcblxuICAgICAgICAubXhfQmFzZUF2YXRhciB7XG4gICAgICAgICAgICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRiYWNrZ3JvdW5kO1xuICAgICAgICAgICAgd2lkdGg6IDE0cHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDE0cHg7XG4gICAgICAgICAgICB3aWxsLWNoYW5nZTogbGVmdCwgdG9wO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjpcbiAgICAgICAgICAgICAgICBsZWZ0IHZhcigtLXRyYW5zaXRpb24tc2hvcnQpIGVhc2Utb3V0LFxuICAgICAgICAgICAgICAgIHRvcCB2YXIoLS10cmFuc2l0aW9uLXN0YW5kYXJkKSBlYXNlLW91dDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLm14X1JlYWRSZWNlaXB0R3JvdXBfcG9wdXAge1xuICAgIG1heC1oZWlnaHQ6IDMwMHB4O1xuICAgIHdpZHRoOiAyMjBweDtcbiAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxNXB4O1xuXG4gICAgcmlnaHQ6IDA7XG5cbiAgICAmLm14X0NvbnRleHR1YWxNZW51X3RvcCB7XG4gICAgICAgIHRvcDogOHB4O1xuICAgIH1cblxuICAgICYubXhfQ29udGV4dHVhbE1lbnVfYm90dG9tIHtcbiAgICAgICAgYm90dG9tOiA4cHg7XG4gICAgfVxuXG4gICAgLm14X1JlYWRSZWNlaXB0R3JvdXBfdGl0bGUge1xuICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxNXB4O1xuICAgICAgICBtYXJnaW46IDE2cHggMTZweCA4cHg7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1jcGQtZm9udC13ZWlnaHQtc2VtaWJvbGQpO1xuICAgICAgICAvKiBzaG91bGRu4oCZdCBiZSBhY3R1YWxseSBmb2N1c2FibGUgKi9cbiAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICB9XG5cbiAgICAubXhfQXV0b0hpZGVTY3JvbGxiYXIge1xuICAgICAgICAubXhfUmVhZFJlY2VpcHRHcm91cF9wZXJzb24ge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgICAgICBwYWRkaW5nOiA0cHg7XG4gICAgICAgICAgICBtYXJnaW46IDAgMTJweDtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDhweDtcblxuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJG1lbnUtc2VsZWN0ZWQtY29sb3I7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogOHB4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAubXhfQmFzZUF2YXRhciB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiA2cHggOHB4O1xuICAgICAgICAgICAgICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LXNlbGY6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBmbGV4LXNocmluazogMDsgLyogTG9uZyBuYW1lcyBzaG91bGQgbm90IHNocmluayB0aGUgcGljdHVyZSAqL1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAubXhfUmVhZFJlY2VpcHRHcm91cF9uYW1lIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICAgICAgZmxleC1ncm93OiAxO1xuICAgICAgICAgICAgICAgIGZsZXgtc2hyaW5rOiAxO1xuICAgICAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICAgICAgICAgICAgICBwIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAycHggMDtcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgICAgICAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLm14X1JlYWRSZWNlaXB0R3JvdXBfc2Vjb25kYXJ5IHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRzZWNvbmRhcnktY29udGVudDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5teF9SZWFkUmVjZWlwdEdyb3VwX3BlcnNvbi0tdG9vbHRpcCB7XG4gICAgb3ZlcmZsb3cteTogaGlkZGVuO1xuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG4iLCIvKlxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXG5Db3B5cmlnaHQgMjAxOCBWZWN0b3IgQ3JlYXRpb25zIEx0ZFxuXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXG4qL1xuXG4ubXhfUmVwbHlQcmV2aWV3IHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkcHJpbWFyeS1oYWlybGluZS1jb2xvcjtcbiAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kO1xuICAgIG1heC1oZWlnaHQ6IDUwdmg7XG4gICAgb3ZlcmZsb3c6IGF1dG87XG5cbiAgICAubXhfUmVwbHlQcmV2aWV3X3NlY3Rpb24ge1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJHByaW1hcnktaGFpcmxpbmUtY29sb3I7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZmxvdzogY29sdW1uO1xuICAgICAgICByb3ctZ2FwOiAkc3BhY2luZy04O1xuICAgICAgICBwYWRkaW5nOiAkc3BhY2luZy04ICRzcGFjaW5nLTggMCAwO1xuXG4gICAgICAgIC5teF9SZXBseVByZXZpZXdfaGVhZGVyIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgICAgICBjb2x1bW4tZ2FwOiA4cHg7XG5cbiAgICAgICAgICAgIGNvbG9yOiAkcHJpbWFyeS1jb250ZW50O1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgICAgIG9wYWNpdHk6IDAuNDtcblxuICAgICAgICAgICAgLm14X1JlcGx5UHJldmlld19oZWFkZXJfY2FuY2VsIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJpbWFyeS1jb250ZW50O1xuICAgICAgICAgICAgICAgIG1hc2staW1hZ2U6IHVybChcIkB2ZWN0b3ItaW0vY29tcG91bmQtZGVzaWduLXRva2Vucy9pY29ucy9jbG9zZS5zdmdcIik7XG4gICAgICAgICAgICAgICAgbWFzay1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgICAgICAgICBtYXNrLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgbWFzay1zaXplOiBjb250YWluO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgICAgICAgICAgIGhlaWdodDogMjBweDtcbiAgICAgICAgICAgICAgICBtaW4td2lkdGg6IDIwcHg7XG4gICAgICAgICAgICAgICAgbWluLWhlaWdodDogMjBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLm14X1Jvb21WaWV3X2JvZHkge1xuICAgIC5teF9SZXBseVByZXZpZXcge1xuICAgICAgICAvKiBBZGQgYm94LXNoYWRvdyB0byB0aGUgcmVwbHkgcHJldmlldyBvbiB0aGUgbWFpbiAobGVmdCkgcGFuZWwgb25seS4gKi9cbiAgICAgICAgLyogSXQgaXMgbm90IGFkZGVkIHRvIHRoZSBwcmV2aWV3IG9uIHRoZSAocmlnaHQpIHBhbmVsIGZvciB0aHJlYWRzIGFuZCBhIGNoYXQgd2l0aCBhIG1heGltaXplZCB3aWRnZXQuICovXG4gICAgICAgIGJveC1zaGFkb3c6IDBweCAtMTZweCAzMnB4ICRjb21wb3Nlci1zaGFkb3ctY29sb3I7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDhweCA4cHggMCAwO1xuICAgIH1cbn1cbiIsIi8qXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cbkNvcHlyaWdodCAyMDIwIFR1bGlyIEFzb2thbiA8dHVsaXJAbWF1bml1bS5uZXQ+XG5cblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cbiovXG5cbi5teF9SZXBseVRpbGUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nOiAycHggMDtcbiAgICBmb250OiB2YXIoLS1jcGQtZm9udC1ib2R5LW1kLXJlZ3VsYXIpO1xuXG4gICAgJi5teF9SZXBseVRpbGVfYXVkaW8gLm14X01GaWxlQm9keV9pbmZvX2ljb246OmJlZm9yZSB7XG4gICAgICAgIG1hc2staW1hZ2U6IHVybChcIkB2ZWN0b3ItaW0vY29tcG91bmQtZGVzaWduLXRva2Vucy9pY29ucy92b2x1bWUtb24tc29saWQuc3ZnXCIpO1xuICAgIH1cblxuICAgICYubXhfUmVwbHlUaWxlX3ZpZGVvIC5teF9NRmlsZUJvZHlfaW5mb19pY29uOjpiZWZvcmUge1xuICAgICAgICBtYXNrLWltYWdlOiB1cmwoXCIkKHJlcykvaW1nL2VsZW1lbnQtaWNvbnMvY2FsbC92aWRlby1jYWxsLnN2Z1wiKTtcbiAgICB9XG5cbiAgICA+IGEge1xuICAgICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgICBncmlkLXRlbXBsYXRlOlxuICAgICAgICAgICAgXCJzZW5kZXJcIiBhdXRvXG4gICAgICAgICAgICBcIm1lc3NhZ2VcIiBhdXRvXG4gICAgICAgICAgICAvIDEwMCU7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgY29sb3I6ICRzZWNvbmRhcnktY29udGVudDtcbiAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgZWFzZSAwLjE1cztcbiAgICAgICAgZ2FwOiAycHg7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcblxuICAgICAgICAvLyBhdm9pZCBvdmVyZmxvdyB3aXRoIHdpZGUgY29udGVudFxuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgY29sb3I6ICRwcmltYXJ5LWNvbnRlbnQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubXhfUmVkYWN0ZWRCb2R5IHtcbiAgICAgICAgbGluZS1oZWlnaHQ6ICRmb250LTE4cHg7XG4gICAgfVxuXG4gICAgLm14X1JlZGFjdGVkQm9keSxcbiAgICAubXhfSGlkZGVuQm9keSB7XG4gICAgICAgIHBhZGRpbmc6IDRweCAwIDJweCAyMHB4O1xuXG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICBoZWlnaHQ6IDEzcHg7XG4gICAgICAgICAgICB3aWR0aDogMTNweDtcbiAgICAgICAgICAgIHRvcDogM3B4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyogV2UgZG8gcmVwbHkgc2l6ZSBsaW1pdGluZyB3aXRoIENTUyB0byBhdm9pZCBkdXBsaWNhdGluZyB0aGUgVGV4dHVhbEJvZHkgY29tcG9uZW50LiAqL1xuICAgIC5teF9FdmVudFRpbGVfY29udGVudCB7XG4gICAgICAgIGdyaWQtYXJlYTogbWVzc2FnZTtcbiAgICAgICAgJHJlcGx5LWxpbmVzOiAyO1xuICAgICAgICAkbGluZS1oZWlnaHQ6ICRmb250LTE4cHg7XG5cbiAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICAgICAgICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xuICAgICAgICAtd2Via2l0LWxpbmUtY2xhbXA6ICRyZXBseS1saW5lcztcblxuICAgICAgICAubXhfRXZlbnRUaWxlX2JvZHkubXhfRXZlbnRUaWxlX2JpZ0Vtb2ppIHtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAkZm9udC0yMnB4ICFpbXBvcnRhbnQ7IC8qIFNhbWUgYXMgdmFyKC0tRXZlbnRUaWxlX2dyb3VwX2xpbmUtbGluZS1oZWlnaHQpICovXG4gICAgICAgICAgICBmb250LXNpemU6ICRmb250LTE0cHggIWltcG9ydGFudDsgLyogT3ZlcnJpZGUgdGhlIGJpZyBlbW9qaSBvdmVycmlkZSAqL1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gaW4gb3JkZXIgdG8ga2VlcCB0aGUgbWVzc2FnZSBvbiB0d28gbGluZXMsIHdlIG5lZWQgdG8gbWFrZSB0aGUgYm9keSBpbmxpbmVcbiAgICAgICAgLm14X0V2ZW50VGlsZV9ib2R5IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIEhpZGUgbGluZSBudW1iZXJzIGFuZCBlZGl0ZWQgaW5kaWNhdG9yXG4gICAgICAgIC5teF9FdmVudFRpbGVfbGluZU51bWJlcnMsXG4gICAgICAgIC5teF9FdmVudFRpbGVfZWRpdGVkIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICAvKiBIYWNrIHRvIGN1dCBjb250ZW50IGluIDxwcmU+IHRhZ3MgdG9vICovXG4gICAgICAgIC5teF9FdmVudFRpbGVfcHJlX2NvbnRhaW5lciA+IHByZSB7XG4gICAgICAgICAgICBvdmVyZmxvdy14OiBzY3JvbGw7XG4gICAgICAgICAgICBvdmVyZmxvdy15OiBoaWRkZW47XG4gICAgICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICAgICAgICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICAgICAgICAgICAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcbiAgICAgICAgICAgIC13ZWJraXQtbGluZS1jbGFtcDogJHJlcGx5LWxpbmVzO1xuICAgICAgICAgICAgcGFkZGluZzogNHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLm1hcmtkb3duLWJvZHkgYmxvY2txdW90ZSxcbiAgICAgICAgLm1hcmtkb3duLWJvZHkgZGwsXG4gICAgICAgIC5tYXJrZG93bi1ib2R5IG9sLFxuICAgICAgICAubWFya2Rvd24tYm9keSBwLFxuICAgICAgICAubWFya2Rvd24tYm9keSBwcmUsXG4gICAgICAgIC5tYXJrZG93bi1ib2R5IHRhYmxlLFxuICAgICAgICAubWFya2Rvd24tYm9keSB1bCB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0cHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLm14X1JlcGx5VGlsZV9pbmZvIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgfVxuXG4gICAgJi5teF9SZXBseVRpbGVfaW5saW5lID4gYSB7XG4gICAgICAgIC8qIFJlbmRlciByZXBsaWVzIHRvIGVtb3RlcyBpbmxpbmUgd2l0aCB0aGUgc2VuZGVyIGF2YXRhciAqL1xuICAgICAgICBncmlkLXRlbXBsYXRlOlxuICAgICAgICAgICAgXCJzZW5kZXIgICAgICAgIG1lc3NhZ2VcIiBhdXRvXG4gICAgICAgICAgICAvIG1heC1jb250ZW50IGF1dG87XG4gICAgICAgIGdhcDogNHB4OyAvKiBpbmNyZWFzZSBzcGFjaW5nICovXG4gICAgfVxuXG4gICAgLm14X1JlcGx5VGlsZV9zZW5kZXIge1xuICAgICAgICBncmlkLWFyZWE6IHNlbmRlcjtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgZ2FwOiA0cHg7XG5cbiAgICAgICAgLm14X0Rpc2FtYmlndWF0ZWRQcm9maWxlIHtcbiAgICAgICAgICAgIGZvbnQ6IHZhcigtLWNwZC1mb250LWJvZHktbWQtcmVndWxhcik7XG5cbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgLyogYW50aS16YWxnbywgd2l0aCBvdmVyZmxvdyBoaWRkZW4gKi9cbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG5cbiAgICAgICAgICAgIC8qIHRydW5jYXRlIGxvbmcgZGlzcGxheSBuYW1lcyAqL1xuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICAgICAgfVxuXG4gICAgICAgIC5teF9CYXNlQXZhdGFyIHtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxNHB4OyAvKiBUbyBtYXRjaCBzaXplICovXG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIvKlxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXG5Db3B5cmlnaHQgMjAyMCBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxuXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXG4qL1xuXG4ubXhfUm9vbUJyZWFkY3J1bWJzIHtcbiAgICB3aWR0aDogMTAwJTtcblxuICAgIC8qIENyZWF0ZSBhIGZsZXhib3ggZm9yIHRoZSBjcnVtYnMgKi9cbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgbWFyZ2luLWJvdHRvbTogMTJweDtcblxuICAgIC5teF9Sb29tQnJlYWRjcnVtYnNfY3J1bWIge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDhweDtcbiAgICAgICAgd2lkdGg6IDMycHg7XG4gICAgfVxuXG4gICAgLyogVGhlc2UgY2xhc3NlcyBjb21lIGZyb20gdGhlIENTU1RyYW5zaXRpb24gY29tcG9uZW50LiBUaGVyZSdzIG1hbnkgbW9yZSBjbGFzc2VzIHdlICovXG4gICAgLyogY291bGQgY2FyZSBhYm91dCwgYnV0IHRoaXMgaXMgYWxsIHdlIHdvcnJpZWQgYWJvdXQgZm9yIG5vdy4gVGhlIGFuaW1hdGlvbiB3b3JrcyBieSAqL1xuICAgIC8qIGZpcnN0IHRyaWdnZXJpbmcgdGhlIGVudGVyIHN0YXRlIHdpdGggdGhlIG5ld2VzdCBicmVhZGNydW1iIG9mZiBzY3JlZW4gKC00MHB4KSB0aGVuICovXG4gICAgLyogc2xpZGluZyBpdCBpbnRvIHZpZXcuICovXG4gICAgJi5teF9Sb29tQnJlYWRjcnVtYnMtZW50ZXIge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTQwcHgpOyAvKiAzMnB4IGZvciB0aGUgYXZhdGFyLCA4cHggZm9yIHRoZSBtYXJnaW4gKi9cbiAgICB9XG4gICAgJi5teF9Sb29tQnJlYWRjcnVtYnMtZW50ZXItYWN0aXZlIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuXG4gICAgICAgIC8qIFRpbWluZyBmdW5jdGlvbiBpcyBhcy1yZXF1ZXN0ZWQgYnkgZGVzaWduLiAqL1xuICAgICAgICAvKiBOT1RFOiBUaGUgdHJhbnNpdGlvbiB0aW1lIE1VU1QgbWF0Y2ggdGhlIHZhbHVlIHBhc3NlZCB0byBDU1NUcmFuc2l0aW9uISAqL1xuICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gNjQwbXMgY3ViaWMtYmV6aWVyKDAuNjYsIDAuMDIsIDAuMzYsIDEpO1xuICAgIH1cblxuICAgIC5teF9Sb29tQnJlYWRjcnVtYnNfcGxhY2Vob2xkZXIge1xuICAgICAgICBmb250OiB2YXIoLS1jcGQtZm9udC1ib2R5LW1kLXNlbWlib2xkKTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDMycHg7IC8qIHNwZWNpZmljYWxseSB0byBtYXRjaCB0aGUgaGVpZ2h0IHRoaXMgaXMgbm90IHNjYWxlZCAqL1xuICAgICAgICBoZWlnaHQ6IDMycHg7XG4gICAgfVxufVxuIiwiLypcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxuQ29weXJpZ2h0IDIwMjIgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cblxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuKi9cblxuLm14X1Jvb21DYWxsQmFubmVyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgcGFkZGluZzogJHNwYWNpbmctMTIgJHNwYWNpbmctMTY7XG5cbiAgICBjb2xvcjogJHByaW1hcnktY29udGVudDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc3lzdGVtO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLm14X1Jvb21DYWxsQmFubmVyX3RleHQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleDogMTtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG4ubXhfUm9vbUNhbGxCYW5uZXJfbGFiZWwge1xuICAgIGNvbG9yOiAkcHJpbWFyeS1jb250ZW50O1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1jcGQtZm9udC13ZWlnaHQtc2VtaWJvbGQpO1xuICAgIHBhZGRpbmctcmlnaHQ6ICRzcGFjaW5nLTg7XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRzZWNvbmRhcnktY29udGVudDtcbiAgICAgICAgbWFzay1zaXplOiAxNnB4O1xuICAgICAgICBtYXNrLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICAgIHdpZHRoOiAxNnB4O1xuICAgICAgICBoZWlnaHQ6IDEuMmVtOyAvKiB0byBtYXRjaCBsaW5lIGhlaWdodCAqL1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDhweDtcbiAgICAgICAgbWFzay1pbWFnZTogdXJsKFwiJChyZXMpL2ltZy9lbGVtZW50LWljb25zL2NhbGwvdmlkZW8tY2FsbC5zdmdcIik7XG4gICAgfVxufVxuIiwiLypcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxuQ29weXJpZ2h0IDIwMjMgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cblxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuKi9cblxuLm14X1Jvb21IZWFkZXIge1xuICAgIGhlaWdodDogNjRweDtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIHBhZGRpbmc6IDAgdmFyKC0tY3BkLXNwYWNlLTN4KSAwIGNhbGModmFyKC0tY3BkLXNwYWNlLTN4KSArIHZhcigtLWNwZC1zcGFjZS0xLTV4KSk7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRzZXBhcmF0b3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTtcbn1cblxuLm14X1Jvb21IZWFkZXI6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRoZWFkZXItcGFuZWwtYmctaG92ZXI7XG59XG5cbi5teF9Sb29tSGVhZGVyX2luZm9XcmFwcGVyIHtcbiAgICAvKiB1bnNldCBidXR0b24gc3R5bGVzICovXG4gICAgYmFja2dyb3VuZDogdW5zZXQ7XG4gICAgYm9yZGVyOiB1bnNldDtcbiAgICBmbGV4OiAxO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgZ2FwOiB2YXIoLS1jcGQtc3BhY2UtM3gpO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHBhZGRpbmc6IDA7XG59XG5cbi5teF9Sb29tSGVhZGVyX2luZm8ge1xuICAgIC8qIFdlIHdhbnQgdGhlIHNwYWNpbmcgdG8gYmUgNjRweCwgMTN4ID0gNTJweCBidXQgd2UgaGF2ZSBhIGZsZXggZ2FwIG9mXG4gICAgICAgMTJweCBzZXQgb24gdGhlIGZsZXggY29udGFpbmVyLCB3aGljaCBzdW1zIHVwIHRvIDY0ICovXG4gICAgcGFkZGluZy1yaWdodDogdmFyKC0tY3BkLXNwYWNlLTEzeCk7XG59XG5cbi5teF9Sb29tSGVhZGVyX3RydW5jYXRlZCB7XG4gICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gICAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcbiAgICAtd2Via2l0LWxpbmUtY2xhbXA6IDE7XG5cbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHdvcmQtYnJlYWs6IGJyZWFrLWFsbDtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbn1cblxuLm14X1Jvb21IZWFkZXJfaGVhZGluZyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBnYXA6IHZhcigtLWNwZC1zcGFjZS0xeCk7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cblxuLm14X1Jvb21IZWFkZXJfaWNvbiB7XG4gICAgZmxleC1zaHJpbms6IDA7XG59XG5cbi5teF9Sb29tSGVhZGVyIC5teF9GYWNlUGlsZSB7XG4gICAgY29sb3I6ICRzZWNvbmRhcnktY29udGVudDtcbiAgICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiB2YXIoLS1jcGQtc3BhY2UtMngpO1xuICAgIGJvcmRlci1yYWRpdXM6IDk5OTlweDtcbiAgICBwYWRkaW5nOiB2YXIoLS1jcGQtc3BhY2UtMS01eCk7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHVzZXItc2VsZWN0OiBub25lO1xuXG4gICAgLyogUm9vbUF2YXRhciBkb2Vzbid0IHBhc3MgY2xhc3NlcyBkb3duIHRvIGF2YXRhclxuICAgIFNvIHNldCBzdHlsZSBoZXJlXG4gICAgdXNpbmcgZGl2IGJlY2F1c2UgY29tcG91bmQgY2xhc3NlcyBhcmUgbm90IHN0YWJsZSAqL1xuICAgID4gZGl2IHtcbiAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgfVxuXG4gICAgJjpob3ZlciB7XG4gICAgICAgIGNvbG9yOiAkcHJpbWFyeS1jb250ZW50O1xuICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jcGQtY29sb3ItYmctc3VidGxlLXByaW1hcnkpO1xuICAgIH1cbn1cblxuLm14X1Jvb21IZWFkZXIgLm14X0Jhc2VBdmF0YXIge1xuICAgIGZsZXgtc2hyaW5rOiAwO1xufVxuXG4ubXhfUm9vbUhlYWRlcl92aWRlb0NhbGxPcHRpb24ge1xuICAgIC8qIFdvcmthcm91bmQgZm9yIGh0dHBzOi8vZ2l0aHViLmNvbS9lbGVtZW50LWhxL2NvbXBvdW5kL2lzc3Vlcy8zMzEgKi9cbiAgICBtaW4td2lkdGg6IDI0MHB4O1xufVxuIiwiLypcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxuQ29weXJpZ2h0IDIwMjIgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cblxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuKi9cblxuLm14X1Jvb21JbmZvTGluZSB7XG4gICAgY29sb3I6ICRzZWNvbmRhcnktY29udGVudDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIGhlaWdodDogMS4yZW07XG4gICAgICAgIG1hc2stcG9zaXRpb246IGNlbnRlcjtcbiAgICAgICAgbWFzay1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRlcnRpYXJ5LWNvbnRlbnQ7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiB0ZXh0LWJvdHRvbTtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiA2cHg7XG4gICAgfVxuXG4gICAgJi5teF9Sb29tSW5mb0xpbmVfcHVibGljOjpiZWZvcmUge1xuICAgICAgICB3aWR0aDogMTJweDtcbiAgICAgICAgbWFzay1zaXplOiAxMnB4O1xuICAgICAgICBtYXNrLWltYWdlOiB1cmwoXCJAdmVjdG9yLWltL2NvbXBvdW5kLWRlc2lnbi10b2tlbnMvaWNvbnMvcHVibGljLnN2Z1wiKTtcbiAgICB9XG5cbiAgICAmLm14X1Jvb21JbmZvTGluZV9wcml2YXRlOjpiZWZvcmUge1xuICAgICAgICB3aWR0aDogMTBweDtcbiAgICAgICAgbWFzay1zaXplOiAxMHB4O1xuICAgICAgICBtYXNrLWltYWdlOiB1cmwoXCJAdmVjdG9yLWltL2NvbXBvdW5kLWRlc2lnbi10b2tlbnMvaWNvbnMvbG9jay1zb2xpZC5zdmdcIik7XG4gICAgfVxuXG4gICAgJi5teF9Sb29tSW5mb0xpbmVfdmlkZW86OmJlZm9yZSB7XG4gICAgICAgIHdpZHRoOiAxNnB4O1xuICAgICAgICBtYXNrLXNpemU6IDE2cHg7XG4gICAgICAgIG1hc2staW1hZ2U6IHVybChcIiQocmVzKS9pbWcvZWxlbWVudC1pY29ucy9jYWxsL3ZpZGVvLWNhbGwuc3ZnXCIpO1xuICAgIH1cblxuICAgIC5teF9Sb29tSW5mb0xpbmVfbWVtYmVycyB7XG4gICAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IGluaGVyaXQ7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBpbmhlcml0O1xuXG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiBcIsK3XCI7IC8qIHZpc3VhbCBzZXBhcmF0b3IgKi9cbiAgICAgICAgICAgIG1hcmdpbjogMCA2cHg7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIvKlxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXG5Db3B5cmlnaHQgMjAyMyBOb3JkZWNrIElUICsgQ29uc3VsdGluZyBHbWJIXG5cblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cbiovXG5cbi5teF9Sb29tS25vY2tzQmFyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jcGQtY29sb3ItYmctc3VidGxlLXNlY29uZGFyeSk7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBwYWRkaW5nOiB2YXIoLS1jcGQtc3BhY2UtMngpIHZhcigtLWNwZC1zcGFjZS00eCk7XG59XG5cbi5teF9Sb29tS25vY2tzQmFyX2NvbnRlbnQge1xuICAgIGZsZXgtZ3JvdzogMTtcbiAgICBtYXJnaW46IDAgdmFyKC0tY3BkLXNwYWNlLTN4KTtcbn1cblxuLm14X1Jvb21Lbm9ja3NCYXJfcGFyYWdyYXBoIHtcbiAgICBjb2xvcjogJHNlY29uZGFyeS1jb250ZW50O1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tY3BkLWZvbnQtc2l6ZS1ib2R5LXNtKTtcbiAgICBtYXJnaW46IDA7XG59XG5cbi5teF9Sb29tS25vY2tzQmFyX2xpbmsge1xuICAgIG1hcmdpbi1sZWZ0OiB2YXIoLS1jcGQtc3BhY2UtM3gpO1xufVxuXG4ubXhfUm9vbUtub2Nrc0Jhcl9hY3Rpb24sXG4ubXhfUm9vbUtub2Nrc0Jhcl9hdmF0YXIge1xuICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgICBmbGV4LXNocmluazogMDtcbn1cblxuLm14X1Jvb21Lbm9ja3NCYXJfYWN0aW9uICsgLm14X1Jvb21Lbm9ja3NCYXJfYWN0aW9uIHtcbiAgICBtYXJnaW4tbGVmdDogdmFyKC0tY3BkLXNwYWNlLTN4KTtcbn1cblxuLm14X1Jvb21Lbm9ja3NCYXJfYXZhdGFyICsgLm14X1Jvb21Lbm9ja3NCYXJfYXZhdGFyIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyh2YXIoLS1jcGQtc3BhY2UtNHgpICogLTEpO1xufVxuIiwiLypcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxuQ29weXJpZ2h0IDIwMjAgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cblxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuKi9cblxuLm14X1Jvb21MaXN0IHtcbiAgICBwYWRkaW5nLXJpZ2h0OiA3cHg7IC8qIHdpZHRoIG9mIHRoZSBzY3JvbGxiYXIsIHRvIGxpbmUgdGhpbmdzIHVwICovXG59XG5cbi5teF9Sb29tTGlzdF9pY29uUGx1czo6YmVmb3JlIHtcbiAgICBtYXNrLWltYWdlOiB1cmwoXCIkKHJlcykvaW1nL2VsZW1lbnQtaWNvbnMvcm9vbWxpc3QvcGx1cy1jaXJjbGUuc3ZnXCIpO1xufVxuLm14X1Jvb21MaXN0X2ljb25OZXdSb29tOjpiZWZvcmUge1xuICAgIG1hc2staW1hZ2U6IHVybChcIiQocmVzKS9pbWcvZWxlbWVudC1pY29ucy9yb29tbGlzdC9oYXNoLXBsdXMuc3ZnXCIpO1xufVxuLm14X1Jvb21MaXN0X2ljb25OZXdWaWRlb1Jvb206OmJlZm9yZSB7XG4gICAgbWFzay1pbWFnZTogdXJsKFwiJChyZXMpL2ltZy9lbGVtZW50LWljb25zL3Jvb21saXN0L2hhc2gtdmlkZW8uc3ZnXCIpO1xufVxuLm14X1Jvb21MaXN0X2ljb25BZGRFeGlzdGluZ1Jvb206OmJlZm9yZSB7XG4gICAgbWFzay1pbWFnZTogdXJsKFwiJChyZXMpL2ltZy9lbGVtZW50LWljb25zL3Jvb21saXN0L2hhc2guc3ZnXCIpO1xufVxuLm14X1Jvb21MaXN0X2ljb25FeHBsb3JlOjpiZWZvcmUge1xuICAgIG1hc2staW1hZ2U6IHVybChcIiQocmVzKS9pbWcvZWxlbWVudC1pY29ucy9yb29tbGlzdC9oYXNoLXNlYXJjaC5zdmdcIik7XG59XG4ubXhfUm9vbUxpc3RfaWNvbkRpYWxwYWQ6OmJlZm9yZSB7XG4gICAgbWFzay1pbWFnZTogdXJsKFwiJChyZXMpL2ltZy9lbGVtZW50LWljb25zL3Jvb21saXN0L2RpYWxwYWQuc3ZnXCIpO1xufVxuLm14X1Jvb21MaXN0X2ljb25TdGFydENoYXQ6OmJlZm9yZSB7XG4gICAgbWFzay1pbWFnZTogdXJsKFwiQHZlY3Rvci1pbS9jb21wb3VuZC1kZXNpZ24tdG9rZW5zL2ljb25zL3VzZXItYWRkLXNvbGlkLnN2Z1wiKTtcbn1cbi5teF9Sb29tTGlzdF9pY29uSW52aXRlOjpiZWZvcmUge1xuICAgIG1hc2staW1hZ2U6IHVybChcIiQocmVzKS9pbWcvZWxlbWVudC1pY29ucy9yb29tL3NoYXJlLnN2Z1wiKTtcbn1cbiIsIi8qXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cbkNvcHlyaWdodCAyMDIxIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXG5cblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cbiovXG5cbi5teF9Sb29tTGlzdEhlYWRlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gICAgLm14X1Jvb21MaXN0SGVhZGVyX2NvbnRleHRMZXNzVGl0bGUsXG4gICAgLm14X1Jvb21MaXN0SGVhZGVyX2NvbnRleHRNZW51QnV0dG9uIHtcbiAgICAgICAgZm9udDogdmFyKC0tY3BkLWZvbnQtaGVhZGluZy1zbS1zZW1pYm9sZCk7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1jcGQtZm9udC13ZWlnaHQtc2VtaWJvbGQpO1xuICAgICAgICBwYWRkaW5nOiAxcHggMjRweCAxcHggNHB4O1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICBtYXJnaW4tbGVmdDogOHB4O1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgIH1cblxuICAgIC5teF9Sb29tTGlzdEhlYWRlcl9jb250ZXh0TWVudUJ1dHRvbiB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDZweDtcblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRxdWluYXJ5LWNvbnRlbnQ7XG4gICAgICAgIH1cblxuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgICAgICAgICAgdG9wOiAzcHg7XG4gICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIG1hc2stcG9zaXRpb246IGNlbnRlcjtcbiAgICAgICAgICAgIG1hc2stc2l6ZTogY29udGFpbjtcbiAgICAgICAgICAgIG1hc2stcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGVydGlhcnktY29udGVudDtcbiAgICAgICAgICAgIG1hc2staW1hZ2U6IHVybChcIkB2ZWN0b3ItaW0vY29tcG91bmQtZGVzaWduLXRva2Vucy9pY29ucy9jaGV2cm9uLWRvd24uc3ZnXCIpO1xuICAgICAgICB9XG5cbiAgICAgICAgJlthcmlhLWV4cGFuZGVkPVwidHJ1ZVwiXSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcXVpbmFyeS1jb250ZW50O1xuXG4gICAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubXhfUm9vbUxpc3RIZWFkZXJfcGx1c0J1dHRvbiB7XG4gICAgICAgIHdpZHRoOiAzMnB4O1xuICAgICAgICBoZWlnaHQ6IDMycHg7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBwYWRkaW5nOiA4cHg7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiA4cHg7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMTJweDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHBhbmVsLWFjdGlvbnM7XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuXG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgd2lkdGg6IDE2cHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDE2cHg7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBtYXNrLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICAgICAgICBtYXNrLXNpemU6IGNvbnRhaW47XG4gICAgICAgICAgICBtYXNrLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHNlY29uZGFyeS1jb250ZW50O1xuICAgICAgICAgICAgbWFzay1pbWFnZTogdXJsKFwiQHZlY3Rvci1pbS9jb21wb3VuZC1kZXNpZ24tdG9rZW5zL2ljb25zL3BsdXMuc3ZnXCIpO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGVydGlhcnktY29udGVudDtcblxuICAgICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLm14X1Jvb21MaXN0SGVhZGVyX2ljb25JbnZpdGU6OmJlZm9yZSB7XG4gICAgbWFzay1pbWFnZTogdXJsKFwiJChyZXMpL2ltZy9lbGVtZW50LWljb25zL3Jvb20vaW52aXRlLnN2Z1wiKTtcbn1cbi5teF9Sb29tTGlzdEhlYWRlcl9pY29uU3RhcnRDaGF0OjpiZWZvcmUge1xuICAgIG1hc2staW1hZ2U6IHVybChcIkB2ZWN0b3ItaW0vY29tcG91bmQtZGVzaWduLXRva2Vucy9pY29ucy91c2VyLWFkZC1zb2xpZC5zdmdcIik7XG59XG4ubXhfUm9vbUxpc3RIZWFkZXJfaWNvbk5ld1Jvb206OmJlZm9yZSB7XG4gICAgbWFzay1pbWFnZTogdXJsKFwiJChyZXMpL2ltZy9lbGVtZW50LWljb25zL3Jvb21saXN0L2hhc2gtcGx1cy5zdmdcIik7XG59XG4ubXhfUm9vbUxpc3RIZWFkZXJfaWNvbk5ld1ZpZGVvUm9vbTo6YmVmb3JlIHtcbiAgICBtYXNrLWltYWdlOiB1cmwoXCIkKHJlcykvaW1nL2VsZW1lbnQtaWNvbnMvcm9vbWxpc3QvaGFzaC12aWRlby5zdmdcIik7XG59XG4ubXhfUm9vbUxpc3RIZWFkZXJfaWNvbkV4cGxvcmU6OmJlZm9yZSB7XG4gICAgbWFzay1pbWFnZTogdXJsKFwiJChyZXMpL2ltZy9lbGVtZW50LWljb25zL3Jvb21saXN0L2hhc2gtc2VhcmNoLnN2Z1wiKTtcbn1cbi5teF9Sb29tTGlzdEhlYWRlcl9pY29uUGx1czo6YmVmb3JlIHtcbiAgICBtYXNrLWltYWdlOiB1cmwoXCJAdmVjdG9yLWltL2NvbXBvdW5kLWRlc2lnbi10b2tlbnMvaWNvbnMvcGx1cy5zdmdcIik7XG59XG4iLCIvKlxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXG5Db3B5cmlnaHQgMjAxNS0yMDIyIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXG5cblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cbiovXG5cbi5teF9Sb29tUHJldmlld0JhciB7XG4gICAgZmxleDogMCAwIGF1dG87XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgLXdlYmtpdC1hbGlnbi1pdGVtczogY2VudGVyO1xuXG4gICAgaDMge1xuICAgICAgICBmb250LXNpemU6ICRmb250LTE4cHg7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1jcGQtZm9udC13ZWlnaHQtc2VtaWJvbGQpO1xuXG4gICAgICAgICYubXhfUm9vbVByZXZpZXdCYXJfc3Bpbm5lclRpdGxlIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGgzLFxuICAgIC5teF9Sb29tUHJldmlld0Jhcl9tZXNzYWdlIHAge1xuICAgICAgICAvKiBicmVhay13b3JkLCB3aXRoIGZhbGxiYWNrIHRvIGJyZWFrLWFsbCwgd2hpY2ggaXMgd2lkZXIgc3VwcG9ydGVkICovXG4gICAgICAgIHdvcmQtYnJlYWs6IGJyZWFrLWFsbDtcbiAgICAgICAgd29yZC1icmVhazogYnJlYWstd29yZDtcbiAgICB9XG5cbiAgICAubXhfU3Bpbm5lciB7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIG1hcmdpbjogMTBweCAxMHB4IDEwcHggMDtcbiAgICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgfVxuXG4gICAgLm14X1Jvb21QcmV2aWV3QmFyX2Zvb3RlciB7XG4gICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtMTJweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6ICRmb250LTIwcHg7XG5cbiAgICAgICAgLm14X1NwaW5uZXIge1xuICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLm14X1Jvb21QcmV2aWV3QmFyX2FjdGlvbnMge1xuICAgIGRpc3BsYXk6IGZsZXg7XG59XG5cbi5teF9Sb29tUHJldmlld0Jhcl9tZXNzYWdlIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuXG4gICAgcCB7XG4gICAgICAgIG92ZXJmbG93LXdyYXA6IGJyZWFrLXdvcmQ7XG4gICAgfVxufVxuXG4ubXhfUm9vbVByZXZpZXdCYXJfcGFuZWwge1xuICAgIHBhZGRpbmc6IDhweCA4cHggOHB4IDIwcHg7XG5cbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuXG4gICAgLm14X1Jvb21QcmV2aWV3QmFyX2FjdGlvbnMge1xuICAgICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgcGFkZGluZzogM3B4IDhweDtcblxuICAgICAgICAmID4gKiB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMTJweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5teF9Sb29tUHJldmlld0Jhcl9tZXNzYWdlIHtcbiAgICAgICAgZmxleDogMSAwIDA7XG4gICAgICAgIG1pbi13aWR0aDogMDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblxuICAgICAgICAmID4gKiB7XG4gICAgICAgICAgICBtYXJnaW46IDRweDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLyogV2l0aCBtYXhpbWlzZWQgd2lkZ2V0cywgdGhlIHBhbmVsIGZpdHMgaW4gYmV0dGVyIHdoZW4gcm91bmRlZCAqL1xuLm14X01haW5TcGxpdF9tYXhpbWlzZWRXaWRnZXQgLm14X1Jvb21QcmV2aWV3QmFyX3BhbmVsIHtcbiAgICBtYXJnaW46IHZhcigtLWNvbnRhaW5lci1nYXAtd2lkdGgpO1xuICAgIG1hcmdpbi1yaWdodDogY2FsYyh2YXIoLS1jb250YWluZXItZ2FwLXdpZHRoKSAvIDIpOyAvKiBTaGFyZWQgd2l0aCByaWdodCBwYW5lbCAqL1xuICAgIG1hcmdpbi10b3A6IDA7IC8qIEFscmVhZHkgY292ZXJlZCBieSBhcHBzIGRyYXdlciAqL1xuICAgIGJvcmRlci1yYWRpdXM6IDhweDtcbn1cblxuLm14X1Jvb21QcmV2aWV3QmFyX2RpYWxvZyB7XG4gICAgbWFyZ2luOiBhdXRvO1xuICAgIGJveC1zaXppbmc6IGNvbnRlbnQ7XG4gICAgd2lkdGg6IDQwMHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIHBhZGRpbmc6IDIwcHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgLm14X1Jvb21QcmV2aWV3QmFyX21lc3NhZ2Uge1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXG4gICAgICAgICYgPiAqIHtcbiAgICAgICAgICAgIG1hcmdpbjogNXB4IDAgMjBweCAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm14X1Jvb21QcmV2aWV3QmFyX2FjdGlvbnMge1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAubXhfQWNjZXNzaWJsZUJ1dHRvbiB7XG4gICAgICAgICAgICBwYWRkaW5nOiA3cHggNTBweDsgLyogZXh0cmEgd2lkZSAqL1xuICAgICAgICB9XG5cbiAgICAgICAgJiA+ICoge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMTJweDtcbiAgICAgICAgfVxuICAgICAgICAubXhfQWNjZXNzaWJsZUJ1dHRvbi5teF9BY2Nlc3NpYmxlQnV0dG9uX2tpbmRfcHJpbWFyeSB7XG4gICAgICAgICAgICAvKiB0byBhY2NvdW50IGZvciB0aGUgcGFkZGluZyBvZiB0aGUgcHJpbWFyeSBidXR0b24gd2hpY2ggY2F1c2VzIGluY29uc2lzdGVudCBsb29rIGJldHdlZW4gKi9cbiAgICAgICAgICAgIC8qIHN1YnNlcXVlbnQgc2Vjb25kYXJ5ICh0ZXh0KSBidXR0b25zICovXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA3cHg7XG4gICAgICAgIH1cbiAgICB9XG59XG4ubXhfUm9vbVByZXZpZXdCYXJfSW52aXRlIHtcbiAgICBtYXgtaGVpZ2h0OiAxMDB2aDtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbn1cblxuLm14X1Jvb21QcmV2aWV3QmFyX0ludml0ZSBoMyB7XG4gICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gICAgLXdlYmtpdC1saW5lLWNsYW1wOiAyO1xuICAgIC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWw7XG4gICAgd2hpdGUtc3BhY2U6IHByZS13cmFwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5teF9Sb29tUHJldmlld0Jhcl9pbnZpdGVyIHtcbiAgICBmb250LXdlaWdodDogdmFyKC0tY3BkLWZvbnQtd2VpZ2h0LXNlbWlib2xkKTtcbn1cblxuYS5teF9Sb29tUHJldmlld0Jhcl9pbnZpdGVyIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi5teF9Sb29tUHJldmlld0Jhcl9pbnZpdGVyX214aWQge1xuICAgIGNvbG9yOiB2YXIoLS1jcGQtY29sb3ItdGV4dC1zZWNvbmRhcnkpO1xufVxuXG4ubXhfUm9vbVByZXZpZXdCYXJfaWNvbiB7XG4gICAgbWFyZ2luLXJpZ2h0OiA4cHg7XG4gICAgdmVydGljYWwtYWxpZ246IHRleHQtdG9wO1xufVxuXG4ubXhfUm9vbVByZXZpZXdCYXJfZnVsbFdpZHRoIHtcbiAgICB3aWR0aDogMTAwJTtcbn1cbiIsIi8qXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cbkNvcHlyaWdodCAyMDIyIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXG5cblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cbiovXG5cbi5teF9Sb29tUHJldmlld0NhcmQge1xuICAgIHBhZGRpbmc6ICRzcGFjaW5nLTMyICRzcGFjaW5nLTI0ICFpbXBvcnRhbnQ7IC8qIE92ZXJyaWRlIFNwYWNlUm9vbVZpZXcncyBkZWZhdWx0IHBhZGRpbmcgKi9cbiAgICBtYXJnaW46IGF1dG87XG4gICAgZmxleC1ncm93OiAxO1xuICAgIG1heC13aWR0aDogNDgwcHg7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc3lzdGVtO1xuICAgIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZm9udDogdmFyKC0tY3BkLWZvbnQtYm9keS1tZC1yZWd1bGFyKTtcblxuICAgIC5teF9Sb29tUHJldmlld0NhcmRfbm90aWNlIHtcbiAgICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLWNwZC1mb250LXdlaWdodC1zZW1pYm9sZCk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAkZm9udC0yNHB4O1xuICAgICAgICBjb2xvcjogJHByaW1hcnktY29udGVudDtcbiAgICAgICAgbWFyZ2luLXRvcDogJHNwYWNpbmctMjQ7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiBjYWxjKDIwcHggKyAkc3BhY2luZy04KTtcblxuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIGhlaWdodDogJGZvbnQtMjRweDtcbiAgICAgICAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIG1hc2stcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgICBtYXNrLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICAgICAgICBtYXNrLXNpemU6IGNvbnRhaW47XG4gICAgICAgICAgICBtYXNrLWltYWdlOiB1cmwoXCJAdmVjdG9yLWltL2NvbXBvdW5kLWRlc2lnbi10b2tlbnMvaWNvbnMvaW5mby1zb2xpZC5zdmdcIik7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2Vjb25kYXJ5LWNvbnRlbnQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubXhfUm9vbVByZXZpZXdDYXJkX2ludml0ZXIge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAkc3BhY2luZy0yMDtcbiAgICAgICAgZm9udC1zaXplOiAkZm9udC0xNXB4O1xuXG4gICAgICAgID4gZGl2IHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAkc3BhY2luZy04O1xuXG4gICAgICAgICAgICAubXhfUm9vbVByZXZpZXdDYXJkX2ludml0ZXJfbmFtZSB7XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6ICRmb250LTE4cHg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5teF9Sb29tUHJldmlld0NhcmRfaW52aXRlcl9teGlkIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJHNlY29uZGFyeS1jb250ZW50O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm14X1Jvb21QcmV2aWV3Q2FyZF9hdmF0YXIge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gICAgICAgIC5teF9Sb29tUHJldmlld0NhcmRfdmlkZW8ge1xuICAgICAgICAgICAgd2lkdGg6IDUwcHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDUwcHg7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiBjYWxjKCg1MHB4ICsgMiAqIDNweCkgLyAyKTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRhY2NlbnQ7XG4gICAgICAgICAgICBib3JkZXI6IDNweCBzb2xpZCAkc3lzdGVtO1xuXG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICBsZWZ0OiBjYWxjKC01MHB4IC8gNCAtIDNweCk7XG5cbiAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYnV0dG9uLXByaW1hcnktZmctY29sb3I7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIHdpZHRoOiA1MHB4O1xuICAgICAgICAgICAgICAgIGhlaWdodDogNTBweDtcbiAgICAgICAgICAgICAgICBtYXNrLXNpemU6IDIycHg7XG4gICAgICAgICAgICAgICAgbWFzay1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgICAgICAgICAgIG1hc2stcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgICAgICAgbWFzay1pbWFnZTogdXJsKFwiJChyZXMpL2ltZy9lbGVtZW50LWljb25zL2NhbGwvdmlkZW8tY2FsbC5zdmdcIik7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvKiBYWFggUmVtb3ZlIHRoaXMgd2hlbiB2aWRlbyByb29tcyBsZWF2ZSBiZXRhICovXG4gICAgICAgIC5teF9CZXRhQ2FyZF9iZXRhUGlsbCB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBpbnNldC1ibG9jay1zdGFydDogJHNwYWNpbmctMzI7XG4gICAgICAgICAgICBpbnNldC1pbmxpbmUtZW5kOiAkc3BhY2luZy0yNDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGgxLm14X1Jvb21QcmV2aWV3Q2FyZF9uYW1lIHtcbiAgICAgICAgbWFyZ2luOiAkc3BhY2luZy0xNiAwICFpbXBvcnRhbnQ7IC8qIE92ZXJyaWRlIFNwYWNlUm9vbVZpZXcncyBkZWZhdWx0IG1hcmdpbnMgKi9cbiAgICB9XG5cbiAgICAubXhfUm9vbVByZXZpZXdDYXJkX3RvcGljIHtcbiAgICAgICAgbGluZS1oZWlnaHQ6ICRmb250LTIycHg7XG4gICAgICAgIG1hcmdpbi10b3A6ICRzcGFjaW5nLTE2O1xuICAgICAgICBtYXgtaGVpZ2h0OiAxNjBweDtcbiAgICAgICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICB9XG5cbiAgICAubXhfRmFjZVBpbGUge1xuICAgICAgICBtYXJnaW4tdG9wOiAkc3BhY2luZy0yMDtcbiAgICB9XG5cbiAgICAubXhfUm9vbVByZXZpZXdDYXJkX2pvaW5CdXR0b25zIHtcbiAgICAgICAgbWFyZ2luLXRvcDogJHNwYWNpbmctMjA7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGdhcDogJHNwYWNpbmctMjA7XG5cbiAgICAgICAgLm14X0FjY2Vzc2libGVCdXR0b24ge1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAyMDBweDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDE0cHggMDtcbiAgICAgICAgICAgIGZsZXgtZ3JvdzogMTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi8qXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cbkNvcHlyaWdodCAyMDI0IFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXG5cblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cbiovXG5cbi5teF9Sb29tU2VhcmNoQXV4UGFuZWwge1xuICAgIC8qIHVzZSBgbWluLWhlaWdodGAgcmF0aGVyIHRoYW4gaGVpZ2h0LCB0byBhbGxvdyByb29tIGZvciB0aGUgdGV4dCB0byB3cmFwIGlmIHRoZSB3aW5kb3cgaXMgbmFycm93ICovXG4gICAgbWluLWhlaWdodDogODRweDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jcGQtY29sb3ItYmctY2FudmFzLWRlZmF1bHQpO1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLXdpZHRoOiAxcHggMDtcbiAgICBwYWRkaW5nOiB2YXIoLS1jcGQtc3BhY2UtM3gpO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgZ2FwOiB2YXIoLS1jcGQtc3BhY2UtMngpO1xuXG4gICAgLm14X1Jvb21TZWFyY2hBdXhQYW5lbF9zdW1tYXJ5IHtcbiAgICAgICAgZmxleC1ncm93OiAxO1xuICAgICAgICBkaXNwbGF5OiBpbmhlcml0OyAvKiBmbGV4ICovXG4gICAgICAgIGdhcDogdmFyKC0tY3BkLXNwYWNlLTJ4KTtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgICAgICA+IHN2ZyB7XG4gICAgICAgICAgICBwYWRkaW5nOiB2YXIoLS1jcGQtc3BhY2UtMngpO1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogdmFyKC0tY3BkLXNwYWNlLTJ4KTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNwZC1jb2xvci1iZy1zdWJ0bGUtc2Vjb25kYXJ5KTtcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1jcGQtY29sb3ItaWNvbi1zZWNvbmRhcnkpO1xuICAgICAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICAgIH1cblxuICAgICAgICAubXhfUm9vbVNlYXJjaEF1eFBhbmVsX3N1bW1hcnlfdGV4dCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtMTVweDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAkZm9udC0yMnB4O1xuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICAgICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLm14X1NlYXJjaFdhcm5pbmcge1xuICAgICAgICAgICAgZGlzcGxheTogY29udGVudHM7XG4gICAgICAgICAgICBmb250LXNpemU6ICRmb250LTEzcHg7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogJGZvbnQtMjBweDtcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1jcGQtY29sb3ItdGV4dC1zZWNvbmRhcnkpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm14X1Jvb21TZWFyY2hBdXhQYW5lbF9idXR0b25zIHtcbiAgICAgICAgZGlzcGxheTogaW5oZXJpdDsgLyogZmxleCAqL1xuICAgICAgICBnYXA6IHZhcigtLWNwZC1zcGFjZS02eCk7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgIH1cbn1cbiIsIi8qXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cbkNvcHlyaWdodCAyMDIwIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXG5cblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cbiovXG5cbi5teF9Sb29tU3VibGlzdCB7XG4gICAgbWFyZ2luLWxlZnQ6IDhweDtcbiAgICBtYXJnaW4tYm90dG9tOiA0cHg7XG5cbiAgICAmLm14X1Jvb21TdWJsaXN0X2hpZGRlbiB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgJjpub3QoLm14X1Jvb21TdWJsaXN0X21pbmltaXplZCkge1xuICAgICAgICAubXhfUm9vbVN1Ymxpc3RfaGVhZGVyQ29udGFpbmVyIHtcbiAgICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5teF9Sb29tU3VibGlzdF9oZWFkZXJDb250YWluZXIge1xuICAgICAgICAvKiBDcmVhdGUgYSBmbGV4Ym94IHRvIG1ha2UgYWxpZ25tZW50IGVhc3kgKi9cbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgICAgICAvKiAqKioqKioqKioqKioqKioqKioqKioqKioqKiogKi9cbiAgICAgICAgLyogU3RpY2t5IEhlYWRlcnMgU3RhcnQgKi9cblxuICAgICAgICAvKiBJZGVhbGx5IHdlJ2QgYmUgYWJsZSB0byB1c2UgYHBvc2l0aW9uOiBzdGlja3k7IHRvcDogMDsgYm90dG9tOiAwO2Agb24gdGhlICovXG4gICAgICAgIC8qIGhlYWRlckNvbnRhaW5lciwgaG93ZXZlciBkdWUgdG8gb3VyIGxheW91dCBjb25jZXJucyB3ZSBhY3R1YWxseSBoYXZlIHRvICovXG4gICAgICAgIC8qIGNhbGN1bGF0ZSBpdCBtYW51YWxseSBzbyB3ZSBjYW4gc3RpY2t5IHRoaW5ncyBpbiB0aGUgcmlnaHQgcGxhY2VzLiBXZSBhbHNvICovXG4gICAgICAgIC8qIHRhcmdldCB0aGUgaGVhZGVyVGV4dCBpbnN0ZWFkIG9mIHRoZSBjb250YWluZXIgdG8gcmVkdWNlIGp1bXBzIHdoZW4gc2Nyb2xsaW5nLCAqL1xuICAgICAgICAvKiBhbmQgdG8gaGVscCBoaWRlIHRoZSBiYWRnZXMvb3RoZXIgYnV0dG9ucyB0aGF0IGNvdWxkIGFwcGVhciBvbiBob3Zlci4gVGhpcyAqL1xuICAgICAgICAvKiBhbGwgd29ya3MgYnkgZW5zdXJpbmcgdGhlIGhlYWRlciB0ZXh0IGhhcyBhIGZpeGVkIGhlaWdodCB3aGVuIHN0aWNreSBzbyB0aGUgKi9cbiAgICAgICAgLyogZml4ZWQgaGVpZ2h0IG9mIHRoZSBjb250YWluZXIgY2FuIG1haW50YWluIHRoZSBzY3JvbGwgcG9zaXRpb24uICovXG5cbiAgICAgICAgLyogVGhlIGNvbWJpbmVkIGhlaWdodCBtdXN0IGJlIHNldCBpbiB0aGUgTGVmdFBhbmVsIGNvbXBvbmVudCBmb3Igc3RpY2t5IGhlYWRlcnMgKi9cbiAgICAgICAgLyogdG8gd29yayBjb3JyZWN0bHkuICovXG4gICAgICAgIHBhZGRpbmctYm90dG9tOiA4cHg7XG4gICAgICAgIGhlaWdodDogMjRweDtcbiAgICAgICAgY29sb3I6ICRzZWNvbmRhcnktY29udGVudDtcblxuICAgICAgICAubXhfUm9vbVN1Ymxpc3Rfc3RpY2thYmxlQ29udGFpbmVyIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG5cbiAgICAgICAgLm14X1Jvb21TdWJsaXN0X3N0aWNrYWJsZSB7XG4gICAgICAgICAgICBmbGV4OiAxO1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuXG4gICAgICAgICAgICAvKiBDcmVhdGUgYSBmbGV4Ym94IHRvIG1ha2Ugb3JkZXJpbmcgZWFzeSAqL1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgICAgICAgICAgIC8qIFdlIHVzZSBhIGdlbmVyaWMgc3RpY2t5IGNsYXNzIGZvciAyIHJlYXNvbnM6IHRvIHJlZHVjZSBzdHlsZSBkdXBsaWNhdGlvbiBhbmQgKi9cbiAgICAgICAgICAgIC8qIHRvIGlkZW50aWZ5IHdoZW4gYSBoZWFkZXIgaXMgc3RpY2t5LiBJZiB3ZSBkaWRuJ3QgaGF2ZSBhIGNvbnNpc3RlbnQgc3RpY2t5IGNsYXNzLCAqL1xuICAgICAgICAgICAgLyogd2UnZCBoYXZlIHRvIGRvIHRoZSBcImlzIHN0aWNreVwiIGNoZWNrcyBhZ2FpbiBvbiBjbGljaywgYXMgY2xpY2tpbmcgdGhlIGhlYWRlciAqL1xuICAgICAgICAgICAgLyogd2hlbiBzdGlja3kgc2Nyb2xscyBpbnN0ZWFkIG9mIGNvbGxhcHNlcyB0aGUgbGlzdC4gKi9cbiAgICAgICAgICAgICYubXhfUm9vbVN1Ymxpc3RfaGVhZGVyQ29udGFpbmVyX3N0aWNreSB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgICAgICAgICAgIGhlaWdodDogMzJweDsgLyogdG8gbWF0Y2ggdGhlIGhlYWRlciBjb250YWluZXIgKi9cbiAgICAgICAgICAgICAgICAvKiB3aWR0aCBzZXQgYnkgSlMgYmVjYXVzZSBvZiBhIGNvbXBhdCBpc3N1ZSBiZXR3ZWVuIEZpcmVmb3ggYW5kIENocm9tZSAqL1xuICAgICAgICAgICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxNXB4KTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLyogV2UgZG9uJ3QgaGF2ZSBhIHRvcCBzdHlsZSBiZWNhdXNlIHRoZSB0b3AgaXMgZGVwZW5kZW50IG9uIHRoZSByb29tIGxpc3QgaGVhZGVyJ3MgKi9cbiAgICAgICAgICAgIC8qIGhlaWdodCwgYW5kIGlzIHRoZXJlZm9yZSBjYWxjdWxhdGVkIGluIEpTLiAqL1xuICAgICAgICAgICAgLyogVGhlIGNsYXNzLCBteF9Sb29tU3VibGlzdF9oZWFkZXJDb250YWluZXJfc3RpY2t5VG9wLCBpcyBhcHBsaWVkIHRob3VnaC4gKi9cbiAgICAgICAgfVxuXG4gICAgICAgIC8qIFN0aWNreSBIZWFkZXJzIEVuZCAqL1xuICAgICAgICAvKiAqKioqKioqKioqKioqKioqKioqKioqKioqKiogKi9cblxuICAgICAgICAubXhfUm9vbVN1Ymxpc3RfYmFkZ2VDb250YWluZXIge1xuICAgICAgICAgICAgLyogQ3JlYXRlIGFub3RoZXIgZmxleGJveCByb3cgYmVjYXVzZSBpdCdzIHN1cGVyIGVhc3kgdG8gcG9zaXRpb24gdGhlIGJhZGdlIHRoaXMgd2F5LiAqL1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblxuICAgICAgICAgICAgLyogQXBwbHkgdGhlIHdpZHRoIGFuZCBtYXJnaW4gdG8gdGhlIGJhZGdlIHNvIHRoZSBjb250YWluZXIgZG9lc24ndCBvY2N1cHkgZGVhZCBzcGFjZSAqL1xuICAgICAgICAgICAgLm14X05vdGlmaWNhdGlvbkJhZGdlIHtcbiAgICAgICAgICAgICAgICAvKiBEbyBub3Qgc2V0IGEgd2lkdGggc28gdGhlIGJhZGdlcyBnZXQgcHJvcGVybHkgc2l6ZWQgKi9cbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogOHB4OyAvKiBzYW1lIGFzIG1lbnUrYXV4IGJ1dHRvbnMgKi9cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICY6bm90KC5teF9Sb29tU3VibGlzdF9oZWFkZXJDb250YWluZXJfd2l0aEF1eCkge1xuICAgICAgICAgICAgLm14X05vdGlmaWNhdGlvbkJhZGdlIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDRweDsgLyoganVzdCB0byBwdXNoIGl0IG92ZXIgYSBiaXQsIGFsaWduaW5nIGl0IHdpdGggdGhlIG90aGVyIGVsZW1lbnRzICovXG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAubXhfUm9vbVN1Ymxpc3RfYXV4QnV0dG9uLFxuICAgICAgICAubXhfUm9vbVN1Ymxpc3RfbWVudUJ1dHRvbiB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogOHB4OyAvKiBzaG91bGQgYmUgdGhlIHNhbWUgYXMgdGhlIG5vdGlmaWNhdGlvbiBiYWRnZSAqL1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgd2lkdGg6IDI0cHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDI0cHg7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiA4cHg7XG5cbiAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTZweDtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDE2cHg7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIHRvcDogNHB4O1xuICAgICAgICAgICAgICAgIGxlZnQ6IDRweDtcbiAgICAgICAgICAgICAgICBtYXNrLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgbWFzay1zaXplOiBjb250YWluO1xuICAgICAgICAgICAgICAgIG1hc2stcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tY3BkLWNvbG9yLWljb24tc2Vjb25kYXJ5KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5teF9Sb29tU3VibGlzdF9hdXhCdXR0b246aG92ZXIsXG4gICAgICAgIC5teF9Sb29tU3VibGlzdF9tZW51QnV0dG9uOmhvdmVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRwYW5lbC1hY3Rpb25zO1xuICAgICAgICB9XG5cbiAgICAgICAgLyogSGlkZSB0aGUgbWVudSBidXR0b24gYnkgZGVmYXVsdCAqL1xuICAgICAgICAubXhfUm9vbVN1Ymxpc3RfbWVudUJ1dHRvbiB7XG4gICAgICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgICAgICAgICB3aWR0aDogMDtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5teF9Sb29tU3VibGlzdF9hdXhCdXR0b246OmJlZm9yZSB7XG4gICAgICAgICAgICBtYXNrLWltYWdlOiB1cmwoXCJAdmVjdG9yLWltL2NvbXBvdW5kLWRlc2lnbi10b2tlbnMvaWNvbnMvcGx1cy5zdmdcIik7XG4gICAgICAgIH1cblxuICAgICAgICAubXhfUm9vbVN1Ymxpc3RfbWVudUJ1dHRvbjo6YmVmb3JlIHtcbiAgICAgICAgICAgIG1hc2staW1hZ2U6IHVybChcIkB2ZWN0b3ItaW0vY29tcG91bmQtZGVzaWduLXRva2Vucy9pY29ucy9vdmVyZmxvdy1ob3Jpem9udGFsLnN2Z1wiKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5teF9Sb29tU3VibGlzdF9oZWFkZXJUZXh0IHtcbiAgICAgICAgICAgIGZsZXg6IDE7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IGNhbGMoMTAwJSAtIDE2cHgpOyAvKiAxNnB4IGlzIHRoZSBiYWRnZSB3aWR0aCAqL1xuICAgICAgICAgICAgZm9udDogdmFyKC0tY3BkLWZvbnQtYm9keS1zbS1zZW1pYm9sZCk7XG5cbiAgICAgICAgICAgIC8qIEVsbGlwc2l6ZSBhbnkgdGV4dCBvdmVyZmxvdyAqL1xuICAgICAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcblxuICAgICAgICAgICAgLm14X1Jvb21TdWJsaXN0X2NvbGxhcHNlQnRuIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxNHB4O1xuICAgICAgICAgICAgICAgIGhlaWdodDogMTRweDtcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDZweDtcblxuICAgICAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxOHB4O1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDE4cHg7XG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgICAgbWFzay1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICBtYXNrLXNpemU6IGNvbnRhaW47XG4gICAgICAgICAgICAgICAgICAgIG1hc2stcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNwZC1jb2xvci1pY29uLXNlY29uZGFyeSk7XG4gICAgICAgICAgICAgICAgICAgIG1hc2staW1hZ2U6IHVybChcIkB2ZWN0b3ItaW0vY29tcG91bmQtZGVzaWduLXRva2Vucy9pY29ucy9jaGV2cm9uLWRvd24uc3ZnXCIpO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICYubXhfUm9vbVN1Ymxpc3RfY29sbGFwc2VCdG5fY29sbGFwc2VkOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtOTBkZWcpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qIEluIHRoZSBnZW5lcmFsIGNhc2UsIHdlIHJlc2VydmUgc3BhY2UgZm9yIGVhY2ggc3VibGlzdCBoZWFkZXIgdG8gcHJldmVudCAqL1xuICAgIC8qIHNjcm9sbCBqdW1wcyB3aGVuIHRoZXkgYmVjb21lIHN0aWNreS4gSG93ZXZlciwgdGhhdCBsZWF2ZXMgYSBnYXAgd2hlbiAqL1xuICAgIC8qIHNjcm9sbGVkIHRvIHRoZSB0b3AgYWJvdmUgdGhlIGZpcnN0IHN1Ymxpc3QgKHdob3NlIGhlYWRlciBjYW4gb25seSBldmVyICovXG4gICAgLyogc3RpY2sgdG8gdG9wKSwgc28gd2UgbWFrZSBzdXJlIHRvIGV4Y2x1ZGUgdGhlIGZpcnN0IHZpc2libGUgc3VibGlzdC4gKi9cbiAgICAmOm5vdCgubXhfUm9vbVN1Ymxpc3RfaGlkZGVuKSB+IC5teF9Sb29tU3VibGlzdCAubXhfUm9vbVN1Ymxpc3Rfc3RpY2thYmxlQ29udGFpbmVyIHtcbiAgICAgICAgaGVpZ2h0OiAyNHB4O1xuICAgIH1cblxuICAgIC5teF9Sb29tU3VibGlzdF9yZXNpemVCb3gge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgLyogQ3JlYXRlIGFub3RoZXIgZmxleGJveCBjb2x1bW4gZm9yIHRoZSB0aWxlcyAqL1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgICAgIC5teF9Sb29tU3VibGlzdF90aWxlcyB7XG4gICAgICAgICAgICBmbGV4OiAxIDAgMDtcbiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgICBvdmVyZmxvdzogY2xpcDtcbiAgICAgICAgICAgIC8qIG5lZWQgdGhpcyB0byBiZSBmbGV4IG90aGVyd2lzZSB0aGUgb3ZlcmZsb3cgaGlkZGVuIGZyb20gYWJvdmUgKi9cbiAgICAgICAgICAgIC8qIHNvbWV0aW1lcyB2ZXJ0aWNhbGx5IGNlbnRlcnMgdGhlIGNsaXBwZWQgbGlzdCAuLi4gbm8gaWRlYSB3aHkgaXQgd291bGQgZG8gdGhpcyAqL1xuICAgICAgICAgICAgLyogYXMgdGhlIGJveCBtb2RlbCBzaG91bGQgYmUgdG9wIGFsaWduZWQuIEhhcHBlbnMgaW4gYm90aCBGRiBhbmQgQ2hyb21pdW0gKi9cbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgYWxpZ24tc2VsZjogc3RyZXRjaDtcbiAgICAgICAgICAgIC8qIHdpdGhvdXQgdGhpcyBGaXJlZm94IHdpbGwgcHJlZmVyIHB1c2hpbmcgdGhlIHJlc2l6ZXIgJiBzaG93IG1vcmUvbGVzcyBidXR0b24gaW50byB0aGUgb3ZlcmZsb3cgKi9cbiAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDA7XG5cbiAgICAgICAgICAgIG1hc2staW1hZ2U6IGxpbmVhci1ncmFkaWVudCgwZGVnLCB0cmFuc3BhcmVudCwgYmxhY2sgNHB4KTtcbiAgICAgICAgfVxuXG4gICAgICAgICYubXhfUm9vbVN1Ymxpc3RfcmVzaXplQm94X2ZvcmNlRXhwYW5kZWQgLm14X1Jvb21TdWJsaXN0X3RpbGVzIHtcbiAgICAgICAgICAgIC8qIGluIHRoaXMgc3RhdGUgdGhlIGRpdiBjYW4gY29sbGFwc2UgaXRzIGhlaWdodCBlbnRpcmVseSBpbiBDaHJvbWl1bSwgKi9cbiAgICAgICAgICAgIC8qIHNvIHByZXZlbnQgdGhhdCBieSBhbGxvd2luZyBvdmVyZmxvdyAqL1xuICAgICAgICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgICAgICAgICAvKiBjbGVhciB0aGUgbWluLWhlaWdodCB0byBtYWtlIGl0IG5vdCBjb2xsYXBzZSBlbnRpcmVseSBpbiBhIHN0YXRlIHdpdGggbm8gYWN0aXZlIHJlc2l6ZXIgKi9cbiAgICAgICAgICAgIG1pbi1oZWlnaHQ6IHVuc2V0O1xuICAgICAgICB9XG5cbiAgICAgICAgLm14X1Jvb21TdWJsaXN0X3Jlc2l6ZXJIYW5kbGVzX3Nob3dOQnV0dG9uIHtcbiAgICAgICAgICAgIGZsZXg6IDAgMCAzMnB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLm14X1Jvb21TdWJsaXN0X3Jlc2l6ZXJIYW5kbGVzIHtcbiAgICAgICAgICAgIGZsZXg6IDAgMCA0cHg7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8qIENsYXNzIG5hbWUgY29tZXMgZnJvbSB0aGUgUmVzaXphYmxlQm94IGNvbXBvbmVudCAqL1xuICAgICAgICAvKiBUaGUgaG92ZXIgc3RhdGUgbmVlZHMgdG8gdXNlIHRoZSB3aG9sZSBzdWJsaXN0LCBub3QganVzdCB0aGUgcmVzaXphYmxlIGJveCwgKi9cbiAgICAgICAgLyogc28gdGhhdCBzZWxlY3RvciBpcyBiZWxvdyBhbmQgb25lIGxldmVsIGhpZ2hlci4gKi9cbiAgICAgICAgLm14X1Jvb21TdWJsaXN0X3Jlc2l6ZXJIYW5kbGUge1xuICAgICAgICAgICAgY3Vyc29yOiBucy1yZXNpemU7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAzcHg7XG5cbiAgICAgICAgICAgIC8qIE92ZXJyaWRlIHN0eWxlcyBmcm9tIGxpYnJhcnkgKi9cbiAgICAgICAgICAgIG1heC13aWR0aDogNjRweDtcbiAgICAgICAgICAgIGhlaWdodDogNHB4ICFpbXBvcnRhbnQ7IC8qIFVwZGF0ZSBSRVNJWkVfSEFORExFX0hFSUdIVCBpZiB0aGlzIGNoYW5nZXMgKi9cblxuICAgICAgICAgICAgLyogVGhpcyBpcyBwb3NpdGlvbmVkIGRpcmVjdGx5IGJlbG93IHRoZSAnc2hvdyBtb3JlJyBidXR0b24uICovXG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgICAgICAgICAgIGJvdHRvbTogMCAhaW1wb3J0YW50OyAvKiBvdmVycmlkZSBmcm9tIGxpYnJhcnkgKi9cbiAgICAgICAgfVxuXG4gICAgICAgICY6aG92ZXIsXG4gICAgICAgICYubXhfUm9vbVN1Ymxpc3RfaGFzTWVudU9wZW4ge1xuICAgICAgICAgICAgLm14X1Jvb21TdWJsaXN0X3Jlc2l6ZXJIYW5kbGUge1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDAuODtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJpbWFyeS1jb250ZW50O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm14X1Jvb21TdWJsaXN0X3Nob3dOQnV0dG9uIHtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBmb250LXNpemU6ICRmb250LTEzcHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAkZm9udC0xOHB4O1xuICAgICAgICBjb2xvcjogJHNlY29uZGFyeS1jb250ZW50O1xuXG4gICAgICAgIC8qIFVwZGF0ZSB0aGUgcmVuZGVyKCkgZnVuY3Rpb24gZm9yIFJvb21TdWJsaXN0IGlmIHRoZXNlIGNoYW5nZSAqL1xuICAgICAgICAvKiBVcGRhdGUgdGhlIExpc3RMYXlvdXQgY2xhc3MgZm9yIG1pblZpc2libGVUaWxlcyBpZiB0aGVzZSBjaGFuZ2UuICovXG4gICAgICAgIGhlaWdodDogMjRweDtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDRweDtcblxuICAgICAgICAvKiBXZSBjcmVhdGUgYSBmbGV4Ym94IHRvIGNoZWF0IGF0IGFsaWdubWVudCAqL1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gICAgICAgIC5teF9Sb29tU3VibGlzdF9zaG93TkJ1dHRvbkNoZXZyb24ge1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgd2lkdGg6IDE4cHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDE4cHg7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMTJweDtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMTZweDtcbiAgICAgICAgICAgIG1hc2stcG9zaXRpb246IGNlbnRlcjtcbiAgICAgICAgICAgIG1hc2stc2l6ZTogY29udGFpbjtcbiAgICAgICAgICAgIG1hc2stcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkdGVydGlhcnktY29udGVudDtcbiAgICAgICAgICAgIGxlZnQ6IC0xcHg7IC8qIGFkanVzdCBmb3IgaW1hZ2UgcG9zaXRpb24gKi9cbiAgICAgICAgfVxuXG4gICAgICAgIC5teF9Sb29tU3VibGlzdF9zaG93TW9yZUJ1dHRvbkNoZXZyb24sXG4gICAgICAgIC5teF9Sb29tU3VibGlzdF9zaG93TGVzc0J1dHRvbkNoZXZyb24ge1xuICAgICAgICAgICAgbWFzay1pbWFnZTogdXJsKFwiQHZlY3Rvci1pbS9jb21wb3VuZC1kZXNpZ24tdG9rZW5zL2ljb25zL2NoZXZyb24tZG93bi5zdmdcIik7XG4gICAgICAgIH1cblxuICAgICAgICAubXhfUm9vbVN1Ymxpc3Rfc2hvd0xlc3NCdXR0b25DaGV2cm9uIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLm14X1Jvb21TdWJsaXN0X2hhc01lbnVPcGVuLFxuICAgICY6bm90KC5teF9Sb29tU3VibGlzdF9taW5pbWl6ZWQpID4gLm14X1Jvb21TdWJsaXN0X2hlYWRlckNvbnRhaW5lcjpmb2N1cy13aXRoaW4sXG4gICAgJjpub3QoLm14X1Jvb21TdWJsaXN0X21pbmltaXplZCkgPiAubXhfUm9vbVN1Ymxpc3RfaGVhZGVyQ29udGFpbmVyOmhvdmVyIHtcbiAgICAgICAgLm14X1Jvb21TdWJsaXN0X21lbnVCdXR0b24ge1xuICAgICAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICAgICAgICAgIHdpZHRoOiAyNHB4O1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDhweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYubXhfUm9vbVN1Ymxpc3RfbWluaW1pemVkIHtcbiAgICAgICAgLm14X1Jvb21TdWJsaXN0X2hlYWRlckNvbnRhaW5lciB7XG4gICAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICAgICAubXhfUm9vbVN1Ymxpc3RfYmFkZ2VDb250YWluZXIge1xuICAgICAgICAgICAgICAgIG9yZGVyOiAwO1xuICAgICAgICAgICAgICAgIGFsaWduLXNlbGY6IGZsZXgtZW5kO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLm14X1Jvb21TdWJsaXN0X3N0aWNrYWJsZSB7XG4gICAgICAgICAgICAgICAgb3JkZXI6IDE7XG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAubXhfUm9vbVN1Ymxpc3RfYXV4QnV0dG9uIHtcbiAgICAgICAgICAgICAgICBvcmRlcjogMjtcbiAgICAgICAgICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAzMnB4ICFpbXBvcnRhbnQ7IC8qICFpbXBvcnRhbnQgdG8gb3ZlcnJpZGUgaG92ZXIgc3R5bGVzICovXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAzMnB4ICFpbXBvcnRhbnQ7IC8qICFpbXBvcnRhbnQgdG8gb3ZlcnJpZGUgaG92ZXIgc3R5bGVzICovXG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDAgIWltcG9ydGFudDsgLyogIWltcG9ydGFudCB0byBvdmVycmlkZSBob3ZlciBzdHlsZXMgKi9cbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcGFuZWwtYWN0aW9ucztcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiA4cHg7XG5cbiAgICAgICAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICB0b3A6IDhweDtcbiAgICAgICAgICAgICAgICAgICAgbGVmdDogOHB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5teF9Sb29tU3VibGlzdF9yZXNpemVCb3gge1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgfVxuXG4gICAgICAgIC5teF9Sb29tU3VibGlzdF9zaG93TkJ1dHRvbiB7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXG4gICAgICAgICAgICAubXhfUm9vbVN1Ymxpc3Rfc2hvd05CdXR0b25DaGV2cm9uIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDEycHg7IC8qIHRvIGNlbnRlciAqL1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLm14X1Jvb21TdWJsaXN0X21lbnVCdXR0b24ge1xuICAgICAgICAgICAgaGVpZ2h0OiAxNnB4O1xuICAgICAgICB9XG5cbiAgICAgICAgJi5teF9Sb29tU3VibGlzdF9oYXNNZW51T3BlbixcbiAgICAgICAgJiA+IC5teF9Sb29tU3VibGlzdF9oZWFkZXJDb250YWluZXI6aG92ZXIge1xuICAgICAgICAgICAgLm14X1Jvb21TdWJsaXN0X21lbnVCdXR0b24ge1xuICAgICAgICAgICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIGJvdHRvbTogNDhweDsgLyogYWxpZ24gdG8gbWlkZGxlIG9mIG5hbWUsIDQwcHggZm9yIGF1eCBidXR0b24gKHdpdGggcGFkZGluZykgYW5kIDhweCBmb3IgYWxpZ25tZW50ICovXG4gICAgICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDE2cHg7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxNnB4O1xuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICAgICAgICAgICAgei1pbmRleDogMTsgLyogb2NjbHVkZSB0aGUgbGlzdCBuYW1lICovXG5cbiAgICAgICAgICAgICAgICAvKiBUaGlzIGlzIHRoZSBzYW1lIGNvbG9yIGFzIHRoZSBsZWZ0IHBhbmVsIGJhY2tncm91bmQgYmVjYXVzZSBpdCBuZWVkcyAqL1xuICAgICAgICAgICAgICAgIC8qIHRvIG9jY2x1ZGUgdGhlIHN1Ymxpc3QgdGl0bGUgKi9cbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcm9vbWxpc3QtYmctY29sb3I7XG5cbiAgICAgICAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLm14X1Jvb21TdWJsaXN0X2hlYWRlckNvbnRhaW5lcjpub3QoLm14X1Jvb21TdWJsaXN0X2hlYWRlckNvbnRhaW5lcl93aXRoQXV4KSB7XG4gICAgICAgICAgICAgICAgLm14X1Jvb21TdWJsaXN0X21lbnVCdXR0b24ge1xuICAgICAgICAgICAgICAgICAgICBib3R0b206IDhweDsgLyogYWxpZ24gdG8gdGhlIG1pZGRsZSBvZiBuYW1lLCA0MHB4IGxlc3MgdGhhbiB0aGUgYGJvdHRvbWAgYWJvdmUuICovXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4ubXhfUm9vbVN1Ymxpc3RfY29udGV4dE1lbnUge1xuICAgIHBhZGRpbmc6IDIwcHggMTZweDtcbiAgICB3aWR0aDogMjUwcHg7XG5cbiAgICBociB7XG4gICAgICAgIG1hcmdpbi10b3A6IDE2cHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDE2cHg7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMTZweDsgLyogYWRkaXRpb25hbCAxNnB4ICovXG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRwcmltYXJ5LWNvbnRlbnQ7XG4gICAgICAgIG9wYWNpdHk6IDAuMTtcbiAgICB9XG5cbiAgICAubXhfUm9vbVN1Ymxpc3RfY29udGV4dE1lbnVfdGl0bGUge1xuICAgICAgICBmb250LXNpemU6ICRmb250LTE1cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAkZm9udC0yMHB4O1xuICAgICAgICBmb250LXdlaWdodDogdmFyKC0tY3BkLWZvbnQtd2VpZ2h0LXNlbWlib2xkKTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNHB4O1xuICAgIH1cblxuICAgIC5teF9TdHlsZWRSYWRpb0J1dHRvbixcbiAgICAubXhfQ2hlY2tib3gge1xuICAgICAgICBtYXJnaW4tdG9wOiA4cHg7XG4gICAgfVxufVxuXG4ubXhfUm9vbVN1Ymxpc3Rfc2tlbGV0b25VSSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1hcmdpbi1sZWZ0OiA0cHg7XG4gICAgaGVpZ2h0OiAyNDBweDtcblxuICAgICY6OmJlZm9yZSB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRyb29tc3VibGlzdC1za2VsZXRvbi11aS1iZztcblxuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuXG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgbWFzay1yZXBlYXQ6IHJlcGVhdC15O1xuICAgICAgICBtYXNrLXNpemU6IGF1dG8gNDhweDtcbiAgICAgICAgbWFzay1pbWFnZTogdXJsKFwiJChyZXMpL2ltZy9lbGVtZW50LWljb25zL3Jvb21saXN0L3NrZWxldG9uLXVpLnN2Z1wiKTtcbiAgICB9XG59XG5cbi5teF9Sb29tU3VibGlzdF9taW5pbWl6ZWQgLm14X1Jvb21TdWJsaXN0X3NrZWxldG9uVUkge1xuICAgIHdpZHRoOiAzMnB4OyAvKiBjdXQgb2ZmIHRoZSBob3Jpem9udGFsIGxpbmVzIGluIHRoZSBzdmcgKi9cbiAgICBtYXJnaW4tbGVmdDogMTBweDsgLyogYWxpZ24gd2l0aCBzdWJsaXN0ICsgYnV0dG9ucyAqL1xufVxuIiwiLypcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxuQ29weXJpZ2h0IDIwMjAtMjAyMyBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxuXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXG4qL1xuXG4vKiBOb3RlOiB0aGUgcm9vbSB0aWxlIGV4cGVjdHMgdG8gYmUgaW4gYSBmbGV4Ym94IGNvbHVtbiBjb250YWluZXIgKi9cbi5teF9Sb29tVGlsZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogNHB4O1xuICAgIHBhZGRpbmc6IDRweDtcblxuICAgIC8qIFRoZSB0aWxlIGlzIGFsc28gYSBmbGV4Ym94IHJvdyBpdHNlbGYgKi9cbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGNvbnRhaW46IGNvbnRlbnQ7IC8qIE5vdCBzdHJpY3QgYXMgaXQgd2lsbCBicmVhayB3aGVuIHJlc2l6aW5nIGEgc3VibGlzdCB2ZXJ0aWNhbGx5ICovXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcblxuICAgIGZvbnQtc2l6ZTogdmFyKC0tY3BkLWZvbnQtc2l6ZS1ib2R5LXNtKTtcblxuICAgICYubXhfUm9vbVRpbGVfc2VsZWN0ZWQsXG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzLXdpdGhpbixcbiAgICAmLm14X1Jvb21UaWxlX2hhc01lbnVPcGVuIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHBhbmVsLWFjdGlvbnM7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgICB9XG5cbiAgICAubXhfRGVjb3JhdGVkUm9vbUF2YXRhcixcbiAgICAubXhfUm9vbVRpbGVfYXZhdGFyQ29udGFpbmVyIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgIH1cblxuICAgIC5teF9Sb29tVGlsZV9kZXRhaWxzIHtcbiAgICAgICAgbWluLXdpZHRoOiAwO1xuICAgIH1cblxuICAgIC5teF9Sb29tVGlsZV90aXRsZUNvbnRhaW5lciB7XG4gICAgICAgIGhlaWdodDogMzJweDtcbiAgICAgICAgbWluLXdpZHRoOiAwO1xuICAgICAgICBmbGV4LWJhc2lzOiAwO1xuICAgICAgICBmbGV4LWdyb3c6IDE7XG4gICAgICAgIG1hcmdpbi1yaWdodDogOHB4OyAvKiBzcGFjaW5nIHRvIGJ1dHRvbnMvYmFkZ2VzICovXG5cbiAgICAgICAgLyogQ3JlYXRlIGEgbmV3IGNvbHVtbiBsYXlvdXQgZmxleGJveCBmb3IgdGhlIHRpdGxlIHBhcnRzICovXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG4gICAgICAgIC5teF9Sb29tVGlsZV9zdWJ0aXRsZSB7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgY29sb3I6ICRzZWNvbmRhcnktY29udGVudDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBnYXA6ICRzcGFjaW5nLTQ7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS4yNTtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIHRvcDogLTFweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5teF9Sb29tVGlsZV90aXRsZSxcbiAgICAgICAgLm14X1Jvb21UaWxlX3N1YnRpdGxlX3RleHQge1xuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5teF9Sb29tVGlsZV90aXRsZSB7XG4gICAgICAgICAgICBmb250OiB2YXIoLS1jcGQtZm9udC1ib2R5LW1kLXJlZ3VsYXIpO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjU7XG5cbiAgICAgICAgICAgICYubXhfUm9vbVRpbGVfdGl0bGVIYXNVbnJlYWRFdmVudHMge1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1jcGQtZm9udC13ZWlnaHQtc2VtaWJvbGQpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLm14X1Jvb21UaWxlX3RpdGxlV2l0aFN1YnRpdGxlIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IC0ycHg7IC8qIHNoaWZ0IHRoZSB0aXRsZSB1cCBhIGJpdCBtb3JlICovXG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubXhfUm9vbVRpbGVfbm90aWZpY2F0aW9uc0J1dHRvbiB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiA0cHg7IC8qIHNwYWNpbmcgYmV0d2VlbiBidXR0b25zICovXG4gICAgfVxuXG4gICAgLm14X1Jvb21UaWxlX2JhZGdlQ29udGFpbmVyIHtcbiAgICAgICAgaGVpZ2h0OiAxNnB4O1xuICAgICAgICAvKiBkb24ndCBzZXQgd2lkdGggc28gdGhhdCBpdCB0YWtlcyBubyBzcGFjZSB3aGVuIHRoZXJlIGlzIG5vIGJhZGdlIHRvIHNob3cgKi9cbiAgICAgICAgbWFyZ2luOiBhdXRvIDA7IC8qIHZlcnRpY2FsbHkgYWxpZ24gKi9cblxuICAgICAgICAvKiBDcmVhdGUgYSBmbGV4Ym94IHRvIG1ha2UgYWxpZ25pbmcgZG90IGJhZGdlcyBlYXNpZXIgKi9cbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgICAgICAubXhfTm90aWZpY2F0aW9uQmFkZ2Uge1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAycHg7IC8qIGNlbnRlcmluZyAqL1xuICAgICAgICB9XG5cbiAgICAgICAgLm14X05vdGlmaWNhdGlvbkJhZGdlX2RvdCB7XG4gICAgICAgICAgICAvKiBtYWtlIHRoZSBzbWFsbGVyIGRvdCBvY2N1cHkgdGhlIHNhbWUgd2lkdGggZm9yIGNlbnRlcmluZyAqL1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDVweDtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogN3B4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyogVGhlIGNvbnRleHQgbWVudSBidXR0b25zIGFyZSBoaWRkZW4gYnkgZGVmYXVsdCAqL1xuICAgIC5teF9Sb29tVGlsZV9tZW51QnV0dG9uLFxuICAgIC5teF9Sb29tVGlsZV9ub3RpZmljYXRpb25zQnV0dG9uIHtcbiAgICAgICAgd2lkdGg6IDIwcHg7XG4gICAgICAgIG1pbi13aWR0aDogMjBweDsgLyogeWF5IGZsZXggKi9cbiAgICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgICAgICBtYXJnaW4tdG9wOiBhdXRvO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiBhdXRvO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgIHRvcDogMnB4O1xuICAgICAgICAgICAgbGVmdDogMnB4O1xuICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgIHdpZHRoOiAxNnB4O1xuICAgICAgICAgICAgaGVpZ2h0OiAxNnB4O1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgbWFzay1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgICAgICAgbWFzay1zaXplOiBjb250YWluO1xuICAgICAgICAgICAgbWFzay1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWNwZC1jb2xvci1pY29uLXByaW1hcnkpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyogSWYgdGhlIHJvb20gaGFzIGFuIG92ZXJyaWRlbiBub3RpZmljYXRpb24gc2V0dGluZyB0aGVuIHdlIGFsd2F5cyBzaG93IHRoZSBub3RpZmljYXRpb25zIG1lbnUgYnV0dG9uICovXG4gICAgLm14X1Jvb21UaWxlX25vdGlmaWNhdGlvbnNCdXR0b24ubXhfUm9vbVRpbGVfbm90aWZpY2F0aW9uc0J1dHRvbl9zaG93IHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgLm14X1Jvb21UaWxlX21lbnVCdXR0b246OmJlZm9yZSB7XG4gICAgICAgIG1hc2staW1hZ2U6IHVybChcIkB2ZWN0b3ItaW0vY29tcG91bmQtZGVzaWduLXRva2Vucy9pY29ucy9vdmVyZmxvdy1ob3Jpem9udGFsLnN2Z1wiKTtcbiAgICB9XG5cbiAgICAmOm5vdCgubXhfUm9vbVRpbGVfbWluaW1pemVkLCAubXhfUm9vbVRpbGVfc3RpY2t5KSB7XG4gICAgICAgICY6aG92ZXIsXG4gICAgICAgICY6Zm9jdXMtd2l0aGluLFxuICAgICAgICAmLm14X1Jvb21UaWxlX2hhc01lbnVPcGVuIHtcbiAgICAgICAgICAgIC8qIEhpZGUgdGhlIGJhZGdlIGNvbnRhaW5lciBvbiBob3ZlciBiZWNhdXNlIGl0J2xsIGJlIGEgbWVudSBidXR0b24gKi9cbiAgICAgICAgICAgIC5teF9Sb29tVGlsZV9iYWRnZUNvbnRhaW5lciB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDA7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAwO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5teF9Sb29tVGlsZV9ub3RpZmljYXRpb25zQnV0dG9uLFxuICAgICAgICAgICAgLm14X1Jvb21UaWxlX21lbnVCdXR0b24ge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi5teF9Sb29tVGlsZV9taW5pbWl6ZWQge1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgLm14X0RlY29yYXRlZFJvb21BdmF0YXIsXG4gICAgICAgIC5teF9Sb29tVGlsZV9hdmF0YXJDb250YWluZXIge1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vKiBXZSB1c2UgdGhlc2UgYm90aCBpbiBjb250ZXh0IG1lbnVzIGFuZCB0aGUgcm9vbSB0aWxlcyAqL1xuLm14X1Jvb21UaWxlX2ljb25CZWxsOjpiZWZvcmUge1xuICAgIG1hc2staW1hZ2U6IHVybChcIiQocmVzKS9pbWcvZWxlbWVudC1pY29ucy9ub3RpZmljYXRpb25zLnN2Z1wiKTtcbn1cbi5teF9Sb29tVGlsZV9pY29uQmVsbERvdDo6YmVmb3JlIHtcbiAgICBtYXNrLWltYWdlOiB1cmwoXCIkKHJlcykvaW1nL2VsZW1lbnQtaWNvbnMvcm9vbWxpc3Qvbm90aWZpY2F0aW9ucy1kZWZhdWx0LnN2Z1wiKTtcbn1cbi5teF9Sb29tVGlsZV9pY29uQmVsbENyb3NzZWQ6OmJlZm9yZSB7XG4gICAgbWFzay1pbWFnZTogdXJsKFwiJChyZXMpL2ltZy9lbGVtZW50LWljb25zL3Jvb21saXN0L25vdGlmaWNhdGlvbnMtb2ZmLnN2Z1wiKTtcbn1cbi5teF9Sb29tVGlsZV9pY29uQmVsbE1lbnRpb25zOjpiZWZvcmUge1xuICAgIG1hc2staW1hZ2U6IHVybChcIiQocmVzKS9pbWcvZWxlbWVudC1pY29ucy9yb29tbGlzdC9ub3RpZmljYXRpb25zLWRtLnN2Z1wiKTtcbn1cblxuLm14X1Jvb21UaWxlX2NvbnRleHRNZW51IHtcbiAgICAubXhfUm9vbVRpbGVfaWNvblN0YXI6OmJlZm9yZSB7XG4gICAgICAgIG1hc2staW1hZ2U6IHVybChcIkB2ZWN0b3ItaW0vY29tcG91bmQtZGVzaWduLXRva2Vucy9pY29ucy9mYXZvdXJpdGUtc29saWQuc3ZnXCIpO1xuICAgIH1cblxuICAgIC5teF9Sb29tVGlsZV9pY29uQXJyb3dEb3duOjpiZWZvcmUge1xuICAgICAgICBtYXNrLWltYWdlOiB1cmwoXCIkKHJlcykvaW1nL2VsZW1lbnQtaWNvbnMvcm9vbWxpc3QvbG93LXByaW9yaXR5LnN2Z1wiKTtcbiAgICB9XG5cbiAgICAubXhfUm9vbVRpbGVfaWNvbk5vdGlmaWNhdGlvbnNEZWZhdWx0OjpiZWZvcmUge1xuICAgICAgICBtYXNrLWltYWdlOiB1cmwoXCIkKHJlcykvaW1nL2VsZW1lbnQtaWNvbnMvbm90aWZpY2F0aW9ucy5zdmdcIik7XG4gICAgfVxuXG4gICAgLm14X1Jvb21UaWxlX2ljb25Ob3RpZmljYXRpb25zQWxsTWVzc2FnZXM6OmJlZm9yZSB7XG4gICAgICAgIG1hc2staW1hZ2U6IHVybChcIiQocmVzKS9pbWcvZWxlbWVudC1pY29ucy9yb29tbGlzdC9ub3RpZmljYXRpb25zLWRlZmF1bHQuc3ZnXCIpO1xuICAgIH1cblxuICAgIC5teF9Sb29tVGlsZV9pY29uTm90aWZpY2F0aW9uc01lbnRpb25zS2V5d29yZHM6OmJlZm9yZSB7XG4gICAgICAgIG1hc2staW1hZ2U6IHVybChcIiQocmVzKS9pbWcvZWxlbWVudC1pY29ucy9yb29tbGlzdC9ub3RpZmljYXRpb25zLWRtLnN2Z1wiKTtcbiAgICB9XG5cbiAgICAubXhfUm9vbVRpbGVfaWNvbk5vdGlmaWNhdGlvbnNOb25lOjpiZWZvcmUge1xuICAgICAgICBtYXNrLWltYWdlOiB1cmwoXCIkKHJlcykvaW1nL2VsZW1lbnQtaWNvbnMvcm9vbWxpc3Qvbm90aWZpY2F0aW9ucy1vZmYuc3ZnXCIpO1xuICAgIH1cblxuICAgIC5teF9Sb29tVGlsZV9pY29uUGVvcGxlOjpiZWZvcmUge1xuICAgICAgICBtYXNrLWltYWdlOiB1cmwoXCJAdmVjdG9yLWltL2NvbXBvdW5kLWRlc2lnbi10b2tlbnMvaWNvbnMvdXNlci1wcm9maWxlLXNvbGlkLnN2Z1wiKTtcbiAgICB9XG5cbiAgICAubXhfUm9vbVRpbGVfaWNvbkZpbGVzOjpiZWZvcmUge1xuICAgICAgICBtYXNrLWltYWdlOiB1cmwoXCJAdmVjdG9yLWltL2NvbXBvdW5kLWRlc2lnbi10b2tlbnMvaWNvbnMvZmlsZXMuc3ZnXCIpO1xuICAgIH1cblxuICAgIC5teF9Sb29tVGlsZV9pY29uUGluczo6YmVmb3JlIHtcbiAgICAgICAgbWFzay1pbWFnZTogdXJsKFwiJChyZXMpL2ltZy9lbGVtZW50LWljb25zL3Jvb20vcGluLXVwcmlnaHQuc3ZnXCIpO1xuICAgIH1cblxuICAgIC5teF9Sb29tVGlsZV9pY29uV2lkZ2V0czo6YmVmb3JlIHtcbiAgICAgICAgbWFzay1pbWFnZTogdXJsKFwiQHZlY3Rvci1pbS9jb21wb3VuZC1kZXNpZ24tdG9rZW5zL2ljb25zL2V4dGVuc2lvbnMtc29saWQuc3ZnXCIpO1xuICAgIH1cblxuICAgIC5teF9Sb29tVGlsZV9pY29uU2V0dGluZ3M6OmJlZm9yZSB7XG4gICAgICAgIG1hc2staW1hZ2U6IHVybChcIkB2ZWN0b3ItaW0vY29tcG91bmQtZGVzaWduLXRva2Vucy9pY29ucy9zZXR0aW5ncy1zb2xpZC5zdmdcIik7XG4gICAgfVxuXG4gICAgLm14X1Jvb21UaWxlX2ljb25FeHBvcnQ6OmJlZm9yZSB7XG4gICAgICAgIG1hc2staW1hZ2U6IHVybChcIkB2ZWN0b3ItaW0vY29tcG91bmQtZGVzaWduLXRva2Vucy9pY29ucy9leHBvcnQtYXJjaGl2ZS5zdmdcIik7XG4gICAgfVxuXG4gICAgLm14X1Jvb21UaWxlX2ljb25Db3B5TGluazo6YmVmb3JlIHtcbiAgICAgICAgbWFzay1pbWFnZTogdXJsKFwiQHZlY3Rvci1pbS9jb21wb3VuZC1kZXNpZ24tdG9rZW5zL2ljb25zL2xpbmsuc3ZnXCIpO1xuICAgIH1cblxuICAgIC5teF9Sb29tVGlsZV9pY29uSW52aXRlOjpiZWZvcmUge1xuICAgICAgICBtYXNrLWltYWdlOiB1cmwoXCIkKHJlcykvaW1nL2VsZW1lbnQtaWNvbnMvcm9vbS9pbnZpdGUuc3ZnXCIpO1xuICAgIH1cblxuICAgIC5teF9Sb29tVGlsZV9pY29uU2lnbk91dDo6YmVmb3JlIHtcbiAgICAgICAgbWFzay1pbWFnZTogdXJsKFwiQHZlY3Rvci1pbS9jb21wb3VuZC1kZXNpZ24tdG9rZW5zL2ljb25zL2xlYXZlLnN2Z1wiKTtcbiAgICB9XG59XG4iLCIvKlxuQ29weXJpZ2h0IDIwMTgtMjAyNCBOZXcgVmVjdG9yIEx0ZC5cblxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuKi9cblxuLm14X1Jvb21VcGdyYWRlV2FybmluZ0JhciB7XG4gICAgbWF4LWhlaWdodDogMjM1cHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGluZm8tcGxpbnRoLWJnLWNvbG9yO1xuICAgIHBhZGRpbmctbGVmdDogMjBweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAyMHB4O1xuICAgIG92ZXJmbG93OiBzY3JvbGw7XG59XG5cbi5teF9Sb29tVXBncmFkZVdhcm5pbmdCYXJfd3JhcHBlZCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAtd2Via2l0LWFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbi5teF9Sb29tVXBncmFkZVdhcm5pbmdCYXJfaGVhZGVyIHtcbiAgICBjb2xvcjogJGFsZXJ0O1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG4ubXhfUm9vbVVwZ3JhZGVXYXJuaW5nQmFyX2JvZHkge1xuICAgIGNvbG9yOiAkYWxlcnQ7XG59XG5cbi5teF9Sb29tVXBncmFkZVdhcm5pbmdCYXJfdXBncmFkZWxpbmsge1xuICAgIGNvbG9yOiAkYWxlcnQ7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG59XG5cbi5teF9Sb29tVXBncmFkZVdhcm5pbmdCYXJfc21hbGwge1xuICAgIGNvbG9yOiAkaW5mby1wbGludGgtZmctY29sb3I7XG4gICAgZm9udC1zaXplOiA3MCU7XG59XG4iLCIvKlxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXG5Db3B5cmlnaHQgMjAxOSBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxuXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXG4qL1xuXG4ubXhfU2VuZE1lc3NhZ2VDb21wb3NlciB7XG4gICAgZmxleDogMTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZm9udDogdmFyKC0tY3BkLWZvbnQtYm9keS1tZC1yZWd1bGFyKTtcbiAgICAvKiBmaXhlZCBsaW5lIGhlaWdodCB0byBwcmV2ZW50IGVtb2ppIGZyb20gYmVpbmcgdGFsbGVyIHRoYW4gdGV4dCAqL1xuICAgIGxpbmUtaGVpZ2h0OiAkZm9udC0xOHB4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIG1hcmdpbi1yaWdodDogNnB4O1xuICAgIC8qIGRvbid0IGdyb3cgd2lkZXIgdGhhbiBhdmFpbGFibGUgc3BhY2UgKi9cbiAgICBtaW4td2lkdGg6IDA7XG5cbiAgICAubXhfQmFzaWNNZXNzYWdlQ29tcG9zZXIge1xuICAgICAgICBmbGV4OiAxO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAvKiBtaW4taGVpZ2h0IGF0IHRoaXMgbGV2ZWwgc28gdGhlIG14X0Jhc2ljTWVzc2FnZUNvbXBvc2VyX2lucHV0ICovXG4gICAgICAgIC8qIHN0aWxsIHN0YXlzIHZlcnRpY2FsbHkgY2VudGVyZWQgd2hlbiBsZXNzIHRoYW4gNTVweC4gKi9cbiAgICAgICAgLyogV2UgYWxzbyBzZXQgdGhpcyB0byBlbnN1cmUgdGhlIHZvaWNlIG1lc3NhZ2UgcmVjb3JkaW5nIHdpZGdldCAqL1xuICAgICAgICAvKiBkb2Vzbid0IGNhdXNlIGEganVtcC4gKi9cbiAgICAgICAgbWluLWhlaWdodDogNTVweDtcblxuICAgICAgICAubXhfQmFzaWNNZXNzYWdlQ29tcG9zZXJfaW5wdXQge1xuICAgICAgICAgICAgcGFkZGluZzogM3B4IDA7XG4gICAgICAgICAgICAvKiB0aGlzIHdpbGwgY2VudGVyIHRoZSBjb250ZW50ZWRpdGFibGUgKi9cbiAgICAgICAgICAgIC8qIGluIGl0J3MgcGFyZW50IHZlcnRpY2FsbHkgKi9cbiAgICAgICAgICAgIC8qIHdoaWxlIGtlZXBpbmcgdGhlIGF1dG9jb21wbGV0ZSBhdCB0aGUgdG9wICovXG4gICAgICAgICAgICAvKiBvZiB0aGUgY29tcG9zZXIuIFRoZSBwYXJlbnQgbmVlZHMgdG8gYmUgYSBmbGV4IGNvbnRhaW5lciBmb3IgdGhpcyB0byB3b3JrLiAqL1xuICAgICAgICAgICAgbWFyZ2luOiBhdXRvIDA7XG4gICAgICAgICAgICAvKiBtYXgtaGVpZ2h0IGF0IHRoaXMgbGV2ZWwgc28gYXV0b2NvbXBsZXRlIGRvZXNuJ3QgZ2V0IHNjcm9sbGVkIHRvbyAqL1xuICAgICAgICAgICAgbWF4LWhlaWdodDogMTQwcHg7XG4gICAgICAgICAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiLm14X1N0aWNrZXJzX2NvbnRlbnQge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5teF9TdGlja2Vyc19jb250ZW50X2NvbnRhaW5lciB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBoZWlnaHQ6IDMwMHB4O1xufVxuXG4jbXhfcGVyc2lzdGVkRWxlbWVudF9zdGlja2VyUGlja2VyIHtcbiAgICAubXhfQXBwVGlsZUZ1bGxXaWR0aCB7XG4gICAgICAgIGhlaWdodDogdW5zZXQ7XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIGJvcmRlci1sZWZ0OiBub25lO1xuICAgICAgICBib3JkZXItcmlnaHQ6IG5vbmU7XG4gICAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gICAgfVxuXG4gICAgLm14X0FwcFRpbGVNZW51QmFyIHtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICB9XG5cbiAgICBpZnJhbWUge1xuICAgICAgICAvKiBTdGlja2VyIHBpY2tlciBkZXBlbmRzIG9uIHRoZSBmaXhlZCBoZWlnaHQgcHJldmlvdXNseSB1c2VkIGZvciBhbGwgdGlsZXMgKi9cbiAgICAgICAgaGVpZ2h0OiAyODNweDsgLyogaGVpZ2h0IG9mIHRoZSBwb3BvdXQgbWludXMgdGhlIEFwcFRpbGUgbWVudSBiYXIgKi9cbiAgICB9XG59XG5cbi5teF9TdGlja2Vyc19jb250ZW50UGxhY2Vob2xkZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1ncm93OiAxO1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5teF9TdGlja2Vyc19jb250ZW50UGxhY2Vob2xkZXIgcCB7XG4gICAgbWF4LXdpZHRoOiAyMDBweDtcbn1cblxuLm14X1N0aWNrZXJzX2FkZExpbmsge1xuICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgY29sb3I6ICRhY2NlbnQ7XG59XG4iLCIvKlxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXG5Db3B5cmlnaHQgMjAyMyBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxuXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXG4qL1xuXG4ubXhfVGhpcmRQYXJ0eU1lbWJlckluZm8ge1xuICAgIHBhZGRpbmc6IHZhcigtLWNwZC1zcGFjZS00eCk7XG59XG4iLCIvKlxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXG5Db3B5cmlnaHQgMjAyMiBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxuXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXG4qL1xuXG4ubXhfVGhyZWFkU3VtbWFyeSxcbi5teF9UaHJlYWRTdW1tYXJ5X2NvbnRlbnQge1xuICAgIGNvbG9yOiAkc2Vjb25kYXJ5LWNvbnRlbnQ7XG59XG5cbi5teF9UaHJlYWRTdW1tYXJ5LFxuLm14X1RocmVhZFN1bW1hcnlfaWNvbiB7XG4gICAgbWFyZ2luLXRvcDogJHNwYWNpbmctODtcbn1cblxuLm14X1RocmVhZFN1bW1hcnkge1xuICAgIG1pbi13aWR0aDogMjY3cHg7XG4gICAgLyogbGVhdmUgc3BhY2Ugb24gYm90aCBsZWZ0ICYgcmlnaHQgZ3V0dGVycyAqL1xuICAgIG1heC13aWR0aDogbWluKGNhbGMoMTAwJSAtIHZhcigtLUV2ZW50VGlsZV9ncm91cF9saW5lLXNwYWNpbmctaW5saW5lLXN0YXJ0KSksIDYwMHB4KTtcbiAgICB3aWR0aDogZml0LWNvbnRlbnQ7XG4gICAgaGVpZ2h0OiA0MHB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcGFuZWxzO1xuICAgIHBhZGRpbmctaW5saW5lOiAkc3BhY2luZy0xMiAkc3BhY2luZy0xNjtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIGNsZWFyOiBib3RoO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgYm9yZGVyOiAxcHggc29saWQgJHBhbmVsczsgLyogYWx3YXlzIHJlbmRlciBhIGJvcmRlciBzbyB0aGUgaG92ZXIgZWZmZWN0IGRvZXNuJ3QgcmVxdWlyZSBhIHJlLWxheW91dCAqL1xuICAgIGZvbnQ6IHZhcigtLWNwZC1mb250LWJvZHktc20tcmVndWxhcik7XG5cbiAgICAubXhfVGhyZWFkU3VtbWFyeV9jaGV2cm9uIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIHdpZHRoOiA2MHB4O1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICAvKiBYWFg6IFdlIHVzZSBhbiBIRVhBIGB0cmFuc3BhcmVudGAgdG8gd29yayBhcm91bmQgYSBTYWZhcmkgPDE1LjQgYnVnICovXG4gICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgyNzBkZWcsICRzeXN0ZW0gNTAlLCAkc3lzdGVtLXRyYW5zcGFyZW50IDEwMCUpO1xuXG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCg2MHB4KTtcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMXMgZWFzZS1pbi1vdXQ7XG5cbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICAgIHJpZ2h0OiB2YXIoLS1jcGQtc3BhY2UtMXgpO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgICAgICAgICAgd2lkdGg6IDI0cHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDI0cHg7XG4gICAgICAgICAgICBtYXNrLWltYWdlOiB1cmwoXCJAdmVjdG9yLWltL2NvbXBvdW5kLWRlc2lnbi10b2tlbnMvaWNvbnMvY2hldnJvbi1yaWdodC5zdmdcIik7XG4gICAgICAgICAgICBtYXNrLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICAgICAgICBtYXNrLXNpemU6IGNvbnRhaW47XG4gICAgICAgICAgICBtYXNrLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHNlY29uZGFyeS1jb250ZW50O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkcXVpbmFyeS1jb250ZW50O1xuXG4gICAgICAgIC5teF9UaHJlYWRTdW1tYXJ5X2NoZXZyb24ge1xuICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5teF9UaHJlYWRTdW1tYXJ5X3NlbmRlcixcbiAgICAubXhfVGhyZWFkU3VtbWFyeV9jb250ZW50LFxuICAgIC5teF9UaHJlYWRTdW1tYXJ5X3JlcGxpZXNfYW1vdW50IHtcbiAgICAgICAgbGluZS1oZWlnaHQ6IHZhcigtLUV2ZW50VGlsZV9UaHJlYWRTdW1tYXJ5LWxpbmUtaGVpZ2h0KTtcbiAgICB9XG5cbiAgICAubXhfVGhyZWFkU3VtbWFyeV9zZW5kZXIsXG4gICAgLm14X1RocmVhZFN1bW1hcnlfY29udGVudCB7XG4gICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIH1cblxuICAgIC5teF9UaHJlYWRTdW1tYXJ5X3NlbmRlciB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1jcGQtZm9udC13ZWlnaHQtc2VtaWJvbGQpO1xuICAgIH1cblxuICAgIC5teF9UaHJlYWRTdW1tYXJ5X2NvbnRlbnQge1xuICAgICAgICBtYXJnaW4tbGVmdDogJHNwYWNpbmctNDtcbiAgICAgICAgZmxleDogMTtcbiAgICB9XG5cbiAgICAubXhfVGhyZWFkU3VtbWFyeV9yZXBsaWVzX2Ftb3VudCB7XG4gICAgICAgIEBtaXhpbiBUaHJlYWRSZXBsaWVzQW1vdW50O1xuICAgIH1cblxuICAgIC5teF9NZXNzYWdlUGFuZWxfbmFycm93ICYge1xuICAgICAgICBtaW4td2lkdGg6IGluaXRpYWw7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTsgLyogcHJldmVudCBvdmVyZmxvdyAqL1xuICAgICAgICB3aWR0aDogaW5pdGlhbDtcbiAgICB9XG59XG5cbi5teF9UaHJlYWRTdW1tYXJ5X2F2YXRhciB7XG4gICAgbWFyZ2luLWlubGluZS1lbmQ6ICRzcGFjaW5nLTg7XG4gICAgZmxleC1zaHJpbms6IDA7XG59XG5cbi5teF9UaHJlYWRTdW1tYXJ5X2ljb24ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW4tYm90dG9tOiAkc3BhY2luZy04O1xuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgICAgQG1peGluIFRocmVhZFN1bW1hcnlJY29uO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICBtYXJnaW4taW5saW5lLWVuZDogJHNwYWNpbmctODtcbiAgICAgICAgbWFyZ2luLXRvcDogLTJweDtcbiAgICB9XG5cbiAgICBhJiB7XG4gICAgICAgIGNvbG9yOiAkc2Vjb25kYXJ5LWNvbnRlbnQ7XG4gICAgfVxufVxuIiwiLypcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxuQ29weXJpZ2h0IDIwMTYgT3Blbk1hcmtldCBMdGRcblxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuKi9cblxuLm14X1RvcFVucmVhZE1lc3NhZ2VzQmFyIHtcbiAgICB6LWluZGV4OiAxMDAwO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDI0cHg7XG4gICAgcmlnaHQ6IDI0cHg7XG4gICAgd2lkdGg6IDM4cHg7XG59XG5cbi5teF9Ub3BVbnJlYWRNZXNzYWdlc0Jhcjo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogLThweDtcbiAgICBsZWZ0OiAxMXB4O1xuICAgIHdpZHRoOiA0cHg7XG4gICAgaGVpZ2h0OiA0cHg7XG4gICAgYm9yZGVyLXJhZGl1czogMTZweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jcGQtY29sb3ItYmctY2FudmFzLWRlZmF1bHQpO1xuICAgIGJvcmRlcjogNnB4IHNvbGlkIHZhcigtLWNwZC1jb2xvci1pY29uLWFjY2VudC10ZXJ0aWFyeSk7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5cbi5teF9Ub3BVbnJlYWRNZXNzYWdlc0Jhcl9zY3JvbGxVcCB7XG4gICAgaGVpZ2h0OiAzOHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDE5cHg7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZDtcbiAgICBib3JkZXI6IDEuM3B4IHNvbGlkIHZhcigtLWNwZC1jb2xvci1pY29uLXRlcnRpYXJ5KTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi5teF9Ub3BVbnJlYWRNZXNzYWdlc0Jhcl9zY3JvbGxVcDo6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB3aWR0aDogMzZweDtcbiAgICBoZWlnaHQ6IDM2cHg7XG4gICAgbWFzay1pbWFnZTogdXJsKFwiQHZlY3Rvci1pbS9jb21wb3VuZC1kZXNpZ24tdG9rZW5zL2ljb25zL2NoZXZyb24tdXAuc3ZnXCIpO1xuICAgIG1hc2stcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgbWFzay1zaXplOiAyNHB4O1xuICAgIG1hc2stcG9zaXRpb246IGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jcGQtY29sb3ItaWNvbi10ZXJ0aWFyeSk7XG59XG5cbi5teF9Ub3BVbnJlYWRNZXNzYWdlc0Jhcl9tYXJrQXNSZWFkIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMThweDtcbiAgICBoZWlnaHQ6IDE4cHg7XG4gICAgYmFja2dyb3VuZDogJGJhY2tncm91bmQ7XG4gICAgYm9yZGVyOiAxLjNweCBzb2xpZCB2YXIoLS1jcGQtY29sb3ItaWNvbi10ZXJ0aWFyeSk7XG4gICAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgICBtYXJnaW46IDVweCBhdXRvO1xufVxuXG4ubXhfVG9wVW5yZWFkTWVzc2FnZXNCYXJfbWFya0FzUmVhZDo6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB3aWR0aDogMThweDtcbiAgICBoZWlnaHQ6IDE4cHg7XG4gICAgbWFzay1pbWFnZTogdXJsKFwiQHZlY3Rvci1pbS9jb21wb3VuZC1kZXNpZ24tdG9rZW5zL2ljb25zL2Nsb3NlLnN2Z1wiKTtcbiAgICBtYXNrLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIG1hc2stc2l6ZTogMTZweDtcbiAgICBtYXNrLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY3BkLWNvbG9yLWljb24tdGVydGlhcnkpO1xufVxuIiwiLypcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxuXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXG4qL1xuXG4ubXhfVXNlcklkZW50aXR5V2FybmluZyB7XG4gICAgLyogNDJweCBpcyB0aGUgcGFkZGluZy1sZWZ0IG9mIC5teF9NZXNzYWdlQ29tcG9zZXJfd3JhcHBlciBpbiByZXMvY3NzL3ZpZXdzL3Jvb21zL19NZXNzYWdlQ29tcG9zZXIucGNzcyAqL1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKC00MnB4ICsgdmFyKC0tUm9vbVZpZXdfTWVzc2FnZUxpc3QtcGFkZGluZykpO1xuXG4gICAgLm14X1VzZXJJZGVudGl0eVdhcm5pbmdfcm93IHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgICAgICAubXhfQmFzZUF2YXRhciB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogdmFyKC0tY3BkLXNwYWNlLTJ4KTtcbiAgICAgICAgfVxuICAgICAgICAubXhfVXNlcklkZW50aXR5V2FybmluZ19tYWluIHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiB2YXIoLS1jcGQtc3BhY2UtNngpO1xuICAgICAgICAgICAgZmxleC1ncm93OiAxO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4ubXhfTWVzc2FnZUNvbXBvc2VyLm14X01lc3NhZ2VDb21wb3Nlci0tY29tcGFjdCA+IC5teF9Vc2VySWRlbnRpdHlXYXJuaW5nIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYygtMjVweCArIHZhcigtLVJvb21WaWV3X01lc3NhZ2VMaXN0LXBhZGRpbmcpKTtcbn1cbiIsIi8qXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cbkNvcHlyaWdodCAyMDIxIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXG5cblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cbiovXG5cbi5teF9Wb2ljZVJlY29yZENvbXBvc2VyVGlsZV9zdG9wIHtcbiAgICAvKiAyOHB4IHBsdXMgYSAycHggYm9yZGVyIG1ha2VzIHRoaXMgYSAzMnB4IHNxdWFyZSAoYXMgaW50ZW5kZWQpICovXG4gICAgd2lkdGg6IDI4cHg7XG4gICAgaGVpZ2h0OiAyOHB4O1xuICAgIGJvcmRlcjogMnB4IHNvbGlkICR2b2ljZS1yZWNvcmQtc3RvcC1ib3JkZXItY29sb3I7XG4gICAgYm9yZGVyLXJhZGl1czogMzJweDtcbiAgICBtYXJnaW4tcmlnaHQ6IDJweDsgLyogYmV0d2VlbiB1cyBhbmQgdGhlIHdhdmVmb3JtIGNvbXBvbmVudCAqL1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICY6OmFmdGVyIHtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgd2lkdGg6IDE0cHg7XG4gICAgICAgIGhlaWdodDogMTRweDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDdweDtcbiAgICAgICAgbGVmdDogN3B4O1xuICAgICAgICBib3JkZXItcmFkaXVzOiAycHg7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR2b2ljZS1yZWNvcmQtc3RvcC1zeW1ib2wtY29sb3I7XG4gICAgfVxufVxuXG4ubXhfVm9pY2VSZWNvcmRDb21wb3NlclRpbGVfZGVsZXRlIHtcbiAgICB3aWR0aDogMjRweDtcbiAgICBoZWlnaHQ6IDI0cHg7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICBtYXJnaW4tcmlnaHQ6IDJweDsgLyogZGlzdGFuY2UgZnJvbSBsZWZ0IGVkZ2Ugb2Ygd2F2ZWZvcm0gY29udGFpbmVyIChjb250YWluZXIgaGFzIHNvbWUgbWFyZ2luIHRvbykgKi9cbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdm9pY2UtcmVjb3JkLWljb24tY29sb3I7XG4gICAgbWFzay1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBtYXNrLXNpemU6IGNvbnRhaW47XG4gICAgbWFzay1pbWFnZTogdXJsKFwiQHZlY3Rvci1pbS9jb21wb3VuZC1kZXNpZ24tdG9rZW5zL2ljb25zL2RlbGV0ZS5zdmdcIik7XG59XG5cbi5teF9Wb2ljZVJlY29yZENvbXBvc2VyVGlsZV91cGxvYWRpbmdTdGF0ZSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgIGNvbG9yOiAkc2Vjb25kYXJ5LWNvbnRlbnQ7XG59XG5cbi5teF9Wb2ljZVJlY29yZENvbXBvc2VyVGlsZV9mYWlsZWRTdGF0ZSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAyMXB4O1xuXG4gICAgLm14X1ZvaWNlUmVjb3JkQ29tcG9zZXJUaWxlX3VwbG9hZFN0YXRlX2JhZGdlIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDRweDtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICB9XG59XG5cbi5teF9NZXNzYWdlQ29tcG9zZXJfcm93IC5teF9Wb2ljZU1lc3NhZ2VQcmltYXJ5Q29udGFpbmVyIHtcbiAgICAvKiBOb3RlOiByZW1haW5pbmcgY2xhc3MgcHJvcGVydGllcyBhcmUgaW4gdGhlIFBsYXllckNvbnRhaW5lciBDU1MuICovXG5cbiAgICAvKiBmaXhlZCBoZWlnaHQgdG8gcmVkdWNlIGxheW91dCBqdW1wcyB3aXRoIHRoZSBwbGF5IGJ1dHRvbiBhcHBlYXJpbmcgKi9cbiAgICAvKiBodHRwczovL2dpdGh1Yi5jb20vdmVjdG9yLWltL2VsZW1lbnQtd2ViL2lzc3Vlcy8xODQzMSAqL1xuICAgIGhlaWdodDogMzJweDtcblxuICAgIG1hcmdpbjogNnB4OyAvKiBmb3JjZSB0aGUgY29tcG9zZXIgYXJlYSB0byBwdXQgYSBndXR0ZXIgYXJvdW5kIHVzICovXG4gICAgbWFyZ2luLXJpZ2h0OiA2cHg7IC8qIGlzb2xhdGUgZnJvbSBzdG9wL3NlbmQgYnV0dG9uICovXG5cbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IC8qIGltcG9ydGFudCBmb3IgdGhlIGxpdmUgY2lyY2xlICovXG5cbiAgICAmLm14X1ZvaWNlUmVjb3JkQ29tcG9zZXJUaWxlX3JlY29yZGluZyB7XG4gICAgICAgIC8qIFdlIGFyZSBwdXR0aW5nIHRoZSBjaXJjbGUgaW4gdGhpcyBwYWRkaW5nLCBzbyB3ZSBuZWVkICsxMHB4IGZyb20gdGhlIHJlZ3VsYXIgKi9cbiAgICAgICAgLyogcGFkZGluZyBvbiB0aGUgbGVmdCBzaWRlLiAqL1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDIycHg7XG5cbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgIGFuaW1hdGlvbjogcmVjb3JkaW5nLXB1bHNlIDJzIGluZmluaXRlO1xuXG4gICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHZvaWNlLXJlY29yZC1saXZlLWNpcmNsZS1jb2xvcjtcbiAgICAgICAgICAgIHdpZHRoOiAxMHB4O1xuICAgICAgICAgICAgaGVpZ2h0OiAxMHB4O1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgbGVmdDogMTJweDsgLyogMTJweCBmcm9tIHRoZSBsZWZ0IGVkZ2UgZm9yIGNvbnRhaW5lciBwYWRkaW5nICovXG4gICAgICAgICAgICB0b3A6IDE3cHg7IC8qIHZlcnRpY2FsbHkgY2VudGVyIChtaWRkbGUgYWxpZ24gd2l0aCBjbG9jaykgKi9cbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5teF9NZXNzYWdlQ29tcG9zZXJfd3lzaXd5ZyAubXhfVm9pY2VNZXNzYWdlUHJpbWFyeUNvbnRhaW5lciB7XG4gICAgJi5teF9Wb2ljZVJlY29yZENvbXBvc2VyVGlsZV9yZWNvcmRpbmcge1xuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgdG9wOiAxNXB4OyAvKiB2ZXJ0aWNhbGx5IGNlbnRlciAobWlkZGxlIGFsaWduIHdpdGggY2xvY2spICovXG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8qIFRoZSBrZXlmcmFtZXMgYXJlIHNsaWdodGx5IHdlaXJkIGhlcmUgdG8gaGVscCBtYWtlIGEgcmFtcGluZy9wdW5jaCBlZmZlY3QgKi9cbi8qIGZvciB0aGUgcmVjb3JkaW5nIGRvdC4gV2Ugc3RhcnQgYW5kIGVuZCBhdCAxMDAlIG9wYWNpdHkgdG8gaGVscCBtYWtlIHRoZSAqL1xuLyogZG90IGZlZWwgYSBiaXQgbGlrZSBhIHJlYWwgbGFtcCB0aGF0IGlzIGJsaW5raW5nOiB0aGUgYW5pbWF0aW9uIGVuZHMgdXAgKi9cbi8qIHNwZW5kaW5nIGEgbG90IG9mIGl0cyB0aW1lIHNob3dpbmcgYSBzdGVhZHkgc3RhdGUgd2l0aG91dCBhIGZhZGUgZWZmZWN0LiAqL1xuLyogVGhpcyBsYW1wIGVmZmVjdCBleHRlbmRzIGludG8gd2h5IHRoZSAwJSBvcGFjaXR5IGtleWZyYW1lIGlzIG5vdCBpbiB0aGUgKi9cbi8qIG1pZHBvaW50OiBsYW1wcyB0YWtlIGxvbmdlciB0byB0dXJuIG9mZiB0aGFuIHRoZXkgZG8gdG8gdHVybiBvbiwgYW5kIHRoZSAqL1xuLyogZXh0cmEgZnJhbWVzIGdpdmUgaXQgYSBiaXQgb2YgYSByZWFsaXN0aWMgcHVuY2ggZm9yIHdoZW4gdGhlIGFuaW1hdGlvbiBpcyAqL1xuLyogcmFtcGluZyBiYWNrIHVwIHRvIDEwMCUgb3BhY2l0eS4gKi9cblxuLyogVGFyZ2V0IGFuaW1hdGlvbiB0aW1pbmdzOiBzdGVhZHkgZm9yIDEuNXMsIGZhZGUgb3V0IGZvciAwLjNzLCBmYWRlIGluIGZvciAwLjJzICovXG4vKiAoaW50ZW5kZWQgdG8gYmUgdXNlZCBpbiBhIGxvb3AgZm9yIDJzIGFuaW1hdGlvbiBzcGVlZCkgKi9cbkBrZXlmcmFtZXMgcmVjb3JkaW5nLXB1bHNlIHtcbiAgICAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxuICAgIDM1JSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgfVxuICAgIDY1JSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxufVxuIiwiLypcbkNvcHlyaWdodCAyMDE4LTIwMjQgTmV3IFZlY3RvciBMdGQuXG5cblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cbiovXG5cbi5teF9XaG9Jc1R5cGluZ1RpbGUge1xuICAgIG1hcmdpbi1sZWZ0OiAtMThweDsgLyogb2Zmc2V0IHBhZGRpbmcgZnJvbSBteF9Sb29tVmlld19NZXNzYWdlTGlzdCB0byBjZW50ZXIgYXZhdGFycyAqL1xuICAgIHBhZGRpbmctdG9wOiAxOHB4O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cblxuLyogcG9zaXRpb24gdGhlIGluZGljYXRvciBpbiB0aGUgc2FtZSBwbGFjZSBob3Jpem9udGFsbHkgYXMgLm14X0V2ZW50VGlsZV9hdmF0YXIuICovXG4ubXhfV2hvSXNUeXBpbmdUaWxlX2F2YXRhcnMge1xuICAgIGZsZXg6IDAgMCA4MnB4OyAvKiAxOCAocGFkZGluZyBvbiBtZXNzYWdlIGxpc3QpICsgNjQgKHBhZGRpbmcgb24gZXZlbnQgbGluZXMpICovXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4ubXhfV2hvSXNUeXBpbmdUaWxlX2F2YXRhcnMgPiA6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgIG1hcmdpbi1sZWZ0OiAtMTJweDtcbn1cblxuLm14X1dob0lzVHlwaW5nVGlsZV9hdmF0YXJzIC5teF9CYXNlQXZhdGFyIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkYmFja2dyb3VuZDtcbiAgICBib3JkZXItcmFkaXVzOiA0MHB4O1xufVxuXG4ubXhfV2hvSXNUeXBpbmdUaWxlX3JlbWFpbmluZ0F2YXRhclBsYWNlaG9sZGVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGNvbG9yOiAkcHJpbWFyeS1jb250ZW50O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRxdWluYXJ5LWNvbnRlbnQ7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJGJhY2tncm91bmQ7XG4gICAgYm9yZGVyLXJhZGl1czogNDBweDtcbiAgICB3aWR0aDogMjRweDtcbiAgICBoZWlnaHQ6IDI0cHg7XG4gICAgbGluZS1oZWlnaHQ6ICRmb250LTI0cHg7XG4gICAgZm9udC1zaXplOiAwLjhlbTtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLm14X1dob0lzVHlwaW5nVGlsZV9sYWJlbCB7XG4gICAgZmxleDogMTtcbiAgICBmb250OiB2YXIoLS1jcGQtZm9udC1ib2R5LW1kLXNlbWlib2xkKTtcbiAgICBjb2xvcjogJHJvb210b3BpYy1jb2xvcjtcbn1cblxuLm14X1dob0lzVHlwaW5nVGlsZV9sYWJlbCA+IHNwYW4ge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIiQocmVzKS9pbWcvdHlwaW5nLWluZGljYXRvci0yeC5naWZcIik7XG4gICAgYmFja2dyb3VuZC1zaXplOiAyNXB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGxlZnQgYm90dG9tO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgcGFkZGluZy1ib3R0b206IDE1cHg7XG4gICAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5teF9NYXRyaXhDaGF0X3VzZUNvbXBhY3RMYXlvdXQge1xuICAgIC5teF9XaG9Jc1R5cGluZ1RpbGUge1xuICAgICAgICBwYWRkaW5nLXRvcDogNHB4O1xuICAgIH1cbn1cbiIsIi8qXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cbkNvcHlyaWdodCAyMDIyIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXG5cblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cbiovXG5cbi5teF9FZGl0V3lzaXd5Z0NvbXBvc2VyIHtcbiAgICAtLUVkaXRXeXNpd3lnQ29tcG9zZXItcGFkZGluZy1pbmxpbmU6IDNweDtcblxuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBtYXgtd2lkdGg6IDEwMCU7IC8qIGRpc2FibGUgb3ZlcmZsb3cgKi9cbiAgICB3aWR0aDogYXV0bztcbiAgICBnYXA6IDhweDtcbiAgICBwYWRkaW5nOiA4cHggdmFyKC0tRWRpdFd5c2l3eWdDb21wb3Nlci1wYWRkaW5nLWlubGluZSk7XG5cbiAgICAubXhfV3lzaXd5Z0NvbXBvc2VyX0VkaXRvcl9jb250ZW50IHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAgICAgICBib3JkZXI6IHNvbGlkIDFweCAkcHJpbWFyeS1oYWlybGluZS1jb2xvcjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG4gICAgICAgIG1heC1oZWlnaHQ6IDIwMHB4O1xuICAgICAgICBwYWRkaW5nOiAzcHggNnB4O1xuXG4gICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkYWNjZW50LTQwMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5teF9FZGl0V3lzaXd5Z0NvbXBvc2VyX2J1dHRvbnMge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWZsb3c6IHJvdyB3cmFwLXJldmVyc2U7IC8qIGRpc3BsYXkgXCJTYXZlXCIgb3ZlciBcIkNhbmNlbFwiICovXG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICAgIGdhcDogNXB4O1xuICAgICAgICBtYXJnaW4taW5saW5lLXN0YXJ0OiBhdXRvO1xuXG4gICAgICAgIC5teF9BY2Nlc3NpYmxlQnV0dG9uIHtcbiAgICAgICAgICAgIGZsZXg6IDE7XG4gICAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICAgICAgbWluLXdpZHRoOiAxMDBweDsgLyogbWFnaWMgbnVtYmVyIHRvIGFsaWduIHRoZSBlZGdlIG9mIHRoZSBidXR0b24gd2l0aCB0aGUgaW5wdXQgYXJlYSAqL1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm14X0Zvcm1hdHRpbmdCdXR0b25zX0J1dHRvbiB7XG4gICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDBweDtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi8qXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cbkNvcHlyaWdodCAyMDIyIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXG5cblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cbiovXG5cbi5teF9TZW5kV3lzaXd5Z0NvbXBvc2VyIHtcbiAgICBmbGV4OiAxO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBmb250OiB2YXIoLS1jcGQtZm9udC1ib2R5LW1kLXJlZ3VsYXIpO1xuICAgIC8qIGZpeGVkIGxpbmUgaGVpZ2h0IHRvIHByZXZlbnQgZW1vamkgZnJvbSBiZWluZyB0YWxsZXIgdGhhbiB0ZXh0ICovXG4gICAgbGluZS1oZWlnaHQ6ICRmb250LTE4cHg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgbWFyZ2luLXJpZ2h0OiAxM3B4O1xuICAgIGdhcDogOHB4O1xuXG4gICAgLm14X0Zvcm1hdHRpbmdCdXR0b25zIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDEycHg7XG4gICAgfVxuXG4gICAgLm14X1d5c2l3eWdDb21wb3Nlcl9FZGl0b3Ige1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZDtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkcXVpbmFyeS1jb250ZW50O1xuICAgICAgICBwYWRkaW5nOiA2cHggMTFweCA2cHggMTJweDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuICAgICAgICBnYXA6IDEwcHg7XG5cbiAgICAgICAgLm14X0UyRUljb24ge1xuICAgICAgICAgICAgbWFyZ2luOiAwIDAgN3B4IDA7XG4gICAgICAgICAgICB3aWR0aDogMTJweDtcbiAgICAgICAgICAgIGhlaWdodDogMTJweDtcbiAgICAgICAgfVxuXG4gICAgICAgICZbZGF0YS1pcy1leHBhbmRlZD1cInRydWVcIl0ge1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMTRweDtcblxuICAgICAgICAgICAgLm14X1d5c2l3eWdDb21wb3Nlcl9FZGl0b3JfY29udGFpbmVyIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAzcHg7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogM3B4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJltkYXRhLWlzLWV4cGFuZGVkPVwiZmFsc2VcIl0ge1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNDBweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5teF9XeXNpd3lnQ29tcG9zZXJfRWRpdG9yX2NvbnRhaW5lciB7XG4gICAgICAgICAgICBmbGV4OiAxO1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICBtaW4taGVpZ2h0OiAyMnB4O1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMnB4O1xuICAgICAgICAgICAgLyogZG9uJ3QgZ3JvdyB3aWRlciB0aGFuIGF2YWlsYWJsZSBzcGFjZSAqL1xuICAgICAgICAgICAgd2lkdGg6IDA7XG5cbiAgICAgICAgICAgIC5teF9XeXNpd3lnQ29tcG9zZXJfRWRpdG9yX2NvbnRlbnQge1xuICAgICAgICAgICAgICAgIC8qIHRoaXMgd2lsbCBjZW50ZXIgdGhlIGNvbnRlbnRlZGl0YWJsZSAqL1xuICAgICAgICAgICAgICAgIC8qIGluIGl0J3MgcGFyZW50IHZlcnRpY2FsbHkgKi9cbiAgICAgICAgICAgICAgICAvKiB3aGlsZSBrZWVwaW5nIHRoZSBhdXRvY29tcGxldGUgYXQgdGhlIHRvcCAqL1xuICAgICAgICAgICAgICAgIC8qIG9mIHRoZSBjb21wb3Nlci4gVGhlIHBhcmVudCBuZWVkcyB0byBiZSBhIGZsZXggY29udGFpbmVyIGZvciB0aGlzIHRvIHdvcmsuICovXG4gICAgICAgICAgICAgICAgbWFyZ2luOiBhdXRvIDA7XG4gICAgICAgICAgICAgICAgLyogdGhlIGxpbmUgaGVpZ2h0IGlzICRmb250LTIycHggKHNldCBpbiBfRWRpdG9yLnBjc3MpIGFuZCB3ZSB3YW50IHRvIGRpc3BsYXkgMTYgbGluZXMgKi9cbiAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiBjYWxjKDE2ICogJGZvbnQtMjJweCk7XG4gICAgICAgICAgICAgICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLm14X1NlbmRXeXNpd3lnQ29tcG9zZXItZm9jdXNlZCB7XG4gICAgLm14X1d5c2l3eWdDb21wb3Nlcl9FZGl0b3Ige1xuICAgICAgICBib3JkZXItY29sb3I6ICRxdWF0ZXJuYXJ5LWNvbnRlbnQ7XG4gICAgfVxufVxuIiwiLypcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxuQ29weXJpZ2h0IDIwMjIgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cblxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuKi9cblxuLm14X1d5c2l3eWdDb21wb3Nlcl9FZGl0b3JfY29udGFpbmVyIHtcbiAgICAvKiBUaGVzZSBhcmUgc2V0IGluIEphdmFzY3JpcHQgKi9cbiAgICAtLWF2YXRhci1sZXR0ZXI6IFwiXCI7XG4gICAgLS1hdmF0YXItYmFja2dyb3VuZDogdW5zZXQ7XG4gICAgLS1wbGFjZWhvbGRlcjogXCJcIjtcblxuICAgIEBrZXlmcmFtZXMgdmlzdWFsYmVsbCB7XG4gICAgICAgIGZyb20ge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHZpc3VhbC1iZWxsLWJnLWNvbG9yO1xuICAgICAgICB9XG4gICAgICAgIHRvIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm14X1d5c2l3eWdDb21wb3Nlcl9FZGl0b3JfY29udGVudCB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAkZm9udC0yMnB4O1xuICAgICAgICB3aGl0ZS1zcGFjZTogcHJlLXdyYXA7XG4gICAgICAgIHdvcmQtd3JhcDogYnJlYWstd29yZDtcbiAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgICAgb3ZlcmZsb3cteDogaGlkZGVuO1xuXG4gICAgICAgIC8qIEZvcmNlIGNhcmV0IG5vZGVzIHRvIGJlIHNlbGVjdGVkIGluIGZ1bGwgc28gdGhhdCB0aGV5IGNhbiBiZSAqL1xuICAgICAgICAvKiBuYXZpZ2F0ZWQgdGhyb3VnaCBpbiBhIHNpbmdsZSBrZXlwcmVzcyAqL1xuICAgICAgICAuY2FyZXROb2RlIHtcbiAgICAgICAgICAgIHVzZXItc2VsZWN0OiBhbGw7XG4gICAgICAgIH1cblxuICAgICAgICAvLyB3ZSBhbHdheXMgaGF2ZSBhIDxici8+IHRhZyBhdCB0aGUgZW5kIG9mIHRoZSBodG1sLCB3ZSBuZWVkIGl0IHRvIGJlIHByZXNlbnQgYXQgZmlyc3QgdGhlbiBoaWRlIGl0IGFzIHNvb24gYXNcbiAgICAgICAgLy8gd2UgaGF2ZSBhbnkgb3RoZXIgZWxlbWVudHNcbiAgICAgICAgYnI6bm90KDpvbmx5LWNoaWxkKSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgcCB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICAgIC8qIHRoaXMgbWF5IHNlZW0gcmVkdW5kYW50LCBidXQgd2UgbmVlZCB0byBoYW5kbGUgemVybyBjb250ZW50IGZvcm1hdHRpbmcgdGFncywgd2hpY2ggb2NjdXIgd2hlbiB3ZSBzcGxpdCBhXG4gICAgICAgICAgICAgICBmb3JtYXR0aW5nIHRhZyBpbnRvIHBhcmFncmFwaHMgKi9cbiAgICAgICAgICAgIG1pbi1oZWlnaHQ6ICRmb250LTIycHg7XG4gICAgICAgIH1cblxuICAgICAgICB1bCxcbiAgICAgICAgb2wge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgICBwYWRkaW5nLWlubGluZS1zdGFydDogJHNwYWNpbmctMjg7XG4gICAgICAgIH1cblxuICAgICAgICAvKiBNYWtlIGxpc3QgdHlwZSBkaXNjIHRvIG1hdGNoIHJpY2ggdGV4dCBlZGl0b3IgKi9cbiAgICAgICAgdWwge1xuICAgICAgICAgICAgbGlzdC1zdHlsZS10eXBlOiBkaXNjO1xuICAgICAgICB9XG5cbiAgICAgICAgYmxvY2txdW90ZSB7XG4gICAgICAgICAgICBjb2xvcjogIzc3NztcbiAgICAgICAgICAgIGJvcmRlci1sZWZ0OiAycHggc29saWQgJGJsb2NrcXVvdGUtYmFyLWNvbG9yO1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMnB4O1xuICAgICAgICAgICAgcGFkZGluZzogMCAxMHB4O1xuXG4gICAgICAgICAgICBtYXJnaW4tYmxvY2stc3RhcnQ6IDA7XG4gICAgICAgICAgICBtYXJnaW4tYmxvY2stZW5kOiAwO1xuICAgICAgICAgICAgbWFyZ2luLWlubGluZS1zdGFydDogMDtcbiAgICAgICAgICAgIG1hcmdpbi1pbmxpbmUtZW5kOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgPiBwcmUge1xuICAgICAgICAgICAgZm9udC1zaXplOiAkZm9udC0xNXB4O1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6ICRmb250LTI0cHg7XG5cbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgICAgcGFkZGluZzogJHNwYWNpbmctOCAkc3BhY2luZy0xMjtcblxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGlubGluZWNvZGUtYmFja2dyb3VuZC1jb2xvcjtcbiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRpbmxpbmVjb2RlLWJvcmRlci1jb2xvcjtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDJweDtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvZGU6bm90KHByZSAqKSB7XG4gICAgICAgICAgICBmb250LWZhbWlseTogJG1vbm9zcGFjZS1mb250LWZhbWlseSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGlubGluZWNvZGUtYmFja2dyb3VuZC1jb2xvcjtcbiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRpbmxpbmVjb2RlLWJvcmRlci1jb2xvcjtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgICAgICAgICAgIHBhZGRpbmc6ICRzcGFjaW5nLTI7XG5cbiAgICAgICAgICAgICY6ZW1wdHkge1xuICAgICAgICAgICAgICAgIGJvcmRlcjogdW5zZXQ7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogdW5zZXQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvKiB0aGlzIHNlbGVjdG9yIHJlcHJlc2VudHMgd2hhdCB3aWxsIGJlY29tZSBhIHBpbGxcbiAgICAgICAgbmIgZGVzcGl0ZSB0aGVyZSBiZWluZyBteF9Vc2VyUGlsbCBhbmQgbXhfUm9vbVBpbGwgY2xhc3NlcyBhcHBlbmRlZCB0byB0aGVzZSBwaWxsc1xuICAgICAgICBpbiB0aGUgY3VycmVudCBjb21wb3NlciwgdGhlcmUgZG9uJ3QgYXBwZWFyIHRvIGJlIGFueSBzdHlsZXMgYXNzb2NpYXRlZCB3aXRoIHRob3NlIGNsYXNzZXNcbiAgICAgICAgaW4gdGhpcyByZXBvICovXG4gICAgICAgIGFbZGF0YS1tZW50aW9uLXR5cGVdIHtcbiAgICAgICAgICAgIC8qIGNvbWJpbmUgbXhfUGlsbCBmcm9tIF9QaWxsLnBjc3MgKi9cbiAgICAgICAgICAgIHBhZGRpbmc6ICRmb250LTFweCAwLjRlbTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAkZm9udC0xN3B4O1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogJGZvbnQtMTZweDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgICAgICAgICBjb2xvcjogdmFyKC0tY3BkLWNvbG9yLXRleHQtb24tc29saWQtcHJpbWFyeSk7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcGlsbC1iZy1jb2xvcjtcblxuICAgICAgICAgICAgLyogLi4ud2l0aCB0aGUgb3ZlcnJpZGVzIGZyb20gX0Jhc2ljTWVzc2FnZUNvbXBvc2VyLnBjc3MgKi9cbiAgICAgICAgICAgIHVzZXItc2VsZWN0OiBhbGw7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICBjdXJzb3I6IHVuc2V0OyAvKiBXZSBkb24ndCB3YW50IGluZGljYXRlIGNsaWNrYWJpbGl0eSAqL1xuICAgICAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuXG4gICAgICAgICAgICAvKiBhdmF0YXIgcHNldWRvIGVsZW1lbnQgKi9cbiAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgLyogQWZ0ZXIgY29uc29saWRhdGlvbiwgYWxsIG9mIHRoZSBzdHlsaW5nIGZyb20gX1BpbGwuc2NzcyB3YXMgYmVpbmcgb3ZlcnJpZGRlbixcbiAgICAgICAgICAgICAgICBzbyB0YWtlIHdoYXQgaXMgaW4gX0Jhc2ljTWVzc2FnZUNvbXBvc2VyLnBjc3MgYXMgdGhlIHN0YXJ0aW5nIHBvaW50ICovXG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IHZhcigtLWF2YXRhci1sZXR0ZXIpO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWF2YXRhci1iYWNrZ3JvdW5kKSwgJGJhY2tncm91bmQ7XG5cbiAgICAgICAgICAgICAgICB3aWR0aDogJGZvbnQtMTZweDtcbiAgICAgICAgICAgICAgICBtaW4td2lkdGg6ICRmb250LTE2cHg7IC8qIGVuc3VyZSB0aGUgYXZhdGFyIGlzIG5vdCBjb21wcmVzc2VkICovXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAkZm9udC0xNnB4O1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAkZm9udC0xNnB4O1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICAgICAgICAgICAgIC8qIEdldCB0aGUgcG9zaXRpb25pbmcgb2YgdGhlIGF2YXRhciBqdXN0IHJpZ2h0IGZvciBjb25zaXN0ZW5jeSB3aXRoIHRpbWVsaW5lICovXG4gICAgICAgICAgICAgICAgbWFyZ2luLWlubGluZS1zdGFydDogLTAuNHJlbTtcbiAgICAgICAgICAgICAgICBtYXJnaW4taW5saW5lLWVuZDogMC4yNHJlbTtcbiAgICAgICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogMC4xMnJlbTtcblxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiAkZm9udC0xNnB4O1xuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6ICRmb250LTE2cHg7XG5cbiAgICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tYXZhdGFyLWNvbG9yLCAkYXZhdGFyLWluaXRpYWwtY29sb3IpO1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtMTAtNHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm14X1d5c2l3eWdDb21wb3Nlcl9FZGl0b3JfY29udGVudF9wbGFjZWhvbGRlcjo6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogdmFyKC0tcGxhY2Vob2xkZXIpO1xuICAgICAgICB3aWR0aDogMDtcbiAgICAgICAgaGVpZ2h0OiAwO1xuICAgICAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgY29sb3I6IHZhcigtLWNwZC1jb2xvci10ZXh0LXNlY29uZGFyeSk7XG4gICAgfVxufVxuXG4ubXhfV3lzaXd5Z0NvbXBvc2VyX0F1dG9Db21wbGV0ZVdyYXBwZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgIC8qIER1ZSB0byB0aGUgZmFjdCB0aGF0IGVkaXRpbmcgYSBtZXNzYWdlIG5vdyBoYXMgYSBsYXJnZXIgYW1vdW50IG9mIGdyZXlcbiAgICBjb2xvdXIgYWJvdmUgaXQgKGR1ZSB0byB0aGUgcmljaCB0ZXh0IGJ1dHRvbnMgYWJvdmUgdGhlIGNvbXBvc2VyKSwgd2UgbmVlZFxuICAgIHRvIGdpdmUgdGhlIGF1dG9jb21wbGV0ZSBhIGJpdCBtb3JlIHZpc3VhbCBzZXBhcmF0aW9uIGJ5IHVzaW5nIGEgYm9yZGVyLlxuICAgICovXG4gICAgPiAubXhfQXV0b2NvbXBsZXRlIHtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHF1aW5hcnktY29udGVudDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4O1xuICAgIH1cbn1cbiIsIi8qXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cbkNvcHlyaWdodCAyMDIyIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXG5cblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cbiovXG5cbi5teF9Gb3JtYXR0aW5nQnV0dG9ucyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgZ2FwOiA4cHg7XG5cbiAgICAubXhfRm9ybWF0dGluZ0J1dHRvbnNfQnV0dG9uIHtcbiAgICAgICAgLS1zaXplOiAyOHB4O1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIGhlaWdodDogdmFyKC0tc2l6ZSk7XG4gICAgICAgIHdpZHRoOiB2YXIoLS1zaXplKTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgICB9XG5cbiAgICAubXhfRm9ybWF0dGluZ0J1dHRvbnNfQnV0dG9uX2hvdmVyIHtcbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkcGFuZWxzO1xuXG4gICAgICAgICAgICAubXhfRm9ybWF0dGluZ0J1dHRvbnNfSWNvbiB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRzZWNvbmRhcnktY29udGVudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5teF9Gb3JtYXR0aW5nQnV0dG9uc19hY3RpdmUge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkYWNjZW50LTMwMDtcblxuICAgICAgICAubXhfRm9ybWF0dGluZ0J1dHRvbnNfSWNvbiB7XG4gICAgICAgICAgICBjb2xvcjogJGFjY2VudDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5teF9Gb3JtYXR0aW5nQnV0dG9uc19kaXNhYmxlZCB7XG4gICAgICAgIC5teF9Gb3JtYXR0aW5nQnV0dG9uc19JY29uIHtcbiAgICAgICAgICAgIGNvbG9yOiAkcXVpbmFyeS1jb250ZW50O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm14X0Zvcm1hdHRpbmdCdXR0b25zX0ljb24ge1xuICAgICAgICAtLXNpemU6IDE2cHg7XG4gICAgICAgIGhlaWdodDogdmFyKC0tc2l6ZSk7XG4gICAgICAgIHdpZHRoOiB2YXIoLS1zaXplKTtcbiAgICAgICAgY29sb3I6ICR0ZXJ0aWFyeS1jb250ZW50O1xuICAgIH1cbn1cblxuLm14X0Zvcm1hdHRpbmdCdXR0b25zX1Rvb2x0aXBfS2V5Ym9hcmRTaG9ydGN1dCB7XG4gICAga2JkIHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplO1xuICAgICAgICBmb250LWZhbWlseTogSW50ZXIsIHNhbnMtc2VyaWY7XG4gICAgfVxufVxuIiwiLypcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxuQ29weXJpZ2h0IDIwMjIgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cblxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuKi9cblxuLm14X0xpbmtNb2RhbCB7XG4gICAgcGFkZGluZzogJHNwYWNpbmctMzI7XG4gICAgbWF4LXdpZHRoOiA2MDBweDtcbiAgICBoZWlnaHQ6IDM0MXB4O1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXG4gICAgLm14X0xpbmtNb2RhbF9jb250ZW50IHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgZmxleDogMTtcbiAgICAgICAgZ2FwOiAkc3BhY2luZy04O1xuICAgICAgICBtYXJnaW4tdG9wOiA3cHg7XG5cbiAgICAgICAgLm14X0xpbmtNb2RhbF9GaWVsZCB7XG4gICAgICAgICAgICBmbGV4OiBpbml0aWFsO1xuICAgICAgICAgICAgaGVpZ2h0OiA0MHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLm14X0xpbmtNb2RhbF9idXR0b25zIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBmbGV4OiAxO1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuXG4gICAgICAgICAgICAubXhfRGlhbG9nX2J1dHRvbnMge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi8qXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cbkNvcHlyaWdodCAyMDE5LCAyMDIwIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXG5cblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cbiovXG5cbi5teF9BdmF0YXJTZXR0aW5nX2F2YXRhciB7XG4gICAgd2lkdGg6IDkwcHg7XG4gICAgbWluLXdpZHRoOiA5MHB4OyAvKiBzbyBpdCBkb2Vzbid0IGdldCBjcnVzaGVkIGJ5IHRoZSBmbGV4Ym94IGluIGxhbmd1YWdlcyB3aXRoIGxvbmdlciB3b3JkcyAqL1xuICAgIGhlaWdodDogOTBweDtcbiAgICBtYXJnaW4tdG9wOiA4cHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgJi5teF9BdmF0YXJTZXR0aW5nX2F2YXRhckRpc3BsYXk6aG92ZXIgLm14X0F2YXRhclNldHRpbmdfaG92ZXIge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgIH1cblxuICAgICYgPiAqIHtcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICB9XG5cbiAgICAubXhfQWNjZXNzaWJsZUJ1dHRvbi5teF9BY2Nlc3NpYmxlQnV0dG9uX2tpbmRfcHJpbWFyeSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDhweDtcbiAgICB9XG5cbiAgICAubXhfQWNjZXNzaWJsZUJ1dHRvbi5teF9BY2Nlc3NpYmxlQnV0dG9uX2tpbmRfbGlua19zbSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgICYgPiBpbWcge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgaGVpZ2h0OiA5MHB4O1xuICAgICAgICB3aWR0aDogaW5oZXJpdDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogOTBweDtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICB9XG5cbiAgICAubXhfQXZhdGFyU2V0dGluZ191cGxvYWRCdXR0b24ge1xuICAgICAgICB3aWR0aDogMjhweDtcbiAgICAgICAgaGVpZ2h0OiAyOHB4O1xuICAgICAgICBib3JkZXItcmFkaXVzOiAzMnB4O1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jcGQtY29sb3ItYmctY2FudmFzLWRlZmF1bHQpO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jcGQtY29sb3ItYmctY2FudmFzLWRlZmF1bHQpO1xuXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAgICAgc3ZnIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIHRvcDogM3B4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm14X0F2YXRhclNldHRpbmdfdXBsb2FkQnV0dG9uOmhvdmVyLFxuICAgIC5teF9BdmF0YXJTZXR0aW5nX3VwbG9hZEJ1dHRvbl9hY3RpdmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jcGQtY29sb3ItYmctc3VidGxlLXByaW1hcnkpO1xuICAgIH1cbn1cblxuLm14X0F2YXRhclNldHRpbmdfcmVtb3ZlTWVudUl0ZW0gc3ZnLFxuLm14X0F2YXRhclNldHRpbmdfcmVtb3ZlTWVudUl0ZW0gc3BhbiB7XG4gICAgY29sb3I6IHZhcigtLWNwZC1jb2xvci10ZXh0LWNyaXRpY2FsLXByaW1hcnkpICFpbXBvcnRhbnQ7XG59XG4iLCIvKlxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXG5Db3B5cmlnaHQgMjAxOSBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxuXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXG4qL1xuXG4ubXhfQ3Jvc3NTaWduaW5nUGFuZWxfc3RhdHVzTGlzdCB7XG4gICAgYm9yZGVyLXNwYWNpbmc6IDA7XG5cbiAgICB0aCB7XG4gICAgICAgIHRleHQtYWxpZ246IHN0YXJ0O1xuICAgIH1cblxuICAgIHRkLFxuICAgIHRoIHtcbiAgICAgICAgcGFkZGluZzogMDtcblxuICAgICAgICAmOmZpcnN0LW9mLXR5cGUge1xuICAgICAgICAgICAgcGFkZGluZy1pbmxpbmUtZW5kOiAxZW07XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5teF9Dcm9zc1NpZ25pbmdQYW5lbF9idXR0b25Sb3cge1xuICAgIG1hcmdpbjogMWVtIDA7XG5cbiAgICA6bnRoLWNoaWxkKG4gKyAxKSB7XG4gICAgICAgIG1hcmdpbi1pbmxpbmUtZW5kOiAxMHB4O1xuICAgIH1cbn1cblxuLm14X0Nyb3NzU2lnbmluZ1BhbmVsX2FkdmFuY2VkIHtcbiAgICB3aWR0aDogZml0LWNvbnRlbnQ7XG59XG4iLCIvKlxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXG5Db3B5cmlnaHQgMjAyMyBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxuXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXG4qL1xuXG4ubXhfQ3J5cHRvZ3JhcGh5UGFuZWxfc2Vzc2lvbkluZm8ge1xuICAgIHBhZGRpbmc6IDBlbTtcbiAgICBib3JkZXItc3BhY2luZzogMHB4O1xufVxuLm14X0NyeXB0b2dyYXBoeVBhbmVsX3Nlc3Npb25JbmZvID4gdHIge1xuICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgICBwYWRkaW5nOiAwZW07XG5cbiAgICB0aCB7XG4gICAgICAgIHRleHQtYWxpZ246IHN0YXJ0O1xuICAgIH1cblxuICAgIHRkLFxuICAgIHRoIHtcbiAgICAgICAgcGFkZGluZzogMCAxZW0gMCAwO1xuICAgIH1cbn1cblxuLm14X0NyeXB0b2dyYXBoeVBhbmVsX2ltcG9ydEV4cG9ydEJ1dHRvbnMge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGZsZXgtZmxvdzogd3JhcDtcbiAgICByb3ctZ2FwOiAkc3BhY2luZy04O1xuICAgIGNvbHVtbi1nYXA6ICRzcGFjaW5nLTg7XG59XG4iLCIvKlxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXG5Db3B5cmlnaHQgMjAyMSBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxuXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXG4qL1xuXG4ubXhfRm9udFNjYWxpbmdQYW5lbF9wcmV2aWV3IHtcbiAgICAtLUZvbnRTY2FsaW5nUGFuZWxfcHJldmlldy1wYWRkaW5nLWJsb2NrOiA5cHg7XG5cbiAgICBib3JkZXI6IDFweCBzb2xpZCAkcXVpbmFyeS1jb250ZW50O1xuICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gICAgcGFkZGluZzogMCAkc3BhY2luZy0xNiB2YXIoLS1Gb250U2NhbGluZ1BhbmVsX3ByZXZpZXctcGFkZGluZy1ibG9jaykgJHNwYWNpbmctMTY7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgZGlzcGxheTogZmxvdy1yb290O1xuXG4gICAgJi5teF9JUkNMYXlvdXQge1xuICAgICAgICBwYWRkaW5nLXRvcDogOXB4O1xuICAgIH1cblxuICAgIC5teF9FdmVudFRpbGVbZGF0YS1sYXlvdXQ9XCJidWJibGVcIl0ge1xuICAgICAgICBtYXJnaW4tdG9wOiAzMHB4O1xuICAgIH1cblxuICAgIC5teF9FdmVudFRpbGVfbXNnT3B0aW9uIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG59XG5cbi5teF9Gb250U2NhbGluZ1BhbmVsX0Ryb3Bkb3duIHtcbiAgICB3aWR0aDogMTIwcHg7XG4gICAgLyogT3ZlcnJpZGUgZGVmYXVsdCBteF9GaWVsZCBtYXJnaW4gKi9cbiAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS1jcGQtc3BhY2UtMngpICFpbXBvcnRhbnQ7XG59XG4iLCIvKlxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXG5Db3B5cmlnaHQgMjAyMSBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxuXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXG4qL1xuXG4ubXhfSW1hZ2VTaXplUGFuZWxfcmFkaW9zIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgZ2FwOiAkc3BhY2luZy0xNjtcblxuICAgID4gbGFiZWwge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDY4cHg7IC8qIGtlZXAgdGhlIGJveGVzIHNlcGFyYXRlICovXG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB9XG5cbiAgICAubXhfSW1hZ2VTaXplUGFuZWxfc2l6ZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRxdWluYXJ5LWNvbnRlbnQ7XG4gICAgICAgIG1hc2stcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgIG1hc2stc2l6ZTogMjIxcHg7XG4gICAgICAgIG1hc2stcG9zaXRpb246IGNlbnRlcjtcbiAgICAgICAgd2lkdGg6IDIyMXB4O1xuICAgICAgICBoZWlnaHQ6IDE0OHB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxNHB4OyAvKiBtb3ZlIHJhZGlvIGJ1dHRvbiBhd2F5IGZyb20gYm90dG9tIGVkZ2UgYSBiaXQgKi9cblxuICAgICAgICAmLm14X0ltYWdlU2l6ZVBhbmVsX3NpemVEZWZhdWx0IHtcbiAgICAgICAgICAgIG1hc2s6IHVybChcIiQocmVzKS9pbWcvZWxlbWVudC1pY29ucy9zZXR0aW5ncy9pbWctc2l6ZS1ub3JtYWwuc3ZnXCIpO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5teF9JbWFnZVNpemVQYW5lbF9zaXplTGFyZ2Uge1xuICAgICAgICAgICAgbWFzazogdXJsKFwiJChyZXMpL2ltZy9lbGVtZW50LWljb25zL3NldHRpbmdzL2ltZy1zaXplLWxhcmdlLnN2Z1wiKTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi8qXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cbkNvcHlyaWdodCAyMDE1LCAyMDE2IE9wZW5NYXJrZXQgTHRkXG5cblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cbiovXG5cbi5teF9JbnRlZ3JhdGlvbk1hbmFnZXIge1xuICAgIC5teF9EaWFsb2dfYm9yZGVyIHtcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgd2lkdGg6IDYwJTtcbiAgICAgICAgaGVpZ2h0OiA3MCU7XG4gICAgICAgIG1heC13aWR0aDogaW5pdGlhbDtcbiAgICAgICAgbWF4LWhlaWdodDogaW5pdGlhbDtcbiAgICB9XG5cbiAgICAubXhfRGlhbG9nIHtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB9XG5cbiAgICBpZnJhbWUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgfVxuXG4gICAgaDMge1xuICAgICAgICBtYXJnaW4tYmxvY2s6ICRzcGFjaW5nLTIwO1xuICAgIH1cblxuICAgIC5teF9JbnRlZ3JhdGlvbk1hbmFnZXJfbG9hZGluZyxcbiAgICAubXhfSW50ZWdyYXRpb25NYW5hZ2VyX2Vycm9yIHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cblxuICAgIC5teF9JbnRlZ3JhdGlvbk1hbmFnZXJfZXJyb3IgaDMge1xuICAgICAgICBjb2xvcjogJGFsZXJ0O1xuICAgIH1cbn1cbiIsIi8qXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cbkNvcHlyaWdodCAyMDIxIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXG5cblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cbiovXG5cbi5teF9Kb2luUnVsZVNldHRpbmdzX3VwZ3JhZGVSZXF1aXJlZCB7XG4gICAgbWFyZ2luLWxlZnQ6IDE2cHg7XG4gICAgcGFkZGluZzogNHB4IDE2cHg7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJGFjY2VudDtcbiAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgY29sb3I6ICRhY2NlbnQ7XG4gICAgZm9udC1zaXplOiAkZm9udC0xMnB4O1xuICAgIGxpbmUtaGVpZ2h0OiAkZm9udC0xNXB4O1xufVxuXG4ubXhfSm9pblJ1bGVTZXR0aW5nc19zcGFjZXNXaXRoQWNjZXNzIHtcbiAgICA+IGg0IHtcbiAgICAgICAgY29sb3I6ICRzZWNvbmRhcnktY29udGVudDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLWNwZC1mb250LXdlaWdodC1zZW1pYm9sZCk7XG4gICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtMTJweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6ICRmb250LTE1cHg7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgfVxuXG4gICAgPiBzcGFuIHtcbiAgICAgICAgZm9udDogdmFyKC0tY3BkLWZvbnQtYm9keS1tZC1tZWRpdW0pO1xuICAgICAgICBsaW5lLWhlaWdodDogMzJweDsgLyogbWF0Y2hlcyBoZWlnaHQgb2YgYXZhdGFyIGZvciB2LWFsaWduICovXG4gICAgICAgIGNvbG9yOiAkc2Vjb25kYXJ5LWNvbnRlbnQ7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcblxuICAgICAgICAubXhfQmFzZUF2YXRhciB7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDhweDtcbiAgICAgICAgfVxuXG4gICAgICAgICYgKyBzcGFuIHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAxNnB4O1xuICAgICAgICB9XG4gICAgfVxufVxuXG4ubXhfSm9pblJ1bGVTZXR0aW5nc19yYWRpb0J1dHRvbiB7XG4gICAgcGFkZGluZy10b3A6IDE2cHg7XG5cbiAgICAubXhfU3R5bGVkUmFkaW9CdXR0b25fY29udGVudCB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAxNHB4O1xuICAgICAgICBmb250LXdlaWdodDogdmFyKC0tY3BkLWZvbnQtd2VpZ2h0LXNlbWlib2xkKTtcbiAgICAgICAgZm9udC1zaXplOiAkZm9udC0xNXB4O1xuICAgICAgICBsaW5lLWhlaWdodDogJGZvbnQtMjRweDtcbiAgICAgICAgY29sb3I6ICRwcmltYXJ5LWNvbnRlbnQ7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxuICAgICYgKyBzcGFuIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBtYXJnaW4tbGVmdDogMzRweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTZweDtcbiAgICAgICAgZm9udC1zaXplOiAkZm9udC0xNXB4O1xuICAgICAgICBsaW5lLWhlaWdodDogJGZvbnQtMjRweDtcbiAgICAgICAgY29sb3I6ICRzZWNvbmRhcnktY29udGVudDtcblxuICAgICAgICAmICsgLm14X1N0eWxlZFJhZGlvQnV0dG9uIHtcbiAgICAgICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAkcXVpbmFyeS1jb250ZW50O1xuICAgICAgICB9XG4gICAgfVxufVxuXG4ubXhfSm9pblJ1bGVTZXR0aW5nc19sYWJlbGxlZENoZWNrYm94IHtcbiAgICBmb250OiB2YXIoLS1jcGQtZm9udC1ib2R5LW1kLXJlZ3VsYXIpO1xuICAgIG1hcmdpbi10b3A6IHZhcigtLWNwZC1zcGFjZS0yeCk7XG59XG4iLCIvKlxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXG5Db3B5cmlnaHQgMjAyMSDFoGltb24gQnJhbmRuZXIgPHNpbW9uLmJyYS5hZ0BnbWFpbC5jb20+XG5Db3B5cmlnaHQgMjAyMCBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxuXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXG4qL1xuXG4ubXhfS2V5Ym9hcmRTaG9ydGN1dCB7XG4gICAga2JkIHtcbiAgICAgICAgcGFkZGluZzogNXB4O1xuICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuICAgICAgICBtaW4td2lkdGg6IDIwcHg7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAka2JkLWJvcmRlci1jb2xvcjtcbiAgICAgICAgYm94LXNoYWRvdzogMCAycHggJGtiZC1ib3JkZXItY29sb3I7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplO1xuICAgIH1cbn1cbiIsIi8qXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cbkNvcHlyaWdodCAyMDIxIMWgaW1vbiBCcmFuZG5lciA8c2ltb24uYnJhLmFnQGdtYWlsLmNvbT5cbkNvcHlyaWdodCAyMDIwLCAyMDIxIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXG5cblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cbiovXG5cbi5teF9MYXlvdXRTd2l0Y2hlcl9MYXlvdXRTZWxlY3RvciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIC8qKlxuICAgICAqIFRoZSBzZXR0aW5ncyBmb3JtIGhhcyBhIGRlZmF1bHQgZ2FwIG9mIDEwcHhcbiAgICAgKiBXZSB3YW50IHRvIGhhdmUgYSBiaWdnZXIgZ2FwIGJldHdlZW4gdGhlIGxheW91dCBvcHRpb25zXG4gICAgICovXG4gICAgZ2FwOiB2YXIoLS1jcGQtc3BhY2UtNHgpICFpbXBvcnRhbnQ7XG5cbiAgICAubXhMYXlvdXRTd2l0Y2hlcl9MYXlvdXRTZWxlY3Rvcl9MYXlvdXRSYWRpbyB7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNwZC1jb2xvci1ib3JkZXItaW50ZXJhY3RpdmUtcHJpbWFyeSk7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWNwZC1zcGFjZS0yeCk7XG5cbiAgICAgICAgLm14TGF5b3V0U3dpdGNoZXJfTGF5b3V0U2VsZWN0b3JfTGF5b3V0UmFkaW9faW5saW5lIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAvKlxuICAgICAgICAgICAgICogMTBweFxuICAgICAgICAgICAgICovXG4gICAgICAgICAgICBnYXA6IGNhbGModmFyKC0tY3BkLXNwYWNlLTJ4KSArIHZhcigtLWNwZC1zcGFjZS0wLTV4KSk7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICB9XG5cbiAgICAgICAgLm14TGF5b3V0U3dpdGNoZXJfTGF5b3V0U2VsZWN0b3JfTGF5b3V0UmFkaW9faW5saW5lLFxuICAgICAgICAubXhMYXlvdXRTd2l0Y2hlcl9MYXlvdXRTZWxlY3Rvcl9MYXlvdXRSYWRpb19FdmVudFRpbGVQcmV2aWV3IHtcbiAgICAgICAgICAgIG1hcmdpbjogdmFyKC0tY3BkLXNwYWNlLTN4KTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8qKlxuICAgICAgICAgKiBPdmVycmlkZSB0aGUgZXZlbnQgdGlsZSBzdHlsZSB0byBtYWtlIGl0IGZpdCBpbiB0aGUgc2VsZWN0b3JcbiAgICAgICAgICogVHdlYWsgYWxzbyBob3ZlciBzdHlsZSBhbmQgcmVtb3ZlIGFjdGlvbiBiYXJcbiAgICAgICAgICovXG4gICAgICAgIC5teExheW91dFN3aXRjaGVyX0xheW91dFNlbGVjdG9yX0xheW91dFJhZGlvX0V2ZW50VGlsZVByZXZpZXcge1xuICAgICAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG5cbiAgICAgICAgICAgIC5teF9FdmVudFRpbGUge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcblxuICAgICAgICAgICAgICAgIC8qKlxuICAgICAgICAgICAgICAgICAqIEhpZGUgdGhlIG1lc3NhZ2Ugb3B0aW9ucyBhbmQgbWVzc2FnZSBhY3Rpb24gYmFyIGluIHRoZSBwcmV2aWV3XG4gICAgICAgICAgICAgICAgICovXG4gICAgICAgICAgICAgICAgLm14X0V2ZW50VGlsZV9tc2dPcHRpb24sXG4gICAgICAgICAgICAgICAgLm14X01lc3NhZ2VBY3Rpb25CYXIge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC5teF9FdmVudFRpbGVfY29udGVudCB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmW2RhdGEtbGF5b3V0PVwiZ3JvdXBcIl0ge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiBjYWxjKHZhcigtLWNwZC1zcGFjZS0zeCkgKiAtMSk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLyoqXG4gICAgICAgICAgICAgICAgICogQWRkIG1hcmdpbiB0byBjZW50ZXIgdGhlIGJ1YmJsZVxuICAgICAgICAgICAgICAgICAqL1xuICAgICAgICAgICAgICAgICZbZGF0YS1sYXlvdXQ9XCJidWJibGVcIl0ge1xuICAgICAgICAgICAgICAgICAgICAvKipcbiAgICAgICAgICAgICAgICAgICAgICogQWRkIHRoZSBsYXlvdXQgbWFyZ2luIGFuZCB0aGUgbWFyZ2luIHRvIHZlcnRpY2FsbHkgY2VudGVyIHRoZSBidWJibGVcbiAgICAgICAgICAgICAgICAgICAgICovXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IHZhcigtLWNwZC1zcGFjZS02eCk7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMzRweDtcbiAgICAgICAgICAgICAgICAgICAgZmxleC1zaHJpbms6IDE7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLm14X0V2ZW50VGlsZV9saW5lIHtcbiAgICAgICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5teExheW91dFN3aXRjaGVyX0xheW91dFNlbGVjdG9yX0xheW91dFJhZGlvX3NlcGFyYXRvciB7XG4gICAgICAgICAgICBib3JkZXItdG9wOiAwO1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWNwZC1jb2xvci1ib3JkZXItaW50ZXJhY3RpdmUtc2Vjb25kYXJ5KTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi8qXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cbkNvcHlyaWdodCAyMDIzIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXG5cblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cbiovXG5cbi5teF9Ob3RpZmljYXRpb25QdXNoZXJTZXR0aW5ncyB7XG4gICAgLm14X05vdGlmaWNhdGlvblB1c2hlclNldHRpbmdzX2Rlc2NyaXB0aW9uIHtcbiAgICAgICAgY29sb3I6ICRwcmltYXJ5LWNvbnRlbnQ7XG4gICAgfVxuXG4gICAgLm14X05vdGlmaWNhdGlvblB1c2hlclNldHRpbmdzX2RldGFpbCB7XG4gICAgICAgIG1hcmdpbi10b3A6IC00cHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEycHg7XG4gICAgfVxufVxuIiwiLypcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxuQ29weXJpZ2h0IDIwMjMgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cblxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuKi9cblxuLm14X05vdGlmaWNhdGlvblNldHRpbmdzMiB7XG4gICAgLm14X1NldHRpbmdzU2VjdGlvbl9zdWJTZWN0aW9ucyB7XG4gICAgICAgIGNvbG9yOiAkcHJpbWFyeS1jb250ZW50O1xuICAgICAgICBnYXA6IDMycHg7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgfVxuXG4gICAgLm14X1NldHRpbmdzU3Vic2VjdGlvbl9kZXNjcmlwdGlvbiB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG5cbiAgICAgICAgLm14X1NldHRpbmdzU3Vic2VjdGlvbl90ZXh0IHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4ycmVtO1xuXG4gICAgICAgICAgICAubXhfTm90aWZpY2F0aW9uQmFkZ2Uge1xuICAgICAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgMnB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm14X1NldHRpbmdzU3Vic2VjdGlvbl9jb250ZW50IHtcbiAgICAgICAgbWFyZ2luLXRvcDogMTJweDtcbiAgICAgICAgZ3JpZC1nYXA6IDEycHg7XG4gICAgICAgIGp1c3RpZnktaXRlbXM6IHN0cmV0Y2g7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3RyZXRjaDtcbiAgICB9XG5cbiAgICAubXhfU2V0dGluZ3NCYW5uZXIge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAzMnB4O1xuICAgIH1cblxuICAgIC5teF9Ob3RpZmljYXRpb25TZXR0aW5nczJfZmxhZ3Mge1xuICAgICAgICBncmlkLWdhcDogNHB4O1xuICAgIH1cblxuICAgIC5teF9TdHlsZWRSYWRpb0J1dHRvbl9jb250ZW50IHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDEwcHg7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMTBweDtcbiAgICB9XG5cbiAgICAubXhfVGFnQ29tcG9zZXIge1xuICAgICAgICBtYXJnaW4tdG9wOiAxNnB4O1xuXG4gICAgICAgICYubXhfVGFnQ29tcG9zZXJfZGlzYWJsZWQge1xuICAgICAgICAgICAgb3BhY2l0eTogMC43O1xuICAgICAgICB9XG5cbiAgICAgICAgLm14X1RhZ0NvbXBvc2VyX3RhZ3Mge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMTZweDtcbiAgICAgICAgICAgIGdhcDogOHB4O1xuXG4gICAgICAgICAgICAubXhfVGFnIHtcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAxOHB4O1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDZweCAxMnB4O1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRwYW5lbC1hY3Rpb25zO1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcblxuICAgICAgICAgICAgICAgIC5teF9UYWdfZGVsZXRlIHtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJHRlcnRpYXJ5LWNvbnRlbnQ7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICAgICAgICAgICAgICBhbGlnbi1zZWxmOiBpbml0aWFsO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi8qXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cbkNvcHlyaWdodCAyMDE1LTIwMjEgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cblxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuKi9cblxuLm14X1VzZXJOb3RpZlNldHRpbmdzX2dyaWQge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgKyAxMnB4KTsgLyogKzEycHggdG8gbGluZSB1cCBjZW50ZXIgb2YgJ05vaXN5JyBjb2x1bW4gd2l0aCB0b2dnbGUgc3dpdGNoZXMgKi9cbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogYXV0byByZXBlYXQoMywgNjJweCk7XG4gICAgcGxhY2UtaXRlbXM6IGNlbnRlciBjZW50ZXI7XG4gICAgZ3JpZC1nYXA6IDhweDtcblxuICAgIC8qIE92ZXJyaWRlIFN0eWxlZFJhZGlvQnV0dG9uIGRlZmF1bHQgc3R5bGVzICovXG4gICAgLm14X1N0eWxlZFJhZGlvQnV0dG9uIHtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cbiAgICAgICAgLm14X1N0eWxlZFJhZGlvQnV0dG9uX2NvbnRlbnQge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5teF9TdHlsZWRSYWRpb0J1dHRvbl9zcGFjZXIge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIGxlZnQgYWxpZ24gc2VjdGlvbiBoZWFkaW5nXG4gICAgLm14X1NldHRpbmdzU3Vic2VjdGlvbkhlYWRpbmcge1xuICAgICAgICBqdXN0aWZ5LXNlbGY6IHN0YXJ0O1xuICAgIH1cbn1cblxuLm14X1VzZXJOb3RpZlNldHRpbmdzX2dyaWRSb3dDb250YWluZXIge1xuICAgIGRpc3BsYXk6IGNvbnRlbnRzO1xufVxuXG4ubXhfVXNlck5vdGlmU2V0dGluZ3NfZ3JpZFJvdyB7XG4gICAgZGlzcGxheTogY29udGVudHM7XG59XG5cbi5teF9Vc2VyTm90aWZTZXR0aW5nc19ncmlkUm93TGFiZWwge1xuICAgIGp1c3RpZnktc2VsZjogc3RhcnQ7XG4gICAgLyogPGxlZ2VuZD4gZG9lcyBub3QgYWNjZXB0ICovXG4gICAgLyogZGlzcGxheTogaW5saW5lIHwgaW5saW5lLWJsb2NrICovXG4gICAgLyogZm9yY2UgaXQgaW5saW5lIHVzaW5nIGZsb2F0ICovXG4gICAgZmxvYXQ6IGxlZnQ7XG59XG5cbi5teF9Vc2VyTm90aWZTZXR0aW5nc19ncmlkQ29sdW1uTGFiZWwge1xuICAgIGNvbG9yOiAkc2Vjb25kYXJ5LWNvbnRlbnQ7XG4gICAgZm9udDogdmFyKC0tY3BkLWZvbnQtYm9keS1zbS1zZW1pYm9sZCk7XG59XG4ubXhfVXNlck5vdGlmU2V0dGluZ3NfZ3JpZFJvd0Vycm9yIHtcbiAgICAvKiBvY2N1cHkgZnVsbCByb3cgKi9cbiAgICBncmlkLWNvbHVtbjogMS8tMTtcbiAgICBqdXN0aWZ5LXNlbGY6IHN0YXJ0O1xuICAgIHBhZGRpbmctcmlnaHQ6IDMwJTtcbiAgICAvKiBjb2xsYXBzZSBoYWxmIG9mIHRoZSBncmlkLWdhcCAqL1xuICAgIG1hcmdpbi10b3A6IC0kc3BhY2luZy00O1xufVxuXG4ubXhfVXNlck5vdGlmU2V0dGluZ3NfZmxvYXRpbmdTZWN0aW9uIHtcbiAgICBtYXJnaW4tdG9wOiA0MHB4O1xuXG4gICAgJiA+IGRpdjpmaXJzdC1jaGlsZCB7XG4gICAgICAgIC8qIHNlY3Rpb24gaGVhZGVyICovXG4gICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtMThweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLWNwZC1mb250LXdlaWdodC1zZW1pYm9sZCk7XG4gICAgfVxuXG4gICAgPiB0YWJsZSB7XG4gICAgICAgIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG4gICAgICAgIGJvcmRlci1zcGFjaW5nOiAwO1xuICAgICAgICBtYXJnaW4tdG9wOiA4cHg7XG5cbiAgICAgICAgdHIgPiB0ZDpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICAvKiBKdXN0IGZvciBhIGJpdCBvZiBzcGFjaW5nICovXG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiA4cHg7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5teF9Vc2VyTm90aWZTZXR0aW5nc19jbGVhck5vdGlmc0J1dHRvbiB7XG4gICAgbWFyZ2luLXRvcDogOHB4O1xufVxuXG4ubXhfVGFnQ29tcG9zZXIge1xuICAgIG1hcmdpbi10b3A6IDM1cHg7IC8qIGxvdHMgb2YgZGlzdGFuY2UgZnJvbSB0aGUgbGFzdCBsaW5lIG9mIHRoZSB0YWJsZSAqL1xufVxuXG4ubXhfQWNjZXNzaWJsZUJ1dHRvbi5teF9Ob3RpZmljYXRpb25Tb3VuZF9icm93c2Uge1xuICAgIG1hcmdpbi1yaWdodDogMTBweDtcbn1cbiIsIi8qXG5Db3B5cmlnaHQgMjAxOS0yMDI0IE5ldyBWZWN0b3IgTHRkLlxuQ29weXJpZ2h0IDIwMTkgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cblxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuKi9cblxuLm14X0dlbmVyYWxVc2VyU2V0dGluZ3NUYWJfc2VjdGlvbi0tZGlzY292ZXJ5X2V4aXN0aW5nX3ZlcmlmaWNhdGlvbiB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgIC5teF9GaWVsZCB7XG4gICAgICAgIG1hcmdpbjogMCAwIDAgMWVtO1xuICAgIH1cbn1cblxuLm14X1Bob25lTnVtYmVyc19pbnB1dCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG4ubXhfUGhvbmVOdW1iZXJzX2lucHV0ID4gLm14X0ZpZWxkIHtcbiAgICBmbGV4LWdyb3c6IDE7XG59XG5cbi5teF9QaG9uZU51bWJlcnNfY291bnRyeSB7XG4gICAgd2lkdGg6IDgwcHg7XG59XG4iLCIvKlxuICogQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXG4gKiBDb3B5cmlnaHQgMjAyNCBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxuICpcbiAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxuICogUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cbiAqL1xuXG4ubXhfUG93ZXJMZXZlbFNlbGVjdG9yX0J1dHRvbiB7XG4gICAgYWxpZ24tc2VsZjogZmxleC1zdGFydDtcbn1cbiIsIi8qXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cbkNvcHlyaWdodCAyMDE5LCAyMDIwICwgMjAyNCBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxuXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXG4qL1xuXG4ubXhfUm9vbVByb2ZpbGVTZXR0aW5ncyB7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRxdWluYXJ5LWNvbnRlbnQ7XG5cbiAgICAubXhfUm9vbVByb2ZpbGVTZXR0aW5nc19wcm9maWxlIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcblxuICAgICAgICAubXhfUm9vbVByb2ZpbGVTZXR0aW5nc19wcm9maWxlX2NvbnRyb2xzIHtcbiAgICAgICAgICAgIGZsZXgtZ3JvdzogMTtcbiAgICAgICAgICAgIG1hcmdpbi1pbmxpbmUtZW5kOiA1NHB4O1xuXG4gICAgICAgICAgICAubXhfRmllbGQge1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6ICRzcGFjaW5nLTg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5teF9Sb29tUHJvZmlsZVNldHRpbmdzX3Byb2ZpbGVfY29udHJvbHNfdG9waWMge1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6ICRzcGFjaW5nLTg7XG5cbiAgICAgICAgICAgICAgICAmID4gdGV4dGFyZWEge1xuICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgICAgICAgICAgICAgICAgICAgcmVzaXplOiB2ZXJ0aWNhbDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmLm14X1Jvb21Qcm9maWxlU2V0dGluZ3NfcHJvZmlsZV9jb250cm9sc190b3BpYy0tcm9vbSB0ZXh0YXJlYSB7XG4gICAgICAgICAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDRlbTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5teF9Sb29tUHJvZmlsZVNldHRpbmdzX3Byb2ZpbGVfY29udHJvbHNfdXNlcklkIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4taW5saW5lLWVuZDogJHNwYWNpbmctMjA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubXhfUm9vbVByb2ZpbGVTZXR0aW5nc19idXR0b25zIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZ2FwOiB2YXIoLS1jcGQtc3BhY2UtNHgpO1xuICAgICAgICBtYXJnaW4tdG9wOiAxMHB4OyAvKiAxOHB4IGlzIGFscmVhZHkgYWNjb3VudGVkIGZvciBieSB0aGUgPHA+IGFib3ZlIHRoZSBidXR0b25zICovXG4gICAgICAgIG1hcmdpbi1ib3R0b206ICRzcGFjaW5nLTI4O1xuICAgIH1cbn1cbiIsIi8qXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cbkNvcHlyaWdodCAyMDE5LCAyMDIwIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXG5Db3B5cmlnaHQgMjAxOCBOZXcgVmVjdG9yIEx0ZFxuXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXG4qL1xuXG4ubXhfU2VjdXJlQmFja3VwUGFuZWxfZGV2aWNlTmFtZSB7XG4gICAgZm9udC1zdHlsZTogaXRhbGljO1xufVxuXG4ubXhfU2VjdXJlQmFja3VwUGFuZWxfYnV0dG9uUm93IHtcbiAgICBtYXJnaW46IDFlbSAwO1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGZsZXgtZmxvdzogd3JhcDtcbiAgICByb3ctZ2FwOiAxMHB4O1xuXG4gICAgOm50aC1jaGlsZChuICsgMSkge1xuICAgICAgICBtYXJnaW4taW5saW5lLWVuZDogMTBweDtcbiAgICB9XG59XG5cbi5teF9TZWN1cmVCYWNrdXBQYW5lbF9zdGF0dXNMaXN0IHtcbiAgICBib3JkZXItc3BhY2luZzogMDtcblxuICAgIHRoIHtcbiAgICAgICAgdGV4dC1hbGlnbjogc3RhcnQ7XG4gICAgfVxuXG4gICAgdGQsXG4gICAgdGgge1xuICAgICAgICBwYWRkaW5nOiAwO1xuXG4gICAgICAgICY6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgICAgICAgICBwYWRkaW5nLWlubGluZS1lbmQ6IDFlbTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLm14X1NlY3VyZUJhY2t1cFBhbmVsX2FkdmFuY2VkIHtcbiAgICB3aWR0aDogZml0LWNvbnRlbnQ7XG59XG4iLCIvKlxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXG5Db3B5cmlnaHQgMjAxOS0yMDIzIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXG5cblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cbiovXG5cbi5teF9TZXRJZFNlcnZlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgIGdhcDogJHNwYWNpbmctODtcblxuICAgIC5teF9GaWVsZCB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgfVxufVxuXG4ubXhfU2V0SWRTZXJ2ZXJfdG9vbHRpcCB7XG4gICAgbWF4LXdpZHRoOiB2YXIoLS1TZXR0aW5nc1RhYl90b29sdGlwLW1heC13aWR0aCk7XG59XG4iLCIvKlxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXG5Db3B5cmlnaHQgMjAxOSBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxuXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXG4qL1xuXG4ubXhfU2V0SW50ZWdyYXRpb25NYW5hZ2VyIHtcbiAgICAubXhfU2V0dGluZ3NGbGFnIHtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgICAgICAubXhfU2V0SW50ZWdyYXRpb25NYW5hZ2VyX2hlYWRpbmdfbWFuYWdlciB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgICAgIGNvbHVtbi1nYXA6ICRzcGFjaW5nLTQ7XG4gICAgICAgIH1cblxuICAgICAgICAubXhfVG9nZ2xlU3dpdGNoIHtcbiAgICAgICAgICAgIGFsaWduLXNlbGY6IGZsZXgtc3RhcnQ7XG4gICAgICAgICAgICBtaW4td2lkdGg6IHZhcigtLVRvZ2dsZVN3aXRjaC1taW4td2lkdGgpOyAvKiBhdm9pZCBjb21wcmVzc2lvbiAqL1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiLypcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxuQ29weXJpZ2h0IDIwMjEgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cblxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuKi9cblxuLm14X1NldHRpbmdzRmllbGRzZXQge1xuICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xufVxuXG4ubXhfU2V0dGluZ3NGaWVsZHNldF9sZWdlbmQge1xuICAgIGZvbnQ6IHZhcigtLWNwZC1mb250LWhlYWRpbmctbWQtc2VtaWJvbGQpO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1jcGQtZm9udC13ZWlnaHQtc2VtaWJvbGQpO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGNvbG9yOiAkcHJpbWFyeS1jb250ZW50O1xuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgbWFyZ2luLXRvcDogMTJweDtcbn1cblxuLm14X1NldHRpbmdzRmllbGRzZXRfZGVzY3JpcHRpb24ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDtcblxuICAgIHAge1xuICAgICAgICBtYXJnaW4tdG9wOiAxMHB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuXG4gICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4ubXhfU2V0dGluZ3NGaWVsZHNldF9jb250ZW50IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZ2FwOiAkc3BhY2luZy04O1xufVxuIiwiLypcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxuQ29weXJpZ2h0IDIwMjEgxaBpbW9uIEJyYW5kbmVyIDxzaW1vbi5icmEuYWdAZ21haWwuY29tPlxuXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXG4qL1xuXG4ubXhfRXhpc3RpbmdTcGVsbENoZWNrTGFuZ3VhZ2Uge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cblxuLm14X0V4aXN0aW5nU3BlbGxDaGVja0xhbmd1YWdlX2xhbmd1YWdlIHtcbiAgICBmbGV4OiAxO1xuICAgIG1hcmdpbi1yaWdodDogMTBweDtcbn1cblxuLm14X0dlbmVyYWxVc2VyU2V0dGluZ3NUYWJfc3BlbGxDaGVja0xhbmd1YWdlSW5wdXQge1xuICAgIG1hcmdpbi1ib3R0b206ICRzcGFjaW5nLTg7XG59XG4iLCIvKlxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXG5Db3B5cmlnaHQgMjAyMSBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxuXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXG4qL1xuXG4ubXhfVGhlbWVDaG9pY2VQYW5lbF9UaGVtZVNlbGVjdG9ycyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgLyogT3ZlcnJpZGUgZm9ybSBkZWZhdWx0IHN0eWxlICovXG4gICAgZmxleC1kaXJlY3Rpb246IHJvdyAhaW1wb3J0YW50O1xuICAgIGdhcDogdmFyKC0tY3BkLXNwYWNlLTR4KSAhaW1wb3J0YW50O1xuXG4gICAgLm14X1RoZW1lQ2hvaWNlUGFuZWxfdGhlbWVTZWxlY3RvciB7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNwZC1jb2xvci1ib3JkZXItaW50ZXJhY3RpdmUtc2Vjb25kYXJ5KTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogdmFyKC0tY3BkLXNwYWNlLTEtNXgpO1xuICAgICAgICBwYWRkaW5nOiB2YXIoLS1jcGQtc3BhY2UtM3gpIHZhcigtLWNwZC1zcGFjZS01eCkgdmFyKC0tY3BkLXNwYWNlLTN4KSB2YXIoLS1jcGQtc3BhY2UtM3gpO1xuICAgICAgICBnYXA6IHZhcigtLWNwZC1zcGFjZS0yeCk7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNwZC1jb2xvci1iZy1jYW52YXMtZGVmYXVsdCk7XG5cbiAgICAgICAgJi5teF9UaGVtZUNob2ljZVBhbmVsX3RoZW1lU2VsZWN0b3JfZW5hYmxlZCB7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6IHZhcigtLWNwZC1jb2xvci1ib3JkZXItaW50ZXJhY3RpdmUtcHJpbWFyeSk7XG4gICAgICAgIH1cblxuICAgICAgICAmLm14X1RoZW1lQ2hvaWNlUGFuZWxfdGhlbWVTZWxlY3Rvcl9kaXNhYmxlZCB7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6IHZhcigtLWNwZC1jb2xvci1ib3JkZXItZGlzYWJsZWQpO1xuICAgICAgICB9XG5cbiAgICAgICAgLm14X1RoZW1lQ2hvaWNlUGFuZWxfdGhlbWVTZWxlY3Rvcl9MYWJlbCB7XG4gICAgICAgICAgICBjb2xvcjogdmFyKC0tY3BkLWNvbG9yLXRleHQtcHJpbWFyeSk7XG4gICAgICAgICAgICBmb250OiB2YXIoLS1jcGQtZm9udC1ib2R5LW1kLXNlbWlib2xkKTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLm14X1RoZW1lQ2hvaWNlUGFuZWxfQ3VzdG9tVGhlbWUge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBnYXA6IHZhcigtLWNwZC1zcGFjZS00eCk7XG5cbiAgICAubXhfVGhlbWVDaG9pY2VQYW5lbF9DdXN0b21UaGVtZV9FZGl0SW5QbGFjZSBpbnB1dDpmb2N1cyB7XG4gICAgICAgIC8qXG4gICAgICAgICAqIFdoZW4gdGhlIGlucHV0IGlzIGZvY3VzZWQsIHRoZSBib3JkZXIgaXMgZ3Jvd2luZ1xuICAgICAgICAgKiBXZSBuZWVkIHRvIG1vdmUgaXQgYSBiaXQgdG8gYXZvaWQgdGhlIGxlZnQgYm9yZGVyIHRvIGJlIHVuZGVyIHRoZSBsZWZ0IHBhbmVsXG4gICAgICAgICAqL1xuICAgICAgICBtYXJnaW4tbGVmdDogdmFyKC0tY3BkLXNwYWNlLTAtNXgpO1xuICAgIH1cblxuICAgIC5teF9UaGVtZUNob2ljZVBhbmVsX0N1c3RvbVRoZW1lTGlzdCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGdhcDogdmFyKC0tY3BkLXNwYWNlLTR4KTtcbiAgICAgICAgLypcbiAgICAgICAgICogT3ZlcnJpZGUgdGhlIGRlZmF1bHQgcGFkZGluZy9tYXJnaW4gb2YgdGhlIGxpc3RcbiAgICAgICAgICovXG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIG1hcmdpbjogMDtcblxuICAgICAgICAubXhfVGhlbWVDaG9pY2VQYW5lbF9DdXN0b21UaGVtZUxpc3RfdGhlbWUge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jcGQtY29sb3ItZ3JheS0yMDApO1xuICAgICAgICAgICAgcGFkZGluZzogdmFyKC0tY3BkLXNwYWNlLTJ4KSB2YXIoLS1jcGQtc3BhY2UtMngpIHZhcigtLWNwZC1zcGFjZS0yeCkgdmFyKC0tY3BkLXNwYWNlLTR4KTtcblxuICAgICAgICAgICAgLm14X1RoZW1lQ2hvaWNlUGFuZWxfQ3VzdG9tVGhlbWVMaXN0X25hbWUge1xuICAgICAgICAgICAgICAgIGZvbnQ6IHZhcigtLWNwZC1mb250LWJvZHktc20tc2VtaWJvbGQpO1xuICAgICAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi8qXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cbkNvcHlyaWdodCAyMDIwIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXG5cblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cbiovXG5cbi5teF9VcGRhdGVDaGVja0J1dHRvbl9zdW1tYXJ5IHtcbiAgICBtYXJnaW4tbGVmdDogMTZweDtcbn1cbiIsIi8qXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cbkNvcHlyaWdodCAyMDE5LCAyMDIwICwgMjAyNCBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxuXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXG4qL1xuXG4ubXhfVXNlclByb2ZpbGVTZXR0aW5ncyB7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRxdWluYXJ5LWNvbnRlbnQ7XG5cbiAgICAubXhfVXNlclByb2ZpbGVTZXR0aW5nc19wcm9maWxlIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgbWFyZ2luLXRvcDogdmFyKC0tY3BkLXNwYWNlLTZ4KTtcbiAgICAgICAgZ2FwOiAxNnB4O1xuXG4gICAgICAgIC5teF9Vc2VyUHJvZmlsZVNldHRpbmdzX3Byb2ZpbGVfZGlzcGxheU5hbWUge1xuICAgICAgICAgICAgZmxleC1ncm93OiAxO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBnYXA6IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubXhfVXNlclByb2ZpbGVTZXR0aW5nc19wcm9maWxlX2NvbnRyb2xzIHtcbiAgICAgICAgZmxleC1ncm93OiAxO1xuICAgIH1cblxuICAgIC5teF9Vc2VyUHJvZmlsZVNldHRpbmdzX3Byb2ZpbGVfY29udHJvbHNfdXNlcklkIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1hcmdpbi10b3A6IHZhcigtLWNwZC1zcGFjZS00eCk7XG4gICAgICAgIC5teF9Db3B5YWJsZVRleHQge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogdmFyKC0tY3BkLXNwYWNlLTF4KTtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5teF9Vc2VyUHJvZmlsZVNldHRpbmdzX3Byb2ZpbGVfY29udHJvbHNfdXNlcklkX2xhYmVsIHtcbiAgICAgICAgZm9udC1zaXplOiAxNXB4O1xuICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgIH1cblxuICAgIC5teF9Vc2VyUHJvZmlsZVNldHRpbmdzX3Byb2ZpbGVfYnV0dG9ucyB7XG4gICAgICAgIG1hcmdpbi10b3A6IHZhcigtLWNwZC1zcGFjZS04eCk7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHZhcigtLWNwZC1zcGFjZS04eCk7XG4gICAgfVxuXG4gICAgLm14X1VzZXJQcm9maWxlU2V0dGluZ3NfYWNjb3VudG1hbmFnZUljb24ge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IHZhcigtLWNwZC1zcGFjZS0yeCk7XG4gICAgfVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgICAubXhfVXNlclByb2ZpbGVTZXR0aW5nc19wcm9maWxlIHtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgZ2FwOiAzMHB4O1xuICAgIH1cbn1cbiIsIi8qXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cbkNvcHlyaWdodCAyMDIzIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXG5cblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cbiovXG5cbi5teF9TZXR0aW5nc0Jhbm5lciB7XG4gICAgYmFja2dyb3VuZDogJHN5c3RlbTtcbiAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgcGFkZGluZzogMTJweCAxNnB4O1xuICAgIGdhcDogMTJweDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgIC5teF9TZXR0aW5nc0Jhbm5lcl9jb250ZW50IHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgIH1cblxuICAgIC5teF9BY2Nlc3NpYmxlQnV0dG9uIHtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB9XG59XG4iLCIvKlxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXG5Db3B5cmlnaHQgMjAyMyBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxuXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXG4qL1xuXG4ubXhfU2V0dGluZ3NJbmRlbnQge1xuICAgIHBhZGRpbmctbGVmdDogMTZweDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZ2FwOiAxMnB4O1xufVxuIiwiLypcbkNvcHlyaWdodCAyMDIzLCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxuXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXG4qL1xuXG4ubXhfU2V0dGluZ3NTZWN0aW9uIHtcbiAgICAtLVNldHRpbmdzVGFiX3NlY3Rpb24tbWFyZ2luLWJvdHRvbS1wcmVmZXJlbmNlcy1sYWJzOiAzMHB4O1xuICAgIC0tU2V0dGluZ3NUYWJfaGVhZGluZ19udGhfY2hpbGQtbWFyZ2luLXRvcDogMzBweDtcbiAgICAtLVNldHRpbmdzVGFiX3Rvb2x0aXAtbWF4LXdpZHRoOiAyMHB4OyAvKiBTbyBpdCBmaXRzIGluIHRoZSBzcGFjZSBwcm92aWRlZCBieSB0aGUgcGFnZSAqL1xuXG4gICAgY29sb3I6ICRwcmltYXJ5LWNvbnRlbnQ7XG5cbiAgICBhIHtcbiAgICAgICAgY29sb3I6ICRsaW5rcztcbiAgICB9XG59XG5cbi5teF9TZXR0aW5nc1NlY3Rpb25fc3ViU2VjdGlvbnMge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBtaW5tYXgoMCwgMWZyKTtcbiAgICBncmlkLWdhcDogJHNwYWNpbmctMzI7XG5cbiAgICBwYWRkaW5nOiAkc3BhY2luZy0xNiAwO1xufVxuIiwiLypcbkNvcHlyaWdodCAyMDE5LTIwMjQgTmV3IFZlY3RvciBMdGQuXG5cblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cbiovXG5cbi5teF9TZXR0aW5nc1RhYiB7XG4gICAgLS1TZXR0aW5nc1RhYl90b29sdGlwLW1heC13aWR0aDogMTIwcHg7IC8qIFNvIGl0IGZpdHMgaW4gdGhlIHNwYWNlIHByb3ZpZGVkIGJ5IHRoZSBwYWdlICovXG5cbiAgICBjb2xvcjogJHByaW1hcnktY29udGVudDtcblxuICAgIGEge1xuICAgICAgICBjb2xvcjogJGxpbmtzO1xuICAgIH1cblxuICAgIGZvcm0ge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBnYXA6ICRzcGFjaW5nLTg7XG4gICAgICAgIGZsZXgtZ3JvdzogMTtcbiAgICB9XG4gICAgLy8gbmV2ZXIgd2FudCBmdWxsIHdpZHRoIGJ1dHRvbnNcbiAgICAvLyBldmVudCB3aGVuIG90aGVyIGNvbnRlbnQgaXMgMTAwJSB3aWR0aFxuICAgIC5teF9BY2Nlc3NpYmxlQnV0dG9uIHtcbiAgICAgICAgYWxpZ24tc2VsZjogZmxleC1zdGFydDtcbiAgICAgICAganVzdGlmeS1zZWxmOiBmbGV4LXN0YXJ0O1xuICAgIH1cblxuICAgIC5teF9GaWVsZCB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgZmxleDogMTtcbiAgICB9XG59XG5cbi5teF9TZXR0aW5nc1RhYl93YXJuaW5nVGV4dCB7XG4gICAgY29sb3I6ICRhbGVydDtcbn1cblxuLm14X1NldHRpbmdzVGFiX3N1YnNlY3Rpb25UZXh0IHtcbiAgICBjb2xvcjogJHNlY29uZGFyeS1jb250ZW50O1xuICAgIGZvbnQ6IHZhcigtLWNwZC1mb250LWJvZHktbWQtcmVndWxhcik7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLXRvcDogMTBweDtcbiAgICBtYXJnaW4taW5saW5lLWVuZDogODBweDsgLyogQWxpZ24gd2l0aCB0aGUgcmVzdCBvZiB0aGUgdmlldyAqL1xuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgbWFyZ2luLWlubGluZS1zdGFydDogMDtcbn1cblxuLm14X1NldHRpbmdzVGFiX3NlY3Rpb24ge1xuICAgICRlbmQtZ3V0dGVyOiA4MHB4O1xuXG4gICAgbWFyZ2luLWJvdHRvbTogJHNwYWNpbmctMjQ7XG5cbiAgICAubXhfU2V0dGluZ3NGbGFnIHtcbiAgICAgICAgbWFyZ2luLWlubGluZS1lbmQ6ICRlbmQtZ3V0dGVyO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuXG4gICAgICAgIC5teF9TZXR0aW5nc0ZsYWdfbGFiZWwge1xuICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIG1heC13aWR0aDogY2FsYygxMDAlIC0gJGZvbnQtNDhweCk7IC8qIEZvcmNlIHdvcmQgd3JhcCBpbnN0ZWFkIG9mIGNvbGxpZGluZyB3aXRoIHRoZSBzd2l0Y2ggKi9cbiAgICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIH1cblxuICAgICAgICAubXhfVG9nZ2xlU3dpdGNoIHtcbiAgICAgICAgICAgIGZsb2F0OiBpbmxpbmUtZW5kO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgPiBwIHtcbiAgICAgICAgbWFyZ2luLWlubGluZS1lbmQ6ICRlbmQtZ3V0dGVyO1xuICAgIH1cblxuICAgICYubXhfU2V0dGluZ3NUYWJfc3Vic2VjdGlvblRleHQgLm14X1NldHRpbmdzRmxhZyB7XG4gICAgICAgIG1hcmdpbi1pbmxpbmUtZW5kOiAwICFpbXBvcnRhbnQ7XG4gICAgfVxufVxuXG4ubXhfU2V0dGluZ3NUYWJfdG9nZ2xlV2l0aERlc2NyaXB0aW9uIHtcbiAgICBtYXJnaW4tdG9wOiAkc3BhY2luZy0yNDtcbn1cblxuLm14X1NldHRpbmdzVGFiX3NlY3Rpb25zIHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xuICAgIGdyaWQtZ2FwOiAkc3BhY2luZy0zMjtcblxuICAgIHBhZGRpbmctYm90dG9tOiAkc3BhY2luZy0xNjtcbn1cbiIsIi8qXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cbkNvcHlyaWdodCAyMDIxIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXG5cblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cbiovXG5cbi5teF9Ob3RpZmljYXRpb25TZXR0aW5nc1RhYl9ub3RpZmljYXRpb25zU2VjdGlvbiB7XG4gICAgd2lkdGg6IDM2MHB4O1xuXG4gICAgLm14X1N0eWxlZFJhZGlvQnV0dG9uIHtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlO1xuICAgICAgICBjb2xvcjogJHByaW1hcnktY29udGVudDtcbiAgICAgICAgZm9udC1zaXplOiAkZm9udC0xNXB4O1xuICAgICAgICBsaW5lLWhlaWdodDogJGZvbnQtMThweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLWNwZC1mb250LXdlaWdodC1zZW1pYm9sZCk7XG4gICAgICAgIG1hcmdpbi10b3A6IDE2cHg7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiA4cHg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBoZWlnaHQ6IDI0cHg7XG4gICAgICAgICAgICB3aWR0aDogMjRweDtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICBtYXNrLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgICAgbWFzay1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgICAgICAgbWFzay1zaXplOiBjb250YWluO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHNlY29uZGFyeS1jb250ZW50O1xuICAgICAgICB9XG5cbiAgICAgICAgaW5wdXQgKyBkaXYge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogOHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLm14X05vdGlmaWNhdGlvblNldHRpbmdzVGFiX21pY3JvQ29weSB7XG4gICAgICAgICAgICBjb2xvcjogJHNlY29uZGFyeS1jb250ZW50O1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtMTJweDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAkZm9udC0xNXB4O1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAzMnB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm14X05vdGlmaWNhdGlvblNldHRpbmdzVGFiX2RlZmF1bHRFbnRyeTo6YmVmb3JlIHtcbiAgICAgICAgbWFzay1pbWFnZTogdXJsKFwiJChyZXMpL2ltZy9lbGVtZW50LWljb25zL25vdGlmaWNhdGlvbnMuc3ZnXCIpO1xuICAgIH1cblxuICAgIC5teF9Ob3RpZmljYXRpb25TZXR0aW5nc1RhYl9hbGxNZXNzYWdlc0VudHJ5OjpiZWZvcmUge1xuICAgICAgICBtYXNrLWltYWdlOiB1cmwoXCIkKHJlcykvaW1nL2VsZW1lbnQtaWNvbnMvcm9vbWxpc3Qvbm90aWZpY2F0aW9ucy1kZWZhdWx0LnN2Z1wiKTtcbiAgICB9XG5cbiAgICAubXhfTm90aWZpY2F0aW9uU2V0dGluZ3NUYWJfbWVudGlvbnNLZXl3b3Jkc0VudHJ5OjpiZWZvcmUge1xuICAgICAgICBtYXNrLWltYWdlOiB1cmwoXCIkKHJlcykvaW1nL2VsZW1lbnQtaWNvbnMvcm9vbWxpc3Qvbm90aWZpY2F0aW9ucy1kbS5zdmdcIik7XG4gICAgfVxuXG4gICAgLm14X05vdGlmaWNhdGlvblNldHRpbmdzVGFiX25vbmVFbnRyeTo6YmVmb3JlIHtcbiAgICAgICAgbWFzay1pbWFnZTogdXJsKFwiJChyZXMpL2ltZy9lbGVtZW50LWljb25zL3Jvb21saXN0L25vdGlmaWNhdGlvbnMtb2ZmLnN2Z1wiKTtcbiAgICB9XG59XG5cbmlucHV0W3R5cGU9XCJmaWxlXCJdLm14X05vdGlmaWNhdGlvblNvdW5kX3NvdW5kVXBsb2FkIHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuIiwiLypcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxuQ29weXJpZ2h0IDIwMjMgTm9yZGVjayBJVCArIENvbnN1bHRpbmcgR21iSFxuXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXG4qL1xuXG4ubXhfUGVvcGxlUm9vbVNldHRpbmdzVGFiX2tub2NrIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIG1hcmdpbi10b3A6IHZhcigtLWNwZC1zcGFjZS0yeCk7XG59XG5cbi5teF9QZW9wbGVSb29tU2V0dGluZ3NUYWJfY29udGVudCB7XG4gICAgZmxleC1ncm93OiAxO1xuICAgIG1hcmdpbjogMCB2YXIoLS1jcGQtc3BhY2UtNHgpO1xufVxuXG4ubXhfUGVvcGxlUm9vbVNldHRpbmdzVGFiX2F2YXRhciB7XG4gICAgYWxpZ24tc2VsZjogZmxleC1zdGFydDtcbiAgICBmbGV4LXNocmluazogMDtcbn1cblxuLm14X1Blb3BsZVJvb21TZXR0aW5nc1RhYl9uYW1lIHtcbiAgICBmb250LXdlaWdodDogdmFyKC0tY3BkLWZvbnQtd2VpZ2h0LXNlbWlib2xkKTtcbn1cblxuLm14X1Blb3BsZVJvb21TZXR0aW5nc1RhYl90aW1lc3RhbXAge1xuICAgIGNvbG9yOiAkc2Vjb25kYXJ5LWNvbnRlbnQ7XG4gICAgbWFyZ2luLWxlZnQ6IHZhcigtLWNwZC1zcGFjZS0xeCk7XG59XG5cbi5teF9QZW9wbGVSb29tU2V0dGluZ3NUYWJfdXNlcklkIHtcbiAgICBjb2xvcjogJHNlY29uZGFyeS1jb250ZW50O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tY3BkLWZvbnQtc2l6ZS1ib2R5LXNtKTtcbn1cblxuLm14X1Blb3BsZVJvb21TZXR0aW5nc1RhYl9zZWVNb3JlT3JMZXNzIHtcbiAgICBtYXJnaW46IHZhcigtLWNwZC1zcGFjZS0zeCkgMCAwO1xufVxuXG4ubXhfUGVvcGxlUm9vbVNldHRpbmdzVGFiX2FjdGlvbiB7XG4gICAgZmxleC1zaHJpbms6IDA7XG5cbiAgICArIC5teF9QZW9wbGVSb29tU2V0dGluZ3NUYWJfYWN0aW9uIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IHZhcigtLWNwZC1zcGFjZS0zeCk7XG4gICAgfVxufVxuXG4ubXhfUGVvcGxlUm9vbVNldHRpbmdzVGFiX3BhcmFncmFwaCB7XG4gICAgbWFyZ2luOiAwO1xufVxuIiwiLypcbkNvcHlyaWdodCAyMDE5LTIwMjQgTmV3IFZlY3RvciBMdGQuXG5cblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cbiovXG5cbi5teF9Sb2xlc1Jvb21TZXR0aW5nc1RhYl9iYW5uZWRMaXN0IHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4ubXhfUm9sZXNSb29tU2V0dGluZ3NUYWJfdW5iYW5CdG4ge1xuICAgIG1hcmdpbi1yaWdodDogMTBweDtcbiAgICBtYXJnaW4tYm90dG9tOiA1cHg7XG59XG4iLCIvKlxuQ29weXJpZ2h0IDIwMTktMjAyNCBOZXcgVmVjdG9yIEx0ZC5cblxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuKi9cblxuLm14X1NlY3VyaXR5Um9vbVNldHRpbmdzVGFiX2FkdmFuY2VkU2VjdGlvbiB7XG4gICAgbWFyZ2luLXRvcDogJHNwYWNpbmctMTY7XG59XG5cbi5teF9TZWN1cml0eVJvb21TZXR0aW5nc1RhYl93YXJuaW5nIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgY29sdW1uLWdhcDogJHNwYWNpbmctNDtcbn1cbiIsIi8qXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cbkNvcHlyaWdodCAyMDIwLCAyMDIxIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXG5cblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cbiovXG5cbi5teF9GaWVsZC5teF9BcHBlYXJhbmNlVXNlclNldHRpbmdzVGFiX2NoZWNrYm94Q29udHJvbGxlZEZpZWxkIHtcbiAgICB3aWR0aDogMjU2cHg7XG4gICAgLyogbWF0Y2hlcyBjaGVja2JveCBib3ggKyBwYWRkaW5nIHRvIGFsaWduIHdpdGggY2hlY2tib3ggbGFiZWwgKi9cbiAgICBtYXJnaW4taW5saW5lLXN0YXJ0OiBjYWxjKCRmb250LTE2cHggKyAxMHB4KTtcbn1cbiIsIi8qXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cbkNvcHlyaWdodCAyMDIyIMWgaW1vbiBCcmFuZG5lciA8c2ltb24uYnJhLmFnQGdtYWlsLmNvbT5cbkNvcHlyaWdodCAyMDE5IE5ldyBWZWN0b3IgTHRkXG5cblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cbiovXG5cbi5teF9IZWxwVXNlclNldHRpbmdzVGFiX2FjY2Vzc1Rva2VuRGV0YWlscyB7XG4gICAgd2lkdGg6IGZpdC1jb250ZW50O1xufVxuIiwiLypcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxuQ29weXJpZ2h0IDIwMjEgxaBpbW9uIEJyYW5kbmVyIDxzaW1vbi5icmEuYWdAZ21haWwuY29tPlxuQ29weXJpZ2h0IDIwMjAgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cblxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuKi9cblxuLm14X0tleWJvYXJkU2hvcnRjdXRfc2hvcnRjdXRMaXN0IHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtZ2FwOiAkc3BhY2luZy00O1xufVxuXG4ubXhfS2V5Ym9hcmRTaG9ydGN1dF9zaG9ydGN1dFJvdyxcbi5teF9LZXlib2FyZFNob3J0Y3V0IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG4ubXhfS2V5Ym9hcmRTaG9ydGN1dF9zaG9ydGN1dFJvdyB7XG4gICAgY29sdW1uLWdhcDogJHNwYWNpbmctODtcbn1cblxuLm14X0tleWJvYXJkU2hvcnRjdXQge1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIGNvbHVtbi1nYXA6ICRzcGFjaW5nLTQ7XG59XG4iLCIvKlxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXG5Db3B5cmlnaHQgMjAxOSBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxuXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXG4qL1xuXG4ubXhfTWpvbG5pclVzZXJTZXR0aW5nc1RhYl9saXN0SXRlbSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMnB4O1xufVxuIiwiLypcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxuQ29weXJpZ2h0IDIwMjQgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cbkNvcHlyaWdodCAyMDE5IE5ldyBWZWN0b3IgTHRkXG5cblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cbiovXG5cbi5teF9QcmVmZXJlbmNlc1VzZXJTZXR0aW5nc1RhYl9zZWN0aW9uX2hpbnQge1xuICAgIGZvbnQ6IHZhcigtLWNwZC1mb250LWJvZHktc20tcmVndWxhcik7XG4gICAgY29sb3I6IHZhcigtLWNwZC1jb2xvci10ZXh0LXNlY29uZGFyeSk7XG59XG4iLCIvKlxuQ29weXJpZ2h0IDIwMTktMjAyNCBOZXcgVmVjdG9yIEx0ZC5cblxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuKi9cblxuLm14X1NlY3VyaXR5VXNlclNldHRpbmdzVGFiX2J1bGtPcHRpb25zIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgY29sdW1uLWdhcDogJHNwYWNpbmctODtcbn1cblxuLm14X1NlY3VyaXR5VXNlclNldHRpbmdzVGFiX2lnbm9yZWRVc2VyIHtcbiAgICBtYXJnaW4tYm90dG9tOiAkc3BhY2luZy00O1xufVxuXG4ubXhfU2VjdXJpdHlVc2VyU2V0dGluZ3NUYWJfaWdub3JlZFVzZXIgLm14X0FjY2Vzc2libGVCdXR0b24ge1xuICAgIG1hcmdpbi1yaWdodDogJHNwYWNpbmctODtcbn1cblxuLm14X1NlY3VyaXR5VXNlclNldHRpbmdzVGFiX3dhcm5pbmcge1xuICAgIGNvbG9yOiAkYWxlcnQ7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmctbGVmdDogNDBweDtcblxuICAgICY6OmJlZm9yZSB7XG4gICAgICAgIG1hc2stcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgIG1hc2stcG9zaXRpb246IDAgY2VudGVyO1xuICAgICAgICBtYXNrLXNpemU6ICRmb250LTI0cHg7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgd2lkdGg6ICRmb250LTI0cHg7XG4gICAgICAgIGhlaWdodDogJGZvbnQtMjRweDtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYWxlcnQ7XG4gICAgICAgIG1hc2staW1hZ2U6IHVybChcIkB2ZWN0b3ItaW0vY29tcG91bmQtZGVzaWduLXRva2Vucy9pY29ucy93YXJuaW5nLnN2Z1wiKTtcbiAgICB9XG59XG4iLCIvKlxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXG5Db3B5cmlnaHQgMjAyMSBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxuXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXG4qL1xuXG4ubXhfU2lkZWJhclVzZXJTZXR0aW5nc1RhYl9ob21lQWxsUm9vbXNDaGVja2JveCB7XG4gICAgbWFyZ2luLWxlZnQ6IDI0cHg7XG5cbiAgICAmICsgZGl2IHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDQ4cHg7XG4gICAgfVxufVxuXG4ubXhfU2lkZWJhclVzZXJTZXR0aW5nc1RhYl9jaGVja2JveCB7XG4gICAgbWFyZ2luLWJvdHRvbTogJHNwYWNpbmctODtcbiAgICAvKiBvdmVycmlkZSBjaGVja2JveCBzdHlsZXMgKi9cbiAgICBsYWJlbCB7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0ICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgc3ZnIHtcbiAgICAgICAgaGVpZ2h0OiAxNnB4O1xuICAgICAgICB3aWR0aDogMTZweDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAkc3BhY2luZy04O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAtMXB4O1xuICAgIH1cbn1cbiIsIi8qXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cbkNvcHlyaWdodCAyMDIxIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXG5cblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cbiovXG5cbi5teF9TcGFjZUJhc2ljU2V0dGluZ3Mge1xuICAgIC5teF9GaWVsZCB7XG4gICAgICAgIG1hcmdpbjogMjRweCAwO1xuICAgIH1cblxuICAgIC5teF9TcGFjZUJhc2ljU2V0dGluZ3NfYXZhdGFyQ29udGFpbmVyIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgbWFyZ2luLXRvcDogMjRweDtcblxuICAgICAgICAubXhfU3BhY2VCYXNpY1NldHRpbmdzX2F2YXRhciB7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICBoZWlnaHQ6IDgwcHg7XG4gICAgICAgICAgICB3aWR0aDogODBweDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0ZXJ0aWFyeS1jb250ZW50O1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMTZweDtcbiAgICAgICAgfVxuXG4gICAgICAgIGltZy5teF9TcGFjZUJhc2ljU2V0dGluZ3NfYXZhdGFyIHtcbiAgICAgICAgICAgIHdpZHRoOiA4MHB4O1xuICAgICAgICAgICAgaGVpZ2h0OiA4MHB4O1xuICAgICAgICAgICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAxNnB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLyogb25seSBzaG93IGl0IHdoZW4gdGhlIGJ1dHRvbiBpcyBhIGRpdiBhbmQgbm90IGFuIGltZyAoaGFzIGF2YXRhcikgKi9cbiAgICAgICAgZGl2Lm14X1NwYWNlQmFzaWNTZXR0aW5nc19hdmF0YXIge1xuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIGhlaWdodDogODBweDtcbiAgICAgICAgICAgICAgICB3aWR0aDogODBweDtcbiAgICAgICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmOyAvKiB3aGl0ZSBpY29uIGZpbGwgKi9cbiAgICAgICAgICAgICAgICBtYXNrLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgICAgICAgIG1hc2stcG9zaXRpb246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBtYXNrLXNpemU6IDIwcHg7XG4gICAgICAgICAgICAgICAgbWFzay1pbWFnZTogdXJsKFwiQHZlY3Rvci1pbS9jb21wb3VuZC1kZXNpZ24tdG9rZW5zL2ljb25zL3Rha2UtcGhvdG8tc29saWQuc3ZnXCIpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgPiBpbnB1dFt0eXBlPVwiZmlsZVwiXSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgPiAubXhfQWNjZXNzaWJsZUJ1dHRvbl9raW5kX2xpbmsge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgbWFyZ2luOiBhdXRvIDE4cHg7XG4gICAgICAgICAgICBjb2xvcjogJGxpbmtzO1xuICAgICAgICAgICAgZm9udDogdmFyKC0tY3BkLWZvbnQtYm9keS1tZC1yZWd1bGFyKTtcbiAgICAgICAgfVxuXG4gICAgICAgID4gLm14X1NwYWNlQmFzaWNTZXR0aW5nc19hdmF0YXJfcmVtb3ZlIHtcbiAgICAgICAgICAgIGNvbG9yOiAkYWxlcnQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubXhfQWNjZXNzaWJsZUJ1dHRvbl9oYXNLaW5kIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB3aWR0aDogbWluLWNvbnRlbnQ7XG4gICAgfVxuXG4gICAgLm14X0FjY2Vzc2libGVCdXR0b25fZGlzYWJsZWQge1xuICAgICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICAgIH1cbn1cbiIsIi8qXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cbkNvcHlyaWdodCAyMDIxIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXG5cblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cbiovXG5cbi5teF9TcGFjZUNoaWxkcmVuUGlja2VyIHtcbiAgICBtYXJnaW46IDE2cHggMDtcblxuICAgIC5teF9TdHlsZWRSYWRpb0J1dHRvbiArIC5teF9TdHlsZWRSYWRpb0J1dHRvbiB7XG4gICAgICAgIG1hcmdpbi10b3A6IDE2cHg7XG4gICAgfVxuXG4gICAgLm14X1NlYXJjaEJveCB7XG4gICAgICAgIC8qIFRvIG1hdGNoIHRoZSBzcGFjZSBhcm91bmQgdGhlIHRpdGxlICovXG4gICAgICAgIG1hcmdpbjogMCAwIDE1cHggMDtcbiAgICAgICAgZmxleC1ncm93OiAwO1xuICAgICAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgfVxuXG4gICAgLm14X1NwYWNlQ2hpbGRyZW5QaWNrZXJfbm9SZXN1bHRzIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1hcmdpbi10b3A6IDI0cHg7XG4gICAgfVxufVxuIiwiLypcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxuQ29weXJpZ2h0IDIwMjEgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cblxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuKi9cblxuLm14X1NwYWNlQ3JlYXRlTWVudV93cmFwcGVyIHtcbiAgICAvKiBiYWNrZ3JvdW5kIGJsdXIgZXZlcnl0aGluZyBleGNlcHQgU3BhY2VQYW5lbCAqL1xuICAgIC5teF9Db250ZXh0dWFsTWVudV9iYWNrZ3JvdW5kIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGRpYWxvZy1iYWNrZHJvcC1jb2xvcjtcbiAgICAgICAgb3BhY2l0eTogMC42O1xuICAgICAgICBsZWZ0OiA2OHB4O1xuICAgIH1cblxuICAgIC5teF9Db250ZXh0dWFsTWVudSB7XG4gICAgICAgIHBhZGRpbmc6IDI0cHg7XG4gICAgICAgIHdpZHRoOiA0ODBweDtcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICA+IGRpdiB7XG4gICAgICAgICAgICA+IGgyIHtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogdmFyKC0tY3BkLWZvbnQtd2VpZ2h0LXNlbWlib2xkKTtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6ICRmb250LTE4cHg7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogNHB4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICA+IHAge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtMTVweDtcbiAgICAgICAgICAgICAgICBjb2xvcjogJHNlY29uZGFyeS1jb250ZW50O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLm14X1NwYWNlQ3JlYXRlTWVudVR5cGUge1xuICAgICAgICAgICAgQG1peGluIFNwYWNlUGlsbEJ1dHRvbjtcbiAgICAgICAgfVxuXG4gICAgICAgIC5teF9TcGFjZUNyZWF0ZU1lbnVUeXBlX3B1YmxpYzo6YmVmb3JlIHtcbiAgICAgICAgICAgIG1hc2staW1hZ2U6IHVybChcIkB2ZWN0b3ItaW0vY29tcG91bmQtZGVzaWduLXRva2Vucy9pY29ucy9wdWJsaWMuc3ZnXCIpO1xuICAgICAgICB9XG5cbiAgICAgICAgLm14X1NwYWNlQ3JlYXRlTWVudVR5cGVfcHJpdmF0ZTo6YmVmb3JlIHtcbiAgICAgICAgICAgIG1hc2staW1hZ2U6IHVybChcIkB2ZWN0b3ItaW0vY29tcG91bmQtZGVzaWduLXRva2Vucy9pY29ucy9sb2NrLXNvbGlkLnN2Z1wiKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5teF9TcGFjZUNyZWF0ZU1lbnVfYmFjayB7XG4gICAgICAgICAgICB3aWR0aDogMjhweDtcbiAgICAgICAgICAgIGhlaWdodDogMjhweDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRwYW5lbC1hY3Rpb25zO1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMTRweDtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEycHg7XG5cbiAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAyOHB4O1xuICAgICAgICAgICAgICAgIHdpZHRoOiAyOHB4O1xuICAgICAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0ZXJ0aWFyeS1jb250ZW50O1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTtcbiAgICAgICAgICAgICAgICBtYXNrLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgICAgICAgIG1hc2stcG9zaXRpb246IDJweCAzcHg7XG4gICAgICAgICAgICAgICAgbWFzay1zaXplOiAyNHB4O1xuICAgICAgICAgICAgICAgIG1hc2staW1hZ2U6IHVybChcIkB2ZWN0b3ItaW0vY29tcG91bmQtZGVzaWduLXRva2Vucy9pY29ucy9jaGV2cm9uLWRvd24uc3ZnXCIpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLm14X0FjY2Vzc2libGVCdXR0b25fa2luZF9wcmltYXJ5IHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDhweCAyMnB4O1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIHdpZHRoOiBtaW4tY29udGVudDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5teF9BY2Nlc3NpYmxlQnV0dG9uX2Rpc2FibGVkIHtcbiAgICAgICAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIvKlxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXG5Db3B5cmlnaHQgMjAyMSBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxuXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXG4qL1xuXG4ubXhfU3BhY2VQdWJsaWNTaGFyZSB7XG4gICAgLm14X0FjY2Vzc2libGVCdXR0b24ge1xuICAgICAgICBAbWl4aW4gU3BhY2VQaWxsQnV0dG9uO1xuXG4gICAgICAgICYubXhfU3BhY2VQdWJsaWNTaGFyZV9zaGFyZUJ1dHRvbjo6YmVmb3JlIHtcbiAgICAgICAgICAgIG1hc2staW1hZ2U6IHVybChcIkB2ZWN0b3ItaW0vY29tcG91bmQtZGVzaWduLXRva2Vucy9pY29ucy9saW5rLnN2Z1wiKTtcbiAgICAgICAgfVxuXG4gICAgICAgICYubXhfU3BhY2VQdWJsaWNTaGFyZV9pbnZpdGVCdXR0b246OmJlZm9yZSB7XG4gICAgICAgICAgICBtYXNrLWltYWdlOiB1cmwoXCIkKHJlcykvaW1nL2VsZW1lbnQtaWNvbnMvcm9vbS9pbnZpdGUuc3ZnXCIpO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiLypcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxuQ29weXJpZ2h0IDIwMTkgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cblxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuKi9cblxuLm14X0lubGluZVRlcm1zQWdyZWVtZW50X2NiQ29udGFpbmVyIHtcbiAgICBtYXJnaW4tdG9wOiB2YXIoLS1jcGQtc3BhY2UtNHgpO1xuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgZm9udDogdmFyKC0tY3BkLWZvbnQtYm9keS1tZC1yZWd1bGFyKTtcblxuICAgIGEge1xuICAgICAgICBjb2xvcjogJGFjY2VudDtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIH1cblxuICAgIC5teF9JbmxpbmVUZXJtc0FncmVlbWVudF9jaGVja2JveCB7XG4gICAgICAgIG1hcmdpbi10b3A6IDEwcHg7XG5cbiAgICAgICAgaW5wdXQge1xuICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IHRleHQtYm90dG9tO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4ubXhfSW5saW5lVGVybXNBZ3JlZW1lbnRfbGluayB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hc2staW1hZ2U6IHVybChcIiQocmVzKS9pbWcvZXh0ZXJuYWwtbGluay5zdmdcIik7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGFjY2VudDtcbiAgICBtYXNrLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIG1hc2stc2l6ZTogY29udGFpbjtcbiAgICB3aWR0aDogMTJweDtcbiAgICBoZWlnaHQ6IDEycHg7XG4gICAgbWFyZ2luLWxlZnQ6IDNweDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuIiwiLypcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxuQ29weXJpZ2h0IDIwMjAgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cblxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuKi9cblxuLm14X0FuYWx5dGljc1RvYXN0IHtcbiAgICAubXhfQWNjZXNzaWJsZUJ1dHRvbl9raW5kX2Rhbmdlcl9vdXRsaW5lIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGFjY2VudDtcbiAgICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRhY2NlbnQ7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1jcGQtZm9udC13ZWlnaHQtc2VtaWJvbGQpO1xuICAgIH1cblxuICAgIC5teF9BY2Nlc3NpYmxlQnV0dG9uX2tpbmRfcHJpbWFyeSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRhY2NlbnQ7XG4gICAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkYWNjZW50O1xuICAgICAgICBmb250LXdlaWdodDogdmFyKC0tY3BkLWZvbnQtd2VpZ2h0LXNlbWlib2xkKTtcbiAgICB9XG59XG4iLCIvKlxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXG5Db3B5cmlnaHQgMjAyMiBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxuXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXG4qL1xuXG4ubXhfSW5jb21pbmdDYWxsVG9hc3Qge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgcG9pbnRlci1ldmVudHM6IGluaXRpYWw7IC8qIHJlc3RvcmUgcG9pbnRlciBldmVudHMgc28gdGhlIHVzZXIgY2FuIGFjY2VwdC9kZWNsaW5lICovXG4gICAgd2lkdGg6IDI1MHB4O1xuXG4gICAgJGNsb3NlQnV0dG9uU2l6ZTogMTZweDtcblxuICAgIC5teF9JbmNvbWluZ0NhbGxUb2FzdF9jb250ZW50IHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDhweDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICAgICAgLm14X0luY29taW5nQ2FsbFRvYXN0X2luZm8ge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogJHNwYWNpbmctMTY7XG5cbiAgICAgICAgICAgIC5teF9JbmNvbWluZ0NhbGxUb2FzdF9yb29tIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogdmFyKC0tY3BkLWZvbnQtd2VpZ2h0LXNlbWlib2xkKTtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6ICRmb250LTE1cHg7XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6ICRmb250LTI0cHg7XG5cbiAgICAgICAgICAgICAgICAvKiBQcmV2ZW50IG92ZXJsYXAgd2l0aCB0aGUgY2xvc2UgYnV0dG9uICovXG4gICAgICAgICAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtICRjbG9zZUJ1dHRvblNpemUgLSAyICogJHNwYWNpbmctNCk7XG4gICAgICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICAgICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuXG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogJHNwYWNpbmctNDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLm14X0luY29taW5nQ2FsbFRvYXN0X21lc3NhZ2Uge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtMTJweDtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogJGZvbnQtMTVweDtcblxuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206ICRzcGFjaW5nLTQ7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5teF9MaXZlQ29udGVudFN1bW1hcnkge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtMTJweDtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogJGZvbnQtMTVweDtcblxuICAgICAgICAgICAgICAgIC5teF9MaXZlQ29udGVudFN1bW1hcnlfcGFydGljaXBhbnRzOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTVweDtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxNXB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5teF9JbmNvbWluZ0NhbGxUb2FzdF9qb2luQnV0dG9uIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAgICAgYm90dG9tOiAkc3BhY2luZy00O1xuICAgICAgICAgICAgcmlnaHQ6ICRzcGFjaW5nLTQ7XG5cbiAgICAgICAgICAgIGFsaWduLXNlbGY6IGZsZXgtZW5kO1xuXG4gICAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICAgICAgbWluLXdpZHRoOiAxMjBweDtcblxuICAgICAgICAgICAgcGFkZGluZzogJHNwYWNpbmctNCAwO1xuXG4gICAgICAgICAgICBsaW5lLWhlaWdodDogJGZvbnQtMjRweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5teF9JbmNvbWluZ0NhbGxUb2FzdF9jbG9zZUJ1dHRvbiB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcblxuICAgICAgICB0b3A6ICRzcGFjaW5nLTQ7XG4gICAgICAgIHJpZ2h0OiAkc3BhY2luZy00O1xuXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGhlaWdodDogJGNsb3NlQnV0dG9uU2l6ZTtcbiAgICAgICAgd2lkdGg6ICRjbG9zZUJ1dHRvblNpemU7XG5cbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG5cbiAgICAgICAgICAgIG1hc2staW1hZ2U6IHVybChcIkB2ZWN0b3ItaW0vY29tcG91bmQtZGVzaWduLXRva2Vucy9pY29ucy9jbG9zZS5zdmdcIik7XG5cbiAgICAgICAgICAgIGhlaWdodDogaW5oZXJpdDtcbiAgICAgICAgICAgIHdpZHRoOiBpbmhlcml0O1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHNlY29uZGFyeS1jb250ZW50O1xuICAgICAgICAgICAgbWFzay1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgICAgIG1hc2stc2l6ZTogY29udGFpbjtcbiAgICAgICAgICAgIG1hc2stcG9zaXRpb246IGNlbnRlcjtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi8qXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cbkNvcHlyaWdodCAyMDIxIMWgaW1vbiBCcmFuZG5lciA8c2ltb24uYnJhLmFnQGdtYWlsLmNvbT5cbkNvcHlyaWdodCAyMDIwIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXG5cblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cbiovXG5cbi5teF9JbmNvbWluZ0xlZ2FjeUNhbGxUb2FzdCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgIHBvaW50ZXItZXZlbnRzOiBpbml0aWFsOyAvKiByZXN0b3JlIHBvaW50ZXIgZXZlbnRzIHNvIHRoZSB1c2VyIGNhbiBhY2NlcHQvZGVjbGluZSAqL1xuXG4gICAgLm14X0luY29taW5nTGVnYWN5Q2FsbFRvYXN0X2NvbnRlbnQge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBtYXJnaW4tbGVmdDogOHB4O1xuXG4gICAgICAgIC5teF9MZWdhY3lDYWxsRXZlbnRfY2FsbGVyIHtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICAgICAgZm9udC1zaXplOiAkZm9udC0xNXB4O1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6ICRmb250LTE4cHg7XG5cbiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDJweDtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogNnB4O1xuXG4gICAgICAgICAgICBtYXgtd2lkdGg6IDIwMHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLm14X0xlZ2FjeUNhbGxFdmVudF90eXBlIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtMTJweDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAkZm9udC0xNXB4O1xuICAgICAgICAgICAgY29sb3I6ICR0ZXJ0aWFyeS1jb250ZW50O1xuXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiA0cHg7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA2cHg7XG5cbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgICAgICAgICAgLm14X0xlZ2FjeUNhbGxFdmVudF90eXBlX2ljb24ge1xuICAgICAgICAgICAgICAgIGhlaWdodDogMTZweDtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTZweDtcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDZweDtcblxuICAgICAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiBpbmhlcml0O1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogaW5oZXJpdDtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRlcnRpYXJ5LWNvbnRlbnQ7XG4gICAgICAgICAgICAgICAgICAgIG1hc2stcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgICAgICAgICAgIG1hc2stc2l6ZTogY29udGFpbjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLm14X0luY29taW5nTGVnYWN5Q2FsbFRvYXN0X2NvbnRlbnRfdm9pY2Uge1xuICAgICAgICAgICAgLm14X0xlZ2FjeUNhbGxFdmVudF90eXBlIC5teF9MZWdhY3lDYWxsRXZlbnRfdHlwZV9pY29uOjpiZWZvcmUsXG4gICAgICAgICAgICAubXhfSW5jb21pbmdMZWdhY3lDYWxsVG9hc3RfYnV0dG9ucyAubXhfSW5jb21pbmdMZWdhY3lDYWxsVG9hc3RfYnV0dG9uX2FjY2VwdCBzcGFuOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIG1hc2staW1hZ2U6IHVybChcIiQocmVzKS9pbWcvZWxlbWVudC1pY29ucy9jYWxsL3ZvaWNlLWNhbGwuc3ZnXCIpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi5teF9JbmNvbWluZ0xlZ2FjeUNhbGxUb2FzdF9jb250ZW50X3ZpZGVvIHtcbiAgICAgICAgICAgIC5teF9MZWdhY3lDYWxsRXZlbnRfdHlwZSAubXhfTGVnYWN5Q2FsbEV2ZW50X3R5cGVfaWNvbjo6YmVmb3JlLFxuICAgICAgICAgICAgLm14X0luY29taW5nTGVnYWN5Q2FsbFRvYXN0X2J1dHRvbnMgLm14X0luY29taW5nTGVnYWN5Q2FsbFRvYXN0X2J1dHRvbl9hY2NlcHQgc3Bhbjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBtYXNrLWltYWdlOiB1cmwoXCIkKHJlcykvaW1nL2VsZW1lbnQtaWNvbnMvY2FsbC92aWRlby1jYWxsLnN2Z1wiKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5teF9JbmNvbWluZ0xlZ2FjeUNhbGxUb2FzdF9idXR0b25zIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDhweDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICAgICAgZ2FwOiAxMnB4O1xuXG4gICAgICAgICAgICAubXhfSW5jb21pbmdMZWdhY3lDYWxsVG9hc3RfYnV0dG9uIHtcbiAgICAgICAgICAgICAgICBAbWl4aW4gTGVnYWN5Q2FsbEJ1dHRvbjtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwcHggOHB4O1xuICAgICAgICAgICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgICAgICAgICAgICAgIGZsZXgtZ3JvdzogMTtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6ICRmb250LTE1cHg7XG5cbiAgICAgICAgICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogOHB4IDA7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJi5teF9JbmNvbWluZ0xlZ2FjeUNhbGxUb2FzdF9idXR0b25fYWNjZXB0IHNwYW46OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgIG1hc2stc2l6ZTogMTNweDtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEzcHg7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogMTNweDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmLm14X0luY29taW5nTGVnYWN5Q2FsbFRvYXN0X2J1dHRvbl9kZWNsaW5lIHNwYW46OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgIG1hc2staW1hZ2U6IHVybChcIiQocmVzKS9pbWcvZWxlbWVudC1pY29ucy9jYWxsL2hhbmd1cC5zdmdcIik7XG4gICAgICAgICAgICAgICAgICAgIG1hc2stc2l6ZTogMTZweDtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDE2cHg7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogMTZweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubXhfSW5jb21pbmdMZWdhY3lDYWxsVG9hc3RfaWNvbkJ1dHRvbiB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGhlaWdodDogMjBweDtcbiAgICAgICAgd2lkdGg6IDIwcHg7XG5cbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG5cbiAgICAgICAgICAgIGhlaWdodDogaW5oZXJpdDtcbiAgICAgICAgICAgIHdpZHRoOiBpbmhlcml0O1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRlcnRpYXJ5LWNvbnRlbnQ7XG4gICAgICAgICAgICBtYXNrLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgICAgbWFzay1zaXplOiBjb250YWluO1xuICAgICAgICAgICAgbWFzay1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm14X0luY29taW5nTGVnYWN5Q2FsbFRvYXN0X3NpbGVuY2U6OmJlZm9yZSB7XG4gICAgICAgIG1hc2staW1hZ2U6IHVybChcIiQocmVzKS9pbWcvdm9pcC9zaWxlbmNlLnN2Z1wiKTtcbiAgICB9XG5cbiAgICAubXhfSW5jb21pbmdMZWdhY3lDYWxsVG9hc3RfdW5TaWxlbmNlOjpiZWZvcmUge1xuICAgICAgICBtYXNrLWltYWdlOiB1cmwoXCIkKHJlcykvaW1nL3ZvaXAvdW4tc2lsZW5jZS5zdmdcIik7XG4gICAgfVxufVxuIiwiLypcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxuQ29weXJpZ2h0IDIwMjAgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cblxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuKi9cblxuLm14X05vblVyZ2VudEVjaG9GYWlsdXJlVG9hc3Qge1xuICAgIC5teF9Ob25VcmdlbnRFY2hvRmFpbHVyZVRvYXN0X2ljb24ge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHdpZHRoOiAkZm9udC0xOHB4O1xuICAgICAgICBoZWlnaHQ6ICRmb250LTE4cHg7XG4gICAgICAgIG1hc2stcG9zaXRpb246IGNlbnRlcjtcbiAgICAgICAgbWFzay1zaXplOiBjb250YWluO1xuICAgICAgICBtYXNrLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmOyAvKiB3ZSBrbm93IHRoYXQgbm9uLXVyZ2VudCB0b2FzdHMgYXJlIGFsd2F5cyBzdHlsZWQgdGhlIHNhbWUgKi9cbiAgICAgICAgbWFzay1pbWFnZTogdXJsKFwiJChyZXMpL2ltZy9lbGVtZW50LWljb25zL2Nsb3VkLW9mZi5zdmdcIik7XG4gICAgICAgIG1hcmdpbi1yaWdodDogOHB4O1xuICAgIH1cblxuICAgIHNwYW4ge1xuICAgICAgICAvKiBpbmNsdWRlcyB0aGUgaTE4biBibG9jayAqL1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIH1cbn1cbiIsIi8qXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cbkNvcHlyaWdodCAyMDIxLTIwMjMgeCBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxuXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXG4qL1xuXG4ubXhfSGVhZGluZ19oMSxcbi5teF9IZWFkaW5nX2gyLFxuLm14X0hlYWRpbmdfaDMsXG4ubXhfSGVhZGluZ19oNCB7XG4gICAgbWFyZ2luLWlubGluZTogdW5zZXQ7XG4gICAgbWFyZ2luLWJsb2NrOiB1bnNldDtcbn1cblxuLm14X0hlYWRpbmdfaDEge1xuICAgIGZvbnQ6IHZhcigtLWNwZC1mb250LWhlYWRpbmcteGwtc2VtaWJvbGQpO1xufVxuXG4ubXhfSGVhZGluZ19oMiB7XG4gICAgZm9udDogdmFyKC0tY3BkLWZvbnQtaGVhZGluZy1sZy1zZW1pYm9sZCk7XG59XG5cbi5teF9IZWFkaW5nX2gzIHtcbiAgICBmb250OiB2YXIoLS1jcGQtZm9udC1oZWFkaW5nLW1kLXNlbWlib2xkKTtcbiAgICBmb250LXdlaWdodDogdmFyKC0tY3BkLWZvbnQtd2VpZ2h0LXNlbWlib2xkKTtcbn1cblxuLm14X0hlYWRpbmdfaDQge1xuICAgIGZvbnQ6IHZhcigtLWNwZC1mb250LWhlYWRpbmctc20tc2VtaWJvbGQpO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1jcGQtZm9udC13ZWlnaHQtc2VtaWJvbGQpO1xufVxuIiwiLypcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxuQ29weXJpZ2h0IDIwMjIgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cblxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuKi9cblxuLm14X1VzZXJPbmJvYXJkaW5nQnV0dG9uIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYWxpZ24tY29udGVudDogc3RyZXRjaDtcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgbWFyZ2luOiAkc3BhY2luZy04ICRzcGFjaW5nLTggMDtcbiAgICBwYWRkaW5nOiAkc3BhY2luZy0xMjtcblxuICAgICYubXhfVXNlck9uYm9hcmRpbmdCdXR0b25fc2VsZWN0ZWQsXG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzLXdpdGhpbiB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRwYW5lbC1hY3Rpb25zO1xuICAgIH1cblxuICAgIC5teF9Vc2VyT25ib2FyZGluZ0J1dHRvbl9jb250ZW50IHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgZ2FwOiA1cHg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgICAgICAgLm14X0hlYWRpbmdfaDQge1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgZm9udDogdmFyKC0tY3BkLWZvbnQtYm9keS1tZC1yZWd1bGFyKTtcbiAgICAgICAgICAgIGNvbG9yOiAkcHJpbWFyeS1jb250ZW50O1xuICAgICAgICB9XG5cbiAgICAgICAgLm14X1VzZXJPbmJvYXJkaW5nQnV0dG9uX3BlcmNlbnRhZ2Uge1xuICAgICAgICAgICAgZm9udC1zaXplOiAkZm9udC0xMnB4O1xuICAgICAgICAgICAgY29sb3I6ICRzZWNvbmRhcnktY29udGVudDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5teF9Vc2VyT25ib2FyZGluZ0J1dHRvbl9jbG9zZSB7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICAgICAgd2lkdGg6IDE0cHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDE0cHg7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiA3cHg7XG4gICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkc2Vjb25kYXJ5LWNvbnRlbnQ7XG4gICAgICAgICAgICBmbGV4LXNocmluazogMDtcblxuICAgICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2Vjb25kYXJ5LWNvbnRlbnQ7XG4gICAgICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgICAgICBtYXNrLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgICAgICAgIG1hc2stcG9zaXRpb246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBtYXNrLXNpemU6IDEycHg7XG4gICAgICAgICAgICAgICAgd2lkdGg6IGluaGVyaXQ7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiBpbmhlcml0O1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICBsZWZ0OiAtMXB4O1xuICAgICAgICAgICAgICAgIHRvcDogLTFweDtcbiAgICAgICAgICAgICAgICBtYXNrLWltYWdlOiB1cmwoXCJAdmVjdG9yLWltL2NvbXBvdW5kLWRlc2lnbi10b2tlbnMvaWNvbnMvY2xvc2Uuc3ZnXCIpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm14X1Byb2dyZXNzQmFyIHtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIG1hcmdpbi10b3A6ICRzcGFjaW5nLTg7XG4gICAgICAgIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kO1xuICAgIH1cblxuICAgICYubXhfVXNlck9uYm9hcmRpbmdCdXR0b25fY29tcGxldGVkIC5teF9Qcm9ncmVzc0JhciB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxufVxuIiwiLypcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxuQ29weXJpZ2h0IDIwMjIgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cblxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuKi9cblxuLm14X1VzZXJPbmJvYXJkaW5nSGVhZGVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgcGFkZGluZzogJHNwYWNpbmctMzI7XG4gICAgYm9yZGVyLXJhZGl1czogMTZweDtcbiAgICBiYWNrZ3JvdW5kOiAkc3lzdGVtO1xuICAgIGdhcDogJHNwYWNpbmctNjQ7XG5cbiAgICBhbmltYXRpb24tZGVsYXk6IDE1MDBtcztcbiAgICBhbmltYXRpb24tZHVyYXRpb246IDMwMG1zO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLCAwLCAwLjU4LCAxKTtcbiAgICBhbmltYXRpb24tbmFtZTogbXhfVXNlck9uYm9hcmRpbmdIZWFkZXJfc2xpZGVJbjtcbiAgICBhbmltYXRpb24tZmlsbC1tb2RlOiBiYWNrd2FyZHM7XG4gICAgd2lsbC1jaGFuZ2U6IG9wYWNpdHksIHRyYW5zZm9ybTtcblxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAxMjgwcHgpIHtcbiAgICAgICAgbWFyZ2luOiAkc3BhY2luZy0zMjtcbiAgICB9XG5cbiAgICAubXhfVXNlck9uYm9hcmRpbmdIZWFkZXJfZG90IHtcbiAgICAgICAgY29sb3I6ICRhY2NlbnQ7XG4gICAgfVxuXG4gICAgLm14X1VzZXJPbmJvYXJkaW5nSGVhZGVyX2NvbnRlbnQge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBmbGV4LWJhc2lzOiA1MCU7XG4gICAgICAgIGZsZXgtc2hyaW5rOiAxO1xuICAgICAgICBmbGV4LWdyb3c6IDE7XG4gICAgICAgIG1pbi13aWR0aDogMDtcbiAgICAgICAgZ2FwOiAkc3BhY2luZy0yNDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuXG4gICAgICAgIHAge1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgLm14X0FjY2Vzc2libGVCdXR0b24ge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogYXV0bztcbiAgICAgICAgICAgIGFsaWduLXNlbGY6IGZsZXgtc3RhcnQ7XG4gICAgICAgICAgICBwYWRkaW5nOiAkc3BhY2luZy0xMiAkc3BhY2luZy0yNDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5teF9Vc2VyT25ib2FyZGluZ0hlYWRlcl9pbWFnZSB7XG4gICAgICAgIGZsZXgtYmFzaXM6IDMwJTtcbiAgICAgICAgZmxleC1zaHJpbms6IDE7XG4gICAgICAgIGZsZXgtZ3JvdzogMTtcbiAgICAgICAgYWxpZ24tc2VsZjogY2VudGVyO1xuICAgICAgICBoZWlnaHQ6IGNhbGMoMTAwJSArICRzcGFjaW5nLTY0ICsgJHNwYWNpbmctNjQpO1xuICAgICAgICBhc3BlY3QtcmF0aW86IDQgLyAzO1xuICAgICAgICBvYmplY3QtZml0OiBjb250YWluO1xuICAgICAgICBtaW4td2lkdGg6IDA7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDA7XG4gICAgICAgIG1hcmdpbi10b3A6IC0kc3BhY2luZy02NDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogLSRzcGFjaW5nLTY0O1xuXG4gICAgICAgIGFuaW1hdGlvbi1kZWxheTogMTUwMG1zO1xuICAgICAgICBhbmltYXRpb24tZHVyYXRpb246IDMwMG1zO1xuICAgICAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMCwgMCwgMC41OCwgMSk7XG4gICAgICAgIGFuaW1hdGlvbi1uYW1lOiBteF9Vc2VyT25ib2FyZGluZ0hlYWRlcl9zbGlkZUluTG9uZztcbiAgICAgICAgYW5pbWF0aW9uLWZpbGwtbW9kZTogYmFja3dhcmRzO1xuICAgICAgICB3aWxsLWNoYW5nZTogb3BhY2l0eSwgdHJhbnNmb3JtO1xuICAgIH1cbn1cblxuQGtleWZyYW1lcyBteF9Vc2VyT25ib2FyZGluZ0hlYWRlcl9zbGlkZUluIHtcbiAgICAwJSB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDhweCk7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgfVxuICAgIDEwMCUge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG59XG5cbkBrZXlmcmFtZXMgbXhfVXNlck9uYm9hcmRpbmdIZWFkZXJfc2xpZGVJbkxvbmcge1xuICAgIDAlIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMzJweCk7XG4gICAgfVxuICAgIDEwMCUge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTtcbiAgICB9XG59XG4iLCIvKlxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXG5Db3B5cmlnaHQgMjAyMiBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxuXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXG4qL1xuXG4ubXhfVXNlck9uYm9hcmRpbmdMaXN0IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgbWFyZ2luOiAwICRzcGFjaW5nLTMyO1xuXG4gICAgYW5pbWF0aW9uLWR1cmF0aW9uOiAzMDBtcztcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMCwgMCwgMC41OCwgMSk7XG4gICAgYW5pbWF0aW9uLW5hbWU6IG14X1VzZXJPbmJvYXJkaW5nTGlzdF9zbGlkZUluO1xuICAgIGFuaW1hdGlvbi1maWxsLW1vZGU6IGJhY2t3YXJkcztcbiAgICB3aWxsLWNoYW5nZTogb3BhY2l0eTtcblxuICAgIC5teF9Vc2VyT25ib2FyZGluZ0xpc3RfaGVhZGVyIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgZ2FwOiAxMnB4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gICAgICAgIC5teF9Vc2VyT25ib2FyZGluZ0xpc3RfaGludCB7XG4gICAgICAgICAgICBjb2xvcjogJHNlY29uZGFyeS1jb250ZW50O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm14X1VzZXJPbmJvYXJkaW5nTGlzdF9wcm9ncmVzcyB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGNvdW50ZXItcmVzZXQ6IHVzZXItb25ib2FyZGluZztcblxuICAgICAgICAubXhfUHJvZ3Jlc3NCYXIge1xuICAgICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAkc3BhY2luZy0xNjtcbiAgICAgICAgICAgIGhlaWdodDogMTZweDtcblxuICAgICAgICAgICAgQG1peGluIFByb2dyZXNzQmFyQm9yZGVyUmFkaXVzIDE2cHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubXhfVXNlck9uYm9hcmRpbmdMaXN0X2xpc3Qge1xuICAgICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IG1heC1jb250ZW50IDFmciBtYXgtY29udGVudDtcblxuICAgICAgICBhcHBlYXJhbmNlOiBub25lO1xuICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICBtYXJnaW46ICRzcGFjaW5nLTMyIDAgMDtcbiAgICAgICAgcGFkZGluZzogMDtcblxuICAgICAgICBncmlkLWdhcDogJHNwYWNpbmctMjQ7XG4gICAgfVxufVxuXG5Aa2V5ZnJhbWVzIG14X1VzZXJPbmJvYXJkaW5nTGlzdF9zbGlkZUluIHtcbiAgICAwJSB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDhweCk7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgfVxuICAgIDEwMCUge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG59XG4iLCIvKlxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXG5Db3B5cmlnaHQgMjAyMiBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxuXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXG4qL1xuXG4ubXhfVXNlck9uYm9hcmRpbmdQYWdlIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG5cbiAgICBhbGlnbi1zZWxmOiBzdHJldGNoO1xuICAgIG1heC13aWR0aDogMTIwMHB4O1xuICAgIG1hcmdpbjogMCBhdXRvIGF1dG87XG5cbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcblxuICAgIGdhcDogJHNwYWNpbmctNjQ7XG4gICAgcGFkZGluZzogJHNwYWNpbmctNjQgMTAwcHg7XG5cbiAgICBAbWVkaWEgKG1heC13aWR0aDogMTI4MHB4KSB7XG4gICAgICAgIHBhZGRpbmc6ICRzcGFjaW5nLTQ4ICRzcGFjaW5nLTMyO1xuICAgIH1cbn1cbiIsIi8qXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cbkNvcHlyaWdodCAyMDIyIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXG5cblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cbiovXG5cbi5teF9Vc2VyT25ib2FyZGluZ1Rhc2sge1xuICAgIGRpc3BsYXk6IGNvbnRlbnRzO1xuXG4gICAgLm14X1VzZXJPbmJvYXJkaW5nVGFza19udW1iZXIge1xuICAgICAgICBjb3VudGVyLWluY3JlbWVudDogdXNlci1vbmJvYXJkaW5nO1xuICAgICAgICBncmlkLWNvbHVtbjogMTtcbiAgICAgICAgY29sb3I6ICRzZWNvbmRhcnktY29udGVudDtcbiAgICAgICAgd2lkdGg6IDMycHg7XG4gICAgICAgIGhlaWdodDogMzJweDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBib3JkZXI6IDJweCBzb2xpZCAkcXVpbmFyeS1jb250ZW50O1xuICAgICAgICBib3JkZXItcmFkaXVzOiAzMnB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMzJweDtcbiAgICAgICAgYWxpZ24tc2VsZjogY2VudGVyO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IGNvdW50ZXIodXNlci1vbmJvYXJkaW5nKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5teF9Vc2VyT25ib2FyZGluZ1Rhc2tfY29udGVudCB7XG4gICAgICAgIGdyaWQtY29sdW1uOiAyO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBmbGV4LWdyb3c6IDE7XG4gICAgICAgIGZsZXgtc2hyaW5rOiAxO1xuXG4gICAgICAgIHRyYW5zaXRpb246IGFsbCA1MDBtcztcblxuICAgICAgICAubXhfVXNlck9uYm9hcmRpbmdUYXNrX3RpdGxlIHtcbiAgICAgICAgICAgIGZvbnQ6IHZhcigtLWNwZC1mb250LWJvZHktbWQtbWVkaXVtKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5teF9Vc2VyT25ib2FyZGluZ1Rhc2tfZGVzY3JpcHRpb24ge1xuICAgICAgICAgICAgZm9udC1zaXplOiAkZm9udC0xMnB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm14X1VzZXJPbmJvYXJkaW5nVGFza19hY3Rpb24ubXhfQWNjZXNzaWJsZUJ1dHRvbiB7XG4gICAgICAgIGdyaWQtY29sdW1uOiAzO1xuICAgICAgICBtaW4td2lkdGg6IDE4MHB4O1xuXG4gICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA4MDBweCkge1xuICAgICAgICAgICAgZ3JpZC1jb2x1bW46IDI7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAtMTZweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYubXhfVXNlck9uYm9hcmRpbmdUYXNrX2NvbXBsZXRlZCB7XG4gICAgICAgIC5teF9Vc2VyT25ib2FyZGluZ1Rhc2tfbnVtYmVyIHtcbiAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgaW5zZXQ6IC0ycHg7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tY3BkLWNvbG9yLWljb24tYWNjZW50LXRlcnRpYXJ5KTtcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAzMnB4O1xuXG4gICAgICAgICAgICAgICAgYW5pbWF0aW9uLWR1cmF0aW9uOiAzMDBtcztcbiAgICAgICAgICAgICAgICBhbmltYXRpb24tZmlsbC1tb2RlOiBib3RoO1xuICAgICAgICAgICAgICAgIGFuaW1hdGlvbi1uYW1lOiBteF9Vc2VyT25ib2FyZGluZ1Rhc2tfc3ByaW5nO1xuICAgICAgICAgICAgICAgIHdpbGwtY2hhbmdlOiBvcGFjaXR5LCB0cmFuc2Zvcm07XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jcGQtY29sb3ItaWNvbi1vbi1zb2xpZC1wcmltYXJ5KTtcbiAgICAgICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgICAgIG1hc2stcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgICAgICAgbWFzay1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgICAgICAgICAgIG1hc2stc2l6ZTogMjRweDtcbiAgICAgICAgICAgICAgICB3aWR0aDogaW5oZXJpdDtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IGluaGVyaXQ7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgICAgIG1hc2staW1hZ2U6IHVybChcIkB2ZWN0b3ItaW0vY29tcG91bmQtZGVzaWduLXRva2Vucy9pY29ucy9jaGVjay5zdmdcIik7XG5cbiAgICAgICAgICAgICAgICBhbmltYXRpb24tZHVyYXRpb246IDMwMG1zO1xuICAgICAgICAgICAgICAgIGFuaW1hdGlvbi1maWxsLW1vZGU6IGJvdGg7XG4gICAgICAgICAgICAgICAgYW5pbWF0aW9uLW5hbWU6IG14X1VzZXJPbmJvYXJkaW5nVGFza19zcHJpbmc7XG4gICAgICAgICAgICAgICAgd2lsbC1jaGFuZ2U6IG9wYWNpdHksIHRyYW5zZm9ybTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5teF9Vc2VyT25ib2FyZGluZ1Rhc2tfY29udGVudCB7XG4gICAgICAgICAgICBvcGFjaXR5OiAwLjY7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBrZXlmcmFtZXMgbXhfVXNlck9uYm9hcmRpbmdUYXNrX3NwcmluZyB7XG4gICAgMCUge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDAuNik7XG4gICAgfVxuICAgIDUwJSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4yKTtcbiAgICB9XG4gICAgMTAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgfVxufVxuIiwiLypcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxuQ29weXJpZ2h0IDIwMjAgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cbkNvcHlyaWdodCAyMDE5IE5ldyBWZWN0b3IgTHRkLlxuXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXG4qL1xuXG4ubXhfVmVyaWZpY2F0aW9uU2hvd1Nhc19kZWNpbWFsU2FzIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgcGFkZGluZy1sZWZ0OiAzcHg7XG4gICAgcGFkZGluZy1yaWdodDogM3B4O1xufVxuXG4ubXhfVmVyaWZpY2F0aW9uU2hvd1Nhc19kZWNpbWFsU2FzIHNwYW4ge1xuICAgIG1hcmdpbi1sZWZ0OiA1cHg7XG4gICAgbWFyZ2luLXJpZ2h0OiA1cHg7XG59XG5cbi5teF9WZXJpZmljYXRpb25TaG93U2FzX2Vtb2ppU2FzIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgbWFyZ2luOiAyNXB4IDA7XG59XG5cbi5teF9WZXJpZmljYXRpb25TaG93U2FzX2Vtb2ppU2FzX2Jsb2NrIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luLWJvdHRvbTogMTZweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgd2lkdGg6IDUycHg7XG59XG5cbi5teF9EaWFsb2cgLm14X1ZlcmlmaWNhdGlvblNob3dTYXNfZW1vamlTYXNfYmxvY2ssXG4ubXhfQXV0aFBhZ2VfbW9kYWwgLm14X1ZlcmlmaWNhdGlvblNob3dTYXNfZW1vamlTYXNfYmxvY2sge1xuICAgIHdpZHRoOiA2MHB4O1xufVxuXG4ubXhfVmVyaWZpY2F0aW9uU2hvd1Nhc19lbW9qaVNhc19lbW9qaSB7XG4gICAgZm9udC1zaXplOiAkZm9udC0zMnB4O1xuICAgIC8qIFVzZSB0aGUgVHdlbW9qaSBmb250IGZvciBjb25zaXN0ZW5jeSB3aXRoIG90aGVyIGNsaWVudHMgKi9cbiAgICBmb250LWZhbWlseTogVHdlbW9qaSwgdmFyKC0tY3BkLWZvbnQtZmFtaWx5LXNhbnMpO1xufVxuXG4ubXhfVmVyaWZpY2F0aW9uU2hvd1Nhc19lbW9qaVNhc19sYWJlbCB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgIGZvbnQtc2l6ZTogJGZvbnQtMTJweDtcbn1cblxuLm14X1ZlcmlmaWNhdGlvblNob3dTYXNfZW1vamlTYXNfYnJlYWsge1xuICAgIGZsZXgtYmFzaXM6IDEwMCU7XG59XG5cbi5teF9WZXJpZmljYXRpb25TaG93U2FzX2J1dHRvblJvdyB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGdhcDogOXB4O1xufVxuIiwiLypcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxuQ29weXJpZ2h0IDIwMjEsIDIwMjIgxaBpbW9uIEJyYW5kbmVyIDxzaW1vbi5icmEuYWdAZ21haWwuY29tPlxuQ29weXJpZ2h0IDIwMjAsIDIwMjEgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cbkNvcHlyaWdodCAyMDE1LCAyMDE2IE9wZW5NYXJrZXQgTHRkXG5cblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cbiovXG5cbi8qIGRhdGEtd2hhdGludGVudCBtYWtlcyBtb3JlIHNlbnNlIGhlcmUgc2VtYW50aWNhbGx5IGJ1dCB0aGVuIHRoZSB0b29sdGlwIHdvdWxkIHN0YXkgdmlzaWJsZSB3aXRob3V0IHRoZSBidXR0b24gKi9cbi8qIHdoaWNoIGxvb2tzIGJyb2tlbiwgc28gd2UgbWF0Y2ggdGhlIGJlaGF2aW91ciBvZiB0b29sdGlwcyB3aGljaCBpcyBmaW5lIHRvby4gKi9cbltkYXRhLXdoYXRpbnB1dD1cIm1vdXNlXCJdIC5teF9MZWdhY3lDYWxsVmlld0J1dHRvbnMubXhfTGVnYWN5Q2FsbFZpZXdCdXR0b25zX2hpZGRlbiB7XG4gICAgb3BhY2l0eTogMC4wMDE7IC8qIG9wYWNpdHkgMCBjYW4gY2F1c2UgYSByZS1sYXlvdXQgKi9cbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cblxuLm14X0xlZ2FjeUNhbGxWaWV3QnV0dG9ucyB7XG4gICAgLS1MZWdhY3lDYWxsVmlld0J1dHRvbnNfZHJvcGRvd25CdXR0b24tc2l6ZTogMTZweDtcblxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGJvdHRvbTogMzJweDtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC41cztcbiAgICB6LWluZGV4OiAyMDA7IC8qIFRvIGJlIGFib3ZlIF9hbGxfIGZlZWRzICovXG4gICAgZ2FwOiAxOHB4O1xuXG4gICAgLm14X0xlZ2FjeUNhbGxWaWV3QnV0dG9uc19idXR0b24ge1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNhbGwtdmlldy1idXR0b24tb24tYmFja2dyb3VuZDtcblxuICAgICAgICBib3JkZXItcmFkaXVzOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDQwcHg7XG4gICAgICAgIHdpZHRoOiA0MHB4O1xuXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICBib3gtc2hhZG93OiAwcHggNHB4IDRweCAwcHggIzAwMDAwMDI2OyAvKiBTYW1lIG9uIGJvdGggdGhlbWVzICovXG5cbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cbiAgICAgICAgICAgIG1hc2stcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgICBtYXNrLXNpemU6IGNvbnRhaW47XG4gICAgICAgICAgICBtYXNrLXBvc2l0aW9uOiBjZW50ZXI7XG5cbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjYWxsLXZpZXctYnV0dG9uLW9uLWZvcmVncm91bmQ7XG5cbiAgICAgICAgICAgIGhlaWdodDogMjRweDtcbiAgICAgICAgICAgIHdpZHRoOiAyNHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgJi5teF9MZWdhY3lDYWxsVmlld0J1dHRvbnNfZHJvcGRvd25CdXR0b24ge1xuICAgICAgICAgICAgd2lkdGg6IHZhcigtLUxlZ2FjeUNhbGxWaWV3QnV0dG9uc19kcm9wZG93bkJ1dHRvbi1zaXplKTtcbiAgICAgICAgICAgIGhlaWdodDogdmFyKC0tTGVnYWN5Q2FsbFZpZXdCdXR0b25zX2Ryb3Bkb3duQnV0dG9uLXNpemUpO1xuXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgIGJvdHRvbTogMDtcblxuICAgICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTZweDtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDE2cHg7XG4gICAgICAgICAgICAgICAgbWFzay1pbWFnZTogdXJsKFwiQHZlY3Rvci1pbS9jb21wb3VuZC1kZXNpZ24tdG9rZW5zL2ljb25zL2NoZXZyb24tdXAuc3ZnXCIpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLm14X0xlZ2FjeUNhbGxWaWV3QnV0dG9uc19kcm9wZG93bkJ1dHRvbl9jb2xsYXBzZWQ6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC8qIFN0YXRlIGJ1dHRvbnMgKi9cbiAgICAgICAgJi5teF9MZWdhY3lDYWxsVmlld0J1dHRvbnNfYnV0dG9uX29uIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjYWxsLXZpZXctYnV0dG9uLW9uLWJhY2tncm91bmQ7XG5cbiAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNhbGwtdmlldy1idXR0b24tb24tZm9yZWdyb3VuZDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi5teF9MZWdhY3lDYWxsVmlld0J1dHRvbnNfYnV0dG9uX21pYzo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICAgICAgICAgICAgbWFzay1pbWFnZTogdXJsKFwiQHZlY3Rvci1pbS9jb21wb3VuZC1kZXNpZ24tdG9rZW5zL2ljb25zL21pYy1vbi1zb2xpZC5zdmdcIik7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDIwcHg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYubXhfTGVnYWN5Q2FsbFZpZXdCdXR0b25zX2J1dHRvbl92aWQ6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgbWFzay1pbWFnZTogdXJsKFwiQHZlY3Rvci1pbS9jb21wb3VuZC1kZXNpZ24tdG9rZW5zL2ljb25zL3ZpZGVvLWNhbGwtc29saWQuc3ZnXCIpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLm14X0xlZ2FjeUNhbGxWaWV3QnV0dG9uc19idXR0b25fc2NyZWVuc2hhcmluZyB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGFjY2VudDtcblxuICAgICAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgIG1hc2staW1hZ2U6IHVybChcIkB2ZWN0b3ItaW0vY29tcG91bmQtZGVzaWduLXRva2Vucy9pY29ucy9zaGFyZS1zY3JlZW4tc29saWQuc3ZnXCIpO1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTsgLyogU2FtZSBvbiBib3RoIHRoZW1lcyAqL1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi5teF9MZWdhY3lDYWxsVmlld0J1dHRvbnNfYnV0dG9uX3NpZGViYXI6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgbWFzay1pbWFnZTogdXJsKFwiJChyZXMpL2ltZy92b2lwL2NhbGwtdmlldy9zaWRlYmFyLW9uLnN2Z1wiKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYubXhfTGVnYWN5Q2FsbFZpZXdCdXR0b25zX2J1dHRvbl9vZmYge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNhbGwtdmlldy1idXR0b24tb2ZmLWJhY2tncm91bmQ7XG5cbiAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNhbGwtdmlldy1idXR0b24tb2ZmLWZvcmVncm91bmQ7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYubXhfTGVnYWN5Q2FsbFZpZXdCdXR0b25zX2J1dHRvbl9taWM6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgICAgICAgICAgICAgIG1hc2staW1hZ2U6IHVybChcIkB2ZWN0b3ItaW0vY29tcG91bmQtZGVzaWduLXRva2Vucy9pY29ucy9taWMtb2ZmLXNvbGlkLnN2Z1wiKTtcbiAgICAgICAgICAgICAgICB3aWR0aDogMjBweDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi5teF9MZWdhY3lDYWxsVmlld0J1dHRvbnNfYnV0dG9uX3ZpZDo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBtYXNrLWltYWdlOiB1cmwoXCJAdmVjdG9yLWltL2NvbXBvdW5kLWRlc2lnbi10b2tlbnMvaWNvbnMvdmlkZW8tY2FsbC1vZmYtc29saWQuc3ZnXCIpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLm14X0xlZ2FjeUNhbGxWaWV3QnV0dG9uc19idXR0b25fc2NyZWVuc2hhcmluZyB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNhbGwtdmlldy1idXR0b24tb24tYmFja2dyb3VuZDtcblxuICAgICAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgIG1hc2staW1hZ2U6IHVybChcIkB2ZWN0b3ItaW0vY29tcG91bmQtZGVzaWduLXRva2Vucy9pY29ucy9zaGFyZS1zY3JlZW4tc29saWQuc3ZnXCIpO1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY2FsbC12aWV3LWJ1dHRvbi1vbi1mb3JlZ3JvdW5kO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi5teF9MZWdhY3lDYWxsVmlld0J1dHRvbnNfYnV0dG9uX3NpZGViYXIge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjYWxsLXZpZXctYnV0dG9uLW9uLWJhY2tncm91bmQ7XG5cbiAgICAgICAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICBtYXNrLWltYWdlOiB1cmwoXCIkKHJlcykvaW1nL3ZvaXAvY2FsbC12aWV3L3NpZGViYXItb2ZmLnN2Z1wiKTtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNhbGwtdmlldy1idXR0b24tb24tZm9yZWdyb3VuZDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLyogU3RhdGUgYnV0dG9ucyAqL1xuXG4gICAgICAgIC8qIFN0YXRlbGVzcyBidXR0b25zICovXG4gICAgICAgICYubXhfTGVnYWN5Q2FsbFZpZXdCdXR0b25zX2RpYWxwYWQ6OmJlZm9yZSB7XG4gICAgICAgICAgICBtYXNrLWltYWdlOiB1cmwoXCIkKHJlcykvaW1nL3ZvaXAvY2FsbC12aWV3L2RpYWxwYWQuc3ZnXCIpO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5teF9MZWdhY3lDYWxsVmlld0J1dHRvbnNfYnV0dG9uX2hhbmd1cCB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYWxlcnQ7XG5cbiAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgbWFzay1pbWFnZTogdXJsKFwiJChyZXMpL2ltZy9lbGVtZW50LWljb25zL2NhbGwvaGFuZ3VwLnN2Z1wiKTtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTsgLyogU2FtZSBvbiBib3RoIHRoZW1lcyAqL1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi5teF9MZWdhY3lDYWxsVmlld0J1dHRvbnNfYnV0dG9uX21vcmU6OmJlZm9yZSB7XG4gICAgICAgICAgICBtYXNrLWltYWdlOiB1cmwoXCJAdmVjdG9yLWltL2NvbXBvdW5kLWRlc2lnbi10b2tlbnMvaWNvbnMvb3ZlcmZsb3ctaG9yaXpvbnRhbC5zdmdcIik7XG4gICAgICAgIH1cbiAgICAgICAgLyogU3RhdGVsZXNzIGJ1dHRvbnMgKi9cblxuICAgICAgICAvKiBJbnZpc2libGUgc3RhdGUgKi9cbiAgICAgICAgJi5teF9MZWdhY3lDYWxsVmlld0J1dHRvbnNfYnV0dG9uX2ludmlzaWJsZSB7XG4gICAgICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgfVxuICAgICAgICAvKiBJbnZpc2libGUgc3RhdGUgKi9cbiAgICB9XG59XG4iLCIvKlxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXG5Db3B5cmlnaHQgMjAyMiBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxuXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXG4qL1xuXG4ubXhfQ2FsbER1cmF0aW9uIHtcbiAgICBjb2xvcjogJHNlY29uZGFyeS1jb250ZW50O1xuICAgIGZvbnQtc2l6ZTogJGZvbnQtMTJweDtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuIiwiLypcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxuQ29weXJpZ2h0IDIwMjIgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cblxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuKi9cblxuLm14X0NhbGxWaWV3IHtcbiAgICBmbGV4LWdyb3c6IDE7XG4gICAgbWluLWhlaWdodDogMDtcblxuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblxuICAgIGJhY2tncm91bmQtY29sb3I6ICRoZWFkZXItcGFuZWwtYmctY29sb3I7XG5cbiAgICAubXhfQXBwVGlsZSB7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogaW5oZXJpdDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNhbGwtYmFja2dyb3VuZDtcbiAgICB9XG5cbiAgICAvKiBXaGlsZSB0aGUgbG9iYnkgaXMgc2hvd24sIHRoZSB3aWRnZXQgbmVlZHMgdG8gc3RheSBsb2FkZWQgYnV0IGhpZGRlbiBpbiB0aGUgYmFja2dyb3VuZCAqL1xuICAgIC5teF9DYWxsVmlld19sb2JieSB+IC5teF9BcHBUaWxlIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAubXhfQ2FsbFZpZXdfbG9iYnkge1xuICAgICAgICBtaW4taGVpZ2h0OiAwO1xuICAgICAgICBmbGV4LWdyb3c6IDE7XG4gICAgICAgIHBhZGRpbmc6ICRzcGFjaW5nLTEyO1xuICAgICAgICBjb2xvcjogJGNhbGwtcHJpbWFyeS1jb250ZW50O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY2FsbC1iYWNrZ3JvdW5kO1xuXG4gICAgICAgIC0tZmFjZXBpbGUtYmFja2dyb3VuZDogJGNhbGwtYmFja2dyb3VuZDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4O1xuXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBnYXA6ICRzcGFjaW5nLTMyO1xuXG4gICAgICAgIC5teF9GYWNlUGlsZSB7XG4gICAgICAgICAgICB3aWR0aDogZml0LWNvbnRlbnQ7XG4gICAgICAgICAgICBtYXJnaW46ICRzcGFjaW5nLTggYXV0byAwO1xuICAgICAgICB9XG5cbiAgICAgICAgLm14X0NhbGxWaWV3X3ByZXZpZXcge1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDgwMHB4O1xuICAgICAgICAgICAgYXNwZWN0LXJhdGlvOiAxLjU7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY2FsbC1zeXN0ZW07XG5cbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDIwcHg7XG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgICAgICAgICAgLm14X0Jhc2VBdmF0YXIge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogJHNwYWNpbmctMjA7XG5cbiAgICAgICAgICAgICAgICAvKiBPdmVycmlkZSB0aGUgZXhwbGljaXQgZGltZW5zaW9ucyBvbiB0aGUgZWxlbWVudCBzbyB0aGF0IHRoaXMgZ2V0cyBzaXplZCByZXNwb25zaXZlbHkgKi9cbiAgICAgICAgICAgICAgICB3aWR0aDogdW5zZXQgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IHVuc2V0ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgbWluLXdpZHRoOiAwO1xuICAgICAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgZmxleDogMCAxIDIwMHB4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB2aWRlbyB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICAgICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZVgoLTEpOyAvKiBmbGlwIHRoZSBpbWFnZSAqL1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IGJsYWNrO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAubXhfQ2FsbFZpZXdfY29udHJvbHMge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgICAgICByaWdodDogMDtcblxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRpbmZvLXBsaW50aC1mZy1jb2xvcjtcblxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgZ2FwOiAkc3BhY2luZy0yNDtcblxuICAgICAgICAgICAgICAgIC5teF9DYWxsVmlld19kZXZpY2VCdXR0b25XcmFwcGVyIHtcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDZweCAwIDEwcHg7XG5cbiAgICAgICAgICAgICAgICAgICAgLm14X0NhbGxWaWV3X2RldmljZUJ1dHRvbiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAkc2l6ZTogNTBweDtcblxuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6ICRzaXplO1xuICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAkc2l6ZTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNhbGwtc3lzdGVtO1xuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogY2FsYygkc2l6ZSAvIDIpO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hc2stcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFzay1zaXplOiAyMHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hc2stcG9zaXRpb246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY2FsbC1wcmltYXJ5LWNvbnRlbnQ7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAmLm14X0NhbGxWaWV3X2RldmljZUJ1dHRvbl9hdWRpbzo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXNrLWltYWdlOiB1cmwoXCJAdmVjdG9yLWltL2NvbXBvdW5kLWRlc2lnbi10b2tlbnMvaWNvbnMvbWljLW9uLXNvbGlkLnN2Z1wiKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXNrLXNpemU6IDE0cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICYubXhfQ2FsbFZpZXdfZGV2aWNlQnV0dG9uX3ZpZGVvOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hc2staW1hZ2U6IHVybChcIkB2ZWN0b3ItaW0vY29tcG91bmQtZGVzaWduLXRva2Vucy9pY29ucy92aWRlby1jYWxsLXNvbGlkLnN2Z1wiKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIC5teF9DYWxsVmlld19kZXZpY2VMaXN0QnV0dG9uIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICRzaXplOiAxNXB4O1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICByaWdodDogLTIuNXB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6ICRzaXplO1xuICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAkc2l6ZTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNhbGwtc3lzdGVtO1xuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogY2FsYygkc2l6ZSAvIDIpO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hc2staW1hZ2U6IHVybChcIkB2ZWN0b3ItaW0vY29tcG91bmQtZGVzaWduLXRva2Vucy9pY29ucy9jaGV2cm9uLWRvd24uc3ZnXCIpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hc2stc2l6ZTogMjBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXNrLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNhbGwtcHJpbWFyeS1jb250ZW50O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICYubXhfQ2FsbFZpZXdfZGV2aWNlQnV0dG9uV3JhcHBlcl9tdXRlZCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAubXhfQ2FsbFZpZXdfZGV2aWNlQnV0dG9uLFxuICAgICAgICAgICAgICAgICAgICAgICAgLm14X0NhbGxWaWV3X2RldmljZUxpc3RCdXR0b24ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjYWxsLXByaW1hcnktY29udGVudDtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjYWxsLXN5c3RlbTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIC5teF9DYWxsVmlld19kZXZpY2VCdXR0b24ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICYubXhfQ2FsbFZpZXdfZGV2aWNlQnV0dG9uX2F1ZGlvOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXNrLWltYWdlOiB1cmwoXCJAdmVjdG9yLWltL2NvbXBvdW5kLWRlc2lnbi10b2tlbnMvaWNvbnMvbWljLW9mZi1zb2xpZC5zdmdcIik7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hc2stc2l6ZTogMThweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAmLm14X0NhbGxWaWV3X2RldmljZUJ1dHRvbl92aWRlbzo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFzay1pbWFnZTogdXJsKFwiQHZlY3Rvci1pbS9jb21wb3VuZC1kZXNpZ24tdG9rZW5zL2ljb25zL3ZpZGVvLWNhbGwtb2ZmLXNvbGlkLnN2Z1wiKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAubXhfQ2FsbFZpZXdfY29ubmVjdEJ1dHRvbiB7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDUwcHg7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiA1MHB4O1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiLypcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxuQ29weXJpZ2h0IDIwMjAgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cblxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuKi9cblxuLm14X0RpYWxQYWQge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgcm93LWdhcDogMTZweDtcbiAgICBjb2x1bW4tZ2FwOiAwcHg7XG4gICAgbWFyZ2luLXRvcDogMjRweDtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG5cbiAgICAvKiBzcXVlZXplIHRoZSBkaWFsIHBhZCBidXR0b25zIHRvZ2V0aGVyIGhvcml6b250YWxseSAqL1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDMsIDFmcik7XG59XG5cbi5teF9EaWFsUGFkX2J1dHRvbiB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG4gICAgd2lkdGg6IDQwcHg7XG4gICAgaGVpZ2h0OiA0MHB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRxdWluYXJ5LWNvbnRlbnQ7XG4gICAgYm9yZGVyLXJhZGl1czogNDBweDtcbiAgICBmb250LXNpemU6IDE4cHg7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWNwZC1mb250LXdlaWdodC1zZW1pYm9sZCk7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xufVxuXG4ubXhfRGlhbFBhZF9idXR0b24gLm14X0RpYWxQYWRfYnV0dG9uU3ViVGV4dCB7XG4gICAgZm9udC1zaXplOiA4cHg7XG59XG5cbi5teF9EaWFsUGFkX2RpYWxCdXR0b24ge1xuICAgIC8qIEFsd2F5cyBzaG93IHRoZSBkaWFsIGJ1dHRvbiBpbiB0aGUgY2VudGVyIGdyaWQgY29sdW1uICovXG4gICAgZ3JpZC1jb2x1bW46IDI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGFjY2VudDtcblxuICAgICY6OmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgaGVpZ2h0OiA0MHB4O1xuICAgICAgICB3aWR0aDogNDBweDtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgbWFzay1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgbWFzay1zaXplOiAyMHB4O1xuICAgICAgICBtYXNrLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7IC8qIG9uIGFsbCB0aGVtZXMgKi9cbiAgICAgICAgbWFzay1pbWFnZTogdXJsKFwiJChyZXMpL2ltZy9lbGVtZW50LWljb25zL2NhbGwvdm9pY2UtY2FsbC5zdmdcIik7XG4gICAgfVxufVxuIiwiLypcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxuQ29weXJpZ2h0IDIwMjAgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cblxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuKi9cblxuLm14X0RpYWxQYWRDb250ZXh0TWVudV9kaWFsUGFkIC5teF9EaWFsUGFkIHtcbiAgICByb3ctZ2FwOiAxNnB4O1xuICAgIGNvbHVtbi1nYXA6IDMycHg7XG59XG5cbi5teF9EaWFsUGFkQ29udGV4dE1lbnVXcmFwcGVyIHtcbiAgICBwYWRkaW5nOiAxNXB4O1xufVxuXG4ubXhfRGlhbFBhZENvbnRleHRNZW51X2hlYWRlciB7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIG1hcmdpbi10b3A6IDMycHg7XG4gICAgbWFyZ2luLWxlZnQ6IDIwcHg7XG4gICAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xuXG4gICAgLyogYSBzZXBhcmF0b3IgYmV0d2VlbiB0aGUgaW5wdXQgbGluZSBhbmQgdGhlIGRpYWwgYnV0dG9ucyAqL1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkcXVhdGVybmFyeS1jb250ZW50O1xuICAgIHRyYW5zaXRpb246IGJvcmRlci1ib3R0b20gMC4yNXM7XG59XG5cbi5teF9EaWFsUGFkQ29udGV4dE1lbnVfY2FuY2VsIHtcbiAgICBAbWl4aW4gY3VzdG9taXNlZENhbmNlbEJ1dHRvbjtcbiAgICBmbG9hdDogcmlnaHQ7XG59XG5cbi5teF9EaWFsUGFkQ29udGV4dE1lbnVfaGVhZGVyOmZvY3VzLXdpdGhpbiB7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRhY2NlbnQ7XG59XG5cbi5teF9EaWFsUGFkQ29udGV4dE1lbnVfdGl0bGUge1xuICAgIGNvbG9yOiAkbXV0ZWQtZmctY29sb3I7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1jcGQtZm9udC13ZWlnaHQtc2VtaWJvbGQpO1xufVxuXG4ubXhfRGlhbFBhZENvbnRleHRNZW51X2RpYWxsZWQge1xuICAgIGhlaWdodDogMS41ZW07XG4gICAgZm9udC1zaXplOiAxOHB4O1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1jcGQtZm9udC13ZWlnaHQtc2VtaWJvbGQpO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBtYXJnaW46IDBweDtcbn1cbi5teF9EaWFsUGFkQ29udGV4dE1lbnVfZGlhbGxlZCBpbnB1dCB7XG4gICAgZm9udC1zaXplOiAxOHB4O1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1jcGQtZm9udC13ZWlnaHQtc2VtaWJvbGQpO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgbWF4LXdpZHRoOiAxODVweDtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIHBhZGRpbmc6IDhweCAwcHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDAsIDAsIDAsIDApO1xufVxuXG4ubXhfRGlhbFBhZENvbnRleHRNZW51X2RpYWxQYWQge1xuICAgIG1hcmdpbjogMTZweDtcbn1cbiIsIi8qXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cbkNvcHlyaWdodCAyMDIwIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXG5cblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cbiovXG5cbi5teF9EaWFsb2dfZGlhbFBhZFdyYXBwZXIgLm14X0RpYWxvZyB7XG4gICAgcGFkZGluZzogMHB4O1xufVxuXG4ubXhfRGlhbFBhZE1vZGFsIHtcbiAgICB3aWR0aDogMjkycHg7XG4gICAgaGVpZ2h0OiAzNzBweDtcbiAgICBwYWRkaW5nOiAxNnB4IDBweCAwcHggMHB4O1xufVxuXG4ubXhfRGlhbFBhZE1vZGFsX2hlYWRlciB7XG4gICAgbWFyZ2luLXRvcDogMzJweDtcbiAgICBtYXJnaW4tbGVmdDogNDBweDtcbiAgICBtYXJnaW4tcmlnaHQ6IDQwcHg7XG5cbiAgICAvKiBhIHNlcGFyYXRvciBiZXR3ZWVuIHRoZSBpbnB1dCBsaW5lIGFuZCB0aGUgZGlhbCBidXR0b25zICovXG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRxdWF0ZXJuYXJ5LWNvbnRlbnQ7XG4gICAgdHJhbnNpdGlvbjogYm9yZGVyLWJvdHRvbSAwLjI1cztcbn1cblxuLm14X0RpYWxQYWRNb2RhbF9oZWFkZXI6Zm9jdXMtd2l0aGluIHtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGFjY2VudDtcbn1cblxuLm14X0RpYWxQYWRNb2RhbF90aXRsZSB7XG4gICAgY29sb3I6ICRtdXRlZC1mZy1jb2xvcjtcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWNwZC1mb250LXdlaWdodC1zZW1pYm9sZCk7XG59XG5cbi5teF9EaWFsUGFkTW9kYWxfY2FuY2VsIHtcbiAgICBAbWl4aW4gY3VzdG9taXNlZENhbmNlbEJ1dHRvbjtcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgbWFyZ2luLXJpZ2h0OiAxNnB4O1xufVxuXG4ubXhfRGlhbFBhZE1vZGFsX2ZpZWxkIHtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgbWFyZ2luOiAwcHg7XG4gICAgaGVpZ2h0OiAzMHB4O1xufVxuXG4ubXhfRGlhbFBhZE1vZGFsX2ZpZWxkIC5teF9GaWVsZF9wb3N0Zml4IHtcbiAgICAvKiBSZW1vdmUgYm9yZGVyIHNlcGFyYXRvciBiZXR3ZWVuIHBvc3RmaXggYW5kIGZpZWxkIGNvbnRlbnQgKi9cbiAgICBib3JkZXItbGVmdDogbm9uZTtcbn1cblxuLm14X0RpYWxQYWRNb2RhbF9maWVsZCBpbnB1dCB7XG4gICAgZm9udC1zaXplOiAxOHB4O1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1jcGQtZm9udC13ZWlnaHQtc2VtaWJvbGQpO1xufVxuXG4ubXhfRGlhbFBhZE1vZGFsX2RpYWxQYWQge1xuICAgIG1hcmdpbi1sZWZ0OiAxNnB4O1xuICAgIG1hcmdpbi1yaWdodDogMTZweDtcbiAgICBtYXJnaW4tdG9wOiAxNnB4O1xufVxuIiwiLypcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxuQ29weXJpZ2h0IDIwMjEgxaBpbW9uIEJyYW5kbmVyIDxzaW1vbi5icmEuYWdAZ21haWwuY29tPlxuXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXG4qL1xuXG4ubXhfTGVnYWN5Q2FsbFByZXZpZXcge1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZ2FwOiAkc3BhY2luZy0xNjtcbiAgICBsZWZ0OiAwO1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB0b3A6IDA7XG4gICAgLyogRGlzcGxheSBhYm92ZSBhbnkgd2lkZ2V0IGVsZW1lbnRzICovXG4gICAgei1pbmRleDogMTAyO1xuXG4gICAgLm14X1ZpZGVvRmVlZF9yZW1vdGUubXhfVmlkZW9GZWVkX3ZvaWNlIHtcbiAgICAgICAgbWluLWhlaWdodDogMTUwcHg7XG4gICAgfVxuXG4gICAgLm14X1ZpZGVvRmVlZF9sb2NhbCB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB9XG59XG4iLCIvKlxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXG5Db3B5cmlnaHQgMjAyMSwgMjAyMiDFoGltb24gQnJhbmRuZXIgPHNpbW9uLmJyYS5hZ0BnbWFpbC5jb20+XG5Db3B5cmlnaHQgMjAyMCwgMjAyMSBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxuQ29weXJpZ2h0IDIwMTUsIDIwMTYgT3Blbk1hcmtldCBMdGRcblxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuKi9cblxuLm14X0xlZ2FjeUNhbGxWaWV3IHtcbiAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGRhcmstcGFuZWwtYmctY29sb3I7XG4gICAgcGFkZGluZy1sZWZ0OiA4cHg7XG4gICAgcGFkZGluZy1yaWdodDogOHB4O1xuICAgIC8qIFhYWDogUGlQQ29udGFpbmVyIHNldHMgcG9pbnRlci1ldmVudHM6IG5vbmUgLSBzaG91bGQgcHJvYmFibHkgYmUgc2V0IGJhY2sgaW4gYSBiZXR0ZXIgcGxhY2UgKi9cbiAgICBwb2ludGVyLWV2ZW50czogaW5pdGlhbDtcblxuICAgIC5teF9MZWdhY3lDYWxsVmlld190b2FzdCB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiA3NHB4O1xuXG4gICAgICAgIHBhZGRpbmc6IDRweCA4cHg7XG5cbiAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAgICAgICB6LWluZGV4OiA1MDtcblxuICAgICAgICAvKiBTYW1lIG9uIGJvdGggdGhlbWVzICovXG4gICAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzE3MTkxYztcbiAgICB9XG5cbiAgICAubXhfTGVnYWN5Q2FsbFZpZXdfY29udGVudF93cmFwcGVyIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcblxuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgICAgIC5teF9MZWdhY3lDYWxsVmlld19jb250ZW50IHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgICAgICAgICAgIGZsZXg6IDE7XG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xuXG4gICAgICAgICAgICBwYWRkaW5nOiAxMHB4O1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogY2FsYygyMCUgKyAyMHB4KTsgLyogU3BhY2UgZm9yIHRoZSBzaWRlYmFyICovXG5cbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjYWxsLXZpZXctY29udGVudC1iYWNrZ3JvdW5kO1xuXG4gICAgICAgICAgICAubXhfTGVnYWN5Q2FsbFZpZXdfc3RhdHVzIHtcbiAgICAgICAgICAgICAgICB6LWluZGV4OiA1MDtcbiAgICAgICAgICAgICAgICBjb2xvcjogJGFjY2VudC1mZy1jb2xvcjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLm14X0xlZ2FjeUNhbGxWaWV3X2F2YXRhcnNDb250YWluZXIge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG4gICAgICAgICAgICAgICAgZGl2IHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDEycHg7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMTJweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5teF9MZWdhY3lDYWxsVmlld19ob2xkQmFja2dyb3VuZCB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgcmlnaHQ6IDA7XG5cbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG5cbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgICAgICAgICAgIGZpbHRlcjogYmx1cigyMHB4KTtcblxuICAgICAgICAgICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC42KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYubXhfTGVnYWN5Q2FsbFZpZXdfY29udGVudF9ob2xkIC5teF9MZWdhY3lDYWxsVmlld19zdGF0dXMge1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogNDBweDtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiA0MHB4O1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIkKHJlcykvaW1nL3ZvaXAvcGF1c2VkLnN2Z1wiKTtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC5teF9MZWdhY3lDYWxsVmlld19waXAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDMwcHg7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogMzBweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmOm5vdCgubXhfTGVnYWN5Q2FsbFZpZXdfc2lkZWJhcikgLm14X0xlZ2FjeUNhbGxWaWV3X2NvbnRlbnQge1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuXG4gICAgICAgIC5teF9WaWRlb0ZlZWRfcHJpbWFyeSB7XG4gICAgICAgICAgICBhc3BlY3QtcmF0aW86IHVuc2V0O1xuICAgICAgICAgICAgYm9yZGVyOiAwO1xuXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYubXhfTGVnYWN5Q2FsbFZpZXdfcGlwIHtcbiAgICAgICAgd2lkdGg6IDMyMHB4O1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogOHB4O1xuXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDhweDtcblxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc3lzdGVtO1xuICAgICAgICBib3gtc2hhZG93OiAwcHggNHB4IDIwcHggcmdiYSgwLCAwLCAwLCAwLjIpO1xuXG4gICAgICAgIC5teF9MZWdhY3lDYWxsVmlld0J1dHRvbnMge1xuICAgICAgICAgICAgYm90dG9tOiAxM3B4O1xuXG4gICAgICAgICAgICAubXhfTGVnYWN5Q2FsbFZpZXdCdXR0b25zX2J1dHRvbiB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDM0cHg7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAzNHB4O1xuXG4gICAgICAgICAgICAgICAgJi5teF9MZWdhY3lDYWxsVmlld0J1dHRvbnNfZHJvcGRvd25CdXR0b24ge1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogdmFyKC0tTGVnYWN5Q2FsbFZpZXdCdXR0b25zX2Ryb3Bkb3duQnV0dG9uLXNpemUpO1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IHZhcigtLUxlZ2FjeUNhbGxWaWV3QnV0dG9uc19kcm9wZG93bkJ1dHRvbi1zaXplKTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMjJweDtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAyMnB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5teF9MZWdhY3lDYWxsVmlld19jb250ZW50IHtcbiAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDE4MHB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi5teF9MZWdhY3lDYWxsVmlld19sYXJnZSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgICAgICAgZmxleDogMTtcblxuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTBweDtcblxuICAgICAgICBtYXJnaW46IHZhcigtLWNvbnRhaW5lci1nYXAtd2lkdGgpO1xuICAgICAgICAvKiBUaGUgbGVmdCBzaWRlIGdhcCBpcyBmdWxseSBoYW5kbGVkIGJ5IHRoaXMgbWFyZ2luLiBUbyBwcm9oaWJpdCBibGVlZGluZyBvbiB3ZWJraXQgYnJvd3Nlci4gKi9cbiAgICAgICAgbWFyZ2luLXJpZ2h0OiBjYWxjKHZhcigtLWNvbnRhaW5lci1nYXAtd2lkdGgpIC8gMik7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgfVxuXG4gICAgJi5teF9MZWdhY3lDYWxsVmlld19iZWxvd1dpZGdldCB7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgfVxufVxuIiwiLypcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxuQ29weXJpZ2h0IDIwMjEgxaBpbW9uIEJyYW5kbmVyIDxzaW1vbi5icmEuYWdAZ21haWwuY29tPlxuXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXG4qL1xuXG4ubXhfTGVnYWN5Q2FsbFZpZXdGb3JSb29tIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgLm14X0xlZ2FjeUNhbGxWaWV3Rm9yUm9vbV9SZXNpemVXcmFwcGVyIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcblxuICAgICAgICAmOmhvdmVyIC5teF9MZWdhY3lDYWxsVmlld0ZvclJvb21fUmVzaXplSGFuZGxlIHtcbiAgICAgICAgICAgIC8qIE5lZWQgdG8gdXNlIGltcG9ydGFudCB0byBvdmVycmlkZSBlbGVtZW50IHN0eWxlIGF0dHJpYnV0ZXMgKi9cbiAgICAgICAgICAgIC8qIHNldCBieSByZS1yZXNpemFibGUgKi9cbiAgICAgICAgICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG5cbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblxuICAgICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4O1xuXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiA0cHg7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiA2NHB4O1xuXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHByaW1hcnktY29udGVudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi8qXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cbkNvcHlyaWdodCAyMDIxLCAyMDIyIMWgaW1vbiBCcmFuZG5lciA8c2ltb24uYnJhLmFnQGdtYWlsLmNvbT5cbkNvcHlyaWdodCAyMDIxIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXG5cblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cbiovXG5cbi5teF9MZWdhY3lDYWxsVmlld0hlYWRlciB7XG4gICAgaGVpZ2h0OiA0NHB4O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBmbGV4LXNocmluazogMDtcbiAgICB3aWR0aDogMTAwJTtcblxuICAgICYubXhfTGVnYWN5Q2FsbFZpZXdIZWFkZXJfcGlwIHtcbiAgICAgICAgY3Vyc29yOiBncmFiO1xuICAgIH1cbn1cblxuLm14X0xlZ2FjeUNhbGxWaWV3SGVhZGVyX3RleHQge1xuICAgIGZvbnQtc2l6ZTogMS4ycmVtO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG5cbi5teF9MZWdhY3lDYWxsVmlld0hlYWRlcl9zZWNvbmRhcnlDYWxsSW5mbyB7XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogXCLCt1wiO1xuICAgICAgICBtYXJnaW4tbGVmdDogNnB4O1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDZweDtcbiAgICB9XG59XG5cbi5teF9MZWdhY3lDYWxsVmlld0hlYWRlcl9jb250cm9scyB7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBnYXA6IDVweDtcbn1cblxuLm14X0xlZ2FjeUNhbGxWaWV3SGVhZGVyX2J1dHRvbiB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2Vjb25kYXJ5LWNvbnRlbnQ7XG4gICAgICAgIG1hc2stcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgIG1hc2stc2l6ZTogY29udGFpbjtcbiAgICAgICAgbWFzay1wb3NpdGlvbjogY2VudGVyO1xuICAgIH1cblxuICAgICYubXhfTGVnYWN5Q2FsbFZpZXdIZWFkZXJfYnV0dG9uX2Z1bGxzY3JlZW4ge1xuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgbWFzay1pbWFnZTogdXJsKFwiQHZlY3Rvci1pbS9jb21wb3VuZC1kZXNpZ24tdG9rZW5zL2ljb25zL2V4cGFuZC5zdmdcIik7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLm14X0xlZ2FjeUNhbGxWaWV3SGVhZGVyX2J1dHRvbl9waW4ge1xuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgbWFzay1pbWFnZTogdXJsKFwiJChyZXMpL2ltZy9lbGVtZW50LWljb25zL3Jvb20vcGluLXVwcmlnaHQuc3ZnXCIpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi5teF9MZWdhY3lDYWxsVmlld0hlYWRlcl9idXR0b25fZXhwYW5kIHtcbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgIG1hc2staW1hZ2U6IHVybChcIkB2ZWN0b3ItaW0vY29tcG91bmQtZGVzaWduLXRva2Vucy9pY29ucy9wb3Atb3V0LnN2Z1wiKTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLm14X0xlZ2FjeUNhbGxWaWV3SGVhZGVyX2NhbGxJbmZvIHtcbiAgICBtYXJnaW4tbGVmdDogMTJweDtcbiAgICBtYXJnaW4tcmlnaHQ6IDE2cHg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLm14X0xlZ2FjeUNhbGxWaWV3SGVhZGVyX3Jvb21OYW1lIHtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgbGluZS1oZWlnaHQ6IGluaXRpYWw7XG4gICAgaGVpZ2h0OiAxNXB4O1xuXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4ubXhfTGVnYWN5Q2FsbFZpZXdfc2Vjb25kYXJ5Q2FsbF9yb29tTmFtZSB7XG4gICAgbWFyZ2luLWxlZnQ6IDRweDtcbn1cblxuLm14X0xlZ2FjeUNhbGxWaWV3SGVhZGVyX2ljb24ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW4tcmlnaHQ6IDZweDtcbiAgICBoZWlnaHQ6IDE2cHg7XG4gICAgd2lkdGg6IDE2cHg7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcblxuICAgICY6OmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcblxuICAgICAgICBoZWlnaHQ6IDE2cHg7XG4gICAgICAgIHdpZHRoOiAxNnB4O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2Vjb25kYXJ5LWNvbnRlbnQ7XG4gICAgICAgIG1hc2stcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgIG1hc2stc2l6ZTogY29udGFpbjtcbiAgICAgICAgbWFzay1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgICBtYXNrLWltYWdlOiB1cmwoXCIkKHJlcykvaW1nL2VsZW1lbnQtaWNvbnMvY2FsbC92b2ljZS1jYWxsLnN2Z1wiKTtcbiAgICB9XG59XG4iLCIvKlxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXG5Db3B5cmlnaHQgMjAyMSwgMjAyMiDFoGltb24gQnJhbmRuZXIgPHNpbW9uLmJyYS5hZ0BnbWFpbC5jb20+XG5cblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cbiovXG5cbi5teF9MZWdhY3lDYWxsVmlld1NpZGViYXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogMTBweDtcblxuICAgIHdpZHRoOiAyMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG92ZXJmbG93OiBhdXRvO1xuXG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgICBnYXA6IDEycHg7XG5cbiAgICA+IC5teF9WaWRlb0ZlZWQge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4O1xuXG4gICAgICAgICYubXhfVmlkZW9GZWVkX3ZvaWNlIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR2aWRlby1mZWVkLXNlY29uZGFyeS1iYWNrZ3JvdW5kO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi5teF9MZWdhY3lDYWxsVmlld1NpZGViYXJfcGlwTW9kZSB7XG4gICAgICAgIHRvcDogMTZweDtcbiAgICAgICAgYm90dG9tOiB1bnNldDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgICAgZ2FwOiA0cHg7XG4gICAgfVxufVxuIiwiLypcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxuQ29weXJpZ2h0IDIwMjEsIDIwMjIgxaBpbW9uIEJyYW5kbmVyIDxzaW1vbi5icmEuYWdAZ21haWwuY29tPlxuQ29weXJpZ2h0IDIwMTUsIDIwMTYgLCAyMDIwLCAyMDIxIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXG5cblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cbiovXG5cbi5teF9WaWRlb0ZlZWQge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgYm9yZGVyOiB0cmFuc3BhcmVudCAycHggc29saWQ7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBib3JkZXItcmFkaXVzOiA0cHg7XG5cbiAgICAmLm14X1ZpZGVvRmVlZF9zZWNvbmRhcnkge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHJpZ2h0OiAyNHB4O1xuICAgICAgICBib3R0b206IDcycHg7XG4gICAgICAgIHdpZHRoOiAyMCU7XG4gICAgfVxuXG4gICAgJi5teF9WaWRlb0ZlZWRfdm9pY2Uge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW52ZXJ0ZWQtYmctY29sb3I7XG5cbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgICAgICAgJjpub3QoLm14X1ZpZGVvRmVlZF9wcmltYXJ5KSB7XG4gICAgICAgICAgICBhc3BlY3QtcmF0aW86IDE2IC8gOTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5teF9WaWRlb0ZlZWRfdmlkZW8ge1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDAwMDA7XG5cbiAgICAgICAgJi5teF9WaWRlb0ZlZWRfdmlkZW9fbWlycm9yIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoLTEsIDEpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm14X1ZpZGVvRmVlZF9taWMge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGxlZnQ6IDZweDtcbiAgICAgICAgYm90dG9tOiA2cHg7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG4gICAgICAgIHdpZHRoOiAyNHB4O1xuICAgICAgICBoZWlnaHQ6IDI0cHg7XG5cbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjUpOyAvKiBTYW1lIG9uIGJvdGggdGhlbWVzICovXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDEwMCU7XG5cbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICB3aWR0aDogMTdweDtcbiAgICAgICAgICAgIGhlaWdodDogMTdweDtcbiAgICAgICAgICAgIG1hc2stcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgICBtYXNrLXNpemU6IGNvbnRhaW47XG4gICAgICAgICAgICBtYXNrLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTsgLyogU2FtZSBvbiBib3RoIHRoZW1lcyAqL1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogN3B4O1xuICAgICAgICB9XG5cbiAgICAgICAgJi5teF9WaWRlb0ZlZWRfbWljX211dGVkOjpiZWZvcmUge1xuICAgICAgICAgICAgbWFzay1pbWFnZTogdXJsKFwiQHZlY3Rvci1pbS9jb21wb3VuZC1kZXNpZ24tdG9rZW5zL2ljb25zL21pYy1vZmYtc29saWQuc3ZnXCIpO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5teF9WaWRlb0ZlZWRfbWljX3VubXV0ZWQ6OmJlZm9yZSB7XG4gICAgICAgICAgICBtYXNrLWltYWdlOiB1cmwoXCJAdmVjdG9yLWltL2NvbXBvdW5kLWRlc2lnbi10b2tlbnMvaWNvbnMvbWljLW9uLXNvbGlkLnN2Z1wiKTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi8qIGRhcmsgKi9cbi5tYXJrZG93bi1ib2R5IHtcbiAgY29sb3Itc2NoZW1lOiBkYXJrO1xuICAtbXMtdGV4dC1zaXplLWFkanVzdDogMTAwJTtcbiAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlO1xuICBtYXJnaW46IDA7XG4gIGNvbG9yOiAjZjBmNmZjO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMGQxMTE3O1xuICBmb250LWZhbWlseTogLWFwcGxlLXN5c3RlbSxCbGlua01hY1N5c3RlbUZvbnQsXCJTZWdvZSBVSVwiLFwiTm90byBTYW5zXCIsSGVsdmV0aWNhLEFyaWFsLHNhbnMtc2VyaWYsXCJBcHBsZSBDb2xvciBFbW9qaVwiLFwiU2Vnb2UgVUkgRW1vamlcIjtcbiAgZm9udC1zaXplOiAxNnB4O1xuICBsaW5lLWhlaWdodDogMS41O1xuICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG59XG5cbi5tYXJrZG93bi1ib2R5IC5vY3RpY29uIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmaWxsOiBjdXJyZW50Q29sb3I7XG4gIHZlcnRpY2FsLWFsaWduOiB0ZXh0LWJvdHRvbTtcbn1cblxuLm1hcmtkb3duLWJvZHkgaDE6aG92ZXIgLmFuY2hvciAub2N0aWNvbi1saW5rOmJlZm9yZSxcbi5tYXJrZG93bi1ib2R5IGgyOmhvdmVyIC5hbmNob3IgLm9jdGljb24tbGluazpiZWZvcmUsXG4ubWFya2Rvd24tYm9keSBoMzpob3ZlciAuYW5jaG9yIC5vY3RpY29uLWxpbms6YmVmb3JlLFxuLm1hcmtkb3duLWJvZHkgaDQ6aG92ZXIgLmFuY2hvciAub2N0aWNvbi1saW5rOmJlZm9yZSxcbi5tYXJrZG93bi1ib2R5IGg1OmhvdmVyIC5hbmNob3IgLm9jdGljb24tbGluazpiZWZvcmUsXG4ubWFya2Rvd24tYm9keSBoNjpob3ZlciAuYW5jaG9yIC5vY3RpY29uLWxpbms6YmVmb3JlIHtcbiAgd2lkdGg6IDE2cHg7XG4gIGhlaWdodDogMTZweDtcbiAgY29udGVudDogJyAnO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGJhY2tncm91bmQtY29sb3I6IGN1cnJlbnRDb2xvcjtcbiAgLXdlYmtpdC1tYXNrLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAxNiAxNicgdmVyc2lvbj0nMS4xJyBhcmlhLWhpZGRlbj0ndHJ1ZSc+PHBhdGggZmlsbC1ydWxlPSdldmVub2RkJyBkPSdNNy43NzUgMy4yNzVhLjc1Ljc1IDAgMDAxLjA2IDEuMDZsMS4yNS0xLjI1YTIgMiAwIDExMi44MyAyLjgzbC0yLjUgMi41YTIgMiAwIDAxLTIuODMgMCAuNzUuNzUgMCAwMC0xLjA2IDEuMDYgMy41IDMuNSAwIDAwNC45NSAwbDIuNS0yLjVhMy41IDMuNSAwIDAwLTQuOTUtNC45NWwtMS4yNSAxLjI1em0tNC42OSA5LjY0YTIgMiAwIDAxMC0yLjgzbDIuNS0yLjVhMiAyIDAgMDEyLjgzIDAgLjc1Ljc1IDAgMDAxLjA2LTEuMDYgMy41IDMuNSAwIDAwLTQuOTUgMGwtMi41IDIuNWEzLjUgMy41IDAgMDA0Ljk1IDQuOTVsMS4yNS0xLjI1YS43NS43NSAwIDAwLTEuMDYtMS4wNmwtMS4yNSAxLjI1YTIgMiAwIDAxLTIuODMgMHonPjwvcGF0aD48L3N2Zz5cIik7XG4gIG1hc2staW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDE2IDE2JyB2ZXJzaW9uPScxLjEnIGFyaWEtaGlkZGVuPSd0cnVlJz48cGF0aCBmaWxsLXJ1bGU9J2V2ZW5vZGQnIGQ9J003Ljc3NSAzLjI3NWEuNzUuNzUgMCAwMDEuMDYgMS4wNmwxLjI1LTEuMjVhMiAyIDAgMTEyLjgzIDIuODNsLTIuNSAyLjVhMiAyIDAgMDEtMi44MyAwIC43NS43NSAwIDAwLTEuMDYgMS4wNiAzLjUgMy41IDAgMDA0Ljk1IDBsMi41LTIuNWEzLjUgMy41IDAgMDAtNC45NS00Ljk1bC0xLjI1IDEuMjV6bS00LjY5IDkuNjRhMiAyIDAgMDEwLTIuODNsMi41LTIuNWEyIDIgMCAwMTIuODMgMCAuNzUuNzUgMCAwMDEuMDYtMS4wNiAzLjUgMy41IDAgMDAtNC45NSAwbC0yLjUgMi41YTMuNSAzLjUgMCAwMDQuOTUgNC45NWwxLjI1LTEuMjVhLjc1Ljc1IDAgMDAtMS4wNi0xLjA2bC0xLjI1IDEuMjVhMiAyIDAgMDEtMi44MyAweic+PC9wYXRoPjwvc3ZnPlwiKTtcbn1cblxuLm1hcmtkb3duLWJvZHkgZGV0YWlscyxcbi5tYXJrZG93bi1ib2R5IGZpZ2NhcHRpb24sXG4ubWFya2Rvd24tYm9keSBmaWd1cmUge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLm1hcmtkb3duLWJvZHkgc3VtbWFyeSB7XG4gIGRpc3BsYXk6IGxpc3QtaXRlbTtcbn1cblxuLm1hcmtkb3duLWJvZHkgW2hpZGRlbl0ge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG5cbi5tYXJrZG93bi1ib2R5IGEge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgY29sb3I6ICM0NDkzZjg7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuLm1hcmtkb3duLWJvZHkgYWJiclt0aXRsZV0ge1xuICBib3JkZXItYm90dG9tOiBub25lO1xuICAtd2Via2l0LXRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIGRvdHRlZDtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgZG90dGVkO1xufVxuXG4ubWFya2Rvd24tYm9keSBiLFxuLm1hcmtkb3duLWJvZHkgc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbn1cblxuLm1hcmtkb3duLWJvZHkgZGZuIHtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xufVxuXG4ubWFya2Rvd24tYm9keSBoMSB7XG4gIG1hcmdpbjogLjY3ZW0gMDtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgcGFkZGluZy1ib3R0b206IC4zZW07XG4gIGZvbnQtc2l6ZTogMmVtO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzNkNDQ0ZGIzO1xufVxuXG4ubWFya2Rvd24tYm9keSBtYXJrIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2JiODAwOTI2O1xuICBjb2xvcjogI2YwZjZmYztcbn1cblxuLm1hcmtkb3duLWJvZHkgc21hbGwge1xuICBmb250LXNpemU6IDkwJTtcbn1cblxuLm1hcmtkb3duLWJvZHkgc3ViLFxuLm1hcmtkb3duLWJvZHkgc3VwIHtcbiAgZm9udC1zaXplOiA3NSU7XG4gIGxpbmUtaGVpZ2h0OiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbn1cblxuLm1hcmtkb3duLWJvZHkgc3ViIHtcbiAgYm90dG9tOiAtMC4yNWVtO1xufVxuXG4ubWFya2Rvd24tYm9keSBzdXAge1xuICB0b3A6IC0wLjVlbTtcbn1cblxuLm1hcmtkb3duLWJvZHkgaW1nIHtcbiAgYm9yZGVyLXN0eWxlOiBub25lO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xufVxuXG4ubWFya2Rvd24tYm9keSBjb2RlLFxuLm1hcmtkb3duLWJvZHkga2JkLFxuLm1hcmtkb3duLWJvZHkgcHJlLFxuLm1hcmtkb3duLWJvZHkgc2FtcCB7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2U7XG4gIGZvbnQtc2l6ZTogMWVtO1xufVxuXG4ubWFya2Rvd24tYm9keSBmaWd1cmUge1xuICBtYXJnaW46IDFlbSAyLjVyZW07XG59XG5cbi5tYXJrZG93bi1ib2R5IGhyIHtcbiAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzNkNDQ0ZGIzO1xuICBoZWlnaHQ6IC4yNWVtO1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDEuNXJlbSAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjM2Q0NDRkO1xuICBib3JkZXI6IDA7XG59XG5cbi5tYXJrZG93bi1ib2R5IGlucHV0IHtcbiAgZm9udDogaW5oZXJpdDtcbiAgbWFyZ2luOiAwO1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG59XG5cbi5tYXJrZG93bi1ib2R5IFt0eXBlPWJ1dHRvbl0sXG4ubWFya2Rvd24tYm9keSBbdHlwZT1yZXNldF0sXG4ubWFya2Rvd24tYm9keSBbdHlwZT1zdWJtaXRdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247XG4gIGFwcGVhcmFuY2U6IGJ1dHRvbjtcbn1cblxuLm1hcmtkb3duLWJvZHkgW3R5cGU9Y2hlY2tib3hdLFxuLm1hcmtkb3duLWJvZHkgW3R5cGU9cmFkaW9dIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgcGFkZGluZzogMDtcbn1cblxuLm1hcmtkb3duLWJvZHkgW3R5cGU9bnVtYmVyXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcbi5tYXJrZG93bi1ib2R5IFt0eXBlPW51bWJlcl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICBoZWlnaHQ6IGF1dG87XG59XG5cbi5tYXJrZG93bi1ib2R5IFt0eXBlPXNlYXJjaF06Oi13ZWJraXQtc2VhcmNoLWNhbmNlbC1idXR0b24sXG4ubWFya2Rvd24tYm9keSBbdHlwZT1zZWFyY2hdOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICBhcHBlYXJhbmNlOiBub25lO1xufVxuXG4ubWFya2Rvd24tYm9keSA6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIge1xuICBjb2xvcjogaW5oZXJpdDtcbiAgb3BhY2l0eTogLjU0O1xufVxuXG4ubWFya2Rvd24tYm9keSA6Oi13ZWJraXQtZmlsZS11cGxvYWQtYnV0dG9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247XG4gIGFwcGVhcmFuY2U6IGJ1dHRvbjtcbiAgZm9udDogaW5oZXJpdDtcbn1cblxuLm1hcmtkb3duLWJvZHkgYTpob3ZlciB7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xufVxuXG4ubWFya2Rvd24tYm9keSA6OnBsYWNlaG9sZGVyIHtcbiAgY29sb3I6ICM5MTk4YTE7XG4gIG9wYWNpdHk6IDE7XG59XG5cbi5tYXJrZG93bi1ib2R5IGhyOjpiZWZvcmUge1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgY29udGVudDogXCJcIjtcbn1cblxuLm1hcmtkb3duLWJvZHkgaHI6OmFmdGVyIHtcbiAgZGlzcGxheTogdGFibGU7XG4gIGNsZWFyOiBib3RoO1xuICBjb250ZW50OiBcIlwiO1xufVxuXG4ubWFya2Rvd24tYm9keSB0YWJsZSB7XG4gIGJvcmRlci1zcGFjaW5nOiAwO1xuICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IG1heC1jb250ZW50O1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIG92ZXJmbG93OiBhdXRvO1xuICBmb250LXZhcmlhbnQ6IHRhYnVsYXItbnVtcztcbn1cblxuLm1hcmtkb3duLWJvZHkgdGQsXG4ubWFya2Rvd24tYm9keSB0aCB7XG4gIHBhZGRpbmc6IDA7XG59XG5cbi5tYXJrZG93bi1ib2R5IGRldGFpbHMgc3VtbWFyeSB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLm1hcmtkb3duLWJvZHkgYTpmb2N1cyxcbi5tYXJrZG93bi1ib2R5IFtyb2xlPWJ1dHRvbl06Zm9jdXMsXG4ubWFya2Rvd24tYm9keSBpbnB1dFt0eXBlPXJhZGlvXTpmb2N1cyxcbi5tYXJrZG93bi1ib2R5IGlucHV0W3R5cGU9Y2hlY2tib3hdOmZvY3VzIHtcbiAgb3V0bGluZTogMnB4IHNvbGlkICMxZjZmZWI7XG4gIG91dGxpbmUtb2Zmc2V0OiAtMnB4O1xuICBib3gtc2hhZG93OiBub25lO1xufVxuXG4ubWFya2Rvd24tYm9keSBhOmZvY3VzOm5vdCg6Zm9jdXMtdmlzaWJsZSksXG4ubWFya2Rvd24tYm9keSBbcm9sZT1idXR0b25dOmZvY3VzOm5vdCg6Zm9jdXMtdmlzaWJsZSksXG4ubWFya2Rvd24tYm9keSBpbnB1dFt0eXBlPXJhZGlvXTpmb2N1czpub3QoOmZvY3VzLXZpc2libGUpLFxuLm1hcmtkb3duLWJvZHkgaW5wdXRbdHlwZT1jaGVja2JveF06Zm9jdXM6bm90KDpmb2N1cy12aXNpYmxlKSB7XG4gIG91dGxpbmU6IHNvbGlkIDFweCB0cmFuc3BhcmVudDtcbn1cblxuLm1hcmtkb3duLWJvZHkgYTpmb2N1cy12aXNpYmxlLFxuLm1hcmtkb3duLWJvZHkgW3JvbGU9YnV0dG9uXTpmb2N1cy12aXNpYmxlLFxuLm1hcmtkb3duLWJvZHkgaW5wdXRbdHlwZT1yYWRpb106Zm9jdXMtdmlzaWJsZSxcbi5tYXJrZG93bi1ib2R5IGlucHV0W3R5cGU9Y2hlY2tib3hdOmZvY3VzLXZpc2libGUge1xuICBvdXRsaW5lOiAycHggc29saWQgIzFmNmZlYjtcbiAgb3V0bGluZS1vZmZzZXQ6IC0ycHg7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG59XG5cbi5tYXJrZG93bi1ib2R5IGE6bm90KFtjbGFzc10pOmZvY3VzLFxuLm1hcmtkb3duLWJvZHkgYTpub3QoW2NsYXNzXSk6Zm9jdXMtdmlzaWJsZSxcbi5tYXJrZG93bi1ib2R5IGlucHV0W3R5cGU9cmFkaW9dOmZvY3VzLFxuLm1hcmtkb3duLWJvZHkgaW5wdXRbdHlwZT1yYWRpb106Zm9jdXMtdmlzaWJsZSxcbi5tYXJrZG93bi1ib2R5IGlucHV0W3R5cGU9Y2hlY2tib3hdOmZvY3VzLFxuLm1hcmtkb3duLWJvZHkgaW5wdXRbdHlwZT1jaGVja2JveF06Zm9jdXMtdmlzaWJsZSB7XG4gIG91dGxpbmUtb2Zmc2V0OiAwO1xufVxuXG4ubWFya2Rvd24tYm9keSBrYmQge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBhZGRpbmc6IDAuMjVyZW07XG4gIGZvbnQ6IDExcHggdWktbW9ub3NwYWNlLCBTRk1vbm8tUmVndWxhciwgU0YgTW9ubywgTWVubG8sIENvbnNvbGFzLCBMaWJlcmF0aW9uIE1vbm8sIG1vbm9zcGFjZTtcbiAgbGluZS1oZWlnaHQ6IDEwcHg7XG4gIGNvbG9yOiAjZjBmNmZjO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTUxYjIzO1xuICBib3JkZXI6IHNvbGlkIDFweCAjM2Q0NDRkYjM7XG4gIGJvcmRlci1ib3R0b20tY29sb3I6ICMzZDQ0NGRiMztcbiAgYm9yZGVyLXJhZGl1czogNnB4O1xuICBib3gtc2hhZG93OiBpbnNldCAwIC0xcHggMCAjM2Q0NDRkYjM7XG59XG5cbi5tYXJrZG93bi1ib2R5IGgxLFxuLm1hcmtkb3duLWJvZHkgaDIsXG4ubWFya2Rvd24tYm9keSBoMyxcbi5tYXJrZG93bi1ib2R5IGg0LFxuLm1hcmtkb3duLWJvZHkgaDUsXG4ubWFya2Rvd24tYm9keSBoNiB7XG4gIG1hcmdpbi10b3A6IDEuNXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgbGluZS1oZWlnaHQ6IDEuMjU7XG59XG5cbi5tYXJrZG93bi1ib2R5IGgyIHtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgcGFkZGluZy1ib3R0b206IC4zZW07XG4gIGZvbnQtc2l6ZTogMS41ZW07XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjM2Q0NDRkYjM7XG59XG5cbi5tYXJrZG93bi1ib2R5IGgzIHtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgZm9udC1zaXplOiAxLjI1ZW07XG59XG5cbi5tYXJrZG93bi1ib2R5IGg0IHtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgZm9udC1zaXplOiAxZW07XG59XG5cbi5tYXJrZG93bi1ib2R5IGg1IHtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgZm9udC1zaXplOiAuODc1ZW07XG59XG5cbi5tYXJrZG93bi1ib2R5IGg2IHtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgZm9udC1zaXplOiAuODVlbTtcbiAgY29sb3I6ICM5MTk4YTE7XG59XG5cbi5tYXJrZG93bi1ib2R5IHAge1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xufVxuXG4ubWFya2Rvd24tYm9keSBibG9ja3F1b3RlIHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwIDFlbTtcbiAgY29sb3I6ICM5MTk4YTE7XG4gIGJvcmRlci1sZWZ0OiAuMjVlbSBzb2xpZCAjM2Q0NDRkO1xufVxuXG4ubWFya2Rvd24tYm9keSB1bCxcbi5tYXJrZG93bi1ib2R5IG9sIHtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgcGFkZGluZy1sZWZ0OiAyZW07XG59XG5cbi5tYXJrZG93bi1ib2R5IG9sIG9sLFxuLm1hcmtkb3duLWJvZHkgdWwgb2wge1xuICBsaXN0LXN0eWxlLXR5cGU6IGxvd2VyLXJvbWFuO1xufVxuXG4ubWFya2Rvd24tYm9keSB1bCB1bCBvbCxcbi5tYXJrZG93bi1ib2R5IHVsIG9sIG9sLFxuLm1hcmtkb3duLWJvZHkgb2wgdWwgb2wsXG4ubWFya2Rvd24tYm9keSBvbCBvbCBvbCB7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbG93ZXItYWxwaGE7XG59XG5cbi5tYXJrZG93bi1ib2R5IGRkIHtcbiAgbWFyZ2luLWxlZnQ6IDA7XG59XG5cbi5tYXJrZG93bi1ib2R5IHR0LFxuLm1hcmtkb3duLWJvZHkgY29kZSxcbi5tYXJrZG93bi1ib2R5IHNhbXAge1xuICBmb250LWZhbWlseTogdWktbW9ub3NwYWNlLCBTRk1vbm8tUmVndWxhciwgU0YgTW9ubywgTWVubG8sIENvbnNvbGFzLCBMaWJlcmF0aW9uIE1vbm8sIG1vbm9zcGFjZTtcbiAgZm9udC1zaXplOiAxMnB4O1xufVxuXG4ubWFya2Rvd24tYm9keSBwcmUge1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBmb250LWZhbWlseTogdWktbW9ub3NwYWNlLCBTRk1vbm8tUmVndWxhciwgU0YgTW9ubywgTWVubG8sIENvbnNvbGFzLCBMaWJlcmF0aW9uIE1vbm8sIG1vbm9zcGFjZTtcbiAgZm9udC1zaXplOiAxMnB4O1xuICB3b3JkLXdyYXA6IG5vcm1hbDtcbn1cblxuLm1hcmtkb3duLWJvZHkgLm9jdGljb24ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG92ZXJmbG93OiB2aXNpYmxlICFpbXBvcnRhbnQ7XG4gIHZlcnRpY2FsLWFsaWduOiB0ZXh0LWJvdHRvbTtcbiAgZmlsbDogY3VycmVudENvbG9yO1xufVxuXG4ubWFya2Rvd24tYm9keSBpbnB1dDo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbixcbi5tYXJrZG93bi1ib2R5IGlucHV0Ojotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uIHtcbiAgbWFyZ2luOiAwO1xuICBhcHBlYXJhbmNlOiBub25lO1xufVxuXG4ubWFya2Rvd24tYm9keSAubXItMiB7XG4gIG1hcmdpbi1yaWdodDogMC41cmVtICFpbXBvcnRhbnQ7XG59XG5cbi5tYXJrZG93bi1ib2R5OjpiZWZvcmUge1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgY29udGVudDogXCJcIjtcbn1cblxuLm1hcmtkb3duLWJvZHk6OmFmdGVyIHtcbiAgZGlzcGxheTogdGFibGU7XG4gIGNsZWFyOiBib3RoO1xuICBjb250ZW50OiBcIlwiO1xufVxuXG4ubWFya2Rvd24tYm9keT4qOmZpcnN0LWNoaWxkIHtcbiAgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50O1xufVxuXG4ubWFya2Rvd24tYm9keT4qOmxhc3QtY2hpbGQge1xuICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7XG59XG5cbi5tYXJrZG93bi1ib2R5IGE6bm90KFtocmVmXSkge1xuICBjb2xvcjogaW5oZXJpdDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG4ubWFya2Rvd24tYm9keSAuYWJzZW50IHtcbiAgY29sb3I6ICNmODUxNDk7XG59XG5cbi5tYXJrZG93bi1ib2R5IC5hbmNob3Ige1xuICBmbG9hdDogbGVmdDtcbiAgcGFkZGluZy1yaWdodDogMC4yNXJlbTtcbiAgbWFyZ2luLWxlZnQ6IC0yMHB4O1xuICBsaW5lLWhlaWdodDogMTtcbn1cblxuLm1hcmtkb3duLWJvZHkgLmFuY2hvcjpmb2N1cyB7XG4gIG91dGxpbmU6IG5vbmU7XG59XG5cbi5tYXJrZG93bi1ib2R5IHAsXG4ubWFya2Rvd24tYm9keSBibG9ja3F1b3RlLFxuLm1hcmtkb3duLWJvZHkgdWwsXG4ubWFya2Rvd24tYm9keSBvbCxcbi5tYXJrZG93bi1ib2R5IGRsLFxuLm1hcmtkb3duLWJvZHkgdGFibGUsXG4ubWFya2Rvd24tYm9keSBwcmUsXG4ubWFya2Rvd24tYm9keSBkZXRhaWxzIHtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbn1cblxuLm1hcmtkb3duLWJvZHkgYmxvY2txdW90ZT46Zmlyc3QtY2hpbGQge1xuICBtYXJnaW4tdG9wOiAwO1xufVxuXG4ubWFya2Rvd24tYm9keSBibG9ja3F1b3RlPjpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLm1hcmtkb3duLWJvZHkgaDEgLm9jdGljb24tbGluayxcbi5tYXJrZG93bi1ib2R5IGgyIC5vY3RpY29uLWxpbmssXG4ubWFya2Rvd24tYm9keSBoMyAub2N0aWNvbi1saW5rLFxuLm1hcmtkb3duLWJvZHkgaDQgLm9jdGljb24tbGluayxcbi5tYXJrZG93bi1ib2R5IGg1IC5vY3RpY29uLWxpbmssXG4ubWFya2Rvd24tYm9keSBoNiAub2N0aWNvbi1saW5rIHtcbiAgY29sb3I6ICNmMGY2ZmM7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbn1cblxuLm1hcmtkb3duLWJvZHkgaDE6aG92ZXIgLmFuY2hvcixcbi5tYXJrZG93bi1ib2R5IGgyOmhvdmVyIC5hbmNob3IsXG4ubWFya2Rvd24tYm9keSBoMzpob3ZlciAuYW5jaG9yLFxuLm1hcmtkb3duLWJvZHkgaDQ6aG92ZXIgLmFuY2hvcixcbi5tYXJrZG93bi1ib2R5IGg1OmhvdmVyIC5hbmNob3IsXG4ubWFya2Rvd24tYm9keSBoNjpob3ZlciAuYW5jaG9yIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG4ubWFya2Rvd24tYm9keSBoMTpob3ZlciAuYW5jaG9yIC5vY3RpY29uLWxpbmssXG4ubWFya2Rvd24tYm9keSBoMjpob3ZlciAuYW5jaG9yIC5vY3RpY29uLWxpbmssXG4ubWFya2Rvd24tYm9keSBoMzpob3ZlciAuYW5jaG9yIC5vY3RpY29uLWxpbmssXG4ubWFya2Rvd24tYm9keSBoNDpob3ZlciAuYW5jaG9yIC5vY3RpY29uLWxpbmssXG4ubWFya2Rvd24tYm9keSBoNTpob3ZlciAuYW5jaG9yIC5vY3RpY29uLWxpbmssXG4ubWFya2Rvd24tYm9keSBoNjpob3ZlciAuYW5jaG9yIC5vY3RpY29uLWxpbmsge1xuICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xufVxuXG4ubWFya2Rvd24tYm9keSBoMSB0dCxcbi5tYXJrZG93bi1ib2R5IGgxIGNvZGUsXG4ubWFya2Rvd24tYm9keSBoMiB0dCxcbi5tYXJrZG93bi1ib2R5IGgyIGNvZGUsXG4ubWFya2Rvd24tYm9keSBoMyB0dCxcbi5tYXJrZG93bi1ib2R5IGgzIGNvZGUsXG4ubWFya2Rvd24tYm9keSBoNCB0dCxcbi5tYXJrZG93bi1ib2R5IGg0IGNvZGUsXG4ubWFya2Rvd24tYm9keSBoNSB0dCxcbi5tYXJrZG93bi1ib2R5IGg1IGNvZGUsXG4ubWFya2Rvd24tYm9keSBoNiB0dCxcbi5tYXJrZG93bi1ib2R5IGg2IGNvZGUge1xuICBwYWRkaW5nOiAwIC4yZW07XG4gIGZvbnQtc2l6ZTogaW5oZXJpdDtcbn1cblxuLm1hcmtkb3duLWJvZHkgc3VtbWFyeSBoMSxcbi5tYXJrZG93bi1ib2R5IHN1bW1hcnkgaDIsXG4ubWFya2Rvd24tYm9keSBzdW1tYXJ5IGgzLFxuLm1hcmtkb3duLWJvZHkgc3VtbWFyeSBoNCxcbi5tYXJrZG93bi1ib2R5IHN1bW1hcnkgaDUsXG4ubWFya2Rvd24tYm9keSBzdW1tYXJ5IGg2IHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuXG4ubWFya2Rvd24tYm9keSBzdW1tYXJ5IGgxIC5hbmNob3IsXG4ubWFya2Rvd24tYm9keSBzdW1tYXJ5IGgyIC5hbmNob3IsXG4ubWFya2Rvd24tYm9keSBzdW1tYXJ5IGgzIC5hbmNob3IsXG4ubWFya2Rvd24tYm9keSBzdW1tYXJ5IGg0IC5hbmNob3IsXG4ubWFya2Rvd24tYm9keSBzdW1tYXJ5IGg1IC5hbmNob3IsXG4ubWFya2Rvd24tYm9keSBzdW1tYXJ5IGg2IC5hbmNob3Ige1xuICBtYXJnaW4tbGVmdDogLTQwcHg7XG59XG5cbi5tYXJrZG93bi1ib2R5IHN1bW1hcnkgaDEsXG4ubWFya2Rvd24tYm9keSBzdW1tYXJ5IGgyIHtcbiAgcGFkZGluZy1ib3R0b206IDA7XG4gIGJvcmRlci1ib3R0b206IDA7XG59XG5cbi5tYXJrZG93bi1ib2R5IHVsLm5vLWxpc3QsXG4ubWFya2Rvd24tYm9keSBvbC5uby1saXN0IHtcbiAgcGFkZGluZzogMDtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xufVxuXG4ubWFya2Rvd24tYm9keSBvbFt0eXBlPVwiYSBzXCJdIHtcbiAgbGlzdC1zdHlsZS10eXBlOiBsb3dlci1hbHBoYTtcbn1cblxuLm1hcmtkb3duLWJvZHkgb2xbdHlwZT1cIkEgc1wiXSB7XG4gIGxpc3Qtc3R5bGUtdHlwZTogdXBwZXItYWxwaGE7XG59XG5cbi5tYXJrZG93bi1ib2R5IG9sW3R5cGU9XCJpIHNcIl0ge1xuICBsaXN0LXN0eWxlLXR5cGU6IGxvd2VyLXJvbWFuO1xufVxuXG4ubWFya2Rvd24tYm9keSBvbFt0eXBlPVwiSSBzXCJdIHtcbiAgbGlzdC1zdHlsZS10eXBlOiB1cHBlci1yb21hbjtcbn1cblxuLm1hcmtkb3duLWJvZHkgb2xbdHlwZT1cIjFcIl0ge1xuICBsaXN0LXN0eWxlLXR5cGU6IGRlY2ltYWw7XG59XG5cbi5tYXJrZG93bi1ib2R5IGRpdj5vbDpub3QoW3R5cGVdKSB7XG4gIGxpc3Qtc3R5bGUtdHlwZTogZGVjaW1hbDtcbn1cblxuLm1hcmtkb3duLWJvZHkgdWwgdWwsXG4ubWFya2Rvd24tYm9keSB1bCBvbCxcbi5tYXJrZG93bi1ib2R5IG9sIG9sLFxuLm1hcmtkb3duLWJvZHkgb2wgdWwge1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4ubWFya2Rvd24tYm9keSBsaT5wIHtcbiAgbWFyZ2luLXRvcDogMXJlbTtcbn1cblxuLm1hcmtkb3duLWJvZHkgbGkrbGkge1xuICBtYXJnaW4tdG9wOiAuMjVlbTtcbn1cblxuLm1hcmtkb3duLWJvZHkgZGwge1xuICBwYWRkaW5nOiAwO1xufVxuXG4ubWFya2Rvd24tYm9keSBkbCBkdCB7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbi10b3A6IDFyZW07XG4gIGZvbnQtc2l6ZTogMWVtO1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG59XG5cbi5tYXJrZG93bi1ib2R5IGRsIGRkIHtcbiAgcGFkZGluZzogMCAxcmVtO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xufVxuXG4ubWFya2Rvd24tYm9keSB0YWJsZSB0aCB7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG59XG5cbi5tYXJrZG93bi1ib2R5IHRhYmxlIHRoLFxuLm1hcmtkb3duLWJvZHkgdGFibGUgdGQge1xuICBwYWRkaW5nOiA2cHggMTNweDtcbiAgYm9yZGVyOiAxcHggc29saWQgIzNkNDQ0ZDtcbn1cblxuLm1hcmtkb3duLWJvZHkgdGFibGUgdGQ+Omxhc3QtY2hpbGQge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4ubWFya2Rvd24tYm9keSB0YWJsZSB0ciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwZDExMTc7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjM2Q0NDRkYjM7XG59XG5cbi5tYXJrZG93bi1ib2R5IHRhYmxlIHRyOm50aC1jaGlsZCgybikge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTUxYjIzO1xufVxuXG4ubWFya2Rvd24tYm9keSB0YWJsZSBpbWcge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cblxuLm1hcmtkb3duLWJvZHkgaW1nW2FsaWduPXJpZ2h0XSB7XG4gIHBhZGRpbmctbGVmdDogMjBweDtcbn1cblxuLm1hcmtkb3duLWJvZHkgaW1nW2FsaWduPWxlZnRdIHtcbiAgcGFkZGluZy1yaWdodDogMjBweDtcbn1cblxuLm1hcmtkb3duLWJvZHkgLmVtb2ppIHtcbiAgbWF4LXdpZHRoOiBub25lO1xuICB2ZXJ0aWNhbC1hbGlnbjogdGV4dC10b3A7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuXG4ubWFya2Rvd24tYm9keSBzcGFuLmZyYW1lIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5tYXJrZG93bi1ib2R5IHNwYW4uZnJhbWU+c3BhbiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmbG9hdDogbGVmdDtcbiAgd2lkdGg6IGF1dG87XG4gIHBhZGRpbmc6IDdweDtcbiAgbWFyZ2luOiAxM3B4IDAgMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgYm9yZGVyOiAxcHggc29saWQgIzNkNDQ0ZDtcbn1cblxuLm1hcmtkb3duLWJvZHkgc3Bhbi5mcmFtZSBzcGFuIGltZyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmbG9hdDogbGVmdDtcbn1cblxuLm1hcmtkb3duLWJvZHkgc3Bhbi5mcmFtZSBzcGFuIHNwYW4ge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogNXB4IDAgMDtcbiAgY2xlYXI6IGJvdGg7XG4gIGNvbG9yOiAjZjBmNmZjO1xufVxuXG4ubWFya2Rvd24tYm9keSBzcGFuLmFsaWduLWNlbnRlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBjbGVhcjogYm90aDtcbn1cblxuLm1hcmtkb3duLWJvZHkgc3Bhbi5hbGlnbi1jZW50ZXI+c3BhbiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46IDEzcHggYXV0byAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5tYXJrZG93bi1ib2R5IHNwYW4uYWxpZ24tY2VudGVyIHNwYW4gaW1nIHtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLm1hcmtkb3duLWJvZHkgc3Bhbi5hbGlnbi1yaWdodCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBjbGVhcjogYm90aDtcbn1cblxuLm1hcmtkb3duLWJvZHkgc3Bhbi5hbGlnbi1yaWdodD5zcGFuIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbjogMTNweCAwIDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xufVxuXG4ubWFya2Rvd24tYm9keSBzcGFuLmFsaWduLXJpZ2h0IHNwYW4gaW1nIHtcbiAgbWFyZ2luOiAwO1xuICB0ZXh0LWFsaWduOiByaWdodDtcbn1cblxuLm1hcmtkb3duLWJvZHkgc3Bhbi5mbG9hdC1sZWZ0IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZsb2F0OiBsZWZ0O1xuICBtYXJnaW4tcmlnaHQ6IDEzcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5tYXJrZG93bi1ib2R5IHNwYW4uZmxvYXQtbGVmdCBzcGFuIHtcbiAgbWFyZ2luOiAxM3B4IDAgMDtcbn1cblxuLm1hcmtkb3duLWJvZHkgc3Bhbi5mbG9hdC1yaWdodCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmbG9hdDogcmlnaHQ7XG4gIG1hcmdpbi1sZWZ0OiAxM3B4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4ubWFya2Rvd24tYm9keSBzcGFuLmZsb2F0LXJpZ2h0PnNwYW4ge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luOiAxM3B4IGF1dG8gMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG59XG5cbi5tYXJrZG93bi1ib2R5IGNvZGUsXG4ubWFya2Rvd24tYm9keSB0dCB7XG4gIHBhZGRpbmc6IC4yZW0gLjRlbTtcbiAgbWFyZ2luOiAwO1xuICBmb250LXNpemU6IDg1JTtcbiAgd2hpdGUtc3BhY2U6IGJyZWFrLXNwYWNlcztcbiAgYmFja2dyb3VuZC1jb2xvcjogIzY1NmM3NjMzO1xuICBib3JkZXItcmFkaXVzOiA2cHg7XG59XG5cbi5tYXJrZG93bi1ib2R5IGNvZGUgYnIsXG4ubWFya2Rvd24tYm9keSB0dCBiciB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5tYXJrZG93bi1ib2R5IGRlbCBjb2RlIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBpbmhlcml0O1xufVxuXG4ubWFya2Rvd24tYm9keSBzYW1wIHtcbiAgZm9udC1zaXplOiA4NSU7XG59XG5cbi5tYXJrZG93bi1ib2R5IHByZSBjb2RlIHtcbiAgZm9udC1zaXplOiAxMDAlO1xufVxuXG4ubWFya2Rvd24tYm9keSBwcmU+Y29kZSB7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMDtcbiAgd29yZC1icmVhazogbm9ybWFsO1xuICB3aGl0ZS1zcGFjZTogcHJlO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyOiAwO1xufVxuXG4ubWFya2Rvd24tYm9keSAuaGlnaGxpZ2h0IHtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbn1cblxuLm1hcmtkb3duLWJvZHkgLmhpZ2hsaWdodCBwcmUge1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICB3b3JkLWJyZWFrOiBub3JtYWw7XG59XG5cbi5tYXJrZG93bi1ib2R5IC5oaWdobGlnaHQgcHJlLFxuLm1hcmtkb3duLWJvZHkgcHJlIHtcbiAgcGFkZGluZzogMXJlbTtcbiAgb3ZlcmZsb3c6IGF1dG87XG4gIGZvbnQtc2l6ZTogODUlO1xuICBsaW5lLWhlaWdodDogMS40NTtcbiAgY29sb3I6ICNmMGY2ZmM7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxNTFiMjM7XG4gIGJvcmRlci1yYWRpdXM6IDZweDtcbn1cblxuLm1hcmtkb3duLWJvZHkgcHJlIGNvZGUsXG4ubWFya2Rvd24tYm9keSBwcmUgdHQge1xuICBkaXNwbGF5OiBpbmxpbmU7XG4gIG1heC13aWR0aDogYXV0bztcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAwO1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gIHdvcmQtd3JhcDogbm9ybWFsO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyOiAwO1xufVxuXG4ubWFya2Rvd24tYm9keSAuY3N2LWRhdGEgdGQsXG4ubWFya2Rvd24tYm9keSAuY3N2LWRhdGEgdGgge1xuICBwYWRkaW5nOiA1cHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi5tYXJrZG93bi1ib2R5IC5jc3YtZGF0YSAuYmxvYi1udW0ge1xuICBwYWRkaW5nOiAxMHB4IDAuNXJlbSA5cHg7XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xuICBiYWNrZ3JvdW5kOiAjMGQxMTE3O1xuICBib3JkZXI6IDA7XG59XG5cbi5tYXJrZG93bi1ib2R5IC5jc3YtZGF0YSB0ciB7XG4gIGJvcmRlci10b3A6IDA7XG59XG5cbi5tYXJrZG93bi1ib2R5IC5jc3YtZGF0YSB0aCB7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGJhY2tncm91bmQ6ICMxNTFiMjM7XG4gIGJvcmRlci10b3A6IDA7XG59XG5cbi5tYXJrZG93bi1ib2R5IFtkYXRhLWZvb3Rub3RlLXJlZl06OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiW1wiO1xufVxuXG4ubWFya2Rvd24tYm9keSBbZGF0YS1mb290bm90ZS1yZWZdOjphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXVwiO1xufVxuXG4ubWFya2Rvd24tYm9keSAuZm9vdG5vdGVzIHtcbiAgZm9udC1zaXplOiAxMnB4O1xuICBjb2xvcjogIzkxOThhMTtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICMzZDQ0NGQ7XG59XG5cbi5tYXJrZG93bi1ib2R5IC5mb290bm90ZXMgb2wge1xuICBwYWRkaW5nLWxlZnQ6IDFyZW07XG59XG5cbi5tYXJrZG93bi1ib2R5IC5mb290bm90ZXMgb2wgdWwge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBhZGRpbmctbGVmdDogMXJlbTtcbiAgbWFyZ2luLXRvcDogMXJlbTtcbn1cblxuLm1hcmtkb3duLWJvZHkgLmZvb3Rub3RlcyBsaSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLm1hcmtkb3duLWJvZHkgLmZvb3Rub3RlcyBsaTp0YXJnZXQ6OmJlZm9yZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiBjYWxjKDAuNXJlbSotMSk7XG4gIHJpZ2h0OiBjYWxjKDAuNXJlbSotMSk7XG4gIGJvdHRvbTogY2FsYygwLjVyZW0qLTEpO1xuICBsZWZ0OiBjYWxjKDEuNXJlbSotMSk7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICBjb250ZW50OiBcIlwiO1xuICBib3JkZXI6IDJweCBzb2xpZCAjMWY2ZmViO1xuICBib3JkZXItcmFkaXVzOiA2cHg7XG59XG5cbi5tYXJrZG93bi1ib2R5IC5mb290bm90ZXMgbGk6dGFyZ2V0IHtcbiAgY29sb3I6ICNmMGY2ZmM7XG59XG5cbi5tYXJrZG93bi1ib2R5IC5mb290bm90ZXMgLmRhdGEtZm9vdG5vdGUtYmFja3JlZiBnLWVtb2ppIHtcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZTtcbn1cblxuLm1hcmtkb3duLWJvZHkgYm9keTpoYXMoOm1vZGFsKSB7XG4gIHBhZGRpbmctcmlnaHQ6IHZhcigtLWRpYWxvZy1zY3JvbGxndXR0ZXIpICFpbXBvcnRhbnQ7XG59XG5cbi5tYXJrZG93bi1ib2R5IC5wbC1jIHtcbiAgY29sb3I6ICM5MTk4YTE7XG59XG5cbi5tYXJrZG93bi1ib2R5IC5wbC1jMSxcbi5tYXJrZG93bi1ib2R5IC5wbC1zIC5wbC12IHtcbiAgY29sb3I6ICM3OWMwZmY7XG59XG5cbi5tYXJrZG93bi1ib2R5IC5wbC1lLFxuLm1hcmtkb3duLWJvZHkgLnBsLWVuIHtcbiAgY29sb3I6ICNkMmE4ZmY7XG59XG5cbi5tYXJrZG93bi1ib2R5IC5wbC1zbWksXG4ubWFya2Rvd24tYm9keSAucGwtcyAucGwtczEge1xuICBjb2xvcjogI2YwZjZmYztcbn1cblxuLm1hcmtkb3duLWJvZHkgLnBsLWVudCB7XG4gIGNvbG9yOiAjN2VlNzg3O1xufVxuXG4ubWFya2Rvd24tYm9keSAucGwtayB7XG4gIGNvbG9yOiAjZmY3YjcyO1xufVxuXG4ubWFya2Rvd24tYm9keSAucGwtcyxcbi5tYXJrZG93bi1ib2R5IC5wbC1wZHMsXG4ubWFya2Rvd24tYm9keSAucGwtcyAucGwtcHNlIC5wbC1zMSxcbi5tYXJrZG93bi1ib2R5IC5wbC1zcixcbi5tYXJrZG93bi1ib2R5IC5wbC1zciAucGwtY2NlLFxuLm1hcmtkb3duLWJvZHkgLnBsLXNyIC5wbC1zcmUsXG4ubWFya2Rvd24tYm9keSAucGwtc3IgLnBsLXNyYSB7XG4gIGNvbG9yOiAjYTVkNmZmO1xufVxuXG4ubWFya2Rvd24tYm9keSAucGwtdixcbi5tYXJrZG93bi1ib2R5IC5wbC1zbXcge1xuICBjb2xvcjogI2ZmYTY1Nztcbn1cblxuLm1hcmtkb3duLWJvZHkgLnBsLWJ1IHtcbiAgY29sb3I6ICNmODUxNDk7XG59XG5cbi5tYXJrZG93bi1ib2R5IC5wbC1paSB7XG4gIGNvbG9yOiAjZjBmNmZjO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjOGUxNTE5O1xufVxuXG4ubWFya2Rvd24tYm9keSAucGwtYzIge1xuICBjb2xvcjogI2YwZjZmYztcbiAgYmFja2dyb3VuZC1jb2xvcjogI2I2MjMyNDtcbn1cblxuLm1hcmtkb3duLWJvZHkgLnBsLXNyIC5wbC1jY2Uge1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgY29sb3I6ICM3ZWU3ODc7XG59XG5cbi5tYXJrZG93bi1ib2R5IC5wbC1tbCB7XG4gIGNvbG9yOiAjZjJjYzYwO1xufVxuXG4ubWFya2Rvd24tYm9keSAucGwtbWgsXG4ubWFya2Rvd24tYm9keSAucGwtbWggLnBsLWVuLFxuLm1hcmtkb3duLWJvZHkgLnBsLW1zIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGNvbG9yOiAjMWY2ZmViO1xufVxuXG4ubWFya2Rvd24tYm9keSAucGwtbWkge1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIGNvbG9yOiAjZjBmNmZjO1xufVxuXG4ubWFya2Rvd24tYm9keSAucGwtbWIge1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgY29sb3I6ICNmMGY2ZmM7XG59XG5cbi5tYXJrZG93bi1ib2R5IC5wbC1tZCB7XG4gIGNvbG9yOiAjZmZkY2Q3O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNjcwNjBjO1xufVxuXG4ubWFya2Rvd24tYm9keSAucGwtbWkxIHtcbiAgY29sb3I6ICNhZmY1YjQ7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMzNhMTY7XG59XG5cbi5tYXJrZG93bi1ib2R5IC5wbC1tYyB7XG4gIGNvbG9yOiAjZmZkZmI2O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNWExZTAyO1xufVxuXG4ubWFya2Rvd24tYm9keSAucGwtbWkyIHtcbiAgY29sb3I6ICNmMGY2ZmM7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxMTU4Yzc7XG59XG5cbi5tYXJrZG93bi1ib2R5IC5wbC1tZHIge1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgY29sb3I6ICNkMmE4ZmY7XG59XG5cbi5tYXJrZG93bi1ib2R5IC5wbC1iYSB7XG4gIGNvbG9yOiAjOTE5OGExO1xufVxuXG4ubWFya2Rvd24tYm9keSAucGwtc2cge1xuICBjb2xvcjogIzNkNDQ0ZDtcbn1cblxuLm1hcmtkb3duLWJvZHkgLnBsLWNvcmwge1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgY29sb3I6ICNhNWQ2ZmY7XG59XG5cbi5tYXJrZG93bi1ib2R5IFtyb2xlPWJ1dHRvbl06Zm9jdXM6bm90KDpmb2N1cy12aXNpYmxlKSxcbi5tYXJrZG93bi1ib2R5IFtyb2xlPXRhYnBhbmVsXVt0YWJpbmRleD1cIjBcIl06Zm9jdXM6bm90KDpmb2N1cy12aXNpYmxlKSxcbi5tYXJrZG93bi1ib2R5IGJ1dHRvbjpmb2N1czpub3QoOmZvY3VzLXZpc2libGUpLFxuLm1hcmtkb3duLWJvZHkgc3VtbWFyeTpmb2N1czpub3QoOmZvY3VzLXZpc2libGUpLFxuLm1hcmtkb3duLWJvZHkgYTpmb2N1czpub3QoOmZvY3VzLXZpc2libGUpIHtcbiAgb3V0bGluZTogbm9uZTtcbiAgYm94LXNoYWRvdzogbm9uZTtcbn1cblxuLm1hcmtkb3duLWJvZHkgW3RhYmluZGV4PVwiMFwiXTpmb2N1czpub3QoOmZvY3VzLXZpc2libGUpLFxuLm1hcmtkb3duLWJvZHkgZGV0YWlscy1kaWFsb2c6Zm9jdXM6bm90KDpmb2N1cy12aXNpYmxlKSB7XG4gIG91dGxpbmU6IG5vbmU7XG59XG5cbi5tYXJrZG93bi1ib2R5IGctZW1vamkge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1pbi13aWR0aDogMWNoO1xuICBmb250LWZhbWlseTogXCJBcHBsZSBDb2xvciBFbW9qaVwiLFwiU2Vnb2UgVUkgRW1vamlcIixcIlNlZ29lIFVJIFN5bWJvbFwiO1xuICBmb250LXNpemU6IDFlbTtcbiAgZm9udC1zdHlsZTogbm9ybWFsICFpbXBvcnRhbnQ7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICB2ZXJ0aWNhbC1hbGlnbjogLTAuMDc1ZW07XG59XG5cbi5tYXJrZG93bi1ib2R5IGctZW1vamkgaW1nIHtcbiAgd2lkdGg6IDFlbTtcbiAgaGVpZ2h0OiAxZW07XG59XG5cbi5tYXJrZG93bi1ib2R5IC50YXNrLWxpc3QtaXRlbSB7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbn1cblxuLm1hcmtkb3duLWJvZHkgLnRhc2stbGlzdC1pdGVtIGxhYmVsIHtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cblxuLm1hcmtkb3duLWJvZHkgLnRhc2stbGlzdC1pdGVtLmVuYWJsZWQgbGFiZWwge1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi5tYXJrZG93bi1ib2R5IC50YXNrLWxpc3QtaXRlbSsudGFzay1saXN0LWl0ZW0ge1xuICBtYXJnaW4tdG9wOiAwLjI1cmVtO1xufVxuXG4ubWFya2Rvd24tYm9keSAudGFzay1saXN0LWl0ZW0gLmhhbmRsZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5tYXJrZG93bi1ib2R5IC50YXNrLWxpc3QtaXRlbS1jaGVja2JveCB7XG4gIG1hcmdpbjogMCAuMmVtIC4yNWVtIC0xLjRlbTtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cblxuLm1hcmtkb3duLWJvZHkgdWw6ZGlyKHJ0bCkgLnRhc2stbGlzdC1pdGVtLWNoZWNrYm94IHtcbiAgbWFyZ2luOiAwIC0xLjZlbSAuMjVlbSAuMmVtO1xufVxuXG4ubWFya2Rvd24tYm9keSBvbDpkaXIocnRsKSAudGFzay1saXN0LWl0ZW0tY2hlY2tib3gge1xuICBtYXJnaW46IDAgLTEuNmVtIC4yNWVtIC4yZW07XG59XG5cbi5tYXJrZG93bi1ib2R5IC5jb250YWlucy10YXNrLWxpc3Q6aG92ZXIgLnRhc2stbGlzdC1pdGVtLWNvbnZlcnQtY29udGFpbmVyLFxuLm1hcmtkb3duLWJvZHkgLmNvbnRhaW5zLXRhc2stbGlzdDpmb2N1cy13aXRoaW4gLnRhc2stbGlzdC1pdGVtLWNvbnZlcnQtY29udGFpbmVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiBhdXRvO1xuICBoZWlnaHQ6IDI0cHg7XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xuICBjbGlwOiBhdXRvO1xufVxuXG4ubWFya2Rvd24tYm9keSA6Oi13ZWJraXQtY2FsZW5kYXItcGlja2VyLWluZGljYXRvciB7XG4gIGZpbHRlcjogaW52ZXJ0KDUwJSk7XG59XG5cbi5tYXJrZG93bi1ib2R5IC5tYXJrZG93bi1hbGVydCB7XG4gIHBhZGRpbmc6IDAuNXJlbSAxcmVtO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBjb2xvcjogaW5oZXJpdDtcbiAgYm9yZGVyLWxlZnQ6IC4yNWVtIHNvbGlkICMzZDQ0NGQ7XG59XG5cbi5tYXJrZG93bi1ib2R5IC5tYXJrZG93bi1hbGVydD46Zmlyc3QtY2hpbGQge1xuICBtYXJnaW4tdG9wOiAwO1xufVxuXG4ubWFya2Rvd24tYm9keSAubWFya2Rvd24tYWxlcnQ+Omxhc3QtY2hpbGQge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4ubWFya2Rvd24tYm9keSAubWFya2Rvd24tYWxlcnQgLm1hcmtkb3duLWFsZXJ0LXRpdGxlIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgbGluZS1oZWlnaHQ6IDE7XG59XG5cbi5tYXJrZG93bi1ib2R5IC5tYXJrZG93bi1hbGVydC5tYXJrZG93bi1hbGVydC1ub3RlIHtcbiAgYm9yZGVyLWxlZnQtY29sb3I6ICMxZjZmZWI7XG59XG5cbi5tYXJrZG93bi1ib2R5IC5tYXJrZG93bi1hbGVydC5tYXJrZG93bi1hbGVydC1ub3RlIC5tYXJrZG93bi1hbGVydC10aXRsZSB7XG4gIGNvbG9yOiAjNDQ5M2Y4O1xufVxuXG4ubWFya2Rvd24tYm9keSAubWFya2Rvd24tYWxlcnQubWFya2Rvd24tYWxlcnQtaW1wb3J0YW50IHtcbiAgYm9yZGVyLWxlZnQtY29sb3I6ICM4OTU3ZTU7XG59XG5cbi5tYXJrZG93bi1ib2R5IC5tYXJrZG93bi1hbGVydC5tYXJrZG93bi1hbGVydC1pbXBvcnRhbnQgLm1hcmtkb3duLWFsZXJ0LXRpdGxlIHtcbiAgY29sb3I6ICNhYjdkZjg7XG59XG5cbi5tYXJrZG93bi1ib2R5IC5tYXJrZG93bi1hbGVydC5tYXJrZG93bi1hbGVydC13YXJuaW5nIHtcbiAgYm9yZGVyLWxlZnQtY29sb3I6ICM5ZTZhMDM7XG59XG5cbi5tYXJrZG93bi1ib2R5IC5tYXJrZG93bi1hbGVydC5tYXJrZG93bi1hbGVydC13YXJuaW5nIC5tYXJrZG93bi1hbGVydC10aXRsZSB7XG4gIGNvbG9yOiAjZDI5OTIyO1xufVxuXG4ubWFya2Rvd24tYm9keSAubWFya2Rvd24tYWxlcnQubWFya2Rvd24tYWxlcnQtdGlwIHtcbiAgYm9yZGVyLWxlZnQtY29sb3I6ICMyMzg2MzY7XG59XG5cbi5tYXJrZG93bi1ib2R5IC5tYXJrZG93bi1hbGVydC5tYXJrZG93bi1hbGVydC10aXAgLm1hcmtkb3duLWFsZXJ0LXRpdGxlIHtcbiAgY29sb3I6ICMzZmI5NTA7XG59XG5cbi5tYXJrZG93bi1ib2R5IC5tYXJrZG93bi1hbGVydC5tYXJrZG93bi1hbGVydC1jYXV0aW9uIHtcbiAgYm9yZGVyLWxlZnQtY29sb3I6ICNkYTM2MzM7XG59XG5cbi5tYXJrZG93bi1ib2R5IC5tYXJrZG93bi1hbGVydC5tYXJrZG93bi1hbGVydC1jYXV0aW9uIC5tYXJrZG93bi1hbGVydC10aXRsZSB7XG4gIGNvbG9yOiAjZjg1MTQ5O1xufVxuXG4ubWFya2Rvd24tYm9keT4qOmZpcnN0LWNoaWxkPi5oZWFkaW5nLWVsZW1lbnQ6Zmlyc3QtY2hpbGQge1xuICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7XG59XG5cbi5tYXJrZG93bi1ib2R5IC5oaWdobGlnaHQgcHJlOmhhcygrLnplcm9jbGlwYm9hcmQtY29udGFpbmVyKSB7XG4gIG1pbi1oZWlnaHQ6IDUycHg7XG59XG5cbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==*/