/*!***********************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ../../node_modules/.pnpm/css-loader@7.1.4_webpack@5.108.2/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[4].use[1]!../../node_modules/.pnpm/postcss-loader@8.2.1_postcss@8.5.15_typescript@6.0.3_webpack@5.108.2/node_modules/postcss-loader/dist/cjs.js??postcss!./res/css/customize/customize.pcss ***!
  \***********************************************************************************************************************************************************************************************************************************************************************************************************************/
.mx_Dialog_backButton {
    width: 20px;
    height: 20px;
    padding: var(--cpd-space-1x);
    border-radius: 14px;
    background-color: var(--cpd-color-bg-subtle-secondary);
}
    .mx_Dialog_backButton:hover {
        background-color: var(--cpd-color-bg-subtle-primary);
    }
    .mx_Dialog_backButton svg {
        width: inherit;
        height: inherit;
        vertical-align: top;
        color: var(--cpd-color-icon-secondary);
    }
    .mx_Dialog_backButton {
    position: absolute;
    top: var(--cpd-space-4x);
    left: var(--cpd-space-4x);
}

.mx_RoomHeader_backButton {
    width: 20px;
    height: 20px;
    padding: var(--cpd-space-1x);
    border-radius: 14px;
    background-color: var(--cpd-color-bg-subtle-secondary);
}

.mx_RoomHeader_backButton:hover {
        background-color: var(--cpd-color-bg-subtle-primary);
    }

.mx_RoomHeader_backButton svg {
        width: inherit;
        height: inherit;
        vertical-align: top;
        color: var(--cpd-color-icon-secondary);
    }

.hideDialogTitle .mx_Dialog_header .mx_Dialog_title {
    visibility: hidden;
}

.mx_hidden {
    display: none!important;
}

.mx_padding_zero {
    padding: 0;
}

@media (max-width: 535px) {
    .mx_Dialog_buttons {
        width: 100%;
    }

        .mx_Dialog_buttons .mx_Dialog_buttons_row {
            -webkit-box-pack: start;
                -ms-flex-pack: start;
                    justify-content: flex-start;
        }

            .mx_Dialog_buttons .mx_Dialog_buttons_row button {
                min-width: 0;
                padding: 7px 16px;
            }
}

@media (max-width: 360px) {
        .mx_Dialog_buttons .mx_Dialog_buttons_row {
            -webkit-box-orient: vertical;
            -webkit-box-direction: normal;
                -ms-flex-direction: column;
                    flex-direction: column;
        }
}

@media (max-width: 560px) {
    .mx_SpaceCreateMenu_wrapper {
        left: 72px !important;
        width: 79vw !important;
    }

        .mx_SpaceCreateMenu_wrapper .mx_ContextualMenu {
            width: 100%;
        }

            .mx_SpaceCreateMenu_wrapper .mx_ContextualMenu .mx_SpacePillButton {
                width: 100%;
            }
}

@media (max-width: 360px) {
    .mx_SpaceCreateMenu_wrapper {
        width: 75vw !important;
    }
                .mx_SpaceCreateMenu_wrapper .mx_ContextualMenu .mx_SpaceBasicSettings .mx_Field {
                    margin: 12px 0;
                }

            .mx_SpaceCreateMenu_wrapper .mx_ContextualMenu .mx_SpacePillButton {
                padding: 10px 12px 10px 52px;
            }

                .mx_SpaceCreateMenu_wrapper .mx_ContextualMenu .mx_SpacePillButton svg {
                    left: 12px;
                }
}

@media (max-height: 700px) {
    .mx_SpaceCreateMenu_wrapper {
        top: 50px !important;
    }
}

@media (max-height: 600px) {
    .mx_SpaceCreateMenu_wrapper {
        top: 7px !important;
    }
}

@media (max-width: 640px) {
    .mx_CreateSubspaceDialog {
        width: 100%;
    }
}

@media (max-width: 767px) {
    .mx_ProfileDrawer {
        padding-left: 17px;
    }
}

/* Styles live in views/dialogs/_UserSettingsDialog.pcss — this file was never added. */

/* @import "./space_panel/UserSettingsDialog.pcss"; */

@media (max-width: 560px) {
    .mx_CreateRoomDialog {
        width: 60vw;
    }

        .mx_CreateRoomDialog #mx_JoinRuleDropdown_listbox {
            width: 100% !important;
        }
}

@media (max-width: 767px) {
    .mx_AddExistingToSpaceDialog {
        width: 70vw;
    }
}

@media (max-width: 535px) {
            .mx_CreateSectionDialog .mx_Dialog_buttons_row button {
                padding: 7px 12px;
            }
}

@media (max-width: 767px) {
    .mx_NetworkDropdown_dialog .mx_Dialog {
        width: 80vw;
    }
}

.mx_SpotlightDialog .mx_SpotlightDialog_recentlyViewed > div {
            overflow-x: auto;
            scrollbar-color: transparent transparent;
            -ms-touch-action: pan-x;
                touch-action: pan-x;
        }

.mx_SpotlightDialog .mx_SpotlightDialog_recentlyViewed > div:hover {
            scrollbar-color: #0003 transparent;
        }

@media (max-width: 767px) {
    .mx_SpotlightDialog {
        width: 90vw;
    }
            .mx_SpotlightDialog .mx_SpotlightDialog_recentlyViewed > div {
                scrollbar-width: none;
            }

            .mx_SpotlightDialog .mx_SpotlightDialog_recentlyViewed > div::-webkit-scrollbar {
                display: none;
            }
}

@media (max-width: 360px) {
        .mx_SpotlightDialog_wrapper .mx_Dialog {
            min-height: 65% !important;
        }
}

@media (max-width: 535px) {
            .mx_SpacePanel_sharePublicSpace .mx_SpacePublicShare .mx_SpacePillButton {
                width: 100%;
            }
}

@media (max-width: 767px) {
    .mx_SpacePreferencesDialog {
        width: 70vw;
    }

        .mx_SpacePreferencesDialog .mx_TabbedView_tabsOnLeft {
            width: 85%;
        }

            .mx_SpacePreferencesDialog .mx_TabbedView_tabsOnLeft .mx_TabbedView_tabLabels {
                width: 85%;
                max-width: none;
            }

            .mx_SpacePreferencesDialog .mx_TabbedView_tabsOnLeft .mx_TabbedView_tabPanel {
                margin-left: 7px;
            }

                .mx_SpacePreferencesDialog .mx_TabbedView_tabsOnLeft .mx_TabbedView_tabPanel .mx_SettingsTab {
                    min-width: 0;
                    margin-left: 0;
                    padding-right: 0;
                }
}

@media (max-width: 535px) {
        .mx_SpacePreferencesDialog .mx_TabbedView_tabsOnLeft {
            width: 80%;
        }

            .mx_SpacePreferencesDialog .mx_TabbedView_tabsOnLeft .mx_TabbedView_tabLabels {
                width: 80%;
            }
}

@media (max-width: 360px) {
    .mx_SpacePreferencesDialog {
        width: 65vw;
    }
}

@media (max-width: 1035px) {
    .mx_SpaceSettingsDialog {
        width: 85vw;
    }

        .mx_SpaceSettingsDialog .mx_AutoHideScrollbar.mx_TabbedView_tabPanelContent {
            overflow-x: hidden;
        }
}

@media (max-width: 840px) {
        .mx_SpaceSettingsDialog .mx_TabbedView .mx_SettingsTab {
            min-width: 490px;
        }
}

@media (max-width: 820px) {
    .mx_SpaceSettingsDialog .mx_AdvancedSettingsCopyableText {
        width: 90%;
        overflow-wrap: anywhere;
        word-break: break-all;
    }
}

@media (max-width: 767px) {
    .mx_SpaceSettingsDialog {
        width: 70vw;
    }

        .mx_SpaceSettingsDialog .mx_TabbedView_tabsOnLeft {
            width: 85%;
        }

            .mx_SpaceSettingsDialog .mx_TabbedView_tabsOnLeft .mx_TabbedView_tabLabels {
                width: 85%;
                max-width: none;
            }

            .mx_SpaceSettingsDialog .mx_TabbedView_tabsOnLeft .mx_TabbedView_tabPanel {
                margin-left: 7px;
            }

                .mx_SpaceSettingsDialog .mx_TabbedView_tabsOnLeft .mx_TabbedView_tabPanel .mx_SettingsTab {
                    min-width: 0;
                    margin-left: 0;
                    padding-right: 0;
                }
}

@media (max-width: 535px) {
        .mx_SpaceSettingsDialog .mx_TabbedView_tabsOnLeft {
            width: 80%;
        }

            .mx_SpaceSettingsDialog .mx_TabbedView_tabsOnLeft .mx_TabbedView_tabLabels {
                width: 80%;
            }
}

@media (max-width: 360px) {
    .mx_SpaceSettingsDialog {
        width: 65vw;
    }
}

@media (max-width: 360px) {
    .mx_RoomListPrimaryFilters {
        gap: 3px !important;
    }
}

.mx_InviteDialog_other .mx_InviteDialog_content .mx_InviteDialog_addressBar .mx_InviteDialog_editor {
                max-height: 140px;
                overflow: scroll;
            }

@media (max-width: 1920px) {
        .mx_SpaceSetupInitialRooms h1, .mx_SpaceSetupInitialRooms .mx_SpaceRoomView_buttons, .mx_SpaceSetupInitialRooms .mx_SpacePillButton, .mx_SpaceRoomView_publicShare h1, .mx_SpaceRoomView_publicShare .mx_SpaceRoomView_buttons, .mx_SpaceRoomView_publicShare .mx_SpacePillButton, .mx_SpaceRoomView_privateScope h1, .mx_SpaceRoomView_privateScope .mx_SpaceRoomView_buttons, .mx_SpaceRoomView_privateScope .mx_SpacePillButton, .mx_SpaceRoomView_onlyMe h1, .mx_SpaceRoomView_onlyMe .mx_SpaceRoomView_buttons, .mx_SpaceRoomView_onlyMe .mx_SpacePillButton, .mx_SpaceRoomView_inviteTeammates h1, .mx_SpaceRoomView_inviteTeammates .mx_SpaceRoomView_buttons, .mx_SpaceRoomView_inviteTeammates .mx_SpacePillButton {
            max-width: 100%
        }
}

@media (max-width: 767px) {
        .mx_SpaceRoomView_landing:has(~ .mx_RightPanel_ResizeWrapper) {
            padding: 0;
        }
            .mx_SpaceRoomView_landing .mx_SearchBox .mx_SpaceHierarchy_search {
                width: 100%;
            }
}

@media (max-width: 535px) {
    .mx_RoomPreviewCard {
        margin: auto 20px;
    }
}

@media (max-width: 400px) {
                .mx_SpaceRoomView_onlyMe .mx_AddExistingToSpace .mx_SearchBox .mx_textinput_search {
                    width: 100%;
                }
}

@media (max-width: 360px) {
        .mx_SpaceRoomView_publicShare .mx_SpacePillButton, .mx_SpaceRoomView_privateScope .mx_SpacePillButton {
            padding: 10px 12px 10px 52px;
        }

            .mx_SpaceRoomView_publicShare .mx_SpacePillButton svg, .mx_SpaceRoomView_privateScope .mx_SpacePillButton svg {
                left: 12px;
            }
            .mx_UnknownIdentityUsersWarningDialog .mx_UnknownIdentityUsersWarningDialog_buttons button {
                padding: 7px 10px;
            }
}

@media (max-height: 700px) {
                .mx_InviteDialog_other .mx_InviteDialog_content .mx_InviteDialog_addressBar .mx_InviteDialog_editor {
                    max-height: 56px;
                }
}

@media (max-width: 820px) {
        .mx_RoomView .mx_RoomPreviewBar_dialog {
            width: auto;
        }
}

@media (max-width: 767px) {
    .mx_RoomHeader_info {
        padding-right: 0px;
    }

}

.mx_NewRoomIntro .mx_EventTileBubble.mx_cryptoEvent {
        margin-bottom: 50px;
    }

@media (max-width: 1000px) {
    .mx_EventTile[data-layout="bubble"][data-self="false"] .mx_MessageActionBar {
        inset-inline-start: 0;
    }
}

@media (max-width: 540px) {
        .mx_EventTile[data-layout=group] .mx_EventTile_line:not(:where(.mx_ThreadView .mx_EventTile .mx_EventTile_line)) {
            margin-right: 50px;
        }

        .mx_EventTile[data-layout=group] .mx_EventTile_line:has(.mx_EventTileBubble):not(:has(.mx_cryptoEvent)) {
            margin-left: 64px;
        }

            .mx_EventTile[data-layout=group] .mx_EventTile_line:has(.mx_EventTileBubble):not(:has(.mx_cryptoEvent)) .mx_EventTileBubble {
                min-width: 100%
            }
}

@media (max-width: 450px) {
    .mx_NewRoomIntro {
        margin-left: 20px;
        margin-right: 20px;
    }

        .mx_NewRoomIntro .mx_EventTileBubble.mx_cryptoEvent {
            min-width: 100%;
        }

    .mx_GenericEventListSummary {
        margin-right: 0;
    }

    .mx_GenericEventListSummary_toggle {
        margin-right: 0;
    }
            .mx_EditMessageComposer .mx_EditMessageComposer_buttons .mx_AccessibleButton {
                min-width: 70px;
            }
            .mx_EventTile .mx_EventTile_line .mx_LegacyCallEvent.mx_LegacyCallEvent_voice.mx_LegacyCallEvent_narrow {
                min-width: 100%;
            }
        .mx_EventTile[data-layout=group] .mx_EventTile_line:has(.mx_EventTileBubble.mx_cryptoEvent) {
            width: 100%;
        }
            
            .mx_EventTile[data-layout=group] .mx_EventTile_line:has(.mx_EventTileBubble.mx_cryptoEvent) .mx_EventTileBubble.mx_cryptoEvent {
                min-width: 100%;
            }

    .mx_EventTile[data-layout=group]:has(.mx_EventTileBubble.mx_cryptoEvent) {
        margin-left: 20px;
        margin-right: 20px;
    }

    .mx_EventTile[data-layout=bubble]:has(.mx_EventTileBubble.mx_cryptoEvent) {
        margin-left: 20px;
        margin-right: 20px;
    }
}

@media (max-width: 415px) {
    .mx_PinnedMessageBanner_actions {
        padding-inline: 0 !important;
    }
}

@media (max-width: 360px) {
    .mx_LegacyCallEvent.mx_LegacyCallEvent_voice.mx_LegacyCallEvent_narrow {
        padding: 12px 12px;
    }
                .mx_LegacyCallEvent.mx_LegacyCallEvent_voice.mx_LegacyCallEvent_narrow .mx_LegacyCallEvent_content .mx_LegacyCallEvent_content_button svg {
                    margin-right: 5px;
                }
        .mx_EventTile_mediaLine .mx_MessageTimestamp:has(+.mx_MVoiceMessageBody){
            padding-bottom: 0;
        }
}

@media (max-width: 410px) {
    .mx_LocationShareMenu {
        width: 90vw;
    }
}

@media (max-width: 767px) {
        .mx_ImageView .mx_ImageView_panel {
            height: auto;
            padding-top: 10px;
            display: grid;
            grid-template-columns: repeat(1, 1fr);
        }

            .mx_ImageView .mx_ImageView_panel .mx_ImageView_title {
                padding: 5px 32px 5px 77px;
                text-align: start;
            }

            .mx_ImageView .mx_ImageView_panel .mx_ImageView_toolbar {
                padding-right: 32px;
                padding-bottom: 5px;
            }
}

@media (max-width: 360px) {
            .mx_ImageView .mx_ImageView_panel .mx_ImageView_toolbar {
                gap: 6px;
            }
}

@media (max-width: 360px) {
                .mx_PollCreateDialog_wrapper .mx_CompoundDialog .mx_CompoundDialog_footer .mx_AccessibleButton {
                    margin-left: 12px;
                }
}

@media (max-width: 360px) {
            .mx_LegacyCallViewForRoom .mx_LegacyCallView .mx_LegacyCallViewButtons {
                gap: 8px;
            }
}

@media (max-width: 767px) {
            .mx_MessageComposer_wrapper .mx_UserIdentityWarning .mx_UserIdentityWarning_row {
                display: grid;
                grid-template-columns: 20% 1fr;
            }

                .mx_MessageComposer_wrapper .mx_UserIdentityWarning .mx_UserIdentityWarning_row button {
                    grid-column: 2;
                    justify-self: end;
                }
            .mx_ThreadView .mx_MessageComposer_wrapper .mx_UserIdentityWarning {
                margin-left: 10px;
                margin-right: 10px;
            }
}

@media (max-width: 580px) {
    .mx_MessageComposer_wrapper:has(.mx_MessageComposer_actions .mx_MediaBody) {
        padding-left: 20px;
    }

        .mx_MessageComposer_wrapper:has(.mx_MessageComposer_actions .mx_MediaBody) .mx_BasicMessageComposer,
        .mx_MessageComposer_wrapper:has(.mx_MessageComposer_actions .mx_MediaBody) .mx_MessageComposer_e2eIconWrapper {
            display: none;
        }

        .mx_MessageComposer_wrapper:has(.mx_MessageComposer_actions .mx_MediaBody) .mx_MessageComposer_actions {
            width: 100%;
        }

            .mx_MessageComposer_wrapper:has(.mx_MessageComposer_actions .mx_MediaBody) .mx_MessageComposer_actions .mx_MediaBody.mx_VoiceMessagePrimaryContainer {
                max-width: none;
                min-width: 0;
                width: 100%;
            }
        .mx_MessageComposer_wrapper:not(has(.mx_MessageComposer_actions .mx_MediaBody)) .mx_BasicMessageComposer,
        .mx_MessageComposer_wrapper:not(has(.mx_MessageComposer_actions .mx_MediaBody)) .mx_MessageComposer_e2eIconWrapper {
            display: inline;
        }
}

.mx_BeaconViewDialog:has(#mx_Map_mx_BeaconViewDialog) .maplibregl-ctrl-top-right {
        top: 40px;
        right: 5px;
    }

.mx_BeaconViewDialog:has(#mx_Map_mx_BeaconViewDialog) .maplibregl-ctrl-top-right .maplibregl-ctrl-attrib.maplibregl-compact {
            display: none;
        }

.mx_BeaconViewDialog:has(#mx_Map_mx_BeaconViewDialog) .mx_DialogSidebar {
        z-index: 3;
    }

.mx_BeaconViewDialog:has(#mx_Map_mx_BeaconViewDialog) .mx_BeaconViewDialog_viewListButton {
        z-index: 3;
        top: 15px;
    }

@media (max-width: 535px) {
        .mx_BeaconViewDialog:has(#mx_Map_mx_BeaconViewDialog) .mx_DialogOwnBeaconStatus {
            width: 75%;
            left: 3%;
            margin-left: 0;
            bottom: 36px;
        }
}

@media (max-width: 430px) {
        .mx_BeaconViewDialog:has(#mx_Map_mx_BeaconViewDialog) .mx_DialogSidebar {
            width: 80%;
        }
}

@media (max-width: 767px) {
    #right-panel {
       min-width: 100% !important;
    }

    .mx_RightPanel_ResizeWrapper {
        width: 100% !important;
        max-width: none !important;
    }
}

@media (max-width: 535px) {
    .mx_Dialog:has(.mx_ExportDialog) {
        padding: 20px 25px;
    }

    .mx_ExportDialog {
        width: 70vw;
    }
            .mx_ExportDialog .mx_ExportDialog_options .mx_Field {
                width: auto;
            }
}

@media (max-width: 767px) {
    .mx_InviteDialog_addressBar {
        width: 100%;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column;
    }

    .mx_InviteDialog_editor {
        margin: 2px;
    }

    .mx_InviteDialog_addressBar .mx_AccessibleButton {
        width: 86px;
        margin: 10px 2px;
    }
}

@media (max-width: 480px) {
    .mx_UnknownIdentityUsersWarningDialog_buttons button {
        padding-inline: 12px 20px;
    }
}

@media (max-width: 535px) {
        #mx_ReportEventDialog .mx_Dialog_buttons {
            width: 100%;
        }
}

@media (max-width: 1035px) {
    .mx_RoomSettingsDialog {
        width: 85vw;
    }

        .mx_RoomSettingsDialog .mx_AutoHideScrollbar.mx_TabbedView_tabPanelContent {
            overflow-x: hidden;
        }
}

@media (max-width: 840px) {
        .mx_RoomSettingsDialog .mx_TabbedView .mx_SettingsTab {
            min-width: 490px;
        }
        .mx_RoomProfileSettings .mx_RoomProfileSettings_profile {
            -webkit-box-orient: vertical;
            -webkit-box-direction: reverse;
                -ms-flex-direction: column-reverse;
                    flex-direction: column-reverse;
        }

            .mx_RoomProfileSettings .mx_RoomProfileSettings_profile .mx_RoomProfileSettings_profile_controls {
                width: 100%
            }
}

@media (max-width: 820px) {
    .mx_RoomSettingsDialog .mx_AdvancedSettingsCopyableText {
        width: 90%;
        overflow-wrap: anywhere;
        word-break: break-all;
    }
}

@media (max-width: 767px) {
    .mx_RoomSettingsDialog {
        width: 70vw;
    }

        .mx_RoomSettingsDialog .mx_Dialog_title {
            padding-right: 0;
        }

        .mx_RoomSettingsDialog .mx_TabbedView_tabsOnLeft {
            width: 85%;
        }

            .mx_RoomSettingsDialog .mx_TabbedView_tabsOnLeft .mx_TabbedView_tabLabels {
                width: 85%;
                max-width: none;
            }

            .mx_RoomSettingsDialog .mx_TabbedView_tabsOnLeft .mx_TabbedView_tabPanel {
                margin-left: 7px;
            }

                .mx_RoomSettingsDialog .mx_TabbedView_tabsOnLeft .mx_TabbedView_tabPanel .mx_SettingsTab {
                    min-width: 0;
                    margin-left: 0;
                    padding-right: 0;
                }

    .mx_NotificationSettingsTab_notificationsSection {
        width: 100%;
    }

        .mx_NotificationSettingsTab_notificationsSection .mx_StyledRadioButton_content {
            margin-left: 0;
        }

        .mx_NotificationSettingsTab_notificationsSection .mx_StyledRadioButton_spacer {
            display: none;
        }

    .mx_ManageRestrictedJoinRuleDialog {
        width: 65vw;
    }
            .mx_ManageRestrictedJoinRuleDialog .mx_SearchBox input {
                width: 100%;
            }

        .mx_ManageRestrictedJoinRuleDialog .mx_ManageRestrictedJoinRuleDialog_footer_buttons {
            margin-left: 0;
        }

    .mx_ForwardDialog {
        width: 70vw;
    }

    .mx_UnpinAllDialog {
        max-width: 100%;
    }
}

@media (max-width: 535px) {
        .mx_RoomSettingsDialog .mx_TabbedView_tabsOnLeft {
            width: 80%;
        }

            .mx_RoomSettingsDialog .mx_TabbedView_tabsOnLeft .mx_TabbedView_tabLabels {
                width: 80%;
            }
}

@media (max-width: 400px) {
            .mx_ForwardDialog .mx_SearchBox .mx_textinput_search {
                width: 100%;
            }
}

@media (max-width: 360px) {
    .mx_RoomSettingsDialog,
    .mx_ForwardDialog {
        width: 65vw;
    }
}

@media (max-height: 800px) {
        .mx_ManageRestrictedJoinRuleDialog_wrapper .mx_Dialog {
            height: 85vh;
        }

            .mx_ManageRestrictedJoinRuleDialog_wrapper .mx_Dialog .mx_ManageRestrictedJoinRuleDialog {
                height: 100%;
            }

                .mx_ManageRestrictedJoinRuleDialog_wrapper .mx_Dialog .mx_ManageRestrictedJoinRuleDialog .mx_ManageRestrictedJoinRuleDialog_footer {
                    margin-top: 0;
                }
}

@media (max-width: 535px) {
    .mx_ShareDialog {
        max-width: 100%;
    }
}

@media (max-width: 610px) {
    .mx_BulkRedactDialog,
    .mx_UserInfoKickDialog,
    .mx_UserInfoBanDialog,
    .mx_UserInfoDeactivateDialog {
        width: 70vw;
    }
}

@media (max-width: 535px) {
                .mx_BulkRedactDialog .mx_Dialog_buttons .mx_Dialog_buttons_row button, .mx_UserInfoKickDialog .mx_Dialog_buttons .mx_Dialog_buttons_row button, .mx_UserInfoBanDialog .mx_Dialog_buttons .mx_Dialog_buttons_row button, .mx_UserInfoDeactivateDialog .mx_Dialog_buttons .mx_Dialog_buttons_row button {
                    padding: 7px 10px;
                }
}

@media (max-width: 360px) {
    .mx_BulkRedactDialog,
    .mx_UserInfoKickDialog,
    .mx_UserInfoBanDialog,
    .mx_UserInfoDeactivateDialog {
        width: 65vw;
    }
}

.mx_FilePanel .mx_RoomView_messagePanel {
        overflow-x: hidden;
    }

.mx_FilePanel .mx_RoomView_messagePanel .mx_RoomView_empty {
            margin-right: 0px;
        }

@media (max-width: 767px) {
        .mx_PollHistoryList .mx_PollHistoryList_list {
            padding-right: 0;
        }

        .mx_PollHistoryList .mx_PollHistoryList_noResults {
            padding: 0;
        }
}

@media (max-width: 767px) {
        .mx_ThreadView .mx_EventTile[data-layout="bubble"] {
            margin-inline: 50px;
        }
                .mx_ThreadView .mx_EventTile[data-layout="bubble"] .mx_EventTile_msgOption .mx_ReadReceiptGroup {
                    inset-inline-end: -40px;
                }
}

/* =========================================================
   NORMAL MOBILE (376px - 599px)
   Targeting:
   - 414px × 896px Portrait
   ========================================================= */

@media screen and (min-width: 376px) and (max-width: 599px) {
    .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;
        -webkit-box-pack: center;
            -ms-flex-pack: center;
                justify-content: center;
        margin-inline: auto !important;
        padding: 0 !important;
    }

    .mx_DefaultWelcome {
        width: 100% !important;
        margin: 0 auto !important;
        padding: 18px 36px !important;
        -webkit-box-sizing: border-box !important;
                box-sizing: border-box !important;
    }

    .mx_DefaultWelcome_logo img {
        width: 100px !important;
        height: 100px !important;
    }

    .mx_DefaultWelcome_buttons a {
        width: 100% !important;
    }

    .mx_AuthPage_modal {
        display: -webkit-box !important;
        display: -ms-flexbox !important;
        display: flex !important;
        -webkit-box-pack: center !important;
            -ms-flex-pack: center !important;
                justify-content: center !important;
        -webkit-box-align: center !important;
            -ms-flex-align: center !important;
                align-items: center !important;
        padding: 10px 20px !important;
        width: 100% !important;
        -webkit-box-sizing: border-box !important;
                box-sizing: border-box !important;
    }

    .mx_AuthPage_modalContent {
        display: -webkit-box !important;
        display: -ms-flexbox !important;
        display: flex !important;
        -webkit-box-orient: vertical !important;
        -webkit-box-direction: normal !important;
            -ms-flex-direction: column !important;
                flex-direction: column !important;
        -webkit-box-align: center !important;
            -ms-flex-align: center !important;
                align-items: center !important;
        -webkit-box-pack: center !important;
            -ms-flex-pack: center !important;
                justify-content: center !important;
        width: 100% !important;
        margin-inline: auto !important;
        -webkit-box-sizing: border-box !important;
                box-sizing: border-box !important;
    }

    .mx_AuthPage_modal .mx_AuthHeaderLogo {
        display: -webkit-box !important;
        display: -ms-flexbox !important;
        display: flex !important;
        -webkit-box-orient: vertical !important;
        -webkit-box-direction: normal !important;
            -ms-flex-direction: column !important;
                flex-direction: column !important;
        -webkit-box-align: center !important;
            -ms-flex-align: center !important;
                align-items: center !important;
        -webkit-box-pack: center !important;
            -ms-flex-pack: center !important;
                justify-content: center !important;
        width: 100% !important;
        margin: 0 auto 4px auto !important;
        padding: 0 !important;
    }

    .mx_AuthPage_modal .mx_AuthHeaderLogo img {
        width: 100px !important;
        height: 100px !important;
    }

    .mx_AuthPage_modal .mx_AuthHeader {
        display: -webkit-box !important;
        display: -ms-flexbox !important;
        display: flex !important;
        -webkit-box-orient: vertical !important;
        -webkit-box-direction: normal !important;
            -ms-flex-direction: column !important;
                flex-direction: column !important;
        -webkit-box-align: center !important;
            -ms-flex-align: center !important;
                align-items: center !important;
        -webkit-box-pack: center !important;
            -ms-flex-pack: center !important;
                justify-content: center !important;
    }

    .mx_AuthBody_forgot-password {
        width: 100% !important;
        padding: 12px 22px !important;
        height: auto !important;
        min-height: 0 !important;
        -webkit-box-sizing: border-box !important;
                box-sizing: border-box !important;
    }

    .mx_AuthBody {
        width: 100% !important;
        max-width: 420px !important;
        margin-inline: auto !important;
        padding: 5px 24px !important;
        -webkit-box-sizing: border-box !important;
                box-sizing: border-box !important;
    }

    .mx_Register_mainContent {
        width: 100% !important;
        max-width: 100% !important;
        -webkit-box-sizing: border-box !important;
                box-sizing: border-box !important;
    }

    .mx_Field.mx_Field_select {
        max-width: 140px !important;
    }

    .mx_Field_select select,
    select#mx_Field_2,
    select#mx_Field_6 {
        width: 100% !important;
        font-size: 11px !important;
    }

    .mx_ServerPicker_helpDialog .mx_Dialog_content,
    .mx_Dialog_border,
    .mx_ServerPickerDialog,
    .mx_EncryptionCard.mx_EncryptionCard_noBorder,
    .mx_InteractiveAuthEntryComponents_passwordSection {
        width: 100% !important;
        -webkit-box-sizing: border-box !important;
                box-sizing: border-box !important;
    }

    .mx_AuthBody_fieldRow:has(input[placeholder="Email (optional)"]) {
        display: -webkit-box !important;
        display: -ms-flexbox !important;
        display: flex !important;
        -ms-flex-wrap: wrap !important;
            flex-wrap: wrap !important;
        width: 100% !important;
        -ms-flex-preferred-size: 100% !important;
            flex-basis: 100% !important;
        row-gap: 10px !important;
    }

    .mx_AuthBody_fieldRow:has(input[placeholder="Email (optional)"])
        > .mx_Field:first-child {
        width: 100% !important;
        -webkit-box-flex: 0 !important;
            -ms-flex: 0 0 100% !important;
                flex: 0 0 100% !important;
        -ms-flex-preferred-size: 100% !important;
            flex-basis: 100% !important;
        max-width: 100% !important;
    }

    .mx_AuthBody_fieldRow:has(input[placeholder="Email (optional)"])
        > .mx_Field:last-child {
        width: 100% !important;
        -webkit-box-flex: 0 !important;
            -ms-flex: 0 0 100% !important;
                flex: 0 0 100% !important;
        -ms-flex-preferred-size: 100% !important;
            flex-basis: 100% !important;
        max-width: 100% !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
    }

    .mx_AuthBody_fieldRow:has(input[placeholder="Email (optional)"])
        > .mx_Field:last-child.mx_Field_select {
        max-width: 100% !important;
    }
}

/* =========================================================
   SMALL PHONE (320px - 375px)
   Targeting:
   - 320px × 568px Portrait
   ========================================================= */

@media screen and (min-width: 320px) and (max-width: 375px) {
    .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;
        -webkit-box-pack: center;
            -ms-flex-pack: center;
                justify-content: center;
        margin-inline: auto !important;
        padding: 0 !important;
    }

    .mx_DefaultWelcome {
        width: 100% !important;
        margin: 0 auto !important;
        padding: 2px 36px !important;
        -webkit-box-sizing: border-box !important;
                box-sizing: border-box !important;
    }

    .mx_DefaultWelcome_logo img {
        width: 60px !important;
        height: 60px !important;
    }

    .mx_DefaultWelcome_buttons a {
        width: 100% !important;
    }

    .mx_DefaultWelcome h1 {
        font-size: 16px !important;
    }

    .mx_AuthPage_modal {
        display: -webkit-box !important;
        display: -ms-flexbox !important;
        display: flex !important;
        -webkit-box-pack: center !important;
            -ms-flex-pack: center !important;
                justify-content: center !important;
        -webkit-box-align: center !important;
            -ms-flex-align: center !important;
                align-items: center !important;
        padding: 10px 20px !important;
        width: 100% !important;
        -webkit-box-sizing: border-box !important;
                box-sizing: border-box !important;
        max-height: 100vh !important;
    }

    .mx_AuthPage_modalContent {
        display: -webkit-box !important;
        display: -ms-flexbox !important;
        display: flex !important;
        -webkit-box-orient: vertical !important;
        -webkit-box-direction: normal !important;
            -ms-flex-direction: column !important;
                flex-direction: column !important;
        -webkit-box-align: center !important;
            -ms-flex-align: center !important;
                align-items: center !important;
        -webkit-box-pack: center !important;
            -ms-flex-pack: center !important;
                justify-content: center !important;
        width: 100% !important;
        margin-inline: auto !important;
        -webkit-box-sizing: border-box !important;
                box-sizing: border-box !important;
    }

    .mx_AuthPage_modal .mx_AuthHeaderLogo {
        display: -webkit-box !important;
        display: -ms-flexbox !important;
        display: flex !important;
        -webkit-box-orient: vertical !important;
        -webkit-box-direction: normal !important;
            -ms-flex-direction: column !important;
                flex-direction: column !important;
        -webkit-box-align: center !important;
            -ms-flex-align: center !important;
                align-items: center !important;
        -webkit-box-pack: center !important;
            -ms-flex-pack: center !important;
                justify-content: center !important;
        width: 100% !important;
        margin: 0 auto 4px auto !important;
        padding: 0 !important;
    }

    .mx_AuthPage_modal .mx_AuthHeaderLogo img {
        width: 70px !important;
        height: 70px !important;
    }

    .mx_AuthPage_modal .mx_AuthHeader {
        display: -webkit-box !important;
        display: -ms-flexbox !important;
        display: flex !important;
        -webkit-box-orient: vertical !important;
        -webkit-box-direction: normal !important;
            -ms-flex-direction: column !important;
                flex-direction: column !important;
        -webkit-box-align: center !important;
            -ms-flex-align: center !important;
                align-items: center !important;
        -webkit-box-pack: center !important;
            -ms-flex-pack: center !important;
                justify-content: center !important;
        margin-bottom: 2px !important;
    }

    .mx_AuthBody_forgot-password {
        width: 100% !important;
        padding: 12px 22px !important;
        height: auto !important;
        min-height: 0 !important;
        -webkit-box-sizing: border-box !important;
                box-sizing: border-box !important;
    }

    .mx_AuthBody {
        width: 100% !important;
        max-width: 380px !important;
        margin-inline: auto !important;
        padding: 2px 12px !important;
        -webkit-box-sizing: border-box !important;
                box-sizing: border-box !important;
    }

    .mx_AuthBody h1 {
        font-size: 20px !important;
        margin-bottom: 4px !important;
        margin-top: 0px !important;
    }

    .mx_ServerPicker {
        margin-bottom: 4px !important;
        font-size: 12px !important;
    }

    .mx_AuthBody form .mx_Field {
        margin-bottom: 8px !important;
    }

    .mx_AuthBody form .mx_Field.mx_Field_input, 
    .mx_AuthBody form .mx_Field.mx_Field_select {
        height: 36px !important;
        min-height: 36px !important;
    }

    .mx_AuthBody form .mx_Field_input input, 
    .mx_AuthBody form .mx_Field_select select {
        height: 34px !important;
        padding-top: 2px !important;
        padding-bottom: 2px !important;
        font-size: 12px !important;
    }

    .mx_InteractiveAuthEntryComponents_passwordSection .mx_Field_input input {
        height: 30px !important;
    }

    .mx_AuthBody form .mx_Login_submit {
        height: 38px !important;
        margin-top: 4px !important;
        margin-bottom: 4px !important;
        padding: 6px !important;
    }
    
    .mx_AuthBody .mx_AuthBody_changeFlow {
        font-size: 11px !important;
    }

    .mx_Register_mainContent {
        width: 100% !important;
        max-width: 100% !important;
        -webkit-box-sizing: border-box !important;
                box-sizing: border-box !important;
    }

    .mx_Field.mx_Field_select {
        max-width: 140px !important;
    }

    .mx_Field_select select,
    select#mx_Field_2,
    select#mx_Field_6 {
        width: 100% !important;
        font-size: 11px !important;
    }

    .mx_ServerPicker_helpDialog .mx_Dialog_content,
    .mx_Dialog_border,
    .mx_ServerPickerDialog,
    .mx_EncryptionCard.mx_EncryptionCard_noBorder,
    .mx_InteractiveAuthEntryComponents_passwordSection {
        width: 100% !important;
        -webkit-box-sizing: border-box !important;
                box-sizing: border-box !important;
    }

    .mx_AuthBody_fieldRow:has(input[placeholder="Email (optional)"]) {
        display: -webkit-box !important;
        display: -ms-flexbox !important;
        display: flex !important;
        -ms-flex-wrap: wrap !important;
            flex-wrap: wrap !important;
        width: 100% !important;
        -ms-flex-preferred-size: 100% !important;
            flex-basis: 100% !important;
        row-gap: 10px !important;
    }

    .mx_AuthBody_fieldRow:has(input[placeholder="Email (optional)"])
        > .mx_Field:first-child {
        width: 100% !important;
        -webkit-box-flex: 0 !important;
            -ms-flex: 0 0 100% !important;
                flex: 0 0 100% !important;
        -ms-flex-preferred-size: 100% !important;
            flex-basis: 100% !important;
        max-width: 100% !important;
    }

    .mx_AuthBody_fieldRow:has(input[placeholder="Email (optional)"])
        > .mx_Field:last-child {
        width: 100% !important;
        -webkit-box-flex: 0 !important;
            -ms-flex: 0 0 100% !important;
                flex: 0 0 100% !important;
        -ms-flex-preferred-size: 100% !important;
            flex-basis: 100% !important;
        max-width: 100% !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
    }

    .mx_AuthBody_fieldRow:has(input[placeholder="Email (optional)"])
        > .mx_Field:last-child.mx_Field_select {
        max-width: 100% !important;
    }

    .mx_AuthBody .mx_CountryDropdown .mx_Dropdown_menu {
        width: 225px !important;
    }
}

/* =========================================================
   iPHONE SE (375px - 389px)
   Targeting:
   - 375px × 667px Portrait
   ========================================================= */

@media screen and (min-width: 375px) and (max-width: 389px) {
    .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;
        -webkit-box-pack: center;
            -ms-flex-pack: center;
                justify-content: center;
        margin-inline: auto !important;
        padding: 0 !important;
    }

    .mx_DefaultWelcome {
        width: 100% !important;
        margin: 0 auto !important;
        padding: 18px 36px !important;
        -webkit-box-sizing: border-box !important;
                box-sizing: border-box !important;
    }

    .mx_DefaultWelcome_logo img {
        width: 100px !important;
        height: 100px !important;
    }

    .mx_DefaultWelcome_buttons a {
        width: 100% !important;
    }

    .mx_AuthPage_modal {
        display: -webkit-box !important;
        display: -ms-flexbox !important;
        display: flex !important;
        -webkit-box-pack: center !important;
            -ms-flex-pack: center !important;
                justify-content: center !important;
        -webkit-box-align: center !important;
            -ms-flex-align: center !important;
                align-items: center !important;
        padding: 4px 10px !important;
        width: 100% !important;
        -webkit-box-sizing: border-box !important;
                box-sizing: border-box !important;
        max-height: 100vh !important;
    }

    .mx_AuthPage_modalContent {
        display: -webkit-box !important;
        display: -ms-flexbox !important;
        display: flex !important;
        -webkit-box-orient: vertical !important;
        -webkit-box-direction: normal !important;
            -ms-flex-direction: column !important;
                flex-direction: column !important;
        -webkit-box-align: center !important;
            -ms-flex-align: center !important;
                align-items: center !important;
        -webkit-box-pack: center !important;
            -ms-flex-pack: center !important;
                justify-content: center !important;
        width: 100% !important;
        margin-inline: auto !important;
        -webkit-box-sizing: border-box !important;
                box-sizing: border-box !important;
    }

    .mx_AuthPage_modal .mx_AuthHeaderLogo {
        display: -webkit-box !important;
        display: -ms-flexbox !important;
        display: flex !important;
        -webkit-box-orient: vertical !important;
        -webkit-box-direction: normal !important;
            -ms-flex-direction: column !important;
                flex-direction: column !important;
        -webkit-box-align: center !important;
            -ms-flex-align: center !important;
                align-items: center !important;
        -webkit-box-pack: center !important;
            -ms-flex-pack: center !important;
                justify-content: center !important;
        width: 100% !important;
        margin: 0 auto 4px auto !important;
        padding: 0 !important;
    }

    .mx_AuthPage_modal .mx_AuthHeaderLogo img {
        width: 70px !important;
        height: 70px !important;
    }

    .mx_AuthPage_modal .mx_AuthHeader {
        display: -webkit-box !important;
        display: -ms-flexbox !important;
        display: flex !important;
        -webkit-box-orient: vertical !important;
        -webkit-box-direction: normal !important;
            -ms-flex-direction: column !important;
                flex-direction: column !important;
        -webkit-box-align: center !important;
            -ms-flex-align: center !important;
                align-items: center !important;
        -webkit-box-pack: center !important;
            -ms-flex-pack: center !important;
                justify-content: center !important;
        margin-bottom: 2px !important;
    }

    .mx_AuthBody_forgot-password {
        width: 100% !important;
        padding: 12px 22px !important;
        height: auto !important;
        min-height: 0 !important;
        -webkit-box-sizing: border-box !important;
                box-sizing: border-box !important;
    }

    .mx_AuthBody {
        width: 100% !important;
        max-width: 380px !important;
        margin-inline: auto !important;
        padding: 2px 12px !important;
        -webkit-box-sizing: border-box !important;
                box-sizing: border-box !important;
    }

    .mx_AuthBody h1 {
        font-size: 20px !important;
        margin-bottom: 4px !important;
        margin-top: 0px !important;
    }

    .mx_ServerPicker {
        margin-bottom: 4px !important;
        font-size: 12px !important;
    }

    .mx_AuthBody form .mx_Field {
        margin-bottom: 8px !important;
    }

    .mx_AuthBody form .mx_Field.mx_Field_input, 
    .mx_AuthBody form .mx_Field.mx_Field_select {
        height: 36px !important;
        min-height: 36px !important;
    }

    .mx_AuthBody form .mx_Field_input input, 
    .mx_AuthBody form .mx_Field_select select {
        height: 34px !important;
        padding-top: 2px !important;
        padding-bottom: 2px !important;
        font-size: 12px !important;
    }

    .mx_InteractiveAuthEntryComponents_passwordSection .mx_Field_input input {
        height: 30px !important;
    }

    .mx_AuthBody form .mx_Login_submit {
        height: 38px !important;
        margin-top: 4px !important;
        margin-bottom: 4px !important;
        padding: 6px !important;
    }
    
    .mx_AuthBody .mx_AuthBody_changeFlow {
        font-size: 11px !important;
    }

    .mx_Register_mainContent {
        width: 100% !important;
        max-width: 100% !important;
        -webkit-box-sizing: border-box !important;
                box-sizing: border-box !important;
    }

    .mx_Field.mx_Field_select {
        max-width: 140px !important;
    }

    .mx_Field_select select,
    select#mx_Field_2,
    select#mx_Field_6 {
        width: 100% !important;
        font-size: 11px !important;
    }

    .mx_ServerPicker_helpDialog .mx_Dialog_content,
    .mx_Dialog_border,
    .mx_ServerPickerDialog,
    .mx_EncryptionCard.mx_EncryptionCard_noBorder,
    .mx_InteractiveAuthEntryComponents_passwordSection {
        width: 100% !important;
        -webkit-box-sizing: border-box !important;
                box-sizing: border-box !important;
    }

    .mx_AuthBody_fieldRow:has(input[placeholder="Email (optional)"]) {
        display: -webkit-box !important;
        display: -ms-flexbox !important;
        display: flex !important;
        -ms-flex-wrap: wrap !important;
            flex-wrap: wrap !important;
        width: 100% !important;
        -ms-flex-preferred-size: 100% !important;
            flex-basis: 100% !important;
        row-gap: 10px !important;
    }

    .mx_AuthBody_fieldRow:has(input[placeholder="Email (optional)"])
        > .mx_Field:first-child {
        width: 100% !important;
        -webkit-box-flex: 0 !important;
            -ms-flex: 0 0 100% !important;
                flex: 0 0 100% !important;
        -ms-flex-preferred-size: 100% !important;
            flex-basis: 100% !important;
        max-width: 100% !important;
    }

    .mx_AuthBody_fieldRow:has(input[placeholder="Email (optional)"])
        > .mx_Field:last-child {
        width: 100% !important;
        -webkit-box-flex: 0 !important;
            -ms-flex: 0 0 100% !important;
                flex: 0 0 100% !important;
        -ms-flex-preferred-size: 100% !important;
            flex-basis: 100% !important;
        max-width: 100% !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
    }

    .mx_AuthBody_fieldRow:has(input[placeholder="Email (optional)"])
        > .mx_Field:last-child.mx_Field_select {
        max-width: 100% !important;
    }
}

/* =========================================================
   IN-BETWEEN MOBILE (350px - 389px)
   Targeting:
   - 350px × 667px Portrait
   ========================================================= */

@media screen and (min-width: 350px) and (max-width: 389px) {
    .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;
        -webkit-box-pack: center;
            -ms-flex-pack: center;
                justify-content: center;
        margin-inline: auto !important;
        padding: 0 !important;
    }

    .mx_DefaultWelcome {
        width: 100% !important;
        margin: 0 auto !important;
        padding: 18px 36px !important;
        -webkit-box-sizing: border-box !important;
                box-sizing: border-box !important;
    }

    .mx_DefaultWelcome_logo img {
        width: 100px !important;
        height: 100px !important;
    }

    .mx_DefaultWelcome_buttons a {
        width: 100% !important;
    }

    .mx_AuthPage_modal {
        display: -webkit-box !important;
        display: -ms-flexbox !important;
        display: flex !important;
        -webkit-box-pack: center !important;
            -ms-flex-pack: center !important;
                justify-content: center !important;
        -webkit-box-align: center !important;
            -ms-flex-align: center !important;
                align-items: center !important;
        padding: 4px 10px !important;
        width: 100% !important;
        -webkit-box-sizing: border-box !important;
                box-sizing: border-box !important;
        max-height: 100vh !important;
    }

    .mx_AuthPage_modalContent {
        display: -webkit-box !important;
        display: -ms-flexbox !important;
        display: flex !important;
        -webkit-box-orient: vertical !important;
        -webkit-box-direction: normal !important;
            -ms-flex-direction: column !important;
                flex-direction: column !important;
        -webkit-box-align: center !important;
            -ms-flex-align: center !important;
                align-items: center !important;
        -webkit-box-pack: center !important;
            -ms-flex-pack: center !important;
                justify-content: center !important;
        width: 100% !important;
        margin-inline: auto !important;
        -webkit-box-sizing: border-box !important;
                box-sizing: border-box !important;
    }

    .mx_AuthPage_modal .mx_AuthHeaderLogo {
        display: -webkit-box !important;
        display: -ms-flexbox !important;
        display: flex !important;
        -webkit-box-orient: vertical !important;
        -webkit-box-direction: normal !important;
            -ms-flex-direction: column !important;
                flex-direction: column !important;
        -webkit-box-align: center !important;
            -ms-flex-align: center !important;
                align-items: center !important;
        -webkit-box-pack: center !important;
            -ms-flex-pack: center !important;
                justify-content: center !important;
        width: 100% !important;
        margin: 0 auto 4px auto !important;
        padding: 0 !important;
    }

    .mx_AuthPage_modal .mx_AuthHeaderLogo img {
        width: 70px !important;
        height: 70px !important;
    }

    .mx_AuthPage_modal .mx_AuthHeader {
        display: -webkit-box !important;
        display: -ms-flexbox !important;
        display: flex !important;
        -webkit-box-orient: vertical !important;
        -webkit-box-direction: normal !important;
            -ms-flex-direction: column !important;
                flex-direction: column !important;
        -webkit-box-align: center !important;
            -ms-flex-align: center !important;
                align-items: center !important;
        -webkit-box-pack: center !important;
            -ms-flex-pack: center !important;
                justify-content: center !important;
        margin-bottom: 2px !important;
    }

    .mx_AuthBody_forgot-password {
        width: 100% !important;
        padding: 12px 22px !important;
        height: auto !important;
        min-height: 0 !important;
        -webkit-box-sizing: border-box !important;
                box-sizing: border-box !important;
    }

    .mx_AuthBody {
        width: 100% !important;
        max-width: 380px !important;
        margin-inline: auto !important;
        padding: 2px 12px !important;
        -webkit-box-sizing: border-box !important;
                box-sizing: border-box !important;
    }

    .mx_AuthBody h1 {
        font-size: 20px !important;
        margin-bottom: 4px !important;
        margin-top: 0px !important;
    }

    .mx_ServerPicker {
        margin-bottom: 4px !important;
        font-size: 12px !important;
    }

    .mx_AuthBody form .mx_Field {
        margin-bottom: 8px !important;
    }

    .mx_AuthBody form .mx_Field.mx_Field_input, 
    .mx_AuthBody form .mx_Field.mx_Field_select {
        height: 36px !important;
        min-height: 36px !important;
    }

    .mx_AuthBody form .mx_Field_input input, 
    .mx_AuthBody form .mx_Field_select select {
        height: 34px !important;
        padding-top: 2px !important;
        padding-bottom: 2px !important;
        font-size: 12px !important;
    }

    .mx_InteractiveAuthEntryComponents_passwordSection .mx_Field_input input {
        height: 30px !important;
    }

    .mx_AuthBody form .mx_Login_submit {
        height: 38px !important;
        margin-top: 4px !important;
        margin-bottom: 4px !important;
        padding: 6px !important;
    }
    
    .mx_AuthBody .mx_AuthBody_changeFlow {
        font-size: 11px !important;
    }

    .mx_Register_mainContent {
        width: 100% !important;
        max-width: 100% !important;
        -webkit-box-sizing: border-box !important;
                box-sizing: border-box !important;
    }

    .mx_Field.mx_Field_select {
        max-width: 140px !important;
    }

    .mx_Field_select select,
    select#mx_Field_2,
    select#mx_Field_6 {
        width: 100% !important;
        font-size: 11px !important;
    }

    .mx_ServerPicker_helpDialog .mx_Dialog_content,
    .mx_Dialog_border,
    .mx_ServerPickerDialog,
    .mx_EncryptionCard.mx_EncryptionCard_noBorder,
    .mx_InteractiveAuthEntryComponents_passwordSection {
        width: 100% !important;
        -webkit-box-sizing: border-box !important;
                box-sizing: border-box !important;
    }

    .mx_AuthBody_fieldRow:has(input[placeholder="Email (optional)"]) {
        display: -webkit-box !important;
        display: -ms-flexbox !important;
        display: flex !important;
        -ms-flex-wrap: wrap !important;
            flex-wrap: wrap !important;
        width: 100% !important;
        -ms-flex-preferred-size: 100% !important;
            flex-basis: 100% !important;
        row-gap: 10px !important;
    }

    .mx_AuthBody_fieldRow:has(input[placeholder="Email (optional)"])
        > .mx_Field:first-child {
        width: 100% !important;
        -webkit-box-flex: 0 !important;
            -ms-flex: 0 0 100% !important;
                flex: 0 0 100% !important;
        -ms-flex-preferred-size: 100% !important;
            flex-basis: 100% !important;
        max-width: 100% !important;
    }

    .mx_AuthBody_fieldRow:has(input[placeholder="Email (optional)"])
        > .mx_Field:last-child {
        width: 100% !important;
        -webkit-box-flex: 0 !important;
            -ms-flex: 0 0 100% !important;
                flex: 0 0 100% !important;
        -ms-flex-preferred-size: 100% !important;
            flex-basis: 100% !important;
        max-width: 100% !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
    }

    .mx_AuthBody_fieldRow:has(input[placeholder="Email (optional)"])
        > .mx_Field:last-child.mx_Field_select {
        max-width: 100% !important;
    }
}

/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVuZGxlcy81NTlkZWM1NzMzMjRlZjIzY2MyNi9jdXN0b21pemUuY3NzIiwibWFwcGluZ3MiOiI7OztBQW1CQTtJQWxCSSxXQUFXO0lBQ1gsWUFBWTtJQUNaLDRCQUE0QjtJQUM1QixtQkFBbUI7SUFDbkIsc0RBQXNEO0FBbUIxRDtJQWpCSTtRQUNJLG9EQUFvRDtJQUN4RDtJQUVBO1FBQ0ksY0FBYztRQUNkLGVBQWU7UUFDZixtQkFBbUI7UUFDbkIsc0NBQXNDO0lBQzFDO0lDaEJKO0lEcUJJLGtCQUFrQjtJQUNsQix3QkFBd0I7SUFDeEI7Q0N2Qko7O0FEMEJBO0lBekJJLFdBQVc7SUFDWCxZQUFZO0lBQ1osNEJBQTRCO0lBQzVCLG1CQUFtQjtJQUNuQixzREFBc0Q7QUF1QjFEOztBQXJCSTtRQUNJLG9EQUFvRDtJQUN4RDs7QUFFQTtRQUNJLGNBQWM7UUFDZCxlQUFlO1FBQ2YsbUJBQW1CO1FBQ25CLHNDQUFzQztJQUMxQzs7QUFjSjtJQUNJLGtCQUFrQjtBQUN0Qjs7QUFFQTtJQUNJLHVCQUF1QjtBQUMzQjs7QUFFQTtJQUNJLFVBQVU7QUFDZDs7QUFFQTtJQUNJO1FBQ0ksV0FBVztJQVVmOztRQVJJO1lBQ0ksdUJBQTJCO2dCQUEzQixvQkFBMkI7b0JBQTNCLDJCQUEyQjtRQU0vQjs7WUFKSTtnQkFDSSxZQUFZO2dCQUNaLGlCQUFpQjtZQUNyQjtBQUdaOztBQUVBO1FBRVE7WUFDSSw0QkFBc0I7WUFBdEIsNkJBQXNCO2dCQUF0QiwwQkFBc0I7b0JBQXRCLHNCQUFzQjtRQUMxQjtBQUVSOztBRS9EQTtJQUNJO1FBQ0kscUJBQXFCO1FBQ3JCLHNCQUFzQjtJQVMxQjs7UUFQSTtZQUNJLFdBQVc7UUFLZjs7WUFISTtnQkFDSSxXQUFXO1lBQ2Y7QUFHWjs7QUFFQTtJQUNJO1FBQ0ksc0JBQXNCO0lBaUIxQjtnQkFiWTtvQkFDSSxjQUFjO2dCQUNsQjs7WUFHSjtnQkFDSSw0QkFBNEI7WUFLaEM7O2dCQUhJO29CQUNJLFVBQVU7Z0JBQ2Q7QUFJaEI7O0FBRUE7SUFDSTtRQUNJLG9CQUFvQjtJQUN4QjtBQUNKOztBQUVBO0lBQ0k7UUFDSSxtQkFBbUI7SUFDdkI7QUFDSjs7QUMvQ0E7SUFDSTtRQUNJLFdBQVc7SUFDZjtBQUNKOztBQ0pBO0lBQ0k7UUFDSSxrQkFBa0I7SUFDdEI7QUFDSjs7QUNBQSx1RkFBdUY7O0FBQ3ZGLHFEQUFxRDs7QUNMckQ7SUFDSTtRQUNJLFdBQVc7SUFLZjs7UUFISTtZQUNJLHNCQUFzQjtRQUMxQjtBQUVSOztBQ1JBO0lBQ0k7UUFDSSxXQUFXO0lBQ2Y7QUFDSjs7QUNKQTtZQUdZO2dCQUNJLGlCQUFpQjtZQUNyQjtBQUdaOztBQ1JBO0lBQ0k7UUFDSSxXQUFXO0lBQ2Y7QUFDSjs7QUNGUTtZQUNJLGdCQUFnQjtZQUNoQix3Q0FBd0M7WUFDeEMsdUJBQW1CO2dCQUFuQixtQkFBbUI7UUFDdkI7O0FBQ0E7WUFDSSxrQ0FBa0M7UUFDdEM7O0FBSVI7SUFDSTtRQUNJLFdBQVc7SUFXZjtZQVJRO2dCQUNJLHFCQUFxQjtZQUN6Qjs7WUFFQTtnQkFDSSxhQUFhO1lBQ2pCO0FBR1o7O0FBRUE7UUFFUTtZQUNJLDBCQUEwQjtRQUM5QjtBQUVSOztBQ25DQTtZQUdZO2dCQUNJLFdBQVc7WUFDZjtBQUdaOztBQ1JBO0lBQ0k7UUFDSSxXQUFXO0lBb0JmOztRQWxCSTtZQUNJLFVBQVU7UUFnQmQ7O1lBZEk7Z0JBQ0ksVUFBVTtnQkFDVixlQUFlO1lBQ25COztZQUVBO2dCQUNJLGdCQUFnQjtZQU9wQjs7Z0JBTEk7b0JBQ0ksWUFBWTtvQkFDWixjQUFjO29CQUNkLGdCQUFnQjtnQkFDcEI7QUFJaEI7O0FBRUE7UUFFUTtZQUNJLFVBQVU7UUFLZDs7WUFISTtnQkFDSSxVQUFVO1lBQ2Q7QUFHWjs7QUFFQTtJQUNJO1FBQ0ksV0FBVztJQUNmO0FBQ0o7O0FDekNBO0lBQ0k7UUFDSSxXQUFXO0lBS2Y7O1FBSEk7WUFDSSxrQkFBa0I7UUFDdEI7QUFFUjs7QUFFQTtRQUVRO1lBQ0ksZ0JBQWdCO1FBQ3BCO0FBRVI7O0FBRUE7SUFDSTtRQUNJLFVBQVU7UUFDVix1QkFBdUI7UUFDdkIscUJBQXFCO0lBQ3pCO0FBQ0o7O0FBRUE7SUFDSTtRQUNJLFdBQVc7SUFvQmY7O1FBbEJJO1lBQ0ksVUFBVTtRQWdCZDs7WUFkSTtnQkFDSSxVQUFVO2dCQUNWLGVBQWU7WUFDbkI7O1lBRUE7Z0JBQ0ksZ0JBQWdCO1lBT3BCOztnQkFMSTtvQkFDSSxZQUFZO29CQUNaLGNBQWM7b0JBQ2QsZ0JBQWdCO2dCQUNwQjtBQUloQjs7QUFFQTtRQUVRO1lBQ0ksVUFBVTtRQUtkOztZQUhJO2dCQUNJLFVBQVU7WUFDZDtBQUdaOztBQUVBO0lBQ0k7UUFDSSxXQUFXO0lBQ2Y7QUFDSjs7QUNuRUE7SUFDSTtRQUNJLG1CQUFtQjtJQUN2QjtBQUNKOztBQ0RZO2dCQUNJLGlCQUFpQjtnQkFDakIsZ0JBQWdCO1lBQ3BCOztBQUtaO1FBTVE7WUFDSTtRQUNKO0FBRVI7O0FBRUE7UUFFUTtZQUNJLFVBQVU7UUFDZDtZQUdJO2dCQUNJLFdBQVc7WUFDZjtBQUdaOztBQUVBO0lBQ0k7UUFDSSxpQkFBaUI7SUFDckI7QUFDSjs7QUFFQTtnQkFJZ0I7b0JBQ0ksV0FBVztnQkFDZjtBQUloQjs7QUFFQTtRQUVRO1lBQ0ksNEJBQTRCO1FBS2hDOztZQUhJO2dCQUNJLFVBQVU7WUFDZDtZQU1BO2dCQUNJLGlCQUFpQjtZQUNyQjtBQUdaOztBQUVBO2dCQUlnQjtvQkFDSSxnQkFBZ0I7Z0JBQ3BCO0FBSWhCOztBQ3JGQTtRQUVRO1lBQ0ksV0FBVztRQUNmO0FBRVI7O0FDTkE7SUFDSTtRQUNJLGtCQUFrQjtJQUN0Qjs7QUFFSjs7QUNKSTtRQUNJLG1CQUFtQjtJQUN2Qjs7QUFHSjtJQUNJO1FBQ0kscUJBQXFCO0lBQ3pCO0FBQ0o7O0FBRUE7UUFFUTtZQUNJLGtCQUFrQjtRQUN0Qjs7UUFFQTtZQUNJLGlCQUFpQjtRQUtyQjs7WUFISTtnQkFDSTtZQUNKO0FBR1o7O0FBRUE7SUFDSTtRQUNJLGlCQUFpQjtRQUNqQixrQkFBa0I7SUFLdEI7O1FBSEk7WUFDSSxlQUFlO1FBQ25COztJQUdKO1FBQ0ksZUFBZTtJQUNuQjs7SUFFQTtRQUNJLGVBQWU7SUFDbkI7WUFJUTtnQkFDSSxlQUFlO1lBQ25CO1lBTUE7Z0JBQ0ksZUFBZTtZQUNuQjtRQUtKO1lBQ0ksV0FBVztRQUtmOztZQUhJO2dCQUNJLGVBQWU7WUFDbkI7O0lBSVI7UUFDSSxpQkFBaUI7UUFDakIsa0JBQWtCO0lBQ3RCOztJQUVBO1FBQ0ksaUJBQWlCO1FBQ2pCLGtCQUFrQjtJQUN0QjtBQUNKOztBQUVBO0lBQ0k7UUFDSSw0QkFBNEI7SUFDaEM7QUFDSjs7QUFFQTtJQUNJO1FBQ0ksa0JBQWtCO0lBU3RCO2dCQUxZO29CQUNJLGlCQUFpQjtnQkFDckI7UUFPUjtZQUNJLGlCQUFpQjtRQUNyQjtBQUVSOztBQzVHQTtJQUNJO1FBQ0ksV0FBVztJQUNmO0FBQ0o7O0FDSkE7UUFFUTtZQUNJLFlBQVk7WUFDWixpQkFBaUI7WUFDakIsYUFBYTtZQUNiLHFDQUFxQztRQVd6Qzs7WUFUSTtnQkFDSSwwQkFBMEI7Z0JBQzFCLGlCQUFpQjtZQUNyQjs7WUFFQTtnQkFDSSxtQkFBbUI7Z0JBQ25CLG1CQUFtQjtZQUN2QjtBQUdaOztBQUVBO1lBR1k7Z0JBQ0ksUUFBUTtZQUNaO0FBR1o7O0FDN0JBO2dCQUlnQjtvQkFDSSxpQkFBaUI7Z0JBQ3JCO0FBSWhCOztBQ1ZBO1lBR1k7Z0JBQ0ksUUFBUTtZQUNaO0FBR1o7O0FDUkE7WUFHWTtnQkFDSSxhQUFhO2dCQUNiLDhCQUE4QjtZQU1sQzs7Z0JBSkk7b0JBQ0ksY0FBYztvQkFDZCxpQkFBaUI7Z0JBQ3JCO1lBT0o7Z0JBQ0ksaUJBQWlCO2dCQUNqQixrQkFBa0I7WUFDdEI7QUFHWjs7QUFFQTtJQUNJO1FBQ0ksa0JBQWtCO0lBZ0J0Qjs7UUFkSTs7WUFFSSxhQUFhO1FBQ2pCOztRQUVBO1lBQ0ksV0FBVztRQU9mOztZQUxJO2dCQUNJLGVBQWU7Z0JBQ2YsWUFBWTtnQkFDWixXQUFXO1lBQ2Y7UUFLSjs7WUFFSSxlQUFlO1FBQ25CO0FBRVI7O0FDbERJO1FBQ0ksU0FBUztRQUNULFVBQVU7SUFLZDs7QUFISTtZQUNJLGFBQWE7UUFDakI7O0FBR0o7UUFDSSxVQUFVO0lBQ2Q7O0FBRUE7UUFDSSxVQUFVO1FBQ1YsU0FBUztJQUNiOztBQUdKO1FBRVE7WUFDSSxVQUFVO1lBQ1YsUUFBUTtZQUNSLGNBQWM7WUFDZCxZQUFZO1FBQ2hCO0FBRVI7O0FBRUE7UUFFUTtZQUNJLFVBQVU7UUFDZDtBQUVSOztBQ3JDQTtJQUNJO09BQ0csMEJBQTBCO0lBQzdCOztJQUVBO1FBQ0ksc0JBQXNCO1FBQ3RCLDBCQUEwQjtJQUM5QjtBQUNKOztBQ1RBO0lBQ0k7UUFDSSxrQkFBa0I7SUFDdEI7O0lBRUE7UUFDSSxXQUFXO0lBT2Y7WUFKUTtnQkFDSSxXQUFXO1lBQ2Y7QUFHWjs7QUNkQTtJQUNJO1FBQ0ksV0FBVztRQUNYLDRCQUFzQjtRQUF0Qiw2QkFBc0I7WUFBdEIsMEJBQXNCO2dCQUF0QixzQkFBc0I7SUFDMUI7O0lBRUE7UUFDSSxXQUFXO0lBQ2Y7O0lBRUE7UUFDSSxXQUFXO1FBQ1gsZ0JBQWdCO0lBQ3BCO0FBQ0o7O0FBRUE7SUFDSTtRQUNJLHlCQUF5QjtJQUM3QjtBQUNKOztBQ3BCQTtRQUVRO1lBQ0ksV0FBVztRQUNmO0FBRVI7O0FDTkE7SUFDSTtRQUNJLFdBQVc7SUFLZjs7UUFISTtZQUNJLGtCQUFrQjtRQUN0QjtBQUVSOztBQUVBO1FBRVE7WUFDSSxnQkFBZ0I7UUFDcEI7UUFJQTtZQUNJLDRCQUE4QjtZQUE5Qiw4QkFBOEI7Z0JBQTlCLGtDQUE4QjtvQkFBOUIsOEJBQThCO1FBS2xDOztZQUhJO2dCQUNJO1lBQ0o7QUFHWjs7QUFFQTtJQUNJO1FBQ0ksVUFBVTtRQUNWLHVCQUF1QjtRQUN2QixxQkFBcUI7SUFDekI7QUFDSjs7QUFFQTtJQUNJO1FBQ0ksV0FBVztJQXdCZjs7UUF0Qkk7WUFDSSxnQkFBZ0I7UUFDcEI7O1FBRUE7WUFDSSxVQUFVO1FBZ0JkOztZQWRJO2dCQUNJLFVBQVU7Z0JBQ1YsZUFBZTtZQUNuQjs7WUFFQTtnQkFDSSxnQkFBZ0I7WUFPcEI7O2dCQUxJO29CQUNJLFlBQVk7b0JBQ1osY0FBYztvQkFDZCxnQkFBZ0I7Z0JBQ3BCOztJQUtaO1FBQ0ksV0FBVztJQVNmOztRQVBJO1lBQ0ksY0FBYztRQUNsQjs7UUFFQTtZQUNJLGFBQWE7UUFDakI7O0lBR0o7UUFDSSxXQUFXO0lBV2Y7WUFSUTtnQkFDSSxXQUFXO1lBQ2Y7O1FBR0o7WUFDSSxjQUFjO1FBQ2xCOztJQUdKO1FBQ0ksV0FBVztJQUNmOztJQUVBO1FBQ0ksZUFBZTtJQUNuQjtBQUNKOztBQUVBO1FBRVE7WUFDSSxVQUFVO1FBS2Q7O1lBSEk7Z0JBQ0ksVUFBVTtZQUNkO0FBR1o7O0FBRUE7WUFHWTtnQkFDSSxXQUFXO1lBQ2Y7QUFHWjs7QUFFQTtJQUNJOztRQUVJLFdBQVc7SUFDZjtBQUNKOztBQUdBO1FBRVE7WUFDSSxZQUFZO1FBU2hCOztZQVBJO2dCQUNJLFlBQVk7WUFLaEI7O2dCQUhJO29CQUNJLGFBQWE7Z0JBQ2pCO0FBSWhCOztBQy9JQTtJQUNJO1FBQ0ksZUFBZTtJQUNuQjtBQUNKOztBQ0pBO0lBQ0k7Ozs7UUFJSSxXQUFXO0lBQ2Y7QUFDSjs7QUFFQTtnQkFPZ0I7b0JBQ0ksaUJBQWlCO2dCQUNyQjtBQUloQjs7QUFFQTtJQUNJOzs7O1FBSUksV0FBVztJQUNmO0FBQ0o7O0FDOUJJO1FBQ0ksa0JBQWtCO0lBS3RCOztBQUhJO1lBQ0ksaUJBQWlCO1FBQ3JCOztBQ05SO1FBRVE7WUFDSSxnQkFBZ0I7UUFDcEI7O1FBRUE7WUFDSSxVQUFVO1FBQ2Q7QUFFUjs7QUNWQTtRQUVRO1lBQ0ksbUJBQW1CO1FBT3ZCO2dCQUpRO29CQUNJLHVCQUF1QjtnQkFDM0I7QUFJaEI7O0FDWkE7Ozs7OERBSThEOztBQUU5RDtJQUNJO1FBQ0ksb0JBQWE7UUFBYixvQkFBYTtRQUFiLGFBQWE7UUFDYiw0QkFBc0I7UUFBdEIsNkJBQXNCO1lBQXRCLDBCQUFzQjtnQkFBdEIsc0JBQXNCO1FBQ3RCLHlCQUFtQjtZQUFuQixzQkFBbUI7Z0JBQW5CLG1CQUFtQjtRQUNuQix3QkFBdUI7WUFBdkIscUJBQXVCO2dCQUF2Qix1QkFBdUI7UUFDdkIsOEJBQThCO1FBQzlCLHFCQUFxQjtJQUN6Qjs7SUFFQTtRQUNJLHNCQUFzQjtRQUN0Qix5QkFBeUI7UUFDekIsNkJBQTZCO1FBQzdCLHlDQUFpQztnQkFBakMsaUNBQWlDO0lBQ3JDOztJQUVBO1FBQ0ksdUJBQXVCO1FBQ3ZCLHdCQUF3QjtJQUM1Qjs7SUFFQTtRQUNJLHNCQUFzQjtJQUMxQjs7SUFFQTtRQUNJLCtCQUF3QjtRQUF4QiwrQkFBd0I7UUFBeEIsd0JBQXdCO1FBQ3hCLG1DQUFrQztZQUFsQyxnQ0FBa0M7Z0JBQWxDLGtDQUFrQztRQUNsQyxvQ0FBOEI7WUFBOUIsaUNBQThCO2dCQUE5Qiw4QkFBOEI7UUFDOUIsNkJBQTZCO1FBQzdCLHNCQUFzQjtRQUN0Qix5Q0FBaUM7Z0JBQWpDLGlDQUFpQztJQUNyQzs7SUFFQTtRQUNJLCtCQUF3QjtRQUF4QiwrQkFBd0I7UUFBeEIsd0JBQXdCO1FBQ3hCLHVDQUFpQztRQUFqQyx3Q0FBaUM7WUFBakMscUNBQWlDO2dCQUFqQyxpQ0FBaUM7UUFDakMsb0NBQThCO1lBQTlCLGlDQUE4QjtnQkFBOUIsOEJBQThCO1FBQzlCLG1DQUFrQztZQUFsQyxnQ0FBa0M7Z0JBQWxDLGtDQUFrQztRQUNsQyxzQkFBc0I7UUFDdEIsOEJBQThCO1FBQzlCLHlDQUFpQztnQkFBakMsaUNBQWlDO0lBQ3JDOztJQUVBO1FBQ0ksK0JBQXdCO1FBQXhCLCtCQUF3QjtRQUF4Qix3QkFBd0I7UUFDeEIsdUNBQWlDO1FBQWpDLHdDQUFpQztZQUFqQyxxQ0FBaUM7Z0JBQWpDLGlDQUFpQztRQUNqQyxvQ0FBOEI7WUFBOUIsaUNBQThCO2dCQUE5Qiw4QkFBOEI7UUFDOUIsbUNBQWtDO1lBQWxDLGdDQUFrQztnQkFBbEMsa0NBQWtDO1FBQ2xDLHNCQUFzQjtRQUN0QixrQ0FBa0M7UUFDbEMscUJBQXFCO0lBQ3pCOztJQUVBO1FBQ0ksdUJBQXVCO1FBQ3ZCLHdCQUF3QjtJQUM1Qjs7SUFFQTtRQUNJLCtCQUF3QjtRQUF4QiwrQkFBd0I7UUFBeEIsd0JBQXdCO1FBQ3hCLHVDQUFpQztRQUFqQyx3Q0FBaUM7WUFBakMscUNBQWlDO2dCQUFqQyxpQ0FBaUM7UUFDakMsb0NBQThCO1lBQTlCLGlDQUE4QjtnQkFBOUIsOEJBQThCO1FBQzlCLG1DQUFrQztZQUFsQyxnQ0FBa0M7Z0JBQWxDLGtDQUFrQztJQUN0Qzs7SUFFQTtRQUNJLHNCQUFzQjtRQUN0Qiw2QkFBNkI7UUFDN0IsdUJBQXVCO1FBQ3ZCLHdCQUF3QjtRQUN4Qix5Q0FBaUM7Z0JBQWpDLGlDQUFpQztJQUNyQzs7SUFFQTtRQUNJLHNCQUFzQjtRQUN0QiwyQkFBMkI7UUFDM0IsOEJBQThCO1FBQzlCLDRCQUE0QjtRQUM1Qix5Q0FBaUM7Z0JBQWpDLGlDQUFpQztJQUNyQzs7SUFFQTtRQUNJLHNCQUFzQjtRQUN0QiwwQkFBMEI7UUFDMUIseUNBQWlDO2dCQUFqQyxpQ0FBaUM7SUFDckM7O0lBRUE7UUFDSSwyQkFBMkI7SUFDL0I7O0lBRUE7OztRQUdJLHNCQUFzQjtRQUN0QiwwQkFBMEI7SUFDOUI7O0lBRUE7Ozs7O1FBS0ksc0JBQXNCO1FBQ3RCLHlDQUFpQztnQkFBakMsaUNBQWlDO0lBQ3JDOztJQUVBO1FBQ0ksK0JBQXdCO1FBQXhCLCtCQUF3QjtRQUF4Qix3QkFBd0I7UUFDeEIsOEJBQTBCO1lBQTFCLDBCQUEwQjtRQUMxQixzQkFBc0I7UUFDdEIsd0NBQTJCO1lBQTNCLDJCQUEyQjtRQUMzQix3QkFBd0I7SUFDNUI7O0lBRUE7O1FBRUksc0JBQXNCO1FBQ3RCLDhCQUF5QjtZQUF6Qiw2QkFBeUI7Z0JBQXpCLHlCQUF5QjtRQUN6Qix3Q0FBMkI7WUFBM0IsMkJBQTJCO1FBQzNCLDBCQUEwQjtJQUM5Qjs7SUFFQTs7UUFFSSxzQkFBc0I7UUFDdEIsOEJBQXlCO1lBQXpCLDZCQUF5QjtnQkFBekIseUJBQXlCO1FBQ3pCLHdDQUEyQjtZQUEzQiwyQkFBMkI7UUFDM0IsMEJBQTBCO1FBQzFCLHlCQUF5QjtRQUN6QiwwQkFBMEI7SUFDOUI7O0lBRUE7O1FBRUksMEJBQTBCO0lBQzlCO0FBQ0o7O0FBR0E7Ozs7OERBSThEOztBQUU5RDtJQUNJO1FBQ0ksb0JBQWE7UUFBYixvQkFBYTtRQUFiLGFBQWE7UUFDYiw0QkFBc0I7UUFBdEIsNkJBQXNCO1lBQXRCLDBCQUFzQjtnQkFBdEIsc0JBQXNCO1FBQ3RCLHlCQUFtQjtZQUFuQixzQkFBbUI7Z0JBQW5CLG1CQUFtQjtRQUNuQix3QkFBdUI7WUFBdkIscUJBQXVCO2dCQUF2Qix1QkFBdUI7UUFDdkIsOEJBQThCO1FBQzlCLHFCQUFxQjtJQUN6Qjs7SUFFQTtRQUNJLHNCQUFzQjtRQUN0Qix5QkFBeUI7UUFDekIsNEJBQTRCO1FBQzVCLHlDQUFpQztnQkFBakMsaUNBQWlDO0lBQ3JDOztJQUVBO1FBQ0ksc0JBQXNCO1FBQ3RCLHVCQUF1QjtJQUMzQjs7SUFFQTtRQUNJLHNCQUFzQjtJQUMxQjs7SUFFQTtRQUNJLDBCQUEwQjtJQUM5Qjs7SUFFQTtRQUNJLCtCQUF3QjtRQUF4QiwrQkFBd0I7UUFBeEIsd0JBQXdCO1FBQ3hCLG1DQUFrQztZQUFsQyxnQ0FBa0M7Z0JBQWxDLGtDQUFrQztRQUNsQyxvQ0FBOEI7WUFBOUIsaUNBQThCO2dCQUE5Qiw4QkFBOEI7UUFDOUIsNkJBQTZCO1FBQzdCLHNCQUFzQjtRQUN0Qix5Q0FBaUM7Z0JBQWpDLGlDQUFpQztRQUNqQyw0QkFBNEI7SUFDaEM7O0lBRUE7UUFDSSwrQkFBd0I7UUFBeEIsK0JBQXdCO1FBQXhCLHdCQUF3QjtRQUN4Qix1Q0FBaUM7UUFBakMsd0NBQWlDO1lBQWpDLHFDQUFpQztnQkFBakMsaUNBQWlDO1FBQ2pDLG9DQUE4QjtZQUE5QixpQ0FBOEI7Z0JBQTlCLDhCQUE4QjtRQUM5QixtQ0FBa0M7WUFBbEMsZ0NBQWtDO2dCQUFsQyxrQ0FBa0M7UUFDbEMsc0JBQXNCO1FBQ3RCLDhCQUE4QjtRQUM5Qix5Q0FBaUM7Z0JBQWpDLGlDQUFpQztJQUNyQzs7SUFFQTtRQUNJLCtCQUF3QjtRQUF4QiwrQkFBd0I7UUFBeEIsd0JBQXdCO1FBQ3hCLHVDQUFpQztRQUFqQyx3Q0FBaUM7WUFBakMscUNBQWlDO2dCQUFqQyxpQ0FBaUM7UUFDakMsb0NBQThCO1lBQTlCLGlDQUE4QjtnQkFBOUIsOEJBQThCO1FBQzlCLG1DQUFrQztZQUFsQyxnQ0FBa0M7Z0JBQWxDLGtDQUFrQztRQUNsQyxzQkFBc0I7UUFDdEIsa0NBQWtDO1FBQ2xDLHFCQUFxQjtJQUN6Qjs7SUFFQTtRQUNJLHNCQUFzQjtRQUN0Qix1QkFBdUI7SUFDM0I7O0lBRUE7UUFDSSwrQkFBd0I7UUFBeEIsK0JBQXdCO1FBQXhCLHdCQUF3QjtRQUN4Qix1Q0FBaUM7UUFBakMsd0NBQWlDO1lBQWpDLHFDQUFpQztnQkFBakMsaUNBQWlDO1FBQ2pDLG9DQUE4QjtZQUE5QixpQ0FBOEI7Z0JBQTlCLDhCQUE4QjtRQUM5QixtQ0FBa0M7WUFBbEMsZ0NBQWtDO2dCQUFsQyxrQ0FBa0M7UUFDbEMsNkJBQTZCO0lBQ2pDOztJQUVBO1FBQ0ksc0JBQXNCO1FBQ3RCLDZCQUE2QjtRQUM3Qix1QkFBdUI7UUFDdkIsd0JBQXdCO1FBQ3hCLHlDQUFpQztnQkFBakMsaUNBQWlDO0lBQ3JDOztJQUVBO1FBQ0ksc0JBQXNCO1FBQ3RCLDJCQUEyQjtRQUMzQiw4QkFBOEI7UUFDOUIsNEJBQTRCO1FBQzVCLHlDQUFpQztnQkFBakMsaUNBQWlDO0lBQ3JDOztJQUVBO1FBQ0ksMEJBQTBCO1FBQzFCLDZCQUE2QjtRQUM3QiwwQkFBMEI7SUFDOUI7O0lBRUE7UUFDSSw2QkFBNkI7UUFDN0IsMEJBQTBCO0lBQzlCOztJQUVBO1FBQ0ksNkJBQTZCO0lBQ2pDOztJQUVBOztRQUVJLHVCQUF1QjtRQUN2QiwyQkFBMkI7SUFDL0I7O0lBRUE7O1FBRUksdUJBQXVCO1FBQ3ZCLDJCQUEyQjtRQUMzQiw4QkFBOEI7UUFDOUIsMEJBQTBCO0lBQzlCOztJQUVBO1FBQ0ksdUJBQXVCO0lBQzNCOztJQUVBO1FBQ0ksdUJBQXVCO1FBQ3ZCLDBCQUEwQjtRQUMxQiw2QkFBNkI7UUFDN0IsdUJBQXVCO0lBQzNCOztJQUVBO1FBQ0ksMEJBQTBCO0lBQzlCOztJQUVBO1FBQ0ksc0JBQXNCO1FBQ3RCLDBCQUEwQjtRQUMxQix5Q0FBaUM7Z0JBQWpDLGlDQUFpQztJQUNyQzs7SUFFQTtRQUNJLDJCQUEyQjtJQUMvQjs7SUFFQTs7O1FBR0ksc0JBQXNCO1FBQ3RCLDBCQUEwQjtJQUM5Qjs7SUFFQTs7Ozs7UUFLSSxzQkFBc0I7UUFDdEIseUNBQWlDO2dCQUFqQyxpQ0FBaUM7SUFDckM7O0lBRUE7UUFDSSwrQkFBd0I7UUFBeEIsK0JBQXdCO1FBQXhCLHdCQUF3QjtRQUN4Qiw4QkFBMEI7WUFBMUIsMEJBQTBCO1FBQzFCLHNCQUFzQjtRQUN0Qix3Q0FBMkI7WUFBM0IsMkJBQTJCO1FBQzNCLHdCQUF3QjtJQUM1Qjs7SUFFQTs7UUFFSSxzQkFBc0I7UUFDdEIsOEJBQXlCO1lBQXpCLDZCQUF5QjtnQkFBekIseUJBQXlCO1FBQ3pCLHdDQUEyQjtZQUEzQiwyQkFBMkI7UUFDM0IsMEJBQTBCO0lBQzlCOztJQUVBOztRQUVJLHNCQUFzQjtRQUN0Qiw4QkFBeUI7WUFBekIsNkJBQXlCO2dCQUF6Qix5QkFBeUI7UUFDekIsd0NBQTJCO1lBQTNCLDJCQUEyQjtRQUMzQiwwQkFBMEI7UUFDMUIseUJBQXlCO1FBQ3pCLDBCQUEwQjtJQUM5Qjs7SUFFQTs7UUFFSSwwQkFBMEI7SUFDOUI7O0lBRUE7UUFDSSx1QkFBdUI7SUFDM0I7QUFDSjs7QUFHQTs7Ozs4REFJOEQ7O0FBRTlEO0lBQ0k7UUFDSSxvQkFBYTtRQUFiLG9CQUFhO1FBQWIsYUFBYTtRQUNiLDRCQUFzQjtRQUF0Qiw2QkFBc0I7WUFBdEIsMEJBQXNCO2dCQUF0QixzQkFBc0I7UUFDdEIseUJBQW1CO1lBQW5CLHNCQUFtQjtnQkFBbkIsbUJBQW1CO1FBQ25CLHdCQUF1QjtZQUF2QixxQkFBdUI7Z0JBQXZCLHVCQUF1QjtRQUN2Qiw4QkFBOEI7UUFDOUIscUJBQXFCO0lBQ3pCOztJQUVBO1FBQ0ksc0JBQXNCO1FBQ3RCLHlCQUF5QjtRQUN6Qiw2QkFBNkI7UUFDN0IseUNBQWlDO2dCQUFqQyxpQ0FBaUM7SUFDckM7O0lBRUE7UUFDSSx1QkFBdUI7UUFDdkIsd0JBQXdCO0lBQzVCOztJQUVBO1FBQ0ksc0JBQXNCO0lBQzFCOztJQUVBO1FBQ0ksK0JBQXdCO1FBQXhCLCtCQUF3QjtRQUF4Qix3QkFBd0I7UUFDeEIsbUNBQWtDO1lBQWxDLGdDQUFrQztnQkFBbEMsa0NBQWtDO1FBQ2xDLG9DQUE4QjtZQUE5QixpQ0FBOEI7Z0JBQTlCLDhCQUE4QjtRQUM5Qiw0QkFBNEI7UUFDNUIsc0JBQXNCO1FBQ3RCLHlDQUFpQztnQkFBakMsaUNBQWlDO1FBQ2pDLDRCQUE0QjtJQUNoQzs7SUFFQTtRQUNJLCtCQUF3QjtRQUF4QiwrQkFBd0I7UUFBeEIsd0JBQXdCO1FBQ3hCLHVDQUFpQztRQUFqQyx3Q0FBaUM7WUFBakMscUNBQWlDO2dCQUFqQyxpQ0FBaUM7UUFDakMsb0NBQThCO1lBQTlCLGlDQUE4QjtnQkFBOUIsOEJBQThCO1FBQzlCLG1DQUFrQztZQUFsQyxnQ0FBa0M7Z0JBQWxDLGtDQUFrQztRQUNsQyxzQkFBc0I7UUFDdEIsOEJBQThCO1FBQzlCLHlDQUFpQztnQkFBakMsaUNBQWlDO0lBQ3JDOztJQUVBO1FBQ0ksK0JBQXdCO1FBQXhCLCtCQUF3QjtRQUF4Qix3QkFBd0I7UUFDeEIsdUNBQWlDO1FBQWpDLHdDQUFpQztZQUFqQyxxQ0FBaUM7Z0JBQWpDLGlDQUFpQztRQUNqQyxvQ0FBOEI7WUFBOUIsaUNBQThCO2dCQUE5Qiw4QkFBOEI7UUFDOUIsbUNBQWtDO1lBQWxDLGdDQUFrQztnQkFBbEMsa0NBQWtDO1FBQ2xDLHNCQUFzQjtRQUN0QixrQ0FBa0M7UUFDbEMscUJBQXFCO0lBQ3pCOztJQUVBO1FBQ0ksc0JBQXNCO1FBQ3RCLHVCQUF1QjtJQUMzQjs7SUFFQTtRQUNJLCtCQUF3QjtRQUF4QiwrQkFBd0I7UUFBeEIsd0JBQXdCO1FBQ3hCLHVDQUFpQztRQUFqQyx3Q0FBaUM7WUFBakMscUNBQWlDO2dCQUFqQyxpQ0FBaUM7UUFDakMsb0NBQThCO1lBQTlCLGlDQUE4QjtnQkFBOUIsOEJBQThCO1FBQzlCLG1DQUFrQztZQUFsQyxnQ0FBa0M7Z0JBQWxDLGtDQUFrQztRQUNsQyw2QkFBNkI7SUFDakM7O0lBRUE7UUFDSSxzQkFBc0I7UUFDdEIsNkJBQTZCO1FBQzdCLHVCQUF1QjtRQUN2Qix3QkFBd0I7UUFDeEIseUNBQWlDO2dCQUFqQyxpQ0FBaUM7SUFDckM7O0lBRUE7UUFDSSxzQkFBc0I7UUFDdEIsMkJBQTJCO1FBQzNCLDhCQUE4QjtRQUM5Qiw0QkFBNEI7UUFDNUIseUNBQWlDO2dCQUFqQyxpQ0FBaUM7SUFDckM7O0lBRUE7UUFDSSwwQkFBMEI7UUFDMUIsNkJBQTZCO1FBQzdCLDBCQUEwQjtJQUM5Qjs7SUFFQTtRQUNJLDZCQUE2QjtRQUM3QiwwQkFBMEI7SUFDOUI7O0lBRUE7UUFDSSw2QkFBNkI7SUFDakM7O0lBRUE7O1FBRUksdUJBQXVCO1FBQ3ZCLDJCQUEyQjtJQUMvQjs7SUFFQTs7UUFFSSx1QkFBdUI7UUFDdkIsMkJBQTJCO1FBQzNCLDhCQUE4QjtRQUM5QiwwQkFBMEI7SUFDOUI7O0lBRUE7UUFDSSx1QkFBdUI7SUFDM0I7O0lBRUE7UUFDSSx1QkFBdUI7UUFDdkIsMEJBQTBCO1FBQzFCLDZCQUE2QjtRQUM3Qix1QkFBdUI7SUFDM0I7O0lBRUE7UUFDSSwwQkFBMEI7SUFDOUI7O0lBRUE7UUFDSSxzQkFBc0I7UUFDdEIsMEJBQTBCO1FBQzFCLHlDQUFpQztnQkFBakMsaUNBQWlDO0lBQ3JDOztJQUVBO1FBQ0ksMkJBQTJCO0lBQy9COztJQUVBOzs7UUFHSSxzQkFBc0I7UUFDdEIsMEJBQTBCO0lBQzlCOztJQUVBOzs7OztRQUtJLHNCQUFzQjtRQUN0Qix5Q0FBaUM7Z0JBQWpDLGlDQUFpQztJQUNyQzs7SUFFQTtRQUNJLCtCQUF3QjtRQUF4QiwrQkFBd0I7UUFBeEIsd0JBQXdCO1FBQ3hCLDhCQUEwQjtZQUExQiwwQkFBMEI7UUFDMUIsc0JBQXNCO1FBQ3RCLHdDQUEyQjtZQUEzQiwyQkFBMkI7UUFDM0Isd0JBQXdCO0lBQzVCOztJQUVBOztRQUVJLHNCQUFzQjtRQUN0Qiw4QkFBeUI7WUFBekIsNkJBQXlCO2dCQUF6Qix5QkFBeUI7UUFDekIsd0NBQTJCO1lBQTNCLDJCQUEyQjtRQUMzQiwwQkFBMEI7SUFDOUI7O0lBRUE7O1FBRUksc0JBQXNCO1FBQ3RCLDhCQUF5QjtZQUF6Qiw2QkFBeUI7Z0JBQXpCLHlCQUF5QjtRQUN6Qix3Q0FBMkI7WUFBM0IsMkJBQTJCO1FBQzNCLDBCQUEwQjtRQUMxQix5QkFBeUI7UUFDekIsMEJBQTBCO0lBQzlCOztJQUVBOztRQUVJLDBCQUEwQjtJQUM5QjtBQUNKOztBQUdBOzs7OzhEQUk4RDs7QUFFOUQ7SUFDSTtRQUNJLG9CQUFhO1FBQWIsb0JBQWE7UUFBYixhQUFhO1FBQ2IsNEJBQXNCO1FBQXRCLDZCQUFzQjtZQUF0QiwwQkFBc0I7Z0JBQXRCLHNCQUFzQjtRQUN0Qix5QkFBbUI7WUFBbkIsc0JBQW1CO2dCQUFuQixtQkFBbUI7UUFDbkIsd0JBQXVCO1lBQXZCLHFCQUF1QjtnQkFBdkIsdUJBQXVCO1FBQ3ZCLDhCQUE4QjtRQUM5QixxQkFBcUI7SUFDekI7O0lBRUE7UUFDSSxzQkFBc0I7UUFDdEIseUJBQXlCO1FBQ3pCLDZCQUE2QjtRQUM3Qix5Q0FBaUM7Z0JBQWpDLGlDQUFpQztJQUNyQzs7SUFFQTtRQUNJLHVCQUF1QjtRQUN2Qix3QkFBd0I7SUFDNUI7O0lBRUE7UUFDSSxzQkFBc0I7SUFDMUI7O0lBRUE7UUFDSSwrQkFBd0I7UUFBeEIsK0JBQXdCO1FBQXhCLHdCQUF3QjtRQUN4QixtQ0FBa0M7WUFBbEMsZ0NBQWtDO2dCQUFsQyxrQ0FBa0M7UUFDbEMsb0NBQThCO1lBQTlCLGlDQUE4QjtnQkFBOUIsOEJBQThCO1FBQzlCLDRCQUE0QjtRQUM1QixzQkFBc0I7UUFDdEIseUNBQWlDO2dCQUFqQyxpQ0FBaUM7UUFDakMsNEJBQTRCO0lBQ2hDOztJQUVBO1FBQ0ksK0JBQXdCO1FBQXhCLCtCQUF3QjtRQUF4Qix3QkFBd0I7UUFDeEIsdUNBQWlDO1FBQWpDLHdDQUFpQztZQUFqQyxxQ0FBaUM7Z0JBQWpDLGlDQUFpQztRQUNqQyxvQ0FBOEI7WUFBOUIsaUNBQThCO2dCQUE5Qiw4QkFBOEI7UUFDOUIsbUNBQWtDO1lBQWxDLGdDQUFrQztnQkFBbEMsa0NBQWtDO1FBQ2xDLHNCQUFzQjtRQUN0Qiw4QkFBOEI7UUFDOUIseUNBQWlDO2dCQUFqQyxpQ0FBaUM7SUFDckM7O0lBRUE7UUFDSSwrQkFBd0I7UUFBeEIsK0JBQXdCO1FBQXhCLHdCQUF3QjtRQUN4Qix1Q0FBaUM7UUFBakMsd0NBQWlDO1lBQWpDLHFDQUFpQztnQkFBakMsaUNBQWlDO1FBQ2pDLG9DQUE4QjtZQUE5QixpQ0FBOEI7Z0JBQTlCLDhCQUE4QjtRQUM5QixtQ0FBa0M7WUFBbEMsZ0NBQWtDO2dCQUFsQyxrQ0FBa0M7UUFDbEMsc0JBQXNCO1FBQ3RCLGtDQUFrQztRQUNsQyxxQkFBcUI7SUFDekI7O0lBRUE7UUFDSSxzQkFBc0I7UUFDdEIsdUJBQXVCO0lBQzNCOztJQUVBO1FBQ0ksK0JBQXdCO1FBQXhCLCtCQUF3QjtRQUF4Qix3QkFBd0I7UUFDeEIsdUNBQWlDO1FBQWpDLHdDQUFpQztZQUFqQyxxQ0FBaUM7Z0JBQWpDLGlDQUFpQztRQUNqQyxvQ0FBOEI7WUFBOUIsaUNBQThCO2dCQUE5Qiw4QkFBOEI7UUFDOUIsbUNBQWtDO1lBQWxDLGdDQUFrQztnQkFBbEMsa0NBQWtDO1FBQ2xDLDZCQUE2QjtJQUNqQzs7SUFFQTtRQUNJLHNCQUFzQjtRQUN0Qiw2QkFBNkI7UUFDN0IsdUJBQXVCO1FBQ3ZCLHdCQUF3QjtRQUN4Qix5Q0FBaUM7Z0JBQWpDLGlDQUFpQztJQUNyQzs7SUFFQTtRQUNJLHNCQUFzQjtRQUN0QiwyQkFBMkI7UUFDM0IsOEJBQThCO1FBQzlCLDRCQUE0QjtRQUM1Qix5Q0FBaUM7Z0JBQWpDLGlDQUFpQztJQUNyQzs7SUFFQTtRQUNJLDBCQUEwQjtRQUMxQiw2QkFBNkI7UUFDN0IsMEJBQTBCO0lBQzlCOztJQUVBO1FBQ0ksNkJBQTZCO1FBQzdCLDBCQUEwQjtJQUM5Qjs7SUFFQTtRQUNJLDZCQUE2QjtJQUNqQzs7SUFFQTs7UUFFSSx1QkFBdUI7UUFDdkIsMkJBQTJCO0lBQy9COztJQUVBOztRQUVJLHVCQUF1QjtRQUN2QiwyQkFBMkI7UUFDM0IsOEJBQThCO1FBQzlCLDBCQUEwQjtJQUM5Qjs7SUFFQTtRQUNJLHVCQUF1QjtJQUMzQjs7SUFFQTtRQUNJLHVCQUF1QjtRQUN2QiwwQkFBMEI7UUFDMUIsNkJBQTZCO1FBQzdCLHVCQUF1QjtJQUMzQjs7SUFFQTtRQUNJLDBCQUEwQjtJQUM5Qjs7SUFFQTtRQUNJLHNCQUFzQjtRQUN0QiwwQkFBMEI7UUFDMUIseUNBQWlDO2dCQUFqQyxpQ0FBaUM7SUFDckM7O0lBRUE7UUFDSSwyQkFBMkI7SUFDL0I7O0lBRUE7OztRQUdJLHNCQUFzQjtRQUN0QiwwQkFBMEI7SUFDOUI7O0lBRUE7Ozs7O1FBS0ksc0JBQXNCO1FBQ3RCLHlDQUFpQztnQkFBakMsaUNBQWlDO0lBQ3JDOztJQUVBO1FBQ0ksK0JBQXdCO1FBQXhCLCtCQUF3QjtRQUF4Qix3QkFBd0I7UUFDeEIsOEJBQTBCO1lBQTFCLDBCQUEwQjtRQUMxQixzQkFBc0I7UUFDdEIsd0NBQTJCO1lBQTNCLDJCQUEyQjtRQUMzQix3QkFBd0I7SUFDNUI7O0lBRUE7O1FBRUksc0JBQXNCO1FBQ3RCLDhCQUF5QjtZQUF6Qiw2QkFBeUI7Z0JBQXpCLHlCQUF5QjtRQUN6Qix3Q0FBMkI7WUFBM0IsMkJBQTJCO1FBQzNCLDBCQUEwQjtJQUM5Qjs7SUFFQTs7UUFFSSxzQkFBc0I7UUFDdEIsOEJBQXlCO1lBQXpCLDZCQUF5QjtnQkFBekIseUJBQXlCO1FBQ3pCLHdDQUEyQjtZQUEzQiwyQkFBMkI7UUFDM0IsMEJBQTBCO1FBQzFCLHlCQUF5QjtRQUN6QiwwQkFBMEI7SUFDOUI7O0lBRUE7O1FBRUksMEJBQTBCO0lBQzlCO0FBQ0osQyIsInNvdXJjZXMiOlsid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy9jdXN0b21pemUvY29tbW9uLnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvPG5vIHNvdXJjZT4iLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL2N1c3RvbWl6ZS9zcGFjZV9wYW5lbC9TcGFjZUNyZWF0ZU1lbnUucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3MvY3VzdG9taXplL3NwYWNlX3BhbmVsL0NyZWF0ZVN1YnNwYWNlRGlhbG9nLnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL2N1c3RvbWl6ZS9zcGFjZV9wYW5lbC9Vc2VyTWVudS5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy9jdXN0b21pemUvY3VzdG9taXplLnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL2N1c3RvbWl6ZS9sZWZ0X3BhbmVsL0NyZWF0ZVJvb21EaWFsb2cucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3MvY3VzdG9taXplL2xlZnRfcGFuZWwvQWRkRXhpc3RpbmdSb29tRGlhbG9nLnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL2N1c3RvbWl6ZS9sZWZ0X3BhbmVsL0NyZWF0ZVNlY3Rpb25EaWFsb2cucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3MvY3VzdG9taXplL2xlZnRfcGFuZWwvTmV0d29ya0Ryb3Bkb3duRGlhbG9nLnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL2N1c3RvbWl6ZS9sZWZ0X3BhbmVsL1Nwb3RsaWdodERpYWxvZy5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy9jdXN0b21pemUvbGVmdF9wYW5lbC9TcGFjZVB1YmxpY1NoYXJlRGlhbG9nLnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL2N1c3RvbWl6ZS9sZWZ0X3BhbmVsL1NwYWNlUHJlZmVyZW5jZXNEaWFsb2cucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3MvY3VzdG9taXplL2xlZnRfcGFuZWwvU3BhY2VTZXR0aW5nc0RpYWxvZy5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy9jdXN0b21pemUvbGVmdF9wYW5lbC9Sb29tTGlzdFBhbmVsLnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL2N1c3RvbWl6ZS9tZXNzYWdlX3BhbmVsL1NwYWNlUm9vbVZpZXcucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3MvY3VzdG9taXplL21lc3NhZ2VfcGFuZWwvUm9vbVZpZXcucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3MvY3VzdG9taXplL21lc3NhZ2VfcGFuZWwvUm9vbUhlYWRlci5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy9jdXN0b21pemUvbWVzc2FnZV9wYW5lbC9Sb29tVmlld0JvZHkucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3MvY3VzdG9taXplL21lc3NhZ2VfcGFuZWwvTG9jYXRpb25TaGFyZU1lbnUucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3MvY3VzdG9taXplL21lc3NhZ2VfcGFuZWwvSW1hZ2VWaWV3UGFuZWwucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3MvY3VzdG9taXplL21lc3NhZ2VfcGFuZWwvUG9sbENyZWF0ZURpYWxvZy5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy9jdXN0b21pemUvbWVzc2FnZV9wYW5lbC9MZWdhY3lDYWxsVmlldy5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy9jdXN0b21pemUvbWVzc2FnZV9wYW5lbC9NZXNzYWdlQ29tcG9zZXIucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3MvY3VzdG9taXplL21lc3NhZ2VfcGFuZWwvQmVhY29uVmlld0RpYWxvZy5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy9jdXN0b21pemUvcmlnaHRfcGFuZWwvTWFpbi5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy9jdXN0b21pemUvcmlnaHRfcGFuZWwvRXhwb3J0RGlhbG9nLnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL2N1c3RvbWl6ZS9yaWdodF9wYW5lbC9JbnZpdGVEaWFsb2cucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3MvY3VzdG9taXplL3JpZ2h0X3BhbmVsL1JlcG9ydEV2ZW50RGlhbG9nLnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL2N1c3RvbWl6ZS9yaWdodF9wYW5lbC9Sb29tU2V0dGluZ3NEaWFsb2cucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3MvY3VzdG9taXplL3JpZ2h0X3BhbmVsL1NoYXJlRGlhbG9nLnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL2N1c3RvbWl6ZS9yaWdodF9wYW5lbC9Vc2VySW5mb1ZpZXcucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3MvY3VzdG9taXplL3JpZ2h0X3BhbmVsL0ZpbGVQYW5lbC5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy9jdXN0b21pemUvcmlnaHRfcGFuZWwvUG9sbEhpc3RvcnlEaWFsb2cucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3MvY3VzdG9taXplL3JpZ2h0X3BhbmVsL1RocmVhZFZpZXcucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3MvY3VzdG9taXplL2F1dGhfcGFuZWwvQXV0aGVudGljYXRpb25QYW5lbC5wY3NzIl0sInNvdXJjZXNDb250ZW50IjpbIkBkZWZpbmUtbWl4aW4gY3VzdG9taXNlZEJhY2tCdXR0b24ge1xuICAgIHdpZHRoOiAyMHB4O1xuICAgIGhlaWdodDogMjBweDtcbiAgICBwYWRkaW5nOiB2YXIoLS1jcGQtc3BhY2UtMXgpO1xuICAgIGJvcmRlci1yYWRpdXM6IDE0cHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY3BkLWNvbG9yLWJnLXN1YnRsZS1zZWNvbmRhcnkpO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNwZC1jb2xvci1iZy1zdWJ0bGUtcHJpbWFyeSk7XG4gICAgfVxuXG4gICAgc3ZnIHtcbiAgICAgICAgd2lkdGg6IGluaGVyaXQ7XG4gICAgICAgIGhlaWdodDogaW5oZXJpdDtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICAgICAgY29sb3I6IHZhcigtLWNwZC1jb2xvci1pY29uLXNlY29uZGFyeSk7XG4gICAgfVxufVxuXG4ubXhfRGlhbG9nX2JhY2tCdXR0b24ge1xuICAgIEBtaXhpbiBjdXN0b21pc2VkQmFja0J1dHRvbjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiB2YXIoLS1jcGQtc3BhY2UtNHgpO1xuICAgIGxlZnQ6IHZhcigtLWNwZC1zcGFjZS00eCk7XG59XG5cbi5teF9Sb29tSGVhZGVyX2JhY2tCdXR0b24ge1xuICAgIEBtaXhpbiBjdXN0b21pc2VkQmFja0J1dHRvbjtcbn1cblxuLmhpZGVEaWFsb2dUaXRsZSAubXhfRGlhbG9nX2hlYWRlciAubXhfRGlhbG9nX3RpdGxlIHtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG59XG5cbi5teF9oaWRkZW4ge1xuICAgIGRpc3BsYXk6IG5vbmUhaW1wb3J0YW50O1xufVxuXG4ubXhfcGFkZGluZ196ZXJvIHtcbiAgICBwYWRkaW5nOiAwO1xufVxuXG5AbWVkaWEgKG1heC13aWR0aDogNTM1cHgpIHtcbiAgICAubXhfRGlhbG9nX2J1dHRvbnMge1xuICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICAubXhfRGlhbG9nX2J1dHRvbnNfcm93IHtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcblxuICAgICAgICAgICAgYnV0dG9uIHtcbiAgICAgICAgICAgICAgICBtaW4td2lkdGg6IDA7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogN3B4IDE2cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiAzNjBweCkge1xuICAgIC5teF9EaWFsb2dfYnV0dG9ucyB7XG4gICAgICAgIC5teF9EaWFsb2dfYnV0dG9uc19yb3cge1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgfVxuICAgIH1cbn0iLG51bGwsIkBtZWRpYSAobWF4LXdpZHRoOiA1NjBweCkge1xuICAgIC5teF9TcGFjZUNyZWF0ZU1lbnVfd3JhcHBlciB7XG4gICAgICAgIGxlZnQ6IDcycHggIWltcG9ydGFudDtcbiAgICAgICAgd2lkdGg6IDc5dncgIWltcG9ydGFudDtcblxuICAgICAgICAubXhfQ29udGV4dHVhbE1lbnUge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgICAgIC5teF9TcGFjZVBpbGxCdXR0b24ge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogMzYwcHgpIHtcbiAgICAubXhfU3BhY2VDcmVhdGVNZW51X3dyYXBwZXIge1xuICAgICAgICB3aWR0aDogNzV2dyAhaW1wb3J0YW50O1xuXG4gICAgICAgIC5teF9Db250ZXh0dWFsTWVudSB7XG4gICAgICAgICAgICAubXhfU3BhY2VCYXNpY1NldHRpbmdzIHtcbiAgICAgICAgICAgICAgICAubXhfRmllbGQge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDEycHggMDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5teF9TcGFjZVBpbGxCdXR0b24ge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDEwcHggMTJweCAxMHB4IDUycHg7XG5cbiAgICAgICAgICAgICAgICBzdmcge1xuICAgICAgICAgICAgICAgICAgICBsZWZ0OiAxMnB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuQG1lZGlhIChtYXgtaGVpZ2h0OiA3MDBweCkge1xuICAgIC5teF9TcGFjZUNyZWF0ZU1lbnVfd3JhcHBlciB7XG4gICAgICAgIHRvcDogNTBweCAhaW1wb3J0YW50O1xuICAgIH1cbn1cblxuQG1lZGlhIChtYXgtaGVpZ2h0OiA2MDBweCkge1xuICAgIC5teF9TcGFjZUNyZWF0ZU1lbnVfd3JhcHBlciB7XG4gICAgICAgIHRvcDogN3B4ICFpbXBvcnRhbnQ7XG4gICAgfVxufSIsIkBtZWRpYSAobWF4LXdpZHRoOiA2NDBweCkge1xuICAgIC5teF9DcmVhdGVTdWJzcGFjZURpYWxvZyB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbn0iLCJAbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAubXhfUHJvZmlsZURyYXdlciB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMTdweDtcbiAgICB9XG59IiwiQGltcG9ydCBcIi4vY29tbW9uLnBjc3NcIjtcbkBpbXBvcnQgXCIuL3NwYWNlX3BhbmVsL1NwYWNlQ3JlYXRlTWVudS5wY3NzXCI7XG5AaW1wb3J0IFwiLi9zcGFjZV9wYW5lbC9DcmVhdGVTdWJzcGFjZURpYWxvZy5wY3NzXCI7XG5AaW1wb3J0IFwiLi9zcGFjZV9wYW5lbC9Vc2VyTWVudS5wY3NzXCI7XG4vKiBTdHlsZXMgbGl2ZSBpbiB2aWV3cy9kaWFsb2dzL19Vc2VyU2V0dGluZ3NEaWFsb2cucGNzcyDigJQgdGhpcyBmaWxlIHdhcyBuZXZlciBhZGRlZC4gKi9cbi8qIEBpbXBvcnQgXCIuL3NwYWNlX3BhbmVsL1VzZXJTZXR0aW5nc0RpYWxvZy5wY3NzXCI7ICovXG5AaW1wb3J0IFwiLi9sZWZ0X3BhbmVsL0NyZWF0ZVJvb21EaWFsb2cucGNzc1wiO1xuQGltcG9ydCBcIi4vbGVmdF9wYW5lbC9BZGRFeGlzdGluZ1Jvb21EaWFsb2cucGNzc1wiO1xuQGltcG9ydCBcIi4vbGVmdF9wYW5lbC9DcmVhdGVTZWN0aW9uRGlhbG9nLnBjc3NcIjtcbkBpbXBvcnQgXCIuL2xlZnRfcGFuZWwvTmV0d29ya0Ryb3Bkb3duRGlhbG9nLnBjc3NcIjtcbkBpbXBvcnQgXCIuL2xlZnRfcGFuZWwvU3BvdGxpZ2h0RGlhbG9nLnBjc3NcIjtcbkBpbXBvcnQgXCIuL2xlZnRfcGFuZWwvU3BhY2VQdWJsaWNTaGFyZURpYWxvZy5wY3NzXCI7XG5AaW1wb3J0IFwiLi9sZWZ0X3BhbmVsL1NwYWNlUHJlZmVyZW5jZXNEaWFsb2cucGNzc1wiO1xuQGltcG9ydCBcIi4vbGVmdF9wYW5lbC9TcGFjZVNldHRpbmdzRGlhbG9nLnBjc3NcIjtcbkBpbXBvcnQgXCIuL2xlZnRfcGFuZWwvUm9vbUxpc3RQYW5lbC5wY3NzXCI7XG5AaW1wb3J0IFwiLi9tZXNzYWdlX3BhbmVsL1NwYWNlUm9vbVZpZXcucGNzc1wiO1xuQGltcG9ydCBcIi4vbWVzc2FnZV9wYW5lbC9Sb29tVmlldy5wY3NzXCI7XG5AaW1wb3J0IFwiLi9tZXNzYWdlX3BhbmVsL1Jvb21IZWFkZXIucGNzc1wiO1xuQGltcG9ydCBcIi4vbWVzc2FnZV9wYW5lbC9Sb29tVmlld0JvZHkucGNzc1wiO1xuQGltcG9ydCBcIi4vbWVzc2FnZV9wYW5lbC9Mb2NhdGlvblNoYXJlTWVudS5wY3NzXCI7XG5AaW1wb3J0IFwiLi9tZXNzYWdlX3BhbmVsL0ltYWdlVmlld1BhbmVsLnBjc3NcIjtcbkBpbXBvcnQgXCIuL21lc3NhZ2VfcGFuZWwvUG9sbENyZWF0ZURpYWxvZy5wY3NzXCI7XG5AaW1wb3J0IFwiLi9tZXNzYWdlX3BhbmVsL0xlZ2FjeUNhbGxWaWV3LnBjc3NcIjtcbkBpbXBvcnQgXCIuL21lc3NhZ2VfcGFuZWwvTWVzc2FnZUNvbXBvc2VyLnBjc3NcIjtcbkBpbXBvcnQgXCIuL21lc3NhZ2VfcGFuZWwvQmVhY29uVmlld0RpYWxvZy5wY3NzXCI7XG5AaW1wb3J0IFwiLi9yaWdodF9wYW5lbC9NYWluLnBjc3NcIjtcbkBpbXBvcnQgXCIuL3JpZ2h0X3BhbmVsL0V4cG9ydERpYWxvZy5wY3NzXCI7XG5AaW1wb3J0IFwiLi9yaWdodF9wYW5lbC9JbnZpdGVEaWFsb2cucGNzc1wiO1xuQGltcG9ydCBcIi4vcmlnaHRfcGFuZWwvUmVwb3J0RXZlbnREaWFsb2cucGNzc1wiO1xuQGltcG9ydCBcIi4vcmlnaHRfcGFuZWwvUm9vbVNldHRpbmdzRGlhbG9nLnBjc3NcIjtcbkBpbXBvcnQgXCIuL3JpZ2h0X3BhbmVsL1NoYXJlRGlhbG9nLnBjc3NcIjtcbkBpbXBvcnQgXCIuL3JpZ2h0X3BhbmVsL1VzZXJJbmZvVmlldy5wY3NzXCI7XG5AaW1wb3J0IFwiLi9yaWdodF9wYW5lbC9GaWxlUGFuZWwucGNzc1wiO1xuQGltcG9ydCBcIi4vcmlnaHRfcGFuZWwvUG9sbEhpc3RvcnlEaWFsb2cucGNzc1wiO1xuQGltcG9ydCBcIi4vcmlnaHRfcGFuZWwvVGhyZWFkVmlldy5wY3NzXCI7XG5AaW1wb3J0IFwiLi9hdXRoX3BhbmVsL0F1dGhlbnRpY2F0aW9uUGFuZWwucGNzc1wiOyIsIkBtZWRpYSAobWF4LXdpZHRoOiA1NjBweCkge1xuICAgIC5teF9DcmVhdGVSb29tRGlhbG9nIHtcbiAgICAgICAgd2lkdGg6IDYwdnc7XG5cbiAgICAgICAgI214X0pvaW5SdWxlRHJvcGRvd25fbGlzdGJveCB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgfVxufSIsIkBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgIC5teF9BZGRFeGlzdGluZ1RvU3BhY2VEaWFsb2cge1xuICAgICAgICB3aWR0aDogNzB2dztcbiAgICB9XG59IiwiQG1lZGlhIChtYXgtd2lkdGg6IDUzNXB4KSB7XG4gICAgLm14X0NyZWF0ZVNlY3Rpb25EaWFsb2cge1xuICAgICAgICAubXhfRGlhbG9nX2J1dHRvbnNfcm93IHtcbiAgICAgICAgICAgIGJ1dHRvbiB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogN3B4IDEycHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59IiwiQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgLm14X05ldHdvcmtEcm9wZG93bl9kaWFsb2cgLm14X0RpYWxvZyB7XG4gICAgICAgIHdpZHRoOiA4MHZ3O1xuICAgIH1cbn0iLCIubXhfU3BvdGxpZ2h0RGlhbG9nIHtcbiAgICAubXhfU3BvdGxpZ2h0RGlhbG9nX3JlY2VudGx5Vmlld2VkIHtcbiAgICAgICAgPiBkaXYge1xuICAgICAgICAgICAgb3ZlcmZsb3cteDogYXV0bztcbiAgICAgICAgICAgIHNjcm9sbGJhci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICB0b3VjaC1hY3Rpb246IHBhbi14O1xuICAgICAgICB9XG4gICAgICAgID4gZGl2OmhvdmVyIHtcbiAgICAgICAgICAgIHNjcm9sbGJhci1jb2xvcjogIzAwMDMgdHJhbnNwYXJlbnQ7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgIC5teF9TcG90bGlnaHREaWFsb2cge1xuICAgICAgICB3aWR0aDogOTB2dztcblxuICAgICAgICAubXhfU3BvdGxpZ2h0RGlhbG9nX3JlY2VudGx5Vmlld2VkIHtcbiAgICAgICAgICAgID4gZGl2IHtcbiAgICAgICAgICAgICAgICBzY3JvbGxiYXItd2lkdGg6IG5vbmU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgID4gZGl2Ojotd2Via2l0LXNjcm9sbGJhciB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDM2MHB4KSB7XG4gICAgLm14X1Nwb3RsaWdodERpYWxvZ193cmFwcGVyIHtcbiAgICAgICAgLm14X0RpYWxvZyB7XG4gICAgICAgICAgICBtaW4taGVpZ2h0OiA2NSUgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgIH1cbn0iLCJAbWVkaWEgKG1heC13aWR0aDogNTM1cHgpIHtcbiAgICAubXhfU3BhY2VQYW5lbF9zaGFyZVB1YmxpY1NwYWNlIHtcbiAgICAgICAgLm14X1NwYWNlUHVibGljU2hhcmUge1xuICAgICAgICAgICAgLm14X1NwYWNlUGlsbEJ1dHRvbiB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59IiwiQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgLm14X1NwYWNlUHJlZmVyZW5jZXNEaWFsb2cge1xuICAgICAgICB3aWR0aDogNzB2dztcblxuICAgICAgICAubXhfVGFiYmVkVmlld190YWJzT25MZWZ0IHtcbiAgICAgICAgICAgIHdpZHRoOiA4NSU7XG5cbiAgICAgICAgICAgIC5teF9UYWJiZWRWaWV3X3RhYkxhYmVscyB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDg1JTtcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5teF9UYWJiZWRWaWV3X3RhYlBhbmVsIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogN3B4O1xuXG4gICAgICAgICAgICAgICAgLm14X1NldHRpbmdzVGFiIHtcbiAgICAgICAgICAgICAgICAgICAgbWluLXdpZHRoOiAwO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA1MzVweCkge1xuICAgIC5teF9TcGFjZVByZWZlcmVuY2VzRGlhbG9nIHtcbiAgICAgICAgLm14X1RhYmJlZFZpZXdfdGFic09uTGVmdCB7XG4gICAgICAgICAgICB3aWR0aDogODAlO1xuXG4gICAgICAgICAgICAubXhfVGFiYmVkVmlld190YWJMYWJlbHMge1xuICAgICAgICAgICAgICAgIHdpZHRoOiA4MCU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiAzNjBweCkge1xuICAgIC5teF9TcGFjZVByZWZlcmVuY2VzRGlhbG9nIHtcbiAgICAgICAgd2lkdGg6IDY1dnc7XG4gICAgfVxufSIsIkBtZWRpYSAobWF4LXdpZHRoOiAxMDM1cHgpIHtcbiAgICAubXhfU3BhY2VTZXR0aW5nc0RpYWxvZyB7XG4gICAgICAgIHdpZHRoOiA4NXZ3O1xuXG4gICAgICAgIC5teF9BdXRvSGlkZVNjcm9sbGJhci5teF9UYWJiZWRWaWV3X3RhYlBhbmVsQ29udGVudCB7XG4gICAgICAgICAgICBvdmVyZmxvdy14OiBoaWRkZW47XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA4NDBweCkge1xuICAgIC5teF9TcGFjZVNldHRpbmdzRGlhbG9nIHtcbiAgICAgICAgLm14X1RhYmJlZFZpZXcgLm14X1NldHRpbmdzVGFiIHtcbiAgICAgICAgICAgIG1pbi13aWR0aDogNDkwcHg7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA4MjBweCkge1xuICAgIC5teF9TcGFjZVNldHRpbmdzRGlhbG9nIC5teF9BZHZhbmNlZFNldHRpbmdzQ29weWFibGVUZXh0IHtcbiAgICAgICAgd2lkdGg6IDkwJTtcbiAgICAgICAgb3ZlcmZsb3ctd3JhcDogYW55d2hlcmU7XG4gICAgICAgIHdvcmQtYnJlYWs6IGJyZWFrLWFsbDtcbiAgICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgIC5teF9TcGFjZVNldHRpbmdzRGlhbG9nIHtcbiAgICAgICAgd2lkdGg6IDcwdnc7XG5cbiAgICAgICAgLm14X1RhYmJlZFZpZXdfdGFic09uTGVmdCB7XG4gICAgICAgICAgICB3aWR0aDogODUlO1xuXG4gICAgICAgICAgICAubXhfVGFiYmVkVmlld190YWJMYWJlbHMge1xuICAgICAgICAgICAgICAgIHdpZHRoOiA4NSU7XG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiBub25lO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAubXhfVGFiYmVkVmlld190YWJQYW5lbCB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDdweDtcblxuICAgICAgICAgICAgICAgIC5teF9TZXR0aW5nc1RhYiB7XG4gICAgICAgICAgICAgICAgICAgIG1pbi13aWR0aDogMDtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogNTM1cHgpIHtcbiAgICAubXhfU3BhY2VTZXR0aW5nc0RpYWxvZyB7XG4gICAgICAgIC5teF9UYWJiZWRWaWV3X3RhYnNPbkxlZnQge1xuICAgICAgICAgICAgd2lkdGg6IDgwJTtcblxuICAgICAgICAgICAgLm14X1RhYmJlZFZpZXdfdGFiTGFiZWxzIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogODAlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogMzYwcHgpIHtcbiAgICAubXhfU3BhY2VTZXR0aW5nc0RpYWxvZyB7XG4gICAgICAgIHdpZHRoOiA2NXZ3O1xuICAgIH1cbn0iLCJAbWVkaWEgKG1heC13aWR0aDogMzYwcHgpIHtcbiAgICAubXhfUm9vbUxpc3RQcmltYXJ5RmlsdGVycyB7XG4gICAgICAgIGdhcDogM3B4ICFpbXBvcnRhbnQ7XG4gICAgfVxufSIsIi5teF9JbnZpdGVEaWFsb2dfb3RoZXIge1xuICAgIC5teF9JbnZpdGVEaWFsb2dfY29udGVudCB7XG4gICAgICAgIC5teF9JbnZpdGVEaWFsb2dfYWRkcmVzc0JhciB7XG4gICAgICAgICAgICAubXhfSW52aXRlRGlhbG9nX2VkaXRvciB7XG4gICAgICAgICAgICAgICAgbWF4LWhlaWdodDogMTQwcHg7XG4gICAgICAgICAgICAgICAgb3ZlcmZsb3c6IHNjcm9sbDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDE5MjBweCkge1xuICAgIC5teF9TcGFjZVNldHVwSW5pdGlhbFJvb21zLFxuICAgIC5teF9TcGFjZVJvb21WaWV3X3B1YmxpY1NoYXJlLFxuICAgIC5teF9TcGFjZVJvb21WaWV3X3ByaXZhdGVTY29wZSxcbiAgICAubXhfU3BhY2VSb29tVmlld19vbmx5TWUsXG4gICAgLm14X1NwYWNlUm9vbVZpZXdfaW52aXRlVGVhbW1hdGVzIHtcbiAgICAgICAgaDEsIC5teF9TcGFjZVJvb21WaWV3X2J1dHRvbnMsIC5teF9TcGFjZVBpbGxCdXR0b24ge1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDAlXG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgIC5teF9TcGFjZVJvb21WaWV3X2xhbmRpbmcge1xuICAgICAgICAmOmhhcyh+IC5teF9SaWdodFBhbmVsX1Jlc2l6ZVdyYXBwZXIpIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIH1cblxuICAgICAgICAubXhfU2VhcmNoQm94IHtcbiAgICAgICAgICAgIC5teF9TcGFjZUhpZXJhcmNoeV9zZWFyY2gge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogNTM1cHgpIHtcbiAgICAubXhfUm9vbVByZXZpZXdDYXJkIHtcbiAgICAgICAgbWFyZ2luOiBhdXRvIDIwcHg7XG4gICAgfVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogNDAwcHgpIHtcbiAgICAubXhfU3BhY2VSb29tVmlld19vbmx5TWUge1xuICAgICAgICAubXhfQWRkRXhpc3RpbmdUb1NwYWNlIHtcbiAgICAgICAgICAgIC5teF9TZWFyY2hCb3gge1xuICAgICAgICAgICAgICAgIC5teF90ZXh0aW5wdXRfc2VhcmNoIHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogMzYwcHgpIHtcbiAgICAubXhfU3BhY2VSb29tVmlld19wdWJsaWNTaGFyZSwgLm14X1NwYWNlUm9vbVZpZXdfcHJpdmF0ZVNjb3BlIHtcbiAgICAgICAgLm14X1NwYWNlUGlsbEJ1dHRvbiB7XG4gICAgICAgICAgICBwYWRkaW5nOiAxMHB4IDEycHggMTBweCA1MnB4O1xuXG4gICAgICAgICAgICBzdmcge1xuICAgICAgICAgICAgICAgIGxlZnQ6IDEycHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubXhfVW5rbm93bklkZW50aXR5VXNlcnNXYXJuaW5nRGlhbG9nIHtcbiAgICAgICAgLm14X1Vua25vd25JZGVudGl0eVVzZXJzV2FybmluZ0RpYWxvZ19idXR0b25zIHtcbiAgICAgICAgICAgIGJ1dHRvbiB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogN3B4IDEwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBtZWRpYSAobWF4LWhlaWdodDogNzAwcHgpIHtcbiAgICAubXhfSW52aXRlRGlhbG9nX290aGVyIHtcbiAgICAgICAgLm14X0ludml0ZURpYWxvZ19jb250ZW50IHtcbiAgICAgICAgICAgIC5teF9JbnZpdGVEaWFsb2dfYWRkcmVzc0JhciB7XG4gICAgICAgICAgICAgICAgLm14X0ludml0ZURpYWxvZ19lZGl0b3Ige1xuICAgICAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiA1NnB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn0iLCJAbWVkaWEgKG1heC13aWR0aDogODIwcHgpIHtcbiAgICAubXhfUm9vbVZpZXcge1xuICAgICAgICAubXhfUm9vbVByZXZpZXdCYXJfZGlhbG9nIHtcbiAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICB9XG4gICAgfVxufSIsIkBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgIC5teF9Sb29tSGVhZGVyX2luZm8ge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwcHg7XG4gICAgfVxuXG59IiwiLm14X05ld1Jvb21JbnRybyB7XG4gICAgLm14X0V2ZW50VGlsZUJ1YmJsZS5teF9jcnlwdG9FdmVudCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDUwcHg7XG4gICAgfVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogMTAwMHB4KSB7XG4gICAgLm14X0V2ZW50VGlsZVtkYXRhLWxheW91dD1cImJ1YmJsZVwiXVtkYXRhLXNlbGY9XCJmYWxzZVwiXSAubXhfTWVzc2FnZUFjdGlvbkJhciB7XG4gICAgICAgIGluc2V0LWlubGluZS1zdGFydDogMDtcbiAgICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA1NDBweCkge1xuICAgIC5teF9FdmVudFRpbGVbZGF0YS1sYXlvdXQ9Z3JvdXBdIHtcbiAgICAgICAgLm14X0V2ZW50VGlsZV9saW5lOm5vdCg6d2hlcmUoLm14X1RocmVhZFZpZXcgLm14X0V2ZW50VGlsZSAubXhfRXZlbnRUaWxlX2xpbmUpKSB7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDUwcHg7XG4gICAgICAgIH1cblxuICAgICAgICAubXhfRXZlbnRUaWxlX2xpbmU6aGFzKC5teF9FdmVudFRpbGVCdWJibGUpOm5vdCg6aGFzKC5teF9jcnlwdG9FdmVudCkpIHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiA2NHB4O1xuXG4gICAgICAgICAgICAubXhfRXZlbnRUaWxlQnViYmxlIHtcbiAgICAgICAgICAgICAgICBtaW4td2lkdGg6IDEwMCVcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDQ1MHB4KSB7XG4gICAgLm14X05ld1Jvb21JbnRybyB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAyMHB4O1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDIwcHg7XG5cbiAgICAgICAgLm14X0V2ZW50VGlsZUJ1YmJsZS5teF9jcnlwdG9FdmVudCB7XG4gICAgICAgICAgICBtaW4td2lkdGg6IDEwMCU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubXhfR2VuZXJpY0V2ZW50TGlzdFN1bW1hcnkge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgfVxuXG4gICAgLm14X0dlbmVyaWNFdmVudExpc3RTdW1tYXJ5X3RvZ2dsZSB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICB9XG5cbiAgICAubXhfRWRpdE1lc3NhZ2VDb21wb3NlciB7XG4gICAgICAgIC5teF9FZGl0TWVzc2FnZUNvbXBvc2VyX2J1dHRvbnMge1xuICAgICAgICAgICAgLm14X0FjY2Vzc2libGVCdXR0b24ge1xuICAgICAgICAgICAgICAgIG1pbi13aWR0aDogNzBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5teF9FdmVudFRpbGUge1xuICAgICAgICAubXhfRXZlbnRUaWxlX2xpbmUge1xuICAgICAgICAgICAgLm14X0xlZ2FjeUNhbGxFdmVudC5teF9MZWdhY3lDYWxsRXZlbnRfdm9pY2UubXhfTGVnYWN5Q2FsbEV2ZW50X25hcnJvdyB7XG4gICAgICAgICAgICAgICAgbWluLXdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm14X0V2ZW50VGlsZVtkYXRhLWxheW91dD1ncm91cF0ge1xuICAgICAgICAubXhfRXZlbnRUaWxlX2xpbmU6aGFzKC5teF9FdmVudFRpbGVCdWJibGUubXhfY3J5cHRvRXZlbnQpIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgXG4gICAgICAgICAgICAubXhfRXZlbnRUaWxlQnViYmxlLm14X2NyeXB0b0V2ZW50IHtcbiAgICAgICAgICAgICAgICBtaW4td2lkdGg6IDEwMCU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubXhfRXZlbnRUaWxlW2RhdGEtbGF5b3V0PWdyb3VwXTpoYXMoLm14X0V2ZW50VGlsZUJ1YmJsZS5teF9jcnlwdG9FdmVudCkge1xuICAgICAgICBtYXJnaW4tbGVmdDogMjBweDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xuICAgIH1cblxuICAgIC5teF9FdmVudFRpbGVbZGF0YS1sYXlvdXQ9YnViYmxlXTpoYXMoLm14X0V2ZW50VGlsZUJ1YmJsZS5teF9jcnlwdG9FdmVudCkge1xuICAgICAgICBtYXJnaW4tbGVmdDogMjBweDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xuICAgIH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDQxNXB4KSB7XG4gICAgLm14X1Bpbm5lZE1lc3NhZ2VCYW5uZXJfYWN0aW9ucyB7XG4gICAgICAgIHBhZGRpbmctaW5saW5lOiAwICFpbXBvcnRhbnQ7XG4gICAgfVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogMzYwcHgpIHtcbiAgICAubXhfTGVnYWN5Q2FsbEV2ZW50Lm14X0xlZ2FjeUNhbGxFdmVudF92b2ljZS5teF9MZWdhY3lDYWxsRXZlbnRfbmFycm93IHtcbiAgICAgICAgcGFkZGluZzogMTJweCAxMnB4O1xuXG4gICAgICAgIC5teF9MZWdhY3lDYWxsRXZlbnRfY29udGVudCB7XG4gICAgICAgICAgICAubXhfTGVnYWN5Q2FsbEV2ZW50X2NvbnRlbnRfYnV0dG9uIHtcbiAgICAgICAgICAgICAgICBzdmcge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDVweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBcbiAgICAubXhfRXZlbnRUaWxlX21lZGlhTGluZSB7XG4gICAgICAgIC5teF9NZXNzYWdlVGltZXN0YW1wOmhhcygrLm14X01Wb2ljZU1lc3NhZ2VCb2R5KXtcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgICAgICB9XG4gICAgfVxufSIsIkBtZWRpYSAobWF4LXdpZHRoOiA0MTBweCkge1xuICAgIC5teF9Mb2NhdGlvblNoYXJlTWVudSB7XG4gICAgICAgIHdpZHRoOiA5MHZ3O1xuICAgIH1cbn0iLCJAbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAubXhfSW1hZ2VWaWV3IHtcbiAgICAgICAgLm14X0ltYWdlVmlld19wYW5lbCB7XG4gICAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogMTBweDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgxLCAxZnIpO1xuXG4gICAgICAgICAgICAubXhfSW1hZ2VWaWV3X3RpdGxlIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiA1cHggMzJweCA1cHggNzdweDtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBzdGFydDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLm14X0ltYWdlVmlld190b29sYmFyIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAzMnB4O1xuICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiA1cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiAzNjBweCkge1xuICAgIC5teF9JbWFnZVZpZXcge1xuICAgICAgICAubXhfSW1hZ2VWaWV3X3BhbmVsIHtcbiAgICAgICAgICAgIC5teF9JbWFnZVZpZXdfdG9vbGJhciB7XG4gICAgICAgICAgICAgICAgZ2FwOiA2cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59IiwiQG1lZGlhIChtYXgtd2lkdGg6IDM2MHB4KSB7XG4gICAgLm14X1BvbGxDcmVhdGVEaWFsb2dfd3JhcHBlciB7XG4gICAgICAgIC5teF9Db21wb3VuZERpYWxvZyB7XG4gICAgICAgICAgICAubXhfQ29tcG91bmREaWFsb2dfZm9vdGVyIHtcbiAgICAgICAgICAgICAgICAubXhfQWNjZXNzaWJsZUJ1dHRvbiB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAxMnB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn0iLCJAbWVkaWEgKG1heC13aWR0aDogMzYwcHgpIHtcbiAgICAubXhfTGVnYWN5Q2FsbFZpZXdGb3JSb29tIHtcbiAgICAgICAgLm14X0xlZ2FjeUNhbGxWaWV3IHtcbiAgICAgICAgICAgIC5teF9MZWdhY3lDYWxsVmlld0J1dHRvbnMge1xuICAgICAgICAgICAgICAgIGdhcDogOHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufSIsIkBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgIC5teF9NZXNzYWdlQ29tcG9zZXJfd3JhcHBlciB7XG4gICAgICAgIC5teF9Vc2VySWRlbnRpdHlXYXJuaW5nIHtcbiAgICAgICAgICAgIC5teF9Vc2VySWRlbnRpdHlXYXJuaW5nX3JvdyB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDIwJSAxZnI7XG5cbiAgICAgICAgICAgICAgICBidXR0b24ge1xuICAgICAgICAgICAgICAgICAgICBncmlkLWNvbHVtbjogMjtcbiAgICAgICAgICAgICAgICAgICAganVzdGlmeS1zZWxmOiBlbmQ7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm14X1RocmVhZFZpZXcge1xuICAgICAgICAubXhfTWVzc2FnZUNvbXBvc2VyX3dyYXBwZXIge1xuICAgICAgICAgICAgLm14X1VzZXJJZGVudGl0eVdhcm5pbmcge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMTBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDU4MHB4KSB7XG4gICAgLm14X01lc3NhZ2VDb21wb3Nlcl93cmFwcGVyOmhhcygubXhfTWVzc2FnZUNvbXBvc2VyX2FjdGlvbnMgLm14X01lZGlhQm9keSkge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG5cbiAgICAgICAgLm14X0Jhc2ljTWVzc2FnZUNvbXBvc2VyLFxuICAgICAgICAubXhfTWVzc2FnZUNvbXBvc2VyX2UyZUljb25XcmFwcGVyIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICAubXhfTWVzc2FnZUNvbXBvc2VyX2FjdGlvbnMge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgICAgIC5teF9NZWRpYUJvZHkubXhfVm9pY2VNZXNzYWdlUHJpbWFyeUNvbnRhaW5lciB7XG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiBub25lO1xuICAgICAgICAgICAgICAgIG1pbi13aWR0aDogMDtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5teF9NZXNzYWdlQ29tcG9zZXJfd3JhcHBlcjpub3QoaGFzKC5teF9NZXNzYWdlQ29tcG9zZXJfYWN0aW9ucyAubXhfTWVkaWFCb2R5KSkge1xuICAgICAgICAubXhfQmFzaWNNZXNzYWdlQ29tcG9zZXIsXG4gICAgICAgIC5teF9NZXNzYWdlQ29tcG9zZXJfZTJlSWNvbldyYXBwZXIge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lO1xuICAgICAgICB9XG4gICAgfVxufSIsIi5teF9CZWFjb25WaWV3RGlhbG9nOmhhcygjbXhfTWFwX214X0JlYWNvblZpZXdEaWFsb2cpIHtcbiAgICAubWFwbGlicmVnbC1jdHJsLXRvcC1yaWdodCB7XG4gICAgICAgIHRvcDogNDBweDtcbiAgICAgICAgcmlnaHQ6IDVweDtcblxuICAgICAgICAubWFwbGlicmVnbC1jdHJsLWF0dHJpYi5tYXBsaWJyZWdsLWNvbXBhY3Qge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5teF9EaWFsb2dTaWRlYmFyIHtcbiAgICAgICAgei1pbmRleDogMztcbiAgICB9XG5cbiAgICAubXhfQmVhY29uVmlld0RpYWxvZ192aWV3TGlzdEJ1dHRvbiB7XG4gICAgICAgIHotaW5kZXg6IDM7XG4gICAgICAgIHRvcDogMTVweDtcbiAgICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA1MzVweCkge1xuICAgIC5teF9CZWFjb25WaWV3RGlhbG9nOmhhcygjbXhfTWFwX214X0JlYWNvblZpZXdEaWFsb2cpIHtcbiAgICAgICAgLm14X0RpYWxvZ093bkJlYWNvblN0YXR1cyB7XG4gICAgICAgICAgICB3aWR0aDogNzUlO1xuICAgICAgICAgICAgbGVmdDogMyU7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgICAgIGJvdHRvbTogMzZweDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDQzMHB4KSB7XG4gICAgLm14X0JlYWNvblZpZXdEaWFsb2c6aGFzKCNteF9NYXBfbXhfQmVhY29uVmlld0RpYWxvZykge1xuICAgICAgICAubXhfRGlhbG9nU2lkZWJhciB7XG4gICAgICAgICAgICB3aWR0aDogODAlO1xuICAgICAgICB9XG4gICAgfVxufSIsIkBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgICNyaWdodC1wYW5lbCB7XG4gICAgICAgbWluLXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLm14X1JpZ2h0UGFuZWxfUmVzaXplV3JhcHBlciB7XG4gICAgICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgICAgIG1heC13aWR0aDogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbn0iLCJAbWVkaWEgKG1heC13aWR0aDogNTM1cHgpIHtcbiAgICAubXhfRGlhbG9nOmhhcygubXhfRXhwb3J0RGlhbG9nKSB7XG4gICAgICAgIHBhZGRpbmc6IDIwcHggMjVweDtcbiAgICB9XG5cbiAgICAubXhfRXhwb3J0RGlhbG9nIHtcbiAgICAgICAgd2lkdGg6IDcwdnc7XG5cbiAgICAgICAgLm14X0V4cG9ydERpYWxvZ19vcHRpb25zIHtcbiAgICAgICAgICAgIC5teF9GaWVsZCB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59IiwiQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgLm14X0ludml0ZURpYWxvZ19hZGRyZXNzQmFyIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgfVxuXG4gICAgLm14X0ludml0ZURpYWxvZ19lZGl0b3Ige1xuICAgICAgICBtYXJnaW46IDJweDtcbiAgICB9XG5cbiAgICAubXhfSW52aXRlRGlhbG9nX2FkZHJlc3NCYXIgLm14X0FjY2Vzc2libGVCdXR0b24ge1xuICAgICAgICB3aWR0aDogODZweDtcbiAgICAgICAgbWFyZ2luOiAxMHB4IDJweDtcbiAgICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA0ODBweCkge1xuICAgIC5teF9Vbmtub3duSWRlbnRpdHlVc2Vyc1dhcm5pbmdEaWFsb2dfYnV0dG9ucyBidXR0b24ge1xuICAgICAgICBwYWRkaW5nLWlubGluZTogMTJweCAyMHB4O1xuICAgIH1cbn0iLCJAbWVkaWEgKG1heC13aWR0aDogNTM1cHgpIHtcbiAgICAjbXhfUmVwb3J0RXZlbnREaWFsb2cge1xuICAgICAgICAubXhfRGlhbG9nX2J1dHRvbnMge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cbiAgICB9XG59IiwiQG1lZGlhIChtYXgtd2lkdGg6IDEwMzVweCkge1xuICAgIC5teF9Sb29tU2V0dGluZ3NEaWFsb2cge1xuICAgICAgICB3aWR0aDogODV2dztcblxuICAgICAgICAubXhfQXV0b0hpZGVTY3JvbGxiYXIubXhfVGFiYmVkVmlld190YWJQYW5lbENvbnRlbnQge1xuICAgICAgICAgICAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogODQwcHgpIHtcbiAgICAubXhfUm9vbVNldHRpbmdzRGlhbG9nIHtcbiAgICAgICAgLm14X1RhYmJlZFZpZXcgLm14X1NldHRpbmdzVGFiIHtcbiAgICAgICAgICAgIG1pbi13aWR0aDogNDkwcHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubXhfUm9vbVByb2ZpbGVTZXR0aW5ncyB7XG4gICAgICAgIC5teF9Sb29tUHJvZmlsZVNldHRpbmdzX3Byb2ZpbGUge1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlO1xuXG4gICAgICAgICAgICAubXhfUm9vbVByb2ZpbGVTZXR0aW5nc19wcm9maWxlX2NvbnRyb2xzIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogODIwcHgpIHtcbiAgICAubXhfUm9vbVNldHRpbmdzRGlhbG9nIC5teF9BZHZhbmNlZFNldHRpbmdzQ29weWFibGVUZXh0IHtcbiAgICAgICAgd2lkdGg6IDkwJTtcbiAgICAgICAgb3ZlcmZsb3ctd3JhcDogYW55d2hlcmU7XG4gICAgICAgIHdvcmQtYnJlYWs6IGJyZWFrLWFsbDtcbiAgICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgIC5teF9Sb29tU2V0dGluZ3NEaWFsb2cge1xuICAgICAgICB3aWR0aDogNzB2dztcblxuICAgICAgICAubXhfRGlhbG9nX3RpdGxlIHtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICAgIH1cblxuICAgICAgICAubXhfVGFiYmVkVmlld190YWJzT25MZWZ0IHtcbiAgICAgICAgICAgIHdpZHRoOiA4NSU7XG5cbiAgICAgICAgICAgIC5teF9UYWJiZWRWaWV3X3RhYkxhYmVscyB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDg1JTtcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5teF9UYWJiZWRWaWV3X3RhYlBhbmVsIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogN3B4O1xuXG4gICAgICAgICAgICAgICAgLm14X1NldHRpbmdzVGFiIHtcbiAgICAgICAgICAgICAgICAgICAgbWluLXdpZHRoOiAwO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubXhfTm90aWZpY2F0aW9uU2V0dGluZ3NUYWJfbm90aWZpY2F0aW9uc1NlY3Rpb24ge1xuICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICAubXhfU3R5bGVkUmFkaW9CdXR0b25fY29udGVudCB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5teF9TdHlsZWRSYWRpb0J1dHRvbl9zcGFjZXIge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5teF9NYW5hZ2VSZXN0cmljdGVkSm9pblJ1bGVEaWFsb2cge1xuICAgICAgICB3aWR0aDogNjV2dztcblxuICAgICAgICAubXhfU2VhcmNoQm94IHtcbiAgICAgICAgICAgIGlucHV0IHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5teF9NYW5hZ2VSZXN0cmljdGVkSm9pblJ1bGVEaWFsb2dfZm9vdGVyX2J1dHRvbnMge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubXhfRm9yd2FyZERpYWxvZyB7XG4gICAgICAgIHdpZHRoOiA3MHZ3O1xuICAgIH1cblxuICAgIC5teF9VbnBpbkFsbERpYWxvZyB7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA1MzVweCkge1xuICAgIC5teF9Sb29tU2V0dGluZ3NEaWFsb2cge1xuICAgICAgICAubXhfVGFiYmVkVmlld190YWJzT25MZWZ0IHtcbiAgICAgICAgICAgIHdpZHRoOiA4MCU7XG5cbiAgICAgICAgICAgIC5teF9UYWJiZWRWaWV3X3RhYkxhYmVscyB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDgwJTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDQwMHB4KSB7XG4gICAgLm14X0ZvcndhcmREaWFsb2cgeyBcbiAgICAgICAgLm14X1NlYXJjaEJveCB7XG4gICAgICAgICAgICAubXhfdGV4dGlucHV0X3NlYXJjaCB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiAzNjBweCkge1xuICAgIC5teF9Sb29tU2V0dGluZ3NEaWFsb2csXG4gICAgLm14X0ZvcndhcmREaWFsb2cge1xuICAgICAgICB3aWR0aDogNjV2dztcbiAgICB9XG59XG5cblxuQG1lZGlhIChtYXgtaGVpZ2h0OiA4MDBweCkge1xuICAgIC5teF9NYW5hZ2VSZXN0cmljdGVkSm9pblJ1bGVEaWFsb2dfd3JhcHBlciAge1xuICAgICAgICAubXhfRGlhbG9nIHtcbiAgICAgICAgICAgIGhlaWdodDogODV2aDtcblxuICAgICAgICAgICAgLm14X01hbmFnZVJlc3RyaWN0ZWRKb2luUnVsZURpYWxvZyB7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuXG4gICAgICAgICAgICAgICAgLm14X01hbmFnZVJlc3RyaWN0ZWRKb2luUnVsZURpYWxvZ19mb290ZXIge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn0iLCJAbWVkaWEgKG1heC13aWR0aDogNTM1cHgpIHtcbiAgICAubXhfU2hhcmVEaWFsb2cge1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgfVxufSIsIkBtZWRpYSAobWF4LXdpZHRoOiA2MTBweCkge1xuICAgIC5teF9CdWxrUmVkYWN0RGlhbG9nLFxuICAgIC5teF9Vc2VySW5mb0tpY2tEaWFsb2csXG4gICAgLm14X1VzZXJJbmZvQmFuRGlhbG9nLFxuICAgIC5teF9Vc2VySW5mb0RlYWN0aXZhdGVEaWFsb2cge1xuICAgICAgICB3aWR0aDogNzB2dztcbiAgICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA1MzVweCkge1xuICAgIC5teF9CdWxrUmVkYWN0RGlhbG9nLFxuICAgIC5teF9Vc2VySW5mb0tpY2tEaWFsb2csXG4gICAgLm14X1VzZXJJbmZvQmFuRGlhbG9nLFxuICAgIC5teF9Vc2VySW5mb0RlYWN0aXZhdGVEaWFsb2cge1xuICAgICAgICAubXhfRGlhbG9nX2J1dHRvbnMge1xuICAgICAgICAgICAgLm14X0RpYWxvZ19idXR0b25zX3JvdyB7XG4gICAgICAgICAgICAgICAgYnV0dG9uIHtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogN3B4IDEwcHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogMzYwcHgpIHtcbiAgICAubXhfQnVsa1JlZGFjdERpYWxvZyxcbiAgICAubXhfVXNlckluZm9LaWNrRGlhbG9nLFxuICAgIC5teF9Vc2VySW5mb0JhbkRpYWxvZyxcbiAgICAubXhfVXNlckluZm9EZWFjdGl2YXRlRGlhbG9nIHtcbiAgICAgICAgd2lkdGg6IDY1dnc7XG4gICAgfVxufSIsIi5teF9GaWxlUGFuZWwge1xuICAgIC5teF9Sb29tVmlld19tZXNzYWdlUGFuZWwge1xuICAgICAgICBvdmVyZmxvdy14OiBoaWRkZW47XG5cbiAgICAgICAgLm14X1Jvb21WaWV3X2VtcHR5IHtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMHB4O1xuICAgICAgICB9XG4gICAgfVxufSIsIkBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgIC5teF9Qb2xsSGlzdG9yeUxpc3Qge1xuICAgICAgICAubXhfUG9sbEhpc3RvcnlMaXN0X2xpc3Qge1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5teF9Qb2xsSGlzdG9yeUxpc3Rfbm9SZXN1bHRzIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIH1cbiAgICB9XG59IiwiQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgLm14X1RocmVhZFZpZXcge1xuICAgICAgICAubXhfRXZlbnRUaWxlW2RhdGEtbGF5b3V0PVwiYnViYmxlXCJdIHtcbiAgICAgICAgICAgIG1hcmdpbi1pbmxpbmU6IDUwcHg7XG5cbiAgICAgICAgICAgIC5teF9FdmVudFRpbGVfbXNnT3B0aW9uIHtcbiAgICAgICAgICAgICAgICAubXhfUmVhZFJlY2VpcHRHcm91cCB7XG4gICAgICAgICAgICAgICAgICAgIGluc2V0LWlubGluZS1lbmQ6IC00MHB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn0iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIE5PUk1BTCBNT0JJTEUgKDM3NnB4IC0gNTk5cHgpXG4gICBUYXJnZXRpbmc6XG4gICAtIDQxNHB4IMOXIDg5NnB4IFBvcnRyYWl0XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMzc2cHgpIGFuZCAobWF4LXdpZHRoOiA1OTlweCkge1xuICAgIC5teF9XZWxjb21lIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIG1hcmdpbi1pbmxpbmU6IGF1dG8gIWltcG9ydGFudDtcbiAgICAgICAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC5teF9EZWZhdWx0V2VsY29tZSB7XG4gICAgICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvICFpbXBvcnRhbnQ7XG4gICAgICAgIHBhZGRpbmc6IDE4cHggMzZweCAhaW1wb3J0YW50O1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94ICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLm14X0RlZmF1bHRXZWxjb21lX2xvZ28gaW1nIHtcbiAgICAgICAgd2lkdGg6IDEwMHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIGhlaWdodDogMTAwcHggIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAubXhfRGVmYXVsdFdlbGNvbWVfYnV0dG9ucyBhIHtcbiAgICAgICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAubXhfQXV0aFBhZ2VfbW9kYWwge1xuICAgICAgICBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyICFpbXBvcnRhbnQ7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXIgIWltcG9ydGFudDtcbiAgICAgICAgcGFkZGluZzogMTBweCAyMHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3ggIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAubXhfQXV0aFBhZ2VfbW9kYWxDb250ZW50IHtcbiAgICAgICAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uICFpbXBvcnRhbnQ7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXIgIWltcG9ydGFudDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXIgIWltcG9ydGFudDtcbiAgICAgICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICAgICAgbWFyZ2luLWlubGluZTogYXV0byAhaW1wb3J0YW50O1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94ICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLm14X0F1dGhQYWdlX21vZGFsIC5teF9BdXRoSGVhZGVyTG9nbyB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXggIWltcG9ydGFudDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbiAhaW1wb3J0YW50O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyICFpbXBvcnRhbnQ7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyICFpbXBvcnRhbnQ7XG4gICAgICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvIDRweCBhdXRvICFpbXBvcnRhbnQ7XG4gICAgICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAubXhfQXV0aFBhZ2VfbW9kYWwgLm14X0F1dGhIZWFkZXJMb2dvIGltZyB7XG4gICAgICAgIHdpZHRoOiAxMDBweCAhaW1wb3J0YW50O1xuICAgICAgICBoZWlnaHQ6IDEwMHB4ICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLm14X0F1dGhQYWdlX21vZGFsIC5teF9BdXRoSGVhZGVyIHtcbiAgICAgICAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uICFpbXBvcnRhbnQ7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXIgIWltcG9ydGFudDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXIgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAubXhfQXV0aEJvZHlfZm9yZ290LXBhc3N3b3JkIHtcbiAgICAgICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICAgICAgcGFkZGluZzogMTJweCAyMnB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIGhlaWdodDogYXV0byAhaW1wb3J0YW50O1xuICAgICAgICBtaW4taGVpZ2h0OiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3ggIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAubXhfQXV0aEJvZHkge1xuICAgICAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgICAgICBtYXgtd2lkdGg6IDQyMHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIG1hcmdpbi1pbmxpbmU6IGF1dG8gIWltcG9ydGFudDtcbiAgICAgICAgcGFkZGluZzogNXB4IDI0cHggIWltcG9ydGFudDtcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveCAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC5teF9SZWdpc3Rlcl9tYWluQ29udGVudCB7XG4gICAgICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgICAgIG1heC13aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94ICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLm14X0ZpZWxkLm14X0ZpZWxkX3NlbGVjdCB7XG4gICAgICAgIG1heC13aWR0aDogMTQwcHggIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAubXhfRmllbGRfc2VsZWN0IHNlbGVjdCxcbiAgICBzZWxlY3QjbXhfRmllbGRfMixcbiAgICBzZWxlY3QjbXhfRmllbGRfNiB7XG4gICAgICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgICAgIGZvbnQtc2l6ZTogMTFweCAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC5teF9TZXJ2ZXJQaWNrZXJfaGVscERpYWxvZyAubXhfRGlhbG9nX2NvbnRlbnQsXG4gICAgLm14X0RpYWxvZ19ib3JkZXIsXG4gICAgLm14X1NlcnZlclBpY2tlckRpYWxvZyxcbiAgICAubXhfRW5jcnlwdGlvbkNhcmQubXhfRW5jcnlwdGlvbkNhcmRfbm9Cb3JkZXIsXG4gICAgLm14X0ludGVyYWN0aXZlQXV0aEVudHJ5Q29tcG9uZW50c19wYXNzd29yZFNlY3Rpb24ge1xuICAgICAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94ICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLm14X0F1dGhCb2R5X2ZpZWxkUm93OmhhcyhpbnB1dFtwbGFjZWhvbGRlcj1cIkVtYWlsIChvcHRpb25hbClcIl0pIHtcbiAgICAgICAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50O1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXAgIWltcG9ydGFudDtcbiAgICAgICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICAgICAgZmxleC1iYXNpczogMTAwJSAhaW1wb3J0YW50O1xuICAgICAgICByb3ctZ2FwOiAxMHB4ICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLm14X0F1dGhCb2R5X2ZpZWxkUm93OmhhcyhpbnB1dFtwbGFjZWhvbGRlcj1cIkVtYWlsIChvcHRpb25hbClcIl0pXG4gICAgICAgID4gLm14X0ZpZWxkOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICAgICAgZmxleDogMCAwIDEwMCUgIWltcG9ydGFudDtcbiAgICAgICAgZmxleC1iYXNpczogMTAwJSAhaW1wb3J0YW50O1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAubXhfQXV0aEJvZHlfZmllbGRSb3c6aGFzKGlucHV0W3BsYWNlaG9sZGVyPVwiRW1haWwgKG9wdGlvbmFsKVwiXSlcbiAgICAgICAgPiAubXhfRmllbGQ6bGFzdC1jaGlsZCB7XG4gICAgICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgICAgIGZsZXg6IDAgMCAxMDAlICFpbXBvcnRhbnQ7XG4gICAgICAgIGZsZXgtYmFzaXM6IDEwMCUgIWltcG9ydGFudDtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMCAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC5teF9BdXRoQm9keV9maWVsZFJvdzpoYXMoaW5wdXRbcGxhY2Vob2xkZXI9XCJFbWFpbCAob3B0aW9uYWwpXCJdKVxuICAgICAgICA+IC5teF9GaWVsZDpsYXN0LWNoaWxkLm14X0ZpZWxkX3NlbGVjdCB7XG4gICAgICAgIG1heC13aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgIH1cbn1cblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFNNQUxMIFBIT05FICgzMjBweCAtIDM3NXB4KVxuICAgVGFyZ2V0aW5nOlxuICAgLSAzMjBweCDDlyA1NjhweCBQb3J0cmFpdFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDMyMHB4KSBhbmQgKG1heC13aWR0aDogMzc1cHgpIHtcbiAgICAubXhfV2VsY29tZSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBtYXJnaW4taW5saW5lOiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAubXhfRGVmYXVsdFdlbGNvbWUge1xuICAgICAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgICAgICBtYXJnaW46IDAgYXV0byAhaW1wb3J0YW50O1xuICAgICAgICBwYWRkaW5nOiAycHggMzZweCAhaW1wb3J0YW50O1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94ICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLm14X0RlZmF1bHRXZWxjb21lX2xvZ28gaW1nIHtcbiAgICAgICAgd2lkdGg6IDYwcHggIWltcG9ydGFudDtcbiAgICAgICAgaGVpZ2h0OiA2MHB4ICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLm14X0RlZmF1bHRXZWxjb21lX2J1dHRvbnMgYSB7XG4gICAgICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLm14X0RlZmF1bHRXZWxjb21lIGgxIHtcbiAgICAgICAgZm9udC1zaXplOiAxNnB4ICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLm14X0F1dGhQYWdlX21vZGFsIHtcbiAgICAgICAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlciAhaW1wb3J0YW50O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyICFpbXBvcnRhbnQ7XG4gICAgICAgIHBhZGRpbmc6IDEwcHggMjBweCAhaW1wb3J0YW50O1xuICAgICAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94ICFpbXBvcnRhbnQ7XG4gICAgICAgIG1heC1oZWlnaHQ6IDEwMHZoICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLm14X0F1dGhQYWdlX21vZGFsQ29udGVudCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXggIWltcG9ydGFudDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbiAhaW1wb3J0YW50O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyICFpbXBvcnRhbnQ7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyICFpbXBvcnRhbnQ7XG4gICAgICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgICAgIG1hcmdpbi1pbmxpbmU6IGF1dG8gIWltcG9ydGFudDtcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveCAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC5teF9BdXRoUGFnZV9tb2RhbCAubXhfQXV0aEhlYWRlckxvZ28ge1xuICAgICAgICBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4gIWltcG9ydGFudDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlciAhaW1wb3J0YW50O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlciAhaW1wb3J0YW50O1xuICAgICAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgICAgICBtYXJnaW46IDAgYXV0byA0cHggYXV0byAhaW1wb3J0YW50O1xuICAgICAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLm14X0F1dGhQYWdlX21vZGFsIC5teF9BdXRoSGVhZGVyTG9nbyBpbWcge1xuICAgICAgICB3aWR0aDogNzBweCAhaW1wb3J0YW50O1xuICAgICAgICBoZWlnaHQ6IDcwcHggIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAubXhfQXV0aFBhZ2VfbW9kYWwgLm14X0F1dGhIZWFkZXIge1xuICAgICAgICBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4gIWltcG9ydGFudDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlciAhaW1wb3J0YW50O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlciAhaW1wb3J0YW50O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAycHggIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAubXhfQXV0aEJvZHlfZm9yZ290LXBhc3N3b3JkIHtcbiAgICAgICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICAgICAgcGFkZGluZzogMTJweCAyMnB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIGhlaWdodDogYXV0byAhaW1wb3J0YW50O1xuICAgICAgICBtaW4taGVpZ2h0OiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3ggIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAubXhfQXV0aEJvZHkge1xuICAgICAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgICAgICBtYXgtd2lkdGg6IDM4MHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIG1hcmdpbi1pbmxpbmU6IGF1dG8gIWltcG9ydGFudDtcbiAgICAgICAgcGFkZGluZzogMnB4IDEycHggIWltcG9ydGFudDtcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveCAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC5teF9BdXRoQm9keSBoMSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMjBweCAhaW1wb3J0YW50O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA0cHggIWltcG9ydGFudDtcbiAgICAgICAgbWFyZ2luLXRvcDogMHB4ICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLm14X1NlcnZlclBpY2tlciB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDRweCAhaW1wb3J0YW50O1xuICAgICAgICBmb250LXNpemU6IDEycHggIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAubXhfQXV0aEJvZHkgZm9ybSAubXhfRmllbGQge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA4cHggIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAubXhfQXV0aEJvZHkgZm9ybSAubXhfRmllbGQubXhfRmllbGRfaW5wdXQsIFxuICAgIC5teF9BdXRoQm9keSBmb3JtIC5teF9GaWVsZC5teF9GaWVsZF9zZWxlY3Qge1xuICAgICAgICBoZWlnaHQ6IDM2cHggIWltcG9ydGFudDtcbiAgICAgICAgbWluLWhlaWdodDogMzZweCAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC5teF9BdXRoQm9keSBmb3JtIC5teF9GaWVsZF9pbnB1dCBpbnB1dCwgXG4gICAgLm14X0F1dGhCb2R5IGZvcm0gLm14X0ZpZWxkX3NlbGVjdCBzZWxlY3Qge1xuICAgICAgICBoZWlnaHQ6IDM0cHggIWltcG9ydGFudDtcbiAgICAgICAgcGFkZGluZy10b3A6IDJweCAhaW1wb3J0YW50O1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMnB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIGZvbnQtc2l6ZTogMTJweCAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC5teF9JbnRlcmFjdGl2ZUF1dGhFbnRyeUNvbXBvbmVudHNfcGFzc3dvcmRTZWN0aW9uIC5teF9GaWVsZF9pbnB1dCBpbnB1dCB7XG4gICAgICAgIGhlaWdodDogMzBweCAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC5teF9BdXRoQm9keSBmb3JtIC5teF9Mb2dpbl9zdWJtaXQge1xuICAgICAgICBoZWlnaHQ6IDM4cHggIWltcG9ydGFudDtcbiAgICAgICAgbWFyZ2luLXRvcDogNHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDRweCAhaW1wb3J0YW50O1xuICAgICAgICBwYWRkaW5nOiA2cHggIWltcG9ydGFudDtcbiAgICB9XG4gICAgXG4gICAgLm14X0F1dGhCb2R5IC5teF9BdXRoQm9keV9jaGFuZ2VGbG93IHtcbiAgICAgICAgZm9udC1zaXplOiAxMXB4ICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLm14X1JlZ2lzdGVyX21haW5Db250ZW50IHtcbiAgICAgICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3ggIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAubXhfRmllbGQubXhfRmllbGRfc2VsZWN0IHtcbiAgICAgICAgbWF4LXdpZHRoOiAxNDBweCAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC5teF9GaWVsZF9zZWxlY3Qgc2VsZWN0LFxuICAgIHNlbGVjdCNteF9GaWVsZF8yLFxuICAgIHNlbGVjdCNteF9GaWVsZF82IHtcbiAgICAgICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICAgICAgZm9udC1zaXplOiAxMXB4ICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLm14X1NlcnZlclBpY2tlcl9oZWxwRGlhbG9nIC5teF9EaWFsb2dfY29udGVudCxcbiAgICAubXhfRGlhbG9nX2JvcmRlcixcbiAgICAubXhfU2VydmVyUGlja2VyRGlhbG9nLFxuICAgIC5teF9FbmNyeXB0aW9uQ2FyZC5teF9FbmNyeXB0aW9uQ2FyZF9ub0JvcmRlcixcbiAgICAubXhfSW50ZXJhY3RpdmVBdXRoRW50cnlDb21wb25lbnRzX3Bhc3N3b3JkU2VjdGlvbiB7XG4gICAgICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3ggIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAubXhfQXV0aEJvZHlfZmllbGRSb3c6aGFzKGlucHV0W3BsYWNlaG9sZGVyPVwiRW1haWwgKG9wdGlvbmFsKVwiXSkge1xuICAgICAgICBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcCAhaW1wb3J0YW50O1xuICAgICAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgICAgICBmbGV4LWJhc2lzOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgICAgIHJvdy1nYXA6IDEwcHggIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAubXhfQXV0aEJvZHlfZmllbGRSb3c6aGFzKGlucHV0W3BsYWNlaG9sZGVyPVwiRW1haWwgKG9wdGlvbmFsKVwiXSlcbiAgICAgICAgPiAubXhfRmllbGQ6Zmlyc3QtY2hpbGQge1xuICAgICAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgICAgICBmbGV4OiAwIDAgMTAwJSAhaW1wb3J0YW50O1xuICAgICAgICBmbGV4LWJhc2lzOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgICAgIG1heC13aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC5teF9BdXRoQm9keV9maWVsZFJvdzpoYXMoaW5wdXRbcGxhY2Vob2xkZXI9XCJFbWFpbCAob3B0aW9uYWwpXCJdKVxuICAgICAgICA+IC5teF9GaWVsZDpsYXN0LWNoaWxkIHtcbiAgICAgICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICAgICAgZmxleDogMCAwIDEwMCUgIWltcG9ydGFudDtcbiAgICAgICAgZmxleC1iYXNpczogMTAwJSAhaW1wb3J0YW50O1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDAgIWltcG9ydGFudDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLm14X0F1dGhCb2R5X2ZpZWxkUm93OmhhcyhpbnB1dFtwbGFjZWhvbGRlcj1cIkVtYWlsIChvcHRpb25hbClcIl0pXG4gICAgICAgID4gLm14X0ZpZWxkOmxhc3QtY2hpbGQubXhfRmllbGRfc2VsZWN0IHtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLm14X0F1dGhCb2R5IC5teF9Db3VudHJ5RHJvcGRvd24gLm14X0Ryb3Bkb3duX21lbnUge1xuICAgICAgICB3aWR0aDogMjI1cHggIWltcG9ydGFudDtcbiAgICB9XG59XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBpUEhPTkUgU0UgKDM3NXB4IC0gMzg5cHgpXG4gICBUYXJnZXRpbmc6XG4gICAtIDM3NXB4IMOXIDY2N3B4IFBvcnRyYWl0XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMzc1cHgpIGFuZCAobWF4LXdpZHRoOiAzODlweCkge1xuICAgIC5teF9XZWxjb21lIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIG1hcmdpbi1pbmxpbmU6IGF1dG8gIWltcG9ydGFudDtcbiAgICAgICAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC5teF9EZWZhdWx0V2VsY29tZSB7XG4gICAgICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvICFpbXBvcnRhbnQ7XG4gICAgICAgIHBhZGRpbmc6IDE4cHggMzZweCAhaW1wb3J0YW50O1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94ICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLm14X0RlZmF1bHRXZWxjb21lX2xvZ28gaW1nIHtcbiAgICAgICAgd2lkdGg6IDEwMHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIGhlaWdodDogMTAwcHggIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAubXhfRGVmYXVsdFdlbGNvbWVfYnV0dG9ucyBhIHtcbiAgICAgICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAubXhfQXV0aFBhZ2VfbW9kYWwge1xuICAgICAgICBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyICFpbXBvcnRhbnQ7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXIgIWltcG9ydGFudDtcbiAgICAgICAgcGFkZGluZzogNHB4IDEwcHggIWltcG9ydGFudDtcbiAgICAgICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveCAhaW1wb3J0YW50O1xuICAgICAgICBtYXgtaGVpZ2h0OiAxMDB2aCAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC5teF9BdXRoUGFnZV9tb2RhbENvbnRlbnQge1xuICAgICAgICBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4gIWltcG9ydGFudDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlciAhaW1wb3J0YW50O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlciAhaW1wb3J0YW50O1xuICAgICAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgICAgICBtYXJnaW4taW5saW5lOiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3ggIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAubXhfQXV0aFBhZ2VfbW9kYWwgLm14X0F1dGhIZWFkZXJMb2dvIHtcbiAgICAgICAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uICFpbXBvcnRhbnQ7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXIgIWltcG9ydGFudDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXIgIWltcG9ydGFudDtcbiAgICAgICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICAgICAgbWFyZ2luOiAwIGF1dG8gNHB4IGF1dG8gIWltcG9ydGFudDtcbiAgICAgICAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC5teF9BdXRoUGFnZV9tb2RhbCAubXhfQXV0aEhlYWRlckxvZ28gaW1nIHtcbiAgICAgICAgd2lkdGg6IDcwcHggIWltcG9ydGFudDtcbiAgICAgICAgaGVpZ2h0OiA3MHB4ICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLm14X0F1dGhQYWdlX21vZGFsIC5teF9BdXRoSGVhZGVyIHtcbiAgICAgICAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uICFpbXBvcnRhbnQ7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXIgIWltcG9ydGFudDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXIgIWltcG9ydGFudDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMnB4ICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLm14X0F1dGhCb2R5X2ZvcmdvdC1wYXNzd29yZCB7XG4gICAgICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgICAgIHBhZGRpbmc6IDEycHggMjJweCAhaW1wb3J0YW50O1xuICAgICAgICBoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICAgICAgbWluLWhlaWdodDogMCAhaW1wb3J0YW50O1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94ICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLm14X0F1dGhCb2R5IHtcbiAgICAgICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICAgICAgbWF4LXdpZHRoOiAzODBweCAhaW1wb3J0YW50O1xuICAgICAgICBtYXJnaW4taW5saW5lOiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgICAgIHBhZGRpbmc6IDJweCAxMnB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3ggIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAubXhfQXV0aEJvZHkgaDEge1xuICAgICAgICBmb250LXNpemU6IDIwcHggIWltcG9ydGFudDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIG1hcmdpbi10b3A6IDBweCAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC5teF9TZXJ2ZXJQaWNrZXIge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA0cHggIWltcG9ydGFudDtcbiAgICAgICAgZm9udC1zaXplOiAxMnB4ICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLm14X0F1dGhCb2R5IGZvcm0gLm14X0ZpZWxkIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogOHB4ICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLm14X0F1dGhCb2R5IGZvcm0gLm14X0ZpZWxkLm14X0ZpZWxkX2lucHV0LCBcbiAgICAubXhfQXV0aEJvZHkgZm9ybSAubXhfRmllbGQubXhfRmllbGRfc2VsZWN0IHtcbiAgICAgICAgaGVpZ2h0OiAzNnB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDM2cHggIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAubXhfQXV0aEJvZHkgZm9ybSAubXhfRmllbGRfaW5wdXQgaW5wdXQsIFxuICAgIC5teF9BdXRoQm9keSBmb3JtIC5teF9GaWVsZF9zZWxlY3Qgc2VsZWN0IHtcbiAgICAgICAgaGVpZ2h0OiAzNHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIHBhZGRpbmctdG9wOiAycHggIWltcG9ydGFudDtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDJweCAhaW1wb3J0YW50O1xuICAgICAgICBmb250LXNpemU6IDEycHggIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAubXhfSW50ZXJhY3RpdmVBdXRoRW50cnlDb21wb25lbnRzX3Bhc3N3b3JkU2VjdGlvbiAubXhfRmllbGRfaW5wdXQgaW5wdXQge1xuICAgICAgICBoZWlnaHQ6IDMwcHggIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAubXhfQXV0aEJvZHkgZm9ybSAubXhfTG9naW5fc3VibWl0IHtcbiAgICAgICAgaGVpZ2h0OiAzOHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIG1hcmdpbi10b3A6IDRweCAhaW1wb3J0YW50O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA0cHggIWltcG9ydGFudDtcbiAgICAgICAgcGFkZGluZzogNnB4ICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIFxuICAgIC5teF9BdXRoQm9keSAubXhfQXV0aEJvZHlfY2hhbmdlRmxvdyB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTFweCAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC5teF9SZWdpc3Rlcl9tYWluQ29udGVudCB7XG4gICAgICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgICAgIG1heC13aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94ICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLm14X0ZpZWxkLm14X0ZpZWxkX3NlbGVjdCB7XG4gICAgICAgIG1heC13aWR0aDogMTQwcHggIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAubXhfRmllbGRfc2VsZWN0IHNlbGVjdCxcbiAgICBzZWxlY3QjbXhfRmllbGRfMixcbiAgICBzZWxlY3QjbXhfRmllbGRfNiB7XG4gICAgICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgICAgIGZvbnQtc2l6ZTogMTFweCAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC5teF9TZXJ2ZXJQaWNrZXJfaGVscERpYWxvZyAubXhfRGlhbG9nX2NvbnRlbnQsXG4gICAgLm14X0RpYWxvZ19ib3JkZXIsXG4gICAgLm14X1NlcnZlclBpY2tlckRpYWxvZyxcbiAgICAubXhfRW5jcnlwdGlvbkNhcmQubXhfRW5jcnlwdGlvbkNhcmRfbm9Cb3JkZXIsXG4gICAgLm14X0ludGVyYWN0aXZlQXV0aEVudHJ5Q29tcG9uZW50c19wYXNzd29yZFNlY3Rpb24ge1xuICAgICAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94ICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLm14X0F1dGhCb2R5X2ZpZWxkUm93OmhhcyhpbnB1dFtwbGFjZWhvbGRlcj1cIkVtYWlsIChvcHRpb25hbClcIl0pIHtcbiAgICAgICAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50O1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXAgIWltcG9ydGFudDtcbiAgICAgICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICAgICAgZmxleC1iYXNpczogMTAwJSAhaW1wb3J0YW50O1xuICAgICAgICByb3ctZ2FwOiAxMHB4ICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLm14X0F1dGhCb2R5X2ZpZWxkUm93OmhhcyhpbnB1dFtwbGFjZWhvbGRlcj1cIkVtYWlsIChvcHRpb25hbClcIl0pXG4gICAgICAgID4gLm14X0ZpZWxkOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICAgICAgZmxleDogMCAwIDEwMCUgIWltcG9ydGFudDtcbiAgICAgICAgZmxleC1iYXNpczogMTAwJSAhaW1wb3J0YW50O1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAubXhfQXV0aEJvZHlfZmllbGRSb3c6aGFzKGlucHV0W3BsYWNlaG9sZGVyPVwiRW1haWwgKG9wdGlvbmFsKVwiXSlcbiAgICAgICAgPiAubXhfRmllbGQ6bGFzdC1jaGlsZCB7XG4gICAgICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgICAgIGZsZXg6IDAgMCAxMDAlICFpbXBvcnRhbnQ7XG4gICAgICAgIGZsZXgtYmFzaXM6IDEwMCUgIWltcG9ydGFudDtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMCAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC5teF9BdXRoQm9keV9maWVsZFJvdzpoYXMoaW5wdXRbcGxhY2Vob2xkZXI9XCJFbWFpbCAob3B0aW9uYWwpXCJdKVxuICAgICAgICA+IC5teF9GaWVsZDpsYXN0LWNoaWxkLm14X0ZpZWxkX3NlbGVjdCB7XG4gICAgICAgIG1heC13aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgIH1cbn1cblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIElOLUJFVFdFRU4gTU9CSUxFICgzNTBweCAtIDM4OXB4KVxuICAgVGFyZ2V0aW5nOlxuICAgLSAzNTBweCDDlyA2NjdweCBQb3J0cmFpdFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDM1MHB4KSBhbmQgKG1heC13aWR0aDogMzg5cHgpIHtcbiAgICAubXhfV2VsY29tZSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBtYXJnaW4taW5saW5lOiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAubXhfRGVmYXVsdFdlbGNvbWUge1xuICAgICAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgICAgICBtYXJnaW46IDAgYXV0byAhaW1wb3J0YW50O1xuICAgICAgICBwYWRkaW5nOiAxOHB4IDM2cHggIWltcG9ydGFudDtcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveCAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC5teF9EZWZhdWx0V2VsY29tZV9sb2dvIGltZyB7XG4gICAgICAgIHdpZHRoOiAxMDBweCAhaW1wb3J0YW50O1xuICAgICAgICBoZWlnaHQ6IDEwMHB4ICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLm14X0RlZmF1bHRXZWxjb21lX2J1dHRvbnMgYSB7XG4gICAgICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLm14X0F1dGhQYWdlX21vZGFsIHtcbiAgICAgICAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlciAhaW1wb3J0YW50O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyICFpbXBvcnRhbnQ7XG4gICAgICAgIHBhZGRpbmc6IDRweCAxMHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3ggIWltcG9ydGFudDtcbiAgICAgICAgbWF4LWhlaWdodDogMTAwdmggIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAubXhfQXV0aFBhZ2VfbW9kYWxDb250ZW50IHtcbiAgICAgICAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uICFpbXBvcnRhbnQ7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXIgIWltcG9ydGFudDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXIgIWltcG9ydGFudDtcbiAgICAgICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICAgICAgbWFyZ2luLWlubGluZTogYXV0byAhaW1wb3J0YW50O1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94ICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLm14X0F1dGhQYWdlX21vZGFsIC5teF9BdXRoSGVhZGVyTG9nbyB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXggIWltcG9ydGFudDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbiAhaW1wb3J0YW50O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyICFpbXBvcnRhbnQ7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyICFpbXBvcnRhbnQ7XG4gICAgICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvIDRweCBhdXRvICFpbXBvcnRhbnQ7XG4gICAgICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAubXhfQXV0aFBhZ2VfbW9kYWwgLm14X0F1dGhIZWFkZXJMb2dvIGltZyB7XG4gICAgICAgIHdpZHRoOiA3MHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIGhlaWdodDogNzBweCAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC5teF9BdXRoUGFnZV9tb2RhbCAubXhfQXV0aEhlYWRlciB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXggIWltcG9ydGFudDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbiAhaW1wb3J0YW50O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyICFpbXBvcnRhbnQ7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyICFpbXBvcnRhbnQ7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDJweCAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC5teF9BdXRoQm9keV9mb3Jnb3QtcGFzc3dvcmQge1xuICAgICAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgICAgICBwYWRkaW5nOiAxMnB4IDIycHggIWltcG9ydGFudDtcbiAgICAgICAgaGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDAgIWltcG9ydGFudDtcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveCAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC5teF9BdXRoQm9keSB7XG4gICAgICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgICAgIG1heC13aWR0aDogMzgwcHggIWltcG9ydGFudDtcbiAgICAgICAgbWFyZ2luLWlubGluZTogYXV0byAhaW1wb3J0YW50O1xuICAgICAgICBwYWRkaW5nOiAycHggMTJweCAhaW1wb3J0YW50O1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94ICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLm14X0F1dGhCb2R5IGgxIHtcbiAgICAgICAgZm9udC1zaXplOiAyMHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDRweCAhaW1wb3J0YW50O1xuICAgICAgICBtYXJnaW4tdG9wOiAwcHggIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAubXhfU2VydmVyUGlja2VyIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIGZvbnQtc2l6ZTogMTJweCAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC5teF9BdXRoQm9keSBmb3JtIC5teF9GaWVsZCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDhweCAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC5teF9BdXRoQm9keSBmb3JtIC5teF9GaWVsZC5teF9GaWVsZF9pbnB1dCwgXG4gICAgLm14X0F1dGhCb2R5IGZvcm0gLm14X0ZpZWxkLm14X0ZpZWxkX3NlbGVjdCB7XG4gICAgICAgIGhlaWdodDogMzZweCAhaW1wb3J0YW50O1xuICAgICAgICBtaW4taGVpZ2h0OiAzNnB4ICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLm14X0F1dGhCb2R5IGZvcm0gLm14X0ZpZWxkX2lucHV0IGlucHV0LCBcbiAgICAubXhfQXV0aEJvZHkgZm9ybSAubXhfRmllbGRfc2VsZWN0IHNlbGVjdCB7XG4gICAgICAgIGhlaWdodDogMzRweCAhaW1wb3J0YW50O1xuICAgICAgICBwYWRkaW5nLXRvcDogMnB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAycHggIWltcG9ydGFudDtcbiAgICAgICAgZm9udC1zaXplOiAxMnB4ICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLm14X0ludGVyYWN0aXZlQXV0aEVudHJ5Q29tcG9uZW50c19wYXNzd29yZFNlY3Rpb24gLm14X0ZpZWxkX2lucHV0IGlucHV0IHtcbiAgICAgICAgaGVpZ2h0OiAzMHB4ICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLm14X0F1dGhCb2R5IGZvcm0gLm14X0xvZ2luX3N1Ym1pdCB7XG4gICAgICAgIGhlaWdodDogMzhweCAhaW1wb3J0YW50O1xuICAgICAgICBtYXJnaW4tdG9wOiA0cHggIWltcG9ydGFudDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIHBhZGRpbmc6IDZweCAhaW1wb3J0YW50O1xuICAgIH1cbiAgICBcbiAgICAubXhfQXV0aEJvZHkgLm14X0F1dGhCb2R5X2NoYW5nZUZsb3cge1xuICAgICAgICBmb250LXNpemU6IDExcHggIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAubXhfUmVnaXN0ZXJfbWFpbkNvbnRlbnQge1xuICAgICAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveCAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC5teF9GaWVsZC5teF9GaWVsZF9zZWxlY3Qge1xuICAgICAgICBtYXgtd2lkdGg6IDE0MHB4ICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLm14X0ZpZWxkX3NlbGVjdCBzZWxlY3QsXG4gICAgc2VsZWN0I214X0ZpZWxkXzIsXG4gICAgc2VsZWN0I214X0ZpZWxkXzYge1xuICAgICAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgICAgICBmb250LXNpemU6IDExcHggIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAubXhfU2VydmVyUGlja2VyX2hlbHBEaWFsb2cgLm14X0RpYWxvZ19jb250ZW50LFxuICAgIC5teF9EaWFsb2dfYm9yZGVyLFxuICAgIC5teF9TZXJ2ZXJQaWNrZXJEaWFsb2csXG4gICAgLm14X0VuY3J5cHRpb25DYXJkLm14X0VuY3J5cHRpb25DYXJkX25vQm9yZGVyLFxuICAgIC5teF9JbnRlcmFjdGl2ZUF1dGhFbnRyeUNvbXBvbmVudHNfcGFzc3dvcmRTZWN0aW9uIHtcbiAgICAgICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveCAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC5teF9BdXRoQm9keV9maWVsZFJvdzpoYXMoaW5wdXRbcGxhY2Vob2xkZXI9XCJFbWFpbCAob3B0aW9uYWwpXCJdKSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXggIWltcG9ydGFudDtcbiAgICAgICAgZmxleC13cmFwOiB3cmFwICFpbXBvcnRhbnQ7XG4gICAgICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgICAgIGZsZXgtYmFzaXM6IDEwMCUgIWltcG9ydGFudDtcbiAgICAgICAgcm93LWdhcDogMTBweCAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC5teF9BdXRoQm9keV9maWVsZFJvdzpoYXMoaW5wdXRbcGxhY2Vob2xkZXI9XCJFbWFpbCAob3B0aW9uYWwpXCJdKVxuICAgICAgICA+IC5teF9GaWVsZDpmaXJzdC1jaGlsZCB7XG4gICAgICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgICAgIGZsZXg6IDAgMCAxMDAlICFpbXBvcnRhbnQ7XG4gICAgICAgIGZsZXgtYmFzaXM6IDEwMCUgIWltcG9ydGFudDtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLm14X0F1dGhCb2R5X2ZpZWxkUm93OmhhcyhpbnB1dFtwbGFjZWhvbGRlcj1cIkVtYWlsIChvcHRpb25hbClcIl0pXG4gICAgICAgID4gLm14X0ZpZWxkOmxhc3QtY2hpbGQge1xuICAgICAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgICAgICBmbGV4OiAwIDAgMTAwJSAhaW1wb3J0YW50O1xuICAgICAgICBmbGV4LWJhc2lzOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgICAgIG1heC13aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgICAgICBtYXJnaW4tbGVmdDogMCAhaW1wb3J0YW50O1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDAgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAubXhfQXV0aEJvZHlfZmllbGRSb3c6aGFzKGlucHV0W3BsYWNlaG9sZGVyPVwiRW1haWwgKG9wdGlvbmFsKVwiXSlcbiAgICAgICAgPiAubXhfRmllbGQ6bGFzdC1jaGlsZC5teF9GaWVsZF9zZWxlY3Qge1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICB9XG59Il0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9*/