akkoma/priv/static/static/js/app.a48779d14f1bf30f0cb2.js...

1 line
1.5 MiB
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./src/services/api/api.service.js","webpack:///./src/components/checkbox/checkbox.vue","webpack:///./src/services/user_profile_link_generator/user_profile_link_generator.js","webpack:///./src/components/timeline/timeline.vue","webpack:///./src/components/status/status.vue","webpack:///./src/components/user_card/user_card.vue","webpack:///./src/services/color_convert/color_convert.js","webpack:///./src/services/file_type/file_type.service.js","webpack:///./src/components/user_avatar/user_avatar.vue","webpack:///./src/components/basic_user_card/basic_user_card.vue","webpack:///./src/services/style_setter/style_setter.js","webpack:///./src/services/new_api/oauth.js","webpack:///./src/components/conversation/conversation.vue","webpack:///./src/components/notifications/notifications.vue","webpack:///./src/components/public_timeline/public_timeline.js","webpack:///./src/components/timeline/timeline.js","webpack:///./src/components/status/status.js","webpack:///./src/components/attachment/attachment.js","webpack:///./src/components/still-image/still-image.js","webpack:///./src/components/video_attachment/video_attachment.js","webpack:///./src/components/favorite_button/favorite_button.js","webpack:///./src/components/retweet_button/retweet_button.js","webpack:///./src/components/poll/poll.js","webpack:///src/components/timeago/timeago.vue","webpack:///./src/components/extra_buttons/extra_buttons.js","webpack:///./src/components/post_status_form/post_status_form.js","webpack:///./src/components/media_upload/media_upload.js","webpack:///./src/components/scope_selector/scope_selector.js","webpack:///./src/components/emoji_input/emoji_input.js","webpack:///./src/components/emoji_picker/emoji_picker.js","webpack:///src/components/checkbox/checkbox.vue","webpack:///./src/components/poll/poll_form.js","webpack:///./src/components/user_card/user_card.js","webpack:///./src/components/user_avatar/user_avatar.js","webpack:///./src/components/remote_follow/remote_follow.js","webpack:///src/components/progress_button/progress_button.vue","webpack:///./src/components/follow_button/follow_button.js","webpack:///./src/components/moderation_tools/moderation_tools.js","webpack:///./src/components/dialog_modal/dialog_modal.js","webpack:///./src/components/account_actions/account_actions.js","webpack:///./src/components/gallery/gallery.js","webpack:///./src/components/link-preview/link-preview.js","webpack:///./src/components/avatar_list/avatar_list.js","webpack:///./src/components/status_popover/status_popover.js","webpack:///./src/components/conversation/conversation.js","webpack:///./src/components/public_and_external_timeline/public_and_external_timeline.js","webpack:///./src/components/friends_timeline/friends_timeline.js","webpack:///./src/components/tag_timeline/tag_timeline.js","webpack:///./src/components/conversation-page/conversation-page.js","webpack:///./src/components/interactions/interactions.js","webpack:///./src/components/notifications/notifications.js","webpack:///./src/components/notification/notification.js","webpack:///./src/components/dm_timeline/dm_timeline.js","webpack:///./src/components/user_profile/user_profile.js","webpack:///./src/components/follow_card/follow_card.js","webpack:///./src/components/basic_user_card/basic_user_card.js","webpack:///src/components/list/list.vue","webpack:///./src/components/search/search.js","webpack:///./src/components/settings/settings.js","webpack:///./src/components/style_switcher/style_switcher.js","webpack:///src/components/color_input/color_input.vue","webpack:///src/components/range_input/range_input.vue","webpack:///src/components/opacity_input/opacity_input.vue","webpack:///./src/components/shadow_control/shadow_control.js","webpack:///./src/components/font_control/font_control.js","webpack:///src/components/contrast_ratio/contrast_ratio.vue","webpack:///src/components/export_import/export_import.vue","webpack:///src/components/interface_language_switcher/interface_language_switcher.vue","webpack:///./src/components/registration/registration.js","webpack:///./src/components/password_reset/password_reset.js","webpack:///./src/components/user_settings/user_settings.js","webpack:///./src/components/image_cropper/image_cropper.js","webpack:///./src/components/block_card/block_card.js","webpack:///./src/components/mute_card/mute_card.js","webpack:///./src/components/selectable_list/selectable_list.js","webpack:///./src/components/autosuggest/autosuggest.js","webpack:///./src/components/importer/importer.js","webpack:///./src/components/exporter/exporter.js","webpack:///./src/components/user_settings/mfa.js","webpack:///./src/components/user_settings/mfa_backup_codes.js","webpack:///./src/components/user_settings/mfa_totp.js","webpack:///./src/components/user_settings/confirm.js","webpack:///./src/components/follow_requests/follow_requests.js","webpack:///./src/components/follow_request_card/follow_request_card.js","webpack:///./src/components/oauth_callback/oauth_callback.js","webpack:///./src/components/login_form/login_form.js","webpack:///./src/components/mfa_form/recovery_form.js","webpack:///./src/components/mfa_form/totp_form.js","webpack:///./src/components/chat_panel/chat_panel.js","webpack:///./src/components/who_to_follow/who_to_follow.js","webpack:///./src/components/about/about.js","webpack:///./src/components/instance_specific_panel/instance_specific_panel.js","webpack:///./src/components/features_panel/features_panel.js","webpack:///./src/components/terms_of_service_panel/terms_of_service_panel.js","webpack:///./src/components/staff_panel/staff_panel.js","webpack:///./src/components/mrf_transparency_panel/mrf_transparency_panel.js","webpack:///./src/components/remote_user_resolver/remote_user_resolver.js","webpack:///./src/App.js","webpack:///./src/components/user_panel/user_panel.js","webpack:///./src/components/nav_panel/nav_panel.js","webpack:///./src/components/search_bar/search_bar.js","webpack:///./src/components/who_to_follow_panel/who_to_follow_panel.js","webpack:///./src/components/media_modal/media_modal.js","webpack:///src/components/modal/modal.vue","webpack:///./src/components/side_drawer/side_drawer.js","webpack:///./src/components/mobile_post_status_button/mobile_post_status_button.js","webpack:///./src/components/mobile_nav/mobile_nav.js","webpack:///./src/components/user_reporting_modal/user_reporting_modal.js","webpack:///./src/components/post_status_modal/post_status_modal.js","webpack:///./src/components/tab_switcher/tab_switcher.js","webpack:///./src/modules/config.js","webpack:///./src/services/backend_interactor_service/backend_interactor_service.js","webpack:///./src/components/still-image/still-image.vue","webpack:///./src/components/timeago/timeago.vue","webpack:///./src/components/post_status_form/post_status_form.vue","webpack:///./src/components/progress_button/progress_button.vue","webpack:///./src/services/notification_utils/notification_utils.js","webpack:///./src/components/follow_card/follow_card.vue","webpack:///./src/components/list/list.vue","webpack:///./src/components/modal/modal.vue","webpack:///./src/services/gesture_service/gesture_service.js","webpack:///./src/components/still-image/still-image.vue?cd25","webpack:///./src/components/video_attachment/video_attachment.vue?695e","webpack:///./src/components/attachment/attachment.vue?ea04","webpack:///./src/components/favorite_button/favorite_button.vue?d75b","webpack:///./src/components/retweet_button/retweet_button.vue?98e9","webpack:///./src/components/timeago/timeago.vue?d70d","webpack:///./src/components/poll/poll.vue?f7e7","webpack:///./src/components/extra_buttons/extra_buttons.vue?6035","webpack:///./src/components/media_upload/media_upload.vue?fd49","webpack:///./src/components/scope_selector/scope_selector.vue?4ef5","webpack:///./src/components/checkbox/checkbox.vue?9bd9","webpack:///./src/components/emoji_picker/emoji_picker.vue?3a64","webpack:///./src/components/emoji_input/emoji_input.vue?0ba5","webpack:///./src/components/poll/poll_form.vue?41d8","webpack:///./src/components/post_status_form/post_status_form.vue?29d8","webpack:///./src/components/user_avatar/user_avatar.vue?7f9b","webpack:///./src/components/remote_follow/remote_follow.vue?deba","webpack:///./src/components/progress_button/progress_button.vue?6be4","webpack:///./src/components/follow_button/follow_button.vue?ccb9","webpack:///./src/components/dialog_modal/dialog_modal.vue?f85c","webpack:///./src/components/moderation_tools/moderation_tools.vue?4e89","webpack:///./src/components/account_actions/account_actions.vue?6339","webpack:///./src/components/user_card/user_card.vue?0e9f","webpack:///./src/components/gallery/gallery.vue?7739","webpack:///./src/components/link-preview/link-preview.vue?7d0d","webpack:///./src/components/avatar_list/avatar_list.vue?e3d4","webpack:///./src/components/status_popover/status_popover.vue?495f","webpack:///./src/components/status/status.vue?a54f","webpack:///./src/components/conversation/conversation.vue?7eb5","webpack:///./src/components/timeline/timeline.vue?5802","webpack:///./src/components/public_timeline/public_timeline.vue?bba0","webpack:///./src/components/public_and_external_timeline/public_and_external_timeline.vue?0d56","webpack:///./src/components/friends_timeline/friends_timeline.vue?0810","webpack:///./src/components/tag_timeline/tag_timeline.vue?ee38","webpack:///./src/components/conversation-page/conversation-page.vue?d63c","webpack:///./src/components/notification/notification.vue?aa4d","webpack:///./src/components/notifications/notifications.vue?c039","webpack:///./src/components/interactions/interactions.vue?96e9","webpack:///./src/components/dm_timeline/dm_timeline.vue?4177","webpack:///./src/components/basic_user_card/basic_user_card.vue?8a94","webpack:///./src/components/follow_card/follow_card.vue?3a80","webpack:///./src/components/list/list.vue?c7b8","webpack:///./src/components/user_profile/user_profile.vue?326a","webpack:///./src/components/search/search.vue?ec9a","webpack:///./src/components/color_input/color_input.vue?97d1","webpack:///./src/components/range_input/range_input.vue?47de","webpack:///./src/components/opacity_input/opacity_input.vue?c066","webpack:///./src/components/shadow_control/shadow_control.vue?d7e2","webpack:///./src/components/font_control/font_control.vue?184b","webpack:///./src/components/contrast_ratio/contrast_ratio.vue?11d2","webpack:///./src/components/export_import/export_import.vue?42a3","webpack:///./src/components/style_switcher/style_switcher.vue?dfe6","webpack:///./src/components/interface_language_switcher/interface_language_switcher.vue?da5c","webpack:///./src/components/settings/settings.vue?1640","webpack:///./src/components/registration/registration.vue?b0f7","webpack:///./src/components/password_reset/password_reset.vue?4c1d","webpack:///./src/components/image_cropper/image_cropper.vue?017e","webpack:///./src/components/block_card/block_card.vue?7b44","webpack:///./src/components/mute_card/mute_card.vue?6bc9","webpack:///./src/components/selectable_list/selectable_list.vue?7396","webpack:///./src/components/autosuggest/autosuggest.vue?9554","webpack:///./src/components/importer/importer.vue?320c","webpack:///./src/components/exporter/exporter.vue?7e42","webpack:///./src/components/user_settings/mfa_backup_codes.vue?c289","webpack:///./src/components/user_settings/confirm.vue?7c4c","webpack:///./src/components/user_settings/mfa_totp.vue?d10c","webpack:///./src/components/user_settings/mfa.vue?5102","webpack:///./src/components/user_settings/user_settings.vue?e1d8","webpack:///./src/components/follow_request_card/follow_request_card.vue?e2ae","webpack:///./src/components/follow_requests/follow_requests.vue?6944","webpack:///./src/components/oauth_callback/oauth_callback.vue?99e7","webpack:///./src/components/login_form/login_form.vue?ec94","webpack:///./src/components/mfa_form/recovery_form.vue?9df7","webpack:///./src/components/mfa_form/totp_form.vue?2e19","webpack:///./src/components/chat_panel/chat_panel.vue?3953","webpack:///./src/components/who_to_follow/who_to_follow.vue?4a17","webpack:///./src/components/instance_specific_panel/instance_specific_panel.vue?3490","webpack:///./src/components/features_panel/features_panel.vue?33c8","webpack:///./src/components/terms_of_service_panel/terms_of_service_panel.vue?25e4","webpack:///./src/components/staff_panel/staff_panel.vue?0ab8","webpack:///./src/components/mrf_transparency_panel/mrf_transparency_panel.vue?0354","webpack:///./src/components/about/about.vue?7acf","webpack:///./src/components/remote_user_resolver/remote_user_resolver.vue?5c98","webpack:///./src/components/user_panel/user_panel.vue?f6da","webpack:///./src/components/nav_panel/nav_panel.vue?c24f","webpack:///./src/components/search_bar/search_bar.vue?fd14","webpack:///./src/components/who_to_follow_panel/who_to_follow_panel.vue?3d0c","webpack:///./src/components/modal/modal.vue?b865","webpack:///./src/components/media_modal/media_modal.vue?edc8","webpack:///./src/components/side_drawer/side_drawer.vue?2812","webpack:///./src/components/mobile_post_status_button/mobile_post_status_button.vue?c48d","webpack:///./src/components/mobile_nav/mobile_nav.vue?94ba","webpack:///./src/components/user_reporting_modal/user_reporting_modal.vue?5d77","webpack:///./src/components/post_status_modal/post_status_modal.vue?e267","webpack:///./src/App.vue?ad4a","webpack:///./src/services/status_poster/status_poster.service.js","webpack:///./src/services/timeline_fetcher/timeline_fetcher.service.js","webpack:///./src/services/notifications_fetcher/notifications_fetcher.service.js","webpack:///./src/i18n/messages.js","webpack:///./src/components/attachment/attachment.vue","webpack:///./src/components/video_attachment/video_attachment.vue","webpack:///./src/services/date_utils/date_utils.js","webpack:///./src/services/file_size_format/file_size_format.js","webpack:///./src/components/scope_selector/scope_selector.vue","webpack:///./src/components/emoji_input/emoji_input.vue","webpack:///./src/services/offset_finder/offset_finder.service.js","webpack:///./src/components/emoji_input/suggestor.js","webpack:///./src/components/remote_follow/remote_follow.vue","webpack:///./src/components/follow_button/follow_button.vue","webpack:///./src/services/user_highlighter/user_highlighter.js","webpack:///./src/services/component_utils/component_utils.js","webpack:///./src/components/style_switcher/style_switcher.vue","webpack:///./src/components/color_input/color_input.vue","webpack:///./src/components/opacity_input/opacity_input.vue","webpack:///./src/components/user_settings/confirm.vue","webpack:///./src/components/auth_form/auth_form.js","webpack:///./src/services/new_api/mfa.js","webpack:///./src/components/chat_panel/chat_panel.vue","webpack:///./src/components/instance_specific_panel/instance_specific_panel.vue","webpack:///./src/components/features_panel/features_panel.vue","webpack:///./src/components/side_drawer/side_drawer.vue","webpack:///./src/services/window_utils/window_utils.js","webpack:///./src/main.js","webpack:///./src/modules/interface.js","webpack:///./src/modules/instance.js","webpack:///./src/modules/statuses.js","webpack:///./src/services/entity_normalizer/entity_normalizer.service.js","webpack:///./src/services/errors/errors.js","webpack:///./src/modules/errors.js","webpack:///./src/modules/users.js","webpack:///./src/services/follow_request_fetcher/follow_request_fetcher.service.js","webpack:///./src/services/push/push.js","webpack:///./src/modules/api.js","webpack:///./src/modules/chat.js","webpack:///./src/modules/oauth.js","webpack:///./src/modules/auth_flow.js","webpack:///./src/modules/media_viewer.js","webpack:///./src/modules/oauth_tokens.js","webpack:///./src/modules/reports.js","webpack:///./src/modules/polls.js","webpack:///./src/modules/postStatus.js","webpack:///./src/lib/persisted_state.js","webpack:///./src/lib/push_notifications_plugin.js","webpack:///./src/directives/body_scroll_lock.js","webpack:///./src/boot/after_store.js","webpack:///./src/boot/routes.js","webpack:///./src/components/public_timeline/public_timeline.vue","webpack:///./src/components/timeline/timeline.vue?f674","webpack:///./src/components/timeline/timeline.vue?d6bb","webpack:///./src/components/status/status.vue?fa33","webpack:///./src/components/status/status.vue?733b","webpack:///./src/components/attachment/attachment.vue?4fa7","webpack:///./src/components/attachment/attachment.vue?5971","webpack:///./src/components/still-image/still-image.vue?21db","webpack:///./src/components/still-image/still-image.vue?da13","webpack:///./src/assets/nsfw.png","webpack:///./src/components/favorite_button/favorite_button.vue","webpack:///./src/components/favorite_button/favorite_button.vue?0184","webpack:///./src/components/favorite_button/favorite_button.vue?9b9b","webpack:///./src/components/retweet_button/retweet_button.vue","webpack:///./src/components/retweet_button/retweet_button.vue?8eee","webpack:///./src/components/retweet_button/retweet_button.vue?ecd9","webpack:///./src/components/poll/poll.vue","webpack:///./src/components/poll/poll.vue?7318","webpack:///./src/components/poll/poll.vue?192f","webpack:///./src/components/extra_buttons/extra_buttons.vue","webpack:///./src/components/extra_buttons/extra_buttons.vue?2134","webpack:///./src/components/extra_buttons/extra_buttons.vue?bef5","webpack:///./src/components/post_status_form/post_status_form.vue?fd6e","webpack:///./src/components/post_status_form/post_status_form.vue?5887","webpack:///./src/components/media_upload/media_upload.vue","webpack:///./src/components/media_upload/media_upload.vue?d613","webpack:///./src/components/media_upload/media_upload.vue?1e11","webpack:///./src/components/scope_selector/scope_selector.vue?baf6","webpack:///./src/components/scope_selector/scope_selector.vue?341e","webpack:///./src/components/emoji_input/emoji_input.vue?88c6","webpack:///./src/components/emoji_input/emoji_input.vue?c0d0","webpack:///./src/services/completion/completion.js","webpack:///./src/components/emoji_picker/emoji_picker.vue","webpack:///./src/components/emoji_picker/emoji_picker.scss?a54d","webpack:///./src/components/emoji_picker/emoji_picker.scss","webpack:///./src/components/checkbox/checkbox.vue?3599","webpack:///./src/components/checkbox/checkbox.vue?bf55","webpack:///./src/components/poll/poll_form.vue","webpack:///./src/components/poll/poll_form.vue?43b8","webpack:///./src/components/poll/poll_form.vue?f333","webpack:///./src/components/user_card/user_card.vue?1920","webpack:///./src/components/user_card/user_card.vue?a3c0","webpack:///./src/components/user_avatar/user_avatar.vue?aac8","webpack:///./src/components/user_avatar/user_avatar.vue?6951","webpack:///./src/components/remote_follow/remote_follow.vue?44cd","webpack:///./src/components/remote_follow/remote_follow.vue?2689","webpack:///./src/services/follow_manipulate/follow_manipulate.js","webpack:///./src/components/moderation_tools/moderation_tools.vue","webpack:///./src/components/moderation_tools/moderation_tools.vue?3b42","webpack:///./src/components/moderation_tools/moderation_tools.vue?870b","webpack:///./src/components/dialog_modal/dialog_modal.vue","webpack:///./src/components/dialog_modal/dialog_modal.vue?66ca","webpack:///./src/components/dialog_modal/dialog_modal.vue?e653","webpack:///./src/components/account_actions/account_actions.vue","webpack:///./src/components/account_actions/account_actions.vue?755f","webpack:///./src/components/account_actions/account_actions.vue?1dab","webpack:///./src/components/gallery/gallery.vue","webpack:///./src/components/gallery/gallery.vue?ea2c","webpack:///./src/components/gallery/gallery.vue?759e","webpack:///./src/components/link-preview/link-preview.vue","webpack:///./src/components/link-preview/link-preview.vue?95df","webpack:///./src/components/link-preview/link-preview.vue?40b7","webpack:///./src/components/avatar_list/avatar_list.vue","webpack:///./src/components/avatar_list/avatar_list.vue?83d0","webpack:///./src/components/avatar_list/avatar_list.vue?4546","webpack:///./src/components/status_popover/status_popover.vue","webpack:///./src/components/status_popover/status_popover.vue?91c2","webpack:///./src/components/status_popover/status_popover.vue?2f11","webpack:///./src/services/tiny_post_html_processor/tiny_post_html_processor.service.js","webpack:///./src/services/matcher/matcher.service.js","webpack:///./src/components/conversation/conversation.vue?e1e5","webpack:///./src/components/conversation/conversation.vue?e01a","webpack:///./src/components/public_and_external_timeline/public_and_external_timeline.vue","webpack:///./src/components/friends_timeline/friends_timeline.vue","webpack:///./src/components/tag_timeline/tag_timeline.vue","webpack:///./src/components/conversation-page/conversation-page.vue","webpack:///./src/components/interactions/interactions.vue","webpack:///./src/components/notifications/notifications.scss?c04f","webpack:///./src/components/notifications/notifications.scss","webpack:///./src/components/notification/notification.vue","webpack:///./src/components/dm_timeline/dm_timeline.vue","webpack:///./src/components/user_profile/user_profile.vue","webpack:///./src/components/user_profile/user_profile.vue?7fb4","webpack:///./src/components/user_profile/user_profile.vue?899c","webpack:///./src/components/follow_card/follow_card.vue?5688","webpack:///./src/components/follow_card/follow_card.vue?ad43","webpack:///./src/components/basic_user_card/basic_user_card.vue?ba41","webpack:///./src/components/basic_user_card/basic_user_card.vue?0481","webpack:///./src/components/list/list.vue?17ca","webpack:///./src/components/list/list.vue?e2c8","webpack:///./src/hocs/with_load_more/with_load_more.js","webpack:///./src/components/search/search.vue","webpack:///./src/components/search/search.vue?9825","webpack:///./src/components/search/search.vue?e198","webpack:///./src/components/settings/settings.vue","webpack:///./src/components/style_switcher/style_switcher.scss?411b","webpack:///./src/components/style_switcher/style_switcher.scss","webpack:///./src/components/color_input/color_input.vue?40c0","webpack:///./src/components/color_input/color_input.vue?7583","webpack:///./src/components/range_input/range_input.vue","webpack:///./src/components/shadow_control/shadow_control.vue","webpack:///./src/components/shadow_control/shadow_control.vue?bfd4","webpack:///./src/components/shadow_control/shadow_control.vue?78ef","webpack:///./src/components/font_control/font_control.vue","webpack:///./src/components/font_control/font_control.vue?5f33","webpack:///./src/components/font_control/font_control.vue?bef4","webpack:///./src/components/contrast_ratio/contrast_ratio.vue","webpack:///./src/components/contrast_ratio/contrast_ratio.vue?a340","webpack:///./src/components/contrast_ratio/contrast_ratio.vue?32fa","webpack:///./src/components/export_import/export_import.vue","webpack:///./src/components/export_import/export_import.vue?5952","webpack:///./src/components/export_import/export_import.vue?aed6","webpack:///./src/components/interface_language_switcher/interface_language_switcher.vue","webpack:///./src/services/version/version.service.js","webpack:///./src/components/registration/registration.vue","webpack:///./src/components/registration/registration.vue?d518","webpack:///./src/components/registration/registration.vue?fd73","webpack:///./src/components/password_reset/password_reset.vue","webpack:///./src/components/password_reset/password_reset.vue?d048","webpack:///./src/components/password_reset/password_reset.vue?5ec5","webpack:///./src/services/new_api/password_reset.js","webpack:///./src/components/user_settings/user_settings.vue","webpack:///./src/components/user_settings/user_settings.vue?1522","webpack:///./src/components/user_settings/user_settings.vue?6575","webpack:///./src/components/image_cropper/image_cropper.vue","webpack:///./src/components/image_cropper/image_cropper.vue?f169","webpack:///./src/components/image_cropper/image_cropper.vue?6235","webpack:///./src/components/block_card/block_card.vue","webpack:///./src/components/block_card/block_card.vue?7ad7","webpack:///./src/components/block_card/block_card.vue?ddc8","webpack:///./src/components/mute_card/mute_card.vue","webpack:///./src/components/mute_card/mute_card.vue?c72f","webpack:///./src/components/mute_card/mute_card.vue?1268","webpack:///./src/components/selectable_list/selectable_list.vue","webpack:///./src/components/selectable_list/selectable_list.vue?a6e3","webpack:///./src/components/selectable_list/selectable_list.vue?c2f8","webpack:///./src/components/autosuggest/autosuggest.vue","webpack:///./src/components/autosuggest/autosuggest.vue?9908","webpack:///./src/components/autosuggest/autosuggest.vue?9383","webpack:///./src/components/importer/importer.vue","webpack:///./src/components/importer/importer.vue?7798","webpack:///./src/components/importer/importer.vue?6af6","webpack:///./src/components/exporter/exporter.vue","webpack:///./src/components/exporter/exporter.vue?dea3","webpack:///./src/components/exporter/exporter.vue?cc2b","webpack:///./src/hocs/with_subscription/with_subscription.js","webpack:///./src/components/user_settings/mfa.vue","webpack:///./src/components/user_settings/mfa.vue?6a62","webpack:///./src/components/user_settings/mfa.vue?64d1","webpack:///./src/components/user_settings/mfa_backup_codes.vue","webpack:///./src/components/user_settings/mfa_backup_codes.vue?922c","webpack:///./src/components/user_settings/mfa_backup_codes.vue?4206","webpack:///./src/components/user_settings/mfa_totp.vue","webpack:///./src/components/follow_requests/follow_requests.vue","webpack:///./src/components/follow_request_card/follow_request_card.vue","webpack:///./src/components/follow_request_card/follow_request_card.vue?c9e7","webpack:///./src/components/follow_request_card/follow_request_card.vue?b0bb","webpack:///./src/components/oauth_callback/oauth_callback.vue","webpack:///./src/components/login_form/login_form.vue","webpack:///./src/components/login_form/login_form.vue?99e8","webpack:///./src/components/login_form/login_form.vue?9c6d","webpack:///./src/components/mfa_form/recovery_form.vue","webpack:///./src/components/mfa_form/totp_form.vue","webpack:///./src/components/chat_panel/chat_panel.vue?9dd9","webpack:///./src/components/chat_panel/chat_panel.vue?d094","webpack:///./src/components/who_to_follow/who_to_follow.vue","webpack:///./src/components/who_to_follow/who_to_follow.vue?6f47","webpack:///./src/components/who_to_follow/who_to_follow.vue?4eb6","webpack:///./src/components/about/about.vue","webpack:///./src/components/about/about.vue?47a2","webpack:///./src/components/about/about.vue?7cdd","webpack:///./src/components/features_panel/features_panel.vue?b8ab","webpack:///./src/components/features_panel/features_panel.vue?867d","webpack:///./src/components/terms_of_service_panel/terms_of_service_panel.vue","webpack:///./src/components/terms_of_service_panel/terms_of_service_panel.vue?7e97","webpack:///./src/components/terms_of_service_panel/terms_of_service_panel.vue?7643","webpack:///./src/components/staff_panel/staff_panel.vue","webpack:///./src/components/staff_panel/staff_panel.vue?020d","webpack:///./src/components/staff_panel/staff_panel.vue?a8d5","webpack:///./src/components/mrf_transparency_panel/mrf_transparency_panel.vue","webpack:///./src/components/mrf_transparency_panel/mrf_transparency_panel.vue?eece","webpack:///./src/components/mrf_transparency_panel/mrf_transparency_panel.vue?6ed6","webpack:///./src/components/remote_user_resolver/remote_user_resolver.vue","webpack:///./src/components/remote_user_resolver/remote_user_resolver.vue?7d1a","webpack:///./src/components/remote_user_resolver/remote_user_resolver.vue?f8d3","webpack:///./src/App.vue","webpack:///./src/App.scss?b70d","webpack:///./src/App.scss","webpack:///./src/components/user_panel/user_panel.vue","webpack:///./src/components/user_panel/user_panel.vue?e12b","webpack:///./src/components/user_panel/user_panel.vue?63b4","webpack:///./src/components/nav_panel/nav_panel.vue","webpack:///./src/components/nav_panel/nav_panel.vue?7be9","webpack:///./src/components/nav_panel/nav_panel.vue?be5f","webpack:///./src/components/search_bar/search_bar.vue","webpack:///./src/components/search_bar/search_bar.vue?269b","webpack:///./src/components/search_bar/search_bar.vue?0fb3","webpack:///./src/components/who_to_follow_panel/who_to_follow_panel.vue","webpack:///./src/components/who_to_follow_panel/who_to_follow_panel.vue?2f6b","webpack:///./src/components/who_to_follow_panel/who_to_follow_panel.vue?1274","webpack:///./src/components/media_modal/media_modal.vue","webpack:///./src/components/media_modal/media_modal.vue?2930","webpack:///./src/components/media_modal/media_modal.vue?1d79","webpack:///./src/components/modal/modal.vue?a37f","webpack:///./src/components/modal/modal.vue?328d","webpack:///./src/components/side_drawer/side_drawer.vue?472d","webpack:///./src/components/side_drawer/side_drawer.vue?fcf9","webpack:///./src/components/mobile_post_status_button/mobile_post_status_button.vue","webpack:///./src/components/mobile_post_status_button/mobile_post_status_button.vue?1868","webpack:///./src/components/mobile_post_status_button/mobile_post_status_button.vue?7cf2","webpack:///./src/components/mobile_nav/mobile_nav.vue","webpack:///./src/components/mobile_nav/mobile_nav.vue?46cb","webpack:///./src/components/mobile_nav/mobile_nav.vue?9a0e","webpack:///./src/components/user_reporting_modal/user_reporting_modal.vue","webpack:///./src/components/user_reporting_modal/user_reporting_modal.vue?7889","webpack:///./src/components/user_reporting_modal/user_reporting_modal.vue?1af4","webpack:///./src/components/post_status_modal/post_status_modal.vue","webpack:///./src/components/post_status_modal/post_status_modal.vue?892e","webpack:///./src/components/post_status_modal/post_status_modal.vue?b34c","webpack:///./src/components/style_switcher/preview.vue?006a","webpack:///./src/components/style_switcher/preview.vue"],"names":["webpackJsonpCallback","data","moduleId","chunkId","chunkIds","moreModules","executeModules","i","resolves","length","installedChunks","push","Object","prototype","hasOwnProperty","call","modules","parentJsonpFunction","shift","deferredModules","apply","checkDeferredModules","result","deferredModule","fulfilled","j","depId","splice","__webpack_require__","s","installedModules","0","exports","module","l","e","promises","installedChunkData","promise","Promise","resolve","reject","onScriptComplete","script","document","createElement","charset","timeout","nc","setAttribute","src","p","2","jsonpScriptSrc","error","Error","event","onerror","onload","clearTimeout","chunk","errorType","type","realSrc","target","message","request","undefined","setTimeout","head","appendChild","all","m","c","d","name","getter","o","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","oe","err","console","jsonpArray","window","oldJsonpFunction","slice","_entity_normalizerService","_errors","PERMISSION_GROUP_URL","screenName","right","MASTODON_FAVORITE_URL","id","MASTODON_UNFAVORITE_URL","MASTODON_RETWEET_URL","MASTODON_UNRETWEET_URL","MASTODON_USER_TIMELINE_URL","MASTODON_TAG_TIMELINE_URL","tag","MASTODON_MUTE_USER_URL","MASTODON_UNMUTE_USER_URL","MASTODON_SUBSCRIBE_USER","MASTODON_UNSUBSCRIBE_USER","MASTODON_STATUS_FAVORITEDBY_URL","MASTODON_STATUS_REBLOGGEDBY_URL","MASTODON_PIN_OWN_STATUS","MASTODON_UNPIN_OWN_STATUS","MASTODON_MUTE_CONVERSATION","MASTODON_UNMUTE_CONVERSATION","oldfetch","fetch","url","options","fullUrl","credentials","promisedRequest","_ref","method","params","payload","_ref$headers","headers","Accept","Content-Type","_entries2","default","map","_ref2","_ref3","_slicedToArray3","encodeURIComponent","join","body","_stringify2","_extends3","authHeaders","then","response","_promise2","json","ok","StatusCodeError","status","accessToken","Authorization","fetchFriends","_ref22","maxId","sinceId","_ref22$limit","limit","MASTODON_FOLLOWING_URL","args","filter","_","parseUser","apiService","verifyCredentials","user","fetchTimeline","_ref36","timeline","_ref36$since","since","_ref36$until","until","_ref36$userId","userId","_ref36$tag","_ref36$withMuted","withMuted","isNotifications","public","friends","dms","notifications","publicAndExternal","media","favorites","queryString","_map3","param","parseNotification","parseStatus","fetchPinnedStatuses","_ref37","fetchConversation","_ref27","urlContext","MASTODON_STATUS_CONTEXT_URL","_ref28","ancestors","descendants","fetchStatus","_ref29","MASTODON_STATUS_URL","exportFriends","_ref23","_ref24","_asyncToGenerator3","_regenerator2","mark","_callee","more","users","wrap","_context","prev","next","_last3","sent","_concat3","t0","stop","_x","_x2","this","arguments","fetchFollowers","_ref25","_ref25$limit","MASTODON_FOLLOWERS_URL","followUser","_ref10","_objectWithoutProperties3","MASTODON_FOLLOW_URL","form","reblogs","unfollowUser","_ref11","MASTODON_UNFOLLOW_URL","pinOwnStatus","_ref12","unpinOwnStatus","_ref13","muteConversation","_ref14","unmuteConversation","_ref15","blockUser","_ref16","MASTODON_BLOCK_USER_URL","unblockUser","_ref17","MASTODON_UNBLOCK_USER_URL","fetchUser","_ref20","MASTODON_USER_URL","fetchUserRelationship","_ref21","MASTODON_USER_RELATIONSHIPS_URL","favorite","_ref38","unfavorite","_ref39","retweet","_ref40","unretweet","_ref41","postStatus","_ref42","spoilerText","visibility","sensitive","poll","_ref42$mediaIds","mediaIds","inReplyToStatusId","contentType","FormData","pollOptions","append","forEach","val","some","option","normalizedPoll","expires_in","expiresIn","multiple","_keys2","deleteStatus","_ref43","MASTODON_DELETE_URL","uploadMedia","_ref44","formData","parseAttachment","fetchMutes","_ref55","muteUser","_ref56","unmuteUser","_ref57","subscribeUser","_ref60","unsubscribeUser","_ref61","fetchBlocks","_ref62","fetchOAuthTokens","_ref63","revokeOAuthToken","_ref64","tagUser","_ref30","nicknames","screen_name","tags","untagUser","_ref31","deleteUser","_ref35","ADMIN_USERS_URL","addRight","_ref32","deleteRight","_ref33","setActivationStatus","_ref34","ACTIVATION_STATUS_URL","register","_ref9","nickname","rest","locale","agreement","RegistrationError","getCaptcha","resp","updateAvatar","_ref5","avatar","updateBg","_ref6","background","updateProfile","_ref8","updateBanner","_ref7","banner","importBlocks","_ref45","file","importFollows","_ref46","deleteAccount","_ref47","password","changeEmail","_ref48","email","changePassword","_ref49","newPassword","newPasswordConfirmation","settingsMFA","_ref50","mfaDisableOTP","_ref51","generateMfaBackupCodes","_ref54","mfaSetupOTP","_ref53","mfaConfirmOTP","_ref52","token","fetchFollowRequests","_ref26","approveUser","_ref18","MASTODON_APPROVE_USER_URL","denyUser","_ref19","MASTODON_DENY_USER_URL","suggestions","_ref65","markNotificationsAsSeen","_ref66","vote","_ref67","pollId","choices","fetchPoll","_ref68","fetchFavoritedByUsers","_ref69","fetchRebloggedByUsers","_ref70","fetchMascot","_ref58","updateMascot","_ref59","mascot","reportUser","_ref71","statusIds","comment","forward","account_id","status_ids","updateNotificationSettings","_ref4","settings","_each3","search2","_ref73","q","offset","following","MASTODON_SEARCH_2","accounts","u","statuses","searchUsers","_ref72","query","__webpack_exports__","_babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_checkbox_vue__WEBPACK_IMPORTED_MODULE_0__","_babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_checkbox_vue__WEBPACK_IMPORTED_MODULE_0___default","__WEBPACK_IMPORT_KEY__","_node_modules_vue_loader_lib_template_compiler_index_id_data_v_58c9b3c4_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_checkbox_vue__WEBPACK_IMPORTED_MODULE_1__","_node_modules_vue_loader_lib_runtime_component_normalizer__WEBPACK_IMPORTED_MODULE_2__","__vue_styles__","context","Component","a","isExternal","includes","restrictedNicknames","complicated","_includes3","_babel_loader_timeline_js__WEBPACK_IMPORTED_MODULE_0__","_babel_loader_timeline_js__WEBPACK_IMPORTED_MODULE_0___default","_node_modules_vue_loader_lib_template_compiler_index_id_data_v_1ae34aee_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_timeline_vue__WEBPACK_IMPORTED_MODULE_1__","_babel_loader_status_js__WEBPACK_IMPORTED_MODULE_0__","_babel_loader_status_js__WEBPACK_IMPORTED_MODULE_0___default","_node_modules_vue_loader_lib_template_compiler_index_id_data_v_f83de8e4_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_status_vue__WEBPACK_IMPORTED_MODULE_1__","_babel_loader_user_card_js__WEBPACK_IMPORTED_MODULE_0__","_babel_loader_user_card_js__WEBPACK_IMPORTED_MODULE_0___default","_node_modules_vue_loader_lib_template_compiler_index_id_data_v_2ed8d8bd_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_user_card_vue__WEBPACK_IMPORTED_MODULE_1__","srgbToLinear","srgb","split","reduce","acc","bit","Math","pow","c2linear","relativeLuminance","_srgbToLinear","g","b","rgb2hex","_typeof3","_r","_map2","_map5","ceil","toString","hex2rgb","hex","exec","parseInt","mixrgb","k","invert","rgb","getContrastRatio","la","lb","alphaBlend","fg","fga","bg","fileType","mimetype","match","fileTypeService","fileMatchesSomeType","types","_babel_loader_user_avatar_js__WEBPACK_IMPORTED_MODULE_0__","_babel_loader_user_avatar_js__WEBPACK_IMPORTED_MODULE_0___default","_node_modules_vue_loader_lib_template_compiler_index_id_data_v_056a5e34_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_user_avatar_vue__WEBPACK_IMPORTED_MODULE_1__","_babel_loader_basic_user_card_js__WEBPACK_IMPORTED_MODULE_0__","_babel_loader_basic_user_card_js__WEBPACK_IMPORTED_MODULE_0___default","_node_modules_vue_loader_lib_template_compiler_index_id_data_v_effb8e08_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_basic_user_card_vue__WEBPACK_IMPORTED_MODULE_1__","_chromatism","_color_convert","rgb2rgba","rgba","getTextColor","text","preserve","bgIsLight","convert","hsl","textIsLight","base","_assign2","invertLightness","contrastRatio","applyTheme","input","commit","_generatePreset","generatePreset","rules","theme","classList","add","styleEl","styleSheet","sheet","insertRule","radii","colors","shadows","fonts","remove","getCssShadow","usesDropShadow","inset","shad","x","y","blur","spread","concat","getCssColor","color","alpha","getCssShadowFilter","Number","startsWith","generateColors","opacity","alert","faint","v","col","mod","lightText","brightness","link","lightBg","fgText","fgLink","border","btn","btnText","inputText","panel","panelText","panelLink","panelFaint","topBar","topBarText","topBarLink","faintLink","linkBg","icon","cBlue","cRed","cGreen","cOrange","alertError","alertErrorText","alertErrorPanelText","alertWarning","alertWarningText","alertWarningPanelText","badgeNotification","badgeNotificationText","htmlColors","solid","complete","generateRadii","inputRadii","btnRadius","endsWith","checkbox","avatarAlt","tooltip","attachment","generateFonts","interface","family","post","postCode","generateShadows","top","shadow","buttonInsetFakeBorders","inputInsetFakeBorders","hoverGlow","popup","avatarStatus","panelHeader","button","buttonHover","buttonPressed","composePreset","getThemes","themes","catch","setStyle","href","cssEl","addEventListener","baseEl","_times3","toUpperCase","getComputedStyle","getPropertyValue","removeChild","setPreset","isV1","Array","isArray","bgRgb","fgRgb","textRgb","linkRgb","cRedRgb","cGreenRgb","cBlueRgb","cOrangeRgb","themeLoaded","REDIRECT_URI","location","origin","getOrCreateApp","clientId","clientSecret","instance","___pleromafe_commit_hash","Date","toISOString","app","client_id","client_secret","oauth","getClientToken","login","response_type","redirect_uri","scope","_reduce3","encoded","getToken","code","getTokenWithCredentials","username","verifyOTPCode","mfaToken","verifyRecoveryCode","revokeToken","_babel_loader_conversation_js__WEBPACK_IMPORTED_MODULE_0__","_babel_loader_conversation_js__WEBPACK_IMPORTED_MODULE_0___default","_node_modules_vue_loader_lib_template_compiler_index_id_data_v_06d49b5c_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_conversation_vue__WEBPACK_IMPORTED_MODULE_1__","_babel_loader_notifications_js__WEBPACK_IMPORTED_MODULE_0__","_babel_loader_notifications_js__WEBPACK_IMPORTED_MODULE_0___default","_node_modules_vue_loader_lib_template_compiler_index_id_data_v_329c7806_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_notifications_vue__WEBPACK_IMPORTED_MODULE_1__","_timeline","PublicTimeline","components","Timeline","computed","$store","state","timelines","created","dispatch","destroyed","getExcludedStatusIdsByPinning","pinnedStatusIds","ids","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_step","_iterator","_getIterator3","done","return","props","paused","unfocused","bottomedOut","timelineError","newStatusCount","newStatusCountStr","flushMarker","classes","root","embedded","header","footer","excludedStatusIdsObject","visibleStatuses","_keyBy3","pinnedStatusIdsObject","Status","Conversation","store","currentUser","showImmediately","scrollLoad","api","fetchers","timelineName","timelineFetcher","fetchAndUpdate","mounted","hidden","handleVisibilityChange","handleShortKey","removeEventListener","methods","tagName","toLowerCase","showNewStatuses","excludeUserId","fetchOlderStatuses","_throttle3","_this","older","bodyBRect","getBoundingClientRect","height","max","loading","getters","mergedConfig","autoLoad","$el","offsetHeight","innerHeight","pageYOffset","watch","count","streaming","doc","documentElement","scrollTop","clientTop","pauseOnUnfocused","_tiny_post_html_processorService","_user_highlighter","_matcherService","_vuex","replying","unmuted","userExpanded","showingTall","inConversation","focused","showingLongSubject","expandingSubject","collapseMessageWithSubject","localCollapseSubjectDefault","muteWords","repeaterClass","statusoid","highlightClass","userClass","retweeted_status","deleted","repeaterStyle","highlight","highlightStyle","userStyle","noHeading","hideAttachments","hideAttachmentsInConv","userProfileLink","generateUserProfileLink","replyProfileLink","isReply","in_reply_to_user_id","replyToName","retweeter","retweeterHtml","name_html","retweeterProfileLink","statusFromGlobalRepository","allStatusesObject","loggedIn","muteWordHits","statusText","statusSummary","summary","_filter3","muteWord","muted","inProfile","thread_muted","hideFilteredStatuses","hideStatus","hideReply","isFocused","tallStatus","statusnet_html","longSubject","in_reply_to_status_id","in_reply_to_screen_name","findUser","replyVisibility","checkFollowing","attentions","taggedUser","hideSubjectStatus","hideTallStatus","showingMore","nsfwClickthrough","nsfw","replySubject","decodedSummary","_unescape3","behavior","subjectLineBehavior","startsWithRe","attachmentSize","attachments","maxThumbnails","compact","galleryTypes","playVideosInModal","galleryAttachments","nonGalleryAttachments","_this2","postBodyHtml","html","greentext","processHtml","string","replace","trim","contentHtml","summary_html","combinedFavsAndRepeatsUsers","combinedUsers","favoritedBy","rebloggedBy","_uniqBy3","ownStatus","tagObj","hidePostStats","mapGetters","mapState","betterShadow","browserSupport","cssFilter","Attachment","FavoriteButton","RetweetButton","ExtraButtons","PostStatusForm","Poll","UserCard","UserAvatar","Gallery","LinkPreview","AvatarList","Timeago","StatusPopover","visibilityIcon","showError","clearError","linkClicked","closest","className","attn","find","mentionMatchesUrl","stopPropagation","preventDefault","$router","rel","extractTagFromUrl","generateTagLink","open","toggleReplying","gotoOriginal","$emit","toggleExpanded","toggleMute","toggleUserExpanded","toggleShowMore","_user_profile_link_generator2","setMedia","_this3","rect","scrollBy","bottom","status.repeat_num","num","status.fave_num","filters","capitalize","str","charAt","nsfwImage","nsfwCensorImage","hideNsfwLocal","hideNsfw","preloadImage","img","modalOpen","showHidden","StillImage","VideoAttachment","usePlaceHolder","size","referrerpolicy","mediaProxyAvailable","isEmpty","oembed","isSmall","fullwidth","openModal","modalTypes","toggleHidden","useOneClickNsfw","onImageLoad","image","width","naturalWidth","naturalHeight","naturalSizeLoad","stopGifs","animated","onLoad","imageLoadHandler","$refs","canvas","getContext","drawImage","onError","imageLoadError","loopVideo","onVideoDataLoad","srcElement","webkitAudioDecodedByteCount","loopVideoSilentOnly","mozHasAudio","audioTracks","favorited","icon-star-empty","icon-star","animate-spin","repeated","retweeted","retweeted-empty","polls","pollsObject","basePoll","expiresAt","expires_at","expired","showResults","voted","totalVotesCount","votes_count","containerClass","choiceIndices","entry","index","isDisabled","noChoice","percentageForOption","round","resultTitle","$t","statusId","activateOption","allElements","querySelectorAll","clickedElement","querySelector","checked","_forEach3","element","optionId","DateUtils","relativeTime","interval","localeDateString","time","parse","toLocaleString","refreshRelativeTimeObject","nowThreshold","longFormat","relativeTimeShort","autoUpdate","confirm","pinStatus","unpinStatus","_this4","canDelete","rights","moderator","admin","canPin","canMute","_offset_finderService","MediaUpload","EmojiInput","PollForm","ScopeSelector","Checkbox","resize","textarea","textLength","setSelectionRange","replyTo","focus","$route","scopeCopy","_ref$attentions","allAttentions","unshift","_reject3","mentions","attention","buildMentionsString","repliedUser","copyMessageScope","default_scope","postContentType","dropFiles","submitDisabled","posting","highlighted","newStatus","subject","files","caret","pollFormVisible","userDefaultScope","showAllScopes","minimalScopesMode","emojiUserSuggestor","_suggestor2","emoji","_toConsumableArray3","customEmoji","updateUsersList","emojiSuggestor","statusLength","spoilerTextLength","statusLengthLimit","textlimit","hasStatusLengthLimit","charactersLeft","isOverLengthLimit","alwaysShowSubject","alwaysShowSubjectInput","postFormats","safeDMEnabled","safeDM","pollsAvailable","pollLimits","max_options","hideScopeNotice","pollContentError","statusPoster","mediaUpload","clearFile","clearPollForm","el","style","addMediaFile","fileInfo","enableSubmit","removeMediaFile","indexOf","uploadFailed","errString","templateArgs","disableSubmit","paste","clipboardData","fileDrop","dataTransfer","fileDrag","dropEffect","onEmojiInputInput","$nextTick","Element","formRef","bottomRef","bottomBottomPaddingStr","bottomBottomPadding","substring","scrollerRef","topPaddingStr","bottomPaddingStr","vertPadding","currentScroll","scrollY","scrollerHeight","scrollerBottomBorder","newHeight","scrollHeight","bottomBottomBorder","findOffset","isBottomObstructed","isFormBiggerThanScroller","bottomChangeDelta","targetScroll","selectionStart","scroll","showEmojiPicker","triggerShowPicker","changeVis","togglePollForm","setPoll","pollForm","clear","dismissScopeNotice","uploading","uploadReady","uploadFile","self","uploadlimit","filesize","fileSizeFormatService","fileSizeFormat","allowedsize","filesizeunit","unit","allowedsizeunit","statusPosterService","fileData","contains","change","fileInfos","currentScope","initialScope","showNothing","showPublic","showUnlisted","showPrivate","showDirect","originalScope","shouldShow","css","selected","unlisted","private","direct","showAll","userDefault","onScopeChange","suggest","required","Function","String","enableEmojiPicker","Boolean","hideEmojiButton","enableStickerPicker","blurTimeout","showPicker","temporarilyHideSuggestions","keepOpen","disableClickOutside","EmojiPicker","padEmoji","firstchar","textAtCaret","matchedSuggestions","_take3","imageUrl","showSuggestions","wordAtCaret","word","Completion","wordAtPosition","slots","$slots","slot","elm","onBlur","onFocus","onPaste","onKeyUp","onKeyDown","onClickInput","onTransition","onCompositionUpdate","unmounted","picker","startEmojiLoad","scrollIntoView","togglePicker","replacement","newValue","replaceWord","insert","insertion","before","after","isSpaceRegex","spaceBefore","spaceAfter","position","replaceText","suggestion","len","start","cycleBackward","cycleForward","rootRef","rootBottomBorder","setCaret","onClick","ctrlKey","shiftKey","onInput","onClickOutside","onStickerUploaded","onStickerUploadFailed","_$refs","_input$elm","offsetBottom","offsetTop","_checkbox","filterByKeyword","list","keyword","displayText","activeGroup","showingStickers","groupsScrolledClass","customEmojiBufferSlice","customEmojiTimeout","customEmojiLoadAllConfirmed","StickerPicker","onEmoji","onScroll","updateScrolledClass","scrolledGroup","triggerLoadMore","setShowStickers","scrollTopMax","ref","scrollerBottom","clientHeight","scrollerTop","scrollerMax","loadEmoji","emojisView","group","customEmojiBuffer","filteredEmoji","forceUpdate","toggleStickers","activeGroupView","stickersAvailable","stickers","emojis","standardEmojis","customEmojis","stickerPickerEnabled","model","prop","pollType","expiryAmount","expiryUnit","maxOptions","maxLength","max_option_chars","expiryUnits","expiry","convertExpiryFromUnit","max_expiration","minExpirationInCurrentUnit","convertExpiryToUnit","min_expiration","maxExpirationInCurrentUnit","floor","nextOption","addOption","deleteOption","amount","MINUTE","HOUR","DAY","expiryAmountChange","min","updatePollToParent","_uniq3","followRequestInProgress","user-card-rounded-t","rounded","user-card-rounded","user-card-bordered","bordered","customTheme","tintColor","backgroundColor","backgroundImage","cover_photo","isOtherUser","subscribeUrl","serverUrl","URL","statusnet_profile_url","protocol","host","dailyAvg","days","created_at","statuses_count","userHighlightType","set","userHighlightColor","visibleRole","validRole","roleTitle","hideFollowsCount","hide_follows_count","hideFollowersCount","hide_followers_count","RemoteFollow","ModerationTools","AccountActions","ProgressButton","FollowButton","setProfileView","switcher","parentNode","zoomAvatar","profile_image_url_original","_stillImage","showPlaceholder","imgSrc","disabled","click","progress","_follow_manipulate","inProgress","isPressed","title","requested","label","labelFollowing","unfollow","follow","requestFollow","requestUnfollow","showDropDown","FORCE_NSFW","STRIP_MEDIA","FORCE_UNLISTED","DISABLE_REMOTE_SUBSCRIPTION","DISABLE_ANY_SUBSCRIPTION","SANDBOX","QUARANTINE","showDeleteUserDialog","DialogModal","tagsSet","_set2","hasTagPolicy","tagPolicyAvailable","hasTag","has","toggleTag","backendInteractor","toggleRight","toggleActivationStatus","deactivated","deleteUserDialog","show","isProfile","isTargetUser","history","back","darkOverlay","onCancel","_progress_button","showRepeats","hideRepeats","mentionUser","sizes","rows","_chunk3","lastAttachment","allButLastRow","_dropRight3","useContainFit","onNaturalSizeLoad","$set","rowStyle","itemsPerRow","padding-bottom","itemStyle","row","total","_sumBy3","item","getAspectRatio","flex","imageLoaded","useImage","card","useDescription","description","test","newImg","Image","slicedUsers","popperOptions","modifiers","preventOverflow","padding","boundariesElement","_find3","allStatuses","enter","sortById","idA","idB","seqA","seqB","isSeqA","_isNan2","isSeqB","conversation","expanded","isPage","originalStatusId","conversationId","getConversationId","isExpanded","_clone3","conversationsObject","statusIndex","_findIndex3","sort","sortAndFilterConversation","replies","irid","newVal","oldVal","newConversationId","oldConversationId","setHighlight","getReplies","getHighlight","_get3","PublicAndExternalTimeline","FriendsTimeline","TagTimeline","_conversation","conversationPage","_notifications","tabModeDict","likes+repeats","follows","Interactions","filterMode","onModeSwitch","Notifications","_notification_utils","minimalMode","mainClass","notificationsFromStore","unseenNotifications","unseenNotificationsFromStore","visibleNotifications","visibleNotificationsFromStore","unseenCount","Notification","markAsSeen","fetchOlderNotifications","notificationsFetcher","notifs","getUser","notification","usersObject","from_profile","userInStore","needMute","DMs","FollowerList","_with_load_more2","select","_get2","destroy","childPropName","additionalPropNames","List","FriendList","UserProfile","tab","routeParams","load","stopFetching","isUs","followsTabVisible","hide_follows","followersTabVisible","hide_followers","userNameOrId","startFetchingTimeline","loadById","reason","errorMessage","switchUser","onTabSwitch","$route.params.id","$route.params.name","$route.query","FollowCard","BasicUserCard","isMe","items","getKey","Search","loaded","searchTerm","userIds","hashtags","currenResultTab","search","newQuery","searchInput","getActiveTab","resultCount","tabName","onResultTabSwitch","lastHistoryRecord","hashtag","_version","_config","multiChoiceProperties","loopSilentAvailable","_getOwnPropertyDescriptor2","HTMLVideoElement","HTMLMediaElement","backendVersion","frontendVersion","TabSwitcher","StyleSwitcher","InterfaceLanguageSwitcher","currentSaveStateNotice","instanceSpecificPanelPresent","showInstanceSpecificPanel","frontendVersionLink","backendVersionLink","extractCommit","instanceDefaultProperties","instanceDefaultConfig","_extends6","_defineProperty3","configDefaultState","muteWordsString","_trim3","notificationVisibility","handler","deep","_vue","_style_setter","v1OnlyNames","availableStyles","previewShadows","previewColors","previewRadii","previewFonts","shadowsInvalid","colorsInvalid","radiiInvalid","keepColor","keepShadows","keepOpacity","keepRoundness","keepFonts","textColorLocal","linkColorLocal","bgColorLocal","bgOpacityLocal","fgColorLocal","fgTextColorLocal","fgLinkColorLocal","btnColorLocal","btnTextColorLocal","btnOpacityLocal","inputColorLocal","inputTextColorLocal","inputOpacityLocal","panelColorLocal","panelTextColorLocal","panelLinkColorLocal","panelFaintColorLocal","panelOpacityLocal","topBarColorLocal","topBarTextColorLocal","topBarLinkColorLocal","alertErrorColorLocal","alertWarningColorLocal","badgeOpacityLocal","badgeNotificationColorLocal","borderColorLocal","borderOpacityLocal","faintColorLocal","faintOpacityLocal","faintLinkColorLocal","cRedColorLocal","cBlueColorLocal","cGreenColorLocal","cOrangeColorLocal","shadowSelected","shadowsLocal","fontsLocal","btnRadiusLocal","inputRadiusLocal","checkboxRadiusLocal","panelRadiusLocal","avatarRadiusLocal","avatarAltRadiusLocal","attachmentRadiusLocal","tooltipRadiusLocal","themesComplete","normalizeLocalState","shadowsAvailable","selectedVersion","currentColors","currentOpacity","topBarOpacityLocal","currentRadii","preview","previewTheme","previewContrast","fgs","red","green","blue","orange","bgs","ratios","bgText","bgLink","bgRed","bgGreen","bgBlue","bgOrange","tintText","ratio","toPrecision","aa","aaa","laa","laaa","previewRules","_values2","currentShadowOverriden","currentShadow","currentShadowFallback","delete","themeValid","exportedTheme","saveEverything","_pleroma_theme_version","ColorInput","OpacityInput","RangeInput","ContrastRatio","ShadowControl","FontControl","Preview","ExportImport","setCustomTheme","onImport","parsed","importValidator","version","clearAll","clearV1","$data","clearRoundness","clearOpacity","clearShadows","clearFonts","keys","_set3","warn","fontsInvalid","present","selectedId","cValue","fallback","del","moveUp","movable","moveDn","beforeUpdate","ready","moveUpValid","moveDnValid","usingFallback","boxShadow","lValue","availableOptions","noInherit","dValue","isCustom","preset","hint","levelVal","contrast","level","hint_18pt","importFailed","exportData","stringified","exportObject","btoa","display","importData","filePicker","reader","FileReader","JSON","validator","readAsText","languageCodes","_messages2","languageNames","getLanguageName","language","interfaceLanguage","$i18n","ja","ja_easy","zh","_iso2","getName","_vuelidate","_validators","registration","mixins","validationMixin","fullname","captcha","validations","sameAsPassword","sameAs","registrationOpen","signedIn","setCaptcha","bioPlaceholder","isPending","signUpPending","serverValidationErrors","signUpErrors","termsOfService","tos","mapActions","submit","captcha_solution","solution","captcha_token","captcha_answer_data","answer_data","$v","$touch","$invalid","signUp","cpt","passwordReset","success","throttled","mailerEnabled","passwordResetRequested","dismissError","server","_password_reset2","BlockList","_with_subscription2","SelectableList","MuteList","UserSettings","newEmail","newName","newBio","_unescape2","newLocked","locked","newNoRichText","no_rich_text","newDefaultScope","hideFollows","hideFollowers","showRole","show_role","role","discoverable","pickAvatarBtnVisible","bannerUploading","backgroundUploading","bannerPreview","backgroundPreview","bannerUploadError","backgroundUploadError","mascotPreview","mascotUploadError","changeEmailError","changeEmailPassword","changedEmail","deletingAccount","deleteAccountConfirmPasswordInput","deleteAccountError","changePasswordInputs","changedPassword","changePasswordError","activeTab","notificationSettings","notification_settings","ImageCropper","Autosuggest","BlockCard","MuteCard","Importer","Exporter","Mfa","pleromaBackend","vis","oauthTokens","tokens","oauthToken","appName","app_name","validUntil","valid_until","toLocaleDateString","note","display_name","readAsDataURL","submitAvatar","cropper","that","getCroppedCanvas","toBlob","clearUploadError","submitBanner","submitBg","_this5","submitMascot","_this6","mascotUploading","generateExportableUsersContent","is_local","hostname","getFollowsContent","getBlocksContent","confirmDelete","_this7","res","_this8","logout","_this9","activateTab","filterUnblockedUsers","_this10","_reject2","statusnet_blocking","filterUnMutedUsers","_this11","queryUserIds","blockUsers","unblockUsers","muteUsers","unmuteUsers","identity","trigger","submitHandler","cropperOptions","aspectRatio","autoCropArea","viewMode","zoomable","guides","mimes","saveButtonLabel","saveWithoutCroppingButtonlabel","cancelButtonLabel","dataUrl","filename","submitting","submitError","saveText","saveWithoutCroppingText","cancelText","submitErrorMsg","cropping","avatarUploadError","finally","pickImage","createCropper","Cropper","getTriggerDOM","readFile","fileInput","beforeDestroy","_basic_user_card","blocked","allKeys","filteredSelected","allSelected","noneSelected","someSelected","isSelected","toggle","toggleAll","placeholder","term","results","resultsVisible","filtered","fetchResults","onInputClick","submitButtonLabel","successMessage","dismiss","getContent","exportButtonLabel","processingMessage","processing","process","content","fileToDownload","available","enabled","totp","setupState","setupOTPState","backupCodes","getNewCodes","codes","otpSettings","provisioning_uri","currentPassword","otpConfirmToken","readyInit","recovery-codes","RecoveryCodes","totp-item","TOTP","qrcode","VueQrcode","Confirm","canSetupOTP","setupInProgress","backupCodesPrepared","setupOTPInProgress","completedOTP","prepareOTP","confirmOTP","confirmNewBackupCodes","activateOTP","fetchBackupCodes","getBackupCodes","confirmBackupCodes","cancelBackupCodes","setupOTP","doConfirmOTP","completeSetup","fetchSettings","cancelSetup","fetchSettingsMFA","abrupt","displayTitle","deactivate","isActivated","doActivate","cancelDeactivate","doDeactivate","confirmDeactivate","cancel","_follow_request_card","FollowRequests","FollowRequestCard","requests","followRequests","_oauth","oac","_$store$state$oauth","access_token","LoginForm","isPasswordAuth","requiredPassword","isTokenAuth","requiredToken","loggingIn","mapMutations","submitToken","submitPassword","oauthApi","requireMFA","identifier","focusOnPasswordInput","passwordInput","authApp","authSettings","mfa_token","mfaApi","_user_profile_link_generator","chatPanel","currentMessage","channel","collapsed","messages","chat","togglePanel","WhoToFollow","getWhoToFollow","showWhoToFollow","reply","acct","externalUser","About","InstanceSpecificPanel","FeaturesPanel","TermsOfServicePanel","StaffPanel","MRFTransparencyPanel","showFeaturesPanel","hideISP","instanceSpecificPanelContent","chatAvailable","gopher","gopherAvailable","whoToFollow","suggestionsEnabled","mediaProxy","staffAccounts","federationPolicy","mrfPolicies","mrf_policies","acceptInstances","mrf_simple","accept","rejectInstances","quarantineInstances","quarantined_instances","ftlRemovalInstances","federated_timeline_removal","mediaNsfwInstances","media_nsfw","mediaRemovalInstances","media_removal","redirect","_window_utils","UserPanel","NavPanel","SearchBar","WhoToFollowPanel","ChatPanel","MediaModal","SideDrawer","MobilePostStatusButton","MobileNav","UserReportingModal","PostStatusModal","mobileActivePanel","searchBarHidden","supportsMask","CSS","supports","updateMobileState","background_image","enableMask","logoMask","logoStyle","logoMaskStyle","mask-image","logo","background-color","logoBgStyle","margin","logoMargin","bgStyle","background-image","bgAppStyle","--body-background-image","sitename","isMobileLayout","mobileLayout","scrollToTop","scrollTo","onSearchBarToggled","windowWidth","AuthForm","followRequestCount","route","usersToFollow","toFollow","shuffled","_shuffle3","fill","oldUser","Modal","showing","mediaViewer","activated","currentIndex","currentMedia","canNavigate","mediaSwipeGestureRight","GestureService","swipeGesture","DIRECTION_RIGHT","goPrev","mediaSwipeGestureLeft","DIRECTION_LEFT","goNext","mediaTouchStart","beginSwipe","mediaTouchMove","updateSwipe","hide","prevIndex","nextIndex","handleKeyupEvent","keyCode","handleKeydownEvent","isOpen","closed","closeGesture","toggleDrawer","unseenNotificationsCount","doLogout","touchStart","touchMove","scrollingDown","inputActive","oldScrollPos","amountScrolled","autohideFloatingPostButton","activateFloatingPostButtonAutohide","handleOSK","deactivateFloatingPostButtonAutohide","isLoggedIn","isHidden","isEnabled","handleScrollStart","handleScrollEnd","openPostForm","smallPhone","innerWidth","smallPhoneKbOpen","biggerPhoneKbOpen","_debounce3","leading","trailing","notificationsCloseGesture","notificationsOpen","closeMobileNotifications","toggleMobileSidebar","sideDrawer","openMobileNotifications","notificationsTouchStart","notificationsTouchMove","_ref$target","statusIdsToReport","reports","modalActivated","remoteInstance","substr","resetState","closeModal","isChecked","toggleStatus","resettingForm","isFormVisible","Vue","component","renderOnlyFocused","onSwitch","scrollableTabs","active","findIndex","activeIndex","render","h","tabs","classesTab","classesWrapper","attrs","class","on","contents","browserLocale","navigator","defaultState","hideMutedPosts","hoverPreview","likes","repeats","webPushNotifications","hideUserStats","config","rootState","rootGetters","_extends4","mutations","setOption","actions","_ref9$userId","timelineFetcherService","startFetching","startFetchingNotifications","startFetchingFollowRequest","followRequestFetcher","_babel_loader_still_image_js__WEBPACK_IMPORTED_MODULE_0__","_babel_loader_still_image_js__WEBPACK_IMPORTED_MODULE_0___default","_node_modules_vue_loader_lib_template_compiler_index_id_data_v_1bc509fc_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_still_image_vue__WEBPACK_IMPORTED_MODULE_1__","_babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_timeago_vue__WEBPACK_IMPORTED_MODULE_0__","_babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_timeago_vue__WEBPACK_IMPORTED_MODULE_0___default","_node_modules_vue_loader_lib_template_compiler_index_id_data_v_ac499830_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_timeago_vue__WEBPACK_IMPORTED_MODULE_1__","_babel_loader_post_status_form_js__WEBPACK_IMPORTED_MODULE_0__","_babel_loader_post_status_form_js__WEBPACK_IMPORTED_MODULE_0___default","_node_modules_vue_loader_lib_template_compiler_index_id_data_v_c2ba770c_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_post_status_form_vue__WEBPACK_IMPORTED_MODULE_1__","_babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_progress_button_vue__WEBPACK_IMPORTED_MODULE_0__","_babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_progress_button_vue__WEBPACK_IMPORTED_MODULE_0___default","_node_modules_vue_loader_lib_template_compiler_index_id_data_v_9f751ae6_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_progress_button_vue__WEBPACK_IMPORTED_MODULE_1__","visibleTypes","sortedNotifications","_sortBy3","seen","_babel_loader_follow_card_js__WEBPACK_IMPORTED_MODULE_0__","_babel_loader_follow_card_js__WEBPACK_IMPORTED_MODULE_0___default","_node_modules_vue_loader_lib_template_compiler_index_id_data_v_5b90ae69_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_follow_card_vue__WEBPACK_IMPORTED_MODULE_1__","_babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_list_vue__WEBPACK_IMPORTED_MODULE_0__","_babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_list_vue__WEBPACK_IMPORTED_MODULE_0___default","_node_modules_vue_loader_lib_template_compiler_index_id_data_v_c1790f52_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_list_vue__WEBPACK_IMPORTED_MODULE_1__","_babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_modal_vue__WEBPACK_IMPORTED_MODULE_0__","_babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_modal_vue__WEBPACK_IMPORTED_MODULE_0___default","_node_modules_vue_loader_lib_template_compiler_index_id_data_v_068d175e_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_modal_vue__WEBPACK_IMPORTED_MODULE_1__","touchEventCoord","touches","screenX","screenY","vectorLength","sqrt","dotProduct","v1","v2","project","scalar","DIRECTION_UP","DIRECTION_DOWN","direction","onSwipe","threshold","perpendicularTolerance","_startPos","_swiping","gesture","oldCoord","newCoord","delta","towardsDir","perpendicularDir","towardsPerpendicular","staticRenderFns","_vm","_h","$createElement","_c","_self","staticClass","_e","_v","loop","controls","playsinline","loadeddata","_obj","_s","directives","rawName","expression","$event","small","large_thumb_url","image-load-handler","allowPlay","thumb_url","domProps","innerHTML","oembedHTML","fave_num","repeat_num","datetime","_l","path","auto-update","now-threshold","placement","pinned","drop","dragover","staticStyle","indeterminate","_t","composing","refInFor","callback","$$v","uploaded","upload-failed","with-picker","enable-sticker-picker","sticker-uploaded","sticker-upload-failed","detailText","maxlength","keydown","_k","for","$$selectedVal","_value","autocomplete","to","enable-emoji-picker","hide-emoji-button","metaKey","keyup","compositionupdate","show-all","user-default","original-scope","initial-scope","on-scope-change","postFormat","visible","update-poll","drop-files","avatar-compact","better-shadow","alt","image-load-error","action","pressed","dark-overlay","currentTarget","menu-checkbox-checked","on-cancel","container","showing_reblogs","hide-bio","hideBio","_m","follows_you","subscribed","friends_count","followers_count","description_html","contain-fit","cover-fit","set-media","allow-play","natural-size-load","small-image","provider_name","popover-class","popper-options","is-preview","status-el_focused","status-conversation","inlineExpanded","isPreview","is-retweet","data-tags","nativeOn","!click","_f","external_url","expandable","status-id","aria-label","tall-status","tall-status-hider_focused","base-poll","button-icon-active","replies_count","logged-in","onSuccess","reply-to","replied-user","copy-message-scope","posted","inline-expanded","collapsable","show-pinned","in-conversation","in-profile","goto","statusesObject","pinned-status-ids-object","timeline-name","is-page","no-heading","minimal","unseen","on-switch","minimal-mode","filter-mode","noFollowsYou","label-following","empty","viewing","allow-zooming-avatar","active-tab","render-only-focused","user-id","pinned-status-ids","scopedSlots","_u","fn","no-follows-you","uses","hardMax","hardMin","step","__r","_i","$$a","$$el","$$c","$$i","custom","large","exportLabel","importLabel","importFailedText","export-object","export-label","import-label","import-failed-text","on-import","hard-min","no-inherit","langCode","hideMutedPostsLocalizedValue","collapseMessageWithSubjectLocalizedValue","scopeCopyLocalizedValue","alwaysShowSubjectInputLocalizedValue","subjectLineBehaviorDefaultValue","postContentTypeDefaultValue","minimalScopesModeLocalizedValue","number","_n","$forceUpdate","greentextLocalizedValue","hidePostStatsLocalizedValue","hideUserStatsLocalizedValue","hideFilteredStatusesLocalizedValue","form-group--error","$error","textContent","get-key","selectable-list-item-selected-inner","activate","backup-codes","classname","submit-handler","close","success-message","error-message","get-content","export-button-label","refresh","requireTOTP","abortMFA","requireRecovery","floating","chat-heading","author","policy","backdropClicked","touchstart","touchmove","side-drawer-container-closed","side-drawer-container-open","side-drawer-darken-closed","side-drawer-closed","side-drawer-click-outside-closed","active-class","is-open","_b","toggled","_ref$media","_ref$inReplyToStatusI","_ref$contentType","noIdUpdate","_ref2$timeline","_ref2$older","_ref2$showImmediately","_ref2$userId","_ref2$tag","timelineData","_camelCase3","minId","numStatusesBeforeFetch","ccTimeline","update","_ref3$timeline","_ref3$userId","_ref3$tag","setInterval","POSITIVE_INFINITY","fetchNotifications","unread","ar","require","ca","cs","de","en","eo","es","et","eu","fi","fr","ga","he","hu","it","ko","nb","nl","oc","pl","pt","ro","ru","te","_babel_loader_attachment_js__WEBPACK_IMPORTED_MODULE_0__","_babel_loader_attachment_js__WEBPACK_IMPORTED_MODULE_0___default","_node_modules_vue_loader_lib_template_compiler_index_id_data_v_47ab0ca0_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_attachment_vue__WEBPACK_IMPORTED_MODULE_1__","_babel_loader_video_attachment_js__WEBPACK_IMPORTED_MODULE_0__","_babel_loader_video_attachment_js__WEBPACK_IMPORTED_MODULE_0___default","_node_modules_vue_loader_lib_template_compiler_index_id_data_v_6fce6a82_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_video_attachment_vue__WEBPACK_IMPORTED_MODULE_1__","SECOND","WEEK","MONTH","YEAR","date","now","abs","exponent","units","log","toFixed","_babel_loader_scope_selector_js__WEBPACK_IMPORTED_MODULE_0__","_babel_loader_scope_selector_js__WEBPACK_IMPORTED_MODULE_0___default","_node_modules_vue_loader_lib_template_compiler_index_id_data_v_28e8cbf1_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_scope_selector_vue__WEBPACK_IMPORTED_MODULE_1__","_babel_loader_emoji_input_js__WEBPACK_IMPORTED_MODULE_0__","_babel_loader_emoji_input_js__WEBPACK_IMPORTED_MODULE_0___default","_node_modules_vue_loader_lib_template_compiler_index_id_data_v_a4078164_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_emoji_input_vue__WEBPACK_IMPORTED_MODULE_1__","child","parent","_ref$top","_ref$left","left","ignorePadding","offsetLeft","_findPadding","findPadding","topPadding","leftPadding","offsetParent","_findPadding2","leftPaddingStr","debounceUserSearch","firstChar","suggestEmoji","suggestUsers","noPrefix","aScore","bScore","newUsers","_babel_loader_remote_follow_js__WEBPACK_IMPORTED_MODULE_0__","_babel_loader_remote_follow_js__WEBPACK_IMPORTED_MODULE_0___default","_node_modules_vue_loader_lib_template_compiler_index_id_data_v_e95e446e_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_remote_follow_vue__WEBPACK_IMPORTED_MODULE_1__","_babel_loader_follow_button_js__WEBPACK_IMPORTED_MODULE_0__","_babel_loader_follow_button_js__WEBPACK_IMPORTED_MODULE_0___default","_node_modules_vue_loader_lib_template_compiler_index_id_data_v_3ddddf8d_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_follow_button_vue__WEBPACK_IMPORTED_MODULE_1__","prefs","solidColor","tintColor2","backgroundPosition","_isFunction","getComponentOptions","_isFunction2","getComponentProps","_babel_loader_style_switcher_js__WEBPACK_IMPORTED_MODULE_0__","_babel_loader_style_switcher_js__WEBPACK_IMPORTED_MODULE_0___default","_node_modules_vue_loader_lib_template_compiler_index_id_data_v_1bd287ab_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_style_switcher_vue__WEBPACK_IMPORTED_MODULE_1__","_babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_color_input_vue__WEBPACK_IMPORTED_MODULE_0__","_babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_color_input_vue__WEBPACK_IMPORTED_MODULE_0___default","_node_modules_vue_loader_lib_template_compiler_index_id_data_v_a377bb38_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_color_input_vue__WEBPACK_IMPORTED_MODULE_1__","_babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_opacity_input_vue__WEBPACK_IMPORTED_MODULE_0__","_babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_opacity_input_vue__WEBPACK_IMPORTED_MODULE_0___default","_node_modules_vue_loader_lib_template_compiler_index_id_data_v_87056ae2_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_opacity_input_vue__WEBPACK_IMPORTED_MODULE_1__","_babel_loader_confirm_js__WEBPACK_IMPORTED_MODULE_0__","_babel_loader_confirm_js__WEBPACK_IMPORTED_MODULE_0___default","_node_modules_vue_loader_lib_template_compiler_index_id_data_v_20b6e7b3_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_confirm_vue__WEBPACK_IMPORTED_MODULE_1__","is","authForm","requiredTOTP","requiredRecovery","MFARecoveryForm","MFATOTPForm","mfa","_babel_loader_chat_panel_js__WEBPACK_IMPORTED_MODULE_0__","_babel_loader_chat_panel_js__WEBPACK_IMPORTED_MODULE_0___default","_node_modules_vue_loader_lib_template_compiler_index_id_data_v_7ea51572_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_chat_panel_vue__WEBPACK_IMPORTED_MODULE_1__","_babel_loader_instance_specific_panel_js__WEBPACK_IMPORTED_MODULE_0__","_babel_loader_instance_specific_panel_js__WEBPACK_IMPORTED_MODULE_0___default","_node_modules_vue_loader_lib_template_compiler_index_id_data_v_5b01187b_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_instance_specific_panel_vue__WEBPACK_IMPORTED_MODULE_1__","_babel_loader_features_panel_js__WEBPACK_IMPORTED_MODULE_0__","_babel_loader_features_panel_js__WEBPACK_IMPORTED_MODULE_0___default","_node_modules_vue_loader_lib_template_compiler_index_id_data_v_3443e05c_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_features_panel_vue__WEBPACK_IMPORTED_MODULE_1__","_babel_loader_side_drawer_js__WEBPACK_IMPORTED_MODULE_0__","_babel_loader_side_drawer_js__WEBPACK_IMPORTED_MODULE_0___default","_node_modules_vue_loader_lib_template_compiler_index_id_data_v_5c94965a_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_side_drawer_vue__WEBPACK_IMPORTED_MODULE_1__","clientWidth","currentLocale","use","Vuex","VueRouter","VueI18n","VueChatScroll","VueClickOutside","PortalVue","VBodyScrollLock","VTooltip","popover","defaultTrigger","defaultContainer","defaultOffset","i18n","fallbackLocale","persistedStateOptions","paths","persistedState","_persisted_state2","Store","interfaceModule","instanceModule","statusesModule","usersModule","apiModule","configModule","chatModule","oauthModule","authFlow","authFlowModule","mediaViewerModule","oauthTokensModule","reportsModule","pollsModule","postStatusModule","plugins","pushNotifications","strict","_after_store2","___pleromafe_mode","COMMIT_HASH","___pleromafe_dev_overrides","DEV_OVERRIDES","interfaceMod","noticeClearTimeout","notificationPermission","settingsSaved","errorData","setNotificationPermission","permission","setMobileLayout","setPageTitle","redirectRootNoLogin","redirectRootLogin","disableChat","vapidPublicKey","noAttachmentLinks","emojiFetched","customEmojiFetched","suggestionsWeb","setInstanceOption","getStaticEmoji","values","getCustomEmoji","_callee2","_context2","image_url","setTheme","themeName","fetchEmoji","emptyTl","faves","visibleStatusesObject","minVisibleId","followers","emptyNotifications","desktopNotificationSilence","idStore","prepareStatus","visibleNotificationTypes","mergeOrAdd","arr","obj","oldItem","_merge3","_omitBy3","new","sortTimeline","addStatusToGlobalStorage","statusnet_conversation_id","addNewStatuses","_ref2$user","_ref2$noIdUpdate","_isArray3","timelineObject","maxNew","_maxBy3","minNew","_minBy3","newer","addStatus","addToTimeline","resultForCurrentTimeline","processors","retweetedStatus","counter","favoriteStatus","deletion","uri","_remove3","removeStatusFromGlobalStorage","unknown","addNewNotifications","notifObj","profile_image_url","i18nString","removeStatus","_first3","oldTimeline","_slice3","resetStatuses","emptyState","clearTimeline","_ref8$excludeUserId","clearNotifications","setFavorited","setFavoritedConfirm","setMutedStatus","setRetweeted","setRetweetedConfirm","setDeleted","setManyDeleted","condition","setLoading","setNsfw","setError","setNotificationsLoading","setNotificationsError","setNotificationsSilence","queueFlush","addRepeats","rebloggedByUsers","addFavs","favoritedByUsers","updateStatusWithPoll","_ref27$showImmediatel","_ref27$timeline","_ref27$noIdUpdate","markStatusesAsDeleted","fetchFavsAndRepeats","fetchFavs","fetchRepeats","output","masto","mastoShort","addEmojis","fields","fields_html","field","following_count","bot","pleroma","relationship","chat_token","followed_by","blocking","muting","subscribing","is_moderator","is_admin","source","privacy","delete_others_notice","friendIds","followerIds","follow_request_count","mime_type","meta","matchOperatorsRegex","regexSafeShortCode","shortcode","RegExp","favourited","favourites_count","reblogged","reblogs_count","reblog","spoiler_text","conversation_id","local","in_reply_to_account_acct","in_reply_to_id","in_reply_to_account_id","is_post_verb","qvitter_delete_notice","activity_type","isNsfw","account","media_attachments","favourite","is_seen","parsedNotice","notice","ntype","favorited_status","statusCode","captureStackTrace","_create2","constructor","_classCallCheck3","_possibleConstructorReturn3","__proto__","_getPrototypeOf2","ap_id","humanizeErrors","errors","errs","_capitalize3","_push","setMuted","newTags","updateRight","newRights","updateActivationStatus","setCurrentUser","lastLoginName","clearCurrentUser","beginLogin","endLogin","saveFriendIds","saveFollowerIds","clearFriends","clearFollowers","addNewUsers","updateUserRelationship","relationships","updateBlocks","blockedUsers","saveBlockIds","blockIds","addBlockId","blockId","updateMutes","mutedUsers","saveMuteIds","muteIds","addMuteId","muteId","mascotUrl","setPinnedToUser","setUserForStatus","setUserForNotification","setColor","signUpSuccess","signUpFailure","blocks","mutes","hideReblogs","showReblogs","registerPushNotifications","unregisterPushNotifications","retweetedUsers","_compact3","notificationIds","notificationsObject","relevantNotifications","userInfo","_x5","_x6","_x7","_store$rootState","userToken","_backend_interactor_service2","loginUser","requestPermission","_apiService","isPushSupported","getOrCreateServiceWorker","subscribeOptions","userVisibleOnly","applicationServerKey","base64String","repeat","base64","rawData","atob","Uint8Array","from","char","charCodeAt","pushManager","subscribe","subscribePush","subscription","alerts","mention","responseData","sendSubscriptionToBackEnd","deleteSubscriptionFromBackEnd","getSubscription","subscribtion","unsubscribe","unsubscribePush","unsubResult","unregister","runtime","_backend_interactor_service","_phoenix","socket","setBackendInteractor","addFetcher","fetcherName","fetcher","removeFetcher","setWsToken","wsToken","setSocket","setFollowRequests","clearInterval","initializeSocket","Socket","connect","disconnectFromSocket","disconnect","removeFollowRequest","setChannel","addMessage","setMessages","initializeChat","msg","appToken","setClientData","setAppToken","setToken","clearToken","getUserToken","strategy","initStrategy","setInitialStrategy","requirePassword","requireToken","namespaced","_file_typeService","setCurrent","current","closeMediaViewer","fetchTokens","swapTokens","_filter","openUserReportingModal","closeUserReportingModal","_filter2","trackedPolls","mergeOrAddPoll","existingPoll","trackPoll","currentValue","untrackPoll","updateTrackedPoll","votePoll","openPostStatusModal","closePostStatusModal","_ref$key","_ref$paths","_ref$getState","getState","storage","getItem","_ref$setState","setState","setItem","_ref$reducer","reducer","defaultReducer","_ref$storage","defaultStorage","_ref$subscriber","subscriber","savedState","usersState","replaceState","_lodash2","mutation","saveImmedeatelyActions","substate","objectPath","localforage","webPushNotification","isUserMutation","isVapidMutation","isPermMutation","isUserConfigMutation","isVisibilityMutation","bodyScrollLock","previousNavPaddingRight","previousAppBgWrapperRight","lockerEls","disableBodyScroll","scrollBarGap","reserveScrollBarGap","navEl","getElementById","paddingRight","appBgWrapperEl","enableBodyScroll","directive","inserted","binding","componentUpdated","oldValue","unbind","getStatusnetConfig","_data$site","registrationClosed","safeDMMentionsEnabled","site","avatarlimit","backgroundlimit","bannerlimit","pleromafe","getStaticConfig","setSettings","_callee3","overrides","env","copyInstanceOption","apiConfig","staticConfig","_context3","NODE_ENV","staticConfigPreference","loginMethod","getTOS","_callee4","_context4","_x3","getInstancePanel","_callee5","_context5","_x4","getStickers","_callee7","_context7","_callee6","resPack","_context6","pack","localeCompare","t1","getAppSecret","_callee8","_context8","resolveStaffAccounts","_callee9","_context9","pop","_x8","getNodeInfo","_callee10","metadata","features","software","federation","_context10","web","_x9","setConfig","_callee11","configInfos","_context11","_x10","checkOAuthToken","_callee13","_context13","_callee12","_context12","_x12","_x13","_x11","afterStoreSetup","_callee14","router","_context14","routes","_routes2","scrollBehavior","_from","savedPosition","matched","dontScroll","App","_x14","validateAuthenticatedRoute","_to","beforeEnter","ConversationPage","RemoteUserResolver","Settings","Registration","PasswordReset","OAuthCallback","_babel_loader_public_timeline_js__WEBPACK_IMPORTED_MODULE_0__","_babel_loader_public_timeline_js__WEBPACK_IMPORTED_MODULE_0___default","_node_modules_vue_loader_lib_template_compiler_index_id_data_v_5f2a502e_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_public_timeline_vue__WEBPACK_IMPORTED_MODULE_1__","locals","_babel_loader_favorite_button_js__WEBPACK_IMPORTED_MODULE_0__","_babel_loader_favorite_button_js__WEBPACK_IMPORTED_MODULE_0___default","_node_modules_vue_loader_lib_template_compiler_index_id_data_v_2ced002f_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_favorite_button_vue__WEBPACK_IMPORTED_MODULE_1__","_babel_loader_retweet_button_js__WEBPACK_IMPORTED_MODULE_0__","_babel_loader_retweet_button_js__WEBPACK_IMPORTED_MODULE_0___default","_node_modules_vue_loader_lib_template_compiler_index_id_data_v_538410cc_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_retweet_button_vue__WEBPACK_IMPORTED_MODULE_1__","_babel_loader_poll_js__WEBPACK_IMPORTED_MODULE_0__","_babel_loader_poll_js__WEBPACK_IMPORTED_MODULE_0___default","_node_modules_vue_loader_lib_template_compiler_index_id_data_v_6feb4525_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_poll_vue__WEBPACK_IMPORTED_MODULE_1__","_babel_loader_extra_buttons_js__WEBPACK_IMPORTED_MODULE_0__","_babel_loader_extra_buttons_js__WEBPACK_IMPORTED_MODULE_0___default","_node_modules_vue_loader_lib_template_compiler_index_id_data_v_0caa0403_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_extra_buttons_vue__WEBPACK_IMPORTED_MODULE_1__","_babel_loader_media_upload_js__WEBPACK_IMPORTED_MODULE_0__","_babel_loader_media_upload_js__WEBPACK_IMPORTED_MODULE_0___default","_node_modules_vue_loader_lib_template_compiler_index_id_data_v_74382032_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_media_upload_vue__WEBPACK_IMPORTED_MODULE_1__","toReplace","end","pos","words","splitIntoWords","wordsWithPosition","addPositionToWords","previous","triggers","matches","completion","_babel_loader_emoji_picker_js__WEBPACK_IMPORTED_MODULE_0__","_babel_loader_emoji_picker_js__WEBPACK_IMPORTED_MODULE_0___default","_node_modules_vue_loader_lib_template_compiler_index_id_data_v_47d21b3b_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_emoji_picker_vue__WEBPACK_IMPORTED_MODULE_1__","_babel_loader_poll_form_js__WEBPACK_IMPORTED_MODULE_0__","_babel_loader_poll_form_js__WEBPACK_IMPORTED_MODULE_0___default","_node_modules_vue_loader_lib_template_compiler_index_id_data_v_1f896331_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_poll_form_vue__WEBPACK_IMPORTED_MODULE_1__","updated","attempt","_babel_loader_moderation_tools_js__WEBPACK_IMPORTED_MODULE_0__","_babel_loader_moderation_tools_js__WEBPACK_IMPORTED_MODULE_0___default","_node_modules_vue_loader_lib_template_compiler_index_id_data_v_756a6c4e_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_moderation_tools_vue__WEBPACK_IMPORTED_MODULE_1__","_babel_loader_dialog_modal_js__WEBPACK_IMPORTED_MODULE_0__","_babel_loader_dialog_modal_js__WEBPACK_IMPORTED_MODULE_0___default","_node_modules_vue_loader_lib_template_compiler_index_id_data_v_eafd78a6_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_dialog_modal_vue__WEBPACK_IMPORTED_MODULE_1__","_babel_loader_account_actions_js__WEBPACK_IMPORTED_MODULE_0__","_babel_loader_account_actions_js__WEBPACK_IMPORTED_MODULE_0___default","_node_modules_vue_loader_lib_template_compiler_index_id_data_v_16abbea5_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_account_actions_vue__WEBPACK_IMPORTED_MODULE_1__","_babel_loader_gallery_js__WEBPACK_IMPORTED_MODULE_0__","_babel_loader_gallery_js__WEBPACK_IMPORTED_MODULE_0___default","_node_modules_vue_loader_lib_template_compiler_index_id_data_v_68a574b8_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_gallery_vue__WEBPACK_IMPORTED_MODULE_1__","_babel_loader_link_preview_js__WEBPACK_IMPORTED_MODULE_0__","_babel_loader_link_preview_js__WEBPACK_IMPORTED_MODULE_0___default","_node_modules_vue_loader_lib_template_compiler_index_id_data_v_7c8d99ac_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_link_preview_vue__WEBPACK_IMPORTED_MODULE_1__","_babel_loader_avatar_list_js__WEBPACK_IMPORTED_MODULE_0__","_babel_loader_avatar_list_js__WEBPACK_IMPORTED_MODULE_0___default","_node_modules_vue_loader_lib_template_compiler_index_id_data_v_4cea5bcf_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_avatar_list_vue__WEBPACK_IMPORTED_MODULE_1__","_babel_loader_status_popover_js__WEBPACK_IMPORTED_MODULE_0__","_babel_loader_status_popover_js__WEBPACK_IMPORTED_MODULE_0___default","_node_modules_vue_loader_lib_template_compiler_index_id_data_v_ef621460_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_status_popover_vue__WEBPACK_IMPORTED_MODULE_1__","processor","handledTags","openCloseTags","buffer","textBuffer","tagBuffer","flush","handleBr","handleOpen","handleClose","tagFull","_attention$screen_nam","_attention$screen_nam2","namepart","instancepart","matchstring","_babel_loader_public_and_external_timeline_js__WEBPACK_IMPORTED_MODULE_0__","_babel_loader_public_and_external_timeline_js__WEBPACK_IMPORTED_MODULE_0___default","_node_modules_vue_loader_lib_template_compiler_index_id_data_v_f6923484_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_public_and_external_timeline_vue__WEBPACK_IMPORTED_MODULE_1__","_babel_loader_friends_timeline_js__WEBPACK_IMPORTED_MODULE_0__","_babel_loader_friends_timeline_js__WEBPACK_IMPORTED_MODULE_0___default","_node_modules_vue_loader_lib_template_compiler_index_id_data_v_22490669_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_friends_timeline_vue__WEBPACK_IMPORTED_MODULE_1__","_babel_loader_tag_timeline_js__WEBPACK_IMPORTED_MODULE_0__","_babel_loader_tag_timeline_js__WEBPACK_IMPORTED_MODULE_0___default","_node_modules_vue_loader_lib_template_compiler_index_id_data_v_047310d3_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_tag_timeline_vue__WEBPACK_IMPORTED_MODULE_1__","_babel_loader_conversation_page_js__WEBPACK_IMPORTED_MODULE_0__","_babel_loader_conversation_page_js__WEBPACK_IMPORTED_MODULE_0___default","_node_modules_vue_loader_lib_template_compiler_index_id_data_v_46654d24_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_conversation_page_vue__WEBPACK_IMPORTED_MODULE_1__","_babel_loader_interactions_js__WEBPACK_IMPORTED_MODULE_0__","_babel_loader_interactions_js__WEBPACK_IMPORTED_MODULE_0___default","_node_modules_vue_loader_lib_template_compiler_index_id_data_v_956f2436_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_interactions_vue__WEBPACK_IMPORTED_MODULE_1__","_babel_loader_notification_js__WEBPACK_IMPORTED_MODULE_0__","_babel_loader_notification_js__WEBPACK_IMPORTED_MODULE_0___default","_node_modules_vue_loader_lib_template_compiler_index_id_data_v_b3ea6222_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_notification_vue__WEBPACK_IMPORTED_MODULE_1__","_babel_loader_dm_timeline_js__WEBPACK_IMPORTED_MODULE_0__","_babel_loader_dm_timeline_js__WEBPACK_IMPORTED_MODULE_0___default","_node_modules_vue_loader_lib_template_compiler_index_id_data_v_294f8b6d_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_dm_timeline_vue__WEBPACK_IMPORTED_MODULE_1__","_babel_loader_user_profile_js__WEBPACK_IMPORTED_MODULE_0__","_babel_loader_user_profile_js__WEBPACK_IMPORTED_MODULE_0___default","_node_modules_vue_loader_lib_template_compiler_index_id_data_v_17386938_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_user_profile_vue__WEBPACK_IMPORTED_MODULE_1__","_component_utils","_ref$childPropName","_ref$additionalPropNa","WrappedComponent","entries","$props","fetchEntries","newEntries","_isEmpty2","$listeners","$scopedSlots","children","_babel_loader_search_js__WEBPACK_IMPORTED_MODULE_0__","_babel_loader_search_js__WEBPACK_IMPORTED_MODULE_0___default","_node_modules_vue_loader_lib_template_compiler_index_id_data_v_3962ec42_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_search_vue__WEBPACK_IMPORTED_MODULE_1__","_babel_loader_settings_js__WEBPACK_IMPORTED_MODULE_0__","_babel_loader_settings_js__WEBPACK_IMPORTED_MODULE_0___default","_node_modules_vue_loader_lib_template_compiler_index_id_data_v_1e697ee0_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_settings_vue__WEBPACK_IMPORTED_MODULE_1__","_babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_range_input_vue__WEBPACK_IMPORTED_MODULE_0__","_babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_range_input_vue__WEBPACK_IMPORTED_MODULE_0___default","_node_modules_vue_loader_lib_template_compiler_index_id_data_v_81777656_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_range_input_vue__WEBPACK_IMPORTED_MODULE_1__","_babel_loader_shadow_control_js__WEBPACK_IMPORTED_MODULE_0__","_babel_loader_shadow_control_js__WEBPACK_IMPORTED_MODULE_0___default","_node_modules_vue_loader_lib_template_compiler_index_id_data_v_4f14fbae_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_shadow_control_vue__WEBPACK_IMPORTED_MODULE_1__","_babel_loader_font_control_js__WEBPACK_IMPORTED_MODULE_0__","_babel_loader_font_control_js__WEBPACK_IMPORTED_MODULE_0___default","_node_modules_vue_loader_lib_template_compiler_index_id_data_v_0edf8dfc_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_font_control_vue__WEBPACK_IMPORTED_MODULE_1__","_babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_contrast_ratio_vue__WEBPACK_IMPORTED_MODULE_0__","_babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_contrast_ratio_vue__WEBPACK_IMPORTED_MODULE_0___default","_node_modules_vue_loader_lib_template_compiler_index_id_data_v_3203db10_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_contrast_ratio_vue__WEBPACK_IMPORTED_MODULE_1__","_babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_export_import_vue__WEBPACK_IMPORTED_MODULE_0__","_babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_export_import_vue__WEBPACK_IMPORTED_MODULE_0___default","_node_modules_vue_loader_lib_template_compiler_index_id_data_v_35d05e9f_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_export_import_vue__WEBPACK_IMPORTED_MODULE_1__","_babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_interface_language_switcher_vue__WEBPACK_IMPORTED_MODULE_0__","_babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_interface_language_switcher_vue__WEBPACK_IMPORTED_MODULE_0___default","_node_modules_vue_loader_lib_template_compiler_index_id_data_v_25d06bfd_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_interface_language_switcher_vue__WEBPACK_IMPORTED_MODULE_1__","versionString","_babel_loader_registration_js__WEBPACK_IMPORTED_MODULE_0__","_babel_loader_registration_js__WEBPACK_IMPORTED_MODULE_0___default","_node_modules_vue_loader_lib_template_compiler_index_id_data_v_177f3bfe_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_registration_vue__WEBPACK_IMPORTED_MODULE_1__","_babel_loader_password_reset_js__WEBPACK_IMPORTED_MODULE_0__","_babel_loader_password_reset_js__WEBPACK_IMPORTED_MODULE_0___default","_node_modules_vue_loader_lib_template_compiler_index_id_data_v_750c6ec4_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_password_reset_vue__WEBPACK_IMPORTED_MODULE_1__","MASTODON_PASSWORD_RESET_URL","_babel_loader_user_settings_js__WEBPACK_IMPORTED_MODULE_0__","_babel_loader_user_settings_js__WEBPACK_IMPORTED_MODULE_0___default","_node_modules_vue_loader_lib_template_compiler_index_id_data_v_032ea2f0_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_user_settings_vue__WEBPACK_IMPORTED_MODULE_1__","_babel_loader_image_cropper_js__WEBPACK_IMPORTED_MODULE_0__","_babel_loader_image_cropper_js__WEBPACK_IMPORTED_MODULE_0___default","_node_modules_vue_loader_lib_template_compiler_index_id_data_v_3babea86_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_image_cropper_vue__WEBPACK_IMPORTED_MODULE_1__","_babel_loader_block_card_js__WEBPACK_IMPORTED_MODULE_0__","_babel_loader_block_card_js__WEBPACK_IMPORTED_MODULE_0___default","_node_modules_vue_loader_lib_template_compiler_index_id_data_v_633eab92_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_block_card_vue__WEBPACK_IMPORTED_MODULE_1__","_babel_loader_mute_card_js__WEBPACK_IMPORTED_MODULE_0__","_babel_loader_mute_card_js__WEBPACK_IMPORTED_MODULE_0___default","_node_modules_vue_loader_lib_template_compiler_index_id_data_v_4de27707_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_mute_card_vue__WEBPACK_IMPORTED_MODULE_1__","_babel_loader_selectable_list_js__WEBPACK_IMPORTED_MODULE_0__","_babel_loader_selectable_list_js__WEBPACK_IMPORTED_MODULE_0___default","_node_modules_vue_loader_lib_template_compiler_index_id_data_v_1c291d00_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_selectable_list_vue__WEBPACK_IMPORTED_MODULE_1__","_babel_loader_autosuggest_js__WEBPACK_IMPORTED_MODULE_0__","_babel_loader_autosuggest_js__WEBPACK_IMPORTED_MODULE_0___default","_node_modules_vue_loader_lib_template_compiler_index_id_data_v_5fe32d1d_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_autosuggest_vue__WEBPACK_IMPORTED_MODULE_1__","_babel_loader_importer_js__WEBPACK_IMPORTED_MODULE_0__","_babel_loader_importer_js__WEBPACK_IMPORTED_MODULE_0___default","_node_modules_vue_loader_lib_template_compiler_index_id_data_v_4927596c_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_importer_vue__WEBPACK_IMPORTED_MODULE_1__","_babel_loader_exporter_js__WEBPACK_IMPORTED_MODULE_0__","_babel_loader_exporter_js__WEBPACK_IMPORTED_MODULE_0___default","_node_modules_vue_loader_lib_template_compiler_index_id_data_v_7229517a_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_exporter_vue__WEBPACK_IMPORTED_MODULE_1__","fetchedData","fetchData","_babel_loader_mfa_js__WEBPACK_IMPORTED_MODULE_0__","_babel_loader_mfa_js__WEBPACK_IMPORTED_MODULE_0___default","_node_modules_vue_loader_lib_template_compiler_index_id_data_v_e9d3ba70_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_mfa_vue__WEBPACK_IMPORTED_MODULE_1__","_babel_loader_mfa_backup_codes_js__WEBPACK_IMPORTED_MODULE_0__","_babel_loader_mfa_backup_codes_js__WEBPACK_IMPORTED_MODULE_0___default","_node_modules_vue_loader_lib_template_compiler_index_id_data_v_613f1377_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_mfa_backup_codes_vue__WEBPACK_IMPORTED_MODULE_1__","_babel_loader_mfa_totp_js__WEBPACK_IMPORTED_MODULE_0__","_babel_loader_mfa_totp_js__WEBPACK_IMPORTED_MODULE_0___default","_node_modules_vue_loader_lib_template_compiler_index_id_data_v_df66df96_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_mfa_totp_vue__WEBPACK_IMPORTED_MODULE_1__","_babel_loader_follow_requests_js__WEBPACK_IMPORTED_MODULE_0__","_babel_loader_follow_requests_js__WEBPACK_IMPORTED_MODULE_0___default","_node_modules_vue_loader_lib_template_compiler_index_id_data_v_9c427644_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_follow_requests_vue__WEBPACK_IMPORTED_MODULE_1__","_babel_loader_follow_request_card_js__WEBPACK_IMPORTED_MODULE_0__","_babel_loader_follow_request_card_js__WEBPACK_IMPORTED_MODULE_0___default","_node_modules_vue_loader_lib_template_compiler_index_id_data_v_1edf2e22_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_follow_request_card_vue__WEBPACK_IMPORTED_MODULE_1__","_babel_loader_oauth_callback_js__WEBPACK_IMPORTED_MODULE_0__","_babel_loader_oauth_callback_js__WEBPACK_IMPORTED_MODULE_0___default","_node_modules_vue_loader_lib_template_compiler_index_id_data_v_f514124c_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_oauth_callback_vue__WEBPACK_IMPORTED_MODULE_1__","_babel_loader_login_form_js__WEBPACK_IMPORTED_MODULE_0__","_babel_loader_login_form_js__WEBPACK_IMPORTED_MODULE_0___default","_node_modules_vue_loader_lib_template_compiler_index_id_data_v_38aaa196_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_login_form_vue__WEBPACK_IMPORTED_MODULE_1__","_babel_loader_recovery_form_js__WEBPACK_IMPORTED_MODULE_0__","_babel_loader_recovery_form_js__WEBPACK_IMPORTED_MODULE_0___default","_node_modules_vue_loader_lib_template_compiler_index_id_data_v_129661d4_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_recovery_form_vue__WEBPACK_IMPORTED_MODULE_1__","_babel_loader_totp_form_js__WEBPACK_IMPORTED_MODULE_0__","_babel_loader_totp_form_js__WEBPACK_IMPORTED_MODULE_0___default","_node_modules_vue_loader_lib_template_compiler_index_id_data_v_b4428228_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_totp_form_vue__WEBPACK_IMPORTED_MODULE_1__","_babel_loader_who_to_follow_js__WEBPACK_IMPORTED_MODULE_0__","_babel_loader_who_to_follow_js__WEBPACK_IMPORTED_MODULE_0___default","_node_modules_vue_loader_lib_template_compiler_index_id_data_v_4f8c3288_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_who_to_follow_vue__WEBPACK_IMPORTED_MODULE_1__","_babel_loader_about_js__WEBPACK_IMPORTED_MODULE_0__","_babel_loader_about_js__WEBPACK_IMPORTED_MODULE_0___default","_node_modules_vue_loader_lib_template_compiler_index_id_data_v_acd3d67e_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_about_vue__WEBPACK_IMPORTED_MODULE_1__","_babel_loader_terms_of_service_panel_js__WEBPACK_IMPORTED_MODULE_0__","_babel_loader_terms_of_service_panel_js__WEBPACK_IMPORTED_MODULE_0___default","_node_modules_vue_loader_lib_template_compiler_index_id_data_v_687e38f6_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_terms_of_service_panel_vue__WEBPACK_IMPORTED_MODULE_1__","_babel_loader_staff_panel_js__WEBPACK_IMPORTED_MODULE_0__","_babel_loader_staff_panel_js__WEBPACK_IMPORTED_MODULE_0___default","_node_modules_vue_loader_lib_template_compiler_index_id_data_v_0a6a2c3a_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_staff_panel_vue__WEBPACK_IMPORTED_MODULE_1__","_babel_loader_mrf_transparency_panel_js__WEBPACK_IMPORTED_MODULE_0__","_babel_loader_mrf_transparency_panel_js__WEBPACK_IMPORTED_MODULE_0___default","_node_modules_vue_loader_lib_template_compiler_index_id_data_v_095aba87_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_mrf_transparency_panel_vue__WEBPACK_IMPORTED_MODULE_1__","_babel_loader_remote_user_resolver_js__WEBPACK_IMPORTED_MODULE_0__","_babel_loader_remote_user_resolver_js__WEBPACK_IMPORTED_MODULE_0___default","_node_modules_vue_loader_lib_template_compiler_index_id_data_v_198402c4_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_remote_user_resolver_vue__WEBPACK_IMPORTED_MODULE_1__","_babel_loader_App_js__WEBPACK_IMPORTED_MODULE_0__","_babel_loader_App_js__WEBPACK_IMPORTED_MODULE_0___default","_node_modules_vue_loader_lib_template_compiler_index_id_data_v_7a1f867c_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_App_vue__WEBPACK_IMPORTED_MODULE_1__","_babel_loader_user_panel_js__WEBPACK_IMPORTED_MODULE_0__","_babel_loader_user_panel_js__WEBPACK_IMPORTED_MODULE_0___default","_node_modules_vue_loader_lib_template_compiler_index_id_data_v_0c6dc368_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_user_panel_vue__WEBPACK_IMPORTED_MODULE_1__","_babel_loader_nav_panel_js__WEBPACK_IMPORTED_MODULE_0__","_babel_loader_nav_panel_js__WEBPACK_IMPORTED_MODULE_0___default","_node_modules_vue_loader_lib_template_compiler_index_id_data_v_4da1509a_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_nav_panel_vue__WEBPACK_IMPORTED_MODULE_1__","_babel_loader_search_bar_js__WEBPACK_IMPORTED_MODULE_0__","_babel_loader_search_bar_js__WEBPACK_IMPORTED_MODULE_0___default","_node_modules_vue_loader_lib_template_compiler_index_id_data_v_723d6cec_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_search_bar_vue__WEBPACK_IMPORTED_MODULE_1__","_babel_loader_who_to_follow_panel_js__WEBPACK_IMPORTED_MODULE_0__","_babel_loader_who_to_follow_panel_js__WEBPACK_IMPORTED_MODULE_0___default","_node_modules_vue_loader_lib_template_compiler_index_id_data_v_b4d31272_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_who_to_follow_panel_vue__WEBPACK_IMPORTED_MODULE_1__","_babel_loader_media_modal_js__WEBPACK_IMPORTED_MODULE_0__","_babel_loader_media_modal_js__WEBPACK_IMPORTED_MODULE_0___default","_node_modules_vue_loader_lib_template_compiler_index_id_data_v_c0e28422_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_media_modal_vue__WEBPACK_IMPORTED_MODULE_1__","_babel_loader_mobile_post_status_button_js__WEBPACK_IMPORTED_MODULE_0__","_babel_loader_mobile_post_status_button_js__WEBPACK_IMPORTED_MODULE_0___default","_node_modules_vue_loader_lib_template_compiler_index_id_data_v_336b066e_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_mobile_post_status_button_vue__WEBPACK_IMPORTED_MODULE_1__","_babel_loader_mobile_nav_js__WEBPACK_IMPORTED_MODULE_0__","_babel_loader_mobile_nav_js__WEBPACK_IMPORTED_MODULE_0___default","_node_modules_vue_loader_lib_template_compiler_index_id_data_v_26b7478b_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_mobile_nav_vue__WEBPACK_IMPORTED_MODULE_1__","_babel_loader_user_reporting_modal_js__WEBPACK_IMPORTED_MODULE_0__","_babel_loader_user_reporting_modal_js__WEBPACK_IMPORTED_MODULE_0___default","_node_modules_vue_loader_lib_template_compiler_index_id_data_v_21174d5d_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_user_reporting_modal_vue__WEBPACK_IMPORTED_MODULE_1__","_babel_loader_post_status_modal_js__WEBPACK_IMPORTED_MODULE_0__","_babel_loader_post_status_modal_js__WEBPACK_IMPORTED_MODULE_0___default","_node_modules_vue_loader_lib_template_compiler_index_id_data_v_b6b8d3a2_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_post_status_modal_vue__WEBPACK_IMPORTED_MODULE_1__","component_normalizer","font-family"],"mappings":"aACA,SAAAA,EAAAC,GAQA,IAPA,IAMAC,EAAAC,EANAC,EAAAH,EAAA,GACAI,EAAAJ,EAAA,GACAK,EAAAL,EAAA,GAIAM,EAAA,EAAAC,EAAA,GACQD,EAAAH,EAAAK,OAAoBF,IAC5BJ,EAAAC,EAAAG,GACAG,EAAAP,IACAK,EAAAG,KAAAD,EAAAP,GAAA,IAEAO,EAAAP,GAAA,EAEA,IAAAD,KAAAG,EACAO,OAAAC,UAAAC,eAAAC,KAAAV,EAAAH,KACAc,EAAAd,GAAAG,EAAAH,IAKA,IAFAe,KAAAhB,GAEAO,EAAAC,QACAD,EAAAU,OAAAV,GAOA,OAHAW,EAAAR,KAAAS,MAAAD,EAAAb,GAAA,IAGAe,IAEA,SAAAA,IAEA,IADA,IAAAC,EACAf,EAAA,EAAiBA,EAAAY,EAAAV,OAA4BF,IAAA,CAG7C,IAFA,IAAAgB,EAAAJ,EAAAZ,GACAiB,GAAA,EACAC,EAAA,EAAkBA,EAAAF,EAAAd,OAA2BgB,IAAA,CAC7C,IAAAC,EAAAH,EAAAE,GACA,IAAAf,EAAAgB,KAAAF,GAAA,GAEAA,IACAL,EAAAQ,OAAApB,IAAA,GACAe,EAAAM,IAAAC,EAAAN,EAAA,KAIA,OAAAD,EAIA,IAAAQ,EAAA,GAKApB,EAAA,CACAqB,EAAA,GAGAZ,EAAA,GAQA,SAAAS,EAAA1B,GAGA,GAAA4B,EAAA5B,GACA,OAAA4B,EAAA5B,GAAA8B,QAGA,IAAAC,EAAAH,EAAA5B,GAAA,CACAK,EAAAL,EACAgC,GAAA,EACAF,QAAA,IAUA,OANAhB,EAAAd,GAAAa,KAAAkB,EAAAD,QAAAC,IAAAD,QAAAJ,GAGAK,EAAAC,GAAA,EAGAD,EAAAD,QAKAJ,EAAAO,EAAA,SAAAhC,GACA,IAAAiC,EAAA,GAKAC,EAAA3B,EAAAP,GACA,OAAAkC,EAGA,GAAAA,EACAD,EAAAzB,KAAA0B,EAAA,QACK,CAEL,IAAAC,EAAA,IAAAC,QAAA,SAAAC,EAAAC,GACAJ,EAAA3B,EAAAP,GAAA,CAAAqC,EAAAC,KAEAL,EAAAzB,KAAA0B,EAAA,GAAAC,GAGA,IACAI,EADAC,EAAAC,SAAAC,cAAA,UAGAF,EAAAG,QAAA,QACAH,EAAAI,QAAA,IACAnB,EAAAoB,IACAL,EAAAM,aAAA,QAAArB,EAAAoB,IAEAL,EAAAO,IA1DA,SAAA/C,GACA,OAAAyB,EAAAuB,EAAA,iBAAoDhD,OAAA,KAA6BiD,EAAA,wBAA2BjD,GAAA,MAyD5GkD,CAAAlD,GAGA,IAAAmD,EAAA,IAAAC,MACAb,EAAA,SAAAc,GAEAb,EAAAc,QAAAd,EAAAe,OAAA,KACAC,aAAAZ,GACA,IAAAa,EAAAlD,EAAAP,GACA,OAAAyD,EAAA,CACA,GAAAA,EAAA,CACA,IAAAC,EAAAL,IAAA,SAAAA,EAAAM,KAAA,UAAAN,EAAAM,MACAC,EAAAP,KAAAQ,QAAAR,EAAAQ,OAAAd,IACAI,EAAAW,QAAA,iBAAA9D,EAAA,cAAA0D,EAAA,KAAAE,EAAA,IACAT,EAAAQ,KAAAD,EACAP,EAAAY,QAAAH,EACAH,EAAA,GAAAN,GAEA5C,EAAAP,QAAAgE,IAGA,IAAApB,EAAAqB,WAAA,WACA1B,EAAA,CAAwBoB,KAAA,UAAAE,OAAArB,KAClB,MACNA,EAAAc,QAAAd,EAAAe,OAAAhB,EACAE,SAAAyB,KAAAC,YAAA3B,GAGA,OAAAJ,QAAAgC,IAAAnC,IAIAR,EAAA4C,EAAAxD,EAGAY,EAAA6C,EAAA3C,EAGAF,EAAA8C,EAAA,SAAA1C,EAAA2C,EAAAC,GACAhD,EAAAiD,EAAA7C,EAAA2C,IACA/D,OAAAkE,eAAA9C,EAAA2C,EAAA,CAA0CI,YAAA,EAAAC,IAAAJ,KAK1ChD,EAAAqD,EAAA,SAAAjD,GACA,oBAAAkD,eAAAC,aACAvE,OAAAkE,eAAA9C,EAAAkD,OAAAC,YAAA,CAAwDC,MAAA,WAExDxE,OAAAkE,eAAA9C,EAAA,cAAiDoD,OAAA,KAQjDxD,EAAAyD,EAAA,SAAAD,EAAAE,GAEA,GADA,EAAAA,IAAAF,EAAAxD,EAAAwD,IACA,EAAAE,EAAA,OAAAF,EACA,KAAAE,GAAA,iBAAAF,QAAAG,WAAA,OAAAH,EACA,IAAAI,EAAA5E,OAAA6E,OAAA,MAGA,GAFA7D,EAAAqD,EAAAO,GACA5E,OAAAkE,eAAAU,EAAA,WAAyCT,YAAA,EAAAK,UACzC,EAAAE,GAAA,iBAAAF,EAAA,QAAAM,KAAAN,EAAAxD,EAAA8C,EAAAc,EAAAE,EAAA,SAAAA,GAAgH,OAAAN,EAAAM,IAAqBC,KAAA,KAAAD,IACrI,OAAAF,GAIA5D,EAAAgE,EAAA,SAAA3D,GACA,IAAA2C,EAAA3C,KAAAsD,WACA,WAA2B,OAAAtD,EAAA,SAC3B,WAAiC,OAAAA,GAEjC,OADAL,EAAA8C,EAAAE,EAAA,IAAAA,GACAA,GAIAhD,EAAAiD,EAAA,SAAAgB,EAAAC,GAAsD,OAAAlF,OAAAC,UAAAC,eAAAC,KAAA8E,EAAAC,IAGtDlE,EAAAuB,EAAA,IAGAvB,EAAAmE,GAAA,SAAAC,GAA8D,MAApBC,QAAA3C,MAAA0C,GAAoBA,GAE9D,IAAAE,EAAAC,OAAA,aAAAA,OAAA,iBACAC,EAAAF,EAAAvF,KAAAgF,KAAAO,GACAA,EAAAvF,KAAAX,EACAkG,IAAAG,QACA,QAAA9F,EAAA,EAAgBA,EAAA2F,EAAAzF,OAAuBF,IAAAP,EAAAkG,EAAA3F,IACvC,IAAAU,EAAAmF,EAIAjF,EAAAR,KAAA,SAEAU,0PC1NAiF,EAAA1E,EAAA,KACAA,EAAA,KACA,IAAA2E,EAAA3E,EAAA,wDAGA,IAOM4E,EAAuB,SAACC,EAAYC,GAAb,kCAAmDD,EAAnD,qBAAkFC,GAiBzGC,EAAwB,SAAAC,GAAA,0BAA0BA,EAA1B,cACxBC,EAA0B,SAAAD,GAAA,0BAA0BA,EAA1B,gBAC1BE,EAAuB,SAAAF,GAAA,0BAA0BA,EAA1B,WACvBG,EAAyB,SAAAH,GAAA,0BAA0BA,EAA1B,aAgBzBI,EAA6B,SAAAJ,GAAA,0BAA0BA,EAA1B,aAC7BK,EAA4B,SAAAC,GAAA,+BAAgCA,GAK5DC,EAAyB,SAAAP,GAAA,0BAA0BA,EAA1B,SACzBQ,EAA2B,SAAAR,GAAA,0BAA0BA,EAA1B,WAC3BS,EAA0B,SAAAT,GAAA,kCAAkCA,EAAlC,cAC1BU,EAA4B,SAAAV,GAAA,kCAAkCA,EAAlC,gBAK5BW,EAAkC,SAAAX,GAAA,0BAA0BA,EAA1B,kBAClCY,EAAkC,SAAAZ,GAAA,0BAA0BA,EAA1B,iBAGlCa,EAA0B,SAAAb,GAAA,0BAA0BA,EAA1B,QAC1Bc,EAA4B,SAAAd,GAAA,0BAA0BA,EAA1B,UAC5Be,EAA6B,SAAAf,GAAA,0BAA0BA,EAA1B,SAC7BgB,EAA+B,SAAAhB,GAAA,0BAA0BA,EAA1B,WAK/BiB,EAAW1B,OAAO2B,MAEpBA,EAAQ,SAACC,EAAKC,GAEhB,IACMC,EADU,GACUF,EAE1B,OAJAC,EAAUA,GAAW,IAGbE,YAAc,cACfL,EAASI,EAASD,IAGrBG,EAAkB,SAAAC,GAAiE,IAA9DC,EAA8DD,EAA9DC,OAAQN,EAAsDK,EAAtDL,IAAKO,EAAiDF,EAAjDE,OAAQC,EAAyCH,EAAzCG,QAASL,EAAgCE,EAAhCF,YAAgCM,EAAAJ,EAAnBK,eAAmBtE,IAAAqE,EAAT,GAASA,EACjFR,EAAU,CACdK,SACAI,uBACEC,OAAU,mBACVC,eAAgB,oBACbF,IAiBP,OAdIH,IACFP,GAAO,KAAM,EAAAa,EAAAC,SAAeP,GACzBQ,IAAI,SAAAC,GAAA,IAAAC,GAAA,EAAAC,EAAAJ,SAAAE,EAAA,GAAErD,EAAFsD,EAAA,GAAO5D,EAAP4D,EAAA,UAAkBE,mBAAmBxD,GAAO,IAAMwD,mBAAmB9D,KACzE+D,KAAK,MAENZ,IACFP,EAAQoB,MAAO,EAAAC,EAAAR,SAAeN,IAE5BL,IACFF,EAAQS,SAAR,EAAAa,EAAAT,SAAA,GACKb,EAAQS,QACRc,EAAYrB,KAGZJ,EAAMC,EAAKC,GACfwB,KAAK,SAACC,GACL,OAAO,IAAAC,EAAAb,QAAY,SAACrG,EAASC,GAAV,OAAqBgH,EAASE,OAC9CH,KAAK,SAACG,GACL,OAAKF,EAASG,GAGPpH,EAAQmH,GAFNlH,EAAO,IAAIoH,kBAAgBJ,EAASK,OAAQH,EAAM,CAAE5B,MAAKC,WAAWyB,WAsGjFF,EAAc,SAACQ,GACnB,OAAIA,EACK,CAAEC,cAAA,UAA2BD,GAE7B,IAgGLE,EAAe,SAAAC,GAAqD,IAAlDtD,EAAkDsD,EAAlDtD,GAAIuD,EAA8CD,EAA9CC,MAAOC,EAAuCF,EAAvCE,QAAuCC,EAAAH,EAA9BI,aAA8BnG,IAAAkG,EAAtB,GAAsBA,EAAlBnC,EAAkBgC,EAAlBhC,YAClDH,EAvRyB,SAAAnB,GAAA,0BAA0BA,EAA1B,aAuRnB2D,CAAuB3D,GAC3B4D,EAAO,CACXL,aAAmBA,EACnBC,eAAuBA,EACvBE,YAAkBA,GAClBG,OAAO,SAAAC,GAAA,OAAKA,IAAGvB,KAAK,KAGtB,OAAOrB,EADPC,GAAayC,EAAO,IAAMA,EAAO,GACf,CAAE/B,QAASc,EAAYrB,KACtCsB,KAAK,SAACvJ,GAAD,OAAUA,EAAK0J,SACpBH,KAAK,SAACvJ,GAAD,OAAUA,EAAK6I,IAAI6B,gBA+mBvBC,EAAa,CACjBC,kBAhZwB,SAACC,GACzB,OAAOhD,EA7gBkB,sCA6gBQ,CAC/BW,QAASc,EAAYuB,KAEpBtB,KAAK,SAACC,GACL,OAAIA,EAASG,GACJH,EAASE,OAET,CACLrG,MAAOmG,KAIZD,KAAK,SAACvJ,GAAD,OAAUA,EAAKqD,MAAQrD,GAAO,EAAAqG,EAAAqE,WAAU1K,MAoYhD8K,cAxdoB,SAAAC,GAQhB,IAPJC,EAOID,EAPJC,SACA/C,EAMI8C,EANJ9C,YAMIgD,EAAAF,EALJG,aAKIhH,IAAA+G,KAAAE,EAAAJ,EAJJK,aAIIlH,IAAAiH,KAAAE,EAAAN,EAHJO,cAGIpH,IAAAmH,KAAAE,EAAAR,EAFJ9D,WAEI/C,IAAAqH,KAAAC,EAAAT,EADJU,iBACIvH,IAAAsH,KAYEE,EAA+B,kBAAbV,EAClB3C,EAAS,GAEXP,EAdiB,CACnB6D,OA9b6B,2BA+b7BC,QA9boC,yBA+bpCC,IAjc0C,2BAkc1CC,cA/coC,wBAgdpCC,kBAlc6B,2BAmc7BlB,KAAM9D,EACNiF,MAAOjF,EACPkF,UApdyC,qBAqdzChF,IAAKD,GAKgBgE,GAEN,SAAbA,GAAoC,UAAbA,IACzBlD,EAAMA,EAAIwD,IAGRJ,GACF7C,EAAO3H,KAAK,CAAC,WAAYwK,IAEvBE,GACF/C,EAAO3H,KAAK,CAAC,SAAU0K,IAErBnE,IACFa,EAAMA,EAAIb,IAEK,UAAb+D,GACF3C,EAAO3H,KAAK,CAAC,aAAc,IAEZ,WAAbsK,GACF3C,EAAO3H,KAAK,CAAC,SAAS,IAEP,WAAbsK,GAAsC,sBAAbA,GAC3B3C,EAAO3H,KAAK,CAAC,cAAc,IAG7B2H,EAAO3H,KAAK,CAAC,QAAS,KACtB2H,EAAO3H,KAAK,CAAC,aAAc+K,IAE3B,IAAMS,GAAc,EAAAC,EAAAvD,SAAIP,EAAQ,SAAC+D,GAAD,OAAcA,EAAM,GAApB,IAA0BA,EAAM,KAAMlD,KAAK,KAG3E,OAAOrB,EAFPC,OAAWoE,EAEO,CAAE1D,QAASc,EAAYrB,KACtCsB,KAAK,SAACvJ,GACL,GAAIA,EAAK2J,GACP,OAAO3J,EAET,MAAM,IAAIsD,MAAM,0BAA2BtD,KAE5CuJ,KAAK,SAACvJ,GAAD,OAAUA,EAAK0J,SACpBH,KAAK,SAACvJ,GAAD,OAAUA,EAAK6I,IAAI6C,EAAkBW,oBAAoBC,kBA2ZjEC,oBAxZ0B,SAAAC,GAAyB,IAAtB7F,EAAsB6F,EAAtB7F,GAAIsB,EAAkBuE,EAAlBvE,YAC3BH,EAAMf,EAA2BJ,GAAM,eAC7C,OAAOuB,EAAgB,CAAEJ,MAAKG,gBAC3BsB,KAAK,SAACvJ,GAAD,OAAUA,EAAK6I,IAAIyD,kBAsZ3BG,kBAvkBwB,SAAAC,GAAyB,IAAtB/F,EAAsB+F,EAAtB/F,GAAIsB,EAAkByE,EAAlBzE,YAC3B0E,EArU8B,SAAAhG,GAAA,0BAA0BA,EAA1B,WAqUjBiG,CAA4BjG,GAC7C,OAAOkB,EAAM8E,EAAY,CAAEnE,QAASc,EAAYrB,KAC7CsB,KAAK,SAACvJ,GACL,GAAIA,EAAK2J,GACP,OAAO3J,EAET,MAAM,IAAIsD,MAAM,0BAA2BtD,KAE5CuJ,KAAK,SAACvJ,GAAD,OAAUA,EAAK0J,SACpBH,KAAK,SAAAsD,GAAA,IAAGC,EAAHD,EAAGC,UAAWC,EAAdF,EAAcE,YAAd,MAAiC,CACrCD,UAAWA,EAAUjE,IAAIyD,eACzBS,YAAaA,EAAYlE,IAAIyD,mBA4jBjCU,YAxjBkB,SAAAC,GAAyB,IAAtBtG,EAAsBsG,EAAtBtG,GAAIsB,EAAkBgF,EAAlBhF,YACrBH,EAtVsB,SAAAnB,GAAA,0BAA0BA,EAsV1CuG,CAAoBvG,GAC9B,OAAOkB,EAAMC,EAAK,CAAEU,QAASc,EAAYrB,KACtCsB,KAAK,SAACvJ,GACL,GAAIA,EAAK2J,GACP,OAAO3J,EAET,MAAM,IAAIsD,MAAM,0BAA2BtD,KAE5CuJ,KAAK,SAACvJ,GAAD,OAAUA,EAAK0J,SACpBH,KAAK,SAACvJ,GAAD,OAAU,EAAAqG,EAAAiG,aAAYtM,MA+iB9BgK,eACAmD,cAnnBoB,SAAAC,GAAyB,IACtCC,EADgB1G,EAAsByG,EAAtBzG,GAAIsB,EAAkBmF,EAAlBnF,YAC3B,OAAO,IAAAwB,EAAAb,SAAAyE,GAAA,EAAAC,EAAA1E,SAAA2E,EAAA3E,QAAA4E,KAAY,SAAAC,EAAOlL,EAASC,GAAhB,IAAAoJ,EAAA8B,EAAAxD,EAAAyD,EAAA,OAAAJ,EAAA3E,QAAAgF,KAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,OAAAF,EAAAC,KAAA,EAEXlC,EAAU,GACV8B,GAAO,EAHI,WAIRA,EAJQ,CAAAG,EAAAE,KAAA,gBAKP7D,EAAQ0B,EAAQpL,OAAS,GAAI,EAAAwN,EAAApF,SAAKgD,GAASjF,QAAKzC,EALzC2J,EAAAE,KAAA,EAMO/D,EAAa,CAAErD,KAAIuD,QAAOjC,gBANjC,OAMP0F,EANOE,EAAAI,KAObrC,GAAU,EAAAsC,EAAAtF,SAAOgD,EAAS+B,GACL,IAAjBA,EAAMnN,SACRkN,GAAO,GATIG,EAAAE,KAAA,gBAYfxL,EAAQqJ,GAZOiC,EAAAE,KAAA,iBAAAF,EAAAC,KAAA,GAAAD,EAAAM,GAAAN,EAAA,SAcfrL,QAde,yBAAAqL,EAAAO,SAAAX,OAAAvJ,EAAA,aAAZ,SAAAmK,EAAAC,GAAA,OAAAjB,EAAAlM,MAAAoN,KAAAC,eAmnBPC,eAhmBqB,SAAAC,GAAqD,IAAlD/H,EAAkD+H,EAAlD/H,GAAIuD,EAA8CwE,EAA9CxE,MAAOC,EAAuCuE,EAAvCvE,QAAuCwE,EAAAD,EAA9BrE,aAA8BnG,IAAAyK,EAAtB,GAAsBA,EAAlB1G,EAAkByG,EAAlBzG,YACpDH,EAxTyB,SAAAnB,GAAA,0BAA0BA,EAA1B,aAwTnBiI,CAAuBjI,GAC3B4D,EAAO,CACXL,aAAmBA,EACnBC,eAAuBA,EACvBE,YAAkBA,GAClBG,OAAO,SAAAC,GAAA,OAAKA,IAAGvB,KAAK,KAGtB,OAAOrB,EADPC,GAAOyC,EAAO,IAAMA,EAAO,GACT,CAAE/B,QAASc,EAAYrB,KACtCsB,KAAK,SAACvJ,GAAD,OAAUA,EAAK0J,SACpBH,KAAK,SAACvJ,GAAD,OAAUA,EAAK6I,IAAI6B,gBAslB3BmE,WA/tBiB,SAAAC,GAAqC,IAAlCnI,EAAkCmI,EAAlCnI,GAAIsB,EAA8B6G,EAA9B7G,YAAgBF,GAAc,EAAAgH,EAAAnG,SAAAkG,EAAA,sBAClDhH,EA7LsB,SAAAnB,GAAA,0BAA0BA,EAA1B,UA6LhBqI,CAAoBrI,GACxBsI,EAAO,GAEb,YADwB/K,IAApB6D,EAAQmH,UAAyBD,EAAA,QAAkBlH,EAAQmH,SACxDrH,EAAMC,EAAK,CAChBqB,MAAM,EAAAC,EAAAR,SAAeqG,GACrBzG,yBACKc,EAAYrB,GADjB,CAEES,eAAgB,qBAElBN,OAAQ,SACPmB,KAAK,SAACvJ,GAAD,OAAUA,EAAK0J,UAqtBvByF,aAltBmB,SAAAC,GAAyB,IAAtBzI,EAAsByI,EAAtBzI,GAAIsB,EAAkBmH,EAAlBnH,YACtBH,EA1MwB,SAAAnB,GAAA,0BAA0BA,EAA1B,YA0MlB0I,CAAsB1I,GAChC,OAAOkB,EAAMC,EAAK,CAChBU,QAASc,EAAYrB,GACrBG,OAAQ,SACPmB,KAAK,SAACvJ,GAAD,OAAUA,EAAK0J,UA8sBvB4F,aA3sBmB,SAAAC,GAAyB,IAAtB5I,EAAsB4I,EAAtB5I,GAAIsB,EAAkBsH,EAAlBtH,YAC1B,OAAOC,EAAgB,CAAEJ,IAAKN,EAAwBb,GAAKsB,cAAaG,OAAQ,SAC7EmB,KAAK,SAACvJ,GAAD,OAAU,EAAAqG,EAAAiG,aAAYtM,MA0sB9BwP,eAvsBqB,SAAAC,GAAyB,IAAtB9I,EAAsB8I,EAAtB9I,GAAIsB,EAAkBwH,EAAlBxH,YAC5B,OAAOC,EAAgB,CAAEJ,IAAKL,EAA0Bd,GAAKsB,cAAaG,OAAQ,SAC/EmB,KAAK,SAACvJ,GAAD,OAAU,EAAAqG,EAAAiG,aAAYtM,MAssB9B0P,iBAnsBuB,SAAAC,GAAyB,IAAtBhJ,EAAsBgJ,EAAtBhJ,GAAIsB,EAAkB0H,EAAlB1H,YAC9B,OAAOC,EAAgB,CAAEJ,IAAKJ,EAA2Bf,GAAKsB,cAAaG,OAAQ,SAChFmB,KAAK,SAACvJ,GAAD,OAAU,EAAAqG,EAAAiG,aAAYtM,MAksB9B4P,mBA/rByB,SAAAC,GAAyB,IAAtBlJ,EAAsBkJ,EAAtBlJ,GAAIsB,EAAkB4H,EAAlB5H,YAChC,OAAOC,EAAgB,CAAEJ,IAAKH,EAA6BhB,GAAKsB,cAAaG,OAAQ,SAClFmB,KAAK,SAACvJ,GAAD,OAAU,EAAAqG,EAAAiG,aAAYtM,MA8rB9B8P,UA3rBgB,SAAAC,GAAyB,IAAtBpJ,EAAsBoJ,EAAtBpJ,GAAIsB,EAAkB8H,EAAlB9H,YACvB,OAAOJ,EArNuB,SAAAlB,GAAA,0BAA0BA,EAA1B,SAqNjBqJ,CAAwBrJ,GAAK,CACxC6B,QAASc,EAAYrB,GACrBG,OAAQ,SACPmB,KAAK,SAACvJ,GAAD,OAAUA,EAAK0J,UAwrBvBuG,YArrBkB,SAAAC,GAAyB,IAAtBvJ,EAAsBuJ,EAAtBvJ,GAAIsB,EAAkBiI,EAAlBjI,YACzB,OAAOJ,EA3NyB,SAAAlB,GAAA,0BAA0BA,EAA1B,WA2NnBwJ,CAA0BxJ,GAAK,CAC1C6B,QAASc,EAAYrB,GACrBG,OAAQ,SACPmB,KAAK,SAACvJ,GAAD,OAAUA,EAAK0J,UAkrBvB0G,UA/pBgB,SAAAC,GAAyB,IAAtB1J,EAAsB0J,EAAtB1J,GAAIsB,EAAkBoI,EAAlBpI,YAEvB,OAAOC,EAAgB,CAAEJ,IADZwI,oBAAqB3J,EACJsB,gBAC3BsB,KAAK,SAACvJ,GAAD,OAAU,EAAAqG,EAAAqE,WAAU1K,MA6pB5BuQ,sBA1pB4B,SAAAC,GAAyB,IAAtB7J,EAAsB6J,EAAtB7J,GAAIsB,EAAkBuI,EAAlBvI,YAC/BH,EAAS2I,sCAAuC9J,EACpD,OAAOkB,EAAMC,EAAK,CAAEU,QAASc,EAAYrB,KACtCsB,KAAK,SAACC,GACL,OAAO,IAAAC,EAAAb,QAAY,SAACrG,EAASC,GAAV,OAAqBgH,EAASE,OAC9CH,KAAK,SAACG,GACL,OAAKF,EAASG,GAGPpH,EAAQmH,GAFNlH,EAAO,IAAIoH,kBAAgBJ,EAASK,OAAQH,EAAM,CAAE5B,OAAO0B,WAopB5EkH,SAlZe,SAAAC,GAAyB,IAAtBhK,EAAsBgK,EAAtBhK,GAAIsB,EAAkB0I,EAAlB1I,YACtB,OAAOC,EAAgB,CAAEJ,IAAKpB,EAAsBC,GAAKyB,OAAQ,OAAQH,gBACtEsB,KAAK,SAACvJ,GAAD,OAAU,EAAAqG,EAAAiG,aAAYtM,MAiZ9B4Q,WA9YiB,SAAAC,GAAyB,IAAtBlK,EAAsBkK,EAAtBlK,GAAIsB,EAAkB4I,EAAlB5I,YACxB,OAAOC,EAAgB,CAAEJ,IAAKlB,EAAwBD,GAAKyB,OAAQ,OAAQH,gBACxEsB,KAAK,SAACvJ,GAAD,OAAU,EAAAqG,EAAAiG,aAAYtM,MA6Y9B8Q,QA1Yc,SAAAC,GAAyB,IAAtBpK,EAAsBoK,EAAtBpK,GAAIsB,EAAkB8I,EAAlB9I,YACrB,OAAOC,EAAgB,CAAEJ,IAAKjB,EAAqBF,GAAKyB,OAAQ,OAAQH,gBACrEsB,KAAK,SAACvJ,GAAD,OAAU,EAAAqG,EAAAiG,aAAYtM,MAyY9BgR,UAtYgB,SAAAC,GAAyB,IAAtBtK,EAAsBsK,EAAtBtK,GAAIsB,EAAkBgJ,EAAlBhJ,YACvB,OAAOC,EAAgB,CAAEJ,IAAKhB,EAAuBH,GAAKyB,OAAQ,OAAQH,gBACvEsB,KAAK,SAACvJ,GAAD,OAAU,EAAAqG,EAAAiG,aAAYtM,MAqY9BkR,WAlYiB,SAAAC,GAUb,IATJlJ,EASIkJ,EATJlJ,YACA4B,EAQIsH,EARJtH,OACAuH,EAOID,EAPJC,YACAC,EAMIF,EANJE,WACAC,EAKIH,EALJG,UACAC,EAIIJ,EAJJI,KAIIC,EAAAL,EAHJM,gBAGIvN,IAAAsN,EAHO,GAGPA,EAFJE,EAEIP,EAFJO,kBACAC,EACIR,EADJQ,YAEM1C,EAAO,IAAI2C,SACXC,EAAcN,EAAKxJ,SAAW,GAWpC,GATAkH,EAAK6C,OAAO,SAAUjI,GACtBoF,EAAK6C,OAAO,SAAU,cAClBV,GAAanC,EAAK6C,OAAO,eAAgBV,GACzCC,GAAYpC,EAAK6C,OAAO,aAAcT,GACtCC,GAAWrC,EAAK6C,OAAO,YAAaR,GACpCK,GAAa1C,EAAK6C,OAAO,eAAgBH,GAC7CF,EAASM,QAAQ,SAAAC,GACf/C,EAAK6C,OAAO,cAAeE,KAEzBH,EAAYI,KAAK,SAAAC,GAAA,MAAqB,KAAXA,IAAgB,CAC7C,IAAMC,EAAiB,CACrBC,WAAYb,EAAKc,UACjBC,SAAUf,EAAKe,WAEjB,EAAAC,EAAA3J,SAAYuJ,GAAgBJ,QAAQ,SAAAtM,GAClCwJ,EAAK6C,OAAL,QAAoBrM,EAApB,IAA4B0M,EAAe1M,MAG7CoM,EAAYE,QAAQ,SAAAG,GAClBjD,EAAK6C,OAAO,kBAAmBI,KAOnC,OAJIR,GACFzC,EAAK6C,OAAO,iBAAkBJ,GAGzB7J,EAvjBwB,mBAujBQ,CACrCsB,KAAM8F,EACN7G,OAAQ,OACRI,QAASc,EAAYrB,KAEpBsB,KAAK,SAACC,GACL,OAAIA,EAASG,GACJH,EAASE,OAET,CACLrG,MAAOmG,KAIZD,KAAK,SAACvJ,GAAD,OAAUA,EAAKqD,MAAQrD,GAAO,EAAAqG,EAAAiG,aAAYtM,MA6UlDwS,aA1UmB,SAAAC,GAAyB,IAAtB9L,EAAsB8L,EAAtB9L,GAAIsB,EAAkBwK,EAAlBxK,YAC1B,OAAOJ,EAlmBmB,SAAAlB,GAAA,0BAA0BA,EAkmBvC+L,CAAoB/L,GAAK,CACpC6B,QAASc,EAAYrB,GACrBG,OAAQ,YAwUVuK,YApUkB,SAAAC,GAA+B,IAA5BC,EAA4BD,EAA5BC,SAAU5K,EAAkB2K,EAAlB3K,YAC/B,OAAOJ,EA/kByB,gBA+kBQ,CACtCsB,KAAM0J,EACNzK,OAAQ,OACRI,QAASc,EAAYrB,KAEpBsB,KAAK,SAACvJ,GAAD,OAAUA,EAAK0J,SACpBH,KAAK,SAACvJ,GAAD,OAAU,EAAAqG,EAAAyM,iBAAgB9S,MA8TlC+S,WA9MiB,SAAAC,GAAqB,IAAlB/K,EAAkB+K,EAAlB/K,YACpB,OAAOC,EAAgB,CAAEJ,IA9sBK,iBA8sByBG,gBACpDsB,KAAK,SAACoE,GAAD,OAAWA,EAAM9E,IAAI6B,gBA6M7BuI,SA1Me,SAAAC,GAAyB,IAAtBvM,EAAsBuM,EAAtBvM,GAAIsB,EAAkBiL,EAAlBjL,YACtB,OAAOC,EAAgB,CAAEJ,IAAKZ,EAAuBP,GAAKsB,cAAaG,OAAQ,UA0M/E+K,WAvMiB,SAAAC,GAAyB,IAAtBzM,EAAsByM,EAAtBzM,GAAIsB,EAAkBmL,EAAlBnL,YACxB,OAAOC,EAAgB,CAAEJ,IAAKX,EAAyBR,GAAKsB,cAAaG,OAAQ,UAuMjFiL,cAtLoB,SAAAC,GAAyB,IAAtB3M,EAAsB2M,EAAtB3M,GAAIsB,EAAkBqL,EAAlBrL,YAC3B,OAAOC,EAAgB,CAAEJ,IAAKV,EAAwBT,GAAKsB,cAAaG,OAAQ,UAsLhFmL,gBAnLsB,SAAAC,GAAyB,IAAtB7M,EAAsB6M,EAAtB7M,GAAIsB,EAAkBuL,EAAlBvL,YAC7B,OAAOC,EAAgB,CAAEJ,IAAKT,EAA0BV,GAAKsB,cAAaG,OAAQ,UAmLlFqL,YAhLkB,SAAAC,GAAqB,IAAlBzL,EAAkByL,EAAlBzL,YACrB,OAAOC,EAAgB,CAAEJ,IAlvBM,kBAkvByBG,gBACrDsB,KAAK,SAACoE,GAAD,OAAWA,EAAM9E,IAAI6B,gBA+K7BiJ,iBA5KuB,SAAAC,GAAqB,IAAlB3L,EAAkB2L,EAAlB3L,YAG1B,OAAOJ,EAFK,yBAEM,CAChBW,QAASc,EAAYrB,KACpBsB,KAAK,SAACvJ,GACP,GAAIA,EAAK2J,GACP,OAAO3J,EAAK0J,OAEd,MAAM,IAAIpG,MAAM,6BAA8BtD,MAoKhD6T,iBAhKuB,SAAAC,GAAyB,IAAtBnN,EAAsBmN,EAAtBnN,GAAIsB,EAAkB6L,EAAlB7L,YAG9B,OAAOJ,EAFDC,qBAA2BnB,EAEf,CAChB6B,QAASc,EAAYrB,GACrBG,OAAQ,YA4JV2L,QAxkBc,SAAAC,GAAsC,IAAnC/M,EAAmC+M,EAAnC/M,IAAKgB,EAA8B+L,EAA9B/L,YAEhBgH,EAAO,CACXgF,UAAW,EAHuC,EAAAlF,EAAAnG,SAAAoL,EAAA,uBACzBE,aAGzBC,KAAM,CAAClN,IAGHuB,EAAUc,EAAYrB,GAG5B,OAFAO,EAAQ,gBAAkB,mBAEnBX,EA7YY,+BA6YQ,CACzBO,OAAQ,MACRI,QAASA,EACTW,MAAM,EAAAC,EAAAR,SAAeqG,MA4jBvBmF,UAxjBgB,SAAAC,GAAsC,IAAnCpN,EAAmCoN,EAAnCpN,IAAKgB,EAA8BoM,EAA9BpM,YAElBkB,EAAO,CACX8K,UAAW,EAHyC,EAAAlF,EAAAnG,SAAAyL,EAAA,uBAC3BH,aAGzBC,KAAM,CAAClN,IAGHuB,EAAUc,EAAYrB,GAG5B,OAFAO,EAAQ,gBAAkB,mBAEnBX,EA9ZY,+BA8ZQ,CACzBO,OAAQ,SACRI,QAASA,EACTW,MAAM,EAAAC,EAAAR,SAAeO,MA4iBvBmL,WApgBiB,SAAAC,GAA8B,IAA3BtM,EAA2BsM,EAA3BtM,YACdzB,GADyC,EAAAuI,EAAAnG,SAAA2L,EAAA,iBACvBL,YAClB1L,EAAUc,EAAYrB,GAE5B,OAAOJ,EAAS2M,qCAA4BhO,EAAc,CACxD4B,OAAQ,SACRI,QAASA,KA+fXiM,SAziBe,SAAAC,GAAqC,IAAlCjO,EAAkCiO,EAAlCjO,MAAOwB,EAA2ByM,EAA3BzM,YACnBzB,GAD8C,EAAAuI,EAAAnG,SAAA8L,EAAA,yBAC5BR,YAExB,OAAOrM,EAAMtB,EAAqBC,EAAYC,GAAQ,CACpD2B,OAAQ,OACRI,QAASc,EAAYrB,GACrBkB,KAAM,MAoiBRwL,YAhiBkB,SAAAC,GAAqC,IAAlCnO,EAAkCmO,EAAlCnO,MAAOwB,EAA2B2M,EAA3B3M,YACtBzB,GADiD,EAAAuI,EAAAnG,SAAAgM,EAAA,yBAC/BV,YAExB,OAAOrM,EAAMtB,EAAqBC,EAAYC,GAAQ,CACpD2B,OAAQ,SACRI,QAASc,EAAYrB,GACrBkB,KAAM,MA2hBR0L,oBAvhB0B,SAAAC,GAAsC,IAAnCjL,EAAmCiL,EAAnCjL,OAAQ5B,EAA2B6M,EAA3B7M,YAC/BzB,GAD0D,EAAAuI,EAAAnG,SAAAkM,EAAA,0BACxCZ,YAClB/K,EAAO,CACXU,OAAQA,GAGJrB,EAAUc,EAAYrB,GAG5B,OAFAO,EAAQ,gBAAkB,mBAEnBX,EAhcqB,SAAArB,GAAA,kCAA0CA,EAA1C,qBAgcfuO,CAAsBvO,GAAa,CAC9C4B,OAAQ,MACRI,QAASA,EACTW,MAAM,EAAAC,EAAAR,SAAeO,MA4gBvB6L,SAhyBe,SAAAC,GAA6B,IAA1B5M,EAA0B4M,EAA1B5M,OAAQJ,EAAkBgN,EAAlBhN,YAClBiN,EAAsB7M,EAAtB6M,SAAaC,GADuB,EAAApG,EAAAnG,SACdP,EADc,cAE5C,OAAOR,EApKyB,mBAoKQ,CACtCO,OAAQ,OACRI,yBACKc,EAAYrB,GADjB,CAEES,eAAgB,qBAElBS,MAAM,EAAAC,EAAAR,UAAA,EAAAS,EAAAT,SAAA,CACJsM,WACAE,OAAQ,QACRC,WAAW,GACRF,MAGJ5L,KAAK,SAACC,GACL,OAAIA,EAASG,GACJH,EAASE,OAETF,EAASE,OAAOH,KAAK,SAAClG,GAAY,MAAM,IAAIiS,oBAAkBjS,QA8wB3EkS,WAzwBiB,kBAAM1N,EAAM,wBAAwB0B,KAAK,SAAAiM,GAAA,OAAQA,EAAK9L,UA0wBvE+L,aAz1BmB,SAAAC,GAA6B,IAA1BzN,EAA0ByN,EAA1BzN,YAAa0N,EAAaD,EAAbC,OAC7B1G,EAAO,IAAI2C,SAEjB,OADA3C,EAAK6C,OAAO,SAAU6D,GACf9N,EAxE2B,sCAwEQ,CACxCW,QAASc,EAAYrB,GACrBG,OAAQ,QACRe,KAAM8F,IACL1F,KAAK,SAACvJ,GAAD,OAAUA,EAAK0J,SACpBH,KAAK,SAACvJ,GAAD,OAAU,EAAAqG,EAAAqE,WAAU1K,MAk1B5B4V,SA/0Be,SAAAC,GAAiC,IAA9B5N,EAA8B4N,EAA9B5N,YAAa6N,EAAiBD,EAAjBC,WACzB7G,EAAO,IAAI2C,SAEjB,OADA3C,EAAK6C,OAAO,2BAA4BgE,GACjCjO,EAnF2B,sCAmFQ,CACxCW,QAASc,EAAYrB,GACrBG,OAAQ,QACRe,KAAM8F,IAEL1F,KAAK,SAACvJ,GAAD,OAAUA,EAAK0J,SACpBH,KAAK,SAACvJ,GAAD,OAAU,EAAAqG,EAAAqE,WAAU1K,MAu0B5B+V,cAzzBoB,SAAAC,GAA6B,IAA1B/N,EAA0B+N,EAA1B/N,YAAaI,EAAa2N,EAAb3N,OACpC,OAAOH,EAAgB,CACrBJ,IAzGgC,sCA0GhCM,OAAQ,QACRE,QAASD,EACTJ,gBACCsB,KAAK,SAACvJ,GAAD,OAAU,EAAAqG,EAAAqE,WAAU1K,MAozB5BiW,aAr0BmB,SAAAC,GAA6B,IAA1BjO,EAA0BiO,EAA1BjO,YAAakO,EAAaD,EAAbC,OAC7BlH,EAAO,IAAI2C,SAEjB,OADA3C,EAAK6C,OAAO,SAAUqE,GACftO,EA/F2B,sCA+FQ,CACxCW,QAASc,EAAYrB,GACrBG,OAAQ,QACRe,KAAM8F,IACL1F,KAAK,SAACvJ,GAAD,OAAUA,EAAK0J,SACpBH,KAAK,SAACvJ,GAAD,OAAU,EAAAqG,EAAAqE,WAAU1K,MA8zB5BoW,aA/UmB,SAAAC,GAA2B,IAAxBC,EAAwBD,EAAxBC,KAAMrO,EAAkBoO,EAAlBpO,YACtB4K,EAAW,IAAIjB,SAErB,OADAiB,EAASf,OAAO,OAAQwE,GACjBzO,EAhpBiB,6BAgpBQ,CAC9BsB,KAAM0J,EACNzK,OAAQ,OACRI,QAASc,EAAYrB,KAEpBsB,KAAK,SAACC,GAAD,OAAcA,EAASG,MAwU/B4M,cArUoB,SAAAC,GAA2B,IAAxBF,EAAwBE,EAAxBF,KAAMrO,EAAkBuO,EAAlBvO,YACvB4K,EAAW,IAAIjB,SAErB,OADAiB,EAASf,OAAO,OAAQwE,GACjBzO,EA1pBiB,6BA0pBQ,CAC9BsB,KAAM0J,EACNzK,OAAQ,OACRI,QAASc,EAAYrB,KAEpBsB,KAAK,SAACC,GAAD,OAAcA,EAASG,MA8T/B8M,cA3ToB,SAAAC,GAA+B,IAA5BzO,EAA4ByO,EAA5BzO,YAAa0O,EAAeD,EAAfC,SAC9B1H,EAAO,IAAI2C,SAIjB,OAFA3C,EAAK6C,OAAO,WAAY6E,GAEjB9O,EAtqBkB,8BAsqBQ,CAC/BsB,KAAM8F,EACN7G,OAAQ,OACRI,QAASc,EAAYrB,KAEpBsB,KAAK,SAACC,GAAD,OAAcA,EAASE,UAkT/BkN,YA/SkB,SAAAC,GAAsC,IAAnC5O,EAAmC4O,EAAnC5O,YAAa6O,EAAsBD,EAAtBC,MAAOH,EAAeE,EAAfF,SACnC1H,EAAO,IAAI2C,SAKjB,OAHA3C,EAAK6C,OAAO,QAASgF,GACrB7H,EAAK6C,OAAO,WAAY6E,GAEjB9O,EAnrBgB,4BAmrBQ,CAC7BsB,KAAM8F,EACN7G,OAAQ,OACRI,QAASc,EAAYrB,KAEpBsB,KAAK,SAACC,GAAD,OAAcA,EAASE,UAqS/BqN,eAlSqB,SAAAC,GAAqE,IAAlE/O,EAAkE+O,EAAlE/O,YAAa0O,EAAqDK,EAArDL,SAAUM,EAA2CD,EAA3CC,YAAaC,EAA8BF,EAA9BE,wBACtDjI,EAAO,IAAI2C,SAMjB,OAJA3C,EAAK6C,OAAO,WAAY6E,GACxB1H,EAAK6C,OAAO,eAAgBmF,GAC5BhI,EAAK6C,OAAO,4BAA6BoF,GAElCrP,EAjsBmB,+BAisBQ,CAChCsB,KAAM8F,EACN7G,OAAQ,OACRI,QAASc,EAAYrB,KAEpBsB,KAAK,SAACC,GAAD,OAAcA,EAASE,UAuR/ByN,YApRkB,SAAAC,GAAqB,IAAlBnP,EAAkBmP,EAAlBnP,YACrB,OAAOJ,EAlsBgB,4BAksBQ,CAC7BW,QAASc,EAAYrB,GACrBG,OAAQ,QACPmB,KAAK,SAACvJ,GAAD,OAAUA,EAAK0J,UAiRvB2N,cA9QoB,SAAAC,GAA+B,IAA5BrP,EAA4BqP,EAA5BrP,YAAa0O,EAAeW,EAAfX,SAC9B1H,EAAO,IAAI2C,SAIjB,OAFA3C,EAAK6C,OAAO,WAAY6E,GAEjB9O,EAxsBmB,gCAwsBQ,CAChCsB,KAAM8F,EACN7G,OAAQ,SACRI,QAASc,EAAYrB,KAEpBsB,KAAK,SAACC,GAAD,OAAcA,EAASE,UAqQ/B6N,uBAhP6B,SAAAC,GAAqB,IAAlBvP,EAAkBuP,EAAlBvP,YAChC,OAAOJ,EAvuBoB,yCAuuBQ,CACjCW,QAASc,EAAYrB,GACrBG,OAAQ,QACPmB,KAAK,SAACvJ,GAAD,OAAUA,EAAK0J,UA6OvB+N,YAvPkB,SAAAC,GAAqB,IAAlBzP,EAAkByP,EAAlBzP,YACrB,OAAOJ,EA/tBiB,uCA+tBQ,CAC9BW,QAASc,EAAYrB,GACrBG,OAAQ,QACPmB,KAAK,SAACvJ,GAAD,OAAUA,EAAK0J,UAoPvBiO,cApQoB,SAAAC,GAAsC,IAAnC3P,EAAmC2P,EAAnC3P,YAAa0O,EAAsBiB,EAAtBjB,SAAUkB,EAAYD,EAAZC,MACxC5I,EAAO,IAAI2C,SAKjB,OAHA3C,EAAK6C,OAAO,WAAY6E,GACxB1H,EAAK6C,OAAO,OAAQ+F,GAEbhQ,EAvtBmB,yCAutBQ,CAChCsB,KAAM8F,EACNzG,QAASc,EAAYrB,GACrBG,OAAQ,SACPmB,KAAK,SAACvJ,GAAD,OAAUA,EAAK0J,UA2PvBoO,oBAloB0B,SAAAC,GAAqB,IAAlB9P,EAAkB8P,EAAlB9P,YAE7B,OAAOJ,EAtU4B,0BAsUjB,CAAEW,QAASc,EAAYrB,KACtCsB,KAAK,SAACvJ,GAAD,OAAUA,EAAK0J,SACpBH,KAAK,SAACvJ,GAAD,OAAUA,EAAK6I,IAAI6B,gBA+nB3BsN,YAvtBkB,SAAAC,GAAyB,IAAtBtR,EAAsBsR,EAAtBtR,GAAIsB,EAAkBgQ,EAAlBhQ,YACrBH,EAhP4B,SAAAnB,GAAA,iCAAiCA,EAAjC,aAgPtBuR,CAA0BvR,GACpC,OAAOkB,EAAMC,EAAK,CAChBU,QAASc,EAAYrB,GACrBG,OAAQ,SACPmB,KAAK,SAACvJ,GAAD,OAAUA,EAAK0J,UAmtBvByO,SAhtBe,SAAAC,GAAyB,IAAtBzR,EAAsByR,EAAtBzR,GAAIsB,EAAkBmQ,EAAlBnQ,YAClBH,EAvPyB,SAAAnB,GAAA,iCAAiCA,EAAjC,UAuPnB0R,CAAuB1R,GACjC,OAAOkB,EAAMC,EAAK,CAChBU,QAASc,EAAYrB,GACrBG,OAAQ,SACPmB,KAAK,SAACvJ,GAAD,OAAUA,EAAK0J,UA4sBvB4O,YAjLkB,SAAAC,GAAqB,IAAlBtQ,EAAkBsQ,EAAlBtQ,YACrB,OAAOJ,EAhzBe,sBAgzBQ,CAC5BW,QAASc,EAAYrB,KACpBsB,KAAK,SAACvJ,GAAD,OAAUA,EAAK0J,UA+KvB8O,wBA5K8B,SAAAC,GAAyB,IAAtB9R,EAAsB8R,EAAtB9R,GAAIsB,EAAkBwQ,EAAlBxQ,YAC/BkB,EAAO,IAAIyI,SAIjB,OAFAzI,EAAK2I,OAAO,YAAanL,GAElBkB,EAp0BmC,gDAo0BQ,CAChDsB,OACAX,QAASc,EAAYrB,GACrBG,OAAQ,SACPmB,KAAK,SAACvJ,GAAD,OAAUA,EAAK0J,UAoKvBgP,KAjKW,SAAAC,GAAsC,IApxBzBhS,EAoxBViS,EAAmCD,EAAnCC,OAAQC,EAA2BF,EAA3BE,QAAS5Q,EAAkB0Q,EAAlB1Q,YAI/B,OAHa,IAAI2J,UACZE,OAAO,UAAW+G,GAEhB3Q,EAAgB,CACrBJ,KAzxBsBnB,EAyxBCsC,mBAAmB2P,GAzxBpB,iBAAuBjS,EAAvB,UA0xBtByB,OAAQ,OACRH,cACAK,QAAS,CACPuQ,QAASA,MAyJbC,UApJgB,SAAAC,GAA6B,IAjyBrBpS,EAiyBLiS,EAA0BG,EAA1BH,OAAQ3Q,EAAkB8Q,EAAlB9Q,YAC3B,OAAOC,EACL,CACEJ,KApyBoBnB,EAoyBGsC,mBAAmB2P,GApyBtB,iBAAuBjS,GAqyB3CyB,OAAQ,MACRH,iBAgJJ+Q,sBA3I4B,SAAAC,GAAY,IAATtS,EAASsS,EAATtS,GAC/B,OAAOuB,EAAgB,CAAEJ,IAAKR,EAAgCX,KAAO4C,KAAK,SAACoE,GAAD,OAAWA,EAAM9E,IAAI6B,gBA2I/FwO,sBAxI4B,SAAAC,GAAY,IAATxS,EAASwS,EAATxS,GAC/B,OAAOuB,EAAgB,CAAEJ,IAAKP,EAAgCZ,KAAO4C,KAAK,SAACoE,GAAD,OAAWA,EAAM9E,IAAI6B,gBAwI/F0O,YAxOkB,SAAAC,GAAqB,IAAlBpR,EAAkBoR,EAAlBpR,YACrB,OAAOC,EAAgB,CAAEJ,IAtsBC,yBAssByBG,iBAwOnDqR,aArOmB,SAAAC,GAA6B,IAA1BC,EAA0BD,EAA1BC,OAAQvR,EAAkBsR,EAAlBtR,YACxBgH,EAAO,IAAI2C,SAEjB,OADA3C,EAAK6C,OAAO,OAAQ0H,GACb3R,EA5sBmB,yBA4sBQ,CAChCW,QAASc,EAAYrB,GACrBG,OAAQ,MACRe,KAAM8F,IACL1F,KAAK,SAACvJ,GAAD,OAAUA,EAAK0J,UA+NvB+P,WAvIiB,SAAAC,GAA0D,IAAvDzR,EAAuDyR,EAAvDzR,YAAaqD,EAA0CoO,EAA1CpO,OAAQqO,EAAkCD,EAAlCC,UAAWC,EAAuBF,EAAvBE,QAASC,EAAcH,EAAdG,QAC7D,OAAO3R,EAAgB,CACrBJ,IAjzB6B,kBAkzB7BM,OAAQ,OACRE,QAAS,CACPwR,WAAcxO,EACdyO,WAAcJ,EACdC,UACAC,WAEF5R,iBA8HF+R,2BAj4BiC,SAAAC,GAA+B,IAA5BhS,EAA4BgS,EAA5BhS,YAAaiS,EAAeD,EAAfC,SAC3CjL,EAAO,IAAI2C,SAMjB,OAJA,EAAAuI,EAAAvR,SAAKsR,EAAU,SAAC/U,EAAOM,GACrBwJ,EAAK6C,OAAOrM,EAAKN,KAGZ0C,EA9GyB,qCA8GQ,CACtCW,QAASc,EAAYrB,GACrBG,OAAQ,MACRe,KAAM8F,IACL1F,KAAK,SAACvJ,GAAD,OAAUA,EAAK0J,UAu3BvB0Q,QA/Gc,SAAAC,GAA2D,IAAxDpS,EAAwDoS,EAAxDpS,YAAaqS,EAA2CD,EAA3CC,EAAG/X,EAAwC8X,EAAxC9X,QAAS8H,EAA+BgQ,EAA/BhQ,MAAOkQ,EAAwBF,EAAxBE,OAAQC,EAAgBH,EAAhBG,UACrD1S,EAr0BA2S,iBAs0BApS,EAAS,GAETiS,GACFjS,EAAO3H,KAAK,CAAC,IAAKuI,mBAAmBqR,KAGnC/X,GACF8F,EAAO3H,KAAK,CAAC,UAAW6B,IAGtB8H,GACFhC,EAAO3H,KAAK,CAAC,QAAS2J,IAGpBkQ,GACFlS,EAAO3H,KAAK,CAAC,SAAU6Z,IAGrBC,GACFnS,EAAO3H,KAAK,CAAC,aAAa,IAG5B,IAAIwL,GAAc,EAAAC,EAAAvD,SAAIP,EAAQ,SAAC+D,GAAD,OAAcA,EAAM,GAApB,IAA0BA,EAAM,KAAMlD,KAAK,KAGzE,OAAOrB,EAFPC,OAAWoE,EAEO,CAAE1D,QAASc,EAAYrB,KACtCsB,KAAK,SAACvJ,GACL,GAAIA,EAAK2J,GACP,OAAO3J,EAET,MAAM,IAAIsD,MAAM,+BAAgCtD,KAEjDuJ,KAAK,SAACvJ,GAAW,OAAOA,EAAK0J,SAC7BH,KAAK,SAACvJ,GAGL,OAFAA,EAAK0a,SAAW1a,EAAK0a,SAAStU,MAAM,EAAGiE,GAAOxB,IAAI,SAAA8R,GAAA,OAAK,EAAAtU,EAAAqE,WAAUiQ,KACjE3a,EAAK4a,SAAW5a,EAAK4a,SAASxU,MAAM,EAAGiE,GAAOxB,IAAI,SAAAjH,GAAA,OAAK,EAAAyE,EAAAiG,aAAY1K,KAC5D5B,KA0EX6a,YA5HkB,SAAAC,GAA4B,IAAzB7S,EAAyB6S,EAAzB7S,YAAa8S,EAAYD,EAAZC,MAClC,OAAO7S,EAAgB,CACrBJ,IAzzB6B,0BA0zB7BO,OAAQ,CACNiS,EAAGS,EACHxY,SAAS,GAEX0F,gBAECsB,KAAK,SAACvJ,GAAD,OAAUA,EAAK6I,IAAI6B,2BAsHdC,yCC9/BfhJ,EAAAqD,EAAAgW,GAAA,IAAAC,EAAAtZ,EAAA,KAAAuZ,EAAAvZ,EAAAgE,EAAAsV,GAAA,QAAAE,KAAAF,EAAA,YAAAE,GAAA,SAAA1V,GAAA9D,EAAA8C,EAAAuW,EAAAvV,EAAA,kBAAAwV,EAAAxV,KAAA,CAAA0V,GAAA,IAAAC,EAAAzZ,EAAA,KAAA0Z,EAAA1Z,EAAA,GASA,IAEA2Z,EAXA,SAAAC,GACE5Z,EAAQ,MAgBV6Z,EAAgB7a,OAAA0a,EAAA,EAAA1a,CACdua,EAAAO,EACAL,EAAA,EACAA,EAAA,GAXF,EAaAE,EATA,KAEA,MAYeN,EAAA,QAAAQ,EAAiB,0ICzBhC,IAQME,EAAa,SAAAlV,GAAA,OAAcA,GAAcA,EAAWmV,SAAS,gBARvC,SAAChV,EAAIH,EAAYoV,GAC3C,IAAMC,GAAerV,GAAekV,EAAWlV,KAAe,EAAAsV,EAAAlT,SAASgT,EAAqBpV,GAC5F,MAAO,CACL9B,KAAOmX,EAAc,wBAA0B,eAC/CxT,OAASwT,EAAc,CAAElV,MAAO,CAAEjC,KAAM8B,2CCN5C7E,EAAAqD,EAAAgW,GAAA,IAAAe,EAAApa,EAAA,KAAAqa,EAAAra,EAAAgE,EAAAoW,GAAA,QAAAZ,KAAAY,EAAA,YAAAZ,GAAA,SAAA1V,GAAA9D,EAAA8C,EAAAuW,EAAAvV,EAAA,kBAAAsW,EAAAtW,KAAA,CAAA0V,GAAA,IAAAc,EAAAta,EAAA,KAAA0Z,EAAA1Z,EAAA,GAQA,IAEA2Z,EAVA,SAAAC,GACE5Z,EAAQ,MAeV6Z,EAAgB7a,OAAA0a,EAAA,EAAA1a,CACdqb,EAAAP,EACAQ,EAAA,EACAA,EAAA,GAXF,EAaAX,EATA,KAEA,MAYeN,EAAA,QAAAQ,EAAiB,sCC1BhC7Z,EAAAqD,EAAAgW,GAAA,IAAAkB,EAAAva,EAAA,KAAAwa,EAAAxa,EAAAgE,EAAAuW,GAAA,QAAAf,KAAAe,EAAA,YAAAf,GAAA,SAAA1V,GAAA9D,EAAA8C,EAAAuW,EAAAvV,EAAA,kBAAAyW,EAAAzW,KAAA,CAAA0V,GAAA,IAAAiB,EAAAza,EAAA,KAAA0Z,EAAA1Z,EAAA,GAQA,IAEA2Z,EAVA,SAAAC,GACE5Z,EAAQ,MAeV6Z,EAAgB7a,OAAA0a,EAAA,EAAA1a,CACdwb,EAAAV,EACAW,EAAA,EACAA,EAAA,GAXF,EAaAd,EATA,KAEA,MAYeN,EAAA,QAAAQ,EAAiB,sCC1BhC7Z,EAAAqD,EAAAgW,GAAA,IAAAqB,EAAA1a,EAAA,KAAA2a,EAAA3a,EAAAgE,EAAA0W,GAAA,QAAAlB,KAAAkB,EAAA,YAAAlB,GAAA,SAAA1V,GAAA9D,EAAA8C,EAAAuW,EAAAvV,EAAA,kBAAA4W,EAAA5W,KAAA,CAAA0V,GAAA,IAAAoB,EAAA5a,EAAA,KAAA0Z,EAAA1Z,EAAA,GAQA,IAEA2Z,EAVA,SAAAC,GACE5Z,EAAQ,MAeV6Z,EAAgB7a,OAAA0a,EAAA,EAAA1a,CACd2b,EAAAb,EACAc,EAAA,EACAA,EAAA,GAXF,EAaAjB,EATA,KAEA,MAYeN,EAAA,QAAAQ,EAAiB,gRCxBhC,IA8CMgB,EAAe,SAACC,GACpB,MAAO,MAAMC,MAAM,IAAIC,OAAO,SAACC,EAAKpY,GAAoC,OAA5BoY,EAAIpY,GAnBjC,SAACqY,GAKhB,IAAMrY,EAAIqY,EAAM,IAChB,OAAIrY,EAAI,OACCA,EAAI,MAEJsY,KAAKC,KAAKvY,EAAI,MAAS,MAAO,KAUcwY,CAASP,EAAKjY,IAAYoY,GAAO,KAWlFK,EAAoB,SAACR,GAAS,IAAAS,EACdV,EAAaC,GACjC,MAAO,MAF2BS,EAC1BlY,EACY,MAFckY,EACvBC,EACsB,MAFCD,EACpBE,KA8DdC,QAzHc,SAACrY,EAAGmY,EAAGC,GACrB,GAAIpY,QAAJ,CAGA,GAAa,MAATA,EAAE,GACJ,OAAOA,EAET,GAAiB,iBAAb,IAAOA,EAAP,eAAAsY,EAAA1U,SAAO5D,IAAgB,KAAAuY,EACVvY,EAAZA,EADsBuY,EACtBvY,EAAGmY,EADmBI,EACnBJ,EAAGC,EADgBG,EAChBH,EARgB,IAAAI,GAUf,EAAAC,EAAA7U,SAAI,CAAC5D,EAAGmY,EAAGC,GAAI,SAACpL,GAI1B,OADAA,GADAA,GADAA,EAAM8K,KAAKY,KAAK1L,IACJ,EAAI,EAAIA,GACR,IAAM,IAAMA,IAbC7F,GAAA,EAAAnD,EAAAJ,SAAA4U,EAAA,GAgB3B,YAAa,GAAK,MANjBxY,EAV0BmH,EAAA,KAgBG,MAN1BgR,EAVuBhR,EAAA,KAgBe,IANnCiR,EAVoBjR,EAAA,KAgBuBwR,SAAS,IAAIvX,MAAM,OA0GrEwX,QAlBc,SAACC,GACf,IAAMxc,EAAS,4CAA4Cyc,KAAKD,GAChE,OAAOxc,EAAS,CACd2D,EAAG+Y,SAAS1c,EAAO,GAAI,IACvB8b,EAAGY,SAAS1c,EAAO,GAAI,IACvB+b,EAAGW,SAAS1c,EAAO,GAAI,KACrB,QAaJ2c,OAVa,SAACvC,EAAG2B,GACjB,OAAO,EAAA7K,EAAA3J,SAAY6S,GAAGkB,OAAO,SAACC,EAAKqB,GAEjC,OADArB,EAAIqB,IAAMxC,EAAEwC,GAAKb,EAAEa,IAAM,EAClBrB,GACN,OAOHsB,OA3Ba,SAACC,GACd,MAAO,MAAMzB,MAAM,IAAIC,OAAO,SAACC,EAAKpY,GAElC,OADAoY,EAAIpY,GAAK,IAAM2Z,EAAI3Z,GACZoY,GACN,OAwBHwB,iBAtDuB,SAAC3C,EAAG2B,GAC3B,IAAMiB,EAAKpB,EAAkBxB,GACvB6C,EAAKrB,EAAkBG,GAFIjV,EAGhBkW,EAAKC,EAAK,CAACD,EAAIC,GAAM,CAACA,EAAID,GAHVvV,GAAA,EAAAE,EAAAJ,SAAAT,EAAA,GAKjC,OALiCW,EAAA,GAKpB,MALoBA,EAAA,GAKN,QAkD3ByV,WAvCiB,SAACC,EAAIC,EAAKC,GAC3B,OAAY,IAARD,QAA4B,IAARA,EAA4BD,EAC7C,MAAM9B,MAAM,IAAIC,OAAO,SAACC,EAAKpY,GAIlC,OADAoY,EAAIpY,GAAMga,EAAGha,GAAKia,EAAMC,EAAGla,IAAM,EAAIia,GAC9B7B,GACN,gGC7FL,IAAM+B,EAAW,SAAAC,GACf,OAAIA,EAASC,MAAM,cACV,OAGLD,EAASC,MAAM,SACV,QAGLD,EAASC,MAAM,SACV,QAGLD,EAASC,MAAM,SACV,QAGF,WAMHC,EAAkB,CACtBH,WACAI,oBAL0B,SAACC,EAAO1I,GAAR,OAC1B0I,EAAM/M,KAAK,SAAApO,GAAA,OAAQ8a,EAASrI,EAAKsI,YAAc/a,gBAOlCib,iCC/Bfnd,EAAAqD,EAAAgW,GAAA,IAAAiE,EAAAtd,EAAA,KAAAud,EAAAvd,EAAAgE,EAAAsZ,GAAA,QAAA9D,KAAA8D,EAAA,YAAA9D,GAAA,SAAA1V,GAAA9D,EAAA8C,EAAAuW,EAAAvV,EAAA,kBAAAwZ,EAAAxZ,KAAA,CAAA0V,GAAA,IAAAgE,EAAAxd,EAAA,KAAA0Z,EAAA1Z,EAAA,GAQA,IAEA2Z,EAVA,SAAAC,GACE5Z,EAAQ,MAeV6Z,EAAgB7a,OAAA0a,EAAA,EAAA1a,CACdue,EAAAzD,EACA0D,EAAA,EACAA,EAAA,GAXF,EAaA7D,EATA,KAEA,MAYeN,EAAA,QAAAQ,EAAiB,sCC1BhC7Z,EAAAqD,EAAAgW,GAAA,IAAAoE,EAAAzd,EAAA,KAAA0d,EAAA1d,EAAAgE,EAAAyZ,GAAA,QAAAjE,KAAAiE,EAAA,YAAAjE,GAAA,SAAA1V,GAAA9D,EAAA8C,EAAAuW,EAAAvV,EAAA,kBAAA2Z,EAAA3Z,KAAA,CAAA0V,GAAA,IAAAmE,EAAA3d,EAAA,KAAA0Z,EAAA1Z,EAAA,GAQA,IAEA2Z,EAVA,SAAAC,GACE5Z,EAAQ,MAeV6Z,EAAgB7a,OAAA0a,EAAA,EAAA1a,CACd0e,EAAA5D,EACA6D,EAAA,EACAA,EAAA,GAXF,EAaAhE,EATA,KAEA,MAYeN,EAAA,QAAAQ,EAAiB,yXCzBhC+D,EAAA5d,EAAA,KACA6d,EAAA7d,EAAA,uDAMA,IA8CM8d,EAAW,SAAUC,GACzB,cAAeA,EAAK1a,EAApB,KAA0B0a,EAAKvC,EAA/B,KAAqCuC,EAAKtC,EAA1C,KAAgDsC,EAAKjE,EAArD,KAGIkE,EAAe,SAAUjB,EAAIkB,EAAMC,GACvC,IAAMC,GAAY,EAAAP,EAAAQ,SAAQrB,GAAIsB,IAAI/d,EAAI,GAChCge,GAAc,EAAAV,EAAAQ,SAAQH,GAAMI,IAAI/d,EAAI,GAE1C,GAAK6d,GAAaG,IAAkBH,IAAcG,EAAc,CAC9D,IAAMC,OAAyB,IAAXN,EAAKnE,EAAoB,CAAEA,EAAGmE,EAAKnE,GAAM,GACvDpa,GAAS,EAAA8e,EAAAvX,SAAcsX,GAAM,EAAAX,EAAAa,iBAAgBR,GAAMzB,KACzD,OAAK0B,IAAY,EAAAL,EAAApB,kBAAiBM,EAAIrd,GAAU,KACvC,EAAAke,EAAAc,eAAc3B,EAAIkB,GAAMzB,IAE1B9c,EAET,OAAOue,GAGHU,EAAa,SAACC,EAAOC,GAAW,IAAAC,EACXC,EAAeH,GAAhCI,EAD4BF,EAC5BE,MAAOC,EADqBH,EACrBG,MACTxc,EAAOzB,SAASyB,KAChB+E,EAAOxG,SAASwG,KACtBA,EAAK0X,UAAUC,IAAI,UAEnB,IAAMC,EAAUpe,SAASC,cAAc,SACvCwB,EAAKC,YAAY0c,GACjB,IAAMC,EAAaD,EAAQE,MAE3BD,EAAWrD,WACXqD,EAAWE,WAAX,UAAgCP,EAAMQ,MAAtC,KAAiD,aACjDH,EAAWE,WAAX,UAAgCP,EAAMS,OAAtC,KAAkD,aAClDJ,EAAWE,WAAX,UAAgCP,EAAMU,QAAtC,KAAmD,aACnDL,EAAWE,WAAX,UAAgCP,EAAMW,MAAtC,KAAiD,aACjDnY,EAAK0X,UAAUU,OAAO,UAItBf,EAAO,YAAa,CAAE9b,KAAM,cAAeS,MAAOob,IAClDC,EAAO,YAAa,CAAE9b,KAAM,SAAUS,MAAOyb,EAAMQ,UAG/CI,EAAe,SAACjB,EAAOkB,GAC3B,OAAqB,IAAjBlB,EAAM/f,OACD,OAGF+f,EACJ/V,OAAO,SAAAC,GAAA,OAAKgX,EAAiBhX,EAAEiX,MAAQjX,IACvC5B,IAAI,SAAC8Y,GAAD,MAAU,CACbA,EAAKC,EACLD,EAAKE,EACLF,EAAKG,KACLH,EAAKI,QACLlZ,IAAI,SAAA4B,GAAA,OAAKA,EAAI,OAAMuX,OAAO,CAC1BC,EAAYN,EAAKO,MAAOP,EAAKQ,OAC7BR,EAAKD,MAAQ,QAAU,KACtBxY,KAAK,OAAMA,KAAK,OAGjBkZ,EAAqB,SAAC7B,GAC1B,OAAqB,IAAjBA,EAAM/f,OACD,OAGF+f,EAEJ/V,OAAO,SAACmX,GAAD,OAAWA,EAAKD,OAAiC,IAAxBW,OAAOV,EAAKI,UAC5ClZ,IAAI,SAAC8Y,GAAD,MAAU,CACbA,EAAKC,EACLD,EAAKE,EAELF,EAAKG,KAAO,GACZjZ,IAAI,SAAA4B,GAAA,OAAKA,EAAI,OAAMuX,OAAO,CAC1BC,EAAYN,EAAKO,MAAOP,EAAKQ,SAC5BjZ,KAAK,OACPL,IAAI,SAAA4B,GAAA,qBAAoBA,EAApB,MACJvB,KAAK,MAGJ+Y,EAAc,SAAC1B,EAAO9E,GAC1B,IAAI0C,EAAM,GACV,GAAqB,iBAAjB,IAAOoC,EAAP,eAAAjD,EAAA1U,SAAO2X,IACTpC,EAAMoC,OACD,GAAqB,iBAAVA,EAAoB,CACpC,IAAIA,EAAM+B,WAAW,KAEd,OAAI/B,EAAM+B,WAAW,MAC1B,OAAc/B,EAAd,IAEOA,EAJPpC,GAAM,EAAAqB,EAAA5B,SAAQ2C,GAOlB,OAAOd,mBAActB,EAAd,CAAmB1C,QAGtB8G,EAAiB,SAAChC,GACtB,IAAMa,EAAS,GACToB,GAAU,EAAArC,EAAAvX,SAAc,CAC5B6Z,MAAO,GACPlC,MAAO,GACPmC,MAAO,KACN,EAAA/Z,EAAAC,SAAe2X,EAAMiC,SAAW,IAAI7F,OAAO,SAACC,EAADzU,GAAiB,IAAAW,GAAA,EAAAE,EAAAJ,SAAAT,EAAA,GAAV8V,EAAUnV,EAAA,GAAP6Z,EAAO7Z,EAAA,GAI7D,YAHiB,IAAN6Z,IACT/F,EAAIqB,GAAK0E,GAEJ/F,GACN,KACGgG,GAAM,EAAAja,EAAAC,SAAe2X,EAAMa,QAAUb,GAAO5D,OAAO,SAACC,EAAD7T,GAAiB,IAAAkR,GAAA,EAAAjR,EAAAJ,SAAAG,EAAA,GAAVkV,EAAUhE,EAAA,GAAP0I,EAAO1I,EAAA,GAMxE,MALiB,iBAAb,IAAO0I,EAAP,eAAArF,EAAA1U,SAAO+Z,IACT/F,EAAIqB,GAAK0E,EAET/F,EAAIqB,IAAK,EAAAuB,EAAA5B,SAAQ+E,GAEZ/F,GACN,IAGGiG,GADgB,EAAAtD,EAAAQ,SAAQ6C,EAAIlE,IAAIsB,IAAI/d,GAAI,EAAAsd,EAAAQ,SAAQ6C,EAAIhD,MAAMI,IAAI/d,EACxC,GAAK,EAEjCmf,EAAOxB,KAAOgD,EAAIhD,KAClBwB,EAAO0B,WAAY,EAAAvD,EAAAwD,YAAW,GAAKF,EAAKzB,EAAOxB,MAAMzB,IACrDiD,EAAO4B,KAAOJ,EAAII,KAClB5B,EAAOsB,MAAQE,EAAIF,QAAS,EAAAvC,EAAAvX,SAAc,GAAIga,EAAIhD,MAElDwB,EAAO1C,GAAKkE,EAAIlE,GAChB0C,EAAO6B,QAAUL,EAAIK,UAAW,EAAA1D,EAAAwD,YAAW,EAAG3B,EAAO1C,IAAIP,IAEzDiD,EAAO5C,GAAKoE,EAAIpE,GAChB4C,EAAO8B,OAASN,EAAIM,QAAUvD,EAAayB,EAAO5C,GAAI4C,EAAOxB,MAC7DwB,EAAO+B,OAASP,EAAIO,QAAUxD,EAAayB,EAAO5C,GAAI4C,EAAO4B,MAAM,GAEnE5B,EAAOgC,OAASR,EAAIQ,SAAU,EAAA7D,EAAAwD,YAAW,EAAIF,EAAKzB,EAAO5C,IAAIL,IAE7DiD,EAAOiC,IAAMT,EAAIS,MAAO,EAAAlD,EAAAvX,SAAc,GAAIga,EAAIpE,IAC9C4C,EAAOkC,QAAUV,EAAIU,SAAW3D,EAAayB,EAAOiC,IAAKjC,EAAO8B,QAEhE9B,EAAOb,MAAQqC,EAAIrC,QAAS,EAAAJ,EAAAvX,SAAc,GAAIga,EAAIpE,IAClD4C,EAAOmC,UAAYX,EAAIW,WAAa5D,EAAayB,EAAOb,MAAOa,EAAO0B,WAEtE1B,EAAOoC,MAAQZ,EAAIY,QAAS,EAAArD,EAAAvX,SAAc,GAAIga,EAAIpE,IAClD4C,EAAOqC,UAAYb,EAAIa,WAAa9D,EAAayB,EAAOoC,MAAOpC,EAAO8B,QACtE9B,EAAOsC,UAAYd,EAAIc,WAAa/D,EAAayB,EAAOoC,MAAOpC,EAAO+B,QACtE/B,EAAOuC,WAAaf,EAAIe,YAAchE,EAAayB,EAAOoC,MAAOpC,EAAOsB,OAExEtB,EAAOwC,OAAShB,EAAIgB,SAAU,EAAAzD,EAAAvX,SAAc,GAAIga,EAAIpE,IACpD4C,EAAOyC,WAAajB,EAAIiB,YAAclE,EAAayB,EAAOwC,OAAQxC,EAAO8B,QACzE9B,EAAO0C,WAAalB,EAAIkB,YAAcnE,EAAayB,EAAOwC,OAAQxC,EAAO+B,QAEzE/B,EAAO2C,UAAYnB,EAAImB,YAAa,EAAA5D,EAAAvX,SAAc,GAAIga,EAAII,MAC1D5B,EAAO4C,QAAS,EAAAxE,EAAAjB,YAAW6C,EAAO4B,KAAM,GAAK5B,EAAO1C,IAEpD0C,EAAO6C,MAAO,EAAAzE,EAAAxB,QAAOoD,EAAO1C,GAAI0C,EAAOxB,MAEvCwB,EAAO8C,MAAQtB,EAAIsB,QAAS,EAAA1E,EAAA5B,SAAQ,WACpCwD,EAAO+C,KAAOvB,EAAIuB,OAAQ,EAAA3E,EAAA5B,SAAQ,WAClCwD,EAAOgD,OAASxB,EAAIwB,SAAU,EAAA5E,EAAA5B,SAAQ,WACtCwD,EAAOiD,QAAUzB,EAAIyB,UAAW,EAAA7E,EAAA5B,SAAQ,WAExCwD,EAAOkD,WAAa1B,EAAI0B,aAAc,EAAAnE,EAAAvX,SAAc,GAAIwY,EAAO+C,MAC/D/C,EAAOmD,eAAiB5E,GAAa,EAAAH,EAAAjB,YAAW6C,EAAOkD,WAAY9B,EAAQC,MAAOrB,EAAO1C,IAAK0C,EAAOxB,MACrGwB,EAAOoD,oBAAsB7E,GAAa,EAAAH,EAAAjB,YAAW6C,EAAOkD,WAAY9B,EAAQC,MAAOrB,EAAOoC,OAAQpC,EAAOqC,WAE7GrC,EAAOqD,aAAe7B,EAAI6B,eAAgB,EAAAtE,EAAAvX,SAAc,GAAIwY,EAAOiD,SACnEjD,EAAOsD,iBAAmB/E,GAAa,EAAAH,EAAAjB,YAAW6C,EAAOqD,aAAcjC,EAAQC,MAAOrB,EAAO1C,IAAK0C,EAAOxB,MACzGwB,EAAOuD,sBAAwBhF,GAAa,EAAAH,EAAAjB,YAAW6C,EAAOqD,aAAcjC,EAAQC,MAAOrB,EAAOoC,OAAQpC,EAAOqC,WAEjHrC,EAAOwD,kBAAoBhC,EAAIgC,oBAAqB,EAAAzE,EAAAvX,SAAc,GAAIwY,EAAO+C,MAC7E/C,EAAOyD,uBAAwB,EAAAtF,EAAAc,eAAce,EAAOwD,mBAAmBzG,KAEvE,EAAAxV,EAAAC,SAAe4Z,GAASzQ,QAAQ,SAAA2D,GAAc,IAAAG,GAAA,EAAA7M,EAAAJ,SAAA8M,EAAA,GAAXuI,EAAWpI,EAAA,GAAR8M,EAAQ9M,EAAA,GAC5C,QAAiB,IAAN8M,EAAX,CACA,GAAU,UAAN1E,EAGF,OAFAmD,EAAOkD,WAAW7I,EAAIkH,OACtBvB,EAAOqD,aAAahJ,EAAIkH,GAGhB,UAAN1E,IACFmD,EAAOnD,EAAI,QAAQxC,EAAIkH,EACvBvB,EAAA,WAAqB3F,EAAIkH,GAEjB,OAAN1E,IACFmD,EAAA,QAAkB3F,EAAIkH,GAEpBvB,EAAOnD,GACTmD,EAAOnD,GAAGxC,EAAIkH,EAEd3c,QAAQ3C,MAAM,aAAe4a,MAIjC,IAAM6G,GAAa,EAAAnc,EAAAC,SAAewY,GAC/BzE,OAAO,SAACC,EAAD1G,GAAiB,IAAAF,GAAA,EAAAhN,EAAAJ,SAAAsN,EAAA,GAAV+H,EAAUjI,EAAA,GAAP2M,EAAO3M,EAAA,GACvB,OAAK2M,GACL/F,EAAImI,MAAM9G,IAAK,EAAAuB,EAAAnC,SAAQsF,GACvB/F,EAAIoI,SAAS/G,QAAoB,IAAR0E,EAAElH,GAAoB,EAAA+D,EAAAnC,SAAQsF,GAAKlD,EAASkD,GAC9D/F,GAHQA,GAId,CAAEoI,SAAU,GAAID,MAAO,KAC5B,MAAO,CACLpE,MAAO,CACLS,QAAQ,EAAAzY,EAAAC,SAAekc,EAAWE,UAC/Bxa,OAAO,SAAAyK,GAAA,IAAAnG,GAAA,EAAA9F,EAAAJ,SAAAqM,EAAA,GAAAnG,EAAA,UAAAA,EAAA,KACPjG,IAAI,SAAAuG,GAAA,IAAAG,GAAA,EAAAvG,EAAAJ,SAAAwG,EAAA,cAAAG,EAAA,QAAAA,EAAA,KACJrG,KAAK,MAEV0X,MAAO,CACLQ,OAAQ0D,EAAWC,MACnBvC,aAKAyC,EAAgB,SAAC1E,GACrB,IAAI2E,EAAa3E,EAAMY,OAAS,QAED,IAApBZ,EAAM4E,YACfD,GAAa,EAAAvc,EAAAC,SACF2X,GACR/V,OAAO,SAAAiF,GAAA,IAAAE,GAAA,EAAA3G,EAAAJ,SAAA6G,EAAA,GAAEwO,EAAFtO,EAAA,GAAAA,EAAA,UAAYsO,EAAEmH,SAAS,YAC9BzI,OAAO,SAACC,EAAK1a,GAA6C,OAArC0a,EAAI1a,EAAE,GAAGwa,MAAM,UAAU,IAAMxa,EAAE,GAAW0a,GAAO,KAE7E,IAAMuE,GAAQ,EAAAxY,EAAAC,SAAesc,GAAY1a,OAAO,SAAAqF,GAAA,IAAAE,GAAA,EAAA/G,EAAAJ,SAAAiH,EAAA,GAAAE,EAAA,UAAAA,EAAA,KAAe4M,OAAO,SAACC,EAAD1M,GAAiB,IAAA+H,GAAA,EAAAjP,EAAAJ,SAAAsH,EAAA,GAAV+N,EAAUhG,EAAA,GAAP0K,EAAO1K,EAAA,GAErF,OADA2E,EAAIqB,GAAK0E,EACF/F,GACN,CACDyG,IAAK,EACL9C,MAAO,EACP8E,SAAU,EACV7B,MAAO,GACP7N,OAAQ,EACR2P,UAAW,GACXC,QAAS,EACTC,WAAY,IAGd,MAAO,CACL7E,MAAO,CACLQ,OAAO,EAAAxY,EAAAC,SAAeuY,GAAO3W,OAAO,SAAA4N,GAAA,IAAA/H,GAAA,EAAArH,EAAAJ,SAAAwP,EAAA,GAAA/H,EAAA,UAAAA,EAAA,KAAexH,IAAI,SAAA2H,GAAA,IAAAvG,GAAA,EAAAjB,EAAAJ,SAAA4H,EAAA,cAAAvG,EAAA,cAAAA,EAAA,UAAoCf,KAAK,MAElG0X,MAAO,CACLO,WAKAsE,EAAgB,SAAClF,GACrB,IAAMe,GAAQ,EAAA3Y,EAAAC,SAAe2X,EAAMe,OAAS,IAAI9W,OAAO,SAAA4C,GAAA,IAAAC,GAAA,EAAArE,EAAAJ,SAAAwE,EAAA,GAAAC,EAAA,UAAAA,EAAA,KAAesP,OAAO,SAACC,EAADlO,GAAiB,IAAAqJ,GAAA,EAAA/O,EAAAJ,SAAA8F,EAAA,GAAVuP,EAAUlG,EAAA,GAAP4K,EAAO5K,EAAA,GAK5F,OAJA6E,EAAIqB,IAAK,EAAAtV,EAAAC,SAAe+Z,GAAGnY,OAAO,SAAAkC,GAAA,IAAAG,GAAA,EAAA7D,EAAAJ,SAAA8D,EAAA,GAAAG,EAAA,UAAAA,EAAA,KAAe8P,OAAO,SAACC,EAAD3P,GAAiB,IAAA+G,GAAA,EAAAhL,EAAAJ,SAAAqE,EAAA,GAAVgR,EAAUjK,EAAA,GAAP2O,EAAO3O,EAAA,GAEvE,OADA4I,EAAIqB,GAAK0E,EACF/F,GACNA,EAAIqB,IACArB,GACN,CACD8I,UAAW,CACTC,OAAQ,cAEVpF,MAAO,CACLoF,OAAQ,WAEVC,KAAM,CACJD,OAAQ,WAEVE,SAAU,CACRF,OAAQ,eAIZ,MAAO,CACLhF,MAAO,CACLW,OAAO,EAAA3Y,EAAAC,SACI0Y,GACR9W,OAAO,SAAA6J,GAAA,IAAAK,GAAA,EAAA1L,EAAAJ,SAAAyL,EAAA,GAAAK,EAAA,UAAAA,EAAA,KACP7L,IAAI,SAAA+L,GAAA,IAAAE,GAAA,EAAA9L,EAAAJ,SAAAgM,EAAA,cAAAE,EAAA,YAAAA,EAAA,GAA6B6Q,SAAUzc,KAAK,MAErD0X,MAAO,CACLU,WAKAwE,EAAkB,SAACvF,GACvB,IAAM6C,EAAS,SAAC2C,EAAKC,GAAN,MAAkB,CAC/BpE,EAAG,EACHC,EAAGkE,EAAM,GAAK,EACdjE,KAAM,EACNC,OAAQ,EACRG,MAAO8D,EAAS,UAAY,UAC5B7D,MAAO,GACPT,OAAO,IAEHuE,EAAyB,CAAC7C,GAAO,GAAM,GAAQA,GAAO,GAAO,IAC7D8C,EAAwB,CAAC9C,GAAO,GAAM,GAAOA,GAAO,GAAO,IAC3D+C,EAAY,CAChBvE,EAAG,EACHC,EAAG,EACHC,KAAM,EACNC,OAAQ,EACRG,MAAO,UACPC,MAAO,GAGHd,iBACJmC,MAAO,CAAC,CACN5B,EAAG,EACHC,EAAG,EACHC,KAAM,EACNC,OAAQ,EACRG,MAAO,UACPC,MAAO,KAETyB,OAAQ,CAAC,CACPhC,EAAG,EACHC,EAAG,EACHC,KAAM,EACNC,OAAQ,EACRG,MAAO,UACPC,MAAO,KAETiE,MAAO,CAAC,CACNxE,EAAG,EACHC,EAAG,EACHC,KAAM,EACNC,OAAQ,EACRG,MAAO,UACPC,MAAO,KAETxM,OAAQ,CAAC,CACPiM,EAAG,EACHC,EAAG,EACHC,KAAM,EACNC,OAAQ,EACRG,MAAO,UACPC,MAAO,KAETkE,aAAc,GACdC,YAAa,GACbC,QAAS,CACP3E,EAAG,EACHC,EAAG,EACHC,KAAM,EACNC,OAAQ,EACRG,MAAO,UACPC,MAAO,IANTH,OAOMiE,GACNO,aAAcL,GAAdnE,OAA4BiE,GAC5BQ,eAAgBN,GAAhBnE,OAA8BkE,GAC9B3F,gBAAW2F,EAAX,CAAkC,CAChCtE,EAAG,EACHC,EAAG,EACHC,KAAM,EACNJ,OAAO,EACPK,OAAQ,EACRG,MAAO,UACPC,MAAO,MAEL5B,EAAMc,SAAW,IAGvB,MAAO,CACLV,MAAO,CACLU,SAAS,EAAA1Y,EAAAC,SACEyY,GAGRxY,IAAI,SAAA0L,GAAA,IAAAxJ,GAAA,EAAA/B,EAAAJ,SAAA2L,EAAA,GAAE0J,EAAFlT,EAAA,GAAK4X,EAAL5X,EAAA,SAAY,MACVkT,EADU,WACEuD,EAAamB,GADf,KAEV1E,EAFU,iBAEQmE,EAAmBO,GAF3B,KAGV1E,EAHU,gBAGOuD,EAAamB,GAAG,IACtCzZ,KAAK,OACNA,KAAK,MAEV0X,MAAO,CACLS,aAKAqF,EAAgB,SAACtF,EAAQD,EAAOE,EAASC,GAC7C,MAAO,CACLX,uBACKU,EAAQV,MACRS,EAAOT,MACPQ,EAAMR,MACNW,EAAMX,OAEXC,uBACKS,EAAQT,MACRQ,EAAOR,MACPO,EAAMP,MACNU,EAAMV,SAKTF,EAAiB,SAACH,GACtB,IAAMc,EAAUyE,EAAgBvF,GAC1Ba,EAASmB,EAAehC,GACxBY,EAAQ8D,EAAc1E,GACtBe,EAAQmE,EAAclF,GAE5B,OAAOmG,EAActF,EAAQD,EAAOE,EAASC,IAGzCqF,EAAY,WAChB,OAAOzgB,OAAO2B,MAAM,uBACjB0B,KAAK,SAACvJ,GAAD,OAAUA,EAAK0J,SACpBH,KAAK,SAACqd,GACL,OAAOnd,EAAAb,QAAQtE,KAAI,EAAAqE,EAAAC,SAAege,GAAQ/d,IAAI,SAAA2D,GAAY,IAAAmE,GAAA,EAAA3H,EAAAJ,SAAA4D,EAAA,GAAVyR,EAAUtN,EAAA,GAAPgS,EAAOhS,EAAA,GACxD,MAAiB,iBAAb,IAAOgS,EAAP,eAAArF,EAAA1U,SAAO+Z,IACFlZ,EAAAb,QAAQrG,QAAQ,CAAC0b,EAAG0E,IACL,iBAANA,EACTzc,OAAO2B,MAAM8a,GACjBpZ,KAAK,SAACvJ,GAAD,OAAUA,EAAK0J,SACpBH,KAAK,SAACqX,GACL,MAAO,CAAC3C,EAAG2C,KAEZiG,MAAM,SAAC3kB,GAEN,OADA8D,QAAQ3C,MAAMnB,GACP,UARN,OAaVqH,KAAK,SAACpH,GACL,OAAOA,EACJqI,OAAO,SAAAqG,GAAA,IAAAE,GAAA,EAAA/H,EAAAJ,SAAAiI,EAAA,GAAAE,EAAA,UAAAA,EAAA,KACP4L,OAAO,SAACC,EAAD3L,GAAiB,IAAAE,GAAA,EAAAnI,EAAAJ,SAAAqI,EAAA,GAAVgN,EAAU9M,EAAA,GAAPwR,EAAOxR,EAAA,GAEvB,OADAyL,EAAIqB,GAAK0E,EACF/F,GACN,SA8CTkK,SAzgBe,SAACC,EAAMvG,GActB,IAAMpc,EAAOzB,SAASyB,KAChB+E,EAAOxG,SAASwG,KACtBA,EAAK0X,UAAUC,IAAI,UACnB,IAAMkG,EAAQrkB,SAASC,cAAc,QACrCokB,EAAMhkB,aAAa,MAAO,cAC1BgkB,EAAMhkB,aAAa,OAAQ+jB,GAC3B3iB,EAAKC,YAAY2iB,GAuBjBA,EAAMC,iBAAiB,OArBJ,WACjB,IAAMC,EAASvkB,SAASC,cAAc,OACtCuG,EAAK9E,YAAY6iB,GAEjB,IAAI9F,EAAS,IACb,EAAA+F,EAAAve,SAAM,GAAI,SAACjD,GACT,IAAMjB,UAAeiB,EAAEgY,SAAS,IAAIyJ,cACpCF,EAAOlkB,aAAa,QAAS0B,GAC7B,IAAMwd,EAAQhc,OAAOmhB,iBAAiBH,GAAQI,iBAAiB,SAC/DlG,EAAO1c,GAAQwd,IAGjB/Y,EAAKoe,YAAYL,GAEjB,IAAMnG,EAAUpe,SAASC,cAAc,SACvCwB,EAAKC,YAAY0c,GAGjB5X,EAAK0X,UAAUU,OAAO,eAkexBiG,UA3CgB,SAACxV,EAAKwO,GACtB,OAAOmG,IAAYpd,KAAK,SAACqd,GACvB,IAAMhG,EAAQgG,EAAO5U,GAAO4U,EAAO5U,GAAO4U,EAAO,gBAC3Ca,EAAOC,MAAMC,QAAQ/G,GACrB5gB,EAAOynB,EAAO,GAAK7G,EAAMA,MAE/B,GAAI6G,EAAM,CACR,IAAMG,GAAQ,EAAApI,EAAA5B,SAAQgD,EAAM,IACtBiH,GAAQ,EAAArI,EAAA5B,SAAQgD,EAAM,IACtBkH,GAAU,EAAAtI,EAAA5B,SAAQgD,EAAM,IACxBmH,GAAU,EAAAvI,EAAA5B,SAAQgD,EAAM,IAExBoH,GAAU,EAAAxI,EAAA5B,SAAQgD,EAAM,IAAM,WAC9BqH,GAAY,EAAAzI,EAAA5B,SAAQgD,EAAM,IAAM,WAChCsH,GAAW,EAAA1I,EAAA5B,SAAQgD,EAAM,IAAM,WAC/BuH,GAAa,EAAA3I,EAAA5B,SAAQgD,EAAM,IAAM,WAEvC5gB,EAAKohB,OAAS,CACZ1C,GAAIkJ,EACJpJ,GAAIqJ,EACJjI,KAAMkI,EACN9E,KAAM+E,EACN5D,KAAM6D,EACN9D,MAAOgE,EACP9D,OAAQ6D,EACR5D,QAAS8D,GAURjiB,OAAOkiB,aACV9H,EAAWtgB,EAAMwgB,QAQrBF,eACAX,iBACA4C,mBACA0C,kBACAa,oBACAL,kBACA/E,mBACAiG,cACAD,kBACAlF,iBACAY,8OC3hBF,IAAMiG,EAAkBniB,OAAOoiB,SAASC,OAAlC,kBAEOC,mBAAiB,SAAArgB,GAAkD,IAA/CsgB,EAA+CtgB,EAA/CsgB,SAAUC,EAAqCvgB,EAArCugB,aAAcC,EAAuBxgB,EAAvBwgB,SAAUnI,EAAarY,EAAbqY,OACjE,GAAIiI,GAAYC,EACd,OAAOjf,EAAAb,QAAQrG,QAAQ,CAAEkmB,WAAUC,iBAGrC,IAAM5gB,EAAS6gB,EAAT,eACA1Z,EAAO,IAAI/I,OAAO0L,SAMxB,OAJA3C,EAAK6C,OAAO,cAAZ,aAAwC5L,OAAO0iB,yBAA/C,KAA4E,IAAIC,MAAQC,eACxF7Z,EAAK6C,OAAO,gBAAiBuW,GAC7BpZ,EAAK6C,OAAO,SAAU,qBAEf5L,OAAO2B,MAAMC,EAAK,CACvBM,OAAQ,OACRe,KAAM8F,IAEL1F,KAAK,SAACvJ,GAAD,OAAUA,EAAK0J,SACpBH,KAAK,SAACwf,GAAD,MAAU,CAAEN,SAAUM,EAAIC,UAAWN,aAAcK,EAAIE,iBAC5D1f,KAAK,SAACwf,GAAD,OAASvI,EAAO,gBAAiBuI,IAAQA,KAuH7CG,GA5DOC,iBAAiB,SAAAzT,GAA0C,IAAvC+S,EAAuC/S,EAAvC+S,SAAUC,EAA6BhT,EAA7BgT,aACnC5gB,EADgE4N,EAAfiT,SACjD,eACA1Z,EAAO,IAAI/I,OAAO0L,SAOxB,OALA3C,EAAK6C,OAAO,YAAa2W,GACzBxZ,EAAK6C,OAAO,gBAAiB4W,GAC7BzZ,EAAK6C,OAAO,aAAc,sBAC1B7C,EAAK6C,OAAO,eAAmB5L,OAAOoiB,SAASC,OAA/C,mBAEOriB,OAAO2B,MAAMC,EAAK,CACvBM,OAAQ,OACRe,KAAM8F,IACL1F,KAAK,SAACvJ,GAAD,OAAUA,EAAK0J,UAgDX,CACZ0f,MArHY,SAAAtgB,GAA4B,IAAzB6f,EAAyB7f,EAAzB6f,SACT3oB,EAAO,CACXqpB,cAAe,OACfL,UAHsClgB,EAAf2f,SAIvBa,aAAcjB,EACdkB,MAAO,qBAaHzhB,EAAS6gB,EAAT,qBAVa,EAAAa,EAAA5gB,SAAO5I,EAAM,SAAC4c,EAAK+F,EAAG1E,GACvC,IAAMwL,EAAaxL,EAAb,IAAkBhV,mBAAmB0Z,GAC3C,OAAK/F,EAGOA,EAAV,IAAiB6M,EAFVA,IAIR,GAKHvjB,OAAOoiB,SAASvB,KAAOjf,GAkGvB4hB,SA/Ee,SAAAzP,GAAgD,IAA7CwO,EAA6CxO,EAA7CwO,SAAUC,EAAmCzO,EAAnCyO,aAAcC,EAAqB1O,EAArB0O,SAAUgB,EAAW1P,EAAX0P,KAC9C7hB,EAAS6gB,EAAT,eACA1Z,EAAO,IAAI/I,OAAO0L,SAQxB,OANA3C,EAAK6C,OAAO,YAAa2W,GACzBxZ,EAAK6C,OAAO,gBAAiB4W,GAC7BzZ,EAAK6C,OAAO,aAAc,sBAC1B7C,EAAK6C,OAAO,OAAQ6X,GACpB1a,EAAK6C,OAAO,eAAmB5L,OAAOoiB,SAASC,OAA/C,mBAEOriB,OAAO2B,MAAMC,EAAK,CACvBM,OAAQ,OACRe,KAAM8F,IAEL1F,KAAK,SAACvJ,GAAD,OAAUA,EAAK0J,UAkEvBkgB,wBAhG8B,SAAA7gB,GAA8D,IAA3D0f,EAA2D1f,EAA3D0f,SAAUC,EAAiD3f,EAAjD2f,aAAcC,EAAmC5f,EAAnC4f,SAAUkB,EAAyB9gB,EAAzB8gB,SAAUlT,EAAe5N,EAAf4N,SACvE7O,EAAS6gB,EAAT,eACA1Z,EAAO,IAAI/I,OAAO0L,SAQxB,OANA3C,EAAK6C,OAAO,YAAa2W,GACzBxZ,EAAK6C,OAAO,gBAAiB4W,GAC7BzZ,EAAK6C,OAAO,aAAc,YAC1B7C,EAAK6C,OAAO,WAAY+X,GACxB5a,EAAK6C,OAAO,WAAY6E,GAEjBzQ,OAAO2B,MAAMC,EAAK,CACvBM,OAAQ,OACRe,KAAM8F,IACL1F,KAAK,SAACvJ,GAAD,OAAUA,EAAK0J,UAoFvB8e,iBACAsB,cAnDoB,SAAAjU,GAAuC,IAApCkT,EAAoClT,EAApCkT,IAAKJ,EAA+B9S,EAA/B8S,SAAUoB,EAAqBlU,EAArBkU,SAAUJ,EAAW9T,EAAX8T,KAC1C7hB,EAAS6gB,EAAT,uBACA1Z,EAAO,IAAI/I,OAAO0L,SAQxB,OANA3C,EAAK6C,OAAO,YAAaiX,EAAIC,WAC7B/Z,EAAK6C,OAAO,gBAAiBiX,EAAIE,eACjCha,EAAK6C,OAAO,YAAaiY,GACzB9a,EAAK6C,OAAO,OAAQ6X,GACpB1a,EAAK6C,OAAO,iBAAkB,QAEvB5L,OAAO2B,MAAMC,EAAK,CACvBM,OAAQ,OACRe,KAAM8F,IACL1F,KAAK,SAACvJ,GAAD,OAAUA,EAAK0J,UAuCvBsgB,mBApCyB,SAAA9T,GAAuC,IAApC6S,EAAoC7S,EAApC6S,IAAKJ,EAA+BzS,EAA/ByS,SAAUoB,EAAqB7T,EAArB6T,SAAUJ,EAAWzT,EAAXyT,KAC/C7hB,EAAS6gB,EAAT,uBACA1Z,EAAO,IAAI/I,OAAO0L,SAQxB,OANA3C,EAAK6C,OAAO,YAAaiX,EAAIC,WAC7B/Z,EAAK6C,OAAO,gBAAiBiX,EAAIE,eACjCha,EAAK6C,OAAO,YAAaiY,GACzB9a,EAAK6C,OAAO,OAAQ6X,GACpB1a,EAAK6C,OAAO,iBAAkB,YAEvB5L,OAAO2B,MAAMC,EAAK,CACvBM,OAAQ,OACRe,KAAM8F,IACL1F,KAAK,SAACvJ,GAAD,OAAUA,EAAK0J,UAwBvBugB,YArBkB,SAAAjU,GAA8B,IAA3B+S,EAA2B/S,EAA3B+S,IAAKJ,EAAsB3S,EAAtB2S,SAAU9Q,EAAY7B,EAAZ6B,MAC9B/P,EAAS6gB,EAAT,gBACA1Z,EAAO,IAAI/I,OAAO0L,SAMxB,OAJA3C,EAAK6C,OAAO,YAAaiX,EAAIN,UAC7BxZ,EAAK6C,OAAO,gBAAiBiX,EAAIL,cACjCzZ,EAAK6C,OAAO,QAAS+F,GAEd3R,OAAO2B,MAAMC,EAAK,CACvBM,OAAQ,OACRe,KAAM8F,IACL1F,KAAK,SAACvJ,GAAD,OAAUA,EAAK0J,sBAaVwf,kCCvJfvnB,EAAAqD,EAAAgW,GAAA,IAAAkP,EAAAvoB,EAAA,KAAAwoB,EAAAxoB,EAAAgE,EAAAukB,GAAA,QAAA/O,KAAA+O,EAAA,YAAA/O,GAAA,SAAA1V,GAAA9D,EAAA8C,EAAAuW,EAAAvV,EAAA,kBAAAykB,EAAAzkB,KAAA,CAAA0V,GAAA,IAAAiP,EAAAzoB,EAAA,KAAA0Z,EAAA1Z,EAAA,GAQA,IAEA2Z,EAVA,SAAAC,GACE5Z,EAAQ,MAeV6Z,EAAgB7a,OAAA0a,EAAA,EAAA1a,CACdwpB,EAAA1O,EACA2O,EAAA,EACAA,EAAA,GAXF,EAaA9O,EATA,KAEA,MAYeN,EAAA,QAAAQ,EAAiB,sCC1BhC7Z,EAAAqD,EAAAgW,GAAA,IAAAqP,EAAA1oB,EAAA,KAAA2oB,EAAA3oB,EAAAgE,EAAA0kB,GAAA,QAAAlP,KAAAkP,EAAA,YAAAlP,GAAA,SAAA1V,GAAA9D,EAAA8C,EAAAuW,EAAAvV,EAAA,kBAAA4kB,EAAA5kB,KAAA,CAAA0V,GAAA,IAAAoP,EAAA5oB,EAAA,KAAA0Z,EAAA1Z,EAAA,GAQA,IAEA2Z,EAVA,SAAAC,GACE5Z,EAAQ,MAeV6Z,EAAgB7a,OAAA0a,EAAA,EAAA1a,CACd2pB,EAAA7O,EACA8O,EAAA,EACAA,EAAA,GAXF,EAaAjP,EATA,KAEA,MAYeN,EAAA,QAAAQ,EAAiB,uFC1BhC,MAAAgP,EAAA7oB,EAAA,IACA,IAAM8oB,EAAiB,CACrBC,WAAY,CACVC,sDAEFC,SAAU,CACR5f,SADQ,WACM,OAAOuD,KAAKsc,OAAOC,MAAMlQ,SAASmQ,UAAUpf,SAE5Dqf,QAPqB,WAQnBzc,KAAKsc,OAAOI,SAAS,wBAAyB,CAAEjgB,SAAU,YAE5DkgB,UAVqB,WAWnB3c,KAAKsc,OAAOI,SAAS,eAAgB,sBAK1BR,oKCjBf9oB,EAAA,SACAA,EAAA,UACAA,EAAA,yDAGO,IAAMwpB,kCAAgC,SAACvQ,EAAUwQ,GACtD,IAAMC,EAAM,GACZ,GAAID,GAAmBA,EAAgB5qB,OAAS,EAAG,KAAA8qB,GAAA,EAAAC,GAAA,EAAAC,OAAAtnB,EAAA,IACjD,QAAAunB,EAAAC,GAAA,EAAAC,EAAA/iB,SAAmBgS,KAAnB0Q,GAAAG,EAAAC,EAAA3d,QAAA6d,MAAAN,GAAA,EAA6B,KAApBzhB,EAAoB4hB,EAAAtmB,MAC3B,IAAKimB,EAAgBzP,SAAS9R,EAAOlD,IACnC,MAEF0kB,EAAI3qB,KAAKmJ,EAAOlD,KAL+B,MAAAZ,GAAAwlB,GAAA,EAAAC,EAAAzlB,EAAA,aAAAulB,GAAAI,EAAAG,QAAAH,EAAAG,SAAA,WAAAN,EAAA,MAAAC,IAQnD,OAAOH,GAGHV,EAAW,CACfmB,MAAO,CACL,WACA,eACA,QACA,SACA,MACA,WACA,QACA,kBACA,aAEF9rB,KAZe,WAab,MAAO,CACL+rB,QAAQ,EACRC,WAAW,EACXC,aAAa,IAGjBrB,SAAU,CACRsB,cADQ,WACW,OAAO3d,KAAKsc,OAAOC,MAAMlQ,SAASvX,OACrD8oB,eAFQ,WAGN,OAAO5d,KAAKvD,SAASmhB,gBAEvBC,kBALQ,WAMN,OAAkC,IAA9B7d,KAAKvD,SAASqhB,YACT,GAEP,KAAY9d,KAAK4d,eAAjB,KAGJG,QAZQ,WAaN,MAAO,CACLC,KAAM,CAAC,YAAYvK,OAAQzT,KAAKie,SAAwC,GAA7B,CAAC,QAAS,kBACrDC,OAAQ,CAAC,oBAAoBzK,OAAQzT,KAAKie,SAA+B,GAApB,CAAC,kBACtDrjB,KAAM,CAAC,iBAAiB6Y,OAAQzT,KAAKie,SAA4B,GAAjB,CAAC,eACjDE,OAAQ,CAAC,mBAAmB1K,OAAQzT,KAAKie,SAA8B,GAAnB,CAAC,mBAIzDG,wBArBQ,WAsBN,IAAMtB,EAAMF,EAA8B5c,KAAKvD,SAAS4hB,gBAAiBre,KAAK6c,iBAE9E,OAAO,EAAAyB,EAAAjkB,SAAMyiB,IAEfyB,sBA1BQ,WA2BN,OAAO,EAAAD,EAAAjkB,SAAM2F,KAAK6c,mBAGtBV,WAAY,CACVqC,iBACAC,wBAEFhC,QArDe,WAsDb,IAAMiC,EAAQ1e,KAAKsc,OACb5iB,EAAcglB,EAAMnC,MAAMnd,MAAMuf,YAAYjlB,YAC5CklB,EAA2D,IAAzC5e,KAAKvD,SAAS4hB,gBAAgBpsB,OAItD,GAFA0F,OAAO+gB,iBAAiB,SAAU1Y,KAAK6e,YAEnCH,EAAMnC,MAAMuC,IAAIC,SAAS/e,KAAKgf,cAAiB,OAAO,EAE1DC,UAAgBC,eAAe,CAC7BR,QACAhlB,cACA+C,SAAUuD,KAAKgf,aACfJ,kBACA7hB,OAAQiD,KAAKjD,OACbrE,IAAKsH,KAAKtH,OAGdymB,QAvEe,gBAwEkB,IAApB/qB,SAASgrB,SAClBhrB,SAASskB,iBAAiB,mBAAoB1Y,KAAKqf,wBAAwB,GAC3Erf,KAAKyd,UAAYrpB,SAASgrB,QAE5BznB,OAAO+gB,iBAAiB,UAAW1Y,KAAKsf,iBAE1C3C,UA9Ee,WA+EbhlB,OAAO4nB,oBAAoB,SAAUvf,KAAK6e,YAC1ClnB,OAAO4nB,oBAAoB,UAAWvf,KAAKsf,qBACZ,IAApBlrB,SAASgrB,QAAwBhrB,SAASmrB,oBAAoB,mBAAoBvf,KAAKqf,wBAAwB,GAC1Hrf,KAAKsc,OAAOrK,OAAO,aAAc,CAAExV,SAAUuD,KAAKgf,aAAcpoB,OAAO,KAEzE4oB,QAAS,CACPF,eADO,SACS3rB,GAEV,CAAC,WAAY,SAASyZ,SAASzZ,EAAE6B,OAAOiqB,QAAQC,gBACtC,MAAV/rB,EAAEuD,KAAa8I,KAAK2f,mBAE1BA,gBANO,WAOuB,IAAxB3f,KAAK4d,iBAEyB,IAA9B5d,KAAKvD,SAASqhB,aAChB9d,KAAKsc,OAAOrK,OAAO,gBAAiB,CAAExV,SAAUuD,KAAKgf,aAAcY,eAAe,IAClF5f,KAAKsc,OAAOrK,OAAO,aAAc,CAAExV,SAAUuD,KAAKgf,aAAc5mB,GAAI,IACpE4H,KAAK6f,uBAEL7f,KAAKsc,OAAOrK,OAAO,kBAAmB,CAAExV,SAAUuD,KAAKgf,eACvDhf,KAAKwd,QAAS,KAGlBqC,oBAAoB,EAAAC,EAAAzlB,SAAS,WAAY,IAAA0lB,EAAA/f,KACjC0e,EAAQ1e,KAAKsc,OACb5iB,EAAcglB,EAAMnC,MAAMnd,MAAMuf,YAAYjlB,YAClDglB,EAAMzM,OAAO,aAAc,CAAExV,SAAUuD,KAAKgf,aAAcpoB,OAAO,IACjEqoB,UAAgBC,eAAe,CAC7BR,QACAhlB,cACA+C,SAAUuD,KAAKgf,aACfgB,OAAO,EACPpB,iBAAiB,EACjB7hB,OAAQiD,KAAKjD,OACbrE,IAAKsH,KAAKtH,MACTsC,KAAK,SAAAqR,GACNqS,EAAMzM,OAAO,aAAc,CAAExV,SAAUsjB,EAAKf,aAAcpoB,OAAO,IAC7DyV,GAAgC,IAApBA,EAASpa,SACvB8tB,EAAKrC,aAAc,MAGtB,SAlBiB/nB,GAmBpBkpB,WArCO,SAqCKlrB,GACV,IAAMssB,EAAY7rB,SAASwG,KAAKslB,wBAC1BC,EAAS5R,KAAK6R,IAAIH,EAAUE,QAAUF,EAAU3M,IACxB,IAA1BtT,KAAKvD,SAAS4jB,SACdrgB,KAAKsc,OAAOgE,QAAQC,aAAaC,UACjCxgB,KAAKygB,IAAIC,aAAe,GACvB/oB,OAAOgpB,YAAchpB,OAAOipB,aAAiBT,EAAS,KACzDngB,KAAK6f,sBAGTR,uBA/CO,WAgDLrf,KAAKyd,UAAYrpB,SAASgrB,SAG9ByB,MAAO,CACLjD,eADK,SACWkD,GACd,GAAK9gB,KAAKsc,OAAOgE,QAAQC,aAAaQ,WAGlCD,EAAQ,EAAG,CAEb,IAAME,EAAM5sB,SAAS6sB,mBACRtpB,OAAOipB,aAAeI,EAAIE,YAAcF,EAAIG,WAAa,GAC5D,KACLnhB,KAAKwd,QACJxd,KAAKyd,WAAazd,KAAKsc,OAAOgE,QAAQC,aAAaa,iBAIvDphB,KAAKwd,QAAS,EAFdxd,KAAK2f,gCASAvD,sIC/KfhpB,EAAA,UACAA,EAAA,UACAA,EAAA,UACAA,EAAA,UACAA,EAAA,UACAA,EAAA,UACAA,EAAA,SACAA,EAAA,SACAA,EAAA,UACAA,EAAA,UACAA,EAAA,UACAA,EAAA,UACAA,EAAA,UACAA,EAAA,SACAA,EAAA,KACAiuB,EAAAjuB,EAAA,KACAkuB,EAAAluB,EAAA,KACAmuB,EAAAnuB,EAAA,KAEAouB,EAAApuB,EAAA,sDAEA,IAAMorB,EAAS,CACbroB,KAAM,SACNonB,MAAO,CACL,YACA,aACA,iBACA,UACA,YACA,UACA,UACA,YACA,YACA,iBACA,aACA,aAEF9rB,KAhBa,WAiBX,MAAO,CACLgwB,UAAU,EACVC,SAAS,EACTC,cAAc,EACdC,YAAa5hB,KAAK6hB,gBAAkB7hB,KAAK8hB,QACzCC,oBAAoB,EACpBjtB,MAAO,KAEPktB,kBAAmBhiB,KAAKsc,OAAOgE,QAAQC,aAAa0B,6BAGxD5F,wBACE6F,4BADF,WAEI,OAAOliB,KAAKugB,aAAa0B,4BAE3BE,UAJF,WAKI,OAAOniB,KAAKugB,aAAa4B,WAE3BC,cAPF,WAQI,IAAM9lB,EAAO0D,KAAKqiB,UAAU/lB,KAC5B,OAAO,EAAAglB,EAAAgB,gBAAehmB,IAExBimB,UAXF,WAYI,IAAMjmB,EAAO0D,KAAKuC,QAAWvC,KAAKqiB,UAAUG,iBAAiBlmB,KAAQ0D,KAAKqiB,UAAU/lB,KACpF,OAAO,EAAAglB,EAAAgB,gBAAehmB,IAExBmmB,QAfF,WAgBI,OAAOziB,KAAKqiB,UAAUI,SAExBC,cAlBF,WAmBI,IAAMpmB,EAAO0D,KAAKqiB,UAAU/lB,KACtBqmB,EAAY3iB,KAAKugB,aAAaoC,UACpC,OAAO,EAAArB,EAAAsB,gBAAeD,EAAUrmB,EAAKqJ,eAEvCkd,UAvBF,WAwBI,IAAI7iB,KAAK8iB,UAAT,CACA,IAAMxmB,EAAO0D,KAAKuC,QAAWvC,KAAKqiB,UAAUG,iBAAiBlmB,KAAQ0D,KAAKqiB,UAAU/lB,KAC9EqmB,EAAY3iB,KAAKugB,aAAaoC,UACpC,OAAO,EAAArB,EAAAsB,gBAAeD,EAAUrmB,EAAKqJ,gBAEvCod,gBA7BF,WA8BI,OAAQ/iB,KAAKugB,aAAawC,kBAAoB/iB,KAAK6hB,gBAChD7hB,KAAKugB,aAAayC,uBAAyBhjB,KAAK6hB,gBAErDoB,gBAjCF,WAkCI,OAAOjjB,KAAKkjB,wBAAwBljB,KAAK1E,OAAOgB,KAAKlE,GAAI4H,KAAK1E,OAAOgB,KAAKqJ,cAE5Ewd,iBApCF,WAqCI,GAAInjB,KAAKojB,QACP,OAAOpjB,KAAKkjB,wBAAwBljB,KAAK1E,OAAO+nB,oBAAqBrjB,KAAKsjB,cAG9E/gB,QAzCF,WAyCe,QAASvC,KAAKqiB,UAAUG,kBACrCe,UA1CF,WA0CiB,OAAOvjB,KAAKqiB,UAAU/lB,KAAKnG,MAAQ6J,KAAKqiB,UAAU/lB,KAAKqJ,aACtE6d,cA3CF,WA2CqB,OAAOxjB,KAAKqiB,UAAU/lB,KAAKmnB,WAC9CC,qBA5CF,WA4C4B,OAAO1jB,KAAKkjB,wBAAwBljB,KAAKqiB,UAAU/lB,KAAKlE,GAAI4H,KAAKqiB,UAAU/lB,KAAKqJ,cAC1GrK,OA7CF,WA8CI,OAAI0E,KAAKuC,QACAvC,KAAKqiB,UAAUG,iBAEfxiB,KAAKqiB,WAGhBsB,2BApDF,WAsDI,OAAO3jB,KAAKsc,OAAOC,MAAMlQ,SAASuX,kBAAkB5jB,KAAK1E,OAAOlD,KAElEyrB,SAxDF,WAyDI,QAAS7jB,KAAK2e,aAEhBmF,aA3DF,WA4DI,IAAMC,EAAa/jB,KAAK1E,OAAO+V,KAAKqO,cAC9BsE,EAAgBhkB,KAAK1E,OAAO2oB,QAAQvE,cAK1C,OAJa,EAAAwE,EAAA7pB,SAAO2F,KAAKmiB,UAAW,SAACgC,GACnC,OAAOJ,EAAW3W,SAAS+W,EAASzE,gBAAkBsE,EAAc5W,SAAS+W,EAASzE,kBAK1F0E,MApEF,WAoEa,OAAQpkB,KAAK0hB,WAAc1hB,KAAKqkB,WAAarkB,KAAK1E,OAAOgB,KAAK8nB,QAAYpkB,KAAK6hB,gBAAkB7hB,KAAK1E,OAAOgpB,cAAiBtkB,KAAK8jB,aAAa7xB,OAAS,IACpKsyB,qBArEF,WAsEI,OAAOvkB,KAAKugB,aAAagE,sBAE3BC,WAxEF,WAyEI,OAAQxkB,KAAKykB,WAAazkB,KAAKyiB,SAAaziB,KAAKokB,OAASpkB,KAAKukB,sBAEjEG,UA3EF,WA6EI,QAAI1kB,KAAK8hB,WAEG9hB,KAAK6hB,gBAIV7hB,KAAK1E,OAAOlD,KAAO4H,KAAK2iB,WASjCgC,WA5FF,WA8FI,OADoB3kB,KAAK1E,OAAOspB,eAAezW,MAAM,UAAUlc,OAAS+N,KAAK1E,OAAO+V,KAAKpf,OAAS,GAC7E,IAEvB4yB,YAhGF,WAiGI,OAAO7kB,KAAK1E,OAAO2oB,QAAQhyB,OAAS,KAEtCmxB,QAnGF,WAoGI,SAAUpjB,KAAK1E,OAAOwpB,wBAAyB9kB,KAAK1E,OAAO+nB,sBAE7DC,YAtGF,WAuGI,GAAItjB,KAAK1E,OAAOypB,wBACd,OAAO/kB,KAAK1E,OAAOypB,wBAEnB,IAAMzoB,EAAO0D,KAAKsc,OAAOgE,QAAQ0E,SAAShlB,KAAK1E,OAAO+nB,qBACtD,OAAO/mB,GAAQA,EAAKqJ,aAGxB8e,UA9GF,WA+GI,GAA0C,QAAtCzkB,KAAKugB,aAAa0E,gBACpB,OAAO,EAET,GAAIjlB,KAAK6hB,iBAAmB7hB,KAAKojB,QAC/B,OAAO,EAET,GAAIpjB,KAAK1E,OAAOgB,KAAKlE,KAAO4H,KAAK2e,YAAYvmB,GAC3C,OAAO,EAET,GAAyB,YAArB4H,KAAK1E,OAAOhG,KACd,OAAO,EAGT,IADA,IAAM4vB,EAAuD,cAAtCllB,KAAKugB,aAAa0E,gBAChClzB,EAAI,EAAGA,EAAIiO,KAAK1E,OAAO6pB,WAAWlzB,SAAUF,EACnD,GAAIiO,KAAK1E,OAAOgB,KAAKlE,KAAO4H,KAAK1E,OAAO6pB,WAAWpzB,GAAGqG,GAAtD,CAGA,IAAMgtB,EAAaplB,KAAKsc,OAAOgE,QAAQ0E,SAAShlB,KAAK1E,OAAO6pB,WAAWpzB,GAAGqG,IAC1E,GAAI8sB,GAAkBE,GAAcA,EAAWnZ,UAC7C,OAAO,EAET,GAAIjM,KAAK1E,OAAO6pB,WAAWpzB,GAAGqG,KAAO4H,KAAK2e,YAAYvmB,GACpD,OAAO,EAGX,OAAO4H,KAAK1E,OAAO6pB,WAAWlzB,OAAS,GAEzCozB,kBA1IF,WA2II,QAAIrlB,KAAK2kB,aAAe3kB,KAAKkiB,gCAGrBliB,KAAKgiB,kBAAoBhiB,KAAK1E,OAAO2oB,UAE/CqB,eAhJF,WAiJI,QAAItlB,KAAK1E,OAAO2oB,UAAWjkB,KAAKkiB,gCAG5BliB,KAAK4hB,aAGF5hB,KAAK2kB,aAEdY,YAzJF,WA0JI,OAAQvlB,KAAK2kB,YAAc3kB,KAAK4hB,aAAiB5hB,KAAK1E,OAAO2oB,SAAWjkB,KAAKgiB,kBAE/EwD,iBA5JF,WA6JI,QAAKxlB,KAAK1E,OAAOmqB,QAGbzlB,KAAK1E,OAAO2oB,UAAWjkB,KAAKkiB,8BAKlCwD,aArKF,WAsKI,IAAK1lB,KAAK1E,OAAO2oB,QAAS,MAAO,GACjC,IAAM0B,GAAiB,EAAAC,EAAAvrB,SAAS2F,KAAK1E,OAAO2oB,SACtC4B,EAAW7lB,KAAKugB,aAAauF,oBAC7BC,EAAeJ,EAAerV,MAAM,YAC1C,MAAkB,SAAbuV,GAAuBE,GAA8B,UAAbF,EACpCF,EACe,UAAbE,EACF,OAAOpS,OAAOkS,GACC,SAAbE,EACF,QADF,GAITG,eAlLF,WAmLI,OAAKhmB,KAAKugB,aAAawC,kBAAoB/iB,KAAK6hB,gBAC7C7hB,KAAKugB,aAAayC,uBAAyBhjB,KAAK6hB,gBAChD7hB,KAAK1E,OAAO2qB,YAAYh0B,OAAS+N,KAAKkmB,cAChC,OACElmB,KAAKmmB,QACP,QAEF,UAETC,aA5LF,WA6LI,MAA4B,SAAxBpmB,KAAKgmB,eACA,GAEFhmB,KAAKugB,aAAa8F,kBACrB,CAAC,QAAS,SACV,CAAC,UAEPC,mBApMF,WAoMwB,IAAAvG,EAAA/f,KACpB,OAAOA,KAAK1E,OAAO2qB,YAAYhqB,OAC7B,SAAA8L,GAAA,OAAQqI,UAASI,oBAAoBuP,EAAKqG,aAAcre,MAG5Dwe,sBAzMF,WAyM2B,IAAAC,EAAAxmB,KACvB,OAAOA,KAAK1E,OAAO2qB,YAAYhqB,OAC7B,SAAA8L,GAAA,OAASqI,UAASI,oBAAoBgW,EAAKJ,aAAcre,MAG7Dme,cA9MF,WA+MI,OAAOlmB,KAAKugB,aAAa2F,eAE3BO,aAjNF,WAkNI,IAAMC,EAAO1mB,KAAK1E,OAAOspB,eAEzB,IAAI5kB,KAAKugB,aAAaoG,UAwBpB,OAAOD,EAvBP,IACE,OAAIA,EAAKtZ,SAAS,SAET,EAAAiU,EAAAuF,aAAYF,EAAM,SAACG,GACxB,OAAIA,EAAOzZ,SAAS,SAChByZ,EACGC,QAAQ,aAAc,IACtBA,QAAQ,SAAU,IAClBC,OACAhT,WAAW,QAChB,2BAAkC8S,EAAlC,UAEOA,IAIJH,EAET,MAAO/yB,GAEP,OADA8D,QAAQD,IAAI,gCAAiC7D,GACtC+yB,IAMbM,YA/OF,WAgPI,OAAKhnB,KAAK1E,OAAO2rB,aAGVjnB,KAAK1E,OAAO2rB,aAAe,SAAWjnB,KAAKymB,aAFzCzmB,KAAKymB,cAIhBS,4BArPF,WAuPI,IAAMC,EAAgB,GAAG1T,OACvBzT,KAAK2jB,2BAA2ByD,YAChCpnB,KAAK2jB,2BAA2B0D,aAElC,OAAO,EAAAC,EAAAjtB,SAAO8sB,EAAe,OAE/BI,UA7PF,WA8PI,OAAOvnB,KAAK1E,OAAOgB,KAAKlE,KAAO4H,KAAK2e,YAAYvmB,IAElDwN,KAhQF,WAiQI,OAAO5F,KAAK1E,OAAOsK,KAAK3J,OAAO,SAAAurB,GAAA,OAAUA,EAAOl1B,eAAe,UAASgI,IAAI,SAAAktB,GAAA,OAAUA,EAAOrxB,OAAMwE,KAAK,MAE1G8sB,cAnQF,WAoQI,OAAOznB,KAAKugB,aAAakH,iBAExB,EAAAjG,EAAAkG,YAAW,CAAC,kBACZ,EAAAlG,EAAAmG,UAAS,CACVC,aAAc,SAAArL,GAAA,OAASA,EAAMpF,UAAU0Q,eAAeC,WACtDnJ,YAAa,SAAApC,GAAA,OAASA,EAAMnd,MAAMuf,gBAGtCxC,WAAY,CACV4L,qBACAC,yBACAC,wBACAC,uBACAC,yBACAC,eACAC,mBACAC,qBACAC,kBACAC,sBACAC,qBACAC,kBACAC,yBAEFnJ,QAAS,CACPoJ,eADO,SACS9lB,GACd,OAAQA,GACN,IAAK,UACH,MAAO,YACT,IAAK,WACH,MAAO,qBACT,IAAK,SACH,MAAO,gBACT,QACE,MAAO,eAGb+lB,UAbO,SAaI/zB,GACTkL,KAAKlL,MAAQA,GAEfg0B,WAhBO,WAiBL9oB,KAAKlL,WAAQa,GAEfozB,YAnBO,SAmBM/zB,GACX,IAAMQ,EAASR,EAAMQ,OAAOwzB,QAAQ,qBACpC,GAAIxzB,EAAQ,CACV,GAAIA,EAAOyzB,UAAU3Y,MAAM,WAAY,CACrC,IAAMkI,EAAOhjB,EAAOgjB,KACd0Q,EAAOlpB,KAAK1E,OAAO6pB,WAAWgE,KAAK,SAAAD,GAAA,OAAQ,EAAA3H,EAAA6H,mBAAkBF,EAAM1Q,KACzE,GAAI0Q,EAAM,CACRl0B,EAAMq0B,kBACNr0B,EAAMs0B,iBACN,IAAM7U,EAAOzU,KAAKkjB,wBAAwBgG,EAAK9wB,GAAI8wB,EAAKvjB,aAExD,YADA3F,KAAKupB,QAAQp3B,KAAKsiB,IAItB,GAAIjf,EAAOg0B,IAAIlZ,MAAM,wBAA0B9a,EAAOyzB,UAAU3Y,MAAM,WAAY,CAEhF,IAAM5X,GAAM,EAAA6oB,EAAAkI,mBAAkBj0B,EAAOgjB,MACrC,GAAI9f,EAAK,CACP,IAAM+b,EAAOzU,KAAK0pB,gBAAgBhxB,GAElC,YADAsH,KAAKupB,QAAQp3B,KAAKsiB,IAItB9c,OAAOgyB,KAAKn0B,EAAOgjB,KAAM,YAG7BoR,eA7CO,WA8CL5pB,KAAKyhB,UAAYzhB,KAAKyhB,UAExBoI,aAhDO,SAgDOzxB,GACR4H,KAAK6hB,gBACP7hB,KAAK8pB,MAAM,OAAQ1xB,IAGvB2xB,eArDO,WAsDL/pB,KAAK8pB,MAAM,mBAEbE,WAxDO,WAyDLhqB,KAAK0hB,SAAW1hB,KAAK0hB,SAEvBuI,mBA3DO,WA4DLjqB,KAAK2hB,cAAgB3hB,KAAK2hB,cAE5BuI,eA9DO,WA+DDlqB,KAAK4hB,YACP5hB,KAAK4hB,aAAc,EACV5hB,KAAKgiB,kBAAoBhiB,KAAK1E,OAAO2oB,QAC9CjkB,KAAKgiB,kBAAmB,EACfhiB,KAAKslB,eACdtlB,KAAK4hB,aAAc,EACV5hB,KAAKqlB,mBAAqBrlB,KAAK1E,OAAO2oB,UAC/CjkB,KAAKgiB,kBAAmB,IAG5BkB,wBAzEO,SAyEkB9qB,EAAIjC,GAC3B,OAAO,EAAAg0B,EAAA9vB,SAAoBjC,EAAIjC,EAAM6J,KAAKsc,OAAOC,MAAMnC,SAAS/M,sBAElEqc,gBA5EO,SA4EUhxB,GACf,cAAeA,GAEjB0xB,SA/EO,WA+EK,IAAAC,EAAArqB,KACJimB,EAAsC,SAAxBjmB,KAAKgmB,eAA4BhmB,KAAK1E,OAAO2qB,YAAcjmB,KAAKsmB,mBACpF,OAAO,kBAAM+D,EAAK/N,OAAOI,SAAS,WAAYuJ,MAGlDpF,MAAO,CACL8B,UAAa,SAAUvqB,GACrB,GAAI4H,KAAK1E,OAAOlD,KAAOA,EAAI,CACzB,IAAIkyB,EAAOtqB,KAAKygB,IAAIP,wBAChBoK,EAAK9S,IAAM,IAEb7f,OAAO4yB,SAAS,EAAGD,EAAK9S,IAAM,KACrB8S,EAAKnK,QAAWxoB,OAAOgpB,YAAc,GAE9ChpB,OAAO4yB,SAAS,EAAGD,EAAK9S,IAAM,KACrB8S,EAAKE,OAAS7yB,OAAOgpB,YAAc,IAE5ChpB,OAAO4yB,SAAS,EAAGD,EAAKE,OAAS7yB,OAAOgpB,YAAc,MAI5D8J,oBAAqB,SAAUC,GAEzB1qB,KAAK0kB,WAAa1kB,KAAK2jB,2BAA2B0D,aAAernB,KAAK2jB,2BAA2B0D,YAAYp1B,SAAWy4B,GAC1H1qB,KAAKsc,OAAOI,SAAS,eAAgB1c,KAAK1E,OAAOlD,KAGrDuyB,kBAAmB,SAAUD,GAEvB1qB,KAAK0kB,WAAa1kB,KAAK2jB,2BAA2ByD,aAAepnB,KAAK2jB,2BAA2ByD,YAAYn1B,SAAWy4B,GAC1H1qB,KAAKsc,OAAOI,SAAS,YAAa1c,KAAK1E,OAAOlD,MAIpDwyB,QAAS,CACPC,WAAY,SAAUC,GACpB,OAAOA,EAAIC,OAAO,GAAGlS,cAAgBiS,EAAIjzB,MAAM,gBAKtC2mB,iFCpcf,QAAAprB,EAAA,UACAA,EAAA,UACAA,EAAA,UACAA,EAAA,wDAEA,IAAM20B,EAAa,CACjBxK,MAAO,CACL,aACA,OACA,WACA,OACA,YACA,WACA,mBAEF9rB,KAViB,WAWf,MAAO,CACLu5B,UAAWhrB,KAAKsc,OAAOC,MAAMnC,SAAS6Q,iBAAmBD,UACzDE,cAAelrB,KAAKsc,OAAOgE,QAAQC,aAAa4K,SAChDC,aAAcprB,KAAKsc,OAAOgE,QAAQC,aAAa6K,aAC/C/K,SAAS,EACTgL,IAA4D,UAAvD9a,UAAgBH,SAASpQ,KAAKiX,WAAW5G,WAAyBjc,SAASC,cAAc,OAC9Fi3B,WAAW,EACXC,YAAY,IAGhBpP,WAAY,CACVqP,qBACAC,2BAEFpP,SAAU,CACRqP,eADQ,WAEN,MAAqB,SAAd1rB,KAAK2rB,MAAiC,YAAd3rB,KAAK1K,MAEtCs2B,eAJQ,WAKN,OAAO5rB,KAAKsc,OAAOC,MAAMnC,SAASyR,oBAAsB,GAAK,eAE/Dv2B,KAPQ,WAQN,OAAOib,UAAgBH,SAASpQ,KAAKiX,WAAW5G,WAElD+O,OAVQ,WAWN,OAAOpf,KAAKylB,MAAQzlB,KAAKkrB,gBAAkBlrB,KAAKurB,YAElDO,QAbQ,WAcN,MAAsB,SAAd9rB,KAAK1K,OAAoB0K,KAAKiX,WAAW8U,QAAyB,YAAd/rB,KAAK1K,MAEnE02B,QAhBQ,WAiBN,MAAqB,UAAdhsB,KAAK2rB,MAEdM,UAnBQ,WAoBN,MAAqB,SAAdjsB,KAAK1K,MAAiC,UAAd0K,KAAK1K,OAGxCkqB,QAAS,CACPuJ,YADO,SAAAnvB,GACkB,IAAVpE,EAAUoE,EAAVpE,OACU,MAAnBA,EAAOiqB,SACT9nB,OAAOgyB,KAAKn0B,EAAOgjB,KAAM,WAG7B0T,UANO,SAMIl3B,GACT,IAAMm3B,EAAansB,KAAKsc,OAAOgE,QAAQC,aAAa8F,kBAChD,CAAC,QAAS,SACV,CAAC,UACD9V,UAAgBC,oBAAoB2b,EAAYnsB,KAAKiX,aACvDjX,KAAK0rB,kBAEL12B,EAAMq0B,kBACNr0B,EAAMs0B,iBACNtpB,KAAKoqB,WACLpqB,KAAKsc,OAAOI,SAAS,aAAc1c,KAAKiX,cAG5CmV,aAnBO,SAmBOp3B,GAAO,IAAA+qB,EAAA/f,MACfA,KAAKsc,OAAOgE,QAAQC,aAAa8L,iBAAoBrsB,KAAKurB,WAI1DvrB,KAAKqrB,MAAQrrB,KAAKorB,aAChBprB,KAAKqrB,IAAIn2B,OACX8K,KAAKqrB,IAAIn2B,UAET8K,KAAKqgB,SAAU,EACfrgB,KAAKqrB,IAAI32B,IAAMsL,KAAKiX,WAAW1d,IAC/ByG,KAAKqrB,IAAIn2B,OAAS,WAChB6qB,EAAKM,SAAU,EACfN,EAAKwL,YAAcxL,EAAKwL,aAI5BvrB,KAAKurB,YAAcvrB,KAAKurB,WAfxBvrB,KAAKksB,UAAUl3B,IAkBnBs3B,YAvCO,SAuCMC,GACX,IAAMC,EAAQD,EAAME,aACdtM,EAASoM,EAAMG,cACrB1sB,KAAK2sB,iBAAmB3sB,KAAK2sB,gBAAgB,CAAEH,QAAOrM,wBAK7C4H,2FCpGI,CACjBxK,MAAO,CACL,MACA,iBACA,WACA,iBACA,oBAEF9rB,KARiB,WASf,MAAO,CACLm7B,SAAU5sB,KAAKsc,OAAOgE,QAAQC,aAAaqM,WAG/CvQ,SAAU,CACRwQ,SADQ,WAEN,OAAO7sB,KAAK4sB,WAA+B,cAAlB5sB,KAAKqQ,UAA4BrQ,KAAKtL,IAAImiB,SAAS,WAGhF2I,QAAS,CACPsN,OADO,WAEL9sB,KAAK+sB,kBAAoB/sB,KAAK+sB,iBAAiB/sB,KAAKgtB,MAAMt4B,KAC1D,IAAMu4B,EAASjtB,KAAKgtB,MAAMC,OAC1B,GAAKA,EAAL,CACA,IAAMT,EAAQxsB,KAAKgtB,MAAMt4B,IAAI+3B,aACvBtM,EAASngB,KAAKgtB,MAAMt4B,IAAIg4B,cAC9BO,EAAOT,MAAQA,EACfS,EAAO9M,OAASA,EAChB8M,EAAOC,WAAW,MAAMC,UAAUntB,KAAKgtB,MAAMt4B,IAAK,EAAG,EAAG83B,EAAOrM,KAEjEiN,QAXO,WAYLptB,KAAKqtB,gBAAkBrtB,KAAKqtB,6GC7BV,CACtB9P,MAAO,CAAC,aAAc,YACtB9rB,KAFsB,WAGpB,MAAO,CACL67B,UAAWttB,KAAKsc,OAAOgE,QAAQC,aAAa+M,YAGhD9N,QAAS,CACP+N,gBADO,SACU55B,GACf,IAAM6B,EAAS7B,EAAE65B,YAAc75B,EAAE6B,YACiB,IAAvCA,EAAOi4B,4BAEZj4B,EAAOi4B,4BAA8B,IACvCztB,KAAKstB,UAAYttB,KAAKstB,YAActtB,KAAKsc,OAAOgE,QAAQC,aAAamN,0BAEhC,IAAvBl4B,EAAOm4B,YAEnBn4B,EAAOm4B,cACT3tB,KAAKstB,UAAYttB,KAAKstB,YAActtB,KAAKsc,OAAOgE,QAAQC,aAAamN,0BAEhC,IAAvBl4B,EAAOo4B,aACnBp4B,EAAOo4B,YAAY37B,OAAS,IAC9B+N,KAAKstB,UAAYttB,KAAKstB,YAActtB,KAAKsc,OAAOgE,QAAQC,aAAamN,wJCvB/ElM,EAAApuB,EAAA,GAEA,IAAM40B,EAAiB,CACrBzK,MAAO,CAAC,SAAU,YAClB9rB,KAFqB,WAGnB,MAAO,CACLo7B,UAAU,IAGdrN,QAAS,CACPrd,SADO,WACK,IAAA4d,EAAA/f,KACLA,KAAK1E,OAAOuyB,UAGf7tB,KAAKsc,OAAOI,SAAS,aAAc,CAAEtkB,GAAI4H,KAAK1E,OAAOlD,KAFrD4H,KAAKsc,OAAOI,SAAS,WAAY,CAAEtkB,GAAI4H,KAAK1E,OAAOlD,KAIrD4H,KAAK6sB,UAAW,EAChBj3B,WAAW,WACTmqB,EAAK8M,UAAW,GACf,OAGPxQ,wBACE0B,QADF,WAEI,MAAO,CACL+P,mBAAoB9tB,KAAK1E,OAAOuyB,UAChCE,YAAa/tB,KAAK1E,OAAOuyB,UACzBG,eAAgBhuB,KAAK6sB,aAGtB,EAAArL,EAAAkG,YAAW,CAAC,6BAIJM,kIClCfxG,EAAApuB,EAAA,GAEA,IAAM60B,EAAgB,CACpB1K,MAAO,CAAC,SAAU,WAAY,cAC9B9rB,KAFoB,WAGlB,MAAO,CACLo7B,UAAU,IAGdrN,QAAS,CACPjd,QADO,WACI,IAAAwd,EAAA/f,KACJA,KAAK1E,OAAO2yB,SAGfjuB,KAAKsc,OAAOI,SAAS,YAAa,CAAEtkB,GAAI4H,KAAK1E,OAAOlD,KAFpD4H,KAAKsc,OAAOI,SAAS,UAAW,CAAEtkB,GAAI4H,KAAK1E,OAAOlD,KAIpD4H,KAAK6sB,UAAW,EAChBj3B,WAAW,WACTmqB,EAAK8M,UAAW,GACf,OAGPxQ,wBACE0B,QADF,WAEI,MAAO,CACLmQ,UAAaluB,KAAK1E,OAAO2yB,SACzBE,mBAAoBnuB,KAAK1E,OAAO2yB,SAChCD,eAAgBhuB,KAAK6sB,aAGtB,EAAArL,EAAAkG,YAAW,CAAC,6BAIJO,gHClCf70B,EAAA,mEAGe,CACb+C,KAAM,OACNonB,MAAO,CAAC,YACRpB,WAAY,CAAEuM,mBACdj3B,KAJa,WAKX,MAAO,CACL4uB,SAAS,EACT/V,QAAS,KAGbmS,QAVa,WAWNzc,KAAKsc,OAAOC,MAAM6R,MAAMC,YAAYruB,KAAKqK,SAC5CrK,KAAKsc,OAAOI,SAAS,iBAAkB1c,KAAKsuB,UAE9CtuB,KAAKsc,OAAOI,SAAS,YAAa1c,KAAKqK,SAEzCsS,UAhBa,WAiBX3c,KAAKsc,OAAOI,SAAS,cAAe1c,KAAKqK,SAE3CgS,SAAU,CACRhS,OADQ,WAEN,OAAOrK,KAAKsuB,SAASl2B,IAEvB4K,KAJQ,WAMN,OADkBhD,KAAKsc,OAAOC,MAAM6R,MAAMC,YAAYruB,KAAKqK,SACvC,IAEtB7Q,QARQ,WASN,OAAQwG,KAAKgD,MAAQhD,KAAKgD,KAAKxJ,SAAY,IAE7C+0B,UAXQ,WAYN,OAAQvuB,KAAKgD,MAAQhD,KAAKgD,KAAKwrB,YAAe,GAEhDC,QAdQ,WAeN,OAAQzuB,KAAKgD,MAAQhD,KAAKgD,KAAKyrB,UAAY,GAE7C5K,SAjBQ,WAkBN,OAAO7jB,KAAKsc,OAAOC,MAAMnd,MAAMuf,aAEjC+P,YApBQ,WAqBN,OAAO1uB,KAAKgD,KAAK2rB,OAAS3uB,KAAKyuB,UAAYzuB,KAAK6jB,UAElD+K,gBAvBQ,WAwBN,OAAO5uB,KAAKgD,KAAK6rB,aAEnBC,eA1BQ,WA2BN,MAAO,CACLzO,QAASrgB,KAAKqgB,UAGlB0O,cA/BQ,WAmCN,OAAO/uB,KAAKsK,QACThQ,IAAI,SAAC00B,EAAOC,GAAR,OAAkBD,GAASC,IAC/BhzB,OAAO,SAAArF,GAAA,MAA0B,iBAAVA,KAE5Bs4B,WAvCQ,WAwCN,IAAMC,EAAyC,IAA9BnvB,KAAK+uB,cAAc98B,OACpC,OAAO+N,KAAKqgB,SAAW8O,IAG3B3P,QAAS,CACP4P,oBADO,SACctO,GACnB,OAAgC,IAAzB9gB,KAAK4uB,gBAAwB,EAAIrgB,KAAK8gB,MAAMvO,EAAQ9gB,KAAK4uB,gBAAkB,MAEpFU,YAJO,SAIM3rB,GACX,OAAUA,EAAOkrB,YAAjB,IAAgC7uB,KAAK4uB,gBAArC,IAAwD5uB,KAAKuvB,GAAG,gBAElEhlB,UAPO,WAQLvK,KAAKsc,OAAOI,SAAS,cAAe,CAAEtkB,GAAI4H,KAAKwvB,SAAUnlB,OAAQrK,KAAKgD,KAAK5K,MAE7Eq3B,eAVO,SAUSR,GASd,IAAMS,EAAc1vB,KAAKygB,IAAIkP,iBAAiB,SACxCC,EAAiB5vB,KAAKygB,IAAIoP,cAAT,gBAAuCZ,EAAvC,MACnBjvB,KAAKgD,KAAKe,SAEZ6rB,EAAeE,SAAWF,EAAeE,UAGzC,EAAAC,EAAA11B,SAAQq1B,EAAa,SAAAM,GAAaA,EAAQF,SAAU,IACpDF,EAAeE,SAAU,GAE3B9vB,KAAKsK,SAAU,EAAA1M,EAAAvD,SAAIq1B,EAAa,SAAA/7B,GAAA,OAAKA,EAAEm8B,WAEzCG,SA/BO,SA+BGhB,GACR,aAAcjvB,KAAKgD,KAAK5K,GAAxB,IAA8B62B,GAEhC9kB,KAlCO,WAkCC,IAAA4V,EAAA/f,KAC4B,IAA9BA,KAAK+uB,cAAc98B,SACvB+N,KAAKqgB,SAAU,EACfrgB,KAAKsc,OAAOI,SACV,WACA,CAAEtkB,GAAI4H,KAAKwvB,SAAUnlB,OAAQrK,KAAKgD,KAAK5K,GAAIkS,QAAStK,KAAK+uB,gBACzD/zB,KAAK,SAAAgI,GACL+c,EAAKM,SAAU,2FCjGvB6P,4KAEA,CACA/5B,KAAA,UACAonB,MAAA,kDACA9rB,KAHA,WAIA,OACA0+B,aAAA,CAAAj5B,IAAA,WAAAwzB,IAAA,GACA0F,SAAA,OAGA/T,SAAA,CACAgU,iBADA,WAEA,uBAAArwB,KAAAswB,KACA,IAAAhW,UAAAiW,MAAAvwB,KAAAswB,OAAAE,iBACAxwB,KAAAswB,KAAAE,mBAGA/T,QAhBA,WAiBAzc,KAAAywB,6BAEA9T,UAnBA,WAoBAxnB,aAAA6K,KAAAowB,WAEA5Q,QAAA,CACAiR,0BADA,WAEA,IAAAC,EAAA,iBAAA1wB,KAAA0wB,aAAA1wB,KAAA0wB,aAAA,EACA1wB,KAAAmwB,aAAAnwB,KAAA2wB,WACAT,EAAAC,aAAAnwB,KAAAswB,KAAAI,GACAR,EAAAU,kBAAA5wB,KAAAswB,KAAAI,GAEA1wB,KAAA6wB,aACA7wB,KAAAowB,SAAAx6B,WACAoK,KAAAywB,0BACA,IAAAzwB,KAAA6wB,+FC5CA,IAAM3I,EAAe,CACnB3K,MAAO,CAAE,UACTiC,QAAS,CACPvb,aADO,WAEatM,OAAOm5B,QAAQ9wB,KAAKuvB,GAAG,2BAEvCvvB,KAAKsc,OAAOI,SAAS,eAAgB,CAAEtkB,GAAI4H,KAAK1E,OAAOlD,MAG3D24B,UAPO,WAOM,IAAAhR,EAAA/f,KACXA,KAAKsc,OAAOI,SAAS,YAAa1c,KAAK1E,OAAOlD,IAC3C4C,KAAK,kBAAM+kB,EAAK+J,MAAM,eACtBxR,MAAM,SAAA9gB,GAAA,OAAOuoB,EAAK+J,MAAM,UAAWtyB,EAAI1C,MAAMA,UAElDk8B,YAZO,WAYQ,IAAAxK,EAAAxmB,KACbA,KAAKsc,OAAOI,SAAS,cAAe1c,KAAK1E,OAAOlD,IAC7C4C,KAAK,kBAAMwrB,EAAKsD,MAAM,eACtBxR,MAAM,SAAA9gB,GAAA,OAAOgvB,EAAKsD,MAAM,UAAWtyB,EAAI1C,MAAMA,UAElDqM,iBAjBO,WAiBa,IAAAkpB,EAAArqB,KAClBA,KAAKsc,OAAOI,SAAS,mBAAoB1c,KAAK1E,OAAOlD,IAClD4C,KAAK,kBAAMqvB,EAAKP,MAAM,eACtBxR,MAAM,SAAA9gB,GAAA,OAAO6yB,EAAKP,MAAM,UAAWtyB,EAAI1C,MAAMA,UAElDuM,mBAtBO,WAsBe,IAAA4vB,EAAAjxB,KACpBA,KAAKsc,OAAOI,SAAS,qBAAsB1c,KAAK1E,OAAOlD,IACpD4C,KAAK,kBAAMi2B,EAAKnH,MAAM,eACtBxR,MAAM,SAAA9gB,GAAA,OAAOy5B,EAAKnH,MAAM,UAAWtyB,EAAI1C,MAAMA,WAGpDunB,SAAU,CACRsC,YADQ,WACS,OAAO3e,KAAKsc,OAAOC,MAAMnd,MAAMuf,aAChDuS,UAFQ,WAGN,GAAKlxB,KAAK2e,YAEV,OADkB3e,KAAK2e,YAAYwS,OAAOC,WAAapxB,KAAK2e,YAAYwS,OAAOE,OAC3DrxB,KAAK1E,OAAOgB,KAAKlE,KAAO4H,KAAK2e,YAAYvmB,IAE/DmvB,UAPQ,WAQN,OAAOvnB,KAAK1E,OAAOgB,KAAKlE,KAAO4H,KAAK2e,YAAYvmB,IAElDk5B,OAVQ,WAWN,OAAOtxB,KAAKunB,YAAyC,WAA3BvnB,KAAK1E,OAAOwH,YAAsD,aAA3B9C,KAAK1E,OAAOwH,aAE/EyuB,QAbQ,WAcN,QAASvxB,KAAK2e,yBAKLuJ,iJCjDf90B,EAAA,UACAA,EAAA,UACAA,EAAA,UACAA,EAAA,UACAA,EAAA,UACAA,EAAA,KACAo+B,EAAAp+B,EAAA,SAEAA,EAAA,MACAouB,EAAApuB,EAAA,OACAA,EAAA,wDAEA,IAeM+0B,EAAiB,CACrB5K,MAAO,CACL,UACA,cACA,aACA,mBACA,WAEFpB,WAAY,CACVsV,sBACAC,qBACAC,mBACAC,wBACAC,oBAEF1S,QAfqB,WAgBnBnf,KAAK8xB,OAAO9xB,KAAKgtB,MAAM+E,UACvB,IAAMC,EAAahyB,KAAKgtB,MAAM+E,SAASn7B,MAAM3E,OAC7C+N,KAAKgtB,MAAM+E,SAASE,kBAAkBD,EAAYA,GAE9ChyB,KAAKkyB,SACPlyB,KAAKgtB,MAAM+E,SAASI,SAGxB1gC,KAxBqB,WAyBnB,IACIsyB,EADW/jB,KAAKoyB,OAAO5lB,MAAM/W,SACN,GAEnB48B,EAAcryB,KAAKsc,OAAOgE,QAAQC,aAAlC8R,UAER,GAAIryB,KAAKkyB,QAAS,CAChB,IAAMvT,EAAc3e,KAAKsc,OAAOC,MAAMnd,MAAMuf,YAC5CoF,EA/CsB,SAAAnqB,EAA4B+kB,GAAgB,IAAzCriB,EAAyC1C,EAAzC0C,KAAyCg2B,EAAA14B,EAAnCurB,kBAAmCxvB,IAAA28B,EAAtB,GAAsBA,EAClEC,0BAAoBpN,IAExBoN,EAAcC,QAAQl2B,GAEtBi2B,GAAgB,EAAAjL,EAAAjtB,SAAOk4B,EAAe,MACtCA,GAAgB,EAAAE,EAAAp4B,SAAOk4B,EAAe,CAAEn6B,GAAIumB,EAAYvmB,KAExD,IAAIs6B,GAAW,EAAA90B,EAAAvD,SAAIk4B,EAAe,SAACI,GACjC,UAAWA,EAAUhtB,cAGvB,OAAO+sB,EAASzgC,OAAS,EAAIygC,EAAS/3B,KAAK,KAAO,IAAM,GAmCvCi4B,CAAoB,CAAEt2B,KAAM0D,KAAK6yB,YAAa1N,WAAYnlB,KAAKmlB,YAAcxG,GAG5F,IAAM3D,EAAUhb,KAAK8yB,kBAAoBT,GAAwC,WAA1BryB,KAAK8yB,iBACxD9yB,KAAK8yB,iBACL9yB,KAAKsc,OAAOC,MAAMnd,MAAMuf,YAAYoU,cAEf3vB,EAAgBpD,KAAKsc,OAAOgE,QAAQC,aAArDyS,gBAER,MAAO,CACLC,UAAW,GACXC,gBAAgB,EAChBp+B,MAAO,KACPq+B,SAAS,EACTC,YAAa,EACbC,UAAW,CACTxwB,YAAa7C,KAAKszB,SAAW,GAC7Bh4B,OAAQyoB,EACR0B,MAAM,EACN8N,MAAO,GACPvwB,KAAM,GACNF,WAAYkY,EACZ5X,eAEFowB,MAAO,EACPC,iBAAiB,IAGrBpX,wBACEjd,MADF,WAEI,OAAOY,KAAKsc,OAAOC,MAAMnd,MAAMA,OAEjCs0B,iBAJF,WAKI,OAAO1zB,KAAKsc,OAAOC,MAAMnd,MAAMuf,YAAYoU,eAE7CY,cAPF,WAQI,OAAQ3zB,KAAKugB,aAAaqT,mBAE5BC,mBAVF,WAUwB,IAAA9T,EAAA/f,KACpB,OAAO,EAAA8zB,EAAAz5B,SAAU,CACf05B,8BACK/zB,KAAKsc,OAAOC,MAAMnC,SAAS2Z,QADhC,EAAAC,EAAA35B,SAEK2F,KAAKsc,OAAOC,MAAMnC,SAAS6Z,cAEhC70B,MAAOY,KAAKsc,OAAOC,MAAMnd,MAAMA,MAC/B80B,gBAAiB,SAACliB,GAAD,OAAW+N,EAAKzD,OAAOI,SAAS,cAAe1K,OAGpEmiB,eApBF,WAqBI,OAAO,EAAAL,EAAAz5B,SAAU,CACf05B,8BACK/zB,KAAKsc,OAAOC,MAAMnC,SAAS2Z,QADhC,EAAAC,EAAA35B,SAEK2F,KAAKsc,OAAOC,MAAMnC,SAAS6Z,iBAIpCF,MA5BF,WA6BI,OAAO/zB,KAAKsc,OAAOC,MAAMnC,SAAS2Z,OAAS,IAE7CE,YA/BF,WAgCI,OAAOj0B,KAAKsc,OAAOC,MAAMnC,SAAS6Z,aAAe,IAEnDG,aAlCF,WAmCI,OAAOp0B,KAAKqzB,UAAU/3B,OAAOrJ,QAE/BoiC,kBArCF,WAsCI,OAAOr0B,KAAKqzB,UAAUxwB,YAAY5Q,QAEpCqiC,kBAxCF,WAyCI,OAAOt0B,KAAKsc,OAAOC,MAAMnC,SAASma,WAEpCC,qBA3CF,WA4CI,OAAOx0B,KAAKs0B,kBAAoB,GAElCG,eA9CF,WA+CI,OAAOz0B,KAAKs0B,mBAAqBt0B,KAAKo0B,aAAep0B,KAAKq0B,oBAE5DK,kBAjDF,WAkDI,OAAO10B,KAAKw0B,sBAAyBx0B,KAAKy0B,eAAiB,GAE7Db,kBApDF,WAqDI,OAAO5zB,KAAKsc,OAAOC,MAAMnC,SAASwZ,mBAEpCe,kBAvDF,WAwDI,OAAO30B,KAAKugB,aAAaqU,wBAE3BC,YA1DF,WA2DI,OAAO70B,KAAKsc,OAAOC,MAAMnC,SAASya,aAAe,IAEnDC,cA7DF,WA8DI,OAAO90B,KAAKsc,OAAOC,MAAMnC,SAAS2a,QAEpCC,eAhEF,WAiEI,OAAOh1B,KAAKsc,OAAOC,MAAMnC,SAAS4a,gBAChCh1B,KAAKsc,OAAOC,MAAMnC,SAAS6a,WAAWC,aAAe,GAEzDC,gBApEF,WAqEI,OAAOn1B,KAAKsc,OAAOgE,QAAQC,aAAa4U,iBAE1CC,iBAvEF,WAwEI,OAAOp1B,KAAKyzB,iBACVzzB,KAAKqzB,UAAUrwB,MACfhD,KAAKqzB,UAAUrwB,KAAKlO,SAErB,EAAA0sB,EAAAkG,YAAW,CAAC,kBAEjBlI,QAAS,CACP7c,WADO,SACK0wB,GAAW,IAAA7M,EAAAxmB,KACrB,IAAIA,KAAKmzB,UACLnzB,KAAKkzB,eAAT,CAEA,GAA8B,KAA1BlzB,KAAKqzB,UAAU/3B,OAAe,CAChC,KAAI0E,KAAKqzB,UAAUE,MAAMthC,OAAS,GAIhC,YADA+N,KAAKlL,MAAQ,6CAFbkL,KAAKqzB,UAAU/3B,OAAS,IAO5B,IAAM0H,EAAOhD,KAAKyzB,gBAAkBzzB,KAAKqzB,UAAUrwB,KAAO,GACtDhD,KAAKo1B,iBACPp1B,KAAKlL,MAAQkL,KAAKo1B,kBAIpBp1B,KAAKmzB,SAAU,EACfkC,UAAa1yB,WAAW,CACtBrH,OAAQ+3B,EAAU/3B,OAClBuH,YAAawwB,EAAUxwB,aAAe,KACtCC,WAAYuwB,EAAUvwB,WACtBC,UAAWswB,EAAU5N,KACrBhoB,MAAO41B,EAAUE,MACjB7U,MAAO1e,KAAKsc,OACZnZ,kBAAmBnD,KAAKkyB,QACxB9uB,YAAaiwB,EAAUjwB,YACvBJ,SACChI,KAAK,SAACvJ,GACP,GAAKA,EAAKqD,MAkBR0xB,EAAK1xB,MAAQrD,EAAKqD,UAlBH,CACf0xB,EAAK6M,UAAY,CACf/3B,OAAQ,GACRuH,YAAa,GACb0wB,MAAO,GACPzwB,WAAYuwB,EAAUvwB,WACtBM,YAAaiwB,EAAUjwB,YACvBJ,KAAM,IAERwjB,EAAKiN,iBAAkB,EACvBjN,EAAKwG,MAAMsI,YAAYC,YACvB/O,EAAKgP,gBACLhP,EAAKsD,MAAM,UACX,IAAI2L,EAAKjP,EAAK/F,IAAIoP,cAAc,YAChC4F,EAAGC,MAAMvV,OAAS,OAClBsV,EAAGC,MAAMvV,YAASxqB,EAClB6wB,EAAK1xB,MAAQ,KAIf0xB,EAAK2M,SAAU,OAGnBwC,aAvDO,SAuDOC,GACZ51B,KAAKqzB,UAAUE,MAAMphC,KAAKyjC,GAC1B51B,KAAK61B,gBAEPC,gBA3DO,SA2DUF,GACf,IAAI3G,EAAQjvB,KAAKqzB,UAAUE,MAAMwC,QAAQH,GACzC51B,KAAKqzB,UAAUE,MAAMpgC,OAAO87B,EAAO,IAErC+G,aA/DO,SA+DOC,EAAWC,GACvBA,EAAeA,GAAgB,GAC/Bl2B,KAAKlL,MAAQkL,KAAKuvB,GAAG,qBAAuB,IAAMvvB,KAAKuvB,GAAG,gBAAkB0G,EAAWC,GACvFl2B,KAAK61B,gBAEPM,cApEO,WAqELn2B,KAAKkzB,gBAAiB,GAExB2C,aAvEO,WAwEL71B,KAAKkzB,gBAAiB,GAExB59B,KA1EO,SA0EDsgC,GACJ,OAAOrlB,UAAgBH,SAASwlB,EAASvlB,WAE3C+lB,MA7EO,SA6EAziC,GACLqM,KAAK8xB,OAAOn+B,GACRA,EAAE0iC,cAAc9C,MAAMthC,OAAS,IAEjC0B,EAAE21B,iBAIFtpB,KAAKizB,UAAY,CAACt/B,EAAE0iC,cAAc9C,MAAM,MAG5C+C,SAxFO,SAwFG3iC,GACJA,EAAE4iC,aAAahD,MAAMthC,OAAS,IAChC0B,EAAE21B,iBACFtpB,KAAKizB,UAAYt/B,EAAE4iC,aAAahD,QAGpCiD,SA9FO,SA8FG7iC,GACRA,EAAE4iC,aAAaE,WAAa,QAE9BC,kBAjGO,SAiGY/iC,GAAG,IAAA02B,EAAArqB,KACpBA,KAAK22B,UAAU,WACbtM,EAAKyH,OAAOzH,EAAK2C,MAAL,aAGhB8E,OAtGO,SAsGCn+B,GACN,IAAM6B,EAAS7B,EAAE6B,QAAU7B,EAC3B,GAAM6B,aAAkBmC,OAAOi/B,QAA/B,CAGA,GAAqB,KAAjBphC,EAAOoB,MAGT,OAFApB,EAAOkgC,MAAMvV,OAAS,UACtBngB,KAAKgtB,MAAM,eAAe8E,SAI5B,IAAM+E,EAAU72B,KAAKgtB,MAAL,KACV8J,EAAY92B,KAAKgtB,MAAL,OAKZ+J,EAAyBp/B,OAAOmhB,iBAAiBge,GAAW,kBAC5DE,EAAsBljB,OAAOijB,EAAuBE,UAAU,EAAGF,EAAuB9kC,OAAS,IAEjGilC,EAAcl3B,KAAKygB,IAAIuI,QAAQ,sBAC/BhpB,KAAKygB,IAAIuI,QAAQ,0BACjBrxB,OAGAw/B,EAAgBx/B,OAAOmhB,iBAAiBtjB,GAAQ,eAChD4hC,EAAmBz/B,OAAOmhB,iBAAiBtjB,GAAQ,kBAGnD6hC,EAFavjB,OAAOqjB,EAAcF,UAAU,EAAGE,EAAcllC,OAAS,IACtD6hB,OAAOsjB,EAAiBH,UAAU,EAAGG,EAAiBnlC,OAAS,IAqB/EqlC,EAAgBJ,IAAgBv/B,OAClCu/B,EAAYK,QACZL,EAAYhW,UACVsW,EAAiBN,IAAgBv/B,OACnCu/B,EAAYvW,YACZuW,EAAYxW,aACV+W,EAAuBH,EAAgBE,EAG7ChiC,EAAOkgC,MAAMvV,OAAS,OACtB,IAAMuX,EAAYliC,EAAOmiC,aAAeN,EACxC7hC,EAAOkgC,MAAMvV,OAAYuX,EAAzB,KAKA,IAAME,EAAqBd,EAAUpW,cAAe,EAAA8Q,EAAAqG,YAAWf,EAAWI,GAAa1f,IAAMwf,EAEvFc,EAAqBL,EAAuBG,EAC5CG,EAA2BP,EAAiBX,EAAQnW,aACpDsX,EAAoBJ,EAAqBH,EASzCQ,EAAeX,GAJQQ,KACrBC,GACA/3B,KAAKgtB,MAAM+E,SAASmG,iBAAmBl4B,KAAKgtB,MAAM+E,SAASn7B,MAAM3E,QAC/B+lC,EAAoB,GAG1Dd,IAAgBv/B,OAClBu/B,EAAYiB,OAAO,EAAGF,GAEtBf,EAAYhW,UAAY+W,EAG1Bj4B,KAAKgtB,MAAM,eAAe8E,WAE5BsG,gBA9LO,WA+LLp4B,KAAKgtB,MAAL,SAAuBmF,QACvBnyB,KAAKgtB,MAAM,eAAeqL,qBAE5BvP,WAlMO,WAmML9oB,KAAKlL,MAAQ,MAEfwjC,UArMO,SAqMIx1B,GACT9C,KAAKqzB,UAAUvwB,WAAaA,GAE9By1B,eAxMO,WAyMLv4B,KAAKyzB,iBAAmBzzB,KAAKyzB,iBAE/B+E,QA3MO,SA2MEx1B,GACPhD,KAAKqzB,UAAUrwB,KAAOA,GAExBwyB,cA9MO,WA+MDx1B,KAAKgtB,MAAMyL,UACbz4B,KAAKgtB,MAAMyL,SAASC,SAGxBC,mBAnNO,WAoNL34B,KAAKsc,OAAOI,SAAS,YAAa,CAAEvmB,KAAM,kBAAmBS,OAAO,iBAK3DuxB,iFC7Xf,QAAA/0B,EAAA,UACAA,EAAA,yDAEA,IAAMkiC,EAAc,CAClB7jC,KADkB,WAEhB,MAAO,CACLmnC,WAAW,EACXC,aAAa,IAGjBrZ,QAAS,CACPsZ,WADO,SACK/wB,GACV,IAAMgxB,EAAO/4B,KACP0e,EAAQ1e,KAAKsc,OACnB,GAAIvU,EAAK4jB,KAAOjN,EAAMnC,MAAMnC,SAAS4e,YAArC,CACE,IAAMC,EAAWC,UAAsBC,eAAepxB,EAAK4jB,MACrDyN,EAAcF,UAAsBC,eAAeza,EAAMnC,MAAMnC,SAAS4e,aAC9ED,EAAKjP,MAAM,gBAAiB,eAAgB,CAAEmP,SAAUA,EAASvO,IAAK2O,aAAcJ,EAASK,KAAMF,YAAaA,EAAY1O,IAAK6O,gBAAiBH,EAAYE,WAHhK,CAMA,IAAMh1B,EAAW,IAAIjB,SACrBiB,EAASf,OAAO,OAAQwE,GAExBgxB,EAAKjP,MAAM,aACXiP,EAAKH,WAAY,EAEjBY,UAAoBp1B,YAAY,CAAEsa,QAAOpa,aACtCtJ,KAAK,SAACy+B,GACLV,EAAKjP,MAAM,WAAY2P,GACvBV,EAAKH,WAAY,GAChB,SAAC9jC,GACFikC,EAAKjP,MAAM,gBAAiB,WAC5BiP,EAAKH,WAAY,MAGvBtC,SAzBO,SAyBG3iC,GACJA,EAAE4iC,aAAahD,MAAMthC,OAAS,IAChC0B,EAAE21B,iBACFtpB,KAAK84B,WAAWnlC,EAAE4iC,aAAahD,MAAM,MAGzCiD,SA/BO,SA+BG7iC,GACIA,EAAE4iC,aAAa9lB,MACjBipB,SAAS,SACjB/lC,EAAE4iC,aAAaE,WAAa,OAE5B9iC,EAAE4iC,aAAaE,WAAa,QAGhClB,UAvCO,WAuCM,IAAAxV,EAAA/f,KACXA,KAAK64B,aAAc,EACnB74B,KAAK22B,UAAU,WACb5W,EAAK8Y,aAAc,KAGvBc,OA7CO,SAAA//B,GA8CL,IADkB,IAAVpE,EAAUoE,EAAVpE,OACCzD,EAAI,EAAGA,EAAIyD,EAAO+9B,MAAMthC,OAAQF,IAAK,CAC5C,IAAIgW,EAAOvS,EAAO+9B,MAAMxhC,GACxBiO,KAAK84B,WAAW/wB,MAItBwV,MAAO,CACL,aAEFsD,MAAO,CACLoS,UAAa,SAAU2G,GAChB55B,KAAK44B,WACR54B,KAAK84B,WAAWc,EAAU,iBAMnBtE,2FC3EO,CACpB/X,MAAO,CACL,UACA,cACA,gBACA,eACA,iBAEF9rB,KARoB,WASlB,MAAO,CACLooC,aAAc75B,KAAK85B,eAGvBzd,SAAU,CACR0d,YADQ,WAEN,QAAQ/5B,KAAKg6B,YAAeh6B,KAAKi6B,cAAiBj6B,KAAKk6B,aAAgBl6B,KAAKm6B,aAE9EH,WAJQ,WAKN,MAA8B,WAAvBh6B,KAAKo6B,eAA8Bp6B,KAAKq6B,WAAW,WAE5DJ,aAPQ,WAQN,MAA8B,WAAvBj6B,KAAKo6B,eAA8Bp6B,KAAKq6B,WAAW,aAE5DH,YAVQ,WAWN,MAA8B,WAAvBl6B,KAAKo6B,eAA8Bp6B,KAAKq6B,WAAW,YAE5DF,WAbQ,WAcN,OAAOn6B,KAAKq6B,WAAW,WAEzBC,IAhBQ,WAiBN,MAAO,CACLl9B,OAAQ,CAAEm9B,SAAgC,WAAtBv6B,KAAK65B,cACzBW,SAAU,CAAED,SAAgC,aAAtBv6B,KAAK65B,cAC3BY,QAAS,CAAEF,SAAgC,YAAtBv6B,KAAK65B,cAC1Ba,OAAQ,CAAEH,SAAgC,WAAtBv6B,KAAK65B,iBAI/Bra,QAAS,CACP6a,WADO,SACKrf,GACV,OAAOhb,KAAK26B,SACV36B,KAAK65B,eAAiB7e,GACtBhb,KAAKo6B,gBAAkBpf,GACvBhb,KAAK46B,cAAgB5f,GACX,WAAVA,GAEJsd,UARO,SAQItd,GACThb,KAAK65B,aAAe7e,EACpBhb,KAAK66B,eAAiB76B,KAAK66B,cAAc7f,+HChD/C5nB,EAAA,UACAA,EAAA,MAEAo+B,EAAAp+B,EAAA,wDAoBA,IAAMs+B,EAAa,CACjBnU,MAAO,CACLud,QAAS,CAsBPC,UAAU,EACVzlC,KAAM0lC,UAERpkC,MAAO,CAILmkC,UAAU,EACVzlC,KAAM2lC,QAERC,kBAAmB,CAIjBH,UAAU,EACVzlC,KAAM6lC,QACN9gC,SAAS,GAEX+gC,gBAAiB,CAKfL,UAAU,EACVzlC,KAAM6lC,QACN9gC,SAAS,GAEXghC,oBAAqB,CAInBN,UAAU,EACVzlC,KAAM6lC,QACN9gC,SAAS,IAGb5I,KA5DiB,WA6Df,MAAO,CACLugB,WAAOrc,EACPy9B,YAAa,EACbI,MAAO,EACP1R,SAAS,EACTwZ,YAAa,KACbC,YAAY,EACZC,4BAA4B,EAC5BC,UAAU,EACVC,qBAAqB,IAGzBvf,WAAY,CACVwf,uBAEFtf,SAAU,CACRuf,SADQ,WAEN,OAAO57B,KAAKsc,OAAOgE,QAAQC,aAAaqb,UAE1C7xB,YAJQ,WAIO,IAAAgW,EAAA/f,KACP67B,EAAY77B,KAAK87B,YAAY/Q,OAAO,GAC1C,GAAI/qB,KAAK87B,cAAgBD,EAAa,MAAO,GAC7C,IAAME,EAAqB/7B,KAAK86B,QAAQ96B,KAAK87B,aAC7C,OAAIC,EAAmB9pC,QAAU,EACxB,IAEF,EAAA+pC,EAAA3hC,SAAK0hC,EAAoB,GAC7BzhC,IAAI,SAAAV,EAAwBq1B,GAAxB,IAAGgN,EAAHriC,EAAGqiC,SAAar1B,GAAhB,EAAApG,EAAAnG,SAAAT,EAAA,uBAAAkB,EAAAT,SAAA,GACAuM,EADA,CAGHykB,IAAK4Q,GAAY,GACjB7I,YAAanE,IAAUlP,EAAKqT,iBAGlC8I,gBAnBQ,WAoBN,OAAOl8B,KAAK8hB,SACV9hB,KAAK+J,aACL/J,KAAK+J,YAAY9X,OAAS,IACzB+N,KAAKu7B,aACLv7B,KAAKw7B,4BAEVM,YA1BQ,WA2BN,OAAQ97B,KAAKm8B,aAAe,IAAIC,MAAQ,IAE1CD,YA7BQ,WA8BN,GAAIn8B,KAAKpJ,OAASoJ,KAAKwzB,MAErB,OADa6I,UAAWC,eAAet8B,KAAKpJ,MAAOoJ,KAAKwzB,MAAQ,IAAM,KAK5ErU,QAhHiB,WAiHf,IAAMod,EAAQv8B,KAAKw8B,OAAOniC,QAC1B,GAAKkiC,GAA0B,IAAjBA,EAAMtqC,OAApB,CACA,IAAM+f,EAAQuqB,EAAMpT,KAAK,SAAAsT,GAAA,MAAQ,CAAC,QAAS,YAAYrvB,SAASqvB,EAAK/jC,OAChEsZ,IACLhS,KAAKgS,MAAQA,EACbhS,KAAK8xB,SACL9f,EAAM0qB,IAAIhkB,iBAAiB,OAAQ1Y,KAAK28B,QACxC3qB,EAAM0qB,IAAIhkB,iBAAiB,QAAS1Y,KAAK48B,SACzC5qB,EAAM0qB,IAAIhkB,iBAAiB,QAAS1Y,KAAK68B,SACzC7qB,EAAM0qB,IAAIhkB,iBAAiB,QAAS1Y,KAAK88B,SACzC9qB,EAAM0qB,IAAIhkB,iBAAiB,UAAW1Y,KAAK+8B,WAC3C/qB,EAAM0qB,IAAIhkB,iBAAiB,QAAS1Y,KAAKg9B,cACzChrB,EAAM0qB,IAAIhkB,iBAAiB,gBAAiB1Y,KAAKi9B,cACjDjrB,EAAM0qB,IAAIhkB,iBAAiB,oBAAqB1Y,KAAKk9B,wBAEvDC,UAhIiB,WAgIJ,IACHnrB,EAAUhS,KAAVgS,MACJA,IACFA,EAAM0qB,IAAInd,oBAAoB,OAAQvf,KAAK28B,QAC3C3qB,EAAM0qB,IAAInd,oBAAoB,QAASvf,KAAK48B,SAC5C5qB,EAAM0qB,IAAInd,oBAAoB,QAASvf,KAAK68B,SAC5C7qB,EAAM0qB,IAAInd,oBAAoB,QAASvf,KAAK88B,SAC5C9qB,EAAM0qB,IAAInd,oBAAoB,UAAWvf,KAAK+8B,WAC9C/qB,EAAM0qB,IAAInd,oBAAoB,QAASvf,KAAKg9B,cAC5ChrB,EAAM0qB,IAAInd,oBAAoB,gBAAiBvf,KAAKi9B,cACpDjrB,EAAM0qB,IAAInd,oBAAoB,oBAAqBvf,KAAKk9B,uBAG5D1d,QAAS,CACP6Y,kBADO,WACc,IAAA7R,EAAAxmB,KACnBA,KAAKu7B,YAAa,EAClBv7B,KAAKgtB,MAAMoQ,OAAOC,iBAClBr9B,KAAK22B,UAAU,WACbnQ,EAAK8W,mBAKPt9B,KAAK07B,qBAAsB,EAC3B9lC,WAAW,WACT4wB,EAAKkV,qBAAsB,GAC1B,IAEL6B,aAfO,WAgBLv9B,KAAKgS,MAAM0qB,IAAIvK,QACfnyB,KAAKu7B,YAAcv7B,KAAKu7B,WACpBv7B,KAAKu7B,aACPv7B,KAAKs9B,iBACLt9B,KAAKgtB,MAAMoQ,OAAOC,mBAGtBvW,QAvBO,SAuBE0W,GACP,IAAMC,EAAWpB,UAAWqB,YAAY19B,KAAKpJ,MAAOoJ,KAAKm8B,YAAaqB,GACtEx9B,KAAK8pB,MAAM,QAAS2T,GACpBz9B,KAAKwzB,MAAQ,GAEfmK,OA5BO,SAAApjC,GA4B0B,IAAvBqjC,EAAuBrjC,EAAvBqjC,UAAWnC,EAAYlhC,EAAZkhC,SACboC,EAAS79B,KAAKpJ,MAAMqgC,UAAU,EAAGj3B,KAAKwzB,QAAU,GAChDsK,EAAQ99B,KAAKpJ,MAAMqgC,UAAUj3B,KAAKwzB,QAAU,GAgB5CuK,EAAe,KACfC,GAAeD,EAAaxuB,KAAKsuB,EAAOhmC,OAAO,KAAOgmC,EAAO5rC,QAAU+N,KAAK47B,SAAW,EAAI,IAAM,GACjGqC,GAAcF,EAAaxuB,KAAKuuB,EAAM,KAAO99B,KAAK47B,SAAW,IAAM,GAEnE6B,EAAW,CACfI,EACAG,EACAJ,EACAK,EACAH,GACAnjC,KAAK,IACPqF,KAAKy7B,SAAWA,EAChBz7B,KAAK8pB,MAAM,QAAS2T,GACpB,IAAMS,EAAWl+B,KAAKwzB,OAASoK,EAAYK,EAAaD,GAAa/rC,OAChEwpC,GACHz7B,KAAKgS,MAAM0qB,IAAIvK,QAGjBnyB,KAAK22B,UAAU,WAGb32B,KAAKgS,MAAM0qB,IAAIzK,kBAAkBiM,EAAUA,GAC3Cl+B,KAAKwzB,MAAQ0K,KAGjBC,YAvEO,SAuEMxqC,EAAGyqC,GACd,IAAMC,EAAMr+B,KAAK+J,YAAY9X,QAAU,EACvC,GAAgC,IAA5B+N,KAAK87B,YAAY7pC,SACjBosC,EAAM,GAAKD,GAAY,CACzB,IACMZ,GADmBY,GAAcp+B,KAAK+J,YAAY/J,KAAKozB,cACxBoK,YAC/BC,EAAWpB,UAAWqB,YAAY19B,KAAKpJ,MAAOoJ,KAAKm8B,YAAaqB,GACtEx9B,KAAK8pB,MAAM,QAAS2T,GACpBz9B,KAAKozB,YAAc,EACnB,IAAM8K,EAAWl+B,KAAKm8B,YAAYmC,MAAQd,EAAYvrC,OAEtD+N,KAAK22B,UAAU,WAEb32B,KAAKgS,MAAM0qB,IAAIvK,QAEfnyB,KAAKgS,MAAM0qB,IAAIzK,kBAAkBiM,EAAUA,GAC3Cl+B,KAAKwzB,MAAQ0K,IAEfvqC,EAAE21B,mBAGNiV,cA5FO,SA4FQ5qC,IACDqM,KAAK+J,YAAY9X,QAAU,GAC7B,GACR+N,KAAKozB,aAAe,EAChBpzB,KAAKozB,YAAc,IACrBpzB,KAAKozB,YAAcpzB,KAAK+J,YAAY9X,OAAS,GAE/C0B,EAAE21B,kBAEFtpB,KAAKozB,YAAc,GAGvBoL,aAxGO,SAwGO7qC,GACZ,IAAM0qC,EAAMr+B,KAAK+J,YAAY9X,QAAU,EACnCosC,EAAM,GACRr+B,KAAKozB,aAAe,EAChBpzB,KAAKozB,aAAeiL,IACtBr+B,KAAKozB,YAAc,GAErBz/B,EAAE21B,kBAEFtpB,KAAKozB,YAAc,GAGvBkK,eApHO,WAoHW,IAAAjT,EAAArqB,KACVy+B,EAAUz+B,KAAKgtB,MAAL,OAAqBvM,IAK/ByW,EAAcl3B,KAAKygB,IAAIuI,QAAQ,sBAC/BhpB,KAAKygB,IAAIuI,QAAQ,0BACjBrxB,OACA2/B,EAAgBJ,IAAgBv/B,OAClCu/B,EAAYK,QACZL,EAAYhW,UAKVuW,EAAuBH,GAJNJ,IAAgBv/B,OACnCu/B,EAAYvW,YACZuW,EAAYxW,cAKVge,EAAmBD,EAAQ/d,cAAe,EAAA8Q,EAAAqG,YAAW4G,EAASvH,GAAa1f,IAI3EygB,EAAeX,EAFD/oB,KAAK6R,IAAI,EAAGse,EAAmBjH,GAI/CP,IAAgBv/B,OAClBu/B,EAAYiB,OAAO,EAAGF,GAEtBf,EAAYhW,UAAY+W,EAG1Bj4B,KAAK22B,UAAU,WAAM,IACXjW,EAAiB2J,EAAKrY,MAAM0qB,IAA5Bhc,aACA0c,EAAW/S,EAAK2C,MAAhBoQ,OACaA,EAAO3c,IAAIP,wBAAwBsK,OACrC7yB,OAAOgpB,cACxByc,EAAO3c,IAAIiV,MAAMle,IAAM,OACvB4lB,EAAO3c,IAAIiV,MAAMlL,OAAS9J,EAAe,SAI/Cuc,aA7JO,SA6JOtpC,GACZqM,KAAK8xB,UAEP6K,OAhKO,SAgKChpC,GAAG,IAAAs9B,EAAAjxB,KAGTA,KAAKs7B,YAAc1lC,WAAW,WAC5Bq7B,EAAKnP,SAAU,EACfmP,EAAK0N,SAAShrC,GACds9B,EAAKa,UACJ,MAEL8M,QAzKO,SAyKEjrC,EAAGyqC,GACVp+B,KAAKm+B,YAAYxqC,EAAGyqC,IAEtBxB,QA5KO,SA4KEjpC,GACHqM,KAAKs7B,cACPnmC,aAAa6K,KAAKs7B,aAClBt7B,KAAKs7B,YAAc,MAGhBt7B,KAAKy7B,WACRz7B,KAAKu7B,YAAa,GAEpBv7B,KAAK8hB,SAAU,EACf9hB,KAAK2+B,SAAShrC,GACdqM,KAAK8xB,SACL9xB,KAAKw7B,4BAA6B,GAEpCsB,QA1LO,SA0LEnpC,GAAG,IACFuD,EAAQvD,EAARuD,IACR8I,KAAK2+B,SAAShrC,GACdqM,KAAK8xB,SAKH9xB,KAAKw7B,2BADK,WAARtkC,GAMN2lC,QAvMO,SAuMElpC,GACPqM,KAAK2+B,SAAShrC,GACdqM,KAAK8xB,UAEPiL,UA3MO,SA2MIppC,GAAG,IACJkrC,EAA2BlrC,EAA3BkrC,QAASC,EAAkBnrC,EAAlBmrC,SAAU5nC,EAAQvD,EAARuD,IAEtB8I,KAAKw7B,6BACI,QAARtkC,IACE4nC,EACF9+B,KAAKu+B,cAAc5qC,GAEnBqM,KAAKw+B,aAAa7qC,IAGV,YAARuD,EACF8I,KAAKu+B,cAAc5qC,GACF,cAARuD,GACT8I,KAAKw+B,aAAa7qC,GAER,UAARuD,IACG2nC,GACH7+B,KAAKm+B,YAAYxqC,KAQX,WAARuD,IACG8I,KAAKw7B,4BACRx7B,KAAKgS,MAAM0qB,IAAIvK,SAInBnyB,KAAKu7B,YAAa,EAClBv7B,KAAK8xB,UAEPiN,QA9OO,SA8OEprC,GACPqM,KAAKu7B,YAAa,EAClBv7B,KAAK2+B,SAAShrC,GACdqM,KAAK8xB,SACL9xB,KAAK8pB,MAAM,QAASn2B,EAAE6B,OAAOoB,QAE/BsmC,oBApPO,SAoPcvpC,GACnBqM,KAAKu7B,YAAa,EAClBv7B,KAAK2+B,SAAShrC,GACdqM,KAAK8xB,SACL9xB,KAAK8pB,MAAM,QAASn2B,EAAE6B,OAAOoB,QAE/BomC,aA1PO,SA0POrpC,GACZqM,KAAKu7B,YAAa,GAEpByD,eA7PO,SA6PSrrC,GACVqM,KAAK07B,sBACT17B,KAAKu7B,YAAa,IAEpB0D,kBAjQO,SAiQYtrC,GACjBqM,KAAKu7B,YAAa,EAClBv7B,KAAK8pB,MAAM,mBAAoBn2B,IAEjCurC,sBArQO,SAqQgBvrC,GACrBqM,KAAKu7B,YAAa,EAClBv7B,KAAK8pB,MAAM,wBAAyBn2B,IAEtCgrC,SAzQO,SAAAnkC,GAyQmC,IAApB09B,EAAoB19B,EAA9BhF,OAAU0iC,eACpBl4B,KAAKwzB,MAAQ0E,GAEfpG,OA5QO,WA4QG,IAAAqN,EACkBn/B,KAAKgtB,MAAvB/X,EADAkqB,EACAlqB,MAAOmoB,EADP+B,EACO/B,OACf,GAAKnoB,EAAL,CAFQ,IAAAmqB,EAG4Bp/B,KAAKgS,MAAM0qB,IAAvChc,EAHA0e,EAGA1e,aACF2e,EAJED,EAGcE,UACW5e,EAEjCzL,EAAMygB,MAAMle,IAAM6nB,EAAe,KACjCjC,EAAO3c,IAAIiV,MAAMle,IAAM6nB,EAAe,KACtCjC,EAAO3c,IAAIiV,MAAMlL,OAAS,qBAKjBkH,iFC7bf,MAAA6N,EAAAnsC,EAAA,wCAIA,IAKMosC,EAAkB,SAACC,GAAuB,IAAjBC,EAAiBz/B,UAAAhO,OAAA,QAAA0D,IAAAsK,UAAA,GAAAA,UAAA,GAAP,GACvC,OAAOw/B,EAAKxjC,OAAO,SAAAoX,GAAA,OAAKA,EAAEssB,YAAYvyB,SAASsyB,MAG3C/D,EAAc,CAClBpe,MAAO,CACL8d,oBAAqB,CACnBN,UAAU,EACVzlC,KAAM6lC,QACN9gC,SAAS,IAGb5I,KARkB,WAShB,MAAO,CACLiuC,QAAS,GACTE,YAAa,SACbC,iBAAiB,EACjBC,oBAAqB,eACrBrE,UAAU,EACVsE,uBAxBgB,GAyBhBC,mBAAoB,KACpBC,6BAA6B,IAGjC9jB,WAAY,CACV+jB,cAAe,kBAAM9sC,EAAAO,EAAA,GAAAqH,KAAA5H,EAAA+D,KAAA,aACrB06B,oBAEFrS,QAAS,CACPyf,kBADO,SACYtrC,GACjBqM,KAAK8pB,MAAM,mBAAoBn2B,IAEjCurC,sBAJO,SAIgBvrC,GACrBqM,KAAK8pB,MAAM,wBAAyBn2B,IAEtCwsC,QAPO,SAOEpM,GACP,IAAMn9B,EAAQm9B,EAAMkI,SAAN,IAAqBlI,EAAM4L,YAA3B,IAA4C5L,EAAMyJ,YAChEx9B,KAAK8pB,MAAM,QAAS,CAAE8T,UAAWhnC,EAAO6kC,SAAUz7B,KAAKy7B,YAEzD2E,SAXO,SAWGzsC,GACR,IAAM6B,EAAU7B,GAAKA,EAAE6B,QAAWwK,KAAKgtB,MAAM,gBAC7ChtB,KAAKqgC,oBAAoB7qC,GACzBwK,KAAKsgC,cAAc9qC,GACnBwK,KAAKugC,gBAAgB/qC,IAEvBmtB,UAjBO,SAiBIzrB,GAAK,IAAA6oB,EAAA/f,KAERwX,EADMxX,KAAKgtB,MAAM,SAAW91B,GAClB,GAAGooC,UACnBt/B,KAAKwgC,iBAAgB,GACrBxgC,KAAK4/B,YAAc1oC,EACnB8I,KAAK22B,UAAU,WACb5W,EAAKiN,MAAM,gBAAgB9L,UAAY1J,EAAM,KAGjD6oB,oBA1BO,SA0Bc7qC,GACfA,EAAO0rB,WAAa,EACtBlhB,KAAK8/B,oBAAsB,eAClBtqC,EAAO0rB,WAAa1rB,EAAOirC,aAAe,EACnDzgC,KAAK8/B,oBAAsB,kBAE3B9/B,KAAK8/B,oBAAsB,mBAG/BS,gBAnCO,SAmCU/qC,GACf,IAAMkrC,EAAM1gC,KAAKgtB,MAAM,oBAAoB,GAC3C,GAAK0T,EAAL,CACA,IAAMlW,EAASkW,EAAIpB,UAAYoB,EAAIhgB,aAE7BigB,EAAiBnrC,EAAO0rB,UAAY1rB,EAAOorC,aAC3CC,EAAcrrC,EAAO0rB,UACrB4f,EAActrC,EAAOmiC,aAOCnN,EAASqW,GAAeF,IAAmBG,KAJ7CtW,EAASmW,EA3Ef,OA6ENE,EAAc,IAI1B7gC,KAAK+gC,cAGTT,cAtDO,SAsDQ9qC,GAAQ,IAAAgxB,EAAAxmB,KACfwX,EAAMhiB,EAAO0rB,UAAY,EAC/BlhB,KAAK22B,UAAU,WACbnQ,EAAKwa,WAAWx9B,QAAQ,SAAAy9B,GACVza,EAAKwG,MAAM,SAAWiU,EAAM7oC,IAChC,GAAGknC,WAAa9nB,IACtBgP,EAAKoZ,YAAcqB,EAAM7oC,SAKjC2oC,UAjEO,WAkEa/gC,KAAKkhC,kBAAkBjvC,SAAW+N,KAAKmhC,cAAclvC,SAMvE+N,KAAK+/B,wBAzGW,KA2GlB1C,eA1EO,WA0E8B,IAAAhT,EAAArqB,KAArBohC,EAAqBnhC,UAAAhO,OAAA,QAAA0D,IAAAsK,UAAA,IAAAA,UAAA,GAC9BmhC,IACHphC,KAAK0/B,QAAU,IAEjB1/B,KAAK22B,UAAU,WACbtM,EAAK2C,MAAM,gBAAgB9L,UAAY,IAEtBlhB,KAAKkhC,kBAAkBjvC,SACA+N,KAAKmhC,cAAclvC,SAClCmvC,IAG3BphC,KAAK+/B,uBAvHW,KAyHlBsB,eAxFO,WAyFLrhC,KAAK6/B,iBAAmB7/B,KAAK6/B,iBAE/BW,gBA3FO,SA2FU5pC,GACfoJ,KAAK6/B,gBAAkBjpC,IAG3BiqB,MAAO,CACL6e,QADK,WAEH1/B,KAAKigC,6BAA8B,EACnCjgC,KAAKogC,WACLpgC,KAAKq9B,gBAAe,KAGxBhhB,SAAU,CACRilB,gBADQ,WAEN,OAAOthC,KAAK6/B,gBAAkB,GAAK7/B,KAAK4/B,aAE1C2B,kBAJQ,WAKN,OAAIvhC,KAAKsc,OAAOC,MAAMnC,SAASonB,SACtBxhC,KAAKsc,OAAOC,MAAMnC,SAASonB,SAASvvC,OAAS,EAE/C,GAETkvC,cAVQ,WAWN,OAAO3B,EACLx/B,KAAKsc,OAAOC,MAAMnC,SAAS6Z,aAAe,GAC1Cj0B,KAAK0/B,UAGTwB,kBAhBQ,WAiBN,OAAOlhC,KAAKmhC,cAActpC,MAAM,EAAGmI,KAAK+/B,yBAE1C0B,OAnBQ,WAoBN,IAAMC,EAAiB1hC,KAAKsc,OAAOC,MAAMnC,SAAS2Z,OAAS,GACrD4N,EAAe3hC,KAAKkhC,kBAE1B,MAAO,CACL,CACE9oC,GAAI,SACJiZ,KAAMrR,KAAKuvB,GAAG,gBACd7Z,KAAM,aACN+rB,OAAQE,GAEV,CACEvpC,GAAI,WACJiZ,KAAMrR,KAAKuvB,GAAG,iBACd7Z,KAAM,eACN+rB,OAAQjC,EAAgBkC,EAAgB1hC,KAAK0/B,YAInDsB,WAtCQ,WAuCN,OAAOhhC,KAAKyhC,OAAOxlC,OAAO,SAAArF,GAAA,OAASA,EAAM6qC,OAAOxvC,OAAS,KAE3D2vC,qBAzCQ,WA0CN,OAA8D,KAAtD5hC,KAAKsc,OAAOC,MAAMnC,SAASonB,UAAY,IAAIvvC,oBAK1C0pC,2FCnKf,CACAkG,MAAA,CACAC,KAAA,UACA9sC,MAAA,UAEAuoB,MAAA,CACA,UACA,gBACA,+IC/BY2S,0JAAZ98B,EAAA,gBAGe,CACb+C,KAAM,WACNonB,MAAO,CAAC,WACR9rB,KAAM,iBAAO,CACXswC,SAAU,SACVvoC,QAAS,CAAC,GAAI,IACdwoC,aAAc,GACdC,WAAY,YAEd5lB,SAAU,CACR4Y,WADQ,WAEN,OAAOj1B,KAAKsc,OAAOC,MAAMnC,SAAS6a,YAEpCiN,WAJQ,WAKN,OAAOliC,KAAKi1B,WAAWC,aAEzBiN,UAPQ,WAQN,OAAOniC,KAAKi1B,WAAWmN,kBAEzBC,YAVQ,WAUO,IAAAtiB,EAAA/f,KAEPsiC,EAAStiC,KAAKuiC,sBACpB,MAFiB,CAAC,UAAW,QAAS,QAEtBtmC,OACd,SAAAq9B,GAAA,OAAQvZ,EAAKkV,WAAWuN,gBAAkBF,EAAOhJ,EAAM,MAG3DmJ,2BAjBQ,WAkBN,OAAOl0B,KAAKY,KACVnP,KAAK0iC,oBACH1iC,KAAKiiC,WACLjiC,KAAKi1B,WAAW0N,kBAItBC,2BAzBQ,WA0BN,OAAOr0B,KAAKs0B,MACV7iC,KAAK0iC,oBACH1iC,KAAKiiC,WACLjiC,KAAKi1B,WAAWuN,mBAKxBhjB,QAAS,CACPkZ,MADO,WAEL14B,KAAK+hC,SAAW,SAChB/hC,KAAKxG,QAAU,CAAC,GAAI,IACpBwG,KAAKgiC,aAAe,GACpBhiC,KAAKiiC,WAAa,WAEpBa,WAPO,SAOK7T,GACV,IAAMe,EAAUhwB,KAAKygB,IAAIoP,cAAT,UAAgCZ,EAAQ,IACpDe,EACFA,EAAQmC,QAGYnyB,KAAK+iC,aAEvB/iC,KAAK22B,UAAU,WACb32B,KAAK8iC,WAAW7T,MAKxB8T,UArBO,WAsBL,OAAI/iC,KAAKxG,QAAQvH,OAAS+N,KAAKkiC,aAC7BliC,KAAKxG,QAAQrH,KAAK,KACX,IAIX6wC,aA5BO,SA4BO/T,EAAOj6B,GACfgL,KAAKxG,QAAQvH,OAAS,GACxB+N,KAAKxG,QAAQrG,OAAO87B,EAAO,IAG/ByT,oBAjCO,SAiCcpJ,EAAM2J,GAEzB,OAAQ3J,GACN,IAAK,UAAW,OAAQ,IAAO2J,EAAU/S,EAAUgT,OACnD,IAAK,QAAS,OAAQ,IAAOD,EAAU/S,EAAUiT,KACjD,IAAK,OAAQ,OAAQ,IAAOF,EAAU/S,EAAUkT,MAGpDb,sBAzCO,SAyCgBjJ,EAAM2J,GAE3B,OAAQ3J,GACN,IAAK,UAAW,MAAO,KAAQ2J,EAAS/S,EAAUgT,OAClD,IAAK,QAAS,MAAO,KAAQD,EAAS/S,EAAUiT,KAChD,IAAK,OAAQ,MAAO,KAAQF,EAAS/S,EAAUkT,MAGnDC,mBAjDO,WAkDLrjC,KAAKgiC,aACHzzB,KAAK6R,IAAIpgB,KAAKyiC,2BAA4BziC,KAAKgiC,cACjDhiC,KAAKgiC,aACHzzB,KAAK+0B,IAAItjC,KAAK4iC,2BAA4B5iC,KAAKgiC,cACjDhiC,KAAKujC,sBAEPA,mBAxDO,WAyDL,IAAMz/B,EAAY9D,KAAKuiC,sBACrBviC,KAAKiiC,WACLjiC,KAAKgiC,cAGDxoC,GAAU,EAAAgqC,EAAAnpC,SAAK2F,KAAKxG,QAAQyC,OAAO,SAAA0H,GAAA,MAAqB,KAAXA,KAC/CnK,EAAQvH,OAAS,EACnB+N,KAAK8pB,MAAM,cAAe,CAAEh1B,MAAOkL,KAAKuvB,GAAG,8BAG7CvvB,KAAK8pB,MAAM,cAAe,CACxBtwB,UACAuK,SAA4B,aAAlB/D,KAAK+hC,SACfj+B,kHCpHR1Q,EAAA,SACAA,EAAA,UACAA,EAAA,UACAA,EAAA,UACAA,EAAA,UACAA,EAAA,MACA6d,EAAA7d,EAAA,QACAA,EAAA,KACAouB,EAAApuB,EAAA,gEAEe,CACbmqB,MAAO,CACL,OAAQ,WAAY,WAAY,UAAW,UAAW,WAAY,sBAEpE9rB,KAJa,WAKX,MAAO,CACLgyC,yBAAyB,EACzB7b,aAAc5nB,KAAKsc,OAAOC,MAAMpF,UAAU0Q,eAAeC,YAG7DrL,QAVa,WAWXzc,KAAKsc,OAAOI,SAAS,wBAAyB1c,KAAK1D,KAAKlE,KAE1DikB,wBACE0B,QADF,WAEI,MAAO,CAAC,CACN2lB,sBAAwC,QAAjB1jC,KAAK2jC,QAC5BC,qBAAsC,IAAjB5jC,KAAK2jC,QAC1BE,sBAAwC,IAAlB7jC,KAAK8jC,YAG/BpO,MARF,WASI,IAAM/hB,EAAQ3T,KAAKsc,OAAOgE,QAAQC,aAAawjB,YAAYlxB,OACvD7S,KAAKsc,OAAOgE,QAAQC,aAAawjB,YAAYlxB,OAAO1C,GACpDnQ,KAAKsc,OAAOgE,QAAQC,aAAa1N,OAAO1C,GAE5C,GAAIwD,EAAO,CACT,IAAM/D,EAAwB,iBAAV+D,GAAsB,EAAA1C,EAAA5B,SAAQsE,GAASA,EACrDqwB,UAAoBz1B,KAAKs0B,MAAMjzB,EAAInZ,GAAnC,KAA0C8X,KAAKs0B,MAAMjzB,EAAIhB,GAAzD,KAAgEL,KAAKs0B,MAAMjzB,EAAIf,GAA/E,QAEN,MAAO,CACLo1B,uBAAwB11B,KAAKs0B,MAAc,IAARjzB,EAAInZ,GAAvC,KAAqD8X,KAAKs0B,MAAc,IAARjzB,EAAIhB,GAApE,KAAkFL,KAAKs0B,MAAc,IAARjzB,EAAIf,GAAjG,IACAq1B,gBAAiB,+BACeF,EADf,KAC6BA,EAD7B,WAERhkC,KAAK1D,KAAK6nC,YAFF,KAGfxpC,KAAK,SAIbypC,YA1BF,WA2BI,OAAOpkC,KAAK1D,KAAKlE,KAAO4H,KAAKsc,OAAOC,MAAMnd,MAAMuf,YAAYvmB,IAE9DisC,aA7BF,WA+BI,IAAMC,EAAY,IAAIC,IAAIvkC,KAAK1D,KAAKkoC,uBACpC,OAAUF,EAAUG,SAApB,KAAiCH,EAAUI,KAA3C,iBAEF7gB,SAlCF,WAmCI,OAAO7jB,KAAKsc,OAAOC,MAAMnd,MAAMuf,aAEjCgmB,SArCF,WAsCI,IAAMC,EAAOr2B,KAAKY,MAAM,IAAImL,KAAS,IAAIA,KAAKta,KAAK1D,KAAKuoC,aAAjC,OACvB,OAAOt2B,KAAK8gB,MAAMrvB,KAAK1D,KAAKwoC,eAAiBF,IAE/CG,iCACEvuC,IADF,WAEI,IAAM/E,EAAOuO,KAAKsc,OAAOgE,QAAQC,aAAaoC,UAAU3iB,KAAK1D,KAAKqJ,aAClE,OAAQlU,GAAQA,EAAK6D,MAAS,YAEhC0vC,IALF,SAKO1vC,GACH,IAAM7D,EAAOuO,KAAKsc,OAAOgE,QAAQC,aAAaoC,UAAU3iB,KAAK1D,KAAKqJ,aACrD,aAATrQ,EACF0K,KAAKsc,OAAOI,SAAS,eAAgB,CAAEpgB,KAAM0D,KAAK1D,KAAKqJ,YAAagO,MAAQliB,GAAQA,EAAKkiB,OAAU,UAAWre,SAE9G0K,KAAKsc,OAAOI,SAAS,eAAgB,CAAEpgB,KAAM0D,KAAK1D,KAAKqJ,YAAagO,WAAOhe,OAG5E,EAAA6rB,EAAAkG,YAAW,CAAC,kBAEjBud,mBAAoB,CAClBzuC,IADkB,WAEhB,IAAM/E,EAAOuO,KAAKsc,OAAOgE,QAAQC,aAAaoC,UAAU3iB,KAAK1D,KAAKqJ,aAClE,OAAOlU,GAAQA,EAAKkiB,OAEtBqxB,IALkB,SAKbrxB,GACH3T,KAAKsc,OAAOI,SAAS,eAAgB,CAAEpgB,KAAM0D,KAAK1D,KAAKqJ,YAAagO,YAGxEuxB,YAjEF,WAkEI,IAAM/T,EAASnxB,KAAK1D,KAAK60B,OACzB,GAAKA,EAAL,CACA,IAAMgU,EAAYhU,EAAOE,OAASF,EAAOC,UACnCgU,EAAYjU,EAAOE,MAAQ,QAAU,YAC3C,OAAO8T,GAAaC,IAEtBC,iBAxEF,WAyEI,OAAOrlC,KAAKokC,aAAepkC,KAAK1D,KAAKgpC,oBAEvCC,mBA3EF,WA4EI,OAAOvlC,KAAKokC,aAAepkC,KAAK1D,KAAKkpC,wBAEpC,EAAAhkB,EAAAkG,YAAW,CAAC,kBAEjBvL,WAAY,CACVmM,qBACAmd,uBACAC,0BACAC,yBACAC,yBACAC,wBAEFrmB,QAAS,CACP9a,SADO,WAEL1E,KAAKsc,OAAOI,SAAS,WAAY1c,KAAK1D,KAAKlE,KAE7CwM,WAJO,WAKL5E,KAAKsc,OAAOI,SAAS,aAAc1c,KAAK1D,KAAKlE,KAE/C0M,cAPO,WAQL,OAAO9E,KAAKsc,OAAOI,SAAS,gBAAiB1c,KAAK1D,KAAKlE,KAEzD4M,gBAVO,WAWL,OAAOhF,KAAKsc,OAAOI,SAAS,kBAAmB1c,KAAK1D,KAAKlE,KAE3D0tC,eAbO,SAaS1xB,GACVpU,KAAK+lC,UACO/lC,KAAKsc,OACbrK,OAAO,iBAAkB,CAAEmC,OAGrC2U,YAnBO,SAAAnvB,GAmBkB,IAAVpE,EAAUoE,EAAVpE,OACU,SAAnBA,EAAOiqB,UACTjqB,EAASA,EAAOwwC,YAEK,MAAnBxwC,EAAOiqB,SACT9nB,OAAOgyB,KAAKn0B,EAAOgjB,KAAM,WAG7ByK,gBA3BO,SA2BU3mB,GACf,OAAO,EAAA6tB,EAAA9vB,SACLiC,EAAKlE,GAAIkE,EAAKqJ,YACd3F,KAAKsc,OAAOC,MAAMnC,SAAS/M,sBAG/B44B,WAjCO,WAkCL,IAAMhvB,EAAa,CACjB1d,IAAKyG,KAAK1D,KAAK4pC,2BACf71B,SAAU,SAEZrQ,KAAKsc,OAAOI,SAAS,WAAY,CAACzF,IAClCjX,KAAKsc,OAAOI,SAAS,aAAczF,qFCtJzC,MAAAkvB,EAAA/yC,EAAA,KAEA,IAAMk1B,EAAa,CACjB/K,MAAO,CACL,OACA,eACA,WAEF9rB,KANiB,WAOf,MAAO,CACL20C,iBAAiB,IAGrBjqB,WAAY,CACVqP,wDAEFnP,SAAU,CACRgqB,OADQ,WAEN,OAAOrmC,KAAKomC,gBAAkB,kBAAoBpmC,KAAK1D,KAAK4pC,6BAGhE1mB,QAAS,CACP6N,eADO,WAELrtB,KAAKomC,iBAAkB,IAG3BvlB,MAAO,CACLnsB,IADK,WAEHsL,KAAKomC,iBAAkB,eAKd9d,2FCjCA,CACb/K,MAAO,CAAE,QACTlB,SAAU,CACRgoB,aADQ,WAGN,IAAMC,EAAY,IAAIC,IAAIvkC,KAAK1D,KAAKkoC,uBACpC,OAAUF,EAAUG,SAApB,KAAiCH,EAAUI,KAA3C,8JCSN,CACAnnB,MAAA,CACA+oB,SAAA,CACAhxC,KAAA6lC,SAEAoL,MAAA,CACAjxC,KAAA0lC,SACA3gC,QAAA,kBAAAa,EAAAb,QAAArG,aAGAvC,KAVA,WAWA,OACA+0C,UAAA,IAGAhnB,QAAA,CACAof,QADA,WACA,IAAA7e,EAAA/f,KACAA,KAAAwmC,UAAA,EACAxmC,KAAAumC,QAAAvrC,KAAA,WAAA+kB,EAAAymB,UAAA,sFCjCA,IAAAC,EAAArzC,EAAA,eACe,CACbmqB,MAAO,CAAC,OAAQ,iBAAkB,eAClC9rB,KAFa,WAGX,MAAO,CACLi1C,YAAY,IAGhBrqB,SAAU,CACRsqB,UADQ,WAEN,OAAO3mC,KAAK0mC,YAAc1mC,KAAK1D,KAAK2P,WAEtC26B,MAJQ,WAKN,OAAI5mC,KAAK0mC,YAAc1mC,KAAK1D,KAAK2P,UACxBjM,KAAKuvB,GAAG,6BACNvvB,KAAK1D,KAAKuqC,UACZ7mC,KAAKuvB,GAAG,0BAERvvB,KAAKuvB,GAAG,qBAGnBuX,MAbQ,WAcN,OAAI9mC,KAAK0mC,WACA1mC,KAAKuvB,GAAG,6BACNvvB,KAAK1D,KAAK2P,UACZjM,KAAK+mC,gBAAkB/mC,KAAKuvB,GAAG,uBAC7BvvB,KAAK1D,KAAKuqC,UACZ7mC,KAAKuvB,GAAG,yBAERvvB,KAAKuvB,GAAG,sBAIrB/P,QAAS,CACPof,QADO,WAEL5+B,KAAK1D,KAAK2P,UAAYjM,KAAKgnC,WAAahnC,KAAKinC,UAE/CA,OAJO,WAIG,IAAAlnB,EAAA/f,KACRA,KAAK0mC,YAAa,GAClB,EAAAD,EAAAS,eAAclnC,KAAK1D,KAAM0D,KAAKsc,QAAQthB,KAAK,WACzC+kB,EAAK2mB,YAAa,KAGtBM,SAVO,WAUK,IAAAxgB,EAAAxmB,KACJ0e,EAAQ1e,KAAKsc,OACnBtc,KAAK0mC,YAAa,GAClB,EAAAD,EAAAU,iBAAgBnnC,KAAK1D,KAAMoiB,GAAO1jB,KAAK,WACrCwrB,EAAKkgB,YAAa,EAClBhoB,EAAMzM,OAAO,eAAgB,CAAExV,SAAU,UAAWM,OAAQypB,EAAKlqB,KAAKlE,4GChD9EhF,EAAA,yDAEA,IAQMsyC,EAAkB,CACtBnoB,MAAO,CACL,QAEF9rB,KAJsB,WAKpB,MAAO,CACL21C,cAAc,EACdxhC,KAAM,CACJyhC,WAhBW,2BAiBXC,YAhBY,sBAiBZC,eAhBe,yBAiBfC,4BAhB4B,sCAiB5BC,yBAhByB,mCAiBzBC,QAhBQ,kBAiBRC,WAhBW,sBAkBbC,sBAAsB,IAG1BzrB,WAAY,CACV0rB,uBAEFxrB,SAAU,CACRyrB,QADQ,WAEN,OAAO,IAAAC,EAAA1tC,QAAQ2F,KAAK1D,KAAKsJ,OAE3BoiC,aAJQ,WAKN,OAAOhoC,KAAKsc,OAAOC,MAAMnC,SAAS6tB,qBAGtCzoB,QAAS,CACP0oB,OADO,SACCzoB,GACN,OAAOzf,KAAK8nC,QAAQK,IAAI1oB,IAE1B2oB,UAJO,SAII1vC,GAAK,IAAAqnB,EAAA/f,KACR0e,EAAQ1e,KAAKsc,OACftc,KAAK8nC,QAAQK,IAAIzvC,GACnBgmB,EAAMnC,MAAMuC,IAAIupB,kBAAkBxiC,UAAU7F,KAAK1D,KAAM5D,GAAKsC,KAAK,SAAAC,GAC1DA,EAASG,IACdsjB,EAAMzM,OAAO,YAAa,CAAE3V,KAAMyjB,EAAKzjB,KAAM5D,UAG/CgmB,EAAMnC,MAAMuC,IAAIupB,kBAAkB7iC,QAAQxF,KAAK1D,KAAM5D,GAAKsC,KAAK,SAAAC,GACxDA,EAASG,IACdsjB,EAAMzM,OAAO,UAAW,CAAE3V,KAAMyjB,EAAKzjB,KAAM5D,WAIjD4vC,YAlBO,SAkBMpwC,GAAO,IAAAsuB,EAAAxmB,KACZ0e,EAAQ1e,KAAKsc,OACftc,KAAK1D,KAAK60B,OAAOj5B,GACnBwmB,EAAMnC,MAAMuC,IAAIupB,kBAAkBjiC,YAAYpG,KAAK1D,KAAMpE,GAAO8C,KAAK,SAAAC,GAC9DA,EAASG,IACdsjB,EAAMzM,OAAO,cAAe,CAAE3V,KAAMkqB,EAAKlqB,KAAMpE,MAAOA,EAAOtB,OAAO,MAGtE8nB,EAAMnC,MAAMuC,IAAIupB,kBAAkBniC,SAASlG,KAAK1D,KAAMpE,GAAO8C,KAAK,SAAAC,GAC3DA,EAASG,IACdsjB,EAAMzM,OAAO,cAAe,CAAE3V,KAAMkqB,EAAKlqB,KAAMpE,MAAOA,EAAOtB,OAAO,OAI1E2xC,uBAhCO,WAgCmB,IAAAle,EAAArqB,KAClB0e,EAAQ1e,KAAKsc,OACbhhB,IAAW0E,KAAK1D,KAAKksC,YAC3B9pB,EAAMnC,MAAMuC,IAAIupB,kBAAkB/hC,oBAAoBtG,KAAK1D,KAAMhB,GAAQN,KAAK,SAAAC,GACvEA,EAASG,IACdsjB,EAAMzM,OAAO,yBAA0B,CAAE3V,KAAM+tB,EAAK/tB,KAAMhB,OAAQA,OAGtEmtC,iBAxCO,SAwCWC,GAChB1oC,KAAK4nC,qBAAuBc,GAE9B3iC,WA3CO,WA2CO,IAAAkrB,EAAAjxB,KACN0e,EAAQ1e,KAAKsc,OACbhgB,EAAO0D,KAAK1D,KACVlE,EAAakE,EAAblE,GAAIjC,EAASmG,EAATnG,KACZuoB,EAAMnC,MAAMuC,IAAIupB,kBAAkBtiC,WAAWzJ,GAC1CtB,KAAK,SAAArH,GACJs9B,EAAK3U,OAAOI,SAAS,wBAAyB,SAAAphB,GAAA,OAAUgB,EAAKlE,KAAOkD,EAAOgB,KAAKlE,KAChF,IAAMuwC,EAAiC,0BAArB1X,EAAKmB,OAAOj8B,MAAyD,iBAArB86B,EAAKmB,OAAOj8B,KACxEyyC,EAAe3X,EAAKmB,OAAOt4B,OAAO3D,OAASA,GAAQ86B,EAAKmB,OAAOt4B,OAAO1B,KAAOA,EAC/EuwC,GAAaC,GACfjxC,OAAOkxC,QAAQC,sBAOZpD,iFCpGf,IAAMmC,EAAc,CAClBtqB,MAAO,CACLwrB,YAAa,CACX1uC,SAAS,EACT/E,KAAM6lC,SAER6N,SAAU,CACR3uC,QAAS,aACT/E,KAAM0lC,sBAKG6M,iFCbf,MAAAoB,EAAA71C,EAAA,KAEA,IAAMuyC,EAAiB,CACrBpoB,MAAO,CACL,QAEF9rB,KAJqB,WAKnB,MAAO,IAET0qB,WAAY,CACVypB,4DAEFpmB,QAAS,CACP0pB,YADO,WAELlpC,KAAKsc,OAAOI,SAAS,cAAe1c,KAAK1D,KAAKlE,KAEhD+wC,YAJO,WAKLnpC,KAAKsc,OAAOI,SAAS,cAAe1c,KAAK1D,KAAKlE,KAEhDmJ,UAPO,WAQLvB,KAAKsc,OAAOI,SAAS,YAAa1c,KAAK1D,KAAKlE,KAE9CsJ,YAVO,WAWL1B,KAAKsc,OAAOI,SAAS,cAAe1c,KAAK1D,KAAKlE,KAEhD8S,WAbO,WAcLlL,KAAKsc,OAAOI,SAAS,yBAA0B1c,KAAK1D,KAAKlE,KAE3DgxC,YAhBO,WAiBLppC,KAAKsc,OAAOI,SAAS,sBAAuB,CAAEwV,SAAS,EAAMW,YAAa7yB,KAAK1D,oBAKtEqpC,uLC/Bf,IAAMpd,EAAU,CACdhL,MAAO,CACL,cACA,OACA,YAEF9rB,KANc,WAOZ,MAAO,CACL43C,MAAO,KAGXltB,WAAY,CAAE4L,aAdhB30B,EAAA,MAcgB20B,SACd1L,SAAU,CACRitB,KADQ,WAEN,IAAKtpC,KAAKimB,YACR,MAAO,GAET,IAAMqjB,GAAO,EAAAC,EAAAlvC,SAAM2F,KAAKimB,YAAa,GACrC,GAA0B,KAAtB,EAAAxmB,EAAApF,SAAKivC,GAAMr3C,QAAgBq3C,EAAKr3C,OAAS,EAAG,CAE9C,IAAMu3C,GAAiB,EAAA/pC,EAAApF,SAAKivC,GAAM,GAC5BG,GAAgB,EAAAC,EAAArvC,SAAUivC,GAEhC,OADA,EAAA7pC,EAAApF,SAAKovC,GAAet3C,KAAKq3C,GAClBC,EAET,OAAOH,GAETK,cAfQ,WAgBN,OAAO3pC,KAAKsc,OAAOgE,QAAQC,aAAaopB,gBAG5CnqB,QAAS,CACPoqB,kBADO,SACYxxC,EAAIuzB,GACrB3rB,KAAK6pC,KAAK7pC,KAAKqpC,MAAOjxC,EAAIuzB,IAE5Bme,SAJO,SAIGC,GACR,MAAO,CAAEC,iBAAsB,KAAOD,EAAc,IAA3C,MAEXE,UAPO,SAOI7xC,EAAI8xC,GAAK,IAAAnqB,EAAA/f,KACZmqC,GAAQ,EAAAC,EAAA/vC,SAAM6vC,EAAK,SAAAG,GAAA,OAAQtqB,EAAKuqB,eAAeD,EAAKjyC,MAC1D,MAAO,CAAEmyC,KAASvqC,KAAKsqC,eAAelyC,GAAM+xC,EAAnC,UAEXG,eAXO,SAWSlyC,GACd,IAAMuzB,EAAO3rB,KAAKqpC,MAAMjxC,GACxB,OAAOuzB,EAAOA,EAAKa,MAAQb,EAAKxL,OAAS,eAKhCoI,iFCpDf,IAAMC,EAAc,CAClBryB,KAAM,cACNonB,MAAO,CACL,OACA,OACA,QAEF9rB,KAPkB,WAQhB,MAAO,CACL+4C,aAAa,IAGjBnuB,SAAU,CACRouB,SADQ,WAKN,OAAOzqC,KAAK0qC,KAAKne,QAAUvsB,KAAKylB,MAAsB,SAAdzlB,KAAK2rB,MAE/Cgf,eAPQ,WAQN,OAAO3qC,KAAK0qC,KAAKE,aAAe,KAAKC,KAAK7qC,KAAK0qC,KAAKE,eAGxDnuB,QAvBkB,WAuBP,IAAAsD,EAAA/f,KACT,GAAIA,KAAKyqC,SAAU,CACjB,IAAMK,EAAS,IAAIC,MACnBD,EAAO51C,OAAS,WACd6qB,EAAKyqB,aAAc,GAErBM,EAAOp2C,IAAMsL,KAAK0qC,KAAKne,mBAKd/D,iFClCf,QAAAp1B,EAAA,SACAA,EAAA,wDAEA,IAAMq1B,EAAa,CACjBlL,MAAO,CAAC,SACRlB,SAAU,CACR2uB,YADQ,WAEN,OAAOhrC,KAAKZ,MAAQY,KAAKZ,MAAMvH,MAAM,EAAG,IAAM,KAGlDskB,WAAY,CACVmM,sBAEF9I,QAAS,CACPyD,gBADO,SACU3mB,GACf,OAAO,EAAA6tB,EAAA9vB,SAAoBiC,EAAKlE,GAAIkE,EAAKqJ,YAAa3F,KAAKsc,OAAOC,MAAMnC,SAAS/M,kCAKxEob,oIClBf,IAAME,EAAgB,CACpBxyB,KAAM,gBACNonB,MAAO,CACL,YAEF9rB,KALoB,WAMlB,MAAO,CACLw5C,cAAe,CACbC,UAAW,CACTC,gBAAiB,CAAEC,QAAS,CAAE5zB,IAAK,IAAM6zB,kBAAmB,gBAKpEhvB,SAAU,CACR/gB,OADQ,WAEN,OAAO,EAAAgwC,EAAAjxC,SAAK2F,KAAKsc,OAAOC,MAAMlQ,SAASk/B,YAAa,CAAEnzC,GAAI4H,KAAKwvB,aAGnErT,WAAY,CACVqC,OAAQ,kBAAMzqB,QAAAC,UAAAgH,KAAA5H,EAAA+D,KAAA,YAEhBqoB,QAAS,CACPgsB,MADO,WAEAxrC,KAAK1E,QACR0E,KAAKsc,OAAOI,SAAS,cAAe1c,KAAKwvB,uBAMlC7G,8JChCfv1B,EAAA,wDAEA,IAAMq4C,EAAW,SAACv+B,EAAG2B,GACnB,IAAM68B,EAAiB,YAAXx+B,EAAE5X,KAAqB4X,EAAEsV,iBAAiBpqB,GAAK8U,EAAE9U,GACvDuzC,EAAiB,YAAX98B,EAAEvZ,KAAqBuZ,EAAE2T,iBAAiBpqB,GAAKyW,EAAEzW,GACvDwzC,EAAO93B,OAAO43B,GACdG,EAAO/3B,OAAO63B,GACdG,IAAU,EAAAC,EAAA1xC,SAAauxC,GACvBI,IAAU,EAAAD,EAAA1xC,SAAawxC,GAC7B,OAAIC,GAAUE,EACLJ,EAAOC,GAAQ,EAAI,EACjBC,IAAWE,GACZ,GACEF,GAAUE,EACb,EAEAN,EAAMC,GAAO,EAAI,GAgBtBM,EAAe,CACnBx6C,KADmB,WAEjB,MAAO,CACLkxB,UAAW,KACXupB,UAAU,IAGd3uB,MAAO,CACL,WACA,cACA,SACA,wBACA,aAEFd,QAdmB,WAebzc,KAAKmsC,QACPnsC,KAAK9B,qBAGTme,SAAU,CACR/gB,OADQ,WAEN,OAAO0E,KAAKsc,OAAOC,MAAMlQ,SAASuX,kBAAkB5jB,KAAKwvB,WAE3D4c,iBAJQ,WAKN,OAAIpsC,KAAK1E,OAAOknB,iBACPxiB,KAAK1E,OAAOknB,iBAAiBpqB,GAE7B4H,KAAKwvB,UAGhB6c,eAXQ,WAYN,OAAOrsC,KAAKssC,kBAAkBtsC,KAAKwvB,WAErCyc,aAdQ,WAeN,IAAKjsC,KAAK1E,OACR,MAAO,GAGT,IAAK0E,KAAKusC,WACR,MAAO,CAACvsC,KAAK1E,QAGf,IAAM2wC,GAAe,EAAAO,EAAAnyC,SAAM2F,KAAKsc,OAAOC,MAAMlQ,SAASogC,oBAAoBzsC,KAAKqsC,iBACzEK,GAAc,EAAAC,EAAAtyC,SAAU4xC,EAAc,CAAE7zC,GAAI4H,KAAKosC,mBAKvD,OAJqB,IAAjBM,IACFT,EAAaS,GAAe1sC,KAAK1E,QAzDP,SAAC2wC,EAAc5pB,GAS/C,OAPE4pB,EADqB,YAAnB5pB,EAAU/sB,MACG,EAAA4uB,EAAA7pB,SACb4xC,EACA,SAAC3wC,GAAD,MAA6B,YAAhBA,EAAOhG,MAAsBgG,EAAOlD,KAAOiqB,EAAUG,iBAAiBpqB,MAGtE,EAAA8rB,EAAA7pB,SAAO4xC,EAAc,SAAC3wC,GAAD,MAA4B,YAAhBA,EAAOhG,QAErC2G,OAAO,SAAAC,GAAA,OAAKA,IAAG0wC,KAAKnB,GAmD7BoB,CAA0BZ,EAAcjsC,KAAK1E,SAEtDwxC,QA/BQ,WAgCN,IAAI/6C,EAAI,EAER,OAAO,EAAAkpB,EAAA5gB,SAAO2F,KAAKisC,aAAc,SAACn5C,EAAD8G,GAA2C,IAAhCxB,EAAgCwB,EAAhCxB,GAEpC20C,EAFoEnzC,EAA5BkrB,sBAY9C,OARIioB,IACFj6C,EAAOi6C,GAAQj6C,EAAOi6C,IAAS,GAC/Bj6C,EAAOi6C,GAAM56C,KAAK,CAChBgE,SAAUpE,EACVqG,GAAIA,KAGRrG,IACOe,GACN,KAELy5C,WAjDQ,WAkDN,OAAOvsC,KAAKksC,UAAYlsC,KAAKmsC,SAGjChwB,WAAY,CACVqC,kBAEFqC,MAAO,CACL2O,SADK,SACKwd,EAAQC,GAChB,IAAMC,EAAoBltC,KAAKssC,kBAAkBU,GAC3CG,EAAoBntC,KAAKssC,kBAAkBW,GAC7CC,GAAqBC,GAAqBD,IAAsBC,EAClEntC,KAAKotC,aAAaptC,KAAKosC,kBAEvBpsC,KAAK9B,qBAGTguC,SAVK,SAUKt1C,GACJA,GACFoJ,KAAK9B,sBAIXshB,QAAS,CACPthB,kBADO,WACc,IAAA6hB,EAAA/f,KACfA,KAAK1E,OACP0E,KAAKsc,OAAOC,MAAMuC,IAAIupB,kBAAkBnqC,kBAAkB,CAAE9F,GAAI4H,KAAKwvB,WAClEx0B,KAAK,SAAAT,GAAgC,IAA7BgE,EAA6BhE,EAA7BgE,UAAWC,EAAkBjE,EAAlBiE,YAClBuhB,EAAKzD,OAAOI,SAAS,iBAAkB,CAAErQ,SAAU9N,IACnDwhB,EAAKzD,OAAOI,SAAS,iBAAkB,CAAErQ,SAAU7N,IACnDuhB,EAAKqtB,aAAartB,EAAKqsB,oBAG3BpsC,KAAKsc,OAAOC,MAAMuC,IAAIupB,kBAAkB5pC,YAAY,CAAErG,GAAI4H,KAAKwvB,WAC5Dx0B,KAAK,SAACM,GACLykB,EAAKzD,OAAOI,SAAS,iBAAkB,CAAErQ,SAAU,CAAC/Q,KACpDykB,EAAK7hB,uBAIbmvC,WAjBO,SAiBKj1C,GACV,OAAO4H,KAAK8sC,QAAQ10C,IAAO,IAE7B0pB,QApBO,SAoBE1pB,GACP,OAAQ4H,KAAKusC,YAAen0C,IAAO4H,KAAKwvB,UAE1C4d,aAvBO,SAuBOh1C,GACPA,IACL4H,KAAK2iB,UAAYvqB,EACjB4H,KAAKsc,OAAOI,SAAS,sBAAuBtkB,KAE9Ck1C,aA5BO,WA6BL,OAAOttC,KAAKusC,WAAavsC,KAAK2iB,UAAY,MAE5CoH,eA/BO,WAgCL/pB,KAAKksC,UAAYlsC,KAAKksC,UAExBI,kBAlCO,SAkCY9c,GACjB,IAAMl0B,EAAS0E,KAAKsc,OAAOC,MAAMlQ,SAASuX,kBAAkB4L,GAC5D,OAAO,EAAA+d,EAAAlzC,SAAIiB,EAAQ,8CAA8C,EAAAiyC,EAAAlzC,SAAIiB,EAAQ,2CAKpE2wC,iFCrKf,MAAAhwB,EAAA7oB,EAAA,IACA,IAAMo6C,EAA4B,CAChCrxB,WAAY,CACVC,sDAEFC,SAAU,CACR5f,SADQ,WACM,OAAOuD,KAAKsc,OAAOC,MAAMlQ,SAASmQ,UAAUhf,oBAE5Dif,QAPgC,WAQ9Bzc,KAAKsc,OAAOI,SAAS,wBAAyB,CAAEjgB,SAAU,uBAE5DkgB,UAVgC,WAW9B3c,KAAKsc,OAAOI,SAAS,eAAgB,iCAI1B8wB,iFChBf,MAAAvxB,EAAA7oB,EAAA,IACA,IAAMq6C,EAAkB,CACtBtxB,WAAY,CACVC,sDAEFC,SAAU,CACR5f,SADQ,WACM,OAAOuD,KAAKsc,OAAOC,MAAMlQ,SAASmQ,UAAUnf,qBAI/CowC,iFCVf,MAAAxxB,EAAA7oB,EAAA,IAEA,IAAMs6C,EAAc,CAClBjxB,QADkB,WAEhBzc,KAAKsc,OAAOrK,OAAO,gBAAiB,CAAExV,SAAU,QAChDuD,KAAKsc,OAAOI,SAAS,wBAAyB,CAAEjgB,SAAU,MAAO/D,IAAKsH,KAAKtH,OAE7EyjB,WAAY,CACVC,sDAEFC,SAAU,CACR3jB,IADQ,WACC,OAAOsH,KAAKoyB,OAAOt4B,OAAOpB,KACnC+D,SAFQ,WAEM,OAAOuD,KAAKsc,OAAOC,MAAMlQ,SAASmQ,UAAU9jB,MAE5DmoB,MAAO,CACLnoB,IADK,WAEHsH,KAAKsc,OAAOrK,OAAO,gBAAiB,CAAExV,SAAU,QAChDuD,KAAKsc,OAAOI,SAAS,wBAAyB,CAAEjgB,SAAU,MAAO/D,IAAKsH,KAAKtH,QAG/EikB,UAlBkB,WAmBhB3c,KAAKsc,OAAOI,SAAS,eAAgB,mBAI1BgxB,iFCzBf,MAAAC,EAAAv6C,EAAA,KAEA,IAAMw6C,EAAmB,CACvBzxB,WAAY,CACVsC,0DAEFpC,SAAU,CACRmT,SADQ,WAEN,OAAOxvB,KAAKoyB,OAAOt4B,OAAO1B,gBAKjBw1C,iFCbf,MAAAC,EAAAz6C,EAAA,yCAEA,IAAM06C,EAAc,CAClBpb,SAAU,CAAC,WACXqb,gBAAiB,CAAC,SAAU,QAC5BC,QAAS,CAAC,WAGNC,EAAe,CACnBx8C,KADmB,WAEjB,MAAO,CACLy8C,WAAYJ,EAAA,WAGhBtuB,QAAS,CACP2uB,aADO,SACOj3C,GACZ8I,KAAKkuC,WAAaJ,EAAY52C,KAGlCilB,WAAY,CACViyB,oCAIWH,iFCxBf,QAAA76C,EAAA,UACAA,EAAA,MACAi7C,EAAAj7C,EAAA,wDAMA,IAAMg7C,EAAgB,CACpB7wB,MAAO,CAELuF,UAAWqY,QAGXmT,YAAanT,QAEb+S,WAAY/0B,OAEd1nB,KAVoB,WAWlB,MAAO,CACLisB,aAAa,IAGjBrB,SAAU,CACRkyB,UADQ,WAEN,OAAOvuC,KAAKsuC,YAAc,GAAK,uBAEjC/wC,cAJQ,WAKN,OAAO,EAAA8wC,EAAAG,wBAAuBxuC,KAAKsc,SAErCxnB,MAPQ,WAQN,OAAOkL,KAAKsc,OAAOC,MAAMlQ,SAAS9O,cAAczI,OAElD25C,oBAVQ,WAWN,OAAO,EAAAJ,EAAAK,8BAA6B1uC,KAAKsc,SAE3CqyB,qBAbQ,WAcN,OAAO,EAAAN,EAAAO,+BAA8B5uC,KAAKsc,OAAQtc,KAAKkuC,aAEzDW,YAhBQ,WAiBN,OAAO7uC,KAAKyuC,oBAAoBx8C,QAElCouB,QAnBQ,WAoBN,OAAOrgB,KAAKsc,OAAOC,MAAMlQ,SAAS9O,cAAc8iB,UAGpDlE,WAAY,CACV2yB,wBAEFjuB,MAAO,CACLguB,YADK,SACQ/tB,GACPA,EAAQ,EACV9gB,KAAKsc,OAAOI,SAAS,eAArB,IAAyCoE,EAAzC,KAEA9gB,KAAKsc,OAAOI,SAAS,eAAgB,MAI3C8C,QAAS,CACPuvB,WADO,WAEL/uC,KAAKsc,OAAOI,SAAS,4BAEvBsyB,wBAJO,WAIoB,IAAAjvB,EAAA/f,KACzB,IAAIA,KAAKqgB,QAAT,CAIA,IAAM3B,EAAQ1e,KAAKsc,OACb5iB,EAAcglB,EAAMnC,MAAMnd,MAAMuf,YAAYjlB,YAClDglB,EAAMzM,OAAO,0BAA2B,CAAErb,OAAO,IACjDq4C,UAAqB/vB,eAAe,CAClCR,QACAhlB,cACAsmB,OAAO,IACNhlB,KAAK,SAAAk0C,GACNxwB,EAAMzM,OAAO,0BAA2B,CAAErb,OAAO,IAC3B,IAAlBs4C,EAAOj9C,SACT8tB,EAAKrC,aAAc,mBAOd0wB,iFCpFf,QAAAh7C,EAAA,SACAA,EAAA,SACAA,EAAA,SACAA,EAAA,MACAkuB,EAAAluB,EAAA,SACAA,EAAA,wDAEA,IAAM07C,EAAe,CACnBr9C,KADmB,WAEjB,MAAO,CACLkwB,cAAc,EACdiG,aAAc5nB,KAAKsc,OAAOC,MAAMpF,UAAU0Q,eAAeC,UACzDpG,SAAS,IAGbnE,MAAO,CAAE,gBACTpB,WAAY,CACVqC,iBACA8J,qBACAD,mBACAK,mBAEFlJ,QAAS,CACPyK,mBADO,WAELjqB,KAAK2hB,cAAgB3hB,KAAK2hB,cAE5BuB,wBAJO,SAIkB5mB,GACvB,OAAO,EAAA6tB,EAAA9vB,SAAoBiC,EAAKlE,GAAIkE,EAAKqJ,YAAa3F,KAAKsc,OAAOC,MAAMnC,SAAS/M,sBAEnF8hC,QAPO,SAOEC,GACP,OAAOpvC,KAAKsc,OAAOC,MAAMnd,MAAMiwC,YAAYD,EAAaE,aAAal3C,KAEvE4xB,WAVO,WAWLhqB,KAAK0hB,SAAW1hB,KAAK0hB,UAGzBrF,SAAU,CACRkG,UADQ,WAEN,OAAO,EAAAjB,EAAAgB,gBAAetiB,KAAKovC,aAAaE,eAE1CzsB,UAJQ,WAKN,IAAMF,EAAY3iB,KAAKsc,OAAOgE,QAAQC,aAAaoC,UAC7CrmB,EAAO0D,KAAKovC,aAAaE,aAC/B,OAAO,EAAAhuB,EAAAsB,gBAAeD,EAAUrmB,EAAKqJ,eAEvC4pC,YATQ,WAUN,OAAOvvC,KAAKsc,OAAOgE,QAAQ0E,SAAShlB,KAAKovC,aAAaE,aAAal3C,KAErEkE,KAZQ,WAaN,OAAI0D,KAAKuvC,YACAvvC,KAAKuvC,YAEPvvC,KAAKovC,aAAaE,cAE3BrsB,gBAlBQ,WAmBN,OAAOjjB,KAAKkjB,wBAAwBljB,KAAK1D,OAE3CkzC,SArBQ,WAsBN,OAAOxvC,KAAK1D,KAAK8nB,mBAKR0qB,iFC/Df,MAAA7yB,EAAA7oB,EAAA,IAEA,IAAMq8C,EAAM,CACVpzB,SAAU,CACR5f,SADQ,WAEN,OAAOuD,KAAKsc,OAAOC,MAAMlQ,SAASmQ,UAAUlf,MAGhD6e,WAAY,CACVC,iEAIWqzB,iFCbf,QAAAr8C,EAAA,SACAA,EAAA,SACAA,EAAA,UACAA,EAAA,SACAA,EAAA,UACAA,EAAA,UACAA,EAAA,yDAEA,IAAMs8C,GAAe,EAAAC,EAAAt1C,SAAa,CAChCf,MAAO,SAACikB,EAAOjB,GAAR,OAAmBA,EAAOI,SAAS,iBAAkBa,EAAMxgB,SAClE6yC,OAAQ,SAACryB,EAAOjB,GAAR,OAAmB,EAAAuzB,EAAAx1C,SAAIiiB,EAAOgE,QAAQ0E,SAASzH,EAAMxgB,QAAS,cAAe,IAAIzC,IAAI,SAAAlC,GAAA,OAAMkkB,EAAOgE,QAAQ0E,SAAS5sB,MAC3H03C,QAAS,SAACvyB,EAAOjB,GAAR,OAAmBA,EAAOI,SAAS,iBAAkBa,EAAMxgB,SACpEgzC,cAAe,QACfC,oBAAqB,CAAC,WALH,CAMlBC,WAEGC,GAAa,EAAAP,EAAAt1C,SAAa,CAC9Bf,MAAO,SAACikB,EAAOjB,GAAR,OAAmBA,EAAOI,SAAS,eAAgBa,EAAMxgB,SAChE6yC,OAAQ,SAACryB,EAAOjB,GAAR,OAAmB,EAAAuzB,EAAAx1C,SAAIiiB,EAAOgE,QAAQ0E,SAASzH,EAAMxgB,QAAS,YAAa,IAAIzC,IAAI,SAAAlC,GAAA,OAAMkkB,EAAOgE,QAAQ0E,SAAS5sB,MACzH03C,QAAS,SAACvyB,EAAOjB,GAAR,OAAmBA,EAAOI,SAAS,eAAgBa,EAAMxgB,SAClEgzC,cAAe,QACfC,oBAAqB,CAAC,WALL,CAMhBC,WAIGE,EAAc,CAClB1+C,KADkB,WAEhB,MAAO,CACLqD,OAAO,EACPiI,OAAQ,KACRqzC,IAPgB,aAUpB3zB,QARkB,WAShB,IAAM4zB,EAAcrwC,KAAKoyB,OAAOt4B,OAChCkG,KAAKswC,KAAKD,EAAYl6C,MAAQk6C,EAAYj4C,IAC1C4H,KAAKowC,KAAM,EAAAP,EAAAx1C,SAAI2F,KAAKoyB,OAAQ,YAbV,aAepBzV,UAbkB,WAchB3c,KAAKuwC,gBAEPl0B,SAAU,CACR5f,SADQ,WAEN,OAAOuD,KAAKsc,OAAOC,MAAMlQ,SAASmQ,UAAUlgB,MAE9CoB,UAJQ,WAKN,OAAOsC,KAAKsc,OAAOC,MAAMlQ,SAASmQ,UAAU9e,WAE9CD,MAPQ,WAQN,OAAOuC,KAAKsc,OAAOC,MAAMlQ,SAASmQ,UAAU/e,OAE9C+yC,KAVQ,WAWN,OAAOxwC,KAAKjD,QAAUiD,KAAKsc,OAAOC,MAAMnd,MAAMuf,YAAYvmB,IACxD4H,KAAKjD,SAAWiD,KAAKsc,OAAOC,MAAMnd,MAAMuf,YAAYvmB,IAExDkE,KAdQ,WAeN,OAAO0D,KAAKsc,OAAOgE,QAAQ0E,SAAShlB,KAAKjD,SAE3CoQ,WAjBQ,WAkBN,MAA4B,0BAArBnN,KAAKoyB,OAAOj8B,MAErBs6C,kBApBQ,WAqBN,OAAOzwC,KAAKwwC,OAASxwC,KAAK1D,KAAKo0C,cAEjCC,oBAvBQ,WAwBN,OAAO3wC,KAAKwwC,OAASxwC,KAAK1D,KAAKs0C,iBAGnCpxB,QAAS,CACP8wB,KADO,SACDO,GAAc,IAAA9wB,EAAA/f,KACZ8wC,EAAwB,SAACr0C,EAAUM,GAEnCA,IAAWgjB,EAAKzD,OAAOC,MAAMlQ,SAASmQ,UAAU/f,GAAUM,QAC5DgjB,EAAKzD,OAAOrK,OAAO,gBAAiB,CAAExV,aAExCsjB,EAAKzD,OAAOI,SAAS,wBAAyB,CAAEjgB,WAAUM,YAGtDg0C,EAAW,SAACh0C,GAChBgjB,EAAKhjB,OAASA,EACd+zC,EAAsB,OAAQ/zC,GAC9B+zC,EAAsB,QAAS/zC,GAC3BgjB,EAAKywB,MACPM,EAAsB,YAAa/zC,GAGrCgjB,EAAKzD,OAAOI,SAAS,sBAAuB3f,IAI9CiD,KAAKjD,OAAS,KACdiD,KAAKlL,OAAQ,EAGb,IAAMwH,EAAO0D,KAAKsc,OAAOgE,QAAQ0E,SAAS6rB,GACtCv0C,EACFy0C,EAASz0C,EAAKlE,IAEd4H,KAAKsc,OAAOI,SAAS,YAAam0B,GAC/B71C,KAAK,SAAApB,GAAA,IAAGxB,EAAHwB,EAAGxB,GAAH,OAAY24C,EAAS34C,KAC1BkgB,MAAM,SAAC04B,GACN,IAAMC,GAAe,EAAApB,EAAAx1C,SAAI22C,EAAQ,eAE/BjxB,EAAKjrB,MADc,8BAAjBm8C,EACWlxB,EAAKwP,GAAG,uCACZ0hB,GAGIlxB,EAAKwP,GAAG,yCAK/BghB,aA5CO,WA6CLvwC,KAAKsc,OAAOI,SAAS,eAAgB,QACrC1c,KAAKsc,OAAOI,SAAS,eAAgB,aACrC1c,KAAKsc,OAAOI,SAAS,eAAgB,UAEvCw0B,WAjDO,SAiDKL,GACV7wC,KAAKuwC,eACLvwC,KAAKswC,KAAKO,IAEZM,YArDO,SAqDMf,GACXpwC,KAAKowC,IAAMA,EACXpwC,KAAKupB,QAAQzC,QAAQ,CAAEta,MAAO,CAAE4jC,WAGpCvvB,MAAO,CACLuwB,mBAAoB,SAAUpE,GACxBA,GACFhtC,KAAKkxC,WAAWlE,IAGpBqE,qBAAsB,SAAUrE,GAC1BA,GACFhtC,KAAKkxC,WAAWlE,IAGpBsE,eAAgB,SAAUtE,GACxBhtC,KAAKowC,IAAMpD,EAAOoD,KAnHF,aAsHpBj0B,WAAY,CACVkM,mBACAjM,mBACAszB,eACAQ,aACAqB,qBACA9yB,mCAIW0xB,iFCxJf,QAAA/8C,EAAA,SACAA,EAAA,UACAA,EAAA,yDAEA,IAAMm+C,EAAa,CACjBh0B,MAAO,CACL,OACA,gBAEFpB,WAAY,CACVq1B,wBACA/L,uBACAI,wBAEFxpB,SAAU,CACRo1B,KADQ,WAEN,OAAOzxC,KAAKsc,OAAOC,MAAMnd,MAAMuf,YAAYvmB,KAAO4H,KAAK1D,KAAKlE,IAE9DyrB,SAJQ,WAKN,OAAO7jB,KAAKsc,OAAOC,MAAMnd,MAAMuf,yBAKtB4yB,iFCxBf,QAAAn+C,EAAA,SACAA,EAAA,SACAA,EAAA,wDAEA,IAAMo+C,EAAgB,CACpBj0B,MAAO,CACL,QAEF9rB,KAJoB,WAKlB,MAAO,CACLkwB,cAAc,IAGlBxF,WAAY,CACVkM,mBACAC,sBAEF9I,QAAS,CACPyK,mBADO,WAELjqB,KAAK2hB,cAAgB3hB,KAAK2hB,cAE5BsB,gBAJO,SAIU3mB,GACf,OAAO,EAAA6tB,EAAA9vB,SAAoBiC,EAAKlE,GAAIkE,EAAKqJ,YAAa3F,KAAKsc,OAAOC,MAAMnC,SAAS/M,kCAKxEmkC,2FCLf,CACAj0B,MAAA,CACAm0B,MAAA,CACAp8C,KAAA6jB,MACA9e,QAAA,sBAEAs3C,OAAA,CACAr8C,KAAA0lC,SACA3gC,QAAA,SAAAgwC,GAAA,OAAAA,EAAAjyC,sFC9BA,QAAAhF,EAAA,UACAA,EAAA,UACAA,EAAA,SACAA,EAAA,wDAEA,IAAMw+C,EAAS,CACbz1B,WAAY,CACVo1B,qBACA9yB,uBACAD,kBAEFjB,MAAO,CACL,SAEF9rB,KATa,WAUX,MAAO,CACLogD,QAAQ,EACRxxB,SAAS,EACTyxB,WAAY9xC,KAAKwM,OAAS,GAC1BulC,QAAS,GACT1lC,SAAU,GACV2lC,SAAU,GACVC,gBAAiB,aAGrB51B,SAAU,CACRjd,MADQ,WACC,IAAA2gB,EAAA/f,KACP,OAAOA,KAAK+xC,QAAQz3C,IAAI,SAAAyC,GAAA,OAAUgjB,EAAKzD,OAAOgE,QAAQ0E,SAASjoB,MAEjEshB,gBAJQ,WAKN,IAAMuF,EAAoB5jB,KAAKsc,OAAOC,MAAMlQ,SAASuX,kBAErD,OAAO5jB,KAAKqM,SAASpQ,OAAO,SAAAX,GAAA,OAC1BsoB,EAAkBtoB,EAAOlD,MAAQwrB,EAAkBtoB,EAAOlD,IAAIqqB,YAIpEtD,QAhCa,WAiCXnf,KAAKkyC,OAAOlyC,KAAKwM,QAEnBqU,MAAO,CACLrU,MADK,SACEixB,GACLz9B,KAAK8xC,WAAarU,EAClBz9B,KAAKkyC,OAAOzU,KAGhBje,QAAS,CACP2yB,SADO,SACG3lC,GACRxM,KAAKupB,QAAQp3B,KAAK,CAAEgE,KAAM,SAAUqW,MAAO,CAAEA,WAC7CxM,KAAKgtB,MAAMolB,YAAYjgB,SAEzB+f,OALO,SAKC1lC,GAAO,IAAAga,EAAAxmB,KACRwM,GAKLxM,KAAKqgB,SAAU,EACfrgB,KAAK+xC,QAAU,GACf/xC,KAAKqM,SAAW,GAChBrM,KAAKgyC,SAAW,GAChBhyC,KAAKgtB,MAAMolB,YAAY7+B,OAEvBvT,KAAKsc,OAAOI,SAAS,SAAU,CAAE3Q,EAAGS,EAAOxY,SAAS,IACjDgH,KAAK,SAAAvJ,GACJ+0B,EAAKnG,SAAU,EACfmG,EAAKurB,SAAU,EAAA9iC,EAAA5U,SAAI5I,EAAK0a,SAAU,MAClCqa,EAAKna,SAAW5a,EAAK4a,SACrBma,EAAKwrB,SAAWvgD,EAAKugD,SACrBxrB,EAAKyrB,gBAAkBzrB,EAAK6rB,eAC5B7rB,EAAKqrB,QAAS,KAjBhB7xC,KAAKqgB,SAAU,GAoBnBiyB,YA3BO,SA2BMC,GACX,IAAMtgD,EAAS+N,KAAKuyC,GAAStgD,OAC7B,OAAkB,IAAXA,EAAe,GAAf,KAAyBA,EAAzB,KAETugD,kBA/BO,SA+BYt7C,GACjB8I,KAAKiyC,gBAAkB/6C,GAEzBm7C,aAlCO,WAmCL,OAAIryC,KAAKqe,gBAAgBpsB,OAAS,EACzB,WACE+N,KAAKZ,MAAMnN,OAAS,EACtB,SACE+N,KAAKgyC,SAAS//C,OAAS,EACzB,WAGF,YAETwgD,kBA7CO,SA6CYC,GACjB,OAAOA,EAAQ7J,SAAW6J,EAAQ7J,QAAQ,gBAKjC+I,sKC9Ffx+C,EAAA,UACAA,EAAA,UACAA,EAAA,MACAu/C,EAAAv/C,EAAA,KACAw/C,EAAAx/C,EAAA,SACAA,EAAA,wDAEA,IAGMy/C,EAAwB,CAC5B,kBACA,uBAGIlnC,EAAW,CACfla,KADe,WAEb,IAAM2oB,EAAWpa,KAAKsc,OAAOC,MAAMnC,SAEnC,MAAO,CACL04B,qBAEE,EAAAC,EAAA14C,SAAgC24C,iBAAiB3gD,UAAW,iBAE5D,EAAA0gD,EAAA14C,SAAgC44C,iBAAiB5gD,UAAW,iCAE5D,EAAA0gD,EAAA14C,SAAgC44C,iBAAiB5gD,UAAW,eAE9D6gD,eAAgB94B,EAAS84B,eACzBC,gBAAiB/4B,EAAS+4B,kBAG9Bh3B,WAAY,CACVi3B,sBACAC,wBACAC,oCACAzhB,oBAEFxV,wBACE/f,KADF,WAEI,OAAO0D,KAAKsc,OAAOC,MAAMnd,MAAMuf,aAEjC40B,uBAJF,WAKI,OAAOvzC,KAAKsc,OAAOC,MAAMpF,UAAUxL,SAAS4nC,wBAE9C1e,YAPF,WAQI,OAAO70B,KAAKsc,OAAOC,MAAMnC,SAASya,aAAe,IAEnD2e,6BAVF,WAUoC,OAAOxzC,KAAKsc,OAAOC,MAAMnC,SAASq5B,2BACpEC,oBAXF,WAYI,MA3CqB,wDA2CO1zC,KAAKmzC,iBAEnCQ,mBAdF,WAeI,MA7CqB,sDA6CO,EAAAhB,EAAAiB,eAAc5zC,KAAKkzC,kBAG9CW,4BACA53C,OAAO,SAAA/E,GAAA,OAAO27C,EAAsBzlC,SAASlW,KAC7CoD,IAAI,SAAApD,GAAA,MAAO,CACVA,EAAM,eACN,WACE,OAAO8I,KAAKsc,OAAOgE,QAAQwzB,sBAAsB58C,OAGpDkX,OAAO,SAACC,EAADzU,GAAA,IAAAW,GAAA,EAAAE,EAAAJ,SAAAT,EAAA,GAAO1C,EAAPqD,EAAA,GAAY3D,EAAZ2D,EAAA,YAAAw5C,EAAA15C,SAAA,GAA6BgU,GAA7B,EAAA2lC,EAAA35C,SAAA,GAAmCnD,EAAMN,KAAU,IAC1Di9C,4BACA53C,OAAO,SAAA/E,GAAA,OAAQ27C,EAAsBzlC,SAASlW,KAC9CoD,IAAI,SAAApD,GAAA,MAAO,CACVA,EAAM,iBACN,WACE,OAAO8I,KAAKuvB,GAAG,mBAAqBvvB,KAAKsc,OAAOgE,QAAQwzB,sBAAsB58C,QAGjFkX,OAAO,SAACC,EAAD7T,GAAA,IAAAkR,GAAA,EAAAjR,EAAAJ,SAAAG,EAAA,GAAOtD,EAAPwU,EAAA,GAAY9U,EAAZ8U,EAAA,YAAAqoC,EAAA15C,SAAA,GAA6BgU,GAA7B,EAAA2lC,EAAA35C,SAAA,GAAmCnD,EAAMN,KAAU,KAE1D,EAAAoN,EAAA3J,SAAY45C,gBACZ35C,IAAI,SAAApD,GAAA,MAAO,CAACA,EAAK,CAChBV,IADgB,WACP,OAAOwJ,KAAKsc,OAAOgE,QAAQC,aAAarpB,IACjD8tC,IAFgB,SAEXpuC,GACHoJ,KAAKsc,OAAOI,SAAS,YAAa,CAAEvmB,KAAMe,EAAKN,eAGlDwX,OAAO,SAACC,EAADlH,GAAA,IAAAG,GAAA,EAAA7M,EAAAJ,SAAA8M,EAAA,GAAOjQ,EAAPoQ,EAAA,GAAY1Q,EAAZ0Q,EAAA,YAAAysC,EAAA15C,SAAA,GAA6BgU,GAA7B,EAAA2lC,EAAA35C,SAAA,GAAmCnD,EAAMN,KAAU,IA5C/D,CA8CEs9C,gBAAiB,CACf19C,IADe,WACN,OAAOwJ,KAAKsc,OAAOgE,QAAQC,aAAa4B,UAAUxnB,KAAK,OAChEqqC,IAFe,SAEVpuC,GACHoJ,KAAKsc,OAAOI,SAAS,YAAa,CAChCvmB,KAAM,YACNS,OAAO,EAAAstB,EAAA7pB,SAAOzD,EAAMuX,MAAM,MAAO,SAACiuB,GAAD,OAAU,EAAA+X,EAAA95C,SAAK+hC,GAAMnqC,OAAS,UAMvE4uB,MAAO,CACLuzB,uBAAwB,CACtBC,QADsB,SACbz9C,GACPoJ,KAAKsc,OAAOI,SAAS,YAAa,CAChCvmB,KAAM,yBACNS,MAAOoJ,KAAKsc,OAAOgE,QAAQC,aAAa6zB,0BAG5CE,MAAM,eAKG3oC,6KC/GfsF,EAAA7d,EAAA,IACAmhD,EAAAnhD,EAAA,IACAohD,EAAAphD,EAAA,QACAA,EAAA,UACAA,EAAA,UACAA,EAAA,UACAA,EAAA,UACAA,EAAA,UACAA,EAAA,UACAA,EAAA,UACAA,EAAA,WACAA,EAAA,UACAA,EAAA,wDAGA,IAAMqhD,EAAc,CAClB,KACA,KACA,OACA,OACA,OACA,SACA,QACA,WACAn6C,IAAI,SAAA4B,GAAA,OAAKA,EAAI,yBAEA,CACbzK,KADa,WAEX,MAAO,CACLijD,gBAAiB,GACjBna,SAAUv6B,KAAKsc,OAAOgE,QAAQC,aAAalO,MAE3CsiC,eAAgB,GAChBC,cAAe,GACfC,aAAc,GACdC,aAAc,GAEdC,gBAAgB,EAChBC,eAAe,EACfC,cAAc,EAEdC,WAAW,EACXC,aAAa,EACbC,aAAa,EACbC,eAAe,EACfC,WAAW,EAEXC,eAAgB,GAChBC,eAAgB,GAEhBC,aAAc,GACdC,oBAAgB//C,EAEhBggD,aAAc,GACdC,sBAAkBjgD,EAClBkgD,sBAAkBlgD,EAElBmgD,mBAAengD,EACfogD,uBAAmBpgD,EACnBqgD,qBAAiBrgD,EAEjBsgD,qBAAiBtgD,EACjBugD,yBAAqBvgD,EACrBwgD,uBAAmBxgD,EAEnBygD,qBAAiBzgD,EACjB0gD,yBAAqB1gD,EACrB2gD,yBAAqB3gD,EACrB4gD,0BAAsB5gD,EACtB6gD,uBAAmB7gD,EAEnB8gD,sBAAkB9gD,EAClB+gD,0BAAsB/gD,EACtBghD,0BAAsBhhD,EAEtBihD,0BAAsBjhD,EACtBkhD,4BAAwBlhD,EAExBmhD,uBAAmBnhD,EACnBohD,iCAA6BphD,EAE7BqhD,sBAAkBrhD,EAClBshD,wBAAoBthD,EAEpBuhD,qBAAiBvhD,EACjBwhD,uBAAmBxhD,EACnByhD,yBAAqBzhD,EAErB0hD,eAAgB,GAChBC,gBAAiB,GACjBC,iBAAkB,GAClBC,kBAAmB,GAEnBC,oBAAgB9hD,EAChB+hD,aAAc,GACdC,WAAY,GAEZC,eAAgB,GAChBC,iBAAkB,GAClBC,oBAAqB,GACrBC,iBAAkB,GAClBC,kBAAmB,GACnBC,qBAAsB,GACtBC,sBAAuB,GACvBC,mBAAoB,KAGxB17B,QAjFa,WAkFX,IAAMsc,EAAO/4B,MAEb,EAAAw0C,EAAAp8B,aAAYpd,KAAK,SAACo9C,GAChBrf,EAAK2b,gBAAkB0D,KAG3Bj5B,QAxFa,WAyFXnf,KAAKq4C,oBAAoBr4C,KAAKsc,OAAOgE,QAAQC,aAAawjB,kBACvB,IAAxB/jC,KAAKy3C,iBACdz3C,KAAKy3C,eAAiBz3C,KAAKs4C,iBAAiB,KAGhDj8B,SAAU,CACRk8B,gBADQ,WAEN,OAAOp/B,MAAMC,QAAQpZ,KAAKu6B,UAAY,EAAI,GAE5Cie,cAJQ,WAKN,MAAO,CACLroC,GAAInQ,KAAKy1C,aACTpkC,KAAMrR,KAAKu1C,eACX9gC,KAAMzU,KAAKw1C,eAEXvlC,GAAIjQ,KAAK21C,aACThhC,OAAQ3U,KAAK41C,iBACbhhC,OAAQ5U,KAAK61C,iBAEb5gC,MAAOjV,KAAKo2C,gBACZlhC,UAAWlV,KAAKq2C,oBAChBlhC,UAAWnV,KAAKs2C,oBAChBlhC,WAAYpV,KAAKu2C,qBAEjBvkC,MAAOhS,KAAKi2C,gBACZjhC,UAAWhV,KAAKk2C,oBAEhB7gC,OAAQrV,KAAKy2C,iBACbnhC,WAAYtV,KAAK02C,qBACjBnhC,WAAYvV,KAAK22C,qBAEjB7hC,IAAK9U,KAAK81C,cACV/gC,QAAS/U,KAAK+1C,kBAEdhgC,WAAY/V,KAAK42C,qBACjB1gC,aAAclW,KAAK62C,uBACnBxgC,kBAAmBrW,KAAK+2C,4BAExB5iC,MAAOnU,KAAKk3C,gBACZ1hC,UAAWxV,KAAKo3C,oBAChBviC,OAAQ7U,KAAKg3C,iBAEbphC,KAAM5V,KAAKq3C,eACX1hC,MAAO3V,KAAKs3C,gBACZzhC,OAAQ7V,KAAKu3C,iBACbzhC,QAAS9V,KAAKw3C,oBAGlBiB,eA3CQ,WA4CN,MAAO,CACLtoC,GAAInQ,KAAK01C,eACT5gC,IAAK9U,KAAKg2C,gBACVhkC,MAAOhS,KAAKm2C,kBACZlhC,MAAOjV,KAAKw2C,kBACZnhC,OAAQrV,KAAK04C,mBACb7jC,OAAQ7U,KAAKi3C,mBACb9iC,MAAOnU,KAAKm3C,oBAGhBwB,aAtDQ,WAuDN,MAAO,CACL7jC,IAAK9U,KAAK43C,eACV5lC,MAAOhS,KAAK63C,iBACZ/gC,SAAU9W,KAAK83C,oBACf7iC,MAAOjV,KAAK+3C,iBACZ3wC,OAAQpH,KAAKg4C,kBACbjhC,UAAW/W,KAAKi4C,qBAChBjhC,QAAShX,KAAKm4C,mBACdlhC,WAAYjX,KAAKk4C,wBAGrBU,QAlEQ,WAmEN,OAAO,EAAApE,EAAAr8B,eAAcnY,KAAK40C,cAAe50C,KAAK60C,aAAc70C,KAAK20C,eAAgB30C,KAAK80C,eAExF+D,aArEQ,WAsEN,OAAK74C,KAAK44C,QAAQvmC,MAAMQ,OACjB7S,KAAK44C,QAAQvmC,MADmB,CAAEQ,OAAQ,GAAIoB,QAAS,GAAIrB,MAAO,GAAIE,QAAS,GAAIC,MAAO,KAInG+lC,gBA1EQ,WA2EN,IAAK94C,KAAK64C,aAAahmC,OAAO1C,GAAI,MAAO,GACzC,IAAM0C,EAAS7S,KAAK64C,aAAahmC,OAC3BoB,EAAUjU,KAAK64C,aAAa5kC,QAClC,IAAKpB,EAAO1C,GAAI,MAAO,GACvB,IAWM4oC,EAAM,CACV1nC,MAAM,EAAAJ,EAAA5B,SAAQwD,EAAOxB,MACrB6D,WAAW,EAAAjE,EAAA5B,SAAQwD,EAAOqC,WAC1BC,WAAW,EAAAlE,EAAA5B,SAAQwD,EAAOsC,WAC1BJ,SAAS,EAAA9D,EAAA5B,SAAQwD,EAAOkC,SACxBO,YAAY,EAAArE,EAAA5B,SAAQwD,EAAOyC,YAC3BN,WAAW,EAAA/D,EAAA5B,SAAQwD,EAAOmC,WAE1BP,MAAM,EAAAxD,EAAA5B,SAAQwD,EAAO4B,MACrBc,YAAY,EAAAtE,EAAA5B,SAAQwD,EAAO0C,YAE3ByjC,KAAK,EAAA/nC,EAAA5B,SAAQwD,EAAO+C,MACpBqjC,OAAO,EAAAhoC,EAAA5B,SAAQwD,EAAOgD,QACtBqjC,MAAM,EAAAjoC,EAAA5B,SAAQwD,EAAO8C,OACrBwjC,QAAQ,EAAAloC,EAAA5B,SAAQwD,EAAOiD,UAGnBsjC,EAAM,CACVjpC,IAAI,EAAAc,EAAA5B,SAAQwD,EAAO1C,IACnB2E,KAAK,EAAA7D,EAAA5B,SAAQwD,EAAOiC,KACpBG,OAAO,EAAAhE,EAAA5B,SAAQwD,EAAOoC,OACtBI,QAAQ,EAAApE,EAAA5B,SAAQwD,EAAOwC,QACvBrD,OAAO,EAAAf,EAAA5B,SAAQwD,EAAOb,OACtB+D,YAAY,EAAA9E,EAAA5B,SAAQwD,EAAOkD,YAC3BG,cAAc,EAAAjF,EAAA5B,SAAQwD,EAAOqD,cAC7BG,mBAAmB,EAAApF,EAAA5B,SAAQwD,EAAOwD,oBAO9BgjC,EAAS,CACbC,QAAQ,EAAAroC,EAAApB,mBAAiB,EAAAoB,EAAAjB,YAAWopC,EAAIjpC,GAAI8D,EAAQ9D,GAAI4oC,EAAI1nC,MAAO0nC,EAAI1nC,MACvEkoC,QAAQ,EAAAtoC,EAAApB,mBAAiB,EAAAoB,EAAAjB,YAAWopC,EAAIjpC,GAAI8D,EAAQ9D,GAAI4oC,EAAItkC,MAAOskC,EAAItkC,MACvE+kC,OAAO,EAAAvoC,EAAApB,mBAAiB,EAAAoB,EAAAjB,YAAWopC,EAAIjpC,GAAI8D,EAAQ9D,GAAI4oC,EAAIC,KAAMD,EAAIC,KACrES,SAAS,EAAAxoC,EAAApB,mBAAiB,EAAAoB,EAAAjB,YAAWopC,EAAIjpC,GAAI8D,EAAQ9D,GAAI4oC,EAAIE,OAAQF,EAAIE,OACzES,QAAQ,EAAAzoC,EAAApB,mBAAiB,EAAAoB,EAAAjB,YAAWopC,EAAIjpC,GAAI8D,EAAQ9D,GAAI4oC,EAAIG,MAAOH,EAAIG,MACvES,UAAU,EAAA1oC,EAAApB,mBAAiB,EAAAoB,EAAAjB,YAAWopC,EAAIjpC,GAAI8D,EAAQ9D,GAAI4oC,EAAII,QAASJ,EAAII,QAE3ES,UAAU,EAAA3oC,EAAApB,mBAAiB,EAAAoB,EAAAjB,YAAWopC,EAAIjpC,GAAI,GAAK4oC,EAAI7jC,WAAY6jC,EAAI1nC,MAEvE6D,WAAW,EAAAjE,EAAApB,mBAAiB,EAAAoB,EAAAjB,YAAWopC,EAAInkC,MAAOhB,EAAQgB,MAAO8jC,EAAI7jC,WAAY6jC,EAAI7jC,WACrFC,WAAW,EAAAlE,EAAApB,mBAAiB,EAAAoB,EAAAjB,YAAWopC,EAAInkC,MAAOhB,EAAQgB,MAAO8jC,EAAI5jC,WAAY4jC,EAAI5jC,WAErFJ,SAAS,EAAA9D,EAAApB,mBAAiB,EAAAoB,EAAAjB,YAAWopC,EAAItkC,IAAKb,EAAQa,IAAKikC,EAAIhkC,SAAUgkC,EAAIhkC,SAE7EC,WAAW,EAAA/D,EAAApB,mBAAiB,EAAAoB,EAAAjB,YAAWopC,EAAIpnC,MAAOiC,EAAQjC,MAAO+mC,EAAI/jC,WAAY+jC,EAAI/jC,WAErFM,YAAY,EAAArE,EAAApB,mBAAiB,EAAAoB,EAAAjB,YAAWopC,EAAI/jC,OAAQpB,EAAQoB,OAAQ0jC,EAAIzjC,YAAayjC,EAAIzjC,YACzFC,YAAY,EAAAtE,EAAApB,mBAAiB,EAAAoB,EAAAjB,YAAWopC,EAAI/jC,OAAQpB,EAAQoB,OAAQ0jC,EAAIxjC,YAAawjC,EAAIxjC,aAG3F,OAAO,EAAAnb,EAAAC,SAAeg/C,GAAQjrC,OAAO,SAACC,EAADzU,GAAiB,IAhEvCigD,EAgEuCt/C,GAAA,EAAAE,EAAAJ,SAAAT,EAAA,GAAV8V,EAAUnV,EAAA,GAAP6Z,EAAO7Z,EAAA,GAAqB,OAAnB8T,EAAIqB,GAhElC,CACxB2B,MADawoC,EAgEwDzlC,GA/DzD0lC,YAAY,GAAK,KAE7BC,GAAIF,GAAS,IACbG,IAAKH,GAAS,EAEdI,IAAKJ,GAAS,EACdK,KAAML,GAAS,KAyDiExrC,GAAO,KAE3F8rC,aAjJQ,WAkJN,OAAKn6C,KAAK44C,QAAQxmC,MACX,GAAAqB,QAAA,EAAAugB,EAAA35B,UACF,EAAA+/C,EAAA//C,SAAc2F,KAAK44C,QAAQxmC,QADzB,CAEL,qBACA,kDACAzX,KAAK,KALyB,IAOlC29C,iBAzJQ,WA0JN,OAAO,EAAAt0C,EAAA3J,SAAY2F,KAAK64C,aAAa/lC,SAAS85B,QAEhDyN,uBAAwB,CACtB7jD,IADsB,WAEpB,QAASwJ,KAAKs6C,eAEhBtV,IAJsB,SAIjBvhC,GACCA,GACF,EAAA8wC,EAAAvP,KAAIhlC,KAAK03C,aAAc13C,KAAKy3C,eAAgBz3C,KAAKu6C,sBAAsBjgD,IAAI,SAAA4B,GAAA,OAAK,EAAA0V,EAAAvX,SAAc,GAAI6B,OAElG,EAAAq4C,EAAAiG,QAAIx6C,KAAK03C,aAAc13C,KAAKy3C,kBAIlC8C,sBAxKQ,WAyKN,OAAOv6C,KAAK64C,aAAa/lC,QAAQ9S,KAAKy3C,iBAExC6C,cAAe,CACb9jD,IADa,WAEX,OAAOwJ,KAAK03C,aAAa13C,KAAKy3C,iBAEhCzS,IAJa,SAIR5wB,IACH,EAAAmgC,EAAAvP,KAAIhlC,KAAK03C,aAAc13C,KAAKy3C,eAAgBrjC,KAGhDqmC,WAnLQ,WAoLN,OAAQz6C,KAAK+0C,iBAAmB/0C,KAAKg1C,gBAAkBh1C,KAAKi1C,cAE9DyF,cAtLQ,WAuLN,IAAMC,IACH36C,KAAKs1C,WACLt1C,KAAKm1C,aACLn1C,KAAKo1C,aACLp1C,KAAKq1C,eACLr1C,KAAKk1C,WAGF7iC,EAAQ,GAkBd,OAhBIrS,KAAKs1C,WAAaqF,KACpBtoC,EAAMU,MAAQ/S,KAAK23C,aAEjB33C,KAAKm1C,aAAewF,KACtBtoC,EAAMS,QAAU9S,KAAK03C,eAEnB13C,KAAKo1C,aAAeuF,KACtBtoC,EAAM4B,QAAUjU,KAAKy4C,iBAEnBz4C,KAAKk1C,WAAayF,KACpBtoC,EAAMQ,OAAS7S,KAAKw4C,gBAElBx4C,KAAKq1C,eAAiBsF,KACxBtoC,EAAMO,MAAQ5S,KAAK24C,cAGd,CAELiC,uBAAwB,EAAGvoC,WAIjC8J,WAAY,CACV0+B,qBACAC,uBACAC,qBACAC,wBACAC,wBACAC,sBACA9H,sBACA+H,kBACAC,uBACAvpB,oBAEFrS,QAAS,CACP67B,eADO,WAELr7C,KAAKsc,OAAOI,SAAS,YAAa,CAChCvmB,KAAM,cACNS,MAAO,CACLkc,QAAS9S,KAAK03C,aACd3kC,MAAO/S,KAAK23C,WACZ1jC,QAASjU,KAAKy4C,eACd5lC,OAAQ7S,KAAKw4C,cACb5lC,MAAO5S,KAAK24C,iBAIlB2C,SAbO,SAaGC,GAC8B,IAAlCA,EAAOX,uBACT56C,KAAKq4C,oBAAoBkD,EAAQ,GACU,IAAlCA,EAAOX,wBAChB56C,KAAKq4C,oBAAoBkD,EAAOlpC,MAAO,IAG3CmpC,gBApBO,SAoBUD,GACf,IAAME,EAAUF,EAAOX,uBACvB,OAAOa,GAAW,GAAKA,GAAW,GAEpCC,SAxBO,WAyBL,IACMD,EADQz7C,KAAKsc,OAAOgE,QAAQC,aAAawjB,YACzBlxB,OAAS,EAAI,KACnC7S,KAAKq4C,oBAAoBr4C,KAAKsc,OAAOgE,QAAQC,aAAawjB,YAAa0X,IAIzEE,QA/BO,WA+BI,IAAA57B,EAAA/f,MACT,EAAAgE,EAAA3J,SAAY2F,KAAK47C,OACd3/C,OAAO,SAAAC,GAAA,OAAKA,EAAE2a,SAAS,eAAiB3a,EAAE2a,SAAS,kBACnD5a,OAAO,SAAAC,GAAA,OAAMu4C,EAAYrnC,SAASlR,KAClCsH,QAAQ,SAAAtM,IACP,EAAAq9C,EAAAvP,KAAIjlB,EAAK67B,MAAO1kD,OAAKvB,MAI3BkmD,eAxCO,WAwCW,IAAAr1B,EAAAxmB,MAChB,EAAAgE,EAAA3J,SAAY2F,KAAK47C,OACd3/C,OAAO,SAAAC,GAAA,OAAKA,EAAE2a,SAAS,iBACvBrT,QAAQ,SAAAtM,IACP,EAAAq9C,EAAAvP,KAAIxe,EAAKo1B,MAAO1kD,OAAKvB,MAI3BmmD,aAhDO,WAgDS,IAAAzxB,EAAArqB,MACd,EAAAgE,EAAA3J,SAAY2F,KAAK47C,OACd3/C,OAAO,SAAAC,GAAA,OAAKA,EAAE2a,SAAS,kBACvBrT,QAAQ,SAAAtM,IACP,EAAAq9C,EAAAvP,KAAI3a,EAAKuxB,MAAO1kD,OAAKvB,MAI3BomD,aAxDO,WAyDL/7C,KAAK03C,aAAe,IAGtBsE,WA5DO,WA6DLh8C,KAAK23C,WAAa,IAYpBU,oBAzEO,SAyEcrmC,GAAoB,IAAAif,EAAAjxB,KAAby7C,EAAax7C,UAAAhO,OAAA,QAAA0D,IAAAsK,UAAA,GAAAA,UAAA,GAAH,EAC9B4S,EAASb,EAAMa,QAAUb,EACzBY,EAAQZ,EAAMY,OAASZ,EACvBiC,EAAUjC,EAAMiC,QAChBnB,EAAUd,EAAMc,SAAW,GAC3BC,EAAQf,EAAMe,OAAS,GAoB7B,GAlBgB,IAAZ0oC,IACEzpC,EAAMypC,UAASA,EAAUzpC,EAAMypC,cAER,IAAhB5oC,EAAOxB,WAA6C,IAAdwB,EAAO5C,KACtDwrC,EAAU,QAGe,IAAhB5oC,EAAOxB,WAA6C,IAAdwB,EAAO5C,KACtDwrC,EAAU,IAKE,IAAZA,IACFz7C,KAAK21C,cAAe,EAAA1kC,EAAAnC,SAAQ+D,EAAOiC,KACnC9U,KAAKu1C,gBAAiB,EAAAtkC,EAAAnC,SAAQ+D,EAAO5C,MAGlCjQ,KAAKk1C,UAAW,CACnBl1C,KAAK27C,UACL,IAAMM,EAAO,IAAAC,EAAA7hD,QAAoB,IAAZohD,GAAgB,EAAAz3C,EAAA3J,SAAYwY,GAAU,IAC3C,IAAZ4oC,GAA6B,OAAZA,GACnBQ,EACG1pC,IAAI,MACJA,IAAI,QACJA,IAAI,QACJA,IAAI,SACJA,IAAI,UACJA,IAAI,WAGT0pC,EAAKz4C,QAAQ,SAAAtM,GACX+5B,EAAK/5B,EAAM,eAAgB,EAAA+Z,EAAAnC,SAAQ+D,EAAO3b,MAIzC8I,KAAKq1C,gBACRr1C,KAAK67C,kBACL,EAAAzhD,EAAAC,SAAeuY,GAAOpP,QAAQ,SAAAhJ,GAAY,IAAAkR,GAAA,EAAAjR,EAAAJ,SAAAG,EAAA,GAAVkV,EAAUhE,EAAA,GAAP0I,EAAO1I,EAAA,GAElCxU,EAAMwY,EAAEmH,SAAS,UAAYnH,EAAEvB,MAAM,UAAU,GAAKuB,EAC1DuhB,EAAK/5B,EAAM,eAAiBkd,KAI3BpU,KAAKm1C,cACRn1C,KAAK+7C,eACL/7C,KAAK03C,aAAe5kC,EACpB9S,KAAKy3C,eAAiBz3C,KAAKs4C,iBAAiB,IAGzCt4C,KAAKs1C,YACRt1C,KAAKg8C,aACLh8C,KAAK23C,WAAa5kC,GAGhBkB,IAAYjU,KAAKo1C,cACnBp1C,KAAK87C,gBACL,EAAA1hD,EAAAC,SAAe4Z,GAASzQ,QAAQ,SAAA2D,GAAY,IAAAG,GAAA,EAAA7M,EAAAJ,SAAA8M,EAAA,GAAVuI,EAAUpI,EAAA,GAAP8M,EAAO9M,EAAA,GACtC,MAAO8M,IAAmC,EAAA23B,EAAA1xC,SAAa+Z,KAC3D6c,EAAKvhB,EAAI,gBAAkB0E,QAKnCyM,MAAO,CACL83B,aADK,WAEH,IACE34C,KAAK60C,cAAe,EAAAL,EAAA99B,eAAc,CAAE9D,MAAO5S,KAAK24C,eAChD34C,KAAKi1C,cAAe,EACpB,MAAOthD,GACPqM,KAAKi1C,cAAe,EACpBx9C,QAAQ0kD,KAAKxoD,KAGjB+jD,aAAc,CACZrD,QADY,WAEV,IACEr0C,KAAK20C,gBAAiB,EAAAH,EAAAj9B,iBAAgB,CAAEzE,QAAS9S,KAAK03C,eACtD13C,KAAK+0C,gBAAiB,EACtB,MAAOphD,GACPqM,KAAK+0C,gBAAiB,EACtBt9C,QAAQ0kD,KAAKxoD,KAGjB2gD,MAAM,GAERqD,WAAY,CACVtD,QADU,WAER,IACEr0C,KAAK80C,cAAe,EAAAN,EAAAt9B,eAAc,CAAEnE,MAAO/S,KAAK23C,aAChD33C,KAAKo8C,cAAe,EACpB,MAAOzoD,GACPqM,KAAKo8C,cAAe,EACpB3kD,QAAQ0kD,KAAKxoD,KAGjB2gD,MAAM,GAERkE,cAlCK,WAmCH,IACEx4C,KAAK40C,eAAgB,EAAAJ,EAAAxgC,gBAAe,CAClCC,QAASjU,KAAKy4C,eACd5lC,OAAQ7S,KAAKw4C,gBAEfx4C,KAAKg1C,eAAgB,EACrB,MAAOrhD,GACPqM,KAAKg1C,eAAgB,EACrBv9C,QAAQ0kD,KAAKxoD,KAGjB8kD,eA9CK,WA+CH,IACEz4C,KAAK40C,eAAgB,EAAAJ,EAAAxgC,gBAAe,CAClCC,QAASjU,KAAKy4C,eACd5lC,OAAQ7S,KAAKw4C,gBAEf,MAAO7kD,GACP8D,QAAQ0kD,KAAKxoD,KAGjB4mC,SAxDK,WAyD0B,IAAzBv6B,KAAKu4C,iBACFv4C,KAAKq1C,eACRr1C,KAAK67C,iBAGF77C,KAAKm1C,aACRn1C,KAAK+7C,eAGF/7C,KAAKo1C,aACRp1C,KAAK87C,eAGF97C,KAAKk1C,YACRl1C,KAAK27C,UAEL37C,KAAKy1C,aAAez1C,KAAKu6B,SAAS,GAClCv6B,KAAK21C,aAAe31C,KAAKu6B,SAAS,GAClCv6B,KAAKu1C,eAAiBv1C,KAAKu6B,SAAS,GACpCv6B,KAAKw1C,eAAiBx1C,KAAKu6B,SAAS,GACpCv6B,KAAKq3C,eAAiBr3C,KAAKu6B,SAAS,GACpCv6B,KAAKu3C,iBAAmBv3C,KAAKu6B,SAAS,GACtCv6B,KAAKs3C,gBAAkBt3C,KAAKu6B,SAAS,GACrCv6B,KAAKw3C,kBAAoBx3C,KAAKu6B,SAAS,KAEhCv6B,KAAKu4C,iBAAmB,GACjCv4C,KAAKq4C,oBAAoBr4C,KAAKu6B,SAASloB,MAAO,+FCnhBtD,CACAkL,MAAA,CACA,8CAEAlB,SAAA,CACAggC,QADA,WAEA,gBAAAr8C,KAAApJ,kGCAA,CACA2mB,MAAA,CACA,qFAEAlB,SAAA,CACAggC,QADA,WAEA,gBAAAr8C,KAAApJ,kGCjBA,CACA2mB,MAAA,CACA,sCAEAlB,SAAA,CACAggC,QADA,WAEA,gBAAAr8C,KAAApJ,2GC7CAxD,EAAA,UACAA,EAAA,MACAohD,EAAAphD,EAAA,IACA6d,EAAA7d,EAAA,iEAEe,CAKbmqB,MAAO,CACL,QAAS,WAAY,SAEvB9rB,KARa,WASX,MAAO,CACL6qD,WAAY,EAEZC,OAAQv8C,KAAKpJ,OAASoJ,KAAKw8C,UAAY,KAG3CrgC,WAAY,CACV0+B,qBACAC,wBAEFt7B,QAAS,CACPjN,IADO,WAELvS,KAAKu8C,OAAOpqD,MAAK,EAAAyf,EAAAvX,SAAc,GAAI2F,KAAKu6B,WACxCv6B,KAAKs8C,WAAat8C,KAAKu8C,OAAOtqD,OAAS,GAEzCwqD,IALO,WAMLz8C,KAAKu8C,OAAOppD,OAAO6M,KAAKs8C,WAAY,GACpCt8C,KAAKs8C,WAAoC,IAAvBt8C,KAAKu8C,OAAOtqD,YAAe0D,EAAYqK,KAAKs8C,WAAa,GAE7EI,OATO,WAUL,IAAMC,EAAU38C,KAAKu8C,OAAOppD,OAAO6M,KAAKs8C,WAAY,GAAG,GACvDt8C,KAAKu8C,OAAOppD,OAAO6M,KAAKs8C,WAAa,EAAG,EAAGK,GAC3C38C,KAAKs8C,YAAc,GAErBM,OAdO,WAeL,IAAMD,EAAU38C,KAAKu8C,OAAOppD,OAAO6M,KAAKs8C,WAAY,GAAG,GACvDt8C,KAAKu8C,OAAOppD,OAAO6M,KAAKs8C,WAAa,EAAG,EAAGK,GAC3C38C,KAAKs8C,YAAc,IAGvBO,aAvCa,WAwCX78C,KAAKu8C,OAASv8C,KAAKpJ,OAASoJ,KAAKw8C,UAEnCngC,SAAU,CACRke,SADQ,WAEN,OAAIv6B,KAAK88C,OAAS98C,KAAKu8C,OAAOtqD,OAAS,EAC9B+N,KAAKu8C,OAAOv8C,KAAKs8C,YAEjB,CACLjpC,EAAG,EACHC,EAAG,EACHC,KAAM,EACNC,OAAQ,EACRL,OAAO,EACPQ,MAAO,UACPC,MAAO,IAIbmpC,YAhBQ,WAiBN,OAAO/8C,KAAK88C,OAAS98C,KAAKs8C,WAAa,GAEzCU,YAnBQ,WAoBN,OAAOh9C,KAAK88C,OAAS98C,KAAKs8C,WAAat8C,KAAKu8C,OAAOtqD,OAAS,GAE9DoqD,QAtBQ,WAuBN,OAAOr8C,KAAK88C,YAC8B,IAAjC98C,KAAKu8C,OAAOv8C,KAAKs8C,cACvBt8C,KAAKi9C,eAEVA,cA3BQ,WA4BN,YAA6B,IAAfj9C,KAAKpJ,OAErBgZ,IA9BQ,WA+BN,OAAO,EAAAqB,EAAA5B,SAAQrP,KAAKu6B,SAAS5mB,QAE/B+hB,MAjCQ,WAkCN,OAAO11B,KAAK88C,MAAQ,CAClBI,WAAW,EAAA1I,EAAAvhC,cAAajT,KAAKu8C,SAC3B,uICnFVhI,EAAAnhD,EAAA,cAEe,CACbmqB,MAAO,CACL,OAAQ,QAAS,QAAS,WAAY,UAAW,cAEnD9rB,KAJa,WAKX,MAAO,CACL0rD,OAAQn9C,KAAKpJ,MACbwmD,iBAAkB,CAChBp9C,KAAKq9C,UAAY,GAAK,UACtB,UAFgB5pC,QAAA,EAAAugB,EAAA35B,SAGZ2F,KAAKxG,SAAW,IAHJ,CAIhB,QACA,YACA,eACAyC,OAAO,SAAAC,GAAA,OAAKA,MAGlB2gD,aAjBa,WAkBX78C,KAAKm9C,OAASn9C,KAAKpJ,OAErBylB,SAAU,CACRggC,QADQ,WAEN,YAA8B,IAAhBr8C,KAAKm9C,QAErBG,OAJQ,WAKN,OAAOt9C,KAAKm9C,QAAUn9C,KAAKw8C,UAAY,IAEzCplC,OAAQ,CACN5gB,IADM,WAEJ,OAAOwJ,KAAKs9C,OAAOlmC,QAErB4tB,IAJM,SAID5wB,IACH,EAAAmgC,EAAAvP,KAAIhlC,KAAKm9C,OAAQ,SAAU/oC,GAC3BpU,KAAK8pB,MAAM,QAAS9pB,KAAKm9C,UAG7BI,SAhBQ,WAiBN,MAAuB,WAAhBv9C,KAAKw9C,QAEdA,OAAQ,CACNhnD,IADM,WAEJ,MAAoB,UAAhBwJ,KAAKoX,QACW,eAAhBpX,KAAKoX,QACW,cAAhBpX,KAAKoX,QACW,YAAhBpX,KAAKoX,OACApX,KAAKoX,OAEL,UAGX4tB,IAXM,SAWD5wB,GACHpU,KAAKoX,OAAe,WAANhD,EAAiB,GAAKA,+FCf5C,CACAmJ,MAAA,CACA,oBAEAlB,SAAA,CACAohC,KADA,WAEA,IAAAC,EAAA19C,KAAA29C,SAAA3D,IAAA,MAAAh6C,KAAA29C,SAAA5D,GAAA,WACA6D,EAAA59C,KAAAuvB,GAAA,wCAAAmuB,GACA1wC,EAAAhN,KAAAuvB,GAAA,+CACAsqB,EAAA75C,KAAA29C,SAAAtsC,KACA,OAAArR,KAAAuvB,GAAA,uCAAAquB,QAAA5wC,UAAA6sC,WAEAgE,UARA,WASA,IAAAH,EAAA19C,KAAA29C,SAAAzD,KAAA,MAAAl6C,KAAA29C,SAAA1D,IAAA,WACA2D,EAAA59C,KAAAuvB,GAAA,wCAAAmuB,GACA1wC,EAAAhN,KAAAuvB,GAAA,+CACAsqB,EAAA75C,KAAA29C,SAAAtsC,KACA,OAAArR,KAAAuvB,GAAA,uCAAAquB,QAAA5wC,UAAA6sC,yJC5BA,CACAt8B,MAAA,CACA,eACA,cACA,cACA,mBACA,YACA,WACA,mBAEA9rB,KAVA,WAWA,OACAqsD,cAAA,IAGAt+B,QAAA,CACAu+B,WADA,WAEA,IAAAC,GAAA,EAAAnjD,EAAAR,SAAA2F,KAAAi+C,cAGAtqD,EAAAS,SAAAC,cAAA,KACAV,EAAAc,aAAA,iCACAd,EAAAc,aAAA,uCAAAkD,OAAAumD,KAAAF,IACArqD,EAAA+hC,MAAAyoB,QAAA,OAEA/pD,SAAAwG,KAAA9E,YAAAnC,GACAA,EAAA4yC,QACAnyC,SAAAwG,KAAAoe,YAAArlB,IAEAyqD,WAdA,WAcA,IAAAr+B,EAAA/f,KACAA,KAAA89C,cAAA,EACA,IAAAO,EAAAjqD,SAAAC,cAAA,SACAgqD,EAAA5pD,aAAA,eACA4pD,EAAA5pD,aAAA,kBAEA4pD,EAAA3lC,iBAAA,kBAAA1jB,GACA,GAAAA,EAAAQ,OAAA+9B,MAAA,IAEA,IAAA+qB,EAAA,IAAAC,WACAD,EAAAppD,OAAA,SAAA0E,GAAA,IAAApE,EAAAoE,EAAApE,OACA,IACA,IAAA+lD,EAAAiD,KAAAjuB,MAAA/6B,EAAA1C,QACAitB,EAAA0+B,UAAAlD,GAEAx7B,EAAAu7B,SAAAC,GAEAx7B,EAAA+9B,cAAA,EAGA,MAAAnqD,GAEAosB,EAAA+9B,cAAA,IAIAQ,EAAAI,WAAA1pD,EAAAQ,OAAA+9B,MAAA,OAIAn/B,SAAAwG,KAAA9E,YAAAuoD,GACAA,EAAA9X,QACAnyC,SAAAwG,KAAAoe,YAAAqlC,+HC5DAjrD,EAAA,oEAGA,CACAipB,SAAA,CACAsiC,cADA,WAEA,SAAA36C,EAAA3J,SAAAukD,EAAAvkD,UAGAwkD,cALA,WAMA,SAAAjhD,EAAAvD,SAAA2F,KAAA2+C,cAAA3+C,KAAA8+C,kBAGAC,SAAA,CACAvoD,IAAA,kBAAAwJ,KAAAsc,OAAAgE,QAAAC,aAAAy+B,mBACAha,IAAA,SAAAvhC,GACAzD,KAAAsc,OAAAI,SAAA,aAAAvmB,KAAA,oBAAAS,MAAA6M,IACAzD,KAAAi/C,MAAAp4C,OAAApD,KAKA+b,QAAA,CACAs/B,gBADA,SACA1jC,GAMA,MALA,CACA8jC,GAAA,iBACAC,QAAA,sBACAC,GAAA,kBAEAhkC,IAAAikC,EAAAhlD,QAAAilD,QAAAlkC,yHCzDAmkC,EAAAnsD,EAAA,KACAosD,EAAApsD,EAAA,KACAouB,EAAApuB,EAAA,sDAEA,IAAMqsD,EAAe,CACnBC,OAAQ,CAACC,mBACTluD,KAAM,iBAAO,CACX6K,KAAM,CACJiM,MAAO,GACPq3C,SAAU,GACVtkC,SAAU,GACVlT,SAAU,GACV0oB,QAAS,IAEX+uB,QAAS,KAEXC,YAAa,CACXxjD,KAAM,CACJiM,MAAO,CAAEwyB,qBACTzf,SAAU,CAAEyf,qBACZ6kB,SAAU,CAAE7kB,qBACZ3yB,SAAU,CAAE2yB,qBACZjK,QAAS,CACPiK,oBACAglB,gBAAgB,EAAAP,EAAAQ,QAAO,eAI7BvjC,QAxBmB,aAyBXzc,KAAKigD,mBAAqBjgD,KAAKsJ,OAAUtJ,KAAKkgD,WAClDlgD,KAAKupB,QAAQp3B,KAAK,CAAEgE,KAAM,SAG5B6J,KAAKmgD,cAEP9jC,wBACE/S,MADF,WACa,OAAOtJ,KAAKoyB,OAAOt4B,OAAOwP,OACrC82C,eAFF,WAGI,OAAOpgD,KAAKuvB,GAAG,gCAAgCzI,QAAQ,YAAa,UAEnE,EAAAtF,EAAAmG,UAAS,CACVs4B,iBAAkB,SAAC1jC,GAAD,OAAWA,EAAMnC,SAAS6lC,kBAC5CC,SAAU,SAAC3jC,GAAD,QAAaA,EAAMnd,MAAMuf,aACnC0hC,UAAW,SAAC9jC,GAAD,OAAWA,EAAMnd,MAAMkhD,eAClCC,uBAAwB,SAAChkC,GAAD,OAAWA,EAAMnd,MAAMohD,cAC/CC,eAAgB,SAAClkC,GAAD,OAAWA,EAAMnC,SAASsmC,QAG9ClhC,0BACK,EAAAgC,EAAAm/B,YAAW,CAAC,SAAU,eAD3B,CAEQC,OAFR,eAAAhnD,GAAA,EAAAmF,EAAA1E,SAAA2E,EAAA3E,QAAA4E,KAAA,SAAAC,IAAA,OAAAF,EAAA3E,QAAAgF,KAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,UAGIQ,KAAK1D,KAAKqK,SAAW3G,KAAK1D,KAAKgf,SAC/Btb,KAAK1D,KAAKgN,MAAQtJ,KAAKsJ,MAEvBtJ,KAAK1D,KAAKukD,iBAAmB7gD,KAAK6/C,QAAQiB,SAC1C9gD,KAAK1D,KAAKykD,cAAgB/gD,KAAK6/C,QAAQv2C,MACvCtJ,KAAK1D,KAAK0kD,oBAAsBhhD,KAAK6/C,QAAQoB,YAE7CjhD,KAAKkhD,GAAGC,SAEHnhD,KAAKkhD,GAAGE,SAZjB,CAAA9hD,EAAAE,KAAA,gBAAAF,EAAAC,KAAA,EAAAD,EAAAE,KAAA,GAccQ,KAAKqhD,OAAOrhD,KAAK1D,MAd/B,QAeQ0D,KAAKupB,QAAQp3B,KAAK,CAAEgE,KAAM,YAflCmJ,EAAAE,KAAA,iBAAAF,EAAAC,KAAA,GAAAD,EAAAM,GAAAN,EAAA,SAiBQ7H,QAAQ0kD,KAAK,wBAAA78C,EAAAM,IAjBrB,yBAAAN,EAAAO,SAAAX,EAAAc,KAAA,sCAAApG,EAAAhH,MAAAoN,KAAAC,YAAA,GAqBEkgD,WArBF,WAqBgB,IAAApgC,EAAA/f,KACZA,KAAKgH,aAAahM,KAAK,SAAAsmD,GAASvhC,EAAK8/B,QAAUyB,kBAKtC7B,+FC3Efj+B,EAAApuB,EAAA,OACAA,EAAA,yDAEA,IAAMmuD,EAAgB,CACpB9vD,KAAM,iBAAO,CACX6K,KAAM,CACJiM,MAAO,IAET83C,WAAW,EACXmB,SAAS,EACTC,WAAW,EACX3sD,MAAO,OAETunB,2BACK,EAAAmF,EAAAmG,UAAS,CACVu4B,SAAU,SAAC3jC,GAAD,QAAaA,EAAMnd,MAAMuf,aACnCvE,SAAU,SAAAmC,GAAA,OAASA,EAAMnC,YAH7B,CAKEsnC,cALF,WAMI,OAAO1hD,KAAKoa,SAASsnC,iBAGzBjlC,QAnBoB,WAoBdzc,KAAKkgD,UACPlgD,KAAKupB,QAAQp3B,KAAK,CAAEgE,KAAM,UAG9BonB,MAAO,CACLokC,uBAAwB,CACtBtnD,SAAS,EACT/E,KAAM6lC,UAGV3b,QAAS,CACPoiC,aADO,WAEL5hD,KAAKlL,MAAQ,MAEf8rD,OAJO,WAIG,IAAA7gC,EAAA/f,KACRA,KAAKqgD,WAAY,EACjB,IAAM93C,EAAQvI,KAAK1D,KAAKiM,MAClB6R,EAAWpa,KAAKoa,SAASynC,QAE/B,EAAAC,EAAAznD,SAAiB,CAAE+f,WAAU7R,UAASvN,KAAK,SAAApB,GAAgB,IAAb0B,EAAa1B,EAAb0B,OAC5CykB,EAAKsgC,WAAY,EACjBtgC,EAAKzjB,KAAKiM,MAAQ,GAEH,MAAXjN,GACFykB,EAAKyhC,SAAU,EACfzhC,EAAKjrB,MAAQ,MACO,MAAXwG,GAA6B,MAAXA,GAC3BykB,EAAKjrB,MAAQirB,EAAKwP,GAAG,4BACrBxP,EAAK4W,UAAU,WACb5W,EAAKiN,MAAMzkB,MAAM4pB,WAEC,MAAX72B,IACTykB,EAAK0hC,WAAY,EACjB1hC,EAAKjrB,MAAQirB,EAAKwP,GAAG,uCAEtBjX,MAAM,WACPyH,EAAKsgC,WAAY,EACjBtgC,EAAKzjB,KAAKiM,MAAQ,GAClBwX,EAAKjrB,MAAQirB,EAAKwP,GAAG,wCAMdgyB,+GCnEfnuD,EAAA,UACAA,EAAA,SACAA,EAAA,SACAA,EAAA,UACAA,EAAA,UACAA,EAAA,UACAA,EAAA,UACAA,EAAA,UACAA,EAAA,UACAA,EAAA,UACAA,EAAA,UACAA,EAAA,UACAA,EAAA,UACAA,EAAA,UACAA,EAAA,UACAA,EAAA,UACAA,EAAA,UACAA,EAAA,UACAA,EAAA,UACAA,EAAA,SACAA,EAAA,yDAEA,IAAM2uD,GAAY,EAAAC,EAAA3nD,SAAiB,CACjCf,MAAO,SAACikB,EAAOjB,GAAR,OAAmBA,EAAOI,SAAS,gBAC1CkzB,OAAQ,SAACryB,EAAOjB,GAAR,OAAmB,EAAAuzB,EAAAx1C,SAAIiiB,EAAOC,MAAMnd,MAAMuf,YAAa,WAAY,KAC3EoxB,cAAe,SAHC,CAIfkS,WAEGC,GAAW,EAAAF,EAAA3nD,SAAiB,CAChCf,MAAO,SAACikB,EAAOjB,GAAR,OAAmBA,EAAOI,SAAS,eAC1CkzB,OAAQ,SAACryB,EAAOjB,GAAR,OAAmB,EAAAuzB,EAAAx1C,SAAIiiB,EAAOC,MAAMnd,MAAMuf,YAAa,UAAW,KAC1EoxB,cAAe,SAHA,CAIdkS,WAEGE,EAAe,CACnB1wD,KADmB,WAEjB,MAAO,CACL2wD,SAAU,GACVC,QAASriD,KAAKsc,OAAOC,MAAMnd,MAAMuf,YAAYxoB,KAC7CmsD,QAAQ,EAAAC,EAAAloD,SAAS2F,KAAKsc,OAAOC,MAAMnd,MAAMuf,YAAYisB,aACrD4X,UAAWxiD,KAAKsc,OAAOC,MAAMnd,MAAMuf,YAAY8jC,OAC/CC,cAAe1iD,KAAKsc,OAAOC,MAAMnd,MAAMuf,YAAYgkC,aACnDC,gBAAiB5iD,KAAKsc,OAAOC,MAAMnd,MAAMuf,YAAYoU,cACrD8vB,YAAa7iD,KAAKsc,OAAOC,MAAMnd,MAAMuf,YAAY+xB,aACjDoS,cAAe9iD,KAAKsc,OAAOC,MAAMnd,MAAMuf,YAAYiyB,eACnDvL,iBAAkBrlC,KAAKsc,OAAOC,MAAMnd,MAAMuf,YAAY2mB,mBACtDC,mBAAoBvlC,KAAKsc,OAAOC,MAAMnd,MAAMuf,YAAY6mB,qBACxDud,SAAU/iD,KAAKsc,OAAOC,MAAMnd,MAAMuf,YAAYqkC,UAC9CC,KAAMjjD,KAAKsc,OAAOC,MAAMnd,MAAMuf,YAAYskC,KAC1CC,aAAcljD,KAAKsc,OAAOC,MAAMnd,MAAMuf,YAAYukC,aAClDC,sBAAsB,EACtBC,iBAAiB,EACjBC,qBAAqB,EACrBz7C,OAAQ,KACR07C,cAAe,KACf/7C,WAAY,KACZg8C,kBAAmB,KACnBC,kBAAmB,KACnBC,sBAAuB,KACvBx4C,OAAQjL,KAAKsc,OAAOC,MAAMnd,MAAMuf,YAAY1T,OAC5Cy4C,cAAe,KACfC,kBAAmB,KACnBC,kBAAkB,EAClBC,oBAAqB,GACrBC,cAAc,EACdC,iBAAiB,EACjBC,kCAAmC,GACnCC,oBAAoB,EACpBC,qBAAsB,CAAE,GAAI,GAAI,IAChCC,iBAAiB,EACjBC,qBAAqB,EACrBC,UAAW,UACXC,qBAAsBtkD,KAAKsc,OAAOC,MAAMnd,MAAMuf,YAAY4lC,wBAG9D9nC,QAzCmB,WA0CjBzc,KAAKsc,OAAOI,SAAS,eACrB1c,KAAKsc,OAAOI,SAAS,gBAEvBP,WAAY,CACVk3B,wBACAzhB,wBACAwhB,sBACAoR,uBACAzC,YACAG,WACAxwB,qBACA+yB,sBACAC,oBACAC,mBACA/e,yBACAgf,mBACAC,mBACAC,cACAjzB,oBAEFxV,SAAU,CACR/f,KADQ,WAEN,OAAO0D,KAAKsc,OAAOC,MAAMnd,MAAMuf,aAEjCkV,mBAJQ,WAIc,IAAA9T,EAAA/f,KACpB,OAAO,EAAA8zB,EAAAz5B,SAAU,CACf05B,8BACK/zB,KAAKsc,OAAOC,MAAMnC,SAAS2Z,QADhC,EAAAC,EAAA35B,SAEK2F,KAAKsc,OAAOC,MAAMnC,SAAS6Z,cAEhC70B,MAAOY,KAAKsc,OAAOC,MAAMnd,MAAMA,MAC/B80B,gBAAiB,SAACliB,GAAD,OAAW+N,EAAKzD,OAAOI,SAAS,cAAe1K,OAGpEmiB,eAdQ,WAeN,OAAO,EAAAL,EAAAz5B,SAAU,CAAE05B,8BACd/zB,KAAKsc,OAAOC,MAAMnC,SAAS2Z,QADb,EAAAC,EAAA35B,SAEd2F,KAAKsc,OAAOC,MAAMnC,SAAS6Z,iBAGlC8wB,eApBQ,WAqBN,OAAO/kD,KAAKsc,OAAOC,MAAMnC,SAAS2qC,gBAEpCnxB,kBAvBQ,WAwBN,OAAO5zB,KAAKsc,OAAOC,MAAMnC,SAASwZ,mBAEpCoxB,IA1BQ,WA2BN,MAAO,CACL5nD,OAAQ,CAAEm9B,SAAmC,WAAzBv6B,KAAK4iD,iBACzBpoB,SAAU,CAAED,SAAmC,aAAzBv6B,KAAK4iD,iBAC3BnoB,QAAS,CAAEF,SAAmC,YAAzBv6B,KAAK4iD,iBAC1BloB,OAAQ,CAAEH,SAAmC,WAAzBv6B,KAAK4iD,mBAG7BrP,uBAlCQ,WAmCN,OAAOvzC,KAAKsc,OAAOC,MAAMpF,UAAUxL,SAAS4nC,wBAE9C0R,YArCQ,WAsCN,OAAOjlD,KAAKsc,OAAOC,MAAM0oC,YAAYC,OAAO5qD,IAAI,SAAA6qD,GAC9C,MAAO,CACL/sD,GAAI+sD,EAAW/sD,GACfgtD,QAASD,EAAWE,SACpBC,WAAY,IAAIhrC,KAAK6qC,EAAWI,aAAaC,0BAKrDhmC,QAAS,CACPhY,cADO,WACU,IAAAgf,EAAAxmB,KACfA,KAAKsc,OAAOC,MAAMuC,IAAIupB,kBACnB7gC,cAAc,CACb1N,OAAQ,CACN2rD,KAAMzlD,KAAKsiD,OACXG,OAAQziD,KAAKwiD,UAGbkD,aAAc1lD,KAAKqiD,QACnBtvB,cAAe/yB,KAAK4iD,gBACpBD,aAAc3iD,KAAK0iD,cACnBhS,aAAc1wC,KAAK6iD,YACnBjS,eAAgB5wC,KAAK8iD,cACrBI,aAAcljD,KAAKkjD,aACnB5d,mBAAoBtlC,KAAKqlC,iBACzBG,qBAAsBxlC,KAAKulC,mBAC3Byd,UAAWhjD,KAAK+iD,YAEb/nD,KAAK,SAACsB,GACXkqB,EAAKlK,OAAOrK,OAAO,cAAe,CAAC3V,IACnCkqB,EAAKlK,OAAOrK,OAAO,iBAAkB3V,MAG3CmP,2BAxBO,WAyBLzL,KAAKsc,OAAOC,MAAMuC,IAAIupB,kBACnB58B,2BAA2B,CAAEE,SAAU3L,KAAKskD,wBAEjDhsB,UA5BO,SA4BIx1B,GACT9C,KAAK4iD,gBAAkB9/C,GAEzBg2B,WA/BO,SA+BK2D,EAAM9oC,GAAG,IAAA02B,EAAArqB,KACb+H,EAAOpU,EAAE6B,OAAO+9B,MAAM,GAC5B,GAAKxrB,EACL,GAAIA,EAAK4jB,KAAO3rB,KAAKsc,OAAOC,MAAMnC,SAASqiB,EAAO,SAAlD,CACE,IAAMxD,EAAWC,UAAsBC,eAAepxB,EAAK4jB,MACrDyN,EAAcF,UAAsBC,eAAen5B,KAAKsc,OAAOC,MAAMnC,SAASqiB,EAAO,UAC3Fz8B,KAAKy8B,EAAO,eAAiBz8B,KAAKuvB,GAAG,qBAAuB,IAAMvvB,KAAKuvB,GAAG,4BAA6B,CAAE0J,SAAUA,EAASvO,IAAK2O,aAAcJ,EAASK,KAAMF,YAAaA,EAAY1O,IAAK6O,gBAAiBH,EAAYE,WAH3N,CAOA,IAAMglB,EAAS,IAAIC,WACnBD,EAAOppD,OAAS,SAAA0E,GAAgB,IACxByxB,EADwBzxB,EAAbpE,OACE1C,OACnBu3B,EAAKoS,EAAO,WAAapR,EACzBhB,EAAKoS,GAAQ10B,GAEfu2C,EAAOqH,cAAc59C,KAEvB69C,aAjDO,SAiDOC,EAAS99C,GACrB,IAAM+9C,EAAO9lD,KACb,OAAO,IAAA9E,EAAAb,QAAY,SAACrG,EAASC,GAC3B,SAASiT,EAAcE,GACrB0+C,EAAKxpC,OAAOC,MAAMuC,IAAIupB,kBAAkBnhC,aAAa,CAAEE,WACpDpM,KAAK,SAACsB,GACLwpD,EAAKxpC,OAAOrK,OAAO,cAAe,CAAC3V,IACnCwpD,EAAKxpC,OAAOrK,OAAO,iBAAkB3V,GACrCtI,MAEDskB,MAAM,SAAC9gB,GACNvD,EAAO,IAAIc,MAAM+wD,EAAKv2B,GAAG,qBAAuB,IAAM/3B,EAAI/B,YAI5DowD,EACFA,EAAQE,mBAAmBC,OAAO9+C,EAAca,EAAKzS,MAErD4R,EAAaa,MAInBk+C,iBAvEO,SAuEWxpB,GAChBz8B,KAAKy8B,EAAO,eAAiB,MAE/BypB,aA1EO,WA0ES,IAAAj1B,EAAAjxB,KACTA,KAAKsjD,gBAEVtjD,KAAKojD,iBAAkB,EACvBpjD,KAAKsc,OAAOC,MAAMuC,IAAIupB,kBAAkB3gC,aAAa,CAAEE,OAAQ5H,KAAK4H,SACjE5M,KAAK,SAACsB,GACL20B,EAAK3U,OAAOrK,OAAO,cAAe,CAAC3V,IACnC20B,EAAK3U,OAAOrK,OAAO,iBAAkB3V,GACrC20B,EAAKqyB,cAAgB,OAEtBhrC,MAAM,SAAC9gB,GACNy5B,EAAKuyB,kBAAoBvyB,EAAK1B,GAAG,qBAAuB,IAAM/3B,EAAI/B,UAEnEuF,KAAK,WAAQi2B,EAAKmyB,iBAAkB,MAEzC+C,SAzFO,WAyFK,IAAAC,EAAApmD,KACV,GAAKA,KAAKujD,kBAAV,CACA,IAAIh8C,EAAavH,KAAKuH,WACtBvH,KAAKqjD,qBAAsB,EAC3BrjD,KAAKsc,OAAOC,MAAMuC,IAAIupB,kBAAkBhhC,SAAS,CAAEE,eAAcvM,KAAK,SAACvJ,GAChEA,EAAKqD,MAKRsxD,EAAK3C,sBAAwB2C,EAAK72B,GAAG,qBAAuB99B,EAAKqD,OAJjEsxD,EAAK9pC,OAAOrK,OAAO,cAAe,CAACxgB,IACnC20D,EAAK9pC,OAAOrK,OAAO,iBAAkBxgB,GACrC20D,EAAK7C,kBAAoB,MAI3B6C,EAAK/C,qBAAsB,MAG/BgD,aAxGO,WAwGS,IAAAC,EAAAtmD,KACd,GAAKA,KAAK0jD,cAAV,CACA,IAAIz4C,EAASjL,KAAKiL,OAClBjL,KAAKumD,iBAAkB,EACvBvmD,KAAKsc,OAAOC,MAAMuC,IAAIupB,kBAAkBt9B,aAAa,CAAEE,WAAUjQ,KAAK,SAACvJ,GAChEA,EAAKqD,MAIRwxD,EAAK3C,kBAAoB2C,EAAK/2B,GAAG,qBAAuB,IAAM99B,EAAKqD,OAHnEwxD,EAAK5C,cAAgB,KACrB4C,EAAKhqC,OAAOrK,OAAO,eAAgBxgB,EAAK8H,MAI1C+sD,EAAKC,iBAAkB,MAG3Bv+C,cAtHO,SAsHQD,GACb,OAAO/H,KAAKsc,OAAOC,MAAMuC,IAAIupB,kBAAkBrgC,cAAcD,GAC1D/M,KAAK,SAACM,GACL,IAAKA,EACH,MAAM,IAAIvG,MAAM,aAIxB8S,aA9HO,SA8HOE,GACZ,OAAO/H,KAAKsc,OAAOC,MAAMuC,IAAIupB,kBAAkBxgC,aAAaE,GACzD/M,KAAK,SAACM,GACL,IAAKA,EACH,MAAM,IAAIvG,MAAM,aAIxByxD,+BAtIO,SAsIyBpnD,GAE9B,OAAOA,EAAM9E,IAAI,SAACgC,GAEhB,OAAIA,GAAQA,EAAKmqD,SAGRnqD,EAAKqJ,YAAc,IAAMoU,SAAS2sC,SAEpCpqD,EAAKqJ,cACXhL,KAAK,OAEVgsD,kBAlJO,WAmJL,OAAO3mD,KAAKsc,OAAOC,MAAMuC,IAAIupB,kBAAkBzpC,cAAc,CAAExG,GAAI4H,KAAKsc,OAAOC,MAAMnd,MAAMuf,YAAYvmB,KACpG4C,KAAKgF,KAAKwmD,iCAEfI,iBAtJO,WAuJL,OAAO5mD,KAAKsc,OAAOC,MAAMuC,IAAIupB,kBAAkBnjC,cAC5ClK,KAAKgF,KAAKwmD,iCAEfK,cA1JO,WA2JL7mD,KAAK+jD,iBAAkB,GAEzB77C,cA7JO,WA6JU,IAAA4+C,EAAA9mD,KACfA,KAAKsc,OAAOC,MAAMuC,IAAIupB,kBAAkBngC,cAAc,CAAEE,SAAUpI,KAAKgkD,oCACpEhpD,KAAK,SAAC+rD,GACc,YAAfA,EAAIzrD,QACNwrD,EAAKxqC,OAAOI,SAAS,UACrBoqC,EAAKv9B,QAAQp3B,KAAK,CAAEgE,KAAM,UAE1B2wD,EAAK7C,mBAAqB8C,EAAIjyD,SAItC0T,eAxKO,WAwKW,IAAAw+C,EAAAhnD,KACVlG,EAAS,CACbsO,SAAUpI,KAAKkkD,qBAAqB,GACpCx7C,YAAa1I,KAAKkkD,qBAAqB,GACvCv7C,wBAAyB3I,KAAKkkD,qBAAqB,IAErDlkD,KAAKsc,OAAOC,MAAMuC,IAAIupB,kBAAkB7/B,eAAe1O,GACpDkB,KAAK,SAAC+rD,GACc,YAAfA,EAAIzrD,QACN0rD,EAAK7C,iBAAkB,EACvB6C,EAAK5C,qBAAsB,EAC3B4C,EAAKC,WAELD,EAAK7C,iBAAkB,EACvB6C,EAAK5C,oBAAsB2C,EAAIjyD,UAIvCuT,YA1LO,WA0LQ,IAAA6+C,EAAAlnD,KACPlG,EAAS,CACbyO,MAAOvI,KAAKoiD,SACZh6C,SAAUpI,KAAK6jD,qBAEjB7jD,KAAKsc,OAAOC,MAAMuC,IAAIupB,kBAAkBhgC,YAAYvO,GACjDkB,KAAK,SAAC+rD,GACc,YAAfA,EAAIzrD,QACN4rD,EAAKpD,cAAe,EACpBoD,EAAKtD,kBAAmB,IAExBsD,EAAKpD,cAAe,EACpBoD,EAAKtD,iBAAmBmD,EAAIjyD,UAIpCqyD,YA1MO,SA0MM5U,GACXvyC,KAAKqkD,UAAY9R,GAEnB0U,OA7MO,WA8MLjnD,KAAKsc,OAAOI,SAAS,UACrB1c,KAAKupB,QAAQzC,QAAQ,MAEvBpL,YAjNO,SAiNMtjB,GACPT,OAAOm5B,QAAW9wB,KAAKi/C,MAAMpoD,EAAE,yBAA/B,MACFmJ,KAAKsc,OAAOI,SAAS,cAAetkB,IAGxCgvD,qBAtNO,SAsNerV,GAAS,IAAAsV,EAAArnD,KAC7B,OAAO,EAAAsnD,EAAAjtD,SAAO03C,EAAS,SAACh1C,GACtB,IAAMT,EAAO+qD,EAAK/qC,OAAOgE,QAAQ0E,SAASjoB,GAC1C,OAAQT,GAAQA,EAAKirD,oBAAsBjrD,EAAKlE,KAAOivD,EAAK/qC,OAAOC,MAAMnd,MAAMuf,YAAYvmB,MAG/FovD,mBA5NO,SA4NazV,GAAS,IAAA0V,EAAAznD,KAC3B,OAAO,EAAAsnD,EAAAjtD,SAAO03C,EAAS,SAACh1C,GACtB,IAAMT,EAAOmrD,EAAKnrC,OAAOgE,QAAQ0E,SAASjoB,GAC1C,OAAQT,GAAQA,EAAK8nB,OAAS9nB,EAAKlE,KAAOqvD,EAAKnrC,OAAOC,MAAMnd,MAAMuf,YAAYvmB,MAGlFsvD,aAlOO,SAkOOl7C,GACZ,OAAOxM,KAAKsc,OAAOI,SAAS,cAAelQ,GACxCxR,KAAK,SAACoE,GAAD,OAAW,EAAA6P,EAAA5U,SAAI+E,EAAO,SAEhCuoD,WAtOO,SAsOK7qC,GACV,OAAO9c,KAAKsc,OAAOI,SAAS,aAAcI,IAE5C8qC,aAzOO,SAyOO9qC,GACZ,OAAO9c,KAAKsc,OAAOI,SAAS,eAAgBI,IAE9C+qC,UA5OO,SA4OI/qC,GACT,OAAO9c,KAAKsc,OAAOI,SAAS,YAAaI,IAE3CgrC,YA/OO,SA+OMhrC,GACX,OAAO9c,KAAKsc,OAAOI,SAAS,cAAeI,IAE7CirC,SAlPO,SAkPGnxD,GACR,OAAOA,eAKEurD,oGCvYf/uD,EAAA,yDACAA,EAAA,KAEA,IAAMoxD,EAAe,CACnBjnC,MAAO,CACLyqC,QAAS,CACP1yD,KAAM,CAAC2lC,OAAQtjC,OAAOi/B,SACtBmE,UAAU,GAEZktB,cAAe,CACb3yD,KAAM0lC,SACND,UAAU,GAEZmtB,eAAgB,CACd5yD,KAAMlD,OACNiI,QAFc,WAGZ,MAAO,CACL8tD,YAAa,EACbC,aAAc,EACdC,SAAU,EACV1L,SAAS,EACT2L,UAAU,EACVC,QAAQ,KAIdC,MAAO,CACLlzD,KAAM2lC,OACN5gC,QAAS,6DAEXouD,gBAAiB,CACfnzD,KAAM2lC,QAERytB,+BAAgC,CAC9BpzD,KAAM2lC,QAER0tB,kBAAmB,CACjBrzD,KAAM2lC,SAGVxpC,KArCmB,WAsCjB,MAAO,CACLo0D,aAASlwD,EACTizD,aAASjzD,EACTkzD,cAAUlzD,EACVmzD,YAAY,EACZC,YAAa,OAGjB1sC,SAAU,CACR2sC,SADQ,WAEN,OAAOhpD,KAAKyoD,iBAAmBzoD,KAAKuvB,GAAG,uBAEzC05B,wBAJQ,WAKN,OAAOjpD,KAAK0oD,gCAAkC1oD,KAAKuvB,GAAG,wCAExD25B,WAPQ,WAQN,OAAOlpD,KAAK2oD,mBAAqB3oD,KAAKuvB,GAAG,yBAE3C45B,eAVQ,WAWN,OAAOnpD,KAAK+oD,aAAe/oD,KAAK+oD,uBAAuBh0D,MAAQiL,KAAK+oD,YAAY35C,WAAapP,KAAK+oD,cAGtGvpC,QAAS,CACPswB,QADO,WAED9vC,KAAK6lD,SACP7lD,KAAK6lD,QAAQ/V,UAEf9vC,KAAKgtB,MAAMhb,MAAMpb,MAAQ,GACzBoJ,KAAK4oD,aAAUjzD,EACfqK,KAAK8pB,MAAM,UAEb82B,OATO,WASkB,IAAA7gC,EAAA/f,KAAjBopD,IAAiBnpD,UAAAhO,OAAA,QAAA0D,IAAAsK,UAAA,KAAAA,UAAA,GACvBD,KAAK8oD,YAAa,EAClB9oD,KAAKqpD,kBAAoB,KACzBrpD,KAAKioD,cAAcmB,GAAYppD,KAAK6lD,QAAS7lD,KAAK+H,MAC/C/M,KAAK,kBAAM+kB,EAAK+vB,YAChBx3B,MAAM,SAAC9gB,GACNuoB,EAAKgpC,YAAcvxD,IAEpB8xD,QAAQ,WACPvpC,EAAK+oC,YAAa,KAGxBS,UArBO,WAsBLvpD,KAAKgtB,MAAMhb,MAAMu0B,SAEnBijB,cAxBO,WAyBLxpD,KAAK6lD,QAAU,IAAI4D,UAAQzpD,KAAKgtB,MAAM3B,IAAKrrB,KAAKkoD,iBAElDwB,cA3BO,WA4BL,MAA+B,YAAxB,EAAA36C,EAAA1U,SAAO2F,KAAKgoD,SAAuBhoD,KAAKgoD,QAAU5zD,SAASy7B,cAAc7vB,KAAKgoD,UAEvF2B,SA9BO,WA8BK,IAAAnjC,EAAAxmB,KACJ4pD,EAAY5pD,KAAKgtB,MAAMhb,MAC7B,GAAuB,MAAnB43C,EAAUr2B,OAAuC,MAAtBq2B,EAAUr2B,MAAM,GAAY,CACzDvzB,KAAK+H,KAAO6hD,EAAUr2B,MAAM,GAC5B,IAAI+qB,EAAS,IAAI3mD,OAAO4mD,WACxBD,EAAOppD,OAAS,SAACvB,GACf6yB,EAAKoiC,QAAUj1D,EAAE6B,OAAO1C,OACxB0zB,EAAKsD,MAAM,SAEbw0B,EAAOqH,cAAc3lD,KAAK+H,MAC1B/H,KAAK8pB,MAAM,UAAW9pB,KAAK+H,KAAMu2C,KAGrCx1B,WA3CO,WA4CL9oB,KAAK+oD,YAAc,OAGvB5pC,QA3GmB,WA6GjB,IAAM6oC,EAAUhoD,KAAK0pD,gBAChB1B,EAGHA,EAAQtvC,iBAAiB,QAAS1Y,KAAKupD,WAFvCvpD,KAAK8pB,MAAM,QAAS,+BAAgC,QAKpC9pB,KAAKgtB,MAAMhb,MACnB0G,iBAAiB,SAAU1Y,KAAK2pD,WAE5CE,cAAe,WAEb,IAAM7B,EAAUhoD,KAAK0pD,gBACjB1B,GACFA,EAAQzoC,oBAAoB,QAASvf,KAAKupD,WAE1BvpD,KAAKgtB,MAAMhb,MACnBuN,oBAAoB,SAAUvf,KAAK2pD,sBAIlCnF,iFCrIf,MAAAsF,EAAA12D,EAAA,IAEA,IAAMsxD,EAAY,CAChBnnC,MAAO,CAAC,UACR9rB,KAFgB,WAGd,MAAO,CACL+0C,UAAU,IAGdnqB,SAAU,CACR/f,KADQ,WAEN,OAAO0D,KAAKsc,OAAOgE,QAAQ0E,SAAShlB,KAAKjD,SAE3CgtD,QAJQ,WAKN,OAAO/pD,KAAK1D,KAAKirD,qBAGrBprC,WAAY,CACVq1B,2DAEFhyB,QAAS,CACP9d,YADO,WACQ,IAAAqe,EAAA/f,KACbA,KAAKwmC,UAAW,EAChBxmC,KAAKsc,OAAOI,SAAS,cAAe1c,KAAK1D,KAAKlE,IAAI4C,KAAK,WACrD+kB,EAAKymB,UAAW,KAGpBjlC,UAPO,WAOM,IAAAilB,EAAAxmB,KACXA,KAAKwmC,UAAW,EAChBxmC,KAAKsc,OAAOI,SAAS,YAAa1c,KAAK1D,KAAKlE,IAAI4C,KAAK,WACnDwrB,EAAKggB,UAAW,iBAMTke,iFCpCf,MAAAoF,EAAA12D,EAAA,IAEA,IAAMuxD,EAAW,CACfpnC,MAAO,CAAC,UACR9rB,KAFe,WAGb,MAAO,CACL+0C,UAAU,IAGdnqB,SAAU,CACR/f,KADQ,WAEN,OAAO0D,KAAKsc,OAAOgE,QAAQ0E,SAAShlB,KAAKjD,SAE3CqnB,MAJQ,WAKN,OAAOpkB,KAAK1D,KAAK8nB,QAGrBjI,WAAY,CACVq1B,2DAEFhyB,QAAS,CACP5a,WADO,WACO,IAAAmb,EAAA/f,KACZA,KAAKwmC,UAAW,EAChBxmC,KAAKsc,OAAOI,SAAS,aAAc1c,KAAK1D,KAAKlE,IAAI4C,KAAK,WACpD+kB,EAAKymB,UAAW,KAGpB9hC,SAPO,WAOK,IAAA8hB,EAAAxmB,KACVA,KAAKwmC,UAAW,EAChBxmC,KAAKsc,OAAOI,SAAS,WAAY1c,KAAK1D,KAAKlE,IAAI4C,KAAK,WAClDwrB,EAAKggB,UAAW,iBAMTme,iFCpCf,QAAAvxD,EAAA,UACAA,EAAA,wDAEA,IAAM6uD,EAAiB,CACrB9lC,WAAY,CACV8zB,eACApe,oBAEFtU,MAAO,CACLm0B,MAAO,CACLp8C,KAAM6jB,MACN9e,QAAS,iBAAM,KAEjBs3C,OAAQ,CACNr8C,KAAM0lC,SACN3gC,QAAS,SAAAgwC,GAAA,OAAQA,EAAKjyC,MAG1B3G,KAfqB,WAgBnB,MAAO,CACL8oC,SAAU,KAGdle,SAAU,CACR2tC,QADQ,WAEN,OAAOhqD,KAAK0xC,MAAMp3C,IAAI0F,KAAK2xC,SAE7BsY,iBAJQ,WAIY,IAAAlqC,EAAA/f,KAClB,OAAOA,KAAKgqD,QAAQ/tD,OAAO,SAAA/E,GAAA,OAAuC,IAAhC6oB,EAAKwa,SAASxE,QAAQ7+B,MAE1DgzD,YAPQ,WAQN,OAAOlqD,KAAKiqD,iBAAiBh4D,SAAW+N,KAAK0xC,MAAMz/C,QAErDk4D,aAVQ,WAWN,OAAwC,IAAjCnqD,KAAKiqD,iBAAiBh4D,QAE/Bm4D,aAbQ,WAcN,OAAQpqD,KAAKkqD,cAAgBlqD,KAAKmqD,eAGtC3qC,QAAS,CACP6qC,WADO,SACKhgB,GACV,OAA6D,IAAtDrqC,KAAKiqD,iBAAiBl0B,QAAQ/1B,KAAK2xC,OAAOtH,KAEnDigB,OAJO,SAICx6B,EAASua,GACf,IAAMnzC,EAAM8I,KAAK2xC,OAAOtH,GAEpBva,IADe9vB,KAAKqqD,WAAWnzD,KAE7B44B,EACF9vB,KAAKu6B,SAASpoC,KAAK+E,GAEnB8I,KAAKu6B,SAASpnC,OAAO6M,KAAKu6B,SAASxE,QAAQ7+B,GAAM,KAIvDqzD,UAfO,SAeI3zD,GAEPoJ,KAAKu6B,SADH3jC,EACcoJ,KAAKgqD,QAAQnyD,MAAM,GAEnB,gBAMToqD,2FC/DA,CACb1kC,MAAO,CACL/Q,MAAO,CACLlX,KAAM0lC,SACND,UAAU,GAEZ9+B,OAAQ,CACN3G,KAAM0lC,UAERwvB,YAAa,CACXl1D,KAAM2lC,OACN5gC,QAAS,cAGb5I,KAda,WAeX,MAAO,CACLg5D,KAAM,GACNl2D,QAAS,KACTm2D,QAAS,GACTC,gBAAgB,IAGpBtuC,SAAU,CACRuuC,SADQ,WAEN,OAAO5qD,KAAK/D,OAAS+D,KAAK/D,OAAO+D,KAAK0qD,SAAW1qD,KAAK0qD,UAG1D7pC,MAAO,CACL4pC,KADK,SACChnD,GACJzD,KAAK6qD,aAAapnD,KAGtB+b,QAAS,CACPqrC,aADO,SACOJ,GAAM,IAAA1qC,EAAA/f,KAClB7K,aAAa6K,KAAKzL,SAClByL,KAAKzL,QAAUqB,WAAW,WACxBmqB,EAAK2qC,QAAU,GACXD,GACF1qC,EAAKvT,MAAMi+C,GAAMzvD,KAAK,SAAC0vD,GAAc3qC,EAAK2qC,QAAUA,KAxCjC,MA4CzBI,aAVO,WAWL9qD,KAAK2qD,gBAAiB,GAExB3rB,eAbO,WAcLh/B,KAAK2qD,gBAAiB,oFChD5B,IAAM/F,EAAW,CACfrnC,MAAO,CACL0qC,cAAe,CACb3yD,KAAM0lC,SACND,UAAU,GAEZgwB,kBAAmB,CACjBz1D,KAAM2lC,OACN5gC,QAFiB,WAGf,OAAO2F,KAAKuvB,GAAG,qBAGnBy7B,eAAgB,CACd11D,KAAM2lC,OACN5gC,QAFc,WAGZ,OAAO2F,KAAKuvB,GAAG,sBAGnB0hB,aAAc,CACZ37C,KAAM2lC,OACN5gC,QAFY,WAGV,OAAO2F,KAAKuvB,GAAG,qBAIrB99B,KAzBe,WA0Bb,MAAO,CACLsW,KAAM,KACNjT,OAAO,EACP0sD,SAAS,EACTsH,YAAY,IAGhBtpC,QAAS,CACPma,OADO,WAEL35B,KAAK+H,KAAO/H,KAAKgtB,MAAMhb,MAAMuhB,MAAM,IAErCqtB,OAJO,WAIG,IAAA7gC,EAAA/f,KACRA,KAAKirD,UACLjrD,KAAK8oD,YAAa,EAClB9oD,KAAKioD,cAAcjoD,KAAK+H,MACrB/M,KAAK,WAAQ+kB,EAAKyhC,SAAU,IAC5BlpC,MAAM,WAAQyH,EAAKjrB,OAAQ,IAC3Bw0D,QAAQ,WAAQvpC,EAAK+oC,YAAa,KAEvCmC,QAZO,WAaLjrD,KAAKwhD,SAAU,EACfxhD,KAAKlL,OAAQ,eAKJ8vD,iFCpDf,IAAMC,EAAW,CACftnC,MAAO,CACL2tC,WAAY,CACV51D,KAAM0lC,SACND,UAAU,GAEZ8tB,SAAU,CACRvzD,KAAM2lC,OACN5gC,QAAS,cAEX8wD,kBAAmB,CACjB71D,KAAM2lC,OACN5gC,QAFiB,WAGf,OAAO2F,KAAKuvB,GAAG,qBAGnB67B,kBAAmB,CACjB91D,KAAM2lC,OACN5gC,QAFiB,WAGf,OAAO2F,KAAKuvB,GAAG,0BAIrB99B,KAvBe,WAwBb,MAAO,CACL45D,YAAY,IAGhB7rC,QAAS,CACP8rC,QADO,WACI,IAAAvrC,EAAA/f,KACTA,KAAKqrD,YAAa,EAClBrrD,KAAKkrD,aACFlwD,KAAK,SAACuwD,GACL,IAAMC,EAAiBp3D,SAASC,cAAc,KAC9Cm3D,EAAe/2D,aAAa,OAAQ,iCAAmCiG,mBAAmB6wD,IAC1FC,EAAe/2D,aAAa,WAAYsrB,EAAK8oC,UAC7C2C,EAAe91B,MAAMyoB,QAAU,OAC/B/pD,SAASwG,KAAK9E,YAAY01D,GAC1BA,EAAejlB,QACfnyC,SAASwG,KAAKoe,YAAYwyC,GAE1B51D,WAAW,WAAQmqB,EAAKsrC,YAAa,GAAS,oBAMzCxG,yHC/CfzxD,EAAA,UACAA,EAAA,UACAA,EAAA,UACAA,EAAA,MACAouB,EAAApuB,EAAA,sDAEA,IAAM0xD,EAAM,CACVrzD,KAAM,iBAAO,CACXka,SAAU,CACR8/C,WAAW,EACXC,SAAS,EACTC,MAAM,GAERC,WAAY,CACVrvC,MAAO,GACPsvC,cAAe,IAEjBC,YAAa,CACXC,aAAa,EACbrlB,YAAY,EACZslB,MAAO,IAETC,YAAa,CACXC,iBAAkB,GAClBh1D,IAAK,IAEPi1D,gBAAiB,KACjBC,gBAAiB,KACjBt3D,MAAO,KACPu3D,WAAW,IAEblwC,WAAY,CACVmwC,iBAAkBC,UAClBC,YAAaC,UACbC,OAAUC,UACV77B,QAAW87B,WAEbvwC,wBACEwwC,YADF,WAEI,OACG7sD,KAAK8sD,iBAAmB9sD,KAAK+sD,qBAC5B/sD,KAAK2L,SAAS+/C,WACZ1rD,KAAK2L,SAASggD,OAAS3rD,KAAKgtD,oBAEpCF,gBAPF,WAQI,MAAiC,KAA1B9sD,KAAK4rD,WAAWrvC,OAA0C,aAA1Bvc,KAAK4rD,WAAWrvC,OAEzDywC,mBAVF,WAWI,MAAiC,aAA1BhtD,KAAK4rD,WAAWrvC,QAAyBvc,KAAKitD,cAEvDC,WAbF,WAcI,MAAyC,YAAlCltD,KAAK4rD,WAAWC,eAEzBsB,WAhBF,WAiBI,MAAyC,YAAlCntD,KAAK4rD,WAAWC,eAEzBoB,aAnBF,WAoBI,MAAyC,cAAlCjtD,KAAK4rD,WAAWC,eAEzBkB,oBAtBF,WAuBI,OAAQ/sD,KAAK8rD,YAAYplB,YAAc1mC,KAAK8rD,YAAYE,MAAM/5D,OAAS,GAEzEm7D,sBAzBF,WA0BI,OAAOptD,KAAK8rD,YAAYC,eAEvB,EAAAvqC,EAAAmG,UAAS,CACV0gB,kBAAmB,SAAC9rB,GAAD,OAAWA,EAAMuC,IAAIupB,sBAI5C7oB,QAAS,CACP6tC,YADO,WAEArtD,KAAK2L,SAAS+/C,UACjB1rD,KAAK4rD,WAAWrvC,MAAQ,iBACxBvc,KAAKstD,qBAGTA,iBAPO,WAOa,IAAAvtC,EAAA/f,KAIlB,OAHAA,KAAK8rD,YAAYplB,YAAa,EAC9B1mC,KAAK8rD,YAAYE,MAAQ,GAElBhsD,KAAKqoC,kBAAkBr/B,yBAC3BhO,KAAK,SAAC+rD,GACLhnC,EAAK+rC,YAAYE,MAAQjF,EAAIiF,MAC7BjsC,EAAK+rC,YAAYplB,YAAa,KAGpC6mB,eAjBO,WAkBLvtD,KAAK8rD,YAAYC,aAAc,GAEjCyB,mBApBO,WAoBe,IAAAhnC,EAAAxmB,KACpBA,KAAKstD,mBAAmBtyD,KAAK,SAAC+rD,GAC5BvgC,EAAKslC,YAAYC,aAAc,KAGnC0B,kBAzBO,WA0BLztD,KAAK8rD,YAAYC,aAAc,GAIjC2B,SA9BO,WA8BK,IAAArjC,EAAArqB,KACVA,KAAK4rD,WAAWrvC,MAAQ,WACxBvc,KAAK4rD,WAAWC,cAAgB,UAChC7rD,KAAKqoC,kBAAkBn/B,cACpBlO,KAAK,SAAC+rD,GACL18B,EAAK4hC,YAAclF,EACnB18B,EAAKuhC,WAAWC,cAAgB,aAGtC8B,aAvCO,WAuCS,IAAA18B,EAAAjxB,KACdA,KAAKlL,MAAQ,KACbkL,KAAKqoC,kBAAkBj/B,cAAc,CACnCE,MAAOtJ,KAAKosD,gBACZhkD,SAAUpI,KAAKmsD,kBAEdnxD,KAAK,SAAC+rD,GACDA,EAAIjyD,MACNm8B,EAAKn8B,MAAQiyD,EAAIjyD,MAGnBm8B,EAAK28B,mBAIXA,cAtDO,WAuDL5tD,KAAK4rD,WAAWC,cAAgB,WAChC7rD,KAAK4rD,WAAWrvC,MAAQ,WACxBvc,KAAKmsD,gBAAkB,KACvBnsD,KAAKlL,MAAQ,KACbkL,KAAK6tD,iBAEPC,YA7DO,WA8DL9tD,KAAK4rD,WAAWC,cAAgB,GAChC7rD,KAAK4rD,WAAWrvC,MAAQ,GACxBvc,KAAKmsD,gBAAkB,KACvBnsD,KAAKlL,MAAQ,MAKT+4D,cAtEC,eAAAj0D,GAAA,EAAAmF,EAAA1E,SAAA2E,EAAA3E,QAAA4E,KAAA,SAAAC,IAAA,IAAApM,EAAA,OAAAkM,EAAA3E,QAAAgF,KAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,cAAAF,EAAAE,KAAA,EAuEcQ,KAAKqoC,kBAAkB0lB,mBAvErC,YAuEDj7D,EAvECwM,EAAAI,MAwEM5K,MAxEN,CAAAwK,EAAAE,KAAA,eAAAF,EAAA0uD,OAAA,wBAyELhuD,KAAK2L,SAAW7Y,EAAO6Y,SACvB3L,KAAK2L,SAAS8/C,WAAY,EA1ErBnsD,EAAA0uD,OAAA,SA2EEl7D,GA3EF,wBAAAwM,EAAAO,SAAAX,EAAAc,SAAA,yBAAApG,EAAAhH,MAAAoN,KAAAC,YAAA,IA8ETkf,QA9IU,WA8IC,IAAAinC,EAAApmD,KACTA,KAAK6tD,gBAAgB7yD,KAAK,WACxBorD,EAAKiG,WAAY,gBAIRvH,2FC1JA,CACbvnC,MAAO,CACLuuC,YAAa,CACXx2D,KAAMlD,OACNiI,QAAS,iBAAO,CACdqsC,YAAY,EACZslB,MAAO,OAIbv6D,KAAM,iBAAO,IACb4qB,SAAU,CACRqqB,WADQ,WACQ,OAAO1mC,KAAK8rD,YAAYplB,YACxCoW,MAFQ,WAEG,OAAO98C,KAAK8rD,YAAYE,MAAM/5D,OAAS,GAClDg8D,aAHQ,WAGU,OAAOjuD,KAAK0mC,YAAc1mC,KAAK88C,0GCdrD1pD,EAAA,MACAouB,EAAApuB,EAAA,gEAEe,CACbmqB,MAAO,CAAC,YACR9rB,KAAM,iBAAO,CACXqD,OAAO,EACPq3D,gBAAiB,GACjB+B,YAAY,EACZxnB,YAAY,IAEdvqB,WAAY,CACV2U,QAAW87B,WAEbvwC,wBACE8xC,YADF,WAEI,OAAOnuD,KAAK2L,SAASggD,QAEpB,EAAAnqC,EAAAmG,UAAS,CACV0gB,kBAAmB,SAAC9rB,GAAD,OAAWA,EAAMuC,IAAIupB,sBAG5C7oB,QAAS,CACP4uC,WADO,WAELpuD,KAAK8pB,MAAM,aAEbukC,iBAJO,WAIeruD,KAAKkuD,YAAa,GACxCI,aALO,WAMLtuD,KAAKlL,MAAQ,KACbkL,KAAKkuD,YAAa,GAEpBK,kBATO,WASc,IAAAxuC,EAAA/f,KACnBA,KAAKlL,MAAQ,KACbkL,KAAK0mC,YAAa,EAClB1mC,KAAKqoC,kBAAkBv/B,cAAc,CACnCV,SAAUpI,KAAKmsD,kBAEdnxD,KAAK,SAAC+rD,GACLhnC,EAAK2mB,YAAa,EACdqgB,EAAIjyD,MACNirB,EAAKjrB,MAAQiyD,EAAIjyD,OAGnBirB,EAAKmuC,YAAa,EAClBnuC,EAAK+J,MAAM,6GC5CL,CACdvM,MAAO,CAAC,YACR9rB,KAAM,iBAAO,IACb+tB,QAAS,CACPsR,QADO,WACM9wB,KAAK8pB,MAAM,YACxB0kC,OAFO,WAEKxuD,KAAK8pB,MAAM,4FCL3B,MAAA2kC,EAAAr7D,EAAA,KAEA,IAAMs7D,EAAiB,CACrBvyC,WAAY,CACVwyC,+DAEFtyC,SAAU,CACRuyC,SADQ,WAEN,OAAO5uD,KAAKsc,OAAOC,MAAMuC,IAAI+vC,4BAKpBH,iFCbf,MAAA5E,EAAA12D,EAAA,IAEA,IAAMu7D,EAAoB,CACxBpxC,MAAO,CAAC,QACRpB,WAAY,CACVq1B,2DAEFhyB,QAAS,CACP/V,YADO,WAELzJ,KAAKsc,OAAOC,MAAMuC,IAAIupB,kBAAkB5+B,YAAYzJ,KAAK1D,KAAKlE,IAC9D4H,KAAKsc,OAAOI,SAAS,sBAAuB1c,KAAK1D,OAEnDsN,SALO,WAML5J,KAAKsc,OAAOC,MAAMuC,IAAIupB,kBAAkBz+B,SAAS5J,KAAK1D,KAAKlE,IAC3D4H,KAAKsc,OAAOI,SAAS,sBAAuB1c,KAAK1D,mBAKxCqyD,iFCnBf,MAAAG,EAAA17D,EAAA,yCAEA,IAAM27D,EAAM,CACVxxC,MAAO,CAAC,QACR4B,QAFU,WAEC,IAAAY,EAAA/f,KACT,GAAIA,KAAKob,KAAM,KAAA4zC,EACsBhvD,KAAKsc,OAAOC,MAAM5B,MAA7CT,EADK80C,EACL90C,SAAUC,EADL60C,EACK70C,aAElBQ,UAAMQ,SAAS,CACbjB,WACAC,eACAC,SAAUpa,KAAKsc,OAAOC,MAAMnC,SAASynC,OACrCzmC,KAAMpb,KAAKob,OACVpgB,KAAK,SAAClI,GACPitB,EAAKzD,OAAOrK,OAAO,WAAYnf,EAAOm8D,cACtClvC,EAAKzD,OAAOI,SAAS,YAAa5pB,EAAOm8D,cACzClvC,EAAKwJ,QAAQp3B,KAAK,CAAEgE,KAAM,2BAMnB44D,+FCtBfvtC,EAAApuB,EAAA,OACAA,EAAA,yDAEA,IAAM87D,EAAY,CAChBz9D,KAAM,iBAAO,CACX6K,KAAM,GACNxH,OAAO,IAETunB,wBACE8yC,eADF,WACsB,OAAOnvD,KAAKovD,kBAChCC,YAFF,WAEmB,OAAOrvD,KAAKsvD,iBAC1B,EAAA9tC,EAAAmG,UAAS,CACVs4B,iBAAkB,SAAA1jC,GAAA,OAASA,EAAMnC,SAAS6lC,kBAC1C7lC,SAAU,SAAAmC,GAAA,OAASA,EAAMnC,UACzBm1C,UAAW,SAAAhzC,GAAA,OAASA,EAAMnd,MAAMmwD,WAChC50C,MAAO,SAAA4B,GAAA,OAASA,EAAM5B,UAErB,EAAA6G,EAAAkG,YACD,WAAY,CAAC,mBAAoB,gBAAiB,iBAGtDlI,0BACK,EAAAgC,EAAAguC,cAAa,WAAY,CAAC,gBAC1B,EAAAhuC,EAAAm/B,YAAW,CAAE9lC,MAAO,mBAFzB,CAGE+lC,OAHF,WAII5gD,KAAKqvD,YAAcrvD,KAAKyvD,cAAgBzvD,KAAK0vD,kBAE/CD,YANF,WAMiB,IAAAX,EACsB9uD,KAAK2a,MAClClpB,EAAO,CACXyoB,SAHW40C,EACL50C,SAGNC,aAJW20C,EACK30C,aAIhBC,SAAUpa,KAAKoa,SAASynC,OACxB5vC,OAAQjS,KAAKsc,OAAOrK,QAGtB09C,UAAS11C,eAAexoB,GACrBuJ,KAAK,SAACwf,GAAUm1C,UAAS90C,OAAT,EAAA/f,EAAAT,SAAA,GAAoBmgB,EAAQ/oB,OAEjDi+D,eAlBF,WAkBoB,IAAA3vC,EAAA/f,KAEVvO,EAAO,CACXyoB,SAFmBla,KAAK2a,MAAlBT,SAGNS,MAAO3a,KAAK2a,MACZP,SAAUpa,KAAKoa,SAASynC,OACxB5vC,OAAQjS,KAAKsc,OAAOrK,QAEtBjS,KAAKlL,OAAQ,EAEb66D,UAAS11C,eAAexoB,GAAMuJ,KAAK,SAACwf,GAClCm1C,UAASt0C,yBAAT,EAAAvgB,EAAAT,SAAA,GAEOmgB,EAFP,CAGIJ,SAAU3oB,EAAK2oB,SACfkB,SAAUyE,EAAKzjB,KAAKgf,SACpBlT,SAAU2X,EAAKzjB,KAAK8L,YAEtBpN,KAAK,SAAClI,GACFA,EAAOgC,MACY,iBAAjBhC,EAAOgC,MACTirB,EAAK6vC,WAAW,CAAEp1C,IAAKA,EAAK7O,SAAU7Y,IACP,4BAAtBA,EAAO+8D,WAChB9vC,EAAKwJ,QAAQp3B,KAAK,CAAEgE,KAAM,iBAAkB2D,OAAQ,CAAE6nD,wBAAwB,MAE9E5hC,EAAKjrB,MAAQhC,EAAOgC,MACpBirB,EAAK+vC,wBAIT/vC,EAAKlF,MAAM/nB,GAAQkI,KAAK,WACtB+kB,EAAKwJ,QAAQp3B,KAAK,CAAEgE,KAAM,mBAKlC2yB,WAtDF,WAsDkB9oB,KAAKlL,OAAQ,GAC7Bg7D,qBAvDF,WAwDI,IAAIC,EAAgB/vD,KAAKgtB,MAAM+iC,cAC/BA,EAAc59B,QACd49B,EAAc99B,kBAAkB,EAAG89B,EAAcn5D,MAAM3E,sBAK9Ci9D,mGCpFf97D,EAAA,MACAouB,EAAApuB,EAAA,gEAEe,CACb3B,KAAM,iBAAO,CACX2pB,KAAM,KACNtmB,OAAO,IAETunB,2BACK,EAAAmF,EAAAkG,YAAW,CACZsoC,QAAS,eACTC,aAAc,uBAEb,EAAAzuC,EAAAmG,UAAS,CAAEvN,SAAU,cAE1BoF,0BACK,EAAAgC,EAAAguC,cAAa,WAAY,CAAC,cAAe,cACzC,EAAAhuC,EAAAm/B,YAAW,CAAE9lC,MAAO,mBAFzB,CAGEiO,WAHF,WAGkB9oB,KAAKlL,OAAQ,GAC7B8rD,OAJF,WAIY,IAAA7gC,EAAA/f,KACFvO,EAAO,CACX+oB,IAAKxa,KAAKgwD,QACV51C,SAAUpa,KAAKoa,SAASynC,OACxBrmC,SAAUxb,KAAKiwD,aAAaC,UAC5B90C,KAAMpb,KAAKob,MAGb+0C,UAAO10C,mBAAmBhqB,GAAMuJ,KAAK,SAAClI,GACpC,GAAIA,EAAOgC,MAGT,OAFAirB,EAAKjrB,MAAQhC,EAAOgC,WACpBirB,EAAK3E,KAAO,MAId2E,EAAKlF,MAAM/nB,GAAQkI,KAAK,WACtB+kB,EAAKwJ,QAAQp3B,KAAK,CAAEgE,KAAM,qHCnCpC/C,EAAA,MACAouB,EAAApuB,EAAA,gEACe,CACb3B,KAAM,iBAAO,CACX2pB,KAAM,KACNtmB,OAAO,IAETunB,2BACK,EAAAmF,EAAAkG,YAAW,CACZsoC,QAAS,eACTC,aAAc,uBAEb,EAAAzuC,EAAAmG,UAAS,CAAEvN,SAAU,cAE1BoF,0BACK,EAAAgC,EAAAguC,cAAa,WAAY,CAAC,kBAAmB,cAC7C,EAAAhuC,EAAAm/B,YAAW,CAAE9lC,MAAO,mBAFzB,CAGEiO,WAHF,WAGkB9oB,KAAKlL,OAAQ,GAC7B8rD,OAJF,WAIY,IAAA7gC,EAAA/f,KACFvO,EAAO,CACX+oB,IAAKxa,KAAKgwD,QACV51C,SAAUpa,KAAKoa,SAASynC,OACxBrmC,SAAUxb,KAAKiwD,aAAaC,UAC5B90C,KAAMpb,KAAKob,MAGb+0C,UAAO50C,cAAc9pB,GAAMuJ,KAAK,SAAClI,GAC/B,GAAIA,EAAOgC,MAGT,OAFAirB,EAAKjrB,MAAQhC,EAAOgC,WACpBirB,EAAK3E,KAAO,MAId2E,EAAKlF,MAAM/nB,GAAQkI,KAAK,WACtB+kB,EAAKwJ,QAAQp3B,KAAK,CAAEgE,KAAM,mGClCpC,MAAAi6D,EAAAh9D,EAAA,wCAEA,IAAMi9D,EAAY,CAChB9yC,MAAO,CAAE,YACT9rB,KAFgB,WAGd,MAAO,CACL6+D,eAAgB,GAChBC,QAAS,KACTC,WAAW,IAGfn0C,SAAU,CACRo0C,SADQ,WAEN,OAAOzwD,KAAKsc,OAAOC,MAAMm0C,KAAKD,WAGlCjxC,QAAS,CACPohC,OADO,SACCnrD,GACNuK,KAAKsc,OAAOC,MAAMm0C,KAAKH,QAAQp+D,KAAK,UAAW,CAAEkf,KAAM5b,GAAW,KAClEuK,KAAKswD,eAAiB,IAExBK,YALO,WAML3wD,KAAKwwD,WAAaxwD,KAAKwwD,WAEzBvtC,gBARO,SAQU3mB,GACf,OAAO,EAAA6tB,EAAA9vB,SAAoBiC,EAAKlE,GAAIkE,EAAKgf,SAAUtb,KAAKsc,OAAOC,MAAMnC,SAAS/M,kCAKrEgjD,iFC9Bf,QAAAj9D,EAAA,wDAGA,IAAMw9D,EAAc,CAClBz0C,WAAY,CACVo1B,aAJJn+C,EAAA,MAIIm+C,SAEF9/C,KAJkB,WAKhB,MAAO,CACL2N,MAAO,KAGX+f,QATkB,WAUhBnf,KAAK6wD,kBAEPrxC,QAAS,CACPsxC,gBADO,SACUC,GAAO,IAAAhxC,EAAA/f,KACtB+wD,EAAMvtD,QAAQ,SAACzR,EAAGk9B,GAChBlP,EAAKzD,OAAOC,MAAMuC,IAAIupB,kBAAkBxmC,UAAU,CAAEzJ,GAAIrG,EAAEi/D,OACvDh2D,KAAK,SAACi2D,GACAA,EAAan8D,QAChBirB,EAAKzD,OAAOrK,OAAO,cAAe,CAACg/C,IACnClxC,EAAK3gB,MAAMjN,KAAK8+D,SAK1BJ,eAZO,WAYW,IAAArqC,EAAAxmB,KACVtG,EAAcsG,KAAKsc,OAAOC,MAAMnd,MAAMuf,YAAYjlB,YACpDA,GACF0C,UAAW2N,YAAY,CAAErQ,YAAaA,IACnCsB,KAAK,SAAC+1D,GACLvqC,EAAKsqC,gBAAgBC,kBAOlBH,iFCvCf,QAAAx9D,EAAA,UACAA,EAAA,UACAA,EAAA,UACAA,EAAA,UACAA,EAAA,yDAEA,IAAM89D,EAAQ,CACZ/0C,WAAY,CACVg1C,gCACAC,wBACAC,8BACAC,qBACAC,gCAEFl1C,SAAU,CACRm1C,kBADQ,WACe,OAAOxxD,KAAKsc,OAAOC,MAAMnC,SAASo3C,mBACzD/d,0BAFQ,WAGN,OAAOzzC,KAAKsc,OAAOC,MAAMnC,SAASq5B,4BAC/BzzC,KAAKsc,OAAOgE,QAAQC,aAAakxC,SAClCzxD,KAAKsc,OAAOC,MAAMnC,SAASs3C,0CAKpBR,2FCxBe,CAC5B70C,SAAU,CACRq1C,6BADQ,WAEN,OAAO1xD,KAAKsc,OAAOC,MAAMnC,SAASs3C,yHCHlB,CACpBr1C,SAAU,CACRq0C,KAAM,WAAc,OAAO1wD,KAAKsc,OAAOC,MAAMnC,SAASu3C,eACtDC,OAAQ,WAAc,OAAO5xD,KAAKsc,OAAOC,MAAMnC,SAASy3C,iBACxDC,YAAa,WAAc,OAAO9xD,KAAKsc,OAAOC,MAAMnC,SAAS23C,oBAC7DC,WAAY,WAAc,OAAOhyD,KAAKsc,OAAOC,MAAMnC,SAASyR,qBAC5D+H,kBAAmB,WAAc,OAAO5zB,KAAKsc,OAAOC,MAAMnC,SAASwZ,mBACnEW,UAAW,WAAc,OAAOv0B,KAAKsc,OAAOC,MAAMnC,SAASma,sGCPnC,CAC1BlY,SAAU,CACRkvC,QADQ,WAEN,OAAOvrD,KAAKsc,OAAOC,MAAMnC,SAASsmC,sFCHxC,MAAAoJ,EAAA12D,EAAA,IAEA,IAAMk+D,EAAa,CACjBn1C,WAAY,CACVq1B,2DAEFn1B,SAAU,CACR41C,cADQ,WAEN,OAAOjyD,KAAKsc,OAAOC,MAAMnC,SAAS63C,2BAKzBX,iFCbf,IAEMC,EAAuB,CAC3Bl1C,UAAU,EAHZjpB,EAAA,GAGYu0B,UAAS,CACjBuqC,iBAAkB,SAAA31C,GAAA,OAASA,EAAMnC,SAAS83C,kBAC1CC,YAAa,SAAA51C,GAAA,OAASA,EAAMnC,SAAS83C,iBAAiBE,cACtDC,gBAAiB,SAAA91C,GAAA,OAASA,EAAMnC,SAAS83C,iBAAiBI,WAAWC,QACrEC,gBAAiB,SAAAj2C,GAAA,OAASA,EAAMnC,SAAS83C,iBAAiBI,WAAWr+D,QACrEw+D,oBAAqB,SAAAl2C,GAAA,OAASA,EAAMnC,SAAS83C,iBAAiBQ,uBAC9DC,oBAAqB,SAAAp2C,GAAA,OAASA,EAAMnC,SAAS83C,iBAAiBI,WAAWM,4BACzEC,mBAAoB,SAAAt2C,GAAA,OAASA,EAAMnC,SAAS83C,iBAAiBI,WAAWQ,YACxEC,sBAAuB,SAAAx2C,GAAA,OAASA,EAAMnC,SAAS83C,iBAAiBI,WAAWU,4BAIhEzB,2FCfY,CACzB9/D,KAAM,iBAAO,CACXqD,OAAO,IAETqqB,QAJyB,WAKvBnf,KAAKizD,YAEPzzC,QAAS,CACPyzC,SADO,WACK,IAAAlzC,EAAA/f,KACJgxD,EAAOhxD,KAAKoyB,OAAOt4B,OAAOwhB,SAAW,IAAMtb,KAAKoyB,OAAOt4B,OAAO4sD,SACpE1mD,KAAKsc,OAAOC,MAAMuC,IAAIupB,kBAAkBxmC,UAAU,CAAEzJ,GAAI44D,IACrDh2D,KAAK,SAACi2D,GACL,GAAIA,EAAan8D,MACfirB,EAAKjrB,OAAQ,MACR,CACLirB,EAAKzD,OAAOrK,OAAO,cAAe,CAACg/C,IACnC,IAAM74D,EAAK64D,EAAa74D,GACxB2nB,EAAKwJ,QAAQzC,QAAQ,CACnB3wB,KAAM,wBACN2D,OAAQ,CAAE1B,WAIfkgB,MAAM,WACLyH,EAAKjrB,OAAQ,yGCxBvB1B,EAAA,UACAA,EAAA,UACAA,EAAA,UACAA,EAAA,UACAA,EAAA,UACAA,EAAA,UACAA,EAAA,UACAA,EAAA,UACAA,EAAA,WACAA,EAAA,UACAA,EAAA,WACAA,EAAA,WACAA,EAAA,WACAA,EAAA,OACA8/D,EAAA9/D,EAAA,kEAEe,CACb+C,KAAM,MACNgmB,WAAY,CACVg3C,oBACAC,mBACAhlB,wBACAilB,oBACAlC,gCACAC,wBACAkC,2BACAC,oBACAC,qBACAC,qBACAC,iCACAC,oBACAC,6BACAC,2BAEFpiE,KAAM,iBAAO,CACXqiE,kBAAmB,WACnBC,iBAAiB,EACjBC,aAAcr8D,OAAOs8D,KAAOt8D,OAAOs8D,IAAIC,WACrCv8D,OAAOs8D,IAAIC,SAAS,YAAa,YAC/Bv8D,OAAOs8D,IAAIC,SAAS,oBAAqB,YACzCv8D,OAAOs8D,IAAIC,SAAS,iBAAkB,YACtCv8D,OAAOs8D,IAAIC,SAAS,gBAAiB,YACrCv8D,OAAOs8D,IAAIC,SAAS,eAAgB,cAG1Cz3C,QA7Ba,WA+BXzc,KAAKi/C,MAAMp4C,OAAS7G,KAAKsc,OAAOgE,QAAQC,aAAay+B,kBACrDrnD,OAAO+gB,iBAAiB,SAAU1Y,KAAKm0D,oBAEzCx3C,UAlCa,WAmCXhlB,OAAO4nB,oBAAoB,SAAUvf,KAAKm0D,oBAE5C93C,SAAU,CACRsC,YADQ,WACS,OAAO3e,KAAKsc,OAAOC,MAAMnd,MAAMuf,aAChDpX,WAFQ,WAGN,OAAOvH,KAAK2e,YAAYy1C,kBAAoBp0D,KAAKsc,OAAOC,MAAMnC,SAAS7S,YAEzE8sD,WALQ,WAKQ,OAAOr0D,KAAKg0D,cAAgBh0D,KAAKsc,OAAOC,MAAMnC,SAASk6C,UACvEC,UANQ,WAON,MAAO,CACLzxD,WAAc9C,KAAKq0D,WAAa,SAAW,YAG/CG,cAXQ,WAYN,OAAOx0D,KAAKq0D,WAAa,CACvBI,aAAA,OAAqBz0D,KAAKsc,OAAOC,MAAMnC,SAASs6C,KAAhD,KACE,CACFC,mBAAoB30D,KAAKq0D,WAAa,GAAK,gBAG/CO,YAlBQ,WAmBN,OAAO,EAAAhjD,EAAAvX,SAAc,CACnBw6D,OAAa70D,KAAKsc,OAAOC,MAAMnC,SAAS06C,WAAxC,KACA7gD,QAASjU,KAAK+zD,gBAAkB,EAAI,GACnC/zD,KAAKq0D,WAAa,GAAK,CACxBM,mBAAoB30D,KAAKq0D,WAAa,GAAK,iBAG/CK,KA1BQ,WA0BE,OAAO10D,KAAKsc,OAAOC,MAAMnC,SAASs6C,MAC5CK,QA3BQ,WA4BN,MAAO,CACLC,mBAAA,OAA2Bh1D,KAAKuH,WAAhC,MAGJ0tD,WAhCQ,WAiCN,MAAO,CACLC,0BAAA,OAAkCl1D,KAAKuH,WAAvC,MAGJ4tD,SArCQ,WAqCM,OAAOn1D,KAAKsc,OAAOC,MAAMnC,SAASjkB,MAChDu6D,KAtCQ,WAsCE,MAAgD,WAAzC1wD,KAAKsc,OAAOC,MAAMm0C,KAAKH,QAAQh0C,OAChDw1C,mBAvCQ,WAuCgB,OAAO/xD,KAAKsc,OAAOC,MAAMnC,SAAS23C,oBAC1Dte,0BAxCQ,WAyCN,OAAOzzC,KAAKsc,OAAOC,MAAMnC,SAASq5B,4BAC/BzzC,KAAKsc,OAAOgE,QAAQC,aAAakxC,SAClCzxD,KAAKsc,OAAOC,MAAMnC,SAASs3C,8BAE/BF,kBA7CQ,WA6Ce,OAAOxxD,KAAKsc,OAAOC,MAAMnC,SAASo3C,mBACzD4D,eA9CQ,WA8CY,OAAOp1D,KAAKsc,OAAOC,MAAMpF,UAAUk+C,eAEzD71C,QAAS,CACP81C,YADO,WAEL39D,OAAO49D,SAAS,EAAG,IAErBtO,OAJO,WAKLjnD,KAAKupB,QAAQzC,QAAQ,gBACrB9mB,KAAKsc,OAAOI,SAAS,WAEvB84C,mBARO,SAQap2C,GAClBpf,KAAK+zD,gBAAkB30C,GAEzB+0C,kBAXO,WAYL,IAAMkB,GAAe,EAAAnC,EAAAuC,gBAAiB,IACtBJ,IAAiBr1D,KAAKo1D,gBAEpCp1D,KAAKsc,OAAOI,SAAS,kBAAmB24C,uGCpHhDjiE,EAAA,UACAA,EAAA,UACAA,EAAA,KACAouB,EAAApuB,EAAA,sDAEA,IAAM+/D,EAAY,CAChB92C,wBACE6jC,SADF,WACgB,OAAOlgD,KAAK1D,QACvB,EAAAklB,EAAAmG,UAAS,CAAErrB,KAAM,SAAAigB,GAAA,OAASA,EAAMnd,MAAMuf,gBAE3CxC,WAAY,CACVu5C,mBACAvtC,yBACAE,+BAIW8qC,2FCjBE,CACf12C,QADe,WAETzc,KAAK2e,aAAe3e,KAAK2e,YAAY8jC,QACvCziD,KAAKsc,OAAOI,SAAS,+BAGzBL,SAAU,CACRsC,YADQ,WAEN,OAAO3e,KAAKsc,OAAOC,MAAMnd,MAAMuf,aAEjC+xC,KAJQ,WAKN,OAAO1wD,KAAKsc,OAAOC,MAAMm0C,KAAKH,SAEhCoF,mBAPQ,WAQN,OAAO31D,KAAKsc,OAAOC,MAAMuC,IAAI+vC,eAAe58D,yFCdlD,IAAMohE,EAAY,CAChB5hE,KAAM,iBAAO,CACXqgD,gBAAYn8C,EACZypB,QAAQ,EACRtqB,OAAO,EACPurB,SAAS,IAEXQ,MAAO,CACLuR,OAAU,SAAUwjC,GACC,WAAfA,EAAMz/D,OACR6J,KAAK8xC,WAAa8jB,EAAMppD,MAAMA,SAIpCgT,QAAS,CACP2J,KADO,SACD2oB,GACJ9xC,KAAKupB,QAAQp3B,KAAK,CAAEgE,KAAM,SAAUqW,MAAO,CAAEA,MAAOslC,KACpD9xC,KAAKgtB,MAAMolB,YAAYjgB,SAEzB/F,aALO,WAKS,IAAArM,EAAA/f,KACdA,KAAKof,QAAUpf,KAAKof,OACpBpf,KAAK8pB,MAAM,UAAW9pB,KAAKof,QAC3Bpf,KAAK22B,UAAU,WACR5W,EAAKX,QACRW,EAAKiN,MAAMolB,YAAYjgB,uBAOlBkhC,qGC/BfjgE,EAAA,SACAA,EAAA,wDAwBA,SAASy9D,EAAgB57C,GACvB,IAAIvb,EAAcub,EAAMqH,OAAOC,MAAMnd,MAAMuf,YAAYjlB,YACnDA,IACFub,EAAM4gD,cAAcryD,QAAQ,SAAAsyD,GAC1BA,EAAS3/D,KAAO,eAElBiG,UAAW2N,YAAY,CAAErQ,YAAaA,IACnCsB,KAAK,SAAC+1D,IA5Bb,SAA0B97C,EAAO87C,GAC/B,IAAMgF,GAAW,EAAAC,EAAA37D,SAAQ02D,GAEzB97C,EAAM4gD,cAAcryD,QAAQ,SAACsyD,EAAU7mC,GACrC,IAAI3yB,EAAOy5D,EAAS9mC,GAChB5D,EAAM/uB,EAAK8K,QAAU,kBACrBjR,EAAOmG,EAAK00D,KAEhB8E,EAASzqC,IAAMA,EACfyqC,EAAS3/D,KAAOA,EAEhB8e,EAAMqH,OAAOC,MAAMuC,IAAIupB,kBAAkBxmC,UAAU,CAAEzJ,GAAIjC,IACtD6E,KAAK,SAACi2D,GACAA,EAAan8D,QAChBmgB,EAAMqH,OAAOrK,OAAO,cAAe,CAACg/C,IACpC6E,EAAS19D,GAAK64D,EAAa74D,QAc7B04D,CAAgB77C,EAAO87C,MAK/B,IAAMuC,EAAmB,CACvB7hE,KAAM,iBAAO,CACXokE,cAAe,IAAI18C,MAAM,GAAG88C,OAAO37D,IAAI,SAAA+Y,GAAA,MACrC,CACEgY,IAAK,kBACLl1B,KAAM,GACNiC,GAAI,OAIVikB,SAAU,CACR/f,KAAM,WACJ,OAAO0D,KAAKsc,OAAOC,MAAMnd,MAAMuf,YAAYhZ,aAE7CosD,mBAJQ,WAKN,OAAO/xD,KAAKsc,OAAOC,MAAMnC,SAAS23C,qBAGtCvyC,QAAS,CACPyD,gBADO,SACU7qB,EAAIjC,GACnB,OAAO,EAAAg0B,EAAA9vB,SAAoBjC,EAAIjC,EAAM6J,KAAKsc,OAAOC,MAAMnC,SAAS/M,uBAGpEwT,MAAO,CACLvkB,KAAM,SAAUA,EAAM45D,GAChBl2D,KAAK+xD,oBACPlB,EAAe7wD,QAIrBmf,QACE,WACMnf,KAAK+xD,oBACPlB,EAAe7wD,kBAKRszD,iFC5Ef,QAAAlgE,EAAA,UACAA,EAAA,UACAA,EAAA,UACAA,EAAA,SACAA,EAAA,yDAEA,IAAMogE,EAAa,CACjBr3C,WAAY,CACVqP,qBACAC,0BACA0qC,iBAEF95C,SAAU,CACR+5C,QADQ,WAEN,OAAOp2D,KAAKsc,OAAOC,MAAM85C,YAAYC,WAEvC74D,MAJQ,WAKN,OAAOuC,KAAKsc,OAAOC,MAAM85C,YAAY54D,OAEvC84D,aAPQ,WAQN,OAAOv2D,KAAKsc,OAAOC,MAAM85C,YAAYE,cAEvCC,aAVQ,WAWN,OAAOx2D,KAAKvC,MAAMuC,KAAKu2D,eAEzBE,YAbQ,WAcN,OAAOz2D,KAAKvC,MAAMxL,OAAS,GAE7BqD,KAhBQ,WAiBN,OAAO0K,KAAKw2D,aAAejmD,UAAgBH,SAASpQ,KAAKw2D,aAAanmD,UAAY,OAGtFoM,QA1BiB,WA2Bfzc,KAAK02D,uBAAyBC,UAAeC,aAC3CD,UAAeE,gBACf72D,KAAK82D,OACL,IAEF92D,KAAK+2D,sBAAwBJ,UAAeC,aAC1CD,UAAeK,eACfh3D,KAAKi3D,OACL,KAGJz3C,QAAS,CACP03C,gBADO,SACUvjE,GACfgjE,UAAeQ,WAAWxjE,EAAGqM,KAAK02D,wBAClCC,UAAeQ,WAAWxjE,EAAGqM,KAAK+2D,wBAEpCK,eALO,SAKSzjE,GACdgjE,UAAeU,YAAY1jE,EAAGqM,KAAK02D,wBACnCC,UAAeU,YAAY1jE,EAAGqM,KAAK+2D,wBAErCO,KATO,WAULt3D,KAAKsc,OAAOI,SAAS,qBAEvBo6C,OAZO,WAaL,GAAI92D,KAAKy2D,YAAa,CACpB,IAAMc,EAAkC,IAAtBv3D,KAAKu2D,aAAqBv2D,KAAKvC,MAAMxL,OAAS,EAAK+N,KAAKu2D,aAAe,EACzFv2D,KAAKsc,OAAOI,SAAS,aAAc1c,KAAKvC,MAAM85D,MAGlDN,OAlBO,WAmBL,GAAIj3D,KAAKy2D,YAAa,CACpB,IAAMe,EAAYx3D,KAAKu2D,eAAiBv2D,KAAKvC,MAAMxL,OAAS,EAAI,EAAK+N,KAAKu2D,aAAe,EACzFv2D,KAAKsc,OAAOI,SAAS,aAAc1c,KAAKvC,MAAM+5D,MAGlDC,iBAxBO,SAwBW9jE,GACZqM,KAAKo2D,SAAyB,KAAdziE,EAAE+jE,SACpB13D,KAAKs3D,QAGTK,mBA7BO,SA6BahkE,GACbqM,KAAKo2D,UAIQ,KAAdziE,EAAE+jE,QACJ13D,KAAKi3D,SACkB,KAAdtjE,EAAE+jE,SACX13D,KAAK82D,YAIX33C,QA/EiB,WAgFf/qB,SAASskB,iBAAiB,QAAS1Y,KAAKy3D,kBACxCrjE,SAASskB,iBAAiB,UAAW1Y,KAAK23D,qBAE5Ch7C,UAnFiB,WAoFfvoB,SAASmrB,oBAAoB,QAASvf,KAAKy3D,kBAC3CrjE,SAASmrB,oBAAoB,UAAWvf,KAAK23D,gCAIlCnE,2FCnFf,CACAj2C,MAAA,CACAq6C,OAAA,CACAtiE,KAAA6lC,QACA9gC,SAAA,oFChBA,QAAAjH,EAAA,KACAi7C,EAAAj7C,EAAA,SACAA,EAAA,yDAEA,IAAMqgE,EAAa,CACjBl2C,MAAO,CAAE,UACT9rB,KAAM,iBAAO,CACXomE,QAAQ,EACRC,kBAAcniE,IAEhB8mB,QANiB,WAOfzc,KAAK83D,aAAenB,UAAeC,aAAaD,UAAeK,eAAgBh3D,KAAK+3D,cAEhF/3D,KAAK2e,aAAe3e,KAAK2e,YAAY8jC,QACvCziD,KAAKsc,OAAOI,SAAS,+BAGzBP,WAAY,CAAEkM,oBACdhM,SAAU,CACRsC,YADQ,WAEN,OAAO3e,KAAKsc,OAAOC,MAAMnd,MAAMuf,aAEjC+xC,KAJQ,WAIE,MAAgD,WAAzC1wD,KAAKsc,OAAOC,MAAMm0C,KAAKH,QAAQh0C,OAChDkyB,oBALQ,WAMN,OAAO,EAAAJ,EAAAK,8BAA6B1uC,KAAKsc,SAE3C07C,yBARQ,WASN,OAAOh4D,KAAKyuC,oBAAoBx8C,QAElC8/D,mBAXQ,WAYN,OAAO/xD,KAAKsc,OAAOC,MAAMnC,SAAS23C,oBAEpC2C,KAdQ,WAeN,OAAO10D,KAAKsc,OAAOC,MAAMnC,SAASs6C,MAEpCS,SAjBQ,WAkBN,OAAOn1D,KAAKsc,OAAOC,MAAMnC,SAASjkB,MAEpCw/D,mBApBQ,WAqBN,OAAO31D,KAAKsc,OAAOC,MAAMuC,IAAI+vC,eAAe58D,SAGhDutB,QAAS,CACPu4C,aADO,WAEL/3D,KAAK63D,QAAU73D,KAAK63D,QAEtBI,SAJO,WAKLj4D,KAAKinD,SACLjnD,KAAK+3D,gBAEPG,WARO,SAQKvkE,GACVgjE,UAAeQ,WAAWxjE,EAAGqM,KAAK83D,eAEpCK,UAXO,SAWIxkE,GACTgjE,UAAeU,YAAY1jE,EAAGqM,KAAK83D,2BAK1BrE,oICzDf,IAAMC,EAAyB,CAC7BjiE,KAD6B,WAE3B,MAAO,CACL2tB,QAAQ,EACRg5C,eAAe,EACfC,aAAa,EACbC,aAAc,EACdC,eAAgB,IAGpB97C,QAV6B,WAWvBzc,KAAKw4D,4BACPx4D,KAAKy4D,qCAEP9gE,OAAO+gB,iBAAiB,SAAU1Y,KAAK04D,YAEzC/7C,UAhB6B,WAiBvB3c,KAAKw4D,4BACPx4D,KAAK24D,uCAEPhhE,OAAO4nB,oBAAoB,SAAUvf,KAAK04D,YAE5Cr8C,SAAU,CACRu8C,WADQ,WAEN,QAAS54D,KAAKsc,OAAOC,MAAMnd,MAAMuf,aAEnCk6C,SAJQ,WAKN,OAAO74D,KAAKw4D,6BAA+Bx4D,KAAKof,QAAUpf,KAAKq4D,cAEjEG,2BAPQ,WAQN,QAASx4D,KAAKsc,OAAOgE,QAAQC,aAAai4C,6BAG9C33C,MAAO,CACL23C,2BAA4B,SAAUM,GAChCA,EACF94D,KAAKy4D,qCAELz4D,KAAK24D,yCAIXn5C,QAAS,CACPi5C,mCADO,WAEL9gE,OAAO+gB,iBAAiB,SAAU1Y,KAAK+4D,mBACvCphE,OAAO+gB,iBAAiB,SAAU1Y,KAAKg5D,kBAEzCL,qCALO,WAMLhhE,OAAO4nB,oBAAoB,SAAUvf,KAAK+4D,mBAC1CphE,OAAO4nB,oBAAoB,SAAUvf,KAAKg5D,kBAE5CC,aATO,WAULj5D,KAAKsc,OAAOI,SAAS,wBAEvBg8C,UAZO,WAqBL,IAAMQ,EAAavhE,OAAOwhE,WAAa,IACjCC,EAAmBF,GAAcvhE,OAAOgpB,YAAc,IAGtD04C,GADeH,GAAcvhE,OAAOwhE,WAAa,KACdxhE,OAAOgpB,YAAc,IAE5D3gB,KAAKq4D,eADHe,IAAoBC,IAM1BN,mBAAmB,EAAAO,EAAAj/D,SAAS,WACtB1C,OAAO4/B,QAAUv3B,KAAKs4D,aACxBt4D,KAAKof,QAAS,EAEdpf,KAAKof,QAAS,EAEhBpf,KAAKs4D,aAAe3gE,OAAO4/B,SAC1B,IAAK,CAAEgiC,SAAS,EAAMC,UAAU,IAEnCR,iBAAiB,EAAAM,EAAAj/D,SAAS,WACxB2F,KAAKof,QAAS,EACdpf,KAAKs4D,aAAe3gE,OAAO4/B,SAC1B,IAAK,CAAEgiC,SAAS,EAAOC,UAAU,gBAIzB9F,iFC5Ff,QAAAtgE,EAAA,UACAA,EAAA,MACAi7C,EAAAj7C,EAAA,SACAA,EAAA,yDAEA,IAAMugE,EAAY,CAChBx3C,WAAY,CACVs3C,qBACArlB,yBAEF38C,KAAM,iBAAO,CACXgoE,+BAA2B9jE,EAC3B+jE,mBAAmB,IAErBj9C,QATgB,WAUdzc,KAAKy5D,0BAA4B9C,UAAeC,aAC9CD,UAAeE,gBACf72D,KAAK25D,yBACL,KAGJt9C,SAAU,CACRsC,YADQ,WAEN,OAAO3e,KAAKsc,OAAOC,MAAMnd,MAAMuf,aAEjC8vB,oBAJQ,WAKN,OAAO,EAAAJ,EAAAK,8BAA6B1uC,KAAKsc,SAE3C07C,yBAPQ,WAQN,OAAOh4D,KAAKyuC,oBAAoBx8C,QAElCkjE,SAVQ,WAUM,OAAOn1D,KAAKsc,OAAOC,MAAMnC,SAASjkB,OAElDqpB,QAAS,CACPo6C,oBADO,WAEL55D,KAAKgtB,MAAM6sC,WAAW9B,gBAExB+B,wBAJO,WAKL95D,KAAK05D,mBAAoB,GAE3BC,yBAPO,WAQD35D,KAAK05D,oBAGP15D,KAAK05D,mBAAoB,EACzB15D,KAAKiK,4BAGT8vD,wBAfO,SAekBpmE,GACvBgjE,UAAeQ,WAAWxjE,EAAGqM,KAAKy5D,4BAEpCO,uBAlBO,SAkBiBrmE,GACtBgjE,UAAeU,YAAY1jE,EAAGqM,KAAKy5D,4BAErCnE,YArBO,WAsBL39D,OAAO49D,SAAS,EAAG,IAErBtO,OAxBO,WAyBLjnD,KAAKupB,QAAQzC,QAAQ,gBACrB9mB,KAAKsc,OAAOI,SAAS,WAEvBzS,wBA5BO,WA6BLjK,KAAKgtB,MAAMzvB,cAAcwxC,cAE3B3O,SA/BO,SAAAxmC,GA+B0D,IAAAqgE,EAAArgE,EAArDpE,OAAU0rB,EAA2C+4C,EAA3C/4C,UAAW0f,EAAgCq5B,EAAhCr5B,aAAcjJ,EAAkBsiC,EAAlBtiC,aACzC33B,KAAKsc,OAAOgE,QAAQC,aAAaC,UAAYU,EAAY0f,GAAgBjJ,GAC3E33B,KAAKgtB,MAAMzvB,cAAcyxC,4BAI/BnuB,MAAO,CACLuR,OADK,WAIHpyB,KAAK25D,wCAKIhG,iFC9Ef,QAAAvgE,EAAA,SACAA,EAAA,UACAA,EAAA,SACAA,EAAA,yDAEA,IAAMwgE,EAAqB,CACzBz3C,WAAY,CACVqC,iBACAyxB,eACApe,mBACAskC,iBAEF1kE,KAPyB,WAQvB,MAAO,CACL4Z,QAAS,GACTC,SAAS,EACT4uD,kBAAmB,GACnB7O,YAAY,EACZv2D,OAAO,IAGXunB,SAAU,CACRu8C,WADQ,WAEN,QAAS54D,KAAKsc,OAAOC,MAAMnd,MAAMuf,aAEnCi5C,OAJQ,WAKN,OAAO53D,KAAK44D,YAAc54D,KAAKsc,OAAOC,MAAM49C,QAAQC,gBAEtDr9D,OAPQ,WAQN,OAAOiD,KAAKsc,OAAOC,MAAM49C,QAAQp9D,QAEnCT,KAVQ,WAWN,OAAO0D,KAAKsc,OAAOgE,QAAQ0E,SAAShlB,KAAKjD,SAE3Cs9D,eAbQ,WAcN,OAAQr6D,KAAK1D,KAAKmqD,UAAYzmD,KAAK1D,KAAKqJ,YAAY20D,OAAOt6D,KAAK1D,KAAKqJ,YAAYowB,QAAQ,KAAO,IAElG1pB,SAhBQ,WAiBN,OAAOrM,KAAKsc,OAAOC,MAAM49C,QAAQ9tD,WAGrCwU,MAAO,CACL9jB,OAAQ,cAEVyiB,QAAS,CACP+6C,WADO,WAGLv6D,KAAKqL,QAAU,GACfrL,KAAKsL,SAAU,EACftL,KAAKk6D,kBAAoB,GACzBl6D,KAAKqrD,YAAa,EAClBrrD,KAAKlL,OAAQ,GAEf0lE,WATO,WAULx6D,KAAKsc,OAAOI,SAAS,4BAEvBxR,WAZO,WAYO,IAAA6U,EAAA/f,KACZA,KAAKqrD,YAAa,EAClBrrD,KAAKlL,OAAQ,EACb,IAAMgF,EAAS,CACbiD,OAAQiD,KAAKjD,OACbsO,QAASrL,KAAKqL,QACdC,QAAStL,KAAKsL,QACdF,UAAWpL,KAAKk6D,mBAElBl6D,KAAKsc,OAAOC,MAAMuC,IAAIupB,kBAAkBn9B,WAAWpR,GAChDkB,KAAK,WACJ+kB,EAAKsrC,YAAa,EAClBtrC,EAAKw6C,aACLx6C,EAAKy6C,eAENliD,MAAM,WACLyH,EAAKsrC,YAAa,EAClBtrC,EAAKjrB,OAAQ,KAGnBg0B,WAhCO,WAiCL9oB,KAAKlL,OAAQ,GAEf2lE,UAnCO,SAmCIjrC,GACT,OAAqD,IAA9CxvB,KAAKk6D,kBAAkBnkC,QAAQvG,IAExCkrC,aAtCO,SAsCO5qC,EAASN,GACjBM,IAAY9vB,KAAKy6D,UAAUjrC,KAI3BM,EACF9vB,KAAKk6D,kBAAkB/nE,KAAKq9B,GAE5BxvB,KAAKk6D,kBAAkB/mE,OAAO6M,KAAKk6D,kBAAkBnkC,QAAQvG,GAAW,KAG5EsC,OAjDO,SAiDCn+B,GACN,IAAM6B,EAAS7B,EAAE6B,QAAU7B,EACrB6B,aAAkBmC,OAAOi/B,UAE/BphC,EAAOkgC,MAAMvV,OAAS,OACtB3qB,EAAOkgC,MAAMvV,OAAY3qB,EAAOmiC,aAAhC,KACqB,KAAjBniC,EAAOoB,QACTpB,EAAOkgC,MAAMvV,OAAS,oBAMfyzC,iFC3Gf,QAAAxgE,EAAA,UACAA,EAAA,UACAA,EAAA,wDAEA,IAAMygE,EAAkB,CACtB13C,WAAY,CACVgM,yBACAguC,iBAEF1kE,KALsB,WAMpB,MAAO,CACLkpE,eAAe,IAGnBt+C,SAAU,CACRu8C,WADQ,WAEN,QAAS54D,KAAKsc,OAAOC,MAAMnd,MAAMuf,aAEnCy7C,eAJQ,WAKN,OAAOp6D,KAAKsc,OAAOC,MAAM5Z,WAAWy3D,gBAEtCQ,cAPQ,WAQN,OAAO56D,KAAK44D,aAAe54D,KAAK26D,eAAiB36D,KAAKo6D,gBAExDtgE,OAVQ,WAWN,OAAOkG,KAAKsc,OAAOC,MAAM5Z,WAAW7I,QAAU,KAGlD+mB,MAAO,CACL/mB,OADK,SACGkzC,EAAQC,GAAQ,IAAAltB,EAAA/f,MAClB,EAAA6vC,EAAAx1C,SAAI2yC,EAAQ,qBAAsB,EAAA6C,EAAAx1C,SAAI4yC,EAAQ,oBAChDjtC,KAAK26D,eAAgB,EACrB36D,KAAK22B,UAAU,WACb5W,EAAK46C,eAAgB,MAI3BC,cATK,SASUn3D,GAAK,IAAA+iB,EAAAxmB,KACdyD,GACFzD,KAAK22B,UAAU,kBAAMnQ,EAAK/F,KAAO+F,EAAK/F,IAAIoP,cAAc,YAAYsC,YAI1E3S,QAAS,CACPg7C,WADO,WAELx6D,KAAKsc,OAAOI,SAAS,qCAKZm3C,iFClDf,MAAAtf,EAAAnhD,EAAA,wCAEAA,EAAA,eAEeynE,UAAIC,UAAU,eAAgB,CAC3C3kE,KAAM,cACNonB,MAAO,CACLw9C,kBAAmB,CACjBhgC,UAAU,EACVzlC,KAAM6lC,QACN9gC,SAAS,GAEX2gE,SAAU,CACRjgC,UAAU,EACVzlC,KAAM0lC,SACN3gC,aAAS1E,GAEX0uD,UAAW,CACTtpB,UAAU,EACVzlC,KAAM2lC,OACN5gC,aAAS1E,GAEXslE,eAAgB,CACdlgC,UAAU,EACVzlC,KAAM6lC,QACN9gC,SAAS,IAGb5I,KAxB2C,WAyBzC,MAAO,CACLypE,OAAQl7D,KAAKw8B,OAAOniC,QAAQ8gE,UAAU,SAAAj/D,GAAA,OAAKA,EAAExD,QAGjD2jB,SAAU,CACR++C,YADQ,WACO,IAAAr7C,EAAA/f,KAEb,OAAIA,KAAKqkD,UACArkD,KAAKw8B,OAAOniC,QAAQ8gE,UAAU,SAAA1+B,GAAA,OAAQ1c,EAAKskC,YAAc5nB,EAAKvlC,MAE9D8I,KAAKk7D,SAIlBre,aAvC2C,WAwCrB78C,KAAKw8B,OAAOniC,QAAQ2F,KAAKk7D,QAC5BxiE,MACfsH,KAAKk7D,OAASl7D,KAAKw8B,OAAOniC,QAAQ8gE,UAAU,SAAAj/D,GAAA,OAAKA,EAAExD,QAGvD8mB,QAAS,CACP2nC,YADO,SACMl4B,GAAO,IAAAzI,EAAAxmB,KAClB,OAAO,SAACrM,GACNA,EAAE21B,iBAC2B,mBAAlB9C,EAAKw0C,UACdx0C,EAAKw0C,SAASzoE,KAAK,KAAMi0B,EAAKgW,OAAOniC,QAAQ40B,GAAO/3B,KAEtDsvB,EAAK00C,OAASjsC,KAIpBosC,OAxD2C,SAwDnCC,GAAG,IAAAjxC,EAAArqB,KACHu7D,EAAOv7D,KAAKw8B,OAAOniC,QACtBC,IAAI,SAACmiC,EAAMxN,GACV,GAAKwN,EAAK/jC,IAAV,CACA,IAAM8iE,EAAa,CAAC,OACdC,EAAiB,CAAC,eAMxB,OAJIpxC,EAAK+wC,cAAgBnsC,IACvBusC,EAAWrpE,KAAK,UAChBspE,EAAetpE,KAAK,WAElBsqC,EAAKhrC,KAAKiqE,MAAMnvC,MAEhB+uC,EAAA,OAAKK,MAAOF,EAAe9gE,KAAK,MAAhC,CACE2gE,EAAA,UAAAI,MAAA,CACEp1B,SAAU7J,EAAKhrC,KAAKiqE,MAAMp1B,UAD5Bs1B,GAAA,CAAAr1B,MAEWlc,EAAK88B,YAAYl4B,IAC1B0sC,MAAOH,EAAW7gE,KAAK,MAHzB,CAIE2gE,EAAA,OAAAI,MAAA,CAAKhnE,IAAK+nC,EAAKhrC,KAAKiqE,MAAMnvC,MAAOqa,MAAOnK,EAAKhrC,KAAKiqE,MAAM,oBACvDj/B,EAAKhrC,KAAKiqE,MAAM50B,MAAQ,GAAKrK,EAAKhrC,KAAKiqE,MAAM50B,UAMpDw0B,EAAA,OAAKK,MAAOF,EAAe9gE,KAAK,MAAhC,CACE2gE,EAAA,UAAAI,MAAA,CACEp1B,SAAU7J,EAAKhrC,KAAKiqE,MAAMp1B,UAD5Bs1B,GAAA,CAAAr1B,MAEWlc,EAAK88B,YAAYl4B,IAC1B0sC,MAAOH,EAAW7gE,KAAK,MAHzB,CAIG8hC,EAAKhrC,KAAKiqE,MAAM50B,aAKrB+0B,EAAW77D,KAAKw8B,OAAOniC,QAAQC,IAAI,SAACmiC,EAAMxN,GAC9C,GAAKwN,EAAK/jC,IAAV,CACA,IAAMwiE,EAAS7wC,EAAK+wC,cAAgBnsC,EACpC,OAAI5E,EAAK0wC,kBACAG,EACHI,EAAA,OAAKK,MAAM,UAAX,CAAqBl/B,IACrB6+B,EAAA,OAAKK,MAAM,WAEVL,EAAA,OAAKK,MAAOT,EAAS,SAAW,UAAhC,CAA4Cz+B,OAGrD,OACE6+B,EAAA,OAAKK,MAAM,gBAAX,CACEL,EAAA,OAAKK,MAAM,QAAX,CACGJ,IAEHD,EAAA,OAAKK,MAAO,YAAc37D,KAAKi7D,eAAiB,mBAAqB,KAArE,CACGY,qNChHXtnB,EAAAnhD,EAAA,IACAohD,EAAAphD,EAAA,uDAEA,IAAM0oE,GAAiBnkE,OAAOokE,UAAUhd,UAAY,MAAM5wC,MAAM,KAAK,GAExD6tD,iBAAe,CAC1BnpD,OAAQ,GACR4+C,SAAS,EAETwK,oBAAgBtmE,EAChBssB,gCAA4BtsB,EAC5BimC,UAAU,EACV7Y,iBAAiB,EACjBC,uBAAuB,EACvBkD,cAAe,GACfiF,UAAU,EACVC,cAAc,EACdkC,WAAW,EACXI,qBAAqB,EACrBlN,UAAU,EACVO,WAAW,EACXm7C,cAAc,EACd1D,4BAA4B,EAC5Bp3C,kBAAkB,EAClBwL,UAAU,EACV3H,gBAAiB,MACjBmvB,uBAAwB,CACtBpG,SAAS,EACTtb,UAAU,EACVypC,OAAO,EACPC,SAAS,GAEXC,sBAAsB,EACtBl6C,UAAW,GACXQ,UAAW,GACXq8B,kBAAmB8c,EACnB3mC,iBAAiB,EACjB9C,eAAW18B,EACXmwB,yBAAqBnwB,EACrBi/B,4BAAwBj/B,EACxBq9B,qBAAiBr9B,EACjBi+B,uBAAmBj+B,EAEnB4uB,0BAAsB5uB,EACtB0wB,mBAAmB,EACnBgG,iBAAiB,EACjBsd,eAAe,EACfhjB,eAAWhxB,EACX8xB,mBAAe9xB,EACf2mE,mBAAe3mE,GAIJk+C,+BAA4B,EAAAz5C,EAAAC,SAAe2hE,GACrD//D,OAAO,SAAArC,GAAA,IAAAW,GAAA,EAAAE,EAAAJ,SAAAT,EAAA,GAAAW,EAAA,eAA4B5E,IAA5B4E,EAAA,KACPD,IAAI,SAAAE,GAAA,IAAAkR,GAAA,EAAAjR,EAAAJ,SAAAG,EAAA,GAAEtD,EAAFwU,EAAA,GAAAA,EAAA,UAAkBxU,IAEnBqlE,EAAS,CACbhgD,MAAOy/C,EACP17C,QAAS,CACPC,aADO,SACOhE,EAAO+D,EAASk8C,EAAWC,GAAa,IAC5CriD,EAAaoiD,EAAbpiD,SACR,SAAAsiD,EAAAriE,SAAA,GACKkiB,EACAs3B,EACAv5C,IAAI,SAAApD,GAAA,MAAO,CAACA,OAAoBvB,IAAf4mB,EAAMrlB,GACpBkjB,EAASljB,GACTqlB,EAAMrlB,MAETkX,OAAO,SAACC,EAADlH,GAAA,IAAAG,GAAA,EAAA7M,EAAAJ,SAAA8M,EAAA,GAAOjQ,EAAPoQ,EAAA,GAAY1Q,EAAZ0Q,EAAA,YAAAo1D,EAAAriE,SAAA,GAA6BgU,GAA7B,EAAA2lC,EAAA35C,SAAA,GAAmCnD,EAAMN,KAAU,OAInE+lE,UAAW,CACTC,UADS,SACErgD,EADF5U,GAC0B,IAAfxR,EAAewR,EAAfxR,KAAMS,EAAS+Q,EAAT/Q,OACxB,EAAA29C,EAAAvP,KAAIzoB,EAAOpmB,EAAMS,IAEnBw2C,aAJS,SAIK7wB,EAJL9U,GAImC,IAArBnL,EAAqBmL,EAArBnL,KAAMqX,EAAelM,EAAfkM,MAAOre,EAAQmS,EAARnS,KAC5B7D,EAAOuO,KAAKuc,MAAMggD,OAAO55C,UAAUrmB,GACrCqX,GAASre,GACX,EAAAi/C,EAAAvP,KAAIzoB,EAAMoG,UAAWrmB,EAAM,CAAEqX,MAAOA,GAASliB,EAAKkiB,MAAOre,KAAMA,GAAQ7D,EAAK6D,QAE5E,EAAAi/C,EAAAiG,QAAIj+B,EAAMoG,UAAWrmB,KAI3BugE,QAAS,CACPzvB,aADO,SAAA1mC,EAAAnG,GACoD,IAA3C0R,EAA2CvL,EAA3CuL,OAA2CvL,EAAnCgW,SACtBzK,EAAO,eAAgB,CAAE3V,KADgCiE,EAArBjE,KACLqX,MAD0BpT,EAAfoT,MACJre,KADmBiL,EAARjL,QAGnDsnE,UAJO,SAAA/7D,EAAAG,GAI2C,IAArCiR,EAAqCpR,EAArCoR,OAAsB9b,GAAe0K,EAA7B6b,SAA6B1b,EAAf7K,MAAMS,EAASoK,EAATpK,MAEvC,OADAqb,EAAO,YAAa,CAAE9b,OAAMS,UACpBT,GACN,IAAK,SACH,EAAAq+C,EAAAv7B,WAAUriB,EAAOqb,GACjB,MACF,IAAK,eACH,EAAAuiC,EAAAziC,YAAWnb,EAAOqb,iBAMbsqD,yGCvGfnpE,EAAA,SACAA,EAAA,UACAA,EAAA,UACAA,EAAA,mEAEiC,SAAAsG,GAiO/B,MArEyC,CACvC+E,YA5JkB,SAAA7E,GAAY,IAATxB,EAASwB,EAATxB,GACrB,OAAOgE,UAAWqC,YAAY,CAAErG,KAAIsB,iBA4JpCwE,kBAzJwB,SAAA3D,GAAY,IAATnC,EAASmC,EAATnC,GAC3B,OAAOgE,UAAW8B,kBAAkB,CAAE9F,KAAIsB,iBAyJ1C+B,aAtJmB,SAAAjB,GAAmC,IAAhCpC,EAAgCoC,EAAhCpC,GAAIuD,EAA4BnB,EAA5BmB,MAAOC,EAAqBpB,EAArBoB,QAASE,EAAYtB,EAAZsB,MAC1C,OAAOM,UAAWX,aAAa,CAAErD,KAAIuD,QAAOC,UAASE,QAAOpC,iBAsJ5DkF,cAnJoB,SAAA8M,GAAY,IAATtT,EAASsT,EAATtT,GACvB,OAAOgE,UAAWwC,cAAc,CAAExG,KAAIsB,iBAmJtCwG,eAhJqB,SAAAiH,GAAmC,IAAhC/O,EAAgC+O,EAAhC/O,GAAIuD,EAA4BwL,EAA5BxL,MAAOC,EAAqBuL,EAArBvL,QAASE,EAAYqL,EAAZrL,MAC5C,OAAOM,UAAW8D,eAAe,CAAE9H,KAAIuD,QAAOC,UAASE,QAAOpC,iBAgJ9D4G,WArIiB,SAAAmH,GAAqB,IAAlBrP,EAAkBqP,EAAlBrP,GAAIuI,EAAc8G,EAAd9G,QACxB,OAAOvE,UAAWkE,WAAW,CAAE5G,cAAatB,KAAIuI,aAqIhDC,aAlImB,SAACxI,GACpB,OAAOgE,UAAWwE,aAAa,CAAElH,cAAatB,QAkI9CmJ,UA/HgB,SAACnJ,GACjB,OAAOgE,UAAWmF,UAAU,CAAE7H,cAAatB,QA+H3CsJ,YA5HkB,SAACtJ,GACnB,OAAOgE,UAAWsF,YAAY,CAAEhI,cAAatB,QA4H7CyJ,UAjJgB,SAAAyF,GAAY,IAATlP,EAASkP,EAATlP,GACnB,OAAOgE,UAAWyF,UAAU,CAAEzJ,KAAIsB,iBAiJlCsI,sBA9I4B,SAAA2F,GAAY,IAATvP,EAASuP,EAATvP,GAC/B,OAAOgE,UAAW4F,sBAAsB,CAAE5J,KAAIsB,iBA8I9C2C,kBAAmBD,UAAWC,kBAC9By0C,sBApH4B,SAAApqC,GAA8C,IAA3CjK,EAA2CiK,EAA3CjK,SAAUiiB,EAAiChY,EAAjCgY,MAAiCo+C,EAAAp2D,EAA1B3J,cAA0BpH,IAAAmnE,KAAVpkE,EAAUgO,EAAVhO,IAChE,OAAOqkE,UAAuBC,cAAc,CAAEvgE,WAAUiiB,QAAOhlB,cAAaqD,SAAQrE,SAoHpFukE,2BAjHiC,SAAA18D,GAAe,IAAZme,EAAYne,EAAZme,MACpC,OAAOuwB,UAAqB+tB,cAAc,CAAEt+C,QAAOhlB,iBAiHnDwjE,2BA9GiC,SAAAr8D,GAAe,IAAZ6d,EAAY7d,EAAZ6d,MACpC,OAAOy+C,UAAqBH,cAAc,CAAEt+C,QAAOhlB,iBA8GnD8K,WAjEiB,kBAAMpI,UAAWoI,WAAW,CAAE9K,iBAkE/CgL,SAjEe,SAACtM,GAAD,OAAQgE,UAAWsI,SAAS,CAAEhL,cAAatB,QAkE1DwM,WAjEiB,SAACxM,GAAD,OAAQgE,UAAWwI,WAAW,CAAElL,cAAatB,QAkE9D0M,cAjEoB,SAAC1M,GAAD,OAAQgE,UAAW0I,cAAc,CAAEpL,cAAatB,QAkEpE4M,gBAjEsB,SAAC5M,GAAD,OAAQgE,UAAW4I,gBAAgB,CAAEtL,cAAatB,QAkExE8M,YAjEkB,kBAAM9I,UAAW8I,YAAY,CAAExL,iBAkEjDmR,YA/DkB,kBAAMzO,UAAWyO,YAAY,CAAEnR,iBAgEjD0L,iBAlEuB,kBAAMhJ,UAAWgJ,iBAAiB,CAAE1L,iBAmE3D4L,iBAlEuB,SAAClN,GAAD,OAAQgE,UAAWkJ,iBAAiB,CAAElN,KAAIsB,iBAmEjEsE,oBAjE0B,SAAC5F,GAAD,OAAQgE,UAAW4B,oBAAoB,CAAEtE,cAAatB,QAkEhF2I,aAjEmB,SAAC3I,GAAD,OAAQgE,UAAW2E,aAAa,CAAErH,cAAatB,QAkElE6I,eAjEqB,SAAC7I,GAAD,OAAQgE,UAAW6E,eAAe,CAAEvH,cAAatB,QAkEtE+I,iBAjEuB,SAAC/I,GAAD,OAAQgE,UAAW+E,iBAAiB,CAAEzH,cAAatB,QAkE1EiJ,mBAjEyB,SAACjJ,GAAD,OAAQgE,UAAWiF,mBAAmB,CAAE3H,cAAatB,QAkE9EoN,QAxHc,SAAAxE,EAAkBtI,GAAQ,IAAvBiN,EAAuB3E,EAAvB2E,YACjB,OAAOvJ,UAAWoJ,QAAQ,CAAEG,cAAajN,MAAKgB,iBAwH9CmM,UApHgB,SAAA3E,EAAkBxI,GAAQ,IAAvBiN,EAAuBzE,EAAvByE,YACnB,OAAOvJ,UAAWyJ,UAAU,CAAEF,cAAajN,MAAKgB,iBAoHhDwM,SAhHe,SAAA9E,EAAkBlJ,GAAU,IAAzByN,EAAyBvE,EAAzBuE,YAClB,OAAOvJ,UAAW8J,SAAS,CAAEP,cAAazN,QAAOwB,iBAgHjD0M,YA5GkB,SAAA9E,EAAkBpJ,GAAU,IAAzByN,EAAyBrE,EAAzBqE,YACrB,OAAOvJ,UAAWgK,YAAY,CAAET,cAAazN,QAAOwB,iBA4GpDqM,WAnGiB,SAAApE,GAAqB,IAAlBgE,EAAkBhE,EAAlBgE,YACpB,OAAOvJ,UAAW2J,WAAW,CAAEJ,cAAajM,iBAmG5C4M,oBAzG0B,SAAA9E,EAAkBlG,GAAW,IAA1BqK,EAA0BnE,EAA1BmE,YAC7B,OAAOvJ,UAAWkK,oBAAoB,CAAEX,cAAarK,SAAQ5B,iBAyG7D+M,SArEe,SAAC3M,GAAD,OAAYsC,UAAWqK,SAAS,CAAE/M,cAAaI,YAsE9DkN,WAvEiB,kBAAM5K,UAAW4K,cAwElCE,aAtEmB,SAAA2C,GAAA,IAAGzC,EAAHyC,EAAGzC,OAAH,OAAgBhL,UAAW8K,aAAa,CAAExN,cAAa0N,YAuE1EC,SAtEe,SAAAvF,GAAA,IAAGyF,EAAHzF,EAAGyF,WAAH,OAAoBnL,UAAWiL,SAAS,CAAE3N,cAAa6N,gBAuEtEG,aAtEmB,SAAAzF,GAAA,IAAG2F,EAAH3F,EAAG2F,OAAH,OAAgBxL,UAAWsL,aAAa,CAAEhO,cAAakO,YAuE1EJ,cAtEoB,SAAA9L,GAAA,IAAG5B,EAAH4B,EAAG5B,OAAH,OAAgBsC,UAAWoL,cAAc,CAAE9N,cAAaI,YAuE5E+N,aApEmB,SAACE,GAAD,OAAU3L,UAAWyL,aAAa,CAAEE,OAAMrO,iBAqE7DsO,cApEoB,SAACD,GAAD,OAAU3L,UAAW4L,cAAc,CAAED,OAAMrO,iBAqE/DwO,cAnEoB,SAAApJ,GAAA,IAAGsJ,EAAHtJ,EAAGsJ,SAAH,OAAkBhM,UAAW8L,cAAc,CAAExO,cAAa0O,cAoE9EC,YAnEkB,SAAAlI,GAAA,IAAGoI,EAAHpI,EAAGoI,MAAOH,EAAVjI,EAAUiI,SAAV,OAAyBhM,UAAWiM,YAAY,CAAE3O,cAAa6O,QAAOH,cAoExFI,eAnEqB,SAAAgB,GAAA,IAAGpB,EAAHoB,EAAGpB,SAAUM,EAAbc,EAAad,YAAaC,EAA1Ba,EAA0Bb,wBAA1B,OACrBvM,UAAWoM,eAAe,CAAE9O,cAAa0O,WAAUM,cAAaC,6BAmEhEolD,iBAjEuB,kBAAM3xD,UAAWwM,YAAY,CAAElP,iBAkEtDsP,uBAjE6B,kBAAM5M,UAAW4M,uBAAuB,CAAEtP,iBAkEvEwP,YAjEkB,kBAAM9M,UAAW8M,YAAY,CAAExP,iBAkEjD0P,cAjEoB,SAAAjL,GAAA,IAAGiK,EAAHjK,EAAGiK,SAAUkB,EAAbnL,EAAamL,MAAb,OAAyBlN,UAAWgN,cAAc,CAAE1P,cAAa0O,WAAUkB,WAkE/FR,cAjEoB,SAAAxK,GAAA,IAAG8J,EAAH9J,EAAG8J,SAAH,OAAkBhM,UAAW0M,cAAc,CAAEpP,cAAa0O,cAkE9EqB,YAnKkB,SAACrR,GACnB,OAAOgE,UAAWqN,YAAY,CAAE/P,cAAatB,QAmK7CwR,SAhKe,SAACxR,GAChB,OAAOgE,UAAWwN,SAAS,CAAElQ,cAAatB,QAgK1C+R,KAnHW,SAACE,EAAQC,GACpB,OAAOlO,UAAW+N,KAAK,CAAEzQ,cAAa2Q,SAAQC,aAmH9CC,UAhHgB,SAACF,GACjB,OAAOjO,UAAWmO,UAAU,CAAE7Q,cAAa2Q,YAgH3CI,sBApE4B,SAACrS,GAAD,OAAQgE,UAAWqO,sBAAsB,CAAErS,QAqEvEuS,sBApE4B,SAACvS,GAAD,OAAQgE,UAAWuO,sBAAsB,CAAEvS,QAqEvE8S,WApEiB,SAACpR,GAAD,OAAYsC,UAAW8O,YAAX,EAAApQ,EAAAT,SAAA,CAAwBX,eAAgBI,KAqErEqI,SAnEe,SAAC/J,GAAD,OAAQgE,UAAW+F,SAAS,CAAE/J,KAAIsB,iBAoEjD2I,WAnEiB,SAACjK,GAAD,OAAQgE,UAAWiG,WAAW,CAAEjK,KAAIsB,iBAoErD6I,QAnEc,SAACnK,GAAD,OAAQgE,UAAWmG,QAAQ,CAAEnK,KAAIsB,iBAoE/C+I,UAnEgB,SAACrK,GAAD,OAAQgE,UAAWqG,UAAU,CAAErK,KAAIsB,iBAoEnD+R,2BApHiC,SAAA/B,GAAkB,IAAfiC,EAAejC,EAAfiC,SACpC,OAAOvP,UAAWqP,2BAA2B,CAAE/R,cAAaiS,cAoH5DZ,aA5FmB,SAAAlM,GAAA,IAAGoM,EAAHpM,EAAGoM,OAAH,OAAgB7O,UAAW2O,aAAa,CAAEE,SAAQvR,iBA6FrEmS,QArEc,SAAAnN,GAAA,IAAGqN,EAAHrN,EAAGqN,EAAG/X,EAAN0K,EAAM1K,QAAS8H,EAAf4C,EAAe5C,MAAOkQ,EAAtBtN,EAAsBsN,OAAQC,EAA9BvN,EAA8BuN,UAA9B,OACd7P,UAAWyP,QAAQ,CAAEnS,cAAaqS,IAAG/X,UAAS8H,QAAOkQ,SAAQC,eAqE7DK,YApEkB,SAACE,GAAD,OAAWpQ,UAAWkQ,YAAY,CAAEE,QAAO9S,mDC/JjEtG,EAAAqD,EAAAgW,GAAA,IAAA2wD,EAAAhqE,EAAA,KAAAiqE,EAAAjqE,EAAAgE,EAAAgmE,GAAA,QAAAxwD,KAAAwwD,EAAA,YAAAxwD,GAAA,SAAA1V,GAAA9D,EAAA8C,EAAAuW,EAAAvV,EAAA,kBAAAkmE,EAAAlmE,KAAA,CAAA0V,GAAA,IAAA0wD,EAAAlqE,EAAA,KAAA0Z,EAAA1Z,EAAA,GAQA,IAEA2Z,EAVA,SAAAC,GACE5Z,EAAQ,MAeV6Z,EAAgB7a,OAAA0a,EAAA,EAAA1a,CACdirE,EAAAnwD,EACAowD,EAAA,EACAA,EAAA,GAXF,EAaAvwD,EATA,KAEA,MAYeN,EAAA,QAAAQ,EAAiB,sCC1BhC7Z,EAAAqD,EAAAgW,GAAA,IAAA8wD,EAAAnqE,EAAA,KAAAoqE,EAAApqE,EAAAgE,EAAAmmE,GAAA,QAAA3wD,KAAA2wD,EAAA,YAAA3wD,GAAA,SAAA1V,GAAA9D,EAAA8C,EAAAuW,EAAAvV,EAAA,kBAAAqmE,EAAArmE,KAAA,CAAA0V,GAAA,IAAA6wD,EAAArqE,EAAA,KAAA0Z,EAAA1Z,EAAA,GAcA6Z,EAAgB7a,OAAA0a,EAAA,EAAA1a,CACdorE,EAAAtwD,EACAuwD,EAAA,EACAA,EAAA,GAXF,EAEA,KAEA,KAEA,MAYehxD,EAAA,QAAAQ,EAAiB,sCCxBhC7Z,EAAAqD,EAAAgW,GAAA,IAAAixD,EAAAtqE,EAAA,KAAAuqE,EAAAvqE,EAAAgE,EAAAsmE,GAAA,QAAA9wD,KAAA8wD,EAAA,YAAA9wD,GAAA,SAAA1V,GAAA9D,EAAA8C,EAAAuW,EAAAvV,EAAA,kBAAAwmE,EAAAxmE,KAAA,CAAA0V,GAAA,IAAAgxD,EAAAxqE,EAAA,KAAA0Z,EAAA1Z,EAAA,GAQA,IAEA2Z,EAVA,SAAAC,GACE5Z,EAAQ,MAeV6Z,EAAgB7a,OAAA0a,EAAA,EAAA1a,CACdurE,EAAAzwD,EACA0wD,EAAA,EACAA,EAAA,GAXF,EAaA7wD,EATA,KAEA,MAYeN,EAAA,QAAAQ,EAAiB,sCC1BhC7Z,EAAAqD,EAAAgW,GAAA,IAAAoxD,EAAAzqE,EAAA,KAAA0qE,EAAA1qE,EAAAgE,EAAAymE,GAAA,QAAAjxD,KAAAixD,EAAA,YAAAjxD,GAAA,SAAA1V,GAAA9D,EAAA8C,EAAAuW,EAAAvV,EAAA,kBAAA2mE,EAAA3mE,KAAA,CAAA0V,GAAA,IAAAmxD,EAAA3qE,EAAA,KAAA0Z,EAAA1Z,EAAA,GAcA6Z,EAAgB7a,OAAA0a,EAAA,EAAA1a,CACd0rE,EAAA5wD,EACA6wD,EAAA,EACAA,EAAA,GAXF,EAEA,KAEA,KAEA,MAYetxD,EAAA,QAAAQ,EAAiB,8RCtBzB,IAAMuhC,2BAAyB,SAAA9vB,GAAA,OAASA,EAAMnC,MAAMlQ,SAAS9O,cAAc9L,MAErEusE,iBAAe,SAAAt/C,GAAA,MAAU,CACpCA,EAAMnC,MAAMggD,OAAOnoB,uBAAuB+nB,OAAS,OACnDz9C,EAAMnC,MAAMggD,OAAOnoB,uBAAuB1hB,UAAY,UACtDhU,EAAMnC,MAAMggD,OAAOnoB,uBAAuBgoB,SAAW,SACrD19C,EAAMnC,MAAMggD,OAAOnoB,uBAAuBpG,SAAW,UACrD/xC,OAAO,SAAAC,GAAA,OAAKA,KAERuvC,EAAW,SAACv+B,EAAG2B,GACnB,IAAM+8B,EAAO93B,OAAO5G,EAAE9U,IAChByzC,EAAO/3B,OAAOjF,EAAEzW,IAChB0zC,IAAU,EAAAC,EAAA1xC,SAAauxC,GACvBI,IAAU,EAAAD,EAAA1xC,SAAawxC,GAC7B,OAAIC,GAAUE,EACLJ,EAAOC,GAAQ,EAAI,EACjBC,IAAWE,EACb,GACGF,GAAUE,GACZ,EAED9+B,EAAE9U,GAAKyW,EAAEzW,IAAM,EAAI,GAIjBw2C,kCAAgC,SAAClwB,EAAOjO,GAEnD,IAAIwtD,EAAsBzvB,EAAuB9vB,GAAOpkB,IAAI,SAAA4B,GAAA,OAAKA,IAAG0wC,KAAKnB,GAEzE,OADAwyB,GAAsB,EAAAC,EAAA7jE,SAAO4jE,EAAqB,SACvBhiE,OACzB,SAACmzC,GAAD,OAAmB3+B,GAASutD,EAAat/C,IAAQtR,SAASgiC,EAAa95C,SAI9Do5C,+BAA+B,SAAAhwB,GAAA,OAC1C,EAAAwF,EAAA7pB,SAAOu0C,EAA8BlwB,GAAQ,SAAA9kB,GAAA,OAAAA,EAAGukE,sCCrClD/qE,EAAAqD,EAAAgW,GAAA,IAAA2xD,EAAAhrE,EAAA,KAAAirE,EAAAjrE,EAAAgE,EAAAgnE,GAAA,QAAAxxD,KAAAwxD,EAAA,YAAAxxD,GAAA,SAAA1V,GAAA9D,EAAA8C,EAAAuW,EAAAvV,EAAA,kBAAAknE,EAAAlnE,KAAA,CAAA0V,GAAA,IAAA0xD,EAAAlrE,EAAA,KAAA0Z,EAAA1Z,EAAA,GAQA,IAEA2Z,EAVA,SAAAC,GACE5Z,EAAQ,MAeV6Z,EAAgB7a,OAAA0a,EAAA,EAAA1a,CACdisE,EAAAnxD,EACAoxD,EAAA,EACAA,EAAA,GAXF,EAaAvxD,EATA,KAEA,MAYeN,EAAA,QAAAQ,EAAiB,sCC1BhC7Z,EAAAqD,EAAAgW,GAAA,IAAA8xD,EAAAnrE,EAAA,KAAAorE,EAAAprE,EAAAgE,EAAAmnE,GAAA,QAAA3xD,KAAA2xD,EAAA,YAAA3xD,GAAA,SAAA1V,GAAA9D,EAAA8C,EAAAuW,EAAAvV,EAAA,kBAAAqnE,EAAArnE,KAAA,CAAA0V,GAAA,IAAA6xD,EAAArrE,EAAA,KAAA0Z,EAAA1Z,EAAA,GASA,IAEA2Z,EAXA,SAAAC,GACE5Z,EAAQ,MAgBV6Z,EAAgB7a,OAAA0a,EAAA,EAAA1a,CACdosE,EAAAtxD,EACAuxD,EAAA,EACAA,EAAA,GAXF,EAaA1xD,EATA,KAEA,MAYeN,EAAA,QAAAQ,EAAiB,sCC3BhC7Z,EAAAqD,EAAAgW,GAAA,IAAAiyD,EAAAtrE,EAAA,KAAAurE,EAAAvrE,EAAAgE,EAAAsnE,GAAA,QAAA9xD,KAAA8xD,EAAA,YAAA9xD,GAAA,SAAA1V,GAAA9D,EAAA8C,EAAAuW,EAAAvV,EAAA,kBAAAwnE,EAAAxnE,KAAA,CAAA0V,GAAA,IAAAgyD,EAAAxrE,EAAA,KAAA0Z,EAAA1Z,EAAA,GASA,IAEA2Z,EAXA,SAAAC,GACE5Z,EAAQ,OAgBV6Z,EAAgB7a,OAAA0a,EAAA,EAAA1a,CACdusE,EAAAzxD,EACA0xD,EAAA,EACAA,EAAA,GAXF,EAaA7xD,EATA,KAEA,MAYeN,EAAA,QAAAQ,EAAiB,uFC1BhC,IAOM4xD,EAAkB,SAAAlrE,GAAA,MAAM,CAACA,EAAEmrE,QAAQ,GAAGC,QAASprE,EAAEmrE,QAAQ,GAAGE,UAE5DC,EAAe,SAAA7qD,GAAA,OAAK7F,KAAK2wD,KAAK9qD,EAAE,GAAKA,EAAE,GAAKA,EAAE,GAAKA,EAAE,KAIrD+qD,EAAa,SAACC,EAAIC,GAAL,OAAYD,EAAG,GAAKC,EAAG,GAAKD,EAAG,GAAKC,EAAG,IAEpDC,EAAU,SAACF,EAAIC,GACnB,IAAME,EAAUJ,EAAWC,EAAIC,GAAMF,EAAWE,EAAIA,GACpD,MAAO,CAACE,EAASF,EAAG,GAAIE,EAASF,EAAG,KA6ChC1I,EAAiB,CACrBK,eA/DqB,EAAE,EAAG,GAgE1BH,gBA/DsB,CAAC,EAAG,GAgE1B2I,aA/DmB,CAAC,GAAI,GAgExBC,eA/DqB,CAAC,EAAG,GAgEzB7I,aAzCmB,SAAC8I,EAAWC,GAC/B,MAAO,CACLD,YACAC,UACAC,UAJuF3/D,UAAAhO,OAAA,QAAA0D,IAAAsK,UAAA,GAAAA,UAAA,GAArC,GAKlD4/D,uBALuF5/D,UAAAhO,OAAA,QAAA0D,IAAAsK,UAAA,GAAAA,UAAA,GAAR,EAM/E6/D,UAAW,CAAC,EAAG,GACfC,UAAU,IAmCZ5I,WA/BiB,SAACniE,EAAOgrE,GACzBA,EAAQF,UAAYjB,EAAgB7pE,GACpCgrE,EAAQD,UAAW,GA8BnB1I,YA3BkB,SAACriE,EAAOgrE,GAC1B,GAAKA,EAAQD,SAAb,CAEA,IAxCkBE,EAAUC,EAwCtBC,GAxCYF,EAwCOD,EAAQF,UAxCQ,EAAbI,EAwCgBrB,EAAgB7pE,IAxCT,GAAKirE,EAAS,GAAIC,EAAS,GAAKD,EAAS,KAyC5F,KAAIhB,EAAakB,GAASH,EAAQJ,WAE9BT,EAAWgB,EAAOH,EAAQN,WAAa,GAA3C,CAEA,IAvCoBtrD,EAuCdgsD,EAAad,EAAQa,EAAOH,EAAQN,WACpCW,EAxCmB,EAALjsD,EAwCmB4rD,EAAQN,WAxCnB,IAAKtrD,EAAE,IAyC7BksD,EAAuBhB,EAAQa,EAAOE,GAE1CpB,EAAamB,GAAcJ,EAAQH,uBACnCZ,EAAaqB,KAGfN,EAAQL,UACRK,EAAQD,UAAW,iBAaNpJ,iCCzEfvjE,EAAA8C,EAAAuW,EAAA,sBAAA4uD,IAAAjoE,EAAA8C,EAAAuW,EAAA,sBAAA8zD,IAAA,IAAAlF,EAAA,WAA0B,IAAAmF,EAAAxgE,KAAaygE,EAAAD,EAAAE,eAA0BC,EAAAH,EAAAI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,OAAiBE,YAAA,cAAAlF,MAAA,CAAiC9uC,SAAA2zC,EAAA3zC,WAA0B,CAAA2zC,EAAA,SAAAG,EAAA,UAA8BjgC,IAAA,WAAa8/B,EAAAM,KAAAN,EAAAO,GAAA,KAAAJ,EAAA,OAAiCzpE,IAAAspE,EAAA9rE,IAAAgsC,IAAA,MAAAg7B,MAAA,CAA6BhnE,IAAA8rE,EAAA9rE,IAAAk3B,eAAA40C,EAAA50C,gBAAkDgwC,GAAA,CAAKtrB,KAAAkwB,EAAA1zC,OAAAh4B,MAAA0rE,EAAApzC,cACrUmzC,EAAA,iCCDAntE,EAAA8C,EAAAuW,EAAA,sBAAA4uD,IAAAjoE,EAAA8C,EAAAuW,EAAA,sBAAA8zD,IAAA,IAAAlF,EAAA,WAA0B,IAAaoF,EAAbzgE,KAAa0gE,eAAkD,OAA/D1gE,KAAuC4gE,MAAAD,IAAAF,GAAwB,SAAmBI,YAAA,QAAAnF,MAAA,CAA2BhnE,IAA7GsL,KAA6GiX,WAAA1d,IAAAynE,KAA7GhhE,KAA6GstB,UAAA2zC,SAA7GjhE,KAA6GihE,SAAAC,YAAA,IAAuFtF,GAAA,CAAKuF,WAAzMnhE,KAAyMutB,oBACnOgzC,EAAA,iCCDAntE,EAAA8C,EAAAuW,EAAA,sBAAA4uD,IAAAjoE,EAAA8C,EAAAuW,EAAA,sBAAA8zD,IAAA,IAAAlF,EAAA,WACA,IAAA+F,EACAZ,EAAAxgE,KAAaygE,EAAAD,EAAAE,eAA0BC,EAAAH,EAAAI,MAAAD,IAAAF,EAAwB,OAAAD,EAAA,eAAAG,EAAA,OAAsC/E,GAAA,CAAIr1B,MAAAi6B,EAAAt0C,YAAuB,UAAAs0C,EAAAlrE,KAAAqrE,EAAA,KAAgCE,YAAA,cAAAnF,MAAA,CAAiClmE,OAAA,SAAAgjB,KAAAgoD,EAAAvpD,WAAA1d,MAA6C,CAAAinE,EAAAO,GAAA,UAAAP,EAAAa,GAAAb,EAAA/6C,KAAA,YAAA+6C,EAAAa,GAAAb,EAAAlrE,KAAAujB,eAAA,WAAA2nD,EAAAM,OAAAH,EAAA,OAAkHW,WAAA,EAAanrE,KAAA,OAAAorE,QAAA,SAAA3qE,OAAA4pE,EAAA10C,QAAA01C,WAAA,aAAwEX,YAAA,aAAAlF,OAAAyF,EAAA,GAA4CA,EAAAZ,EAAAlrE,OAAA,EAAA8rE,EAAA/gD,QAAAmgD,EAAAngD,QAAA+gD,EAAA,UAAAZ,EAAAv0C,UAAAm1C,EAAA,oBAAAZ,EAAAphD,OAAAgiD,IAAwI,CAAAZ,EAAA,OAAAG,EAAA,KAAuBE,YAAA,mBAAAnF,MAAA,CAAsCljD,KAAAgoD,EAAAvpD,WAAA1d,KAA0BqiE,GAAA,CAAKr1B,MAAA,SAAAk7B,GAAiD,OAAxBA,EAAAn4C,iBAAwBk3C,EAAAp0C,aAAAq1C,MAAkC,CAAAd,EAAA,OAAYzpE,IAAAspE,EAAAx1C,UAAA61C,YAAA,OAAAlF,MAAA,CAA4C+F,MAAAlB,EAAAx0C,SAAqB0vC,MAAA,CAAQhnE,IAAA8rE,EAAAx1C,aAAqBw1C,EAAAO,GAAA,eAAAP,EAAAlrE,KAAAqrE,EAAA,KAA6CE,YAAA,gCAA0CL,EAAAM,OAAAN,EAAAM,KAAAN,EAAAO,GAAA,KAAAP,EAAA/6C,MAAA+6C,EAAAt1C,gBAAAs1C,EAAAphD,OAAAuhD,EAAA,OAA2FE,YAAA,SAAoB,CAAAF,EAAA,KAAUjF,MAAA,CAAOljD,KAAA,KAAWojD,GAAA,CAAKr1B,MAAA,SAAAk7B,GAAiD,OAAxBA,EAAAn4C,iBAAwBk3C,EAAAp0C,aAAAq1C,MAAkC,CAAAjB,EAAAO,GAAA,YAAAP,EAAAM,KAAAN,EAAAO,GAAA,eAAAP,EAAAlrE,MAAAkrE,EAAAphD,SAAAohD,EAAAp1C,aAAmfo1C,EAAAM,KAAnfH,EAAA,KAA8GE,YAAA,mBAAAlF,MAAA,CAAsCv8C,OAAAohD,EAAAphD,QAAAohD,EAAAp1C,cAA0CswC,MAAA,CAAQljD,KAAAgoD,EAAAvpD,WAAA1d,IAAA/D,OAAA,SAAAoxC,MAAA45B,EAAAvpD,WAAA2zB,aAA+EgxB,GAAA,CAAKr1B,MAAAi6B,EAAAt0C,YAAuB,CAAAy0C,EAAA,cAAmBjF,MAAA,CAAO9vC,eAAA40C,EAAA50C,eAAAvb,SAAAmwD,EAAAvpD,WAAA5G,SAAA3b,IAAA8rE,EAAAvpD,WAAA0qD,iBAAAnB,EAAAvpD,WAAA1d,IAAAqoE,qBAAApB,EAAAl0C,gBAAwK,GAAAk0C,EAAAO,GAAA,eAAAP,EAAAlrE,MAAAkrE,EAAAphD,OAAuZohD,EAAAM,KAAvZH,EAAA,KAAyEE,YAAA,kBAAAlF,MAAA,CAAqC+F,MAAAlB,EAAAx0C,SAAqB0vC,MAAA,CAAQljD,KAAAgoD,EAAAqB,eAAAlsE,EAAA6qE,EAAAvpD,WAAA1d,KAAsDqiE,GAAA,CAAKr1B,MAAAi6B,EAAAt0C,YAAuB,CAAAy0C,EAAA,mBAAwBE,YAAA,QAAAnF,MAAA,CAA2BzkD,WAAAupD,EAAAvpD,WAAAgqD,SAAAT,EAAAqB,aAAsDrB,EAAAO,GAAA,KAAAP,EAAAqB,UAAiFrB,EAAAM,KAAjFH,EAAA,KAAuCE,YAAA,iCAA0C,GAAAL,EAAAO,GAAA,eAAAP,EAAAlrE,KAAAqrE,EAAA,SAAuEjF,MAAA,CAAOhnE,IAAA8rE,EAAAvpD,WAAA1d,IAAA0nE,SAAA,MAAwCT,EAAAM,KAAAN,EAAAO,GAAA,cAAAP,EAAAlrE,MAAAkrE,EAAAvpD,WAAA8U,OAAA40C,EAAA,OAAgFE,YAAA,SAAAjF,GAAA,CAAyBr1B,MAAA,SAAAk7B,GAAiD,OAAxBA,EAAAn4C,iBAAwBk3C,EAAAz3C,YAAA04C,MAAiC,CAAAjB,EAAAvpD,WAAA,UAAA0pD,EAAA,OAAuCE,YAAA,SAAoB,CAAAF,EAAA,OAAYjF,MAAA,CAAOhnE,IAAA8rE,EAAAvpD,WAAA6qD,eAAgCtB,EAAAM,KAAAN,EAAAO,GAAA,KAAAJ,EAAA,OAAmCE,YAAA,QAAmB,CAAAF,EAAA,MAAAA,EAAA,KAAmBjF,MAAA,CAAOljD,KAAAgoD,EAAAvpD,WAAA1d,MAA2B,CAAAinE,EAAAO,GAAAP,EAAAa,GAAAb,EAAAvpD,WAAA8U,OAAA6a,YAAA45B,EAAAO,GAAA,KAAAJ,EAAA,OAAwEoB,SAAA,CAAUC,UAAAxB,EAAAa,GAAAb,EAAAvpD,WAAA8U,OAAAk2C,mBAAsDzB,EAAAM,QACxtFP,EAAA,iCCHAntE,EAAA8C,EAAAuW,EAAA,sBAAA4uD,IAAAjoE,EAAA8C,EAAAuW,EAAA,sBAAA8zD,IAAA,IAAAlF,EAAA,WAA0B,IAAAmF,EAAAxgE,KAAaygE,EAAAD,EAAAE,eAA0BC,EAAAH,EAAAI,MAAAD,IAAAF,EAAwB,OAAAD,EAAA,SAAAG,EAAA,OAAAA,EAAA,KAAwCE,YAAA,yCAAAlF,MAAA6E,EAAAziD,QAAA29C,MAAA,CAA8E90B,MAAA45B,EAAAjxC,GAAA,sBAAoCqsC,GAAA,CAAKr1B,MAAA,SAAAk7B,GAAyBA,EAAAn4C,iBAAwBk3C,EAAAr+D,eAAiBq+D,EAAAO,GAAA,MAAAP,EAAAjgD,aAAAkH,eAAA+4C,EAAAllE,OAAA4mE,SAAA,EAAAvB,EAAA,QAAAH,EAAAO,GAAAP,EAAAa,GAAAb,EAAAllE,OAAA4mE,aAAA1B,EAAAM,OAAAH,EAAA,OAAAA,EAAA,KAAyJE,YAAA,8BAAAlF,MAAA6E,EAAAziD,QAAA29C,MAAA,CAAmE90B,MAAA45B,EAAAjxC,GAAA,wBAAqCixC,EAAAO,GAAA,MAAAP,EAAAjgD,aAAAkH,eAAA+4C,EAAAllE,OAAA4mE,SAAA,EAAAvB,EAAA,QAAAH,EAAAO,GAAAP,EAAAa,GAAAb,EAAAllE,OAAA4mE,aAAA1B,EAAAM,QAC3jBP,EAAA,iCCDAntE,EAAA8C,EAAAuW,EAAA,sBAAA4uD,IAAAjoE,EAAA8C,EAAAuW,EAAA,sBAAA8zD,IAAA,IAAAlF,EAAA,WAA0B,IAAAmF,EAAAxgE,KAAaygE,EAAAD,EAAAE,eAA0BC,EAAAH,EAAAI,MAAAD,IAAAF,EAAwB,OAAAD,EAAA,SAAAG,EAAA,mBAAAH,EAAA19D,YAAA,WAAA09D,EAAA19D,WAAA,CAAA69D,EAAA,KAAuGE,YAAA,oDAAAlF,MAAA6E,EAAAziD,QAAA29C,MAAA,CAAyF90B,MAAA45B,EAAAjxC,GAAA,oBAAkCqsC,GAAA,CAAKr1B,MAAA,SAAAk7B,GAAyBA,EAAAn4C,iBAAwBk3C,EAAAj+D,cAAgBi+D,EAAAO,GAAA,MAAAP,EAAAjgD,aAAAkH,eAAA+4C,EAAAllE,OAAA6mE,WAAA,EAAAxB,EAAA,QAAAH,EAAAO,GAAAP,EAAAa,GAAAb,EAAAllE,OAAA6mE,eAAA3B,EAAAM,MAAA,CAAAH,EAAA,KAAmJE,YAAA,wBAAAlF,MAAA6E,EAAAziD,QAAA29C,MAAA,CAA6D90B,MAAA45B,EAAAjxC,GAAA,iCAA4C,GAAAixC,EAAA38C,SAA4I28C,EAAAM,KAA5IH,EAAA,OAAAA,EAAA,KAAyCE,YAAA,2BAAAlF,MAAA6E,EAAAziD,QAAA29C,MAAA,CAAgE90B,MAAA45B,EAAAjxC,GAAA,sBAAmCixC,EAAAO,GAAA,MAAAP,EAAAjgD,aAAAkH,eAAA+4C,EAAAllE,OAAA6mE,WAAA,EAAAxB,EAAA,QAAAH,EAAAO,GAAAP,EAAAa,GAAAb,EAAAllE,OAAA6mE,eAAA3B,EAAAM,QACzwBP,EAAA,iCCDAntE,EAAA8C,EAAAuW,EAAA,sBAAA4uD,IAAAjoE,EAAA8C,EAAAuW,EAAA,sBAAA8zD,IAAA,IAAAlF,EAAA,WAA0B,IAAaoF,EAAbzgE,KAAa0gE,eAAkD,OAA/D1gE,KAAuC4gE,MAAAD,IAAAF,GAAwB,QAAkB/E,MAAA,CAAO0G,SAAxFpiE,KAAwFswB,KAAAsW,MAAxF5mC,KAAwFqwB,mBAAkD,CAA1IrwB,KAA0I+gE,GAAA,OAA1I/gE,KAA0IqhE,GAA1IrhE,KAA0IuvB,GAA1IvvB,KAA0ImwB,aAAAj5B,IAAA,CAA1I8I,KAA0ImwB,aAAAzF,OAAA,SACpK61C,EAAA,iCCDAntE,EAAA8C,EAAAuW,EAAA,sBAAA4uD,IAAAjoE,EAAA8C,EAAAuW,EAAA,sBAAA8zD,IAAA,IAAAlF,EAAA,WAA0B,IAAAmF,EAAAxgE,KAAaygE,EAAAD,EAAAE,eAA0BC,EAAAH,EAAAI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,OAAiBE,YAAA,OAAAlF,MAAA6E,EAAA1xC,gBAA4C,CAAA0xC,EAAA6B,GAAA7B,EAAA,iBAAA78D,EAAAsrB,GAA8C,OAAA0xC,EAAA,OAAiBzpE,IAAA+3B,EAAA4xC,YAAA,eAAoC,CAAAL,EAAA,YAAAG,EAAA,OAA8BE,YAAA,gBAAAnF,MAAA,CAAmC90B,MAAA45B,EAAAlxC,YAAA3rB,KAAiC,CAAAg9D,EAAA,OAAYE,YAAA,uBAAkC,CAAAF,EAAA,QAAaE,YAAA,qBAAgC,CAAAL,EAAAO,GAAA,eAAAP,EAAAa,GAAAb,EAAApxC,oBAAAzrB,EAAAkrB,cAAA,iBAAA2xC,EAAAO,GAAA,KAAAJ,EAAA,QAAAH,EAAAO,GAAAP,EAAAa,GAAA19D,EAAAijC,YAAA45B,EAAAO,GAAA,KAAAJ,EAAA,OAA2KE,YAAA,cAAAnrC,MAAA,CAAkClJ,MAAAg0C,EAAApxC,oBAAAzrB,EAAAkrB,aAAA,SAAmE8xC,EAAA,OAAc/E,GAAA,CAAIr1B,MAAA,SAAAk7B,GAAyBjB,EAAA/wC,eAAAR,MAA4B,CAAAuxC,EAAAx9D,KAAA,SAAA29D,EAAA,SAAkCjF,MAAA,CAAOpmE,KAAA,WAAAgxC,SAAAk6B,EAAAngD,SAAyC0hD,SAAA,CAAWnrE,MAAAq4B,KAAe0xC,EAAA,SAAcjF,MAAA,CAAOpmE,KAAA,QAAAgxC,SAAAk6B,EAAAngD,SAAsC0hD,SAAA,CAAWnrE,MAAAq4B,KAAeuxC,EAAAO,GAAA,KAAAJ,EAAA,SAA0BE,YAAA,eAA0B,CAAAF,EAAA,OAAAH,EAAAO,GAAAP,EAAAa,GAAA19D,EAAAijC,kBAAiD45B,EAAAO,GAAA,KAAAJ,EAAA,OAAwBE,YAAA,gBAA2B,CAAAL,EAAA9xC,YAAyJ8xC,EAAAM,KAAzJH,EAAA,UAAkCE,YAAA,mCAAAnF,MAAA,CAAsDpmE,KAAA,SAAAgxC,SAAAk6B,EAAAtxC,YAA0C0sC,GAAA,CAAKr1B,MAAAi6B,EAAAr2D,OAAkB,CAAAq2D,EAAAO,GAAA,WAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,2BAAAixC,EAAAO,GAAA,KAAAJ,EAAA,OAA4FE,YAAA,SAAoB,CAAAL,EAAAO,GAAA,WAAAP,EAAAa,GAAAb,EAAA5xC,iBAAA,IAAA4xC,EAAAa,GAAAb,EAAAjxC,GAAA,+BAAAixC,EAAAO,GAAA,KAAAJ,EAAA,QAAwHjF,MAAA,CAAO4G,KAAA9B,EAAA/xC,QAAA,qCAA2D,CAAAkyC,EAAA,WAAgBjF,MAAA,CAAOprC,KAAAkwC,EAAAjyC,UAAAg0C,cAAA,GAAAC,gBAAA,MAAyD,YACznDjC,EAAA,iCCDAntE,EAAA8C,EAAAuW,EAAA,sBAAA4uD,IAAAjoE,EAAA8C,EAAAuW,EAAA,sBAAA8zD,IAAA,IAAAlF,EAAA,WAA0B,IAAAmF,EAAAxgE,KAAaygE,EAAAD,EAAAE,eAA0BC,EAAAH,EAAAI,MAAAD,IAAAF,EAAwB,OAAAD,EAAAtvC,WAAAsvC,EAAAjvC,SAAAivC,EAAAlvC,OAAAqvC,EAAA,aAAoEE,YAAA,uBAAAnF,MAAA,CAA0C1T,QAAA,QAAAya,UAAA,QAAqC,CAAA9B,EAAA,OAAYjF,MAAA,CAAOj/B,KAAA,WAAiBA,KAAA,WAAgB,CAAAkkC,EAAA,OAAYE,YAAA,iBAA4B,CAAAL,EAAAjvC,UAAAivC,EAAAllE,OAAAgpB,aAAAq8C,EAAA,UAAyDE,YAAA,mCAAAjF,GAAA,CAAmDr1B,MAAA,SAAAk7B,GAAiD,OAAxBA,EAAAn4C,iBAAwBk3C,EAAAr/D,iBAAAsgE,MAAsC,CAAAd,EAAA,KAAUE,YAAA,iBAA2BF,EAAA,QAAAH,EAAAO,GAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,kCAAAixC,EAAAM,KAAAN,EAAAO,GAAA,KAAAP,EAAAjvC,SAAAivC,EAAAllE,OAAAgpB,aAAAq8C,EAAA,UAA+IE,YAAA,mCAAAjF,GAAA,CAAmDr1B,MAAA,SAAAk7B,GAAiD,OAAxBA,EAAAn4C,iBAAwBk3C,EAAAn/D,mBAAAogE,MAAwC,CAAAd,EAAA,KAAUE,YAAA,iBAA2BF,EAAA,QAAAH,EAAAO,GAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,oCAAAixC,EAAAM,KAAAN,EAAAO,GAAA,MAAAP,EAAAllE,OAAAonE,QAAAlC,EAAAlvC,OAAAqvC,EAAA,UAA2IW,WAAA,EAAanrE,KAAA,gBAAAorE,QAAA,oBAA+CV,YAAA,mCAAAjF,GAAA,CAAqDr1B,MAAA,SAAAk7B,GAAiD,OAAxBA,EAAAn4C,iBAAwBk3C,EAAAzvC,UAAA0wC,MAA+B,CAAAd,EAAA,KAAUE,YAAA,aAAuBF,EAAA,QAAAH,EAAAO,GAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,oBAAAixC,EAAAM,KAAAN,EAAAO,GAAA,KAAAP,EAAAllE,OAAAonE,QAAAlC,EAAAlvC,OAAAqvC,EAAA,UAA0HW,WAAA,EAAanrE,KAAA,gBAAAorE,QAAA,oBAA+CV,YAAA,mCAAAjF,GAAA,CAAqDr1B,MAAA,SAAAk7B,GAAiD,OAAxBA,EAAAn4C,iBAAwBk3C,EAAAxvC,YAAAywC,MAAiC,CAAAd,EAAA,KAAUE,YAAA,aAAuBF,EAAA,QAAAH,EAAAO,GAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,sBAAAixC,EAAAM,KAAAN,EAAAO,GAAA,KAAAP,EAAA,UAAAG,EAAA,UAA0GW,WAAA,EAAanrE,KAAA,gBAAAorE,QAAA,oBAA+CV,YAAA,mCAAAjF,GAAA,CAAqDr1B,MAAA,SAAAk7B,GAAiD,OAAxBA,EAAAn4C,iBAAwBk3C,EAAAv8D,aAAAw9D,MAAkC,CAAAd,EAAA,KAAUE,YAAA,gBAA0BF,EAAA,QAAAH,EAAAO,GAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,uBAAAixC,EAAAM,SAAAN,EAAAO,GAAA,KAAAJ,EAAA,OAA4FE,YAAA,eAA0B,CAAAF,EAAA,KAAUE,YAAA,sBAA4BL,EAAAM,MACziEP,EAAA,iCCDAntE,EAAA8C,EAAAuW,EAAA,sBAAA4uD,IAAAjoE,EAAA8C,EAAAuW,EAAA,sBAAA8zD,IAAA,IAAAlF,EAAA,WAA0B,IAAAmF,EAAAxgE,KAAaygE,EAAAD,EAAAE,eAA0BC,EAAAH,EAAAI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,OAAiBE,YAAA,eAAAjF,GAAA,CAA+B+G,KAAA,UAAAlB,GAAyBA,EAAAn4C,kBAAyBk3C,EAAAlqC,UAAAssC,SAAA,SAAAnB,GAAmE,OAAxBA,EAAAn4C,iBAAwBk3C,EAAAhqC,SAAAirC,MAA8B,CAAAd,EAAA,SAAcE,YAAA,QAAAnF,MAAA,CAA2B90B,MAAA45B,EAAAjxC,GAAA,2BAAyC,CAAAixC,EAAA,UAAAG,EAAA,KAA0BE,YAAA,0CAAoDL,EAAAM,KAAAN,EAAAO,GAAA,KAAAP,EAAA5nC,UAAmF4nC,EAAAM,KAAnFH,EAAA,KAAgDE,YAAA,yBAAmCL,EAAAO,GAAA,KAAAP,EAAA,YAAAG,EAAA,SAAqDkC,YAAA,CAAa3kC,SAAA,QAAA1mB,IAAA,UAAkCkkD,MAAA,CAAQpmE,KAAA,OAAAyO,SAAA,QAAgC63D,GAAA,CAAKjiC,OAAA6mC,EAAA7mC,UAAqB6mC,EAAAM,UACrrBP,EAAA,iCCDAntE,EAAA8C,EAAAuW,EAAA,sBAAA4uD,IAAAjoE,EAAA8C,EAAAuW,EAAA,sBAAA8zD,IAAA,IAAAlF,EAAA,WAA0B,IAAAmF,EAAAxgE,KAAaygE,EAAAD,EAAAE,eAA0BC,EAAAH,EAAAI,MAAAD,IAAAF,EAAwB,OAAAD,EAAAzmC,YAAk2BymC,EAAAM,KAAl2BH,EAAA,OAAoCE,YAAA,kBAA6B,CAAAL,EAAA,WAAAG,EAAA,KAA2BE,YAAA,gBAAAlF,MAAA6E,EAAAlmC,IAAAI,OAAAghC,MAAA,CAAwD90B,MAAA45B,EAAAjxC,GAAA,6BAA2CqsC,GAAA,CAAKr1B,MAAA,SAAAk7B,GAAyBjB,EAAAloC,UAAA,cAA0BkoC,EAAAM,KAAAN,EAAAO,GAAA,KAAAP,EAAA,YAAAG,EAAA,KAAiDE,YAAA,YAAAlF,MAAA6E,EAAAlmC,IAAAG,QAAAihC,MAAA,CAAqD90B,MAAA45B,EAAAjxC,GAAA,8BAA4CqsC,GAAA,CAAKr1B,MAAA,SAAAk7B,GAAyBjB,EAAAloC,UAAA,eAA2BkoC,EAAAM,KAAAN,EAAAO,GAAA,KAAAP,EAAA,aAAAG,EAAA,KAAkDE,YAAA,qBAAAlF,MAAA6E,EAAAlmC,IAAAE,SAAAkhC,MAAA,CAA+D90B,MAAA45B,EAAAjxC,GAAA,+BAA6CqsC,GAAA,CAAKr1B,MAAA,SAAAk7B,GAAyBjB,EAAAloC,UAAA,gBAA4BkoC,EAAAM,KAAAN,EAAAO,GAAA,KAAAP,EAAA,WAAAG,EAAA,KAAgDE,YAAA,aAAAlF,MAAA6E,EAAAlmC,IAAAl9B,OAAAs+D,MAAA,CAAqD90B,MAAA45B,EAAAjxC,GAAA,6BAA2CqsC,GAAA,CAAKr1B,MAAA,SAAAk7B,GAAyBjB,EAAAloC,UAAA,cAA0BkoC,EAAAM,QAC37BP,EAAA,iCCDAntE,EAAA8C,EAAAuW,EAAA,sBAAA4uD,IAAAjoE,EAAA8C,EAAAuW,EAAA,sBAAA8zD,IAAA,IAAAlF,EAAA,WAA0B,IAAAmF,EAAAxgE,KAAaygE,EAAAD,EAAAE,eAA0BC,EAAAH,EAAAI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,SAAmBE,YAAA,WAAAlF,MAAA,CAA8Br1B,SAAAk6B,EAAAl6B,SAAAw8B,cAAAtC,EAAAsC,gBAA4D,CAAAnC,EAAA,SAAcjF,MAAA,CAAOpmE,KAAA,WAAAgxC,SAAAk6B,EAAAl6B,UAA0Cy7B,SAAA,CAAWjyC,QAAA0wC,EAAA1wC,QAAAgzC,cAAAtC,EAAAsC,eAAwDlH,GAAA,CAAKjiC,OAAA,SAAA8nC,GAA0BjB,EAAA12C,MAAA,SAAA23C,EAAAjsE,OAAAs6B,aAA6C0wC,EAAAO,GAAA,KAAAJ,EAAA,KAAsBE,YAAA,uBAAiCL,EAAAO,GAAA,KAAAP,EAAAhkC,OAAAniC,QAAAsmE,EAAA,QAAgDE,YAAA,SAAoB,CAAAL,EAAAuC,GAAA,eAAAvC,EAAAM,QAC/gBP,EAAA,iCCDAntE,EAAA8C,EAAAuW,EAAA,sBAAA4uD,IAAAjoE,EAAA8C,EAAAuW,EAAA,sBAAA8zD,IAAA,IAAAlF,EAAA,WAA0B,IAAAmF,EAAAxgE,KAAaygE,EAAAD,EAAAE,eAA0BC,EAAAH,EAAAI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,OAAiBE,YAAA,+CAA0D,CAAAF,EAAA,OAAYE,YAAA,WAAsB,CAAAF,EAAA,QAAaE,YAAA,cAAyBL,EAAA6B,GAAA7B,EAAA,gBAAAv/B,GAAqC,OAAA0/B,EAAA,QAAkBzpE,IAAA+pC,EAAA7oC,GAAAyoE,YAAA,kBAAAlF,MAAA,CACnST,OAAAsF,EAAAl/B,kBAAAL,EAAA7oC,GACAkuC,SAAA,IAAArF,EAAAQ,OAAAxvC,QACSypE,MAAA,CAAQ90B,MAAA3F,EAAA5vB,MAAmBuqD,GAAA,CAAKr1B,MAAA,SAAAk7B,GAAyBA,EAAAn4C,iBAAwBk3C,EAAA79C,UAAAse,EAAA7oC,OAA0B,CAAAuoE,EAAA,KAAUhF,MAAA16B,EAAAvrB,WAAqB,GAAA8qD,EAAAO,GAAA,KAAAP,EAAA,qBAAAG,EAAA,QAAuDE,YAAA,mBAA8B,CAAAF,EAAA,QAAaE,YAAA,yCAAAlF,MAAA,CAA4DT,OAAAsF,EAAA3gC,iBAA4B67B,MAAA,CAAQ90B,MAAA45B,EAAAjxC,GAAA,mBAAiCqsC,GAAA,CAAKr1B,MAAA,SAAAk7B,GAAiD,OAAxBA,EAAAn4C,iBAAwBk3C,EAAAn/B,eAAAogC,MAAoC,CAAAd,EAAA,KAAUE,YAAA,kBAAwBL,EAAAM,OAAAN,EAAAO,GAAA,KAAAJ,EAAA,OAAuCE,YAAA,WAAsB,CAAAF,EAAA,OAAYE,YAAA,gBAAAlF,MAAA,CAAmCv8C,OAAAohD,EAAA3gC,kBAA6B,CAAA8gC,EAAA,OAAYE,YAAA,gBAA2B,CAAAF,EAAA,SAAcW,WAAA,EAAanrE,KAAA,QAAAorE,QAAA,UAAA3qE,MAAA4pE,EAAA,QAAAgB,WAAA,YAAwEX,YAAA,eAAAnF,MAAA,CAAoCpmE,KAAA,OAAAk1D,YAAAgW,EAAAjxC,GAAA,uBAAyDwyC,SAAA,CAAWnrE,MAAA4pE,EAAA,SAAsB5E,GAAA,CAAK5pD,MAAA,SAAAyvD,GAAyBA,EAAAjsE,OAAAwtE,YAAsCxC,EAAA9gC,QAAA+hC,EAAAjsE,OAAAoB,aAAkC4pE,EAAAO,GAAA,KAAAJ,EAAA,OAA0BjgC,IAAA,eAAAmgC,YAAA,eAAAlF,MAAA6E,EAAA1gC,oBAAA87B,GAAA,CAAgFzjC,OAAAqoC,EAAApgC,WAAuBogC,EAAA6B,GAAA7B,EAAA,oBAAAv/B,GAAyC,OAAA0/B,EAAA,OAAiBzpE,IAAA+pC,EAAA7oC,GAAAyoE,YAAA,eAAuC,CAAAF,EAAA,MAAWjgC,IAAA,SAAAO,EAAA7oC,GAAA6qE,UAAA,EAAApC,YAAA,qBAAsE,CAAAL,EAAAO,GAAA,iBAAAP,EAAAa,GAAApgC,EAAA5vB,MAAA,kBAAAmvD,EAAAO,GAAA,KAAAP,EAAA6B,GAAAphC,EAAA,gBAAAlN,GAAiH,OAAA4sC,EAAA,QAAkBzpE,IAAA+pC,EAAA7oC,GAAA27B,EAAA4L,YAAAkhC,YAAA,aAAAnF,MAAA,CAAiE90B,MAAA7S,EAAA4L,aAA0Bi8B,GAAA,CAAKr1B,MAAA,SAAAk7B,GAAyBA,EAAAp4C,kBAAyBo4C,EAAAn4C,iBAAwBk3C,EAAArgC,QAAApM,MAAqB,CAAAA,EAAAkI,SAAA0kC,EAAA,OAA6EjF,MAAA,CAAOhnE,IAAAq/B,EAAAkI,YAApF0kC,EAAA,QAAAH,EAAAO,GAAAP,EAAAa,GAAAttC,EAAAyJ,oBAA8GgjC,EAAAO,GAAA,KAAAJ,EAAA,QAAyBjgC,IAAA,aAAAO,EAAA7oC,GAAA6qE,UAAA,KAA0C,KAAM,GAAAzC,EAAAO,GAAA,KAAAJ,EAAA,OAA2BE,YAAA,aAAwB,CAAAF,EAAA,YAAiB9+B,MAAA,CAAOjrC,MAAA4pE,EAAA,SAAA0C,SAAA,SAAAC,GAA8C3C,EAAA/kC,SAAA0nC,GAAiB3B,WAAA,aAAwB,CAAAhB,EAAAO,GAAA,eAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,0CAAAixC,EAAAO,GAAA,KAAAP,EAAA,gBAAAG,EAAA,OAA4HE,YAAA,oBAA+B,CAAAF,EAAA,kBAAuB/E,GAAA,CAAIwH,SAAA5C,EAAAvhC,kBAAAokC,gBAAA7C,EAAAthC,0BAA4E,GAAAshC,EAAAM,UACzrEP,EAAA,iCCJAntE,EAAA8C,EAAAuW,EAAA,sBAAA4uD,IAAAjoE,EAAA8C,EAAAuW,EAAA,sBAAA8zD,IAAA,IAAAlF,EAAA,WAA0B,IAAAmF,EAAAxgE,KAAaygE,EAAAD,EAAAE,eAA0BC,EAAAH,EAAAI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,OAAiBW,WAAA,EAAanrE,KAAA,gBAAAorE,QAAA,kBAAA3qE,MAAA4pE,EAAA,eAAAgB,WAAA,mBAAsGX,YAAA,cAAAlF,MAAA,CAAmC2H,eAAA9C,EAAAplC,kBAAuC,CAAAolC,EAAAuC,GAAA,WAAAvC,EAAAO,GAAA,KAAAP,EAAA,mBAAAA,EAAAplC,gBAAoPolC,EAAAM,KAApPH,EAAA,OAA0FE,YAAA,oBAAAjF,GAAA,CAAoCr1B,MAAA,SAAAk7B,GAAiD,OAAxBA,EAAAn4C,iBAAwBk3C,EAAAjjC,aAAAkkC,MAAkC,CAAAd,EAAA,KAAUE,YAAA,iBAAyBL,EAAAO,GAAA,KAAAP,EAAA,kBAAAG,EAAA,eAAmEjgC,IAAA,SAAAmgC,YAAA,qBAAAlF,MAAA,CAAqDrE,MAAAkJ,EAAAjlC,YAAwBmgC,MAAA,CAAQ6H,wBAAA/C,EAAAnlC,qBAAgDugC,GAAA,CAAK7nC,MAAAysC,EAAA7iC,OAAA6lC,mBAAAhD,EAAAvhC,kBAAAwkC,wBAAAjD,EAAAthC,yBAA+GshC,EAAAM,MAAAN,EAAAM,KAAAN,EAAAO,GAAA,KAAAJ,EAAA,OAA2CjgC,IAAA,QAAAmgC,YAAA,qBAAAlF,MAAA,CAAoDrE,MAAAkJ,EAAAtkC,kBAA8B,CAAAykC,EAAA,OAAYE,YAAA,2BAAsCL,EAAA6B,GAAA7B,EAAA,qBAAApiC,EAAAnP,GAAqD,OAAA0xC,EAAA,OAAiBzpE,IAAA+3B,EAAA4xC,YAAA,oBAAAlF,MAAA,CAAiDvoC,YAAAgL,EAAAhL,aAAsCwoC,GAAA,CAAKr1B,MAAA,SAAAk7B,GAAyBA,EAAAp4C,kBAAyBo4C,EAAAn4C,iBAAwBk3C,EAAA5hC,QAAA6iC,EAAArjC,MAAkC,CAAAuiC,EAAA,QAAaE,YAAA,SAAoB,CAAAziC,EAAA,IAAAuiC,EAAA,OAA6BjF,MAAA,CAAOhnE,IAAA0pC,EAAA/S,OAAsBs1C,EAAA,QAAAH,EAAAO,GAAAP,EAAAa,GAAAjjC,EAAAZ,kBAAAgjC,EAAAO,GAAA,KAAAJ,EAAA,OAA8EE,YAAA,SAAoB,CAAAF,EAAA,QAAaE,YAAA,eAA0B,CAAAL,EAAAO,GAAAP,EAAAa,GAAAjjC,EAAAuB,gBAAA6gC,EAAAO,GAAA,KAAAJ,EAAA,QAAkEE,YAAA,cAAyB,CAAAL,EAAAO,GAAAP,EAAAa,GAAAjjC,EAAAslC,qBAA8C,UACjoDnD,EAAA,iCCDAntE,EAAA8C,EAAAuW,EAAA,sBAAA4uD,IAAAjoE,EAAA8C,EAAAuW,EAAA,sBAAA8zD,IAAA,IAAAlF,EAAA,WAA0B,IAAAmF,EAAAxgE,KAAaygE,EAAAD,EAAAE,eAA0BC,EAAAH,EAAAI,MAAAD,IAAAF,EAAwB,OAAAD,EAAA,QAAAG,EAAA,OAA+BE,YAAA,aAAwB,CAAAL,EAAA6B,GAAA7B,EAAA,iBAAA78D,EAAAsrB,GAA8C,OAAA0xC,EAAA,OAAiBzpE,IAAA+3B,EAAA4xC,YAAA,eAAoC,CAAAF,EAAA,OAAYE,YAAA,mBAA8B,CAAAF,EAAA,SAAcW,WAAA,EAAanrE,KAAA,QAAAorE,QAAA,UAAA3qE,MAAA4pE,EAAAhnE,QAAAy1B,GAAAuyC,WAAA,mBAAsFX,YAAA,oBAAAnF,MAAA,CAAyCtjE,GAAA,QAAA62B,EAAA35B,KAAA,OAAAk1D,YAAAgW,EAAAjxC,GAAA,gBAAAo0C,UAAAnD,EAAAr+B,WAAoG4/B,SAAA,CAAWnrE,MAAA4pE,EAAAhnE,QAAAy1B,IAA6B2sC,GAAA,CAAKjiC,OAAA6mC,EAAAj9B,mBAAAqgC,QAAA,SAAAnC,GAA2D,gBAAAA,IAAAjB,EAAAqD,GAAApC,EAAA/J,QAAA,WAAA+J,EAAAvqE,IAAA,SAAgF,YAAeuqE,EAAAp4C,kBAAyBo4C,EAAAn4C,iBAAwBk3C,EAAA19B,WAAA7T,IAAsBjd,MAAA,SAAAyvD,GAA0BA,EAAAjsE,OAAAwtE,WAAsCxC,EAAA32B,KAAA22B,EAAAhnE,QAAAy1B,EAAAwyC,EAAAjsE,OAAAoB,aAAoD4pE,EAAAO,GAAA,KAAAP,EAAAhnE,QAAAvH,OAAA,EAAA0uE,EAAA,OAAmDE,YAAA,kBAA6B,CAAAF,EAAA,KAAUE,YAAA,cAAAjF,GAAA,CAA8Br1B,MAAA,SAAAk7B,GAAyBjB,EAAAx9B,aAAA/T,SAA0BuxC,EAAAM,SAAeN,EAAAO,GAAA,KAAAP,EAAAhnE,QAAAvH,OAAAuuE,EAAAt+B,WAAAy+B,EAAA,KAA4DE,YAAA,mBAAAjF,GAAA,CAAmCr1B,MAAAi6B,EAAAz9B,YAAuB,CAAA49B,EAAA,KAAUE,YAAA,cAAwBL,EAAAO,GAAA,SAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,+BAAAixC,EAAAM,KAAAN,EAAAO,GAAA,KAAAJ,EAAA,OAA8FE,YAAA,oBAA+B,CAAAF,EAAA,OAAYE,YAAA,YAAAnF,MAAA,CAA+B90B,MAAA45B,EAAAjxC,GAAA,gBAA8B,CAAAoxC,EAAA,SAAcE,YAAA,SAAAnF,MAAA,CAA4BoI,IAAA,uBAA4B,CAAAnD,EAAA,UAAeW,WAAA,EAAanrE,KAAA,QAAAorE,QAAA,UAAA3qE,MAAA4pE,EAAA,SAAAgB,WAAA,aAA0EX,YAAA,SAAAjF,GAAA,CAA2BjiC,OAAA,UAAA8nC,GAA2B,IAAAsC,EAAA5qD,MAAA9mB,UAAA4J,OAAA1J,KAAAkvE,EAAAjsE,OAAAgE,QAAA,SAAAnD,GAAkF,OAAAA,EAAAkkC,WAAkBjgC,IAAA,SAAAjE,GAA+D,MAA7C,WAAAA,IAAA2tE,OAAA3tE,EAAAO,QAA0D4pE,EAAAz+B,SAAA0/B,EAAAjsE,OAAAuO,SAAAggE,IAAA,IAAwEvD,EAAAj9B,sBAA0B,CAAAo9B,EAAA,UAAejF,MAAA,CAAO9kE,MAAA,WAAkB,CAAA4pE,EAAAO,GAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,2BAAAixC,EAAAO,GAAA,KAAAJ,EAAA,UAA2EjF,MAAA,CAAO9kE,MAAA,aAAoB,CAAA4pE,EAAAO,GAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,gCAAAixC,EAAAO,GAAA,KAAAJ,EAAA,KAA2EE,YAAA,uBAA6BL,EAAAO,GAAA,KAAAJ,EAAA,OAA4BE,YAAA,cAAAnF,MAAA,CAAiC90B,MAAA45B,EAAAjxC,GAAA,kBAAgC,CAAAoxC,EAAA,SAAcW,WAAA,EAAanrE,KAAA,QAAAorE,QAAA,UAAA3qE,MAAA4pE,EAAA,aAAAgB,WAAA,iBAAkFX,YAAA,oCAAAnF,MAAA,CAAyDpmE,KAAA,SAAAguC,IAAAk9B,EAAA/9B,2BAAAriB,IAAAogD,EAAA59B,4BAA0Fm/B,SAAA,CAAWnrE,MAAA4pE,EAAA,cAA2B5E,GAAA,CAAKjiC,OAAA6mC,EAAAn9B,mBAAArxB,MAAA,SAAAyvD,GAAyDA,EAAAjsE,OAAAwtE,YAAsCxC,EAAAx+B,aAAAy/B,EAAAjsE,OAAAoB,WAAuC4pE,EAAAO,GAAA,KAAAJ,EAAA,SAA0BE,YAAA,sBAAiC,CAAAF,EAAA,UAAeW,WAAA,EAAanrE,KAAA,QAAAorE,QAAA,UAAA3qE,MAAA4pE,EAAA,WAAAgB,WAAA,eAA8E5F,GAAA,CAAMjiC,OAAA,UAAA8nC,GAA2B,IAAAsC,EAAA5qD,MAAA9mB,UAAA4J,OAAA1J,KAAAkvE,EAAAjsE,OAAAgE,QAAA,SAAAnD,GAAkF,OAAAA,EAAAkkC,WAAkBjgC,IAAA,SAAAjE,GAA+D,MAA7C,WAAAA,IAAA2tE,OAAA3tE,EAAAO,QAA0D4pE,EAAAv+B,WAAAw/B,EAAAjsE,OAAAuO,SAAAggE,IAAA,IAA0EvD,EAAAn9B,sBAA0Bm9B,EAAA6B,GAAA7B,EAAA,qBAAAlnC,GAAyC,OAAAqnC,EAAA,UAAoBzpE,IAAAoiC,EAAAyoC,SAAA,CAAmBnrE,MAAA0iC,IAAc,CAAAknC,EAAAO,GAAA,iBAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,QAAA+J,EAAA,oCAA8F,GAAAknC,EAAAO,GAAA,KAAAJ,EAAA,KAAyBE,YAAA,0BAA6B,GAAAL,EAAAM,MACz3GP,EAAA,iCCDAntE,EAAA8C,EAAAuW,EAAA,sBAAA4uD,IAAAjoE,EAAA8C,EAAAuW,EAAA,sBAAA8zD,IAAA,IAAAlF,EAAA,WAA0B,IAAAmF,EAAAxgE,KAAaygE,EAAAD,EAAAE,eAA0BC,EAAAH,EAAAI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,OAAiBjgC,IAAA,OAAAmgC,YAAA,oBAA0C,CAAAF,EAAA,QAAajF,MAAA,CAAOuI,aAAA,OAAqBrI,GAAA,CAAKhb,OAAA,SAAA6gB,GAA0BA,EAAAn4C,iBAAwBk3C,EAAA79D,WAAA69D,EAAAntC,cAAgC,CAAAstC,EAAA,OAAYE,YAAA,cAAyB,CAAAL,EAAAlkD,OAAAC,MAAAnd,MAAAuf,YAAA8jC,QAAA,WAAA+d,EAAAntC,UAAAvwB,WAAgQ09D,EAAAM,KAAhQH,EAAA,QAAmGE,YAAA,oBAAAnF,MAAA,CAAuC4G,KAAA,yCAAA5pE,IAAA,MAA2D,CAAAioE,EAAA,eAAoBjF,MAAA,CAAOwI,GAAA,CAAM/tE,KAAA,mBAA0B,CAAAqqE,EAAAO,GAAA,eAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,oEAAAixC,EAAAO,GAAA,KAAAP,EAAArrC,iBAAA,WAAAqrC,EAAAntC,UAAAvwB,WAA6e09D,EAAArrC,iBAAA,aAAAqrC,EAAAntC,UAAAvwB,YAAwX09D,EAAArrC,iBAAA,YAAAqrC,EAAAntC,UAAAvwB,YAAA09D,EAAAlkD,OAAAC,MAAAnd,MAAAuf,YAAA8jC,OAAAke,EAAA,KAA4HE,YAAA,wCAAmD,CAAAF,EAAA,QAAAH,EAAAO,GAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,wCAAAixC,EAAAO,GAAA,KAAAJ,EAAA,KAA8FE,YAAA,sBAAAjF,GAAA,CAAsCr1B,MAAA,SAAAk7B,GAAyBA,EAAAn4C,iBAAwBk3C,EAAA7nC,wBAA2B,CAAAgoC,EAAA,KAAUE,YAAA,oBAA0B,WAAAL,EAAAntC,UAAAvwB,WAAA69D,EAAA,KAAsDE,YAAA,qBAAgC,CAAAL,EAAA,cAAAG,EAAA,QAAAH,EAAAO,GAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,gDAAAoxC,EAAA,QAAAH,EAAAO,GAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,2CAAAixC,EAAAM,KAAj3BH,EAAA,KAAgFE,YAAA,wCAAmD,CAAAF,EAAA,QAAAH,EAAAO,GAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,yCAAAixC,EAAAO,GAAA,KAAAJ,EAAA,KAA+FE,YAAA,sBAAAjF,GAAA,CAAsCr1B,MAAA,SAAAk7B,GAAyBA,EAAAn4C,iBAAwBk3C,EAAA7nC,wBAA2B,CAAAgoC,EAAA,KAAUE,YAAA,oBAA30BF,EAAA,KAAuME,YAAA,wCAAmD,CAAAF,EAAA,QAAAH,EAAAO,GAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,uCAAAixC,EAAAO,GAAA,KAAAJ,EAAA,KAA6FE,YAAA,sBAAAjF,GAAA,CAAsCr1B,MAAA,SAAAk7B,GAAyBA,EAAAn4C,iBAAwBk3C,EAAA7nC,wBAA2B,CAAAgoC,EAAA,KAAUE,YAAA,oBAA24BL,EAAAO,GAAA,KAAAP,EAAAntC,UAAAxwB,aAAA29D,EAAA7rC,kBAAAgsC,EAAA,cAA4QE,YAAA,eAAAnF,MAAA,CAAkCyI,sBAAA,GAAArpC,QAAA0lC,EAAArsC,gBAAsD0N,MAAA,CAAQjrC,MAAA4pE,EAAAntC,UAAA,YAAA6vC,SAAA,SAAAC,GAA2D3C,EAAA32B,KAAA22B,EAAAntC,UAAA,cAAA8vC,IAA4C3B,WAAA,0BAAqC,CAAAb,EAAA,SAAcW,WAAA,EAAanrE,KAAA,QAAAorE,QAAA,UAAA3qE,MAAA4pE,EAAAntC,UAAA,YAAAmuC,WAAA,0BAAoGX,YAAA,oBAAAnF,MAAA,CAAyCpmE,KAAA,OAAAk1D,YAAAgW,EAAAjxC,GAAA,gCAAkEwyC,SAAA,CAAWnrE,MAAA4pE,EAAAntC,UAAA,aAAoCuoC,GAAA,CAAK5pD,MAAA,SAAAyvD,GAAyBA,EAAAjsE,OAAAwtE,WAAsCxC,EAAA32B,KAAA22B,EAAAntC,UAAA,cAAAouC,EAAAjsE,OAAAoB,aAA8D4pE,EAAAM,KAAAN,EAAAO,GAAA,KAAAJ,EAAA,cAA0CjgC,IAAA,cAAAmgC,YAAA,0BAAAnF,MAAA,CAA+D5gC,QAAA0lC,EAAA3sC,mBAAAswC,sBAAA,GAAAC,oBAAA,GAAAb,wBAAA,IAA4G3H,GAAA,CAAK5pD,MAAAwuD,EAAA9pC,kBAAA8sC,mBAAAhD,EAAA7qC,aAAA8tC,wBAAAjD,EAAAxqC,cAA2G6L,MAAA,CAAQjrC,MAAA4pE,EAAAntC,UAAA,OAAA6vC,SAAA,SAAAC,GAAsD3C,EAAA32B,KAAA22B,EAAAntC,UAAA,SAAA8vC,IAAuC3B,WAAA,qBAAgC,CAAAb,EAAA,YAAiBW,WAAA,EAAanrE,KAAA,QAAAorE,QAAA,UAAA3qE,MAAA4pE,EAAAntC,UAAA,OAAAmuC,WAAA,qBAA0F9gC,IAAA,WAAAmgC,YAAA,iBAAAnF,MAAA,CAAqDlR,YAAAgW,EAAAjxC,GAAA,uBAAA+Z,KAAA,IAAAhD,SAAAk6B,EAAArtC,SAA8E4uC,SAAA,CAAWnrE,MAAA4pE,EAAAntC,UAAA,QAA+BuoC,GAAA,CAAKgI,QAAA,SAAAnC,GAA2B,kBAAAA,IAAAjB,EAAAqD,GAAApC,EAAA/J,QAAA,WAAA+J,EAAAvqE,IAAA,WAA+FuqE,EAAA4C,aAAmC7D,EAAA79D,WAAA69D,EAAAntC,WAAlD,MAAgFixC,MAAA,SAAA7C,GAA0B,kBAAAA,IAAAjB,EAAAqD,GAAApC,EAAA/J,QAAA,WAAA+J,EAAAvqE,IAAA,WAA+FuqE,EAAA5iC,aAAmC2hC,EAAA79D,WAAA69D,EAAAntC,WAAlD,MAAgFsvC,KAAAnC,EAAAlqC,SAAAssC,SAAA,SAAAnB,GAAyE,OAAxBA,EAAAn4C,iBAAwBk3C,EAAAhqC,SAAAirC,IAA4BzvD,MAAA,UAAAyvD,GAA2BA,EAAAjsE,OAAAwtE,WAAsCxC,EAAA32B,KAAA22B,EAAAntC,UAAA,SAAAouC,EAAAjsE,OAAAoB,QAAuD4pE,EAAA1uC,QAAAyyC,kBAAA/D,EAAA1uC,OAAAsE,MAAAoqC,EAAApqC,SAA+DoqC,EAAAO,GAAA,KAAAP,EAAA,qBAAAG,EAAA,KAAiDE,YAAA,0BAAAlF,MAAA,CAA6C7mE,MAAA0rE,EAAA9rC,oBAAgC,CAAA8rC,EAAAO,GAAA,eAAAP,EAAAa,GAAAb,EAAA/rC,gBAAA,gBAAA+rC,EAAAM,OAAAN,EAAAO,GAAA,KAAAJ,EAAA,OAAoGE,YAAA,mBAA8B,CAAAF,EAAA,kBAAuBjF,MAAA,CAAO8I,WAAAhE,EAAA7sC,cAAA8wC,eAAAjE,EAAA9sC,iBAAAgxC,iBAAAlE,EAAA1tC,iBAAA6xC,gBAAAnE,EAAAntC,UAAAvwB,WAAA8hE,kBAAApE,EAAAloC,aAAiLkoC,EAAAO,GAAA,KAAAP,EAAA3rC,YAAA5iC,OAAA,EAAA0uE,EAAA,OAAqDE,YAAA,eAA0B,CAAAF,EAAA,SAAcE,YAAA,SAAAnF,MAAA,CAA4BoI,IAAA,sBAA2B,CAAAnD,EAAA,UAAeW,WAAA,EAAanrE,KAAA,QAAAorE,QAAA,UAAA3qE,MAAA4pE,EAAAntC,UAAA,YAAAmuC,WAAA,0BAAoGX,YAAA,eAAAnF,MAAA,CAAoCtjE,GAAA,qBAAyBwjE,GAAA,CAAKjiC,OAAA,SAAA8nC,GAA0B,IAAAsC,EAAA5qD,MAAA9mB,UAAA4J,OAAA1J,KAAAkvE,EAAAjsE,OAAAgE,QAAA,SAAAnD,GAAkF,OAAAA,EAAAkkC,WAAkBjgC,IAAA,SAAAjE,GAA+D,MAA7C,WAAAA,IAAA2tE,OAAA3tE,EAAAO,QAA0D4pE,EAAA32B,KAAA22B,EAAAntC,UAAA,cAAAouC,EAAAjsE,OAAAuO,SAAAggE,IAAA,OAAqGvD,EAAA6B,GAAA7B,EAAA,qBAAAqE,GAA+C,OAAAlE,EAAA,UAAoBzpE,IAAA2tE,EAAA9C,SAAA,CAAyBnrE,MAAAiuE,IAAoB,CAAArE,EAAAO,GAAA,qBAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,6BAAAs1C,EAAA,+BAAyH,GAAArE,EAAAO,GAAA,KAAAJ,EAAA,KAAyBE,YAAA,uBAA6BL,EAAAM,KAAAN,EAAAO,GAAA,SAAAP,EAAA3rC,YAAA5iC,QAAA,eAAAuuE,EAAA3rC,YAAA,GAAA8rC,EAAA,OAA2GE,YAAA,eAA0B,CAAAF,EAAA,QAAaE,YAAA,eAA0B,CAAAL,EAAAO,GAAA,iBAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,6BAAAixC,EAAA3rC,YAAA,8BAAA2rC,EAAAM,MAAA,OAAAN,EAAAO,GAAA,KAAAP,EAAA,eAAAG,EAAA,aAA+LjgC,IAAA,WAAAg7B,MAAA,CAAsBoJ,QAAAtE,EAAA/sC,iBAA8BmoC,GAAA,CAAKmJ,cAAAvE,EAAAhoC,WAA2BgoC,EAAAM,KAAAN,EAAAO,GAAA,KAAAJ,EAAA,OAAiCjgC,IAAA,SAAAmgC,YAAA,eAAuC,CAAAF,EAAA,OAAYE,YAAA,oBAA+B,CAAAF,EAAA,gBAAqBjgC,IAAA,cAAAmgC,YAAA,oBAAAnF,MAAA,CAAyDsJ,aAAAxE,EAAAvtC,WAA2B2oC,GAAA,CAAKhjC,UAAA4nC,EAAArqC,cAAAitC,SAAA5C,EAAA7qC,aAAA0tC,gBAAA7C,EAAAxqC,gBAA4FwqC,EAAAO,GAAA,KAAAJ,EAAA,OAAwBE,YAAA,cAAyB,CAAAF,EAAA,KAAUE,YAAA,6BAAAnF,MAAA,CAAgD90B,MAAA45B,EAAAjxC,GAAA,oBAAkCqsC,GAAA,CAAKr1B,MAAAi6B,EAAApoC,qBAA6BooC,EAAAO,GAAA,KAAAP,EAAA,eAAAG,EAAA,OAA+CE,YAAA,YAAAlF,MAAA,CAA+BphC,SAAAimC,EAAA/sC,kBAAiC,CAAAktC,EAAA,KAAUE,YAAA,iCAAAnF,MAAA,CAAoD90B,MAAA45B,EAAAjxC,GAAA,mBAAiCqsC,GAAA,CAAKr1B,MAAAi6B,EAAAjoC,oBAA4BioC,EAAAM,MAAA,GAAAN,EAAAO,GAAA,KAAAP,EAAA,QAAAG,EAAA,UAAwDE,YAAA,kBAAAnF,MAAA,CAAqCp1B,SAAA,KAAe,CAAAk6B,EAAAO,GAAA,aAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,sCAAAixC,EAAA,kBAAAG,EAAA,UAA+GE,YAAA,kBAAAnF,MAAA,CAAqCp1B,SAAA,KAAe,CAAAk6B,EAAAO,GAAA,aAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,iCAAAoxC,EAAA,UAAkFE,YAAA,kBAAAnF,MAAA,CAAqCp1B,SAAAk6B,EAAAttC,eAAA59B,KAAA,WAA+C,CAAAkrE,EAAAO,GAAA,aAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,mCAAAixC,EAAAO,GAAA,KAAAP,EAAA,MAAAG,EAAA,OAAyGE,YAAA,eAA0B,CAAAL,EAAAO,GAAA,kBAAAP,EAAAa,GAAAb,EAAA1rE,OAAA,YAAA6rE,EAAA,KAAiEE,YAAA,0BAAAjF,GAAA,CAA0Cr1B,MAAAi6B,EAAA13C,gBAAwB03C,EAAAM,KAAAN,EAAAO,GAAA,KAAAJ,EAAA,OAAmCE,YAAA,eAA0BL,EAAA6B,GAAA7B,EAAAntC,UAAA,eAAAtrB,GAA6C,OAAA44D,EAAA,OAAiBzpE,IAAA6Q,EAAAxO,IAAAsnE,YAAA,wBAAgD,CAAAF,EAAA,KAAUE,YAAA,6BAAAjF,GAAA,CAA6Cr1B,MAAA,SAAAk7B,GAAyBjB,EAAA1qC,gBAAA/tB,OAA4By4D,EAAAO,GAAA,KAAAJ,EAAA,OAAwBE,YAAA,qCAAgD,WAAAL,EAAAlrE,KAAAyS,GAAA44D,EAAA,OAAyCE,YAAA,yBAAAnF,MAAA,CAA4ChnE,IAAAqT,EAAAxO,OAAgBinE,EAAAM,KAAAN,EAAAO,GAAA,eAAAP,EAAAlrE,KAAAyS,GAAA44D,EAAA,SAAgEjF,MAAA,CAAOhnE,IAAAqT,EAAAxO,IAAA0nE,SAAA,MAA8BT,EAAAM,KAAAN,EAAAO,GAAA,eAAAP,EAAAlrE,KAAAyS,GAAA44D,EAAA,SAAgEjF,MAAA,CAAOhnE,IAAAqT,EAAAxO,IAAA0nE,SAAA,MAA8BT,EAAAM,KAAAN,EAAAO,GAAA,iBAAAP,EAAAlrE,KAAAyS,GAAA44D,EAAA,KAA8DjF,MAAA,CAAOljD,KAAAzQ,EAAAxO,MAAiB,CAAAinE,EAAAO,GAAAP,EAAAa,GAAAt5D,EAAAxO,QAAAinE,EAAAM,WAA0C,GAAAN,EAAAO,GAAA,KAAAP,EAAAntC,UAAAE,MAAAthC,OAAA,EAAA0uE,EAAA,OAA4DE,YAAA,mBAA8B,CAAAF,EAAA,YAAiB9+B,MAAA,CAAOjrC,MAAA4pE,EAAAntC,UAAA,KAAA6vC,SAAA,SAAAC,GAAoD3C,EAAA32B,KAAA22B,EAAAntC,UAAA,OAAA8vC,IAAqC3B,WAAA,mBAA8B,CAAAhB,EAAAO,GAAA,aAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,wDAAAixC,EAAAM,MAAA,MAC92QP,EAAA,iCCDAntE,EAAA8C,EAAAuW,EAAA,sBAAA4uD,IAAAjoE,EAAA8C,EAAAuW,EAAA,sBAAA8zD,IAAA,IAAAlF,EAAA,WAA0B,IAAaoF,EAAbzgE,KAAa0gE,eAAkD,OAA/D1gE,KAAuC4gE,MAAAD,IAAAF,GAAwB,cAAwBI,YAAA,SAAAlF,MAAA,CAA4BsJ,iBAAnHjlE,KAAmHmmB,QAAA++C,gBAAnHllE,KAAmH4nB,cAAmE8zC,MAAA,CAAQyJ,IAA9LnlE,KAA8L1D,KAAAqJ,YAAAihC,MAA9L5mC,KAA8L1D,KAAAqJ,YAAAjR,IAA9LsL,KAA8LqmC,OAAA++B,mBAA9LplE,KAA8LqtB,mBACxNkzC,EAAA,iCCDAntE,EAAA8C,EAAAuW,EAAA,sBAAA4uD,IAAAjoE,EAAA8C,EAAAuW,EAAA,sBAAA8zD,IAAA,IAAAlF,EAAA,WAA0B,IAAaoF,EAAbzgE,KAAa0gE,eAA0BC,EAAvC3gE,KAAuC4gE,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,OAAiBE,YAAA,iBAA4B,CAAAF,EAAA,QAAajF,MAAA,CAAO7hE,OAAA,OAAAwrE,OAAhIrlE,KAAgIqkC,eAA2C,CAAAs8B,EAAA,SAAcjF,MAAA,CAAOpmE,KAAA,SAAAa,KAAA,YAAkC4rE,SAAA,CAAWnrE,MAA7OoJ,KAA6O1D,KAAAqJ,eAA7O3F,KAA2Q+gE,GAAA,KAAAJ,EAAA,SAA0BjF,MAAA,CAAOpmE,KAAA,SAAAa,KAAA,UAAAS,MAAA,MAA5SoJ,KAAyV+gE,GAAA,KAAAJ,EAAA,UAA2BE,YAAA,gBAAAnF,MAAA,CAAmCn1B,MAAA,WAAkB,CAAzavmC,KAAya+gE,GAAA,WAAza/gE,KAAyaqhE,GAAzarhE,KAAyauvB,GAAA,6CACncgxC,EAAA,iCCDAntE,EAAA8C,EAAAuW,EAAA,sBAAA4uD,IAAAjoE,EAAA8C,EAAAuW,EAAA,sBAAA8zD,IAAA,IAAAlF,EAAA,WAA0B,IAAaoF,EAAbzgE,KAAa0gE,eAAkD,OAA/D1gE,KAAuC4gE,MAAAD,IAAAF,GAAwB,UAAoB/E,MAAA,CAAOp1B,SAA1FtmC,KAA0FwmC,UAA1FxmC,KAA0FsmC,UAAwCs1B,GAAA,CAAKr1B,MAAvIvmC,KAAuI4+B,UAAqB,CAA5J5+B,KAA4JwmC,UAA5JxmC,KAA4Jw8B,OAAAgK,SAAA,CAA5JxmC,KAA4J+iE,GAAA,cAA5J/iE,KAA4J+iE,GAAA,iBACtLxC,EAAA,iCCDAntE,EAAA8C,EAAAuW,EAAA,sBAAA4uD,IAAAjoE,EAAA8C,EAAAuW,EAAA,sBAAA8zD,IAAA,IAAAlF,EAAA,WAA0B,IAAaoF,EAAbzgE,KAAa0gE,eAAkD,OAA/D1gE,KAAuC4gE,MAAAD,IAAAF,GAAwB,UAAoBI,YAAA,gCAAAlF,MAAA,CAAmD2J,QAAtItlE,KAAsI2mC,WAAyB+0B,MAAA,CAAQp1B,SAAvKtmC,KAAuK0mC,WAAAE,MAAvK5mC,KAAuK4mC,OAA4Cg1B,GAAA,CAAKr1B,MAAxNvmC,KAAwN4+B,UAAqB,CAA7O5+B,KAA6O+gE,GAAA,OAA7O/gE,KAA6OqhE,GAA7OrhE,KAA6O8mC,OAAA,SACvQy5B,EAAA,iCCDAntE,EAAA8C,EAAAuW,EAAA,sBAAA4uD,IAAAjoE,EAAA8C,EAAAuW,EAAA,sBAAA8zD,IAAA,IAAAlF,EAAA,WAA0B,IAAAmF,EAAAxgE,KAAaygE,EAAAD,EAAAE,eAA0BC,EAAAH,EAAAI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,QAAkBhF,MAAA,CAAO4J,eAAA/E,EAAAz3B,aAAkC6yB,GAAA,CAAKr1B,MAAA,SAAAk7B,GAAyB,GAAAA,EAAAjsE,SAAAisE,EAAA+D,cAA2C,YAAe/D,EAAAp4C,kBAAyBm3C,EAAAx3B,cAAiB,CAAA23B,EAAA,OAAYE,YAAA,mCAAAjF,GAAA,CAAmDr1B,MAAA,SAAAk7B,GAAyBA,EAAAp4C,qBAA4B,CAAAs3C,EAAA,OAAYE,YAAA,sCAAiD,CAAAF,EAAA,OAAYE,YAAA,SAAoB,CAAAL,EAAAuC,GAAA,gBAAAvC,EAAAO,GAAA,KAAAJ,EAAA,OAA+CE,YAAA,wBAAmC,CAAAL,EAAAuC,GAAA,eAAAvC,EAAAO,GAAA,KAAAJ,EAAA,OAA8CE,YAAA,sDAAiE,CAAAL,EAAAuC,GAAA,mBACxqBxC,EAAA,iCCDAntE,EAAA8C,EAAAuW,EAAA,sBAAA4uD,IAAAjoE,EAAA8C,EAAAuW,EAAA,sBAAA8zD,IAAA,IAAAlF,EAAA,WAA0B,IAAAmF,EAAAxgE,KAAaygE,EAAAD,EAAAE,eAA0BC,EAAAH,EAAAI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,OAAAA,EAAA,aAAiCE,YAAA,2BAAAnF,MAAA,CAA8C1T,QAAA,QAAAya,UAAA,cAA2C7G,GAAA,CAAKlzB,KAAA,SAAA+4B,GAAwBjB,EAAAp5B,cAAA,GAAwBkwB,KAAA,SAAAmK,GAAyBjB,EAAAp5B,cAAA,KAA2B,CAAAu5B,EAAA,OAAYjF,MAAA,CAAOj/B,KAAA,WAAiBA,KAAA,WAAgB,CAAAkkC,EAAA,OAAYE,YAAA,iBAA4B,CAAAL,EAAAlkE,KAAA,SAAAqkE,EAAA,QAAAA,EAAA,UAA8CE,YAAA,gBAAAjF,GAAA,CAAgCr1B,MAAA,SAAAk7B,GAAyBjB,EAAAl4B,YAAA,YAA2B,CAAAk4B,EAAAO,GAAA,iBAAAP,EAAAa,GAAAb,EAAAjxC,GAAAixC,EAAAlkE,KAAA60B,OAAAE,MAAA,2FAAAmvC,EAAAO,GAAA,KAAAJ,EAAA,UAAwLE,YAAA,gBAAAjF,GAAA,CAAgCr1B,MAAA,SAAAk7B,GAAyBjB,EAAAl4B,YAAA,gBAA+B,CAAAk4B,EAAAO,GAAA,iBAAAP,EAAAa,GAAAb,EAAAjxC,GAAAixC,EAAAlkE,KAAA60B,OAAAC,UAAA,mGAAAovC,EAAAO,GAAA,KAAAJ,EAAA,OAAiME,YAAA,mBAAAnF,MAAA,CAAsCzY,KAAA,iBAAoBud,EAAAM,KAAAN,EAAAO,GAAA,KAAAJ,EAAA,UAAsCE,YAAA,gBAAAjF,GAAA,CAAgCr1B,MAAA,SAAAk7B,GAAyBjB,EAAAj4B,4BAA+B,CAAAi4B,EAAAO,GAAA,eAAAP,EAAAa,GAAAb,EAAAjxC,GAAAixC,EAAAlkE,KAAAksC,YAAA,oGAAAg4B,EAAAO,GAAA,KAAAJ,EAAA,UAA8LE,YAAA,gBAAAjF,GAAA,CAAgCr1B,MAAA,SAAAk7B,GAAyBjB,EAAA/3B,kBAAA,MAA6B,CAAA+3B,EAAAO,GAAA,eAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,wDAAAixC,EAAAO,GAAA,KAAAP,EAAA,aAAAG,EAAA,OAAuIE,YAAA,mBAAAnF,MAAA,CAAsCzY,KAAA,eAAoBud,EAAAM,KAAAN,EAAAO,GAAA,KAAAP,EAAA,aAAAG,EAAA,QAAAA,EAAA,UAAkEE,YAAA,gBAAAjF,GAAA,CAAgCr1B,MAAA,SAAAk7B,GAAyBjB,EAAAp4B,UAAAo4B,EAAA56D,KAAAyhC,eAAqC,CAAAm5B,EAAAO,GAAA,iBAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,sDAAAoxC,EAAA,QAAyGE,YAAA,gBAAAlF,MAAA,CAAmC8J,wBAAAjF,EAAAt4B,OAAAs4B,EAAA56D,KAAAyhC,iBAA4Dm5B,EAAAO,GAAA,KAAAJ,EAAA,UAA6BE,YAAA,gBAAAjF,GAAA,CAAgCr1B,MAAA,SAAAk7B,GAAyBjB,EAAAp4B,UAAAo4B,EAAA56D,KAAA0hC,gBAAsC,CAAAk5B,EAAAO,GAAA,iBAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,uDAAAoxC,EAAA,QAA0GE,YAAA,gBAAAlF,MAAA,CAAmC8J,wBAAAjF,EAAAt4B,OAAAs4B,EAAA56D,KAAA0hC,kBAA6Dk5B,EAAAO,GAAA,KAAAJ,EAAA,UAA6BE,YAAA,gBAAAjF,GAAA,CAAgCr1B,MAAA,SAAAk7B,GAAyBjB,EAAAp4B,UAAAo4B,EAAA56D,KAAA2hC,mBAAyC,CAAAi5B,EAAAO,GAAA,iBAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,0DAAAoxC,EAAA,QAA6GE,YAAA,gBAAAlF,MAAA,CAAmC8J,wBAAAjF,EAAAt4B,OAAAs4B,EAAA56D,KAAA2hC,qBAAgEi5B,EAAAO,GAAA,KAAAJ,EAAA,UAA6BE,YAAA,gBAAAjF,GAAA,CAAgCr1B,MAAA,SAAAk7B,GAAyBjB,EAAAp4B,UAAAo4B,EAAA56D,KAAA8hC,YAAkC,CAAA84B,EAAAO,GAAA,iBAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,mDAAAoxC,EAAA,QAAsGE,YAAA,gBAAAlF,MAAA,CAAmC8J,wBAAAjF,EAAAt4B,OAAAs4B,EAAA56D,KAAA8hC,cAAyD84B,EAAAO,GAAA,KAAAP,EAAAlkE,KAAA,SAAAqkE,EAAA,UAAiDE,YAAA,gBAAAjF,GAAA,CAAgCr1B,MAAA,SAAAk7B,GAAyBjB,EAAAp4B,UAAAo4B,EAAA56D,KAAA4hC,gCAAsD,CAAAg5B,EAAAO,GAAA,iBAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,uEAAAoxC,EAAA,QAA0HE,YAAA,gBAAAlF,MAAA,CAAmC8J,wBAAAjF,EAAAt4B,OAAAs4B,EAAA56D,KAAA4hC,kCAA6Eg5B,EAAAM,KAAAN,EAAAO,GAAA,KAAAP,EAAAlkE,KAAA,SAAAqkE,EAAA,UAA0DE,YAAA,gBAAAjF,GAAA,CAAgCr1B,MAAA,SAAAk7B,GAAyBjB,EAAAp4B,UAAAo4B,EAAA56D,KAAA6hC,6BAAmD,CAAA+4B,EAAAO,GAAA,iBAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,oEAAAoxC,EAAA,QAAuHE,YAAA,gBAAAlF,MAAA,CAAmC8J,wBAAAjF,EAAAt4B,OAAAs4B,EAAA56D,KAAA6hC,+BAA0E+4B,EAAAM,KAAAN,EAAAO,GAAA,KAAAP,EAAAlkE,KAAA,SAAAqkE,EAAA,UAA0DE,YAAA,gBAAAjF,GAAA,CAAgCr1B,MAAA,SAAAk7B,GAAyBjB,EAAAp4B,UAAAo4B,EAAA56D,KAAA+hC,eAAqC,CAAA64B,EAAAO,GAAA,iBAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,sDAAAoxC,EAAA,QAAyGE,YAAA,gBAAAlF,MAAA,CAAmC8J,wBAAAjF,EAAAt4B,OAAAs4B,EAAA56D,KAAA+hC,iBAA4D64B,EAAAM,OAAAN,EAAAM,SAAAN,EAAAO,GAAA,KAAAJ,EAAA,UAAqDE,YAAA,4BAAAlF,MAAA,CAA+C2J,QAAA9E,EAAAp5B,eAA6B,CAAAo5B,EAAAO,GAAA,WAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,kDAAAixC,EAAAO,GAAA,KAAAJ,EAAA,UAA6GjF,MAAA,CAAOwI,GAAA,UAAc,CAAA1D,EAAA,qBAAAG,EAAA,eAA+CjF,MAAA,CAAOgK,YAAAlF,EAAA/3B,iBAAAtxC,KAAA6I,MAAA,KAAoD,CAAA2gE,EAAA,YAAiBlkC,KAAA,UAAc,CAAA+jC,EAAAO,GAAA,aAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,mDAAAixC,EAAAO,GAAA,KAAAJ,EAAA,KAAAH,EAAAO,GAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,qDAAAixC,EAAAO,GAAA,KAAAJ,EAAA,YAAgNlkC,KAAA,UAAc,CAAAkkC,EAAA,UAAeE,YAAA,kBAAAjF,GAAA,CAAkCr1B,MAAA,SAAAk7B,GAAyBjB,EAAA/3B,kBAAA,MAA8B,CAAA+3B,EAAAO,GAAA,eAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,mCAAAixC,EAAAO,GAAA,KAAAJ,EAAA,UAAkGE,YAAA,yBAAAjF,GAAA,CAAyCr1B,MAAA,SAAAk7B,GAAyBjB,EAAAz6D,gBAAmB,CAAAy6D,EAAAO,GAAA,eAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,2DAAAixC,EAAAM,MAAA,QAC56JP,EAAA,iCCDAntE,EAAA8C,EAAAuW,EAAA,sBAAA4uD,IAAAjoE,EAAA8C,EAAAuW,EAAA,sBAAA8zD,IAAA,IAAAlF,EAAA,WAA0B,IAAAmF,EAAAxgE,KAAaygE,EAAAD,EAAAE,eAA0BC,EAAAH,EAAAI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,OAAiBE,YAAA,mBAA8B,CAAAF,EAAA,aAAkBE,YAAA,wBAAAnF,MAAA,CAA2C1T,QAAA,QAAA2d,WAAA,EAAAlD,UAAA,aAAAz2D,OAAA,IAAyE,CAAA20D,EAAA,OAAYjF,MAAA,CAAOj/B,KAAA,WAAiBA,KAAA,WAAgB,CAAAkkC,EAAA,OAAYE,YAAA,iBAA4B,CAAAF,EAAA,UAAeE,YAAA,0CAAAjF,GAAA,CAA0Dr1B,MAAAi6B,EAAAp3B,cAAyB,CAAAo3B,EAAAO,GAAA,eAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,sCAAAixC,EAAAO,GAAA,KAAAP,EAAAlkE,KAAA,WAAAqkE,EAAA,OAAwHE,YAAA,mBAAAnF,MAAA,CAAsCzY,KAAA,eAAoBud,EAAAO,GAAA,KAAAP,EAAAlkE,KAAA,gBAAAqkE,EAAA,UAAsDE,YAAA,gCAAAjF,GAAA,CAAgDr1B,MAAAi6B,EAAAr3B,cAAyB,CAAAq3B,EAAAO,GAAA,iBAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,6CAAAixC,EAAAM,KAAAN,EAAAO,GAAA,KAAAP,EAAAlkE,KAAAspE,gBAA4NpF,EAAAM,KAA5NH,EAAA,UAAmJE,YAAA,gCAAAjF,GAAA,CAAgDr1B,MAAAi6B,EAAAt3B,cAAyB,CAAAs3B,EAAAO,GAAA,iBAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,8CAAAixC,EAAAM,KAAAN,EAAAO,GAAA,KAAAJ,EAAA,OAA8HE,YAAA,mBAAAnF,MAAA,CAAsCzY,KAAA,eAAoBud,EAAAO,GAAA,KAAAP,EAAAlkE,KAAA,mBAAAqkE,EAAA,UAAyDE,YAAA,0CAAAjF,GAAA,CAA0Dr1B,MAAAi6B,EAAA9+D,cAAyB,CAAA8+D,EAAAO,GAAA,eAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,sCAAAoxC,EAAA,UAAyFE,YAAA,0CAAAjF,GAAA,CAA0Dr1B,MAAAi6B,EAAAj/D,YAAuB,CAAAi/D,EAAAO,GAAA,eAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,oCAAAixC,EAAAO,GAAA,KAAAJ,EAAA,UAAmGE,YAAA,0CAAAjF,GAAA,CAA0Dr1B,MAAAi6B,EAAAt1D,aAAwB,CAAAs1D,EAAAO,GAAA,eAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,2CAAAixC,EAAAO,GAAA,KAAAJ,EAAA,OAAuGE,YAAA,mCAA8C,CAAAF,EAAA,KAAUE,YAAA,sCAA2C,IACt0DN,EAAA,iCCDAntE,EAAA8C,EAAAuW,EAAA,sBAAA4uD,IAAAjoE,EAAA8C,EAAAuW,EAAA,sBAAA8zD,IAAA,IAAAlF,EAAA,WAA0B,IAAAmF,EAAAxgE,KAAaygE,EAAAD,EAAAE,eAA0BC,EAAAH,EAAAI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,OAAiBE,YAAA,YAAAlF,MAAA6E,EAAAziD,SAA0C,CAAA4iD,EAAA,OAAYE,YAAA,mBAAAlF,MAAA,CAAsCkK,WAAArF,EAAAsF,SAA0BpwC,MAAA8qC,EAAA,QAAmBA,EAAAO,GAAA,KAAAJ,EAAA,OAAwBE,YAAA,iBAA4B,CAAAF,EAAA,OAAYE,YAAA,aAAwB,CAAAF,EAAA,OAAYE,YAAA,aAAwB,CAAAL,EAAA,mBAAAG,EAAA,KAAmCE,YAAA,wBAAAjF,GAAA,CAAwCr1B,MAAAi6B,EAAAv6B,aAAwB,CAAA06B,EAAA,cAAmBjF,MAAA,CAAOwJ,gBAAA1E,EAAA54C,aAAAtrB,KAAAkkE,EAAAlkE,QAAkDkkE,EAAAO,GAAA,KAAAP,EAAAuF,GAAA,OAAApF,EAAA,eAA8CjF,MAAA,CAAOwI,GAAA1D,EAAAv9C,gBAAAu9C,EAAAlkE,QAAoC,CAAAqkE,EAAA,cAAmBjF,MAAA,CAAOwJ,gBAAA1E,EAAA54C,aAAAtrB,KAAAkkE,EAAAlkE,SAAkD,GAAAkkE,EAAAO,GAAA,KAAAJ,EAAA,OAA4BE,YAAA,gBAA2B,CAAAF,EAAA,OAAYE,YAAA,YAAuB,CAAAL,EAAAlkE,KAAA,UAAAqkE,EAAA,OAAiCE,YAAA,YAAAnF,MAAA,CAA+B90B,MAAA45B,EAAAlkE,KAAAnG,MAAsB4rE,SAAA,CAAWC,UAAAxB,EAAAa,GAAAb,EAAAlkE,KAAAmnB,cAAwCk9C,EAAA,OAAYE,YAAA,YAAAnF,MAAA,CAA+B90B,MAAA45B,EAAAlkE,KAAAnG,OAAuB,CAAAqqE,EAAAO,GAAA,mBAAAP,EAAAa,GAAAb,EAAAlkE,KAAAnG,MAAA,oBAAAqqE,EAAAO,GAAA,KAAAP,EAAAp8B,YAA4Qo8B,EAAAM,KAA5QH,EAAA,eAAuHjF,MAAA,CAAOwI,GAAA,CAAM/tE,KAAA,mBAA0B,CAAAwqE,EAAA,KAAUE,YAAA,uCAAAnF,MAAA,CAA0D90B,MAAA45B,EAAAjxC,GAAA,+BAA0CixC,EAAAO,GAAA,KAAAP,EAAAp8B,cAAAo8B,EAAAlkE,KAAAmqD,SAAAka,EAAA,KAAyEjF,MAAA,CAAOljD,KAAAgoD,EAAAlkE,KAAAkoC,sBAAAhvC,OAAA,WAAyD,CAAAmrE,EAAA,KAAUE,YAAA,iCAAyCL,EAAAM,KAAAN,EAAAO,GAAA,KAAAP,EAAAp8B,aAAAo8B,EAAA38C,SAAA88C,EAAA,kBAAgFjF,MAAA,CAAOp/D,KAAAkkE,EAAAlkE,QAAiBkkE,EAAAM,MAAA,GAAAN,EAAAO,GAAA,KAAAJ,EAAA,OAAqCE,YAAA,eAA0B,CAAAF,EAAA,eAAoBE,YAAA,mBAAAnF,MAAA,CAAsCwI,GAAA1D,EAAAv9C,gBAAAu9C,EAAAlkE,QAAoC,CAAAkkE,EAAAO,GAAA,oBAAAP,EAAAa,GAAAb,EAAAlkE,KAAAqJ,aAAA,oBAAA66D,EAAAO,GAAA,MAAAP,EAAAsF,SAAAtF,EAAAt7B,YAAAy7B,EAAA,QAAyIE,YAAA,eAA0B,CAAAL,EAAAO,GAAAP,EAAAa,GAAAb,EAAAt7B,gBAAAs7B,EAAAM,KAAAN,EAAAO,GAAA,KAAAP,EAAAlkE,KAAA,OAAAqkE,EAAA,QAAAA,EAAA,KAA8FE,YAAA,qBAA6BL,EAAAM,KAAAN,EAAAO,GAAA,KAAAP,EAAAjgD,aAAA+7C,eAAAkE,EAAAsF,QAA6GtF,EAAAM,KAA7GH,EAAA,QAAsFE,YAAA,YAAuB,CAAAL,EAAAO,GAAAP,EAAAa,GAAAb,EAAA77B,UAAA,IAAA67B,EAAAa,GAAAb,EAAAjxC,GAAA,mCAAAixC,EAAAO,GAAA,KAAAJ,EAAA,OAAkHE,YAAA,aAAwB,CAAAL,EAAAlkE,KAAA0pE,aAAAxF,EAAA38C,UAAA28C,EAAAp8B,YAAAu8B,EAAA,OAAsEE,YAAA,aAAwB,CAAAL,EAAAO,GAAA,eAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,0CAAAixC,EAAAM,KAAAN,EAAAO,GAAA,MAAAP,EAAAp8B,cAAAo8B,EAAA38C,UAAA28C,EAAAz6B,SAA46Dy6B,EAAAM,KAA56DH,EAAA,OAAoKE,YAAA,eAA0B,cAAAL,EAAAz7B,kBAAA47B,EAAA,SAAqDW,WAAA,EAAanrE,KAAA,QAAAorE,QAAA,UAAA3qE,MAAA4pE,EAAA,mBAAAgB,WAAA,uBAA8FX,YAAA,oBAAAnF,MAAA,CAAyCtjE,GAAA,uBAAAooE,EAAAlkE,KAAAlE,GAAA9C,KAAA,QAAsDysE,SAAA,CAAWnrE,MAAA4pE,EAAA,oBAAiC5E,GAAA,CAAK5pD,MAAA,SAAAyvD,GAAyBA,EAAAjsE,OAAAwtE,YAAsCxC,EAAAv7B,mBAAAw8B,EAAAjsE,OAAAoB,WAA6C4pE,EAAAM,KAAAN,EAAAO,GAAA,kBAAAP,EAAAz7B,kBAAA47B,EAAA,SAA0EW,WAAA,EAAanrE,KAAA,QAAAorE,QAAA,UAAA3qE,MAAA4pE,EAAA,mBAAAgB,WAAA,uBAA8FX,YAAA,kBAAAnF,MAAA,CAAuCtjE,GAAA,qBAAAooE,EAAAlkE,KAAAlE,GAAA9C,KAAA,SAAqDysE,SAAA,CAAWnrE,MAAA4pE,EAAA,oBAAiC5E,GAAA,CAAK5pD,MAAA,SAAAyvD,GAAyBA,EAAAjsE,OAAAwtE,YAAsCxC,EAAAv7B,mBAAAw8B,EAAAjsE,OAAAoB,WAA6C4pE,EAAAM,KAAAN,EAAAO,GAAA,KAAAJ,EAAA,SAAmCE,YAAA,0BAAAnF,MAAA,CAA6CoI,IAAA,mBAAwB,CAAAnD,EAAA,UAAeW,WAAA,EAAanrE,KAAA,QAAAorE,QAAA,UAAA3qE,MAAA4pE,EAAA,kBAAAgB,WAAA,sBAA4FX,YAAA,mBAAAnF,MAAA,CAAwCtjE,GAAA,mBAAAooE,EAAAlkE,KAAAlE,IAAoCwjE,GAAA,CAAKjiC,OAAA,SAAA8nC,GAA0B,IAAAsC,EAAA5qD,MAAA9mB,UAAA4J,OAAA1J,KAAAkvE,EAAAjsE,OAAAgE,QAAA,SAAAnD,GAAkF,OAAAA,EAAAkkC,WAAkBjgC,IAAA,SAAAjE,GAA+D,MAA7C,WAAAA,IAAA2tE,OAAA3tE,EAAAO,QAA0D4pE,EAAAz7B,kBAAA08B,EAAAjsE,OAAAuO,SAAAggE,IAAA,MAAmF,CAAApD,EAAA,UAAejF,MAAA,CAAO9kE,MAAA,aAAoB,CAAA4pE,EAAAO,GAAA,kBAAAP,EAAAO,GAAA,KAAAJ,EAAA,UAAoDjF,MAAA,CAAO9kE,MAAA,UAAiB,CAAA4pE,EAAAO,GAAA,cAAAP,EAAAO,GAAA,KAAAJ,EAAA,UAAgDjF,MAAA,CAAO9kE,MAAA,YAAmB,CAAA4pE,EAAAO,GAAA,gBAAAP,EAAAO,GAAA,KAAAJ,EAAA,UAAkDjF,MAAA,CAAO9kE,MAAA,SAAgB,CAAA4pE,EAAAO,GAAA,mBAAAP,EAAAO,GAAA,KAAAJ,EAAA,KAAgDE,YAAA,yBAA6BL,EAAAO,GAAA,KAAAP,EAAA38C,UAAA28C,EAAAp8B,YAAAu8B,EAAA,OAAyEE,YAAA,qBAAgC,CAAAF,EAAA,OAAYE,YAAA,aAAwB,CAAAF,EAAA,gBAAqBjF,MAAA,CAAOp/D,KAAAkkE,EAAAlkE,QAAiBkkE,EAAAO,GAAA,KAAAP,EAAAlkE,KAAA,WAAAkkE,EAAAlkE,KAAA2pE,WAA4NtF,EAAA,kBAAyBE,YAAA,0BAAAnF,MAAA,CAA6Cn1B,MAAAi6B,EAAAx7D,gBAAA4hC,MAAA45B,EAAAjxC,GAAA,2BAAqE,CAAAoxC,EAAA,KAAUE,YAAA,0BAAjXF,EAAA,kBAAgFE,YAAA,kBAAAnF,MAAA,CAAqCn1B,MAAAi6B,EAAA17D,cAAA8hC,MAAA45B,EAAAjxC,GAAA,yBAAiE,CAAAoxC,EAAA,KAAUE,YAAA,qBAAmNL,EAAAM,MAAA,GAAAN,EAAAO,GAAA,KAAAJ,EAAA,OAAAH,EAAAlkE,KAAA,MAAAqkE,EAAA,UAAsEE,YAAA,oCAAAjF,GAAA,CAAoDr1B,MAAAi6B,EAAA57D,aAAwB,CAAA47D,EAAAO,GAAA,iBAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,sCAAAoxC,EAAA,UAA2FE,YAAA,4BAAAjF,GAAA,CAA4Cr1B,MAAAi6B,EAAA97D,WAAsB,CAAA87D,EAAAO,GAAA,iBAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,uCAAAixC,EAAAO,GAAA,eAAAP,EAAA38C,SAAAo/B,KAAA0d,EAAA,mBAAiJjF,MAAA,CAAOp/D,KAAAkkE,EAAAlkE,QAAiBkkE,EAAAM,MAAA,GAAAN,EAAAM,KAAAN,EAAAO,GAAA,MAAAP,EAAA38C,UAAA28C,EAAAlkE,KAAAmqD,SAAAka,EAAA,OAAmFE,YAAA,qBAAgC,CAAAF,EAAA,gBAAqBjF,MAAA,CAAOp/D,KAAAkkE,EAAAlkE,SAAiB,GAAAkkE,EAAAM,SAAAN,EAAAO,GAAA,KAAAP,EAAAsF,QAAy0CtF,EAAAM,KAAz0CH,EAAA,OAAwDE,YAAA,cAAyB,EAAAL,EAAAjgD,aAAA+7C,eAAAkE,EAAAz6B,SAAA46B,EAAA,OAA8DE,YAAA,eAA0B,CAAAF,EAAA,OAAYE,YAAA,aAAAjF,GAAA,CAA6Br1B,MAAA,SAAAk7B,GAAyBA,EAAAn4C,iBAAwBk3C,EAAA16B,eAAA,eAAiC,CAAA66B,EAAA,MAAAH,EAAAO,GAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,0BAAAixC,EAAAO,GAAA,KAAAJ,EAAA,QAAAH,EAAAO,GAAAP,EAAAa,GAAAb,EAAAlkE,KAAAwoC,gBAAA,KAAA67B,EAAA,UAAAH,EAAAO,GAAA,KAAAJ,EAAA,OAAgKE,YAAA,aAAAjF,GAAA,CAA6Br1B,MAAA,SAAAk7B,GAAyBA,EAAAn4C,iBAAwBk3C,EAAA16B,eAAA,cAAgC,CAAA66B,EAAA,MAAAH,EAAAO,GAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,2BAAAixC,EAAAO,GAAA,KAAAJ,EAAA,QAAAH,EAAAO,GAAAP,EAAAa,GAAAb,EAAAn7B,iBAAAm7B,EAAAjxC,GAAA,oBAAAixC,EAAAlkE,KAAA4pE,oBAAA1F,EAAAO,GAAA,KAAAJ,EAAA,OAAuME,YAAA,aAAAjF,GAAA,CAA6Br1B,MAAA,SAAAk7B,GAAyBA,EAAAn4C,iBAAwBk3C,EAAA16B,eAAA,gBAAkC,CAAA66B,EAAA,MAAAH,EAAAO,GAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,2BAAAixC,EAAAO,GAAA,KAAAJ,EAAA,QAAAH,EAAAO,GAAAP,EAAAa,GAAAb,EAAAj7B,mBAAAi7B,EAAAjxC,GAAA,oBAAAixC,EAAAlkE,KAAA6pE,wBAAA3F,EAAAM,KAAAN,EAAAO,GAAA,MAAAP,EAAAsF,SAAAtF,EAAAlkE,KAAA8pE,iBAAAzF,EAAA,KAAgQE,YAAA,gBAAAkB,SAAA,CAAsCC,UAAAxB,EAAAa,GAAAb,EAAAlkE,KAAA8pE,mBAA8CxK,GAAA,CAAKr1B,MAAA,SAAAk7B,GAAiD,OAAxBA,EAAAn4C,iBAAwBk3C,EAAAz3C,YAAA04C,OAAiCjB,EAAAsF,QAAqDtF,EAAAM,KAArDH,EAAA,KAAyBE,YAAA,iBAA4B,CAAAL,EAAAO,GAAA,WAAAP,EAAAa,GAAAb,EAAAlkE,KAAAsuC,aAAA,iBACluN21B,EAAA,YAAoC,IAAaE,EAAbzgE,KAAa0gE,eAA0BC,EAAvC3gE,KAAuC4gE,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,OAAiBE,YAAA,iCAA4C,CAAAF,EAAA,KAAUE,YAAA,+DCD1KztE,EAAA8C,EAAAuW,EAAA,sBAAA4uD,IAAAjoE,EAAA8C,EAAAuW,EAAA,sBAAA8zD,IAAA,IAAAlF,EAAA,WAA0B,IAAAmF,EAAAxgE,KAAaygE,EAAAD,EAAAE,eAA0BC,EAAAH,EAAAI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,OAAiBjgC,IAAA,mBAAAmiC,YAAA,CAAoCr2C,MAAA,SAAgBg0C,EAAA6B,GAAA7B,EAAA,cAAAt2B,EAAAjb,GAAuC,OAAA0xC,EAAA,OAAiBzpE,IAAA+3B,EAAA4xC,YAAA,cAAAlF,MAAA,CAA2C0K,cAAA7F,EAAA72B,cAAA28B,aAAA9F,EAAA72B,eAAoEjU,MAAA8qC,EAAA12B,SAAAI,EAAAj4C,SAAkC,CAAA0uE,EAAA,OAAYE,YAAA,qBAAgCL,EAAA6B,GAAA,WAAAprD,GAAmC,OAAA0pD,EAAA,cAAwBzpE,IAAA+f,EAAA7e,GAAAs9B,MAAA8qC,EAAAv2B,UAAAhzB,EAAA7e,GAAA8xC,GAAAwxB,MAAA,CAAmE6K,YAAA/F,EAAAp2C,SAAA3E,KAAA+6C,EAAA/6C,KAAAxO,aAAAuvD,cAAA,EAAAC,oBAAAjG,EAAA52B,kBAAAzyC,KAAA,KAAA8f,EAAA7e,SAA2J,OAAO,IACnrBmoE,EAAA,iCCDAntE,EAAA8C,EAAAuW,EAAA,sBAAA4uD,IAAAjoE,EAAA8C,EAAAuW,EAAA,sBAAA8zD,IAAA,IAAAlF,EAAA,WAA0B,IAAAmF,EAAAxgE,KAAaygE,EAAAD,EAAAE,eAA0BC,EAAAH,EAAAI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,OAAAA,EAAA,KAAyBE,YAAA,oBAAAnF,MAAA,CAAuCljD,KAAAgoD,EAAA91B,KAAAnxC,IAAA/D,OAAA,SAAAg0B,IAAA,aAAwD,CAAAg3C,EAAA/1B,UAAA+1B,EAAAh2B,YAAAm2B,EAAA,OAA8CE,YAAA,aAAAlF,MAAA,CAAgC+K,cAAA,UAAAlG,EAAA70C,OAAuC,CAAAg1C,EAAA,OAAYjF,MAAA,CAAOhnE,IAAA8rE,EAAA91B,KAAAne,WAAsBi0C,EAAAM,KAAAN,EAAAO,GAAA,KAAAJ,EAAA,OAAmCE,YAAA,gBAA2B,CAAAF,EAAA,QAAaE,YAAA,mBAA8B,CAAAL,EAAAO,GAAAP,EAAAa,GAAAb,EAAA91B,KAAAi8B,kBAAAnG,EAAAO,GAAA,KAAAJ,EAAA,MAAgEE,YAAA,cAAyB,CAAAL,EAAAO,GAAAP,EAAAa,GAAAb,EAAA91B,KAAA9D,UAAA45B,EAAAO,GAAA,KAAAP,EAAA,eAAAG,EAAA,KAA4EE,YAAA,oBAA+B,CAAAL,EAAAO,GAAAP,EAAAa,GAAAb,EAAA91B,KAAAE,gBAAA41B,EAAAM,YAC5pBP,EAAA,iCCDAntE,EAAA8C,EAAAuW,EAAA,sBAAA4uD,IAAAjoE,EAAA8C,EAAAuW,EAAA,sBAAA8zD,IAAA,IAAAlF,EAAA,WAA0B,IAAAmF,EAAAxgE,KAAaygE,EAAAD,EAAAE,eAA0BC,EAAAH,EAAAI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,OAAiBE,YAAA,WAAsBL,EAAA6B,GAAA7B,EAAA,qBAAAlkE,GAAyC,OAAAqkE,EAAA,eAAyBzpE,IAAAoF,EAAAlE,GAAAyoE,YAAA,eAAAnF,MAAA,CAA8CwI,GAAA1D,EAAAv9C,gBAAA3mB,KAAgC,CAAAqkE,EAAA,cAAmBE,YAAA,eAAAnF,MAAA,CAAkCp/D,WAAa,KAAM,IACxVikE,EAAA,iCCDAntE,EAAA8C,EAAAuW,EAAA,sBAAA4uD,IAAAjoE,EAAA8C,EAAAuW,EAAA,sBAAA8zD,IAAA,IAAAlF,EAAA,WAA0B,IAAAmF,EAAAxgE,KAAaygE,EAAAD,EAAAE,eAA0BC,EAAAH,EAAAI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,aAAuBjF,MAAA,CAAOkL,gBAAA,iBAAAnE,UAAA,YAAAoE,iBAAArG,EAAAv1B,eAA4F2wB,GAAA,CAAKlzB,KAAA,SAAA+4B,GAAwBjB,EAAAh1B,WAAc,CAAAm1B,EAAA,YAAiBlkC,KAAA,WAAe,CAAA+jC,EAAA,OAAAG,EAAA,UAA4BjF,MAAA,CAAOoL,cAAA,EAAAzkD,UAAAm+C,EAAAllE,OAAA6qB,SAAA,KAAyDw6C,EAAA,OAAYE,YAAA,0BAAqC,CAAAF,EAAA,KAAUE,YAAA,+BAAsC,GAAAL,EAAAO,GAAA,KAAAP,EAAAuC,GAAA,gBAC3dxC,EAAA,iCCDAntE,EAAA8C,EAAAuW,EAAA,sBAAA4uD,IAAAjoE,EAAA8C,EAAAuW,EAAA,sBAAA8zD,IAAA,IAAAlF,EAAA,WAA0B,IAAAmF,EAAAxgE,KAAaygE,EAAAD,EAAAE,eAA0BC,EAAAH,EAAAI,MAAAD,IAAAF,EAAwB,OAAAD,EAAAh8C,WAAqmWg8C,EAAAM,KAArmWH,EAAA,OAAmCE,YAAA,YAAAlF,MAAA,EAAgCoL,oBAAAvG,EAAA97C,WAAqC,CAAGsiD,sBAAAxG,EAAAyG,kBAA8C,CAAAzG,EAAA,MAAAG,EAAA,OAAwBE,YAAA,eAA0B,CAAAL,EAAAO,GAAA,WAAAP,EAAAa,GAAAb,EAAA1rE,OAAA,YAAA6rE,EAAA,KAA0DE,YAAA,0BAAAjF,GAAA,CAA0Cr1B,MAAAi6B,EAAA13C,gBAAwB03C,EAAAM,KAAAN,EAAAO,GAAA,KAAAP,EAAAp8C,QAAAo8C,EAAA0G,UAAA,CAAAvG,EAAA,OAAkEE,YAAA,gCAA2C,CAAAF,EAAA,SAAAA,EAAA,eAAgCjF,MAAA,CAAOwI,GAAA1D,EAAAv9C,kBAA0B,CAAAu9C,EAAAO,GAAA,iBAAAP,EAAAa,GAAAb,EAAAllE,OAAAgB,KAAAqJ,aAAA,sBAAA66D,EAAAO,GAAA,KAAAJ,EAAA,SAA4GE,YAAA,aAAwB,CAAAL,EAAAO,GAAAP,EAAAa,GAAAb,EAAA18C,aAAAnpB,KAAA,UAAA6lE,EAAAO,GAAA,KAAAJ,EAAA,KAAoEE,YAAA,SAAAnF,MAAA,CAA4BljD,KAAA,KAAWojD,GAAA,CAAKr1B,MAAA,SAAAk7B,GAAiD,OAAxBA,EAAAn4C,iBAAwBk3C,EAAAx2C,WAAAy3C,MAAgC,CAAAd,EAAA,KAAUE,YAAA,kCAAuC,CAAAL,EAAA,WAAAG,EAAA,OAAmCE,YAAA,cAAyB,CAAAF,EAAA,KAAUE,YAAA,sBAAgCL,EAAAO,GAAA,KAAAJ,EAAA,QAAyBE,YAAA,SAAoB,CAAAL,EAAAO,GAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,uBAAAixC,EAAAM,KAAAN,EAAAO,GAAA,MAAAP,EAAAj+D,SAAAi+D,EAAA19C,WAAA09C,EAAA3+C,eAAgzB2+C,EAAAM,KAAhzBH,EAAA,OAAoIE,YAAA,+BAAAlF,MAAA,CAAA6E,EAAAp+C,cAAA,CAAsEgR,YAAAotC,EAAA99C,gBAAiCgT,MAAA,CAAA8qC,EAAA99C,gBAA8B,CAAA89C,EAAA,QAAAG,EAAA,cAAiCE,YAAA,aAAAnF,MAAA,CAAgCwJ,gBAAA1E,EAAA54C,aAAAtrB,KAAAkkE,EAAAn+C,UAAA/lB,QAA4DkkE,EAAAM,KAAAN,EAAAO,GAAA,KAAAJ,EAAA,OAAiCE,YAAA,oBAA+B,CAAAF,EAAA,QAAaE,YAAA,aAAwB,CAAAL,EAAA,cAAAG,EAAA,eAAwCjF,MAAA,CAAOwI,GAAA1D,EAAA98C,sBAA8Bq+C,SAAA,CAAWC,UAAAxB,EAAAa,GAAAb,EAAAh9C,kBAAuCm9C,EAAA,eAAoBjF,MAAA,CAAOwI,GAAA1D,EAAA98C,uBAA+B,CAAA88C,EAAAO,GAAAP,EAAAa,GAAAb,EAAAj9C,eAAA,GAAAi9C,EAAAO,GAAA,KAAAJ,EAAA,KAA0DE,YAAA,4BAAAnF,MAAA,CAA+C90B,MAAA45B,EAAAjxC,GAAA,sBAAmCixC,EAAAO,GAAA,eAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,0CAAAixC,EAAAO,GAAA,KAAAJ,EAAA,OAA+GE,YAAA,eAAAlF,MAAA,CAAA6E,EAAAj+C,UAAA,CAAkD6Q,YAAAotC,EAAA39C,UAAAskD,aAAA3G,EAAAj+D,UAAAi+D,EAAA3+C,iBAA+E6T,MAAA,CAAA8qC,EAAA39C,WAAA64C,MAAA,CAAmC0L,YAAA5G,EAAA56D,OAAsB,CAAA46D,EAAA19C,UAAiV09C,EAAAM,KAAjVH,EAAA,OAA6BE,YAAA,cAAyB,CAAAF,EAAA,eAAoBjF,MAAA,CAAOwI,GAAA1D,EAAAv9C,iBAAyBokD,SAAA,CAAWC,SAAA,SAAA7F,GAA2E,OAAjDA,EAAAp4C,kBAAyBo4C,EAAAn4C,iBAAwBk3C,EAAAv2C,mBAAAw3C,MAAwC,CAAAd,EAAA,cAAmBjF,MAAA,CAAOv1C,QAAAq6C,EAAAr6C,QAAA++C,gBAAA1E,EAAA54C,aAAAtrB,KAAAkkE,EAAAllE,OAAAgB,SAA+E,OAAAkkE,EAAAO,GAAA,KAAAJ,EAAA,OAAyCE,YAAA,eAA0B,CAAAL,EAAA,aAAAG,EAAA,YAAoCE,YAAA,kBAAAnF,MAAA,CAAqCp/D,KAAAkkE,EAAAllE,OAAAgB,KAAAqnC,SAAA,EAAAG,UAAA,KAAuD08B,EAAAM,KAAAN,EAAAO,GAAA,KAAAP,EAAA19C,UAA2qG09C,EAAAM,KAA3qGH,EAAA,OAAkDE,YAAA,iBAA4B,CAAAF,EAAA,OAAYE,YAAA,oBAA+B,CAAAF,EAAA,OAAYE,YAAA,yBAAoC,CAAAL,EAAAllE,OAAAgB,KAAA,UAAAqkE,EAAA,MAAuCE,YAAA,YAAAkB,SAAA,CAAkCC,UAAAxB,EAAAa,GAAAb,EAAAllE,OAAAgB,KAAAmnB,cAA+Ck9C,EAAA,MAAWE,YAAA,aAAwB,CAAAL,EAAAO,GAAA,uBAAAP,EAAAa,GAAAb,EAAAllE,OAAAgB,KAAAnG,MAAA,wBAAAqqE,EAAAO,GAAA,KAAAJ,EAAA,eAAmHE,YAAA,eAAAnF,MAAA,CAAkCwI,GAAA1D,EAAAv9C,kBAA0B,CAAAu9C,EAAAO,GAAA,uBAAAP,EAAAa,GAAAb,EAAAllE,OAAAgB,KAAAqJ,aAAA,4BAAA66D,EAAAO,GAAA,KAAAJ,EAAA,QAAuHE,YAAA,iBAA4B,CAAAF,EAAA,eAAoBE,YAAA,qBAAAnF,MAAA,CAAwCwI,GAAA,CAAM/tE,KAAA,eAAA2D,OAAA,CAAgC1B,GAAAooE,EAAAllE,OAAAlD,OAAwB,CAAAuoE,EAAA,WAAgBjF,MAAA,CAAOprC,KAAAkwC,EAAAllE,OAAAupC,WAAA09B,cAAA,OAA+C,GAAA/B,EAAAO,GAAA,KAAAP,EAAAllE,OAAA,WAAAqlE,EAAA,OAAoDE,YAAA,+BAA0C,CAAAF,EAAA,KAAUhF,MAAA6E,EAAA53C,eAAA43C,EAAAllE,OAAAwH,YAAA44D,MAAA,CAAuD90B,MAAA45B,EAAA+G,GAAA,aAAA/G,GAAAllE,OAAAwH,iBAAqD09D,EAAAM,KAAAN,EAAAO,GAAA,KAAAP,EAAAllE,OAAAmrD,UAAA+Z,EAAA0G,UAAmO1G,EAAAM,KAAnOH,EAAA,KAA0EE,YAAA,aAAAnF,MAAA,CAAgCljD,KAAAgoD,EAAAllE,OAAAksE,aAAAhyE,OAAA,SAAAoxC,MAAA,WAAmE,CAAA+5B,EAAA,KAAUE,YAAA,oCAA4CL,EAAAO,GAAA,KAAAP,EAAAiH,aAAAjH,EAAA0G,UAAA,CAAAvG,EAAA,KAAqEjF,MAAA,CAAOljD,KAAA,IAAAouB,MAAA,UAA4Bg1B,GAAA,CAAKr1B,MAAA,SAAAk7B,GAAiD,OAAxBA,EAAAn4C,iBAAwBk3C,EAAAz2C,eAAA03C,MAAoC,CAAAd,EAAA,KAAUE,YAAA,qCAA4CL,EAAAM,KAAAN,EAAAO,GAAA,KAAAP,EAAA,QAAAG,EAAA,KAAgDjF,MAAA,CAAOljD,KAAA,KAAWojD,GAAA,CAAKr1B,MAAA,SAAAk7B,GAAiD,OAAxBA,EAAAn4C,iBAAwBk3C,EAAAx2C,WAAAy3C,MAAgC,CAAAd,EAAA,KAAUE,YAAA,+BAAuCL,EAAAM,MAAA,KAAAN,EAAAO,GAAA,KAAAJ,EAAA,OAAyCE,YAAA,qBAAgC,CAAAL,EAAA,QAAAG,EAAA,OAA0BE,YAAA,4BAAuC,CAAAL,EAAA0G,UAA+YvG,EAAA,QAA6DE,YAAA,YAAuB,CAAAF,EAAA,QAAaE,YAAA,iBAA4B,CAAAL,EAAAO,GAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,yBAA5gBoxC,EAAA,iBAAuCjF,MAAA,CAAOgM,YAAAlH,EAAAllE,OAAAwpB,wBAA8C,CAAA67C,EAAA,KAAUE,YAAA,WAAAnF,MAAA,CAA8BljD,KAAA,IAAAmvD,aAAAnH,EAAAjxC,GAAA,mBAAiDqsC,GAAA,CAAKr1B,MAAA,SAAAk7B,GAAyBA,EAAAn4C,iBAAwBk3C,EAAA32C,aAAA22C,EAAAllE,OAAAwpB,0BAAqD,CAAA67C,EAAA,KAAUE,YAAA,2BAAqCL,EAAAO,GAAA,KAAAJ,EAAA,QAAyBE,YAAA,4BAAuC,CAAAL,EAAAO,GAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,2BAA6HixC,EAAAO,GAAA,KAAAJ,EAAA,eAA8EjF,MAAA,CAAOwI,GAAA1D,EAAAr9C,mBAA2B,CAAAq9C,EAAAO,GAAA,uBAAAP,EAAAa,GAAAb,EAAAl9C,aAAA,wBAAAk9C,EAAAO,GAAA,KAAAP,EAAA1zB,SAAA0zB,EAAA1zB,QAAA76C,OAAA0uE,EAAA,QAA2IE,YAAA,2BAAsC,CAAAL,EAAAO,GAAA,6CAAAP,EAAAM,MAAA,GAAAN,EAAAM,KAAAN,EAAAO,GAAA,KAAAP,EAAA3+C,iBAAA2+C,EAAA0G,WAAA1G,EAAA1zB,SAAA0zB,EAAA1zB,QAAA76C,OAAA0uE,EAAA,OAA8KE,YAAA,WAAsB,CAAAF,EAAA,QAAaE,YAAA,SAAoB,CAAAL,EAAAO,GAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,2BAAAixC,EAAAO,GAAA,KAAAP,EAAA6B,GAAA7B,EAAA,iBAAAzP,GAAmG,OAAA4P,EAAA,iBAA2BzpE,IAAA65D,EAAA34D,GAAAsjE,MAAA,CAAoBgM,YAAA3W,EAAA34D,KAAsB,CAAAuoE,EAAA,KAAUE,YAAA,aAAAnF,MAAA,CAAgCljD,KAAA,KAAWojD,GAAA,CAAKr1B,MAAA,SAAAk7B,GAAyBA,EAAAn4C,iBAAwBk3C,EAAA32C,aAAAknC,EAAA34D,OAA6B,CAAAooE,EAAAO,GAAAP,EAAAa,GAAAtQ,EAAA56D,cAAiC,GAAAqqE,EAAAM,SAAAN,EAAAO,GAAA,KAAAP,EAAA,YAAAG,EAAA,OAAoEE,YAAA,yBAAAlF,MAAA,CAA4CiM,eAAApH,EAAAz+C,qBAA0C,CAAAy+C,EAAAz+C,mBAA+Ny+C,EAAAM,KAA/NH,EAAA,KAAoCE,YAAA,oBAAAlF,MAAA,CAAuCkM,4BAAArH,EAAA97C,WAA6Cg3C,MAAA,CAAQljD,KAAA,KAAWojD,GAAA,CAAKr1B,MAAA,SAAAk7B,GAAyBA,EAAAn4C,iBAAwBk3C,EAAAz+C,oBAAA,KAA8B,CAAAy+C,EAAAO,GAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,yBAAAixC,EAAAO,GAAA,KAAAJ,EAAA,OAA+EE,YAAA,4BAAAkB,SAAA,CAAkDC,UAAAxB,EAAAa,GAAAb,EAAAx5C,cAAoC40C,GAAA,CAAKr1B,MAAA,SAAAk7B,GAAiD,OAAxBA,EAAAn4C,iBAAwBk3C,EAAAz3C,YAAA04C,OAAiCjB,EAAAO,GAAA,KAAAP,EAAA,mBAAAG,EAAA,KAA+CE,YAAA,iBAAAnF,MAAA,CAAoCljD,KAAA,KAAWojD,GAAA,CAAKr1B,MAAA,SAAAk7B,GAAyBA,EAAAn4C,iBAAwBk3C,EAAAz+C,oBAAA,KAA+B,CAAAy+C,EAAAO,GAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,yBAAAixC,EAAAM,OAAAH,EAAA,OAAqEE,YAAA,yBAAAlF,MAAA,CAA4CiM,cAAApH,EAAAl7C,iBAAmC,CAAAk7C,EAAA,eAAAG,EAAA,KAA+BE,YAAA,oBAAAlF,MAAA,CAAuCkM,4BAAArH,EAAA97C,WAA6Cg3C,MAAA,CAAQljD,KAAA,KAAWojD,GAAA,CAAKr1B,MAAA,SAAAk7B,GAAiD,OAAxBA,EAAAn4C,iBAAwBk3C,EAAAt2C,eAAAu3C,MAAoC,CAAAjB,EAAAO,GAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,yBAAAixC,EAAAM,KAAAN,EAAAO,GAAA,KAAAP,EAAAn7C,kBAAqRs7C,EAAA,OAAYE,YAAA,4BAAAkB,SAAA,CAAkDC,UAAAxB,EAAAa,GAAAb,EAAAllE,OAAA2rB,eAA4C20C,GAAA,CAAKr1B,MAAA,SAAAk7B,GAAiD,OAAxBA,EAAAn4C,iBAAwBk3C,EAAAz3C,YAAA04C,OAArbd,EAAA,OAAwGE,YAAA,4BAAAkB,SAAA,CAAkDC,UAAAxB,EAAAa,GAAAb,EAAAx5C,cAAoC40C,GAAA,CAAKr1B,MAAA,SAAAk7B,GAAiD,OAAxBA,EAAAn4C,iBAAwBk3C,EAAAz3C,YAAA04C,OAAkOjB,EAAAO,GAAA,KAAAP,EAAA,kBAAAG,EAAA,KAA8CE,YAAA,kBAAAnF,MAAA,CAAqCljD,KAAA,KAAWojD,GAAA,CAAKr1B,MAAA,SAAAk7B,GAAiD,OAAxBA,EAAAn4C,iBAAwBk3C,EAAAt2C,eAAAu3C,MAAoC,CAAAjB,EAAAO,GAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,yBAAAixC,EAAAM,KAAAN,EAAAO,GAAA,KAAAP,EAAA,YAAAG,EAAA,KAA+FE,YAAA,iBAAAnF,MAAA,CAAoCljD,KAAA,KAAWojD,GAAA,CAAKr1B,MAAA,SAAAk7B,GAAiD,OAAxBA,EAAAn4C,iBAAwBk3C,EAAAt2C,eAAAu3C,MAAoC,CAAAjB,EAAAO,GAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,yBAAAixC,EAAAM,OAAAN,EAAAO,GAAA,KAAAP,EAAAllE,OAAA0H,MAAAw9D,EAAAllE,OAAA0H,KAAAxJ,QAAAmnE,EAAA,OAAAA,EAAA,QAAyIjF,MAAA,CAAOoM,YAAAtH,EAAAllE,OAAA0H,SAA6B,GAAAw9D,EAAAM,KAAAN,EAAAO,GAAA,MAAAP,EAAAllE,OAAA2qB,aAAAu6C,EAAAn7C,oBAAAm7C,EAAAz+C,mBAAgkBy+C,EAAAM,KAAhkBH,EAAA,OAAoHE,YAAA,0BAAqC,CAAAL,EAAA6B,GAAA7B,EAAA,+BAAAvpD,GAA0D,OAAA0pD,EAAA,cAAwBzpE,IAAA+f,EAAA7e,GAAAyoE,YAAA,cAAAnF,MAAA,CAAmD/vC,KAAA60C,EAAAx6C,eAAAP,KAAA+6C,EAAAh7C,iBAAAvO,aAAAuvD,cAAA,EAAAD,YAAA/F,EAAAp2C,gBAA8Ho2C,EAAAO,GAAA,KAAAP,EAAAl6C,mBAAAr0B,OAAA,EAAA0uE,EAAA,WAAgEjF,MAAA,CAAOj2C,KAAA+6C,EAAAh7C,iBAAAS,YAAAu6C,EAAAl6C,mBAAAigD,YAAA/F,EAAAp2C,cAA6Fo2C,EAAAM,MAAA,GAAAN,EAAAO,GAAA,MAAAP,EAAAllE,OAAAovC,MAAA81B,EAAAn7C,mBAAAm7C,EAAA19C,UAA4P09C,EAAAM,KAA5PH,EAAA,OAA4GE,YAAA,2BAAsC,CAAAF,EAAA,gBAAqBjF,MAAA,CAAOhxB,KAAA81B,EAAAllE,OAAAovC,KAAA/e,KAAA60C,EAAAx6C,eAAAP,KAAA+6C,EAAAh7C,qBAA8E,GAAAg7C,EAAAO,GAAA,KAAAJ,EAAA,cAA4CjF,MAAA,CAAOvlE,KAAA,SAAe,EAAAqqE,EAAA/4C,eAAA+4C,EAAA97C,WAAA87C,EAAAt5C,4BAAAj1B,OAAA,EAAA0uE,EAAA,OAAgGE,YAAA,uBAAkC,CAAAF,EAAA,OAAYE,YAAA,SAAoB,CAAAL,EAAA78C,2BAAA0D,aAAAm5C,EAAA78C,2BAAA0D,YAAAp1B,OAAA,EAAA0uE,EAAA,OAAkHE,YAAA,cAAyB,CAAAF,EAAA,KAAUE,YAAA,cAAyB,CAAAL,EAAAO,GAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,sBAAAixC,EAAAO,GAAA,KAAAJ,EAAA,OAAmEE,YAAA,eAA0B,CAAAL,EAAAO,GAAA,yBAAAP,EAAAa,GAAAb,EAAA78C,2BAAA0D,YAAAp1B,QAAA,4BAAAuuE,EAAAM,KAAAN,EAAAO,GAAA,KAAAP,EAAA78C,2BAAAyD,aAAAo5C,EAAA78C,2BAAAyD,YAAAn1B,OAAA,EAAA0uE,EAAA,OAA6PE,YAAA,cAAyB,CAAAF,EAAA,KAAUE,YAAA,cAAyB,CAAAL,EAAAO,GAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,wBAAAixC,EAAAO,GAAA,KAAAJ,EAAA,OAAqEE,YAAA,eAA0B,CAAAL,EAAAO,GAAA,yBAAAP,EAAAa,GAAAb,EAAA78C,2BAAAyD,YAAAn1B,QAAA,4BAAAuuE,EAAAM,KAAAN,EAAAO,GAAA,KAAAJ,EAAA,OAAuJE,YAAA,cAAyB,CAAAF,EAAA,cAAmBjF,MAAA,CAAOt8D,MAAAohE,EAAAt5C,gCAAyC,OAAAs5C,EAAAM,OAAAN,EAAAO,GAAA,KAAAP,EAAA19C,WAAA09C,EAAA0G,UAA84B1G,EAAAM,KAA94BH,EAAA,OAA8EE,YAAA,6BAAwC,CAAAF,EAAA,OAAAH,EAAA,SAAAG,EAAA,KAAmCE,YAAA,yBAAAlF,MAAA,CAA4CoM,qBAAAvH,EAAA/+C,UAAmCi6C,MAAA,CAAQ90B,MAAA45B,EAAAjxC,GAAA,mBAAiCqsC,GAAA,CAAKr1B,MAAA,SAAAk7B,GAAiD,OAAxBA,EAAAn4C,iBAAwBk3C,EAAA52C,eAAA63C,OAAoCd,EAAA,KAAUE,YAAA,8CAAAnF,MAAA,CAAiE90B,MAAA45B,EAAAjxC,GAAA,qBAAkCixC,EAAAO,GAAA,KAAAP,EAAAllE,OAAA0sE,cAAA,EAAArH,EAAA,QAAAH,EAAAO,GAAAP,EAAAa,GAAAb,EAAAllE,OAAA0sE,kBAAAxH,EAAAM,OAAAN,EAAAO,GAAA,KAAAJ,EAAA,kBAA+IjF,MAAA,CAAO54D,WAAA09D,EAAAllE,OAAAwH,WAAAmlE,YAAAzH,EAAA38C,SAAAvoB,OAAAklE,EAAAllE,UAAiFklE,EAAAO,GAAA,KAAAJ,EAAA,mBAAoCjF,MAAA,CAAOuM,YAAAzH,EAAA38C,SAAAvoB,OAAAklE,EAAAllE,UAA8CklE,EAAAO,GAAA,KAAAJ,EAAA,iBAAkCjF,MAAA,CAAOpgE,OAAAklE,EAAAllE,QAAoBsgE,GAAA,CAAKxuC,QAAAozC,EAAA33C,UAAAq/C,UAAA1H,EAAA13C,eAAoD,SAAA03C,EAAAO,GAAA,KAAAP,EAAA,SAAAG,EAAA,OAA0DE,YAAA,aAAwB,CAAAF,EAAA,kBAAuBE,YAAA,aAAAnF,MAAA,CAAgCyM,WAAA3H,EAAAllE,OAAAlD,GAAA+sB,WAAAq7C,EAAAllE,OAAA6pB,WAAAijD,eAAA5H,EAAAllE,OAAAgB,KAAA+rE,qBAAA7H,EAAAllE,OAAAwH,WAAAwwB,QAAAktC,EAAA96C,cAAiKk2C,GAAA,CAAK0M,OAAA9H,EAAA52C,mBAA6B,GAAA42C,EAAAM,OAAA,IAC9rWP,EAAA,iCCDAntE,EAAA8C,EAAAuW,EAAA,sBAAA4uD,IAAAjoE,EAAA8C,EAAAuW,EAAA,sBAAA8zD,IAAA,IAAAlF,EAAA,WAA0B,IAAAmF,EAAAxgE,KAAaygE,EAAAD,EAAAE,eAA0BC,EAAAH,EAAAI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,OAAiBE,YAAA,yBAAAlF,MAAA,CAAA6E,EAAAj0B,WAAA,2BAAyF,CAAAi0B,EAAA,WAAAG,EAAA,OAA6BE,YAAA,sCAAiD,CAAAF,EAAA,QAAaE,YAAA,SAAoB,CAAAL,EAAAO,GAAA,IAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,iCAAAixC,EAAAO,GAAA,KAAAP,EAAA,YAAAG,EAAA,QAAAA,EAAA,KAA6GjF,MAAA,CAAOljD,KAAA,KAAWojD,GAAA,CAAKr1B,MAAA,SAAAk7B,GAAiD,OAAxBA,EAAAn4C,iBAAwBk3C,EAAAz2C,eAAA03C,MAAoC,CAAAjB,EAAAO,GAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,2BAAAixC,EAAAM,OAAAN,EAAAM,KAAAN,EAAAO,GAAA,KAAAP,EAAA6B,GAAA7B,EAAA,sBAAAllE,GAA6H,OAAAqlE,EAAA,UAAoBzpE,IAAAoE,EAAAlD,GAAAyoE,YAAA,2BAAAnF,MAAA,CAA4D6M,kBAAA/H,EAAAgI,aAAAhI,EAAAj0B,WAAAlqB,UAAA/mB,EAAAmsE,YAAAjH,EAAAj0B,WAAAk8B,cAAAjI,EAAAjiD,uBAAAiiD,EAAAjiD,sBAAAjjB,EAAAlD,IAAA0pB,QAAA0+C,EAAA1+C,QAAAxmB,EAAAlD,IAAAswE,kBAAAlI,EAAAj0B,WAAA5pB,UAAA69C,EAAAlzB,eAAAR,QAAA0zB,EAAAnzB,WAAA/xC,EAAAlD,IAAAuwE,aAAAnI,EAAAn8C,WAAoVu3C,GAAA,CAAKgN,KAAApI,EAAApzB,aAAArjB,eAAAy2C,EAAAz2C,qBAA+D,IAChnCw2C,EAAA,iCCDAntE,EAAA8C,EAAAuW,EAAA,sBAAA4uD,IAAAjoE,EAAA8C,EAAAuW,EAAA,sBAAA8zD,IAAA,IAAAlF,EAAA,WAA0B,IAAAmF,EAAAxgE,KAAaygE,EAAAD,EAAAE,eAA0BC,EAAAH,EAAAI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,OAAiBhF,MAAA6E,EAAAziD,QAAAC,MAAuB,CAAA2iD,EAAA,OAAYhF,MAAA6E,EAAAziD,QAAAG,QAAyB,CAAAyiD,EAAA,OAAYE,YAAA,SAAoB,CAAAL,EAAAO,GAAA,WAAAP,EAAAa,GAAAb,EAAA55B,OAAA,YAAA45B,EAAAO,GAAA,KAAAP,EAAA,cAAAG,EAAA,OAA4FE,YAAA,6BAAAjF,GAAA,CAA6Cr1B,MAAA,SAAAk7B,GAAyBA,EAAAn4C,oBAA2B,CAAAk3C,EAAAO,GAAA,WAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,wCAAAixC,EAAAM,KAAAN,EAAAO,GAAA,KAAAP,EAAA/jE,SAAAmhB,eAAA,IAAA4iD,EAAA7iD,cAAAgjD,EAAA,UAAoKE,YAAA,kBAAAjF,GAAA,CAAkCr1B,MAAA,SAAAk7B,GAAiD,OAAxBA,EAAAn4C,iBAAwBk3C,EAAA7gD,gBAAA8hD,MAAqC,CAAAjB,EAAAO,GAAA,WAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,sBAAAixC,EAAAa,GAAAb,EAAA3iD,mBAAA,YAAA2iD,EAAAM,KAAAN,EAAAO,GAAA,MAAAP,EAAA/jE,SAAAmhB,eAAA,IAAA4iD,EAAA7iD,cAAAgjD,EAAA,OAA0LE,YAAA,sBAAAjF,GAAA,CAAsCr1B,MAAA,SAAAk7B,GAAyBA,EAAAn4C,oBAA2B,CAAAk3C,EAAAO,GAAA,WAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,oCAAAixC,EAAAM,OAAAN,EAAAO,GAAA,KAAAJ,EAAA,OAAuGhF,MAAA6E,EAAAziD,QAAAnjB,MAAuB,CAAA+lE,EAAA,OAAYE,YAAA,YAAuB,CAAAL,EAAA6B,GAAA7B,EAAA,yBAAAhxC,GAAkD,OAAAgxC,EAAA/jE,SAAAosE,eAAAr5C,GAAAmxC,EAAA,gBAAmEzpE,IAAAs4B,EAAA,UAAAqxC,YAAA,gBAAAnF,MAAA,CAA4DgM,YAAAl4C,EAAAg5C,aAAA,EAAAM,2BAAAtI,EAAAjiD,sBAAAoqD,aAAAnI,EAAAn8C,aAAyHm8C,EAAAM,QAAYN,EAAAO,GAAA,KAAAP,EAAA6B,GAAA7B,EAAA/jE,SAAA,yBAAAnB,GAAqE,OAAAklE,EAAApiD,wBAAA9iB,EAAAlD,IAA2LooE,EAAAM,KAA3LH,EAAA,gBAAqEzpE,IAAAoE,EAAAlD,GAAAyoE,YAAA,gBAAAnF,MAAA,CAAiDgM,YAAApsE,EAAAlD,GAAAowE,aAAA,EAAAG,aAAAnI,EAAAn8C,iBAAiF,KAAAm8C,EAAAO,GAAA,KAAAJ,EAAA,OAA8BhF,MAAA6E,EAAAziD,QAAAI,QAAyB,KAAAqiD,EAAA1/C,MAAA6/C,EAAA,OAA4BE,YAAA,0DAAqE,CAAAL,EAAAO,GAAA,WAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,qCAAAixC,EAAA,YAAAG,EAAA,OAAmGE,YAAA,0DAAqE,CAAAL,EAAAO,GAAA,WAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,0CAAAixC,EAAA/jE,SAAA4jB,QAA0RsgD,EAAA,OAA8DE,YAAA,oDAA+D,CAAAF,EAAA,KAAUE,YAAA,8BAAjaF,EAAA,KAA4GjF,MAAA,CAAOljD,KAAA,KAAWojD,GAAA,CAAKr1B,MAAA,SAAAk7B,GAAyBA,EAAAn4C,iBAAwBk3C,EAAA3gD,wBAA2B,CAAA8gD,EAAA,OAAYE,YAAA,oDAA+D,CAAAL,EAAAO,GAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,kCAChvEgxC,EAAA,iCCDAntE,EAAA8C,EAAAuW,EAAA,sBAAA4uD,IAAAjoE,EAAA8C,EAAAuW,EAAA,sBAAA8zD,IAAA,IAAAlF,EAAA,WAA0B,IAAaoF,EAAbzgE,KAAa0gE,eAAkD,OAA/D1gE,KAAuC4gE,MAAAD,IAAAF,GAAwB,YAAsB/E,MAAA,CAAO90B,MAA5F5mC,KAA4FuvB,GAAA,iBAAA9yB,SAA5FuD,KAA4FvD,SAAAssE,gBAAA,aACtHxI,EAAA,iCCDAntE,EAAA8C,EAAAuW,EAAA,sBAAA4uD,IAAAjoE,EAAA8C,EAAAuW,EAAA,sBAAA8zD,IAAA,IAAAlF,EAAA,WAA0B,IAAaoF,EAAbzgE,KAAa0gE,eAAkD,OAA/D1gE,KAAuC4gE,MAAAD,IAAAF,GAAwB,YAAsB/E,MAAA,CAAO90B,MAA5F5mC,KAA4FuvB,GAAA,YAAA9yB,SAA5FuD,KAA4FvD,SAAAssE,gBAAA,wBACtHxI,EAAA,iCCDAntE,EAAA8C,EAAAuW,EAAA,sBAAA4uD,IAAAjoE,EAAA8C,EAAAuW,EAAA,sBAAA8zD,IAAA,IAAAlF,EAAA,WAA0B,IAAaoF,EAAbzgE,KAAa0gE,eAAkD,OAA/D1gE,KAAuC4gE,MAAAD,IAAAF,GAAwB,YAAsB/E,MAAA,CAAO90B,MAA5F5mC,KAA4FuvB,GAAA,gBAAA9yB,SAA5FuD,KAA4FvD,SAAAssE,gBAAA,cACtHxI,EAAA,iCCDAntE,EAAA8C,EAAAuW,EAAA,sBAAA4uD,IAAAjoE,EAAA8C,EAAAuW,EAAA,sBAAA8zD,IAAA,IAAAlF,EAAA,WAA0B,IAAaoF,EAAbzgE,KAAa0gE,eAAkD,OAA/D1gE,KAAuC4gE,MAAAD,IAAAF,GAAwB,YAAsB/E,MAAA,CAAO90B,MAA5F5mC,KAA4FtH,IAAA+D,SAA5FuD,KAA4FvD,SAAAssE,gBAAA,MAAArwE,IAA5FsH,KAA4FtH,QACtH6nE,EAAA,iCCDAntE,EAAA8C,EAAAuW,EAAA,sBAAA4uD,IAAAjoE,EAAA8C,EAAAuW,EAAA,sBAAA8zD,IAAA,IAAAlF,EAAA,WAA0B,IAAaoF,EAAbzgE,KAAa0gE,eAAkD,OAA/D1gE,KAAuC4gE,MAAAD,IAAAF,GAAwB,gBAA0B/E,MAAA,CAAO8M,aAAA,EAAAQ,UAAA,OAAAtB,YAAhG1nE,KAAgGwvB,aAC1H+wC,EAAA,iCCDAntE,EAAA8C,EAAAuW,EAAA,sBAAA4uD,IAAAjoE,EAAA8C,EAAAuW,EAAA,sBAAA8zD,IAAA,IAAAlF,EAAA,WAA0B,IAAAmF,EAAAxgE,KAAaygE,EAAAD,EAAAE,eAA0BC,EAAAH,EAAAI,MAAAD,IAAAF,EAAwB,kBAAAD,EAAApxB,aAAA95C,KAAAqrE,EAAA,UAA0DjF,MAAA,CAAOv1C,SAAA,EAAA9D,UAAAm+C,EAAApxB,aAAA9zC,UAAoDqlE,EAAA,OAAAH,EAAAhxB,WAAAgxB,EAAA9+C,QAAAi/C,EAAA,OAAqDE,YAAA,mBAA8B,CAAAF,EAAA,SAAAA,EAAA,eAAgCjF,MAAA,CAAOwI,GAAA1D,EAAAv9C,kBAA0B,CAAAu9C,EAAAO,GAAA,aAAAP,EAAAa,GAAAb,EAAApxB,aAAAE,aAAA3pC,aAAA,kBAAA66D,EAAAO,GAAA,KAAAJ,EAAA,KAA8GE,YAAA,SAAAnF,MAAA,CAA4BljD,KAAA,KAAWojD,GAAA,CAAKr1B,MAAA,SAAAk7B,GAAiD,OAAxBA,EAAAn4C,iBAAwBk3C,EAAAx2C,WAAAy3C,MAAgC,CAAAd,EAAA,KAAUE,YAAA,iCAAuCF,EAAA,OAAgBE,YAAA,cAAAlF,MAAA,CAAA6E,EAAAj+C,UAAA,CAAiD6Q,YAAAotC,EAAA39C,YAA6B6S,MAAA,CAAA8qC,EAAA39C,YAA4B,CAAA89C,EAAA,KAAUE,YAAA,mBAAAnF,MAAA,CAAsCljD,KAAAgoD,EAAApxB,aAAAE,aAAA9K,uBAA2Do3B,GAAA,CAAK0L,SAAA,SAAA7F,GAA2E,OAAjDA,EAAAp4C,kBAAyBo4C,EAAAn4C,iBAAwBk3C,EAAAv2C,mBAAAw3C,MAAwC,CAAAd,EAAA,cAAmBjF,MAAA,CAAOv1C,SAAA,EAAA++C,gBAAA1E,EAAA54C,aAAAtrB,KAAAkkE,EAAApxB,aAAAE,iBAAsF,GAAAkxB,EAAAO,GAAA,KAAAJ,EAAA,OAA4BE,YAAA,sBAAiC,CAAAL,EAAA,aAAAG,EAAA,YAAoCjF,MAAA,CAAOp/D,KAAAkkE,EAAArxB,QAAAqxB,EAAApxB,cAAAzL,SAAA,EAAAG,UAAA,KAAqE08B,EAAAM,KAAAN,EAAAO,GAAA,KAAAJ,EAAA,QAAkCE,YAAA,wBAAmC,CAAAF,EAAA,OAAYE,YAAA,mBAA8B,CAAAL,EAAApxB,aAAAE,aAAA7rB,UAAAk9C,EAAA,QAAyDE,YAAA,WAAAnF,MAAA,CAA8B90B,MAAA,IAAA45B,EAAApxB,aAAAE,aAAA3pC,aAAsDo8D,SAAA,CAAWC,UAAAxB,EAAAa,GAAAb,EAAApxB,aAAAE,aAAA7rB,cAA6Dk9C,EAAA,QAAaE,YAAA,WAAAnF,MAAA,CAA8B90B,MAAA,IAAA45B,EAAApxB,aAAAE,aAAA3pC,cAAuD,CAAA66D,EAAAO,GAAAP,EAAAa,GAAAb,EAAApxB,aAAAE,aAAAn5C,SAAAqqE,EAAAO,GAAA,cAAAP,EAAApxB,aAAA95C,KAAAqrE,EAAA,QAAAA,EAAA,KAAyHE,YAAA,qBAA+BL,EAAAO,GAAA,KAAAJ,EAAA,SAAAH,EAAAO,GAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,qCAAAixC,EAAAM,KAAAN,EAAAO,GAAA,gBAAAP,EAAApxB,aAAA95C,KAAAqrE,EAAA,QAAAA,EAAA,KAAiKE,YAAA,sBAAAnF,MAAA,CAAyC90B,MAAA45B,EAAAjxC,GAAA,sBAAmCixC,EAAAO,GAAA,KAAAJ,EAAA,SAAAH,EAAAO,GAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,oCAAAixC,EAAAM,KAAAN,EAAAO,GAAA,gBAAAP,EAAApxB,aAAA95C,KAAAqrE,EAAA,QAAAA,EAAA,KAAgKE,YAAA,0BAAoCL,EAAAO,GAAA,KAAAJ,EAAA,SAAAH,EAAAO,GAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,oCAAAixC,EAAAM,OAAAN,EAAAO,GAAA,gBAAAP,EAAApxB,aAAA95C,KAAAqrE,EAAA,OAAyJE,YAAA,WAAsB,CAAAF,EAAA,QAAaE,YAAA,SAAoB,CAAAF,EAAA,WAAgBjF,MAAA,CAAOprC,KAAAkwC,EAAApxB,aAAAvK,WAAA09B,cAAA,QAAsD,KAAA5B,EAAA,OAAkBE,YAAA,WAAsB,CAAAL,EAAApxB,aAAA,OAAAuxB,EAAA,eAA8CE,YAAA,aAAAnF,MAAA,CAAgCwI,GAAA,CAAM/tE,KAAA,eAAA2D,OAAA,CAAgC1B,GAAAooE,EAAApxB,aAAA9zC,OAAAlD,OAAqC,CAAAuoE,EAAA,WAAgBjF,MAAA,CAAOprC,KAAAkwC,EAAApxB,aAAAvK,WAAA09B,cAAA,QAAsD,GAAA/B,EAAAM,MAAA,GAAAN,EAAAO,GAAA,KAAAP,EAAA,SAAAG,EAAA,KAAsDjF,MAAA,CAAOljD,KAAA,KAAWojD,GAAA,CAAKr1B,MAAA,SAAAk7B,GAAiD,OAAxBA,EAAAn4C,iBAAwBk3C,EAAAx2C,WAAAy3C,MAAgC,CAAAd,EAAA,KAAUE,YAAA,+BAAuCL,EAAAM,OAAAN,EAAAO,GAAA,gBAAAP,EAAApxB,aAAA95C,KAAAqrE,EAAA,OAA0EE,YAAA,eAA0B,CAAAF,EAAA,eAAoBjF,MAAA,CAAOwI,GAAA1D,EAAAv9C,kBAA0B,CAAAu9C,EAAAO,GAAA,gBAAAP,EAAAa,GAAAb,EAAApxB,aAAAE,aAAA3pC,aAAA,qBAAAg7D,EAAA,UAA6GE,YAAA,QAAAnF,MAAA,CAA2Bv1C,SAAA,EAAA9D,UAAAm+C,EAAApxB,aAAAi2B,OAAA4D,cAAA,OAAsE,QACx0G1I,EAAA,iCCDAntE,EAAA8C,EAAAuW,EAAA,sBAAA4uD,IAAAjoE,EAAA8C,EAAAuW,EAAA,sBAAA8zD,IAAA,IAAAlF,EAAA,WAA0B,IAAAmF,EAAAxgE,KAAaygE,EAAAD,EAAAE,eAA0BC,EAAAH,EAAAI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,OAAiBE,YAAA,gBAAAlF,MAAA,CAAmCuN,QAAA1I,EAAAlyB,cAA4B,CAAAqyB,EAAA,OAAYhF,MAAA6E,EAAAjyB,WAAoB,CAAAiyB,EAAA19C,UAA+pB09C,EAAAM,KAA/pBH,EAAA,OAA6BE,YAAA,iBAA4B,CAAAF,EAAA,OAAYE,YAAA,SAAoB,CAAAL,EAAAO,GAAA,aAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,8CAAAixC,EAAA,YAAAG,EAAA,QAA+GE,YAAA,yCAAoD,CAAAL,EAAAO,GAAAP,EAAAa,GAAAb,EAAA3xB,gBAAA2xB,EAAAM,OAAAN,EAAAO,GAAA,KAAAP,EAAA,MAAAG,EAAA,OAAiFE,YAAA,6BAAAjF,GAAA,CAA6Cr1B,MAAA,SAAAk7B,GAAyBA,EAAAn4C,oBAA2B,CAAAk3C,EAAAO,GAAA,aAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,0CAAAixC,EAAAM,KAAAN,EAAAO,GAAA,KAAAP,EAAA,YAAAG,EAAA,UAAkIE,YAAA,cAAAjF,GAAA,CAA8Br1B,MAAA,SAAAk7B,GAAiD,OAAxBA,EAAAn4C,iBAAwBk3C,EAAAzxB,WAAA0yB,MAAgC,CAAAjB,EAAAO,GAAA,aAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,qCAAAixC,EAAAM,OAAAN,EAAAO,GAAA,KAAAJ,EAAA,OAAmHE,YAAA,cAAyBL,EAAA6B,GAAA7B,EAAA,8BAAApxB,GAA0D,OAAAuxB,EAAA,OAAiBzpE,IAAAk4C,EAAAh3C,GAAAyoE,YAAA,eAAAlF,MAAA,CAAsDwN,QAAA3I,EAAAlyB,cAAAc,EAAA+uB,OAAkD,CAAAwC,EAAA,OAAYE,YAAA,yBAAmCL,EAAAO,GAAA,KAAAJ,EAAA,gBAAiCjF,MAAA,CAAOtsB,mBAA6B,KAAM,GAAAoxB,EAAAO,GAAA,KAAAJ,EAAA,OAA2BE,YAAA,gBAA2B,CAAAL,EAAA,YAAAG,EAAA,OAA8BE,YAAA,0DAAqE,CAAAL,EAAAO,GAAA,aAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,sDAAAixC,EAAAngD,QAAoSsgD,EAAA,OAAqJE,YAAA,oDAA+D,CAAAF,EAAA,KAAUE,YAAA,8BAAlgBF,EAAA,KAAiHjF,MAAA,CAAOljD,KAAA,KAAWojD,GAAA,CAAKr1B,MAAA,SAAAk7B,GAAyBA,EAAAn4C,iBAAwBk3C,EAAAxxB,6BAAgC,CAAA2xB,EAAA,OAAYE,YAAA,oDAA+D,CAAAL,EAAAO,GAAA,eAAAP,EAAAa,GAAAb,EAAAlyB,YAAAkyB,EAAAjxC,GAAA,2BAAAixC,EAAAjxC,GAAA,sDAC9tDgxC,EAAA,iCCDAntE,EAAA8C,EAAAuW,EAAA,sBAAA4uD,IAAAjoE,EAAA8C,EAAAuW,EAAA,sBAAA8zD,IAAA,IAAAlF,EAAA,WAA0B,IAAAmF,EAAAxgE,KAAaygE,EAAAD,EAAAE,eAA0BC,EAAAH,EAAAI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,OAAiBE,YAAA,uBAAkC,CAAAF,EAAA,OAAYE,YAAA,iBAA4B,CAAAF,EAAA,OAAYE,YAAA,SAAoB,CAAAL,EAAAO,GAAA,WAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,mCAAAixC,EAAAO,GAAA,KAAAJ,EAAA,gBAAoGjgC,IAAA,cAAAg7B,MAAA,CAAyB0N,YAAA5I,EAAAryB,eAA8B,CAAAwyB,EAAA,QAAazpE,IAAA,WAAAwkE,MAAA,CAAsB50B,MAAA05B,EAAAjxC,GAAA,mBAAgCixC,EAAAO,GAAA,KAAAJ,EAAA,QAAyBzpE,IAAA,gBAAAwkE,MAAA,CAA2B50B,MAAA05B,EAAAjxC,GAAA,gCAA6CixC,EAAAO,GAAA,KAAAJ,EAAA,QAAyBzpE,IAAA,UAAAwkE,MAAA,CAAqB50B,MAAA05B,EAAAjxC,GAAA,6BAAwCixC,EAAAO,GAAA,KAAAJ,EAAA,iBAAoCjgC,IAAA,gBAAAg7B,MAAA,CAA2BuN,cAAA,EAAAI,gBAAA,EAAAC,cAAA9I,EAAAtyB,eAAoE,IAC5uBqyB,EAAA,iCCDAntE,EAAA8C,EAAAuW,EAAA,sBAAA4uD,IAAAjoE,EAAA8C,EAAAuW,EAAA,sBAAA8zD,IAAA,IAAAlF,EAAA,WAA0B,IAAaoF,EAAbzgE,KAAa0gE,eAAkD,OAA/D1gE,KAAuC4gE,MAAAD,IAAAF,GAAwB,YAAsB/E,MAAA,CAAO90B,MAA5F5mC,KAA4FuvB,GAAA,WAAA9yB,SAA5FuD,KAA4FvD,SAAAssE,gBAAA,UACtHxI,EAAA,iCCDAntE,EAAA8C,EAAAuW,EAAA,sBAAA4uD,IAAAjoE,EAAA8C,EAAAuW,EAAA,sBAAA8zD,IAAA,IAAAlF,EAAA,WAA0B,IAAAmF,EAAAxgE,KAAaygE,EAAAD,EAAAE,eAA0BC,EAAAH,EAAAI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,OAAiBE,YAAA,mBAA8B,CAAAF,EAAA,eAAoBjF,MAAA,CAAOwI,GAAA1D,EAAAv9C,gBAAAu9C,EAAAlkE,QAAoC,CAAAqkE,EAAA,cAAmBE,YAAA,SAAAnF,MAAA,CAA4Bp/D,KAAAkkE,EAAAlkE,MAAgB+qE,SAAA,CAAW9gC,MAAA,SAAAk7B,GAAiD,OAAxBA,EAAAn4C,iBAAwBk3C,EAAAv2C,mBAAAw3C,QAAwC,GAAAjB,EAAAO,GAAA,KAAAP,EAAA,aAAAG,EAAA,OAA+CE,YAAA,oCAA+C,CAAAF,EAAA,YAAiBjF,MAAA,CAAOp/D,KAAAkkE,EAAAlkE,KAAAqnC,SAAA,EAAAG,UAAA,MAAgD,GAAA68B,EAAA,OAAgBE,YAAA,qCAAgD,CAAAF,EAAA,OAAYE,YAAA,4BAAAnF,MAAA,CAA+C90B,MAAA45B,EAAAlkE,KAAAnG,OAAuB,CAAAqqE,EAAAlkE,KAAA,UAAAqkE,EAAA,QAAkCE,YAAA,kCAAAkB,SAAA,CAAwDC,UAAAxB,EAAAa,GAAAb,EAAAlkE,KAAAmnB,cAAwCk9C,EAAA,QAAaE,YAAA,mCAA8C,CAAAL,EAAAO,GAAAP,EAAAa,GAAAb,EAAAlkE,KAAAnG,WAAAqqE,EAAAO,GAAA,KAAAJ,EAAA,OAAAA,EAAA,eAA4EE,YAAA,8BAAAnF,MAAA,CAAiDwI,GAAA1D,EAAAv9C,gBAAAu9C,EAAAlkE,QAAoC,CAAAkkE,EAAAO,GAAA,cAAAP,EAAAa,GAAAb,EAAAlkE,KAAAqJ,aAAA,kBAAA66D,EAAAO,GAAA,KAAAP,EAAAuC,GAAA,oBAChgCxC,EAAA,iCCDAntE,EAAA8C,EAAAuW,EAAA,sBAAA4uD,IAAAjoE,EAAA8C,EAAAuW,EAAA,sBAAA8zD,IAAA,IAAAlF,EAAA,WAA0B,IAAAmF,EAAAxgE,KAAaygE,EAAAD,EAAAE,eAA0BC,EAAAH,EAAAI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,mBAA6BjF,MAAA,CAAOp/D,KAAAkkE,EAAAlkE,OAAiB,CAAAqkE,EAAA,OAAYE,YAAA,iCAA4C,EAAAL,EAAA+I,cAAA/I,EAAAlkE,KAAA0pE,YAAArF,EAAA,QAAyDE,YAAA,SAAoB,CAAAL,EAAAO,GAAA,WAAAP,EAAAa,GAAAb,EAAA/uB,KAAA+uB,EAAAjxC,GAAA,qBAAAixC,EAAAjxC,GAAA,sCAAAixC,EAAAM,KAAAN,EAAAO,GAAA,KAAAP,EAAA38C,SAA4Q,CAAA88C,EAAA,gBAAoCE,YAAA,4BAAAnF,MAAA,CAA+Cp/D,KAAAkkE,EAAAlkE,KAAAktE,kBAAAhJ,EAAAjxC,GAAA,iCAA/V,CAAAixC,EAAAlkE,KAAA2P,UAA4Qu0D,EAAAM,KAA5QH,EAAA,OAAuLE,YAAA,6BAAwC,CAAAF,EAAA,gBAAqBjF,MAAA,CAAOp/D,KAAAkkE,EAAAlkE,SAAiB,KAA0J,MACzrBikE,EAAA,iCCDAntE,EAAA8C,EAAAuW,EAAA,sBAAA4uD,IAAAjoE,EAAA8C,EAAAuW,EAAA,sBAAA8zD,IAAA,IAAAlF,EAAA,WAA0B,IAAAmF,EAAAxgE,KAAaygE,EAAAD,EAAAE,eAA0BC,EAAAH,EAAAI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,OAAiBE,YAAA,QAAmB,CAAAL,EAAA6B,GAAA7B,EAAA,eAAAn2B,GAAoC,OAAAs2B,EAAA,OAAiBzpE,IAAAspE,EAAA7uB,OAAAtH,GAAAw2B,YAAA,aAA6C,CAAAL,EAAAuC,GAAA,aAAsB14B,UAAU,KAAMm2B,EAAAO,GAAA,SAAAP,EAAA9uB,MAAAz/C,QAAAuuE,EAAAhkC,OAAAitC,MAAA9I,EAAA,OAAuEE,YAAA,4BAAuC,CAAAL,EAAAuC,GAAA,aAAAvC,EAAAM,MAAA,IACnXP,EAAA,iCCDAntE,EAAA8C,EAAAuW,EAAA,sBAAA4uD,IAAAjoE,EAAA8C,EAAAuW,EAAA,sBAAA8zD,IAAA,IAAAlF,EAAA,WAA0B,IAAAmF,EAAAxgE,KAAaygE,EAAAD,EAAAE,eAA0BC,EAAAH,EAAAI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,OAAAH,EAAA,KAAAG,EAAA,OAAsCE,YAAA,oCAA+C,CAAAF,EAAA,YAAiBjF,MAAA,CAAOp/D,KAAAkkE,EAAAlkE,KAAAypC,UAAA,EAAAxL,SAAAimC,EAAA/jE,SAAAitE,QAAAC,wBAAA,EAAAhmC,QAAA,SAA6G68B,EAAAO,GAAA,KAAAJ,EAAA,gBAAiCjF,MAAA,CAAOkO,aAAApJ,EAAApwB,IAAAy5B,uBAAA,EAAAT,YAAA5I,EAAArvB,cAA6E,CAAAwvB,EAAA,YAAiBzpE,IAAA,WAAAwkE,MAAA,CAAsB50B,MAAA05B,EAAAjxC,GAAA,sBAAAzO,MAAA0/C,EAAAlkE,KAAAwoC,eAAA7mB,UAAA,EAAA2oB,MAAA45B,EAAAjxC,GAAA,+BAAA9yB,SAAA+jE,EAAA/jE,SAAAssE,gBAAA,OAAAe,UAAAtJ,EAAAzjE,OAAAgtE,oBAAAvJ,EAAAlkE,KAAAugB,gBAAA8rD,cAAA,KAAuQnI,EAAAO,GAAA,KAAAP,EAAA,kBAAAG,EAAA,OAAgDzpE,IAAA,YAAAwkE,MAAA,CAAuB50B,MAAA05B,EAAAjxC,GAAA,uBAAA+W,UAAAk6B,EAAAlkE,KAAA4pE,gBAA0E,CAAAvF,EAAA,cAAmBjF,MAAA,CAAOoO,UAAAtJ,EAAAzjE,QAAqBitE,YAAAxJ,EAAAyJ,GAAA,EAAsB/yE,IAAA,OAAAgzE,GAAA,SAAAxpC,GAC56B,IAAA2J,EAAA3J,EAAA2J,KACA,OAAAs2B,EAAA,cAAyBjF,MAAA,CAAOp/D,KAAA+tC,aAAoB,GAAAm2B,EAAAM,KAAAN,EAAAO,GAAA,KAAAP,EAAA,oBAAAG,EAAA,OAA+DzpE,IAAA,YAAAwkE,MAAA,CAAuB50B,MAAA05B,EAAAjxC,GAAA,uBAAA+W,UAAAk6B,EAAAlkE,KAAA6pE,kBAA4E,CAAAxF,EAAA,gBAAqBjF,MAAA,CAAOoO,UAAAtJ,EAAAzjE,QAAqBitE,YAAAxJ,EAAAyJ,GAAA,EAAsB/yE,IAAA,OAAAgzE,GAAA,SAAAxpC,GAC7R,IAAA2J,EAAA3J,EAAA2J,KACA,OAAAs2B,EAAA,cAAyBjF,MAAA,CAAOp/D,KAAA+tC,EAAA8/B,iBAAA3J,EAAAhwB,gBAA8C,GAAAgwB,EAAAM,KAAAN,EAAAO,GAAA,KAAAJ,EAAA,YAA0CzpE,IAAA,QAAAwkE,MAAA,CAAmB50B,MAAA05B,EAAAjxC,GAAA,mBAAA+W,UAAAk6B,EAAA/iE,MAAA4gB,gBAAApsB,OAAAgsB,UAAA,EAAA2oB,MAAA45B,EAAAjxC,GAAA,mBAAAw5C,gBAAA,QAAAtsE,SAAA+jE,EAAA/iE,MAAAqsE,UAAAtJ,EAAAzjE,OAAA4rE,cAAA,KAAsNnI,EAAAO,GAAA,KAAAP,EAAA,KAAAG,EAAA,YAAwCzpE,IAAA,YAAAwkE,MAAA,CAAuB50B,MAAA05B,EAAAjxC,GAAA,uBAAA+W,UAAAk6B,EAAA9iE,UAAA2gB,gBAAApsB,OAAAgsB,UAAA,EAAA2oB,MAAA45B,EAAAjxC,GAAA,uBAAAw5C,gBAAA,YAAAtsE,SAAA+jE,EAAA9iE,UAAAirE,cAAA,KAAqNnI,EAAAM,MAAA,OAAAH,EAAA,OAA6BE,YAAA,kCAA6C,CAAAF,EAAA,OAAYE,YAAA,iBAA4B,CAAAF,EAAA,OAAYE,YAAA,SAAoB,CAAAL,EAAAO,GAAA,aAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,yCAAAixC,EAAAO,GAAA,KAAAJ,EAAA,OAAmGE,YAAA,cAAyB,CAAAL,EAAA,MAAAG,EAAA,QAAAH,EAAAO,GAAAP,EAAAa,GAAAb,EAAA1rE,UAAA6rE,EAAA,KAA6DE,YAAA,mCACh8BN,EAAA,iCCLAntE,EAAA8C,EAAAuW,EAAA,sBAAA4uD,IAAAjoE,EAAA8C,EAAAuW,EAAA,sBAAA8zD,IAAA,IAAAlF,EAAA,WAA0B,IAAAmF,EAAAxgE,KAAaygE,EAAAD,EAAAE,eAA0BC,EAAAH,EAAAI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,OAAiBE,YAAA,uBAAkC,CAAAF,EAAA,OAAYE,YAAA,iBAA4B,CAAAF,EAAA,OAAYE,YAAA,SAAoB,CAAAL,EAAAO,GAAA,WAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,6BAAAixC,EAAAO,GAAA,KAAAJ,EAAA,OAAqFE,YAAA,0BAAqC,CAAAF,EAAA,SAAcW,WAAA,EAAanrE,KAAA,QAAAorE,QAAA,UAAA3qE,MAAA4pE,EAAA,WAAAgB,WAAA,eAA8E9gC,IAAA,cAAAmgC,YAAA,eAAAnF,MAAA,CAAsDlR,YAAAgW,EAAAjxC,GAAA,eAAmCwyC,SAAA,CAAWnrE,MAAA4pE,EAAA,YAAyB5E,GAAA,CAAK0I,MAAA,SAAA7C,GAAyB,gBAAAA,IAAAjB,EAAAqD,GAAApC,EAAA/J,QAAA,WAAA+J,EAAAvqE,IAAA,SAAgF,YAAespE,EAAAruB,SAAAquB,EAAA1uB,aAA6B9/B,MAAA,SAAAyvD,GAA0BA,EAAAjsE,OAAAwtE,YAAsCxC,EAAA1uB,WAAA2vB,EAAAjsE,OAAAoB,WAAqC4pE,EAAAO,GAAA,KAAAJ,EAAA,UAA2BE,YAAA,oBAAAjF,GAAA,CAAoCr1B,MAAA,SAAAk7B,GAAyBjB,EAAAruB,SAAAquB,EAAA1uB,eAA+B,CAAA6uB,EAAA,KAAUE,YAAA,oBAA0BL,EAAAO,GAAA,KAAAP,EAAA,QAAAG,EAAA,OAA0CE,YAAA,4BAAuC,CAAAF,EAAA,KAAUE,YAAA,8BAAsCL,EAAA,OAAAG,EAAA,OAAAA,EAAA,OAAqCE,YAAA,sBAAiC,CAAAF,EAAA,gBAAqBjgC,IAAA,cAAAg7B,MAAA,CAAyB0N,YAAA5I,EAAAhuB,kBAAAo3B,aAAApJ,EAAAvuB,kBAAoE,CAAA0uB,EAAA,QAAazpE,IAAA,WAAAwkE,MAAA,CAAsB50B,MAAA05B,EAAAjxC,GAAA,sBAAAixC,EAAAluB,YAAA,sBAA2EkuB,EAAAO,GAAA,KAAAJ,EAAA,QAAyBzpE,IAAA,SAAAwkE,MAAA,CAAoB50B,MAAA05B,EAAAjxC,GAAA,iBAAAixC,EAAAluB,YAAA,YAA4DkuB,EAAAO,GAAA,KAAAJ,EAAA,QAAyBzpE,IAAA,WAAAwkE,MAAA,CAAsB50B,MAAA05B,EAAAjxC,GAAA,mBAAAixC,EAAAluB,YAAA,kBAAiE,KAAAkuB,EAAAM,KAAAN,EAAAO,GAAA,KAAAJ,EAAA,OAAyCE,YAAA,cAAyB,cAAAL,EAAAvuB,gBAAA0uB,EAAA,WAAAH,EAAAniD,gBAAApsB,SAAAuuE,EAAAngD,SAAAmgD,EAAA3uB,OAAA8uB,EAAA,OAA4HE,YAAA,yBAAoC,CAAAF,EAAA,MAAAH,EAAAO,GAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,2BAAAixC,EAAAM,KAAAN,EAAAO,GAAA,KAAAP,EAAA6B,GAAA7B,EAAA,yBAAAllE,GAA8H,OAAAqlE,EAAA,UAAoBzpE,IAAAoE,EAAAlD,GAAAyoE,YAAA,gBAAAnF,MAAA,CAAiD8M,aAAA,EAAAf,YAAA,EAAAthD,SAAA,EAAA9D,UAAA/mB,EAAA2tE,cAAA,QAAgG,cAAAzI,EAAAvuB,gBAAA0uB,EAAA,WAAAH,EAAAphE,MAAAnN,SAAAuuE,EAAAngD,SAAAmgD,EAAA3uB,OAAA8uB,EAAA,OAAoHE,YAAA,yBAAoC,CAAAF,EAAA,MAAAH,EAAAO,GAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,2BAAAixC,EAAAM,KAAAN,EAAAO,GAAA,KAAAP,EAAA6B,GAAA7B,EAAA,eAAAlkE,GAAkH,OAAAqkE,EAAA,cAAwBzpE,IAAAoF,EAAAlE,GAAAyoE,YAAA,0BAAAnF,MAAA,CAAyDp/D,aAAe,gBAAAkkE,EAAAvuB,gBAAA0uB,EAAA,WAAAH,EAAAxuB,SAAA//C,SAAAuuE,EAAAngD,SAAAmgD,EAAA3uB,OAAA8uB,EAAA,OAAyHE,YAAA,yBAAoC,CAAAF,EAAA,MAAAH,EAAAO,GAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,2BAAAixC,EAAAM,KAAAN,EAAAO,GAAA,KAAAP,EAAA6B,GAAA7B,EAAA,kBAAA9tB,GAAwH,OAAAiuB,EAAA,OAAiBzpE,IAAAw7C,EAAAn5C,IAAAsnE,YAAA,8BAAyD,CAAAF,EAAA,OAAYE,YAAA,WAAsB,CAAAF,EAAA,eAAoBjF,MAAA,CAAOwI,GAAA,CAAM/tE,KAAA,eAAA2D,OAAA,CAAgCpB,IAAAg6C,EAAAv8C,SAAwB,CAAAqqE,EAAAO,GAAA,kBAAAP,EAAAa,GAAA3uB,EAAAv8C,MAAA,kBAAAqqE,EAAAO,GAAA,KAAAP,EAAA/tB,kBAAAC,GAAAiuB,EAAA,UAAAH,EAAA/tB,kBAAAC,GAAAvmC,SAAAw0D,EAAA,QAAAH,EAAAO,GAAA,mBAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,yBAAqPzO,MAAA0/C,EAAA/tB,kBAAAC,GAAAvmC,YAAiD,oBAAAw0D,EAAA,QAAAH,EAAAO,GAAA,mBAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,yBAAoGzO,MAAA0/C,EAAA/tB,kBAAAC,GAAAvmC,YAAiD,sBAAAq0D,EAAAM,MAAA,GAAAN,EAAAO,GAAA,KAAAP,EAAA/tB,kBAAAC,GAAAiuB,EAAA,OAA6FE,YAAA,SAAoB,CAAAL,EAAAO,GAAA,eAAAP,EAAAa,GAAAb,EAAA/tB,kBAAAC,GAAA03B,MAAA,gBAAA5J,EAAAM,UAA+F,GAAAN,EAAAM,OAAAN,EAAAO,GAAA,KAAAJ,EAAA,OAAuCE,YAAA,2DACzkHN,EAAA,iCCDAntE,EAAA8C,EAAAuW,EAAA,sBAAA4uD,IAAAjoE,EAAA8C,EAAAuW,EAAA,sBAAA8zD,IAAA,IAAAlF,EAAA,WAA0B,IAAAmF,EAAAxgE,KAAaygE,EAAAD,EAAAE,eAA0BC,EAAAH,EAAAI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,OAAiBE,YAAA,8BAAAlF,MAAA,CAAiDr1B,UAAAk6B,EAAAnkB,SAAAmkB,EAAAl6B,WAA0C,CAAAq6B,EAAA,SAAcE,YAAA,QAAAnF,MAAA,CAA2BoI,IAAAtD,EAAArqE,OAAgB,CAAAqqE,EAAAO,GAAA,SAAAP,EAAAa,GAAAb,EAAA15B,OAAA,UAAA05B,EAAAO,GAAA,cAAAP,EAAAhkB,SAAAmkB,EAAA,SAA4GE,YAAA,uBAAAnF,MAAA,CAA0CtjE,GAAAooE,EAAArqE,KAAA,KAAAb,KAAA,YAAuCysE,SAAA,CAAWjyC,QAAA0wC,EAAAnkB,SAAsBuf,GAAA,CAAK5pD,MAAA,SAAAyvD,GAAyBjB,EAAA12C,MAAA,iBAAA02C,EAAA5pE,MAAA4pE,EAAAhkB,cAAA7mD,OAAkF6qE,EAAAM,KAAAN,EAAAO,GAAA,cAAAP,EAAAhkB,SAAAmkB,EAAA,SAAyEE,YAAA,QAAAnF,MAAA,CAA2BoI,IAAAtD,EAAArqE,KAAA,QAAuBqqE,EAAAM,KAAAN,EAAAO,GAAA,KAAAJ,EAAA,SAAmCE,YAAA,cAAAnF,MAAA,CAAiCtjE,GAAAooE,EAAArqE,KAAAb,KAAA,QAAAgxC,UAAAk6B,EAAAnkB,SAAAmkB,EAAAl6B,UAAqEy7B,SAAA,CAAWnrE,MAAA4pE,EAAA5pE,OAAA4pE,EAAAhkB,UAAkCof,GAAA,CAAK5pD,MAAA,SAAAyvD,GAAyBjB,EAAA12C,MAAA,QAAA23C,EAAAjsE,OAAAoB,WAA0C4pE,EAAAO,GAAA,KAAAJ,EAAA,SAA0BE,YAAA,aAAAnF,MAAA,CAAgCtjE,GAAAooE,EAAArqE,KAAA,KAAAb,KAAA,OAAAgxC,UAAAk6B,EAAAnkB,SAAAmkB,EAAAl6B,UAA2Ey7B,SAAA,CAAWnrE,MAAA4pE,EAAA5pE,OAAA4pE,EAAAhkB,UAAkCof,GAAA,CAAK5pD,MAAA,SAAAyvD,GAAyBjB,EAAA12C,MAAA,QAAA23C,EAAAjsE,OAAAoB,cACrpC2pE,EAAA,iCCDAntE,EAAA8C,EAAAuW,EAAA,sBAAA4uD,IAAAjoE,EAAA8C,EAAAuW,EAAA,sBAAA8zD,IAAA,IAAAlF,EAAA,WAA0B,IAAAmF,EAAAxgE,KAAaygE,EAAAD,EAAAE,eAA0BC,EAAAH,EAAAI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,OAAiBE,YAAA,8BAAAlF,MAAA,CAAiDr1B,UAAAk6B,EAAAnkB,SAAAmkB,EAAAl6B,WAA0C,CAAAq6B,EAAA,SAAcE,YAAA,QAAAnF,MAAA,CAA2BoI,IAAAtD,EAAArqE,OAAgB,CAAAqqE,EAAAO,GAAA,SAAAP,EAAAa,GAAAb,EAAA15B,OAAA,UAAA05B,EAAAO,GAAA,cAAAP,EAAAhkB,SAAAmkB,EAAA,SAA4GE,YAAA,uBAAAnF,MAAA,CAA0CtjE,GAAAooE,EAAArqE,KAAA,KAAAb,KAAA,YAAuCysE,SAAA,CAAWjyC,QAAA0wC,EAAAnkB,SAAsBuf,GAAA,CAAK5pD,MAAA,SAAAyvD,GAAyBjB,EAAA12C,MAAA,QAAA02C,EAAAnkB,aAAA1mD,EAAA6qE,EAAAhkB,cAA8DgkB,EAAAM,KAAAN,EAAAO,GAAA,cAAAP,EAAAhkB,SAAAmkB,EAAA,SAAyEE,YAAA,QAAAnF,MAAA,CAA2BoI,IAAAtD,EAAArqE,KAAA,QAAuBqqE,EAAAM,KAAAN,EAAAO,GAAA,KAAAJ,EAAA,SAAmCE,YAAA,eAAAnF,MAAA,CAAkCtjE,GAAAooE,EAAArqE,KAAAb,KAAA,QAAAgxC,UAAAk6B,EAAAnkB,SAAAmkB,EAAAl6B,SAAAlmB,IAAAogD,EAAApgD,KAAAogD,EAAA6J,SAAA,IAAA/mC,IAAAk9B,EAAAl9B,KAAAk9B,EAAA8J,SAAA,EAAAC,KAAA/J,EAAA+J,MAAA,GAAgKxI,SAAA,CAAWnrE,MAAA4pE,EAAA5pE,OAAA4pE,EAAAhkB,UAAkCof,GAAA,CAAK5pD,MAAA,SAAAyvD,GAAyBjB,EAAA12C,MAAA,QAAA23C,EAAAjsE,OAAAoB,WAA0C4pE,EAAAO,GAAA,KAAAJ,EAAA,SAA0BE,YAAA,eAAAnF,MAAA,CAAkCtjE,GAAAooE,EAAArqE,KAAAb,KAAA,SAAAgxC,UAAAk6B,EAAAnkB,SAAAmkB,EAAAl6B,SAAAlmB,IAAAogD,EAAA6J,QAAA/mC,IAAAk9B,EAAA8J,QAAAC,KAAA/J,EAAA+J,MAAA,GAA+HxI,SAAA,CAAWnrE,MAAA4pE,EAAA5pE,OAAA4pE,EAAAhkB,UAAkCof,GAAA,CAAK5pD,MAAA,SAAAyvD,GAAyBjB,EAAA12C,MAAA,QAAA23C,EAAAjsE,OAAAoB,cACnxC2pE,EAAA,iCCDAntE,EAAA8C,EAAAuW,EAAA,sBAAA4uD,IAAAjoE,EAAA8C,EAAAuW,EAAA,sBAAA8zD,IAAA,IAAAlF,EAAA,WAA0B,IAAAmF,EAAAxgE,KAAaygE,EAAAD,EAAAE,eAA0BC,EAAAH,EAAAI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,OAAiBE,YAAA,gCAAAlF,MAAA,CAAmDr1B,UAAAk6B,EAAAnkB,SAAAmkB,EAAAl6B,WAA0C,CAAAq6B,EAAA,SAAcE,YAAA,QAAAnF,MAAA,CAA2BoI,IAAAtD,EAAArqE,OAAgB,CAAAqqE,EAAAO,GAAA,SAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,4CAAAixC,EAAAO,GAAA,cAAAP,EAAAhkB,SAAAmkB,EAAA,SAA0IE,YAAA,uBAAAnF,MAAA,CAA0CtjE,GAAAooE,EAAArqE,KAAA,KAAAb,KAAA,YAAuCysE,SAAA,CAAWjyC,QAAA0wC,EAAAnkB,SAAsBuf,GAAA,CAAK5pD,MAAA,SAAAyvD,GAAyBjB,EAAA12C,MAAA,QAAA02C,EAAAnkB,aAAA1mD,EAAA6qE,EAAAhkB,cAA8DgkB,EAAAM,KAAAN,EAAAO,GAAA,cAAAP,EAAAhkB,SAAAmkB,EAAA,SAAyEE,YAAA,QAAAnF,MAAA,CAA2BoI,IAAAtD,EAAArqE,KAAA,QAAuBqqE,EAAAM,KAAAN,EAAAO,GAAA,KAAAJ,EAAA,SAAmCE,YAAA,eAAAnF,MAAA,CAAkCtjE,GAAAooE,EAAArqE,KAAAb,KAAA,SAAAgxC,UAAAk6B,EAAAnkB,SAAAmkB,EAAAl6B,SAAAlmB,IAAA,IAAAkjB,IAAA,IAAAinC,KAAA,OAAuGxI,SAAA,CAAWnrE,MAAA4pE,EAAA5pE,OAAA4pE,EAAAhkB,UAAkCof,GAAA,CAAK5pD,MAAA,SAAAyvD,GAAyBjB,EAAA12C,MAAA,QAAA23C,EAAAjsE,OAAAoB,cAC18B2pE,EAAA,iCCDAntE,EAAA8C,EAAAuW,EAAA,sBAAA4uD,IAAAjoE,EAAA8C,EAAAuW,EAAA,sBAAA8zD,IAAA,IAAAlF,EAAA,WAA0B,IAAAmF,EAAAxgE,KAAaygE,EAAAD,EAAAE,eAA0BC,EAAAH,EAAAI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,OAAiBE,YAAA,iBAAAlF,MAAA,CAAoCr1B,UAAAk6B,EAAAnkB,UAA0B,CAAAskB,EAAA,OAAYE,YAAA,4BAAuC,CAAAF,EAAA,OAAYE,YAAA,kBAAAnF,MAAA,CAAqCp1B,UAAAk6B,EAAAnkB,UAAyB,CAAAskB,EAAA,SAAcW,WAAA,EAAanrE,KAAA,QAAAorE,QAAA,UAAA3qE,MAAA4pE,EAAAjmC,SAAA,EAAAinC,WAAA,eAA8EX,YAAA,eAAAnF,MAAA,CAAoCp1B,UAAAk6B,EAAAnkB,QAAA/mD,KAAA,UAAwCysE,SAAA,CAAWnrE,MAAA4pE,EAAAjmC,SAAA,GAAyBqhC,GAAA,CAAK5pD,MAAA,SAAAyvD,GAAyBA,EAAAjsE,OAAAwtE,WAAsCxC,EAAA32B,KAAA22B,EAAAjmC,SAAA,IAAAknC,EAAAjsE,OAAAoB,WAAmD4pE,EAAAO,GAAA,KAAAJ,EAAA,OAAwBE,YAAA,QAAmB,CAAAF,EAAA,SAAcW,WAAA,EAAanrE,KAAA,QAAAorE,QAAA,UAAA3qE,MAAA4pE,EAAAjmC,SAAA,EAAAinC,WAAA,eAA8EX,YAAA,cAAAnF,MAAA,CAAmCp1B,UAAAk6B,EAAAnkB,QAAA/mD,KAAA,QAAA8qB,IAAA,KAAAkjB,IAAA,OAA8Dy+B,SAAA,CAAWnrE,MAAA4pE,EAAAjmC,SAAA,GAAyBqhC,GAAA,CAAK4O,IAAA,SAAA/I,GAAuBjB,EAAA32B,KAAA22B,EAAAjmC,SAAA,IAAAknC,EAAAjsE,OAAAoB,eAAmD4pE,EAAAO,GAAA,KAAAJ,EAAA,OAA4BE,YAAA,kBAA6B,CAAAF,EAAA,OAAYE,YAAA,gBAAAnrC,MAAA8qC,EAAA,UAA8CA,EAAAO,GAAA,KAAAJ,EAAA,OAA0BE,YAAA,kBAAAnF,MAAA,CAAqCp1B,UAAAk6B,EAAAnkB,UAAyB,CAAAskB,EAAA,SAAcW,WAAA,EAAanrE,KAAA,QAAAorE,QAAA,UAAA3qE,MAAA4pE,EAAAjmC,SAAA,EAAAinC,WAAA,eAA8EX,YAAA,eAAAnF,MAAA,CAAoCp1B,UAAAk6B,EAAAnkB,QAAA/mD,KAAA,UAAwCysE,SAAA,CAAWnrE,MAAA4pE,EAAAjmC,SAAA,GAAyBqhC,GAAA,CAAK5pD,MAAA,SAAAyvD,GAAyBA,EAAAjsE,OAAAwtE,WAAsCxC,EAAA32B,KAAA22B,EAAAjmC,SAAA,IAAAknC,EAAAjsE,OAAAoB,WAAmD4pE,EAAAO,GAAA,KAAAJ,EAAA,OAAwBE,YAAA,QAAmB,CAAAF,EAAA,SAAcW,WAAA,EAAanrE,KAAA,QAAAorE,QAAA,UAAA3qE,MAAA4pE,EAAAjmC,SAAA,EAAAinC,WAAA,eAA8EX,YAAA,cAAAnF,MAAA,CAAmCp1B,UAAAk6B,EAAAnkB,QAAA/mD,KAAA,QAAA8qB,IAAA,KAAAkjB,IAAA,OAA8Dy+B,SAAA,CAAWnrE,MAAA4pE,EAAAjmC,SAAA,GAAyBqhC,GAAA,CAAK4O,IAAA,SAAA/I,GAAuBjB,EAAA32B,KAAA22B,EAAAjmC,SAAA,IAAAknC,EAAAjsE,OAAAoB,iBAAmD4pE,EAAAO,GAAA,KAAAJ,EAAA,OAA8BE,YAAA,gBAA2B,CAAAF,EAAA,OAAYE,YAAA,2BAAAnF,MAAA,CAA8Cp1B,SAAAk6B,EAAAvjB,gBAA8B,CAAA0jB,EAAA,SAAcE,YAAA,SAAAnF,MAAA,CAA4BoI,IAAA,kBAAAx9B,UAAAk6B,EAAA1jB,OAAA0jB,EAAAvjB,gBAAoE,CAAA0jB,EAAA,UAAeW,WAAA,EAAanrE,KAAA,QAAAorE,QAAA,UAAA3qE,MAAA4pE,EAAA,WAAAgB,WAAA,eAA8EX,YAAA,kBAAAnF,MAAA,CAAuCtjE,GAAA,kBAAAkuC,UAAAk6B,EAAA1jB,OAAA0jB,EAAAvjB,eAAkE2e,GAAA,CAAKjiC,OAAA,SAAA8nC,GAA0B,IAAAsC,EAAA5qD,MAAA9mB,UAAA4J,OAAA1J,KAAAkvE,EAAAjsE,OAAAgE,QAAA,SAAAnD,GAAkF,OAAAA,EAAAkkC,WAAkBjgC,IAAA,SAAAjE,GAA+D,MAA7C,WAAAA,IAAA2tE,OAAA3tE,EAAAO,QAA0D4pE,EAAAlkB,WAAAmlB,EAAAjsE,OAAAuO,SAAAggE,IAAA,MAA4EvD,EAAA6B,GAAA7B,EAAA,gBAAA/oD,EAAAwX,GAA4C,OAAA0xC,EAAA,UAAoBzpE,IAAA+3B,EAAA8yC,SAAA,CAAoBnrE,MAAAq4B,IAAe,CAAAuxC,EAAAO,GAAA,iBAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,oCAA6E34B,MAAAq4B,KAAe,oBAAqB,GAAAuxC,EAAAO,GAAA,KAAAJ,EAAA,KAAyBE,YAAA,qBAA6BL,EAAAO,GAAA,KAAAJ,EAAA,UAA6BE,YAAA,kBAAAnF,MAAA,CAAqCp1B,UAAAk6B,EAAA1jB,QAAA0jB,EAAAnkB,SAAsCuf,GAAA,CAAKr1B,MAAAi6B,EAAA/jB,MAAiB,CAAAkkB,EAAA,KAAUE,YAAA,kBAA0BL,EAAAO,GAAA,KAAAJ,EAAA,UAA6BE,YAAA,kBAAAnF,MAAA,CAAqCp1B,UAAAk6B,EAAAzjB,aAA4B6e,GAAA,CAAKr1B,MAAAi6B,EAAA9jB,SAAoB,CAAAikB,EAAA,KAAUE,YAAA,mBAA2BL,EAAAO,GAAA,KAAAJ,EAAA,UAA6BE,YAAA,kBAAAnF,MAAA,CAAqCp1B,UAAAk6B,EAAAxjB,aAA4B4e,GAAA,CAAKr1B,MAAAi6B,EAAA5jB,SAAoB,CAAA+jB,EAAA,KAAUE,YAAA,qBAA6BL,EAAAO,GAAA,KAAAJ,EAAA,UAA6BE,YAAA,kBAAAnF,MAAA,CAAqCp1B,SAAAk6B,EAAAvjB,eAA6B2e,GAAA,CAAKr1B,MAAAi6B,EAAAjuD,MAAiB,CAAAouD,EAAA,KAAUE,YAAA,kBAAwBL,EAAAO,GAAA,KAAAJ,EAAA,OAA4BE,YAAA,8BAAAnF,MAAA,CAAiDp1B,UAAAk6B,EAAAnkB,UAAyB,CAAAskB,EAAA,SAAcE,YAAA,QAAAnF,MAAA,CAA2BoI,IAAA,UAAe,CAAAtD,EAAAO,GAAA,aAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,+CAAAixC,EAAAO,GAAA,KAAAJ,EAAA,SAA2GW,WAAA,EAAanrE,KAAA,QAAAorE,QAAA,UAAA3qE,MAAA4pE,EAAAjmC,SAAA,MAAAinC,WAAA,mBAAsFX,YAAA,cAAAnF,MAAA,CAAmCtjE,GAAA,QAAAkuC,UAAAk6B,EAAAnkB,QAAAlmD,KAAA,QAAAb,KAAA,YAAsEysE,SAAA,CAAWjyC,QAAA3W,MAAAC,QAAAonD,EAAAjmC,SAAApnB,OAAAqtD,EAAAiK,GAAAjK,EAAAjmC,SAAApnB,MAAA,SAAAqtD,EAAAjmC,SAAA,OAAoGqhC,GAAA,CAAKjiC,OAAA,SAAA8nC,GAA0B,IAAAiJ,EAAAlK,EAAAjmC,SAAApnB,MAAAw3D,EAAAlJ,EAAAjsE,OAAAo1E,IAAAD,EAAA76C,QAA8E,GAAA3W,MAAAC,QAAAsxD,GAAA,CAAuB,IAAAG,EAAArK,EAAAiK,GAAAC,EAAA,MAAiCC,EAAA76C,QAAiB+6C,EAAA,GAAArK,EAAA32B,KAAA22B,EAAAjmC,SAAA,QAAAmwC,EAAAj3D,OAAA,CAAlD,QAAmHo3D,GAAA,GAAArK,EAAA32B,KAAA22B,EAAAjmC,SAAA,QAAAmwC,EAAA7yE,MAAA,EAAAgzE,GAAAp3D,OAAAi3D,EAAA7yE,MAAAgzE,EAAA,UAA2FrK,EAAA32B,KAAA22B,EAAAjmC,SAAA,QAAAqwC,OAAwCpK,EAAAO,GAAA,KAAAJ,EAAA,SAA0BE,YAAA,iBAAAnF,MAAA,CAAoCoI,IAAA,aAAetD,EAAAO,GAAA,KAAAJ,EAAA,OAA0BE,YAAA,6BAAAnF,MAAA,CAAgDp1B,UAAAk6B,EAAAnkB,UAAyB,CAAAskB,EAAA,SAAcE,YAAA,QAAAnF,MAAA,CAA2BoI,IAAA,WAAgB,CAAAtD,EAAAO,GAAA,aAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,8CAAAixC,EAAAO,GAAA,KAAAJ,EAAA,SAA0GW,WAAA,EAAanrE,KAAA,QAAAorE,QAAA,UAAA3qE,MAAA4pE,EAAAjmC,SAAA,KAAAinC,WAAA,kBAAoFX,YAAA,cAAAnF,MAAA,CAAmCtjE,GAAA,OAAAkuC,UAAAk6B,EAAAnkB,QAAAlmD,KAAA,OAAAb,KAAA,QAAA8qB,IAAA,KAAAkjB,IAAA,KAAsFy+B,SAAA,CAAWnrE,MAAA4pE,EAAAjmC,SAAA,MAA4BqhC,GAAA,CAAK4O,IAAA,SAAA/I,GAAuBjB,EAAA32B,KAAA22B,EAAAjmC,SAAA,OAAAknC,EAAAjsE,OAAAoB,WAAsD4pE,EAAAO,GAAA,KAAAJ,EAAA,SAA0BW,WAAA,EAAanrE,KAAA,QAAAorE,QAAA,UAAA3qE,MAAA4pE,EAAAjmC,SAAA,KAAAinC,WAAA,kBAAoFX,YAAA,eAAAnF,MAAA,CAAoCp1B,UAAAk6B,EAAAnkB,QAAA/mD,KAAA,SAAAguC,IAAA,KAAkDy+B,SAAA,CAAWnrE,MAAA4pE,EAAAjmC,SAAA,MAA4BqhC,GAAA,CAAK5pD,MAAA,SAAAyvD,GAAyBA,EAAAjsE,OAAAwtE,WAAsCxC,EAAA32B,KAAA22B,EAAAjmC,SAAA,OAAAknC,EAAAjsE,OAAAoB,aAAsD4pE,EAAAO,GAAA,KAAAJ,EAAA,OAA0BE,YAAA,+BAAAnF,MAAA,CAAkDp1B,UAAAk6B,EAAAnkB,UAAyB,CAAAskB,EAAA,SAAcE,YAAA,QAAAnF,MAAA,CAA2BoI,IAAA,WAAgB,CAAAtD,EAAAO,GAAA,aAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,gDAAAixC,EAAAO,GAAA,KAAAJ,EAAA,SAA4GW,WAAA,EAAanrE,KAAA,QAAAorE,QAAA,UAAA3qE,MAAA4pE,EAAAjmC,SAAA,OAAAinC,WAAA,oBAAwFX,YAAA,cAAAnF,MAAA,CAAmCtjE,GAAA,SAAAkuC,UAAAk6B,EAAAnkB,QAAAlmD,KAAA,SAAAb,KAAA,QAAA8qB,IAAA,KAAAkjB,IAAA,OAA4Fy+B,SAAA,CAAWnrE,MAAA4pE,EAAAjmC,SAAA,QAA8BqhC,GAAA,CAAK4O,IAAA,SAAA/I,GAAuBjB,EAAA32B,KAAA22B,EAAAjmC,SAAA,SAAAknC,EAAAjsE,OAAAoB,WAAwD4pE,EAAAO,GAAA,KAAAJ,EAAA,SAA0BW,WAAA,EAAanrE,KAAA,QAAAorE,QAAA,UAAA3qE,MAAA4pE,EAAAjmC,SAAA,OAAAinC,WAAA,oBAAwFX,YAAA,eAAAnF,MAAA,CAAoCp1B,UAAAk6B,EAAAnkB,QAAA/mD,KAAA,UAAwCysE,SAAA,CAAWnrE,MAAA4pE,EAAAjmC,SAAA,QAA8BqhC,GAAA,CAAK5pD,MAAA,SAAAyvD,GAAyBA,EAAAjsE,OAAAwtE,WAAsCxC,EAAA32B,KAAA22B,EAAAjmC,SAAA,SAAAknC,EAAAjsE,OAAAoB,aAAwD4pE,EAAAO,GAAA,KAAAJ,EAAA,cAAiCjF,MAAA,CAAOp1B,UAAAk6B,EAAAnkB,QAAAvV,MAAA05B,EAAAjxC,GAAA,+BAAAp5B,KAAA,UAAsF0rC,MAAA,CAAQjrC,MAAA4pE,EAAAjmC,SAAA,MAAA2oC,SAAA,SAAAC,GAAoD3C,EAAA32B,KAAA22B,EAAAjmC,SAAA,QAAA4oC,IAAqC3B,WAAA,oBAA8BhB,EAAAO,GAAA,KAAAJ,EAAA,gBAAiCjF,MAAA,CAAOp1B,UAAAk6B,EAAAnkB,SAAwBxa,MAAA,CAAQjrC,MAAA4pE,EAAAjmC,SAAA,MAAA2oC,SAAA,SAAAC,GAAoD3C,EAAA32B,KAAA22B,EAAAjmC,SAAA,QAAA4oC,IAAqC3B,WAAA,oBAA8BhB,EAAAO,GAAA,KAAAJ,EAAA,KAAAH,EAAAO,GAAA,WAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,mDACvzNgxC,EAAA,iCCDAntE,EAAA8C,EAAAuW,EAAA,sBAAA4uD,IAAAjoE,EAAA8C,EAAAuW,EAAA,sBAAA8zD,IAAA,IAAAlF,EAAA,WAA0B,IAAAmF,EAAAxgE,KAAaygE,EAAAD,EAAAE,eAA0BC,EAAAH,EAAAI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,OAAiBE,YAAA,6BAAAlF,MAAA,CAAgDmP,OAAAtK,EAAAjjB,WAAwB,CAAAojB,EAAA,SAAcE,YAAA,QAAAnF,MAAA,CAA2BoI,IAAA,WAAAtD,EAAAhjB,OAAAgjB,EAAArqE,KAAAqqE,EAAArqE,KAAA,mBAAwE,CAAAqqE,EAAAO,GAAA,SAAAP,EAAAa,GAAAb,EAAA15B,OAAA,UAAA05B,EAAAO,GAAA,cAAAP,EAAAhkB,SAAAmkB,EAAA,SAA4GE,YAAA,uBAAAnF,MAAA,CAA0CtjE,GAAAooE,EAAArqE,KAAA,KAAAb,KAAA,YAAuCysE,SAAA,CAAWjyC,QAAA0wC,EAAAnkB,SAAsBuf,GAAA,CAAK5pD,MAAA,SAAAyvD,GAAyBjB,EAAA12C,MAAA,iBAAA02C,EAAA5pE,MAAA4pE,EAAAhkB,cAAA7mD,OAAkF6qE,EAAAM,KAAAN,EAAAO,GAAA,cAAAP,EAAAhkB,SAAAmkB,EAAA,SAAyEE,YAAA,QAAAnF,MAAA,CAA2BoI,IAAAtD,EAAArqE,KAAA,QAAuBqqE,EAAAM,KAAAN,EAAAO,GAAA,KAAAJ,EAAA,SAAmCE,YAAA,SAAAnF,MAAA,CAA4BoI,IAAAtD,EAAArqE,KAAA,iBAAAmwC,UAAAk6B,EAAAnkB,UAA2D,CAAAskB,EAAA,UAAeW,WAAA,EAAanrE,KAAA,QAAAorE,QAAA,UAAA3qE,MAAA4pE,EAAA,OAAAgB,WAAA,WAAsEX,YAAA,gBAAAnF,MAAA,CAAqCtjE,GAAAooE,EAAArqE,KAAA,iBAAAmwC,UAAAk6B,EAAAnkB,SAAyDuf,GAAA,CAAKjiC,OAAA,SAAA8nC,GAA0B,IAAAsC,EAAA5qD,MAAA9mB,UAAA4J,OAAA1J,KAAAkvE,EAAAjsE,OAAAgE,QAAA,SAAAnD,GAAkF,OAAAA,EAAAkkC,WAAkBjgC,IAAA,SAAAjE,GAA+D,MAA7C,WAAAA,IAAA2tE,OAAA3tE,EAAAO,QAA0D4pE,EAAAhjB,OAAAikB,EAAAjsE,OAAAuO,SAAAggE,IAAA,MAAwEvD,EAAA6B,GAAA7B,EAAA,0BAAA78D,GAAgD,OAAAg9D,EAAA,UAAoBzpE,IAAAyM,EAAAo+D,SAAA,CAAqBnrE,MAAA+M,IAAgB,CAAA68D,EAAAO,GAAA,aAAAP,EAAAa,GAAA,WAAA19D,EAAA68D,EAAAjxC,GAAA,+BAAA5rB,GAAA,gBAAiH,GAAA68D,EAAAO,GAAA,KAAAJ,EAAA,KAAyBE,YAAA,qBAA6BL,EAAAO,GAAA,KAAAP,EAAA,SAAAG,EAAA,SAA2CW,WAAA,EAAanrE,KAAA,QAAAorE,QAAA,UAAA3qE,MAAA4pE,EAAA,OAAAgB,WAAA,WAAsEX,YAAA,cAAAnF,MAAA,CAAmCtjE,GAAAooE,EAAArqE,KAAAb,KAAA,QAA4BysE,SAAA,CAAWnrE,MAAA4pE,EAAA,QAAqB5E,GAAA,CAAK5pD,MAAA,SAAAyvD,GAAyBA,EAAAjsE,OAAAwtE,YAAsCxC,EAAAppD,OAAAqqD,EAAAjsE,OAAAoB,WAAiC4pE,EAAAM,QAC/4DP,EAAA,iCCDAntE,EAAA8C,EAAAuW,EAAA,sBAAA4uD,IAAAjoE,EAAA8C,EAAAuW,EAAA,sBAAA8zD,IAAA,IAAAlF,EAAA,WAA0B,IAAAmF,EAAAxgE,KAAaygE,EAAAD,EAAAE,eAA0BC,EAAAH,EAAAI,MAAAD,IAAAF,EAAwB,OAAAD,EAAA,SAAAG,EAAA,QAAiCE,YAAA,kBAA6B,CAAAF,EAAA,QAAaE,YAAA,SAAAnF,MAAA,CAA4B90B,MAAA45B,EAAA/iB,OAAkB,CAAA+iB,EAAA7iB,SAAA,IAAAgjB,EAAA,QAAAA,EAAA,KAAwCE,YAAA,yBAAiCL,EAAAM,KAAAN,EAAAO,GAAA,MAAAP,EAAA7iB,SAAA3D,KAAAwmB,EAAA7iB,SAAA5D,GAAA4mB,EAAA,QAAAA,EAAA,KAAmFE,YAAA,kBAA0BL,EAAAM,KAAAN,EAAAO,GAAA,KAAAP,EAAA7iB,SAAA3D,KAAAwmB,EAAA7iB,SAAA5D,GAAiHymB,EAAAM,KAAjHH,EAAA,QAAAA,EAAA,KAAoFE,YAAA,uBAA6BL,EAAAO,GAAA,KAAAP,EAAA7iB,UAAA6iB,EAAAuK,MAAApK,EAAA,QAAkEE,YAAA,SAAAnF,MAAA,CAA4B90B,MAAA45B,EAAA3iB,YAAuB,CAAA2iB,EAAA7iB,SAAA,KAAAgjB,EAAA,QAAAA,EAAA,KAAyCE,YAAA,yBAAiCL,EAAAM,KAAAN,EAAAO,GAAA,MAAAP,EAAA7iB,SAAAzD,MAAAsmB,EAAA7iB,SAAA1D,IAAA0mB,EAAA,QAAAA,EAAA,KAAqFE,YAAA,kBAA0BL,EAAAM,KAAAN,EAAAO,GAAA,KAAAP,EAAA7iB,SAAAzD,MAAAsmB,EAAA7iB,SAAA1D,IAAmHumB,EAAAM,KAAnHH,EAAA,QAAAA,EAAA,KAAsFE,YAAA,uBAA6BL,EAAAM,OAAAN,EAAAM,MAC15BP,EAAA,iCCDAntE,EAAA8C,EAAAuW,EAAA,sBAAA4uD,IAAAjoE,EAAA8C,EAAAuW,EAAA,sBAAA8zD,IAAA,IAAAlF,EAAA,WAA0B,IAAAmF,EAAAxgE,KAAaygE,EAAAD,EAAAE,eAA0BC,EAAAH,EAAAI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,OAAiBE,YAAA,2BAAsC,CAAAL,EAAAuC,GAAA,UAAAvC,EAAAO,GAAA,KAAAJ,EAAA,UAA4CE,YAAA,MAAAjF,GAAA,CAAsBr1B,MAAAi6B,EAAAziB,aAAwB,CAAAyiB,EAAAO,GAAA,SAAAP,EAAAa,GAAAb,EAAAwK,aAAA,UAAAxK,EAAAO,GAAA,KAAAJ,EAAA,UAA6EE,YAAA,MAAAjF,GAAA,CAAsBr1B,MAAAi6B,EAAApiB,aAAwB,CAAAoiB,EAAAO,GAAA,SAAAP,EAAAa,GAAAb,EAAAyK,aAAA,UAAAzK,EAAAO,GAAA,KAAAP,EAAAuC,GAAA,gBAAAvC,EAAAO,GAAA,KAAAP,EAAA,aAAAG,EAAA,KAA8HE,YAAA,eAA0B,CAAAL,EAAAO,GAAA,SAAAP,EAAAa,GAAAb,EAAA0K,kBAAA,UAAA1K,EAAAM,KAAAN,EAAAO,GAAA,KAAAP,EAAAuC,GAAA,mBAC7fxC,EAAA,iCCDAntE,EAAA8C,EAAAuW,EAAA,sBAAA4uD,IAAAjoE,EAAA8C,EAAAuW,EAAA,sBAAA8zD,IAAA,IAAAlF,EAAA,WAA0B,IAAAmF,EAAAxgE,KAAaygE,EAAAD,EAAAE,eAA0BC,EAAAH,EAAAI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,OAAiBE,YAAA,kBAA6B,CAAAF,EAAA,OAAYE,YAAA,qBAAgC,CAAAF,EAAA,OAAYE,YAAA,aAAwB,CAAAF,EAAA,iBAAsBjF,MAAA,CAAOyP,gBAAA3K,EAAA9lB,cAAA0wB,eAAA5K,EAAAjxC,GAAA,yBAAA87C,eAAA7K,EAAAjxC,GAAA,yBAAA+7C,qBAAA9K,EAAAjxC,GAAA,mCAAAg8C,YAAA/K,EAAAllB,SAAAmD,UAAA+hB,EAAAhlB,kBAAyP,CAAAmlB,EAAA,YAAiBlkC,KAAA,UAAc,CAAAkkC,EAAA,OAAYE,YAAA,WAAsB,CAAAL,EAAAO,GAAA,iBAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,uCAAAoxC,EAAA,SAA2FE,YAAA,SAAAnF,MAAA,CAA4BoI,IAAA,oBAAyB,CAAAnD,EAAA,UAAeW,WAAA,EAAanrE,KAAA,QAAAorE,QAAA,UAAA3qE,MAAA4pE,EAAA,SAAAgB,WAAA,aAA0EX,YAAA,kBAAAnF,MAAA,CAAuCtjE,GAAA,mBAAuBwjE,GAAA,CAAKjiC,OAAA,SAAA8nC,GAA0B,IAAAsC,EAAA5qD,MAAA9mB,UAAA4J,OAAA1J,KAAAkvE,EAAAjsE,OAAAgE,QAAA,SAAAnD,GAAkF,OAAAA,EAAAkkC,WAAkBjgC,IAAA,SAAAjE,GAA+D,MAA7C,WAAAA,IAAA2tE,OAAA3tE,EAAAO,QAA0D4pE,EAAAjmC,SAAAknC,EAAAjsE,OAAAuO,SAAAggE,IAAA,MAA0EvD,EAAA6B,GAAA7B,EAAA,yBAAA9qC,GAA8C,OAAAirC,EAAA,UAAoBzpE,IAAAw+B,EAAAv/B,KAAAu/B,MAAA,CAC7rCuO,gBAAAvO,EAAA,IAAAA,EAAArjB,MAAAQ,OAAA1C,GACAwD,MAAA+hB,EAAA,IAAAA,EAAArjB,MAAAQ,OAAAxB,MACmB0wD,SAAA,CAAYnrE,MAAA8+B,IAAe,CAAA8qC,EAAAO,GAAA,uBAAAP,EAAAa,GAAA3rC,EAAA,IAAAA,EAAAv/B,MAAA,0BAAuF,GAAAqqE,EAAAO,GAAA,KAAAJ,EAAA,KAAyBE,YAAA,0BAA6B,OAAAL,EAAAO,GAAA,KAAAJ,EAAA,OAAsCE,YAAA,qBAAgC,CAAAF,EAAA,QAAaE,YAAA,eAA0B,CAAAF,EAAA,YAAiB9+B,MAAA,CAAOjrC,MAAA4pE,EAAA,UAAA0C,SAAA,SAAAC,GAA+C3C,EAAAtrB,UAAAiuB,GAAkB3B,WAAA,cAAyB,CAAAhB,EAAAO,GAAA,eAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,2DAAAixC,EAAAO,GAAA,KAAAJ,EAAA,QAAwHE,YAAA,eAA0B,CAAAF,EAAA,YAAiB9+B,MAAA,CAAOjrC,MAAA4pE,EAAA,YAAA0C,SAAA,SAAAC,GAAiD3C,EAAArrB,YAAAguB,GAAoB3B,WAAA,gBAA2B,CAAAhB,EAAAO,GAAA,eAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,6DAAAixC,EAAAO,GAAA,KAAAJ,EAAA,QAA0HE,YAAA,eAA0B,CAAAF,EAAA,YAAiB9+B,MAAA,CAAOjrC,MAAA4pE,EAAA,YAAA0C,SAAA,SAAAC,GAAiD3C,EAAAprB,YAAA+tB,GAAoB3B,WAAA,gBAA2B,CAAAhB,EAAAO,GAAA,eAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,6DAAAixC,EAAAO,GAAA,KAAAJ,EAAA,QAA0HE,YAAA,eAA0B,CAAAF,EAAA,YAAiB9+B,MAAA,CAAOjrC,MAAA4pE,EAAA,cAAA0C,SAAA,SAAAC,GAAmD3C,EAAAnrB,cAAA8tB,GAAsB3B,WAAA,kBAA6B,CAAAhB,EAAAO,GAAA,eAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,+DAAAixC,EAAAO,GAAA,KAAAJ,EAAA,QAA4HE,YAAA,eAA0B,CAAAF,EAAA,YAAiB9+B,MAAA,CAAOjrC,MAAA4pE,EAAA,UAAA0C,SAAA,SAAAC,GAA+C3C,EAAAlrB,UAAA6tB,GAAkB3B,WAAA,cAAyB,CAAAhB,EAAAO,GAAA,eAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,2DAAAixC,EAAAO,GAAA,KAAAJ,EAAA,KAAAH,EAAAO,GAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,kDAAAixC,EAAAO,GAAA,KAAAJ,EAAA,OAAkNE,YAAA,qBAAgC,CAAAF,EAAA,WAAgBjrC,MAAA8qC,EAAA,gBAAyB,GAAAA,EAAAO,GAAA,KAAAJ,EAAA,cAAAA,EAAA,gBAAsDzpE,IAAA,eAAkB,CAAAypE,EAAA,OAAYE,YAAA,kBAAAnF,MAAA,CAAqC50B,MAAA05B,EAAAjxC,GAAA,6CAA2D,CAAAoxC,EAAA,OAAYE,YAAA,cAAyB,CAAAF,EAAA,KAAAH,EAAAO,GAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,2BAAAixC,EAAAO,GAAA,KAAAJ,EAAA,UAAmFE,YAAA,MAAAjF,GAAA,CAAsBr1B,MAAAi6B,EAAA1kB,eAA0B,CAAA0kB,EAAAO,GAAA,iBAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,4DAAAixC,EAAAO,GAAA,KAAAJ,EAAA,UAA6HE,YAAA,MAAAjF,GAAA,CAAsBr1B,MAAAi6B,EAAA7kB,UAAqB,CAAA6kB,EAAAO,GAAA,iBAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,0DAAAixC,EAAAO,GAAA,KAAAJ,EAAA,KAAAH,EAAAO,GAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,gCAAAixC,EAAAO,GAAA,KAAAJ,EAAA,MAAAH,EAAAO,GAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,yCAAAixC,EAAAO,GAAA,KAAAJ,EAAA,OAAoRE,YAAA,cAAyB,CAAAF,EAAA,cAAmBjF,MAAA,CAAOvlE,KAAA,UAAA2wC,MAAA05B,EAAAjxC,GAAA,wBAAuDsS,MAAA,CAAQjrC,MAAA4pE,EAAA,aAAA0C,SAAA,SAAAC,GAAkD3C,EAAA/qB,aAAA0tB,GAAqB3B,WAAA,kBAA4BhB,EAAAO,GAAA,KAAAJ,EAAA,gBAAiCjF,MAAA,CAAOvlE,KAAA,YAAAqmD,SAAAgkB,EAAA3nB,aAAA5kC,QAAA9D,IAAA,GAA+D0xB,MAAA,CAAQjrC,MAAA4pE,EAAA,eAAA0C,SAAA,SAAAC,GAAoD3C,EAAA9qB,eAAAytB,GAAuB3B,WAAA,oBAA8BhB,EAAAO,GAAA,KAAAJ,EAAA,cAA+BjF,MAAA,CAAOvlE,KAAA,YAAA2wC,MAAA05B,EAAAjxC,GAAA,kBAAmDsS,MAAA,CAAQjrC,MAAA4pE,EAAA,eAAA0C,SAAA,SAAAC,GAAoD3C,EAAAjrB,eAAA4tB,GAAuB3B,WAAA,oBAA8BhB,EAAAO,GAAA,KAAAJ,EAAA,iBAAkCjF,MAAA,CAAO/d,SAAA6iB,EAAA1nB,gBAAAQ,UAAuCknB,EAAAO,GAAA,KAAAJ,EAAA,cAA+BjF,MAAA,CAAOvlE,KAAA,YAAA2wC,MAAA05B,EAAAjxC,GAAA,mBAAoDsS,MAAA,CAAQjrC,MAAA4pE,EAAA,eAAA0C,SAAA,SAAAC,GAAoD3C,EAAAhrB,eAAA2tB,GAAuB3B,WAAA,oBAA8BhB,EAAAO,GAAA,KAAAJ,EAAA,iBAAkCjF,MAAA,CAAO/d,SAAA6iB,EAAA1nB,gBAAAS,WAAuC,GAAAinB,EAAAO,GAAA,KAAAJ,EAAA,OAA4BE,YAAA,cAAyB,CAAAF,EAAA,cAAmBjF,MAAA,CAAOvlE,KAAA,UAAA2wC,MAAA05B,EAAAjxC,GAAA,wBAAuDsS,MAAA,CAAQjrC,MAAA4pE,EAAA,aAAA0C,SAAA,SAAAC,GAAkD3C,EAAA7qB,aAAAwtB,GAAqB3B,WAAA,kBAA4BhB,EAAAO,GAAA,KAAAJ,EAAA,cAA+BjF,MAAA,CAAOvlE,KAAA,cAAA2wC,MAAA05B,EAAAjxC,GAAA,iBAAAitB,SAAAgkB,EAAA3nB,aAAAhmC,OAAA8B,QAA+FktB,MAAA,CAAQjrC,MAAA4pE,EAAA,iBAAA0C,SAAA,SAAAC,GAAsD3C,EAAA5qB,iBAAAutB,GAAyB3B,WAAA,sBAAgChB,EAAAO,GAAA,KAAAJ,EAAA,cAA+BjF,MAAA,CAAOvlE,KAAA,cAAA2wC,MAAA05B,EAAAjxC,GAAA,kBAAAitB,SAAAgkB,EAAA3nB,aAAAhmC,OAAA+B,QAAgGitB,MAAA,CAAQjrC,MAAA4pE,EAAA,iBAAA0C,SAAA,SAAAC,GAAsD3C,EAAA3qB,iBAAAstB,GAAyB3B,WAAA,sBAAgChB,EAAAO,GAAA,KAAAJ,EAAA,KAAAH,EAAAO,GAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,wDAAAixC,EAAAO,GAAA,KAAAJ,EAAA,MAAAH,EAAAO,GAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,yCAAAixC,EAAAO,GAAA,KAAAJ,EAAA,OAA4ME,YAAA,cAAyB,CAAAF,EAAA,cAAmBjF,MAAA,CAAOvlE,KAAA,YAAA2wC,MAAA05B,EAAAjxC,GAAA,kBAAmDsS,MAAA,CAAQjrC,MAAA4pE,EAAA,eAAA0C,SAAA,SAAAC,GAAoD3C,EAAAnpB,eAAA8rB,GAAuB3B,WAAA,oBAA8BhB,EAAAO,GAAA,KAAAJ,EAAA,iBAAkCjF,MAAA,CAAO/d,SAAA6iB,EAAA1nB,gBAAAU,SAAsCgnB,EAAAO,GAAA,KAAAJ,EAAA,cAA+BjF,MAAA,CAAOvlE,KAAA,aAAA2wC,MAAA05B,EAAAjxC,GAAA,mBAAqDsS,MAAA,CAAQjrC,MAAA4pE,EAAA,gBAAA0C,SAAA,SAAAC,GAAqD3C,EAAAlpB,gBAAA6rB,GAAwB3B,WAAA,qBAA+BhB,EAAAO,GAAA,KAAAJ,EAAA,iBAAkCjF,MAAA,CAAO/d,SAAA6iB,EAAA1nB,gBAAAY,WAAuC,GAAA8mB,EAAAO,GAAA,KAAAJ,EAAA,OAA4BE,YAAA,cAAyB,CAAAF,EAAA,cAAmBjF,MAAA,CAAOvlE,KAAA,cAAA2wC,MAAA05B,EAAAjxC,GAAA,oBAAuDsS,MAAA,CAAQjrC,MAAA4pE,EAAA,iBAAA0C,SAAA,SAAAC,GAAsD3C,EAAAjpB,iBAAA4rB,GAAyB3B,WAAA,sBAAgChB,EAAAO,GAAA,KAAAJ,EAAA,iBAAkCjF,MAAA,CAAO/d,SAAA6iB,EAAA1nB,gBAAAW,WAAwC+mB,EAAAO,GAAA,KAAAJ,EAAA,cAA+BjF,MAAA,CAAOvlE,KAAA,eAAA2wC,MAAA05B,EAAAjxC,GAAA,qBAAyDsS,MAAA,CAAQjrC,MAAA4pE,EAAA,kBAAA0C,SAAA,SAAAC,GAAuD3C,EAAAhpB,kBAAA2rB,GAA0B3B,WAAA,uBAAiChB,EAAAO,GAAA,KAAAJ,EAAA,iBAAkCjF,MAAA,CAAO/d,SAAA6iB,EAAA1nB,gBAAAa,aAAyC,GAAA6mB,EAAAO,GAAA,KAAAJ,EAAA,KAAAH,EAAAO,GAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,kCAAAixC,EAAAO,GAAA,KAAAJ,EAAA,OAAuGE,YAAA,kBAAAnF,MAAA,CAAqC50B,MAAA05B,EAAAjxC,GAAA,+CAA6D,CAAAoxC,EAAA,OAAYE,YAAA,cAAyB,CAAAF,EAAA,KAAAH,EAAAO,GAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,2BAAAixC,EAAAO,GAAA,KAAAJ,EAAA,UAAmFE,YAAA,MAAAjF,GAAA,CAAsBr1B,MAAAi6B,EAAA1kB,eAA0B,CAAA0kB,EAAAO,GAAA,iBAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,4DAAAixC,EAAAO,GAAA,KAAAJ,EAAA,UAA6HE,YAAA,MAAAjF,GAAA,CAAsBr1B,MAAAi6B,EAAA7kB,UAAqB,CAAA6kB,EAAAO,GAAA,iBAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,0DAAAixC,EAAAO,GAAA,KAAAJ,EAAA,OAAwHE,YAAA,cAAyB,CAAAF,EAAA,MAAAH,EAAAO,GAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,4CAAAixC,EAAAO,GAAA,KAAAJ,EAAA,cAAyGjF,MAAA,CAAOvlE,KAAA,aAAA2wC,MAAA05B,EAAAjxC,GAAA,8CAAAitB,SAAAgkB,EAAA3nB,aAAAhmC,OAAAkD,YAA+H8rB,MAAA,CAAQjrC,MAAA4pE,EAAA,qBAAA0C,SAAA,SAAAC,GAA0D3C,EAAA5pB,qBAAAusB,GAA6B3B,WAAA,0BAAoChB,EAAAO,GAAA,KAAAJ,EAAA,iBAAkCjF,MAAA,CAAO/d,SAAA6iB,EAAA1nB,gBAAA/iC,cAA2CyqD,EAAAO,GAAA,KAAAJ,EAAA,cAA+BjF,MAAA,CAAOvlE,KAAA,eAAA2wC,MAAA05B,EAAAjxC,GAAA,gDAAAitB,SAAAgkB,EAAA3nB,aAAAhmC,OAAAqD,cAAqI2rB,MAAA,CAAQjrC,MAAA4pE,EAAA,uBAAA0C,SAAA,SAAAC,GAA4D3C,EAAA3pB,uBAAAssB,GAA+B3B,WAAA,4BAAsChB,EAAAO,GAAA,KAAAJ,EAAA,iBAAkCjF,MAAA,CAAO/d,SAAA6iB,EAAA1nB,gBAAA5iC,iBAA6C,GAAAsqD,EAAAO,GAAA,KAAAJ,EAAA,OAA4BE,YAAA,cAAyB,CAAAF,EAAA,MAAAH,EAAAO,GAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,4CAAAixC,EAAAO,GAAA,KAAAJ,EAAA,cAAyGjF,MAAA,CAAOvlE,KAAA,oBAAA2wC,MAAA05B,EAAAjxC,GAAA,qDAAAitB,SAAAgkB,EAAA3nB,aAAAhmC,OAAAwD,mBAAoJwrB,MAAA,CAAQjrC,MAAA4pE,EAAA,4BAAA0C,SAAA,SAAAC,GAAiE3C,EAAAzpB,4BAAAosB,GAAoC3B,WAAA,kCAA2C,GAAAhB,EAAAO,GAAA,KAAAJ,EAAA,OAA4BE,YAAA,cAAyB,CAAAF,EAAA,MAAAH,EAAAO,GAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,mDAAAixC,EAAAO,GAAA,KAAAJ,EAAA,cAAgHjF,MAAA,CAAOvlE,KAAA,aAAAqmD,SAAAgkB,EAAA7qB,aAAA7O,MAAA05B,EAAAjxC,GAAA,wBAAsFsS,MAAA,CAAQjrC,MAAA4pE,EAAA,gBAAA0C,SAAA,SAAAC,GAAqD3C,EAAApqB,gBAAA+sB,GAAwB3B,WAAA,qBAA+BhB,EAAAO,GAAA,KAAAJ,EAAA,gBAAiCjF,MAAA,CAAOvlE,KAAA,eAAAqmD,SAAAgkB,EAAA3nB,aAAA5kC,QAAAgB,OAAA,GAAqE4sB,MAAA,CAAQjrC,MAAA4pE,EAAA,kBAAA0C,SAAA,SAAAC,GAAuD3C,EAAAhqB,kBAAA2sB,GAA0B3B,WAAA,uBAAiChB,EAAAO,GAAA,KAAAJ,EAAA,cAA+BjF,MAAA,CAAOvlE,KAAA,iBAAAqmD,SAAAgkB,EAAA3nB,aAAAhmC,OAAAqC,UAAA4xB,MAAA05B,EAAAjxC,GAAA,kBAAqGsS,MAAA,CAAQjrC,MAAA4pE,EAAA,oBAAA0C,SAAA,SAAAC,GAAyD3C,EAAAnqB,oBAAA8sB,GAA4B3B,WAAA,yBAAmChB,EAAAO,GAAA,KAAAJ,EAAA,iBAAkCjF,MAAA,CAAO/d,SAAA6iB,EAAA1nB,gBAAA5jC,UAAA61D,MAAA,OAAsDvK,EAAAO,GAAA,KAAAJ,EAAA,cAA+BjF,MAAA,CAAOvlE,KAAA,iBAAAqmD,SAAAgkB,EAAA3nB,aAAAhmC,OAAAsC,UAAA2xB,MAAA05B,EAAAjxC,GAAA,mBAAsGsS,MAAA,CAAQjrC,MAAA4pE,EAAA,oBAAA0C,SAAA,SAAAC,GAAyD3C,EAAAlqB,oBAAA6sB,GAA4B3B,WAAA,yBAAmChB,EAAAO,GAAA,KAAAJ,EAAA,iBAAkCjF,MAAA,CAAO/d,SAAA6iB,EAAA1nB,gBAAA3jC,UAAA41D,MAAA,QAAsD,GAAAvK,EAAAO,GAAA,KAAAJ,EAAA,OAA4BE,YAAA,cAAyB,CAAAF,EAAA,MAAAH,EAAAO,GAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,8CAAAixC,EAAAO,GAAA,KAAAJ,EAAA,cAA2GjF,MAAA,CAAOvlE,KAAA,cAAAqmD,SAAAgkB,EAAA7qB,aAAA7O,MAAA05B,EAAAjxC,GAAA,wBAAuFsS,MAAA,CAAQjrC,MAAA4pE,EAAA,iBAAA0C,SAAA,SAAAC,GAAsD3C,EAAA/pB,iBAAA0sB,GAAyB3B,WAAA,sBAAgChB,EAAAO,GAAA,KAAAJ,EAAA,cAA+BjF,MAAA,CAAOvlE,KAAA,kBAAAqmD,SAAAgkB,EAAA3nB,aAAAhmC,OAAAyC,WAAAwxB,MAAA05B,EAAAjxC,GAAA,kBAAuGsS,MAAA,CAAQjrC,MAAA4pE,EAAA,qBAAA0C,SAAA,SAAAC,GAA0D3C,EAAA9pB,qBAAAysB,GAA6B3B,WAAA,0BAAoChB,EAAAO,GAAA,KAAAJ,EAAA,iBAAkCjF,MAAA,CAAO/d,SAAA6iB,EAAA1nB,gBAAAxjC,cAA2CkrD,EAAAO,GAAA,KAAAJ,EAAA,cAA+BjF,MAAA,CAAOvlE,KAAA,kBAAAqmD,SAAAgkB,EAAA3nB,aAAAhmC,OAAA0C,WAAAuxB,MAAA05B,EAAAjxC,GAAA,mBAAwGsS,MAAA,CAAQjrC,MAAA4pE,EAAA,qBAAA0C,SAAA,SAAAC,GAA0D3C,EAAA7pB,qBAAAwsB,GAA6B3B,WAAA,0BAAoChB,EAAAO,GAAA,KAAAJ,EAAA,iBAAkCjF,MAAA,CAAO/d,SAAA6iB,EAAA1nB,gBAAAvjC,eAA2C,GAAAirD,EAAAO,GAAA,KAAAJ,EAAA,OAA4BE,YAAA,cAAyB,CAAAF,EAAA,MAAAH,EAAAO,GAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,6CAAAixC,EAAAO,GAAA,KAAAJ,EAAA,cAA0GjF,MAAA,CAAOvlE,KAAA,aAAAqmD,SAAAgkB,EAAA7qB,aAAA7O,MAAA05B,EAAAjxC,GAAA,wBAAsFsS,MAAA,CAAQjrC,MAAA4pE,EAAA,gBAAA0C,SAAA,SAAAC,GAAqD3C,EAAAvqB,gBAAAktB,GAAwB3B,WAAA,qBAA+BhB,EAAAO,GAAA,KAAAJ,EAAA,gBAAiCjF,MAAA,CAAOvlE,KAAA,eAAAqmD,SAAAgkB,EAAA3nB,aAAA5kC,QAAAjC,OAAA,GAAqE6vB,MAAA,CAAQjrC,MAAA4pE,EAAA,kBAAA0C,SAAA,SAAAC,GAAuD3C,EAAArqB,kBAAAgtB,GAA0B3B,WAAA,uBAAiChB,EAAAO,GAAA,KAAAJ,EAAA,cAA+BjF,MAAA,CAAOvlE,KAAA,iBAAAqmD,SAAAgkB,EAAA3nB,aAAAhmC,OAAAmC,UAAA8xB,MAAA05B,EAAAjxC,GAAA,kBAAqGsS,MAAA,CAAQjrC,MAAA4pE,EAAA,oBAAA0C,SAAA,SAAAC,GAAyD3C,EAAAtqB,oBAAAitB,GAA4B3B,WAAA,yBAAmChB,EAAAO,GAAA,KAAAJ,EAAA,iBAAkCjF,MAAA,CAAO/d,SAAA6iB,EAAA1nB,gBAAA9jC,cAA0C,GAAAwrD,EAAAO,GAAA,KAAAJ,EAAA,OAA4BE,YAAA,cAAyB,CAAAF,EAAA,MAAAH,EAAAO,GAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,8CAAAixC,EAAAO,GAAA,KAAAJ,EAAA,cAA2GjF,MAAA,CAAOvlE,KAAA,WAAAqmD,SAAAgkB,EAAA7qB,aAAA7O,MAAA05B,EAAAjxC,GAAA,wBAAoFsS,MAAA,CAAQjrC,MAAA4pE,EAAA,cAAA0C,SAAA,SAAAC,GAAmD3C,EAAA1qB,cAAAqtB,GAAsB3B,WAAA,mBAA6BhB,EAAAO,GAAA,KAAAJ,EAAA,gBAAiCjF,MAAA,CAAOvlE,KAAA,aAAAqmD,SAAAgkB,EAAA3nB,aAAA5kC,QAAAa,KAAA,GAAiE+sB,MAAA,CAAQjrC,MAAA4pE,EAAA,gBAAA0C,SAAA,SAAAC,GAAqD3C,EAAAxqB,gBAAAmtB,GAAwB3B,WAAA,qBAA+BhB,EAAAO,GAAA,KAAAJ,EAAA,cAA+BjF,MAAA,CAAOvlE,KAAA,eAAAqmD,SAAAgkB,EAAA3nB,aAAAhmC,OAAAkC,QAAA+xB,MAAA05B,EAAAjxC,GAAA,kBAAiGsS,MAAA,CAAQjrC,MAAA4pE,EAAA,kBAAA0C,SAAA,SAAAC,GAAuD3C,EAAAzqB,kBAAAotB,GAA0B3B,WAAA,uBAAiChB,EAAAO,GAAA,KAAAJ,EAAA,iBAAkCjF,MAAA,CAAO/d,SAAA6iB,EAAA1nB,gBAAA/jC,YAAwC,GAAAyrD,EAAAO,GAAA,KAAAJ,EAAA,OAA4BE,YAAA,cAAyB,CAAAF,EAAA,MAAAH,EAAAO,GAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,8CAAAixC,EAAAO,GAAA,KAAAJ,EAAA,cAA2GjF,MAAA,CAAOvlE,KAAA,cAAAqmD,SAAAgkB,EAAA3nB,aAAAhmC,OAAAgC,OAAAiyB,MAAA05B,EAAAjxC,GAAA,gCAA6GsS,MAAA,CAAQjrC,MAAA4pE,EAAA,iBAAA0C,SAAA,SAAAC,GAAsD3C,EAAAxpB,iBAAAmsB,GAAyB3B,WAAA,sBAAgChB,EAAAO,GAAA,KAAAJ,EAAA,gBAAiCjF,MAAA,CAAOvlE,KAAA,gBAAAqmD,SAAAgkB,EAAA3nB,aAAA5kC,QAAAY,QAAA,GAAuEgtB,MAAA,CAAQjrC,MAAA4pE,EAAA,mBAAA0C,SAAA,SAAAC,GAAwD3C,EAAAvpB,mBAAAksB,GAA2B3B,WAAA,yBAAkC,GAAAhB,EAAAO,GAAA,KAAAJ,EAAA,OAA4BE,YAAA,cAAyB,CAAAF,EAAA,MAAAH,EAAAO,GAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,iDAAAixC,EAAAO,GAAA,KAAAJ,EAAA,cAA8GjF,MAAA,CAAOvlE,KAAA,aAAAqmD,SAAAgkB,EAAA3nB,aAAAhmC,OAAAsB,OAAA,EAAA2yB,MAAA05B,EAAAjxC,GAAA,kBAAkGsS,MAAA,CAAQjrC,MAAA4pE,EAAA,gBAAA0C,SAAA,SAAAC,GAAqD3C,EAAAtpB,gBAAAisB,GAAwB3B,WAAA,qBAA+BhB,EAAAO,GAAA,KAAAJ,EAAA,cAA+BjF,MAAA,CAAOvlE,KAAA,iBAAAqmD,SAAAgkB,EAAA3nB,aAAAhmC,OAAA2C,UAAAsxB,MAAA05B,EAAAjxC,GAAA,mBAAsGsS,MAAA,CAAQjrC,MAAA4pE,EAAA,oBAAA0C,SAAA,SAAAC,GAAyD3C,EAAAppB,oBAAA+rB,GAA4B3B,WAAA,yBAAmChB,EAAAO,GAAA,KAAAJ,EAAA,cAA+BjF,MAAA,CAAOvlE,KAAA,kBAAAqmD,SAAAgkB,EAAA3nB,aAAAhmC,OAAAuC,WAAA0xB,MAAA05B,EAAAjxC,GAAA,gDAAqIsS,MAAA,CAAQjrC,MAAA4pE,EAAA,qBAAA0C,SAAA,SAAAC,GAA0D3C,EAAAjqB,qBAAA4sB,GAA6B3B,WAAA,0BAAoChB,EAAAO,GAAA,KAAAJ,EAAA,gBAAiCjF,MAAA,CAAOvlE,KAAA,eAAAqmD,SAAAgkB,EAAA3nB,aAAA5kC,QAAAE,OAAA,IAAuE0tB,MAAA,CAAQjrC,MAAA4pE,EAAA,kBAAA0C,SAAA,SAAAC,GAAuD3C,EAAArpB,kBAAAgsB,GAA0B3B,WAAA,wBAAiC,KAAAhB,EAAAO,GAAA,KAAAJ,EAAA,OAA8BE,YAAA,mBAAAnF,MAAA,CAAsC50B,MAAA05B,EAAAjxC,GAAA,qCAAmD,CAAAoxC,EAAA,OAAYE,YAAA,cAAyB,CAAAF,EAAA,KAAAH,EAAAO,GAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,2BAAAixC,EAAAO,GAAA,KAAAJ,EAAA,UAAmFE,YAAA,MAAAjF,GAAA,CAAsBr1B,MAAAi6B,EAAA3kB,iBAA4B,CAAA2kB,EAAAO,GAAA,iBAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,0DAAAixC,EAAAO,GAAA,KAAAJ,EAAA,cAA+HjF,MAAA,CAAOvlE,KAAA,YAAA2wC,MAAA05B,EAAAjxC,GAAA,sBAAAitB,SAAAgkB,EAAA3nB,aAAAjmC,MAAAkC,IAAAsL,IAAA,KAAAorD,WAAA,KAAwH3pC,MAAA,CAAQjrC,MAAA4pE,EAAA,eAAA0C,SAAA,SAAAC,GAAoD3C,EAAA5oB,eAAAurB,GAAuB3B,WAAA,oBAA8BhB,EAAAO,GAAA,KAAAJ,EAAA,cAA+BjF,MAAA,CAAOvlE,KAAA,cAAA2wC,MAAA05B,EAAAjxC,GAAA,wBAAAitB,SAAAgkB,EAAA3nB,aAAAjmC,MAAAZ,MAAAoO,IAAA,IAAAorD,WAAA,KAA6H3pC,MAAA,CAAQjrC,MAAA4pE,EAAA,iBAAA0C,SAAA,SAAAC,GAAsD3C,EAAA3oB,iBAAAsrB,GAAyB3B,WAAA,sBAAgChB,EAAAO,GAAA,KAAAJ,EAAA,cAA+BjF,MAAA,CAAOvlE,KAAA,iBAAA2wC,MAAA05B,EAAAjxC,GAAA,2BAAAitB,SAAAgkB,EAAA3nB,aAAAjmC,MAAAkE,SAAAsJ,IAAA,KAAAorD,WAAA,KAAuI3pC,MAAA,CAAQjrC,MAAA4pE,EAAA,oBAAA0C,SAAA,SAAAC,GAAyD3C,EAAA1oB,oBAAAqrB,GAA4B3B,WAAA,yBAAmChB,EAAAO,GAAA,KAAAJ,EAAA,cAA+BjF,MAAA,CAAOvlE,KAAA,cAAA2wC,MAAA05B,EAAAjxC,GAAA,wBAAAitB,SAAAgkB,EAAA3nB,aAAAjmC,MAAAqC,MAAAmL,IAAA,KAAAorD,WAAA,KAA8H3pC,MAAA,CAAQjrC,MAAA4pE,EAAA,iBAAA0C,SAAA,SAAAC,GAAsD3C,EAAAzoB,iBAAAorB,GAAyB3B,WAAA,sBAAgChB,EAAAO,GAAA,KAAAJ,EAAA,cAA+BjF,MAAA,CAAOvlE,KAAA,eAAA2wC,MAAA05B,EAAAjxC,GAAA,yBAAAitB,SAAAgkB,EAAA3nB,aAAAjmC,MAAAxL,OAAAgZ,IAAA,KAAAorD,WAAA,KAAiI3pC,MAAA,CAAQjrC,MAAA4pE,EAAA,kBAAA0C,SAAA,SAAAC,GAAuD3C,EAAAxoB,kBAAAmrB,GAA0B3B,WAAA,uBAAiChB,EAAAO,GAAA,KAAAJ,EAAA,cAA+BjF,MAAA,CAAOvlE,KAAA,kBAAA2wC,MAAA05B,EAAAjxC,GAAA,4BAAAitB,SAAAgkB,EAAA3nB,aAAAjmC,MAAAmE,UAAAqJ,IAAA,KAAAorD,WAAA,KAA0I3pC,MAAA,CAAQjrC,MAAA4pE,EAAA,qBAAA0C,SAAA,SAAAC,GAA0D3C,EAAAvoB,qBAAAkrB,GAA6B3B,WAAA,0BAAoChB,EAAAO,GAAA,KAAAJ,EAAA,cAA+BjF,MAAA,CAAOvlE,KAAA,mBAAA2wC,MAAA05B,EAAAjxC,GAAA,6BAAAitB,SAAAgkB,EAAA3nB,aAAAjmC,MAAAqE,WAAAmJ,IAAA,KAAAorD,WAAA,KAA6I3pC,MAAA,CAAQjrC,MAAA4pE,EAAA,sBAAA0C,SAAA,SAAAC,GAA2D3C,EAAAtoB,sBAAAirB,GAA8B3B,WAAA,2BAAqChB,EAAAO,GAAA,KAAAJ,EAAA,cAA+BjF,MAAA,CAAOvlE,KAAA,gBAAA2wC,MAAA05B,EAAAjxC,GAAA,0BAAAitB,SAAAgkB,EAAA3nB,aAAAjmC,MAAAoE,QAAAoJ,IAAA,KAAAorD,WAAA,KAAoI3pC,MAAA,CAAQjrC,MAAA4pE,EAAA,mBAAA0C,SAAA,SAAAC,GAAwD3C,EAAAroB,mBAAAgrB,GAA2B3B,WAAA,yBAAkC,GAAAhB,EAAAO,GAAA,KAAAJ,EAAA,OAA4BE,YAAA,mBAAAnF,MAAA,CAAsC50B,MAAA05B,EAAAjxC,GAAA,uCAAqD,CAAAoxC,EAAA,OAAYE,YAAA,8BAAyC,CAAAF,EAAA,OAAYE,YAAA,oBAA+B,CAAAL,EAAAO,GAAA,iBAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,uDAAAoxC,EAAA,SAA2GE,YAAA,SAAAnF,MAAA,CAA4BoI,IAAA,oBAAyB,CAAAnD,EAAA,UAAeW,WAAA,EAAanrE,KAAA,QAAAorE,QAAA,UAAA3qE,MAAA4pE,EAAA,eAAAgB,WAAA,mBAAsFX,YAAA,kBAAAnF,MAAA,CAAuCtjE,GAAA,mBAAuBwjE,GAAA,CAAKjiC,OAAA,SAAA8nC,GAA0B,IAAAsC,EAAA5qD,MAAA9mB,UAAA4J,OAAA1J,KAAAkvE,EAAAjsE,OAAAgE,QAAA,SAAAnD,GAAkF,OAAAA,EAAAkkC,WAAkBjgC,IAAA,SAAAjE,GAA+D,MAA7C,WAAAA,IAAA2tE,OAAA3tE,EAAAO,QAA0D4pE,EAAA/oB,eAAAgqB,EAAAjsE,OAAAuO,SAAAggE,IAAA,MAAgFvD,EAAA6B,GAAA7B,EAAA,0BAAA/oD,GAAgD,OAAAkpD,EAAA,UAAoBzpE,IAAAugB,EAAAsqD,SAAA,CAAqBnrE,MAAA6gB,IAAgB,CAAA+oD,EAAAO,GAAA,uBAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,qCAAA9X,IAAA,0BAAsH,GAAA+oD,EAAAO,GAAA,KAAAJ,EAAA,KAAyBE,YAAA,uBAA6BL,EAAAO,GAAA,KAAAJ,EAAA,OAA4BE,YAAA,YAAuB,CAAAF,EAAA,SAAcE,YAAA,QAAAnF,MAAA,CAA2BoI,IAAA,aAAkB,CAAAtD,EAAAO,GAAA,mBAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,wDAAAixC,EAAAO,GAAA,KAAAJ,EAAA,SAA0HW,WAAA,EAAanrE,KAAA,QAAAorE,QAAA,UAAA3qE,MAAA4pE,EAAA,uBAAAgB,WAAA,2BAAsGX,YAAA,iBAAAnF,MAAA,CAAsCtjE,GAAA,WAAAjC,KAAA,WAAAb,KAAA,YAAoDysE,SAAA,CAAWjyC,QAAA3W,MAAAC,QAAAonD,EAAAnmB,wBAAAmmB,EAAAiK,GAAAjK,EAAAnmB,uBAAA,SAAAmmB,EAAA,wBAA4H5E,GAAA,CAAKjiC,OAAA,SAAA8nC,GAA0B,IAAAiJ,EAAAlK,EAAAnmB,uBAAAswB,EAAAlJ,EAAAjsE,OAAAo1E,IAAAD,EAAA76C,QAAsF,GAAA3W,MAAAC,QAAAsxD,GAAA,CAAuB,IAAAG,EAAArK,EAAAiK,GAAAC,EAAA,MAAiCC,EAAA76C,QAAiB+6C,EAAA,IAAArK,EAAAnmB,uBAAAqwB,EAAAj3D,OAAA,CAAlD,QAA6Go3D,GAAA,IAAArK,EAAAnmB,uBAAAqwB,EAAA7yE,MAAA,EAAAgzE,GAAAp3D,OAAAi3D,EAAA7yE,MAAAgzE,EAAA,UAAqFrK,EAAAnmB,uBAAAuwB,MAAkCpK,EAAAO,GAAA,KAAAJ,EAAA,SAA0BE,YAAA,iBAAAnF,MAAA,CAAoCoI,IAAA,gBAAkBtD,EAAAO,GAAA,KAAAJ,EAAA,UAA6BE,YAAA,MAAAjF,GAAA,CAAsBr1B,MAAAi6B,EAAAzkB,eAA0B,CAAAykB,EAAAO,GAAA,iBAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,0DAAAixC,EAAAO,GAAA,KAAAJ,EAAA,kBAAmIjF,MAAA,CAAO5e,QAAA0jB,EAAAjmB,sBAAAiC,SAAAgkB,EAAAjmB,uBAAyE1Y,MAAA,CAAQjrC,MAAA4pE,EAAA,cAAA0C,SAAA,SAAAC,GAAmD3C,EAAAlmB,cAAA6oB,GAAsB3B,WAAA,mBAA6BhB,EAAAO,GAAA,gBAAAP,EAAA/oB,gBAAA,iBAAA+oB,EAAA/oB,eAAAkpB,EAAA,OAAAA,EAAA,QAA8GjF,MAAA,CAAO4G,KAAA,wDAAA5pE,IAAA,MAA0E,CAAAioE,EAAA,QAAAH,EAAAO,GAAA,6BAAAP,EAAAO,GAAA,KAAAJ,EAAA,KAAAH,EAAAO,GAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,uDAAAixC,EAAAO,GAAA,KAAAJ,EAAA,QAAwKjF,MAAA,CAAO4G,KAAA,wDAAA5pE,IAAA,MAA0E,CAAAioE,EAAA,QAAAH,EAAAO,GAAA,iBAAAP,EAAAO,GAAA,KAAAJ,EAAA,QAAAH,EAAAO,GAAA,mBAAAP,EAAAO,GAAA,KAAAJ,EAAA,QAAAH,EAAAO,GAAA,aAAAP,EAAAO,GAAA,KAAAJ,EAAA,QAAwJjF,MAAA,CAAO4G,KAAA,mDAAA5pE,IAAA,MAAqE,CAAAioE,EAAA,QAAAH,EAAAO,GAAA,kBAAAP,EAAAO,GAAA,KAAAJ,EAAA,KAAAH,EAAAO,GAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,0DAAAixC,EAAAM,MAAA,GAAAN,EAAAO,GAAA,KAAAJ,EAAA,OAA4KE,YAAA,kBAAAnF,MAAA,CAAqC50B,MAAA05B,EAAAjxC,GAAA,qCAAmD,CAAAoxC,EAAA,OAAYE,YAAA,cAAyB,CAAAF,EAAA,KAAAH,EAAAO,GAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,iCAAAixC,EAAAO,GAAA,KAAAJ,EAAA,UAAyFE,YAAA,MAAAjF,GAAA,CAAsBr1B,MAAAi6B,EAAAxkB,aAAwB,CAAAwkB,EAAAO,GAAA,iBAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,0DAAAixC,EAAAO,GAAA,KAAAJ,EAAA,eAAgIjF,MAAA,CAAOvlE,KAAA,KAAA2wC,MAAA05B,EAAAjxC,GAAA,6CAAAitB,SAAAgkB,EAAA3nB,aAAA9lC,MAAAoE,UAAAs0D,aAAA,KAAqI5pC,MAAA,CAAQjrC,MAAA4pE,EAAA7oB,WAAA,UAAAurB,SAAA,SAAAC,GAA0D3C,EAAA32B,KAAA22B,EAAA7oB,WAAA,YAAAwrB,IAA2C3B,WAAA,0BAAoChB,EAAAO,GAAA,KAAAJ,EAAA,eAAgCjF,MAAA,CAAOvlE,KAAA,QAAA2wC,MAAA05B,EAAAjxC,GAAA,yCAAAitB,SAAAgkB,EAAA3nB,aAAA9lC,MAAAf,OAA+G6vB,MAAA,CAAQjrC,MAAA4pE,EAAA7oB,WAAA,MAAAurB,SAAA,SAAAC,GAAsD3C,EAAA32B,KAAA22B,EAAA7oB,WAAA,QAAAwrB,IAAuC3B,WAAA,sBAAgChB,EAAAO,GAAA,KAAAJ,EAAA,eAAgCjF,MAAA,CAAOvlE,KAAA,OAAA2wC,MAAA05B,EAAAjxC,GAAA,wCAAAitB,SAAAgkB,EAAA3nB,aAAA9lC,MAAAsE,MAA4GwqB,MAAA,CAAQjrC,MAAA4pE,EAAA7oB,WAAA,KAAAurB,SAAA,SAAAC,GAAqD3C,EAAA32B,KAAA22B,EAAA7oB,WAAA,OAAAwrB,IAAsC3B,WAAA,qBAA+BhB,EAAAO,GAAA,KAAAJ,EAAA,eAAgCjF,MAAA,CAAOvlE,KAAA,WAAA2wC,MAAA05B,EAAAjxC,GAAA,4CAAAitB,SAAAgkB,EAAA3nB,aAAA9lC,MAAAuE,UAAwHuqB,MAAA,CAAQjrC,MAAA4pE,EAAA7oB,WAAA,SAAAurB,SAAA,SAAAC,GAAyD3C,EAAA32B,KAAA22B,EAAA7oB,WAAA,WAAAwrB,IAA0C3B,WAAA,0BAAmC,SAAAhB,EAAAO,GAAA,KAAAJ,EAAA,OAAkCE,YAAA,mBAA8B,CAAAF,EAAA,UAAeE,YAAA,aAAAnF,MAAA,CAAgCp1B,UAAAk6B,EAAA/lB,YAA2BmhB,GAAA,CAAKr1B,MAAAi6B,EAAAnlB,iBAA4B,CAAAmlB,EAAAO,GAAA,WAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,8BAAAixC,EAAAO,GAAA,KAAAJ,EAAA,UAAyFE,YAAA,MAAAjF,GAAA,CAAsBr1B,MAAAi6B,EAAA9kB,WAAsB,CAAA8kB,EAAAO,GAAA,WAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,qDACtvqBgxC,EAAA,iCCJAntE,EAAA8C,EAAAuW,EAAA,sBAAA4uD,IAAAjoE,EAAA8C,EAAAuW,EAAA,sBAAA8zD,IAAA,IAAAlF,EAAA,WAA0B,IAAAmF,EAAAxgE,KAAaygE,EAAAD,EAAAE,eAA0BC,EAAAH,EAAAI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,OAAAA,EAAA,SAA6BjF,MAAA,CAAOoI,IAAA,gCAAqC,CAAAtD,EAAAO,GAAA,SAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,yCAAAixC,EAAAO,GAAA,KAAAJ,EAAA,SAAiGE,YAAA,SAAAnF,MAAA,CAA4BoI,IAAA,gCAAqC,CAAAnD,EAAA,UAAeW,WAAA,EAAanrE,KAAA,QAAAorE,QAAA,UAAA3qE,MAAA4pE,EAAA,SAAAgB,WAAA,aAA0E9F,MAAA,CAAStjE,GAAA,+BAAmCwjE,GAAA,CAAKjiC,OAAA,SAAA8nC,GAA0B,IAAAsC,EAAA5qD,MAAA9mB,UAAA4J,OAAA1J,KAAAkvE,EAAAjsE,OAAAgE,QAAA,SAAAnD,GAAkF,OAAAA,EAAAkkC,WAAkBjgC,IAAA,SAAAjE,GAA+D,MAA7C,WAAAA,IAAA2tE,OAAA3tE,EAAAO,QAA0D4pE,EAAAzhB,SAAA0iB,EAAAjsE,OAAAuO,SAAAggE,IAAA,MAA0EvD,EAAA6B,GAAA7B,EAAA,uBAAAkL,EAAA35E,GAAiD,OAAA4uE,EAAA,UAAoBzpE,IAAAw0E,EAAA3J,SAAA,CAAuBnrE,MAAA80E,IAAkB,CAAAlL,EAAAO,GAAA,aAAAP,EAAAa,GAAAb,EAAA3hB,cAAA9sD,IAAA,gBAAiE,GAAAyuE,EAAAO,GAAA,KAAAJ,EAAA,KAAyBE,YAAA,wBACv7BN,EAAA,iCCDAntE,EAAA8C,EAAAuW,EAAA,sBAAA4uD,IAAAjoE,EAAA8C,EAAAuW,EAAA,sBAAA8zD,IAAA,IAAAlF,EAAA,WAA0B,IAAAmF,EAAAxgE,KAAaygE,EAAAD,EAAAE,eAA0BC,EAAAH,EAAAI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,OAAiBE,YAAA,gCAA2C,CAAAF,EAAA,OAAYE,YAAA,iBAA4B,CAAAF,EAAA,OAAYE,YAAA,SAAoB,CAAAL,EAAAO,GAAA,WAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,kCAAAixC,EAAAO,GAAA,KAAAJ,EAAA,cAAiGjF,MAAA,CAAOvlE,KAAA,SAAe,CAAAqqE,EAAA,wBAAAA,EAAAjtB,uBAAA,MAAAotB,EAAA,OAA6EE,YAAA,cAAAjF,GAAA,CAA8Br1B,MAAA,SAAAk7B,GAAyBA,EAAAn4C,oBAA2B,CAAAk3C,EAAAO,GAAA,eAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,wCAAAixC,EAAAM,KAAAN,EAAAO,GAAA,KAAAP,EAAAjtB,uBAAAz+C,MAAyO0rE,EAAAM,KAAzOH,EAAA,OAAiJE,YAAA,oBAAAjF,GAAA,CAAoCr1B,MAAA,SAAAk7B,GAAyBA,EAAAn4C,oBAA2B,CAAAk3C,EAAAO,GAAA,eAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,wCAAAixC,EAAAM,MAAA,OAAAN,EAAAO,GAAA,KAAAJ,EAAA,OAA8HE,YAAA,cAAyB,CAAAF,EAAA,cAAAA,EAAA,gBAAAA,EAAA,OAAgDjF,MAAA,CAAO50B,MAAA05B,EAAAjxC,GAAA,sBAAoC,CAAAoxC,EAAA,OAAYE,YAAA,gBAA2B,CAAAF,EAAA,MAAAH,EAAAO,GAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,0BAAAixC,EAAAO,GAAA,KAAAJ,EAAA,MAA+EE,YAAA,gBAA2B,CAAAF,EAAA,MAAAA,EAAA,mCAAAH,EAAAO,GAAA,KAAAP,EAAA,6BAAAG,EAAA,MAAAA,EAAA,YAAwH9+B,MAAA,CAAOjrC,MAAA4pE,EAAA,QAAA0C,SAAA,SAAAC,GAA6C3C,EAAA/O,QAAA0R,GAAgB3B,WAAA,YAAuB,CAAAhB,EAAAO,GAAA,uBAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,kDAAAixC,EAAAM,SAAAN,EAAAO,GAAA,KAAAJ,EAAA,OAAmIE,YAAA,gBAA2B,CAAAF,EAAA,MAAAH,EAAAO,GAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,oBAAAixC,EAAAO,GAAA,KAAAJ,EAAA,MAAyEE,YAAA,gBAA2B,CAAAF,EAAA,MAAAA,EAAA,YAA0B9+B,MAAA,CAAOjrC,MAAA4pE,EAAA,eAAA0C,SAAA,SAAAC,GAAoD3C,EAAAvE,eAAAkH,GAAuB3B,WAAA,mBAA8B,CAAAhB,EAAAO,GAAA,uBAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,kCAAAixC,EAAAa,GAAAb,EAAAjxC,GAAA,6BAA4H34B,MAAA4pE,EAAAmL,gCAA0C,4BAAAnL,EAAAO,GAAA,KAAAJ,EAAA,MAAAA,EAAA,YAAmE9+B,MAAA,CAAOjrC,MAAA4pE,EAAA,2BAAA0C,SAAA,SAAAC,GAAgE3C,EAAAv+C,2BAAAkhD,GAAmC3B,WAAA,+BAA0C,CAAAhB,EAAAO,GAAA,uBAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,kCAAAixC,EAAAa,GAAAb,EAAAjxC,GAAA,6BAA4H34B,MAAA4pE,EAAAoL,4CAAsD,4BAAApL,EAAAO,GAAA,KAAAJ,EAAA,MAAAA,EAAA,YAAmE9+B,MAAA,CAAOjrC,MAAA4pE,EAAA,UAAA0C,SAAA,SAAAC,GAA+C3C,EAAAz/C,UAAAoiD,GAAkB3B,WAAA,cAAyB,CAAAhB,EAAAO,GAAA,uBAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,+CAAAixC,EAAAO,GAAA,KAAAJ,EAAA,MAAkHE,YAAA,0BAAAlF,MAAA,EAA8Cr1B,UAAAk6B,EAAAz/C,aAA2B,CAAA4/C,EAAA,MAAAA,EAAA,YAA0BjF,MAAA,CAAOp1B,UAAAk6B,EAAAz/C,WAA0B8gB,MAAA,CAAQjrC,MAAA4pE,EAAA,iBAAA0C,SAAA,SAAAC,GAAsD3C,EAAAp/C,iBAAA+hD,GAAyB3B,WAAA,qBAAgC,CAAAhB,EAAAO,GAAA,2BAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,sEAAAixC,EAAAO,GAAA,KAAAJ,EAAA,MAAAA,EAAA,YAA4J9+B,MAAA,CAAOjrC,MAAA4pE,EAAA,SAAA0C,SAAA,SAAAC,GAA8C3C,EAAAhgD,SAAA2iD,GAAiB3B,WAAA,aAAwB,CAAAhB,EAAAO,GAAA,uBAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,kDAAAixC,EAAAO,GAAA,KAAAJ,EAAA,MAAAA,EAAA,YAAoI9+B,MAAA,CAAOjrC,MAAA4pE,EAAA,aAAA0C,SAAA,SAAAC,GAAkD3C,EAAAtE,aAAAiH,GAAqB3B,WAAA,iBAA4B,CAAAhB,EAAAO,GAAA,uBAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,gEAAAixC,EAAAO,GAAA,KAAAJ,EAAA,OAAoIE,YAAA,gBAA2B,CAAAF,EAAA,MAAAH,EAAAO,GAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,0BAAAixC,EAAAO,GAAA,KAAAJ,EAAA,MAA+EE,YAAA,gBAA2B,CAAAF,EAAA,MAAAA,EAAA,YAA0B9+B,MAAA,CAAOjrC,MAAA4pE,EAAA,UAAA0C,SAAA,SAAAC,GAA+C3C,EAAAnuC,UAAA8wC,GAAkB3B,WAAA,cAAyB,CAAAhB,EAAAO,GAAA,uBAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,4BAAAixC,EAAAa,GAAAb,EAAAjxC,GAAA,6BAAsH34B,MAAA4pE,EAAAqL,2BAAqC,4BAAArL,EAAAO,GAAA,KAAAJ,EAAA,MAAAA,EAAA,YAAmE9+B,MAAA,CAAOjrC,MAAA4pE,EAAA,uBAAA0C,SAAA,SAAAC,GAA4D3C,EAAA5rC,uBAAAuuC,GAA+B3B,WAAA,2BAAsC,CAAAhB,EAAAO,GAAA,uBAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,2CAAAixC,EAAAa,GAAAb,EAAAjxC,GAAA,6BAAqI34B,MAAA4pE,EAAAsL,wCAAkD,4BAAAtL,EAAAO,GAAA,KAAAJ,EAAA,MAAAA,EAAA,OAAAH,EAAAO,GAAA,uBAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,2DAAAoxC,EAAA,SAAiLE,YAAA,SAAAnF,MAAA,CAA4BoI,IAAA,wBAA6B,CAAAnD,EAAA,UAAeW,WAAA,EAAanrE,KAAA,QAAAorE,QAAA,UAAA3qE,MAAA4pE,EAAA,oBAAAgB,WAAA,wBAAgG9F,MAAA,CAAStjE,GAAA,uBAA2BwjE,GAAA,CAAKjiC,OAAA,SAAA8nC,GAA0B,IAAAsC,EAAA5qD,MAAA9mB,UAAA4J,OAAA1J,KAAAkvE,EAAAjsE,OAAAgE,QAAA,SAAAnD,GAAkF,OAAAA,EAAAkkC,WAAkBjgC,IAAA,SAAAjE,GAA+D,MAA7C,WAAAA,IAAA2tE,OAAA3tE,EAAAO,QAA0D4pE,EAAA16C,oBAAA27C,EAAAjsE,OAAAuO,SAAAggE,IAAA,MAAqF,CAAApD,EAAA,UAAejF,MAAA,CAAO9kE,MAAA,UAAiB,CAAA4pE,EAAAO,GAAA,6BAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,6DAAAixC,EAAAa,GAAA,SAAAb,EAAAuL,gCAAAvL,EAAAjxC,GAAA,sEAAAixC,EAAAO,GAAA,KAAAJ,EAAA,UAAiRjF,MAAA,CAAO9kE,MAAA,UAAiB,CAAA4pE,EAAAO,GAAA,6BAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,gEAAAixC,EAAAa,GAAA,YAAAb,EAAAuL,gCAAAvL,EAAAjxC,GAAA,sEAAAixC,EAAAO,GAAA,KAAAJ,EAAA,UAAuRjF,MAAA,CAAO9kE,MAAA,SAAgB,CAAA4pE,EAAAO,GAAA,6BAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,4DAAAixC,EAAAa,GAAA,QAAAb,EAAAuL,gCAAAvL,EAAAjxC,GAAA,wEAAAixC,EAAAO,GAAA,KAAAJ,EAAA,KAA4QE,YAAA,yBAA6BL,EAAAO,GAAA,KAAAP,EAAA3rC,YAAA5iC,OAAA,EAAA0uE,EAAA,MAAAA,EAAA,OAAAH,EAAAO,GAAA,uBAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,8DAAAoxC,EAAA,SAA0LE,YAAA,SAAAnF,MAAA,CAA4BoI,IAAA,oBAAyB,CAAAnD,EAAA,UAAeW,WAAA,EAAanrE,KAAA,QAAAorE,QAAA,UAAA3qE,MAAA4pE,EAAA,gBAAAgB,WAAA,oBAAwF9F,MAAA,CAAStjE,GAAA,mBAAuBwjE,GAAA,CAAKjiC,OAAA,SAAA8nC,GAA0B,IAAAsC,EAAA5qD,MAAA9mB,UAAA4J,OAAA1J,KAAAkvE,EAAAjsE,OAAAgE,QAAA,SAAAnD,GAAkF,OAAAA,EAAAkkC,WAAkBjgC,IAAA,SAAAjE,GAA+D,MAA7C,WAAAA,IAAA2tE,OAAA3tE,EAAAO,QAA0D4pE,EAAAxtC,gBAAAyuC,EAAAjsE,OAAAuO,SAAAggE,IAAA,MAAiFvD,EAAA6B,GAAA7B,EAAA,qBAAAqE,GAA+C,OAAAlE,EAAA,UAAoBzpE,IAAA2tE,EAAA9C,SAAA,CAAyBnrE,MAAAiuE,IAAoB,CAAArE,EAAAO,GAAA,6BAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,6BAAAs1C,EAAA,oCAAArE,EAAAa,GAAAb,EAAAwL,8BAAAnH,EAAArE,EAAAjxC,GAAA,wEAA+Q,GAAAixC,EAAAO,GAAA,KAAAJ,EAAA,KAAyBE,YAAA,yBAA6BL,EAAAM,KAAAN,EAAAO,GAAA,KAAAJ,EAAA,MAAAA,EAAA,YAAqD9+B,MAAA,CAAOjrC,MAAA4pE,EAAA,kBAAA0C,SAAA,SAAAC,GAAuD3C,EAAA5sC,kBAAAuvC,GAA0B3B,WAAA,sBAAiC,CAAAhB,EAAAO,GAAA,uBAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,qCAAAixC,EAAAa,GAAAb,EAAAjxC,GAAA,6BAA+H34B,MAAA4pE,EAAAyL,mCAA6C,4BAAAzL,EAAAO,GAAA,KAAAJ,EAAA,MAAAA,EAAA,YAAmE9+B,MAAA,CAAOjrC,MAAA4pE,EAAA,2BAAA0C,SAAA,SAAAC,GAAgE3C,EAAAhI,2BAAA2K,GAAmC3B,WAAA,+BAA0C,CAAAhB,EAAAO,GAAA,uBAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,uEAAAixC,EAAAO,GAAA,KAAAJ,EAAA,MAAAA,EAAA,YAAyJ9+B,MAAA,CAAOjrC,MAAA4pE,EAAA,SAAA0C,SAAA,SAAAC,GAA8C3C,EAAA5kC,SAAAunC,GAAiB3B,WAAA,aAAwB,CAAAhB,EAAAO,GAAA,uBAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,uDAAAixC,EAAAO,GAAA,KAAAJ,EAAA,OAA2HE,YAAA,gBAA2B,CAAAF,EAAA,MAAAH,EAAAO,GAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,4BAAAixC,EAAAO,GAAA,KAAAJ,EAAA,MAAiFE,YAAA,gBAA2B,CAAAF,EAAA,MAAAA,EAAA,YAA0B9+B,MAAA,CAAOjrC,MAAA4pE,EAAA,gBAAA0C,SAAA,SAAAC,GAAqD3C,EAAAz9C,gBAAAogD,GAAwB3B,WAAA,oBAA+B,CAAAhB,EAAAO,GAAA,uBAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,gEAAAixC,EAAAO,GAAA,KAAAJ,EAAA,MAAAA,EAAA,YAAkJ9+B,MAAA,CAAOjrC,MAAA4pE,EAAA,sBAAA0C,SAAA,SAAAC,GAA2D3C,EAAAx9C,sBAAAmgD,GAA8B3B,WAAA,0BAAqC,CAAAhB,EAAAO,GAAA,uBAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,mEAAAixC,EAAAO,GAAA,KAAAJ,EAAA,MAAAA,EAAA,SAAkJjF,MAAA,CAAOoI,IAAA,kBAAuB,CAAAtD,EAAAO,GAAA,uBAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,oDAAAixC,EAAAO,GAAA,KAAAJ,EAAA,SAA0HW,WAAA,EAAanrE,KAAA,QAAAorE,QAAA,iBAAA3qE,MAAA4pE,EAAA,cAAAgB,WAAA,gBAAAt2B,UAAA,CAAsGghC,QAAA,KAAerL,YAAA,eAAAnF,MAAA,CAAoCtjE,GAAA,gBAAA9C,KAAA,SAAAguC,IAAA,IAAAinC,KAAA,KAA0DxI,SAAA,CAAWnrE,MAAA4pE,EAAA,eAA4B5E,GAAA,CAAK5pD,MAAA,SAAAyvD,GAAyBA,EAAAjsE,OAAAwtE,YAAsCxC,EAAAt6C,cAAAs6C,EAAA2L,GAAA1K,EAAAjsE,OAAAoB,SAA8C2c,KAAA,SAAAkuD,GAAyBjB,EAAA4L,qBAAqB5L,EAAAO,GAAA,KAAAJ,EAAA,MAAAA,EAAA,YAAwC9+B,MAAA,CAAOjrC,MAAA4pE,EAAA,SAAA0C,SAAA,SAAAC,GAA8C3C,EAAAr1C,SAAAg4C,GAAiB3B,WAAA,aAAwB,CAAAhB,EAAAO,GAAA,uBAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,2DAAAixC,EAAAO,GAAA,KAAAJ,EAAA,MAA8HE,YAAA,2BAAsC,CAAAF,EAAA,MAAAA,EAAA,YAA0BjF,MAAA,CAAOp1B,UAAAk6B,EAAAr1C,UAAyB0W,MAAA,CAAQjrC,MAAA4pE,EAAA,aAAA0C,SAAA,SAAAC,GAAkD3C,EAAAp1C,aAAA+3C,GAAqB3B,WAAA,iBAA4B,CAAAhB,EAAAO,GAAA,yBAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,0DAAAixC,EAAAO,GAAA,KAAAJ,EAAA,MAAAA,EAAA,YAA8IjF,MAAA,CAAOp1B,UAAAk6B,EAAAr1C,UAAyB0W,MAAA,CAAQjrC,MAAA4pE,EAAA,gBAAA0C,SAAA,SAAAC,GAAqD3C,EAAAn0C,gBAAA82C,GAAwB3B,WAAA,oBAA+B,CAAAhB,EAAAO,GAAA,yBAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,gEAAAixC,EAAAO,GAAA,KAAAJ,EAAA,MAAAA,EAAA,YAAoJ9+B,MAAA,CAAOjrC,MAAA4pE,EAAA,SAAA0C,SAAA,SAAAC,GAA8C3C,EAAA5zC,SAAAu2C,GAAiB3B,WAAA,aAAwB,CAAAhB,EAAAO,GAAA,uBAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,mDAAAixC,EAAAO,GAAA,KAAAJ,EAAA,MAAAA,EAAA,YAAqI9+B,MAAA,CAAOjrC,MAAA4pE,EAAA,UAAA0C,SAAA,SAAAC,GAA+C3C,EAAAlzC,UAAA61C,GAAkB3B,WAAA,cAAyB,CAAAhB,EAAAO,GAAA,uBAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,gDAAAixC,EAAAO,GAAA,KAAAJ,EAAA,MAAmHE,YAAA,0BAAAlF,MAAA,EAA8Cr1B,UAAAk6B,EAAAz/C,aAA2B,CAAA4/C,EAAA,MAAAA,EAAA,YAA0BjF,MAAA,CAAOp1B,UAAAk6B,EAAAlzC,YAAAkzC,EAAA1tB,qBAAsDjR,MAAA,CAAQjrC,MAAA4pE,EAAA,oBAAA0C,SAAA,SAAAC,GAAyD3C,EAAA9yC,oBAAAy1C,GAA4B3B,WAAA,wBAAmC,CAAAhB,EAAAO,GAAA,2BAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,gEAAAixC,EAAAO,GAAA,KAAAP,EAAA1tB,oBAAgO0tB,EAAAM,KAAhOH,EAAA,OAAmKE,YAAA,eAA0B,CAAAF,EAAA,KAAUE,YAAA,eAAyBL,EAAAO,GAAA,KAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,wEAAAixC,EAAAO,GAAA,KAAAJ,EAAA,MAAAA,EAAA,YAAiJ9+B,MAAA,CAAOjrC,MAAA4pE,EAAA,kBAAA0C,SAAA,SAAAC,GAAuD3C,EAAAn6C,kBAAA88C,GAA0B3B,WAAA,sBAAiC,CAAAhB,EAAAO,GAAA,uBAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,8DAAAixC,EAAAO,GAAA,KAAAJ,EAAA,MAAAA,EAAA,YAAgJ9+B,MAAA,CAAOjrC,MAAA4pE,EAAA,cAAA0C,SAAA,SAAAC,GAAmD3C,EAAA72B,cAAAw5B,GAAsB3B,WAAA,kBAA6B,CAAAhB,EAAAO,GAAA,uBAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,6DAAAixC,EAAAO,GAAA,KAAAJ,EAAA,OAAiIE,YAAA,gBAA2B,CAAAF,EAAA,MAAAH,EAAAO,GAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,8BAAAixC,EAAAO,GAAA,KAAAJ,EAAA,MAAmFE,YAAA,gBAA2B,CAAAF,EAAA,MAAAA,EAAA,YAA0B9+B,MAAA,CAAOjrC,MAAA4pE,EAAA,qBAAA0C,SAAA,SAAAC,GAA0D3C,EAAAnE,qBAAA8G,GAA6B3B,WAAA,yBAAoC,CAAAhB,EAAAO,GAAA,uBAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,2EAAAixC,EAAAO,GAAA,KAAAJ,EAAA,OAA+IE,YAAA,gBAA2B,CAAAF,EAAA,MAAAH,EAAAO,GAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,oBAAAixC,EAAAO,GAAA,KAAAJ,EAAA,MAAyEE,YAAA,gBAA2B,CAAAF,EAAA,MAAAA,EAAA,YAA0B9+B,MAAA,CAAOjrC,MAAA4pE,EAAA,UAAA0C,SAAA,SAAAC,GAA+C3C,EAAA75C,UAAAw8C,GAAkB3B,WAAA,cAAyB,CAAAhB,EAAAO,GAAA,uBAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,2BAAAixC,EAAAa,GAAAb,EAAAjxC,GAAA,6BAAqH34B,MAAA4pE,EAAA6L,2BAAqC,kCAAA7L,EAAAO,GAAA,KAAAJ,EAAA,OAA2DjF,MAAA,CAAO50B,MAAA05B,EAAAjxC,GAAA,oBAAkC,CAAAoxC,EAAA,OAAYE,YAAA,gBAA2B,CAAAF,EAAA,wBAAAH,EAAAO,GAAA,KAAAJ,EAAA,OAAmDjF,MAAA,CAAO50B,MAAA05B,EAAAjxC,GAAA,wBAAsC,CAAAoxC,EAAA,OAAYE,YAAA,gBAA2B,CAAAF,EAAA,OAAYE,YAAA,mBAA8B,CAAAF,EAAA,QAAaE,YAAA,SAAoB,CAAAL,EAAAO,GAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,wCAAAixC,EAAAO,GAAA,KAAAJ,EAAA,MAAoFE,YAAA,eAA0B,CAAAF,EAAA,MAAAA,EAAA,YAA0B9+B,MAAA,CAAOjrC,MAAA4pE,EAAApsB,uBAAA,MAAA8uB,SAAA,SAAAC,GAAkE3C,EAAA32B,KAAA22B,EAAApsB,uBAAA,QAAA+uB,IAAmD3B,WAAA,iCAA4C,CAAAhB,EAAAO,GAAA,yBAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,yEAAAixC,EAAAO,GAAA,KAAAJ,EAAA,MAAAA,EAAA,YAA6J9+B,MAAA,CAAOjrC,MAAA4pE,EAAApsB,uBAAA,QAAA8uB,SAAA,SAAAC,GAAoE3C,EAAA32B,KAAA22B,EAAApsB,uBAAA,UAAA+uB,IAAqD3B,WAAA,mCAA8C,CAAAhB,EAAAO,GAAA,yBAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,2EAAAixC,EAAAO,GAAA,KAAAJ,EAAA,MAAAA,EAAA,YAA+J9+B,MAAA,CAAOjrC,MAAA4pE,EAAApsB,uBAAA,QAAA8uB,SAAA,SAAAC,GAAoE3C,EAAA32B,KAAA22B,EAAApsB,uBAAA,UAAA+uB,IAAqD3B,WAAA,mCAA8C,CAAAhB,EAAAO,GAAA,yBAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,2EAAAixC,EAAAO,GAAA,KAAAJ,EAAA,MAAAA,EAAA,YAA+J9+B,MAAA,CAAOjrC,MAAA4pE,EAAApsB,uBAAA,SAAA8uB,SAAA,SAAAC,GAAqE3C,EAAA32B,KAAA22B,EAAApsB,uBAAA,WAAA+uB,IAAsD3B,WAAA,oCAA+C,CAAAhB,EAAAO,GAAA,yBAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,gFAAAixC,EAAAO,GAAA,KAAAJ,EAAA,OAAAH,EAAAO,GAAA,mBAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,qDAAAoxC,EAAA,SAA+PE,YAAA,SAAAnF,MAAA,CAA4BoI,IAAA,oBAAyB,CAAAnD,EAAA,UAAeW,WAAA,EAAanrE,KAAA,QAAAorE,QAAA,UAAA3qE,MAAA4pE,EAAA,gBAAAgB,WAAA,oBAAwF9F,MAAA,CAAStjE,GAAA,mBAAuBwjE,GAAA,CAAKjiC,OAAA,SAAA8nC,GAA0B,IAAAsC,EAAA5qD,MAAA9mB,UAAA4J,OAAA1J,KAAAkvE,EAAAjsE,OAAAgE,QAAA,SAAAnD,GAAkF,OAAAA,EAAAkkC,WAAkBjgC,IAAA,SAAAjE,GAA+D,MAA7C,WAAAA,IAAA2tE,OAAA3tE,EAAAO,QAA0D4pE,EAAAv7C,gBAAAw8C,EAAAjsE,OAAAuO,SAAAggE,IAAA,MAAiF,CAAApD,EAAA,UAAejF,MAAA,CAAO9kE,MAAA,MAAA2jC,SAAA,KAA6B,CAAAimC,EAAAO,GAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,qCAAAixC,EAAAO,GAAA,KAAAJ,EAAA,UAAqFjF,MAAA,CAAO9kE,MAAA,cAAqB,CAAA4pE,EAAAO,GAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,2CAAAixC,EAAAO,GAAA,KAAAJ,EAAA,UAA2FjF,MAAA,CAAO9kE,MAAA,SAAgB,CAAA4pE,EAAAO,GAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,wCAAAixC,EAAAO,GAAA,KAAAJ,EAAA,KAAmFE,YAAA,uBAA6BL,EAAAO,GAAA,KAAAJ,EAAA,OAAAA,EAAA,YAA2C9+B,MAAA,CAAOjrC,MAAA4pE,EAAA,cAAA0C,SAAA,SAAAC,GAAmD3C,EAAA/4C,cAAA07C,GAAsB3B,WAAA,kBAA6B,CAAAhB,EAAAO,GAAA,qBAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,iCAAAixC,EAAAa,GAAAb,EAAAjxC,GAAA,6BAAyH34B,MAAA4pE,EAAA8L,+BAAyC,0BAAA9L,EAAAO,GAAA,KAAAJ,EAAA,OAAAA,EAAA,YAAkE9+B,MAAA,CAAOjrC,MAAA4pE,EAAA,cAAA0C,SAAA,SAAAC,GAAmD3C,EAAAlE,cAAA6G,GAAsB3B,WAAA,kBAA6B,CAAAhB,EAAAO,GAAA,qBAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,iCAAAixC,EAAAa,GAAAb,EAAAjxC,GAAA,6BAAyH34B,MAAA4pE,EAAA+L,+BAAyC,4BAAA/L,EAAAO,GAAA,KAAAJ,EAAA,OAAqDE,YAAA,gBAA2B,CAAAF,EAAA,OAAAA,EAAA,KAAAH,EAAAO,GAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,sCAAAixC,EAAAO,GAAA,KAAAJ,EAAA,YAA0GW,WAAA,EAAanrE,KAAA,QAAAorE,QAAA,UAAA3qE,MAAA4pE,EAAA,gBAAAgB,WAAA,oBAAwF9F,MAAA,CAAStjE,GAAA,aAAiB2pE,SAAA,CAAWnrE,MAAA4pE,EAAA,iBAA8B5E,GAAA,CAAK5pD,MAAA,SAAAyvD,GAAyBA,EAAAjsE,OAAAwtE,YAAsCxC,EAAAtsB,gBAAAutB,EAAAjsE,OAAAoB,aAA0C4pE,EAAAO,GAAA,KAAAJ,EAAA,OAAAA,EAAA,YAAyC9+B,MAAA,CAAOjrC,MAAA4pE,EAAA,qBAAA0C,SAAA,SAAAC,GAA0D3C,EAAAj8C,qBAAA4+C,GAA6B3B,WAAA,yBAAoC,CAAAhB,EAAAO,GAAA,qBAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,wCAAAixC,EAAAa,GAAAb,EAAAjxC,GAAA,6BAAgI34B,MAAA4pE,EAAAgM,sCAAgD,8BAAAhM,EAAAO,GAAA,KAAAJ,EAAA,OAAuDjF,MAAA,CAAO50B,MAAA05B,EAAAjxC,GAAA,4BAA0C,CAAAoxC,EAAA,OAAYE,YAAA,gBAA2B,CAAAF,EAAA,MAAWE,YAAA,gBAA2B,CAAAF,EAAA,MAAAA,EAAA,KAAAH,EAAAO,GAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,wCAAAixC,EAAAO,GAAA,KAAAJ,EAAA,MAAqGE,YAAA,eAA0B,CAAAF,EAAA,MAAAA,EAAA,KAAmBjF,MAAA,CAAOljD,KAAAgoD,EAAA7sB,mBAAAn+C,OAAA,WAAiD,CAAAgrE,EAAAO,GAAAP,EAAAa,GAAAb,EAAAttB,yBAAAstB,EAAAO,GAAA,KAAAJ,EAAA,MAAAA,EAAA,KAAAH,EAAAO,GAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,yCAAAixC,EAAAO,GAAA,KAAAJ,EAAA,MAA6JE,YAAA,eAA0B,CAAAF,EAAA,MAAAA,EAAA,KAAmBjF,MAAA,CAAOljD,KAAAgoD,EAAA9sB,oBAAAl+C,OAAA,WAAkD,CAAAgrE,EAAAO,GAAAP,EAAAa,GAAAb,EAAArtB,mCAAA,UAC1/hBotB,EAAA,iCCDAntE,EAAA8C,EAAAuW,EAAA,sBAAA4uD,IAAAjoE,EAAA8C,EAAAuW,EAAA,sBAAA8zD,IAAA,IAAAlF,EAAA,WAA0B,IAAAmF,EAAAxgE,KAAaygE,EAAAD,EAAAE,eAA0BC,EAAAH,EAAAI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,OAAiBE,YAAA,gCAA2C,CAAAF,EAAA,OAAYE,YAAA,iBAA4B,CAAAL,EAAAO,GAAA,SAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,wCAAAixC,EAAAO,GAAA,KAAAJ,EAAA,OAA8FE,YAAA,cAAyB,CAAAF,EAAA,QAAaE,YAAA,oBAAAjF,GAAA,CAAoChb,OAAA,SAAA6gB,GAA0BA,EAAAn4C,iBAAwBk3C,EAAA5f,OAAA4f,EAAAlkE,SAAuB,CAAAqkE,EAAA,OAAYE,YAAA,aAAwB,CAAAF,EAAA,OAAYE,YAAA,eAA0B,CAAAF,EAAA,OAAYE,YAAA,aAAAlF,MAAA,CAAgC8Q,oBAAAjM,EAAAtf,GAAA5kD,KAAAgf,SAAAoxD,SAAoD,CAAA/L,EAAA,SAAcE,YAAA,cAAAnF,MAAA,CAAiCoI,IAAA,qBAA0B,CAAAtD,EAAAO,GAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,sBAAAixC,EAAAO,GAAA,KAAAJ,EAAA,SAAqEW,WAAA,EAAanrE,KAAA,QAAAorE,QAAA,eAAA3qE,MAAA4pE,EAAAtf,GAAA5kD,KAAAgf,SAAA,OAAAkmD,WAAA,0BAAAt2B,UAAA,CAAwHnkB,MAAA,KAAa85C,YAAA,eAAAnF,MAAA,CAAoCtjE,GAAA,mBAAAkuC,SAAAk6B,EAAAngB,UAAAmK,YAAAgW,EAAAjxC,GAAA,sCAA2GwyC,SAAA,CAAWnrE,MAAA4pE,EAAAtf,GAAA5kD,KAAAgf,SAAA,QAAsCsgD,GAAA,CAAK5pD,MAAA,SAAAyvD,GAAyBA,EAAAjsE,OAAAwtE,WAAsCxC,EAAA32B,KAAA22B,EAAAtf,GAAA5kD,KAAAgf,SAAA,SAAAmmD,EAAAjsE,OAAAoB,MAAAmwB,SAAqExT,KAAA,SAAAkuD,GAAyBjB,EAAA4L,qBAAqB5L,EAAAO,GAAA,KAAAP,EAAAtf,GAAA5kD,KAAAgf,SAAA,OAAAqlD,EAAA,OAAwDE,YAAA,cAAyB,CAAAF,EAAA,MAAAH,EAAAtf,GAAA5kD,KAAAgf,SAAAyf,SAAAylC,EAAAM,KAAAH,EAAA,MAAAA,EAAA,QAAAH,EAAAO,GAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,wDAAAixC,EAAAM,KAAAN,EAAAO,GAAA,KAAAJ,EAAA,OAAqLE,YAAA,aAAAlF,MAAA,CAAgC8Q,oBAAAjM,EAAAtf,GAAA5kD,KAAAsjD,SAAA8sB,SAAoD,CAAA/L,EAAA,SAAcE,YAAA,cAAAnF,MAAA,CAAiCoI,IAAA,qBAA0B,CAAAtD,EAAAO,GAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,6BAAAixC,EAAAO,GAAA,KAAAJ,EAAA,SAA4EW,WAAA,EAAanrE,KAAA,QAAAorE,QAAA,eAAA3qE,MAAA4pE,EAAAtf,GAAA5kD,KAAAsjD,SAAA,OAAA4hB,WAAA,0BAAAt2B,UAAA,CAAwHnkB,MAAA,KAAa85C,YAAA,eAAAnF,MAAA,CAAoCtjE,GAAA,mBAAAkuC,SAAAk6B,EAAAngB,UAAAmK,YAAAgW,EAAAjxC,GAAA,sCAA2GwyC,SAAA,CAAWnrE,MAAA4pE,EAAAtf,GAAA5kD,KAAAsjD,SAAA,QAAsCgc,GAAA,CAAK5pD,MAAA,SAAAyvD,GAAyBA,EAAAjsE,OAAAwtE,WAAsCxC,EAAA32B,KAAA22B,EAAAtf,GAAA5kD,KAAAsjD,SAAA,SAAA6hB,EAAAjsE,OAAAoB,MAAAmwB,SAAqExT,KAAA,SAAAkuD,GAAyBjB,EAAA4L,qBAAqB5L,EAAAO,GAAA,KAAAP,EAAAtf,GAAA5kD,KAAAsjD,SAAA,OAAA+gB,EAAA,OAAwDE,YAAA,cAAyB,CAAAF,EAAA,MAAAH,EAAAtf,GAAA5kD,KAAAsjD,SAAA7kB,SAAAylC,EAAAM,KAAAH,EAAA,MAAAA,EAAA,QAAAH,EAAAO,GAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,wDAAAixC,EAAAM,KAAAN,EAAAO,GAAA,KAAAJ,EAAA,OAAqLE,YAAA,aAAAlF,MAAA,CAAgC8Q,oBAAAjM,EAAAtf,GAAA5kD,KAAAiM,MAAAmkE,SAAiD,CAAA/L,EAAA,SAAcE,YAAA,cAAAnF,MAAA,CAAiCoI,IAAA,UAAe,CAAAtD,EAAAO,GAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,0BAAAixC,EAAAO,GAAA,KAAAJ,EAAA,SAAyEW,WAAA,EAAanrE,KAAA,QAAAorE,QAAA,UAAA3qE,MAAA4pE,EAAAtf,GAAA5kD,KAAAiM,MAAA,OAAAi5D,WAAA,yBAAkGX,YAAA,eAAAnF,MAAA,CAAoCtjE,GAAA,QAAAkuC,SAAAk6B,EAAAngB,UAAA/qD,KAAA,SAAqDysE,SAAA,CAAWnrE,MAAA4pE,EAAAtf,GAAA5kD,KAAAiM,MAAA,QAAmCqzD,GAAA,CAAK5pD,MAAA,SAAAyvD,GAAyBA,EAAAjsE,OAAAwtE,WAAsCxC,EAAA32B,KAAA22B,EAAAtf,GAAA5kD,KAAAiM,MAAA,SAAAk5D,EAAAjsE,OAAAoB,aAA6D4pE,EAAAO,GAAA,KAAAP,EAAAtf,GAAA5kD,KAAAiM,MAAA,OAAAo4D,EAAA,OAAqDE,YAAA,cAAyB,CAAAF,EAAA,MAAAH,EAAAtf,GAAA5kD,KAAAiM,MAAAwyB,SAAAylC,EAAAM,KAAAH,EAAA,MAAAA,EAAA,QAAAH,EAAAO,GAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,qDAAAixC,EAAAM,KAAAN,EAAAO,GAAA,KAAAJ,EAAA,OAA+KE,YAAA,cAAyB,CAAAF,EAAA,SAAcE,YAAA,cAAAnF,MAAA,CAAiCoI,IAAA,QAAa,CAAAtD,EAAAO,GAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,0BAAAixC,EAAAa,GAAAb,EAAAjxC,GAAA,4BAAAixC,EAAAO,GAAA,KAAAJ,EAAA,YAAsHW,WAAA,EAAanrE,KAAA,QAAAorE,QAAA,UAAA3qE,MAAA4pE,EAAAlkE,KAAA,IAAAklE,WAAA,aAA0EX,YAAA,eAAAnF,MAAA,CAAoCtjE,GAAA,MAAAkuC,SAAAk6B,EAAAngB,UAAAmK,YAAAgW,EAAApgB,gBAAqE2hB,SAAA,CAAWnrE,MAAA4pE,EAAAlkE,KAAA,KAAuBs/D,GAAA,CAAK5pD,MAAA,SAAAyvD,GAAyBA,EAAAjsE,OAAAwtE,WAAsCxC,EAAA32B,KAAA22B,EAAAlkE,KAAA,MAAAmlE,EAAAjsE,OAAAoB,aAAiD4pE,EAAAO,GAAA,KAAAJ,EAAA,OAA0BE,YAAA,aAAAlF,MAAA,CAAgC8Q,oBAAAjM,EAAAtf,GAAA5kD,KAAA8L,SAAAskE,SAAoD,CAAA/L,EAAA,SAAcE,YAAA,cAAAnF,MAAA,CAAiCoI,IAAA,qBAA0B,CAAAtD,EAAAO,GAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,sBAAAixC,EAAAO,GAAA,KAAAJ,EAAA,SAAqEW,WAAA,EAAanrE,KAAA,QAAAorE,QAAA,UAAA3qE,MAAA4pE,EAAAlkE,KAAA,SAAAklE,WAAA,kBAAoFX,YAAA,eAAAnF,MAAA,CAAoCtjE,GAAA,mBAAAkuC,SAAAk6B,EAAAngB,UAAA/qD,KAAA,YAAmEysE,SAAA,CAAWnrE,MAAA4pE,EAAAlkE,KAAA,UAA4Bs/D,GAAA,CAAK5pD,MAAA,SAAAyvD,GAAyBA,EAAAjsE,OAAAwtE,WAAsCxC,EAAA32B,KAAA22B,EAAAlkE,KAAA,WAAAmlE,EAAAjsE,OAAAoB,aAAsD4pE,EAAAO,GAAA,KAAAP,EAAAtf,GAAA5kD,KAAA8L,SAAA,OAAAu4D,EAAA,OAAwDE,YAAA,cAAyB,CAAAF,EAAA,MAAAH,EAAAtf,GAAA5kD,KAAA8L,SAAA2yB,SAAAylC,EAAAM,KAAAH,EAAA,MAAAA,EAAA,QAAAH,EAAAO,GAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,wDAAAixC,EAAAM,KAAAN,EAAAO,GAAA,KAAAJ,EAAA,OAAqLE,YAAA,aAAAlF,MAAA,CAAgC8Q,oBAAAjM,EAAAtf,GAAA5kD,KAAAw0B,QAAA47C,SAAmD,CAAA/L,EAAA,SAAcE,YAAA,cAAAnF,MAAA,CAAiCoI,IAAA,kCAAuC,CAAAtD,EAAAO,GAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,qCAAAixC,EAAAO,GAAA,KAAAJ,EAAA,SAAoFW,WAAA,EAAanrE,KAAA,QAAAorE,QAAA,UAAA3qE,MAAA4pE,EAAAlkE,KAAA,QAAAklE,WAAA,iBAAkFX,YAAA,eAAAnF,MAAA,CAAoCtjE,GAAA,gCAAAkuC,SAAAk6B,EAAAngB,UAAA/qD,KAAA,YAAgFysE,SAAA,CAAWnrE,MAAA4pE,EAAAlkE,KAAA,SAA2Bs/D,GAAA,CAAK5pD,MAAA,SAAAyvD,GAAyBA,EAAAjsE,OAAAwtE,WAAsCxC,EAAA32B,KAAA22B,EAAAlkE,KAAA,UAAAmlE,EAAAjsE,OAAAoB,aAAqD4pE,EAAAO,GAAA,KAAAP,EAAAtf,GAAA5kD,KAAAw0B,QAAA,OAAA6vC,EAAA,OAAuDE,YAAA,cAAyB,CAAAF,EAAA,MAAAH,EAAAtf,GAAA5kD,KAAAw0B,QAAAiK,SAAAylC,EAAAM,KAAAH,EAAA,MAAAA,EAAA,QAAAH,EAAAO,GAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,iEAAAixC,EAAAO,GAAA,KAAAP,EAAAtf,GAAA5kD,KAAAw0B,QAAAivB,eAAAygB,EAAAM,KAAAH,EAAA,MAAAA,EAAA,QAAAH,EAAAO,GAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,kEAAAixC,EAAAM,KAAAN,EAAAO,GAAA,aAAAP,EAAA3gB,QAAAvqD,KAAAqrE,EAAA,OAAgYE,YAAA,aAAAnF,MAAA,CAAgCtjE,GAAA,kBAAsB,CAAAuoE,EAAA,SAAcE,YAAA,cAAAnF,MAAA,CAAiCoI,IAAA,kBAAuB,CAAAtD,EAAAO,GAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,eAAAixC,EAAAO,GAAA,kBAAAP,EAAA3gB,QAAAvqD,KAAA,CAAAqrE,EAAA,OAA+FjF,MAAA,CAAOhnE,IAAA8rE,EAAA3gB,QAAAtmD,KAAsBqiE,GAAA,CAAKr1B,MAAAi6B,EAAArgB,cAAwBqgB,EAAAO,GAAA,KAAAJ,EAAA,OAAAH,EAAAO,GAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,gCAAAixC,EAAAO,GAAA,KAAAJ,EAAA,SAAqGW,WAAA,EAAanrE,KAAA,QAAAorE,QAAA,UAAA3qE,MAAA4pE,EAAA3gB,QAAA,SAAA2hB,WAAA,qBAA0FX,YAAA,eAAAnF,MAAA,CAAoCtjE,GAAA,iBAAAkuC,SAAAk6B,EAAAngB,UAAA/qD,KAAA,OAAA2uE,aAAA,OAAkFlC,SAAA,CAAWnrE,MAAA4pE,EAAA3gB,QAAA,UAA+B+b,GAAA,CAAK5pD,MAAA,SAAAyvD,GAAyBA,EAAAjsE,OAAAwtE,WAAsCxC,EAAA32B,KAAA22B,EAAA3gB,QAAA,WAAA4hB,EAAAjsE,OAAAoB,YAAyD4pE,EAAAM,MAAA,GAAAN,EAAAM,KAAAN,EAAAO,GAAA,KAAAP,EAAA,MAAAG,EAAA,OAA2DE,YAAA,cAAyB,CAAAF,EAAA,SAAcjF,MAAA,CAAOoI,IAAA,UAAe,CAAAtD,EAAAO,GAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,0BAAAixC,EAAAO,GAAA,KAAAJ,EAAA,SAAyEW,WAAA,EAAanrE,KAAA,QAAAorE,QAAA,UAAA3qE,MAAA4pE,EAAA,MAAAgB,WAAA,UAAoEX,YAAA,eAAAnF,MAAA,CAAoCtjE,GAAA,QAAAkuC,SAAA,OAAAhxC,KAAA,QAA6CysE,SAAA,CAAWnrE,MAAA4pE,EAAA,OAAoB5E,GAAA,CAAK5pD,MAAA,SAAAyvD,GAAyBA,EAAAjsE,OAAAwtE,YAAsCxC,EAAAl3D,MAAAm4D,EAAAjsE,OAAAoB,aAAgC4pE,EAAAM,KAAAN,EAAAO,GAAA,KAAAJ,EAAA,OAAmCE,YAAA,cAAyB,CAAAF,EAAA,UAAeE,YAAA,kBAAAnF,MAAA,CAAqCp1B,SAAAk6B,EAAAngB,UAAA/qD,KAAA,WAA0C,CAAAkrE,EAAAO,GAAA,mBAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,2CAAAixC,EAAAO,GAAA,KAAAJ,EAAA,OAA2GE,YAAA,mBAAAkB,SAAA,CAAyCC,UAAAxB,EAAAa,GAAAb,EAAA/f,qBAAwC+f,EAAAO,GAAA,KAAAP,EAAAjgB,uBAAA,OAAAogB,EAAA,OAA8DE,YAAA,cAAyB,CAAAF,EAAA,OAAYE,YAAA,eAA0BL,EAAA6B,GAAA7B,EAAA,gCAAA1rE,GAAqD,OAAA6rE,EAAA,QAAkBzpE,IAAApC,GAAU,CAAA0rE,EAAAO,GAAAP,EAAAa,GAAAvsE,QAA0B,KAAA0rE,EAAAM,YACviPP,EAAA,iCCDAntE,EAAA8C,EAAAuW,EAAA,sBAAA4uD,IAAAjoE,EAAA8C,EAAAuW,EAAA,sBAAA8zD,IAAA,IAAAlF,EAAA,WAA0B,IAAAmF,EAAAxgE,KAAaygE,EAAAD,EAAAE,eAA0BC,EAAAH,EAAAI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,OAAiBE,YAAA,gCAA2C,CAAAF,EAAA,OAAYE,YAAA,iBAA4B,CAAAL,EAAAO,GAAA,SAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,4CAAAixC,EAAAO,GAAA,KAAAJ,EAAA,OAAkGE,YAAA,cAAyB,CAAAF,EAAA,QAAaE,YAAA,sBAAAjF,GAAA,CAAsChb,OAAA,SAAA6gB,GAAkD,OAAxBA,EAAAn4C,iBAAwBk3C,EAAA5f,OAAA6gB,MAA4B,CAAAd,EAAA,OAAYE,YAAA,aAAwB,CAAAL,EAAA9e,cAAA8e,EAAAhf,SAAAgf,EAAA/e,UAAAkf,EAAA,OAAAH,EAAA,QAAAG,EAAA,KAAAH,EAAAO,GAAA,iBAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,iDAAAixC,EAAAM,KAAAN,EAAAO,GAAA,KAAAJ,EAAA,OAAkeE,YAAA,0BAAqC,CAAAF,EAAA,eAAoBjF,MAAA,CAAOwI,GAAA,CAAM/tE,KAAA,UAAe,CAAAqqE,EAAAO,GAAA,mBAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,yDAAAoxC,EAAA,OAAAH,EAAA,uBAAAG,EAAA,KAAkJE,YAAA,iCAA4C,CAAAL,EAAAO,GAAA,iBAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,6DAAAixC,EAAAM,KAAAN,EAAAO,GAAA,KAAAJ,EAAA,KAAAH,EAAAO,GAAA,iBAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,iDAAAixC,EAAAO,GAAA,KAAAJ,EAAA,OAA+OE,YAAA,cAAyB,CAAAF,EAAA,SAAcW,WAAA,EAAanrE,KAAA,QAAAorE,QAAA,UAAA3qE,MAAA4pE,EAAAlkE,KAAA,MAAAklE,WAAA,eAA8E9gC,IAAA,QAAAmgC,YAAA,eAAAnF,MAAA,CAAgDp1B,SAAAk6B,EAAAngB,UAAAmK,YAAAgW,EAAAjxC,GAAA,8BAAAj6B,KAAA,SAA2FysE,SAAA,CAAWnrE,MAAA4pE,EAAAlkE,KAAA,OAAyBs/D,GAAA,CAAK5pD,MAAA,SAAAyvD,GAAyBA,EAAAjsE,OAAAwtE,WAAsCxC,EAAA32B,KAAA22B,EAAAlkE,KAAA,QAAAmlE,EAAAjsE,OAAAoB,aAAmD4pE,EAAAO,GAAA,KAAAJ,EAAA,OAA0BE,YAAA,cAAyB,CAAAF,EAAA,UAAeE,YAAA,4BAAAnF,MAAA,CAA+Cp1B,SAAAk6B,EAAAngB,UAAA/qD,KAAA,WAA0C,CAAAkrE,EAAAO,GAAA,mBAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,2CAAviDoxC,EAAA,OAAAH,EAAA,uBAAAG,EAAA,KAAAH,EAAAO,GAAA,iBAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,oFAAAoxC,EAAA,KAAAH,EAAAO,GAAA,iBAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,+DAAuiDixC,EAAAO,GAAA,KAAAP,EAAA,MAAAG,EAAA,KAAqHE,YAAA,kCAA6C,CAAAF,EAAA,QAAAH,EAAAO,GAAAP,EAAAa,GAAAb,EAAA1rE,UAAA0rE,EAAAO,GAAA,KAAAJ,EAAA,KAA6DE,YAAA,sBAAAjF,GAAA,CAAsCr1B,MAAA,SAAAk7B,GAAyBA,EAAAn4C,iBAAwBk3C,EAAA5e,kBAAqB,CAAA+e,EAAA,KAAUE,YAAA,oBAA0BL,EAAAM,cACn3EP,EAAA,iCCDAntE,EAAA8C,EAAAuW,EAAA,sBAAA4uD,IAAAjoE,EAAA8C,EAAAuW,EAAA,sBAAA8zD,IAAA,IAAAlF,EAAA,WAA0B,IAAAmF,EAAAxgE,KAAaygE,EAAAD,EAAAE,eAA0BC,EAAAH,EAAAI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,OAAiBE,YAAA,iBAA4B,CAAAL,EAAA,QAAAG,EAAA,OAAAA,EAAA,OAAoCE,YAAA,iCAA4C,CAAAF,EAAA,OAAYjgC,IAAA,MAAAg7B,MAAA,CAAiBhnE,IAAA8rE,EAAA5X,QAAAuc,IAAA,IAA2BvJ,GAAA,CAAKtrB,KAAA,SAAAmxB,GAAiD,OAAzBA,EAAAp4C,kBAAyBm3C,EAAAhX,cAAAiY,SAAmCjB,EAAAO,GAAA,KAAAJ,EAAA,OAA0BE,YAAA,iCAA4C,CAAAF,EAAA,UAAeE,YAAA,MAAAnF,MAAA,CAAyBpmE,KAAA,SAAAgxC,SAAAk6B,EAAA1X,YAA0CiZ,SAAA,CAAW4K,YAAAnM,EAAAa,GAAAb,EAAAxX,WAAmC4S,GAAA,CAAKr1B,MAAA,SAAAk7B,GAAyBjB,EAAA5f,aAAe4f,EAAAO,GAAA,KAAAJ,EAAA,UAA2BE,YAAA,MAAAnF,MAAA,CAAyBpmE,KAAA,SAAAgxC,SAAAk6B,EAAA1X,YAA0CiZ,SAAA,CAAW4K,YAAAnM,EAAAa,GAAAb,EAAAtX,aAAqC0S,GAAA,CAAKr1B,MAAAi6B,EAAA1wB,WAAqB0wB,EAAAO,GAAA,KAAAJ,EAAA,UAA2BE,YAAA,MAAAnF,MAAA,CAAyBpmE,KAAA,SAAAgxC,SAAAk6B,EAAA1X,YAA0CiZ,SAAA,CAAW4K,YAAAnM,EAAAa,GAAAb,EAAAvX,0BAAkD2S,GAAA,CAAKr1B,MAAA,SAAAk7B,GAAyBjB,EAAA5f,QAAA,OAAoB4f,EAAAO,GAAA,KAAAP,EAAA,WAAAG,EAAA,KAAuCE,YAAA,4BAAsCL,EAAAM,OAAAN,EAAAO,GAAA,KAAAP,EAAA,YAAAG,EAAA,OAAqDE,YAAA,eAA0B,CAAAL,EAAAO,GAAA,WAAAP,EAAAa,GAAAb,EAAArX,gBAAA,YAAAwX,EAAA,KAAmEE,YAAA,0BAAAjF,GAAA,CAA0Cr1B,MAAAi6B,EAAA13C,gBAAwB03C,EAAAM,OAAAN,EAAAM,KAAAN,EAAAO,GAAA,KAAAJ,EAAA,SAAgDjgC,IAAA,QAAAmgC,YAAA,0BAAAnF,MAAA,CAAyDpmE,KAAA,OAAAi9D,OAAAiO,EAAAhY,YACz1C+X,EAAA,iCCDAntE,EAAA8C,EAAAuW,EAAA,sBAAA4uD,IAAAjoE,EAAA8C,EAAAuW,EAAA,sBAAA8zD,IAAA,IAAAlF,EAAA,WAA0B,IAAAmF,EAAAxgE,KAAaygE,EAAAD,EAAAE,eAA0BC,EAAAH,EAAAI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,mBAA6BjF,MAAA,CAAOp/D,KAAAkkE,EAAAlkE,OAAiB,CAAAqkE,EAAA,OAAYE,YAAA,gCAA2C,CAAAL,EAAA,QAAAG,EAAA,UAA6BE,YAAA,kBAAAnF,MAAA,CAAqCp1B,SAAAk6B,EAAAh6B,UAAwBo1B,GAAA,CAAKr1B,MAAAi6B,EAAA9+D,cAAyB,CAAA8+D,EAAA,UAAAA,EAAAO,GAAA,aAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,6CAAAixC,EAAAO,GAAA,aAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,uCAAAoxC,EAAA,UAAuLE,YAAA,kBAAAnF,MAAA,CAAqCp1B,SAAAk6B,EAAAh6B,UAAwBo1B,GAAA,CAAKr1B,MAAAi6B,EAAAj/D,YAAuB,CAAAi/D,EAAA,UAAAA,EAAAO,GAAA,aAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,2CAAAixC,EAAAO,GAAA,aAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,0CAC7kBgxC,EAAA,iCCDAntE,EAAA8C,EAAAuW,EAAA,sBAAA4uD,IAAAjoE,EAAA8C,EAAAuW,EAAA,sBAAA8zD,IAAA,IAAAlF,EAAA,WAA0B,IAAAmF,EAAAxgE,KAAaygE,EAAAD,EAAAE,eAA0BC,EAAAH,EAAAI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,mBAA6BjF,MAAA,CAAOp/D,KAAAkkE,EAAAlkE,OAAiB,CAAAqkE,EAAA,OAAYE,YAAA,+BAA0C,CAAAL,EAAA,MAAAG,EAAA,UAA2BE,YAAA,kBAAAnF,MAAA,CAAqCp1B,SAAAk6B,EAAAh6B,UAAwBo1B,GAAA,CAAKr1B,MAAAi6B,EAAA57D,aAAwB,CAAA47D,EAAA,UAAAA,EAAAO,GAAA,aAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,4CAAAixC,EAAAO,GAAA,aAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,sCAAAoxC,EAAA,UAAqLE,YAAA,kBAAAnF,MAAA,CAAqCp1B,SAAAk6B,EAAAh6B,UAAwBo1B,GAAA,CAAKr1B,MAAAi6B,EAAA97D,WAAsB,CAAA87D,EAAA,UAAAA,EAAAO,GAAA,aAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,0CAAAixC,EAAAO,GAAA,aAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,yCACtkBgxC,EAAA,iCCDAntE,EAAA8C,EAAAuW,EAAA,sBAAA4uD,IAAAjoE,EAAA8C,EAAAuW,EAAA,sBAAA8zD,IAAA,IAAAlF,EAAA,WAA0B,IAAAmF,EAAAxgE,KAAaygE,EAAAD,EAAAE,eAA0BC,EAAAH,EAAAI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,OAAiBE,YAAA,mBAA8B,CAAAL,EAAA9uB,MAAAz/C,OAAA,EAAA0uE,EAAA,OAAmCE,YAAA,0BAAqC,CAAAF,EAAA,OAAYE,YAAA,oCAA+C,CAAAF,EAAA,YAAiBjF,MAAA,CAAO5rC,QAAA0wC,EAAAtW,YAAA4Y,cAAAtC,EAAApW,cAA2DwR,GAAA,CAAKjiC,OAAA6mC,EAAAjW,YAAwB,CAAAiW,EAAAO,GAAA,aAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,iDAAAixC,EAAAO,GAAA,KAAAJ,EAAA,OAA2GE,YAAA,kCAA6C,CAAAL,EAAAuC,GAAA,eAAwBxoC,SAAAimC,EAAAvW,oBAA8B,KAAAuW,EAAAM,KAAAN,EAAAO,GAAA,KAAAJ,EAAA,QAAwCjF,MAAA,CAAOhqB,MAAA8uB,EAAA9uB,MAAAk7B,UAAApM,EAAA7uB,QAAuCq4B,YAAAxJ,EAAAyJ,GAAA,EAAsB/yE,IAAA,OAAAgzE,GAAA,SAAAxpC,GACrrB,IAAA2J,EAAA3J,EAAA2J,KACA,OAAAs2B,EAAA,OAAkBE,YAAA,6BAAAlF,MAAA,CAAgDkR,sCAAArM,EAAAnW,WAAAhgB,KAA+D,CAAAs2B,EAAA,OAAYE,YAAA,oCAA+C,CAAAF,EAAA,YAAiBjF,MAAA,CAAO5rC,QAAA0wC,EAAAnW,WAAAhgB,IAA+BuxB,GAAA,CAAKjiC,OAAA,SAAA7J,GAA6B,OAAA0wC,EAAAlW,OAAAx6B,EAAAua,QAAsC,GAAAm2B,EAAAO,GAAA,KAAAP,EAAAuC,GAAA,aAAsC14B,UAAU,SAAW,CAAAs2B,EAAA,YAAiBlkC,KAAA,SAAa,CAAA+jC,EAAAuC,GAAA,sBACpZxC,EAAA,iCCHAntE,EAAA8C,EAAAuW,EAAA,sBAAA4uD,IAAAjoE,EAAA8C,EAAAuW,EAAA,sBAAA8zD,IAAA,IAAAlF,EAAA,WAA0B,IAAAmF,EAAAxgE,KAAaygE,EAAAD,EAAAE,eAA0BC,EAAAH,EAAAI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,OAAiBW,WAAA,EAAanrE,KAAA,gBAAAorE,QAAA,kBAAA3qE,MAAA4pE,EAAA,eAAAgB,WAAA,mBAAsGX,YAAA,eAA4B,CAAAF,EAAA,SAAcW,WAAA,EAAanrE,KAAA,QAAAorE,QAAA,UAAA3qE,MAAA4pE,EAAA,KAAAgB,WAAA,SAAkEX,YAAA,oBAAAnF,MAAA,CAAyClR,YAAAgW,EAAAhW,aAA8BuX,SAAA,CAAWnrE,MAAA4pE,EAAA,MAAmB5E,GAAA,CAAKr1B,MAAAi6B,EAAA1V,aAAA94C,MAAA,SAAAyvD,GAAkDA,EAAAjsE,OAAAwtE,YAAsCxC,EAAA/V,KAAAgX,EAAAjsE,OAAAoB,WAA+B4pE,EAAAO,GAAA,KAAAP,EAAA7V,gBAAA6V,EAAA5V,SAAA34D,OAAA,EAAA0uE,EAAA,OAAwEE,YAAA,uBAAkC,CAAAL,EAAA6B,GAAA7B,EAAA,kBAAAn2B,GAAuC,OAAAm2B,EAAAuC,GAAA,gBAA8B14B,YAAY,GAAAm2B,EAAAM,QAClvBP,EAAA,iCCDAntE,EAAA8C,EAAAuW,EAAA,sBAAA4uD,IAAAjoE,EAAA8C,EAAAuW,EAAA,sBAAA8zD,IAAA,IAAAlF,EAAA,WAA0B,IAAAmF,EAAAxgE,KAAaygE,EAAAD,EAAAE,eAA0BC,EAAAH,EAAAI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,OAAiBE,YAAA,YAAuB,CAAAF,EAAA,QAAAA,EAAA,SAAyBjgC,IAAA,QAAAg7B,MAAA,CAAmBpmE,KAAA,QAAcsmE,GAAA,CAAKjiC,OAAA6mC,EAAA7mC,YAAqB6mC,EAAAO,GAAA,KAAAP,EAAA,WAAAG,EAAA,KAAyCE,YAAA,+CAAyDF,EAAA,UAAeE,YAAA,kBAAAjF,GAAA,CAAkCr1B,MAAAi6B,EAAA5f,SAAoB,CAAA4f,EAAAO,GAAA,SAAAP,EAAAa,GAAAb,EAAAzV,mBAAA,UAAAyV,EAAAO,GAAA,KAAAP,EAAA,QAAAG,EAAA,OAAAA,EAAA,KAAsGE,YAAA,aAAAjF,GAAA,CAA6Br1B,MAAAi6B,EAAAvV,WAAqBuV,EAAAO,GAAA,KAAAJ,EAAA,KAAAH,EAAAO,GAAAP,EAAAa,GAAAb,EAAAxV,qBAAAwV,EAAA,MAAAG,EAAA,OAAAA,EAAA,KAA2FE,YAAA,aAAAjF,GAAA,CAA6Br1B,MAAAi6B,EAAAvV,WAAqBuV,EAAAO,GAAA,KAAAJ,EAAA,KAAAH,EAAAO,GAAAP,EAAAa,GAAAb,EAAAvvB,mBAAAuvB,EAAAM,QACjqBP,EAAA,iCCDAntE,EAAA8C,EAAAuW,EAAA,sBAAA4uD,IAAAjoE,EAAA8C,EAAAuW,EAAA,sBAAA8zD,IAAA,IAAAlF,EAAA,WAA0B,IAAAmF,EAAAxgE,KAAaygE,EAAAD,EAAAE,eAA0BC,EAAAH,EAAAI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,OAAiBE,YAAA,YAAuB,CAAAL,EAAA,WAAAG,EAAA,OAAAA,EAAA,KAAqCE,YAAA,gDAA0DL,EAAAO,GAAA,KAAAJ,EAAA,QAAAH,EAAAO,GAAAP,EAAAa,GAAAb,EAAApV,wBAAAuV,EAAA,UAAgFE,YAAA,kBAAAjF,GAAA,CAAkCr1B,MAAAi6B,EAAAlV,UAAqB,CAAAkV,EAAAO,GAAA,SAAAP,EAAAa,GAAAb,EAAArV,mBAAA,aACvWoV,EAAA,iCCDAntE,EAAA8C,EAAAuW,EAAA,sBAAA4uD,IAAAjoE,EAAA8C,EAAAuW,EAAA,sBAAA8zD,IAAA,IAAAlF,EAAA,WAA0B,IAAAmF,EAAAxgE,KAAaygE,EAAAD,EAAAE,eAA0BC,EAAAH,EAAAI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,OAAAH,EAAA,aAAAG,EAAA,MAAAH,EAAAO,GAAA,SAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,0CAAAixC,EAAAM,KAAAN,EAAAO,GAAA,KAAAP,EAAA,WAAAG,EAAA,KAAAH,EAAAO,GAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,6CAAAixC,EAAAM,KAAAN,EAAAO,GAAA,KAAAP,EAAA,OAAAG,EAAA,KAA+QE,YAAA,iBAA4B,CAAAL,EAAAO,GAAA,WAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,oDAAAixC,EAAAO,GAAA,KAAAJ,EAAA,MAA2GE,YAAA,gBAA2BL,EAAA6B,GAAA7B,EAAA1U,YAAA,eAAA1wC,GAA+C,OAAAulD,EAAA,MAAgBzpE,IAAAkkB,GAAS,CAAAolD,EAAAO,GAAA,aAAAP,EAAAa,GAAAjmD,GAAA,gBAAiD,IAAAolD,EAAAM,MAAA,IACnoBP,EAAA,iCCDAntE,EAAA8C,EAAAuW,EAAA,sBAAA4uD,IAAAjoE,EAAA8C,EAAAuW,EAAA,sBAAA8zD,IAAA,IAAAlF,EAAA,WAA0B,IAAAmF,EAAAxgE,KAAaygE,EAAAD,EAAAE,eAA0BC,EAAAH,EAAAI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,OAAAH,EAAAuC,GAAA,WAAAvC,EAAAO,GAAA,KAAAJ,EAAA,UAA4DE,YAAA,kBAAAnF,MAAA,CAAqCp1B,SAAAk6B,EAAAl6B,UAAwBs1B,GAAA,CAAKr1B,MAAAi6B,EAAA1vC,UAAqB,CAAA0vC,EAAAO,GAAA,SAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,8BAAAixC,EAAAO,GAAA,KAAAJ,EAAA,UAAuFE,YAAA,kBAAAnF,MAAA,CAAqCp1B,SAAAk6B,EAAAl6B,UAAwBs1B,GAAA,CAAKr1B,MAAAi6B,EAAAhS,SAAoB,CAAAgS,EAAAO,GAAA,SAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,kCACzZgxC,EAAA,iCCDAntE,EAAA8C,EAAAuW,EAAA,sBAAA4uD,IAAAjoE,EAAA8C,EAAAuW,EAAA,sBAAA8zD,IAAA,IAAAlF,EAAA,WAA0B,IAAAmF,EAAAxgE,KAAaygE,EAAAD,EAAAE,eAA0BC,EAAAH,EAAAI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,OAAAA,EAAA,OAA2BE,YAAA,eAA0B,CAAAF,EAAA,UAAAH,EAAAO,GAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,wBAAAixC,EAAAO,GAAA,KAAAP,EAAArS,YAAkKqS,EAAAM,KAAlKH,EAAA,UAAwGE,YAAA,kBAAAjF,GAAA,CAAkCr1B,MAAAi6B,EAAApS,aAAwB,CAAAoS,EAAAO,GAAA,WAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,+BAAAixC,EAAAO,GAAA,KAAAP,EAAA,YAAAG,EAAA,UAAqHE,YAAA,kBAAAnF,MAAA,CAAqCp1B,SAAAk6B,EAAAtS,YAA0B0N,GAAA,CAAKr1B,MAAAi6B,EAAAlS,eAA0B,CAAAkS,EAAAO,GAAA,WAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,gCAAAixC,EAAAM,OAAAN,EAAAO,GAAA,KAAAP,EAAA,WAAAG,EAAA,WAAwHjF,MAAA,CAAOp1B,SAAAk6B,EAAA95B,YAA0Bk1B,GAAA,CAAK9qC,QAAA0vC,EAAAjS,kBAAAC,OAAAgS,EAAAnS,mBAA+D,CAAAmS,EAAAO,GAAA,SAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,0DAAAoxC,EAAA,SAAsGW,WAAA,EAAanrE,KAAA,QAAAorE,QAAA,UAAA3qE,MAAA4pE,EAAA,gBAAAgB,WAAA,oBAAwF9F,MAAA,CAASpmE,KAAA,YAAkBysE,SAAA,CAAWnrE,MAAA4pE,EAAA,iBAA8B5E,GAAA,CAAK5pD,MAAA,SAAAyvD,GAAyBA,EAAAjsE,OAAAwtE,YAAsCxC,EAAArU,gBAAAsV,EAAAjsE,OAAAoB,aAA0C4pE,EAAAM,KAAAN,EAAAO,GAAA,KAAAP,EAAA,MAAAG,EAAA,OAA+CE,YAAA,eAA0B,CAAAL,EAAAO,GAAA,SAAAP,EAAAa,GAAAb,EAAA1rE,OAAA,UAAA0rE,EAAAM,MAAA,IACtqCP,EAAA,iCCDAntE,EAAA8C,EAAAuW,EAAA,sBAAA4uD,IAAAjoE,EAAA8C,EAAAuW,EAAA,sBAAA8zD,IAAA,IAAAlF,EAAA,WAA0B,IAAAmF,EAAAxgE,KAAaygE,EAAAD,EAAAE,eAA0BC,EAAAH,EAAAI,MAAAD,IAAAF,EAAwB,OAAAD,EAAAnU,WAAAmU,EAAA70D,SAAA8/C,UAAAkV,EAAA,OAA2DE,YAAA,6BAAwC,CAAAF,EAAA,OAAYE,YAAA,eAA0B,CAAAF,EAAA,MAAAH,EAAAO,GAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,4BAAAixC,EAAAO,GAAA,KAAAJ,EAAA,OAAAH,EAAA1T,gBAA+6B0T,EAAAM,KAA/6BH,EAAA,OAAmHE,YAAA,gBAA2B,CAAAF,EAAA,MAAAH,EAAAO,GAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,2CAAAixC,EAAAO,GAAA,KAAAJ,EAAA,aAAuGjF,MAAA,CAAO/vD,SAAA60D,EAAA70D,UAAwBiwD,GAAA,CAAK1N,WAAAsS,EAAA3S,cAAAif,SAAAtM,EAAAnT,eAA2DmT,EAAAO,GAAA,KAAAJ,EAAA,MAAAH,EAAAO,GAAA,KAAAP,EAAA70D,SAAA,QAAAg1D,EAAA,OAAAH,EAAApT,sBAA6JoT,EAAAM,KAA7JH,EAAA,kBAAsHjF,MAAA,CAAOqR,eAAAvM,EAAA1U,eAAgC0U,EAAAO,GAAA,KAAAP,EAAApT,sBAA+HoT,EAAAM,KAA/HH,EAAA,UAAiEE,YAAA,kBAAAjF,GAAA,CAAkCr1B,MAAAi6B,EAAAjT,iBAA4B,CAAAiT,EAAAO,GAAA,eAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,6DAAAixC,EAAAO,GAAA,KAAAP,EAAA,sBAAAG,EAAA,OAAAA,EAAA,WAA4KjF,MAAA,CAAOp1B,SAAAk6B,EAAA1U,YAAAplB,YAAsCk1B,GAAA,CAAK9qC,QAAA0vC,EAAAhT,mBAAAgB,OAAAgS,EAAA/S,oBAAiE,CAAAkT,EAAA,KAAUE,YAAA,WAAsB,CAAAL,EAAAO,GAAA,mBAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,yEAAAixC,EAAAM,MAAA,GAAAN,EAAAM,MAAA,GAAAN,EAAAO,GAAA,KAAAP,EAAA,gBAAAG,EAAA,OAAAA,EAAA,MAAAH,EAAAO,GAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,8BAAAixC,EAAAO,GAAA,KAAAP,EAAAxT,mBAAgWwT,EAAAM,KAAhWH,EAAA,kBAAyTjF,MAAA,CAAOqR,eAAAvM,EAAA1U,eAAgC0U,EAAAO,GAAA,KAAAP,EAAA,YAAAG,EAAA,UAAsDE,YAAA,kBAAAjF,GAAA,CAAkCr1B,MAAAi6B,EAAA1S,cAAyB,CAAA0S,EAAAO,GAAA,aAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,iCAAAixC,EAAAM,KAAAN,EAAAO,GAAA,KAAAP,EAAA,YAAAG,EAAA,UAAyHE,YAAA,kBAAAjF,GAAA,CAAkCr1B,MAAAi6B,EAAA9S,WAAsB,CAAA8S,EAAAO,GAAA,aAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,yCAAAixC,EAAAM,KAAAN,EAAAO,GAAA,KAAAP,EAAA,oBAAAA,EAAA,WAAAG,EAAA,KAAAH,EAAAO,GAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,uCAAAixC,EAAAM,KAAAN,EAAAO,GAAA,KAAAP,EAAA,WAAAG,EAAA,OAAAA,EAAA,OAA2QE,YAAA,aAAwB,CAAAF,EAAA,OAAYE,YAAA,WAAsB,CAAAF,EAAA,MAAAH,EAAAO,GAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,+BAAAixC,EAAAO,GAAA,KAAAJ,EAAA,KAAAH,EAAAO,GAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,8BAAAixC,EAAAO,GAAA,KAAAJ,EAAA,UAA+JjF,MAAA,CAAO9kE,MAAA4pE,EAAAvU,YAAAC,iBAAA1yD,QAAA,CAAoDgzB,MAAA,QAAeg0C,EAAAO,GAAA,KAAAJ,EAAA,KAAAH,EAAAO,GAAA,qBAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,wDAAAixC,EAAAa,GAAAb,EAAAvU,YAAA/0D,KAAA,0BAAAspE,EAAAO,GAAA,KAAAJ,EAAA,OAAoME,YAAA,UAAqB,CAAAF,EAAA,MAAAH,EAAAO,GAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,sBAAAixC,EAAAO,GAAA,KAAAJ,EAAA,KAAAH,EAAAO,GAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,gCAAAixC,EAAAO,GAAA,KAAAJ,EAAA,SAAuJW,WAAA,EAAanrE,KAAA,QAAAorE,QAAA,UAAA3qE,MAAA4pE,EAAA,gBAAAgB,WAAA,oBAAwF9F,MAAA,CAASpmE,KAAA,QAAcysE,SAAA,CAAWnrE,MAAA4pE,EAAA,iBAA8B5E,GAAA,CAAK5pD,MAAA,SAAAyvD,GAAyBA,EAAAjsE,OAAAwtE,YAAsCxC,EAAApU,gBAAAqV,EAAAjsE,OAAAoB,WAA0C4pE,EAAAO,GAAA,KAAAJ,EAAA,KAAAH,EAAAO,GAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,sDAAAixC,EAAAO,GAAA,KAAAJ,EAAA,SAAyHW,WAAA,EAAanrE,KAAA,QAAAorE,QAAA,UAAA3qE,MAAA4pE,EAAA,gBAAAgB,WAAA,oBAAwF9F,MAAA,CAASpmE,KAAA,YAAkBysE,SAAA,CAAWnrE,MAAA4pE,EAAA,iBAA8B5E,GAAA,CAAK5pD,MAAA,SAAAyvD,GAAyBA,EAAAjsE,OAAAwtE,YAAsCxC,EAAArU,gBAAAsV,EAAAjsE,OAAAoB,WAA0C4pE,EAAAO,GAAA,KAAAJ,EAAA,OAAwBE,YAAA,uBAAkC,CAAAF,EAAA,UAAeE,YAAA,kBAAAjF,GAAA,CAAkCr1B,MAAAi6B,EAAA7S,eAA0B,CAAA6S,EAAAO,GAAA,uBAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,4DAAAixC,EAAAO,GAAA,KAAAJ,EAAA,UAAmIE,YAAA,kBAAAjF,GAAA,CAAkCr1B,MAAAi6B,EAAA1S,cAAyB,CAAA0S,EAAAO,GAAA,uBAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,6CAAAixC,EAAAO,GAAA,KAAAP,EAAA,MAAAG,EAAA,OAA6HE,YAAA,eAA0B,CAAAL,EAAAO,GAAA,qBAAAP,EAAAa,GAAAb,EAAA1rE,OAAA,sBAAA0rE,EAAAM,WAAAN,EAAAM,MAAAN,EAAAM,MAAA,GAAAN,EAAAM,SAAAN,EAAAM,MAC9yHP,EAAA,iCCDAntE,EAAA8C,EAAAuW,EAAA,sBAAA4uD,IAAAjoE,EAAA8C,EAAAuW,EAAA,sBAAA8zD,IAAA,IAAAlF,EAAA,WAA0B,IAAAmF,EAAAxgE,KAAaygE,EAAAD,EAAAE,eAA0BC,EAAAH,EAAAI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,OAAiBE,YAAA,gCAA2C,CAAAF,EAAA,OAAYE,YAAA,iBAA4B,CAAAF,EAAA,OAAYE,YAAA,SAAoB,CAAAL,EAAAO,GAAA,WAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,uCAAAixC,EAAAO,GAAA,KAAAJ,EAAA,cAAsGjF,MAAA,CAAOvlE,KAAA,SAAe,CAAAqqE,EAAA,wBAAAA,EAAAjtB,uBAAA,MAAAotB,EAAA,OAA6EE,YAAA,cAAAjF,GAAA,CAA8Br1B,MAAA,SAAAk7B,GAAyBA,EAAAn4C,oBAA2B,CAAAk3C,EAAAO,GAAA,eAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,wCAAAixC,EAAAM,KAAAN,EAAAO,GAAA,KAAAP,EAAAjtB,uBAAAz+C,MAAyO0rE,EAAAM,KAAzOH,EAAA,OAAiJE,YAAA,oBAAAjF,GAAA,CAAoCr1B,MAAA,SAAAk7B,GAAyBA,EAAAn4C,oBAA2B,CAAAk3C,EAAAO,GAAA,eAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,wCAAAixC,EAAAM,MAAA,OAAAN,EAAAO,GAAA,KAAAJ,EAAA,OAA8HE,YAAA,2BAAsC,CAAAF,EAAA,gBAAAA,EAAA,OAA+BjF,MAAA,CAAO50B,MAAA05B,EAAAjxC,GAAA,0BAAwC,CAAAoxC,EAAA,OAAYE,YAAA,gBAA2B,CAAAF,EAAA,MAAAH,EAAAO,GAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,yBAAAixC,EAAAO,GAAA,KAAAJ,EAAA,KAAAH,EAAAO,GAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,qBAAAixC,EAAAO,GAAA,KAAAJ,EAAA,cAAoJjF,MAAA,CAAOyI,sBAAA,GAAArpC,QAAA0lC,EAAArsC,gBAAsD0N,MAAA,CAAQjrC,MAAA4pE,EAAA,QAAA0C,SAAA,SAAAC,GAA6C3C,EAAAne,QAAA8gB,GAAgB3B,WAAA,YAAuB,CAAAb,EAAA,SAAcW,WAAA,EAAanrE,KAAA,QAAAorE,QAAA,UAAA3qE,MAAA4pE,EAAA,QAAAgB,WAAA,YAAwE9F,MAAA,CAAStjE,GAAA,WAAA40E,UAAA,gBAA2CjL,SAAA,CAAWnrE,MAAA4pE,EAAA,SAAsB5E,GAAA,CAAK5pD,MAAA,SAAAyvD,GAAyBA,EAAAjsE,OAAAwtE,YAAsCxC,EAAAne,QAAAof,EAAAjsE,OAAAoB,aAAkC4pE,EAAAO,GAAA,KAAAJ,EAAA,KAAAH,EAAAO,GAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,oBAAAixC,EAAAO,GAAA,KAAAJ,EAAA,cAA8FjF,MAAA,CAAOyI,sBAAA,GAAArpC,QAAA0lC,EAAA3sC,oBAA0DgO,MAAA,CAAQjrC,MAAA4pE,EAAA,OAAA0C,SAAA,SAAAC,GAA4C3C,EAAAle,OAAA6gB,GAAe3B,WAAA,WAAsB,CAAAb,EAAA,YAAiBW,WAAA,EAAanrE,KAAA,QAAAorE,QAAA,UAAA3qE,MAAA4pE,EAAA,OAAAgB,WAAA,WAAsE9F,MAAA,CAASsR,UAAA,OAAkBjL,SAAA,CAAWnrE,MAAA4pE,EAAA,QAAqB5E,GAAA,CAAK5pD,MAAA,SAAAyvD,GAAyBA,EAAAjsE,OAAAwtE,YAAsCxC,EAAAle,OAAAmf,EAAAjsE,OAAAoB,aAAiC4pE,EAAAO,GAAA,KAAAJ,EAAA,KAAAA,EAAA,YAAuC9+B,MAAA,CAAOjrC,MAAA4pE,EAAA,UAAA0C,SAAA,SAAAC,GAA+C3C,EAAAhe,UAAA2gB,GAAkB3B,WAAA,cAAyB,CAAAhB,EAAAO,GAAA,mBAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,8DAAAixC,EAAAO,GAAA,KAAAJ,EAAA,OAAAA,EAAA,SAA0IjF,MAAA,CAAOoI,IAAA,gBAAqB,CAAAtD,EAAAO,GAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,4BAAAixC,EAAAO,GAAA,KAAAJ,EAAA,OAAyEE,YAAA,kBAAAnF,MAAA,CAAqCtjE,GAAA,gBAAoB,CAAAuoE,EAAA,kBAAuBjF,MAAA,CAAO8I,YAAA,EAAAC,eAAAjE,EAAA5d,gBAAA+hB,gBAAAnE,EAAA5d,gBAAAgiB,kBAAApE,EAAAloC,cAAwH,KAAAkoC,EAAAO,GAAA,KAAAJ,EAAA,KAAAA,EAAA,YAA2C9+B,MAAA,CAAOjrC,MAAA4pE,EAAA,cAAA0C,SAAA,SAAAC,GAAmD3C,EAAA9d,cAAAygB,GAAsB3B,WAAA,kBAA6B,CAAAhB,EAAAO,GAAA,mBAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,8DAAAixC,EAAAO,GAAA,KAAAJ,EAAA,KAAAA,EAAA,YAA2I9+B,MAAA,CAAOjrC,MAAA4pE,EAAA,YAAA0C,SAAA,SAAAC,GAAiD3C,EAAA3d,YAAAsgB,GAAoB3B,WAAA,gBAA2B,CAAAhB,EAAAO,GAAA,mBAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,8DAAAixC,EAAAO,GAAA,KAAAJ,EAAA,KAA4HE,YAAA,mBAA8B,CAAAF,EAAA,YAAiBjF,MAAA,CAAOp1B,UAAAk6B,EAAA3d,aAA4BhhB,MAAA,CAAQjrC,MAAA4pE,EAAA,iBAAA0C,SAAA,SAAAC,GAAsD3C,EAAAn7B,iBAAA89B,GAAyB3B,WAAA,qBAAgC,CAAAhB,EAAAO,GAAA,mBAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,oEAAAixC,EAAAO,GAAA,KAAAJ,EAAA,KAAAA,EAAA,YAAiJ9+B,MAAA,CAAOjrC,MAAA4pE,EAAA,cAAA0C,SAAA,SAAAC,GAAmD3C,EAAA1d,cAAAqgB,GAAsB3B,WAAA,kBAA6B,CAAAhB,EAAAO,GAAA,mBAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,gEAAAixC,EAAAO,GAAA,KAAAJ,EAAA,KAA8HE,YAAA,mBAA8B,CAAAF,EAAA,YAAiBjF,MAAA,CAAOp1B,UAAAk6B,EAAA1d,eAA8BjhB,MAAA,CAAQjrC,MAAA4pE,EAAA,mBAAA0C,SAAA,SAAAC,GAAwD3C,EAAAj7B,mBAAA49B,GAA2B3B,WAAA,uBAAkC,CAAAhB,EAAAO,GAAA,mBAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,sEAAAixC,EAAAO,GAAA,eAAAP,EAAAvd,MAAA,cAAAud,EAAAvd,KAAA0d,EAAA,KAAAA,EAAA,YAAsM9+B,MAAA,CAAOjrC,MAAA4pE,EAAA,SAAA0C,SAAA,SAAAC,GAA8C3C,EAAAzd,SAAAogB,GAAiB3B,WAAA,aAAwB,WAAAhB,EAAAvd,KAAA,CAAAud,EAAAO,GAAA,qBAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,mDAAAixC,EAAAM,KAAAN,EAAAO,GAAA,mBAAAP,EAAAvd,KAAA,CAAAud,EAAAO,GAAA,qBAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,uDAAAixC,EAAAM,MAAA,OAAAN,EAAAM,KAAAN,EAAAO,GAAA,KAAAJ,EAAA,KAAAA,EAAA,YAAsU9+B,MAAA,CAAOjrC,MAAA4pE,EAAA,aAAA0C,SAAA,SAAAC,GAAkD3C,EAAAtd,aAAAigB,GAAqB3B,WAAA,iBAA4B,CAAAhB,EAAAO,GAAA,mBAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,kDAAAixC,EAAAO,GAAA,KAAAJ,EAAA,UAAqHE,YAAA,kBAAAnF,MAAA,CAAqCp1B,SAAAk6B,EAAAne,SAAA,IAAAme,EAAAne,QAAApwD,QAAmD2pE,GAAA,CAAKr1B,MAAAi6B,EAAAh5D,gBAA2B,CAAAg5D,EAAAO,GAAA,iBAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,yCAAAixC,EAAAO,GAAA,KAAAJ,EAAA,OAAuGE,YAAA,gBAA2B,CAAAF,EAAA,MAAAH,EAAAO,GAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,uBAAAixC,EAAAO,GAAA,KAAAJ,EAAA,KAA2EE,YAAA,qBAAgC,CAAAL,EAAAO,GAAA,iBAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,uDAAAixC,EAAAO,GAAA,KAAAJ,EAAA,KAAAH,EAAAO,GAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,+BAAAixC,EAAAO,GAAA,KAAAJ,EAAA,OAA6LE,YAAA,iBAAAnF,MAAA,CAAoChnE,IAAA8rE,EAAAlkE,KAAA4pC,8BAA2Cs6B,EAAAO,GAAA,KAAAJ,EAAA,KAAAH,EAAAO,GAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,+BAAAixC,EAAAO,GAAA,KAAAJ,EAAA,UAAmGW,WAAA,EAAanrE,KAAA,OAAAorE,QAAA,SAAA3qE,MAAA4pE,EAAA,qBAAAgB,WAAA,yBAAgGX,YAAA,MAAAnF,MAAA,CAA2BtjE,GAAA,cAAA9C,KAAA,WAAoC,CAAAkrE,EAAAO,GAAA,iBAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,8CAAAixC,EAAAO,GAAA,KAAAJ,EAAA,iBAAsHjF,MAAA,CAAO1T,QAAA,eAAAilB,iBAAAzM,EAAA5a,cAA2DgW,GAAA,CAAKjyC,KAAA,SAAA83C,GAAwBjB,EAAArd,sBAAA,GAA+B+pB,MAAA,SAAAzL,GAA0BjB,EAAArd,sBAAA,OAAgC,GAAAqd,EAAAO,GAAA,KAAAJ,EAAA,OAA4BE,YAAA,gBAA2B,CAAAF,EAAA,MAAAH,EAAAO,GAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,+BAAAixC,EAAAO,GAAA,KAAAJ,EAAA,KAAAH,EAAAO,GAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,uCAAAixC,EAAAO,GAAA,KAAAJ,EAAA,OAAqKE,YAAA,SAAAnF,MAAA,CAA4BhnE,IAAA8rE,EAAAlkE,KAAA6nC,eAA4Bq8B,EAAAO,GAAA,KAAAJ,EAAA,KAAAH,EAAAO,GAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,uCAAAixC,EAAAO,GAAA,KAAAP,EAAA,cAAAG,EAAA,OAA4HE,YAAA,SAAAnF,MAAA,CAA4BhnE,IAAA8rE,EAAAld,iBAAyBkd,EAAAM,KAAAN,EAAAO,GAAA,KAAAJ,EAAA,OAAAA,EAAA,SAA6CjF,MAAA,CAAOpmE,KAAA,QAAcsmE,GAAA,CAAKjiC,OAAA,SAAA8nC,GAA0BjB,EAAA1nC,WAAA,SAAA2oC,SAAmCjB,EAAAO,GAAA,KAAAP,EAAA,gBAAAG,EAAA,KAA8CE,YAAA,uCAAiDL,EAAA,cAAAG,EAAA,UAAmCE,YAAA,kBAAAjF,GAAA,CAAkCr1B,MAAAi6B,EAAAta,eAA0B,CAAAsa,EAAAO,GAAA,iBAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,qCAAAixC,EAAAM,KAAAN,EAAAO,GAAA,KAAAP,EAAA,kBAAAG,EAAA,OAAoIE,YAAA,eAA0B,CAAAL,EAAAO,GAAA,wBAAAP,EAAAa,GAAAb,EAAAhd,mBAAA,kBAAAmd,EAAA,KAAyFE,YAAA,0BAAAjF,GAAA,CAA0Cr1B,MAAA,SAAAk7B,GAAyBjB,EAAAva,iBAAA,gBAAiCua,EAAAM,OAAAN,EAAAO,GAAA,KAAAJ,EAAA,OAAqCE,YAAA,gBAA2B,CAAAF,EAAA,MAAAH,EAAAO,GAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,mCAAAixC,EAAAO,GAAA,KAAAJ,EAAA,KAAAH,EAAAO,GAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,2CAAAixC,EAAAO,GAAA,KAAAP,EAAA,kBAAAG,EAAA,OAAqME,YAAA,KAAAnF,MAAA,CAAwBhnE,IAAA8rE,EAAAjd,qBAA6Bid,EAAAM,KAAAN,EAAAO,GAAA,KAAAJ,EAAA,OAAAA,EAAA,SAA6CjF,MAAA,CAAOpmE,KAAA,QAAcsmE,GAAA,CAAKjiC,OAAA,SAAA8nC,GAA0BjB,EAAA1nC,WAAA,aAAA2oC,SAAuCjB,EAAAO,GAAA,KAAAP,EAAA,oBAAAG,EAAA,KAAkDE,YAAA,uCAAiDL,EAAA,kBAAAG,EAAA,UAAuCE,YAAA,kBAAAjF,GAAA,CAAkCr1B,MAAAi6B,EAAAra,WAAsB,CAAAqa,EAAAO,GAAA,iBAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,qCAAAixC,EAAAM,KAAAN,EAAAO,GAAA,KAAAP,EAAA,sBAAAG,EAAA,OAAwIE,YAAA,eAA0B,CAAAL,EAAAO,GAAA,wBAAAP,EAAAa,GAAAb,EAAA/c,uBAAA,kBAAAkd,EAAA,KAA6FE,YAAA,0BAAAjF,GAAA,CAA0Cr1B,MAAA,SAAAk7B,GAAyBjB,EAAAva,iBAAA,oBAAqCua,EAAAM,OAAAN,EAAAO,GAAA,KAAAJ,EAAA,OAAqCE,YAAA,gBAA2B,CAAAF,EAAA,MAAAH,EAAAO,GAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,uBAAAixC,EAAAO,GAAA,KAAAJ,EAAA,KAAAH,EAAAO,GAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,+BAAAixC,EAAAO,GAAA,KAAAJ,EAAA,OAAqJE,YAAA,iBAAAnF,MAAA,CAAoChnE,IAAA8rE,EAAAlkE,KAAA2O,UAAuBu1D,EAAAO,GAAA,KAAAJ,EAAA,KAAAH,EAAAO,GAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,+BAAAixC,EAAAO,GAAA,KAAAP,EAAA,cAAAG,EAAA,OAAoHE,YAAA,SAAAnF,MAAA,CAA4BhnE,IAAA8rE,EAAA9c,iBAAyB8c,EAAAM,KAAAN,EAAAO,GAAA,KAAAJ,EAAA,OAAAA,EAAA,SAA6CjF,MAAA,CAAOpmE,KAAA,QAAcsmE,GAAA,CAAKjiC,OAAA,SAAA8nC,GAA0BjB,EAAA1nC,WAAA,SAAA2oC,SAAmCjB,EAAAO,GAAA,KAAAP,EAAA,gBAAAG,EAAA,KAA8CE,YAAA,uCAAiDL,EAAA,cAAAG,EAAA,UAAmCE,YAAA,kBAAAjF,GAAA,CAAkCr1B,MAAAi6B,EAAAna,eAA0B,CAAAma,EAAAO,GAAA,iBAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,qCAAAixC,EAAAM,KAAAN,EAAAO,GAAA,KAAAP,EAAA,kBAAAG,EAAA,OAAoIE,YAAA,eAA0B,CAAAL,EAAAO,GAAA,wBAAAP,EAAAa,GAAAb,EAAA7c,mBAAA,kBAAAgd,EAAA,KAAyFE,YAAA,0BAAAjF,GAAA,CAA0Cr1B,MAAA,SAAAk7B,GAAyBjB,EAAAva,iBAAA,gBAAiCua,EAAAM,SAAAN,EAAAO,GAAA,KAAAJ,EAAA,OAAuCjF,MAAA,CAAO50B,MAAA05B,EAAAjxC,GAAA,2BAAyC,CAAAoxC,EAAA,OAAYE,YAAA,gBAA2B,CAAAF,EAAA,MAAAH,EAAAO,GAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,6BAAAixC,EAAAO,GAAA,KAAAJ,EAAA,OAAAA,EAAA,KAAAH,EAAAO,GAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,0BAAAixC,EAAAO,GAAA,KAAAJ,EAAA,SAAkKW,WAAA,EAAanrE,KAAA,QAAAorE,QAAA,UAAA3qE,MAAA4pE,EAAA,SAAAgB,WAAA,aAA0E9F,MAAA,CAASpmE,KAAA,QAAA2uE,aAAA,SAAsClC,SAAA,CAAWnrE,MAAA4pE,EAAA,UAAuB5E,GAAA,CAAK5pD,MAAA,SAAAyvD,GAAyBA,EAAAjsE,OAAAwtE,YAAsCxC,EAAApe,SAAAqf,EAAAjsE,OAAAoB,aAAmC4pE,EAAAO,GAAA,KAAAJ,EAAA,OAAAA,EAAA,KAAAH,EAAAO,GAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,iCAAAixC,EAAAO,GAAA,KAAAJ,EAAA,SAAgHW,WAAA,EAAanrE,KAAA,QAAAorE,QAAA,UAAA3qE,MAAA4pE,EAAA,oBAAAgB,WAAA,wBAAgG9F,MAAA,CAASpmE,KAAA,WAAA2uE,aAAA,oBAAoDlC,SAAA,CAAWnrE,MAAA4pE,EAAA,qBAAkC5E,GAAA,CAAK5pD,MAAA,SAAAyvD,GAAyBA,EAAAjsE,OAAAwtE,YAAsCxC,EAAA3c,oBAAA4d,EAAAjsE,OAAAoB,aAA8C4pE,EAAAO,GAAA,KAAAJ,EAAA,UAA6BE,YAAA,kBAAAjF,GAAA,CAAkCr1B,MAAAi6B,EAAAn4D,cAAyB,CAAAm4D,EAAAO,GAAA,iBAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,qCAAAixC,EAAAO,GAAA,KAAAP,EAAA,aAAAG,EAAA,KAAAH,EAAAO,GAAA,iBAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,6CAAAixC,EAAAM,KAAAN,EAAAO,GAAA,UAAAP,EAAA5c,iBAAA,CAAA+c,EAAA,KAAAH,EAAAO,GAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,mCAAAixC,EAAAO,GAAA,KAAAJ,EAAA,KAAAH,EAAAO,GAAAP,EAAAa,GAAAb,EAAA5c,sBAAA4c,EAAAM,MAAA,GAAAN,EAAAO,GAAA,KAAAJ,EAAA,OAA6ZE,YAAA,gBAA2B,CAAAF,EAAA,MAAAH,EAAAO,GAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,gCAAAixC,EAAAO,GAAA,KAAAJ,EAAA,OAAAA,EAAA,KAAAH,EAAAO,GAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,iCAAAixC,EAAAO,GAAA,KAAAJ,EAAA,SAA4KW,WAAA,EAAanrE,KAAA,QAAAorE,QAAA,UAAA3qE,MAAA4pE,EAAAtc,qBAAA,GAAAsd,WAAA,4BAAwG9F,MAAA,CAASpmE,KAAA,YAAkBysE,SAAA,CAAWnrE,MAAA4pE,EAAAtc,qBAAA,IAAsC0X,GAAA,CAAK5pD,MAAA,SAAAyvD,GAAyBA,EAAAjsE,OAAAwtE,WAAsCxC,EAAA32B,KAAA22B,EAAAtc,qBAAA,EAAAud,EAAAjsE,OAAAoB,aAA6D4pE,EAAAO,GAAA,KAAAJ,EAAA,OAAAA,EAAA,KAAAH,EAAAO,GAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,6BAAAixC,EAAAO,GAAA,KAAAJ,EAAA,SAA4GW,WAAA,EAAanrE,KAAA,QAAAorE,QAAA,UAAA3qE,MAAA4pE,EAAAtc,qBAAA,GAAAsd,WAAA,4BAAwG9F,MAAA,CAASpmE,KAAA,YAAkBysE,SAAA,CAAWnrE,MAAA4pE,EAAAtc,qBAAA,IAAsC0X,GAAA,CAAK5pD,MAAA,SAAAyvD,GAAyBA,EAAAjsE,OAAAwtE,WAAsCxC,EAAA32B,KAAA22B,EAAAtc,qBAAA,EAAAud,EAAAjsE,OAAAoB,aAA6D4pE,EAAAO,GAAA,KAAAJ,EAAA,OAAAA,EAAA,KAAAH,EAAAO,GAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,qCAAAixC,EAAAO,GAAA,KAAAJ,EAAA,SAAoHW,WAAA,EAAanrE,KAAA,QAAAorE,QAAA,UAAA3qE,MAAA4pE,EAAAtc,qBAAA,GAAAsd,WAAA,4BAAwG9F,MAAA,CAASpmE,KAAA,YAAkBysE,SAAA,CAAWnrE,MAAA4pE,EAAAtc,qBAAA,IAAsC0X,GAAA,CAAK5pD,MAAA,SAAAyvD,GAAyBA,EAAAjsE,OAAAwtE,WAAsCxC,EAAA32B,KAAA22B,EAAAtc,qBAAA,EAAAud,EAAAjsE,OAAAoB,aAA6D4pE,EAAAO,GAAA,KAAAJ,EAAA,UAA6BE,YAAA,kBAAAjF,GAAA,CAAkCr1B,MAAAi6B,EAAAh4D,iBAA4B,CAAAg4D,EAAAO,GAAA,iBAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,qCAAAixC,EAAAO,GAAA,KAAAP,EAAA,gBAAAG,EAAA,KAAAH,EAAAO,GAAA,iBAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,qDAAAixC,EAAApc,oBAAAuc,EAAA,KAAAH,EAAAO,GAAA,iBAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,qDAAAixC,EAAAM,KAAAN,EAAAO,GAAA,KAAAP,EAAA,oBAAAG,EAAA,KAAAH,EAAAO,GAAA,iBAAAP,EAAAa,GAAAb,EAAApc,qBAAA,kBAAAoc,EAAAM,OAAAN,EAAAO,GAAA,KAAAJ,EAAA,OAAsfE,YAAA,gBAA2B,CAAAF,EAAA,MAAAH,EAAAO,GAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,6BAAAixC,EAAAO,GAAA,KAAAJ,EAAA,SAAqFE,YAAA,gBAA2B,CAAAF,EAAA,SAAAA,EAAA,MAAAA,EAAA,MAAAH,EAAAO,GAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,yBAAAixC,EAAAO,GAAA,KAAAJ,EAAA,MAAAH,EAAAO,GAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,4BAAAixC,EAAAO,GAAA,KAAAJ,EAAA,UAAAH,EAAAO,GAAA,KAAAJ,EAAA,QAAAH,EAAA6B,GAAA7B,EAAA,qBAAArb,GAAkP,OAAAwb,EAAA,MAAgBzpE,IAAAiuD,EAAA/sD,IAAkB,CAAAuoE,EAAA,MAAAH,EAAAO,GAAAP,EAAAa,GAAAlc,EAAAC,YAAAob,EAAAO,GAAA,KAAAJ,EAAA,MAAAH,EAAAO,GAAAP,EAAAa,GAAAlc,EAAAG,eAAAkb,EAAAO,GAAA,KAAAJ,EAAA,MAAkIE,YAAA,WAAsB,CAAAF,EAAA,UAAeE,YAAA,kBAAAjF,GAAA,CAAkCr1B,MAAA,SAAAk7B,GAAyBjB,EAAA9kD,YAAAypC,EAAA/sD,OAAiC,CAAAooE,EAAAO,GAAA,yBAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,0DAAwG,OAAAixC,EAAAO,GAAA,KAAAJ,EAAA,OAAAH,EAAAO,GAAA,KAAAJ,EAAA,OAAqDE,YAAA,gBAA2B,CAAAF,EAAA,MAAAH,EAAAO,GAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,+BAAAixC,EAAAO,GAAA,KAAAP,EAAAzc,gBAAAyc,EAAAM,KAAAH,EAAA,KAAAH,EAAAO,GAAA,iBAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,0DAAAixC,EAAAO,GAAA,KAAAP,EAAA,gBAAAG,EAAA,OAAAA,EAAA,KAAAH,EAAAO,GAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,4CAAAixC,EAAAO,GAAA,KAAAJ,EAAA,KAAAH,EAAAO,GAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,sBAAAixC,EAAAO,GAAA,KAAAJ,EAAA,SAA+ZW,WAAA,EAAanrE,KAAA,QAAAorE,QAAA,UAAA3qE,MAAA4pE,EAAA,kCAAAgB,WAAA,sCAA4H9F,MAAA,CAASpmE,KAAA,YAAkBysE,SAAA,CAAWnrE,MAAA4pE,EAAA,mCAAgD5E,GAAA,CAAK5pD,MAAA,SAAAyvD,GAAyBA,EAAAjsE,OAAAwtE,YAAsCxC,EAAAxc,kCAAAyd,EAAAjsE,OAAAoB,WAA4D4pE,EAAAO,GAAA,KAAAJ,EAAA,UAA2BE,YAAA,kBAAAjF,GAAA,CAAkCr1B,MAAAi6B,EAAAt4D,gBAA2B,CAAAs4D,EAAAO,GAAA,mBAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,kDAAAixC,EAAAM,KAAAN,EAAAO,GAAA,UAAAP,EAAAvc,mBAAA0c,EAAA,KAAAH,EAAAO,GAAA,iBAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,oDAAAixC,EAAAM,KAAAN,EAAAO,GAAA,KAAAP,EAAA,mBAAAG,EAAA,KAAAH,EAAAO,GAAA,iBAAAP,EAAAa,GAAAb,EAAAvc,oBAAA,kBAAAuc,EAAAM,KAAAN,EAAAO,GAAA,KAAAP,EAAAzc,gBAA2eyc,EAAAM,KAA3eH,EAAA,UAA8aE,YAAA,kBAAAjF,GAAA,CAAkCr1B,MAAAi6B,EAAA3Z,gBAA2B,CAAA2Z,EAAAO,GAAA,iBAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,2CAAAixC,EAAAO,GAAA,KAAAP,EAAA,eAAAG,EAAA,OAAuIjF,MAAA,CAAO50B,MAAA05B,EAAAjxC,GAAA,4BAA0C,CAAAoxC,EAAA,OAAYE,YAAA,gBAA2B,CAAAF,EAAA,OAAYE,YAAA,mBAA8B,CAAAF,EAAA,QAAaE,YAAA,SAAoB,CAAAL,EAAAO,GAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,qCAAAixC,EAAAO,GAAA,KAAAJ,EAAA,MAAiFE,YAAA,eAA0B,CAAAF,EAAA,MAAAA,EAAA,YAA0B9+B,MAAA,CAAOjrC,MAAA4pE,EAAAlc,qBAAA,QAAA4e,SAAA,SAAAC,GAAkE3C,EAAA32B,KAAA22B,EAAAlc,qBAAA,UAAA6e,IAAmD3B,WAAA,iCAA4C,CAAAhB,EAAAO,GAAA,uBAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,sEAAAixC,EAAAO,GAAA,KAAAJ,EAAA,MAAAA,EAAA,YAAwJ9+B,MAAA,CAAOjrC,MAAA4pE,EAAAlc,qBAAA,UAAA4e,SAAA,SAAAC,GAAoE3C,EAAA32B,KAAA22B,EAAAlc,qBAAA,YAAA6e,IAAqD3B,WAAA,mCAA8C,CAAAhB,EAAAO,GAAA,uBAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,wEAAAixC,EAAAO,GAAA,KAAAJ,EAAA,MAAAA,EAAA,YAA0J9+B,MAAA,CAAOjrC,MAAA4pE,EAAAlc,qBAAA,YAAA4e,SAAA,SAAAC,GAAsE3C,EAAA32B,KAAA22B,EAAAlc,qBAAA,cAAA6e,IAAuD3B,WAAA,qCAAgD,CAAAhB,EAAAO,GAAA,uBAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,0EAAAixC,EAAAO,GAAA,KAAAJ,EAAA,MAAAA,EAAA,YAA4J9+B,MAAA,CAAOjrC,MAAA4pE,EAAAlc,qBAAA,cAAA4e,SAAA,SAAAC,GAAwE3C,EAAA32B,KAAA22B,EAAAlc,qBAAA,gBAAA6e,IAAyD3B,WAAA,uCAAkD,CAAAhB,EAAAO,GAAA,uBAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,gFAAAixC,EAAAO,GAAA,KAAAJ,EAAA,KAAAH,EAAAO,GAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,mCAAAixC,EAAAO,GAAA,KAAAJ,EAAA,KAAAH,EAAAO,GAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,oCAAAixC,EAAAO,GAAA,KAAAJ,EAAA,UAAgTE,YAAA,kBAAAjF,GAAA,CAAkCr1B,MAAAi6B,EAAA/0D,6BAAwC,CAAA+0D,EAAAO,GAAA,iBAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,yCAAAixC,EAAAM,KAAAN,EAAAO,GAAA,KAAAP,EAAA,eAAAG,EAAA,OAAqIjF,MAAA,CAAO50B,MAAA05B,EAAAjxC,GAAA,qCAAmD,CAAAoxC,EAAA,OAAYE,YAAA,gBAA2B,CAAAF,EAAA,MAAAH,EAAAO,GAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,8BAAAixC,EAAAO,GAAA,KAAAJ,EAAA,KAAAH,EAAAO,GAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,iDAAAixC,EAAAO,GAAA,KAAAJ,EAAA,YAAmLjF,MAAA,CAAOuR,iBAAAzM,EAAAx4D,cAAAmlE,kBAAA3M,EAAAjxC,GAAA,6BAAA69C,gBAAA5M,EAAAjxC,GAAA,oCAAiJ,GAAAixC,EAAAO,GAAA,KAAAJ,EAAA,OAA4BE,YAAA,gBAA2B,CAAAF,EAAA,MAAAH,EAAAO,GAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,8BAAAixC,EAAAO,GAAA,KAAAJ,EAAA,YAAyFjF,MAAA,CAAO2R,cAAA7M,EAAA7Z,kBAAAkC,SAAA,cAAAykB,sBAAA9M,EAAAjxC,GAAA,qCAA4H,GAAAixC,EAAAO,GAAA,KAAAJ,EAAA,OAA4BE,YAAA,gBAA2B,CAAAF,EAAA,MAAAH,EAAAO,GAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,6BAAAixC,EAAAO,GAAA,KAAAJ,EAAA,KAAAH,EAAAO,GAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,8CAAAixC,EAAAO,GAAA,KAAAJ,EAAA,YAA+KjF,MAAA,CAAOuR,iBAAAzM,EAAA34D,aAAAslE,kBAAA3M,EAAAjxC,GAAA,4BAAA69C,gBAAA5M,EAAAjxC,GAAA,mCAA8I,GAAAixC,EAAAO,GAAA,KAAAJ,EAAA,OAA4BE,YAAA,gBAA2B,CAAAF,EAAA,MAAAH,EAAAO,GAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,6BAAAixC,EAAAO,GAAA,KAAAJ,EAAA,YAAwFjF,MAAA,CAAO2R,cAAA7M,EAAA5Z,iBAAAiC,SAAA,aAAAykB,sBAAA9M,EAAAjxC,GAAA,oCAAyH,KAAAixC,EAAAM,KAAAN,EAAAO,GAAA,KAAAJ,EAAA,OAAuCjF,MAAA,CAAO50B,MAAA05B,EAAAjxC,GAAA,yBAAuC,CAAAoxC,EAAA,OAAYE,YAAA,mCAA8C,CAAAF,EAAA,eAAoBjF,MAAA,CAAOz/D,OAAAukE,EAAApZ,qBAAA56C,MAAAg0D,EAAA9Y,aAAA8C,YAAAgW,EAAAjxC,GAAA,kCAAiHy6C,YAAAxJ,EAAAyJ,GAAA,EAAsB/yE,IAAA,UAAAgzE,GAAA,SAAAhgC,GAA+B,OAAAy2B,EAAA,aAAuBjF,MAAA,CAAOoO,UAAA5/B,EAAAG,eAA0B,GAAAm2B,EAAAO,GAAA,KAAAJ,EAAA,aAAkCjF,MAAA,CAAO6R,SAAA,EAAAX,UAAApM,EAAAzY,UAAsCiiB,YAAAxJ,EAAAyJ,GAAA,EAAsB/yE,IAAA,SAAAgzE,GAAA,SAAAxpC,GACz+kB,IAAAnG,EAAAmG,EAAAnG,SACA,OAAAomC,EAAA,OAAkBE,YAAA,6BAAwC,CAAAtmC,EAAAtoC,OAAA,EAAA0uE,EAAA,kBAA6CE,YAAA,kBAAAnF,MAAA,CAAqCn1B,MAAA,WAAqB,OAAAi6B,EAAA7Y,WAAAptB,MAAqC,CAAAimC,EAAAO,GAAA,qBAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,0CAAAoxC,EAAA,YAAqGlkC,KAAA,YAAgB,CAAA+jC,EAAAO,GAAA,uBAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,yDAAAixC,EAAAM,KAAAN,EAAAO,GAAA,KAAAxmC,EAAAtoC,OAAA,EAAA0uE,EAAA,kBAAuKE,YAAA,kBAAAnF,MAAA,CAAqCn1B,MAAA,WAAqB,OAAAi6B,EAAA5Y,aAAArtB,MAAuC,CAAAimC,EAAAO,GAAA,qBAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,4CAAAoxC,EAAA,YAAuGlkC,KAAA,YAAgB,CAAA+jC,EAAAO,GAAA,uBAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,2DAAAixC,EAAAM,MAAA,MAAwH,CAAE5pE,IAAA,OAAAgzE,GAAA,SAAAxpC,GACpzB,IAAA2J,EAAA3J,EAAA2J,KACA,OAAAs2B,EAAA,aAAwBjF,MAAA,CAAOoO,UAAAz/B,WAAuB,CAAAs2B,EAAA,YAAiBlkC,KAAA,SAAa,CAAA+jC,EAAAO,GAAA,iBAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,iDAAAixC,EAAAO,GAAA,KAAAJ,EAAA,OAA+GjF,MAAA,CAAO50B,MAAA05B,EAAAjxC,GAAA,wBAAsC,CAAAoxC,EAAA,OAAYE,YAAA,mCAA8C,CAAAF,EAAA,eAAoBjF,MAAA,CAAOz/D,OAAAukE,EAAAhZ,mBAAAh7C,MAAAg0D,EAAA9Y,aAAA8C,YAAAgW,EAAAjxC,GAAA,iCAA8Gy6C,YAAAxJ,EAAAyJ,GAAA,EAAsB/yE,IAAA,UAAAgzE,GAAA,SAAAhgC,GAA+B,OAAAy2B,EAAA,YAAsBjF,MAAA,CAAOoO,UAAA5/B,EAAAG,eAA0B,GAAAm2B,EAAAO,GAAA,KAAAJ,EAAA,YAAiCjF,MAAA,CAAO6R,SAAA,EAAAX,UAAApM,EAAAzY,UAAsCiiB,YAAAxJ,EAAAyJ,GAAA,EAAsB/yE,IAAA,SAAAgzE,GAAA,SAAAxpC,GACnoB,IAAAnG,EAAAmG,EAAAnG,SACA,OAAAomC,EAAA,OAAkBE,YAAA,6BAAwC,CAAAtmC,EAAAtoC,OAAA,EAAA0uE,EAAA,kBAA6CE,YAAA,kBAAAnF,MAAA,CAAqCn1B,MAAA,WAAqB,OAAAi6B,EAAA3Y,UAAAttB,MAAoC,CAAAimC,EAAAO,GAAA,qBAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,yCAAAoxC,EAAA,YAAoGlkC,KAAA,YAAgB,CAAA+jC,EAAAO,GAAA,uBAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,wDAAAixC,EAAAM,KAAAN,EAAAO,GAAA,KAAAxmC,EAAAtoC,OAAA,EAAA0uE,EAAA,kBAAsKE,YAAA,kBAAAnF,MAAA,CAAqCn1B,MAAA,WAAqB,OAAAi6B,EAAA1Y,YAAAvtB,MAAsC,CAAAimC,EAAAO,GAAA,qBAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,2CAAAoxC,EAAA,YAAsGlkC,KAAA,YAAgB,CAAA+jC,EAAAO,GAAA,uBAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,0DAAAixC,EAAAM,MAAA,MAAuH,CAAE5pE,IAAA,OAAAgzE,GAAA,SAAAxpC,GAC9yB,IAAA2J,EAAA3J,EAAA2J,KACA,OAAAs2B,EAAA,YAAuBjF,MAAA,CAAOoO,UAAAz/B,WAAuB,CAAAs2B,EAAA,YAAiBlkC,KAAA,SAAa,CAAA+jC,EAAAO,GAAA,iBAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,yDACnFgxC,EAAA,iCCTAntE,EAAA8C,EAAAuW,EAAA,sBAAA4uD,IAAAjoE,EAAA8C,EAAAuW,EAAA,sBAAA8zD,IAAA,IAAAlF,EAAA,WAA0B,IAAAmF,EAAAxgE,KAAaygE,EAAAD,EAAAE,eAA0BC,EAAAH,EAAAI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,mBAA6BjF,MAAA,CAAOp/D,KAAAkkE,EAAAlkE,OAAiB,CAAAqkE,EAAA,OAAYE,YAAA,yCAAoD,CAAAF,EAAA,UAAeE,YAAA,kBAAAjF,GAAA,CAAkCr1B,MAAAi6B,EAAA/2D,cAAyB,CAAA+2D,EAAAO,GAAA,WAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,kCAAAixC,EAAAO,GAAA,KAAAJ,EAAA,UAA6FE,YAAA,kBAAAjF,GAAA,CAAkCr1B,MAAAi6B,EAAA52D,WAAsB,CAAA42D,EAAAO,GAAA,WAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,oCAC7agxC,EAAA,iCCDAntE,EAAA8C,EAAAuW,EAAA,sBAAA4uD,IAAAjoE,EAAA8C,EAAAuW,EAAA,sBAAA8zD,IAAA,IAAAlF,EAAA,WAA0B,IAAaoF,EAAbzgE,KAAa0gE,eAA0BC,EAAvC3gE,KAAuC4gE,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,OAAiBE,YAAA,gCAA2C,CAAAF,EAAA,OAAYE,YAAA,iBAA4B,CAAnK7gE,KAAmK+gE,GAAA,SAAnK/gE,KAAmKqhE,GAAnKrhE,KAAmKuvB,GAAA,kCAAnKvvB,KAAmK+gE,GAAA,KAAAJ,EAAA,OAAwFE,YAAA,cAA3P7gE,KAAoRqiE,GAApRriE,KAAoR,kBAAAtK,GAAyC,OAAAirE,EAAA,qBAA+BzpE,IAAAxB,EAAA0C,GAAAyoE,YAAA,YAAAnF,MAAA,CAA8Cp/D,KAAA5G,OAAkB,MACtb6qE,EAAA,iCCDAntE,EAAA8C,EAAAuW,EAAA,sBAAA4uD,IAAAjoE,EAAA8C,EAAAuW,EAAA,sBAAA8zD,IAAA,IAAAlF,EAAA,WAA0B,IAAaoF,EAAbzgE,KAAa0gE,eAAkD,OAA/D1gE,KAAuC4gE,MAAAD,IAAAF,GAAwB,MAA/DzgE,KAA+D+gE,GAAA,UACzFR,EAAA,iCCDAntE,EAAA8C,EAAAuW,EAAA,sBAAA4uD,IAAAjoE,EAAA8C,EAAAuW,EAAA,sBAAA8zD,IAAA,IAAAlF,EAAA,WAA0B,IAAAmF,EAAAxgE,KAAaygE,EAAAD,EAAAE,eAA0BC,EAAAH,EAAAI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,OAAiBE,YAAA,6BAAwC,CAAAF,EAAA,OAAYE,YAAA,iBAA4B,CAAAL,EAAAO,GAAA,SAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,0BAAAixC,EAAAO,GAAA,KAAAJ,EAAA,OAAgFE,YAAA,cAAyB,CAAAF,EAAA,QAAaE,YAAA,aAAAjF,GAAA,CAA6Bhb,OAAA,SAAA6gB,GAAkD,OAAxBA,EAAAn4C,iBAAwBk3C,EAAA5f,OAAA6gB,MAA4B,CAAAjB,EAAA,gBAAAG,EAAA,OAAkCE,YAAA,cAAyB,CAAAF,EAAA,SAAcjF,MAAA,CAAOoI,IAAA,aAAkB,CAAAtD,EAAAO,GAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,sBAAAixC,EAAAO,GAAA,KAAAJ,EAAA,SAAqEW,WAAA,EAAanrE,KAAA,QAAAorE,QAAA,UAAA3qE,MAAA4pE,EAAAlkE,KAAA,SAAAklE,WAAA,kBAAoFX,YAAA,eAAAnF,MAAA,CAAoCtjE,GAAA,WAAAkuC,SAAAk6B,EAAAjR,UAAA/E,YAAAgW,EAAAjxC,GAAA,sBAAmFwyC,SAAA,CAAWnrE,MAAA4pE,EAAAlkE,KAAA,UAA4Bs/D,GAAA,CAAK5pD,MAAA,SAAAyvD,GAAyBA,EAAAjsE,OAAAwtE,WAAsCxC,EAAA32B,KAAA22B,EAAAlkE,KAAA,WAAAmlE,EAAAjsE,OAAAoB,aAAsD4pE,EAAAO,GAAA,KAAAJ,EAAA,OAA0BE,YAAA,cAAyB,CAAAF,EAAA,SAAcjF,MAAA,CAAOoI,IAAA,aAAkB,CAAAtD,EAAAO,GAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,sBAAAixC,EAAAO,GAAA,KAAAJ,EAAA,SAAqEW,WAAA,EAAanrE,KAAA,QAAAorE,QAAA,UAAA3qE,MAAA4pE,EAAAlkE,KAAA,SAAAklE,WAAA,kBAAoF9gC,IAAA,gBAAAmgC,YAAA,eAAAnF,MAAA,CAAwDtjE,GAAA,WAAAkuC,SAAAk6B,EAAAjR,UAAAj6D,KAAA,YAA2DysE,SAAA,CAAWnrE,MAAA4pE,EAAAlkE,KAAA,UAA4Bs/D,GAAA,CAAK5pD,MAAA,SAAAyvD,GAAyBA,EAAAjsE,OAAAwtE,WAAsCxC,EAAA32B,KAAA22B,EAAAlkE,KAAA,WAAAmlE,EAAAjsE,OAAAoB,aAAsD4pE,EAAAO,GAAA,KAAAJ,EAAA,OAA0BE,YAAA,cAAyB,CAAAF,EAAA,eAAoBjF,MAAA,CAAOwI,GAAA,CAAM/tE,KAAA,oBAAyB,CAAAqqE,EAAAO,GAAA,iBAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,0DAAAixC,EAAAM,KAAAN,EAAAO,GAAA,KAAAP,EAAA,YAAAG,EAAA,OAAmJE,YAAA,cAAyB,CAAAF,EAAA,KAAAH,EAAAO,GAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,2BAAAixC,EAAAM,KAAAN,EAAAO,GAAA,KAAAJ,EAAA,OAAyFE,YAAA,cAAyB,CAAAF,EAAA,OAAYE,YAAA,gBAA2B,CAAAF,EAAA,OAAAH,EAAA,iBAAAG,EAAA,eAAqDE,YAAA,WAAAnF,MAAA,CAA8BwI,GAAA,CAAM/tE,KAAA,kBAAuB,CAAAqqE,EAAAO,GAAA,mBAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,uCAAAixC,EAAAM,MAAA,GAAAN,EAAAO,GAAA,KAAAJ,EAAA,UAAuHE,YAAA,kBAAAnF,MAAA,CAAqCp1B,SAAAk6B,EAAAjR,UAAAj6D,KAAA,WAA0C,CAAAkrE,EAAAO,GAAA,iBAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,4CAAAixC,EAAAO,GAAA,KAAAP,EAAA,MAAAG,EAAA,OAAsHE,YAAA,cAAyB,CAAAF,EAAA,OAAYE,YAAA,eAA0B,CAAAL,EAAAO,GAAA,WAAAP,EAAAa,GAAAb,EAAA1rE,OAAA,YAAA6rE,EAAA,KAA0DE,YAAA,0BAAAjF,GAAA,CAA0Cr1B,MAAAi6B,EAAA13C,kBAAwB03C,EAAAM,QACx+EP,EAAA,iCCDAntE,EAAA8C,EAAAuW,EAAA,sBAAA4uD,IAAAjoE,EAAA8C,EAAAuW,EAAA,sBAAA8zD,IAAA,IAAAlF,EAAA,WAA0B,IAAAmF,EAAAxgE,KAAaygE,EAAAD,EAAAE,eAA0BC,EAAAH,EAAAI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,OAAiBE,YAAA,6BAAwC,CAAAF,EAAA,OAAYE,YAAA,iBAA4B,CAAAL,EAAAO,GAAA,SAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,qCAAAixC,EAAAO,GAAA,KAAAJ,EAAA,OAA2FE,YAAA,cAAyB,CAAAF,EAAA,QAAaE,YAAA,aAAAjF,GAAA,CAA6Bhb,OAAA,SAAA6gB,GAAkD,OAAxBA,EAAAn4C,iBAAwBk3C,EAAA5f,OAAA6gB,MAA4B,CAAAd,EAAA,OAAYE,YAAA,cAAyB,CAAAF,EAAA,SAAcjF,MAAA,CAAOoI,IAAA,SAAc,CAAAtD,EAAAO,GAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,2BAAAixC,EAAAO,GAAA,KAAAJ,EAAA,SAA0EW,WAAA,EAAanrE,KAAA,QAAAorE,QAAA,UAAA3qE,MAAA4pE,EAAA,KAAAgB,WAAA,SAAkEX,YAAA,eAAAnF,MAAA,CAAoCtjE,GAAA,QAAY2pE,SAAA,CAAWnrE,MAAA4pE,EAAA,MAAmB5E,GAAA,CAAK5pD,MAAA,SAAAyvD,GAAyBA,EAAAjsE,OAAAwtE,YAAsCxC,EAAAplD,KAAAqmD,EAAAjsE,OAAAoB,aAA+B4pE,EAAAO,GAAA,KAAAJ,EAAA,OAA0BE,YAAA,cAAyB,CAAAF,EAAA,OAAYE,YAAA,gBAA2B,CAAAF,EAAA,OAAAA,EAAA,KAAoBjF,MAAA,CAAOljD,KAAA,KAAWojD,GAAA,CAAKr1B,MAAA,SAAAk7B,GAAiD,OAAxBA,EAAAn4C,iBAAwBk3C,EAAAgN,YAAA/L,MAAiC,CAAAjB,EAAAO,GAAA,mBAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,oDAAAixC,EAAAO,GAAA,KAAAJ,EAAA,MAAAH,EAAAO,GAAA,KAAAJ,EAAA,KAAuIjF,MAAA,CAAOljD,KAAA,KAAWojD,GAAA,CAAKr1B,MAAA,SAAAk7B,GAAiD,OAAxBA,EAAAn4C,iBAAwBk3C,EAAAiN,SAAAhM,MAA8B,CAAAjB,EAAAO,GAAA,mBAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,yCAAAixC,EAAAO,GAAA,KAAAJ,EAAA,UAA4GE,YAAA,kBAAAnF,MAAA,CAAqCpmE,KAAA,WAAiB,CAAAkrE,EAAAO,GAAA,iBAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,6CAAAixC,EAAAO,GAAA,KAAAP,EAAA,MAAAG,EAAA,OAAuHE,YAAA,cAAyB,CAAAF,EAAA,OAAYE,YAAA,eAA0B,CAAAL,EAAAO,GAAA,WAAAP,EAAAa,GAAAb,EAAA1rE,OAAA,YAAA6rE,EAAA,KAA0DE,YAAA,0BAAAjF,GAAA,CAA0Cr1B,MAAAi6B,EAAA13C,kBAAwB03C,EAAAM,QAChtDP,EAAA,iCCDAntE,EAAA8C,EAAAuW,EAAA,sBAAA4uD,IAAAjoE,EAAA8C,EAAAuW,EAAA,sBAAA8zD,IAAA,IAAAlF,EAAA,WAA0B,IAAAmF,EAAAxgE,KAAaygE,EAAAD,EAAAE,eAA0BC,EAAAH,EAAAI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,OAAiBE,YAAA,6BAAwC,CAAAF,EAAA,OAAYE,YAAA,iBAA4B,CAAAL,EAAAO,GAAA,SAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,iCAAAixC,EAAAO,GAAA,KAAAJ,EAAA,OAAuFE,YAAA,cAAyB,CAAAF,EAAA,QAAaE,YAAA,aAAAjF,GAAA,CAA6Bhb,OAAA,SAAA6gB,GAAkD,OAAxBA,EAAAn4C,iBAAwBk3C,EAAA5f,OAAA6gB,MAA4B,CAAAd,EAAA,OAAYE,YAAA,cAAyB,CAAAF,EAAA,SAAcjF,MAAA,CAAOoI,IAAA,SAAc,CAAAtD,EAAAO,GAAA,eAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,8CAAAixC,EAAAO,GAAA,KAAAJ,EAAA,SAA4GW,WAAA,EAAanrE,KAAA,QAAAorE,QAAA,UAAA3qE,MAAA4pE,EAAA,KAAAgB,WAAA,SAAkEX,YAAA,eAAAnF,MAAA,CAAoCtjE,GAAA,QAAY2pE,SAAA,CAAWnrE,MAAA4pE,EAAA,MAAmB5E,GAAA,CAAK5pD,MAAA,SAAAyvD,GAAyBA,EAAAjsE,OAAAwtE,YAAsCxC,EAAAplD,KAAAqmD,EAAAjsE,OAAAoB,aAA+B4pE,EAAAO,GAAA,KAAAJ,EAAA,OAA0BE,YAAA,cAAyB,CAAAF,EAAA,OAAYE,YAAA,gBAA2B,CAAAF,EAAA,OAAAA,EAAA,KAAoBjF,MAAA,CAAOljD,KAAA,KAAWojD,GAAA,CAAKr1B,MAAA,SAAAk7B,GAAiD,OAAxBA,EAAAn4C,iBAAwBk3C,EAAAkN,gBAAAjM,MAAqC,CAAAjB,EAAAO,GAAA,mBAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,kDAAAixC,EAAAO,GAAA,KAAAJ,EAAA,MAAAH,EAAAO,GAAA,KAAAJ,EAAA,KAAqIjF,MAAA,CAAOljD,KAAA,KAAWojD,GAAA,CAAKr1B,MAAA,SAAAk7B,GAAiD,OAAxBA,EAAAn4C,iBAAwBk3C,EAAAiN,SAAAhM,MAA8B,CAAAjB,EAAAO,GAAA,mBAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,yCAAAixC,EAAAO,GAAA,KAAAJ,EAAA,UAA4GE,YAAA,kBAAAnF,MAAA,CAAqCpmE,KAAA,WAAiB,CAAAkrE,EAAAO,GAAA,iBAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,6CAAAixC,EAAAO,GAAA,KAAAP,EAAA,MAAAG,EAAA,OAAuHE,YAAA,cAAyB,CAAAF,EAAA,OAAYE,YAAA,eAA0B,CAAAL,EAAAO,GAAA,WAAAP,EAAAa,GAAAb,EAAA1rE,OAAA,YAAA6rE,EAAA,KAA0DE,YAAA,0BAAAjF,GAAA,CAA0Cr1B,MAAAi6B,EAAA13C,kBAAwB03C,EAAAM,QAChvDP,EAAA,iCCDAntE,EAAA8C,EAAAuW,EAAA,sBAAA4uD,IAAAjoE,EAAA8C,EAAAuW,EAAA,sBAAA8zD,IAAA,IAAAlF,EAAA,WAA0B,IAAAmF,EAAAxgE,KAAaygE,EAAAD,EAAAE,eAA0BC,EAAAH,EAAAI,MAAAD,IAAAF,EAAwB,OAAAD,EAAAhQ,WAAAgQ,EAAAmN,SAAkoDhN,EAAA,OAAkBE,YAAA,cAAyB,CAAAF,EAAA,OAAYE,YAAA,uBAAkC,CAAAF,EAAA,OAAYE,YAAA,mDAAAjF,GAAA,CAAmEr1B,MAAA,SAAAk7B,GAA0E,OAAjDA,EAAAp4C,kBAAyBo4C,EAAAn4C,iBAAwBk3C,EAAA7P,YAAA8Q,MAAiC,CAAAd,EAAA,OAAYE,YAAA,SAAoB,CAAAF,EAAA,KAAUE,YAAA,uBAAiCL,EAAAO,GAAA,aAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,mCAAh+DoxC,EAAA,OAAmDE,YAAA,cAAyB,CAAAF,EAAA,OAAYE,YAAA,uBAAkC,CAAAF,EAAA,OAAYE,YAAA,iCAAAlF,MAAA,CAAoDiS,eAAApN,EAAAmN,UAA+B/R,GAAA,CAAKr1B,MAAA,SAAAk7B,GAA0E,OAAjDA,EAAAp4C,kBAAyBo4C,EAAAn4C,iBAAwBk3C,EAAA7P,YAAA8Q,MAAiC,CAAAd,EAAA,OAAYE,YAAA,SAAoB,CAAAF,EAAA,QAAAH,EAAAO,GAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,kBAAAixC,EAAAO,GAAA,KAAAP,EAAA,SAAAG,EAAA,KAAuFE,YAAA,gBAA0BL,EAAAM,SAAAN,EAAAO,GAAA,KAAAJ,EAAA,OAAqCW,WAAA,EAAanrE,KAAA,cAAAorE,QAAA,kBAA2CV,YAAA,eAA4BL,EAAA6B,GAAA7B,EAAA,kBAAA/qE,GAAyC,OAAAkrE,EAAA,OAAiBzpE,IAAAzB,EAAA2C,GAAAyoE,YAAA,gBAA0C,CAAAF,EAAA,QAAaE,YAAA,eAA0B,CAAAF,EAAA,OAAYjF,MAAA,CAAOhnE,IAAAe,EAAAo4E,OAAAzmE,YAA6Bo5D,EAAAO,GAAA,KAAAJ,EAAA,OAA0BE,YAAA,gBAA2B,CAAAF,EAAA,eAAoBE,YAAA,YAAAnF,MAAA,CAA+BwI,GAAA1D,EAAAv9C,gBAAAxtB,EAAAo4E,UAA0C,CAAArN,EAAAO,GAAA,iBAAAP,EAAAa,GAAA5rE,EAAAo4E,OAAAvyD,UAAA,kBAAAklD,EAAAO,GAAA,KAAAJ,EAAA,MAAAH,EAAAO,GAAA,KAAAJ,EAAA,QAAwHE,YAAA,aAAwB,CAAAL,EAAAO,GAAA,iBAAAP,EAAAa,GAAA5rE,EAAA4b,MAAA,0BAAuE,GAAAmvD,EAAAO,GAAA,KAAAJ,EAAA,OAA2BE,YAAA,cAAyB,CAAAF,EAAA,YAAiBW,WAAA,EAAanrE,KAAA,QAAAorE,QAAA,UAAA3qE,MAAA4pE,EAAA,eAAAgB,WAAA,mBAAsFX,YAAA,sBAAAnF,MAAA,CAA2CpyB,KAAA,KAAWy4B,SAAA,CAAWnrE,MAAA4pE,EAAA,gBAA6B5E,GAAA,CAAK0I,MAAA,SAAA7C,GAAyB,gBAAAA,IAAAjB,EAAAqD,GAAApC,EAAA/J,QAAA,WAAA+J,EAAAvqE,IAAA,SAAgF,YAAespE,EAAA5f,OAAA4f,EAAAlQ,iBAA+Bt+C,MAAA,SAAAyvD,GAA0BA,EAAAjsE,OAAAwtE,YAAsCxC,EAAAlQ,eAAAmR,EAAAjsE,OAAAoB,kBAClrD2pE,EAAA,iCCDAntE,EAAA8C,EAAAuW,EAAA,sBAAA4uD,IAAAjoE,EAAA8C,EAAAuW,EAAA,sBAAA8zD,IAAA,IAAAlF,EAAA,WAA0B,IAAaoF,EAAbzgE,KAAa0gE,eAA0BC,EAAvC3gE,KAAuC4gE,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,OAAiBE,YAAA,uBAAkC,CAAAF,EAAA,OAAYE,YAAA,iBAA4B,CAA1J7gE,KAA0J+gE,GAAA,SAA1J/gE,KAA0JqhE,GAA1JrhE,KAA0JuvB,GAAA,0CAA1JvvB,KAA0J+gE,GAAA,KAAAJ,EAAA,OAAgGE,YAAA,cAA1P7gE,KAAmRqiE,GAAnRriE,KAAmR,eAAA1D,GAAmC,OAAAqkE,EAAA,cAAwBzpE,IAAAoF,EAAAlE,GAAAyoE,YAAA,YAAAnF,MAAA,CAA2Cp/D,YAAe,MAClaikE,EAAA,iCCDAntE,EAAA8C,EAAAuW,EAAA,sBAAA4uD,IAAAjoE,EAAA8C,EAAAuW,EAAA,sBAAA8zD,IAAA,IAAAlF,EAAA,WAA0B,IAAaoF,EAAbzgE,KAAa0gE,eAA0BC,EAAvC3gE,KAAuC4gE,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,OAAiBE,YAAA,2BAAsC,CAAAF,EAAA,OAAYE,YAAA,uBAAkC,CAAAF,EAAA,OAAYE,YAAA,cAAyB,CAAAF,EAAA,OAAYoB,SAAA,CAAUC,UAA/NhiE,KAA+NqhE,GAA/NrhE,KAA+N0xD,wCACzP6O,EAAA,iCCDAntE,EAAA8C,EAAAuW,EAAA,sBAAA4uD,IAAAjoE,EAAA8C,EAAAuW,EAAA,sBAAA8zD,IAAA,IAAAlF,EAAA,WAA0B,IAAAmF,EAAAxgE,KAAaygE,EAAAD,EAAAE,eAA0BC,EAAAH,EAAAI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,OAAiBE,YAAA,kBAA6B,CAAAF,EAAA,OAAYE,YAAA,yCAAoD,CAAAF,EAAA,OAAYE,YAAA,2DAAsE,CAAAF,EAAA,OAAYE,YAAA,SAAoB,CAAAL,EAAAO,GAAA,aAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,yCAAAixC,EAAAO,GAAA,KAAAJ,EAAA,OAAmGE,YAAA,6BAAwC,CAAAF,EAAA,MAAAH,EAAA,KAAAG,EAAA,MAAAH,EAAAO,GAAA,eAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,wCAAAixC,EAAAM,KAAAN,EAAAO,GAAA,KAAAP,EAAA,OAAAG,EAAA,MAAAH,EAAAO,GAAA,eAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,0CAAAixC,EAAAM,KAAAN,EAAAO,GAAA,KAAAP,EAAA,YAAAG,EAAA,MAAAH,EAAAO,GAAA,eAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,iDAAAixC,EAAAM,KAAAN,EAAAO,GAAA,KAAAP,EAAA,WAAAG,EAAA,MAAAH,EAAAO,GAAA,eAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,+CAAAixC,EAAAM,KAAAN,EAAAO,GAAA,KAAAJ,EAAA,MAAAH,EAAAO,GAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,oCAAAixC,EAAAO,GAAA,KAAAJ,EAAA,MAAAH,EAAAO,GAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,oCAAAixC,EAAAa,GAAAb,EAAAjsC,uBACpcgsC,EAAA,iCCDAntE,EAAA8C,EAAAuW,EAAA,sBAAA4uD,IAAAjoE,EAAA8C,EAAAuW,EAAA,sBAAA8zD,IAAA,IAAAlF,EAAA,WAA0B,IAAaoF,EAAbzgE,KAAa0gE,eAA0BC,EAAvC3gE,KAAuC4gE,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,OAAAA,EAAA,OAA2BE,YAAA,uBAAkC,CAAAF,EAAA,OAAYE,YAAA,cAAyB,CAAAF,EAAA,OAAYE,YAAA,cAAAkB,SAAA,CAAoCC,UAAjNhiE,KAAiNqhE,GAAjNrhE,KAAiNurD,mBAC3OgV,EAAA,iCCDAntE,EAAA8C,EAAAuW,EAAA,sBAAA4uD,IAAAjoE,EAAA8C,EAAAuW,EAAA,sBAAA8zD,IAAA,IAAAlF,EAAA,WAA0B,IAAaoF,EAAbzgE,KAAa0gE,eAA0BC,EAAvC3gE,KAAuC4gE,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,OAAiBE,YAAA,eAA0B,CAAAF,EAAA,OAAYE,YAAA,yCAAoD,CAAAF,EAAA,OAAYE,YAAA,oDAA+D,CAAAF,EAAA,OAAYE,YAAA,SAAoB,CAArR7gE,KAAqR+gE,GAAA,aAArR/gE,KAAqRqhE,GAArRrhE,KAAqRuvB,GAAA,gCAArRvvB,KAAqR+gE,GAAA,KAAAJ,EAAA,OAA0FE,YAAA,cAA/W7gE,KAAwYqiE,GAAxYriE,KAAwY,uBAAA1D,GAA2C,OAAAqkE,EAAA,mBAA6BzpE,IAAAoF,EAAAqJ,YAAA+1D,MAAA,CAA4Bp/D,YAAe,QACrhBikE,EAAA,iCCDAntE,EAAA8C,EAAAuW,EAAA,sBAAA4uD,IAAAjoE,EAAA8C,EAAAuW,EAAA,sBAAA8zD,IAAA,IAAAlF,EAAA,WAA0B,IAAAmF,EAAAxgE,KAAaygE,EAAAD,EAAAE,eAA0BC,EAAAH,EAAAI,MAAAD,IAAAF,EAAwB,OAAAD,EAAA,iBAAAG,EAAA,OAAwCE,YAAA,0BAAqC,CAAAF,EAAA,OAAYE,YAAA,yCAAoD,CAAAF,EAAA,OAAYE,YAAA,oDAA+D,CAAAF,EAAA,OAAYE,YAAA,SAAoB,CAAAL,EAAAO,GAAA,aAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,qCAAAixC,EAAAO,GAAA,KAAAJ,EAAA,OAA+FE,YAAA,cAAyB,CAAAF,EAAA,OAAYE,YAAA,eAA0B,CAAAF,EAAA,MAAAH,EAAAO,GAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,0BAAAixC,EAAAO,GAAA,KAAAJ,EAAA,KAAAH,EAAAO,GAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,+BAAAixC,EAAAO,GAAA,KAAAJ,EAAA,KAAAH,EAAA6B,GAAA7B,EAAA,qBAAAsN,GAAgM,OAAAnN,EAAA,MAAgBzpE,IAAA42E,EAAA/L,SAAA,CAAqB4K,YAAAnM,EAAAa,GAAAyM,QAAgC,GAAAtN,EAAAO,GAAA,KAAAJ,EAAA,MAAAH,EAAAO,GAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,+BAAAixC,EAAAO,GAAA,KAAAP,EAAAnO,gBAAA,OAAAsO,EAAA,OAAAA,EAAA,MAAAH,EAAAO,GAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,sCAAAixC,EAAAO,GAAA,KAAAJ,EAAA,KAAAH,EAAAO,GAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,2CAAAixC,EAAAO,GAAA,KAAAJ,EAAA,KAAAH,EAAA6B,GAAA7B,EAAA,yBAAApmD,GAA6V,OAAAumD,EAAA,MAAgBzpE,IAAAkjB,EAAA2nD,SAAA,CAAuB4K,YAAAnM,EAAAa,GAAAjnD,QAAkC,KAAAomD,EAAAM,KAAAN,EAAAO,GAAA,KAAAP,EAAAhO,gBAAA,OAAAmO,EAAA,OAAAA,EAAA,MAAAH,EAAAO,GAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,sCAAAixC,EAAAO,GAAA,KAAAJ,EAAA,KAAAH,EAAAO,GAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,2CAAAixC,EAAAO,GAAA,KAAAJ,EAAA,KAAAH,EAAA6B,GAAA7B,EAAA,yBAAApmD,GAA+R,OAAAumD,EAAA,MAAgBzpE,IAAAkjB,EAAA2nD,SAAA,CAAuB4K,YAAAnM,EAAAa,GAAAjnD,QAAkC,KAAAomD,EAAAM,KAAAN,EAAAO,GAAA,KAAAP,EAAA/N,oBAAA,OAAAkO,EAAA,OAAAA,EAAA,MAAAH,EAAAO,GAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,0CAAAixC,EAAAO,GAAA,KAAAJ,EAAA,KAAAH,EAAAO,GAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,+CAAAixC,EAAAO,GAAA,KAAAJ,EAAA,KAAAH,EAAA6B,GAAA7B,EAAA,6BAAApmD,GAA+S,OAAAumD,EAAA,MAAgBzpE,IAAAkjB,EAAA2nD,SAAA,CAAuB4K,YAAAnM,EAAAa,GAAAjnD,QAAkC,KAAAomD,EAAAM,KAAAN,EAAAO,GAAA,KAAAP,EAAA7N,oBAAA,OAAAgO,EAAA,OAAAA,EAAA,MAAAH,EAAAO,GAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,2CAAAixC,EAAAO,GAAA,KAAAJ,EAAA,KAAAH,EAAAO,GAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,gDAAAixC,EAAAO,GAAA,KAAAJ,EAAA,KAAAH,EAAA6B,GAAA7B,EAAA,6BAAApmD,GAAiT,OAAAumD,EAAA,MAAgBzpE,IAAAkjB,EAAA2nD,SAAA,CAAuB4K,YAAAnM,EAAAa,GAAAjnD,QAAkC,KAAAomD,EAAAM,KAAAN,EAAAO,GAAA,KAAAP,EAAA3N,mBAAA,OAAA8N,EAAA,OAAAA,EAAA,MAAAH,EAAAO,GAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,0CAAAixC,EAAAO,GAAA,KAAAJ,EAAA,KAAAH,EAAAO,GAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,+CAAAixC,EAAAO,GAAA,KAAAJ,EAAA,KAAAH,EAAA6B,GAAA7B,EAAA,4BAAApmD,GAA6S,OAAAumD,EAAA,MAAgBzpE,IAAAkjB,EAAA2nD,SAAA,CAAuB4K,YAAAnM,EAAAa,GAAAjnD,QAAkC,KAAAomD,EAAAM,KAAAN,EAAAO,GAAA,KAAAP,EAAAzN,sBAAA,OAAA4N,EAAA,OAAAA,EAAA,MAAAH,EAAAO,GAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,6CAAAixC,EAAAO,GAAA,KAAAJ,EAAA,KAAAH,EAAAO,GAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,kDAAAixC,EAAAO,GAAA,KAAAJ,EAAA,KAAAH,EAAA6B,GAAA7B,EAAA,+BAAApmD,GAAyT,OAAAumD,EAAA,MAAgBzpE,IAAAkjB,EAAA2nD,SAAA,CAAuB4K,YAAAnM,EAAAa,GAAAjnD,QAAkC,KAAAomD,EAAAM,aAAAN,EAAAM,MAC5+FP,EAAA,iCCDAntE,EAAA8C,EAAAuW,EAAA,sBAAA4uD,IAAAjoE,EAAA8C,EAAAuW,EAAA,sBAAA8zD,IAAA,IAAAlF,EAAA,WAA0B,IAAAmF,EAAAxgE,KAAaygE,EAAAD,EAAAE,eAA0BC,EAAAH,EAAAI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,OAAiBE,YAAA,WAAsB,CAAAL,EAAA,0BAAAG,EAAA,2BAAAH,EAAAM,KAAAN,EAAAO,GAAA,KAAAJ,EAAA,eAAAH,EAAAO,GAAA,KAAAJ,EAAA,0BAAAH,EAAAO,GAAA,KAAAJ,EAAA,wBAAAH,EAAAO,GAAA,KAAAP,EAAA,kBAAAG,EAAA,kBAAAH,EAAAM,MAAA,IAChIP,EAAA,iCCDAntE,EAAA8C,EAAAuW,EAAA,sBAAA4uD,IAAAjoE,EAAA8C,EAAAuW,EAAA,sBAAA8zD,IAAA,IAAAlF,EAAA,WAA0B,IAAAmF,EAAAxgE,KAAaygE,EAAAD,EAAAE,eAA0BC,EAAAH,EAAAI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,OAAiBE,YAAA,uBAAkC,CAAAF,EAAA,OAAYE,YAAA,iBAA4B,CAAAL,EAAAO,GAAA,SAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,wDAAAixC,EAAAO,GAAA,KAAAJ,EAAA,OAA8GE,YAAA,cAAyB,CAAAF,EAAA,KAAAH,EAAAO,GAAA,WAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,4CAAAixC,EAAAa,GAAAb,EAAApuC,OAAAt4B,OAAAwhB,UAAA,IAAAklD,EAAAa,GAAAb,EAAApuC,OAAAt4B,OAAA4sD,UAAA,YAAA8Z,EAAAO,GAAA,KAAAP,EAAA,MAAAG,EAAA,KAAAH,EAAAO,GAAA,WAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,2CAAAixC,EAAAM,UAC3TP,EAAA,iCCDAntE,EAAA8C,EAAAuW,EAAA,sBAAA4uD,IAAAjoE,EAAA8C,EAAAuW,EAAA,sBAAA8zD,IAAA,IAAAlF,EAAA,WAA0B,IAAaoF,EAAbzgE,KAAa0gE,eAA0BC,EAAvC3gE,KAAuC4gE,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,OAAiBE,YAAA,cAAyB,CAAzG7gE,KAAyG,SAAA2gE,EAAA,OAA2BzpE,IAAA,aAAA2pE,YAAA,iCAA6D,CAAAF,EAAA,YAAiBjF,MAAA,CAAOp/D,KAAzN0D,KAAyN1D,KAAAupE,YAAA,EAAAliC,QAAA,SAAzN3jC,KAA0Q+gE,GAAA,KAAAJ,EAAA,OAAwBE,YAAA,gBAA2B,CAAAF,EAAA,0BAAAA,EAAA,aAA+CzpE,IAAA,gBAAiB,IACvZqpE,EAAA,iCCDAntE,EAAA8C,EAAAuW,EAAA,sBAAA4uD,IAAAjoE,EAAA8C,EAAAuW,EAAA,sBAAA8zD,IAAA,IAAAlF,EAAA,WAA0B,IAAAmF,EAAAxgE,KAAaygE,EAAAD,EAAAE,eAA0BC,EAAAH,EAAAI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,OAAiBE,YAAA,aAAwB,CAAAF,EAAA,OAAYE,YAAA,uBAAkC,CAAAF,EAAA,MAAAH,EAAA,YAAAG,EAAA,MAAAA,EAAA,eAAwDjF,MAAA,CAAOwI,GAAA,CAAM/tE,KAAA,aAAoB,CAAAqqE,EAAAO,GAAA,eAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,qCAAAixC,EAAAM,KAAAN,EAAAO,GAAA,KAAAP,EAAA,YAAAG,EAAA,MAAAA,EAAA,eAA6IjF,MAAA,CAAOwI,GAAA,CAAM/tE,KAAA,eAAA2D,OAAA,CAAgCwhB,SAAAklD,EAAA7hD,YAAAhZ,gBAA4C,CAAA66D,EAAAO,GAAA,eAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,yCAAAixC,EAAAM,KAAAN,EAAAO,GAAA,KAAAP,EAAA,YAAAG,EAAA,MAAAA,EAAA,eAAiJjF,MAAA,CAAOwI,GAAA,CAAM/tE,KAAA,MAAA2D,OAAA,CAAuBwhB,SAAAklD,EAAA7hD,YAAAhZ,gBAA4C,CAAA66D,EAAAO,GAAA,eAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,gCAAAixC,EAAAM,KAAAN,EAAAO,GAAA,KAAAP,EAAA7hD,aAAA6hD,EAAA7hD,YAAA8jC,OAAAke,EAAA,MAAAA,EAAA,eAAkKjF,MAAA,CAAOwI,GAAA,CAAM/tE,KAAA,qBAA4B,CAAAqqE,EAAAO,GAAA,eAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,wCAAAixC,EAAA7K,mBAAA,EAAAgL,EAAA,QAAsHE,YAAA,8BAAyC,CAAAL,EAAAO,GAAA,iBAAAP,EAAAa,GAAAb,EAAA7K,oBAAA,kBAAA6K,EAAAM,QAAA,GAAAN,EAAAM,KAAAN,EAAAO,GAAA,KAAAJ,EAAA,MAAAA,EAAA,eAA0IjF,MAAA,CAAOwI,GAAA,CAAM/tE,KAAA,qBAA4B,CAAAqqE,EAAAO,GAAA,eAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,sCAAAixC,EAAAO,GAAA,KAAAJ,EAAA,MAAAA,EAAA,eAAmHjF,MAAA,CAAOwI,GAAA,CAAM/tE,KAAA,8BAAqC,CAAAqqE,EAAAO,GAAA,eAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,iCAAAixC,EAAAO,GAAA,KAAAJ,EAAA,MAAAA,EAAA,eAA8GjF,MAAA,CAAOwI,GAAA,CAAM/tE,KAAA,WAAkB,CAAAqqE,EAAAO,GAAA,eAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,yCAC/hDgxC,EAAA,iCCDAntE,EAAA8C,EAAAuW,EAAA,sBAAA4uD,IAAAjoE,EAAA8C,EAAAuW,EAAA,sBAAA8zD,IAAA,IAAAlF,EAAA,WAA0B,IAAAmF,EAAAxgE,KAAaygE,EAAAD,EAAAE,eAA0BC,EAAAH,EAAAI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,OAAAA,EAAA,OAA2BE,YAAA,wBAAmC,CAAAL,EAAA,QAAAG,EAAA,KAAwBE,YAAA,6CAAuDL,EAAAM,KAAAN,EAAAO,GAAA,KAAAP,EAAA,OAAAG,EAAA,KAA4CjF,MAAA,CAAOljD,KAAA,IAAAouB,MAAA45B,EAAAjxC,GAAA,gBAAyC,CAAAoxC,EAAA,KAAUE,YAAA,0BAAAjF,GAAA,CAA0Cr1B,MAAA,SAAAk7B,GAA0E,OAAjDA,EAAAn4C,iBAAwBm4C,EAAAp4C,kBAAyBm3C,EAAAp0C,aAAAq1C,SAAkC,CAAAd,EAAA,SAAiBW,WAAA,EAAanrE,KAAA,QAAAorE,QAAA,UAAA3qE,MAAA4pE,EAAA,WAAAgB,WAAA,eAA8E9gC,IAAA,cAAAmgC,YAAA,mBAAAnF,MAAA,CAA0DtjE,GAAA,mBAAAoyD,YAAAgW,EAAAjxC,GAAA,cAAAj6B,KAAA,QAAyEysE,SAAA,CAAWnrE,MAAA4pE,EAAA,YAAyB5E,GAAA,CAAK0I,MAAA,SAAA7C,GAAyB,gBAAAA,IAAAjB,EAAAqD,GAAApC,EAAA/J,QAAA,WAAA+J,EAAAvqE,IAAA,SAAgF,YAAespE,EAAAr3C,KAAAq3C,EAAA1uB,aAAyB9/B,MAAA,SAAAyvD,GAA0BA,EAAAjsE,OAAAwtE,YAAsCxC,EAAA1uB,WAAA2vB,EAAAjsE,OAAAoB,WAAqC4pE,EAAAO,GAAA,KAAAJ,EAAA,UAA2BE,YAAA,oBAAAjF,GAAA,CAAoCr1B,MAAA,SAAAk7B,GAAyBjB,EAAAr3C,KAAAq3C,EAAA1uB,eAA2B,CAAA6uB,EAAA,KAAUE,YAAA,kBAA0BL,EAAAO,GAAA,KAAAJ,EAAA,KAAwBE,YAAA,0BAAAjF,GAAA,CAA0Cr1B,MAAA,SAAAk7B,GAA0E,OAAjDA,EAAAn4C,iBAAwBm4C,EAAAp4C,kBAAyBm3C,EAAAp0C,aAAAq1C,SAAkC,MACrzClB,EAAA,iCCDAntE,EAAA8C,EAAAuW,EAAA,sBAAA4uD,IAAAjoE,EAAA8C,EAAAuW,EAAA,sBAAA8zD,IAAA,IAAAlF,EAAA,WAA0B,IAAAmF,EAAAxgE,KAAaygE,EAAAD,EAAAE,eAA0BC,EAAAH,EAAAI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,OAAiBE,YAAA,uBAAkC,CAAAF,EAAA,OAAYE,YAAA,yCAAoD,CAAAF,EAAA,OAAYE,YAAA,2DAAsE,CAAAF,EAAA,OAAYE,YAAA,SAAoB,CAAAL,EAAAO,GAAA,aAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,gDAAAixC,EAAAO,GAAA,KAAAJ,EAAA,OAA0GE,YAAA,iBAA4B,CAAAL,EAAA6B,GAAA7B,EAAA,uBAAAlkE,GAA4C,OAAAqkE,EAAA,KAAezpE,IAAAoF,EAAAlE,GAAAyoE,YAAA,uBAA8C,CAAAF,EAAA,OAAYjF,MAAA,CAAOhnE,IAAA4H,EAAA+uB,OAAgBm1C,EAAAO,GAAA,KAAAJ,EAAA,eAAgCjF,MAAA,CAAOwI,GAAA1D,EAAAv9C,gBAAA3mB,EAAAlE,GAAAkE,EAAAnG,QAA8C,CAAAqqE,EAAAO,GAAA,eAAAP,EAAAa,GAAA/kE,EAAAnG,MAAA,gBAAAwqE,EAAA,YAAuEH,EAAAO,GAAA,KAAAJ,EAAA,KAAsBE,YAAA,sBAAiC,CAAAF,EAAA,eAAoBjF,MAAA,CAAOwI,GAAA,CAAM/tE,KAAA,mBAA0B,CAAAqqE,EAAAO,GAAA,eAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,oDAC91BgxC,EAAA,iCCDAntE,EAAA8C,EAAAuW,EAAA,sBAAA4uD,IAAAjoE,EAAA8C,EAAAuW,EAAA,sBAAA8zD,IAAA,IAAAlF,EAAA,WAA0B,IAAAmF,EAAAxgE,KAAaygE,EAAAD,EAAAE,eAAkD,OAAxBF,EAAAI,MAAAD,IAAAF,GAAwB,OAAiBa,WAAA,EAAanrE,KAAA,OAAAorE,QAAA,SAAA3qE,MAAA4pE,EAAA,OAAAgB,WAAA,UAAoE,CAAErrE,KAAA,mBAAAorE,QAAA,qBAAA3qE,MAAA4pE,EAAA,OAAAgB,WAAA,WAA4FX,YAAA,aAAAjF,GAAA,CAA+Br1B,MAAA,SAAAk7B,GAAyB,GAAAA,EAAAjsE,SAAAisE,EAAA+D,cAA2C,YAAehF,EAAA12C,MAAA,sBAA+B,CAAA02C,EAAAuC,GAAA,gBAC1axC,EAAA,iCCDAntE,EAAA8C,EAAAuW,EAAA,sBAAA4uD,IAAAjoE,EAAA8C,EAAAuW,EAAA,sBAAA8zD,IAAA,IAAAlF,EAAA,WAA0B,IAAAmF,EAAAxgE,KAAaygE,EAAAD,EAAAE,eAA0BC,EAAAH,EAAAI,MAAAD,IAAAF,EAAwB,OAAAD,EAAA,QAAAG,EAAA,SAAiCE,YAAA,mBAAAjF,GAAA,CAAmCmS,gBAAAvN,EAAAlJ,OAA4B,WAAAkJ,EAAAlrE,KAAAqrE,EAAA,OAAmCE,YAAA,cAAAnF,MAAA,CAAiChnE,IAAA8rE,EAAAhK,aAAAj9D,KAA2BqiE,GAAA,CAAKoS,WAAA,SAAAvM,GAAuD,OAAzBA,EAAAp4C,kBAAyBm3C,EAAAtJ,gBAAAuK,IAAmCwM,UAAA,SAAAxM,GAAuD,OAAzBA,EAAAp4C,kBAAyBm3C,EAAApJ,eAAAqK,IAAkCl7B,MAAAi6B,EAAAlJ,QAAmBkJ,EAAAM,KAAAN,EAAAO,GAAA,eAAAP,EAAAlrE,KAAAqrE,EAAA,mBAAoEE,YAAA,cAAAnF,MAAA,CAAiCzkD,WAAAupD,EAAAhK,aAAAyK,UAAA,KAA+CT,EAAAM,KAAAN,EAAAO,GAAA,KAAAP,EAAA,YAAAG,EAAA,UAAsDE,YAAA,wDAAAnF,MAAA,CAA2E90B,MAAA45B,EAAAjxC,GAAA,yBAAuCqsC,GAAA,CAAKr1B,MAAA,SAAAk7B,GAA0E,OAAjDA,EAAAp4C,kBAAyBo4C,EAAAn4C,iBAAwBk3C,EAAA1J,OAAA2K,MAA4B,CAAAd,EAAA,KAAUE,YAAA,gCAAwCL,EAAAM,KAAAN,EAAAO,GAAA,KAAAP,EAAA,YAAAG,EAAA,UAAwDE,YAAA,wDAAAnF,MAAA,CAA2E90B,MAAA45B,EAAAjxC,GAAA,qBAAmCqsC,GAAA,CAAKr1B,MAAA,SAAAk7B,GAA0E,OAAjDA,EAAAp4C,kBAAyBo4C,EAAAn4C,iBAAwBk3C,EAAAvJ,OAAAwK,MAA4B,CAAAd,EAAA,KAAUE,YAAA,iCAAyCL,EAAAM,MAAA,GAAAN,EAAAM,MAChwCP,EAAA,iCCDAntE,EAAA8C,EAAAuW,EAAA,sBAAA4uD,IAAAjoE,EAAA8C,EAAAuW,EAAA,sBAAA8zD,IAAA,IAAAlF,EAAA,WAA0B,IAAAmF,EAAAxgE,KAAaygE,EAAAD,EAAAE,eAA0BC,EAAAH,EAAAI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,OAAiBE,YAAA,wBAAAlF,MAAA,CAA2CuS,+BAAA1N,EAAA3I,OAAAsW,8BAAA3N,EAAA3I,SAAyF,CAAA8I,EAAA,OAAYE,YAAA,qBAAAlF,MAAA,CAAwCyS,4BAAA5N,EAAA3I,UAA0C2I,EAAAO,GAAA,KAAAJ,EAAA,OAAwBE,YAAA,cAAAlF,MAAA,CAAiC0S,qBAAA7N,EAAA3I,QAAiC+D,GAAA,CAAKoS,WAAAxN,EAAAtI,WAAA+V,UAAAzN,EAAArI,YAAuD,CAAAwI,EAAA,OAAYE,YAAA,sBAAAjF,GAAA,CAAsCr1B,MAAAi6B,EAAAzI,eAA0B,CAAAyI,EAAA,YAAAG,EAAA,YAAmCjF,MAAA,CAAOp/D,KAAAkkE,EAAA7hD,YAAAknD,YAAA,KAAwClF,EAAA,OAAYE,YAAA,4BAAuC,CAAAF,EAAA,OAAYjF,MAAA,CAAOhnE,IAAA8rE,EAAA9L,QAAgB8L,EAAAO,GAAA,KAAAJ,EAAA,QAAAH,EAAAO,GAAAP,EAAAa,GAAAb,EAAArL,gBAAA,GAAAqL,EAAAO,GAAA,KAAAJ,EAAA,MAAAH,EAAA7hD,YAAgM6hD,EAAAM,KAAhMH,EAAA,MAA+G/E,GAAA,CAAIr1B,MAAAi6B,EAAAzI,eAA0B,CAAA4I,EAAA,eAAoBjF,MAAA,CAAOwI,GAAA,CAAM/tE,KAAA,WAAkB,CAAAqqE,EAAAO,GAAA,eAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,oCAAAixC,EAAAO,GAAA,KAAAP,EAAA,YAAAG,EAAA,MAA0H/E,GAAA,CAAIr1B,MAAAi6B,EAAAzI,eAA0B,CAAA4I,EAAA,eAAoBjF,MAAA,CAAOwI,GAAA,CAAM/tE,KAAA,MAAA2D,OAAA,CAAuBwhB,SAAAklD,EAAA7hD,YAAAhZ,gBAA4C,CAAA66D,EAAAO,GAAA,eAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,gCAAAixC,EAAAM,KAAAN,EAAAO,GAAA,KAAAP,EAAA,YAAAG,EAAA,MAAsH/E,GAAA,CAAIr1B,MAAAi6B,EAAAzI,eAA0B,CAAA4I,EAAA,eAAoBjF,MAAA,CAAOwI,GAAA,CAAM/tE,KAAA,eAAA2D,OAAA,CAAgCwhB,SAAAklD,EAAA7hD,YAAAhZ,gBAA4C,CAAA66D,EAAAO,GAAA,eAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,yCAAAixC,EAAAM,OAAAN,EAAAO,GAAA,KAAAJ,EAAA,MAAAH,EAAA,YAAAG,EAAA,MAA0I/E,GAAA,CAAIr1B,MAAAi6B,EAAAzI,eAA0B,CAAA4I,EAAA,eAAoBjF,MAAA,CAAOwI,GAAA,CAAM/tE,KAAA,aAAoB,CAAAqqE,EAAAO,GAAA,eAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,qCAAAixC,EAAAM,KAAAN,EAAAO,GAAA,KAAAP,EAAA7hD,aAAA6hD,EAAA7hD,YAAA8jC,OAAAke,EAAA,MAAqJ/E,GAAA,CAAIr1B,MAAAi6B,EAAAzI,eAA0B,CAAA4I,EAAA,eAAoBjF,MAAA,CAAOwI,GAAA,qBAAyB,CAAA1D,EAAAO,GAAA,eAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,wCAAAixC,EAAA7K,mBAAA,EAAAgL,EAAA,QAAsHE,YAAA,8BAAyC,CAAAL,EAAAO,GAAA,iBAAAP,EAAAa,GAAAb,EAAA7K,oBAAA,kBAAA6K,EAAAM,QAAA,GAAAN,EAAAM,KAAAN,EAAAO,GAAA,KAAAJ,EAAA,MAAwH/E,GAAA,CAAIr1B,MAAAi6B,EAAAzI,eAA0B,CAAA4I,EAAA,eAAoBjF,MAAA,CAAOwI,GAAA,iBAAqB,CAAA1D,EAAAO,GAAA,eAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,sCAAAixC,EAAAO,GAAA,KAAAJ,EAAA,MAAiG/E,GAAA,CAAIr1B,MAAAi6B,EAAAzI,eAA0B,CAAA4I,EAAA,eAAoBjF,MAAA,CAAOwI,GAAA,cAAkB,CAAA1D,EAAAO,GAAA,eAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,iCAAAixC,EAAAO,GAAA,KAAAP,EAAA7hD,aAAA6hD,EAAA9P,KAAAiQ,EAAA,MAA0H/E,GAAA,CAAIr1B,MAAAi6B,EAAAzI,eAA0B,CAAA4I,EAAA,eAAoBjF,MAAA,CAAOwI,GAAA,CAAM/tE,KAAA,UAAiB,CAAAqqE,EAAAO,GAAA,eAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,iCAAAixC,EAAAM,OAAAN,EAAAO,GAAA,KAAAJ,EAAA,MAAAA,EAAA,MAAgH/E,GAAA,CAAIr1B,MAAAi6B,EAAAzI,eAA0B,CAAA4I,EAAA,eAAoBjF,MAAA,CAAOwI,GAAA,CAAM/tE,KAAA,YAAmB,CAAAqqE,EAAAO,GAAA,eAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,mCAAAixC,EAAAO,GAAA,KAAAP,EAAA7hD,aAAA6hD,EAAAzO,mBAAA4O,EAAA,MAA0I/E,GAAA,CAAIr1B,MAAAi6B,EAAAzI,eAA0B,CAAA4I,EAAA,eAAoBjF,MAAA,CAAOwI,GAAA,CAAM/tE,KAAA,mBAA0B,CAAAqqE,EAAAO,GAAA,eAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,0CAAAixC,EAAAM,KAAAN,EAAAO,GAAA,KAAAJ,EAAA,MAA8G/E,GAAA,CAAIr1B,MAAAi6B,EAAAzI,eAA0B,CAAA4I,EAAA,eAAoBjF,MAAA,CAAOwI,GAAA,CAAM/tE,KAAA,cAAqB,CAAAqqE,EAAAO,GAAA,eAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,0CAAAixC,EAAAO,GAAA,KAAAJ,EAAA,MAAqG/E,GAAA,CAAIr1B,MAAAi6B,EAAAzI,eAA0B,CAAA4I,EAAA,eAAoBjF,MAAA,CAAOwI,GAAA,CAAM/tE,KAAA,WAAiB,CAAAqqE,EAAAO,GAAA,eAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,kCAAAixC,EAAAO,GAAA,KAAAP,EAAA7hD,aAAA,UAAA6hD,EAAA7hD,YAAAskC,KAAA0d,EAAA,MAAmJ/E,GAAA,CAAIr1B,MAAAi6B,EAAAzI,eAA0B,CAAA4I,EAAA,KAAUjF,MAAA,CAAOljD,KAAA,iCAAAhjB,OAAA,WAA2D,CAAAgrE,EAAAO,GAAA,eAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,yCAAAixC,EAAAM,KAAAN,EAAAO,GAAA,KAAAP,EAAA,YAAAG,EAAA,MAA+H/E,GAAA,CAAIr1B,MAAAi6B,EAAAzI,eAA0B,CAAA4I,EAAA,KAAUjF,MAAA,CAAOljD,KAAA,KAAWojD,GAAA,CAAKr1B,MAAAi6B,EAAAvI,WAAsB,CAAAuI,EAAAO,GAAA,eAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,mCAAAixC,EAAAM,SAAAN,EAAAO,GAAA,KAAAJ,EAAA,OAA4GE,YAAA,4BAAAlF,MAAA,CAA+C2S,mCAAA9N,EAAA3I,QAA+C+D,GAAA,CAAKr1B,MAAA,SAAAk7B,GAA0E,OAAjDA,EAAAp4C,kBAAyBo4C,EAAAn4C,iBAAwBk3C,EAAAzI,aAAA0J,UACxjIlB,EAAA,iCCDAntE,EAAA8C,EAAAuW,EAAA,sBAAA4uD,IAAAjoE,EAAA8C,EAAAuW,EAAA,sBAAA8zD,IAAA,IAAAlF,EAAA,WAA0B,IAAaoF,EAAbzgE,KAAa0gE,eAA0BC,EAAvC3gE,KAAuC4gE,MAAAD,IAAAF,EAAwB,OAA/DzgE,KAA+D,WAAA2gE,EAAA,OAAAA,EAAA,UAA+CE,YAAA,oBAAAlF,MAAA,CAAuCv8C,OAArJpf,KAAqJ64D,UAAyB+C,GAAA,CAAKr1B,MAAnLvmC,KAAmLi5D,eAA0B,CAAA0H,EAAA,KAAUE,YAAA,kBAAvN7gE,KAA+O8gE,MACzQP,EAAA,iCCDAntE,EAAA8C,EAAAuW,EAAA,sBAAA4uD,IAAAjoE,EAAA8C,EAAAuW,EAAA,sBAAA8zD,IAAA,IAAAlF,EAAA,WAA0B,IAAAmF,EAAAxgE,KAAaygE,EAAAD,EAAAE,eAA0BC,EAAAH,EAAAI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,OAAAA,EAAA,OAA2BE,YAAA,oBAAAnF,MAAA,CAAuCtjE,GAAA,QAAY,CAAAuoE,EAAA,OAAYE,YAAA,mBAAAjF,GAAA,CAAmCr1B,MAAA,SAAAk7B,GAAyBjB,EAAAlL,iBAAoB,CAAAqL,EAAA,OAAYE,YAAA,QAAmB,CAAAF,EAAA,KAAUE,YAAA,oBAAAnF,MAAA,CAAuCljD,KAAA,KAAWojD,GAAA,CAAKr1B,MAAA,SAAAk7B,GAAyBA,EAAAp4C,kBAAyBo4C,EAAAn4C,iBAAwBk3C,EAAA5G,yBAA4B,CAAA+G,EAAA,KAAUE,YAAA,4BAAoCL,EAAAO,GAAA,KAAAJ,EAAA,eAAkCE,YAAA,YAAAnF,MAAA,CAA+BwI,GAAA,CAAM/tE,KAAA,QAAeo4E,eAAA,SAAwB,CAAA/N,EAAAO,GAAA,eAAAP,EAAAa,GAAAb,EAAArL,UAAA,oBAAAqL,EAAAO,GAAA,KAAAJ,EAAA,OAAuFE,YAAA,cAAyB,CAAAL,EAAA,YAAAG,EAAA,KAA4BE,YAAA,oBAAAnF,MAAA,CAAuCljD,KAAA,KAAWojD,GAAA,CAAKr1B,MAAA,SAAAk7B,GAAyBA,EAAAp4C,kBAAyBo4C,EAAAn4C,iBAAwBk3C,EAAA1G,6BAAgC,CAAA6G,EAAA,KAAUE,YAAA,8BAAwCL,EAAAO,GAAA,KAAAP,EAAA,yBAAAG,EAAA,OAAuDE,YAAA,cAAwBL,EAAAM,OAAAN,EAAAM,WAAAN,EAAAO,GAAA,KAAAP,EAAA,YAAAG,EAAA,OAAoEE,YAAA,8BAAAlF,MAAA,CAAiD9D,QAAA2I,EAAA9G,mBAAmCkC,GAAA,CAAKoS,WAAA,SAAAvM,GAAuD,OAAzBA,EAAAp4C,kBAAyBm3C,EAAAzG,wBAAA0H,IAA2CwM,UAAA,SAAAxM,GAAuD,OAAzBA,EAAAp4C,kBAAyBm3C,EAAAxG,uBAAAyH,MAA4C,CAAAd,EAAA,OAAYE,YAAA,+BAA0C,CAAAF,EAAA,QAAaE,YAAA,SAAoB,CAAAL,EAAAO,GAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,mCAAAixC,EAAAO,GAAA,KAAAJ,EAAA,KAA8EE,YAAA,oBAAAjF,GAAA,CAAoCr1B,MAAA,SAAAk7B,GAAyBA,EAAAp4C,kBAAyBo4C,EAAAn4C,iBAAwBk3C,EAAA7G,8BAAiC,CAAAgH,EAAA,KAAUE,YAAA,gCAAsCL,EAAAO,GAAA,KAAAJ,EAAA,OAA4BE,YAAA,uBAAAjF,GAAA,CAAuCzjC,OAAAqoC,EAAApgC,WAAuB,CAAAugC,EAAA,iBAAsBjgC,IAAA,gBAAAg7B,MAAA,CAA2BuN,cAAA,MAAmB,KAAAzI,EAAAM,KAAAN,EAAAO,GAAA,KAAAJ,EAAA,cAA8CjgC,IAAA,aAAAg7B,MAAA,CAAwBzU,OAAAuZ,EAAAvZ,WAAqB,IACl9DsZ,EAAA,iCCDAntE,EAAA8C,EAAAuW,EAAA,sBAAA4uD,IAAAjoE,EAAA8C,EAAAuW,EAAA,sBAAA8zD,IAAA,IAAAlF,EAAA,WAA0B,IAAAmF,EAAAxgE,KAAaygE,EAAAD,EAAAE,eAA0BC,EAAAH,EAAAI,MAAAD,IAAAF,EAAwB,OAAAD,EAAA,OAAAG,EAAA,SAAgC/E,GAAA,CAAImS,gBAAAvN,EAAAhG,aAAkC,CAAAmG,EAAA,OAAYE,YAAA,8BAAyC,CAAAF,EAAA,OAAYE,YAAA,iBAA4B,CAAAF,EAAA,OAAYE,YAAA,SAAoB,CAAAL,EAAAO,GAAA,aAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,wBAAAixC,EAAAlkE,KAAAqJ,eAAA,gBAAA66D,EAAAO,GAAA,KAAAJ,EAAA,OAA2HE,YAAA,cAAyB,CAAAF,EAAA,OAAYE,YAAA,6BAAwC,CAAAF,EAAA,OAAAA,EAAA,KAAAH,EAAAO,GAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,8CAAAixC,EAAAO,GAAA,KAAAJ,EAAA,YAAkHW,WAAA,EAAanrE,KAAA,QAAAorE,QAAA,UAAA3qE,MAAA4pE,EAAA,QAAAgB,WAAA,YAAwEX,YAAA,eAAAnF,MAAA,CAAoClR,YAAAgW,EAAAjxC,GAAA,sCAAA+Z,KAAA,KAAsEy4B,SAAA,CAAWnrE,MAAA4pE,EAAA,SAAsB5E,GAAA,CAAK5pD,MAAA,UAAAyvD,GAA0BA,EAAAjsE,OAAAwtE,YAAsCxC,EAAAn1D,QAAAo2D,EAAAjsE,OAAAoB,QAAgC4pE,EAAA1uC,aAAc0uC,EAAAO,GAAA,KAAAP,EAAAlkE,KAAAmqD,SAA4O+Z,EAAAM,KAA5OH,EAAA,OAAAA,EAAA,KAAAH,EAAAO,GAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,0CAAAixC,EAAAO,GAAA,KAAAJ,EAAA,YAAiJ9+B,MAAA,CAAOjrC,MAAA4pE,EAAA,QAAA0C,SAAA,SAAAC,GAA6C3C,EAAAl1D,QAAA63D,GAAgB3B,WAAA,YAAuB,CAAAhB,EAAAO,GAAA,iBAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,6BAAAixC,EAAAnG,kBAAA,sBAAAmG,EAAAO,GAAA,KAAAJ,EAAA,OAAAA,EAAA,UAA8JE,YAAA,kBAAAnF,MAAA,CAAqCp1B,SAAAk6B,EAAAnV,YAA0BuQ,GAAA,CAAKr1B,MAAAi6B,EAAAt1D,aAAwB,CAAAs1D,EAAAO,GAAA,iBAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,4CAAAixC,EAAAO,GAAA,KAAAP,EAAA,MAAAG,EAAA,OAAsHE,YAAA,eAA0B,CAAAL,EAAAO,GAAA,iBAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,mDAAAixC,EAAAM,SAAAN,EAAAO,GAAA,KAAAJ,EAAA,OAA8HE,YAAA,8BAAyC,CAAAF,EAAA,QAAajF,MAAA,CAAOhqB,MAAA8uB,EAAAn0D,UAAqB29D,YAAAxJ,EAAAyJ,GAAA,EAAsB/yE,IAAA,OAAAgzE,GAAA,SAAAxpC,GACrwD,IAAA2J,EAAA3J,EAAA2J,KACA,OAAAs2B,EAAA,OAAkBE,YAAA,4CAAuD,CAAAF,EAAA,UAAejF,MAAA,CAAOgN,mBAAA,EAAA5mD,SAAA,EAAAO,UAAAgoB,KAA0Dm2B,EAAAO,GAAA,KAAAJ,EAAA,YAA6BjF,MAAA,CAAO5rC,QAAA0wC,EAAA/F,UAAApwB,EAAAjyC,KAAiCwjE,GAAA,CAAKjiC,OAAA,SAAA7J,GAA6B,OAAA0wC,EAAA9F,aAAA5qC,EAAAua,EAAAjyC,SAA+C,WAAW,SAAAooE,EAAAM,MAC1TP,EAAA,iCCHAntE,EAAA8C,EAAAuW,EAAA,sBAAA4uD,IAAAjoE,EAAA8C,EAAAuW,EAAA,sBAAA8zD,IAAA,IAAAlF,EAAA,WAA0B,IAAAmF,EAAAxgE,KAAaygE,EAAAD,EAAAE,eAA0BC,EAAAH,EAAAI,MAAAD,IAAAF,EAAwB,OAAAD,EAAA5H,aAAA4H,EAAA7F,cAAAgG,EAAA,SAA0DE,YAAA,uBAAAnF,MAAA,CAA0C8S,UAAAhO,EAAApG,gBAA6BwB,GAAA,CAAKmS,gBAAAvN,EAAAhG,aAAkC,CAAAmG,EAAA,OAAYE,YAAA,+BAA0C,CAAAF,EAAA,OAAYE,YAAA,iBAA4B,CAAAL,EAAAO,GAAA,WAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,uCAAAixC,EAAAO,GAAA,KAAAJ,EAAA,iBAAAH,EAAAiO,GAAA,CAAiH5N,YAAA,aAAAjF,GAAA,CAA6B0M,OAAA9H,EAAAhG,aAAyB,iBAAAgG,EAAA1mE,QAAA,UAAA0mE,EAAAM,MACtgBP,EAAA,iCCDAntE,EAAA8C,EAAAuW,EAAA,sBAAA4uD,IAAAjoE,EAAA8C,EAAAuW,EAAA,sBAAA8zD,IAAA,IAAAlF,EAAA,WAA0B,IAAAmF,EAAAxgE,KAAaygE,EAAAD,EAAAE,eAA0BC,EAAAH,EAAAI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,OAAiBjrC,MAAA8qC,EAAA,WAAA9E,MAAA,CAA8BtjE,GAAA,QAAY,CAAAuoE,EAAA,OAAYE,YAAA,iBAAAnrC,MAAA8qC,EAAA,QAAA9E,MAAA,CAAwDtjE,GAAA,oBAAuBooE,EAAAO,GAAA,KAAAP,EAAA,eAAAG,EAAA,aAAAA,EAAA,OAA6DE,YAAA,oBAAAnF,MAAA,CAAuCtjE,GAAA,OAAWwjE,GAAA,CAAKr1B,MAAA,SAAAk7B,GAAyBjB,EAAAlL,iBAAoB,CAAAqL,EAAA,OAAYE,YAAA,aAAwB,CAAAF,EAAA,OAAYE,YAAA,OAAAnrC,MAAA8qC,EAAA,aAA2C,CAAAG,EAAA,OAAYE,YAAA,OAAAnrC,MAAA8qC,EAAA,gBAA6CA,EAAAO,GAAA,KAAAJ,EAAA,OAAwBjrC,MAAA8qC,EAAA,UAAA9E,MAAA,CAA6BhnE,IAAA8rE,EAAA9L,UAAgB8L,EAAAO,GAAA,KAAAJ,EAAA,OAA0BE,YAAA,QAAmB,CAAAF,EAAA,eAAoBE,YAAA,YAAAnF,MAAA,CAA+BwI,GAAA,CAAM/tE,KAAA,QAAeo4E,eAAA,SAAwB,CAAA/N,EAAAO,GAAA,eAAAP,EAAAa,GAAAb,EAAArL,UAAA,oBAAAqL,EAAAO,GAAA,KAAAJ,EAAA,OAAuFE,YAAA,cAAyB,CAAAF,EAAA,cAAmBE,YAAA,yBAAAjF,GAAA,CAAyC8S,QAAAlO,EAAAhL,oBAAiC6R,SAAA,CAAW9gC,MAAA,SAAAk7B,GAAyBA,EAAAp4C,sBAA4Bm3C,EAAAO,GAAA,KAAAJ,EAAA,eAAgCE,YAAA,gBAAAnF,MAAA,CAAmCwI,GAAA,CAAM/tE,KAAA,cAAoB,CAAAwqE,EAAA,KAAUE,YAAA,gCAAAnF,MAAA,CAAmD90B,MAAA45B,EAAAjxC,GAAA,wBAAmCixC,EAAAO,GAAA,KAAAP,EAAA7hD,aAAA,UAAA6hD,EAAA7hD,YAAAskC,KAAA0d,EAAA,KAA8EE,YAAA,gBAAAnF,MAAA,CAAmCljD,KAAA,iCAAAhjB,OAAA,WAA2D,CAAAmrE,EAAA,KAAUE,YAAA,kCAAAnF,MAAA,CAAqD90B,MAAA45B,EAAAjxC,GAAA,2BAAsCixC,EAAAM,KAAAN,EAAAO,GAAA,KAAAP,EAAA,YAAAG,EAAA,KAAmDE,YAAA,gBAAAnF,MAAA,CAAmCljD,KAAA,KAAWojD,GAAA,CAAKr1B,MAAA,SAAAk7B,GAAiD,OAAxBA,EAAAn4C,iBAAwBk3C,EAAAvZ,OAAAwa,MAA4B,CAAAd,EAAA,KAAUE,YAAA,mCAAAnF,MAAA,CAAsD90B,MAAA45B,EAAAjxC,GAAA,qBAAgCixC,EAAAM,MAAA,OAAAN,EAAAO,GAAA,KAAAJ,EAAA,OAA2CE,YAAA,YAAAnF,MAAA,CAA+BtjE,GAAA,YAAgB,CAAAuoE,EAAA,OAAYE,YAAA,gCAA2C,CAAAF,EAAA,OAAYE,YAAA,kBAA6B,CAAAF,EAAA,OAAYE,YAAA,oBAA+B,CAAAF,EAAA,OAAYE,YAAA,WAAsB,CAAAF,EAAA,cAAAH,EAAAO,GAAA,KAAAP,EAAApL,eAAAoL,EAAAM,KAAAH,EAAA,OAAAA,EAAA,aAAAH,EAAAO,GAAA,KAAAP,EAAA,0BAAAG,EAAA,2BAAAH,EAAAM,KAAAN,EAAAO,GAAA,MAAAP,EAAA7hD,aAAA6hD,EAAAhP,kBAAAmP,EAAA,kBAAAH,EAAAM,KAAAN,EAAAO,GAAA,KAAAP,EAAA7hD,aAAA6hD,EAAAzO,mBAAA4O,EAAA,uBAAAH,EAAAM,KAAAN,EAAAO,GAAA,KAAAP,EAAA,YAAAG,EAAA,iBAAAH,EAAAM,MAAA,aAAAN,EAAAO,GAAA,KAAAJ,EAAA,OAA2bE,YAAA,QAAmB,CAAAL,EAAA7hD,YAAwJ6hD,EAAAM,KAAxJH,EAAA,OAA+BE,YAAA,kCAA6C,CAAAF,EAAA,eAAoBE,YAAA,aAAAnF,MAAA,CAAgCwI,GAAA,CAAM/tE,KAAA,WAAkB,CAAAqqE,EAAAO,GAAA,eAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,mCAAAixC,EAAAO,GAAA,KAAAJ,EAAA,cAA+GjF,MAAA,CAAOvlE,KAAA,SAAe,CAAAwqE,EAAA,uBAAAH,EAAAO,GAAA,KAAAJ,EAAA,mBAAAH,EAAAO,GAAA,KAAAP,EAAA7hD,aAAA6hD,EAAA9P,KAAAiQ,EAAA,cAAyHE,YAAA,8BAAAnF,MAAA,CAAiDiS,UAAA,KAAiBnN,EAAAM,KAAAN,EAAAO,GAAA,KAAAJ,EAAA,0BAAAH,EAAAO,GAAA,KAAAJ,EAAA,sBAAAH,EAAAO,GAAA,KAAAJ,EAAA,mBAAAH,EAAAO,GAAA,KAAAJ,EAAA,iBAA2JjF,MAAA,CAAOvlE,KAAA,YAAgB,IACnkGoqE,EAAA,qGCAAntE,EAAA,wDAEA,IAqCMomC,EAAsB,CAC1B72B,WAtCiB,SAAA/I,GAAwI,IAArI8kB,EAAqI9kB,EAArI8kB,MAAOpjB,EAA8H1B,EAA9H0B,OAAQuH,EAAsHjJ,EAAtHiJ,YAAaC,EAAyGlJ,EAAzGkJ,WAAYC,EAA6FnJ,EAA7FmJ,UAAWC,EAAkFpJ,EAAlFoJ,KAAkF2rE,EAAA/0E,EAA5E6D,aAA4E9H,IAAAg5E,EAApE,GAAoEA,EAAAC,EAAAh1E,EAAhEuJ,yBAAgExN,IAAAi5E,OAA5Cj5E,EAA4Ci5E,EAAAC,EAAAj1E,EAAjCwJ,mBAAiCzN,IAAAk5E,EAAnB,aAAmBA,EACnJ3rE,GAAW,EAAAtF,EAAAvD,SAAIoD,EAAO,MAE5B,OAAOrB,UAAWuG,WAAW,CAC3BjJ,YAAaglB,EAAMnC,MAAMnd,MAAMuf,YAAYjlB,YAC3C4B,SACAuH,cACAC,aACAC,YACAG,WACAC,oBACAC,cACAJ,SACChI,KAAK,SAACvJ,GASL,OARKA,EAAKqD,OACR4pB,EAAMhC,SAAS,iBAAkB,CAC/BrQ,SAAU,CAAC5a,GACXgL,SAAU,UACVmiB,iBAAiB,EACjBkwD,YAAY,IAGTr9E,IAER6mB,MAAM,SAAC9gB,GACN,MAAO,CACL1C,MAAO0C,EAAI/B,YAajB2O,YARkB,SAAA7J,GAAyB,IAAtBmkB,EAAsBnkB,EAAtBmkB,MAAOpa,EAAe/J,EAAf+J,SACtB5K,EAAcglB,EAAMnC,MAAMnd,MAAMuf,YAAYjlB,YAElD,OAAO0C,UAAWgI,YAAY,CAAE1K,cAAa4K,yBAQhCk1B,wKC3CfpmC,EAAA,wDAEA,IAaM8rB,EAAiB,SAAA3kB,GASjB,IARJmkB,EAQInkB,EARJmkB,MACAhlB,EAOIa,EAPJb,YAOIq1E,EAAAx0E,EANJkC,gBAMI9G,IAAAo5E,EANO,UAMPA,EAAAC,EAAAz0E,EALJylB,aAKIrqB,IAAAq5E,KAAAC,EAAA10E,EAJJqkB,uBAIIjpB,IAAAs5E,KAAAC,EAAA30E,EAHJwC,cAGIpH,IAAAu5E,KAAAC,EAAA50E,EAFJ7B,WAEI/C,IAAAw5E,KADJtyE,EACItC,EADJsC,MAEMb,EAAO,CAAES,WAAU/C,eACnB8iE,EAAY99C,EAAM89C,WAAa99C,EAAMnC,MACnC+D,EAAY5B,EAAZ4B,QACF8uD,EAAe5S,EAAUnwD,SAASmQ,WAAU,EAAA6yD,EAAAh1E,SAAUoC,IACtDw/D,EAAiB37C,EAAQC,aAAa07C,eAExCj8C,EACFhkB,EAAA,MAAgBa,GAASuyE,EAAaE,MAEtCtzE,EAAA,MAAgBozE,EAAazzE,MAG/BK,EAAA,OAAiBe,EACjBf,EAAA,IAActD,EACdsD,EAAA,WAAqBigE,EAErB,IAAMsT,EAAyBH,EAAa/iE,SAASpa,OAErD,OAAOmK,UAAWG,cAAcP,GAC7BhB,KAAK,SAACqR,GAKL,OAJK2T,GAAS3T,EAASpa,QAAU,KAAOm9E,EAAa/uD,SAAWkvD,EAAyB,GACvF7wD,EAAMhC,SAAS,aAAc,CAAEjgB,SAAUA,EAAUrE,GAAIg3E,EAAazzE,QA5C7D,SAAA/B,GAA4D,IAAzD8kB,EAAyD9kB,EAAzD8kB,MAAOrS,EAAkDzS,EAAlDyS,SAAU5P,EAAwC7C,EAAxC6C,SAAUmiB,EAA8BhlB,EAA9BglB,gBAAiB7hB,EAAanD,EAAbmD,OACtDyyE,GAAa,EAAAH,EAAAh1E,SAAUoC,GAE7BiiB,EAAMhC,SAAS,WAAY,CAAE9lB,OAAO,IAEpC8nB,EAAMhC,SAAS,iBAAkB,CAC/BjgB,SAAU+yE,EACVzyE,SACAsP,WACAuS,oBAqCE6wD,CAAO,CAAE/wD,QAAOrS,WAAU5P,WAAUmiB,kBAAiB7hB,WAC9CsP,GACN,kBAAMqS,EAAMhC,SAAS,WAAY,CAAE9lB,OAAO,OAY3CqoB,EAAkB,CACtBC,iBACA89C,cAXoB,SAAAxiE,GAA+E,IAAAk1E,EAAAl1E,EAA5EiC,gBAA4E9G,IAAA+5E,EAAjE,UAAiEA,EAAtDh2E,EAAsDc,EAAtDd,YAAaglB,EAAyClkB,EAAzCkkB,MAAyCixD,EAAAn1E,EAAlCuC,cAAkCpH,IAAAg6E,KAAAC,EAAAp1E,EAAlB9B,WAAkB/C,IAAAi6E,KAE7FR,GADY1wD,EAAM89C,WAAa99C,EAAMnC,OACZlQ,SAASmQ,WAAU,EAAA6yD,EAAAh1E,SAAUoC,IACtDmiB,EAA0D,IAAxCwwD,EAAa/wD,gBAAgBpsB,OACrDm9E,EAAaryE,OAASA,EACtBmiB,EAAe,CAAEziB,WAAU/C,cAAaglB,QAAOE,kBAAiB7hB,SAAQrE,QAExE,OAAOm3E,YADqB,kBAAM3wD,EAAe,CAAEziB,WAAU/C,cAAaglB,QAAO3hB,SAAQrE,SACjD,iBAO3BumB,sGCrEf7rB,EAAA,wDAEA,IAMM8rB,EAAiB,SAAA3kB,GAA2C,IAAxCmkB,EAAwCnkB,EAAxCmkB,MAAOhlB,EAAiCa,EAAjCb,YAAiCs1E,EAAAz0E,EAApBylB,aAAoBrqB,IAAAq5E,KAC1DhzE,EAAO,CAAEtC,eACP4mB,EAAY5B,EAAZ4B,QAEF8uD,GADY1wD,EAAM89C,WAAa99C,EAAMnC,OACZlQ,SAAS9O,cAClC0+D,EAAiB37C,EAAQC,aAAa07C,eAK5C,GAHAjgE,EAAA,WAAqBigE,EAErBjgE,EAAA,SAAmB,gBACfgkB,EAIF,OAHIovD,EAAaE,QAAUx7D,OAAOg8D,oBAChC9zE,EAAA,MAAgBozE,EAAaE,OAExBS,EAAmB,CAAErxD,QAAO1iB,OAAMgkB,UAGrCovD,EAAazzE,QAAUmY,OAAOg8D,oBAChC9zE,EAAA,MAAgBozE,EAAazzE,OAE/B,IAAM7I,EAASi9E,EAAmB,CAAErxD,QAAO1iB,OAAMgkB,UAI3CgwD,EADgBZ,EAAa39E,KACNwK,OAAO,SAAA7E,GAAA,OAAMA,EAAE+mE,OAAM7jE,IAAI,SAAAlD,GAAA,OAAKA,EAAEgB,KAM7D,OALI43E,EAAO/9E,SACT+J,EAAA,MAAgBuS,KAAK+0B,IAAL1wC,MAAA2b,MAAA,EAAAylB,EAAA35B,SAAY21E,IAC5BD,EAAmB,CAAErxD,QAAO1iB,OAAMgkB,WAG7BltB,GAILi9E,EAAqB,SAAAv1E,GAA4B,IAAzBkkB,EAAyBlkB,EAAzBkkB,MAAO1iB,EAAkBxB,EAAlBwB,KAAMgkB,EAAYxlB,EAAZwlB,MACzC,OAAO5jB,UAAWG,cAAcP,GAC7BhB,KAAK,SAACuC,GAEL,OA5CS,SAAA3D,GAAqC,IAAlC8kB,EAAkC9kB,EAAlC8kB,MAAOnhB,EAA2B3D,EAA3B2D,cAAeyiB,EAAYpmB,EAAZomB,MACtCtB,EAAMhC,SAAS,wBAAyB,CAAE9lB,OAAO,IAEjD8nB,EAAMhC,SAAS,sBAAuB,CAAEnf,gBAAeyiB,UAwCnDyvD,CAAO,CAAE/wD,QAAOnhB,gBAAeyiB,UACxBziB,GACN,kBAAMmhB,EAAMhC,SAAS,wBAAyB,CAAE9lB,OAAO,MACzD0hB,MAAM,kBAAMoG,EAAMhC,SAAS,wBAAyB,CAAE9lB,OAAO,OAa5Dq4C,EAAuB,CAC3B/vB,iBACA89C,cAZoB,SAAAtxD,GAA4B,IAAzBhS,EAAyBgS,EAAzBhS,YAAaglB,EAAYhT,EAAZgT,MACpCQ,EAAe,CAAExlB,cAAaglB,UAM9B,OADA9oB,WAAW,kBAAM8oB,EAAMhC,SAAS,2BAA2B,IAAQ,KAC5DmzD,YALqB,kBAAM3wD,EAAe,CAAExlB,cAAaglB,WAKxB,iBAQ3BuwB,mFCzDf,IAAMwhB,EAAW,CACfwf,GAAIC,EAAQ,KACZC,GAAID,EAAQ,KACZE,GAAIF,EAAQ,KACZG,GAAIH,EAAQ,KACZI,GAAIJ,EAAQ,KACZK,GAAIL,EAAQ,KACZM,GAAIN,EAAQ,KACZO,GAAIP,EAAQ,KACZQ,GAAIR,EAAQ,KACZS,GAAIT,EAAQ,KACZU,GAAIV,EAAQ,KACZW,GAAIX,EAAQ,KACZY,GAAIZ,EAAQ,KACZa,GAAIb,EAAQ,KACZc,GAAId,EAAQ,KACZhxB,GAAIgxB,EAAQ,KACZ/wB,QAAS+wB,EAAQ,KACjBe,GAAIf,EAAQ,KACZgB,GAAIhB,EAAQ,KACZiB,GAAIjB,EAAQ,KACZkB,GAAIlB,EAAQ,KACZmB,GAAInB,EAAQ,KACZoB,GAAIpB,EAAQ,KACZqB,GAAIrB,EAAQ,KACZsB,GAAItB,EAAQ,KACZuB,GAAIvB,EAAQ,KACZ9wB,GAAI8wB,EAAQ,gBAGCzf,kCCvCfr9D,EAAAqD,EAAAgW,GAAA,IAAAilE,EAAAt+E,EAAA,KAAAu+E,EAAAv+E,EAAAgE,EAAAs6E,GAAA,QAAA9kE,KAAA8kE,EAAA,YAAA9kE,GAAA,SAAA1V,GAAA9D,EAAA8C,EAAAuW,EAAAvV,EAAA,kBAAAw6E,EAAAx6E,KAAA,CAAA0V,GAAA,IAAAglE,EAAAx+E,EAAA,KAAA0Z,EAAA1Z,EAAA,GAQA,IAEA2Z,EAVA,SAAAC,GACE5Z,EAAQ,MAeV6Z,EAAgB7a,OAAA0a,EAAA,EAAA1a,CACdu/E,EAAAzkE,EACA0kE,EAAA,EACAA,EAAA,GAXF,EAaA7kE,EATA,KAEA,MAYeN,EAAA,QAAAQ,EAAiB,sCC1BhC7Z,EAAAqD,EAAAgW,GAAA,IAAAolE,EAAAz+E,EAAA,KAAA0+E,EAAA1+E,EAAAgE,EAAAy6E,GAAA,QAAAjlE,KAAAilE,EAAA,YAAAjlE,GAAA,SAAA1V,GAAA9D,EAAA8C,EAAAuW,EAAAvV,EAAA,kBAAA26E,EAAA36E,KAAA,CAAA0V,GAAA,IAAAmlE,EAAA3+E,EAAA,KAAA0Z,EAAA1Z,EAAA,GAaA6Z,EAAgB7a,OAAA0a,EAAA,EAAA1a,CACd0/E,EAAA5kE,EACA6kE,EAAA,EACAA,EAAA,GAXF,EAEA,KAEA,KAEA,MAYetlE,EAAA,QAAAQ,EAAiB,uFCvBzB,IAAM+kE,WAAS,IACT9uC,WAAS,GAAK8uC,EACd7uC,SAAO,GAAKD,EACZE,QAAM,GAAKD,EACX8uC,SAAO,EAAI7uC,EACX8uC,UAAQ,GAAK9uC,EACb+uC,SAAO,OAAS/uC,EAEhBjT,iBAAe,SAACiiD,GAA2B,IAArB1hD,EAAqBzwB,UAAAhO,OAAA,QAAA0D,IAAAsK,UAAA,GAAAA,UAAA,GAAN,EAC5B,iBAATmyE,IAAmBA,EAAO93D,KAAKiW,MAAM6hD,IAChD,IAAM/iD,EAAQ/U,KAAK+3D,MAAQD,EAAO7jE,KAAKs0B,MAAQt0B,KAAKY,KAC9CjZ,EAAIqY,KAAK+jE,IAAIh4D,KAAK+3D,MAAQD,GAC5B37E,EAAI,CAAEi0B,IAAK2E,EAAMn5B,EAAIi8E,GAAOj7E,IAAK,cAyBrC,OAxBIhB,EAAIw6B,EAAeshD,GACrBv7E,EAAEi0B,IAAM,EACRj0B,EAAES,IAAM,YACChB,EAAIgtC,GACbzsC,EAAEi0B,IAAM2E,EAAMn5B,EAAI87E,GAClBv7E,EAAES,IAAM,gBACChB,EAAIitC,GACb1sC,EAAEi0B,IAAM2E,EAAMn5B,EAAIgtC,GAClBzsC,EAAES,IAAM,gBACChB,EAAIktC,GACb3sC,EAAEi0B,IAAM2E,EAAMn5B,EAAIitC,GAClB1sC,EAAES,IAAM,cACChB,EAAI+7E,GACbx7E,EAAEi0B,IAAM2E,EAAMn5B,EAAIktC,GAClB3sC,EAAES,IAAM,aACChB,EAAIg8E,GACbz7E,EAAEi0B,IAAM2E,EAAMn5B,EAAI+7E,GAClBx7E,EAAES,IAAM,cACChB,EAAIi8E,IACb17E,EAAEi0B,IAAM2E,EAAMn5B,EAAIg8E,GAClBz7E,EAAES,IAAM,eAGI,IAAVT,EAAEi0B,MAAWj0B,EAAES,IAAMT,EAAES,IAAIW,MAAM,GAAI,IAClCpB,GAGIm6B,oBAAoB,SAACwhD,GAA2B,IAArB1hD,EAAqBzwB,UAAAhO,OAAA,QAAA0D,IAAAsK,UAAA,GAAAA,UAAA,GAAN,EAC/CxJ,EAAI05B,EAAaiiD,EAAM1hD,GAE7B,OADAj6B,EAAES,KAAO,SACFT,mFC3CT,IAaMyiC,EAAwB,CAC5BC,eAdqB,SAACzO,GACtB,IAAI6nD,EAEAC,EAAQ,CAAC,IAAK,MAAO,MAAO,MAAO,OACvC,OAAI9nD,EAAM,EACDA,EAAM,IAAM8nD,EAAM,IAG3BD,EAAWhkE,KAAK+0B,IAAI/0B,KAAKs0B,MAAMt0B,KAAKkkE,IAAI/nD,GAAOnc,KAAKkkE,IAAI,OAAQD,EAAMvgF,OAAS,GAGxE,CAAEy4B,IAFTA,EAAoD,GAA7CA,EAAMnc,KAAKC,IAAI,KAAM+jE,IAAWG,QAAQ,GAE5Bp5C,KADZk5C,EAAMD,iBAMAr5C,gCChBf9lC,EAAAqD,EAAAgW,GAAA,IAAAkmE,EAAAv/E,EAAA,KAAAw/E,EAAAx/E,EAAAgE,EAAAu7E,GAAA,QAAA/lE,KAAA+lE,EAAA,YAAA/lE,GAAA,SAAA1V,GAAA9D,EAAA8C,EAAAuW,EAAAvV,EAAA,kBAAAy7E,EAAAz7E,KAAA,CAAA0V,GAAA,IAAAimE,EAAAz/E,EAAA,KAAA0Z,EAAA1Z,EAAA,GAQA,IAEA2Z,EAVA,SAAAC,GACE5Z,EAAQ,MAeV6Z,EAAgB7a,OAAA0a,EAAA,EAAA1a,CACdwgF,EAAA1lE,EACA2lE,EAAA,EACAA,EAAA,GAXF,EAaA9lE,EATA,KAEA,MAYeN,EAAA,QAAAQ,EAAiB,sCC1BhC7Z,EAAAqD,EAAAgW,GAAA,IAAAqmE,EAAA1/E,EAAA,KAAA2/E,EAAA3/E,EAAAgE,EAAA07E,GAAA,QAAAlmE,KAAAkmE,EAAA,YAAAlmE,GAAA,SAAA1V,GAAA9D,EAAA8C,EAAAuW,EAAAvV,EAAA,kBAAA47E,EAAA57E,KAAA,CAAA0V,GAAA,IAAAomE,EAAA5/E,EAAA,KAAA0Z,EAAA1Z,EAAA,GAQA,IAEA2Z,EAVA,SAAAC,GACE5Z,EAAQ,MAeV6Z,EAAgB7a,OAAA0a,EAAA,EAAA1a,CACd2gF,EAAA7lE,EACA8lE,EAAA,EACAA,EAAA,GAXF,EAaAjmE,EATA,KAEA,MAYeN,EAAA,QAAAQ,EAAiB,uFC1BnB4qB,aAAa,SAAbA,EAAco7C,EAAOC,GAA6D,IAAAt5E,EAAAqG,UAAAhO,OAAA,QAAA0D,IAAAsK,UAAA,GAAAA,UAAA,GAA7B,GAA6BkzE,EAAAv5E,EAAnD4d,WAAmD7hB,IAAAw9E,EAA7C,EAA6CA,EAAAC,EAAAx5E,EAA1Cy5E,YAA0C19E,IAAAy9E,EAAnC,EAAmCA,EAAzBE,IAAyBrzE,UAAAhO,OAAA,QAAA0D,IAAAsK,UAAA,KAAAA,UAAA,GACvFnN,EAAS,CACb0kB,IAAKA,EAAMy7D,EAAM3zC,UACjB+zC,KAAMA,EAAOJ,EAAMM,YAErB,IAAKD,GAAiBL,IAAUt7E,OAAQ,KAAA67E,EACFC,EAAYR,GAAxCS,EAD8BF,EAC9BE,WAAYC,EADkBH,EAClBG,YACpB7gF,EAAO0kB,KAAO87D,EAAgB,EAAII,EAClC5gF,EAAOugF,MAAQC,EAAgB,EAAIK,EAGrC,GAAIV,EAAMW,eAAiBV,IAAWv7E,QAAUu7E,EAAOx5C,SAASu5C,EAAMW,eAAiBV,IAAWD,EAAMW,cACtG,OAAO/7C,EAAWo7C,EAAMW,aAAcV,EAAQpgF,GAAQ,GAEtD,GAAIogF,IAAWv7E,OAAQ,KAAAk8E,EACeJ,EAAYP,GAAxCQ,EADaG,EACbH,WAAYC,EADCE,EACDF,YACpB7gF,EAAO0kB,KAAOk8D,EACd5gF,EAAOugF,MAAQM,EAEjB,OAAO7gF,GAnBJ,IAuBD2gF,EAAc,SAACh+C,GACnB,IAAM0B,EAAgBx/B,OAAOmhB,iBAAiB2c,GAAI,eAC5Ci+C,EAAa5/D,OAAOqjB,EAAcF,UAAU,EAAGE,EAAcllC,OAAS,IACtE6hF,EAAiBn8E,OAAOmhB,iBAAiB2c,GAAI,gBAGnD,MAAO,CAAEi+C,aAAYC,YAFD7/D,OAAOggE,EAAe78C,UAAU,EAAG68C,EAAe7hF,OAAS,yICdjF,IAAM8hF,GAAqB,sCAAA15E,SAAS,SAAC5I,EAAMugB,GACzCvgB,EAAKyiC,gBAAgBliB,IACpB,IAAK,CAAEunD,SAAS,EAAMC,UAAU,cAEpB,SAAA/nE,GAAA,OAAQ,SAAAugB,GACrB,IAAMgiE,EAAYhiE,EAAM,GACxB,MAAkB,MAAdgiE,GAAqBviF,EAAKsiC,MACrBkgD,EAAaxiF,EAAKsiC,MAAlBkgD,CAAyBjiE,GAEhB,MAAdgiE,GAAqBviF,EAAK2N,MACrB80E,EAAaziF,EAAbyiF,CAAmBliE,GAErB,KAGF,IAAMiiE,iBAAe,SAAAxyC,GAAA,OAAU,SAAAzvB,GACpC,IAAMmiE,EAAWniE,EAAM0N,cAAc46C,OAAO,GAC5C,OAAO74B,EACJxlC,OAAO,SAAArC,GAAA,OAAAA,EAAG+lC,YAA8BjgB,cAAc3L,WAAWogE,KACjEvnC,KAAK,SAAC1/B,EAAG2B,GACR,IAAIulE,EAAS,EACTC,EAAS,EASb,OANAD,GAAUlnE,EAAE+uB,SAAW,GAAK,GAC5Bo4C,GAAUxlE,EAAEotB,SAAW,GAAK,GAKZm4C,GAFOlnE,EAAEyyB,YAAc9wB,EAAE8wB,YAAc,GAAK,OAMrDu0C,iBAAe,SAAAziF,GAAA,OAAQ,SAAAugB,GAClC,IAAMmiE,EAAWniE,EAAM0N,cAAc46C,OAAO,GAGtCga,EAFQ7iF,EAAK2N,MAEInD,OACrB,SAAAK,GAAA,OACEA,EAAKqJ,YAAY+Z,cAAc3L,WAAWogE,IAC1C73E,EAAKnG,KAAKupB,cAAc3L,WAAWogE,KAMrCt8E,MAAM,EAAG,IAAI+0C,KAAK,SAAC1/B,EAAG2B,GACtB,IAAIulE,EAAS,EACTC,EAAS,EAgBb,OAbAD,GAAUlnE,EAAEvH,YAAY+Z,cAAc3L,WAAWogE,GAAY,EAAI,EACjEE,GAAUxlE,EAAElJ,YAAY+Z,cAAc3L,WAAWogE,GAAY,EAAI,EAGjEC,GAAUlnE,EAAE/W,KAAKupB,cAAc3L,WAAWogE,GAAY,EAAI,EAGzB,KAFjCE,GAAUxlE,EAAE1Y,KAAKupB,cAAc3L,WAAWogE,GAAY,EAAI,GAEnCC,IAGIlnE,EAAE/W,KAAO0Y,EAAE1Y,KAAO,GAAK,IACjB+W,EAAEvH,YAAckJ,EAAElJ,YAAc,GAAK,KAIrErL,IAAI,SAAAC,GAAA,IAAGoL,EAAHpL,EAAGoL,YAAH,MAAwD,CAC7Dg6B,YAAah6B,EACb+9D,WAFKnpE,EAAgBpE,KAGrB8lC,SAHK1hC,EAAsB2rC,2BAI3B1I,YAAa,IAAM73B,EAAc,OAOnC,OAHwB,IAApB2uE,EAASriF,QAAgBR,EAAKyiC,iBAChC6/C,EAAmBtiF,EAAM0iF,GAEpBG,kCC3FTlhF,EAAAqD,EAAAgW,GAAA,IAAA8nE,EAAAnhF,EAAA,KAAAohF,EAAAphF,EAAAgE,EAAAm9E,GAAA,QAAA3nE,KAAA2nE,EAAA,YAAA3nE,GAAA,SAAA1V,GAAA9D,EAAA8C,EAAAuW,EAAAvV,EAAA,kBAAAq9E,EAAAr9E,KAAA,CAAA0V,GAAA,IAAA6nE,EAAArhF,EAAA,KAAA0Z,EAAA1Z,EAAA,GAQA,IAEA2Z,EAVA,SAAAC,GACE5Z,EAAQ,MAeV6Z,EAAgB7a,OAAA0a,EAAA,EAAA1a,CACdoiF,EAAAtnE,EACAunE,EAAA,EACAA,EAAA,GAXF,EAaA1nE,EATA,KAEA,MAYeN,EAAA,QAAAQ,EAAiB,sCC1BhC7Z,EAAAqD,EAAAgW,GAAA,IAAAioE,EAAAthF,EAAA,KAAAuhF,EAAAvhF,EAAAgE,EAAAs9E,GAAA,QAAA9nE,KAAA8nE,EAAA,YAAA9nE,GAAA,SAAA1V,GAAA9D,EAAA8C,EAAAuW,EAAAvV,EAAA,kBAAAw9E,EAAAx9E,KAAA,CAAA0V,GAAA,IAAAgoE,EAAAxhF,EAAA,KAAA0Z,EAAA1Z,EAAA,GAaA6Z,EAAgB7a,OAAA0a,EAAA,EAAA1a,CACduiF,EAAAznE,EACA0nE,EAAA,EACAA,EAAA,GAXF,EAEA,KAEA,KAEA,MAYenoE,EAAA,QAAAQ,EAAiB,iICvBhC,IAAAgE,EAAA7d,EAAA,MA6CEkvB,eAPqB,SAAChmB,GACtB,MAAO,WAAaA,EAAKqJ,YACtBmhB,QAAQ,MAAO,KACfA,QAAQ,KAAM,WAKjBlE,eA7CqB,SAACiyD,GACtB,QAAcl/E,IAAVk/E,EAAJ,CADgC,IAExBlhE,EAAgBkhE,EAAhBlhE,MAAOre,EAASu/E,EAATv/E,KACf,GAAqB,iBAAVqe,EAAX,CACA,IAAM/D,GAAM,EAAAqB,EAAA5B,SAAQsE,GACpB,GAAW,MAAP/D,EAAJ,CACA,IAAMklE,SAAoBvmE,KAAKs0B,MAAMjzB,EAAInZ,GAAnC,KAA0C8X,KAAKs0B,MAAMjzB,EAAIhB,GAAzD,KAAgEL,KAAKs0B,MAAMjzB,EAAIf,GAA/E,IACAm1B,UAAoBz1B,KAAKs0B,MAAMjzB,EAAInZ,GAAnC,KAA0C8X,KAAKs0B,MAAMjzB,EAAIhB,GAAzD,KAAgEL,KAAKs0B,MAAMjzB,EAAIf,GAA/E,QACAkmE,UAAqBxmE,KAAKs0B,MAAMjzB,EAAInZ,GAApC,KAA2C8X,KAAKs0B,MAAMjzB,EAAIhB,GAA1D,KAAiEL,KAAKs0B,MAAMjzB,EAAIf,GAAhF,QACN,MAAa,YAATvZ,EACK,CACL4uC,gBAAiB,CACf,oCACGF,EAFY,KAGZA,EAHY,SAIZ+wC,EAJY,SAKZA,EALY,SAMfp6E,KAAK,KACPq6E,mBAAoB,OAEJ,UAAT1/E,EACF,CACL2uC,gBAAiB8wC,GAED,SAATz/E,EACF,CACL4uC,gBAAiB,CACf,4BACG4wC,EAFY,KAGZA,EAHY,2BAKfn6E,KAAK,KACPq6E,mBAAoB,YARjB,uICzBT,MAAAC,EAAA7hF,EAAA,wCAEA,IAAM8hF,EAAsB,SAACjoE,GAAD,OAAgB,EAAAkoE,EAAA96E,SAAW4S,GAAcA,EAAUzT,QAAUyT,KAKvFioE,wBACAE,kBAJwB,SAACnoE,GAAD,OAAeioE,EAAoBjoE,GAAWsQ,qCCJxEnqB,EAAAqD,EAAAgW,GAAA,IAAA4oE,EAAAjiF,EAAA,KAAAkiF,EAAAliF,EAAAgE,EAAAi+E,GAAA,QAAAzoE,KAAAyoE,EAAA,YAAAzoE,GAAA,SAAA1V,GAAA9D,EAAA8C,EAAAuW,EAAAvV,EAAA,kBAAAm+E,EAAAn+E,KAAA,CAAA0V,GAAA,IAAA2oE,EAAAniF,EAAA,KAAA0Z,EAAA1Z,EAAA,GAQA,IAEA2Z,EAVA,SAAAC,GACE5Z,EAAQ,MAeV6Z,EAAgB7a,OAAA0a,EAAA,EAAA1a,CACdkjF,EAAApoE,EACAqoE,EAAA,EACAA,EAAA,GAXF,EAaAxoE,EATA,KAEA,MAYeN,EAAA,QAAAQ,EAAiB,sCC1BhC7Z,EAAAqD,EAAAgW,GAAA,IAAA+oE,EAAApiF,EAAA,KAAAqiF,EAAAriF,EAAAgE,EAAAo+E,GAAA,QAAA5oE,KAAA4oE,EAAA,YAAA5oE,GAAA,SAAA1V,GAAA9D,EAAA8C,EAAAuW,EAAAvV,EAAA,kBAAAs+E,EAAAt+E,KAAA,CAAA0V,GAAA,IAAA8oE,EAAAtiF,EAAA,KAAA0Z,EAAA1Z,EAAA,GASA,IAEA2Z,EAXA,SAAAC,GACE5Z,EAAQ,MAgBV6Z,EAAgB7a,OAAA0a,EAAA,EAAA1a,CACdqjF,EAAAvoE,EACAwoE,EAAA,EACAA,EAAA,GAXF,EAaA3oE,EATA,KAEA,MAYeN,EAAA,QAAAQ,EAAiB,sCC3BhC7Z,EAAAqD,EAAAgW,GAAA,IAAAkpE,EAAAviF,EAAA,KAAAwiF,EAAAxiF,EAAAgE,EAAAu+E,GAAA,QAAA/oE,KAAA+oE,EAAA,YAAA/oE,GAAA,SAAA1V,GAAA9D,EAAA8C,EAAAuW,EAAAvV,EAAA,kBAAAy+E,EAAAz+E,KAAA,CAAA0V,GAAA,IAAAipE,EAAAziF,EAAA,KAAA0Z,EAAA1Z,EAAA,GAcA6Z,EAAgB7a,OAAA0a,EAAA,EAAA1a,CACdwjF,EAAA1oE,EACA2oE,EAAA,EACAA,EAAA,GAXF,EAEA,KAEA,KAEA,MAYeppE,EAAA,QAAAQ,EAAiB,uCCxBhC7Z,EAAAqD,EAAAgW,GAAA,IAAAqpE,EAAA1iF,EAAA,KAAA2iF,EAAA3iF,EAAAgE,EAAA0+E,GAAA,QAAAlpE,KAAAkpE,EAAA,YAAAlpE,GAAA,SAAA1V,GAAA9D,EAAA8C,EAAAuW,EAAAvV,EAAA,kBAAA4+E,EAAA5+E,KAAA,CAAA0V,GAAA,IAAAopE,EAAA5iF,EAAA,KAAA0Z,EAAA1Z,EAAA,GAaA6Z,EAAgB7a,OAAA0a,EAAA,EAAA1a,CACd2jF,EAAA7oE,EACA8oE,EAAA,EACAA,EAAA,GAXF,EAEA,KAEA,KAEA,MAYevpE,EAAA,QAAAQ,EAAiB,yGCvBhC7Z,EAAA,UACAA,EAAA,UACAA,EAAA,MACAouB,EAAApuB,EAAA,sDAEA,IAAMsiE,EAAW,CACfv/D,KAAM,WACNklE,OAFe,SAEPhnE,GACN,OAAOA,EAAc,YAAa,CAAE4hF,GAAIj2E,KAAKk2E,YAE/C75D,wBACE65D,SADF,WAEI,OAAIl2E,KAAKm2E,aAAuB,cAC5Bn2E,KAAKo2E,iBAA2B,kBAC7B,eAEN,EAAA50D,EAAAkG,YAAW,WAAY,CAAC,eAAgB,sBAE7CvL,WAAY,CACVk6D,0BACAC,sBACApnB,gCAIWwG,iFCzBf,IAgCM6gB,EAAM,CACVh7D,cAjCoB,SAAA3hB,GAAuC,IAApC4gB,EAAoC5gB,EAApC4gB,IAAKJ,EAA+BxgB,EAA/BwgB,SAAUoB,EAAqB5hB,EAArB4hB,SAAUJ,EAAWxhB,EAAXwhB,KAC1C7hB,EAAS6gB,EAAT,uBACA1Z,EAAO,IAAI/I,OAAO0L,SAQxB,OANA3C,EAAK6C,OAAO,YAAaiX,EAAIC,WAC7B/Z,EAAK6C,OAAO,gBAAiBiX,EAAIE,eACjCha,EAAK6C,OAAO,YAAaiY,GACzB9a,EAAK6C,OAAO,OAAQ6X,GACpB1a,EAAK6C,OAAO,iBAAkB,QAEvB5L,OAAO2B,MAAMC,EAAK,CACvBM,OAAQ,OACRe,KAAM8F,IACL1F,KAAK,SAACvJ,GAAD,OAAUA,EAAK0J,UAqBvBsgB,mBAlByB,SAAAlhB,GAAuC,IAApCigB,EAAoCjgB,EAApCigB,IAAKJ,EAA+B7f,EAA/B6f,SAAUoB,EAAqBjhB,EAArBihB,SAAUJ,EAAW7gB,EAAX6gB,KAC/C7hB,EAAS6gB,EAAT,uBACA1Z,EAAO,IAAI/I,OAAO0L,SAQxB,OANA3C,EAAK6C,OAAO,YAAaiX,EAAIC,WAC7B/Z,EAAK6C,OAAO,gBAAiBiX,EAAIE,eACjCha,EAAK6C,OAAO,YAAaiY,GACzB9a,EAAK6C,OAAO,OAAQ6X,GACpB1a,EAAK6C,OAAO,iBAAkB,YAEvB5L,OAAO2B,MAAMC,EAAK,CACvBM,OAAQ,OACRe,KAAM8F,IACL1F,KAAK,SAACvJ,GAAD,OAAUA,EAAK0J,qBAQVo7E,gCCrCfnjF,EAAAqD,EAAAgW,GAAA,IAAA+pE,EAAApjF,EAAA,KAAAqjF,EAAArjF,EAAAgE,EAAAo/E,GAAA,QAAA5pE,KAAA4pE,EAAA,YAAA5pE,GAAA,SAAA1V,GAAA9D,EAAA8C,EAAAuW,EAAAvV,EAAA,kBAAAs/E,EAAAt/E,KAAA,CAAA0V,GAAA,IAAA8pE,EAAAtjF,EAAA,KAAA0Z,EAAA1Z,EAAA,GAQA,IAEA2Z,EAVA,SAAAC,GACE5Z,EAAQ,MAeV6Z,EAAgB7a,OAAA0a,EAAA,EAAA1a,CACdqkF,EAAAvpE,EACAwpE,EAAA,EACAA,EAAA,GAXF,EAaA3pE,EATA,KAEA,MAYeN,EAAA,QAAAQ,EAAiB,sCC1BhC7Z,EAAAqD,EAAAgW,GAAA,IAAAkqE,EAAAvjF,EAAA,KAAAwjF,EAAAxjF,EAAAgE,EAAAu/E,GAAA,QAAA/pE,KAAA+pE,EAAA,YAAA/pE,GAAA,SAAA1V,GAAA9D,EAAA8C,EAAAuW,EAAAvV,EAAA,kBAAAy/E,EAAAz/E,KAAA,CAAA0V,GAAA,IAAAiqE,EAAAzjF,EAAA,KAAA0Z,EAAA1Z,EAAA,GAaA6Z,EAAgB7a,OAAA0a,EAAA,EAAA1a,CACdwkF,EAAA1pE,EACA2pE,EAAA,EACAA,EAAA,GAXF,EAEA,KAEA,KAEA,MAYepqE,EAAA,QAAAQ,EAAiB,sCCvBhC7Z,EAAAqD,EAAAgW,GAAA,IAAAqqE,EAAA1jF,EAAA,KAAA2jF,EAAA3jF,EAAAgE,EAAA0/E,GAAA,QAAAlqE,KAAAkqE,EAAA,YAAAlqE,GAAA,SAAA1V,GAAA9D,EAAA8C,EAAAuW,EAAAvV,EAAA,kBAAA4/E,EAAA5/E,KAAA,CAAA0V,GAAA,IAAAoqE,EAAA5jF,EAAA,KAAA0Z,EAAA1Z,EAAA,GAQA,IAEA2Z,EAVA,SAAAC,GACE5Z,EAAQ,MAeV6Z,EAAgB7a,OAAA0a,EAAA,EAAA1a,CACd2kF,EAAA7pE,EACA8pE,EAAA,EACAA,EAAA,GAXF,EAaAjqE,EATA,KAEA,MAYeN,EAAA,QAAAQ,EAAiB,uCC1BhC7Z,EAAAqD,EAAAgW,GAAA,IAAAwqE,EAAA7jF,EAAA,KAAA8jF,EAAA9jF,EAAAgE,EAAA6/E,GAAA,QAAArqE,KAAAqqE,EAAA,YAAArqE,GAAA,SAAA1V,GAAA9D,EAAA8C,EAAAuW,EAAAvV,EAAA,kBAAA+/E,EAAA//E,KAAA,CAAA0V,GAAA,IAAAuqE,EAAA/jF,EAAA,KAAA0Z,EAAA1Z,EAAA,GAQA,IAEA2Z,EAVA,SAAAC,GACE5Z,EAAQ,OAeV6Z,EAAgB7a,OAAA0a,EAAA,EAAA1a,CACd8kF,EAAAhqE,EACAiqE,EAAA,EACAA,EAAA,GAXF,EAaApqE,EATA,KAEA,MAYeN,EAAA,QAAAQ,EAAiB,uFCzBnBwoD,cAAc,kBACzB99D,OAAOwhE,YACP/kE,SAAS6sB,gBAAgBm2D,aACzBhjF,SAASwG,KAAKw8E,0ECJhBhkF,EAAA,SACAA,EAAA,UACAA,EAAA,QAEAA,EAAA,UACAA,EAAA,UACAA,EAAA,UACAA,EAAA,UACAA,EAAA,UACAA,EAAA,UACAA,EAAA,UACAA,EAAA,UACAA,EAAA,UACAA,EAAA,UACAA,EAAA,UACAA,EAAA,UACAA,EAAA,UACAA,EAAA,UAEAA,EAAA,UAEAA,EAAA,UACAA,EAAA,UAEAA,EAAA,UAEAA,EAAA,UACAA,EAAA,UACAA,EAAA,UACAA,EAAA,UACAA,EAAA,UAEAA,EAAA,yDAEA,IAAMikF,GAAiB1/E,OAAOokE,UAAUhd,UAAY,MAAM5wC,MAAM,KAAK,GAErE0sD,UAAIyc,IAAIC,WACR1c,UAAIyc,IAAIE,WACR3c,UAAIyc,IAAIG,WACR5c,UAAIyc,IAAII,WACR7c,UAAIyc,IAAIK,WACR9c,UAAIyc,IAAIM,WACR/c,UAAIyc,IAAIO,WACRhd,UAAIyc,IAAIQ,UAAU,CAChBC,QAAS,CACPC,eAAgB,cAChBC,kBAAkB,EAClBC,cAAe,KAInB,IAAMC,EAAO,IAAIV,UAAQ,CAEvB5wE,OAAQwwE,EACRe,eAAgB,KAChB3nB,qBAGI4nB,EAAwB,CAC5BC,MAAO,CACL,SACA,sBACA,WAIJ,EAAAv5E,EAAA1E,SAAA2E,EAAA3E,QAAA4E,KAAC,SAAAC,IAAA,IAAAq5E,EAAA75D,EAAA,OAAA1f,EAAA3E,QAAAgF,KAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,cAAAF,EAAAE,KAAA,GAC8B,EAAAg5E,EAAAn+E,SAAqBg+E,GADnD,OACOE,EADPj5E,EAAAI,KAEOgf,EAAQ,IAAI64D,UAAKkB,MAAM,CAC3BjmF,QAAS,CACP2lF,KAAM,CACJ73D,QAAS,CACP63D,KAAM,kBAAMA,KAGhBhhE,UAAWuhE,UACXt+D,SAAUu+D,UACVtsE,SAAUusE,UACVx5E,MAAOy5E,UACP/5D,IAAKg6D,UACLvc,OAAQwc,UACRroB,KAAMsoB,UACNr+D,MAAOs+D,UACPC,SAAUC,UACV9iB,YAAa+iB,UACbn0B,YAAao0B,UACblf,QAASmf,UACTlrD,MAAOmrD,UACP52E,WAAY62E,WAEdC,QAAS,CAAClB,EAAgBmB,WAC1BC,QAAQ,KAIV,EAAAC,EAAAv/E,SAAgB,CAAEqkB,QAAOy5D,SA7B1B,wBAAA74E,EAAAO,SAAAX,OAAAvJ,KAAD,GAkCAgC,OAAOkiF,kBAAoBvuB,gCAC3B3zD,OAAO0iB,yBAA2By/D,aAClCniF,OAAOoiF,gCAA6BC,oGCtGpC,IAAAzlC,EAAAnhD,EAAA,IAiBM6mF,EAAe,CACnB19D,MAhBmB,CACnB5Q,SAAU,CACR4nC,uBAAwB,KACxB2mC,mBAAoB,KACpBC,uBAAwB,MAE1BtyD,eAAgB,CACdC,UAAWnwB,OAAOs8D,KAAOt8D,OAAOs8D,IAAIC,WAClCv8D,OAAOs8D,IAAIC,SAAS,SAAU,qBAC9Bv8D,OAAOs8D,IAAIC,SAAS,iBAAkB,sBAG1CmB,cAAc,GAKdsH,UAAW,CACTyd,cADS,SACM79D,EADN3iB,GACiC,IAAlB4nD,EAAkB5nD,EAAlB4nD,QAAS1sD,EAAS8E,EAAT9E,MAC3B0sD,GACEjlC,EAAM29D,oBACR/kF,aAAaonB,EAAM29D,qBAErB,EAAA3lC,EAAAvP,KAAIzoB,EAAM5Q,SAAU,yBAA0B,CAAE7W,OAAO,EAAOrD,KAAM+vD,KACpE,EAAAjN,EAAAvP,KAAIzoB,EAAM5Q,SAAU,qBAClB/V,WAAW,kBAAM,EAAA2+C,EAAAiG,QAAIj+B,EAAM5Q,SAAU,2BAA2B,QAElE,EAAA4oC,EAAAvP,KAAIzoB,EAAM5Q,SAAU,yBAA0B,CAAE7W,OAAO,EAAMulF,UAAWvlF,KAG5EwlF,0BAbS,SAakB/9D,EAAOg+D,GAChCh+D,EAAM49D,uBAAyBI,GAEjCC,gBAhBS,SAgBQj+D,EAAO3lB,GACtB2lB,EAAM84C,aAAez+D,IAGzBimE,QAAS,CACP4d,aADO,SAAAlgF,GACmC,IAA1BiiE,EAA0BjiE,EAA1BiiE,UAAa74D,EAAa1D,UAAAhO,OAAA,QAAA0D,IAAAsK,UAAA,GAAAA,UAAA,GAAJ,GACpC7L,SAASwyC,MAAWjjC,EAApB,IAA8B64D,EAAUpiD,SAASjkB,MAEnDikF,cAJO,SAAA5/E,EAAAkR,GAIkD,IAAxCuG,EAAwCzX,EAAxCyX,OAAwCzX,EAAhCkiB,SACvBzK,EAAO,gBAAiB,CAAEuvC,QAD6B91C,EAAlB81C,QACF1sD,MADoB4W,EAAT5W,SAGhDwlF,0BAPO,SAAAnzE,EAOgCozE,IACrCtoE,EADiD9K,EAAtB8K,QACpB,4BAA6BsoE,IAEtCC,gBAVO,SAAAlzE,EAUsB1Q,IAC3Bqb,EADkC3K,EAAjB2K,QACV,kBAAmBrb,gBAKjBqjF,sLCvDf1lC,EAAAnhD,EAAA,IACAohD,EAAAphD,EAAA,IACAw/C,EAAAx/C,EAAA,wDAEA,IAiEMgnB,EAAW,CACfmC,MAlEmB,CAEnBpmB,KAAM,aACN8pD,kBAAkB,EAClBlrB,QAAQ,EACRR,UAAW,IACXstB,OAAQ,yBACRxvC,MAAO,eACP9K,WAAY,8BACZmtD,KAAM,mBACNJ,UAAU,EACVQ,WAAY,OACZ4lB,oBAAqB,YACrBC,kBAAmB,gBACnBlnC,2BAA2B,EAC3B7e,wBAAwB,EACxBqnC,gBAAgB,EAChBh6C,4BAA4B,EAC5BwF,eAAe,EACf60C,eAAe,EACf/3C,sBAAsB,EACtBq2D,aAAa,EACbvoD,WAAW,EACXvM,oBAAqB,QACrBkN,gBAAiB,aACjB/H,qBAAiBt1B,EACjBklF,oBAAgBllF,EAChBmlF,mBAAmB,EACnBtpB,mBAAmB,EACnB59B,mBAAmB,EACnBjN,WAAW,EAGXo+B,gBAAgB,EAChBhxB,MAAO,GACPgnD,cAAc,EACd9mD,YAAa,GACb+mD,oBAAoB,EACpB3tE,oBAAqB,GACrBwnB,YAAa,GAGbhJ,qBAAqB,EACrB8lC,eAAe,EACfE,iBAAiB,EACjBE,oBAAoB,EACpBkpB,eAAgB,GAGhBvpB,6BAA8B,GAC9BhR,IAAK,GAGLxN,eAAgB,GAChBC,gBAAiB,GAEjBne,gBAAgB,EAChBC,WAAY,CACVC,YAAa,EACbkN,iBAAkB,IAClBO,eAAgB,GAChBH,eAAgB,QAMlBm6B,UAAW,CACTue,kBADS,SACU3+D,EADV3iB,GACkC,IAAfzD,EAAeyD,EAAfzD,KAAMS,EAASgD,EAAThD,WACX,IAAVA,IACT,EAAA29C,EAAAvP,KAAIzoB,EAAOpmB,EAAMS,KAIvB0pB,QAAS,CACPwzB,sBADO,SACgBv3B,GACrB,OAAOs3B,4BACJv5C,IAAI,SAAApD,GAAA,MAAO,CAACA,EAAKqlB,EAAMrlB,MACvBkX,OAAO,SAACC,EAAD9T,GAAA,IAAAC,GAAA,EAAAC,EAAAJ,SAAAE,EAAA,GAAOrD,EAAPsD,EAAA,GAAY5D,EAAZ4D,EAAA,YAAAkiE,EAAAriE,SAAA,GAA6BgU,GAA7B,EAAA2lC,EAAA35C,SAAA,GAAmCnD,EAAMN,KAAU,MAGjEimE,QAAS,CACPqe,kBADO,SAAAxvE,EAAAvE,GACmD,IAArC8K,EAAqCvG,EAArCuG,OAAQyK,EAA6BhR,EAA7BgR,SAAcvmB,EAAegR,EAAfhR,KAAMS,EAASuQ,EAATvQ,MAE/C,OADAqb,EAAO,oBAAqB,CAAE9b,OAAMS,UAC5BT,GACN,IAAK,OACHumB,EAAS,gBACT,MACF,IAAK,gBACC9lB,GACF8lB,EAAS,sBAKXy+D,eAdC,eAAAxzE,GAAA,EAAA5I,EAAA1E,SAAA2E,EAAA3E,QAAA4E,KAAA,SAAAC,EAAAoI,GAAA,IAAAy/C,EAAAq0B,EAAArnD,EAciB9hB,EAdjB3K,EAciB2K,OAdjB,OAAAjT,EAAA3E,QAAAgF,KAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,cAAAF,EAAAC,KAAA,EAAAD,EAAAE,KAAA,EAgBe7H,OAAO2B,MAAM,sBAhB5B,YAgBGytD,EAhBHznD,EAAAI,MAiBKtE,GAjBL,CAAAkE,EAAAE,KAAA,gBAAAF,EAAAE,KAAA,EAkBoBunD,EAAI5rD,OAlBxB,OAkBKigF,EAlBL97E,EAAAI,KAmBKq0B,GAAQ,EAAA/vB,EAAA3J,SAAY+gF,GAAQ9gF,IAAI,SAACpD,GACrC,MAAO,CACLyoC,YAAazoC,EACb+kC,UAAU,EACVuB,YAAa49C,EAAOlkF,MAErB01C,KAAK,SAAC1/B,EAAG2B,GAAJ,OAAU3B,EAAEyyB,YAAc9wB,EAAE8wB,cACpC1tB,EAAO,oBAAqB,CAAE9b,KAAM,QAASS,MAAOm9B,IA1BnDz0B,EAAAE,KAAA,uBA4BMunD,EA5BN,QAAAznD,EAAAE,KAAA,iBAAAF,EAAAC,KAAA,GAAAD,EAAAM,GAAAN,EAAA,SA+BH7H,QAAQ0kD,KAAK,2BACb1kD,QAAQ0kD,KAAR78C,EAAAM,IAhCG,yBAAAN,EAAAO,SAAAX,EAAAc,KAAA,6BAAAF,GAAA,OAAA6H,EAAA/U,MAAAoN,KAAAC,YAAA,GAoCDo7E,eApCC,eAAA30E,GAAA,EAAA3H,EAAA1E,SAAA2E,EAAA3E,QAAA4E,KAAA,SAAAq8E,EAAA7zE,GAAA,IAAAs/C,EAAAj0D,EAAAsoF,EAAArnD,EAoCiB9hB,EApCjBxK,EAoCiBwK,OAAQsK,EApCzB9U,EAoCyB8U,MApCzB,OAAAvd,EAAA3E,QAAAgF,KAAA,SAAAk8E,GAAA,cAAAA,EAAAh8E,KAAAg8E,EAAA/7E,MAAA,cAAA+7E,EAAAh8E,KAAA,EAAAg8E,EAAA/7E,KAAA,EAsCe7H,OAAO2B,MAAM,2BAtC5B,YAsCGytD,EAtCHw0B,EAAA77E,MAuCKtE,GAvCL,CAAAmgF,EAAA/7E,KAAA,gBAAA+7E,EAAA/7E,KAAA,EAwCoBunD,EAAI5rD,OAxCxB,OAwCKrI,EAxCLyoF,EAAA77E,KAyCK07E,EAASjiE,MAAMC,QAAQtmB,GAAU8e,EAAAvX,QAAAzH,MAAAR,OAAA,CAAc,IAAdqhB,QAAA,EAAAugB,EAAA35B,SAAqBvH,KAAUA,EAChEihC,GAAQ,EAAA35B,EAAAC,SAAe+gF,GAAQ9gF,IAAI,SAAAiG,GAAkB,IAAAM,GAAA,EAAApG,EAAAJ,SAAAkG,EAAA,GAAhBrJ,EAAgB2J,EAAA,GAAXjK,EAAWiK,EAAA,GACnDo7B,EAAWrlC,EAAM4kF,UACvB,MAAO,CACL77C,YAAazoC,EACb+kC,SAAUA,EAAW1f,EAAMslC,OAAS5lB,EAAWrlC,EAC/CgP,KAAMq2B,EAAWrlC,EAAMgP,KAAKgnC,KAAK,SAAC1/B,EAAG2B,GAAJ,OAAU3B,EAAI2B,EAAI,EAAI,IAAK,CAAC,OAC7D2uB,gBAAiBtmC,EAAjB,QAID01C,KAAK,SAAC1/B,EAAG2B,GAAJ,OAAU3B,EAAEyyB,YAAYjgB,cAAgB7Q,EAAE8wB,YAAYjgB,cAAgB,EAAI,IAClFzN,EAAO,oBAAqB,CAAE9b,KAAM,cAAeS,MAAOm9B,IArDzDwnD,EAAA/7E,KAAA,uBAuDMunD,EAvDN,QAAAw0B,EAAA/7E,KAAA,iBAAA+7E,EAAAh8E,KAAA,GAAAg8E,EAAA37E,GAAA27E,EAAA,SA0DH9jF,QAAQ0kD,KAAK,4BACb1kD,QAAQ0kD,KAARo/B,EAAA37E,IA3DG,yBAAA27E,EAAA17E,SAAAy7E,EAAAt7E,KAAA,6BAAAD,GAAA,OAAA2G,EAAA9T,MAAAoN,KAAAC,YAAA,GA+DPw7E,SA/DO,SAAAz6E,EA+De06E,GAAW,IAArBzpE,EAAqBjR,EAArBiR,OAEV,OADAA,EAAO,oBAAqB,CAAE9b,KAAM,QAASS,MAAO8kF,KAC7C,EAAAlnC,EAAAv7B,WAAUyiE,EAAWzpE,IAE9B0pE,WAnEO,SAAAz6E,GAmE0B,IAAnBwb,EAAmBxb,EAAnBwb,SAAUH,EAASrb,EAATqb,MACjBA,EAAMy+D,qBACTz+D,EAAMy+D,oBAAqB,EAC3Bt+D,EAAS,mBAENH,EAAMw+D,eACTx+D,EAAMw+D,cAAe,EACrBr+D,EAAS,gCAMFtC,+aCpKfm6B,EAAAnhD,EAAA,QACAA,EAAA,wDAGA,IAAMwoF,EAAU,iBAAiB,CAC/BvvE,SAAU,GACVw8D,eAAgB,GAChBgT,MAAO,GACPx9D,gBAAiB,GACjBy9D,sBAAuB,GACvBl+D,eAAgB,EAChBjiB,MAAO,EACP2zE,MAAO,EACPyM,aAAc,EACd17D,SAAS,EACT27D,UAAW,GACX3+E,QAAS,GACTN,OAbckD,UAAAhO,OAAA,QAAA0D,IAAAsK,UAAA,GAAAA,UAAA,GAAU,EAcxB6d,YAAa,IAGTm+D,EAAqB,iBAAO,CAChCC,4BAA4B,EAC5BvgF,MAAO,EACP2zE,MAAOx7D,OAAOg8D,kBACdr+E,KAAM,GACN0qF,QAAS,GACT97D,SAAS,EACTvrB,OAAO,IAGIknE,iBAAe,iBAAO,CACjCzwB,YAAa,GACb3nB,kBAAmB,GACnB6oB,oBAAqB,GACrB9wC,MAAO,EACP4B,cAAe0+E,IACfv+E,UAAW,IAAAqqC,EAAA1tC,QACXvF,OAAO,EACP0nB,UAAW,CACTkW,SAAUkpD,IACVx+E,OAAQw+E,IACRt/E,KAAMs/E,IACNl+E,UAAWk+E,IACXn+E,MAAOm+E,IACPp+E,kBAAmBo+E,IACnBv+E,QAASu+E,IACTljF,IAAKkjF,IACLt+E,IAAKs+E,OAIIQ,kBAAgB,SAAC9gF,GAO5B,OALAA,EAAOmnB,SAAU,EAGjBnnB,EAAO2qB,YAAc3qB,EAAO2qB,aAAe,GAEpC3qB,GAGH+gF,EAA2B,SAAC7f,GAChC,MAAO,CACLA,EAAUD,OAAOnoB,uBAAuB+nB,OAAS,OACjDK,EAAUD,OAAOnoB,uBAAuB1hB,UAAY,UACpD8pC,EAAUD,OAAOnoB,uBAAuBgoB,SAAW,SACnDI,EAAUD,OAAOnoB,uBAAuBpG,SAAW,UACnD/xC,OAAO,SAAAC,GAAA,OAAKA,KAGVogF,EAAa,SAACC,EAAKC,EAAKnyC,GAC5B,IAAMoyC,EAAUD,EAAInyC,EAAKjyC,IAEzB,OAAIqkF,IAIF,EAAAC,EAAAriF,SAAMoiF,GAAS,EAAAE,EAAAtiF,SAAOgwC,EAAM,SAACj2B,EAAG1E,GAAJ,OAAgB,OAAN0E,GAAoB,SAAN1E,KAEpD+sE,EAAQx2D,YAAY9yB,OAAOspF,EAAQx2D,YAAYh0B,QACxC,CAAEo4C,KAAMoyC,EAASG,KAAK,KAG7BR,EAAc/xC,GACdkyC,EAAIpqF,KAAKk4C,IACT,EAAAkK,EAAAvP,KAAIw3C,EAAKnyC,EAAKjyC,GAAIiyC,GACX,CAAEA,OAAMuyC,KAAK,KAIlBnxC,EAAW,SAACv+B,EAAG2B,GACnB,IAAM+8B,EAAO93B,OAAO5G,EAAE9U,IAChByzC,EAAO/3B,OAAOjF,EAAEzW,IAChB0zC,IAAU,EAAAC,EAAA1xC,SAAauxC,GACvBI,IAAU,EAAAD,EAAA1xC,SAAawxC,GAC7B,OAAIC,GAAUE,EACLJ,EAAOC,GAAQ,EAAI,EACjBC,IAAWE,EACb,GACGF,GAAUE,GACZ,EAED9+B,EAAE9U,GAAKyW,EAAEzW,IAAM,EAAI,GAIxBykF,EAAe,SAACpgF,GAIpB,OAHAA,EAAS4hB,gBAAkB5hB,EAAS4hB,gBAAgBuuB,KAAKnB,GACzDhvC,EAAS4P,SAAW5P,EAAS4P,SAASugC,KAAKnB,GAC3ChvC,EAASs/E,eAAgB,EAAAt8E,EAAApF,SAAKoC,EAAS4hB,kBAAoB,IAAIjmB,GACxDqE,GAIHqgF,EAA2B,SAACvgE,EAAO9qB,GACvC,IAAMqB,EAASwpF,EAAW//D,EAAMgvB,YAAahvB,EAAMqH,kBAAmBnyB,GACtE,GAAIqB,EAAO8pF,IAAK,CAEd,IAAMthF,EAASxI,EAAOu3C,KAChBoC,EAAsBlwB,EAAMkwB,oBAC5BJ,EAAiB/wC,EAAOyhF,0BAC1BtwC,EAAoBJ,GACtBI,EAAoBJ,GAAgBl6C,KAAKmJ,IAEzC,EAAAi5C,EAAAvP,KAAIyH,EAAqBJ,EAAgB,CAAC/wC,IAG9C,OAAOxI,GAwPI6pE,cAAY,CACvBqgB,eAtOqB,SAACzgE,EAADhiB,GACY,IADF8R,EACE9R,EADF8R,SACE4iE,EAAA10E,EADQqkB,uBACRjpB,IAAAs5E,KADiCxyE,EACjClC,EADiCkC,SACjCwgF,EAAA1iF,EAD2C+B,YAC3C3G,IAAAsnF,EADkD,GAClDA,EAAAC,EAAA3iF,EAAjCu0E,kBAAiCn5E,IAAAunF,KAAbngF,EAAaxC,EAAbwC,OAEpB,KAAK,EAAAogF,EAAA9iF,SAAQgS,GACX,OAAO,EAGT,IAAMk/B,EAAchvB,EAAMgvB,YACpB6xC,EAAiB7gE,EAAMC,UAAU/f,GAEjC4gF,EAAShxE,EAASpa,OAAS,GAAI,EAAAqrF,EAAAjjF,SAAMgS,EAAU,MAAMjU,GAAK,EAC1DmlF,EAASlxE,EAASpa,OAAS,GAAI,EAAAurF,EAAAnjF,SAAMgS,EAAU,MAAMjU,GAAK,EAC1DqlF,EAAQhhF,IAAa4gF,EAASD,EAAezhF,OAAkC,IAAzByhF,EAAezhF,QAAgB0Q,EAASpa,OAAS,EACvG+tB,EAAQvjB,IAAa8gF,EAASH,EAAe9N,OAAkC,IAAzB8N,EAAe9N,QAAgBjjE,EAASpa,OAAS,EAY7G,IAVK68E,GAAc2O,IACjBL,EAAezhF,MAAQ0hF,IAEpBvO,GAAc9uD,IACjBo9D,EAAe9N,MAAQiO,GAMP,SAAb9gF,GAAoC,UAAbA,GAAyB2gF,EAAergF,SAAWA,EAA/E,CAIA,IAAM2gF,EAAY,SAACjsF,EAAMmtB,GAA0C,IAAzB++D,IAAyB19E,UAAAhO,OAAA,QAAA0D,IAAAsK,UAAA,KAAAA,UAAA,GAC3DnN,EAASgqF,EAAyBvgE,EAAO9qB,GACzC6J,EAASxI,EAAOu3C,KAEtB,GAAIv3C,EAAO8pF,IAAK,CAEd,GAAoB,WAAhBthF,EAAOhG,OAAqB,EAAAg2C,EAAAjxC,SAAKiB,EAAO6pB,WAAY,CAAE/sB,GAAIkE,EAAKlE,KAAO,CACxE,IAAMs6B,EAAWnW,EAAMC,UAAUkW,SAG7B0qD,IAAmB1qD,IACrB4pD,EAAW5pD,EAASrmB,SAAUqmB,EAASm2C,eAAgBvtE,GACvDo3B,EAAS9U,gBAAkB,EAE3Bi/D,EAAanqD,IAGjB,GAA0B,WAAtBp3B,EAAOwH,WAAyB,CAClC,IAAMxF,EAAMif,EAAMC,UAAUlf,IAE5Bg/E,EAAWh/E,EAAI+O,SAAU/O,EAAIurE,eAAgBvtE,GAC7CgC,EAAIsgB,gBAAkB,EAEtBi/D,EAAav/E,IAKjB,IAAIsgF,SAeJ,OAbInhF,GAAYkhF,IACdC,EAA2BtB,EAAWc,EAAe/wE,SAAU+wE,EAAevU,eAAgBvtE,IAG5FmB,GAAYmiB,EAGd09D,EAAWc,EAAe/+D,gBAAiB++D,EAAetB,sBAAuBxgF,GACxEmB,GAAYkhF,GAAiBC,EAAyBhB,MAE/DQ,EAAex/D,gBAAkB,GAG5BtiB,GAgBHuiF,EAAa,CACjBviF,OAAU,SAACA,GACToiF,EAAUpiF,EAAQsjB,IAEpBrc,QAAW,SAACjH,GAEV,IAAMwiF,EAAkBJ,EAAUpiF,EAAOknB,kBAAkB,GAAO,GAE9DjgB,SAWFA,EARE9F,IAAY,EAAA6uC,EAAAjxC,SAAK+iF,EAAe/wE,SAAU,SAAChZ,GAC7C,OAAIA,EAAEmvB,iBACGnvB,EAAE+E,KAAO0lF,EAAgB1lF,IAAM/E,EAAEmvB,iBAAiBpqB,KAAO0lF,EAAgB1lF,GAEzE/E,EAAE+E,KAAO0lF,EAAgB1lF,KAIxBslF,EAAUpiF,GAAQ,GAAO,GAEzBoiF,EAAUpiF,EAAQsjB,GAG9Brc,EAAQigB,iBAAmBs7D,GAE7B37E,SAAY,SAACA,GAGNoa,EAAM7e,UAAUyqC,IAAIhmC,EAAS/J,MAChCmkB,EAAM7e,UAAU6U,IAAIpQ,EAAS/J,IA3CZ,SAAC+J,EAAU47E,GAChC,IAAMziF,GAAS,EAAAgwC,EAAAjxC,SAAKkxC,EAAa,CAAEnzC,GAAI+J,EAAS2iB,wBAC5CxpB,IAEE6G,EAAS7F,KAAKlE,KAAOkE,EAAKlE,GAC5BkD,EAAOuyB,WAAY,EAEnBvyB,EAAO4mE,UAAY,GAqCnB8b,CAAe77E,KAGnB87E,SAAY,SAACA,GACX,IAAMC,EAAMD,EAASC,IACf5iF,GAAS,EAAAgwC,EAAAjxC,SAAKkxC,EAAa,CAAE2yC,QAC9B5iF,IA5I2B,SAACihB,EAAOjhB,IAC5C,EAAA6iF,EAAA9jF,SAAOkiB,EAAMgvB,YAAa,CAAEnzC,GAAIkD,EAAOlD,MAKvC,EAAA+lF,EAAA9jF,SAAOkiB,EAAMhf,cAAc9L,KAAM,SAAAmI,GAAA,OAAAA,EAAGyrE,OAAUjtE,KAAkBkD,EAAOlD,KAGvE,IAAMi0C,EAAiB/wC,EAAOyhF,0BAC1BxgE,EAAMkwB,oBAAoBJ,KAC5B,EAAA8xC,EAAA9jF,SAAOkiB,EAAMkwB,oBAAoBJ,GAAiB,CAAEj0C,GAAIkD,EAAOlD,KAqI7DgmF,CAA8B7hE,EAAOjhB,GAEjCmB,KACF,EAAA0hF,EAAA9jF,SAAO+iF,EAAe/wE,SAAU,CAAE6xE,SAClC,EAAAC,EAAA9jF,SAAO+iF,EAAe/+D,gBAAiB,CAAE6/D,WAG7Cj3C,OAAU,SAACA,KAGX5sC,QAAW,SAACgkF,GACV5mF,QAAQg7E,IAAI,uBACZh7E,QAAQg7E,IAAI4L,MAIhB,EAAAzyE,EAAAvR,SAAKgS,EAAU,SAAC/Q,GACd,IAAMhG,EAAOgG,EAAOhG,MACFuoF,EAAWvoF,IAASuoF,EAAA,SAC5BviF,KAIRmB,GACFogF,EAAaO,KA8EfkB,oBA1E0B,SAAC/hE,EAAD/hB,GAAsFA,EAA5EkiB,SAA4E,IAAlEnf,EAAkE/C,EAAlE+C,cAAsB8+E,GAA4C7hF,EAAnDwlB,MAAmDxlB,EAA5C6hF,0BAA0B5f,EAAkBjiE,EAAlBiiE,aAC9F,EAAA7wD,EAAAvR,SAAKkD,EAAe,SAAC6xC,GAOnB,GAN0B,WAAtBA,EAAa95C,OACf85C,EAAai2B,OAASyX,EAAyBvgE,EAAO6yB,EAAai2B,QAAQh7B,KAC3E+E,EAAa9zC,OAAS8zC,EAAa9zC,QAAUwhF,EAAyBvgE,EAAO6yB,EAAa9zC,QAAQ+uC,MAI/F9tB,EAAMhf,cAAc4+E,QAAQ7pF,eAAe88C,EAAah3C,IAgDlDg3C,EAAa+uB,OACtB5hD,EAAMhf,cAAc4+E,QAAQ/sC,EAAah3C,IAAI+lE,MAAO,QAtCpD,GAVA5hD,EAAMhf,cAAc5B,MAAQyzC,EAAah3C,GAAKmkB,EAAMhf,cAAc5B,MAC9DyzC,EAAah3C,GACbmkB,EAAMhf,cAAc5B,MACxB4gB,EAAMhf,cAAc+xE,MAAQlgC,EAAah3C,GAAKmkB,EAAMhf,cAAc+xE,MAC9DlgC,EAAah3C,GACbmkB,EAAMhf,cAAc+xE,MAExB/yD,EAAMhf,cAAc9L,KAAKU,KAAKi9C,GAC9B7yB,EAAMhf,cAAc4+E,QAAQ/sC,EAAah3C,IAAMg3C,EAE3C,iBAAkBz3C,QAA6C,YAAnCA,OAAOm3C,aAAayrC,WAA0B,CAC5E,IAAMgE,EAAW,GACXjjF,EAAS8zC,EAAa9zC,OACtBsrC,EAAQwI,EAAaE,aAAan5C,KACxCooF,EAAS7oE,KAAO05B,EAAaE,aAAakvC,kBAC1C,IAAIC,SACJ,OAAQrvC,EAAa95C,MACnB,IAAK,OACHmpF,EAAa,gBACb,MACF,IAAK,SACHA,EAAa,eACb,MACF,IAAK,SACHA,EAAa,eAgBjB,GAXEF,EAAS3jF,KADP6jF,EACchiB,EAAY0b,KAAKthF,EAAE,iBAAmB4nF,GAEtCrvC,EAAa9zC,OAAO+V,KAIlC/V,GAAUA,EAAO2qB,aAAe3qB,EAAO2qB,YAAYh0B,OAAS,IAAMqJ,EAAOmqB,MAC3EnqB,EAAO2qB,YAAY,GAAG5V,SAAS0D,WAAW,YAC1CwqE,EAAShyD,MAAQjxB,EAAO2qB,YAAY,GAAG1sB,MAGpC61C,EAAa+uB,OAAS5hD,EAAMhf,cAAc2+E,4BAA8BG,EAAyBjvE,SAASgiC,EAAa95C,MAAO,CACjI,IAAI85C,EAAe,IAAIz3C,OAAOm3C,aAAalI,EAAO23C,GAGlD3oF,WAAWw5C,EAAa89B,MAAM/1E,KAAKi4C,GAAe,UAsB1DsvC,aAbmB,SAACniE,EAAD7Q,GAAiC,IAAvBjP,EAAuBiP,EAAvBjP,SAAUM,EAAa2O,EAAb3O,OACjCqgF,EAAiB7gE,EAAMC,UAAU/f,GACnCM,KACF,EAAAohF,EAAA9jF,SAAO+iF,EAAe/wE,SAAU,CAAE/P,KAAM,CAAElE,GAAI2E,MAC9C,EAAAohF,EAAA9jF,SAAO+iF,EAAe/+D,gBAAiB,CAAE/hB,KAAM,CAAElE,GAAI2E,KACrDqgF,EAAerB,aAAeqB,EAAe/+D,gBAAgBpsB,OAAS,GAAI,EAAAwN,EAAApF,SAAK+iF,EAAe/+D,iBAAiBjmB,GAAK,EACpHglF,EAAezhF,MAAQyhF,EAAe/wE,SAASpa,OAAS,GAAI,EAAA0sF,EAAAtkF,SAAM+iF,EAAe/wE,UAAUjU,GAAK,IAQlGunB,gBAJuB,SAINpD,EAJMpV,GAIe,IAAZ1K,EAAY0K,EAAZ1K,SAClBmiF,EAAeriE,EAAMC,UAAU/f,GAErCmiF,EAAYhhE,eAAiB,EAC7BghE,EAAYvgE,iBAAkB,EAAAwgE,EAAAxkF,SAAMukF,EAAYvyE,SAAU,EAAG,IAC7DuyE,EAAY7C,cAAe,EAAAt8E,EAAApF,SAAKukF,EAAYvgE,iBAAiBjmB,GAC7DwmF,EAAYtP,MAAQsP,EAAY7C,aAChC6C,EAAY9C,sBAAwB,IACpC,EAAAlwE,EAAAvR,SAAKukF,EAAYvgE,gBAAiB,SAAC/iB,GAAasjF,EAAY9C,sBAAsBxgF,EAAOlD,IAAMkD,KAEjGwjF,cAduB,SAcRviE,GACb,IAAMwiE,EAAa/iB,KACnB,EAAA5hE,EAAAC,SAAe0kF,GAAYv7E,QAAQ,SAAA8D,GAAkB,IAAAK,GAAA,EAAAlN,EAAAJ,SAAAiN,EAAA,GAAhBpQ,EAAgByQ,EAAA,GAAX/Q,EAAW+Q,EAAA,GACnD4U,EAAMrlB,GAAON,KAGjBooF,cApBuB,SAoBRziE,EApBQ9U,GAoBoC,IAAnChL,EAAmCgL,EAAnChL,SAAmCwiF,EAAAx3E,EAAzBmY,cAC1B7iB,OADmDpH,IAAAspF,KAC1B1iE,EAAMC,UAAU/f,GAAUM,YAASpH,EAClE4mB,EAAMC,UAAU/f,GAAYm/E,EAAQ7+E,IAEtCmiF,mBAxBuB,SAwBH3iE,GAClBA,EAAMhf,cAAgB0+E,KAExBkD,aA3BuB,SA2BT5iE,EA3BS7V,GA2BiB,IAAjBpL,EAAiBoL,EAAjBpL,OAAQ1E,EAAS8P,EAAT9P,MACvBy8B,EAAY9W,EAAMqH,kBAAkBtoB,EAAOlD,IAE7Ci7B,EAAUxF,YAAcj3B,IACtBA,EACFy8B,EAAU6uC,WAEV7uC,EAAU6uC,YAId7uC,EAAUxF,UAAYj3B,GAExBwoF,oBAxCuB,SAwCF7iE,EAxCEhc,GAwCuB,IAAhBjF,EAAgBiF,EAAhBjF,OAAQgB,EAAQiE,EAARjE,KAC9B+2B,EAAY9W,EAAMqH,kBAAkBtoB,EAAOlD,IACjDi7B,EAAUxF,UAAYvyB,EAAOuyB,UAC7BwF,EAAU6uC,SAAW5mE,EAAO4mE,SAC5B,IAAMjzC,GAAQ,EAAA0d,EAAAtyC,SAAUg5B,EAAUjM,YAAa,CAAEhvB,GAAIkE,EAAKlE,MAC3C,IAAX62B,GAAiBoE,EAAUxF,WAET,IAAXoB,GAAgBoE,EAAUxF,WACnCwF,EAAUjM,YAAYj1B,KAAKmK,GAF3B+2B,EAAUjM,YAAYj0B,OAAO87B,EAAO,IAKxCowD,eAnDuB,SAmDP9iE,EAAOjhB,GACrB,IAAM+3B,EAAY9W,EAAMqH,kBAAkBtoB,EAAOlD,IACjDi7B,EAAU/O,aAAehpB,EAAOgpB,kBAED3uB,IAA3B09B,EAAU/O,cACZ/H,EAAMkwB,oBAAoBpZ,EAAU0pD,2BAA2Bv5E,QAAQ,SAAAlI,GAAYA,EAAOgpB,aAAe+O,EAAU/O,gBAGvHg7D,aA3DuB,SA2DT/iE,EA3DS1b,GA2DiB,IAAjBvF,EAAiBuF,EAAjBvF,OAAQ1E,EAASiK,EAATjK,MACvBy8B,EAAY9W,EAAMqH,kBAAkBtoB,EAAOlD,IAE7Ci7B,EAAUpF,WAAar3B,IACrBA,EACFy8B,EAAU8uC,aAEV9uC,EAAU8uC,cAId9uC,EAAUpF,SAAWr3B,GAEvB2oF,oBAxEuB,SAwEFhjE,EAxEEvb,GAwEuB,IAAhB1F,EAAgB0F,EAAhB1F,OAAQgB,EAAQ0E,EAAR1E,KAC9B+2B,EAAY9W,EAAMqH,kBAAkBtoB,EAAOlD,IACjDi7B,EAAUpF,SAAW3yB,EAAO2yB,SAC5BoF,EAAU8uC,WAAa7mE,EAAO6mE,WAC9B,IAAMlzC,GAAQ,EAAA0d,EAAAtyC,SAAUg5B,EAAUhM,YAAa,CAAEjvB,GAAIkE,EAAKlE,MAC3C,IAAX62B,GAAiBoE,EAAUpF,UAET,IAAXgB,GAAgBoE,EAAUpF,UACnCoF,EAAUhM,YAAYl1B,KAAKmK,GAF3B+2B,EAAUhM,YAAYl0B,OAAO87B,EAAO,IAKxCuwD,WAnFuB,SAmFXjjE,EAnFWrb,GAmFQ,IAAV5F,EAAU4F,EAAV5F,OACDihB,EAAMqH,kBAAkBtoB,EAAOlD,IACvCqqB,SAAU,GAEtBg9D,eAvFuB,SAuFPljE,EAAOmjE,IACrB,EAAAtlC,EAAA//C,SAAckiB,EAAMqH,mBAAmBpgB,QAAQ,SAAAlI,GACzCokF,EAAUpkF,KACZA,EAAOmnB,SAAU,MAIvBk9D,WA9FuB,SA8FXpjE,EA9FWnb,GA8FiB,IAAnB3E,EAAmB2E,EAAnB3E,SAAU7F,EAASwK,EAATxK,MAC7B2lB,EAAMC,UAAU/f,GAAU4jB,QAAUzpB,GAEtCgpF,QAjGuB,SAiGdrjE,EAjGcjb,GAiGO,IAAZlJ,EAAYkJ,EAAZlJ,GAAIqtB,EAAQnkB,EAARmkB,KACFlJ,EAAMqH,kBAAkBxrB,GAChCqtB,KAAOA,GAEnBo6D,SArGuB,SAqGbtjE,EArGa/a,GAqGK,IAAT5K,EAAS4K,EAAT5K,MACjB2lB,EAAMznB,MAAQ8B,GAEhBkpF,wBAxGuB,SAwGEvjE,EAxGF5a,GAwGoB,IAAT/K,EAAS+K,EAAT/K,MAChC2lB,EAAMhf,cAAc8iB,QAAUzpB,GAEhCmpF,sBA3GuB,SA2GAxjE,EA3GA7S,GA2GkB,IAAT9S,EAAS8S,EAAT9S,MAC9B2lB,EAAMhf,cAAczI,MAAQ8B,GAE9BopF,wBA9GuB,SA8GEzjE,EA9GF1S,GA8GoB,IAATjT,EAASiT,EAATjT,MAChC2lB,EAAMhf,cAAc2+E,2BAA6BtlF,GAEnDqT,wBAjHuB,SAiHEsS,IACvB,EAAA3Q,EAAAvR,SAAKkiB,EAAMhf,cAAc9L,KAAM,SAAC29C,GAC9BA,EAAa+uB,MAAO,KAGxB8hB,WAtHuB,SAsHX1jE,EAtHWza,GAsHc,IAAhBrF,EAAgBqF,EAAhBrF,SAAUrE,EAAM0J,EAAN1J,GAC7BmkB,EAAMC,UAAU/f,GAAUqhB,YAAc1lB,GAE1C8nF,WAzHuB,SAyHX3jE,EAzHWta,GAyHmC,IAArC7J,EAAqC6J,EAArC7J,GAAI+nF,EAAiCl+E,EAAjCk+E,iBAAkBxhE,EAAe1c,EAAf0c,YACnC0U,EAAY9W,EAAMqH,kBAAkBxrB,GAC1Ci7B,EAAUhM,YAAc84D,EAAiBlkF,OAAO,SAAAC,GAAA,OAAKA,IAErDm3B,EAAU8uC,WAAa9uC,EAAUhM,YAAYp1B,OAC7CohC,EAAUpF,WAAaoF,EAAUhM,YAAY8B,KAAK,SAAAztB,GAAA,IAAGtD,EAAHsD,EAAGtD,GAAH,OAAYumB,EAAYvmB,KAAOA,KAEnFgoF,QAhIuB,SAgId7jE,EAhIc1d,GAgIgC,IAArCzG,EAAqCyG,EAArCzG,GAAIioF,EAAiCxhF,EAAjCwhF,iBAAkB1hE,EAAe9f,EAAf8f,YAChC0U,EAAY9W,EAAMqH,kBAAkBxrB,GAC1Ci7B,EAAUjM,YAAci5D,EAAiBpkF,OAAO,SAAAC,GAAA,OAAKA,IAErDm3B,EAAU6uC,SAAW7uC,EAAUjM,YAAYn1B,OAC3CohC,EAAUxF,YAAcwF,EAAUjM,YAAY+B,KAAK,SAAArqB,GAAA,IAAG1G,EAAH0G,EAAG1G,GAAH,OAAYumB,EAAYvmB,KAAOA,KAEpFkoF,qBAvIuB,SAuID/jE,EAvICpc,GAuIoB,IAAZ/H,EAAY+H,EAAZ/H,GAAI4K,EAAQ7C,EAAR6C,KAClBuZ,EAAMqH,kBAAkBxrB,GAChC4K,KAAOA,IAIZqJ,EAAW,CACfkQ,MAAOy/C,IACPa,QAAS,CACPmgB,eADO,SAAAxzE,EAAArL,GACqH,IAA1Gq+D,EAA0GhzD,EAA1GgzD,UAAWvqD,EAA+FzI,EAA/FyI,OAAY5F,EAAmFlO,EAAnFkO,SAAmFk0E,EAAApiF,EAAzEygB,uBAAyEjpB,IAAA4qF,KAAAC,EAAAriF,EAAhD1B,gBAAgD9G,IAAA6qF,KAAAC,EAAAtiF,EAA9B2wE,kBAA8Bn5E,IAAA8qF,KAAV1jF,EAAUoB,EAAVpB,OAChHkV,EAAO,iBAAkB,CAAE5F,WAAUuS,kBAAiBniB,WAAUqyE,aAAYxyE,KAAMkgE,EAAUp9D,MAAMuf,YAAa5hB,YAEjHuhF,oBAJO,SAAAhgF,EAAAI,GAIsF,IAAtE89D,EAAsEl+D,EAAtEk+D,UAAWvqD,EAA2D3T,EAA3D2T,OAAQyK,EAAmDpe,EAAnDoe,SAAU+/C,EAAyCn+D,EAAzCm+D,YAAiBl/D,EAAwBmB,EAAxBnB,cAAeyiB,EAASthB,EAATshB,MAClF/N,EAAO,sBAAuB,CAAEoqE,yBAA0BA,EAAyB7f,GAAY9/C,WAAUnf,gBAAeyiB,QAAOy8C,iBAEjIojB,SAPO,SAAAp6E,EAAAK,GAOqCL,EAAhC+2D,WACVvqD,EAD0CxM,EAArBwM,QACd,WAAY,CAAErb,MADqBkP,EAATlP,SAGnCkpF,wBAVO,SAAA35E,EAAAE,GAUoDF,EAAhCq2D,WACzBvqD,EADyD9L,EAArB8L,QAC7B,0BAA2B,CAAErb,MADqByP,EAATzP,SAGlDmpF,sBAbO,SAAAx5E,EAAAP,GAakDO,EAAhCi2D,WACvBvqD,EADuD1L,EAArB0L,QAC3B,wBAAyB,CAAErb,MADqBoP,EAATpP,SAGhDopF,wBAhBO,SAAAxjF,EAAAyB,GAgBoDzB,EAAhCggE,WACzBvqD,EADyDzV,EAArByV,QAC7B,0BAA2B,CAAErb,MADqBqH,EAATrH,SAGlD6H,YAnBO,SAAA2D,EAmB+BhK,GAAI,IAA3BokE,EAA2Bp6D,EAA3Bo6D,UAAW9/C,EAAgBta,EAAhBsa,SACxB8/C,EAAU19C,IAAIupB,kBAAkB5pC,YAAY,CAAErG,OAC3C4C,KAAK,SAACM,GAAD,OAAYohB,EAAS,iBAAkB,CAAErQ,SAAU,CAAC/Q,QAE9D2I,aAvBO,SAAA3B,EAuB8BhH,GAAQ,IAA7BkhE,EAA6Bl6D,EAA7Bk6D,WACdvqD,EAD2C3P,EAAlB2P,QAClB,aAAc,CAAE3W,WACvBc,UAAW6H,aAAa,CAAE7L,GAAIkD,EAAOlD,GAAIsB,YAAa8iE,EAAUp9D,MAAMuf,YAAYjlB,eAEpFgnF,sBA3BO,SAAAl+E,EA2B4Bk9E,IACjCztE,EAD4CzP,EAArByP,QAChB,iBAAkBytE,IAE3Bv9E,SA9BO,SAAAO,EA8B0BpH,GAAQ,IAA7BkhE,EAA6B95D,EAA7B85D,UAAWvqD,EAAkBvP,EAAlBuP,OAErBA,EAAO,eAAgB,CAAE3W,SAAQ1E,OAAO,IACxC4lE,EAAU19C,IAAIupB,kBAAkBlmC,SAAS7G,EAAOlD,IAC7C4C,KAAK,SAAAM,GAAA,OAAU2W,EAAO,sBAAuB,CAAE3W,SAAQgB,KAAMkgE,EAAUp9D,MAAMuf,iBAElFtc,WApCO,SAAAO,EAoC4BtH,GAAQ,IAA7BkhE,EAA6B55D,EAA7B45D,UAAWvqD,EAAkBrP,EAAlBqP,OAEvBA,EAAO,eAAgB,CAAE3W,SAAQ1E,OAAO,IACxC4lE,EAAU19C,IAAIupB,kBAAkBhmC,WAAW/G,EAAOlD,IAC/C4C,KAAK,SAAAM,GAAA,OAAU2W,EAAO,sBAAuB,CAAE3W,SAAQgB,KAAMkgE,EAAUp9D,MAAMuf,iBAElF3gB,oBA1CO,SAAAkG,EA0CuCnH,GAAQ,IAA/By/D,EAA+Bt4D,EAA/Bs4D,UAAW9/C,EAAoBxY,EAApBwY,SAChC8/C,EAAU19C,IAAIupB,kBAAkBrqC,oBAAoBjB,GACjD/B,KAAK,SAAAqR,GAAA,OAAYqQ,EAAS,iBAAkB,CAAErQ,WAAU5P,SAAU,OAAQM,SAAQ6hB,iBAAiB,EAAMkwD,YAAY,OAE1H/9C,UA9CO,SAAA1sB,EA8C6BmrB,GAAU,IAAjCgtC,EAAiCn4D,EAAjCm4D,UAAW9/C,EAAsBrY,EAAtBqY,SACtB,OAAO8/C,EAAU19C,IAAIupB,kBAAkBtnC,aAAayuB,GACjDx0B,KAAK,SAACM,GAAD,OAAYohB,EAAS,iBAAkB,CAAErQ,SAAU,CAAC/Q,QAE9D01B,YAlDO,SAAAlpB,EAkD+B0nB,GAAU,IAAjCgtC,EAAiC10D,EAAjC00D,UAAW9/C,EAAsB5U,EAAtB4U,SACxB8/C,EAAU19C,IAAIupB,kBAAkBpnC,eAAeuuB,GAC5Cx0B,KAAK,SAACM,GAAD,OAAYohB,EAAS,iBAAkB,CAAErQ,SAAU,CAAC/Q,QAE9D6F,iBAtDO,SAAA8G,EAsDkCunB,GAAU,IAA/BgtC,EAA+Bv0D,EAA/Bu0D,UAAWvqD,EAAoBhK,EAApBgK,OAC7B,OAAOuqD,EAAU19C,IAAIupB,kBAAkBlnC,iBAAiBquB,GACrDx0B,KAAK,SAACM,GAAD,OAAY2W,EAAO,iBAAkB3W,MAE/C+F,mBA1DO,SAAA8G,EA0DoCqnB,GAAU,IAA/BgtC,EAA+Br0D,EAA/Bq0D,UAAWvqD,EAAoB9J,EAApB8J,OAC/B,OAAOuqD,EAAU19C,IAAIupB,kBAAkBhnC,mBAAmBmuB,GACvDx0B,KAAK,SAACM,GAAD,OAAY2W,EAAO,iBAAkB3W,MAE/CiH,QA9DO,SAAA+F,EA8DyBhN,GAAQ,IAA7BkhE,EAA6Bl0D,EAA7Bk0D,UAAWvqD,EAAkB3J,EAAlB2J,OAEpBA,EAAO,eAAgB,CAAE3W,SAAQ1E,OAAO,IACxC4lE,EAAU19C,IAAIupB,kBAAkB9lC,QAAQjH,EAAOlD,IAC5C4C,KAAK,SAAAM,GAAA,OAAU2W,EAAO,sBAAuB,CAAE3W,OAAQA,EAAOknB,iBAAkBlmB,KAAMkgE,EAAUp9D,MAAMuf,iBAE3Glc,UApEO,SAAAgG,EAoE2BnN,GAAQ,IAA7BkhE,EAA6B/zD,EAA7B+zD,UAAWvqD,EAAkBxJ,EAAlBwJ,OAEtBA,EAAO,eAAgB,CAAE3W,SAAQ1E,OAAO,IACxC4lE,EAAU19C,IAAIupB,kBAAkB5lC,UAAUnH,EAAOlD,IAC9C4C,KAAK,SAAAM,GAAA,OAAU2W,EAAO,sBAAuB,CAAE3W,SAAQgB,KAAMkgE,EAAUp9D,MAAMuf,iBAElFshE,WA1EO,SAAAp3E,EAAAE,GA0E8CF,EAAvC2zD,WACZvqD,EADmDpJ,EAA5BoJ,QAChB,aAAc,CAAExV,SAD4BsM,EAAhBtM,SACFrE,GADkB2Q,EAAN3Q,MAG/C6R,wBA7EO,SAAAZ,GA6EyC,IAArBmzD,EAAqBnzD,EAArBmzD,WACzBvqD,EAD8C5I,EAAV4I,QAC7B,2BACP7V,UAAW6N,wBAAwB,CACjC7R,GAAIokE,EAAUnwD,SAAS9O,cAAc5B,MACrCjC,YAAa8iE,EAAUp9D,MAAMuf,YAAYjlB,eAG7CinF,oBApFO,SAAAx3E,EAoFqC/Q,GAAI,IAAzBokE,EAAyBrzD,EAAzBqzD,UAAWvqD,EAAc9I,EAAd8I,OAChC/W,EAAAb,QAAQtE,IAAI,CACVymE,EAAU19C,IAAIupB,kBAAkB59B,sBAAsBrS,GACtDokE,EAAU19C,IAAIupB,kBAAkB19B,sBAAsBvS,KACrD4C,KAAK,SAAAiO,GAA0C,IAAAxE,GAAA,EAAAhK,EAAAJ,SAAA4O,EAAA,GAAxCo3E,EAAwC57E,EAAA,GAAtB07E,EAAsB17E,EAAA,GAChDwN,EAAO,UAAW,CAAE7Z,KAAIioF,mBAAkB1hE,YAAa69C,EAAUp9D,MAAMuf,cACvE1M,EAAO,aAAc,CAAE7Z,KAAI+nF,mBAAkBxhE,YAAa69C,EAAUp9D,MAAMuf,iBAG9EiiE,UA7FO,SAAAj8E,EA6F2BvM,GAAI,IAAzBokE,EAAyB73D,EAAzB63D,UAAWvqD,EAActN,EAAdsN,OACtBuqD,EAAU19C,IAAIupB,kBAAkB59B,sBAAsBrS,GACnD4C,KAAK,SAAAqlF,GAAA,OAAoBpuE,EAAO,UAAW,CAAE7Z,KAAIioF,mBAAkB1hE,YAAa69C,EAAUp9D,MAAMuf,iBAErGkiE,aAjGO,SAAAh8E,EAiG8BzM,GAAI,IAAzBokE,EAAyB33D,EAAzB23D,UAAWvqD,EAAcpN,EAAdoN,OACzBuqD,EAAU19C,IAAIupB,kBAAkB19B,sBAAsBvS,GACnD4C,KAAK,SAAAmlF,GAAA,OAAoBluE,EAAO,aAAc,CAAE7Z,KAAI+nF,mBAAkBxhE,YAAa69C,EAAUp9D,MAAMuf,iBAExGuzB,OArGO,SAqGCxzB,EArGD5T,GAqGkD,IAAxCiB,EAAwCjB,EAAxCiB,EAAG/X,EAAqC8W,EAArC9W,QAAS8H,EAA4BgP,EAA5BhP,MAAOkQ,EAAqBlB,EAArBkB,OAAQC,EAAanB,EAAbmB,UAC1C,OAAOyS,EAAM89C,UAAU19C,IAAIupB,kBAAkBx8B,QAAQ,CAAEE,IAAG/X,UAAS8H,QAAOkQ,SAAQC,cAC/EjR,KAAK,SAACvJ,GAGL,OAFAitB,EAAMzM,OAAO,cAAexgB,EAAK0a,UACjCuS,EAAMzM,OAAO,iBAAkB,CAAE5F,SAAU5a,EAAK4a,WACzC5a,MAIfkrE,uBAGatwD,oICznBf,IAyBalQ,cAAY,SAAC1K,GACxB,IAAMqvF,EAAS,GACTC,EAAQtvF,EAAKa,eAAe,QAE5B0uF,EAAaD,IAAUtvF,EAAKa,eAAe,UAIjD,GAFAwuF,EAAO1oF,GAAK6iC,OAAOxpC,EAAK2G,IAEpB2oF,EAAO,CAKT,GAJAD,EAAOn7E,YAAclU,EAAKu/D,KAC1B8vB,EAAOt8C,sBAAwB/yC,EAAK8H,IAGhCynF,EACF,OAAOF,EA4BT,GAzBAA,EAAO3qF,KAAO1E,EAAKi0D,aACnBo7B,EAAOr9D,UAAYw9D,EAAUxvF,EAAKi0D,aAAcj0D,EAAKgwC,QAErDq/C,EAAOl2C,YAAcn5C,EAAKg0D,KAC1Bq7B,EAAO1a,iBAAmB6a,EAAUxvF,EAAKg0D,KAAMh0D,EAAKgwC,QAEpDq/C,EAAOI,OAASzvF,EAAKyvF,OACrBJ,EAAOK,YAAc1vF,EAAKyvF,OAAO5mF,IAAI,SAAA8mF,GACnC,MAAO,CACLjrF,KAAM8qF,EAAUG,EAAMjrF,KAAM1E,EAAKgwC,QACjC7qC,MAAOqqF,EAAUG,EAAMxqF,MAAOnF,EAAKgwC,WAKvCq/C,EAAOtC,kBAAoB/sF,EAAK2V,OAChC05E,EAAO56C,2BAA6Bz0C,EAAK2V,OAGzC05E,EAAO38C,YAAc1yC,EAAKysB,OAE1B4iE,EAAO5a,cAAgBz0E,EAAK4vF,gBAE5BP,EAAOQ,IAAM7vF,EAAK6vF,IAEd7vF,EAAK8vF,QAAS,CAChB,IAAMC,EAAe/vF,EAAK8vF,QAAQC,aAElCV,EAAO1sB,iBAAmB3iE,EAAK8vF,QAAQntB,iBACvC0sB,EAAOx3E,MAAQ7X,EAAK8vF,QAAQE,WAExBD,IACFV,EAAO9a,YAAcwb,EAAaE,YAClCZ,EAAOj6C,UAAY26C,EAAa36C,UAChCi6C,EAAO70E,UAAYu1E,EAAav1E,UAChC60E,EAAOv5B,mBAAqBi6B,EAAaG,SACzCb,EAAO18D,MAAQo9D,EAAaI,OAC5Bd,EAAOlb,gBAAkB4b,EAAa5b,gBACtCkb,EAAO7a,WAAaub,EAAaK,aAGnCf,EAAOpwC,aAAej/C,EAAK8vF,QAAQ7wC,aACnCowC,EAAOlwC,eAAiBn/C,EAAK8vF,QAAQ3wC,eACrCkwC,EAAOx7C,mBAAqB7zC,EAAK8vF,QAAQj8C,mBACzCw7C,EAAOt7C,qBAAuB/zC,EAAK8vF,QAAQ/7C,qBAE3Cs7C,EAAO3vD,OAAS,CACdC,UAAW3/B,EAAK8vF,QAAQO,aACxBzwD,MAAO5/B,EAAK8vF,QAAQQ,UAGlBjB,EAAO3vD,OAAOE,MAChByvD,EAAO79B,KAAO,QACL69B,EAAO3vD,OAAOC,UACvB0vD,EAAO79B,KAAO,YAEd69B,EAAO79B,KAAO,SAIdxxD,EAAKuwF,SACPlB,EAAOl2C,YAAcn5C,EAAKuwF,OAAOv8B,KACjCq7B,EAAO/tD,cAAgBthC,EAAKuwF,OAAOC,QACnCnB,EAAOI,OAASzvF,EAAKuwF,OAAOd,OACxBzvF,EAAKuwF,OAAOT,UACdT,EAAOn+B,aAAelxD,EAAKuwF,OAAOT,QAAQ5+B,aAC1Cm+B,EAAO99B,UAAYvxD,EAAKuwF,OAAOT,QAAQv+B,UACvC89B,EAAO59B,aAAezxD,EAAKuwF,OAAOT,QAAQr+B,eAK9C49B,EAAOr6B,UAAYq6B,EAAOn7E,YAAYyH,SAAS,UAE/C0zE,EAAOn7E,YAAclU,EAAKkU,YAE1Bm7E,EAAO3qF,KAAO1E,EAAK0E,KACnB2qF,EAAOr9D,UAAYhyB,EAAKgyB,UAExBq9D,EAAOl2C,YAAcn5C,EAAKm5C,YAC1Bk2C,EAAO1a,iBAAmB30E,EAAK20E,iBAE/B0a,EAAOtC,kBAAoB/sF,EAAK+sF,kBAChCsC,EAAO56C,2BAA6Bz0C,EAAKy0C,2BAEzC46C,EAAO38C,YAAc1yC,EAAK0yC,YAE1B28C,EAAO5a,cAAgBz0E,EAAKy0E,cAI5B4a,EAAOt8C,sBAAwB/yC,EAAK+yC,sBAEpCs8C,EAAOv5B,mBAAqB91D,EAAK81D,mBAEjCu5B,EAAOr6B,SAAWh1D,EAAKg1D,SACvBq6B,EAAO79B,KAAOxxD,EAAKwxD,KACnB69B,EAAO99B,UAAYvxD,EAAKuxD,UAExB89B,EAAO9a,YAAcv0E,EAAKu0E,YAE1B8a,EAAO18D,MAAQ3yB,EAAK2yB,MAEhB3yB,EAAK0/B,SACP2vD,EAAO3vD,OAAS,CACdC,UAAW3/B,EAAK0/B,OAAO+wD,qBACvB7wD,MAAO5/B,EAAK0/B,OAAOE,QAGvByvD,EAAOn+B,aAAelxD,EAAKkxD,aAC3Bm+B,EAAO/tD,cAAgBthC,EAAKshC,cAC5B+tD,EAAOpwC,aAAej/C,EAAKi/C,aAC3BowC,EAAOlwC,eAAiBn/C,EAAKm/C,eAC7BkwC,EAAOx7C,mBAAqB7zC,EAAK6zC,mBACjCw7C,EAAOt7C,qBAAuB/zC,EAAK+zC,qBACnCs7C,EAAO1sB,iBAAmB3iE,EAAK2iE,iBAE/B0sB,EAAO70E,UAAYxa,EAAKwa,UAExB60E,EAAOx3E,MAAQ7X,EAAK6X,MAwBtB,OArBAw3E,EAAOj8C,WAAa,IAAIvqB,KAAK7oB,EAAKozC,YAClCi8C,EAAOr+B,OAAShxD,EAAKgxD,OACrBq+B,EAAO3a,gBAAkB10E,EAAK00E,gBAC9B2a,EAAOh8C,eAAiBrzC,EAAKqzC,eAC7Bg8C,EAAOqB,UAAY,GACnBrB,EAAOsB,YAAc,GACrBtB,EAAOjkE,gBAAkB,GAErBprB,EAAK8vF,UACPT,EAAOuB,qBAAuB5wF,EAAK8vF,QAAQc,qBAE3CvB,EAAOl7E,KAAOnU,EAAK8vF,QAAQ37E,KAC3Bk7E,EAAOt4C,YAAc/2C,EAAK8vF,QAAQ/4C,YAElCs4C,EAAOv8B,sBAAwB9yD,EAAK8vF,QAAQh9B,uBAG9Cu8B,EAAOl7E,KAAOk7E,EAAOl7E,MAAQ,GAC7Bk7E,EAAO3vD,OAAS2vD,EAAO3vD,QAAU,GACjC2vD,EAAOv8B,sBAAwBu8B,EAAOv8B,uBAAyB,GAExDu8B,GAGIv8E,oBAAkB,SAAC9S,GAC9B,IAAMqvF,EAAS,GAgBf,OAfervF,EAAKa,eAAe,WAIjCwuF,EAAOzwE,SAAW5e,EAAK8vF,QAAU9vF,EAAK8vF,QAAQe,UAAY7wF,EAAK6D,KAC/DwrF,EAAOyB,KAAO9wF,EAAK8wF,KACnBzB,EAAO1oF,GAAK3G,EAAK2G,IAEjB0oF,EAAOzwE,SAAW5e,EAAK4e,SAIzBywE,EAAOvnF,IAAM9H,EAAK8H,IAClBunF,EAAOl2C,YAAcn5C,EAAKm5C,YAEnBk2C,GAEIG,cAAY,SAACp6D,EAAQ4a,GAChC,IAAM+gD,EAAsB,uBAC5B,OAAO/gD,EAAOrzB,OAAO,SAACC,EAAK0lB,GACzB,IAAM0uD,EAAqB1uD,EAAM2uD,UAAU57D,QAAQ07D,EAAqB,QACxE,OAAOn0E,EAAIyY,QACT,IAAI67D,OAAJ,IAAeF,EAAf,IAAsC,KADjC,aAEQ1uD,EAAMx6B,IAFd,UAE2Bw6B,EAAM2uD,UAFjC,YAEsD3uD,EAAM2uD,UAF5D,uBAIN77D,IAGQ9oB,gBAAc,SAAdA,EAAetM,GAC1B,IA3NyB6J,EA2NnBwlF,EAAS,GACTC,EAAQtvF,EAAKa,eAAe,WAElC,GAAIyuF,EAAO,CAcT,GAbAD,EAAOjzD,UAAYp8B,EAAKmxF,WACxB9B,EAAO5e,SAAWzwE,EAAKoxF,iBAEvB/B,EAAO7yD,SAAWx8B,EAAKqxF,UACvBhC,EAAO3e,WAAa1wE,EAAKsxF,cAEzBjC,EAAOxrF,KAAO7D,EAAKuxF,OAAS,UAAY,SACxClC,EAAOr7D,KAAOh0B,EAAKsR,UAEnB+9E,EAAOl8D,eAAiBq8D,EAAUxvF,EAAK85D,QAAS95D,EAAKgwC,QAErDq/C,EAAOl7E,KAAOnU,EAAKmU,KAEfnU,EAAK8vF,QAAS,KACRA,EAAY9vF,EAAZ8vF,QACRT,EAAOzvE,KAAOkwE,EAAQh2B,QAAU95D,EAAK8vF,QAAQh2B,QAAQ,cAAgB95D,EAAK85D,QAC1Eu1B,EAAO78D,QAAUs9D,EAAQ0B,aAAexxF,EAAK8vF,QAAQ0B,aAAa,cAAgBxxF,EAAKwxF,aACvFnC,EAAO/D,0BAA4BtrF,EAAK8vF,QAAQ2B,gBAChDpC,EAAOr6B,SAAW86B,EAAQ4B,MAC1BrC,EAAO/7D,wBAA0BtzB,EAAK8vF,QAAQ6B,yBAC9CtC,EAAOx8D,aAAei9D,EAAQj9D,kBAE9Bw8D,EAAOzvE,KAAO5f,EAAK85D,QACnBu1B,EAAO78D,QAAUxyB,EAAKwxF,aAGxBnC,EAAOh8D,sBAAwBrzB,EAAK4xF,eACpCvC,EAAOz9D,oBAAsB5xB,EAAK6xF,uBAClCxC,EAAO9Y,cAAgBv2E,EAAKu2E,cAER,YAAhB8Y,EAAOxrF,OACTwrF,EAAOt+D,iBAAmBzkB,EAAYtM,EAAKuxF,SAG7ClC,EAAO75D,aAAeg6D,EAAUxvF,EAAKwxF,aAAcxxF,EAAKgwC,QACxDq/C,EAAOtZ,aAAe/1E,EAAK8H,IAC3BunF,EAAO99E,KAAOvR,EAAKuR,KACnB89E,EAAOpe,OAASjxE,EAAKixE,OACrBoe,EAAO18D,MAAQ3yB,EAAK2yB,WAEpB08D,EAAOjzD,UAAYp8B,EAAKo8B,UACxBizD,EAAO5e,SAAWzwE,EAAKywE,SAEvB4e,EAAO7yD,SAAWx8B,EAAKw8B,SACvB6yD,EAAO3e,WAAa1wE,EAAK0wE,WAKzB2e,EAAOxrF,MAhRgBgG,EAgRS7J,GA/QvB8xF,aACF,SAGLjoF,EAAOknB,iBACF,UAGkB,iBAAflnB,EAAO4iF,KAAoB5iF,EAAO4iF,IAAI5tE,MAAM,gCAC5B,iBAAhBhV,EAAO+V,MAAqB/V,EAAO+V,KAAKf,MAAM,aACjD,WAGLhV,EAAO+V,KAAKf,MAAM,yBAA2BhV,EAAOkoF,sBAC/C,WAGLloF,EAAO+V,KAAKf,MAAM,sBAAiD,WAAzBhV,EAAOmoF,cAC5C,SAGF,eA4Pa9tF,IAAdlE,EAAKg0B,MACPq7D,EAAOr7D,KAAOi+D,EAAOjyF,GACjBA,EAAK+wB,mBACPs+D,EAAOr7D,KAAOh0B,EAAK+wB,iBAAiBiD,OAGtCq7D,EAAOr7D,KAAOh0B,EAAKg0B,KAGrBq7D,EAAOl8D,eAAiBnzB,EAAKmzB,eAC7Bk8D,EAAOzvE,KAAO5f,EAAK4f,KAEnByvE,EAAOh8D,sBAAwBrzB,EAAKqzB,sBACpCg8D,EAAOz9D,oBAAsB5xB,EAAK4xB,oBAClCy9D,EAAO/7D,wBAA0BtzB,EAAKszB,wBACtC+7D,EAAO/D,0BAA4BtrF,EAAKsrF,0BAEpB,YAAhB+D,EAAOxrF,OACTwrF,EAAOt+D,iBAAmBzkB,EAAYtM,EAAK+wB,mBAG7Cs+D,EAAO78D,QAAUxyB,EAAKwyB,QACtB68D,EAAO75D,aAAex1B,EAAKw1B,aAC3B65D,EAAOtZ,aAAe/1E,EAAK+1E,aAC3BsZ,EAAOr6B,SAAWh1D,EAAKg1D,SAGzBq6B,EAAO1oF,GAAK6iC,OAAOxpC,EAAK2G,IACxB0oF,EAAOh+E,WAAarR,EAAKqR,WACzBg+E,EAAOp2C,KAAOj5C,EAAKi5C,KACnBo2C,EAAOj8C,WAAa,IAAIvqB,KAAK7oB,EAAKozC,YAGlCi8C,EAAOh8D,sBAAwBg8D,EAAOh8D,sBAClCmW,OAAO6lD,EAAOh8D,uBACd,KACJg8D,EAAOz9D,oBAAsBy9D,EAAOz9D,oBAChC4X,OAAO6lD,EAAOz9D,qBACd,KAEJy9D,EAAOxkF,KAAOH,EAAU4kF,EAAQtvF,EAAKkyF,QAAUlyF,EAAK6K,MAEpDwkF,EAAO37D,aAAe47D,EAAQtvF,EAAKihC,SAAWjhC,EAAK0zB,aAAe,IAAI7qB,IAAI6B,GAE1E2kF,EAAO76D,cAAgB86D,EAAQtvF,EAAKmyF,kBAAoBnyF,EAAKw0B,cAAgB,IAC1E3rB,IAAIiK,GAEP,IAAMu5E,EAAkBiD,EAAQtvF,EAAKuxF,OAASvxF,EAAK+wB,iBAQnD,OAPIs7D,IACFgD,EAAOt+D,iBAAmBzkB,EAAY+/E,IAGxCgD,EAAO15D,YAAc,GACrB05D,EAAOz5D,YAAc,GAEdy5D,GAoCH4C,GAjCO5lF,oBAAoB,SAACrM,GAChC,IAKMqvF,EAAS,GAEf,IAHervF,EAAKa,eAAe,SAIjCwuF,EAAOxrF,KARS,CAChBuuF,UAAa,OACbb,OAAU,UAMcvxF,EAAK6D,OAAS7D,EAAK6D,KAC3CwrF,EAAO3iB,KAAO1sE,EAAK8vF,QAAQuC,QAC3BhD,EAAOxlF,OAAyB,WAAhBwlF,EAAOxrF,KACnB,KACAyI,EAAYtM,EAAK6J,QACrBwlF,EAAOzb,OAASyb,EAAOxlF,OACvBwlF,EAAOxxC,aAAenzC,EAAU1K,EAAKkyF,aAChC,CACL,IAAMI,EAAehmF,EAAYtM,EAAKuyF,QACtClD,EAAOxrF,KAAO7D,EAAKwyF,MACnBnD,EAAO3iB,KAAOhjC,QAAQ1pC,EAAKqyF,SAC3BhD,EAAOxlF,OAAyB,SAAhBwlF,EAAOxrF,KACnByI,EAAYtM,EAAKuyF,OAAOE,kBACxBH,EACJjD,EAAOzb,OAAS0e,EAChBjD,EAAOxxC,aAAenzC,EAAU1K,EAAK69C,cAMvC,OAHAwxC,EAAOj8C,WAAa,IAAIvqB,KAAK7oB,EAAKozC,YAClCi8C,EAAO1oF,GAAKoX,SAAS/d,EAAK2G,IAEnB0oF,GAGM,SAACxlF,GAEd,OAAQA,EAAOsK,MAAQ,IAAIwH,SAAS,YAAc9R,EAAO+V,MAAQ,IAAIf,MADnD,gNC5WJjV,kBAFhB,IAAAtD,EAAA3E,EAAA,wDAEO,SAASiI,EAAiB8oF,EAAYvpF,EAAMpB,EAASyB,GAC1D+E,KAAK7J,KAAO,kBACZ6J,KAAKmkF,WAAaA,EAClBnkF,KAAKvK,QAAU0uF,EAAa,OAAS3lC,iBAAyB,EAAA3jD,EAAAR,SAAeO,GAAQA,GACrFoF,KAAKlL,MAAQ8F,EACboF,KAAKxG,QAAUA,EACfwG,KAAK/E,SAAWA,EAEZlG,MAAMqvF,mBACRrvF,MAAMqvF,kBAAkBpkF,MAG5B3E,EAAgBhJ,WAAY,EAAAgyF,EAAAhqF,SAActF,MAAM1C,WAChDgJ,EAAgBhJ,UAAUiyF,YAAcjpF,IAE3B0L,8BACX,SAAAA,EAAajS,IAAO,EAAAyvF,EAAAlqF,SAAA2F,KAAA+G,GAAA,IAAAgZ,GAAA,EAAAykE,EAAAnqF,SAAA2F,MAAA+G,EAAA09E,YAAA,EAAAC,EAAArqF,SAAA0M,IAAAxU,KAAAyN,OAEdjL,MAAMqvF,mBACRrvF,MAAMqvF,kBAANrkE,GAGF,IAEuB,iBAAVjrB,IACTA,EAAQ0pD,KAAKjuB,MAAMz7B,IACTxC,eAAe,WACvBwC,EAAQ0pD,KAAKjuB,MAAMz7B,EAAMA,QAIR,iBAAjB,IAAOA,EAAP,eAAAia,EAAA1U,SAAOvF,KAELA,EAAM6vF,QACR7vF,EAAMwmB,SAAWxmB,EAAM6vF,aAChB7vF,EAAM6vF,OAEf5kE,EAAKtqB,SAAU,EAAAsC,EAAA6sF,gBAAe9vF,IAE9BirB,EAAKtqB,QAAUX,EAEjB,MAAOnB,GAEPosB,EAAKtqB,QAAUX,EA3BC,OAAAirB,8BADiBhrB,uMCfvB6vF,eAAT,SAAyBC,GAC9B,OAAO,EAAAzqF,EAAAC,SAAewqF,GAAQz2E,OAAO,SAAC02E,EAADlrF,GAAoB,IAAAW,GAAA,EAAAE,EAAAJ,SAAAT,EAAA,GAAZ8V,EAAYnV,EAAA,GAATkJ,EAASlJ,EAAA,GACnD9E,EAAUgO,EAAI2K,OAAO,SAACC,EAAK5Y,GAC7B,IAAIyB,GAAM,EAAA6tF,EAAA1qF,SAAWqV,EAAEoX,QAAQ,KAAM,MACrC,OAAOzY,EAAM,CAACnX,EAAKzB,GAASkF,KAAK,KAAO,MACvC,IACH,SAAA8Y,QAAA,EAAAugB,EAAA35B,SAAWyqF,GAAX,CAAiBrvF,KAChB,2SCTLrC,EAAA,UACAA,EAAA,MAEAmhD,EAAAnhD,EAAA,IACA4xF,EAAA5xF,EAAA,wDAGO,IAAMkpF,eAAa,SAACC,EAAKC,EAAKnyC,GACnC,IAAKA,EAAQ,OAAO,EACpB,IAAMoyC,EAAUD,EAAInyC,EAAKjyC,IACzB,OAAIqkF,IAEF,EAAAC,EAAAriF,SAAMoiF,EAASpyC,GACR,CAAEA,KAAMoyC,EAASG,KAAK,KAG7BL,EAAIpqF,KAAKk4C,IACT,EAAAkK,EAAAvP,KAAIw3C,EAAKnyC,EAAKjyC,GAAIiyC,GACdA,EAAK1kC,cAAgB0kC,EAAK1kC,YAAYyH,SAAS,OACjD,EAAAmnC,EAAAvP,KAAIw3C,EAAKnyC,EAAK1kC,YAAY+Z,cAAe2qB,GAEpC,CAAEA,OAAMuyC,KAAK,KAYlBr7E,EAAY,SAACmd,EAAOtmB,GACxB,OAAOsmB,EAAM89C,UAAU19C,IAAIupB,kBAAkB9mC,UAAUnJ,GACpD4C,KAAK,SAACwmF,GACL9iE,EAAMzM,OAAO,yBAA0B,CAACuvE,IACxC9iE,EAAMzM,OAAO,aAAc7Z,GAC3BsmB,EAAMzM,OAAO,eAAgB,CAAExV,SAAU,UAAWM,OAAQ3E,IAC5DsmB,EAAMzM,OAAO,eAAgB,CAAExV,SAAU,SAAUM,OAAQ3E,IAC3DsmB,EAAMzM,OAAO,eAAgB,CAAExV,SAAU,oBAAqBM,OAAQ3E,OAItEsJ,EAAc,SAACgd,EAAOtmB,GAC1B,OAAOsmB,EAAM89C,UAAU19C,IAAIupB,kBAAkB3mC,YAAYtJ,GACtD4C,KAAK,SAACwmF,GAAD,OAAkB9iE,EAAMzM,OAAO,yBAA0B,CAACuvE,OAG9D98E,EAAW,SAACga,EAAOtmB,GACvB,OAAOsmB,EAAM89C,UAAU19C,IAAIupB,kBAAkB3jC,SAAStM,GACnD4C,KAAK,SAACwmF,GACL9iE,EAAMzM,OAAO,yBAA0B,CAACuvE,IACxC9iE,EAAMzM,OAAO,YAAa7Z,MAI1BwM,EAAa,SAAC8Z,EAAOtmB,GACzB,OAAOsmB,EAAM89C,UAAU19C,IAAIupB,kBAAkBzjC,WAAWxM,GACrD4C,KAAK,SAACwmF,GAAD,OAAkB9iE,EAAMzM,OAAO,yBAA0B,CAACuvE,OAoBvD7kB,cAAY,CACvBsoB,SADuB,SACb1oE,EADahiB,GACmB,IAAfnC,EAAemC,EAAvB+B,KAAQlE,GAAMgsB,EAAS7pB,EAAT6pB,MACzB9nB,EAAOigB,EAAM8yB,YAAYj3C,IAC/B,EAAAm8C,EAAAvP,KAAI1oC,EAAM,QAAS8nB,IAErB5e,QALuB,SAKd+W,EALc/hB,GAKgB,IAAbpC,EAAaoC,EAArB8B,KAAQlE,GAAMM,EAAO8B,EAAP9B,IACxB4D,EAAOigB,EAAM8yB,YAAYj3C,GAEzB8sF,GADO5oF,EAAKsJ,MAAQ,IACL6N,OAAO,CAAC/a,KAC7B,EAAA67C,EAAAvP,KAAI1oC,EAAM,OAAQ4oF,IAEpBr/E,UAXuB,SAWZ0W,EAXY7Q,GAWkB,IAAbtT,EAAasT,EAArBpP,KAAQlE,GAAMM,EAAOgT,EAAPhT,IAC1B4D,EAAOigB,EAAM8yB,YAAYj3C,GAEzB8sF,GADO5oF,EAAKsJ,MAAQ,IACL3J,OAAO,SAAApF,GAAA,OAAKA,IAAM6B,KACvC,EAAA67C,EAAAvP,KAAI1oC,EAAM,OAAQ4oF,IAEpBC,YAjBuB,SAiBV5oE,EAjBUpV,GAiB6B,IAAtB/O,EAAsB+O,EAA9B7K,KAAQlE,GAAMF,EAAgBiP,EAAhBjP,MAAOtB,EAASuQ,EAATvQ,MACnC0F,EAAOigB,EAAM8yB,YAAYj3C,GAC3BgtF,EAAY9oF,EAAK60B,OACrBi0D,EAAUltF,GAAStB,GACnB,EAAA29C,EAAAvP,KAAI1oC,EAAM,SAAU8oF,IAEtBC,uBAvBuB,SAuBC9oE,EAvBDjV,GAuBkC,IAAhBlP,EAAgBkP,EAAxBhL,KAAQlE,GAAMkD,EAAUgM,EAAVhM,OACvCgB,EAAOigB,EAAM8yB,YAAYj3C,IAC/B,EAAAm8C,EAAAvP,KAAI1oC,EAAM,eAAgBhB,IAE5BgqF,eA3BuB,SA2BP/oE,EAAOjgB,GACrBigB,EAAMgpE,cAAgBjpF,EAAKqJ,YAC3B4W,EAAMoC,aAAc,EAAA+9D,EAAAriF,SAAMkiB,EAAMoC,aAAe,GAAIriB,IAErDkpF,iBA/BuB,SA+BLjpE,GAChBA,EAAMoC,aAAc,EACpBpC,EAAMgpE,eAAgB,GAExBE,WAnCuB,SAmCXlpE,GACVA,EAAMgzC,WAAY,GAEpBm2B,SAtCuB,SAsCbnpE,GACRA,EAAMgzC,WAAY,GAEpBo2B,cAzCuB,SAyCRppE,EAzCQ5U,GAyCkB,IAAjBvP,EAAiBuP,EAAjBvP,GAAI+pF,EAAax6E,EAAbw6E,UACpB7lF,EAAOigB,EAAM8yB,YAAYj3C,GAC/BkE,EAAK6lF,WAAY,EAAA3+C,EAAAnpC,UAAK,EAAAsF,EAAAtF,SAAOiC,EAAK6lF,UAAWA,KAE/CyD,gBA7CuB,SA6CNrpE,EA7CM9U,GA6CsB,IAAnBrP,EAAmBqP,EAAnBrP,GAAIgqF,EAAe36E,EAAf26E,YACtB9lF,EAAOigB,EAAM8yB,YAAYj3C,GAC/BkE,EAAK8lF,aAAc,EAAA5+C,EAAAnpC,UAAK,EAAAsF,EAAAtF,SAAOiC,EAAK8lF,YAAaA,KAInDyD,aAnDuB,SAmDTtpE,EAAOxf,GACnB,IAAMT,EAAOigB,EAAM8yB,YAAYtyC,GAC3BT,IACF,EAAAi4C,EAAAvP,KAAI1oC,EAAM,YAAa,KAG3BwpF,eAzDuB,SAyDPvpE,EAAOxf,GACrB,IAAMT,EAAOigB,EAAM8yB,YAAYtyC,GAC3BT,IACF,EAAAi4C,EAAAvP,KAAI1oC,EAAM,cAAe,KAG7BypF,YA/DuB,SA+DVxpE,EAAOnd,IAClB,EAAAwM,EAAAvR,SAAK+E,EAAO,SAAC9C,GAAD,OAAUggF,EAAW//D,EAAMnd,MAAOmd,EAAM8yB,YAAa/yC,MAEnE0pF,uBAlEuB,SAkECzpE,EAAO0pE,GAC7BA,EAAcziF,QAAQ,SAACg+E,GACrB,IAAMllF,EAAOigB,EAAM8yB,YAAYmyC,EAAappF,IACxCkE,IACFA,EAAK0pE,YAAcwb,EAAaE,YAChCplF,EAAK2P,UAAYu1E,EAAav1E,UAC9B3P,EAAK8nB,MAAQo9D,EAAaI,OAC1BtlF,EAAKirD,mBAAqBi6B,EAAaG,SACvCrlF,EAAK2pE,WAAaub,EAAaK,YAC/BvlF,EAAKspE,gBAAkB4b,EAAa5b,oBAI1CsgB,aA/EuB,SA+ET3pE,EAAO4pE,IAEnB,EAAAv6E,EAAAvR,SAAKkiB,EAAMnd,MAAO,SAAC9C,GAAWA,EAAKirD,oBAAqB,KACxD,EAAA37C,EAAAvR,SAAK8rF,EAAc,SAAC7pF,GAAD,OAAUggF,EAAW//D,EAAMnd,MAAOmd,EAAM8yB,YAAa/yC,MAE1E8pF,aApFuB,SAoFT7pE,EAAO8pE,GACnB9pE,EAAMoC,YAAY0nE,SAAWA,GAE/BC,WAvFuB,SAuFX/pE,EAAOgqE,IACoC,IAAjDhqE,EAAMoC,YAAY0nE,SAAStwD,QAAQwwD,IACrChqE,EAAMoC,YAAY0nE,SAASl0F,KAAKo0F,IAGpCC,YA5FuB,SA4FVjqE,EAAOkqE,IAElB,EAAA76E,EAAAvR,SAAKkiB,EAAMnd,MAAO,SAAC9C,GAAWA,EAAK8nB,OAAQ,KAC3C,EAAAxY,EAAAvR,SAAKosF,EAAY,SAACnqF,GAAD,OAAUggF,EAAW//D,EAAMnd,MAAOmd,EAAM8yB,YAAa/yC,MAExEoqF,YAjGuB,SAiGVnqE,EAAOoqE,GAClBpqE,EAAMoC,YAAYgoE,QAAUA,GAE9BC,UApGuB,SAoGZrqE,EAAOsqE,IACmC,IAA/CtqE,EAAMoC,YAAYgoE,QAAQ5wD,QAAQ8wD,IACpCtqE,EAAMoC,YAAYgoE,QAAQx0F,KAAK00F,IAGnC97E,aAzGuB,SAyGTwR,EAAOuqE,GACnBvqE,EAAMoC,YAAY1T,OAAS67E,GAE7BC,gBA5GuB,SA4GNxqE,EAAOjhB,GACtB,IAAMgB,EAAOigB,EAAM8yB,YAAY/zC,EAAOgB,KAAKlE,IACrC62B,EAAQ3yB,EAAKugB,gBAAgBkZ,QAAQz6B,EAAOlD,IAC9CkD,EAAOonE,SAAqB,IAAXzzC,EACnB3yB,EAAKugB,gBAAgB1qB,KAAKmJ,EAAOlD,IACvBkD,EAAOonE,SAAqB,IAAXzzC,GAC3B3yB,EAAKugB,gBAAgB1pB,OAAO87B,EAAO,IAGvC+3D,iBArHuB,SAqHLzqE,EAAOjhB,GACvBA,EAAOgB,KAAOigB,EAAM8yB,YAAY/zC,EAAOgB,KAAKlE,KAE9C6uF,uBAxHuB,SAwHC1qE,EAAO6yB,GACH,WAAtBA,EAAa95C,OACf85C,EAAai2B,OAAO/oE,KAAOigB,EAAM8yB,YAAYD,EAAai2B,OAAO/oE,KAAKlE,KAExEg3C,EAAaE,aAAe/yB,EAAM8yB,YAAYD,EAAaE,aAAal3C,KAE1E8uF,SA9HuB,SA8Hb3qE,EA9Ha7V,GA8HyB,IAArBtO,EAAqBsO,EAA7BpK,KAAQlE,GAAMg7B,EAAe1sB,EAAf0sB,YACzB92B,EAAOigB,EAAM8yB,YAAYj3C,IAC/B,EAAAm8C,EAAAvP,KAAI1oC,EAAM,YAAa82B,IAEzBktB,cAlIuB,SAkIR/jC,GACbA,EAAM+jC,eAAgB,EACtB/jC,EAAMikC,aAAe,IAEvB2mC,cAtIuB,SAsIR5qE,GACbA,EAAM+jC,eAAgB,GAExB8mC,cAzIuB,SAyIR7qE,EAAOsoE,GACpBtoE,EAAM+jC,eAAgB,EACtB/jC,EAAMikC,aAAeqkC,IAIZvkE,YAAU,CACrB0E,SAAU,SAAAzI,GAAA,OAAS,SAAA/P,GACjB,IAAM1Z,EAASypB,EAAM8yB,YAAY7iC,GAEjC,OAAK1Z,GAA2B,iBAAV0Z,EAGf1Z,EAFEypB,EAAM8yB,YAAY7iC,EAAMkT,kBAgB/BtgB,EAAQ,CACZmd,MAXWy/C,eAAe,CAC1BzM,WAAW,EACXg2B,eAAe,EACf5mE,aAAa,EACbvf,MAAO,GACPiwC,YAAa,GACbiR,eAAe,EACfE,aAAc,IAKdmc,YACAr8C,UACAu8C,QAAS,CACPh7D,UADO,SACI6c,EAAOtmB,GAChB,OAAOsmB,EAAM89C,UAAU19C,IAAIupB,kBAAkBxmC,UAAU,CAAEzJ,OACtD4C,KAAK,SAACsB,GAEL,OADAoiB,EAAMzM,OAAO,cAAe,CAAC3V,IACtBA,KAGb0F,sBARO,SAQgB0c,EAAOtmB,GACxBsmB,EAAMnC,MAAMoC,aACdD,EAAM89C,UAAU19C,IAAIupB,kBAAkBrmC,sBAAsB,CAAE5J,OAC3D4C,KAAK,SAACirF,GAAD,OAAmBvnE,EAAMzM,OAAO,yBAA0Bg0E,MAGtE/gF,YAdO,SAcMwZ,GACX,OAAOA,EAAM89C,UAAU19C,IAAIupB,kBAAkBnjC,cAC1ClK,KAAK,SAACqsF,GAGL,OAFA3oE,EAAMzM,OAAO,gBAAgB,EAAArU,EAAAvD,SAAIgtF,EAAQ,OACzC3oE,EAAMzM,OAAO,eAAgBo1E,GACtBA,KAGb9lF,UAtBO,SAsBImd,EAAOtmB,GAChB,OAAOmJ,EAAUmd,EAAOtmB,IAE1BsJ,YAzBO,SAyBMgd,EAAOtmB,GAClB,OAAOsJ,EAAYgd,EAAOtmB,IAE5BuvD,WA5BO,SA4BKjpC,GAAiB,IAAV5B,EAAU7c,UAAAhO,OAAA,QAAA0D,IAAAsK,UAAA,GAAAA,UAAA,GAAJ,GACvB,OAAO/E,EAAAb,QAAQtE,IAAI+mB,EAAIxiB,IAAI,SAAAlC,GAAA,OAAMmJ,EAAUmd,EAAOtmB,OAEpDwvD,aA/BO,SA+BOlpC,GAAiB,IAAV5B,EAAU7c,UAAAhO,OAAA,QAAA0D,IAAAsK,UAAA,GAAAA,UAAA,GAAJ,GACzB,OAAO/E,EAAAb,QAAQtE,IAAI+mB,EAAIxiB,IAAI,SAAAlC,GAAA,OAAMsJ,EAAYgd,EAAOtmB,OAEtDoM,WAlCO,SAkCKka,GACV,OAAOA,EAAM89C,UAAU19C,IAAIupB,kBAAkB7jC,aAC1CxJ,KAAK,SAACssF,GAGL,OAFA5oE,EAAMzM,OAAO,cAAeq1E,GAC5B5oE,EAAMzM,OAAO,eAAe,EAAArU,EAAAvD,SAAIitF,EAAO,OAChCA,KAGb5iF,SA1CO,SA0CGga,EAAOtmB,GACf,OAAOsM,EAASga,EAAOtmB,IAEzBwM,WA7CO,SA6CK8Z,EAAOtmB,GACjB,OAAOwM,EAAW8Z,EAAOtmB,IAE3BmvF,YAhDO,SAgDM7oE,EAAOtmB,GAClB,OA1Oc,SAACsmB,EAAO3hB,GAC1B,OAAO2hB,EAAM89C,UAAU19C,IAAIupB,kBAAkB/nC,WAAW,CAAElI,GAAI2E,EAAQ4D,SAAS,IAC5E3F,KAAK,SAACwmF,GACL9iE,EAAMzM,OAAO,yBAA0B,CAACuvE,MAuOjC+F,CAAY7oE,EAAOtmB,IAE5BovF,YAnDO,SAmDM9oE,EAAOtmB,GAClB,OAtOc,SAACsmB,EAAO3hB,GAC1B,OAAO2hB,EAAM89C,UAAU19C,IAAIupB,kBAAkB/nC,WAAW,CAAElI,GAAI2E,EAAQ4D,SAAS,IAC5E3F,KAAK,SAACwmF,GAAD,OAAkB9iE,EAAMzM,OAAO,yBAA0B,CAACuvE,MAoOvDgG,CAAY9oE,EAAOtmB,IAE5ByvD,UAtDO,SAsDInpC,GAAiB,IAAV5B,EAAU7c,UAAAhO,OAAA,QAAA0D,IAAAsK,UAAA,GAAAA,UAAA,GAAJ,GACtB,OAAO/E,EAAAb,QAAQtE,IAAI+mB,EAAIxiB,IAAI,SAAAlC,GAAA,OAAMsM,EAASga,EAAOtmB,OAEnD0vD,YAzDO,SAyDMppC,GAAiB,IAAV5B,EAAU7c,UAAAhO,OAAA,QAAA0D,IAAAsK,UAAA,GAAAA,UAAA,GAAJ,GACxB,OAAO/E,EAAAb,QAAQtE,IAAI+mB,EAAIxiB,IAAI,SAAAlC,GAAA,OAAMwM,EAAW8Z,EAAOtmB,OAErDyS,YA5DO,SA4DM6T,GACX,OA1Oc,SAACA,GACnB,OAAOA,EAAM89C,UAAU19C,IAAIupB,kBAAkBx9B,cAC1C7P,KAAK,SAAApB,GAAA,IAAGL,EAAHK,EAAGL,IAAH,OAAamlB,EAAMzM,OAAO,eAAgB1Y,KAwOvCsR,CAAY6T,IAErBjjB,aA/DO,SAAA8E,EA+D8BnI,GAAI,IAAzBokE,EAAyBj8D,EAAzBi8D,UAAWvqD,EAAc1R,EAAd0R,OACnB3V,EAAOkgE,EAAUp9D,MAAMiwC,YAAYj3C,GACnCuD,GAAQ,EAAA8D,EAAApF,SAAKiC,EAAK6lF,WACxB,OAAO3lB,EAAU19C,IAAIupB,kBAAkB5sC,aAAa,CAAErD,KAAIuD,UACvDX,KAAK,SAACqC,GAGL,OAFA4U,EAAO,cAAe5U,GACtB4U,EAAO,gBAAiB,CAAE7Z,KAAI+pF,WAAW,EAAAvkF,EAAAvD,SAAIgD,EAAS,QAC/CA,KAGb6C,eAzEO,SAAAW,EAyEgCzI,GAAI,IAAzBokE,EAAyB37D,EAAzB27D,UAAWvqD,EAAcpR,EAAdoR,OACrB3V,EAAOkgE,EAAUp9D,MAAMiwC,YAAYj3C,GACnCuD,GAAQ,EAAA8D,EAAApF,SAAKiC,EAAK8lF,aACxB,OAAO5lB,EAAU19C,IAAIupB,kBAAkBnoC,eAAe,CAAE9H,KAAIuD,UACzDX,KAAK,SAACghF,GAGL,OAFA/pE,EAAO,cAAe+pE,GACtB/pE,EAAO,kBAAmB,CAAE7Z,KAAIgqF,aAAa,EAAAxkF,EAAAvD,SAAI2hF,EAAW,QACrDA,KAGb6J,aAnFO,SAAA7kF,EAmFmBjE,IACxBkV,EADgCjR,EAAlBiR,QACP,eAAgBlV,IAEzB+oF,eAtFO,SAAA5kF,EAsFqBnE,IAC1BkV,EADkC/Q,EAAlB+Q,QACT,iBAAkBlV,IAE3B+H,cAzFO,SAAA1D,EAyF+BhJ,GAAI,IAAzBokE,EAAyBp7D,EAAzBo7D,UAAWvqD,EAAc7Q,EAAd6Q,OAC1B,OAAOuqD,EAAU19C,IAAIupB,kBAAkBvjC,cAAc1M,GAClD4C,KAAK,SAACwmF,GAAD,OAAkBvvE,EAAO,yBAA0B,CAACuvE,OAE9Dx8E,gBA7FO,SAAA1D,EA6FiClJ,GAAI,IAAzBokE,EAAyBl7D,EAAzBk7D,UAAWvqD,EAAc3Q,EAAd2Q,OAC5B,OAAOuqD,EAAU19C,IAAIupB,kBAAkBrjC,gBAAgB5M,GACpD4C,KAAK,SAACwmF,GAAD,OAAkBvvE,EAAO,yBAA0B,CAACuvE,OAE9DiG,0BAjGO,SAiGoB/oE,GACzB,IAAMpV,EAAQoV,EAAMnC,MAAMoC,YAAYjlB,YAChCmhF,EAAiBn8D,EAAM89C,UAAUpiD,SAASygE,eAC1C/hB,EAAYp6C,EAAM89C,UAAUD,OAAOF,qBACnCjoB,EAAyB11B,EAAM89C,UAAUD,OAAOnoB,wBAEtD,EAAA4wC,EAAAyC,2BAA0B3uB,EAAW+hB,EAAgBvxE,EAAO8qC,IAE9DszC,4BAzGO,SAyGsBhpE,GAC3B,IAAMpV,EAAQoV,EAAMnC,MAAMoC,YAAYjlB,aAEtC,EAAAsrF,EAAA0C,6BAA4Bp+E,IAE9By8E,YA9GO,SAAAvkF,EA8GkBpC,IACvB6S,EAD8BzQ,EAAjByQ,QACN,cAAe7S,IAExB49E,eAjHO,SAiHSt+D,EAjHT/c,GAiH8B,IAAZ0K,EAAY1K,EAAZ0K,SACjBjN,GAAQ,EAAAxB,EAAAvD,SAAIgS,EAAU,QACtBs7E,GAAiB,EAAAC,EAAAvtF,UAAQ,EAAAuD,EAAAvD,SAAIgS,EAAU,0BAC7CqS,EAAMzM,OAAO,cAAe7S,GAC5Bsf,EAAMzM,OAAO,cAAe01E,IAE5B,EAAA/7E,EAAAvR,SAAKgS,EAAU,SAAC/Q,GAEdojB,EAAMzM,OAAO,mBAAoB3W,GAEjCojB,EAAMzM,OAAO,kBAAmB3W,MAElC,EAAAsQ,EAAAvR,UAAK,EAAAutF,EAAAvtF,UAAQ,EAAAuD,EAAAvD,SAAIgS,EAAU,qBAAsB,SAAC/Q,GAEhDojB,EAAMzM,OAAO,mBAAoB3W,GAEjCojB,EAAMzM,OAAO,kBAAmB3W,MAGpCgjF,oBApIO,SAoIc5/D,EApIdhV,GAoIwC,IAAjBnM,EAAiBmM,EAAjBnM,cACtB6B,GAAQ,EAAAxB,EAAAvD,SAAIkD,EAAe,gBAC3BsqF,EAAkBtqF,EAAcjD,IAAI,SAAA4B,GAAA,OAAKA,EAAE9D,KACjDsmB,EAAMzM,OAAO,cAAe7S,GAE5B,IAAM0oF,EAAsBppE,EAAM89C,UAAUnwD,SAAS9O,cAAc4+E,QAC7D4L,GAAwB,EAAA3tF,EAAAC,SAAeytF,GAC1C7rF,OAAO,SAAA4N,GAAA,IAAA/H,GAAA,EAAArH,EAAAJ,SAAAwP,EAAA,GAAE6F,EAAF5N,EAAA,GAAAA,EAAA,UAAc+lF,EAAgBz6E,SAASsC,KAC9CpV,IAAI,SAAA2H,GAAA,IAAAvG,GAAA,EAAAjB,EAAAJ,SAAA4H,EAAA,GAAAvG,EAAA,UAAAA,EAAA,MAGP,EAAAkQ,EAAAvR,SAAK0tF,EAAuB,SAAC34C,GAC3B1wB,EAAMzM,OAAO,yBAA0Bm9B,MAG3C9iC,YAnJO,SAmJMoS,EAAOlS,GAClB,OAAOkS,EAAM89C,UAAU19C,IAAIupB,kBAAkB/7B,YAAYE,GACtDxR,KAAK,SAACoE,GAEL,OADAsf,EAAMzM,OAAO,cAAe7S,GACrBA,KAGPiiD,OA1JC,eAAAxiD,GAAA,EAAAE,EAAA1E,SAAA2E,EAAA3E,QAAA4E,KAAA,SAAAC,EA0JOwf,EAAOspE,GA1Jd,IAAAxrB,EAAA/qE,EAAAozF,EAAA,OAAA7lF,EAAA3E,QAAAgF,KAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,cA2JLkf,EAAMzM,OAAO,iBAETuqD,EAAY99C,EAAM89C,UA7JjBl9D,EAAAC,KAAA,EAAAD,EAAAE,KAAA,EAgKcg9D,EAAU19C,IAAIupB,kBAAkB5hC,SAASuhF,GAhKvD,OAgKCv2F,EAhKD6N,EAAAI,KAiKHgf,EAAMzM,OAAO,iBACbyM,EAAMzM,OAAO,WAAYxgB,EAAKw9D,cAC9BvwC,EAAMhC,SAAS,YAAajrB,EAAKw9D,cAnK9B3vD,EAAAE,KAAA,uBAAAF,EAAAC,KAAA,GAAAD,EAAAM,GAAAN,EAAA,SAqKCulF,EAASvlF,EAAAM,GAAEnK,QACfipB,EAAMzM,OAAO,gBAAiB4yE,GAtK3BvlF,EAAAM,GAAA,yBAAAN,EAAAO,SAAAX,EAAAc,KAAA,6BAAAioF,EAAAC,GAAA,OAAArpF,EAAAjM,MAAAoN,KAAAC,YAAA,GA0KD+G,WA1KC,eAAAlI,GAAA,EAAAC,EAAA1E,SAAA2E,EAAA3E,QAAA4E,KAAA,SAAAq8E,EA0KW58D,GA1KX,OAAA1f,EAAA3E,QAAAgF,KAAA,SAAAk8E,GAAA,cAAAA,EAAAh8E,KAAAg8E,EAAA/7E,MAAA,cAAA+7E,EAAAvtB,OAAA,SA2KEtvC,EAAM89C,UAAU19C,IAAIupB,kBAAkBrhC,cA3KxC,wBAAAu0E,EAAA17E,SAAAy7E,EAAAt7E,SAAA,gBAAAmoF,GAAA,OAAArpF,EAAAlM,MAAAoN,KAAAC,YAAA,GA8KPgnD,OA9KO,SA8KCvoC,GAAO,IAAA0pE,EACe1pE,EAAM89C,UAA1B7hD,EADKytE,EACLztE,MAAOP,EADFguE,EACEhuE,SAET3oB,mBACDkpB,EADC,CAEJ1I,OAAQyM,EAAMzM,OACdmI,SAAUA,EAASynC,SAGrB,OAAO8N,UAAS11C,eAAexoB,GAC5BuJ,KAAK,SAACwf,GACL,IAAM1gB,EAAS,CACb0gB,MACAJ,SAAU3oB,EAAK2oB,SACf9Q,MAAOqR,EAAM0tE,WAGf,OAAO14B,UAASj0C,YAAY5hB,KAE7BkB,KAAK,WACJ0jB,EAAMzM,OAAO,oBACbyM,EAAMhC,SAAS,wBACfgC,EAAMzM,OAAO,cACbyM,EAAMhC,SAAS,eAAgB,WAC/BgC,EAAMzM,OAAO,wBAAwB,EAAAq2E,EAAAjuF,SAAyBqkB,EAAM4B,QAAQnF,aAC5EuD,EAAMhC,SAAS,eAAgB,iBAC/BgC,EAAMhC,SAAS,eAAgB,iBAC/BgC,EAAMzM,OAAO,sBACbyM,EAAMzM,OAAO,oBAGnBs2E,UA7MO,SA6MI7pE,EAAOnjB,GAChB,OAAO,IAAAL,EAAAb,QAAY,SAACrG,EAASC,GAC3B,IAAMge,EAASyM,EAAMzM,OACrBA,EAAO,cACPyM,EAAM89C,UAAU19C,IAAIupB,kBAAkBhsC,kBAAkBd,GACrDP,KAAK,SAACvJ,GACL,GAAKA,EAAKqD,MAoCH,CACL,IAAMmG,EAAWxJ,EAAKqD,MAEtBmd,EAAO,YACiB,MAApBhX,EAASK,OACXrH,EAAO,IAAIc,MAAM,+BAEjBd,EAAO,IAAIc,MAAM,4CA3CJ,CACf,IAAMuH,EAAO7K,EAEb6K,EAAK5C,YAAc6B,EACnBe,EAAK+pF,SAAW,GAChB/pF,EAAKqqF,QAAU,GACf10E,EAAO,iBAAkB3V,GACzB2V,EAAO,cAAe,CAAC3V,IAEvBoiB,EAAMhC,SAAS,eAzbrBoyB,EAAen3C,OAAOm3C,aAEvBA,EAC2B,YAA5BA,EAAayrC,WAAiCzrC,EAAa05C,oBACxDttF,EAAAb,QAAQrG,QAAQ86C,EAAayrC,YAFVr/E,EAAAb,QAAQrG,QAAQ,OA0b3BgH,KAAK,SAAAu/E,GAAA,OAActoE,EAAO,4BAA6BsoE,KAG1DtoE,EAAO,wBAAwB,EAAAq2E,EAAAjuF,SAAyBkB,IAEpDe,EAAKgN,QACPoV,EAAMhC,SAAS,aAAcpgB,EAAKgN,OAGlCoV,EAAMhC,SAAS,qBAIjBgC,EAAMhC,SAAS,wBAAyB,CAAEjgB,SAAU,YAGpDiiB,EAAMhC,SAAS,8BAGfgC,EAAMhC,SAAS,cAGfgC,EAAM89C,UAAU19C,IAAIupB,kBAAkB5sC,aAAa,CAAErD,GAAIkE,EAAKlE,KAC3D4C,KAAK,SAACqC,GAAD,OAAa4U,EAAO,cAAe5U,KApdvB,IAC1ByxC,EA8dI78B,EAAO,YACPje,MAEDskB,MAAM,SAACxjB,GACN2C,QAAQg7E,IAAI39E,GACZmd,EAAO,YACPhe,EAAO,IAAIc,MAAM,4DAOdqK,gGCrgBf,MAAAqpF,EAAAr1F,EAAA,wCAEA,IAAM8rB,EAAiB,SAAAtlB,GAA4B,IAAzB8kB,EAAyB9kB,EAAzB8kB,MAAOhlB,EAAkBE,EAAlBF,YAC/B,OAAO0C,UAAWmN,oBAAoB,CAAE7P,gBACrCsB,KAAK,SAAC4zD,GACLlwC,EAAMzM,OAAO,oBAAqB28C,IACjC,cACFt2C,MAAM,eASL6kD,EAAuB,CAC3BH,cAPoB,SAAAziE,GAA4B,IAAzBb,EAAyBa,EAAzBb,YAAaglB,EAAYnkB,EAAZmkB,MACpCQ,EAAe,CAAExlB,cAAaglB,UAE9B,OAAOmxD,YADqB,kBAAM3wD,EAAe,CAAExlB,cAAaglB,WACxB,iBAO3By+C,oIC4DCsqB,0BAAT,SAAoC3uB,EAAW+hB,EAAgBvxE,EAAO8qC,GACvEs0C,KACFC,IACG3tF,KAAK,SAACykD,GAAD,OA9DZ,SAAwBA,EAAcqZ,EAAW+hB,GAC/C,IAAK/hB,EAAW,OAAO59D,EAAAb,QAAQpG,OAAO,IAAIc,MAAM,mCAChD,IAAK8lF,EAAgB,OAAO3/E,EAAAb,QAAQpG,OAAO,IAAIc,MAAM,kCAErD,IAAM6zF,EAAmB,CACvBC,iBAAiB,EACjBC,sBAzB4BC,EAyBgBlO,EAxBxCzvC,EAAU,IAAI49C,QAAQ,EAAID,EAAa92F,OAAS,GAAK,GACrDg3F,GAAUF,EAAe39C,GAC5BtkB,QAAQ,KAAM,KACdA,QAAQ,KAAM,KAEXoiE,EAAUvxF,OAAOwxF,KAAKF,GACrBG,WAAWC,KAAK,GAAA51E,QAAA,EAAAugB,EAAA35B,SAAI6uF,IAAS5uF,IAAI,SAACgvF,GAAD,OAAUA,EAAKC,WAAW,QAPpE,IAAgCR,EACxB39C,EACA69C,EAIAC,EAqBN,OAAOzpC,EAAa+pC,YAAYC,UAAUb,GAsDdc,CAAcjqC,EAAcqZ,EAAW+hB,KAC9D7/E,KAAK,SAAC2uF,GAAD,OA/BZ,SAAoCA,EAAcrgF,EAAO8qC,GACvD,OAAOz8C,OAAO2B,MAAM,6BAA8B,CAChDO,OAAQ,OACRI,QAAS,CACPE,eAAgB,mBAChBqB,cAAA,UAA2B8N,GAE7B1O,MAAM,EAAAC,EAAAR,SAAe,CACnBsvF,eACAl4F,KAAM,CACJm4F,OAAQ,CACN3iD,OAAQmN,EAAuBpG,QAC/B61C,UAAWzvC,EAAuB+nB,MAClC0tB,QAASz1C,EAAuB1hB,SAChCswD,OAAQ5uC,EAAuBgoB,cAIpCphE,KAAK,SAACC,GACP,IAAKA,EAASG,GAAI,MAAM,IAAIrG,MAAM,gCAClC,OAAOkG,EAASE,SACfH,KAAK,SAAC8uF,GACP,IAAKA,EAAa1xF,GAAI,MAAM,IAAIrD,MAAM,6BACtC,OAAO+0F,IAQmBC,CAA0BJ,EAAcrgF,EAAO8qC,KACtE97B,MAAM,SAAC3kB,GAAD,OAAO8D,QAAQ0kD,KAAR,2CAAwDxoD,EAAE8B,cAI9DiyF,4BAAT,SAAsCp+E,GACvCo/E,KACFxtF,EAAAb,QAAQtE,IAAI,CACVi0F,EAA8B1gF,GAC9Bq/E,IACG3tF,KAAK,SAACykD,GACL,OA/DV,SAA0BA,GACxB,OAAOA,EAAa+pC,YAAYS,kBAC7BjvF,KAAK,SAACkvF,GACL,GAAqB,OAAjBA,EACJ,OAAOA,EAAaC,gBA2DTC,CAAgB3qC,GAAczkD,KAAK,SAAClI,GAAD,MAAY,CAAC2sD,EAAc3sD,OAEtEkI,KAAK,SAAApB,GAAiC,IAAAW,GAAA,EAAAE,EAAAJ,SAAAT,EAAA,GAA/B6lD,EAA+BllD,EAAA,GAAjB8vF,EAAiB9vF,EAAA,GAIrC,OAHK8vF,GACH5yF,QAAQ0kD,KAAK,0EAERsD,EAAa6qC,aAAatvF,KAAK,SAAClI,GAChCA,GACH2E,QAAQ0kD,KAAK,2BAIpB7jC,MAAM,SAAC3kB,GAAD,OAAO8D,QAAQ0kD,KAAR,6CAA0DxoD,EAAE8B,YA3GhF,QAAArC,EAAA,yDAYA,SAASs1F,IACP,MAAO,kBAAmB3sB,WAAa,gBAAiBpkE,OAG1D,SAASgxF,IACP,OAAO4B,UAAQ9jF,WACZ6R,MAAM,SAAC9gB,GAAD,OAASC,QAAQ3C,MAAM,4CAA6C0C,KAsB/E,SAASwyF,EAA+B1gF,GACtC,OAAO3R,OAAO2B,MAAM,6BAA8B,CAChDO,OAAQ,SACRI,QAAS,CACPE,eAAgB,mBAChBqB,cAAA,UAA2B8N,KAE5BtO,KAAK,SAACC,GACP,IAAKA,EAASG,GAAI,MAAM,IAAIrG,MAAM,gCAClC,OAAOkG,qFCjDX,MAAAuvF,EAAAp3F,EAAA,yCACAq3F,EAAAr3F,EAAA,KAEA,IAAM0rB,EAAM,CACVvC,MAAO,CACL8rB,mBAAmB,EAAAigD,EAAAjuF,WACnB0kB,SAAU,GACV2rE,OAAQ,KACR77B,eAAgB,IAElB8N,UAAW,CACTguB,qBADS,SACapuE,EAAO8rB,GAC3B9rB,EAAM8rB,kBAAoBA,GAE5BuiD,WAJS,SAIGruE,EAJH3iB,GAIoC,IAAxBixF,EAAwBjxF,EAAxBixF,YAAaC,EAAWlxF,EAAXkxF,QAChCvuE,EAAMwC,SAAS8rE,GAAeC,GAEhCC,cAPS,SAOMxuE,EAPNhiB,GAO8B,IAAfswF,EAAetwF,EAAfswF,mBACftuE,EAAMwC,SAAS8rE,IAExBG,WAVS,SAUGzuE,EAAOjT,GACjBiT,EAAM0uE,QAAU3hF,GAElB4hF,UAbS,SAaE3uE,EAAOmuE,GAChBnuE,EAAMmuE,OAASA,GAEjBS,kBAhBS,SAgBU5uE,EAAO3lB,GACxB2lB,EAAMsyC,eAAiBj4D,IAG3BimE,QAAS,CACP/rB,sBADO,SACgBpyB,EADhBlkB,GAC8E,IAAAk1E,EAAAl1E,EAArDiC,gBAAqD9G,IAAA+5E,EAA1C,UAA0CA,EAAAE,EAAAp1E,EAA/B9B,WAA+B/C,IAAAi6E,KAAAD,EAAAn1E,EAAlBuC,cAAkBpH,IAAAg6E,KAEnF,IAAIjxD,EAAMnC,MAAMwC,SAAStiB,GAAzB,CAEA,IAAMquF,EAAUpsE,EAAMnC,MAAM8rB,kBAAkByI,sBAAsB,CAAEr0C,WAAUiiB,QAAO3hB,SAAQrE,QAC/FgmB,EAAMzM,OAAO,aAAc,CAAE44E,YAAapuF,EAAUquF,cAEtD7tB,2BARO,SAQqBv+C,GAE1B,IAAIA,EAAMnC,MAAMwC,SAAZ,cAAJ,CAEA,IAAM+rE,EAAUpsE,EAAMnC,MAAM8rB,kBAAkB40B,2BAA2B,CAAEv+C,UAC3EA,EAAMzM,OAAO,aAAc,CAAE44E,YAAa,gBAAiBC,cAE7D5tB,2BAfO,SAeqBx+C,GAE1B,IAAIA,EAAMnC,MAAMwC,SAAZ,cAAJ,CAEA,IAAM+rE,EAAUpsE,EAAMnC,MAAM8rB,kBAAkB60B,2BAA2B,CAAEx+C,UAC3EA,EAAMzM,OAAO,aAAc,CAAE44E,YAAa,gBAAiBC,cAE7Dv6C,aAtBO,SAsBO7xB,EAAOmsE,GACnB,IAAMC,EAAUpsE,EAAMnC,MAAMwC,SAAS8rE,GACrClzF,OAAOyzF,cAAcN,GACrBpsE,EAAMzM,OAAO,gBAAiB,CAAE44E,iBAElCG,WA3BO,SA2BKtsE,EAAOpV,GACjBoV,EAAMzM,OAAO,aAAc3I,IAE7B+hF,iBA9BO,SAAA3/E,GA8BmD,IAAtCgR,EAAsChR,EAAtCgR,SAAUzK,EAA4BvG,EAA5BuG,OAAQsK,EAAoB7Q,EAApB6Q,MAAOigD,EAAa9wD,EAAb8wD,UAErClzD,EAAQiT,EAAM0uE,QACpB,GAAIzuB,EAAUpiD,SAASu3C,oBAAkC,IAAVroD,GAA0C,OAAjBiT,EAAMmuE,OAAiB,CAC7F,IAAMA,EAAS,IAAIY,SAAO,UAAW,CAAExxF,OAAQ,CAAEwP,WACjDohF,EAAOa,UAEPt5E,EAAO,YAAay4E,GACpBhuE,EAAS,iBAAkBguE,KAG/Bc,qBAzCO,SAAArkF,GAyCkC,IAAjB8K,EAAiB9K,EAAjB8K,OAAQsK,EAASpV,EAAToV,MAC9BA,EAAMmuE,QAAUnuE,EAAMmuE,OAAOe,aAC7Bx5E,EAAO,YAAa,OAEtBy5E,oBA7CO,SA6CchtE,EAAOhpB,GAC1B,IAAIk5D,EAAWlwC,EAAMnC,MAAMsyC,eAAe5yD,OAAO,SAAC+0E,GAAD,OAAQA,IAAOt7E,IAChEgpB,EAAMzM,OAAO,oBAAqB28C,gBAKzB9vC,4FClFF,CACXvC,MAAO,CACLk0C,SAAU,GACVF,QAAS,CAAEh0C,MAAO,KAEpBogD,UAAW,CACTgvB,WADS,SACGpvE,EAAOg0C,GACjBh0C,EAAMg0C,QAAUA,GAElBq7B,WAJS,SAIGrvE,EAAO9mB,GACjB8mB,EAAMk0C,SAASt+D,KAAKsD,GACpB8mB,EAAMk0C,SAAWl0C,EAAMk0C,SAAS54D,OAAO,GAAI,KAE7Cg0F,YARS,SAQItvE,EAAOk0C,GAClBl0C,EAAMk0C,SAAWA,EAAS54D,OAAO,GAAI,MAGzCglE,QAAS,CACPivB,eADO,SACSptE,EAAOgsE,GACrB,IAAMn6B,EAAUm6B,EAAOn6B,QAAQ,eAC/BA,EAAQqL,GAAG,UAAW,SAACmwB,GACrBrtE,EAAMzM,OAAO,aAAc85E,KAE7Bx7B,EAAQqL,GAAG,WAAY,SAAAhiE,GAAkB,IAAf62D,EAAe72D,EAAf62D,SACxB/xC,EAAMzM,OAAO,cAAew+C,KAE9BF,EAAQ51D,OACR+jB,EAAMzM,OAAO,aAAcs+C,qFC3BjC,IAAAhc,EAAAnhD,EAAA,IAEMunB,EAAQ,CACZ4B,MAAO,CACLrC,UAAU,EACVC,cAAc,EAKd6xE,UAAU,EAIV3D,WAAW,GAEb1rB,UAAW,CACTsvB,cADS,SACM1vE,EADN3iB,GACyC,IAA1BsgB,EAA0BtgB,EAA1BsgB,SAAUC,EAAgBvgB,EAAhBugB,aAChCoC,EAAMrC,SAAWA,EACjBqC,EAAMpC,aAAeA,GAEvB+xE,YALS,SAKI3vE,EAAOjT,GAClBiT,EAAMyvE,SAAW1iF,GAEnB6iF,SARS,SAQC5vE,EAAOjT,GACfiT,EAAM8rE,UAAY/+E,GAEpB8iF,WAXS,SAWG7vE,GACVA,EAAM8rE,WAAY,GAGlB,EAAA9zC,EAAAiG,QAAIj+B,EAAO,WAGf+D,QAAS,CACPnF,SAAU,SAAAoB,GAAA,OAAS,WAGjB,OAAOA,EAAM8rE,WAAa9rE,EAAMjT,OAASiT,EAAMyvE,WAEjDK,aAAc,SAAA9vE,GAAA,OAAS,WAGrB,OAAOA,EAAM8rE,WAAa9rE,EAAMjT,oBAKvBqR,8JChDf,IAQM4B,EAAQ,CACZ/B,IAAK,KACL7O,SAAU,GACV2gF,SAXwB,WAYxBC,aAZwB,YAepBhyB,EAAa,SAACh+C,GAClBA,EAAM+vE,SAAW/vE,EAAMgwE,aACvBhwE,EAAM5Q,SAAW,GACjB4Q,EAAM/B,IAAM,MAIR8F,EAAU,CACd9F,IAAK,SAAC+B,EAAO+D,GACX,OAAO/D,EAAM/B,KAEf7O,SAAU,SAAC4Q,EAAO+D,GAChB,OAAO/D,EAAM5Q,UAEfyjD,iBAAkB,SAAC7yC,EAAO+D,EAASk8C,GACjC,MA9BsB,aA8BfjgD,EAAM+vE,UAEfh9B,cAAe,SAAC/yC,EAAO+D,EAASk8C,GAC9B,MAhCmB,UAgCZjgD,EAAM+vE,UAEfnW,aAAc,SAAC55D,EAAO+D,EAASk8C,GAC7B,MAhCkB,SAgCXjgD,EAAM+vE,UAEflW,iBAAkB,SAAC75D,EAAO+D,EAASk8C,GACjC,MAlCsB,aAkCfjgD,EAAM+vE,WAKX3vB,EAAY,CAChB6vB,mBADgB,SACIjwE,EAAO+vE,GACrBA,IACF/vE,EAAMgwE,aAAeD,EACrB/vE,EAAM+vE,SAAWA,IAGrBG,gBAPgB,SAOClwE,GACfA,EAAM+vE,SApDgB,YAsDxBI,aAVgB,SAUFnwE,GACZA,EAAM+vE,SAtDa,SAwDrB18B,WAbgB,SAaJrzC,EAbI3iB,GAasB,IAAjB4gB,EAAiB5gB,EAAjB4gB,IAAK7O,EAAY/R,EAAZ+R,SACxB4Q,EAAM5Q,SAAWA,EACjB4Q,EAAM/B,IAAMA,EACZ+B,EAAM+vE,SAxDY,QA0DpB5e,gBAlBgB,SAkBCnxD,GACfA,EAAM+vE,SA1DgB,YA4DxB9e,YArBgB,SAqBHjxD,GACXA,EAAM+vE,SA9DY,QAgEpB7e,SAxBgB,SAwBNlxD,GACRg+C,EAAWh+C,KAKTsgD,EAAU,CAERhiD,MAFQ,eAAAnP,GAAA,EAAA3M,EAAA1E,SAAA2E,EAAA3E,QAAA4E,KAAA,SAAAC,EAAA3E,EAAAC,GAAA,IAEC+hB,EAFDhiB,EAECgiB,MAAOG,EAFRniB,EAEQmiB,SAAUzK,EAFlB1X,EAEkB0X,OAAYg9C,EAF9Bz0D,EAE8By0D,aAF9B,OAAAjwD,EAAA3E,QAAAgF,KAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,cAGZyS,EAAO,WAAYg9C,EAAc,CAAEjxC,MAAM,IAH7B1e,EAAAE,KAAA,EAINkd,EAAS,YAAauyC,EAAc,CAAEjxC,MAAM,IAJtC,OAKZu8C,EAAWh+C,GALC,wBAAAjd,EAAAO,SAAAX,EAAAc,SAAA,gBAAAF,EAAAC,GAAA,OAAA2L,EAAA9Y,MAAAoN,KAAAC,YAAA,cASD,CACb0sF,YAAY,EACZpwE,QACA+D,UACAq8C,YACAE,0FCxFF,MAAA+vB,EAAAx5F,EAAA,wCAEA,IAAMijE,EAAc,CAClB95C,MAAO,CACL9e,MAAO,GACP84D,aAAc,EACdD,WAAW,GAEbqG,UAAW,CACTvyC,SADS,SACC7N,EAAO9e,GACf8e,EAAM9e,MAAQA,GAEhBovF,WAJS,SAIGtwE,EAAO0S,GACjB1S,EAAM+5C,WAAY,EAClB/5C,EAAMg6C,aAAetnC,GAEvBi+C,MARS,SAQF3wD,GACLA,EAAM+5C,WAAY,IAGtBuG,QAAS,CACPzyC,SADO,SAAAxwB,EACeqsB,IAKpBhU,EALiCrY,EAAvBqY,QAKH,WAJOgU,EAAYhqB,OAAO,SAAAgb,GAC/B,IAAM3hB,EAAOib,UAAgBH,SAAS6G,EAAW5G,UACjD,MAAgB,UAAT/a,GAA6B,UAATA,MAI/Bu3F,WARO,SAAAtyF,EAQwBuyF,IAE7B76E,EAFsC1X,EAA1B0X,QAEL,aAF+B1X,EAAlBgiB,MACA9e,MAAMs4B,QAAQ+2D,IACJ,IAEhCC,iBAZO,SAAAvyF,IAaLyX,EAD4BzX,EAAVyX,QACX,sBAKEokD,2FCtCK,CAClB95C,MAAO,CACL2oC,OAAQ,IAEV2X,QAAS,CACPmwB,YADO,SAAApzF,GAC6B,IAArB4iE,EAAqB5iE,EAArB4iE,UAAWvqD,EAAUrY,EAAVqY,OACxBuqD,EAAU19C,IAAIupB,kBAAkBjjC,mBAAmBpK,KAAK,SAACkqD,GACvDjzC,EAAO,aAAcizC,MAGzBxpC,YANO,SAAAnhB,EAMoCnC,GAAI,IAAhCokE,EAAgCjiE,EAAhCiiE,UAAWvqD,EAAqB1X,EAArB0X,OAAQsK,EAAahiB,EAAbgiB,MAChCigD,EAAU19C,IAAIupB,kBAAkB/iC,iBAAiBlN,GAAI4C,KAAK,SAACC,GACjC,MAApBA,EAASK,QACX2W,EAAO,aAAcsK,EAAM2oC,OAAOjpD,OAAO,SAAAqN,GAAA,OAASA,EAAMlR,KAAOA,SAKvEukE,UAAW,CACTswB,WADS,SACG1wE,EAAO2oC,GACjB3oC,EAAM2oC,OAASA,oFCpBrB,MAAAgoC,EAAA95F,EAAA,wCAEA,IAAM+mE,EAAU,CACd59C,MAAO,CACLxf,OAAQ,KACRsP,SAAU,GACV+tD,gBAAgB,GAElBuC,UAAW,CACTwwB,uBADS,SACe5wE,EADf3iB,GAC4C,IAApBmD,EAAoBnD,EAApBmD,OAAQsP,EAAYzS,EAAZyS,SACvCkQ,EAAMxf,OAASA,EACfwf,EAAMlQ,SAAWA,EACjBkQ,EAAM69C,gBAAiB,GAEzBgzB,wBANS,SAMgB7wE,GACvBA,EAAM69C,gBAAiB,IAG3ByC,QAAS,CACPswB,uBADO,SAAA5yF,EACwCwC,GAAQ,IAA7By/D,EAA6BjiE,EAA7BiiE,UAAWvqD,EAAkB1X,EAAlB0X,OAC7B5F,GAAW,EAAAghF,EAAAhzF,SAAOmiE,EAAUnwD,SAASk/B,YAAa,SAAAjwC,GAAA,OAAUA,EAAOgB,KAAKlE,KAAO2E,IACrFkV,EAAO,yBAA0B,CAAElV,SAAQsP,cAE7C+gF,wBALO,SAAA5yF,IAMLyX,EADmCzX,EAAVyX,QAClB,wCAKEkoD,oIC5Bf5lB,EAAAnhD,EAAA,IAEA,IAAMg7B,EAAQ,CACZ7R,MAAO,CAEL+wE,aAAc,GACdj/D,YAAa,IAEfsuC,UAAW,CACT4wB,eADS,SACOhxE,EAAOvZ,GACrB,IAAMwqF,EAAejxE,EAAM8R,YAAYrrB,EAAK5K,IAE5C4K,EAAKyrB,QAAUnU,KAAK+3D,MAAQ/3D,KAAKiW,MAAMvtB,EAAKwrB,YACxCg/D,GACF,EAAAj5C,EAAAvP,KAAIzoB,EAAM8R,YAAarrB,EAAK5K,IAAI,EAAAskF,EAAAriF,SAAMmzF,EAAcxqF,KAEpD,EAAAuxC,EAAAvP,KAAIzoB,EAAM8R,YAAarrB,EAAK5K,GAAI4K,IAGpCyqF,UAXS,SAWElxE,EAAOlS,GAChB,IAAMqjF,EAAenxE,EAAM+wE,aAAajjF,GACpCqjF,GACF,EAAAn5C,EAAAvP,KAAIzoB,EAAM+wE,aAAcjjF,EAAQqjF,EAAe,IAE/C,EAAAn5C,EAAAvP,KAAIzoB,EAAM+wE,aAAcjjF,EAAQ,IAGpCsjF,YAnBS,SAmBIpxE,EAAOlS,GAClB,IAAMqjF,EAAenxE,EAAM+wE,aAAajjF,GACpCqjF,GACF,EAAAn5C,EAAAvP,KAAIzoB,EAAM+wE,aAAcjjF,EAAQqjF,EAAe,IAE/C,EAAAn5C,EAAAvP,KAAIzoB,EAAM+wE,aAAcjjF,EAAQ,KAItCwyD,QAAS,CACP0wB,eADO,SAAA3zF,EACqBoJ,IAC1BiP,EADgCrY,EAAhBqY,QACT,iBAAkBjP,IAE3B4qF,kBAJO,SAAArzF,EAI6C8P,GAAQ,IAAvCmyD,EAAuCjiE,EAAvCiiE,UAAW9/C,EAA4BniB,EAA5BmiB,SAAUzK,EAAkB1X,EAAlB0X,OACxCuqD,EAAU19C,IAAIupB,kBAAkB99B,UAAUF,GAAQrP,KAAK,SAAAgI,GACrDpN,WAAW,WACL4mE,EAAUpuC,MAAMk/D,aAAajjF,IAC/BqS,EAAS,oBAAqBrS,IAE/B,KACH4H,EAAO,iBAAkBjP,MAG7ByqF,UAdO,SAAAjzF,EAcqC6P,GAAQ,IAAvCmyD,EAAuChiE,EAAvCgiE,UAAWvqD,EAA4BzX,EAA5ByX,OAAQyK,EAAoBliB,EAApBkiB,SACzB8/C,EAAUpuC,MAAMk/D,aAAajjF,IAChCzU,WAAW,kBAAM8mB,EAAS,oBAAqBrS,IAAS,KAE1D4H,EAAO,YAAa5H,IAEtBsjF,YApBO,SAAAjiF,EAoBkBrB,IACvB4H,EAD+BvG,EAAlBuG,QACN,cAAe5H,IAExBwjF,SAvBO,SAAA1mF,EAAAG,GAuBmD,IAA9Ck1D,EAA8Cr1D,EAA9Cq1D,UAAWvqD,EAAmC9K,EAAnC8K,OAAgB5H,GAAmB/C,EAAvBlP,GAAuBkP,EAAnB+C,QAAQC,EAAWhD,EAAXgD,QAC7C,OAAOkyD,EAAU19C,IAAIupB,kBAAkBl+B,KAAKE,EAAQC,GAAStP,KAAK,SAAAgI,GAEhE,OADAiP,EAAO,iBAAkBjP,GAClBA,iBAMAorB,2FCrEI,CACjB7R,MAAO,CACLziB,OAAQ,KACRsgE,gBAAgB,GAElBuC,UAAW,CACTmxB,oBADS,SACYvxE,EAAOziB,GAC1ByiB,EAAMziB,OAASA,EACfyiB,EAAM69C,gBAAiB,GAEzB2zB,qBALS,SAKaxxE,GACpBA,EAAM69C,gBAAiB,IAG3ByC,QAAS,CACPixB,oBADO,SAAAl0F,EAC0BE,IAC/BmY,EADuCrY,EAAlBqY,QACd,sBAAuBnY,IAEhCi0F,qBAJO,SAAAxzF,IAKL0X,EADgC1X,EAAV0X,QACf,2JCUE,WAkBP,IAAArY,EAAAqG,UAAAhO,OAAA,QAAA0D,IAAAsK,UAAA,GAAAA,UAAA,GAAJ,GAAI+tF,EAAAp0F,EAjBN1C,WAiBMvB,IAAAq4F,EAjBA,UAiBAA,EAAAC,EAAAr0F,EAhBN0+E,aAgBM3iF,IAAAs4F,EAhBE,GAgBFA,EAAAC,EAAAt0F,EAfNu0F,gBAeMx4F,IAAAu4F,EAfK,SAACh3F,EAAKk3F,GACf,IAAIx3F,EAAQw3F,EAAQC,QAAQn3F,GAC5B,OAAON,GAaHs3F,EAAAI,EAAA10F,EAXN20F,gBAWM54F,IAAA24F,EAXK,SAACp3F,EAAKqlB,EAAO6xE,GACtB,OAAKv8C,EAIIu8C,EAAQI,QAAQt3F,EAAKqlB,IAH5B9kB,QAAQg7E,IAAI,yCACLv3E,EAAAb,QAAQrG,YAQbs6F,EAAAG,EAAA70F,EAHN80F,eAGM/4F,IAAA84F,EAHIE,EAGJF,EAAAG,EAAAh1F,EAFNw0F,eAEMz4F,IAAAi5F,EAFIC,EAEJD,EAAAE,EAAAl1F,EADNm1F,kBACMp5F,IAAAm5F,EADO,SAAApwE,GAAA,OAAS,SAAA21B,GAAA,OAAW31B,EAAM+qE,UAAUp1C,KAC3Cy6C,EACN,OAAOX,EAASj3F,EAAKk3F,GAASpzF,KAAK,SAACg0F,GAClC,OAAO,SAAAtwE,GACL,IACE,GAAmB,OAAfswE,GAA6C,iBAAtB,IAAOA,EAAP,eAAAjgF,EAAA1U,SAAO20F,IAAyB,CAEzD,IAAMC,EAAaD,EAAW5vF,OAAS,GACvC6vF,EAAW5/C,YAAc,GACzB,IAAMjwC,EAAQ6vF,EAAW7vF,OAAS,IAClC,EAAAwM,EAAAvR,SAAK+E,EAAO,SAAC9C,GAAW2yF,EAAW5/C,YAAY/yC,EAAKlE,IAAMkE,IAC1D0yF,EAAW5vF,MAAQ6vF,EAEnBvwE,EAAMwwE,cACJ,EAAAC,EAAA90F,SAAM,GAAIqkB,EAAMnC,MAAOyyE,IAG3Bn9C,GAAS,EACT,MAAOl+C,GACP8D,QAAQg7E,IAAI,uBACZh7E,QAAQ3C,MAAMnB,GACdk+C,GAAS,EAEXk9C,EAAWrwE,EAAXqwE,CAAkB,SAACK,EAAU7yE,GAC3B,IACM8yE,EAAuBjiF,SAASgiF,EAAS95F,OAC3Ci5F,EAASr3F,EAAKw3F,EAAQnyE,EAAO+7D,GAAQ8V,GAClCpzF,KAAK,SAAAwmD,QACmB,IAAZA,IACa,cAAlB4tC,EAAS95F,MAA0C,mBAAlB85F,EAAS95F,MAC5CopB,EAAMhC,SAAS,gBAAiB,CAAE8kC,cAGrC,SAAA1sD,GACqB,cAAlBs6F,EAAS95F,MAA0C,mBAAlB85F,EAAS95F,MAC5CopB,EAAMhC,SAAS,gBAAiB,CAAE5nB,YAI1C,MAAOnB,GACP8D,QAAQg7E,IAAI,2BACZh7E,QAAQg7E,IAAI9+E,UAvFtB,QAAAP,EAAA,UACAA,EAAA,UACAA,EAAA,yDAGA,IAAIy+C,GAAS,EAEP88C,EAAiB,SAACpyE,EAAO+7D,GAAR,OACJ,IAAjBA,EAAMrmF,OAAesqB,EAAQ+7D,EAAMlqE,OAAO,SAACkhF,EAAUhtB,GAEnD,OADAitB,UAAWvqD,IAAIsqD,EAAUhtB,EAAMitB,UAAW/4F,IAAI+lB,EAAO+lD,IAC9CgtB,GACN,KAGCD,EAAyB,CAC7B,0BACA,mBACA,iBACA,eACA,YACA,gBACA,WACA,cAGIR,EACGW,mHC1BM,SAAC9wE,GACdA,EAAM+qE,UAAU,SAAC2F,EAAU7yE,GACzB,IAAMs+D,EAAiBt+D,EAAMnC,SAASygE,eAChC4U,EAAsBlzE,EAAMggD,OAAOF,qBACnCke,EAAwD,YAA3Ch+D,EAAMpF,UAAUgjE,uBAC7B79E,EAAOigB,EAAMnd,MAAMuf,YAEnB+wE,EAAmC,mBAAlBN,EAAS95F,KAC1Bq6F,EAAoC,sBAAlBP,EAAS95F,MAA0D,mBAA1B85F,EAASr1F,QAAQ5D,KAC5Ey5F,EAAmC,8BAAlBR,EAAS95F,MAA6D,YAArB85F,EAASr1F,QAC3E81F,EAAyC,cAAlBT,EAAS95F,MAAkD,yBAA1B85F,EAASr1F,QAAQ5D,KACzE25F,EAAyC,cAAlBV,EAAS95F,MAAkD,2BAA1B85F,EAASr1F,QAAQ5D,KAE/E,GAAIu5F,GAAkBC,GAAmBC,GAAkBC,GAAwBC,EAAsB,CACvG,GAAIxzF,GAAQu+E,GAAkBN,GAAckV,EAC1C,OAAO/wE,EAAMhC,SAAS,6BACjB,GAAImzE,IAAyBJ,EAClC,OAAO/wE,EAAMhC,SAAS,00uVCjBlBqzE,0JAAZ38F,EAAA,MAEA,IAAI48F,SACAC,SACEC,EAAY,IAAAnoD,EAAA1tC,QAAQ,IAEpB81F,EAAoB,SAAC16D,GACzB,IAAM26D,EAAez4F,OAAOwhE,WAAa/kE,SAAS6sB,gBAAgBm2D,YAClE2Y,EAAeI,kBAAkB16D,EAAI,CACnC46D,qBAAqB,IAEvBH,EAAU39E,IAAIkjB,GACd7/B,WAAW,WACT,GAAIs6F,EAAUvkE,MAAQ,EAAG,CAEvB,QAAgCh2B,IAA5Bq6F,EAAuC,CACzC,IAAMM,EAAQl8F,SAASm8F,eAAe,OACtCP,EAA0Br4F,OAAOmhB,iBAAiBw3E,GAAOv3E,iBAAiB,iBAC1Eu3E,EAAM56D,MAAM86D,aAAeR,UAAkCA,EAAlC,MAA+DI,EAA/D,MAAsFA,EAAtF,KAG7B,QAAkCz6F,IAA9Bs6F,EAAyC,CAC3C,IAAMQ,EAAiBr8F,SAASm8F,eAAe,kBAC/CN,EAA4Bt4F,OAAOmhB,iBAAiB23E,GAAgB13E,iBAAiB,SACrF03E,EAAe/6D,MAAMx9B,MAAQ+3F,UAAoCA,EAApC,MAAmEG,EAAnE,MAA0FA,EAA1F,KAE/Bh8F,SAASwG,KAAK0X,UAAUC,IAAI,qBAK5Bm+E,EAAmB,SAACj7D,GACxBy6D,EAAU11C,OAAO/kB,GACjB7/B,WAAW,WACc,IAAnBs6F,EAAUvkE,YACoBh2B,IAA5Bq6F,IACF57F,SAASm8F,eAAe,OAAO76D,MAAM86D,aAAeR,EAEpDA,OAA0Br6F,QAEMA,IAA9Bs6F,IACF77F,SAASm8F,eAAe,kBAAkB76D,MAAMx9B,MAAQ+3F,EAExDA,OAA4Bt6F,GAE9BvB,SAASwG,KAAK0X,UAAUU,OAAO,oBAGnC+8E,EAAeW,iBAAiBj7D,IAG5Bk7D,EAAY,CAChBC,SAAU,SAACn7D,EAAIo7D,GACTA,EAAQj6F,OACVu5F,EAAkB16D,IAGtBq7D,iBAAkB,SAACr7D,EAAIo7D,GACjBA,EAAQE,WAAaF,EAAQj6F,QAI7Bi6F,EAAQj6F,MACVu5F,EAAkB16D,GAElBi7D,EAAiBj7D,KAGrBu7D,OAAQ,SAACv7D,GACPi7D,EAAiBj7D,eAIN,SAAColC,GACdA,EAAI81B,UAAU,mBAAoBA,wKC1EpCv9F,EAAA,SACAA,EAAA,UACAA,EAAA,UACAA,EAAA,MACA8/D,EAAA9/D,EAAA,KACA07D,EAAA17D,EAAA,SACAA,EAAA,yDAEA,IAAMmH,EAoCAC,EAeA2M,EAuDAQ,EAeAjB,EAeA7F,EA+BAW,EAWAkI,EASA5H,EA2CApG,EASAoD,EAaAX,EA5PA8yF,GAAA12F,GAAA,EAAAwE,EAAA1E,SAAA2E,EAAA3E,QAAA4E,KAAqB,SAAAC,EAAAtF,GAAA,IAAAmtD,EAAAt1D,EAAAy/F,EAAA/6F,EAAAg7F,EAAA58D,EAAAyE,EAAA6oB,EAAAg5B,EAAAuW,EAAS1yE,EAAT9kB,EAAS8kB,MAAT,OAAA1f,EAAA3E,QAAAgF,KAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,cAAAF,EAAAC,KAAA,EAAAD,EAAAE,KAAA,EAEL7H,OAAO2B,MAAM,8BAFR,YAEjBytD,EAFiBznD,EAAAI,MAGftE,GAHe,CAAAkE,EAAAE,KAAA,gBAAAF,EAAAE,KAAA,EAIFunD,EAAI5rD,OAJF,cAIf1J,EAJe6N,EAAAI,KAAAwxF,EAK+Fz/F,EAAK4/F,KAAjHl7F,EALa+6F,EAKb/6F,KAAcg7F,EALDD,EAKPr5B,OAA4BtjC,EALrB28D,EAKqB38D,UAAWyE,EALhCk4D,EAKgCl4D,YAAa6oB,EAL7CqvC,EAK6CrvC,OAAQg5B,EALrDqW,EAKqDrW,eAAgBuW,EALrEF,EAKqEE,sBAE1F1yE,EAAMhC,SAAS,oBAAqB,CAAEvmB,KAAM,OAAQS,MAAOT,IAC3DuoB,EAAMhC,SAAS,oBAAqB,CAAEvmB,KAAM,mBAAoBS,MAA+B,MAAvBu6F,IACxEzyE,EAAMhC,SAAS,oBAAqB,CAAEvmB,KAAM,YAAaS,MAAO4Y,SAAS+kB,KACzE7V,EAAMhC,SAAS,oBAAqB,CAAEvmB,KAAM,SAAUS,MAAOirD,IAC7DnjC,EAAMhC,SAAS,oBAAqB,CAAEvmB,KAAM,SAAUS,MAAiC,MAA1Bw6F,IAIzDp4D,IACFta,EAAMhC,SAAS,oBAAqB,CAAEvmB,KAAM,cAAeS,MAAO4Y,SAASwpB,EAAYA,eACvFta,EAAMhC,SAAS,oBAAqB,CAAEvmB,KAAM,cAAeS,MAAO4Y,SAASwpB,EAAYs4D,eACvF5yE,EAAMhC,SAAS,oBAAqB,CAAEvmB,KAAM,kBAAmBS,MAAO4Y,SAASwpB,EAAYu4D,mBAC3F7yE,EAAMhC,SAAS,oBAAqB,CAAEvmB,KAAM,cAAeS,MAAO4Y,SAASwpB,EAAYw4D,gBAGrF3W,GACFn8D,EAAMhC,SAAS,oBAAqB,CAAEvmB,KAAM,iBAAkBS,MAAOikF,IAvBlDv7E,EAAA0uD,OAAA,SA0Bdv8D,EAAK4/F,KAAKI,WA1BI,cA4Bd1qC,EA5Bc,QAAAznD,EAAAE,KAAA,iBAAAF,EAAAC,KAAA,GAAAD,EAAAM,GAAAN,EAAA,SA+BvB7H,QAAQ3C,MAAM,sDACd2C,QAAQ3C,MAARwK,EAAAM,IAhCuB,yBAAAN,EAAAO,SAAAX,OAAAvJ,EAAA,aAArB,SAAAmK,GAAA,OAAAvF,EAAA3H,MAAAoN,KAAAC,aAoCAyxF,GAAAl3F,GAAA,EAAAuE,EAAA1E,SAAA2E,EAAA3E,QAAA4E,KAAkB,SAAAq8E,IAAA,IAAAv0B,EAAA,OAAA/nD,EAAA3E,QAAAgF,KAAA,SAAAk8E,GAAA,cAAAA,EAAAh8E,KAAAg8E,EAAA/7E,MAAA,cAAA+7E,EAAAh8E,KAAA,EAAAg8E,EAAA/7E,KAAA,EAEF7H,OAAO2B,MAAM,uBAFX,YAEdytD,EAFcw0B,EAAA77E,MAGZtE,GAHY,CAAAmgF,EAAA/7E,KAAA,eAAA+7E,EAAAvtB,OAAA,SAIXjH,EAAI5rD,QAJO,aAMX4rD,EANW,OAAAw0B,EAAA/7E,KAAA,wBAAA+7E,EAAAh8E,KAAA,GAAAg8E,EAAA37E,GAAA27E,EAAA,SASpB9jF,QAAQ0kD,KAAK,6DACb1kD,QAAQ0kD,KAARo/B,EAAA37E,IAVoB27E,EAAAvtB,OAAA,SAWb,IAXa,yBAAAutB,EAAA17E,SAAAy7E,OAAA3lF,EAAA,aAAlB,kBAAA6E,EAAA5H,MAAAoN,KAAAC,aAeA0xF,GAAAxqF,GAAA,EAAApI,EAAA1E,SAAA2E,EAAA3E,QAAA4E,KAAc,SAAA2yF,EAAAlmF,GAAA,IAAAmmF,EAAAC,EAAAv1B,EAAAw1B,EAASC,EAATtmF,EAASsmF,UAAWC,EAApBvmF,EAAoBumF,aAAcvzE,EAAlChT,EAAkCgT,MAAlC,OAAA1f,EAAA3E,QAAAgF,KAAA,SAAA6yF,GAAA,cAAAA,EAAA3yF,KAAA2yF,EAAA1yF,MAAA,cACZqyF,EAAYl6F,OAAOoiF,4BAA8B,GACjD+X,EAAMn6F,OAAOkiF,kBAAkBsY,SAGjC51B,EAAS,GACTs1B,EAAUO,wBAAkC,gBAARN,GACtCr6F,QAAQ0kD,KAAK,4CACbogB,GAAS,EAAA3qD,EAAAvX,SAAc,GAAI23F,EAAWC,IAEtC11B,GAAS,EAAA3qD,EAAAvX,SAAc,GAAI43F,EAAcD,IAGrCD,EAAqB,SAAC57F,GAC1BuoB,EAAMhC,SAAS,oBAAqB,CAAEvmB,OAAMS,MAAO2lE,EAAOpmE,OAGzC,mBACnB47F,EAAmB,cACnBA,EAAmB,iBACnBA,EAAmB,iBACnBA,EAAmB,wBACnBA,EAAmB,QAEnBrzE,EAAMhC,SAAS,oBAAqB,CAClCvmB,KAAM,WACNS,WAAkC,IAApB2lE,EAAOjI,UAEjBiI,EAAOjI,WAGb51C,EAAMhC,SAAS,oBAAqB,CAClCvmB,KAAM,aACNS,WAAoC,IAAtB2lE,EAAOzH,WACjB,EACAyH,EAAOzH,aAEbp2C,EAAMzM,OAAO,8BAA+BsqD,EAAO81B,aAEnDN,EAAmB,uBACnBA,EAAmB,qBACnBA,EAAmB,6BACnBA,EAAmB,qBACnBA,EAAmB,kBACnBA,EAAmB,8BACnBA,EAAmB,aACnBA,EAAmB,uBACnBA,EAAmB,mBACnBA,EAAmB,0BACnBA,EAAmB,qBACnBA,EAAmB,qBAlDDG,EAAAlkC,OAAA,SAoDXtvC,EAAMhC,SAAS,WAAY6/C,EAAA,QApDhB,yBAAA21B,EAAAryF,SAAA+xF,OAAAj8F,MAAd,SAAAoK,GAAA,OAAAoH,EAAAvU,MAAAoN,KAAAC,aAuDAqyF,GAAA3qF,GAAA,EAAA5I,EAAA1E,SAAA2E,EAAA3E,QAAA4E,KAAS,SAAAszF,EAAAjrF,GAAA,IAAAy/C,EAAArgC,EAAShI,EAATpX,EAASoX,MAAT,OAAA1f,EAAA3E,QAAAgF,KAAA,SAAAmzF,GAAA,cAAAA,EAAAjzF,KAAAizF,EAAAhzF,MAAA,cAAAgzF,EAAAjzF,KAAA,EAAAizF,EAAAhzF,KAAA,EAEO7H,OAAO2B,MAAM,iCAFpB,YAELytD,EAFKyrC,EAAA9yF,MAGHtE,GAHG,CAAAo3F,EAAAhzF,KAAA,gBAAAgzF,EAAAhzF,KAAA,EAIUunD,EAAI11C,OAJd,OAIHqV,EAJG8rE,EAAA9yF,KAKTgf,EAAMhC,SAAS,oBAAqB,CAAEvmB,KAAM,MAAOS,MAAO8vB,IALjD8rE,EAAAhzF,KAAA,uBAOFunD,EAPE,QAAAyrC,EAAAhzF,KAAA,iBAAAgzF,EAAAjzF,KAAA,GAAAizF,EAAA5yF,GAAA4yF,EAAA,SAUX/6F,QAAQ0kD,KAAK,kBACb1kD,QAAQ0kD,KAARq2C,EAAA5yF,IAXW,yBAAA4yF,EAAA3yF,SAAA0yF,OAAA58F,EAAA,aAAT,SAAA88F,GAAA,OAAA9qF,EAAA/U,MAAAoN,KAAAC,aAeAyyF,GAAAhsF,GAAA,EAAA3H,EAAA1E,SAAA2E,EAAA3E,QAAA4E,KAAmB,SAAA0zF,EAAAlrF,GAAA,IAAAs/C,EAAArgC,EAAShI,EAATjX,EAASiX,MAAT,OAAA1f,EAAA3E,QAAAgF,KAAA,SAAAuzF,GAAA,cAAAA,EAAArzF,KAAAqzF,EAAApzF,MAAA,cAAAozF,EAAArzF,KAAA,EAAAqzF,EAAApzF,KAAA,EAEH7H,OAAO2B,MAAM,wBAFV,YAEfytD,EAFe6rC,EAAAlzF,MAGbtE,GAHa,CAAAw3F,EAAApzF,KAAA,gBAAAozF,EAAApzF,KAAA,EAIAunD,EAAI11C,OAJJ,OAIbqV,EAJaksE,EAAAlzF,KAKnBgf,EAAMhC,SAAS,oBAAqB,CAAEvmB,KAAM,+BAAgCS,MAAO8vB,IALhEksE,EAAApzF,KAAA,uBAOZunD,EAPY,QAAA6rC,EAAApzF,KAAA,iBAAAozF,EAAArzF,KAAA,GAAAqzF,EAAAhzF,GAAAgzF,EAAA,SAUrBn7F,QAAQ0kD,KAAK,6BACb1kD,QAAQ0kD,KAARy2C,EAAAhzF,IAXqB,yBAAAgzF,EAAA/yF,SAAA8yF,OAAAh9F,EAAA,aAAnB,SAAAk9F,GAAA,OAAAnsF,EAAA9T,MAAAoN,KAAAC,aAeA6yF,GAAAjyF,GAAA,EAAA9B,EAAA1E,SAAA2E,EAAA3E,QAAA4E,KAAc,SAAA8zF,EAAAxyF,GAAA,IAAAwmD,EAAAq0B,EAAA55C,EAAS9iB,EAATne,EAASme,MAAT,OAAA1f,EAAA3E,QAAAgF,KAAA,SAAA2zF,GAAA,cAAAA,EAAAzzF,KAAAyzF,EAAAxzF,MAAA,cAAAwzF,EAAAzzF,KAAA,EAAAyzF,EAAAxzF,KAAA,EAEE7H,OAAO2B,MAAM,yBAFf,YAEVytD,EAFUisC,EAAAtzF,MAGRtE,GAHQ,CAAA43F,EAAAxzF,KAAA,gBAAAwzF,EAAAxzF,KAAA,EAIOunD,EAAI5rD,OAJX,cAIRigF,EAJQ4X,EAAAtzF,KAAAszF,EAAAxzF,KAAA,GAKUtE,EAAAb,QAAQtE,KAC9B,EAAAqE,EAAAC,SAAe+gF,GAAQ9gF,IAAvB,eAAA4G,GAAA,EAAAnC,EAAA1E,SAAA2E,EAAA3E,QAAA4E,KAA2B,SAAAg0F,EAAAjyF,GAAA,IAAAkyF,EAAA3Q,EAAAnhF,GAAA,EAAA3G,EAAAJ,SAAA2G,EAAA,GAAQ7K,EAARiL,EAAA,GAAckhE,EAAdlhE,EAAA,UAAApC,EAAA3E,QAAAgF,KAAA,SAAA8zF,GAAA,cAAAA,EAAA5zF,KAAA4zF,EAAA3zF,MAAA,cAAA2zF,EAAA3zF,KAAA,EACH7H,OAAO2B,MAAMgpE,EAAO,aADjB,UACnB4wB,EADmBC,EAAAzzF,KAErB6iF,EAAO,IACP2Q,EAAQ93F,GAHa,CAAA+3F,EAAA3zF,KAAA,eAAA2zF,EAAA3zF,KAAA,EAIV0zF,EAAQ/3F,OAJE,OAIvBonF,EAJuB4Q,EAAAzzF,KAAA,cAAAyzF,EAAAnlC,OAAA,SAMlB,CACLolC,KAAMj9F,EACNmsE,OACAigB,SATuB,wBAAA4Q,EAAAtzF,SAAAozF,OAAAt9F,MAA3B,gBAAAuyF,GAAA,OAAAhnF,EAAAtO,MAAAoN,KAAAC,YAAA,KANY,QAAA+yF,EAAApzF,GAkBN,SAACsN,EAAG2B,GACV,OAAO3B,EAAEq1E,KAAK37C,MAAMysD,cAAcxkF,EAAE0zE,KAAK37C,QAdrCpF,EALQwxD,EAAAtzF,KAkBXktC,KAlBWomD,EAAApzF,IAqBd8e,EAAMhC,SAAS,oBAAqB,CAAEvmB,KAAM,WAAYS,MAAO4qC,IArBjDwxD,EAAAxzF,KAAA,uBAuBPunD,EAvBO,QAAAisC,EAAAxzF,KAAA,iBAAAwzF,EAAAzzF,KAAA,GAAAyzF,EAAAM,GAAAN,EAAA,SA0BhBv7F,QAAQ0kD,KAAK,uBACb1kD,QAAQ0kD,KAAR62C,EAAAM,IA3BgB,yBAAAN,EAAAnzF,SAAAkzF,OAAAp9F,EAAA,aAAd,SAAAsyF,GAAA,OAAApnF,EAAAjO,MAAAoN,KAAAC,aA+BAszF,GAAA/xF,GAAA,EAAAzC,EAAA1E,SAAA2E,EAAA3E,QAAA4E,KAAe,SAAAu0F,EAAAlyF,GAAA,IAAAib,EAAAtK,EAAA0I,EAAAP,EAASsE,EAATpd,EAASod,MAAT,OAAA1f,EAAA3E,QAAAgF,KAAA,SAAAo0F,GAAA,cAAAA,EAAAl0F,KAAAk0F,EAAAj0F,MAAA,cACX+c,EAAkBmC,EAAlBnC,MAAOtK,EAAWyM,EAAXzM,OACP0I,EAAoB4B,EAApB5B,MAAOP,EAAamC,EAAbnC,SAFIq5E,EAAAzlC,OAAA,UAGZ,EAAAc,EAAA70C,iBAAA,EAAAnf,EAAAT,SAAA,GAAoBsgB,EAApB,CAA2BP,SAAUA,EAASynC,OAAQ5vC,YAC1DjX,KAAK,SAACwf,GAAD,OAAS,EAAAs0C,EAAAl0C,iBAAA,EAAA9f,EAAAT,SAAA,GAAoBmgB,EAApB,CAAyBJ,SAAUA,EAASynC,YAC1D7mD,KAAK,SAACsO,GACL2I,EAAO,cAAe3I,EAAM2lD,cAC5Bh9C,EAAO,wBAAwB,EAAAq2E,EAAAjuF,SAAyBqkB,EAAM4B,QAAQnF,gBAPvD,wBAAAs4E,EAAA5zF,SAAA2zF,OAAA79F,MAAf,SAAAwyF,GAAA,OAAA3mF,EAAA5O,MAAAoN,KAAAC,aAWAyzF,GAAAhqF,GAAA,EAAA3K,EAAA1E,SAAA2E,EAAA3E,QAAA4E,KAAuB,SAAA00F,EAAAhyF,GAAA,IAAA0mC,EAAA3iC,EAASgZ,EAAT/c,EAAS+c,MAAOvS,EAAhBxK,EAAgBwK,SAAhB,OAAAnN,EAAA3E,QAAAgF,KAAA,SAAAu0F,GAAA,cAAAA,EAAAr0F,KAAAq0F,EAAAp0F,MAAA,cACrB6oC,EAAoB3pB,EAAMnC,MAAMuC,IAAIupB,kBACtC3iC,EAAYyG,EAAS7R,IAAI,SAAA4jF,GAAA,OAAOA,EAAI/vE,MAAM,KAAK0lF,QAChDv5F,IAAI,SAAAlC,GAAA,OAAMiwC,EAAkBxmC,UAAU,CAAEzJ,SAHhBw7F,EAAAp0F,KAAA,EAITtE,EAAAb,QAAQtE,IAAI2P,GAJH,OAI3BA,EAJ2BkuF,EAAAl0F,KAM3Bgf,EAAMhC,SAAS,oBAAqB,CAAEvmB,KAAM,gBAAiBS,MAAO8O,IANzC,wBAAAkuF,EAAA/zF,SAAA8zF,OAAAh+F,MAAvB,SAAAm+F,GAAA,OAAApqF,EAAA9W,MAAAoN,KAAAC,aASA8zF,GAAAjyF,GAAA,EAAA/C,EAAA1E,SAAA2E,EAAA3E,QAAA4E,KAAc,SAAA+0F,EAAAnqF,GAAA,IAAAk9C,EAAAt1D,EAAAwiG,EAAAC,EAAAnqF,EAAAoqF,EAAAhhD,EAAAihD,EAAAjoF,EAASuS,EAAT7U,EAAS6U,MAAT,OAAA1f,EAAA3E,QAAAgF,KAAA,SAAAg1F,GAAA,cAAAA,EAAA90F,KAAA80F,EAAA70F,MAAA,cAAA60F,EAAA90F,KAAA,EAAA80F,EAAA70F,KAAA,EAEE7H,OAAO2B,MAAM,sBAFf,YAEVytD,EAFUstC,EAAA30F,MAGRtE,GAHQ,CAAAi5F,EAAA70F,KAAA,gBAAA60F,EAAA70F,KAAA,EAIKunD,EAAI5rD,OAJT,cAIR1J,EAJQ4iG,EAAA30F,KAKRu0F,EAAWxiG,EAAKwiG,SAChBC,EAAWD,EAASC,SAC1Bx1E,EAAMhC,SAAS,oBAAqB,CAAEvmB,KAAM,sBAAuBS,MAAOs9F,EAAS9mF,SAAS,iBAC5FsR,EAAMhC,SAAS,oBAAqB,CAAEvmB,KAAM,gBAAiBS,MAAOs9F,EAAS9mF,SAAS,UACtFsR,EAAMhC,SAAS,oBAAqB,CAAEvmB,KAAM,kBAAmBS,MAAOs9F,EAAS9mF,SAAS,YACxFsR,EAAMhC,SAAS,oBAAqB,CAAEvmB,KAAM,iBAAkBS,MAAOs9F,EAAS9mF,SAAS,WACvFsR,EAAMhC,SAAS,oBAAqB,CAAEvmB,KAAM,aAAcS,MAAOq9F,EAASh/D,aAC1EvW,EAAMhC,SAAS,oBAAqB,CAAEvmB,KAAM,gBAAiBS,MAAOq9F,EAASvyC,gBAE7EhjC,EAAMhC,SAAS,oBAAqB,CAAEvmB,KAAM,sBAAuBS,MAAOq9F,EAAS5mF,sBACnFqR,EAAMhC,SAAS,oBAAqB,CAAEvmB,KAAM,cAAeS,MAAOq9F,EAASp/D,cAErE9qB,EAAckqF,EAASlqF,YAC7B2U,EAAMhC,SAAS,oBAAqB,CAAEvmB,KAAM,qBAAsBS,MAAOmT,EAAY2hD,UACrFhtC,EAAMhC,SAAS,oBAAqB,CAAEvmB,KAAM,iBAAkBS,MAAOmT,EAAYuqF,MAE3EH,EAAW1iG,EAAK0iG,SACtBz1E,EAAMhC,SAAS,oBAAqB,CAAEvmB,KAAM,iBAAkBS,MAAOu9F,EAAS14C,UAC9E/8B,EAAMhC,SAAS,oBAAqB,CAAEvmB,KAAM,iBAAkBS,MAAyB,YAAlBu9F,EAASh+F,OAExEg9C,EAAkBx7C,OAAO0iB,yBAC/BqE,EAAMhC,SAAS,oBAAqB,CAAEvmB,KAAM,kBAAmBS,MAAOu8C,IACtEz0B,EAAMhC,SAAS,oBAAqB,CAAEvmB,KAAM,qBAAsBS,MAAOq9F,EAASG,WAAWhiC,aAAahlD,SAAS,eAE7GgnF,EAAaH,EAASG,WAC5B11E,EAAMhC,SAAS,oBAAqB,CAAEvmB,KAAM,mBAAoBS,MAAOw9F,IAEjEjoF,EAAW8nF,EAAShiC,cAhCZoiC,EAAA70F,KAAA,GAiCRk0F,EAAqB,CAAEh1E,QAAOvS,aAjCtB,QAAAkoF,EAAA70F,KAAA,uBAmCPunD,EAnCO,QAAAstC,EAAA70F,KAAA,iBAAA60F,EAAA90F,KAAA,GAAA80F,EAAAz0F,GAAAy0F,EAAA,SAsChB58F,QAAQ0kD,KAAK,2BACb1kD,QAAQ0kD,KAARk4C,EAAAz0F,IAvCgB,yBAAAy0F,EAAAx0F,SAAAm0F,OAAAr+F,EAAA,aAAd,SAAA4+F,GAAA,OAAAzyF,EAAAlP,MAAAoN,KAAAC,aA2CAu0F,GAAA94F,GAAA,EAAAqD,EAAA1E,SAAA2E,EAAA3E,QAAA4E,KAAY,SAAAw1F,EAAAxyF,GAAA,IAAAyyF,EAAA1C,EAAAC,EAASvzE,EAATzc,EAASyc,MAAT,OAAA1f,EAAA3E,QAAAgF,KAAA,SAAAs1F,GAAA,cAAAA,EAAAp1F,KAAAo1F,EAAAn1F,MAAA,cAAAm1F,EAAAn1F,KAAA,EAEUtE,EAAAb,QAAQtE,IAAI,CAACk7F,EAAmB,CAAEvyE,UAAUgzE,MAFtD,cAEVgD,EAFUC,EAAAj1F,KAGVsyF,EAAY0C,EAAY,GACxBzC,EAAeyC,EAAY,GAJjBC,EAAAn1F,KAAA,EAMVmyF,EAAY,CAAEjzE,QAAOszE,YAAWC,iBAAgBj3F,KAAKu4F,EAAa,CAAE70E,WAN1D,wBAAAi2E,EAAA90F,SAAA40F,OAAA9+F,MAAZ,SAAAi/F,GAAA,OAAAl5F,EAAA9I,MAAAoN,KAAAC,aASA40F,GAAA/1F,GAAA,EAAAC,EAAA1E,SAAA2E,EAAA3E,QAAA4E,KAAkB,SAAA61F,EAAAj2F,GAAA,IAAS6f,EAAT7f,EAAS6f,MAAT,OAAA1f,EAAA3E,QAAAgF,KAAA,SAAA01F,GAAA,cAAAA,EAAAx1F,KAAAw1F,EAAAv1F,MAAA,cAAAu1F,EAAA/mC,OAAA,SACf,IAAA9yD,EAAAb,QAAA,eAAA8F,GAAA,EAAApB,EAAA1E,SAAA2E,EAAA3E,QAAA4E,KAAY,SAAA+1F,EAAOhhG,EAASC,GAAhB,OAAA+K,EAAA3E,QAAAgF,KAAA,SAAA41F,GAAA,cAAAA,EAAA11F,KAAA01F,EAAAz1F,MAAA,WACbkf,EAAM4B,QAAQ+rE,eADD,CAAA4I,EAAAz1F,KAAA,eAAAy1F,EAAA11F,KAAA,EAAA01F,EAAAz1F,KAAA,EAGPkf,EAAMhC,SAAS,YAAagC,EAAM4B,QAAQ+rE,gBAHnC,OAAA4I,EAAAz1F,KAAA,eAAAy1F,EAAA11F,KAAA,EAAA01F,EAAAr1F,GAAAq1F,EAAA,SAKbx9F,QAAQg7E,IAARwiB,EAAAr1F,IALa,OAQjB5L,IARiB,yBAAAihG,EAAAp1F,SAAAm1F,OAAAr/F,EAAA,YAAZ,gBAAAu/F,EAAAC,GAAA,OAAAh1F,EAAAvN,MAAAoN,KAAAC,YAAA,KADe,wBAAA80F,EAAAl1F,SAAAi1F,OAAAn/F,MAAlB,SAAAy/F,GAAA,OAAAt2F,EAAAlM,MAAAoN,KAAAC,aAaAo1F,GAAAl3F,GAAA,EAAAY,EAAA1E,SAAA2E,EAAA3E,QAAA4E,KAAkB,SAAAq2F,EAAA9rF,GAAA,IAAAgjB,EAAA+oE,EAAS72E,EAATlV,EAASkV,MAAOy5D,EAAhB3uE,EAAgB2uE,KAAhB,OAAAn5E,EAAA3E,QAAAgF,KAAA,SAAAm2F,GAAA,cAAAA,EAAAj2F,KAAAi2F,EAAAh2F,MAAA,cAClBkf,EAAMnC,MAAMggD,OAAOx4B,cAGrBpsC,OAAOkiB,aAAc,EACrB6E,EAAMhC,SAAS,YAAa,CAC1BvmB,KAAM,cACNS,MAAO8nB,EAAMnC,MAAMggD,OAAOx4B,eAIxBvX,GAAQ,EAAA0mC,EAAAuC,eACd/2C,EAAMhC,SAAS,kBAAmB8P,GAAS,KAZrBgpE,EAAAh2F,KAAA,EAehBtE,EAAAb,QAAQtE,IAAI,CAChB8+F,EAAgB,CAAEn2E,UAClB81E,EAAU,CAAE91E,UACZ4zE,EAAO,CAAE5zE,UACTg0E,EAAiB,CAAEh0E,UACnBo0E,EAAY,CAAEp0E,UACdq1E,EAAY,CAAEr1E,YArBM,cAwBhB62E,EAAS,IAAI/d,UAAU,CAC3B1gF,KAAM,UACN2+F,QAAQ,EAAAC,EAAAr7F,SAAOqkB,GACfi3E,eAAgB,SAACzxB,EAAI0xB,EAAOC,GAC1B,OAAI3xB,EAAG4xB,QAAQpyF,KAAK,SAAA1N,GAAA,OAAKA,EAAEusF,KAAKwT,eAGzBF,GAAiB,CAAExiF,EAAG,EAAGC,EAAG,OA/BjBkiF,EAAAxnC,OAAA,SAoCf,IAAI6M,UAAI,CACb06B,SACA72E,QACAy5D,OACA1iD,GAAI,OACJ4lC,OAAQ,SAAAC,GAAA,OAAKA,EAAE06B,eAzCK,wBAAAR,EAAA31F,SAAAy1F,OAAA3/F,MAAlB,SAAAsgG,GAAA,OAAA93F,EAAAvL,MAAAoN,KAAAC,uBA6CSo1F,iFCjTf,QAAAjiG,EAAA,UACAA,EAAA,UACAA,EAAA,UACAA,EAAA,UACAA,EAAA,UACAA,EAAA,UACAA,EAAA,UACAA,EAAA,UACAA,EAAA,UACAA,EAAA,UACAA,EAAA,UACAA,EAAA,UACAA,EAAA,UACAA,EAAA,UACAA,EAAA,UACAA,EAAA,UACAA,EAAA,UACAA,EAAA,UACAA,EAAA,UACAA,EAAA,UACAA,EAAA,mEAEe,SAACsrB,GACd,IAAMw3E,EAA6B,SAAChyB,EAAImlB,EAAM7pF,GACxCkf,EAAMnC,MAAMnd,MAAMuf,YACpBnf,IAEAA,EAAKkf,EAAMnC,MAAMnC,SAASsgE,qBAAuB,cAIrD,MAAO,CACL,CAAEvkF,KAAM,OACNmsE,KAAM,IACNrP,SAAU,SAAAkjC,GACR,OAAQz3E,EAAMnC,MAAMnd,MAAMuf,YACtBD,EAAMnC,MAAMnC,SAASugE,kBACrBj8D,EAAMnC,MAAMnC,SAASsgE,sBAAwB,cAGrD,CAAEvkF,KAAM,2BAA4BmsE,KAAM,YAAaxH,UAAWttB,WAClE,CAAEr3C,KAAM,kBAAmBmsE,KAAM,eAAgBxH,UAAW5+C,WAC5D,CAAE/lB,KAAM,UAAWmsE,KAAM,gBAAiBxH,UAAWrtB,UAAiB2oD,YAAaF,GACnF,CAAE//F,KAAM,eAAgBmsE,KAAM,YAAaxH,UAAWptB,WACtD,CAAEv3C,KAAM,eAAgBmsE,KAAM,cAAexH,UAAWu7B,UAAkB9T,KAAM,CAAEwT,YAAY,IAC9F,CAAE5/F,KAAM,2BACNmsE,KAAM,wDACNxH,UAAWw7B,UACXF,YAAaF,GAEf,CAAE//F,KAAM,sBACNmsE,KAAM,oCACNxH,UAAWw7B,UACXF,YAAaF,GAEf,CAAE//F,KAAM,wBAAyBmsE,KAAM,aAAcxH,UAAW3qB,WAChE,CAAEh6C,KAAM,eAAgBmsE,KAAM,gCAAiCxH,UAAW7sB,UAAcmoD,YAAaF,GACrG,CAAE//F,KAAM,MAAOmsE,KAAM,uBAAwBxH,UAAWrrB,UAAK2mD,YAAaF,GAC1E,CAAE//F,KAAM,WAAYmsE,KAAM,YAAaxH,UAAWy7B,WAClD,CAAEpgG,KAAM,eAAgBmsE,KAAM,gBAAiBxH,UAAW07B,WAC1D,CAAErgG,KAAM,iBAAkBmsE,KAAM,kBAAmBxH,UAAW27B,UAAel5E,OAAO,GACpF,CAAEpnB,KAAM,qBAAsBmsE,KAAM,uBAAwBxH,UAAW07B,WACvE,CAAErgG,KAAM,kBAAmBmsE,KAAM,mBAAoBxH,UAAWpM,UAAgB0nC,YAAaF,GAC7F,CAAE//F,KAAM,gBAAiBmsE,KAAM,iBAAkBxH,UAAW3Y,UAAci0C,YAAaF,GACvF,CAAE//F,KAAM,gBAAiBmsE,KAAM,2BAA4BxH,UAAW1sB,UAAegoD,YAAaF,GAClG,CAAE//F,KAAM,QAASmsE,KAAM,SAAUxH,UAAWpF,WAC5C,CAAEv/D,KAAM,OAAQmsE,KAAM,QAASxH,UAAWvH,UAAWh2C,MAAO,iBAAO,CAAEowD,UAAU,KAC/E,CAAEx3E,KAAM,iBAAkBmsE,KAAM,kBAAmBxH,UAAW47B,UAAen5E,MAAO,SAACq4C,GAAD,MAAY,CAAEx6C,KAAMw6C,EAAMppD,MAAM4O,QACpH,CAAEjlB,KAAM,SAAUmsE,KAAM,UAAWxH,UAAWlpB,UAAQr0B,MAAO,SAACq4C,GAAD,MAAY,CAAEppD,MAAOopD,EAAMppD,MAAMA,SAC9F,CAAErW,KAAM,gBAAiBmsE,KAAM,iBAAkBxH,UAAWlK,UAAawlC,YAAaF,GACtF,CAAE//F,KAAM,QAASmsE,KAAM,SAAUxH,UAAW5J,WAC5C,CAAE/6D,KAAM,eAAgBmsE,KAAM,kBAAmBxH,UAAW3qB,2CCvEhE/8C,EAAAqD,EAAAgW,GAAA,IAAAkqF,EAAAvjG,EAAA,KAAAwjG,EAAAxjG,EAAAgE,EAAAu/F,GAAA,QAAA/pF,KAAA+pF,EAAA,YAAA/pF,GAAA,SAAA1V,GAAA9D,EAAA8C,EAAAuW,EAAAvV,EAAA,kBAAAy/F,EAAAz/F,KAAA,CAAA0V,GAAA,IAAAiqF,EAAAzjG,EAAA,KAAA0Z,EAAA1Z,EAAA,GAaA6Z,EAAgB7a,OAAA0a,EAAA,EAAA1a,CACdwkG,EAAA1pF,EACA2pF,EAAA,EACAA,EAAA,GAXF,EAEA,KAEA,KAEA,MAYepqF,EAAA,QAAAQ,EAAiB,yBCpBhC,IAAAs+C,EAAcn4D,EAAQ,KACtB,iBAAAm4D,MAAA,EAA4C93D,EAAA1B,EAASw5D,EAAA,MACrDA,EAAAurC,SAAArjG,EAAAD,QAAA+3D,EAAAurC,SAGAvkF,EADUnf,EAAQ,GAAgEiH,SAClF,WAAAkxD,GAAA,wBCRA93D,EAAAD,QAA2BJ,EAAQ,EAARA,EAA0D,IAKrFjB,KAAA,CAAcsB,EAAA1B,EAAS,+QAA+Q,4BCFtS,IAAAw5D,EAAcn4D,EAAQ,KACtB,iBAAAm4D,MAAA,EAA4C93D,EAAA1B,EAASw5D,EAAA,MACrDA,EAAAurC,SAAArjG,EAAAD,QAAA+3D,EAAAurC,SAGAvkF,EADUnf,EAAQ,GAAgEiH,SAClF,WAAAkxD,GAAA,wBCRA93D,EAAAD,QAA2BJ,EAAQ,EAARA,EAA0D,IAKrFjB,KAAA,CAAcsB,EAAA1B,EAAS,+oPAAipP,uBCFxqP,IAAAw5D,EAAcn4D,EAAQ,KACtB,iBAAAm4D,MAAA,EAA4C93D,EAAA1B,EAASw5D,EAAA,MACrDA,EAAAurC,SAAArjG,EAAAD,QAAA+3D,EAAAurC,SAGAvkF,EADUnf,EAAQ,GAAgEiH,SAClF,WAAAkxD,GAAA,wBCRA93D,EAAAD,QAA2BJ,EAAQ,EAARA,EAA0D,IAKrFjB,KAAA,CAAcsB,EAAA1B,EAAS,ysFAAysF,sBCFhuF,IAAAw5D,EAAcn4D,EAAQ,KACtB,iBAAAm4D,MAAA,EAA4C93D,EAAA1B,EAASw5D,EAAA,MACrDA,EAAAurC,SAAArjG,EAAAD,QAAA+3D,EAAAurC,SAGAvkF,EADUnf,EAAQ,GAAgEiH,SAClF,WAAAkxD,GAAA,wBCRA93D,EAAAD,QAA2BJ,EAAQ,EAARA,EAA0D,IAKrFjB,KAAA,CAAcsB,EAAA1B,EAAS,4sBAA8sB,sBCLruB0B,EAAAD,QAAiBJ,EAAAuB,EAAuB,4DCAxCvB,EAAAqD,EAAAgW,GAAA,IAAAsqF,EAAA3jG,EAAA,KAAA4jG,EAAA5jG,EAAAgE,EAAA2/F,GAAA,QAAAnqF,KAAAmqF,EAAA,YAAAnqF,GAAA,SAAA1V,GAAA9D,EAAA8C,EAAAuW,EAAAvV,EAAA,kBAAA6/F,EAAA7/F,KAAA,CAAA0V,GAAA,IAAAqqF,EAAA7jG,EAAA,KAAA0Z,EAAA1Z,EAAA,GAQA,IAEA2Z,EAVA,SAAAC,GACE5Z,EAAQ,MAeV6Z,EAAgB7a,OAAA0a,EAAA,EAAA1a,CACd4kG,EAAA9pF,EACA+pF,EAAA,EACAA,EAAA,GAXF,EAaAlqF,EATA,KAEA,MAYeN,EAAA,QAAAQ,EAAiB,yBCvBhC,IAAAs+C,EAAcn4D,EAAQ,KACtB,iBAAAm4D,MAAA,EAA4C93D,EAAA1B,EAASw5D,EAAA,MACrDA,EAAAurC,SAAArjG,EAAAD,QAAA+3D,EAAAurC,SAGAvkF,EADUnf,EAAQ,GAAgEiH,SAClF,WAAAkxD,GAAA,wBCRA93D,EAAAD,QAA2BJ,EAAQ,EAARA,EAA0D,IAKrFjB,KAAA,CAAcsB,EAAA1B,EAAS,2IAA2I,mCCLlKqB,EAAAqD,EAAAgW,GAAA,IAAAyqF,EAAA9jG,EAAA,KAAA+jG,EAAA/jG,EAAAgE,EAAA8/F,GAAA,QAAAtqF,KAAAsqF,EAAA,YAAAtqF,GAAA,SAAA1V,GAAA9D,EAAA8C,EAAAuW,EAAAvV,EAAA,kBAAAggG,EAAAhgG,KAAA,CAAA0V,GAAA,IAAAwqF,EAAAhkG,EAAA,KAAA0Z,EAAA1Z,EAAA,GAQA,IAEA2Z,EAVA,SAAAC,GACE5Z,EAAQ,MAeV6Z,EAAgB7a,OAAA0a,EAAA,EAAA1a,CACd+kG,EAAAjqF,EACAkqF,EAAA,EACAA,EAAA,GAXF,EAaArqF,EATA,KAEA,MAYeN,EAAA,QAAAQ,EAAiB,yBCvBhC,IAAAs+C,EAAcn4D,EAAQ,KACtB,iBAAAm4D,MAAA,EAA4C93D,EAAA1B,EAASw5D,EAAA,MACrDA,EAAAurC,SAAArjG,EAAAD,QAAA+3D,EAAAurC,SAGAvkF,EADUnf,EAAQ,GAAgEiH,SAClF,WAAAkxD,GAAA,wBCRA93D,EAAAD,QAA2BJ,EAAQ,EAARA,EAA0D,IAKrFjB,KAAA,CAAcsB,EAAA1B,EAAS,uIAAuI,mCCL9JqB,EAAAqD,EAAAgW,GAAA,IAAA4qF,EAAAjkG,EAAA,KAAAkkG,EAAAlkG,EAAAgE,EAAAigG,GAAA,QAAAzqF,KAAAyqF,EAAA,YAAAzqF,GAAA,SAAA1V,GAAA9D,EAAA8C,EAAAuW,EAAAvV,EAAA,kBAAAmgG,EAAAngG,KAAA,CAAA0V,GAAA,IAAA2qF,EAAAnkG,EAAA,KAAA0Z,EAAA1Z,EAAA,GAQA,IAEA2Z,EAVA,SAAAC,GACE5Z,EAAQ,MAeV6Z,EAAgB7a,OAAA0a,EAAA,EAAA1a,CACdklG,EAAApqF,EACAqqF,EAAA,EACAA,EAAA,GAXF,EAaAxqF,EATA,KAEA,MAYeN,EAAA,QAAAQ,EAAiB,yBCvBhC,IAAAs+C,EAAcn4D,EAAQ,KACtB,iBAAAm4D,MAAA,EAA4C93D,EAAA1B,EAASw5D,EAAA,MACrDA,EAAAurC,SAAArjG,EAAAD,QAAA+3D,EAAAurC,SAGAvkF,EADUnf,EAAQ,GAAgEiH,SAClF,WAAAkxD,GAAA,wBCRA93D,EAAAD,QAA2BJ,EAAQ,EAARA,EAA0D,IAKrFjB,KAAA,CAAcsB,EAAA1B,EAAS,4/BAA4/B,mCCLnhCqB,EAAAqD,EAAAgW,GAAA,IAAA+qF,EAAApkG,EAAA,KAAAqkG,EAAArkG,EAAAgE,EAAAogG,GAAA,QAAA5qF,KAAA4qF,EAAA,YAAA5qF,GAAA,SAAA1V,GAAA9D,EAAA8C,EAAAuW,EAAAvV,EAAA,kBAAAsgG,EAAAtgG,KAAA,CAAA0V,GAAA,IAAA8qF,EAAAtkG,EAAA,KAAA0Z,EAAA1Z,EAAA,GAQA,IAEA2Z,EAVA,SAAAC,GACE5Z,EAAQ,MAeV6Z,EAAgB7a,OAAA0a,EAAA,EAAA1a,CACdqlG,EAAAvqF,EACAwqF,EAAA,EACAA,EAAA,GAXF,EAaA3qF,EATA,KAEA,MAYeN,EAAA,QAAAQ,EAAiB,yBCvBhC,IAAAs+C,EAAcn4D,EAAQ,KACtB,iBAAAm4D,MAAA,EAA4C93D,EAAA1B,EAASw5D,EAAA,MACrDA,EAAAurC,SAAArjG,EAAAD,QAAA+3D,EAAAurC,SAGAvkF,EADUnf,EAAQ,GAAgEiH,SAClF,WAAAkxD,GAAA,wBCRA93D,EAAAD,QAA2BJ,EAAQ,EAARA,EAA0D,IAKrFjB,KAAA,CAAcsB,EAAA1B,EAAS,0qFAA0qF,sBCFjsF,IAAAw5D,EAAcn4D,EAAQ,KACtB,iBAAAm4D,MAAA,EAA4C93D,EAAA1B,EAASw5D,EAAA,MACrDA,EAAAurC,SAAArjG,EAAAD,QAAA+3D,EAAAurC,SAGAvkF,EADUnf,EAAQ,GAAgEiH,SAClF,WAAAkxD,GAAA,wBCRA93D,EAAAD,QAA2BJ,EAAQ,EAARA,EAA0D,IAKrFjB,KAAA,CAAcsB,EAAA1B,EAAS,s3HAAs3H,mCCL74HqB,EAAAqD,EAAAgW,GAAA,IAAAkrF,EAAAvkG,EAAA,KAAAwkG,EAAAxkG,EAAAgE,EAAAugG,GAAA,QAAA/qF,KAAA+qF,EAAA,YAAA/qF,GAAA,SAAA1V,GAAA9D,EAAA8C,EAAAuW,EAAAvV,EAAA,kBAAAygG,EAAAzgG,KAAA,CAAA0V,GAAA,IAAAirF,EAAAzkG,EAAA,KAAA0Z,EAAA1Z,EAAA,GAQA,IAEA2Z,EAVA,SAAAC,GACE5Z,EAAQ,MAeV6Z,EAAgB7a,OAAA0a,EAAA,EAAA1a,CACdwlG,EAAA1qF,EACA2qF,EAAA,EACAA,EAAA,GAXF,EAaA9qF,EATA,KAEA,MAYeN,EAAA,QAAAQ,EAAiB,yBCvBhC,IAAAs+C,EAAcn4D,EAAQ,KACtB,iBAAAm4D,MAAA,EAA4C93D,EAAA1B,EAASw5D,EAAA,MACrDA,EAAAurC,SAAArjG,EAAAD,QAAA+3D,EAAAurC,SAGAvkF,EADUnf,EAAQ,GAAgEiH,SAClF,WAAAkxD,GAAA,wBCRA93D,EAAAD,QAA2BJ,EAAQ,EAARA,EAA0D,IAKrFjB,KAAA,CAAcsB,EAAA1B,EAAS,+MAA+M,sBCFtO,IAAAw5D,EAAcn4D,EAAQ,KACtB,iBAAAm4D,MAAA,EAA4C93D,EAAA1B,EAASw5D,EAAA,MACrDA,EAAAurC,SAAArjG,EAAAD,QAAA+3D,EAAAurC,SAGAvkF,EADUnf,EAAQ,GAAgEiH,SAClF,WAAAkxD,GAAA,wBCRA93D,EAAAD,QAA2BJ,EAAQ,EAARA,EAA0D,IAKrFjB,KAAA,CAAcsB,EAAA1B,EAAS,4HAA4H,sBCFnJ,IAAAw5D,EAAcn4D,EAAQ,KACtB,iBAAAm4D,MAAA,EAA4C93D,EAAA1B,EAASw5D,EAAA,MACrDA,EAAAurC,SAAArjG,EAAAD,QAAA+3D,EAAAurC,SAGAvkF,EADUnf,EAAQ,GAAgEiH,SAClF,WAAAkxD,GAAA,wBCRA93D,EAAAD,QAA2BJ,EAAQ,EAARA,EAA0D,IAKrFjB,KAAA,CAAcsB,EAAA1B,EAAS,uxDAAuxD,gPCHvyD,IAAM2rC,gBAAc,SAAC5S,EAAKgtE,EAAWt6D,GAC1C,OAAO1S,EAAIjzB,MAAM,EAAGigG,EAAUx5D,OAASd,EAAc1S,EAAIjzB,MAAMigG,EAAUC,MAG9Dz7D,mBAAiB,SAACxR,EAAKktE,GAClC,IAAMC,EAAQC,EAAeptE,GACvBqtE,EAAoBC,EAAmBH,GAE7C,OAAO,EAAA3sD,EAAAjxC,SAAK89F,EAAmB,SAAAv+F,GAAA,IAAG0kC,EAAH1kC,EAAG0kC,MAAOy5D,EAAVn+F,EAAUm+F,IAAV,OAAoBz5D,GAAS05D,GAAOD,EAAMC,KAG9DI,uBAAqB,SAACH,GACjC,OAAO,EAAAh9E,EAAA5gB,SAAO49F,EAAO,SAACnlG,EAAQspC,GAC5B,IAAM3qC,EAAO,CACX2qC,OACAkC,MAAO,EACPy5D,IAAK37D,EAAKnqC,QAGZ,GAAIa,EAAOb,OAAS,EAAG,CACrB,IAAMomG,EAAWvlG,EAAO+gG,MAExBpiG,EAAK6sC,OAAS+5D,EAASN,IACvBtmG,EAAKsmG,KAAOM,EAASN,IAErBjlG,EAAOX,KAAKkmG,GAKd,OAFAvlG,EAAOX,KAAKV,GAELqB,GACN,KAGQolG,mBAAiB,SAACptE,GAE7B,IACMwtE,EAAW,UAEbnqF,EAAQ2c,EAAI3c,MAHF,MAqBd,OAfc,EAAA8M,EAAA5gB,SAAO8T,EAAO,SAACrb,EAAQspC,GACnC,GAAItpC,EAAOb,OAAS,EAAG,CACrB,IAAIomG,EAAWvlG,EAAO+gG,MAChB0E,EAAUF,EAAS/nF,MAAMgoF,GAC3BC,IACFF,EAAWA,EAASvxE,QAAQwxE,EAAU,IACtCl8D,EAAOm8D,EAAQ,GAAKn8D,GAEtBtpC,EAAOX,KAAKkmG,GAId,OAFAvlG,EAAOX,KAAKiqC,GAELtpC,GACN,KAKC0lG,EAAa,CACjBl8D,iBACA87D,qBACAF,iBACAx6D,yBAGa86D,gCCrEfplG,EAAAqD,EAAAgW,GAAA,IAAAgsF,EAAArlG,EAAA,KAAAslG,EAAAtlG,EAAAgE,EAAAqhG,GAAA,QAAA7rF,KAAA6rF,EAAA,YAAA7rF,GAAA,SAAA1V,GAAA9D,EAAA8C,EAAAuW,EAAAvV,EAAA,kBAAAuhG,EAAAvhG,KAAA,CAAA0V,GAAA,IAAA+rF,EAAAvlG,EAAA,KAAA0Z,EAAA1Z,EAAA,GAQA,IAEA2Z,EAVA,SAAAC,GACE5Z,EAAQ,MAeV6Z,EAAgB7a,OAAA0a,EAAA,EAAA1a,CACdsmG,EAAAxrF,EACAyrF,EAAA,EACAA,EAAA,GAXF,EAaA5rF,EATA,KAEA,MAYeN,EAAA,QAAAQ,EAAiB,yBCvBhC,IAAAs+C,EAAcn4D,EAAQ,KACtB,iBAAAm4D,MAAA,EAA4C93D,EAAA1B,EAASw5D,EAAA,MACrDA,EAAAurC,SAAArjG,EAAAD,QAAA+3D,EAAAurC,SAGAvkF,EADUnf,EAAQ,GAAgEiH,SAClF,WAAAkxD,GAAA,wBCRA93D,EAAAD,QAA2BJ,EAAQ,EAARA,EAA0D,IAKrFjB,KAAA,CAAcsB,EAAA1B,EAAS,qkHAAqkH,sBCF5lH,IAAAw5D,EAAcn4D,EAAQ,KACtB,iBAAAm4D,MAAA,EAA4C93D,EAAA1B,EAASw5D,EAAA,MACrDA,EAAAurC,SAAArjG,EAAAD,QAAA+3D,EAAAurC,SAGAvkF,EADUnf,EAAQ,GAAgEiH,SAClF,WAAAkxD,GAAA,wBCRA93D,EAAAD,QAA2BJ,EAAQ,EAARA,EAA0D,IAKrFjB,KAAA,CAAcsB,EAAA1B,EAAS,+hCAAmiC,mCCL1jCqB,EAAAqD,EAAAgW,GAAA,IAAAmsF,EAAAxlG,EAAA,KAAAylG,EAAAzlG,EAAAgE,EAAAwhG,GAAA,QAAAhsF,KAAAgsF,EAAA,YAAAhsF,GAAA,SAAA1V,GAAA9D,EAAA8C,EAAAuW,EAAAvV,EAAA,kBAAA0hG,EAAA1hG,KAAA,CAAA0V,GAAA,IAAAksF,EAAA1lG,EAAA,KAAA0Z,EAAA1Z,EAAA,GAQA,IAEA2Z,EAVA,SAAAC,GACE5Z,EAAQ,MAeV6Z,EAAgB7a,OAAA0a,EAAA,EAAA1a,CACdymG,EAAA3rF,EACA4rF,EAAA,EACAA,EAAA,GAXF,EAaA/rF,EATA,KAEA,MAYeN,EAAA,QAAAQ,EAAiB,yBCvBhC,IAAAs+C,EAAcn4D,EAAQ,KACtB,iBAAAm4D,MAAA,EAA4C93D,EAAA1B,EAASw5D,EAAA,MACrDA,EAAAurC,SAAArjG,EAAAD,QAAA+3D,EAAAurC,SAGAvkF,EADUnf,EAAQ,GAAgEiH,SAClF,WAAAkxD,GAAA,wBCRA93D,EAAAD,QAA2BJ,EAAQ,EAARA,EAA0D,IAKrFjB,KAAA,CAAcsB,EAAA1B,EAAS,igCAAigC,sBCFxhC,IAAAw5D,EAAcn4D,EAAQ,KACtB,iBAAAm4D,MAAA,EAA4C93D,EAAA1B,EAASw5D,EAAA,MACrDA,EAAAurC,SAAArjG,EAAAD,QAAA+3D,EAAAurC,SAGAvkF,EADUnf,EAAQ,GAAgEiH,SAClF,WAAAkxD,GAAA,wBCRA93D,EAAAD,QAA2BJ,EAAQ,EAARA,EAA0D,IAKrFjB,KAAA,CAAcsB,EAAA1B,EAAS,upLAAupL,sBCF9qL,IAAAw5D,EAAcn4D,EAAQ,KACtB,iBAAAm4D,MAAA,EAA4C93D,EAAA1B,EAASw5D,EAAA,MACrDA,EAAAurC,SAAArjG,EAAAD,QAAA+3D,EAAAurC,SAGAvkF,EADUnf,EAAQ,GAAgEiH,SAClF,WAAAkxD,GAAA,wBCRA93D,EAAAD,QAA2BJ,EAAQ,EAARA,EAA0D,IAKrFjB,KAAA,CAAcsB,EAAA1B,EAAS,qdAAqd,sBCF5e,IAAAw5D,EAAcn4D,EAAQ,KACtB,iBAAAm4D,MAAA,EAA4C93D,EAAA1B,EAASw5D,EAAA,MACrDA,EAAAurC,SAAArjG,EAAAD,QAAA+3D,EAAAurC,SAGAvkF,EADUnf,EAAQ,GAAgEiH,SAClF,WAAAkxD,GAAA,wBCRA93D,EAAAD,QAA2BJ,EAAQ,EAARA,EAA0D,IAKrFjB,KAAA,CAAcsB,EAAA1B,EAAS,2FAA2F,yMCUrGm1C,gBAAgB,SAAC5qC,EAAMoiB,GAAP,OAAiB,IAAAxjB,EAAAb,QAAY,SAACrG,EAASC,GAClEyqB,EAAMnC,MAAMuC,IAAIupB,kBAAkB/nC,WAAW,CAAElI,GAAIkE,EAAKlE,KACrD4C,KAAK,SAAC+9F,GAGL,GAFAr6E,EAAMzM,OAAO,yBAA0B,CAAC8mF,MAEpCA,EAAQ9sF,WAAc3P,EAAKmmD,QAAUnmD,EAAKuqC,WAa9C,OAjCY,SAAZhlC,EAAam3F,EAAS18F,EAAMoiB,GAAhB,OAA0B,IAAAxjB,EAAAb,QAAY,SAACrG,EAASC,GAChE2B,WAAW,WACT8oB,EAAMnC,MAAMuC,IAAIupB,kBAAkBxmC,UAAU,CAAEzJ,GAAIkE,EAAKlE,KACpD4C,KAAK,SAACsB,GAAD,OAAUoiB,EAAMzM,OAAO,cAAe,CAAC3V,MAC5CtB,KAAK,kBAAMhH,EAAQ,CAACsI,EAAK2P,UAAW3P,EAAKuqC,UAAWvqC,EAAKmmD,OAAQu2C,MACjE1gF,MAAM,SAAC3kB,GAAD,OAAOM,EAAON,MACtB,OACFqH,KAAK,SAAApB,GAAwC,IAAAW,GAAA,EAAAE,EAAAJ,SAAAT,EAAA,GAAtCqS,EAAsC1R,EAAA,GAA3BmF,EAA2BnF,EAAA,GAArBkoD,EAAqBloD,EAAA,GAAby+F,EAAaz+F,EAAA,GACzC0R,GAAew2C,GAAU/iD,KAASs5F,GAAW,IAGhDn3F,IAAYm3F,EAAS18F,EAAMoiB,KAsBlB7c,CAAU,EAAGvF,EAAMoiB,GACvB1jB,KAAK,WACJhH,MAbFA,SAkBKmzC,kBAAkB,SAAC7qC,EAAMoiB,GAAP,OAAiB,IAAAxjB,EAAAb,QAAY,SAACrG,EAASC,GACpEyqB,EAAMnC,MAAMuC,IAAIupB,kBAAkBznC,aAAatE,EAAKlE,IACjD4C,KAAK,SAAC+9F,GACLr6E,EAAMzM,OAAO,yBAA0B,CAAC8mF,IACxC/kG,EAAQ,CACN+kG,+CC7CR3lG,EAAAqD,EAAAgW,GAAA,IAAAwsF,EAAA7lG,EAAA,KAAA8lG,EAAA9lG,EAAAgE,EAAA6hG,GAAA,QAAArsF,KAAAqsF,EAAA,YAAArsF,GAAA,SAAA1V,GAAA9D,EAAA8C,EAAAuW,EAAAvV,EAAA,kBAAA+hG,EAAA/hG,KAAA,CAAA0V,GAAA,IAAAusF,EAAA/lG,EAAA,KAAA0Z,EAAA1Z,EAAA,GAQA,IAEA2Z,EAVA,SAAAC,GACE5Z,EAAQ,MAeV6Z,EAAgB7a,OAAA0a,EAAA,EAAA1a,CACd8mG,EAAAhsF,EACAisF,EAAA,EACAA,EAAA,GAXF,EAaApsF,EATA,KAEA,MAYeN,EAAA,QAAAQ,EAAiB,yBCvBhC,IAAAs+C,EAAcn4D,EAAQ,KACtB,iBAAAm4D,MAAA,EAA4C93D,EAAA1B,EAASw5D,EAAA,MACrDA,EAAAurC,SAAArjG,EAAAD,QAAA+3D,EAAAurC,SAGAvkF,EADUnf,EAAQ,GAAgEiH,SAClF,WAAAkxD,GAAA,wBCRA93D,EAAAD,QAA2BJ,EAAQ,EAARA,EAA0D,IAKrFjB,KAAA,CAAcsB,EAAA1B,EAAS,k/FAAo/F,mCCL3gGqB,EAAAqD,EAAAgW,GAAA,IAAA2sF,EAAAhmG,EAAA,KAAAimG,EAAAjmG,EAAAgE,EAAAgiG,GAAA,QAAAxsF,KAAAwsF,EAAA,YAAAxsF,GAAA,SAAA1V,GAAA9D,EAAA8C,EAAAuW,EAAAvV,EAAA,kBAAAkiG,EAAAliG,KAAA,CAAA0V,GAAA,IAAA0sF,EAAAlmG,EAAA,KAAA0Z,EAAA1Z,EAAA,GAQA,IAEA2Z,EAVA,SAAAC,GACE5Z,EAAQ,MAeV6Z,EAAgB7a,OAAA0a,EAAA,EAAA1a,CACdinG,EAAAnsF,EACAosF,EAAA,EACAA,EAAA,GAXF,EAaAvsF,EATA,KAEA,MAYeN,EAAA,QAAAQ,EAAiB,yBCvBhC,IAAAs+C,EAAcn4D,EAAQ,KACtB,iBAAAm4D,MAAA,EAA4C93D,EAAA1B,EAASw5D,EAAA,MACrDA,EAAAurC,SAAArjG,EAAAD,QAAA+3D,EAAAurC,SAGAvkF,EADUnf,EAAQ,GAAgEiH,SAClF,WAAAkxD,GAAA,wBCRA93D,EAAAD,QAA2BJ,EAAQ,EAARA,EAA0D,IAKrFjB,KAAA,CAAcsB,EAAA1B,EAAS,qnCAAunC,mCCL9oCqB,EAAAqD,EAAAgW,GAAA,IAAA8sF,EAAAnmG,EAAA,KAAAomG,EAAApmG,EAAAgE,EAAAmiG,GAAA,QAAA3sF,KAAA2sF,EAAA,YAAA3sF,GAAA,SAAA1V,GAAA9D,EAAA8C,EAAAuW,EAAAvV,EAAA,kBAAAqiG,EAAAriG,KAAA,CAAA0V,GAAA,IAAA6sF,EAAArmG,EAAA,KAAA0Z,EAAA1Z,EAAA,GAQA,IAEA2Z,EAVA,SAAAC,GACE5Z,EAAQ,MAeV6Z,EAAgB7a,OAAA0a,EAAA,EAAA1a,CACdonG,EAAAtsF,EACAusF,EAAA,EACAA,EAAA,GAXF,EAaA1sF,EATA,KAEA,MAYeN,EAAA,QAAAQ,EAAiB,yBCvBhC,IAAAs+C,EAAcn4D,EAAQ,KACtB,iBAAAm4D,MAAA,EAA4C93D,EAAA1B,EAASw5D,EAAA,MACrDA,EAAAurC,SAAArjG,EAAAD,QAAA+3D,EAAAurC,SAGAvkF,EADUnf,EAAQ,GAAgEiH,SAClF,WAAAkxD,GAAA,wBCRA93D,EAAAD,QAA2BJ,EAAQ,EAARA,EAA0D,IAKrFjB,KAAA,CAAcsB,EAAA1B,EAAS,+yFAA+yF,sCCLt0FqB,EAAAqD,EAAAgW,GAAA,IAAAitF,EAAAtmG,EAAA,KAAAumG,EAAAvmG,EAAAgE,EAAAsiG,GAAA,QAAA9sF,KAAA8sF,EAAA,YAAA9sF,GAAA,SAAA1V,GAAA9D,EAAA8C,EAAAuW,EAAAvV,EAAA,kBAAAwiG,EAAAxiG,KAAA,CAAA0V,GAAA,IAAAgtF,EAAAxmG,EAAA,KAAA0Z,EAAA1Z,EAAA,GAQA,IAEA2Z,EAVA,SAAAC,GACE5Z,EAAQ,MAeV6Z,EAAgB7a,OAAA0a,EAAA,EAAA1a,CACdunG,EAAAzsF,EACA0sF,EAAA,EACAA,EAAA,GAXF,EAaA7sF,EATA,KAEA,MAYeN,EAAA,QAAAQ,EAAiB,yBCvBhC,IAAAs+C,EAAcn4D,EAAQ,KACtB,iBAAAm4D,MAAA,EAA4C93D,EAAA1B,EAASw5D,EAAA,MACrDA,EAAAurC,SAAArjG,EAAAD,QAAA+3D,EAAAurC,SAGAvkF,EADUnf,EAAQ,GAAgEiH,SAClF,WAAAkxD,GAAA,wBCRA93D,EAAAD,QAA2BJ,EAAQ,EAARA,EAA0D,IAKrFjB,KAAA,CAAcsB,EAAA1B,EAAS,42BAA42B,uCCLn4BqB,EAAAqD,EAAAgW,GAAA,IAAAotF,EAAAzmG,EAAA,KAAA0mG,EAAA1mG,EAAAgE,EAAAyiG,GAAA,QAAAjtF,KAAAitF,EAAA,YAAAjtF,GAAA,SAAA1V,GAAA9D,EAAA8C,EAAAuW,EAAAvV,EAAA,kBAAA2iG,EAAA3iG,KAAA,CAAA0V,GAAA,IAAAmtF,EAAA3mG,EAAA,KAAA0Z,EAAA1Z,EAAA,GAQA,IAEA2Z,EAVA,SAAAC,GACE5Z,EAAQ,MAeV6Z,EAAgB7a,OAAA0a,EAAA,EAAA1a,CACd0nG,EAAA5sF,EACA6sF,EAAA,EACAA,EAAA,GAXF,EAaAhtF,EATA,KAEA,MAYeN,EAAA,QAAAQ,EAAiB,yBCvBhC,IAAAs+C,EAAcn4D,EAAQ,KACtB,iBAAAm4D,MAAA,EAA4C93D,EAAA1B,EAASw5D,EAAA,MACrDA,EAAAurC,SAAArjG,EAAAD,QAAA+3D,EAAAurC,SAGAvkF,EADUnf,EAAQ,GAAgEiH,SAClF,WAAAkxD,GAAA,wBCRA93D,EAAAD,QAA2BJ,EAAQ,EAARA,EAA0D,IAKrFjB,KAAA,CAAcsB,EAAA1B,EAAS,+6BAA+6B,mCCLt8BqB,EAAAqD,EAAAgW,GAAA,IAAAutF,EAAA5mG,EAAA,KAAA6mG,EAAA7mG,EAAAgE,EAAA4iG,GAAA,QAAAptF,KAAAotF,EAAA,YAAAptF,GAAA,SAAA1V,GAAA9D,EAAA8C,EAAAuW,EAAAvV,EAAA,kBAAA8iG,EAAA9iG,KAAA,CAAA0V,GAAA,IAAAstF,EAAA9mG,EAAA,KAAA0Z,EAAA1Z,EAAA,GAQA,IAEA2Z,EAVA,SAAAC,GACE5Z,EAAQ,MAeV6Z,EAAgB7a,OAAA0a,EAAA,EAAA1a,CACd6nG,EAAA/sF,EACAgtF,EAAA,EACAA,EAAA,GAXF,EAaAntF,EATA,KAEA,MAYeN,EAAA,QAAAQ,EAAiB,yBCvBhC,IAAAs+C,EAAcn4D,EAAQ,KACtB,iBAAAm4D,MAAA,EAA4C93D,EAAA1B,EAASw5D,EAAA,MACrDA,EAAAurC,SAAArjG,EAAAD,QAAA+3D,EAAAurC,SAGAvkF,EADUnf,EAAQ,GAAgEiH,SAClF,WAAAkxD,GAAA,wBCRA93D,EAAAD,QAA2BJ,EAAQ,EAARA,EAA0D,IAKrFjB,KAAA,CAAcsB,EAAA1B,EAAS,qUAAqU,mCCL5VqB,EAAAqD,EAAAgW,GAAA,IAAA0tF,EAAA/mG,EAAA,KAAAgnG,EAAAhnG,EAAAgE,EAAA+iG,GAAA,QAAAvtF,KAAAutF,EAAA,YAAAvtF,GAAA,SAAA1V,GAAA9D,EAAA8C,EAAAuW,EAAAvV,EAAA,kBAAAijG,EAAAjjG,KAAA,CAAA0V,GAAA,IAAAytF,EAAAjnG,EAAA,KAAA0Z,EAAA1Z,EAAA,GAQA,IAEA2Z,EAVA,SAAAC,GACE5Z,EAAQ,MAeV6Z,EAAgB7a,OAAA0a,EAAA,EAAA1a,CACdgoG,EAAAltF,EACAmtF,EAAA,EACAA,EAAA,GAXF,EAaAttF,EATA,KAEA,MAYeN,EAAA,QAAAQ,EAAiB,yBCvBhC,IAAAs+C,EAAcn4D,EAAQ,KACtB,iBAAAm4D,MAAA,EAA4C93D,EAAA1B,EAASw5D,EAAA,MACrDA,EAAAurC,SAAArjG,EAAAD,QAAA+3D,EAAAurC,SAGAvkF,EADUnf,EAAQ,GAAgEiH,SAClF,WAAAkxD,GAAA,wBCRA93D,EAAAD,QAA2BJ,EAAQ,EAARA,EAA0D,IAKrFjB,KAAA,CAAcsB,EAAA1B,EAAS,6/BAA+/B,2JCKzgC60B,cAAc,SAACF,EAAM4zE,GA2ChC,IA1CA,IAUQxnG,EAVFynG,EAAc,IAAAxyD,EAAA1tC,QAAQ,CAAC,IAAK,KAAM,QAClCmgG,EAAgB,IAAAzyD,EAAA1tC,QAAQ,CAAC,IAAK,QAEhCogG,EAAS,GACP78C,EAAQ,GACV88C,EAAa,GACbC,EAAY,KAQVC,EAAQ,WACRF,EAAW3zE,OAAO90B,OAAS,EAC7BwoG,GAAUH,EAAUI,GAEpBD,GAAUC,EAEZA,EAAa,IAGTG,EAAW,SAACniG,GAChBkiG,IACAH,GAAU/hG,GAGNoiG,EAAa,SAACpiG,GAClBkiG,IACAH,GAAU/hG,EACVklD,EAAMzrD,KAAKuG,IAGPqiG,EAAc,SAACriG,GACnBkiG,IACAH,GAAU/hG,EACNklD,EAAMA,EAAM3rD,OAAS,KAAOyG,GAC9BklD,EAAMi2C,OAID9hG,EAAI,EAAGA,EAAI20B,EAAKz0B,OAAQF,IAAK,CACpC,IAAMu3F,EAAO5iE,EAAK30B,GAClB,GAAa,MAATu3F,GAA8B,OAAdqR,EAClBA,EAAYrR,OACP,GAAa,MAATA,GAA8B,OAAdqR,EACzBA,GAAarR,OACR,GAAa,MAATA,GAA8B,OAAdqR,EAAoB,CAE7C,IAAMK,EADNL,GAAarR,EAEbqR,EAAY,KACZ,IAAMl7E,GA1CF3sB,YAAS,sCAAsCyc,KA0CxByrF,MAzCXloG,EAAO,IAAMA,EAAO,KA0ChCynG,EAAYpyD,IAAI1oB,GACF,OAAZA,EACFo7E,EAASG,GACAR,EAAcryD,IAAI1oB,KACR,MAAfu7E,EAAQ,GACVD,EAAYC,GAC6B,MAAhCA,EAAQA,EAAQ/oG,OAAS,GAElC4oG,EAASG,GAETF,EAAWE,IAIfN,GAAcM,MAEE,OAAT1R,EACTuR,EAASvR,GAEToR,GAAcpR,EASlB,OANIqR,IACFD,GAAcC,GAGhBC,IAEOH,kLC5FIrxE,oBAAoB,SAACuJ,EAAWp5B,GAC3C,GAAIA,IAAQo5B,EAAU6R,sBACpB,OAAO,EAF0C,IAAAy2D,EAIlBtoE,EAAUhtB,YAAYwI,MAAM,KAJV+sF,GAAA,EAAAzgG,EAAAJ,SAAA4gG,EAAA,GAI5CE,EAJ4CD,EAAA,GAIlCE,EAJkCF,EAAA,GAK7CG,EAAc,IAAI1Y,OAAO,MAAQyY,EAAe,MAAQD,EAAW,IAAK,KAE9E,QAAS5hG,EAAI+W,MAAM+qF,IAQR5xE,oBAAoB,SAAClwB,GAChC,IACMzG,EADQ,mBACOyc,KAAKhW,GAC1B,QAAKzG,GAGEA,EAAO,qBClBhB,IAAAy4D,EAAcn4D,EAAQ,KACtB,iBAAAm4D,MAAA,EAA4C93D,EAAA1B,EAASw5D,EAAA,MACrDA,EAAAurC,SAAArjG,EAAAD,QAAA+3D,EAAAurC,SAGAvkF,EADUnf,EAAQ,GAAgEiH,SAClF,WAAAkxD,GAAA,wBCRA93D,EAAAD,QAA2BJ,EAAQ,EAARA,EAA0D,IAKrFjB,KAAA,CAAcsB,EAAA1B,EAAS,2JAA2J,kDCLlLqB,EAAAqD,EAAAgW,GAAA,IAAA6uF,EAAAloG,EAAA,KAAAmoG,EAAAnoG,EAAAgE,EAAAkkG,GAAA,QAAA1uF,KAAA0uF,EAAA,YAAA1uF,GAAA,SAAA1V,GAAA9D,EAAA8C,EAAAuW,EAAAvV,EAAA,kBAAAokG,EAAApkG,KAAA,CAAA0V,GAAA,IAAA4uF,EAAApoG,EAAA,KAAA0Z,EAAA1Z,EAAA,GAaA6Z,EAAgB7a,OAAA0a,EAAA,EAAA1a,CACdmpG,EAAAruF,EACAsuF,EAAA,EACAA,EAAA,GAXF,EAEA,KAEA,KAEA,MAYe/uF,EAAA,QAAAQ,EAAiB,sCCvBhC7Z,EAAAqD,EAAAgW,GAAA,IAAAgvF,EAAAroG,EAAA,KAAAsoG,EAAAtoG,EAAAgE,EAAAqkG,GAAA,QAAA7uF,KAAA6uF,EAAA,YAAA7uF,GAAA,SAAA1V,GAAA9D,EAAA8C,EAAAuW,EAAAvV,EAAA,kBAAAukG,EAAAvkG,KAAA,CAAA0V,GAAA,IAAA+uF,EAAAvoG,EAAA,KAAA0Z,EAAA1Z,EAAA,GAaA6Z,EAAgB7a,OAAA0a,EAAA,EAAA1a,CACdspG,EAAAxuF,EACAyuF,EAAA,EACAA,EAAA,GAXF,EAEA,KAEA,KAEA,MAYelvF,EAAA,QAAAQ,EAAiB,sCCvBhC7Z,EAAAqD,EAAAgW,GAAA,IAAAmvF,EAAAxoG,EAAA,KAAAyoG,EAAAzoG,EAAAgE,EAAAwkG,GAAA,QAAAhvF,KAAAgvF,EAAA,YAAAhvF,GAAA,SAAA1V,GAAA9D,EAAA8C,EAAAuW,EAAAvV,EAAA,kBAAA0kG,EAAA1kG,KAAA,CAAA0V,GAAA,IAAAkvF,EAAA1oG,EAAA,KAAA0Z,EAAA1Z,EAAA,GAaA6Z,EAAgB7a,OAAA0a,EAAA,EAAA1a,CACdypG,EAAA3uF,EACA4uF,EAAA,EACAA,EAAA,GAXF,EAEA,KAEA,KAEA,MAYervF,EAAA,QAAAQ,EAAiB,sCCvBhC7Z,EAAAqD,EAAAgW,GAAA,IAAAsvF,EAAA3oG,EAAA,KAAA4oG,EAAA5oG,EAAAgE,EAAA2kG,GAAA,QAAAnvF,KAAAmvF,EAAA,YAAAnvF,GAAA,SAAA1V,GAAA9D,EAAA8C,EAAAuW,EAAAvV,EAAA,kBAAA6kG,EAAA7kG,KAAA,CAAA0V,GAAA,IAAAqvF,EAAA7oG,EAAA,KAAA0Z,EAAA1Z,EAAA,GAaA6Z,EAAgB7a,OAAA0a,EAAA,EAAA1a,CACd4pG,EAAA9uF,EACA+uF,EAAA,EACAA,EAAA,GAXF,EAEA,KAEA,KAEA,MAYexvF,EAAA,QAAAQ,EAAiB,sCCvBhC7Z,EAAAqD,EAAAgW,GAAA,IAAAyvF,EAAA9oG,EAAA,KAAA+oG,EAAA/oG,EAAAgE,EAAA8kG,GAAA,QAAAtvF,KAAAsvF,EAAA,YAAAtvF,GAAA,SAAA1V,GAAA9D,EAAA8C,EAAAuW,EAAAvV,EAAA,kBAAAglG,EAAAhlG,KAAA,CAAA0V,GAAA,IAAAwvF,EAAAhpG,EAAA,KAAA0Z,EAAA1Z,EAAA,GAaA6Z,EAAgB7a,OAAA0a,EAAA,EAAA1a,CACd+pG,EAAAjvF,EACAkvF,EAAA,EACAA,EAAA,GAXF,EAEA,KAEA,KAEA,MAYe3vF,EAAA,QAAAQ,EAAiB,yBCpBhC,IAAAs+C,EAAcn4D,EAAQ,KACtB,iBAAAm4D,MAAA,EAA4C93D,EAAA1B,EAASw5D,EAAA,MACrDA,EAAAurC,SAAArjG,EAAAD,QAAA+3D,EAAAurC,SAGAvkF,EADUnf,EAAQ,GAAgEiH,SAClF,WAAAkxD,GAAA,wBCRA93D,EAAAD,QAA2BJ,EAAQ,EAARA,EAA0D,IAKrFjB,KAAA,CAAcsB,EAAA1B,EAAS,6vFAA6vF,mCCLpxFqB,EAAAqD,EAAAgW,GAAA,IAAA4vF,EAAAjpG,EAAA,KAAAkpG,EAAAlpG,EAAAgE,EAAAilG,GAAA,QAAAzvF,KAAAyvF,EAAA,YAAAzvF,GAAA,SAAA1V,GAAA9D,EAAA8C,EAAAuW,EAAAvV,EAAA,kBAAAmlG,EAAAnlG,KAAA,CAAA0V,GAAA,IAAA2vF,EAAAnpG,EAAA,KAAA0Z,EAAA1Z,EAAA,GAaA6Z,EAAgB7a,OAAA0a,EAAA,EAAA1a,CACdkqG,EAAApvF,EACAqvF,EAAA,EACAA,EAAA,GAXF,EAEA,KAEA,KAEA,MAYe9vF,EAAA,QAAAQ,EAAiB,2CCvBhC7Z,EAAAqD,EAAAgW,GAAA,IAAA+vF,EAAAppG,EAAA,KAAAqpG,EAAArpG,EAAAgE,EAAAolG,GAAA,QAAA5vF,KAAA4vF,EAAA,YAAA5vF,GAAA,SAAA1V,GAAA9D,EAAA8C,EAAAuW,EAAAvV,EAAA,kBAAAslG,EAAAtlG,KAAA,CAAA0V,GAAA,IAAA8vF,EAAAtpG,EAAA,KAAA0Z,EAAA1Z,EAAA,GAaA6Z,EAAgB7a,OAAA0a,EAAA,EAAA1a,CACdqqG,EAAAvvF,EACAwvF,EAAA,EACAA,EAAA,GAXF,EAEA,KAEA,KAEA,MAYejwF,EAAA,QAAAQ,EAAiB,sCCvBhC7Z,EAAAqD,EAAAgW,GAAA,IAAAkwF,EAAAvpG,EAAA,KAAAwpG,EAAAxpG,EAAAgE,EAAAulG,GAAA,QAAA/vF,KAAA+vF,EAAA,YAAA/vF,GAAA,SAAA1V,GAAA9D,EAAA8C,EAAAuW,EAAAvV,EAAA,kBAAAylG,EAAAzlG,KAAA,CAAA0V,GAAA,IAAAiwF,EAAAzpG,EAAA,KAAA0Z,EAAA1Z,EAAA,GAQA,IAEA2Z,EAVA,SAAAC,GACE5Z,EAAQ,MAeV6Z,EAAgB7a,OAAA0a,EAAA,EAAA1a,CACdwqG,EAAA1vF,EACA2vF,EAAA,EACAA,EAAA,GAXF,EAaA9vF,EATA,KAEA,MAYeN,EAAA,QAAAQ,EAAiB,yBCvBhC,IAAAs+C,EAAcn4D,EAAQ,KACtB,iBAAAm4D,MAAA,EAA4C93D,EAAA1B,EAASw5D,EAAA,MACrDA,EAAAurC,SAAArjG,EAAAD,QAAA+3D,EAAAurC,SAGAvkF,EADUnf,EAAQ,GAAgEiH,SAClF,WAAAkxD,GAAA,wBCRA93D,EAAAD,QAA2BJ,EAAQ,EAARA,EAA0D,IAKrFjB,KAAA,CAAcsB,EAAA1B,EAAS,+vBAA+vB,sBCFtxB,IAAAw5D,EAAcn4D,EAAQ,KACtB,iBAAAm4D,MAAA,EAA4C93D,EAAA1B,EAASw5D,EAAA,MACrDA,EAAAurC,SAAArjG,EAAAD,QAAA+3D,EAAAurC,SAGAvkF,EADUnf,EAAQ,GAAgEiH,SAClF,WAAAkxD,GAAA,wBCRA93D,EAAAD,QAA2BJ,EAAQ,EAARA,EAA0D,IAKrFjB,KAAA,CAAcsB,EAAA1B,EAAS,8TAA8T,sBCFrV,IAAAw5D,EAAcn4D,EAAQ,KACtB,iBAAAm4D,MAAA,EAA4C93D,EAAA1B,EAASw5D,EAAA,MACrDA,EAAAurC,SAAArjG,EAAAD,QAAA+3D,EAAAurC,SAGAvkF,EADUnf,EAAQ,GAAgEiH,SAClF,WAAAkxD,GAAA,wBCRA93D,EAAAD,QAA2BJ,EAAQ,EAARA,EAA0D,IAKrFjB,KAAA,CAAcsB,EAAA1B,EAAS,yiBAAyiB,sBCFhkB,IAAAw5D,EAAcn4D,EAAQ,KACtB,iBAAAm4D,MAAA,EAA4C93D,EAAA1B,EAASw5D,EAAA,MACrDA,EAAAurC,SAAArjG,EAAAD,QAAA+3D,EAAAurC,SAGAvkF,EADUnf,EAAQ,GAAgEiH,SAClF,WAAAkxD,GAAA,wBCRA93D,EAAAD,QAA2BJ,EAAQ,EAARA,EAA0D,IAKrFjB,KAAA,CAAcsB,EAAA1B,EAAS,0KAA0K,iJCLjMqB,EAAA,SACAA,EAAA,MACA0pG,EAAA1pG,EAAA,wDACAA,EAAA,eAEqB,SAAAwG,GAAA,IACnBN,EADmBM,EACnBN,MACAs2C,EAFmBh2C,EAEnBg2C,OACAE,EAHmBl2C,EAGnBk2C,QAHmBitD,EAAAnjG,EAInBm2C,qBAJmBp6C,IAAAonG,EAIH,UAJGA,EAAAC,EAAApjG,EAKnBo2C,2BALmBr6C,IAAAqnG,EAKG,GALHA,EAAA,OAMf,SAACC,GACL,IACM1/E,GADgB,EAAAvZ,EAAA3J,UAAY,EAAAyiG,EAAA1nB,mBAAkB6nB,IACxBhhG,OAAO,SAAAmY,GAAA,OAAKA,IAAM27B,IAAet8B,OAAOu8B,GAEpE,OAAO6qB,UAAIC,UAAU,eAAgB,CACnCv9C,QACA9rB,KAFmC,WAGjC,MAAO,CACL4uB,SAAS,EACT3C,aAAa,EACb5oB,OAAO,IAGXunB,SAAU,CACR6gF,QADQ,WAEN,OAAOttD,EAAO5vC,KAAKm9F,OAAQn9F,KAAKsc,SAAW,KAG/CG,QAdmC,WAejC9kB,OAAO+gB,iBAAiB,SAAU1Y,KAAK6e,YACX,IAAxB7e,KAAKk9F,QAAQjrG,QACf+N,KAAKo9F,gBAGTzgF,UApBmC,WAqBjChlB,OAAO4nB,oBAAoB,SAAUvf,KAAK6e,YAC1CixB,GAAWA,EAAQ9vC,KAAKm9F,OAAQn9F,KAAKsc,SAEvCkD,QAAS,CACP49E,aADO,WACS,IAAAr9E,EAAA/f,KACTA,KAAKqgB,UACRrgB,KAAKqgB,SAAU,EACfrgB,KAAKlL,OAAQ,EACbwE,EAAM0G,KAAKm9F,OAAQn9F,KAAKsc,QACrBthB,KAAK,SAACqiG,GACLt9E,EAAKM,SAAU,EACfN,EAAKrC,aAAc,EAAA4/E,EAAAjjG,SAAQgjG,KAE5B/kF,MAAM,WACLyH,EAAKM,SAAU,EACfN,EAAKjrB,OAAQ,MAIrB+pB,WAhBO,SAgBKlrB,GACV,IAAMssB,EAAY7rB,SAASwG,KAAKslB,wBAC1BC,EAAS5R,KAAK6R,IAAIH,EAAUE,QAAUF,EAAU3M,IACjC,IAAjBtT,KAAKqgB,UACc,IAArBrgB,KAAK0d,aACL1d,KAAKygB,IAAIC,aAAe,GACvB/oB,OAAOgpB,YAAchpB,OAAOipB,aAAiBT,EAAS,KAEvDngB,KAAKo9F,iBAIX/hC,OApDmC,SAoD3BhnE,GAAe,IAAAinE,EAAAr7D,UAAA,GACfsd,EAAQ,CACZA,uBACKvd,KAAKm9F,QADV,EAAAnpD,EAAA35C,SAAA,GAEG01C,EAAgB/vC,KAAKk9F,UAExBthC,GAAI57D,KAAKu9F,WACTvzB,YAAahqE,KAAKw9F,cAEdC,GAAW,EAAArjG,EAAAC,SAAe2F,KAAKw8B,QAAQliC,IAAI,SAAAC,GAAA,IAAAC,GAAA,EAAAC,EAAAJ,SAAAE,EAAA,GAAErD,EAAFsD,EAAA,GAAO5D,EAAP4D,EAAA,UAAkBnG,EAAc,WAAY,CAAEooC,KAAMvlC,GAAON,KAC5G,OACE0kE,EAAA,OAAKK,MAAM,kBAAX,CACEL,EAAC2hC,EAAqB1/E,EAAtB,CACGkgF,IAEHniC,EAAA,OAAKK,MAAM,yBAAX,CACG37D,KAAKlL,OAASwmE,EAAA,KAAAM,GAAA,CAAAr1B,MAAYvmC,KAAKo9F,cAAczhC,MAAM,eAArC,CAAoD37D,KAAKuvB,GAAG,4BACzEvvB,KAAKlL,OAASkL,KAAKqgB,SAAWi7C,EAAA,KAAGK,MAAM,6BACvC37D,KAAKlL,QAAUkL,KAAKqgB,UAAYrgB,KAAK0d,aAAe49C,EAAA,KAAAM,GAAA,CAAAr1B,MAAYvmC,KAAKo9F,eAAjB,CAAgCp9F,KAAKuvB,GAAG,2ECrF1Gn8B,EAAAqD,EAAAgW,GAAA,IAAAixF,EAAAtqG,EAAA,KAAAuqG,EAAAvqG,EAAAgE,EAAAsmG,GAAA,QAAA9wF,KAAA8wF,EAAA,YAAA9wF,GAAA,SAAA1V,GAAA9D,EAAA8C,EAAAuW,EAAAvV,EAAA,kBAAAwmG,EAAAxmG,KAAA,CAAA0V,GAAA,IAAAgxF,EAAAxqG,EAAA,KAAA0Z,EAAA1Z,EAAA,GAQA,IAEA2Z,EAVA,SAAAC,GACE5Z,EAAQ,MAeV6Z,EAAgB7a,OAAA0a,EAAA,EAAA1a,CACdurG,EAAAzwF,EACA0wF,EAAA,EACAA,EAAA,GAXF,EAaA7wF,EATA,KAEA,MAYeN,EAAA,QAAAQ,EAAiB,yBCvBhC,IAAAs+C,EAAcn4D,EAAQ,KACtB,iBAAAm4D,MAAA,EAA4C93D,EAAA1B,EAASw5D,EAAA,MACrDA,EAAAurC,SAAArjG,EAAAD,QAAA+3D,EAAAurC,SAGAvkF,EADUnf,EAAQ,GAAgEiH,SAClF,WAAAkxD,GAAA,wBCRA93D,EAAAD,QAA2BJ,EAAQ,EAARA,EAA0D,IAKrFjB,KAAA,CAAcsB,EAAA1B,EAAS,+wCAA+wC,mCCLtyCqB,EAAAqD,EAAAgW,GAAA,IAAAoxF,EAAAzqG,EAAA,KAAA0qG,EAAA1qG,EAAAgE,EAAAymG,GAAA,QAAAjxF,KAAAixF,EAAA,YAAAjxF,GAAA,SAAA1V,GAAA9D,EAAA8C,EAAAuW,EAAAvV,EAAA,kBAAA2mG,EAAA3mG,KAAA,CAAA0V,GAAA,IAAAmxF,EAAA3qG,EAAA,KAAA0Z,EAAA1Z,EAAA,GAaA6Z,EAAgB7a,OAAA0a,EAAA,EAAA1a,CACd0rG,EAAA5wF,EACA6wF,EAAA,EACAA,EAAA,GAXF,EAEA,KAEA,KAEA,MAYetxF,EAAA,QAAAQ,EAAiB,iDCpBhC,IAAAs+C,EAAcn4D,EAAQ,KACtB,iBAAAm4D,MAAA,EAA4C93D,EAAA1B,EAASw5D,EAAA,MACrDA,EAAAurC,SAAArjG,EAAAD,QAAA+3D,EAAAurC,SAGAvkF,EADUnf,EAAQ,GAAgEiH,SAClF,WAAAkxD,GAAA,wBCRA93D,EAAAD,QAA2BJ,EAAQ,EAARA,EAA0D,IAKrFjB,KAAA,CAAcsB,EAAA1B,EAAS,stOAAstO,sBCF7uO,IAAAw5D,EAAcn4D,EAAQ,KACtB,iBAAAm4D,MAAA,EAA4C93D,EAAA1B,EAASw5D,EAAA,MACrDA,EAAAurC,SAAArjG,EAAAD,QAAA+3D,EAAAurC,SAGAvkF,EADUnf,EAAQ,GAAgEiH,SAClF,WAAAkxD,GAAA,wBCRA93D,EAAAD,QAA2BJ,EAAQ,EAARA,EAA0D,IAKrFjB,KAAA,CAAcsB,EAAA1B,EAAS,mEAAmE,mCCL1FqB,EAAAqD,EAAAgW,GAAA,IAAAuxF,EAAA5qG,EAAA,KAAA6qG,EAAA7qG,EAAAgE,EAAA4mG,GAAA,QAAApxF,KAAAoxF,EAAA,YAAApxF,GAAA,SAAA1V,GAAA9D,EAAA8C,EAAAuW,EAAAvV,EAAA,kBAAA8mG,EAAA9mG,KAAA,CAAA0V,GAAA,IAAAsxF,EAAA9qG,EAAA,KAAA0Z,EAAA1Z,EAAA,GAcA6Z,EAAgB7a,OAAA0a,EAAA,EAAA1a,CACd6rG,EAAA/wF,EACAgxF,EAAA,EACAA,EAAA,GAXF,EAEA,KAEA,KAEA,MAYezxF,EAAA,QAAAQ,EAAiB,sCCxBhC7Z,EAAAqD,EAAAgW,GAAA,IAAA0xF,EAAA/qG,EAAA,KAAAgrG,EAAAhrG,EAAAgE,EAAA+mG,GAAA,QAAAvxF,KAAAuxF,EAAA,YAAAvxF,GAAA,SAAA1V,GAAA9D,EAAA8C,EAAAuW,EAAAvV,EAAA,kBAAAinG,EAAAjnG,KAAA,CAAA0V,GAAA,IAAAyxF,EAAAjrG,EAAA,KAAA0Z,EAAA1Z,EAAA,GAQA,IAEA2Z,EAVA,SAAAC,GACE5Z,EAAQ,MAeV6Z,EAAgB7a,OAAA0a,EAAA,EAAA1a,CACdgsG,EAAAlxF,EACAmxF,EAAA,EACAA,EAAA,GAXF,EAaAtxF,EATA,KAEA,MAYeN,EAAA,QAAAQ,EAAiB,yBCvBhC,IAAAs+C,EAAcn4D,EAAQ,KACtB,iBAAAm4D,MAAA,EAA4C93D,EAAA1B,EAASw5D,EAAA,MACrDA,EAAAurC,SAAArjG,EAAAD,QAAA+3D,EAAAurC,SAGAvkF,EADUnf,EAAQ,GAAgEiH,SAClF,WAAAkxD,GAAA,wBCRA93D,EAAAD,QAA2BJ,EAAQ,EAARA,EAA0D,IAKrFjB,KAAA,CAAcsB,EAAA1B,EAAS,gqFAAgqF,mCCLvrFqB,EAAAqD,EAAAgW,GAAA,IAAA6xF,EAAAlrG,EAAA,KAAAmrG,EAAAnrG,EAAAgE,EAAAknG,GAAA,QAAA1xF,KAAA0xF,EAAA,YAAA1xF,GAAA,SAAA1V,GAAA9D,EAAA8C,EAAAuW,EAAAvV,EAAA,kBAAAonG,EAAApnG,KAAA,CAAA0V,GAAA,IAAA4xF,EAAAprG,EAAA,KAAA0Z,EAAA1Z,EAAA,GAQA,IAEA2Z,EAVA,SAAAC,GACE5Z,EAAQ,MAeV6Z,EAAgB7a,OAAA0a,EAAA,EAAA1a,CACdmsG,EAAArxF,EACAsxF,EAAA,EACAA,EAAA,GAXF,EAaAzxF,EATA,KAEA,MAYeN,EAAA,QAAAQ,EAAiB,yBCvBhC,IAAAs+C,EAAcn4D,EAAQ,KACtB,iBAAAm4D,MAAA,EAA4C93D,EAAA1B,EAASw5D,EAAA,MACrDA,EAAAurC,SAAArjG,EAAAD,QAAA+3D,EAAAurC,SAGAvkF,EADUnf,EAAQ,GAAgEiH,SAClF,WAAAkxD,GAAA,wBCRA93D,EAAAD,QAA2BJ,EAAQ,EAARA,EAA0D,IAKrFjB,KAAA,CAAcsB,EAAA1B,EAAS,6NAA6N,mCCLpPqB,EAAAqD,EAAAgW,GAAA,IAAAgyF,EAAArrG,EAAA,KAAAsrG,EAAAtrG,EAAAgE,EAAAqnG,GAAA,QAAA7xF,KAAA6xF,EAAA,YAAA7xF,GAAA,SAAA1V,GAAA9D,EAAA8C,EAAAuW,EAAAvV,EAAA,kBAAAunG,EAAAvnG,KAAA,CAAA0V,GAAA,IAAA+xF,EAAAvrG,EAAA,KAAA0Z,EAAA1Z,EAAA,GASA,IAEA2Z,EAXA,SAAAC,GACE5Z,EAAQ,MAgBV6Z,EAAgB7a,OAAA0a,EAAA,EAAA1a,CACdssG,EAAAxxF,EACAyxF,EAAA,EACAA,EAAA,GAXF,EAaA5xF,EATA,KAEA,MAYeN,EAAA,QAAAQ,EAAiB,yBCxBhC,IAAAs+C,EAAcn4D,EAAQ,KACtB,iBAAAm4D,MAAA,EAA4C93D,EAAA1B,EAASw5D,EAAA,MACrDA,EAAAurC,SAAArjG,EAAAD,QAAA+3D,EAAAurC,SAGAvkF,EADUnf,EAAQ,GAAgEiH,SAClF,WAAAkxD,GAAA,wBCRA93D,EAAAD,QAA2BJ,EAAQ,EAARA,EAA0D,IAKrFjB,KAAA,CAAcsB,EAAA1B,EAAS,wOAAwO,mCCL/PqB,EAAAqD,EAAAgW,GAAA,IAAAmyF,EAAAxrG,EAAA,KAAAyrG,EAAAzrG,EAAAgE,EAAAwnG,GAAA,QAAAhyF,KAAAgyF,EAAA,YAAAhyF,GAAA,SAAA1V,GAAA9D,EAAA8C,EAAAuW,EAAAvV,EAAA,kBAAA0nG,EAAA1nG,KAAA,CAAA0V,GAAA,IAAAkyF,EAAA1rG,EAAA,KAAA0Z,EAAA1Z,EAAA,GASA,IAEA2Z,EAXA,SAAAC,GACE5Z,EAAQ,MAgBV6Z,EAAgB7a,OAAA0a,EAAA,EAAA1a,CACdysG,EAAA3xF,EACA4xF,EAAA,EACAA,EAAA,GAXF,EAaA/xF,EATA,KAEA,MAYeN,EAAA,QAAAQ,EAAiB,yBCxBhC,IAAAs+C,EAAcn4D,EAAQ,KACtB,iBAAAm4D,MAAA,EAA4C93D,EAAA1B,EAASw5D,EAAA,MACrDA,EAAAurC,SAAArjG,EAAAD,QAAA+3D,EAAAurC,SAGAvkF,EADUnf,EAAQ,GAAgEiH,SAClF,WAAAkxD,GAAA,wBCRA93D,EAAAD,QAA2BJ,EAAQ,EAARA,EAA0D,IAKrFjB,KAAA,CAAcsB,EAAA1B,EAAS,wLAAwL,mCCL/MqB,EAAAqD,EAAAgW,GAAA,IAAAsyF,EAAA3rG,EAAA,KAAA4rG,EAAA5rG,EAAAgE,EAAA2nG,GAAA,QAAAnyF,KAAAmyF,EAAA,YAAAnyF,GAAA,SAAA1V,GAAA9D,EAAA8C,EAAAuW,EAAAvV,EAAA,kBAAA6nG,EAAA7nG,KAAA,CAAA0V,GAAA,IAAAqyF,EAAA7rG,EAAA,KAAA0Z,EAAA1Z,EAAA,GAcA6Z,EAAgB7a,OAAA0a,EAAA,EAAA1a,CACd4sG,EAAA9xF,EACA+xF,EAAA,EACAA,EAAA,GAXF,EAEA,KAEA,KAEA,MAYexyF,EAAA,QAAAQ,EAAiB,uFCvBnB2mC,gBAAgB,SAAAsrD,GAC3B,IACM3G,EAAU2G,EAAc5uF,MADhB,YAEd,OAAOioF,EAAUA,EAAQ,GAAK,kCCJhCnlG,EAAAqD,EAAAgW,GAAA,IAAA0yF,EAAA/rG,EAAA,KAAAgsG,EAAAhsG,EAAAgE,EAAA+nG,GAAA,QAAAvyF,KAAAuyF,EAAA,YAAAvyF,GAAA,SAAA1V,GAAA9D,EAAA8C,EAAAuW,EAAAvV,EAAA,kBAAAioG,EAAAjoG,KAAA,CAAA0V,GAAA,IAAAyyF,EAAAjsG,EAAA,KAAA0Z,EAAA1Z,EAAA,GAQA,IAEA2Z,EAVA,SAAAC,GACE5Z,EAAQ,MAeV6Z,EAAgB7a,OAAA0a,EAAA,EAAA1a,CACdgtG,EAAAlyF,EACAmyF,EAAA,EACAA,EAAA,GAXF,EAaAtyF,EATA,KAEA,MAYeN,EAAA,QAAAQ,EAAiB,yBCvBhC,IAAAs+C,EAAcn4D,EAAQ,KACtB,iBAAAm4D,MAAA,EAA4C93D,EAAA1B,EAASw5D,EAAA,MACrDA,EAAAurC,SAAArjG,EAAAD,QAAA+3D,EAAAurC,SAGAvkF,EADUnf,EAAQ,GAAgEiH,SAClF,WAAAkxD,GAAA,wBCRA93D,EAAAD,QAA2BJ,EAAQ,EAARA,EAA0D,IAKrFjB,KAAA,CAAcsB,EAAA1B,EAAS,s9CAAw9C,6DCL/+CqB,EAAAqD,EAAAgW,GAAA,IAAA6yF,EAAAlsG,EAAA,KAAAmsG,EAAAnsG,EAAAgE,EAAAkoG,GAAA,QAAA1yF,KAAA0yF,EAAA,YAAA1yF,GAAA,SAAA1V,GAAA9D,EAAA8C,EAAAuW,EAAAvV,EAAA,kBAAAooG,EAAApoG,KAAA,CAAA0V,GAAA,IAAA4yF,EAAApsG,EAAA,KAAA0Z,EAAA1Z,EAAA,GAQA,IAEA2Z,EAVA,SAAAC,GACE5Z,EAAQ,MAeV6Z,EAAgB7a,OAAA0a,EAAA,EAAA1a,CACdmtG,EAAAryF,EACAsyF,EAAA,EACAA,EAAA,GAXF,EAaAzyF,EATA,KAEA,MAYeN,EAAA,QAAAQ,EAAiB,yBCvBhC,IAAAs+C,EAAcn4D,EAAQ,KACtB,iBAAAm4D,MAAA,EAA4C93D,EAAA1B,EAASw5D,EAAA,MACrDA,EAAAurC,SAAArjG,EAAAD,QAAA+3D,EAAAurC,SAGAvkF,EADUnf,EAAQ,GAAgEiH,SAClF,WAAAkxD,GAAA,wBCRA93D,EAAAD,QAA2BJ,EAAQ,EAARA,EAA0D,IAKrFjB,KAAA,CAAcsB,EAAA1B,EAAS,y4BAAy4B,iJCD14B,SAAA6H,GAAyB,IAAtBwgB,EAAsBxgB,EAAtBwgB,SACjBtgB,EAAS,CAAEyO,MAD4B3O,EAAZ2O,OAM3BhP,EAAS6gB,EARXqlF,mBAIU,EAAAxkF,EAAA5gB,SAAOP,EAAQ,SAACuU,EAAK+F,EAAG1E,GAEpC,OAAUrB,EAAV,IADmBqB,EAAb,IAAkBhV,mBAAmB0Z,IAE1C,IAGH,OAAOzc,OAAO2B,MAAMC,EAAK,CACvBM,OAAQ,wCCbZzG,EAAAqD,EAAAgW,GAAA,IAAAizF,EAAAtsG,EAAA,KAAAusG,EAAAvsG,EAAAgE,EAAAsoG,GAAA,QAAA9yF,KAAA8yF,EAAA,YAAA9yF,GAAA,SAAA1V,GAAA9D,EAAA8C,EAAAuW,EAAAvV,EAAA,kBAAAwoG,EAAAxoG,KAAA,CAAA0V,GAAA,IAAAgzF,EAAAxsG,EAAA,KAAA0Z,EAAA1Z,EAAA,GAQA,IAEA2Z,EAVA,SAAAC,GACE5Z,EAAQ,MAeV6Z,EAAgB7a,OAAA0a,EAAA,EAAA1a,CACdutG,EAAAzyF,EACA0yF,EAAA,EACAA,EAAA,GAXF,EAaA7yF,EATA,KAEA,MAYeN,EAAA,QAAAQ,EAAiB,yBCvBhC,IAAAs+C,EAAcn4D,EAAQ,KACtB,iBAAAm4D,MAAA,EAA4C93D,EAAA1B,EAASw5D,EAAA,MACrDA,EAAAurC,SAAArjG,EAAAD,QAAA+3D,EAAAurC,SAGAvkF,EADUnf,EAAQ,GAAgEiH,SAClF,WAAAkxD,GAAA,wBCRA93D,EAAAD,QAA2BJ,EAAQ,EAARA,EAA0D,IAKrFjB,KAAA,CAAcsB,EAAA1B,EAAS,y2BAAy2B,mCCLh4BqB,EAAAqD,EAAAgW,GAAA,IAAAozF,EAAAzsG,EAAA,KAAA0sG,EAAA1sG,EAAAgE,EAAAyoG,GAAA,QAAAjzF,KAAAizF,EAAA,YAAAjzF,GAAA,SAAA1V,GAAA9D,EAAA8C,EAAAuW,EAAAvV,EAAA,kBAAA2oG,EAAA3oG,KAAA,CAAA0V,GAAA,IAAAmzF,EAAA3sG,EAAA,KAAA0Z,EAAA1Z,EAAA,GAQA,IAEA2Z,EAVA,SAAAC,GACE5Z,EAAQ,MAeV6Z,EAAgB7a,OAAA0a,EAAA,EAAA1a,CACd0tG,EAAA5yF,EACA6yF,EAAA,EACAA,EAAA,GAXF,EAaAhzF,EATA,KAEA,MAYeN,EAAA,QAAAQ,EAAiB,yBCvBhC,IAAAs+C,EAAcn4D,EAAQ,KACtB,iBAAAm4D,MAAA,EAA4C93D,EAAA1B,EAASw5D,EAAA,MACrDA,EAAAurC,SAAArjG,EAAAD,QAAA+3D,EAAAurC,SAGAvkF,EADUnf,EAAQ,GAAgEiH,SAClF,WAAAkxD,GAAA,wBCRA93D,EAAAD,QAA2BJ,EAAQ,EAARA,EAA0D,IAKrFjB,KAAA,CAAcsB,EAAA1B,EAAS,8PAA8P,qCCLrRqB,EAAAqD,EAAAgW,GAAA,IAAAuzF,EAAA5sG,EAAA,KAAA6sG,EAAA7sG,EAAAgE,EAAA4oG,GAAA,QAAApzF,KAAAozF,EAAA,YAAApzF,GAAA,SAAA1V,GAAA9D,EAAA8C,EAAAuW,EAAAvV,EAAA,kBAAA8oG,EAAA9oG,KAAA,CAAA0V,GAAA,IAAAszF,EAAA9sG,EAAA,KAAA0Z,EAAA1Z,EAAA,GAQA,IAEA2Z,EAVA,SAAAC,GACE5Z,EAAQ,MAeV6Z,EAAgB7a,OAAA0a,EAAA,EAAA1a,CACd6tG,EAAA/yF,EACAgzF,EAAA,EACAA,EAAA,GAXF,EAaAnzF,EATA,KAEA,MAYeN,EAAA,QAAAQ,EAAiB,yBCvBhC,IAAAs+C,EAAcn4D,EAAQ,KACtB,iBAAAm4D,MAAA,EAA4C93D,EAAA1B,EAASw5D,EAAA,MACrDA,EAAAurC,SAAArjG,EAAAD,QAAA+3D,EAAAurC,SAGAvkF,EADUnf,EAAQ,GAAgEiH,SAClF,WAAAkxD,GAAA,wBCRA93D,EAAAD,QAA2BJ,EAAQ,EAARA,EAA0D,IAKrFjB,KAAA,CAAcsB,EAAA1B,EAAS,kHAAkH,mCCLzIqB,EAAAqD,EAAAgW,GAAA,IAAA0zF,EAAA/sG,EAAA,KAAAgtG,EAAAhtG,EAAAgE,EAAA+oG,GAAA,QAAAvzF,KAAAuzF,EAAA,YAAAvzF,GAAA,SAAA1V,GAAA9D,EAAA8C,EAAAuW,EAAAvV,EAAA,kBAAAipG,EAAAjpG,KAAA,CAAA0V,GAAA,IAAAyzF,EAAAjtG,EAAA,KAAA0Z,EAAA1Z,EAAA,GAQA,IAEA2Z,EAVA,SAAAC,GACE5Z,EAAQ,MAeV6Z,EAAgB7a,OAAA0a,EAAA,EAAA1a,CACdguG,EAAAlzF,EACAmzF,EAAA,EACAA,EAAA,GAXF,EAaAtzF,EATA,KAEA,MAYeN,EAAA,QAAAQ,EAAiB,yBCvBhC,IAAAs+C,EAAcn4D,EAAQ,KACtB,iBAAAm4D,MAAA,EAA4C93D,EAAA1B,EAASw5D,EAAA,MACrDA,EAAAurC,SAAArjG,EAAAD,QAAA+3D,EAAAurC,SAGAvkF,EADUnf,EAAQ,GAAgEiH,SAClF,WAAAkxD,GAAA,wBCRA93D,EAAAD,QAA2BJ,EAAQ,EAARA,EAA0D,IAKrFjB,KAAA,CAAcsB,EAAA1B,EAAS,gHAAgH,mCCLvIqB,EAAAqD,EAAAgW,GAAA,IAAA6zF,EAAAltG,EAAA,KAAAmtG,EAAAntG,EAAAgE,EAAAkpG,GAAA,QAAA1zF,KAAA0zF,EAAA,YAAA1zF,GAAA,SAAA1V,GAAA9D,EAAA8C,EAAAuW,EAAAvV,EAAA,kBAAAopG,EAAAppG,KAAA,CAAA0V,GAAA,IAAA4zF,EAAAptG,EAAA,KAAA0Z,EAAA1Z,EAAA,GAQA,IAEA2Z,EAVA,SAAAC,GACE5Z,EAAQ,MAeV6Z,EAAgB7a,OAAA0a,EAAA,EAAA1a,CACdmuG,EAAArzF,EACAszF,EAAA,EACAA,EAAA,GAXF,EAaAzzF,EATA,KAEA,MAYeN,EAAA,QAAAQ,EAAiB,yBCvBhC,IAAAs+C,EAAcn4D,EAAQ,KACtB,iBAAAm4D,MAAA,EAA4C93D,EAAA1B,EAASw5D,EAAA,MACrDA,EAAAurC,SAAArjG,EAAAD,QAAA+3D,EAAAurC,SAGAvkF,EADUnf,EAAQ,GAAgEiH,SAClF,WAAAkxD,GAAA,wBCRA93D,EAAAD,QAA2BJ,EAAQ,EAARA,EAA0D,IAKrFjB,KAAA,CAAcsB,EAAA1B,EAAS,6jBAA6jB,mCCLplBqB,EAAAqD,EAAAgW,GAAA,IAAAg0F,EAAArtG,EAAA,KAAAstG,EAAAttG,EAAAgE,EAAAqpG,GAAA,QAAA7zF,KAAA6zF,EAAA,YAAA7zF,GAAA,SAAA1V,GAAA9D,EAAA8C,EAAAuW,EAAAvV,EAAA,kBAAAupG,EAAAvpG,KAAA,CAAA0V,GAAA,IAAA+zF,EAAAvtG,EAAA,KAAA0Z,EAAA1Z,EAAA,GAQA,IAEA2Z,EAVA,SAAAC,GACE5Z,EAAQ,MAeV6Z,EAAgB7a,OAAA0a,EAAA,EAAA1a,CACdsuG,EAAAxzF,EACAyzF,EAAA,EACAA,EAAA,GAXF,EAaA5zF,EATA,KAEA,MAYeN,EAAA,QAAAQ,EAAiB,yBCvBhC,IAAAs+C,EAAcn4D,EAAQ,KACtB,iBAAAm4D,MAAA,EAA4C93D,EAAA1B,EAASw5D,EAAA,MACrDA,EAAAurC,SAAArjG,EAAAD,QAAA+3D,EAAAurC,SAGAvkF,EADUnf,EAAQ,GAAgEiH,SAClF,WAAAkxD,GAAA,wBCRA93D,EAAAD,QAA2BJ,EAAQ,EAARA,EAA0D,IAKrFjB,KAAA,CAAcsB,EAAA1B,EAAS,6dAA6d,mCCLpfqB,EAAAqD,EAAAgW,GAAA,IAAAm0F,EAAAxtG,EAAA,KAAAytG,EAAAztG,EAAAgE,EAAAwpG,GAAA,QAAAh0F,KAAAg0F,EAAA,YAAAh0F,GAAA,SAAA1V,GAAA9D,EAAA8C,EAAAuW,EAAAvV,EAAA,kBAAA0pG,EAAA1pG,KAAA,CAAA0V,GAAA,IAAAk0F,EAAA1tG,EAAA,KAAA0Z,EAAA1Z,EAAA,GAQA,IAEA2Z,EAVA,SAAAC,GACE5Z,EAAQ,MAeV6Z,EAAgB7a,OAAA0a,EAAA,EAAA1a,CACdyuG,EAAA3zF,EACA4zF,EAAA,EACAA,EAAA,GAXF,EAaA/zF,EATA,KAEA,MAYeN,EAAA,QAAAQ,EAAiB,yBCvBhC,IAAAs+C,EAAcn4D,EAAQ,KACtB,iBAAAm4D,MAAA,EAA4C93D,EAAA1B,EAASw5D,EAAA,MACrDA,EAAAurC,SAAArjG,EAAAD,QAAA+3D,EAAAurC,SAGAvkF,EADUnf,EAAQ,GAAgEiH,SAClF,WAAAkxD,GAAA,wBCRA93D,EAAAD,QAA2BJ,EAAQ,EAARA,EAA0D,IAKrFjB,KAAA,CAAcsB,EAAA1B,EAAS,oDAAoD,mCCL3EqB,EAAAqD,EAAAgW,GAAA,IAAAs0F,EAAA3tG,EAAA,KAAA4tG,EAAA5tG,EAAAgE,EAAA2pG,GAAA,QAAAn0F,KAAAm0F,EAAA,YAAAn0F,GAAA,SAAA1V,GAAA9D,EAAA8C,EAAAuW,EAAAvV,EAAA,kBAAA6pG,EAAA7pG,KAAA,CAAA0V,GAAA,IAAAq0F,EAAA7tG,EAAA,KAAA0Z,EAAA1Z,EAAA,GAQA,IAEA2Z,EAVA,SAAAC,GACE5Z,EAAQ,MAeV6Z,EAAgB7a,OAAA0a,EAAA,EAAA1a,CACd4uG,EAAA9zF,EACA+zF,EAAA,EACAA,EAAA,GAXF,EAaAl0F,EATA,KAEA,MAYeN,EAAA,QAAAQ,EAAiB,yBCvBhC,IAAAs+C,EAAcn4D,EAAQ,KACtB,iBAAAm4D,MAAA,EAA4C93D,EAAA1B,EAASw5D,EAAA,MACrDA,EAAAurC,SAAArjG,EAAAD,QAAA+3D,EAAAurC,SAGAvkF,EADUnf,EAAQ,GAAgEiH,SAClF,WAAAkxD,GAAA,wBCRA93D,EAAAD,QAA2BJ,EAAQ,EAARA,EAA0D,IAKrFjB,KAAA,CAAcsB,EAAA1B,EAAS,qDAAqD,4JCL5EqB,EAAA,SACAA,EAAA,MACA0pG,EAAA1pG,EAAA,wDACAA,EAAA,eAEyB,SAAAwG,GAAA,IACvBN,EADuBM,EACvBN,MACAs2C,EAFuBh2C,EAEvBg2C,OAFuBmtD,EAAAnjG,EAGvBm2C,qBAHuBp6C,IAAAonG,EAGP,UAHOA,EAAAC,EAAApjG,EAIvBo2C,2BAJuBr6C,IAAAqnG,EAID,GAJCA,EAAA,OAKnB,SAACC,GACL,IACM1/E,GADgB,EAAAvZ,EAAA3J,UAAY,EAAAyiG,EAAA1nB,mBAAkB6nB,IACxBhhG,OAAO,SAAAmY,GAAA,OAAKA,IAAM27B,IAAet8B,OAAOu8B,GAEpE,OAAO6qB,UAAIC,UAAU,mBAAoB,CACvCv9C,8BACKA,GADL,CAEE,YAEF9rB,KALuC,WAMrC,MAAO,CACL4uB,SAAS,EACTvrB,OAAO,IAGXunB,SAAU,CACR6kF,YADQ,WAEN,OAAOtxD,EAAO5vC,KAAKm9F,OAAQn9F,KAAKsc,UAGpCG,QAhBuC,YAiBjCzc,KAAKutE,UAAW,EAAA+vB,EAAAjjG,SAAQ2F,KAAKkhG,eAC/BlhG,KAAKmhG,aAGT3hF,QAAS,CACP2hF,UADO,WACM,IAAAphF,EAAA/f,KACNA,KAAKqgB,UACRrgB,KAAKqgB,SAAU,EACfrgB,KAAKlL,OAAQ,EACbwE,EAAM0G,KAAKm9F,OAAQn9F,KAAKsc,QACrBthB,KAAK,WACJ+kB,EAAKM,SAAU,IAEhB/H,MAAM,WACLyH,EAAKjrB,OAAQ,EACbirB,EAAKM,SAAU,OAKzBg7C,OArCuC,SAqC/BhnE,GAAe,IAAAinE,EAAAr7D,UAAA,GACrB,GAAKD,KAAKlL,OAAUkL,KAAKqgB,QAkBvB,OACEi7C,EAAA,OAAKK,MAAM,6BAAX,CACG37D,KAAKlL,MACFwmE,EAAA,KAAAM,GAAA,CAAAr1B,MAAYvmC,KAAKmhG,WAAWxlC,MAAM,eAAlC,CAAiD37D,KAAKuvB,GAAG,2BACzD+rC,EAAA,KAAGK,MAAM,8BArBjB,IAAMp+C,EAAQ,CACZA,uBACKvd,KAAKm9F,QADV,EAAAnpD,EAAA35C,SAAA,GAEG01C,EAAgB/vC,KAAKkhG,cAExBtlC,GAAI57D,KAAKu9F,WACTvzB,YAAahqE,KAAKw9F,cAEdC,GAAW,EAAArjG,EAAAC,SAAe2F,KAAKw8B,QAAQliC,IAAI,SAAAC,GAAA,IAAAC,GAAA,EAAAC,EAAAJ,SAAAE,EAAA,GAAErD,EAAFsD,EAAA,GAAO5D,EAAP4D,EAAA,UAAkBnG,EAAc,WAAY,CAAEooC,KAAMvlC,GAAON,KAC5G,OACE0kE,EAAA,OAAKK,MAAM,qBAAX,CACEL,EAAC2hC,EAAqB1/E,EAAtB,CACGkgF,2DCjEfrqG,EAAAqD,EAAAgW,GAAA,IAAA20F,EAAAhuG,EAAA,KAAAiuG,EAAAjuG,EAAAgE,EAAAgqG,GAAA,QAAAx0F,KAAAw0F,EAAA,YAAAx0F,GAAA,SAAA1V,GAAA9D,EAAA8C,EAAAuW,EAAAvV,EAAA,kBAAAkqG,EAAAlqG,KAAA,CAAA0V,GAAA,IAAA00F,EAAAluG,EAAA,KAAA0Z,EAAA1Z,EAAA,GAQA,IAEA2Z,EAVA,SAAAC,GACE5Z,EAAQ,MAeV6Z,EAAgB7a,OAAA0a,EAAA,EAAA1a,CACdivG,EAAAn0F,EACAo0F,EAAA,EACAA,EAAA,GAXF,EAaAv0F,EATA,KAEA,MAYeN,EAAA,QAAAQ,EAAiB,yBCvBhC,IAAAs+C,EAAcn4D,EAAQ,KACtB,iBAAAm4D,MAAA,EAA4C93D,EAAA1B,EAASw5D,EAAA,MACrDA,EAAAurC,SAAArjG,EAAAD,QAAA+3D,EAAAurC,SAGAvkF,EADUnf,EAAQ,GAAgEiH,SAClF,WAAAkxD,GAAA,wBCRA93D,EAAAD,QAA2BJ,EAAQ,EAARA,EAA0D,IAKrFjB,KAAA,CAAcsB,EAAA1B,EAAS,+pBAA+pB,mCCLtrBqB,EAAAqD,EAAAgW,GAAA,IAAA80F,EAAAnuG,EAAA,KAAAouG,EAAApuG,EAAAgE,EAAAmqG,GAAA,QAAA30F,KAAA20F,EAAA,YAAA30F,GAAA,SAAA1V,GAAA9D,EAAA8C,EAAAuW,EAAAvV,EAAA,kBAAAqqG,EAAArqG,KAAA,CAAA0V,GAAA,IAAA60F,EAAAruG,EAAA,KAAA0Z,EAAA1Z,EAAA,GAQA,IAEA2Z,EAVA,SAAAC,GACE5Z,EAAQ,MAeV6Z,EAAgB7a,OAAA0a,EAAA,EAAA1a,CACdovG,EAAAt0F,EACAu0F,EAAA,EACAA,EAAA,GAXF,EAaA10F,EATA,KAEA,MAYeN,EAAA,QAAAQ,EAAiB,yBCvBhC,IAAAs+C,EAAcn4D,EAAQ,KACtB,iBAAAm4D,MAAA,EAA4C93D,EAAA1B,EAASw5D,EAAA,MACrDA,EAAAurC,SAAArjG,EAAAD,QAAA+3D,EAAAurC,SAGAvkF,EADUnf,EAAQ,GAAgEiH,SAClF,WAAAkxD,GAAA,wBCRA93D,EAAAD,QAA2BJ,EAAQ,EAARA,EAA0D,IAKrFjB,KAAA,CAAcsB,EAAA1B,EAAS,6GAA6G,mCCLpIqB,EAAAqD,EAAAgW,GAAA,IAAAi1F,EAAAtuG,EAAA,KAAAuuG,EAAAvuG,EAAAgE,EAAAsqG,GAAA,QAAA90F,KAAA80F,EAAA,YAAA90F,GAAA,SAAA1V,GAAA9D,EAAA8C,EAAAuW,EAAAvV,EAAA,kBAAAwqG,EAAAxqG,KAAA,CAAA0V,GAAA,IAAAg1F,EAAAxuG,EAAA,KAAA0Z,EAAA1Z,EAAA,GAaA6Z,EAAgB7a,OAAA0a,EAAA,EAAA1a,CACduvG,EAAAz0F,EACA00F,EAAA,EACAA,EAAA,GAXF,EAEA,KAEA,KAEA,MAYen1F,EAAA,QAAAQ,EAAiB,uCCvBhC7Z,EAAAqD,EAAAgW,GAAA,IAAAo1F,EAAAzuG,EAAA,KAAA0uG,EAAA1uG,EAAAgE,EAAAyqG,GAAA,QAAAj1F,KAAAi1F,EAAA,YAAAj1F,GAAA,SAAA1V,GAAA9D,EAAA8C,EAAAuW,EAAAvV,EAAA,kBAAA2qG,EAAA3qG,KAAA,CAAA0V,GAAA,IAAAm1F,EAAA3uG,EAAA,KAAA0Z,EAAA1Z,EAAA,GAaA6Z,EAAgB7a,OAAA0a,EAAA,EAAA1a,CACd0vG,EAAA50F,EACA60F,EAAA,EACAA,EAAA,GAXF,EAEA,KAEA,KAEA,MAYet1F,EAAA,QAAAQ,EAAiB,sCCvBhC7Z,EAAAqD,EAAAgW,GAAA,IAAAu1F,EAAA5uG,EAAA,KAAA6uG,EAAA7uG,EAAAgE,EAAA4qG,GAAA,QAAAp1F,KAAAo1F,EAAA,YAAAp1F,GAAA,SAAA1V,GAAA9D,EAAA8C,EAAAuW,EAAAvV,EAAA,kBAAA8qG,EAAA9qG,KAAA,CAAA0V,GAAA,IAAAs1F,EAAA9uG,EAAA,KAAA0Z,EAAA1Z,EAAA,GAQA,IAEA2Z,EAVA,SAAAC,GACE5Z,EAAQ,MAeV6Z,EAAgB7a,OAAA0a,EAAA,EAAA1a,CACd6vG,EAAA/0F,EACAg1F,EAAA,EACAA,EAAA,GAXF,EAaAn1F,EATA,KAEA,MAYeN,EAAA,QAAAQ,EAAiB,yBCvBhC,IAAAs+C,EAAcn4D,EAAQ,KACtB,iBAAAm4D,MAAA,EAA4C93D,EAAA1B,EAASw5D,EAAA,MACrDA,EAAAurC,SAAArjG,EAAAD,QAAA+3D,EAAAurC,SAGAvkF,EADUnf,EAAQ,GAAgEiH,SAClF,WAAAkxD,GAAA,wBCRA93D,EAAAD,QAA2BJ,EAAQ,EAARA,EAA0D,IAKrFjB,KAAA,CAAcsB,EAAA1B,EAAS,kWAAkW,mCCLzXqB,EAAAqD,EAAAgW,GAAA,IAAA01F,EAAA/uG,EAAA,KAAAgvG,EAAAhvG,EAAAgE,EAAA+qG,GAAA,QAAAv1F,KAAAu1F,EAAA,YAAAv1F,GAAA,SAAA1V,GAAA9D,EAAA8C,EAAAuW,EAAAvV,EAAA,kBAAAirG,EAAAjrG,KAAA,CAAA0V,GAAA,IAAAy1F,EAAAjvG,EAAA,KAAA0Z,EAAA1Z,EAAA,GAaA6Z,EAAgB7a,OAAA0a,EAAA,EAAA1a,CACdgwG,EAAAl1F,EACAm1F,EAAA,EACAA,EAAA,GAXF,EAEA,KAEA,KAEA,MAYe51F,EAAA,QAAAQ,EAAiB,sCCvBhC7Z,EAAAqD,EAAAgW,GAAA,IAAA61F,EAAAlvG,EAAA,KAAAmvG,EAAAnvG,EAAAgE,EAAAkrG,GAAA,QAAA11F,KAAA01F,EAAA,YAAA11F,GAAA,SAAA1V,GAAA9D,EAAA8C,EAAAuW,EAAAvV,EAAA,kBAAAorG,EAAAprG,KAAA,CAAA0V,GAAA,IAAA41F,EAAApvG,EAAA,KAAA0Z,EAAA1Z,EAAA,GAQA,IAEA2Z,EAVA,SAAAC,GACE5Z,EAAQ,MAeV6Z,EAAgB7a,OAAA0a,EAAA,EAAA1a,CACdmwG,EAAAr1F,EACAs1F,EAAA,EACAA,EAAA,GAXF,EAaAz1F,EATA,KAEA,MAYeN,EAAA,QAAAQ,EAAiB,yBCvBhC,IAAAs+C,EAAcn4D,EAAQ,KACtB,iBAAAm4D,MAAA,EAA4C93D,EAAA1B,EAASw5D,EAAA,MACrDA,EAAAurC,SAAArjG,EAAAD,QAAA+3D,EAAAurC,SAGAvkF,EADUnf,EAAQ,GAAgEiH,SAClF,WAAAkxD,GAAA,wBCRA93D,EAAAD,QAA2BJ,EAAQ,EAARA,EAA0D,IAKrFjB,KAAA,CAAcsB,EAAA1B,EAAS,w3BAAw3B,mCCL/4BqB,EAAAqD,EAAAgW,GAAA,IAAAg2F,EAAArvG,EAAA,KAAAsvG,EAAAtvG,EAAAgE,EAAAqrG,GAAA,QAAA71F,KAAA61F,EAAA,YAAA71F,GAAA,SAAA1V,GAAA9D,EAAA8C,EAAAuW,EAAAvV,EAAA,kBAAAurG,EAAAvrG,KAAA,CAAA0V,GAAA,IAAA+1F,EAAAvvG,EAAA,KAAA0Z,EAAA1Z,EAAA,GAaA6Z,EAAgB7a,OAAA0a,EAAA,EAAA1a,CACdswG,EAAAx1F,EACAy1F,EAAA,EACAA,EAAA,GAXF,EAEA,KAEA,KAEA,MAYel2F,EAAA,QAAAQ,EAAiB,sCCvBhC7Z,EAAAqD,EAAAgW,GAAA,IAAAm2F,EAAAxvG,EAAA,KAAAyvG,EAAAzvG,EAAAgE,EAAAwrG,GAAA,QAAAh2F,KAAAg2F,EAAA,YAAAh2F,GAAA,SAAA1V,GAAA9D,EAAA8C,EAAAuW,EAAAvV,EAAA,kBAAA0rG,EAAA1rG,KAAA,CAAA0V,GAAA,IAAAk2F,EAAA1vG,EAAA,KAAA0Z,EAAA1Z,EAAA,GAaA6Z,EAAgB7a,OAAA0a,EAAA,EAAA1a,CACdywG,EAAA31F,EACA41F,EAAA,EACAA,EAAA,GAXF,EAEA,KAEA,KAEA,MAYer2F,EAAA,QAAAQ,EAAiB,yBCpBhC,IAAAs+C,EAAcn4D,EAAQ,KACtB,iBAAAm4D,MAAA,EAA4C93D,EAAA1B,EAASw5D,EAAA,MACrDA,EAAAurC,SAAArjG,EAAAD,QAAA+3D,EAAAurC,SAGAvkF,EADUnf,EAAQ,GAAgEiH,SAClF,WAAAkxD,GAAA,wBCRA93D,EAAAD,QAA2BJ,EAAQ,EAARA,EAA0D,IAKrFjB,KAAA,CAAcsB,EAAA1B,EAAS,gsBAAgsB,mCCLvtBqB,EAAAqD,EAAAgW,GAAA,IAAAs2F,EAAA3vG,EAAA,KAAA4vG,EAAA5vG,EAAAgE,EAAA2rG,GAAA,QAAAn2F,KAAAm2F,EAAA,YAAAn2F,GAAA,SAAA1V,GAAA9D,EAAA8C,EAAAuW,EAAAvV,EAAA,kBAAA6rG,EAAA7rG,KAAA,CAAA0V,GAAA,IAAAq2F,EAAA7vG,EAAA,KAAA0Z,EAAA1Z,EAAA,GAQA,IAEA2Z,EAVA,SAAAC,GACE5Z,EAAQ,MAeV6Z,EAAgB7a,OAAA0a,EAAA,EAAA1a,CACd4wG,EAAA91F,EACA+1F,EAAA,EACAA,EAAA,GAXF,EAaAl2F,EATA,KAEA,MAYeN,EAAA,QAAAQ,EAAiB,yBCvBhC,IAAAs+C,EAAcn4D,EAAQ,KACtB,iBAAAm4D,MAAA,EAA4C93D,EAAA1B,EAASw5D,EAAA,MACrDA,EAAAurC,SAAArjG,EAAAD,QAAA+3D,EAAAurC,SAGAvkF,EADUnf,EAAQ,GAAgEiH,SAClF,WAAAkxD,GAAA,wBCRA93D,EAAAD,QAA2BJ,EAAQ,EAARA,EAA0D,IAKrFjB,KAAA,CAAcsB,EAAA1B,EAAS,sCCLvBqB,EAAAqD,EAAAgW,GAAA,IAAAy2F,EAAA9vG,EAAA,KAAA+vG,EAAA/vG,EAAAgE,EAAA8rG,GAAA,QAAAt2F,KAAAs2F,EAAA,YAAAt2F,GAAA,SAAA1V,GAAA9D,EAAA8C,EAAAuW,EAAAvV,EAAA,kBAAAgsG,EAAAhsG,KAAA,CAAA0V,GAAA,IAAAw2F,EAAAhwG,EAAA,KAAA0Z,EAAA1Z,EAAA,GAQA,IAEA2Z,EAVA,SAAAC,GACE5Z,EAAQ,MAeV6Z,EAAgB7a,OAAA0a,EAAA,EAAA1a,CACd+wG,EAAAj2F,EACAk2F,EAAA,EACAA,EAAA,GAXF,EAaAr2F,EATA,KAEA,MAYeN,EAAA,QAAAQ,EAAiB,yBCvBhC,IAAAs+C,EAAcn4D,EAAQ,KACtB,iBAAAm4D,MAAA,EAA4C93D,EAAA1B,EAASw5D,EAAA,MACrDA,EAAAurC,SAAArjG,EAAAD,QAAA+3D,EAAAurC,SAGAvkF,EADUnf,EAAQ,GAAgEiH,SAClF,WAAAkxD,GAAA,wBCRA93D,EAAAD,QAA2BJ,EAAQ,EAARA,EAA0D,IAKrFjB,KAAA,CAAcsB,EAAA1B,EAAS,yBCFvB,IAAAw5D,EAAcn4D,EAAQ,KACtB,iBAAAm4D,MAAA,EAA4C93D,EAAA1B,EAASw5D,EAAA,MACrDA,EAAAurC,SAAArjG,EAAAD,QAAA+3D,EAAAurC,SAGAvkF,EADUnf,EAAQ,GAAgEiH,SAClF,WAAAkxD,GAAA,wBCRA93D,EAAAD,QAA2BJ,EAAQ,EAARA,EAA0D,IAKrFjB,KAAA,CAAcsB,EAAA1B,EAAS,uCAAuC,mCCL9DqB,EAAAqD,EAAAgW,GAAA,IAAA42F,EAAAjwG,EAAA,KAAAkwG,EAAAlwG,EAAAgE,EAAAisG,GAAA,QAAAz2F,KAAAy2F,EAAA,YAAAz2F,GAAA,SAAA1V,GAAA9D,EAAA8C,EAAAuW,EAAAvV,EAAA,kBAAAmsG,EAAAnsG,KAAA,CAAA0V,GAAA,IAAA22F,EAAAnwG,EAAA,KAAA0Z,EAAA1Z,EAAA,GAQA,IAEA2Z,EAVA,SAAAC,GACE5Z,EAAQ,MAeV6Z,EAAgB7a,OAAA0a,EAAA,EAAA1a,CACdkxG,EAAAp2F,EACAq2F,EAAA,EACAA,EAAA,GAXF,EAaAx2F,EATA,KAEA,MAYeN,EAAA,QAAAQ,EAAiB,yBCvBhC,IAAAs+C,EAAcn4D,EAAQ,KACtB,iBAAAm4D,MAAA,EAA4C93D,EAAA1B,EAASw5D,EAAA,MACrDA,EAAAurC,SAAArjG,EAAAD,QAAA+3D,EAAAurC,SAGAvkF,EADUnf,EAAQ,GAAgEiH,SAClF,WAAAkxD,GAAA,wBCRA93D,EAAAD,QAA2BJ,EAAQ,EAARA,EAA0D,IAKrFjB,KAAA,CAAcsB,EAAA1B,EAAS,2BAA2B,mCCLlDqB,EAAAqD,EAAAgW,GAAA,IAAA+2F,EAAApwG,EAAA,KAAAqwG,EAAArwG,EAAAgE,EAAAosG,GAAA,QAAA52F,KAAA42F,EAAA,YAAA52F,GAAA,SAAA1V,GAAA9D,EAAA8C,EAAAuW,EAAAvV,EAAA,kBAAAssG,EAAAtsG,KAAA,CAAA0V,GAAA,IAAA82F,EAAAtwG,EAAA,KAAA0Z,EAAA1Z,EAAA,GAQA,IAEA2Z,EAVA,SAAAC,GACE5Z,EAAQ,MAeV6Z,EAAgB7a,OAAA0a,EAAA,EAAA1a,CACdqxG,EAAAv2F,EACAw2F,EAAA,EACAA,EAAA,GAXF,EAaA32F,EATA,KAEA,MAYeN,EAAA,QAAAQ,EAAiB,yBCvBhC,IAAAs+C,EAAcn4D,EAAQ,KACtB,iBAAAm4D,MAAA,EAA4C93D,EAAA1B,EAASw5D,EAAA,MACrDA,EAAAurC,SAAArjG,EAAAD,QAAA+3D,EAAAurC,SAGAvkF,EADUnf,EAAQ,GAAgEiH,SAClF,WAAAkxD,GAAA,wBCRA93D,EAAAD,QAA2BJ,EAAQ,EAARA,EAA0D,IAKrFjB,KAAA,CAAcsB,EAAA1B,EAAS,sCCLvBqB,EAAAqD,EAAAgW,GAAA,IAAAk3F,EAAAvwG,EAAA,KAAAwwG,EAAAxwG,EAAAgE,EAAAusG,GAAA,QAAA/2F,KAAA+2F,EAAA,YAAA/2F,GAAA,SAAA1V,GAAA9D,EAAA8C,EAAAuW,EAAAvV,EAAA,kBAAAysG,EAAAzsG,KAAA,CAAA0V,GAAA,IAAAi3F,EAAAzwG,EAAA,KAAA0Z,EAAA1Z,EAAA,GAQA,IAEA2Z,EAVA,SAAAC,GACE5Z,EAAQ,MAeV6Z,EAAgB7a,OAAA0a,EAAA,EAAA1a,CACdwxG,EAAA12F,EACA22F,EAAA,EACAA,EAAA,GAXF,EAaA92F,EATA,KAEA,MAYeN,EAAA,QAAAQ,EAAiB,yBCvBhC,IAAAs+C,EAAcn4D,EAAQ,KACtB,iBAAAm4D,MAAA,EAA4C93D,EAAA1B,EAASw5D,EAAA,MACrDA,EAAAurC,SAAArjG,EAAAD,QAAA+3D,EAAAurC,SAGAvkF,EADUnf,EAAQ,GAAgEiH,SAClF,WAAAkxD,GAAA,wBCRA93D,EAAAD,QAA2BJ,EAAQ,EAARA,EAA0D,IAKrFjB,KAAA,CAAcsB,EAAA1B,EAAS,2BAA2B,mCCLlDqB,EAAAqD,EAAAgW,GAAA,IAAAq3F,EAAA1wG,EAAA,KAAA2wG,EAAA3wG,EAAAgE,EAAA0sG,GAAA,QAAAl3F,KAAAk3F,EAAA,YAAAl3F,GAAA,SAAA1V,GAAA9D,EAAA8C,EAAAuW,EAAAvV,EAAA,kBAAA4sG,EAAA5sG,KAAA,CAAA0V,GAAA,IAAAo3F,EAAA5wG,EAAA,KAAA0Z,EAAA1Z,EAAA,GAQA,IAEA2Z,EAVA,SAAAC,GACE5Z,EAAQ,MAeV6Z,EAAgB7a,OAAA0a,EAAA,EAAA1a,CACd2xG,EAAA72F,EACA82F,EAAA,EACAA,EAAA,GAXF,EAaAj3F,EATA,KAEA,MAYeN,EAAA,QAAAQ,EAAiB,yBCvBhC,IAAAs+C,EAAcn4D,EAAQ,KACtB,iBAAAm4D,MAAA,EAA4C93D,EAAA1B,EAASw5D,EAAA,MACrDA,EAAAurC,SAAArjG,EAAAD,QAAA+3D,EAAAurC,SAGAvkF,EADUnf,EAAQ,GAAgEiH,SAClF,WAAAkxD,GAAA,wBCRA93D,EAAAD,QAA2BJ,EAAQ,EAARA,EAA0D,IAKrFjB,KAAA,CAAcsB,EAAA1B,EAAS,sCCLvBqB,EAAAqD,EAAAgW,GAAA,IAAAw3F,EAAA7wG,EAAA,KAAA8wG,EAAA9wG,EAAAgE,EAAA6sG,GAAA,QAAAr3F,KAAAq3F,EAAA,YAAAr3F,GAAA,SAAA1V,GAAA9D,EAAA8C,EAAAuW,EAAAvV,EAAA,kBAAA+sG,EAAA/sG,KAAA,CAAA0V,GAAA,IAAAu3F,EAAA/wG,EAAA,KAAA0Z,EAAA1Z,EAAA,GAQA,IAEA2Z,EAVA,SAAAC,GACE5Z,EAAQ,MAeV6Z,EAAgB7a,OAAA0a,EAAA,EAAA1a,CACd8xG,EAAAh3F,EACAi3F,EAAA,EACAA,EAAA,GAXF,EAaAp3F,EATA,KAEA,MAYeN,EAAA,QAAAQ,EAAiB,yBCvBhC,IAAAs+C,EAAcn4D,EAAQ,KACtB,iBAAAm4D,MAAA,EAA4C93D,EAAA1B,EAASw5D,EAAA,MACrDA,EAAAurC,SAAArjG,EAAAD,QAAA+3D,EAAAurC,SAGAvkF,EADUnf,EAAQ,GAA0DiH,SAC5E,WAAAkxD,GAAA,wBCRA93D,EAAAD,QAA2BJ,EAAQ,EAARA,EAAoD,IAK/EjB,KAAA,CAAcsB,EAAA1B,EAAS,yybAAizb,mCCLx0bqB,EAAAqD,EAAAgW,GAAA,IAAA23F,EAAAhxG,EAAA,KAAAixG,EAAAjxG,EAAAgE,EAAAgtG,GAAA,QAAAx3F,KAAAw3F,EAAA,YAAAx3F,GAAA,SAAA1V,GAAA9D,EAAA8C,EAAAuW,EAAAvV,EAAA,kBAAAktG,EAAAltG,KAAA,CAAA0V,GAAA,IAAA03F,EAAAlxG,EAAA,KAAA0Z,EAAA1Z,EAAA,GAQA,IAEA2Z,EAVA,SAAAC,GACE5Z,EAAQ,MAeV6Z,EAAgB7a,OAAA0a,EAAA,EAAA1a,CACdiyG,EAAAn3F,EACAo3F,EAAA,EACAA,EAAA,GAXF,EAaAv3F,EATA,KAEA,MAYeN,EAAA,QAAAQ,EAAiB,yBCvBhC,IAAAs+C,EAAcn4D,EAAQ,KACtB,iBAAAm4D,MAAA,EAA4C93D,EAAA1B,EAASw5D,EAAA,MACrDA,EAAAurC,SAAArjG,EAAAD,QAAA+3D,EAAAurC,SAGAvkF,EADUnf,EAAQ,GAAgEiH,SAClF,WAAAkxD,GAAA,wBCRA93D,EAAAD,QAA2BJ,EAAQ,EAARA,EAA0D,IAKrFjB,KAAA,CAAcsB,EAAA1B,EAAS,2CAA2C,mCCLlEqB,EAAAqD,EAAAgW,GAAA,IAAA83F,EAAAnxG,EAAA,KAAAoxG,EAAApxG,EAAAgE,EAAAmtG,GAAA,QAAA33F,KAAA23F,EAAA,YAAA33F,GAAA,SAAA1V,GAAA9D,EAAA8C,EAAAuW,EAAAvV,EAAA,kBAAAqtG,EAAArtG,KAAA,CAAA0V,GAAA,IAAA63F,EAAArxG,EAAA,KAAA0Z,EAAA1Z,EAAA,GAQA,IAEA2Z,EAVA,SAAAC,GACE5Z,EAAQ,MAeV6Z,EAAgB7a,OAAA0a,EAAA,EAAA1a,CACdoyG,EAAAt3F,EACAu3F,EAAA,EACAA,EAAA,GAXF,EAaA13F,EATA,KAEA,MAYeN,EAAA,QAAAQ,EAAiB,yBCvBhC,IAAAs+C,EAAcn4D,EAAQ,KACtB,iBAAAm4D,MAAA,EAA4C93D,EAAA1B,EAASw5D,EAAA,MACrDA,EAAAurC,SAAArjG,EAAAD,QAAA+3D,EAAAurC,SAGAvkF,EADUnf,EAAQ,GAAgEiH,SAClF,WAAAkxD,GAAA,wBCRA93D,EAAAD,QAA2BJ,EAAQ,EAARA,EAA0D,IAKrFjB,KAAA,CAAcsB,EAAA1B,EAAS,q/BAAq/B,mCCL5gCqB,EAAAqD,EAAAgW,GAAA,IAAAi4F,EAAAtxG,EAAA,KAAAuxG,EAAAvxG,EAAAgE,EAAAstG,GAAA,QAAA93F,KAAA83F,EAAA,YAAA93F,GAAA,SAAA1V,GAAA9D,EAAA8C,EAAAuW,EAAAvV,EAAA,kBAAAwtG,EAAAxtG,KAAA,CAAA0V,GAAA,IAAAg4F,EAAAxxG,EAAA,KAAA0Z,EAAA1Z,EAAA,GAQA,IAEA2Z,EAVA,SAAAC,GACE5Z,EAAQ,MAeV6Z,EAAgB7a,OAAA0a,EAAA,EAAA1a,CACduyG,EAAAz3F,EACA03F,EAAA,EACAA,EAAA,GAXF,EAaA73F,EATA,KAEA,MAYeN,EAAA,QAAAQ,EAAiB,yBCvBhC,IAAAs+C,EAAcn4D,EAAQ,KACtB,iBAAAm4D,MAAA,EAA4C93D,EAAA1B,EAASw5D,EAAA,MACrDA,EAAAurC,SAAArjG,EAAAD,QAAA+3D,EAAAurC,SAGAvkF,EADUnf,EAAQ,GAAgEiH,SAClF,WAAAkxD,GAAA,wBCRA93D,EAAAD,QAA2BJ,EAAQ,EAARA,EAA0D,IAKrFjB,KAAA,CAAcsB,EAAA1B,EAAS,4eAA4e,mCCLngBqB,EAAAqD,EAAAgW,GAAA,IAAAo4F,EAAAzxG,EAAA,KAAA0xG,EAAA1xG,EAAAgE,EAAAytG,GAAA,QAAAj4F,KAAAi4F,EAAA,YAAAj4F,GAAA,SAAA1V,GAAA9D,EAAA8C,EAAAuW,EAAAvV,EAAA,kBAAA2tG,EAAA3tG,KAAA,CAAA0V,GAAA,IAAAm4F,EAAA3xG,EAAA,KAAA0Z,EAAA1Z,EAAA,GAQA,IAEA2Z,EAVA,SAAAC,GACE5Z,EAAQ,MAeV6Z,EAAgB7a,OAAA0a,EAAA,EAAA1a,CACd0yG,EAAA53F,EACA63F,EAAA,EACAA,EAAA,GAXF,EAaAh4F,EATA,KAEA,MAYeN,EAAA,QAAAQ,EAAiB,yBCvBhC,IAAAs+C,EAAcn4D,EAAQ,KACtB,iBAAAm4D,MAAA,EAA4C93D,EAAA1B,EAASw5D,EAAA,MACrDA,EAAAurC,SAAArjG,EAAAD,QAAA+3D,EAAAurC,SAGAvkF,EADUnf,EAAQ,GAAgEiH,SAClF,WAAAkxD,GAAA,wBCRA93D,EAAAD,QAA2BJ,EAAQ,EAARA,EAA0D,IAKrFjB,KAAA,CAAcsB,EAAA1B,EAAS,6RAA6R,uCCLpTqB,EAAAqD,EAAAgW,GAAA,IAAAu4F,EAAA5xG,EAAA,KAAA6xG,EAAA7xG,EAAAgE,EAAA4tG,GAAA,QAAAp4F,KAAAo4F,EAAA,YAAAp4F,GAAA,SAAA1V,GAAA9D,EAAA8C,EAAAuW,EAAAvV,EAAA,kBAAA8tG,EAAA9tG,KAAA,CAAA0V,GAAA,IAAAs4F,EAAA9xG,EAAA,KAAA0Z,EAAA1Z,EAAA,GAQA,IAEA2Z,EAVA,SAAAC,GACE5Z,EAAQ,OAeV6Z,EAAgB7a,OAAA0a,EAAA,EAAA1a,CACd6yG,EAAA/3F,EACAg4F,EAAA,EACAA,EAAA,GAXF,EAaAn4F,EATA,KAEA,MAYeN,EAAA,QAAAQ,EAAiB,yBCvBhC,IAAAs+C,EAAcn4D,EAAQ,MACtB,iBAAAm4D,MAAA,EAA4C93D,EAAA1B,EAASw5D,EAAA,MACrDA,EAAAurC,SAAArjG,EAAAD,QAAA+3D,EAAAurC,SAGAvkF,EADUnf,EAAQ,GAAgEiH,SAClF,WAAAkxD,GAAA,wBCRA93D,EAAAD,QAA2BJ,EAAQ,EAARA,EAA0D,IAKrFjB,KAAA,CAAcsB,EAAA1B,EAAS,wlCAAwlC,sBCF/mC,IAAAw5D,EAAcn4D,EAAQ,MACtB,iBAAAm4D,MAAA,EAA4C93D,EAAA1B,EAASw5D,EAAA,MACrDA,EAAAurC,SAAArjG,EAAAD,QAAA+3D,EAAAurC,SAGAvkF,EADUnf,EAAQ,GAAgEiH,SAClF,WAAAkxD,GAAA,wBCRA93D,EAAAD,QAA2BJ,EAAQ,EAARA,EAA0D,IAKrFjB,KAAA,CAAcsB,EAAA1B,EAAS,icAAic,sBCFxd,IAAAw5D,EAAcn4D,EAAQ,MACtB,iBAAAm4D,MAAA,EAA4C93D,EAAA1B,EAASw5D,EAAA,MACrDA,EAAAurC,SAAArjG,EAAAD,QAAA+3D,EAAAurC,SAGAvkF,EADUnf,EAAQ,GAAgEiH,SAClF,WAAAkxD,GAAA,wBCRA93D,EAAAD,QAA2BJ,EAAQ,EAARA,EAA0D,IAKrFjB,KAAA,CAAcsB,EAAA1B,EAAS,s3DAAs3D,mCCL74DqB,EAAAqD,EAAAgW,GAAA,IAAA04F,EAAA/xG,EAAA,KAAAgyG,EAAAhyG,EAAAgE,EAAA+tG,GAAA,QAAAv4F,KAAAu4F,EAAA,YAAAv4F,GAAA,SAAA1V,GAAA9D,EAAA8C,EAAAuW,EAAAvV,EAAA,kBAAAiuG,EAAAjuG,KAAA,CAAA0V,GAAA,IAAAy4F,EAAAjyG,EAAA,KAAA0Z,EAAA1Z,EAAA,GAQA,IAEA2Z,EAVA,SAAAC,GACE5Z,EAAQ,OAeV6Z,EAAgB7a,OAAA0a,EAAA,EAAA1a,CACdgzG,EAAAl4F,EACAm4F,EAAA,EACAA,EAAA,GAXF,EAaAt4F,EATA,KAEA,MAYeN,EAAA,QAAAQ,EAAiB,yBCvBhC,IAAAs+C,EAAcn4D,EAAQ,MACtB,iBAAAm4D,MAAA,EAA4C93D,EAAA1B,EAASw5D,EAAA,MACrDA,EAAAurC,SAAArjG,EAAAD,QAAA+3D,EAAAurC,SAGAvkF,EADUnf,EAAQ,GAAgEiH,SAClF,WAAAkxD,GAAA,wBCRA93D,EAAAD,QAA2BJ,EAAQ,EAARA,EAA0D,IAKrFjB,KAAA,CAAcsB,EAAA1B,EAAS,ymBAAymB,mCCLhoBqB,EAAAqD,EAAAgW,GAAA,IAAA64F,EAAAlyG,EAAA,KAAAmyG,EAAAnyG,EAAAgE,EAAAkuG,GAAA,QAAA14F,KAAA04F,EAAA,YAAA14F,GAAA,SAAA1V,GAAA9D,EAAA8C,EAAAuW,EAAAvV,EAAA,kBAAAouG,EAAApuG,KAAA,CAAA0V,GAAA,IAAA44F,EAAApyG,EAAA,KAAA0Z,EAAA1Z,EAAA,GAQA,IAEA2Z,EAVA,SAAAC,GACE5Z,EAAQ,OAeV6Z,EAAgB7a,OAAA0a,EAAA,EAAA1a,CACdmzG,EAAAr4F,EACAs4F,EAAA,EACAA,EAAA,GAXF,EAaAz4F,EATA,KAEA,MAYeN,EAAA,QAAAQ,EAAiB,yBCvBhC,IAAAs+C,EAAcn4D,EAAQ,MACtB,iBAAAm4D,MAAA,EAA4C93D,EAAA1B,EAASw5D,EAAA,MACrDA,EAAAurC,SAAArjG,EAAAD,QAAA+3D,EAAAurC,SAGAvkF,EADUnf,EAAQ,GAAgEiH,SAClF,WAAAkxD,GAAA,wBCRA93D,EAAAD,QAA2BJ,EAAQ,EAARA,EAA0D,IAKrFjB,KAAA,CAAcsB,EAAA1B,EAAS,4vDAA4vD,mCCLnxDqB,EAAAqD,EAAAgW,GAAA,IAAAg5F,EAAAryG,EAAA,KAAAsyG,EAAAtyG,EAAAgE,EAAAquG,GAAA,QAAA74F,KAAA64F,EAAA,YAAA74F,GAAA,SAAA1V,GAAA9D,EAAA8C,EAAAuW,EAAAvV,EAAA,kBAAAuuG,EAAAvuG,KAAA,CAAA0V,GAAA,IAAA+4F,EAAAvyG,EAAA,KAAA0Z,EAAA1Z,EAAA,GAQA,IAEA2Z,EAVA,SAAAC,GACE5Z,EAAQ,OAeV6Z,EAAgB7a,OAAA0a,EAAA,EAAA1a,CACdszG,EAAAx4F,EACAy4F,EAAA,EACAA,EAAA,GAXF,EAaA54F,EATA,KAEA,MAYeN,EAAA,QAAAQ,EAAiB,yBCvBhC,IAAAs+C,EAAcn4D,EAAQ,MACtB,iBAAAm4D,MAAA,EAA4C93D,EAAA1B,EAASw5D,EAAA,MACrDA,EAAAurC,SAAArjG,EAAAD,QAAA+3D,EAAAurC,SAGAvkF,EADUnf,EAAQ,GAAgEiH,SAClF,WAAAkxD,GAAA,wBCRA93D,EAAAD,QAA2BJ,EAAQ,EAARA,EAA0D,IAKrFjB,KAAA,CAAcsB,EAAA1B,EAAS,qpDAAqpD,mCCL5qDqB,EAAAqD,EAAAgW,GAAA,IAAAm5F,EAAAxyG,EAAA,KAAAyyG,EAAAzyG,EAAAgE,EAAAwuG,GAAA,QAAAh5F,KAAAg5F,EAAA,YAAAh5F,GAAA,SAAA1V,GAAA9D,EAAA8C,EAAAuW,EAAAvV,EAAA,kBAAA0uG,EAAA1uG,KAAA,CAAA0V,GAAA,IAAAk5F,EAAA1yG,EAAA,KAAA0Z,EAAA1Z,EAAA,GAQA,IAEA2Z,EAVA,SAAAC,GACE5Z,EAAQ,OAeV6Z,EAAgB7a,OAAA0a,EAAA,EAAA1a,CACdyzG,EAAA34F,EACA44F,EAAA,EACAA,EAAA,GAXF,EAaA/4F,EATA,KAEA,MAYeN,EAAA,QAAAQ,EAAiB,yBCvBhC,IAAAs+C,EAAcn4D,EAAQ,MACtB,iBAAAm4D,MAAA,EAA4C93D,EAAA1B,EAASw5D,EAAA,MACrDA,EAAAurC,SAAArjG,EAAAD,QAAA+3D,EAAAurC,SAGAvkF,EADUnf,EAAQ,GAAgEiH,SAClF,WAAAkxD,GAAA,wBCRA93D,EAAAD,QAA2BJ,EAAQ,EAARA,EAA0D,IAKrFjB,KAAA,CAAcsB,EAAA1B,EAAS,0QAA0Q,0CCLjS,WCaAkb,EAAgB7a,OAAA2zG,EAAA,EAAA3zG,CAZhB,KDDA,WAA0B,IAAAouE,EAAAxgE,KAAaygE,EAAAD,EAAAE,eAA0BC,EAAAH,EAAAI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,OAAiBE,YAAA,eAA0B,CAAAF,EAAA,OAAYE,YAAA,iBAA4B,CAAAF,EAAA,OAAYE,YAAA,SAAoB,CAAAL,EAAAO,GAAA,WAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,8CAAAoxC,EAAA,QAA2FE,YAAA,4BAAuC,CAAAL,EAAAO,GAAA,4BAAAP,EAAAO,GAAA,KAAAJ,EAAA,QAA4DE,YAAA,SAAoB,CAAAL,EAAAO,GAAA,WAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,oDAAAixC,EAAAO,GAAA,KAAAJ,EAAA,QAA6GE,YAAA,eAA0B,CAAAL,EAAAO,GAAA,WAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,6CAAAixC,EAAAO,GAAA,KAAAJ,EAAA,UAAwGE,YAAA,OAAkB,CAAAL,EAAAO,GAAA,WAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,gDAAAixC,EAAAO,GAAA,KAAAJ,EAAA,OAAwGE,YAAA,oCAA+C,CAAAF,EAAA,OAAYE,YAAA,QAAmB,CAAAF,EAAA,OAAYE,YAAA,UAAqB,CAAAL,EAAAO,GAAA,mCAAAP,EAAAO,GAAA,KAAAJ,EAAA,OAAkEE,YAAA,WAAsB,CAAAF,EAAA,MAAAH,EAAAO,GAAA,eAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,mDAAAixC,EAAAO,GAAA,KAAAJ,EAAA,QAAyHjF,MAAA,CAAO4G,KAAA,gCAAsC,CAAA3B,EAAA,QAAakC,YAAA,CAAamjC,cAAA,wBAAqC,CAAAxlC,EAAAO,GAAA,iBAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,kDAAAixC,EAAAO,GAAA,KAAAJ,EAAA,KAA8GkC,YAAA,CAAalvD,MAAA,gBAAuB,CAAA6sD,EAAAO,GAAA,iBAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,oDAAAixC,EAAAO,GAAA,KAAAP,EAAAuF,GAAA,SAAAvF,EAAAO,GAAA,KAAAJ,EAAA,OAA8IE,YAAA,cAAyB,CAAAF,EAAA,OAAYE,YAAA,cAAyB,CAAAL,EAAAO,GAAA,2BAAAP,EAAAO,GAAA,KAAAJ,EAAA,OAA0DE,YAAA,WAAsB,CAAAF,EAAA,QAAaE,YAAA,QAAAnF,MAAA,CAA2B4G,KAAA,oCAAA5pE,IAAA,SAAyD,CAAAioE,EAAA,KAAUkC,YAAA,CAAalvD,MAAA,qBAA4B,CAAA6sD,EAAAO,GAAA,iBAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,gEAAAixC,EAAAO,GAAA,KAAAJ,EAAA,OAA8HE,YAAA,cAAwBL,EAAAO,GAAA,KAAAJ,EAAA,QAAyBE,YAAA,eAA0B,CAAAL,EAAAO,GAAA,WAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,6CAAAixC,EAAAO,GAAA,KAAAJ,EAAA,SAAuGjF,MAAA,CAAOpmE,KAAA,QAAcysE,SAAA,CAAWnrE,MAAA4pE,EAAAjxC,GAAA,mCAAgDixC,EAAAO,GAAA,KAAAJ,EAAA,OAAwBE,YAAA,WAAsB,CAAAF,EAAA,QAAaE,YAAA,YAAuB,CAAAF,EAAA,SAAcjF,MAAA,CAAOtjE,GAAA,mBAAA03B,QAAA,WAAAx6B,KAAA,cAAgEkrE,EAAAO,GAAA,KAAAJ,EAAA,SAA0BjF,MAAA,CAAOoI,IAAA,qBAA0B,CAAAtD,EAAAO,GAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,yCAAAixC,EAAAO,GAAA,KAAAJ,EAAA,UAAyFE,YAAA,OAAkB,CAAAL,EAAAO,GAAA,aAAAP,EAAAa,GAAAb,EAAAjxC,GAAA,uDACl8E,YAAoC,IAAakxC,EAAbzgE,KAAa0gE,eAA0BC,EAAvC3gE,KAAuC4gE,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,OAAiBE,YAAA,SAAoB,CAAAF,EAAA,KAAUE,YAAA,yBAAAgC,YAAA,CAAkDlvD,MAAA,kBAAhK3T,KAAwL+gE,GAAA,KAAAJ,EAAA,KAAsBE,YAAA,2BAAAgC,YAAA,CAAoDlvD,MAAA,mBAAlQ3T,KAA2R+gE,GAAA,KAAAJ,EAAA,KAAsBE,YAAA,wBAAAgC,YAAA,CAAiDlvD,MAAA,oBAAlW3T,KAA4X+gE,GAAA,KAAAJ,EAAA,KAAsBE,YAAA,0BAAAgC,YAAA,CAAmDlvD,MAAA,sBCIze,EAEA,KAEA,KAEA,MAYelH,EAAA,QAAAQ,EAAiB","file":"static/js/app.a48779d14f1bf30f0cb2.js","sourcesContent":[" \t// install a JSONP callback for chunk loading\n \tfunction webpackJsonpCallback(data) {\n \t\tvar chunkIds = data[0];\n \t\tvar moreModules = data[1];\n \t\tvar executeModules = data[2];\n\n \t\t// add \"moreModules\" to the modules object,\n \t\t// then flag all \"chunkIds\" as loaded and fire callback\n \t\tvar moduleId, chunkId, i = 0, resolves = [];\n \t\tfor(;i < chunkIds.length; i++) {\n \t\t\tchunkId = chunkIds[i];\n \t\t\tif(installedChunks[chunkId]) {\n \t\t\t\tresolves.push(installedChunks[chunkId][0]);\n \t\t\t}\n \t\t\tinstalledChunks[chunkId] = 0;\n \t\t}\n \t\tfor(moduleId in moreModules) {\n \t\t\tif(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {\n \t\t\t\tmodules[moduleId] = moreModules[moduleId];\n \t\t\t}\n \t\t}\n \t\tif(parentJsonpFunction) parentJsonpFunction(data);\n\n \t\twhile(resolves.length) {\n \t\t\tresolves.shift()();\n \t\t}\n\n \t\t// add entry modules from loaded chunk to deferred list\n \t\tdeferredModules.push.apply(deferredModules, executeModules || []);\n\n \t\t// run deferred modules when all chunks ready\n \t\treturn checkDeferredModules();\n \t};\n \tfunction checkDeferredModules() {\n \t\tvar result;\n \t\tfor(var i = 0; i < deferredModules.length; i++) {\n \t\t\tvar deferredModule = deferredModules[i];\n \t\t\tvar fulfilled = true;\n \t\t\tfor(var j = 1; j < deferredModule.length; j++) {\n \t\t\t\tvar depId = deferredModule[j];\n \t\t\t\tif(installedChunks[depId] !== 0) fulfilled = false;\n \t\t\t}\n \t\t\tif(fulfilled) {\n \t\t\t\tdeferredModules.splice(i--, 1);\n \t\t\t\tresult = __webpack_require__(__webpack_require__.s = deferredModule[0]);\n \t\t\t}\n \t\t}\n\n \t\treturn result;\n \t}\n\n \t// The module cache\n \tvar installedModules = {};\n\n \t// object to store loaded and loading chunks\n \t// undefined = chunk not loaded, null = chunk preloaded/prefetched\n \t// Promise = chunk loading, 0 = chunk loaded\n \tvar installedChunks = {\n \t\t0: 0\n \t};\n\n \tvar deferredModules = [];\n\n \t// script path function\n \tfunction jsonpScriptSrc(chunkId) {\n \t\treturn __webpack_require__.p + \"static/js/\" + ({}[chunkId]||chunkId) + \".\" + {\"2\":\"c96b30ae9f2d3f46f0ad\"}[chunkId] + \".js\"\n \t}\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n \t// This file contains only the entry chunk.\n \t// The chunk loading function for additional chunks\n \t__webpack_require__.e = function requireEnsure(chunkId) {\n \t\tvar promises = [];\n\n\n \t\t// JSONP chunk loading for javascript\n\n \t\tvar installedChunkData = installedChunks[chunkId];\n \t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n \t\t\t// a Promise means \"currently loading\".\n \t\t\tif(installedChunkData) {\n \t\t\t\tpromises.push(installedChunkData[2]);\n \t\t\t} else {\n \t\t\t\t// setup Promise in chunk cache\n \t\t\t\tvar promise = new Promise(function(resolve, reject) {\n \t\t\t\t\tinstalledChunkData = installedChunks[chunkId] = [resolve, reject];\n \t\t\t\t});\n \t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n \t\t\t\t// start chunk loading\n \t\t\t\tvar script = document.createElement('script');\n \t\t\t\tvar onScriptComplete;\n\n \t\t\t\tscript.charset = 'utf-8';\n \t\t\t\tscript.timeout = 120;\n \t\t\t\tif (__webpack_require__.nc) {\n \t\t\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n \t\t\t\t}\n \t\t\t\tscript.src = jsonpScriptSrc(chunkId);\n\n \t\t\t\t// create error before stack unwound to get useful stacktrace later\n \t\t\t\tvar error = new Error();\n \t\t\t\tonScriptComplete = function (event) {\n \t\t\t\t\t// avoid mem leaks in IE.\n \t\t\t\t\tscript.onerror = script.onload = null;\n \t\t\t\t\tclearTimeout(timeout);\n \t\t\t\t\tvar chunk = installedChunks[chunkId];\n \t\t\t\t\tif(chunk !== 0) {\n \t\t\t\t\t\tif(chunk) {\n \t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n \t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n \t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n \t\t\t\t\t\t\terror.type = errorType;\n \t\t\t\t\t\t\terror.request = realSrc;\n \t\t\t\t\t\t\tchunk[1](error);\n \t\t\t\t\t\t}\n \t\t\t\t\t\tinstalledChunks[chunkId] = undefined;\n \t\t\t\t\t}\n \t\t\t\t};\n \t\t\t\tvar timeout = setTimeout(function(){\n \t\t\t\t\tonScriptComplete({ type: 'timeout', target: script });\n \t\t\t\t}, 120000);\n \t\t\t\tscript.onerror = script.onload = onScriptComplete;\n \t\t\t\tdocument.head.appendChild(script);\n \t\t\t}\n \t\t}\n \t\treturn Promise.all(promises);\n \t};\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/\";\n\n \t// on error function for async loading\n \t__webpack_require__.oe = function(err) { console.error(err); throw err; };\n\n \tvar jsonpArray = window[\"webpackJsonp\"] = window[\"webpackJsonp\"] || [];\n \tvar oldJsonpFunction = jsonpArray.push.bind(jsonpArray);\n \tjsonpArray.push = webpackJsonpCallback;\n \tjsonpArray = jsonpArray.slice();\n \tfor(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]);\n \tvar parentJsonpFunction = oldJsonpFunction;\n\n\n \t// add entry module to deferred list\n \tdeferredModules.push([458,1]);\n \t// run deferred modules when ready\n \treturn checkDeferredModules();\n","import { each, map, concat, last } from 'lodash'\nimport { parseStatus, parseUser, parseNotification, parseAttachment } from '../entity_normalizer/entity_normalizer.service.js'\nimport 'whatwg-fetch'\nimport { RegistrationError, StatusCodeError } from '../errors/errors'\n\n/* eslint-env browser */\nconst QVITTER_USER_NOTIFICATIONS_READ_URL = '/api/qvitter/statuses/notifications/read.json'\nconst BLOCKS_IMPORT_URL = '/api/pleroma/blocks_import'\nconst FOLLOW_IMPORT_URL = '/api/pleroma/follow_import'\nconst DELETE_ACCOUNT_URL = '/api/pleroma/delete_account'\nconst CHANGE_EMAIL_URL = '/api/pleroma/change_email'\nconst CHANGE_PASSWORD_URL = '/api/pleroma/change_password'\nconst TAG_USER_URL = '/api/pleroma/admin/users/tag'\nconst PERMISSION_GROUP_URL = (screenName, right) => `/api/pleroma/admin/users/${screenName}/permission_group/${right}`\nconst ACTIVATION_STATUS_URL = screenName => `/api/pleroma/admin/users/${screenName}/activation_status`\nconst ADMIN_USERS_URL = '/api/pleroma/admin/users'\nconst SUGGESTIONS_URL = '/api/v1/suggestions'\nconst NOTIFICATION_SETTINGS_URL = '/api/pleroma/notification_settings'\n\nconst MFA_SETTINGS_URL = '/api/pleroma/accounts/mfa'\nconst MFA_BACKUP_CODES_URL = '/api/pleroma/accounts/mfa/backup_codes'\n\nconst MFA_SETUP_OTP_URL = '/api/pleroma/accounts/mfa/setup/totp'\nconst MFA_CONFIRM_OTP_URL = '/api/pleroma/accounts/mfa/confirm/totp'\nconst MFA_DISABLE_OTP_URL = '/api/pleroma/account/mfa/totp'\n\nconst MASTODON_LOGIN_URL = '/api/v1/accounts/verify_credentials'\nconst MASTODON_REGISTRATION_URL = '/api/v1/accounts'\nconst MASTODON_USER_FAVORITES_TIMELINE_URL = '/api/v1/favourites'\nconst MASTODON_USER_NOTIFICATIONS_URL = '/api/v1/notifications'\nconst MASTODON_FAVORITE_URL = id => `/api/v1/statuses/${id}/favourite`\nconst MASTODON_UNFAVORITE_URL = id => `/api/v1/statuses/${id}/unfavourite`\nconst MASTODON_RETWEET_URL = id => `/api/v1/statuses/${id}/reblog`\nconst MASTODON_UNRETWEET_URL = id => `/api/v1/statuses/${id}/unreblog`\nconst MASTODON_DELETE_URL = id => `/api/v1/statuses/${id}`\nconst MASTODON_FOLLOW_URL = id => `/api/v1/accounts/${id}/follow`\nconst MASTODON_UNFOLLOW_URL = id => `/api/v1/accounts/${id}/unfollow`\nconst MASTODON_FOLLOWING_URL = id => `/api/v1/accounts/${id}/following`\nconst MASTODON_FOLLOWERS_URL = id => `/api/v1/accounts/${id}/followers`\nconst MASTODON_FOLLOW_REQUESTS_URL = '/api/v1/follow_requests'\nconst MASTODON_APPROVE_USER_URL = id => `/api/v1/follow_requests/${id}/authorize`\nconst MASTODON_DENY_USER_URL = id => `/api/v1/follow_requests/${id}/reject`\nconst MASTODON_DIRECT_MESSAGES_TIMELINE_URL = '/api/v1/timelines/direct'\nconst MASTODON_PUBLIC_TIMELINE = '/api/v1/timelines/public'\nconst MASTODON_USER_HOME_TIMELINE_URL = '/api/v1/timelines/home'\nconst MASTODON_STATUS_URL = id => `/api/v1/statuses/${id}`\nconst MASTODON_STATUS_CONTEXT_URL = id => `/api/v1/statuses/${id}/context`\nconst MASTODON_USER_URL = '/api/v1/accounts'\nconst MASTODON_USER_RELATIONSHIPS_URL = '/api/v1/accounts/relationships'\nconst MASTODON_USER_TIMELINE_URL = id => `/api/v1/accounts/${id}/statuses`\nconst MASTODON_TAG_TIMELINE_URL = tag => `/api/v1/timelines/tag/${tag}`\nconst MASTODON_USER_BLOCKS_URL = '/api/v1/blocks/'\nconst MASTODON_USER_MUTES_URL = '/api/v1/mutes/'\nconst MASTODON_BLOCK_USER_URL = id => `/api/v1/accounts/${id}/block`\nconst MASTODON_UNBLOCK_USER_URL = id => `/api/v1/accounts/${id}/unblock`\nconst MASTODON_MUTE_USER_URL = id => `/api/v1/accounts/${id}/mute`\nconst MASTODON_UNMUTE_USER_URL = id => `/api/v1/accounts/${id}/unmute`\nconst MASTODON_SUBSCRIBE_USER = id => `/api/v1/pleroma/accounts/${id}/subscribe`\nconst MASTODON_UNSUBSCRIBE_USER = id => `/api/v1/pleroma/accounts/${id}/unsubscribe`\nconst MASTODON_POST_STATUS_URL = '/api/v1/statuses'\nconst MASTODON_MEDIA_UPLOAD_URL = '/api/v1/media'\nconst MASTODON_VOTE_URL = id => `/api/v1/polls/${id}/votes`\nconst MASTODON_POLL_URL = id => `/api/v1/polls/${id}`\nconst MASTODON_STATUS_FAVORITEDBY_URL = id => `/api/v1/statuses/${id}/favourited_by`\nconst MASTODON_STATUS_REBLOGGEDBY_URL = id => `/api/v1/statuses/${id}/reblogged_by`\nconst MASTODON_PROFILE_UPDATE_URL = '/api/v1/accounts/update_credentials'\nconst MASTODON_REPORT_USER_URL = '/api/v1/reports'\nconst MASTODON_PIN_OWN_STATUS = id => `/api/v1/statuses/${id}/pin`\nconst MASTODON_UNPIN_OWN_STATUS = id => `/api/v1/statuses/${id}/unpin`\nconst MASTODON_MUTE_CONVERSATION = id => `/api/v1/statuses/${id}/mute`\nconst MASTODON_UNMUTE_CONVERSATION = id => `/api/v1/statuses/${id}/unmute`\nconst MASTODON_SEARCH_2 = `/api/v2/search`\nconst MASTODON_USER_SEARCH_URL = '/api/v1/accounts/search'\nconst MASTODON_MASCOT_URL = '/api/v1/pleroma/mascot'\n\nconst oldfetch = window.fetch\n\nlet fetch = (url, options) => {\n options = options || {}\n const baseUrl = ''\n const fullUrl = baseUrl + url\n options.credentials = 'same-origin'\n return oldfetch(fullUrl, options)\n}\n\nconst promisedRequest = ({ method, url, params, payload, credentials, headers = {} }) => {\n const options = {\n method,\n headers: {\n 'Accept': 'application/json',\n 'Content-Type': 'application/json',\n ...headers\n }\n }\n if (params) {\n url += '?' + Object.entries(params)\n .map(([key, value]) => encodeURIComponent(key) + '=' + encodeURIComponent(value))\n .join('&')\n }\n if (payload) {\n options.body = JSON.stringify(payload)\n }\n if (credentials) {\n options.headers = {\n ...options.headers,\n ...authHeaders(credentials)\n }\n }\n return fetch(url, options)\n .then((response) => {\n return new Promise((resolve, reject) => response.json()\n .then((json) => {\n if (!response.ok) {\n return reject(new StatusCodeError(response.status, json, { url, options }, response))\n }\n return resolve(json)\n }))\n })\n}\n\nconst updateNotificationSettings = ({ credentials, settings }) => {\n const form = new FormData()\n\n each(settings, (value, key) => {\n form.append(key, value)\n })\n\n return fetch(NOTIFICATION_SETTINGS_URL, {\n headers: authHeaders(credentials),\n method: 'PUT',\n body: form\n }).then((data) => data.json())\n}\n\nconst updateAvatar = ({ credentials, avatar }) => {\n const form = new FormData()\n form.append('avatar', avatar)\n return fetch(MASTODON_PROFILE_UPDATE_URL, {\n headers: authHeaders(credentials),\n method: 'PATCH',\n body: form\n }).then((data) => data.json())\n .then((data) => parseUser(data))\n}\n\nconst updateBg = ({ credentials, background }) => {\n const form = new FormData()\n form.append('pleroma_background_image', background)\n return fetch(MASTODON_PROFILE_UPDATE_URL, {\n headers: authHeaders(credentials),\n method: 'PATCH',\n body: form\n })\n .then((data) => data.json())\n .then((data) => parseUser(data))\n}\n\nconst updateBanner = ({ credentials, banner }) => {\n const form = new FormData()\n form.append('header', banner)\n return fetch(MASTODON_PROFILE_UPDATE_URL, {\n headers: authHeaders(credentials),\n method: 'PATCH',\n body: form\n }).then((data) => data.json())\n .then((data) => parseUser(data))\n}\n\nconst updateProfile = ({ credentials, params }) => {\n return promisedRequest({\n url: MASTODON_PROFILE_UPDATE_URL,\n method: 'PATCH',\n payload: params,\n credentials\n }).then((data) => parseUser(data))\n}\n\n// Params needed:\n// nickname\n// email\n// fullname\n// password\n// password_confirm\n//\n// Optional\n// bio\n// homepage\n// location\n// token\nconst register = ({ params, credentials }) => {\n const { nickname, ...rest } = params\n return fetch(MASTODON_REGISTRATION_URL, {\n method: 'POST',\n headers: {\n ...authHeaders(credentials),\n 'Content-Type': 'application/json'\n },\n body: JSON.stringify({\n nickname,\n locale: 'en_US',\n agreement: true,\n ...rest\n })\n })\n .then((response) => {\n if (response.ok) {\n return response.json()\n } else {\n return response.json().then((error) => { throw new RegistrationError(error) })\n }\n })\n}\n\nconst getCaptcha = () => fetch('/api/pleroma/captcha').then(resp => resp.json())\n\nconst authHeaders = (accessToken) => {\n if (accessToken) {\n return { 'Authorization': `Bearer ${accessToken}` }\n } else {\n return { }\n }\n}\n\nconst followUser = ({ id, credentials, ...options }) => {\n let url = MASTODON_FOLLOW_URL(id)\n const form = {}\n if (options.reblogs !== undefined) { form['reblogs'] = options.reblogs }\n return fetch(url, {\n body: JSON.stringify(form),\n headers: {\n ...authHeaders(credentials),\n 'Content-Type': 'application/json'\n },\n method: 'POST'\n }).then((data) => data.json())\n}\n\nconst unfollowUser = ({ id, credentials }) => {\n let url = MASTODON_UNFOLLOW_URL(id)\n return fetch(url, {\n headers: authHeaders(credentials),\n method: 'POST'\n }).then((data) => data.json())\n}\n\nconst pinOwnStatus = ({ id, credentials }) => {\n return promisedRequest({ url: MASTODON_PIN_OWN_STATUS(id), credentials, method: 'POST' })\n .then((data) => parseStatus(data))\n}\n\nconst unpinOwnStatus = ({ id, credentials }) => {\n return promisedRequest({ url: MASTODON_UNPIN_OWN_STATUS(id), credentials, method: 'POST' })\n .then((data) => parseStatus(data))\n}\n\nconst muteConversation = ({ id, credentials }) => {\n return promisedRequest({ url: MASTODON_MUTE_CONVERSATION(id), credentials, method: 'POST' })\n .then((data) => parseStatus(data))\n}\n\nconst unmuteConversation = ({ id, credentials }) => {\n return promisedRequest({ url: MASTODON_UNMUTE_CONVERSATION(id), credentials, method: 'POST' })\n .then((data) => parseStatus(data))\n}\n\nconst blockUser = ({ id, credentials }) => {\n return fetch(MASTODON_BLOCK_USER_URL(id), {\n headers: authHeaders(credentials),\n method: 'POST'\n }).then((data) => data.json())\n}\n\nconst unblockUser = ({ id, credentials }) => {\n return fetch(MASTODON_UNBLOCK_USER_URL(id), {\n headers: authHeaders(credentials),\n method: 'POST'\n }).then((data) => data.json())\n}\n\nconst approveUser = ({ id, credentials }) => {\n let url = MASTODON_APPROVE_USER_URL(id)\n return fetch(url, {\n headers: authHeaders(credentials),\n method: 'POST'\n }).then((data) => data.json())\n}\n\nconst denyUser = ({ id, credentials }) => {\n let url = MASTODON_DENY_USER_URL(id)\n return fetch(url, {\n headers: authHeaders(credentials),\n method: 'POST'\n }).then((data) => data.json())\n}\n\nconst fetchUser = ({ id, credentials }) => {\n let url = `${MASTODON_USER_URL}/${id}`\n return promisedRequest({ url, credentials })\n .then((data) => parseUser(data))\n}\n\nconst fetchUserRelationship = ({ id, credentials }) => {\n let url = `${MASTODON_USER_RELATIONSHIPS_URL}/?id=${id}`\n return fetch(url, { headers: authHeaders(credentials) })\n .then((response) => {\n return new Promise((resolve, reject) => response.json()\n .then((json) => {\n if (!response.ok) {\n return reject(new StatusCodeError(response.status, json, { url }, response))\n }\n return resolve(json)\n }))\n })\n}\n\nconst fetchFriends = ({ id, maxId, sinceId, limit = 20, credentials }) => {\n let url = MASTODON_FOLLOWING_URL(id)\n const args = [\n maxId && `max_id=${maxId}`,\n sinceId && `since_id=${sinceId}`,\n limit && `limit=${limit}`\n ].filter(_ => _).join('&')\n\n url = url + (args ? '?' + args : '')\n return fetch(url, { headers: authHeaders(credentials) })\n .then((data) => data.json())\n .then((data) => data.map(parseUser))\n}\n\nconst exportFriends = ({ id, credentials }) => {\n return new Promise(async (resolve, reject) => {\n try {\n let friends = []\n let more = true\n while (more) {\n const maxId = friends.length > 0 ? last(friends).id : undefined\n const users = await fetchFriends({ id, maxId, credentials })\n friends = concat(friends, users)\n if (users.length === 0) {\n more = false\n }\n }\n resolve(friends)\n } catch (err) {\n reject(err)\n }\n })\n}\n\nconst fetchFollowers = ({ id, maxId, sinceId, limit = 20, credentials }) => {\n let url = MASTODON_FOLLOWERS_URL(id)\n const args = [\n maxId && `max_id=${maxId}`,\n sinceId && `since_id=${sinceId}`,\n limit && `limit=${limit}`\n ].filter(_ => _).join('&')\n\n url += args ? '?' + args : ''\n return fetch(url, { headers: authHeaders(credentials) })\n .then((data) => data.json())\n .then((data) => data.map(parseUser))\n}\n\nconst fetchFollowRequests = ({ credentials }) => {\n const url = MASTODON_FOLLOW_REQUESTS_URL\n return fetch(url, { headers: authHeaders(credentials) })\n .then((data) => data.json())\n .then((data) => data.map(parseUser))\n}\n\nconst fetchConversation = ({ id, credentials }) => {\n let urlContext = MASTODON_STATUS_CONTEXT_URL(id)\n return fetch(urlContext, { headers: authHeaders(credentials) })\n .then((data) => {\n if (data.ok) {\n return data\n }\n throw new Error('Error fetching timeline', data)\n })\n .then((data) => data.json())\n .then(({ ancestors, descendants }) => ({\n ancestors: ancestors.map(parseStatus),\n descendants: descendants.map(parseStatus)\n }))\n}\n\nconst fetchStatus = ({ id, credentials }) => {\n let url = MASTODON_STATUS_URL(id)\n return fetch(url, { headers: authHeaders(credentials) })\n .then((data) => {\n if (data.ok) {\n return data\n }\n throw new Error('Error fetching timeline', data)\n })\n .then((data) => data.json())\n .then((data) => parseStatus(data))\n}\n\nconst tagUser = ({ tag, credentials, ...options }) => {\n const screenName = options.screen_name\n const form = {\n nicknames: [screenName],\n tags: [tag]\n }\n\n const headers = authHeaders(credentials)\n headers['Content-Type'] = 'application/json'\n\n return fetch(TAG_USER_URL, {\n method: 'PUT',\n headers: headers,\n body: JSON.stringify(form)\n })\n}\n\nconst untagUser = ({ tag, credentials, ...options }) => {\n const screenName = options.screen_name\n const body = {\n nicknames: [screenName],\n tags: [tag]\n }\n\n const headers = authHeaders(credentials)\n headers['Content-Type'] = 'application/json'\n\n return fetch(TAG_USER_URL, {\n method: 'DELETE',\n headers: headers,\n body: JSON.stringify(body)\n })\n}\n\nconst addRight = ({ right, credentials, ...user }) => {\n const screenName = user.screen_name\n\n return fetch(PERMISSION_GROUP_URL(screenName, right), {\n method: 'POST',\n headers: authHeaders(credentials),\n body: {}\n })\n}\n\nconst deleteRight = ({ right, credentials, ...user }) => {\n const screenName = user.screen_name\n\n return fetch(PERMISSION_GROUP_URL(screenName, right), {\n method: 'DELETE',\n headers: authHeaders(credentials),\n body: {}\n })\n}\n\nconst setActivationStatus = ({ status, credentials, ...user }) => {\n const screenName = user.screen_name\n const body = {\n status: status\n }\n\n const headers = authHeaders(credentials)\n headers['Content-Type'] = 'application/json'\n\n return fetch(ACTIVATION_STATUS_URL(screenName), {\n method: 'PUT',\n headers: headers,\n body: JSON.stringify(body)\n })\n}\n\nconst deleteUser = ({ credentials, ...user }) => {\n const screenName = user.screen_name\n const headers = authHeaders(credentials)\n\n return fetch(`${ADMIN_USERS_URL}?nickname=${screenName}`, {\n method: 'DELETE',\n headers: headers\n })\n}\n\nconst fetchTimeline = ({\n timeline,\n credentials,\n since = false,\n until = false,\n userId = false,\n tag = false,\n withMuted = false\n}) => {\n const timelineUrls = {\n public: MASTODON_PUBLIC_TIMELINE,\n friends: MASTODON_USER_HOME_TIMELINE_URL,\n dms: MASTODON_DIRECT_MESSAGES_TIMELINE_URL,\n notifications: MASTODON_USER_NOTIFICATIONS_URL,\n 'publicAndExternal': MASTODON_PUBLIC_TIMELINE,\n user: MASTODON_USER_TIMELINE_URL,\n media: MASTODON_USER_TIMELINE_URL,\n favorites: MASTODON_USER_FAVORITES_TIMELINE_URL,\n tag: MASTODON_TAG_TIMELINE_URL\n }\n const isNotifications = timeline === 'notifications'\n const params = []\n\n let url = timelineUrls[timeline]\n\n if (timeline === 'user' || timeline === 'media') {\n url = url(userId)\n }\n\n if (since) {\n params.push(['since_id', since])\n }\n if (until) {\n params.push(['max_id', until])\n }\n if (tag) {\n url = url(tag)\n }\n if (timeline === 'media') {\n params.push(['only_media', 1])\n }\n if (timeline === 'public') {\n params.push(['local', true])\n }\n if (timeline === 'public' || timeline === 'publicAndExternal') {\n params.push(['only_media', false])\n }\n\n params.push(['count', 20])\n params.push(['with_muted', withMuted])\n\n const queryString = map(params, (param) => `${param[0]}=${param[1]}`).join('&')\n url += `?${queryString}`\n\n return fetch(url, { headers: authHeaders(credentials) })\n .then((data) => {\n if (data.ok) {\n return data\n }\n throw new Error('Error fetching timeline', data)\n })\n .then((data) => data.json())\n .then((data) => data.map(isNotifications ? parseNotification : parseStatus))\n}\n\nconst fetchPinnedStatuses = ({ id, credentials }) => {\n const url = MASTODON_USER_TIMELINE_URL(id) + '?pinned=true'\n return promisedRequest({ url, credentials })\n .then((data) => data.map(parseStatus))\n}\n\nconst verifyCredentials = (user) => {\n return fetch(MASTODON_LOGIN_URL, {\n headers: authHeaders(user)\n })\n .then((response) => {\n if (response.ok) {\n return response.json()\n } else {\n return {\n error: response\n }\n }\n })\n .then((data) => data.error ? data : parseUser(data))\n}\n\nconst favorite = ({ id, credentials }) => {\n return promisedRequest({ url: MASTODON_FAVORITE_URL(id), method: 'POST', credentials })\n .then((data) => parseStatus(data))\n}\n\nconst unfavorite = ({ id, credentials }) => {\n return promisedRequest({ url: MASTODON_UNFAVORITE_URL(id), method: 'POST', credentials })\n .then((data) => parseStatus(data))\n}\n\nconst retweet = ({ id, credentials }) => {\n return promisedRequest({ url: MASTODON_RETWEET_URL(id), method: 'POST', credentials })\n .then((data) => parseStatus(data))\n}\n\nconst unretweet = ({ id, credentials }) => {\n return promisedRequest({ url: MASTODON_UNRETWEET_URL(id), method: 'POST', credentials })\n .then((data) => parseStatus(data))\n}\n\nconst postStatus = ({\n credentials,\n status,\n spoilerText,\n visibility,\n sensitive,\n poll,\n mediaIds = [],\n inReplyToStatusId,\n contentType\n}) => {\n const form = new FormData()\n const pollOptions = poll.options || []\n\n form.append('status', status)\n form.append('source', 'Pleroma FE')\n if (spoilerText) form.append('spoiler_text', spoilerText)\n if (visibility) form.append('visibility', visibility)\n if (sensitive) form.append('sensitive', sensitive)\n if (contentType) form.append('content_type', contentType)\n mediaIds.forEach(val => {\n form.append('media_ids[]', val)\n })\n if (pollOptions.some(option => option !== '')) {\n const normalizedPoll = {\n expires_in: poll.expiresIn,\n multiple: poll.multiple\n }\n Object.keys(normalizedPoll).forEach(key => {\n form.append(`poll[${key}]`, normalizedPoll[key])\n })\n\n pollOptions.forEach(option => {\n form.append('poll[options][]', option)\n })\n }\n if (inReplyToStatusId) {\n form.append('in_reply_to_id', inReplyToStatusId)\n }\n\n return fetch(MASTODON_POST_STATUS_URL, {\n body: form,\n method: 'POST',\n headers: authHeaders(credentials)\n })\n .then((response) => {\n if (response.ok) {\n return response.json()\n } else {\n return {\n error: response\n }\n }\n })\n .then((data) => data.error ? data : parseStatus(data))\n}\n\nconst deleteStatus = ({ id, credentials }) => {\n return fetch(MASTODON_DELETE_URL(id), {\n headers: authHeaders(credentials),\n method: 'DELETE'\n })\n}\n\nconst uploadMedia = ({ formData, credentials }) => {\n return fetch(MASTODON_MEDIA_UPLOAD_URL, {\n body: formData,\n method: 'POST',\n headers: authHeaders(credentials)\n })\n .then((data) => data.json())\n .then((data) => parseAttachment(data))\n}\n\nconst importBlocks = ({ file, credentials }) => {\n const formData = new FormData()\n formData.append('list', file)\n return fetch(BLOCKS_IMPORT_URL, {\n body: formData,\n method: 'POST',\n headers: authHeaders(credentials)\n })\n .then((response) => response.ok)\n}\n\nconst importFollows = ({ file, credentials }) => {\n const formData = new FormData()\n formData.append('list', file)\n return fetch(FOLLOW_IMPORT_URL, {\n body: formData,\n method: 'POST',\n headers: authHeaders(credentials)\n })\n .then((response) => response.ok)\n}\n\nconst deleteAccount = ({ credentials, password }) => {\n const form = new FormData()\n\n form.append('password', password)\n\n return fetch(DELETE_ACCOUNT_URL, {\n body: form,\n method: 'POST',\n headers: authHeaders(credentials)\n })\n .then((response) => response.json())\n}\n\nconst changeEmail = ({ credentials, email, password }) => {\n const form = new FormData()\n\n form.append('email', email)\n form.append('password', password)\n\n return fetch(CHANGE_EMAIL_URL, {\n body: form,\n method: 'POST',\n headers: authHeaders(credentials)\n })\n .then((response) => response.json())\n}\n\nconst changePassword = ({ credentials, password, newPassword, newPasswordConfirmation }) => {\n const form = new FormData()\n\n form.append('password', password)\n form.append('new_password', newPassword)\n form.append('new_password_confirmation', newPasswordConfirmation)\n\n return fetch(CHANGE_PASSWORD_URL, {\n body: form,\n method: 'POST',\n headers: authHeaders(credentials)\n })\n .then((response) => response.json())\n}\n\nconst settingsMFA = ({ credentials }) => {\n return fetch(MFA_SETTINGS_URL, {\n headers: authHeaders(credentials),\n method: 'GET'\n }).then((data) => data.json())\n}\n\nconst mfaDisableOTP = ({ credentials, password }) => {\n const form = new FormData()\n\n form.append('password', password)\n\n return fetch(MFA_DISABLE_OTP_URL, {\n body: form,\n method: 'DELETE',\n headers: authHeaders(credentials)\n })\n .then((response) => response.json())\n}\n\nconst mfaConfirmOTP = ({ credentials, password, token }) => {\n const form = new FormData()\n\n form.append('password', password)\n form.append('code', token)\n\n return fetch(MFA_CONFIRM_OTP_URL, {\n body: form,\n headers: authHeaders(credentials),\n method: 'POST'\n }).then((data) => data.json())\n}\nconst mfaSetupOTP = ({ credentials }) => {\n return fetch(MFA_SETUP_OTP_URL, {\n headers: authHeaders(credentials),\n method: 'GET'\n }).then((data) => data.json())\n}\nconst generateMfaBackupCodes = ({ credentials }) => {\n return fetch(MFA_BACKUP_CODES_URL, {\n headers: authHeaders(credentials),\n method: 'GET'\n }).then((data) => data.json())\n}\n\nconst fetchMutes = ({ credentials }) => {\n return promisedRequest({ url: MASTODON_USER_MUTES_URL, credentials })\n .then((users) => users.map(parseUser))\n}\n\nconst muteUser = ({ id, credentials }) => {\n return promisedRequest({ url: MASTODON_MUTE_USER_URL(id), credentials, method: 'POST' })\n}\n\nconst unmuteUser = ({ id, credentials }) => {\n return promisedRequest({ url: MASTODON_UNMUTE_USER_URL(id), credentials, method: 'POST' })\n}\n\nconst fetchMascot = ({ credentials }) => {\n return promisedRequest({ url: MASTODON_MASCOT_URL, credentials })\n}\n\nconst updateMascot = ({ mascot, credentials }) => {\n const form = new FormData()\n form.append('file', mascot)\n return fetch(MASTODON_MASCOT_URL, {\n headers: authHeaders(credentials),\n method: 'PUT',\n body: form\n }).then((data) => data.json())\n}\n\nconst subscribeUser = ({ id, credentials }) => {\n return promisedRequest({ url: MASTODON_SUBSCRIBE_USER(id), credentials, method: 'POST' })\n}\n\nconst unsubscribeUser = ({ id, credentials }) => {\n return promisedRequest({ url: MASTODON_UNSUBSCRIBE_USER(id), credentials, method: 'POST' })\n}\n\nconst fetchBlocks = ({ credentials }) => {\n return promisedRequest({ url: MASTODON_USER_BLOCKS_URL, credentials })\n .then((users) => users.map(parseUser))\n}\n\nconst fetchOAuthTokens = ({ credentials }) => {\n const url = '/api/oauth_tokens.json'\n\n return fetch(url, {\n headers: authHeaders(credentials)\n }).then((data) => {\n if (data.ok) {\n return data.json()\n }\n throw new Error('Error fetching auth tokens', data)\n })\n}\n\nconst revokeOAuthToken = ({ id, credentials }) => {\n const url = `/api/oauth_tokens/${id}`\n\n return fetch(url, {\n headers: authHeaders(credentials),\n method: 'DELETE'\n })\n}\n\nconst suggestions = ({ credentials }) => {\n return fetch(SUGGESTIONS_URL, {\n headers: authHeaders(credentials)\n }).then((data) => data.json())\n}\n\nconst markNotificationsAsSeen = ({ id, credentials }) => {\n const body = new FormData()\n\n body.append('latest_id', id)\n\n return fetch(QVITTER_USER_NOTIFICATIONS_READ_URL, {\n body,\n headers: authHeaders(credentials),\n method: 'POST'\n }).then((data) => data.json())\n}\n\nconst vote = ({ pollId, choices, credentials }) => {\n const form = new FormData()\n form.append('choices', choices)\n\n return promisedRequest({\n url: MASTODON_VOTE_URL(encodeURIComponent(pollId)),\n method: 'POST',\n credentials,\n payload: {\n choices: choices\n }\n })\n}\n\nconst fetchPoll = ({ pollId, credentials }) => {\n return promisedRequest(\n {\n url: MASTODON_POLL_URL(encodeURIComponent(pollId)),\n method: 'GET',\n credentials\n }\n )\n}\n\nconst fetchFavoritedByUsers = ({ id }) => {\n return promisedRequest({ url: MASTODON_STATUS_FAVORITEDBY_URL(id) }).then((users) => users.map(parseUser))\n}\n\nconst fetchRebloggedByUsers = ({ id }) => {\n return promisedRequest({ url: MASTODON_STATUS_REBLOGGEDBY_URL(id) }).then((users) => users.map(parseUser))\n}\n\nconst reportUser = ({ credentials, userId, statusIds, comment, forward }) => {\n return promisedRequest({\n url: MASTODON_REPORT_USER_URL,\n method: 'POST',\n payload: {\n 'account_id': userId,\n 'status_ids': statusIds,\n comment,\n forward\n },\n credentials\n })\n}\n\nconst searchUsers = ({ credentials, query }) => {\n return promisedRequest({\n url: MASTODON_USER_SEARCH_URL,\n params: {\n q: query,\n resolve: true\n },\n credentials\n })\n .then((data) => data.map(parseUser))\n}\n\nconst search2 = ({ credentials, q, resolve, limit, offset, following }) => {\n let url = MASTODON_SEARCH_2\n let params = []\n\n if (q) {\n params.push(['q', encodeURIComponent(q)])\n }\n\n if (resolve) {\n params.push(['resolve', resolve])\n }\n\n if (limit) {\n params.push(['limit', limit])\n }\n\n if (offset) {\n params.push(['offset', offset])\n }\n\n if (following) {\n params.push(['following', true])\n }\n\n let queryString = map(params, (param) => `${param[0]}=${param[1]}`).join('&')\n url += `?${queryString}`\n\n return fetch(url, { headers: authHeaders(credentials) })\n .then((data) => {\n if (data.ok) {\n return data\n }\n throw new Error('Error fetching search result', data)\n })\n .then((data) => { return data.json() })\n .then((data) => {\n data.accounts = data.accounts.slice(0, limit).map(u => parseUser(u))\n data.statuses = data.statuses.slice(0, limit).map(s => parseStatus(s))\n return data\n })\n}\n\nconst apiService = {\n verifyCredentials,\n fetchTimeline,\n fetchPinnedStatuses,\n fetchConversation,\n fetchStatus,\n fetchFriends,\n exportFriends,\n fetchFollowers,\n followUser,\n unfollowUser,\n pinOwnStatus,\n unpinOwnStatus,\n muteConversation,\n unmuteConversation,\n blockUser,\n unblockUser,\n fetchUser,\n fetchUserRelationship,\n favorite,\n unfavorite,\n retweet,\n unretweet,\n postStatus,\n deleteStatus,\n uploadMedia,\n fetchMutes,\n muteUser,\n unmuteUser,\n subscribeUser,\n unsubscribeUser,\n fetchBlocks,\n fetchOAuthTokens,\n revokeOAuthToken,\n tagUser,\n untagUser,\n deleteUser,\n addRight,\n deleteRight,\n setActivationStatus,\n register,\n getCaptcha,\n updateAvatar,\n updateBg,\n updateProfile,\n updateBanner,\n importBlocks,\n importFollows,\n deleteAccount,\n changeEmail,\n changePassword,\n settingsMFA,\n mfaDisableOTP,\n generateMfaBackupCodes,\n mfaSetupOTP,\n mfaConfirmOTP,\n fetchFollowRequests,\n approveUser,\n denyUser,\n suggestions,\n markNotificationsAsSeen,\n vote,\n fetchPoll,\n fetchFavoritedByUsers,\n fetchRebloggedByUsers,\n fetchMascot,\n updateMascot,\n reportUser,\n updateNotificationSettings,\n search2,\n searchUsers\n}\n\nexport default apiService\n","function injectStyle (context) {\n require(\"!!vue-style-loader!css-loader?minimize!../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"optionsId\\\":\\\"0\\\",\\\"vue\\\":true,\\\"scoped\\\":false,\\\"sourceMap\\\":false}!sass-loader!../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./checkbox.vue\")\n}\n/* script */\nexport * from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./checkbox.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./checkbox.vue\"\n/* template */\nimport {render as __vue_render__, staticRenderFns as __vue_static_render_fns__} from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-58c9b3c4\\\",\\\"hasScoped\\\":false,\\\"optionsId\\\":\\\"0\\\",\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./checkbox.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nimport normalizeComponent from \"!../../../node_modules/vue-loader/lib/runtime/component-normalizer\"\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_render__,\n __vue_static_render_fns__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n","import { includes } from 'lodash'\n\nconst generateProfileLink = (id, screenName, restrictedNicknames) => {\n const complicated = !screenName || (isExternal(screenName) || includes(restrictedNicknames, screenName))\n return {\n name: (complicated ? 'external-user-profile' : 'user-profile'),\n params: (complicated ? { id } : { name: screenName })\n }\n}\n\nconst isExternal = screenName => screenName && screenName.includes('@')\n\nexport default generateProfileLink\n","function injectStyle (context) {\n require(\"!!vue-style-loader!css-loader?minimize!../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"optionsId\\\":\\\"0\\\",\\\"vue\\\":true,\\\"scoped\\\":false,\\\"sourceMap\\\":false}!sass-loader!../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./timeline.vue\")\n}\n/* script */\nexport * from \"!!babel-loader!./timeline.js\"\nimport __vue_script__ from \"!!babel-loader!./timeline.js\"/* template */\nimport {render as __vue_render__, staticRenderFns as __vue_static_render_fns__} from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-1ae34aee\\\",\\\"hasScoped\\\":false,\\\"optionsId\\\":\\\"0\\\",\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./timeline.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nimport normalizeComponent from \"!../../../node_modules/vue-loader/lib/runtime/component-normalizer\"\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_render__,\n __vue_static_render_fns__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n","function injectStyle (context) {\n require(\"!!vue-style-loader!css-loader?minimize!../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"optionsId\\\":\\\"0\\\",\\\"vue\\\":true,\\\"scoped\\\":false,\\\"sourceMap\\\":false}!sass-loader!../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./status.vue\")\n}\n/* script */\nexport * from \"!!babel-loader!./status.js\"\nimport __vue_script__ from \"!!babel-loader!./status.js\"/* template */\nimport {render as __vue_render__, staticRenderFns as __vue_static_render_fns__} from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-f83de8e4\\\",\\\"hasScoped\\\":false,\\\"optionsId\\\":\\\"0\\\",\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./status.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nimport normalizeComponent from \"!../../../node_modules/vue-loader/lib/runtime/component-normalizer\"\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_render__,\n __vue_static_render_fns__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n","function injectStyle (context) {\n require(\"!!vue-style-loader!css-loader?minimize!../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"optionsId\\\":\\\"0\\\",\\\"vue\\\":true,\\\"scoped\\\":false,\\\"sourceMap\\\":false}!sass-loader!../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./user_card.vue\")\n}\n/* script */\nexport * from \"!!babel-loader!./user_card.js\"\nimport __vue_script__ from \"!!babel-loader!./user_card.js\"/* template */\nimport {render as __vue_render__, staticRenderFns as __vue_static_render_fns__} from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-2ed8d8bd\\\",\\\"hasScoped\\\":false,\\\"optionsId\\\":\\\"0\\\",\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./user_card.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nimport normalizeComponent from \"!../../../node_modules/vue-loader/lib/runtime/component-normalizer\"\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_render__,\n __vue_static_render_fns__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n","import { map } from 'lodash'\n\nconst rgb2hex = (r, g, b) => {\n if (r === null || typeof r === 'undefined') {\n return undefined\n }\n if (r[0] === '#') {\n return r\n }\n if (typeof r === 'object') {\n ({ r, g, b } = r)\n }\n [r, g, b] = map([r, g, b], (val) => {\n val = Math.ceil(val)\n val = val < 0 ? 0 : val\n val = val > 255 ? 255 : val\n return val\n })\n return `#${((1 << 24) + (r << 16) + (g << 8) + b).toString(16).slice(1)}`\n}\n\n/**\n * Converts 8-bit RGB component into linear component\n * https://www.w3.org/TR/2008/REC-WCAG20-20081211/#relativeluminancedef\n * https://www.w3.org/TR/2008/REC-WCAG20-20081211/relative-luminance.xml\n * https://en.wikipedia.org/wiki/SRGB#The_reverse_transformation\n *\n * @param {Number} bit - color component [0..255]\n * @returns {Number} linear component [0..1]\n */\nconst c2linear = (bit) => {\n // W3C gives 0.03928 while wikipedia states 0.04045\n // what those magical numbers mean - I don't know.\n // something about gamma-correction, i suppose.\n // Sticking with W3C example.\n const c = bit / 255\n if (c < 0.03928) {\n return c / 12.92\n } else {\n return Math.pow((c + 0.055) / 1.055, 2.4)\n }\n}\n\n/**\n * Converts sRGB into linear RGB\n * @param {Object} srgb - sRGB color\n * @returns {Object} linear rgb color\n */\nconst srgbToLinear = (srgb) => {\n return 'rgb'.split('').reduce((acc, c) => { acc[c] = c2linear(srgb[c]); return acc }, {})\n}\n\n/**\n * Calculates relative luminance for given color\n * https://www.w3.org/TR/2008/REC-WCAG20-20081211/#relativeluminancedef\n * https://www.w3.org/TR/2008/REC-WCAG20-20081211/relative-luminance.xml\n *\n * @param {Object} srgb - sRGB color\n * @returns {Number} relative luminance\n */\nconst relativeLuminance = (srgb) => {\n const { r, g, b } = srgbToLinear(srgb)\n return 0.2126 * r + 0.7152 * g + 0.0722 * b\n}\n\n/**\n * Generates color ratio between two colors. Order is unimporant\n * https://www.w3.org/TR/2008/REC-WCAG20-20081211/#contrast-ratiodef\n *\n * @param {Object} a - sRGB color\n * @param {Object} b - sRGB color\n * @returns {Number} color ratio\n */\nconst getContrastRatio = (a, b) => {\n const la = relativeLuminance(a)\n const lb = relativeLuminance(b)\n const [l1, l2] = la > lb ? [la, lb] : [lb, la]\n\n return (l1 + 0.05) / (l2 + 0.05)\n}\n\n/**\n * This performs alpha blending between solid background and semi-transparent foreground\n *\n * @param {Object} fg - top layer color\n * @param {Number} fga - top layer's alpha\n * @param {Object} bg - bottom layer color\n * @returns {Object} sRGB of resulting color\n */\nconst alphaBlend = (fg, fga, bg) => {\n if (fga === 1 || typeof fga === 'undefined') return fg\n return 'rgb'.split('').reduce((acc, c) => {\n // Simplified https://en.wikipedia.org/wiki/Alpha_compositing#Alpha_blending\n // for opaque bg and transparent fg\n acc[c] = (fg[c] * fga + bg[c] * (1 - fga))\n return acc\n }, {})\n}\n\nconst invert = (rgb) => {\n return 'rgb'.split('').reduce((acc, c) => {\n acc[c] = 255 - rgb[c]\n return acc\n }, {})\n}\n\nconst hex2rgb = (hex) => {\n const result = /^#?([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})$/i.exec(hex)\n return result ? {\n r: parseInt(result[1], 16),\n g: parseInt(result[2], 16),\n b: parseInt(result[3], 16)\n } : null\n}\n\nconst mixrgb = (a, b) => {\n return Object.keys(a).reduce((acc, k) => {\n acc[k] = (a[k] + b[k]) / 2\n return acc\n }, {})\n}\n\nexport {\n rgb2hex,\n hex2rgb,\n mixrgb,\n invert,\n getContrastRatio,\n alphaBlend\n}\n","// TODO this func might as well take the entire file and use its mimetype\n// or the entire service could be just mimetype service that only operates\n// on mimetypes and not files. Currently the naming is confusing.\nconst fileType = mimetype => {\n if (mimetype.match(/text\\/html/)) {\n return 'html'\n }\n\n if (mimetype.match(/image/)) {\n return 'image'\n }\n\n if (mimetype.match(/video/)) {\n return 'video'\n }\n\n if (mimetype.match(/audio/)) {\n return 'audio'\n }\n\n return 'unknown'\n}\n\nconst fileMatchesSomeType = (types, file) =>\n types.some(type => fileType(file.mimetype) === type)\n\nconst fileTypeService = {\n fileType,\n fileMatchesSomeType\n}\n\nexport default fileTypeService\n","function injectStyle (context) {\n require(\"!!vue-style-loader!css-loader?minimize!../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"optionsId\\\":\\\"0\\\",\\\"vue\\\":true,\\\"scoped\\\":false,\\\"sourceMap\\\":false}!sass-loader!../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./user_avatar.vue\")\n}\n/* script */\nexport * from \"!!babel-loader!./user_avatar.js\"\nimport __vue_script__ from \"!!babel-loader!./user_avatar.js\"/* template */\nimport {render as __vue_render__, staticRenderFns as __vue_static_render_fns__} from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-056a5e34\\\",\\\"hasScoped\\\":false,\\\"optionsId\\\":\\\"0\\\",\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./user_avatar.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nimport normalizeComponent from \"!../../../node_modules/vue-loader/lib/runtime/component-normalizer\"\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_render__,\n __vue_static_render_fns__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n","function injectStyle (context) {\n require(\"!!vue-style-loader!css-loader?minimize!../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"optionsId\\\":\\\"0\\\",\\\"vue\\\":true,\\\"scoped\\\":false,\\\"sourceMap\\\":false}!sass-loader!../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./basic_user_card.vue\")\n}\n/* script */\nexport * from \"!!babel-loader!./basic_user_card.js\"\nimport __vue_script__ from \"!!babel-loader!./basic_user_card.js\"/* template */\nimport {render as __vue_render__, staticRenderFns as __vue_static_render_fns__} from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-effb8e08\\\",\\\"hasScoped\\\":false,\\\"optionsId\\\":\\\"0\\\",\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./basic_user_card.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nimport normalizeComponent from \"!../../../node_modules/vue-loader/lib/runtime/component-normalizer\"\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_render__,\n __vue_static_render_fns__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n","import { times } from 'lodash'\nimport { brightness, invertLightness, convert, contrastRatio } from 'chromatism'\nimport { rgb2hex, hex2rgb, mixrgb, getContrastRatio, alphaBlend } from '../color_convert/color_convert.js'\n\n// While this is not used anymore right now, I left it in if we want to do custom\n// styles that aren't just colors, so user can pick from a few different distinct\n// styles as well as set their own colors in the future.\n\nconst setStyle = (href, commit) => {\n /***\n What's going on here?\n I want to make it easy for admins to style this application. To have\n a good set of default themes, I chose the system from base16\n (https://chriskempson.github.io/base16/) to style all elements. They\n all have the base00..0F classes. So the only thing an admin needs to\n do to style Pleroma is to change these colors in that one css file.\n Some default things (body text color, link color) need to be set dy-\n namically, so this is done here by waiting for the stylesheet to be\n loaded and then creating an element with the respective classes.\n\n It is a bit weird, but should make life for admins somewhat easier.\n ***/\n const head = document.head\n const body = document.body\n body.classList.add('hidden')\n const cssEl = document.createElement('link')\n cssEl.setAttribute('rel', 'stylesheet')\n cssEl.setAttribute('href', href)\n head.appendChild(cssEl)\n\n const setDynamic = () => {\n const baseEl = document.createElement('div')\n body.appendChild(baseEl)\n\n let colors = {}\n times(16, (n) => {\n const name = `base0${n.toString(16).toUpperCase()}`\n baseEl.setAttribute('class', name)\n const color = window.getComputedStyle(baseEl).getPropertyValue('color')\n colors[name] = color\n })\n\n body.removeChild(baseEl)\n\n const styleEl = document.createElement('style')\n head.appendChild(styleEl)\n // const styleSheet = styleEl.sheet\n\n body.classList.remove('hidden')\n }\n\n cssEl.addEventListener('load', setDynamic)\n}\n\nconst rgb2rgba = function (rgba) {\n return `rgba(${rgba.r}, ${rgba.g}, ${rgba.b}, ${rgba.a})`\n}\n\nconst getTextColor = function (bg, text, preserve) {\n const bgIsLight = convert(bg).hsl.l > 50\n const textIsLight = convert(text).hsl.l > 50\n\n if ((bgIsLight && textIsLight) || (!bgIsLight && !textIsLight)) {\n const base = typeof text.a !== 'undefined' ? { a: text.a } : {}\n const result = Object.assign(base, invertLightness(text).rgb)\n if (!preserve && getContrastRatio(bg, result) < 4.5) {\n return contrastRatio(bg, text).rgb\n }\n return result\n }\n return text\n}\n\nconst applyTheme = (input, commit) => {\n const { rules, theme } = generatePreset(input)\n const head = document.head\n const body = document.body\n body.classList.add('hidden')\n\n const styleEl = document.createElement('style')\n head.appendChild(styleEl)\n const styleSheet = styleEl.sheet\n\n styleSheet.toString()\n styleSheet.insertRule(`body { ${rules.radii} }`, 'index-max')\n styleSheet.insertRule(`body { ${rules.colors} }`, 'index-max')\n styleSheet.insertRule(`body { ${rules.shadows} }`, 'index-max')\n styleSheet.insertRule(`body { ${rules.fonts} }`, 'index-max')\n body.classList.remove('hidden')\n\n // commit('setOption', { name: 'colors', value: htmlColors })\n // commit('setOption', { name: 'radii', value: radii })\n commit('setOption', { name: 'customTheme', value: input })\n commit('setOption', { name: 'colors', value: theme.colors })\n}\n\nconst getCssShadow = (input, usesDropShadow) => {\n if (input.length === 0) {\n return 'none'\n }\n\n return input\n .filter(_ => usesDropShadow ? _.inset : _)\n .map((shad) => [\n shad.x,\n shad.y,\n shad.blur,\n shad.spread\n ].map(_ => _ + 'px').concat([\n getCssColor(shad.color, shad.alpha),\n shad.inset ? 'inset' : ''\n ]).join(' ')).join(', ')\n}\n\nconst getCssShadowFilter = (input) => {\n if (input.length === 0) {\n return 'none'\n }\n\n return input\n // drop-shadow doesn't support inset or spread\n .filter((shad) => !shad.inset && Number(shad.spread) === 0)\n .map((shad) => [\n shad.x,\n shad.y,\n // drop-shadow's blur is twice as strong compared to box-shadow\n shad.blur / 2\n ].map(_ => _ + 'px').concat([\n getCssColor(shad.color, shad.alpha)\n ]).join(' '))\n .map(_ => `drop-shadow(${_})`)\n .join(' ')\n}\n\nconst getCssColor = (input, a) => {\n let rgb = {}\n if (typeof input === 'object') {\n rgb = input\n } else if (typeof input === 'string') {\n if (input.startsWith('#')) {\n rgb = hex2rgb(input)\n } else if (input.startsWith('--')) {\n return `var(${input})`\n } else {\n return input\n }\n }\n return rgb2rgba({ ...rgb, a })\n}\n\nconst generateColors = (input) => {\n const colors = {}\n const opacity = Object.assign({\n alert: 0.5,\n input: 0.5,\n faint: 0.5\n }, Object.entries(input.opacity || {}).reduce((acc, [k, v]) => {\n if (typeof v !== 'undefined') {\n acc[k] = v\n }\n return acc\n }, {}))\n const col = Object.entries(input.colors || input).reduce((acc, [k, v]) => {\n if (typeof v === 'object') {\n acc[k] = v\n } else {\n acc[k] = hex2rgb(v)\n }\n return acc\n }, {})\n\n const isLightOnDark = convert(col.bg).hsl.l < convert(col.text).hsl.l\n const mod = isLightOnDark ? 1 : -1\n\n colors.text = col.text\n colors.lightText = brightness(20 * mod, colors.text).rgb\n colors.link = col.link\n colors.faint = col.faint || Object.assign({}, col.text)\n\n colors.bg = col.bg\n colors.lightBg = col.lightBg || brightness(5, colors.bg).rgb\n\n colors.fg = col.fg\n colors.fgText = col.fgText || getTextColor(colors.fg, colors.text)\n colors.fgLink = col.fgLink || getTextColor(colors.fg, colors.link, true)\n\n colors.border = col.border || brightness(2 * mod, colors.fg).rgb\n\n colors.btn = col.btn || Object.assign({}, col.fg)\n colors.btnText = col.btnText || getTextColor(colors.btn, colors.fgText)\n\n colors.input = col.input || Object.assign({}, col.fg)\n colors.inputText = col.inputText || getTextColor(colors.input, colors.lightText)\n\n colors.panel = col.panel || Object.assign({}, col.fg)\n colors.panelText = col.panelText || getTextColor(colors.panel, colors.fgText)\n colors.panelLink = col.panelLink || getTextColor(colors.panel, colors.fgLink)\n colors.panelFaint = col.panelFaint || getTextColor(colors.panel, colors.faint)\n\n colors.topBar = col.topBar || Object.assign({}, col.fg)\n colors.topBarText = col.topBarText || getTextColor(colors.topBar, colors.fgText)\n colors.topBarLink = col.topBarLink || getTextColor(colors.topBar, colors.fgLink)\n\n colors.faintLink = col.faintLink || Object.assign({}, col.link)\n colors.linkBg = alphaBlend(colors.link, 0.4, colors.bg)\n\n colors.icon = mixrgb(colors.bg, colors.text)\n\n colors.cBlue = col.cBlue || hex2rgb('#0000FF')\n colors.cRed = col.cRed || hex2rgb('#FF0000')\n colors.cGreen = col.cGreen || hex2rgb('#00FF00')\n colors.cOrange = col.cOrange || hex2rgb('#E3FF00')\n\n colors.alertError = col.alertError || Object.assign({}, colors.cRed)\n colors.alertErrorText = getTextColor(alphaBlend(colors.alertError, opacity.alert, colors.bg), colors.text)\n colors.alertErrorPanelText = getTextColor(alphaBlend(colors.alertError, opacity.alert, colors.panel), colors.panelText)\n\n colors.alertWarning = col.alertWarning || Object.assign({}, colors.cOrange)\n colors.alertWarningText = getTextColor(alphaBlend(colors.alertWarning, opacity.alert, colors.bg), colors.text)\n colors.alertWarningPanelText = getTextColor(alphaBlend(colors.alertWarning, opacity.alert, colors.panel), colors.panelText)\n\n colors.badgeNotification = col.badgeNotification || Object.assign({}, colors.cRed)\n colors.badgeNotificationText = contrastRatio(colors.badgeNotification).rgb\n\n Object.entries(opacity).forEach(([ k, v ]) => {\n if (typeof v === 'undefined') return\n if (k === 'alert') {\n colors.alertError.a = v\n colors.alertWarning.a = v\n return\n }\n if (k === 'faint') {\n colors[k + 'Link'].a = v\n colors['panelFaint'].a = v\n }\n if (k === 'bg') {\n colors['lightBg'].a = v\n }\n if (colors[k]) {\n colors[k].a = v\n } else {\n console.error('Wrong key ' + k)\n }\n })\n\n const htmlColors = Object.entries(colors)\n .reduce((acc, [k, v]) => {\n if (!v) return acc\n acc.solid[k] = rgb2hex(v)\n acc.complete[k] = typeof v.a === 'undefined' ? rgb2hex(v) : rgb2rgba(v)\n return acc\n }, { complete: {}, solid: {} })\n return {\n rules: {\n colors: Object.entries(htmlColors.complete)\n .filter(([k, v]) => v)\n .map(([k, v]) => `--${k}: ${v}`)\n .join(';')\n },\n theme: {\n colors: htmlColors.solid,\n opacity\n }\n }\n}\n\nconst generateRadii = (input) => {\n let inputRadii = input.radii || {}\n // v1 -> v2\n if (typeof input.btnRadius !== 'undefined') {\n inputRadii = Object\n .entries(input)\n .filter(([k, v]) => k.endsWith('Radius'))\n .reduce((acc, e) => { acc[e[0].split('Radius')[0]] = e[1]; return acc }, {})\n }\n const radii = Object.entries(inputRadii).filter(([k, v]) => v).reduce((acc, [k, v]) => {\n acc[k] = v\n return acc\n }, {\n btn: 4,\n input: 4,\n checkbox: 2,\n panel: 10,\n avatar: 5,\n avatarAlt: 50,\n tooltip: 2,\n attachment: 5\n })\n\n return {\n rules: {\n radii: Object.entries(radii).filter(([k, v]) => v).map(([k, v]) => `--${k}Radius: ${v}px`).join(';')\n },\n theme: {\n radii\n }\n }\n}\n\nconst generateFonts = (input) => {\n const fonts = Object.entries(input.fonts || {}).filter(([k, v]) => v).reduce((acc, [k, v]) => {\n acc[k] = Object.entries(v).filter(([k, v]) => v).reduce((acc, [k, v]) => {\n acc[k] = v\n return acc\n }, acc[k])\n return acc\n }, {\n interface: {\n family: 'sans-serif'\n },\n input: {\n family: 'inherit'\n },\n post: {\n family: 'inherit'\n },\n postCode: {\n family: 'monospace'\n }\n })\n\n return {\n rules: {\n fonts: Object\n .entries(fonts)\n .filter(([k, v]) => v)\n .map(([k, v]) => `--${k}Font: ${v.family}`).join(';')\n },\n theme: {\n fonts\n }\n }\n}\n\nconst generateShadows = (input) => {\n const border = (top, shadow) => ({\n x: 0,\n y: top ? 1 : -1,\n blur: 0,\n spread: 0,\n color: shadow ? '#000000' : '#FFFFFF',\n alpha: 0.2,\n inset: true\n })\n const buttonInsetFakeBorders = [border(true, false), border(false, true)]\n const inputInsetFakeBorders = [border(true, true), border(false, false)]\n const hoverGlow = {\n x: 0,\n y: 0,\n blur: 4,\n spread: 0,\n color: '--faint',\n alpha: 1\n }\n\n const shadows = {\n panel: [{\n x: 1,\n y: 1,\n blur: 4,\n spread: 0,\n color: '#000000',\n alpha: 0.6\n }],\n topBar: [{\n x: 0,\n y: 0,\n blur: 4,\n spread: 0,\n color: '#000000',\n alpha: 0.6\n }],\n popup: [{\n x: 2,\n y: 2,\n blur: 3,\n spread: 0,\n color: '#000000',\n alpha: 0.5\n }],\n avatar: [{\n x: 0,\n y: 1,\n blur: 8,\n spread: 0,\n color: '#000000',\n alpha: 0.7\n }],\n avatarStatus: [],\n panelHeader: [],\n button: [{\n x: 0,\n y: 0,\n blur: 2,\n spread: 0,\n color: '#000000',\n alpha: 1\n }, ...buttonInsetFakeBorders],\n buttonHover: [hoverGlow, ...buttonInsetFakeBorders],\n buttonPressed: [hoverGlow, ...inputInsetFakeBorders],\n input: [...inputInsetFakeBorders, {\n x: 0,\n y: 0,\n blur: 2,\n inset: true,\n spread: 0,\n color: '#000000',\n alpha: 1\n }],\n ...(input.shadows || {})\n }\n\n return {\n rules: {\n shadows: Object\n .entries(shadows)\n // TODO for v2.1: if shadow doesn't have non-inset shadows with spread > 0 - optionally\n // convert all non-inset shadows into filter: drop-shadow() to boost performance\n .map(([k, v]) => [\n `--${k}Shadow: ${getCssShadow(v)}`,\n `--${k}ShadowFilter: ${getCssShadowFilter(v)}`,\n `--${k}ShadowInset: ${getCssShadow(v, true)}`\n ].join(';'))\n .join(';')\n },\n theme: {\n shadows\n }\n }\n}\n\nconst composePreset = (colors, radii, shadows, fonts) => {\n return {\n rules: {\n ...shadows.rules,\n ...colors.rules,\n ...radii.rules,\n ...fonts.rules\n },\n theme: {\n ...shadows.theme,\n ...colors.theme,\n ...radii.theme,\n ...fonts.theme\n }\n }\n}\n\nconst generatePreset = (input) => {\n const shadows = generateShadows(input)\n const colors = generateColors(input)\n const radii = generateRadii(input)\n const fonts = generateFonts(input)\n\n return composePreset(colors, radii, shadows, fonts)\n}\n\nconst getThemes = () => {\n return window.fetch('/static/styles.json')\n .then((data) => data.json())\n .then((themes) => {\n return Promise.all(Object.entries(themes).map(([k, v]) => {\n if (typeof v === 'object') {\n return Promise.resolve([k, v])\n } else if (typeof v === 'string') {\n return window.fetch(v)\n .then((data) => data.json())\n .then((theme) => {\n return [k, theme]\n })\n .catch((e) => {\n console.error(e)\n return []\n })\n }\n }))\n })\n .then((promises) => {\n return promises\n .filter(([k, v]) => v)\n .reduce((acc, [k, v]) => {\n acc[k] = v\n return acc\n }, {})\n })\n}\n\nconst setPreset = (val, commit) => {\n return getThemes().then((themes) => {\n const theme = themes[val] ? themes[val] : themes['pleroma-dark']\n const isV1 = Array.isArray(theme)\n const data = isV1 ? {} : theme.theme\n\n if (isV1) {\n const bgRgb = hex2rgb(theme[1])\n const fgRgb = hex2rgb(theme[2])\n const textRgb = hex2rgb(theme[3])\n const linkRgb = hex2rgb(theme[4])\n\n const cRedRgb = hex2rgb(theme[5] || '#FF0000')\n const cGreenRgb = hex2rgb(theme[6] || '#00FF00')\n const cBlueRgb = hex2rgb(theme[7] || '#0000FF')\n const cOrangeRgb = hex2rgb(theme[8] || '#E3FF00')\n\n data.colors = {\n bg: bgRgb,\n fg: fgRgb,\n text: textRgb,\n link: linkRgb,\n cRed: cRedRgb,\n cBlue: cBlueRgb,\n cGreen: cGreenRgb,\n cOrange: cOrangeRgb\n }\n }\n\n // This is a hack, this function is only called during initial load.\n // We want to cancel loading the theme from config.json if we're already\n // loading a theme from the persisted state.\n // Needed some way of dealing with the async way of things.\n // load config -> set preset -> wait for styles.json to load ->\n // load persisted state -> set colors -> styles.json loaded -> set colors\n if (!window.themeLoaded) {\n applyTheme(data, commit)\n }\n })\n}\n\nexport {\n setStyle,\n setPreset,\n applyTheme,\n getTextColor,\n generateColors,\n generateRadii,\n generateShadows,\n generateFonts,\n generatePreset,\n getThemes,\n composePreset,\n getCssShadow,\n getCssShadowFilter\n}\n","import { reduce } from 'lodash'\n\nconst REDIRECT_URI = `${window.location.origin}/oauth-callback`\n\nexport const getOrCreateApp = ({ clientId, clientSecret, instance, commit }) => {\n if (clientId && clientSecret) {\n return Promise.resolve({ clientId, clientSecret })\n }\n\n const url = `${instance}/api/v1/apps`\n const form = new window.FormData()\n\n form.append('client_name', `PleromaFE_${window.___pleromafe_commit_hash}_${(new Date()).toISOString()}`)\n form.append('redirect_uris', REDIRECT_URI)\n form.append('scopes', 'read write follow')\n\n return window.fetch(url, {\n method: 'POST',\n body: form\n })\n .then((data) => data.json())\n .then((app) => ({ clientId: app.client_id, clientSecret: app.client_secret }))\n .then((app) => commit('setClientData', app) || app)\n}\n\nconst login = ({ instance, clientId }) => {\n const data = {\n response_type: 'code',\n client_id: clientId,\n redirect_uri: REDIRECT_URI,\n scope: 'read write follow'\n }\n\n const dataString = reduce(data, (acc, v, k) => {\n const encoded = `${k}=${encodeURIComponent(v)}`\n if (!acc) {\n return encoded\n } else {\n return `${acc}&${encoded}`\n }\n }, false)\n\n // Do the redirect...\n const url = `${instance}/oauth/authorize?${dataString}`\n\n window.location.href = url\n}\n\nconst getTokenWithCredentials = ({ clientId, clientSecret, instance, username, password }) => {\n const url = `${instance}/oauth/token`\n const form = new window.FormData()\n\n form.append('client_id', clientId)\n form.append('client_secret', clientSecret)\n form.append('grant_type', 'password')\n form.append('username', username)\n form.append('password', password)\n\n return window.fetch(url, {\n method: 'POST',\n body: form\n }).then((data) => data.json())\n}\n\nconst getToken = ({ clientId, clientSecret, instance, code }) => {\n const url = `${instance}/oauth/token`\n const form = new window.FormData()\n\n form.append('client_id', clientId)\n form.append('client_secret', clientSecret)\n form.append('grant_type', 'authorization_code')\n form.append('code', code)\n form.append('redirect_uri', `${window.location.origin}/oauth-callback`)\n\n return window.fetch(url, {\n method: 'POST',\n body: form\n })\n .then((data) => data.json())\n}\n\nexport const getClientToken = ({ clientId, clientSecret, instance }) => {\n const url = `${instance}/oauth/token`\n const form = new window.FormData()\n\n form.append('client_id', clientId)\n form.append('client_secret', clientSecret)\n form.append('grant_type', 'client_credentials')\n form.append('redirect_uri', `${window.location.origin}/oauth-callback`)\n\n return window.fetch(url, {\n method: 'POST',\n body: form\n }).then((data) => data.json())\n}\nconst verifyOTPCode = ({ app, instance, mfaToken, code }) => {\n const url = `${instance}/oauth/mfa/challenge`\n const form = new window.FormData()\n\n form.append('client_id', app.client_id)\n form.append('client_secret', app.client_secret)\n form.append('mfa_token', mfaToken)\n form.append('code', code)\n form.append('challenge_type', 'totp')\n\n return window.fetch(url, {\n method: 'POST',\n body: form\n }).then((data) => data.json())\n}\n\nconst verifyRecoveryCode = ({ app, instance, mfaToken, code }) => {\n const url = `${instance}/oauth/mfa/challenge`\n const form = new window.FormData()\n\n form.append('client_id', app.client_id)\n form.append('client_secret', app.client_secret)\n form.append('mfa_token', mfaToken)\n form.append('code', code)\n form.append('challenge_type', 'recovery')\n\n return window.fetch(url, {\n method: 'POST',\n body: form\n }).then((data) => data.json())\n}\n\nconst revokeToken = ({ app, instance, token }) => {\n const url = `${instance}/oauth/revoke`\n const form = new window.FormData()\n\n form.append('client_id', app.clientId)\n form.append('client_secret', app.clientSecret)\n form.append('token', token)\n\n return window.fetch(url, {\n method: 'POST',\n body: form\n }).then((data) => data.json())\n}\n\nconst oauth = {\n login,\n getToken,\n getTokenWithCredentials,\n getOrCreateApp,\n verifyOTPCode,\n verifyRecoveryCode,\n revokeToken\n}\n\nexport default oauth\n","function injectStyle (context) {\n require(\"!!vue-style-loader!css-loader?minimize!../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"optionsId\\\":\\\"0\\\",\\\"vue\\\":true,\\\"scoped\\\":false,\\\"sourceMap\\\":false}!sass-loader!../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./conversation.vue\")\n}\n/* script */\nexport * from \"!!babel-loader!./conversation.js\"\nimport __vue_script__ from \"!!babel-loader!./conversation.js\"/* template */\nimport {render as __vue_render__, staticRenderFns as __vue_static_render_fns__} from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-06d49b5c\\\",\\\"hasScoped\\\":false,\\\"optionsId\\\":\\\"0\\\",\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./conversation.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nimport normalizeComponent from \"!../../../node_modules/vue-loader/lib/runtime/component-normalizer\"\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_render__,\n __vue_static_render_fns__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n","function injectStyle (context) {\n require(\"!!vue-style-loader!css-loader?minimize!../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"optionsId\\\":\\\"0\\\",\\\"vue\\\":true,\\\"scoped\\\":false,\\\"sourceMap\\\":false}!sass-loader!./notifications.scss\")\n}\n/* script */\nexport * from \"!!babel-loader!./notifications.js\"\nimport __vue_script__ from \"!!babel-loader!./notifications.js\"/* template */\nimport {render as __vue_render__, staticRenderFns as __vue_static_render_fns__} from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-329c7806\\\",\\\"hasScoped\\\":false,\\\"optionsId\\\":\\\"0\\\",\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./notifications.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nimport normalizeComponent from \"!../../../node_modules/vue-loader/lib/runtime/component-normalizer\"\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_render__,\n __vue_static_render_fns__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n","import Timeline from '../timeline/timeline.vue'\nconst PublicTimeline = {\n components: {\n Timeline\n },\n computed: {\n timeline () { return this.$store.state.statuses.timelines.public }\n },\n created () {\n this.$store.dispatch('startFetchingTimeline', { timeline: 'public' })\n },\n destroyed () {\n this.$store.dispatch('stopFetching', 'public')\n }\n\n}\n\nexport default PublicTimeline\n","import Status from '../status/status.vue'\nimport timelineFetcher from '../../services/timeline_fetcher/timeline_fetcher.service.js'\nimport Conversation from '../conversation/conversation.vue'\nimport { throttle, keyBy } from 'lodash'\n\nexport const getExcludedStatusIdsByPinning = (statuses, pinnedStatusIds) => {\n const ids = []\n if (pinnedStatusIds && pinnedStatusIds.length > 0) {\n for (let status of statuses) {\n if (!pinnedStatusIds.includes(status.id)) {\n break\n }\n ids.push(status.id)\n }\n }\n return ids\n}\n\nconst Timeline = {\n props: [\n 'timeline',\n 'timelineName',\n 'title',\n 'userId',\n 'tag',\n 'embedded',\n 'count',\n 'pinnedStatusIds',\n 'inProfile'\n ],\n data () {\n return {\n paused: false,\n unfocused: false,\n bottomedOut: false\n }\n },\n computed: {\n timelineError () { return this.$store.state.statuses.error },\n newStatusCount () {\n return this.timeline.newStatusCount\n },\n newStatusCountStr () {\n if (this.timeline.flushMarker !== 0) {\n return ''\n } else {\n return ` (${this.newStatusCount})`\n }\n },\n classes () {\n return {\n root: ['timeline'].concat(!this.embedded ? ['panel', 'panel-default'] : []),\n header: ['timeline-heading'].concat(!this.embedded ? ['panel-heading'] : []),\n body: ['timeline-body'].concat(!this.embedded ? ['panel-body'] : []),\n footer: ['timeline-footer'].concat(!this.embedded ? ['panel-footer'] : [])\n }\n },\n // id map of statuses which need to be hidden in the main list due to pinning logic\n excludedStatusIdsObject () {\n const ids = getExcludedStatusIdsByPinning(this.timeline.visibleStatuses, this.pinnedStatusIds)\n // Convert id array to object\n return keyBy(ids)\n },\n pinnedStatusIdsObject () {\n return keyBy(this.pinnedStatusIds)\n }\n },\n components: {\n Status,\n Conversation\n },\n created () {\n const store = this.$store\n const credentials = store.state.users.currentUser.credentials\n const showImmediately = this.timeline.visibleStatuses.length === 0\n\n window.addEventListener('scroll', this.scrollLoad)\n\n if (store.state.api.fetchers[this.timelineName]) { return false }\n\n timelineFetcher.fetchAndUpdate({\n store,\n credentials,\n timeline: this.timelineName,\n showImmediately,\n userId: this.userId,\n tag: this.tag\n })\n },\n mounted () {\n if (typeof document.hidden !== 'undefined') {\n document.addEventListener('visibilitychange', this.handleVisibilityChange, false)\n this.unfocused = document.hidden\n }\n window.addEventListener('keydown', this.handleShortKey)\n },\n destroyed () {\n window.removeEventListener('scroll', this.scrollLoad)\n window.removeEventListener('keydown', this.handleShortKey)\n if (typeof document.hidden !== 'undefined') document.removeEventListener('visibilitychange', this.handleVisibilityChange, false)\n this.$store.commit('setLoading', { timeline: this.timelineName, value: false })\n },\n methods: {\n handleShortKey (e) {\n // Ignore when input fields are focused\n if (['textarea', 'input'].includes(e.target.tagName.toLowerCase())) return\n if (e.key === '.') this.showNewStatuses()\n },\n showNewStatuses () {\n if (this.newStatusCount === 0) return\n\n if (this.timeline.flushMarker !== 0) {\n this.$store.commit('clearTimeline', { timeline: this.timelineName, excludeUserId: true })\n this.$store.commit('queueFlush', { timeline: this.timelineName, id: 0 })\n this.fetchOlderStatuses()\n } else {\n this.$store.commit('showNewStatuses', { timeline: this.timelineName })\n this.paused = false\n }\n },\n fetchOlderStatuses: throttle(function () {\n const store = this.$store\n const credentials = store.state.users.currentUser.credentials\n store.commit('setLoading', { timeline: this.timelineName, value: true })\n timelineFetcher.fetchAndUpdate({\n store,\n credentials,\n timeline: this.timelineName,\n older: true,\n showImmediately: true,\n userId: this.userId,\n tag: this.tag\n }).then(statuses => {\n store.commit('setLoading', { timeline: this.timelineName, value: false })\n if (statuses && statuses.length === 0) {\n this.bottomedOut = true\n }\n })\n }, 1000, this),\n scrollLoad (e) {\n const bodyBRect = document.body.getBoundingClientRect()\n const height = Math.max(bodyBRect.height, -(bodyBRect.y))\n if (this.timeline.loading === false &&\n this.$store.getters.mergedConfig.autoLoad &&\n this.$el.offsetHeight > 0 &&\n (window.innerHeight + window.pageYOffset) >= (height - 750)) {\n this.fetchOlderStatuses()\n }\n },\n handleVisibilityChange () {\n this.unfocused = document.hidden\n }\n },\n watch: {\n newStatusCount (count) {\n if (!this.$store.getters.mergedConfig.streaming) {\n return\n }\n if (count > 0) {\n // only 'stream' them when you're scrolled to the top\n const doc = document.documentElement\n const top = (window.pageYOffset || doc.scrollTop) - (doc.clientTop || 0)\n if (top < 15 &&\n !this.paused &&\n !(this.unfocused && this.$store.getters.mergedConfig.pauseOnUnfocused)\n ) {\n this.showNewStatuses()\n } else {\n this.paused = true\n }\n }\n }\n }\n}\n\nexport default Timeline\n","import Attachment from '../attachment/attachment.vue'\nimport FavoriteButton from '../favorite_button/favorite_button.vue'\nimport RetweetButton from '../retweet_button/retweet_button.vue'\nimport Poll from '../poll/poll.vue'\nimport ExtraButtons from '../extra_buttons/extra_buttons.vue'\nimport PostStatusForm from '../post_status_form/post_status_form.vue'\nimport UserCard from '../user_card/user_card.vue'\nimport UserAvatar from '../user_avatar/user_avatar.vue'\nimport Gallery from '../gallery/gallery.vue'\nimport LinkPreview from '../link-preview/link-preview.vue'\nimport AvatarList from '../avatar_list/avatar_list.vue'\nimport Timeago from '../timeago/timeago.vue'\nimport StatusPopover from '../status_popover/status_popover.vue'\nimport generateProfileLink from 'src/services/user_profile_link_generator/user_profile_link_generator'\nimport fileType from 'src/services/file_type/file_type.service'\nimport { processHtml } from 'src/services/tiny_post_html_processor/tiny_post_html_processor.service.js'\nimport { highlightClass, highlightStyle } from '../../services/user_highlighter/user_highlighter.js'\nimport { mentionMatchesUrl, extractTagFromUrl } from 'src/services/matcher/matcher.service.js'\nimport { filter, unescape, uniqBy } from 'lodash'\nimport { mapGetters, mapState } from 'vuex'\n\nconst Status = {\n name: 'Status',\n props: [\n 'statusoid',\n 'expandable',\n 'inConversation',\n 'focused',\n 'highlight',\n 'compact',\n 'replies',\n 'isPreview',\n 'noHeading',\n 'inlineExpanded',\n 'showPinned',\n 'inProfile'\n ],\n data () {\n return {\n replying: false,\n unmuted: false,\n userExpanded: false,\n showingTall: this.inConversation && this.focused,\n showingLongSubject: false,\n error: null,\n // not as computed because it sets the initial state which will be changed later\n expandingSubject: !this.$store.getters.mergedConfig.collapseMessageWithSubject\n }\n },\n computed: {\n localCollapseSubjectDefault () {\n return this.mergedConfig.collapseMessageWithSubject\n },\n muteWords () {\n return this.mergedConfig.muteWords\n },\n repeaterClass () {\n const user = this.statusoid.user\n return highlightClass(user)\n },\n userClass () {\n const user = this.retweet ? (this.statusoid.retweeted_status.user) : this.statusoid.user\n return highlightClass(user)\n },\n deleted () {\n return this.statusoid.deleted\n },\n repeaterStyle () {\n const user = this.statusoid.user\n const highlight = this.mergedConfig.highlight\n return highlightStyle(highlight[user.screen_name])\n },\n userStyle () {\n if (this.noHeading) return\n const user = this.retweet ? (this.statusoid.retweeted_status.user) : this.statusoid.user\n const highlight = this.mergedConfig.highlight\n return highlightStyle(highlight[user.screen_name])\n },\n hideAttachments () {\n return (this.mergedConfig.hideAttachments && !this.inConversation) ||\n (this.mergedConfig.hideAttachmentsInConv && this.inConversation)\n },\n userProfileLink () {\n return this.generateUserProfileLink(this.status.user.id, this.status.user.screen_name)\n },\n replyProfileLink () {\n if (this.isReply) {\n return this.generateUserProfileLink(this.status.in_reply_to_user_id, this.replyToName)\n }\n },\n retweet () { return !!this.statusoid.retweeted_status },\n retweeter () { return this.statusoid.user.name || this.statusoid.user.screen_name },\n retweeterHtml () { return this.statusoid.user.name_html },\n retweeterProfileLink () { return this.generateUserProfileLink(this.statusoid.user.id, this.statusoid.user.screen_name) },\n status () {\n if (this.retweet) {\n return this.statusoid.retweeted_status\n } else {\n return this.statusoid\n }\n },\n statusFromGlobalRepository () {\n // NOTE: Consider to replace status with statusFromGlobalRepository\n return this.$store.state.statuses.allStatusesObject[this.status.id]\n },\n loggedIn () {\n return !!this.currentUser\n },\n muteWordHits () {\n const statusText = this.status.text.toLowerCase()\n const statusSummary = this.status.summary.toLowerCase()\n const hits = filter(this.muteWords, (muteWord) => {\n return statusText.includes(muteWord.toLowerCase()) || statusSummary.includes(muteWord.toLowerCase())\n })\n\n return hits\n },\n muted () { return !this.unmuted && ((!this.inProfile && this.status.user.muted) || (!this.inConversation && this.status.thread_muted) || this.muteWordHits.length > 0) },\n hideFilteredStatuses () {\n return this.mergedConfig.hideFilteredStatuses\n },\n hideStatus () {\n return (this.hideReply || this.deleted) || (this.muted && this.hideFilteredStatuses)\n },\n isFocused () {\n // retweet or root of an expanded conversation\n if (this.focused) {\n return true\n } else if (!this.inConversation) {\n return false\n }\n // use conversation highlight only when in conversation\n return this.status.id === this.highlight\n },\n // This is a bit hacky, but we want to approximate post height before rendering\n // so we count newlines (masto uses <p> for paragraphs, GS uses <br> between them)\n // as well as approximate line count by counting characters and approximating ~80\n // per line.\n //\n // Using max-height + overflow: auto for status components resulted in false positives\n // very often with japanese characters, and it was very annoying.\n tallStatus () {\n const lengthScore = this.status.statusnet_html.split(/<p|<br/).length + this.status.text.length / 80\n return lengthScore > 20\n },\n longSubject () {\n return this.status.summary.length > 900\n },\n isReply () {\n return !!(this.status.in_reply_to_status_id && this.status.in_reply_to_user_id)\n },\n replyToName () {\n if (this.status.in_reply_to_screen_name) {\n return this.status.in_reply_to_screen_name\n } else {\n const user = this.$store.getters.findUser(this.status.in_reply_to_user_id)\n return user && user.screen_name\n }\n },\n hideReply () {\n if (this.mergedConfig.replyVisibility === 'all') {\n return false\n }\n if (this.inConversation || !this.isReply) {\n return false\n }\n if (this.status.user.id === this.currentUser.id) {\n return false\n }\n if (this.status.type === 'retweet') {\n return false\n }\n const checkFollowing = this.mergedConfig.replyVisibility === 'following'\n for (var i = 0; i < this.status.attentions.length; ++i) {\n if (this.status.user.id === this.status.attentions[i].id) {\n continue\n }\n const taggedUser = this.$store.getters.findUser(this.status.attentions[i].id)\n if (checkFollowing && taggedUser && taggedUser.following) {\n return false\n }\n if (this.status.attentions[i].id === this.currentUser.id) {\n return false\n }\n }\n return this.status.attentions.length > 0\n },\n hideSubjectStatus () {\n if (this.tallStatus && !this.localCollapseSubjectDefault) {\n return false\n }\n return !this.expandingSubject && this.status.summary\n },\n hideTallStatus () {\n if (this.status.summary && this.localCollapseSubjectDefault) {\n return false\n }\n if (this.showingTall) {\n return false\n }\n return this.tallStatus\n },\n showingMore () {\n return (this.tallStatus && this.showingTall) || (this.status.summary && this.expandingSubject)\n },\n nsfwClickthrough () {\n if (!this.status.nsfw) {\n return false\n }\n if (this.status.summary && this.localCollapseSubjectDefault) {\n return false\n }\n return true\n },\n replySubject () {\n if (!this.status.summary) return ''\n const decodedSummary = unescape(this.status.summary)\n const behavior = this.mergedConfig.subjectLineBehavior\n const startsWithRe = decodedSummary.match(/^re[: ]/i)\n if ((behavior !== 'noop' && startsWithRe) || behavior === 'masto') {\n return decodedSummary\n } else if (behavior === 'email') {\n return 're: '.concat(decodedSummary)\n } else if (behavior === 'noop') {\n return ''\n }\n },\n attachmentSize () {\n if ((this.mergedConfig.hideAttachments && !this.inConversation) ||\n (this.mergedConfig.hideAttachmentsInConv && this.inConversation) ||\n (this.status.attachments.length > this.maxThumbnails)) {\n return 'hide'\n } else if (this.compact) {\n return 'small'\n }\n return 'normal'\n },\n galleryTypes () {\n if (this.attachmentSize === 'hide') {\n return []\n }\n return this.mergedConfig.playVideosInModal\n ? ['image', 'video']\n : ['image']\n },\n galleryAttachments () {\n return this.status.attachments.filter(\n file => fileType.fileMatchesSomeType(this.galleryTypes, file)\n )\n },\n nonGalleryAttachments () {\n return this.status.attachments.filter(\n file => !fileType.fileMatchesSomeType(this.galleryTypes, file)\n )\n },\n maxThumbnails () {\n return this.mergedConfig.maxThumbnails\n },\n postBodyHtml () {\n const html = this.status.statusnet_html\n\n if (this.mergedConfig.greentext) {\n try {\n if (html.includes('&gt;')) {\n // This checks if post has '>' at the beginning, excluding mentions so that @mention >impying works\n return processHtml(html, (string) => {\n if (string.includes('&gt;') &&\n string\n .replace(/<[^>]+?>/gi, '') // remove all tags\n .replace(/@\\w+/gi, '') // remove mentions (even failed ones)\n .trim()\n .startsWith('&gt;')) {\n return `<span class='greentext'>${string}</span>`\n } else {\n return string\n }\n })\n } else {\n return html\n }\n } catch (e) {\n console.err('Failed to process status html', e)\n return html\n }\n } else {\n return html\n }\n },\n contentHtml () {\n if (!this.status.summary_html) {\n return this.postBodyHtml\n }\n return this.status.summary_html + '<br />' + this.postBodyHtml\n },\n combinedFavsAndRepeatsUsers () {\n // Use the status from the global status repository since favs and repeats are saved in it\n const combinedUsers = [].concat(\n this.statusFromGlobalRepository.favoritedBy,\n this.statusFromGlobalRepository.rebloggedBy\n )\n return uniqBy(combinedUsers, 'id')\n },\n ownStatus () {\n return this.status.user.id === this.currentUser.id\n },\n tags () {\n return this.status.tags.filter(tagObj => tagObj.hasOwnProperty('name')).map(tagObj => tagObj.name).join(' ')\n },\n hidePostStats () {\n return this.mergedConfig.hidePostStats\n },\n ...mapGetters(['mergedConfig']),\n ...mapState({\n betterShadow: state => state.interface.browserSupport.cssFilter,\n currentUser: state => state.users.currentUser\n })\n },\n components: {\n Attachment,\n FavoriteButton,\n RetweetButton,\n ExtraButtons,\n PostStatusForm,\n Poll,\n UserCard,\n UserAvatar,\n Gallery,\n LinkPreview,\n AvatarList,\n Timeago,\n StatusPopover\n },\n methods: {\n visibilityIcon (visibility) {\n switch (visibility) {\n case 'private':\n return 'icon-lock'\n case 'unlisted':\n return 'icon-lock-open-alt'\n case 'direct':\n return 'icon-mail-alt'\n default:\n return 'icon-globe'\n }\n },\n showError (error) {\n this.error = error\n },\n clearError () {\n this.error = undefined\n },\n linkClicked (event) {\n const target = event.target.closest('.status-content a')\n if (target) {\n if (target.className.match(/mention/)) {\n const href = target.href\n const attn = this.status.attentions.find(attn => mentionMatchesUrl(attn, href))\n if (attn) {\n event.stopPropagation()\n event.preventDefault()\n const link = this.generateUserProfileLink(attn.id, attn.screen_name)\n this.$router.push(link)\n return\n }\n }\n if (target.rel.match(/(?:^|\\s)tag(?:$|\\s)/) || target.className.match(/hashtag/)) {\n // Extract tag name from link url\n const tag = extractTagFromUrl(target.href)\n if (tag) {\n const link = this.generateTagLink(tag)\n this.$router.push(link)\n return\n }\n }\n window.open(target.href, '_blank')\n }\n },\n toggleReplying () {\n this.replying = !this.replying\n },\n gotoOriginal (id) {\n if (this.inConversation) {\n this.$emit('goto', id)\n }\n },\n toggleExpanded () {\n this.$emit('toggleExpanded')\n },\n toggleMute () {\n this.unmuted = !this.unmuted\n },\n toggleUserExpanded () {\n this.userExpanded = !this.userExpanded\n },\n toggleShowMore () {\n if (this.showingTall) {\n this.showingTall = false\n } else if (this.expandingSubject && this.status.summary) {\n this.expandingSubject = false\n } else if (this.hideTallStatus) {\n this.showingTall = true\n } else if (this.hideSubjectStatus && this.status.summary) {\n this.expandingSubject = true\n }\n },\n generateUserProfileLink (id, name) {\n return generateProfileLink(id, name, this.$store.state.instance.restrictedNicknames)\n },\n generateTagLink (tag) {\n return `/tag/${tag}`\n },\n setMedia () {\n const attachments = this.attachmentSize === 'hide' ? this.status.attachments : this.galleryAttachments\n return () => this.$store.dispatch('setMedia', attachments)\n }\n },\n watch: {\n 'highlight': function (id) {\n if (this.status.id === id) {\n let rect = this.$el.getBoundingClientRect()\n if (rect.top < 100) {\n // Post is above screen, match its top to screen top\n window.scrollBy(0, rect.top - 100)\n } else if (rect.height >= (window.innerHeight - 50)) {\n // Post we want to see is taller than screen so match its top to screen top\n window.scrollBy(0, rect.top - 100)\n } else if (rect.bottom > window.innerHeight - 50) {\n // Post is below screen, match its bottom to screen bottom\n window.scrollBy(0, rect.bottom - window.innerHeight + 50)\n }\n }\n },\n 'status.repeat_num': function (num) {\n // refetch repeats when repeat_num is changed in any way\n if (this.isFocused && this.statusFromGlobalRepository.rebloggedBy && this.statusFromGlobalRepository.rebloggedBy.length !== num) {\n this.$store.dispatch('fetchRepeats', this.status.id)\n }\n },\n 'status.fave_num': function (num) {\n // refetch favs when fave_num is changed in any way\n if (this.isFocused && this.statusFromGlobalRepository.favoritedBy && this.statusFromGlobalRepository.favoritedBy.length !== num) {\n this.$store.dispatch('fetchFavs', this.status.id)\n }\n }\n },\n filters: {\n capitalize: function (str) {\n return str.charAt(0).toUpperCase() + str.slice(1)\n }\n }\n}\n\nexport default Status\n","import StillImage from '../still-image/still-image.vue'\nimport VideoAttachment from '../video_attachment/video_attachment.vue'\nimport nsfwImage from '../../assets/nsfw.png'\nimport fileTypeService from '../../services/file_type/file_type.service.js'\n\nconst Attachment = {\n props: [\n 'attachment',\n 'nsfw',\n 'statusId',\n 'size',\n 'allowPlay',\n 'setMedia',\n 'naturalSizeLoad'\n ],\n data () {\n return {\n nsfwImage: this.$store.state.instance.nsfwCensorImage || nsfwImage,\n hideNsfwLocal: this.$store.getters.mergedConfig.hideNsfw,\n preloadImage: this.$store.getters.mergedConfig.preloadImage,\n loading: false,\n img: fileTypeService.fileType(this.attachment.mimetype) === 'image' && document.createElement('img'),\n modalOpen: false,\n showHidden: false\n }\n },\n components: {\n StillImage,\n VideoAttachment\n },\n computed: {\n usePlaceHolder () {\n return this.size === 'hide' || this.type === 'unknown'\n },\n referrerpolicy () {\n return this.$store.state.instance.mediaProxyAvailable ? '' : 'no-referrer'\n },\n type () {\n return fileTypeService.fileType(this.attachment.mimetype)\n },\n hidden () {\n return this.nsfw && this.hideNsfwLocal && !this.showHidden\n },\n isEmpty () {\n return (this.type === 'html' && !this.attachment.oembed) || this.type === 'unknown'\n },\n isSmall () {\n return this.size === 'small'\n },\n fullwidth () {\n return this.type === 'html' || this.type === 'audio'\n }\n },\n methods: {\n linkClicked ({ target }) {\n if (target.tagName === 'A') {\n window.open(target.href, '_blank')\n }\n },\n openModal (event) {\n const modalTypes = this.$store.getters.mergedConfig.playVideosInModal\n ? ['image', 'video']\n : ['image']\n if (fileTypeService.fileMatchesSomeType(modalTypes, this.attachment) ||\n this.usePlaceHolder\n ) {\n event.stopPropagation()\n event.preventDefault()\n this.setMedia()\n this.$store.dispatch('setCurrent', this.attachment)\n }\n },\n toggleHidden (event) {\n if (this.$store.getters.mergedConfig.useOneClickNsfw && !this.showHidden) {\n this.openModal(event)\n return\n }\n if (this.img && !this.preloadImage) {\n if (this.img.onload) {\n this.img.onload()\n } else {\n this.loading = true\n this.img.src = this.attachment.url\n this.img.onload = () => {\n this.loading = false\n this.showHidden = !this.showHidden\n }\n }\n } else {\n this.showHidden = !this.showHidden\n }\n },\n onImageLoad (image) {\n const width = image.naturalWidth\n const height = image.naturalHeight\n this.naturalSizeLoad && this.naturalSizeLoad({ width, height })\n }\n }\n}\n\nexport default Attachment\n","const StillImage = {\n props: [\n 'src',\n 'referrerpolicy',\n 'mimetype',\n 'imageLoadError',\n 'imageLoadHandler'\n ],\n data () {\n return {\n stopGifs: this.$store.getters.mergedConfig.stopGifs\n }\n },\n computed: {\n animated () {\n return this.stopGifs && (this.mimetype === 'image/gif' || this.src.endsWith('.gif'))\n }\n },\n methods: {\n onLoad () {\n this.imageLoadHandler && this.imageLoadHandler(this.$refs.src)\n const canvas = this.$refs.canvas\n if (!canvas) return\n const width = this.$refs.src.naturalWidth\n const height = this.$refs.src.naturalHeight\n canvas.width = width\n canvas.height = height\n canvas.getContext('2d').drawImage(this.$refs.src, 0, 0, width, height)\n },\n onError () {\n this.imageLoadError && this.imageLoadError()\n }\n }\n}\n\nexport default StillImage\n","\nconst VideoAttachment = {\n props: ['attachment', 'controls'],\n data () {\n return {\n loopVideo: this.$store.getters.mergedConfig.loopVideo\n }\n },\n methods: {\n onVideoDataLoad (e) {\n const target = e.srcElement || e.target\n if (typeof target.webkitAudioDecodedByteCount !== 'undefined') {\n // non-zero if video has audio track\n if (target.webkitAudioDecodedByteCount > 0) {\n this.loopVideo = this.loopVideo && !this.$store.getters.mergedConfig.loopVideoSilentOnly\n }\n } else if (typeof target.mozHasAudio !== 'undefined') {\n // true if video has audio track\n if (target.mozHasAudio) {\n this.loopVideo = this.loopVideo && !this.$store.getters.mergedConfig.loopVideoSilentOnly\n }\n } else if (typeof target.audioTracks !== 'undefined') {\n if (target.audioTracks.length > 0) {\n this.loopVideo = this.loopVideo && !this.$store.getters.mergedConfig.loopVideoSilentOnly\n }\n }\n }\n }\n}\n\nexport default VideoAttachment\n","import { mapGetters } from 'vuex'\n\nconst FavoriteButton = {\n props: ['status', 'loggedIn'],\n data () {\n return {\n animated: false\n }\n },\n methods: {\n favorite () {\n if (!this.status.favorited) {\n this.$store.dispatch('favorite', { id: this.status.id })\n } else {\n this.$store.dispatch('unfavorite', { id: this.status.id })\n }\n this.animated = true\n setTimeout(() => {\n this.animated = false\n }, 500)\n }\n },\n computed: {\n classes () {\n return {\n 'icon-star-empty': !this.status.favorited,\n 'icon-star': this.status.favorited,\n 'animate-spin': this.animated\n }\n },\n ...mapGetters(['mergedConfig'])\n }\n}\n\nexport default FavoriteButton\n","import { mapGetters } from 'vuex'\n\nconst RetweetButton = {\n props: ['status', 'loggedIn', 'visibility'],\n data () {\n return {\n animated: false\n }\n },\n methods: {\n retweet () {\n if (!this.status.repeated) {\n this.$store.dispatch('retweet', { id: this.status.id })\n } else {\n this.$store.dispatch('unretweet', { id: this.status.id })\n }\n this.animated = true\n setTimeout(() => {\n this.animated = false\n }, 500)\n }\n },\n computed: {\n classes () {\n return {\n 'retweeted': this.status.repeated,\n 'retweeted-empty': !this.status.repeated,\n 'animate-spin': this.animated\n }\n },\n ...mapGetters(['mergedConfig'])\n }\n}\n\nexport default RetweetButton\n","import Timeago from '../timeago/timeago.vue'\nimport { forEach, map } from 'lodash'\n\nexport default {\n name: 'Poll',\n props: ['basePoll'],\n components: { Timeago },\n data () {\n return {\n loading: false,\n choices: []\n }\n },\n created () {\n if (!this.$store.state.polls.pollsObject[this.pollId]) {\n this.$store.dispatch('mergeOrAddPoll', this.basePoll)\n }\n this.$store.dispatch('trackPoll', this.pollId)\n },\n destroyed () {\n this.$store.dispatch('untrackPoll', this.pollId)\n },\n computed: {\n pollId () {\n return this.basePoll.id\n },\n poll () {\n const storePoll = this.$store.state.polls.pollsObject[this.pollId]\n return storePoll || {}\n },\n options () {\n return (this.poll && this.poll.options) || []\n },\n expiresAt () {\n return (this.poll && this.poll.expires_at) || 0\n },\n expired () {\n return (this.poll && this.poll.expired) || false\n },\n loggedIn () {\n return this.$store.state.users.currentUser\n },\n showResults () {\n return this.poll.voted || this.expired || !this.loggedIn\n },\n totalVotesCount () {\n return this.poll.votes_count\n },\n containerClass () {\n return {\n loading: this.loading\n }\n },\n choiceIndices () {\n // Convert array of booleans into an array of indices of the\n // items that were 'true', so [true, false, false, true] becomes\n // [0, 3].\n return this.choices\n .map((entry, index) => entry && index)\n .filter(value => typeof value === 'number')\n },\n isDisabled () {\n const noChoice = this.choiceIndices.length === 0\n return this.loading || noChoice\n }\n },\n methods: {\n percentageForOption (count) {\n return this.totalVotesCount === 0 ? 0 : Math.round(count / this.totalVotesCount * 100)\n },\n resultTitle (option) {\n return `${option.votes_count}/${this.totalVotesCount} ${this.$t('polls.votes')}`\n },\n fetchPoll () {\n this.$store.dispatch('refreshPoll', { id: this.statusId, pollId: this.poll.id })\n },\n activateOption (index) {\n // forgive me father: doing checking the radio/checkboxes\n // in code because of customized input elements need either\n // a) an extra element for the actual graphic, or b) use a\n // pseudo element for the label. We use b) which mandates\n // using \"for\" and \"id\" matching which isn't nice when the\n // same poll appears multiple times on the site (notifs and\n // timeline for example). With code we can make sure it just\n // works without altering the pseudo element implementation.\n const allElements = this.$el.querySelectorAll('input')\n const clickedElement = this.$el.querySelector(`input[value=\"${index}\"]`)\n if (this.poll.multiple) {\n // Checkboxes, toggle only the clicked one\n clickedElement.checked = !clickedElement.checked\n } else {\n // Radio button, uncheck everything and check the clicked one\n forEach(allElements, element => { element.checked = false })\n clickedElement.checked = true\n }\n this.choices = map(allElements, e => e.checked)\n },\n optionId (index) {\n return `poll${this.poll.id}-${index}`\n },\n vote () {\n if (this.choiceIndices.length === 0) return\n this.loading = true\n this.$store.dispatch(\n 'votePoll',\n { id: this.statusId, pollId: this.poll.id, choices: this.choiceIndices }\n ).then(poll => {\n this.loading = false\n })\n }\n }\n}\n","<template>\n <time\n :datetime=\"time\"\n :title=\"localeDateString\"\n >\n {{ $t(relativeTime.key, [relativeTime.num]) }}\n </time>\n</template>\n\n<script>\nimport * as DateUtils from 'src/services/date_utils/date_utils.js'\n\nexport default {\n name: 'Timeago',\n props: ['time', 'autoUpdate', 'longFormat', 'nowThreshold'],\n data () {\n return {\n relativeTime: { key: 'time.now', num: 0 },\n interval: null\n }\n },\n computed: {\n localeDateString () {\n return typeof this.time === 'string'\n ? new Date(Date.parse(this.time)).toLocaleString()\n : this.time.toLocaleString()\n }\n },\n created () {\n this.refreshRelativeTimeObject()\n },\n destroyed () {\n clearTimeout(this.interval)\n },\n methods: {\n refreshRelativeTimeObject () {\n const nowThreshold = typeof this.nowThreshold === 'number' ? this.nowThreshold : 1\n this.relativeTime = this.longFormat\n ? DateUtils.relativeTime(this.time, nowThreshold)\n : DateUtils.relativeTimeShort(this.time, nowThreshold)\n\n if (this.autoUpdate) {\n this.interval = setTimeout(\n this.refreshRelativeTimeObject,\n 1000 * this.autoUpdate\n )\n }\n }\n }\n}\n</script>\n","const ExtraButtons = {\n props: [ 'status' ],\n methods: {\n deleteStatus () {\n const confirmed = window.confirm(this.$t('status.delete_confirm'))\n if (confirmed) {\n this.$store.dispatch('deleteStatus', { id: this.status.id })\n }\n },\n pinStatus () {\n this.$store.dispatch('pinStatus', this.status.id)\n .then(() => this.$emit('onSuccess'))\n .catch(err => this.$emit('onError', err.error.error))\n },\n unpinStatus () {\n this.$store.dispatch('unpinStatus', this.status.id)\n .then(() => this.$emit('onSuccess'))\n .catch(err => this.$emit('onError', err.error.error))\n },\n muteConversation () {\n this.$store.dispatch('muteConversation', this.status.id)\n .then(() => this.$emit('onSuccess'))\n .catch(err => this.$emit('onError', err.error.error))\n },\n unmuteConversation () {\n this.$store.dispatch('unmuteConversation', this.status.id)\n .then(() => this.$emit('onSuccess'))\n .catch(err => this.$emit('onError', err.error.error))\n }\n },\n computed: {\n currentUser () { return this.$store.state.users.currentUser },\n canDelete () {\n if (!this.currentUser) { return }\n const superuser = this.currentUser.rights.moderator || this.currentUser.rights.admin\n return superuser || this.status.user.id === this.currentUser.id\n },\n ownStatus () {\n return this.status.user.id === this.currentUser.id\n },\n canPin () {\n return this.ownStatus && (this.status.visibility === 'public' || this.status.visibility === 'unlisted')\n },\n canMute () {\n return !!this.currentUser\n }\n }\n}\n\nexport default ExtraButtons\n","import statusPoster from '../../services/status_poster/status_poster.service.js'\nimport MediaUpload from '../media_upload/media_upload.vue'\nimport ScopeSelector from '../scope_selector/scope_selector.vue'\nimport EmojiInput from '../emoji_input/emoji_input.vue'\nimport PollForm from '../poll/poll_form.vue'\nimport fileTypeService from '../../services/file_type/file_type.service.js'\nimport { findOffset } from '../../services/offset_finder/offset_finder.service.js'\nimport { reject, map, uniqBy } from 'lodash'\nimport suggestor from '../emoji_input/suggestor.js'\nimport { mapGetters } from 'vuex'\nimport Checkbox from '../checkbox/checkbox.vue'\n\nconst buildMentionsString = ({ user, attentions = [] }, currentUser) => {\n let allAttentions = [...attentions]\n\n allAttentions.unshift(user)\n\n allAttentions = uniqBy(allAttentions, 'id')\n allAttentions = reject(allAttentions, { id: currentUser.id })\n\n let mentions = map(allAttentions, (attention) => {\n return `@${attention.screen_name}`\n })\n\n return mentions.length > 0 ? mentions.join(' ') + ' ' : ''\n}\n\nconst PostStatusForm = {\n props: [\n 'replyTo',\n 'repliedUser',\n 'attentions',\n 'copyMessageScope',\n 'subject'\n ],\n components: {\n MediaUpload,\n EmojiInput,\n PollForm,\n ScopeSelector,\n Checkbox\n },\n mounted () {\n this.resize(this.$refs.textarea)\n const textLength = this.$refs.textarea.value.length\n this.$refs.textarea.setSelectionRange(textLength, textLength)\n\n if (this.replyTo) {\n this.$refs.textarea.focus()\n }\n },\n data () {\n const preset = this.$route.query.message\n let statusText = preset || ''\n\n const { scopeCopy } = this.$store.getters.mergedConfig\n\n if (this.replyTo) {\n const currentUser = this.$store.state.users.currentUser\n statusText = buildMentionsString({ user: this.repliedUser, attentions: this.attentions }, currentUser)\n }\n\n const scope = ((this.copyMessageScope && scopeCopy) || this.copyMessageScope === 'direct')\n ? this.copyMessageScope\n : this.$store.state.users.currentUser.default_scope\n\n const { postContentType: contentType } = this.$store.getters.mergedConfig\n\n return {\n dropFiles: [],\n submitDisabled: false,\n error: null,\n posting: false,\n highlighted: 0,\n newStatus: {\n spoilerText: this.subject || '',\n status: statusText,\n nsfw: false,\n files: [],\n poll: {},\n visibility: scope,\n contentType\n },\n caret: 0,\n pollFormVisible: false\n }\n },\n computed: {\n users () {\n return this.$store.state.users.users\n },\n userDefaultScope () {\n return this.$store.state.users.currentUser.default_scope\n },\n showAllScopes () {\n return !this.mergedConfig.minimalScopesMode\n },\n emojiUserSuggestor () {\n return suggestor({\n emoji: [\n ...this.$store.state.instance.emoji,\n ...this.$store.state.instance.customEmoji\n ],\n users: this.$store.state.users.users,\n updateUsersList: (input) => this.$store.dispatch('searchUsers', input)\n })\n },\n emojiSuggestor () {\n return suggestor({\n emoji: [\n ...this.$store.state.instance.emoji,\n ...this.$store.state.instance.customEmoji\n ]\n })\n },\n emoji () {\n return this.$store.state.instance.emoji || []\n },\n customEmoji () {\n return this.$store.state.instance.customEmoji || []\n },\n statusLength () {\n return this.newStatus.status.length\n },\n spoilerTextLength () {\n return this.newStatus.spoilerText.length\n },\n statusLengthLimit () {\n return this.$store.state.instance.textlimit\n },\n hasStatusLengthLimit () {\n return this.statusLengthLimit > 0\n },\n charactersLeft () {\n return this.statusLengthLimit - (this.statusLength + this.spoilerTextLength)\n },\n isOverLengthLimit () {\n return this.hasStatusLengthLimit && (this.charactersLeft < 0)\n },\n minimalScopesMode () {\n return this.$store.state.instance.minimalScopesMode\n },\n alwaysShowSubject () {\n return this.mergedConfig.alwaysShowSubjectInput\n },\n postFormats () {\n return this.$store.state.instance.postFormats || []\n },\n safeDMEnabled () {\n return this.$store.state.instance.safeDM\n },\n pollsAvailable () {\n return this.$store.state.instance.pollsAvailable &&\n this.$store.state.instance.pollLimits.max_options >= 2\n },\n hideScopeNotice () {\n return this.$store.getters.mergedConfig.hideScopeNotice\n },\n pollContentError () {\n return this.pollFormVisible &&\n this.newStatus.poll &&\n this.newStatus.poll.error\n },\n ...mapGetters(['mergedConfig'])\n },\n methods: {\n postStatus (newStatus) {\n if (this.posting) { return }\n if (this.submitDisabled) { return }\n\n if (this.newStatus.status === '') {\n if (this.newStatus.files.length > 0) {\n this.newStatus.status = '\\u200b' // hack\n } else {\n this.error = 'Cannot post an empty status with no files'\n return\n }\n }\n\n const poll = this.pollFormVisible ? this.newStatus.poll : {}\n if (this.pollContentError) {\n this.error = this.pollContentError\n return\n }\n\n this.posting = true\n statusPoster.postStatus({\n status: newStatus.status,\n spoilerText: newStatus.spoilerText || null,\n visibility: newStatus.visibility,\n sensitive: newStatus.nsfw,\n media: newStatus.files,\n store: this.$store,\n inReplyToStatusId: this.replyTo,\n contentType: newStatus.contentType,\n poll\n }).then((data) => {\n if (!data.error) {\n this.newStatus = {\n status: '',\n spoilerText: '',\n files: [],\n visibility: newStatus.visibility,\n contentType: newStatus.contentType,\n poll: {}\n }\n this.pollFormVisible = false\n this.$refs.mediaUpload.clearFile()\n this.clearPollForm()\n this.$emit('posted')\n let el = this.$el.querySelector('textarea')\n el.style.height = 'auto'\n el.style.height = undefined\n this.error = null\n } else {\n this.error = data.error\n }\n this.posting = false\n })\n },\n addMediaFile (fileInfo) {\n this.newStatus.files.push(fileInfo)\n this.enableSubmit()\n },\n removeMediaFile (fileInfo) {\n let index = this.newStatus.files.indexOf(fileInfo)\n this.newStatus.files.splice(index, 1)\n },\n uploadFailed (errString, templateArgs) {\n templateArgs = templateArgs || {}\n this.error = this.$t('upload.error.base') + ' ' + this.$t('upload.error.' + errString, templateArgs)\n this.enableSubmit()\n },\n disableSubmit () {\n this.submitDisabled = true\n },\n enableSubmit () {\n this.submitDisabled = false\n },\n type (fileInfo) {\n return fileTypeService.fileType(fileInfo.mimetype)\n },\n paste (e) {\n this.resize(e)\n if (e.clipboardData.files.length > 0) {\n // prevent pasting of file as text\n e.preventDefault()\n // Strangely, files property gets emptied after event propagation\n // Trying to wrap it in array doesn't work. Plus I doubt it's possible\n // to hold more than one file in clipboard.\n this.dropFiles = [e.clipboardData.files[0]]\n }\n },\n fileDrop (e) {\n if (e.dataTransfer.files.length > 0) {\n e.preventDefault() // allow dropping text like before\n this.dropFiles = e.dataTransfer.files\n }\n },\n fileDrag (e) {\n e.dataTransfer.dropEffect = 'copy'\n },\n onEmojiInputInput (e) {\n this.$nextTick(() => {\n this.resize(this.$refs['textarea'])\n })\n },\n resize (e) {\n const target = e.target || e\n if (!(target instanceof window.Element)) { return }\n\n // Reset to default height for empty form, nothing else to do here.\n if (target.value === '') {\n target.style.height = null\n this.$refs['emoji-input'].resize()\n return\n }\n\n const formRef = this.$refs['form']\n const bottomRef = this.$refs['bottom']\n /* Scroller is either `window` (replies in TL), sidebar (main post form,\n * replies in notifs) or mobile post form. Note that getting and setting\n * scroll is different for `Window` and `Element`s\n */\n const bottomBottomPaddingStr = window.getComputedStyle(bottomRef)['padding-bottom']\n const bottomBottomPadding = Number(bottomBottomPaddingStr.substring(0, bottomBottomPaddingStr.length - 2))\n\n const scrollerRef = this.$el.closest('.sidebar-scroller') ||\n this.$el.closest('.post-form-modal-view') ||\n window\n\n // Getting info about padding we have to account for, removing 'px' part\n const topPaddingStr = window.getComputedStyle(target)['padding-top']\n const bottomPaddingStr = window.getComputedStyle(target)['padding-bottom']\n const topPadding = Number(topPaddingStr.substring(0, topPaddingStr.length - 2))\n const bottomPadding = Number(bottomPaddingStr.substring(0, bottomPaddingStr.length - 2))\n const vertPadding = topPadding + bottomPadding\n\n /* Explanation:\n *\n * https://developer.mozilla.org/en-US/docs/Web/API/Element/scrollHeight\n * scrollHeight returns element's scrollable content height, i.e. visible\n * element + overscrolled parts of it. We use it to determine when text\n * inside the textarea exceeded its height, so we can set height to prevent\n * overscroll, i.e. make textarea grow with the text. HOWEVER, since we\n * explicitly set new height, scrollHeight won't go below that, so we can't\n * SHRINK the textarea when there's extra space. To workaround that we set\n * height to 'auto' which makes textarea tiny again, so that scrollHeight\n * will match text height again. HOWEVER, shrinking textarea can screw with\n * the scroll since there might be not enough padding around form-bottom to even\n * warrant a scroll, so it will jump to 0 and refuse to move anywhere,\n * so we check current scroll position before shrinking and then restore it\n * with needed delta.\n */\n\n // this part has to be BEFORE the content size update\n const currentScroll = scrollerRef === window\n ? scrollerRef.scrollY\n : scrollerRef.scrollTop\n const scrollerHeight = scrollerRef === window\n ? scrollerRef.innerHeight\n : scrollerRef.offsetHeight\n const scrollerBottomBorder = currentScroll + scrollerHeight\n\n // BEGIN content size update\n target.style.height = 'auto'\n const newHeight = target.scrollHeight - vertPadding\n target.style.height = `${newHeight}px`\n // END content size update\n\n // We check where the bottom border of form-bottom element is, this uses findOffset\n // to find offset relative to scrollable container (scroller)\n const bottomBottomBorder = bottomRef.offsetHeight + findOffset(bottomRef, scrollerRef).top + bottomBottomPadding\n\n const isBottomObstructed = scrollerBottomBorder < bottomBottomBorder\n const isFormBiggerThanScroller = scrollerHeight < formRef.offsetHeight\n const bottomChangeDelta = bottomBottomBorder - scrollerBottomBorder\n // The intention is basically this;\n // Keep form-bottom always visible so that submit button is in view EXCEPT\n // if form element bigger than scroller and caret isn't at the end, so that\n // if you scroll up and edit middle of text you won't get scrolled back to bottom\n const shouldScrollToBottom = isBottomObstructed &&\n !(isFormBiggerThanScroller &&\n this.$refs.textarea.selectionStart !== this.$refs.textarea.value.length)\n const totalDelta = shouldScrollToBottom ? bottomChangeDelta : 0\n const targetScroll = currentScroll + totalDelta\n\n if (scrollerRef === window) {\n scrollerRef.scroll(0, targetScroll)\n } else {\n scrollerRef.scrollTop = targetScroll\n }\n\n this.$refs['emoji-input'].resize()\n },\n showEmojiPicker () {\n this.$refs['textarea'].focus()\n this.$refs['emoji-input'].triggerShowPicker()\n },\n clearError () {\n this.error = null\n },\n changeVis (visibility) {\n this.newStatus.visibility = visibility\n },\n togglePollForm () {\n this.pollFormVisible = !this.pollFormVisible\n },\n setPoll (poll) {\n this.newStatus.poll = poll\n },\n clearPollForm () {\n if (this.$refs.pollForm) {\n this.$refs.pollForm.clear()\n }\n },\n dismissScopeNotice () {\n this.$store.dispatch('setOption', { name: 'hideScopeNotice', value: true })\n }\n }\n}\n\nexport default PostStatusForm\n","/* eslint-env browser */\nimport statusPosterService from '../../services/status_poster/status_poster.service.js'\nimport fileSizeFormatService from '../../services/file_size_format/file_size_format.js'\n\nconst mediaUpload = {\n data () {\n return {\n uploading: false,\n uploadReady: true\n }\n },\n methods: {\n uploadFile (file) {\n const self = this\n const store = this.$store\n if (file.size > store.state.instance.uploadlimit) {\n const filesize = fileSizeFormatService.fileSizeFormat(file.size)\n const allowedsize = fileSizeFormatService.fileSizeFormat(store.state.instance.uploadlimit)\n self.$emit('upload-failed', 'file_too_big', { filesize: filesize.num, filesizeunit: filesize.unit, allowedsize: allowedsize.num, allowedsizeunit: allowedsize.unit })\n return\n }\n const formData = new FormData()\n formData.append('file', file)\n\n self.$emit('uploading')\n self.uploading = true\n\n statusPosterService.uploadMedia({ store, formData })\n .then((fileData) => {\n self.$emit('uploaded', fileData)\n self.uploading = false\n }, (error) => { // eslint-disable-line handle-callback-err\n self.$emit('upload-failed', 'default')\n self.uploading = false\n })\n },\n fileDrop (e) {\n if (e.dataTransfer.files.length > 0) {\n e.preventDefault() // allow dropping text like before\n this.uploadFile(e.dataTransfer.files[0])\n }\n },\n fileDrag (e) {\n let types = e.dataTransfer.types\n if (types.contains('Files')) {\n e.dataTransfer.dropEffect = 'copy'\n } else {\n e.dataTransfer.dropEffect = 'none'\n }\n },\n clearFile () {\n this.uploadReady = false\n this.$nextTick(() => {\n this.uploadReady = true\n })\n },\n change ({ target }) {\n for (var i = 0; i < target.files.length; i++) {\n let file = target.files[i]\n this.uploadFile(file)\n }\n }\n },\n props: [\n 'dropFiles'\n ],\n watch: {\n 'dropFiles': function (fileInfos) {\n if (!this.uploading) {\n this.uploadFile(fileInfos[0])\n }\n }\n }\n}\n\nexport default mediaUpload\n","const ScopeSelector = {\n props: [\n 'showAll',\n 'userDefault',\n 'originalScope',\n 'initialScope',\n 'onScopeChange'\n ],\n data () {\n return {\n currentScope: this.initialScope\n }\n },\n computed: {\n showNothing () {\n return !this.showPublic && !this.showUnlisted && !this.showPrivate && !this.showDirect\n },\n showPublic () {\n return this.originalScope !== 'direct' && this.shouldShow('public')\n },\n showUnlisted () {\n return this.originalScope !== 'direct' && this.shouldShow('unlisted')\n },\n showPrivate () {\n return this.originalScope !== 'direct' && this.shouldShow('private')\n },\n showDirect () {\n return this.shouldShow('direct')\n },\n css () {\n return {\n public: { selected: this.currentScope === 'public' },\n unlisted: { selected: this.currentScope === 'unlisted' },\n private: { selected: this.currentScope === 'private' },\n direct: { selected: this.currentScope === 'direct' }\n }\n }\n },\n methods: {\n shouldShow (scope) {\n return this.showAll ||\n this.currentScope === scope ||\n this.originalScope === scope ||\n this.userDefault === scope ||\n scope === 'direct'\n },\n changeVis (scope) {\n this.currentScope = scope\n this.onScopeChange && this.onScopeChange(scope)\n }\n }\n}\n\nexport default ScopeSelector\n","import Completion from '../../services/completion/completion.js'\nimport EmojiPicker from '../emoji_picker/emoji_picker.vue'\nimport { take } from 'lodash'\nimport { findOffset } from '../../services/offset_finder/offset_finder.service.js'\n\n/**\n * EmojiInput - augmented inputs for emoji and autocomplete support in inputs\n * without having to give up the comfort of <input/> and <textarea/> elements\n *\n * Intended usage is:\n * <EmojiInput v-model=\"something\">\n * <input v-model=\"something\"/>\n * </EmojiInput>\n *\n * Works only with <input> and <textarea>. Intended to use with only one nested\n * input. It will find first input or textarea and work with that, multiple\n * nested children not tested. You HAVE TO duplicate v-model for both\n * <emoji-input> and <input>/<textarea> otherwise it will not work.\n *\n * Be prepared for CSS troubles though because it still wraps component in a div\n * while TRYING to make it look like nothing happened, but it could break stuff.\n */\n\nconst EmojiInput = {\n props: {\n suggest: {\n /**\n * suggest: function (input: String) => Suggestion[]\n *\n * Function that takes input string which takes string (textAtCaret)\n * and returns an array of Suggestions\n *\n * Suggestion is an object containing following properties:\n * displayText: string. Main display text, what actual suggestion\n * represents (user's screen name/emoji shortcode)\n * replacement: string. Text that should replace the textAtCaret\n * detailText: string, optional. Subtitle text, providing additional info\n * if present (user's nickname)\n * imageUrl: string, optional. Image to display alongside with suggestion,\n * currently if no image is provided, replacement will be used (for\n * unicode emojis)\n *\n * TODO: make it asynchronous when adding proper server-provided user\n * suggestions\n *\n * For commonly used suggestors (emoji, users, both) use suggestor.js\n */\n required: true,\n type: Function\n },\n value: {\n /**\n * Used for v-model\n */\n required: true,\n type: String\n },\n enableEmojiPicker: {\n /**\n * Enables emoji picker support, this implies that custom emoji are supported\n */\n required: false,\n type: Boolean,\n default: false\n },\n hideEmojiButton: {\n /**\n * intended to use with external picker trigger, i.e. you have a button outside\n * input that will open up the picker, see triggerShowPicker()\n */\n required: false,\n type: Boolean,\n default: false\n },\n enableStickerPicker: {\n /**\n * Enables sticker picker support, only makes sense when enableEmojiPicker=true\n */\n required: false,\n type: Boolean,\n default: false\n }\n },\n data () {\n return {\n input: undefined,\n highlighted: 0,\n caret: 0,\n focused: false,\n blurTimeout: null,\n showPicker: false,\n temporarilyHideSuggestions: false,\n keepOpen: false,\n disableClickOutside: false\n }\n },\n components: {\n EmojiPicker\n },\n computed: {\n padEmoji () {\n return this.$store.getters.mergedConfig.padEmoji\n },\n suggestions () {\n const firstchar = this.textAtCaret.charAt(0)\n if (this.textAtCaret === firstchar) { return [] }\n const matchedSuggestions = this.suggest(this.textAtCaret)\n if (matchedSuggestions.length <= 0) {\n return []\n }\n return take(matchedSuggestions, 5)\n .map(({ imageUrl, ...rest }, index) => ({\n ...rest,\n // eslint-disable-next-line camelcase\n img: imageUrl || '',\n highlighted: index === this.highlighted\n }))\n },\n showSuggestions () {\n return this.focused &&\n this.suggestions &&\n this.suggestions.length > 0 &&\n !this.showPicker &&\n !this.temporarilyHideSuggestions\n },\n textAtCaret () {\n return (this.wordAtCaret || {}).word || ''\n },\n wordAtCaret () {\n if (this.value && this.caret) {\n const word = Completion.wordAtPosition(this.value, this.caret - 1) || {}\n return word\n }\n }\n },\n mounted () {\n const slots = this.$slots.default\n if (!slots || slots.length === 0) return\n const input = slots.find(slot => ['input', 'textarea'].includes(slot.tag))\n if (!input) return\n this.input = input\n this.resize()\n input.elm.addEventListener('blur', this.onBlur)\n input.elm.addEventListener('focus', this.onFocus)\n input.elm.addEventListener('paste', this.onPaste)\n input.elm.addEventListener('keyup', this.onKeyUp)\n input.elm.addEventListener('keydown', this.onKeyDown)\n input.elm.addEventListener('click', this.onClickInput)\n input.elm.addEventListener('transitionend', this.onTransition)\n input.elm.addEventListener('compositionupdate', this.onCompositionUpdate)\n },\n unmounted () {\n const { input } = this\n if (input) {\n input.elm.removeEventListener('blur', this.onBlur)\n input.elm.removeEventListener('focus', this.onFocus)\n input.elm.removeEventListener('paste', this.onPaste)\n input.elm.removeEventListener('keyup', this.onKeyUp)\n input.elm.removeEventListener('keydown', this.onKeyDown)\n input.elm.removeEventListener('click', this.onClickInput)\n input.elm.removeEventListener('transitionend', this.onTransition)\n input.elm.removeEventListener('compositionupdate', this.onCompositionUpdate)\n }\n },\n methods: {\n triggerShowPicker () {\n this.showPicker = true\n this.$refs.picker.startEmojiLoad()\n this.$nextTick(() => {\n this.scrollIntoView()\n })\n // This temporarily disables \"click outside\" handler\n // since external trigger also means click originates\n // from outside, thus preventing picker from opening\n this.disableClickOutside = true\n setTimeout(() => {\n this.disableClickOutside = false\n }, 0)\n },\n togglePicker () {\n this.input.elm.focus()\n this.showPicker = !this.showPicker\n if (this.showPicker) {\n this.scrollIntoView()\n this.$refs.picker.startEmojiLoad()\n }\n },\n replace (replacement) {\n const newValue = Completion.replaceWord(this.value, this.wordAtCaret, replacement)\n this.$emit('input', newValue)\n this.caret = 0\n },\n insert ({ insertion, keepOpen }) {\n const before = this.value.substring(0, this.caret) || ''\n const after = this.value.substring(this.caret) || ''\n\n /* Using a bit more smart approach to padding emojis with spaces:\n * - put a space before cursor if there isn't one already, unless we\n * are at the beginning of post or in spam mode\n * - put a space after emoji if there isn't one already unless we are\n * in spam mode\n *\n * The idea is that when you put a cursor somewhere in between sentence\n * inserting just ' :emoji: ' will add more spaces to post which might\n * break the flow/spacing, as well as the case where user ends sentence\n * with a space before adding emoji.\n *\n * Spam mode is intended for creating multi-part emojis and overall spamming\n * them, masto seem to be rendering :emoji::emoji: correctly now so why not\n */\n const isSpaceRegex = /\\s/\n const spaceBefore = !isSpaceRegex.exec(before.slice(-1)) && before.length && this.padEmoji > 0 ? ' ' : ''\n const spaceAfter = !isSpaceRegex.exec(after[0]) && this.padEmoji ? ' ' : ''\n\n const newValue = [\n before,\n spaceBefore,\n insertion,\n spaceAfter,\n after\n ].join('')\n this.keepOpen = keepOpen\n this.$emit('input', newValue)\n const position = this.caret + (insertion + spaceAfter + spaceBefore).length\n if (!keepOpen) {\n this.input.elm.focus()\n }\n\n this.$nextTick(function () {\n // Re-focus inputbox after clicking suggestion\n // Set selection right after the replacement instead of the very end\n this.input.elm.setSelectionRange(position, position)\n this.caret = position\n })\n },\n replaceText (e, suggestion) {\n const len = this.suggestions.length || 0\n if (this.textAtCaret.length === 1) { return }\n if (len > 0 || suggestion) {\n const chosenSuggestion = suggestion || this.suggestions[this.highlighted]\n const replacement = chosenSuggestion.replacement\n const newValue = Completion.replaceWord(this.value, this.wordAtCaret, replacement)\n this.$emit('input', newValue)\n this.highlighted = 0\n const position = this.wordAtCaret.start + replacement.length\n\n this.$nextTick(function () {\n // Re-focus inputbox after clicking suggestion\n this.input.elm.focus()\n // Set selection right after the replacement instead of the very end\n this.input.elm.setSelectionRange(position, position)\n this.caret = position\n })\n e.preventDefault()\n }\n },\n cycleBackward (e) {\n const len = this.suggestions.length || 0\n if (len > 1) {\n this.highlighted -= 1\n if (this.highlighted < 0) {\n this.highlighted = this.suggestions.length - 1\n }\n e.preventDefault()\n } else {\n this.highlighted = 0\n }\n },\n cycleForward (e) {\n const len = this.suggestions.length || 0\n if (len > 1) {\n this.highlighted += 1\n if (this.highlighted >= len) {\n this.highlighted = 0\n }\n e.preventDefault()\n } else {\n this.highlighted = 0\n }\n },\n scrollIntoView () {\n const rootRef = this.$refs['picker'].$el\n /* Scroller is either `window` (replies in TL), sidebar (main post form,\n * replies in notifs) or mobile post form. Note that getting and setting\n * scroll is different for `Window` and `Element`s\n */\n const scrollerRef = this.$el.closest('.sidebar-scroller') ||\n this.$el.closest('.post-form-modal-view') ||\n window\n const currentScroll = scrollerRef === window\n ? scrollerRef.scrollY\n : scrollerRef.scrollTop\n const scrollerHeight = scrollerRef === window\n ? scrollerRef.innerHeight\n : scrollerRef.offsetHeight\n\n const scrollerBottomBorder = currentScroll + scrollerHeight\n // We check where the bottom border of root element is, this uses findOffset\n // to find offset relative to scrollable container (scroller)\n const rootBottomBorder = rootRef.offsetHeight + findOffset(rootRef, scrollerRef).top\n\n const bottomDelta = Math.max(0, rootBottomBorder - scrollerBottomBorder)\n // could also check top delta but there's no case for it\n const targetScroll = currentScroll + bottomDelta\n\n if (scrollerRef === window) {\n scrollerRef.scroll(0, targetScroll)\n } else {\n scrollerRef.scrollTop = targetScroll\n }\n\n this.$nextTick(() => {\n const { offsetHeight } = this.input.elm\n const { picker } = this.$refs\n const pickerBottom = picker.$el.getBoundingClientRect().bottom\n if (pickerBottom > window.innerHeight) {\n picker.$el.style.top = 'auto'\n picker.$el.style.bottom = offsetHeight + 'px'\n }\n })\n },\n onTransition (e) {\n this.resize()\n },\n onBlur (e) {\n // Clicking on any suggestion removes focus from autocomplete,\n // preventing click handler ever executing.\n this.blurTimeout = setTimeout(() => {\n this.focused = false\n this.setCaret(e)\n this.resize()\n }, 200)\n },\n onClick (e, suggestion) {\n this.replaceText(e, suggestion)\n },\n onFocus (e) {\n if (this.blurTimeout) {\n clearTimeout(this.blurTimeout)\n this.blurTimeout = null\n }\n\n if (!this.keepOpen) {\n this.showPicker = false\n }\n this.focused = true\n this.setCaret(e)\n this.resize()\n this.temporarilyHideSuggestions = false\n },\n onKeyUp (e) {\n const { key } = e\n this.setCaret(e)\n this.resize()\n\n // Setting hider in keyUp to prevent suggestions from blinking\n // when moving away from suggested spot\n if (key === 'Escape') {\n this.temporarilyHideSuggestions = true\n } else {\n this.temporarilyHideSuggestions = false\n }\n },\n onPaste (e) {\n this.setCaret(e)\n this.resize()\n },\n onKeyDown (e) {\n const { ctrlKey, shiftKey, key } = e\n // Disable suggestions hotkeys if suggestions are hidden\n if (!this.temporarilyHideSuggestions) {\n if (key === 'Tab') {\n if (shiftKey) {\n this.cycleBackward(e)\n } else {\n this.cycleForward(e)\n }\n }\n if (key === 'ArrowUp') {\n this.cycleBackward(e)\n } else if (key === 'ArrowDown') {\n this.cycleForward(e)\n }\n if (key === 'Enter') {\n if (!ctrlKey) {\n this.replaceText(e)\n }\n }\n }\n // Probably add optional keyboard controls for emoji picker?\n\n // Escape hides suggestions, if suggestions are hidden it\n // de-focuses the element (i.e. default browser behavior)\n if (key === 'Escape') {\n if (!this.temporarilyHideSuggestions) {\n this.input.elm.focus()\n }\n }\n\n this.showPicker = false\n this.resize()\n },\n onInput (e) {\n this.showPicker = false\n this.setCaret(e)\n this.resize()\n this.$emit('input', e.target.value)\n },\n onCompositionUpdate (e) {\n this.showPicker = false\n this.setCaret(e)\n this.resize()\n this.$emit('input', e.target.value)\n },\n onClickInput (e) {\n this.showPicker = false\n },\n onClickOutside (e) {\n if (this.disableClickOutside) return\n this.showPicker = false\n },\n onStickerUploaded (e) {\n this.showPicker = false\n this.$emit('sticker-uploaded', e)\n },\n onStickerUploadFailed (e) {\n this.showPicker = false\n this.$emit('sticker-upload-Failed', e)\n },\n setCaret ({ target: { selectionStart } }) {\n this.caret = selectionStart\n },\n resize () {\n const { panel, picker } = this.$refs\n if (!panel) return\n const { offsetHeight, offsetTop } = this.input.elm\n const offsetBottom = offsetTop + offsetHeight\n\n panel.style.top = offsetBottom + 'px'\n picker.$el.style.top = offsetBottom + 'px'\n picker.$el.style.bottom = 'auto'\n }\n }\n}\n\nexport default EmojiInput\n","import Checkbox from '../checkbox/checkbox.vue'\n\n// At widest, approximately 20 emoji are visible in a row,\n// loading 3 rows, could be overkill for narrow picker\nconst LOAD_EMOJI_BY = 60\n\n// When to start loading new batch emoji, in pixels\nconst LOAD_EMOJI_MARGIN = 64\n\nconst filterByKeyword = (list, keyword = '') => {\n return list.filter(x => x.displayText.includes(keyword))\n}\n\nconst EmojiPicker = {\n props: {\n enableStickerPicker: {\n required: false,\n type: Boolean,\n default: false\n }\n },\n data () {\n return {\n keyword: '',\n activeGroup: 'custom',\n showingStickers: false,\n groupsScrolledClass: 'scrolled-top',\n keepOpen: false,\n customEmojiBufferSlice: LOAD_EMOJI_BY,\n customEmojiTimeout: null,\n customEmojiLoadAllConfirmed: false\n }\n },\n components: {\n StickerPicker: () => import('../sticker_picker/sticker_picker.vue'),\n Checkbox\n },\n methods: {\n onStickerUploaded (e) {\n this.$emit('sticker-uploaded', e)\n },\n onStickerUploadFailed (e) {\n this.$emit('sticker-upload-failed', e)\n },\n onEmoji (emoji) {\n const value = emoji.imageUrl ? `:${emoji.displayText}:` : emoji.replacement\n this.$emit('emoji', { insertion: value, keepOpen: this.keepOpen })\n },\n onScroll (e) {\n const target = (e && e.target) || this.$refs['emoji-groups']\n this.updateScrolledClass(target)\n this.scrolledGroup(target)\n this.triggerLoadMore(target)\n },\n highlight (key) {\n const ref = this.$refs['group-' + key]\n const top = ref[0].offsetTop\n this.setShowStickers(false)\n this.activeGroup = key\n this.$nextTick(() => {\n this.$refs['emoji-groups'].scrollTop = top + 1\n })\n },\n updateScrolledClass (target) {\n if (target.scrollTop <= 5) {\n this.groupsScrolledClass = 'scrolled-top'\n } else if (target.scrollTop >= target.scrollTopMax - 5) {\n this.groupsScrolledClass = 'scrolled-bottom'\n } else {\n this.groupsScrolledClass = 'scrolled-middle'\n }\n },\n triggerLoadMore (target) {\n const ref = this.$refs['group-end-custom'][0]\n if (!ref) return\n const bottom = ref.offsetTop + ref.offsetHeight\n\n const scrollerBottom = target.scrollTop + target.clientHeight\n const scrollerTop = target.scrollTop\n const scrollerMax = target.scrollHeight\n\n // Loads more emoji when they come into view\n const approachingBottom = bottom - scrollerBottom < LOAD_EMOJI_MARGIN\n // Always load when at the very top in case there's no scroll space yet\n const atTop = scrollerTop < 5\n // Don't load when looking at unicode category or at the very bottom\n const bottomAboveViewport = bottom < scrollerTop || scrollerBottom === scrollerMax\n if (!bottomAboveViewport && (approachingBottom || atTop)) {\n this.loadEmoji()\n }\n },\n scrolledGroup (target) {\n const top = target.scrollTop + 5\n this.$nextTick(() => {\n this.emojisView.forEach(group => {\n const ref = this.$refs['group-' + group.id]\n if (ref[0].offsetTop <= top) {\n this.activeGroup = group.id\n }\n })\n })\n },\n loadEmoji () {\n const allLoaded = this.customEmojiBuffer.length === this.filteredEmoji.length\n\n if (allLoaded) {\n return\n }\n\n this.customEmojiBufferSlice += LOAD_EMOJI_BY\n },\n startEmojiLoad (forceUpdate = false) {\n if (!forceUpdate) {\n this.keyword = ''\n }\n this.$nextTick(() => {\n this.$refs['emoji-groups'].scrollTop = 0\n })\n const bufferSize = this.customEmojiBuffer.length\n const bufferPrefilledAll = bufferSize === this.filteredEmoji.length\n if (bufferPrefilledAll && !forceUpdate) {\n return\n }\n this.customEmojiBufferSlice = LOAD_EMOJI_BY\n },\n toggleStickers () {\n this.showingStickers = !this.showingStickers\n },\n setShowStickers (value) {\n this.showingStickers = value\n }\n },\n watch: {\n keyword () {\n this.customEmojiLoadAllConfirmed = false\n this.onScroll()\n this.startEmojiLoad(true)\n }\n },\n computed: {\n activeGroupView () {\n return this.showingStickers ? '' : this.activeGroup\n },\n stickersAvailable () {\n if (this.$store.state.instance.stickers) {\n return this.$store.state.instance.stickers.length > 0\n }\n return 0\n },\n filteredEmoji () {\n return filterByKeyword(\n this.$store.state.instance.customEmoji || [],\n this.keyword\n )\n },\n customEmojiBuffer () {\n return this.filteredEmoji.slice(0, this.customEmojiBufferSlice)\n },\n emojis () {\n const standardEmojis = this.$store.state.instance.emoji || []\n const customEmojis = this.customEmojiBuffer\n\n return [\n {\n id: 'custom',\n text: this.$t('emoji.custom'),\n icon: 'icon-smile',\n emojis: customEmojis\n },\n {\n id: 'standard',\n text: this.$t('emoji.unicode'),\n icon: 'icon-picture',\n emojis: filterByKeyword(standardEmojis, this.keyword)\n }\n ]\n },\n emojisView () {\n return this.emojis.filter(value => value.emojis.length > 0)\n },\n stickerPickerEnabled () {\n return (this.$store.state.instance.stickers || []).length !== 0\n }\n }\n}\n\nexport default EmojiPicker\n","<template>\n <label\n class=\"checkbox\"\n :class=\"{ disabled, indeterminate }\"\n >\n <input\n type=\"checkbox\"\n :disabled=\"disabled\"\n :checked=\"checked\"\n :indeterminate.prop=\"indeterminate\"\n @change=\"$emit('change', $event.target.checked)\"\n >\n <i class=\"checkbox-indicator\" />\n <span\n v-if=\"!!$slots.default\"\n class=\"label\"\n >\n <slot />\n </span>\n </label>\n</template>\n\n<script>\nexport default {\n model: {\n prop: 'checked',\n event: 'change'\n },\n props: [\n 'checked',\n 'indeterminate',\n 'disabled'\n ]\n}\n</script>\n\n<style lang=\"scss\">\n@import '../../_variables.scss';\n\n.checkbox {\n position: relative;\n display: inline-block;\n min-height: 1.2em;\n\n &-indicator {\n position: relative;\n padding-left: 1.2em;\n }\n\n &-indicator::before {\n position: absolute;\n right: 0;\n top: 0;\n display: block;\n content: '✔';\n transition: color 200ms;\n width: 1.1em;\n height: 1.1em;\n border-radius: $fallback--checkboxRadius;\n border-radius: var(--checkboxRadius, $fallback--checkboxRadius);\n box-shadow: 0px 0px 2px black inset;\n box-shadow: var(--inputShadow);\n background-color: $fallback--fg;\n background-color: var(--input, $fallback--fg);\n vertical-align: top;\n text-align: center;\n line-height: 1.1em;\n font-size: 1.1em;\n color: transparent;\n overflow: hidden;\n box-sizing: border-box;\n }\n\n &.disabled {\n .checkbox-indicator::before,\n .label {\n opacity: .5;\n }\n .label {\n color: $fallback--faint;\n color: var(--faint, $fallback--faint);\n }\n }\n\n input[type=checkbox] {\n display: none;\n\n &:checked + .checkbox-indicator::before {\n color: $fallback--text;\n color: var(--text, $fallback--text);\n }\n\n &:indeterminate + .checkbox-indicator::before {\n content: '';\n color: $fallback--text;\n color: var(--text, $fallback--text);\n }\n\n }\n\n & > span {\n margin-left: .5em;\n }\n}\n</style>\n","import * as DateUtils from 'src/services/date_utils/date_utils.js'\nimport { uniq } from 'lodash'\n\nexport default {\n name: 'PollForm',\n props: ['visible'],\n data: () => ({\n pollType: 'single',\n options: ['', ''],\n expiryAmount: 10,\n expiryUnit: 'minutes'\n }),\n computed: {\n pollLimits () {\n return this.$store.state.instance.pollLimits\n },\n maxOptions () {\n return this.pollLimits.max_options\n },\n maxLength () {\n return this.pollLimits.max_option_chars\n },\n expiryUnits () {\n const allUnits = ['minutes', 'hours', 'days']\n const expiry = this.convertExpiryFromUnit\n return allUnits.filter(\n unit => this.pollLimits.max_expiration >= expiry(unit, 1)\n )\n },\n minExpirationInCurrentUnit () {\n return Math.ceil(\n this.convertExpiryToUnit(\n this.expiryUnit,\n this.pollLimits.min_expiration\n )\n )\n },\n maxExpirationInCurrentUnit () {\n return Math.floor(\n this.convertExpiryToUnit(\n this.expiryUnit,\n this.pollLimits.max_expiration\n )\n )\n }\n },\n methods: {\n clear () {\n this.pollType = 'single'\n this.options = ['', '']\n this.expiryAmount = 10\n this.expiryUnit = 'minutes'\n },\n nextOption (index) {\n const element = this.$el.querySelector(`#poll-${index + 1}`)\n if (element) {\n element.focus()\n } else {\n // Try adding an option and try focusing on it\n const addedOption = this.addOption()\n if (addedOption) {\n this.$nextTick(function () {\n this.nextOption(index)\n })\n }\n }\n },\n addOption () {\n if (this.options.length < this.maxOptions) {\n this.options.push('')\n return true\n }\n return false\n },\n deleteOption (index, event) {\n if (this.options.length > 2) {\n this.options.splice(index, 1)\n }\n },\n convertExpiryToUnit (unit, amount) {\n // Note: we want seconds and not milliseconds\n switch (unit) {\n case 'minutes': return (1000 * amount) / DateUtils.MINUTE\n case 'hours': return (1000 * amount) / DateUtils.HOUR\n case 'days': return (1000 * amount) / DateUtils.DAY\n }\n },\n convertExpiryFromUnit (unit, amount) {\n // Note: we want seconds and not milliseconds\n switch (unit) {\n case 'minutes': return 0.001 * amount * DateUtils.MINUTE\n case 'hours': return 0.001 * amount * DateUtils.HOUR\n case 'days': return 0.001 * amount * DateUtils.DAY\n }\n },\n expiryAmountChange () {\n this.expiryAmount =\n Math.max(this.minExpirationInCurrentUnit, this.expiryAmount)\n this.expiryAmount =\n Math.min(this.maxExpirationInCurrentUnit, this.expiryAmount)\n this.updatePollToParent()\n },\n updatePollToParent () {\n const expiresIn = this.convertExpiryFromUnit(\n this.expiryUnit,\n this.expiryAmount\n )\n\n const options = uniq(this.options.filter(option => option !== ''))\n if (options.length < 2) {\n this.$emit('update-poll', { error: this.$t('polls.not_enough_options') })\n return\n }\n this.$emit('update-poll', {\n options,\n multiple: this.pollType === 'multiple',\n expiresIn\n })\n }\n }\n}\n","import UserAvatar from '../user_avatar/user_avatar.vue'\nimport RemoteFollow from '../remote_follow/remote_follow.vue'\nimport ProgressButton from '../progress_button/progress_button.vue'\nimport FollowButton from '../follow_button/follow_button.vue'\nimport ModerationTools from '../moderation_tools/moderation_tools.vue'\nimport AccountActions from '../account_actions/account_actions.vue'\nimport { hex2rgb } from '../../services/color_convert/color_convert.js'\nimport generateProfileLink from 'src/services/user_profile_link_generator/user_profile_link_generator'\nimport { mapGetters } from 'vuex'\n\nexport default {\n props: [\n 'user', 'switcher', 'selected', 'hideBio', 'rounded', 'bordered', 'allowZoomingAvatar'\n ],\n data () {\n return {\n followRequestInProgress: false,\n betterShadow: this.$store.state.interface.browserSupport.cssFilter\n }\n },\n created () {\n this.$store.dispatch('fetchUserRelationship', this.user.id)\n },\n computed: {\n classes () {\n return [{\n 'user-card-rounded-t': this.rounded === 'top', // set border-top-left-radius and border-top-right-radius\n 'user-card-rounded': this.rounded === true, // set border-radius for all sides\n 'user-card-bordered': this.bordered === true // set border for all sides\n }]\n },\n style () {\n const color = this.$store.getters.mergedConfig.customTheme.colors\n ? this.$store.getters.mergedConfig.customTheme.colors.bg // v2\n : this.$store.getters.mergedConfig.colors.bg // v1\n\n if (color) {\n const rgb = (typeof color === 'string') ? hex2rgb(color) : color\n const tintColor = `rgba(${Math.floor(rgb.r)}, ${Math.floor(rgb.g)}, ${Math.floor(rgb.b)}, .5)`\n\n return {\n backgroundColor: `rgb(${Math.floor(rgb.r * 0.53)}, ${Math.floor(rgb.g * 0.56)}, ${Math.floor(rgb.b * 0.59)})`,\n backgroundImage: [\n `linear-gradient(to bottom, ${tintColor}, ${tintColor})`,\n `url(${this.user.cover_photo})`\n ].join(', ')\n }\n }\n },\n isOtherUser () {\n return this.user.id !== this.$store.state.users.currentUser.id\n },\n subscribeUrl () {\n // eslint-disable-next-line no-undef\n const serverUrl = new URL(this.user.statusnet_profile_url)\n return `${serverUrl.protocol}//${serverUrl.host}/main/ostatus`\n },\n loggedIn () {\n return this.$store.state.users.currentUser\n },\n dailyAvg () {\n const days = Math.ceil((new Date() - new Date(this.user.created_at)) / (60 * 60 * 24 * 1000))\n return Math.round(this.user.statuses_count / days)\n },\n userHighlightType: {\n get () {\n const data = this.$store.getters.mergedConfig.highlight[this.user.screen_name]\n return (data && data.type) || 'disabled'\n },\n set (type) {\n const data = this.$store.getters.mergedConfig.highlight[this.user.screen_name]\n if (type !== 'disabled') {\n this.$store.dispatch('setHighlight', { user: this.user.screen_name, color: (data && data.color) || '#FFFFFF', type })\n } else {\n this.$store.dispatch('setHighlight', { user: this.user.screen_name, color: undefined })\n }\n },\n ...mapGetters(['mergedConfig'])\n },\n userHighlightColor: {\n get () {\n const data = this.$store.getters.mergedConfig.highlight[this.user.screen_name]\n return data && data.color\n },\n set (color) {\n this.$store.dispatch('setHighlight', { user: this.user.screen_name, color })\n }\n },\n visibleRole () {\n const rights = this.user.rights\n if (!rights) { return }\n const validRole = rights.admin || rights.moderator\n const roleTitle = rights.admin ? 'admin' : 'moderator'\n return validRole && roleTitle\n },\n hideFollowsCount () {\n return this.isOtherUser && this.user.hide_follows_count\n },\n hideFollowersCount () {\n return this.isOtherUser && this.user.hide_followers_count\n },\n ...mapGetters(['mergedConfig'])\n },\n components: {\n UserAvatar,\n RemoteFollow,\n ModerationTools,\n AccountActions,\n ProgressButton,\n FollowButton\n },\n methods: {\n muteUser () {\n this.$store.dispatch('muteUser', this.user.id)\n },\n unmuteUser () {\n this.$store.dispatch('unmuteUser', this.user.id)\n },\n subscribeUser () {\n return this.$store.dispatch('subscribeUser', this.user.id)\n },\n unsubscribeUser () {\n return this.$store.dispatch('unsubscribeUser', this.user.id)\n },\n setProfileView (v) {\n if (this.switcher) {\n const store = this.$store\n store.commit('setProfileView', { v })\n }\n },\n linkClicked ({ target }) {\n if (target.tagName === 'SPAN') {\n target = target.parentNode\n }\n if (target.tagName === 'A') {\n window.open(target.href, '_blank')\n }\n },\n userProfileLink (user) {\n return generateProfileLink(\n user.id, user.screen_name,\n this.$store.state.instance.restrictedNicknames\n )\n },\n zoomAvatar () {\n const attachment = {\n url: this.user.profile_image_url_original,\n mimetype: 'image'\n }\n this.$store.dispatch('setMedia', [attachment])\n this.$store.dispatch('setCurrent', attachment)\n }\n }\n}\n","import StillImage from '../still-image/still-image.vue'\n\nconst UserAvatar = {\n props: [\n 'user',\n 'betterShadow',\n 'compact'\n ],\n data () {\n return {\n showPlaceholder: false\n }\n },\n components: {\n StillImage\n },\n computed: {\n imgSrc () {\n return this.showPlaceholder ? '/images/avi.png' : this.user.profile_image_url_original\n }\n },\n methods: {\n imageLoadError () {\n this.showPlaceholder = true\n }\n },\n watch: {\n src () {\n this.showPlaceholder = false\n }\n }\n}\n\nexport default UserAvatar\n","export default {\n props: [ 'user' ],\n computed: {\n subscribeUrl () {\n // eslint-disable-next-line no-undef\n const serverUrl = new URL(this.user.statusnet_profile_url)\n return `${serverUrl.protocol}//${serverUrl.host}/main/ostatus`\n }\n }\n}\n","<template>\n <button\n :disabled=\"progress || disabled\"\n @click=\"onClick\"\n >\n <template v-if=\"progress && $slots.progress\">\n <slot name=\"progress\" />\n </template>\n <template v-else>\n <slot />\n </template>\n </button>\n</template>\n\n<script>\nexport default {\n props: {\n disabled: {\n type: Boolean\n },\n click: { // click event handler. Must return a promise\n type: Function,\n default: () => Promise.resolve()\n }\n },\n data () {\n return {\n progress: false\n }\n },\n methods: {\n onClick () {\n this.progress = true\n this.click().then(() => { this.progress = false })\n }\n }\n}\n</script>\n","import { requestFollow, requestUnfollow } from '../../services/follow_manipulate/follow_manipulate'\nexport default {\n props: ['user', 'labelFollowing', 'buttonClass'],\n data () {\n return {\n inProgress: false\n }\n },\n computed: {\n isPressed () {\n return this.inProgress || this.user.following\n },\n title () {\n if (this.inProgress || this.user.following) {\n return this.$t('user_card.follow_unfollow')\n } else if (this.user.requested) {\n return this.$t('user_card.follow_again')\n } else {\n return this.$t('user_card.follow')\n }\n },\n label () {\n if (this.inProgress) {\n return this.$t('user_card.follow_progress')\n } else if (this.user.following) {\n return this.labelFollowing || this.$t('user_card.following')\n } else if (this.user.requested) {\n return this.$t('user_card.follow_sent')\n } else {\n return this.$t('user_card.follow')\n }\n }\n },\n methods: {\n onClick () {\n this.user.following ? this.unfollow() : this.follow()\n },\n follow () {\n this.inProgress = true\n requestFollow(this.user, this.$store).then(() => {\n this.inProgress = false\n })\n },\n unfollow () {\n const store = this.$store\n this.inProgress = true\n requestUnfollow(this.user, store).then(() => {\n this.inProgress = false\n store.commit('removeStatus', { timeline: 'friends', userId: this.user.id })\n })\n }\n }\n}\n","import DialogModal from '../dialog_modal/dialog_modal.vue'\n\nconst FORCE_NSFW = 'mrf_tag:media-force-nsfw'\nconst STRIP_MEDIA = 'mrf_tag:media-strip'\nconst FORCE_UNLISTED = 'mrf_tag:force-unlisted'\nconst DISABLE_REMOTE_SUBSCRIPTION = 'mrf_tag:disable-remote-subscription'\nconst DISABLE_ANY_SUBSCRIPTION = 'mrf_tag:disable-any-subscription'\nconst SANDBOX = 'mrf_tag:sandbox'\nconst QUARANTINE = 'mrf_tag:quarantine'\n\nconst ModerationTools = {\n props: [\n 'user'\n ],\n data () {\n return {\n showDropDown: false,\n tags: {\n FORCE_NSFW,\n STRIP_MEDIA,\n FORCE_UNLISTED,\n DISABLE_REMOTE_SUBSCRIPTION,\n DISABLE_ANY_SUBSCRIPTION,\n SANDBOX,\n QUARANTINE\n },\n showDeleteUserDialog: false\n }\n },\n components: {\n DialogModal\n },\n computed: {\n tagsSet () {\n return new Set(this.user.tags)\n },\n hasTagPolicy () {\n return this.$store.state.instance.tagPolicyAvailable\n }\n },\n methods: {\n hasTag (tagName) {\n return this.tagsSet.has(tagName)\n },\n toggleTag (tag) {\n const store = this.$store\n if (this.tagsSet.has(tag)) {\n store.state.api.backendInteractor.untagUser(this.user, tag).then(response => {\n if (!response.ok) { return }\n store.commit('untagUser', { user: this.user, tag })\n })\n } else {\n store.state.api.backendInteractor.tagUser(this.user, tag).then(response => {\n if (!response.ok) { return }\n store.commit('tagUser', { user: this.user, tag })\n })\n }\n },\n toggleRight (right) {\n const store = this.$store\n if (this.user.rights[right]) {\n store.state.api.backendInteractor.deleteRight(this.user, right).then(response => {\n if (!response.ok) { return }\n store.commit('updateRight', { user: this.user, right: right, value: false })\n })\n } else {\n store.state.api.backendInteractor.addRight(this.user, right).then(response => {\n if (!response.ok) { return }\n store.commit('updateRight', { user: this.user, right: right, value: true })\n })\n }\n },\n toggleActivationStatus () {\n const store = this.$store\n const status = !!this.user.deactivated\n store.state.api.backendInteractor.setActivationStatus(this.user, status).then(response => {\n if (!response.ok) { return }\n store.commit('updateActivationStatus', { user: this.user, status: status })\n })\n },\n deleteUserDialog (show) {\n this.showDeleteUserDialog = show\n },\n deleteUser () {\n const store = this.$store\n const user = this.user\n const { id, name } = user\n store.state.api.backendInteractor.deleteUser(user)\n .then(e => {\n this.$store.dispatch('markStatusesAsDeleted', status => user.id === status.user.id)\n const isProfile = this.$route.name === 'external-user-profile' || this.$route.name === 'user-profile'\n const isTargetUser = this.$route.params.name === name || this.$route.params.id === id\n if (isProfile && isTargetUser) {\n window.history.back()\n }\n })\n }\n }\n}\n\nexport default ModerationTools\n","const DialogModal = {\n props: {\n darkOverlay: {\n default: true,\n type: Boolean\n },\n onCancel: {\n default: () => {},\n type: Function\n }\n }\n}\n\nexport default DialogModal\n","import ProgressButton from '../progress_button/progress_button.vue'\n\nconst AccountActions = {\n props: [\n 'user'\n ],\n data () {\n return { }\n },\n components: {\n ProgressButton\n },\n methods: {\n showRepeats () {\n this.$store.dispatch('showReblogs', this.user.id)\n },\n hideRepeats () {\n this.$store.dispatch('hideReblogs', this.user.id)\n },\n blockUser () {\n this.$store.dispatch('blockUser', this.user.id)\n },\n unblockUser () {\n this.$store.dispatch('unblockUser', this.user.id)\n },\n reportUser () {\n this.$store.dispatch('openUserReportingModal', this.user.id)\n },\n mentionUser () {\n this.$store.dispatch('openPostStatusModal', { replyTo: true, repliedUser: this.user })\n }\n }\n}\n\nexport default AccountActions\n","import Attachment from '../attachment/attachment.vue'\nimport { chunk, last, dropRight, sumBy } from 'lodash'\n\nconst Gallery = {\n props: [\n 'attachments',\n 'nsfw',\n 'setMedia'\n ],\n data () {\n return {\n sizes: {}\n }\n },\n components: { Attachment },\n computed: {\n rows () {\n if (!this.attachments) {\n return []\n }\n const rows = chunk(this.attachments, 3)\n if (last(rows).length === 1 && rows.length > 1) {\n // if 1 attachment on last row -> add it to the previous row instead\n const lastAttachment = last(rows)[0]\n const allButLastRow = dropRight(rows)\n last(allButLastRow).push(lastAttachment)\n return allButLastRow\n }\n return rows\n },\n useContainFit () {\n return this.$store.getters.mergedConfig.useContainFit\n }\n },\n methods: {\n onNaturalSizeLoad (id, size) {\n this.$set(this.sizes, id, size)\n },\n rowStyle (itemsPerRow) {\n return { 'padding-bottom': `${(100 / (itemsPerRow + 0.6))}%` }\n },\n itemStyle (id, row) {\n const total = sumBy(row, item => this.getAspectRatio(item.id))\n return { flex: `${this.getAspectRatio(id) / total} 1 0%` }\n },\n getAspectRatio (id) {\n const size = this.sizes[id]\n return size ? size.width / size.height : 1\n }\n }\n}\n\nexport default Gallery\n","const LinkPreview = {\n name: 'LinkPreview',\n props: [\n 'card',\n 'size',\n 'nsfw'\n ],\n data () {\n return {\n imageLoaded: false\n }\n },\n computed: {\n useImage () {\n // Currently BE shoudn't give cards if tagged NSFW, this is a bit paranoid\n // as it makes sure to hide the image if somehow NSFW tagged preview can\n // exist.\n return this.card.image && !this.nsfw && this.size !== 'hide'\n },\n useDescription () {\n return this.card.description && /\\S/.test(this.card.description)\n }\n },\n created () {\n if (this.useImage) {\n const newImg = new Image()\n newImg.onload = () => {\n this.imageLoaded = true\n }\n newImg.src = this.card.image\n }\n }\n}\n\nexport default LinkPreview\n","import UserAvatar from '../user_avatar/user_avatar.vue'\nimport generateProfileLink from 'src/services/user_profile_link_generator/user_profile_link_generator'\n\nconst AvatarList = {\n props: ['users'],\n computed: {\n slicedUsers () {\n return this.users ? this.users.slice(0, 15) : []\n }\n },\n components: {\n UserAvatar\n },\n methods: {\n userProfileLink (user) {\n return generateProfileLink(user.id, user.screen_name, this.$store.state.instance.restrictedNicknames)\n }\n }\n}\n\nexport default AvatarList\n","import { find } from 'lodash'\n\nconst StatusPopover = {\n name: 'StatusPopover',\n props: [\n 'statusId'\n ],\n data () {\n return {\n popperOptions: {\n modifiers: {\n preventOverflow: { padding: { top: 50 }, boundariesElement: 'viewport' }\n }\n }\n }\n },\n computed: {\n status () {\n return find(this.$store.state.statuses.allStatuses, { id: this.statusId })\n }\n },\n components: {\n Status: () => import('../status/status.vue')\n },\n methods: {\n enter () {\n if (!this.status) {\n this.$store.dispatch('fetchStatus', this.statusId)\n }\n }\n }\n}\n\nexport default StatusPopover\n","import { reduce, filter, findIndex, clone, get } from 'lodash'\nimport Status from '../status/status.vue'\n\nconst sortById = (a, b) => {\n const idA = a.type === 'retweet' ? a.retweeted_status.id : a.id\n const idB = b.type === 'retweet' ? b.retweeted_status.id : b.id\n const seqA = Number(idA)\n const seqB = Number(idB)\n const isSeqA = !Number.isNaN(seqA)\n const isSeqB = !Number.isNaN(seqB)\n if (isSeqA && isSeqB) {\n return seqA < seqB ? -1 : 1\n } else if (isSeqA && !isSeqB) {\n return -1\n } else if (!isSeqA && isSeqB) {\n return 1\n } else {\n return idA < idB ? -1 : 1\n }\n}\n\nconst sortAndFilterConversation = (conversation, statusoid) => {\n if (statusoid.type === 'retweet') {\n conversation = filter(\n conversation,\n (status) => (status.type === 'retweet' || status.id !== statusoid.retweeted_status.id)\n )\n } else {\n conversation = filter(conversation, (status) => status.type !== 'retweet')\n }\n return conversation.filter(_ => _).sort(sortById)\n}\n\nconst conversation = {\n data () {\n return {\n highlight: null,\n expanded: false\n }\n },\n props: [\n 'statusId',\n 'collapsable',\n 'isPage',\n 'pinnedStatusIdsObject',\n 'inProfile'\n ],\n created () {\n if (this.isPage) {\n this.fetchConversation()\n }\n },\n computed: {\n status () {\n return this.$store.state.statuses.allStatusesObject[this.statusId]\n },\n originalStatusId () {\n if (this.status.retweeted_status) {\n return this.status.retweeted_status.id\n } else {\n return this.statusId\n }\n },\n conversationId () {\n return this.getConversationId(this.statusId)\n },\n conversation () {\n if (!this.status) {\n return []\n }\n\n if (!this.isExpanded) {\n return [this.status]\n }\n\n const conversation = clone(this.$store.state.statuses.conversationsObject[this.conversationId])\n const statusIndex = findIndex(conversation, { id: this.originalStatusId })\n if (statusIndex !== -1) {\n conversation[statusIndex] = this.status\n }\n\n return sortAndFilterConversation(conversation, this.status)\n },\n replies () {\n let i = 1\n // eslint-disable-next-line camelcase\n return reduce(this.conversation, (result, { id, in_reply_to_status_id }) => {\n /* eslint-disable camelcase */\n const irid = in_reply_to_status_id\n /* eslint-enable camelcase */\n if (irid) {\n result[irid] = result[irid] || []\n result[irid].push({\n name: `#${i}`,\n id: id\n })\n }\n i++\n return result\n }, {})\n },\n isExpanded () {\n return this.expanded || this.isPage\n }\n },\n components: {\n Status\n },\n watch: {\n statusId (newVal, oldVal) {\n const newConversationId = this.getConversationId(newVal)\n const oldConversationId = this.getConversationId(oldVal)\n if (newConversationId && oldConversationId && newConversationId === oldConversationId) {\n this.setHighlight(this.originalStatusId)\n } else {\n this.fetchConversation()\n }\n },\n expanded (value) {\n if (value) {\n this.fetchConversation()\n }\n }\n },\n methods: {\n fetchConversation () {\n if (this.status) {\n this.$store.state.api.backendInteractor.fetchConversation({ id: this.statusId })\n .then(({ ancestors, descendants }) => {\n this.$store.dispatch('addNewStatuses', { statuses: ancestors })\n this.$store.dispatch('addNewStatuses', { statuses: descendants })\n this.setHighlight(this.originalStatusId)\n })\n } else {\n this.$store.state.api.backendInteractor.fetchStatus({ id: this.statusId })\n .then((status) => {\n this.$store.dispatch('addNewStatuses', { statuses: [status] })\n this.fetchConversation()\n })\n }\n },\n getReplies (id) {\n return this.replies[id] || []\n },\n focused (id) {\n return (this.isExpanded) && id === this.statusId\n },\n setHighlight (id) {\n if (!id) return\n this.highlight = id\n this.$store.dispatch('fetchFavsAndRepeats', id)\n },\n getHighlight () {\n return this.isExpanded ? this.highlight : null\n },\n toggleExpanded () {\n this.expanded = !this.expanded\n },\n getConversationId (statusId) {\n const status = this.$store.state.statuses.allStatusesObject[statusId]\n return get(status, 'retweeted_status.statusnet_conversation_id', get(status, 'statusnet_conversation_id'))\n }\n }\n}\n\nexport default conversation\n","import Timeline from '../timeline/timeline.vue'\nconst PublicAndExternalTimeline = {\n components: {\n Timeline\n },\n computed: {\n timeline () { return this.$store.state.statuses.timelines.publicAndExternal }\n },\n created () {\n this.$store.dispatch('startFetchingTimeline', { timeline: 'publicAndExternal' })\n },\n destroyed () {\n this.$store.dispatch('stopFetching', 'publicAndExternal')\n }\n}\n\nexport default PublicAndExternalTimeline\n","import Timeline from '../timeline/timeline.vue'\nconst FriendsTimeline = {\n components: {\n Timeline\n },\n computed: {\n timeline () { return this.$store.state.statuses.timelines.friends }\n }\n}\n\nexport default FriendsTimeline\n","import Timeline from '../timeline/timeline.vue'\n\nconst TagTimeline = {\n created () {\n this.$store.commit('clearTimeline', { timeline: 'tag' })\n this.$store.dispatch('startFetchingTimeline', { timeline: 'tag', tag: this.tag })\n },\n components: {\n Timeline\n },\n computed: {\n tag () { return this.$route.params.tag },\n timeline () { return this.$store.state.statuses.timelines.tag }\n },\n watch: {\n tag () {\n this.$store.commit('clearTimeline', { timeline: 'tag' })\n this.$store.dispatch('startFetchingTimeline', { timeline: 'tag', tag: this.tag })\n }\n },\n destroyed () {\n this.$store.dispatch('stopFetching', 'tag')\n }\n}\n\nexport default TagTimeline\n","import Conversation from '../conversation/conversation.vue'\n\nconst conversationPage = {\n components: {\n Conversation\n },\n computed: {\n statusId () {\n return this.$route.params.id\n }\n }\n}\n\nexport default conversationPage\n","import Notifications from '../notifications/notifications.vue'\n\nconst tabModeDict = {\n mentions: ['mention'],\n 'likes+repeats': ['repeat', 'like'],\n follows: ['follow']\n}\n\nconst Interactions = {\n data () {\n return {\n filterMode: tabModeDict['mentions']\n }\n },\n methods: {\n onModeSwitch (key) {\n this.filterMode = tabModeDict[key]\n }\n },\n components: {\n Notifications\n }\n}\n\nexport default Interactions\n","import Notification from '../notification/notification.vue'\nimport notificationsFetcher from '../../services/notifications_fetcher/notifications_fetcher.service.js'\nimport {\n notificationsFromStore,\n visibleNotificationsFromStore,\n unseenNotificationsFromStore\n} from '../../services/notification_utils/notification_utils.js'\n\nconst Notifications = {\n props: {\n // Disables display of panel header\n noHeading: Boolean,\n // Disables panel styles, unread mark, potentially other notification-related actions\n // meant for \"Interactions\" timeline\n minimalMode: Boolean,\n // Custom filter mode, an array of strings, possible values 'mention', 'repeat', 'like', 'follow', used to override global filter for use in \"Interactions\" timeline\n filterMode: Array\n },\n data () {\n return {\n bottomedOut: false\n }\n },\n computed: {\n mainClass () {\n return this.minimalMode ? '' : 'panel panel-default'\n },\n notifications () {\n return notificationsFromStore(this.$store)\n },\n error () {\n return this.$store.state.statuses.notifications.error\n },\n unseenNotifications () {\n return unseenNotificationsFromStore(this.$store)\n },\n visibleNotifications () {\n return visibleNotificationsFromStore(this.$store, this.filterMode)\n },\n unseenCount () {\n return this.unseenNotifications.length\n },\n loading () {\n return this.$store.state.statuses.notifications.loading\n }\n },\n components: {\n Notification\n },\n watch: {\n unseenCount (count) {\n if (count > 0) {\n this.$store.dispatch('setPageTitle', `(${count})`)\n } else {\n this.$store.dispatch('setPageTitle', '')\n }\n }\n },\n methods: {\n markAsSeen () {\n this.$store.dispatch('markNotificationsAsSeen')\n },\n fetchOlderNotifications () {\n if (this.loading) {\n return\n }\n\n const store = this.$store\n const credentials = store.state.users.currentUser.credentials\n store.commit('setNotificationsLoading', { value: true })\n notificationsFetcher.fetchAndUpdate({\n store,\n credentials,\n older: true\n }).then(notifs => {\n store.commit('setNotificationsLoading', { value: false })\n if (notifs.length === 0) {\n this.bottomedOut = true\n }\n })\n }\n }\n}\n\nexport default Notifications\n","import Status from '../status/status.vue'\nimport UserAvatar from '../user_avatar/user_avatar.vue'\nimport UserCard from '../user_card/user_card.vue'\nimport Timeago from '../timeago/timeago.vue'\nimport { highlightClass, highlightStyle } from '../../services/user_highlighter/user_highlighter.js'\nimport generateProfileLink from 'src/services/user_profile_link_generator/user_profile_link_generator'\n\nconst Notification = {\n data () {\n return {\n userExpanded: false,\n betterShadow: this.$store.state.interface.browserSupport.cssFilter,\n unmuted: false\n }\n },\n props: [ 'notification' ],\n components: {\n Status,\n UserAvatar,\n UserCard,\n Timeago\n },\n methods: {\n toggleUserExpanded () {\n this.userExpanded = !this.userExpanded\n },\n generateUserProfileLink (user) {\n return generateProfileLink(user.id, user.screen_name, this.$store.state.instance.restrictedNicknames)\n },\n getUser (notification) {\n return this.$store.state.users.usersObject[notification.from_profile.id]\n },\n toggleMute () {\n this.unmuted = !this.unmuted\n }\n },\n computed: {\n userClass () {\n return highlightClass(this.notification.from_profile)\n },\n userStyle () {\n const highlight = this.$store.getters.mergedConfig.highlight\n const user = this.notification.from_profile\n return highlightStyle(highlight[user.screen_name])\n },\n userInStore () {\n return this.$store.getters.findUser(this.notification.from_profile.id)\n },\n user () {\n if (this.userInStore) {\n return this.userInStore\n }\n return this.notification.from_profile\n },\n userProfileLink () {\n return this.generateUserProfileLink(this.user)\n },\n needMute () {\n return this.user.muted\n }\n }\n}\n\nexport default Notification\n","import Timeline from '../timeline/timeline.vue'\n\nconst DMs = {\n computed: {\n timeline () {\n return this.$store.state.statuses.timelines.dms\n }\n },\n components: {\n Timeline\n }\n}\n\nexport default DMs\n","import get from 'lodash/get'\nimport UserCard from '../user_card/user_card.vue'\nimport FollowCard from '../follow_card/follow_card.vue'\nimport Timeline from '../timeline/timeline.vue'\nimport Conversation from '../conversation/conversation.vue'\nimport List from '../list/list.vue'\nimport withLoadMore from '../../hocs/with_load_more/with_load_more'\n\nconst FollowerList = withLoadMore({\n fetch: (props, $store) => $store.dispatch('fetchFollowers', props.userId),\n select: (props, $store) => get($store.getters.findUser(props.userId), 'followerIds', []).map(id => $store.getters.findUser(id)),\n destroy: (props, $store) => $store.dispatch('clearFollowers', props.userId),\n childPropName: 'items',\n additionalPropNames: ['userId']\n})(List)\n\nconst FriendList = withLoadMore({\n fetch: (props, $store) => $store.dispatch('fetchFriends', props.userId),\n select: (props, $store) => get($store.getters.findUser(props.userId), 'friendIds', []).map(id => $store.getters.findUser(id)),\n destroy: (props, $store) => $store.dispatch('clearFriends', props.userId),\n childPropName: 'items',\n additionalPropNames: ['userId']\n})(List)\n\nconst defaultTabKey = 'statuses'\n\nconst UserProfile = {\n data () {\n return {\n error: false,\n userId: null,\n tab: defaultTabKey\n }\n },\n created () {\n const routeParams = this.$route.params\n this.load(routeParams.name || routeParams.id)\n this.tab = get(this.$route, 'query.tab', defaultTabKey)\n },\n destroyed () {\n this.stopFetching()\n },\n computed: {\n timeline () {\n return this.$store.state.statuses.timelines.user\n },\n favorites () {\n return this.$store.state.statuses.timelines.favorites\n },\n media () {\n return this.$store.state.statuses.timelines.media\n },\n isUs () {\n return this.userId && this.$store.state.users.currentUser.id &&\n this.userId === this.$store.state.users.currentUser.id\n },\n user () {\n return this.$store.getters.findUser(this.userId)\n },\n isExternal () {\n return this.$route.name === 'external-user-profile'\n },\n followsTabVisible () {\n return this.isUs || !this.user.hide_follows\n },\n followersTabVisible () {\n return this.isUs || !this.user.hide_followers\n }\n },\n methods: {\n load (userNameOrId) {\n const startFetchingTimeline = (timeline, userId) => {\n // Clear timeline only if load another user's profile\n if (userId !== this.$store.state.statuses.timelines[timeline].userId) {\n this.$store.commit('clearTimeline', { timeline })\n }\n this.$store.dispatch('startFetchingTimeline', { timeline, userId })\n }\n\n const loadById = (userId) => {\n this.userId = userId\n startFetchingTimeline('user', userId)\n startFetchingTimeline('media', userId)\n if (this.isUs) {\n startFetchingTimeline('favorites', userId)\n }\n // Fetch all pinned statuses immediately\n this.$store.dispatch('fetchPinnedStatuses', userId)\n }\n\n // Reset view\n this.userId = null\n this.error = false\n\n // Check if user data is already loaded in store\n const user = this.$store.getters.findUser(userNameOrId)\n if (user) {\n loadById(user.id)\n } else {\n this.$store.dispatch('fetchUser', userNameOrId)\n .then(({ id }) => loadById(id))\n .catch((reason) => {\n const errorMessage = get(reason, 'error.error')\n if (errorMessage === 'No user with such user_id') { // Known error\n this.error = this.$t('user_profile.profile_does_not_exist')\n } else if (errorMessage) {\n this.error = errorMessage\n } else {\n this.error = this.$t('user_profile.profile_loading_error')\n }\n })\n }\n },\n stopFetching () {\n this.$store.dispatch('stopFetching', 'user')\n this.$store.dispatch('stopFetching', 'favorites')\n this.$store.dispatch('stopFetching', 'media')\n },\n switchUser (userNameOrId) {\n this.stopFetching()\n this.load(userNameOrId)\n },\n onTabSwitch (tab) {\n this.tab = tab\n this.$router.replace({ query: { tab } })\n }\n },\n watch: {\n '$route.params.id': function (newVal) {\n if (newVal) {\n this.switchUser(newVal)\n }\n },\n '$route.params.name': function (newVal) {\n if (newVal) {\n this.switchUser(newVal)\n }\n },\n '$route.query': function (newVal) {\n this.tab = newVal.tab || defaultTabKey\n }\n },\n components: {\n UserCard,\n Timeline,\n FollowerList,\n FriendList,\n FollowCard,\n Conversation\n }\n}\n\nexport default UserProfile\n","import BasicUserCard from '../basic_user_card/basic_user_card.vue'\nimport RemoteFollow from '../remote_follow/remote_follow.vue'\nimport FollowButton from '../follow_button/follow_button.vue'\n\nconst FollowCard = {\n props: [\n 'user',\n 'noFollowsYou'\n ],\n components: {\n BasicUserCard,\n RemoteFollow,\n FollowButton\n },\n computed: {\n isMe () {\n return this.$store.state.users.currentUser.id === this.user.id\n },\n loggedIn () {\n return this.$store.state.users.currentUser\n }\n }\n}\n\nexport default FollowCard\n","import UserCard from '../user_card/user_card.vue'\nimport UserAvatar from '../user_avatar/user_avatar.vue'\nimport generateProfileLink from 'src/services/user_profile_link_generator/user_profile_link_generator'\n\nconst BasicUserCard = {\n props: [\n 'user'\n ],\n data () {\n return {\n userExpanded: false\n }\n },\n components: {\n UserCard,\n UserAvatar\n },\n methods: {\n toggleUserExpanded () {\n this.userExpanded = !this.userExpanded\n },\n userProfileLink (user) {\n return generateProfileLink(user.id, user.screen_name, this.$store.state.instance.restrictedNicknames)\n }\n }\n}\n\nexport default BasicUserCard\n","<template>\n <div class=\"list\">\n <div\n v-for=\"item in items\"\n :key=\"getKey(item)\"\n class=\"list-item\"\n >\n <slot\n name=\"item\"\n :item=\"item\"\n />\n </div>\n <div\n v-if=\"items.length === 0 && !!$slots.empty\"\n class=\"list-empty-content faint\"\n >\n <slot name=\"empty\" />\n </div>\n </div>\n</template>\n\n<script>\nexport default {\n props: {\n items: {\n type: Array,\n default: () => []\n },\n getKey: {\n type: Function,\n default: item => item.id\n }\n }\n}\n</script>\n\n<style lang=\"scss\">\n@import '../../_variables.scss';\n\n.list {\n &-item:not(:last-child) {\n border-bottom: 1px solid;\n border-bottom-color: $fallback--border;\n border-bottom-color: var(--border, $fallback--border);\n }\n\n &-empty-content {\n text-align: center;\n padding: 10px;\n }\n}\n</style>\n","import FollowCard from '../follow_card/follow_card.vue'\nimport Conversation from '../conversation/conversation.vue'\nimport Status from '../status/status.vue'\nimport map from 'lodash/map'\n\nconst Search = {\n components: {\n FollowCard,\n Conversation,\n Status\n },\n props: [\n 'query'\n ],\n data () {\n return {\n loaded: false,\n loading: false,\n searchTerm: this.query || '',\n userIds: [],\n statuses: [],\n hashtags: [],\n currenResultTab: 'statuses'\n }\n },\n computed: {\n users () {\n return this.userIds.map(userId => this.$store.getters.findUser(userId))\n },\n visibleStatuses () {\n const allStatusesObject = this.$store.state.statuses.allStatusesObject\n\n return this.statuses.filter(status =>\n allStatusesObject[status.id] && !allStatusesObject[status.id].deleted\n )\n }\n },\n mounted () {\n this.search(this.query)\n },\n watch: {\n query (newValue) {\n this.searchTerm = newValue\n this.search(newValue)\n }\n },\n methods: {\n newQuery (query) {\n this.$router.push({ name: 'search', query: { query } })\n this.$refs.searchInput.focus()\n },\n search (query) {\n if (!query) {\n this.loading = false\n return\n }\n\n this.loading = true\n this.userIds = []\n this.statuses = []\n this.hashtags = []\n this.$refs.searchInput.blur()\n\n this.$store.dispatch('search', { q: query, resolve: true })\n .then(data => {\n this.loading = false\n this.userIds = map(data.accounts, 'id')\n this.statuses = data.statuses\n this.hashtags = data.hashtags\n this.currenResultTab = this.getActiveTab()\n this.loaded = true\n })\n },\n resultCount (tabName) {\n const length = this[tabName].length\n return length === 0 ? '' : ` (${length})`\n },\n onResultTabSwitch (key) {\n this.currenResultTab = key\n },\n getActiveTab () {\n if (this.visibleStatuses.length > 0) {\n return 'statuses'\n } else if (this.users.length > 0) {\n return 'people'\n } else if (this.hashtags.length > 0) {\n return 'hashtags'\n }\n\n return 'statuses'\n },\n lastHistoryRecord (hashtag) {\n return hashtag.history && hashtag.history[0]\n }\n }\n}\n\nexport default Search\n","/* eslint-env browser */\nimport { filter, trim } from 'lodash'\n\nimport TabSwitcher from '../tab_switcher/tab_switcher.js'\nimport StyleSwitcher from '../style_switcher/style_switcher.vue'\nimport InterfaceLanguageSwitcher from '../interface_language_switcher/interface_language_switcher.vue'\nimport { extractCommit } from '../../services/version/version.service'\nimport { instanceDefaultProperties, defaultState as configDefaultState } from '../../modules/config.js'\nimport Checkbox from '../checkbox/checkbox.vue'\n\nconst pleromaFeCommitUrl = 'https://git.pleroma.social/pleroma/pleroma-fe/commit/'\nconst pleromaBeCommitUrl = 'https://git.pleroma.social/pleroma/pleroma/commit/'\n\nconst multiChoiceProperties = [\n 'postContentType',\n 'subjectLineBehavior'\n]\n\nconst settings = {\n data () {\n const instance = this.$store.state.instance\n\n return {\n loopSilentAvailable:\n // Firefox\n Object.getOwnPropertyDescriptor(HTMLVideoElement.prototype, 'mozHasAudio') ||\n // Chrome-likes\n Object.getOwnPropertyDescriptor(HTMLMediaElement.prototype, 'webkitAudioDecodedByteCount') ||\n // Future spec, still not supported in Nightly 63 as of 08/2018\n Object.getOwnPropertyDescriptor(HTMLMediaElement.prototype, 'audioTracks'),\n\n backendVersion: instance.backendVersion,\n frontendVersion: instance.frontendVersion\n }\n },\n components: {\n TabSwitcher,\n StyleSwitcher,\n InterfaceLanguageSwitcher,\n Checkbox\n },\n computed: {\n user () {\n return this.$store.state.users.currentUser\n },\n currentSaveStateNotice () {\n return this.$store.state.interface.settings.currentSaveStateNotice\n },\n postFormats () {\n return this.$store.state.instance.postFormats || []\n },\n instanceSpecificPanelPresent () { return this.$store.state.instance.showInstanceSpecificPanel },\n frontendVersionLink () {\n return pleromaFeCommitUrl + this.frontendVersion\n },\n backendVersionLink () {\n return pleromaBeCommitUrl + extractCommit(this.backendVersion)\n },\n // Getting localized values for instance-default properties\n ...instanceDefaultProperties\n .filter(key => multiChoiceProperties.includes(key))\n .map(key => [\n key + 'DefaultValue',\n function () {\n return this.$store.getters.instanceDefaultConfig[key]\n }\n ])\n .reduce((acc, [key, value]) => ({ ...acc, [key]: value }), {}),\n ...instanceDefaultProperties\n .filter(key => !multiChoiceProperties.includes(key))\n .map(key => [\n key + 'LocalizedValue',\n function () {\n return this.$t('settings.values.' + this.$store.getters.instanceDefaultConfig[key])\n }\n ])\n .reduce((acc, [key, value]) => ({ ...acc, [key]: value }), {}),\n // Generating computed values for vuex properties\n ...Object.keys(configDefaultState)\n .map(key => [key, {\n get () { return this.$store.getters.mergedConfig[key] },\n set (value) {\n this.$store.dispatch('setOption', { name: key, value })\n }\n }])\n .reduce((acc, [key, value]) => ({ ...acc, [key]: value }), {}),\n // Special cases (need to transform values)\n muteWordsString: {\n get () { return this.$store.getters.mergedConfig.muteWords.join('\\n') },\n set (value) {\n this.$store.dispatch('setOption', {\n name: 'muteWords',\n value: filter(value.split('\\n'), (word) => trim(word).length > 0)\n })\n }\n }\n },\n // Updating nested properties\n watch: {\n notificationVisibility: {\n handler (value) {\n this.$store.dispatch('setOption', {\n name: 'notificationVisibility',\n value: this.$store.getters.mergedConfig.notificationVisibility\n })\n },\n deep: true\n }\n }\n}\n\nexport default settings\n","import { rgb2hex, hex2rgb, getContrastRatio, alphaBlend } from '../../services/color_convert/color_convert.js'\nimport { set, delete as del } from 'vue'\nimport { generateColors, generateShadows, generateRadii, generateFonts, composePreset, getThemes } from '../../services/style_setter/style_setter.js'\nimport ColorInput from '../color_input/color_input.vue'\nimport RangeInput from '../range_input/range_input.vue'\nimport OpacityInput from '../opacity_input/opacity_input.vue'\nimport ShadowControl from '../shadow_control/shadow_control.vue'\nimport FontControl from '../font_control/font_control.vue'\nimport ContrastRatio from '../contrast_ratio/contrast_ratio.vue'\nimport TabSwitcher from '../tab_switcher/tab_switcher.js'\nimport Preview from './preview.vue'\nimport ExportImport from '../export_import/export_import.vue'\nimport Checkbox from '../checkbox/checkbox.vue'\n\n// List of color values used in v1\nconst v1OnlyNames = [\n 'bg',\n 'fg',\n 'text',\n 'link',\n 'cRed',\n 'cGreen',\n 'cBlue',\n 'cOrange'\n].map(_ => _ + 'ColorLocal')\n\nexport default {\n data () {\n return {\n availableStyles: [],\n selected: this.$store.getters.mergedConfig.theme,\n\n previewShadows: {},\n previewColors: {},\n previewRadii: {},\n previewFonts: {},\n\n shadowsInvalid: true,\n colorsInvalid: true,\n radiiInvalid: true,\n\n keepColor: false,\n keepShadows: false,\n keepOpacity: false,\n keepRoundness: false,\n keepFonts: false,\n\n textColorLocal: '',\n linkColorLocal: '',\n\n bgColorLocal: '',\n bgOpacityLocal: undefined,\n\n fgColorLocal: '',\n fgTextColorLocal: undefined,\n fgLinkColorLocal: undefined,\n\n btnColorLocal: undefined,\n btnTextColorLocal: undefined,\n btnOpacityLocal: undefined,\n\n inputColorLocal: undefined,\n inputTextColorLocal: undefined,\n inputOpacityLocal: undefined,\n\n panelColorLocal: undefined,\n panelTextColorLocal: undefined,\n panelLinkColorLocal: undefined,\n panelFaintColorLocal: undefined,\n panelOpacityLocal: undefined,\n\n topBarColorLocal: undefined,\n topBarTextColorLocal: undefined,\n topBarLinkColorLocal: undefined,\n\n alertErrorColorLocal: undefined,\n alertWarningColorLocal: undefined,\n\n badgeOpacityLocal: undefined,\n badgeNotificationColorLocal: undefined,\n\n borderColorLocal: undefined,\n borderOpacityLocal: undefined,\n\n faintColorLocal: undefined,\n faintOpacityLocal: undefined,\n faintLinkColorLocal: undefined,\n\n cRedColorLocal: '',\n cBlueColorLocal: '',\n cGreenColorLocal: '',\n cOrangeColorLocal: '',\n\n shadowSelected: undefined,\n shadowsLocal: {},\n fontsLocal: {},\n\n btnRadiusLocal: '',\n inputRadiusLocal: '',\n checkboxRadiusLocal: '',\n panelRadiusLocal: '',\n avatarRadiusLocal: '',\n avatarAltRadiusLocal: '',\n attachmentRadiusLocal: '',\n tooltipRadiusLocal: ''\n }\n },\n created () {\n const self = this\n\n getThemes().then((themesComplete) => {\n self.availableStyles = themesComplete\n })\n },\n mounted () {\n this.normalizeLocalState(this.$store.getters.mergedConfig.customTheme)\n if (typeof this.shadowSelected === 'undefined') {\n this.shadowSelected = this.shadowsAvailable[0]\n }\n },\n computed: {\n selectedVersion () {\n return Array.isArray(this.selected) ? 1 : 2\n },\n currentColors () {\n return {\n bg: this.bgColorLocal,\n text: this.textColorLocal,\n link: this.linkColorLocal,\n\n fg: this.fgColorLocal,\n fgText: this.fgTextColorLocal,\n fgLink: this.fgLinkColorLocal,\n\n panel: this.panelColorLocal,\n panelText: this.panelTextColorLocal,\n panelLink: this.panelLinkColorLocal,\n panelFaint: this.panelFaintColorLocal,\n\n input: this.inputColorLocal,\n inputText: this.inputTextColorLocal,\n\n topBar: this.topBarColorLocal,\n topBarText: this.topBarTextColorLocal,\n topBarLink: this.topBarLinkColorLocal,\n\n btn: this.btnColorLocal,\n btnText: this.btnTextColorLocal,\n\n alertError: this.alertErrorColorLocal,\n alertWarning: this.alertWarningColorLocal,\n badgeNotification: this.badgeNotificationColorLocal,\n\n faint: this.faintColorLocal,\n faintLink: this.faintLinkColorLocal,\n border: this.borderColorLocal,\n\n cRed: this.cRedColorLocal,\n cBlue: this.cBlueColorLocal,\n cGreen: this.cGreenColorLocal,\n cOrange: this.cOrangeColorLocal\n }\n },\n currentOpacity () {\n return {\n bg: this.bgOpacityLocal,\n btn: this.btnOpacityLocal,\n input: this.inputOpacityLocal,\n panel: this.panelOpacityLocal,\n topBar: this.topBarOpacityLocal,\n border: this.borderOpacityLocal,\n faint: this.faintOpacityLocal\n }\n },\n currentRadii () {\n return {\n btn: this.btnRadiusLocal,\n input: this.inputRadiusLocal,\n checkbox: this.checkboxRadiusLocal,\n panel: this.panelRadiusLocal,\n avatar: this.avatarRadiusLocal,\n avatarAlt: this.avatarAltRadiusLocal,\n tooltip: this.tooltipRadiusLocal,\n attachment: this.attachmentRadiusLocal\n }\n },\n preview () {\n return composePreset(this.previewColors, this.previewRadii, this.previewShadows, this.previewFonts)\n },\n previewTheme () {\n if (!this.preview.theme.colors) return { colors: {}, opacity: {}, radii: {}, shadows: {}, fonts: {} }\n return this.preview.theme\n },\n // This needs optimization maybe\n previewContrast () {\n if (!this.previewTheme.colors.bg) return {}\n const colors = this.previewTheme.colors\n const opacity = this.previewTheme.opacity\n if (!colors.bg) return {}\n const hints = (ratio) => ({\n text: ratio.toPrecision(3) + ':1',\n // AA level, AAA level\n aa: ratio >= 4.5,\n aaa: ratio >= 7,\n // same but for 18pt+ texts\n laa: ratio >= 3,\n laaa: ratio >= 4.5\n })\n\n // fgsfds :DDDD\n const fgs = {\n text: hex2rgb(colors.text),\n panelText: hex2rgb(colors.panelText),\n panelLink: hex2rgb(colors.panelLink),\n btnText: hex2rgb(colors.btnText),\n topBarText: hex2rgb(colors.topBarText),\n inputText: hex2rgb(colors.inputText),\n\n link: hex2rgb(colors.link),\n topBarLink: hex2rgb(colors.topBarLink),\n\n red: hex2rgb(colors.cRed),\n green: hex2rgb(colors.cGreen),\n blue: hex2rgb(colors.cBlue),\n orange: hex2rgb(colors.cOrange)\n }\n\n const bgs = {\n bg: hex2rgb(colors.bg),\n btn: hex2rgb(colors.btn),\n panel: hex2rgb(colors.panel),\n topBar: hex2rgb(colors.topBar),\n input: hex2rgb(colors.input),\n alertError: hex2rgb(colors.alertError),\n alertWarning: hex2rgb(colors.alertWarning),\n badgeNotification: hex2rgb(colors.badgeNotification)\n }\n\n /* This is a bit confusing because \"bottom layer\" used is text color\n * This is done to get worst case scenario when background below transparent\n * layer matches text color, making it harder to read the lower alpha is.\n */\n const ratios = {\n bgText: getContrastRatio(alphaBlend(bgs.bg, opacity.bg, fgs.text), fgs.text),\n bgLink: getContrastRatio(alphaBlend(bgs.bg, opacity.bg, fgs.link), fgs.link),\n bgRed: getContrastRatio(alphaBlend(bgs.bg, opacity.bg, fgs.red), fgs.red),\n bgGreen: getContrastRatio(alphaBlend(bgs.bg, opacity.bg, fgs.green), fgs.green),\n bgBlue: getContrastRatio(alphaBlend(bgs.bg, opacity.bg, fgs.blue), fgs.blue),\n bgOrange: getContrastRatio(alphaBlend(bgs.bg, opacity.bg, fgs.orange), fgs.orange),\n\n tintText: getContrastRatio(alphaBlend(bgs.bg, 0.5, fgs.panelText), fgs.text),\n\n panelText: getContrastRatio(alphaBlend(bgs.panel, opacity.panel, fgs.panelText), fgs.panelText),\n panelLink: getContrastRatio(alphaBlend(bgs.panel, opacity.panel, fgs.panelLink), fgs.panelLink),\n\n btnText: getContrastRatio(alphaBlend(bgs.btn, opacity.btn, fgs.btnText), fgs.btnText),\n\n inputText: getContrastRatio(alphaBlend(bgs.input, opacity.input, fgs.inputText), fgs.inputText),\n\n topBarText: getContrastRatio(alphaBlend(bgs.topBar, opacity.topBar, fgs.topBarText), fgs.topBarText),\n topBarLink: getContrastRatio(alphaBlend(bgs.topBar, opacity.topBar, fgs.topBarLink), fgs.topBarLink)\n }\n\n return Object.entries(ratios).reduce((acc, [k, v]) => { acc[k] = hints(v); return acc }, {})\n },\n previewRules () {\n if (!this.preview.rules) return ''\n return [\n ...Object.values(this.preview.rules),\n 'color: var(--text)',\n 'font-family: var(--interfaceFont, sans-serif)'\n ].join(';')\n },\n shadowsAvailable () {\n return Object.keys(this.previewTheme.shadows).sort()\n },\n currentShadowOverriden: {\n get () {\n return !!this.currentShadow\n },\n set (val) {\n if (val) {\n set(this.shadowsLocal, this.shadowSelected, this.currentShadowFallback.map(_ => Object.assign({}, _)))\n } else {\n del(this.shadowsLocal, this.shadowSelected)\n }\n }\n },\n currentShadowFallback () {\n return this.previewTheme.shadows[this.shadowSelected]\n },\n currentShadow: {\n get () {\n return this.shadowsLocal[this.shadowSelected]\n },\n set (v) {\n set(this.shadowsLocal, this.shadowSelected, v)\n }\n },\n themeValid () {\n return !this.shadowsInvalid && !this.colorsInvalid && !this.radiiInvalid\n },\n exportedTheme () {\n const saveEverything = (\n !this.keepFonts &&\n !this.keepShadows &&\n !this.keepOpacity &&\n !this.keepRoundness &&\n !this.keepColor\n )\n\n const theme = {}\n\n if (this.keepFonts || saveEverything) {\n theme.fonts = this.fontsLocal\n }\n if (this.keepShadows || saveEverything) {\n theme.shadows = this.shadowsLocal\n }\n if (this.keepOpacity || saveEverything) {\n theme.opacity = this.currentOpacity\n }\n if (this.keepColor || saveEverything) {\n theme.colors = this.currentColors\n }\n if (this.keepRoundness || saveEverything) {\n theme.radii = this.currentRadii\n }\n\n return {\n // To separate from other random JSON files and possible future theme formats\n _pleroma_theme_version: 2, theme\n }\n }\n },\n components: {\n ColorInput,\n OpacityInput,\n RangeInput,\n ContrastRatio,\n ShadowControl,\n FontControl,\n TabSwitcher,\n Preview,\n ExportImport,\n Checkbox\n },\n methods: {\n setCustomTheme () {\n this.$store.dispatch('setOption', {\n name: 'customTheme',\n value: {\n shadows: this.shadowsLocal,\n fonts: this.fontsLocal,\n opacity: this.currentOpacity,\n colors: this.currentColors,\n radii: this.currentRadii\n }\n })\n },\n onImport (parsed) {\n if (parsed._pleroma_theme_version === 1) {\n this.normalizeLocalState(parsed, 1)\n } else if (parsed._pleroma_theme_version === 2) {\n this.normalizeLocalState(parsed.theme, 2)\n }\n },\n importValidator (parsed) {\n const version = parsed._pleroma_theme_version\n return version >= 1 || version <= 2\n },\n clearAll () {\n const state = this.$store.getters.mergedConfig.customTheme\n const version = state.colors ? 2 : 'l1'\n this.normalizeLocalState(this.$store.getters.mergedConfig.customTheme, version)\n },\n\n // Clears all the extra stuff when loading V1 theme\n clearV1 () {\n Object.keys(this.$data)\n .filter(_ => _.endsWith('ColorLocal') || _.endsWith('OpacityLocal'))\n .filter(_ => !v1OnlyNames.includes(_))\n .forEach(key => {\n set(this.$data, key, undefined)\n })\n },\n\n clearRoundness () {\n Object.keys(this.$data)\n .filter(_ => _.endsWith('RadiusLocal'))\n .forEach(key => {\n set(this.$data, key, undefined)\n })\n },\n\n clearOpacity () {\n Object.keys(this.$data)\n .filter(_ => _.endsWith('OpacityLocal'))\n .forEach(key => {\n set(this.$data, key, undefined)\n })\n },\n\n clearShadows () {\n this.shadowsLocal = {}\n },\n\n clearFonts () {\n this.fontsLocal = {}\n },\n\n /**\n * This applies stored theme data onto form. Supports three versions of data:\n * v2 (version = 2) - newer version of themes.\n * v1 (version = 1) - older version of themes (import from file)\n * v1l (version = l1) - older version of theme (load from local storage)\n * v1 and v1l differ because of way themes were stored/exported.\n * @param {Object} input - input data\n * @param {Number} version - version of data. 0 means try to guess based on data. \"l1\" means v1, locastorage type\n */\n normalizeLocalState (input, version = 0) {\n const colors = input.colors || input\n const radii = input.radii || input\n const opacity = input.opacity\n const shadows = input.shadows || {}\n const fonts = input.fonts || {}\n\n if (version === 0) {\n if (input.version) version = input.version\n // Old v1 naming: fg is text, btn is foreground\n if (typeof colors.text === 'undefined' && typeof colors.fg !== 'undefined') {\n version = 1\n }\n // New v2 naming: text is text, fg is foreground\n if (typeof colors.text !== 'undefined' && typeof colors.fg !== 'undefined') {\n version = 2\n }\n }\n\n // Stuff that differs between V1 and V2\n if (version === 1) {\n this.fgColorLocal = rgb2hex(colors.btn)\n this.textColorLocal = rgb2hex(colors.fg)\n }\n\n if (!this.keepColor) {\n this.clearV1()\n const keys = new Set(version !== 1 ? Object.keys(colors) : [])\n if (version === 1 || version === 'l1') {\n keys\n .add('bg')\n .add('link')\n .add('cRed')\n .add('cBlue')\n .add('cGreen')\n .add('cOrange')\n }\n\n keys.forEach(key => {\n this[key + 'ColorLocal'] = rgb2hex(colors[key])\n })\n }\n\n if (!this.keepRoundness) {\n this.clearRoundness()\n Object.entries(radii).forEach(([k, v]) => {\n // 'Radius' is kept mostly for v1->v2 localstorage transition\n const key = k.endsWith('Radius') ? k.split('Radius')[0] : k\n this[key + 'RadiusLocal'] = v\n })\n }\n\n if (!this.keepShadows) {\n this.clearShadows()\n this.shadowsLocal = shadows\n this.shadowSelected = this.shadowsAvailable[0]\n }\n\n if (!this.keepFonts) {\n this.clearFonts()\n this.fontsLocal = fonts\n }\n\n if (opacity && !this.keepOpacity) {\n this.clearOpacity()\n Object.entries(opacity).forEach(([k, v]) => {\n if (typeof v === 'undefined' || v === null || Number.isNaN(v)) return\n this[k + 'OpacityLocal'] = v\n })\n }\n }\n },\n watch: {\n currentRadii () {\n try {\n this.previewRadii = generateRadii({ radii: this.currentRadii })\n this.radiiInvalid = false\n } catch (e) {\n this.radiiInvalid = true\n console.warn(e)\n }\n },\n shadowsLocal: {\n handler () {\n try {\n this.previewShadows = generateShadows({ shadows: this.shadowsLocal })\n this.shadowsInvalid = false\n } catch (e) {\n this.shadowsInvalid = true\n console.warn(e)\n }\n },\n deep: true\n },\n fontsLocal: {\n handler () {\n try {\n this.previewFonts = generateFonts({ fonts: this.fontsLocal })\n this.fontsInvalid = false\n } catch (e) {\n this.fontsInvalid = true\n console.warn(e)\n }\n },\n deep: true\n },\n currentColors () {\n try {\n this.previewColors = generateColors({\n opacity: this.currentOpacity,\n colors: this.currentColors\n })\n this.colorsInvalid = false\n } catch (e) {\n this.colorsInvalid = true\n console.warn(e)\n }\n },\n currentOpacity () {\n try {\n this.previewColors = generateColors({\n opacity: this.currentOpacity,\n colors: this.currentColors\n })\n } catch (e) {\n console.warn(e)\n }\n },\n selected () {\n if (this.selectedVersion === 1) {\n if (!this.keepRoundness) {\n this.clearRoundness()\n }\n\n if (!this.keepShadows) {\n this.clearShadows()\n }\n\n if (!this.keepOpacity) {\n this.clearOpacity()\n }\n\n if (!this.keepColor) {\n this.clearV1()\n\n this.bgColorLocal = this.selected[1]\n this.fgColorLocal = this.selected[2]\n this.textColorLocal = this.selected[3]\n this.linkColorLocal = this.selected[4]\n this.cRedColorLocal = this.selected[5]\n this.cGreenColorLocal = this.selected[6]\n this.cBlueColorLocal = this.selected[7]\n this.cOrangeColorLocal = this.selected[8]\n }\n } else if (this.selectedVersion >= 2) {\n this.normalizeLocalState(this.selected.theme, 2)\n }\n }\n }\n}\n","<template>\n <div\n class=\"color-control style-control\"\n :class=\"{ disabled: !present || disabled }\"\n >\n <label\n :for=\"name\"\n class=\"label\"\n >\n {{ label }}\n </label>\n <input\n v-if=\"typeof fallback !== 'undefined'\"\n :id=\"name + '-o'\"\n class=\"opt exlcude-disabled\"\n type=\"checkbox\"\n :checked=\"present\"\n @input=\"$emit('input', typeof value === 'undefined' ? fallback : undefined)\"\n >\n <label\n v-if=\"typeof fallback !== 'undefined'\"\n class=\"opt-l\"\n :for=\"name + '-o'\"\n />\n <input\n :id=\"name\"\n class=\"color-input\"\n type=\"color\"\n :value=\"value || fallback\"\n :disabled=\"!present || disabled\"\n @input=\"$emit('input', $event.target.value)\"\n >\n <input\n :id=\"name + '-t'\"\n class=\"text-input\"\n type=\"text\"\n :value=\"value || fallback\"\n :disabled=\"!present || disabled\"\n @input=\"$emit('input', $event.target.value)\"\n >\n </div>\n</template>\n\n<script>\nexport default {\n props: [\n 'name', 'label', 'value', 'fallback', 'disabled'\n ],\n computed: {\n present () {\n return typeof this.value !== 'undefined'\n }\n }\n}\n</script>\n\n<style lang=\"scss\">\n.color-control {\n input.text-input {\n max-width: 7em;\n flex: 1;\n }\n}\n</style>\n","<template>\n <div\n class=\"range-control style-control\"\n :class=\"{ disabled: !present || disabled }\"\n >\n <label\n :for=\"name\"\n class=\"label\"\n >\n {{ label }}\n </label>\n <input\n v-if=\"typeof fallback !== 'undefined'\"\n :id=\"name + '-o'\"\n class=\"opt exclude-disabled\"\n type=\"checkbox\"\n :checked=\"present\"\n @input=\"$emit('input', !present ? fallback : undefined)\"\n >\n <label\n v-if=\"typeof fallback !== 'undefined'\"\n class=\"opt-l\"\n :for=\"name + '-o'\"\n />\n <input\n :id=\"name\"\n class=\"input-number\"\n type=\"range\"\n :value=\"value || fallback\"\n :disabled=\"!present || disabled\"\n :max=\"max || hardMax || 100\"\n :min=\"min || hardMin || 0\"\n :step=\"step || 1\"\n @input=\"$emit('input', $event.target.value)\"\n >\n <input\n :id=\"name\"\n class=\"input-number\"\n type=\"number\"\n :value=\"value || fallback\"\n :disabled=\"!present || disabled\"\n :max=\"hardMax\"\n :min=\"hardMin\"\n :step=\"step || 1\"\n @input=\"$emit('input', $event.target.value)\"\n >\n </div>\n</template>\n\n<script>\nexport default {\n props: [\n 'name', 'value', 'fallback', 'disabled', 'label', 'max', 'min', 'step', 'hardMin', 'hardMax'\n ],\n computed: {\n present () {\n return typeof this.value !== 'undefined'\n }\n }\n}\n</script>\n","<template>\n <div\n class=\"opacity-control style-control\"\n :class=\"{ disabled: !present || disabled }\"\n >\n <label\n :for=\"name\"\n class=\"label\"\n >\n {{ $t('settings.style.common.opacity') }}\n </label>\n <input\n v-if=\"typeof fallback !== 'undefined'\"\n :id=\"name + '-o'\"\n class=\"opt exclude-disabled\"\n type=\"checkbox\"\n :checked=\"present\"\n @input=\"$emit('input', !present ? fallback : undefined)\"\n >\n <label\n v-if=\"typeof fallback !== 'undefined'\"\n class=\"opt-l\"\n :for=\"name + '-o'\"\n />\n <input\n :id=\"name\"\n class=\"input-number\"\n type=\"number\"\n :value=\"value || fallback\"\n :disabled=\"!present || disabled\"\n max=\"1\"\n min=\"0\"\n step=\".05\"\n @input=\"$emit('input', $event.target.value)\"\n >\n </div>\n</template>\n\n<script>\nexport default {\n props: [\n 'name', 'value', 'fallback', 'disabled'\n ],\n computed: {\n present () {\n return typeof this.value !== 'undefined'\n }\n }\n}\n</script>\n","import ColorInput from '../color_input/color_input.vue'\nimport OpacityInput from '../opacity_input/opacity_input.vue'\nimport { getCssShadow } from '../../services/style_setter/style_setter.js'\nimport { hex2rgb } from '../../services/color_convert/color_convert.js'\n\nexport default {\n // 'Value' and 'Fallback' can be undefined, but if they are\n // initially vue won't detect it when they become something else\n // therefore i'm using \"ready\" which should be passed as true when\n // data becomes available\n props: [\n 'value', 'fallback', 'ready'\n ],\n data () {\n return {\n selectedId: 0,\n // TODO there are some bugs regarding display of array (it's not getting updated when deleting for some reason)\n cValue: this.value || this.fallback || []\n }\n },\n components: {\n ColorInput,\n OpacityInput\n },\n methods: {\n add () {\n this.cValue.push(Object.assign({}, this.selected))\n this.selectedId = this.cValue.length - 1\n },\n del () {\n this.cValue.splice(this.selectedId, 1)\n this.selectedId = this.cValue.length === 0 ? undefined : this.selectedId - 1\n },\n moveUp () {\n const movable = this.cValue.splice(this.selectedId, 1)[0]\n this.cValue.splice(this.selectedId - 1, 0, movable)\n this.selectedId -= 1\n },\n moveDn () {\n const movable = this.cValue.splice(this.selectedId, 1)[0]\n this.cValue.splice(this.selectedId + 1, 0, movable)\n this.selectedId += 1\n }\n },\n beforeUpdate () {\n this.cValue = this.value || this.fallback\n },\n computed: {\n selected () {\n if (this.ready && this.cValue.length > 0) {\n return this.cValue[this.selectedId]\n } else {\n return {\n x: 0,\n y: 0,\n blur: 0,\n spread: 0,\n inset: false,\n color: '#000000',\n alpha: 1\n }\n }\n },\n moveUpValid () {\n return this.ready && this.selectedId > 0\n },\n moveDnValid () {\n return this.ready && this.selectedId < this.cValue.length - 1\n },\n present () {\n return this.ready &&\n typeof this.cValue[this.selectedId] !== 'undefined' &&\n !this.usingFallback\n },\n usingFallback () {\n return typeof this.value === 'undefined'\n },\n rgb () {\n return hex2rgb(this.selected.color)\n },\n style () {\n return this.ready ? {\n boxShadow: getCssShadow(this.cValue)\n } : {}\n }\n }\n}\n","import { set } from 'vue'\n\nexport default {\n props: [\n 'name', 'label', 'value', 'fallback', 'options', 'no-inherit'\n ],\n data () {\n return {\n lValue: this.value,\n availableOptions: [\n this.noInherit ? '' : 'inherit',\n 'custom',\n ...(this.options || []),\n 'serif',\n 'monospace',\n 'sans-serif'\n ].filter(_ => _)\n }\n },\n beforeUpdate () {\n this.lValue = this.value\n },\n computed: {\n present () {\n return typeof this.lValue !== 'undefined'\n },\n dValue () {\n return this.lValue || this.fallback || {}\n },\n family: {\n get () {\n return this.dValue.family\n },\n set (v) {\n set(this.lValue, 'family', v)\n this.$emit('input', this.lValue)\n }\n },\n isCustom () {\n return this.preset === 'custom'\n },\n preset: {\n get () {\n if (this.family === 'serif' ||\n this.family === 'sans-serif' ||\n this.family === 'monospace' ||\n this.family === 'inherit') {\n return this.family\n } else {\n return 'custom'\n }\n },\n set (v) {\n this.family = v === 'custom' ? '' : v\n }\n }\n }\n}\n","<template>\n <span\n v-if=\"contrast\"\n class=\"contrast-ratio\"\n >\n <span\n :title=\"hint\"\n class=\"rating\"\n >\n <span v-if=\"contrast.aaa\">\n <i class=\"icon-thumbs-up-alt\" />\n </span>\n <span v-if=\"!contrast.aaa && contrast.aa\">\n <i class=\"icon-adjust\" />\n </span>\n <span v-if=\"!contrast.aaa && !contrast.aa\">\n <i class=\"icon-attention\" />\n </span>\n </span>\n <span\n v-if=\"contrast && large\"\n class=\"rating\"\n :title=\"hint_18pt\"\n >\n <span v-if=\"contrast.laaa\">\n <i class=\"icon-thumbs-up-alt\" />\n </span>\n <span v-if=\"!contrast.laaa && contrast.laa\">\n <i class=\"icon-adjust\" />\n </span>\n <span v-if=\"!contrast.laaa && !contrast.laa\">\n <i class=\"icon-attention\" />\n </span>\n </span>\n </span>\n</template>\n\n<script>\nexport default {\n props: [\n 'large', 'contrast'\n ],\n computed: {\n hint () {\n const levelVal = this.contrast.aaa ? 'aaa' : (this.contrast.aa ? 'aa' : 'bad')\n const level = this.$t(`settings.style.common.contrast.level.${levelVal}`)\n const context = this.$t('settings.style.common.contrast.context.text')\n const ratio = this.contrast.text\n return this.$t('settings.style.common.contrast.hint', { level, context, ratio })\n },\n hint_18pt () {\n const levelVal = this.contrast.laaa ? 'aaa' : (this.contrast.laa ? 'aa' : 'bad')\n const level = this.$t(`settings.style.common.contrast.level.${levelVal}`)\n const context = this.$t('settings.style.common.contrast.context.18pt')\n const ratio = this.contrast.text\n return this.$t('settings.style.common.contrast.hint', { level, context, ratio })\n }\n }\n}\n</script>\n\n<style lang=\"scss\">\n.contrast-ratio {\n display: flex;\n justify-content: flex-end;\n\n margin-top: -4px;\n margin-bottom: 5px;\n\n .label {\n margin-right: 1em;\n }\n\n .rating {\n display: inline-block;\n text-align: center;\n }\n}\n</style>\n","<template>\n <div class=\"import-export-container\">\n <slot name=\"before\" />\n <button\n class=\"btn\"\n @click=\"exportData\"\n >\n {{ exportLabel }}\n </button>\n <button\n class=\"btn\"\n @click=\"importData\"\n >\n {{ importLabel }}\n </button>\n <slot name=\"afterButtons\" />\n <p\n v-if=\"importFailed\"\n class=\"alert error\"\n >\n {{ importFailedText }}\n </p>\n <slot name=\"afterError\" />\n </div>\n</template>\n\n<script>\nexport default {\n props: [\n 'exportObject',\n 'importLabel',\n 'exportLabel',\n 'importFailedText',\n 'validator',\n 'onImport',\n 'onImportFailure'\n ],\n data () {\n return {\n importFailed: false\n }\n },\n methods: {\n exportData () {\n const stringified = JSON.stringify(this.exportObject) // Pretty-print and indent with 2 spaces\n\n // Create an invisible link with a data url and simulate a click\n const e = document.createElement('a')\n e.setAttribute('download', 'pleroma_theme.json')\n e.setAttribute('href', 'data:application/json;base64,' + window.btoa(stringified))\n e.style.display = 'none'\n\n document.body.appendChild(e)\n e.click()\n document.body.removeChild(e)\n },\n importData () {\n this.importFailed = false\n const filePicker = document.createElement('input')\n filePicker.setAttribute('type', 'file')\n filePicker.setAttribute('accept', '.json')\n\n filePicker.addEventListener('change', event => {\n if (event.target.files[0]) {\n // eslint-disable-next-line no-undef\n const reader = new FileReader()\n reader.onload = ({ target }) => {\n try {\n const parsed = JSON.parse(target.result)\n const valid = this.validator(parsed)\n if (valid) {\n this.onImport(parsed)\n } else {\n this.importFailed = true\n // this.onImportFailure(valid)\n }\n } catch (e) {\n // This will happen both if there is a JSON syntax error or the theme is missing components\n this.importFailed = true\n // this.onImportFailure(e)\n }\n }\n reader.readAsText(event.target.files[0])\n }\n })\n\n document.body.appendChild(filePicker)\n filePicker.click()\n document.body.removeChild(filePicker)\n }\n }\n}\n</script>\n\n<style lang=\"scss\">\n.import-export-container {\n display: flex;\n flex-wrap: wrap;\n align-items: baseline;\n justify-content: center;\n}\n</style>\n","<template>\n <div>\n <label for=\"interface-language-switcher\">\n {{ $t('settings.interfaceLanguage') }}\n </label>\n <label\n for=\"interface-language-switcher\"\n class=\"select\"\n >\n <select\n id=\"interface-language-switcher\"\n v-model=\"language\"\n >\n <option\n v-for=\"(langCode, i) in languageCodes\"\n :key=\"langCode\"\n :value=\"langCode\"\n >\n {{ languageNames[i] }}\n </option>\n </select>\n <i class=\"icon-down-open\" />\n </label>\n </div>\n</template>\n\n<script>\nimport languagesObject from '../../i18n/messages'\nimport ISO6391 from 'iso-639-1'\nimport _ from 'lodash'\n\nexport default {\n computed: {\n languageCodes () {\n return Object.keys(languagesObject)\n },\n\n languageNames () {\n return _.map(this.languageCodes, this.getLanguageName)\n },\n\n language: {\n get: function () { return this.$store.getters.mergedConfig.interfaceLanguage },\n set: function (val) {\n this.$store.dispatch('setOption', { name: 'interfaceLanguage', value: val })\n this.$i18n.locale = val\n }\n }\n },\n\n methods: {\n getLanguageName (code) {\n const specialLanguageNames = {\n 'ja': 'Japanese (日本語)',\n 'ja_easy': 'Japanese (やさしいにほんご)',\n 'zh': 'Chinese (简体中文)'\n }\n return specialLanguageNames[code] || ISO6391.getName(code)\n }\n }\n}\n</script>\n","import { validationMixin } from 'vuelidate'\nimport { required, sameAs } from 'vuelidate/lib/validators'\nimport { mapActions, mapState } from 'vuex'\n\nconst registration = {\n mixins: [validationMixin],\n data: () => ({\n user: {\n email: '',\n fullname: '',\n username: '',\n password: '',\n confirm: ''\n },\n captcha: {}\n }),\n validations: {\n user: {\n email: { required },\n username: { required },\n fullname: { required },\n password: { required },\n confirm: {\n required,\n sameAsPassword: sameAs('password')\n }\n }\n },\n created () {\n if ((!this.registrationOpen && !this.token) || this.signedIn) {\n this.$router.push({ name: 'root' })\n }\n\n this.setCaptcha()\n },\n computed: {\n token () { return this.$route.params.token },\n bioPlaceholder () {\n return this.$t('registration.bio_placeholder').replace(/\\s*\\n\\s*/g, ' \\n')\n },\n ...mapState({\n registrationOpen: (state) => state.instance.registrationOpen,\n signedIn: (state) => !!state.users.currentUser,\n isPending: (state) => state.users.signUpPending,\n serverValidationErrors: (state) => state.users.signUpErrors,\n termsOfService: (state) => state.instance.tos\n })\n },\n methods: {\n ...mapActions(['signUp', 'getCaptcha']),\n async submit () {\n this.user.nickname = this.user.username\n this.user.token = this.token\n\n this.user.captcha_solution = this.captcha.solution\n this.user.captcha_token = this.captcha.token\n this.user.captcha_answer_data = this.captcha.answer_data\n\n this.$v.$touch()\n\n if (!this.$v.$invalid) {\n try {\n await this.signUp(this.user)\n this.$router.push({ name: 'friends' })\n } catch (error) {\n console.warn('Registration failed: ' + error)\n }\n }\n },\n setCaptcha () {\n this.getCaptcha().then(cpt => { this.captcha = cpt })\n }\n }\n}\n\nexport default registration\n","import { mapState } from 'vuex'\nimport passwordResetApi from '../../services/new_api/password_reset.js'\n\nconst passwordReset = {\n data: () => ({\n user: {\n email: ''\n },\n isPending: false,\n success: false,\n throttled: false,\n error: null\n }),\n computed: {\n ...mapState({\n signedIn: (state) => !!state.users.currentUser,\n instance: state => state.instance\n }),\n mailerEnabled () {\n return this.instance.mailerEnabled\n }\n },\n created () {\n if (this.signedIn) {\n this.$router.push({ name: 'root' })\n }\n },\n props: {\n passwordResetRequested: {\n default: false,\n type: Boolean\n }\n },\n methods: {\n dismissError () {\n this.error = null\n },\n submit () {\n this.isPending = true\n const email = this.user.email\n const instance = this.instance.server\n\n passwordResetApi({ instance, email }).then(({ status }) => {\n this.isPending = false\n this.user.email = ''\n\n if (status === 204) {\n this.success = true\n this.error = null\n } else if (status === 404 || status === 400) {\n this.error = this.$t('password_reset.not_found')\n this.$nextTick(() => {\n this.$refs.email.focus()\n })\n } else if (status === 429) {\n this.throttled = true\n this.error = this.$t('password_reset.too_many_requests')\n }\n }).catch(() => {\n this.isPending = false\n this.user.email = ''\n this.error = this.$t('general.generic_error')\n })\n }\n }\n}\n\nexport default passwordReset\n","import unescape from 'lodash/unescape'\nimport get from 'lodash/get'\nimport map from 'lodash/map'\nimport reject from 'lodash/reject'\nimport TabSwitcher from '../tab_switcher/tab_switcher.js'\nimport ImageCropper from '../image_cropper/image_cropper.vue'\nimport StyleSwitcher from '../style_switcher/style_switcher.vue'\nimport ScopeSelector from '../scope_selector/scope_selector.vue'\nimport fileSizeFormatService from '../../services/file_size_format/file_size_format.js'\nimport BlockCard from '../block_card/block_card.vue'\nimport MuteCard from '../mute_card/mute_card.vue'\nimport SelectableList from '../selectable_list/selectable_list.vue'\nimport ProgressButton from '../progress_button/progress_button.vue'\nimport EmojiInput from '../emoji_input/emoji_input.vue'\nimport suggestor from '../emoji_input/suggestor.js'\nimport Autosuggest from '../autosuggest/autosuggest.vue'\nimport Importer from '../importer/importer.vue'\nimport Exporter from '../exporter/exporter.vue'\nimport withSubscription from '../../hocs/with_subscription/with_subscription'\nimport Checkbox from '../checkbox/checkbox.vue'\nimport Mfa from './mfa.vue'\n\nconst BlockList = withSubscription({\n fetch: (props, $store) => $store.dispatch('fetchBlocks'),\n select: (props, $store) => get($store.state.users.currentUser, 'blockIds', []),\n childPropName: 'items'\n})(SelectableList)\n\nconst MuteList = withSubscription({\n fetch: (props, $store) => $store.dispatch('fetchMutes'),\n select: (props, $store) => get($store.state.users.currentUser, 'muteIds', []),\n childPropName: 'items'\n})(SelectableList)\n\nconst UserSettings = {\n data () {\n return {\n newEmail: '',\n newName: this.$store.state.users.currentUser.name,\n newBio: unescape(this.$store.state.users.currentUser.description),\n newLocked: this.$store.state.users.currentUser.locked,\n newNoRichText: this.$store.state.users.currentUser.no_rich_text,\n newDefaultScope: this.$store.state.users.currentUser.default_scope,\n hideFollows: this.$store.state.users.currentUser.hide_follows,\n hideFollowers: this.$store.state.users.currentUser.hide_followers,\n hideFollowsCount: this.$store.state.users.currentUser.hide_follows_count,\n hideFollowersCount: this.$store.state.users.currentUser.hide_followers_count,\n showRole: this.$store.state.users.currentUser.show_role,\n role: this.$store.state.users.currentUser.role,\n discoverable: this.$store.state.users.currentUser.discoverable,\n pickAvatarBtnVisible: true,\n bannerUploading: false,\n backgroundUploading: false,\n banner: null,\n bannerPreview: null,\n background: null,\n backgroundPreview: null,\n bannerUploadError: null,\n backgroundUploadError: null,\n mascot: this.$store.state.users.currentUser.mascot,\n mascotPreview: null,\n mascotUploadError: null,\n changeEmailError: false,\n changeEmailPassword: '',\n changedEmail: false,\n deletingAccount: false,\n deleteAccountConfirmPasswordInput: '',\n deleteAccountError: false,\n changePasswordInputs: [ '', '', '' ],\n changedPassword: false,\n changePasswordError: false,\n activeTab: 'profile',\n notificationSettings: this.$store.state.users.currentUser.notification_settings\n }\n },\n created () {\n this.$store.dispatch('fetchTokens')\n this.$store.dispatch('fetchMascot')\n },\n components: {\n StyleSwitcher,\n ScopeSelector,\n TabSwitcher,\n ImageCropper,\n BlockList,\n MuteList,\n EmojiInput,\n Autosuggest,\n BlockCard,\n MuteCard,\n ProgressButton,\n Importer,\n Exporter,\n Mfa,\n Checkbox\n },\n computed: {\n user () {\n return this.$store.state.users.currentUser\n },\n emojiUserSuggestor () {\n return suggestor({\n emoji: [\n ...this.$store.state.instance.emoji,\n ...this.$store.state.instance.customEmoji\n ],\n users: this.$store.state.users.users,\n updateUsersList: (input) => this.$store.dispatch('searchUsers', input)\n })\n },\n emojiSuggestor () {\n return suggestor({ emoji: [\n ...this.$store.state.instance.emoji,\n ...this.$store.state.instance.customEmoji\n ] })\n },\n pleromaBackend () {\n return this.$store.state.instance.pleromaBackend\n },\n minimalScopesMode () {\n return this.$store.state.instance.minimalScopesMode\n },\n vis () {\n return {\n public: { selected: this.newDefaultScope === 'public' },\n unlisted: { selected: this.newDefaultScope === 'unlisted' },\n private: { selected: this.newDefaultScope === 'private' },\n direct: { selected: this.newDefaultScope === 'direct' }\n }\n },\n currentSaveStateNotice () {\n return this.$store.state.interface.settings.currentSaveStateNotice\n },\n oauthTokens () {\n return this.$store.state.oauthTokens.tokens.map(oauthToken => {\n return {\n id: oauthToken.id,\n appName: oauthToken.app_name,\n validUntil: new Date(oauthToken.valid_until).toLocaleDateString()\n }\n })\n }\n },\n methods: {\n updateProfile () {\n this.$store.state.api.backendInteractor\n .updateProfile({\n params: {\n note: this.newBio,\n locked: this.newLocked,\n // Backend notation.\n /* eslint-disable camelcase */\n display_name: this.newName,\n default_scope: this.newDefaultScope,\n no_rich_text: this.newNoRichText,\n hide_follows: this.hideFollows,\n hide_followers: this.hideFollowers,\n discoverable: this.discoverable,\n hide_follows_count: this.hideFollowsCount,\n hide_followers_count: this.hideFollowersCount,\n show_role: this.showRole\n /* eslint-enable camelcase */\n } }).then((user) => {\n this.$store.commit('addNewUsers', [user])\n this.$store.commit('setCurrentUser', user)\n })\n },\n updateNotificationSettings () {\n this.$store.state.api.backendInteractor\n .updateNotificationSettings({ settings: this.notificationSettings })\n },\n changeVis (visibility) {\n this.newDefaultScope = visibility\n },\n uploadFile (slot, e) {\n const file = e.target.files[0]\n if (!file) { return }\n if (file.size > this.$store.state.instance[slot + 'limit']) {\n const filesize = fileSizeFormatService.fileSizeFormat(file.size)\n const allowedsize = fileSizeFormatService.fileSizeFormat(this.$store.state.instance[slot + 'limit'])\n this[slot + 'UploadError'] = this.$t('upload.error.base') + ' ' + this.$t('upload.error.file_too_big', { filesize: filesize.num, filesizeunit: filesize.unit, allowedsize: allowedsize.num, allowedsizeunit: allowedsize.unit })\n return\n }\n // eslint-disable-next-line no-undef\n const reader = new FileReader()\n reader.onload = ({ target }) => {\n const img = target.result\n this[slot + 'Preview'] = img\n this[slot] = file\n }\n reader.readAsDataURL(file)\n },\n submitAvatar (cropper, file) {\n const that = this\n return new Promise((resolve, reject) => {\n function updateAvatar (avatar) {\n that.$store.state.api.backendInteractor.updateAvatar({ avatar })\n .then((user) => {\n that.$store.commit('addNewUsers', [user])\n that.$store.commit('setCurrentUser', user)\n resolve()\n })\n .catch((err) => {\n reject(new Error(that.$t('upload.error.base') + ' ' + err.message))\n })\n }\n\n if (cropper) {\n cropper.getCroppedCanvas().toBlob(updateAvatar, file.type)\n } else {\n updateAvatar(file)\n }\n })\n },\n clearUploadError (slot) {\n this[slot + 'UploadError'] = null\n },\n submitBanner () {\n if (!this.bannerPreview) { return }\n\n this.bannerUploading = true\n this.$store.state.api.backendInteractor.updateBanner({ banner: this.banner })\n .then((user) => {\n this.$store.commit('addNewUsers', [user])\n this.$store.commit('setCurrentUser', user)\n this.bannerPreview = null\n })\n .catch((err) => {\n this.bannerUploadError = this.$t('upload.error.base') + ' ' + err.message\n })\n .then(() => { this.bannerUploading = false })\n },\n submitBg () {\n if (!this.backgroundPreview) { return }\n let background = this.background\n this.backgroundUploading = true\n this.$store.state.api.backendInteractor.updateBg({ background }).then((data) => {\n if (!data.error) {\n this.$store.commit('addNewUsers', [data])\n this.$store.commit('setCurrentUser', data)\n this.backgroundPreview = null\n } else {\n this.backgroundUploadError = this.$t('upload.error.base') + data.error\n }\n this.backgroundUploading = false\n })\n },\n submitMascot () {\n if (!this.mascotPreview) { return }\n let mascot = this.mascot\n this.mascotUploading = true\n this.$store.state.api.backendInteractor.updateMascot({ mascot }).then((data) => {\n if (!data.error) {\n this.mascotPreview = null\n this.$store.commit('updateMascot', data.url)\n } else {\n this.mascotUploadError = this.$t('upload.error.base') + ' ' + data.error\n }\n this.mascotUploading = false\n })\n },\n importFollows (file) {\n return this.$store.state.api.backendInteractor.importFollows(file)\n .then((status) => {\n if (!status) {\n throw new Error('failed')\n }\n })\n },\n importBlocks (file) {\n return this.$store.state.api.backendInteractor.importBlocks(file)\n .then((status) => {\n if (!status) {\n throw new Error('failed')\n }\n })\n },\n generateExportableUsersContent (users) {\n // Get addresses\n return users.map((user) => {\n // check is it's a local user\n if (user && user.is_local) {\n // append the instance address\n // eslint-disable-next-line no-undef\n return user.screen_name + '@' + location.hostname\n }\n return user.screen_name\n }).join('\\n')\n },\n getFollowsContent () {\n return this.$store.state.api.backendInteractor.exportFriends({ id: this.$store.state.users.currentUser.id })\n .then(this.generateExportableUsersContent)\n },\n getBlocksContent () {\n return this.$store.state.api.backendInteractor.fetchBlocks()\n .then(this.generateExportableUsersContent)\n },\n confirmDelete () {\n this.deletingAccount = true\n },\n deleteAccount () {\n this.$store.state.api.backendInteractor.deleteAccount({ password: this.deleteAccountConfirmPasswordInput })\n .then((res) => {\n if (res.status === 'success') {\n this.$store.dispatch('logout')\n this.$router.push({ name: 'root' })\n } else {\n this.deleteAccountError = res.error\n }\n })\n },\n changePassword () {\n const params = {\n password: this.changePasswordInputs[0],\n newPassword: this.changePasswordInputs[1],\n newPasswordConfirmation: this.changePasswordInputs[2]\n }\n this.$store.state.api.backendInteractor.changePassword(params)\n .then((res) => {\n if (res.status === 'success') {\n this.changedPassword = true\n this.changePasswordError = false\n this.logout()\n } else {\n this.changedPassword = false\n this.changePasswordError = res.error\n }\n })\n },\n changeEmail () {\n const params = {\n email: this.newEmail,\n password: this.changeEmailPassword\n }\n this.$store.state.api.backendInteractor.changeEmail(params)\n .then((res) => {\n if (res.status === 'success') {\n this.changedEmail = true\n this.changeEmailError = false\n } else {\n this.changedEmail = false\n this.changeEmailError = res.error\n }\n })\n },\n activateTab (tabName) {\n this.activeTab = tabName\n },\n logout () {\n this.$store.dispatch('logout')\n this.$router.replace('/')\n },\n revokeToken (id) {\n if (window.confirm(`${this.$i18n.t('settings.revoke_token')}?`)) {\n this.$store.dispatch('revokeToken', id)\n }\n },\n filterUnblockedUsers (userIds) {\n return reject(userIds, (userId) => {\n const user = this.$store.getters.findUser(userId)\n return !user || user.statusnet_blocking || user.id === this.$store.state.users.currentUser.id\n })\n },\n filterUnMutedUsers (userIds) {\n return reject(userIds, (userId) => {\n const user = this.$store.getters.findUser(userId)\n return !user || user.muted || user.id === this.$store.state.users.currentUser.id\n })\n },\n queryUserIds (query) {\n return this.$store.dispatch('searchUsers', query)\n .then((users) => map(users, 'id'))\n },\n blockUsers (ids) {\n return this.$store.dispatch('blockUsers', ids)\n },\n unblockUsers (ids) {\n return this.$store.dispatch('unblockUsers', ids)\n },\n muteUsers (ids) {\n return this.$store.dispatch('muteUsers', ids)\n },\n unmuteUsers (ids) {\n return this.$store.dispatch('unmuteUsers', ids)\n },\n identity (value) {\n return value\n }\n }\n}\n\nexport default UserSettings\n","import Cropper from 'cropperjs'\nimport 'cropperjs/dist/cropper.css'\n\nconst ImageCropper = {\n props: {\n trigger: {\n type: [String, window.Element],\n required: true\n },\n submitHandler: {\n type: Function,\n required: true\n },\n cropperOptions: {\n type: Object,\n default () {\n return {\n aspectRatio: 1,\n autoCropArea: 1,\n viewMode: 1,\n movable: false,\n zoomable: false,\n guides: false\n }\n }\n },\n mimes: {\n type: String,\n default: 'image/png, image/gif, image/jpeg, image/bmp, image/x-icon'\n },\n saveButtonLabel: {\n type: String\n },\n saveWithoutCroppingButtonlabel: {\n type: String\n },\n cancelButtonLabel: {\n type: String\n }\n },\n data () {\n return {\n cropper: undefined,\n dataUrl: undefined,\n filename: undefined,\n submitting: false,\n submitError: null\n }\n },\n computed: {\n saveText () {\n return this.saveButtonLabel || this.$t('image_cropper.save')\n },\n saveWithoutCroppingText () {\n return this.saveWithoutCroppingButtonlabel || this.$t('image_cropper.save_without_cropping')\n },\n cancelText () {\n return this.cancelButtonLabel || this.$t('image_cropper.cancel')\n },\n submitErrorMsg () {\n return this.submitError && this.submitError instanceof Error ? this.submitError.toString() : this.submitError\n }\n },\n methods: {\n destroy () {\n if (this.cropper) {\n this.cropper.destroy()\n }\n this.$refs.input.value = ''\n this.dataUrl = undefined\n this.$emit('close')\n },\n submit (cropping = true) {\n this.submitting = true\n this.avatarUploadError = null\n this.submitHandler(cropping && this.cropper, this.file)\n .then(() => this.destroy())\n .catch((err) => {\n this.submitError = err\n })\n .finally(() => {\n this.submitting = false\n })\n },\n pickImage () {\n this.$refs.input.click()\n },\n createCropper () {\n this.cropper = new Cropper(this.$refs.img, this.cropperOptions)\n },\n getTriggerDOM () {\n return typeof this.trigger === 'object' ? this.trigger : document.querySelector(this.trigger)\n },\n readFile () {\n const fileInput = this.$refs.input\n if (fileInput.files != null && fileInput.files[0] != null) {\n this.file = fileInput.files[0]\n let reader = new window.FileReader()\n reader.onload = (e) => {\n this.dataUrl = e.target.result\n this.$emit('open')\n }\n reader.readAsDataURL(this.file)\n this.$emit('changed', this.file, reader)\n }\n },\n clearError () {\n this.submitError = null\n }\n },\n mounted () {\n // listen for click event on trigger\n const trigger = this.getTriggerDOM()\n if (!trigger) {\n this.$emit('error', 'No image make trigger found.', 'user')\n } else {\n trigger.addEventListener('click', this.pickImage)\n }\n // listen for input file changes\n const fileInput = this.$refs.input\n fileInput.addEventListener('change', this.readFile)\n },\n beforeDestroy: function () {\n // remove the event listeners\n const trigger = this.getTriggerDOM()\n if (trigger) {\n trigger.removeEventListener('click', this.pickImage)\n }\n const fileInput = this.$refs.input\n fileInput.removeEventListener('change', this.readFile)\n }\n}\n\nexport default ImageCropper\n","import BasicUserCard from '../basic_user_card/basic_user_card.vue'\n\nconst BlockCard = {\n props: ['userId'],\n data () {\n return {\n progress: false\n }\n },\n computed: {\n user () {\n return this.$store.getters.findUser(this.userId)\n },\n blocked () {\n return this.user.statusnet_blocking\n }\n },\n components: {\n BasicUserCard\n },\n methods: {\n unblockUser () {\n this.progress = true\n this.$store.dispatch('unblockUser', this.user.id).then(() => {\n this.progress = false\n })\n },\n blockUser () {\n this.progress = true\n this.$store.dispatch('blockUser', this.user.id).then(() => {\n this.progress = false\n })\n }\n }\n}\n\nexport default BlockCard\n","import BasicUserCard from '../basic_user_card/basic_user_card.vue'\n\nconst MuteCard = {\n props: ['userId'],\n data () {\n return {\n progress: false\n }\n },\n computed: {\n user () {\n return this.$store.getters.findUser(this.userId)\n },\n muted () {\n return this.user.muted\n }\n },\n components: {\n BasicUserCard\n },\n methods: {\n unmuteUser () {\n this.progress = true\n this.$store.dispatch('unmuteUser', this.user.id).then(() => {\n this.progress = false\n })\n },\n muteUser () {\n this.progress = true\n this.$store.dispatch('muteUser', this.user.id).then(() => {\n this.progress = false\n })\n }\n }\n}\n\nexport default MuteCard\n","import List from '../list/list.vue'\nimport Checkbox from '../checkbox/checkbox.vue'\n\nconst SelectableList = {\n components: {\n List,\n Checkbox\n },\n props: {\n items: {\n type: Array,\n default: () => []\n },\n getKey: {\n type: Function,\n default: item => item.id\n }\n },\n data () {\n return {\n selected: []\n }\n },\n computed: {\n allKeys () {\n return this.items.map(this.getKey)\n },\n filteredSelected () {\n return this.allKeys.filter(key => this.selected.indexOf(key) !== -1)\n },\n allSelected () {\n return this.filteredSelected.length === this.items.length\n },\n noneSelected () {\n return this.filteredSelected.length === 0\n },\n someSelected () {\n return !this.allSelected && !this.noneSelected\n }\n },\n methods: {\n isSelected (item) {\n return this.filteredSelected.indexOf(this.getKey(item)) !== -1\n },\n toggle (checked, item) {\n const key = this.getKey(item)\n const oldChecked = this.isSelected(key)\n if (checked !== oldChecked) {\n if (checked) {\n this.selected.push(key)\n } else {\n this.selected.splice(this.selected.indexOf(key), 1)\n }\n }\n },\n toggleAll (value) {\n if (value) {\n this.selected = this.allKeys.slice(0)\n } else {\n this.selected = []\n }\n }\n }\n}\n\nexport default SelectableList\n","const debounceMilliseconds = 500\n\nexport default {\n props: {\n query: { // function to query results and return a promise\n type: Function,\n required: true\n },\n filter: { // function to filter results in real time\n type: Function\n },\n placeholder: {\n type: String,\n default: 'Search...'\n }\n },\n data () {\n return {\n term: '',\n timeout: null,\n results: [],\n resultsVisible: false\n }\n },\n computed: {\n filtered () {\n return this.filter ? this.filter(this.results) : this.results\n }\n },\n watch: {\n term (val) {\n this.fetchResults(val)\n }\n },\n methods: {\n fetchResults (term) {\n clearTimeout(this.timeout)\n this.timeout = setTimeout(() => {\n this.results = []\n if (term) {\n this.query(term).then((results) => { this.results = results })\n }\n }, debounceMilliseconds)\n },\n onInputClick () {\n this.resultsVisible = true\n },\n onClickOutside () {\n this.resultsVisible = false\n }\n }\n}\n","const Importer = {\n props: {\n submitHandler: {\n type: Function,\n required: true\n },\n submitButtonLabel: {\n type: String,\n default () {\n return this.$t('importer.submit')\n }\n },\n successMessage: {\n type: String,\n default () {\n return this.$t('importer.success')\n }\n },\n errorMessage: {\n type: String,\n default () {\n return this.$t('importer.error')\n }\n }\n },\n data () {\n return {\n file: null,\n error: false,\n success: false,\n submitting: false\n }\n },\n methods: {\n change () {\n this.file = this.$refs.input.files[0]\n },\n submit () {\n this.dismiss()\n this.submitting = true\n this.submitHandler(this.file)\n .then(() => { this.success = true })\n .catch(() => { this.error = true })\n .finally(() => { this.submitting = false })\n },\n dismiss () {\n this.success = false\n this.error = false\n }\n }\n}\n\nexport default Importer\n","const Exporter = {\n props: {\n getContent: {\n type: Function,\n required: true\n },\n filename: {\n type: String,\n default: 'export.csv'\n },\n exportButtonLabel: {\n type: String,\n default () {\n return this.$t('exporter.export')\n }\n },\n processingMessage: {\n type: String,\n default () {\n return this.$t('exporter.processing')\n }\n }\n },\n data () {\n return {\n processing: false\n }\n },\n methods: {\n process () {\n this.processing = true\n this.getContent()\n .then((content) => {\n const fileToDownload = document.createElement('a')\n fileToDownload.setAttribute('href', 'data:text/plain;charset=utf-8,' + encodeURIComponent(content))\n fileToDownload.setAttribute('download', this.filename)\n fileToDownload.style.display = 'none'\n document.body.appendChild(fileToDownload)\n fileToDownload.click()\n document.body.removeChild(fileToDownload)\n // Add delay before hiding processing state since browser takes some time to handle file download\n setTimeout(() => { this.processing = false }, 2000)\n })\n }\n }\n}\n\nexport default Exporter\n","import RecoveryCodes from './mfa_backup_codes.vue'\nimport TOTP from './mfa_totp.vue'\nimport Confirm from './confirm.vue'\nimport VueQrcode from '@chenfengyuan/vue-qrcode'\nimport { mapState } from 'vuex'\n\nconst Mfa = {\n data: () => ({\n settings: { // current settings of MFA\n available: false,\n enabled: false,\n totp: false\n },\n setupState: { // setup mfa\n state: '', // state of setup. '' -> 'getBackupCodes' -> 'setupOTP' -> 'complete'\n setupOTPState: '' // state of setup otp. '' -> 'prepare' -> 'confirm' -> 'complete'\n },\n backupCodes: {\n getNewCodes: false,\n inProgress: false, // progress of fetch codes\n codes: []\n },\n otpSettings: { // pre-setup setting of OTP. secret key, qrcode url.\n provisioning_uri: '',\n key: ''\n },\n currentPassword: null,\n otpConfirmToken: null,\n error: null,\n readyInit: false\n }),\n components: {\n 'recovery-codes': RecoveryCodes,\n 'totp-item': TOTP,\n 'qrcode': VueQrcode,\n 'confirm': Confirm\n },\n computed: {\n canSetupOTP () {\n return (\n (this.setupInProgress && this.backupCodesPrepared) ||\n this.settings.enabled\n ) && !this.settings.totp && !this.setupOTPInProgress\n },\n setupInProgress () {\n return this.setupState.state !== '' && this.setupState.state !== 'complete'\n },\n setupOTPInProgress () {\n return this.setupState.state === 'setupOTP' && !this.completedOTP\n },\n prepareOTP () {\n return this.setupState.setupOTPState === 'prepare'\n },\n confirmOTP () {\n return this.setupState.setupOTPState === 'confirm'\n },\n completedOTP () {\n return this.setupState.setupOTPState === 'completed'\n },\n backupCodesPrepared () {\n return !this.backupCodes.inProgress && this.backupCodes.codes.length > 0\n },\n confirmNewBackupCodes () {\n return this.backupCodes.getNewCodes\n },\n ...mapState({\n backendInteractor: (state) => state.api.backendInteractor\n })\n },\n\n methods: {\n activateOTP () {\n if (!this.settings.enabled) {\n this.setupState.state = 'getBackupcodes'\n this.fetchBackupCodes()\n }\n },\n fetchBackupCodes () {\n this.backupCodes.inProgress = true\n this.backupCodes.codes = []\n\n return this.backendInteractor.generateMfaBackupCodes()\n .then((res) => {\n this.backupCodes.codes = res.codes\n this.backupCodes.inProgress = false\n })\n },\n getBackupCodes () { // get a new backup codes\n this.backupCodes.getNewCodes = true\n },\n confirmBackupCodes () { // confirm getting new backup codes\n this.fetchBackupCodes().then((res) => {\n this.backupCodes.getNewCodes = false\n })\n },\n cancelBackupCodes () { // cancel confirm form of new backup codes\n this.backupCodes.getNewCodes = false\n },\n\n // Setup OTP\n setupOTP () { // prepare setup OTP\n this.setupState.state = 'setupOTP'\n this.setupState.setupOTPState = 'prepare'\n this.backendInteractor.mfaSetupOTP()\n .then((res) => {\n this.otpSettings = res\n this.setupState.setupOTPState = 'confirm'\n })\n },\n doConfirmOTP () { // handler confirm enable OTP\n this.error = null\n this.backendInteractor.mfaConfirmOTP({\n token: this.otpConfirmToken,\n password: this.currentPassword\n })\n .then((res) => {\n if (res.error) {\n this.error = res.error\n return\n }\n this.completeSetup()\n })\n },\n\n completeSetup () {\n this.setupState.setupOTPState = 'complete'\n this.setupState.state = 'complete'\n this.currentPassword = null\n this.error = null\n this.fetchSettings()\n },\n cancelSetup () { // cancel setup\n this.setupState.setupOTPState = ''\n this.setupState.state = ''\n this.currentPassword = null\n this.error = null\n },\n // end Setup OTP\n\n // fetch settings from server\n async fetchSettings () {\n let result = await this.backendInteractor.fetchSettingsMFA()\n if (result.error) return\n this.settings = result.settings\n this.settings.available = true\n return result\n }\n },\n mounted () {\n this.fetchSettings().then(() => {\n this.readyInit = true\n })\n }\n}\nexport default Mfa\n","export default {\n props: {\n backupCodes: {\n type: Object,\n default: () => ({\n inProgress: false,\n codes: []\n })\n }\n },\n data: () => ({}),\n computed: {\n inProgress () { return this.backupCodes.inProgress },\n ready () { return this.backupCodes.codes.length > 0 },\n displayTitle () { return this.inProgress || this.ready }\n }\n}\n","import Confirm from './confirm.vue'\nimport { mapState } from 'vuex'\n\nexport default {\n props: ['settings'],\n data: () => ({\n error: false,\n currentPassword: '',\n deactivate: false,\n inProgress: false // progress peform request to disable otp method\n }),\n components: {\n 'confirm': Confirm\n },\n computed: {\n isActivated () {\n return this.settings.totp\n },\n ...mapState({\n backendInteractor: (state) => state.api.backendInteractor\n })\n },\n methods: {\n doActivate () {\n this.$emit('activate')\n },\n cancelDeactivate () { this.deactivate = false },\n doDeactivate () {\n this.error = null\n this.deactivate = true\n },\n confirmDeactivate () { // confirm deactivate TOTP method\n this.error = null\n this.inProgress = true\n this.backendInteractor.mfaDisableOTP({\n password: this.currentPassword\n })\n .then((res) => {\n this.inProgress = false\n if (res.error) {\n this.error = res.error\n return\n }\n this.deactivate = false\n this.$emit('deactivate')\n })\n }\n }\n}\n","const Confirm = {\n props: ['disabled'],\n data: () => ({}),\n methods: {\n confirm () { this.$emit('confirm') },\n cancel () { this.$emit('cancel') }\n }\n}\nexport default Confirm\n","import FollowRequestCard from '../follow_request_card/follow_request_card.vue'\n\nconst FollowRequests = {\n components: {\n FollowRequestCard\n },\n computed: {\n requests () {\n return this.$store.state.api.followRequests\n }\n }\n}\n\nexport default FollowRequests\n","import BasicUserCard from '../basic_user_card/basic_user_card.vue'\n\nconst FollowRequestCard = {\n props: ['user'],\n components: {\n BasicUserCard\n },\n methods: {\n approveUser () {\n this.$store.state.api.backendInteractor.approveUser(this.user.id)\n this.$store.dispatch('removeFollowRequest', this.user)\n },\n denyUser () {\n this.$store.state.api.backendInteractor.denyUser(this.user.id)\n this.$store.dispatch('removeFollowRequest', this.user)\n }\n }\n}\n\nexport default FollowRequestCard\n","import oauth from '../../services/new_api/oauth.js'\n\nconst oac = {\n props: ['code'],\n mounted () {\n if (this.code) {\n const { clientId, clientSecret } = this.$store.state.oauth\n\n oauth.getToken({\n clientId,\n clientSecret,\n instance: this.$store.state.instance.server,\n code: this.code\n }).then((result) => {\n this.$store.commit('setToken', result.access_token)\n this.$store.dispatch('loginUser', result.access_token)\n this.$router.push({ name: 'friends' })\n })\n }\n }\n}\n\nexport default oac\n","import { mapState, mapGetters, mapActions, mapMutations } from 'vuex'\nimport oauthApi from '../../services/new_api/oauth.js'\n\nconst LoginForm = {\n data: () => ({\n user: {},\n error: false\n }),\n computed: {\n isPasswordAuth () { return this.requiredPassword },\n isTokenAuth () { return this.requiredToken },\n ...mapState({\n registrationOpen: state => state.instance.registrationOpen,\n instance: state => state.instance,\n loggingIn: state => state.users.loggingIn,\n oauth: state => state.oauth\n }),\n ...mapGetters(\n 'authFlow', ['requiredPassword', 'requiredToken', 'requiredMFA']\n )\n },\n methods: {\n ...mapMutations('authFlow', ['requireMFA']),\n ...mapActions({ login: 'authFlow/login' }),\n submit () {\n this.isTokenAuth ? this.submitToken() : this.submitPassword()\n },\n submitToken () {\n const { clientId, clientSecret } = this.oauth\n const data = {\n clientId,\n clientSecret,\n instance: this.instance.server,\n commit: this.$store.commit\n }\n\n oauthApi.getOrCreateApp(data)\n .then((app) => { oauthApi.login({ ...app, ...data }) })\n },\n submitPassword () {\n const { clientId } = this.oauth\n const data = {\n clientId,\n oauth: this.oauth,\n instance: this.instance.server,\n commit: this.$store.commit\n }\n this.error = false\n\n oauthApi.getOrCreateApp(data).then((app) => {\n oauthApi.getTokenWithCredentials(\n {\n ...app,\n instance: data.instance,\n username: this.user.username,\n password: this.user.password\n }\n ).then((result) => {\n if (result.error) {\n if (result.error === 'mfa_required') {\n this.requireMFA({ app: app, settings: result })\n } else if (result.identifier === 'password_reset_required') {\n this.$router.push({ name: 'password-reset', params: { passwordResetRequested: true } })\n } else {\n this.error = result.error\n this.focusOnPasswordInput()\n }\n return\n }\n this.login(result).then(() => {\n this.$router.push({ name: 'friends' })\n })\n })\n })\n },\n clearError () { this.error = false },\n focusOnPasswordInput () {\n let passwordInput = this.$refs.passwordInput\n passwordInput.focus()\n passwordInput.setSelectionRange(0, passwordInput.value.length)\n }\n }\n}\n\nexport default LoginForm\n","import mfaApi from '../../services/new_api/mfa.js'\nimport { mapState, mapGetters, mapActions, mapMutations } from 'vuex'\n\nexport default {\n data: () => ({\n code: null,\n error: false\n }),\n computed: {\n ...mapGetters({\n authApp: 'authFlow/app',\n authSettings: 'authFlow/settings'\n }),\n ...mapState({ instance: 'instance' })\n },\n methods: {\n ...mapMutations('authFlow', ['requireTOTP', 'abortMFA']),\n ...mapActions({ login: 'authFlow/login' }),\n clearError () { this.error = false },\n submit () {\n const data = {\n app: this.authApp,\n instance: this.instance.server,\n mfaToken: this.authSettings.mfa_token,\n code: this.code\n }\n\n mfaApi.verifyRecoveryCode(data).then((result) => {\n if (result.error) {\n this.error = result.error\n this.code = null\n return\n }\n\n this.login(result).then(() => {\n this.$router.push({ name: 'friends' })\n })\n })\n }\n }\n}\n","import mfaApi from '../../services/new_api/mfa.js'\nimport { mapState, mapGetters, mapActions, mapMutations } from 'vuex'\nexport default {\n data: () => ({\n code: null,\n error: false\n }),\n computed: {\n ...mapGetters({\n authApp: 'authFlow/app',\n authSettings: 'authFlow/settings'\n }),\n ...mapState({ instance: 'instance' })\n },\n methods: {\n ...mapMutations('authFlow', ['requireRecovery', 'abortMFA']),\n ...mapActions({ login: 'authFlow/login' }),\n clearError () { this.error = false },\n submit () {\n const data = {\n app: this.authApp,\n instance: this.instance.server,\n mfaToken: this.authSettings.mfa_token,\n code: this.code\n }\n\n mfaApi.verifyOTPCode(data).then((result) => {\n if (result.error) {\n this.error = result.error\n this.code = null\n return\n }\n\n this.login(result).then(() => {\n this.$router.push({ name: 'friends' })\n })\n })\n }\n }\n}\n","import generateProfileLink from 'src/services/user_profile_link_generator/user_profile_link_generator'\n\nconst chatPanel = {\n props: [ 'floating' ],\n data () {\n return {\n currentMessage: '',\n channel: null,\n collapsed: true\n }\n },\n computed: {\n messages () {\n return this.$store.state.chat.messages\n }\n },\n methods: {\n submit (message) {\n this.$store.state.chat.channel.push('new_msg', { text: message }, 10000)\n this.currentMessage = ''\n },\n togglePanel () {\n this.collapsed = !this.collapsed\n },\n userProfileLink (user) {\n return generateProfileLink(user.id, user.username, this.$store.state.instance.restrictedNicknames)\n }\n }\n}\n\nexport default chatPanel\n","import apiService from '../../services/api/api.service.js'\nimport FollowCard from '../follow_card/follow_card.vue'\n\nconst WhoToFollow = {\n components: {\n FollowCard\n },\n data () {\n return {\n users: []\n }\n },\n mounted () {\n this.getWhoToFollow()\n },\n methods: {\n showWhoToFollow (reply) {\n reply.forEach((i, index) => {\n this.$store.state.api.backendInteractor.fetchUser({ id: i.acct })\n .then((externalUser) => {\n if (!externalUser.error) {\n this.$store.commit('addNewUsers', [externalUser])\n this.users.push(externalUser)\n }\n })\n })\n },\n getWhoToFollow () {\n const credentials = this.$store.state.users.currentUser.credentials\n if (credentials) {\n apiService.suggestions({ credentials: credentials })\n .then((reply) => {\n this.showWhoToFollow(reply)\n })\n }\n }\n }\n}\n\nexport default WhoToFollow\n","import InstanceSpecificPanel from '../instance_specific_panel/instance_specific_panel.vue'\nimport FeaturesPanel from '../features_panel/features_panel.vue'\nimport TermsOfServicePanel from '../terms_of_service_panel/terms_of_service_panel.vue'\nimport StaffPanel from '../staff_panel/staff_panel.vue'\nimport MRFTransparencyPanel from '../mrf_transparency_panel/mrf_transparency_panel.vue'\n\nconst About = {\n components: {\n InstanceSpecificPanel,\n FeaturesPanel,\n TermsOfServicePanel,\n StaffPanel,\n MRFTransparencyPanel\n },\n computed: {\n showFeaturesPanel () { return this.$store.state.instance.showFeaturesPanel },\n showInstanceSpecificPanel () {\n return this.$store.state.instance.showInstanceSpecificPanel &&\n !this.$store.getters.mergedConfig.hideISP &&\n this.$store.state.instance.instanceSpecificPanelContent\n }\n }\n}\n\nexport default About\n","const InstanceSpecificPanel = {\n computed: {\n instanceSpecificPanelContent () {\n return this.$store.state.instance.instanceSpecificPanelContent\n }\n }\n}\n\nexport default InstanceSpecificPanel\n","const FeaturesPanel = {\n computed: {\n chat: function () { return this.$store.state.instance.chatAvailable },\n gopher: function () { return this.$store.state.instance.gopherAvailable },\n whoToFollow: function () { return this.$store.state.instance.suggestionsEnabled },\n mediaProxy: function () { return this.$store.state.instance.mediaProxyAvailable },\n minimalScopesMode: function () { return this.$store.state.instance.minimalScopesMode },\n textlimit: function () { return this.$store.state.instance.textlimit }\n }\n}\n\nexport default FeaturesPanel\n","const TermsOfServicePanel = {\n computed: {\n content () {\n return this.$store.state.instance.tos\n }\n }\n}\n\nexport default TermsOfServicePanel\n","import BasicUserCard from '../basic_user_card/basic_user_card.vue'\n\nconst StaffPanel = {\n components: {\n BasicUserCard\n },\n computed: {\n staffAccounts () {\n return this.$store.state.instance.staffAccounts\n }\n }\n}\n\nexport default StaffPanel\n","import { mapState } from 'vuex'\n\nconst MRFTransparencyPanel = {\n computed: mapState({\n federationPolicy: state => state.instance.federationPolicy,\n mrfPolicies: state => state.instance.federationPolicy.mrf_policies,\n acceptInstances: state => state.instance.federationPolicy.mrf_simple.accept,\n rejectInstances: state => state.instance.federationPolicy.mrf_simple.reject,\n quarantineInstances: state => state.instance.federationPolicy.quarantined_instances,\n ftlRemovalInstances: state => state.instance.federationPolicy.mrf_simple.federated_timeline_removal,\n mediaNsfwInstances: state => state.instance.federationPolicy.mrf_simple.media_nsfw,\n mediaRemovalInstances: state => state.instance.federationPolicy.mrf_simple.media_removal\n })\n}\n\nexport default MRFTransparencyPanel\n","const RemoteUserResolver = {\n data: () => ({\n error: false\n }),\n mounted () {\n this.redirect()\n },\n methods: {\n redirect () {\n const acct = this.$route.params.username + '@' + this.$route.params.hostname\n this.$store.state.api.backendInteractor.fetchUser({ id: acct })\n .then((externalUser) => {\n if (externalUser.error) {\n this.error = true\n } else {\n this.$store.commit('addNewUsers', [externalUser])\n const id = externalUser.id\n this.$router.replace({\n name: 'external-user-profile',\n params: { id }\n })\n }\n })\n .catch(() => {\n this.error = true\n })\n }\n }\n}\n\nexport default RemoteUserResolver\n","import UserPanel from './components/user_panel/user_panel.vue'\nimport NavPanel from './components/nav_panel/nav_panel.vue'\nimport Notifications from './components/notifications/notifications.vue'\nimport SearchBar from './components/search_bar/search_bar.vue'\nimport InstanceSpecificPanel from './components/instance_specific_panel/instance_specific_panel.vue'\nimport FeaturesPanel from './components/features_panel/features_panel.vue'\nimport WhoToFollowPanel from './components/who_to_follow_panel/who_to_follow_panel.vue'\nimport ChatPanel from './components/chat_panel/chat_panel.vue'\nimport MediaModal from './components/media_modal/media_modal.vue'\nimport SideDrawer from './components/side_drawer/side_drawer.vue'\nimport MobilePostStatusButton from './components/mobile_post_status_button/mobile_post_status_button.vue'\nimport MobileNav from './components/mobile_nav/mobile_nav.vue'\nimport UserReportingModal from './components/user_reporting_modal/user_reporting_modal.vue'\nimport PostStatusModal from './components/post_status_modal/post_status_modal.vue'\nimport { windowWidth } from './services/window_utils/window_utils'\n\nexport default {\n name: 'app',\n components: {\n UserPanel,\n NavPanel,\n Notifications,\n SearchBar,\n InstanceSpecificPanel,\n FeaturesPanel,\n WhoToFollowPanel,\n ChatPanel,\n MediaModal,\n SideDrawer,\n MobilePostStatusButton,\n MobileNav,\n UserReportingModal,\n PostStatusModal\n },\n data: () => ({\n mobileActivePanel: 'timeline',\n searchBarHidden: true,\n supportsMask: window.CSS && window.CSS.supports && (\n window.CSS.supports('mask-size', 'contain') ||\n window.CSS.supports('-webkit-mask-size', 'contain') ||\n window.CSS.supports('-moz-mask-size', 'contain') ||\n window.CSS.supports('-ms-mask-size', 'contain') ||\n window.CSS.supports('-o-mask-size', 'contain')\n )\n }),\n created () {\n // Load the locale from the storage\n this.$i18n.locale = this.$store.getters.mergedConfig.interfaceLanguage\n window.addEventListener('resize', this.updateMobileState)\n },\n destroyed () {\n window.removeEventListener('resize', this.updateMobileState)\n },\n computed: {\n currentUser () { return this.$store.state.users.currentUser },\n background () {\n return this.currentUser.background_image || this.$store.state.instance.background\n },\n enableMask () { return this.supportsMask && this.$store.state.instance.logoMask },\n logoStyle () {\n return {\n 'visibility': this.enableMask ? 'hidden' : 'visible'\n }\n },\n logoMaskStyle () {\n return this.enableMask ? {\n 'mask-image': `url(${this.$store.state.instance.logo})`\n } : {\n 'background-color': this.enableMask ? '' : 'transparent'\n }\n },\n logoBgStyle () {\n return Object.assign({\n 'margin': `${this.$store.state.instance.logoMargin} 0`,\n opacity: this.searchBarHidden ? 1 : 0\n }, this.enableMask ? {} : {\n 'background-color': this.enableMask ? '' : 'transparent'\n })\n },\n logo () { return this.$store.state.instance.logo },\n bgStyle () {\n return {\n 'background-image': `url(${this.background})`\n }\n },\n bgAppStyle () {\n return {\n '--body-background-image': `url(${this.background})`\n }\n },\n sitename () { return this.$store.state.instance.name },\n chat () { return this.$store.state.chat.channel.state === 'joined' },\n suggestionsEnabled () { return this.$store.state.instance.suggestionsEnabled },\n showInstanceSpecificPanel () {\n return this.$store.state.instance.showInstanceSpecificPanel &&\n !this.$store.getters.mergedConfig.hideISP &&\n this.$store.state.instance.instanceSpecificPanelContent\n },\n showFeaturesPanel () { return this.$store.state.instance.showFeaturesPanel },\n isMobileLayout () { return this.$store.state.interface.mobileLayout }\n },\n methods: {\n scrollToTop () {\n window.scrollTo(0, 0)\n },\n logout () {\n this.$router.replace('/main/public')\n this.$store.dispatch('logout')\n },\n onSearchBarToggled (hidden) {\n this.searchBarHidden = hidden\n },\n updateMobileState () {\n const mobileLayout = windowWidth() <= 800\n const changed = mobileLayout !== this.isMobileLayout\n if (changed) {\n this.$store.dispatch('setMobileLayout', mobileLayout)\n }\n }\n }\n}\n","import AuthForm from '../auth_form/auth_form.js'\nimport PostStatusForm from '../post_status_form/post_status_form.vue'\nimport UserCard from '../user_card/user_card.vue'\nimport { mapState } from 'vuex'\n\nconst UserPanel = {\n computed: {\n signedIn () { return this.user },\n ...mapState({ user: state => state.users.currentUser })\n },\n components: {\n AuthForm,\n PostStatusForm,\n UserCard\n }\n}\n\nexport default UserPanel\n","const NavPanel = {\n created () {\n if (this.currentUser && this.currentUser.locked) {\n this.$store.dispatch('startFetchingFollowRequest')\n }\n },\n computed: {\n currentUser () {\n return this.$store.state.users.currentUser\n },\n chat () {\n return this.$store.state.chat.channel\n },\n followRequestCount () {\n return this.$store.state.api.followRequests.length\n }\n }\n}\n\nexport default NavPanel\n","const SearchBar = {\n data: () => ({\n searchTerm: undefined,\n hidden: true,\n error: false,\n loading: false\n }),\n watch: {\n '$route': function (route) {\n if (route.name === 'search') {\n this.searchTerm = route.query.query\n }\n }\n },\n methods: {\n find (searchTerm) {\n this.$router.push({ name: 'search', query: { query: searchTerm } })\n this.$refs.searchInput.focus()\n },\n toggleHidden () {\n this.hidden = !this.hidden\n this.$emit('toggled', this.hidden)\n this.$nextTick(() => {\n if (!this.hidden) {\n this.$refs.searchInput.focus()\n }\n })\n }\n }\n}\n\nexport default SearchBar\n","import apiService from '../../services/api/api.service.js'\nimport generateProfileLink from 'src/services/user_profile_link_generator/user_profile_link_generator'\nimport { shuffle } from 'lodash'\n\nfunction showWhoToFollow (panel, reply) {\n const shuffled = shuffle(reply)\n\n panel.usersToFollow.forEach((toFollow, index) => {\n let user = shuffled[index]\n let img = user.avatar || '/images/avi.png'\n let name = user.acct\n\n toFollow.img = img\n toFollow.name = name\n\n panel.$store.state.api.backendInteractor.fetchUser({ id: name })\n .then((externalUser) => {\n if (!externalUser.error) {\n panel.$store.commit('addNewUsers', [externalUser])\n toFollow.id = externalUser.id\n }\n })\n })\n}\n\nfunction getWhoToFollow (panel) {\n var credentials = panel.$store.state.users.currentUser.credentials\n if (credentials) {\n panel.usersToFollow.forEach(toFollow => {\n toFollow.name = 'Loading...'\n })\n apiService.suggestions({ credentials: credentials })\n .then((reply) => {\n showWhoToFollow(panel, reply)\n })\n }\n}\n\nconst WhoToFollowPanel = {\n data: () => ({\n usersToFollow: new Array(3).fill().map(x => (\n {\n img: '/images/avi.png',\n name: '',\n id: 0\n }\n ))\n }),\n computed: {\n user: function () {\n return this.$store.state.users.currentUser.screen_name\n },\n suggestionsEnabled () {\n return this.$store.state.instance.suggestionsEnabled\n }\n },\n methods: {\n userProfileLink (id, name) {\n return generateProfileLink(id, name, this.$store.state.instance.restrictedNicknames)\n }\n },\n watch: {\n user: function (user, oldUser) {\n if (this.suggestionsEnabled) {\n getWhoToFollow(this)\n }\n }\n },\n mounted:\n function () {\n if (this.suggestionsEnabled) {\n getWhoToFollow(this)\n }\n }\n}\n\nexport default WhoToFollowPanel\n","import StillImage from '../still-image/still-image.vue'\nimport VideoAttachment from '../video_attachment/video_attachment.vue'\nimport Modal from '../modal/modal.vue'\nimport fileTypeService from '../../services/file_type/file_type.service.js'\nimport GestureService from '../../services/gesture_service/gesture_service'\n\nconst MediaModal = {\n components: {\n StillImage,\n VideoAttachment,\n Modal\n },\n computed: {\n showing () {\n return this.$store.state.mediaViewer.activated\n },\n media () {\n return this.$store.state.mediaViewer.media\n },\n currentIndex () {\n return this.$store.state.mediaViewer.currentIndex\n },\n currentMedia () {\n return this.media[this.currentIndex]\n },\n canNavigate () {\n return this.media.length > 1\n },\n type () {\n return this.currentMedia ? fileTypeService.fileType(this.currentMedia.mimetype) : null\n }\n },\n created () {\n this.mediaSwipeGestureRight = GestureService.swipeGesture(\n GestureService.DIRECTION_RIGHT,\n this.goPrev,\n 50\n )\n this.mediaSwipeGestureLeft = GestureService.swipeGesture(\n GestureService.DIRECTION_LEFT,\n this.goNext,\n 50\n )\n },\n methods: {\n mediaTouchStart (e) {\n GestureService.beginSwipe(e, this.mediaSwipeGestureRight)\n GestureService.beginSwipe(e, this.mediaSwipeGestureLeft)\n },\n mediaTouchMove (e) {\n GestureService.updateSwipe(e, this.mediaSwipeGestureRight)\n GestureService.updateSwipe(e, this.mediaSwipeGestureLeft)\n },\n hide () {\n this.$store.dispatch('closeMediaViewer')\n },\n goPrev () {\n if (this.canNavigate) {\n const prevIndex = this.currentIndex === 0 ? this.media.length - 1 : (this.currentIndex - 1)\n this.$store.dispatch('setCurrent', this.media[prevIndex])\n }\n },\n goNext () {\n if (this.canNavigate) {\n const nextIndex = this.currentIndex === this.media.length - 1 ? 0 : (this.currentIndex + 1)\n this.$store.dispatch('setCurrent', this.media[nextIndex])\n }\n },\n handleKeyupEvent (e) {\n if (this.showing && e.keyCode === 27) { // escape\n this.hide()\n }\n },\n handleKeydownEvent (e) {\n if (!this.showing) {\n return\n }\n\n if (e.keyCode === 39) { // arrow right\n this.goNext()\n } else if (e.keyCode === 37) { // arrow left\n this.goPrev()\n }\n }\n },\n mounted () {\n document.addEventListener('keyup', this.handleKeyupEvent)\n document.addEventListener('keydown', this.handleKeydownEvent)\n },\n destroyed () {\n document.removeEventListener('keyup', this.handleKeyupEvent)\n document.removeEventListener('keydown', this.handleKeydownEvent)\n }\n}\n\nexport default MediaModal\n","<template>\n <div\n v-show=\"isOpen\"\n v-body-scroll-lock=\"isOpen\"\n class=\"modal-view\"\n @click.self=\"$emit('backdropClicked')\"\n >\n <slot />\n </div>\n</template>\n\n<script>\nexport default {\n props: {\n isOpen: {\n type: Boolean,\n default: true\n }\n }\n}\n</script>\n\n<style lang=\"scss\">\n.modal-view {\n z-index: 1000;\n position: fixed;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n display: flex;\n justify-content: center;\n align-items: center;\n overflow: auto;\n animation-duration: 0.2s;\n background-color: rgba(0, 0, 0, 0.5);\n animation-name: modal-background-fadein;\n\n body:not(.scroll-locked) & {\n opacity: 0;\n }\n}\n\n@keyframes modal-background-fadein {\n from {\n background-color: rgba(0, 0, 0, 0);\n }\n to {\n background-color: rgba(0, 0, 0, 0.5);\n }\n}\n</style>\n","import UserCard from '../user_card/user_card.vue'\nimport { unseenNotificationsFromStore } from '../../services/notification_utils/notification_utils'\nimport GestureService from '../../services/gesture_service/gesture_service'\n\nconst SideDrawer = {\n props: [ 'logout' ],\n data: () => ({\n closed: true,\n closeGesture: undefined\n }),\n created () {\n this.closeGesture = GestureService.swipeGesture(GestureService.DIRECTION_LEFT, this.toggleDrawer)\n\n if (this.currentUser && this.currentUser.locked) {\n this.$store.dispatch('startFetchingFollowRequest')\n }\n },\n components: { UserCard },\n computed: {\n currentUser () {\n return this.$store.state.users.currentUser\n },\n chat () { return this.$store.state.chat.channel.state === 'joined' },\n unseenNotifications () {\n return unseenNotificationsFromStore(this.$store)\n },\n unseenNotificationsCount () {\n return this.unseenNotifications.length\n },\n suggestionsEnabled () {\n return this.$store.state.instance.suggestionsEnabled\n },\n logo () {\n return this.$store.state.instance.logo\n },\n sitename () {\n return this.$store.state.instance.name\n },\n followRequestCount () {\n return this.$store.state.api.followRequests.length\n }\n },\n methods: {\n toggleDrawer () {\n this.closed = !this.closed\n },\n doLogout () {\n this.logout()\n this.toggleDrawer()\n },\n touchStart (e) {\n GestureService.beginSwipe(e, this.closeGesture)\n },\n touchMove (e) {\n GestureService.updateSwipe(e, this.closeGesture)\n }\n }\n}\n\nexport default SideDrawer\n","import { debounce } from 'lodash'\n\nconst MobilePostStatusButton = {\n data () {\n return {\n hidden: false,\n scrollingDown: false,\n inputActive: false,\n oldScrollPos: 0,\n amountScrolled: 0\n }\n },\n created () {\n if (this.autohideFloatingPostButton) {\n this.activateFloatingPostButtonAutohide()\n }\n window.addEventListener('resize', this.handleOSK)\n },\n destroyed () {\n if (this.autohideFloatingPostButton) {\n this.deactivateFloatingPostButtonAutohide()\n }\n window.removeEventListener('resize', this.handleOSK)\n },\n computed: {\n isLoggedIn () {\n return !!this.$store.state.users.currentUser\n },\n isHidden () {\n return this.autohideFloatingPostButton && (this.hidden || this.inputActive)\n },\n autohideFloatingPostButton () {\n return !!this.$store.getters.mergedConfig.autohideFloatingPostButton\n }\n },\n watch: {\n autohideFloatingPostButton: function (isEnabled) {\n if (isEnabled) {\n this.activateFloatingPostButtonAutohide()\n } else {\n this.deactivateFloatingPostButtonAutohide()\n }\n }\n },\n methods: {\n activateFloatingPostButtonAutohide () {\n window.addEventListener('scroll', this.handleScrollStart)\n window.addEventListener('scroll', this.handleScrollEnd)\n },\n deactivateFloatingPostButtonAutohide () {\n window.removeEventListener('scroll', this.handleScrollStart)\n window.removeEventListener('scroll', this.handleScrollEnd)\n },\n openPostForm () {\n this.$store.dispatch('openPostStatusModal')\n },\n handleOSK () {\n // This is a big hack: we're guessing from changed window sizes if the\n // on-screen keyboard is active or not. This is only really important\n // for phones in portrait mode and it's more important to show the button\n // in normal scenarios on all phones, than it is to hide it when the\n // keyboard is active.\n // Guesswork based on https://www.mydevice.io/#compare-devices\n\n // for example, iphone 4 and android phones from the same time period\n const smallPhone = window.innerWidth < 350\n const smallPhoneKbOpen = smallPhone && window.innerHeight < 345\n\n const biggerPhone = !smallPhone && window.innerWidth < 450\n const biggerPhoneKbOpen = biggerPhone && window.innerHeight < 560\n if (smallPhoneKbOpen || biggerPhoneKbOpen) {\n this.inputActive = true\n } else {\n this.inputActive = false\n }\n },\n handleScrollStart: debounce(function () {\n if (window.scrollY > this.oldScrollPos) {\n this.hidden = true\n } else {\n this.hidden = false\n }\n this.oldScrollPos = window.scrollY\n }, 100, { leading: true, trailing: false }),\n\n handleScrollEnd: debounce(function () {\n this.hidden = false\n this.oldScrollPos = window.scrollY\n }, 100, { leading: false, trailing: true })\n }\n}\n\nexport default MobilePostStatusButton\n","import SideDrawer from '../side_drawer/side_drawer.vue'\nimport Notifications from '../notifications/notifications.vue'\nimport { unseenNotificationsFromStore } from '../../services/notification_utils/notification_utils'\nimport GestureService from '../../services/gesture_service/gesture_service'\n\nconst MobileNav = {\n components: {\n SideDrawer,\n Notifications\n },\n data: () => ({\n notificationsCloseGesture: undefined,\n notificationsOpen: false\n }),\n created () {\n this.notificationsCloseGesture = GestureService.swipeGesture(\n GestureService.DIRECTION_RIGHT,\n this.closeMobileNotifications,\n 50\n )\n },\n computed: {\n currentUser () {\n return this.$store.state.users.currentUser\n },\n unseenNotifications () {\n return unseenNotificationsFromStore(this.$store)\n },\n unseenNotificationsCount () {\n return this.unseenNotifications.length\n },\n sitename () { return this.$store.state.instance.name }\n },\n methods: {\n toggleMobileSidebar () {\n this.$refs.sideDrawer.toggleDrawer()\n },\n openMobileNotifications () {\n this.notificationsOpen = true\n },\n closeMobileNotifications () {\n if (this.notificationsOpen) {\n // make sure to mark notifs seen only when the notifs were open and not\n // from close-calls.\n this.notificationsOpen = false\n this.markNotificationsAsSeen()\n }\n },\n notificationsTouchStart (e) {\n GestureService.beginSwipe(e, this.notificationsCloseGesture)\n },\n notificationsTouchMove (e) {\n GestureService.updateSwipe(e, this.notificationsCloseGesture)\n },\n scrollToTop () {\n window.scrollTo(0, 0)\n },\n logout () {\n this.$router.replace('/main/public')\n this.$store.dispatch('logout')\n },\n markNotificationsAsSeen () {\n this.$refs.notifications.markAsSeen()\n },\n onScroll ({ target: { scrollTop, clientHeight, scrollHeight } }) {\n if (this.$store.getters.mergedConfig.autoLoad && scrollTop + clientHeight >= scrollHeight) {\n this.$refs.notifications.fetchOlderNotifications()\n }\n }\n },\n watch: {\n $route () {\n // handles closing notificaitons when you press any router-link on the\n // notifications.\n this.closeMobileNotifications()\n }\n }\n}\n\nexport default MobileNav\n","\nimport Status from '../status/status.vue'\nimport List from '../list/list.vue'\nimport Checkbox from '../checkbox/checkbox.vue'\nimport Modal from '../modal/modal.vue'\n\nconst UserReportingModal = {\n components: {\n Status,\n List,\n Checkbox,\n Modal\n },\n data () {\n return {\n comment: '',\n forward: false,\n statusIdsToReport: [],\n processing: false,\n error: false\n }\n },\n computed: {\n isLoggedIn () {\n return !!this.$store.state.users.currentUser\n },\n isOpen () {\n return this.isLoggedIn && this.$store.state.reports.modalActivated\n },\n userId () {\n return this.$store.state.reports.userId\n },\n user () {\n return this.$store.getters.findUser(this.userId)\n },\n remoteInstance () {\n return !this.user.is_local && this.user.screen_name.substr(this.user.screen_name.indexOf('@') + 1)\n },\n statuses () {\n return this.$store.state.reports.statuses\n }\n },\n watch: {\n userId: 'resetState'\n },\n methods: {\n resetState () {\n // Reset state\n this.comment = ''\n this.forward = false\n this.statusIdsToReport = []\n this.processing = false\n this.error = false\n },\n closeModal () {\n this.$store.dispatch('closeUserReportingModal')\n },\n reportUser () {\n this.processing = true\n this.error = false\n const params = {\n userId: this.userId,\n comment: this.comment,\n forward: this.forward,\n statusIds: this.statusIdsToReport\n }\n this.$store.state.api.backendInteractor.reportUser(params)\n .then(() => {\n this.processing = false\n this.resetState()\n this.closeModal()\n })\n .catch(() => {\n this.processing = false\n this.error = true\n })\n },\n clearError () {\n this.error = false\n },\n isChecked (statusId) {\n return this.statusIdsToReport.indexOf(statusId) !== -1\n },\n toggleStatus (checked, statusId) {\n if (checked === this.isChecked(statusId)) {\n return\n }\n\n if (checked) {\n this.statusIdsToReport.push(statusId)\n } else {\n this.statusIdsToReport.splice(this.statusIdsToReport.indexOf(statusId), 1)\n }\n },\n resize (e) {\n const target = e.target || e\n if (!(target instanceof window.Element)) { return }\n // Auto is needed to make textbox shrink when removing lines\n target.style.height = 'auto'\n target.style.height = `${target.scrollHeight}px`\n if (target.value === '') {\n target.style.height = null\n }\n }\n }\n}\n\nexport default UserReportingModal\n","import PostStatusForm from '../post_status_form/post_status_form.vue'\nimport Modal from '../modal/modal.vue'\nimport get from 'lodash/get'\n\nconst PostStatusModal = {\n components: {\n PostStatusForm,\n Modal\n },\n data () {\n return {\n resettingForm: false\n }\n },\n computed: {\n isLoggedIn () {\n return !!this.$store.state.users.currentUser\n },\n modalActivated () {\n return this.$store.state.postStatus.modalActivated\n },\n isFormVisible () {\n return this.isLoggedIn && !this.resettingForm && this.modalActivated\n },\n params () {\n return this.$store.state.postStatus.params || {}\n }\n },\n watch: {\n params (newVal, oldVal) {\n if (get(newVal, 'repliedUser.id') !== get(oldVal, 'repliedUser.id')) {\n this.resettingForm = true\n this.$nextTick(() => {\n this.resettingForm = false\n })\n }\n },\n isFormVisible (val) {\n if (val) {\n this.$nextTick(() => this.$el && this.$el.querySelector('textarea').focus())\n }\n }\n },\n methods: {\n closeModal () {\n this.$store.dispatch('closePostStatusModal')\n }\n }\n}\n\nexport default PostStatusModal\n","import Vue from 'vue'\n\nimport './tab_switcher.scss'\n\nexport default Vue.component('tab-switcher', {\n name: 'TabSwitcher',\n props: {\n renderOnlyFocused: {\n required: false,\n type: Boolean,\n default: false\n },\n onSwitch: {\n required: false,\n type: Function,\n default: undefined\n },\n activeTab: {\n required: false,\n type: String,\n default: undefined\n },\n scrollableTabs: {\n required: false,\n type: Boolean,\n default: false\n }\n },\n data () {\n return {\n active: this.$slots.default.findIndex(_ => _.tag)\n }\n },\n computed: {\n activeIndex () {\n // In case of controlled component\n if (this.activeTab) {\n return this.$slots.default.findIndex(slot => this.activeTab === slot.key)\n } else {\n return this.active\n }\n }\n },\n beforeUpdate () {\n const currentSlot = this.$slots.default[this.active]\n if (!currentSlot.tag) {\n this.active = this.$slots.default.findIndex(_ => _.tag)\n }\n },\n methods: {\n activateTab (index) {\n return (e) => {\n e.preventDefault()\n if (typeof this.onSwitch === 'function') {\n this.onSwitch.call(null, this.$slots.default[index].key)\n }\n this.active = index\n }\n }\n },\n render (h) {\n const tabs = this.$slots.default\n .map((slot, index) => {\n if (!slot.tag) return\n const classesTab = ['tab']\n const classesWrapper = ['tab-wrapper']\n\n if (this.activeIndex === index) {\n classesTab.push('active')\n classesWrapper.push('active')\n }\n if (slot.data.attrs.image) {\n return (\n <div class={classesWrapper.join(' ')}>\n <button\n disabled={slot.data.attrs.disabled}\n onClick={this.activateTab(index)}\n class={classesTab.join(' ')}>\n <img src={slot.data.attrs.image} title={slot.data.attrs['image-tooltip']}/>\n {slot.data.attrs.label ? '' : slot.data.attrs.label}\n </button>\n </div>\n )\n }\n return (\n <div class={classesWrapper.join(' ')}>\n <button\n disabled={slot.data.attrs.disabled}\n onClick={this.activateTab(index)}\n class={classesTab.join(' ')}>\n {slot.data.attrs.label}</button>\n </div>\n )\n })\n\n const contents = this.$slots.default.map((slot, index) => {\n if (!slot.tag) return\n const active = this.activeIndex === index\n if (this.renderOnlyFocused) {\n return active\n ? <div class=\"active\">{slot}</div>\n : <div class=\"hidden\"></div>\n }\n return <div class={active ? 'active' : 'hidden' }>{slot}</div>\n })\n\n return (\n <div class=\"tab-switcher\">\n <div class=\"tabs\">\n {tabs}\n </div>\n <div class={'contents' + (this.scrollableTabs ? ' scrollable-tabs' : '')}>\n {contents}\n </div>\n </div>\n )\n }\n})\n","import { set, delete as del } from 'vue'\nimport { setPreset, applyTheme } from '../services/style_setter/style_setter.js'\n\nconst browserLocale = (window.navigator.language || 'en').split('-')[0]\n\nexport const defaultState = {\n colors: {},\n hideISP: false,\n // bad name: actually hides posts of muted USERS\n hideMutedPosts: undefined, // instance default\n collapseMessageWithSubject: undefined, // instance default\n padEmoji: true,\n hideAttachments: false,\n hideAttachmentsInConv: false,\n maxThumbnails: 16,\n hideNsfw: true,\n preloadImage: true,\n loopVideo: true,\n loopVideoSilentOnly: true,\n autoLoad: true,\n streaming: false,\n hoverPreview: true,\n autohideFloatingPostButton: false,\n pauseOnUnfocused: true,\n stopGifs: false,\n replyVisibility: 'all',\n notificationVisibility: {\n follows: true,\n mentions: true,\n likes: true,\n repeats: true\n },\n webPushNotifications: false,\n muteWords: [],\n highlight: {},\n interfaceLanguage: browserLocale,\n hideScopeNotice: false,\n scopeCopy: undefined, // instance default\n subjectLineBehavior: undefined, // instance default\n alwaysShowSubjectInput: undefined, // instance default\n postContentType: undefined, // instance default\n minimalScopesMode: undefined, // instance default\n // This hides statuses filtered via a word filter\n hideFilteredStatuses: undefined, // instance default\n playVideosInModal: false,\n useOneClickNsfw: false,\n useContainFit: false,\n greentext: undefined, // instance default\n hidePostStats: undefined, // instance default\n hideUserStats: undefined // instance default\n}\n\n// caching the instance default properties\nexport const instanceDefaultProperties = Object.entries(defaultState)\n .filter(([key, value]) => value === undefined)\n .map(([key, value]) => key)\n\nconst config = {\n state: defaultState,\n getters: {\n mergedConfig (state, getters, rootState, rootGetters) {\n const { instance } = rootState\n return {\n ...state,\n ...instanceDefaultProperties\n .map(key => [key, state[key] === undefined\n ? instance[key]\n : state[key]\n ])\n .reduce((acc, [key, value]) => ({ ...acc, [key]: value }), {})\n }\n }\n },\n mutations: {\n setOption (state, { name, value }) {\n set(state, name, value)\n },\n setHighlight (state, { user, color, type }) {\n const data = this.state.config.highlight[user]\n if (color || type) {\n set(state.highlight, user, { color: color || data.color, type: type || data.type })\n } else {\n del(state.highlight, user)\n }\n }\n },\n actions: {\n setHighlight ({ commit, dispatch }, { user, color, type }) {\n commit('setHighlight', { user, color, type })\n },\n setOption ({ commit, dispatch }, { name, value }) {\n commit('setOption', { name, value })\n switch (name) {\n case 'theme':\n setPreset(value, commit)\n break\n case 'customTheme':\n applyTheme(value, commit)\n }\n }\n }\n}\n\nexport default config\n","import apiService from '../api/api.service.js'\nimport timelineFetcherService from '../timeline_fetcher/timeline_fetcher.service.js'\nimport notificationsFetcher from '../notifications_fetcher/notifications_fetcher.service.js'\nimport followRequestFetcher from '../../services/follow_request_fetcher/follow_request_fetcher.service'\n\nconst backendInteractorService = credentials => {\n const fetchStatus = ({ id }) => {\n return apiService.fetchStatus({ id, credentials })\n }\n\n const fetchConversation = ({ id }) => {\n return apiService.fetchConversation({ id, credentials })\n }\n\n const fetchFriends = ({ id, maxId, sinceId, limit }) => {\n return apiService.fetchFriends({ id, maxId, sinceId, limit, credentials })\n }\n\n const exportFriends = ({ id }) => {\n return apiService.exportFriends({ id, credentials })\n }\n\n const fetchFollowers = ({ id, maxId, sinceId, limit }) => {\n return apiService.fetchFollowers({ id, maxId, sinceId, limit, credentials })\n }\n\n const fetchUser = ({ id }) => {\n return apiService.fetchUser({ id, credentials })\n }\n\n const fetchUserRelationship = ({ id }) => {\n return apiService.fetchUserRelationship({ id, credentials })\n }\n\n const followUser = ({ id, reblogs }) => {\n return apiService.followUser({ credentials, id, reblogs })\n }\n\n const unfollowUser = (id) => {\n return apiService.unfollowUser({ credentials, id })\n }\n\n const blockUser = (id) => {\n return apiService.blockUser({ credentials, id })\n }\n\n const unblockUser = (id) => {\n return apiService.unblockUser({ credentials, id })\n }\n\n const approveUser = (id) => {\n return apiService.approveUser({ credentials, id })\n }\n\n const denyUser = (id) => {\n return apiService.denyUser({ credentials, id })\n }\n\n const startFetchingTimeline = ({ timeline, store, userId = false, tag }) => {\n return timelineFetcherService.startFetching({ timeline, store, credentials, userId, tag })\n }\n\n const startFetchingNotifications = ({ store }) => {\n return notificationsFetcher.startFetching({ store, credentials })\n }\n\n const startFetchingFollowRequest = ({ store }) => {\n return followRequestFetcher.startFetching({ store, credentials })\n }\n\n // eslint-disable-next-line camelcase\n const tagUser = ({ screen_name }, tag) => {\n return apiService.tagUser({ screen_name, tag, credentials })\n }\n\n // eslint-disable-next-line camelcase\n const untagUser = ({ screen_name }, tag) => {\n return apiService.untagUser({ screen_name, tag, credentials })\n }\n\n // eslint-disable-next-line camelcase\n const addRight = ({ screen_name }, right) => {\n return apiService.addRight({ screen_name, right, credentials })\n }\n\n // eslint-disable-next-line camelcase\n const deleteRight = ({ screen_name }, right) => {\n return apiService.deleteRight({ screen_name, right, credentials })\n }\n\n // eslint-disable-next-line camelcase\n const setActivationStatus = ({ screen_name }, status) => {\n return apiService.setActivationStatus({ screen_name, status, credentials })\n }\n\n // eslint-disable-next-line camelcase\n const deleteUser = ({ screen_name }) => {\n return apiService.deleteUser({ screen_name, credentials })\n }\n\n const vote = (pollId, choices) => {\n return apiService.vote({ credentials, pollId, choices })\n }\n\n const fetchPoll = (pollId) => {\n return apiService.fetchPoll({ credentials, pollId })\n }\n\n const updateNotificationSettings = ({ settings }) => {\n return apiService.updateNotificationSettings({ credentials, settings })\n }\n\n const fetchMutes = () => apiService.fetchMutes({ credentials })\n const muteUser = (id) => apiService.muteUser({ credentials, id })\n const unmuteUser = (id) => apiService.unmuteUser({ credentials, id })\n const subscribeUser = (id) => apiService.subscribeUser({ credentials, id })\n const unsubscribeUser = (id) => apiService.unsubscribeUser({ credentials, id })\n const fetchBlocks = () => apiService.fetchBlocks({ credentials })\n const fetchOAuthTokens = () => apiService.fetchOAuthTokens({ credentials })\n const revokeOAuthToken = (id) => apiService.revokeOAuthToken({ id, credentials })\n const fetchMascot = () => apiService.fetchMascot({ credentials })\n const fetchPinnedStatuses = (id) => apiService.fetchPinnedStatuses({ credentials, id })\n const pinOwnStatus = (id) => apiService.pinOwnStatus({ credentials, id })\n const unpinOwnStatus = (id) => apiService.unpinOwnStatus({ credentials, id })\n const muteConversation = (id) => apiService.muteConversation({ credentials, id })\n const unmuteConversation = (id) => apiService.unmuteConversation({ credentials, id })\n\n const getCaptcha = () => apiService.getCaptcha()\n const register = (params) => apiService.register({ credentials, params })\n const updateAvatar = ({ avatar }) => apiService.updateAvatar({ credentials, avatar })\n const updateBg = ({ background }) => apiService.updateBg({ credentials, background })\n const updateBanner = ({ banner }) => apiService.updateBanner({ credentials, banner })\n const updateProfile = ({ params }) => apiService.updateProfile({ credentials, params })\n const updateMascot = ({ mascot }) => apiService.updateMascot({ mascot, credentials })\n\n const importBlocks = (file) => apiService.importBlocks({ file, credentials })\n const importFollows = (file) => apiService.importFollows({ file, credentials })\n\n const deleteAccount = ({ password }) => apiService.deleteAccount({ credentials, password })\n const changeEmail = ({ email, password }) => apiService.changeEmail({ credentials, email, password })\n const changePassword = ({ password, newPassword, newPasswordConfirmation }) =>\n apiService.changePassword({ credentials, password, newPassword, newPasswordConfirmation })\n\n const fetchSettingsMFA = () => apiService.settingsMFA({ credentials })\n const generateMfaBackupCodes = () => apiService.generateMfaBackupCodes({ credentials })\n const mfaSetupOTP = () => apiService.mfaSetupOTP({ credentials })\n const mfaConfirmOTP = ({ password, token }) => apiService.mfaConfirmOTP({ credentials, password, token })\n const mfaDisableOTP = ({ password }) => apiService.mfaDisableOTP({ credentials, password })\n\n const fetchFavoritedByUsers = (id) => apiService.fetchFavoritedByUsers({ id })\n const fetchRebloggedByUsers = (id) => apiService.fetchRebloggedByUsers({ id })\n const reportUser = (params) => apiService.reportUser({ credentials, ...params })\n\n const favorite = (id) => apiService.favorite({ id, credentials })\n const unfavorite = (id) => apiService.unfavorite({ id, credentials })\n const retweet = (id) => apiService.retweet({ id, credentials })\n const unretweet = (id) => apiService.unretweet({ id, credentials })\n const search2 = ({ q, resolve, limit, offset, following }) =>\n apiService.search2({ credentials, q, resolve, limit, offset, following })\n const searchUsers = (query) => apiService.searchUsers({ query, credentials })\n\n const backendInteractorServiceInstance = {\n fetchStatus,\n fetchConversation,\n fetchFriends,\n exportFriends,\n fetchFollowers,\n followUser,\n unfollowUser,\n blockUser,\n unblockUser,\n fetchUser,\n fetchUserRelationship,\n verifyCredentials: apiService.verifyCredentials,\n startFetchingTimeline,\n startFetchingNotifications,\n startFetchingFollowRequest,\n fetchMutes,\n muteUser,\n unmuteUser,\n subscribeUser,\n unsubscribeUser,\n fetchBlocks,\n fetchMascot,\n fetchOAuthTokens,\n revokeOAuthToken,\n fetchPinnedStatuses,\n pinOwnStatus,\n unpinOwnStatus,\n muteConversation,\n unmuteConversation,\n tagUser,\n untagUser,\n addRight,\n deleteRight,\n deleteUser,\n setActivationStatus,\n register,\n getCaptcha,\n updateAvatar,\n updateBg,\n updateBanner,\n updateProfile,\n importBlocks,\n importFollows,\n deleteAccount,\n changeEmail,\n changePassword,\n fetchSettingsMFA,\n generateMfaBackupCodes,\n mfaSetupOTP,\n mfaConfirmOTP,\n mfaDisableOTP,\n approveUser,\n denyUser,\n vote,\n fetchPoll,\n fetchFavoritedByUsers,\n fetchRebloggedByUsers,\n reportUser,\n favorite,\n unfavorite,\n retweet,\n unretweet,\n updateNotificationSettings,\n updateMascot,\n search2,\n searchUsers\n }\n\n return backendInteractorServiceInstance\n}\n\nexport default backendInteractorService\n","function injectStyle (context) {\n require(\"!!vue-style-loader!css-loader?minimize!../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"optionsId\\\":\\\"0\\\",\\\"vue\\\":true,\\\"scoped\\\":false,\\\"sourceMap\\\":false}!sass-loader!../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./still-image.vue\")\n}\n/* script */\nexport * from \"!!babel-loader!./still-image.js\"\nimport __vue_script__ from \"!!babel-loader!./still-image.js\"/* template */\nimport {render as __vue_render__, staticRenderFns as __vue_static_render_fns__} from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-1bc509fc\\\",\\\"hasScoped\\\":false,\\\"optionsId\\\":\\\"0\\\",\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./still-image.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nimport normalizeComponent from \"!../../../node_modules/vue-loader/lib/runtime/component-normalizer\"\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_render__,\n __vue_static_render_fns__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n","/* script */\nexport * from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./timeago.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./timeago.vue\"\n/* template */\nimport {render as __vue_render__, staticRenderFns as __vue_static_render_fns__} from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-ac499830\\\",\\\"hasScoped\\\":false,\\\"optionsId\\\":\\\"0\\\",\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./timeago.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nimport normalizeComponent from \"!../../../node_modules/vue-loader/lib/runtime/component-normalizer\"\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_render__,\n __vue_static_render_fns__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n","function injectStyle (context) {\n require(\"!!vue-style-loader!css-loader?minimize!../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"optionsId\\\":\\\"0\\\",\\\"vue\\\":true,\\\"scoped\\\":false,\\\"sourceMap\\\":false}!sass-loader!../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./post_status_form.vue\")\n}\n/* script */\nexport * from \"!!babel-loader!./post_status_form.js\"\nimport __vue_script__ from \"!!babel-loader!./post_status_form.js\"/* template */\nimport {render as __vue_render__, staticRenderFns as __vue_static_render_fns__} from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-c2ba770c\\\",\\\"hasScoped\\\":false,\\\"optionsId\\\":\\\"0\\\",\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./post_status_form.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nimport normalizeComponent from \"!../../../node_modules/vue-loader/lib/runtime/component-normalizer\"\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_render__,\n __vue_static_render_fns__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n","/* script */\nexport * from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./progress_button.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./progress_button.vue\"\n/* template */\nimport {render as __vue_render__, staticRenderFns as __vue_static_render_fns__} from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-9f751ae6\\\",\\\"hasScoped\\\":false,\\\"optionsId\\\":\\\"0\\\",\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./progress_button.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nimport normalizeComponent from \"!../../../node_modules/vue-loader/lib/runtime/component-normalizer\"\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_render__,\n __vue_static_render_fns__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n","import { filter, sortBy } from 'lodash'\n\nexport const notificationsFromStore = store => store.state.statuses.notifications.data\n\nexport const visibleTypes = store => ([\n store.state.config.notificationVisibility.likes && 'like',\n store.state.config.notificationVisibility.mentions && 'mention',\n store.state.config.notificationVisibility.repeats && 'repeat',\n store.state.config.notificationVisibility.follows && 'follow'\n].filter(_ => _))\n\nconst sortById = (a, b) => {\n const seqA = Number(a.id)\n const seqB = Number(b.id)\n const isSeqA = !Number.isNaN(seqA)\n const isSeqB = !Number.isNaN(seqB)\n if (isSeqA && isSeqB) {\n return seqA > seqB ? -1 : 1\n } else if (isSeqA && !isSeqB) {\n return 1\n } else if (!isSeqA && isSeqB) {\n return -1\n } else {\n return a.id > b.id ? -1 : 1\n }\n}\n\nexport const visibleNotificationsFromStore = (store, types) => {\n // map is just to clone the array since sort mutates it and it causes some issues\n let sortedNotifications = notificationsFromStore(store).map(_ => _).sort(sortById)\n sortedNotifications = sortBy(sortedNotifications, 'seen')\n return sortedNotifications.filter(\n (notification) => (types || visibleTypes(store)).includes(notification.type)\n )\n}\n\nexport const unseenNotificationsFromStore = store =>\n filter(visibleNotificationsFromStore(store), ({ seen }) => !seen)\n","function injectStyle (context) {\n require(\"!!vue-style-loader!css-loader?minimize!../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"optionsId\\\":\\\"0\\\",\\\"vue\\\":true,\\\"scoped\\\":false,\\\"sourceMap\\\":false}!sass-loader!../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./follow_card.vue\")\n}\n/* script */\nexport * from \"!!babel-loader!./follow_card.js\"\nimport __vue_script__ from \"!!babel-loader!./follow_card.js\"/* template */\nimport {render as __vue_render__, staticRenderFns as __vue_static_render_fns__} from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-5b90ae69\\\",\\\"hasScoped\\\":false,\\\"optionsId\\\":\\\"0\\\",\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./follow_card.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nimport normalizeComponent from \"!../../../node_modules/vue-loader/lib/runtime/component-normalizer\"\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_render__,\n __vue_static_render_fns__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n","function injectStyle (context) {\n require(\"!!vue-style-loader!css-loader?minimize!../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"optionsId\\\":\\\"0\\\",\\\"vue\\\":true,\\\"scoped\\\":false,\\\"sourceMap\\\":false}!sass-loader!../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./list.vue\")\n}\n/* script */\nexport * from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./list.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./list.vue\"\n/* template */\nimport {render as __vue_render__, staticRenderFns as __vue_static_render_fns__} from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-c1790f52\\\",\\\"hasScoped\\\":false,\\\"optionsId\\\":\\\"0\\\",\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./list.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nimport normalizeComponent from \"!../../../node_modules/vue-loader/lib/runtime/component-normalizer\"\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_render__,\n __vue_static_render_fns__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n","function injectStyle (context) {\n require(\"!!vue-style-loader!css-loader?minimize!../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"optionsId\\\":\\\"0\\\",\\\"vue\\\":true,\\\"scoped\\\":false,\\\"sourceMap\\\":false}!sass-loader!../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./modal.vue\")\n}\n/* script */\nexport * from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./modal.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./modal.vue\"\n/* template */\nimport {render as __vue_render__, staticRenderFns as __vue_static_render_fns__} from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-068d175e\\\",\\\"hasScoped\\\":false,\\\"optionsId\\\":\\\"0\\\",\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./modal.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nimport normalizeComponent from \"!../../../node_modules/vue-loader/lib/runtime/component-normalizer\"\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_render__,\n __vue_static_render_fns__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n","\nconst DIRECTION_LEFT = [-1, 0]\nconst DIRECTION_RIGHT = [1, 0]\nconst DIRECTION_UP = [0, -1]\nconst DIRECTION_DOWN = [0, 1]\n\nconst deltaCoord = (oldCoord, newCoord) => [newCoord[0] - oldCoord[0], newCoord[1] - oldCoord[1]]\n\nconst touchEventCoord = e => ([e.touches[0].screenX, e.touches[0].screenY])\n\nconst vectorLength = v => Math.sqrt(v[0] * v[0] + v[1] * v[1])\n\nconst perpendicular = v => [v[1], -v[0]]\n\nconst dotProduct = (v1, v2) => v1[0] * v2[0] + v1[1] * v2[1]\n\nconst project = (v1, v2) => {\n const scalar = (dotProduct(v1, v2) / dotProduct(v2, v2))\n return [scalar * v2[0], scalar * v2[1]]\n}\n\n// direction: either use the constants above or an arbitrary 2d vector.\n// threshold: how many Px to move from touch origin before checking if the\n// callback should be called.\n// divergentTolerance: a scalar for much of divergent direction we tolerate when\n// above threshold. for example, with 1.0 we only call the callback if\n// divergent component of delta is < 1.0 * direction component of delta.\nconst swipeGesture = (direction, onSwipe, threshold = 30, perpendicularTolerance = 1.0) => {\n return {\n direction,\n onSwipe,\n threshold,\n perpendicularTolerance,\n _startPos: [0, 0],\n _swiping: false\n }\n}\n\nconst beginSwipe = (event, gesture) => {\n gesture._startPos = touchEventCoord(event)\n gesture._swiping = true\n}\n\nconst updateSwipe = (event, gesture) => {\n if (!gesture._swiping) return\n // movement too small\n const delta = deltaCoord(gesture._startPos, touchEventCoord(event))\n if (vectorLength(delta) < gesture.threshold) return\n // movement is opposite from direction\n if (dotProduct(delta, gesture.direction) < 0) return\n // movement perpendicular to direction is too much\n const towardsDir = project(delta, gesture.direction)\n const perpendicularDir = perpendicular(gesture.direction)\n const towardsPerpendicular = project(delta, perpendicularDir)\n if (\n vectorLength(towardsDir) * gesture.perpendicularTolerance <\n vectorLength(towardsPerpendicular)\n ) return\n\n gesture.onSwipe()\n gesture._swiping = false\n}\n\nconst GestureService = {\n DIRECTION_LEFT,\n DIRECTION_RIGHT,\n DIRECTION_UP,\n DIRECTION_DOWN,\n swipeGesture,\n beginSwipe,\n updateSwipe\n}\n\nexport default GestureService\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"still-image\",class:{ animated: _vm.animated }},[(_vm.animated)?_c('canvas',{ref:\"canvas\"}):_vm._e(),_vm._v(\" \"),_c('img',{key:_vm.src,ref:\"src\",attrs:{\"src\":_vm.src,\"referrerpolicy\":_vm.referrerpolicy},on:{\"load\":_vm.onLoad,\"error\":_vm.onError}})])}\nvar staticRenderFns = []\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('video',{staticClass:\"video\",attrs:{\"src\":_vm.attachment.url,\"loop\":_vm.loopVideo,\"controls\":_vm.controls,\"playsinline\":\"\"},on:{\"loadeddata\":_vm.onVideoDataLoad}})}\nvar staticRenderFns = []\nexport { render, staticRenderFns }","var render = function () {\nvar _obj;\nvar _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.usePlaceHolder)?_c('div',{on:{\"click\":_vm.openModal}},[(_vm.type !== 'html')?_c('a',{staticClass:\"placeholder\",attrs:{\"target\":\"_blank\",\"href\":_vm.attachment.url}},[_vm._v(\"\\n [\"+_vm._s(_vm.nsfw ? \"NSFW/\" : \"\")+_vm._s(_vm.type.toUpperCase())+\"]\\n \")]):_vm._e()]):_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(!_vm.isEmpty),expression:\"!isEmpty\"}],staticClass:\"attachment\",class:( _obj = {}, _obj[_vm.type] = true, _obj.loading = _vm.loading, _obj['fullwidth'] = _vm.fullwidth, _obj['nsfw-placeholder'] = _vm.hidden, _obj )},[(_vm.hidden)?_c('a',{staticClass:\"image-attachment\",attrs:{\"href\":_vm.attachment.url},on:{\"click\":function($event){$event.preventDefault();return _vm.toggleHidden($event)}}},[_c('img',{key:_vm.nsfwImage,staticClass:\"nsfw\",class:{'small': _vm.isSmall},attrs:{\"src\":_vm.nsfwImage}}),_vm._v(\" \"),(_vm.type === 'video')?_c('i',{staticClass:\"play-icon icon-play-circled\"}):_vm._e()]):_vm._e(),_vm._v(\" \"),(_vm.nsfw && _vm.hideNsfwLocal && !_vm.hidden)?_c('div',{staticClass:\"hider\"},[_c('a',{attrs:{\"href\":\"#\"},on:{\"click\":function($event){$event.preventDefault();return _vm.toggleHidden($event)}}},[_vm._v(\"Hide\")])]):_vm._e(),_vm._v(\" \"),(_vm.type === 'image' && (!_vm.hidden || _vm.preloadImage))?_c('a',{staticClass:\"image-attachment\",class:{'hidden': _vm.hidden && _vm.preloadImage },attrs:{\"href\":_vm.attachment.url,\"target\":\"_blank\",\"title\":_vm.attachment.description},on:{\"click\":_vm.openModal}},[_c('StillImage',{attrs:{\"referrerpolicy\":_vm.referrerpolicy,\"mimetype\":_vm.attachment.mimetype,\"src\":_vm.attachment.large_thumb_url || _vm.attachment.url,\"image-load-handler\":_vm.onImageLoad}})],1):_vm._e(),_vm._v(\" \"),(_vm.type === 'video' && !_vm.hidden)?_c('a',{staticClass:\"video-container\",class:{'small': _vm.isSmall},attrs:{\"href\":_vm.allowPlay ? undefined : _vm.attachment.url},on:{\"click\":_vm.openModal}},[_c('VideoAttachment',{staticClass:\"video\",attrs:{\"attachment\":_vm.attachment,\"controls\":_vm.allowPlay}}),_vm._v(\" \"),(!_vm.allowPlay)?_c('i',{staticClass:\"play-icon icon-play-circled\"}):_vm._e()],1):_vm._e(),_vm._v(\" \"),(_vm.type === 'audio')?_c('audio',{attrs:{\"src\":_vm.attachment.url,\"controls\":\"\"}}):_vm._e(),_vm._v(\" \"),(_vm.type === 'html' && _vm.attachment.oembed)?_c('div',{staticClass:\"oembed\",on:{\"click\":function($event){$event.preventDefault();return _vm.linkClicked($event)}}},[(_vm.attachment.thumb_url)?_c('div',{staticClass:\"image\"},[_c('img',{attrs:{\"src\":_vm.attachment.thumb_url}})]):_vm._e(),_vm._v(\" \"),_c('div',{staticClass:\"text\"},[_c('h1',[_c('a',{attrs:{\"href\":_vm.attachment.url}},[_vm._v(_vm._s(_vm.attachment.oembed.title))])]),_vm._v(\" \"),_c('div',{domProps:{\"innerHTML\":_vm._s(_vm.attachment.oembed.oembedHTML)}})])]):_vm._e()])}\nvar staticRenderFns = []\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.loggedIn)?_c('div',[_c('i',{staticClass:\"button-icon favorite-button fav-active\",class:_vm.classes,attrs:{\"title\":_vm.$t('tool_tip.favorite')},on:{\"click\":function($event){$event.preventDefault();_vm.favorite()}}}),_vm._v(\" \"),(!_vm.mergedConfig.hidePostStats && _vm.status.fave_num > 0)?_c('span',[_vm._v(_vm._s(_vm.status.fave_num))]):_vm._e()]):_c('div',[_c('i',{staticClass:\"button-icon favorite-button\",class:_vm.classes,attrs:{\"title\":_vm.$t('tool_tip.favorite')}}),_vm._v(\" \"),(!_vm.mergedConfig.hidePostStats && _vm.status.fave_num > 0)?_c('span',[_vm._v(_vm._s(_vm.status.fave_num))]):_vm._e()])}\nvar staticRenderFns = []\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.loggedIn)?_c('div',[(_vm.visibility !== 'private' && _vm.visibility !== 'direct')?[_c('i',{staticClass:\"button-icon retweet-button icon-retweet rt-active\",class:_vm.classes,attrs:{\"title\":_vm.$t('tool_tip.repeat')},on:{\"click\":function($event){$event.preventDefault();_vm.retweet()}}}),_vm._v(\" \"),(!_vm.mergedConfig.hidePostStats && _vm.status.repeat_num > 0)?_c('span',[_vm._v(_vm._s(_vm.status.repeat_num))]):_vm._e()]:[_c('i',{staticClass:\"button-icon icon-lock\",class:_vm.classes,attrs:{\"title\":_vm.$t('timeline.no_retweet_hint')}})]],2):(!_vm.loggedIn)?_c('div',[_c('i',{staticClass:\"button-icon icon-retweet\",class:_vm.classes,attrs:{\"title\":_vm.$t('tool_tip.repeat')}}),_vm._v(\" \"),(!_vm.mergedConfig.hidePostStats && _vm.status.repeat_num > 0)?_c('span',[_vm._v(_vm._s(_vm.status.repeat_num))]):_vm._e()]):_vm._e()}\nvar staticRenderFns = []\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('time',{attrs:{\"datetime\":_vm.time,\"title\":_vm.localeDateString}},[_vm._v(\"\\n \"+_vm._s(_vm.$t(_vm.relativeTime.key, [_vm.relativeTime.num]))+\"\\n\")])}\nvar staticRenderFns = []\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"poll\",class:_vm.containerClass},[_vm._l((_vm.options),function(option,index){return _c('div',{key:index,staticClass:\"poll-option\"},[(_vm.showResults)?_c('div',{staticClass:\"option-result\",attrs:{\"title\":_vm.resultTitle(option)}},[_c('div',{staticClass:\"option-result-label\"},[_c('span',{staticClass:\"result-percentage\"},[_vm._v(\"\\n \"+_vm._s(_vm.percentageForOption(option.votes_count))+\"%\\n \")]),_vm._v(\" \"),_c('span',[_vm._v(_vm._s(option.title))])]),_vm._v(\" \"),_c('div',{staticClass:\"result-fill\",style:({ 'width': ((_vm.percentageForOption(option.votes_count)) + \"%\") })})]):_c('div',{on:{\"click\":function($event){_vm.activateOption(index)}}},[(_vm.poll.multiple)?_c('input',{attrs:{\"type\":\"checkbox\",\"disabled\":_vm.loading},domProps:{\"value\":index}}):_c('input',{attrs:{\"type\":\"radio\",\"disabled\":_vm.loading},domProps:{\"value\":index}}),_vm._v(\" \"),_c('label',{staticClass:\"option-vote\"},[_c('div',[_vm._v(_vm._s(option.title))])])])])}),_vm._v(\" \"),_c('div',{staticClass:\"footer faint\"},[(!_vm.showResults)?_c('button',{staticClass:\"btn btn-default poll-vote-button\",attrs:{\"type\":\"button\",\"disabled\":_vm.isDisabled},on:{\"click\":_vm.vote}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('polls.vote'))+\"\\n \")]):_vm._e(),_vm._v(\" \"),_c('div',{staticClass:\"total\"},[_vm._v(\"\\n \"+_vm._s(_vm.totalVotesCount)+\" \"+_vm._s(_vm.$t(\"polls.votes\"))+\" · \\n \")]),_vm._v(\" \"),_c('i18n',{attrs:{\"path\":_vm.expired ? 'polls.expired' : 'polls.expires_in'}},[_c('Timeago',{attrs:{\"time\":_vm.expiresAt,\"auto-update\":60,\"now-threshold\":0}})],1)],1)],2)}\nvar staticRenderFns = []\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.canDelete || _vm.canMute || _vm.canPin)?_c('v-popover',{staticClass:\"extra-button-popover\",attrs:{\"trigger\":\"click\",\"placement\":\"top\"}},[_c('div',{attrs:{\"slot\":\"popover\"},slot:\"popover\"},[_c('div',{staticClass:\"dropdown-menu\"},[(_vm.canMute && !_vm.status.thread_muted)?_c('button',{staticClass:\"dropdown-item dropdown-item-icon\",on:{\"click\":function($event){$event.preventDefault();return _vm.muteConversation($event)}}},[_c('i',{staticClass:\"icon-eye-off\"}),_c('span',[_vm._v(_vm._s(_vm.$t(\"status.mute_conversation\")))])]):_vm._e(),_vm._v(\" \"),(_vm.canMute && _vm.status.thread_muted)?_c('button',{staticClass:\"dropdown-item dropdown-item-icon\",on:{\"click\":function($event){$event.preventDefault();return _vm.unmuteConversation($event)}}},[_c('i',{staticClass:\"icon-eye-off\"}),_c('span',[_vm._v(_vm._s(_vm.$t(\"status.unmute_conversation\")))])]):_vm._e(),_vm._v(\" \"),(!_vm.status.pinned && _vm.canPin)?_c('button',{directives:[{name:\"close-popover\",rawName:\"v-close-popover\"}],staticClass:\"dropdown-item dropdown-item-icon\",on:{\"click\":function($event){$event.preventDefault();return _vm.pinStatus($event)}}},[_c('i',{staticClass:\"icon-pin\"}),_c('span',[_vm._v(_vm._s(_vm.$t(\"status.pin\")))])]):_vm._e(),_vm._v(\" \"),(_vm.status.pinned && _vm.canPin)?_c('button',{directives:[{name:\"close-popover\",rawName:\"v-close-popover\"}],staticClass:\"dropdown-item dropdown-item-icon\",on:{\"click\":function($event){$event.preventDefault();return _vm.unpinStatus($event)}}},[_c('i',{staticClass:\"icon-pin\"}),_c('span',[_vm._v(_vm._s(_vm.$t(\"status.unpin\")))])]):_vm._e(),_vm._v(\" \"),(_vm.canDelete)?_c('button',{directives:[{name:\"close-popover\",rawName:\"v-close-popover\"}],staticClass:\"dropdown-item dropdown-item-icon\",on:{\"click\":function($event){$event.preventDefault();return _vm.deleteStatus($event)}}},[_c('i',{staticClass:\"icon-cancel\"}),_c('span',[_vm._v(_vm._s(_vm.$t(\"status.delete\")))])]):_vm._e()])]),_vm._v(\" \"),_c('div',{staticClass:\"button-icon\"},[_c('i',{staticClass:\"icon-ellipsis\"})])]):_vm._e()}\nvar staticRenderFns = []\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"media-upload\",on:{\"drop\":[function($event){$event.preventDefault();},_vm.fileDrop],\"dragover\":function($event){$event.preventDefault();return _vm.fileDrag($event)}}},[_c('label',{staticClass:\"label\",attrs:{\"title\":_vm.$t('tool_tip.media_upload')}},[(_vm.uploading)?_c('i',{staticClass:\"progress-icon icon-spin4 animate-spin\"}):_vm._e(),_vm._v(\" \"),(!_vm.uploading)?_c('i',{staticClass:\"new-icon icon-upload\"}):_vm._e(),_vm._v(\" \"),(_vm.uploadReady)?_c('input',{staticStyle:{\"position\":\"fixed\",\"top\":\"-100em\"},attrs:{\"type\":\"file\",\"multiple\":\"true\"},on:{\"change\":_vm.change}}):_vm._e()])])}\nvar staticRenderFns = []\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (!_vm.showNothing)?_c('div',{staticClass:\"scope-selector\"},[(_vm.showDirect)?_c('i',{staticClass:\"icon-mail-alt\",class:_vm.css.direct,attrs:{\"title\":_vm.$t('post_status.scope.direct')},on:{\"click\":function($event){_vm.changeVis('direct')}}}):_vm._e(),_vm._v(\" \"),(_vm.showPrivate)?_c('i',{staticClass:\"icon-lock\",class:_vm.css.private,attrs:{\"title\":_vm.$t('post_status.scope.private')},on:{\"click\":function($event){_vm.changeVis('private')}}}):_vm._e(),_vm._v(\" \"),(_vm.showUnlisted)?_c('i',{staticClass:\"icon-lock-open-alt\",class:_vm.css.unlisted,attrs:{\"title\":_vm.$t('post_status.scope.unlisted')},on:{\"click\":function($event){_vm.changeVis('unlisted')}}}):_vm._e(),_vm._v(\" \"),(_vm.showPublic)?_c('i',{staticClass:\"icon-globe\",class:_vm.css.public,attrs:{\"title\":_vm.$t('post_status.scope.public')},on:{\"click\":function($event){_vm.changeVis('public')}}}):_vm._e()]):_vm._e()}\nvar staticRenderFns = []\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('label',{staticClass:\"checkbox\",class:{ disabled: _vm.disabled, indeterminate: _vm.indeterminate }},[_c('input',{attrs:{\"type\":\"checkbox\",\"disabled\":_vm.disabled},domProps:{\"checked\":_vm.checked,\"indeterminate\":_vm.indeterminate},on:{\"change\":function($event){_vm.$emit('change', $event.target.checked)}}}),_vm._v(\" \"),_c('i',{staticClass:\"checkbox-indicator\"}),_vm._v(\" \"),(!!_vm.$slots.default)?_c('span',{staticClass:\"label\"},[_vm._t(\"default\")],2):_vm._e()])}\nvar staticRenderFns = []\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"emoji-picker panel panel-default panel-body\"},[_c('div',{staticClass:\"heading\"},[_c('span',{staticClass:\"emoji-tabs\"},_vm._l((_vm.emojis),function(group){return _c('span',{key:group.id,staticClass:\"emoji-tabs-item\",class:{\n active: _vm.activeGroupView === group.id,\n disabled: group.emojis.length === 0\n },attrs:{\"title\":group.text},on:{\"click\":function($event){$event.preventDefault();_vm.highlight(group.id)}}},[_c('i',{class:group.icon})])}),0),_vm._v(\" \"),(_vm.stickerPickerEnabled)?_c('span',{staticClass:\"additional-tabs\"},[_c('span',{staticClass:\"stickers-tab-icon additional-tabs-item\",class:{active: _vm.showingStickers},attrs:{\"title\":_vm.$t('emoji.stickers')},on:{\"click\":function($event){$event.preventDefault();return _vm.toggleStickers($event)}}},[_c('i',{staticClass:\"icon-star\"})])]):_vm._e()]),_vm._v(\" \"),_c('div',{staticClass:\"content\"},[_c('div',{staticClass:\"emoji-content\",class:{hidden: _vm.showingStickers}},[_c('div',{staticClass:\"emoji-search\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.keyword),expression:\"keyword\"}],staticClass:\"form-control\",attrs:{\"type\":\"text\",\"placeholder\":_vm.$t('emoji.search_emoji')},domProps:{\"value\":(_vm.keyword)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.keyword=$event.target.value}}})]),_vm._v(\" \"),_c('div',{ref:\"emoji-groups\",staticClass:\"emoji-groups\",class:_vm.groupsScrolledClass,on:{\"scroll\":_vm.onScroll}},_vm._l((_vm.emojisView),function(group){return _c('div',{key:group.id,staticClass:\"emoji-group\"},[_c('h6',{ref:'group-' + group.id,refInFor:true,staticClass:\"emoji-group-title\"},[_vm._v(\"\\n \"+_vm._s(group.text)+\"\\n \")]),_vm._v(\" \"),_vm._l((group.emojis),function(emoji){return _c('span',{key:group.id + emoji.displayText,staticClass:\"emoji-item\",attrs:{\"title\":emoji.displayText},on:{\"click\":function($event){$event.stopPropagation();$event.preventDefault();_vm.onEmoji(emoji)}}},[(!emoji.imageUrl)?_c('span',[_vm._v(_vm._s(emoji.replacement))]):_c('img',{attrs:{\"src\":emoji.imageUrl}})])}),_vm._v(\" \"),_c('span',{ref:'group-end-' + group.id,refInFor:true})],2)}),0),_vm._v(\" \"),_c('div',{staticClass:\"keep-open\"},[_c('Checkbox',{model:{value:(_vm.keepOpen),callback:function ($$v) {_vm.keepOpen=$$v},expression:\"keepOpen\"}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('emoji.keep_open'))+\"\\n \")])],1)]),_vm._v(\" \"),(_vm.showingStickers)?_c('div',{staticClass:\"stickers-content\"},[_c('sticker-picker',{on:{\"uploaded\":_vm.onStickerUploaded,\"upload-failed\":_vm.onStickerUploadFailed}})],1):_vm._e()])])}\nvar staticRenderFns = []\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{directives:[{name:\"click-outside\",rawName:\"v-click-outside\",value:(_vm.onClickOutside),expression:\"onClickOutside\"}],staticClass:\"emoji-input\",class:{ 'with-picker': !_vm.hideEmojiButton }},[_vm._t(\"default\"),_vm._v(\" \"),(_vm.enableEmojiPicker)?[(!_vm.hideEmojiButton)?_c('div',{staticClass:\"emoji-picker-icon\",on:{\"click\":function($event){$event.preventDefault();return _vm.togglePicker($event)}}},[_c('i',{staticClass:\"icon-smile\"})]):_vm._e(),_vm._v(\" \"),(_vm.enableEmojiPicker)?_c('EmojiPicker',{ref:\"picker\",staticClass:\"emoji-picker-panel\",class:{ hide: !_vm.showPicker },attrs:{\"enable-sticker-picker\":_vm.enableStickerPicker},on:{\"emoji\":_vm.insert,\"sticker-uploaded\":_vm.onStickerUploaded,\"sticker-upload-failed\":_vm.onStickerUploadFailed}}):_vm._e()]:_vm._e(),_vm._v(\" \"),_c('div',{ref:\"panel\",staticClass:\"autocomplete-panel\",class:{ hide: !_vm.showSuggestions }},[_c('div',{staticClass:\"autocomplete-panel-body\"},_vm._l((_vm.suggestions),function(suggestion,index){return _c('div',{key:index,staticClass:\"autocomplete-item\",class:{ highlighted: suggestion.highlighted },on:{\"click\":function($event){$event.stopPropagation();$event.preventDefault();_vm.onClick($event, suggestion)}}},[_c('span',{staticClass:\"image\"},[(suggestion.img)?_c('img',{attrs:{\"src\":suggestion.img}}):_c('span',[_vm._v(_vm._s(suggestion.replacement))])]),_vm._v(\" \"),_c('div',{staticClass:\"label\"},[_c('span',{staticClass:\"displayText\"},[_vm._v(_vm._s(suggestion.displayText))]),_vm._v(\" \"),_c('span',{staticClass:\"detailText\"},[_vm._v(_vm._s(suggestion.detailText))])])])}),0)])],2)}\nvar staticRenderFns = []\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.visible)?_c('div',{staticClass:\"poll-form\"},[_vm._l((_vm.options),function(option,index){return _c('div',{key:index,staticClass:\"poll-option\"},[_c('div',{staticClass:\"input-container\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.options[index]),expression:\"options[index]\"}],staticClass:\"poll-option-input\",attrs:{\"id\":(\"poll-\" + index),\"type\":\"text\",\"placeholder\":_vm.$t('polls.option'),\"maxlength\":_vm.maxLength},domProps:{\"value\":(_vm.options[index])},on:{\"change\":_vm.updatePollToParent,\"keydown\":function($event){if(!('button' in $event)&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\")){ return null; }$event.stopPropagation();$event.preventDefault();_vm.nextOption(index)},\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.options, index, $event.target.value)}}})]),_vm._v(\" \"),(_vm.options.length > 2)?_c('div',{staticClass:\"icon-container\"},[_c('i',{staticClass:\"icon-cancel\",on:{\"click\":function($event){_vm.deleteOption(index)}}})]):_vm._e()])}),_vm._v(\" \"),(_vm.options.length < _vm.maxOptions)?_c('a',{staticClass:\"add-option faint\",on:{\"click\":_vm.addOption}},[_c('i',{staticClass:\"icon-plus\"}),_vm._v(\"\\n \"+_vm._s(_vm.$t(\"polls.add_option\"))+\"\\n \")]):_vm._e(),_vm._v(\" \"),_c('div',{staticClass:\"poll-type-expiry\"},[_c('div',{staticClass:\"poll-type\",attrs:{\"title\":_vm.$t('polls.type')}},[_c('label',{staticClass:\"select\",attrs:{\"for\":\"poll-type-selector\"}},[_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.pollType),expression:\"pollType\"}],staticClass:\"select\",on:{\"change\":[function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.pollType=$event.target.multiple ? $$selectedVal : $$selectedVal[0]},_vm.updatePollToParent]}},[_c('option',{attrs:{\"value\":\"single\"}},[_vm._v(_vm._s(_vm.$t('polls.single_choice')))]),_vm._v(\" \"),_c('option',{attrs:{\"value\":\"multiple\"}},[_vm._v(_vm._s(_vm.$t('polls.multiple_choices')))])]),_vm._v(\" \"),_c('i',{staticClass:\"icon-down-open\"})])]),_vm._v(\" \"),_c('div',{staticClass:\"poll-expiry\",attrs:{\"title\":_vm.$t('polls.expiry')}},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.expiryAmount),expression:\"expiryAmount\"}],staticClass:\"expiry-amount hide-number-spinner\",attrs:{\"type\":\"number\",\"min\":_vm.minExpirationInCurrentUnit,\"max\":_vm.maxExpirationInCurrentUnit},domProps:{\"value\":(_vm.expiryAmount)},on:{\"change\":_vm.expiryAmountChange,\"input\":function($event){if($event.target.composing){ return; }_vm.expiryAmount=$event.target.value}}}),_vm._v(\" \"),_c('label',{staticClass:\"expiry-unit select\"},[_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.expiryUnit),expression:\"expiryUnit\"}],on:{\"change\":[function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.expiryUnit=$event.target.multiple ? $$selectedVal : $$selectedVal[0]},_vm.expiryAmountChange]}},_vm._l((_vm.expiryUnits),function(unit){return _c('option',{key:unit,domProps:{\"value\":unit}},[_vm._v(\"\\n \"+_vm._s(_vm.$t((\"time.\" + unit + \"_short\"), ['']))+\"\\n \")])}),0),_vm._v(\" \"),_c('i',{staticClass:\"icon-down-open\"})])])])],2):_vm._e()}\nvar staticRenderFns = []\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{ref:\"form\",staticClass:\"post-status-form\"},[_c('form',{attrs:{\"autocomplete\":\"off\"},on:{\"submit\":function($event){$event.preventDefault();_vm.postStatus(_vm.newStatus)}}},[_c('div',{staticClass:\"form-group\"},[(!_vm.$store.state.users.currentUser.locked && _vm.newStatus.visibility == 'private')?_c('i18n',{staticClass:\"visibility-notice\",attrs:{\"path\":\"post_status.account_not_locked_warning\",\"tag\":\"p\"}},[_c('router-link',{attrs:{\"to\":{ name: 'user-settings' }}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('post_status.account_not_locked_warning_link'))+\"\\n \")])],1):_vm._e(),_vm._v(\" \"),(!_vm.hideScopeNotice && _vm.newStatus.visibility === 'public')?_c('p',{staticClass:\"visibility-notice notice-dismissible\"},[_c('span',[_vm._v(_vm._s(_vm.$t('post_status.scope_notice.public')))]),_vm._v(\" \"),_c('a',{staticClass:\"button-icon dismiss\",on:{\"click\":function($event){$event.preventDefault();_vm.dismissScopeNotice()}}},[_c('i',{staticClass:\"icon-cancel\"})])]):(!_vm.hideScopeNotice && _vm.newStatus.visibility === 'unlisted')?_c('p',{staticClass:\"visibility-notice notice-dismissible\"},[_c('span',[_vm._v(_vm._s(_vm.$t('post_status.scope_notice.unlisted')))]),_vm._v(\" \"),_c('a',{staticClass:\"button-icon dismiss\",on:{\"click\":function($event){$event.preventDefault();_vm.dismissScopeNotice()}}},[_c('i',{staticClass:\"icon-cancel\"})])]):(!_vm.hideScopeNotice && _vm.newStatus.visibility === 'private' && _vm.$store.state.users.currentUser.locked)?_c('p',{staticClass:\"visibility-notice notice-dismissible\"},[_c('span',[_vm._v(_vm._s(_vm.$t('post_status.scope_notice.private')))]),_vm._v(\" \"),_c('a',{staticClass:\"button-icon dismiss\",on:{\"click\":function($event){$event.preventDefault();_vm.dismissScopeNotice()}}},[_c('i',{staticClass:\"icon-cancel\"})])]):(_vm.newStatus.visibility === 'direct')?_c('p',{staticClass:\"visibility-notice\"},[(_vm.safeDMEnabled)?_c('span',[_vm._v(_vm._s(_vm.$t('post_status.direct_warning_to_first_only')))]):_c('span',[_vm._v(_vm._s(_vm.$t('post_status.direct_warning_to_all')))])]):_vm._e(),_vm._v(\" \"),(_vm.newStatus.spoilerText || _vm.alwaysShowSubject)?_c('EmojiInput',{staticClass:\"form-control\",attrs:{\"enable-emoji-picker\":\"\",\"suggest\":_vm.emojiSuggestor},model:{value:(_vm.newStatus.spoilerText),callback:function ($$v) {_vm.$set(_vm.newStatus, \"spoilerText\", $$v)},expression:\"newStatus.spoilerText\"}},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.newStatus.spoilerText),expression:\"newStatus.spoilerText\"}],staticClass:\"form-post-subject\",attrs:{\"type\":\"text\",\"placeholder\":_vm.$t('post_status.content_warning')},domProps:{\"value\":(_vm.newStatus.spoilerText)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.newStatus, \"spoilerText\", $event.target.value)}}})]):_vm._e(),_vm._v(\" \"),_c('EmojiInput',{ref:\"emoji-input\",staticClass:\"form-control main-input\",attrs:{\"suggest\":_vm.emojiUserSuggestor,\"enable-emoji-picker\":\"\",\"hide-emoji-button\":\"\",\"enable-sticker-picker\":\"\"},on:{\"input\":_vm.onEmojiInputInput,\"sticker-uploaded\":_vm.addMediaFile,\"sticker-upload-failed\":_vm.uploadFailed},model:{value:(_vm.newStatus.status),callback:function ($$v) {_vm.$set(_vm.newStatus, \"status\", $$v)},expression:\"newStatus.status\"}},[_c('textarea',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.newStatus.status),expression:\"newStatus.status\"}],ref:\"textarea\",staticClass:\"form-post-body\",attrs:{\"placeholder\":_vm.$t('post_status.default'),\"rows\":\"1\",\"disabled\":_vm.posting},domProps:{\"value\":(_vm.newStatus.status)},on:{\"keydown\":function($event){if(!('button' in $event)&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\")){ return null; }if(!$event.metaKey){ return null; }_vm.postStatus(_vm.newStatus)},\"keyup\":function($event){if(!('button' in $event)&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\")){ return null; }if(!$event.ctrlKey){ return null; }_vm.postStatus(_vm.newStatus)},\"drop\":_vm.fileDrop,\"dragover\":function($event){$event.preventDefault();return _vm.fileDrag($event)},\"input\":[function($event){if($event.target.composing){ return; }_vm.$set(_vm.newStatus, \"status\", $event.target.value)},_vm.resize],\"compositionupdate\":_vm.resize,\"paste\":_vm.paste}}),_vm._v(\" \"),(_vm.hasStatusLengthLimit)?_c('p',{staticClass:\"character-counter faint\",class:{ error: _vm.isOverLengthLimit }},[_vm._v(\"\\n \"+_vm._s(_vm.charactersLeft)+\"\\n \")]):_vm._e()]),_vm._v(\" \"),_c('div',{staticClass:\"visibility-tray\"},[_c('scope-selector',{attrs:{\"show-all\":_vm.showAllScopes,\"user-default\":_vm.userDefaultScope,\"original-scope\":_vm.copyMessageScope,\"initial-scope\":_vm.newStatus.visibility,\"on-scope-change\":_vm.changeVis}}),_vm._v(\" \"),(_vm.postFormats.length > 1)?_c('div',{staticClass:\"text-format\"},[_c('label',{staticClass:\"select\",attrs:{\"for\":\"post-content-type\"}},[_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.newStatus.contentType),expression:\"newStatus.contentType\"}],staticClass:\"form-control\",attrs:{\"id\":\"post-content-type\"},on:{\"change\":function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.$set(_vm.newStatus, \"contentType\", $event.target.multiple ? $$selectedVal : $$selectedVal[0])}}},_vm._l((_vm.postFormats),function(postFormat){return _c('option',{key:postFormat,domProps:{\"value\":postFormat}},[_vm._v(\"\\n \"+_vm._s(_vm.$t((\"post_status.content_type[\\\"\" + postFormat + \"\\\"]\")))+\"\\n \")])}),0),_vm._v(\" \"),_c('i',{staticClass:\"icon-down-open\"})])]):_vm._e(),_vm._v(\" \"),(_vm.postFormats.length === 1 && _vm.postFormats[0] !== 'text/plain')?_c('div',{staticClass:\"text-format\"},[_c('span',{staticClass:\"only-format\"},[_vm._v(\"\\n \"+_vm._s(_vm.$t((\"post_status.content_type[\\\"\" + (_vm.postFormats[0]) + \"\\\"]\")))+\"\\n \")])]):_vm._e()],1)],1),_vm._v(\" \"),(_vm.pollsAvailable)?_c('poll-form',{ref:\"pollForm\",attrs:{\"visible\":_vm.pollFormVisible},on:{\"update-poll\":_vm.setPoll}}):_vm._e(),_vm._v(\" \"),_c('div',{ref:\"bottom\",staticClass:\"form-bottom\"},[_c('div',{staticClass:\"form-bottom-left\"},[_c('media-upload',{ref:\"mediaUpload\",staticClass:\"media-upload-icon\",attrs:{\"drop-files\":_vm.dropFiles},on:{\"uploading\":_vm.disableSubmit,\"uploaded\":_vm.addMediaFile,\"upload-failed\":_vm.uploadFailed}}),_vm._v(\" \"),_c('div',{staticClass:\"emoji-icon\"},[_c('i',{staticClass:\"icon-smile btn btn-default\",attrs:{\"title\":_vm.$t('emoji.add_emoji')},on:{\"click\":_vm.showEmojiPicker}})]),_vm._v(\" \"),(_vm.pollsAvailable)?_c('div',{staticClass:\"poll-icon\",class:{ selected: _vm.pollFormVisible }},[_c('i',{staticClass:\"icon-chart-bar btn btn-default\",attrs:{\"title\":_vm.$t('polls.add_poll')},on:{\"click\":_vm.togglePollForm}})]):_vm._e()],1),_vm._v(\" \"),(_vm.posting)?_c('button',{staticClass:\"btn btn-default\",attrs:{\"disabled\":\"\"}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('post_status.posting'))+\"\\n \")]):(_vm.isOverLengthLimit)?_c('button',{staticClass:\"btn btn-default\",attrs:{\"disabled\":\"\"}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('general.submit'))+\"\\n \")]):_c('button',{staticClass:\"btn btn-default\",attrs:{\"disabled\":_vm.submitDisabled,\"type\":\"submit\"}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('general.submit'))+\"\\n \")])]),_vm._v(\" \"),(_vm.error)?_c('div',{staticClass:\"alert error\"},[_vm._v(\"\\n Error: \"+_vm._s(_vm.error)+\"\\n \"),_c('i',{staticClass:\"button-icon icon-cancel\",on:{\"click\":_vm.clearError}})]):_vm._e(),_vm._v(\" \"),_c('div',{staticClass:\"attachments\"},_vm._l((_vm.newStatus.files),function(file){return _c('div',{key:file.url,staticClass:\"media-upload-wrapper\"},[_c('i',{staticClass:\"fa button-icon icon-cancel\",on:{\"click\":function($event){_vm.removeMediaFile(file)}}}),_vm._v(\" \"),_c('div',{staticClass:\"media-upload-container attachment\"},[(_vm.type(file) === 'image')?_c('img',{staticClass:\"thumbnail media-upload\",attrs:{\"src\":file.url}}):_vm._e(),_vm._v(\" \"),(_vm.type(file) === 'video')?_c('video',{attrs:{\"src\":file.url,\"controls\":\"\"}}):_vm._e(),_vm._v(\" \"),(_vm.type(file) === 'audio')?_c('audio',{attrs:{\"src\":file.url,\"controls\":\"\"}}):_vm._e(),_vm._v(\" \"),(_vm.type(file) === 'unknown')?_c('a',{attrs:{\"href\":file.url}},[_vm._v(_vm._s(file.url))]):_vm._e()])])}),0),_vm._v(\" \"),(_vm.newStatus.files.length > 0)?_c('div',{staticClass:\"upload_settings\"},[_c('Checkbox',{model:{value:(_vm.newStatus.nsfw),callback:function ($$v) {_vm.$set(_vm.newStatus, \"nsfw\", $$v)},expression:\"newStatus.nsfw\"}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('post_status.attachments_sensitive'))+\"\\n \")])],1):_vm._e()],1)])}\nvar staticRenderFns = []\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('StillImage',{staticClass:\"avatar\",class:{ 'avatar-compact': _vm.compact, 'better-shadow': _vm.betterShadow },attrs:{\"alt\":_vm.user.screen_name,\"title\":_vm.user.screen_name,\"src\":_vm.imgSrc,\"image-load-error\":_vm.imageLoadError}})}\nvar staticRenderFns = []\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"remote-follow\"},[_c('form',{attrs:{\"method\":\"POST\",\"action\":_vm.subscribeUrl}},[_c('input',{attrs:{\"type\":\"hidden\",\"name\":\"nickname\"},domProps:{\"value\":_vm.user.screen_name}}),_vm._v(\" \"),_c('input',{attrs:{\"type\":\"hidden\",\"name\":\"profile\",\"value\":\"\"}}),_vm._v(\" \"),_c('button',{staticClass:\"remote-button\",attrs:{\"click\":\"submit\"}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('user_card.remote_follow'))+\"\\n \")])])])}\nvar staticRenderFns = []\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('button',{attrs:{\"disabled\":_vm.progress || _vm.disabled},on:{\"click\":_vm.onClick}},[(_vm.progress && _vm.$slots.progress)?[_vm._t(\"progress\")]:[_vm._t(\"default\")]],2)}\nvar staticRenderFns = []\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('button',{staticClass:\"btn btn-default follow-button\",class:{ pressed: _vm.isPressed },attrs:{\"disabled\":_vm.inProgress,\"title\":_vm.title},on:{\"click\":_vm.onClick}},[_vm._v(\"\\n \"+_vm._s(_vm.label)+\"\\n\")])}\nvar staticRenderFns = []\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('span',{class:{ 'dark-overlay': _vm.darkOverlay },on:{\"click\":function($event){if($event.target !== $event.currentTarget){ return null; }$event.stopPropagation();_vm.onCancel()}}},[_c('div',{staticClass:\"dialog-modal panel panel-default\",on:{\"click\":function($event){$event.stopPropagation();}}},[_c('div',{staticClass:\"panel-heading dialog-modal-heading\"},[_c('div',{staticClass:\"title\"},[_vm._t(\"header\")],2)]),_vm._v(\" \"),_c('div',{staticClass:\"dialog-modal-content\"},[_vm._t(\"default\")],2),_vm._v(\" \"),_c('div',{staticClass:\"dialog-modal-footer user-interactions panel-footer\"},[_vm._t(\"footer\")],2)])])}\nvar staticRenderFns = []\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('v-popover',{staticClass:\"moderation-tools-popover\",attrs:{\"trigger\":\"click\",\"placement\":\"bottom-end\"},on:{\"show\":function($event){_vm.showDropDown = true},\"hide\":function($event){_vm.showDropDown = false}}},[_c('div',{attrs:{\"slot\":\"popover\"},slot:\"popover\"},[_c('div',{staticClass:\"dropdown-menu\"},[(_vm.user.is_local)?_c('span',[_c('button',{staticClass:\"dropdown-item\",on:{\"click\":function($event){_vm.toggleRight(\"admin\")}}},[_vm._v(\"\\n \"+_vm._s(_vm.$t(!!_vm.user.rights.admin ? 'user_card.admin_menu.revoke_admin' : 'user_card.admin_menu.grant_admin'))+\"\\n \")]),_vm._v(\" \"),_c('button',{staticClass:\"dropdown-item\",on:{\"click\":function($event){_vm.toggleRight(\"moderator\")}}},[_vm._v(\"\\n \"+_vm._s(_vm.$t(!!_vm.user.rights.moderator ? 'user_card.admin_menu.revoke_moderator' : 'user_card.admin_menu.grant_moderator'))+\"\\n \")]),_vm._v(\" \"),_c('div',{staticClass:\"dropdown-divider\",attrs:{\"role\":\"separator\"}})]):_vm._e(),_vm._v(\" \"),_c('button',{staticClass:\"dropdown-item\",on:{\"click\":function($event){_vm.toggleActivationStatus()}}},[_vm._v(\"\\n \"+_vm._s(_vm.$t(!!_vm.user.deactivated ? 'user_card.admin_menu.activate_account' : 'user_card.admin_menu.deactivate_account'))+\"\\n \")]),_vm._v(\" \"),_c('button',{staticClass:\"dropdown-item\",on:{\"click\":function($event){_vm.deleteUserDialog(true)}}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('user_card.admin_menu.delete_account'))+\"\\n \")]),_vm._v(\" \"),(_vm.hasTagPolicy)?_c('div',{staticClass:\"dropdown-divider\",attrs:{\"role\":\"separator\"}}):_vm._e(),_vm._v(\" \"),(_vm.hasTagPolicy)?_c('span',[_c('button',{staticClass:\"dropdown-item\",on:{\"click\":function($event){_vm.toggleTag(_vm.tags.FORCE_NSFW)}}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('user_card.admin_menu.force_nsfw'))+\"\\n \"),_c('span',{staticClass:\"menu-checkbox\",class:{ 'menu-checkbox-checked': _vm.hasTag(_vm.tags.FORCE_NSFW) }})]),_vm._v(\" \"),_c('button',{staticClass:\"dropdown-item\",on:{\"click\":function($event){_vm.toggleTag(_vm.tags.STRIP_MEDIA)}}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('user_card.admin_menu.strip_media'))+\"\\n \"),_c('span',{staticClass:\"menu-checkbox\",class:{ 'menu-checkbox-checked': _vm.hasTag(_vm.tags.STRIP_MEDIA) }})]),_vm._v(\" \"),_c('button',{staticClass:\"dropdown-item\",on:{\"click\":function($event){_vm.toggleTag(_vm.tags.FORCE_UNLISTED)}}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('user_card.admin_menu.force_unlisted'))+\"\\n \"),_c('span',{staticClass:\"menu-checkbox\",class:{ 'menu-checkbox-checked': _vm.hasTag(_vm.tags.FORCE_UNLISTED) }})]),_vm._v(\" \"),_c('button',{staticClass:\"dropdown-item\",on:{\"click\":function($event){_vm.toggleTag(_vm.tags.SANDBOX)}}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('user_card.admin_menu.sandbox'))+\"\\n \"),_c('span',{staticClass:\"menu-checkbox\",class:{ 'menu-checkbox-checked': _vm.hasTag(_vm.tags.SANDBOX) }})]),_vm._v(\" \"),(_vm.user.is_local)?_c('button',{staticClass:\"dropdown-item\",on:{\"click\":function($event){_vm.toggleTag(_vm.tags.DISABLE_REMOTE_SUBSCRIPTION)}}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('user_card.admin_menu.disable_remote_subscription'))+\"\\n \"),_c('span',{staticClass:\"menu-checkbox\",class:{ 'menu-checkbox-checked': _vm.hasTag(_vm.tags.DISABLE_REMOTE_SUBSCRIPTION) }})]):_vm._e(),_vm._v(\" \"),(_vm.user.is_local)?_c('button',{staticClass:\"dropdown-item\",on:{\"click\":function($event){_vm.toggleTag(_vm.tags.DISABLE_ANY_SUBSCRIPTION)}}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('user_card.admin_menu.disable_any_subscription'))+\"\\n \"),_c('span',{staticClass:\"menu-checkbox\",class:{ 'menu-checkbox-checked': _vm.hasTag(_vm.tags.DISABLE_ANY_SUBSCRIPTION) }})]):_vm._e(),_vm._v(\" \"),(_vm.user.is_local)?_c('button',{staticClass:\"dropdown-item\",on:{\"click\":function($event){_vm.toggleTag(_vm.tags.QUARANTINE)}}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('user_card.admin_menu.quarantine'))+\"\\n \"),_c('span',{staticClass:\"menu-checkbox\",class:{ 'menu-checkbox-checked': _vm.hasTag(_vm.tags.QUARANTINE) }})]):_vm._e()]):_vm._e()])]),_vm._v(\" \"),_c('button',{staticClass:\"btn btn-default btn-block\",class:{ pressed: _vm.showDropDown }},[_vm._v(\"\\n \"+_vm._s(_vm.$t('user_card.admin_menu.moderation'))+\"\\n \")])]),_vm._v(\" \"),_c('portal',{attrs:{\"to\":\"modal\"}},[(_vm.showDeleteUserDialog)?_c('DialogModal',{attrs:{\"on-cancel\":_vm.deleteUserDialog.bind(this, false)}},[_c('template',{slot:\"header\"},[_vm._v(\"\\n \"+_vm._s(_vm.$t('user_card.admin_menu.delete_user'))+\"\\n \")]),_vm._v(\" \"),_c('p',[_vm._v(_vm._s(_vm.$t('user_card.admin_menu.delete_user_confirmation')))]),_vm._v(\" \"),_c('template',{slot:\"footer\"},[_c('button',{staticClass:\"btn btn-default\",on:{\"click\":function($event){_vm.deleteUserDialog(false)}}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('general.cancel'))+\"\\n \")]),_vm._v(\" \"),_c('button',{staticClass:\"btn btn-default danger\",on:{\"click\":function($event){_vm.deleteUser()}}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('user_card.admin_menu.delete_user'))+\"\\n \")])])],2):_vm._e()],1)],1)}\nvar staticRenderFns = []\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"account-actions\"},[_c('v-popover',{staticClass:\"account-tools-popover\",attrs:{\"trigger\":\"click\",\"container\":false,\"placement\":\"bottom-end\",\"offset\":5}},[_c('div',{attrs:{\"slot\":\"popover\"},slot:\"popover\"},[_c('div',{staticClass:\"dropdown-menu\"},[_c('button',{staticClass:\"btn btn-default btn-block dropdown-item\",on:{\"click\":_vm.mentionUser}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('user_card.mention'))+\"\\n \")]),_vm._v(\" \"),(_vm.user.following)?[_c('div',{staticClass:\"dropdown-divider\",attrs:{\"role\":\"separator\"}}),_vm._v(\" \"),(_vm.user.showing_reblogs)?_c('button',{staticClass:\"btn btn-default dropdown-item\",on:{\"click\":_vm.hideRepeats}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('user_card.hide_repeats'))+\"\\n \")]):_vm._e(),_vm._v(\" \"),(!_vm.user.showing_reblogs)?_c('button',{staticClass:\"btn btn-default dropdown-item\",on:{\"click\":_vm.showRepeats}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('user_card.show_repeats'))+\"\\n \")]):_vm._e()]:_vm._e(),_vm._v(\" \"),_c('div',{staticClass:\"dropdown-divider\",attrs:{\"role\":\"separator\"}}),_vm._v(\" \"),(_vm.user.statusnet_blocking)?_c('button',{staticClass:\"btn btn-default btn-block dropdown-item\",on:{\"click\":_vm.unblockUser}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('user_card.unblock'))+\"\\n \")]):_c('button',{staticClass:\"btn btn-default btn-block dropdown-item\",on:{\"click\":_vm.blockUser}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('user_card.block'))+\"\\n \")]),_vm._v(\" \"),_c('button',{staticClass:\"btn btn-default btn-block dropdown-item\",on:{\"click\":_vm.reportUser}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('user_card.report'))+\"\\n \")])],2)]),_vm._v(\" \"),_c('div',{staticClass:\"btn btn-default ellipsis-button\"},[_c('i',{staticClass:\"icon-ellipsis trigger-button\"})])])],1)}\nvar staticRenderFns = []\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"user-card\",class:_vm.classes},[_c('div',{staticClass:\"background-image\",class:{ 'hide-bio': _vm.hideBio },style:(_vm.style)}),_vm._v(\" \"),_c('div',{staticClass:\"panel-heading\"},[_c('div',{staticClass:\"user-info\"},[_c('div',{staticClass:\"container\"},[(_vm.allowZoomingAvatar)?_c('a',{staticClass:\"user-info-avatar-link\",on:{\"click\":_vm.zoomAvatar}},[_c('UserAvatar',{attrs:{\"better-shadow\":_vm.betterShadow,\"user\":_vm.user}}),_vm._v(\" \"),_vm._m(0)],1):_c('router-link',{attrs:{\"to\":_vm.userProfileLink(_vm.user)}},[_c('UserAvatar',{attrs:{\"better-shadow\":_vm.betterShadow,\"user\":_vm.user}})],1),_vm._v(\" \"),_c('div',{staticClass:\"user-summary\"},[_c('div',{staticClass:\"top-line\"},[(_vm.user.name_html)?_c('div',{staticClass:\"user-name\",attrs:{\"title\":_vm.user.name},domProps:{\"innerHTML\":_vm._s(_vm.user.name_html)}}):_c('div',{staticClass:\"user-name\",attrs:{\"title\":_vm.user.name}},[_vm._v(\"\\n \"+_vm._s(_vm.user.name)+\"\\n \")]),_vm._v(\" \"),(!_vm.isOtherUser)?_c('router-link',{attrs:{\"to\":{ name: 'user-settings' }}},[_c('i',{staticClass:\"button-icon icon-wrench usersettings\",attrs:{\"title\":_vm.$t('tool_tip.user_settings')}})]):_vm._e(),_vm._v(\" \"),(_vm.isOtherUser && !_vm.user.is_local)?_c('a',{attrs:{\"href\":_vm.user.statusnet_profile_url,\"target\":\"_blank\"}},[_c('i',{staticClass:\"icon-link-ext usersettings\"})]):_vm._e(),_vm._v(\" \"),(_vm.isOtherUser && _vm.loggedIn)?_c('AccountActions',{attrs:{\"user\":_vm.user}}):_vm._e()],1),_vm._v(\" \"),_c('div',{staticClass:\"bottom-line\"},[_c('router-link',{staticClass:\"user-screen-name\",attrs:{\"to\":_vm.userProfileLink(_vm.user)}},[_vm._v(\"\\n @\"+_vm._s(_vm.user.screen_name)+\"\\n \")]),_vm._v(\" \"),(!_vm.hideBio && !!_vm.visibleRole)?_c('span',{staticClass:\"alert staff\"},[_vm._v(_vm._s(_vm.visibleRole))]):_vm._e(),_vm._v(\" \"),(_vm.user.locked)?_c('span',[_c('i',{staticClass:\"icon icon-lock\"})]):_vm._e(),_vm._v(\" \"),(!_vm.mergedConfig.hideUserStats && !_vm.hideBio)?_c('span',{staticClass:\"dailyAvg\"},[_vm._v(_vm._s(_vm.dailyAvg)+\" \"+_vm._s(_vm.$t('user_card.per_day')))]):_vm._e()],1)])],1),_vm._v(\" \"),_c('div',{staticClass:\"user-meta\"},[(_vm.user.follows_you && _vm.loggedIn && _vm.isOtherUser)?_c('div',{staticClass:\"following\"},[_vm._v(\"\\n \"+_vm._s(_vm.$t('user_card.follows_you'))+\"\\n \")]):_vm._e(),_vm._v(\" \"),(_vm.isOtherUser && (_vm.loggedIn || !_vm.switcher))?_c('div',{staticClass:\"highlighter\"},[(_vm.userHighlightType !== 'disabled')?_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.userHighlightColor),expression:\"userHighlightColor\"}],staticClass:\"userHighlightText\",attrs:{\"id\":'userHighlightColorTx'+_vm.user.id,\"type\":\"text\"},domProps:{\"value\":(_vm.userHighlightColor)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.userHighlightColor=$event.target.value}}}):_vm._e(),_vm._v(\" \"),(_vm.userHighlightType !== 'disabled')?_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.userHighlightColor),expression:\"userHighlightColor\"}],staticClass:\"userHighlightCl\",attrs:{\"id\":'userHighlightColor'+_vm.user.id,\"type\":\"color\"},domProps:{\"value\":(_vm.userHighlightColor)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.userHighlightColor=$event.target.value}}}):_vm._e(),_vm._v(\" \"),_c('label',{staticClass:\"userHighlightSel select\",attrs:{\"for\":\"style-switcher\"}},[_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.userHighlightType),expression:\"userHighlightType\"}],staticClass:\"userHighlightSel\",attrs:{\"id\":'userHighlightSel'+_vm.user.id},on:{\"change\":function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.userHighlightType=$event.target.multiple ? $$selectedVal : $$selectedVal[0]}}},[_c('option',{attrs:{\"value\":\"disabled\"}},[_vm._v(\"No highlight\")]),_vm._v(\" \"),_c('option',{attrs:{\"value\":\"solid\"}},[_vm._v(\"Solid bg\")]),_vm._v(\" \"),_c('option',{attrs:{\"value\":\"striped\"}},[_vm._v(\"Striped bg\")]),_vm._v(\" \"),_c('option',{attrs:{\"value\":\"side\"}},[_vm._v(\"Side stripe\")])]),_vm._v(\" \"),_c('i',{staticClass:\"icon-down-open\"})])]):_vm._e()]),_vm._v(\" \"),(_vm.loggedIn && _vm.isOtherUser)?_c('div',{staticClass:\"user-interactions\"},[_c('div',{staticClass:\"btn-group\"},[_c('FollowButton',{attrs:{\"user\":_vm.user}}),_vm._v(\" \"),(_vm.user.following)?[(!_vm.user.subscribed)?_c('ProgressButton',{staticClass:\"btn btn-default\",attrs:{\"click\":_vm.subscribeUser,\"title\":_vm.$t('user_card.subscribe')}},[_c('i',{staticClass:\"icon-bell-alt\"})]):_c('ProgressButton',{staticClass:\"btn btn-default pressed\",attrs:{\"click\":_vm.unsubscribeUser,\"title\":_vm.$t('user_card.unsubscribe')}},[_c('i',{staticClass:\"icon-bell-ringing-o\"})])]:_vm._e()],2),_vm._v(\" \"),_c('div',[(_vm.user.muted)?_c('button',{staticClass:\"btn btn-default btn-block pressed\",on:{\"click\":_vm.unmuteUser}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('user_card.muted'))+\"\\n \")]):_c('button',{staticClass:\"btn btn-default btn-block\",on:{\"click\":_vm.muteUser}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('user_card.mute'))+\"\\n \")])]),_vm._v(\" \"),(_vm.loggedIn.role === \"admin\")?_c('ModerationTools',{attrs:{\"user\":_vm.user}}):_vm._e()],1):_vm._e(),_vm._v(\" \"),(!_vm.loggedIn && _vm.user.is_local)?_c('div',{staticClass:\"user-interactions\"},[_c('RemoteFollow',{attrs:{\"user\":_vm.user}})],1):_vm._e()])]),_vm._v(\" \"),(!_vm.hideBio)?_c('div',{staticClass:\"panel-body\"},[(!_vm.mergedConfig.hideUserStats && _vm.switcher)?_c('div',{staticClass:\"user-counts\"},[_c('div',{staticClass:\"user-count\",on:{\"click\":function($event){$event.preventDefault();_vm.setProfileView('statuses')}}},[_c('h5',[_vm._v(_vm._s(_vm.$t('user_card.statuses')))]),_vm._v(\" \"),_c('span',[_vm._v(_vm._s(_vm.user.statuses_count)+\" \"),_c('br')])]),_vm._v(\" \"),_c('div',{staticClass:\"user-count\",on:{\"click\":function($event){$event.preventDefault();_vm.setProfileView('friends')}}},[_c('h5',[_vm._v(_vm._s(_vm.$t('user_card.followees')))]),_vm._v(\" \"),_c('span',[_vm._v(_vm._s(_vm.hideFollowsCount ? _vm.$t('user_card.hidden') : _vm.user.friends_count))])]),_vm._v(\" \"),_c('div',{staticClass:\"user-count\",on:{\"click\":function($event){$event.preventDefault();_vm.setProfileView('followers')}}},[_c('h5',[_vm._v(_vm._s(_vm.$t('user_card.followers')))]),_vm._v(\" \"),_c('span',[_vm._v(_vm._s(_vm.hideFollowersCount ? _vm.$t('user_card.hidden') : _vm.user.followers_count))])])]):_vm._e(),_vm._v(\" \"),(!_vm.hideBio && _vm.user.description_html)?_c('p',{staticClass:\"user-card-bio\",domProps:{\"innerHTML\":_vm._s(_vm.user.description_html)},on:{\"click\":function($event){$event.preventDefault();return _vm.linkClicked($event)}}}):(!_vm.hideBio)?_c('p',{staticClass:\"user-card-bio\"},[_vm._v(\"\\n \"+_vm._s(_vm.user.description)+\"\\n \")]):_vm._e()]):_vm._e()])}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"user-info-avatar-link-overlay\"},[_c('i',{staticClass:\"button-icon icon-zoom-in\"})])}]\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{ref:\"galleryContainer\",staticStyle:{\"width\":\"100%\"}},_vm._l((_vm.rows),function(row,index){return _c('div',{key:index,staticClass:\"gallery-row\",class:{ 'contain-fit': _vm.useContainFit, 'cover-fit': !_vm.useContainFit },style:(_vm.rowStyle(row.length))},[_c('div',{staticClass:\"gallery-row-inner\"},_vm._l((row),function(attachment){return _c('attachment',{key:attachment.id,style:(_vm.itemStyle(attachment.id, row)),attrs:{\"set-media\":_vm.setMedia,\"nsfw\":_vm.nsfw,\"attachment\":attachment,\"allow-play\":false,\"natural-size-load\":_vm.onNaturalSizeLoad.bind(null, attachment.id)}})}),1)])}),0)}\nvar staticRenderFns = []\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('a',{staticClass:\"link-preview-card\",attrs:{\"href\":_vm.card.url,\"target\":\"_blank\",\"rel\":\"noopener\"}},[(_vm.useImage && _vm.imageLoaded)?_c('div',{staticClass:\"card-image\",class:{ 'small-image': _vm.size === 'small' }},[_c('img',{attrs:{\"src\":_vm.card.image}})]):_vm._e(),_vm._v(\" \"),_c('div',{staticClass:\"card-content\"},[_c('span',{staticClass:\"card-host faint\"},[_vm._v(_vm._s(_vm.card.provider_name))]),_vm._v(\" \"),_c('h4',{staticClass:\"card-title\"},[_vm._v(_vm._s(_vm.card.title))]),_vm._v(\" \"),(_vm.useDescription)?_c('p',{staticClass:\"card-description\"},[_vm._v(_vm._s(_vm.card.description))]):_vm._e()])])])}\nvar staticRenderFns = []\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"avatars\"},_vm._l((_vm.slicedUsers),function(user){return _c('router-link',{key:user.id,staticClass:\"avatars-item\",attrs:{\"to\":_vm.userProfileLink(user)}},[_c('UserAvatar',{staticClass:\"avatar-small\",attrs:{\"user\":user}})],1)}),1)}\nvar staticRenderFns = []\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-popover',{attrs:{\"popover-class\":\"status-popover\",\"placement\":\"top-start\",\"popper-options\":_vm.popperOptions},on:{\"show\":function($event){_vm.enter()}}},[_c('template',{slot:\"popover\"},[(_vm.status)?_c('Status',{attrs:{\"is-preview\":true,\"statusoid\":_vm.status,\"compact\":true}}):_c('div',{staticClass:\"status-preview-loading\"},[_c('i',{staticClass:\"icon-spin4 animate-spin\"})])],1),_vm._v(\" \"),_vm._t(\"default\")],2)}\nvar staticRenderFns = []\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (!_vm.hideStatus)?_c('div',{staticClass:\"status-el\",class:[{ 'status-el_focused': _vm.isFocused }, { 'status-conversation': _vm.inlineExpanded }]},[(_vm.error)?_c('div',{staticClass:\"alert error\"},[_vm._v(\"\\n \"+_vm._s(_vm.error)+\"\\n \"),_c('i',{staticClass:\"button-icon icon-cancel\",on:{\"click\":_vm.clearError}})]):_vm._e(),_vm._v(\" \"),(_vm.muted && !_vm.isPreview)?[_c('div',{staticClass:\"media status container muted\"},[_c('small',[_c('router-link',{attrs:{\"to\":_vm.userProfileLink}},[_vm._v(\"\\n \"+_vm._s(_vm.status.user.screen_name)+\"\\n \")])],1),_vm._v(\" \"),_c('small',{staticClass:\"muteWords\"},[_vm._v(_vm._s(_vm.muteWordHits.join(', ')))]),_vm._v(\" \"),_c('a',{staticClass:\"unmute\",attrs:{\"href\":\"#\"},on:{\"click\":function($event){$event.preventDefault();return _vm.toggleMute($event)}}},[_c('i',{staticClass:\"button-icon icon-eye-off\"})])])]:[(_vm.showPinned)?_c('div',{staticClass:\"status-pin\"},[_c('i',{staticClass:\"fa icon-pin faint\"}),_vm._v(\" \"),_c('span',{staticClass:\"faint\"},[_vm._v(_vm._s(_vm.$t('status.pinned')))])]):_vm._e(),_vm._v(\" \"),(_vm.retweet && !_vm.noHeading && !_vm.inConversation)?_c('div',{staticClass:\"media container retweet-info\",class:[_vm.repeaterClass, { highlighted: _vm.repeaterStyle }],style:([_vm.repeaterStyle])},[(_vm.retweet)?_c('UserAvatar',{staticClass:\"media-left\",attrs:{\"better-shadow\":_vm.betterShadow,\"user\":_vm.statusoid.user}}):_vm._e(),_vm._v(\" \"),_c('div',{staticClass:\"media-body faint\"},[_c('span',{staticClass:\"user-name\"},[(_vm.retweeterHtml)?_c('router-link',{attrs:{\"to\":_vm.retweeterProfileLink},domProps:{\"innerHTML\":_vm._s(_vm.retweeterHtml)}}):_c('router-link',{attrs:{\"to\":_vm.retweeterProfileLink}},[_vm._v(_vm._s(_vm.retweeter))])],1),_vm._v(\" \"),_c('i',{staticClass:\"fa icon-retweet retweeted\",attrs:{\"title\":_vm.$t('tool_tip.repeat')}}),_vm._v(\"\\n \"+_vm._s(_vm.$t('timeline.repeated'))+\"\\n \")])],1):_vm._e(),_vm._v(\" \"),_c('div',{staticClass:\"media status\",class:[_vm.userClass, { highlighted: _vm.userStyle, 'is-retweet': _vm.retweet && !_vm.inConversation }],style:([ _vm.userStyle ]),attrs:{\"data-tags\":_vm.tags}},[(!_vm.noHeading)?_c('div',{staticClass:\"media-left\"},[_c('router-link',{attrs:{\"to\":_vm.userProfileLink},nativeOn:{\"!click\":function($event){$event.stopPropagation();$event.preventDefault();return _vm.toggleUserExpanded($event)}}},[_c('UserAvatar',{attrs:{\"compact\":_vm.compact,\"better-shadow\":_vm.betterShadow,\"user\":_vm.status.user}})],1)],1):_vm._e(),_vm._v(\" \"),_c('div',{staticClass:\"status-body\"},[(_vm.userExpanded)?_c('UserCard',{staticClass:\"status-usercard\",attrs:{\"user\":_vm.status.user,\"rounded\":true,\"bordered\":true}}):_vm._e(),_vm._v(\" \"),(!_vm.noHeading)?_c('div',{staticClass:\"media-heading\"},[_c('div',{staticClass:\"heading-name-row\"},[_c('div',{staticClass:\"name-and-account-name\"},[(_vm.status.user.name_html)?_c('h4',{staticClass:\"user-name\",domProps:{\"innerHTML\":_vm._s(_vm.status.user.name_html)}}):_c('h4',{staticClass:\"user-name\"},[_vm._v(\"\\n \"+_vm._s(_vm.status.user.name)+\"\\n \")]),_vm._v(\" \"),_c('router-link',{staticClass:\"account-name\",attrs:{\"to\":_vm.userProfileLink}},[_vm._v(\"\\n \"+_vm._s(_vm.status.user.screen_name)+\"\\n \")])],1),_vm._v(\" \"),_c('span',{staticClass:\"heading-right\"},[_c('router-link',{staticClass:\"timeago faint-link\",attrs:{\"to\":{ name: 'conversation', params: { id: _vm.status.id } }}},[_c('Timeago',{attrs:{\"time\":_vm.status.created_at,\"auto-update\":60}})],1),_vm._v(\" \"),(_vm.status.visibility)?_c('div',{staticClass:\"button-icon visibility-icon\"},[_c('i',{class:_vm.visibilityIcon(_vm.status.visibility),attrs:{\"title\":_vm._f(\"capitalize\")(_vm.status.visibility)}})]):_vm._e(),_vm._v(\" \"),(!_vm.status.is_local && !_vm.isPreview)?_c('a',{staticClass:\"source_url\",attrs:{\"href\":_vm.status.external_url,\"target\":\"_blank\",\"title\":\"Source\"}},[_c('i',{staticClass:\"button-icon icon-link-ext-alt\"})]):_vm._e(),_vm._v(\" \"),(_vm.expandable && !_vm.isPreview)?[_c('a',{attrs:{\"href\":\"#\",\"title\":\"Expand\"},on:{\"click\":function($event){$event.preventDefault();return _vm.toggleExpanded($event)}}},[_c('i',{staticClass:\"button-icon icon-plus-squared\"})])]:_vm._e(),_vm._v(\" \"),(_vm.unmuted)?_c('a',{attrs:{\"href\":\"#\"},on:{\"click\":function($event){$event.preventDefault();return _vm.toggleMute($event)}}},[_c('i',{staticClass:\"button-icon icon-eye-off\"})]):_vm._e()],2)]),_vm._v(\" \"),_c('div',{staticClass:\"heading-reply-row\"},[(_vm.isReply)?_c('div',{staticClass:\"reply-to-and-accountname\"},[(!_vm.isPreview)?_c('StatusPopover',{attrs:{\"status-id\":_vm.status.in_reply_to_status_id}},[_c('a',{staticClass:\"reply-to\",attrs:{\"href\":\"#\",\"aria-label\":_vm.$t('tool_tip.reply')},on:{\"click\":function($event){$event.preventDefault();_vm.gotoOriginal(_vm.status.in_reply_to_status_id)}}},[_c('i',{staticClass:\"button-icon icon-reply\"}),_vm._v(\" \"),_c('span',{staticClass:\"faint-link reply-to-text\"},[_vm._v(_vm._s(_vm.$t('status.reply_to')))])])]):_c('span',{staticClass:\"reply-to\"},[_c('span',{staticClass:\"reply-to-text\"},[_vm._v(_vm._s(_vm.$t('status.reply_to')))])]),_vm._v(\" \"),_c('router-link',{attrs:{\"to\":_vm.replyProfileLink}},[_vm._v(\"\\n \"+_vm._s(_vm.replyToName)+\"\\n \")]),_vm._v(\" \"),(_vm.replies && _vm.replies.length)?_c('span',{staticClass:\"faint replies-separator\"},[_vm._v(\"\\n -\\n \")]):_vm._e()],1):_vm._e(),_vm._v(\" \"),(_vm.inConversation && !_vm.isPreview && _vm.replies && _vm.replies.length)?_c('div',{staticClass:\"replies\"},[_c('span',{staticClass:\"faint\"},[_vm._v(_vm._s(_vm.$t('status.replies_list')))]),_vm._v(\" \"),_vm._l((_vm.replies),function(reply){return _c('StatusPopover',{key:reply.id,attrs:{\"status-id\":reply.id}},[_c('a',{staticClass:\"reply-link\",attrs:{\"href\":\"#\"},on:{\"click\":function($event){$event.preventDefault();_vm.gotoOriginal(reply.id)}}},[_vm._v(_vm._s(reply.name))])])})],2):_vm._e()])]):_vm._e(),_vm._v(\" \"),(_vm.longSubject)?_c('div',{staticClass:\"status-content-wrapper\",class:{ 'tall-status': !_vm.showingLongSubject }},[(!_vm.showingLongSubject)?_c('a',{staticClass:\"tall-status-hider\",class:{ 'tall-status-hider_focused': _vm.isFocused },attrs:{\"href\":\"#\"},on:{\"click\":function($event){$event.preventDefault();_vm.showingLongSubject=true}}},[_vm._v(_vm._s(_vm.$t(\"general.show_more\")))]):_vm._e(),_vm._v(\" \"),_c('div',{staticClass:\"status-content media-body\",domProps:{\"innerHTML\":_vm._s(_vm.contentHtml)},on:{\"click\":function($event){$event.preventDefault();return _vm.linkClicked($event)}}}),_vm._v(\" \"),(_vm.showingLongSubject)?_c('a',{staticClass:\"status-unhider\",attrs:{\"href\":\"#\"},on:{\"click\":function($event){$event.preventDefault();_vm.showingLongSubject=false}}},[_vm._v(_vm._s(_vm.$t(\"general.show_less\")))]):_vm._e()]):_c('div',{staticClass:\"status-content-wrapper\",class:{'tall-status': _vm.hideTallStatus}},[(_vm.hideTallStatus)?_c('a',{staticClass:\"tall-status-hider\",class:{ 'tall-status-hider_focused': _vm.isFocused },attrs:{\"href\":\"#\"},on:{\"click\":function($event){$event.preventDefault();return _vm.toggleShowMore($event)}}},[_vm._v(_vm._s(_vm.$t(\"general.show_more\")))]):_vm._e(),_vm._v(\" \"),(!_vm.hideSubjectStatus)?_c('div',{staticClass:\"status-content media-body\",domProps:{\"innerHTML\":_vm._s(_vm.contentHtml)},on:{\"click\":function($event){$event.preventDefault();return _vm.linkClicked($event)}}}):_c('div',{staticClass:\"status-content media-body\",domProps:{\"innerHTML\":_vm._s(_vm.status.summary_html)},on:{\"click\":function($event){$event.preventDefault();return _vm.linkClicked($event)}}}),_vm._v(\" \"),(_vm.hideSubjectStatus)?_c('a',{staticClass:\"cw-status-hider\",attrs:{\"href\":\"#\"},on:{\"click\":function($event){$event.preventDefault();return _vm.toggleShowMore($event)}}},[_vm._v(_vm._s(_vm.$t(\"general.show_more\")))]):_vm._e(),_vm._v(\" \"),(_vm.showingMore)?_c('a',{staticClass:\"status-unhider\",attrs:{\"href\":\"#\"},on:{\"click\":function($event){$event.preventDefault();return _vm.toggleShowMore($event)}}},[_vm._v(_vm._s(_vm.$t(\"general.show_less\")))]):_vm._e()]),_vm._v(\" \"),(_vm.status.poll && _vm.status.poll.options)?_c('div',[_c('poll',{attrs:{\"base-poll\":_vm.status.poll}})],1):_vm._e(),_vm._v(\" \"),(_vm.status.attachments && (!_vm.hideSubjectStatus || _vm.showingLongSubject))?_c('div',{staticClass:\"attachments media-body\"},[_vm._l((_vm.nonGalleryAttachments),function(attachment){return _c('attachment',{key:attachment.id,staticClass:\"non-gallery\",attrs:{\"size\":_vm.attachmentSize,\"nsfw\":_vm.nsfwClickthrough,\"attachment\":attachment,\"allow-play\":true,\"set-media\":_vm.setMedia()}})}),_vm._v(\" \"),(_vm.galleryAttachments.length > 0)?_c('gallery',{attrs:{\"nsfw\":_vm.nsfwClickthrough,\"attachments\":_vm.galleryAttachments,\"set-media\":_vm.setMedia()}}):_vm._e()],2):_vm._e(),_vm._v(\" \"),(_vm.status.card && !_vm.hideSubjectStatus && !_vm.noHeading)?_c('div',{staticClass:\"link-preview media-body\"},[_c('link-preview',{attrs:{\"card\":_vm.status.card,\"size\":_vm.attachmentSize,\"nsfw\":_vm.nsfwClickthrough}})],1):_vm._e(),_vm._v(\" \"),_c('transition',{attrs:{\"name\":\"fade\"}},[(!_vm.hidePostStats && _vm.isFocused && _vm.combinedFavsAndRepeatsUsers.length > 0)?_c('div',{staticClass:\"favs-repeated-users\"},[_c('div',{staticClass:\"stats\"},[(_vm.statusFromGlobalRepository.rebloggedBy && _vm.statusFromGlobalRepository.rebloggedBy.length > 0)?_c('div',{staticClass:\"stat-count\"},[_c('a',{staticClass:\"stat-title\"},[_vm._v(_vm._s(_vm.$t('status.repeats')))]),_vm._v(\" \"),_c('div',{staticClass:\"stat-number\"},[_vm._v(\"\\n \"+_vm._s(_vm.statusFromGlobalRepository.rebloggedBy.length)+\"\\n \")])]):_vm._e(),_vm._v(\" \"),(_vm.statusFromGlobalRepository.favoritedBy && _vm.statusFromGlobalRepository.favoritedBy.length > 0)?_c('div',{staticClass:\"stat-count\"},[_c('a',{staticClass:\"stat-title\"},[_vm._v(_vm._s(_vm.$t('status.favorites')))]),_vm._v(\" \"),_c('div',{staticClass:\"stat-number\"},[_vm._v(\"\\n \"+_vm._s(_vm.statusFromGlobalRepository.favoritedBy.length)+\"\\n \")])]):_vm._e(),_vm._v(\" \"),_c('div',{staticClass:\"avatar-row\"},[_c('AvatarList',{attrs:{\"users\":_vm.combinedFavsAndRepeatsUsers}})],1)])]):_vm._e()]),_vm._v(\" \"),(!_vm.noHeading && !_vm.isPreview)?_c('div',{staticClass:\"status-actions media-body\"},[_c('div',[(_vm.loggedIn)?_c('i',{staticClass:\"button-icon icon-reply\",class:{'button-icon-active': _vm.replying},attrs:{\"title\":_vm.$t('tool_tip.reply')},on:{\"click\":function($event){$event.preventDefault();return _vm.toggleReplying($event)}}}):_c('i',{staticClass:\"button-icon button-icon-disabled icon-reply\",attrs:{\"title\":_vm.$t('tool_tip.reply')}}),_vm._v(\" \"),(_vm.status.replies_count > 0)?_c('span',[_vm._v(_vm._s(_vm.status.replies_count))]):_vm._e()]),_vm._v(\" \"),_c('retweet-button',{attrs:{\"visibility\":_vm.status.visibility,\"logged-in\":_vm.loggedIn,\"status\":_vm.status}}),_vm._v(\" \"),_c('favorite-button',{attrs:{\"logged-in\":_vm.loggedIn,\"status\":_vm.status}}),_vm._v(\" \"),_c('extra-buttons',{attrs:{\"status\":_vm.status},on:{\"onError\":_vm.showError,\"onSuccess\":_vm.clearError}})],1):_vm._e()],1)]),_vm._v(\" \"),(_vm.replying)?_c('div',{staticClass:\"container\"},[_c('PostStatusForm',{staticClass:\"reply-body\",attrs:{\"reply-to\":_vm.status.id,\"attentions\":_vm.status.attentions,\"replied-user\":_vm.status.user,\"copy-message-scope\":_vm.status.visibility,\"subject\":_vm.replySubject},on:{\"posted\":_vm.toggleReplying}})],1):_vm._e()]],2):_vm._e()}\nvar staticRenderFns = []\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"timeline panel-default\",class:[_vm.isExpanded ? 'panel' : 'panel-disabled']},[(_vm.isExpanded)?_c('div',{staticClass:\"panel-heading conversation-heading\"},[_c('span',{staticClass:\"title\"},[_vm._v(\" \"+_vm._s(_vm.$t('timeline.conversation'))+\" \")]),_vm._v(\" \"),(_vm.collapsable)?_c('span',[_c('a',{attrs:{\"href\":\"#\"},on:{\"click\":function($event){$event.preventDefault();return _vm.toggleExpanded($event)}}},[_vm._v(_vm._s(_vm.$t('timeline.collapse')))])]):_vm._e()]):_vm._e(),_vm._v(\" \"),_vm._l((_vm.conversation),function(status){return _c('status',{key:status.id,staticClass:\"status-fadein panel-body\",attrs:{\"inline-expanded\":_vm.collapsable && _vm.isExpanded,\"statusoid\":status,\"expandable\":!_vm.isExpanded,\"show-pinned\":_vm.pinnedStatusIdsObject && _vm.pinnedStatusIdsObject[status.id],\"focused\":_vm.focused(status.id),\"in-conversation\":_vm.isExpanded,\"highlight\":_vm.getHighlight(),\"replies\":_vm.getReplies(status.id),\"in-profile\":_vm.inProfile},on:{\"goto\":_vm.setHighlight,\"toggleExpanded\":_vm.toggleExpanded}})})],2)}\nvar staticRenderFns = []\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{class:_vm.classes.root},[_c('div',{class:_vm.classes.header},[_c('div',{staticClass:\"title\"},[_vm._v(\"\\n \"+_vm._s(_vm.title)+\"\\n \")]),_vm._v(\" \"),(_vm.timelineError)?_c('div',{staticClass:\"loadmore-error alert error\",on:{\"click\":function($event){$event.preventDefault();}}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('timeline.error_fetching'))+\"\\n \")]):_vm._e(),_vm._v(\" \"),(_vm.timeline.newStatusCount > 0 && !_vm.timelineError)?_c('button',{staticClass:\"loadmore-button\",on:{\"click\":function($event){$event.preventDefault();return _vm.showNewStatuses($event)}}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('timeline.show_new'))+_vm._s(_vm.newStatusCountStr)+\"\\n \")]):_vm._e(),_vm._v(\" \"),(!_vm.timeline.newStatusCount > 0 && !_vm.timelineError)?_c('div',{staticClass:\"loadmore-text faint\",on:{\"click\":function($event){$event.preventDefault();}}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('timeline.up_to_date'))+\"\\n \")]):_vm._e()]),_vm._v(\" \"),_c('div',{class:_vm.classes.body},[_c('div',{staticClass:\"timeline\"},[_vm._l((_vm.pinnedStatusIds),function(statusId){return [(_vm.timeline.statusesObject[statusId])?_c('conversation',{key:statusId + '-pinned',staticClass:\"status-fadein\",attrs:{\"status-id\":statusId,\"collapsable\":true,\"pinned-status-ids-object\":_vm.pinnedStatusIdsObject,\"in-profile\":_vm.inProfile}}):_vm._e()]}),_vm._v(\" \"),_vm._l((_vm.timeline.visibleStatuses),function(status){return [(!_vm.excludedStatusIdsObject[status.id])?_c('conversation',{key:status.id,staticClass:\"status-fadein\",attrs:{\"status-id\":status.id,\"collapsable\":true,\"in-profile\":_vm.inProfile}}):_vm._e()]})],2)]),_vm._v(\" \"),_c('div',{class:_vm.classes.footer},[(_vm.count===0)?_c('div',{staticClass:\"new-status-notification text-center panel-footer faint\"},[_vm._v(\"\\n \"+_vm._s(_vm.$t('timeline.no_statuses'))+\"\\n \")]):(_vm.bottomedOut)?_c('div',{staticClass:\"new-status-notification text-center panel-footer faint\"},[_vm._v(\"\\n \"+_vm._s(_vm.$t('timeline.no_more_statuses'))+\"\\n \")]):(!_vm.timeline.loading)?_c('a',{attrs:{\"href\":\"#\"},on:{\"click\":function($event){$event.preventDefault();_vm.fetchOlderStatuses()}}},[_c('div',{staticClass:\"new-status-notification text-center panel-footer\"},[_vm._v(_vm._s(_vm.$t('timeline.load_older')))])]):_c('div',{staticClass:\"new-status-notification text-center panel-footer\"},[_c('i',{staticClass:\"icon-spin3 animate-spin\"})])])])}\nvar staticRenderFns = []\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('Timeline',{attrs:{\"title\":_vm.$t('nav.public_tl'),\"timeline\":_vm.timeline,\"timeline-name\":'public'}})}\nvar staticRenderFns = []\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('Timeline',{attrs:{\"title\":_vm.$t('nav.twkn'),\"timeline\":_vm.timeline,\"timeline-name\":'publicAndExternal'}})}\nvar staticRenderFns = []\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('Timeline',{attrs:{\"title\":_vm.$t('nav.timeline'),\"timeline\":_vm.timeline,\"timeline-name\":'friends'}})}\nvar staticRenderFns = []\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('Timeline',{attrs:{\"title\":_vm.tag,\"timeline\":_vm.timeline,\"timeline-name\":'tag',\"tag\":_vm.tag}})}\nvar staticRenderFns = []\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('conversation',{attrs:{\"collapsable\":false,\"is-page\":\"true\",\"status-id\":_vm.statusId}})}\nvar staticRenderFns = []\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.notification.type === 'mention')?_c('status',{attrs:{\"compact\":true,\"statusoid\":_vm.notification.status}}):_c('div',[(_vm.needMute && !_vm.unmuted)?_c('div',{staticClass:\"container muted\"},[_c('small',[_c('router-link',{attrs:{\"to\":_vm.userProfileLink}},[_vm._v(\"\\n \"+_vm._s(_vm.notification.from_profile.screen_name)+\"\\n \")])],1),_vm._v(\" \"),_c('a',{staticClass:\"unmute\",attrs:{\"href\":\"#\"},on:{\"click\":function($event){$event.preventDefault();return _vm.toggleMute($event)}}},[_c('i',{staticClass:\"button-icon icon-eye-off\"})])]):_c('div',{staticClass:\"non-mention\",class:[_vm.userClass, { highlighted: _vm.userStyle }],style:([ _vm.userStyle ])},[_c('a',{staticClass:\"avatar-container\",attrs:{\"href\":_vm.notification.from_profile.statusnet_profile_url},on:{\"!click\":function($event){$event.stopPropagation();$event.preventDefault();return _vm.toggleUserExpanded($event)}}},[_c('UserAvatar',{attrs:{\"compact\":true,\"better-shadow\":_vm.betterShadow,\"user\":_vm.notification.from_profile}})],1),_vm._v(\" \"),_c('div',{staticClass:\"notification-right\"},[(_vm.userExpanded)?_c('UserCard',{attrs:{\"user\":_vm.getUser(_vm.notification),\"rounded\":true,\"bordered\":true}}):_vm._e(),_vm._v(\" \"),_c('span',{staticClass:\"notification-details\"},[_c('div',{staticClass:\"name-and-action\"},[(!!_vm.notification.from_profile.name_html)?_c('span',{staticClass:\"username\",attrs:{\"title\":'@'+_vm.notification.from_profile.screen_name},domProps:{\"innerHTML\":_vm._s(_vm.notification.from_profile.name_html)}}):_c('span',{staticClass:\"username\",attrs:{\"title\":'@'+_vm.notification.from_profile.screen_name}},[_vm._v(_vm._s(_vm.notification.from_profile.name))]),_vm._v(\" \"),(_vm.notification.type === 'like')?_c('span',[_c('i',{staticClass:\"fa icon-star lit\"}),_vm._v(\" \"),_c('small',[_vm._v(_vm._s(_vm.$t('notifications.favorited_you')))])]):_vm._e(),_vm._v(\" \"),(_vm.notification.type === 'repeat')?_c('span',[_c('i',{staticClass:\"fa icon-retweet lit\",attrs:{\"title\":_vm.$t('tool_tip.repeat')}}),_vm._v(\" \"),_c('small',[_vm._v(_vm._s(_vm.$t('notifications.repeated_you')))])]):_vm._e(),_vm._v(\" \"),(_vm.notification.type === 'follow')?_c('span',[_c('i',{staticClass:\"fa icon-user-plus lit\"}),_vm._v(\" \"),_c('small',[_vm._v(_vm._s(_vm.$t('notifications.followed_you')))])]):_vm._e()]),_vm._v(\" \"),(_vm.notification.type === 'follow')?_c('div',{staticClass:\"timeago\"},[_c('span',{staticClass:\"faint\"},[_c('Timeago',{attrs:{\"time\":_vm.notification.created_at,\"auto-update\":240}})],1)]):_c('div',{staticClass:\"timeago\"},[(_vm.notification.status)?_c('router-link',{staticClass:\"faint-link\",attrs:{\"to\":{ name: 'conversation', params: { id: _vm.notification.status.id } }}},[_c('Timeago',{attrs:{\"time\":_vm.notification.created_at,\"auto-update\":240}})],1):_vm._e()],1),_vm._v(\" \"),(_vm.needMute)?_c('a',{attrs:{\"href\":\"#\"},on:{\"click\":function($event){$event.preventDefault();return _vm.toggleMute($event)}}},[_c('i',{staticClass:\"button-icon icon-eye-off\"})]):_vm._e()]),_vm._v(\" \"),(_vm.notification.type === 'follow')?_c('div',{staticClass:\"follow-text\"},[_c('router-link',{attrs:{\"to\":_vm.userProfileLink}},[_vm._v(\"\\n @\"+_vm._s(_vm.notification.from_profile.screen_name)+\"\\n \")])],1):[_c('status',{staticClass:\"faint\",attrs:{\"compact\":true,\"statusoid\":_vm.notification.action,\"no-heading\":true}})]],2)])])}\nvar staticRenderFns = []\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"notifications\",class:{ minimal: _vm.minimalMode }},[_c('div',{class:_vm.mainClass},[(!_vm.noHeading)?_c('div',{staticClass:\"panel-heading\"},[_c('div',{staticClass:\"title\"},[_vm._v(\"\\n \"+_vm._s(_vm.$t('notifications.notifications'))+\"\\n \"),(_vm.unseenCount)?_c('span',{staticClass:\"badge badge-notification unseen-count\"},[_vm._v(_vm._s(_vm.unseenCount))]):_vm._e()]),_vm._v(\" \"),(_vm.error)?_c('div',{staticClass:\"loadmore-error alert error\",on:{\"click\":function($event){$event.preventDefault();}}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('timeline.error_fetching'))+\"\\n \")]):_vm._e(),_vm._v(\" \"),(_vm.unseenCount)?_c('button',{staticClass:\"read-button\",on:{\"click\":function($event){$event.preventDefault();return _vm.markAsSeen($event)}}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('notifications.read'))+\"\\n \")]):_vm._e()]):_vm._e(),_vm._v(\" \"),_c('div',{staticClass:\"panel-body\"},_vm._l((_vm.visibleNotifications),function(notification){return _c('div',{key:notification.id,staticClass:\"notification\",class:{\"unseen\": !_vm.minimalMode && !notification.seen}},[_c('div',{staticClass:\"notification-overlay\"}),_vm._v(\" \"),_c('notification',{attrs:{\"notification\":notification}})],1)}),0),_vm._v(\" \"),_c('div',{staticClass:\"panel-footer\"},[(_vm.bottomedOut)?_c('div',{staticClass:\"new-status-notification text-center panel-footer faint\"},[_vm._v(\"\\n \"+_vm._s(_vm.$t('notifications.no_more_notifications'))+\"\\n \")]):(!_vm.loading)?_c('a',{attrs:{\"href\":\"#\"},on:{\"click\":function($event){$event.preventDefault();_vm.fetchOlderNotifications()}}},[_c('div',{staticClass:\"new-status-notification text-center panel-footer\"},[_vm._v(\"\\n \"+_vm._s(_vm.minimalMode ? _vm.$t('interactions.load_older') : _vm.$t('notifications.load_older'))+\"\\n \")])]):_c('div',{staticClass:\"new-status-notification text-center panel-footer\"},[_c('i',{staticClass:\"icon-spin3 animate-spin\"})])])])])}\nvar staticRenderFns = []\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"panel panel-default\"},[_c('div',{staticClass:\"panel-heading\"},[_c('div',{staticClass:\"title\"},[_vm._v(\"\\n \"+_vm._s(_vm.$t(\"nav.interactions\"))+\"\\n \")])]),_vm._v(\" \"),_c('tab-switcher',{ref:\"tabSwitcher\",attrs:{\"on-switch\":_vm.onModeSwitch}},[_c('span',{key:\"mentions\",attrs:{\"label\":_vm.$t('nav.mentions')}}),_vm._v(\" \"),_c('span',{key:\"likes+repeats\",attrs:{\"label\":_vm.$t('interactions.favs_repeats')}}),_vm._v(\" \"),_c('span',{key:\"follows\",attrs:{\"label\":_vm.$t('interactions.follows')}})]),_vm._v(\" \"),_c('Notifications',{ref:\"notifications\",attrs:{\"no-heading\":true,\"minimal-mode\":true,\"filter-mode\":_vm.filterMode}})],1)}\nvar staticRenderFns = []\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('Timeline',{attrs:{\"title\":_vm.$t('nav.dms'),\"timeline\":_vm.timeline,\"timeline-name\":'dms'}})}\nvar staticRenderFns = []\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"basic-user-card\"},[_c('router-link',{attrs:{\"to\":_vm.userProfileLink(_vm.user)}},[_c('UserAvatar',{staticClass:\"avatar\",attrs:{\"user\":_vm.user},nativeOn:{\"click\":function($event){$event.preventDefault();return _vm.toggleUserExpanded($event)}}})],1),_vm._v(\" \"),(_vm.userExpanded)?_c('div',{staticClass:\"basic-user-card-expanded-content\"},[_c('UserCard',{attrs:{\"user\":_vm.user,\"rounded\":true,\"bordered\":true}})],1):_c('div',{staticClass:\"basic-user-card-collapsed-content\"},[_c('div',{staticClass:\"basic-user-card-user-name\",attrs:{\"title\":_vm.user.name}},[(_vm.user.name_html)?_c('span',{staticClass:\"basic-user-card-user-name-value\",domProps:{\"innerHTML\":_vm._s(_vm.user.name_html)}}):_c('span',{staticClass:\"basic-user-card-user-name-value\"},[_vm._v(_vm._s(_vm.user.name))])]),_vm._v(\" \"),_c('div',[_c('router-link',{staticClass:\"basic-user-card-screen-name\",attrs:{\"to\":_vm.userProfileLink(_vm.user)}},[_vm._v(\"\\n @\"+_vm._s(_vm.user.screen_name)+\"\\n \")])],1),_vm._v(\" \"),_vm._t(\"default\")],2)],1)}\nvar staticRenderFns = []\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('basic-user-card',{attrs:{\"user\":_vm.user}},[_c('div',{staticClass:\"follow-card-content-container\"},[(!_vm.noFollowsYou && _vm.user.follows_you)?_c('span',{staticClass:\"faint\"},[_vm._v(\"\\n \"+_vm._s(_vm.isMe ? _vm.$t('user_card.its_you') : _vm.$t('user_card.follows_you'))+\"\\n \")]):_vm._e(),_vm._v(\" \"),(!_vm.loggedIn)?[(!_vm.user.following)?_c('div',{staticClass:\"follow-card-follow-button\"},[_c('RemoteFollow',{attrs:{\"user\":_vm.user}})],1):_vm._e()]:[_c('FollowButton',{staticClass:\"follow-card-follow-button\",attrs:{\"user\":_vm.user,\"label-following\":_vm.$t('user_card.follow_unfollow')}})]],2)])}\nvar staticRenderFns = []\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"list\"},[_vm._l((_vm.items),function(item){return _c('div',{key:_vm.getKey(item),staticClass:\"list-item\"},[_vm._t(\"item\",null,{item:item})],2)}),_vm._v(\" \"),(_vm.items.length === 0 && !!_vm.$slots.empty)?_c('div',{staticClass:\"list-empty-content faint\"},[_vm._t(\"empty\")],2):_vm._e()],2)}\nvar staticRenderFns = []\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[(_vm.user)?_c('div',{staticClass:\"user-profile panel panel-default\"},[_c('UserCard',{attrs:{\"user\":_vm.user,\"switcher\":true,\"selected\":_vm.timeline.viewing,\"allow-zooming-avatar\":true,\"rounded\":\"top\"}}),_vm._v(\" \"),_c('tab-switcher',{attrs:{\"active-tab\":_vm.tab,\"render-only-focused\":true,\"on-switch\":_vm.onTabSwitch}},[_c('Timeline',{key:\"statuses\",attrs:{\"label\":_vm.$t('user_card.statuses'),\"count\":_vm.user.statuses_count,\"embedded\":true,\"title\":_vm.$t('user_profile.timeline_title'),\"timeline\":_vm.timeline,\"timeline-name\":\"user\",\"user-id\":_vm.userId,\"pinned-status-ids\":_vm.user.pinnedStatusIds,\"in-profile\":true}}),_vm._v(\" \"),(_vm.followsTabVisible)?_c('div',{key:\"followees\",attrs:{\"label\":_vm.$t('user_card.followees'),\"disabled\":!_vm.user.friends_count}},[_c('FriendList',{attrs:{\"user-id\":_vm.userId},scopedSlots:_vm._u([{key:\"item\",fn:function(ref){\nvar item = ref.item;\nreturn [_c('FollowCard',{attrs:{\"user\":item}})]}}])})],1):_vm._e(),_vm._v(\" \"),(_vm.followersTabVisible)?_c('div',{key:\"followers\",attrs:{\"label\":_vm.$t('user_card.followers'),\"disabled\":!_vm.user.followers_count}},[_c('FollowerList',{attrs:{\"user-id\":_vm.userId},scopedSlots:_vm._u([{key:\"item\",fn:function(ref){\nvar item = ref.item;\nreturn [_c('FollowCard',{attrs:{\"user\":item,\"no-follows-you\":_vm.isUs}})]}}])})],1):_vm._e(),_vm._v(\" \"),_c('Timeline',{key:\"media\",attrs:{\"label\":_vm.$t('user_card.media'),\"disabled\":!_vm.media.visibleStatuses.length,\"embedded\":true,\"title\":_vm.$t('user_card.media'),\"timeline-name\":\"media\",\"timeline\":_vm.media,\"user-id\":_vm.userId,\"in-profile\":true}}),_vm._v(\" \"),(_vm.isUs)?_c('Timeline',{key:\"favorites\",attrs:{\"label\":_vm.$t('user_card.favorites'),\"disabled\":!_vm.favorites.visibleStatuses.length,\"embedded\":true,\"title\":_vm.$t('user_card.favorites'),\"timeline-name\":\"favorites\",\"timeline\":_vm.favorites,\"in-profile\":true}}):_vm._e()],1)],1):_c('div',{staticClass:\"panel user-profile-placeholder\"},[_c('div',{staticClass:\"panel-heading\"},[_c('div',{staticClass:\"title\"},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.profile_tab'))+\"\\n \")])]),_vm._v(\" \"),_c('div',{staticClass:\"panel-body\"},[(_vm.error)?_c('span',[_vm._v(_vm._s(_vm.error))]):_c('i',{staticClass:\"icon-spin3 animate-spin\"})])])])}\nvar staticRenderFns = []\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"panel panel-default\"},[_c('div',{staticClass:\"panel-heading\"},[_c('div',{staticClass:\"title\"},[_vm._v(\"\\n \"+_vm._s(_vm.$t('nav.search'))+\"\\n \")])]),_vm._v(\" \"),_c('div',{staticClass:\"search-input-container\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.searchTerm),expression:\"searchTerm\"}],ref:\"searchInput\",staticClass:\"search-input\",attrs:{\"placeholder\":_vm.$t('nav.search')},domProps:{\"value\":(_vm.searchTerm)},on:{\"keyup\":function($event){if(!('button' in $event)&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\")){ return null; }_vm.newQuery(_vm.searchTerm)},\"input\":function($event){if($event.target.composing){ return; }_vm.searchTerm=$event.target.value}}}),_vm._v(\" \"),_c('button',{staticClass:\"btn search-button\",on:{\"click\":function($event){_vm.newQuery(_vm.searchTerm)}}},[_c('i',{staticClass:\"icon-search\"})])]),_vm._v(\" \"),(_vm.loading)?_c('div',{staticClass:\"text-center loading-icon\"},[_c('i',{staticClass:\"icon-spin3 animate-spin\"})]):(_vm.loaded)?_c('div',[_c('div',{staticClass:\"search-nav-heading\"},[_c('tab-switcher',{ref:\"tabSwitcher\",attrs:{\"on-switch\":_vm.onResultTabSwitch,\"active-tab\":_vm.currenResultTab}},[_c('span',{key:\"statuses\",attrs:{\"label\":_vm.$t('user_card.statuses') + _vm.resultCount('visibleStatuses')}}),_vm._v(\" \"),_c('span',{key:\"people\",attrs:{\"label\":_vm.$t('search.people') + _vm.resultCount('users')}}),_vm._v(\" \"),_c('span',{key:\"hashtags\",attrs:{\"label\":_vm.$t('search.hashtags') + _vm.resultCount('hashtags')}})])],1)]):_vm._e(),_vm._v(\" \"),_c('div',{staticClass:\"panel-body\"},[(_vm.currenResultTab === 'statuses')?_c('div',[(_vm.visibleStatuses.length === 0 && !_vm.loading && _vm.loaded)?_c('div',{staticClass:\"search-result-heading\"},[_c('h4',[_vm._v(_vm._s(_vm.$t('search.no_results')))])]):_vm._e(),_vm._v(\" \"),_vm._l((_vm.visibleStatuses),function(status){return _c('Status',{key:status.id,staticClass:\"search-result\",attrs:{\"collapsable\":false,\"expandable\":false,\"compact\":false,\"statusoid\":status,\"no-heading\":false}})})],2):(_vm.currenResultTab === 'people')?_c('div',[(_vm.users.length === 0 && !_vm.loading && _vm.loaded)?_c('div',{staticClass:\"search-result-heading\"},[_c('h4',[_vm._v(_vm._s(_vm.$t('search.no_results')))])]):_vm._e(),_vm._v(\" \"),_vm._l((_vm.users),function(user){return _c('FollowCard',{key:user.id,staticClass:\"list-item search-result\",attrs:{\"user\":user}})})],2):(_vm.currenResultTab === 'hashtags')?_c('div',[(_vm.hashtags.length === 0 && !_vm.loading && _vm.loaded)?_c('div',{staticClass:\"search-result-heading\"},[_c('h4',[_vm._v(_vm._s(_vm.$t('search.no_results')))])]):_vm._e(),_vm._v(\" \"),_vm._l((_vm.hashtags),function(hashtag){return _c('div',{key:hashtag.url,staticClass:\"status trend search-result\"},[_c('div',{staticClass:\"hashtag\"},[_c('router-link',{attrs:{\"to\":{ name: 'tag-timeline', params: { tag: hashtag.name } }}},[_vm._v(\"\\n #\"+_vm._s(hashtag.name)+\"\\n \")]),_vm._v(\" \"),(_vm.lastHistoryRecord(hashtag))?_c('div',[(_vm.lastHistoryRecord(hashtag).accounts == 1)?_c('span',[_vm._v(\"\\n \"+_vm._s(_vm.$t('search.person_talking', { count: _vm.lastHistoryRecord(hashtag).accounts }))+\"\\n \")]):_c('span',[_vm._v(\"\\n \"+_vm._s(_vm.$t('search.people_talking', { count: _vm.lastHistoryRecord(hashtag).accounts }))+\"\\n \")])]):_vm._e()],1),_vm._v(\" \"),(_vm.lastHistoryRecord(hashtag))?_c('div',{staticClass:\"count\"},[_vm._v(\"\\n \"+_vm._s(_vm.lastHistoryRecord(hashtag).uses)+\"\\n \")]):_vm._e()])})],2):_vm._e()]),_vm._v(\" \"),_c('div',{staticClass:\"search-result-footer text-center panel-footer faint\"})])}\nvar staticRenderFns = []\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"color-control style-control\",class:{ disabled: !_vm.present || _vm.disabled }},[_c('label',{staticClass:\"label\",attrs:{\"for\":_vm.name}},[_vm._v(\"\\n \"+_vm._s(_vm.label)+\"\\n \")]),_vm._v(\" \"),(typeof _vm.fallback !== 'undefined')?_c('input',{staticClass:\"opt exlcude-disabled\",attrs:{\"id\":_vm.name + '-o',\"type\":\"checkbox\"},domProps:{\"checked\":_vm.present},on:{\"input\":function($event){_vm.$emit('input', typeof _vm.value === 'undefined' ? _vm.fallback : undefined)}}}):_vm._e(),_vm._v(\" \"),(typeof _vm.fallback !== 'undefined')?_c('label',{staticClass:\"opt-l\",attrs:{\"for\":_vm.name + '-o'}}):_vm._e(),_vm._v(\" \"),_c('input',{staticClass:\"color-input\",attrs:{\"id\":_vm.name,\"type\":\"color\",\"disabled\":!_vm.present || _vm.disabled},domProps:{\"value\":_vm.value || _vm.fallback},on:{\"input\":function($event){_vm.$emit('input', $event.target.value)}}}),_vm._v(\" \"),_c('input',{staticClass:\"text-input\",attrs:{\"id\":_vm.name + '-t',\"type\":\"text\",\"disabled\":!_vm.present || _vm.disabled},domProps:{\"value\":_vm.value || _vm.fallback},on:{\"input\":function($event){_vm.$emit('input', $event.target.value)}}})])}\nvar staticRenderFns = []\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"range-control style-control\",class:{ disabled: !_vm.present || _vm.disabled }},[_c('label',{staticClass:\"label\",attrs:{\"for\":_vm.name}},[_vm._v(\"\\n \"+_vm._s(_vm.label)+\"\\n \")]),_vm._v(\" \"),(typeof _vm.fallback !== 'undefined')?_c('input',{staticClass:\"opt exclude-disabled\",attrs:{\"id\":_vm.name + '-o',\"type\":\"checkbox\"},domProps:{\"checked\":_vm.present},on:{\"input\":function($event){_vm.$emit('input', !_vm.present ? _vm.fallback : undefined)}}}):_vm._e(),_vm._v(\" \"),(typeof _vm.fallback !== 'undefined')?_c('label',{staticClass:\"opt-l\",attrs:{\"for\":_vm.name + '-o'}}):_vm._e(),_vm._v(\" \"),_c('input',{staticClass:\"input-number\",attrs:{\"id\":_vm.name,\"type\":\"range\",\"disabled\":!_vm.present || _vm.disabled,\"max\":_vm.max || _vm.hardMax || 100,\"min\":_vm.min || _vm.hardMin || 0,\"step\":_vm.step || 1},domProps:{\"value\":_vm.value || _vm.fallback},on:{\"input\":function($event){_vm.$emit('input', $event.target.value)}}}),_vm._v(\" \"),_c('input',{staticClass:\"input-number\",attrs:{\"id\":_vm.name,\"type\":\"number\",\"disabled\":!_vm.present || _vm.disabled,\"max\":_vm.hardMax,\"min\":_vm.hardMin,\"step\":_vm.step || 1},domProps:{\"value\":_vm.value || _vm.fallback},on:{\"input\":function($event){_vm.$emit('input', $event.target.value)}}})])}\nvar staticRenderFns = []\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"opacity-control style-control\",class:{ disabled: !_vm.present || _vm.disabled }},[_c('label',{staticClass:\"label\",attrs:{\"for\":_vm.name}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.style.common.opacity'))+\"\\n \")]),_vm._v(\" \"),(typeof _vm.fallback !== 'undefined')?_c('input',{staticClass:\"opt exclude-disabled\",attrs:{\"id\":_vm.name + '-o',\"type\":\"checkbox\"},domProps:{\"checked\":_vm.present},on:{\"input\":function($event){_vm.$emit('input', !_vm.present ? _vm.fallback : undefined)}}}):_vm._e(),_vm._v(\" \"),(typeof _vm.fallback !== 'undefined')?_c('label',{staticClass:\"opt-l\",attrs:{\"for\":_vm.name + '-o'}}):_vm._e(),_vm._v(\" \"),_c('input',{staticClass:\"input-number\",attrs:{\"id\":_vm.name,\"type\":\"number\",\"disabled\":!_vm.present || _vm.disabled,\"max\":\"1\",\"min\":\"0\",\"step\":\".05\"},domProps:{\"value\":_vm.value || _vm.fallback},on:{\"input\":function($event){_vm.$emit('input', $event.target.value)}}})])}\nvar staticRenderFns = []\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"shadow-control\",class:{ disabled: !_vm.present }},[_c('div',{staticClass:\"shadow-preview-container\"},[_c('div',{staticClass:\"y-shift-control\",attrs:{\"disabled\":!_vm.present}},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.selected.y),expression:\"selected.y\"}],staticClass:\"input-number\",attrs:{\"disabled\":!_vm.present,\"type\":\"number\"},domProps:{\"value\":(_vm.selected.y)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.selected, \"y\", $event.target.value)}}}),_vm._v(\" \"),_c('div',{staticClass:\"wrap\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.selected.y),expression:\"selected.y\"}],staticClass:\"input-range\",attrs:{\"disabled\":!_vm.present,\"type\":\"range\",\"max\":\"20\",\"min\":\"-20\"},domProps:{\"value\":(_vm.selected.y)},on:{\"__r\":function($event){_vm.$set(_vm.selected, \"y\", $event.target.value)}}})])]),_vm._v(\" \"),_c('div',{staticClass:\"preview-window\"},[_c('div',{staticClass:\"preview-block\",style:(_vm.style)})]),_vm._v(\" \"),_c('div',{staticClass:\"x-shift-control\",attrs:{\"disabled\":!_vm.present}},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.selected.x),expression:\"selected.x\"}],staticClass:\"input-number\",attrs:{\"disabled\":!_vm.present,\"type\":\"number\"},domProps:{\"value\":(_vm.selected.x)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.selected, \"x\", $event.target.value)}}}),_vm._v(\" \"),_c('div',{staticClass:\"wrap\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.selected.x),expression:\"selected.x\"}],staticClass:\"input-range\",attrs:{\"disabled\":!_vm.present,\"type\":\"range\",\"max\":\"20\",\"min\":\"-20\"},domProps:{\"value\":(_vm.selected.x)},on:{\"__r\":function($event){_vm.$set(_vm.selected, \"x\", $event.target.value)}}})])])]),_vm._v(\" \"),_c('div',{staticClass:\"shadow-tweak\"},[_c('div',{staticClass:\"id-control style-control\",attrs:{\"disabled\":_vm.usingFallback}},[_c('label',{staticClass:\"select\",attrs:{\"for\":\"shadow-switcher\",\"disabled\":!_vm.ready || _vm.usingFallback}},[_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.selectedId),expression:\"selectedId\"}],staticClass:\"shadow-switcher\",attrs:{\"id\":\"shadow-switcher\",\"disabled\":!_vm.ready || _vm.usingFallback},on:{\"change\":function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.selectedId=$event.target.multiple ? $$selectedVal : $$selectedVal[0]}}},_vm._l((_vm.cValue),function(shadow,index){return _c('option',{key:index,domProps:{\"value\":index}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.style.shadows.shadow_id', { value: index }))+\"\\n \")])}),0),_vm._v(\" \"),_c('i',{staticClass:\"icon-down-open\"})]),_vm._v(\" \"),_c('button',{staticClass:\"btn btn-default\",attrs:{\"disabled\":!_vm.ready || !_vm.present},on:{\"click\":_vm.del}},[_c('i',{staticClass:\"icon-cancel\"})]),_vm._v(\" \"),_c('button',{staticClass:\"btn btn-default\",attrs:{\"disabled\":!_vm.moveUpValid},on:{\"click\":_vm.moveUp}},[_c('i',{staticClass:\"icon-up-open\"})]),_vm._v(\" \"),_c('button',{staticClass:\"btn btn-default\",attrs:{\"disabled\":!_vm.moveDnValid},on:{\"click\":_vm.moveDn}},[_c('i',{staticClass:\"icon-down-open\"})]),_vm._v(\" \"),_c('button',{staticClass:\"btn btn-default\",attrs:{\"disabled\":_vm.usingFallback},on:{\"click\":_vm.add}},[_c('i',{staticClass:\"icon-plus\"})])]),_vm._v(\" \"),_c('div',{staticClass:\"inset-control style-control\",attrs:{\"disabled\":!_vm.present}},[_c('label',{staticClass:\"label\",attrs:{\"for\":\"inset\"}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.style.shadows.inset'))+\"\\n \")]),_vm._v(\" \"),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.selected.inset),expression:\"selected.inset\"}],staticClass:\"input-inset\",attrs:{\"id\":\"inset\",\"disabled\":!_vm.present,\"name\":\"inset\",\"type\":\"checkbox\"},domProps:{\"checked\":Array.isArray(_vm.selected.inset)?_vm._i(_vm.selected.inset,null)>-1:(_vm.selected.inset)},on:{\"change\":function($event){var $$a=_vm.selected.inset,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.$set(_vm.selected, \"inset\", $$a.concat([$$v])))}else{$$i>-1&&(_vm.$set(_vm.selected, \"inset\", $$a.slice(0,$$i).concat($$a.slice($$i+1))))}}else{_vm.$set(_vm.selected, \"inset\", $$c)}}}}),_vm._v(\" \"),_c('label',{staticClass:\"checkbox-label\",attrs:{\"for\":\"inset\"}})]),_vm._v(\" \"),_c('div',{staticClass:\"blur-control style-control\",attrs:{\"disabled\":!_vm.present}},[_c('label',{staticClass:\"label\",attrs:{\"for\":\"spread\"}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.style.shadows.blur'))+\"\\n \")]),_vm._v(\" \"),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.selected.blur),expression:\"selected.blur\"}],staticClass:\"input-range\",attrs:{\"id\":\"blur\",\"disabled\":!_vm.present,\"name\":\"blur\",\"type\":\"range\",\"max\":\"20\",\"min\":\"0\"},domProps:{\"value\":(_vm.selected.blur)},on:{\"__r\":function($event){_vm.$set(_vm.selected, \"blur\", $event.target.value)}}}),_vm._v(\" \"),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.selected.blur),expression:\"selected.blur\"}],staticClass:\"input-number\",attrs:{\"disabled\":!_vm.present,\"type\":\"number\",\"min\":\"0\"},domProps:{\"value\":(_vm.selected.blur)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.selected, \"blur\", $event.target.value)}}})]),_vm._v(\" \"),_c('div',{staticClass:\"spread-control style-control\",attrs:{\"disabled\":!_vm.present}},[_c('label',{staticClass:\"label\",attrs:{\"for\":\"spread\"}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.style.shadows.spread'))+\"\\n \")]),_vm._v(\" \"),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.selected.spread),expression:\"selected.spread\"}],staticClass:\"input-range\",attrs:{\"id\":\"spread\",\"disabled\":!_vm.present,\"name\":\"spread\",\"type\":\"range\",\"max\":\"20\",\"min\":\"-20\"},domProps:{\"value\":(_vm.selected.spread)},on:{\"__r\":function($event){_vm.$set(_vm.selected, \"spread\", $event.target.value)}}}),_vm._v(\" \"),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.selected.spread),expression:\"selected.spread\"}],staticClass:\"input-number\",attrs:{\"disabled\":!_vm.present,\"type\":\"number\"},domProps:{\"value\":(_vm.selected.spread)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.selected, \"spread\", $event.target.value)}}})]),_vm._v(\" \"),_c('ColorInput',{attrs:{\"disabled\":!_vm.present,\"label\":_vm.$t('settings.style.common.color'),\"name\":\"shadow\"},model:{value:(_vm.selected.color),callback:function ($$v) {_vm.$set(_vm.selected, \"color\", $$v)},expression:\"selected.color\"}}),_vm._v(\" \"),_c('OpacityInput',{attrs:{\"disabled\":!_vm.present},model:{value:(_vm.selected.alpha),callback:function ($$v) {_vm.$set(_vm.selected, \"alpha\", $$v)},expression:\"selected.alpha\"}}),_vm._v(\" \"),_c('p',[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.style.shadows.hint'))+\"\\n \")])],1)])}\nvar staticRenderFns = []\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"font-control style-control\",class:{ custom: _vm.isCustom }},[_c('label',{staticClass:\"label\",attrs:{\"for\":_vm.preset === 'custom' ? _vm.name : _vm.name + '-font-switcher'}},[_vm._v(\"\\n \"+_vm._s(_vm.label)+\"\\n \")]),_vm._v(\" \"),(typeof _vm.fallback !== 'undefined')?_c('input',{staticClass:\"opt exlcude-disabled\",attrs:{\"id\":_vm.name + '-o',\"type\":\"checkbox\"},domProps:{\"checked\":_vm.present},on:{\"input\":function($event){_vm.$emit('input', typeof _vm.value === 'undefined' ? _vm.fallback : undefined)}}}):_vm._e(),_vm._v(\" \"),(typeof _vm.fallback !== 'undefined')?_c('label',{staticClass:\"opt-l\",attrs:{\"for\":_vm.name + '-o'}}):_vm._e(),_vm._v(\" \"),_c('label',{staticClass:\"select\",attrs:{\"for\":_vm.name + '-font-switcher',\"disabled\":!_vm.present}},[_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.preset),expression:\"preset\"}],staticClass:\"font-switcher\",attrs:{\"id\":_vm.name + '-font-switcher',\"disabled\":!_vm.present},on:{\"change\":function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.preset=$event.target.multiple ? $$selectedVal : $$selectedVal[0]}}},_vm._l((_vm.availableOptions),function(option){return _c('option',{key:option,domProps:{\"value\":option}},[_vm._v(\"\\n \"+_vm._s(option === 'custom' ? _vm.$t('settings.style.fonts.custom') : option)+\"\\n \")])}),0),_vm._v(\" \"),_c('i',{staticClass:\"icon-down-open\"})]),_vm._v(\" \"),(_vm.isCustom)?_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.family),expression:\"family\"}],staticClass:\"custom-font\",attrs:{\"id\":_vm.name,\"type\":\"text\"},domProps:{\"value\":(_vm.family)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.family=$event.target.value}}}):_vm._e()])}\nvar staticRenderFns = []\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.contrast)?_c('span',{staticClass:\"contrast-ratio\"},[_c('span',{staticClass:\"rating\",attrs:{\"title\":_vm.hint}},[(_vm.contrast.aaa)?_c('span',[_c('i',{staticClass:\"icon-thumbs-up-alt\"})]):_vm._e(),_vm._v(\" \"),(!_vm.contrast.aaa && _vm.contrast.aa)?_c('span',[_c('i',{staticClass:\"icon-adjust\"})]):_vm._e(),_vm._v(\" \"),(!_vm.contrast.aaa && !_vm.contrast.aa)?_c('span',[_c('i',{staticClass:\"icon-attention\"})]):_vm._e()]),_vm._v(\" \"),(_vm.contrast && _vm.large)?_c('span',{staticClass:\"rating\",attrs:{\"title\":_vm.hint_18pt}},[(_vm.contrast.laaa)?_c('span',[_c('i',{staticClass:\"icon-thumbs-up-alt\"})]):_vm._e(),_vm._v(\" \"),(!_vm.contrast.laaa && _vm.contrast.laa)?_c('span',[_c('i',{staticClass:\"icon-adjust\"})]):_vm._e(),_vm._v(\" \"),(!_vm.contrast.laaa && !_vm.contrast.laa)?_c('span',[_c('i',{staticClass:\"icon-attention\"})]):_vm._e()]):_vm._e()]):_vm._e()}\nvar staticRenderFns = []\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"import-export-container\"},[_vm._t(\"before\"),_vm._v(\" \"),_c('button',{staticClass:\"btn\",on:{\"click\":_vm.exportData}},[_vm._v(\"\\n \"+_vm._s(_vm.exportLabel)+\"\\n \")]),_vm._v(\" \"),_c('button',{staticClass:\"btn\",on:{\"click\":_vm.importData}},[_vm._v(\"\\n \"+_vm._s(_vm.importLabel)+\"\\n \")]),_vm._v(\" \"),_vm._t(\"afterButtons\"),_vm._v(\" \"),(_vm.importFailed)?_c('p',{staticClass:\"alert error\"},[_vm._v(\"\\n \"+_vm._s(_vm.importFailedText)+\"\\n \")]):_vm._e(),_vm._v(\" \"),_vm._t(\"afterError\")],2)}\nvar staticRenderFns = []\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"style-switcher\"},[_c('div',{staticClass:\"presets-container\"},[_c('div',{staticClass:\"save-load\"},[_c('export-import',{attrs:{\"export-object\":_vm.exportedTheme,\"export-label\":_vm.$t(\"settings.export_theme\"),\"import-label\":_vm.$t(\"settings.import_theme\"),\"import-failed-text\":_vm.$t(\"settings.invalid_theme_imported\"),\"on-import\":_vm.onImport,\"validator\":_vm.importValidator}},[_c('template',{slot:\"before\"},[_c('div',{staticClass:\"presets\"},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.presets'))+\"\\n \"),_c('label',{staticClass:\"select\",attrs:{\"for\":\"preset-switcher\"}},[_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.selected),expression:\"selected\"}],staticClass:\"preset-switcher\",attrs:{\"id\":\"preset-switcher\"},on:{\"change\":function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.selected=$event.target.multiple ? $$selectedVal : $$selectedVal[0]}}},_vm._l((_vm.availableStyles),function(style){return _c('option',{key:style.name,style:({\n backgroundColor: style[1] || style.theme.colors.bg,\n color: style[3] || style.theme.colors.text\n }),domProps:{\"value\":style}},[_vm._v(\"\\n \"+_vm._s(style[0] || style.name)+\"\\n \")])}),0),_vm._v(\" \"),_c('i',{staticClass:\"icon-down-open\"})])])])],2)],1),_vm._v(\" \"),_c('div',{staticClass:\"save-load-options\"},[_c('span',{staticClass:\"keep-option\"},[_c('Checkbox',{model:{value:(_vm.keepColor),callback:function ($$v) {_vm.keepColor=$$v},expression:\"keepColor\"}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.style.switcher.keep_color'))+\"\\n \")])],1),_vm._v(\" \"),_c('span',{staticClass:\"keep-option\"},[_c('Checkbox',{model:{value:(_vm.keepShadows),callback:function ($$v) {_vm.keepShadows=$$v},expression:\"keepShadows\"}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.style.switcher.keep_shadows'))+\"\\n \")])],1),_vm._v(\" \"),_c('span',{staticClass:\"keep-option\"},[_c('Checkbox',{model:{value:(_vm.keepOpacity),callback:function ($$v) {_vm.keepOpacity=$$v},expression:\"keepOpacity\"}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.style.switcher.keep_opacity'))+\"\\n \")])],1),_vm._v(\" \"),_c('span',{staticClass:\"keep-option\"},[_c('Checkbox',{model:{value:(_vm.keepRoundness),callback:function ($$v) {_vm.keepRoundness=$$v},expression:\"keepRoundness\"}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.style.switcher.keep_roundness'))+\"\\n \")])],1),_vm._v(\" \"),_c('span',{staticClass:\"keep-option\"},[_c('Checkbox',{model:{value:(_vm.keepFonts),callback:function ($$v) {_vm.keepFonts=$$v},expression:\"keepFonts\"}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.style.switcher.keep_fonts'))+\"\\n \")])],1),_vm._v(\" \"),_c('p',[_vm._v(_vm._s(_vm.$t('settings.style.switcher.save_load_hint')))])])]),_vm._v(\" \"),_c('div',{staticClass:\"preview-container\"},[_c('preview',{style:(_vm.previewRules)})],1),_vm._v(\" \"),_c('keep-alive',[_c('tab-switcher',{key:\"style-tweak\"},[_c('div',{staticClass:\"color-container\",attrs:{\"label\":_vm.$t('settings.style.common_colors._tab_label')}},[_c('div',{staticClass:\"tab-header\"},[_c('p',[_vm._v(_vm._s(_vm.$t('settings.theme_help')))]),_vm._v(\" \"),_c('button',{staticClass:\"btn\",on:{\"click\":_vm.clearOpacity}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.style.switcher.clear_opacity'))+\"\\n \")]),_vm._v(\" \"),_c('button',{staticClass:\"btn\",on:{\"click\":_vm.clearV1}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.style.switcher.clear_all'))+\"\\n \")])]),_vm._v(\" \"),_c('p',[_vm._v(_vm._s(_vm.$t('settings.theme_help_v2_1')))]),_vm._v(\" \"),_c('h4',[_vm._v(_vm._s(_vm.$t('settings.style.common_colors.main')))]),_vm._v(\" \"),_c('div',{staticClass:\"color-item\"},[_c('ColorInput',{attrs:{\"name\":\"bgColor\",\"label\":_vm.$t('settings.background')},model:{value:(_vm.bgColorLocal),callback:function ($$v) {_vm.bgColorLocal=$$v},expression:\"bgColorLocal\"}}),_vm._v(\" \"),_c('OpacityInput',{attrs:{\"name\":\"bgOpacity\",\"fallback\":_vm.previewTheme.opacity.bg || 1},model:{value:(_vm.bgOpacityLocal),callback:function ($$v) {_vm.bgOpacityLocal=$$v},expression:\"bgOpacityLocal\"}}),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"textColor\",\"label\":_vm.$t('settings.text')},model:{value:(_vm.textColorLocal),callback:function ($$v) {_vm.textColorLocal=$$v},expression:\"textColorLocal\"}}),_vm._v(\" \"),_c('ContrastRatio',{attrs:{\"contrast\":_vm.previewContrast.bgText}}),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"linkColor\",\"label\":_vm.$t('settings.links')},model:{value:(_vm.linkColorLocal),callback:function ($$v) {_vm.linkColorLocal=$$v},expression:\"linkColorLocal\"}}),_vm._v(\" \"),_c('ContrastRatio',{attrs:{\"contrast\":_vm.previewContrast.bgLink}})],1),_vm._v(\" \"),_c('div',{staticClass:\"color-item\"},[_c('ColorInput',{attrs:{\"name\":\"fgColor\",\"label\":_vm.$t('settings.foreground')},model:{value:(_vm.fgColorLocal),callback:function ($$v) {_vm.fgColorLocal=$$v},expression:\"fgColorLocal\"}}),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"fgTextColor\",\"label\":_vm.$t('settings.text'),\"fallback\":_vm.previewTheme.colors.fgText},model:{value:(_vm.fgTextColorLocal),callback:function ($$v) {_vm.fgTextColorLocal=$$v},expression:\"fgTextColorLocal\"}}),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"fgLinkColor\",\"label\":_vm.$t('settings.links'),\"fallback\":_vm.previewTheme.colors.fgLink},model:{value:(_vm.fgLinkColorLocal),callback:function ($$v) {_vm.fgLinkColorLocal=$$v},expression:\"fgLinkColorLocal\"}}),_vm._v(\" \"),_c('p',[_vm._v(_vm._s(_vm.$t('settings.style.common_colors.foreground_hint')))])],1),_vm._v(\" \"),_c('h4',[_vm._v(_vm._s(_vm.$t('settings.style.common_colors.rgbo')))]),_vm._v(\" \"),_c('div',{staticClass:\"color-item\"},[_c('ColorInput',{attrs:{\"name\":\"cRedColor\",\"label\":_vm.$t('settings.cRed')},model:{value:(_vm.cRedColorLocal),callback:function ($$v) {_vm.cRedColorLocal=$$v},expression:\"cRedColorLocal\"}}),_vm._v(\" \"),_c('ContrastRatio',{attrs:{\"contrast\":_vm.previewContrast.bgRed}}),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"cBlueColor\",\"label\":_vm.$t('settings.cBlue')},model:{value:(_vm.cBlueColorLocal),callback:function ($$v) {_vm.cBlueColorLocal=$$v},expression:\"cBlueColorLocal\"}}),_vm._v(\" \"),_c('ContrastRatio',{attrs:{\"contrast\":_vm.previewContrast.bgBlue}})],1),_vm._v(\" \"),_c('div',{staticClass:\"color-item\"},[_c('ColorInput',{attrs:{\"name\":\"cGreenColor\",\"label\":_vm.$t('settings.cGreen')},model:{value:(_vm.cGreenColorLocal),callback:function ($$v) {_vm.cGreenColorLocal=$$v},expression:\"cGreenColorLocal\"}}),_vm._v(\" \"),_c('ContrastRatio',{attrs:{\"contrast\":_vm.previewContrast.bgGreen}}),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"cOrangeColor\",\"label\":_vm.$t('settings.cOrange')},model:{value:(_vm.cOrangeColorLocal),callback:function ($$v) {_vm.cOrangeColorLocal=$$v},expression:\"cOrangeColorLocal\"}}),_vm._v(\" \"),_c('ContrastRatio',{attrs:{\"contrast\":_vm.previewContrast.bgOrange}})],1),_vm._v(\" \"),_c('p',[_vm._v(_vm._s(_vm.$t('settings.theme_help_v2_2')))])]),_vm._v(\" \"),_c('div',{staticClass:\"color-container\",attrs:{\"label\":_vm.$t('settings.style.advanced_colors._tab_label')}},[_c('div',{staticClass:\"tab-header\"},[_c('p',[_vm._v(_vm._s(_vm.$t('settings.theme_help')))]),_vm._v(\" \"),_c('button',{staticClass:\"btn\",on:{\"click\":_vm.clearOpacity}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.style.switcher.clear_opacity'))+\"\\n \")]),_vm._v(\" \"),_c('button',{staticClass:\"btn\",on:{\"click\":_vm.clearV1}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.style.switcher.clear_all'))+\"\\n \")])]),_vm._v(\" \"),_c('div',{staticClass:\"color-item\"},[_c('h4',[_vm._v(_vm._s(_vm.$t('settings.style.advanced_colors.alert')))]),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"alertError\",\"label\":_vm.$t('settings.style.advanced_colors.alert_error'),\"fallback\":_vm.previewTheme.colors.alertError},model:{value:(_vm.alertErrorColorLocal),callback:function ($$v) {_vm.alertErrorColorLocal=$$v},expression:\"alertErrorColorLocal\"}}),_vm._v(\" \"),_c('ContrastRatio',{attrs:{\"contrast\":_vm.previewContrast.alertError}}),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"alertWarning\",\"label\":_vm.$t('settings.style.advanced_colors.alert_warning'),\"fallback\":_vm.previewTheme.colors.alertWarning},model:{value:(_vm.alertWarningColorLocal),callback:function ($$v) {_vm.alertWarningColorLocal=$$v},expression:\"alertWarningColorLocal\"}}),_vm._v(\" \"),_c('ContrastRatio',{attrs:{\"contrast\":_vm.previewContrast.alertWarning}})],1),_vm._v(\" \"),_c('div',{staticClass:\"color-item\"},[_c('h4',[_vm._v(_vm._s(_vm.$t('settings.style.advanced_colors.badge')))]),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"badgeNotification\",\"label\":_vm.$t('settings.style.advanced_colors.badge_notification'),\"fallback\":_vm.previewTheme.colors.badgeNotification},model:{value:(_vm.badgeNotificationColorLocal),callback:function ($$v) {_vm.badgeNotificationColorLocal=$$v},expression:\"badgeNotificationColorLocal\"}})],1),_vm._v(\" \"),_c('div',{staticClass:\"color-item\"},[_c('h4',[_vm._v(_vm._s(_vm.$t('settings.style.advanced_colors.panel_header')))]),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"panelColor\",\"fallback\":_vm.fgColorLocal,\"label\":_vm.$t('settings.background')},model:{value:(_vm.panelColorLocal),callback:function ($$v) {_vm.panelColorLocal=$$v},expression:\"panelColorLocal\"}}),_vm._v(\" \"),_c('OpacityInput',{attrs:{\"name\":\"panelOpacity\",\"fallback\":_vm.previewTheme.opacity.panel || 1},model:{value:(_vm.panelOpacityLocal),callback:function ($$v) {_vm.panelOpacityLocal=$$v},expression:\"panelOpacityLocal\"}}),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"panelTextColor\",\"fallback\":_vm.previewTheme.colors.panelText,\"label\":_vm.$t('settings.text')},model:{value:(_vm.panelTextColorLocal),callback:function ($$v) {_vm.panelTextColorLocal=$$v},expression:\"panelTextColorLocal\"}}),_vm._v(\" \"),_c('ContrastRatio',{attrs:{\"contrast\":_vm.previewContrast.panelText,\"large\":\"1\"}}),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"panelLinkColor\",\"fallback\":_vm.previewTheme.colors.panelLink,\"label\":_vm.$t('settings.links')},model:{value:(_vm.panelLinkColorLocal),callback:function ($$v) {_vm.panelLinkColorLocal=$$v},expression:\"panelLinkColorLocal\"}}),_vm._v(\" \"),_c('ContrastRatio',{attrs:{\"contrast\":_vm.previewContrast.panelLink,\"large\":\"1\"}})],1),_vm._v(\" \"),_c('div',{staticClass:\"color-item\"},[_c('h4',[_vm._v(_vm._s(_vm.$t('settings.style.advanced_colors.top_bar')))]),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"topBarColor\",\"fallback\":_vm.fgColorLocal,\"label\":_vm.$t('settings.background')},model:{value:(_vm.topBarColorLocal),callback:function ($$v) {_vm.topBarColorLocal=$$v},expression:\"topBarColorLocal\"}}),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"topBarTextColor\",\"fallback\":_vm.previewTheme.colors.topBarText,\"label\":_vm.$t('settings.text')},model:{value:(_vm.topBarTextColorLocal),callback:function ($$v) {_vm.topBarTextColorLocal=$$v},expression:\"topBarTextColorLocal\"}}),_vm._v(\" \"),_c('ContrastRatio',{attrs:{\"contrast\":_vm.previewContrast.topBarText}}),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"topBarLinkColor\",\"fallback\":_vm.previewTheme.colors.topBarLink,\"label\":_vm.$t('settings.links')},model:{value:(_vm.topBarLinkColorLocal),callback:function ($$v) {_vm.topBarLinkColorLocal=$$v},expression:\"topBarLinkColorLocal\"}}),_vm._v(\" \"),_c('ContrastRatio',{attrs:{\"contrast\":_vm.previewContrast.topBarLink}})],1),_vm._v(\" \"),_c('div',{staticClass:\"color-item\"},[_c('h4',[_vm._v(_vm._s(_vm.$t('settings.style.advanced_colors.inputs')))]),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"inputColor\",\"fallback\":_vm.fgColorLocal,\"label\":_vm.$t('settings.background')},model:{value:(_vm.inputColorLocal),callback:function ($$v) {_vm.inputColorLocal=$$v},expression:\"inputColorLocal\"}}),_vm._v(\" \"),_c('OpacityInput',{attrs:{\"name\":\"inputOpacity\",\"fallback\":_vm.previewTheme.opacity.input || 1},model:{value:(_vm.inputOpacityLocal),callback:function ($$v) {_vm.inputOpacityLocal=$$v},expression:\"inputOpacityLocal\"}}),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"inputTextColor\",\"fallback\":_vm.previewTheme.colors.inputText,\"label\":_vm.$t('settings.text')},model:{value:(_vm.inputTextColorLocal),callback:function ($$v) {_vm.inputTextColorLocal=$$v},expression:\"inputTextColorLocal\"}}),_vm._v(\" \"),_c('ContrastRatio',{attrs:{\"contrast\":_vm.previewContrast.inputText}})],1),_vm._v(\" \"),_c('div',{staticClass:\"color-item\"},[_c('h4',[_vm._v(_vm._s(_vm.$t('settings.style.advanced_colors.buttons')))]),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"btnColor\",\"fallback\":_vm.fgColorLocal,\"label\":_vm.$t('settings.background')},model:{value:(_vm.btnColorLocal),callback:function ($$v) {_vm.btnColorLocal=$$v},expression:\"btnColorLocal\"}}),_vm._v(\" \"),_c('OpacityInput',{attrs:{\"name\":\"btnOpacity\",\"fallback\":_vm.previewTheme.opacity.btn || 1},model:{value:(_vm.btnOpacityLocal),callback:function ($$v) {_vm.btnOpacityLocal=$$v},expression:\"btnOpacityLocal\"}}),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"btnTextColor\",\"fallback\":_vm.previewTheme.colors.btnText,\"label\":_vm.$t('settings.text')},model:{value:(_vm.btnTextColorLocal),callback:function ($$v) {_vm.btnTextColorLocal=$$v},expression:\"btnTextColorLocal\"}}),_vm._v(\" \"),_c('ContrastRatio',{attrs:{\"contrast\":_vm.previewContrast.btnText}})],1),_vm._v(\" \"),_c('div',{staticClass:\"color-item\"},[_c('h4',[_vm._v(_vm._s(_vm.$t('settings.style.advanced_colors.borders')))]),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"borderColor\",\"fallback\":_vm.previewTheme.colors.border,\"label\":_vm.$t('settings.style.common.color')},model:{value:(_vm.borderColorLocal),callback:function ($$v) {_vm.borderColorLocal=$$v},expression:\"borderColorLocal\"}}),_vm._v(\" \"),_c('OpacityInput',{attrs:{\"name\":\"borderOpacity\",\"fallback\":_vm.previewTheme.opacity.border || 1},model:{value:(_vm.borderOpacityLocal),callback:function ($$v) {_vm.borderOpacityLocal=$$v},expression:\"borderOpacityLocal\"}})],1),_vm._v(\" \"),_c('div',{staticClass:\"color-item\"},[_c('h4',[_vm._v(_vm._s(_vm.$t('settings.style.advanced_colors.faint_text')))]),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"faintColor\",\"fallback\":_vm.previewTheme.colors.faint || 1,\"label\":_vm.$t('settings.text')},model:{value:(_vm.faintColorLocal),callback:function ($$v) {_vm.faintColorLocal=$$v},expression:\"faintColorLocal\"}}),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"faintLinkColor\",\"fallback\":_vm.previewTheme.colors.faintLink,\"label\":_vm.$t('settings.links')},model:{value:(_vm.faintLinkColorLocal),callback:function ($$v) {_vm.faintLinkColorLocal=$$v},expression:\"faintLinkColorLocal\"}}),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"panelFaintColor\",\"fallback\":_vm.previewTheme.colors.panelFaint,\"label\":_vm.$t('settings.style.advanced_colors.panel_header')},model:{value:(_vm.panelFaintColorLocal),callback:function ($$v) {_vm.panelFaintColorLocal=$$v},expression:\"panelFaintColorLocal\"}}),_vm._v(\" \"),_c('OpacityInput',{attrs:{\"name\":\"faintOpacity\",\"fallback\":_vm.previewTheme.opacity.faint || 0.5},model:{value:(_vm.faintOpacityLocal),callback:function ($$v) {_vm.faintOpacityLocal=$$v},expression:\"faintOpacityLocal\"}})],1)]),_vm._v(\" \"),_c('div',{staticClass:\"radius-container\",attrs:{\"label\":_vm.$t('settings.style.radii._tab_label')}},[_c('div',{staticClass:\"tab-header\"},[_c('p',[_vm._v(_vm._s(_vm.$t('settings.radii_help')))]),_vm._v(\" \"),_c('button',{staticClass:\"btn\",on:{\"click\":_vm.clearRoundness}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.style.switcher.clear_all'))+\"\\n \")])]),_vm._v(\" \"),_c('RangeInput',{attrs:{\"name\":\"btnRadius\",\"label\":_vm.$t('settings.btnRadius'),\"fallback\":_vm.previewTheme.radii.btn,\"max\":\"16\",\"hard-min\":\"0\"},model:{value:(_vm.btnRadiusLocal),callback:function ($$v) {_vm.btnRadiusLocal=$$v},expression:\"btnRadiusLocal\"}}),_vm._v(\" \"),_c('RangeInput',{attrs:{\"name\":\"inputRadius\",\"label\":_vm.$t('settings.inputRadius'),\"fallback\":_vm.previewTheme.radii.input,\"max\":\"9\",\"hard-min\":\"0\"},model:{value:(_vm.inputRadiusLocal),callback:function ($$v) {_vm.inputRadiusLocal=$$v},expression:\"inputRadiusLocal\"}}),_vm._v(\" \"),_c('RangeInput',{attrs:{\"name\":\"checkboxRadius\",\"label\":_vm.$t('settings.checkboxRadius'),\"fallback\":_vm.previewTheme.radii.checkbox,\"max\":\"16\",\"hard-min\":\"0\"},model:{value:(_vm.checkboxRadiusLocal),callback:function ($$v) {_vm.checkboxRadiusLocal=$$v},expression:\"checkboxRadiusLocal\"}}),_vm._v(\" \"),_c('RangeInput',{attrs:{\"name\":\"panelRadius\",\"label\":_vm.$t('settings.panelRadius'),\"fallback\":_vm.previewTheme.radii.panel,\"max\":\"50\",\"hard-min\":\"0\"},model:{value:(_vm.panelRadiusLocal),callback:function ($$v) {_vm.panelRadiusLocal=$$v},expression:\"panelRadiusLocal\"}}),_vm._v(\" \"),_c('RangeInput',{attrs:{\"name\":\"avatarRadius\",\"label\":_vm.$t('settings.avatarRadius'),\"fallback\":_vm.previewTheme.radii.avatar,\"max\":\"28\",\"hard-min\":\"0\"},model:{value:(_vm.avatarRadiusLocal),callback:function ($$v) {_vm.avatarRadiusLocal=$$v},expression:\"avatarRadiusLocal\"}}),_vm._v(\" \"),_c('RangeInput',{attrs:{\"name\":\"avatarAltRadius\",\"label\":_vm.$t('settings.avatarAltRadius'),\"fallback\":_vm.previewTheme.radii.avatarAlt,\"max\":\"28\",\"hard-min\":\"0\"},model:{value:(_vm.avatarAltRadiusLocal),callback:function ($$v) {_vm.avatarAltRadiusLocal=$$v},expression:\"avatarAltRadiusLocal\"}}),_vm._v(\" \"),_c('RangeInput',{attrs:{\"name\":\"attachmentRadius\",\"label\":_vm.$t('settings.attachmentRadius'),\"fallback\":_vm.previewTheme.radii.attachment,\"max\":\"50\",\"hard-min\":\"0\"},model:{value:(_vm.attachmentRadiusLocal),callback:function ($$v) {_vm.attachmentRadiusLocal=$$v},expression:\"attachmentRadiusLocal\"}}),_vm._v(\" \"),_c('RangeInput',{attrs:{\"name\":\"tooltipRadius\",\"label\":_vm.$t('settings.tooltipRadius'),\"fallback\":_vm.previewTheme.radii.tooltip,\"max\":\"50\",\"hard-min\":\"0\"},model:{value:(_vm.tooltipRadiusLocal),callback:function ($$v) {_vm.tooltipRadiusLocal=$$v},expression:\"tooltipRadiusLocal\"}})],1),_vm._v(\" \"),_c('div',{staticClass:\"shadow-container\",attrs:{\"label\":_vm.$t('settings.style.shadows._tab_label')}},[_c('div',{staticClass:\"tab-header shadow-selector\"},[_c('div',{staticClass:\"select-container\"},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.style.shadows.component'))+\"\\n \"),_c('label',{staticClass:\"select\",attrs:{\"for\":\"shadow-switcher\"}},[_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.shadowSelected),expression:\"shadowSelected\"}],staticClass:\"shadow-switcher\",attrs:{\"id\":\"shadow-switcher\"},on:{\"change\":function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.shadowSelected=$event.target.multiple ? $$selectedVal : $$selectedVal[0]}}},_vm._l((_vm.shadowsAvailable),function(shadow){return _c('option',{key:shadow,domProps:{\"value\":shadow}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.style.shadows.components.' + shadow))+\"\\n \")])}),0),_vm._v(\" \"),_c('i',{staticClass:\"icon-down-open\"})])]),_vm._v(\" \"),_c('div',{staticClass:\"override\"},[_c('label',{staticClass:\"label\",attrs:{\"for\":\"override\"}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.style.shadows.override'))+\"\\n \")]),_vm._v(\" \"),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.currentShadowOverriden),expression:\"currentShadowOverriden\"}],staticClass:\"input-override\",attrs:{\"id\":\"override\",\"name\":\"override\",\"type\":\"checkbox\"},domProps:{\"checked\":Array.isArray(_vm.currentShadowOverriden)?_vm._i(_vm.currentShadowOverriden,null)>-1:(_vm.currentShadowOverriden)},on:{\"change\":function($event){var $$a=_vm.currentShadowOverriden,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.currentShadowOverriden=$$a.concat([$$v]))}else{$$i>-1&&(_vm.currentShadowOverriden=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{_vm.currentShadowOverriden=$$c}}}}),_vm._v(\" \"),_c('label',{staticClass:\"checkbox-label\",attrs:{\"for\":\"override\"}})]),_vm._v(\" \"),_c('button',{staticClass:\"btn\",on:{\"click\":_vm.clearShadows}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.style.switcher.clear_all'))+\"\\n \")])]),_vm._v(\" \"),_c('shadow-control',{attrs:{\"ready\":!!_vm.currentShadowFallback,\"fallback\":_vm.currentShadowFallback},model:{value:(_vm.currentShadow),callback:function ($$v) {_vm.currentShadow=$$v},expression:\"currentShadow\"}}),_vm._v(\" \"),(_vm.shadowSelected === 'avatar' || _vm.shadowSelected === 'avatarStatus')?_c('div',[_c('i18n',{attrs:{\"path\":\"settings.style.shadows.filter_hint.always_drop_shadow\",\"tag\":\"p\"}},[_c('code',[_vm._v(\"filter: drop-shadow()\")])]),_vm._v(\" \"),_c('p',[_vm._v(_vm._s(_vm.$t('settings.style.shadows.filter_hint.avatar_inset')))]),_vm._v(\" \"),_c('i18n',{attrs:{\"path\":\"settings.style.shadows.filter_hint.drop_shadow_syntax\",\"tag\":\"p\"}},[_c('code',[_vm._v(\"drop-shadow\")]),_vm._v(\" \"),_c('code',[_vm._v(\"spread-radius\")]),_vm._v(\" \"),_c('code',[_vm._v(\"inset\")])]),_vm._v(\" \"),_c('i18n',{attrs:{\"path\":\"settings.style.shadows.filter_hint.inset_classic\",\"tag\":\"p\"}},[_c('code',[_vm._v(\"box-shadow\")])]),_vm._v(\" \"),_c('p',[_vm._v(_vm._s(_vm.$t('settings.style.shadows.filter_hint.spread_zero')))])],1):_vm._e()],1),_vm._v(\" \"),_c('div',{staticClass:\"fonts-container\",attrs:{\"label\":_vm.$t('settings.style.fonts._tab_label')}},[_c('div',{staticClass:\"tab-header\"},[_c('p',[_vm._v(_vm._s(_vm.$t('settings.style.fonts.help')))]),_vm._v(\" \"),_c('button',{staticClass:\"btn\",on:{\"click\":_vm.clearFonts}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.style.switcher.clear_all'))+\"\\n \")])]),_vm._v(\" \"),_c('FontControl',{attrs:{\"name\":\"ui\",\"label\":_vm.$t('settings.style.fonts.components.interface'),\"fallback\":_vm.previewTheme.fonts.interface,\"no-inherit\":\"1\"},model:{value:(_vm.fontsLocal.interface),callback:function ($$v) {_vm.$set(_vm.fontsLocal, \"interface\", $$v)},expression:\"fontsLocal.interface\"}}),_vm._v(\" \"),_c('FontControl',{attrs:{\"name\":\"input\",\"label\":_vm.$t('settings.style.fonts.components.input'),\"fallback\":_vm.previewTheme.fonts.input},model:{value:(_vm.fontsLocal.input),callback:function ($$v) {_vm.$set(_vm.fontsLocal, \"input\", $$v)},expression:\"fontsLocal.input\"}}),_vm._v(\" \"),_c('FontControl',{attrs:{\"name\":\"post\",\"label\":_vm.$t('settings.style.fonts.components.post'),\"fallback\":_vm.previewTheme.fonts.post},model:{value:(_vm.fontsLocal.post),callback:function ($$v) {_vm.$set(_vm.fontsLocal, \"post\", $$v)},expression:\"fontsLocal.post\"}}),_vm._v(\" \"),_c('FontControl',{attrs:{\"name\":\"postCode\",\"label\":_vm.$t('settings.style.fonts.components.postCode'),\"fallback\":_vm.previewTheme.fonts.postCode},model:{value:(_vm.fontsLocal.postCode),callback:function ($$v) {_vm.$set(_vm.fontsLocal, \"postCode\", $$v)},expression:\"fontsLocal.postCode\"}})],1)])],1),_vm._v(\" \"),_c('div',{staticClass:\"apply-container\"},[_c('button',{staticClass:\"btn submit\",attrs:{\"disabled\":!_vm.themeValid},on:{\"click\":_vm.setCustomTheme}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('general.apply'))+\"\\n \")]),_vm._v(\" \"),_c('button',{staticClass:\"btn\",on:{\"click\":_vm.clearAll}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.style.switcher.reset'))+\"\\n \")])])],1)}\nvar staticRenderFns = []\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('label',{attrs:{\"for\":\"interface-language-switcher\"}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.interfaceLanguage'))+\"\\n \")]),_vm._v(\" \"),_c('label',{staticClass:\"select\",attrs:{\"for\":\"interface-language-switcher\"}},[_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.language),expression:\"language\"}],attrs:{\"id\":\"interface-language-switcher\"},on:{\"change\":function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.language=$event.target.multiple ? $$selectedVal : $$selectedVal[0]}}},_vm._l((_vm.languageCodes),function(langCode,i){return _c('option',{key:langCode,domProps:{\"value\":langCode}},[_vm._v(\"\\n \"+_vm._s(_vm.languageNames[i])+\"\\n \")])}),0),_vm._v(\" \"),_c('i',{staticClass:\"icon-down-open\"})])])}\nvar staticRenderFns = []\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"settings panel panel-default\"},[_c('div',{staticClass:\"panel-heading\"},[_c('div',{staticClass:\"title\"},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.settings'))+\"\\n \")]),_vm._v(\" \"),_c('transition',{attrs:{\"name\":\"fade\"}},[(_vm.currentSaveStateNotice)?[(_vm.currentSaveStateNotice.error)?_c('div',{staticClass:\"alert error\",on:{\"click\":function($event){$event.preventDefault();}}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.saving_err'))+\"\\n \")]):_vm._e(),_vm._v(\" \"),(!_vm.currentSaveStateNotice.error)?_c('div',{staticClass:\"alert transparent\",on:{\"click\":function($event){$event.preventDefault();}}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.saving_ok'))+\"\\n \")]):_vm._e()]:_vm._e()],2)],1),_vm._v(\" \"),_c('div',{staticClass:\"panel-body\"},[_c('keep-alive',[_c('tab-switcher',[_c('div',{attrs:{\"label\":_vm.$t('settings.general')}},[_c('div',{staticClass:\"setting-item\"},[_c('h2',[_vm._v(_vm._s(_vm.$t('settings.interface')))]),_vm._v(\" \"),_c('ul',{staticClass:\"setting-list\"},[_c('li',[_c('interface-language-switcher')],1),_vm._v(\" \"),(_vm.instanceSpecificPanelPresent)?_c('li',[_c('Checkbox',{model:{value:(_vm.hideISP),callback:function ($$v) {_vm.hideISP=$$v},expression:\"hideISP\"}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.hide_isp'))+\"\\n \")])],1):_vm._e()])]),_vm._v(\" \"),_c('div',{staticClass:\"setting-item\"},[_c('h2',[_vm._v(_vm._s(_vm.$t('nav.timeline')))]),_vm._v(\" \"),_c('ul',{staticClass:\"setting-list\"},[_c('li',[_c('Checkbox',{model:{value:(_vm.hideMutedPosts),callback:function ($$v) {_vm.hideMutedPosts=$$v},expression:\"hideMutedPosts\"}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.hide_muted_posts'))+\" \"+_vm._s(_vm.$t('settings.instance_default', { value: _vm.hideMutedPostsLocalizedValue }))+\"\\n \")])],1),_vm._v(\" \"),_c('li',[_c('Checkbox',{model:{value:(_vm.collapseMessageWithSubject),callback:function ($$v) {_vm.collapseMessageWithSubject=$$v},expression:\"collapseMessageWithSubject\"}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.collapse_subject'))+\" \"+_vm._s(_vm.$t('settings.instance_default', { value: _vm.collapseMessageWithSubjectLocalizedValue }))+\"\\n \")])],1),_vm._v(\" \"),_c('li',[_c('Checkbox',{model:{value:(_vm.streaming),callback:function ($$v) {_vm.streaming=$$v},expression:\"streaming\"}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.streaming'))+\"\\n \")]),_vm._v(\" \"),_c('ul',{staticClass:\"setting-list suboptions\",class:[{disabled: !_vm.streaming}]},[_c('li',[_c('Checkbox',{attrs:{\"disabled\":!_vm.streaming},model:{value:(_vm.pauseOnUnfocused),callback:function ($$v) {_vm.pauseOnUnfocused=$$v},expression:\"pauseOnUnfocused\"}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.pause_on_unfocused'))+\"\\n \")])],1)])],1),_vm._v(\" \"),_c('li',[_c('Checkbox',{model:{value:(_vm.autoLoad),callback:function ($$v) {_vm.autoLoad=$$v},expression:\"autoLoad\"}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.autoload'))+\"\\n \")])],1),_vm._v(\" \"),_c('li',[_c('Checkbox',{model:{value:(_vm.hoverPreview),callback:function ($$v) {_vm.hoverPreview=$$v},expression:\"hoverPreview\"}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.reply_link_preview'))+\"\\n \")])],1)])]),_vm._v(\" \"),_c('div',{staticClass:\"setting-item\"},[_c('h2',[_vm._v(_vm._s(_vm.$t('settings.composing')))]),_vm._v(\" \"),_c('ul',{staticClass:\"setting-list\"},[_c('li',[_c('Checkbox',{model:{value:(_vm.scopeCopy),callback:function ($$v) {_vm.scopeCopy=$$v},expression:\"scopeCopy\"}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.scope_copy'))+\" \"+_vm._s(_vm.$t('settings.instance_default', { value: _vm.scopeCopyLocalizedValue }))+\"\\n \")])],1),_vm._v(\" \"),_c('li',[_c('Checkbox',{model:{value:(_vm.alwaysShowSubjectInput),callback:function ($$v) {_vm.alwaysShowSubjectInput=$$v},expression:\"alwaysShowSubjectInput\"}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.subject_input_always_show'))+\" \"+_vm._s(_vm.$t('settings.instance_default', { value: _vm.alwaysShowSubjectInputLocalizedValue }))+\"\\n \")])],1),_vm._v(\" \"),_c('li',[_c('div',[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.subject_line_behavior'))+\"\\n \"),_c('label',{staticClass:\"select\",attrs:{\"for\":\"subjectLineBehavior\"}},[_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.subjectLineBehavior),expression:\"subjectLineBehavior\"}],attrs:{\"id\":\"subjectLineBehavior\"},on:{\"change\":function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.subjectLineBehavior=$event.target.multiple ? $$selectedVal : $$selectedVal[0]}}},[_c('option',{attrs:{\"value\":\"email\"}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.subject_line_email'))+\"\\n \"+_vm._s(_vm.subjectLineBehaviorDefaultValue == 'email' ? _vm.$t('settings.instance_default_simple') : '')+\"\\n \")]),_vm._v(\" \"),_c('option',{attrs:{\"value\":\"masto\"}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.subject_line_mastodon'))+\"\\n \"+_vm._s(_vm.subjectLineBehaviorDefaultValue == 'mastodon' ? _vm.$t('settings.instance_default_simple') : '')+\"\\n \")]),_vm._v(\" \"),_c('option',{attrs:{\"value\":\"noop\"}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.subject_line_noop'))+\"\\n \"+_vm._s(_vm.subjectLineBehaviorDefaultValue == 'noop' ? _vm.$t('settings.instance_default_simple') : '')+\"\\n \")])]),_vm._v(\" \"),_c('i',{staticClass:\"icon-down-open\"})])])]),_vm._v(\" \"),(_vm.postFormats.length > 0)?_c('li',[_c('div',[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.post_status_content_type'))+\"\\n \"),_c('label',{staticClass:\"select\",attrs:{\"for\":\"postContentType\"}},[_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.postContentType),expression:\"postContentType\"}],attrs:{\"id\":\"postContentType\"},on:{\"change\":function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.postContentType=$event.target.multiple ? $$selectedVal : $$selectedVal[0]}}},_vm._l((_vm.postFormats),function(postFormat){return _c('option',{key:postFormat,domProps:{\"value\":postFormat}},[_vm._v(\"\\n \"+_vm._s(_vm.$t((\"post_status.content_type[\\\"\" + postFormat + \"\\\"]\")))+\"\\n \"+_vm._s(_vm.postContentTypeDefaultValue === postFormat ? _vm.$t('settings.instance_default_simple') : '')+\"\\n \")])}),0),_vm._v(\" \"),_c('i',{staticClass:\"icon-down-open\"})])])]):_vm._e(),_vm._v(\" \"),_c('li',[_c('Checkbox',{model:{value:(_vm.minimalScopesMode),callback:function ($$v) {_vm.minimalScopesMode=$$v},expression:\"minimalScopesMode\"}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.minimal_scopes_mode'))+\" \"+_vm._s(_vm.$t('settings.instance_default', { value: _vm.minimalScopesModeLocalizedValue }))+\"\\n \")])],1),_vm._v(\" \"),_c('li',[_c('Checkbox',{model:{value:(_vm.autohideFloatingPostButton),callback:function ($$v) {_vm.autohideFloatingPostButton=$$v},expression:\"autohideFloatingPostButton\"}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.autohide_floating_post_button'))+\"\\n \")])],1),_vm._v(\" \"),_c('li',[_c('Checkbox',{model:{value:(_vm.padEmoji),callback:function ($$v) {_vm.padEmoji=$$v},expression:\"padEmoji\"}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.pad_emoji'))+\"\\n \")])],1)])]),_vm._v(\" \"),_c('div',{staticClass:\"setting-item\"},[_c('h2',[_vm._v(_vm._s(_vm.$t('settings.attachments')))]),_vm._v(\" \"),_c('ul',{staticClass:\"setting-list\"},[_c('li',[_c('Checkbox',{model:{value:(_vm.hideAttachments),callback:function ($$v) {_vm.hideAttachments=$$v},expression:\"hideAttachments\"}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.hide_attachments_in_tl'))+\"\\n \")])],1),_vm._v(\" \"),_c('li',[_c('Checkbox',{model:{value:(_vm.hideAttachmentsInConv),callback:function ($$v) {_vm.hideAttachmentsInConv=$$v},expression:\"hideAttachmentsInConv\"}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.hide_attachments_in_convo'))+\"\\n \")])],1),_vm._v(\" \"),_c('li',[_c('label',{attrs:{\"for\":\"maxThumbnails\"}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.max_thumbnails'))+\"\\n \")]),_vm._v(\" \"),_c('input',{directives:[{name:\"model\",rawName:\"v-model.number\",value:(_vm.maxThumbnails),expression:\"maxThumbnails\",modifiers:{\"number\":true}}],staticClass:\"number-input\",attrs:{\"id\":\"maxThumbnails\",\"type\":\"number\",\"min\":\"0\",\"step\":\"1\"},domProps:{\"value\":(_vm.maxThumbnails)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.maxThumbnails=_vm._n($event.target.value)},\"blur\":function($event){_vm.$forceUpdate()}}})]),_vm._v(\" \"),_c('li',[_c('Checkbox',{model:{value:(_vm.hideNsfw),callback:function ($$v) {_vm.hideNsfw=$$v},expression:\"hideNsfw\"}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.nsfw_clickthrough'))+\"\\n \")])],1),_vm._v(\" \"),_c('ul',{staticClass:\"setting-list suboptions\"},[_c('li',[_c('Checkbox',{attrs:{\"disabled\":!_vm.hideNsfw},model:{value:(_vm.preloadImage),callback:function ($$v) {_vm.preloadImage=$$v},expression:\"preloadImage\"}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.preload_images'))+\"\\n \")])],1),_vm._v(\" \"),_c('li',[_c('Checkbox',{attrs:{\"disabled\":!_vm.hideNsfw},model:{value:(_vm.useOneClickNsfw),callback:function ($$v) {_vm.useOneClickNsfw=$$v},expression:\"useOneClickNsfw\"}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.use_one_click_nsfw'))+\"\\n \")])],1)]),_vm._v(\" \"),_c('li',[_c('Checkbox',{model:{value:(_vm.stopGifs),callback:function ($$v) {_vm.stopGifs=$$v},expression:\"stopGifs\"}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.stop_gifs'))+\"\\n \")])],1),_vm._v(\" \"),_c('li',[_c('Checkbox',{model:{value:(_vm.loopVideo),callback:function ($$v) {_vm.loopVideo=$$v},expression:\"loopVideo\"}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.loop_video'))+\"\\n \")]),_vm._v(\" \"),_c('ul',{staticClass:\"setting-list suboptions\",class:[{disabled: !_vm.streaming}]},[_c('li',[_c('Checkbox',{attrs:{\"disabled\":!_vm.loopVideo || !_vm.loopSilentAvailable},model:{value:(_vm.loopVideoSilentOnly),callback:function ($$v) {_vm.loopVideoSilentOnly=$$v},expression:\"loopVideoSilentOnly\"}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.loop_video_silent_only'))+\"\\n \")]),_vm._v(\" \"),(!_vm.loopSilentAvailable)?_c('div',{staticClass:\"unavailable\"},[_c('i',{staticClass:\"icon-globe\"}),_vm._v(\"! \"+_vm._s(_vm.$t('settings.limited_availability'))+\"\\n \")]):_vm._e()],1)])],1),_vm._v(\" \"),_c('li',[_c('Checkbox',{model:{value:(_vm.playVideosInModal),callback:function ($$v) {_vm.playVideosInModal=$$v},expression:\"playVideosInModal\"}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.play_videos_in_modal'))+\"\\n \")])],1),_vm._v(\" \"),_c('li',[_c('Checkbox',{model:{value:(_vm.useContainFit),callback:function ($$v) {_vm.useContainFit=$$v},expression:\"useContainFit\"}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.use_contain_fit'))+\"\\n \")])],1)])]),_vm._v(\" \"),_c('div',{staticClass:\"setting-item\"},[_c('h2',[_vm._v(_vm._s(_vm.$t('settings.notifications')))]),_vm._v(\" \"),_c('ul',{staticClass:\"setting-list\"},[_c('li',[_c('Checkbox',{model:{value:(_vm.webPushNotifications),callback:function ($$v) {_vm.webPushNotifications=$$v},expression:\"webPushNotifications\"}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.enable_web_push_notifications'))+\"\\n \")])],1)])]),_vm._v(\" \"),_c('div',{staticClass:\"setting-item\"},[_c('h2',[_vm._v(_vm._s(_vm.$t('settings.fun')))]),_vm._v(\" \"),_c('ul',{staticClass:\"setting-list\"},[_c('li',[_c('Checkbox',{model:{value:(_vm.greentext),callback:function ($$v) {_vm.greentext=$$v},expression:\"greentext\"}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.greentext'))+\" \"+_vm._s(_vm.$t('settings.instance_default', { value: _vm.greentextLocalizedValue }))+\"\\n \")])],1)])])]),_vm._v(\" \"),_c('div',{attrs:{\"label\":_vm.$t('settings.theme')}},[_c('div',{staticClass:\"setting-item\"},[_c('style-switcher')],1)]),_vm._v(\" \"),_c('div',{attrs:{\"label\":_vm.$t('settings.filtering')}},[_c('div',{staticClass:\"setting-item\"},[_c('div',{staticClass:\"select-multiple\"},[_c('span',{staticClass:\"label\"},[_vm._v(_vm._s(_vm.$t('settings.notification_visibility')))]),_vm._v(\" \"),_c('ul',{staticClass:\"option-list\"},[_c('li',[_c('Checkbox',{model:{value:(_vm.notificationVisibility.likes),callback:function ($$v) {_vm.$set(_vm.notificationVisibility, \"likes\", $$v)},expression:\"notificationVisibility.likes\"}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.notification_visibility_likes'))+\"\\n \")])],1),_vm._v(\" \"),_c('li',[_c('Checkbox',{model:{value:(_vm.notificationVisibility.repeats),callback:function ($$v) {_vm.$set(_vm.notificationVisibility, \"repeats\", $$v)},expression:\"notificationVisibility.repeats\"}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.notification_visibility_repeats'))+\"\\n \")])],1),_vm._v(\" \"),_c('li',[_c('Checkbox',{model:{value:(_vm.notificationVisibility.follows),callback:function ($$v) {_vm.$set(_vm.notificationVisibility, \"follows\", $$v)},expression:\"notificationVisibility.follows\"}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.notification_visibility_follows'))+\"\\n \")])],1),_vm._v(\" \"),_c('li',[_c('Checkbox',{model:{value:(_vm.notificationVisibility.mentions),callback:function ($$v) {_vm.$set(_vm.notificationVisibility, \"mentions\", $$v)},expression:\"notificationVisibility.mentions\"}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.notification_visibility_mentions'))+\"\\n \")])],1)])]),_vm._v(\" \"),_c('div',[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.replies_in_timeline'))+\"\\n \"),_c('label',{staticClass:\"select\",attrs:{\"for\":\"replyVisibility\"}},[_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.replyVisibility),expression:\"replyVisibility\"}],attrs:{\"id\":\"replyVisibility\"},on:{\"change\":function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.replyVisibility=$event.target.multiple ? $$selectedVal : $$selectedVal[0]}}},[_c('option',{attrs:{\"value\":\"all\",\"selected\":\"\"}},[_vm._v(_vm._s(_vm.$t('settings.reply_visibility_all')))]),_vm._v(\" \"),_c('option',{attrs:{\"value\":\"following\"}},[_vm._v(_vm._s(_vm.$t('settings.reply_visibility_following')))]),_vm._v(\" \"),_c('option',{attrs:{\"value\":\"self\"}},[_vm._v(_vm._s(_vm.$t('settings.reply_visibility_self')))])]),_vm._v(\" \"),_c('i',{staticClass:\"icon-down-open\"})])]),_vm._v(\" \"),_c('div',[_c('Checkbox',{model:{value:(_vm.hidePostStats),callback:function ($$v) {_vm.hidePostStats=$$v},expression:\"hidePostStats\"}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.hide_post_stats'))+\" \"+_vm._s(_vm.$t('settings.instance_default', { value: _vm.hidePostStatsLocalizedValue }))+\"\\n \")])],1),_vm._v(\" \"),_c('div',[_c('Checkbox',{model:{value:(_vm.hideUserStats),callback:function ($$v) {_vm.hideUserStats=$$v},expression:\"hideUserStats\"}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.hide_user_stats'))+\" \"+_vm._s(_vm.$t('settings.instance_default', { value: _vm.hideUserStatsLocalizedValue }))+\"\\n \")])],1)]),_vm._v(\" \"),_c('div',{staticClass:\"setting-item\"},[_c('div',[_c('p',[_vm._v(_vm._s(_vm.$t('settings.filtering_explanation')))]),_vm._v(\" \"),_c('textarea',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.muteWordsString),expression:\"muteWordsString\"}],attrs:{\"id\":\"muteWords\"},domProps:{\"value\":(_vm.muteWordsString)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.muteWordsString=$event.target.value}}})]),_vm._v(\" \"),_c('div',[_c('Checkbox',{model:{value:(_vm.hideFilteredStatuses),callback:function ($$v) {_vm.hideFilteredStatuses=$$v},expression:\"hideFilteredStatuses\"}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.hide_filtered_statuses'))+\" \"+_vm._s(_vm.$t('settings.instance_default', { value: _vm.hideFilteredStatusesLocalizedValue }))+\"\\n \")])],1)])]),_vm._v(\" \"),_c('div',{attrs:{\"label\":_vm.$t('settings.version.title')}},[_c('div',{staticClass:\"setting-item\"},[_c('ul',{staticClass:\"setting-list\"},[_c('li',[_c('p',[_vm._v(_vm._s(_vm.$t('settings.version.backend_version')))]),_vm._v(\" \"),_c('ul',{staticClass:\"option-list\"},[_c('li',[_c('a',{attrs:{\"href\":_vm.backendVersionLink,\"target\":\"_blank\"}},[_vm._v(_vm._s(_vm.backendVersion))])])])]),_vm._v(\" \"),_c('li',[_c('p',[_vm._v(_vm._s(_vm.$t('settings.version.frontend_version')))]),_vm._v(\" \"),_c('ul',{staticClass:\"option-list\"},[_c('li',[_c('a',{attrs:{\"href\":_vm.frontendVersionLink,\"target\":\"_blank\"}},[_vm._v(_vm._s(_vm.frontendVersion))])])])])])])])])],1)],1)])}\nvar staticRenderFns = []\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"settings panel panel-default\"},[_c('div',{staticClass:\"panel-heading\"},[_vm._v(\"\\n \"+_vm._s(_vm.$t('registration.registration'))+\"\\n \")]),_vm._v(\" \"),_c('div',{staticClass:\"panel-body\"},[_c('form',{staticClass:\"registration-form\",on:{\"submit\":function($event){$event.preventDefault();_vm.submit(_vm.user)}}},[_c('div',{staticClass:\"container\"},[_c('div',{staticClass:\"text-fields\"},[_c('div',{staticClass:\"form-group\",class:{ 'form-group--error': _vm.$v.user.username.$error }},[_c('label',{staticClass:\"form--label\",attrs:{\"for\":\"sign-up-username\"}},[_vm._v(_vm._s(_vm.$t('login.username')))]),_vm._v(\" \"),_c('input',{directives:[{name:\"model\",rawName:\"v-model.trim\",value:(_vm.$v.user.username.$model),expression:\"$v.user.username.$model\",modifiers:{\"trim\":true}}],staticClass:\"form-control\",attrs:{\"id\":\"sign-up-username\",\"disabled\":_vm.isPending,\"placeholder\":_vm.$t('registration.username_placeholder')},domProps:{\"value\":(_vm.$v.user.username.$model)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.$v.user.username, \"$model\", $event.target.value.trim())},\"blur\":function($event){_vm.$forceUpdate()}}})]),_vm._v(\" \"),(_vm.$v.user.username.$dirty)?_c('div',{staticClass:\"form-error\"},[_c('ul',[(!_vm.$v.user.username.required)?_c('li',[_c('span',[_vm._v(_vm._s(_vm.$t('registration.validations.username_required')))])]):_vm._e()])]):_vm._e(),_vm._v(\" \"),_c('div',{staticClass:\"form-group\",class:{ 'form-group--error': _vm.$v.user.fullname.$error }},[_c('label',{staticClass:\"form--label\",attrs:{\"for\":\"sign-up-fullname\"}},[_vm._v(_vm._s(_vm.$t('registration.fullname')))]),_vm._v(\" \"),_c('input',{directives:[{name:\"model\",rawName:\"v-model.trim\",value:(_vm.$v.user.fullname.$model),expression:\"$v.user.fullname.$model\",modifiers:{\"trim\":true}}],staticClass:\"form-control\",attrs:{\"id\":\"sign-up-fullname\",\"disabled\":_vm.isPending,\"placeholder\":_vm.$t('registration.fullname_placeholder')},domProps:{\"value\":(_vm.$v.user.fullname.$model)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.$v.user.fullname, \"$model\", $event.target.value.trim())},\"blur\":function($event){_vm.$forceUpdate()}}})]),_vm._v(\" \"),(_vm.$v.user.fullname.$dirty)?_c('div',{staticClass:\"form-error\"},[_c('ul',[(!_vm.$v.user.fullname.required)?_c('li',[_c('span',[_vm._v(_vm._s(_vm.$t('registration.validations.fullname_required')))])]):_vm._e()])]):_vm._e(),_vm._v(\" \"),_c('div',{staticClass:\"form-group\",class:{ 'form-group--error': _vm.$v.user.email.$error }},[_c('label',{staticClass:\"form--label\",attrs:{\"for\":\"email\"}},[_vm._v(_vm._s(_vm.$t('registration.email')))]),_vm._v(\" \"),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.$v.user.email.$model),expression:\"$v.user.email.$model\"}],staticClass:\"form-control\",attrs:{\"id\":\"email\",\"disabled\":_vm.isPending,\"type\":\"email\"},domProps:{\"value\":(_vm.$v.user.email.$model)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.$v.user.email, \"$model\", $event.target.value)}}})]),_vm._v(\" \"),(_vm.$v.user.email.$dirty)?_c('div',{staticClass:\"form-error\"},[_c('ul',[(!_vm.$v.user.email.required)?_c('li',[_c('span',[_vm._v(_vm._s(_vm.$t('registration.validations.email_required')))])]):_vm._e()])]):_vm._e(),_vm._v(\" \"),_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"form--label\",attrs:{\"for\":\"bio\"}},[_vm._v(_vm._s(_vm.$t('registration.bio'))+\" (\"+_vm._s(_vm.$t('general.optional'))+\")\")]),_vm._v(\" \"),_c('textarea',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.user.bio),expression:\"user.bio\"}],staticClass:\"form-control\",attrs:{\"id\":\"bio\",\"disabled\":_vm.isPending,\"placeholder\":_vm.bioPlaceholder},domProps:{\"value\":(_vm.user.bio)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.user, \"bio\", $event.target.value)}}})]),_vm._v(\" \"),_c('div',{staticClass:\"form-group\",class:{ 'form-group--error': _vm.$v.user.password.$error }},[_c('label',{staticClass:\"form--label\",attrs:{\"for\":\"sign-up-password\"}},[_vm._v(_vm._s(_vm.$t('login.password')))]),_vm._v(\" \"),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.user.password),expression:\"user.password\"}],staticClass:\"form-control\",attrs:{\"id\":\"sign-up-password\",\"disabled\":_vm.isPending,\"type\":\"password\"},domProps:{\"value\":(_vm.user.password)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.user, \"password\", $event.target.value)}}})]),_vm._v(\" \"),(_vm.$v.user.password.$dirty)?_c('div',{staticClass:\"form-error\"},[_c('ul',[(!_vm.$v.user.password.required)?_c('li',[_c('span',[_vm._v(_vm._s(_vm.$t('registration.validations.password_required')))])]):_vm._e()])]):_vm._e(),_vm._v(\" \"),_c('div',{staticClass:\"form-group\",class:{ 'form-group--error': _vm.$v.user.confirm.$error }},[_c('label',{staticClass:\"form--label\",attrs:{\"for\":\"sign-up-password-confirmation\"}},[_vm._v(_vm._s(_vm.$t('registration.password_confirm')))]),_vm._v(\" \"),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.user.confirm),expression:\"user.confirm\"}],staticClass:\"form-control\",attrs:{\"id\":\"sign-up-password-confirmation\",\"disabled\":_vm.isPending,\"type\":\"password\"},domProps:{\"value\":(_vm.user.confirm)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.user, \"confirm\", $event.target.value)}}})]),_vm._v(\" \"),(_vm.$v.user.confirm.$dirty)?_c('div',{staticClass:\"form-error\"},[_c('ul',[(!_vm.$v.user.confirm.required)?_c('li',[_c('span',[_vm._v(_vm._s(_vm.$t('registration.validations.password_confirmation_required')))])]):_vm._e(),_vm._v(\" \"),(!_vm.$v.user.confirm.sameAsPassword)?_c('li',[_c('span',[_vm._v(_vm._s(_vm.$t('registration.validations.password_confirmation_match')))])]):_vm._e()])]):_vm._e(),_vm._v(\" \"),(_vm.captcha.type != 'none')?_c('div',{staticClass:\"form-group\",attrs:{\"id\":\"captcha-group\"}},[_c('label',{staticClass:\"form--label\",attrs:{\"for\":\"captcha-label\"}},[_vm._v(_vm._s(_vm.$t('captcha')))]),_vm._v(\" \"),(_vm.captcha.type == 'kocaptcha')?[_c('img',{attrs:{\"src\":_vm.captcha.url},on:{\"click\":_vm.setCaptcha}}),_vm._v(\" \"),_c('sub',[_vm._v(_vm._s(_vm.$t('registration.new_captcha')))]),_vm._v(\" \"),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.captcha.solution),expression:\"captcha.solution\"}],staticClass:\"form-control\",attrs:{\"id\":\"captcha-answer\",\"disabled\":_vm.isPending,\"type\":\"text\",\"autocomplete\":\"off\"},domProps:{\"value\":(_vm.captcha.solution)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.captcha, \"solution\", $event.target.value)}}})]:_vm._e()],2):_vm._e(),_vm._v(\" \"),(_vm.token)?_c('div',{staticClass:\"form-group\"},[_c('label',{attrs:{\"for\":\"token\"}},[_vm._v(_vm._s(_vm.$t('registration.token')))]),_vm._v(\" \"),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.token),expression:\"token\"}],staticClass:\"form-control\",attrs:{\"id\":\"token\",\"disabled\":\"true\",\"type\":\"text\"},domProps:{\"value\":(_vm.token)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.token=$event.target.value}}})]):_vm._e(),_vm._v(\" \"),_c('div',{staticClass:\"form-group\"},[_c('button',{staticClass:\"btn btn-default\",attrs:{\"disabled\":_vm.isPending,\"type\":\"submit\"}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('general.submit'))+\"\\n \")])])]),_vm._v(\" \"),_c('div',{staticClass:\"terms-of-service\",domProps:{\"innerHTML\":_vm._s(_vm.termsOfService)}})]),_vm._v(\" \"),(_vm.serverValidationErrors.length)?_c('div',{staticClass:\"form-group\"},[_c('div',{staticClass:\"alert error\"},_vm._l((_vm.serverValidationErrors),function(error){return _c('span',{key:error},[_vm._v(_vm._s(error))])}),0)]):_vm._e()])])])}\nvar staticRenderFns = []\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"settings panel panel-default\"},[_c('div',{staticClass:\"panel-heading\"},[_vm._v(\"\\n \"+_vm._s(_vm.$t('password_reset.password_reset'))+\"\\n \")]),_vm._v(\" \"),_c('div',{staticClass:\"panel-body\"},[_c('form',{staticClass:\"password-reset-form\",on:{\"submit\":function($event){$event.preventDefault();return _vm.submit($event)}}},[_c('div',{staticClass:\"container\"},[(!_vm.mailerEnabled)?_c('div',[(_vm.passwordResetRequested)?_c('p',[_vm._v(\"\\n \"+_vm._s(_vm.$t('password_reset.password_reset_required_but_mailer_is_disabled'))+\"\\n \")]):_c('p',[_vm._v(\"\\n \"+_vm._s(_vm.$t('password_reset.password_reset_disabled'))+\"\\n \")])]):(_vm.success || _vm.throttled)?_c('div',[(_vm.success)?_c('p',[_vm._v(\"\\n \"+_vm._s(_vm.$t('password_reset.check_email'))+\"\\n \")]):_vm._e(),_vm._v(\" \"),_c('div',{staticClass:\"form-group text-center\"},[_c('router-link',{attrs:{\"to\":{name: 'root'}}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('password_reset.return_home'))+\"\\n \")])],1)]):_c('div',[(_vm.passwordResetRequested)?_c('p',{staticClass:\"password-reset-required error\"},[_vm._v(\"\\n \"+_vm._s(_vm.$t('password_reset.password_reset_required'))+\"\\n \")]):_vm._e(),_vm._v(\" \"),_c('p',[_vm._v(\"\\n \"+_vm._s(_vm.$t('password_reset.instruction'))+\"\\n \")]),_vm._v(\" \"),_c('div',{staticClass:\"form-group\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.user.email),expression:\"user.email\"}],ref:\"email\",staticClass:\"form-control\",attrs:{\"disabled\":_vm.isPending,\"placeholder\":_vm.$t('password_reset.placeholder'),\"type\":\"input\"},domProps:{\"value\":(_vm.user.email)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.user, \"email\", $event.target.value)}}})]),_vm._v(\" \"),_c('div',{staticClass:\"form-group\"},[_c('button',{staticClass:\"btn btn-default btn-block\",attrs:{\"disabled\":_vm.isPending,\"type\":\"submit\"}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('general.submit'))+\"\\n \")])])]),_vm._v(\" \"),(_vm.error)?_c('p',{staticClass:\"alert error notice-dismissible\"},[_c('span',[_vm._v(_vm._s(_vm.error))]),_vm._v(\" \"),_c('a',{staticClass:\"button-icon dismiss\",on:{\"click\":function($event){$event.preventDefault();_vm.dismissError()}}},[_c('i',{staticClass:\"icon-cancel\"})])]):_vm._e()])])])])}\nvar staticRenderFns = []\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"image-cropper\"},[(_vm.dataUrl)?_c('div',[_c('div',{staticClass:\"image-cropper-image-container\"},[_c('img',{ref:\"img\",attrs:{\"src\":_vm.dataUrl,\"alt\":\"\"},on:{\"load\":function($event){$event.stopPropagation();return _vm.createCropper($event)}}})]),_vm._v(\" \"),_c('div',{staticClass:\"image-cropper-buttons-wrapper\"},[_c('button',{staticClass:\"btn\",attrs:{\"type\":\"button\",\"disabled\":_vm.submitting},domProps:{\"textContent\":_vm._s(_vm.saveText)},on:{\"click\":function($event){_vm.submit()}}}),_vm._v(\" \"),_c('button',{staticClass:\"btn\",attrs:{\"type\":\"button\",\"disabled\":_vm.submitting},domProps:{\"textContent\":_vm._s(_vm.cancelText)},on:{\"click\":_vm.destroy}}),_vm._v(\" \"),_c('button',{staticClass:\"btn\",attrs:{\"type\":\"button\",\"disabled\":_vm.submitting},domProps:{\"textContent\":_vm._s(_vm.saveWithoutCroppingText)},on:{\"click\":function($event){_vm.submit(false)}}}),_vm._v(\" \"),(_vm.submitting)?_c('i',{staticClass:\"icon-spin4 animate-spin\"}):_vm._e()]),_vm._v(\" \"),(_vm.submitError)?_c('div',{staticClass:\"alert error\"},[_vm._v(\"\\n \"+_vm._s(_vm.submitErrorMsg)+\"\\n \"),_c('i',{staticClass:\"button-icon icon-cancel\",on:{\"click\":_vm.clearError}})]):_vm._e()]):_vm._e(),_vm._v(\" \"),_c('input',{ref:\"input\",staticClass:\"image-cropper-img-input\",attrs:{\"type\":\"file\",\"accept\":_vm.mimes}})])}\nvar staticRenderFns = []\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('basic-user-card',{attrs:{\"user\":_vm.user}},[_c('div',{staticClass:\"block-card-content-container\"},[(_vm.blocked)?_c('button',{staticClass:\"btn btn-default\",attrs:{\"disabled\":_vm.progress},on:{\"click\":_vm.unblockUser}},[(_vm.progress)?[_vm._v(\"\\n \"+_vm._s(_vm.$t('user_card.unblock_progress'))+\"\\n \")]:[_vm._v(\"\\n \"+_vm._s(_vm.$t('user_card.unblock'))+\"\\n \")]],2):_c('button',{staticClass:\"btn btn-default\",attrs:{\"disabled\":_vm.progress},on:{\"click\":_vm.blockUser}},[(_vm.progress)?[_vm._v(\"\\n \"+_vm._s(_vm.$t('user_card.block_progress'))+\"\\n \")]:[_vm._v(\"\\n \"+_vm._s(_vm.$t('user_card.block'))+\"\\n \")]],2)])])}\nvar staticRenderFns = []\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('basic-user-card',{attrs:{\"user\":_vm.user}},[_c('div',{staticClass:\"mute-card-content-container\"},[(_vm.muted)?_c('button',{staticClass:\"btn btn-default\",attrs:{\"disabled\":_vm.progress},on:{\"click\":_vm.unmuteUser}},[(_vm.progress)?[_vm._v(\"\\n \"+_vm._s(_vm.$t('user_card.unmute_progress'))+\"\\n \")]:[_vm._v(\"\\n \"+_vm._s(_vm.$t('user_card.unmute'))+\"\\n \")]],2):_c('button',{staticClass:\"btn btn-default\",attrs:{\"disabled\":_vm.progress},on:{\"click\":_vm.muteUser}},[(_vm.progress)?[_vm._v(\"\\n \"+_vm._s(_vm.$t('user_card.mute_progress'))+\"\\n \")]:[_vm._v(\"\\n \"+_vm._s(_vm.$t('user_card.mute'))+\"\\n \")]],2)])])}\nvar staticRenderFns = []\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"selectable-list\"},[(_vm.items.length > 0)?_c('div',{staticClass:\"selectable-list-header\"},[_c('div',{staticClass:\"selectable-list-checkbox-wrapper\"},[_c('Checkbox',{attrs:{\"checked\":_vm.allSelected,\"indeterminate\":_vm.someSelected},on:{\"change\":_vm.toggleAll}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('selectable_list.select_all'))+\"\\n \")])],1),_vm._v(\" \"),_c('div',{staticClass:\"selectable-list-header-actions\"},[_vm._t(\"header\",null,{selected:_vm.filteredSelected})],2)]):_vm._e(),_vm._v(\" \"),_c('List',{attrs:{\"items\":_vm.items,\"get-key\":_vm.getKey},scopedSlots:_vm._u([{key:\"item\",fn:function(ref){\nvar item = ref.item;\nreturn [_c('div',{staticClass:\"selectable-list-item-inner\",class:{ 'selectable-list-item-selected-inner': _vm.isSelected(item) }},[_c('div',{staticClass:\"selectable-list-checkbox-wrapper\"},[_c('Checkbox',{attrs:{\"checked\":_vm.isSelected(item)},on:{\"change\":function (checked) { return _vm.toggle(checked, item); }}})],1),_vm._v(\" \"),_vm._t(\"item\",null,{item:item})],2)]}}])},[_c('template',{slot:\"empty\"},[_vm._t(\"empty\")],2)],2)],1)}\nvar staticRenderFns = []\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{directives:[{name:\"click-outside\",rawName:\"v-click-outside\",value:(_vm.onClickOutside),expression:\"onClickOutside\"}],staticClass:\"autosuggest\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.term),expression:\"term\"}],staticClass:\"autosuggest-input\",attrs:{\"placeholder\":_vm.placeholder},domProps:{\"value\":(_vm.term)},on:{\"click\":_vm.onInputClick,\"input\":function($event){if($event.target.composing){ return; }_vm.term=$event.target.value}}}),_vm._v(\" \"),(_vm.resultsVisible && _vm.filtered.length > 0)?_c('div',{staticClass:\"autosuggest-results\"},[_vm._l((_vm.filtered),function(item){return _vm._t(\"default\",null,{item:item})})],2):_vm._e()])}\nvar staticRenderFns = []\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"importer\"},[_c('form',[_c('input',{ref:\"input\",attrs:{\"type\":\"file\"},on:{\"change\":_vm.change}})]),_vm._v(\" \"),(_vm.submitting)?_c('i',{staticClass:\"icon-spin4 animate-spin importer-uploading\"}):_c('button',{staticClass:\"btn btn-default\",on:{\"click\":_vm.submit}},[_vm._v(\"\\n \"+_vm._s(_vm.submitButtonLabel)+\"\\n \")]),_vm._v(\" \"),(_vm.success)?_c('div',[_c('i',{staticClass:\"icon-cross\",on:{\"click\":_vm.dismiss}}),_vm._v(\" \"),_c('p',[_vm._v(_vm._s(_vm.successMessage))])]):(_vm.error)?_c('div',[_c('i',{staticClass:\"icon-cross\",on:{\"click\":_vm.dismiss}}),_vm._v(\" \"),_c('p',[_vm._v(_vm._s(_vm.errorMessage))])]):_vm._e()])}\nvar staticRenderFns = []\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"exporter\"},[(_vm.processing)?_c('div',[_c('i',{staticClass:\"icon-spin4 animate-spin exporter-processing\"}),_vm._v(\" \"),_c('span',[_vm._v(_vm._s(_vm.processingMessage))])]):_c('button',{staticClass:\"btn btn-default\",on:{\"click\":_vm.process}},[_vm._v(\"\\n \"+_vm._s(_vm.exportButtonLabel)+\"\\n \")])])}\nvar staticRenderFns = []\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[(_vm.displayTitle)?_c('h4',[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.mfa.recovery_codes'))+\"\\n \")]):_vm._e(),_vm._v(\" \"),(_vm.inProgress)?_c('i',[_vm._v(_vm._s(_vm.$t('settings.mfa.waiting_a_recovery_codes')))]):_vm._e(),_vm._v(\" \"),(_vm.ready)?[_c('p',{staticClass:\"alert warning\"},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.mfa.recovery_codes_warning'))+\"\\n \")]),_vm._v(\" \"),_c('ul',{staticClass:\"backup-codes\"},_vm._l((_vm.backupCodes.codes),function(code){return _c('li',{key:code},[_vm._v(\"\\n \"+_vm._s(code)+\"\\n \")])}),0)]:_vm._e()],2)}\nvar staticRenderFns = []\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_vm._t(\"default\"),_vm._v(\" \"),_c('button',{staticClass:\"btn btn-default\",attrs:{\"disabled\":_vm.disabled},on:{\"click\":_vm.confirm}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('general.confirm'))+\"\\n \")]),_vm._v(\" \"),_c('button',{staticClass:\"btn btn-default\",attrs:{\"disabled\":_vm.disabled},on:{\"click\":_vm.cancel}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('general.cancel'))+\"\\n \")])],2)}\nvar staticRenderFns = []\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('div',{staticClass:\"method-item\"},[_c('strong',[_vm._v(_vm._s(_vm.$t('settings.mfa.otp')))]),_vm._v(\" \"),(!_vm.isActivated)?_c('button',{staticClass:\"btn btn-default\",on:{\"click\":_vm.doActivate}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('general.enable'))+\"\\n \")]):_vm._e(),_vm._v(\" \"),(_vm.isActivated)?_c('button',{staticClass:\"btn btn-default\",attrs:{\"disabled\":_vm.deactivate},on:{\"click\":_vm.doDeactivate}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('general.disable'))+\"\\n \")]):_vm._e()]),_vm._v(\" \"),(_vm.deactivate)?_c('confirm',{attrs:{\"disabled\":_vm.inProgress},on:{\"confirm\":_vm.confirmDeactivate,\"cancel\":_vm.cancelDeactivate}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.enter_current_password_to_confirm'))+\":\\n \"),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.currentPassword),expression:\"currentPassword\"}],attrs:{\"type\":\"password\"},domProps:{\"value\":(_vm.currentPassword)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.currentPassword=$event.target.value}}})]):_vm._e(),_vm._v(\" \"),(_vm.error)?_c('div',{staticClass:\"alert error\"},[_vm._v(\"\\n \"+_vm._s(_vm.error)+\"\\n \")]):_vm._e()],1)}\nvar staticRenderFns = []\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.readyInit && _vm.settings.available)?_c('div',{staticClass:\"setting-item mfa-settings\"},[_c('div',{staticClass:\"mfa-heading\"},[_c('h2',[_vm._v(_vm._s(_vm.$t('settings.mfa.title')))])]),_vm._v(\" \"),_c('div',[(!_vm.setupInProgress)?_c('div',{staticClass:\"setting-item\"},[_c('h3',[_vm._v(_vm._s(_vm.$t('settings.mfa.authentication_methods')))]),_vm._v(\" \"),_c('totp-item',{attrs:{\"settings\":_vm.settings},on:{\"deactivate\":_vm.fetchSettings,\"activate\":_vm.activateOTP}}),_vm._v(\" \"),_c('br'),_vm._v(\" \"),(_vm.settings.enabled)?_c('div',[(!_vm.confirmNewBackupCodes)?_c('recovery-codes',{attrs:{\"backup-codes\":_vm.backupCodes}}):_vm._e(),_vm._v(\" \"),(!_vm.confirmNewBackupCodes)?_c('button',{staticClass:\"btn btn-default\",on:{\"click\":_vm.getBackupCodes}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.mfa.generate_new_recovery_codes'))+\"\\n \")]):_vm._e(),_vm._v(\" \"),(_vm.confirmNewBackupCodes)?_c('div',[_c('confirm',{attrs:{\"disabled\":_vm.backupCodes.inProgress},on:{\"confirm\":_vm.confirmBackupCodes,\"cancel\":_vm.cancelBackupCodes}},[_c('p',{staticClass:\"warning\"},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.mfa.warning_of_generate_new_codes'))+\"\\n \")])])],1):_vm._e()],1):_vm._e()],1):_vm._e(),_vm._v(\" \"),(_vm.setupInProgress)?_c('div',[_c('h3',[_vm._v(_vm._s(_vm.$t('settings.mfa.setup_otp')))]),_vm._v(\" \"),(!_vm.setupOTPInProgress)?_c('recovery-codes',{attrs:{\"backup-codes\":_vm.backupCodes}}):_vm._e(),_vm._v(\" \"),(_vm.canSetupOTP)?_c('button',{staticClass:\"btn btn-default\",on:{\"click\":_vm.cancelSetup}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('general.cancel'))+\"\\n \")]):_vm._e(),_vm._v(\" \"),(_vm.canSetupOTP)?_c('button',{staticClass:\"btn btn-default\",on:{\"click\":_vm.setupOTP}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.mfa.setup_otp'))+\"\\n \")]):_vm._e(),_vm._v(\" \"),(_vm.setupOTPInProgress)?[(_vm.prepareOTP)?_c('i',[_vm._v(_vm._s(_vm.$t('settings.mfa.wait_pre_setup_otp')))]):_vm._e(),_vm._v(\" \"),(_vm.confirmOTP)?_c('div',[_c('div',{staticClass:\"setup-otp\"},[_c('div',{staticClass:\"qr-code\"},[_c('h4',[_vm._v(_vm._s(_vm.$t('settings.mfa.scan.title')))]),_vm._v(\" \"),_c('p',[_vm._v(_vm._s(_vm.$t('settings.mfa.scan.desc')))]),_vm._v(\" \"),_c('qrcode',{attrs:{\"value\":_vm.otpSettings.provisioning_uri,\"options\":{ width: 200 }}}),_vm._v(\" \"),_c('p',[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.mfa.scan.secret_code'))+\":\\n \"+_vm._s(_vm.otpSettings.key)+\"\\n \")])],1),_vm._v(\" \"),_c('div',{staticClass:\"verify\"},[_c('h4',[_vm._v(_vm._s(_vm.$t('general.verify')))]),_vm._v(\" \"),_c('p',[_vm._v(_vm._s(_vm.$t('settings.mfa.verify.desc')))]),_vm._v(\" \"),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.otpConfirmToken),expression:\"otpConfirmToken\"}],attrs:{\"type\":\"text\"},domProps:{\"value\":(_vm.otpConfirmToken)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.otpConfirmToken=$event.target.value}}}),_vm._v(\" \"),_c('p',[_vm._v(_vm._s(_vm.$t('settings.enter_current_password_to_confirm'))+\":\")]),_vm._v(\" \"),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.currentPassword),expression:\"currentPassword\"}],attrs:{\"type\":\"password\"},domProps:{\"value\":(_vm.currentPassword)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.currentPassword=$event.target.value}}}),_vm._v(\" \"),_c('div',{staticClass:\"confirm-otp-actions\"},[_c('button',{staticClass:\"btn btn-default\",on:{\"click\":_vm.doConfirmOTP}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.mfa.confirm_and_enable'))+\"\\n \")]),_vm._v(\" \"),_c('button',{staticClass:\"btn btn-default\",on:{\"click\":_vm.cancelSetup}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('general.cancel'))+\"\\n \")])]),_vm._v(\" \"),(_vm.error)?_c('div',{staticClass:\"alert error\"},[_vm._v(\"\\n \"+_vm._s(_vm.error)+\"\\n \")]):_vm._e()])])]):_vm._e()]:_vm._e()],2):_vm._e()])]):_vm._e()}\nvar staticRenderFns = []\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"settings panel panel-default\"},[_c('div',{staticClass:\"panel-heading\"},[_c('div',{staticClass:\"title\"},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.user_settings'))+\"\\n \")]),_vm._v(\" \"),_c('transition',{attrs:{\"name\":\"fade\"}},[(_vm.currentSaveStateNotice)?[(_vm.currentSaveStateNotice.error)?_c('div',{staticClass:\"alert error\",on:{\"click\":function($event){$event.preventDefault();}}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.saving_err'))+\"\\n \")]):_vm._e(),_vm._v(\" \"),(!_vm.currentSaveStateNotice.error)?_c('div',{staticClass:\"alert transparent\",on:{\"click\":function($event){$event.preventDefault();}}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.saving_ok'))+\"\\n \")]):_vm._e()]:_vm._e()],2)],1),_vm._v(\" \"),_c('div',{staticClass:\"panel-body profile-edit\"},[_c('tab-switcher',[_c('div',{attrs:{\"label\":_vm.$t('settings.profile_tab')}},[_c('div',{staticClass:\"setting-item\"},[_c('h2',[_vm._v(_vm._s(_vm.$t('settings.name_bio')))]),_vm._v(\" \"),_c('p',[_vm._v(_vm._s(_vm.$t('settings.name')))]),_vm._v(\" \"),_c('EmojiInput',{attrs:{\"enable-emoji-picker\":\"\",\"suggest\":_vm.emojiSuggestor},model:{value:(_vm.newName),callback:function ($$v) {_vm.newName=$$v},expression:\"newName\"}},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.newName),expression:\"newName\"}],attrs:{\"id\":\"username\",\"classname\":\"name-changer\"},domProps:{\"value\":(_vm.newName)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.newName=$event.target.value}}})]),_vm._v(\" \"),_c('p',[_vm._v(_vm._s(_vm.$t('settings.bio')))]),_vm._v(\" \"),_c('EmojiInput',{attrs:{\"enable-emoji-picker\":\"\",\"suggest\":_vm.emojiUserSuggestor},model:{value:(_vm.newBio),callback:function ($$v) {_vm.newBio=$$v},expression:\"newBio\"}},[_c('textarea',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.newBio),expression:\"newBio\"}],attrs:{\"classname\":\"bio\"},domProps:{\"value\":(_vm.newBio)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.newBio=$event.target.value}}})]),_vm._v(\" \"),_c('p',[_c('Checkbox',{model:{value:(_vm.newLocked),callback:function ($$v) {_vm.newLocked=$$v},expression:\"newLocked\"}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.lock_account_description'))+\"\\n \")])],1),_vm._v(\" \"),_c('div',[_c('label',{attrs:{\"for\":\"default-vis\"}},[_vm._v(_vm._s(_vm.$t('settings.default_vis')))]),_vm._v(\" \"),_c('div',{staticClass:\"visibility-tray\",attrs:{\"id\":\"default-vis\"}},[_c('scope-selector',{attrs:{\"show-all\":true,\"user-default\":_vm.newDefaultScope,\"initial-scope\":_vm.newDefaultScope,\"on-scope-change\":_vm.changeVis}})],1)]),_vm._v(\" \"),_c('p',[_c('Checkbox',{model:{value:(_vm.newNoRichText),callback:function ($$v) {_vm.newNoRichText=$$v},expression:\"newNoRichText\"}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.no_rich_text_description'))+\"\\n \")])],1),_vm._v(\" \"),_c('p',[_c('Checkbox',{model:{value:(_vm.hideFollows),callback:function ($$v) {_vm.hideFollows=$$v},expression:\"hideFollows\"}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.hide_follows_description'))+\"\\n \")])],1),_vm._v(\" \"),_c('p',{staticClass:\"setting-subitem\"},[_c('Checkbox',{attrs:{\"disabled\":!_vm.hideFollows},model:{value:(_vm.hideFollowsCount),callback:function ($$v) {_vm.hideFollowsCount=$$v},expression:\"hideFollowsCount\"}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.hide_follows_count_description'))+\"\\n \")])],1),_vm._v(\" \"),_c('p',[_c('Checkbox',{model:{value:(_vm.hideFollowers),callback:function ($$v) {_vm.hideFollowers=$$v},expression:\"hideFollowers\"}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.hide_followers_description'))+\"\\n \")])],1),_vm._v(\" \"),_c('p',{staticClass:\"setting-subitem\"},[_c('Checkbox',{attrs:{\"disabled\":!_vm.hideFollowers},model:{value:(_vm.hideFollowersCount),callback:function ($$v) {_vm.hideFollowersCount=$$v},expression:\"hideFollowersCount\"}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.hide_followers_count_description'))+\"\\n \")])],1),_vm._v(\" \"),(_vm.role === 'admin' || _vm.role === 'moderator')?_c('p',[_c('Checkbox',{model:{value:(_vm.showRole),callback:function ($$v) {_vm.showRole=$$v},expression:\"showRole\"}},[(_vm.role === 'admin')?[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.show_admin_badge'))+\"\\n \")]:_vm._e(),_vm._v(\" \"),(_vm.role === 'moderator')?[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.show_moderator_badge'))+\"\\n \")]:_vm._e()],2)],1):_vm._e(),_vm._v(\" \"),_c('p',[_c('Checkbox',{model:{value:(_vm.discoverable),callback:function ($$v) {_vm.discoverable=$$v},expression:\"discoverable\"}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.discoverable'))+\"\\n \")])],1),_vm._v(\" \"),_c('button',{staticClass:\"btn btn-default\",attrs:{\"disabled\":_vm.newName && _vm.newName.length === 0},on:{\"click\":_vm.updateProfile}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('general.submit'))+\"\\n \")])],1),_vm._v(\" \"),_c('div',{staticClass:\"setting-item\"},[_c('h2',[_vm._v(_vm._s(_vm.$t('settings.avatar')))]),_vm._v(\" \"),_c('p',{staticClass:\"visibility-notice\"},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.avatar_size_instruction'))+\"\\n \")]),_vm._v(\" \"),_c('p',[_vm._v(_vm._s(_vm.$t('settings.current_avatar')))]),_vm._v(\" \"),_c('img',{staticClass:\"current-avatar\",attrs:{\"src\":_vm.user.profile_image_url_original}}),_vm._v(\" \"),_c('p',[_vm._v(_vm._s(_vm.$t('settings.set_new_avatar')))]),_vm._v(\" \"),_c('button',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.pickAvatarBtnVisible),expression:\"pickAvatarBtnVisible\"}],staticClass:\"btn\",attrs:{\"id\":\"pick-avatar\",\"type\":\"button\"}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.upload_a_photo'))+\"\\n \")]),_vm._v(\" \"),_c('image-cropper',{attrs:{\"trigger\":\"#pick-avatar\",\"submit-handler\":_vm.submitAvatar},on:{\"open\":function($event){_vm.pickAvatarBtnVisible=false},\"close\":function($event){_vm.pickAvatarBtnVisible=true}}})],1),_vm._v(\" \"),_c('div',{staticClass:\"setting-item\"},[_c('h2',[_vm._v(_vm._s(_vm.$t('settings.profile_banner')))]),_vm._v(\" \"),_c('p',[_vm._v(_vm._s(_vm.$t('settings.current_profile_banner')))]),_vm._v(\" \"),_c('img',{staticClass:\"banner\",attrs:{\"src\":_vm.user.cover_photo}}),_vm._v(\" \"),_c('p',[_vm._v(_vm._s(_vm.$t('settings.set_new_profile_banner')))]),_vm._v(\" \"),(_vm.bannerPreview)?_c('img',{staticClass:\"banner\",attrs:{\"src\":_vm.bannerPreview}}):_vm._e(),_vm._v(\" \"),_c('div',[_c('input',{attrs:{\"type\":\"file\"},on:{\"change\":function($event){_vm.uploadFile('banner', $event)}}})]),_vm._v(\" \"),(_vm.bannerUploading)?_c('i',{staticClass:\" icon-spin4 animate-spin uploading\"}):(_vm.bannerPreview)?_c('button',{staticClass:\"btn btn-default\",on:{\"click\":_vm.submitBanner}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('general.submit'))+\"\\n \")]):_vm._e(),_vm._v(\" \"),(_vm.bannerUploadError)?_c('div',{staticClass:\"alert error\"},[_vm._v(\"\\n Error: \"+_vm._s(_vm.bannerUploadError)+\"\\n \"),_c('i',{staticClass:\"button-icon icon-cancel\",on:{\"click\":function($event){_vm.clearUploadError('banner')}}})]):_vm._e()]),_vm._v(\" \"),_c('div',{staticClass:\"setting-item\"},[_c('h2',[_vm._v(_vm._s(_vm.$t('settings.profile_background')))]),_vm._v(\" \"),_c('p',[_vm._v(_vm._s(_vm.$t('settings.set_new_profile_background')))]),_vm._v(\" \"),(_vm.backgroundPreview)?_c('img',{staticClass:\"bg\",attrs:{\"src\":_vm.backgroundPreview}}):_vm._e(),_vm._v(\" \"),_c('div',[_c('input',{attrs:{\"type\":\"file\"},on:{\"change\":function($event){_vm.uploadFile('background', $event)}}})]),_vm._v(\" \"),(_vm.backgroundUploading)?_c('i',{staticClass:\" icon-spin4 animate-spin uploading\"}):(_vm.backgroundPreview)?_c('button',{staticClass:\"btn btn-default\",on:{\"click\":_vm.submitBg}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('general.submit'))+\"\\n \")]):_vm._e(),_vm._v(\" \"),(_vm.backgroundUploadError)?_c('div',{staticClass:\"alert error\"},[_vm._v(\"\\n Error: \"+_vm._s(_vm.backgroundUploadError)+\"\\n \"),_c('i',{staticClass:\"button-icon icon-cancel\",on:{\"click\":function($event){_vm.clearUploadError('background')}}})]):_vm._e()]),_vm._v(\" \"),_c('div',{staticClass:\"setting-item\"},[_c('h2',[_vm._v(_vm._s(_vm.$t('settings.mascot')))]),_vm._v(\" \"),_c('p',[_vm._v(_vm._s(_vm.$t('settings.current_mascot')))]),_vm._v(\" \"),_c('img',{staticClass:\"current-mascot\",attrs:{\"src\":_vm.user.mascot}}),_vm._v(\" \"),_c('p',[_vm._v(_vm._s(_vm.$t('settings.set_new_mascot')))]),_vm._v(\" \"),(_vm.mascotPreview)?_c('img',{staticClass:\"mascot\",attrs:{\"src\":_vm.mascotPreview}}):_vm._e(),_vm._v(\" \"),_c('div',[_c('input',{attrs:{\"type\":\"file\"},on:{\"change\":function($event){_vm.uploadFile('mascot', $event)}}})]),_vm._v(\" \"),(_vm.mascotUploading)?_c('i',{staticClass:\" icon-spin4 animate-spin uploading\"}):(_vm.mascotPreview)?_c('button',{staticClass:\"btn btn-default\",on:{\"click\":_vm.submitMascot}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('general.submit'))+\"\\n \")]):_vm._e(),_vm._v(\" \"),(_vm.mascotUploadError)?_c('div',{staticClass:\"alert error\"},[_vm._v(\"\\n Error: \"+_vm._s(_vm.mascotUploadError)+\"\\n \"),_c('i',{staticClass:\"button-icon icon-cancel\",on:{\"click\":function($event){_vm.clearUploadError('mascot')}}})]):_vm._e()])]),_vm._v(\" \"),_c('div',{attrs:{\"label\":_vm.$t('settings.security_tab')}},[_c('div',{staticClass:\"setting-item\"},[_c('h2',[_vm._v(_vm._s(_vm.$t('settings.change_email')))]),_vm._v(\" \"),_c('div',[_c('p',[_vm._v(_vm._s(_vm.$t('settings.new_email')))]),_vm._v(\" \"),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.newEmail),expression:\"newEmail\"}],attrs:{\"type\":\"email\",\"autocomplete\":\"email\"},domProps:{\"value\":(_vm.newEmail)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.newEmail=$event.target.value}}})]),_vm._v(\" \"),_c('div',[_c('p',[_vm._v(_vm._s(_vm.$t('settings.current_password')))]),_vm._v(\" \"),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.changeEmailPassword),expression:\"changeEmailPassword\"}],attrs:{\"type\":\"password\",\"autocomplete\":\"current-password\"},domProps:{\"value\":(_vm.changeEmailPassword)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.changeEmailPassword=$event.target.value}}})]),_vm._v(\" \"),_c('button',{staticClass:\"btn btn-default\",on:{\"click\":_vm.changeEmail}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('general.submit'))+\"\\n \")]),_vm._v(\" \"),(_vm.changedEmail)?_c('p',[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.changed_email'))+\"\\n \")]):_vm._e(),_vm._v(\" \"),(_vm.changeEmailError !== false)?[_c('p',[_vm._v(_vm._s(_vm.$t('settings.change_email_error')))]),_vm._v(\" \"),_c('p',[_vm._v(_vm._s(_vm.changeEmailError))])]:_vm._e()],2),_vm._v(\" \"),_c('div',{staticClass:\"setting-item\"},[_c('h2',[_vm._v(_vm._s(_vm.$t('settings.change_password')))]),_vm._v(\" \"),_c('div',[_c('p',[_vm._v(_vm._s(_vm.$t('settings.current_password')))]),_vm._v(\" \"),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.changePasswordInputs[0]),expression:\"changePasswordInputs[0]\"}],attrs:{\"type\":\"password\"},domProps:{\"value\":(_vm.changePasswordInputs[0])},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.changePasswordInputs, 0, $event.target.value)}}})]),_vm._v(\" \"),_c('div',[_c('p',[_vm._v(_vm._s(_vm.$t('settings.new_password')))]),_vm._v(\" \"),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.changePasswordInputs[1]),expression:\"changePasswordInputs[1]\"}],attrs:{\"type\":\"password\"},domProps:{\"value\":(_vm.changePasswordInputs[1])},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.changePasswordInputs, 1, $event.target.value)}}})]),_vm._v(\" \"),_c('div',[_c('p',[_vm._v(_vm._s(_vm.$t('settings.confirm_new_password')))]),_vm._v(\" \"),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.changePasswordInputs[2]),expression:\"changePasswordInputs[2]\"}],attrs:{\"type\":\"password\"},domProps:{\"value\":(_vm.changePasswordInputs[2])},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.changePasswordInputs, 2, $event.target.value)}}})]),_vm._v(\" \"),_c('button',{staticClass:\"btn btn-default\",on:{\"click\":_vm.changePassword}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('general.submit'))+\"\\n \")]),_vm._v(\" \"),(_vm.changedPassword)?_c('p',[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.changed_password'))+\"\\n \")]):(_vm.changePasswordError !== false)?_c('p',[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.change_password_error'))+\"\\n \")]):_vm._e(),_vm._v(\" \"),(_vm.changePasswordError)?_c('p',[_vm._v(\"\\n \"+_vm._s(_vm.changePasswordError)+\"\\n \")]):_vm._e()]),_vm._v(\" \"),_c('div',{staticClass:\"setting-item\"},[_c('h2',[_vm._v(_vm._s(_vm.$t('settings.oauth_tokens')))]),_vm._v(\" \"),_c('table',{staticClass:\"oauth-tokens\"},[_c('thead',[_c('tr',[_c('th',[_vm._v(_vm._s(_vm.$t('settings.app_name')))]),_vm._v(\" \"),_c('th',[_vm._v(_vm._s(_vm.$t('settings.valid_until')))]),_vm._v(\" \"),_c('th')])]),_vm._v(\" \"),_c('tbody',_vm._l((_vm.oauthTokens),function(oauthToken){return _c('tr',{key:oauthToken.id},[_c('td',[_vm._v(_vm._s(oauthToken.appName))]),_vm._v(\" \"),_c('td',[_vm._v(_vm._s(oauthToken.validUntil))]),_vm._v(\" \"),_c('td',{staticClass:\"actions\"},[_c('button',{staticClass:\"btn btn-default\",on:{\"click\":function($event){_vm.revokeToken(oauthToken.id)}}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.revoke_token'))+\"\\n \")])])])}),0)])]),_vm._v(\" \"),_c('mfa'),_vm._v(\" \"),_c('div',{staticClass:\"setting-item\"},[_c('h2',[_vm._v(_vm._s(_vm.$t('settings.delete_account')))]),_vm._v(\" \"),(!_vm.deletingAccount)?_c('p',[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.delete_account_description'))+\"\\n \")]):_vm._e(),_vm._v(\" \"),(_vm.deletingAccount)?_c('div',[_c('p',[_vm._v(_vm._s(_vm.$t('settings.delete_account_instructions')))]),_vm._v(\" \"),_c('p',[_vm._v(_vm._s(_vm.$t('login.password')))]),_vm._v(\" \"),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.deleteAccountConfirmPasswordInput),expression:\"deleteAccountConfirmPasswordInput\"}],attrs:{\"type\":\"password\"},domProps:{\"value\":(_vm.deleteAccountConfirmPasswordInput)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.deleteAccountConfirmPasswordInput=$event.target.value}}}),_vm._v(\" \"),_c('button',{staticClass:\"btn btn-default\",on:{\"click\":_vm.deleteAccount}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.delete_account'))+\"\\n \")])]):_vm._e(),_vm._v(\" \"),(_vm.deleteAccountError !== false)?_c('p',[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.delete_account_error'))+\"\\n \")]):_vm._e(),_vm._v(\" \"),(_vm.deleteAccountError)?_c('p',[_vm._v(\"\\n \"+_vm._s(_vm.deleteAccountError)+\"\\n \")]):_vm._e(),_vm._v(\" \"),(!_vm.deletingAccount)?_c('button',{staticClass:\"btn btn-default\",on:{\"click\":_vm.confirmDelete}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('general.submit'))+\"\\n \")]):_vm._e()])],1),_vm._v(\" \"),(_vm.pleromaBackend)?_c('div',{attrs:{\"label\":_vm.$t('settings.notifications')}},[_c('div',{staticClass:\"setting-item\"},[_c('div',{staticClass:\"select-multiple\"},[_c('span',{staticClass:\"label\"},[_vm._v(_vm._s(_vm.$t('settings.notification_setting')))]),_vm._v(\" \"),_c('ul',{staticClass:\"option-list\"},[_c('li',[_c('Checkbox',{model:{value:(_vm.notificationSettings.follows),callback:function ($$v) {_vm.$set(_vm.notificationSettings, \"follows\", $$v)},expression:\"notificationSettings.follows\"}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.notification_setting_follows'))+\"\\n \")])],1),_vm._v(\" \"),_c('li',[_c('Checkbox',{model:{value:(_vm.notificationSettings.followers),callback:function ($$v) {_vm.$set(_vm.notificationSettings, \"followers\", $$v)},expression:\"notificationSettings.followers\"}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.notification_setting_followers'))+\"\\n \")])],1),_vm._v(\" \"),_c('li',[_c('Checkbox',{model:{value:(_vm.notificationSettings.non_follows),callback:function ($$v) {_vm.$set(_vm.notificationSettings, \"non_follows\", $$v)},expression:\"notificationSettings.non_follows\"}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.notification_setting_non_follows'))+\"\\n \")])],1),_vm._v(\" \"),_c('li',[_c('Checkbox',{model:{value:(_vm.notificationSettings.non_followers),callback:function ($$v) {_vm.$set(_vm.notificationSettings, \"non_followers\", $$v)},expression:\"notificationSettings.non_followers\"}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.notification_setting_non_followers'))+\"\\n \")])],1)])]),_vm._v(\" \"),_c('p',[_vm._v(_vm._s(_vm.$t('settings.notification_mutes')))]),_vm._v(\" \"),_c('p',[_vm._v(_vm._s(_vm.$t('settings.notification_blocks')))]),_vm._v(\" \"),_c('button',{staticClass:\"btn btn-default\",on:{\"click\":_vm.updateNotificationSettings}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('general.submit'))+\"\\n \")])])]):_vm._e(),_vm._v(\" \"),(_vm.pleromaBackend)?_c('div',{attrs:{\"label\":_vm.$t('settings.data_import_export_tab')}},[_c('div',{staticClass:\"setting-item\"},[_c('h2',[_vm._v(_vm._s(_vm.$t('settings.follow_import')))]),_vm._v(\" \"),_c('p',[_vm._v(_vm._s(_vm.$t('settings.import_followers_from_a_csv_file')))]),_vm._v(\" \"),_c('Importer',{attrs:{\"submit-handler\":_vm.importFollows,\"success-message\":_vm.$t('settings.follows_imported'),\"error-message\":_vm.$t('settings.follow_import_error')}})],1),_vm._v(\" \"),_c('div',{staticClass:\"setting-item\"},[_c('h2',[_vm._v(_vm._s(_vm.$t('settings.follow_export')))]),_vm._v(\" \"),_c('Exporter',{attrs:{\"get-content\":_vm.getFollowsContent,\"filename\":\"friends.csv\",\"export-button-label\":_vm.$t('settings.follow_export_button')}})],1),_vm._v(\" \"),_c('div',{staticClass:\"setting-item\"},[_c('h2',[_vm._v(_vm._s(_vm.$t('settings.block_import')))]),_vm._v(\" \"),_c('p',[_vm._v(_vm._s(_vm.$t('settings.import_blocks_from_a_csv_file')))]),_vm._v(\" \"),_c('Importer',{attrs:{\"submit-handler\":_vm.importBlocks,\"success-message\":_vm.$t('settings.blocks_imported'),\"error-message\":_vm.$t('settings.block_import_error')}})],1),_vm._v(\" \"),_c('div',{staticClass:\"setting-item\"},[_c('h2',[_vm._v(_vm._s(_vm.$t('settings.block_export')))]),_vm._v(\" \"),_c('Exporter',{attrs:{\"get-content\":_vm.getBlocksContent,\"filename\":\"blocks.csv\",\"export-button-label\":_vm.$t('settings.block_export_button')}})],1)]):_vm._e(),_vm._v(\" \"),_c('div',{attrs:{\"label\":_vm.$t('settings.blocks_tab')}},[_c('div',{staticClass:\"profile-edit-usersearch-wrapper\"},[_c('Autosuggest',{attrs:{\"filter\":_vm.filterUnblockedUsers,\"query\":_vm.queryUserIds,\"placeholder\":_vm.$t('settings.search_user_to_block')},scopedSlots:_vm._u([{key:\"default\",fn:function(row){return _c('BlockCard',{attrs:{\"user-id\":row.item}})}}])})],1),_vm._v(\" \"),_c('BlockList',{attrs:{\"refresh\":true,\"get-key\":_vm.identity},scopedSlots:_vm._u([{key:\"header\",fn:function(ref){\nvar selected = ref.selected;\nreturn [_c('div',{staticClass:\"profile-edit-bulk-actions\"},[(selected.length > 0)?_c('ProgressButton',{staticClass:\"btn btn-default\",attrs:{\"click\":function () { return _vm.blockUsers(selected); }}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('user_card.block'))+\"\\n \"),_c('template',{slot:\"progress\"},[_vm._v(\"\\n \"+_vm._s(_vm.$t('user_card.block_progress'))+\"\\n \")])],2):_vm._e(),_vm._v(\" \"),(selected.length > 0)?_c('ProgressButton',{staticClass:\"btn btn-default\",attrs:{\"click\":function () { return _vm.unblockUsers(selected); }}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('user_card.unblock'))+\"\\n \"),_c('template',{slot:\"progress\"},[_vm._v(\"\\n \"+_vm._s(_vm.$t('user_card.unblock_progress'))+\"\\n \")])],2):_vm._e()],1)]}},{key:\"item\",fn:function(ref){\nvar item = ref.item;\nreturn [_c('BlockCard',{attrs:{\"user-id\":item}})]}}])},[_c('template',{slot:\"empty\"},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.no_blocks'))+\"\\n \")])],2)],1),_vm._v(\" \"),_c('div',{attrs:{\"label\":_vm.$t('settings.mutes_tab')}},[_c('div',{staticClass:\"profile-edit-usersearch-wrapper\"},[_c('Autosuggest',{attrs:{\"filter\":_vm.filterUnMutedUsers,\"query\":_vm.queryUserIds,\"placeholder\":_vm.$t('settings.search_user_to_mute')},scopedSlots:_vm._u([{key:\"default\",fn:function(row){return _c('MuteCard',{attrs:{\"user-id\":row.item}})}}])})],1),_vm._v(\" \"),_c('MuteList',{attrs:{\"refresh\":true,\"get-key\":_vm.identity},scopedSlots:_vm._u([{key:\"header\",fn:function(ref){\nvar selected = ref.selected;\nreturn [_c('div',{staticClass:\"profile-edit-bulk-actions\"},[(selected.length > 0)?_c('ProgressButton',{staticClass:\"btn btn-default\",attrs:{\"click\":function () { return _vm.muteUsers(selected); }}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('user_card.mute'))+\"\\n \"),_c('template',{slot:\"progress\"},[_vm._v(\"\\n \"+_vm._s(_vm.$t('user_card.mute_progress'))+\"\\n \")])],2):_vm._e(),_vm._v(\" \"),(selected.length > 0)?_c('ProgressButton',{staticClass:\"btn btn-default\",attrs:{\"click\":function () { return _vm.unmuteUsers(selected); }}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('user_card.unmute'))+\"\\n \"),_c('template',{slot:\"progress\"},[_vm._v(\"\\n \"+_vm._s(_vm.$t('user_card.unmute_progress'))+\"\\n \")])],2):_vm._e()],1)]}},{key:\"item\",fn:function(ref){\nvar item = ref.item;\nreturn [_c('MuteCard',{attrs:{\"user-id\":item}})]}}])},[_c('template',{slot:\"empty\"},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.no_mutes'))+\"\\n \")])],2)],1)])],1)])}\nvar staticRenderFns = []\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('basic-user-card',{attrs:{\"user\":_vm.user}},[_c('div',{staticClass:\"follow-request-card-content-container\"},[_c('button',{staticClass:\"btn btn-default\",on:{\"click\":_vm.approveUser}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('user_card.approve'))+\"\\n \")]),_vm._v(\" \"),_c('button',{staticClass:\"btn btn-default\",on:{\"click\":_vm.denyUser}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('user_card.deny'))+\"\\n \")])])])}\nvar staticRenderFns = []\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"settings panel panel-default\"},[_c('div',{staticClass:\"panel-heading\"},[_vm._v(\"\\n \"+_vm._s(_vm.$t('nav.friend_requests'))+\"\\n \")]),_vm._v(\" \"),_c('div',{staticClass:\"panel-body\"},_vm._l((_vm.requests),function(request){return _c('FollowRequestCard',{key:request.id,staticClass:\"list-item\",attrs:{\"user\":request}})}),1)])}\nvar staticRenderFns = []\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('h1',[_vm._v(\"...\")])}\nvar staticRenderFns = []\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"login panel panel-default\"},[_c('div',{staticClass:\"panel-heading\"},[_vm._v(\"\\n \"+_vm._s(_vm.$t('login.login'))+\"\\n \")]),_vm._v(\" \"),_c('div',{staticClass:\"panel-body\"},[_c('form',{staticClass:\"login-form\",on:{\"submit\":function($event){$event.preventDefault();return _vm.submit($event)}}},[(_vm.isPasswordAuth)?[_c('div',{staticClass:\"form-group\"},[_c('label',{attrs:{\"for\":\"username\"}},[_vm._v(_vm._s(_vm.$t('login.username')))]),_vm._v(\" \"),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.user.username),expression:\"user.username\"}],staticClass:\"form-control\",attrs:{\"id\":\"username\",\"disabled\":_vm.loggingIn,\"placeholder\":_vm.$t('login.placeholder')},domProps:{\"value\":(_vm.user.username)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.user, \"username\", $event.target.value)}}})]),_vm._v(\" \"),_c('div',{staticClass:\"form-group\"},[_c('label',{attrs:{\"for\":\"password\"}},[_vm._v(_vm._s(_vm.$t('login.password')))]),_vm._v(\" \"),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.user.password),expression:\"user.password\"}],ref:\"passwordInput\",staticClass:\"form-control\",attrs:{\"id\":\"password\",\"disabled\":_vm.loggingIn,\"type\":\"password\"},domProps:{\"value\":(_vm.user.password)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.user, \"password\", $event.target.value)}}})]),_vm._v(\" \"),_c('div',{staticClass:\"form-group\"},[_c('router-link',{attrs:{\"to\":{name: 'password-reset'}}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('password_reset.forgot_password'))+\"\\n \")])],1)]:_vm._e(),_vm._v(\" \"),(_vm.isTokenAuth)?_c('div',{staticClass:\"form-group\"},[_c('p',[_vm._v(_vm._s(_vm.$t('login.description')))])]):_vm._e(),_vm._v(\" \"),_c('div',{staticClass:\"form-group\"},[_c('div',{staticClass:\"login-bottom\"},[_c('div',[(_vm.registrationOpen)?_c('router-link',{staticClass:\"register\",attrs:{\"to\":{name: 'registration'}}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('login.register'))+\"\\n \")]):_vm._e()],1),_vm._v(\" \"),_c('button',{staticClass:\"btn btn-default\",attrs:{\"disabled\":_vm.loggingIn,\"type\":\"submit\"}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('login.login'))+\"\\n \")])])])],2)]),_vm._v(\" \"),(_vm.error)?_c('div',{staticClass:\"form-group\"},[_c('div',{staticClass:\"alert error\"},[_vm._v(\"\\n \"+_vm._s(_vm.error)+\"\\n \"),_c('i',{staticClass:\"button-icon icon-cancel\",on:{\"click\":_vm.clearError}})])]):_vm._e()])}\nvar staticRenderFns = []\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"login panel panel-default\"},[_c('div',{staticClass:\"panel-heading\"},[_vm._v(\"\\n \"+_vm._s(_vm.$t('login.heading.recovery'))+\"\\n \")]),_vm._v(\" \"),_c('div',{staticClass:\"panel-body\"},[_c('form',{staticClass:\"login-form\",on:{\"submit\":function($event){$event.preventDefault();return _vm.submit($event)}}},[_c('div',{staticClass:\"form-group\"},[_c('label',{attrs:{\"for\":\"code\"}},[_vm._v(_vm._s(_vm.$t('login.recovery_code')))]),_vm._v(\" \"),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.code),expression:\"code\"}],staticClass:\"form-control\",attrs:{\"id\":\"code\"},domProps:{\"value\":(_vm.code)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.code=$event.target.value}}})]),_vm._v(\" \"),_c('div',{staticClass:\"form-group\"},[_c('div',{staticClass:\"login-bottom\"},[_c('div',[_c('a',{attrs:{\"href\":\"#\"},on:{\"click\":function($event){$event.preventDefault();return _vm.requireTOTP($event)}}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('login.enter_two_factor_code'))+\"\\n \")]),_vm._v(\" \"),_c('br'),_vm._v(\" \"),_c('a',{attrs:{\"href\":\"#\"},on:{\"click\":function($event){$event.preventDefault();return _vm.abortMFA($event)}}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('general.cancel'))+\"\\n \")])]),_vm._v(\" \"),_c('button',{staticClass:\"btn btn-default\",attrs:{\"type\":\"submit\"}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('general.verify'))+\"\\n \")])])])])]),_vm._v(\" \"),(_vm.error)?_c('div',{staticClass:\"form-group\"},[_c('div',{staticClass:\"alert error\"},[_vm._v(\"\\n \"+_vm._s(_vm.error)+\"\\n \"),_c('i',{staticClass:\"button-icon icon-cancel\",on:{\"click\":_vm.clearError}})])]):_vm._e()])}\nvar staticRenderFns = []\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"login panel panel-default\"},[_c('div',{staticClass:\"panel-heading\"},[_vm._v(\"\\n \"+_vm._s(_vm.$t('login.heading.totp'))+\"\\n \")]),_vm._v(\" \"),_c('div',{staticClass:\"panel-body\"},[_c('form',{staticClass:\"login-form\",on:{\"submit\":function($event){$event.preventDefault();return _vm.submit($event)}}},[_c('div',{staticClass:\"form-group\"},[_c('label',{attrs:{\"for\":\"code\"}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('login.authentication_code'))+\"\\n \")]),_vm._v(\" \"),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.code),expression:\"code\"}],staticClass:\"form-control\",attrs:{\"id\":\"code\"},domProps:{\"value\":(_vm.code)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.code=$event.target.value}}})]),_vm._v(\" \"),_c('div',{staticClass:\"form-group\"},[_c('div',{staticClass:\"login-bottom\"},[_c('div',[_c('a',{attrs:{\"href\":\"#\"},on:{\"click\":function($event){$event.preventDefault();return _vm.requireRecovery($event)}}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('login.enter_recovery_code'))+\"\\n \")]),_vm._v(\" \"),_c('br'),_vm._v(\" \"),_c('a',{attrs:{\"href\":\"#\"},on:{\"click\":function($event){$event.preventDefault();return _vm.abortMFA($event)}}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('general.cancel'))+\"\\n \")])]),_vm._v(\" \"),_c('button',{staticClass:\"btn btn-default\",attrs:{\"type\":\"submit\"}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('general.verify'))+\"\\n \")])])])])]),_vm._v(\" \"),(_vm.error)?_c('div',{staticClass:\"form-group\"},[_c('div',{staticClass:\"alert error\"},[_vm._v(\"\\n \"+_vm._s(_vm.error)+\"\\n \"),_c('i',{staticClass:\"button-icon icon-cancel\",on:{\"click\":_vm.clearError}})])]):_vm._e()])}\nvar staticRenderFns = []\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (!_vm.collapsed || !_vm.floating)?_c('div',{staticClass:\"chat-panel\"},[_c('div',{staticClass:\"panel panel-default\"},[_c('div',{staticClass:\"panel-heading timeline-heading\",class:{ 'chat-heading': _vm.floating },on:{\"click\":function($event){$event.stopPropagation();$event.preventDefault();return _vm.togglePanel($event)}}},[_c('div',{staticClass:\"title\"},[_c('span',[_vm._v(_vm._s(_vm.$t('chat.title')))]),_vm._v(\" \"),(_vm.floating)?_c('i',{staticClass:\"icon-cancel\"}):_vm._e()])]),_vm._v(\" \"),_c('div',{directives:[{name:\"chat-scroll\",rawName:\"v-chat-scroll\"}],staticClass:\"chat-window\"},_vm._l((_vm.messages),function(message){return _c('div',{key:message.id,staticClass:\"chat-message\"},[_c('span',{staticClass:\"chat-avatar\"},[_c('img',{attrs:{\"src\":message.author.avatar}})]),_vm._v(\" \"),_c('div',{staticClass:\"chat-content\"},[_c('router-link',{staticClass:\"chat-name\",attrs:{\"to\":_vm.userProfileLink(message.author)}},[_vm._v(\"\\n \"+_vm._s(message.author.username)+\"\\n \")]),_vm._v(\" \"),_c('br'),_vm._v(\" \"),_c('span',{staticClass:\"chat-text\"},[_vm._v(\"\\n \"+_vm._s(message.text)+\"\\n \")])],1)])}),0),_vm._v(\" \"),_c('div',{staticClass:\"chat-input\"},[_c('textarea',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.currentMessage),expression:\"currentMessage\"}],staticClass:\"chat-input-textarea\",attrs:{\"rows\":\"1\"},domProps:{\"value\":(_vm.currentMessage)},on:{\"keyup\":function($event){if(!('button' in $event)&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\")){ return null; }_vm.submit(_vm.currentMessage)},\"input\":function($event){if($event.target.composing){ return; }_vm.currentMessage=$event.target.value}}})])])]):_c('div',{staticClass:\"chat-panel\"},[_c('div',{staticClass:\"panel panel-default\"},[_c('div',{staticClass:\"panel-heading stub timeline-heading chat-heading\",on:{\"click\":function($event){$event.stopPropagation();$event.preventDefault();return _vm.togglePanel($event)}}},[_c('div',{staticClass:\"title\"},[_c('i',{staticClass:\"icon-comment-empty\"}),_vm._v(\"\\n \"+_vm._s(_vm.$t('chat.title'))+\"\\n \")])])])])}\nvar staticRenderFns = []\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"panel panel-default\"},[_c('div',{staticClass:\"panel-heading\"},[_vm._v(\"\\n \"+_vm._s(_vm.$t('who_to_follow.who_to_follow'))+\"\\n \")]),_vm._v(\" \"),_c('div',{staticClass:\"panel-body\"},_vm._l((_vm.users),function(user){return _c('FollowCard',{key:user.id,staticClass:\"list-item\",attrs:{\"user\":user}})}),1)])}\nvar staticRenderFns = []\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"instance-specific-panel\"},[_c('div',{staticClass:\"panel panel-default\"},[_c('div',{staticClass:\"panel-body\"},[_c('div',{domProps:{\"innerHTML\":_vm._s(_vm.instanceSpecificPanelContent)}})])])])}\nvar staticRenderFns = []\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"features-panel\"},[_c('div',{staticClass:\"panel panel-default base01-background\"},[_c('div',{staticClass:\"panel-heading timeline-heading base02-background base04\"},[_c('div',{staticClass:\"title\"},[_vm._v(\"\\n \"+_vm._s(_vm.$t('features_panel.title'))+\"\\n \")])]),_vm._v(\" \"),_c('div',{staticClass:\"panel-body features-panel\"},[_c('ul',[(_vm.chat)?_c('li',[_vm._v(\"\\n \"+_vm._s(_vm.$t('features_panel.chat'))+\"\\n \")]):_vm._e(),_vm._v(\" \"),(_vm.gopher)?_c('li',[_vm._v(\"\\n \"+_vm._s(_vm.$t('features_panel.gopher'))+\"\\n \")]):_vm._e(),_vm._v(\" \"),(_vm.whoToFollow)?_c('li',[_vm._v(\"\\n \"+_vm._s(_vm.$t('features_panel.who_to_follow'))+\"\\n \")]):_vm._e(),_vm._v(\" \"),(_vm.mediaProxy)?_c('li',[_vm._v(\"\\n \"+_vm._s(_vm.$t('features_panel.media_proxy'))+\"\\n \")]):_vm._e(),_vm._v(\" \"),_c('li',[_vm._v(_vm._s(_vm.$t('features_panel.scope_options')))]),_vm._v(\" \"),_c('li',[_vm._v(_vm._s(_vm.$t('features_panel.text_limit'))+\" = \"+_vm._s(_vm.textlimit))])])])])])}\nvar staticRenderFns = []\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('div',{staticClass:\"panel panel-default\"},[_c('div',{staticClass:\"panel-body\"},[_c('div',{staticClass:\"tos-content\",domProps:{\"innerHTML\":_vm._s(_vm.content)}})])])])}\nvar staticRenderFns = []\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"staff-panel\"},[_c('div',{staticClass:\"panel panel-default base01-background\"},[_c('div',{staticClass:\"panel-heading timeline-heading base02-background\"},[_c('div',{staticClass:\"title\"},[_vm._v(\"\\n \"+_vm._s(_vm.$t(\"about.staff\"))+\"\\n \")])]),_vm._v(\" \"),_c('div',{staticClass:\"panel-body\"},_vm._l((_vm.staffAccounts),function(user){return _c('basic-user-card',{key:user.screen_name,attrs:{\"user\":user}})}),1)])])}\nvar staticRenderFns = []\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.federationPolicy)?_c('div',{staticClass:\"mrf-transparency-panel\"},[_c('div',{staticClass:\"panel panel-default base01-background\"},[_c('div',{staticClass:\"panel-heading timeline-heading base02-background\"},[_c('div',{staticClass:\"title\"},[_vm._v(\"\\n \"+_vm._s(_vm.$t(\"about.federation\"))+\"\\n \")])]),_vm._v(\" \"),_c('div',{staticClass:\"panel-body\"},[_c('div',{staticClass:\"mrf-section\"},[_c('h2',[_vm._v(_vm._s(_vm.$t(\"about.mrf_policies\")))]),_vm._v(\" \"),_c('p',[_vm._v(_vm._s(_vm.$t(\"about.mrf_policies_desc\")))]),_vm._v(\" \"),_c('ul',_vm._l((_vm.mrfPolicies),function(policy){return _c('li',{key:policy,domProps:{\"textContent\":_vm._s(policy)}})}),0),_vm._v(\" \"),_c('h2',[_vm._v(_vm._s(_vm.$t(\"about.mrf_policy_simple\")))]),_vm._v(\" \"),(_vm.acceptInstances.length)?_c('div',[_c('h4',[_vm._v(_vm._s(_vm.$t(\"about.mrf_policy_simple_accept\")))]),_vm._v(\" \"),_c('p',[_vm._v(_vm._s(_vm.$t(\"about.mrf_policy_simple_accept_desc\")))]),_vm._v(\" \"),_c('ul',_vm._l((_vm.acceptInstances),function(instance){return _c('li',{key:instance,domProps:{\"textContent\":_vm._s(instance)}})}),0)]):_vm._e(),_vm._v(\" \"),(_vm.rejectInstances.length)?_c('div',[_c('h4',[_vm._v(_vm._s(_vm.$t(\"about.mrf_policy_simple_reject\")))]),_vm._v(\" \"),_c('p',[_vm._v(_vm._s(_vm.$t(\"about.mrf_policy_simple_reject_desc\")))]),_vm._v(\" \"),_c('ul',_vm._l((_vm.rejectInstances),function(instance){return _c('li',{key:instance,domProps:{\"textContent\":_vm._s(instance)}})}),0)]):_vm._e(),_vm._v(\" \"),(_vm.quarantineInstances.length)?_c('div',[_c('h4',[_vm._v(_vm._s(_vm.$t(\"about.mrf_policy_simple_quarantine\")))]),_vm._v(\" \"),_c('p',[_vm._v(_vm._s(_vm.$t(\"about.mrf_policy_simple_quarantine_desc\")))]),_vm._v(\" \"),_c('ul',_vm._l((_vm.quarantineInstances),function(instance){return _c('li',{key:instance,domProps:{\"textContent\":_vm._s(instance)}})}),0)]):_vm._e(),_vm._v(\" \"),(_vm.ftlRemovalInstances.length)?_c('div',[_c('h4',[_vm._v(_vm._s(_vm.$t(\"about.mrf_policy_simple_ftl_removal\")))]),_vm._v(\" \"),_c('p',[_vm._v(_vm._s(_vm.$t(\"about.mrf_policy_simple_ftl_removal_desc\")))]),_vm._v(\" \"),_c('ul',_vm._l((_vm.ftlRemovalInstances),function(instance){return _c('li',{key:instance,domProps:{\"textContent\":_vm._s(instance)}})}),0)]):_vm._e(),_vm._v(\" \"),(_vm.mediaNsfwInstances.length)?_c('div',[_c('h4',[_vm._v(_vm._s(_vm.$t(\"about.mrf_policy_simple_media_nsfw\")))]),_vm._v(\" \"),_c('p',[_vm._v(_vm._s(_vm.$t(\"about.mrf_policy_simple_media_nsfw_desc\")))]),_vm._v(\" \"),_c('ul',_vm._l((_vm.mediaNsfwInstances),function(instance){return _c('li',{key:instance,domProps:{\"textContent\":_vm._s(instance)}})}),0)]):_vm._e(),_vm._v(\" \"),(_vm.mediaRemovalInstances.length)?_c('div',[_c('h4',[_vm._v(_vm._s(_vm.$t(\"about.mrf_policy_simple_media_removal\")))]),_vm._v(\" \"),_c('p',[_vm._v(_vm._s(_vm.$t(\"about.mrf_policy_simple_media_removal_desc\")))]),_vm._v(\" \"),_c('ul',_vm._l((_vm.mediaRemovalInstances),function(instance){return _c('li',{key:instance,domProps:{\"textContent\":_vm._s(instance)}})}),0)]):_vm._e()])])])]):_vm._e()}\nvar staticRenderFns = []\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"sidebar\"},[(_vm.showInstanceSpecificPanel)?_c('instance-specific-panel'):_vm._e(),_vm._v(\" \"),_c('staff-panel'),_vm._v(\" \"),_c('terms-of-service-panel'),_vm._v(\" \"),_c('MRFTransparencyPanel'),_vm._v(\" \"),(_vm.showFeaturesPanel)?_c('features-panel'):_vm._e()],1)}\nvar staticRenderFns = []\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"panel panel-default\"},[_c('div',{staticClass:\"panel-heading\"},[_vm._v(\"\\n \"+_vm._s(_vm.$t('remote_user_resolver.remote_user_resolver'))+\"\\n \")]),_vm._v(\" \"),_c('div',{staticClass:\"panel-body\"},[_c('p',[_vm._v(\"\\n \"+_vm._s(_vm.$t('remote_user_resolver.searching_for'))+\" @\"+_vm._s(_vm.$route.params.username)+\"@\"+_vm._s(_vm.$route.params.hostname)+\"\\n \")]),_vm._v(\" \"),(_vm.error)?_c('p',[_vm._v(\"\\n \"+_vm._s(_vm.$t('remote_user_resolver.error'))+\"\\n \")]):_vm._e()])])}\nvar staticRenderFns = []\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"user-panel\"},[(_vm.signedIn)?_c('div',{key:\"user-panel\",staticClass:\"panel panel-default signed-in\"},[_c('UserCard',{attrs:{\"user\":_vm.user,\"hide-bio\":true,\"rounded\":\"top\"}}),_vm._v(\" \"),_c('div',{staticClass:\"panel-footer\"},[_c('PostStatusForm')],1)],1):_c('auth-form',{key:\"user-panel\"})],1)}\nvar staticRenderFns = []\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"nav-panel\"},[_c('div',{staticClass:\"panel panel-default\"},[_c('ul',[(_vm.currentUser)?_c('li',[_c('router-link',{attrs:{\"to\":{ name: 'friends' }}},[_vm._v(\"\\n \"+_vm._s(_vm.$t(\"nav.timeline\"))+\"\\n \")])],1):_vm._e(),_vm._v(\" \"),(_vm.currentUser)?_c('li',[_c('router-link',{attrs:{\"to\":{ name: 'interactions', params: { username: _vm.currentUser.screen_name } }}},[_vm._v(\"\\n \"+_vm._s(_vm.$t(\"nav.interactions\"))+\"\\n \")])],1):_vm._e(),_vm._v(\" \"),(_vm.currentUser)?_c('li',[_c('router-link',{attrs:{\"to\":{ name: 'dms', params: { username: _vm.currentUser.screen_name } }}},[_vm._v(\"\\n \"+_vm._s(_vm.$t(\"nav.dms\"))+\"\\n \")])],1):_vm._e(),_vm._v(\" \"),(_vm.currentUser && _vm.currentUser.locked)?_c('li',[_c('router-link',{attrs:{\"to\":{ name: 'friend-requests' }}},[_vm._v(\"\\n \"+_vm._s(_vm.$t(\"nav.friend_requests\"))+\"\\n \"),(_vm.followRequestCount > 0)?_c('span',{staticClass:\"badge follow-request-count\"},[_vm._v(\"\\n \"+_vm._s(_vm.followRequestCount)+\"\\n \")]):_vm._e()])],1):_vm._e(),_vm._v(\" \"),_c('li',[_c('router-link',{attrs:{\"to\":{ name: 'public-timeline' }}},[_vm._v(\"\\n \"+_vm._s(_vm.$t(\"nav.public_tl\"))+\"\\n \")])],1),_vm._v(\" \"),_c('li',[_c('router-link',{attrs:{\"to\":{ name: 'public-external-timeline' }}},[_vm._v(\"\\n \"+_vm._s(_vm.$t(\"nav.twkn\"))+\"\\n \")])],1),_vm._v(\" \"),_c('li',[_c('router-link',{attrs:{\"to\":{ name: 'about' }}},[_vm._v(\"\\n \"+_vm._s(_vm.$t(\"nav.about\"))+\"\\n \")])],1)])])])}\nvar staticRenderFns = []\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('div',{staticClass:\"search-bar-container\"},[(_vm.loading)?_c('i',{staticClass:\"icon-spin4 finder-icon animate-spin-slow\"}):_vm._e(),_vm._v(\" \"),(_vm.hidden)?_c('a',{attrs:{\"href\":\"#\",\"title\":_vm.$t('nav.search')}},[_c('i',{staticClass:\"button-icon icon-search\",on:{\"click\":function($event){$event.preventDefault();$event.stopPropagation();return _vm.toggleHidden($event)}}})]):[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.searchTerm),expression:\"searchTerm\"}],ref:\"searchInput\",staticClass:\"search-bar-input\",attrs:{\"id\":\"search-bar-input\",\"placeholder\":_vm.$t('nav.search'),\"type\":\"text\"},domProps:{\"value\":(_vm.searchTerm)},on:{\"keyup\":function($event){if(!('button' in $event)&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\")){ return null; }_vm.find(_vm.searchTerm)},\"input\":function($event){if($event.target.composing){ return; }_vm.searchTerm=$event.target.value}}}),_vm._v(\" \"),_c('button',{staticClass:\"btn search-button\",on:{\"click\":function($event){_vm.find(_vm.searchTerm)}}},[_c('i',{staticClass:\"icon-search\"})]),_vm._v(\" \"),_c('i',{staticClass:\"button-icon icon-cancel\",on:{\"click\":function($event){$event.preventDefault();$event.stopPropagation();return _vm.toggleHidden($event)}}})]],2)])}\nvar staticRenderFns = []\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"who-to-follow-panel\"},[_c('div',{staticClass:\"panel panel-default base01-background\"},[_c('div',{staticClass:\"panel-heading timeline-heading base02-background base04\"},[_c('div',{staticClass:\"title\"},[_vm._v(\"\\n \"+_vm._s(_vm.$t('who_to_follow.who_to_follow'))+\"\\n \")])]),_vm._v(\" \"),_c('div',{staticClass:\"who-to-follow\"},[_vm._l((_vm.usersToFollow),function(user){return _c('p',{key:user.id,staticClass:\"who-to-follow-items\"},[_c('img',{attrs:{\"src\":user.img}}),_vm._v(\" \"),_c('router-link',{attrs:{\"to\":_vm.userProfileLink(user.id, user.name)}},[_vm._v(\"\\n \"+_vm._s(user.name)+\"\\n \")]),_c('br')],1)}),_vm._v(\" \"),_c('p',{staticClass:\"who-to-follow-more\"},[_c('router-link',{attrs:{\"to\":{ name: 'who-to-follow' }}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('who_to_follow.more'))+\"\\n \")])],1)],2)])])}\nvar staticRenderFns = []\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.isOpen),expression:\"isOpen\"},{name:\"body-scroll-lock\",rawName:\"v-body-scroll-lock\",value:(_vm.isOpen),expression:\"isOpen\"}],staticClass:\"modal-view\",on:{\"click\":function($event){if($event.target !== $event.currentTarget){ return null; }_vm.$emit('backdropClicked')}}},[_vm._t(\"default\")],2)}\nvar staticRenderFns = []\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.showing)?_c('Modal',{staticClass:\"media-modal-view\",on:{\"backdropClicked\":_vm.hide}},[(_vm.type === 'image')?_c('img',{staticClass:\"modal-image\",attrs:{\"src\":_vm.currentMedia.url},on:{\"touchstart\":function($event){$event.stopPropagation();return _vm.mediaTouchStart($event)},\"touchmove\":function($event){$event.stopPropagation();return _vm.mediaTouchMove($event)},\"click\":_vm.hide}}):_vm._e(),_vm._v(\" \"),(_vm.type === 'video')?_c('VideoAttachment',{staticClass:\"modal-image\",attrs:{\"attachment\":_vm.currentMedia,\"controls\":true}}):_vm._e(),_vm._v(\" \"),(_vm.canNavigate)?_c('button',{staticClass:\"modal-view-button-arrow modal-view-button-arrow--prev\",attrs:{\"title\":_vm.$t('media_modal.previous')},on:{\"click\":function($event){$event.stopPropagation();$event.preventDefault();return _vm.goPrev($event)}}},[_c('i',{staticClass:\"icon-left-open arrow-icon\"})]):_vm._e(),_vm._v(\" \"),(_vm.canNavigate)?_c('button',{staticClass:\"modal-view-button-arrow modal-view-button-arrow--next\",attrs:{\"title\":_vm.$t('media_modal.next')},on:{\"click\":function($event){$event.stopPropagation();$event.preventDefault();return _vm.goNext($event)}}},[_c('i',{staticClass:\"icon-right-open arrow-icon\"})]):_vm._e()],1):_vm._e()}\nvar staticRenderFns = []\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"side-drawer-container\",class:{ 'side-drawer-container-closed': _vm.closed, 'side-drawer-container-open': !_vm.closed }},[_c('div',{staticClass:\"side-drawer-darken\",class:{ 'side-drawer-darken-closed': _vm.closed}}),_vm._v(\" \"),_c('div',{staticClass:\"side-drawer\",class:{'side-drawer-closed': _vm.closed},on:{\"touchstart\":_vm.touchStart,\"touchmove\":_vm.touchMove}},[_c('div',{staticClass:\"side-drawer-heading\",on:{\"click\":_vm.toggleDrawer}},[(_vm.currentUser)?_c('UserCard',{attrs:{\"user\":_vm.currentUser,\"hide-bio\":true}}):_c('div',{staticClass:\"side-drawer-logo-wrapper\"},[_c('img',{attrs:{\"src\":_vm.logo}}),_vm._v(\" \"),_c('span',[_vm._v(_vm._s(_vm.sitename))])])],1),_vm._v(\" \"),_c('ul',[(!_vm.currentUser)?_c('li',{on:{\"click\":_vm.toggleDrawer}},[_c('router-link',{attrs:{\"to\":{ name: 'login' }}},[_vm._v(\"\\n \"+_vm._s(_vm.$t(\"login.login\"))+\"\\n \")])],1):_vm._e(),_vm._v(\" \"),(_vm.currentUser)?_c('li',{on:{\"click\":_vm.toggleDrawer}},[_c('router-link',{attrs:{\"to\":{ name: 'dms', params: { username: _vm.currentUser.screen_name } }}},[_vm._v(\"\\n \"+_vm._s(_vm.$t(\"nav.dms\"))+\"\\n \")])],1):_vm._e(),_vm._v(\" \"),(_vm.currentUser)?_c('li',{on:{\"click\":_vm.toggleDrawer}},[_c('router-link',{attrs:{\"to\":{ name: 'interactions', params: { username: _vm.currentUser.screen_name } }}},[_vm._v(\"\\n \"+_vm._s(_vm.$t(\"nav.interactions\"))+\"\\n \")])],1):_vm._e()]),_vm._v(\" \"),_c('ul',[(_vm.currentUser)?_c('li',{on:{\"click\":_vm.toggleDrawer}},[_c('router-link',{attrs:{\"to\":{ name: 'friends' }}},[_vm._v(\"\\n \"+_vm._s(_vm.$t(\"nav.timeline\"))+\"\\n \")])],1):_vm._e(),_vm._v(\" \"),(_vm.currentUser && _vm.currentUser.locked)?_c('li',{on:{\"click\":_vm.toggleDrawer}},[_c('router-link',{attrs:{\"to\":\"/friend-requests\"}},[_vm._v(\"\\n \"+_vm._s(_vm.$t(\"nav.friend_requests\"))+\"\\n \"),(_vm.followRequestCount > 0)?_c('span',{staticClass:\"badge follow-request-count\"},[_vm._v(\"\\n \"+_vm._s(_vm.followRequestCount)+\"\\n \")]):_vm._e()])],1):_vm._e(),_vm._v(\" \"),_c('li',{on:{\"click\":_vm.toggleDrawer}},[_c('router-link',{attrs:{\"to\":\"/main/public\"}},[_vm._v(\"\\n \"+_vm._s(_vm.$t(\"nav.public_tl\"))+\"\\n \")])],1),_vm._v(\" \"),_c('li',{on:{\"click\":_vm.toggleDrawer}},[_c('router-link',{attrs:{\"to\":\"/main/all\"}},[_vm._v(\"\\n \"+_vm._s(_vm.$t(\"nav.twkn\"))+\"\\n \")])],1),_vm._v(\" \"),(_vm.currentUser && _vm.chat)?_c('li',{on:{\"click\":_vm.toggleDrawer}},[_c('router-link',{attrs:{\"to\":{ name: 'chat' }}},[_vm._v(\"\\n \"+_vm._s(_vm.$t(\"nav.chat\"))+\"\\n \")])],1):_vm._e()]),_vm._v(\" \"),_c('ul',[_c('li',{on:{\"click\":_vm.toggleDrawer}},[_c('router-link',{attrs:{\"to\":{ name: 'search' }}},[_vm._v(\"\\n \"+_vm._s(_vm.$t(\"nav.search\"))+\"\\n \")])],1),_vm._v(\" \"),(_vm.currentUser && _vm.suggestionsEnabled)?_c('li',{on:{\"click\":_vm.toggleDrawer}},[_c('router-link',{attrs:{\"to\":{ name: 'who-to-follow' }}},[_vm._v(\"\\n \"+_vm._s(_vm.$t(\"nav.who_to_follow\"))+\"\\n \")])],1):_vm._e(),_vm._v(\" \"),_c('li',{on:{\"click\":_vm.toggleDrawer}},[_c('router-link',{attrs:{\"to\":{ name: 'settings' }}},[_vm._v(\"\\n \"+_vm._s(_vm.$t(\"settings.settings\"))+\"\\n \")])],1),_vm._v(\" \"),_c('li',{on:{\"click\":_vm.toggleDrawer}},[_c('router-link',{attrs:{\"to\":{ name: 'about'}}},[_vm._v(\"\\n \"+_vm._s(_vm.$t(\"nav.about\"))+\"\\n \")])],1),_vm._v(\" \"),(_vm.currentUser && _vm.currentUser.role === 'admin')?_c('li',{on:{\"click\":_vm.toggleDrawer}},[_c('a',{attrs:{\"href\":\"/pleroma/admin/#/login-pleroma\",\"target\":\"_blank\"}},[_vm._v(\"\\n \"+_vm._s(_vm.$t(\"nav.administration\"))+\"\\n \")])]):_vm._e(),_vm._v(\" \"),(_vm.currentUser)?_c('li',{on:{\"click\":_vm.toggleDrawer}},[_c('a',{attrs:{\"href\":\"#\"},on:{\"click\":_vm.doLogout}},[_vm._v(\"\\n \"+_vm._s(_vm.$t(\"login.logout\"))+\"\\n \")])]):_vm._e()])]),_vm._v(\" \"),_c('div',{staticClass:\"side-drawer-click-outside\",class:{'side-drawer-click-outside-closed': _vm.closed},on:{\"click\":function($event){$event.stopPropagation();$event.preventDefault();return _vm.toggleDrawer($event)}}})])}\nvar staticRenderFns = []\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.isLoggedIn)?_c('div',[_c('button',{staticClass:\"new-status-button\",class:{ 'hidden': _vm.isHidden },on:{\"click\":_vm.openPostForm}},[_c('i',{staticClass:\"icon-edit\"})])]):_vm._e()}\nvar staticRenderFns = []\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('nav',{staticClass:\"nav-bar container\",attrs:{\"id\":\"nav\"}},[_c('div',{staticClass:\"mobile-inner-nav\",on:{\"click\":function($event){_vm.scrollToTop()}}},[_c('div',{staticClass:\"item\"},[_c('a',{staticClass:\"mobile-nav-button\",attrs:{\"href\":\"#\"},on:{\"click\":function($event){$event.stopPropagation();$event.preventDefault();_vm.toggleMobileSidebar()}}},[_c('i',{staticClass:\"button-icon icon-menu\"})]),_vm._v(\" \"),_c('router-link',{staticClass:\"site-name\",attrs:{\"to\":{ name: 'root' },\"active-class\":\"home\"}},[_vm._v(\"\\n \"+_vm._s(_vm.sitename)+\"\\n \")])],1),_vm._v(\" \"),_c('div',{staticClass:\"item right\"},[(_vm.currentUser)?_c('a',{staticClass:\"mobile-nav-button\",attrs:{\"href\":\"#\"},on:{\"click\":function($event){$event.stopPropagation();$event.preventDefault();_vm.openMobileNotifications()}}},[_c('i',{staticClass:\"button-icon icon-bell-alt\"}),_vm._v(\" \"),(_vm.unseenNotificationsCount)?_c('div',{staticClass:\"alert-dot\"}):_vm._e()]):_vm._e()])])]),_vm._v(\" \"),(_vm.currentUser)?_c('div',{staticClass:\"mobile-notifications-drawer\",class:{ 'closed': !_vm.notificationsOpen },on:{\"touchstart\":function($event){$event.stopPropagation();return _vm.notificationsTouchStart($event)},\"touchmove\":function($event){$event.stopPropagation();return _vm.notificationsTouchMove($event)}}},[_c('div',{staticClass:\"mobile-notifications-header\"},[_c('span',{staticClass:\"title\"},[_vm._v(_vm._s(_vm.$t('notifications.notifications')))]),_vm._v(\" \"),_c('a',{staticClass:\"mobile-nav-button\",on:{\"click\":function($event){$event.stopPropagation();$event.preventDefault();_vm.closeMobileNotifications()}}},[_c('i',{staticClass:\"button-icon icon-cancel\"})])]),_vm._v(\" \"),_c('div',{staticClass:\"mobile-notifications\",on:{\"scroll\":_vm.onScroll}},[_c('Notifications',{ref:\"notifications\",attrs:{\"no-heading\":true}})],1)]):_vm._e(),_vm._v(\" \"),_c('SideDrawer',{ref:\"sideDrawer\",attrs:{\"logout\":_vm.logout}})],1)}\nvar staticRenderFns = []\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.isOpen)?_c('Modal',{on:{\"backdropClicked\":_vm.closeModal}},[_c('div',{staticClass:\"user-reporting-panel panel\"},[_c('div',{staticClass:\"panel-heading\"},[_c('div',{staticClass:\"title\"},[_vm._v(\"\\n \"+_vm._s(_vm.$t('user_reporting.title', [_vm.user.screen_name]))+\"\\n \")])]),_vm._v(\" \"),_c('div',{staticClass:\"panel-body\"},[_c('div',{staticClass:\"user-reporting-panel-left\"},[_c('div',[_c('p',[_vm._v(_vm._s(_vm.$t('user_reporting.add_comment_description')))]),_vm._v(\" \"),_c('textarea',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.comment),expression:\"comment\"}],staticClass:\"form-control\",attrs:{\"placeholder\":_vm.$t('user_reporting.additional_comments'),\"rows\":\"1\"},domProps:{\"value\":(_vm.comment)},on:{\"input\":[function($event){if($event.target.composing){ return; }_vm.comment=$event.target.value},_vm.resize]}})]),_vm._v(\" \"),(!_vm.user.is_local)?_c('div',[_c('p',[_vm._v(_vm._s(_vm.$t('user_reporting.forward_description')))]),_vm._v(\" \"),_c('Checkbox',{model:{value:(_vm.forward),callback:function ($$v) {_vm.forward=$$v},expression:\"forward\"}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('user_reporting.forward_to', [_vm.remoteInstance]))+\"\\n \")])],1):_vm._e(),_vm._v(\" \"),_c('div',[_c('button',{staticClass:\"btn btn-default\",attrs:{\"disabled\":_vm.processing},on:{\"click\":_vm.reportUser}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('user_reporting.submit'))+\"\\n \")]),_vm._v(\" \"),(_vm.error)?_c('div',{staticClass:\"alert error\"},[_vm._v(\"\\n \"+_vm._s(_vm.$t('user_reporting.generic_error'))+\"\\n \")]):_vm._e()])]),_vm._v(\" \"),_c('div',{staticClass:\"user-reporting-panel-right\"},[_c('List',{attrs:{\"items\":_vm.statuses},scopedSlots:_vm._u([{key:\"item\",fn:function(ref){\nvar item = ref.item;\nreturn [_c('div',{staticClass:\"status-fadein user-reporting-panel-sitem\"},[_c('Status',{attrs:{\"in-conversation\":false,\"focused\":false,\"statusoid\":item}}),_vm._v(\" \"),_c('Checkbox',{attrs:{\"checked\":_vm.isChecked(item.id)},on:{\"change\":function (checked) { return _vm.toggleStatus(checked, item.id); }}})],1)]}}])})],1)])])]):_vm._e()}\nvar staticRenderFns = []\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.isLoggedIn && !_vm.resettingForm)?_c('Modal',{staticClass:\"post-form-modal-view\",attrs:{\"is-open\":_vm.modalActivated},on:{\"backdropClicked\":_vm.closeModal}},[_c('div',{staticClass:\"post-form-modal-panel panel\"},[_c('div',{staticClass:\"panel-heading\"},[_vm._v(\"\\n \"+_vm._s(_vm.$t('post_status.new_status'))+\"\\n \")]),_vm._v(\" \"),_c('PostStatusForm',_vm._b({staticClass:\"panel-body\",on:{\"posted\":_vm.closeModal}},'PostStatusForm',_vm.params,false))],1)]):_vm._e()}\nvar staticRenderFns = []\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{style:(_vm.bgAppStyle),attrs:{\"id\":\"app\"}},[_c('div',{staticClass:\"app-bg-wrapper\",style:(_vm.bgStyle),attrs:{\"id\":\"app_bg_wrapper\"}}),_vm._v(\" \"),(_vm.isMobileLayout)?_c('MobileNav'):_c('nav',{staticClass:\"nav-bar container\",attrs:{\"id\":\"nav\"},on:{\"click\":function($event){_vm.scrollToTop()}}},[_c('div',{staticClass:\"inner-nav\"},[_c('div',{staticClass:\"logo\",style:(_vm.logoBgStyle)},[_c('div',{staticClass:\"mask\",style:(_vm.logoMaskStyle)}),_vm._v(\" \"),_c('img',{style:(_vm.logoStyle),attrs:{\"src\":_vm.logo}})]),_vm._v(\" \"),_c('div',{staticClass:\"item\"},[_c('router-link',{staticClass:\"site-name\",attrs:{\"to\":{ name: 'root' },\"active-class\":\"home\"}},[_vm._v(\"\\n \"+_vm._s(_vm.sitename)+\"\\n \")])],1),_vm._v(\" \"),_c('div',{staticClass:\"item right\"},[_c('search-bar',{staticClass:\"nav-icon mobile-hidden\",on:{\"toggled\":_vm.onSearchBarToggled},nativeOn:{\"click\":function($event){$event.stopPropagation();}}}),_vm._v(\" \"),_c('router-link',{staticClass:\"mobile-hidden\",attrs:{\"to\":{ name: 'settings'}}},[_c('i',{staticClass:\"button-icon icon-cog nav-icon\",attrs:{\"title\":_vm.$t('nav.preferences')}})]),_vm._v(\" \"),(_vm.currentUser && _vm.currentUser.role === 'admin')?_c('a',{staticClass:\"mobile-hidden\",attrs:{\"href\":\"/pleroma/admin/#/login-pleroma\",\"target\":\"_blank\"}},[_c('i',{staticClass:\"button-icon icon-gauge nav-icon\",attrs:{\"title\":_vm.$t('nav.administration')}})]):_vm._e(),_vm._v(\" \"),(_vm.currentUser)?_c('a',{staticClass:\"mobile-hidden\",attrs:{\"href\":\"#\"},on:{\"click\":function($event){$event.preventDefault();return _vm.logout($event)}}},[_c('i',{staticClass:\"button-icon icon-logout nav-icon\",attrs:{\"title\":_vm.$t('login.logout')}})]):_vm._e()],1)])]),_vm._v(\" \"),_c('div',{staticClass:\"container\",attrs:{\"id\":\"content\"}},[_c('div',{staticClass:\"sidebar-flexer mobile-hidden\"},[_c('div',{staticClass:\"sidebar-bounds\"},[_c('div',{staticClass:\"sidebar-scroller\"},[_c('div',{staticClass:\"sidebar\"},[_c('user-panel'),_vm._v(\" \"),(!_vm.isMobileLayout)?_c('div',[_c('nav-panel'),_vm._v(\" \"),(_vm.showInstanceSpecificPanel)?_c('instance-specific-panel'):_vm._e(),_vm._v(\" \"),(!_vm.currentUser && _vm.showFeaturesPanel)?_c('features-panel'):_vm._e(),_vm._v(\" \"),(_vm.currentUser && _vm.suggestionsEnabled)?_c('who-to-follow-panel'):_vm._e(),_vm._v(\" \"),(_vm.currentUser)?_c('notifications'):_vm._e()],1):_vm._e()],1)])])]),_vm._v(\" \"),_c('div',{staticClass:\"main\"},[(!_vm.currentUser)?_c('div',{staticClass:\"login-hint panel panel-default\"},[_c('router-link',{staticClass:\"panel-body\",attrs:{\"to\":{ name: 'login' }}},[_vm._v(\"\\n \"+_vm._s(_vm.$t(\"login.hint\"))+\"\\n \")])],1):_vm._e(),_vm._v(\" \"),_c('transition',{attrs:{\"name\":\"fade\"}},[_c('router-view')],1)],1),_vm._v(\" \"),_c('media-modal')],1),_vm._v(\" \"),(_vm.currentUser && _vm.chat)?_c('chat-panel',{staticClass:\"floating-chat mobile-hidden\",attrs:{\"floating\":true}}):_vm._e(),_vm._v(\" \"),_c('MobilePostStatusButton'),_vm._v(\" \"),_c('UserReportingModal'),_vm._v(\" \"),_c('PostStatusModal'),_vm._v(\" \"),_c('portal-target',{attrs:{\"name\":\"modal\"}})],1)}\nvar staticRenderFns = []\nexport { render, staticRenderFns }","import { map } from 'lodash'\nimport apiService from '../api/api.service.js'\n\nconst postStatus = ({ store, status, spoilerText, visibility, sensitive, poll, media = [], inReplyToStatusId = undefined, contentType = 'text/plain' }) => {\n const mediaIds = map(media, 'id')\n\n return apiService.postStatus({\n credentials: store.state.users.currentUser.credentials,\n status,\n spoilerText,\n visibility,\n sensitive,\n mediaIds,\n inReplyToStatusId,\n contentType,\n poll })\n .then((data) => {\n if (!data.error) {\n store.dispatch('addNewStatuses', {\n statuses: [data],\n timeline: 'friends',\n showImmediately: true,\n noIdUpdate: true // To prevent missing notices on next pull.\n })\n }\n return data\n })\n .catch((err) => {\n return {\n error: err.message\n }\n })\n}\n\nconst uploadMedia = ({ store, formData }) => {\n const credentials = store.state.users.currentUser.credentials\n\n return apiService.uploadMedia({ credentials, formData })\n}\n\nconst statusPosterService = {\n postStatus,\n uploadMedia\n}\n\nexport default statusPosterService\n","import { camelCase } from 'lodash'\n\nimport apiService from '../api/api.service.js'\n\nconst update = ({ store, statuses, timeline, showImmediately, userId }) => {\n const ccTimeline = camelCase(timeline)\n\n store.dispatch('setError', { value: false })\n\n store.dispatch('addNewStatuses', {\n timeline: ccTimeline,\n userId,\n statuses,\n showImmediately\n })\n}\n\nconst fetchAndUpdate = ({\n store,\n credentials,\n timeline = 'friends',\n older = false,\n showImmediately = false,\n userId = false,\n tag = false,\n until\n}) => {\n const args = { timeline, credentials }\n const rootState = store.rootState || store.state\n const { getters } = store\n const timelineData = rootState.statuses.timelines[camelCase(timeline)]\n const hideMutedPosts = getters.mergedConfig.hideMutedPosts\n\n if (older) {\n args['until'] = until || timelineData.minId\n } else {\n args['since'] = timelineData.maxId\n }\n\n args['userId'] = userId\n args['tag'] = tag\n args['withMuted'] = !hideMutedPosts\n\n const numStatusesBeforeFetch = timelineData.statuses.length\n\n return apiService.fetchTimeline(args)\n .then((statuses) => {\n if (!older && statuses.length >= 20 && !timelineData.loading && numStatusesBeforeFetch > 0) {\n store.dispatch('queueFlush', { timeline: timeline, id: timelineData.maxId })\n }\n update({ store, statuses, timeline, showImmediately, userId })\n return statuses\n }, () => store.dispatch('setError', { value: true }))\n}\n\nconst startFetching = ({ timeline = 'friends', credentials, store, userId = false, tag = false }) => {\n const rootState = store.rootState || store.state\n const timelineData = rootState.statuses.timelines[camelCase(timeline)]\n const showImmediately = timelineData.visibleStatuses.length === 0\n timelineData.userId = userId\n fetchAndUpdate({ timeline, credentials, store, showImmediately, userId, tag })\n const boundFetchAndUpdate = () => fetchAndUpdate({ timeline, credentials, store, userId, tag })\n return setInterval(boundFetchAndUpdate, 10000)\n}\nconst timelineFetcher = {\n fetchAndUpdate,\n startFetching\n}\n\nexport default timelineFetcher\n","import apiService from '../api/api.service.js'\n\nconst update = ({ store, notifications, older }) => {\n store.dispatch('setNotificationsError', { value: false })\n\n store.dispatch('addNewNotifications', { notifications, older })\n}\n\nconst fetchAndUpdate = ({ store, credentials, older = false }) => {\n const args = { credentials }\n const { getters } = store\n const rootState = store.rootState || store.state\n const timelineData = rootState.statuses.notifications\n const hideMutedPosts = getters.mergedConfig.hideMutedPosts\n\n args['withMuted'] = !hideMutedPosts\n\n args['timeline'] = 'notifications'\n if (older) {\n if (timelineData.minId !== Number.POSITIVE_INFINITY) {\n args['until'] = timelineData.minId\n }\n return fetchNotifications({ store, args, older })\n } else {\n // fetch new notifications\n if (timelineData.maxId !== Number.POSITIVE_INFINITY) {\n args['since'] = timelineData.maxId\n }\n const result = fetchNotifications({ store, args, older })\n\n // load unread notifications repeatedly to provide consistency between browser tabs\n const notifications = timelineData.data\n const unread = notifications.filter(n => !n.seen).map(n => n.id)\n if (unread.length) {\n args['since'] = Math.min(...unread)\n fetchNotifications({ store, args, older })\n }\n\n return result\n }\n}\n\nconst fetchNotifications = ({ store, args, older }) => {\n return apiService.fetchTimeline(args)\n .then((notifications) => {\n update({ store, notifications, older })\n return notifications\n }, () => store.dispatch('setNotificationsError', { value: true }))\n .catch(() => store.dispatch('setNotificationsError', { value: true }))\n}\n\nconst startFetching = ({ credentials, store }) => {\n fetchAndUpdate({ credentials, store })\n const boundFetchAndUpdate = () => fetchAndUpdate({ credentials, store })\n // Initially there's set flag to silence all desktop notifications so\n // that there won't spam of them when user just opened up the FE we\n // reset that flag after a while to show new notifications once again.\n setTimeout(() => store.dispatch('setNotificationsSilence', false), 10000)\n return setInterval(boundFetchAndUpdate, 10000)\n}\n\nconst notificationsFetcher = {\n fetchAndUpdate,\n startFetching\n}\n\nexport default notificationsFetcher\n","// When contributing, please sort JSON before committing so it would be easier to see what's missing and what's being added compared to English and other languages. It's not obligatory, but just an advice.\n// To sort json use jq https://stedolan.github.io/jq and invoke it like `jq -S . xx.json > xx.sorted.json`, AFAIK, there's no inplace edit option like in sed\n// Also, when adding a new language to \"messages\" variable, please do it alphabetically by language code so that users can search or check their custom language easily.\n\n// For anyone contributing to old huge messages.js and in need to quickly convert it to JSON\n// sed command for converting currently formatted JS to JSON:\n// sed -i -e \"s/'//gm\" -e 's/\"/\\\\\"/gm' -re 's/^( +)(.+?): ((.+?))?(,?)(\\{?)$/\\1\"\\2\": \"\\4\"/gm' -e 's/\\\"\\{\\\"/{/g' -e 's/,\"$/\",/g' file.json\n// There's only problem that apostrophe character ' gets replaced by \\\\ so you have to fix it manually, sorry.\n\nconst messages = {\n ar: require('./ar.json'),\n ca: require('./ca.json'),\n cs: require('./cs.json'),\n de: require('./de.json'),\n en: require('./en.json'),\n eo: require('./eo.json'),\n es: require('./es.json'),\n et: require('./et.json'),\n eu: require('./eu.json'),\n fi: require('./fi.json'),\n fr: require('./fr.json'),\n ga: require('./ga.json'),\n he: require('./he.json'),\n hu: require('./hu.json'),\n it: require('./it.json'),\n ja: require('./ja_pedantic.json'),\n ja_easy: require('./ja_easy.json'),\n ko: require('./ko.json'),\n nb: require('./nb.json'),\n nl: require('./nl.json'),\n oc: require('./oc.json'),\n pl: require('./pl.json'),\n pt: require('./pt.json'),\n ro: require('./ro.json'),\n ru: require('./ru.json'),\n te: require('./te.json'),\n zh: require('./zh.json')\n}\n\nexport default messages\n","function injectStyle (context) {\n require(\"!!vue-style-loader!css-loader?minimize!../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"optionsId\\\":\\\"0\\\",\\\"vue\\\":true,\\\"scoped\\\":false,\\\"sourceMap\\\":false}!sass-loader!../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./attachment.vue\")\n}\n/* script */\nexport * from \"!!babel-loader!./attachment.js\"\nimport __vue_script__ from \"!!babel-loader!./attachment.js\"/* template */\nimport {render as __vue_render__, staticRenderFns as __vue_static_render_fns__} from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-47ab0ca0\\\",\\\"hasScoped\\\":false,\\\"optionsId\\\":\\\"0\\\",\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./attachment.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nimport normalizeComponent from \"!../../../node_modules/vue-loader/lib/runtime/component-normalizer\"\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_render__,\n __vue_static_render_fns__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n","/* script */\nexport * from \"!!babel-loader!./video_attachment.js\"\nimport __vue_script__ from \"!!babel-loader!./video_attachment.js\"/* template */\nimport {render as __vue_render__, staticRenderFns as __vue_static_render_fns__} from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-6fce6a82\\\",\\\"hasScoped\\\":false,\\\"optionsId\\\":\\\"0\\\",\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./video_attachment.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nimport normalizeComponent from \"!../../../node_modules/vue-loader/lib/runtime/component-normalizer\"\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_render__,\n __vue_static_render_fns__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n","export const SECOND = 1000\nexport const MINUTE = 60 * SECOND\nexport const HOUR = 60 * MINUTE\nexport const DAY = 24 * HOUR\nexport const WEEK = 7 * DAY\nexport const MONTH = 30 * DAY\nexport const YEAR = 365.25 * DAY\n\nexport const relativeTime = (date, nowThreshold = 1) => {\n if (typeof date === 'string') date = Date.parse(date)\n const round = Date.now() > date ? Math.floor : Math.ceil\n const d = Math.abs(Date.now() - date)\n let r = { num: round(d / YEAR), key: 'time.years' }\n if (d < nowThreshold * SECOND) {\n r.num = 0\n r.key = 'time.now'\n } else if (d < MINUTE) {\n r.num = round(d / SECOND)\n r.key = 'time.seconds'\n } else if (d < HOUR) {\n r.num = round(d / MINUTE)\n r.key = 'time.minutes'\n } else if (d < DAY) {\n r.num = round(d / HOUR)\n r.key = 'time.hours'\n } else if (d < WEEK) {\n r.num = round(d / DAY)\n r.key = 'time.days'\n } else if (d < MONTH) {\n r.num = round(d / WEEK)\n r.key = 'time.weeks'\n } else if (d < YEAR) {\n r.num = round(d / MONTH)\n r.key = 'time.months'\n }\n // Remove plural form when singular\n if (r.num === 1) r.key = r.key.slice(0, -1)\n return r\n}\n\nexport const relativeTimeShort = (date, nowThreshold = 1) => {\n const r = relativeTime(date, nowThreshold)\n r.key += '_short'\n return r\n}\n","const fileSizeFormat = (num) => {\n var exponent\n var unit\n var units = ['B', 'KiB', 'MiB', 'GiB', 'TiB']\n if (num < 1) {\n return num + ' ' + units[0]\n }\n\n exponent = Math.min(Math.floor(Math.log(num) / Math.log(1024)), units.length - 1)\n num = (num / Math.pow(1024, exponent)).toFixed(2) * 1\n unit = units[exponent]\n return { num: num, unit: unit }\n}\nconst fileSizeFormatService = {\n fileSizeFormat\n}\nexport default fileSizeFormatService\n","function injectStyle (context) {\n require(\"!!vue-style-loader!css-loader?minimize!../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"optionsId\\\":\\\"0\\\",\\\"vue\\\":true,\\\"scoped\\\":false,\\\"sourceMap\\\":false}!sass-loader!../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./scope_selector.vue\")\n}\n/* script */\nexport * from \"!!babel-loader!./scope_selector.js\"\nimport __vue_script__ from \"!!babel-loader!./scope_selector.js\"/* template */\nimport {render as __vue_render__, staticRenderFns as __vue_static_render_fns__} from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-28e8cbf1\\\",\\\"hasScoped\\\":false,\\\"optionsId\\\":\\\"0\\\",\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./scope_selector.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nimport normalizeComponent from \"!../../../node_modules/vue-loader/lib/runtime/component-normalizer\"\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_render__,\n __vue_static_render_fns__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n","function injectStyle (context) {\n require(\"!!vue-style-loader!css-loader?minimize!../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"optionsId\\\":\\\"0\\\",\\\"vue\\\":true,\\\"scoped\\\":false,\\\"sourceMap\\\":false}!sass-loader!../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./emoji_input.vue\")\n}\n/* script */\nexport * from \"!!babel-loader!./emoji_input.js\"\nimport __vue_script__ from \"!!babel-loader!./emoji_input.js\"/* template */\nimport {render as __vue_render__, staticRenderFns as __vue_static_render_fns__} from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-a4078164\\\",\\\"hasScoped\\\":false,\\\"optionsId\\\":\\\"0\\\",\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./emoji_input.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nimport normalizeComponent from \"!../../../node_modules/vue-loader/lib/runtime/component-normalizer\"\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_render__,\n __vue_static_render_fns__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n","export const findOffset = (child, parent, { top = 0, left = 0 } = {}, ignorePadding = true) => {\n const result = {\n top: top + child.offsetTop,\n left: left + child.offsetLeft\n }\n if (!ignorePadding && child !== window) {\n const { topPadding, leftPadding } = findPadding(child)\n result.top += ignorePadding ? 0 : topPadding\n result.left += ignorePadding ? 0 : leftPadding\n }\n\n if (child.offsetParent && (parent === window || parent.contains(child.offsetParent) || parent === child.offsetParent)) {\n return findOffset(child.offsetParent, parent, result, false)\n } else {\n if (parent !== window) {\n const { topPadding, leftPadding } = findPadding(parent)\n result.top += topPadding\n result.left += leftPadding\n }\n return result\n }\n}\n\nconst findPadding = (el) => {\n const topPaddingStr = window.getComputedStyle(el)['padding-top']\n const topPadding = Number(topPaddingStr.substring(0, topPaddingStr.length - 2))\n const leftPaddingStr = window.getComputedStyle(el)['padding-left']\n const leftPadding = Number(leftPaddingStr.substring(0, leftPaddingStr.length - 2))\n\n return { topPadding, leftPadding }\n}\n","import { debounce } from 'lodash'\n/**\n * suggest - generates a suggestor function to be used by emoji-input\n * data: object providing source information for specific types of suggestions:\n * data.emoji - optional, an array of all emoji available i.e.\n * (state.instance.emoji + state.instance.customEmoji)\n * data.users - optional, an array of all known users\n * updateUsersList - optional, a function to search and append to users\n *\n * Depending on data present one or both (or none) can be present, so if field\n * doesn't support user linking you can just provide only emoji.\n */\n\nconst debounceUserSearch = debounce((data, input) => {\n data.updateUsersList(input)\n}, 500, { leading: true, trailing: false })\n\nexport default data => input => {\n const firstChar = input[0]\n if (firstChar === ':' && data.emoji) {\n return suggestEmoji(data.emoji)(input)\n }\n if (firstChar === '@' && data.users) {\n return suggestUsers(data)(input)\n }\n return []\n}\n\nexport const suggestEmoji = emojis => input => {\n const noPrefix = input.toLowerCase().substr(1)\n return emojis\n .filter(({ displayText }) => displayText.toLowerCase().startsWith(noPrefix))\n .sort((a, b) => {\n let aScore = 0\n let bScore = 0\n\n // Make custom emojis a priority\n aScore += a.imageUrl ? 10 : 0\n bScore += b.imageUrl ? 10 : 0\n\n // Sort alphabetically\n const alphabetically = a.displayText > b.displayText ? 1 : -1\n\n return bScore - aScore + alphabetically\n })\n}\n\nexport const suggestUsers = data => input => {\n const noPrefix = input.toLowerCase().substr(1)\n const users = data.users\n\n const newUsers = users.filter(\n user =>\n user.screen_name.toLowerCase().startsWith(noPrefix) ||\n user.name.toLowerCase().startsWith(noPrefix)\n\n /* taking only 20 results so that sorting is a bit cheaper, we display\n * only 5 anyway. could be inaccurate, but we ideally we should query\n * backend anyway\n */\n ).slice(0, 20).sort((a, b) => {\n let aScore = 0\n let bScore = 0\n\n // Matches on screen name (i.e. user@instance) makes a priority\n aScore += a.screen_name.toLowerCase().startsWith(noPrefix) ? 2 : 0\n bScore += b.screen_name.toLowerCase().startsWith(noPrefix) ? 2 : 0\n\n // Matches on name takes second priority\n aScore += a.name.toLowerCase().startsWith(noPrefix) ? 1 : 0\n bScore += b.name.toLowerCase().startsWith(noPrefix) ? 1 : 0\n\n const diff = (bScore - aScore) * 10\n\n // Then sort alphabetically\n const nameAlphabetically = a.name > b.name ? 1 : -1\n const screenNameAlphabetically = a.screen_name > b.screen_name ? 1 : -1\n\n return diff + nameAlphabetically + screenNameAlphabetically\n /* eslint-disable camelcase */\n }).map(({ screen_name, name, profile_image_url_original }) => ({\n displayText: screen_name,\n detailText: name,\n imageUrl: profile_image_url_original,\n replacement: '@' + screen_name + ' '\n }))\n\n // BE search users if there are no matches\n if (newUsers.length === 0 && data.updateUsersList) {\n debounceUserSearch(data, noPrefix)\n }\n return newUsers\n /* eslint-enable camelcase */\n}\n","function injectStyle (context) {\n require(\"!!vue-style-loader!css-loader?minimize!../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"optionsId\\\":\\\"0\\\",\\\"vue\\\":true,\\\"scoped\\\":false,\\\"sourceMap\\\":false}!sass-loader!../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./remote_follow.vue\")\n}\n/* script */\nexport * from \"!!babel-loader!./remote_follow.js\"\nimport __vue_script__ from \"!!babel-loader!./remote_follow.js\"/* template */\nimport {render as __vue_render__, staticRenderFns as __vue_static_render_fns__} from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-e95e446e\\\",\\\"hasScoped\\\":false,\\\"optionsId\\\":\\\"0\\\",\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./remote_follow.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nimport normalizeComponent from \"!../../../node_modules/vue-loader/lib/runtime/component-normalizer\"\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_render__,\n __vue_static_render_fns__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n","/* script */\nexport * from \"!!babel-loader!./follow_button.js\"\nimport __vue_script__ from \"!!babel-loader!./follow_button.js\"/* template */\nimport {render as __vue_render__, staticRenderFns as __vue_static_render_fns__} from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-3ddddf8d\\\",\\\"hasScoped\\\":false,\\\"optionsId\\\":\\\"0\\\",\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./follow_button.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nimport normalizeComponent from \"!../../../node_modules/vue-loader/lib/runtime/component-normalizer\"\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_render__,\n __vue_static_render_fns__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n","import { hex2rgb } from '../color_convert/color_convert.js'\nconst highlightStyle = (prefs) => {\n if (prefs === undefined) return\n const { color, type } = prefs\n if (typeof color !== 'string') return\n const rgb = hex2rgb(color)\n if (rgb == null) return\n const solidColor = `rgb(${Math.floor(rgb.r)}, ${Math.floor(rgb.g)}, ${Math.floor(rgb.b)})`\n const tintColor = `rgba(${Math.floor(rgb.r)}, ${Math.floor(rgb.g)}, ${Math.floor(rgb.b)}, .1)`\n const tintColor2 = `rgba(${Math.floor(rgb.r)}, ${Math.floor(rgb.g)}, ${Math.floor(rgb.b)}, .2)`\n if (type === 'striped') {\n return {\n backgroundImage: [\n 'repeating-linear-gradient(135deg,',\n `${tintColor} ,`,\n `${tintColor} 20px,`,\n `${tintColor2} 20px,`,\n `${tintColor2} 40px`\n ].join(' '),\n backgroundPosition: '0 0'\n }\n } else if (type === 'solid') {\n return {\n backgroundColor: tintColor2\n }\n } else if (type === 'side') {\n return {\n backgroundImage: [\n 'linear-gradient(to right,',\n `${solidColor} ,`,\n `${solidColor} 2px,`,\n `transparent 6px`\n ].join(' '),\n backgroundPosition: '0 0'\n }\n }\n}\n\nconst highlightClass = (user) => {\n return 'USER____' + user.screen_name\n .replace(/\\./g, '_')\n .replace(/@/g, '_AT_')\n}\n\nexport {\n highlightClass,\n highlightStyle\n}\n","import isFunction from 'lodash/isFunction'\n\nconst getComponentOptions = (Component) => (isFunction(Component)) ? Component.options : Component\n\nconst getComponentProps = (Component) => getComponentOptions(Component).props\n\nexport {\n getComponentOptions,\n getComponentProps\n}\n","function injectStyle (context) {\n require(\"!!vue-style-loader!css-loader?minimize!../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"optionsId\\\":\\\"0\\\",\\\"vue\\\":true,\\\"scoped\\\":false,\\\"sourceMap\\\":false}!sass-loader!./style_switcher.scss\")\n}\n/* script */\nexport * from \"!!babel-loader!./style_switcher.js\"\nimport __vue_script__ from \"!!babel-loader!./style_switcher.js\"/* template */\nimport {render as __vue_render__, staticRenderFns as __vue_static_render_fns__} from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-1bd287ab\\\",\\\"hasScoped\\\":false,\\\"optionsId\\\":\\\"0\\\",\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./style_switcher.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nimport normalizeComponent from \"!../../../node_modules/vue-loader/lib/runtime/component-normalizer\"\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_render__,\n __vue_static_render_fns__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n","function injectStyle (context) {\n require(\"!!vue-style-loader!css-loader?minimize!../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"optionsId\\\":\\\"0\\\",\\\"vue\\\":true,\\\"scoped\\\":false,\\\"sourceMap\\\":false}!sass-loader!../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./color_input.vue\")\n}\n/* script */\nexport * from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./color_input.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./color_input.vue\"\n/* template */\nimport {render as __vue_render__, staticRenderFns as __vue_static_render_fns__} from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-a377bb38\\\",\\\"hasScoped\\\":false,\\\"optionsId\\\":\\\"0\\\",\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./color_input.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nimport normalizeComponent from \"!../../../node_modules/vue-loader/lib/runtime/component-normalizer\"\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_render__,\n __vue_static_render_fns__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n","/* script */\nexport * from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./opacity_input.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./opacity_input.vue\"\n/* template */\nimport {render as __vue_render__, staticRenderFns as __vue_static_render_fns__} from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-87056ae2\\\",\\\"hasScoped\\\":false,\\\"optionsId\\\":\\\"0\\\",\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./opacity_input.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nimport normalizeComponent from \"!../../../node_modules/vue-loader/lib/runtime/component-normalizer\"\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_render__,\n __vue_static_render_fns__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n","/* script */\nexport * from \"!!babel-loader!./confirm.js\"\nimport __vue_script__ from \"!!babel-loader!./confirm.js\"/* template */\nimport {render as __vue_render__, staticRenderFns as __vue_static_render_fns__} from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-20b6e7b3\\\",\\\"hasScoped\\\":false,\\\"optionsId\\\":\\\"0\\\",\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./confirm.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nimport normalizeComponent from \"!../../../node_modules/vue-loader/lib/runtime/component-normalizer\"\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_render__,\n __vue_static_render_fns__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n","import LoginForm from '../login_form/login_form.vue'\nimport MFARecoveryForm from '../mfa_form/recovery_form.vue'\nimport MFATOTPForm from '../mfa_form/totp_form.vue'\nimport { mapGetters } from 'vuex'\n\nconst AuthForm = {\n name: 'AuthForm',\n render (createElement) {\n return createElement('component', { is: this.authForm })\n },\n computed: {\n authForm () {\n if (this.requiredTOTP) { return 'MFATOTPForm' }\n if (this.requiredRecovery) { return 'MFARecoveryForm' }\n return 'LoginForm'\n },\n ...mapGetters('authFlow', ['requiredTOTP', 'requiredRecovery'])\n },\n components: {\n MFARecoveryForm,\n MFATOTPForm,\n LoginForm\n }\n}\n\nexport default AuthForm\n","const verifyOTPCode = ({ app, instance, mfaToken, code }) => {\n const url = `${instance}/oauth/mfa/challenge`\n const form = new window.FormData()\n\n form.append('client_id', app.client_id)\n form.append('client_secret', app.client_secret)\n form.append('mfa_token', mfaToken)\n form.append('code', code)\n form.append('challenge_type', 'totp')\n\n return window.fetch(url, {\n method: 'POST',\n body: form\n }).then((data) => data.json())\n}\n\nconst verifyRecoveryCode = ({ app, instance, mfaToken, code }) => {\n const url = `${instance}/oauth/mfa/challenge`\n const form = new window.FormData()\n\n form.append('client_id', app.client_id)\n form.append('client_secret', app.client_secret)\n form.append('mfa_token', mfaToken)\n form.append('code', code)\n form.append('challenge_type', 'recovery')\n\n return window.fetch(url, {\n method: 'POST',\n body: form\n }).then((data) => data.json())\n}\n\nconst mfa = {\n verifyOTPCode,\n verifyRecoveryCode\n}\n\nexport default mfa\n","function injectStyle (context) {\n require(\"!!vue-style-loader!css-loader?minimize!../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"optionsId\\\":\\\"0\\\",\\\"vue\\\":true,\\\"scoped\\\":false,\\\"sourceMap\\\":false}!sass-loader!../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./chat_panel.vue\")\n}\n/* script */\nexport * from \"!!babel-loader!./chat_panel.js\"\nimport __vue_script__ from \"!!babel-loader!./chat_panel.js\"/* template */\nimport {render as __vue_render__, staticRenderFns as __vue_static_render_fns__} from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-7ea51572\\\",\\\"hasScoped\\\":false,\\\"optionsId\\\":\\\"0\\\",\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./chat_panel.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nimport normalizeComponent from \"!../../../node_modules/vue-loader/lib/runtime/component-normalizer\"\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_render__,\n __vue_static_render_fns__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n","/* script */\nexport * from \"!!babel-loader!./instance_specific_panel.js\"\nimport __vue_script__ from \"!!babel-loader!./instance_specific_panel.js\"/* template */\nimport {render as __vue_render__, staticRenderFns as __vue_static_render_fns__} from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-5b01187b\\\",\\\"hasScoped\\\":false,\\\"optionsId\\\":\\\"0\\\",\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./instance_specific_panel.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nimport normalizeComponent from \"!../../../node_modules/vue-loader/lib/runtime/component-normalizer\"\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_render__,\n __vue_static_render_fns__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n","function injectStyle (context) {\n require(\"!!vue-style-loader!css-loader?minimize!../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"optionsId\\\":\\\"0\\\",\\\"vue\\\":true,\\\"scoped\\\":false,\\\"sourceMap\\\":false}!sass-loader!../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./features_panel.vue\")\n}\n/* script */\nexport * from \"!!babel-loader!./features_panel.js\"\nimport __vue_script__ from \"!!babel-loader!./features_panel.js\"/* template */\nimport {render as __vue_render__, staticRenderFns as __vue_static_render_fns__} from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-3443e05c\\\",\\\"hasScoped\\\":false,\\\"optionsId\\\":\\\"0\\\",\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./features_panel.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nimport normalizeComponent from \"!../../../node_modules/vue-loader/lib/runtime/component-normalizer\"\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_render__,\n __vue_static_render_fns__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n","function injectStyle (context) {\n require(\"!!vue-style-loader!css-loader?minimize!../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"optionsId\\\":\\\"0\\\",\\\"vue\\\":true,\\\"scoped\\\":false,\\\"sourceMap\\\":false}!sass-loader!../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./side_drawer.vue\")\n}\n/* script */\nexport * from \"!!babel-loader!./side_drawer.js\"\nimport __vue_script__ from \"!!babel-loader!./side_drawer.js\"/* template */\nimport {render as __vue_render__, staticRenderFns as __vue_static_render_fns__} from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-5c94965a\\\",\\\"hasScoped\\\":false,\\\"optionsId\\\":\\\"0\\\",\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./side_drawer.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nimport normalizeComponent from \"!../../../node_modules/vue-loader/lib/runtime/component-normalizer\"\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_render__,\n __vue_static_render_fns__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n","\nexport const windowWidth = () =>\n window.innerWidth ||\n document.documentElement.clientWidth ||\n document.body.clientWidth\n","import Vue from 'vue'\nimport VueRouter from 'vue-router'\nimport Vuex from 'vuex'\n\nimport interfaceModule from './modules/interface.js'\nimport instanceModule from './modules/instance.js'\nimport statusesModule from './modules/statuses.js'\nimport usersModule from './modules/users.js'\nimport apiModule from './modules/api.js'\nimport configModule from './modules/config.js'\nimport chatModule from './modules/chat.js'\nimport oauthModule from './modules/oauth.js'\nimport authFlowModule from './modules/auth_flow.js'\nimport mediaViewerModule from './modules/media_viewer.js'\nimport oauthTokensModule from './modules/oauth_tokens.js'\nimport reportsModule from './modules/reports.js'\nimport pollsModule from './modules/polls.js'\nimport postStatusModule from './modules/postStatus.js'\n\nimport VueI18n from 'vue-i18n'\n\nimport createPersistedState from './lib/persisted_state.js'\nimport pushNotifications from './lib/push_notifications_plugin.js'\n\nimport messages from './i18n/messages.js'\n\nimport VueChatScroll from 'vue-chat-scroll'\nimport VueClickOutside from 'v-click-outside'\nimport PortalVue from 'portal-vue'\nimport VBodyScrollLock from './directives/body_scroll_lock'\nimport VTooltip from 'v-tooltip'\n\nimport afterStoreSetup from './boot/after_store.js'\n\nconst currentLocale = (window.navigator.language || 'en').split('-')[0]\n\nVue.use(Vuex)\nVue.use(VueRouter)\nVue.use(VueI18n)\nVue.use(VueChatScroll)\nVue.use(VueClickOutside)\nVue.use(PortalVue)\nVue.use(VBodyScrollLock)\nVue.use(VTooltip, {\n popover: {\n defaultTrigger: 'hover click',\n defaultContainer: false,\n defaultOffset: 5\n }\n})\n\nconst i18n = new VueI18n({\n // By default, use the browser locale, we will update it if neccessary\n locale: currentLocale,\n fallbackLocale: 'en',\n messages\n})\n\nconst persistedStateOptions = {\n paths: [\n 'config',\n 'users.lastLoginName',\n 'oauth'\n ]\n};\n\n(async () => {\n const persistedState = await createPersistedState(persistedStateOptions)\n const store = new Vuex.Store({\n modules: {\n i18n: {\n getters: {\n i18n: () => i18n\n }\n },\n interface: interfaceModule,\n instance: instanceModule,\n statuses: statusesModule,\n users: usersModule,\n api: apiModule,\n config: configModule,\n chat: chatModule,\n oauth: oauthModule,\n authFlow: authFlowModule,\n mediaViewer: mediaViewerModule,\n oauthTokens: oauthTokensModule,\n reports: reportsModule,\n polls: pollsModule,\n postStatus: postStatusModule\n },\n plugins: [persistedState, pushNotifications],\n strict: false // Socket modifies itself, let's ignore this for now.\n // strict: process.env.NODE_ENV !== 'production'\n })\n\n afterStoreSetup({ store, i18n })\n})()\n\n// These are inlined by webpack's DefinePlugin\n/* eslint-disable */\nwindow.___pleromafe_mode = process.env\nwindow.___pleromafe_commit_hash = COMMIT_HASH\nwindow.___pleromafe_dev_overrides = DEV_OVERRIDES\n","import { set, delete as del } from 'vue'\n\nconst defaultState = {\n settings: {\n currentSaveStateNotice: null,\n noticeClearTimeout: null,\n notificationPermission: null\n },\n browserSupport: {\n cssFilter: window.CSS && window.CSS.supports && (\n window.CSS.supports('filter', 'drop-shadow(0 0)') ||\n window.CSS.supports('-webkit-filter', 'drop-shadow(0 0)')\n )\n },\n mobileLayout: false\n}\n\nconst interfaceMod = {\n state: defaultState,\n mutations: {\n settingsSaved (state, { success, error }) {\n if (success) {\n if (state.noticeClearTimeout) {\n clearTimeout(state.noticeClearTimeout)\n }\n set(state.settings, 'currentSaveStateNotice', { error: false, data: success })\n set(state.settings, 'noticeClearTimeout',\n setTimeout(() => del(state.settings, 'currentSaveStateNotice'), 2000))\n } else {\n set(state.settings, 'currentSaveStateNotice', { error: true, errorData: error })\n }\n },\n setNotificationPermission (state, permission) {\n state.notificationPermission = permission\n },\n setMobileLayout (state, value) {\n state.mobileLayout = value\n }\n },\n actions: {\n setPageTitle ({ rootState }, option = '') {\n document.title = `${option} ${rootState.instance.name}`\n },\n settingsSaved ({ commit, dispatch }, { success, error }) {\n commit('settingsSaved', { success, error })\n },\n setNotificationPermission ({ commit }, permission) {\n commit('setNotificationPermission', permission)\n },\n setMobileLayout ({ commit }, value) {\n commit('setMobileLayout', value)\n }\n }\n}\n\nexport default interfaceMod\n","import { set } from 'vue'\nimport { setPreset } from '../services/style_setter/style_setter.js'\nimport { instanceDefaultProperties } from './config.js'\n\nconst defaultState = {\n // Stuff from static/config.json and apiConfig\n name: 'Pleroma FE',\n registrationOpen: true,\n safeDM: true,\n textlimit: 5000,\n server: 'http://localhost:4040/',\n theme: 'pleroma-dark',\n background: '/static/aurora_borealis.jpg',\n logo: '/static/logo.png',\n logoMask: true,\n logoMargin: '.2em',\n redirectRootNoLogin: '/main/all',\n redirectRootLogin: '/main/friends',\n showInstanceSpecificPanel: false,\n alwaysShowSubjectInput: true,\n hideMutedPosts: false,\n collapseMessageWithSubject: false,\n hidePostStats: false,\n hideUserStats: false,\n hideFilteredStatuses: false,\n disableChat: false,\n scopeCopy: true,\n subjectLineBehavior: 'email',\n postContentType: 'text/plain',\n nsfwCensorImage: undefined,\n vapidPublicKey: undefined,\n noAttachmentLinks: false,\n showFeaturesPanel: true,\n minimalScopesMode: false,\n greentext: false,\n\n // Nasty stuff\n pleromaBackend: true,\n emoji: [],\n emojiFetched: false,\n customEmoji: [],\n customEmojiFetched: false,\n restrictedNicknames: [],\n postFormats: [],\n\n // Feature-set, apparently, not everything here is reported...\n mediaProxyAvailable: false,\n chatAvailable: false,\n gopherAvailable: false,\n suggestionsEnabled: false,\n suggestionsWeb: '',\n\n // Html stuff\n instanceSpecificPanelContent: '',\n tos: '',\n\n // Version Information\n backendVersion: '',\n frontendVersion: '',\n\n pollsAvailable: false,\n pollLimits: {\n max_options: 4,\n max_option_chars: 255,\n min_expiration: 60,\n max_expiration: 60 * 60 * 24\n }\n}\n\nconst instance = {\n state: defaultState,\n mutations: {\n setInstanceOption (state, { name, value }) {\n if (typeof value !== 'undefined') {\n set(state, name, value)\n }\n }\n },\n getters: {\n instanceDefaultConfig (state) {\n return instanceDefaultProperties\n .map(key => [key, state[key]])\n .reduce((acc, [key, value]) => ({ ...acc, [key]: value }), {})\n }\n },\n actions: {\n setInstanceOption ({ commit, dispatch }, { name, value }) {\n commit('setInstanceOption', { name, value })\n switch (name) {\n case 'name':\n dispatch('setPageTitle')\n break\n case 'chatAvailable':\n if (value) {\n dispatch('initializeSocket')\n }\n break\n }\n },\n async getStaticEmoji ({ commit }) {\n try {\n const res = await window.fetch('/static/emoji.json')\n if (res.ok) {\n const values = await res.json()\n const emoji = Object.keys(values).map((key) => {\n return {\n displayText: key,\n imageUrl: false,\n replacement: values[key]\n }\n }).sort((a, b) => a.displayText - b.displayText)\n commit('setInstanceOption', { name: 'emoji', value: emoji })\n } else {\n throw (res)\n }\n } catch (e) {\n console.warn(\"Can't load static emoji\")\n console.warn(e)\n }\n },\n\n async getCustomEmoji ({ commit, state }) {\n try {\n const res = await window.fetch('/api/pleroma/emoji.json')\n if (res.ok) {\n const result = await res.json()\n const values = Array.isArray(result) ? Object.assign({}, ...result) : result\n const emoji = Object.entries(values).map(([key, value]) => {\n const imageUrl = value.image_url\n return {\n displayText: key,\n imageUrl: imageUrl ? state.server + imageUrl : value,\n tags: imageUrl ? value.tags.sort((a, b) => a > b ? 1 : 0) : ['utf'],\n replacement: `:${key}: `\n }\n // Technically could use tags but those are kinda useless right now,\n // should have been \"pack\" field, that would be more useful\n }).sort((a, b) => a.displayText.toLowerCase() > b.displayText.toLowerCase() ? 1 : 0)\n commit('setInstanceOption', { name: 'customEmoji', value: emoji })\n } else {\n throw (res)\n }\n } catch (e) {\n console.warn(\"Can't load custom emojis\")\n console.warn(e)\n }\n },\n\n setTheme ({ commit }, themeName) {\n commit('setInstanceOption', { name: 'theme', value: themeName })\n return setPreset(themeName, commit)\n },\n fetchEmoji ({ dispatch, state }) {\n if (!state.customEmojiFetched) {\n state.customEmojiFetched = true\n dispatch('getCustomEmoji')\n }\n if (!state.emojiFetched) {\n state.emojiFetched = true\n dispatch('getStaticEmoji')\n }\n }\n }\n}\n\nexport default instance\n","import { remove, slice, each, findIndex, find, maxBy, minBy, merge, first, last, isArray, omitBy } from 'lodash'\nimport { set } from 'vue'\nimport apiService from '../services/api/api.service.js'\n// import parse from '../services/status_parser/status_parser.js'\n\nconst emptyTl = (userId = 0) => ({\n statuses: [],\n statusesObject: {},\n faves: [],\n visibleStatuses: [],\n visibleStatusesObject: {},\n newStatusCount: 0,\n maxId: 0,\n minId: 0,\n minVisibleId: 0,\n loading: false,\n followers: [],\n friends: [],\n userId,\n flushMarker: 0\n})\n\nconst emptyNotifications = () => ({\n desktopNotificationSilence: true,\n maxId: 0,\n minId: Number.POSITIVE_INFINITY,\n data: [],\n idStore: {},\n loading: false,\n error: false\n})\n\nexport const defaultState = () => ({\n allStatuses: [],\n allStatusesObject: {},\n conversationsObject: {},\n maxId: 0,\n notifications: emptyNotifications(),\n favorites: new Set(),\n error: false,\n timelines: {\n mentions: emptyTl(),\n public: emptyTl(),\n user: emptyTl(),\n favorites: emptyTl(),\n media: emptyTl(),\n publicAndExternal: emptyTl(),\n friends: emptyTl(),\n tag: emptyTl(),\n dms: emptyTl()\n }\n})\n\nexport const prepareStatus = (status) => {\n // Set deleted flag\n status.deleted = false\n\n // To make the array reactive\n status.attachments = status.attachments || []\n\n return status\n}\n\nconst visibleNotificationTypes = (rootState) => {\n return [\n rootState.config.notificationVisibility.likes && 'like',\n rootState.config.notificationVisibility.mentions && 'mention',\n rootState.config.notificationVisibility.repeats && 'repeat',\n rootState.config.notificationVisibility.follows && 'follow'\n ].filter(_ => _)\n}\n\nconst mergeOrAdd = (arr, obj, item) => {\n const oldItem = obj[item.id]\n\n if (oldItem) {\n // We already have this, so only merge the new info.\n // We ignore null values to avoid overwriting existing properties with missing data\n // we also skip 'user' because that is handled by users module\n merge(oldItem, omitBy(item, (v, k) => v === null || k === 'user'))\n // Reactivity fix.\n oldItem.attachments.splice(oldItem.attachments.length)\n return { item: oldItem, new: false }\n } else {\n // This is a new item, prepare it\n prepareStatus(item)\n arr.push(item)\n set(obj, item.id, item)\n return { item, new: true }\n }\n}\n\nconst sortById = (a, b) => {\n const seqA = Number(a.id)\n const seqB = Number(b.id)\n const isSeqA = !Number.isNaN(seqA)\n const isSeqB = !Number.isNaN(seqB)\n if (isSeqA && isSeqB) {\n return seqA > seqB ? -1 : 1\n } else if (isSeqA && !isSeqB) {\n return 1\n } else if (!isSeqA && isSeqB) {\n return -1\n } else {\n return a.id > b.id ? -1 : 1\n }\n}\n\nconst sortTimeline = (timeline) => {\n timeline.visibleStatuses = timeline.visibleStatuses.sort(sortById)\n timeline.statuses = timeline.statuses.sort(sortById)\n timeline.minVisibleId = (last(timeline.visibleStatuses) || {}).id\n return timeline\n}\n\n// Add status to the global storages (arrays and objects maintaining statuses) except timelines\nconst addStatusToGlobalStorage = (state, data) => {\n const result = mergeOrAdd(state.allStatuses, state.allStatusesObject, data)\n if (result.new) {\n // Add to conversation\n const status = result.item\n const conversationsObject = state.conversationsObject\n const conversationId = status.statusnet_conversation_id\n if (conversationsObject[conversationId]) {\n conversationsObject[conversationId].push(status)\n } else {\n set(conversationsObject, conversationId, [status])\n }\n }\n return result\n}\n\n// Remove status from the global storages (arrays and objects maintaining statuses) except timelines\nconst removeStatusFromGlobalStorage = (state, status) => {\n remove(state.allStatuses, { id: status.id })\n\n // TODO: Need to remove from allStatusesObject?\n\n // Remove possible notification\n remove(state.notifications.data, ({ action: { id } }) => id === status.id)\n\n // Remove from conversation\n const conversationId = status.statusnet_conversation_id\n if (state.conversationsObject[conversationId]) {\n remove(state.conversationsObject[conversationId], { id: status.id })\n }\n}\n\nconst addNewStatuses = (state, { statuses, showImmediately = false, timeline, user = {},\n noIdUpdate = false, userId }) => {\n // Sanity check\n if (!isArray(statuses)) {\n return false\n }\n\n const allStatuses = state.allStatuses\n const timelineObject = state.timelines[timeline]\n\n const maxNew = statuses.length > 0 ? maxBy(statuses, 'id').id : 0\n const minNew = statuses.length > 0 ? minBy(statuses, 'id').id : 0\n const newer = timeline && (maxNew > timelineObject.maxId || timelineObject.maxId === 0) && statuses.length > 0\n const older = timeline && (minNew < timelineObject.minId || timelineObject.minId === 0) && statuses.length > 0\n\n if (!noIdUpdate && newer) {\n timelineObject.maxId = maxNew\n }\n if (!noIdUpdate && older) {\n timelineObject.minId = minNew\n }\n\n // This makes sure that user timeline won't get data meant for other\n // user. I.e. opening different user profiles makes request which could\n // return data late after user already viewing different user profile\n if ((timeline === 'user' || timeline === 'media') && timelineObject.userId !== userId) {\n return\n }\n\n const addStatus = (data, showImmediately, addToTimeline = true) => {\n const result = addStatusToGlobalStorage(state, data)\n const status = result.item\n\n if (result.new) {\n // We are mentioned in a post\n if (status.type === 'status' && find(status.attentions, { id: user.id })) {\n const mentions = state.timelines.mentions\n\n // Add the mention to the mentions timeline\n if (timelineObject !== mentions) {\n mergeOrAdd(mentions.statuses, mentions.statusesObject, status)\n mentions.newStatusCount += 1\n\n sortTimeline(mentions)\n }\n }\n if (status.visibility === 'direct') {\n const dms = state.timelines.dms\n\n mergeOrAdd(dms.statuses, dms.statusesObject, status)\n dms.newStatusCount += 1\n\n sortTimeline(dms)\n }\n }\n\n // Decide if we should treat the status as new for this timeline.\n let resultForCurrentTimeline\n // Some statuses should only be added to the global status repository.\n if (timeline && addToTimeline) {\n resultForCurrentTimeline = mergeOrAdd(timelineObject.statuses, timelineObject.statusesObject, status)\n }\n\n if (timeline && showImmediately) {\n // Add it directly to the visibleStatuses, don't change\n // newStatusCount\n mergeOrAdd(timelineObject.visibleStatuses, timelineObject.visibleStatusesObject, status)\n } else if (timeline && addToTimeline && resultForCurrentTimeline.new) {\n // Just change newStatuscount\n timelineObject.newStatusCount += 1\n }\n\n return status\n }\n\n const favoriteStatus = (favorite, counter) => {\n const status = find(allStatuses, { id: favorite.in_reply_to_status_id })\n if (status) {\n // This is our favorite, so the relevant bit.\n if (favorite.user.id === user.id) {\n status.favorited = true\n } else {\n status.fave_num += 1\n }\n }\n return status\n }\n\n const processors = {\n 'status': (status) => {\n addStatus(status, showImmediately)\n },\n 'retweet': (status) => {\n // RetweetedStatuses are never shown immediately\n const retweetedStatus = addStatus(status.retweeted_status, false, false)\n\n let retweet\n // If the retweeted status is already there, don't add the retweet\n // to the timeline.\n if (timeline && find(timelineObject.statuses, (s) => {\n if (s.retweeted_status) {\n return s.id === retweetedStatus.id || s.retweeted_status.id === retweetedStatus.id\n } else {\n return s.id === retweetedStatus.id\n }\n })) {\n // Already have it visible (either as the original or another RT), don't add to timeline, don't show.\n retweet = addStatus(status, false, false)\n } else {\n retweet = addStatus(status, showImmediately)\n }\n\n retweet.retweeted_status = retweetedStatus\n },\n 'favorite': (favorite) => {\n // Only update if this is a new favorite.\n // Ignore our own favorites because we get info about likes as response to like request\n if (!state.favorites.has(favorite.id)) {\n state.favorites.add(favorite.id)\n favoriteStatus(favorite)\n }\n },\n 'deletion': (deletion) => {\n const uri = deletion.uri\n const status = find(allStatuses, { uri })\n if (!status) {\n return\n }\n\n removeStatusFromGlobalStorage(state, status)\n\n if (timeline) {\n remove(timelineObject.statuses, { uri })\n remove(timelineObject.visibleStatuses, { uri })\n }\n },\n 'follow': (follow) => {\n // NOOP, it is known status but we don't do anything about it for now\n },\n 'default': (unknown) => {\n console.log('unknown status type')\n console.log(unknown)\n }\n }\n\n each(statuses, (status) => {\n const type = status.type\n const processor = processors[type] || processors['default']\n processor(status)\n })\n\n // Keep the visible statuses sorted\n if (timeline) {\n sortTimeline(timelineObject)\n }\n}\n\nconst addNewNotifications = (state, { dispatch, notifications, older, visibleNotificationTypes, rootGetters }) => {\n each(notifications, (notification) => {\n if (notification.type !== 'follow') {\n notification.action = addStatusToGlobalStorage(state, notification.action).item\n notification.status = notification.status && addStatusToGlobalStorage(state, notification.status).item\n }\n\n // Only add a new notification if we don't have one for the same action\n if (!state.notifications.idStore.hasOwnProperty(notification.id)) {\n state.notifications.maxId = notification.id > state.notifications.maxId\n ? notification.id\n : state.notifications.maxId\n state.notifications.minId = notification.id < state.notifications.minId\n ? notification.id\n : state.notifications.minId\n\n state.notifications.data.push(notification)\n state.notifications.idStore[notification.id] = notification\n\n if ('Notification' in window && window.Notification.permission === 'granted') {\n const notifObj = {}\n const status = notification.status\n const title = notification.from_profile.name\n notifObj.icon = notification.from_profile.profile_image_url\n let i18nString\n switch (notification.type) {\n case 'like':\n i18nString = 'favorited_you'\n break\n case 'repeat':\n i18nString = 'repeated_you'\n break\n case 'follow':\n i18nString = 'followed_you'\n break\n }\n\n if (i18nString) {\n notifObj.body = rootGetters.i18n.t('notifications.' + i18nString)\n } else {\n notifObj.body = notification.status.text\n }\n\n // Shows first attached non-nsfw image, if any. Should add configuration for this somehow...\n if (status && status.attachments && status.attachments.length > 0 && !status.nsfw &&\n status.attachments[0].mimetype.startsWith('image/')) {\n notifObj.image = status.attachments[0].url\n }\n\n if (!notification.seen && !state.notifications.desktopNotificationSilence && visibleNotificationTypes.includes(notification.type)) {\n let notification = new window.Notification(title, notifObj)\n // Chrome is known for not closing notifications automatically\n // according to MDN, anyway.\n setTimeout(notification.close.bind(notification), 5000)\n }\n }\n } else if (notification.seen) {\n state.notifications.idStore[notification.id].seen = true\n }\n })\n}\n\nconst removeStatus = (state, { timeline, userId }) => {\n const timelineObject = state.timelines[timeline]\n if (userId) {\n remove(timelineObject.statuses, { user: { id: userId } })\n remove(timelineObject.visibleStatuses, { user: { id: userId } })\n timelineObject.minVisibleId = timelineObject.visibleStatuses.length > 0 ? last(timelineObject.visibleStatuses).id : 0\n timelineObject.maxId = timelineObject.statuses.length > 0 ? first(timelineObject.statuses).id : 0\n }\n}\n\nexport const mutations = {\n addNewStatuses,\n addNewNotifications,\n removeStatus,\n showNewStatuses (state, { timeline }) {\n const oldTimeline = (state.timelines[timeline])\n\n oldTimeline.newStatusCount = 0\n oldTimeline.visibleStatuses = slice(oldTimeline.statuses, 0, 50)\n oldTimeline.minVisibleId = last(oldTimeline.visibleStatuses).id\n oldTimeline.minId = oldTimeline.minVisibleId\n oldTimeline.visibleStatusesObject = {}\n each(oldTimeline.visibleStatuses, (status) => { oldTimeline.visibleStatusesObject[status.id] = status })\n },\n resetStatuses (state) {\n const emptyState = defaultState()\n Object.entries(emptyState).forEach(([key, value]) => {\n state[key] = value\n })\n },\n clearTimeline (state, { timeline, excludeUserId = false }) {\n const userId = excludeUserId ? state.timelines[timeline].userId : undefined\n state.timelines[timeline] = emptyTl(userId)\n },\n clearNotifications (state) {\n state.notifications = emptyNotifications()\n },\n setFavorited (state, { status, value }) {\n const newStatus = state.allStatusesObject[status.id]\n\n if (newStatus.favorited !== value) {\n if (value) {\n newStatus.fave_num++\n } else {\n newStatus.fave_num--\n }\n }\n\n newStatus.favorited = value\n },\n setFavoritedConfirm (state, { status, user }) {\n const newStatus = state.allStatusesObject[status.id]\n newStatus.favorited = status.favorited\n newStatus.fave_num = status.fave_num\n const index = findIndex(newStatus.favoritedBy, { id: user.id })\n if (index !== -1 && !newStatus.favorited) {\n newStatus.favoritedBy.splice(index, 1)\n } else if (index === -1 && newStatus.favorited) {\n newStatus.favoritedBy.push(user)\n }\n },\n setMutedStatus (state, status) {\n const newStatus = state.allStatusesObject[status.id]\n newStatus.thread_muted = status.thread_muted\n\n if (newStatus.thread_muted !== undefined) {\n state.conversationsObject[newStatus.statusnet_conversation_id].forEach(status => { status.thread_muted = newStatus.thread_muted })\n }\n },\n setRetweeted (state, { status, value }) {\n const newStatus = state.allStatusesObject[status.id]\n\n if (newStatus.repeated !== value) {\n if (value) {\n newStatus.repeat_num++\n } else {\n newStatus.repeat_num--\n }\n }\n\n newStatus.repeated = value\n },\n setRetweetedConfirm (state, { status, user }) {\n const newStatus = state.allStatusesObject[status.id]\n newStatus.repeated = status.repeated\n newStatus.repeat_num = status.repeat_num\n const index = findIndex(newStatus.rebloggedBy, { id: user.id })\n if (index !== -1 && !newStatus.repeated) {\n newStatus.rebloggedBy.splice(index, 1)\n } else if (index === -1 && newStatus.repeated) {\n newStatus.rebloggedBy.push(user)\n }\n },\n setDeleted (state, { status }) {\n const newStatus = state.allStatusesObject[status.id]\n newStatus.deleted = true\n },\n setManyDeleted (state, condition) {\n Object.values(state.allStatusesObject).forEach(status => {\n if (condition(status)) {\n status.deleted = true\n }\n })\n },\n setLoading (state, { timeline, value }) {\n state.timelines[timeline].loading = value\n },\n setNsfw (state, { id, nsfw }) {\n const newStatus = state.allStatusesObject[id]\n newStatus.nsfw = nsfw\n },\n setError (state, { value }) {\n state.error = value\n },\n setNotificationsLoading (state, { value }) {\n state.notifications.loading = value\n },\n setNotificationsError (state, { value }) {\n state.notifications.error = value\n },\n setNotificationsSilence (state, { value }) {\n state.notifications.desktopNotificationSilence = value\n },\n markNotificationsAsSeen (state) {\n each(state.notifications.data, (notification) => {\n notification.seen = true\n })\n },\n queueFlush (state, { timeline, id }) {\n state.timelines[timeline].flushMarker = id\n },\n addRepeats (state, { id, rebloggedByUsers, currentUser }) {\n const newStatus = state.allStatusesObject[id]\n newStatus.rebloggedBy = rebloggedByUsers.filter(_ => _)\n // repeats stats can be incorrect based on polling condition, let's update them using the most recent data\n newStatus.repeat_num = newStatus.rebloggedBy.length\n newStatus.repeated = !!newStatus.rebloggedBy.find(({ id }) => currentUser.id === id)\n },\n addFavs (state, { id, favoritedByUsers, currentUser }) {\n const newStatus = state.allStatusesObject[id]\n newStatus.favoritedBy = favoritedByUsers.filter(_ => _)\n // favorites stats can be incorrect based on polling condition, let's update them using the most recent data\n newStatus.fave_num = newStatus.favoritedBy.length\n newStatus.favorited = !!newStatus.favoritedBy.find(({ id }) => currentUser.id === id)\n },\n updateStatusWithPoll (state, { id, poll }) {\n const status = state.allStatusesObject[id]\n status.poll = poll\n }\n}\n\nconst statuses = {\n state: defaultState(),\n actions: {\n addNewStatuses ({ rootState, commit }, { statuses, showImmediately = false, timeline = false, noIdUpdate = false, userId }) {\n commit('addNewStatuses', { statuses, showImmediately, timeline, noIdUpdate, user: rootState.users.currentUser, userId })\n },\n addNewNotifications ({ rootState, commit, dispatch, rootGetters }, { notifications, older }) {\n commit('addNewNotifications', { visibleNotificationTypes: visibleNotificationTypes(rootState), dispatch, notifications, older, rootGetters })\n },\n setError ({ rootState, commit }, { value }) {\n commit('setError', { value })\n },\n setNotificationsLoading ({ rootState, commit }, { value }) {\n commit('setNotificationsLoading', { value })\n },\n setNotificationsError ({ rootState, commit }, { value }) {\n commit('setNotificationsError', { value })\n },\n setNotificationsSilence ({ rootState, commit }, { value }) {\n commit('setNotificationsSilence', { value })\n },\n fetchStatus ({ rootState, dispatch }, id) {\n rootState.api.backendInteractor.fetchStatus({ id })\n .then((status) => dispatch('addNewStatuses', { statuses: [status] }))\n },\n deleteStatus ({ rootState, commit }, status) {\n commit('setDeleted', { status })\n apiService.deleteStatus({ id: status.id, credentials: rootState.users.currentUser.credentials })\n },\n markStatusesAsDeleted ({ commit }, condition) {\n commit('setManyDeleted', condition)\n },\n favorite ({ rootState, commit }, status) {\n // Optimistic favoriting...\n commit('setFavorited', { status, value: true })\n rootState.api.backendInteractor.favorite(status.id)\n .then(status => commit('setFavoritedConfirm', { status, user: rootState.users.currentUser }))\n },\n unfavorite ({ rootState, commit }, status) {\n // Optimistic unfavoriting...\n commit('setFavorited', { status, value: false })\n rootState.api.backendInteractor.unfavorite(status.id)\n .then(status => commit('setFavoritedConfirm', { status, user: rootState.users.currentUser }))\n },\n fetchPinnedStatuses ({ rootState, dispatch }, userId) {\n rootState.api.backendInteractor.fetchPinnedStatuses(userId)\n .then(statuses => dispatch('addNewStatuses', { statuses, timeline: 'user', userId, showImmediately: true, noIdUpdate: true }))\n },\n pinStatus ({ rootState, dispatch }, statusId) {\n return rootState.api.backendInteractor.pinOwnStatus(statusId)\n .then((status) => dispatch('addNewStatuses', { statuses: [status] }))\n },\n unpinStatus ({ rootState, dispatch }, statusId) {\n rootState.api.backendInteractor.unpinOwnStatus(statusId)\n .then((status) => dispatch('addNewStatuses', { statuses: [status] }))\n },\n muteConversation ({ rootState, commit }, statusId) {\n return rootState.api.backendInteractor.muteConversation(statusId)\n .then((status) => commit('setMutedStatus', status))\n },\n unmuteConversation ({ rootState, commit }, statusId) {\n return rootState.api.backendInteractor.unmuteConversation(statusId)\n .then((status) => commit('setMutedStatus', status))\n },\n retweet ({ rootState, commit }, status) {\n // Optimistic retweeting...\n commit('setRetweeted', { status, value: true })\n rootState.api.backendInteractor.retweet(status.id)\n .then(status => commit('setRetweetedConfirm', { status: status.retweeted_status, user: rootState.users.currentUser }))\n },\n unretweet ({ rootState, commit }, status) {\n // Optimistic unretweeting...\n commit('setRetweeted', { status, value: false })\n rootState.api.backendInteractor.unretweet(status.id)\n .then(status => commit('setRetweetedConfirm', { status, user: rootState.users.currentUser }))\n },\n queueFlush ({ rootState, commit }, { timeline, id }) {\n commit('queueFlush', { timeline, id })\n },\n markNotificationsAsSeen ({ rootState, commit }) {\n commit('markNotificationsAsSeen')\n apiService.markNotificationsAsSeen({\n id: rootState.statuses.notifications.maxId,\n credentials: rootState.users.currentUser.credentials\n })\n },\n fetchFavsAndRepeats ({ rootState, commit }, id) {\n Promise.all([\n rootState.api.backendInteractor.fetchFavoritedByUsers(id),\n rootState.api.backendInteractor.fetchRebloggedByUsers(id)\n ]).then(([favoritedByUsers, rebloggedByUsers]) => {\n commit('addFavs', { id, favoritedByUsers, currentUser: rootState.users.currentUser })\n commit('addRepeats', { id, rebloggedByUsers, currentUser: rootState.users.currentUser })\n })\n },\n fetchFavs ({ rootState, commit }, id) {\n rootState.api.backendInteractor.fetchFavoritedByUsers(id)\n .then(favoritedByUsers => commit('addFavs', { id, favoritedByUsers, currentUser: rootState.users.currentUser }))\n },\n fetchRepeats ({ rootState, commit }, id) {\n rootState.api.backendInteractor.fetchRebloggedByUsers(id)\n .then(rebloggedByUsers => commit('addRepeats', { id, rebloggedByUsers, currentUser: rootState.users.currentUser }))\n },\n search (store, { q, resolve, limit, offset, following }) {\n return store.rootState.api.backendInteractor.search2({ q, resolve, limit, offset, following })\n .then((data) => {\n store.commit('addNewUsers', data.accounts)\n store.commit('addNewStatuses', { statuses: data.statuses })\n return data\n })\n }\n },\n mutations\n}\n\nexport default statuses\n","const qvitterStatusType = (status) => {\n if (status.is_post_verb) {\n return 'status'\n }\n\n if (status.retweeted_status) {\n return 'retweet'\n }\n\n if ((typeof status.uri === 'string' && status.uri.match(/(fave|objectType=Favourite)/)) ||\n (typeof status.text === 'string' && status.text.match(/favorited/))) {\n return 'favorite'\n }\n\n if (status.text.match(/deleted notice {{tag/) || status.qvitter_delete_notice) {\n return 'deletion'\n }\n\n if (status.text.match(/started following/) || status.activity_type === 'follow') {\n return 'follow'\n }\n\n return 'unknown'\n}\n\nexport const parseUser = (data) => {\n const output = {}\n const masto = data.hasOwnProperty('acct')\n // case for users in \"mentions\" property for statuses in MastoAPI\n const mastoShort = masto && !data.hasOwnProperty('avatar')\n\n output.id = String(data.id)\n\n if (masto) {\n output.screen_name = data.acct\n output.statusnet_profile_url = data.url\n\n // There's nothing else to get\n if (mastoShort) {\n return output\n }\n\n output.name = data.display_name\n output.name_html = addEmojis(data.display_name, data.emojis)\n\n output.description = data.note\n output.description_html = addEmojis(data.note, data.emojis)\n\n output.fields = data.fields\n output.fields_html = data.fields.map(field => {\n return {\n name: addEmojis(field.name, data.emojis),\n value: addEmojis(field.value, data.emojis)\n }\n })\n\n // Utilize avatar_static for gif avatars?\n output.profile_image_url = data.avatar\n output.profile_image_url_original = data.avatar\n\n // Same, utilize header_static?\n output.cover_photo = data.header\n\n output.friends_count = data.following_count\n\n output.bot = data.bot\n\n if (data.pleroma) {\n const relationship = data.pleroma.relationship\n\n output.background_image = data.pleroma.background_image\n output.token = data.pleroma.chat_token\n\n if (relationship) {\n output.follows_you = relationship.followed_by\n output.requested = relationship.requested\n output.following = relationship.following\n output.statusnet_blocking = relationship.blocking\n output.muted = relationship.muting\n output.showing_reblogs = relationship.showing_reblogs\n output.subscribed = relationship.subscribing\n }\n\n output.hide_follows = data.pleroma.hide_follows\n output.hide_followers = data.pleroma.hide_followers\n output.hide_follows_count = data.pleroma.hide_follows_count\n output.hide_followers_count = data.pleroma.hide_followers_count\n\n output.rights = {\n moderator: data.pleroma.is_moderator,\n admin: data.pleroma.is_admin\n }\n // TODO: Clean up in UI? This is duplication from what BE does for qvitterapi\n if (output.rights.admin) {\n output.role = 'admin'\n } else if (output.rights.moderator) {\n output.role = 'moderator'\n } else {\n output.role = 'member'\n }\n }\n\n if (data.source) {\n output.description = data.source.note\n output.default_scope = data.source.privacy\n output.fields = data.source.fields\n if (data.source.pleroma) {\n output.no_rich_text = data.source.pleroma.no_rich_text\n output.show_role = data.source.pleroma.show_role\n output.discoverable = data.source.pleroma.discoverable\n }\n }\n\n // TODO: handle is_local\n output.is_local = !output.screen_name.includes('@')\n } else {\n output.screen_name = data.screen_name\n\n output.name = data.name\n output.name_html = data.name_html\n\n output.description = data.description\n output.description_html = data.description_html\n\n output.profile_image_url = data.profile_image_url\n output.profile_image_url_original = data.profile_image_url_original\n\n output.cover_photo = data.cover_photo\n\n output.friends_count = data.friends_count\n\n // output.bot = ??? missing\n\n output.statusnet_profile_url = data.statusnet_profile_url\n\n output.statusnet_blocking = data.statusnet_blocking\n\n output.is_local = data.is_local\n output.role = data.role\n output.show_role = data.show_role\n\n output.follows_you = data.follows_you\n\n output.muted = data.muted\n\n if (data.rights) {\n output.rights = {\n moderator: data.rights.delete_others_notice,\n admin: data.rights.admin\n }\n }\n output.no_rich_text = data.no_rich_text\n output.default_scope = data.default_scope\n output.hide_follows = data.hide_follows\n output.hide_followers = data.hide_followers\n output.hide_follows_count = data.hide_follows_count\n output.hide_followers_count = data.hide_followers_count\n output.background_image = data.background_image\n // on mastoapi this info is contained in a \"relationship\"\n output.following = data.following\n // Websocket token\n output.token = data.token\n }\n\n output.created_at = new Date(data.created_at)\n output.locked = data.locked\n output.followers_count = data.followers_count\n output.statuses_count = data.statuses_count\n output.friendIds = []\n output.followerIds = []\n output.pinnedStatusIds = []\n\n if (data.pleroma) {\n output.follow_request_count = data.pleroma.follow_request_count\n\n output.tags = data.pleroma.tags\n output.deactivated = data.pleroma.deactivated\n\n output.notification_settings = data.pleroma.notification_settings\n }\n\n output.tags = output.tags || []\n output.rights = output.rights || {}\n output.notification_settings = output.notification_settings || {}\n\n return output\n}\n\nexport const parseAttachment = (data) => {\n const output = {}\n const masto = !data.hasOwnProperty('oembed')\n\n if (masto) {\n // Not exactly same...\n output.mimetype = data.pleroma ? data.pleroma.mime_type : data.type\n output.meta = data.meta // not present in BE yet\n output.id = data.id\n } else {\n output.mimetype = data.mimetype\n // output.meta = ??? missing\n }\n\n output.url = data.url\n output.description = data.description\n\n return output\n}\nexport const addEmojis = (string, emojis) => {\n const matchOperatorsRegex = /[|\\\\{}()[\\]^$+*?.-]/g\n return emojis.reduce((acc, emoji) => {\n const regexSafeShortCode = emoji.shortcode.replace(matchOperatorsRegex, '\\\\$&')\n return acc.replace(\n new RegExp(`:${regexSafeShortCode}:`, 'g'),\n `<img src='${emoji.url}' alt='${emoji.shortcode}' title='${emoji.shortcode}' class='emoji' />`\n )\n }, string)\n}\n\nexport const parseStatus = (data) => {\n const output = {}\n const masto = data.hasOwnProperty('account')\n\n if (masto) {\n output.favorited = data.favourited\n output.fave_num = data.favourites_count\n\n output.repeated = data.reblogged\n output.repeat_num = data.reblogs_count\n\n output.type = data.reblog ? 'retweet' : 'status'\n output.nsfw = data.sensitive\n\n output.statusnet_html = addEmojis(data.content, data.emojis)\n\n output.tags = data.tags\n\n if (data.pleroma) {\n const { pleroma } = data\n output.text = pleroma.content ? data.pleroma.content['text/plain'] : data.content\n output.summary = pleroma.spoiler_text ? data.pleroma.spoiler_text['text/plain'] : data.spoiler_text\n output.statusnet_conversation_id = data.pleroma.conversation_id\n output.is_local = pleroma.local\n output.in_reply_to_screen_name = data.pleroma.in_reply_to_account_acct\n output.thread_muted = pleroma.thread_muted\n } else {\n output.text = data.content\n output.summary = data.spoiler_text\n }\n\n output.in_reply_to_status_id = data.in_reply_to_id\n output.in_reply_to_user_id = data.in_reply_to_account_id\n output.replies_count = data.replies_count\n\n if (output.type === 'retweet') {\n output.retweeted_status = parseStatus(data.reblog)\n }\n\n output.summary_html = addEmojis(data.spoiler_text, data.emojis)\n output.external_url = data.url\n output.poll = data.poll\n output.pinned = data.pinned\n output.muted = data.muted\n } else {\n output.favorited = data.favorited\n output.fave_num = data.fave_num\n\n output.repeated = data.repeated\n output.repeat_num = data.repeat_num\n\n // catchall, temporary\n // Object.assign(output, data)\n\n output.type = qvitterStatusType(data)\n\n if (data.nsfw === undefined) {\n output.nsfw = isNsfw(data)\n if (data.retweeted_status) {\n output.nsfw = data.retweeted_status.nsfw\n }\n } else {\n output.nsfw = data.nsfw\n }\n\n output.statusnet_html = data.statusnet_html\n output.text = data.text\n\n output.in_reply_to_status_id = data.in_reply_to_status_id\n output.in_reply_to_user_id = data.in_reply_to_user_id\n output.in_reply_to_screen_name = data.in_reply_to_screen_name\n output.statusnet_conversation_id = data.statusnet_conversation_id\n\n if (output.type === 'retweet') {\n output.retweeted_status = parseStatus(data.retweeted_status)\n }\n\n output.summary = data.summary\n output.summary_html = data.summary_html\n output.external_url = data.external_url\n output.is_local = data.is_local\n }\n\n output.id = String(data.id)\n output.visibility = data.visibility\n output.card = data.card\n output.created_at = new Date(data.created_at)\n\n // Converting to string, the right way.\n output.in_reply_to_status_id = output.in_reply_to_status_id\n ? String(output.in_reply_to_status_id)\n : null\n output.in_reply_to_user_id = output.in_reply_to_user_id\n ? String(output.in_reply_to_user_id)\n : null\n\n output.user = parseUser(masto ? data.account : data.user)\n\n output.attentions = ((masto ? data.mentions : data.attentions) || []).map(parseUser)\n\n output.attachments = ((masto ? data.media_attachments : data.attachments) || [])\n .map(parseAttachment)\n\n const retweetedStatus = masto ? data.reblog : data.retweeted_status\n if (retweetedStatus) {\n output.retweeted_status = parseStatus(retweetedStatus)\n }\n\n output.favoritedBy = []\n output.rebloggedBy = []\n\n return output\n}\n\nexport const parseNotification = (data) => {\n const mastoDict = {\n 'favourite': 'like',\n 'reblog': 'repeat'\n }\n const masto = !data.hasOwnProperty('ntype')\n const output = {}\n\n if (masto) {\n output.type = mastoDict[data.type] || data.type\n output.seen = data.pleroma.is_seen\n output.status = output.type === 'follow'\n ? null\n : parseStatus(data.status)\n output.action = output.status // TODO: Refactor, this is unneeded\n output.from_profile = parseUser(data.account)\n } else {\n const parsedNotice = parseStatus(data.notice)\n output.type = data.ntype\n output.seen = Boolean(data.is_seen)\n output.status = output.type === 'like'\n ? parseStatus(data.notice.favorited_status)\n : parsedNotice\n output.action = parsedNotice\n output.from_profile = parseUser(data.from_profile)\n }\n\n output.created_at = new Date(data.created_at)\n output.id = parseInt(data.id)\n\n return output\n}\n\nconst isNsfw = (status) => {\n const nsfwRegex = /#nsfw/i\n return (status.tags || []).includes('nsfw') || !!(status.text || '').match(nsfwRegex)\n}\n","import { humanizeErrors } from '../../modules/errors'\n\nexport function StatusCodeError (statusCode, body, options, response) {\n this.name = 'StatusCodeError'\n this.statusCode = statusCode\n this.message = statusCode + ' - ' + (JSON && JSON.stringify ? JSON.stringify(body) : body)\n this.error = body // legacy attribute\n this.options = options\n this.response = response\n\n if (Error.captureStackTrace) { // required for non-V8 environments\n Error.captureStackTrace(this)\n }\n}\nStatusCodeError.prototype = Object.create(Error.prototype)\nStatusCodeError.prototype.constructor = StatusCodeError\n\nexport class RegistrationError extends Error {\n constructor (error) {\n super()\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this)\n }\n\n try {\n // the error is probably a JSON object with a single key, \"errors\", whose value is another JSON object containing the real errors\n if (typeof error === 'string') {\n error = JSON.parse(error)\n if (error.hasOwnProperty('error')) {\n error = JSON.parse(error.error)\n }\n }\n\n if (typeof error === 'object') {\n // replace ap_id with username\n if (error.ap_id) {\n error.username = error.ap_id\n delete error.ap_id\n }\n this.message = humanizeErrors(error)\n } else {\n this.message = error\n }\n } catch (e) {\n // can't parse it, so just treat it like a string\n this.message = error\n }\n }\n}\n","import { capitalize } from 'lodash'\n\nexport function humanizeErrors (errors) {\n return Object.entries(errors).reduce((errs, [k, val]) => {\n let message = val.reduce((acc, message) => {\n let key = capitalize(k.replace(/_/g, ' '))\n return acc + [key, message].join(' ') + '. '\n }, '')\n return [...errs, message]\n }, [])\n}\n","import backendInteractorService from '../services/backend_interactor_service/backend_interactor_service.js'\nimport oauthApi from '../services/new_api/oauth.js'\nimport { compact, map, each, merge, last, concat, uniq } from 'lodash'\nimport { set } from 'vue'\nimport { registerPushNotifications, unregisterPushNotifications } from '../services/push/push.js'\n\n// TODO: Unify with mergeOrAdd in statuses.js\nexport const mergeOrAdd = (arr, obj, item) => {\n if (!item) { return false }\n const oldItem = obj[item.id]\n if (oldItem) {\n // We already have this, so only merge the new info.\n merge(oldItem, item)\n return { item: oldItem, new: false }\n } else {\n // This is a new item, prepare it\n arr.push(item)\n set(obj, item.id, item)\n if (item.screen_name && !item.screen_name.includes('@')) {\n set(obj, item.screen_name.toLowerCase(), item)\n }\n return { item, new: true }\n }\n}\n\nconst getNotificationPermission = () => {\n const Notification = window.Notification\n\n if (!Notification) return Promise.resolve(null)\n if (Notification.permission === 'default') return Notification.requestPermission()\n return Promise.resolve(Notification.permission)\n}\n\nconst blockUser = (store, id) => {\n return store.rootState.api.backendInteractor.blockUser(id)\n .then((relationship) => {\n store.commit('updateUserRelationship', [relationship])\n store.commit('addBlockId', id)\n store.commit('removeStatus', { timeline: 'friends', userId: id })\n store.commit('removeStatus', { timeline: 'public', userId: id })\n store.commit('removeStatus', { timeline: 'publicAndExternal', userId: id })\n })\n}\n\nconst unblockUser = (store, id) => {\n return store.rootState.api.backendInteractor.unblockUser(id)\n .then((relationship) => store.commit('updateUserRelationship', [relationship]))\n}\n\nconst muteUser = (store, id) => {\n return store.rootState.api.backendInteractor.muteUser(id)\n .then((relationship) => {\n store.commit('updateUserRelationship', [relationship])\n store.commit('addMuteId', id)\n })\n}\n\nconst unmuteUser = (store, id) => {\n return store.rootState.api.backendInteractor.unmuteUser(id)\n .then((relationship) => store.commit('updateUserRelationship', [relationship]))\n}\n\nconst hideReblogs = (store, userId) => {\n return store.rootState.api.backendInteractor.followUser({ id: userId, reblogs: false })\n .then((relationship) => {\n store.commit('updateUserRelationship', [relationship])\n })\n}\n\nconst showReblogs = (store, userId) => {\n return store.rootState.api.backendInteractor.followUser({ id: userId, reblogs: true })\n .then((relationship) => store.commit('updateUserRelationship', [relationship]))\n}\n\nconst fetchMascot = (store) => {\n return store.rootState.api.backendInteractor.fetchMascot()\n .then(({ url }) => store.commit('updateMascot', url))\n}\n\nexport const mutations = {\n setMuted (state, { user: { id }, muted }) {\n const user = state.usersObject[id]\n set(user, 'muted', muted)\n },\n tagUser (state, { user: { id }, tag }) {\n const user = state.usersObject[id]\n const tags = user.tags || []\n const newTags = tags.concat([tag])\n set(user, 'tags', newTags)\n },\n untagUser (state, { user: { id }, tag }) {\n const user = state.usersObject[id]\n const tags = user.tags || []\n const newTags = tags.filter(t => t !== tag)\n set(user, 'tags', newTags)\n },\n updateRight (state, { user: { id }, right, value }) {\n const user = state.usersObject[id]\n let newRights = user.rights\n newRights[right] = value\n set(user, 'rights', newRights)\n },\n updateActivationStatus (state, { user: { id }, status }) {\n const user = state.usersObject[id]\n set(user, 'deactivated', !status)\n },\n setCurrentUser (state, user) {\n state.lastLoginName = user.screen_name\n state.currentUser = merge(state.currentUser || {}, user)\n },\n clearCurrentUser (state) {\n state.currentUser = false\n state.lastLoginName = false\n },\n beginLogin (state) {\n state.loggingIn = true\n },\n endLogin (state) {\n state.loggingIn = false\n },\n saveFriendIds (state, { id, friendIds }) {\n const user = state.usersObject[id]\n user.friendIds = uniq(concat(user.friendIds, friendIds))\n },\n saveFollowerIds (state, { id, followerIds }) {\n const user = state.usersObject[id]\n user.followerIds = uniq(concat(user.followerIds, followerIds))\n },\n // Because frontend doesn't have a reason to keep these stuff in memory\n // outside of viewing someones user profile.\n clearFriends (state, userId) {\n const user = state.usersObject[userId]\n if (user) {\n set(user, 'friendIds', [])\n }\n },\n clearFollowers (state, userId) {\n const user = state.usersObject[userId]\n if (user) {\n set(user, 'followerIds', [])\n }\n },\n addNewUsers (state, users) {\n each(users, (user) => mergeOrAdd(state.users, state.usersObject, user))\n },\n updateUserRelationship (state, relationships) {\n relationships.forEach((relationship) => {\n const user = state.usersObject[relationship.id]\n if (user) {\n user.follows_you = relationship.followed_by\n user.following = relationship.following\n user.muted = relationship.muting\n user.statusnet_blocking = relationship.blocking\n user.subscribed = relationship.subscribing\n user.showing_reblogs = relationship.showing_reblogs\n }\n })\n },\n updateBlocks (state, blockedUsers) {\n // Reset statusnet_blocking of all fetched users\n each(state.users, (user) => { user.statusnet_blocking = false })\n each(blockedUsers, (user) => mergeOrAdd(state.users, state.usersObject, user))\n },\n saveBlockIds (state, blockIds) {\n state.currentUser.blockIds = blockIds\n },\n addBlockId (state, blockId) {\n if (state.currentUser.blockIds.indexOf(blockId) === -1) {\n state.currentUser.blockIds.push(blockId)\n }\n },\n updateMutes (state, mutedUsers) {\n // Reset muted of all fetched users\n each(state.users, (user) => { user.muted = false })\n each(mutedUsers, (user) => mergeOrAdd(state.users, state.usersObject, user))\n },\n saveMuteIds (state, muteIds) {\n state.currentUser.muteIds = muteIds\n },\n addMuteId (state, muteId) {\n if (state.currentUser.muteIds.indexOf(muteId) === -1) {\n state.currentUser.muteIds.push(muteId)\n }\n },\n updateMascot (state, mascotUrl) {\n state.currentUser.mascot = mascotUrl\n },\n setPinnedToUser (state, status) {\n const user = state.usersObject[status.user.id]\n const index = user.pinnedStatusIds.indexOf(status.id)\n if (status.pinned && index === -1) {\n user.pinnedStatusIds.push(status.id)\n } else if (!status.pinned && index !== -1) {\n user.pinnedStatusIds.splice(index, 1)\n }\n },\n setUserForStatus (state, status) {\n status.user = state.usersObject[status.user.id]\n },\n setUserForNotification (state, notification) {\n if (notification.type !== 'follow') {\n notification.action.user = state.usersObject[notification.action.user.id]\n }\n notification.from_profile = state.usersObject[notification.from_profile.id]\n },\n setColor (state, { user: { id }, highlighted }) {\n const user = state.usersObject[id]\n set(user, 'highlight', highlighted)\n },\n signUpPending (state) {\n state.signUpPending = true\n state.signUpErrors = []\n },\n signUpSuccess (state) {\n state.signUpPending = false\n },\n signUpFailure (state, errors) {\n state.signUpPending = false\n state.signUpErrors = errors\n }\n}\n\nexport const getters = {\n findUser: state => query => {\n const result = state.usersObject[query]\n // In case it's a screen_name, we can try searching case-insensitive\n if (!result && typeof query === 'string') {\n return state.usersObject[query.toLowerCase()]\n }\n return result\n }\n}\n\nexport const defaultState = {\n loggingIn: false,\n lastLoginName: false,\n currentUser: false,\n users: [],\n usersObject: {},\n signUpPending: false,\n signUpErrors: []\n}\n\nconst users = {\n state: defaultState,\n mutations,\n getters,\n actions: {\n fetchUser (store, id) {\n return store.rootState.api.backendInteractor.fetchUser({ id })\n .then((user) => {\n store.commit('addNewUsers', [user])\n return user\n })\n },\n fetchUserRelationship (store, id) {\n if (store.state.currentUser) {\n store.rootState.api.backendInteractor.fetchUserRelationship({ id })\n .then((relationships) => store.commit('updateUserRelationship', relationships))\n }\n },\n fetchBlocks (store) {\n return store.rootState.api.backendInteractor.fetchBlocks()\n .then((blocks) => {\n store.commit('saveBlockIds', map(blocks, 'id'))\n store.commit('updateBlocks', blocks)\n return blocks\n })\n },\n blockUser (store, id) {\n return blockUser(store, id)\n },\n unblockUser (store, id) {\n return unblockUser(store, id)\n },\n blockUsers (store, ids = []) {\n return Promise.all(ids.map(id => blockUser(store, id)))\n },\n unblockUsers (store, ids = []) {\n return Promise.all(ids.map(id => unblockUser(store, id)))\n },\n fetchMutes (store) {\n return store.rootState.api.backendInteractor.fetchMutes()\n .then((mutes) => {\n store.commit('updateMutes', mutes)\n store.commit('saveMuteIds', map(mutes, 'id'))\n return mutes\n })\n },\n muteUser (store, id) {\n return muteUser(store, id)\n },\n unmuteUser (store, id) {\n return unmuteUser(store, id)\n },\n hideReblogs (store, id) {\n return hideReblogs(store, id)\n },\n showReblogs (store, id) {\n return showReblogs(store, id)\n },\n muteUsers (store, ids = []) {\n return Promise.all(ids.map(id => muteUser(store, id)))\n },\n unmuteUsers (store, ids = []) {\n return Promise.all(ids.map(id => unmuteUser(store, id)))\n },\n fetchMascot (store) {\n return fetchMascot(store)\n },\n fetchFriends ({ rootState, commit }, id) {\n const user = rootState.users.usersObject[id]\n const maxId = last(user.friendIds)\n return rootState.api.backendInteractor.fetchFriends({ id, maxId })\n .then((friends) => {\n commit('addNewUsers', friends)\n commit('saveFriendIds', { id, friendIds: map(friends, 'id') })\n return friends\n })\n },\n fetchFollowers ({ rootState, commit }, id) {\n const user = rootState.users.usersObject[id]\n const maxId = last(user.followerIds)\n return rootState.api.backendInteractor.fetchFollowers({ id, maxId })\n .then((followers) => {\n commit('addNewUsers', followers)\n commit('saveFollowerIds', { id, followerIds: map(followers, 'id') })\n return followers\n })\n },\n clearFriends ({ commit }, userId) {\n commit('clearFriends', userId)\n },\n clearFollowers ({ commit }, userId) {\n commit('clearFollowers', userId)\n },\n subscribeUser ({ rootState, commit }, id) {\n return rootState.api.backendInteractor.subscribeUser(id)\n .then((relationship) => commit('updateUserRelationship', [relationship]))\n },\n unsubscribeUser ({ rootState, commit }, id) {\n return rootState.api.backendInteractor.unsubscribeUser(id)\n .then((relationship) => commit('updateUserRelationship', [relationship]))\n },\n registerPushNotifications (store) {\n const token = store.state.currentUser.credentials\n const vapidPublicKey = store.rootState.instance.vapidPublicKey\n const isEnabled = store.rootState.config.webPushNotifications\n const notificationVisibility = store.rootState.config.notificationVisibility\n\n registerPushNotifications(isEnabled, vapidPublicKey, token, notificationVisibility)\n },\n unregisterPushNotifications (store) {\n const token = store.state.currentUser.credentials\n\n unregisterPushNotifications(token)\n },\n addNewUsers ({ commit }, users) {\n commit('addNewUsers', users)\n },\n addNewStatuses (store, { statuses }) {\n const users = map(statuses, 'user')\n const retweetedUsers = compact(map(statuses, 'retweeted_status.user'))\n store.commit('addNewUsers', users)\n store.commit('addNewUsers', retweetedUsers)\n\n each(statuses, (status) => {\n // Reconnect users to statuses\n store.commit('setUserForStatus', status)\n // Set pinned statuses to user\n store.commit('setPinnedToUser', status)\n })\n each(compact(map(statuses, 'retweeted_status')), (status) => {\n // Reconnect users to retweets\n store.commit('setUserForStatus', status)\n // Set pinned retweets to user\n store.commit('setPinnedToUser', status)\n })\n },\n addNewNotifications (store, { notifications }) {\n const users = map(notifications, 'from_profile')\n const notificationIds = notifications.map(_ => _.id)\n store.commit('addNewUsers', users)\n\n const notificationsObject = store.rootState.statuses.notifications.idStore\n const relevantNotifications = Object.entries(notificationsObject)\n .filter(([k, val]) => notificationIds.includes(k))\n .map(([k, val]) => val)\n\n // Reconnect users to notifications\n each(relevantNotifications, (notification) => {\n store.commit('setUserForNotification', notification)\n })\n },\n searchUsers (store, query) {\n return store.rootState.api.backendInteractor.searchUsers(query)\n .then((users) => {\n store.commit('addNewUsers', users)\n return users\n })\n },\n async signUp (store, userInfo) {\n store.commit('signUpPending')\n\n let rootState = store.rootState\n\n try {\n let data = await rootState.api.backendInteractor.register(userInfo)\n store.commit('signUpSuccess')\n store.commit('setToken', data.access_token)\n store.dispatch('loginUser', data.access_token)\n } catch (e) {\n let errors = e.message\n store.commit('signUpFailure', errors)\n throw e\n }\n },\n async getCaptcha (store) {\n return store.rootState.api.backendInteractor.getCaptcha()\n },\n\n logout (store) {\n const { oauth, instance } = store.rootState\n\n const data = {\n ...oauth,\n commit: store.commit,\n instance: instance.server\n }\n\n return oauthApi.getOrCreateApp(data)\n .then((app) => {\n const params = {\n app,\n instance: data.instance,\n token: oauth.userToken\n }\n\n return oauthApi.revokeToken(params)\n })\n .then(() => {\n store.commit('clearCurrentUser')\n store.dispatch('disconnectFromSocket')\n store.commit('clearToken')\n store.dispatch('stopFetching', 'friends')\n store.commit('setBackendInteractor', backendInteractorService(store.getters.getToken()))\n store.dispatch('stopFetching', 'notifications')\n store.dispatch('stopFetching', 'followRequest')\n store.commit('clearNotifications')\n store.commit('resetStatuses')\n })\n },\n loginUser (store, accessToken) {\n return new Promise((resolve, reject) => {\n const commit = store.commit\n commit('beginLogin')\n store.rootState.api.backendInteractor.verifyCredentials(accessToken)\n .then((data) => {\n if (!data.error) {\n const user = data\n // user.credentials = userCredentials\n user.credentials = accessToken\n user.blockIds = []\n user.muteIds = []\n commit('setCurrentUser', user)\n commit('addNewUsers', [user])\n\n store.dispatch('fetchEmoji')\n\n getNotificationPermission()\n .then(permission => commit('setNotificationPermission', permission))\n\n // Set our new backend interactor\n commit('setBackendInteractor', backendInteractorService(accessToken))\n\n if (user.token) {\n store.dispatch('setWsToken', user.token)\n\n // Initialize the chat socket.\n store.dispatch('initializeSocket')\n }\n\n // Start getting fresh posts.\n store.dispatch('startFetchingTimeline', { timeline: 'friends' })\n\n // Start fetching notifications\n store.dispatch('startFetchingNotifications')\n\n // Get user mutes\n store.dispatch('fetchMutes')\n\n // Fetch our friends\n store.rootState.api.backendInteractor.fetchFriends({ id: user.id })\n .then((friends) => commit('addNewUsers', friends))\n } else {\n const response = data.error\n // Authentication failed\n commit('endLogin')\n if (response.status === 401) {\n reject(new Error('Wrong username or password'))\n } else {\n reject(new Error('An error occurred, please try again'))\n }\n }\n commit('endLogin')\n resolve()\n })\n .catch((error) => {\n console.log(error)\n commit('endLogin')\n reject(new Error('Failed to connect to server, try again'))\n })\n })\n }\n }\n}\n\nexport default users\n","import apiService from '../api/api.service.js'\n\nconst fetchAndUpdate = ({ store, credentials }) => {\n return apiService.fetchFollowRequests({ credentials })\n .then((requests) => {\n store.commit('setFollowRequests', requests)\n }, () => {})\n .catch(() => {})\n}\n\nconst startFetching = ({ credentials, store }) => {\n fetchAndUpdate({ credentials, store })\n const boundFetchAndUpdate = () => fetchAndUpdate({ credentials, store })\n return setInterval(boundFetchAndUpdate, 10000)\n}\n\nconst followRequestFetcher = {\n startFetching\n}\n\nexport default followRequestFetcher\n","import runtime from 'serviceworker-webpack-plugin/lib/runtime'\n\nfunction urlBase64ToUint8Array (base64String) {\n const padding = '='.repeat((4 - base64String.length % 4) % 4)\n const base64 = (base64String + padding)\n .replace(/-/g, '+')\n .replace(/_/g, '/')\n\n const rawData = window.atob(base64)\n return Uint8Array.from([...rawData].map((char) => char.charCodeAt(0)))\n}\n\nfunction isPushSupported () {\n return 'serviceWorker' in navigator && 'PushManager' in window\n}\n\nfunction getOrCreateServiceWorker () {\n return runtime.register()\n .catch((err) => console.error('Unable to get or create a service worker.', err))\n}\n\nfunction subscribePush (registration, isEnabled, vapidPublicKey) {\n if (!isEnabled) return Promise.reject(new Error('Web Push is disabled in config'))\n if (!vapidPublicKey) return Promise.reject(new Error('VAPID public key is not found'))\n\n const subscribeOptions = {\n userVisibleOnly: true,\n applicationServerKey: urlBase64ToUint8Array(vapidPublicKey)\n }\n return registration.pushManager.subscribe(subscribeOptions)\n}\n\nfunction unsubscribePush (registration) {\n return registration.pushManager.getSubscription()\n .then((subscribtion) => {\n if (subscribtion === null) { return }\n return subscribtion.unsubscribe()\n })\n}\n\nfunction deleteSubscriptionFromBackEnd (token) {\n return window.fetch('/api/v1/push/subscription/', {\n method: 'DELETE',\n headers: {\n 'Content-Type': 'application/json',\n 'Authorization': `Bearer ${token}`\n }\n }).then((response) => {\n if (!response.ok) throw new Error('Bad status code from server.')\n return response\n })\n}\n\nfunction sendSubscriptionToBackEnd (subscription, token, notificationVisibility) {\n return window.fetch('/api/v1/push/subscription/', {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json',\n 'Authorization': `Bearer ${token}`\n },\n body: JSON.stringify({\n subscription,\n data: {\n alerts: {\n follow: notificationVisibility.follows,\n favourite: notificationVisibility.likes,\n mention: notificationVisibility.mentions,\n reblog: notificationVisibility.repeats\n }\n }\n })\n }).then((response) => {\n if (!response.ok) throw new Error('Bad status code from server.')\n return response.json()\n }).then((responseData) => {\n if (!responseData.id) throw new Error('Bad response from server.')\n return responseData\n })\n}\n\nexport function registerPushNotifications (isEnabled, vapidPublicKey, token, notificationVisibility) {\n if (isPushSupported()) {\n getOrCreateServiceWorker()\n .then((registration) => subscribePush(registration, isEnabled, vapidPublicKey))\n .then((subscription) => sendSubscriptionToBackEnd(subscription, token, notificationVisibility))\n .catch((e) => console.warn(`Failed to setup Web Push Notifications: ${e.message}`))\n }\n}\n\nexport function unregisterPushNotifications (token) {\n if (isPushSupported()) {\n Promise.all([\n deleteSubscriptionFromBackEnd(token),\n getOrCreateServiceWorker()\n .then((registration) => {\n return unsubscribePush(registration).then((result) => [registration, result])\n })\n .then(([registration, unsubResult]) => {\n if (!unsubResult) {\n console.warn('Push subscription cancellation wasn\\'t successful, killing SW anyway...')\n }\n return registration.unregister().then((result) => {\n if (!result) {\n console.warn('Failed to kill SW')\n }\n })\n })\n ]).catch((e) => console.warn(`Failed to disable Web Push Notifications: ${e.message}`))\n }\n}\n","import backendInteractorService from '../services/backend_interactor_service/backend_interactor_service.js'\nimport { Socket } from 'phoenix'\n\nconst api = {\n state: {\n backendInteractor: backendInteractorService(),\n fetchers: {},\n socket: null,\n followRequests: []\n },\n mutations: {\n setBackendInteractor (state, backendInteractor) {\n state.backendInteractor = backendInteractor\n },\n addFetcher (state, { fetcherName, fetcher }) {\n state.fetchers[fetcherName] = fetcher\n },\n removeFetcher (state, { fetcherName }) {\n delete state.fetchers[fetcherName]\n },\n setWsToken (state, token) {\n state.wsToken = token\n },\n setSocket (state, socket) {\n state.socket = socket\n },\n setFollowRequests (state, value) {\n state.followRequests = value\n }\n },\n actions: {\n startFetchingTimeline (store, { timeline = 'friends', tag = false, userId = false }) {\n // Don't start fetching if we already are.\n if (store.state.fetchers[timeline]) return\n\n const fetcher = store.state.backendInteractor.startFetchingTimeline({ timeline, store, userId, tag })\n store.commit('addFetcher', { fetcherName: timeline, fetcher })\n },\n startFetchingNotifications (store) {\n // Don't start fetching if we already are.\n if (store.state.fetchers['notifications']) return\n\n const fetcher = store.state.backendInteractor.startFetchingNotifications({ store })\n store.commit('addFetcher', { fetcherName: 'notifications', fetcher })\n },\n startFetchingFollowRequest (store) {\n // Don't start fetching if we already are.\n if (store.state.fetchers['followRequest']) return\n\n const fetcher = store.state.backendInteractor.startFetchingFollowRequest({ store })\n store.commit('addFetcher', { fetcherName: 'followRequest', fetcher })\n },\n stopFetching (store, fetcherName) {\n const fetcher = store.state.fetchers[fetcherName]\n window.clearInterval(fetcher)\n store.commit('removeFetcher', { fetcherName })\n },\n setWsToken (store, token) {\n store.commit('setWsToken', token)\n },\n initializeSocket ({ dispatch, commit, state, rootState }) {\n // Set up websocket connection\n const token = state.wsToken\n if (rootState.instance.chatAvailable && typeof token !== 'undefined' && state.socket === null) {\n const socket = new Socket('/socket', { params: { token } })\n socket.connect()\n\n commit('setSocket', socket)\n dispatch('initializeChat', socket)\n }\n },\n disconnectFromSocket ({ commit, state }) {\n state.socket && state.socket.disconnect()\n commit('setSocket', null)\n },\n removeFollowRequest (store, request) {\n let requests = store.state.followRequests.filter((it) => it !== request)\n store.commit('setFollowRequests', requests)\n }\n }\n}\n\nexport default api\n","const chat = {\n state: {\n messages: [],\n channel: { state: '' }\n },\n mutations: {\n setChannel (state, channel) {\n state.channel = channel\n },\n addMessage (state, message) {\n state.messages.push(message)\n state.messages = state.messages.slice(-19, 20)\n },\n setMessages (state, messages) {\n state.messages = messages.slice(-19, 20)\n }\n },\n actions: {\n initializeChat (store, socket) {\n const channel = socket.channel('chat:public')\n channel.on('new_msg', (msg) => {\n store.commit('addMessage', msg)\n })\n channel.on('messages', ({ messages }) => {\n store.commit('setMessages', messages)\n })\n channel.join()\n store.commit('setChannel', channel)\n }\n }\n}\n\nexport default chat\n","import { delete as del } from 'vue'\n\nconst oauth = {\n state: {\n clientId: false,\n clientSecret: false,\n /* App token is authentication for app without any user, used mostly for\n * MastoAPI's registration of new users, stored so that we can fall back to\n * it on logout\n */\n appToken: false,\n /* User token is authentication for app with user, this is for every calls\n * that need authorized user to be successful (i.e. posting, liking etc)\n */\n userToken: false\n },\n mutations: {\n setClientData (state, { clientId, clientSecret }) {\n state.clientId = clientId\n state.clientSecret = clientSecret\n },\n setAppToken (state, token) {\n state.appToken = token\n },\n setToken (state, token) {\n state.userToken = token\n },\n clearToken (state) {\n state.userToken = false\n // state.token is userToken with older name, coming from persistent state\n // let's clear it as well, since it is being used as a fallback of state.userToken\n del(state, 'token')\n }\n },\n getters: {\n getToken: state => () => {\n // state.token is userToken with older name, coming from persistent state\n // added here for smoother transition, otherwise user will be logged out\n return state.userToken || state.token || state.appToken\n },\n getUserToken: state => () => {\n // state.token is userToken with older name, coming from persistent state\n // added here for smoother transition, otherwise user will be logged out\n return state.userToken || state.token\n }\n }\n}\n\nexport default oauth\n","const PASSWORD_STRATEGY = 'password'\nconst TOKEN_STRATEGY = 'token'\n\n// MFA strategies\nconst TOTP_STRATEGY = 'totp'\nconst RECOVERY_STRATEGY = 'recovery'\n\n// initial state\nconst state = {\n app: null,\n settings: {},\n strategy: PASSWORD_STRATEGY,\n initStrategy: PASSWORD_STRATEGY // default strategy from config\n}\n\nconst resetState = (state) => {\n state.strategy = state.initStrategy\n state.settings = {}\n state.app = null\n}\n\n// getters\nconst getters = {\n app: (state, getters) => {\n return state.app\n },\n settings: (state, getters) => {\n return state.settings\n },\n requiredPassword: (state, getters, rootState) => {\n return state.strategy === PASSWORD_STRATEGY\n },\n requiredToken: (state, getters, rootState) => {\n return state.strategy === TOKEN_STRATEGY\n },\n requiredTOTP: (state, getters, rootState) => {\n return state.strategy === TOTP_STRATEGY\n },\n requiredRecovery: (state, getters, rootState) => {\n return state.strategy === RECOVERY_STRATEGY\n }\n}\n\n// mutations\nconst mutations = {\n setInitialStrategy (state, strategy) {\n if (strategy) {\n state.initStrategy = strategy\n state.strategy = strategy\n }\n },\n requirePassword (state) {\n state.strategy = PASSWORD_STRATEGY\n },\n requireToken (state) {\n state.strategy = TOKEN_STRATEGY\n },\n requireMFA (state, { app, settings }) {\n state.settings = settings\n state.app = app\n state.strategy = TOTP_STRATEGY // default strategy of MFA\n },\n requireRecovery (state) {\n state.strategy = RECOVERY_STRATEGY\n },\n requireTOTP (state) {\n state.strategy = TOTP_STRATEGY\n },\n abortMFA (state) {\n resetState(state)\n }\n}\n\n// actions\nconst actions = {\n // eslint-disable-next-line camelcase\n async login ({ state, dispatch, commit }, { access_token }) {\n commit('setToken', access_token, { root: true })\n await dispatch('loginUser', access_token, { root: true })\n resetState(state)\n }\n}\n\nexport default {\n namespaced: true,\n state,\n getters,\n mutations,\n actions\n}\n","import fileTypeService from '../services/file_type/file_type.service.js'\n\nconst mediaViewer = {\n state: {\n media: [],\n currentIndex: 0,\n activated: false\n },\n mutations: {\n setMedia (state, media) {\n state.media = media\n },\n setCurrent (state, index) {\n state.activated = true\n state.currentIndex = index\n },\n close (state) {\n state.activated = false\n }\n },\n actions: {\n setMedia ({ commit }, attachments) {\n const media = attachments.filter(attachment => {\n const type = fileTypeService.fileType(attachment.mimetype)\n return type === 'image' || type === 'video'\n })\n commit('setMedia', media)\n },\n setCurrent ({ commit, state }, current) {\n const index = state.media.indexOf(current)\n commit('setCurrent', index || 0)\n },\n closeMediaViewer ({ commit }) {\n commit('close')\n }\n }\n}\n\nexport default mediaViewer\n","const oauthTokens = {\n state: {\n tokens: []\n },\n actions: {\n fetchTokens ({ rootState, commit }) {\n rootState.api.backendInteractor.fetchOAuthTokens().then((tokens) => {\n commit('swapTokens', tokens)\n })\n },\n revokeToken ({ rootState, commit, state }, id) {\n rootState.api.backendInteractor.revokeOAuthToken(id).then((response) => {\n if (response.status === 201) {\n commit('swapTokens', state.tokens.filter(token => token.id !== id))\n }\n })\n }\n },\n mutations: {\n swapTokens (state, tokens) {\n state.tokens = tokens\n }\n }\n}\n\nexport default oauthTokens\n","import filter from 'lodash/filter'\n\nconst reports = {\n state: {\n userId: null,\n statuses: [],\n modalActivated: false\n },\n mutations: {\n openUserReportingModal (state, { userId, statuses }) {\n state.userId = userId\n state.statuses = statuses\n state.modalActivated = true\n },\n closeUserReportingModal (state) {\n state.modalActivated = false\n }\n },\n actions: {\n openUserReportingModal ({ rootState, commit }, userId) {\n const statuses = filter(rootState.statuses.allStatuses, status => status.user.id === userId)\n commit('openUserReportingModal', { userId, statuses })\n },\n closeUserReportingModal ({ commit }) {\n commit('closeUserReportingModal')\n }\n }\n}\n\nexport default reports\n","import { merge } from 'lodash'\nimport { set } from 'vue'\n\nconst polls = {\n state: {\n // Contains key = id, value = number of trackers for this poll\n trackedPolls: {},\n pollsObject: {}\n },\n mutations: {\n mergeOrAddPoll (state, poll) {\n const existingPoll = state.pollsObject[poll.id]\n // Make expired-state change trigger re-renders properly\n poll.expired = Date.now() > Date.parse(poll.expires_at)\n if (existingPoll) {\n set(state.pollsObject, poll.id, merge(existingPoll, poll))\n } else {\n set(state.pollsObject, poll.id, poll)\n }\n },\n trackPoll (state, pollId) {\n const currentValue = state.trackedPolls[pollId]\n if (currentValue) {\n set(state.trackedPolls, pollId, currentValue + 1)\n } else {\n set(state.trackedPolls, pollId, 1)\n }\n },\n untrackPoll (state, pollId) {\n const currentValue = state.trackedPolls[pollId]\n if (currentValue) {\n set(state.trackedPolls, pollId, currentValue - 1)\n } else {\n set(state.trackedPolls, pollId, 0)\n }\n }\n },\n actions: {\n mergeOrAddPoll ({ commit }, poll) {\n commit('mergeOrAddPoll', poll)\n },\n updateTrackedPoll ({ rootState, dispatch, commit }, pollId) {\n rootState.api.backendInteractor.fetchPoll(pollId).then(poll => {\n setTimeout(() => {\n if (rootState.polls.trackedPolls[pollId]) {\n dispatch('updateTrackedPoll', pollId)\n }\n }, 30 * 1000)\n commit('mergeOrAddPoll', poll)\n })\n },\n trackPoll ({ rootState, commit, dispatch }, pollId) {\n if (!rootState.polls.trackedPolls[pollId]) {\n setTimeout(() => dispatch('updateTrackedPoll', pollId), 30 * 1000)\n }\n commit('trackPoll', pollId)\n },\n untrackPoll ({ commit }, pollId) {\n commit('untrackPoll', pollId)\n },\n votePoll ({ rootState, commit }, { id, pollId, choices }) {\n return rootState.api.backendInteractor.vote(pollId, choices).then(poll => {\n commit('mergeOrAddPoll', poll)\n return poll\n })\n }\n }\n}\n\nexport default polls\n","const postStatus = {\n state: {\n params: null,\n modalActivated: false\n },\n mutations: {\n openPostStatusModal (state, params) {\n state.params = params\n state.modalActivated = true\n },\n closePostStatusModal (state) {\n state.modalActivated = false\n }\n },\n actions: {\n openPostStatusModal ({ commit }, params) {\n commit('openPostStatusModal', params)\n },\n closePostStatusModal ({ commit }) {\n commit('closePostStatusModal')\n }\n }\n}\n\nexport default postStatus\n","import merge from 'lodash.merge'\nimport objectPath from 'object-path'\nimport localforage from 'localforage'\nimport { each } from 'lodash'\n\nlet loaded = false\n\nconst defaultReducer = (state, paths) => (\n paths.length === 0 ? state : paths.reduce((substate, path) => {\n objectPath.set(substate, path, objectPath.get(state, path))\n return substate\n }, {})\n)\n\nconst saveImmedeatelyActions = [\n 'markNotificationsAsSeen',\n 'clearCurrentUser',\n 'setCurrentUser',\n 'setHighlight',\n 'setOption',\n 'setClientData',\n 'setToken',\n 'clearToken'\n]\n\nconst defaultStorage = (() => {\n return localforage\n})()\n\nexport default function createPersistedState ({\n key = 'vuex-lz',\n paths = [],\n getState = (key, storage) => {\n let value = storage.getItem(key)\n return value\n },\n setState = (key, state, storage) => {\n if (!loaded) {\n console.log('waiting for old state to be loaded...')\n return Promise.resolve()\n } else {\n return storage.setItem(key, state)\n }\n },\n reducer = defaultReducer,\n storage = defaultStorage,\n subscriber = store => handler => store.subscribe(handler)\n} = {}) {\n return getState(key, storage).then((savedState) => {\n return store => {\n try {\n if (savedState !== null && typeof savedState === 'object') {\n // build user cache\n const usersState = savedState.users || {}\n usersState.usersObject = {}\n const users = usersState.users || []\n each(users, (user) => { usersState.usersObject[user.id] = user })\n savedState.users = usersState\n\n store.replaceState(\n merge({}, store.state, savedState)\n )\n }\n loaded = true\n } catch (e) {\n console.log(\"Couldn't load state\")\n console.error(e)\n loaded = true\n }\n subscriber(store)((mutation, state) => {\n try {\n if (saveImmedeatelyActions.includes(mutation.type)) {\n setState(key, reducer(state, paths), storage)\n .then(success => {\n if (typeof success !== 'undefined') {\n if (mutation.type === 'setOption' || mutation.type === 'setCurrentUser') {\n store.dispatch('settingsSaved', { success })\n }\n }\n }, error => {\n if (mutation.type === 'setOption' || mutation.type === 'setCurrentUser') {\n store.dispatch('settingsSaved', { error })\n }\n })\n }\n } catch (e) {\n console.log(\"Couldn't persist state:\")\n console.log(e)\n }\n })\n }\n })\n}\n","export default (store) => {\n store.subscribe((mutation, state) => {\n const vapidPublicKey = state.instance.vapidPublicKey\n const webPushNotification = state.config.webPushNotifications\n const permission = state.interface.notificationPermission === 'granted'\n const user = state.users.currentUser\n\n const isUserMutation = mutation.type === 'setCurrentUser'\n const isVapidMutation = mutation.type === 'setInstanceOption' && mutation.payload.name === 'vapidPublicKey'\n const isPermMutation = mutation.type === 'setNotificationPermission' && mutation.payload === 'granted'\n const isUserConfigMutation = mutation.type === 'setOption' && mutation.payload.name === 'webPushNotifications'\n const isVisibilityMutation = mutation.type === 'setOption' && mutation.payload.name === 'notificationVisibility'\n\n if (isUserMutation || isVapidMutation || isPermMutation || isUserConfigMutation || isVisibilityMutation) {\n if (user && vapidPublicKey && permission && webPushNotification) {\n return store.dispatch('registerPushNotifications')\n } else if (isUserConfigMutation && !webPushNotification) {\n return store.dispatch('unregisterPushNotifications')\n }\n }\n })\n}\n","import * as bodyScrollLock from 'body-scroll-lock'\n\nlet previousNavPaddingRight\nlet previousAppBgWrapperRight\nconst lockerEls = new Set([])\n\nconst disableBodyScroll = (el) => {\n const scrollBarGap = window.innerWidth - document.documentElement.clientWidth\n bodyScrollLock.disableBodyScroll(el, {\n reserveScrollBarGap: true\n })\n lockerEls.add(el)\n setTimeout(() => {\n if (lockerEls.size <= 1) {\n // If previousNavPaddingRight is already set, don't set it again.\n if (previousNavPaddingRight === undefined) {\n const navEl = document.getElementById('nav')\n previousNavPaddingRight = window.getComputedStyle(navEl).getPropertyValue('padding-right')\n navEl.style.paddingRight = previousNavPaddingRight ? `calc(${previousNavPaddingRight} + ${scrollBarGap}px)` : `${scrollBarGap}px`\n }\n // If previousAppBgWrapeprRight is already set, don't set it again.\n if (previousAppBgWrapperRight === undefined) {\n const appBgWrapperEl = document.getElementById('app_bg_wrapper')\n previousAppBgWrapperRight = window.getComputedStyle(appBgWrapperEl).getPropertyValue('right')\n appBgWrapperEl.style.right = previousAppBgWrapperRight ? `calc(${previousAppBgWrapperRight} + ${scrollBarGap}px)` : `${scrollBarGap}px`\n }\n document.body.classList.add('scroll-locked')\n }\n })\n}\n\nconst enableBodyScroll = (el) => {\n lockerEls.delete(el)\n setTimeout(() => {\n if (lockerEls.size === 0) {\n if (previousNavPaddingRight !== undefined) {\n document.getElementById('nav').style.paddingRight = previousNavPaddingRight\n // Restore previousNavPaddingRight to undefined so disableBodyScroll knows it can be set again.\n previousNavPaddingRight = undefined\n }\n if (previousAppBgWrapperRight !== undefined) {\n document.getElementById('app_bg_wrapper').style.right = previousAppBgWrapperRight\n // Restore previousAppBgWrapperRight to undefined so disableBodyScroll knows it can be set again.\n previousAppBgWrapperRight = undefined\n }\n document.body.classList.remove('scroll-locked')\n }\n })\n bodyScrollLock.enableBodyScroll(el)\n}\n\nconst directive = {\n inserted: (el, binding) => {\n if (binding.value) {\n disableBodyScroll(el)\n }\n },\n componentUpdated: (el, binding) => {\n if (binding.oldValue === binding.value) {\n return\n }\n\n if (binding.value) {\n disableBodyScroll(el)\n } else {\n enableBodyScroll(el)\n }\n },\n unbind: (el) => {\n enableBodyScroll(el)\n }\n}\n\nexport default (Vue) => {\n Vue.directive('body-scroll-lock', directive)\n}\n","import Vue from 'vue'\nimport VueRouter from 'vue-router'\nimport routes from './routes'\nimport App from '../App.vue'\nimport { windowWidth } from '../services/window_utils/window_utils'\nimport { getOrCreateApp, getClientToken } from '../services/new_api/oauth.js'\nimport backendInteractorService from '../services/backend_interactor_service/backend_interactor_service.js'\n\nconst getStatusnetConfig = async ({ store }) => {\n try {\n const res = await window.fetch('/api/statusnet/config.json')\n if (res.ok) {\n const data = await res.json()\n const { name, closed: registrationClosed, textlimit, uploadlimit, server, vapidPublicKey, safeDMMentionsEnabled } = data.site\n\n store.dispatch('setInstanceOption', { name: 'name', value: name })\n store.dispatch('setInstanceOption', { name: 'registrationOpen', value: (registrationClosed === '0') })\n store.dispatch('setInstanceOption', { name: 'textlimit', value: parseInt(textlimit) })\n store.dispatch('setInstanceOption', { name: 'server', value: server })\n store.dispatch('setInstanceOption', { name: 'safeDM', value: safeDMMentionsEnabled !== '0' })\n\n // TODO: default values for this stuff, added if to not make it break on\n // my dev config out of the box.\n if (uploadlimit) {\n store.dispatch('setInstanceOption', { name: 'uploadlimit', value: parseInt(uploadlimit.uploadlimit) })\n store.dispatch('setInstanceOption', { name: 'avatarlimit', value: parseInt(uploadlimit.avatarlimit) })\n store.dispatch('setInstanceOption', { name: 'backgroundlimit', value: parseInt(uploadlimit.backgroundlimit) })\n store.dispatch('setInstanceOption', { name: 'bannerlimit', value: parseInt(uploadlimit.bannerlimit) })\n }\n\n if (vapidPublicKey) {\n store.dispatch('setInstanceOption', { name: 'vapidPublicKey', value: vapidPublicKey })\n }\n\n return data.site.pleromafe\n } else {\n throw (res)\n }\n } catch (error) {\n console.error('Could not load statusnet config, potentially fatal')\n console.error(error)\n }\n}\n\nconst getStaticConfig = async () => {\n try {\n const res = await window.fetch('/static/config.json')\n if (res.ok) {\n return res.json()\n } else {\n throw (res)\n }\n } catch (error) {\n console.warn('Failed to load static/config.json, continuing without it.')\n console.warn(error)\n return {}\n }\n}\n\nconst setSettings = async ({ apiConfig, staticConfig, store }) => {\n const overrides = window.___pleromafe_dev_overrides || {}\n const env = window.___pleromafe_mode.NODE_ENV\n\n // This takes static config and overrides properties that are present in apiConfig\n let config = {}\n if (overrides.staticConfigPreference && env === 'development') {\n console.warn('OVERRIDING API CONFIG WITH STATIC CONFIG')\n config = Object.assign({}, apiConfig, staticConfig)\n } else {\n config = Object.assign({}, staticConfig, apiConfig)\n }\n\n const copyInstanceOption = (name) => {\n store.dispatch('setInstanceOption', { name, value: config[name] })\n }\n\n copyInstanceOption('nsfwCensorImage')\n copyInstanceOption('background')\n copyInstanceOption('hidePostStats')\n copyInstanceOption('hideUserStats')\n copyInstanceOption('hideFilteredStatuses')\n copyInstanceOption('logo')\n\n store.dispatch('setInstanceOption', {\n name: 'logoMask',\n value: typeof config.logoMask === 'undefined'\n ? true\n : config.logoMask\n })\n\n store.dispatch('setInstanceOption', {\n name: 'logoMargin',\n value: typeof config.logoMargin === 'undefined'\n ? 0\n : config.logoMargin\n })\n store.commit('authFlow/setInitialStrategy', config.loginMethod)\n\n copyInstanceOption('redirectRootNoLogin')\n copyInstanceOption('redirectRootLogin')\n copyInstanceOption('showInstanceSpecificPanel')\n copyInstanceOption('minimalScopesMode')\n copyInstanceOption('hideMutedPosts')\n copyInstanceOption('collapseMessageWithSubject')\n copyInstanceOption('scopeCopy')\n copyInstanceOption('subjectLineBehavior')\n copyInstanceOption('postContentType')\n copyInstanceOption('alwaysShowSubjectInput')\n copyInstanceOption('noAttachmentLinks')\n copyInstanceOption('showFeaturesPanel')\n\n return store.dispatch('setTheme', config['theme'])\n}\n\nconst getTOS = async ({ store }) => {\n try {\n const res = await window.fetch('/static/terms-of-service.html')\n if (res.ok) {\n const html = await res.text()\n store.dispatch('setInstanceOption', { name: 'tos', value: html })\n } else {\n throw (res)\n }\n } catch (e) {\n console.warn(\"Can't load TOS\")\n console.warn(e)\n }\n}\n\nconst getInstancePanel = async ({ store }) => {\n try {\n const res = await window.fetch('/instance/panel.html')\n if (res.ok) {\n const html = await res.text()\n store.dispatch('setInstanceOption', { name: 'instanceSpecificPanelContent', value: html })\n } else {\n throw (res)\n }\n } catch (e) {\n console.warn(\"Can't load instance panel\")\n console.warn(e)\n }\n}\n\nconst getStickers = async ({ store }) => {\n try {\n const res = await window.fetch('/static/stickers.json')\n if (res.ok) {\n const values = await res.json()\n const stickers = (await Promise.all(\n Object.entries(values).map(async ([name, path]) => {\n const resPack = await window.fetch(path + 'pack.json')\n var meta = {}\n if (resPack.ok) {\n meta = await resPack.json()\n }\n return {\n pack: name,\n path,\n meta\n }\n })\n )).sort((a, b) => {\n return a.meta.title.localeCompare(b.meta.title)\n })\n store.dispatch('setInstanceOption', { name: 'stickers', value: stickers })\n } else {\n throw (res)\n }\n } catch (e) {\n console.warn(\"Can't load stickers\")\n console.warn(e)\n }\n}\n\nconst getAppSecret = async ({ store }) => {\n const { state, commit } = store\n const { oauth, instance } = state\n return getOrCreateApp({ ...oauth, instance: instance.server, commit })\n .then((app) => getClientToken({ ...app, instance: instance.server }))\n .then((token) => {\n commit('setAppToken', token.access_token)\n commit('setBackendInteractor', backendInteractorService(store.getters.getToken()))\n })\n}\n\nconst resolveStaffAccounts = async ({ store, accounts }) => {\n const backendInteractor = store.state.api.backendInteractor\n let nicknames = accounts.map(uri => uri.split('/').pop())\n .map(id => backendInteractor.fetchUser({ id }))\n nicknames = await Promise.all(nicknames)\n\n store.dispatch('setInstanceOption', { name: 'staffAccounts', value: nicknames })\n}\n\nconst getNodeInfo = async ({ store }) => {\n try {\n const res = await window.fetch('/nodeinfo/2.0.json')\n if (res.ok) {\n const data = await res.json()\n const metadata = data.metadata\n const features = metadata.features\n store.dispatch('setInstanceOption', { name: 'mediaProxyAvailable', value: features.includes('media_proxy') })\n store.dispatch('setInstanceOption', { name: 'chatAvailable', value: features.includes('chat') })\n store.dispatch('setInstanceOption', { name: 'gopherAvailable', value: features.includes('gopher') })\n store.dispatch('setInstanceOption', { name: 'pollsAvailable', value: features.includes('polls') })\n store.dispatch('setInstanceOption', { name: 'pollLimits', value: metadata.pollLimits })\n store.dispatch('setInstanceOption', { name: 'mailerEnabled', value: metadata.mailerEnabled })\n\n store.dispatch('setInstanceOption', { name: 'restrictedNicknames', value: metadata.restrictedNicknames })\n store.dispatch('setInstanceOption', { name: 'postFormats', value: metadata.postFormats })\n\n const suggestions = metadata.suggestions\n store.dispatch('setInstanceOption', { name: 'suggestionsEnabled', value: suggestions.enabled })\n store.dispatch('setInstanceOption', { name: 'suggestionsWeb', value: suggestions.web })\n\n const software = data.software\n store.dispatch('setInstanceOption', { name: 'backendVersion', value: software.version })\n store.dispatch('setInstanceOption', { name: 'pleromaBackend', value: software.name === 'pleroma' })\n\n const frontendVersion = window.___pleromafe_commit_hash\n store.dispatch('setInstanceOption', { name: 'frontendVersion', value: frontendVersion })\n store.dispatch('setInstanceOption', { name: 'tagPolicyAvailable', value: metadata.federation.mrf_policies.includes('TagPolicy') })\n\n const federation = metadata.federation\n store.dispatch('setInstanceOption', { name: 'federationPolicy', value: federation })\n\n const accounts = metadata.staffAccounts\n await resolveStaffAccounts({ store, accounts })\n } else {\n throw (res)\n }\n } catch (e) {\n console.warn('Could not load nodeinfo')\n console.warn(e)\n }\n}\n\nconst setConfig = async ({ store }) => {\n // apiConfig, staticConfig\n const configInfos = await Promise.all([getStatusnetConfig({ store }), getStaticConfig()])\n const apiConfig = configInfos[0]\n const staticConfig = configInfos[1]\n\n await setSettings({ store, apiConfig, staticConfig }).then(getAppSecret({ store }))\n}\n\nconst checkOAuthToken = async ({ store }) => {\n return new Promise(async (resolve, reject) => {\n if (store.getters.getUserToken()) {\n try {\n await store.dispatch('loginUser', store.getters.getUserToken())\n } catch (e) {\n console.log(e)\n }\n }\n resolve()\n })\n}\n\nconst afterStoreSetup = async ({ store, i18n }) => {\n if (store.state.config.customTheme) {\n // This is a hack to deal with async loading of config.json and themes\n // See: style_setter.js, setPreset()\n window.themeLoaded = true\n store.dispatch('setOption', {\n name: 'customTheme',\n value: store.state.config.customTheme\n })\n }\n\n const width = windowWidth()\n store.dispatch('setMobileLayout', width <= 800)\n\n // Now we can try getting the server settings and logging in\n await Promise.all([\n checkOAuthToken({ store }),\n setConfig({ store }),\n getTOS({ store }),\n getInstancePanel({ store }),\n getStickers({ store }),\n getNodeInfo({ store })\n ])\n\n const router = new VueRouter({\n mode: 'history',\n routes: routes(store),\n scrollBehavior: (to, _from, savedPosition) => {\n if (to.matched.some(m => m.meta.dontScroll)) {\n return false\n }\n return savedPosition || { x: 0, y: 0 }\n }\n })\n\n /* eslint-disable no-new */\n return new Vue({\n router,\n store,\n i18n,\n el: '#app',\n render: h => h(App)\n })\n}\n\nexport default afterStoreSetup\n","import PublicTimeline from 'components/public_timeline/public_timeline.vue'\nimport PublicAndExternalTimeline from 'components/public_and_external_timeline/public_and_external_timeline.vue'\nimport FriendsTimeline from 'components/friends_timeline/friends_timeline.vue'\nimport TagTimeline from 'components/tag_timeline/tag_timeline.vue'\nimport ConversationPage from 'components/conversation-page/conversation-page.vue'\nimport Interactions from 'components/interactions/interactions.vue'\nimport DMs from 'components/dm_timeline/dm_timeline.vue'\nimport UserProfile from 'components/user_profile/user_profile.vue'\nimport Search from 'components/search/search.vue'\nimport Settings from 'components/settings/settings.vue'\nimport Registration from 'components/registration/registration.vue'\nimport PasswordReset from 'components/password_reset/password_reset.vue'\nimport UserSettings from 'components/user_settings/user_settings.vue'\nimport FollowRequests from 'components/follow_requests/follow_requests.vue'\nimport OAuthCallback from 'components/oauth_callback/oauth_callback.vue'\nimport Notifications from 'components/notifications/notifications.vue'\nimport AuthForm from 'components/auth_form/auth_form.js'\nimport ChatPanel from 'components/chat_panel/chat_panel.vue'\nimport WhoToFollow from 'components/who_to_follow/who_to_follow.vue'\nimport About from 'components/about/about.vue'\nimport RemoteUserResolver from 'components/remote_user_resolver/remote_user_resolver.vue'\n\nexport default (store) => {\n const validateAuthenticatedRoute = (to, from, next) => {\n if (store.state.users.currentUser) {\n next()\n } else {\n next(store.state.instance.redirectRootNoLogin || '/main/all')\n }\n }\n\n return [\n { name: 'root',\n path: '/',\n redirect: _to => {\n return (store.state.users.currentUser\n ? store.state.instance.redirectRootLogin\n : store.state.instance.redirectRootNoLogin) || '/main/all'\n }\n },\n { name: 'public-external-timeline', path: '/main/all', component: PublicAndExternalTimeline },\n { name: 'public-timeline', path: '/main/public', component: PublicTimeline },\n { name: 'friends', path: '/main/friends', component: FriendsTimeline, beforeEnter: validateAuthenticatedRoute },\n { name: 'tag-timeline', path: '/tag/:tag', component: TagTimeline },\n { name: 'conversation', path: '/notice/:id', component: ConversationPage, meta: { dontScroll: true } },\n { name: 'remote-user-profile-acct',\n path: '/remote-users/(@?):username([^/@]+)@:hostname([^/@]+)',\n component: RemoteUserResolver,\n beforeEnter: validateAuthenticatedRoute\n },\n { name: 'remote-user-profile',\n path: '/remote-users/:hostname/:username',\n component: RemoteUserResolver,\n beforeEnter: validateAuthenticatedRoute\n },\n { name: 'external-user-profile', path: '/users/:id', component: UserProfile },\n { name: 'interactions', path: '/users/:username/interactions', component: Interactions, beforeEnter: validateAuthenticatedRoute },\n { name: 'dms', path: '/users/:username/dms', component: DMs, beforeEnter: validateAuthenticatedRoute },\n { name: 'settings', path: '/settings', component: Settings },\n { name: 'registration', path: '/registration', component: Registration },\n { name: 'password-reset', path: '/password-reset', component: PasswordReset, props: true },\n { name: 'registration-token', path: '/registration/:token', component: Registration },\n { name: 'friend-requests', path: '/friend-requests', component: FollowRequests, beforeEnter: validateAuthenticatedRoute },\n { name: 'user-settings', path: '/user-settings', component: UserSettings, beforeEnter: validateAuthenticatedRoute },\n { name: 'notifications', path: '/:username/notifications', component: Notifications, beforeEnter: validateAuthenticatedRoute },\n { name: 'login', path: '/login', component: AuthForm },\n { name: 'chat', path: '/chat', component: ChatPanel, props: () => ({ floating: false }) },\n { name: 'oauth-callback', path: '/oauth-callback', component: OAuthCallback, props: (route) => ({ code: route.query.code }) },\n { name: 'search', path: '/search', component: Search, props: (route) => ({ query: route.query.query }) },\n { name: 'who-to-follow', path: '/who-to-follow', component: WhoToFollow, beforeEnter: validateAuthenticatedRoute },\n { name: 'about', path: '/about', component: About },\n { name: 'user-profile', path: '/(users/)?:name', component: UserProfile }\n ]\n}\n","/* script */\nexport * from \"!!babel-loader!./public_timeline.js\"\nimport __vue_script__ from \"!!babel-loader!./public_timeline.js\"/* template */\nimport {render as __vue_render__, staticRenderFns as __vue_static_render_fns__} from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-5f2a502e\\\",\\\"hasScoped\\\":false,\\\"optionsId\\\":\\\"0\\\",\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./public_timeline.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nimport normalizeComponent from \"!../../../node_modules/vue-loader/lib/runtime/component-normalizer\"\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_render__,\n __vue_static_render_fns__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n","// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = require(\"!!../../../node_modules/css-loader/index.js?minimize!../../../node_modules/vue-loader/lib/style-compiler/index.js?{\\\"optionsId\\\":\\\"0\\\",\\\"vue\\\":true,\\\"scoped\\\":false,\\\"sourceMap\\\":false}!../../../node_modules/sass-loader/lib/loader.js!../../../node_modules/vue-loader/lib/selector.js?type=styles&index=0!./timeline.vue\");\nif(typeof content === 'string') content = [[module.id, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = require(\"!../../../node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"0084eb3d\", content, true, {});","exports = module.exports = require(\"../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \".timeline .loadmore-text{opacity:1}.new-status-notification{position:relative;margin-top:-1px;font-size:1.1em;border-width:1px 0 0;border-style:solid;border-color:var(--border,#222);padding:10px;z-index:1;background-color:#182230;background-color:var(--panel,#182230)}\", \"\"]);\n\n// exports\n","// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = require(\"!!../../../node_modules/css-loader/index.js?minimize!../../../node_modules/vue-loader/lib/style-compiler/index.js?{\\\"optionsId\\\":\\\"0\\\",\\\"vue\\\":true,\\\"scoped\\\":false,\\\"sourceMap\\\":false}!../../../node_modules/sass-loader/lib/loader.js!../../../node_modules/vue-loader/lib/selector.js?type=styles&index=0!./status.vue\");\nif(typeof content === 'string') content = [[module.id, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = require(\"!../../../node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"ce58e9e8\", content, true, {});","exports = module.exports = require(\"../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \".status-body{-ms-flex:1;flex:1;min-width:0}.status-pin{padding:.75em .75em 0;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:end;justify-content:flex-end}.media-left{margin-right:.75em}.status-el{overflow-wrap:break-word;word-wrap:break-word;word-break:break-word;border-left-width:0;min-width:0;border-color:#222;border-color:var(--border,#222);border-left:4px red;border-left:4px var(--cRed,red)}.status-el_focused{background-color:#151e2a;background-color:var(--lightBg,#151e2a)}.timeline .status-el{border-bottom-width:1px;border-bottom-style:solid}.status-el .media-body{-ms-flex:1;flex:1;padding:0}.status-el .status-usercard{margin-bottom:.75em}.status-el .user-name{white-space:nowrap;font-size:14px;overflow:hidden;-ms-flex-negative:0;flex-shrink:0;max-width:85%;font-weight:700}.status-el .user-name img{width:14px;height:14px;vertical-align:middle;-o-object-fit:contain;object-fit:contain}.status-el .media-heading{padding:0;vertical-align:bottom;-ms-flex-preferred-size:100%;flex-basis:100%;margin-bottom:.5em}.status-el .media-heading small{font-weight:lighter}.status-el .media-heading .heading-name-row{padding:0;display:-ms-flexbox;display:flex;-ms-flex-pack:justify;justify-content:space-between;line-height:18px}.status-el .media-heading .heading-name-row a{display:inline-block;word-break:break-all}.status-el .media-heading .heading-name-row .name-and-account-name{display:-ms-flexbox;display:flex;min-width:0}.status-el .media-heading .heading-name-row .user-name{-ms-flex-negative:1;flex-shrink:1;margin-right:.4em;overflow:hidden;text-overflow:ellipsis}.status-el .media-heading .heading-name-row .account-name{min-width:1.6em;margin-right:.4em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;-ms-flex:1 1 0px;flex:1 1 0}.status-el .media-heading .heading-right{display:-ms-flexbox;display:flex;-ms-flex-negative:0;flex-shrink:0}.status-el .media-heading .timeago{margin-right:.2em}.status-el .media-heading .heading-reply-row{position:relative;-ms-flex-line-pack:baseline;align-content:baseline;font-size:12px;line-height:18px;max-width:100%;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-align:stretch;align-items:stretch}.status-el .media-heading .heading-reply-row>.reply-to-and-accountname>a{max-width:100%;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;display:inline-block;word-break:break-all}.status-el .media-heading .reply-to-and-accountname{display:-ms-flexbox;display:flex;height:18px;margin-right:.5em;overflow:hidden;max-width:100%}.status-el .media-heading .reply-to-and-accountname .icon-reply{transform:scaleX(-1)}.status-el .media-heading .reply-info,.status-el .media-heading .reply-to{display:-ms-flexbox;display:flex}.status-el .media-heading .reply-to-text{overflow:hidden;text-overflow:ellipsis;margin:0 .4em 0 .2em;color:hsla(240,1%,73%,.5);color:var(--faint,hsla(240,1%,73%,.5))}.status-el .media-heading .replies-separator{margin-left:.4em}.status-el .media-heading .replies{line-height:18px;font-size:12px;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap}.status-el .media-heading .replies>*{margin-right:.4em}.status-el .media-heading .reply-link{height:17px}.status-el .tall-status{position:relative;height:220px;overflow-x:hidden;overflow-y:hidden;z-index:1}.status-el .tall-status .status-content{height:100%;-webkit-mask:linear-gradient(0deg,#fff,transparent) bottom/100% 70px no-repeat,linear-gradient(0deg,#fff,#fff);mask:linear-gradient(0deg,#fff,transparent) bottom/100% 70px no-repeat,linear-gradient(0deg,#fff,#fff);-webkit-mask-composite:xor;mask-composite:exclude}.status-el .tall-status-hider{position:absolute;height:70px;margin-top:150px;line-height:110px;z-index:2}.status-el .cw-status-hider,.status-el .status-unhider,.status-el .tall-status-hider{display:inline-block;word-break:break-all;width:100%;text-align:center}.status-el .status-content{font-family:var(--postFont,sans-serif);line-height:1.4em;white-space:pre-wrap}.status-el .status-content img,.status-el .status-content video{max-width:100%;max-height:400px;vertical-align:middle;-o-object-fit:contain;object-fit:contain}.status-el .status-content img.emoji,.status-el .status-content video.emoji{width:32px;height:32px}.status-el .status-content blockquote{margin:.2em 0 .2em 2em;font-style:italic}.status-el .status-content pre{overflow:auto}.status-el .status-content code,.status-el .status-content kbd,.status-el .status-content pre,.status-el .status-content samp,.status-el .status-content var{font-family:var(--postCodeFont,monospace)}.status-el .status-content p{margin:0 0 1em}.status-el .status-content p:last-child{margin:0}.status-el .status-content h1{font-size:1.1em;line-height:1.2em;margin:1.4em 0}.status-el .status-content h2{font-size:1.1em;margin:1em 0}.status-el .status-content h3{font-size:1em;margin:1.2em 0}.status-el .status-content h4{margin:1.1em 0}.status-el .retweet-info{padding:.4em .75em;margin:0}.status-el .retweet-info .avatar.still-image{border-radius:10px;border-radius:var(--avatarAltRadius,10px);margin-left:28px;width:20px;height:20px}.status-el .retweet-info .media-body{font-size:1em;line-height:22px;display:-ms-flexbox;display:flex;-ms-flex-line-pack:center;align-content:center;-ms-flex-wrap:wrap;flex-wrap:wrap}.status-el .retweet-info .media-body .user-name{font-weight:700;overflow:hidden;text-overflow:ellipsis}.status-el .retweet-info .media-body .user-name img{width:14px;height:14px;vertical-align:middle;-o-object-fit:contain;object-fit:contain}.status-el .retweet-info .media-body i{padding:0 .2em}.status-el .retweet-info .media-body a{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.status-fadein{animation-duration:.4s;animation-name:fadein}@keyframes fadein{0%{opacity:0}to{opacity:1}}.greentext{color:#0fa00f;color:var(--cGreen,#0fa00f)}.status-conversation{border-left-style:solid}.status-actions{position:relative;width:100%;display:-ms-flexbox;display:flex;margin-top:.75em}.status-actions>*{max-width:4em;-ms-flex:1;flex:1}.button-icon.icon-reply.button-icon-active,.button-icon.icon-reply:not(.button-icon-disabled):hover{color:#0095ff;color:var(--cBlue,#0095ff)}.button-icon.icon-reply:not(.button-icon-disabled){cursor:pointer}.status:hover .animated.avatar canvas{display:none}.status:hover .animated.avatar img{visibility:visible}.status{display:-ms-flexbox;display:flex;padding:.75em}.status.is-retweet{padding-top:0}.status-conversation:last-child{border-bottom:none}.muted{padding:.25em .5em}.muted button{margin-left:auto}.muted .muteWords{margin-left:10px}a.unmute{display:block;margin-left:auto}.reply-body{-ms-flex:1;flex:1}.timeline :not(.panel-disabled)>.status-el:last-child{border-radius:0 0 10px 10px;border-radius:0 0 var(--panelRadius,10px) var(--panelRadius,10px);border-bottom:none}.favs-repeated-users{margin-top:.75em}.favs-repeated-users .stats{width:100%;display:-ms-flexbox;display:flex;line-height:1em}.favs-repeated-users .stats .stat-count{margin-right:.75em}.favs-repeated-users .stats .stat-count .stat-title{color:var(--faint,hsla(240,1%,73%,.5));font-size:12px;text-transform:uppercase;position:relative}.favs-repeated-users .stats .stat-count .stat-number{font-weight:bolder;font-size:16px;line-height:1em}.favs-repeated-users .stats .avatar-row{-ms-flex:1;flex:1;overflow:hidden;position:relative;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}.favs-repeated-users .stats .avatar-row:before{content:\\\"\\\";position:absolute;height:100%;width:1px;left:0;background-color:var(--faint,hsla(240,1%,73%,.5))}@media (max-width:800px){.status-el .retweet-info .avatar.still-image{margin-left:20px}.status{max-width:100%}.status .avatar.still-image{width:40px;height:40px}.status .avatar.still-image.avatar-compact{width:32px;height:32px}}\", \"\"]);\n\n// exports\n","// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = require(\"!!../../../node_modules/css-loader/index.js?minimize!../../../node_modules/vue-loader/lib/style-compiler/index.js?{\\\"optionsId\\\":\\\"0\\\",\\\"vue\\\":true,\\\"scoped\\\":false,\\\"sourceMap\\\":false}!../../../node_modules/sass-loader/lib/loader.js!../../../node_modules/vue-loader/lib/selector.js?type=styles&index=0!./attachment.vue\");\nif(typeof content === 'string') content = [[module.id, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = require(\"!../../../node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"60b296ca\", content, true, {});","exports = module.exports = require(\"../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \".attachments{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap}.attachments .attachment.media-upload-container{-ms-flex:0 0 auto;flex:0 0 auto;max-height:200px;max-width:100%;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}.attachments .attachment.media-upload-container video{max-width:100%}.attachments .placeholder{margin-right:8px;margin-bottom:4px}.attachments .nsfw-placeholder{cursor:pointer}.attachments .nsfw-placeholder.loading{cursor:progress}.attachments .attachment{position:relative;margin-top:.5em;-ms-flex-item-align:start;align-self:flex-start;line-height:0;border-radius:10px;border-radius:var(--attachmentRadius,10px);border-color:#222;border:1px solid var(--border,#222);overflow:hidden}.attachments .non-gallery.attachment.video{-ms-flex:1 0 40%;flex:1 0 40%}.attachments .non-gallery.attachment .nsfw{height:260px}.attachments .non-gallery.attachment .small{height:120px;-ms-flex-positive:0;flex-grow:0}.attachments .non-gallery.attachment .video{height:260px;display:-ms-flexbox;display:flex}.attachments .non-gallery.attachment video{max-height:100%;-o-object-fit:contain;object-fit:contain}.attachments .fullwidth{-ms-flex-preferred-size:100%;flex-basis:100%}.attachments.video{line-height:0}.attachments .video-container{display:-ms-flexbox;display:flex;max-height:100%}.attachments .video{width:100%;height:100%}.attachments .play-icon{position:absolute;font-size:64px;top:calc(50% - 32px);left:calc(50% - 32px);color:hsla(0,0%,100%,.75);text-shadow:0 0 2px rgba(0,0,0,.4)}.attachments .play-icon:before{margin:0}.attachments.html{-ms-flex-preferred-size:90%;flex-basis:90%;width:100%;display:-ms-flexbox;display:flex}.attachments .hider{position:absolute;right:0;white-space:nowrap;margin:10px;padding:5px;background:hsla(0,0%,90%,.6);font-weight:700;z-index:4;line-height:1;border-radius:5px;border-radius:var(--tooltipRadius,5px)}.attachments video{z-index:0}.attachments audio{width:100%}.attachments img.media-upload{line-height:0;max-height:200px;max-width:100%}.attachments .oembed{line-height:1.2em;-ms-flex:1 0 100%;flex:1 0 100%;width:100%;margin-right:15px;display:-ms-flexbox;display:flex}.attachments .oembed img{width:100%}.attachments .oembed .image{-ms-flex:1;flex:1}.attachments .oembed .image img{border:0;border-radius:5px;height:100%;-o-object-fit:cover;object-fit:cover}.attachments .oembed .text{-ms-flex:2;flex:2;margin:8px;word-break:break-all}.attachments .oembed .text h1{font-size:14px;margin:0}.attachments .image-attachment{width:100%;height:100%}.attachments .image-attachment.hidden{display:none}.attachments .image-attachment .nsfw{-o-object-fit:cover;object-fit:cover;width:100%;height:100%}.attachments .image-attachment img{image-orientation:from-image}\", \"\"]);\n\n// exports\n","// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = require(\"!!../../../node_modules/css-loader/index.js?minimize!../../../node_modules/vue-loader/lib/style-compiler/index.js?{\\\"optionsId\\\":\\\"0\\\",\\\"vue\\\":true,\\\"scoped\\\":false,\\\"sourceMap\\\":false}!../../../node_modules/sass-loader/lib/loader.js!../../../node_modules/vue-loader/lib/selector.js?type=styles&index=0!./still-image.vue\");\nif(typeof content === 'string') content = [[module.id, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = require(\"!../../../node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"24ab97e0\", content, true, {});","exports = module.exports = require(\"../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \".still-image{position:relative;line-height:0;overflow:hidden;width:100%;height:100%}.still-image:hover canvas{display:none}.still-image img{width:100%;height:100%;-o-object-fit:contain;object-fit:contain}.still-image.animated:hover:before,.still-image.animated img{visibility:hidden}.still-image.animated:hover img{visibility:visible}.still-image.animated:before{content:\\\"gif\\\";position:absolute;line-height:10px;font-size:10px;top:5px;left:5px;background:hsla(0,0%,50%,.5);color:#fff;display:block;padding:2px 4px;border-radius:5px;border-radius:var(--tooltipRadius,5px);z-index:2}.still-image canvas{position:absolute;top:0;bottom:0;left:0;right:0;width:100%;height:100%;-o-object-fit:contain;object-fit:contain}\", \"\"]);\n\n// exports\n","module.exports = __webpack_public_path__ + \"static/img/nsfw.ca95de9.png\";","function injectStyle (context) {\n require(\"!!vue-style-loader!css-loader?minimize!../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"optionsId\\\":\\\"0\\\",\\\"vue\\\":true,\\\"scoped\\\":false,\\\"sourceMap\\\":false}!sass-loader!../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./favorite_button.vue\")\n}\n/* script */\nexport * from \"!!babel-loader!./favorite_button.js\"\nimport __vue_script__ from \"!!babel-loader!./favorite_button.js\"/* template */\nimport {render as __vue_render__, staticRenderFns as __vue_static_render_fns__} from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-2ced002f\\\",\\\"hasScoped\\\":false,\\\"optionsId\\\":\\\"0\\\",\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./favorite_button.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nimport normalizeComponent from \"!../../../node_modules/vue-loader/lib/runtime/component-normalizer\"\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_render__,\n __vue_static_render_fns__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n","// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = require(\"!!../../../node_modules/css-loader/index.js?minimize!../../../node_modules/vue-loader/lib/style-compiler/index.js?{\\\"optionsId\\\":\\\"0\\\",\\\"vue\\\":true,\\\"scoped\\\":false,\\\"sourceMap\\\":false}!../../../node_modules/sass-loader/lib/loader.js!../../../node_modules/vue-loader/lib/selector.js?type=styles&index=0!./favorite_button.vue\");\nif(typeof content === 'string') content = [[module.id, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = require(\"!../../../node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"7d4fb47f\", content, true, {});","exports = module.exports = require(\"../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \".fav-active{cursor:pointer;animation-duration:.6s}.fav-active:hover,.favorite-button.icon-star{color:orange;color:var(--cOrange,orange)}\", \"\"]);\n\n// exports\n","function injectStyle (context) {\n require(\"!!vue-style-loader!css-loader?minimize!../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"optionsId\\\":\\\"0\\\",\\\"vue\\\":true,\\\"scoped\\\":false,\\\"sourceMap\\\":false}!sass-loader!../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./retweet_button.vue\")\n}\n/* script */\nexport * from \"!!babel-loader!./retweet_button.js\"\nimport __vue_script__ from \"!!babel-loader!./retweet_button.js\"/* template */\nimport {render as __vue_render__, staticRenderFns as __vue_static_render_fns__} from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-538410cc\\\",\\\"hasScoped\\\":false,\\\"optionsId\\\":\\\"0\\\",\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./retweet_button.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nimport normalizeComponent from \"!../../../node_modules/vue-loader/lib/runtime/component-normalizer\"\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_render__,\n __vue_static_render_fns__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n","// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = require(\"!!../../../node_modules/css-loader/index.js?minimize!../../../node_modules/vue-loader/lib/style-compiler/index.js?{\\\"optionsId\\\":\\\"0\\\",\\\"vue\\\":true,\\\"scoped\\\":false,\\\"sourceMap\\\":false}!../../../node_modules/sass-loader/lib/loader.js!../../../node_modules/vue-loader/lib/selector.js?type=styles&index=0!./retweet_button.vue\");\nif(typeof content === 'string') content = [[module.id, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = require(\"!../../../node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"2c52cbcb\", content, true, {});","exports = module.exports = require(\"../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \".rt-active{cursor:pointer;animation-duration:.6s}.icon-retweet.retweeted,.rt-active:hover{color:#0fa00f;color:var(--cGreen,#0fa00f)}\", \"\"]);\n\n// exports\n","function injectStyle (context) {\n require(\"!!vue-style-loader!css-loader?minimize!../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"optionsId\\\":\\\"0\\\",\\\"vue\\\":true,\\\"scoped\\\":false,\\\"sourceMap\\\":false}!sass-loader!../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./poll.vue\")\n}\n/* script */\nexport * from \"!!babel-loader!./poll.js\"\nimport __vue_script__ from \"!!babel-loader!./poll.js\"/* template */\nimport {render as __vue_render__, staticRenderFns as __vue_static_render_fns__} from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-6feb4525\\\",\\\"hasScoped\\\":false,\\\"optionsId\\\":\\\"0\\\",\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./poll.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nimport normalizeComponent from \"!../../../node_modules/vue-loader/lib/runtime/component-normalizer\"\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_render__,\n __vue_static_render_fns__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n","// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = require(\"!!../../../node_modules/css-loader/index.js?minimize!../../../node_modules/vue-loader/lib/style-compiler/index.js?{\\\"optionsId\\\":\\\"0\\\",\\\"vue\\\":true,\\\"scoped\\\":false,\\\"sourceMap\\\":false}!../../../node_modules/sass-loader/lib/loader.js!../../../node_modules/vue-loader/lib/selector.js?type=styles&index=0!./poll.vue\");\nif(typeof content === 'string') content = [[module.id, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = require(\"!../../../node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"1a8b173f\", content, true, {});","exports = module.exports = require(\"../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \".poll .votes{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;margin:0 0 .5em}.poll .poll-option{margin:.75em .5em}.poll .option-result{height:100%;display:-ms-flexbox;display:flex;-ms-flex-direction:row;flex-direction:row;position:relative;color:#b9b9ba;color:var(--lightText,#b9b9ba)}.poll .option-result-label{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;padding:.1em .25em;z-index:1}.poll .result-percentage{width:3.5em;-ms-flex-negative:0;flex-shrink:0}.poll .result-fill{height:100%;position:absolute;background-color:#151e2a;background-color:var(--linkBg,#151e2a);border-radius:10px;border-radius:var(--panelRadius,10px);top:0;left:0;transition:width .5s}.poll .option-vote{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}.poll input{width:3.5em}.poll .footer{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}.poll.loading *{cursor:progress}.poll .poll-vote-button{padding:0 .5em;margin-right:.5em}\", \"\"]);\n\n// exports\n","function injectStyle (context) {\n require(\"!!vue-style-loader!css-loader?minimize!../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"optionsId\\\":\\\"0\\\",\\\"vue\\\":true,\\\"scoped\\\":false,\\\"sourceMap\\\":false}!sass-loader!../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./extra_buttons.vue\")\n}\n/* script */\nexport * from \"!!babel-loader!./extra_buttons.js\"\nimport __vue_script__ from \"!!babel-loader!./extra_buttons.js\"/* template */\nimport {render as __vue_render__, staticRenderFns as __vue_static_render_fns__} from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-0caa0403\\\",\\\"hasScoped\\\":false,\\\"optionsId\\\":\\\"0\\\",\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./extra_buttons.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nimport normalizeComponent from \"!../../../node_modules/vue-loader/lib/runtime/component-normalizer\"\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_render__,\n __vue_static_render_fns__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n","// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = require(\"!!../../../node_modules/css-loader/index.js?minimize!../../../node_modules/vue-loader/lib/style-compiler/index.js?{\\\"optionsId\\\":\\\"0\\\",\\\"vue\\\":true,\\\"scoped\\\":false,\\\"sourceMap\\\":false}!../../../node_modules/sass-loader/lib/loader.js!../../../node_modules/vue-loader/lib/selector.js?type=styles&index=0!./extra_buttons.vue\");\nif(typeof content === 'string') content = [[module.id, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = require(\"!../../../node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"0d2c533c\", content, true, {});","exports = module.exports = require(\"../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \".tooltip.popover{z-index:8}.tooltip.popover .popover-inner{box-shadow:1px 1px 4px rgba(0,0,0,.6);box-shadow:var(--panelShadow);border-radius:4px;border-radius:var(--btnRadius,4px);background-color:#121a24;background-color:var(--bg,#121a24)}.tooltip.popover .popover-arrow{width:0;height:0;border-style:solid;position:absolute;margin:5px;border-color:#121a24;border-color:var(--bg,#121a24)}.tooltip.popover[x-placement^=top]{margin-bottom:5px}.tooltip.popover[x-placement^=top] .popover-arrow{border-width:5px 5px 0;border-left-color:transparent!important;border-right-color:transparent!important;border-bottom-color:transparent!important;bottom:-4px;left:calc(50% - 5px);margin-top:0;margin-bottom:0}.tooltip.popover[x-placement^=bottom]{margin-top:5px}.tooltip.popover[x-placement^=bottom] .popover-arrow{border-width:0 5px 5px;border-left-color:transparent!important;border-right-color:transparent!important;border-top-color:transparent!important;top:-4px;left:calc(50% - 5px);margin-top:0;margin-bottom:0}.tooltip.popover[x-placement^=right]{margin-left:5px}.tooltip.popover[x-placement^=right] .popover-arrow{border-width:5px 5px 5px 0;border-left-color:transparent!important;border-top-color:transparent!important;border-bottom-color:transparent!important;left:-4px;top:calc(50% - 5px);margin-left:0;margin-right:0}.tooltip.popover[x-placement^=left]{margin-right:5px}.tooltip.popover[x-placement^=left] .popover-arrow{border-width:5px 0 5px 5px;border-top-color:transparent!important;border-right-color:transparent!important;border-bottom-color:transparent!important;right:-4px;top:calc(50% - 5px);margin-left:0;margin-right:0}.tooltip.popover[aria-hidden=true]{visibility:hidden;opacity:0;transition:opacity .15s,visibility .15s}.tooltip.popover[aria-hidden=false]{visibility:visible;opacity:1;transition:opacity .15s}.dropdown-menu{display:block;padding:.5rem 0;font-size:1rem;text-align:left;list-style:none;max-width:100vw;z-index:10}.dropdown-menu .dropdown-divider{height:0;margin:.5rem 0;overflow:hidden;border-top:1px solid #222;border-top:1px solid var(--border,#222)}.dropdown-menu .dropdown-item{line-height:21px;margin-right:5px;overflow:auto;display:block;padding:.25rem 1rem .25rem 1.5rem;clear:both;font-weight:400;text-align:inherit;white-space:normal;border:none;border-radius:0;background-color:transparent;box-shadow:none;width:100%;height:100%}.dropdown-menu .dropdown-item-icon{padding-left:.5rem}.dropdown-menu .dropdown-item-icon i{margin-right:.25rem}.dropdown-menu .dropdown-item:hover{background-color:#182230;background-color:var(--btn,#182230);box-shadow:none}.icon-ellipsis{cursor:pointer}.extra-button-popover.open .icon-ellipsis,.icon-ellipsis:hover{color:#b9b9ba;color:var(--text,#b9b9ba)}\", \"\"]);\n\n// exports\n","// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = require(\"!!../../../node_modules/css-loader/index.js?minimize!../../../node_modules/vue-loader/lib/style-compiler/index.js?{\\\"optionsId\\\":\\\"0\\\",\\\"vue\\\":true,\\\"scoped\\\":false,\\\"sourceMap\\\":false}!../../../node_modules/sass-loader/lib/loader.js!../../../node_modules/vue-loader/lib/selector.js?type=styles&index=0!./post_status_form.vue\");\nif(typeof content === 'string') content = [[module.id, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = require(\"!../../../node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"ce7966a8\", content, true, {});","exports = module.exports = require(\"../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \".tribute-container ul{padding:0}.tribute-container ul li{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}.tribute-container img{padding:3px;width:16px;height:16px;border-radius:10px;border-radius:var(--avatarAltRadius,10px)}.post-status-form .visibility-tray{padding-top:5px}.post-status-form .form-bottom,.post-status-form .visibility-tray{display:-ms-flexbox;display:flex;-ms-flex-pack:justify;justify-content:space-between}.post-status-form .form-bottom{padding:.5em;height:32px}.post-status-form .form-bottom button{width:10em}.post-status-form .form-bottom p{margin:.35em;padding:.35em;display:-ms-flexbox;display:flex}.post-status-form .form-bottom-left{display:-ms-flexbox;display:flex;-ms-flex:1;flex:1;padding-right:7px;margin-right:7px;max-width:10em}.post-status-form .text-format .only-format{color:hsla(240,1%,73%,.5);color:var(--faint,hsla(240,1%,73%,.5))}.post-status-form .emoji-icon,.post-status-form .media-upload-icon,.post-status-form .poll-icon{font-size:26px;-ms-flex:1;flex:1}.post-status-form .emoji-icon.selected i,.post-status-form .emoji-icon.selected label,.post-status-form .emoji-icon:hover i,.post-status-form .emoji-icon:hover label,.post-status-form .media-upload-icon.selected i,.post-status-form .media-upload-icon.selected label,.post-status-form .media-upload-icon:hover i,.post-status-form .media-upload-icon:hover label,.post-status-form .poll-icon.selected i,.post-status-form .poll-icon.selected label,.post-status-form .poll-icon:hover i,.post-status-form .poll-icon:hover label{color:#b9b9ba;color:var(--lightText,#b9b9ba)}.post-status-form .media-upload-icon{-ms-flex-order:1;order:1;text-align:left}.post-status-form .emoji-icon{-ms-flex-order:2;order:2;text-align:center}.post-status-form .poll-icon{-ms-flex-order:3;order:3;text-align:right}.post-status-form .icon-chart-bar{cursor:pointer}.post-status-form .error{text-align:center}.post-status-form .media-upload-wrapper{-ms-flex:0 0 auto;flex:0 0 auto;max-width:100%;min-width:50px;margin-right:.2em;margin-bottom:.5em}.post-status-form .media-upload-wrapper .icon-cancel{display:inline-block;position:static;margin:0;padding-bottom:0;margin-left:10px;margin-left:var(--attachmentRadius,10px);background-color:#182230;background-color:var(--btn,#182230);border-bottom-left-radius:0;border-bottom-right-radius:0}.post-status-form .status-input-wrapper{display:-ms-flexbox;display:flex;position:relative;width:100%;-ms-flex-direction:column;flex-direction:column}.post-status-form .attachments{padding:0 .5em}.post-status-form .attachments .attachment{margin:0;position:relative;-ms-flex:0 0 auto;flex:0 0 auto;border:1px solid #222;border:1px solid var(--border,#222);text-align:center}.post-status-form .attachments .attachment audio{min-width:300px;-ms-flex:1 0 auto;flex:1 0 auto}.post-status-form .attachments .attachment a{display:block;text-align:left;line-height:1.2;padding:.5em}.post-status-form .attachments i{position:absolute;margin:10px;padding:5px;background:hsla(0,0%,90%,.6);border-radius:10px;border-radius:var(--attachmentRadius,10px);font-weight:700}.post-status-form form{padding:.6em}.post-status-form .form-group,.post-status-form form{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column}.post-status-form .form-group{padding:.25em .5em .5em;line-height:24px}.post-status-form .form-post-body,.post-status-form form textarea.form-cw{line-height:16px;resize:none;overflow:hidden;transition:min-height .2s .1s;min-height:1px}.post-status-form .form-post-body{height:16px;padding-bottom:1.75em;box-sizing:content-box}.post-status-form .main-input{position:relative}.post-status-form .character-counter{position:absolute;bottom:0;right:0;padding:0;margin:0 .5em}.post-status-form .character-counter.error{color:red;color:var(--cRed,red)}.post-status-form .btn{cursor:pointer}.post-status-form .btn[disabled]{cursor:not-allowed}.post-status-form .icon-cancel{cursor:pointer;z-index:4}\", \"\"]);\n\n// exports\n","function injectStyle (context) {\n require(\"!!vue-style-loader!css-loader?minimize!../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"optionsId\\\":\\\"0\\\",\\\"vue\\\":true,\\\"scoped\\\":false,\\\"sourceMap\\\":false}!sass-loader!../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./media_upload.vue\")\n}\n/* script */\nexport * from \"!!babel-loader!./media_upload.js\"\nimport __vue_script__ from \"!!babel-loader!./media_upload.js\"/* template */\nimport {render as __vue_render__, staticRenderFns as __vue_static_render_fns__} from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-74382032\\\",\\\"hasScoped\\\":false,\\\"optionsId\\\":\\\"0\\\",\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./media_upload.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nimport normalizeComponent from \"!../../../node_modules/vue-loader/lib/runtime/component-normalizer\"\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_render__,\n __vue_static_render_fns__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n","// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = require(\"!!../../../node_modules/css-loader/index.js?minimize!../../../node_modules/vue-loader/lib/style-compiler/index.js?{\\\"optionsId\\\":\\\"0\\\",\\\"vue\\\":true,\\\"scoped\\\":false,\\\"sourceMap\\\":false}!../../../node_modules/sass-loader/lib/loader.js!../../../node_modules/vue-loader/lib/selector.js?type=styles&index=0!./media_upload.vue\");\nif(typeof content === 'string') content = [[module.id, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = require(\"!../../../node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"8585287c\", content, true, {});","exports = module.exports = require(\"../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \".media-upload .label{display:inline-block}.media-upload .new-icon{cursor:pointer}.media-upload .progress-icon{display:inline-block;line-height:0}.media-upload .progress-icon:before{margin:0;line-height:0}\", \"\"]);\n\n// exports\n","// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = require(\"!!../../../node_modules/css-loader/index.js?minimize!../../../node_modules/vue-loader/lib/style-compiler/index.js?{\\\"optionsId\\\":\\\"0\\\",\\\"vue\\\":true,\\\"scoped\\\":false,\\\"sourceMap\\\":false}!../../../node_modules/sass-loader/lib/loader.js!../../../node_modules/vue-loader/lib/selector.js?type=styles&index=0!./scope_selector.vue\");\nif(typeof content === 'string') content = [[module.id, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = require(\"!../../../node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"770eecd8\", content, true, {});","exports = module.exports = require(\"../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \".scope-selector i{font-size:1.2em;cursor:pointer}.scope-selector i.selected{color:#b9b9ba;color:var(--lightText,#b9b9ba)}\", \"\"]);\n\n// exports\n","// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = require(\"!!../../../node_modules/css-loader/index.js?minimize!../../../node_modules/vue-loader/lib/style-compiler/index.js?{\\\"optionsId\\\":\\\"0\\\",\\\"vue\\\":true,\\\"scoped\\\":false,\\\"sourceMap\\\":false}!../../../node_modules/sass-loader/lib/loader.js!../../../node_modules/vue-loader/lib/selector.js?type=styles&index=0!./emoji_input.vue\");\nif(typeof content === 'string') content = [[module.id, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = require(\"!../../../node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"d6bd964a\", content, true, {});","exports = module.exports = require(\"../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \".emoji-input{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;position:relative}.emoji-input.with-picker input{padding-right:30px}.emoji-input .emoji-picker-icon{position:absolute;top:0;right:0;margin:.2em .25em;font-size:16px;cursor:pointer;line-height:24px}.emoji-input .emoji-picker-icon:hover i{color:#b9b9ba;color:var(--text,#b9b9ba)}.emoji-input .emoji-picker-panel{position:absolute;z-index:20;margin-top:2px}.emoji-input .emoji-picker-panel.hide{display:none}.emoji-input .autocomplete-panel{position:absolute;z-index:20;margin-top:2px}.emoji-input .autocomplete-panel.hide{display:none}.emoji-input .autocomplete-panel-body{margin:0 .5em;border-radius:5px;border-radius:var(--tooltipRadius,5px);box-shadow:1px 2px 4px rgba(0,0,0,.5);box-shadow:var(--popupShadow);min-width:75%;background:#121a24;background:var(--bg,#121a24);color:#b9b9ba;color:var(--lightText,#b9b9ba)}.emoji-input .autocomplete-item{display:-ms-flexbox;display:flex;cursor:pointer;padding:.2em .4em;border-bottom:1px solid rgba(0,0,0,.4);height:32px}.emoji-input .autocomplete-item .image{width:32px;height:32px;line-height:32px;text-align:center;font-size:32px;margin-right:4px}.emoji-input .autocomplete-item .image img{width:32px;height:32px;-o-object-fit:contain;object-fit:contain}.emoji-input .autocomplete-item .label{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;-ms-flex-pack:center;justify-content:center;margin:0 .1em 0 .2em}.emoji-input .autocomplete-item .label .displayText{line-height:1.5}.emoji-input .autocomplete-item .label .detailText{font-size:9px;line-height:9px}.emoji-input .autocomplete-item.highlighted{background-color:#182230;background-color:var(--lightBg,#182230)}.emoji-input input,.emoji-input textarea{-ms-flex:1 0 auto;flex:1 0 auto}\", \"\"]);\n\n// exports\n","import { reduce, find } from 'lodash'\n\nexport const replaceWord = (str, toReplace, replacement) => {\n return str.slice(0, toReplace.start) + replacement + str.slice(toReplace.end)\n}\n\nexport const wordAtPosition = (str, pos) => {\n const words = splitIntoWords(str)\n const wordsWithPosition = addPositionToWords(words)\n\n return find(wordsWithPosition, ({ start, end }) => start <= pos && end > pos)\n}\n\nexport const addPositionToWords = (words) => {\n return reduce(words, (result, word) => {\n const data = {\n word,\n start: 0,\n end: word.length\n }\n\n if (result.length > 0) {\n const previous = result.pop()\n\n data.start += previous.end\n data.end += previous.end\n\n result.push(previous)\n }\n\n result.push(data)\n\n return result\n }, [])\n}\n\nexport const splitIntoWords = (str) => {\n // Split at word boundaries\n const regex = /\\b/\n const triggers = /[@#:]+$/\n\n let split = str.split(regex)\n\n // Add trailing @ and # to the following word.\n const words = reduce(split, (result, word) => {\n if (result.length > 0) {\n let previous = result.pop()\n const matches = previous.match(triggers)\n if (matches) {\n previous = previous.replace(triggers, '')\n word = matches[0] + word\n }\n result.push(previous)\n }\n result.push(word)\n\n return result\n }, [])\n\n return words\n}\n\nconst completion = {\n wordAtPosition,\n addPositionToWords,\n splitIntoWords,\n replaceWord\n}\n\nexport default completion\n","function injectStyle (context) {\n require(\"!!vue-style-loader!css-loader?minimize!../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"optionsId\\\":\\\"0\\\",\\\"vue\\\":true,\\\"scoped\\\":false,\\\"sourceMap\\\":false}!sass-loader!./emoji_picker.scss\")\n}\n/* script */\nexport * from \"!!babel-loader!./emoji_picker.js\"\nimport __vue_script__ from \"!!babel-loader!./emoji_picker.js\"/* template */\nimport {render as __vue_render__, staticRenderFns as __vue_static_render_fns__} from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-47d21b3b\\\",\\\"hasScoped\\\":false,\\\"optionsId\\\":\\\"0\\\",\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./emoji_picker.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nimport normalizeComponent from \"!../../../node_modules/vue-loader/lib/runtime/component-normalizer\"\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_render__,\n __vue_static_render_fns__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n","// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = require(\"!!../../../node_modules/css-loader/index.js?minimize!../../../node_modules/vue-loader/lib/style-compiler/index.js?{\\\"optionsId\\\":\\\"0\\\",\\\"vue\\\":true,\\\"scoped\\\":false,\\\"sourceMap\\\":false}!../../../node_modules/sass-loader/lib/loader.js!./emoji_picker.scss\");\nif(typeof content === 'string') content = [[module.id, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = require(\"!../../../node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"7bb72e68\", content, true, {});","exports = module.exports = require(\"../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \".emoji-picker{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;position:absolute;right:0;left:0;margin:0!important;z-index:1}.emoji-picker .keep-open,.emoji-picker .too-many-emoji{padding:7px;line-height:normal}.emoji-picker .too-many-emoji{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column}.emoji-picker .keep-open-label{padding:0 7px;display:-ms-flexbox;display:flex}.emoji-picker .heading{display:-ms-flexbox;display:flex;height:32px;padding:10px 7px 5px}.emoji-picker .content{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;-ms-flex:1 1 auto;flex:1 1 auto;min-height:200px}.emoji-picker .emoji-tabs{-ms-flex-positive:1;flex-grow:1}.emoji-picker .emoji-groups{min-height:200px}.emoji-picker .additional-tabs{border-left:1px solid;border-left-color:#666;border-left-color:var(--icon,#666);padding-left:7px;-ms-flex:0 0 auto;flex:0 0 auto}.emoji-picker .additional-tabs,.emoji-picker .emoji-tabs{display:block;min-width:0;-ms-flex-preferred-size:auto;flex-basis:auto;-ms-flex-negative:1;flex-shrink:1}.emoji-picker .additional-tabs-item,.emoji-picker .emoji-tabs-item{padding:0 7px;cursor:pointer;font-size:24px}.emoji-picker .additional-tabs-item.disabled,.emoji-picker .emoji-tabs-item.disabled{opacity:.5;pointer-events:none}.emoji-picker .additional-tabs-item.active,.emoji-picker .emoji-tabs-item.active{border-bottom:4px solid}.emoji-picker .additional-tabs-item.active i,.emoji-picker .emoji-tabs-item.active i{color:#b9b9ba;color:var(--lightText,#b9b9ba)}.emoji-picker .sticker-picker{-ms-flex:1 1 auto;flex:1 1 auto}.emoji-picker .emoji-content,.emoji-picker .stickers-content{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;-ms-flex:1 1 auto;flex:1 1 auto;min-height:0}.emoji-picker .emoji-content.hidden,.emoji-picker .stickers-content.hidden{opacity:0;pointer-events:none;position:absolute}.emoji-picker .emoji-search{padding:5px;-ms-flex:0 0 auto;flex:0 0 auto}.emoji-picker .emoji-search input{width:100%}.emoji-picker .emoji-groups{-ms-flex:1 1 1px;flex:1 1 1px;position:relative;overflow:auto;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-mask:linear-gradient(0deg,#fff 0,transparent) bottom no-repeat,linear-gradient(180deg,#fff 0,transparent) top no-repeat,linear-gradient(0deg,#fff,#fff);mask:linear-gradient(0deg,#fff 0,transparent) bottom no-repeat,linear-gradient(180deg,#fff 0,transparent) top no-repeat,linear-gradient(0deg,#fff,#fff);transition:-webkit-mask-size .15s;transition:mask-size .15s;transition:mask-size .15s,-webkit-mask-size .15s;-webkit-mask-size:100% 20px,100% 20px,auto;mask-size:100% 20px,100% 20px,auto;-webkit-mask-composite:xor;mask-composite:exclude}.emoji-picker .emoji-groups.scrolled-top{-webkit-mask-size:100% 20px,100% 0,auto;mask-size:100% 20px,100% 0,auto}.emoji-picker .emoji-groups.scrolled-bottom{-webkit-mask-size:100% 0,100% 20px,auto;mask-size:100% 0,100% 20px,auto}.emoji-picker .emoji-group{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-wrap:wrap;flex-wrap:wrap;padding-left:5px;-ms-flex-pack:left;justify-content:left}.emoji-picker .emoji-group-title{font-size:12px;width:100%;margin:0}.emoji-picker .emoji-group-title.disabled{display:none}.emoji-picker .emoji-item{width:32px;height:32px;box-sizing:border-box;display:-ms-flexbox;display:flex;font-size:32px;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;margin:4px;cursor:pointer}.emoji-picker .emoji-item img{-o-object-fit:contain;object-fit:contain;max-width:100%;max-height:100%}\", \"\"]);\n\n// exports\n","// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = require(\"!!../../../node_modules/css-loader/index.js?minimize!../../../node_modules/vue-loader/lib/style-compiler/index.js?{\\\"optionsId\\\":\\\"0\\\",\\\"vue\\\":true,\\\"scoped\\\":false,\\\"sourceMap\\\":false}!../../../node_modules/sass-loader/lib/loader.js!../../../node_modules/vue-loader/lib/selector.js?type=styles&index=0!./checkbox.vue\");\nif(typeof content === 'string') content = [[module.id, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = require(\"!../../../node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"002629bb\", content, true, {});","exports = module.exports = require(\"../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \".checkbox{position:relative;display:inline-block;min-height:1.2em}.checkbox-indicator{position:relative;padding-left:1.2em}.checkbox-indicator:before{position:absolute;right:0;top:0;display:block;content:\\\"\\\\2714\\\";transition:color .2s;width:1.1em;height:1.1em;border-radius:2px;border-radius:var(--checkboxRadius,2px);box-shadow:inset 0 0 2px #000;box-shadow:var(--inputShadow);background-color:#182230;background-color:var(--input,#182230);vertical-align:top;text-align:center;line-height:1.1em;font-size:1.1em;color:transparent;overflow:hidden;box-sizing:border-box}.checkbox.disabled .checkbox-indicator:before,.checkbox.disabled .label{opacity:.5}.checkbox.disabled .label{color:hsla(240,1%,73%,.5);color:var(--faint,hsla(240,1%,73%,.5))}.checkbox input[type=checkbox]{display:none}.checkbox input[type=checkbox]:checked+.checkbox-indicator:before{color:#b9b9ba;color:var(--text,#b9b9ba)}.checkbox input[type=checkbox]:indeterminate+.checkbox-indicator:before{content:\\\"\\\\2013\\\";color:#b9b9ba;color:var(--text,#b9b9ba)}.checkbox>span{margin-left:.5em}\", \"\"]);\n\n// exports\n","function injectStyle (context) {\n require(\"!!vue-style-loader!css-loader?minimize!../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"optionsId\\\":\\\"0\\\",\\\"vue\\\":true,\\\"scoped\\\":false,\\\"sourceMap\\\":false}!sass-loader!../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./poll_form.vue\")\n}\n/* script */\nexport * from \"!!babel-loader!./poll_form.js\"\nimport __vue_script__ from \"!!babel-loader!./poll_form.js\"/* template */\nimport {render as __vue_render__, staticRenderFns as __vue_static_render_fns__} from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-1f896331\\\",\\\"hasScoped\\\":false,\\\"optionsId\\\":\\\"0\\\",\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./poll_form.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nimport normalizeComponent from \"!../../../node_modules/vue-loader/lib/runtime/component-normalizer\"\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_render__,\n __vue_static_render_fns__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n","// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = require(\"!!../../../node_modules/css-loader/index.js?minimize!../../../node_modules/vue-loader/lib/style-compiler/index.js?{\\\"optionsId\\\":\\\"0\\\",\\\"vue\\\":true,\\\"scoped\\\":false,\\\"sourceMap\\\":false}!../../../node_modules/sass-loader/lib/loader.js!../../../node_modules/vue-loader/lib/selector.js?type=styles&index=0!./poll_form.vue\");\nif(typeof content === 'string') content = [[module.id, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = require(\"!../../../node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"60db0262\", content, true, {});","exports = module.exports = require(\"../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \".poll-form{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;padding:0 .5em .5em}.poll-form .add-option{-ms-flex-item-align:start;align-self:flex-start;padding-top:.25em;cursor:pointer}.poll-form .poll-option{display:-ms-flexbox;display:flex;-ms-flex-align:baseline;align-items:baseline;-ms-flex-pack:justify;justify-content:space-between;margin-bottom:.25em}.poll-form .input-container{width:100%}.poll-form .input-container input{padding-right:2.5em;width:100%}.poll-form .icon-container{width:2em;margin-left:-2em;z-index:1}.poll-form .poll-type-expiry{margin-top:.5em;display:-ms-flexbox;display:flex;width:100%}.poll-form .poll-type{margin-right:.75em;-ms-flex:1 1 60%;flex:1 1 60%}.poll-form .poll-type .select{border:none;box-shadow:none;background-color:transparent}.poll-form .poll-expiry{display:-ms-flexbox;display:flex}.poll-form .poll-expiry .expiry-amount{width:3em;text-align:right}.poll-form .poll-expiry .expiry-unit{border:none;box-shadow:none;background-color:transparent}\", \"\"]);\n\n// exports\n","// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = require(\"!!../../../node_modules/css-loader/index.js?minimize!../../../node_modules/vue-loader/lib/style-compiler/index.js?{\\\"optionsId\\\":\\\"0\\\",\\\"vue\\\":true,\\\"scoped\\\":false,\\\"sourceMap\\\":false}!../../../node_modules/sass-loader/lib/loader.js!../../../node_modules/vue-loader/lib/selector.js?type=styles&index=0!./user_card.vue\");\nif(typeof content === 'string') content = [[module.id, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = require(\"!../../../node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"0060b6a4\", content, true, {});","exports = module.exports = require(\"../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \".user-card{position:relative}.user-card .panel-heading{padding:.5em 0;text-align:center;box-shadow:none;background:transparent;-ms-flex-direction:column;flex-direction:column;-ms-flex-align:stretch;align-items:stretch;position:relative}.user-card .panel-body{word-wrap:break-word;border-bottom-right-radius:inherit;border-bottom-left-radius:inherit;position:relative}.user-card .background-image{position:absolute;top:0;left:0;right:0;bottom:0;-webkit-mask:linear-gradient(0deg,#fff,transparent) bottom no-repeat,linear-gradient(0deg,#fff,#fff);mask:linear-gradient(0deg,#fff,transparent) bottom no-repeat,linear-gradient(0deg,#fff,#fff);-webkit-mask-composite:xor;mask-composite:exclude;background-size:cover;-webkit-mask-size:100% 60%;mask-size:100% 60%;border-top-left-radius:calc(var(--panelRadius) - 1px);border-top-right-radius:calc(var(--panelRadius) - 1px)}.user-card .background-image.hide-bio{-webkit-mask-size:100% 40px;mask-size:100% 40px}.user-card p{margin-bottom:0}.user-card-bio{text-align:center}.user-card-bio img{-o-object-fit:contain;object-fit:contain;vertical-align:middle;max-width:100%;max-height:400px}.user-card-bio img.emoji{width:32px;height:32px}.user-card-rounded-t{border-top-left-radius:10px;border-top-left-radius:var(--panelRadius,10px);border-top-right-radius:10px;border-top-right-radius:var(--panelRadius,10px)}.user-card-rounded{border-radius:10px;border-radius:var(--panelRadius,10px)}.user-card-bordered{border-color:#222;border:1px solid var(--border,#222)}.user-info{color:#b9b9ba;color:var(--lightText,#b9b9ba);padding:0 26px}.user-info .container{padding:16px 0 6px;display:-ms-flexbox;display:flex;-ms-flex-align:start;align-items:flex-start;max-height:56px}.user-info .container .avatar{-ms-flex:1 0 100%;flex:1 0 100%;width:56px;height:56px;box-shadow:0 1px 8px rgba(0,0,0,.75);box-shadow:var(--avatarShadow);-o-object-fit:cover;object-fit:cover}.user-info:hover .animated.avatar canvas{display:none}.user-info:hover .animated.avatar img{visibility:visible}.user-info-avatar-link{position:relative;cursor:pointer}.user-info-avatar-link-overlay{position:absolute;left:0;top:0;right:0;bottom:0;background-color:rgba(0,0,0,.3);display:-ms-flexbox;display:flex;-ms-flex-pack:center;justify-content:center;-ms-flex-align:center;align-items:center;border-radius:4px;border-radius:var(--avatarRadius,4px);opacity:0;transition:opacity .2s ease}.user-info-avatar-link-overlay i{color:#fff}.user-info-avatar-link:hover .user-info-avatar-link-overlay{opacity:1}.user-info .usersettings{color:#b9b9ba;color:var(--lightText,#b9b9ba);opacity:.8}.user-info .user-summary{display:block;margin-left:.6em;text-align:left;text-overflow:ellipsis;white-space:nowrap;-ms-flex:1 1 0px;flex:1 1 0;z-index:1}.user-info .user-summary img{width:26px;height:26px;vertical-align:middle;-o-object-fit:contain;object-fit:contain}.user-info .user-summary .top-line{display:-ms-flexbox;display:flex}.user-info .user-name{text-overflow:ellipsis;overflow:hidden;-ms-flex:1 1 auto;flex:1 1 auto;margin-right:1em;font-size:15px}.user-info .user-name img{-o-object-fit:contain;object-fit:contain;height:16px;width:16px;vertical-align:middle}.user-info .bottom-line{display:-ms-flexbox;display:flex;font-weight:light;font-size:15px}.user-info .bottom-line .user-screen-name{min-width:1px;-ms-flex:0 1 auto;flex:0 1 auto;text-overflow:ellipsis;overflow:hidden;color:#b9b9ba;color:var(--lightText,#b9b9ba)}.user-info .bottom-line .dailyAvg{min-width:1px;-ms-flex:0 0 auto;flex:0 0 auto;margin-left:1em;font-size:.7em;color:#b9b9ba;color:var(--text,#b9b9ba)}.user-info .bottom-line .staff{-ms-flex:none;flex:none;text-transform:capitalize;color:#b9b9ba;color:var(--btnText,#b9b9ba);background-color:#182230;background-color:var(--btn,#182230)}.user-info .user-meta{margin-bottom:.15em;display:-ms-flexbox;display:flex;-ms-flex-align:baseline;align-items:baseline;font-size:14px;line-height:22px;-ms-flex-wrap:wrap;flex-wrap:wrap}.user-info .user-meta .following{-ms-flex:1 0 auto;flex:1 0 auto;margin:0;margin-bottom:.25em;text-align:left}.user-info .user-meta .highlighter{-ms-flex:0 1 auto;flex:0 1 auto;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;margin-right:-.5em;-ms-flex-item-align:start;align-self:start}.user-info .user-meta .highlighter .userHighlightCl{padding:2px 10px;-ms-flex:1 0 auto;flex:1 0 auto}.user-info .user-meta .highlighter .userHighlightSel,.user-info .user-meta .highlighter .userHighlightSel.select{padding-top:0;padding-bottom:0;-ms-flex:1 0 auto;flex:1 0 auto}.user-info .user-meta .highlighter .userHighlightSel.select i{line-height:22px}.user-info .user-meta .highlighter .userHighlightText{width:70px;-ms-flex:1 0 auto;flex:1 0 auto}.user-info .user-meta .highlighter .userHighlightCl,.user-info .user-meta .highlighter .userHighlightSel,.user-info .user-meta .highlighter .userHighlightSel.select,.user-info .user-meta .highlighter .userHighlightText{height:22px;vertical-align:top;margin-right:.5em;margin-bottom:.25em}.user-info .user-interactions{position:relative;display:-ms-flexbox;display:flex;-ms-flex-flow:row wrap;flex-flow:row wrap;margin-right:-.75em}.user-info .user-interactions>*{margin:0 .75em .6em 0;white-space:nowrap;min-width:95px}.user-info .user-interactions button{margin:0}.user-info .user-interactions button.pressed{border-bottom-color:hsla(0,0%,100%,.2);border-top-color:rgba(0,0,0,.2)}.user-counts{display:-ms-flexbox;display:flex;line-height:16px;padding:.5em 1.5em 0;text-align:center;-ms-flex-pack:justify;justify-content:space-between;color:#b9b9ba;color:var(--lightText,#b9b9ba);-ms-flex-wrap:wrap;flex-wrap:wrap}.user-count{-ms-flex:1 0 auto;flex:1 0 auto;padding:.5em 0;margin:0 .5em}.user-count h5{font-size:1em;font-weight:bolder;margin:0 0 .25em}.user-count a{text-decoration:none}\", \"\"]);\n\n// exports\n","// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = require(\"!!../../../node_modules/css-loader/index.js?minimize!../../../node_modules/vue-loader/lib/style-compiler/index.js?{\\\"optionsId\\\":\\\"0\\\",\\\"vue\\\":true,\\\"scoped\\\":false,\\\"sourceMap\\\":false}!../../../node_modules/sass-loader/lib/loader.js!../../../node_modules/vue-loader/lib/selector.js?type=styles&index=0!./user_avatar.vue\");\nif(typeof content === 'string') content = [[module.id, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = require(\"!../../../node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"6b6f3617\", content, true, {});","exports = module.exports = require(\"../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \".avatar.still-image{width:48px;height:48px;box-shadow:var(--avatarStatusShadow);border-radius:4px;border-radius:var(--avatarRadius,4px)}.avatar.still-image img{width:100%;height:100%}.avatar.still-image.better-shadow{box-shadow:var(--avatarStatusShadowInset);filter:var(--avatarStatusShadowFilter)}.avatar.still-image.animated:before{display:none}.avatar.still-image.avatar-compact{width:32px;height:32px;border-radius:10px;border-radius:var(--avatarAltRadius,10px)}\", \"\"]);\n\n// exports\n","// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = require(\"!!../../../node_modules/css-loader/index.js?minimize!../../../node_modules/vue-loader/lib/style-compiler/index.js?{\\\"optionsId\\\":\\\"0\\\",\\\"vue\\\":true,\\\"scoped\\\":false,\\\"sourceMap\\\":false}!../../../node_modules/sass-loader/lib/loader.js!../../../node_modules/vue-loader/lib/selector.js?type=styles&index=0!./remote_follow.vue\");\nif(typeof content === 'string') content = [[module.id, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = require(\"!../../../node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"4852bbb4\", content, true, {});","exports = module.exports = require(\"../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \".remote-follow{max-width:220px}.remote-follow .remote-button{width:100%;min-height:28px}\", \"\"]);\n\n// exports\n","const fetchUser = (attempt, user, store) => new Promise((resolve, reject) => {\n setTimeout(() => {\n store.state.api.backendInteractor.fetchUser({ id: user.id })\n .then((user) => store.commit('addNewUsers', [user]))\n .then(() => resolve([user.following, user.requested, user.locked, attempt]))\n .catch((e) => reject(e))\n }, 500)\n}).then(([following, sent, locked, attempt]) => {\n if (!following && !(locked && sent) && attempt <= 3) {\n // If we BE reports that we still not following that user - retry,\n // increment attempts by one\n fetchUser(++attempt, user, store)\n }\n})\n\nexport const requestFollow = (user, store) => new Promise((resolve, reject) => {\n store.state.api.backendInteractor.followUser({ id: user.id })\n .then((updated) => {\n store.commit('updateUserRelationship', [updated])\n\n if (updated.following || (user.locked && user.requested)) {\n // If we get result immediately or the account is locked, just stop.\n resolve()\n return\n }\n\n // But usually we don't get result immediately, so we ask server\n // for updated user profile to confirm if we are following them\n // Sometimes it takes several tries. Sometimes we end up not following\n // user anyway, probably because they locked themselves and we\n // don't know that yet.\n // Recursive Promise, it will call itself up to 3 times.\n\n return fetchUser(1, user, store)\n .then(() => {\n resolve()\n })\n })\n})\n\nexport const requestUnfollow = (user, store) => new Promise((resolve, reject) => {\n store.state.api.backendInteractor.unfollowUser(user.id)\n .then((updated) => {\n store.commit('updateUserRelationship', [updated])\n resolve({\n updated\n })\n })\n})\n","function injectStyle (context) {\n require(\"!!vue-style-loader!css-loader?minimize!../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"optionsId\\\":\\\"0\\\",\\\"vue\\\":true,\\\"scoped\\\":false,\\\"sourceMap\\\":false}!sass-loader!../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./moderation_tools.vue\")\n}\n/* script */\nexport * from \"!!babel-loader!./moderation_tools.js\"\nimport __vue_script__ from \"!!babel-loader!./moderation_tools.js\"/* template */\nimport {render as __vue_render__, staticRenderFns as __vue_static_render_fns__} from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-756a6c4e\\\",\\\"hasScoped\\\":false,\\\"optionsId\\\":\\\"0\\\",\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./moderation_tools.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nimport normalizeComponent from \"!../../../node_modules/vue-loader/lib/runtime/component-normalizer\"\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_render__,\n __vue_static_render_fns__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n","// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = require(\"!!../../../node_modules/css-loader/index.js?minimize!../../../node_modules/vue-loader/lib/style-compiler/index.js?{\\\"optionsId\\\":\\\"0\\\",\\\"vue\\\":true,\\\"scoped\\\":false,\\\"sourceMap\\\":false}!../../../node_modules/sass-loader/lib/loader.js!../../../node_modules/vue-loader/lib/selector.js?type=styles&index=0!./moderation_tools.vue\");\nif(typeof content === 'string') content = [[module.id, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = require(\"!../../../node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"2c0672fc\", content, true, {});","exports = module.exports = require(\"../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \".tooltip.popover{z-index:8}.tooltip.popover .popover-inner{box-shadow:1px 1px 4px rgba(0,0,0,.6);box-shadow:var(--panelShadow);border-radius:4px;border-radius:var(--btnRadius,4px);background-color:#121a24;background-color:var(--bg,#121a24)}.tooltip.popover .popover-arrow{width:0;height:0;border-style:solid;position:absolute;margin:5px;border-color:#121a24;border-color:var(--bg,#121a24)}.tooltip.popover[x-placement^=top]{margin-bottom:5px}.tooltip.popover[x-placement^=top] .popover-arrow{border-width:5px 5px 0;border-left-color:transparent!important;border-right-color:transparent!important;border-bottom-color:transparent!important;bottom:-4px;left:calc(50% - 5px);margin-top:0;margin-bottom:0}.tooltip.popover[x-placement^=bottom]{margin-top:5px}.tooltip.popover[x-placement^=bottom] .popover-arrow{border-width:0 5px 5px;border-left-color:transparent!important;border-right-color:transparent!important;border-top-color:transparent!important;top:-4px;left:calc(50% - 5px);margin-top:0;margin-bottom:0}.tooltip.popover[x-placement^=right]{margin-left:5px}.tooltip.popover[x-placement^=right] .popover-arrow{border-width:5px 5px 5px 0;border-left-color:transparent!important;border-top-color:transparent!important;border-bottom-color:transparent!important;left:-4px;top:calc(50% - 5px);margin-left:0;margin-right:0}.tooltip.popover[x-placement^=left]{margin-right:5px}.tooltip.popover[x-placement^=left] .popover-arrow{border-width:5px 0 5px 5px;border-top-color:transparent!important;border-right-color:transparent!important;border-bottom-color:transparent!important;right:-4px;top:calc(50% - 5px);margin-left:0;margin-right:0}.tooltip.popover[aria-hidden=true]{visibility:hidden;opacity:0;transition:opacity .15s,visibility .15s}.tooltip.popover[aria-hidden=false]{visibility:visible;opacity:1;transition:opacity .15s}.dropdown-menu{display:block;padding:.5rem 0;font-size:1rem;text-align:left;list-style:none;max-width:100vw;z-index:10}.dropdown-menu .dropdown-divider{height:0;margin:.5rem 0;overflow:hidden;border-top:1px solid #222;border-top:1px solid var(--border,#222)}.dropdown-menu .dropdown-item{line-height:21px;margin-right:5px;overflow:auto;display:block;padding:.25rem 1rem .25rem 1.5rem;clear:both;font-weight:400;text-align:inherit;white-space:normal;border:none;border-radius:0;background-color:transparent;box-shadow:none;width:100%;height:100%}.dropdown-menu .dropdown-item-icon{padding-left:.5rem}.dropdown-menu .dropdown-item-icon i{margin-right:.25rem}.dropdown-menu .dropdown-item:hover{background-color:#182230;background-color:var(--btn,#182230);box-shadow:none}.menu-checkbox{float:right;min-width:22px;max-width:22px;min-height:22px;max-height:22px;line-height:22px;text-align:center;border-radius:0;background-color:#182230;background-color:var(--input,#182230);box-shadow:inset 0 0 2px #000;box-shadow:var(--inputShadow)}.menu-checkbox.menu-checkbox-checked:after{content:\\\"\\\\2714\\\"}.moderation-tools-popover{height:100%}.moderation-tools-popover .trigger{display:-ms-flexbox!important;display:flex!important;height:100%}\", \"\"]);\n\n// exports\n","function injectStyle (context) {\n require(\"!!vue-style-loader!css-loader?minimize!../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"optionsId\\\":\\\"0\\\",\\\"vue\\\":true,\\\"scoped\\\":false,\\\"sourceMap\\\":false}!sass-loader!../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./dialog_modal.vue\")\n}\n/* script */\nexport * from \"!!babel-loader!./dialog_modal.js\"\nimport __vue_script__ from \"!!babel-loader!./dialog_modal.js\"/* template */\nimport {render as __vue_render__, staticRenderFns as __vue_static_render_fns__} from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-eafd78a6\\\",\\\"hasScoped\\\":false,\\\"optionsId\\\":\\\"0\\\",\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./dialog_modal.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nimport normalizeComponent from \"!../../../node_modules/vue-loader/lib/runtime/component-normalizer\"\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_render__,\n __vue_static_render_fns__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n","// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = require(\"!!../../../node_modules/css-loader/index.js?minimize!../../../node_modules/vue-loader/lib/style-compiler/index.js?{\\\"optionsId\\\":\\\"0\\\",\\\"vue\\\":true,\\\"scoped\\\":false,\\\"sourceMap\\\":false}!../../../node_modules/sass-loader/lib/loader.js!../../../node_modules/vue-loader/lib/selector.js?type=styles&index=0!./dialog_modal.vue\");\nif(typeof content === 'string') content = [[module.id, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = require(\"!../../../node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"56d82e88\", content, true, {});","exports = module.exports = require(\"../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \".dark-overlay:before{bottom:0;content:\\\" \\\";left:0;right:0;background:rgba(27,31,35,.5);z-index:99}.dark-overlay:before,.dialog-modal.panel{display:block;cursor:default;position:fixed;top:0}.dialog-modal.panel{left:50%;max-height:80vh;max-width:90vw;margin:15vh auto;transform:translateX(-50%);z-index:999;background-color:#121a24;background-color:var(--bg,#121a24)}.dialog-modal.panel .dialog-modal-heading{padding:.5em;margin-right:auto;margin-bottom:0;white-space:nowrap;color:var(--panelText);background-color:#182230;background-color:var(--panel,#182230)}.dialog-modal.panel .dialog-modal-heading .title{margin-bottom:0;text-align:center}.dialog-modal.panel .dialog-modal-content{margin:0;padding:1rem;background-color:#151e2a;background-color:var(--lightBg,#151e2a);white-space:normal}.dialog-modal.panel .dialog-modal-footer{margin:0;padding:.5em;background-color:#151e2a;background-color:var(--lightBg,#151e2a);border-top:1px solid #121a24;border-top:1px solid var(--bg,#121a24);display:-ms-flexbox;display:flex;-ms-flex-pack:end;justify-content:flex-end}.dialog-modal.panel .dialog-modal-footer button{width:auto;margin-left:.5rem}\", \"\"]);\n\n// exports\n","function injectStyle (context) {\n require(\"!!vue-style-loader!css-loader?minimize!../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"optionsId\\\":\\\"0\\\",\\\"vue\\\":true,\\\"scoped\\\":false,\\\"sourceMap\\\":false}!sass-loader!../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./account_actions.vue\")\n}\n/* script */\nexport * from \"!!babel-loader!./account_actions.js\"\nimport __vue_script__ from \"!!babel-loader!./account_actions.js\"/* template */\nimport {render as __vue_render__, staticRenderFns as __vue_static_render_fns__} from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-16abbea5\\\",\\\"hasScoped\\\":false,\\\"optionsId\\\":\\\"0\\\",\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./account_actions.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nimport normalizeComponent from \"!../../../node_modules/vue-loader/lib/runtime/component-normalizer\"\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_render__,\n __vue_static_render_fns__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n","// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = require(\"!!../../../node_modules/css-loader/index.js?minimize!../../../node_modules/vue-loader/lib/style-compiler/index.js?{\\\"optionsId\\\":\\\"0\\\",\\\"vue\\\":true,\\\"scoped\\\":false,\\\"sourceMap\\\":false}!../../../node_modules/sass-loader/lib/loader.js!../../../node_modules/vue-loader/lib/selector.js?type=styles&index=0!./account_actions.vue\");\nif(typeof content === 'string') content = [[module.id, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = require(\"!../../../node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"8c9d5016\", content, true, {});","exports = module.exports = require(\"../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \".tooltip.popover{z-index:8}.tooltip.popover .popover-inner{box-shadow:1px 1px 4px rgba(0,0,0,.6);box-shadow:var(--panelShadow);border-radius:4px;border-radius:var(--btnRadius,4px);background-color:#121a24;background-color:var(--bg,#121a24)}.tooltip.popover .popover-arrow{width:0;height:0;border-style:solid;position:absolute;margin:5px;border-color:#121a24;border-color:var(--bg,#121a24)}.tooltip.popover[x-placement^=top]{margin-bottom:5px}.tooltip.popover[x-placement^=top] .popover-arrow{border-width:5px 5px 0;border-left-color:transparent!important;border-right-color:transparent!important;border-bottom-color:transparent!important;bottom:-4px;left:calc(50% - 5px);margin-top:0;margin-bottom:0}.tooltip.popover[x-placement^=bottom]{margin-top:5px}.tooltip.popover[x-placement^=bottom] .popover-arrow{border-width:0 5px 5px;border-left-color:transparent!important;border-right-color:transparent!important;border-top-color:transparent!important;top:-4px;left:calc(50% - 5px);margin-top:0;margin-bottom:0}.tooltip.popover[x-placement^=right]{margin-left:5px}.tooltip.popover[x-placement^=right] .popover-arrow{border-width:5px 5px 5px 0;border-left-color:transparent!important;border-top-color:transparent!important;border-bottom-color:transparent!important;left:-4px;top:calc(50% - 5px);margin-left:0;margin-right:0}.tooltip.popover[x-placement^=left]{margin-right:5px}.tooltip.popover[x-placement^=left] .popover-arrow{border-width:5px 0 5px 5px;border-top-color:transparent!important;border-right-color:transparent!important;border-bottom-color:transparent!important;right:-4px;top:calc(50% - 5px);margin-left:0;margin-right:0}.tooltip.popover[aria-hidden=true]{visibility:hidden;opacity:0;transition:opacity .15s,visibility .15s}.tooltip.popover[aria-hidden=false]{visibility:visible;opacity:1;transition:opacity .15s}.dropdown-menu{display:block;padding:.5rem 0;font-size:1rem;text-align:left;list-style:none;max-width:100vw;z-index:10}.dropdown-menu .dropdown-divider{height:0;margin:.5rem 0;overflow:hidden;border-top:1px solid #222;border-top:1px solid var(--border,#222)}.dropdown-menu .dropdown-item{line-height:21px;margin-right:5px;overflow:auto;display:block;padding:.25rem 1rem .25rem 1.5rem;clear:both;font-weight:400;text-align:inherit;white-space:normal;border:none;border-radius:0;background-color:transparent;box-shadow:none;width:100%;height:100%}.dropdown-menu .dropdown-item-icon{padding-left:.5rem}.dropdown-menu .dropdown-item-icon i{margin-right:.25rem}.dropdown-menu .dropdown-item:hover{background-color:#182230;background-color:var(--btn,#182230);box-shadow:none}.account-actions{margin:0 .8em}.account-actions button.dropdown-item{margin-left:0}.account-actions .trigger-button{color:#b9b9ba;color:var(--lightText,#b9b9ba);opacity:.8;cursor:pointer}.account-actions .trigger-button:hover{color:#b9b9ba;color:var(--text,#b9b9ba)}\", \"\"]);\n\n// exports\n","function injectStyle (context) {\n require(\"!!vue-style-loader!css-loader?minimize!../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"optionsId\\\":\\\"0\\\",\\\"vue\\\":true,\\\"scoped\\\":false,\\\"sourceMap\\\":false}!sass-loader!../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./gallery.vue\")\n}\n/* script */\nexport * from \"!!babel-loader!./gallery.js\"\nimport __vue_script__ from \"!!babel-loader!./gallery.js\"/* template */\nimport {render as __vue_render__, staticRenderFns as __vue_static_render_fns__} from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-68a574b8\\\",\\\"hasScoped\\\":false,\\\"optionsId\\\":\\\"0\\\",\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./gallery.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nimport normalizeComponent from \"!../../../node_modules/vue-loader/lib/runtime/component-normalizer\"\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_render__,\n __vue_static_render_fns__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n","// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = require(\"!!../../../node_modules/css-loader/index.js?minimize!../../../node_modules/vue-loader/lib/style-compiler/index.js?{\\\"optionsId\\\":\\\"0\\\",\\\"vue\\\":true,\\\"scoped\\\":false,\\\"sourceMap\\\":false}!../../../node_modules/sass-loader/lib/loader.js!../../../node_modules/vue-loader/lib/selector.js?type=styles&index=0!./gallery.vue\");\nif(typeof content === 'string') content = [[module.id, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = require(\"!../../../node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"6c9d5cbc\", content, true, {});","exports = module.exports = require(\"../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \".gallery-row{position:relative;height:0;width:100%;-ms-flex-positive:1;flex-grow:1;margin-top:.5em}.gallery-row .gallery-row-inner{position:absolute;top:0;left:0;right:0;bottom:0;display:-ms-flexbox;display:flex;-ms-flex-direction:row;flex-direction:row;-ms-flex-wrap:nowrap;flex-wrap:nowrap;-ms-flex-line-pack:stretch;align-content:stretch}.gallery-row .attachment.image{margin:0 .5em 0 0;-ms-flex-positive:1;flex-grow:1;height:100%;box-sizing:border-box;min-width:2em}.gallery-row .attachment.image:last-child{margin:0}.gallery-row .image-attachment{width:100%;height:100%}.gallery-row .video-container{height:100%}.gallery-row.contain-fit canvas,.gallery-row.contain-fit img,.gallery-row.contain-fit video{-o-object-fit:contain;object-fit:contain}.gallery-row.cover-fit canvas,.gallery-row.cover-fit img,.gallery-row.cover-fit video{-o-object-fit:cover;object-fit:cover}\", \"\"]);\n\n// exports\n","function injectStyle (context) {\n require(\"!!vue-style-loader!css-loader?minimize!../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"optionsId\\\":\\\"0\\\",\\\"vue\\\":true,\\\"scoped\\\":false,\\\"sourceMap\\\":false}!sass-loader!../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./link-preview.vue\")\n}\n/* script */\nexport * from \"!!babel-loader!./link-preview.js\"\nimport __vue_script__ from \"!!babel-loader!./link-preview.js\"/* template */\nimport {render as __vue_render__, staticRenderFns as __vue_static_render_fns__} from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-7c8d99ac\\\",\\\"hasScoped\\\":false,\\\"optionsId\\\":\\\"0\\\",\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./link-preview.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nimport normalizeComponent from \"!../../../node_modules/vue-loader/lib/runtime/component-normalizer\"\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_render__,\n __vue_static_render_fns__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n","// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = require(\"!!../../../node_modules/css-loader/index.js?minimize!../../../node_modules/vue-loader/lib/style-compiler/index.js?{\\\"optionsId\\\":\\\"0\\\",\\\"vue\\\":true,\\\"scoped\\\":false,\\\"sourceMap\\\":false}!../../../node_modules/sass-loader/lib/loader.js!../../../node_modules/vue-loader/lib/selector.js?type=styles&index=0!./link-preview.vue\");\nif(typeof content === 'string') content = [[module.id, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = require(\"!../../../node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"c13d6bee\", content, true, {});","exports = module.exports = require(\"../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \".link-preview-card{display:-ms-flexbox;display:flex;-ms-flex-direction:row;flex-direction:row;cursor:pointer;overflow:hidden;margin-top:.5em;color:#b9b9ba;color:var(--text,#b9b9ba);border-radius:10px;border-radius:var(--attachmentRadius,10px);border-color:#222;border:1px solid var(--border,#222)}.link-preview-card .card-image{-ms-flex-negative:0;flex-shrink:0;width:120px;max-width:25%}.link-preview-card .card-image img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;border-radius:10px;border-radius:var(--attachmentRadius,10px)}.link-preview-card .small-image{width:80px}.link-preview-card .card-content{max-height:100%;margin:.5em;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column}.link-preview-card .card-host{font-size:12px}.link-preview-card .card-description{margin:.5em 0 0;overflow:hidden;text-overflow:ellipsis;word-break:break-word;line-height:1.2em;max-height:calc(1.2em * 3 - 1px)}\", \"\"]);\n\n// exports\n","function injectStyle (context) {\n require(\"!!vue-style-loader!css-loader?minimize!../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"optionsId\\\":\\\"0\\\",\\\"vue\\\":true,\\\"scoped\\\":false,\\\"sourceMap\\\":false}!sass-loader!../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./avatar_list.vue\")\n}\n/* script */\nexport * from \"!!babel-loader!./avatar_list.js\"\nimport __vue_script__ from \"!!babel-loader!./avatar_list.js\"/* template */\nimport {render as __vue_render__, staticRenderFns as __vue_static_render_fns__} from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-4cea5bcf\\\",\\\"hasScoped\\\":false,\\\"optionsId\\\":\\\"0\\\",\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./avatar_list.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nimport normalizeComponent from \"!../../../node_modules/vue-loader/lib/runtime/component-normalizer\"\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_render__,\n __vue_static_render_fns__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n","// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = require(\"!!../../../node_modules/css-loader/index.js?minimize!../../../node_modules/vue-loader/lib/style-compiler/index.js?{\\\"optionsId\\\":\\\"0\\\",\\\"vue\\\":true,\\\"scoped\\\":false,\\\"sourceMap\\\":false}!../../../node_modules/sass-loader/lib/loader.js!../../../node_modules/vue-loader/lib/selector.js?type=styles&index=0!./avatar_list.vue\");\nif(typeof content === 'string') content = [[module.id, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = require(\"!../../../node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"7096a06e\", content, true, {});","exports = module.exports = require(\"../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \".avatars{display:-ms-flexbox;display:flex;margin:0;padding:0;-ms-flex-wrap:wrap;flex-wrap:wrap;height:24px}.avatars .avatars-item{margin:0 0 5px 5px}.avatars .avatars-item:first-child{padding-left:5px}.avatars .avatars-item .avatar-small{border-radius:10px;border-radius:var(--avatarAltRadius,10px);height:24px;width:24px}\", \"\"]);\n\n// exports\n","function injectStyle (context) {\n require(\"!!vue-style-loader!css-loader?minimize!../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"optionsId\\\":\\\"0\\\",\\\"vue\\\":true,\\\"scoped\\\":false,\\\"sourceMap\\\":false}!sass-loader!../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./status_popover.vue\")\n}\n/* script */\nexport * from \"!!babel-loader!./status_popover.js\"\nimport __vue_script__ from \"!!babel-loader!./status_popover.js\"/* template */\nimport {render as __vue_render__, staticRenderFns as __vue_static_render_fns__} from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-ef621460\\\",\\\"hasScoped\\\":false,\\\"optionsId\\\":\\\"0\\\",\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./status_popover.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nimport normalizeComponent from \"!../../../node_modules/vue-loader/lib/runtime/component-normalizer\"\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_render__,\n __vue_static_render_fns__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n","// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = require(\"!!../../../node_modules/css-loader/index.js?minimize!../../../node_modules/vue-loader/lib/style-compiler/index.js?{\\\"optionsId\\\":\\\"0\\\",\\\"vue\\\":true,\\\"scoped\\\":false,\\\"sourceMap\\\":false}!../../../node_modules/sass-loader/lib/loader.js!../../../node_modules/vue-loader/lib/selector.js?type=styles&index=0!./status_popover.vue\");\nif(typeof content === 'string') content = [[module.id, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = require(\"!../../../node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"14cff5b4\", content, true, {});","exports = module.exports = require(\"../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \".tooltip.popover.status-popover{font-size:1rem;min-width:15em;max-width:95%;margin-left:.5em}.tooltip.popover.status-popover .popover-inner{border-color:#222;border:1px solid var(--border,#222);border-radius:5px;border-radius:var(--tooltipRadius,5px);box-shadow:2px 2px 3px rgba(0,0,0,.5);box-shadow:var(--popupShadow)}.tooltip.popover.status-popover .popover-arrow:before{position:absolute;content:\\\"\\\";left:-7px;border:7px solid transparent;z-index:-1}.tooltip.popover.status-popover[x-placement^=bottom-start] .popover-arrow:before{top:-2px;border-top-width:0;border-bottom-color:#222;border-bottom-color:var(--border,#222)}.tooltip.popover.status-popover[x-placement^=top-start] .popover-arrow:before{bottom:-2px;border-bottom-width:0;border-top-color:#222;border-top-color:var(--border,#222)}.tooltip.popover.status-popover .status-el.status-el{border:none}.tooltip.popover.status-popover .status-preview-loading{padding:1em;text-align:center}.tooltip.popover.status-popover .status-preview-loading i{font-size:2em}\", \"\"]);\n\n// exports\n","/**\n * This is a tiny purpose-built HTML parser/processor. This basically detects any type of visual newline and\n * allows it to be processed, useful for greentexting, mostly\n *\n * known issue: doesn't handle CDATA so nested CDATA might not work well\n *\n * @param {Object} input - input data\n * @param {(string) => string} processor - function that will be called on every line\n * @return {string} processed html\n */\nexport const processHtml = (html, processor) => {\n const handledTags = new Set(['p', 'br', 'div'])\n const openCloseTags = new Set(['p', 'div'])\n\n let buffer = '' // Current output buffer\n const level = [] // How deep we are in tags and which tags were there\n let textBuffer = '' // Current line content\n let tagBuffer = null // Current tag buffer, if null = we are not currently reading a tag\n\n // Extracts tag name from tag, i.e. <span a=\"b\"> => span\n const getTagName = (tag) => {\n const result = /(?:<\\/(\\w+)>|<(\\w+)\\s?[^/]*?\\/?>)/gi.exec(tag)\n return result && (result[1] || result[2])\n }\n\n const flush = () => { // Processes current line buffer, adds it to output buffer and clears line buffer\n if (textBuffer.trim().length > 0) {\n buffer += processor(textBuffer)\n } else {\n buffer += textBuffer\n }\n textBuffer = ''\n }\n\n const handleBr = (tag) => { // handles single newlines/linebreaks/selfclosing\n flush()\n buffer += tag\n }\n\n const handleOpen = (tag) => { // handles opening tags\n flush()\n buffer += tag\n level.push(tag)\n }\n\n const handleClose = (tag) => { // handles closing tags\n flush()\n buffer += tag\n if (level[level.length - 1] === tag) {\n level.pop()\n }\n }\n\n for (let i = 0; i < html.length; i++) {\n const char = html[i]\n if (char === '<' && tagBuffer === null) {\n tagBuffer = char\n } else if (char !== '>' && tagBuffer !== null) {\n tagBuffer += char\n } else if (char === '>' && tagBuffer !== null) {\n tagBuffer += char\n const tagFull = tagBuffer\n tagBuffer = null\n const tagName = getTagName(tagFull)\n if (handledTags.has(tagName)) {\n if (tagName === 'br') {\n handleBr(tagFull)\n } else if (openCloseTags.has(tagName)) {\n if (tagFull[1] === '/') {\n handleClose(tagFull)\n } else if (tagFull[tagFull.length - 2] === '/') {\n // self-closing\n handleBr(tagFull)\n } else {\n handleOpen(tagFull)\n }\n }\n } else {\n textBuffer += tagFull\n }\n } else if (char === '\\n') {\n handleBr(char)\n } else {\n textBuffer += char\n }\n }\n if (tagBuffer) {\n textBuffer += tagBuffer\n }\n\n flush()\n\n return buffer\n}\n","export const mentionMatchesUrl = (attention, url) => {\n if (url === attention.statusnet_profile_url) {\n return true\n }\n const [namepart, instancepart] = attention.screen_name.split('@')\n const matchstring = new RegExp('://' + instancepart + '/.*' + namepart + '$', 'g')\n\n return !!url.match(matchstring)\n}\n\n/**\n * Extract tag name from pleroma or mastodon url.\n * i.e https://bikeshed.party/tag/photo or https://quey.org/tags/sky\n * @param {string} url\n */\nexport const extractTagFromUrl = (url) => {\n const regex = /tag[s]*\\/(\\w+)$/g\n const result = regex.exec(url)\n if (!result) {\n return false\n }\n return result[1]\n}\n","// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = require(\"!!../../../node_modules/css-loader/index.js?minimize!../../../node_modules/vue-loader/lib/style-compiler/index.js?{\\\"optionsId\\\":\\\"0\\\",\\\"vue\\\":true,\\\"scoped\\\":false,\\\"sourceMap\\\":false}!../../../node_modules/sass-loader/lib/loader.js!../../../node_modules/vue-loader/lib/selector.js?type=styles&index=0!./conversation.vue\");\nif(typeof content === 'string') content = [[module.id, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = require(\"!../../../node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"93498d0a\", content, true, {});","exports = module.exports = require(\"../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \".timeline .panel-disabled .status-el{border-left:none;border-bottom-width:1px;border-bottom-style:solid;border-color:var(--border,#222);border-radius:0}\", \"\"]);\n\n// exports\n","/* script */\nexport * from \"!!babel-loader!./public_and_external_timeline.js\"\nimport __vue_script__ from \"!!babel-loader!./public_and_external_timeline.js\"/* template */\nimport {render as __vue_render__, staticRenderFns as __vue_static_render_fns__} from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-f6923484\\\",\\\"hasScoped\\\":false,\\\"optionsId\\\":\\\"0\\\",\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./public_and_external_timeline.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nimport normalizeComponent from \"!../../../node_modules/vue-loader/lib/runtime/component-normalizer\"\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_render__,\n __vue_static_render_fns__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n","/* script */\nexport * from \"!!babel-loader!./friends_timeline.js\"\nimport __vue_script__ from \"!!babel-loader!./friends_timeline.js\"/* template */\nimport {render as __vue_render__, staticRenderFns as __vue_static_render_fns__} from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-22490669\\\",\\\"hasScoped\\\":false,\\\"optionsId\\\":\\\"0\\\",\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./friends_timeline.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nimport normalizeComponent from \"!../../../node_modules/vue-loader/lib/runtime/component-normalizer\"\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_render__,\n __vue_static_render_fns__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n","/* script */\nexport * from \"!!babel-loader!./tag_timeline.js\"\nimport __vue_script__ from \"!!babel-loader!./tag_timeline.js\"/* template */\nimport {render as __vue_render__, staticRenderFns as __vue_static_render_fns__} from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-047310d3\\\",\\\"hasScoped\\\":false,\\\"optionsId\\\":\\\"0\\\",\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./tag_timeline.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nimport normalizeComponent from \"!../../../node_modules/vue-loader/lib/runtime/component-normalizer\"\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_render__,\n __vue_static_render_fns__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n","/* script */\nexport * from \"!!babel-loader!./conversation-page.js\"\nimport __vue_script__ from \"!!babel-loader!./conversation-page.js\"/* template */\nimport {render as __vue_render__, staticRenderFns as __vue_static_render_fns__} from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-46654d24\\\",\\\"hasScoped\\\":false,\\\"optionsId\\\":\\\"0\\\",\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./conversation-page.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nimport normalizeComponent from \"!../../../node_modules/vue-loader/lib/runtime/component-normalizer\"\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_render__,\n __vue_static_render_fns__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n","/* script */\nexport * from \"!!babel-loader!./interactions.js\"\nimport __vue_script__ from \"!!babel-loader!./interactions.js\"/* template */\nimport {render as __vue_render__, staticRenderFns as __vue_static_render_fns__} from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-956f2436\\\",\\\"hasScoped\\\":false,\\\"optionsId\\\":\\\"0\\\",\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./interactions.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nimport normalizeComponent from \"!../../../node_modules/vue-loader/lib/runtime/component-normalizer\"\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_render__,\n __vue_static_render_fns__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n","// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = require(\"!!../../../node_modules/css-loader/index.js?minimize!../../../node_modules/vue-loader/lib/style-compiler/index.js?{\\\"optionsId\\\":\\\"0\\\",\\\"vue\\\":true,\\\"scoped\\\":false,\\\"sourceMap\\\":false}!../../../node_modules/sass-loader/lib/loader.js!./notifications.scss\");\nif(typeof content === 'string') content = [[module.id, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = require(\"!../../../node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"87e1cf2e\", content, true, {});","exports = module.exports = require(\"../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \".notifications:not(.minimal){padding-bottom:15em}.notifications .loadmore-error{color:#b9b9ba;color:var(--text,#b9b9ba)}.notifications .notification{position:relative}.notifications .notification .notification-overlay{position:absolute;top:0;right:0;left:0;bottom:0;pointer-events:none}.notifications .notification.unseen .notification-overlay{background-image:linear-gradient(135deg,var(--badgeNotification,red) 4px,transparent 10px)}.notification{box-sizing:border-box;border-bottom:1px solid;border-color:#222;border-color:var(--border,#222)}.notification:hover .animated.avatar canvas{display:none}.notification:hover .animated.avatar img{visibility:visible}.notification .muted{padding:.25em .6em}.notification .non-mention{display:-ms-flexbox;display:flex;-ms-flex:1;flex:1;-ms-flex-wrap:nowrap;flex-wrap:nowrap;padding:.6em;min-width:0}.notification .non-mention .avatar-container{width:32px;height:32px}.notification .non-mention .status-el{padding:0}.notification .non-mention .status-el .status{padding:.25em 0;color:hsla(240,1%,73%,.5);color:var(--faint,hsla(240,1%,73%,.5))}.notification .non-mention .status-el .status a{color:var(--faintLink)}.notification .non-mention .status-el .media-body{margin:0}.notification .follow-text{padding:.5em 0}.notification .status-el{-ms-flex:1;flex:1}.notification time{white-space:nowrap}.notification .notification-right{-ms-flex:1;flex:1;padding-left:.8em;min-width:0}.notification .notification-details{min-width:0;word-wrap:break-word;line-height:18px;position:relative;overflow:hidden;width:100%;-ms-flex:1 1 0px;flex:1 1 0;display:-ms-flexbox;display:flex;-ms-flex-wrap:nowrap;flex-wrap:nowrap;-ms-flex-pack:justify;justify-content:space-between}.notification .notification-details .name-and-action{-ms-flex:1;flex:1;overflow:hidden;text-overflow:ellipsis}.notification .notification-details .username{font-weight:bolder;max-width:100%;text-overflow:ellipsis;white-space:nowrap}.notification .notification-details .username img{width:14px;height:14px;vertical-align:middle;-o-object-fit:contain;object-fit:contain}.notification .notification-details .timeago{margin-right:.2em}.notification .notification-details .icon-retweet.lit{color:#0fa00f;color:var(--cGreen,#0fa00f)}.notification .notification-details .icon-reply.lit,.notification .notification-details .icon-user-plus.lit{color:#0095ff;color:var(--cBlue,#0095ff)}.notification .notification-details .icon-star.lit{color:orange;color:var(--cOrange,orange)}.notification .notification-details .status-content{margin:0;max-height:300px}.notification .notification-details h1{word-break:break-all;margin:0 0 .3em;padding:0;font-size:1em;line-height:20px}.notification .notification-details h1 small{font-weight:lighter}.notification .notification-details p{margin:0;margin-top:0;margin-bottom:.3em}\", \"\"]);\n\n// exports\n","/* script */\nexport * from \"!!babel-loader!./notification.js\"\nimport __vue_script__ from \"!!babel-loader!./notification.js\"/* template */\nimport {render as __vue_render__, staticRenderFns as __vue_static_render_fns__} from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-b3ea6222\\\",\\\"hasScoped\\\":false,\\\"optionsId\\\":\\\"0\\\",\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./notification.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nimport normalizeComponent from \"!../../../node_modules/vue-loader/lib/runtime/component-normalizer\"\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_render__,\n __vue_static_render_fns__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n","/* script */\nexport * from \"!!babel-loader!./dm_timeline.js\"\nimport __vue_script__ from \"!!babel-loader!./dm_timeline.js\"/* template */\nimport {render as __vue_render__, staticRenderFns as __vue_static_render_fns__} from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-294f8b6d\\\",\\\"hasScoped\\\":false,\\\"optionsId\\\":\\\"0\\\",\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./dm_timeline.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nimport normalizeComponent from \"!../../../node_modules/vue-loader/lib/runtime/component-normalizer\"\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_render__,\n __vue_static_render_fns__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n","function injectStyle (context) {\n require(\"!!vue-style-loader!css-loader?minimize!../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"optionsId\\\":\\\"0\\\",\\\"vue\\\":true,\\\"scoped\\\":false,\\\"sourceMap\\\":false}!sass-loader!../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./user_profile.vue\")\n}\n/* script */\nexport * from \"!!babel-loader!./user_profile.js\"\nimport __vue_script__ from \"!!babel-loader!./user_profile.js\"/* template */\nimport {render as __vue_render__, staticRenderFns as __vue_static_render_fns__} from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-17386938\\\",\\\"hasScoped\\\":false,\\\"optionsId\\\":\\\"0\\\",\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./user_profile.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nimport normalizeComponent from \"!../../../node_modules/vue-loader/lib/runtime/component-normalizer\"\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_render__,\n __vue_static_render_fns__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n","// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = require(\"!!../../../node_modules/css-loader/index.js?minimize!../../../node_modules/vue-loader/lib/style-compiler/index.js?{\\\"optionsId\\\":\\\"0\\\",\\\"vue\\\":true,\\\"scoped\\\":false,\\\"sourceMap\\\":false}!../../../node_modules/sass-loader/lib/loader.js!../../../node_modules/vue-loader/lib/selector.js?type=styles&index=0!./user_profile.vue\");\nif(typeof content === 'string') content = [[module.id, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = require(\"!../../../node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"7563b46e\", content, true, {});","exports = module.exports = require(\"../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \".user-profile{-ms-flex:2;flex:2;-ms-flex-preferred-size:500px;flex-basis:500px}.user-profile .userlist-placeholder{-ms-flex-align:middle;align-items:middle;padding:2em}.user-profile .timeline-heading,.user-profile .userlist-placeholder{display:-ms-flexbox;display:flex;-ms-flex-pack:center;justify-content:center}.user-profile .timeline-heading .alert,.user-profile .timeline-heading .loadmore-button{-ms-flex:1;flex:1}.user-profile .timeline-heading .loadmore-button{height:28px;margin:10px .6em}.user-profile .timeline-heading .loadmore-text,.user-profile .timeline-heading .title{display:none}.user-profile-placeholder .panel-body{display:-ms-flexbox;display:flex;-ms-flex-pack:center;justify-content:center;-ms-flex-align:middle;align-items:middle;padding:7em}\", \"\"]);\n\n// exports\n","// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = require(\"!!../../../node_modules/css-loader/index.js?minimize!../../../node_modules/vue-loader/lib/style-compiler/index.js?{\\\"optionsId\\\":\\\"0\\\",\\\"vue\\\":true,\\\"scoped\\\":false,\\\"sourceMap\\\":false}!../../../node_modules/sass-loader/lib/loader.js!../../../node_modules/vue-loader/lib/selector.js?type=styles&index=0!./follow_card.vue\");\nif(typeof content === 'string') content = [[module.id, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = require(\"!../../../node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"ae955a70\", content, true, {});","exports = module.exports = require(\"../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \".follow-card-content-container{-ms-flex-negative:0;flex-shrink:0;display:-ms-flexbox;display:flex;-ms-flex-direction:row;flex-direction:row;-ms-flex-pack:justify;justify-content:space-between;-ms-flex-wrap:wrap;flex-wrap:wrap;line-height:1.5em}.follow-card-follow-button{margin-top:.5em;margin-left:auto;width:10em}\", \"\"]);\n\n// exports\n","// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = require(\"!!../../../node_modules/css-loader/index.js?minimize!../../../node_modules/vue-loader/lib/style-compiler/index.js?{\\\"optionsId\\\":\\\"0\\\",\\\"vue\\\":true,\\\"scoped\\\":false,\\\"sourceMap\\\":false}!../../../node_modules/sass-loader/lib/loader.js!../../../node_modules/vue-loader/lib/selector.js?type=styles&index=0!./basic_user_card.vue\");\nif(typeof content === 'string') content = [[module.id, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = require(\"!../../../node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"119ab786\", content, true, {});","exports = module.exports = require(\"../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \".basic-user-card{display:-ms-flexbox;display:flex;-ms-flex:1 0;flex:1 0;margin:0;padding:.6em 1em}.basic-user-card-collapsed-content{margin-left:.7em;text-align:left;-ms-flex:1;flex:1;min-width:0}.basic-user-card-user-name img{-o-object-fit:contain;object-fit:contain;height:16px;width:16px;vertical-align:middle}.basic-user-card-screen-name,.basic-user-card-user-name-value{display:inline-block;max-width:100%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.basic-user-card-expanded-content{-ms-flex:1;flex:1;margin-left:.7em;min-width:0}\", \"\"]);\n\n// exports\n","// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = require(\"!!../../../node_modules/css-loader/index.js?minimize!../../../node_modules/vue-loader/lib/style-compiler/index.js?{\\\"optionsId\\\":\\\"0\\\",\\\"vue\\\":true,\\\"scoped\\\":false,\\\"sourceMap\\\":false}!../../../node_modules/sass-loader/lib/loader.js!../../../node_modules/vue-loader/lib/selector.js?type=styles&index=0!./list.vue\");\nif(typeof content === 'string') content = [[module.id, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = require(\"!../../../node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"33745640\", content, true, {});","exports = module.exports = require(\"../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \".list-item:not(:last-child){border-bottom:1px solid;border-bottom-color:#222;border-bottom-color:var(--border,#222)}.list-empty-content{text-align:center;padding:10px}\", \"\"]);\n\n// exports\n","import Vue from 'vue'\nimport isEmpty from 'lodash/isEmpty'\nimport { getComponentProps } from '../../services/component_utils/component_utils'\nimport './with_load_more.scss'\n\nconst withLoadMore = ({\n fetch, // function to fetch entries and return a promise\n select, // function to select data from store\n destroy, // function called at \"destroyed\" lifecycle\n childPropName = 'entries', // name of the prop to be passed into the wrapped component\n additionalPropNames = [] // additional prop name list of the wrapper component\n}) => (WrappedComponent) => {\n const originalProps = Object.keys(getComponentProps(WrappedComponent))\n const props = originalProps.filter(v => v !== childPropName).concat(additionalPropNames)\n\n return Vue.component('withLoadMore', {\n props,\n data () {\n return {\n loading: false,\n bottomedOut: false,\n error: false\n }\n },\n computed: {\n entries () {\n return select(this.$props, this.$store) || []\n }\n },\n created () {\n window.addEventListener('scroll', this.scrollLoad)\n if (this.entries.length === 0) {\n this.fetchEntries()\n }\n },\n destroyed () {\n window.removeEventListener('scroll', this.scrollLoad)\n destroy && destroy(this.$props, this.$store)\n },\n methods: {\n fetchEntries () {\n if (!this.loading) {\n this.loading = true\n this.error = false\n fetch(this.$props, this.$store)\n .then((newEntries) => {\n this.loading = false\n this.bottomedOut = isEmpty(newEntries)\n })\n .catch(() => {\n this.loading = false\n this.error = true\n })\n }\n },\n scrollLoad (e) {\n const bodyBRect = document.body.getBoundingClientRect()\n const height = Math.max(bodyBRect.height, -(bodyBRect.y))\n if (this.loading === false &&\n this.bottomedOut === false &&\n this.$el.offsetHeight > 0 &&\n (window.innerHeight + window.pageYOffset) >= (height - 750)\n ) {\n this.fetchEntries()\n }\n }\n },\n render (createElement) {\n const props = {\n props: {\n ...this.$props,\n [childPropName]: this.entries\n },\n on: this.$listeners,\n scopedSlots: this.$scopedSlots\n }\n const children = Object.entries(this.$slots).map(([key, value]) => createElement('template', { slot: key }, value))\n return (\n <div class=\"with-load-more\">\n <WrappedComponent {...props}>\n {children}\n </WrappedComponent>\n <div class=\"with-load-more-footer\">\n {this.error && <a onClick={this.fetchEntries} class=\"alert error\">{this.$t('general.generic_error')}</a>}\n {!this.error && this.loading && <i class=\"icon-spin3 animate-spin\"/>}\n {!this.error && !this.loading && !this.bottomedOut && <a onClick={this.fetchEntries}>{this.$t('general.more')}</a>}\n </div>\n </div>\n )\n }\n })\n}\n\nexport default withLoadMore\n","function injectStyle (context) {\n require(\"!!vue-style-loader!css-loader?minimize!../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"optionsId\\\":\\\"0\\\",\\\"vue\\\":true,\\\"scoped\\\":false,\\\"sourceMap\\\":false}!sass-loader!../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./search.vue\")\n}\n/* script */\nexport * from \"!!babel-loader!./search.js\"\nimport __vue_script__ from \"!!babel-loader!./search.js\"/* template */\nimport {render as __vue_render__, staticRenderFns as __vue_static_render_fns__} from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-3962ec42\\\",\\\"hasScoped\\\":false,\\\"optionsId\\\":\\\"0\\\",\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./search.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nimport normalizeComponent from \"!../../../node_modules/vue-loader/lib/runtime/component-normalizer\"\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_render__,\n __vue_static_render_fns__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n","// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = require(\"!!../../../node_modules/css-loader/index.js?minimize!../../../node_modules/vue-loader/lib/style-compiler/index.js?{\\\"optionsId\\\":\\\"0\\\",\\\"vue\\\":true,\\\"scoped\\\":false,\\\"sourceMap\\\":false}!../../../node_modules/sass-loader/lib/loader.js!../../../node_modules/vue-loader/lib/selector.js?type=styles&index=0!./search.vue\");\nif(typeof content === 'string') content = [[module.id, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = require(\"!../../../node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"354d66d6\", content, true, {});","exports = module.exports = require(\"../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \".search-result-heading{color:hsla(240,1%,73%,.5);color:var(--faint,hsla(240,1%,73%,.5));padding:.75rem;text-align:center}@media (max-width:800px){.search-nav-heading .tab-switcher .tabs .tab-wrapper{display:block;-ms-flex-pack:center;justify-content:center;-ms-flex:1 1 auto;flex:1 1 auto;text-align:center}}.search-result{box-sizing:border-box;border-bottom:1px solid;border-color:#222;border-color:var(--border,#222)}.search-result-footer{border-width:1px 0 0;border-style:solid;border-color:var(--border,#222);padding:10px;background-color:#182230;background-color:var(--panel,#182230)}.search-input-container{padding:.8rem;display:-ms-flexbox;display:flex;-ms-flex-pack:center;justify-content:center}.search-input-container .search-input{width:100%;line-height:1.125rem;font-size:1rem;padding:.5rem;box-sizing:border-box}.search-input-container .search-button{margin-left:.5em}.loading-icon{padding:1em}.trend{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}.trend .hashtag{-ms-flex:1 1 auto;flex:1 1 auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.trend .count,.trend .hashtag{color:#b9b9ba;color:var(--text,#b9b9ba)}.trend .count{-ms-flex:0 0 auto;flex:0 0 auto;width:2rem;font-size:1.5rem;line-height:2.25rem;font-weight:500;text-align:center}\", \"\"]);\n\n// exports\n","/* script */\nexport * from \"!!babel-loader!./settings.js\"\nimport __vue_script__ from \"!!babel-loader!./settings.js\"/* template */\nimport {render as __vue_render__, staticRenderFns as __vue_static_render_fns__} from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-1e697ee0\\\",\\\"hasScoped\\\":false,\\\"optionsId\\\":\\\"0\\\",\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./settings.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nimport normalizeComponent from \"!../../../node_modules/vue-loader/lib/runtime/component-normalizer\"\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_render__,\n __vue_static_render_fns__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n","// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = require(\"!!../../../node_modules/css-loader/index.js?minimize!../../../node_modules/vue-loader/lib/style-compiler/index.js?{\\\"optionsId\\\":\\\"0\\\",\\\"vue\\\":true,\\\"scoped\\\":false,\\\"sourceMap\\\":false}!../../../node_modules/sass-loader/lib/loader.js!./style_switcher.scss\");\nif(typeof content === 'string') content = [[module.id, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = require(\"!../../../node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"16da2560\", content, true, {});","exports = module.exports = require(\"../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \".style-switcher .preset-switcher{margin-right:1em}.style-switcher .style-control{display:-ms-flexbox;display:flex;-ms-flex-align:baseline;align-items:baseline;margin-bottom:5px}.style-switcher .style-control .label{-ms-flex:1;flex:1}.style-switcher .style-control.disabled input:not(.exclude-disabled),.style-switcher .style-control.disabled select:not(.exclude-disabled){opacity:.5}.style-switcher .style-control input,.style-switcher .style-control select{min-width:3em;margin:0;-ms-flex:0;flex:0}.style-switcher .style-control input[type=color],.style-switcher .style-control select[type=color]{padding:1px;cursor:pointer;height:29px;min-width:2em;border:none;-ms-flex-item-align:stretch;-ms-grid-row-align:stretch;align-self:stretch}.style-switcher .style-control input[type=number],.style-switcher .style-control select[type=number]{min-width:5em}.style-switcher .style-control input[type=range],.style-switcher .style-control select[type=range]{-ms-flex:1;flex:1;min-width:3em}.style-switcher .style-control input[type=checkbox]+label,.style-switcher .style-control select[type=checkbox]+label{margin:6px 0}.style-switcher .style-control input:not([type=number]):not([type=text]),.style-switcher .style-control select:not([type=number]):not([type=text]){-ms-flex-item-align:start;align-self:flex-start}.style-switcher .tab-switcher{margin:0 -1em}.style-switcher .reset-container{-ms-flex-wrap:wrap;flex-wrap:wrap}.style-switcher .apply-container,.style-switcher .color-container,.style-switcher .fonts-container,.style-switcher .radius-container,.style-switcher .reset-container{display:-ms-flexbox;display:flex}.style-switcher .fonts-container,.style-switcher .radius-container{-ms-flex-direction:column;flex-direction:column}.style-switcher .color-container{-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-pack:justify;justify-content:space-between}.style-switcher .color-container>h4{width:99%}.style-switcher .color-container,.style-switcher .fonts-container,.style-switcher .presets-container,.style-switcher .radius-container,.style-switcher .shadow-container{margin:1em 1em 0}.style-switcher .tab-header{display:-ms-flexbox;display:flex;-ms-flex-pack:justify;justify-content:space-between;-ms-flex-align:baseline;align-items:baseline;width:100%;min-height:30px;margin-bottom:1em}.style-switcher .tab-header .btn{min-width:1px;-ms-flex:0 auto;flex:0 auto;padding:0 1em}.style-switcher .tab-header p{-ms-flex:1;flex:1;margin:0;margin-right:.5em}.style-switcher .shadow-selector .override{-ms-flex:1;flex:1;margin-left:.5em}.style-switcher .shadow-selector .select-container{margin-top:-4px;margin-bottom:-3px}.style-switcher .save-load,.style-switcher .save-load-options{display:-ms-flexbox;display:flex;-ms-flex-pack:center;justify-content:center;-ms-flex-align:baseline;align-items:baseline;-ms-flex-wrap:wrap;flex-wrap:wrap}.style-switcher .save-load-options .import-export,.style-switcher .save-load-options .presets,.style-switcher .save-load .import-export,.style-switcher .save-load .presets{margin-bottom:.5em}.style-switcher .save-load-options .import-export,.style-switcher .save-load .import-export{display:-ms-flexbox;display:flex}.style-switcher .save-load-options .override,.style-switcher .save-load .override{margin-left:.5em}.style-switcher .save-load-options{-ms-flex-wrap:wrap;flex-wrap:wrap;margin-top:.5em;-ms-flex-pack:center;justify-content:center}.style-switcher .save-load-options .keep-option{margin:0 .5em .5em;min-width:25%}.style-switcher .preview-container{border-top:1px dashed;border-bottom:1px dashed;border-color:#222;border-color:var(--border,#222);margin:1em -1em 0;padding:1em;background:var(--body-background-image);background-size:cover;background-position:50% 50%}.style-switcher .preview-container .dummy .post{font-family:var(--postFont);display:-ms-flexbox;display:flex}.style-switcher .preview-container .dummy .post .content{-ms-flex:1;flex:1}.style-switcher .preview-container .dummy .post .content h4{margin-bottom:.25em}.style-switcher .preview-container .dummy .post .content .icons{margin-top:.5em;display:-ms-flexbox;display:flex}.style-switcher .preview-container .dummy .post .content .icons i{margin-right:1em}.style-switcher .preview-container .dummy .after-post{margin-top:1em;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}.style-switcher .preview-container .dummy .avatar,.style-switcher .preview-container .dummy .avatar-alt{background:linear-gradient(135deg,#b8e1fc,#a9d2f3 10%,#90bae4 25%,#90bcea 37%,#90bff0 50%,#6ba8e5 51%,#a2daf5 83%,#bdf3fd);color:#000;font-family:sans-serif;text-align:center;margin-right:1em}.style-switcher .preview-container .dummy .avatar-alt{-ms-flex:0 auto;flex:0 auto;margin-left:28px;font-size:12px;min-width:20px;min-height:20px;line-height:20px;border-radius:10px;border-radius:var(--avatarAltRadius,10px)}.style-switcher .preview-container .dummy .avatar{-ms-flex:0 auto;flex:0 auto;width:48px;height:48px;font-size:14px;line-height:48px}.style-switcher .preview-container .dummy .actions{display:-ms-flexbox;display:flex;-ms-flex-align:baseline;align-items:baseline}.style-switcher .preview-container .dummy .actions .checkbox{display:-ms-inline-flexbox;display:inline-flex;-ms-flex-align:baseline;align-items:baseline;margin-right:1em;-ms-flex:1;flex:1}.style-switcher .preview-container .dummy .separator{margin:1em;border-bottom:1px solid;border-color:#222;border-color:var(--border,#222)}.style-switcher .preview-container .dummy .panel-heading .alert,.style-switcher .preview-container .dummy .panel-heading .badge,.style-switcher .preview-container .dummy .panel-heading .btn,.style-switcher .preview-container .dummy .panel-heading .faint{margin-left:1em;white-space:nowrap}.style-switcher .preview-container .dummy .panel-heading .faint{text-overflow:ellipsis;min-width:2em;overflow-x:hidden}.style-switcher .preview-container .dummy .panel-heading .flex-spacer{-ms-flex:1;flex:1}.style-switcher .preview-container .dummy .btn{margin-left:0;padding:0 1em;min-width:3em;min-height:30px}.style-switcher .apply-container{-ms-flex-pack:center;justify-content:center}.style-switcher .color-item,.style-switcher .radius-item{min-width:20em;margin:5px 6px 0 0;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;-ms-flex:1 1 0px;flex:1 1 0}.style-switcher .color-item.wide,.style-switcher .radius-item.wide{min-width:60%}.style-switcher .color-item:not(.wide):nth-child(odd),.style-switcher .radius-item:not(.wide):nth-child(odd){margin-right:7px}.style-switcher .color-item .color,.style-switcher .color-item .opacity,.style-switcher .radius-item .color,.style-switcher .radius-item .opacity{display:-ms-flexbox;display:flex;-ms-flex-align:baseline;align-items:baseline}.style-switcher .radius-item{-ms-flex-preferred-size:auto;flex-basis:auto}.style-switcher .theme-color-cl,.style-switcher .theme-radius-rn{border:0;box-shadow:none;background:transparent;color:var(--faint,hsla(240,1%,73%,.5));-ms-flex-item-align:stretch;-ms-grid-row-align:stretch;align-self:stretch}.style-switcher .theme-color-cl,.style-switcher .theme-color-in,.style-switcher .theme-radius-in{margin-left:4px}.style-switcher .theme-radius-in{min-width:1em;max-width:7em;-ms-flex:1;flex:1}.style-switcher .theme-radius-lb{max-width:50em}.style-switcher .theme-preview-content{padding:20px}.style-switcher .btn{margin-left:.25em;margin-right:.25em}\", \"\"]);\n\n// exports\n","// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = require(\"!!../../../node_modules/css-loader/index.js?minimize!../../../node_modules/vue-loader/lib/style-compiler/index.js?{\\\"optionsId\\\":\\\"0\\\",\\\"vue\\\":true,\\\"scoped\\\":false,\\\"sourceMap\\\":false}!../../../node_modules/sass-loader/lib/loader.js!../../../node_modules/vue-loader/lib/selector.js?type=styles&index=0!./color_input.vue\");\nif(typeof content === 'string') content = [[module.id, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = require(\"!../../../node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"6015ac50\", content, true, {});","exports = module.exports = require(\"../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \".color-control input.text-input{max-width:7em;-ms-flex:1;flex:1}\", \"\"]);\n\n// exports\n","/* script */\nexport * from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./range_input.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./range_input.vue\"\n/* template */\nimport {render as __vue_render__, staticRenderFns as __vue_static_render_fns__} from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-81777656\\\",\\\"hasScoped\\\":false,\\\"optionsId\\\":\\\"0\\\",\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./range_input.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nimport normalizeComponent from \"!../../../node_modules/vue-loader/lib/runtime/component-normalizer\"\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_render__,\n __vue_static_render_fns__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n","function injectStyle (context) {\n require(\"!!vue-style-loader!css-loader?minimize!../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"optionsId\\\":\\\"0\\\",\\\"vue\\\":true,\\\"scoped\\\":false,\\\"sourceMap\\\":false}!sass-loader!../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./shadow_control.vue\")\n}\n/* script */\nexport * from \"!!babel-loader!./shadow_control.js\"\nimport __vue_script__ from \"!!babel-loader!./shadow_control.js\"/* template */\nimport {render as __vue_render__, staticRenderFns as __vue_static_render_fns__} from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-4f14fbae\\\",\\\"hasScoped\\\":false,\\\"optionsId\\\":\\\"0\\\",\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./shadow_control.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nimport normalizeComponent from \"!../../../node_modules/vue-loader/lib/runtime/component-normalizer\"\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_render__,\n __vue_static_render_fns__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n","// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = require(\"!!../../../node_modules/css-loader/index.js?minimize!../../../node_modules/vue-loader/lib/style-compiler/index.js?{\\\"optionsId\\\":\\\"0\\\",\\\"vue\\\":true,\\\"scoped\\\":false,\\\"sourceMap\\\":false}!../../../node_modules/sass-loader/lib/loader.js!../../../node_modules/vue-loader/lib/selector.js?type=styles&index=0!./shadow_control.vue\");\nif(typeof content === 'string') content = [[module.id, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = require(\"!../../../node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"d219da80\", content, true, {});","exports = module.exports = require(\"../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \".shadow-control{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-pack:center;justify-content:center;margin-bottom:1em}.shadow-control .shadow-preview-container,.shadow-control .shadow-tweak{margin:5px 6px 0 0}.shadow-control .shadow-preview-container{-ms-flex:0;flex:0;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap}.shadow-control .shadow-preview-container input[type=number]{width:5em;min-width:2em}.shadow-control .shadow-preview-container .x-shift-control,.shadow-control .shadow-preview-container .y-shift-control{display:-ms-flexbox;display:flex;-ms-flex:0;flex:0}.shadow-control .shadow-preview-container .x-shift-control[disabled=disabled] *,.shadow-control .shadow-preview-container .y-shift-control[disabled=disabled] *{opacity:.5}.shadow-control .shadow-preview-container .x-shift-control{-ms-flex-align:start;align-items:flex-start}.shadow-control .shadow-preview-container .x-shift-control .wrap,.shadow-control .shadow-preview-container input[type=range]{margin:0;width:15em;height:2em}.shadow-control .shadow-preview-container .y-shift-control{-ms-flex-direction:column;flex-direction:column;-ms-flex-align:end;align-items:flex-end}.shadow-control .shadow-preview-container .y-shift-control .wrap{width:2em;height:15em}.shadow-control .shadow-preview-container .y-shift-control input[type=range]{transform-origin:1em 1em;transform:rotate(90deg)}.shadow-control .shadow-preview-container .preview-window{-ms-flex:1;flex:1;background-color:#999;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;background-image:linear-gradient(45deg,#666 25%,transparent 0),linear-gradient(-45deg,#666 25%,transparent 0),linear-gradient(45deg,transparent 75%,#666 0),linear-gradient(-45deg,transparent 75%,#666 0);background-size:20px 20px;background-position:0 0,0 10px,10px -10px,-10px 0;border-radius:4px;border-radius:var(--inputRadius,4px)}.shadow-control .shadow-preview-container .preview-window .preview-block{width:33%;height:33%;background-color:#121a24;background-color:var(--bg,#121a24);border-radius:10px;border-radius:var(--panelRadius,10px)}.shadow-control .shadow-tweak{-ms-flex:1;flex:1;min-width:280px}.shadow-control .shadow-tweak .id-control{-ms-flex-align:stretch;align-items:stretch}.shadow-control .shadow-tweak .id-control .btn,.shadow-control .shadow-tweak .id-control .select{min-width:1px;margin-right:5px}.shadow-control .shadow-tweak .id-control .btn{padding:0 .4em;margin:0 .1em}.shadow-control .shadow-tweak .id-control .select{-ms-flex:1;flex:1}.shadow-control .shadow-tweak .id-control .select select{-ms-flex-item-align:initial;-ms-grid-row-align:initial;align-self:auto}\", \"\"]);\n\n// exports\n","function injectStyle (context) {\n require(\"!!vue-style-loader!css-loader?minimize!../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"optionsId\\\":\\\"0\\\",\\\"vue\\\":true,\\\"scoped\\\":false,\\\"sourceMap\\\":false}!sass-loader!../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./font_control.vue\")\n}\n/* script */\nexport * from \"!!babel-loader!./font_control.js\"\nimport __vue_script__ from \"!!babel-loader!./font_control.js\"/* template */\nimport {render as __vue_render__, staticRenderFns as __vue_static_render_fns__} from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-0edf8dfc\\\",\\\"hasScoped\\\":false,\\\"optionsId\\\":\\\"0\\\",\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./font_control.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nimport normalizeComponent from \"!../../../node_modules/vue-loader/lib/runtime/component-normalizer\"\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_render__,\n __vue_static_render_fns__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n","// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = require(\"!!../../../node_modules/css-loader/index.js?minimize!../../../node_modules/vue-loader/lib/style-compiler/index.js?{\\\"optionsId\\\":\\\"0\\\",\\\"vue\\\":true,\\\"scoped\\\":false,\\\"sourceMap\\\":false}!../../../node_modules/sass-loader/lib/loader.js!../../../node_modules/vue-loader/lib/selector.js?type=styles&index=0!./font_control.vue\");\nif(typeof content === 'string') content = [[module.id, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = require(\"!../../../node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"d9c0acde\", content, true, {});","exports = module.exports = require(\"../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \".font-control input.custom-font{min-width:10em}.font-control.custom .select{border-top-right-radius:0;border-bottom-right-radius:0}.font-control.custom .custom-font{border-top-left-radius:0;border-bottom-left-radius:0}\", \"\"]);\n\n// exports\n","function injectStyle (context) {\n require(\"!!vue-style-loader!css-loader?minimize!../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"optionsId\\\":\\\"0\\\",\\\"vue\\\":true,\\\"scoped\\\":false,\\\"sourceMap\\\":false}!sass-loader!../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./contrast_ratio.vue\")\n}\n/* script */\nexport * from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./contrast_ratio.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./contrast_ratio.vue\"\n/* template */\nimport {render as __vue_render__, staticRenderFns as __vue_static_render_fns__} from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-3203db10\\\",\\\"hasScoped\\\":false,\\\"optionsId\\\":\\\"0\\\",\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./contrast_ratio.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nimport normalizeComponent from \"!../../../node_modules/vue-loader/lib/runtime/component-normalizer\"\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_render__,\n __vue_static_render_fns__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n","// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = require(\"!!../../../node_modules/css-loader/index.js?minimize!../../../node_modules/vue-loader/lib/style-compiler/index.js?{\\\"optionsId\\\":\\\"0\\\",\\\"vue\\\":true,\\\"scoped\\\":false,\\\"sourceMap\\\":false}!../../../node_modules/sass-loader/lib/loader.js!../../../node_modules/vue-loader/lib/selector.js?type=styles&index=0!./contrast_ratio.vue\");\nif(typeof content === 'string') content = [[module.id, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = require(\"!../../../node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"b94bc120\", content, true, {});","exports = module.exports = require(\"../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \".contrast-ratio{display:-ms-flexbox;display:flex;-ms-flex-pack:end;justify-content:flex-end;margin-top:-4px;margin-bottom:5px}.contrast-ratio .label{margin-right:1em}.contrast-ratio .rating{display:inline-block;text-align:center}\", \"\"]);\n\n// exports\n","function injectStyle (context) {\n require(\"!!vue-style-loader!css-loader?minimize!../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"optionsId\\\":\\\"0\\\",\\\"vue\\\":true,\\\"scoped\\\":false,\\\"sourceMap\\\":false}!sass-loader!../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./export_import.vue\")\n}\n/* script */\nexport * from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./export_import.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./export_import.vue\"\n/* template */\nimport {render as __vue_render__, staticRenderFns as __vue_static_render_fns__} from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-35d05e9f\\\",\\\"hasScoped\\\":false,\\\"optionsId\\\":\\\"0\\\",\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./export_import.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nimport normalizeComponent from \"!../../../node_modules/vue-loader/lib/runtime/component-normalizer\"\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_render__,\n __vue_static_render_fns__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n","// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = require(\"!!../../../node_modules/css-loader/index.js?minimize!../../../node_modules/vue-loader/lib/style-compiler/index.js?{\\\"optionsId\\\":\\\"0\\\",\\\"vue\\\":true,\\\"scoped\\\":false,\\\"sourceMap\\\":false}!../../../node_modules/sass-loader/lib/loader.js!../../../node_modules/vue-loader/lib/selector.js?type=styles&index=0!./export_import.vue\");\nif(typeof content === 'string') content = [[module.id, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = require(\"!../../../node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"66a4eaba\", content, true, {});","exports = module.exports = require(\"../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \".import-export-container{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-align:baseline;align-items:baseline;-ms-flex-pack:center;justify-content:center}\", \"\"]);\n\n// exports\n","/* script */\nexport * from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./interface_language_switcher.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./interface_language_switcher.vue\"\n/* template */\nimport {render as __vue_render__, staticRenderFns as __vue_static_render_fns__} from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-25d06bfd\\\",\\\"hasScoped\\\":false,\\\"optionsId\\\":\\\"0\\\",\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./interface_language_switcher.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nimport normalizeComponent from \"!../../../node_modules/vue-loader/lib/runtime/component-normalizer\"\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_render__,\n __vue_static_render_fns__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n","\nexport const extractCommit = versionString => {\n const regex = /-g(\\w+)/i\n const matches = versionString.match(regex)\n return matches ? matches[1] : ''\n}\n","function injectStyle (context) {\n require(\"!!vue-style-loader!css-loader?minimize!../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"optionsId\\\":\\\"0\\\",\\\"vue\\\":true,\\\"scoped\\\":false,\\\"sourceMap\\\":false}!sass-loader!../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./registration.vue\")\n}\n/* script */\nexport * from \"!!babel-loader!./registration.js\"\nimport __vue_script__ from \"!!babel-loader!./registration.js\"/* template */\nimport {render as __vue_render__, staticRenderFns as __vue_static_render_fns__} from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-177f3bfe\\\",\\\"hasScoped\\\":false,\\\"optionsId\\\":\\\"0\\\",\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./registration.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nimport normalizeComponent from \"!../../../node_modules/vue-loader/lib/runtime/component-normalizer\"\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_render__,\n __vue_static_render_fns__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n","// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = require(\"!!../../../node_modules/css-loader/index.js?minimize!../../../node_modules/vue-loader/lib/style-compiler/index.js?{\\\"optionsId\\\":\\\"0\\\",\\\"vue\\\":true,\\\"scoped\\\":false,\\\"sourceMap\\\":false}!../../../node_modules/sass-loader/lib/loader.js!../../../node_modules/vue-loader/lib/selector.js?type=styles&index=0!./registration.vue\");\nif(typeof content === 'string') content = [[module.id, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = require(\"!../../../node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"16815f76\", content, true, {});","exports = module.exports = require(\"../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \".registration-form{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;margin:.6em}.registration-form .container{display:-ms-flexbox;display:flex;-ms-flex-direction:row;flex-direction:row}.registration-form .terms-of-service{-ms-flex:0 1 50%;flex:0 1 50%;margin:.8em}.registration-form .text-fields{margin-top:.6em;-ms-flex:1 0;flex:1 0;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column}.registration-form textarea{min-height:100px;resize:vertical}.registration-form .form-group{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;padding:.3em 0;line-height:24px;margin-bottom:1em}.registration-form .form-group--error{animation-name:shakeError;animation-duration:.6s;animation-timing-function:ease-in-out}.registration-form .form-group--error .form--label{color:#f04124;color:var(--cRed,#f04124)}.registration-form .form-error{margin-top:-.7em;text-align:left}.registration-form .form-error span{font-size:12px}.registration-form .form-error ul{list-style:none;padding:0 0 0 5px;margin-top:0}.registration-form .form-error ul li:before{content:\\\"\\\\2022 \\\"}.registration-form form textarea{line-height:16px;resize:vertical}.registration-form .captcha{max-width:350px;margin-bottom:.4em}.registration-form .btn{margin-top:.6em;height:28px}.registration-form .error{text-align:center}@media (max-width:800px){.registration-form .container{-ms-flex-direction:column-reverse;flex-direction:column-reverse}}\", \"\"]);\n\n// exports\n","function injectStyle (context) {\n require(\"!!vue-style-loader!css-loader?minimize!../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"optionsId\\\":\\\"0\\\",\\\"vue\\\":true,\\\"scoped\\\":false,\\\"sourceMap\\\":false}!sass-loader!../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./password_reset.vue\")\n}\n/* script */\nexport * from \"!!babel-loader!./password_reset.js\"\nimport __vue_script__ from \"!!babel-loader!./password_reset.js\"/* template */\nimport {render as __vue_render__, staticRenderFns as __vue_static_render_fns__} from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-750c6ec4\\\",\\\"hasScoped\\\":false,\\\"optionsId\\\":\\\"0\\\",\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./password_reset.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nimport normalizeComponent from \"!../../../node_modules/vue-loader/lib/runtime/component-normalizer\"\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_render__,\n __vue_static_render_fns__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n","// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = require(\"!!../../../node_modules/css-loader/index.js?minimize!../../../node_modules/vue-loader/lib/style-compiler/index.js?{\\\"optionsId\\\":\\\"0\\\",\\\"vue\\\":true,\\\"scoped\\\":false,\\\"sourceMap\\\":false}!../../../node_modules/sass-loader/lib/loader.js!../../../node_modules/vue-loader/lib/selector.js?type=styles&index=0!./password_reset.vue\");\nif(typeof content === 'string') content = [[module.id, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = require(\"!../../../node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"1ef4fd93\", content, true, {});","exports = module.exports = require(\"../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \".password-reset-form{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;-ms-flex-align:center;align-items:center;margin:.6em}.password-reset-form .container{display:-ms-flexbox;display:flex;-ms-flex:1 0;flex:1 0;-ms-flex-direction:column;flex-direction:column;margin-top:.6em;max-width:18rem}.password-reset-form .form-group{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;margin-bottom:1em;padding:.3em 0;line-height:24px}.password-reset-form .error{text-align:center;animation-name:shakeError;animation-duration:.4s;animation-timing-function:ease-in-out}.password-reset-form .alert{padding:.5em;margin:.3em 0 1em}.password-reset-form .password-reset-required{background-color:var(--alertError,rgba(211,16,20,.5));padding:10px 0}.password-reset-form .notice-dismissible{padding-right:2rem}.password-reset-form .icon-cancel{cursor:pointer}\", \"\"]);\n\n// exports\n","import { reduce } from 'lodash'\n\nconst MASTODON_PASSWORD_RESET_URL = `/auth/password`\n\nconst resetPassword = ({ instance, email }) => {\n const params = { email }\n const query = reduce(params, (acc, v, k) => {\n const encoded = `${k}=${encodeURIComponent(v)}`\n return `${acc}&${encoded}`\n }, '')\n const url = `${instance}${MASTODON_PASSWORD_RESET_URL}?${query}`\n\n return window.fetch(url, {\n method: 'POST'\n })\n}\n\nexport default resetPassword\n","function injectStyle (context) {\n require(\"!!vue-style-loader!css-loader?minimize!../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"optionsId\\\":\\\"0\\\",\\\"vue\\\":true,\\\"scoped\\\":false,\\\"sourceMap\\\":false}!sass-loader!../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./user_settings.vue\")\n}\n/* script */\nexport * from \"!!babel-loader!./user_settings.js\"\nimport __vue_script__ from \"!!babel-loader!./user_settings.js\"/* template */\nimport {render as __vue_render__, staticRenderFns as __vue_static_render_fns__} from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-032ea2f0\\\",\\\"hasScoped\\\":false,\\\"optionsId\\\":\\\"0\\\",\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./user_settings.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nimport normalizeComponent from \"!../../../node_modules/vue-loader/lib/runtime/component-normalizer\"\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_render__,\n __vue_static_render_fns__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n","// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = require(\"!!../../../node_modules/css-loader/index.js?minimize!../../../node_modules/vue-loader/lib/style-compiler/index.js?{\\\"optionsId\\\":\\\"0\\\",\\\"vue\\\":true,\\\"scoped\\\":false,\\\"sourceMap\\\":false}!../../../node_modules/sass-loader/lib/loader.js!../../../node_modules/vue-loader/lib/selector.js?type=styles&index=0!./user_settings.vue\");\nif(typeof content === 'string') content = [[module.id, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = require(\"!../../../node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"298db8e1\", content, true, {});","exports = module.exports = require(\"../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \".profile-edit .bio{margin:0}.profile-edit .visibility-tray{padding-top:5px}.profile-edit input[type=file]{padding:5px;height:auto}.profile-edit .banner{max-width:100%}.profile-edit .uploading{font-size:1.5em;margin:.25em}.profile-edit .name-changer{width:100%}.profile-edit .bg{max-width:100%}.profile-edit .current-avatar{display:block;width:150px;height:150px;border-radius:4px;border-radius:var(--avatarRadius,4px)}.profile-edit .current-mascot{display:block;max-height:250px}.profile-edit .mascot{max-width:100%}.profile-edit .oauth-tokens{width:100%}.profile-edit .oauth-tokens th{text-align:left}.profile-edit .oauth-tokens .actions{text-align:right}.profile-edit-usersearch-wrapper{padding:1em}.profile-edit-bulk-actions{text-align:right;padding:0 1em;min-height:28px}.profile-edit-bulk-actions button{width:10em}.profile-edit .setting-subitem{margin-left:1.75em}\", \"\"]);\n\n// exports\n","function injectStyle (context) {\n require(\"!!vue-style-loader!css-loader?minimize!../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"optionsId\\\":\\\"0\\\",\\\"vue\\\":true,\\\"scoped\\\":false,\\\"sourceMap\\\":false}!sass-loader!../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./image_cropper.vue\")\n}\n/* script */\nexport * from \"!!babel-loader!./image_cropper.js\"\nimport __vue_script__ from \"!!babel-loader!./image_cropper.js\"/* template */\nimport {render as __vue_render__, staticRenderFns as __vue_static_render_fns__} from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-3babea86\\\",\\\"hasScoped\\\":false,\\\"optionsId\\\":\\\"0\\\",\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./image_cropper.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nimport normalizeComponent from \"!../../../node_modules/vue-loader/lib/runtime/component-normalizer\"\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_render__,\n __vue_static_render_fns__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n","// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = require(\"!!../../../node_modules/css-loader/index.js?minimize!../../../node_modules/vue-loader/lib/style-compiler/index.js?{\\\"optionsId\\\":\\\"0\\\",\\\"vue\\\":true,\\\"scoped\\\":false,\\\"sourceMap\\\":false}!../../../node_modules/sass-loader/lib/loader.js!../../../node_modules/vue-loader/lib/selector.js?type=styles&index=0!./image_cropper.vue\");\nif(typeof content === 'string') content = [[module.id, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = require(\"!../../../node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"0dfd0b33\", content, true, {});","exports = module.exports = require(\"../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \".image-cropper-img-input{display:none}.image-cropper-image-container{position:relative}.image-cropper-image-container img{display:block;max-width:100%}.image-cropper-buttons-wrapper{margin-top:10px}.image-cropper-buttons-wrapper button{margin-top:5px}\", \"\"]);\n\n// exports\n","function injectStyle (context) {\n require(\"!!vue-style-loader!css-loader?minimize!../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"optionsId\\\":\\\"0\\\",\\\"vue\\\":true,\\\"scoped\\\":false,\\\"sourceMap\\\":false}!sass-loader!../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./block_card.vue\")\n}\n/* script */\nexport * from \"!!babel-loader!./block_card.js\"\nimport __vue_script__ from \"!!babel-loader!./block_card.js\"/* template */\nimport {render as __vue_render__, staticRenderFns as __vue_static_render_fns__} from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-633eab92\\\",\\\"hasScoped\\\":false,\\\"optionsId\\\":\\\"0\\\",\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./block_card.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nimport normalizeComponent from \"!../../../node_modules/vue-loader/lib/runtime/component-normalizer\"\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_render__,\n __vue_static_render_fns__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n","// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = require(\"!!../../../node_modules/css-loader/index.js?minimize!../../../node_modules/vue-loader/lib/style-compiler/index.js?{\\\"optionsId\\\":\\\"0\\\",\\\"vue\\\":true,\\\"scoped\\\":false,\\\"sourceMap\\\":false}!../../../node_modules/sass-loader/lib/loader.js!../../../node_modules/vue-loader/lib/selector.js?type=styles&index=0!./block_card.vue\");\nif(typeof content === 'string') content = [[module.id, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = require(\"!../../../node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"211aa67c\", content, true, {});","exports = module.exports = require(\"../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \".block-card-content-container{margin-top:.5em;text-align:right}.block-card-content-container button{width:10em}\", \"\"]);\n\n// exports\n","function injectStyle (context) {\n require(\"!!vue-style-loader!css-loader?minimize!../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"optionsId\\\":\\\"0\\\",\\\"vue\\\":true,\\\"scoped\\\":false,\\\"sourceMap\\\":false}!sass-loader!../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./mute_card.vue\")\n}\n/* script */\nexport * from \"!!babel-loader!./mute_card.js\"\nimport __vue_script__ from \"!!babel-loader!./mute_card.js\"/* template */\nimport {render as __vue_render__, staticRenderFns as __vue_static_render_fns__} from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-4de27707\\\",\\\"hasScoped\\\":false,\\\"optionsId\\\":\\\"0\\\",\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./mute_card.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nimport normalizeComponent from \"!../../../node_modules/vue-loader/lib/runtime/component-normalizer\"\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_render__,\n __vue_static_render_fns__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n","// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = require(\"!!../../../node_modules/css-loader/index.js?minimize!../../../node_modules/vue-loader/lib/style-compiler/index.js?{\\\"optionsId\\\":\\\"0\\\",\\\"vue\\\":true,\\\"scoped\\\":false,\\\"sourceMap\\\":false}!../../../node_modules/sass-loader/lib/loader.js!../../../node_modules/vue-loader/lib/selector.js?type=styles&index=0!./mute_card.vue\");\nif(typeof content === 'string') content = [[module.id, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = require(\"!../../../node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"7ea980e0\", content, true, {});","exports = module.exports = require(\"../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \".mute-card-content-container{margin-top:.5em;text-align:right}.mute-card-content-container button{width:10em}\", \"\"]);\n\n// exports\n","function injectStyle (context) {\n require(\"!!vue-style-loader!css-loader?minimize!../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"optionsId\\\":\\\"0\\\",\\\"vue\\\":true,\\\"scoped\\\":false,\\\"sourceMap\\\":false}!sass-loader!../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./selectable_list.vue\")\n}\n/* script */\nexport * from \"!!babel-loader!./selectable_list.js\"\nimport __vue_script__ from \"!!babel-loader!./selectable_list.js\"/* template */\nimport {render as __vue_render__, staticRenderFns as __vue_static_render_fns__} from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-1c291d00\\\",\\\"hasScoped\\\":false,\\\"optionsId\\\":\\\"0\\\",\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./selectable_list.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nimport normalizeComponent from \"!../../../node_modules/vue-loader/lib/runtime/component-normalizer\"\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_render__,\n __vue_static_render_fns__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n","// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = require(\"!!../../../node_modules/css-loader/index.js?minimize!../../../node_modules/vue-loader/lib/style-compiler/index.js?{\\\"optionsId\\\":\\\"0\\\",\\\"vue\\\":true,\\\"scoped\\\":false,\\\"sourceMap\\\":false}!../../../node_modules/sass-loader/lib/loader.js!../../../node_modules/vue-loader/lib/selector.js?type=styles&index=0!./selectable_list.vue\");\nif(typeof content === 'string') content = [[module.id, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = require(\"!../../../node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"3724291e\", content, true, {});","exports = module.exports = require(\"../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \".selectable-list-item-inner{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}.selectable-list-item-inner>*{min-width:0}.selectable-list-item-selected-inner{background-color:#151e2a;background-color:var(--lightBg,#151e2a)}.selectable-list-header{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;padding:.6em 0;border-bottom:2px solid;border-bottom-color:#222;border-bottom-color:var(--border,#222)}.selectable-list-header-actions{-ms-flex:1;flex:1}.selectable-list-checkbox-wrapper{padding:0 10px;-ms-flex:none;flex:none}\", \"\"]);\n\n// exports\n","function injectStyle (context) {\n require(\"!!vue-style-loader!css-loader?minimize!../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"optionsId\\\":\\\"0\\\",\\\"vue\\\":true,\\\"scoped\\\":false,\\\"sourceMap\\\":false}!sass-loader!../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./autosuggest.vue\")\n}\n/* script */\nexport * from \"!!babel-loader!./autosuggest.js\"\nimport __vue_script__ from \"!!babel-loader!./autosuggest.js\"/* template */\nimport {render as __vue_render__, staticRenderFns as __vue_static_render_fns__} from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-5fe32d1d\\\",\\\"hasScoped\\\":false,\\\"optionsId\\\":\\\"0\\\",\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./autosuggest.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nimport normalizeComponent from \"!../../../node_modules/vue-loader/lib/runtime/component-normalizer\"\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_render__,\n __vue_static_render_fns__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n","// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = require(\"!!../../../node_modules/css-loader/index.js?minimize!../../../node_modules/vue-loader/lib/style-compiler/index.js?{\\\"optionsId\\\":\\\"0\\\",\\\"vue\\\":true,\\\"scoped\\\":false,\\\"sourceMap\\\":false}!../../../node_modules/sass-loader/lib/loader.js!../../../node_modules/vue-loader/lib/selector.js?type=styles&index=0!./autosuggest.vue\");\nif(typeof content === 'string') content = [[module.id, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = require(\"!../../../node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"3a9ec1bf\", content, true, {});","exports = module.exports = require(\"../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \".autosuggest{position:relative}.autosuggest-input{display:block;width:100%}.autosuggest-results{position:absolute;left:0;top:100%;right:0;max-height:400px;background-color:#151e2a;background-color:var(--lightBg,#151e2a);border-color:#222;border:1px solid var(--border,#222);border-radius:4px;border-radius:var(--inputRadius,4px);border-top-left-radius:0;border-top-right-radius:0;box-shadow:1px 1px 4px rgba(0,0,0,.6);box-shadow:var(--panelShadow);overflow-y:auto;z-index:1}\", \"\"]);\n\n// exports\n","function injectStyle (context) {\n require(\"!!vue-style-loader!css-loader?minimize!../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"optionsId\\\":\\\"0\\\",\\\"vue\\\":true,\\\"scoped\\\":false,\\\"sourceMap\\\":false}!sass-loader!../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./importer.vue\")\n}\n/* script */\nexport * from \"!!babel-loader!./importer.js\"\nimport __vue_script__ from \"!!babel-loader!./importer.js\"/* template */\nimport {render as __vue_render__, staticRenderFns as __vue_static_render_fns__} from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-4927596c\\\",\\\"hasScoped\\\":false,\\\"optionsId\\\":\\\"0\\\",\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./importer.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nimport normalizeComponent from \"!../../../node_modules/vue-loader/lib/runtime/component-normalizer\"\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_render__,\n __vue_static_render_fns__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n","// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = require(\"!!../../../node_modules/css-loader/index.js?minimize!../../../node_modules/vue-loader/lib/style-compiler/index.js?{\\\"optionsId\\\":\\\"0\\\",\\\"vue\\\":true,\\\"scoped\\\":false,\\\"sourceMap\\\":false}!../../../node_modules/sass-loader/lib/loader.js!../../../node_modules/vue-loader/lib/selector.js?type=styles&index=0!./importer.vue\");\nif(typeof content === 'string') content = [[module.id, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = require(\"!../../../node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"5bed876c\", content, true, {});","exports = module.exports = require(\"../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \".importer-uploading{font-size:1.5em;margin:.25em}\", \"\"]);\n\n// exports\n","function injectStyle (context) {\n require(\"!!vue-style-loader!css-loader?minimize!../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"optionsId\\\":\\\"0\\\",\\\"vue\\\":true,\\\"scoped\\\":false,\\\"sourceMap\\\":false}!sass-loader!../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./exporter.vue\")\n}\n/* script */\nexport * from \"!!babel-loader!./exporter.js\"\nimport __vue_script__ from \"!!babel-loader!./exporter.js\"/* template */\nimport {render as __vue_render__, staticRenderFns as __vue_static_render_fns__} from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-7229517a\\\",\\\"hasScoped\\\":false,\\\"optionsId\\\":\\\"0\\\",\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./exporter.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nimport normalizeComponent from \"!../../../node_modules/vue-loader/lib/runtime/component-normalizer\"\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_render__,\n __vue_static_render_fns__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n","// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = require(\"!!../../../node_modules/css-loader/index.js?minimize!../../../node_modules/vue-loader/lib/style-compiler/index.js?{\\\"optionsId\\\":\\\"0\\\",\\\"vue\\\":true,\\\"scoped\\\":false,\\\"sourceMap\\\":false}!../../../node_modules/sass-loader/lib/loader.js!../../../node_modules/vue-loader/lib/selector.js?type=styles&index=0!./exporter.vue\");\nif(typeof content === 'string') content = [[module.id, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = require(\"!../../../node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"432fc7c6\", content, true, {});","exports = module.exports = require(\"../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \".exporter-processing{font-size:1.5em;margin:.25em}\", \"\"]);\n\n// exports\n","import Vue from 'vue'\nimport isEmpty from 'lodash/isEmpty'\nimport { getComponentProps } from '../../services/component_utils/component_utils'\nimport './with_subscription.scss'\n\nconst withSubscription = ({\n fetch, // function to fetch entries and return a promise\n select, // function to select data from store\n childPropName = 'content', // name of the prop to be passed into the wrapped component\n additionalPropNames = [] // additional prop name list of the wrapper component\n}) => (WrappedComponent) => {\n const originalProps = Object.keys(getComponentProps(WrappedComponent))\n const props = originalProps.filter(v => v !== childPropName).concat(additionalPropNames)\n\n return Vue.component('withSubscription', {\n props: [\n ...props,\n 'refresh' // boolean saying to force-fetch data whenever created\n ],\n data () {\n return {\n loading: false,\n error: false\n }\n },\n computed: {\n fetchedData () {\n return select(this.$props, this.$store)\n }\n },\n created () {\n if (this.refresh || isEmpty(this.fetchedData)) {\n this.fetchData()\n }\n },\n methods: {\n fetchData () {\n if (!this.loading) {\n this.loading = true\n this.error = false\n fetch(this.$props, this.$store)\n .then(() => {\n this.loading = false\n })\n .catch(() => {\n this.error = true\n this.loading = false\n })\n }\n }\n },\n render (createElement) {\n if (!this.error && !this.loading) {\n const props = {\n props: {\n ...this.$props,\n [childPropName]: this.fetchedData\n },\n on: this.$listeners,\n scopedSlots: this.$scopedSlots\n }\n const children = Object.entries(this.$slots).map(([key, value]) => createElement('template', { slot: key }, value))\n return (\n <div class=\"with-subscription\">\n <WrappedComponent {...props}>\n {children}\n </WrappedComponent>\n </div>\n )\n } else {\n return (\n <div class=\"with-subscription-loading\">\n {this.error\n ? <a onClick={this.fetchData} class=\"alert error\">{this.$t('general.generic_error')}</a>\n : <i class=\"icon-spin3 animate-spin\"/>\n }\n </div>\n )\n }\n }\n })\n}\n\nexport default withSubscription\n","function injectStyle (context) {\n require(\"!!vue-style-loader!css-loader?minimize!../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"optionsId\\\":\\\"0\\\",\\\"vue\\\":true,\\\"scoped\\\":false,\\\"sourceMap\\\":false}!sass-loader!../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./mfa.vue\")\n}\n/* script */\nexport * from \"!!babel-loader!./mfa.js\"\nimport __vue_script__ from \"!!babel-loader!./mfa.js\"/* template */\nimport {render as __vue_render__, staticRenderFns as __vue_static_render_fns__} from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-e9d3ba70\\\",\\\"hasScoped\\\":false,\\\"optionsId\\\":\\\"0\\\",\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./mfa.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nimport normalizeComponent from \"!../../../node_modules/vue-loader/lib/runtime/component-normalizer\"\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_render__,\n __vue_static_render_fns__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n","// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = require(\"!!../../../node_modules/css-loader/index.js?minimize!../../../node_modules/vue-loader/lib/style-compiler/index.js?{\\\"optionsId\\\":\\\"0\\\",\\\"vue\\\":true,\\\"scoped\\\":false,\\\"sourceMap\\\":false}!../../../node_modules/sass-loader/lib/loader.js!../../../node_modules/vue-loader/lib/selector.js?type=styles&index=0!./mfa.vue\");\nif(typeof content === 'string') content = [[module.id, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = require(\"!../../../node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"9a989dfe\", content, true, {});","exports = module.exports = require(\"../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \".warning{color:orange;color:var(--cOrange,orange)}.mfa-settings .method-item,.mfa-settings .mfa-heading{overflow:hidden;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-pack:justify;justify-content:space-between;-ms-flex-align:baseline;align-items:baseline}.mfa-settings .setup-otp{display:-ms-flexbox;display:flex;-ms-flex-pack:center;justify-content:center;-ms-flex-wrap:wrap;flex-wrap:wrap}.mfa-settings .setup-otp .qr-code{-ms-flex:1;flex:1;padding-right:10px}.mfa-settings .setup-otp .verify{-ms-flex:1;flex:1}.mfa-settings .setup-otp .error{margin:4px 0 0}.mfa-settings .setup-otp .confirm-otp-actions button{width:15em;margin-top:5px}\", \"\"]);\n\n// exports\n","function injectStyle (context) {\n require(\"!!vue-style-loader!css-loader?minimize!../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"optionsId\\\":\\\"0\\\",\\\"vue\\\":true,\\\"scoped\\\":false,\\\"sourceMap\\\":false}!sass-loader!../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./mfa_backup_codes.vue\")\n}\n/* script */\nexport * from \"!!babel-loader!./mfa_backup_codes.js\"\nimport __vue_script__ from \"!!babel-loader!./mfa_backup_codes.js\"/* template */\nimport {render as __vue_render__, staticRenderFns as __vue_static_render_fns__} from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-613f1377\\\",\\\"hasScoped\\\":false,\\\"optionsId\\\":\\\"0\\\",\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./mfa_backup_codes.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nimport normalizeComponent from \"!../../../node_modules/vue-loader/lib/runtime/component-normalizer\"\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_render__,\n __vue_static_render_fns__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n","// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = require(\"!!../../../node_modules/css-loader/index.js?minimize!../../../node_modules/vue-loader/lib/style-compiler/index.js?{\\\"optionsId\\\":\\\"0\\\",\\\"vue\\\":true,\\\"scoped\\\":false,\\\"sourceMap\\\":false}!../../../node_modules/sass-loader/lib/loader.js!../../../node_modules/vue-loader/lib/selector.js?type=styles&index=0!./mfa_backup_codes.vue\");\nif(typeof content === 'string') content = [[module.id, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = require(\"!../../../node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"12659079\", content, true, {});","exports = module.exports = require(\"../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \".warning{color:orange;color:var(--cOrange,orange)}.backup-codes{font-family:var(--postCodeFont,monospace)}\", \"\"]);\n\n// exports\n","/* script */\nexport * from \"!!babel-loader!./mfa_totp.js\"\nimport __vue_script__ from \"!!babel-loader!./mfa_totp.js\"/* template */\nimport {render as __vue_render__, staticRenderFns as __vue_static_render_fns__} from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-df66df96\\\",\\\"hasScoped\\\":false,\\\"optionsId\\\":\\\"0\\\",\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./mfa_totp.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nimport normalizeComponent from \"!../../../node_modules/vue-loader/lib/runtime/component-normalizer\"\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_render__,\n __vue_static_render_fns__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n","/* script */\nexport * from \"!!babel-loader!./follow_requests.js\"\nimport __vue_script__ from \"!!babel-loader!./follow_requests.js\"/* template */\nimport {render as __vue_render__, staticRenderFns as __vue_static_render_fns__} from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-9c427644\\\",\\\"hasScoped\\\":false,\\\"optionsId\\\":\\\"0\\\",\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./follow_requests.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nimport normalizeComponent from \"!../../../node_modules/vue-loader/lib/runtime/component-normalizer\"\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_render__,\n __vue_static_render_fns__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n","function injectStyle (context) {\n require(\"!!vue-style-loader!css-loader?minimize!../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"optionsId\\\":\\\"0\\\",\\\"vue\\\":true,\\\"scoped\\\":false,\\\"sourceMap\\\":false}!sass-loader!../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./follow_request_card.vue\")\n}\n/* script */\nexport * from \"!!babel-loader!./follow_request_card.js\"\nimport __vue_script__ from \"!!babel-loader!./follow_request_card.js\"/* template */\nimport {render as __vue_render__, staticRenderFns as __vue_static_render_fns__} from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-1edf2e22\\\",\\\"hasScoped\\\":false,\\\"optionsId\\\":\\\"0\\\",\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./follow_request_card.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nimport normalizeComponent from \"!../../../node_modules/vue-loader/lib/runtime/component-normalizer\"\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_render__,\n __vue_static_render_fns__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n","// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = require(\"!!../../../node_modules/css-loader/index.js?minimize!../../../node_modules/vue-loader/lib/style-compiler/index.js?{\\\"optionsId\\\":\\\"0\\\",\\\"vue\\\":true,\\\"scoped\\\":false,\\\"sourceMap\\\":false}!../../../node_modules/sass-loader/lib/loader.js!../../../node_modules/vue-loader/lib/selector.js?type=styles&index=0!./follow_request_card.vue\");\nif(typeof content === 'string') content = [[module.id, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = require(\"!../../../node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"ad510f10\", content, true, {});","exports = module.exports = require(\"../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \".follow-request-card-content-container{display:-ms-flexbox;display:flex;-ms-flex-direction:row;flex-direction:row;-ms-flex-wrap:wrap;flex-wrap:wrap}.follow-request-card-content-container button{margin-top:.5em;margin-right:.5em;-ms-flex:1 1;flex:1 1;max-width:12em;min-width:8em}.follow-request-card-content-container button:last-child{margin-right:0}\", \"\"]);\n\n// exports\n","/* script */\nexport * from \"!!babel-loader!./oauth_callback.js\"\nimport __vue_script__ from \"!!babel-loader!./oauth_callback.js\"/* template */\nimport {render as __vue_render__, staticRenderFns as __vue_static_render_fns__} from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-f514124c\\\",\\\"hasScoped\\\":false,\\\"optionsId\\\":\\\"0\\\",\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./oauth_callback.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nimport normalizeComponent from \"!../../../node_modules/vue-loader/lib/runtime/component-normalizer\"\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_render__,\n __vue_static_render_fns__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n","function injectStyle (context) {\n require(\"!!vue-style-loader!css-loader?minimize!../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"optionsId\\\":\\\"0\\\",\\\"vue\\\":true,\\\"scoped\\\":false,\\\"sourceMap\\\":false}!sass-loader!../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./login_form.vue\")\n}\n/* script */\nexport * from \"!!babel-loader!./login_form.js\"\nimport __vue_script__ from \"!!babel-loader!./login_form.js\"/* template */\nimport {render as __vue_render__, staticRenderFns as __vue_static_render_fns__} from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-38aaa196\\\",\\\"hasScoped\\\":false,\\\"optionsId\\\":\\\"0\\\",\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./login_form.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nimport normalizeComponent from \"!../../../node_modules/vue-loader/lib/runtime/component-normalizer\"\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_render__,\n __vue_static_render_fns__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n","// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = require(\"!!../../../node_modules/css-loader/index.js?minimize!../../../node_modules/vue-loader/lib/style-compiler/index.js?{\\\"optionsId\\\":\\\"0\\\",\\\"vue\\\":true,\\\"scoped\\\":false,\\\"sourceMap\\\":false}!../../../node_modules/sass-loader/lib/loader.js!../../../node_modules/vue-loader/lib/selector.js?type=styles&index=0!./login_form.vue\");\nif(typeof content === 'string') content = [[module.id, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = require(\"!../../../node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"42704024\", content, true, {});","exports = module.exports = require(\"../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \".login-form{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;padding:.6em}.login-form .btn{min-height:28px;width:10em}.login-form .register{-ms-flex:1 1;flex:1 1}.login-form .login-bottom{margin-top:1em;display:-ms-flexbox;display:flex;-ms-flex-direction:row;flex-direction:row;-ms-flex-align:center;align-items:center;-ms-flex-pack:justify;justify-content:space-between}.login-form .form-group{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;padding:.3em .5em .6em;line-height:24px}.login-form .form-bottom{display:-ms-flexbox;display:flex;padding:.5em;height:32px}.login-form .form-bottom button{width:10em}.login-form .form-bottom p{margin:.35em;padding:.35em;display:-ms-flexbox;display:flex}.login-form .error{text-align:center;animation-name:shakeError;animation-duration:.4s;animation-timing-function:ease-in-out}\", \"\"]);\n\n// exports\n","/* script */\nexport * from \"!!babel-loader!./recovery_form.js\"\nimport __vue_script__ from \"!!babel-loader!./recovery_form.js\"/* template */\nimport {render as __vue_render__, staticRenderFns as __vue_static_render_fns__} from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-129661d4\\\",\\\"hasScoped\\\":false,\\\"optionsId\\\":\\\"0\\\",\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./recovery_form.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nimport normalizeComponent from \"!../../../node_modules/vue-loader/lib/runtime/component-normalizer\"\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_render__,\n __vue_static_render_fns__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n","/* script */\nexport * from \"!!babel-loader!./totp_form.js\"\nimport __vue_script__ from \"!!babel-loader!./totp_form.js\"/* template */\nimport {render as __vue_render__, staticRenderFns as __vue_static_render_fns__} from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-b4428228\\\",\\\"hasScoped\\\":false,\\\"optionsId\\\":\\\"0\\\",\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./totp_form.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nimport normalizeComponent from \"!../../../node_modules/vue-loader/lib/runtime/component-normalizer\"\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_render__,\n __vue_static_render_fns__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n","// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = require(\"!!../../../node_modules/css-loader/index.js?minimize!../../../node_modules/vue-loader/lib/style-compiler/index.js?{\\\"optionsId\\\":\\\"0\\\",\\\"vue\\\":true,\\\"scoped\\\":false,\\\"sourceMap\\\":false}!../../../node_modules/sass-loader/lib/loader.js!../../../node_modules/vue-loader/lib/selector.js?type=styles&index=0!./chat_panel.vue\");\nif(typeof content === 'string') content = [[module.id, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = require(\"!../../../node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"2c0040e1\", content, true, {});","exports = module.exports = require(\"../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \".floating-chat{position:fixed;right:0;bottom:0;z-index:1000;max-width:25em}.chat-heading{cursor:pointer}.chat-heading .icon-comment-empty{color:#b9b9ba;color:var(--text,#b9b9ba)}.chat-window{overflow-y:auto;overflow-x:hidden;max-height:20em}.chat-window-container{height:100%}.chat-message{display:-ms-flexbox;display:flex;padding:.2em .5em}.chat-avatar img{height:24px;width:24px;border-radius:4px;border-radius:var(--avatarRadius,4px);margin-right:.5em;margin-top:.25em}.chat-input{display:-ms-flexbox;display:flex}.chat-input textarea{-ms-flex:1;flex:1;margin:.6em;min-height:3.5em;resize:none}.chat-panel .title{display:-ms-flexbox;display:flex;-ms-flex-pack:justify;justify-content:space-between}\", \"\"]);\n\n// exports\n","function injectStyle (context) {\n require(\"!!vue-style-loader!css-loader?minimize!../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"optionsId\\\":\\\"0\\\",\\\"vue\\\":true,\\\"scoped\\\":false,\\\"sourceMap\\\":false}!sass-loader!../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./who_to_follow.vue\")\n}\n/* script */\nexport * from \"!!babel-loader!./who_to_follow.js\"\nimport __vue_script__ from \"!!babel-loader!./who_to_follow.js\"/* template */\nimport {render as __vue_render__, staticRenderFns as __vue_static_render_fns__} from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-4f8c3288\\\",\\\"hasScoped\\\":false,\\\"optionsId\\\":\\\"0\\\",\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./who_to_follow.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nimport normalizeComponent from \"!../../../node_modules/vue-loader/lib/runtime/component-normalizer\"\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_render__,\n __vue_static_render_fns__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n","// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = require(\"!!../../../node_modules/css-loader/index.js?minimize!../../../node_modules/vue-loader/lib/style-compiler/index.js?{\\\"optionsId\\\":\\\"0\\\",\\\"vue\\\":true,\\\"scoped\\\":false,\\\"sourceMap\\\":false}!../../../node_modules/sass-loader/lib/loader.js!../../../node_modules/vue-loader/lib/selector.js?type=styles&index=0!./who_to_follow.vue\");\nif(typeof content === 'string') content = [[module.id, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = require(\"!../../../node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"c74f4f44\", content, true, {});","exports = module.exports = require(\"../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \"\", \"\"]);\n\n// exports\n","function injectStyle (context) {\n require(\"!!vue-style-loader!css-loader?minimize!../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"optionsId\\\":\\\"0\\\",\\\"vue\\\":true,\\\"scoped\\\":false,\\\"sourceMap\\\":false}!sass-loader!../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./about.vue\")\n}\n/* script */\nexport * from \"!!babel-loader!./about.js\"\nimport __vue_script__ from \"!!babel-loader!./about.js\"/* template */\nimport {render as __vue_render__, staticRenderFns as __vue_static_render_fns__} from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-acd3d67e\\\",\\\"hasScoped\\\":false,\\\"optionsId\\\":\\\"0\\\",\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./about.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nimport normalizeComponent from \"!../../../node_modules/vue-loader/lib/runtime/component-normalizer\"\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_render__,\n __vue_static_render_fns__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n","// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = require(\"!!../../../node_modules/css-loader/index.js?minimize!../../../node_modules/vue-loader/lib/style-compiler/index.js?{\\\"optionsId\\\":\\\"0\\\",\\\"vue\\\":true,\\\"scoped\\\":false,\\\"sourceMap\\\":false}!../../../node_modules/sass-loader/lib/loader.js!../../../node_modules/vue-loader/lib/selector.js?type=styles&index=0!./about.vue\");\nif(typeof content === 'string') content = [[module.id, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = require(\"!../../../node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"7dfaed97\", content, true, {});","exports = module.exports = require(\"../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \"\", \"\"]);\n\n// exports\n","// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = require(\"!!../../../node_modules/css-loader/index.js?minimize!../../../node_modules/vue-loader/lib/style-compiler/index.js?{\\\"optionsId\\\":\\\"0\\\",\\\"vue\\\":true,\\\"scoped\\\":false,\\\"sourceMap\\\":false}!../../../node_modules/sass-loader/lib/loader.js!../../../node_modules/vue-loader/lib/selector.js?type=styles&index=0!./features_panel.vue\");\nif(typeof content === 'string') content = [[module.id, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = require(\"!../../../node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"55ca8508\", content, true, {});","exports = module.exports = require(\"../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \".features-panel li{line-height:24px}\", \"\"]);\n\n// exports\n","function injectStyle (context) {\n require(\"!!vue-style-loader!css-loader?minimize!../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"optionsId\\\":\\\"0\\\",\\\"vue\\\":true,\\\"scoped\\\":false,\\\"sourceMap\\\":false}!sass-loader!../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./terms_of_service_panel.vue\")\n}\n/* script */\nexport * from \"!!babel-loader!./terms_of_service_panel.js\"\nimport __vue_script__ from \"!!babel-loader!./terms_of_service_panel.js\"/* template */\nimport {render as __vue_render__, staticRenderFns as __vue_static_render_fns__} from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-687e38f6\\\",\\\"hasScoped\\\":false,\\\"optionsId\\\":\\\"0\\\",\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./terms_of_service_panel.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nimport normalizeComponent from \"!../../../node_modules/vue-loader/lib/runtime/component-normalizer\"\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_render__,\n __vue_static_render_fns__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n","// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = require(\"!!../../../node_modules/css-loader/index.js?minimize!../../../node_modules/vue-loader/lib/style-compiler/index.js?{\\\"optionsId\\\":\\\"0\\\",\\\"vue\\\":true,\\\"scoped\\\":false,\\\"sourceMap\\\":false}!../../../node_modules/sass-loader/lib/loader.js!../../../node_modules/vue-loader/lib/selector.js?type=styles&index=0!./terms_of_service_panel.vue\");\nif(typeof content === 'string') content = [[module.id, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = require(\"!../../../node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"42aabc98\", content, true, {});","exports = module.exports = require(\"../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \".tos-content{margin:1em}\", \"\"]);\n\n// exports\n","function injectStyle (context) {\n require(\"!!vue-style-loader!css-loader?minimize!../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"optionsId\\\":\\\"0\\\",\\\"vue\\\":true,\\\"scoped\\\":false,\\\"sourceMap\\\":false}!sass-loader!../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./staff_panel.vue\")\n}\n/* script */\nexport * from \"!!babel-loader!./staff_panel.js\"\nimport __vue_script__ from \"!!babel-loader!./staff_panel.js\"/* template */\nimport {render as __vue_render__, staticRenderFns as __vue_static_render_fns__} from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-0a6a2c3a\\\",\\\"hasScoped\\\":false,\\\"optionsId\\\":\\\"0\\\",\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./staff_panel.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nimport normalizeComponent from \"!../../../node_modules/vue-loader/lib/runtime/component-normalizer\"\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_render__,\n __vue_static_render_fns__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n","// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = require(\"!!../../../node_modules/css-loader/index.js?minimize!../../../node_modules/vue-loader/lib/style-compiler/index.js?{\\\"optionsId\\\":\\\"0\\\",\\\"vue\\\":true,\\\"scoped\\\":false,\\\"sourceMap\\\":false}!../../../node_modules/sass-loader/lib/loader.js!../../../node_modules/vue-loader/lib/selector.js?type=styles&index=0!./staff_panel.vue\");\nif(typeof content === 'string') content = [[module.id, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = require(\"!../../../node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"5aa588af\", content, true, {});","exports = module.exports = require(\"../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \"\", \"\"]);\n\n// exports\n","function injectStyle (context) {\n require(\"!!vue-style-loader!css-loader?minimize!../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"optionsId\\\":\\\"0\\\",\\\"vue\\\":true,\\\"scoped\\\":false,\\\"sourceMap\\\":false}!sass-loader!../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./mrf_transparency_panel.vue\")\n}\n/* script */\nexport * from \"!!babel-loader!./mrf_transparency_panel.js\"\nimport __vue_script__ from \"!!babel-loader!./mrf_transparency_panel.js\"/* template */\nimport {render as __vue_render__, staticRenderFns as __vue_static_render_fns__} from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-095aba87\\\",\\\"hasScoped\\\":false,\\\"optionsId\\\":\\\"0\\\",\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./mrf_transparency_panel.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nimport normalizeComponent from \"!../../../node_modules/vue-loader/lib/runtime/component-normalizer\"\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_render__,\n __vue_static_render_fns__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n","// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = require(\"!!../../../node_modules/css-loader/index.js?minimize!../../../node_modules/vue-loader/lib/style-compiler/index.js?{\\\"optionsId\\\":\\\"0\\\",\\\"vue\\\":true,\\\"scoped\\\":false,\\\"sourceMap\\\":false}!../../../node_modules/sass-loader/lib/loader.js!../../../node_modules/vue-loader/lib/selector.js?type=styles&index=0!./mrf_transparency_panel.vue\");\nif(typeof content === 'string') content = [[module.id, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = require(\"!../../../node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"72647543\", content, true, {});","exports = module.exports = require(\"../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \".mrf-section{margin:1em}\", \"\"]);\n\n// exports\n","function injectStyle (context) {\n require(\"!!vue-style-loader!css-loader?minimize!../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"optionsId\\\":\\\"0\\\",\\\"vue\\\":true,\\\"scoped\\\":false,\\\"sourceMap\\\":false}!sass-loader!../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./remote_user_resolver.vue\")\n}\n/* script */\nexport * from \"!!babel-loader!./remote_user_resolver.js\"\nimport __vue_script__ from \"!!babel-loader!./remote_user_resolver.js\"/* template */\nimport {render as __vue_render__, staticRenderFns as __vue_static_render_fns__} from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-198402c4\\\",\\\"hasScoped\\\":false,\\\"optionsId\\\":\\\"0\\\",\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./remote_user_resolver.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nimport normalizeComponent from \"!../../../node_modules/vue-loader/lib/runtime/component-normalizer\"\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_render__,\n __vue_static_render_fns__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n","// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = require(\"!!../../../node_modules/css-loader/index.js?minimize!../../../node_modules/vue-loader/lib/style-compiler/index.js?{\\\"optionsId\\\":\\\"0\\\",\\\"vue\\\":true,\\\"scoped\\\":false,\\\"sourceMap\\\":false}!../../../node_modules/sass-loader/lib/loader.js!../../../node_modules/vue-loader/lib/selector.js?type=styles&index=0!./remote_user_resolver.vue\");\nif(typeof content === 'string') content = [[module.id, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = require(\"!../../../node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"67a8aa3d\", content, true, {});","exports = module.exports = require(\"../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \"\", \"\"]);\n\n// exports\n","function injectStyle (context) {\n require(\"!!vue-style-loader!css-loader?minimize!../node_modules/vue-loader/lib/style-compiler/index?{\\\"optionsId\\\":\\\"0\\\",\\\"vue\\\":true,\\\"scoped\\\":false,\\\"sourceMap\\\":false}!sass-loader!./App.scss\")\n}\n/* script */\nexport * from \"!!babel-loader!./App.js\"\nimport __vue_script__ from \"!!babel-loader!./App.js\"/* template */\nimport {render as __vue_render__, staticRenderFns as __vue_static_render_fns__} from \"!!../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-7a1f867c\\\",\\\"hasScoped\\\":false,\\\"optionsId\\\":\\\"0\\\",\\\"buble\\\":{\\\"transforms\\\":{}}}!../node_modules/vue-loader/lib/selector?type=template&index=0!./App.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nimport normalizeComponent from \"!../node_modules/vue-loader/lib/runtime/component-normalizer\"\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_render__,\n __vue_static_render_fns__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n","// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = require(\"!!../node_modules/css-loader/index.js?minimize!../node_modules/vue-loader/lib/style-compiler/index.js?{\\\"optionsId\\\":\\\"0\\\",\\\"vue\\\":true,\\\"scoped\\\":false,\\\"sourceMap\\\":false}!../node_modules/sass-loader/lib/loader.js!./App.scss\");\nif(typeof content === 'string') content = [[module.id, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = require(\"!../node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"5c806d03\", content, true, {});","exports = module.exports = require(\"../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \"#app{min-height:100vh;max-width:100%;overflow:hidden}.app-bg-wrapper{position:fixed;z-index:-1;height:100%;left:0;right:-20px;background-size:cover;background-repeat:no-repeat;background-position:0 50%}i[class^=icon-]{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}h4{margin:0}#content{box-sizing:border-box;padding-top:60px;margin:auto;min-height:100vh;max-width:980px;background-color:rgba(0,0,0,.15);-ms-flex-line-pack:start;align-content:flex-start}.text-center{text-align:center}html{font-size:14px}body{font-family:sans-serif;font-family:var(--interfaceFont,sans-serif);margin:0;color:#b9b9ba;color:var(--text,#b9b9ba);max-width:100vw;overflow-x:hidden;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body.hidden{display:none}a{text-decoration:none;color:#d8a070;color:var(--link,#d8a070)}button{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-color:#182230;background-color:var(--btn,#182230);border:none;border-radius:4px;border-radius:var(--btnRadius,4px);cursor:pointer;box-shadow:0 0 2px 0 #000,inset 0 1px 0 0 hsla(0,0%,100%,.2),inset 0 -1px 0 0 rgba(0,0,0,.2);box-shadow:var(--buttonShadow);font-size:14px;font-family:sans-serif;font-family:var(--interfaceFont,sans-serif)}button,button i[class*=icon-]{color:#b9b9ba;color:var(--btnText,#b9b9ba)}button::-moz-focus-inner{border:none}button:hover{box-shadow:0 0 4px hsla(0,0%,100%,.3);box-shadow:var(--buttonHoverShadow)}button:active{box-shadow:0 0 4px 0 hsla(0,0%,100%,.3),inset 0 1px 0 0 rgba(0,0,0,.2),inset 0 -1px 0 0 hsla(0,0%,100%,.2);box-shadow:var(--buttonPressedShadow)}button:disabled{cursor:not-allowed;opacity:.5}button.pressed{color:hsla(240,1%,73%,.5);color:var(--faint,hsla(240,1%,73%,.5));background-color:#121a24;background-color:var(--bg,#121a24)}button.danger{color:#b9b9ba;color:var(--alertErrorPanelText,#b9b9ba);background-color:rgba(211,16,20,.5);background-color:var(--alertError,rgba(211,16,20,.5))}label.select{padding:0}.select,input,textarea{border:none;border-radius:4px;border-radius:var(--inputRadius,4px);box-shadow:inset 0 1px 0 0 rgba(0,0,0,.2),inset 0 -1px 0 0 hsla(0,0%,100%,.2),inset 0 0 2px 0 #000;box-shadow:var(--inputShadow);background-color:#182230;background-color:var(--input,#182230);color:#b9b9ba;color:var(--inputText,#b9b9ba);font-family:sans-serif;font-family:var(--inputFont,sans-serif);font-size:14px;margin:0;padding:8px .5em;box-sizing:border-box;display:inline-block;position:relative;height:28px;line-height:16px;-webkit-hyphens:none;-ms-hyphens:none;hyphens:none}.select:disabled,.select[disabled=disabled],input:disabled,input[disabled=disabled],textarea:disabled,textarea[disabled=disabled]{cursor:not-allowed;opacity:.5}.select .icon-down-open,input .icon-down-open,textarea .icon-down-open{position:absolute;top:0;bottom:0;right:5px;height:100%;color:#b9b9ba;color:var(--text,#b9b9ba);line-height:28px;z-index:0;pointer-events:none}.select select,input select,textarea select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:none;color:#b9b9ba;color:var(--inputText,--text,#b9b9ba);margin:0;padding:0 2em 0 .2em;font-family:sans-serif;font-family:var(--inputFont,sans-serif);font-size:14px;width:100%;z-index:1;height:28px;line-height:16px}.select[type=range],input[type=range],textarea[type=range]{background:none;border:none;margin:0;box-shadow:none;-ms-flex:1;flex:1}.select[type=radio],input[type=radio],textarea[type=radio]{display:none}.select[type=radio]:checked+label:before,input[type=radio]:checked+label:before,textarea[type=radio]:checked+label:before{box-shadow:inset 0 0 2px #000,inset 0 0 0 4px #182230;box-shadow:var(--inputShadow),0 0 0 4px var(--fg,#182230) inset;background-color:var(--link,#d8a070)}.select[type=radio]:disabled,.select[type=radio]:disabled+label,.select[type=radio]:disabled+label:before,input[type=radio]:disabled,input[type=radio]:disabled+label,input[type=radio]:disabled+label:before,textarea[type=radio]:disabled,textarea[type=radio]:disabled+label,textarea[type=radio]:disabled+label:before{opacity:.5}.select[type=radio]+label:before,input[type=radio]+label:before,textarea[type=radio]+label:before{-ms-flex-negative:0;flex-shrink:0;display:inline-block;content:\\\"\\\";transition:box-shadow .2s;width:1.1em;height:1.1em;border-radius:100%;box-shadow:inset 0 0 2px #000;box-shadow:var(--inputShadow);margin-right:.5em;background-color:#182230;background-color:var(--input,#182230);vertical-align:top;text-align:center;line-height:1.1em;font-size:1.1em;color:transparent;overflow:hidden;box-sizing:border-box}.select[type=checkbox],input[type=checkbox],textarea[type=checkbox]{display:none}.select[type=checkbox]:checked+label:before,input[type=checkbox]:checked+label:before,textarea[type=checkbox]:checked+label:before{color:#b9b9ba;color:var(--text,#b9b9ba)}.select[type=checkbox]:disabled,.select[type=checkbox]:disabled+label,.select[type=checkbox]:disabled+label:before,input[type=checkbox]:disabled,input[type=checkbox]:disabled+label,input[type=checkbox]:disabled+label:before,textarea[type=checkbox]:disabled,textarea[type=checkbox]:disabled+label,textarea[type=checkbox]:disabled+label:before{opacity:.5}.select[type=checkbox]+label:before,input[type=checkbox]+label:before,textarea[type=checkbox]+label:before{-ms-flex-negative:0;flex-shrink:0;display:inline-block;content:\\\"\\\\2714\\\";transition:color .2s;width:1.1em;height:1.1em;border-radius:2px;border-radius:var(--checkboxRadius,2px);box-shadow:inset 0 0 2px #000;box-shadow:var(--inputShadow);margin-right:.5em;background-color:#182230;background-color:var(--input,#182230);vertical-align:top;text-align:center;line-height:1.1em;font-size:1.1em;color:transparent;overflow:hidden;box-sizing:border-box}option{color:#b9b9ba;color:var(--text,#b9b9ba);background-color:#121a24;background-color:var(--bg,#121a24)}.hide-number-spinner{-moz-appearance:textfield}.hide-number-spinner[type=number]::-webkit-inner-spin-button,.hide-number-spinner[type=number]::-webkit-outer-spin-button{opacity:0;display:none}i[class*=icon-]{color:#666;color:var(--icon,#666)}.btn-block{display:block;width:100%}.btn-group{position:relative;display:-ms-inline-flexbox;display:inline-flex;vertical-align:middle}.btn-group button{position:relative;-ms-flex:1 1 auto;flex:1 1 auto}.btn-group button:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.btn-group button:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.container{-ms-flex-wrap:wrap;flex-wrap:wrap;margin:0;padding:0 10px}.container,.item{display:-ms-flexbox;display:flex}.item{-ms-flex:1;flex:1;line-height:50px;height:50px;overflow:hidden;-ms-flex-wrap:wrap;flex-wrap:wrap}.item .nav-icon{margin-left:.4em}.item.right{-ms-flex-pack:end;justify-content:flex-end}.auto-size{-ms-flex:1;flex:1}.nav-bar{padding:0;width:100%;-ms-flex-align:center;align-items:center;position:fixed;height:50px;box-sizing:border-box}.nav-bar .logo{display:-ms-flexbox;display:flex;-ms-flex-align:stretch;align-items:stretch;-ms-flex-pack:center;justify-content:center;-ms-flex:0 0 auto;flex:0 0 auto;z-index:-1;transition:opacity;transition-timing-function:ease-out;transition-duration:.1s}.nav-bar .logo,.nav-bar .logo .mask{position:absolute;top:0;bottom:0;left:0;right:0}.nav-bar .logo .mask{-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center;-webkit-mask-size:contain;mask-size:contain;background-color:#182230;background-color:var(--topBarText,#182230)}.nav-bar .logo img{height:100%;-o-object-fit:contain;object-fit:contain;display:block;-ms-flex:0;flex:0}.nav-bar .inner-nav{position:relative;margin:auto;box-sizing:border-box;padding-left:10px;padding-right:10px;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-preferred-size:970px;flex-basis:970px;height:50px}.nav-bar .inner-nav a,.nav-bar .inner-nav a i{color:#d8a070;color:var(--topBarLink,#d8a070)}main-router{-ms-flex:1;flex:1}.status.compact{color:rgba(0,0,0,.42);font-weight:300}.status.compact p{margin:0;font-size:.8em}.panel{display:-ms-flexbox;display:flex;position:relative;-ms-flex-direction:column;flex-direction:column;margin:.5em;background-color:#121a24;background-color:var(--bg,#121a24)}.panel,.panel:after{border-radius:10px;border-radius:var(--panelRadius,10px)}.panel:after{content:\\\"\\\";position:absolute;top:0;bottom:0;left:0;right:0;pointer-events:none;box-shadow:1px 1px 4px rgba(0,0,0,.6);box-shadow:var(--panelShadow)}.panel-body:empty:before{content:\\\"\\\\AF\\\\\\\\_(\\\\30C4)_/\\\\AF\\\";display:block;margin:1em;text-align:center}.panel-heading{display:-ms-flexbox;display:flex;-ms-flex:none;flex:none;border-radius:10px 10px 0 0;border-radius:var(--panelRadius,10px) var(--panelRadius,10px) 0 0;background-size:cover;padding:.6em;text-align:left;line-height:28px;color:var(--panelText);background-color:#182230;background-color:var(--panel,#182230);-ms-flex-align:baseline;align-items:baseline;box-shadow:var(--panelHeaderShadow)}.panel-heading .title{-ms-flex:1 0 auto;flex:1 0 auto;font-size:1.3em}.panel-heading .faint{background-color:transparent;color:hsla(240,1%,73%,.5);color:var(--panelFaint,hsla(240,1%,73%,.5))}.panel-heading .alert{white-space:nowrap;text-overflow:ellipsis;overflow-x:hidden}.panel-heading button{-ms-flex-negative:0;flex-shrink:0}.panel-heading .alert,.panel-heading button{line-height:21px;min-height:0;box-sizing:border-box;margin:0;margin-left:.25em;min-width:1px;-ms-flex-item-align:stretch;-ms-grid-row-align:stretch;align-self:stretch}.panel-heading a{color:#d8a070;color:var(--panelLink,#d8a070)}.panel-heading.stub{border-radius:10px;border-radius:var(--panelRadius,10px)}.panel-footer{border-radius:0 0 10px 10px;border-radius:0 0 var(--panelRadius,10px) var(--panelRadius,10px)}.panel-footer .faint{color:hsla(240,1%,73%,.5);color:var(--panelFaint,hsla(240,1%,73%,.5))}.panel-footer a{color:#d8a070;color:var(--panelLink,#d8a070)}.panel-body>p{line-height:18px;padding:1em;margin:0}.container>*{min-width:0}.fa{color:grey}nav{z-index:1000;color:var(--topBarText);background-color:#182230;background-color:var(--topBar,#182230);color:hsla(240,1%,73%,.5);color:var(--faint,hsla(240,1%,73%,.5));box-shadow:0 0 4px rgba(0,0,0,.6);box-shadow:var(--topBarShadow)}.fade-enter-active,.fade-leave-active{transition:opacity .2s}.fade-enter,.fade-leave-active{opacity:0}.main{-ms-flex-preferred-size:50%;flex-basis:50%;-ms-flex-positive:1;flex-grow:1;-ms-flex-negative:1;flex-shrink:1}.sidebar-bounds{-ms-flex:0;flex:0;-ms-flex-preferred-size:35%;flex-basis:35%}.sidebar-flexer{-ms-flex:1;flex:1;-ms-flex-preferred-size:345px;flex-basis:345px;width:365px}.mobile-shown{display:none}@media (min-width:800px){body{overflow-y:scroll}.sidebar-bounds{overflow:hidden;max-height:100vh;width:345px;position:fixed;margin-top:-10px}.sidebar-bounds .sidebar-scroller{height:96vh;width:365px;padding-top:10px;padding-right:50px;overflow-x:hidden;overflow-y:scroll}.sidebar-bounds .sidebar{width:345px}.sidebar-flexer{max-height:96vh;-ms-flex-negative:0;flex-shrink:0;-ms-flex-positive:0;flex-grow:0}}.badge{display:inline-block;border-radius:99px;min-width:22px;max-width:22px;min-height:22px;max-height:22px;font-size:15px;line-height:22px;text-align:center;vertical-align:middle;white-space:nowrap;padding:0}.badge.badge-notification{background-color:red;background-color:var(--badgeNotification,red);color:#fff;color:var(--badgeNotificationText,#fff)}.alert{margin:.35em;padding:.25em;border-radius:5px;border-radius:var(--tooltipRadius,5px);min-height:28px;line-height:28px}.alert.error{background-color:rgba(211,16,20,.5);background-color:var(--alertError,rgba(211,16,20,.5));color:#b9b9ba;color:var(--alertErrorText,#b9b9ba)}.panel-heading .alert.error{color:#b9b9ba;color:var(--alertErrorPanelText,#b9b9ba)}.alert.warning{background-color:rgba(111,111,20,.5);background-color:var(--alertWarning,rgba(111,111,20,.5));color:#b9b9ba;color:var(--alertWarningText,#b9b9ba)}.panel-heading .alert.warning{color:#b9b9ba;color:var(--alertWarningPanelText,#b9b9ba)}.faint,.faint-link{color:hsla(240,1%,73%,.5);color:var(--faint,hsla(240,1%,73%,.5))}.faint-link:hover{text-decoration:underline}@media (min-width:800px){.logo{opacity:1!important}}.item.right{text-align:right}.visibility-notice{padding:.5em;border:1px solid hsla(240,1%,73%,.5);border:1px solid var(--faint,hsla(240,1%,73%,.5));border-radius:4px;border-radius:var(--inputRadius,4px)}.notice-dismissible{padding-right:4rem;position:relative}.notice-dismissible .dismiss{position:absolute;top:0;right:0;padding:.5em;color:inherit}.button-icon{font-size:1.2em}@keyframes shakeError{0%{transform:translateX(0)}15%{transform:translateX(.375rem)}30%{transform:translateX(-.375rem)}45%{transform:translateX(.375rem)}60%{transform:translateX(-.375rem)}75%{transform:translateX(.375rem)}90%{transform:translateX(-.375rem)}to{transform:translateX(0)}}@media (max-width:800px){.mobile-hidden{display:none}.panel-switcher{display:-ms-flexbox;display:flex}.container{padding:0}.panel{margin:.5em 0}.menu-button{display:block;margin-right:.8em}}.setting-item{border-bottom:2px solid var(--fg,#182230);margin:1em 1em 1.4em;padding-bottom:1.4em}.setting-item>div{margin-bottom:.5em}.setting-item>div:last-child{margin-bottom:0}.setting-item:last-child{border-bottom:none;padding-bottom:0;margin-bottom:1em}.setting-item select{min-width:10em}.setting-item textarea{width:100%;max-width:100%;height:100px}.setting-item .unavailable,.setting-item .unavailable i{color:var(--cRed,red);color:red}.setting-item .btn{min-height:28px;min-width:10em;padding:0 2em}.setting-item .number-input{max-width:6em}.select-multiple{display:-ms-flexbox;display:flex}.select-multiple .option-list{margin:0;padding-left:.5em}.option-list,.setting-list{list-style-type:none;padding-left:2em}.option-list li,.setting-list li{margin-bottom:.5em}.option-list .suboptions,.setting-list .suboptions{margin-top:.3em}.login-hint{text-align:center}@media (min-width:801px){.login-hint{display:none}}.login-hint a{display:inline-block;padding:1em 0;width:100%}.btn.btn-default{min-height:28px}\", \"\"]);\n\n// exports\n","function injectStyle (context) {\n require(\"!!vue-style-loader!css-loader?minimize!../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"optionsId\\\":\\\"0\\\",\\\"vue\\\":true,\\\"scoped\\\":false,\\\"sourceMap\\\":false}!sass-loader!../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./user_panel.vue\")\n}\n/* script */\nexport * from \"!!babel-loader!./user_panel.js\"\nimport __vue_script__ from \"!!babel-loader!./user_panel.js\"/* template */\nimport {render as __vue_render__, staticRenderFns as __vue_static_render_fns__} from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-0c6dc368\\\",\\\"hasScoped\\\":false,\\\"optionsId\\\":\\\"0\\\",\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./user_panel.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nimport normalizeComponent from \"!../../../node_modules/vue-loader/lib/runtime/component-normalizer\"\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_render__,\n __vue_static_render_fns__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n","// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = require(\"!!../../../node_modules/css-loader/index.js?minimize!../../../node_modules/vue-loader/lib/style-compiler/index.js?{\\\"optionsId\\\":\\\"0\\\",\\\"vue\\\":true,\\\"scoped\\\":false,\\\"sourceMap\\\":false}!../../../node_modules/sass-loader/lib/loader.js!../../../node_modules/vue-loader/lib/selector.js?type=styles&index=0!./user_panel.vue\");\nif(typeof content === 'string') content = [[module.id, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = require(\"!../../../node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"04d46dee\", content, true, {});","exports = module.exports = require(\"../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \".user-panel .signed-in{overflow:visible}\", \"\"]);\n\n// exports\n","function injectStyle (context) {\n require(\"!!vue-style-loader!css-loader?minimize!../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"optionsId\\\":\\\"0\\\",\\\"vue\\\":true,\\\"scoped\\\":false,\\\"sourceMap\\\":false}!sass-loader!../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./nav_panel.vue\")\n}\n/* script */\nexport * from \"!!babel-loader!./nav_panel.js\"\nimport __vue_script__ from \"!!babel-loader!./nav_panel.js\"/* template */\nimport {render as __vue_render__, staticRenderFns as __vue_static_render_fns__} from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-4da1509a\\\",\\\"hasScoped\\\":false,\\\"optionsId\\\":\\\"0\\\",\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./nav_panel.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nimport normalizeComponent from \"!../../../node_modules/vue-loader/lib/runtime/component-normalizer\"\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_render__,\n __vue_static_render_fns__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n","// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = require(\"!!../../../node_modules/css-loader/index.js?minimize!../../../node_modules/vue-loader/lib/style-compiler/index.js?{\\\"optionsId\\\":\\\"0\\\",\\\"vue\\\":true,\\\"scoped\\\":false,\\\"sourceMap\\\":false}!../../../node_modules/sass-loader/lib/loader.js!../../../node_modules/vue-loader/lib/selector.js?type=styles&index=0!./nav_panel.vue\");\nif(typeof content === 'string') content = [[module.id, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = require(\"!../../../node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"b030addc\", content, true, {});","exports = module.exports = require(\"../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \".nav-panel .panel{overflow:hidden;box-shadow:var(--panelShadow)}.nav-panel ul{list-style:none;margin:0;padding:0}.follow-request-count{margin:-6px 10px;background-color:#121a24;background-color:var(--input,hsla(240,1%,73%,.5))}.nav-panel li{border-bottom:1px solid;border-color:#222;border-color:var(--border,#222);padding:0}.nav-panel li:first-child a{border-top-right-radius:10px;border-top-right-radius:var(--panelRadius,10px);border-top-left-radius:10px;border-top-left-radius:var(--panelRadius,10px)}.nav-panel li:last-child a{border-bottom-right-radius:10px;border-bottom-right-radius:var(--panelRadius,10px);border-bottom-left-radius:10px;border-bottom-left-radius:var(--panelRadius,10px)}.nav-panel li:last-child{border:none}.nav-panel a{display:block;padding:.8em .85em}.nav-panel a.router-link-active,.nav-panel a:hover{background-color:#151e2a;background-color:var(--lightBg,#151e2a)}.nav-panel a.router-link-active{font-weight:bolder}.nav-panel a.router-link-active:hover{text-decoration:underline}\", \"\"]);\n\n// exports\n","function injectStyle (context) {\n require(\"!!vue-style-loader!css-loader?minimize!../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"optionsId\\\":\\\"0\\\",\\\"vue\\\":true,\\\"scoped\\\":false,\\\"sourceMap\\\":false}!sass-loader!../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./search_bar.vue\")\n}\n/* script */\nexport * from \"!!babel-loader!./search_bar.js\"\nimport __vue_script__ from \"!!babel-loader!./search_bar.js\"/* template */\nimport {render as __vue_render__, staticRenderFns as __vue_static_render_fns__} from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-723d6cec\\\",\\\"hasScoped\\\":false,\\\"optionsId\\\":\\\"0\\\",\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./search_bar.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nimport normalizeComponent from \"!../../../node_modules/vue-loader/lib/runtime/component-normalizer\"\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_render__,\n __vue_static_render_fns__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n","// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = require(\"!!../../../node_modules/css-loader/index.js?minimize!../../../node_modules/vue-loader/lib/style-compiler/index.js?{\\\"optionsId\\\":\\\"0\\\",\\\"vue\\\":true,\\\"scoped\\\":false,\\\"sourceMap\\\":false}!../../../node_modules/sass-loader/lib/loader.js!../../../node_modules/vue-loader/lib/selector.js?type=styles&index=0!./search_bar.vue\");\nif(typeof content === 'string') content = [[module.id, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = require(\"!../../../node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"0ea9aafc\", content, true, {});","exports = module.exports = require(\"../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \".search-bar-container{max-width:100%;display:-ms-inline-flexbox;display:inline-flex;-ms-flex-align:baseline;align-items:baseline;vertical-align:baseline;-ms-flex-pack:end;justify-content:flex-end}.search-bar-container .search-bar-input,.search-bar-container .search-button{height:29px}.search-bar-container .search-bar-input{max-width:calc(100% - 30px - 30px - 20px)}.search-bar-container .search-button{margin-left:.5em;margin-right:.5em}.search-bar-container .icon-cancel{cursor:pointer}\", \"\"]);\n\n// exports\n","function injectStyle (context) {\n require(\"!!vue-style-loader!css-loader?minimize!../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"optionsId\\\":\\\"0\\\",\\\"vue\\\":true,\\\"scoped\\\":false,\\\"sourceMap\\\":false}!sass-loader!../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./who_to_follow_panel.vue\")\n}\n/* script */\nexport * from \"!!babel-loader!./who_to_follow_panel.js\"\nimport __vue_script__ from \"!!babel-loader!./who_to_follow_panel.js\"/* template */\nimport {render as __vue_render__, staticRenderFns as __vue_static_render_fns__} from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-b4d31272\\\",\\\"hasScoped\\\":false,\\\"optionsId\\\":\\\"0\\\",\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./who_to_follow_panel.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nimport normalizeComponent from \"!../../../node_modules/vue-loader/lib/runtime/component-normalizer\"\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_render__,\n __vue_static_render_fns__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n","// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = require(\"!!../../../node_modules/css-loader/index.js?minimize!../../../node_modules/vue-loader/lib/style-compiler/index.js?{\\\"optionsId\\\":\\\"0\\\",\\\"vue\\\":true,\\\"scoped\\\":false,\\\"sourceMap\\\":false}!../../../node_modules/sass-loader/lib/loader.js!../../../node_modules/vue-loader/lib/selector.js?type=styles&index=0!./who_to_follow_panel.vue\");\nif(typeof content === 'string') content = [[module.id, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = require(\"!../../../node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"2f18dd03\", content, true, {});","exports = module.exports = require(\"../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \".who-to-follow *{vertical-align:middle}.who-to-follow img{width:32px;height:32px}.who-to-follow{padding:0 1em;margin:0}.who-to-follow-items{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding:0;margin:1em 0}.who-to-follow-more{padding:0;margin:1em 0;text-align:center}\", \"\"]);\n\n// exports\n","function injectStyle (context) {\n require(\"!!vue-style-loader!css-loader?minimize!../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"optionsId\\\":\\\"0\\\",\\\"vue\\\":true,\\\"scoped\\\":false,\\\"sourceMap\\\":false}!sass-loader!../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./media_modal.vue\")\n}\n/* script */\nexport * from \"!!babel-loader!./media_modal.js\"\nimport __vue_script__ from \"!!babel-loader!./media_modal.js\"/* template */\nimport {render as __vue_render__, staticRenderFns as __vue_static_render_fns__} from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-c0e28422\\\",\\\"hasScoped\\\":false,\\\"optionsId\\\":\\\"0\\\",\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./media_modal.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nimport normalizeComponent from \"!../../../node_modules/vue-loader/lib/runtime/component-normalizer\"\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_render__,\n __vue_static_render_fns__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n","// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = require(\"!!../../../node_modules/css-loader/index.js?minimize!../../../node_modules/vue-loader/lib/style-compiler/index.js?{\\\"optionsId\\\":\\\"0\\\",\\\"vue\\\":true,\\\"scoped\\\":false,\\\"sourceMap\\\":false}!../../../node_modules/sass-loader/lib/loader.js!../../../node_modules/vue-loader/lib/selector.js?type=styles&index=0!./media_modal.vue\");\nif(typeof content === 'string') content = [[module.id, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = require(\"!../../../node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"23b00cfc\", content, true, {});","exports = module.exports = require(\"../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \".modal-view.media-modal-view{z-index:1001}.modal-view.media-modal-view .modal-view-button-arrow{opacity:.75}.modal-view.media-modal-view .modal-view-button-arrow:focus,.modal-view.media-modal-view .modal-view-button-arrow:hover{outline:none;box-shadow:none}.modal-view.media-modal-view .modal-view-button-arrow:hover{opacity:1}.modal-image{max-width:90%;max-height:90%;box-shadow:0 5px 15px 0 rgba(0,0,0,.5);image-orientation:from-image}.modal-view-button-arrow{position:absolute;display:block;top:50%;margin-top:-50px;width:70px;height:100px;border:0;padding:0;opacity:0;box-shadow:none;background:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;overflow:visible;cursor:pointer;transition:opacity 333ms cubic-bezier(.4,0,.22,1)}.modal-view-button-arrow .arrow-icon{position:absolute;top:35px;height:30px;width:32px;font-size:14px;line-height:30px;color:#fff;text-align:center;background-color:rgba(0,0,0,.3)}.modal-view-button-arrow--prev{left:0}.modal-view-button-arrow--prev .arrow-icon{left:6px}.modal-view-button-arrow--next{right:0}.modal-view-button-arrow--next .arrow-icon{right:6px}\", \"\"]);\n\n// exports\n","// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = require(\"!!../../../node_modules/css-loader/index.js?minimize!../../../node_modules/vue-loader/lib/style-compiler/index.js?{\\\"optionsId\\\":\\\"0\\\",\\\"vue\\\":true,\\\"scoped\\\":false,\\\"sourceMap\\\":false}!../../../node_modules/sass-loader/lib/loader.js!../../../node_modules/vue-loader/lib/selector.js?type=styles&index=0!./modal.vue\");\nif(typeof content === 'string') content = [[module.id, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = require(\"!../../../node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"f7395e92\", content, true, {});","exports = module.exports = require(\"../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \".modal-view{z-index:1000;position:fixed;top:0;left:0;right:0;bottom:0;display:-ms-flexbox;display:flex;-ms-flex-pack:center;justify-content:center;-ms-flex-align:center;align-items:center;overflow:auto;animation-duration:.2s;background-color:rgba(0,0,0,.5);animation-name:modal-background-fadein}body:not(.scroll-locked) .modal-view{opacity:0}@keyframes modal-background-fadein{0%{background-color:transparent}to{background-color:rgba(0,0,0,.5)}}\", \"\"]);\n\n// exports\n","// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = require(\"!!../../../node_modules/css-loader/index.js?minimize!../../../node_modules/vue-loader/lib/style-compiler/index.js?{\\\"optionsId\\\":\\\"0\\\",\\\"vue\\\":true,\\\"scoped\\\":false,\\\"sourceMap\\\":false}!../../../node_modules/sass-loader/lib/loader.js!../../../node_modules/vue-loader/lib/selector.js?type=styles&index=0!./side_drawer.vue\");\nif(typeof content === 'string') content = [[module.id, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = require(\"!../../../node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"34992fba\", content, true, {});","exports = module.exports = require(\"../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \".side-drawer-container{position:fixed;z-index:1000;top:0;left:0;width:100%;height:100%;display:-ms-flexbox;display:flex;-ms-flex-align:stretch;align-items:stretch;transition-duration:0s;transition-property:transform}.side-drawer-container-open{transform:translate(0)}.side-drawer-container-closed{transition-delay:.35s;transform:translate(-100%)}.side-drawer-darken{top:0;left:0;width:100vw;height:100vh;position:fixed;z-index:-1;transition:.35s;transition-property:background-color;background-color:rgba(0,0,0,.5)}.side-drawer-darken-closed{background-color:transparent}.side-drawer-click-outside{-ms-flex:1 1 100%;flex:1 1 100%}.side-drawer{overflow-x:hidden;transition-timing-function:cubic-bezier(0,1,.5,1);transition:.35s;transition-property:transform;margin:0 0 0 -100px;padding:0 0 1em 100px;width:80%;max-width:20em;-ms-flex:0 0 80%;flex:0 0 80%;box-shadow:1px 1px 4px rgba(0,0,0,.6);box-shadow:var(--panelShadow);background-color:#121a24;background-color:var(--bg,#121a24)}.side-drawer-logo-wrapper{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;padding:.85em}.side-drawer-logo-wrapper img{-ms-flex:none;flex:none;height:50px;margin-right:.85em}.side-drawer-logo-wrapper span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.side-drawer-click-outside-closed{-ms-flex:0 0 0px;flex:0 0 0}.side-drawer-closed{transform:translate(-100%)}.side-drawer-heading{background:transparent;-ms-flex-direction:column;flex-direction:column;-ms-flex-align:stretch;align-items:stretch;display:-ms-flexbox;display:flex;padding:0;margin:0}.side-drawer ul{list-style:none;margin:0;padding:0;border-bottom:1px solid;border-color:#222;border-color:var(--border,#222);margin:.2em 0}.side-drawer ul:last-child{border:0}.side-drawer li{padding:0}.side-drawer li a{display:block;padding:.5em .85em}.side-drawer li a:hover{background-color:#151e2a;background-color:var(--lightBg,#151e2a)}\", \"\"]);\n\n// exports\n","function injectStyle (context) {\n require(\"!!vue-style-loader!css-loader?minimize!../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"optionsId\\\":\\\"0\\\",\\\"vue\\\":true,\\\"scoped\\\":false,\\\"sourceMap\\\":false}!sass-loader!../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./mobile_post_status_button.vue\")\n}\n/* script */\nexport * from \"!!babel-loader!./mobile_post_status_button.js\"\nimport __vue_script__ from \"!!babel-loader!./mobile_post_status_button.js\"/* template */\nimport {render as __vue_render__, staticRenderFns as __vue_static_render_fns__} from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-336b066e\\\",\\\"hasScoped\\\":false,\\\"optionsId\\\":\\\"0\\\",\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./mobile_post_status_button.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nimport normalizeComponent from \"!../../../node_modules/vue-loader/lib/runtime/component-normalizer\"\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_render__,\n __vue_static_render_fns__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n","// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = require(\"!!../../../node_modules/css-loader/index.js?minimize!../../../node_modules/vue-loader/lib/style-compiler/index.js?{\\\"optionsId\\\":\\\"0\\\",\\\"vue\\\":true,\\\"scoped\\\":false,\\\"sourceMap\\\":false}!../../../node_modules/sass-loader/lib/loader.js!../../../node_modules/vue-loader/lib/selector.js?type=styles&index=0!./mobile_post_status_button.vue\");\nif(typeof content === 'string') content = [[module.id, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = require(\"!../../../node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"7f8eca07\", content, true, {});","exports = module.exports = require(\"../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \".new-status-button{width:5em;height:5em;border-radius:100%;position:fixed;bottom:1.5em;right:1.5em;background-color:#182230;background-color:var(--btn,#182230);display:-ms-flexbox;display:flex;-ms-flex-pack:center;justify-content:center;-ms-flex-align:center;align-items:center;box-shadow:0 2px 2px rgba(0,0,0,.3),0 4px 6px rgba(0,0,0,.3);z-index:10;transition:transform .35s;transition-timing-function:cubic-bezier(0,1,.5,1)}.new-status-button.hidden{transform:translateY(150%)}.new-status-button i{font-size:1.5em;color:#b9b9ba;color:var(--text,#b9b9ba)}@media (min-width:801px){.new-status-button{display:none}}\", \"\"]);\n\n// exports\n","function injectStyle (context) {\n require(\"!!vue-style-loader!css-loader?minimize!../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"optionsId\\\":\\\"0\\\",\\\"vue\\\":true,\\\"scoped\\\":false,\\\"sourceMap\\\":false}!sass-loader!../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./mobile_nav.vue\")\n}\n/* script */\nexport * from \"!!babel-loader!./mobile_nav.js\"\nimport __vue_script__ from \"!!babel-loader!./mobile_nav.js\"/* template */\nimport {render as __vue_render__, staticRenderFns as __vue_static_render_fns__} from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-26b7478b\\\",\\\"hasScoped\\\":false,\\\"optionsId\\\":\\\"0\\\",\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./mobile_nav.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nimport normalizeComponent from \"!../../../node_modules/vue-loader/lib/runtime/component-normalizer\"\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_render__,\n __vue_static_render_fns__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n","// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = require(\"!!../../../node_modules/css-loader/index.js?minimize!../../../node_modules/vue-loader/lib/style-compiler/index.js?{\\\"optionsId\\\":\\\"0\\\",\\\"vue\\\":true,\\\"scoped\\\":false,\\\"sourceMap\\\":false}!../../../node_modules/sass-loader/lib/loader.js!../../../node_modules/vue-loader/lib/selector.js?type=styles&index=0!./mobile_nav.vue\");\nif(typeof content === 'string') content = [[module.id, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = require(\"!../../../node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"1e0fbcf8\", content, true, {});","exports = module.exports = require(\"../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \".mobile-inner-nav{width:100%;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}.mobile-nav-button{display:-ms-flexbox;display:flex;-ms-flex-pack:center;justify-content:center;width:50px;position:relative;cursor:pointer}.alert-dot{border-radius:100%;height:8px;width:8px;position:absolute;left:calc(50% - 4px);top:calc(50% - 4px);margin-left:6px;margin-top:-6px;background-color:red;background-color:var(--badgeNotification,red)}.mobile-notifications-drawer{width:100%;height:100vh;overflow-x:hidden;position:fixed;top:0;left:0;box-shadow:1px 1px 4px rgba(0,0,0,.6);box-shadow:var(--panelShadow);transition-property:transform;transition-duration:.25s;transform:translateX(0);z-index:1001;-webkit-overflow-scrolling:touch}.mobile-notifications-drawer.closed{transform:translateX(100%)}.mobile-notifications-header{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:justify;justify-content:space-between;z-index:1;width:100%;height:50px;line-height:50px;position:absolute;color:var(--topBarText);background-color:#182230;background-color:var(--topBar,#182230);box-shadow:0 0 4px rgba(0,0,0,.6);box-shadow:var(--topBarShadow)}.mobile-notifications-header .title{font-size:1.3em;margin-left:.6em}.mobile-notifications{margin-top:50px;width:100vw;height:calc(100vh - 50px);overflow-x:hidden;overflow-y:scroll;color:#b9b9ba;color:var(--text,#b9b9ba);background-color:#121a24;background-color:var(--bg,#121a24)}.mobile-notifications .notifications{padding:0;border-radius:0;box-shadow:none}.mobile-notifications .notifications .panel{border-radius:0;margin:0;box-shadow:none}.mobile-notifications .notifications .panel:after{border-radius:0}.mobile-notifications .notifications .panel .panel-heading{border-radius:0;box-shadow:none}\", \"\"]);\n\n// exports\n","function injectStyle (context) {\n require(\"!!vue-style-loader!css-loader?minimize!../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"optionsId\\\":\\\"0\\\",\\\"vue\\\":true,\\\"scoped\\\":false,\\\"sourceMap\\\":false}!sass-loader!../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./user_reporting_modal.vue\")\n}\n/* script */\nexport * from \"!!babel-loader!./user_reporting_modal.js\"\nimport __vue_script__ from \"!!babel-loader!./user_reporting_modal.js\"/* template */\nimport {render as __vue_render__, staticRenderFns as __vue_static_render_fns__} from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-21174d5d\\\",\\\"hasScoped\\\":false,\\\"optionsId\\\":\\\"0\\\",\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./user_reporting_modal.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nimport normalizeComponent from \"!../../../node_modules/vue-loader/lib/runtime/component-normalizer\"\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_render__,\n __vue_static_render_fns__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n","// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = require(\"!!../../../node_modules/css-loader/index.js?minimize!../../../node_modules/vue-loader/lib/style-compiler/index.js?{\\\"optionsId\\\":\\\"0\\\",\\\"vue\\\":true,\\\"scoped\\\":false,\\\"sourceMap\\\":false}!../../../node_modules/sass-loader/lib/loader.js!../../../node_modules/vue-loader/lib/selector.js?type=styles&index=0!./user_reporting_modal.vue\");\nif(typeof content === 'string') content = [[module.id, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = require(\"!../../../node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"10c04f96\", content, true, {});","exports = module.exports = require(\"../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \".user-reporting-panel{width:90vw;max-width:700px;min-height:20vh;max-height:80vh}.user-reporting-panel .panel-heading .title{text-align:center;-ms-flex:1;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-reporting-panel .panel-body{display:-ms-flexbox;display:flex;-ms-flex-direction:column-reverse;flex-direction:column-reverse;border-top:1px solid;border-color:#222;border-color:var(--border,#222);overflow:hidden}.user-reporting-panel-left{padding:1.1em .7em .7em;line-height:1.4em;box-sizing:border-box}.user-reporting-panel-left>div{margin-bottom:1em}.user-reporting-panel-left>div:last-child{margin-bottom:0}.user-reporting-panel-left p{margin-top:0}.user-reporting-panel-left textarea.form-control{line-height:16px;resize:none;overflow:hidden;transition:min-height .2s .1s;min-height:44px;width:100%}.user-reporting-panel-left .btn{min-width:10em;padding:0 2em}.user-reporting-panel-left .alert{margin:1em 0 0;line-height:1.3em}.user-reporting-panel-right{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;overflow-y:auto}.user-reporting-panel-sitem{display:-ms-flexbox;display:flex;-ms-flex-pack:justify;justify-content:space-between}.user-reporting-panel-sitem>.status-el{-ms-flex:1;flex:1}.user-reporting-panel-sitem>.checkbox{margin:.75em}@media (min-width:801px){.user-reporting-panel .panel-body{-ms-flex-direction:row;flex-direction:row}.user-reporting-panel-left{width:50%;max-width:320px;border-right:1px solid;border-color:#222;border-color:var(--border,#222);padding:1.1em}.user-reporting-panel-left>div{margin-bottom:2em}.user-reporting-panel-right{width:50%;-ms-flex:1 1 auto;flex:1 1 auto;margin-bottom:12px}}\", \"\"]);\n\n// exports\n","function injectStyle (context) {\n require(\"!!vue-style-loader!css-loader?minimize!../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"optionsId\\\":\\\"0\\\",\\\"vue\\\":true,\\\"scoped\\\":false,\\\"sourceMap\\\":false}!sass-loader!../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./post_status_modal.vue\")\n}\n/* script */\nexport * from \"!!babel-loader!./post_status_modal.js\"\nimport __vue_script__ from \"!!babel-loader!./post_status_modal.js\"/* template */\nimport {render as __vue_render__, staticRenderFns as __vue_static_render_fns__} from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-b6b8d3a2\\\",\\\"hasScoped\\\":false,\\\"optionsId\\\":\\\"0\\\",\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./post_status_modal.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nimport normalizeComponent from \"!../../../node_modules/vue-loader/lib/runtime/component-normalizer\"\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_render__,\n __vue_static_render_fns__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n","// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = require(\"!!../../../node_modules/css-loader/index.js?minimize!../../../node_modules/vue-loader/lib/style-compiler/index.js?{\\\"optionsId\\\":\\\"0\\\",\\\"vue\\\":true,\\\"scoped\\\":false,\\\"sourceMap\\\":false}!../../../node_modules/sass-loader/lib/loader.js!../../../node_modules/vue-loader/lib/selector.js?type=styles&index=0!./post_status_modal.vue\");\nif(typeof content === 'string') content = [[module.id, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = require(\"!../../../node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"7628c2ae\", content, true, {});","exports = module.exports = require(\"../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \".modal-view.post-form-modal-view{-ms-flex-align:start;align-items:flex-start}.post-form-modal-panel{-ms-flex-negative:0;flex-shrink:0;margin-top:25%;margin-bottom:2em;width:100%;max-width:700px}@media (orientation:landscape){.post-form-modal-panel{margin-top:8%}}\", \"\"]);\n\n// exports\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"panel dummy\"},[_c('div',{staticClass:\"panel-heading\"},[_c('div',{staticClass:\"title\"},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.style.preview.header'))+\"\\n \"),_c('span',{staticClass:\"badge badge-notification\"},[_vm._v(\"\\n 99\\n \")])]),_vm._v(\" \"),_c('span',{staticClass:\"faint\"},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.style.preview.header_faint'))+\"\\n \")]),_vm._v(\" \"),_c('span',{staticClass:\"alert error\"},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.style.preview.error'))+\"\\n \")]),_vm._v(\" \"),_c('button',{staticClass:\"btn\"},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.style.preview.button'))+\"\\n \")])]),_vm._v(\" \"),_c('div',{staticClass:\"panel-body theme-preview-content\"},[_c('div',{staticClass:\"post\"},[_c('div',{staticClass:\"avatar\"},[_vm._v(\"\\n ( ͡° ͜ʖ ͡°)\\n \")]),_vm._v(\" \"),_c('div',{staticClass:\"content\"},[_c('h4',[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.style.preview.content'))+\"\\n \")]),_vm._v(\" \"),_c('i18n',{attrs:{\"path\":\"settings.style.preview.text\"}},[_c('code',{staticStyle:{\"font-family\":\"var(--postCodeFont)\"}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.style.preview.mono'))+\"\\n \")]),_vm._v(\" \"),_c('a',{staticStyle:{\"color\":\"var(--link)\"}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.style.preview.link'))+\"\\n \")])]),_vm._v(\" \"),_vm._m(0)],1)]),_vm._v(\" \"),_c('div',{staticClass:\"after-post\"},[_c('div',{staticClass:\"avatar-alt\"},[_vm._v(\"\\n :^)\\n \")]),_vm._v(\" \"),_c('div',{staticClass:\"content\"},[_c('i18n',{staticClass:\"faint\",attrs:{\"path\":\"settings.style.preview.fine_print\",\"tag\":\"span\"}},[_c('a',{staticStyle:{\"color\":\"var(--faintLink)\"}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.style.preview.faint_link'))+\"\\n \")])])],1)]),_vm._v(\" \"),_c('div',{staticClass:\"separator\"}),_vm._v(\" \"),_c('span',{staticClass:\"alert error\"},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.style.preview.error'))+\"\\n \")]),_vm._v(\" \"),_c('input',{attrs:{\"type\":\"text\"},domProps:{\"value\":_vm.$t('settings.style.preview.input')}}),_vm._v(\" \"),_c('div',{staticClass:\"actions\"},[_c('span',{staticClass:\"checkbox\"},[_c('input',{attrs:{\"id\":\"preview_checkbox\",\"checked\":\"very yes\",\"type\":\"checkbox\"}}),_vm._v(\" \"),_c('label',{attrs:{\"for\":\"preview_checkbox\"}},[_vm._v(_vm._s(_vm.$t('settings.style.preview.checkbox')))])]),_vm._v(\" \"),_c('button',{staticClass:\"btn\"},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.style.preview.button'))+\"\\n \")])])])])}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"icons\"},[_c('i',{staticClass:\"button-icon icon-reply\",staticStyle:{\"color\":\"var(--cBlue)\"}}),_vm._v(\" \"),_c('i',{staticClass:\"button-icon icon-retweet\",staticStyle:{\"color\":\"var(--cGreen)\"}}),_vm._v(\" \"),_c('i',{staticClass:\"button-icon icon-star\",staticStyle:{\"color\":\"var(--cOrange)\"}}),_vm._v(\" \"),_c('i',{staticClass:\"button-icon icon-cancel\",staticStyle:{\"color\":\"var(--cRed)\"}})])}]\nexport { render, staticRenderFns }","/* script */\nvar __vue_script__ = null\n/* template */\nimport {render as __vue_render__, staticRenderFns as __vue_static_render_fns__} from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-e47f8928\\\",\\\"hasScoped\\\":false,\\\"optionsId\\\":\\\"0\\\",\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./preview.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nimport normalizeComponent from \"!../../../node_modules/vue-loader/lib/runtime/component-normalizer\"\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_render__,\n __vue_static_render_fns__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n"],"sourceRoot":""}